diff --git a/input/resources/library-QICore-ModelInfo.json b/input/resources/library-QICore-ModelInfo.json index 81ebed05..e4479301 100644 --- a/input/resources/library-QICore-ModelInfo.json +++ b/input/resources/library-QICore-ModelInfo.json @@ -1,7 +1,6 @@ { "resourceType": "Library", "id": "QICore-ModelInfo", - "version": "5.0.0", "name": "QICore", "title": "QICore Model Definition", "status": "active", @@ -12,18 +11,18 @@ "code": "model-definition" } ] }, - "date": "2022-02-03", + "date": "2024-02-12", "description": "Model definition for the QI-Core IG Model", - "approvalDate": "2023-02-08", - "lastReviewDate": "2022-02-03", + "approvalDate": "2024-02-12", + "lastReviewDate": "2024-02-12", "topic": [ { "text": "QICore" }, { - "text": "CQL" + "text": "CQL Model Information" } ], "content": [ { "contentType": "application/xml", - "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPG1vZGVsSW5mbyB4bWxucz0idXJuOmhsNy1vcmc6ZWxtLW1vZGVsaW5mbzpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgbmFtZT0iUUlDb3JlIiB2ZXJzaW9uPSI1LjAuMCIgdXJsPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZSIgdGFyZ2V0VXJsPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB0YXJnZXRRdWFsaWZpZXI9InFpY29yZSIgcGF0aWVudENsYXNzTmFtZT0iUGF0aWVudCIgcGF0aWVudEJpcnRoRGF0ZVByb3BlcnR5TmFtZT0iYmlydGhEYXRlIj4KICAgPHJlcXVpcmVkTW9kZWxJbmZvIG5hbWU9IlN5c3RlbSIgdmVyc2lvbj0iMS4wLjAiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkFkZHJlc3MiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9BZGRyZXNzIiBsYWJlbD0iQWRkcmVzcyIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0idXNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFkZHJlc3NVc2UiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iaG9tZSB8IHdvcmsgfCB0ZW1wIHwgb2xkIHwgYmlsbGluZyAtIHB1cnBvc2Ugb2YgdGhpcyBhZGRyZXNzIiBkZWZpbml0aW9uPSJUaGUgcHVycG9zZSBvZiB0aGlzIGFkZHJlc3MuIiBjb21tZW50PSJBcHBsaWNhdGlvbnMgY2FuIGFzc3VtZSB0aGF0IGFuIGFkZHJlc3MgaXMgY3VycmVudCB1bmxlc3MgaXQgZXhwbGljaXRseSBzYXlzIHRoYXQgaXQgaXMgdGVtcG9yYXJ5IG9yIG9sZC4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJBZGRyZXNzVXNlIiBkZXNjcmlwdGlvbj0iVGhlIHVzZSBvZiBhbiBhZGRyZXNzLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5BZGRyZXNzVHlwZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJwb3N0YWwgfCBwaHlzaWNhbCB8IGJvdGgiIGRlZmluaXRpb249IkRpc3Rpbmd1aXNoZXMgYmV0d2VlbiBwaHlzaWNhbCBhZGRyZXNzZXMgKHRob3NlIHlvdSBjYW4gdmlzaXQpIGFuZCBtYWlsaW5nIGFkZHJlc3NlcyAoZS5nLiBQTyBCb3hlcyBhbmQgY2FyZS1vZiBhZGRyZXNzZXMpLiBNb3N0IGFkZHJlc3NlcyBhcmUgYm90aC4iIGNvbW1lbnQ9IlRoZSBkZWZpbml0aW9uIG9mIEFkZHJlc3Mgc3RhdGVzIHRoYXQgJnF1b3Q7YWRkcmVzcyBpcyBpbnRlbmRlZCB0byBkZXNjcmliZSBwb3N0YWwgYWRkcmVzc2VzLCBub3QgcGh5c2ljYWwgbG9jYXRpb25zJnF1b3Q7LiBIb3dldmVyLCBtYW55IGFwcGxpY2F0aW9ucyB0cmFjayB3aGV0aGVyIGFuIGFkZHJlc3MgaGFzIGEgZHVhbCBwdXJwb3NlIG9mIGJlaW5nIGEgbG9jYXRpb24gdGhhdCBjYW4gYmUgdmlzaXRlZCBhcyB3ZWxsIGFzIGJlaW5nIGEgdmFsaWQgZGVsaXZlcnkgZGVzdGluYXRpb24sIGFuZCBQb3N0YWwgYWRkcmVzc2VzIGFyZSBvZnRlbiB1c2VkIGFzIHByb3hpZXMgZm9yIHBoeXNpY2FsIGxvY2F0aW9ucyAoYWxzbyBzZWUgdGhlIFtMb2NhdGlvbl0obG9jYXRpb24uaHRtbCMpIHJlc291cmNlKS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJBZGRyZXNzVHlwZSIgZGVzY3JpcHRpb249IlRoZSB0eXBlIG9mIGFuIGFkZHJlc3MgKHBoeXNpY2FsIC8gcG9zdGFsKS4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InRleHQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRleHQgcmVwcmVzZW50YXRpb24gb2YgdGhlIGFkZHJlc3MiIGRlZmluaXRpb249IlNwZWNpZmllcyB0aGUgZW50aXJlIGFkZHJlc3MgYXMgaXQgc2hvdWxkIGJlIGRpc3BsYXllZCBlLmcuIG9uIGEgcG9zdGFsIGxhYmVsLiBUaGlzIG1heSBiZSBwcm92aWRlZCBpbnN0ZWFkIG9mIG9yIGFzIHdlbGwgYXMgdGhlIHNwZWNpZmljIHBhcnRzLiIgY29tbWVudD0iQ2FuIHByb3ZpZGUgYm90aCBhIHRleHQgcmVwcmVzZW50YXRpb24gYW5kIHBhcnRzLiBBcHBsaWNhdGlvbnMgdXBkYXRpbmcgYW4gYWRkcmVzcyBTSEFMTCBlbnN1cmUgdGhhdCAgd2hlbiBib3RoIHRleHQgYW5kIHBhcnRzIGFyZSBwcmVzZW50LCAgbm8gY29udGVudCBpcyBpbmNsdWRlZCBpbiB0aGUgdGV4dCB0aGF0IGlzbid0IGZvdW5kIGluIGEgcGFydC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibGluZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJTdHJlZXQgbmFtZSwgbnVtYmVyLCBkaXJlY3Rpb24gJmFtcDsgUC5PLiBCb3ggZXRjLiIgZGVmaW5pdGlvbj0iVGhpcyBjb21wb25lbnQgY29udGFpbnMgdGhlIGhvdXNlIG51bWJlciwgYXBhcnRtZW50IG51bWJlciwgc3RyZWV0IG5hbWUsIHN0cmVldCBkaXJlY3Rpb24sICBQLk8uIEJveCBudW1iZXIsIGRlbGl2ZXJ5IGhpbnRzLCBhbmQgc2ltaWxhciBhZGRyZXNzIGluZm9ybWF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2l0eSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTmFtZSBvZiBjaXR5LCB0b3duIGV0Yy4iIGRlZmluaXRpb249IlRoZSBuYW1lIG9mIHRoZSBjaXR5LCB0b3duLCBzdWJ1cmIsIHZpbGxhZ2Ugb3Igb3RoZXIgY29tbXVuaXR5IG9yIGRlbGl2ZXJ5IGNlbnRlci4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzdHJpY3QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRpc3RyaWN0IG5hbWUgKGFrYSBjb3VudHkpIiBkZWZpbml0aW9uPSJUaGUgbmFtZSBvZiB0aGUgYWRtaW5pc3RyYXRpdmUgYXJlYSAoY291bnR5KS4iIGNvbW1lbnQ9IkRpc3RyaWN0IGlzIHNvbWV0aW1lcyBrbm93biBhcyBjb3VudHksIGJ1dCBpbiBzb21lIHJlZ2lvbnMgJ2NvdW50eScgaXMgdXNlZCBpbiBwbGFjZSBvZiBjaXR5IChtdW5pY2lwYWxpdHkpLCBzbyBjb3VudHkgbmFtZSBzaG91bGQgYmUgY29udmV5ZWQgaW4gY2l0eSBpbnN0ZWFkLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iU3ViLXVuaXQgb2YgY291bnRyeSAoYWJicmV2aWF0aW9ucyBvaykiIGRlZmluaXRpb249IlN1Yi11bml0IG9mIGEgY291bnRyeSB3aXRoIGxpbWl0ZWQgc292ZXJlaWdudHkgaW4gYSBmZWRlcmFsbHkgb3JnYW5pemVkIGNvdW50cnkuIEEgY29kZSBtYXkgYmUgdXNlZCBpZiBjb2RlcyBhcmUgaW4gY29tbW9uIHVzZSAoZS5nLiBVUyAyIGxldHRlciBzdGF0ZSBjb2RlcykuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBvc3RhbENvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlBvc3RhbCBjb2RlIGZvciBhcmVhIiBkZWZpbml0aW9uPSJBIHBvc3RhbCBjb2RlIGRlc2lnbmF0aW5nIGEgcmVnaW9uIGRlZmluZWQgYnkgdGhlIHBvc3RhbCBzZXJ2aWNlLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJjb3VudHJ5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJDb3VudHJ5IChlLmcuIGNhbiBiZSBJU08gMzE2NiAyIG9yIDMgbGV0dGVyIGNvZGUpIiBkZWZpbml0aW9uPSJDb3VudHJ5IC0gYSBuYXRpb24gYXMgY29tbW9ubHkgdW5kZXJzdG9vZCBvciBnZW5lcmFsbHkgYWNjZXB0ZWQuIiBjb21tZW50PSJJU08gMzE2NiAzIGxldHRlciBjb2RlcyBjYW4gYmUgdXNlZCBpbiBwbGFjZSBvZiBhIGh1bWFuIHJlYWRhYmxlIGNvdW50cnkgbmFtZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyaW9kIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRpbWUgcGVyaW9kIHdoZW4gYWRkcmVzcyB3YXMvaXMgaW4gdXNlIiBkZWZpbml0aW9uPSJUaW1lIHBlcmlvZCB3aGVuIGFkZHJlc3Mgd2FzL2lzIGluIHVzZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQWRkcmVzc1R5cGUiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBZGRyZXNzVXNlIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQWRtaW5pc3RyYXRpdmVHZW5kZXIiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkFkdmVyc2VFdmVudCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtYWR2ZXJzZWV2ZW50IiBsYWJlbD0iUUlDb3JlIEFkdmVyc2VFdmVudCIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0idHlwZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgZGVzY3JpcHRpb249IkJ1c2luZXNzIGlkZW50aWZpZXIgZm9yIHRoZSBldmVudCIgZGVmaW5pdGlvbj0iQnVzaW5lc3MgaWRlbnRpZmllcnMgYXNzaWduZWQgdG8gdGhpcyBhZHZlcnNlIGV2ZW50IGJ5IHRoZSBwZXJmb3JtZXIgb3Igb3RoZXIgc3lzdGVtcyB3aGljaCByZW1haW4gY29uc3RhbnQgYXMgdGhlIHJlc291cmNlIGlzIHVwZGF0ZWQgYW5kIHByb3BhZ2F0ZXMgZnJvbSBzZXJ2ZXIgdG8gc2VydmVyLiIgY29tbWVudD0iVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIgKHNlZSBbZGlzY3Vzc2lvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS5odG1sI2lkZW50aWZpZXJzKSkuICBJdCBpcyBiZXN0IHByYWN0aWNlIGZvciB0aGUgaWRlbnRpZmllciB0byBvbmx5IGFwcGVhciBvbiBhIHNpbmdsZSByZXNvdXJjZSBpbnN0YW5jZSwgaG93ZXZlciBidXNpbmVzcyBwcmFjdGljZXMgbWF5IG9jY2FzaW9uYWxseSBkaWN0YXRlIHRoYXQgbXVsdGlwbGUgcmVzb3VyY2UgaW5zdGFuY2VzIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllciBjYW4gZXhpc3QgLSBwb3NzaWJseSBldmVuIHdpdGggZGlmZmVyZW50IHJlc291cmNlIHR5cGVzLiAgRm9yIGV4YW1wbGUsIG11bHRpcGxlIFBhdGllbnQgYW5kIGEgUGVyc29uIHJlc291cmNlIGluc3RhbmNlIG1pZ2h0IHNoYXJlIHRoZSBzYW1lIHNvY2lhbCBpbnN1cmFuY2UgbnVtYmVyLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJhY3R1YWxpdHkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQWR2ZXJzZUV2ZW50QWN0dWFsaXR5IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImFjdHVhbCB8IHBvdGVudGlhbCIgZGVmaW5pdGlvbj0iV2hldGhlciB0aGUgZXZlbnQgYWN0dWFsbHkgaGFwcGVuZWQsIG9yIGp1c3QgaGFkIHRoZSBwb3RlbnRpYWwgdG8uIE5vdGUgdGhhdCB0aGlzIGlzIGluZGVwZW5kZW50IG9mIHdoZXRoZXIgYW55b25lIHdhcyBhZmZlY3RlZCBvciBoYXJtZWQgb3IgaG93IHNldmVyZWx5LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJBZHZlcnNlRXZlbnRBY3R1YWxpdHkiIGRlc2NyaXB0aW9uPSJPdmVyYWxsIG5hdHVyZSBvZiB0aGUgYWR2ZXJzZSBldmVudCwgZS5nLiByZWFsIG9yIHBvdGVudGlhbC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0icHJvZHVjdC1wcm9ibGVtIHwgcHJvZHVjdC1xdWFsaXR5IHwgcHJvZHVjdC11c2UtZXJyb3IgfCB3cm9uZy1kb3NlIHwgaW5jb3JyZWN0LXByZXNjcmliaW5nLWluZm9ybWF0aW9uIHwgd3JvbmctdGVjaG5pcXVlIHwgd3Jvbmctcm91dGUtb2YtYWRtaW5pc3RyYXRpb24gfCB3cm9uZy1yYXRlIHwgd3JvbmctZHVyYXRpb24gfCB3cm9uZy10aW1lIHwgZXhwaXJlZC1kcnVnIHwgbWVkaWNhbC1kZXZpY2UtdXNlLWVycm9yIHwgcHJvYmxlbS1kaWZmZXJlbnQtbWFudWZhY3R1cmVyIHwgdW5zYWZlLXBoeXNpY2FsLWVudmlyb25tZW50IiBkZWZpbml0aW9uPSJUaGUgb3ZlcmFsbCB0eXBlIG9mIGV2ZW50LCBpbnRlbmRlZCBmb3Igc2VhcmNoIGFuZCBmaWx0ZXJpbmcgcHVycG9zZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJBZHZlcnNlRXZlbnRDYXRlZ29yeSIgZGVzY3JpcHRpb249Ik92ZXJhbGwgY2F0ZWdvcml6YXRpb24gb2YgdGhlIGV2ZW50LCBlLmcuIHByb2R1Y3QtcmVsYXRlZCBvciBzaXR1YXRpb25hbC4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZXZlbnQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlR5cGUgb2YgdGhlIGV2ZW50IGl0c2VsZiBpbiByZWxhdGlvbiB0byB0aGUgc3ViamVjdCIgZGVmaW5pdGlvbj0iVGhpcyBlbGVtZW50IGRlZmluZXMgdGhlIHNwZWNpZmljIHR5cGUgb2YgZXZlbnQgdGhhdCBvY2N1cnJlZCBvciB0aGF0IHdhcyBwcmV2ZW50ZWQgZnJvbSBvY2N1cnJpbmcuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJEZXRhaWxlZCB0eXBlIG9mIGV2ZW50LiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iU3ViamVjdCBpbXBhY3RlZCBieSBldmVudCIgZGVmaW5pdGlvbj0iVGhpcyBzdWJqZWN0IG9yIGdyb3VwIGltcGFjdGVkIGJ5IHRoZSBldmVudC4iIGNvbW1lbnQ9IklmIEFkdmVyc2VFdmVudC5yZXN1bHRpbmdDb25kaXRpb24gZGlmZmVycyBhbW9uZyBtZW1iZXJzIG9mIHRoZSBncm91cCwgdGhlbiB1c2UgUGF0aWVudCBhcyB0aGUgc3ViamVjdC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJFbmNvdW50ZXIgY3JlYXRlZCBhcyBwYXJ0IG9mIiBkZWZpbml0aW9uPSJUaGUgRW5jb3VudGVyIGR1cmluZyB3aGljaCBBZHZlcnNlRXZlbnQgd2FzIGNyZWF0ZWQgb3IgdG8gd2hpY2ggdGhlIGNyZWF0aW9uIG9mIHRoaXMgcmVjb3JkIGlzIHRpZ2h0bHkgYXNzb2NpYXRlZC4iIGNvbW1lbnQ9IlRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgdGhlIGVuY291bnRlciB0aGUgZXZlbnQgb2NjdXJyZWQgd2l0aGluLCBidXQgc29tZSBhY3Rpdml0aWVzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIuICBGb3IgZXhhbXBsZSwgaWYgYSBtZWRpY2F0aW9uIGFkbWluaXN0cmF0aW9uIHdhcyBjb25zaWRlcmVkIGFuIGFkdmVyc2UgZXZlbnQgYmVjYXVzZSBpdCByZXN1bHRlZCBpbiBhIHJhc2gsIHRoZW4gdGhlIGVuY291bnRlciB3aGVuIHRoZSBtZWRpY2F0aW9uIGFkbWluaXN0cmF0aW9uIHdhcyBnaXZlbiBpcyB0aGUgY29udGV4dC4gIElmIHRoZSBwYXRpZW50IHJlcG9ydHMgdGhlIEFkdmVyc2VFdmVudCBkdXJpbmcgYSBzZWNvbmQgZW5jb3VudGVyLCB0aGF0IHNlY29uZCBlbmNvdW50ZXIgaXMgbm90IHRoZSBjb250ZXh0LiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIHRoZSBldmVudCBvY2N1cnJlZCIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgKGFuZCBwZXJoYXBzIHRpbWUpIHdoZW4gdGhlIGFkdmVyc2UgZXZlbnQgb2NjdXJyZWQuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGV0ZWN0ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hlbiB0aGUgZXZlbnQgd2FzIGRldGVjdGVkIiBkZWZpbml0aW9uPSJFc3RpbWF0ZWQgb3IgYWN0dWFsIGRhdGUgdGhlIEFkdmVyc2VFdmVudCBiZWdhbiwgaW4gdGhlIG9waW5pb24gb2YgdGhlIHJlcG9ydGVyLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvcmRlZERhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hlbiB0aGUgZXZlbnQgd2FzIHJlY29yZGVkIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBvbiB3aGljaCB0aGUgZXhpc3RlbmNlIG9mIHRoZSBBZHZlcnNlRXZlbnQgd2FzIGZpcnN0IHJlY29yZGVkLiIgY29tbWVudD0iVGhlIHJlY29yZGVkRGF0ZSByZXByZXNlbnRzIHRoZSBkYXRlIHdoZW4gdGhpcyBwYXJ0aWN1bGFyIEFkdmVyc2VFdmVudCByZWNvcmQgd2FzIGNyZWF0ZWQgaW4gdGhlIHN5c3RlbSwgbm90IHRoZSBkYXRlIG9mIHRoZSBtb3N0IHJlY2VudCB1cGRhdGUuICBUaGUgZGF0ZSBvZiB0aGUgbGFzdCByZWNvcmQgbW9kaWZpY2F0aW9uIGNhbiBiZSByZXRyaWV2ZWQgZnJvbSB0aGUgcmVzb3VyY2UgbWV0YWRhdGEuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlc3VsdGluZ0NvbmRpdGlvbiIgZGVzY3JpcHRpb249IkVmZmVjdCBvbiB0aGUgc3ViamVjdCBkdWUgdG8gdGhpcyBldmVudCIgZGVmaW5pdGlvbj0iSW5jbHVkZXMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHJlYWN0aW9uIHRoYXQgb2NjdXJyZWQgYXMgYSByZXN1bHQgb2YgZXhwb3N1cmUgdG8gYSBzdWJzdGFuY2UgKGZvciBleGFtcGxlLCBhIGRydWcgb3IgYSBjaGVtaWNhbCkuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibG9jYXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iTG9jYXRpb24gd2hlcmUgYWR2ZXJzZSBldmVudCBvY2N1cnJlZCIgZGVmaW5pdGlvbj0iVGhlIGluZm9ybWF0aW9uIGFib3V0IHdoZXJlIHRoZSBhZHZlcnNlIGV2ZW50IG9jY3VycmVkLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InNlcmlvdXNuZXNzIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJTZXJpb3VzbmVzcyBvZiB0aGUgZXZlbnQiIGRlZmluaXRpb249IkFzc2Vzc21lbnQgd2hldGhlciB0aGlzIGV2ZW50IHdhcyBvZiByZWFsIGltcG9ydGFuY2UuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQWR2ZXJzZUV2ZW50U2VyaW91c25lc3MiIGRlc2NyaXB0aW9uPSJPdmVyYWxsIHNlcmlvdXNuZXNzIG9mIHRoaXMgZXZlbnQgZm9yIHRoZSBwYXRpZW50LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzZXZlcml0eSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0ibWlsZCB8IG1vZGVyYXRlIHwgc2V2ZXJlIiBkZWZpbml0aW9uPSJEZXNjcmliZXMgdGhlIHNldmVyaXR5IG9mIHRoZSBhZHZlcnNlIGV2ZW50LCBpbiByZWxhdGlvbiB0byB0aGUgc3ViamVjdC4gQ29udHJhc3QgdG8gQWR2ZXJzZUV2ZW50LnNlcmlvdXNuZXNzIC0gYSBzZXZlcmUgcmFzaCBtaWdodCBub3QgYmUgc2VyaW91cywgYnV0IGEgbWlsZCBoZWFydCBwcm9ibGVtIGlzLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkFkdmVyc2VFdmVudFNldmVyaXR5IiBkZXNjcmlwdGlvbj0iVGhlIHNldmVyaXR5IG9mIHRoZSBhZHZlcnNlIGV2ZW50IGl0c2VsZiwgaW4gZGlyZWN0IHJlbGF0aW9uIHRvIHRoZSBzdWJqZWN0LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ib3V0Y29tZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0icmVzb2x2ZWQgfCByZWNvdmVyaW5nIHwgb25nb2luZyB8IHJlc29sdmVkV2l0aFNlcXVlbGFlIHwgZmF0YWwgfCB1bmtub3duIiBkZWZpbml0aW9uPSJEZXNjcmliZXMgdGhlIHR5cGUgb2Ygb3V0Y29tZSBmcm9tIHRoZSBhZHZlcnNlIGV2ZW50LiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkFkdmVyc2VFdmVudE91dGNvbWUiIGRlc2NyaXB0aW9uPSJUT0RPIChhbmQgc2hvdWxkIHRoaXMgYmUgcmVxdWlyZWQ/KS4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlY29yZGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyByZWNvcmRlZCB0aGUgYWR2ZXJzZSBldmVudCIgZGVmaW5pdGlvbj0iSW5mb3JtYXRpb24gb24gd2hvIHJlY29yZGVkIHRoZSBhZHZlcnNlIGV2ZW50LiAgTWF5IGJlIHRoZSBwYXRpZW50IG9yIGEgcHJhY3RpdGlvbmVyLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbnRyaWJ1dG9yIiBkZXNjcmlwdGlvbj0iV2hvICB3YXMgaW52b2x2ZWQgaW4gdGhlIGFkdmVyc2UgZXZlbnQgb3IgdGhlIHBvdGVudGlhbCBhZHZlcnNlIGV2ZW50IiBkZWZpbml0aW9uPSJQYXJ0aWVzIHRoYXQgbWF5IG9yIHNob3VsZCBjb250cmlidXRlIG9yIGhhdmUgY29udHJpYnV0ZWQgaW5mb3JtYXRpb24gdG8gdGhlIGFkdmVyc2UgZXZlbnQsIHdoaWNoIGNhbiBjb25zaXN0IG9mIG9uZSBvciBtb3JlIGFjdGl2aXRpZXMuICBTdWNoIGluZm9ybWF0aW9uIGluY2x1ZGVzIGluZm9ybWF0aW9uIGxlYWRpbmcgdG8gdGhlIGRlY2lzaW9uIHRvIHBlcmZvcm0gdGhlIGFjdGl2aXR5IGFuZCBob3cgdG8gcGVyZm9ybSB0aGUgYWN0aXZpdHkgKGUuZy4gY29uc3VsdGFudCksIGluZm9ybWF0aW9uIHRoYXQgdGhlIGFjdGl2aXR5IGl0c2VsZiBzZWVrcyB0byByZXZlYWwgKGUuZy4gaW5mb3JtYW50IG9mIGNsaW5pY2FsIGhpc3RvcnkpLCBvciBpbmZvcm1hdGlvbiBhYm91dCB3aGF0IGFjdGl2aXR5IHdhcyBwZXJmb3JtZWQgKGUuZy4gaW5mb3JtYW50IHdpdG5lc3MpLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdXNwZWN0RW50aXR5IiBkZXNjcmlwdGlvbj0iVGhlIHN1c3BlY3RlZCBhZ2VudCBjYXVzaW5nIHRoZSBhZHZlcnNlIGV2ZW50IiBkZWZpbml0aW9uPSJEZXNjcmliZXMgdGhlIGVudGl0eSB0aGF0IGlzIHN1c3BlY3RlZCB0byBoYXZlIGNhdXNlZCB0aGUgYWR2ZXJzZSBldmVudC4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFkdmVyc2VFdmVudC5TdXNwZWN0RW50aXR5IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0TWVkaWNhbEhpc3RvcnkiIGRlc2NyaXB0aW9uPSJBZHZlcnNlRXZlbnQuc3ViamVjdE1lZGljYWxIaXN0b3J5IiBkZWZpbml0aW9uPSJBZHZlcnNlRXZlbnQuc3ViamVjdE1lZGljYWxIaXN0b3J5LiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2VEb2N1bWVudCIgZGVzY3JpcHRpb249IkFkdmVyc2VFdmVudC5yZWZlcmVuY2VEb2N1bWVudCIgZGVmaW5pdGlvbj0iQWR2ZXJzZUV2ZW50LnJlZmVyZW5jZURvY3VtZW50LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3R1ZHkiIGRlc2NyaXB0aW9uPSJBZHZlcnNlRXZlbnQuc3R1ZHkiIGRlZmluaXRpb249IkFkdmVyc2VFdmVudC5zdHVkeS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9InJlY29yZGVyIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJzdWJqZWN0Ii8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlJlbGF0ZWRQZXJzb24iIHJlbGF0ZWRLZXlFbGVtZW50PSJyZWNvcmRlciIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBZHZlcnNlRXZlbnQuU3VzcGVjdEVudGl0eSIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFuY2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iUmVmZXJzIHRvIHRoZSBzcGVjaWZpYyBlbnRpdHkgdGhhdCBjYXVzZWQgdGhlIGFkdmVyc2UgZXZlbnQiIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIGFjdHVhbCBpbnN0YW5jZSBvZiB3aGF0IGNhdXNlZCB0aGUgYWR2ZXJzZSBldmVudC4gIE1heSBiZSBhIHN1YnN0YW5jZSwgbWVkaWNhdGlvbiwgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvbiwgbWVkaWNhdGlvbiBzdGF0ZW1lbnQgb3IgYSBkZXZpY2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJjYXVzYWxpdHkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQWR2ZXJzZUV2ZW50LlN1c3BlY3RFbnRpdHkuQ2F1c2FsaXR5IiBkZXNjcmlwdGlvbj0iSW5mb3JtYXRpb24gb24gdGhlIHBvc3NpYmxlIGNhdXNlIG9mIHRoZSBldmVudCIgZGVmaW5pdGlvbj0iSW5mb3JtYXRpb24gb24gdGhlIHBvc3NpYmxlIGNhdXNlIG9mIHRoZSBldmVudC4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBZHZlcnNlRXZlbnQuU3VzcGVjdEVudGl0eS5DYXVzYWxpdHkiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFzc2Vzc21lbnQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFzc2Vzc21lbnQgb2YgaWYgdGhlIGVudGl0eSBjYXVzZWQgdGhlIGV2ZW50IiBkZWZpbml0aW9uPSJBc3Nlc3NtZW50IG9mIGlmIHRoZSBlbnRpdHkgY2F1c2VkIHRoZSBldmVudC4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJBZHZlcnNlRXZlbnRDYXVzYWxpdHlBc3Nlc3NtZW50IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIHRoZSBhc3Nlc3NtZW50IG9mIHdoZXRoZXIgdGhlIGVudGl0eSBjYXVzZWQgdGhlIGV2ZW50LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwcm9kdWN0UmVsYXRlZG5lc3MiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkFkdmVyc2VFdmVudC5zdXNwZWN0RW50aXR5LmNhdXNhbGl0eVByb2R1Y3RSZWxhdGVkbmVzcyIgZGVmaW5pdGlvbj0iQWR2ZXJzZUV2ZW50LnN1c3BlY3RFbnRpdHkuY2F1c2FsaXR5UHJvZHVjdFJlbGF0ZWRuZXNzLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJhdXRob3IiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iQWR2ZXJzZUV2ZW50LnN1c3BlY3RFbnRpdHkuY2F1c2FsaXR5QXV0aG9yIiBkZWZpbml0aW9uPSJBZHZlcnNlRXZlbnQuc3VzcGVjdEVudGl0eS5jYXVzYWxpdHlBdXRob3IuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUHJvYmFiaWxpdHlTY2FsZSB8IEJheWVzaWFuIHwgQ2hlY2tsaXN0IiBkZWZpbml0aW9uPSJQcm9iYWJpbGl0eVNjYWxlIHwgQmF5ZXNpYW4gfCBDaGVja2xpc3QuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQWR2ZXJzZUV2ZW50Q2F1c2FsaXR5TWV0aG9kIiBkZXNjcmlwdGlvbj0iVE9ETy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQWR2ZXJzZUV2ZW50QWN0dWFsaXR5IiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBbGxlcmd5SW50b2xlcmFuY2UiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWFsbGVyZ3lpbnRvbGVyYW5jZSIgbGFiZWw9IlFJQ29yZSBBbGxlcmd5SW50b2xlcmFuY2UiIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZXNvbHV0aW9uQWdlIiBlbGVtZW50VHlwZT0iUUlDb3JlLnJlc29sdXRpb25BZ2UiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSglcGFyZW50LmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9hbGxlcmd5aW50b2xlcmFuY2UtcmVzb2x1dGlvbkFnZSddLnZhbHVlKSIgZGVzY3JpcHRpb249IkFnZSB0aGF0IHRoZSBhbGxlcmd5IG9yIGludG9sZXJhbmNlIHJlc29sdmVkIiBkZWZpbml0aW9uPSJUaGUgZXN0aW1hdGVkIHBhdGllbnQgYWdlIGF0IHdoaWNoIHRoZSBhbGxlcmd5IG9yIGludG9sZXJhbmNlIHJlc29sdmVkLiBTaG91bGQgYmUgc3BlY2lmaWVkIG9ubHkgaWYgdGhlIHN0YXR1cyBpcyByZXNvbHZlZC4iIGNvbW1lbnQ9IlJlbW92ZWQgRGF0ZSBzaW5jZSBpdCBpcyBoYXJkIHRvIGltYWdpbmUga25vd2luZyB0aGUgZGF0ZSBhbiBhbGxlcmd5IGFiYXRlZC4gVGhlIGFzc2VydGlvbiBkYXRlIGlzIGFscmVhZHkgY2FwdHVyZWQuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkV4dGVybmFsIGlkcyBmb3IgdGhpcyBpdGVtIiBkZWZpbml0aW9uPSJCdXNpbmVzcyBpZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIEFsbGVyZ3lJbnRvbGVyYW5jZSBieSB0aGUgcGVyZm9ybWVyIG9yIG90aGVyIHN5c3RlbXMgd2hpY2ggcmVtYWluIGNvbnN0YW50IGFzIHRoZSByZXNvdXJjZSBpcyB1cGRhdGVkIGFuZCBwcm9wYWdhdGVzIGZyb20gc2VydmVyIHRvIHNlcnZlci4iIGNvbW1lbnQ9IlRoaXMgaXMgYSBidXNpbmVzcyBpZGVudGlmaWVyLCBub3QgYSByZXNvdXJjZSBpZGVudGlmaWVyIChzZWUgW2Rpc2N1c3Npb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcmVzb3VyY2UuaHRtbCNpZGVudGlmaWVycykpLiAgSXQgaXMgYmVzdCBwcmFjdGljZSBmb3IgdGhlIGlkZW50aWZpZXIgdG8gb25seSBhcHBlYXIgb24gYSBzaW5nbGUgcmVzb3VyY2UgaW5zdGFuY2UsIGhvd2V2ZXIgYnVzaW5lc3MgcHJhY3RpY2VzIG1heSBvY2Nhc2lvbmFsbHkgZGljdGF0ZSB0aGF0IG11bHRpcGxlIHJlc291cmNlIGluc3RhbmNlcyB3aXRoIHRoZSBzYW1lIGlkZW50aWZpZXIgY2FuIGV4aXN0IC0gcG9zc2libHkgZXZlbiB3aXRoIGRpZmZlcmVudCByZXNvdXJjZSB0eXBlcy4gIEZvciBleGFtcGxlLCBtdWx0aXBsZSBQYXRpZW50IGFuZCBhIFBlcnNvbiByZXNvdXJjZSBpbnN0YW5jZSBtaWdodCBzaGFyZSB0aGUgc2FtZSBzb2NpYWwgaW5zdXJhbmNlIG51bWJlci4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjbGluaWNhbFN0YXR1cyIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iYWN0aXZlIHwgaW5hY3RpdmUgfCByZXNvbHZlZCIgZGVmaW5pdGlvbj0iVGhlIGNsaW5pY2FsIHN0YXR1cyBvZiB0aGUgYWxsZXJneSBvciBpbnRvbGVyYW5jZS4iIGNvbW1lbnQ9IlJlZmVyIHRvIFtkaXNjdXNzaW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2liaWxpdHkuaHRtbCNTcGVjaWFsLUNhc2UpIGlmIGNsaW5jYWxTdGF0dXMgaXMgbWlzc2luZyBkYXRhLiYjeGE7VGhlIGRhdGEgdHlwZSBpcyBDb2RlYWJsZUNvbmNlcHQgYmVjYXVzZSBjbGluaWNhbFN0YXR1cyBoYXMgc29tZSBjbGluaWNhbCBqdWRnbWVudCBpbnZvbHZlZCwgc3VjaCB0aGF0IHRoZXJlIG1pZ2h0IG5lZWQgdG8gYmUgbW9yZSBzcGVjaWZpY2l0eSB0aGFuIHRoZSByZXF1aXJlZCBGSElSIHZhbHVlIHNldCBhbGxvd3MuIEZvciBleGFtcGxlLCBhIFNOT01FRCBjb2RpbmcgbWlnaHQgYWxsb3cgZm9yIGFkZGl0aW9uYWwgc3BlY2lmaWNpdHkuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InZlcmlmaWNhdGlvblN0YXR1cyIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0idW5jb25maXJtZWQgfCBjb25maXJtZWQgfCByZWZ1dGVkIHwgZW50ZXJlZC1pbi1lcnJvciIgZGVmaW5pdGlvbj0iQXNzZXJ0aW9uIGFib3V0IGNlcnRhaW50eSBhc3NvY2lhdGVkIHdpdGggdGhlIHByb3BlbnNpdHksIG9yIHBvdGVudGlhbCByaXNrLCBvZiBhIHJlYWN0aW9uIHRvIHRoZSBpZGVudGlmaWVkIHN1YnN0YW5jZSAoaW5jbHVkaW5nIHBoYXJtYWNldXRpY2FsIHByb2R1Y3QpLiIgY29tbWVudD0iVGhlIGRhdGEgdHlwZSBpcyBDb2RlYWJsZUNvbmNlcHQgYmVjYXVzZSB2ZXJpZmljYXRpb25TdGF0dXMgaGFzIHNvbWUgY2xpbmljYWwganVkZ21lbnQgaW52b2x2ZWQsIHN1Y2ggdGhhdCB0aGVyZSBtaWdodCBuZWVkIHRvIGJlIG1vcmUgc3BlY2lmaWNpdHkgdGhhbiB0aGUgcmVxdWlyZWQgRkhJUiB2YWx1ZSBzZXQgYWxsb3dzLiBGb3IgZXhhbXBsZSwgYSBTTk9NRUQgY29kaW5nIG1pZ2h0IGFsbG93IGZvciBhZGRpdGlvbmFsIHNwZWNpZmljaXR5LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iYWxsZXJneSB8IGludG9sZXJhbmNlIC0gVW5kZXJseWluZyBtZWNoYW5pc20gKGlmIGtub3duKSIgZGVmaW5pdGlvbj0iSWRlbnRpZmljYXRpb24gb2YgdGhlIHVuZGVybHlpbmcgcGh5c2lvbG9naWNhbCBtZWNoYW5pc20gZm9yIHRoZSByZWFjdGlvbiByaXNrLiIgY29tbWVudD0iQWxsZXJnaWMgKHR5cGljYWxseSBpbW11bmUtbWVkaWF0ZWQpIHJlYWN0aW9ucyBoYXZlIGJlZW4gdHJhZGl0aW9uYWxseSByZWdhcmRlZCBhcyBhbiBpbmRpY2F0b3IgZm9yIHBvdGVudGlhbCBlc2NhbGF0aW9uIHRvIHNpZ25pZmljYW50IGZ1dHVyZSByaXNrLiBDb250ZW1wb3Jhcnkga25vd2xlZGdlIHN1Z2dlc3RzIHRoYXQgc29tZSByZWFjdGlvbnMgcHJldmlvdXNseSB0aG91Z2h0IHRvIGJlIGltbXVuZS1tZWRpYXRlZCBhcmUsIGluIGZhY3QsIG5vbi1pbW11bmUsIGJ1dCBpbiBzb21lIGNhc2VzIGNhbiBzdGlsbCBwb3NlIGEgbGlmZSB0aHJlYXRlbmluZyByaXNrLiBJdCBpcyBhY2tub3dsZWRnZWQgdGhhdCBtYW55IGNsaW5pY2lhbnMgbWlnaHQgbm90IGJlIGluIGEgcG9zaXRpb24gdG8gZGlzdGluZ3Vpc2ggdGhlIG1lY2hhbmlzbSBvZiBhIHBhcnRpY3VsYXIgcmVhY3Rpb24uIE9mdGVuIHRoZSB0ZXJtICZxdW90O2FsbGVyZ3kmcXVvdDsgaXMgdXNlZCByYXRoZXIgZ2VuZXJpY2FsbHkgYW5kIG1heSBvdmVybGFwIHdpdGggdGhlIHVzZSBvZiAmcXVvdDtpbnRvbGVyYW5jZSZxdW90OyAtIGluIHByYWN0aWNlIHRoZSBib3VuZGFyaWVzIGJldHdlZW4gdGhlc2UgdHdvIGNvbmNlcHRzIG1pZ2h0IG5vdCBiZSB3ZWxsLWRlZmluZWQgb3IgdW5kZXJzdG9vZC4gVGhpcyBkYXRhIGVsZW1lbnQgaXMgaW5jbHVkZWQgbmV2ZXJ0aGVsZXNzLCBiZWNhdXNlIG1hbnkgbGVnYWN5IHN5c3RlbXMgaGF2ZSBjYXB0dXJlZCB0aGlzIGF0dHJpYnV0ZS4gSW1tdW5vbG9naWMgdGVzdGluZyBtYXkgcHJvdmlkZSBzdXBwb3J0aW5nIGV2aWRlbmNlIGZvciB0aGUgYmFzaXMgb2YgdGhlIHJlYWN0aW9uIGFuZCB0aGUgY2F1c2F0aXZlIHN1YnN0YW5jZSwgYnV0IG5vIHRlc3RzIGFyZSAxMDAlIHNlbnNpdGl2ZSBvciBzcGVjaWZpYyBmb3Igc2Vuc2l0aXZpdHkgdG8gYSBwYXJ0aWN1bGFyIHN1YnN0YW5jZS4gSWYsIGFzIGlzIGNvbW1vbmx5IHRoZSBjYXNlLCBpdCBpcyB1bmNsZWFyIHdoZXRoZXIgdGhlIHJlYWN0aW9uIGlzIGR1ZSB0byBhbiBhbGxlcmd5IG9yIGFuIGludG9sZXJhbmNlLCB0aGVuIHRoZSB0eXBlIGVsZW1lbnQgc2hvdWxkIGJlIG9taXR0ZWQgZnJvbSB0aGUgcmVzb3VyY2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWNhdGlvbiBvZiB0aGUgdW5kZXJseWluZyBwaHlzaW9sb2dpY2FsIG1lY2hhbmlzbSBmb3IgYSBSZWFjdGlvbiBSaXNrLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iZm9vZCB8IG1lZGljYXRpb24gfCBlbnZpcm9ubWVudCB8IGJpb2xvZ2ljIiBkZWZpbml0aW9uPSJDYXRlZ29yeSBvZiB0aGUgaWRlbnRpZmllZCBzdWJzdGFuY2UuIiBjb21tZW50PSJUaGlzIGRhdGEgZWxlbWVudCBoYXMgYmVlbiBpbmNsdWRlZCBiZWNhdXNlIGl0IGlzIGN1cnJlbnRseSBiZWluZyBjYXB0dXJlZCBpbiBzb21lIGNsaW5pY2FsIHN5c3RlbXMuIFRoaXMgZGF0YSBjYW4gYmUgZGVyaXZlZCBmcm9tIHRoZSBzdWJzdGFuY2Ugd2hlcmUgY29kaW5nIHN5c3RlbXMgYXJlIHVzZWQsIGFuZCBpcyBlZmZlY3RpdmVseSByZWR1bmRhbnQgaW4gdGhhdCBzaXR1YXRpb24uICBXaGVuIHNlYXJjaGluZyBvbiBjYXRlZ29yeSwgY29uc2lkZXIgdGhlIGltcGxpY2F0aW9ucyBvZiBBbGxlcmd5SW50b2xlcmFuY2UgcmVzb3VyY2VzIHdpdGhvdXQgYSBjYXRlZ29yeS4gIEZvciBleGFtcGxlLCB3aGVuIHNlYXJjaGluZyBvbiBjYXRlZ29yeSA9IG1lZGljYXRpb24sIG1lZGljYXRpb24gYWxsZXJnaWVzIHRoYXQgZG9uJ3QgaGF2ZSBhIGNhdGVnb3J5IHZhbHVlZCB3aWxsIG5vdCBiZSByZXR1cm5lZC4gIFJlZmVyIHRvIFtzZWFyY2hdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvc2VhcmNoLmh0bWwpIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGhvdyB0byBzZWFyY2ggY2F0ZWdvcnkgd2l0aCBhIDptaXNzaW5nIG1vZGlmaWVyIHRvIGdldCBhbGxlcmdpZXMgdGhhdCBkb24ndCBoYXZlIGEgY2F0ZWdvcnkuICBBZGRpdGlvbmFsbHksIGNhdGVnb3J5IHNob3VsZCBiZSB1c2VkIHdpdGggY2F1dGlvbiBiZWNhdXNlIGNhdGVnb3J5IGNhbiBiZSBzdWJqZWN0aXZlIGJhc2VkIG9uIHRoZSBzZW5kZXIuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFsbGVyZ3lJbnRvbGVyYW5jZUNhdGVnb3J5IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQWxsZXJneUludG9sZXJhbmNlQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDYXRlZ29yeSBvZiBhbiBpZGVudGlmaWVkIHN1YnN0YW5jZSBhc3NvY2lhdGVkIHdpdGggYWxsZXJnaWVzIG9yIGludG9sZXJhbmNlcy4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNyaXRpY2FsaXR5IiBlbGVtZW50VHlwZT0iUUlDb3JlLkFsbGVyZ3lJbnRvbGVyYW5jZUNyaXRpY2FsaXR5IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImxvdyB8IGhpZ2ggfCB1bmFibGUtdG8tYXNzZXNzIiBkZWZpbml0aW9uPSJFc3RpbWF0ZSBvZiB0aGUgcG90ZW50aWFsIGNsaW5pY2FsIGhhcm0sIG9yIHNlcmlvdXNuZXNzLCBvZiB0aGUgcmVhY3Rpb24gdG8gdGhlIGlkZW50aWZpZWQgc3Vic3RhbmNlLiIgY29tbWVudD0iVGhlIGRlZmF1bHQgY3JpdGljYWxpdHkgdmFsdWUgZm9yIGFueSBwcm9wZW5zaXR5IHRvIGFuIGFkdmVyc2UgcmVhY3Rpb24gc2hvdWxkIGJlICdMb3cgUmlzaycsIGluZGljYXRpbmcgYXQgdGhlIHZlcnkgbGVhc3QgYSByZWxhdGl2ZSBjb250cmFpbmRpY2F0aW9uIHRvIGRlbGliZXJhdGUgb3Igdm9sdW50YXJ5IGV4cG9zdXJlIHRvIHRoZSBzdWJzdGFuY2UuICdIaWdoIFJpc2snIGlzIGZsYWdnZWQgaWYgdGhlIGNsaW5pY2lhbiBoYXMgaWRlbnRpZmllZCBhIHByb3BlbnNpdHkgZm9yIGEgbW9yZSBzZXJpb3VzIG9yIHBvdGVudGlhbGx5IGxpZmUtdGhyZWF0ZW5pbmcgcmVhY3Rpb24sIHN1Y2ggYXMgYW5hcGh5bGF4aXMsIGFuZCBpbXBsaWVzIGFuIGFic29sdXRlIGNvbnRyYWluZGljYXRpb24gdG8gZGVsaWJlcmF0ZSBvciB2b2x1bnRhcnkgZXhwb3N1cmUgdG8gdGhlIHN1YnN0YW5jZS4gSWYgdGhpcyBlbGVtZW50IGlzIG1pc3NpbmcsIHRoZSBjcml0aWNhbGl0eSBpcyB1bmtub3duICh0aG91Z2ggaXQgbWF5IGJlIGtub3duIGVsc2V3aGVyZSkuICBTeXN0ZW1zIHRoYXQgY2FwdHVyZSBhIHNldmVyaXR5IGF0IHRoZSBjb25kaXRpb24gbGV2ZWwgYXJlIGFjdHVhbGx5IHJlcHJlc2VudGluZyB0aGUgY29uY2VwdCBvZiBjcml0aWNhbGl0eSB3aGVyZWFzIHRoZSBzZXZlcml0eSBkb2N1bWVudGVkIGF0IHRoZSByZWFjdGlvbiBsZXZlbCBpcyByZXByZXNlbnRpbmcgdGhlIHRydWUgcmVhY3Rpb24gc2V2ZXJpdHkuICBFeGlzdGluZyBzeXN0ZW1zIHRoYXQgYXJlIGNhcHR1cmluZyBib3RoIGNvbmRpdGlvbiBjcml0aWNhbGl0eSBhbmQgcmVhY3Rpb24gc2V2ZXJpdHkgbWF5IHVzZSB0aGUgdGVybSAmcXVvdDtzZXZlcml0eSZxdW90OyB0byByZXByZXNlbnQgYm90aC4gIENyaXRpY2FsaXR5IGlzIHRoZSB3b3JzdCBpdCBjb3VsZCBiZSBpbiB0aGUgZnV0dXJlIChpLmUuIHNpdHVhdGlvbi1hZ25vc3RpYykgd2hlcmVhcyBzZXZlcml0eSBpcyBzaXR1YXRpb24tZGVwZW5kZW50LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJBbGxlcmd5SW50b2xlcmFuY2VDcml0aWNhbGl0eSIgZGVzY3JpcHRpb249IkVzdGltYXRlIG9mIHRoZSBwb3RlbnRpYWwgY2xpbmljYWwgaGFybSwgb3Igc2VyaW91c25lc3MsIG9mIGEgcmVhY3Rpb24gdG8gYW4gaWRlbnRpZmllZCBzdWJzdGFuY2UuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb2RlIHRoYXQgaWRlbnRpZmllcyB0aGUgYWxsZXJneSBvciBpbnRvbGVyYW5jZSIgZGVmaW5pdGlvbj0iQ29kZSBmb3IgYW4gYWxsZXJneSBvciBpbnRvbGVyYW5jZSBzdGF0ZW1lbnQgKGVpdGhlciBhIHBvc2l0aXZlIG9yIGEgbmVnYXRlZC9leGNsdWRlZCBzdGF0ZW1lbnQpLiAgVGhpcyBtYXkgYmUgYSBjb2RlIGZvciBhIHN1YnN0YW5jZSBvciBwaGFybWFjZXV0aWNhbCBwcm9kdWN0IHRoYXQgaXMgY29uc2lkZXJlZCB0byBiZSByZXNwb25zaWJsZSBmb3IgdGhlIGFkdmVyc2UgcmVhY3Rpb24gcmlzayAoZS5nLiwgJnF1b3Q7TGF0ZXgmcXVvdDspLCBhbiBhbGxlcmd5IG9yIGludG9sZXJhbmNlIGNvbmRpdGlvbiAoZS5nLiwgJnF1b3Q7TGF0ZXggYWxsZXJneSZxdW90OyksIG9yIGEgbmVnYXRlZC9leGNsdWRlZCBjb2RlIGZvciBhIHNwZWNpZmljIHN1YnN0YW5jZSBvciBjbGFzcyAoZS5nLiwgJnF1b3Q7Tm8gbGF0ZXggYWxsZXJneSZxdW90Oykgb3IgYSBnZW5lcmFsIG9yIGNhdGVnb3JpY2FsIG5lZ2F0ZWQgc3RhdGVtZW50IChlLmcuLCAgJnF1b3Q7Tm8ga25vd24gYWxsZXJneSZxdW90OywgJnF1b3Q7Tm8ga25vd24gZHJ1ZyBhbGxlcmdpZXMmcXVvdDspLiAgTm90ZTogdGhlIHN1YnN0YW5jZSBmb3IgYSBzcGVjaWZpYyByZWFjdGlvbiBtYXkgYmUgZGlmZmVyZW50IGZyb20gdGhlIHN1YnN0YW5jZSBpZGVudGlmaWVkIGFzIHRoZSBjYXVzZSBvZiB0aGUgcmlzaywgYnV0IGl0IG11c3QgYmUgY29uc2lzdGVudCB3aXRoIGl0LiBGb3IgaW5zdGFuY2UsIGl0IG1heSBiZSBhIG1vcmUgc3BlY2lmaWMgc3Vic3RhbmNlIChlLmcuIGEgYnJhbmQgbWVkaWNhdGlvbikgb3IgYSBjb21wb3NpdGUgcHJvZHVjdCB0aGF0IGluY2x1ZGVzIHRoZSBpZGVudGlmaWVkIHN1YnN0YW5jZS4gSXQgbXVzdCBiZSBjbGluaWNhbGx5IHNhZmUgdG8gb25seSBwcm9jZXNzIHRoZSAnY29kZScgYW5kIGlnbm9yZSB0aGUgJ3JlYWN0aW9uLnN1YnN0YW5jZScuICBJZiBhIHJlY2VpdmluZyBzeXN0ZW0gaXMgdW5hYmxlIHRvIGNvbmZpcm0gdGhhdCBBbGxlcmd5SW50b2xlcmFuY2UucmVhY3Rpb24uc3Vic3RhbmNlIGZhbGxzIHdpdGhpbiB0aGUgc2VtYW50aWMgc2NvcGUgb2YgQWxsZXJneUludG9sZXJhbmNlLmNvZGUsIHRoZW4gdGhlIHJlY2VpdmluZyBzeXN0ZW0gc2hvdWxkIGlnbm9yZSBBbGxlcmd5SW50b2xlcmFuY2UucmVhY3Rpb24uc3Vic3RhbmNlLiIgY29tbWVudD0iSXQgaXMgc3Ryb25nbHkgcmVjb21tZW5kZWQgdGhhdCB0aGlzIGVsZW1lbnQgYmUgcG9wdWxhdGVkIHVzaW5nIGEgdGVybWlub2xvZ3ksIHdoZXJlIHBvc3NpYmxlLiBGb3IgZXhhbXBsZSwgc29tZSB0ZXJtaW5vbG9naWVzIHVzZWQgaW5jbHVkZSBSeE5vcm0sIFNOT01FRCBDVCwgRE0rRCwgTkRGUlQsIElDRC05LCBJREMtMTAsIFVOSUksIGFuZCBBVEMuIFBsYWluIHRleHQgc2hvdWxkIG9ubHkgYmUgdXNlZCBpZiB0aGVyZSBpcyBubyBhcHByb3ByaWF0ZSB0ZXJtaW5vbG9neSBhdmFpbGFibGUuIEFkZGl0aW9uYWwgZGV0YWlscyBjYW4gYmUgc3BlY2lmaWVkIGluIHRoZSB0ZXh0LiYjeGQ7JiN4ZDtXaGVuIGEgc3Vic3RhbmNlIG9yIHByb2R1Y3QgY29kZSBpcyBzcGVjaWZpZWQgZm9yIHRoZSAnY29kZScgZWxlbWVudCwgdGhlICZxdW90O2RlZmF1bHQmcXVvdDsgc2VtYW50aWMgY29udGV4dCBpcyB0aGF0IHRoaXMgaXMgYSBwb3NpdGl2ZSBzdGF0ZW1lbnQgb2YgYW4gYWxsZXJneSBvciBpbnRvbGVyYW5jZSAoZGVwZW5kaW5nIG9uIHRoZSB2YWx1ZSBvZiB0aGUgJ3R5cGUnIGVsZW1lbnQsIGlmIHByZXNlbnQpIGNvbmRpdGlvbiB0byB0aGUgc3BlY2lmaWVkIHN1YnN0YW5jZS9wcm9kdWN0LiAgSW4gdGhlIGNvcnJlc3BvbmRpbmcgU05PTUVEIENUIGFsbGVyZ3kgbW9kZWwsIHRoZSBzcGVjaWZpZWQgc3Vic3RhbmNlL3Byb2R1Y3QgaXMgdGhlIHRhcmdldCAoZGVzdGluYXRpb24pIG9mIHRoZSAmcXVvdDtDYXVzYXRpdmUgYWdlbnQmcXVvdDsgcmVsYXRpb25zaGlwLiYjeGQ7JiN4ZDtUaGUgJ3N1YnN0YW5jZUV4cG9zdXJlUmlzaycgZXh0ZW5zaW9uIGlzIGF2YWlsYWJsZSBhcyBhIHN0cnVjdHVyZWQgYW5kIG1vcmUgZmxleGlibGUgYWx0ZXJuYXRpdmUgdG8gdGhlICdjb2RlJyBlbGVtZW50IGZvciBtYWtpbmcgcG9zaXRpdmUgb3IgbmVnYXRpdmUgYWxsZXJneSBvciBpbnRvbGVyYW5jZSBzdGF0ZW1lbnRzLiAgVGhpcyBleHRlbnNpb24gcHJvdmlkZXMgdGhlIGNhcGFiaWxpdHkgdG8gbWFrZSAmcXVvdDtubyBrbm93biBhbGxlcmd5JnF1b3Q7IChvciAmcXVvdDtubyByaXNrIG9mIGFkdmVyc2UgcmVhY3Rpb24mcXVvdDspIHN0YXRlbWVudHMgcmVnYXJkaW5nIGFueSBjb2RlZCBzdWJzdGFuY2UvcHJvZHVjdCAoaW5jbHVkaW5nIGNhc2VzIHdoZW4gYSBwcmUtY29vcmRpbmF0ZWQgJnF1b3Q7bm8gYWxsZXJneSB0byB4JnF1b3Q7IGNvbmNlcHQgZm9yIHRoYXQgc3Vic3RhbmNlL3Byb2R1Y3QgZG9lcyBub3QgZXhpc3QpLiAgSWYgdGhlICdzdWJzdGFuY2VFeHBvc3VyZVJpc2snIGV4dGVuc2lvbiBpcyBwcmVzZW50LCB0aGUgQWxsZXJneUludG9sZXJhbmNlLmNvZGUgZWxlbWVudCBTSEFMTCBiZSBvbWl0dGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhdGllbnQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIHRoZSBzZW5zaXRpdml0eSBpcyBmb3IiIGRlZmluaXRpb249IlRoZSBwYXRpZW50IHdobyBoYXMgdGhlIGFsbGVyZ3kgb3IgaW50b2xlcmFuY2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iRW5jb3VudGVyIHdoZW4gdGhlIGFsbGVyZ3kgb3IgaW50b2xlcmFuY2Ugd2FzIGFzc2VydGVkIiBkZWZpbml0aW9uPSJUaGUgZW5jb3VudGVyIHdoZW4gdGhlIGFsbGVyZ3kgb3IgaW50b2xlcmFuY2Ugd2FzIGFzc2VydGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ib25zZXQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2hlbiBhbGxlcmd5IG9yIGludG9sZXJhbmNlIHdhcyBpZGVudGlmaWVkIiBkZWZpbml0aW9uPSJFc3RpbWF0ZWQgb3IgYWN0dWFsIGRhdGUsICBkYXRlLXRpbWUsIG9yIGFnZSB3aGVuIGFsbGVyZ3kgb3IgaW50b2xlcmFuY2Ugd2FzIGlkZW50aWZpZWQuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVjb3JkZWREYXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUgZmlyc3QgdmVyc2lvbiBvZiB0aGUgcmVzb3VyY2UgaW5zdGFuY2Ugd2FzIHJlY29yZGVkIiBkZWZpbml0aW9uPSJUaGUgcmVjb3JkZWREYXRlIHJlcHJlc2VudHMgd2hlbiB0aGlzIHBhcnRpY3VsYXIgQWxsZXJneUludG9sZXJhbmNlIHJlY29yZCB3YXMgY3JlYXRlZCBpbiB0aGUgc3lzdGVtLCB3aGljaCBpcyBvZnRlbiBhIHN5c3RlbS1nZW5lcmF0ZWQgZGF0ZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlY29yZGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyByZWNvcmRlZCB0aGUgc2Vuc2l0aXZpdHkiIGRlZmluaXRpb249IkluZGl2aWR1YWwgd2hvIHJlY29yZGVkIHRoZSByZWNvcmQgYW5kIHRha2VzIHJlc3BvbnNpYmlsaXR5IGZvciBpdHMgY29udGVudC4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJhc3NlcnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTb3VyY2Ugb2YgdGhlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBhbGxlcmd5IiBkZWZpbml0aW9uPSJUaGUgc291cmNlIG9mIHRoZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgYWxsZXJneSB0aGF0IGlzIHJlY29yZGVkLiIgY29tbWVudD0iVGhlIHJlY29yZGVyIHRha2VzIHJlc3BvbnNpYmlsaXR5IGZvciB0aGUgY29udGVudCwgYnV0IGNhbiByZWZlcmVuY2UgdGhlIHNvdXJjZSBmcm9tIHdoZXJlIHRoZXkgZ290IGl0LiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Imxhc3RPY2N1cnJlbmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUoL3RpbWUpIG9mIGxhc3Qga25vd24gb2NjdXJyZW5jZSBvZiBhIHJlYWN0aW9uIiBkZWZpbml0aW9uPSJSZXByZXNlbnRzIHRoZSBkYXRlIGFuZC9vciB0aW1lIG9mIHRoZSBsYXN0IGtub3duIG9jY3VycmVuY2Ugb2YgYSByZWFjdGlvbiBldmVudC4iIGNvbW1lbnQ9IlRoaXMgZGF0ZSBtYXkgYmUgcmVwbGljYXRlZCBieSBvbmUgb2YgdGhlIE9uc2V0IG9mIFJlYWN0aW9uIGRhdGVzLiBXaGVyZSBhIHRleHR1YWwgcmVwcmVzZW50YXRpb24gb2YgdGhlIGRhdGUgb2YgbGFzdCBvY2N1cnJlbmNlIGlzIHJlcXVpcmVkIGUuZy4gJ0luIENoaWxkaG9vZCwgJzEwIHllYXJzIGFnbycgdGhlIENvbW1lbnQgZWxlbWVudCBzaG91bGQgYmUgdXNlZC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkFkZGl0aW9uYWwgdGV4dCBub3QgY2FwdHVyZWQgaW4gb3RoZXIgZmllbGRzIiBkZWZpbml0aW9uPSJBZGRpdGlvbmFsIG5hcnJhdGl2ZSBhYm91dCB0aGUgcHJvcGVuc2l0eSBmb3IgdGhlIEFkdmVyc2UgUmVhY3Rpb24sIG5vdCBjYXB0dXJlZCBpbiBvdGhlciBmaWVsZHMuIiBjb21tZW50PSJGb3IgZXhhbXBsZTogaW5jbHVkaW5nIHJlYXNvbiBmb3IgZmxhZ2dpbmcgYSBzZXJpb3VzbmVzcyBvZiAnSGlnaCBSaXNrJzsgYW5kIGluc3RydWN0aW9ucyByZWxhdGVkIHRvIGZ1dHVyZSBleHBvc3VyZSBvciBhZG1pbmlzdHJhdGlvbiBvZiB0aGUgc3Vic3RhbmNlLCBzdWNoIGFzIGFkbWluaXN0cmF0aW9uIHdpdGhpbiBhbiBJbnRlbnNpdmUgQ2FyZSBVbml0IG9yIHVuZGVyIGNvcnRpY29zdGVyb2lkIGNvdmVyLiBUaGUgbm90ZXMgc2hvdWxkIGJlIHJlbGF0ZWQgdG8gYW4gYWxsZXJneSBvciBpbnRvbGVyYW5jZSBhcyBhIGNvbmRpdGlvbiBpbiBnZW5lcmFsIGFuZCBub3QgcmVsYXRlZCB0byBhbnkgcGFydGljdWxhciBlcGlzb2RlIG9mIGl0LiBGb3IgZXBpc29kZSBub3RlcyBhbmQgZGVzY3JpcHRpb25zLCB1c2UgQWxsZXJneUludG9sZXJhbmNlLmV2ZW50LmRlc2NyaXB0aW9uIGFuZCAgQWxsZXJneUludG9sZXJhbmNlLmV2ZW50Lm5vdGVzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYWN0aW9uIiBkZXNjcmlwdGlvbj0iQWR2ZXJzZSBSZWFjdGlvbiBFdmVudHMgbGlua2VkIHRvIGV4cG9zdXJlIHRvIHN1YnN0YW5jZSIgZGVmaW5pdGlvbj0iRGV0YWlscyBhYm91dCBlYWNoIGFkdmVyc2UgcmVhY3Rpb24gZXZlbnQgbGlua2VkIHRvIGV4cG9zdXJlIHRvIHRoZSBpZGVudGlmaWVkIHN1YnN0YW5jZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQWxsZXJneUludG9sZXJhbmNlLlJlYWN0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJyZWNvcmRlciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJhc3NlcnRlciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0icGF0aWVudCIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0icmVjb3JkZXIiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9ImFzc2VydGVyIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlJlbGF0ZWRQZXJzb24iIHJlbGF0ZWRLZXlFbGVtZW50PSJhc3NlcnRlciIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBbGxlcmd5SW50b2xlcmFuY2UuUmVhY3Rpb24iIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YnN0YW5jZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU3BlY2lmaWMgc3Vic3RhbmNlIG9yIHBoYXJtYWNldXRpY2FsIHByb2R1Y3QgY29uc2lkZXJlZCB0byBiZSByZXNwb25zaWJsZSBmb3IgZXZlbnQiIGRlZmluaXRpb249IklkZW50aWZpY2F0aW9uIG9mIHRoZSBzcGVjaWZpYyBzdWJzdGFuY2UgKG9yIHBoYXJtYWNldXRpY2FsIHByb2R1Y3QpIGNvbnNpZGVyZWQgdG8gYmUgcmVzcG9uc2libGUgZm9yIHRoZSBBZHZlcnNlIFJlYWN0aW9uIGV2ZW50LiBOb3RlOiB0aGUgc3Vic3RhbmNlIGZvciBhIHNwZWNpZmljIHJlYWN0aW9uIG1heSBiZSBkaWZmZXJlbnQgZnJvbSB0aGUgc3Vic3RhbmNlIGlkZW50aWZpZWQgYXMgdGhlIGNhdXNlIG9mIHRoZSByaXNrLCBidXQgaXQgbXVzdCBiZSBjb25zaXN0ZW50IHdpdGggaXQuIEZvciBpbnN0YW5jZSwgaXQgbWF5IGJlIGEgbW9yZSBzcGVjaWZpYyBzdWJzdGFuY2UgKGUuZy4gYSBicmFuZCBtZWRpY2F0aW9uKSBvciBhIGNvbXBvc2l0ZSBwcm9kdWN0IHRoYXQgaW5jbHVkZXMgdGhlIGlkZW50aWZpZWQgc3Vic3RhbmNlLiBJdCBtdXN0IGJlIGNsaW5pY2FsbHkgc2FmZSB0byBvbmx5IHByb2Nlc3MgdGhlICdjb2RlJyBhbmQgaWdub3JlIHRoZSAncmVhY3Rpb24uc3Vic3RhbmNlJy4gIElmIGEgcmVjZWl2aW5nIHN5c3RlbSBpcyB1bmFibGUgdG8gY29uZmlybSB0aGF0IEFsbGVyZ3lJbnRvbGVyYW5jZS5yZWFjdGlvbi5zdWJzdGFuY2UgZmFsbHMgd2l0aGluIHRoZSBzZW1hbnRpYyBzY29wZSBvZiBBbGxlcmd5SW50b2xlcmFuY2UuY29kZSwgdGhlbiB0aGUgcmVjZWl2aW5nIHN5c3RlbSBzaG91bGQgaWdub3JlIEFsbGVyZ3lJbnRvbGVyYW5jZS5yZWFjdGlvbi5zdWJzdGFuY2UuIiBjb21tZW50PSJDb2Rpbmcgb2YgdGhlIHNwZWNpZmljIHN1YnN0YW5jZSAob3IgcGhhcm1hY2V1dGljYWwgcHJvZHVjdCkgd2l0aCBhIHRlcm1pbm9sb2d5IGNhcGFibGUgb2YgdHJpZ2dlcmluZyBkZWNpc2lvbiBzdXBwb3J0IHNob3VsZCBiZSB1c2VkIHdoZXJldmVyIHBvc3NpYmxlLiAgVGhlICdjb2RlJyBlbGVtZW50IGFsbG93cyBmb3IgdGhlIHVzZSBvZiBhIHNwZWNpZmljIHN1YnN0YW5jZSBvciBwaGFybWFjZXV0aWNhbCBwcm9kdWN0LCBvciBhIGdyb3VwIG9yIGNsYXNzIG9mIHN1YnN0YW5jZXMuIEluIHRoZSBjYXNlIG9mIGFuIGFsbGVyZ3kgb3IgaW50b2xlcmFuY2UgdG8gYSBjbGFzcyBvZiBzdWJzdGFuY2VzLCAoZm9yIGV4YW1wbGUsICZxdW90O3BlbmljaWxsaW5zJnF1b3Q7KSwgdGhlICdyZWFjdGlvbi5zdWJzdGFuY2UnIGVsZW1lbnQgY291bGQgYmUgdXNlZCB0byBjb2RlIHRoZSBzcGVjaWZpYyBzdWJzdGFuY2UgdGhhdCB3YXMgaWRlbnRpZmllZCBhcyBoYXZpbmcgY2F1c2VkIHRoZSByZWFjdGlvbiAoZm9yIGV4YW1wbGUsICZxdW90O2Ftb3h5Y2lsbGluJnF1b3Q7KS4gRHVwbGljYXRpb24gb2YgdGhlIHZhbHVlIGluIHRoZSAnY29kZScgYW5kICdyZWFjdGlvbi5zdWJzdGFuY2UnIGVsZW1lbnRzIGlzIGFjY2VwdGFibGUgd2hlbiBhIHNwZWNpZmljIHN1YnN0YW5jZSBoYXMgYmVlbiByZWNvcmRlZCBpbiAnY29kZScuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU3Vic3RhbmNlQ29kZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlZmluaW5nIHRoZSB0eXBlIG9mIHRoZSBzdWJzdGFuY2UgKGluY2x1ZGluZyBwaGFybWFjZXV0aWNhbCBwcm9kdWN0cykuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1hbmlmZXN0YXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGluaWNhbCBzeW1wdG9tcy9zaWducyBhc3NvY2lhdGVkIHdpdGggdGhlIEV2ZW50IiBkZWZpbml0aW9uPSJDbGluaWNhbCBzeW1wdG9tcyBhbmQvb3Igc2lnbnMgdGhhdCBhcmUgb2JzZXJ2ZWQgb3IgYXNzb2NpYXRlZCB3aXRoIHRoZSBhZHZlcnNlIHJlYWN0aW9uIGV2ZW50LiIgY29tbWVudD0iTWFuaWZlc3RhdGlvbiBjYW4gYmUgZXhwcmVzc2VkIGFzIGEgc2luZ2xlIHdvcmQsIHBocmFzZSBvciBicmllZiBkZXNjcmlwdGlvbi4gRm9yIGV4YW1wbGU6IG5hdXNlYSwgcmFzaCBvciBubyByZWFjdGlvbi4gSXQgaXMgcHJlZmVyYWJsZSB0aGF0IG1hbmlmZXN0YXRpb24gc2hvdWxkIGJlIGNvZGVkIHdpdGggYSB0ZXJtaW5vbG9neSwgd2hlcmUgcG9zc2libGUuIFRoZSB2YWx1ZXMgZW50ZXJlZCBoZXJlIG1heSBiZSB1c2VkIHRvIGRpc3BsYXkgb24gYW4gYXBwbGljYXRpb24gc2NyZWVuIGFzIHBhcnQgb2YgYSBsaXN0IG9mIGFkdmVyc2UgcmVhY3Rpb25zLCBhcyByZWNvbW1lbmRlZCBpbiB0aGUgVUsgTkhTIENVSSBndWlkZWxpbmVzLiAgVGVybWlub2xvZ2llcyBjb21tb25seSB1c2VkIGluY2x1ZGUsIGJ1dCBhcmUgbm90IGxpbWl0ZWQgdG8sIFNOT01FRCBDVCBvciBJQ0QxMC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVzY3JpcHRpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRlc2NyaXB0aW9uIG9mIHRoZSBldmVudCBhcyBhIHdob2xlIiBkZWZpbml0aW9uPSJUZXh0IGRlc2NyaXB0aW9uIGFib3V0IHRoZSByZWFjdGlvbiBhcyBhIHdob2xlLCBpbmNsdWRpbmcgZGV0YWlscyBvZiB0aGUgbWFuaWZlc3RhdGlvbiBpZiByZXF1aXJlZC4iIGNvbW1lbnQ9IlVzZSB0aGUgZGVzY3JpcHRpb24gdG8gcHJvdmlkZSBhbnkgZGV0YWlscyBvZiBhIHBhcnRpY3VsYXIgZXZlbnQgb2YgdGhlIG9jY3VycmVkIHJlYWN0aW9uIHN1Y2ggYXMgY2lyY3Vtc3RhbmNlcywgcmVhY3Rpb24gc3BlY2lmaWNzLCB3aGF0IGhhcHBlbmVkIGJlZm9yZS9hZnRlci4gSW5mb3JtYXRpb24sIHJlbGF0ZWQgdG8gdGhlIGV2ZW50LCBidXQgbm90IGRlc2NyaWJpbmcgYSBwYXJ0aWN1bGFyIGNhcmUgc2hvdWxkIGJlIGNhcHR1cmVkIGluIHRoZSBjb21tZW50IGZpZWxkLiBGb3IgZXhhbXBsZTogYXQgdGhlIGFnZSBvZiBmb3VyLCB0aGUgcGF0aWVudCB3YXMgZ2l2ZW4gcGVuaWNpbGxpbiBmb3Igc3RyZXAgdGhyb2F0IGFuZCBzdWJzZXF1ZW50bHkgZGV2ZWxvcGVkIHNldmVyZSBoaXZlcy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ib25zZXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZSgvdGltZSkgd2hlbiBtYW5pZmVzdGF0aW9ucyBzaG93ZWQiIGRlZmluaXRpb249IlJlY29yZCBvZiB0aGUgZGF0ZSBhbmQvb3IgdGltZSBvZiB0aGUgb25zZXQgb2YgdGhlIFJlYWN0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2V2ZXJpdHkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQWxsZXJneUludG9sZXJhbmNlU2V2ZXJpdHkiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0ibWlsZCB8IG1vZGVyYXRlIHwgc2V2ZXJlIChvZiBldmVudCBhcyBhIHdob2xlKSIgZGVmaW5pdGlvbj0iQ2xpbmljYWwgYXNzZXNzbWVudCBvZiB0aGUgc2V2ZXJpdHkgb2YgdGhlIHJlYWN0aW9uIGV2ZW50IGFzIGEgd2hvbGUsIHBvdGVudGlhbGx5IGNvbnNpZGVyaW5nIG11bHRpcGxlIGRpZmZlcmVudCBtYW5pZmVzdGF0aW9ucy4iIGNvbW1lbnQ9Ikl0IGlzIGFja25vd2xlZGdlZCB0aGF0IHRoaXMgYXNzZXNzbWVudCBpcyB2ZXJ5IHN1YmplY3RpdmUuIFRoZXJlIG1heSBiZSBzb21lIHNwZWNpZmljIHByYWN0aWNlIGRvbWFpbnMgd2hlcmUgb2JqZWN0aXZlIHNjYWxlcyBoYXZlIGJlZW4gYXBwbGllZC4gT2JqZWN0aXZlIHNjYWxlcyBjYW4gYmUgaW5jbHVkZWQgaW4gdGhpcyBtb2RlbCBhcyBleHRlbnNpb25zLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJBbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSIgZGVzY3JpcHRpb249IkNsaW5pY2FsIGFzc2Vzc21lbnQgb2YgdGhlIHNldmVyaXR5IG9mIGEgcmVhY3Rpb24gZXZlbnQgYXMgYSB3aG9sZSwgcG90ZW50aWFsbHkgY29uc2lkZXJpbmcgbXVsdGlwbGUgZGlmZmVyZW50IG1hbmlmZXN0YXRpb25zLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZXhwb3N1cmVSb3V0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IHRoZSBzdWJqZWN0IHdhcyBleHBvc2VkIHRvIHRoZSBzdWJzdGFuY2UiIGRlZmluaXRpb249IklkZW50aWZpY2F0aW9uIG9mIHRoZSByb3V0ZSBieSB3aGljaCB0aGUgc3ViamVjdCB3YXMgZXhwb3NlZCB0byB0aGUgc3Vic3RhbmNlLiIgY29tbWVudD0iQ29kaW5nIG9mIHRoZSByb3V0ZSBvZiBleHBvc3VyZSB3aXRoIGEgdGVybWlub2xvZ3kgc2hvdWxkIGJlIHVzZWQgd2hlcmV2ZXIgcG9zc2libGUuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUm91dGVPZkFkbWluaXN0cmF0aW9uIiBkZXNjcmlwdGlvbj0iQSBjb2RlZCBjb25jZXB0IGRlc2NyaWJpbmcgdGhlIHJvdXRlIG9yIHBoeXNpb2xvZ2ljYWwgcGF0aCBvZiBhZG1pbmlzdHJhdGlvbiBvZiBhIHRoZXJhcGV1dGljIGFnZW50IGludG8gb3Igb250byB0aGUgYm9keSBvZiBhIHN1YmplY3QuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJUZXh0IGFib3V0IGV2ZW50IG5vdCBjYXB0dXJlZCBpbiBvdGhlciBmaWVsZHMiIGRlZmluaXRpb249IkFkZGl0aW9uYWwgdGV4dCBhYm91dCB0aGUgYWR2ZXJzZSByZWFjdGlvbiBldmVudCBub3QgY2FwdHVyZWQgaW4gb3RoZXIgZmllbGRzLiIgY29tbWVudD0iVXNlIHRoaXMgZmllbGQgdG8gcmVjb3JkIGluZm9ybWF0aW9uIGluZGlyZWN0bHkgcmVsYXRlZCB0byBhIHBhcnRpY3VsYXIgZXZlbnQgYW5kIG5vdCBjYXB0dXJlZCBpbiB0aGUgZGVzY3JpcHRpb24uIEZvciBleGFtcGxlOiBDbGluaWNhbCByZWNvcmRzIGFyZSBubyBsb25nZXIgYXZhaWxhYmxlLCByZWNvcmRlZCBiYXNlZCBvbiBpbmZvcm1hdGlvbiBwcm92aWRlZCB0byB0aGUgcGF0aWVudCBieSBoZXIgbW90aGVyIGFuZCBoZXIgbW90aGVyIGlzIGRlY2Vhc2VkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYWN0aW9uLWR1cmF0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLmR1cmF0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXBhcmVudC5yZWFjdGlvbi5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vYWxsZXJneWludG9sZXJhbmNlLWR1cmF0aW9uJ10udmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IGxvbmcgTWFuaWZlc3RhdGlvbnMgcGVyc2lzdGVkIiBkZWZpbml0aW9uPSJUaGUgYW1vdW50IG9mIHRpbWUgdGhhdCB0aGUgQWR2ZXJzZSBSZWFjdGlvbiBwZXJzaXN0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkFsbGVyZ3lJbnRvbGVyYW5jZUNyaXRpY2FsaXR5IiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQWxsZXJneUludG9sZXJhbmNlU2V2ZXJpdHkiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBbGxlcmd5SW50b2xlcmFuY2VUeXBlIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkFubm90YXRpb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9Bbm5vdGF0aW9uIiBsYWJlbD0iQW5ub3RhdGlvbiIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkluZGl2aWR1YWwgcmVzcG9uc2libGUgZm9yIHRoZSBhbm5vdGF0aW9uIiBkZWZpbml0aW9uPSJUaGUgaW5kaXZpZHVhbCByZXNwb25zaWJsZSBmb3IgbWFraW5nIHRoZSBhbm5vdGF0aW9uLiIgY29tbWVudD0iT3JnYW5pemF0aW9uIGlzIHVzZWQgd2hlbiB0aGVyZSdzIG5vIG5lZWQgZm9yIHNwZWNpZmljIGF0dHJpYnV0aW9uIGFzIHRvIHdobyBtYWRlIHRoZSBjb21tZW50LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ0aW1lIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gdGhlIGFubm90YXRpb24gd2FzIG1hZGUiIGRlZmluaXRpb249IkluZGljYXRlcyB3aGVuIHRoaXMgcGFydGljdWxhciBhbm5vdGF0aW9uIHdhcyBtYWRlLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ0ZXh0IiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaGUgYW5ub3RhdGlvbiAgLSB0ZXh0IGNvbnRlbnQgKGFzIG1hcmtkb3duKSIgZGVmaW5pdGlvbj0iVGhlIHRleHQgb2YgdGhlIGFubm90YXRpb24gaW4gbWFya2Rvd24gZm9ybWF0LiIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5FbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQXR0YWNobWVudCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0F0dGFjaG1lbnQiIGxhYmVsPSJBdHRhY2htZW50IiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJjb250ZW50VHlwZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5NaW1lVHlwZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJNaW1lIHR5cGUgb2YgdGhlIGNvbnRlbnQsIHdpdGggY2hhcnNldCBldGMuIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHRoZSB0eXBlIG9mIHRoZSBkYXRhIGluIHRoZSBhdHRhY2htZW50IGFuZCBhbGxvd3MgYSBtZXRob2QgdG8gYmUgY2hvc2VuIHRvIGludGVycHJldCBvciByZW5kZXIgdGhlIGRhdGEuIEluY2x1ZGVzIG1pbWUgdHlwZSBwYXJhbWV0ZXJzIHN1Y2ggYXMgY2hhcnNldCB3aGVyZSBhcHByb3ByaWF0ZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJNaW1lVHlwZSIgZGVzY3JpcHRpb249IlRoZSBtaW1lIHR5cGUgb2YgYW4gYXR0YWNobWVudC4gQW55IHZhbGlkIG1pbWUgdHlwZSBpcyBhbGxvd2VkLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibGFuZ3VhZ2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikh1bWFuIGxhbmd1YWdlIG9mIHRoZSBjb250ZW50IChCQ1AtNDcpIiBkZWZpbml0aW9uPSJUaGUgaHVtYW4gbGFuZ3VhZ2Ugb2YgdGhlIGNvbnRlbnQuIFRoZSB2YWx1ZSBjYW4gYmUgYW55IHZhbGlkIHZhbHVlIGFjY29yZGluZyB0byBCQ1AgNDcuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTGFuZ3VhZ2UiIGRlc2NyaXB0aW9uPSJBIGh1bWFuIGxhbmd1YWdlLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGEiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGEgaW5saW5lLCBiYXNlNjRlZCIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBkYXRhIG9mIHRoZSBhdHRhY2htZW50IC0gYSBzZXF1ZW5jZSBvZiBieXRlcywgYmFzZTY0IGVuY29kZWQuIiBjb21tZW50PSJUaGUgYmFzZTY0LWVuY29kZWQgZGF0YSBTSEFMTCBiZSBleHByZXNzZWQgaW4gdGhlIHNhbWUgY2hhcmFjdGVyIHNldCBhcyB0aGUgYmFzZSByZXNvdXJjZSBYTUwgb3IgSlNPTi4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0idXJsIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJVcmkgd2hlcmUgdGhlIGRhdGEgY2FuIGJlIGZvdW5kIiBkZWZpbml0aW9uPSJBIGxvY2F0aW9uIHdoZXJlIHRoZSBkYXRhIGNhbiBiZSBhY2Nlc3NlZC4iIGNvbW1lbnQ9IklmIGJvdGggZGF0YSBhbmQgdXJsIGFyZSBwcm92aWRlZCwgdGhlIHVybCBTSEFMTCBwb2ludCB0byB0aGUgc2FtZSBjb250ZW50IGFzIHRoZSBkYXRhIGNvbnRhaW5zLiBVcmxzIG1heSBiZSByZWxhdGl2ZSByZWZlcmVuY2VzIG9yIG1heSByZWZlcmVuY2UgdHJhbnNpZW50IGxvY2F0aW9ucyBzdWNoIGFzIGEgd3JhcHBpbmcgZW52ZWxvcGUgdXNpbmcgY2lkOiB0aG91Z2ggdGhpcyBoYXMgcmFtaWZpY2F0aW9ucyBmb3IgdXNpbmcgc2lnbmF0dXJlcy4gUmVsYXRpdmUgVVJMcyBhcmUgaW50ZXJwcmV0ZWQgcmVsYXRpdmUgdG8gdGhlIHNlcnZpY2UgdXJsLCBsaWtlIGEgcmVzb3VyY2UgcmVmZXJlbmNlLCByYXRoZXIgdGhhbiByZWxhdGl2ZSB0byB0aGUgcmVzb3VyY2UgaXRzZWxmLiBJZiBhIFVSTCBpcyBwcm92aWRlZCwgaXQgU0hBTEwgcmVzb2x2ZSB0byBhY3R1YWwgZGF0YS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2l6ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik51bWJlciBvZiBieXRlcyBvZiBjb250ZW50IChpZiB1cmwgcHJvdmlkZWQpIiBkZWZpbml0aW9uPSJUaGUgbnVtYmVyIG9mIGJ5dGVzIG9mIGRhdGEgdGhhdCBtYWtlIHVwIHRoaXMgYXR0YWNobWVudCAoYmVmb3JlIGJhc2U2NCBlbmNvZGluZywgaWYgdGhhdCBpcyBkb25lKS4iIGNvbW1lbnQ9IlRoZSBudW1iZXIgb2YgYnl0ZXMgaXMgcmVkdW5kYW50IGlmIHRoZSBkYXRhIGlzIHByb3ZpZGVkIGFzIGEgYmFzZTY0YmluYXJ5LCBidXQgaXMgdXNlZnVsIGlmIHRoZSBkYXRhIGlzIHByb3ZpZGVkIGFzIGEgdXJsIHJlZmVyZW5jZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iaGFzaCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSGFzaCBvZiB0aGUgZGF0YSAoc2hhLTEsIGJhc2U2NGVkKSIgZGVmaW5pdGlvbj0iVGhlIGNhbGN1bGF0ZWQgaGFzaCBvZiB0aGUgZGF0YSB1c2luZyBTSEEtMS4gUmVwcmVzZW50ZWQgdXNpbmcgYmFzZTY0LiIgY29tbWVudD0iVGhlIGhhc2ggaXMgY2FsY3VsYXRlZCBvbiB0aGUgZGF0YSBwcmlvciB0byBiYXNlNjQgZW5jb2RpbmcsIGlmIHRoZSBkYXRhIGlzIGJhc2VkNjQgZW5jb2RlZC4gVGhlIGhhc2ggaXMgbm90IGludGVuZGVkIHRvIHN1cHBvcnQgZGlnaXRhbCBzaWduYXR1cmVzLiBXaGVyZSBwcm90ZWN0aW9uIGFnYWluc3QgbWFsaWNpb3VzIHRocmVhdHMgYSBkaWdpdGFsIHNpZ25hdHVyZSBzaG91bGQgYmUgY29uc2lkZXJlZCwgc2VlIFtQcm92ZW5hbmNlLnNpZ25hdHVyZV0ocHJvdmVuYW5jZS1kZWZpbml0aW9ucy5odG1sI1Byb3ZlbmFuY2Uuc2lnbmF0dXJlKSBmb3IgbWVjaGFuaXNtIHRvIHByb3RlY3QgYSByZXNvdXJjZSB3aXRoIGEgZGlnaXRhbCBzaWduYXR1cmUuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InRpdGxlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJMYWJlbCB0byBkaXNwbGF5IGluIHBsYWNlIG9mIHRoZSBkYXRhIiBkZWZpbml0aW9uPSJBIGxhYmVsIG9yIHNldCBvZiB0ZXh0IHRvIGRpc3BsYXkgaW4gcGxhY2Ugb2YgdGhlIGRhdGEuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNyZWF0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUgYXR0YWNobWVudCB3YXMgZmlyc3QgY3JlYXRlZCIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgdGhhdCB0aGUgYXR0YWNobWVudCB3YXMgZmlyc3QgY3JlYXRlZC4iLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkJhY2tib25lRWxlbWVudCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0JhY2tib25lRWxlbWVudCIgbGFiZWw9IkJhY2tib25lRWxlbWVudCIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0ibW9kaWZpZXJFeHRlbnNpb24iIGRlc2NyaXB0aW9uPSJFeHRlbnNpb25zIHRoYXQgY2Fubm90IGJlIGlnbm9yZWQgZXZlbiBpZiB1bnJlY29nbml6ZWQiIGRlZmluaXRpb249Ik1heSBiZSB1c2VkIHRvIHJlcHJlc2VudCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHRoYXQgaXMgbm90IHBhcnQgb2YgdGhlIGJhc2ljIGRlZmluaXRpb24gb2YgdGhlIGVsZW1lbnQgYW5kIHRoYXQgbW9kaWZpZXMgdGhlIHVuZGVyc3RhbmRpbmcgb2YgdGhlIGVsZW1lbnQgaW4gd2hpY2ggaXQgaXMgY29udGFpbmVkIGFuZC9vciB0aGUgdW5kZXJzdGFuZGluZyBvZiB0aGUgY29udGFpbmluZyBlbGVtZW50J3MgZGVzY2VuZGFudHMuIFVzdWFsbHkgbW9kaWZpZXIgZWxlbWVudHMgcHJvdmlkZSBuZWdhdGlvbiBvciBxdWFsaWZpY2F0aW9uLiBUbyBtYWtlIHRoZSB1c2Ugb2YgZXh0ZW5zaW9ucyBzYWZlIGFuZCBtYW5hZ2VhYmxlLCB0aGVyZSBpcyBhIHN0cmljdCBzZXQgb2YgZ292ZXJuYW5jZSBhcHBsaWVkIHRvIHRoZSBkZWZpbml0aW9uIGFuZCB1c2Ugb2YgZXh0ZW5zaW9ucy4gVGhvdWdoIGFueSBpbXBsZW1lbnRlciBjYW4gZGVmaW5lIGFuIGV4dGVuc2lvbiwgdGhlcmUgaXMgYSBzZXQgb2YgcmVxdWlyZW1lbnRzIHRoYXQgU0hBTEwgYmUgbWV0IGFzIHBhcnQgb2YgdGhlIGRlZmluaXRpb24gb2YgdGhlIGV4dGVuc2lvbi4gQXBwbGljYXRpb25zIHByb2Nlc3NpbmcgYSByZXNvdXJjZSBhcmUgcmVxdWlyZWQgdG8gY2hlY2sgZm9yIG1vZGlmaWVyIGV4dGVuc2lvbnMuJiN4YTsmI3hhO01vZGlmaWVyIGV4dGVuc2lvbnMgU0hBTEwgTk9UIGNoYW5nZSB0aGUgbWVhbmluZyBvZiBhbnkgZWxlbWVudHMgb24gUmVzb3VyY2Ugb3IgRG9tYWluUmVzb3VyY2UgKGluY2x1ZGluZyBjYW5ub3QgY2hhbmdlIHRoZSBtZWFuaW5nIG9mIG1vZGlmaWVyRXh0ZW5zaW9uIGl0c2VsZikuIiBjb21tZW50PSJUaGVyZSBjYW4gYmUgbm8gc3RpZ21hIGFzc29jaWF0ZWQgd2l0aCB0aGUgdXNlIG9mIGV4dGVuc2lvbnMgYnkgYW55IGFwcGxpY2F0aW9uLCBwcm9qZWN0LCBvciBzdGFuZGFyZCAtIHJlZ2FyZGxlc3Mgb2YgdGhlIGluc3RpdHV0aW9uIG9yIGp1cmlzZGljdGlvbiB0aGF0IHVzZXMgb3IgZGVmaW5lcyB0aGUgZXh0ZW5zaW9ucy4gIFRoZSB1c2Ugb2YgZXh0ZW5zaW9ucyBpcyB3aGF0IGFsbG93cyB0aGUgRkhJUiBzcGVjaWZpY2F0aW9uIHRvIHJldGFpbiBhIGNvcmUgbGV2ZWwgb2Ygc2ltcGxpY2l0eSBmb3IgZXZlcnlvbmUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuRXh0ZW5zaW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkJvZHlTdHJ1Y3R1cmUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWJvZHlzdHJ1Y3R1cmUiIGxhYmVsPSJRSUNvcmUgQm9keVN0cnVjdHVyZSIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0ibG9jYXRpb24iPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQm9keXN0cnVjdHVyZSBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJJZGVudGlmaWVyIGZvciB0aGlzIGluc3RhbmNlIG9mIHRoZSBhbmF0b21pY2FsIHN0cnVjdHVyZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhY3RpdmUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGV0aGVyIHRoaXMgcmVjb3JkIGlzIGluIGFjdGl2ZSB1c2UiIGRlZmluaXRpb249IldoZXRoZXIgdGhpcyBib2R5IHNpdGUgaXMgaW4gYWN0aXZlIHVzZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSBpdCBtYXkgYmUgdXNlZCB0byBtYXJrIHRoYXQgdGhlIHJlc291cmNlIHdhcyBjcmVhdGVkIGluIGVycm9yLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibW9ycGhvbG9neSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iS2luZCBvZiBTdHJ1Y3R1cmUiIGRlZmluaXRpb249IlRoZSBraW5kIG9mIHN0cnVjdHVyZSBiZWluZyByZXByZXNlbnRlZCBieSB0aGUgYm9keSBzdHJ1Y3R1cmUgYXQgYEJvZHlTdHJ1Y3R1cmUubG9jYXRpb25gLiAgVGhpcyBjYW4gZGVmaW5lIGJvdGggbm9ybWFsIGFuZCBhYm5vcm1hbCBtb3JwaG9sb2dpZXMuIiBjb21tZW50PSJUaGUgbWluaW11bSBjYXJkaW5hbGl0eSBvZiAwIHN1cHBvcnRzIHRoZSB1c2UgY2FzZSBvZiBzcGVjaWZ5aW5nIGEgbG9jYXRpb24gd2l0aG91dCBkZWZpbmluZyBhIG1vcnBob2xvZ3kuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQm9keVN0cnVjdHVyZUNvZGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGFuYXRvbWljIG1vcnBob2xvZ3kuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImxvY2F0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJCb2R5IHNpdGUiIGRlZmluaXRpb249IlRoZSBhbmF0b21pY2FsIGxvY2F0aW9uIG9yIHJlZ2lvbiBvZiB0aGUgc3BlY2ltZW4sIGxlc2lvbiwgb3IgYm9keSBzdHJ1Y3R1cmUuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvblF1YWxpZmllciIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkJvZHkgc2l0ZSBtb2RpZmllciIgZGVmaW5pdGlvbj0iUXVhbGlmaWVyIHRvIHJlZmluZSB0aGUgYW5hdG9taWNhbCBsb2NhdGlvbi4gIFRoZXNlIGluY2x1ZGUgcXVhbGlmaWVycyBmb3IgbGF0ZXJhbGl0eSwgcmVsYXRpdmUgbG9jYXRpb24sIGRpcmVjdGlvbmFsaXR5LCBudW1iZXIsIGFuZCBwbGFuZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJDb25jZXB0cyBtb2RpZnlpbmcgdGhlIGFuYXRvbWljIGxvY2F0aW9uIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVzY3JpcHRpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRleHQgZGVzY3JpcHRpb24iIGRlZmluaXRpb249IkEgc3VtbWFyeSwgY2hhcmFjdGVyaXphdGlvbiBvciBleHBsYW5hdGlvbiBvZiB0aGUgYm9keSBzdHJ1Y3R1cmUuIiBjb21tZW50PSJUaGlzIGRlc2NyaXB0aW9uIGNvdWxkIGluY2x1ZGUgYW55IHZpc3VhbCBtYXJraW5ncyB1c2VkIHRvIG9yaWVudGF0ZSB0aGUgdmlld2VyIGUuZy4gZXh0ZXJuYWwgcmVmZXJlbmNlIHBvaW50cywgc3BlY2lhbCBzdXR1cmVzLCBpbmsgbWFya2luZ3MuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImltYWdlIiBkZXNjcmlwdGlvbj0iQXR0YWNoZWQgaW1hZ2VzIiBkZWZpbml0aW9uPSJJbWFnZSBvciBpbWFnZXMgdXNlZCB0byBpZGVudGlmeSBhIGxvY2F0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkF0dGFjaG1lbnQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhdGllbnQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIHRoaXMgaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwZXJzb24gdG8gd2hpY2ggdGhlIGJvZHkgc2l0ZSBiZWxvbmdzLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBhdGllbnQiLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDYXJlUGxhbiIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtY2FyZXBsYW4iIGxhYmVsPSJRSUNvcmUgQ2FyZVBsYW4iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNhdGVnb3J5Ij4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkV4dGVybmFsIElkcyBmb3IgdGhpcyBwbGFuIiBkZWZpbml0aW9uPSJCdXNpbmVzcyBpZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIGNhcmUgcGxhbiBieSB0aGUgcGVyZm9ybWVyIG9yIG90aGVyIHN5c3RlbXMgd2hpY2ggcmVtYWluIGNvbnN0YW50IGFzIHRoZSByZXNvdXJjZSBpcyB1cGRhdGVkIGFuZCBwcm9wYWdhdGVzIGZyb20gc2VydmVyIHRvIHNlcnZlci4iIGNvbW1lbnQ9IlRoaXMgaXMgYSBidXNpbmVzcyBpZGVudGlmaWVyLCBub3QgYSByZXNvdXJjZSBpZGVudGlmaWVyIChzZWUgW2Rpc2N1c3Npb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcmVzb3VyY2UuaHRtbCNpZGVudGlmaWVycykpLiAgSXQgaXMgYmVzdCBwcmFjdGljZSBmb3IgdGhlIGlkZW50aWZpZXIgdG8gb25seSBhcHBlYXIgb24gYSBzaW5nbGUgcmVzb3VyY2UgaW5zdGFuY2UsIGhvd2V2ZXIgYnVzaW5lc3MgcHJhY3RpY2VzIG1heSBvY2Nhc2lvbmFsbHkgZGljdGF0ZSB0aGF0IG11bHRpcGxlIHJlc291cmNlIGluc3RhbmNlcyB3aXRoIHRoZSBzYW1lIGlkZW50aWZpZXIgY2FuIGV4aXN0IC0gcG9zc2libHkgZXZlbiB3aXRoIGRpZmZlcmVudCByZXNvdXJjZSB0eXBlcy4gIEZvciBleGFtcGxlLCBtdWx0aXBsZSBQYXRpZW50IGFuZCBhIFBlcnNvbiByZXNvdXJjZSBpbnN0YW5jZSBtaWdodCBzaGFyZSB0aGUgc2FtZSBzb2NpYWwgaW5zdXJhbmNlIG51bWJlci4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNDYW5vbmljYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIEZISVIgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhIEZISVItZGVmaW5lZCBwcm90b2NvbCwgZ3VpZGVsaW5lLCBxdWVzdGlvbm5haXJlIG9yIG90aGVyIGRlZmluaXRpb24gdGhhdCBpcyBhZGhlcmVkIHRvIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBDYXJlUGxhbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc1VyaSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgZXh0ZXJuYWwgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhbiBleHRlcm5hbGx5IG1haW50YWluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgcXVlc3Rpb25uYWlyZSBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgQ2FyZVBsYW4uIiBjb21tZW50PSJUaGlzIG1pZ2h0IGJlIGFuIEhUTUwgcGFnZSwgUERGLCBldGMuIG9yIGNvdWxkIGp1c3QgYmUgYSBub24tcmVzb2x2YWJsZSBVUkkgaWRlbnRpZmllci4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJGdWxmaWxscyBDYXJlUGxhbiIgZGVmaW5pdGlvbj0iQSBjYXJlIHBsYW4gdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGNhcmUgcGxhbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlcGxhY2VzIiBkZXNjcmlwdGlvbj0iQ2FyZVBsYW4gcmVwbGFjZWQgYnkgdGhpcyBDYXJlUGxhbiIgZGVmaW5pdGlvbj0iQ29tcGxldGVkIG9yIHRlcm1pbmF0ZWQgY2FyZSBwbGFuIHdob3NlIGZ1bmN0aW9uIGlzIHRha2VuIGJ5IHRoaXMgbmV3IGNhcmUgcGxhbi4iIGNvbW1lbnQ9IlRoZSByZXBsYWNlbWVudCBjb3VsZCBiZSBiZWNhdXNlIHRoZSBpbml0aWFsIGNhcmUgcGxhbiB3YXMgaW1tZWRpYXRlbHkgcmVqZWN0ZWQgKGR1ZSB0byBhbiBpc3N1ZSkgb3IgYmVjYXVzZSB0aGUgcHJldmlvdXMgY2FyZSBwbGFuIHdhcyBjb21wbGV0ZWQsIGJ1dCB0aGUgbmVlZCBmb3IgdGhlIGFjdGlvbiBkZXNjcmliZWQgYnkgdGhlIGNhcmUgcGxhbiByZW1haW5zIG9uZ29pbmcuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgQ2FyZVBsYW4iIGRlZmluaXRpb249IkEgbGFyZ2VyIGNhcmUgcGxhbiBvZiB3aGljaCB0aGlzIHBhcnRpY3VsYXIgY2FyZSBwbGFuIGlzIGEgY29tcG9uZW50IG9yIHN0ZXAuIiBjb21tZW50PSJFYWNoIGNhcmUgcGxhbiBpcyBhbiBpbmRlcGVuZGVudCByZXF1ZXN0LCBzdWNoIHRoYXQgaGF2aW5nIGEgY2FyZSBwbGFuIGJlIHBhcnQgb2YgYW5vdGhlciBjYXJlIHBsYW4gY2FuIGNhdXNlIGlzc3VlcyB3aXRoIGNhc2NhZGluZyBzdGF0dXNlcy4gIEFzIHN1Y2gsIHRoaXMgZWxlbWVudCBpcyBzdGlsbCBiZWluZyBkaXNjdXNzZWQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImRyYWZ0IHwgYWN0aXZlIHwgb24taG9sZCB8IHJldm9rZWQgfCBjb21wbGV0ZWQgfCBlbnRlcmVkLWluLWVycm9yIHwgdW5rbm93biIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHBsYW4gaXMgY3VycmVudGx5IGJlaW5nIGFjdGVkIHVwb24sIHJlcHJlc2VudHMgZnV0dXJlIGludGVudGlvbnMgb3IgaXMgbm93IGEgaGlzdG9yaWNhbCByZWNvcmQuIiBjb21tZW50PSJUaGUgdW5rbm93biBjb2RlIGlzIG5vdCB0byBiZSB1c2VkIHRvIGNvbnZleSBvdGhlciBzdGF0dXNlcy4gIFRoZSB1bmtub3duIGNvZGUgc2hvdWxkIGJlIHVzZWQgd2hlbiBvbmUgb2YgdGhlIHN0YXR1c2VzIGFwcGxpZXMsIGJ1dCB0aGUgYXV0aG9yaW5nIHN5c3RlbSBkb2Vzbid0IGtub3cgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIGNhcmUgcGxhbi4mI3hhOyYjeGE7VGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgdGhlIGNvZGUgZW50ZXJlZC1pbi1lcnJvciB0aGF0IG1hcmtzIHRoZSBwbGFuIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgd2hldGhlciB0aGUgcGxhbiBpcyBjdXJyZW50bHkgYmVpbmcgYWN0ZWQgdXBvbiwgcmVwcmVzZW50cyBmdXR1cmUgaW50ZW50aW9ucyBvciBpcyBub3cgYSBoaXN0b3JpY2FsIHJlY29yZC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImludGVudCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icHJvcG9zYWwgfCBwbGFuIHwgb3JkZXIgfCBvcHRpb24iIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgbGV2ZWwgb2YgYXV0aG9yaXR5L2ludGVudGlvbmFsaXR5IGFzc29jaWF0ZWQgd2l0aCB0aGUgY2FyZSBwbGFuIGFuZCB3aGVyZSB0aGUgY2FyZSBwbGFuIGZpdHMgaW50byB0aGUgd29ya2Zsb3cgY2hhaW4uIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIGludGVudCBhbHRlcnMgd2hlbiBhbmQgaG93IHRoZSByZXNvdXJjZSBpcyBhY3R1YWxseSBhcHBsaWNhYmxlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQ29kZXMgaW5kaWNhdGluZyB0aGUgZGVncmVlIG9mIGF1dGhvcml0eS9pbnRlbnRpb25hbGl0eSBhc3NvY2lhdGVkIHdpdGggYSBjYXJlIHBsYW4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVHlwZSBvZiBwbGFuIiBkZWZpbml0aW9uPSJUeXBlIG9mIHBsYW4uIiBjb21tZW50PSJUaGVyZSBtYXkgYmUgbXVsdGlwbGUgYXhlcyBvZiBjYXRlZ29yaXphdGlvbiBhbmQgb25lIHBsYW4gbWF5IHNlcnZlIG11bHRpcGxlIHB1cnBvc2VzLiAgSW4gc29tZSBjYXNlcywgdGhpcyBtYXkgYmUgcmVkdW5kYW50IHdpdGggcmVmZXJlbmNlcyB0byBDYXJlUGxhbi5jb25jZXJuLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ2FyZVBsYW5DYXRlZ29yeSIgZGVzY3JpcHRpb249IklkZW50aWZpZXMgd2hhdCAmcXVvdDtraW5kJnF1b3Q7IG9mIHBsYW4gdGhpcyBpcyB0byBzdXBwb3J0IGRpZmZlcmVudGlhdGlvbiBiZXR3ZWVuIG11bHRpcGxlIGNvLWV4aXN0aW5nIHBsYW5zOyBlLmcuICZxdW90O0hvbWUgaGVhbHRoJnF1b3Q7LCAmcXVvdDtwc3ljaGlhdHJpYyZxdW90OywgJnF1b3Q7YXN0aG1hJnF1b3Q7LCAmcXVvdDtkaXNlYXNlIG1hbmFnZW1lbnQmcXVvdDssIGV0Yy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJBc3Nlc3NQbGFuIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUeXBlIG9mIHBsYW4iIGRlZmluaXRpb249IlR5cGUgb2YgcGxhbi4iIGNvbW1lbnQ9IlRoZXJlIG1heSBiZSBtdWx0aXBsZSBheGVzIG9mIGNhdGVnb3JpemF0aW9uIGFuZCBvbmUgcGxhbiBtYXkgc2VydmUgbXVsdGlwbGUgcHVycG9zZXMuICBJbiBzb21lIGNhc2VzLCB0aGlzIG1heSBiZSByZWR1bmRhbnQgd2l0aCByZWZlcmVuY2VzIHRvIENhcmVQbGFuLmNvbmNlcm4uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNhcmVQbGFuQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVzIHdoYXQgJnF1b3Q7a2luZCZxdW90OyBvZiBwbGFuIHRoaXMgaXMgdG8gc3VwcG9ydCBkaWZmZXJlbnRpYXRpb24gYmV0d2VlbiBtdWx0aXBsZSBjby1leGlzdGluZyBwbGFuczsgZS5nLiAmcXVvdDtIb21lIGhlYWx0aCZxdW90OywgJnF1b3Q7cHN5Y2hpYXRyaWMmcXVvdDssICZxdW90O2FzdGhtYSZxdW90OywgJnF1b3Q7ZGlzZWFzZSBtYW5hZ2VtZW50JnF1b3Q7LCBldGMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idGl0bGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikh1bWFuLWZyaWVuZGx5IG5hbWUgZm9yIHRoZSBjYXJlIHBsYW4iIGRlZmluaXRpb249Ikh1bWFuLWZyaWVuZGx5IG5hbWUgZm9yIHRoZSBjYXJlIHBsYW4uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRlc2NyaXB0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJTdW1tYXJ5IG9mIG5hdHVyZSBvZiBwbGFuIiBkZWZpbml0aW9uPSJBIGRlc2NyaXB0aW9uIG9mIHRoZSBzY29wZSBhbmQgbmF0dXJlIG9mIHRoZSBwbGFuLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyB0aGUgY2FyZSBwbGFuIGlzIGZvciIgZGVmaW5pdGlvbj0iV2hvIGNhcmUgcGxhbiBpcyBmb3IuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iRW5jb3VudGVyIGNyZWF0ZWQgYXMgcGFydCBvZiIgZGVmaW5pdGlvbj0iVGhlIEVuY291bnRlciBkdXJpbmcgd2hpY2ggdGhpcyBDYXJlUGxhbiB3YXMgY3JlYXRlZCBvciB0byB3aGljaCB0aGUgY3JlYXRpb24gb2YgdGhpcyByZWNvcmQgaXMgdGlnaHRseSBhc3NvY2lhdGVkLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGFjdGl2aXRpZXMgbWF5IGJlIGluaXRpYXRlZCBwcmlvciB0byBvciBhZnRlciB0aGUgb2ZmaWNpYWwgY29tcGxldGlvbiBvZiBhbiBlbmNvdW50ZXIgYnV0IHN0aWxsIGJlIHRpZWQgdG8gdGhlIGNvbnRleHQgb2YgdGhlIGVuY291bnRlci4gQ2FyZVBsYW4gYWN0aXZpdGllcyBjb25kdWN0ZWQgYXMgYSByZXN1bHQgb2YgdGhlIGNhcmUgcGxhbiBtYXkgd2VsbCBvY2N1ciBhcyBwYXJ0IG9mIG90aGVyIGVuY291bnRlcnMuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaW1lIHBlcmlvZCBwbGFuIGNvdmVycyIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdoZW4gdGhlIHBsYW4gZGlkIChvciBpcyBpbnRlbmRlZCB0bykgY29tZSBpbnRvIGVmZmVjdCBhbmQgZW5kLiIgY29tbWVudD0iQW55IGFjdGl2aXRpZXMgc2NoZWR1bGVkIGFzIHBhcnQgb2YgdGhlIHBsYW4gc2hvdWxkIGJlIGNvbnN0cmFpbmVkIHRvIHRoZSBzcGVjaWZpZWQgcGVyaW9kIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgYWN0aXZpdGllcyBhcmUgcGxhbm5lZCB3aXRoaW4gYSBzaW5nbGUgZW5jb3VudGVyL2VwaXNvZGUgb3IgYWNyb3NzIG11bHRpcGxlIGVuY291bnRlcnMvZXBpc29kZXMgKGUuZy4gdGhlIGxvbmdpdHVkaW5hbCBtYW5hZ2VtZW50IG9mIGEgY2hyb25pYyBjb25kaXRpb24pLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjcmVhdGVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUgcmVjb3JkIHdhcyBmaXJzdCByZWNvcmRlZCIgZGVmaW5pdGlvbj0iUmVwcmVzZW50cyB3aGVuIHRoaXMgcGFydGljdWxhciBDYXJlUGxhbiByZWNvcmQgd2FzIGNyZWF0ZWQgaW4gdGhlIHN5c3RlbSwgd2hpY2ggaXMgb2Z0ZW4gYSBzeXN0ZW0tZ2VuZXJhdGVkIGRhdGUuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImF1dGhvciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaG8gaXMgdGhlIGRlc2lnbmF0ZWQgcmVzcG9uc2libGUgcGFydHkiIGRlZmluaXRpb249IldoZW4gcG9wdWxhdGVkLCB0aGUgYXV0aG9yIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgY2FyZSBwbGFuLiAgVGhlIGNhcmUgcGxhbiBpcyBhdHRyaWJ1dGVkIHRvIHRoZSBhdXRob3IuIiBjb21tZW50PSJUaGUgYXV0aG9yIG1heSBhbHNvIGJlIGEgY29udHJpYnV0b3IuICBGb3IgZXhhbXBsZSwgYW4gb3JnYW5pemF0aW9uIGNhbiBiZSBhbiBhdXRob3IsIGJ1dCBub3QgbGlzdGVkIGFzIGEgY29udHJpYnV0b3IuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbnRyaWJ1dG9yIiBkZXNjcmlwdGlvbj0iV2hvIHByb3ZpZGVkIHRoZSBjb250ZW50IG9mIHRoZSBjYXJlIHBsYW4iIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIGluZGl2aWR1YWwocykgb3Igb3JnYW5pemF0aW9uIHdobyBwcm92aWRlZCB0aGUgY29udGVudHMgb2YgdGhlIGNhcmUgcGxhbi4iIGNvbW1lbnQ9IkNvbGxhYm9yYXRpdmUgY2FyZSBwbGFucyBtYXkgaGF2ZSBtdWx0aXBsZSBjb250cmlidXRvcnMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjYXJlVGVhbSIgZGVzY3JpcHRpb249IldobydzIGludm9sdmVkIGluIHBsYW4/IiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIGFsbCBwZW9wbGUgYW5kIG9yZ2FuaXphdGlvbnMgd2hvIGFyZSBleHBlY3RlZCB0byBiZSBpbnZvbHZlZCBpbiB0aGUgY2FyZSBlbnZpc2lvbmVkIGJ5IHRoaXMgcGxhbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFkZHJlc3NlcyIgZGVzY3JpcHRpb249IkhlYWx0aCBpc3N1ZXMgdGhpcyBwbGFuIGFkZHJlc3NlcyIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgY29uZGl0aW9ucy9wcm9ibGVtcy9jb25jZXJucy9kaWFnbm9zZXMvZXRjLiB3aG9zZSBtYW5hZ2VtZW50IGFuZC9vciBtaXRpZ2F0aW9uIGFyZSBoYW5kbGVkIGJ5IHRoaXMgcGxhbi4iIGNvbW1lbnQ9IldoZW4gdGhlIGRpYWdub3NpcyBpcyByZWxhdGVkIHRvIGFuIGFsbGVyZ3kgb3IgaW50b2xlcmFuY2UsIHRoZSBDb25kaXRpb24gYW5kIEFsbGVyZ3lJbnRvbGVyYW5jZSByZXNvdXJjZXMgY2FuIGJvdGggYmUgdXNlZC4gSG93ZXZlciwgdG8gYmUgYWN0aW9uYWJsZSBmb3IgZGVjaXNpb24gc3VwcG9ydCwgdXNpbmcgQ29uZGl0aW9uIGFsb25lIGlzIG5vdCBzdWZmaWNpZW50IGFzIHRoZSBhbGxlcmd5IG9yIGludG9sZXJhbmNlIGNvbmRpdGlvbiBuZWVkcyB0byBiZSByZXByZXNlbnRlZCBhcyBhbiBBbGxlcmd5SW50b2xlcmFuY2UuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdXBwb3J0aW5nSW5mbyIgZGVzY3JpcHRpb249IkluZm9ybWF0aW9uIGNvbnNpZGVyZWQgYXMgcGFydCBvZiBwbGFuIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHBvcnRpb25zIG9mIHRoZSBwYXRpZW50J3MgcmVjb3JkIHRoYXQgc3BlY2lmaWNhbGx5IGluZmx1ZW5jZWQgdGhlIGZvcm1hdGlvbiBvZiB0aGUgcGxhbi4gIFRoZXNlIG1pZ2h0IGluY2x1ZGUgY29tb3JiaWRpdGllcywgcmVjZW50IHByb2NlZHVyZXMsIGxpbWl0YXRpb25zLCByZWNlbnQgYXNzZXNzbWVudHMsIGV0Yy4iIGNvbW1lbnQ9IlVzZSAmcXVvdDtjb25jZXJuJnF1b3Q7IHRvIGlkZW50aWZ5IHNwZWNpZmljIGNvbmRpdGlvbnMgYWRkcmVzc2VkIGJ5IHRoZSBjYXJlIHBsYW4uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJnb2FsIiBkZXNjcmlwdGlvbj0iRGVzaXJlZCBvdXRjb21lIG9mIHBsYW4iIGRlZmluaXRpb249IkRlc2NyaWJlcyB0aGUgaW50ZW5kZWQgb2JqZWN0aXZlKHMpIG9mIGNhcnJ5aW5nIG91dCB0aGUgY2FyZSBwbGFuLiIgY29tbWVudD0iR29hbCBjYW4gYmUgYWNoaWV2aW5nIGEgcGFydGljdWxhciBjaGFuZ2Ugb3IgbWVyZWx5IG1haW50YWluaW5nIGEgY3VycmVudCBzdGF0ZSBvciBldmVuIHNsb3dpbmcgYSBkZWNsaW5lLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYWN0aXZpdHkiIGRlc2NyaXB0aW9uPSJBY3Rpb24gdG8gb2NjdXIgYXMgcGFydCBvZiBwbGFuIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIGEgcGxhbm5lZCBhY3Rpb24gdG8gb2NjdXIgYXMgcGFydCBvZiB0aGUgcGxhbi4gIEZvciBleGFtcGxlLCBhIG1lZGljYXRpb24gdG8gYmUgdXNlZCwgbGFiIHRlc3RzIHRvIHBlcmZvcm0sIHNlbGYtbW9uaXRvcmluZywgZWR1Y2F0aW9uLCBldGMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ2FyZVBsYW4uQWN0aXZpdHkiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJjcGwtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJQcm92aWRlIGEgcmVmZXJlbmNlIG9yIGRldGFpbCwgbm90IGJvdGgiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iZGV0YWlsLmVtcHR5KCkgb3IgcmVmZXJlbmNlLmVtcHR5KCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgcGxhbiIgZGVmaW5pdGlvbj0iR2VuZXJhbCBub3RlcyBhYm91dCB0aGUgY2FyZSBwbGFuIG5vdCBjb3ZlcmVkIGVsc2V3aGVyZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJwZXJmb3JtZXIiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBhdGllbnQiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBlcmZvcm1lciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJFbmNvdW50ZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJlbmNvdW50ZXIiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUmVsYXRlZFBlcnNvbiIgcmVsYXRlZEtleUVsZW1lbnQ9InBlcmZvcm1lciIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDYXJlUGxhbi5BY3Rpdml0eSIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0ib3V0Y29tZUNvZGVhYmxlQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlc3VsdHMgb2YgdGhlIGFjdGl2aXR5IiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHRoZSBvdXRjb21lIGF0IHRoZSBwb2ludCB3aGVuIHRoZSBzdGF0dXMgb2YgdGhlIGFjdGl2aXR5IGlzIGFzc2Vzc2VkLiAgRm9yIGV4YW1wbGUsIHRoZSBvdXRjb21lIG9mIGFuIGVkdWNhdGlvbiBhY3Rpdml0eSBjb3VsZCBiZSBwYXRpZW50IHVuZGVyc3RhbmRzIChvciBub3QpLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgc2hvdWxkIG5vdCBkdXBsaWNhdGUgdGhlIGFjdGl2aXR5IHN0YXR1cyAoZS5nLiBjb21wbGV0ZWQgb3IgaW4gcHJvZ3Jlc3MpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJDYXJlUGxhbkFjdGl2aXR5T3V0Y29tZSIgZGVzY3JpcHRpb249IklkZW50aWZpZXMgdGhlIHJlc3VsdHMgb2YgdGhlIGFjdGl2aXR5LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJvdXRjb21lUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iQXBwb2ludG1lbnQsIEVuY291bnRlciwgUHJvY2VkdXJlLCBldGMuIiBkZWZpbml0aW9uPSJEZXRhaWxzIG9mIHRoZSBvdXRjb21lIG9yIGFjdGlvbiByZXN1bHRpbmcgZnJvbSB0aGUgYWN0aXZpdHkuICBUaGUgcmVmZXJlbmNlIHRvIGFuICZxdW90O2V2ZW50JnF1b3Q7IHJlc291cmNlLCBzdWNoIGFzIFByb2NlZHVyZSBvciBFbmNvdW50ZXIgb3IgT2JzZXJ2YXRpb24sIGlzIHRoZSByZXN1bHQvb3V0Y29tZSBvZiB0aGUgYWN0aXZpdHkgaXRzZWxmLiAgVGhlIGFjdGl2aXR5IGNhbiBiZSBjb252ZXllZCB1c2luZyBDYXJlUGxhbi5hY3Rpdml0eS5kZXRhaWwgT1IgdXNpbmcgdGhlIENhcmVQbGFuLmFjdGl2aXR5LnJlZmVyZW5jZSAoYSByZWZlcmVuY2UgdG8gYSDigJxyZXF1ZXN04oCdIHJlc291cmNlKS4iIGNvbW1lbnQ9IlRoZSBhY3Rpdml0eSBvdXRjb21lIGlzIGluZGVwZW5kZW50IG9mIHRoZSBvdXRjb21lIG9mIHRoZSByZWxhdGVkIGdvYWwocykuICBGb3IgZXhhbXBsZSwgaWYgdGhlIGdvYWwgaXMgdG8gYWNoaWV2ZSBhIHRhcmdldCBib2R5IHdlaWdodCBvZiAxNTAgbGJzIGFuZCBhbiBhY3Rpdml0eSBpcyBkZWZpbmVkIHRvIGRpZXQsIHRoZW4gdGhlIGFjdGl2aXR5IG91dGNvbWUgY291bGQgYmUgY2Fsb3JpZXMgY29uc3VtZWQgd2hlcmVhcyB0aGUgZ29hbCBvdXRjb21lIGlzIGFuIG9ic2VydmF0aW9uIGZvciB0aGUgYWN0dWFsIGJvZHkgd2VpZ2h0IG1lYXN1cmVkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icHJvZ3Jlc3MiIGRlc2NyaXB0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgYWN0aXZpdHkgc3RhdHVzL3Byb2dyZXNzIiBkZWZpbml0aW9uPSJOb3RlcyBhYm91dCB0aGUgYWRoZXJlbmNlL3N0YXR1cy9wcm9ncmVzcyBvZiB0aGUgYWN0aXZpdHkuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgc2hvdWxkIE5PVCBiZSB1c2VkIHRvIGRlc2NyaWJlIHRoZSBhY3Rpdml0eSB0byBiZSBwZXJmb3JtZWQgLSB0aGF0IG9jY3VycyBlaXRoZXIgd2l0aGluIHRoZSByZXNvdXJjZSBwb2ludGVkIHRvIGJ5IGFjdGl2aXR5LmRldGFpbC5yZWZlcmVuY2Ugb3IgaW4gYWN0aXZpdHkuZGV0YWlsLmRlc2NyaXB0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJBY3Rpdml0eSBkZXRhaWxzIGRlZmluZWQgaW4gc3BlY2lmaWMgcmVzb3VyY2UiIGRlZmluaXRpb249IlRoZSBkZXRhaWxzIG9mIHRoZSBwcm9wb3NlZCBhY3Rpdml0eSByZXByZXNlbnRlZCBpbiBhIHNwZWNpZmljIHJlc291cmNlLiIgY29tbWVudD0iU3RhbmRhcmQgZXh0ZW5zaW9uIGV4aXN0cyAoW3Jlc291cmNlLXBlcnRhaW5zVG9Hb2FsXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1yZXNvdXJjZS1wZXJ0YWluc3RvZ29hbC5odG1sKSkgdGhhdCBhbGxvd3MgZ29hbHMgdG8gYmUgcmVmZXJlbmNlZCBmcm9tIGFueSBvZiB0aGUgcmVmZXJlbmNlZCByZXNvdXJjZXMgaW4gQ2FyZVBsYW4uYWN0aXZpdHkucmVmZXJlbmNlLiAgJiN4ZDtUaGUgZ29hbCBzaG91bGQgYmUgdmlzaWJsZSB3aGVuIHRoZSByZXNvdXJjZSByZWZlcmVuY2VkIGJ5IENhcmVQbGFuLmFjdGl2aXR5LnJlZmVyZW5jZSBpcyB2aWV3ZWQgaW5kZXBlbmRlbnRseSBmcm9tIHRoZSBDYXJlUGxhbi4gIFJlcXVlc3RzIHRoYXQgYXJlIHBvaW50ZWQgdG8gYnkgYSBDYXJlUGxhbiB1c2luZyB0aGlzIGVsZW1lbnQgc2hvdWxkICpub3QqIHBvaW50IHRvIHRoaXMgQ2FyZVBsYW4gdXNpbmcgdGhlICZxdW90O2Jhc2VkT24mcXVvdDsgZWxlbWVudC4gIGkuZS4gUmVxdWVzdHMgdGhhdCBhcmUgcGFydCBvZiBhIENhcmVQbGFuIGFyZSBub3QgJnF1b3Q7YmFzZWQgb24mcXVvdDsgdGhlIENhcmVQbGFuLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXRhaWwiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ2FyZVBsYW4uQWN0aXZpdHkuRGV0YWlsIiBkZXNjcmlwdGlvbj0iSW4tbGluZSBkZWZpbml0aW9uIG9mIGFjdGl2aXR5IiBkZWZpbml0aW9uPSJBIHNpbXBsZSBzdW1tYXJ5IG9mIGEgcGxhbm5lZCBhY3Rpdml0eSBzdWl0YWJsZSBmb3IgYSBnZW5lcmFsIGNhcmUgcGxhbiBzeXN0ZW0gKGUuZy4gZm9ybSBkcml2ZW4pIHRoYXQgZG9lc24ndCBrbm93IGFib3V0IHNwZWNpZmljIHJlc291cmNlcyBzdWNoIGFzIHByb2NlZHVyZSBldGMuIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNhcmVQbGFuLkFjdGl2aXR5LkRldGFpbCIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0ia2luZCIgZWxlbWVudFR5cGU9IlFJQ29yZS5DYXJlUGxhbkFjdGl2aXR5S2luZCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBcHBvaW50bWVudCB8IENvbW11bmljYXRpb25SZXF1ZXN0IHwgRGV2aWNlUmVxdWVzdCB8IE1lZGljYXRpb25SZXF1ZXN0IHwgTnV0cml0aW9uT3JkZXIgfCBUYXNrIHwgU2VydmljZVJlcXVlc3QgfCBWaXNpb25QcmVzY3JpcHRpb24iIGRlZmluaXRpb249IkEgZGVzY3JpcHRpb24gb2YgdGhlIGtpbmQgb2YgcmVzb3VyY2UgdGhlIGluLWxpbmUgZGVmaW5pdGlvbiBvZiBhIGNhcmUgcGxhbiBhY3Rpdml0eSBpcyByZXByZXNlbnRpbmcuICBUaGUgQ2FyZVBsYW4uYWN0aXZpdHkuZGV0YWlsIGlzIGFuIGluLWxpbmUgZGVmaW5pdGlvbiB3aGVuIGEgcmVzb3VyY2UgaXMgbm90IHJlZmVyZW5jZWQgdXNpbmcgQ2FyZVBsYW4uYWN0aXZpdHkucmVmZXJlbmNlLiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QsIGEgU2VydmljZVJlcXVlc3QsIG9yIGEgQ29tbXVuaWNhdGlvblJlcXVlc3QuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ2FyZVBsYW5BY3Rpdml0eUtpbmQiIGRlc2NyaXB0aW9uPSJSZXNvdXJjZSB0eXBlcyBkZWZpbmVkIGFzIHBhcnQgb2YgRkhJUiB0aGF0IGNhbiBiZSByZXByZXNlbnRlZCBhcyBpbi1saW5lIGRlZmluaXRpb25zIG9mIGEgY2FyZSBwbGFuIGFjdGl2aXR5LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzQ2Fub25pY2FsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3RhbnRpYXRlcyBGSElSIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYSBGSElSLWRlZmluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgcXVlc3Rpb25uYWlyZSBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgQ2FyZVBsYW4gYWN0aXZpdHkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNVcmkiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIGV4dGVybmFsIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYW4gZXh0ZXJuYWxseSBtYWludGFpbmVkIHByb3RvY29sLCBndWlkZWxpbmUsIHF1ZXN0aW9ubmFpcmUgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIENhcmVQbGFuIGFjdGl2aXR5LiIgY29tbWVudD0iVGhpcyBtaWdodCBiZSBhbiBIVE1MIHBhZ2UsIFBERiwgZXRjLiBvciBjb3VsZCBqdXN0IGJlIGEgbm9uLXJlc29sdmFibGUgVVJJIGlkZW50aWZpZXIuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJEZXRhaWwgdHlwZSBvZiBhY3Rpdml0eSIgZGVmaW5pdGlvbj0iRGV0YWlsZWQgZGVzY3JpcHRpb24gb2YgdGhlIHR5cGUgb2YgcGxhbm5lZCBhY3Rpdml0eTsgZS5nLiB3aGF0IGxhYiB0ZXN0LCB3aGF0IHByb2NlZHVyZSwgd2hhdCBraW5kIG9mIGVuY291bnRlci4iIGNvbW1lbnQ9IlRlbmRzIHRvIGJlIGxlc3MgcmVsZXZhbnQgZm9yIGFjdGl2aXRpZXMgaW52b2x2aW5nIHBhcnRpY3VsYXIgcHJvZHVjdHMuICBDb2RlcyBzaG91bGQgbm90IGNvbnZleSBuZWdhdGlvbiAtIHVzZSAmcXVvdDtwcm9oaWJpdGVkJnF1b3Q7IGluc3RlYWQuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ2FyZVBsYW5BY3Rpdml0eVR5cGUiIGRlc2NyaXB0aW9uPSJEZXRhaWxlZCBkZXNjcmlwdGlvbiBvZiB0aGUgdHlwZSBvZiBhY3Rpdml0eTsgZS5nLiBXaGF0IGxhYiB0ZXN0LCB3aGF0IHByb2NlZHVyZSwgd2hhdCBraW5kIG9mIGVuY291bnRlci4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoeSBhY3Rpdml0eSBzaG91bGQgYmUgZG9uZSBvciB3aHkgYWN0aXZpdHkgd2FzIHByb2hpYml0ZWQiIGRlZmluaXRpb249IlByb3ZpZGVzIHRoZSByYXRpb25hbGUgdGhhdCBkcm92ZSB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgcGFydGljdWxhciBhY3Rpdml0eSBhcyBwYXJ0IG9mIHRoZSBwbGFuIG9yIHRoZSByZWFzb24gd2h5IHRoZSBhY3Rpdml0eSB3YXMgcHJvaGliaXRlZC4iIGNvbW1lbnQ9IlRoaXMgY291bGQgYmUgYSBkaWFnbm9zaXMgY29kZS4gIElmIGEgZnVsbCBjb25kaXRpb24gcmVjb3JkIGV4aXN0cyBvciBhZGRpdGlvbmFsIGRldGFpbCBpcyBuZWVkZWQsIHVzZSByZWFzb25Db25kaXRpb24gaW5zdGVhZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ2FyZVBsYW5BY3Rpdml0eVJlYXNvbiIgZGVzY3JpcHRpb249IklkZW50aWZpZXMgd2h5IGEgY2FyZSBwbGFuIGFjdGl2aXR5IGlzIG5lZWRlZC4gIENhbiBpbmNsdWRlIGFueSBoZWFsdGggY29uZGl0aW9uIGNvZGVzIGFzIHdlbGwgYXMgc3VjaCBjb25jZXB0cyBhcyAmcXVvdDtnZW5lcmFsIHdlbGxuZXNzJnF1b3Q7LCBwcm9waHlsYXhpcywgc3VyZ2ljYWwgcHJlcGFyYXRpb24sIGV0Yy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2h5IGFjdGl2aXR5IGlzIG5lZWRlZCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGFub3RoZXIgcmVzb3VyY2UsIHN1Y2ggYXMgdGhlIGhlYWx0aCBjb25kaXRpb24ocyksIHdob3NlIGV4aXN0ZW5jZSBqdXN0aWZpZXMgdGhpcyByZXF1ZXN0IGFuZCBkcm92ZSB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgcGFydGljdWxhciBhY3Rpdml0eSBhcyBwYXJ0IG9mIHRoZSBwbGFuLiIgY29tbWVudD0iQ29uZGl0aW9ucyBjYW4gYmUgaWRlbnRpZmllZCBhdCB0aGUgYWN0aXZpdHkgbGV2ZWwgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgcmVhc29ucyBmb3IgdGhlIG92ZXJhbGwgcGxhbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImdvYWwiIGRlc2NyaXB0aW9uPSJHb2FscyB0aGlzIGFjdGl2aXR5IHJlbGF0ZXMgdG8iIGRlZmluaXRpb249IkludGVybmFsIHJlZmVyZW5jZSB0aGF0IGlkZW50aWZpZXMgdGhlIGdvYWxzIHRoYXQgdGhpcyBhY3Rpdml0eSBpcyBpbnRlbmRlZCB0byBjb250cmlidXRlIHRvd2FyZHMgbWVldGluZy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5DYXJlUGxhbkFjdGl2aXR5U3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Im5vdC1zdGFydGVkIHwgc2NoZWR1bGVkIHwgaW4tcHJvZ3Jlc3MgfCBvbi1ob2xkIHwgY29tcGxldGVkIHwgY2FuY2VsbGVkIHwgc3RvcHBlZCB8IHVua25vd24gfCBlbnRlcmVkLWluLWVycm9yIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHdoYXQgcHJvZ3Jlc3MgaXMgYmVpbmcgbWFkZSBmb3IgdGhlIHNwZWNpZmljIGFjdGl2aXR5LiIgY29tbWVudD0iU29tZSBhc3BlY3RzIG9mIHN0YXR1cyBjYW4gYmUgaW5mZXJyZWQgYmFzZWQgb24gdGhlIHJlc291cmNlcyBsaW5rZWQgaW4gYWN0aW9uVGFrZW4uICBOb3RlIHRoYXQgJnF1b3Q7c3RhdHVzJnF1b3Q7IGlzIG9ubHkgYXMgY3VycmVudCBhcyB0aGUgcGxhbiB3YXMgbW9zdCByZWNlbnRseSB1cGRhdGVkLiAgJiN4YTtUaGUgdW5rbm93biBjb2RlIGlzIG5vdCB0byBiZSB1c2VkIHRvIGNvbnZleSBvdGhlciBzdGF0dXNlcy4gIFRoZSB1bmtub3duIGNvZGUgc2hvdWxkIGJlIHVzZWQgd2hlbiBvbmUgb2YgdGhlIHN0YXR1c2VzIGFwcGxpZXMsIGJ1dCB0aGUgYXV0aG9yaW5nIHN5c3RlbSBkb2Vzbid0IGtub3cgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIGFjdGl2aXR5LiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMiIGRlc2NyaXB0aW9uPSJDb2RlcyB0aGF0IHJlZmxlY3QgdGhlIGN1cnJlbnQgc3RhdGUgb2YgYSBjYXJlIHBsYW4gYWN0aXZpdHkgd2l0aGluIGl0cyBvdmVyYWxsIGxpZmUgY3ljbGUuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXNSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlYXNvbiBmb3IgY3VycmVudCBzdGF0dXMiIGRlZmluaXRpb249IlByb3ZpZGVzIHJlYXNvbiB3aHkgdGhlIGFjdGl2aXR5IGlzbid0IHlldCBzdGFydGVkLCBpcyBvbiBob2xkLCB3YXMgY2FuY2VsbGVkLCBldGMuIiBjb21tZW50PSJXaWxsIGdlbmVyYWxseSBub3QgYmUgcHJlc2VudCBpZiBzdGF0dXMgaXMgJnF1b3Q7Y29tcGxldGUmcXVvdDsuICBCZSBzdXJlIHRvIHByb21wdCB0byB1cGRhdGUgdGhpcyAob3IgYXQgbGVhc3QgcmVtb3ZlIHRoZSBleGlzdGluZyB2YWx1ZSkgaWYgdGhlIHN0YXR1cyBpcyBjaGFuZ2VkLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkb05vdFBlcmZvcm0iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJZiB0cnVlLCBhY3Rpdml0eSBpcyBwcm9oaWJpdGluZyBhY3Rpb24iIGRlZmluaXRpb249IklmIHRydWUsIGluZGljYXRlcyB0aGF0IHRoZSBkZXNjcmliZWQgYWN0aXZpdHkgaXMgb25lIHRoYXQgbXVzdCBOT1QgYmUgZW5nYWdlZCBpbiB3aGVuIGZvbGxvd2luZyB0aGUgcGxhbi4gIElmIGZhbHNlLCBvciBtaXNzaW5nLCBpbmRpY2F0ZXMgdGhhdCB0aGUgZGVzY3JpYmVkIGFjdGl2aXR5IGlzIG9uZSB0aGF0IHNob3VsZCBiZSBlbmdhZ2VkIGluIHdoZW4gZm9sbG93aW5nIHRoZSBwbGFuLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIGl0IG1hcmtzIGFuIGFjdGl2aXR5IGFzIGFuIGFjdGl2aXR5IHRoYXQgaXMgbm90IHRvIGJlIHBlcmZvcm1lZC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2NoZWR1bGVkIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoZW4gYWN0aXZpdHkgaXMgdG8gb2NjdXIiIGRlZmluaXRpb249IlRoZSBwZXJpb2QsIHRpbWluZyBvciBmcmVxdWVuY3kgdXBvbiB3aGljaCB0aGUgZGVzY3JpYmVkIGFjdGl2aXR5IGlzIHRvIG9jY3VyLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRpbWluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibG9jYXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hlcmUgaXQgc2hvdWxkIGhhcHBlbiIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgZmFjaWxpdHkgd2hlcmUgdGhlIGFjdGl2aXR5IHdpbGwgb2NjdXI7IGUuZy4gaG9tZSwgaG9zcGl0YWwsIHNwZWNpZmljIGNsaW5pYywgZXRjLiIgY29tbWVudD0iTWF5IHJlZmVyZW5jZSBhIHNwZWNpZmljIGNsaW5pY2FsIGxvY2F0aW9uIG9yIG1heSBpZGVudGlmeSBhIHR5cGUgb2YgbG9jYXRpb24uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IldobyB3aWxsIGJlIHJlc3BvbnNpYmxlPyIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB3aG8ncyBleHBlY3RlZCB0byBiZSBpbnZvbHZlZCBpbiB0aGUgYWN0aXZpdHkuIiBjb21tZW50PSJBIHBlcmZvcm1lciBNQVkgYWxzbyBiZSBhIHBhcnRpY2lwYW50IGluIHRoZSBjYXJlIHBsYW4uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwcm9kdWN0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoYXQgaXMgdG8gYmUgYWRtaW5pc3RlcmVkL3N1cHBsaWVkIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHRoZSBmb29kLCBkcnVnIG9yIG90aGVyIHByb2R1Y3QgdG8gYmUgY29uc3VtZWQgb3Igc3VwcGxpZWQgaW4gdGhlIGFjdGl2aXR5LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNhcmVQbGFuUHJvZHVjdCIgZGVzY3JpcHRpb249IkEgcHJvZHVjdCBzdXBwbGllZCBvciBhZG1pbmlzdGVyZWQgYXMgcGFydCBvZiBhIGNhcmUgcGxhbiBhY3Rpdml0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGFpbHlBbW91bnQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IHRvIGNvbnN1bWUvZGF5PyIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgcXVhbnRpdHkgZXhwZWN0ZWQgdG8gYmUgY29uc3VtZWQgaW4gYSBnaXZlbiBkYXkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InF1YW50aXR5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBtdWNoIHRvIGFkbWluaXN0ZXIvc3VwcGx5L2NvbnN1bWUiIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIHF1YW50aXR5IGV4cGVjdGVkIHRvIGJlIHN1cHBsaWVkLCBhZG1pbmlzdGVyZWQgb3IgY29uc3VtZWQgYnkgdGhlIHN1YmplY3QuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRlc2NyaXB0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJFeHRyYSBpbmZvIGRlc2NyaWJpbmcgYWN0aXZpdHkgdG8gcGVyZm9ybSIgZGVmaW5pdGlvbj0iVGhpcyBwcm92aWRlcyBhIHRleHR1YWwgZGVzY3JpcHRpb24gb2YgY29uc3RyYWludHMgb24gdGhlIGludGVuZGVkIGFjdGl2aXR5IG9jY3VycmVuY2UsIGluY2x1ZGluZyByZWxhdGlvbiB0byBvdGhlciBhY3Rpdml0aWVzLiAgSXQgbWF5IGFsc28gaW5jbHVkZSBvYmplY3RpdmVzLCBwcmUtY29uZGl0aW9ucyBhbmQgZW5kLWNvbmRpdGlvbnMuICBGaW5hbGx5LCBpdCBtYXkgY29udmV5IHNwZWNpZmljcyBhYm91dCB0aGUgYWN0aXZpdHkgc3VjaCBhcyBib2R5IHNpdGUsIG1ldGhvZCwgcm91dGUsIGV0Yy4iLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ2FyZVBsYW5BY3Rpdml0eUtpbmQiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDYXJlUGxhbkFjdGl2aXR5U3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDYXJlVGVhbSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtY2FyZXRlYW0iIGxhYmVsPSJRSUNvcmUgQ2FyZVRlYW0iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNhdGVnb3J5Ij4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkV4dGVybmFsIElkcyBmb3IgdGhpcyB0ZWFtIiBkZWZpbml0aW9uPSJCdXNpbmVzcyBpZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIGNhcmUgdGVhbSBieSB0aGUgcGVyZm9ybWVyIG9yIG90aGVyIHN5c3RlbXMgd2hpY2ggcmVtYWluIGNvbnN0YW50IGFzIHRoZSByZXNvdXJjZSBpcyB1cGRhdGVkIGFuZCBwcm9wYWdhdGVzIGZyb20gc2VydmVyIHRvIHNlcnZlci4iIGNvbW1lbnQ9IlRoaXMgaXMgYSBidXNpbmVzcyBpZGVudGlmaWVyLCBub3QgYSByZXNvdXJjZSBpZGVudGlmaWVyIChzZWUgW2Rpc2N1c3Npb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcmVzb3VyY2UuaHRtbCNpZGVudGlmaWVycykpLiAgSXQgaXMgYmVzdCBwcmFjdGljZSBmb3IgdGhlIGlkZW50aWZpZXIgdG8gb25seSBhcHBlYXIgb24gYSBzaW5nbGUgcmVzb3VyY2UgaW5zdGFuY2UsIGhvd2V2ZXIgYnVzaW5lc3MgcHJhY3RpY2VzIG1heSBvY2Nhc2lvbmFsbHkgZGljdGF0ZSB0aGF0IG11bHRpcGxlIHJlc291cmNlIGluc3RhbmNlcyB3aXRoIHRoZSBzYW1lIGlkZW50aWZpZXIgY2FuIGV4aXN0IC0gcG9zc2libHkgZXZlbiB3aXRoIGRpZmZlcmVudCByZXNvdXJjZSB0eXBlcy4gIEZvciBleGFtcGxlLCBtdWx0aXBsZSBQYXRpZW50IGFuZCBhIFBlcnNvbiByZXNvdXJjZSBpbnN0YW5jZSBtaWdodCBzaGFyZSB0aGUgc2FtZSBzb2NpYWwgaW5zdXJhbmNlIG51bWJlci4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InByb3Bvc2VkIHwgYWN0aXZlIHwgc3VzcGVuZGVkIHwgaW5hY3RpdmUgfCBlbnRlcmVkLWluLWVycm9yIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIGNhcmUgdGVhbS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIHRoZSBjb2RlIGVudGVyZWQtaW4tZXJyb3IgdGhhdCBtYXJrcyB0aGUgY2FyZSB0ZWFtIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgd2hldGhlciB0aGUgdGVhbSBpcyBjdXJyZW50ICwgcmVwcmVzZW50cyBmdXR1cmUgaW50ZW50aW9ucyBvciBpcyBub3cgYSBoaXN0b3JpY2FsIHJlY29yZC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVHlwZSBvZiB0ZWFtIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHdoYXQga2luZCBvZiB0ZWFtLiAgVGhpcyBpcyB0byBzdXBwb3J0IGRpZmZlcmVudGlhdGlvbiBiZXR3ZWVuIG11bHRpcGxlIGNvLWV4aXN0aW5nIHRlYW1zLCBzdWNoIGFzIGNhcmUgcGxhbiB0ZWFtLCBlcGlzb2RlIG9mIGNhcmUgdGVhbSwgbG9uZ2l0dWRpbmFsIGNhcmUgdGVhbS4iIGNvbW1lbnQ9IlRoZXJlIG1heSBiZSBtdWx0aXBsZSBheGlzIG9mIGNhdGVnb3JpemF0aW9uIGFuZCBvbmUgdGVhbSBtYXkgc2VydmUgbXVsdGlwbGUgcHVycG9zZXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNhcmVUZWFtQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgdGhlIHR5cGUgb2YgY2FyZSB0ZWFtLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJuYW1lIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOYW1lIG9mIHRoZSB0ZWFtLCBzdWNoIGFzIGNyaXNpcyBhc3Nlc3NtZW50IHRlYW0iIGRlZmluaXRpb249IkEgbGFiZWwgZm9yIGh1bWFuIHVzZSBpbnRlbmRlZCB0byBkaXN0aW5ndWlzaCBsaWtlIHRlYW1zLiAgRS5nLiB0aGUgJnF1b3Q7cmVkJnF1b3Q7IHZzLiAmcXVvdDtncmVlbiZxdW90OyB0cmF1bWEgdGVhbXMuIiBjb21tZW50PSJUaGUgbWVhbmluZy9wdXJwb3NlIG9mIHRoZSB0ZWFtIGlzIGNvbnZleWVkIGluIENhcmVUZWFtLmNhdGVnb3J5LiAgVGhpcyBlbGVtZW50IG1heSBhbHNvIGNvbnZleSBzZW1hbnRpY3Mgb2YgdGhlIHRlYW0gKGUuZy4gJnF1b3Q7UmVkIHRyYXVtYSB0ZWFtJnF1b3Q7KSwgYnV0IGl0cyBwcmltYXJ5IHB1cnBvc2UgaXMgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiBpZGVudGljYWwgdGVhbXMgaW4gYSBodW1hbi1mcmllbmRseSB3YXkuICAoJnF1b3Q7VGVhbSAxODczNSZxdW90OyBpc24ndCBhcyBmcmllbmRseS4pLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBjYXJlIHRlYW0gaXMgZm9yIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHRoZSBwYXRpZW50IG9yIGdyb3VwIHdob3NlIGludGVuZGVkIGNhcmUgaXMgaGFuZGxlZCBieSB0aGUgdGVhbS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJFbmNvdW50ZXIgY3JlYXRlZCBhcyBwYXJ0IG9mIiBkZWZpbml0aW9uPSJUaGUgRW5jb3VudGVyIGR1cmluZyB3aGljaCB0aGlzIENhcmVUZWFtIHdhcyBjcmVhdGVkIG9yIHRvIHdoaWNoIHRoZSBjcmVhdGlvbiBvZiB0aGlzIHJlY29yZCBpcyB0aWdodGx5IGFzc29jaWF0ZWQuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgYWN0aXZpdGllcyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwZXJpb2QiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGltZSBwZXJpb2QgdGVhbSBjb3ZlcnMiIGRlZmluaXRpb249IkluZGljYXRlcyB3aGVuIHRoZSB0ZWFtIGRpZCAob3IgaXMgaW50ZW5kZWQgdG8pIGNvbWUgaW50byBlZmZlY3QgYW5kIGVuZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGFydGljaXBhbnQiIGRlc2NyaXB0aW9uPSJNZW1iZXJzIG9mIHRoZSB0ZWFtIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIGFsbCBwZW9wbGUgYW5kIG9yZ2FuaXphdGlvbnMgd2hvIGFyZSBleHBlY3RlZCB0byBiZSBpbnZvbHZlZCBpbiB0aGUgY2FyZSB0ZWFtLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5DYXJlVGVhbS5QYXJ0aWNpcGFudCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9ImN0bS0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IkNhcmVUZWFtLnBhcnRpY2lwYW50Lm9uQmVoYWxmT2YgY2FuIG9ubHkgYmUgcG9wdWxhdGVkIHdoZW4gQ2FyZVRlYW0ucGFydGljaXBhbnQubWVtYmVyIGlzIGEgUHJhY3RpdGlvbmVyIj4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Im9uQmVoYWxmT2YuZXhpc3RzKCkgaW1wbGllcyAobWVtYmVyLnJlc29sdmUoKS5paWYoZW1wdHkoKSwgdHJ1ZSwgb2ZUeXBlKFByYWN0aXRpb25lcikuZXhpc3RzKCkpKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoeSB0aGUgY2FyZSB0ZWFtIGV4aXN0cyIgZGVmaW5pdGlvbj0iRGVzY3JpYmVzIHdoeSB0aGUgY2FyZSB0ZWFtIGV4aXN0cy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ2FyZVRlYW1SZWFzb24iIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgdGhlIHJlYXNvbiBmb3IgdGhlIGNhcmUgdGVhbS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2h5IHRoZSBjYXJlIHRlYW0gZXhpc3RzIiBkZWZpbml0aW9uPSJDb25kaXRpb24ocykgdGhhdCB0aGlzIGNhcmUgdGVhbSBhZGRyZXNzZXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtYW5hZ2luZ09yZ2FuaXphdGlvbiIgZGVzY3JpcHRpb249Ik9yZ2FuaXphdGlvbiByZXNwb25zaWJsZSBmb3IgdGhlIGNhcmUgdGVhbSIgZGVmaW5pdGlvbj0iVGhlIG9yZ2FuaXphdGlvbiByZXNwb25zaWJsZSBmb3IgdGhlIGNhcmUgdGVhbS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InRlbGVjb20iIGRlc2NyaXB0aW9uPSJBIGNvbnRhY3QgZGV0YWlsIGZvciB0aGUgY2FyZSB0ZWFtICh0aGF0IGFwcGxpZXMgdG8gYWxsIG1lbWJlcnMpIiBkZWZpbml0aW9uPSJBIGNlbnRyYWwgY29udGFjdCBkZXRhaWwgZm9yIHRoZSBjYXJlIHRlYW0gKHRoYXQgYXBwbGllcyB0byBhbGwgbWVtYmVycykuIiBjb21tZW50PSJUaGUgQ29udGFjdFBvaW50LnVzZSBjb2RlIG9mIGhvbWUgaXMgbm90IGFwcHJvcHJpYXRlIHRvIHVzZS4gVGhlc2UgY29udGFjdHMgYXJlIG5vdCB0aGUgY29udGFjdCBkZXRhaWxzIG9mIGluZGl2aWR1YWwgY2FyZSB0ZWFtIG1lbWJlcnMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ29udGFjdFBvaW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgbWFkZSBhYm91dCB0aGUgQ2FyZVRlYW0iIGRlZmluaXRpb249IkNvbW1lbnRzIG1hZGUgYWJvdXQgdGhlIENhcmVUZWFtLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9Im1lbWJlciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0icGF0aWVudCIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0ibWVtYmVyIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IkVuY291bnRlciIgcmVsYXRlZEtleUVsZW1lbnQ9ImVuY291bnRlciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJSZWxhdGVkUGVyc29uIiByZWxhdGVkS2V5RWxlbWVudD0ibWVtYmVyIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNhcmVUZWFtLlBhcnRpY2lwYW50IiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJyb2xlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUeXBlIG9mIGludm9sdmVtZW50IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgc3BlY2lmaWMgcmVzcG9uc2liaWxpdHkgb2YgYW4gaW5kaXZpZHVhbCB3aXRoaW4gdGhlIGNhcmUgdGVhbSwgc3VjaCBhcyAmcXVvdDtQcmltYXJ5IGNhcmUgcGh5c2ljaWFuJnF1b3Q7LCAmcXVvdDtUcmFpbmVkIHNvY2lhbCB3b3JrZXIgY291bnNlbG9yJnF1b3Q7LCAmcXVvdDtDYXJlZ2l2ZXImcXVvdDssIGV0Yy4iIGNvbW1lbnQ9IlJvbGVzIG1heSBzb21ldGltZXMgYmUgaW5mZXJyZWQgYnkgdHlwZSBvZiBQcmFjdGl0aW9uZXIuICBUaGVzZSBhcmUgcmVsYXRpb25zaGlwcyB0aGF0IGhvbGQgb25seSB3aXRoaW4gdGhlIGNvbnRleHQgb2YgdGhlIGNhcmUgdGVhbS4gIEdlbmVyYWwgcmVsYXRpb25zaGlwcyBzaG91bGQgYmUgaGFuZGxlZCBhcyBwcm9wZXJ0aWVzIG9mIHRoZSBQYXRpZW50IHJlc291cmNlIGRpcmVjdGx5LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iSW5kaWNhdGVzIHNwZWNpZmljIHJlc3BvbnNpYmlsaXR5IG9mIGFuIGluZGl2aWR1YWwgd2l0aGluIHRoZSBjYXJlIHRlYW0sIHN1Y2ggYXMgUHJpbWFyeSBwaHlzaWNpYW4sIFRlYW0gY29vcmRpbmF0b3IsIENhcmVnaXZlciwgZXRjLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtZW1iZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIGlzIGludm9sdmVkIiBkZWZpbml0aW9uPSJUaGUgc3BlY2lmaWMgcGVyc29uIG9yIG9yZ2FuaXphdGlvbiB3aG8gaXMgcGFydGljaXBhdGluZy9leHBlY3RlZCB0byBwYXJ0aWNpcGF0ZSBpbiB0aGUgY2FyZSB0ZWFtLiIgY29tbWVudD0iUGF0aWVudCBvbmx5IG5lZWRzIHRvIGJlIGxpc3RlZCBpZiB0aGV5IGhhdmUgYSByb2xlIG90aGVyIHRoYW4gJnF1b3Q7c3ViamVjdCBvZiBjYXJlJnF1b3Q7LiYjeGE7JiN4YTtNZW1iZXIgaXMgb3B0aW9uYWwgYmVjYXVzZSBzb21lIHBhcnRpY2lwYW50cyBtYXkgYmUga25vd24gb25seSBieSB0aGVpciByb2xlLCBwYXJ0aWN1bGFybHkgaW4gZHJhZnQgcGxhbnMuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJvbkJlaGFsZk9mIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249Ik9yZ2FuaXphdGlvbiBvZiB0aGUgcHJhY3RpdGlvbmVyIiBkZWZpbml0aW9uPSJUaGUgb3JnYW5pemF0aW9uIG9mIHRoZSBwcmFjdGl0aW9uZXIuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaW1lIHBlcmlvZCBvZiBwYXJ0aWNpcGFudCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdoZW4gdGhlIHNwZWNpZmljIG1lbWJlciBvciBvcmdhbml6YXRpb24gZGlkIChvciBpcyBpbnRlbmRlZCB0bykgY29tZSBpbnRvIGVmZmVjdCBhbmQgZW5kLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNsYWltIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1jbGFpbSIgbGFiZWw9IlFJQ29yZSBDbGFpbSIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0idHlwZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBJZGVudGlmaWVyIGZvciBjbGFpbSIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIGNsYWltLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbVN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJhY3RpdmUgfCBjYW5jZWxsZWQgfCBkcmFmdCB8IGVudGVyZWQtaW4tZXJyb3IiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHJlc291cmNlIGluc3RhbmNlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNsYWltU3RhdHVzIiBkZXNjcmlwdGlvbj0iQSBjb2RlIHNwZWNpZnlpbmcgdGhlIHN0YXRlIG9mIHRoZSByZXNvdXJjZSBpbnN0YW5jZS4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNhdGVnb3J5IG9yIGRpc2NpcGxpbmUiIGRlZmluaXRpb249IlRoZSBjYXRlZ29yeSBvZiBjbGFpbSwgZS5nLiBvcmFsLCBwaGFybWFjeSwgdmlzaW9uLCBpbnN0aXR1dGlvbmFsLCBwcm9mZXNzaW9uYWwuIiBjb21tZW50PSJUaGUgbWFqb3JpdHkgb2YganVyaXNkaWN0aW9ucyB1c2U6IG9yYWwsIHBoYXJtYWN5LCB2aXNpb24sIHByb2Zlc3Npb25hbCBhbmQgaW5zdGl0dXRpb25hbCwgb3IgdmFyaWFudHMgb24gdGhvc2UgdGVybXMsIGFzIHRoZSBnZW5lcmFsIHN0eWxlcyBvZiBjbGFpbXMuIFRoZSB2YWx1ZXNldCBpcyBleHRlbnNpYmxlIHRvIGFjY29tbW9kYXRlIG90aGVyIGp1cmlzZGljdGlvbmFsIHJlcXVpcmVtZW50cy4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJDbGFpbVR5cGUiIGRlc2NyaXB0aW9uPSJUaGUgdHlwZSBvciBkaXNjaXBsaW5lLXN0eWxlIG9mIHRoZSBjbGFpbS4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViVHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iTW9yZSBncmFudWxhciBjbGFpbSB0eXBlIiBkZWZpbml0aW9uPSJBIGZpbmVyIGdyYWluZWQgc3VpdGUgb2YgY2xhaW0gdHlwZSBjb2RlcyB3aGljaCBtYXkgY29udmV5IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gc3VjaCBhcyBJbnBhdGllbnQgdnMgT3V0cGF0aWVudCBhbmQvb3IgYSBzcGVjaWFsdHkgc2VydmljZS4iIGNvbW1lbnQ9IlRoaXMgbWF5IGNvbnRhaW4gdGhlIGxvY2FsIGJpbGwgdHlwZSBjb2RlcywgZm9yIGV4YW1wbGUgdGhlIFVTIFVCLTA0IGJpbGwgdHlwZSBjb2RlIG9yIHRoZSBDTVMgYmlsbCB0eXBlLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNsYWltU3ViVHlwZSIgZGVzY3JpcHRpb249IkEgbW9yZSBncmFudWxhciBjbGFpbSB0eXBlY29kZS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idXNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlVzZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJjbGFpbSB8IHByZWF1dGhvcml6YXRpb24gfCBwcmVkZXRlcm1pbmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdG8gaW5kaWNhdGUgd2hldGhlciB0aGUgbmF0dXJlIG9mIHRoZSByZXF1ZXN0IGlzOiB0byByZXF1ZXN0IGFkanVkaWNhdGlvbiBvZiBwcm9kdWN0cyBhbmQgc2VydmljZXMgcHJldmlvdXNseSByZW5kZXJlZDsgb3IgcmVxdWVzdGluZyBhdXRob3JpemF0aW9uIGFuZCBhZGp1ZGljYXRpb24gZm9yIHByb3Zpc2lvbiBpbiB0aGUgZnV0dXJlOyBvciByZXF1ZXN0aW5nIHRoZSBub24tYmluZGluZyBhZGp1ZGljYXRpb24gb2YgdGhlIGxpc3RlZCBwcm9kdWN0cyBhbmQgc2VydmljZXMgd2hpY2ggY291bGQgYmUgcHJvdmlkZWQgaW4gdGhlIGZ1dHVyZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJVc2UiIGRlc2NyaXB0aW9uPSJUaGUgcHVycG9zZSBvZiB0aGUgQ2xhaW06IHByZWRldGVybWluYXRpb24sIHByZWF1dGhvcml6YXRpb24sIGNsYWltLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGF0aWVudCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJUaGUgcmVjaXBpZW50IG9mIHRoZSBwcm9kdWN0cyBhbmQgc2VydmljZXMiIGRlZmluaXRpb249IlRoZSBwYXJ0eSB0byB3aG9tIHRoZSBwcm9mZXNzaW9uYWwgc2VydmljZXMgYW5kL29yIHByb2R1Y3RzIGhhdmUgYmVlbiBzdXBwbGllZCBvciBhcmUgYmVpbmcgY29uc2lkZXJlZCBhbmQgZm9yIHdob20gYWN0dWFsIG9yIGZvcmVjYXN0IHJlaW1idXJzZW1lbnQgaXMgc291Z2h0LiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iYmlsbGFibGVQZXJpb2QiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmVsZXZhbnQgdGltZSBmcmFtZSBmb3IgdGhlIGNsYWltIiBkZWZpbml0aW9uPSJUaGUgcGVyaW9kIGZvciB3aGljaCBjaGFyZ2VzIGFyZSBiZWluZyBzdWJtaXR0ZWQuIiBjb21tZW50PSJUeXBpY2FsbHkgdGhpcyB3b3VsZCBiZSB0b2RheSBvciBpbiB0aGUgcGFzdCBmb3IgYSBjbGFpbSwgYW5kIHRvZGF5IG9yIGluIHRoZSBmdXR1cmUgZm9yIHByZWF1dGhvcml6YXRpb25zIGFuZCBwcmVkZXRlcm1pbmF0aW9ucy4gVHlwaWNhbGx5IGxpbmUgaXRlbSBkYXRlcyBvZiBzZXJ2aWNlIHNob3VsZCBmYWxsIHdpdGhpbiB0aGUgYmlsbGluZyBwZXJpb2QgaWYgb25lIGlzIHNwZWNpZmllZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNyZWF0ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUmVzb3VyY2UgY3JlYXRpb24gZGF0ZSIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgdGhpcyByZXNvdXJjZSB3YXMgY3JlYXRlZC4iIGNvbW1lbnQ9IlRoaXMgZmllbGQgaXMgaW5kZXBlbmRlbnQgb2YgdGhlIGRhdGUgb2YgY3JlYXRpb24gb2YgdGhlIHJlc291cmNlIGFzIGl0IG1heSByZWZsZWN0IHRoZSBjcmVhdGlvbiBkYXRlIG9mIGEgc291cmNlIGRvY3VtZW50IHByaW9yIHRvIGRpZ2l0aXphdGlvbi4gVHlwaWNhbGx5IGZvciBjbGFpbXMgYWxsIHNlcnZpY2VzIG11c3QgYmUgY29tcGxldGVkIGFzIG9mIHRoaXMgZGF0ZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVudGVyZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iQXV0aG9yIG9mIHRoZSBjbGFpbSIgZGVmaW5pdGlvbj0iSW5kaXZpZHVhbCB3aG8gY3JlYXRlZCB0aGUgY2xhaW0sIHByZWRldGVybWluYXRpb24gb3IgcHJlYXV0aG9yaXphdGlvbi4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdXJlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJUYXJnZXQiIGRlZmluaXRpb249IlRoZSBJbnN1cmVyIHdobyBpcyB0YXJnZXQgb2YgdGhlIHJlcXVlc3QuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InByb3ZpZGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlBhcnR5IHJlc3BvbnNpYmxlIGZvciB0aGUgY2xhaW0iIGRlZmluaXRpb249IlRoZSBwcm92aWRlciB3aGljaCBpcyByZXNwb25zaWJsZSBmb3IgdGhlIGNsYWltLCBwcmVkZXRlcm1pbmF0aW9uIG9yIHByZWF1dGhvcml6YXRpb24uIiBjb21tZW50PSJUeXBpY2FsbHkgdGhpcyBmaWVsZCB3b3VsZCBiZSAxLi4xIHdoZXJlIHRoaXMgcGFydHkgaXMgcmVzcG9uc2libGUgZm9yIHRoZSBjbGFpbSBidXQgbm90IG5lY2Vzc2FyaWx5IHByb2Zlc3Npb25hbGx5IHJlc3BvbnNpYmxlIGZvciB0aGUgcHJvdmlzaW9uIG9mIHRoZSBpbmRpdmlkdWFsIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyBsaXN0ZWQgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwcmlvcml0eSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRGVzaXJlZCBwcm9jZXNzaW5nIHVnZW5jeSIgZGVmaW5pdGlvbj0iVGhlIHByb3ZpZGVyLXJlcXVpcmVkIHVyZ2VuY3kgb2YgcHJvY2Vzc2luZyB0aGUgcmVxdWVzdC4gVHlwaWNhbCB2YWx1ZXMgaW5jbHVkZTogc3RhdCwgcm91dGluZSBkZWZlcnJlZC4iIGNvbW1lbnQ9IklmIGEgY2xhaW0gcHJvY2Vzc29yIGlzIHVuYWJsZSB0byBjb21wbGV0ZSB0aGUgcHJvY2Vzc2luZyBhcyBwZXIgdGhlIHByaW9yaXR5IHRoZW4gdGhleSBzaG91bGQgZ2VuZXJhdGUgYW5kIGVycm9yIGFuZCBub3QgcHJvY2VzcyB0aGUgcmVxdWVzdC4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJQcm9jZXNzUHJpb3JpdHkiIGRlc2NyaXB0aW9uPSJUaGUgdGltZWxpbmVzcyB3aXRoIHdoaWNoIHByb2Nlc3NpbmcgaXMgcmVxdWlyZWQ6IHN0YXQsIG5vcm1hbCwgZGVmZXJyZWQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImZ1bmRzUmVzZXJ2ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRm9yIHdob20gdG8gcmVzZXJ2ZSBmdW5kcyIgZGVmaW5pdGlvbj0iQSBjb2RlIHRvIGluZGljYXRlIHdoZXRoZXIgYW5kIGZvciB3aG9tIGZ1bmRzIGFyZSB0byBiZSByZXNlcnZlZCBmb3IgZnV0dXJlIGNsYWltcy4iIGNvbW1lbnQ9IlRoaXMgZmllbGQgaXMgb25seSB1c2VkIGZvciBwcmVhdXRob3JpemF0aW9ucy4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJGdW5kc1Jlc2VydmUiIGRlc2NyaXB0aW9uPSJGb3Igd2hvbSBmdW5kcyBhcmUgdG8gYmUgcmVzZXJ2ZWQ6IChQYXRpZW50LCBQcm92aWRlciwgTm9uZSkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlbGF0ZWQiIGRlc2NyaXB0aW9uPSJQcmlvciBvciBjb3JvbGxhcnkgY2xhaW1zIiBkZWZpbml0aW9uPSJPdGhlciBjbGFpbXMgd2hpY2ggYXJlIHJlbGF0ZWQgdG8gdGhpcyBjbGFpbSBzdWNoIGFzIHByaW9yIHN1Ym1pc3Npb25zIG9yIGNsYWltcyBmb3IgcmVsYXRlZCBzZXJ2aWNlcyBvciBmb3IgdGhlIHNhbWUgZXZlbnQuIiBjb21tZW50PSJGb3IgZXhhbXBsZSwgIGZvciB0aGUgb3JpZ2luYWwgdHJlYXRtZW50IGFuZCBmb2xsb3ctdXAgZXhhbXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ2xhaW0uUmVsYXRlZCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icHJlc2NyaXB0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlByZXNjcmlwdGlvbiBhdXRob3JpemluZyBzZXJ2aWNlcyBhbmQgcHJvZHVjdHMiIGRlZmluaXRpb249IlByZXNjcmlwdGlvbiB0byBzdXBwb3J0IHRoZSBkaXNwZW5zaW5nIG9mIHBoYXJtYWN5LCBkZXZpY2Ugb3IgdmlzaW9uIHByb2R1Y3RzLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ib3JpZ2luYWxQcmVzY3JpcHRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iT3JpZ2luYWwgcHJlc2NyaXB0aW9uIGlmIHN1cGVyc2VkZWQgYnkgZnVsZmlsbGVyIiBkZWZpbml0aW9uPSJPcmlnaW5hbCBwcmVzY3JpcHRpb24gd2hpY2ggaGFzIGJlZW4gc3VwZXJzZWRlZCBieSB0aGlzIHByZXNjcmlwdGlvbiB0byBzdXBwb3J0IHRoZSBkaXNwZW5zaW5nIG9mIHBoYXJtYWN5IHNlcnZpY2VzLCBtZWRpY2F0aW9ucyBvciBwcm9kdWN0cy4iIGNvbW1lbnQ9IkZvciBleGFtcGxlLCBhIHBoeXNpY2lhbiBtYXkgcHJlc2NyaWJlIGEgbWVkaWNhdGlvbiB3aGljaCB0aGUgcGhhcm1hY3kgZGV0ZXJtaW5lcyBpcyBjb250cmFpbmRpY2F0ZWQsIG9yIGZvciB3aGljaCB0aGUgcGF0aWVudCBoYXMgYW4gaW50b2xlcmFuY2UsIGFuZCB0aGVyZWZvcmUgaXNzdWVzIGEgbmV3IHByZXNjcmlwdGlvbiBmb3IgYW4gYWx0ZXJuYXRlIG1lZGljYXRpb24gd2hpY2ggaGFzIHRoZSBzYW1lIHRoZXJhcGV1dGljIGludGVudC4gVGhlIHByZXNjcmlwdGlvbiBmcm9tIHRoZSBwaGFybWFjeSBiZWNvbWVzIHRoZSAncHJlc2NyaXB0aW9uJyBhbmQgdGhhdCBmcm9tIHRoZSBwaHlzaWNpYW4gYmVjb21lcyB0aGUgJ29yaWdpbmFsIHByZXNjcmlwdGlvbicuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBheWVlIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNsYWltLlBheWVlIiBkZXNjcmlwdGlvbj0iUmVjaXBpZW50IG9mIGJlbmVmaXRzIHBheWFibGUiIGRlZmluaXRpb249IlRoZSBwYXJ0eSB0byBiZSByZWltYnVyc2VkIGZvciBjb3N0IG9mIHRoZSBwcm9kdWN0cyBhbmQgc2VydmljZXMgYWNjb3JkaW5nIHRvIHRoZSB0ZXJtcyBvZiB0aGUgcG9saWN5LiIgY29tbWVudD0iT2Z0ZW4gcHJvdmlkZXJzIGFncmVlIHRvIHJlY2VpdmUgdGhlIGJlbmVmaXRzIHBheWFibGUgdG8gcmVkdWNlIHRoZSBuZWFyLXRlcm0gY29zdHMgdG8gdGhlIHBhdGllbnQuIFRoZSBpbnN1cmVyIG1heSBkZWNsaW5lIHRvIHBheSB0aGUgcHJvdmlkZXIgYW5kIGNob29zZSB0byBwYXkgdGhlIHN1YnNjcmliZXIgaW5zdGVhZC4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcnJhbCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJUcmVhdG1lbnQgcmVmZXJyYWwiIGRlZmluaXRpb249IkEgcmVmZXJlbmNlIHRvIGEgcmVmZXJyYWwgcmVzb3VyY2UuIiBjb21tZW50PSJUaGUgcmVmZXJyYWwgcmVzb3VyY2Ugd2hpY2ggbGlzdHMgdGhlIGRhdGUsIHByYWN0aXRpb25lciwgcmVhc29uIGFuZCBvdGhlciBzdXBwb3J0aW5nIGluZm9ybWF0aW9uLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImZhY2lsaXR5IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlNlcnZpY2luZyBmYWNpbGl0eSIgZGVmaW5pdGlvbj0iRmFjaWxpdHkgd2hlcmUgdGhlIHNlcnZpY2VzIHdlcmUgcHJvdmlkZWQuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2FyZVRlYW0iIGRlc2NyaXB0aW9uPSJNZW1iZXJzIG9mIHRoZSBjYXJlIHRlYW0iIGRlZmluaXRpb249IlRoZSBtZW1iZXJzIG9mIHRoZSB0ZWFtIHdobyBwcm92aWRlZCB0aGUgcHJvZHVjdHMgYW5kIHNlcnZpY2VzLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ2xhaW0uQ2FyZVRlYW0iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1cHBvcnRpbmdJbmZvIiBkZXNjcmlwdGlvbj0iU3VwcG9ydGluZyBpbmZvcm1hdGlvbiIgZGVmaW5pdGlvbj0iQWRkaXRpb25hbCBpbmZvcm1hdGlvbiBjb2RlcyByZWdhcmRpbmcgZXhjZXB0aW9ucywgc3BlY2lhbCBjb25zaWRlcmF0aW9ucywgdGhlIGNvbmRpdGlvbiwgc2l0dWF0aW9uLCBwcmlvciBvciBjb25jdXJyZW50IGlzc3Vlcy4iIGNvbW1lbnQ9Ik9mdGVuIHRoZXJlIGFyZSBtdWx0aXBsZSBqdXJpc2RpY3Rpb24gc3BlY2lmaWMgdmFsdWVzZXRzIHdoaWNoIGFyZSByZXF1aXJlZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbS5TdXBwb3J0aW5nSW5mbyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGlhZ25vc2lzIiBkZXNjcmlwdGlvbj0iUGVydGluZW50IGRpYWdub3NpcyBpbmZvcm1hdGlvbiIgZGVmaW5pdGlvbj0iSW5mb3JtYXRpb24gYWJvdXQgZGlhZ25vc2VzIHJlbGV2YW50IHRvIHRoZSBjbGFpbSBpdGVtcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbS5EaWFnbm9zaXMiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InByb2NlZHVyZSIgZGVzY3JpcHRpb249IkNsaW5pY2FsIHByb2NlZHVyZXMgcGVyZm9ybWVkIiBkZWZpbml0aW9uPSJQcm9jZWR1cmVzIHBlcmZvcm1lZCBvbiB0aGUgcGF0aWVudCByZWxldmFudCB0byB0aGUgYmlsbGluZyBpdGVtcyB3aXRoIHRoZSBjbGFpbS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbS5Qcm9jZWR1cmUiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imluc3VyYW5jZSIgZGVzY3JpcHRpb249IlBhdGllbnQgaW5zdXJhbmNlIGluZm9ybWF0aW9uIiBkZWZpbml0aW9uPSJGaW5hbmNpYWwgaW5zdHJ1bWVudHMgZm9yIHJlaW1idXJzZW1lbnQgZm9yIHRoZSBoZWFsdGggY2FyZSBwcm9kdWN0cyBhbmQgc2VydmljZXMgc3BlY2lmaWVkIG9uIHRoZSBjbGFpbS4iIGNvbW1lbnQ9IkFsbCBpbnN1cmFuY2UgY292ZXJhZ2VzIGZvciB0aGUgcGF0aWVudCB3aGljaCBtYXkgYmUgYXBwbGljYWJsZSBmb3IgcmVpbWJ1cnNlbWVudCwgb2YgdGhlIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyBsaXN0ZWQgaW4gdGhlIGNsYWltLCBhcmUgdHlwaWNhbGx5IHByb3ZpZGVkIGluIHRoZSBjbGFpbSB0byBhbGxvdyBpbnN1cmVycyB0byBjb25maXJtIHRoZSBvcmRlcmluZyBvZiB0aGUgaW5zdXJhbmNlIGNvdmVyYWdlcyByZWxhdGl2ZSB0byBsb2NhbCAnY29vcmRpbmF0aW9uIG9mIGJlbmVmaXQnIHJ1bGVzLiBPbmUgY292ZXJhZ2UgKGFuZCBvbmx5IG9uZSkgd2l0aCAnZm9jYWw9dHJ1ZScgaXMgdG8gYmUgdXNlZCBpbiB0aGUgYWRqdWRpY2F0aW9uIG9mIHRoaXMgY2xhaW0uIENvdmVyYWdlcyBhcHBlYXJpbmcgYmVmb3JlIHRoZSBmb2NhbCBDb3ZlcmFnZSBpbiB0aGUgbGlzdCwgYW5kIHdoZXJlICdDb3ZlcmFnZS5zdWJyb2dhdGlvbj1mYWxzZScsIHNob3VsZCBwcm92aWRlIGEgcmVmZXJlbmNlIHRvIHRoZSBDbGFpbVJlc3BvbnNlIGNvbnRhaW5pbmcgdGhlIGFkanVkaWNhdGlvbiByZXN1bHRzIG9mIHRoZSBwcmlvciBjbGFpbS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbS5JbnN1cmFuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFjY2lkZW50IiBlbGVtZW50VHlwZT0iUUlDb3JlLkNsYWltLkFjY2lkZW50IiBkZXNjcmlwdGlvbj0iRGV0YWlscyBvZiB0aGUgZXZlbnQiIGRlZmluaXRpb249IkRldGFpbHMgb2YgYW4gYWNjaWRlbnQgd2hpY2ggcmVzdWx0ZWQgaW4gaW5qdXJpZXMgd2hpY2ggcmVxdWlyZWQgdGhlIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyBsaXN0ZWQgaW4gdGhlIGNsYWltLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJpdGVtIiBkZXNjcmlwdGlvbj0iUHJvZHVjdCBvciBzZXJ2aWNlIHByb3ZpZGVkIiBkZWZpbml0aW9uPSJBIGNsYWltIGxpbmUuIEVpdGhlciBhIHNpbXBsZSAgcHJvZHVjdCBvciBzZXJ2aWNlIG9yIGEgJ2dyb3VwJyBvZiBkZXRhaWxzIHdoaWNoIGNhbiBlYWNoIGJlIGEgc2ltcGxlIGl0ZW1zIG9yIGdyb3VwcyBvZiBzdWItZGV0YWlscy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbS5JdGVtIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ0b3RhbCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRvdGFsIGNsYWltIGNvc3QiIGRlZmluaXRpb249IlRoZSB0b3RhbCB2YWx1ZSBvZiB0aGUgYWxsIHRoZSBpdGVtcyBpbiB0aGUgY2xhaW0uIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9ImVudGVyZXIiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0icHJvdmlkZXIiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0icGFydHkiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0icHJvdmlkZXIiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBhdGllbnQiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBhcnR5Ii8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IkVuY291bnRlciIgcmVsYXRlZEtleUVsZW1lbnQ9ImVuY291bnRlciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJEZXZpY2UiIHJlbGF0ZWRLZXlFbGVtZW50PSJ1ZGkiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iRGV2aWNlIiByZWxhdGVkS2V5RWxlbWVudD0idWRpIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IkRldmljZSIgcmVsYXRlZEtleUVsZW1lbnQ9InVkaSIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJEZXZpY2UiIHJlbGF0ZWRLZXlFbGVtZW50PSJ1ZGkiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUmVsYXRlZFBlcnNvbiIgcmVsYXRlZEtleUVsZW1lbnQ9InBhcnR5Ii8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNsYWltLkFjY2lkZW50IiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJkYXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hlbiB0aGUgaW5jaWRlbnQgb2NjdXJyZWQiIGRlZmluaXRpb249IkRhdGUgb2YgYW4gYWNjaWRlbnQgZXZlbnQgIHJlbGF0ZWQgdG8gdGhlIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyBjb250YWluZWQgaW4gdGhlIGNsYWltLiIgY29tbWVudD0iVGhlIGRhdGUgb2YgdGhlIGFjY2lkZW50IGhhcyB0byBwcmVjZWRlIHRoZSBkYXRlcyBvZiB0aGUgcHJvZHVjdHMgYW5kIHNlcnZpY2VzIGJ1dCB3aXRoaW4gYSByZWFzb25hYmxlIHRpbWVmcmFtZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGhlIG5hdHVyZSBvZiB0aGUgYWNjaWRlbnQiIGRlZmluaXRpb249IlRoZSB0eXBlIG9yIGNvbnRleHQgb2YgdGhlIGFjY2lkZW50IGV2ZW50IGZvciB0aGUgcHVycG9zZXMgb2Ygc2VsZWN0aW9uIG9mIHBvdGVudGlhbCBpbnN1cmFuY2UgY292ZXJhZ2VzIGFuZCBkZXRlcm1pbmF0aW9uIG9mIGNvb3JkaW5hdGlvbiBiZXR3ZWVuIGluc3VyZXJzLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkFjY2lkZW50VHlwZSIgZGVzY3JpcHRpb249IlR5cGUgb2YgYWNjaWRlbnQ6IHdvcmsgcGxhY2UsIGF1dG8sIGV0Yy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibG9jYXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2hlcmUgdGhlIGV2ZW50IG9jY3VycmVkIiBkZWZpbml0aW9uPSJUaGUgcGh5c2ljYWwgbG9jYXRpb24gb2YgdGhlIGFjY2lkZW50IGV2ZW50LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkFkZHJlc3MiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ2xhaW0uQ2FyZVRlYW0iIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InNlcXVlbmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iT3JkZXIgb2YgY2FyZSB0ZWFtIiBkZWZpbml0aW9uPSJBIG51bWJlciB0byB1bmlxdWVseSBpZGVudGlmeSBjYXJlIHRlYW0gZW50cmllcy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icHJvdmlkZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iUHJhY3RpdGlvbmVyIG9yIG9yZ2FuaXphdGlvbiIgZGVmaW5pdGlvbj0iTWVtYmVyIG9mIHRoZSB0ZWFtIHdobyBwcm92aWRlZCB0aGUgcHJvZHVjdCBvciBzZXJ2aWNlLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlc3BvbnNpYmxlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5kaWNhdG9yIG9mIHRoZSBsZWFkIHByYWN0aXRpb25lciIgZGVmaW5pdGlvbj0iVGhlIHBhcnR5IHdobyBpcyBiaWxsaW5nIGFuZC9vciByZXNwb25zaWJsZSBmb3IgdGhlIGNsYWltZWQgcHJvZHVjdHMgb3Igc2VydmljZXMuIiBjb21tZW50PSJSZXNwb25zaWJsZSBtaWdodCBub3QgYmUgcmVxdWlyZWQgd2hlbiB0aGVyZSBpcyBvbmx5IGEgc2luZ2xlIHByb3ZpZGVyIGxpc3RlZC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icm9sZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRnVuY3Rpb24gd2l0aGluIHRoZSB0ZWFtIiBkZWZpbml0aW9uPSJUaGUgbGVhZCwgYXNzaXN0aW5nIG9yIHN1cGVydmlzaW5nIHByYWN0aXRpb25lciBhbmQgdGhlaXIgZGlzY2lwbGluZSBpZiBhIG11bHRpZGlzY2lwbGluYXJ5IHRlYW0uIiBjb21tZW50PSJSb2xlIG1pZ2h0IG5vdCBiZSByZXF1aXJlZCB3aGVuIHRoZXJlIGlzIG9ubHkgYSBzaW5nbGUgcHJvdmlkZXIgbGlzdGVkLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNhcmVUZWFtUm9sZSIgZGVzY3JpcHRpb249IlRoZSByb2xlIGNvZGVzIGZvciB0aGUgY2FyZSB0ZWFtIG1lbWJlcnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InF1YWxpZmljYXRpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlByYWN0aXRpb25lciBjcmVkZW50aWFsIG9yIHNwZWNpYWxpemF0aW9uIiBkZWZpbml0aW9uPSJUaGUgcXVhbGlmaWNhdGlvbiBvZiB0aGUgcHJhY3RpdGlvbmVyIHdoaWNoIGlzIGFwcGxpY2FibGUgZm9yIHRoaXMgc2VydmljZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJQcm92aWRlclF1YWxpZmljYXRpb24iIGRlc2NyaXB0aW9uPSJQcm92aWRlciBwcm9mZXNzaW9uYWwgcXVhbGlmaWNhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNsYWltLkRpYWdub3NpcyIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2VxdWVuY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEaWFnbm9zaXMgaW5zdGFuY2UgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iQSBudW1iZXIgdG8gdW5pcXVlbHkgaWRlbnRpZnkgZGlhZ25vc2lzIGVudHJpZXMuIiBjb21tZW50PSJEaWFnbm9zaXMgYXJlIHByZXNlbnRlZCBpbiBsaXN0IG9yZGVyIHRvIHRoZWlyIGV4cGVjdGVkIGltcG9ydGFuY2U6IHByaW1hcnksIHNlY29uZGFyeSwgZXRjLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkaWFnbm9zaXMiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iTmF0dXJlIG9mIGlsbG5lc3Mgb3IgcHJvYmxlbSIgZGVmaW5pdGlvbj0iVGhlIG5hdHVyZSBvZiBpbGxuZXNzIG9yIHByb2JsZW0gaW4gYSBjb2RlZCBmb3JtIG9yIGFzIGEgcmVmZXJlbmNlIHRvIGFuIGV4dGVybmFsIGRlZmluZWQgQ29uZGl0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IklDRDEwIiBkZXNjcmlwdGlvbj0iRXhhbXBsZSBJQ0QxMCBEaWFnbm9zdGljIGNvZGVzLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGltaW5nIG9yIG5hdHVyZSBvZiB0aGUgZGlhZ25vc2lzIiBkZWZpbml0aW9uPSJXaGVuIHRoZSBjb25kaXRpb24gd2FzIG9ic2VydmVkIG9yIHRoZSByZWxhdGl2ZSByYW5raW5nLiIgY29tbWVudD0iRm9yIGV4YW1wbGU6IGFkbWl0dGluZywgcHJpbWFyeSwgc2Vjb25kYXJ5LCBkaXNjaGFyZ2UuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkRpYWdub3Npc1R5cGUiIGRlc2NyaXB0aW9uPSJUaGUgdHlwZSBvZiB0aGUgZGlhZ25vc2lzOiBhZG1pdHRpbmcsIHByaW5jaXBhbCwgZGlzY2hhcmdlLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJvbkFkbWlzc2lvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUHJlc2VudCBvbiBhZG1pc3Npb24iIGRlZmluaXRpb249IkluZGljYXRpb24gb2Ygd2hldGhlciB0aGUgZGlhZ25vc2lzIHdhcyBwcmVzZW50IG9uIGFkbWlzc2lvbiB0byBhIGZhY2lsaXR5LiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkRpYWdub3Npc09uQWRtaXNzaW9uIiBkZXNjcmlwdGlvbj0iUHJlc2VudCBvbiBhZG1pc3Npb24uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhY2thZ2VDb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJQYWNrYWdlIGJpbGxpbmcgY29kZSIgZGVmaW5pdGlvbj0iQSBwYWNrYWdlIGJpbGxpbmcgY29kZSBvciBidW5kbGUgY29kZSB1c2VkIHRvIGdyb3VwIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyB0byBhIHBhcnRpY3VsYXIgaGVhbHRoIGNvbmRpdGlvbiAoc3VjaCBhcyBoZWFydCBhdHRhY2spIHdoaWNoIGlzIGJhc2VkIG9uIGEgcHJlZGV0ZXJtaW5lZCBncm91cGluZyBjb2RlIHN5c3RlbS4iIGNvbW1lbnQ9IkZvciBleGFtcGxlIERSRyAoRGlhZ25vc2lzIFJlbGF0ZWQgR3JvdXApIG9yIGEgYnVuZGxlZCBiaWxsaW5nIGNvZGUuIEEgcGF0aWVudCBtYXkgaGF2ZSBhIGRpYWdub3NpcyBvZiBhIE15b2NhcmRpYWwgSW5mYXJjdGlvbiBhbmQgYSBEUkcgZm9yIEhlYXJ0QXR0YWNrIHdvdWxkIGJlIGFzc2lnbmVkLiBUaGUgQ2xhaW0gaXRlbSAoYW5kIHBvc3NpYmxlIHN1YnNlcXVlbnQgY2xhaW1zKSB3b3VsZCByZWZlciB0byB0aGUgRFJHIGZvciB0aG9zZSBsaW5lIGl0ZW1zIHRoYXQgd2VyZSBmb3Igc2VydmljZXMgcmVsYXRlZCB0byB0aGUgaGVhcnQgYXR0YWNrIGV2ZW50LiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkRpYWdub3Npc1JlbGF0ZWRHcm91cCIgZGVzY3JpcHRpb249IlRoZSBEUkcgY29kZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBkaWFnbm9zaXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNsYWltLkluc3VyYW5jZSIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2VxdWVuY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN1cmFuY2UgaW5zdGFuY2UgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iQSBudW1iZXIgdG8gdW5pcXVlbHkgaWRlbnRpZnkgaW5zdXJhbmNlIGVudHJpZXMgYW5kIHByb3ZpZGUgYSBzZXF1ZW5jZSBvZiBjb3ZlcmFnZXMgdG8gY29udmV5IGNvb3JkaW5hdGlvbiBvZiBiZW5lZml0IG9yZGVyLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJmb2NhbCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Cb29sZWFuIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkNvdmVyYWdlIHRvIGJlIHVzZWQgZm9yIGFkanVkaWNhdGlvbiIgZGVmaW5pdGlvbj0iQSBmbGFnIHRvIGluZGljYXRlIHRoYXQgdGhpcyBDb3ZlcmFnZSBpcyB0byBiZSB1c2VkIGZvciBhZGp1ZGljYXRpb24gb2YgdGhpcyBjbGFpbSB3aGVuIHNldCB0byB0cnVlLiIgY29tbWVudD0iQSBwYXRpZW50IG1heSAod2lsbCkgaGF2ZSBtdWx0aXBsZSBpbnN1cmFuY2UgcG9saWNpZXMgd2hpY2ggcHJvdmlkZSByZWltYnVyc2VtZW50IGZvciBoZWFsdGhjYXJlIHNlcnZpY2VzIGFuZCBwcm9kdWN0cy4gRm9yIGV4YW1wbGUgYSBwZXJzb24gbWF5IGFsc28gYmUgY292ZXJlZCBieSB0aGVpciBzcG91c2UncyBwb2xpY3kgYW5kIGJvdGggYXBwZWFyIGluIHRoZSBsaXN0IChhbmQgbWF5IGJlIGZyb20gdGhlIHNhbWUgaW5zdXJlcikuIFRoaXMgZmxhZyB3aWxsIGJlIHNldCB0byB0cnVlIGZvciBvbmx5IG9uZSBvZiB0aGUgbGlzdGVkIHBvbGljaWVzIGFuZCB0aGF0IHBvbGljeSB3aWxsIGJlIHVzZWQgZm9yIGFkanVkaWNhdGluZyB0aGlzIGNsYWltLiBPdGhlciBjbGFpbXMgd291bGQgYmUgY3JlYXRlZCB0byByZXF1ZXN0IGFkanVkaWNhdGlvbiBhZ2FpbnN0IHRoZSBvdGhlciBsaXN0ZWQgcG9saWNpZXMuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgZGVzY3JpcHRpb249IlByZS1hc3NpZ25lZCBDbGFpbSBudW1iZXIiIGRlZmluaXRpb249IlRoZSBidXNpbmVzcyBpZGVudGlmaWVyIHRvIGJlIHVzZWQgd2hlbiB0aGUgY2xhaW0gaXMgc2VudCBmb3IgYWRqdWRpY2F0aW9uIGFnYWluc3QgdGhpcyBpbnN1cmFuY2UgcG9saWN5LiIgY29tbWVudD0iT25seSByZXF1aXJlZCBpbiBqdXJpc2RpY3Rpb25zIHdoZXJlIGluc3VyZXJzLCByYXRoZXIgdGhhbiB0aGUgcHJvdmlkZXIsIGFyZSByZXF1aXJlZCB0byBzZW5kIGNsYWltcyB0byAgaW5zdXJlcnMgdGhhdCBhcHBlYXIgYWZ0ZXIgdGhlbSBpbiB0aGUgbGlzdC4gVGhpcyBlbGVtZW50IGlzIG5vdCByZXF1aXJlZCB3aGVuICdzdWJyb2dhdGlvbj10cnVlJy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iY292ZXJhZ2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSW5zdXJhbmNlIGluZm9ybWF0aW9uIiBkZWZpbml0aW9uPSJSZWZlcmVuY2UgdG8gdGhlIGluc3VyYW5jZSBjYXJkIGxldmVsIGluZm9ybWF0aW9uIGNvbnRhaW5lZCBpbiB0aGUgQ292ZXJhZ2UgcmVzb3VyY2UuIFRoZSBjb3ZlcmFnZSBpc3N1aW5nIGluc3VyZXIgd2lsbCB1c2UgdGhlc2UgZGV0YWlscyB0byBsb2NhdGUgdGhlIHBhdGllbnQncyBhY3R1YWwgY292ZXJhZ2Ugd2l0aGluIHRoZSBpbnN1cmVyJ3MgaW5mb3JtYXRpb24gc3lzdGVtLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJidXNpbmVzc0FycmFuZ2VtZW50IiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBZGRpdGlvbmFsIHByb3ZpZGVyIGNvbnRyYWN0IG51bWJlciIgZGVmaW5pdGlvbj0iQSBidXNpbmVzcyBhZ3JlZW1lbnQgbnVtYmVyIGVzdGFibGlzaGVkIGJldHdlZW4gdGhlIHByb3ZpZGVyIGFuZCB0aGUgaW5zdXJlciBmb3Igc3BlY2lhbCBidXNpbmVzcyBwcm9jZXNzaW5nIHB1cnBvc2VzLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwcmVBdXRoUmVmIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlByaW9yIGF1dGhvcml6YXRpb24gcmVmZXJlbmNlIG51bWJlciIgZGVmaW5pdGlvbj0iUmVmZXJlbmNlIG51bWJlcnMgcHJldmlvdXNseSBwcm92aWRlZCBieSB0aGUgaW5zdXJlciB0byB0aGUgcHJvdmlkZXIgdG8gYmUgcXVvdGVkIG9uIHN1YnNlcXVlbnQgY2xhaW1zIGNvbnRhaW5pbmcgc2VydmljZXMgb3IgcHJvZHVjdHMgcmVsYXRlZCB0byB0aGUgcHJpb3IgYXV0aG9yaXphdGlvbi4iIGNvbW1lbnQ9IlRoaXMgdmFsdWUgaXMgYW4gYWxwaGFudW1lcmljIHN0cmluZyB0aGF0IG1heSBiZSBwcm92aWRlZCBvdmVyIHRoZSBwaG9uZSwgdmlhIHRleHQsIHZpYSBwYXBlciwgb3Igd2l0aGluIGEgQ2xhaW1SZXNwb25zZSByZXNvdXJjZSBhbmQgaXMgbm90IGEgRkhJUiBJZGVudGlmaWVyLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2xhaW1SZXNwb25zZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJBZGp1ZGljYXRpb24gcmVzdWx0cyIgZGVmaW5pdGlvbj0iVGhlIHJlc3VsdCBvZiB0aGUgYWRqdWRpY2F0aW9uIG9mIHRoZSBsaW5lIGl0ZW1zIGZvciB0aGUgQ292ZXJhZ2Ugc3BlY2lmaWVkIGluIHRoaXMgaW5zdXJhbmNlLiIgY29tbWVudD0iTXVzdCBub3QgYmUgc3BlY2lmaWVkIHdoZW4gJ2ZvY2FsPXRydWUnIGZvciB0aGlzIGluc3VyYW5jZS4iLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ2xhaW0uSXRlbSIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2VxdWVuY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJdGVtIGluc3RhbmNlIGlkZW50aWZpZXIiIGRlZmluaXRpb249IkEgbnVtYmVyIHRvIHVuaXF1ZWx5IGlkZW50aWZ5IGl0ZW0gZW50cmllcy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2FyZVRlYW1TZXF1ZW5jZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBcHBsaWNhYmxlIGNhcmVUZWFtIG1lbWJlcnMiIGRlZmluaXRpb249IkNhcmVUZWFtIG1lbWJlcnMgcmVsYXRlZCB0byB0aGlzIHNlcnZpY2Ugb3IgcHJvZHVjdC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkaWFnbm9zaXNTZXF1ZW5jZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBcHBsaWNhYmxlIGRpYWdub3NlcyIgZGVmaW5pdGlvbj0iRGlhZ25vc2lzIGFwcGxpY2FibGUgZm9yIHRoaXMgc2VydmljZSBvciBwcm9kdWN0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InByb2NlZHVyZVNlcXVlbmNlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkFwcGxpY2FibGUgcHJvY2VkdXJlcyIgZGVmaW5pdGlvbj0iUHJvY2VkdXJlcyBhcHBsaWNhYmxlIGZvciB0aGlzIHNlcnZpY2Ugb3IgcHJvZHVjdC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbmZvcm1hdGlvblNlcXVlbmNlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkFwcGxpY2FibGUgZXhjZXB0aW9uIGFuZCBzdXBwb3J0aW5nIGluZm9ybWF0aW9uIiBkZWZpbml0aW9uPSJFeGNlcHRpb25zLCBzcGVjaWFsIGNvbmRpdGlvbnMgYW5kIHN1cHBvcnRpbmcgaW5mb3JtYXRpb24gYXBwbGljYWJsZSBmb3IgdGhpcyBzZXJ2aWNlIG9yIHByb2R1Y3QuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmV2ZW51ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmV2ZW51ZSBvciBjb3N0IGNlbnRlciBjb2RlIiBkZWZpbml0aW9uPSJUaGUgdHlwZSBvZiByZXZlbnVlIG9yIGNvc3QgY2VudGVyIHByb3ZpZGluZyB0aGUgcHJvZHVjdCBhbmQvb3Igc2VydmljZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJSZXZlbnVlQ2VudGVyIiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIHRoZSByZXZlbnVlIG9yIGNvc3QgY2VudGVycyBzdXBwbHlpbmcgdGhlIHNlcnZpY2UgYW5kL29yIHByb2R1Y3RzLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQmVuZWZpdCBjbGFzc2lmaWNhdGlvbiIgZGVmaW5pdGlvbj0iQ29kZSB0byBpZGVudGlmeSB0aGUgZ2VuZXJhbCB0eXBlIG9mIGJlbmVmaXRzIHVuZGVyIHdoaWNoIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyBhcmUgcHJvdmlkZWQuIiBjb21tZW50PSJFeGFtcGxlcyBpbmNsdWRlIE1lZGljYWwgQ2FyZSwgUGVyaW9kb250aWNzLCBSZW5hbCBEaWFseXNpcywgVmlzaW9uIENvdmVyYWdlLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJlbmVmaXRDYXRlZ29yeSIgZGVzY3JpcHRpb249IkJlbmVmaXQgY2F0ZWdvcmllcyBzdWNoIGFzOiBvcmFsLWJhc2ljLCBtYWpvciwgZ2xhc3Nlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icHJvZHVjdE9yU2VydmljZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQmlsbGluZywgc2VydmljZSwgcHJvZHVjdCwgb3IgZHJ1ZyBjb2RlIiBkZWZpbml0aW9uPSJXaGVuIHRoZSB2YWx1ZSBpcyBhIGdyb3VwIGNvZGUgdGhlbiB0aGlzIGl0ZW0gY29sbGVjdHMgYSBzZXQgb2YgcmVsYXRlZCBjbGFpbSBkZXRhaWxzLCBvdGhlcndpc2UgdGhpcyBjb250YWlucyB0aGUgcHJvZHVjdCwgc2VydmljZSwgZHJ1ZyBvciBvdGhlciBiaWxsaW5nIGNvZGUgZm9yIHRoZSBpdGVtLiIgY29tbWVudD0iSWYgdGhpcyBpcyBhbiBhY3R1YWwgc2VydmljZSBvciBwcm9kdWN0IGxpbmUsIGkuZS4gbm90IGEgR3JvdXAsIHRoZW4gdXNlIGNvZGUgdG8gaW5kaWNhdGUgdGhlIFByb2Zlc3Npb25hbCBTZXJ2aWNlIG9yIFByb2R1Y3Qgc3VwcGxpZWQgKGUuZy4gQ1RQLCBIQ1BDUywgVVNDTFMsIElDRDEwLCBOQ1BEUCwgRElOLCBSeE5vcm0sIEFDSEksIENDSSkuIElmIGEgZ3JvdXBpbmcgaXRlbSB0aGVuIHVzZSBhIGdyb3VwIGNvZGUgdG8gaW5kaWNhdGUgdGhlIHR5cGUgb2YgdGhpbmcgYmVpbmcgZ3JvdXBlZCBlLmcuICdnbGFzc2VzJyBvciAnY29tcG91bmQnLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlNlcnZpY2VQcm9kdWN0IiBkZXNjcmlwdGlvbj0iQWxsb3dhYmxlIHNlcnZpY2UgYW5kIHByb2R1Y3QgY29kZXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1vZGlmaWVyIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUHJvZHVjdCBvciBzZXJ2aWNlIGJpbGxpbmcgbW9kaWZpZXJzIiBkZWZpbml0aW9uPSJJdGVtIHR5cGlmaWNhdGlvbiBvciBtb2RpZmllcnMgY29kZXMgdG8gY29udmV5IGFkZGl0aW9uYWwgY29udGV4dCBmb3IgdGhlIHByb2R1Y3Qgb3Igc2VydmljZS4iIGNvbW1lbnQ9IkZvciBleGFtcGxlIGluIE9yYWwgd2hldGhlciB0aGUgdHJlYXRtZW50IGlzIGNvc21ldGljIG9yIGFzc29jaWF0ZWQgd2l0aCBUTUosIG9yIGZvciBNZWRpY2FsIHdoZXRoZXIgdGhlIHRyZWF0bWVudCB3YXMgb3V0c2lkZSB0aGUgY2xpbmljIG9yIG91dHNpZGUgb2Ygb2ZmaWNlIGhvdXJzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJNb2RpZmllcnMiIGRlc2NyaXB0aW9uPSJJdGVtIHR5cGUgb3IgbW9kaWZpZXJzIGNvZGVzLCBlZyBmb3IgT3JhbCB3aGV0aGVyIHRoZSB0cmVhdG1lbnQgaXMgY29zbWV0aWMgb3IgYXNzb2NpYXRlZCB3aXRoIFRNSiwgb3IgYW4gYXBwbGlhbmNlIHdhcyBsb3N0IG9yIHN0b2xlbi4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icHJvZ3JhbUNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJQcm9ncmFtIHRoZSBwcm9kdWN0IG9yIHNlcnZpY2UgaXMgcHJvdmlkZWQgdW5kZXIiIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIHByb2dyYW0gdW5kZXIgd2hpY2ggdGhpcyBtYXkgYmUgcmVjb3ZlcmVkLiIgY29tbWVudD0iRm9yIGV4YW1wbGU6IE5lb25hdGFsIHByb2dyYW0sIGNoaWxkIGRlbnRhbCBwcm9ncmFtIG9yIGRydWcgdXNlcnMgcmVjb3ZlcnkgcHJvZ3JhbS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUHJvZ3JhbUNvZGUiIGRlc2NyaXB0aW9uPSJQcm9ncmFtIHNwZWNpZmljIHJlYXNvbiBjb2Rlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2VydmljZWQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRGF0ZSBvciBkYXRlcyBvZiBzZXJ2aWNlIG9yIHByb2R1Y3QgZGVsaXZlcnkiIGRlZmluaXRpb249IlRoZSBkYXRlIG9yIGRhdGVzIHdoZW4gdGhlIHNlcnZpY2Ugb3IgcHJvZHVjdCB3YXMgc3VwcGxpZWQsIHBlcmZvcm1lZCBvciBjb21wbGV0ZWQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJQbGFjZSBvZiBzZXJ2aWNlIG9yIHdoZXJlIHByb2R1Y3Qgd2FzIHN1cHBsaWVkIiBkZWZpbml0aW9uPSJXaGVyZSB0aGUgcHJvZHVjdCBvciBzZXJ2aWNlIHdhcyBwcm92aWRlZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkFkZHJlc3MiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlNlcnZpY2VQbGFjZSIgZGVzY3JpcHRpb249IlBsYWNlIG9mIHNlcnZpY2U6IHBoYXJtYWN5LCBzY2hvb2wsIHByaXNvbiwgZXRjLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJxdWFudGl0eSIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb3VudCBvZiBwcm9kdWN0cyBvciBzZXJ2aWNlcyIgZGVmaW5pdGlvbj0iVGhlIG51bWJlciBvZiByZXBldGl0aW9ucyBvZiBhIHNlcnZpY2Ugb3IgcHJvZHVjdC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0idW5pdFByaWNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRlY2ltYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRmVlLCBjaGFyZ2Ugb3IgY29zdCBwZXIgaXRlbSIgZGVmaW5pdGlvbj0iSWYgdGhlIGl0ZW0gaXMgbm90IGEgZ3JvdXAgdGhlbiB0aGlzIGlzIHRoZSBmZWUgZm9yIHRoZSBwcm9kdWN0IG9yIHNlcnZpY2UsIG90aGVyd2lzZSB0aGlzIGlzIHRoZSB0b3RhbCBvZiB0aGUgZmVlcyBmb3IgdGhlIGRldGFpbHMgb2YgdGhlIGdyb3VwLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJmYWN0b3IiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQcmljZSBzY2FsaW5nIGZhY3RvciIgZGVmaW5pdGlvbj0iQSByZWFsIG51bWJlciB0aGF0IHJlcHJlc2VudHMgYSBtdWx0aXBsaWVyIHVzZWQgaW4gZGV0ZXJtaW5pbmcgdGhlIG92ZXJhbGwgdmFsdWUgb2Ygc2VydmljZXMgZGVsaXZlcmVkIGFuZC9vciBnb29kcyByZWNlaXZlZC4gVGhlIGNvbmNlcHQgb2YgYSBGYWN0b3IgYWxsb3dzIGZvciBhIGRpc2NvdW50IG9yIHN1cmNoYXJnZSBtdWx0aXBsaWVyIHRvIGJlIGFwcGxpZWQgdG8gYSBtb25ldGFyeSBhbW91bnQuIiBjb21tZW50PSJUbyBzaG93IGEgMTAlIHNlbmlvcidzIGRpc2NvdW50LCB0aGUgdmFsdWUgZW50ZXJlZCBpczogMC45MCAoMS4wMCAtIDAuMTApLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJuZXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUb3RhbCBpdGVtIGNvc3QiIGRlZmluaXRpb249IlRoZSBxdWFudGl0eSB0aW1lcyB0aGUgdW5pdCBwcmljZSBmb3IgYW4gYWRkaXRpb25hbCBzZXJ2aWNlIG9yIHByb2R1Y3Qgb3IgY2hhcmdlLiIgY29tbWVudD0iRm9yIGV4YW1wbGUsIHRoZSBmb3JtdWxhOiBxdWFudGl0eSAqIHVuaXRQcmljZSAqIGZhY3RvciAgPSBuZXQuIFF1YW50aXR5IGFuZCBmYWN0b3IgYXJlIGFzc3VtZWQgdG8gYmUgMSBpZiBub3Qgc3VwcGxpZWQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InVkaSIgZGVzY3JpcHRpb249IlVuaXF1ZSBkZXZpY2UgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iVW5pcXVlIERldmljZSBJZGVudGlmaWVycyBhc3NvY2lhdGVkIHdpdGggdGhpcyBsaW5lIGl0ZW0uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQW5hdG9taWNhbCBsb2NhdGlvbiIgZGVmaW5pdGlvbj0iUGh5c2ljYWwgc2VydmljZSBzaXRlIG9uIHRoZSBwYXRpZW50IChsaW1iLCB0b290aCwgZXRjLikuIiBjb21tZW50PSJGb3IgZXhhbXBsZTogUHJvdmlkaW5nIGEgdG9vdGggY29kZSwgYWxsb3dzIGFuIGluc3VyZXIgdG8gaWRlbnRpZnkgYSBwcm92aWRlciBwZXJmb3JtaW5nIGEgZmlsbGluZyBvbiBhIHRvb3RoIHRoYXQgd2FzIHByZXZpb3VzbHkgcmVtb3ZlZC4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPcmFsU2l0ZXMiIGRlc2NyaXB0aW9uPSJUaGUgY29kZSBmb3IgdGhlIHRlZXRoLCBxdWFkcmFudCwgc2V4dGFudCBhbmQgYXJjaC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViU2l0ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFuYXRvbWljYWwgc3ViLWxvY2F0aW9uIiBkZWZpbml0aW9uPSJBIHJlZ2lvbiBvciBzdXJmYWNlIG9mIHRoZSBib2R5U2l0ZSwgZS5nLiBsaW1iIHJlZ2lvbiBvciB0b290aCBzdXJmYWNlKHMpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTdXJmYWNlIiBkZXNjcmlwdGlvbj0iVGhlIGNvZGUgZm9yIHRoZSB0b290aCBzdXJmYWNlIGFuZCBzdXJmYWNlIGNvbWJpbmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBkZXNjcmlwdGlvbj0iRW5jb3VudGVycyByZWxhdGVkIHRvIHRoaXMgYmlsbGVkIGl0ZW0iIGRlZmluaXRpb249IlRoZSBFbmNvdW50ZXJzIGR1cmluZyB3aGljaCB0aGlzIENsYWltIHdhcyBjcmVhdGVkIG9yIHRvIHdoaWNoIHRoZSBjcmVhdGlvbiBvZiB0aGlzIHJlY29yZCBpcyB0aWdodGx5IGFzc29jaWF0ZWQuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgYWN0aXZpdGllcyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGV0YWlsIiBkZXNjcmlwdGlvbj0iUHJvZHVjdCBvciBzZXJ2aWNlIHByb3ZpZGVkIiBkZWZpbml0aW9uPSJBIGNsYWltIGRldGFpbCBsaW5lLiBFaXRoZXIgYSBzaW1wbGUgKGEgcHJvZHVjdCBvciBzZXJ2aWNlKSBvciBhICdncm91cCcgb2Ygc3ViLWRldGFpbHMgd2hpY2ggYXJlIHNpbXBsZSBpdGVtcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbS5JdGVtLkRldGFpbCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ2xhaW0uSXRlbS5EZXRhaWwiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InNlcXVlbmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSXRlbSBpbnN0YW5jZSBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJBIG51bWJlciB0byB1bmlxdWVseSBpZGVudGlmeSBpdGVtIGVudHJpZXMuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJldmVudWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJldmVudWUgb3IgY29zdCBjZW50ZXIgY29kZSIgZGVmaW5pdGlvbj0iVGhlIHR5cGUgb2YgcmV2ZW51ZSBvciBjb3N0IGNlbnRlciBwcm92aWRpbmcgdGhlIHByb2R1Y3QgYW5kL29yIHNlcnZpY2UuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUmV2ZW51ZUNlbnRlciIgZGVzY3JpcHRpb249IkNvZGVzIGZvciB0aGUgcmV2ZW51ZSBvciBjb3N0IGNlbnRlcnMgc3VwcGx5aW5nIHRoZSBzZXJ2aWNlIGFuZC9vciBwcm9kdWN0cy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkJlbmVmaXQgY2xhc3NpZmljYXRpb24iIGRlZmluaXRpb249IkNvZGUgdG8gaWRlbnRpZnkgdGhlIGdlbmVyYWwgdHlwZSBvZiBiZW5lZml0cyB1bmRlciB3aGljaCBwcm9kdWN0cyBhbmQgc2VydmljZXMgYXJlIHByb3ZpZGVkLiIgY29tbWVudD0iRXhhbXBsZXMgaW5jbHVkZSBNZWRpY2FsIENhcmUsIFBlcmlvZG9udGljcywgUmVuYWwgRGlhbHlzaXMsIFZpc2lvbiBDb3ZlcmFnZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJCZW5lZml0Q2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJCZW5lZml0IGNhdGVnb3JpZXMgc3VjaCBhczogb3JhbC1iYXNpYywgbWFqb3IsIGdsYXNzZXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InByb2R1Y3RPclNlcnZpY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkJpbGxpbmcsIHNlcnZpY2UsIHByb2R1Y3QsIG9yIGRydWcgY29kZSIgZGVmaW5pdGlvbj0iV2hlbiB0aGUgdmFsdWUgaXMgYSBncm91cCBjb2RlIHRoZW4gdGhpcyBpdGVtIGNvbGxlY3RzIGEgc2V0IG9mIHJlbGF0ZWQgY2xhaW0gZGV0YWlscywgb3RoZXJ3aXNlIHRoaXMgY29udGFpbnMgdGhlIHByb2R1Y3QsIHNlcnZpY2UsIGRydWcgb3Igb3RoZXIgYmlsbGluZyBjb2RlIGZvciB0aGUgaXRlbS4iIGNvbW1lbnQ9IklmIHRoaXMgaXMgYW4gYWN0dWFsIHNlcnZpY2Ugb3IgcHJvZHVjdCBsaW5lLCBpLmUuIG5vdCBhIEdyb3VwLCB0aGVuIHVzZSBjb2RlIHRvIGluZGljYXRlIHRoZSBQcm9mZXNzaW9uYWwgU2VydmljZSBvciBQcm9kdWN0IHN1cHBsaWVkIChlLmcuIENUUCwgSENQQ1MsIFVTQ0xTLCBJQ0QxMCwgTkNQRFAsIERJTiwgUnhOb3JtLCBBQ0hJLCBDQ0kpLiBJZiBhIGdyb3VwaW5nIGl0ZW0gdGhlbiB1c2UgYSBncm91cCBjb2RlIHRvIGluZGljYXRlIHRoZSB0eXBlIG9mIHRoaW5nIGJlaW5nIGdyb3VwZWQgZS5nLiAnZ2xhc3Nlcycgb3IgJ2NvbXBvdW5kJy4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTZXJ2aWNlUHJvZHVjdCIgZGVzY3JpcHRpb249IkFsbG93YWJsZSBzZXJ2aWNlIGFuZCBwcm9kdWN0IGNvZGVzLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtb2RpZmllciIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlNlcnZpY2UvUHJvZHVjdCBiaWxsaW5nIG1vZGlmaWVycyIgZGVmaW5pdGlvbj0iSXRlbSB0eXBpZmljYXRpb24gb3IgbW9kaWZpZXJzIGNvZGVzIHRvIGNvbnZleSBhZGRpdGlvbmFsIGNvbnRleHQgZm9yIHRoZSBwcm9kdWN0IG9yIHNlcnZpY2UuIiBjb21tZW50PSJGb3IgZXhhbXBsZSBpbiBPcmFsIHdoZXRoZXIgdGhlIHRyZWF0bWVudCBpcyBjb3NtZXRpYyBvciBhc3NvY2lhdGVkIHdpdGggVE1KLCBvciBmb3IgTWVkaWNhbCB3aGV0aGVyIHRoZSB0cmVhdG1lbnQgd2FzIG91dHNpZGUgdGhlIGNsaW5pYyBvciBvdXQgb2Ygb2ZmaWNlIGhvdXJzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJNb2RpZmllcnMiIGRlc2NyaXB0aW9uPSJJdGVtIHR5cGUgb3IgbW9kaWZpZXJzIGNvZGVzLCBlZyBmb3IgT3JhbCB3aGV0aGVyIHRoZSB0cmVhdG1lbnQgaXMgY29zbWV0aWMgb3IgYXNzb2NpYXRlZCB3aXRoIFRNSiwgb3IgYW4gYXBwbGlhbmNlIHdhcyBsb3N0IG9yIHN0b2xlbi4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icHJvZ3JhbUNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJQcm9ncmFtIHRoZSBwcm9kdWN0IG9yIHNlcnZpY2UgaXMgcHJvdmlkZWQgdW5kZXIiIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIHByb2dyYW0gdW5kZXIgd2hpY2ggdGhpcyBtYXkgYmUgcmVjb3ZlcmVkLiIgY29tbWVudD0iRm9yIGV4YW1wbGU6IE5lb25hdGFsIHByb2dyYW0sIGNoaWxkIGRlbnRhbCBwcm9ncmFtIG9yIGRydWcgdXNlcnMgcmVjb3ZlcnkgcHJvZ3JhbS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUHJvZ3JhbUNvZGUiIGRlc2NyaXB0aW9uPSJQcm9ncmFtIHNwZWNpZmljIHJlYXNvbiBjb2Rlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icXVhbnRpdHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ291bnQgb2YgcHJvZHVjdHMgb3Igc2VydmljZXMiIGRlZmluaXRpb249IlRoZSBudW1iZXIgb2YgcmVwZXRpdGlvbnMgb2YgYSBzZXJ2aWNlIG9yIHByb2R1Y3QuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InVuaXRQcmljZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkZlZSwgY2hhcmdlIG9yIGNvc3QgcGVyIGl0ZW0iIGRlZmluaXRpb249IklmIHRoZSBpdGVtIGlzIG5vdCBhIGdyb3VwIHRoZW4gdGhpcyBpcyB0aGUgZmVlIGZvciB0aGUgcHJvZHVjdCBvciBzZXJ2aWNlLCBvdGhlcndpc2UgdGhpcyBpcyB0aGUgdG90YWwgb2YgdGhlIGZlZXMgZm9yIHRoZSBkZXRhaWxzIG9mIHRoZSBncm91cC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZmFjdG9yIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRlY2ltYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUHJpY2Ugc2NhbGluZyBmYWN0b3IiIGRlZmluaXRpb249IkEgcmVhbCBudW1iZXIgdGhhdCByZXByZXNlbnRzIGEgbXVsdGlwbGllciB1c2VkIGluIGRldGVybWluaW5nIHRoZSBvdmVyYWxsIHZhbHVlIG9mIHNlcnZpY2VzIGRlbGl2ZXJlZCBhbmQvb3IgZ29vZHMgcmVjZWl2ZWQuIFRoZSBjb25jZXB0IG9mIGEgRmFjdG9yIGFsbG93cyBmb3IgYSBkaXNjb3VudCBvciBzdXJjaGFyZ2UgbXVsdGlwbGllciB0byBiZSBhcHBsaWVkIHRvIGEgbW9uZXRhcnkgYW1vdW50LiIgY29tbWVudD0iVG8gc2hvdyBhIDEwJSBzZW5pb3IncyBkaXNjb3VudCwgdGhlIHZhbHVlIGVudGVyZWQgaXM6IDAuOTAgKDEuMDAgLSAwLjEwKS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibmV0IiBlbGVtZW50VHlwZT0iU3lzdGVtLkRlY2ltYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVG90YWwgaXRlbSBjb3N0IiBkZWZpbml0aW9uPSJUaGUgcXVhbnRpdHkgdGltZXMgdGhlIHVuaXQgcHJpY2UgZm9yIGFuIGFkZGl0aW9uYWwgc2VydmljZSBvciBwcm9kdWN0IG9yIGNoYXJnZS4iIGNvbW1lbnQ9IkZvciBleGFtcGxlLCB0aGUgZm9ybXVsYTogcXVhbnRpdHkgKiB1bml0UHJpY2UgKiBmYWN0b3IgID0gbmV0LiBRdWFudGl0eSBhbmQgZmFjdG9yIGFyZSBhc3N1bWVkIHRvIGJlIDEgaWYgbm90IHN1cHBsaWVkLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ1ZGkiIGRlc2NyaXB0aW9uPSJVbmlxdWUgZGV2aWNlIGlkZW50aWZpZXIiIGRlZmluaXRpb249IlVuaXF1ZSBEZXZpY2UgSWRlbnRpZmllcnMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgbGluZSBpdGVtLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViRGV0YWlsIiBkZXNjcmlwdGlvbj0iUHJvZHVjdCBvciBzZXJ2aWNlIHByb3ZpZGVkIiBkZWZpbml0aW9uPSJBIGNsYWltIGRldGFpbCBsaW5lLiBFaXRoZXIgYSBzaW1wbGUgKGEgcHJvZHVjdCBvciBzZXJ2aWNlKSBvciBhICdncm91cCcgb2Ygc3ViLWRldGFpbHMgd2hpY2ggYXJlIHNpbXBsZSBpdGVtcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbS5JdGVtLkRldGFpbC5TdWJEZXRhaWwiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNsYWltLkl0ZW0uRGV0YWlsLlN1YkRldGFpbCIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2VxdWVuY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJdGVtIGluc3RhbmNlIGlkZW50aWZpZXIiIGRlZmluaXRpb249IkEgbnVtYmVyIHRvIHVuaXF1ZWx5IGlkZW50aWZ5IGl0ZW0gZW50cmllcy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmV2ZW51ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmV2ZW51ZSBvciBjb3N0IGNlbnRlciBjb2RlIiBkZWZpbml0aW9uPSJUaGUgdHlwZSBvZiByZXZlbnVlIG9yIGNvc3QgY2VudGVyIHByb3ZpZGluZyB0aGUgcHJvZHVjdCBhbmQvb3Igc2VydmljZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJSZXZlbnVlQ2VudGVyIiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIHRoZSByZXZlbnVlIG9yIGNvc3QgY2VudGVycyBzdXBwbHlpbmcgdGhlIHNlcnZpY2UgYW5kL29yIHByb2R1Y3RzLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQmVuZWZpdCBjbGFzc2lmaWNhdGlvbiIgZGVmaW5pdGlvbj0iQ29kZSB0byBpZGVudGlmeSB0aGUgZ2VuZXJhbCB0eXBlIG9mIGJlbmVmaXRzIHVuZGVyIHdoaWNoIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyBhcmUgcHJvdmlkZWQuIiBjb21tZW50PSJFeGFtcGxlcyBpbmNsdWRlIE1lZGljYWwgQ2FyZSwgUGVyaW9kb250aWNzLCBSZW5hbCBEaWFseXNpcywgVmlzaW9uIENvdmVyYWdlLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJlbmVmaXRDYXRlZ29yeSIgZGVzY3JpcHRpb249IkJlbmVmaXQgY2F0ZWdvcmllcyBzdWNoIGFzOiBvcmFsLWJhc2ljLCBtYWpvciwgZ2xhc3Nlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icHJvZHVjdE9yU2VydmljZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQmlsbGluZywgc2VydmljZSwgcHJvZHVjdCwgb3IgZHJ1ZyBjb2RlIiBkZWZpbml0aW9uPSJXaGVuIHRoZSB2YWx1ZSBpcyBhIGdyb3VwIGNvZGUgdGhlbiB0aGlzIGl0ZW0gY29sbGVjdHMgYSBzZXQgb2YgcmVsYXRlZCBjbGFpbSBkZXRhaWxzLCBvdGhlcndpc2UgdGhpcyBjb250YWlucyB0aGUgcHJvZHVjdCwgc2VydmljZSwgZHJ1ZyBvciBvdGhlciBiaWxsaW5nIGNvZGUgZm9yIHRoZSBpdGVtLiIgY29tbWVudD0iSWYgdGhpcyBpcyBhbiBhY3R1YWwgc2VydmljZSBvciBwcm9kdWN0IGxpbmUsIGkuZS4gbm90IGEgR3JvdXAsIHRoZW4gdXNlIGNvZGUgdG8gaW5kaWNhdGUgdGhlIFByb2Zlc3Npb25hbCBTZXJ2aWNlIG9yIFByb2R1Y3Qgc3VwcGxpZWQgKGUuZy4gQ1RQLCBIQ1BDUywgVVNDTFMsIElDRDEwLCBOQ1BEUCwgRElOLCBSeE5vcm0sIEFDSEksIENDSSkuIElmIGEgZ3JvdXBpbmcgaXRlbSB0aGVuIHVzZSBhIGdyb3VwIGNvZGUgdG8gaW5kaWNhdGUgdGhlIHR5cGUgb2YgdGhpbmcgYmVpbmcgZ3JvdXBlZCBlLmcuICdnbGFzc2VzJyBvciAnY29tcG91bmQnLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlNlcnZpY2VQcm9kdWN0IiBkZXNjcmlwdGlvbj0iQWxsb3dhYmxlIHNlcnZpY2UgYW5kIHByb2R1Y3QgY29kZXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1vZGlmaWVyIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU2VydmljZS9Qcm9kdWN0IGJpbGxpbmcgbW9kaWZpZXJzIiBkZWZpbml0aW9uPSJJdGVtIHR5cGlmaWNhdGlvbiBvciBtb2RpZmllcnMgY29kZXMgdG8gY29udmV5IGFkZGl0aW9uYWwgY29udGV4dCBmb3IgdGhlIHByb2R1Y3Qgb3Igc2VydmljZS4iIGNvbW1lbnQ9IkZvciBleGFtcGxlIGluIE9yYWwgd2hldGhlciB0aGUgdHJlYXRtZW50IGlzIGNvc21ldGljIG9yIGFzc29jaWF0ZWQgd2l0aCBUTUosIG9yIGZvciBNZWRpY2FsIHdoZXRoZXIgdGhlIHRyZWF0bWVudCB3YXMgb3V0c2lkZSB0aGUgY2xpbmljIG9yIG91dCBvZiBvZmZpY2UgaG91cnMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1vZGlmaWVycyIgZGVzY3JpcHRpb249Ikl0ZW0gdHlwZSBvciBtb2RpZmllcnMgY29kZXMsIGVnIGZvciBPcmFsIHdoZXRoZXIgdGhlIHRyZWF0bWVudCBpcyBjb3NtZXRpYyBvciBhc3NvY2lhdGVkIHdpdGggVE1KLCBvciBhbiBhcHBsaWFuY2Ugd2FzIGxvc3Qgb3Igc3RvbGVuLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwcm9ncmFtQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlByb2dyYW0gdGhlIHByb2R1Y3Qgb3Igc2VydmljZSBpcyBwcm92aWRlZCB1bmRlciIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgcHJvZ3JhbSB1bmRlciB3aGljaCB0aGlzIG1heSBiZSByZWNvdmVyZWQuIiBjb21tZW50PSJGb3IgZXhhbXBsZTogTmVvbmF0YWwgcHJvZ3JhbSwgY2hpbGQgZGVudGFsIHByb2dyYW0gb3IgZHJ1ZyB1c2VycyByZWNvdmVyeSBwcm9ncmFtLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJQcm9ncmFtQ29kZSIgZGVzY3JpcHRpb249IlByb2dyYW0gc3BlY2lmaWMgcmVhc29uIGNvZGVzLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJxdWFudGl0eSIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb3VudCBvZiBwcm9kdWN0cyBvciBzZXJ2aWNlcyIgZGVmaW5pdGlvbj0iVGhlIG51bWJlciBvZiByZXBldGl0aW9ucyBvZiBhIHNlcnZpY2Ugb3IgcHJvZHVjdC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0idW5pdFByaWNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRlY2ltYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRmVlLCBjaGFyZ2Ugb3IgY29zdCBwZXIgaXRlbSIgZGVmaW5pdGlvbj0iSWYgdGhlIGl0ZW0gaXMgbm90IGEgZ3JvdXAgdGhlbiB0aGlzIGlzIHRoZSBmZWUgZm9yIHRoZSBwcm9kdWN0IG9yIHNlcnZpY2UsIG90aGVyd2lzZSB0aGlzIGlzIHRoZSB0b3RhbCBvZiB0aGUgZmVlcyBmb3IgdGhlIGRldGFpbHMgb2YgdGhlIGdyb3VwLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJmYWN0b3IiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQcmljZSBzY2FsaW5nIGZhY3RvciIgZGVmaW5pdGlvbj0iQSByZWFsIG51bWJlciB0aGF0IHJlcHJlc2VudHMgYSBtdWx0aXBsaWVyIHVzZWQgaW4gZGV0ZXJtaW5pbmcgdGhlIG92ZXJhbGwgdmFsdWUgb2Ygc2VydmljZXMgZGVsaXZlcmVkIGFuZC9vciBnb29kcyByZWNlaXZlZC4gVGhlIGNvbmNlcHQgb2YgYSBGYWN0b3IgYWxsb3dzIGZvciBhIGRpc2NvdW50IG9yIHN1cmNoYXJnZSBtdWx0aXBsaWVyIHRvIGJlIGFwcGxpZWQgdG8gYSBtb25ldGFyeSBhbW91bnQuIiBjb21tZW50PSJUbyBzaG93IGEgMTAlIHNlbmlvcidzIGRpc2NvdW50LCB0aGUgdmFsdWUgZW50ZXJlZCBpczogMC45MCAoMS4wMCAtIDAuMTApLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJuZXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUb3RhbCBpdGVtIGNvc3QiIGRlZmluaXRpb249IlRoZSBxdWFudGl0eSB0aW1lcyB0aGUgdW5pdCBwcmljZSBmb3IgYW4gYWRkaXRpb25hbCBzZXJ2aWNlIG9yIHByb2R1Y3Qgb3IgY2hhcmdlLiIgY29tbWVudD0iRm9yIGV4YW1wbGUsIHRoZSBmb3JtdWxhOiBxdWFudGl0eSAqIHVuaXRQcmljZSAqIGZhY3RvciAgPSBuZXQuIFF1YW50aXR5IGFuZCBmYWN0b3IgYXJlIGFzc3VtZWQgdG8gYmUgMSBpZiBub3Qgc3VwcGxpZWQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InVkaSIgZGVzY3JpcHRpb249IlVuaXF1ZSBkZXZpY2UgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iVW5pcXVlIERldmljZSBJZGVudGlmaWVycyBhc3NvY2lhdGVkIHdpdGggdGhpcyBsaW5lIGl0ZW0uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDbGFpbS5QYXllZSIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2F0ZWdvcnkgb2YgcmVjaXBpZW50IiBkZWZpbml0aW9uPSJUeXBlIG9mIFBhcnR5IHRvIGJlIHJlaW1idXJzZWQ6IHN1YnNjcmliZXIsIHByb3ZpZGVyLCBvdGhlci4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJQYXllZVR5cGUiIGRlc2NyaXB0aW9uPSJBIGNvZGUgZm9yIHRoZSBwYXJ0eSB0byBiZSByZWltYnVyc2VkLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0eSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJSZWNpcGllbnQgcmVmZXJlbmNlIiBkZWZpbml0aW9uPSJSZWZlcmVuY2UgdG8gdGhlIGluZGl2aWR1YWwgb3Igb3JnYW5pemF0aW9uIHRvIHdob20gYW55IHBheW1lbnQgd2lsbCBiZSBtYWRlLiIgY29tbWVudD0iTm90IHJlcXVpcmVkIGlmIHRoZSBwYXllZSBpcyAnc3Vic2NyaWJlcicgb3IgJ3Byb3ZpZGVyJy4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDbGFpbS5Qcm9jZWR1cmUiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InNlcXVlbmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUHJvY2VkdXJlIGluc3RhbmNlIGlkZW50aWZpZXIiIGRlZmluaXRpb249IkEgbnVtYmVyIHRvIHVuaXF1ZWx5IGlkZW50aWZ5IHByb2NlZHVyZSBlbnRyaWVzLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2F0ZWdvcnkgb2YgUHJvY2VkdXJlIiBkZWZpbml0aW9uPSJXaGVuIHRoZSBjb25kaXRpb24gd2FzIG9ic2VydmVkIG9yIHRoZSByZWxhdGl2ZSByYW5raW5nLiIgY29tbWVudD0iRm9yIGV4YW1wbGU6IHByaW1hcnksIHNlY29uZGFyeS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUHJvY2VkdXJlVHlwZSIgZGVzY3JpcHRpb249IkV4YW1wbGUgcHJvY2VkdXJlIHR5cGUgY29kZXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hlbiB0aGUgcHJvY2VkdXJlIHdhcyBwZXJmb3JtZWQiIGRlZmluaXRpb249IkRhdGUgYW5kIG9wdGlvbmFsbHkgdGltZSB0aGUgcHJvY2VkdXJlIHdhcyBwZXJmb3JtZWQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InByb2NlZHVyZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJTcGVjaWZpYyBjbGluaWNhbCBwcm9jZWR1cmUiIGRlZmluaXRpb249IlRoZSBjb2RlIG9yIHJlZmVyZW5jZSB0byBhIFByb2NlZHVyZSByZXNvdXJjZSB3aGljaCBpZGVudGlmaWVzIHRoZSBjbGluaWNhbCBpbnRlcnZlbnRpb24gcGVyZm9ybWVkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IklDRDEwX1Byb2NlZHVyZXMiIGRlc2NyaXB0aW9uPSJFeGFtcGxlIElDRDEwIFByb2NlZHVyZSBjb2Rlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idWRpIiBkZXNjcmlwdGlvbj0iVW5pcXVlIGRldmljZSBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJVbmlxdWUgRGV2aWNlIElkZW50aWZpZXJzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGxpbmUgaXRlbS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNsYWltLlJlbGF0ZWQiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNsYWltIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlJlZmVyZW5jZSB0byB0aGUgcmVsYXRlZCBjbGFpbSIgZGVmaW5pdGlvbj0iUmVmZXJlbmNlIHRvIGEgcmVsYXRlZCBjbGFpbS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVsYXRpb25zaGlwIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIb3cgdGhlIHJlZmVyZW5jZSBjbGFpbSBpcyByZWxhdGVkIiBkZWZpbml0aW9uPSJBIGNvZGUgdG8gY29udmV5IGhvdyB0aGUgY2xhaW1zIGFyZSByZWxhdGVkLiIgY29tbWVudD0iRm9yIGV4YW1wbGUsIHByaW9yIGNsYWltIG9yIHVtYnJlbGxhLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlJlbGF0ZWRDbGFpbVJlbGF0aW9uc2hpcCIgZGVzY3JpcHRpb249IlJlbGF0aW9uc2hpcCBvZiB0aGlzIGNsYWltIHRvIGEgcmVsYXRlZCBDbGFpbS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVmZXJlbmNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJGaWxlIG9yIGNhc2UgcmVmZXJlbmNlIiBkZWZpbml0aW9uPSJBbiBhbHRlcm5hdGUgb3JnYW5pemF0aW9uYWwgcmVmZXJlbmNlIHRvIHRoZSBjYXNlIG9yIGZpbGUgdG8gd2hpY2ggdGhpcyBwYXJ0aWN1bGFyIGNsYWltIHBlcnRhaW5zLiIgY29tbWVudD0iRm9yIGV4YW1wbGUsIFByb3BlcnR5L0Nhc3VhbHR5IGluc3VyZXIgY2xhaW0gIyBvciBXb3JrZXJzIENvbXBlbnNhdGlvbiBjYXNlICMgLiIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDbGFpbS5TdXBwb3J0aW5nSW5mbyIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2VxdWVuY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbmZvcm1hdGlvbiBpbnN0YW5jZSBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJBIG51bWJlciB0byB1bmlxdWVseSBpZGVudGlmeSBzdXBwb3J0aW5nIGluZm9ybWF0aW9uIGVudHJpZXMuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiB0aGUgc3VwcGxpZWQgaW5mb3JtYXRpb24iIGRlZmluaXRpb249IlRoZSBnZW5lcmFsIGNsYXNzIG9mIHRoZSBpbmZvcm1hdGlvbiBzdXBwbGllZDogaW5mb3JtYXRpb247IGV4Y2VwdGlvbjsgYWNjaWRlbnQsIGVtcGxveW1lbnQ7IG9uc2V0LCBldGMuIiBjb21tZW50PSJUaGlzIG1heSBjb250YWluIGEgY2F0ZWdvcnkgZm9yIHRoZSBsb2NhbCBiaWxsIHR5cGUgY29kZXMuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iSW5mb3JtYXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IlRoZSB2YWx1c2V0IHVzZWQgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gY2F0ZWdvcnkgY29kZXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlR5cGUgb2YgaW5mb3JtYXRpb24iIGRlZmluaXRpb249IlN5c3RlbSBhbmQgY29kZSBwZXJ0YWluaW5nIHRvIHRoZSBzcGVjaWZpYyBpbmZvcm1hdGlvbiByZWdhcmRpbmcgc3BlY2lhbCBjb25kaXRpb25zIHJlbGF0aW5nIHRvIHRoZSBzZXR0aW5nLCB0cmVhdG1lbnQgb3IgcGF0aWVudCAgZm9yIHdoaWNoIGNhcmUgaXMgc291Z2h0LiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkluZm9ybWF0aW9uQ29kZSIgZGVzY3JpcHRpb249IlRoZSB2YWx1c2V0IHVzZWQgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gY29kZXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InRpbWluZyIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaGVuIGl0IG9jY3VycmVkIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSB3aGVuIG9yIHBlcmlvZCB0byB3aGljaCB0aGlzIGluZm9ybWF0aW9uIHJlZmVycy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkRhdGEgdG8gYmUgcHJvdmlkZWQiIGRlZmluaXRpb249IkFkZGl0aW9uYWwgZGF0YSBvciBpbmZvcm1hdGlvbiBzdWNoIGFzIHJlc291cmNlcywgZG9jdW1lbnRzLCBpbWFnZXMgZXRjLiBpbmNsdWRpbmcgcmVmZXJlbmNlcyB0byB0aGUgZGF0YSBvciB0aGUgYWN0dWFsIGluY2x1c2lvbiBvZiB0aGUgZGF0YS4iIGNvbW1lbnQ9IkNvdWxkIGJlIHVzZWQgdG8gcHJvdmlkZSByZWZlcmVuY2VzIHRvIG90aGVyIHJlc291cmNlcywgZG9jdW1lbnQuIEZvciBleGFtcGxlIGNvdWxkIGNvbnRhaW4gYSBQREYgaW4gYW4gQXR0YWNobWVudCBvZiB0aGUgUG9saWNlIFJlcG9ydCBmb3IgYW4gQWNjaWRlbnQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQXR0YWNobWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkV4cGxhbmF0aW9uIGZvciB0aGUgaW5mb3JtYXRpb24iIGRlZmluaXRpb249IlByb3ZpZGVzIHRoZSByZWFzb24gaW4gdGhlIHNpdHVhdGlvbiB3aGVyZSBhIHJlYXNvbiBjb2RlIGlzIHJlcXVpcmVkIGluIGFkZGl0aW9uIHRvIHRoZSBjb250ZW50LiIgY29tbWVudD0iRm9yIGV4YW1wbGU6IHRoZSByZWFzb24gZm9yIHRoZSBhZGRpdGlvbmFsIHN0YXksIG9yIHdoeSBhIHRvb3RoIGlzICBtaXNzaW5nLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1pc3NpbmdSZWFzb24iIGRlc2NyaXB0aW9uPSJSZWFzb24gY29kZXMgZm9yIHRoZSBtaXNzaW5nIHRlZXRoLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNsYWltUmVzcG9uc2UiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWNsYWltcmVzcG9uc2UiIGxhYmVsPSJRSUNvcmUgQ2xhaW1SZXNwb25zZSIgcmV0cmlldmFibGU9InRydWUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3IgYSBjbGFpbSByZXNwb25zZSIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIGNsYWltIHJlc3BvbnNlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbVJlc3BvbnNlU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImFjdGl2ZSB8IGNhbmNlbGxlZCB8IGRyYWZ0IHwgZW50ZXJlZC1pbi1lcnJvciIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzb3VyY2UgaW5zdGFuY2UuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNsYWltUmVzcG9uc2VTdGF0dXMiIGRlc2NyaXB0aW9uPSJBIGNvZGUgc3BlY2lmeWluZyB0aGUgc3RhdGUgb2YgdGhlIHJlc291cmNlIGluc3RhbmNlLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iTW9yZSBncmFudWxhciBjbGFpbSB0eXBlIiBkZWZpbml0aW9uPSJBIGZpbmVyIGdyYWluZWQgc3VpdGUgb2YgY2xhaW0gdHlwZSBjb2RlcyB3aGljaCBtYXkgY29udmV5IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gc3VjaCBhcyBJbnBhdGllbnQgdnMgT3V0cGF0aWVudCBhbmQvb3IgYSBzcGVjaWFsdHkgc2VydmljZS4iIGNvbW1lbnQ9IlRoaXMgbWF5IGNvbnRhaW4gdGhlIGxvY2FsIGJpbGwgdHlwZSBjb2RlcywgZm9yIGV4YW1wbGUgdGhlIFVTIFVCLTA0IGJpbGwgdHlwZSBjb2RlIG9yIHRoZSBDTVMgYmlsbCB0eXBlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJDbGFpbVR5cGUiIGRlc2NyaXB0aW9uPSJUaGUgdHlwZSBvciBkaXNjaXBsaW5lLXN0eWxlIG9mIHRoZSBjbGFpbS4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViVHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iTW9yZSBncmFudWxhciBjbGFpbSB0eXBlIiBkZWZpbml0aW9uPSJBIGZpbmVyIGdyYWluZWQgc3VpdGUgb2YgY2xhaW0gdHlwZSBjb2RlcyB3aGljaCBtYXkgY29udmV5IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gc3VjaCBhcyBJbnBhdGllbnQgdnMgT3V0cGF0aWVudCBhbmQvb3IgYSBzcGVjaWFsdHkgc2VydmljZS4iIGNvbW1lbnQ9IlRoaXMgbWF5IGNvbnRhaW4gdGhlIGxvY2FsIGJpbGwgdHlwZSBjb2RlcywgZm9yIGV4YW1wbGUgdGhlIFVTIFVCLTA0IGJpbGwgdHlwZSBjb2RlIG9yIHRoZSBDTVMgYmlsbCB0eXBlLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNsYWltU3ViVHlwZSIgZGVzY3JpcHRpb249IkEgbW9yZSBncmFudWxhciBjbGFpbSB0eXBlY29kZS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idXNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlVzZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJjbGFpbSB8IHByZWF1dGhvcml6YXRpb24gfCBwcmVkZXRlcm1pbmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdG8gaW5kaWNhdGUgd2hldGhlciB0aGUgbmF0dXJlIG9mIHRoZSByZXF1ZXN0IGlzOiB0byByZXF1ZXN0IGFkanVkaWNhdGlvbiBvZiBwcm9kdWN0cyBhbmQgc2VydmljZXMgcHJldmlvdXNseSByZW5kZXJlZDsgb3IgcmVxdWVzdGluZyBhdXRob3JpemF0aW9uIGFuZCBhZGp1ZGljYXRpb24gZm9yIHByb3Zpc2lvbiBpbiB0aGUgZnV0dXJlOyBvciByZXF1ZXN0aW5nIHRoZSBub24tYmluZGluZyBhZGp1ZGljYXRpb24gb2YgdGhlIGxpc3RlZCBwcm9kdWN0cyBhbmQgc2VydmljZXMgd2hpY2ggY291bGQgYmUgcHJvdmlkZWQgaW4gdGhlIGZ1dHVyZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iVXNlIiBkZXNjcmlwdGlvbj0iQ2xhaW0sIHByZWF1dGhvcml6YXRpb24sIHByZWRldGVybWluYXRpb24uIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXRpZW50IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlRoZSByZWNpcGllbnQgb2YgdGhlIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyIgZGVmaW5pdGlvbj0iVGhlIHBhcnR5IHRvIHdob20gdGhlIHByb2Zlc3Npb25hbCBzZXJ2aWNlcyBhbmQvb3IgcHJvZHVjdHMgaGF2ZSBiZWVuIHN1cHBsaWVkIG9yIGFyZSBiZWluZyBjb25zaWRlcmVkIGFuZCBmb3Igd2hvbSBhY3R1YWwgZm9yIGZhY2FzdCByZWltYnVyc2VtZW50IGlzIHNvdWdodC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNyZWF0ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUmVzcG9uc2UgY3JlYXRpb24gZGF0ZSIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgdGhpcyByZXNvdXJjZSB3YXMgY3JlYXRlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Imluc3VyZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iUGFydHkgcmVzcG9uc2libGUgZm9yIHJlaW1idXJzZW1lbnQiIGRlZmluaXRpb249IlRoZSBwYXJ0eSByZXNwb25zaWJsZSBmb3IgYXV0aG9yaXphdGlvbiwgYWRqdWRpY2F0aW9uIGFuZCByZWltYnVyc2VtZW50LiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVxdWVzdG9yIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlBhcnR5IHJlc3BvbnNpYmxlIGZvciB0aGUgY2xhaW0iIGRlZmluaXRpb249IlRoZSBwcm92aWRlciB3aGljaCBpcyByZXNwb25zaWJsZSBmb3IgdGhlIGNsYWltLCBwcmVkZXRlcm1pbmF0aW9uIG9yIHByZWF1dGhvcml6YXRpb24uIiBjb21tZW50PSJUeXBpY2FsbHkgdGhpcyBmaWVsZCB3b3VsZCBiZSAxLi4xIHdoZXJlIHRoaXMgcGFydHkgaXMgcmVzcG9uc2libGUgZm9yIHRoZSBjbGFpbSBidXQgbm90IG5lY2Vzc2FyaWx5IHByb2Zlc3Npb25hbGx5IHJlc3BvbnNpYmxlIGZvciB0aGUgcHJvdmlzaW9uIG9mIHRoZSBpbmRpdmlkdWFsIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyBsaXN0ZWQgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZXF1ZXN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IklkIG9mIHJlc291cmNlIHRyaWdnZXJpbmcgYWRqdWRpY2F0aW9uIiBkZWZpbml0aW9uPSJPcmlnaW5hbCByZXF1ZXN0IHJlc291cmNlIHJlZmVyZW5jZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im91dGNvbWUiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVtaXR0YW5jZU91dGNvbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icXVldWVkIHwgY29tcGxldGUgfCBlcnJvciB8IHBhcnRpYWwiIGRlZmluaXRpb249IlRoZSBvdXRjb21lIG9mIHRoZSBjbGFpbSwgcHJlZGV0ZXJtaW5hdGlvbiwgb3IgcHJlYXV0aG9yaXphdGlvbiBwcm9jZXNzaW5nLiIgY29tbWVudD0iVGhlIHJlc291cmNlIG1heSBiZSB1c2VkIHRvIGluZGljYXRlIHRoYXQ6IHRoZSByZXF1ZXN0IGhhcyBiZWVuIGhlbGQgKHF1ZXVlZCkgZm9yIHByb2Nlc3Npbmc7IHRoYXQgaXQgaGFzIGJlZW4gcHJvY2Vzc2VkIGFuZCBlcnJvcnMgZm91bmQgKGVycm9yKTsgdGhhdCBubyBlcnJvcnMgd2VyZSBmb3VuZCBhbmQgdGhhdCBzb21lIG9mIHRoZSBhZGp1ZGljYXRpb24gaGFzIGJlZW4gdW5kZXJ0YWtlbiAocGFydGlhbCkgb3IgdGhhdCBhbGwgb2YgdGhlIGFkanVkaWNhdGlvbiBoYXMgYmVlbiB1bmRlcnRha2VuIChjb21wbGV0ZSkuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUmVtaXR0YW5jZU91dGNvbWUiIGRlc2NyaXB0aW9uPSJUaGUgcmVzdWx0IG9mIHRoZSBjbGFpbSBwcm9jZXNzaW5nLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzcG9zaXRpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRpc3Bvc2l0aW9uIE1lc3NhZ2UiIGRlZmluaXRpb249IkEgaHVtYW4gcmVhZGFibGUgZGVzY3JpcHRpb24gb2YgdGhlIHN0YXR1cyBvZiB0aGUgYWRqdWRpY2F0aW9uLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwcmVBdXRoUmVmIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQcmVhdXRob3JpemF0aW9uIHJlZmVyZW5jZSIgZGVmaW5pdGlvbj0iUmVmZXJlbmNlIGZyb20gdGhlIEluc3VyZXIgd2hpY2ggaXMgdXNlZCBpbiBsYXRlciBjb21tdW5pY2F0aW9ucyB3aGljaCByZWZlcnMgdG8gdGhpcyBhZGp1ZGljYXRpb24uIiBjb21tZW50PSJUaGlzIHZhbHVlIGlzIG9ubHkgcHJlc2VudCBvbiBwcmVhdXRob3JpemF0aW9uIGFkanVkaWNhdGlvbnMuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InByZUF1dGhQZXJpb2QiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUHJlYXV0aG9yaXphdGlvbiByZWZlcmVuY2UgZWZmZWN0aXZlIHBlcmlvZCIgZGVmaW5pdGlvbj0iVGhlIHRpbWUgZnJhbWUgZHVyaW5nIHdoaWNoIHRoaXMgYXV0aG9yaXphdGlvbiBpcyBlZmZlY3RpdmUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBheWVlVHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUGFydHkgdG8gYmUgcGFpZCBhbnkgYmVuZWZpdHMgcGF5YWJsZSIgZGVmaW5pdGlvbj0iVHlwZSBvZiBQYXJ0eSB0byBiZSByZWltYnVyc2VkOiBzdWJzY3JpYmVyLCBwcm92aWRlciwgb3RoZXIuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUGF5ZWVUeXBlIiBkZXNjcmlwdGlvbj0iQSBjb2RlIGZvciB0aGUgcGFydHkgdG8gYmUgcmVpbWJ1cnNlZC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaXRlbSIgZGVzY3JpcHRpb249IkFkanVkaWNhdGlvbiBmb3IgY2xhaW0gbGluZSBpdGVtcyIgZGVmaW5pdGlvbj0iQSBjbGFpbSBsaW5lLiBFaXRoZXIgYSBzaW1wbGUgKGEgcHJvZHVjdCBvciBzZXJ2aWNlKSBvciBhICdncm91cCcgb2YgZGV0YWlscyB3aGljaCBjYW4gYWxzbyBiZSBhIHNpbXBsZSBpdGVtcyBvciBncm91cHMgb2Ygc3ViLWRldGFpbHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkNsYWltUmVzcG9uc2UuSXRlbSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYWRkSXRlbSIgZGVzY3JpcHRpb249Ikluc3VyZXIgYWRkZWQgbGluZSBpdGVtcyIgZGVmaW5pdGlvbj0iVGhlIGZpcnN0LXRpZXIgc2VydmljZSBhZGp1ZGljYXRpb25zIGZvciBwYXlvciBhZGRlZCBwcm9kdWN0IG9yIHNlcnZpY2UgbGluZXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ2xhaW1SZXNwb25zZS5BZGRJdGVtIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhZGp1ZGljYXRpb24iIGRlc2NyaXB0aW9uPSJIZWFkZXItbGV2ZWwgYWRqdWRpY2F0aW9uIiBkZWZpbml0aW9uPSJUaGUgYWRqdWRpY2F0aW9uIHJlc3VsdHMgd2hpY2ggYXJlIHByZXNlbnRlZCBhdCB0aGUgaGVhZGVyIGxldmVsIHJhdGhlciB0aGFuIGF0IHRoZSBsaW5lLWl0ZW0gb3IgYWRkLWl0ZW0gbGV2ZWxzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iQ2xhaW1SZXNwb25zZS5JdGVtLkFkanVkaWNhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idG90YWwiIGRlc2NyaXB0aW9uPSJBZGp1ZGljYXRpb24gdG90YWxzIiBkZWZpbml0aW9uPSJDYXRlZ29yaXplZCBtb25ldGFyeSB0b3RhbHMgZm9yIHRoZSBhZGp1ZGljYXRpb24uIiBjb21tZW50PSJUb3RhbHMgZm9yIGFtb3VudHMgc3VibWl0dGVkLCBjby1wYXlzLCBiZW5lZml0cyBwYXlhYmxlIGV0Yy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbVJlc3BvbnNlLlRvdGFsIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXltZW50IiBlbGVtZW50VHlwZT0iUUlDb3JlLkNsYWltUmVzcG9uc2UuUGF5bWVudCIgZGVzY3JpcHRpb249IlBheW1lbnQgRGV0YWlscyIgZGVmaW5pdGlvbj0iUGF5bWVudCBkZXRhaWxzIGZvciB0aGUgYWRqdWRpY2F0aW9uIG9mIHRoZSBjbGFpbS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZnVuZHNSZXNlcnZlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJGdW5kcyByZXNlcnZlZCBzdGF0dXMiIGRlZmluaXRpb249IkEgY29kZSwgdXNlZCBvbmx5IG9uIGEgcmVzcG9uc2UgdG8gYSBwcmVhdXRob3JpemF0aW9uLCB0byBpbmRpY2F0ZSB3aGV0aGVyIHRoZSBiZW5lZml0cyBwYXlhYmxlIGhhdmUgYmVlbiByZXNlcnZlZCBhbmQgZm9yIHdob20uIiBjb21tZW50PSJGdW5kIHdvdWxkIGJlIHJlbGVhc2UgYnkgYSBmdXR1cmUgY2xhaW0gcXVvdGluZyB0aGUgcHJlQXV0aFJlZiBvZiB0aGlzIHJlc3BvbnNlLiBFeGFtcGxlcyBvZiB2YWx1ZXMgaW5jbHVkZTogcHJvdmlkZXIsIHBhdGllbnQsIG5vbmUuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRnVuZHNSZXNlcnZlIiBkZXNjcmlwdGlvbj0iRm9yIHdob20gZnVuZHMgYXJlIHRvIGJlIHJlc2VydmVkOiAoUGF0aWVudCwgUHJvdmlkZXIsIE5vbmUpLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJmb3JtQ29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUHJpbnRlZCBmb3JtIGlkZW50aWZpZXIiIGRlZmluaXRpb249IkEgY29kZSBmb3IgdGhlIGZvcm0gdG8gYmUgdXNlZCBmb3IgcHJpbnRpbmcgdGhlIGNvbnRlbnQuIiBjb21tZW50PSJNYXkgYmUgbmVlZGVkIHRvIGlkZW50aWZ5IHNwZWNpZmljIGp1cmlzZGljdGlvbmFsIGZvcm1zLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkZvcm1zIiBkZXNjcmlwdGlvbj0iVGhlIGZvcm1zIGNvZGVzLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJmb3JtIiBlbGVtZW50VHlwZT0iUUlDb3JlLkF0dGFjaG1lbnQiIGRlc2NyaXB0aW9uPSJQcmludGVkIHJlZmVyZW5jZSBvciBhY3R1YWwgZm9ybSIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBmb3JtLCBieSByZWZlcmVuY2Ugb3IgaW5jbHVzaW9uLCBmb3IgcHJpbnRpbmcgdGhlIGNvbnRlbnQgb3IgYW4gRU9CLiIgY29tbWVudD0iTmVlZGVkIHRvIHBlcm1pdCBpbnN1cmVycyB0byBpbmNsdWRlIHRoZSBhY3R1YWwgZm9ybS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icHJvY2Vzc05vdGUiIGRlc2NyaXB0aW9uPSJOb3RlIGNvbmNlcm5pbmcgYWRqdWRpY2F0aW9uIiBkZWZpbml0aW9uPSJBIG5vdGUgdGhhdCBkZXNjcmliZXMgb3IgZXhwbGFpbnMgYWRqdWRpY2F0aW9uIHJlc3VsdHMgaW4gYSBodW1hbiByZWFkYWJsZSBmb3JtLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkNsYWltUmVzcG9uc2UuUHJvY2Vzc05vdGUiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbW11bmljYXRpb25SZXF1ZXN0IiBkZXNjcmlwdGlvbj0iUmVxdWVzdCBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiIgZGVmaW5pdGlvbj0iUmVxdWVzdCBmb3IgYWRkaXRpb25hbCBzdXBwb3J0aW5nIG9yIGF1dGhvcml6aW5nIGluZm9ybWF0aW9uLiIgY29tbWVudD0iRm9yIGV4YW1wbGU6IHByb2Zlc3Npb25hbCByZXBvcnRzLCBkb2N1bWVudHMsIGltYWdlcywgY2xpbmljYWwgcmVzb3VyY2VzLCBvciBhY2NpZGVudCByZXBvcnRzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdXJhbmNlIiBkZXNjcmlwdGlvbj0iUGF0aWVudCBpbnN1cmFuY2UgaW5mb3JtYXRpb24iIGRlZmluaXRpb249IkZpbmFuY2lhbCBpbnN0cnVtZW50cyBmb3IgcmVpbWJ1cnNlbWVudCBmb3IgdGhlIGhlYWx0aCBjYXJlIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyBzcGVjaWZpZWQgb24gdGhlIGNsYWltLiIgY29tbWVudD0iQWxsIGluc3VyYW5jZSBjb3ZlcmFnZXMgZm9yIHRoZSBwYXRpZW50IHdoaWNoIG1heSBiZSBhcHBsaWNhYmxlIGZvciByZWltYnVyc2VtZW50LCBvZiB0aGUgcHJvZHVjdHMgYW5kIHNlcnZpY2VzIGxpc3RlZCBpbiB0aGUgY2xhaW0sIGFyZSB0eXBpY2FsbHkgcHJvdmlkZWQgaW4gdGhlIGNsYWltIHRvIGFsbG93IGluc3VyZXJzIHRvIGNvbmZpcm0gdGhlIG9yZGVyaW5nIG9mIHRoZSBpbnN1cmFuY2UgY292ZXJhZ2VzIHJlbGF0aXZlIHRvIGxvY2FsICdjb29yZGluYXRpb24gb2YgYmVuZWZpdCcgcnVsZXMuIE9uZSBjb3ZlcmFnZSAoYW5kIG9ubHkgb25lKSB3aXRoICdmb2NhbD10cnVlJyBpcyB0byBiZSB1c2VkIGluIHRoZSBhZGp1ZGljYXRpb24gb2YgdGhpcyBjbGFpbS4gQ292ZXJhZ2VzIGFwcGVhcmluZyBiZWZvcmUgdGhlIGZvY2FsIENvdmVyYWdlIGluIHRoZSBsaXN0LCBhbmQgd2hlcmUgJ3N1YnJvZ2F0aW9uPWZhbHNlJywgc2hvdWxkIHByb3ZpZGUgYSByZWZlcmVuY2UgdG8gdGhlIENsYWltUmVzcG9uc2UgY29udGFpbmluZyB0aGUgYWRqdWRpY2F0aW9uIHJlc3VsdHMgb2YgdGhlIHByaW9yIGNsYWltLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkNsYWltUmVzcG9uc2UuSW5zdXJhbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlcnJvciIgZGVzY3JpcHRpb249IlByb2Nlc3NpbmcgZXJyb3JzIiBkZWZpbml0aW9uPSJFcnJvcnMgZW5jb3VudGVyZWQgZHVyaW5nIHRoZSBwcm9jZXNzaW5nIG9mIHRoZSBhZGp1ZGljYXRpb24uIiBjb21tZW50PSJJZiB0aGUgcmVxdWVzdCBjb250YWlucyBlcnJvcnMgdGhlbiBhbiBlcnJvciBlbGVtZW50IHNob3VsZCBiZSBwcm92aWRlZCBhbmQgbm8gYWRqdWRpY2F0aW9uIHJlbGF0ZWQgc2VjdGlvbnMgKGl0ZW0sIGFkZEl0ZW0sIG9yIHBheW1lbnQpIHNob3VsZCBiZSBwcmVzZW50LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkNsYWltUmVzcG9uc2UuRXJyb3IiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9InJlcXVlc3RvciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0icGF0aWVudCIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDbGFpbVJlc3BvbnNlLkFkZEl0ZW0iIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9Iml0ZW1TZXF1ZW5jZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJdGVtIHNlcXVlbmNlIG51bWJlciIgZGVmaW5pdGlvbj0iQ2xhaW0gaXRlbXMgd2hpY2ggdGhpcyBzZXJ2aWNlIGxpbmUgaXMgaW50ZW5kZWQgdG8gcmVwbGFjZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXRhaWxTZXF1ZW5jZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEZXRhaWwgc2VxdWVuY2UgbnVtYmVyIiBkZWZpbml0aW9uPSJUaGUgc2VxdWVuY2UgbnVtYmVyIG9mIHRoZSBkZXRhaWxzIHdpdGhpbiB0aGUgY2xhaW0gaXRlbSB3aGljaCB0aGlzIGxpbmUgaXMgaW50ZW5kZWQgdG8gcmVwbGFjZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJkZXRhaWxTZXF1ZW5jZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJTdWJkZXRhaWwgc2VxdWVuY2UgbnVtYmVyIiBkZWZpbml0aW9uPSJUaGUgc2VxdWVuY2UgbnVtYmVyIG9mIHRoZSBzdWItZGV0YWlscyB3aXRoaW4gdGhlIGRldGFpbHMgd2l0aGluIHRoZSBjbGFpbSBpdGVtIHdoaWNoIHRoaXMgbGluZSBpcyBpbnRlbmRlZCB0byByZXBsYWNlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InByb3ZpZGVyIiBkZXNjcmlwdGlvbj0iQXV0aG9yaXplZCBwcm92aWRlcnMiIGRlZmluaXRpb249IlRoZSBwcm92aWRlcnMgd2hvIGFyZSBhdXRob3JpemVkIGZvciB0aGUgc2VydmljZXMgcmVuZGVyZWQgdG8gdGhlIHBhdGllbnQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwcm9kdWN0T3JTZXJ2aWNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJCaWxsaW5nLCBzZXJ2aWNlLCBwcm9kdWN0LCBvciBkcnVnIGNvZGUiIGRlZmluaXRpb249IldoZW4gdGhlIHZhbHVlIGlzIGEgZ3JvdXAgY29kZSB0aGVuIHRoaXMgaXRlbSBjb2xsZWN0cyBhIHNldCBvZiByZWxhdGVkIGNsYWltIGRldGFpbHMsIG90aGVyd2lzZSB0aGlzIGNvbnRhaW5zIHRoZSBwcm9kdWN0LCBzZXJ2aWNlLCBkcnVnIG9yIG90aGVyIGJpbGxpbmcgY29kZSBmb3IgdGhlIGl0ZW0uIiBjb21tZW50PSJJZiB0aGlzIGlzIGFuIGFjdHVhbCBzZXJ2aWNlIG9yIHByb2R1Y3QgbGluZSwgaS5lLiBub3QgYSBHcm91cCwgdGhlbiB1c2UgY29kZSB0byBpbmRpY2F0ZSB0aGUgUHJvZmVzc2lvbmFsIFNlcnZpY2Ugb3IgUHJvZHVjdCBzdXBwbGllZCAoZS5nLiBDVFAsIEhDUENTLCBVU0NMUywgSUNEMTAsIE5DUERQLCBESU4sIFJ4Tm9ybSwgQUNISSwgQ0NJKS4gSWYgYSBncm91cGluZyBpdGVtIHRoZW4gdXNlIGEgZ3JvdXAgY29kZSB0byBpbmRpY2F0ZSB0aGUgdHlwZSBvZiB0aGluZyBiZWluZyBncm91cGVkIGUuZy4gJ2dsYXNzZXMnIG9yICdjb21wb3VuZCcuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU2VydmljZVByb2R1Y3QiIGRlc2NyaXB0aW9uPSJBbGxvd2FibGUgc2VydmljZSBhbmQgcHJvZHVjdCBjb2Rlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibW9kaWZpZXIiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJTZXJ2aWNlL1Byb2R1Y3QgYmlsbGluZyBtb2RpZmllcnMiIGRlZmluaXRpb249Ikl0ZW0gdHlwaWZpY2F0aW9uIG9yIG1vZGlmaWVycyBjb2RlcyB0byBjb252ZXkgYWRkaXRpb25hbCBjb250ZXh0IGZvciB0aGUgcHJvZHVjdCBvciBzZXJ2aWNlLiIgY29tbWVudD0iRm9yIGV4YW1wbGUgaW4gT3JhbCB3aGV0aGVyIHRoZSB0cmVhdG1lbnQgaXMgY29zbWV0aWMgb3IgYXNzb2NpYXRlZCB3aXRoIFRNSiwgb3IgZm9yIE1lZGljYWwgd2hldGhlciB0aGUgdHJlYXRtZW50IHdhcyBvdXRzaWRlIHRoZSBjbGluaWMgb3Igb3V0c2lkZSBvZiBvZmZpY2UgaG91cnMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1vZGlmaWVycyIgZGVzY3JpcHRpb249Ikl0ZW0gdHlwZSBvciBtb2RpZmllcnMgY29kZXMsIGVnIGZvciBPcmFsIHdoZXRoZXIgdGhlIHRyZWF0bWVudCBpcyBjb3NtZXRpYyBvciBhc3NvY2lhdGVkIHdpdGggVE1KLCBvciBhbiBhcHBsaWFuY2Ugd2FzIGxvc3Qgb3Igc3RvbGVuLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwcm9ncmFtQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlByb2dyYW0gdGhlIHByb2R1Y3Qgb3Igc2VydmljZSBpcyBwcm92aWRlZCB1bmRlciIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgcHJvZ3JhbSB1bmRlciB3aGljaCB0aGlzIG1heSBiZSByZWNvdmVyZWQuIiBjb21tZW50PSJGb3IgZXhhbXBsZTogTmVvbmF0YWwgcHJvZ3JhbSwgY2hpbGQgZGVudGFsIHByb2dyYW0gb3IgZHJ1ZyB1c2VycyByZWNvdmVyeSBwcm9ncmFtLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJQcm9ncmFtQ29kZSIgZGVzY3JpcHRpb249IlByb2dyYW0gc3BlY2lmaWMgcmVhc29uIGNvZGVzLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzZXJ2aWNlZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJEYXRlIG9yIGRhdGVzIG9mIHNlcnZpY2Ugb3IgcHJvZHVjdCBkZWxpdmVyeSIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgb3IgZGF0ZXMgd2hlbiB0aGUgc2VydmljZSBvciBwcm9kdWN0IHdhcyBzdXBwbGllZCwgcGVyZm9ybWVkIG9yIGNvbXBsZXRlZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImxvY2F0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlBsYWNlIG9mIHNlcnZpY2Ugb3Igd2hlcmUgcHJvZHVjdCB3YXMgc3VwcGxpZWQiIGRlZmluaXRpb249IldoZXJlIHRoZSBwcm9kdWN0IG9yIHNlcnZpY2Ugd2FzIHByb3ZpZGVkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQWRkcmVzcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU2VydmljZVBsYWNlIiBkZXNjcmlwdGlvbj0iUGxhY2Ugb2Ygc2VydmljZTogcGhhcm1hY3ksIHNjaG9vbCwgcHJpc29uLCBldGMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InF1YW50aXR5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvdW50IG9mIHByb2R1Y3RzIG9yIHNlcnZpY2VzIiBkZWZpbml0aW9uPSJUaGUgbnVtYmVyIG9mIHJlcGV0aXRpb25zIG9mIGEgc2VydmljZSBvciBwcm9kdWN0LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ1bml0UHJpY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJGZWUsIGNoYXJnZSBvciBjb3N0IHBlciBpdGVtIiBkZWZpbml0aW9uPSJJZiB0aGUgaXRlbSBpcyBub3QgYSBncm91cCB0aGVuIHRoaXMgaXMgdGhlIGZlZSBmb3IgdGhlIHByb2R1Y3Qgb3Igc2VydmljZSwgb3RoZXJ3aXNlIHRoaXMgaXMgdGhlIHRvdGFsIG9mIHRoZSBmZWVzIGZvciB0aGUgZGV0YWlscyBvZiB0aGUgZ3JvdXAuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImZhY3RvciIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlByaWNlIHNjYWxpbmcgZmFjdG9yIiBkZWZpbml0aW9uPSJBIHJlYWwgbnVtYmVyIHRoYXQgcmVwcmVzZW50cyBhIG11bHRpcGxpZXIgdXNlZCBpbiBkZXRlcm1pbmluZyB0aGUgb3ZlcmFsbCB2YWx1ZSBvZiBzZXJ2aWNlcyBkZWxpdmVyZWQgYW5kL29yIGdvb2RzIHJlY2VpdmVkLiBUaGUgY29uY2VwdCBvZiBhIEZhY3RvciBhbGxvd3MgZm9yIGEgZGlzY291bnQgb3Igc3VyY2hhcmdlIG11bHRpcGxpZXIgdG8gYmUgYXBwbGllZCB0byBhIG1vbmV0YXJ5IGFtb3VudC4iIGNvbW1lbnQ9IlRvIHNob3cgYSAxMCUgc2VuaW9yJ3MgZGlzY291bnQsIHRoZSB2YWx1ZSBlbnRlcmVkIGlzOiAwLjkwICgxLjAwIC0gMC4xMCkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5ldCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRvdGFsIGl0ZW0gY29zdCIgZGVmaW5pdGlvbj0iVGhlIHF1YW50aXR5IHRpbWVzIHRoZSB1bml0IHByaWNlIGZvciBhbiBhZGRpdGlvbmFsIHNlcnZpY2Ugb3IgcHJvZHVjdCBvciBjaGFyZ2UuIiBjb21tZW50PSJGb3IgZXhhbXBsZSwgdGhlIGZvcm11bGE6IHF1YW50aXR5ICogdW5pdFByaWNlICogZmFjdG9yICA9IG5ldC4gUXVhbnRpdHkgYW5kIGZhY3RvciBhcmUgYXNzdW1lZCB0byBiZSAxIGlmIG5vdCBzdXBwbGllZC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFuYXRvbWljYWwgbG9jYXRpb24iIGRlZmluaXRpb249IlBoeXNpY2FsIHNlcnZpY2Ugc2l0ZSBvbiB0aGUgcGF0aWVudCAobGltYiwgdG9vdGgsIGV0Yy4pLiIgY29tbWVudD0iRm9yIGV4YW1wbGU6IFByb3ZpZGluZyBhIHRvb3RoIGNvZGUgYWxsb3dzIGFuIGluc3VyZXIgdG8gaWRlbnRpZnkgYSBwcm92aWRlciBwZXJmb3JtaW5nIGEgZmlsbGluZyBvbiBhIHRvb3RoIHRoYXQgd2FzIHByZXZpb3VzbHkgcmVtb3ZlZC4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPcmFsU2l0ZXMiIGRlc2NyaXB0aW9uPSJUaGUgY29kZSBmb3IgdGhlIHRlZXRoLCBxdWFkcmFudCwgc2V4dGFudCBhbmQgYXJjaC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViU2l0ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFuYXRvbWljYWwgc3ViLWxvY2F0aW9uIiBkZWZpbml0aW9uPSJBIHJlZ2lvbiBvciBzdXJmYWNlIG9mIHRoZSBib2R5U2l0ZSwgZS5nLiBsaW1iIHJlZ2lvbiBvciB0b290aCBzdXJmYWNlKHMpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTdXJmYWNlIiBkZXNjcmlwdGlvbj0iVGhlIGNvZGUgZm9yIHRoZSB0b290aCBzdXJmYWNlIGFuZCBzdXJmYWNlIGNvbWJpbmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZU51bWJlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBcHBsaWNhYmxlIG5vdGUgbnVtYmVycyIgZGVmaW5pdGlvbj0iVGhlIG51bWJlcnMgYXNzb2NpYXRlZCB3aXRoIG5vdGVzIGJlbG93IHdoaWNoIGFwcGx5IHRvIHRoZSBhZGp1ZGljYXRpb24gb2YgdGhpcyBpdGVtLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFkanVkaWNhdGlvbiIgZGVzY3JpcHRpb249IkFkZGVkIGl0ZW1zIGFkanVkaWNhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIGFkanVkaWNhdGlvbiByZXN1bHRzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iQ2xhaW1SZXNwb25zZS5JdGVtLkFkanVkaWNhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGV0YWlsIiBkZXNjcmlwdGlvbj0iSW5zdXJlciBhZGRlZCBsaW5lIGRldGFpbHMiIGRlZmluaXRpb249IlRoZSBzZWNvbmQtdGllciBzZXJ2aWNlIGFkanVkaWNhdGlvbnMgZm9yIHBheW9yIGFkZGVkIHNlcnZpY2VzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkNsYWltUmVzcG9uc2UuQWRkSXRlbS5EZXRhaWwiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNsYWltUmVzcG9uc2UuQWRkSXRlbS5EZXRhaWwiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InByb2R1Y3RPclNlcnZpY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkJpbGxpbmcsIHNlcnZpY2UsIHByb2R1Y3QsIG9yIGRydWcgY29kZSIgZGVmaW5pdGlvbj0iV2hlbiB0aGUgdmFsdWUgaXMgYSBncm91cCBjb2RlIHRoZW4gdGhpcyBpdGVtIGNvbGxlY3RzIGEgc2V0IG9mIHJlbGF0ZWQgY2xhaW0gZGV0YWlscywgb3RoZXJ3aXNlIHRoaXMgY29udGFpbnMgdGhlIHByb2R1Y3QsIHNlcnZpY2UsIGRydWcgb3Igb3RoZXIgYmlsbGluZyBjb2RlIGZvciB0aGUgaXRlbS4iIGNvbW1lbnQ9IklmIHRoaXMgaXMgYW4gYWN0dWFsIHNlcnZpY2Ugb3IgcHJvZHVjdCBsaW5lLCBpLmUuIG5vdCBhIEdyb3VwLCB0aGVuIHVzZSBjb2RlIHRvIGluZGljYXRlIHRoZSBQcm9mZXNzaW9uYWwgU2VydmljZSBvciBQcm9kdWN0IHN1cHBsaWVkIChlLmcuIENUUCwgSENQQ1MsIFVTQ0xTLCBJQ0QxMCwgTkNQRFAsIERJTiwgUnhOb3JtLCBBQ0hJLCBDQ0kpLiBJZiBhIGdyb3VwaW5nIGl0ZW0gdGhlbiB1c2UgYSBncm91cCBjb2RlIHRvIGluZGljYXRlIHRoZSB0eXBlIG9mIHRoaW5nIGJlaW5nIGdyb3VwZWQgZS5nLiAnZ2xhc3Nlcycgb3IgJ2NvbXBvdW5kJy4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTZXJ2aWNlUHJvZHVjdCIgZGVzY3JpcHRpb249IkFsbG93YWJsZSBzZXJ2aWNlIGFuZCBwcm9kdWN0IGNvZGVzLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtb2RpZmllciIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlNlcnZpY2UvUHJvZHVjdCBiaWxsaW5nIG1vZGlmaWVycyIgZGVmaW5pdGlvbj0iSXRlbSB0eXBpZmljYXRpb24gb3IgbW9kaWZpZXJzIGNvZGVzIHRvIGNvbnZleSBhZGRpdGlvbmFsIGNvbnRleHQgZm9yIHRoZSBwcm9kdWN0IG9yIHNlcnZpY2UuIiBjb21tZW50PSJGb3IgZXhhbXBsZSBpbiBPcmFsIHdoZXRoZXIgdGhlIHRyZWF0bWVudCBpcyBjb3NtZXRpYyBvciBhc3NvY2lhdGVkIHdpdGggVE1KLCBvciBmb3IgTWVkaWNhbCB3aGV0aGVyIHRoZSB0cmVhdG1lbnQgd2FzIG91dHNpZGUgdGhlIGNsaW5pYyBvciBvdXRzaWRlIG9mIG9mZmljZSBob3Vycy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTW9kaWZpZXJzIiBkZXNjcmlwdGlvbj0iSXRlbSB0eXBlIG9yIG1vZGlmaWVycyBjb2RlcywgZWcgZm9yIE9yYWwgd2hldGhlciB0aGUgdHJlYXRtZW50IGlzIGNvc21ldGljIG9yIGFzc29jaWF0ZWQgd2l0aCBUTUosIG9yIGFuIGFwcGxpYW5jZSB3YXMgbG9zdCBvciBzdG9sZW4uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InF1YW50aXR5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvdW50IG9mIHByb2R1Y3RzIG9yIHNlcnZpY2VzIiBkZWZpbml0aW9uPSJUaGUgbnVtYmVyIG9mIHJlcGV0aXRpb25zIG9mIGEgc2VydmljZSBvciBwcm9kdWN0LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ1bml0UHJpY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJGZWUsIGNoYXJnZSBvciBjb3N0IHBlciBpdGVtIiBkZWZpbml0aW9uPSJJZiB0aGUgaXRlbSBpcyBub3QgYSBncm91cCB0aGVuIHRoaXMgaXMgdGhlIGZlZSBmb3IgdGhlIHByb2R1Y3Qgb3Igc2VydmljZSwgb3RoZXJ3aXNlIHRoaXMgaXMgdGhlIHRvdGFsIG9mIHRoZSBmZWVzIGZvciB0aGUgZGV0YWlscyBvZiB0aGUgZ3JvdXAuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImZhY3RvciIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlByaWNlIHNjYWxpbmcgZmFjdG9yIiBkZWZpbml0aW9uPSJBIHJlYWwgbnVtYmVyIHRoYXQgcmVwcmVzZW50cyBhIG11bHRpcGxpZXIgdXNlZCBpbiBkZXRlcm1pbmluZyB0aGUgb3ZlcmFsbCB2YWx1ZSBvZiBzZXJ2aWNlcyBkZWxpdmVyZWQgYW5kL29yIGdvb2RzIHJlY2VpdmVkLiBUaGUgY29uY2VwdCBvZiBhIEZhY3RvciBhbGxvd3MgZm9yIGEgZGlzY291bnQgb3Igc3VyY2hhcmdlIG11bHRpcGxpZXIgdG8gYmUgYXBwbGllZCB0byBhIG1vbmV0YXJ5IGFtb3VudC4iIGNvbW1lbnQ9IlRvIHNob3cgYSAxMCUgc2VuaW9yJ3MgZGlzY291bnQsIHRoZSB2YWx1ZSBlbnRlcmVkIGlzOiAwLjkwICgxLjAwIC0gMC4xMCkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5ldCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRvdGFsIGl0ZW0gY29zdCIgZGVmaW5pdGlvbj0iVGhlIHF1YW50aXR5IHRpbWVzIHRoZSB1bml0IHByaWNlIGZvciBhbiBhZGRpdGlvbmFsIHNlcnZpY2Ugb3IgcHJvZHVjdCBvciBjaGFyZ2UuIiBjb21tZW50PSJGb3IgZXhhbXBsZSwgdGhlIGZvcm11bGE6IHF1YW50aXR5ICogdW5pdFByaWNlICogZmFjdG9yICA9IG5ldC4gUXVhbnRpdHkgYW5kIGZhY3RvciBhcmUgYXNzdW1lZCB0byBiZSAxIGlmIG5vdCBzdXBwbGllZC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZU51bWJlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBcHBsaWNhYmxlIG5vdGUgbnVtYmVycyIgZGVmaW5pdGlvbj0iVGhlIG51bWJlcnMgYXNzb2NpYXRlZCB3aXRoIG5vdGVzIGJlbG93IHdoaWNoIGFwcGx5IHRvIHRoZSBhZGp1ZGljYXRpb24gb2YgdGhpcyBpdGVtLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFkanVkaWNhdGlvbiIgZGVzY3JpcHRpb249IkFkZGVkIGl0ZW1zIGRldGFpbCBhZGp1ZGljYXRpb24iIGRlZmluaXRpb249IlRoZSBhZGp1ZGljYXRpb24gcmVzdWx0cy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IkNsYWltUmVzcG9uc2UuSXRlbS5BZGp1ZGljYXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YkRldGFpbCIgZGVzY3JpcHRpb249Ikluc3VyZXIgYWRkZWQgbGluZSBpdGVtcyIgZGVmaW5pdGlvbj0iVGhlIHRoaXJkLXRpZXIgc2VydmljZSBhZGp1ZGljYXRpb25zIGZvciBwYXlvciBhZGRlZCBzZXJ2aWNlcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbVJlc3BvbnNlLkFkZEl0ZW0uRGV0YWlsLlN1YkRldGFpbCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ2xhaW1SZXNwb25zZS5BZGRJdGVtLkRldGFpbC5TdWJEZXRhaWwiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InByb2R1Y3RPclNlcnZpY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkJpbGxpbmcsIHNlcnZpY2UsIHByb2R1Y3QsIG9yIGRydWcgY29kZSIgZGVmaW5pdGlvbj0iV2hlbiB0aGUgdmFsdWUgaXMgYSBncm91cCBjb2RlIHRoZW4gdGhpcyBpdGVtIGNvbGxlY3RzIGEgc2V0IG9mIHJlbGF0ZWQgY2xhaW0gZGV0YWlscywgb3RoZXJ3aXNlIHRoaXMgY29udGFpbnMgdGhlIHByb2R1Y3QsIHNlcnZpY2UsIGRydWcgb3Igb3RoZXIgYmlsbGluZyBjb2RlIGZvciB0aGUgaXRlbS4iIGNvbW1lbnQ9IklmIHRoaXMgaXMgYW4gYWN0dWFsIHNlcnZpY2Ugb3IgcHJvZHVjdCBsaW5lLCBpLmUuIG5vdCBhIEdyb3VwLCB0aGVuIHVzZSBjb2RlIHRvIGluZGljYXRlIHRoZSBQcm9mZXNzaW9uYWwgU2VydmljZSBvciBQcm9kdWN0IHN1cHBsaWVkIChlLmcuIENUUCwgSENQQ1MsIFVTQ0xTLCBJQ0QxMCwgTkNQRFAsIERJTiwgUnhOb3JtLCBBQ0hJLCBDQ0kpLiBJZiBhIGdyb3VwaW5nIGl0ZW0gdGhlbiB1c2UgYSBncm91cCBjb2RlIHRvIGluZGljYXRlIHRoZSB0eXBlIG9mIHRoaW5nIGJlaW5nIGdyb3VwZWQgZS5nLiAnZ2xhc3Nlcycgb3IgJ2NvbXBvdW5kJy4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTZXJ2aWNlUHJvZHVjdCIgZGVzY3JpcHRpb249IkFsbG93YWJsZSBzZXJ2aWNlIGFuZCBwcm9kdWN0IGNvZGVzLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtb2RpZmllciIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlNlcnZpY2UvUHJvZHVjdCBiaWxsaW5nIG1vZGlmaWVycyIgZGVmaW5pdGlvbj0iSXRlbSB0eXBpZmljYXRpb24gb3IgbW9kaWZpZXJzIGNvZGVzIHRvIGNvbnZleSBhZGRpdGlvbmFsIGNvbnRleHQgZm9yIHRoZSBwcm9kdWN0IG9yIHNlcnZpY2UuIiBjb21tZW50PSJGb3IgZXhhbXBsZSBpbiBPcmFsIHdoZXRoZXIgdGhlIHRyZWF0bWVudCBpcyBjb3NtZXRpYyBvciBhc3NvY2lhdGVkIHdpdGggVE1KLCBvciBmb3IgTWVkaWNhbCB3aGV0aGVyIHRoZSB0cmVhdG1lbnQgd2FzIG91dHNpZGUgdGhlIGNsaW5pYyBvciBvdXRzaWRlIG9mIG9mZmljZSBob3Vycy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTW9kaWZpZXJzIiBkZXNjcmlwdGlvbj0iSXRlbSB0eXBlIG9yIG1vZGlmaWVycyBjb2RlcywgZWcgZm9yIE9yYWwgd2hldGhlciB0aGUgdHJlYXRtZW50IGlzIGNvc21ldGljIG9yIGFzc29jaWF0ZWQgd2l0aCBUTUosIG9yIGFuIGFwcGxpYW5jZSB3YXMgbG9zdCBvciBzdG9sZW4uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InF1YW50aXR5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvdW50IG9mIHByb2R1Y3RzIG9yIHNlcnZpY2VzIiBkZWZpbml0aW9uPSJUaGUgbnVtYmVyIG9mIHJlcGV0aXRpb25zIG9mIGEgc2VydmljZSBvciBwcm9kdWN0LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ1bml0UHJpY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJGZWUsIGNoYXJnZSBvciBjb3N0IHBlciBpdGVtIiBkZWZpbml0aW9uPSJJZiB0aGUgaXRlbSBpcyBub3QgYSBncm91cCB0aGVuIHRoaXMgaXMgdGhlIGZlZSBmb3IgdGhlIHByb2R1Y3Qgb3Igc2VydmljZSwgb3RoZXJ3aXNlIHRoaXMgaXMgdGhlIHRvdGFsIG9mIHRoZSBmZWVzIGZvciB0aGUgZGV0YWlscyBvZiB0aGUgZ3JvdXAuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImZhY3RvciIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlByaWNlIHNjYWxpbmcgZmFjdG9yIiBkZWZpbml0aW9uPSJBIHJlYWwgbnVtYmVyIHRoYXQgcmVwcmVzZW50cyBhIG11bHRpcGxpZXIgdXNlZCBpbiBkZXRlcm1pbmluZyB0aGUgb3ZlcmFsbCB2YWx1ZSBvZiBzZXJ2aWNlcyBkZWxpdmVyZWQgYW5kL29yIGdvb2RzIHJlY2VpdmVkLiBUaGUgY29uY2VwdCBvZiBhIEZhY3RvciBhbGxvd3MgZm9yIGEgZGlzY291bnQgb3Igc3VyY2hhcmdlIG11bHRpcGxpZXIgdG8gYmUgYXBwbGllZCB0byBhIG1vbmV0YXJ5IGFtb3VudC4iIGNvbW1lbnQ9IlRvIHNob3cgYSAxMCUgc2VuaW9yJ3MgZGlzY291bnQsIHRoZSB2YWx1ZSBlbnRlcmVkIGlzOiAwLjkwICgxLjAwIC0gMC4xMCkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5ldCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRvdGFsIGl0ZW0gY29zdCIgZGVmaW5pdGlvbj0iVGhlIHF1YW50aXR5IHRpbWVzIHRoZSB1bml0IHByaWNlIGZvciBhbiBhZGRpdGlvbmFsIHNlcnZpY2Ugb3IgcHJvZHVjdCBvciBjaGFyZ2UuIiBjb21tZW50PSJGb3IgZXhhbXBsZSwgdGhlIGZvcm11bGE6IHF1YW50aXR5ICogdW5pdFByaWNlICogZmFjdG9yICA9IG5ldC4gUXVhbnRpdHkgYW5kIGZhY3RvciBhcmUgYXNzdW1lZCB0byBiZSAxIGlmIG5vdCBzdXBwbGllZC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZU51bWJlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBcHBsaWNhYmxlIG5vdGUgbnVtYmVycyIgZGVmaW5pdGlvbj0iVGhlIG51bWJlcnMgYXNzb2NpYXRlZCB3aXRoIG5vdGVzIGJlbG93IHdoaWNoIGFwcGx5IHRvIHRoZSBhZGp1ZGljYXRpb24gb2YgdGhpcyBpdGVtLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFkanVkaWNhdGlvbiIgZGVzY3JpcHRpb249IkFkZGVkIGl0ZW1zIGRldGFpbCBhZGp1ZGljYXRpb24iIGRlZmluaXRpb249IlRoZSBhZGp1ZGljYXRpb24gcmVzdWx0cy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IkNsYWltUmVzcG9uc2UuSXRlbS5BZGp1ZGljYXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNsYWltUmVzcG9uc2UuRXJyb3IiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9Iml0ZW1TZXF1ZW5jZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikl0ZW0gc2VxdWVuY2UgbnVtYmVyIiBkZWZpbml0aW9uPSJUaGUgc2VxdWVuY2UgbnVtYmVyIG9mIHRoZSBsaW5lIGl0ZW0gc3VibWl0dGVkIHdoaWNoIGNvbnRhaW5zIHRoZSBlcnJvci4gVGhpcyB2YWx1ZSBpcyBvbWl0dGVkIHdoZW4gdGhlIGVycm9yIG9jY3VycyBvdXRzaWRlIG9mIHRoZSBpdGVtIHN0cnVjdHVyZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGV0YWlsU2VxdWVuY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEZXRhaWwgc2VxdWVuY2UgbnVtYmVyIiBkZWZpbml0aW9uPSJUaGUgc2VxdWVuY2UgbnVtYmVyIG9mIHRoZSBkZXRhaWwgd2l0aGluIHRoZSBsaW5lIGl0ZW0gc3VibWl0dGVkIHdoaWNoIGNvbnRhaW5zIHRoZSBlcnJvci4gVGhpcyB2YWx1ZSBpcyBvbWl0dGVkIHdoZW4gdGhlIGVycm9yIG9jY3VycyBvdXRzaWRlIG9mIHRoZSBpdGVtIHN0cnVjdHVyZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViRGV0YWlsU2VxdWVuY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJTdWJkZXRhaWwgc2VxdWVuY2UgbnVtYmVyIiBkZWZpbml0aW9uPSJUaGUgc2VxdWVuY2UgbnVtYmVyIG9mIHRoZSBzdWItZGV0YWlsIHdpdGhpbiB0aGUgZGV0YWlsIHdpdGhpbiB0aGUgbGluZSBpdGVtIHN1Ym1pdHRlZCB3aGljaCBjb250YWlucyB0aGUgZXJyb3IuIFRoaXMgdmFsdWUgaXMgb21pdHRlZCB3aGVuIHRoZSBlcnJvciBvY2N1cnMgb3V0c2lkZSBvZiB0aGUgaXRlbSBzdHJ1Y3R1cmUuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkVycm9yIGNvZGUgZGV0YWlsaW5nIHByb2Nlc3NpbmcgaXNzdWVzIiBkZWZpbml0aW9uPSJBbiBlcnJvciBjb2RlLCBmcm9tIGEgc3BlY2lmaWVkIGNvZGUgc3lzdGVtLCB3aGljaCBkZXRhaWxzIHdoeSB0aGUgY2xhaW0gY291bGQgbm90IGJlIGFkanVkaWNhdGVkLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkFkanVkaWNhdGlvbkVycm9yIiBkZXNjcmlwdGlvbj0iVGhlIGFkanVkaWNhdGlvbiBlcnJvciBjb2Rlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ2xhaW1SZXNwb25zZS5JbnN1cmFuY2UiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InNlcXVlbmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdXJhbmNlIGluc3RhbmNlIGlkZW50aWZpZXIiIGRlZmluaXRpb249IkEgbnVtYmVyIHRvIHVuaXF1ZWx5IGlkZW50aWZ5IGluc3VyYW5jZSBlbnRyaWVzIGFuZCBwcm92aWRlIGEgc2VxdWVuY2Ugb2YgY292ZXJhZ2VzIHRvIGNvbnZleSBjb29yZGluYXRpb24gb2YgYmVuZWZpdCBvcmRlci4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jYWwiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJDb3ZlcmFnZSB0byBiZSB1c2VkIGZvciBhZGp1ZGljYXRpb24iIGRlZmluaXRpb249IkEgZmxhZyB0byBpbmRpY2F0ZSB0aGF0IHRoaXMgQ292ZXJhZ2UgaXMgdG8gYmUgdXNlZCBmb3IgYWRqdWRpY2F0aW9uIG9mIHRoaXMgY2xhaW0gd2hlbiBzZXQgdG8gdHJ1ZS4iIGNvbW1lbnQ9IkEgcGF0aWVudCBtYXkgKHdpbGwpIGhhdmUgbXVsdGlwbGUgaW5zdXJhbmNlIHBvbGljaWVzIHdoaWNoIHByb3ZpZGUgcmVpbWJ1cnNlbWVudCBmb3IgaGVhbHRoY2FyZSBzZXJ2aWNlcyBhbmQgcHJvZHVjdHMuIEZvciBleGFtcGxlIGEgcGVyc29uIG1heSBhbHNvIGJlIGNvdmVyZWQgYnkgdGhlaXIgc3BvdXNlJ3MgcG9saWN5IGFuZCBib3RoIGFwcGVhciBpbiB0aGUgbGlzdCAoYW5kIG1heSBiZSBmcm9tIHRoZSBzYW1lIGluc3VyZXIpLiBUaGlzIGZsYWcgd2lsbCBiZSBzZXQgdG8gdHJ1ZSBmb3Igb25seSBvbmUgb2YgdGhlIGxpc3RlZCBwb2xpY2llcyBhbmQgdGhhdCBwb2xpY3kgd2lsbCBiZSB1c2VkIGZvciBhZGp1ZGljYXRpbmcgdGhpcyBjbGFpbS4gT3RoZXIgY2xhaW1zIHdvdWxkIGJlIGNyZWF0ZWQgdG8gcmVxdWVzdCBhZGp1ZGljYXRpb24gYWdhaW5zdCB0aGUgb3RoZXIgbGlzdGVkIHBvbGljaWVzLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJjb3ZlcmFnZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJJbnN1cmFuY2UgaW5mb3JtYXRpb24iIGRlZmluaXRpb249IlJlZmVyZW5jZSB0byB0aGUgaW5zdXJhbmNlIGNhcmQgbGV2ZWwgaW5mb3JtYXRpb24gY29udGFpbmVkIGluIHRoZSBDb3ZlcmFnZSByZXNvdXJjZS4gVGhlIGNvdmVyYWdlIGlzc3VpbmcgaW5zdXJlciB3aWxsIHVzZSB0aGVzZSBkZXRhaWxzIHRvIGxvY2F0ZSB0aGUgcGF0aWVudCdzIGFjdHVhbCBjb3ZlcmFnZSB3aXRoaW4gdGhlIGluc3VyZXIncyBpbmZvcm1hdGlvbiBzeXN0ZW0uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJ1c2luZXNzQXJyYW5nZW1lbnQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkFkZGl0aW9uYWwgcHJvdmlkZXIgY29udHJhY3QgbnVtYmVyIiBkZWZpbml0aW9uPSJBIGJ1c2luZXNzIGFncmVlbWVudCBudW1iZXIgZXN0YWJsaXNoZWQgYmV0d2VlbiB0aGUgcHJvdmlkZXIgYW5kIHRoZSBpbnN1cmVyIGZvciBzcGVjaWFsIGJ1c2luZXNzIHByb2Nlc3NpbmcgcHVycG9zZXMuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNsYWltUmVzcG9uc2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iQWRqdWRpY2F0aW9uIHJlc3VsdHMiIGRlZmluaXRpb249IlRoZSByZXN1bHQgb2YgdGhlIGFkanVkaWNhdGlvbiBvZiB0aGUgbGluZSBpdGVtcyBmb3IgdGhlIENvdmVyYWdlIHNwZWNpZmllZCBpbiB0aGlzIGluc3VyYW5jZS4iIGNvbW1lbnQ9Ik11c3Qgbm90IGJlIHNwZWNpZmllZCB3aGVuICdmb2NhbD10cnVlJyBmb3IgdGhpcyBpbnN1cmFuY2UuIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNsYWltUmVzcG9uc2UuSXRlbSIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaXRlbVNlcXVlbmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iQ2xhaW0gaXRlbSBpbnN0YW5jZSBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJBIG51bWJlciB0byB1bmlxdWVseSByZWZlcmVuY2UgdGhlIGNsYWltIGl0ZW0gZW50cmllcy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZU51bWJlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBcHBsaWNhYmxlIG5vdGUgbnVtYmVycyIgZGVmaW5pdGlvbj0iVGhlIG51bWJlcnMgYXNzb2NpYXRlZCB3aXRoIG5vdGVzIGJlbG93IHdoaWNoIGFwcGx5IHRvIHRoZSBhZGp1ZGljYXRpb24gb2YgdGhpcyBpdGVtLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFkanVkaWNhdGlvbiIgZGVzY3JpcHRpb249IkFkanVkaWNhdGlvbiBkZXRhaWxzIiBkZWZpbml0aW9uPSJJZiB0aGlzIGl0ZW0gaXMgYSBncm91cCB0aGVuIHRoZSB2YWx1ZXMgaGVyZSBhcmUgYSBzdW1tYXJ5IG9mIHRoZSBhZGp1ZGljYXRpb24gb2YgdGhlIGRldGFpbCBpdGVtcy4gSWYgdGhpcyBpdGVtIGlzIGEgc2ltcGxlIHByb2R1Y3Qgb3Igc2VydmljZSB0aGVuIHRoaXMgaXMgdGhlIHJlc3VsdCBvZiB0aGUgYWRqdWRpY2F0aW9uIG9mIHRoaXMgaXRlbS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ2xhaW1SZXNwb25zZS5JdGVtLkFkanVkaWNhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGV0YWlsIiBkZXNjcmlwdGlvbj0iQWRqdWRpY2F0aW9uIGZvciBjbGFpbSBkZXRhaWxzIiBkZWZpbml0aW9uPSJBIGNsYWltIGRldGFpbC4gRWl0aGVyIGEgc2ltcGxlIChhIHByb2R1Y3Qgb3Igc2VydmljZSkgb3IgYSAnZ3JvdXAnIG9mIHN1Yi1kZXRhaWxzIHdoaWNoIGFyZSBzaW1wbGUgaXRlbXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ2xhaW1SZXNwb25zZS5JdGVtLkRldGFpbCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ2xhaW1SZXNwb25zZS5JdGVtLkFkanVkaWNhdGlvbiIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRoaXMgY29kZSBpcyBmaXhlZCB0byAnc3VibWl0dGVkJyB0byBpbmRpY2F0ZSB0aGF0IHRoZSBhZGp1ZGljYXRpb24gcmVzdWx0IGlzIG9uIHdoYXQgd2FzIHN1Ym1pdHRlZC4iIGRlZmluaXRpb249IkEgY29kZSB0byBpbmRpY2F0ZSB0aGUgaW5mb3JtYXRpb24gdHlwZSBvZiB0aGlzIGFkanVkaWNhdGlvbiByZWNvcmQuIEluZm9ybWF0aW9uIHR5cGVzIG1heSBpbmNsdWRlIHRoZSB2YWx1ZSBzdWJtaXR0ZWQsIG1heGltdW0gdmFsdWVzIG9yIHBlcmNlbnRhZ2VzIGFsbG93ZWQgb3IgcGF5YWJsZSB1bmRlciB0aGUgcGxhbiwgYW1vdW50cyB0aGF0OiB0aGUgcGF0aWVudCBpcyByZXNwb25zaWJsZSBmb3IgaW4gYWdncmVnYXRlIG9yIHBlcnRhaW5pbmcgdG8gdGhpcyBpdGVtOyBhbW91bnRzIHBhaWQgYnkgb3RoZXIgY292ZXJhZ2VzOyBhbmQsIHRoZSBiZW5lZml0IHBheWFibGUgZm9yIHRoaXMgaXRlbS4iIGNvbW1lbnQ9IkZvciBleGFtcGxlIGNvZGVzIGluZGljYXRpbmc6IENvLVBheSwgZGVkdWN0aWJsZSwgZWxpZ2libGUsIGJlbmVmaXQsIHRheCwgZXRjLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJBZGp1ZGljYXRpb24iIGRlc2NyaXB0aW9uPSJUaGUgYWRqdWRpY2F0aW9uIGNvZGVzLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkV4cGxhbmF0aW9uIG9mIGFkanVkaWNhdGlvbiBvdXRjb21lIiBkZWZpbml0aW9uPSJBIGNvZGUgc3VwcG9ydGluZyB0aGUgdW5kZXJzdGFuZGluZyBvZiB0aGUgYWRqdWRpY2F0aW9uIHJlc3VsdCBhbmQgZXhwbGFpbmluZyB2YXJpYW5jZSBmcm9tIGV4cGVjdGVkIGFtb3VudC4iIGNvbW1lbnQ9IkZvciBleGFtcGxlIG1heSBpbmRpY2F0ZSB0aGF0IHRoZSBmdW5kcyBmb3IgdGhpcyBiZW5lZml0IHR5cGUgaGF2ZSBiZWVuIGV4aGF1c3RlZC4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJBZGp1ZGljYXRpb25SZWFzb24iIGRlc2NyaXB0aW9uPSJUaGUgYWRqdWRpY2F0aW9uIHJlYXNvbiBjb2Rlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYW1vdW50IiBlbGVtZW50VHlwZT0iU3lzdGVtLkRlY2ltYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTW9uZXRhcnkgYW1vdW50IiBkZWZpbml0aW9uPSJNb25ldGFyeSBhbW91bnQgYXNzb2NpYXRlZCB3aXRoIHRoZSBjYXRlZ29yeS4iIGNvbW1lbnQ9IkZvciBleGFtcGxlOiBhbW91bnQgc3VibWl0dGVkLCBlbGlnaWJsZSBhbW91bnQsIGNvLXBheW1lbnQsIGFuZCBiZW5lZml0IHBheWFibGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik5vbi1tb25ldGFyeSB2YWx1ZSIgZGVmaW5pdGlvbj0iQSBub24tbW9uZXRhcnkgdmFsdWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBjYXRlZ29yeS4gTXV0dWFsbHkgZXhjbHVzaXZlIHRvIHRoZSBhbW91bnQgZWxlbWVudCBhYm92ZS4iIGNvbW1lbnQ9IkZvciBleGFtcGxlOiBlbGlnaWJsZSBwZXJjZW50YWdlIG9yIGNvLXBheW1lbnQgcGVyY2VudGFnZS4iLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ2xhaW1SZXNwb25zZS5JdGVtLkRldGFpbCIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGV0YWlsU2VxdWVuY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJDbGFpbSBkZXRhaWwgaW5zdGFuY2UgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iQSBudW1iZXIgdG8gdW5pcXVlbHkgcmVmZXJlbmNlIHRoZSBjbGFpbSBkZXRhaWwgZW50cnkuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlTnVtYmVyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkFwcGxpY2FibGUgbm90ZSBudW1iZXJzIiBkZWZpbml0aW9uPSJUaGUgbnVtYmVycyBhc3NvY2lhdGVkIHdpdGggbm90ZXMgYmVsb3cgd2hpY2ggYXBwbHkgdG8gdGhlIGFkanVkaWNhdGlvbiBvZiB0aGlzIGl0ZW0uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYWRqdWRpY2F0aW9uIiBkZXNjcmlwdGlvbj0iRGV0YWlsIGxldmVsIGFkanVkaWNhdGlvbiBkZXRhaWxzIiBkZWZpbml0aW9uPSJUaGUgYWRqdWRpY2F0aW9uIHJlc3VsdHMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJDbGFpbVJlc3BvbnNlLkl0ZW0uQWRqdWRpY2F0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJEZXRhaWwiIGRlc2NyaXB0aW9uPSJBZGp1ZGljYXRpb24gZm9yIGNsYWltIHN1Yi1kZXRhaWxzIiBkZWZpbml0aW9uPSJBIHN1Yi1kZXRhaWwgYWRqdWRpY2F0aW9uIG9mIGEgc2ltcGxlIHByb2R1Y3Qgb3Igc2VydmljZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbVJlc3BvbnNlLkl0ZW0uRGV0YWlsLlN1YkRldGFpbCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ2xhaW1SZXNwb25zZS5JdGVtLkRldGFpbC5TdWJEZXRhaWwiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YkRldGFpbFNlcXVlbmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iQ2xhaW0gc3ViLWRldGFpbCBpbnN0YW5jZSBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJBIG51bWJlciB0byB1bmlxdWVseSByZWZlcmVuY2UgdGhlIGNsYWltIHN1Yi1kZXRhaWwgZW50cnkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGVOdW1iZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iQXBwbGljYWJsZSBub3RlIG51bWJlcnMiIGRlZmluaXRpb249IlRoZSBudW1iZXJzIGFzc29jaWF0ZWQgd2l0aCBub3RlcyBiZWxvdyB3aGljaCBhcHBseSB0byB0aGUgYWRqdWRpY2F0aW9uIG9mIHRoaXMgaXRlbS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhZGp1ZGljYXRpb24iIGRlc2NyaXB0aW9uPSJTdWJkZXRhaWwgbGV2ZWwgYWRqdWRpY2F0aW9uIGRldGFpbHMiIGRlZmluaXRpb249IlRoZSBhZGp1ZGljYXRpb24gcmVzdWx0cy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IkNsYWltUmVzcG9uc2UuSXRlbS5BZGp1ZGljYXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNsYWltUmVzcG9uc2UuUGF5bWVudCIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUGFydGlhbCBvciBjb21wbGV0ZSBwYXltZW50IiBkZWZpbml0aW9uPSJXaGV0aGVyIHRoaXMgcmVwcmVzZW50cyBwYXJ0aWFsIG9yIGNvbXBsZXRlIHBheW1lbnQgb2YgdGhlIGJlbmVmaXRzIHBheWFibGUuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUGF5bWVudFR5cGUiIGRlc2NyaXB0aW9uPSJUaGUgdHlwZSAocGFydGlhbCwgY29tcGxldGUpIG9mIHRoZSBwYXltZW50LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhZGp1c3RtZW50IiBlbGVtZW50VHlwZT0iU3lzdGVtLkRlY2ltYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUGF5bWVudCBhZGp1c3RtZW50IGZvciBub24tY2xhaW0gaXNzdWVzIiBkZWZpbml0aW9uPSJUb3RhbCBhbW91bnQgb2YgYWxsIGFkanVzdG1lbnRzIHRvIHRoaXMgcGF5bWVudCBpbmNsdWRlZCBpbiB0aGlzIHRyYW5zYWN0aW9uIHdoaWNoIGFyZSBub3QgcmVsYXRlZCB0byB0aGlzIGNsYWltJ3MgYWRqdWRpY2F0aW9uLiIgY29tbWVudD0iSW5zdXJlcnMgd2lsbCBkZWR1Y3QgYW1vdW50cyBvd2luZyBmcm9tIHRoZSBwcm92aWRlciAoYWRqdXN0bWVudCksIHN1Y2ggYXMgYSBwcmlvciBvdmVycGF5bWVudCwgZnJvbSB0aGUgYW1vdW50IG93aW5nIHRvIHRoZSBwcm92aWRlciAoYmVuZWZpdHMgcGF5YWJsZSkgd2hlbiBwYXltZW50IGlzIG1hZGUgdG8gdGhlIHByb3ZpZGVyLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJhZGp1c3RtZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJFeHBsYW5hdGlvbiBmb3IgdGhlIGFkanVzdG1lbnQiIGRlZmluaXRpb249IlJlYXNvbiBmb3IgdGhlIHBheW1lbnQgYWRqdXN0bWVudC4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJQYXltZW50QWRqdXN0bWVudFJlYXNvbiIgZGVzY3JpcHRpb249IlBheW1lbnQgQWRqdXN0bWVudCByZWFzb24gY29kZXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJFeHBlY3RlZCBkYXRlIG9mIHBheW1lbnQiIGRlZmluaXRpb249IkVzdGltYXRlZCBkYXRlIHRoZSBwYXltZW50IHdpbGwgYmUgaXNzdWVkIG9yIHRoZSBhY3R1YWwgaXNzdWUgZGF0ZSBvZiBwYXltZW50LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJhbW91bnQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQYXlhYmxlIGFtb3VudCBhZnRlciBhZGp1c3RtZW50IiBkZWZpbml0aW9uPSJCZW5lZml0cyBwYXlhYmxlIGxlc3MgYW55IHBheW1lbnQgYWRqdXN0bWVudC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgaWRlbnRpZmllciBmb3IgdGhlIHBheW1lbnQiIGRlZmluaXRpb249Iklzc3VlcidzIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgcGF5bWVudCBpbnN0cnVtZW50LiIgY29tbWVudD0iRm9yIGV4YW1wbGU6IEVGVCBudW1iZXIgb3IgY2hlY2sgbnVtYmVyLiIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDbGFpbVJlc3BvbnNlLlByb2Nlc3NOb3RlIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJudW1iZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOb3RlIGluc3RhbmNlIGlkZW50aWZpZXIiIGRlZmluaXRpb249IkEgbnVtYmVyIHRvIHVuaXF1ZWx5IGlkZW50aWZ5IGEgbm90ZSBlbnRyeS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5Ob3RlVHlwZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJkaXNwbGF5IHwgcHJpbnQgfCBwcmludG9wZXIiIGRlZmluaXRpb249IlRoZSBidXNpbmVzcyBwdXJwb3NlIG9mIHRoZSBub3RlIHRleHQuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTm90ZVR5cGUiIGRlc2NyaXB0aW9uPSJUaGUgcHJlc2VudGF0aW9uIHR5cGVzIG9mIG5vdGVzLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idGV4dCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTm90ZSBleHBsYW5hdG9yeSB0ZXh0IiBkZWZpbml0aW9uPSJUaGUgZXhwbGFuYXRpb24gb3IgZGVzY3JpcHRpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBwcm9jZXNzaW5nLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJsYW5ndWFnZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iTGFuZ3VhZ2Ugb2YgdGhlIHRleHQiIGRlZmluaXRpb249IkEgY29kZSB0byBkZWZpbmUgdGhlIGxhbmd1YWdlIHVzZWQgaW4gdGhlIHRleHQgb2YgdGhlIG5vdGUuIiBjb21tZW50PSJPbmx5IHJlcXVpcmVkIGlmIHRoZSBsYW5ndWFnZSBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgcmVzb3VyY2UgbGFuZ3VhZ2UuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTGFuZ3VhZ2UiIGRlc2NyaXB0aW9uPSJBIGh1bWFuIGxhbmd1YWdlLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNsYWltUmVzcG9uc2UuVG90YWwiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUeXBlIG9mIGFkanVkaWNhdGlvbiBpbmZvcm1hdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRvIGluZGljYXRlIHRoZSBpbmZvcm1hdGlvbiB0eXBlIG9mIHRoaXMgYWRqdWRpY2F0aW9uIHJlY29yZC4gSW5mb3JtYXRpb24gdHlwZXMgbWF5IGluY2x1ZGU6IHRoZSB2YWx1ZSBzdWJtaXR0ZWQsIG1heGltdW0gdmFsdWVzIG9yIHBlcmNlbnRhZ2VzIGFsbG93ZWQgb3IgcGF5YWJsZSB1bmRlciB0aGUgcGxhbiwgYW1vdW50cyB0aGF0IHRoZSBwYXRpZW50IGlzIHJlc3BvbnNpYmxlIGZvciBpbiBhZ2dyZWdhdGUgb3IgcGVydGFpbmluZyB0byB0aGlzIGl0ZW0sIGFtb3VudHMgcGFpZCBieSBvdGhlciBjb3ZlcmFnZXMsIGFuZCB0aGUgYmVuZWZpdCBwYXlhYmxlIGZvciB0aGlzIGl0ZW0uIiBjb21tZW50PSJGb3IgZXhhbXBsZSBjb2RlcyBpbmRpY2F0aW5nOiBDby1QYXksIGRlZHVjdGlibGUsIGVsaWdpYmxlLCBiZW5lZml0LCB0YXgsIGV0Yy4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJBZGp1ZGljYXRpb24iIGRlc2NyaXB0aW9uPSJUaGUgYWRqdWRpY2F0aW9uIGNvZGVzLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhbW91bnQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJGaW5hbmNpYWwgdG90YWwgZm9yIHRoZSBjYXRlZ29yeSIgZGVmaW5pdGlvbj0iTW9uZXRhcnkgdG90YWwgYW1vdW50IGFzc29jaWF0ZWQgd2l0aCB0aGUgY2F0ZWdvcnkuIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNsYWltUmVzcG9uc2VTdGF0dXMiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDbGFpbVN0YXR1cyIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ29tbXVuaWNhdGlvbiIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtY29tbXVuaWNhdGlvbiIgbGFiZWw9IlFJQ29yZSBDb21tdW5pY2F0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJ0b3BpYyI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJVbmlxdWUgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iQnVzaW5lc3MgaWRlbnRpZmllcnMgYXNzaWduZWQgdG8gdGhpcyBjb21tdW5pY2F0aW9uIGJ5IHRoZSBwZXJmb3JtZXIgb3Igb3RoZXIgc3lzdGVtcyB3aGljaCByZW1haW4gY29uc3RhbnQgYXMgdGhlIHJlc291cmNlIGlzIHVwZGF0ZWQgYW5kIHByb3BhZ2F0ZXMgZnJvbSBzZXJ2ZXIgdG8gc2VydmVyLiIgY29tbWVudD0iVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIgKHNlZSBbZGlzY3Vzc2lvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS5odG1sI2lkZW50aWZpZXJzKSkuICBJdCBpcyBiZXN0IHByYWN0aWNlIGZvciB0aGUgaWRlbnRpZmllciB0byBvbmx5IGFwcGVhciBvbiBhIHNpbmdsZSByZXNvdXJjZSBpbnN0YW5jZSwgaG93ZXZlciBidXNpbmVzcyBwcmFjdGljZXMgbWF5IG9jY2FzaW9uYWxseSBkaWN0YXRlIHRoYXQgbXVsdGlwbGUgcmVzb3VyY2UgaW5zdGFuY2VzIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllciBjYW4gZXhpc3QgLSBwb3NzaWJseSBldmVuIHdpdGggZGlmZmVyZW50IHJlc291cmNlIHR5cGVzLiAgRm9yIGV4YW1wbGUsIG11bHRpcGxlIFBhdGllbnQgYW5kIGEgUGVyc29uIHJlc291cmNlIGluc3RhbmNlIG1pZ2h0IHNoYXJlIHRoZSBzYW1lIHNvY2lhbCBpbnN1cmFuY2UgbnVtYmVyLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc0Nhbm9uaWNhbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgRkhJUiBwcm90b2NvbCBvciBkZWZpbml0aW9uIiBkZWZpbml0aW9uPSJUaGUgVVJMIHBvaW50aW5nIHRvIGEgRkhJUi1kZWZpbmVkIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyc2V0IG9yIG90aGVyIGRlZmluaXRpb24gdGhhdCBpcyBhZGhlcmVkIHRvIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBDb21tdW5pY2F0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzVXJpIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3RhbnRpYXRlcyBleHRlcm5hbCBwcm90b2NvbCBvciBkZWZpbml0aW9uIiBkZWZpbml0aW9uPSJUaGUgVVJMIHBvaW50aW5nIHRvIGFuIGV4dGVybmFsbHkgbWFpbnRhaW5lZCBwcm90b2NvbCwgZ3VpZGVsaW5lLCBvcmRlcnNldCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgQ29tbXVuaWNhdGlvbi4iIGNvbW1lbnQ9IlRoaXMgbWlnaHQgYmUgYW4gSFRNTCBwYWdlLCBQREYsIGV0Yy4gb3IgY291bGQganVzdCBiZSBhIG5vbi1yZXNvbHZhYmxlIFVSSSBpZGVudGlmaWVyLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IlJlcXVlc3QgZnVsZmlsbGVkIGJ5IHRoaXMgY29tbXVuaWNhdGlvbiIgZGVmaW5pdGlvbj0iQW4gb3JkZXIsIHByb3Bvc2FsIG9yIHBsYW4gZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBDb21tdW5pY2F0aW9uLiIgY29tbWVudD0iVGhpcyBtdXN0IHBvaW50IHRvIHNvbWUgc29ydCBvZiBhICdSZXF1ZXN0JyByZXNvdXJjZSwgc3VjaCBhcyBDYXJlUGxhbiwgQ29tbXVuaWNhdGlvblJlcXVlc3QsIFNlcnZpY2VSZXF1ZXN0LCBNZWRpY2F0aW9uUmVxdWVzdCwgZXRjLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iUGFydCBvZiB0aGlzIGFjdGlvbiIgZGVmaW5pdGlvbj0iUGFydCBvZiB0aGlzIGFjdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImluUmVzcG9uc2VUbyIgZGVzY3JpcHRpb249IlJlcGx5IHRvIiBkZWZpbml0aW9uPSJQcmlvciBjb21tdW5pY2F0aW9uIHRoYXQgdGhpcyBjb21tdW5pY2F0aW9uIGlzIGluIHJlc3BvbnNlIHRvLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbW11bmljYXRpb25TdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icHJlcGFyYXRpb24gfCBpbi1wcm9ncmVzcyB8IG9uLWhvbGQgfCBzdG9wcGVkIHwgY29tcGxldGVkIHwgZW50ZXJlZC1pbi1lcnJvciB8IHVua25vd24iIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHRyYW5zbWlzc2lvbi4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIHRoZSBjb2RlcyBhYm9ydGVkIGFuZCBlbnRlcmVkLWluLWVycm9yIHRoYXQgbWFyayB0aGUgY29tbXVuaWNhdGlvbiBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJDb21tdW5pY2F0aW9uU3RhdHVzIiBkZXNjcmlwdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgY29tbXVuaWNhdGlvbi4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1c1JlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmVhc29uIGZvciBjdXJyZW50IHN0YXR1cyIgZGVmaW5pdGlvbj0iQ2FwdHVyZXMgdGhlIHJlYXNvbiBmb3IgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIENvbW11bmljYXRpb24uIiBjb21tZW50PSJUaGlzIGlzIGdlbmVyYWxseSBvbmx5IHVzZWQgZm9yICZxdW90O2V4Y2VwdGlvbiZxdW90OyBzdGF0dXNlcyBzdWNoIGFzICZxdW90O25vdC1kb25lJnF1b3Q7LCAmcXVvdDtzdXNwZW5kZWQmcXVvdDsgb3IgJnF1b3Q7YWJvcnRlZCZxdW90Oy4gVGhlIHJlYXNvbiBmb3IgcGVyZm9ybWluZyB0aGUgZXZlbnQgYXQgYWxsIGlzIGNhcHR1cmVkIGluIHJlYXNvbkNvZGUsIG5vdCBoZXJlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJNZXNzYWdlIGNhdGVnb3J5IiBkZWZpbml0aW9uPSJUaGUgdHlwZSBvZiBtZXNzYWdlIGNvbnZleWVkIHN1Y2ggYXMgYWxlcnQsIG5vdGlmaWNhdGlvbiwgcmVtaW5kZXIsIGluc3RydWN0aW9uLCBldGMuIiBjb21tZW50PSJUaGVyZSBtYXkgYmUgbXVsdGlwbGUgYXhlcyBvZiBjYXRlZ29yaXphdGlvbiBhbmQgb25lIGNvbW11bmljYXRpb24gbWF5IHNlcnZlIG11bHRpcGxlIHB1cnBvc2VzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InByaW9yaXR5IiBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbW11bmljYXRpb25Qcmlvcml0eSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyb3V0aW5lIHwgdXJnZW50IHwgYXNhcCB8IHN0YXQiIGRlZmluaXRpb249IkNoYXJhY3Rlcml6ZXMgaG93IHF1aWNrbHkgdGhlIHBsYW5uZWQgb3IgaW4gcHJvZ3Jlc3MgY29tbXVuaWNhdGlvbiBtdXN0IGJlIGFkZHJlc3NlZC4gSW5jbHVkZXMgY29uY2VwdHMgc3VjaCBhcyBzdGF0LCB1cmdlbnQsIHJvdXRpbmUuIiBjb21tZW50PSJVc2VkIHRvIHByaW9yaXRpemUgd29ya2Zsb3cgKHN1Y2ggYXMgd2hpY2ggY29tbXVuaWNhdGlvbiB0byByZWFkIGZpcnN0KSB3aGVuIHRoZSBjb21tdW5pY2F0aW9uIGlzIHBsYW5uZWQgb3IgaW4gcHJvZ3Jlc3MuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ29tbXVuaWNhdGlvblByaW9yaXR5IiBkZXNjcmlwdGlvbj0iQ29kZXMgaW5kaWNhdGluZyB0aGUgcmVsYXRpdmUgaW1wb3J0YW5jZSBvZiBhIGNvbW11bmljYXRpb24uIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtZWRpdW0iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBIGNoYW5uZWwgb2YgY29tbXVuaWNhdGlvbiIgZGVmaW5pdGlvbj0iQSBjaGFubmVsIHRoYXQgd2FzIHVzZWQgZm9yIHRoaXMgY29tbXVuaWNhdGlvbiAoZS5nLiBlbWFpbCwgZmF4KS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvbW11bmljYXRpb25NZWRpdW0iIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgY29tbXVuaWNhdGlvbiBtZWRpdW1zIHN1Y2ggYXMgcGhvbmUsIGZheCwgZW1haWwsIGluIHBlcnNvbiwgZXRjLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkZvY3VzIG9mIG1lc3NhZ2UiIGRlZmluaXRpb249IlRoZSBwYXRpZW50IG9yIGdyb3VwIHRoYXQgd2FzIHRoZSBmb2N1cyBvZiB0aGlzIGNvbW11bmljYXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ0b3BpYyIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRGVzY3JpcHRpb24gb2YgdGhlIHB1cnBvc2UvY29udGVudCIgZGVmaW5pdGlvbj0iRGVzY3JpcHRpb24gb2YgdGhlIHB1cnBvc2UvY29udGVudCwgc2ltaWxhciB0byBhIHN1YmplY3QgbGluZSBpbiBhbiBlbWFpbC4iIGNvbW1lbnQ9IkNvbW11bmljYXRpb24udG9waWMudGV4dCBjYW4gYmUgdXNlZCB3aXRob3V0IGFueSBjb2RpbmdzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYWJvdXQiIGRlc2NyaXB0aW9uPSJSZXNvdXJjZXMgdGhhdCBwZXJ0YWluIHRvIHRoaXMgY29tbXVuaWNhdGlvbiIgZGVmaW5pdGlvbj0iT3RoZXIgcmVzb3VyY2VzIHRoYXQgcGVydGFpbiB0byB0aGlzIGNvbW11bmljYXRpb24gYW5kIHRvIHdoaWNoIHRoaXMgY29tbXVuaWNhdGlvbiBzaG91bGQgYmUgYXNzb2NpYXRlZC4iIGNvbW1lbnQ9IkRvbid0IHVzZSBDb21tdW5pY2F0aW9uLmFib3V0IGVsZW1lbnQgd2hlbiBhIG1vcmUgc3BlY2lmaWMgZWxlbWVudCBleGlzdHMsIHN1Y2ggYXMgYmFzZWRPbiBvciByZWFzb25SZWZlcmVuY2UuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iRW5jb3VudGVyIGNyZWF0ZWQgYXMgcGFydCBvZiIgZGVmaW5pdGlvbj0iVGhlIEVuY291bnRlciBkdXJpbmcgd2hpY2ggdGhpcyBDb21tdW5pY2F0aW9uIHdhcyBjcmVhdGVkIG9yIHRvIHdoaWNoIHRoZSBjcmVhdGlvbiBvZiB0aGlzIHJlY29yZCBpcyB0aWdodGx5IGFzc29jaWF0ZWQuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgYWN0aXZpdGllcyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2VudCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIHNlbnQiIGRlZmluaXRpb249IlRoZSB0aW1lIHdoZW4gdGhpcyBjb21tdW5pY2F0aW9uIHdhcyBzZW50LiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVjZWl2ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hlbiByZWNlaXZlZCIgZGVmaW5pdGlvbj0iVGhlIHRpbWUgd2hlbiB0aGlzIGNvbW11bmljYXRpb24gYXJyaXZlZCBhdCB0aGUgZGVzdGluYXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWNpcGllbnQiIGRlc2NyaXB0aW9uPSJNZXNzYWdlIHJlY2lwaWVudCIgZGVmaW5pdGlvbj0iVGhlIGVudGl0eSAoZS5nLiBwZXJzb24sIG9yZ2FuaXphdGlvbiwgY2xpbmljYWwgaW5mb3JtYXRpb24gc3lzdGVtLCBjYXJlIHRlYW0gb3IgZGV2aWNlKSB3aGljaCB3YXMgdGhlIHRhcmdldCBvZiB0aGUgY29tbXVuaWNhdGlvbi4gSWYgcmVjZWlwdHMgbmVlZCB0byBiZSB0cmFja2VkIGJ5IGFuIGluZGl2aWR1YWwsIGEgc2VwYXJhdGUgcmVzb3VyY2UgaW5zdGFuY2Ugd2lsbCBuZWVkIHRvIGJlIGNyZWF0ZWQgZm9yIGVhY2ggcmVjaXBpZW50LiAgTXVsdGlwbGUgcmVjaXBpZW50IGNvbW11bmljYXRpb25zIGFyZSBpbnRlbmRlZCB3aGVyZSBlaXRoZXIgcmVjZWlwdHMgYXJlIG5vdCB0cmFja2VkIChlLmcuIGEgbWFzcyBtYWlsLW91dCkgb3IgYSByZWNlaXB0IGlzIGNhcHR1cmVkIGluIGFnZ3JlZ2F0ZSAoYWxsIGVtYWlscyBjb25maXJtZWQgcmVjZWl2ZWQgYnkgYSBwYXJ0aWN1bGFyIHRpbWUpLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InNlbmRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJNZXNzYWdlIHNlbmRlciIgZGVmaW5pdGlvbj0iVGhlIGVudGl0eSAoZS5nLiBwZXJzb24sIG9yZ2FuaXphdGlvbiwgY2xpbmljYWwgaW5mb3JtYXRpb24gc3lzdGVtLCBvciBkZXZpY2UpIHdoaWNoIHdhcyB0aGUgc291cmNlIG9mIHRoZSBjb21tdW5pY2F0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkluZGljYXRpb24gZm9yIG1lc3NhZ2UiIGRlZmluaXRpb249IlRoZSByZWFzb24gb3IganVzdGlmaWNhdGlvbiBmb3IgdGhlIGNvbW11bmljYXRpb24uIiBjb21tZW50PSJUZXh0dWFsIHJlYXNvbnMgY2FuIGJlIGNhcHR1cmVkIHVzaW5nIHJlYXNvbkNvZGUudGV4dC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ29tbXVuaWNhdGlvblJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBkZXNjcmliaW5nIHJlYXNvbnMgZm9yIHRoZSBvY2N1cnJlbmNlIG9mIGEgY29tbXVuaWNhdGlvbi4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2h5IHdhcyBjb21tdW5pY2F0aW9uIGRvbmU/IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgYW5vdGhlciByZXNvdXJjZSB3aG9zZSBleGlzdGVuY2UganVzdGlmaWVzIHRoaXMgY29tbXVuaWNhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBheWxvYWQiIGRlc2NyaXB0aW9uPSJNZXNzYWdlIHBheWxvYWQiIGRlZmluaXRpb249IlRleHQsIGF0dGFjaG1lbnQocyksIG9yIHJlc291cmNlKHMpIHRoYXQgd2FzIGNvbW11bmljYXRlZCB0byB0aGUgcmVjaXBpZW50LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbW11bmljYXRpb24uUGF5bG9hZCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIG1hZGUgYWJvdXQgdGhlIGNvbW11bmljYXRpb24iIGRlZmluaXRpb249IkFkZGl0aW9uYWwgbm90ZXMgb3IgY29tbWVudGFyeSBhYm91dCB0aGUgY29tbXVuaWNhdGlvbiBieSB0aGUgc2VuZGVyLCByZWNlaXZlciBvciBvdGhlciBpbnRlcmVzdGVkIHBhcnRpZXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0ic2VuZGVyIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9InJlY2lwaWVudCIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0ic3ViamVjdCIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0ic2VuZGVyIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJyZWNpcGllbnQiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iRW5jb3VudGVyIiByZWxhdGVkS2V5RWxlbWVudD0iZW5jb3VudGVyIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IkRldmljZSIgcmVsYXRlZEtleUVsZW1lbnQ9InNlbmRlciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJEZXZpY2UiIHJlbGF0ZWRLZXlFbGVtZW50PSJyZWNpcGllbnQiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUmVsYXRlZFBlcnNvbiIgcmVsYXRlZEtleUVsZW1lbnQ9InNlbmRlciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJSZWxhdGVkUGVyc29uIiByZWxhdGVkS2V5RWxlbWVudD0icmVjaXBpZW50Ii8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbW11bmljYXRpb24uUGF5bG9hZCIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29udGVudCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJNZXNzYWdlIHBhcnQgY29udGVudCIgZGVmaW5pdGlvbj0iQSBjb21tdW5pY2F0ZWQgY29udGVudCAob3IgZm9yIG11bHRpLXBhcnQgY29tbXVuaWNhdGlvbnMsIG9uZSBwb3J0aW9uIG9mIHRoZSBjb21tdW5pY2F0aW9uKS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQXR0YWNobWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbW11bmljYXRpb25Ob3REb25lIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1jb21tdW5pY2F0aW9ubm90ZG9uZSIgbGFiZWw9IlFpQ29yZSBDb21tdW5pY2F0aW9uIE5vdCBEb25lIiB0YXJnZXQ9IkNvbW11bmljYXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9InRvcGljIj4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVjb3JkZWQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuTm90RG9uZVJlY29yZGVkIiB0YXJnZXQ9IiVwYXJlbnQuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtcmVjb3JkZWQnXS52YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkV4dGVuc2lvbiIgZGVmaW5pdGlvbj0iQ2FwdHVyZXMgdGhlIHJlY29yZGVkIGRhdGUgb2YgdGhlIGV2ZW50LiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IlVuaXF1ZSBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJCdXNpbmVzcyBpZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIGNvbW11bmljYXRpb24gYnkgdGhlIHBlcmZvcm1lciBvciBvdGhlciBzeXN0ZW1zIHdoaWNoIHJlbWFpbiBjb25zdGFudCBhcyB0aGUgcmVzb3VyY2UgaXMgdXBkYXRlZCBhbmQgcHJvcGFnYXRlcyBmcm9tIHNlcnZlciB0byBzZXJ2ZXIuIiBjb21tZW50PSJUaGlzIGlzIGEgYnVzaW5lc3MgaWRlbnRpZmllciwgbm90IGEgcmVzb3VyY2UgaWRlbnRpZmllciAoc2VlIFtkaXNjdXNzaW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3Jlc291cmNlLmh0bWwjaWRlbnRpZmllcnMpKS4gIEl0IGlzIGJlc3QgcHJhY3RpY2UgZm9yIHRoZSBpZGVudGlmaWVyIHRvIG9ubHkgYXBwZWFyIG9uIGEgc2luZ2xlIHJlc291cmNlIGluc3RhbmNlLCBob3dldmVyIGJ1c2luZXNzIHByYWN0aWNlcyBtYXkgb2NjYXNpb25hbGx5IGRpY3RhdGUgdGhhdCBtdWx0aXBsZSByZXNvdXJjZSBpbnN0YW5jZXMgd2l0aCB0aGUgc2FtZSBpZGVudGlmaWVyIGNhbiBleGlzdCAtIHBvc3NpYmx5IGV2ZW4gd2l0aCBkaWZmZXJlbnQgcmVzb3VyY2UgdHlwZXMuICBGb3IgZXhhbXBsZSwgbXVsdGlwbGUgUGF0aWVudCBhbmQgYSBQZXJzb24gcmVzb3VyY2UgaW5zdGFuY2UgbWlnaHQgc2hhcmUgdGhlIHNhbWUgc29jaWFsIGluc3VyYW5jZSBudW1iZXIuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzQ2Fub25pY2FsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3RhbnRpYXRlcyBGSElSIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYSBGSElSLWRlZmluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXJzZXQgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIENvbW11bmljYXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNVcmkiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIGV4dGVybmFsIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYW4gZXh0ZXJuYWxseSBtYWludGFpbmVkIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyc2V0IG9yIG90aGVyIGRlZmluaXRpb24gdGhhdCBpcyBhZGhlcmVkIHRvIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBDb21tdW5pY2F0aW9uLiIgY29tbWVudD0iVGhpcyBtaWdodCBiZSBhbiBIVE1MIHBhZ2UsIFBERiwgZXRjLiBvciBjb3VsZCBqdXN0IGJlIGEgbm9uLXJlc29sdmFibGUgVVJJIGlkZW50aWZpZXIuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iUmVxdWVzdCBmdWxmaWxsZWQgYnkgdGhpcyBjb21tdW5pY2F0aW9uIiBkZWZpbml0aW9uPSJBbiBvcmRlciwgcHJvcG9zYWwgb3IgcGxhbiBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIENvbW11bmljYXRpb24uIiBjb21tZW50PSJUaGlzIG11c3QgcG9pbnQgdG8gc29tZSBzb3J0IG9mIGEgJ1JlcXVlc3QnIHJlc291cmNlLCBzdWNoIGFzIENhcmVQbGFuLCBDb21tdW5pY2F0aW9uUmVxdWVzdCwgU2VydmljZVJlcXVlc3QsIE1lZGljYXRpb25SZXF1ZXN0LCBldGMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHRoaXMgYWN0aW9uIiBkZWZpbml0aW9uPSJQYXJ0IG9mIHRoaXMgYWN0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5SZXNwb25zZVRvIiBkZXNjcmlwdGlvbj0iUmVwbHkgdG8iIGRlZmluaXRpb249IlByaW9yIGNvbW11bmljYXRpb24gdGhhdCB0aGlzIGNvbW11bmljYXRpb24gaXMgaW4gcmVzcG9uc2UgdG8uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ29tbXVuaWNhdGlvblN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJwcmVwYXJhdGlvbiB8IGluLXByb2dyZXNzIHwgbm90LWRvbmUgfCBvbi1ob2xkIHwgc3RvcHBlZCB8IGNvbXBsZXRlZCB8IGVudGVyZWQtaW4tZXJyb3IgfCB1bmtub3duIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSB0cmFuc21pc3Npb24uIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyB0aGUgY29kZXMgYWJvcnRlZCBhbmQgZW50ZXJlZC1pbi1lcnJvciB0aGF0IG1hcmsgdGhlIGNvbW11bmljYXRpb24gYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ29tbXVuaWNhdGlvblN0YXR1cyIgZGVzY3JpcHRpb249IlRoZSBzdGF0dXMgb2YgdGhlIGNvbW11bmljYXRpb24uIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXNSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlYXNvbiBmb3IgY3VycmVudCBzdGF0dXMiIGRlZmluaXRpb249IkNhcHR1cmVzIHRoZSByZWFzb24gZm9yIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBDb21tdW5pY2F0aW9uLiIgY29tbWVudD0iVGhpcyBpcyBnZW5lcmFsbHkgb25seSB1c2VkIGZvciAmcXVvdDtleGNlcHRpb24mcXVvdDsgc3RhdHVzZXMgc3VjaCBhcyAmcXVvdDtub3QtZG9uZSZxdW90OywgJnF1b3Q7c3VzcGVuZGVkJnF1b3Q7IG9yICZxdW90O2Fib3J0ZWQmcXVvdDsuIFRoZSByZWFzb24gZm9yIHBlcmZvcm1pbmcgdGhlIGV2ZW50IGF0IGFsbCBpcyBjYXB0dXJlZCBpbiByZWFzb25Db2RlLCBub3QgaGVyZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik1lc3NhZ2UgY2F0ZWdvcnkiIGRlZmluaXRpb249IlRoZSB0eXBlIG9mIG1lc3NhZ2UgY29udmV5ZWQgc3VjaCBhcyBhbGVydCwgbm90aWZpY2F0aW9uLCByZW1pbmRlciwgaW5zdHJ1Y3Rpb24sIGV0Yy4iIGNvbW1lbnQ9IlRoZXJlIG1heSBiZSBtdWx0aXBsZSBheGVzIG9mIGNhdGVnb3JpemF0aW9uIGFuZCBvbmUgY29tbXVuaWNhdGlvbiBtYXkgc2VydmUgbXVsdGlwbGUgcHVycG9zZXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvbW11bmljYXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBnZW5lcmFsIGNhdGVnb3JpZXMgb2YgY29tbXVuaWNhdGlvbnMgc3VjaCBhcyBhbGVydHMsIGluc3RydWN0aW9ucywgZXRjLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwcmlvcml0eSIgZWxlbWVudFR5cGU9IlFJQ29yZS5Db21tdW5pY2F0aW9uUHJpb3JpdHkiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icm91dGluZSB8IHVyZ2VudCB8IGFzYXAgfCBzdGF0IiBkZWZpbml0aW9uPSJDaGFyYWN0ZXJpemVzIGhvdyBxdWlja2x5IHRoZSBwbGFubmVkIG9yIGluIHByb2dyZXNzIGNvbW11bmljYXRpb24gbXVzdCBiZSBhZGRyZXNzZWQuIEluY2x1ZGVzIGNvbmNlcHRzIHN1Y2ggYXMgc3RhdCwgdXJnZW50LCByb3V0aW5lLiIgY29tbWVudD0iVXNlZCB0byBwcmlvcml0aXplIHdvcmtmbG93IChzdWNoIGFzIHdoaWNoIGNvbW11bmljYXRpb24gdG8gcmVhZCBmaXJzdCkgd2hlbiB0aGUgY29tbXVuaWNhdGlvbiBpcyBwbGFubmVkIG9yIGluIHByb2dyZXNzLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvbW11bmljYXRpb25Qcmlvcml0eSIgZGVzY3JpcHRpb249IkNvZGVzIGluZGljYXRpbmcgdGhlIHJlbGF0aXZlIGltcG9ydGFuY2Ugb2YgYSBjb21tdW5pY2F0aW9uLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibWVkaXVtIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQSBjaGFubmVsIG9mIGNvbW11bmljYXRpb24iIGRlZmluaXRpb249IkEgY2hhbm5lbCB0aGF0IHdhcyB1c2VkIGZvciB0aGlzIGNvbW11bmljYXRpb24gKGUuZy4gZW1haWwsIGZheCkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvbW11bmljYXRpb25NZWRpdW0iIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgY29tbXVuaWNhdGlvbiBtZWRpdW1zIHN1Y2ggYXMgcGhvbmUsIGZheCwgZW1haWwsIGluIHBlcnNvbiwgZXRjLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkZvY3VzIG9mIG1lc3NhZ2UiIGRlZmluaXRpb249IlRoZSBwYXRpZW50IG9yIGdyb3VwIHRoYXQgd2FzIHRoZSBmb2N1cyBvZiB0aGlzIGNvbW11bmljYXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ0b3BpYyIgdGFyZ2V0PSJTeXN0ZW0uQ29uY2VwdDpGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKTtTeXN0ZW0uVmFsdWVTZXQ6RkhJUkhlbHBlcnMuVG9WYWx1ZVNldCglcGFyZW50LnRvcGljLmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW5vdERvbmVWYWx1ZVNldCddLnZhbHVlLnZhbHVlKSIgZGVzY3JpcHRpb249IkRlc2NyaXB0aW9uIG9mIHRoZSBwdXJwb3NlL2NvbnRlbnQiIGRlZmluaXRpb249IkRlc2NyaXB0aW9uIG9mIHRoZSBwdXJwb3NlL2NvbnRlbnQsIHNpbWlsYXIgdG8gYSBzdWJqZWN0IGxpbmUgaW4gYW4gZW1haWwuIiBjb21tZW50PSJDb21tdW5pY2F0aW9uLnRvcGljLnRleHQgY2FuIGJlIHVzZWQgd2l0aG91dCBhbnkgY29kaW5ncy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJWYWx1ZVNldCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8YmluZGluZyBuYW1lPSJDb21tdW5pY2F0aW9uVG9waWMiIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIHRoZSBwdXJwb3NlIG9yIGNvbnRlbnQgb2YgdGhlIGNvbW11bmljYXRpb24uIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYWJvdXQiIGRlc2NyaXB0aW9uPSJSZXNvdXJjZXMgdGhhdCBwZXJ0YWluIHRvIHRoaXMgY29tbXVuaWNhdGlvbiIgZGVmaW5pdGlvbj0iT3RoZXIgcmVzb3VyY2VzIHRoYXQgcGVydGFpbiB0byB0aGlzIGNvbW11bmljYXRpb24gYW5kIHRvIHdoaWNoIHRoaXMgY29tbXVuaWNhdGlvbiBzaG91bGQgYmUgYXNzb2NpYXRlZC4iIGNvbW1lbnQ9IkRvbid0IHVzZSBDb21tdW5pY2F0aW9uLmFib3V0IGVsZW1lbnQgd2hlbiBhIG1vcmUgc3BlY2lmaWMgZWxlbWVudCBleGlzdHMsIHN1Y2ggYXMgYmFzZWRPbiBvciByZWFzb25SZWZlcmVuY2UuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iRW5jb3VudGVyIGNyZWF0ZWQgYXMgcGFydCBvZiIgZGVmaW5pdGlvbj0iVGhlIEVuY291bnRlciBkdXJpbmcgd2hpY2ggdGhpcyBDb21tdW5pY2F0aW9uIHdhcyBjcmVhdGVkIG9yIHRvIHdoaWNoIHRoZSBjcmVhdGlvbiBvZiB0aGlzIHJlY29yZCBpcyB0aWdodGx5IGFzc29jaWF0ZWQuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgYWN0aXZpdGllcyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJzZW50IiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gc2VudCIgZGVmaW5pdGlvbj0iVGhlIHRpbWUgd2hlbiB0aGlzIGNvbW11bmljYXRpb24gd2FzIHNlbnQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlY2VpdmVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gcmVjZWl2ZWQiIGRlZmluaXRpb249IlRoZSB0aW1lIHdoZW4gdGhpcyBjb21tdW5pY2F0aW9uIGFycml2ZWQgYXQgdGhlIGRlc3RpbmF0aW9uLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWNpcGllbnQiIGRlc2NyaXB0aW9uPSJNZXNzYWdlIHJlY2lwaWVudCIgZGVmaW5pdGlvbj0iVGhlIGVudGl0eSAoZS5nLiBwZXJzb24sIG9yZ2FuaXphdGlvbiwgY2xpbmljYWwgaW5mb3JtYXRpb24gc3lzdGVtLCBjYXJlIHRlYW0gb3IgZGV2aWNlKSB3aGljaCB3YXMgdGhlIHRhcmdldCBvZiB0aGUgY29tbXVuaWNhdGlvbi4gSWYgcmVjZWlwdHMgbmVlZCB0byBiZSB0cmFja2VkIGJ5IGFuIGluZGl2aWR1YWwsIGEgc2VwYXJhdGUgcmVzb3VyY2UgaW5zdGFuY2Ugd2lsbCBuZWVkIHRvIGJlIGNyZWF0ZWQgZm9yIGVhY2ggcmVjaXBpZW50LiAgTXVsdGlwbGUgcmVjaXBpZW50IGNvbW11bmljYXRpb25zIGFyZSBpbnRlbmRlZCB3aGVyZSBlaXRoZXIgcmVjZWlwdHMgYXJlIG5vdCB0cmFja2VkIChlLmcuIGEgbWFzcyBtYWlsLW91dCkgb3IgYSByZWNlaXB0IGlzIGNhcHR1cmVkIGluIGFnZ3JlZ2F0ZSAoYWxsIGVtYWlscyBjb25maXJtZWQgcmVjZWl2ZWQgYnkgYSBwYXJ0aWN1bGFyIHRpbWUpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2VuZGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249Ik1lc3NhZ2Ugc2VuZGVyIiBkZWZpbml0aW9uPSJUaGUgZW50aXR5IChlLmcuIHBlcnNvbiwgb3JnYW5pemF0aW9uLCBjbGluaWNhbCBpbmZvcm1hdGlvbiBzeXN0ZW0sIG9yIGRldmljZSkgd2hpY2ggd2FzIHRoZSBzb3VyY2Ugb2YgdGhlIGNvbW11bmljYXRpb24uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvbkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJJbmRpY2F0aW9uIGZvciBtZXNzYWdlIiBkZWZpbml0aW9uPSJUaGUgcmVhc29uIG9yIGp1c3RpZmljYXRpb24gZm9yIHRoZSBjb21tdW5pY2F0aW9uLiIgY29tbWVudD0iVGV4dHVhbCByZWFzb25zIGNhbiBiZSBjYXB0dXJlZCB1c2luZyByZWFzb25Db2RlLnRleHQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvbW11bmljYXRpb25SZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgZGVzY3JpYmluZyByZWFzb25zIGZvciB0aGUgb2NjdXJyZW5jZSBvZiBhIGNvbW11bmljYXRpb24uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvblJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldoeSB3YXMgY29tbXVuaWNhdGlvbiBkb25lPyIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGFub3RoZXIgcmVzb3VyY2Ugd2hvc2UgZXhpc3RlbmNlIGp1c3RpZmllcyB0aGlzIGNvbW11bmljYXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXlsb2FkIiBkZXNjcmlwdGlvbj0iTWVzc2FnZSBwYXlsb2FkIiBkZWZpbml0aW9uPSJUZXh0LCBhdHRhY2htZW50KHMpLCBvciByZXNvdXJjZShzKSB0aGF0IHdhcyBjb21tdW5pY2F0ZWQgdG8gdGhlIHJlY2lwaWVudC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Db21tdW5pY2F0aW9uLlBheWxvYWQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJDb21tZW50cyBtYWRlIGFib3V0IHRoZSBjb21tdW5pY2F0aW9uIiBkZWZpbml0aW9uPSJBZGRpdGlvbmFsIG5vdGVzIG9yIGNvbW1lbnRhcnkgYWJvdXQgdGhlIGNvbW11bmljYXRpb24gYnkgdGhlIHNlbmRlciwgcmVjZWl2ZXIgb3Igb3RoZXIgaW50ZXJlc3RlZCBwYXJ0aWVzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbW11bmljYXRpb25Qcmlvcml0eSIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ29tbXVuaWNhdGlvblJlcXVlc3QiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWNvbW11bmljYXRpb25yZXF1ZXN0IiBsYWJlbD0iUUlDb3JlIENvbW11bmljYXRpb25SZXF1ZXN0IiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjYXRlZ29yeSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJVbmlxdWUgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iQnVzaW5lc3MgaWRlbnRpZmllcnMgYXNzaWduZWQgdG8gdGhpcyBjb21tdW5pY2F0aW9uIHJlcXVlc3QgYnkgdGhlIHBlcmZvcm1lciBvciBvdGhlciBzeXN0ZW1zIHdoaWNoIHJlbWFpbiBjb25zdGFudCBhcyB0aGUgcmVzb3VyY2UgaXMgdXBkYXRlZCBhbmQgcHJvcGFnYXRlcyBmcm9tIHNlcnZlciB0byBzZXJ2ZXIuIiBjb21tZW50PSJUaGlzIGlzIGEgYnVzaW5lc3MgaWRlbnRpZmllciwgbm90IGEgcmVzb3VyY2UgaWRlbnRpZmllciAoc2VlIFtkaXNjdXNzaW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3Jlc291cmNlLmh0bWwjaWRlbnRpZmllcnMpKS4gIEl0IGlzIGJlc3QgcHJhY3RpY2UgZm9yIHRoZSBpZGVudGlmaWVyIHRvIG9ubHkgYXBwZWFyIG9uIGEgc2luZ2xlIHJlc291cmNlIGluc3RhbmNlLCBob3dldmVyIGJ1c2luZXNzIHByYWN0aWNlcyBtYXkgb2NjYXNpb25hbGx5IGRpY3RhdGUgdGhhdCBtdWx0aXBsZSByZXNvdXJjZSBpbnN0YW5jZXMgd2l0aCB0aGUgc2FtZSBpZGVudGlmaWVyIGNhbiBleGlzdCAtIHBvc3NpYmx5IGV2ZW4gd2l0aCBkaWZmZXJlbnQgcmVzb3VyY2UgdHlwZXMuICBGb3IgZXhhbXBsZSwgbXVsdGlwbGUgUGF0aWVudCBhbmQgYSBQZXJzb24gcmVzb3VyY2UgaW5zdGFuY2UgbWlnaHQgc2hhcmUgdGhlIHNhbWUgc29jaWFsIGluc3VyYW5jZSBudW1iZXIuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IkZ1bGZpbGxzIHBsYW4gb3IgcHJvcG9zYWwiIGRlZmluaXRpb249IkEgcGxhbiBvciBwcm9wb3NhbCB0aGF0IGlzIGZ1bGZpbGxlZCBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgcmVxdWVzdC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlcGxhY2VzIiBkZXNjcmlwdGlvbj0iUmVxdWVzdChzKSByZXBsYWNlZCBieSB0aGlzIHJlcXVlc3QiIGRlZmluaXRpb249IkNvbXBsZXRlZCBvciB0ZXJtaW5hdGVkIHJlcXVlc3Qocykgd2hvc2UgZnVuY3Rpb24gaXMgdGFrZW4gYnkgdGhpcyBuZXcgcmVxdWVzdC4iIGNvbW1lbnQ9IlRoZSByZXBsYWNlbWVudCBjb3VsZCBiZSBiZWNhdXNlIHRoZSBpbml0aWFsIHJlcXVlc3Qgd2FzIGltbWVkaWF0ZWx5IHJlamVjdGVkIChkdWUgdG8gYW4gaXNzdWUpIG9yIGJlY2F1c2UgdGhlIHByZXZpb3VzIHJlcXVlc3Qgd2FzIGNvbXBsZXRlZCwgYnV0IHRoZSBuZWVkIGZvciB0aGUgYWN0aW9uIGRlc2NyaWJlZCBieSB0aGUgcmVxdWVzdCByZW1haW5zIG9uZ29pbmcuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJncm91cElkZW50aWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgZGVzY3JpcHRpb249IkNvbXBvc2l0ZSByZXF1ZXN0IHRoaXMgaXMgcGFydCBvZiIgZGVmaW5pdGlvbj0iQSBzaGFyZWQgaWRlbnRpZmllciBjb21tb24gdG8gYWxsIHJlcXVlc3RzIHRoYXQgd2VyZSBhdXRob3JpemVkIG1vcmUgb3IgbGVzcyBzaW11bHRhbmVvdXNseSBieSBhIHNpbmdsZSBhdXRob3IsIHJlcHJlc2VudGluZyB0aGUgaWRlbnRpZmllciBvZiB0aGUgcmVxdWlzaXRpb24sIHByZXNjcmlwdGlvbiBvciBzaW1pbGFyIGZvcm0uIiBjb21tZW50PSJSZXF1ZXN0cyBhcmUgbGlua2VkIGVpdGhlciBieSBhICZxdW90O2Jhc2VkT24mcXVvdDsgcmVsYXRpb25zaGlwIChpLmUuIG9uZSByZXF1ZXN0IGlzIGZ1bGZpbGxpbmcgYW5vdGhlcikgb3IgYnkgaGF2aW5nIGEgY29tbW9uIHJlcXVpc2l0aW9uLiAgUmVxdWVzdHMgdGhhdCBhcmUgcGFydCBvZiB0aGUgc2FtZSByZXF1aXNpdGlvbiBhcmUgZ2VuZXJhbGx5IHRyZWF0ZWQgaW5kZXBlbmRlbnRseSBmcm9tIHRoZSBwZXJzcGVjdGl2ZSBvZiBjaGFuZ2luZyB0aGVpciBzdGF0ZSBvciBtYWludGFpbmluZyB0aGVtIGFmdGVyIGluaXRpYWwgY3JlYXRpb24uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5Db21tdW5pY2F0aW9uUmVxdWVzdFN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJkcmFmdCB8IGFjdGl2ZSB8IG9uLWhvbGQgfCByZXZva2VkIHwgY29tcGxldGVkIHwgZW50ZXJlZC1pbi1lcnJvciB8IHVua25vd24iIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHByb3Bvc2FsIG9yIG9yZGVyLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJDb21tdW5pY2F0aW9uUmVxdWVzdFN0YXR1cyIgZGVzY3JpcHRpb249IlRoZSBzdGF0dXMgb2YgdGhlIGNvbW11bmljYXRpb24gcmVxdWVzdC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1c1JlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmVhc29uIGZvciBjdXJyZW50IHN0YXR1cyIgZGVmaW5pdGlvbj0iQ2FwdHVyZXMgdGhlIHJlYXNvbiBmb3IgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIENvbW11bmljYXRpb25SZXF1ZXN0LiIgY29tbWVudD0iVGhpcyBpcyBnZW5lcmFsbHkgb25seSB1c2VkIGZvciAmcXVvdDtleGNlcHRpb24mcXVvdDsgc3RhdHVzZXMgc3VjaCBhcyAmcXVvdDtzdXNwZW5kZWQmcXVvdDsgb3IgJnF1b3Q7Y2FuY2VsbGVkJnF1b3Q7LiAgVGhlIHJlYXNvbiB3aHkgdGhlIENvbW11bmljYXRpb25SZXF1ZXN0IHdhcyBjcmVhdGVkIGF0IGFsbCBpcyBjYXB0dXJlZCBpbiByZWFzb25Db2RlLCBub3QgaGVyZS4gIFtkaXN0aW5jdCByZWFzb24gY29kZXMgZm9yIGRpZmZlcmVudCBzdGF0dXNlcyBjYW4gYmUgZW5mb3JjZWQgdXNpbmcgaW52YXJpYW50cyBpZiB0aGV5IGFyZSB1bml2ZXJzYWwgYmluZGluZ3NdLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvbW11bmljYXRpb25SZXF1ZXN0U3RhdHVzUmVhc29uIiBkZXNjcmlwdGlvbj0iQ29kZXMgaWRlbnRpZnlpbmcgdGhlIHJlYXNvbiBmb3IgdGhlIGN1cnJlbnQgc3RhdGUgb2YgYSByZXF1ZXN0LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik1lc3NhZ2UgY2F0ZWdvcnkiIGRlZmluaXRpb249IlRoZSB0eXBlIG9mIG1lc3NhZ2UgdG8gYmUgc2VudCBzdWNoIGFzIGFsZXJ0LCBub3RpZmljYXRpb24sIHJlbWluZGVyLCBpbnN0cnVjdGlvbiwgZXRjLiIgY29tbWVudD0iVGhlcmUgbWF5IGJlIG11bHRpcGxlIGF4ZXMgb2YgY2F0ZWdvcml6YXRpb24gYW5kIG9uZSBjb21tdW5pY2F0aW9uIHJlcXVlc3QgbWF5IHNlcnZlIG11bHRpcGxlIHB1cnBvc2VzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InByaW9yaXR5IiBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbW11bmljYXRpb25Qcmlvcml0eSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyb3V0aW5lIHwgdXJnZW50IHwgYXNhcCB8IHN0YXQiIGRlZmluaXRpb249IkNoYXJhY3Rlcml6ZXMgaG93IHF1aWNrbHkgdGhlIHByb3Bvc2VkIGFjdCBtdXN0IGJlIGluaXRpYXRlZC4gSW5jbHVkZXMgY29uY2VwdHMgc3VjaCBhcyBzdGF0LCB1cmdlbnQsIHJvdXRpbmUuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ29tbXVuaWNhdGlvblByaW9yaXR5IiBkZXNjcmlwdGlvbj0iQ29kZXMgaW5kaWNhdGluZyB0aGUgcmVsYXRpdmUgaW1wb3J0YW5jZSBvZiBhIGNvbW11bmljYXRpb24gcmVxdWVzdC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRvTm90UGVyZm9ybSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Cb29sZWFuIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRydWUgaWYgcmVxdWVzdCBpcyBwcm9oaWJpdGluZyBhY3Rpb24iIGRlZmluaXRpb249IklmIHRydWUgaW5kaWNhdGVzIHRoYXQgdGhlIENvbW11bmljYXRpb25SZXF1ZXN0IGlzIGFza2luZyBmb3IgdGhlIHNwZWNpZmllZCBhY3Rpb24gdG8gKm5vdCogb2NjdXIuIiBjb21tZW50PSJUaGUgYXR0cmlidXRlcyBwcm92aWRlZCB3aXRoIHRoZSByZXF1ZXN0IHF1YWxpZnkgd2hhdCBpcyBub3QgdG8gYmUgZG9uZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1lZGl1bSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkEgY2hhbm5lbCBvZiBjb21tdW5pY2F0aW9uIiBkZWZpbml0aW9uPSJBIGNoYW5uZWwgdGhhdCB3YXMgdXNlZCBmb3IgdGhpcyBjb21tdW5pY2F0aW9uIChlLmcuIGVtYWlsLCBmYXgpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJDb21tdW5pY2F0aW9uTWVkaXVtIiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGNvbW11bmljYXRpb24gbWVkaXVtcyBzdWNoIGFzIHBob25lLCBmYXgsIGVtYWlsLCBpbiBwZXJzb24sIGV0Yy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJGb2N1cyBvZiBtZXNzYWdlIiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCBvciBncm91cCB0aGF0IGlzIHRoZSBmb2N1cyBvZiB0aGlzIGNvbW11bmljYXRpb24gcmVxdWVzdC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFib3V0IiBkZXNjcmlwdGlvbj0iUmVzb3VyY2VzIHRoYXQgcGVydGFpbiB0byB0aGlzIGNvbW11bmljYXRpb24gcmVxdWVzdCIgZGVmaW5pdGlvbj0iT3RoZXIgcmVzb3VyY2VzIHRoYXQgcGVydGFpbiB0byB0aGlzIGNvbW11bmljYXRpb24gcmVxdWVzdCBhbmQgdG8gd2hpY2ggdGhpcyBjb21tdW5pY2F0aW9uIHJlcXVlc3Qgc2hvdWxkIGJlIGFzc29jaWF0ZWQuIiBjb21tZW50PSJEb24ndCB1c2UgQ29tbXVuaWNhdGlvblJlcXVlc3QuYWJvdXQgZWxlbWVudCB3aGVuIGEgbW9yZSBzcGVjaWZpYyBlbGVtZW50IGV4aXN0cywgc3VjaCBhcyBiYXNlZE9uLCByZWFzb25SZWZlcmVuY2UsIG9yIHJlcGxhY2VzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkVuY291bnRlciBjcmVhdGVkIGFzIHBhcnQgb2YiIGRlZmluaXRpb249IlRoZSBFbmNvdW50ZXIgZHVyaW5nIHdoaWNoIHRoaXMgQ29tbXVuaWNhdGlvblJlcXVlc3Qgd2FzIGNyZWF0ZWQgb3IgdG8gd2hpY2ggdGhlIGNyZWF0aW9uIG9mIHRoaXMgcmVjb3JkIGlzIHRpZ2h0bHkgYXNzb2NpYXRlZC4iIGNvbW1lbnQ9IlRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgdGhlIGVuY291bnRlciB0aGUgZXZlbnQgb2NjdXJyZWQgd2l0aGluLCBidXQgc29tZSBhY3Rpdml0aWVzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXlsb2FkIiBkZXNjcmlwdGlvbj0iTWVzc2FnZSBwYXlsb2FkIiBkZWZpbml0aW9uPSJUZXh0LCBhdHRhY2htZW50KHMpLCBvciByZXNvdXJjZShzKSB0byBiZSBjb21tdW5pY2F0ZWQgdG8gdGhlIHJlY2lwaWVudC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Db21tdW5pY2F0aW9uUmVxdWVzdC5QYXlsb2FkIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJvY2N1cnJlbmNlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoZW4gc2NoZWR1bGVkIiBkZWZpbml0aW9uPSJUaGUgdGltZSB3aGVuIHRoaXMgY29tbXVuaWNhdGlvbiBpcyB0byBvY2N1ci4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhdXRob3JlZE9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gcmVxdWVzdCB0cmFuc2l0aW9uZWQgdG8gYmVpbmcgYWN0aW9uYWJsZSIgZGVmaW5pdGlvbj0iRm9yIGRyYWZ0IHJlcXVlc3RzLCBpbmRpY2F0ZXMgdGhlIGRhdGUgb2YgaW5pdGlhbCBjcmVhdGlvbi4gIEZvciByZXF1ZXN0cyB3aXRoIG90aGVyIHN0YXR1c2VzLCBpbmRpY2F0ZXMgdGhlIGRhdGUgb2YgYWN0aXZhdGlvbi4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVxdWVzdGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249Ildoby93aGF0IGlzIHJlcXVlc3Rpbmcgc2VydmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSwgaW5kaXZpZHVhbCwgb3Igb3JnYW5pemF0aW9uIHdobyBpbml0aWF0ZWQgdGhlIHJlcXVlc3QgYW5kIGhhcyByZXNwb25zaWJpbGl0eSBmb3IgaXRzIGFjdGl2YXRpb24uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlY2lwaWVudCIgZGVzY3JpcHRpb249Ik1lc3NhZ2UgcmVjaXBpZW50IiBkZWZpbml0aW9uPSJUaGUgZW50aXR5IChlLmcuIHBlcnNvbiwgb3JnYW5pemF0aW9uLCBjbGluaWNhbCBpbmZvcm1hdGlvbiBzeXN0ZW0sIGRldmljZSwgZ3JvdXAsIG9yIGNhcmUgdGVhbSkgd2hpY2ggaXMgdGhlIGludGVuZGVkIHRhcmdldCBvZiB0aGUgY29tbXVuaWNhdGlvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzZW5kZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iTWVzc2FnZSBzZW5kZXIiIGRlZmluaXRpb249IlRoZSBlbnRpdHkgKGUuZy4gcGVyc29uLCBvcmdhbml6YXRpb24sIGNsaW5pY2FsIGluZm9ybWF0aW9uIHN5c3RlbSwgb3IgZGV2aWNlKSB3aGljaCBpcyB0byBiZSB0aGUgc291cmNlIG9mIHRoZSBjb21tdW5pY2F0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoeSBpcyBjb21tdW5pY2F0aW9uIG5lZWRlZD8iIGRlZmluaXRpb249IkRlc2NyaWJlcyB3aHkgdGhlIHJlcXVlc3QgaXMgYmVpbmcgbWFkZSBpbiBjb2RlZCBvciB0ZXh0dWFsIGZvcm0uIiBjb21tZW50PSJUZXh0dWFsIHJlYXNvbnMgY2FuIGJlIGNhcHR1cmVkIHVzaW5nIHJlYXNvbkNvZGUudGV4dC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ29tbXVuaWNhdGlvblJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBkZXNjcmliaW5nIHJlYXNvbnMgZm9yIHRoZSBvY2N1cnJlbmNlIG9mIGEgY29tbXVuaWNhdGlvbi4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2h5IGlzIGNvbW11bmljYXRpb24gbmVlZGVkPyIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGFub3RoZXIgcmVzb3VyY2Ugd2hvc2UgZXhpc3RlbmNlIGp1c3RpZmllcyB0aGlzIHJlcXVlc3QuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgbWFkZSBhYm91dCBjb21tdW5pY2F0aW9uIHJlcXVlc3QiIGRlZmluaXRpb249IkNvbW1lbnRzIG1hZGUgYWJvdXQgdGhlIHJlcXVlc3QgYnkgdGhlIHJlcXVlc3Rlciwgc2VuZGVyLCByZWNpcGllbnQsIHN1YmplY3Qgb3Igb3RoZXIgcGFydGljaXBhbnRzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9InNlbmRlciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJyZWNpcGllbnQiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0icmVxdWVzdGVyIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJzdWJqZWN0Ii8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJzZW5kZXIiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InJlY2lwaWVudCIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0icmVxdWVzdGVyIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IkVuY291bnRlciIgcmVsYXRlZEtleUVsZW1lbnQ9ImVuY291bnRlciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJEZXZpY2UiIHJlbGF0ZWRLZXlFbGVtZW50PSJzZW5kZXIiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iRGV2aWNlIiByZWxhdGVkS2V5RWxlbWVudD0icmVjaXBpZW50Ii8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlJlbGF0ZWRQZXJzb24iIHJlbGF0ZWRLZXlFbGVtZW50PSJzZW5kZXIiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUmVsYXRlZFBlcnNvbiIgcmVsYXRlZEtleUVsZW1lbnQ9InJlY2lwaWVudCIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJSZWxhdGVkUGVyc29uIiByZWxhdGVkS2V5RWxlbWVudD0icmVxdWVzdGVyIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbW11bmljYXRpb25SZXF1ZXN0LlBheWxvYWQiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbnRlbnQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iTWVzc2FnZSBwYXJ0IGNvbnRlbnQiIGRlZmluaXRpb249IlRoZSBjb21tdW5pY2F0ZWQgY29udGVudCAob3IgZm9yIG11bHRpLXBhcnQgY29tbXVuaWNhdGlvbnMsIG9uZSBwb3J0aW9uIG9mIHRoZSBjb21tdW5pY2F0aW9uKS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQXR0YWNobWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb21tdW5pY2F0aW9uUmVxdWVzdFN0YXR1cyIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbW11bmljYXRpb25TdGF0dXMiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb25kaXRpb24uRXZpZGVuY2UiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJNYW5pZmVzdGF0aW9uL3N5bXB0b20iIGRlZmluaXRpb249IkEgbWFuaWZlc3RhdGlvbiBvciBzeW1wdG9tIHRoYXQgbGVkIHRvIHRoZSByZWNvcmRpbmcgb2YgdGhpcyBjb25kaXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1hbmlmZXN0YXRpb25PclN5bXB0b20iIGRlc2NyaXB0aW9uPSJDb2RlcyB0aGF0IGRlc2NyaWJlIHRoZSBtYW5pZmVzdGF0aW9uIG9yIHN5bXB0b21zIG9mIGEgY29uZGl0aW9uLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXRhaWwiIGRlc2NyaXB0aW9uPSJTdXBwb3J0aW5nIGluZm9ybWF0aW9uIGZvdW5kIGVsc2V3aGVyZSIgZGVmaW5pdGlvbj0iTGlua3MgdG8gb3RoZXIgcmVsZXZhbnQgaW5mb3JtYXRpb24sIGluY2x1ZGluZyBwYXRob2xvZ3kgcmVwb3J0cy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbmRpdGlvbi5TdGFnZSIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3VtbWFyeSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU2ltcGxlIHN1bW1hcnkgKGRpc2Vhc2Ugc3BlY2lmaWMpIiBkZWZpbml0aW9uPSJBIHNpbXBsZSBzdW1tYXJ5IG9mIHRoZSBzdGFnZSBzdWNoIGFzICZxdW90O1N0YWdlIDMmcXVvdDsuIFRoZSBkZXRlcm1pbmF0aW9uIG9mIHRoZSBzdGFnZSBpcyBkaXNlYXNlLXNwZWNpZmljLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBjb25kaXRpb24gc3RhZ2VzIChlLmcuIENhbmNlciBzdGFnZXMpLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFzc2Vzc21lbnQiIGRlc2NyaXB0aW9uPSJGb3JtYWwgcmVjb3JkIG9mIGFzc2Vzc21lbnQiIGRlZmluaXRpb249IlJlZmVyZW5jZSB0byBhIGZvcm1hbCByZWNvcmQgb2YgdGhlIGV2aWRlbmNlIG9uIHdoaWNoIHRoZSBzdGFnaW5nIGFzc2Vzc21lbnQgaXMgYmFzZWQuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IktpbmQgb2Ygc3RhZ2luZyIgZGVmaW5pdGlvbj0iVGhlIGtpbmQgb2Ygc3RhZ2luZywgc3VjaCBhcyBwYXRob2xvZ2ljYWwgb3IgY2xpbmljYWwgc3RhZ2luZy4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJDb25kaXRpb25TdGFnZVR5cGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIHRoZSBraW5kIG9mIGNvbmRpdGlvbiBzdGFnaW5nIChlLmcuIGNsaW5pY2FsIG9yIHBhdGhvbG9naWNhbCkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ29uZGl0aW9uRW5jb3VudGVyRGlhZ25vc2lzIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1jb25kaXRpb24tZW5jb3VudGVyLWRpYWdub3NpcyIgbGFiZWw9IlFJQ29yZSBDb25kaXRpb24gRW5jb3VudGVyIERpYWdub3NpcyIgdGFyZ2V0PSJDb25kaXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJhc3NlcnRlZERhdGUiIGVsZW1lbnRUeXBlPSJRSUNvcmUuYXNzZXJ0ZWREYXRlIiB0YXJnZXQ9IiVwYXJlbnQuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL2NvbmRpdGlvbi1hc3NlcnRlZERhdGUnXS52YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUgdGhlIGNvbmRpdGlvbiB3YXMgZmlyc3QgYXNzZXJ0ZWQiIGRlZmluaXRpb249IlRoZSBkYXRlIG9uIHdoaWNoIHRoZSBleGlzdGVuY2Ugb2YgdGhlIENvbmRpdGlvbiB3YXMgZmlyc3QgYXNzZXJ0ZWQgb3IgYWNrbm93bGVkZ2VkLiIgY29tbWVudD0iVGhlIGFzc2VydGVkRGF0ZSBpcyBpbiB0aGUgY29udGV4dCBvZiB0aGUgcmVjb3JkaW5nIHByYWN0aXRpb25lciBhbmQgbWlnaHQgbm90IGJlIHRoZSBzYW1lIGFzIHRoZSByZWNvcmRlZERhdGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iRXh0ZXJuYWwgSWRzIGZvciB0aGlzIGNvbmRpdGlvbiIgZGVmaW5pdGlvbj0iQnVzaW5lc3MgaWRlbnRpZmllcnMgYXNzaWduZWQgdG8gdGhpcyBjb25kaXRpb24gYnkgdGhlIHBlcmZvcm1lciBvciBvdGhlciBzeXN0ZW1zIHdoaWNoIHJlbWFpbiBjb25zdGFudCBhcyB0aGUgcmVzb3VyY2UgaXMgdXBkYXRlZCBhbmQgcHJvcGFnYXRlcyBmcm9tIHNlcnZlciB0byBzZXJ2ZXIuIiBjb21tZW50PSJUaGlzIGlzIGEgYnVzaW5lc3MgaWRlbnRpZmllciwgbm90IGEgcmVzb3VyY2UgaWRlbnRpZmllciAoc2VlIFtkaXNjdXNzaW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3Jlc291cmNlLmh0bWwjaWRlbnRpZmllcnMpKS4gIEl0IGlzIGJlc3QgcHJhY3RpY2UgZm9yIHRoZSBpZGVudGlmaWVyIHRvIG9ubHkgYXBwZWFyIG9uIGEgc2luZ2xlIHJlc291cmNlIGluc3RhbmNlLCBob3dldmVyIGJ1c2luZXNzIHByYWN0aWNlcyBtYXkgb2NjYXNpb25hbGx5IGRpY3RhdGUgdGhhdCBtdWx0aXBsZSByZXNvdXJjZSBpbnN0YW5jZXMgd2l0aCB0aGUgc2FtZSBpZGVudGlmaWVyIGNhbiBleGlzdCAtIHBvc3NpYmx5IGV2ZW4gd2l0aCBkaWZmZXJlbnQgcmVzb3VyY2UgdHlwZXMuICBGb3IgZXhhbXBsZSwgbXVsdGlwbGUgUGF0aWVudCBhbmQgYSBQZXJzb24gcmVzb3VyY2UgaW5zdGFuY2UgbWlnaHQgc2hhcmUgdGhlIHNhbWUgc29jaWFsIGluc3VyYW5jZSBudW1iZXIuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2xpbmljYWxTdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249ImFjdGl2ZSB8IHJlY3VycmVuY2UgfCByZWxhcHNlIHwgaW5hY3RpdmUgfCByZW1pc3Npb24gfCByZXNvbHZlZCIgZGVmaW5pdGlvbj0iVGhlIGNsaW5pY2FsIHN0YXR1cyBvZiB0aGUgY29uZGl0aW9uLiIgY29tbWVudD0iVGhlIGRhdGEgdHlwZSBpcyBDb2RlYWJsZUNvbmNlcHQgYmVjYXVzZSBjbGluaWNhbFN0YXR1cyBoYXMgc29tZSBjbGluaWNhbCBqdWRnbWVudCBpbnZvbHZlZCwgc3VjaCB0aGF0IHRoZXJlIG1pZ2h0IG5lZWQgdG8gYmUgbW9yZSBzcGVjaWZpY2l0eSB0aGFuIHRoZSByZXF1aXJlZCBGSElSIHZhbHVlIHNldCBhbGxvd3MuIEZvciBleGFtcGxlLCBhIFNOT01FRCBjb2RpbmcgbWlnaHQgYWxsb3cgZm9yIGFkZGl0aW9uYWwgc3BlY2lmaWNpdHkuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InZlcmlmaWNhdGlvblN0YXR1cyIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0idW5jb25maXJtZWQgfCBwcm92aXNpb25hbCB8IGRpZmZlcmVudGlhbCB8IGNvbmZpcm1lZCB8IHJlZnV0ZWQgfCBlbnRlcmVkLWluLWVycm9yIiBkZWZpbml0aW9uPSJUaGUgdmVyaWZpY2F0aW9uIHN0YXR1cyB0byBzdXBwb3J0IHRoZSBjbGluaWNhbCBzdGF0dXMgb2YgdGhlIGNvbmRpdGlvbi4iIGNvbW1lbnQ9InZlcmlmaWNhdGlvblN0YXR1cyBpcyBub3QgcmVxdWlyZWQuICBGb3IgZXhhbXBsZSwgd2hlbiBhIHBhdGllbnQgaGFzIGFiZG9taW5hbCBwYWluIGluIHRoZSBFRCwgdGhlcmUgaXMgbm90IGxpa2VseSBnb2luZyB0byBiZSBhIHZlcmlmaWNhdGlvbiBzdGF0dXMuJiN4YTtUaGUgZGF0YSB0eXBlIGlzIENvZGVhYmxlQ29uY2VwdCBiZWNhdXNlIHZlcmlmaWNhdGlvblN0YXR1cyBoYXMgc29tZSBjbGluaWNhbCBqdWRnbWVudCBpbnZvbHZlZCwgc3VjaCB0aGF0IHRoZXJlIG1pZ2h0IG5lZWQgdG8gYmUgbW9yZSBzcGVjaWZpY2l0eSB0aGFuIHRoZSByZXF1aXJlZCBGSElSIHZhbHVlIHNldCBhbGxvd3MuIEZvciBleGFtcGxlLCBhIFNOT01FRCBjb2RpbmcgbWlnaHQgYWxsb3cgZm9yIGFkZGl0aW9uYWwgc3BlY2lmaWNpdHkuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iY2F0ZWdvcnkgY29kZXMiIGRlZmluaXRpb249IkEgY2F0ZWdvcnkgYXNzaWduZWQgdG8gdGhlIGNvbmRpdGlvbi4iIGNvbW1lbnQ9IlRoZSBjYXRlZ29yaXphdGlvbiBpcyBvZnRlbiBoaWdobHkgY29udGV4dHVhbCBhbmQgbWF5IGFwcGVhciBwb29ybHkgZGlmZmVyZW50aWF0ZWQgb3Igbm90IHZlcnkgdXNlZnVsIGluIG90aGVyIGNvbnRleHRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ29uZGl0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJBIGNhdGVnb3J5IGFzc2lnbmVkIHRvIHRoZSBjb25kaXRpb24uIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InVzLWNvcmUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249ImVuY291bnRlci1kaWFnbm9zaXMiIGRlZmluaXRpb249IkEgY2F0ZWdvcnkgYXNzaWduZWQgdG8gdGhlIGNvbmRpdGlvbi4iIGNvbW1lbnQ9IlRoZSBjYXRlZ29yaXphdGlvbiBpcyBvZnRlbiBoaWdobHkgY29udGV4dHVhbCBhbmQgbWF5IGFwcGVhciBwb29ybHkgZGlmZmVyZW50aWF0ZWQgb3Igbm90IHZlcnkgdXNlZnVsIGluIG90aGVyIGNvbnRleHRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJDb25kaXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkEgY2F0ZWdvcnkgYXNzaWduZWQgdG8gdGhlIGNvbmRpdGlvbi4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2V2ZXJpdHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlN1YmplY3RpdmUgc2V2ZXJpdHkgb2YgY29uZGl0aW9uIiBkZWZpbml0aW9uPSJBIHN1YmplY3RpdmUgYXNzZXNzbWVudCBvZiB0aGUgc2V2ZXJpdHkgb2YgdGhlIGNvbmRpdGlvbiBhcyBldmFsdWF0ZWQgYnkgdGhlIGNsaW5pY2lhbi4iIGNvbW1lbnQ9IkNvZGluZyBvZiB0aGUgc2V2ZXJpdHkgd2l0aCBhIHRlcm1pbm9sb2d5IGlzIHByZWZlcnJlZCwgd2hlcmUgcG9zc2libGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGFuYXRvbWljYWwgbG9jYXRpb25zLiBNYXkgaW5jbHVkZSBsYXRlcmFsaXR5LiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IklkZW50aWZpY2F0aW9uIG9mIHRoZSBjb25kaXRpb24sIHByb2JsZW0gb3IgZGlhZ25vc2lzIiBkZWZpbml0aW9uPSJJZGVudGlmaWNhdGlvbiBvZiB0aGUgY29uZGl0aW9uLCBwcm9ibGVtIG9yIGRpYWdub3Npcy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlZhbHVlc2V0IHRvIGRlc2NyaWJlIHRoZSBhY3R1YWwgcHJvYmxlbSBleHBlcmllbmNlZCBieSB0aGUgcGF0aWVudCIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFuYXRvbWljYWwgbG9jYXRpb24sIGlmIHJlbGV2YW50IiBkZWZpbml0aW9uPSJUaGUgYW5hdG9taWNhbCBsb2NhdGlvbiB3aGVyZSB0aGlzIGNvbmRpdGlvbiBtYW5pZmVzdHMgaXRzZWxmLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIENvbmRpdGlvbi5jb2RlLiBJZiB0aGUgdXNlIGNhc2UgcmVxdWlyZXMgYXR0cmlidXRlcyBmcm9tIHRoZSBCb2R5U2l0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiAgTWF5IGJlIGEgc3VtbWFyeSBjb2RlLCBvciBhIHJlZmVyZW5jZSB0byBhIHZlcnkgcHJlY2lzZSBkZWZpbml0aW9uIG9mIHRoZSBsb2NhdGlvbiwgb3IgYm90aC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGFuYXRvbWljYWwgbG9jYXRpb25zLiBNYXkgaW5jbHVkZSBsYXRlcmFsaXR5LiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIGhhcyB0aGUgY29uZGl0aW9uPyIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBwYXRpZW50IG9yIGdyb3VwIHdobyB0aGUgY29uZGl0aW9uIHJlY29yZCBpcyBhc3NvY2lhdGVkIHdpdGguIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iRW5jb3VudGVyIGNyZWF0ZWQgYXMgcGFydCBvZiIgZGVmaW5pdGlvbj0iVGhlIEVuY291bnRlciBkdXJpbmcgd2hpY2ggdGhpcyBDb25kaXRpb24gd2FzIGNyZWF0ZWQgb3IgdG8gd2hpY2ggdGhlIGNyZWF0aW9uIG9mIHRoaXMgcmVjb3JkIGlzIHRpZ2h0bHkgYXNzb2NpYXRlZC4iIGNvbW1lbnQ9IlRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgdGhlIGVuY291bnRlciB0aGUgZXZlbnQgb2NjdXJyZWQgd2l0aGluLCBidXQgc29tZSBhY3Rpdml0aWVzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIuIFRoaXMgcmVjb3JkIGluZGljYXRlcyB0aGUgZW5jb3VudGVyIHRoaXMgcGFydGljdWxhciByZWNvcmQgaXMgYXNzb2NpYXRlZCB3aXRoLiAgSW4gdGhlIGNhc2Ugb2YgYSAmcXVvdDtuZXcmcXVvdDsgZGlhZ25vc2lzIHJlZmxlY3Rpbmcgb25nb2luZy9yZXZpc2VkIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjb25kaXRpb24sIHRoaXMgbWlnaHQgYmUgZGlzdGluY3QgZnJvbSB0aGUgZmlyc3QgZW5jb3VudGVyIGluIHdoaWNoIHRoZSB1bmRlcmx5aW5nIGNvbmRpdGlvbiB3YXMgZmlyc3QgJnF1b3Q7a25vd24mcXVvdDsuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJvbnNldCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJFc3RpbWF0ZWQgb3IgYWN0dWFsIGRhdGUsICBkYXRlLXRpbWUsIG9yIGFnZSIgZGVmaW5pdGlvbj0iRXN0aW1hdGVkIG9yIGFjdHVhbCBkYXRlIG9yIGRhdGUtdGltZSAgdGhlIGNvbmRpdGlvbiBiZWdhbiwgaW4gdGhlIG9waW5pb24gb2YgdGhlIGNsaW5pY2lhbi4iIGNvbW1lbnQ9IkFnZSBpcyBnZW5lcmFsbHkgdXNlZCB3aGVuIHRoZSBwYXRpZW50IHJlcG9ydHMgYW4gYWdlIGF0IHdoaWNoIHRoZSBDb25kaXRpb24gYmVnYW4gdG8gb2NjdXIuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhYmF0ZW1lbnQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2hlbiBpbiByZXNvbHV0aW9uL3JlbWlzc2lvbiIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgb3IgZXN0aW1hdGVkIGRhdGUgdGhhdCB0aGUgY29uZGl0aW9uIHJlc29sdmVkIG9yIHdlbnQgaW50byByZW1pc3Npb24uIFRoaXMgaXMgY2FsbGVkICZxdW90O2FiYXRlbWVudCZxdW90OyBiZWNhdXNlIG9mIHRoZSBtYW55IG92ZXJsb2FkZWQgY29ubm90YXRpb25zIGFzc29jaWF0ZWQgd2l0aCAmcXVvdDtyZW1pc3Npb24mcXVvdDsgb3IgJnF1b3Q7cmVzb2x1dGlvbiZxdW90OyAtIENvbmRpdGlvbnMgYXJlIG5ldmVyIHJlYWxseSByZXNvbHZlZCwgYnV0IHRoZXkgY2FuIGFiYXRlLiIgY29tbWVudD0iVGhlcmUgaXMgbm8gZXhwbGljaXQgZGlzdGluY3Rpb24gYmV0d2VlbiByZXNvbHV0aW9uIGFuZCByZW1pc3Npb24gYmVjYXVzZSBpbiBtYW55IGNhc2VzIHRoZSBkaXN0aW5jdGlvbiBpcyBub3QgY2xlYXIuIEFnZSBpcyBnZW5lcmFsbHkgdXNlZCB3aGVuIHRoZSBwYXRpZW50IHJlcG9ydHMgYW4gYWdlIGF0IHdoaWNoIHRoZSBDb25kaXRpb24gYWJhdGVkLiAgSWYgdGhlcmUgaXMgbm8gYWJhdGVtZW50IGVsZW1lbnQsIGl0IGlzIHVua25vd24gd2hldGhlciB0aGUgY29uZGl0aW9uIGhhcyByZXNvbHZlZCBvciBlbnRlcmVkIHJlbWlzc2lvbjsgYXBwbGljYXRpb25zIGFuZCB1c2VycyBzaG91bGQgZ2VuZXJhbGx5IGFzc3VtZSB0aGF0IHRoZSBjb25kaXRpb24gaXMgc3RpbGwgdmFsaWQuICBXaGVuIGFiYXRlbWVudFN0cmluZyBleGlzdHMsIGl0IGltcGxpZXMgdGhlIGNvbmRpdGlvbiBpcyBhYmF0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvcmRlZERhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZSByZWNvcmQgd2FzIGZpcnN0IHJlY29yZGVkIiBkZWZpbml0aW9uPSJUaGUgcmVjb3JkZWREYXRlIHJlcHJlc2VudHMgd2hlbiB0aGlzIHBhcnRpY3VsYXIgQ29uZGl0aW9uIHJlY29yZCB3YXMgY3JlYXRlZCBpbiB0aGUgc3lzdGVtLCB3aGljaCBpcyBvZnRlbiBhIHN5c3RlbS1nZW5lcmF0ZWQgZGF0ZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlY29yZGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyByZWNvcmRlZCB0aGUgY29uZGl0aW9uIiBkZWZpbml0aW9uPSJJbmRpdmlkdWFsIHdobyByZWNvcmRlZCB0aGUgcmVjb3JkIGFuZCB0YWtlcyByZXNwb25zaWJpbGl0eSBmb3IgaXRzIGNvbnRlbnQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFzc2VydGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlBlcnNvbiB3aG8gYXNzZXJ0cyB0aGlzIGNvbmRpdGlvbiIgZGVmaW5pdGlvbj0iSW5kaXZpZHVhbCB3aG8gaXMgbWFraW5nIHRoZSBjb25kaXRpb24gc3RhdGVtZW50LiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YWdlIiBkZXNjcmlwdGlvbj0iU3RhZ2UvZ3JhZGUsIHVzdWFsbHkgYXNzZXNzZWQgZm9ybWFsbHkiIGRlZmluaXRpb249IkNsaW5pY2FsIHN0YWdlIG9yIGdyYWRlIG9mIGEgY29uZGl0aW9uLiBNYXkgaW5jbHVkZSBmb3JtYWwgc2V2ZXJpdHkgYXNzZXNzbWVudHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbmRpdGlvbi5TdGFnZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9ImNvbi0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IlN0YWdlIFNIQUxMIGhhdmUgc3VtbWFyeSBvciBhc3Nlc3NtZW50Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InN1bW1hcnkuZXhpc3RzKCkgb3IgYXNzZXNzbWVudC5leGlzdHMoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZXZpZGVuY2UiIGRlc2NyaXB0aW9uPSJTdXBwb3J0aW5nIGV2aWRlbmNlIiBkZWZpbml0aW9uPSJTdXBwb3J0aW5nIGV2aWRlbmNlIC8gbWFuaWZlc3RhdGlvbnMgdGhhdCBhcmUgdGhlIGJhc2lzIG9mIHRoZSBDb25kaXRpb24ncyB2ZXJpZmljYXRpb24gc3RhdHVzLCBzdWNoIGFzIGV2aWRlbmNlIHRoYXQgY29uZmlybWVkIG9yIHJlZnV0ZWQgdGhlIGNvbmRpdGlvbi4iIGNvbW1lbnQ9IlRoZSBldmlkZW5jZSBtYXkgYmUgYSBzaW1wbGUgbGlzdCBvZiBjb2RlZCBzeW1wdG9tcy9tYW5pZmVzdGF0aW9ucywgb3IgcmVmZXJlbmNlcyB0byBvYnNlcnZhdGlvbnMgb3IgZm9ybWFsIGFzc2Vzc21lbnRzLCBvciBib3RoLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbmRpdGlvbi5FdmlkZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9ImNvbi0yIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9ImV2aWRlbmNlIFNIQUxMIGhhdmUgY29kZSBvciBkZXRhaWxzIj4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249ImNvZGUuZXhpc3RzKCkgb3IgZGV0YWlsLmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgQ29uZGl0aW9uIiBkZWZpbml0aW9uPSJBZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBDb25kaXRpb24uIFRoaXMgaXMgYSBnZW5lcmFsIG5vdGVzL2NvbW1lbnRzIGVudHJ5ICBmb3IgZGVzY3JpcHRpb24gb2YgdGhlIENvbmRpdGlvbiwgaXRzIGRpYWdub3NpcyBhbmQgcHJvZ25vc2lzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ29uZGl0aW9uUHJvYmxlbXNIZWFsdGhDb25jZXJucyIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtY29uZGl0aW9uLXByb2JsZW1zLWhlYWx0aC1jb25jZXJucyIgbGFiZWw9IlFJQ29yZSBDb25kaXRpb24gUHJvYmxlbXMgSGVhbHRoIENvbmNlcm5zIiB0YXJnZXQ9IkNvbmRpdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY29kZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFzc2VydGVkRGF0ZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5hc3NlcnRlZERhdGUiIHRhcmdldD0iJXBhcmVudC5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vY29uZGl0aW9uLWFzc2VydGVkRGF0ZSddLnZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZSB0aGUgY29uZGl0aW9uIHdhcyBmaXJzdCBhc3NlcnRlZCIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgb24gd2hpY2ggdGhlIGV4aXN0ZW5jZSBvZiB0aGUgQ29uZGl0aW9uIHdhcyBmaXJzdCBhc3NlcnRlZCBvciBhY2tub3dsZWRnZWQuIiBjb21tZW50PSJUaGUgYXNzZXJ0ZWREYXRlIGlzIGluIHRoZSBjb250ZXh0IG9mIHRoZSByZWNvcmRpbmcgcHJhY3RpdGlvbmVyIGFuZCBtaWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIHJlY29yZGVkRGF0ZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImR1ZVRvIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXBhcmVudC5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vY29uZGl0aW9uLWR1ZVRvJ10udmFsdWUpIiBkZXNjcmlwdGlvbj0iV2hhdCBjYXVzZWQgdGhlIENvbmRpdGlvbj8iIGRlZmluaXRpb249IkZ1cnRoZXIgY29uZGl0aW9ucywgcHJvYmxlbXMsIGRpYWdub3NlcywgcHJvY2VkdXJlcyBvciBldmVudHMgb3IgdGhlIHN1YnN0YW5jZSB0aGF0IGNhdXNlZC90cmlnZ2VyZWQgdGhpcyBDb25kaXRpb24uIiBjb21tZW50PSJBbHRob3VnaCBhIGNvbmRpdGlvbiBtYXkgYmUgY2F1c2VkIGJ5IGEgc3Vic3RhbmNlLCB0aGlzIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIHRvIHJlY29yZCBhbGxlcmdpZXMvYWR2ZXJzZSByZWFjdGlvbnMgdG8gc3Vic3RhbmNlcy4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLmR1ZVRvIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJvY2N1cnJlZEZvbGxvd2luZyIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCVwYXJlbnQuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL2NvbmRpdGlvbi1vY2N1cnJlZEZvbGxvd2luZyddLnZhbHVlKSIgZGVzY3JpcHRpb249IlByZWNlZGVudCBmb3IgdGhpcyBDb25kaXRpb24iIGRlZmluaXRpb249IkZ1cnRoZXIgY29uZGl0aW9ucywgcHJvYmxlbXMsIGRpYWdub3NlcywgcHJvY2VkdXJlcyBvciBldmVudHMgb3IgdGhlIHN1YnN0YW5jZSB0aGF0IHByZWNlZGVkIHRoaXMgQ29uZGl0aW9uLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUub2NjdXJyZWRGb2xsb3dpbmciIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJFeHRlcm5hbCBJZHMgZm9yIHRoaXMgY29uZGl0aW9uIiBkZWZpbml0aW9uPSJCdXNpbmVzcyBpZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIGNvbmRpdGlvbiBieSB0aGUgcGVyZm9ybWVyIG9yIG90aGVyIHN5c3RlbXMgd2hpY2ggcmVtYWluIGNvbnN0YW50IGFzIHRoZSByZXNvdXJjZSBpcyB1cGRhdGVkIGFuZCBwcm9wYWdhdGVzIGZyb20gc2VydmVyIHRvIHNlcnZlci4iIGNvbW1lbnQ9IlRoaXMgaXMgYSBidXNpbmVzcyBpZGVudGlmaWVyLCBub3QgYSByZXNvdXJjZSBpZGVudGlmaWVyIChzZWUgW2Rpc2N1c3Npb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcmVzb3VyY2UuaHRtbCNpZGVudGlmaWVycykpLiAgSXQgaXMgYmVzdCBwcmFjdGljZSBmb3IgdGhlIGlkZW50aWZpZXIgdG8gb25seSBhcHBlYXIgb24gYSBzaW5nbGUgcmVzb3VyY2UgaW5zdGFuY2UsIGhvd2V2ZXIgYnVzaW5lc3MgcHJhY3RpY2VzIG1heSBvY2Nhc2lvbmFsbHkgZGljdGF0ZSB0aGF0IG11bHRpcGxlIHJlc291cmNlIGluc3RhbmNlcyB3aXRoIHRoZSBzYW1lIGlkZW50aWZpZXIgY2FuIGV4aXN0IC0gcG9zc2libHkgZXZlbiB3aXRoIGRpZmZlcmVudCByZXNvdXJjZSB0eXBlcy4gIEZvciBleGFtcGxlLCBtdWx0aXBsZSBQYXRpZW50IGFuZCBhIFBlcnNvbiByZXNvdXJjZSBpbnN0YW5jZSBtaWdodCBzaGFyZSB0aGUgc2FtZSBzb2NpYWwgaW5zdXJhbmNlIG51bWJlci4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjbGluaWNhbFN0YXR1cyIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iYWN0aXZlIHwgcmVjdXJyZW5jZSB8IHJlbGFwc2UgfCBpbmFjdGl2ZSB8IHJlbWlzc2lvbiB8IHJlc29sdmVkIiBkZWZpbml0aW9uPSJUaGUgY2xpbmljYWwgc3RhdHVzIG9mIHRoZSBjb25kaXRpb24uIiBjb21tZW50PSJUaGUgZGF0YSB0eXBlIGlzIENvZGVhYmxlQ29uY2VwdCBiZWNhdXNlIGNsaW5pY2FsU3RhdHVzIGhhcyBzb21lIGNsaW5pY2FsIGp1ZGdtZW50IGludm9sdmVkLCBzdWNoIHRoYXQgdGhlcmUgbWlnaHQgbmVlZCB0byBiZSBtb3JlIHNwZWNpZmljaXR5IHRoYW4gdGhlIHJlcXVpcmVkIEZISVIgdmFsdWUgc2V0IGFsbG93cy4gRm9yIGV4YW1wbGUsIGEgU05PTUVEIGNvZGluZyBtaWdodCBhbGxvdyBmb3IgYWRkaXRpb25hbCBzcGVjaWZpY2l0eS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idmVyaWZpY2F0aW9uU3RhdHVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJ1bmNvbmZpcm1lZCB8IHByb3Zpc2lvbmFsIHwgZGlmZmVyZW50aWFsIHwgY29uZmlybWVkIHwgcmVmdXRlZCB8IGVudGVyZWQtaW4tZXJyb3IiIGRlZmluaXRpb249IlRoZSB2ZXJpZmljYXRpb24gc3RhdHVzIHRvIHN1cHBvcnQgdGhlIGNsaW5pY2FsIHN0YXR1cyBvZiB0aGUgY29uZGl0aW9uLiIgY29tbWVudD0idmVyaWZpY2F0aW9uU3RhdHVzIGlzIG5vdCByZXF1aXJlZC4gIEZvciBleGFtcGxlLCB3aGVuIGEgcGF0aWVudCBoYXMgYWJkb21pbmFsIHBhaW4gaW4gdGhlIEVELCB0aGVyZSBpcyBub3QgbGlrZWx5IGdvaW5nIHRvIGJlIGEgdmVyaWZpY2F0aW9uIHN0YXR1cy4mI3hhO1RoZSBkYXRhIHR5cGUgaXMgQ29kZWFibGVDb25jZXB0IGJlY2F1c2UgdmVyaWZpY2F0aW9uU3RhdHVzIGhhcyBzb21lIGNsaW5pY2FsIGp1ZGdtZW50IGludm9sdmVkLCBzdWNoIHRoYXQgdGhlcmUgbWlnaHQgbmVlZCB0byBiZSBtb3JlIHNwZWNpZmljaXR5IHRoYW4gdGhlIHJlcXVpcmVkIEZISVIgdmFsdWUgc2V0IGFsbG93cy4gRm9yIGV4YW1wbGUsIGEgU05PTUVEIGNvZGluZyBtaWdodCBhbGxvdyBmb3IgYWRkaXRpb25hbCBzcGVjaWZpY2l0eS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJjYXRlZ29yeSBjb2RlcyIgZGVmaW5pdGlvbj0iQSBjYXRlZ29yeSBhc3NpZ25lZCB0byB0aGUgY29uZGl0aW9uLiIgY29tbWVudD0iVGhlIGNhdGVnb3JpemF0aW9uIGlzIG9mdGVuIGhpZ2hseSBjb250ZXh0dWFsIGFuZCBtYXkgYXBwZWFyIHBvb3JseSBkaWZmZXJlbnRpYXRlZCBvciBub3QgdmVyeSB1c2VmdWwgaW4gb3RoZXIgY29udGV4dHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJDb25kaXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkEgY2F0ZWdvcnkgYXNzaWduZWQgdG8gdGhlIGNvbmRpdGlvbi4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idXMtY29yZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249InByb2JsZW0tbGlzdC1pdGVtIHwgaGVhbHRoLWNvbmNlcm4iIGRlZmluaXRpb249IkEgY2F0ZWdvcnkgYXNzaWduZWQgdG8gdGhlIGNvbmRpdGlvbi4iIGNvbW1lbnQ9IlRoZSBjYXRlZ29yaXphdGlvbiBpcyBvZnRlbiBoaWdobHkgY29udGV4dHVhbCBhbmQgbWF5IGFwcGVhciBwb29ybHkgZGlmZmVyZW50aWF0ZWQgb3Igbm90IHZlcnkgdXNlZnVsIGluIG90aGVyIGNvbnRleHRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2RvaCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0icHJvYmxlbS1saXN0LWl0ZW0gfCBlbmNvdW50ZXItZGlhZ25vc2lzIiBkZWZpbml0aW9uPSJBIGNhdGVnb3J5IGFzc2lnbmVkIHRvIHRoZSBjb25kaXRpb24uIiBjb21tZW50PSJUaGUgY2F0ZWdvcml6YXRpb24gaXMgb2Z0ZW4gaGlnaGx5IGNvbnRleHR1YWwgYW5kIG1heSBhcHBlYXIgcG9vcmx5IGRpZmZlcmVudGlhdGVkIG9yIG5vdCB2ZXJ5IHVzZWZ1bCBpbiBvdGhlciBjb250ZXh0cy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ29uZGl0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJBIGNhdGVnb3J5IGFzc2lnbmVkIHRvIHRoZSBjb25kaXRpb24uIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InNldmVyaXR5IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJTdWJqZWN0aXZlIHNldmVyaXR5IG9mIGNvbmRpdGlvbiIgZGVmaW5pdGlvbj0iQSBzdWJqZWN0aXZlIGFzc2Vzc21lbnQgb2YgdGhlIHNldmVyaXR5IG9mIHRoZSBjb25kaXRpb24gYXMgZXZhbHVhdGVkIGJ5IHRoZSBjbGluaWNpYW4uIiBjb21tZW50PSJDb2Rpbmcgb2YgdGhlIHNldmVyaXR5IHdpdGggYSB0ZXJtaW5vbG9neSBpcyBwcmVmZXJyZWQsIHdoZXJlIHBvc3NpYmxlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWNhdGlvbiBvZiB0aGUgY29uZGl0aW9uLCBwcm9ibGVtIG9yIGRpYWdub3NpcyIgZGVmaW5pdGlvbj0iSWRlbnRpZmljYXRpb24gb2YgdGhlIGNvbmRpdGlvbiwgcHJvYmxlbSBvciBkaWFnbm9zaXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJWYWx1ZXNldCB0byBkZXNjcmliZSB0aGUgYWN0dWFsIHByb2JsZW0gZXhwZXJpZW5jZWQgYnkgdGhlIHBhdGllbnQiIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBbmF0b21pY2FsIGxvY2F0aW9uLCBpZiByZWxldmFudCIgZGVmaW5pdGlvbj0iVGhlIGFuYXRvbWljYWwgbG9jYXRpb24gd2hlcmUgdGhpcyBjb25kaXRpb24gbWFuaWZlc3RzIGl0c2VsZi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBDb25kaXRpb24uY29kZS4gSWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIGF0dHJpYnV0ZXMgZnJvbSB0aGUgQm9keVNpdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb24gW2JvZHlTaXRlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4gIE1heSBiZSBhIHN1bW1hcnkgY29kZSwgb3IgYSByZWZlcmVuY2UgdG8gYSB2ZXJ5IHByZWNpc2UgZGVmaW5pdGlvbiBvZiB0aGUgbG9jYXRpb24sIG9yIGJvdGguIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBoYXMgdGhlIGNvbmRpdGlvbj8iIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgcGF0aWVudCBvciBncm91cCB3aG8gdGhlIGNvbmRpdGlvbiByZWNvcmQgaXMgYXNzb2NpYXRlZCB3aXRoLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkVuY291bnRlciBjcmVhdGVkIGFzIHBhcnQgb2YiIGRlZmluaXRpb249IlRoZSBFbmNvdW50ZXIgZHVyaW5nIHdoaWNoIHRoaXMgQ29uZGl0aW9uIHdhcyBjcmVhdGVkIG9yIHRvIHdoaWNoIHRoZSBjcmVhdGlvbiBvZiB0aGlzIHJlY29yZCBpcyB0aWdodGx5IGFzc29jaWF0ZWQuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgYWN0aXZpdGllcyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyLiBUaGlzIHJlY29yZCBpbmRpY2F0ZXMgdGhlIGVuY291bnRlciB0aGlzIHBhcnRpY3VsYXIgcmVjb3JkIGlzIGFzc29jaWF0ZWQgd2l0aC4gIEluIHRoZSBjYXNlIG9mIGEgJnF1b3Q7bmV3JnF1b3Q7IGRpYWdub3NpcyByZWZsZWN0aW5nIG9uZ29pbmcvcmV2aXNlZCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY29uZGl0aW9uLCB0aGlzIG1pZ2h0IGJlIGRpc3RpbmN0IGZyb20gdGhlIGZpcnN0IGVuY291bnRlciBpbiB3aGljaCB0aGUgdW5kZXJseWluZyBjb25kaXRpb24gd2FzIGZpcnN0ICZxdW90O2tub3duJnF1b3Q7LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJvbnNldCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJFc3RpbWF0ZWQgb3IgYWN0dWFsIGRhdGUsICBkYXRlLXRpbWUsIG9yIGFnZSIgZGVmaW5pdGlvbj0iRXN0aW1hdGVkIG9yIGFjdHVhbCBkYXRlIG9yIGRhdGUtdGltZSAgdGhlIGNvbmRpdGlvbiBiZWdhbiwgaW4gdGhlIG9waW5pb24gb2YgdGhlIGNsaW5pY2lhbi4iIGNvbW1lbnQ9IkFnZSBpcyBnZW5lcmFsbHkgdXNlZCB3aGVuIHRoZSBwYXRpZW50IHJlcG9ydHMgYW4gYWdlIGF0IHdoaWNoIHRoZSBDb25kaXRpb24gYmVnYW4gdG8gb2NjdXIuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhYmF0ZW1lbnQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2hlbiBpbiByZXNvbHV0aW9uL3JlbWlzc2lvbiIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgb3IgZXN0aW1hdGVkIGRhdGUgdGhhdCB0aGUgY29uZGl0aW9uIHJlc29sdmVkIG9yIHdlbnQgaW50byByZW1pc3Npb24uIFRoaXMgaXMgY2FsbGVkICZxdW90O2FiYXRlbWVudCZxdW90OyBiZWNhdXNlIG9mIHRoZSBtYW55IG92ZXJsb2FkZWQgY29ubm90YXRpb25zIGFzc29jaWF0ZWQgd2l0aCAmcXVvdDtyZW1pc3Npb24mcXVvdDsgb3IgJnF1b3Q7cmVzb2x1dGlvbiZxdW90OyAtIENvbmRpdGlvbnMgYXJlIG5ldmVyIHJlYWxseSByZXNvbHZlZCwgYnV0IHRoZXkgY2FuIGFiYXRlLiIgY29tbWVudD0iVGhlcmUgaXMgbm8gZXhwbGljaXQgZGlzdGluY3Rpb24gYmV0d2VlbiByZXNvbHV0aW9uIGFuZCByZW1pc3Npb24gYmVjYXVzZSBpbiBtYW55IGNhc2VzIHRoZSBkaXN0aW5jdGlvbiBpcyBub3QgY2xlYXIuIEFnZSBpcyBnZW5lcmFsbHkgdXNlZCB3aGVuIHRoZSBwYXRpZW50IHJlcG9ydHMgYW4gYWdlIGF0IHdoaWNoIHRoZSBDb25kaXRpb24gYWJhdGVkLiAgSWYgdGhlcmUgaXMgbm8gYWJhdGVtZW50IGVsZW1lbnQsIGl0IGlzIHVua25vd24gd2hldGhlciB0aGUgY29uZGl0aW9uIGhhcyByZXNvbHZlZCBvciBlbnRlcmVkIHJlbWlzc2lvbjsgYXBwbGljYXRpb25zIGFuZCB1c2VycyBzaG91bGQgZ2VuZXJhbGx5IGFzc3VtZSB0aGF0IHRoZSBjb25kaXRpb24gaXMgc3RpbGwgdmFsaWQuICBXaGVuIGFiYXRlbWVudFN0cmluZyBleGlzdHMsIGl0IGltcGxpZXMgdGhlIGNvbmRpdGlvbiBpcyBhYmF0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvcmRlZERhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZSByZWNvcmQgd2FzIGZpcnN0IHJlY29yZGVkIiBkZWZpbml0aW9uPSJUaGUgcmVjb3JkZWREYXRlIHJlcHJlc2VudHMgd2hlbiB0aGlzIHBhcnRpY3VsYXIgQ29uZGl0aW9uIHJlY29yZCB3YXMgY3JlYXRlZCBpbiB0aGUgc3lzdGVtLCB3aGljaCBpcyBvZnRlbiBhIHN5c3RlbS1nZW5lcmF0ZWQgZGF0ZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlY29yZGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyByZWNvcmRlZCB0aGUgY29uZGl0aW9uIiBkZWZpbml0aW9uPSJJbmRpdmlkdWFsIHdobyByZWNvcmRlZCB0aGUgcmVjb3JkIGFuZCB0YWtlcyByZXNwb25zaWJpbGl0eSBmb3IgaXRzIGNvbnRlbnQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFzc2VydGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlBlcnNvbiB3aG8gYXNzZXJ0cyB0aGlzIGNvbmRpdGlvbiIgZGVmaW5pdGlvbj0iSW5kaXZpZHVhbCB3aG8gaXMgbWFraW5nIHRoZSBjb25kaXRpb24gc3RhdGVtZW50LiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YWdlIiBkZXNjcmlwdGlvbj0iU3RhZ2UvZ3JhZGUsIHVzdWFsbHkgYXNzZXNzZWQgZm9ybWFsbHkiIGRlZmluaXRpb249IkNsaW5pY2FsIHN0YWdlIG9yIGdyYWRlIG9mIGEgY29uZGl0aW9uLiBNYXkgaW5jbHVkZSBmb3JtYWwgc2V2ZXJpdHkgYXNzZXNzbWVudHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbmRpdGlvbi5TdGFnZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9ImNvbi0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IlN0YWdlIFNIQUxMIGhhdmUgc3VtbWFyeSBvciBhc3Nlc3NtZW50Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InN1bW1hcnkuZXhpc3RzKCkgb3IgYXNzZXNzbWVudC5leGlzdHMoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZXZpZGVuY2UiIGRlc2NyaXB0aW9uPSJTdXBwb3J0aW5nIGV2aWRlbmNlIiBkZWZpbml0aW9uPSJTdXBwb3J0aW5nIGV2aWRlbmNlIC8gbWFuaWZlc3RhdGlvbnMgdGhhdCBhcmUgdGhlIGJhc2lzIG9mIHRoZSBDb25kaXRpb24ncyB2ZXJpZmljYXRpb24gc3RhdHVzLCBzdWNoIGFzIGV2aWRlbmNlIHRoYXQgY29uZmlybWVkIG9yIHJlZnV0ZWQgdGhlIGNvbmRpdGlvbi4iIGNvbW1lbnQ9IlRoZSBldmlkZW5jZSBtYXkgYmUgYSBzaW1wbGUgbGlzdCBvZiBjb2RlZCBzeW1wdG9tcy9tYW5pZmVzdGF0aW9ucywgb3IgcmVmZXJlbmNlcyB0byBvYnNlcnZhdGlvbnMgb3IgZm9ybWFsIGFzc2Vzc21lbnRzLCBvciBib3RoLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbmRpdGlvbi5FdmlkZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9ImNvbi0yIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9ImV2aWRlbmNlIFNIQUxMIGhhdmUgY29kZSBvciBkZXRhaWxzIj4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249ImNvZGUuZXhpc3RzKCkgb3IgZGV0YWlsLmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgQ29uZGl0aW9uIiBkZWZpbml0aW9uPSJBZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBDb25kaXRpb24uIFRoaXMgaXMgYSBnZW5lcmFsIG5vdGVzL2NvbW1lbnRzIGVudHJ5ICBmb3IgZGVzY3JpcHRpb24gb2YgdGhlIENvbmRpdGlvbiwgaXRzIGRpYWdub3NpcyBhbmQgcHJvZ25vc2lzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb250YWN0RGV0YWlsIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vQ29udGFjdERldGFpbCIgbGFiZWw9IkNvbnRhY3REZXRhaWwiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5hbWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik5hbWUgb2YgYW4gaW5kaXZpZHVhbCB0byBjb250YWN0IiBkZWZpbml0aW9uPSJUaGUgbmFtZSBvZiBhbiBpbmRpdmlkdWFsIHRvIGNvbnRhY3QuIiBjb21tZW50PSJJZiB0aGVyZSBpcyBubyBuYW1lZCBpbmRpdmlkdWFsLCB0aGUgdGVsZWNvbSBpbmZvcm1hdGlvbiBpcyBmb3IgdGhlIG9yZ2FuaXphdGlvbiBhcyBhIHdob2xlLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ0ZWxlY29tIiBkZXNjcmlwdGlvbj0iQ29udGFjdCBkZXRhaWxzIGZvciBpbmRpdmlkdWFsIG9yIG9yZ2FuaXphdGlvbiIgZGVmaW5pdGlvbj0iVGhlIGNvbnRhY3QgZGV0YWlscyBmb3IgdGhlIGluZGl2aWR1YWwgKGlmIGEgbmFtZSB3YXMgcHJvdmlkZWQpIG9yIHRoZSBvcmdhbml6YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ29udGFjdFBvaW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5FbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ29udGFjdFBvaW50IiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vQ29udGFjdFBvaW50IiBsYWJlbD0iQ29udGFjdFBvaW50IiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJzeXN0ZW0iIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ29udGFjdFBvaW50U3lzdGVtIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InBob25lIHwgZmF4IHwgZW1haWwgfCBwYWdlciB8IHVybCB8IHNtcyB8IG90aGVyIiBkZWZpbml0aW9uPSJUZWxlY29tbXVuaWNhdGlvbnMgZm9ybSBmb3IgY29udGFjdCBwb2ludCAtIHdoYXQgY29tbXVuaWNhdGlvbnMgc3lzdGVtIGlzIHJlcXVpcmVkIHRvIG1ha2UgdXNlIG9mIHRoZSBjb250YWN0LiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvbnRhY3RQb2ludFN5c3RlbSIgZGVzY3JpcHRpb249IlRlbGVjb21tdW5pY2F0aW9ucyBmb3JtIGZvciBjb250YWN0IHBvaW50LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSBhY3R1YWwgY29udGFjdCBwb2ludCBkZXRhaWxzIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGNvbnRhY3QgcG9pbnQgZGV0YWlscywgaW4gYSBmb3JtIHRoYXQgaXMgbWVhbmluZ2Z1bCB0byB0aGUgZGVzaWduYXRlZCBjb21tdW5pY2F0aW9uIHN5c3RlbSAoaS5lLiBwaG9uZSBudW1iZXIgb3IgZW1haWwgYWRkcmVzcykuIiBjb21tZW50PSJBZGRpdGlvbmFsIHRleHQgZGF0YSBzdWNoIGFzIHBob25lIGV4dGVuc2lvbiBudW1iZXJzLCBvciBub3RlcyBhYm91dCB1c2Ugb2YgdGhlIGNvbnRhY3QgYXJlIHNvbWV0aW1lcyBpbmNsdWRlZCBpbiB0aGUgdmFsdWUuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InVzZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5Db250YWN0UG9pbnRVc2UiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iaG9tZSB8IHdvcmsgfCB0ZW1wIHwgb2xkIHwgbW9iaWxlIC0gcHVycG9zZSBvZiB0aGlzIGNvbnRhY3QgcG9pbnQiIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIHB1cnBvc2UgZm9yIHRoZSBjb250YWN0IHBvaW50LiIgY29tbWVudD0iQXBwbGljYXRpb25zIGNhbiBhc3N1bWUgdGhhdCBhIGNvbnRhY3QgaXMgY3VycmVudCB1bmxlc3MgaXQgZXhwbGljaXRseSBzYXlzIHRoYXQgaXQgaXMgdGVtcG9yYXJ5IG9yIG9sZC4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJDb250YWN0UG9pbnRVc2UiIGRlc2NyaXB0aW9uPSJVc2Ugb2YgY29udGFjdCBwb2ludC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJhbmsiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJTcGVjaWZ5IHByZWZlcnJlZCBvcmRlciBvZiB1c2UgKDEgPSBoaWdoZXN0KSIgZGVmaW5pdGlvbj0iU3BlY2lmaWVzIGEgcHJlZmVycmVkIG9yZGVyIGluIHdoaWNoIHRvIHVzZSBhIHNldCBvZiBjb250YWN0cy4gQ29udGFjdFBvaW50cyB3aXRoIGxvd2VyIHJhbmsgdmFsdWVzIGFyZSBtb3JlIHByZWZlcnJlZCB0aGFuIHRob3NlIHdpdGggaGlnaGVyIHJhbmsgdmFsdWVzLiIgY29tbWVudD0iTm90ZSB0aGF0IHJhbmsgZG9lcyBub3QgbmVjZXNzYXJpbHkgZm9sbG93IHRoZSBvcmRlciBpbiB3aGljaCB0aGUgY29udGFjdHMgYXJlIHJlcHJlc2VudGVkIGluIHRoZSBpbnN0YW5jZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyaW9kIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRpbWUgcGVyaW9kIHdoZW4gdGhlIGNvbnRhY3QgcG9pbnQgd2FzL2lzIGluIHVzZSIgZGVmaW5pdGlvbj0iVGltZSBwZXJpb2Qgd2hlbiB0aGUgY29udGFjdCBwb2ludCB3YXMvaXMgaW4gdXNlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb250YWN0UG9pbnRTeXN0ZW0iIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb250YWN0UG9pbnRVc2UiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5FbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ29udHJpYnV0b3IiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9Db250cmlidXRvciIgbGFiZWw9IkNvbnRyaWJ1dG9yIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbnRyaWJ1dG9yVHlwZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJhdXRob3IgfCBlZGl0b3IgfCByZXZpZXdlciB8IGVuZG9yc2VyIiBkZWZpbml0aW9uPSJUaGUgdHlwZSBvZiBjb250cmlidXRvci4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJDb250cmlidXRvclR5cGUiIGRlc2NyaXB0aW9uPSJUaGUgdHlwZSBvZiBjb250cmlidXRvci4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5hbWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldobyBjb250cmlidXRlZCB0aGUgY29udGVudCIgZGVmaW5pdGlvbj0iVGhlIG5hbWUgb2YgdGhlIGluZGl2aWR1YWwgb3Igb3JnYW5pemF0aW9uIHJlc3BvbnNpYmxlIGZvciB0aGUgY29udHJpYnV0aW9uLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJjb250YWN0IiBkZXNjcmlwdGlvbj0iQ29udGFjdCBkZXRhaWxzIG9mIHRoZSBjb250cmlidXRvciIgZGVmaW5pdGlvbj0iQ29udGFjdCBkZXRhaWxzIHRvIGFzc2lzdCBhIHVzZXIgaW4gZmluZGluZyBhbmQgY29tbXVuaWNhdGluZyB3aXRoIHRoZSBjb250cmlidXRvci4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Db250YWN0RGV0YWlsIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb250cmlidXRvclR5cGUiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvdmVyYWdlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1jb3ZlcmFnZSIgbGFiZWw9IlFJQ29yZSBDb3ZlcmFnZSIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0idHlwZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBJZGVudGlmaWVyIGZvciB0aGUgY292ZXJhZ2UiIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBjb3ZlcmFnZS4iIGNvbW1lbnQ9IlRoZSBtYWluIChhbmQgcG9zc2libHkgb25seSkgaWRlbnRpZmllciBmb3IgdGhlIGNvdmVyYWdlIC0gb2Z0ZW4gcmVmZXJyZWQgdG8gYXMgYSBNZW1iZXIgSWQsIENlcnRpZmljYXRlIG51bWJlciwgUGVyc29uYWwgSGVhbHRoIE51bWJlciBvciBDYXNlIElELiBNYXkgYmUgY29uc3RydWN0ZWQgYXMgdGhlIGNvbmNhdGVuYXRpb24gb2YgdGhlIENvdmVyYWdlLlN1YnNjcmliZXJJRCBhbmQgdGhlIENvdmVyYWdlLmRlcGVuZGFudC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ292ZXJhZ2VTdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iYWN0aXZlIHwgY2FuY2VsbGVkIHwgZHJhZnQgfCBlbnRlcmVkLWluLWVycm9yIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSByZXNvdXJjZSBpbnN0YW5jZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIHRoZSBjb2RlIGVudGVyZWQtaW4tZXJyb3IgdGhhdCBtYXJrcyB0aGUgY292ZXJhZ2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJDb3ZlcmFnZVN0YXR1cyIgZGVzY3JpcHRpb249IkEgY29kZSBzcGVjaWZ5aW5nIHRoZSBzdGF0ZSBvZiB0aGUgcmVzb3VyY2UgaW5zdGFuY2UuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb3ZlcmFnZSBjYXRlZ29yeSBzdWNoIGFzIG1lZGljYWwgb3IgYWNjaWRlbnQiIGRlZmluaXRpb249IlRoZSB0eXBlIG9mIGNvdmVyYWdlOiBzb2NpYWwgcHJvZ3JhbSwgbWVkaWNhbCBwbGFuLCBhY2NpZGVudCBjb3ZlcmFnZSAod29ya2VycyBjb21wZW5zYXRpb24sIGF1dG8pLCBncm91cCBoZWFsdGggb3IgcGF5bWVudCBieSBhbiBpbmRpdmlkdWFsIG9yIG9yZ2FuaXphdGlvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkNhdGVnb3JpZXMgb2YgdHlwZXMgb2YgaGVhbHRoIGNhcmUgcGF5b3IgZW50aXRpZXMgYXMgZGVmaW5lZCBieSB0aGUgVVMgUHVibGljIEhlYWx0aCBEYXRhIENvbnNvcnRpdW0gU09QIGNvZGUgc3lzdGVtIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwb2xpY3lIb2xkZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iT3duZXIgb2YgdGhlIHBvbGljeSIgZGVmaW5pdGlvbj0iVGhlIHBhcnR5IHdobyAnb3ducycgdGhlIGluc3VyYW5jZSBwb2xpY3kuIiBjb21tZW50PSJGb3IgZXhhbXBsZTogbWF5IGJlIGFuIGluZGl2aWR1YWwsIGNvcnBvcmF0aW9uIG9yIHRoZSBzdWJzY3JpYmVyJ3MgZW1wbG95ZXIuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJzY3JpYmVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlN1YnNjcmliZXIgdG8gdGhlIHBvbGljeSIgZGVmaW5pdGlvbj0iVGhlIHBhcnR5IHdobyBoYXMgc2lnbmVkLXVwIGZvciBvciAnb3ducycgdGhlIGNvbnRyYWN0dWFsIHJlbGF0aW9uc2hpcCB0byB0aGUgcG9saWN5IG9yIHRvIHdob20gdGhlIGJlbmVmaXQgb2YgdGhlIHBvbGljeSBmb3Igc2VydmljZXMgcmVuZGVyZWQgdG8gdGhlbSBvciB0aGVpciBmYW1pbHkgaXMgZHVlLiIgY29tbWVudD0iTWF5IGJlIHNlbGYgb3IgYSBwYXJlbnQgaW4gdGhlIGNhc2Ugb2YgZGVwZW5kYW50cy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3Vic2NyaWJlcklkIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJRCBhc3NpZ25lZCB0byB0aGUgc3Vic2NyaWJlciIgZGVmaW5pdGlvbj0iVGhlIGluc3VyZXIgYXNzaWduZWQgSUQgZm9yIHRoZSBTdWJzY3JpYmVyLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iYmVuZWZpY2lhcnkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iUGxhbiBiZW5lZmljaWFyeSIgZGVmaW5pdGlvbj0iVGhlIHBhcnR5IHdobyBiZW5lZml0cyBmcm9tIHRoZSBpbnN1cmFuY2UgY292ZXJhZ2U7IHRoZSBwYXRpZW50IHdoZW4gcHJvZHVjdHMgYW5kL29yIHNlcnZpY2VzIGFyZSBwcm92aWRlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRlcGVuZGVudCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGVwZW5kZW50IG51bWJlciIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBmb3IgYSBkZXBlbmRlbnQgdW5kZXIgdGhlIGNvdmVyYWdlLiIgY29tbWVudD0iUGVyaW9kaWNhbGx5IHRoZSBtZW1iZXIgbnVtYmVyIGlzIGNvbnN0cnVjdGVkIGZyb20gdGhlIHN1YnNjcmliZXJJZCBhbmQgdGhlIGRlcGVuZGFudCBudW1iZXIuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlbGF0aW9uc2hpcCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQmVuZWZpY2lhcnkgcmVsYXRpb25zaGlwIHRvIHRoZSBzdWJzY3JpYmVyIiBkZWZpbml0aW9uPSJUaGUgcmVsYXRpb25zaGlwIG9mIGJlbmVmaWNpYXJ5IChwYXRpZW50KSB0byB0aGUgc3Vic2NyaWJlci4iIGNvbW1lbnQ9IlR5cGljYWxseSwgYW4gaW5kaXZpZHVhbCB1c2VzIHBvbGljaWVzIHdoaWNoIGFyZSB0aGVpcnMgKHJlbGF0aW9uc2hpcD0nc2VsZicpIGJlZm9yZSBwb2xpY2llcyBvd25lZCBieSBvdGhlcnMuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUmVsYXRpb25zaGlwIiBkZXNjcmlwdGlvbj0iVGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHRoZSBTdWJzY3JpYmVyIGFuZCB0aGUgQmVuZWZpY2lhcnkgKGluc3VyZWQvY292ZXJlZCBwYXJ0eS9wYXRpZW50KS4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyaW9kIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvdmVyYWdlIHN0YXJ0IGFuZCBlbmQgZGF0ZXMiIGRlZmluaXRpb249IlRpbWUgcGVyaW9kIGR1cmluZyB3aGljaCB0aGUgY292ZXJhZ2UgaXMgaW4gZm9yY2UuIEEgbWlzc2luZyBzdGFydCBkYXRlIGluZGljYXRlcyB0aGUgc3RhcnQgZGF0ZSBpc24ndCBrbm93biwgYSBtaXNzaW5nIGVuZCBkYXRlIG1lYW5zIHRoZSBjb3ZlcmFnZSBpcyBjb250aW51aW5nIHRvIGJlIGluIGZvcmNlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGF5b3IiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSXNzdWVyIG9mIHRoZSBwb2xpY3kiIGRlZmluaXRpb249IlRoZSBwcm9ncmFtIG9yIHBsYW4gdW5kZXJ3cml0ZXIgb3IgcGF5b3IgaW5jbHVkaW5nIGJvdGggaW5zdXJhbmNlIGFuZCBub24taW5zdXJhbmNlIGFncmVlbWVudHMsIHN1Y2ggYXMgcGF0aWVudC1wYXkgYWdyZWVtZW50cy4iIGNvbW1lbnQ9Ik1heSBwcm92aWRlIG11bHRpcGxlIGlkZW50aWZpZXJzIHN1Y2ggYXMgaW5zdXJhbmNlIGNvbXBhbnkgaWRlbnRpZmllciBvciBidXNpbmVzcyBpZGVudGlmaWVyIChCSU4gbnVtYmVyKS4mI3hhO0ZvciBzZWxmcGF5IGl0IG1heSBwcm92aWRlIG11bHRpcGxlIHBheWluZyBwZXJzb25zIGFuZC9vciBvcmdhbml6YXRpb25zLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2xhc3MiIGRlc2NyaXB0aW9uPSJBZGRpdGlvbmFsIGNvdmVyYWdlIGNsYXNzaWZpY2F0aW9ucyIgZGVmaW5pdGlvbj0iQSBzdWl0ZSBvZiB1bmRlcndyaXRlciBzcGVjaWZpYyBjbGFzc2lmaWVycy4iIGNvbW1lbnQ9IkZvciBleGFtcGxlIG1heSBiZSB1c2VkIHRvIGlkZW50aWZ5IGEgY2xhc3Mgb2YgY292ZXJhZ2Ugb3IgZW1wbG95ZXIgZ3JvdXAsIFBvbGljeSwgUGxhbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Db3ZlcmFnZS5DbGFzcyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ib3JkZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJSZWxhdGl2ZSBvcmRlciBvZiB0aGUgY292ZXJhZ2UiIGRlZmluaXRpb249IlRoZSBvcmRlciBvZiBhcHBsaWNhYmlsaXR5IG9mIHRoaXMgY292ZXJhZ2UgcmVsYXRpdmUgdG8gb3RoZXIgY292ZXJhZ2VzIHdoaWNoIGFyZSBjdXJyZW50bHkgaW4gZm9yY2UuIE5vdGUsIHRoZXJlIG1heSBiZSBnYXBzIGluIHRoZSBudW1iZXJpbmcgYW5kIHRoaXMgZG9lcyBub3QgaW1wbHkgcHJpbWFyeSwgc2Vjb25kYXJ5IGV0Yy4gYXMgdGhlIHNwZWNpZmljIHBvc2l0aW9uaW5nIG9mIGNvdmVyYWdlcyBkZXBlbmRzIHVwb24gdGhlIGVwaXNvZGUgb2YgY2FyZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5ldHdvcmsiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3VyZXIgbmV0d29yayIgZGVmaW5pdGlvbj0iVGhlIGluc3VyZXItc3BlY2lmaWMgaWRlbnRpZmllciBmb3IgdGhlIGluc3VyZXItZGVmaW5lZCBuZXR3b3JrIG9mIHByb3ZpZGVycyB0byB3aGljaCB0aGUgYmVuZWZpY2lhcnkgbWF5IHNlZWsgdHJlYXRtZW50IHdoaWNoIHdpbGwgYmUgY292ZXJlZCBhdCB0aGUgJ2luLW5ldHdvcmsnIHJhdGUsIG90aGVyd2lzZSAnb3V0IG9mIG5ldHdvcmsnIHRlcm1zIGFuZCBjb25kaXRpb25zIGFwcGx5LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJjb3N0VG9CZW5lZmljaWFyeSIgZGVzY3JpcHRpb249IlBhdGllbnQgcGF5bWVudHMgZm9yIHNlcnZpY2VzL3Byb2R1Y3RzIiBkZWZpbml0aW9uPSJBIHN1aXRlIG9mIGNvZGVzIGluZGljYXRpbmcgdGhlIGNvc3QgY2F0ZWdvcnkgYW5kIGFzc29jaWF0ZWQgYW1vdW50IHdoaWNoIGhhdmUgYmVlbiBkZXRhaWxlZCBpbiB0aGUgcG9saWN5IGFuZCBtYXkgaGF2ZSBiZWVuICBpbmNsdWRlZCBvbiB0aGUgaGVhbHRoIGNhcmQuIiBjb21tZW50PSJGb3IgZXhhbXBsZSBieSBrbm93aW5nIHRoZSBwYXRpZW50IHZpc2l0IGNvLXBheSwgdGhlIHByb3ZpZGVyIGNhbiBjb2xsZWN0IHRoZSBhbW91bnQgcHJpb3IgdG8gdW5kZXJ0YWtpbmcgdHJlYXRtZW50LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkNvdmVyYWdlLkNvc3RUb0JlbmVmaWNpYXJ5IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJyb2dhdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Cb29sZWFuIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlJlaW1idXJzZW1lbnQgdG8gaW5zdXJlciIgZGVmaW5pdGlvbj0iV2hlbiAnc3Vicm9nYXRpb249dHJ1ZScgdGhpcyBpbnN1cmFuY2UgaW5zdGFuY2UgaGFzIGJlZW4gaW5jbHVkZWQgbm90IGZvciBhZGp1ZGljYXRpb24gYnV0IHRvIHByb3ZpZGUgaW5zdXJlcnMgd2l0aCB0aGUgZGV0YWlscyB0byByZWNvdmVyIGNvc3RzLiIgY29tbWVudD0iVHlwaWNhbGx5LCBhdXRvbW90aXZlIGFuZCB3b3JrZXIncyBjb21wZW5zYXRpb24gcG9saWNpZXMgd291bGQgYmUgZmxhZ2dlZCB3aXRoICdzdWJyb2dhdGlvbj10cnVlJyB0byBlbmFibGUgaGVhbHRoY2FyZSBwYXlvcnMgdG8gY29sbGVjdCBhZ2FpbnN0IGFjY2lkZW50IGNsYWltcy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29udHJhY3QiIGRlc2NyaXB0aW9uPSJDb250cmFjdCBkZXRhaWxzIiBkZWZpbml0aW9uPSJUaGUgcG9saWN5KHMpIHdoaWNoIGNvbnN0aXR1dGUgdGhpcyBpbnN1cmFuY2UgY292ZXJhZ2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBvbGljeUhvbGRlciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0ic3Vic2NyaWJlciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0iYmVuZWZpY2lhcnkiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBheW9yIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlJlbGF0ZWRQZXJzb24iIHJlbGF0ZWRLZXlFbGVtZW50PSJwb2xpY3lIb2xkZXIiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUmVsYXRlZFBlcnNvbiIgcmVsYXRlZEtleUVsZW1lbnQ9InN1YnNjcmliZXIiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUmVsYXRlZFBlcnNvbiIgcmVsYXRlZEtleUVsZW1lbnQ9InBheW9yIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvdmVyYWdlLkNsYXNzIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUeXBlIG9mIGNsYXNzIHN1Y2ggYXMgJ2dyb3VwJyBvciAncGxhbiciIGRlZmluaXRpb249IlRoZSB0eXBlIG9mIGNsYXNzaWZpY2F0aW9uIGZvciB3aGljaCBhbiBpbnN1cmVyLXNwZWNpZmljIGNsYXNzIGxhYmVsIG9yIG51bWJlciBhbmQgb3B0aW9uYWwgbmFtZSBpcyBwcm92aWRlZCwgZm9yIGV4YW1wbGUgbWF5IGJlIHVzZWQgdG8gaWRlbnRpZnkgYSBjbGFzcyBvZiBjb3ZlcmFnZSBvciBlbXBsb3llciBncm91cCwgUG9saWN5LCBQbGFuLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvdmVyYWdlQ2xhc3MiIGRlc2NyaXB0aW9uPSJUaGUgcG9saWN5IGNsYXNzaWZpY2F0aW9ucywgZWcuIEdyb3VwLCBQbGFuLCBDbGFzcywgZXRjLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVmFsdWUgYXNzb2NpYXRlZCB3aXRoIHRoZSB0eXBlIiBkZWZpbml0aW9uPSJUaGUgYWxwaGFudW1lcmljIHN0cmluZyB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggdGhlIGluc3VyZXIgaXNzdWVkIGxhYmVsLiIgY29tbWVudD0iRm9yIGV4YW1wbGUsIHRoZSBHcm91cCBvciBQbGFuIG51bWJlci4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibmFtZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSHVtYW4gcmVhZGFibGUgZGVzY3JpcHRpb24gb2YgdGhlIHR5cGUgYW5kIHZhbHVlIiBkZWZpbml0aW9uPSJBIHNob3J0IGRlc2NyaXB0aW9uIGZvciB0aGUgY2xhc3MuIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvdmVyYWdlLkNvc3RUb0JlbmVmaWNpYXJ5IiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb3N0IGNhdGVnb3J5IiBkZWZpbml0aW9uPSJUaGUgY2F0ZWdvcnkgb2YgcGF0aWVudCBjZW50cmljIGNvc3RzIGFzc29jaWF0ZWQgd2l0aCB0cmVhdG1lbnQuIiBjb21tZW50PSJGb3IgZXhhbXBsZSB2aXNpdCwgc3BlY2lhbGlzdCB2aXNpdHMsIGVtZXJnZW5jeSwgaW5wYXRpZW50IGNhcmUsIGV0Yy4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJDb3BheVR5cGVzIiBkZXNjcmlwdGlvbj0iVGhlIHR5cGVzIG9mIHNlcnZpY2VzIHRvIHdoaWNoIHBhdGllbnQgY29wYXltZW50cyBhcmUgc3BlY2lmaWVkLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgYW1vdW50IG9yIHBlcmNlbnRhZ2UgZHVlIGZyb20gdGhlIGJlbmVmaWNpYXJ5IiBkZWZpbml0aW9uPSJUaGUgYW1vdW50IGR1ZSBmcm9tIHRoZSBwYXRpZW50IGZvciB0aGUgY29zdCBjYXRlZ29yeS4iIGNvbW1lbnQ9IkFtb3VudCBtYXkgYmUgZXhwcmVzc2VkIGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgc2VydmljZS9wcm9kdWN0IGNvc3Qgb3IgYSBmaXhlZCBhbW91bnQgb2YgY3VycmVuY3kuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGVjaW1hbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImV4Y2VwdGlvbiIgZGVzY3JpcHRpb249IkV4Y2VwdGlvbnMgZm9yIHBhdGllbnQgcGF5bWVudHMiIGRlZmluaXRpb249IkEgc3VpdGUgb2YgY29kZXMgaW5kaWNhdGluZyBleGNlcHRpb25zIG9yIHJlZHVjdGlvbnMgdG8gcGF0aWVudCBjb3N0cyBhbmQgdGhlaXIgZWZmZWN0aXZlIHBlcmlvZHMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ292ZXJhZ2UuQ29zdFRvQmVuZWZpY2lhcnkuRXhjZXB0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb3ZlcmFnZS5Db3N0VG9CZW5lZmljaWFyeS5FeGNlcHRpb24iIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkV4Y2VwdGlvbiBjYXRlZ29yeSIgZGVmaW5pdGlvbj0iVGhlIGNvZGUgZm9yIHRoZSBzcGVjaWZpYyBleGNlcHRpb24uIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ292ZXJhZ2VGaW5hbmNpYWxFeGNlcHRpb24iIGRlc2NyaXB0aW9uPSJUaGUgdHlwZXMgb2YgZXhjZXB0aW9ucyBmcm9tIHRoZSBwYXJ0IG9yIGZ1bGwgdmFsdWUgb2YgZmluYW5jaWFsIG9ibGlnYXRpb25zIHN1Y2ggYXMgY29wYXlzLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwZXJpb2QiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGhlIGVmZmVjdGl2ZSBwZXJpb2Qgb2YgdGhlIGV4Y2VwdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHRpbWVmcmFtZSBkdXJpbmcgd2hlbiB0aGUgZXhjZXB0aW9uIGlzIGluIGZvcmNlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb3ZlcmFnZVN0YXR1cyIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRhdGFBYnNlbnRSZWFzb24iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEYXRhIEFic2VudCBSZWFzb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9kYXRhLWFic2VudC1yZWFzb24iIGxhYmVsPSJXaHkgdmFsdWUgaXMgbWlzc2luZyIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRhdGFBYnNlbnRSZWFzb24iIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5FbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRGF0YVJlcXVpcmVtZW50IiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vRGF0YVJlcXVpcmVtZW50IiBsYWJlbD0iRGF0YVJlcXVpcmVtZW50IiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iUUlDb3JlLkZISVJBbGxUeXBlcyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaGUgdHlwZSBvZiB0aGUgcmVxdWlyZWQgZGF0YSIgZGVmaW5pdGlvbj0iVGhlIHR5cGUgb2YgdGhlIHJlcXVpcmVkIGRhdGEsIHNwZWNpZmllZCBhcyB0aGUgdHlwZSBuYW1lIG9mIGEgcmVzb3VyY2UuIEZvciBwcm9maWxlcywgdGhpcyB2YWx1ZSBpcyBzZXQgdG8gdGhlIHR5cGUgb2YgdGhlIGJhc2UgcmVzb3VyY2Ugb2YgdGhlIHByb2ZpbGUuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRkhJUkFsbFR5cGVzIiBkZXNjcmlwdGlvbj0iQSBsaXN0IG9mIGFsbCB0aGUgY29uY3JldGUgdHlwZXMgZGVmaW5lZCBpbiB0aGlzIHZlcnNpb24gb2YgdGhlIEZISVIgc3BlY2lmaWNhdGlvbiAtIEFic3RyYWN0IFR5cGVzLCBEYXRhIFR5cGVzIGFuZCBSZXNvdXJjZSBUeXBlcy4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InByb2ZpbGUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGhlIHByb2ZpbGUgb2YgdGhlIHJlcXVpcmVkIGRhdGEiIGRlZmluaXRpb249IlRoZSBwcm9maWxlIG9mIHRoZSByZXF1aXJlZCBkYXRhLCBzcGVjaWZpZWQgYXMgdGhlIHVyaSBvZiB0aGUgcHJvZmlsZSBkZWZpbml0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJFLmcuIFBhdGllbnQsIFByYWN0aXRpb25lciwgUmVsYXRlZFBlcnNvbiwgT3JnYW5pemF0aW9uLCBMb2NhdGlvbiwgRGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgaW50ZW5kZWQgc3ViamVjdHMgb2YgdGhlIGRhdGEgcmVxdWlyZW1lbnQuIElmIHRoaXMgZWxlbWVudCBpcyBub3QgcHJvdmlkZWQsIGEgUGF0aWVudCBzdWJqZWN0IGlzIGFzc3VtZWQuIiBjb21tZW50PSJUaGUgc3ViamVjdCBvZiBhIGRhdGEgcmVxdWlyZW1lbnQgaXMgY3JpdGljYWwsIGFzIHRoZSBkYXRhIGJlaW5nIHNwZWNpZmllZCBpcyBkZXRlcm1pbmVkIHdpdGggcmVzcGVjdCB0byBhIHBhcnRpY3VsYXIgc3ViamVjdC4gVGhpcyBjb3JyZXNwb25kcyByb3VnaGx5IHRvIHRoZSBub3Rpb24gb2YgYSBDb21wYXJ0bWVudCBpbiB0aGF0IGl0IGxpbWl0cyB3aGF0IGRhdGEgaXMgYXZhaWxhYmxlIGJhc2VkIG9uIGl0cyByZWxhdGlvbnNoaXAgdG8gdGhlIHN1YmplY3QuIEluIENRTCwgdGhpcyBjb3JyZXNwb25kcyB0byB0aGUgY29udGV4dCBkZWNsYXJhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTdWJqZWN0VHlwZSIgZGVzY3JpcHRpb249IlRoZSBwb3NzaWJsZSB0eXBlcyBvZiBzdWJqZWN0cyBmb3IgYSBkYXRhIHJlcXVpcmVtZW50IChFLmcuLCBQYXRpZW50LCBQcmFjdGl0aW9uZXIsIE9yZ2FuaXphdGlvbiwgTG9jYXRpb24sIGV0Yy4pLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtdXN0U3VwcG9ydCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgc3BlY2lmaWMgc3RydWN0dXJlIGVsZW1lbnRzIHRoYXQgYXJlIHJlZmVyZW5jZWQgYnkgdGhlIGtub3dsZWRnZSBtb2R1bGUiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGF0IHNwZWNpZmljIGVsZW1lbnRzIG9mIHRoZSB0eXBlIGFyZSByZWZlcmVuY2VkIGJ5IHRoZSBrbm93bGVkZ2UgbW9kdWxlIGFuZCBtdXN0IGJlIHN1cHBvcnRlZCBieSB0aGUgY29uc3VtZXIgaW4gb3JkZXIgdG8gb2J0YWluIGFuIGVmZmVjdGl2ZSBldmFsdWF0aW9uLiBUaGlzIGRvZXMgbm90IG1lYW4gdGhhdCBhIHZhbHVlIGlzIHJlcXVpcmVkIGZvciB0aGlzIGVsZW1lbnQsIG9ubHkgdGhhdCB0aGUgY29uc3VtaW5nIHN5c3RlbSBtdXN0IHVuZGVyc3RhbmQgdGhlIGVsZW1lbnQgYW5kIGJlIGFibGUgdG8gcHJvdmlkZSB2YWx1ZXMgZm9yIGl0IGlmIHRoZXkgYXJlIGF2YWlsYWJsZS4gJiN4YTsmI3hhO1RoZSB2YWx1ZSBvZiBtdXN0U3VwcG9ydCBTSEFMTCBiZSBhIEZISVJQYXRoIHJlc29sdmVhYmxlIG9uIHRoZSB0eXBlIG9mIHRoZSBEYXRhUmVxdWlyZW1lbnQuIFRoZSBwYXRoIFNIQUxMIGNvbnNpc3Qgb25seSBvZiBpZGVudGlmaWVycywgY29uc3RhbnQgaW5kZXhlcnMsIGFuZCAucmVzb2x2ZSgpIChzZWUgdGhlIFtTaW1wbGUgRkhJUlBhdGggUHJvZmlsZV0oZmhpcnBhdGguaHRtbCNzaW1wbGUpIGZvciBmdWxsIGRldGFpbHMpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZUZpbHRlciIgZGVzY3JpcHRpb249IldoYXQgY29kZXMgYXJlIGV4cGVjdGVkIiBkZWZpbml0aW9uPSJDb2RlIGZpbHRlcnMgc3BlY2lmeSBhZGRpdGlvbmFsIGNvbnN0cmFpbnRzIG9uIHRoZSBkYXRhLCBzcGVjaWZ5aW5nIHRoZSB2YWx1ZSBzZXQgb2YgaW50ZXJlc3QgZm9yIGEgcGFydGljdWxhciBlbGVtZW50IG9mIHRoZSBkYXRhLiBFYWNoIGNvZGUgZmlsdGVyIGRlZmluZXMgYW4gYWRkaXRpb25hbCBjb25zdHJhaW50IG9uIHRoZSBkYXRhLCBpLmUuIGNvZGUgZmlsdGVycyBhcmUgQU5EJ2VkLCBub3QgT1InZWQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuRGF0YVJlcXVpcmVtZW50LkNvZGVGaWx0ZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJkcnEtMSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJFaXRoZXIgYSBwYXRoIG9yIGEgc2VhcmNoUGFyYW0gbXVzdCBiZSBwcm92aWRlZCwgYnV0IG5vdCBib3RoIj4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InBhdGguZXhpc3RzKCkgeG9yIHNlYXJjaFBhcmFtLmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkYXRlRmlsdGVyIiBkZXNjcmlwdGlvbj0iV2hhdCBkYXRlcy9kYXRlIHJhbmdlcyBhcmUgZXhwZWN0ZWQiIGRlZmluaXRpb249IkRhdGUgZmlsdGVycyBzcGVjaWZ5IGFkZGl0aW9uYWwgY29uc3RyYWludHMgb24gdGhlIGRhdGEgaW4gdGVybXMgb2YgdGhlIGFwcGxpY2FibGUgZGF0ZSByYW5nZSBmb3Igc3BlY2lmaWMgZWxlbWVudHMuIEVhY2ggZGF0ZSBmaWx0ZXIgc3BlY2lmaWVzIGFuIGFkZGl0aW9uYWwgY29uc3RyYWludCBvbiB0aGUgZGF0YSwgaS5lLiBkYXRlIGZpbHRlcnMgYXJlIEFORCdlZCwgbm90IE9SJ2VkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkRhdGFSZXF1aXJlbWVudC5EYXRlRmlsdGVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0iZHJxLTIiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iRWl0aGVyIGEgcGF0aCBvciBhIHNlYXJjaFBhcmFtIG11c3QgYmUgcHJvdmlkZWQsIGJ1dCBub3QgYm90aCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJwYXRoLmV4aXN0cygpIHhvciBzZWFyY2hQYXJhbS5leGlzdHMoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibGltaXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOdW1iZXIgb2YgcmVzdWx0cyIgZGVmaW5pdGlvbj0iU3BlY2lmaWVzIGEgbWF4aW11bSBudW1iZXIgb2YgcmVzdWx0cyB0aGF0IGFyZSByZXF1aXJlZCAodXNlcyB0aGUgX2NvdW50IHNlYXJjaCBwYXJhbWV0ZXIpLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGNhbiBiZSB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggdGhlIHNvcnQgZWxlbWVudCB0byBzcGVjaWZ5IHF1b3RhIHJlcXVpcmVtZW50cyBzdWNoIGFzICZxdW90O3RoZSBtb3N0IHJlY2VudCA1JnF1b3Q7IG9yICZxdW90O3RoZSBoaWdoZXN0IDUmcXVvdDsuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InNvcnQiIGRlc2NyaXB0aW9uPSJPcmRlciBvZiB0aGUgcmVzdWx0cyIgZGVmaW5pdGlvbj0iU3BlY2lmaWVzIHRoZSBvcmRlciBvZiB0aGUgcmVzdWx0cyB0byBiZSByZXR1cm5lZC4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBjYW4gYmUgdXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoIHRoZSBzb3J0IGVsZW1lbnQgdG8gc3BlY2lmeSBxdW90YSByZXF1aXJlbWVudHMgc3VjaCBhcyAmcXVvdDt0aGUgbW9zdCByZWNlbnQgNSZxdW90OyBvciAmcXVvdDt0aGUgaGlnaGVzdCA1JnF1b3Q7LiBXaGVuIG11bHRpcGxlIHNvcnRzIGFyZSBzcGVjaWZpZWQsIHRoZXkgYXJlIGFwcGxpZWQgaW4gdGhlIG9yZGVyIHRoZXkgYXBwZWFyIGluIHRoZSByZXNvdXJjZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5EYXRhUmVxdWlyZW1lbnQuU29ydCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRhdGFSZXF1aXJlbWVudC5Db2RlRmlsdGVyIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXRoIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBIGNvZGUtdmFsdWVkIGF0dHJpYnV0ZSB0byBmaWx0ZXIgb24iIGRlZmluaXRpb249IlRoZSBjb2RlLXZhbHVlZCBhdHRyaWJ1dGUgb2YgdGhlIGZpbHRlci4gVGhlIHNwZWNpZmllZCBwYXRoIFNIQUxMIGJlIGEgRkhJUlBhdGggcmVzb2x2ZWFibGUgb24gdGhlIHNwZWNpZmllZCB0eXBlIG9mIHRoZSBEYXRhUmVxdWlyZW1lbnQsIGFuZCBTSEFMTCBjb25zaXN0IG9ubHkgb2YgaWRlbnRpZmllcnMsIGNvbnN0YW50IGluZGV4ZXJzLCBhbmQgLnJlc29sdmUoKS4gVGhlIHBhdGggaXMgYWxsb3dlZCB0byBjb250YWluIHF1YWxpZmllcnMgKC4pIHRvIHRyYXZlcnNlIHN1Yi1lbGVtZW50cywgYXMgd2VsbCBhcyBpbmRleGVycyAoW3hdKSB0byB0cmF2ZXJzZSBtdWx0aXBsZS1jYXJkaW5hbGl0eSBzdWItZWxlbWVudHMgKHNlZSB0aGUgW1NpbXBsZSBGSElSUGF0aCBQcm9maWxlXShmaGlycGF0aC5odG1sI3NpbXBsZSkgZm9yIGZ1bGwgZGV0YWlscykuIE5vdGUgdGhhdCB0aGUgaW5kZXggbXVzdCBiZSBhbiBpbnRlZ2VyIGNvbnN0YW50LiBUaGUgcGF0aCBtdXN0IHJlc29sdmUgdG8gYW4gZWxlbWVudCBvZiB0eXBlIGNvZGUsIENvZGluZywgb3IgQ29kZWFibGVDb25jZXB0LiIgY29tbWVudD0iVGhlIHBhdGggYXR0cmlidXRlIGNvbnRhaW5zIGEgW1NpbXBsZSBGSElSUGF0aCBTdWJzZXRdKGZoaXJwYXRoLmh0bWwjc2ltcGxlKSB0aGF0IGFsbG93cyBwYXRoIHRyYXZlcnNhbCwgYnV0IG5vdCBjYWxjdWxhdGlvbi4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2VhcmNoUGFyYW0iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkEgY29kZWQgKHRva2VuKSBwYXJhbWV0ZXIgdG8gc2VhcmNoIG9uIiBkZWZpbml0aW9uPSJBIHRva2VuIHBhcmFtZXRlciB0aGF0IHJlZmVycyB0byBhIHNlYXJjaCBwYXJhbWV0ZXIgZGVmaW5lZCBvbiB0aGUgc3BlY2lmaWVkIHR5cGUgb2YgdGhlIERhdGFSZXF1aXJlbWVudCwgYW5kIHdoaWNoIHNlYXJjaGVzIG9uIGVsZW1lbnRzIG9mIHR5cGUgY29kZSwgQ29kaW5nLCBvciBDb2RlYWJsZUNvbmNlcHQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlU2V0IiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJWYWx1ZXNldCBmb3IgdGhlIGZpbHRlciIgZGVmaW5pdGlvbj0iVGhlIHZhbHVlc2V0IGZvciB0aGUgY29kZSBmaWx0ZXIuIFRoZSB2YWx1ZVNldCBhbmQgY29kZSBlbGVtZW50cyBhcmUgYWRkaXRpdmUuIElmIHZhbHVlU2V0IGlzIHNwZWNpZmllZCwgdGhlIGZpbHRlciB3aWxsIHJldHVybiBvbmx5IHRob3NlIGRhdGEgaXRlbXMgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgY29kZS12YWx1ZWQgZWxlbWVudCBzcGVjaWZpZWQgaW4gdGhlIHBhdGggaXMgYSBtZW1iZXIgb2YgdGhlIHNwZWNpZmllZCB2YWx1ZXNldC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvZGUoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoYXQgY29kZSBpcyBleHBlY3RlZCIgZGVmaW5pdGlvbj0iVGhlIGNvZGVzIGZvciB0aGUgY29kZSBmaWx0ZXIuIElmIHZhbHVlcyBhcmUgZ2l2ZW4sIHRoZSBmaWx0ZXIgd2lsbCByZXR1cm4gb25seSB0aG9zZSBkYXRhIGl0ZW1zIGZvciB3aGljaCB0aGUgY29kZS12YWx1ZWQgYXR0cmlidXRlIHNwZWNpZmllZCBieSB0aGUgcGF0aCBoYXMgYSB2YWx1ZSB0aGF0IGlzIG9uZSBvZiB0aGUgc3BlY2lmaWVkIGNvZGVzLiBJZiBjb2RlcyBhcmUgc3BlY2lmaWVkIGluIGFkZGl0aW9uIHRvIGEgdmFsdWUgc2V0LCB0aGUgZmlsdGVyIHJldHVybnMgaXRlbXMgbWF0Y2hpbmcgYSBjb2RlIGluIHRoZSB2YWx1ZSBzZXQgb3Igb25lIG9mIHRoZSBzcGVjaWZpZWQgY29kZXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29kZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRhdGFSZXF1aXJlbWVudC5EYXRlRmlsdGVyIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXRoIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBIGRhdGUtdmFsdWVkIGF0dHJpYnV0ZSB0byBmaWx0ZXIgb24iIGRlZmluaXRpb249IlRoZSBkYXRlLXZhbHVlZCBhdHRyaWJ1dGUgb2YgdGhlIGZpbHRlci4gVGhlIHNwZWNpZmllZCBwYXRoIFNIQUxMIGJlIGEgRkhJUlBhdGggcmVzb2x2ZWFibGUgb24gdGhlIHNwZWNpZmllZCB0eXBlIG9mIHRoZSBEYXRhUmVxdWlyZW1lbnQsIGFuZCBTSEFMTCBjb25zaXN0IG9ubHkgb2YgaWRlbnRpZmllcnMsIGNvbnN0YW50IGluZGV4ZXJzLCBhbmQgLnJlc29sdmUoKS4gVGhlIHBhdGggaXMgYWxsb3dlZCB0byBjb250YWluIHF1YWxpZmllcnMgKC4pIHRvIHRyYXZlcnNlIHN1Yi1lbGVtZW50cywgYXMgd2VsbCBhcyBpbmRleGVycyAoW3hdKSB0byB0cmF2ZXJzZSBtdWx0aXBsZS1jYXJkaW5hbGl0eSBzdWItZWxlbWVudHMgKHNlZSB0aGUgW1NpbXBsZSBGSElSUGF0aCBQcm9maWxlXShmaGlycGF0aC5odG1sI3NpbXBsZSkgZm9yIGZ1bGwgZGV0YWlscykuIE5vdGUgdGhhdCB0aGUgaW5kZXggbXVzdCBiZSBhbiBpbnRlZ2VyIGNvbnN0YW50LiBUaGUgcGF0aCBtdXN0IHJlc29sdmUgdG8gYW4gZWxlbWVudCBvZiB0eXBlIGRhdGUsIGRhdGVUaW1lLCBQZXJpb2QsIFNjaGVkdWxlLCBvciBUaW1pbmcuIiBjb21tZW50PSJUaGUgcGF0aCBhdHRyaWJ1dGUgY29udGFpbnMgYSBbU2ltcGxlIEZISVIgU3Vic2V0XShmaGlycGF0aC5odG1sI3NpbXBsZSkgdGhhdCBhbGxvd3MgcGF0aCB0cmF2ZXJzYWwsIGJ1dCBub3QgY2FsY3VsYXRpb24uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InNlYXJjaFBhcmFtIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBIGRhdGUgdmFsdWVkIHBhcmFtZXRlciB0byBzZWFyY2ggb24iIGRlZmluaXRpb249IkEgZGF0ZSBwYXJhbWV0ZXIgdGhhdCByZWZlcnMgdG8gYSBzZWFyY2ggcGFyYW1ldGVyIGRlZmluZWQgb24gdGhlIHNwZWNpZmllZCB0eXBlIG9mIHRoZSBEYXRhUmVxdWlyZW1lbnQsIGFuZCB3aGljaCBzZWFyY2hlcyBvbiBlbGVtZW50cyBvZiB0eXBlIGRhdGUsIGRhdGVUaW1lLCBQZXJpb2QsIFNjaGVkdWxlLCBvciBUaW1pbmcuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRoZSB2YWx1ZSBvZiB0aGUgZmlsdGVyLCBhcyBhIFBlcmlvZCwgRGF0ZVRpbWUsIG9yIER1cmF0aW9uIHZhbHVlIiBkZWZpbml0aW9uPSJUaGUgdmFsdWUgb2YgdGhlIGZpbHRlci4gSWYgcGVyaW9kIGlzIHNwZWNpZmllZCwgdGhlIGZpbHRlciB3aWxsIHJldHVybiBvbmx5IHRob3NlIGRhdGEgaXRlbXMgdGhhdCBmYWxsIHdpdGhpbiB0aGUgYm91bmRzIGRldGVybWluZWQgYnkgdGhlIFBlcmlvZCwgaW5jbHVzaXZlIG9mIHRoZSBwZXJpb2QgYm91bmRhcmllcy4gSWYgZGF0ZVRpbWUgaXMgc3BlY2lmaWVkLCB0aGUgZmlsdGVyIHdpbGwgcmV0dXJuIG9ubHkgdGhvc2UgZGF0YSBpdGVtcyB0aGF0IGFyZSBlcXVhbCB0byB0aGUgc3BlY2lmaWVkIGRhdGVUaW1lLiBJZiBhIER1cmF0aW9uIGlzIHNwZWNpZmllZCwgdGhlIGZpbHRlciB3aWxsIHJldHVybiBvbmx5IHRob3NlIGRhdGEgaXRlbXMgdGhhdCBmYWxsIHdpdGhpbiBEdXJhdGlvbiBiZWZvcmUgbm93LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEYXRhUmVxdWlyZW1lbnQuU29ydCIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0icGF0aCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGhlIG5hbWUgb2YgdGhlIGF0dHJpYnV0ZSB0byBwZXJmb3JtIHRoZSBzb3J0IiBkZWZpbml0aW9uPSJUaGUgYXR0cmlidXRlIG9mIHRoZSBzb3J0LiBUaGUgc3BlY2lmaWVkIHBhdGggbXVzdCBiZSByZXNvbHZhYmxlIGZyb20gdGhlIHR5cGUgb2YgdGhlIHJlcXVpcmVkIGRhdGEuIFRoZSBwYXRoIGlzIGFsbG93ZWQgdG8gY29udGFpbiBxdWFsaWZpZXJzICguKSB0byB0cmF2ZXJzZSBzdWItZWxlbWVudHMsIGFzIHdlbGwgYXMgaW5kZXhlcnMgKFt4XSkgdG8gdHJhdmVyc2UgbXVsdGlwbGUtY2FyZGluYWxpdHkgc3ViLWVsZW1lbnRzLiBOb3RlIHRoYXQgdGhlIGluZGV4IG11c3QgYmUgYW4gaW50ZWdlciBjb25zdGFudC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGlyZWN0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLlNvcnREaXJlY3Rpb24iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iYXNjZW5kaW5nIHwgZGVzY2VuZGluZyIgZGVmaW5pdGlvbj0iVGhlIGRpcmVjdGlvbiBvZiB0aGUgc29ydCwgYXNjZW5kaW5nIG9yIGRlc2NlbmRpbmcuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU29ydERpcmVjdGlvbiIgZGVzY3JpcHRpb249IlRoZSBwb3NzaWJsZSBzb3J0IGRpcmVjdGlvbnMsIGFzY2VuZGluZyBvciBkZXNjZW5kaW5nLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRGF5T2ZXZWVrIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRGF5c09mV2VlayIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRGV2aWNlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1kZXZpY2UiIGxhYmVsPSJRSUNvcmUgRGV2aWNlIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJ0eXBlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249Ikluc3RhbmNlIGlkZW50aWZpZXIiIGRlZmluaXRpb249IlVuaXF1ZSBpbnN0YW5jZSBpZGVudGlmaWVycyBhc3NpZ25lZCB0byBhIGRldmljZSBieSBtYW51ZmFjdHVyZXJzIG90aGVyIG9yZ2FuaXphdGlvbnMgb3Igb3duZXJzLiIgY29tbWVudD0iVGhlIGJhcmNvZGUgc3RyaW5nIGZyb20gYSBiYXJjb2RlIHByZXNlbnQgb24gYSBkZXZpY2UgbGFiZWwgb3IgcGFja2FnZSBtYXkgaWRlbnRpZnkgdGhlIGluc3RhbmNlLCBpbmNsdWRlIG5hbWVzIGdpdmVuIHRvIHRoZSBkZXZpY2UgaW4gbG9jYWwgdXNhZ2UsIG9yIG1heSBpZGVudGlmeSB0aGUgdHlwZSBvZiBkZXZpY2UuIElmIHRoZSBpZGVudGlmaWVyIGlkZW50aWZpZXMgdGhlIHR5cGUgb2YgZGV2aWNlLCBEZXZpY2UudHlwZSBlbGVtZW50IHNob3VsZCBiZSB1c2VkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRlZmluaXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iVGhlIHJlZmVyZW5jZSB0byB0aGUgZGVmaW5pdGlvbiBmb3IgdGhlIGRldmljZSIgZGVmaW5pdGlvbj0iVGhlIHJlZmVyZW5jZSB0byB0aGUgZGVmaW5pdGlvbiBmb3IgdGhlIGRldmljZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0idWRpQ2FycmllciIgZGVzY3JpcHRpb249IlVuaXF1ZSBEZXZpY2UgSWRlbnRpZmllciAoVURJKSBCYXJjb2RlIHN0cmluZyIgZGVmaW5pdGlvbj0iVW5pcXVlIGRldmljZSBpZGVudGlmaWVyIChVREkpIGFzc2lnbmVkIHRvIGRldmljZSBsYWJlbCBvciBwYWNrYWdlLiAgTm90ZSB0aGF0IHRoZSBEZXZpY2UgbWF5IGluY2x1ZGUgbXVsdGlwbGUgdWRpQ2FycmllcnMgYXMgaXQgZWl0aGVyIG1heSBpbmNsdWRlIGp1c3QgdGhlIHVkaUNhcnJpZXIgZm9yIHRoZSBqdXJpc2RpY3Rpb24gaXQgaXMgc29sZCwgb3IgZm9yIG11bHRpcGxlIGp1cmlzZGljdGlvbnMgaXQgY291bGQgaGF2ZSBiZWVuIHNvbGQuIiBjb21tZW50PSJVREkgbWF5IGlkZW50aWZ5IGFuIHVuaXF1ZSBpbnN0YW5jZSBvZiBhIGRldmljZSwgb3IgaXQgbWF5IG9ubHkgaWRlbnRpZnkgdGhlIHR5cGUgb2YgdGhlIGRldmljZS4gIFNlZSBbVURJIG1hcHBpbmdzXShkZXZpY2UtbWFwcGluZ3MuaHRtbCN1ZGkpIGZvciBhIGNvbXBsZXRlIG1hcHBpbmcgb2YgVURJIHBhcnRzIHRvIERldmljZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5EZXZpY2UuVWRpQ2FycmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLkZISVJEZXZpY2VTdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iYWN0aXZlIHwgaW5hY3RpdmUgfCBlbnRlcmVkLWluLWVycm9yIHwgdW5rbm93biIgZGVmaW5pdGlvbj0iU3RhdHVzIG9mIHRoZSBEZXZpY2UgYXZhaWxhYmlsaXR5LiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgdGhlIGNvZGVzIGluYWN0aXZlIGFuZCBlbnRlcmVkLWluLWVycm9yIHRoYXQgbWFyayB0aGUgZGV2aWNlIChyZWNvcmQpYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJGSElSRGV2aWNlU3RhdHVzIiBkZXNjcmlwdGlvbj0iVGhlIGF2YWlsYWJpbGl0eSBzdGF0dXMgb2YgdGhlIGRldmljZS4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1c1JlYXNvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Im9ubGluZSB8IHBhdXNlZCB8IHN0YW5kYnkgfCBvZmZsaW5lIHwgbm90LXJlYWR5IHwgdHJhbnNkdWMtZGlzY29uIHwgaHctZGlzY29uIHwgb2ZmIiBkZWZpbml0aW9uPSJSZWFzb24gZm9yIHRoZSBkdGF0dXMgb2YgdGhlIERldmljZSBhdmFpbGFiaWxpdHkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkZISVJEZXZpY2VTdGF0dXNSZWFzb24iIGRlc2NyaXB0aW9uPSJUaGUgYXZhaWxhYmlsaXR5IHN0YXR1cyByZWFzb24gb2YgdGhlIGRldmljZS4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzdGluY3RJZGVudGlmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaGUgZGlzdGluY3QgaWRlbnRpZmljYXRpb24gc3RyaW5nIiBkZWZpbml0aW9uPSJUaGUgZGlzdGluY3QgaWRlbnRpZmljYXRpb24gc3RyaW5nIGFzIHJlcXVpcmVkIGJ5IHJlZ3VsYXRpb24gZm9yIGEgaHVtYW4gY2VsbCwgdGlzc3VlLCBvciBjZWxsdWxhciBhbmQgdGlzc3VlLWJhc2VkIHByb2R1Y3QuIiBjb21tZW50PSJGb3IgZXhhbXBsZSwgdGhpcyBhcHBsaWVzIHRvIGRldmljZXMgaW4gdGhlIFVuaXRlZCBTdGF0ZXMgcmVndWxhdGVkIHVuZGVyICpDb2RlIG9mIEZlZGVyYWwgUmVndWxhdGlvbiAyMUNGUsKnMTI3MS4yOTAoYykqLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJtYW51ZmFjdHVyZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik5hbWUgb2YgZGV2aWNlIG1hbnVmYWN0dXJlciIgZGVmaW5pdGlvbj0iQSBuYW1lIG9mIHRoZSBtYW51ZmFjdHVyZXIuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1hbnVmYWN0dXJlRGF0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEYXRlIHdoZW4gdGhlIGRldmljZSB3YXMgbWFkZSIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgYW5kIHRpbWUgd2hlbiB0aGUgZGV2aWNlIHdhcyBtYW51ZmFjdHVyZWQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImV4cGlyYXRpb25EYXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUgYW5kIHRpbWUgb2YgZXhwaXJ5IG9mIHRoaXMgZGV2aWNlIChpZiBhcHBsaWNhYmxlKSIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgYW5kIHRpbWUgYmV5b25kIHdoaWNoIHRoaXMgZGV2aWNlIGlzIG5vIGxvbmdlciB2YWxpZCBvciBzaG91bGQgbm90IGJlIHVzZWQgKGlmIGFwcGxpY2FibGUpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJsb3ROdW1iZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkxvdCBudW1iZXIgb2YgbWFudWZhY3R1cmUiIGRlZmluaXRpb249IkxvdCBudW1iZXIgYXNzaWduZWQgYnkgdGhlIG1hbnVmYWN0dXJlci4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2VyaWFsTnVtYmVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJTZXJpYWwgbnVtYmVyIGFzc2lnbmVkIGJ5IHRoZSBtYW51ZmFjdHVyZXIiIGRlZmluaXRpb249IlRoZSBzZXJpYWwgbnVtYmVyIGFzc2lnbmVkIGJ5IHRoZSBvcmdhbml6YXRpb24gd2hlbiB0aGUgZGV2aWNlIHdhcyBtYW51ZmFjdHVyZWQuIiBjb21tZW50PSJBbHBoYW51bWVyaWMgTWF4aW11bSAyMC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlTmFtZSIgZGVzY3JpcHRpb249IlRoZSBuYW1lIG9mIHRoZSBkZXZpY2UgYXMgZ2l2ZW4gYnkgdGhlIG1hbnVmYWN0dXJlciIgZGVmaW5pdGlvbj0iVGhpcyByZXByZXNlbnRzIHRoZSBtYW51ZmFjdHVyZXIncyBuYW1lIG9mIHRoZSBkZXZpY2UgYXMgcHJvdmlkZWQgYnkgdGhlIGRldmljZSwgZnJvbSBhIFVESSBsYWJlbCwgb3IgYnkgYSBwZXJzb24gZGVzY3JpYmluZyB0aGUgRGV2aWNlLiAgVGhpcyB0eXBpY2FsbHkgd291bGQgYmUgdXNlZCB3aGVuIGEgcGVyc29uIHByb3ZpZGVzIHRoZSBuYW1lKHMpIG9yIHdoZW4gdGhlIGRldmljZSByZXByZXNlbnRzIG9uZSBvZiB0aGUgbmFtZXMgYXZhaWxhYmxlIGZyb20gRGV2aWNlRGVmaW5pdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5EZXZpY2UuRGV2aWNlTmFtZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibW9kZWxOdW1iZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSBtb2RlbCBudW1iZXIgZm9yIHRoZSBkZXZpY2UiIGRlZmluaXRpb249IlRoZSBtb2RlbCBudW1iZXIgZm9yIHRoZSBkZXZpY2UuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhcnROdW1iZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSBwYXJ0IG51bWJlciBvZiB0aGUgZGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgcGFydCBudW1iZXIgb2YgdGhlIGRldmljZS4iIGNvbW1lbnQ9IkFscGhhbnVtZXJpYyBNYXhpbXVtIDIwLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUga2luZCBvciB0eXBlIG9mIGRldmljZSIgZGVmaW5pdGlvbj0iVGhlIGtpbmQgb3IgdHlwZSBvZiBkZXZpY2UuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRGV2aWNlVHlwZSIgZGVzY3JpcHRpb249IkNvZGVzIHRvIGlkZW50aWZ5IG1lZGljYWwgZGV2aWNlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3BlY2lhbGl6YXRpb24iIGRlc2NyaXB0aW9uPSJUaGUgY2FwYWJpbGl0aWVzIHN1cHBvcnRlZCBvbiBhICBkZXZpY2UsIHRoZSBzdGFuZGFyZHMgdG8gd2hpY2ggdGhlIGRldmljZSBjb25mb3JtcyBmb3IgYSBwYXJ0aWN1bGFyIHB1cnBvc2UsIGFuZCB1c2VkIGZvciB0aGUgY29tbXVuaWNhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIGNhcGFiaWxpdGllcyBzdXBwb3J0ZWQgb24gYSAgZGV2aWNlLCB0aGUgc3RhbmRhcmRzIHRvIHdoaWNoIHRoZSBkZXZpY2UgY29uZm9ybXMgZm9yIGEgcGFydGljdWxhciBwdXJwb3NlLCBhbmQgdXNlZCBmb3IgdGhlIGNvbW11bmljYXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuRGV2aWNlLlNwZWNpYWxpemF0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ2ZXJzaW9uIiBkZXNjcmlwdGlvbj0iVGhlIGFjdHVhbCBkZXNpZ24gb2YgdGhlIGRldmljZSBvciBzb2Z0d2FyZSB2ZXJzaW9uIHJ1bm5pbmcgb24gdGhlIGRldmljZSIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBkZXNpZ24gb2YgdGhlIGRldmljZSBvciBzb2Z0d2FyZSB2ZXJzaW9uIHJ1bm5pbmcgb24gdGhlIGRldmljZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5EZXZpY2UuVmVyc2lvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icHJvcGVydHkiIGRlc2NyaXB0aW9uPSJUaGUgYWN0dWFsIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3Mgb2YgYSBkZXZpY2UgYXMgaXQgYWN0dWFsbHkgb3BlcmF0ZXMsIGUuZy4sIHJlZ3VsYXRpb24gc3RhdHVzLCB0aW1lIHByb3BlcnRpZXMiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgY29uZmlndXJhdGlvbiBzZXR0aW5ncyBvZiBhIGRldmljZSBhcyBpdCBhY3R1YWxseSBvcGVyYXRlcywgZS5nLiwgcmVndWxhdGlvbiBzdGF0dXMsIHRpbWUgcHJvcGVydGllcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5EZXZpY2UuUHJvcGVydHkiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhdGllbnQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iUGF0aWVudCB0byB3aG9tIERldmljZSBpcyBhZmZpeGVkIiBkZWZpbml0aW9uPSJQYXRpZW50IGluZm9ybWF0aW9uLCBJZiB0aGUgZGV2aWNlIGlzIGFmZml4ZWQgdG8gYSBwZXJzb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJvd25lciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJPcmdhbml6YXRpb24gcmVzcG9uc2libGUgZm9yIGRldmljZSIgZGVmaW5pdGlvbj0iQW4gb3JnYW5pemF0aW9uIHRoYXQgaXMgcmVzcG9uc2libGUgZm9yIHRoZSBwcm92aXNpb24gYW5kIG9uZ29pbmcgbWFpbnRlbmFuY2Ugb2YgdGhlIGRldmljZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29udGFjdCIgZGVzY3JpcHRpb249IkRldGFpbHMgZm9yIGh1bWFuL29yZ2FuaXphdGlvbiBmb3Igc3VwcG9ydCIgZGVmaW5pdGlvbj0iQ29udGFjdCBkZXRhaWxzIGZvciBhbiBvcmdhbml6YXRpb24gb3IgYSBwYXJ0aWN1bGFyIGh1bWFuIHRoYXQgaXMgcmVzcG9uc2libGUgZm9yIHRoZSBkZXZpY2UuIiBjb21tZW50PSJ1c2VkIGZvciB0cm91Ymxlc2hvb3RpbmcgZXRjLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbnRhY3RQb2ludCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibG9jYXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hlcmUgdGhlIGRldmljZSBpcyBmb3VuZCIgZGVmaW5pdGlvbj0iVGhlIHBsYWNlIHdoZXJlIHRoZSBkZXZpY2UgY2FuIGJlIGZvdW5kLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ1cmwiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik5ldHdvcmsgYWRkcmVzcyB0byBjb250YWN0IGRldmljZSIgZGVmaW5pdGlvbj0iQSBuZXR3b3JrIGFkZHJlc3Mgb24gd2hpY2ggdGhlIGRldmljZSBtYXkgYmUgY29udGFjdGVkIGRpcmVjdGx5LiIgY29tbWVudD0iSWYgdGhlIGRldmljZSBpcyBydW5uaW5nIGEgRkhJUiBzZXJ2ZXIsIHRoZSBuZXR3b3JrIGFkZHJlc3Mgc2hvdWxkICBiZSB0aGUgQmFzZSBVUkwgZnJvbSB3aGljaCBhIGNvbmZvcm1hbmNlIHN0YXRlbWVudCBtYXkgYmUgcmV0cmlldmVkLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iRGV2aWNlIG5vdGVzIGFuZCBjb21tZW50cyIgZGVmaW5pdGlvbj0iRGVzY3JpcHRpdmUgaW5mb3JtYXRpb24sIHVzYWdlIGluZm9ybWF0aW9uIG9yIGltcGxhbnRhdGlvbiBpbmZvcm1hdGlvbiB0aGF0IGlzIG5vdCBjYXB0dXJlZCBpbiBhbiBleGlzdGluZyBlbGVtZW50LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InNhZmV0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlNhZmV0eSBDaGFyYWN0ZXJpc3RpY3Mgb2YgRGV2aWNlIiBkZWZpbml0aW9uPSJQcm92aWRlcyBhZGRpdGlvbmFsIHNhZmV0eSBjaGFyYWN0ZXJpc3RpY3MgYWJvdXQgYSBtZWRpY2FsIGRldmljZS4gIEZvciBleGFtcGxlIGRldmljZXMgY29udGFpbmluZyBsYXRleC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXJlbnQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iVGhlIHBhcmVudCBkZXZpY2UiIGRlZmluaXRpb249IlRoZSBwYXJlbnQgZGV2aWNlLiIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEZXZpY2UuRGV2aWNlTmFtZSIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0ibmFtZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGhlIG5hbWUgb2YgdGhlIGRldmljZSIgZGVmaW5pdGlvbj0iVGhlIG5hbWUgb2YgdGhlIGRldmljZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5EZXZpY2VOYW1lVHlwZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJ1ZGktbGFiZWwtbmFtZSB8IHVzZXItZnJpZW5kbHktbmFtZSB8IHBhdGllbnQtcmVwb3J0ZWQtbmFtZSB8IG1hbnVmYWN0dXJlci1uYW1lIHwgbW9kZWwtbmFtZSB8IG90aGVyIiBkZWZpbml0aW9uPSJUaGUgdHlwZSBvZiBkZXZpY2VOYW1lLiYjeGE7VURJTGFiZWxOYW1lIHwgVXNlckZyaWVuZGx5TmFtZSB8IFBhdGllbnRSZXBvcnRlZE5hbWUgfCBNYW51ZmFjdHVyZURldmljZU5hbWUgfCBNb2RlbE5hbWUuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRGV2aWNlTmFtZVR5cGUiIGRlc2NyaXB0aW9uPSJUaGUgdHlwZSBvZiBuYW1lIHRoZSBkZXZpY2UgaXMgcmVmZXJyZWQgYnkuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEZXZpY2UuUHJvcGVydHkiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvZGUgdGhhdCBzcGVjaWZpZXMgdGhlIHByb3BlcnR5IERldmljZURlZmluaXRpb25Qcm9wZXR5Q29kZSAoRXh0ZW5zaWJsZSkiIGRlZmluaXRpb249IkNvZGUgdGhhdCBzcGVjaWZpZXMgdGhlIHByb3BlcnR5IERldmljZURlZmluaXRpb25Qcm9wZXR5Q29kZSAoRXh0ZW5zaWJsZSkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUHJvcGVydHkgdmFsdWUgYXMgYSBxdWFudGl0eSIgZGVmaW5pdGlvbj0iUHJvcGVydHkgdmFsdWUgYXMgYSBxdWFudGl0eS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWVDb2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUHJvcGVydHkgdmFsdWUgYXMgYSBjb2RlLCBlLmcuLCBOVFA0IChzeW5jZWQgdG8gTlRQKSIgZGVmaW5pdGlvbj0iUHJvcGVydHkgdmFsdWUgYXMgYSBjb2RlLCBlLmcuLCBOVFA0IChzeW5jZWQgdG8gTlRQKS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEZXZpY2UuU3BlY2lhbGl6YXRpb24iIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbVR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRoZSBzdGFuZGFyZCB0aGF0IGlzIHVzZWQgdG8gb3BlcmF0ZSBhbmQgY29tbXVuaWNhdGUiIGRlZmluaXRpb249IlRoZSBzdGFuZGFyZCB0aGF0IGlzIHVzZWQgdG8gb3BlcmF0ZSBhbmQgY29tbXVuaWNhdGUuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InZlcnNpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSB2ZXJzaW9uIG9mIHRoZSBzdGFuZGFyZCB0aGF0IGlzIHVzZWQgdG8gb3BlcmF0ZSBhbmQgY29tbXVuaWNhdGUiIGRlZmluaXRpb249IlRoZSB2ZXJzaW9uIG9mIHRoZSBzdGFuZGFyZCB0aGF0IGlzIHVzZWQgdG8gb3BlcmF0ZSBhbmQgY29tbXVuaWNhdGUuIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRldmljZS5VZGlDYXJyaWVyIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXZpY2VJZGVudGlmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJNYW5kYXRvcnkgZml4ZWQgcG9ydGlvbiBvZiBVREkiIGRlZmluaXRpb249IlRoZSBkZXZpY2UgaWRlbnRpZmllciAoREkpIGlzIGEgbWFuZGF0b3J5LCBmaXhlZCBwb3J0aW9uIG9mIGEgVURJIHRoYXQgaWRlbnRpZmllcyB0aGUgbGFiZWxlciBhbmQgdGhlIHNwZWNpZmljIHZlcnNpb24gb3IgbW9kZWwgb2YgYSBkZXZpY2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlVESSBJc3N1aW5nIE9yZ2FuaXphdGlvbiIgZGVmaW5pdGlvbj0iT3JnYW5pemF0aW9uIHRoYXQgaXMgY2hhcmdlZCB3aXRoIGlzc3VpbmcgVURJcyBmb3IgZGV2aWNlcy4gIEZvciBleGFtcGxlLCB0aGUgVVMgRkRBIGlzc3VlcnMgaW5jbHVkZSA6JiN4YTsxKSBHUzE6ICYjeGE7aHR0cDovL2hsNy5vcmcvZmhpci9OYW1pbmdTeXN0ZW0vZ3MxLWRpLCAmI3hhOzIpIEhJQkNDOiYjeGE7aHR0cDovL2hsNy5vcmcvZmhpci9OYW1pbmdTeXN0ZW0vaGliY2MtZEksICYjeGE7MykgSUNDQkJBIGZvciBibG9vZCBjb250YWluZXJzOiYjeGE7aHR0cDovL2hsNy5vcmcvZmhpci9OYW1pbmdTeXN0ZW0vaWNjYmJhLWJsb29kLWRpLCAmI3hhOzQpIElDQ0JBIGZvciBvdGhlciBkZXZpY2VzOiYjeGE7aHR0cDovL2hsNy5vcmcvZmhpci9OYW1pbmdTeXN0ZW0vaWNjYmJhLW90aGVyLWRpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJqdXJpc2RpY3Rpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlJlZ2lvbmFsIFVESSBhdXRob3JpdHkiIGRlZmluaXRpb249IlRoZSBpZGVudGl0eSBvZiB0aGUgYXV0aG9yaXRhdGl2ZSBzb3VyY2UgZm9yIFVESSBnZW5lcmF0aW9uIHdpdGhpbiBhICBqdXJpc2RpY3Rpb24uICBBbGwgVURJcyBhcmUgZ2xvYmFsbHkgdW5pcXVlIHdpdGhpbiBhIHNpbmdsZSBuYW1lc3BhY2Ugd2l0aCB0aGUgYXBwcm9wcmlhdGUgcmVwb3NpdG9yeSB1cmkgYXMgdGhlIHN5c3RlbS4gIEZvciBleGFtcGxlLCAgVURJcyBvZiBkZXZpY2VzIG1hbmFnZWQgaW4gdGhlIFUuUy4gYnkgdGhlIEZEQSwgdGhlIHZhbHVlIGlzICBodHRwOi8vaGw3Lm9yZy9maGlyL05hbWluZ1N5c3RlbS9mZGEtdWRpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJjYXJyaWVyQUlEQyIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVURJIE1hY2hpbmUgUmVhZGFibGUgQmFyY29kZSBTdHJpbmciIGRlZmluaXRpb249IlRoZSBmdWxsIFVESSBjYXJyaWVyIG9mIHRoZSBBdXRvbWF0aWMgSWRlbnRpZmljYXRpb24gYW5kIERhdGEgQ2FwdHVyZSAoQUlEQykgdGVjaG5vbG9neSByZXByZXNlbnRhdGlvbiBvZiB0aGUgYmFyY29kZSBzdHJpbmcgYXMgcHJpbnRlZCBvbiB0aGUgcGFja2FnaW5nIG9mIHRoZSBkZXZpY2UgLSBlLmcuLCBhIGJhcmNvZGUgb3IgUkZJRC4gICBCZWNhdXNlIG9mIGxpbWl0YXRpb25zIG9uIGNoYXJhY3RlciBzZXRzIGluIFhNTCBhbmQgdGhlIG5lZWQgdG8gcm91bmQtdHJpcCBKU09OIGRhdGEgdGhyb3VnaCBYTUwsIEFJREMgRm9ybWF0cyAqU0hBTEwqIGJlIGJhc2U2NCBlbmNvZGVkLiIgY29tbWVudD0iVGhlIEFJREMgZm9ybSBvZiBVRElzIHNob3VsZCBiZSBzY2FubmVkIG9yIG90aGVyd2lzZSB1c2VkIGZvciB0aGUgaWRlbnRpZmljYXRpb24gb2YgdGhlIGRldmljZSB3aGVuZXZlciBwb3NzaWJsZSB0byBtaW5pbWl6ZSBlcnJvcnMgaW4gcmVjb3JkcyByZXN1bHRpbmcgZnJvbSBtYW51YWwgdHJhbnNjcmlwdGlvbnMuIElmIHNlcGFyYXRlIGJhcmNvZGVzIGZvciBESSBhbmQgUEkgYXJlIHByZXNlbnQsIGNvbmNhdGVuYXRlIHRoZSBzdHJpbmcgd2l0aCBESSBmaXJzdCBhbmQgaW4gb3JkZXIgb2YgaHVtYW4gcmVhZGFibGUgZXhwcmVzc2lvbiBvbiBsYWJlbC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2FycmllckhSRiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVURJIEh1bWFuIFJlYWRhYmxlIEJhcmNvZGUgU3RyaW5nIiBkZWZpbml0aW9uPSJUaGUgZnVsbCBVREkgY2FycmllciBhcyB0aGUgaHVtYW4gcmVhZGFibGUgZm9ybSAoSFJGKSByZXByZXNlbnRhdGlvbiBvZiB0aGUgYmFyY29kZSBzdHJpbmcgYXMgcHJpbnRlZCBvbiB0aGUgcGFja2FnaW5nIG9mIHRoZSBkZXZpY2UuIiBjb21tZW50PSJJZiBzZXBhcmF0ZSBiYXJjb2RlcyBmb3IgREkgYW5kIFBJIGFyZSBwcmVzZW50LCBjb25jYXRlbmF0ZSB0aGUgc3RyaW5nIHdpdGggREkgZmlyc3QgYW5kIGluIG9yZGVyIG9mIGh1bWFuIHJlYWRhYmxlIGV4cHJlc3Npb24gb24gbGFiZWwuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJlbnRyeVR5cGUiIGVsZW1lbnRUeXBlPSJRSUNvcmUuVURJRW50cnlUeXBlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImJhcmNvZGUgfCByZmlkIHwgbWFudWFsICsiIGRlZmluaXRpb249IkEgY29kZWQgZW50cnkgdG8gaW5kaWNhdGUgaG93IHRoZSBkYXRhIHdhcyBlbnRlcmVkLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlVESUVudHJ5VHlwZSIgZGVzY3JpcHRpb249IkNvZGVzIHRvIGlkZW50aWZ5IGhvdyBVREkgZGF0YSB3YXMgZW50ZXJlZC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRldmljZS5WZXJzaW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgdHlwZSBvZiB0aGUgZGV2aWNlIHZlcnNpb24iIGRlZmluaXRpb249IlRoZSB0eXBlIG9mIHRoZSBkZXZpY2UgdmVyc2lvbi4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJBIHNpbmdsZSBjb21wb25lbnQgb2YgdGhlIGRldmljZSB2ZXJzaW9uIiBkZWZpbml0aW9uPSJBIHNpbmdsZSBjb21wb25lbnQgb2YgdGhlIGRldmljZSB2ZXJzaW9uLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGhlIHZlcnNpb24gdGV4dCIgZGVmaW5pdGlvbj0iVGhlIHZlcnNpb24gdGV4dC4iLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRGV2aWNlTmFtZVR5cGUiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRldmljZU5vdFJlcXVlc3RlZCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtZGV2aWNlbm90cmVxdWVzdGVkIiBsYWJlbD0iUUlDb3JlIERldmljZSBOb3QgUmVxdWVzdGVkIiB0YXJnZXQ9IkRldmljZVJlcXVlc3QiIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJkb05vdFBlcmZvcm1SZWFzb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuRG9Ob3RQZXJmb3JtUmVhc29uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCglcGFyZW50LmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWRvTm90UGVyZm9ybVJlYXNvbiddLnZhbHVlKSIgZGVzY3JpcHRpb249IkV4dGVuc2lvbiIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSByZWFzb24gdGhlIGV2ZW50IHdhcyBub3QgcGVyZm9ybWVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZG9Ob3RQZXJmb3JtIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXBhcmVudC5tb2RpZmllckV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvNS4wL1N0cnVjdHVyZURlZmluaXRpb24vZXh0ZW5zaW9uLURldmljZVJlcXVlc3QuZG9Ob3RQZXJmb3JtJ10udmFsdWUiIGRlc2NyaXB0aW9uPSJFeHRlbnNpb24iIGRlZmluaXRpb249IkFuIEV4dGVuc2lvbiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkV4dGVybmFsIFJlcXVlc3QgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcnMgYXNzaWduZWQgdG8gdGhpcyBvcmRlciBieSB0aGUgb3JkZXJlciBvciBieSB0aGUgcmVjZWl2ZXIuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzQ2Fub25pY2FsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3RhbnRpYXRlcyBGSElSIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYSBGSElSLWRlZmluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXJzZXQgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIERldmljZVJlcXVlc3QuIiBjb21tZW50PSJOb3RlOiBUaGlzIGlzIGEgYnVzaW5lc3MgaWRlbnRpZmllciwgbm90IGEgcmVzb3VyY2UgaWRlbnRpZmllciAoc2VlIFtkaXNjdXNzaW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3Jlc291cmNlLmh0bWwjaWRlbnRpZmllcnMpKS4gIEl0IGlzIGJlc3QgcHJhY3RpY2UgZm9yIHRoZSBpZGVudGlmaWVyIHRvIG9ubHkgYXBwZWFyIG9uIGEgc2luZ2xlIHJlc291cmNlIGluc3RhbmNlLCBob3dldmVyIGJ1c2luZXNzIHByYWN0aWNlcyBtYXkgb2NjYXNpb25hbGx5IGRpY3RhdGUgdGhhdCBtdWx0aXBsZSByZXNvdXJjZSBpbnN0YW5jZXMgd2l0aCB0aGUgc2FtZSBpZGVudGlmaWVyIGNhbiBleGlzdCAtIHBvc3NpYmx5IGV2ZW4gd2l0aCBkaWZmZXJlbnQgcmVzb3VyY2UgdHlwZXMuICBGb3IgZXhhbXBsZSwgbXVsdGlwbGUgUGF0aWVudCBhbmQgYSBQZXJzb24gcmVzb3VyY2UgaW5zdGFuY2UgbWlnaHQgc2hhcmUgdGhlIHNhbWUgc29jaWFsIGluc3VyYW5jZSBudW1iZXIuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNVcmkiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIGV4dGVybmFsIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYW4gZXh0ZXJuYWxseSBtYWludGFpbmVkIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyc2V0IG9yIG90aGVyIGRlZmluaXRpb24gdGhhdCBpcyBhZGhlcmVkIHRvIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBEZXZpY2VSZXF1ZXN0LiIgY29tbWVudD0iVGhpcyBtaWdodCBiZSBhbiBIVE1MIHBhZ2UsIFBERiwgZXRjLiBvciBjb3VsZCBqdXN0IGJlIGEgbm9uLXJlc29sdmFibGUgVVJJIGlkZW50aWZpZXIuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iV2hhdCByZXF1ZXN0IGZ1bGZpbGxzIiBkZWZpbml0aW9uPSJQbGFuL3Byb3Bvc2FsL29yZGVyIGZ1bGZpbGxlZCBieSB0aGlzIHJlcXVlc3QuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwcmlvclJlcXVlc3QiIGRlc2NyaXB0aW9uPSJXaGF0IHJlcXVlc3QgcmVwbGFjZXMiIGRlZmluaXRpb249IlRoZSByZXF1ZXN0IHRha2VzIHRoZSBwbGFjZSBvZiB0aGUgcmVmZXJlbmNlZCBjb21wbGV0ZWQgb3IgdGVybWluYXRlZCByZXF1ZXN0KHMpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZ3JvdXBJZGVudGlmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVyIG9mIGNvbXBvc2l0ZSByZXF1ZXN0IiBkZWZpbml0aW9uPSJDb21wb3NpdGUgcmVxdWVzdCB0aGlzIGlzIHBhcnQgb2YuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5EZXZpY2VSZXF1ZXN0U3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImRyYWZ0IHwgYWN0aXZlIHwgb24taG9sZCB8IHJldm9rZWQgfCBjb21wbGV0ZWQgfCBlbnRlcmVkLWluLWVycm9yIHwgdW5rbm93biIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVxdWVzdC4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIHRoZSBjb2RlcyBjYW5jZWxsZWQgYW5kIGVudGVyZWQtaW4tZXJyb3IgdGhhdCBtYXJrIHRoZSByZXF1ZXN0IGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkRldmljZVJlcXVlc3RTdGF0dXMiIGRlc2NyaXB0aW9uPSJDb2RlcyByZXByZXNlbnRpbmcgdGhlIHN0YXR1cyBvZiB0aGUgcmVxdWVzdC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImludGVudCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZXF1ZXN0SW50ZW50IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InByb3Bvc2FsIHwgcGxhbiB8IGRpcmVjdGl2ZSB8IG9yZGVyIHwgb3JpZ2luYWwtb3JkZXIgfCByZWZsZXgtb3JkZXIgfCBmaWxsZXItb3JkZXIgfCBpbnN0YW5jZS1vcmRlciB8IG9wdGlvbiIgZGVmaW5pdGlvbj0iV2hldGhlciB0aGUgcmVxdWVzdCBpcyBhIHByb3Bvc2FsLCBwbGFuLCBhbiBvcmlnaW5hbCBvcmRlciBvciBhIHJlZmxleCBvcmRlci4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUmVxdWVzdEludGVudCIgZGVzY3JpcHRpb249IlRoZSBraW5kIG9mIGRpYWdub3N0aWMgcmVxdWVzdC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InByaW9yaXR5IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlcXVlc3RQcmlvcml0eSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyb3V0aW5lIHwgdXJnZW50IHwgYXNhcCB8IHN0YXQiIGRlZmluaXRpb249IkluZGljYXRlcyBob3cgcXVpY2tseSB0aGUge3t0aXRsZX19IHNob3VsZCBiZSBhZGRyZXNzZWQgd2l0aCByZXNwZWN0IHRvIG90aGVyIHJlcXVlc3RzLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlJlcXVlc3RQcmlvcml0eSIgZGVzY3JpcHRpb249IklkZW50aWZpZXMgdGhlIGxldmVsIG9mIGltcG9ydGFuY2UgdG8gYmUgYXNzaWduZWQgdG8gYWN0aW9uaW5nIHRoZSByZXF1ZXN0LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgdGFyZ2V0PSJTeXN0ZW0uQ29uY2VwdDpGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKTtTeXN0ZW0uVmFsdWVTZXQ6RkhJUkhlbHBlcnMuVG9WYWx1ZVNldCglcGFyZW50LmNvZGVbeF0uZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtbm90RG9uZVZhbHVlU2V0J10udmFsdWUudmFsdWUpIiBkZXNjcmlwdGlvbj0iRGV2aWNlIHJlcXVlc3RlZCIgZGVmaW5pdGlvbj0iVGhlIGRldGFpbHMgb2YgdGhlIGRldmljZSB0byBiZSB1c2VkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlZhbHVlU2V0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXJhbWV0ZXIiIGRlc2NyaXB0aW9uPSJEZXZpY2UgZGV0YWlscyIgZGVmaW5pdGlvbj0iU3BlY2lmaWMgcGFyYW1ldGVycyBmb3IgdGhlIG9yZGVyZWQgaXRlbS4gIEZvciBleGFtcGxlLCB0aGUgcHJpc20gdmFsdWUgZm9yIGxlbnNlcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5EZXZpY2VSZXF1ZXN0LlBhcmFtZXRlciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJGb2N1cyBvZiByZXF1ZXN0IiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCB3aG8gd2lsbCB1c2UgdGhlIGRldmljZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJFbmNvdW50ZXIgbW90aXZhdGluZyByZXF1ZXN0IiBkZWZpbml0aW9uPSJBbiBlbmNvdW50ZXIgdGhhdCBwcm92aWRlcyBhZGRpdGlvbmFsIGNvbnRleHQgaW4gd2hpY2ggdGhpcyByZXF1ZXN0IGlzIG1hZGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJvY2N1cnJlbmNlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkRlc2lyZWQgdGltZSBvciBzY2hlZHVsZSBmb3IgdXNlIiBkZWZpbml0aW9uPSJUaGUgdGltaW5nIHNjaGVkdWxlIGZvciB0aGUgdXNlIG9mIHRoZSBkZXZpY2UuIFRoZSBTY2hlZHVsZSBkYXRhIHR5cGUgYWxsb3dzIG1hbnkgZGlmZmVyZW50IGV4cHJlc3Npb25zLCBmb3IgZXhhbXBsZS4gJnF1b3Q7RXZlcnkgOCBob3VycyZxdW90OzsgJnF1b3Q7VGhyZWUgdGltZXMgYSBkYXkmcXVvdDs7ICZxdW90OzEvMiBhbiBob3VyIGJlZm9yZSBicmVha2Zhc3QgZm9yIDEwIGRheXMgZnJvbSAyMy1EZWMgMjAxMTomcXVvdDs7ICZxdW90OzE1IE9jdCAyMDEzLCAxNyBPY3QgMjAxMyBhbmQgMSBOb3YgMjAxMyZxdW90Oy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGltaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yZWRPbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIHJlY29yZGVkIiBkZWZpbml0aW9uPSJXaGVuIHRoZSByZXF1ZXN0IHRyYW5zaXRpb25lZCB0byBiZWluZyBhY3Rpb25hYmxlLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVxdWVzdGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249Ildoby93aGF0IGlzIHJlcXVlc3RpbmcgZGlhZ25vc3RpY3MiIGRlZmluaXRpb249IlRoZSBpbmRpdmlkdWFsIHdobyBpbml0aWF0ZWQgdGhlIHJlcXVlc3QgYW5kIGhhcyByZXNwb25zaWJpbGl0eSBmb3IgaXRzIGFjdGl2YXRpb24uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lclR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkZpbGxlciByb2xlIiBkZWZpbml0aW9uPSJEZXNpcmVkIHR5cGUgb2YgcGVyZm9ybWVyIGZvciBkb2luZyB0aGUgZGlhZ25vc3RpYyB0ZXN0aW5nLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkRldmljZVJlcXVlc3RQYXJ0aWNpcGFudFJvbGUiIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgc3BlY2lmaWMgcmVzcG9uc2liaWxpdHkgb2YgYW4gaW5kaXZpZHVhbCB3aXRoaW4gdGhlIGNhcmUgdGVhbSwgc3VjaCBhcyAmcXVvdDtQcmltYXJ5IHBoeXNpY2lhbiZxdW90OywgJnF1b3Q7VGVhbSBjb29yZGluYXRvciZxdW90OywgJnF1b3Q7Q2FyZWdpdmVyJnF1b3Q7LCBldGMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJSZXF1ZXN0ZWQgRmlsbGVyIiBkZWZpbml0aW9uPSJUaGUgZGVzaXJlZCBwZXJmb3JtZXIgZm9yIGRvaW5nIHRoZSBkaWFnbm9zdGljIHRlc3RpbmcuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvbkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb2RlZCBSZWFzb24gZm9yIHJlcXVlc3QiIGRlZmluaXRpb249IlJlYXNvbiBvciBqdXN0aWZpY2F0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZGV2aWNlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJEZXZpY2VSZXF1ZXN0UmVhc29uIiBkZXNjcmlwdGlvbj0iRGlhZ25vc2lzIG9yIHByb2JsZW0gY29kZXMganVzdGlmeWluZyB0aGUgcmVhc29uIGZvciByZXF1ZXN0aW5nIHRoZSBkZXZpY2UuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvblJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkxpbmtlZCBSZWFzb24gZm9yIHJlcXVlc3QiIGRlZmluaXRpb249IlJlYXNvbiBvciBqdXN0aWZpY2F0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZGV2aWNlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdXJhbmNlIiBkZXNjcmlwdGlvbj0iQXNzb2NpYXRlZCBpbnN1cmFuY2UgY292ZXJhZ2UiIGRlZmluaXRpb249Ikluc3VyYW5jZSBwbGFucywgY292ZXJhZ2UgZXh0ZW5zaW9ucywgcHJlLWF1dGhvcml6YXRpb25zIGFuZC9vciBwcmUtZGV0ZXJtaW5hdGlvbnMgdGhhdCBtYXkgYmUgcmVxdWlyZWQgZm9yIGRlbGl2ZXJpbmcgdGhlIHJlcXVlc3RlZCBzZXJ2aWNlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3VwcG9ydGluZ0luZm8iIGRlc2NyaXB0aW9uPSJBZGRpdGlvbmFsIGNsaW5pY2FsIGluZm9ybWF0aW9uIiBkZWZpbml0aW9uPSJBZGRpdGlvbmFsIGNsaW5pY2FsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBwYXRpZW50IHRoYXQgbWF5IGluZmx1ZW5jZSB0aGUgcmVxdWVzdCBmdWxmaWxtZW50LiAgRm9yIGV4YW1wbGUsIHRoaXMgbWF5IGluY2x1ZGUgd2hlcmUgb24gdGhlIHN1YmplY3QncyBib2R5IHRoZSBkZXZpY2Ugd2lsbCBiZSB1c2VkIChpLmUuIHRoZSB0YXJnZXQgc2l0ZSkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iTm90ZXMgb3IgY29tbWVudHMiIGRlZmluaXRpb249IkRldGFpbHMgYWJvdXQgdGhpcyByZXF1ZXN0IHRoYXQgd2VyZSBub3QgcmVwcmVzZW50ZWQgYXQgYWxsIG9yIHN1ZmZpY2llbnRseSBpbiBvbmUgb2YgdGhlIGF0dHJpYnV0ZXMgcHJvdmlkZWQgaW4gYSBjbGFzcy4gVGhlc2UgbWF5IGluY2x1ZGUgZm9yIGV4YW1wbGUgYSBjb21tZW50LCBhbiBpbnN0cnVjdGlvbiwgb3IgYSBub3RlIGFzc29jaWF0ZWQgd2l0aCB0aGUgc3RhdGVtZW50LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWxldmFudEhpc3RvcnkiIGRlc2NyaXB0aW9uPSJSZXF1ZXN0IHByb3ZlbmFuY2UiIGRlZmluaXRpb249IktleSBldmVudHMgaW4gdGhlIGhpc3Rvcnkgb2YgdGhlIHJlcXVlc3QuIiBjb21tZW50PSJUaGlzIG1pZ2h0IG5vdCBpbmNsdWRlIHByb3ZlbmFuY2VzIGZvciBhbGwgdmVyc2lvbnMgb2YgdGhlIHJlcXVlc3QgLSBvbmx5IHRob3NlIGRlZW1lZCAmcXVvdDtyZWxldmFudCZxdW90OyBvciBpbXBvcnRhbnQuJiN4ZDtUaGlzIFNIQUxMIE5PVCBpbmNsdWRlIHRoZSBQcm92ZW5hbmNlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgcmVzb3VyY2UuICAoSWYgdGhhdCBwcm92ZW5hbmNlIGlzIGRlZW1lZCB0byBiZSBhICZxdW90O3JlbGV2YW50JnF1b3Q7IGNoYW5nZSwgaXQgd2lsbCBuZWVkIHRvIGJlIGFkZGVkIGFzIHBhcnQgb2YgYSBsYXRlciB1cGRhdGUuICBVbnRpbCB0aGVuLCBpdCBjYW4gYmUgcXVlcmllZCBkaXJlY3RseSBhcyB0aGUgUHJvdmVuYW5jZSB0aGF0IHBvaW50cyB0byB0aGlzIHZlcnNpb24gdXNpbmcgX3JldmluY2x1ZGUmI3hkO0FsbCBQcm92ZW5hbmNlcyBzaG91bGQgaGF2ZSBzb21lIGhpc3RvcmljYWwgdmVyc2lvbiBvZiB0aGlzIFJlcXVlc3QgYXMgdGhlaXIgc3ViamVjdC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRGV2aWNlUmVxdWVzdCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtZGV2aWNlcmVxdWVzdCIgbGFiZWw9IlFJQ29yZSBEZXZpY2VSZXF1ZXN0IiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iZG9Ob3RQZXJmb3JtIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXBhcmVudC5tb2RpZmllckV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvNS4wL1N0cnVjdHVyZURlZmluaXRpb24vZXh0ZW5zaW9uLURldmljZVJlcXVlc3QuZG9Ob3RQZXJmb3JtJ10udmFsdWUiIGRlc2NyaXB0aW9uPSJFeHRlbnNpb24iIGRlZmluaXRpb249IkFuIEV4dGVuc2lvbiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkV4dGVybmFsIFJlcXVlc3QgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcnMgYXNzaWduZWQgdG8gdGhpcyBvcmRlciBieSB0aGUgb3JkZXJlciBvciBieSB0aGUgcmVjZWl2ZXIuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc0Nhbm9uaWNhbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgRkhJUiBwcm90b2NvbCBvciBkZWZpbml0aW9uIiBkZWZpbml0aW9uPSJUaGUgVVJMIHBvaW50aW5nIHRvIGEgRkhJUi1kZWZpbmVkIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyc2V0IG9yIG90aGVyIGRlZmluaXRpb24gdGhhdCBpcyBhZGhlcmVkIHRvIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBEZXZpY2VSZXF1ZXN0LiIgY29tbWVudD0iTm90ZTogVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIgKHNlZSBbZGlzY3Vzc2lvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS5odG1sI2lkZW50aWZpZXJzKSkuICBJdCBpcyBiZXN0IHByYWN0aWNlIGZvciB0aGUgaWRlbnRpZmllciB0byBvbmx5IGFwcGVhciBvbiBhIHNpbmdsZSByZXNvdXJjZSBpbnN0YW5jZSwgaG93ZXZlciBidXNpbmVzcyBwcmFjdGljZXMgbWF5IG9jY2FzaW9uYWxseSBkaWN0YXRlIHRoYXQgbXVsdGlwbGUgcmVzb3VyY2UgaW5zdGFuY2VzIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllciBjYW4gZXhpc3QgLSBwb3NzaWJseSBldmVuIHdpdGggZGlmZmVyZW50IHJlc291cmNlIHR5cGVzLiAgRm9yIGV4YW1wbGUsIG11bHRpcGxlIFBhdGllbnQgYW5kIGEgUGVyc29uIHJlc291cmNlIGluc3RhbmNlIG1pZ2h0IHNoYXJlIHRoZSBzYW1lIHNvY2lhbCBpbnN1cmFuY2UgbnVtYmVyLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzVXJpIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3RhbnRpYXRlcyBleHRlcm5hbCBwcm90b2NvbCBvciBkZWZpbml0aW9uIiBkZWZpbml0aW9uPSJUaGUgVVJMIHBvaW50aW5nIHRvIGFuIGV4dGVybmFsbHkgbWFpbnRhaW5lZCBwcm90b2NvbCwgZ3VpZGVsaW5lLCBvcmRlcnNldCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgRGV2aWNlUmVxdWVzdC4iIGNvbW1lbnQ9IlRoaXMgbWlnaHQgYmUgYW4gSFRNTCBwYWdlLCBQREYsIGV0Yy4gb3IgY291bGQganVzdCBiZSBhIG5vbi1yZXNvbHZhYmxlIFVSSSBpZGVudGlmaWVyLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IldoYXQgcmVxdWVzdCBmdWxmaWxscyIgZGVmaW5pdGlvbj0iUGxhbi9wcm9wb3NhbC9vcmRlciBmdWxmaWxsZWQgYnkgdGhpcyByZXF1ZXN0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icHJpb3JSZXF1ZXN0IiBkZXNjcmlwdGlvbj0iV2hhdCByZXF1ZXN0IHJlcGxhY2VzIiBkZWZpbml0aW9uPSJUaGUgcmVxdWVzdCB0YWtlcyB0aGUgcGxhY2Ugb2YgdGhlIHJlZmVyZW5jZWQgY29tcGxldGVkIG9yIHRlcm1pbmF0ZWQgcmVxdWVzdChzKS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imdyb3VwSWRlbnRpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iSWRlbnRpZmllciBvZiBjb21wb3NpdGUgcmVxdWVzdCIgZGVmaW5pdGlvbj0iQ29tcG9zaXRlIHJlcXVlc3QgdGhpcyBpcyBwYXJ0IG9mLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRGV2aWNlUmVxdWVzdFN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJkcmFmdCB8IGFjdGl2ZSB8IG9uLWhvbGTigIsgfCByZXZva2Vk4oCLIHwgZW50ZXJlZC1pbi1lcnJvcuKAiyB8IHVua25vd27igIsiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHJlcXVlc3QuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyB0aGUgY29kZXMgY2FuY2VsbGVkIGFuZCBlbnRlcmVkLWluLWVycm9yIHRoYXQgbWFyayB0aGUgcmVxdWVzdCBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJEZXZpY2VSZXF1ZXN0U3RhdHVzIiBkZXNjcmlwdGlvbj0iQ29kZXMgcmVwcmVzZW50aW5nIHRoZSBzdGF0dXMgb2YgdGhlIHJlcXVlc3QuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlbnQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVxdWVzdEludGVudCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJwcm9wb3NhbCB8IHBsYW4gfCBkaXJlY3RpdmUgfCBvcmRlciB8IG9yaWdpbmFsLW9yZGVyIHwgcmVmbGV4LW9yZGVyIHwgZmlsbGVyLW9yZGVyIHwgaW5zdGFuY2Utb3JkZXIgfCBvcHRpb24iIGRlZmluaXRpb249IldoZXRoZXIgdGhlIHJlcXVlc3QgaXMgYSBwcm9wb3NhbCwgcGxhbiwgYW4gb3JpZ2luYWwgb3JkZXIgb3IgYSByZWZsZXggb3JkZXIuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlJlcXVlc3RJbnRlbnQiIGRlc2NyaXB0aW9uPSJUaGUga2luZCBvZiBkaWFnbm9zdGljIHJlcXVlc3QuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwcmlvcml0eSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZXF1ZXN0UHJpb3JpdHkiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icm91dGluZSB8IHVyZ2VudCB8IGFzYXAgfCBzdGF0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgaG93IHF1aWNrbHkgdGhlIHt7dGl0bGV9fSBzaG91bGQgYmUgYWRkcmVzc2VkIHdpdGggcmVzcGVjdCB0byBvdGhlciByZXF1ZXN0cy4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJSZXF1ZXN0UHJpb3JpdHkiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVzIHRoZSBsZXZlbCBvZiBpbXBvcnRhbmNlIHRvIGJlIGFzc2lnbmVkIHRvIGFjdGlvbmluZyB0aGUgcmVxdWVzdC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRGV2aWNlIHJlcXVlc3RlZCIgZGVmaW5pdGlvbj0iVGhlIGRldGFpbHMgb2YgdGhlIGRldmljZSB0byBiZSB1c2VkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGFyYW1ldGVyIiBkZXNjcmlwdGlvbj0iRGV2aWNlIGRldGFpbHMiIGRlZmluaXRpb249IlNwZWNpZmljIHBhcmFtZXRlcnMgZm9yIHRoZSBvcmRlcmVkIGl0ZW0uICBGb3IgZXhhbXBsZSwgdGhlIHByaXNtIHZhbHVlIGZvciBsZW5zZXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuRGV2aWNlUmVxdWVzdC5QYXJhbWV0ZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iRm9jdXMgb2YgcmVxdWVzdCIgZGVmaW5pdGlvbj0iVGhlIHBhdGllbnQgd2hvIHdpbGwgdXNlIHRoZSBkZXZpY2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iRW5jb3VudGVyIG1vdGl2YXRpbmcgcmVxdWVzdCIgZGVmaW5pdGlvbj0iQW4gZW5jb3VudGVyIHRoYXQgcHJvdmlkZXMgYWRkaXRpb25hbCBjb250ZXh0IGluIHdoaWNoIHRoaXMgcmVxdWVzdCBpcyBtYWRlLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ib2NjdXJyZW5jZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJEZXNpcmVkIHRpbWUgb3Igc2NoZWR1bGUgZm9yIHVzZSIgZGVmaW5pdGlvbj0iVGhlIHRpbWluZyBzY2hlZHVsZSBmb3IgdGhlIHVzZSBvZiB0aGUgZGV2aWNlLiBUaGUgU2NoZWR1bGUgZGF0YSB0eXBlIGFsbG93cyBtYW55IGRpZmZlcmVudCBleHByZXNzaW9ucywgZm9yIGV4YW1wbGUuICZxdW90O0V2ZXJ5IDggaG91cnMmcXVvdDs7ICZxdW90O1RocmVlIHRpbWVzIGEgZGF5JnF1b3Q7OyAmcXVvdDsxLzIgYW4gaG91ciBiZWZvcmUgYnJlYWtmYXN0IGZvciAxMCBkYXlzIGZyb20gMjMtRGVjIDIwMTE6JnF1b3Q7OyAmcXVvdDsxNSBPY3QgMjAxMywgMTcgT2N0IDIwMTMgYW5kIDEgTm92IDIwMTMmcXVvdDsuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJUaW1pbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhdXRob3JlZE9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gcmVjb3JkZWQiIGRlZmluaXRpb249IldoZW4gdGhlIHJlcXVlc3QgdHJhbnNpdGlvbmVkIHRvIGJlaW5nIGFjdGlvbmFibGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZXF1ZXN0ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvL3doYXQgaXMgcmVxdWVzdGluZyBkaWFnbm9zdGljcyIgZGVmaW5pdGlvbj0iVGhlIGluZGl2aWR1YWwgd2hvIGluaXRpYXRlZCB0aGUgcmVxdWVzdCBhbmQgaGFzIHJlc3BvbnNpYmlsaXR5IGZvciBpdHMgYWN0aXZhdGlvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lclR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkZpbGxlciByb2xlIiBkZWZpbml0aW9uPSJEZXNpcmVkIHR5cGUgb2YgcGVyZm9ybWVyIGZvciBkb2luZyB0aGUgZGlhZ25vc3RpYyB0ZXN0aW5nLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkRldmljZVJlcXVlc3RQYXJ0aWNpcGFudFJvbGUiIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgc3BlY2lmaWMgcmVzcG9uc2liaWxpdHkgb2YgYW4gaW5kaXZpZHVhbCB3aXRoaW4gdGhlIGNhcmUgdGVhbSwgc3VjaCBhcyAmcXVvdDtQcmltYXJ5IHBoeXNpY2lhbiZxdW90OywgJnF1b3Q7VGVhbSBjb29yZGluYXRvciZxdW90OywgJnF1b3Q7Q2FyZWdpdmVyJnF1b3Q7LCBldGMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJSZXF1ZXN0ZWQgRmlsbGVyIiBkZWZpbml0aW9uPSJUaGUgZGVzaXJlZCBwZXJmb3JtZXIgZm9yIGRvaW5nIHRoZSBkaWFnbm9zdGljIHRlc3RpbmcuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ29kZWQgUmVhc29uIGZvciByZXF1ZXN0IiBkZWZpbml0aW9uPSJSZWFzb24gb3IganVzdGlmaWNhdGlvbiBmb3IgdGhlIHVzZSBvZiB0aGlzIGRldmljZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRGV2aWNlUmVxdWVzdFJlYXNvbiIgZGVzY3JpcHRpb249IkRpYWdub3NpcyBvciBwcm9ibGVtIGNvZGVzIGp1c3RpZnlpbmcgdGhlIHJlYXNvbiBmb3IgcmVxdWVzdGluZyB0aGUgZGV2aWNlLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJMaW5rZWQgUmVhc29uIGZvciByZXF1ZXN0IiBkZWZpbml0aW9uPSJSZWFzb24gb3IganVzdGlmaWNhdGlvbiBmb3IgdGhlIHVzZSBvZiB0aGlzIGRldmljZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnN1cmFuY2UiIGRlc2NyaXB0aW9uPSJBc3NvY2lhdGVkIGluc3VyYW5jZSBjb3ZlcmFnZSIgZGVmaW5pdGlvbj0iSW5zdXJhbmNlIHBsYW5zLCBjb3ZlcmFnZSBleHRlbnNpb25zLCBwcmUtYXV0aG9yaXphdGlvbnMgYW5kL29yIHByZS1kZXRlcm1pbmF0aW9ucyB0aGF0IG1heSBiZSByZXF1aXJlZCBmb3IgZGVsaXZlcmluZyB0aGUgcmVxdWVzdGVkIHNlcnZpY2UuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdXBwb3J0aW5nSW5mbyIgZGVzY3JpcHRpb249IkFkZGl0aW9uYWwgY2xpbmljYWwgaW5mb3JtYXRpb24iIGRlZmluaXRpb249IkFkZGl0aW9uYWwgY2xpbmljYWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHBhdGllbnQgdGhhdCBtYXkgaW5mbHVlbmNlIHRoZSByZXF1ZXN0IGZ1bGZpbG1lbnQuICBGb3IgZXhhbXBsZSwgdGhpcyBtYXkgaW5jbHVkZSB3aGVyZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgdGhlIGRldmljZSB3aWxsIGJlIHVzZWQgKGkuZS4gdGhlIHRhcmdldCBzaXRlKS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJOb3RlcyBvciBjb21tZW50cyIgZGVmaW5pdGlvbj0iRGV0YWlscyBhYm91dCB0aGlzIHJlcXVlc3QgdGhhdCB3ZXJlIG5vdCByZXByZXNlbnRlZCBhdCBhbGwgb3Igc3VmZmljaWVudGx5IGluIG9uZSBvZiB0aGUgYXR0cmlidXRlcyBwcm92aWRlZCBpbiBhIGNsYXNzLiBUaGVzZSBtYXkgaW5jbHVkZSBmb3IgZXhhbXBsZSBhIGNvbW1lbnQsIGFuIGluc3RydWN0aW9uLCBvciBhIG5vdGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBzdGF0ZW1lbnQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVsZXZhbnRIaXN0b3J5IiBkZXNjcmlwdGlvbj0iUmVxdWVzdCBwcm92ZW5hbmNlIiBkZWZpbml0aW9uPSJLZXkgZXZlbnRzIGluIHRoZSBoaXN0b3J5IG9mIHRoZSByZXF1ZXN0LiIgY29tbWVudD0iVGhpcyBtaWdodCBub3QgaW5jbHVkZSBwcm92ZW5hbmNlcyBmb3IgYWxsIHZlcnNpb25zIG9mIHRoZSByZXF1ZXN0IC0gb25seSB0aG9zZSBkZWVtZWQgJnF1b3Q7cmVsZXZhbnQmcXVvdDsgb3IgaW1wb3J0YW50LiYjeGQ7VGhpcyBTSEFMTCBOT1QgaW5jbHVkZSB0aGUgUHJvdmVuYW5jZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBjdXJyZW50IHZlcnNpb24gb2YgdGhlIHJlc291cmNlLiAgKElmIHRoYXQgcHJvdmVuYW5jZSBpcyBkZWVtZWQgdG8gYmUgYSAmcXVvdDtyZWxldmFudCZxdW90OyBjaGFuZ2UsIGl0IHdpbGwgbmVlZCB0byBiZSBhZGRlZCBhcyBwYXJ0IG9mIGEgbGF0ZXIgdXBkYXRlLiAgVW50aWwgdGhlbiwgaXQgY2FuIGJlIHF1ZXJpZWQgZGlyZWN0bHkgYXMgdGhlIFByb3ZlbmFuY2UgdGhhdCBwb2ludHMgdG8gdGhpcyB2ZXJzaW9uIHVzaW5nIF9yZXZpbmNsdWRlJiN4ZDtBbGwgUHJvdmVuYW5jZXMgc2hvdWxkIGhhdmUgc29tZSBoaXN0b3JpY2FsIHZlcnNpb24gb2YgdGhpcyBSZXF1ZXN0IGFzIHRoZWlyIHN1YmplY3QuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJyZXF1ZXN0ZXIiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0icGVyZm9ybWVyIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJzdWJqZWN0Ii8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJwZXJmb3JtZXIiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iRW5jb3VudGVyIiByZWxhdGVkS2V5RWxlbWVudD0iZW5jb3VudGVyIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IkRldmljZSIgcmVsYXRlZEtleUVsZW1lbnQ9ImNvZGUgYXMgUmVmZXJlbmNlKSIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJEZXZpY2UiIHJlbGF0ZWRLZXlFbGVtZW50PSJzdWJqZWN0Ii8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IkRldmljZSIgcmVsYXRlZEtleUVsZW1lbnQ9InJlcXVlc3RlciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJEZXZpY2UiIHJlbGF0ZWRLZXlFbGVtZW50PSJwZXJmb3JtZXIiLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRGV2aWNlUmVxdWVzdC5QYXJhbWV0ZXIiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkRldmljZSBkZXRhaWwiIGRlZmluaXRpb249IkEgY29kZSBvciBzdHJpbmcgdGhhdCBpZGVudGlmaWVzIHRoZSBkZXZpY2UgZGV0YWlsIGJlaW5nIGFzc2VydGVkLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlBhcmFtZXRlckNvZGUiIGRlc2NyaXB0aW9uPSJBIGNvZGUgdGhhdCBpZGVudGlmaWVzIHRoZSBkZXZpY2UgZGV0YWlsLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJWYWx1ZSBvZiBkZXRhaWwiIGRlZmluaXRpb249IlRoZSB2YWx1ZSBvZiB0aGUgZGV2aWNlIGRldGFpbC4iIGNvbW1lbnQ9IlJhbmdlIG1lYW5zIGRldmljZSBzaG91bGQgaGF2ZSBhIHZhbHVlIHRoYXQgZmFsbHMgc29tZXdoZXJlIHdpdGhpbiB0aGUgc3BlY2lmaWVkIHJhbmdlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkJvb2xlYW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEZXZpY2VSZXF1ZXN0U3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEZXZpY2VVc2VTdGF0ZW1lbnQiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWRldmljZXVzZXN0YXRlbWVudCIgbGFiZWw9IlFJQ29yZSBEZXZpY2VVc2VTdGF0ZW1lbnQiIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImRldmljZS5jb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkV4dGVybmFsIGlkZW50aWZpZXIgZm9yIHRoaXMgcmVjb3JkIiBkZWZpbml0aW9uPSJBbiBleHRlcm5hbCBpZGVudGlmaWVyIGZvciB0aGlzIHN0YXRlbWVudCBzdWNoIGFzIGFuIElSSS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIERldmljZVVzZVN0YXRlbWVudC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5EZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iYWN0aXZlIHwgY29tcGxldGVkIHwgZW50ZXJlZC1pbi1lcnJvciArIiBkZWZpbml0aW9uPSJBIGNvZGUgcmVwcmVzZW50aW5nIHRoZSBwYXRpZW50IG9yIG90aGVyIHNvdXJjZSdzIGp1ZGdtZW50IGFib3V0IHRoZSBzdGF0ZSBvZiB0aGUgZGV2aWNlIHVzZWQgdGhhdCB0aGlzIHN0YXRlbWVudCBpcyBhYm91dC4gIEdlbmVyYWxseSB0aGlzIHdpbGwgYmUgYWN0aXZlIG9yIGNvbXBsZXRlZC4iIGNvbW1lbnQ9IkRldmljZVVzZVN0YXRtZW50IGlzIGEgc3RhdGVtZW50IGF0IGEgcG9pbnQgaW4gdGltZS4gIFRoZSBzdGF0dXMgaXMgb25seSByZXByZXNlbnRhdGl2ZSBhdCB0aGUgcG9pbnQgd2hlbiBpdCB3YXMgYXNzZXJ0ZWQuICBUaGUgdmFsdWUgc2V0IGZvciBjb250YWlucyBjb2RlcyB0aGF0IGFzc2VydCB0aGUgc3RhdHVzIG9mIHRoZSB1c2UgIGJ5IHRoZSBwYXRpZW50IChmb3IgZXhhbXBsZSwgc3RvcHBlZCBvciBvbiBob2xkKSBhcyB3ZWxsIGFzIGNvZGVzIHRoYXQgYXNzZXJ0IHRoZSBzdGF0dXMgb2YgdGhlIHJlc291cmNlIGl0c2VsZiAoZm9yIGV4YW1wbGUsIGVudGVyZWQgaW4gZXJyb3IpLiYjeGQ7JiN4ZDtUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyB0aGUgY29kZXMgdGhhdCBtYXJrIHRoZSBzdGF0ZW1lbnQgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRGV2aWNlVXNlU3RhdGVtZW50U3RhdHVzIiBkZXNjcmlwdGlvbj0iQSBjb2RlZCBjb25jZXB0IGluZGljYXRpbmcgdGhlIGN1cnJlbnQgc3RhdHVzIG9mIHRoZSBEZXZpY2UgVXNhZ2UuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlBhdGllbnQgdXNpbmcgZGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCB3aG8gdXNlZCB0aGUgZGV2aWNlLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJTdXBwb3J0aW5nIGluZm9ybWF0aW9uIiBkZWZpbml0aW9uPSJBbGxvd3MgbGlua2luZyB0aGUgRGV2aWNlVXNlU3RhdGVtZW50IHRvIHRoZSB1bmRlcmx5aW5nIFJlcXVlc3QsIG9yIHRvIG90aGVyIGluZm9ybWF0aW9uIHRoYXQgc3VwcG9ydHMgb3IgaXMgdXNlZCB0byBkZXJpdmUgdGhlIERldmljZVVzZVN0YXRlbWVudC4iIGNvbW1lbnQ9IlRoZSBtb3N0IGNvbW1vbiB1c2UgY2FzZXMgZm9yIGRlcml2aW5nIGEgRGV2aWNlVXNlU3RhdGVtZW50IGNvbWVzIGZyb20gY3JlYXRpbmcgaXQgZnJvbSBhIHJlcXVlc3Qgb3IgZnJvbSBhbiBvYnNlcnZhdGlvbiBvciBhIGNsYWltLiBpdCBzaG91bGQgYmUgbm90ZWQgdGhhdCB0aGUgYW1vdW50IG9mIGluZm9ybWF0aW9uIHRoYXQgaXMgYXZhaWxhYmxlIHZhcmllcyBmcm9tIHRoZSB0eXBlIHJlc291cmNlIHRoYXQgeW91IGRlcml2ZSB0aGUgRGV2aWNlVXNlU3RhdGVtZW50IGZyb20uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ0aW1pbmciIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IG9mdGVuICB0aGUgZGV2aWNlIHdhcyB1c2VkIiBkZWZpbml0aW9uPSJIb3cgb2Z0ZW4gdGhlIGRldmljZSB3YXMgdXNlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGltaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlY29yZGVkT24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hlbiBzdGF0ZW1lbnQgd2FzIHJlY29yZGVkIiBkZWZpbml0aW9uPSJUaGUgdGltZSBhdCB3aGljaCB0aGUgc3RhdGVtZW50IHdhcyBtYWRlL3JlY29yZGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic291cmNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBtYWRlIHRoZSBzdGF0ZW1lbnQiIGRlZmluaXRpb249IldobyByZXBvcnRlZCB0aGUgZGV2aWNlIHdhcyBiZWluZyB1c2VkIGJ5IHRoZSBwYXRpZW50LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXZpY2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iUmVmZXJlbmNlIHRvIGRldmljZSB1c2VkIiBkZWZpbml0aW9uPSJUaGUgZGV0YWlscyBvZiB0aGUgZGV2aWNlIHVzZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2h5IGRldmljZSB3YXMgdXNlZCIgZGVmaW5pdGlvbj0iUmVhc29uIG9yIGp1c3RpZmljYXRpb24gZm9yIHRoZSB1c2Ugb2YgdGhlIGRldmljZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaHkgd2FzIERldmljZVVzZVN0YXRlbWVudCBwZXJmb3JtZWQ/IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgYW5vdGhlciByZXNvdXJjZSB3aG9zZSBleGlzdGVuY2UganVzdGlmaWVzIHRoaXMgRGV2aWNlVXNlU3RhdGVtZW50LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRhcmdldCBib2R5IHNpdGUiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgYW5vdG9taWMgbG9jYXRpb24gb24gdGhlIHN1YmplY3QncyBib2R5IHdoZXJlIHRoZSBkZXZpY2Ugd2FzIHVzZWQgKCBpLmUuIHRoZSB0YXJnZXQpLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQWRkaXRpb24gZGV0YWlscyAoY29tbWVudHMsIGluc3RydWN0aW9ucykiIGRlZmluaXRpb249IkRldGFpbHMgYWJvdXQgdGhlIGRldmljZSBzdGF0ZW1lbnQgdGhhdCB3ZXJlIG5vdCByZXByZXNlbnRlZCBhdCBhbGwgb3Igc3VmZmljaWVudGx5IGluIG9uZSBvZiB0aGUgYXR0cmlidXRlcyBwcm92aWRlZCBpbiBhIGNsYXNzLiBUaGVzZSBtYXkgaW5jbHVkZSBmb3IgZXhhbXBsZSBhIGNvbW1lbnQsIGFuIGluc3RydWN0aW9uLCBvciBhIG5vdGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBzdGF0ZW1lbnQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InN1YmplY3QiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iRGV2aWNlIiByZWxhdGVkS2V5RWxlbWVudD0iZGV2aWNlIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRldmljZVVzZVN0YXRlbWVudFN0YXR1cyIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLkNvbmNlcHQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEaWFnbm9zaXNQcmVzZW50T25BZG1pc3Npb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWVuY291bnRlci1kaWFnbm9zaXNQcmVzZW50T25BZG1pc3Npb24iIGxhYmVsPSJRSUNvcmUgRGlhZ25vc2lzIFByZXNlbnQgb24gQWRtaXNzaW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRGlhZ25vc3RpY1JlcG9ydC5NZWRpYSIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29tbWVudCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iQ29tbWVudCBhYm91dCB0aGUgaW1hZ2UgKGUuZy4gZXhwbGFuYXRpb24pIiBkZWZpbml0aW9uPSJBIGNvbW1lbnQgYWJvdXQgdGhlIGltYWdlLiBUeXBpY2FsbHksIHRoaXMgaXMgdXNlZCB0byBwcm92aWRlIGFuIGV4cGxhbmF0aW9uIGZvciB3aHkgdGhlIGltYWdlIGlzIGluY2x1ZGVkLCBvciB0byBkcmF3IHRoZSB2aWV3ZXIncyBhdHRlbnRpb24gdG8gaW1wb3J0YW50IGZlYXR1cmVzLiIgY29tbWVudD0iVGhlIGNvbW1lbnQgc2hvdWxkIGJlIGRpc3BsYXllZCB3aXRoIHRoZSBpbWFnZS4gSXQgd291bGQgYmUgY29tbW9uIGZvciB0aGUgcmVwb3J0IHRvIGluY2x1ZGUgYWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoZSBpbWFnZSBjb250ZW50cyBpbiBvdGhlciBzZWN0aW9ucyBzdWNoIGFzIHRoZSBjb25jbHVzaW9uLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJsaW5rIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlJlZmVyZW5jZSB0byB0aGUgaW1hZ2Ugc291cmNlIiBkZWZpbml0aW9uPSJSZWZlcmVuY2UgdG8gdGhlIGltYWdlIHNvdXJjZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRGlhZ25vc3RpY1JlcG9ydExhYiIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtZGlhZ25vc3RpY3JlcG9ydC1sYWIiIGxhYmVsPSJRSUNvcmUgRGlhZ25vc3RpY1JlcG9ydCBQcm9maWxlIGZvciBMYWJvcmF0b3J5IFJlc3VsdHMgUmVwb3J0aW5nIiB0YXJnZXQ9IkRpYWdub3N0aWNSZXBvcnQiIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZVJlZmVyZW5jZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHRhcmdldD0iJXBhcmVudC5leHRlbnNpb25bdXJsPSdudWxsJ10iIGRlc2NyaXB0aW9uPSJWYWx1ZSBvZiBleHRlbnNpb24iIGRlZmluaXRpb249IlZhbHVlIG9mIGV4dGVuc2lvbiAtIG11c3QgYmUgb25lIG9mIGEgY29uc3RyYWluZWQgc2V0IG9mIHRoZSBkYXRhIHR5cGVzIChzZWUgW0V4dGVuc2liaWxpdHldKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaWJpbGl0eS5odG1sKSBmb3IgYSBsaXN0KS4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvblBlcmZvcm1lZCIgZWxlbWVudFR5cGU9IlFJQ29yZS5sb2NhdGlvblBlcmZvcm1lZCIgdGFyZ2V0PSIlcGFyZW50LmV4dGVuc2lvblt1cmw9J251bGwnXSIgZGVzY3JpcHRpb249IkxvY2F0aW9uIFBlcmZvcm1lZCIgZGVmaW5pdGlvbj0iRmFjaWxpdHkgbG9jYXRpb24gd2hlcmUgdGhpcyByZXBvcnQgd2FzIHByZXBhcmVkLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBpZGVudGlmaWVyIGZvciByZXBvcnQiIGRlZmluaXRpb249IklkZW50aWZpZXJzIGFzc2lnbmVkIHRvIHRoaXMgcmVwb3J0IGJ5IHRoZSBwZXJmb3JtZXIgb3Igb3RoZXIgc3lzdGVtcy4iIGNvbW1lbnQ9IlVzdWFsbHkgYXNzaWduZWQgYnkgdGhlIEluZm9ybWF0aW9uIFN5c3RlbSBvZiB0aGUgZGlhZ25vc3RpYyBzZXJ2aWNlIHByb3ZpZGVyIChmaWxsZXIgaWQpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJXaGF0IHdhcyByZXF1ZXN0ZWQiIGRlZmluaXRpb249IkRldGFpbHMgY29uY2VybmluZyBhIHNlcnZpY2UgcmVxdWVzdGVkLiIgY29tbWVudD0iTm90ZTogVXN1YWxseSB0aGVyZSBpcyBvbmUgdGVzdCByZXF1ZXN0IGZvciBlYWNoIHJlc3VsdCwgaG93ZXZlciBpbiBzb21lIGNpcmN1bXN0YW5jZXMgbXVsdGlwbGUgdGVzdCByZXF1ZXN0cyBtYXkgYmUgcmVwcmVzZW50ZWQgdXNpbmcgYSBzaW5nbGUgdGVzdCByZXN1bHQgcmVzb3VyY2UuIE5vdGUgdGhhdCB0aGVyZSBhcmUgYWxzbyBjYXNlcyB3aGVyZSBvbmUgcmVxdWVzdCBsZWFkcyB0byBtdWx0aXBsZSByZXBvcnRzLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InJlZ2lzdGVyZWQgfCBwYXJ0aWFsIHwgcHJlbGltaW5hcnkgfCBmaW5hbCArIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSBkaWFnbm9zdGljIHJlcG9ydC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJTZXJ2aWNlIGNhdGVnb3J5IiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBjbGluaWNhbCBkaXNjaXBsaW5lLCBkZXBhcnRtZW50IG9yIGRpYWdub3N0aWMgc2VydmljZSB0aGF0IGNyZWF0ZWQgdGhlIHJlcG9ydCAoZS5nLiBjYXJkaW9sb2d5LCBiaW9jaGVtaXN0cnksIGhlbWF0b2xvZ3ksIE1SSSkuIFRoaXMgaXMgdXNlZCBmb3Igc2VhcmNoaW5nLCBzb3J0aW5nIGFuZCBkaXNwbGF5IHB1cnBvc2VzLiIgY29tbWVudD0iTXVsdGlwbGUgY2F0ZWdvcmllcyBhcmUgYWxsb3dlZCB1c2luZyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMuICAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIE1vcmUgZmluZS1ncmFpbmVkIGZpbHRlcmluZyBjYW4gYmUgcGVyZm9ybWVkIHVzaW5nIHRoZSBtZXRhZGF0YSBhbmQvb3IgdGVybWlub2xvZ3kgaGllcmFyY2h5IGluIERpYWdub3N0aWNSZXBvcnQuY29kZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkRpYWdub3N0aWNTZXJ2aWNlU2VjdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBkaWFnbm9zdGljIHNlcnZpY2Ugc2VjdGlvbnMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iTGFib3JhdG9yeVNsaWNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJTZXJ2aWNlIGNhdGVnb3J5IiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBjbGluaWNhbCBkaXNjaXBsaW5lLCBkZXBhcnRtZW50IG9yIGRpYWdub3N0aWMgc2VydmljZSB0aGF0IGNyZWF0ZWQgdGhlIHJlcG9ydCAoZS5nLiBjYXJkaW9sb2d5LCBiaW9jaGVtaXN0cnksIGhlbWF0b2xvZ3ksIE1SSSkuIFRoaXMgaXMgdXNlZCBmb3Igc2VhcmNoaW5nLCBzb3J0aW5nIGFuZCBkaXNwbGF5IHB1cnBvc2VzLiIgY29tbWVudD0iTXVsdGlwbGUgY2F0ZWdvcmllcyBhcmUgYWxsb3dlZCB1c2luZyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMuICAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIE1vcmUgZmluZS1ncmFpbmVkIGZpbHRlcmluZyBjYW4gYmUgcGVyZm9ybWVkIHVzaW5nIHRoZSBtZXRhZGF0YSBhbmQvb3IgdGVybWlub2xvZ3kgaGllcmFyY2h5IGluIERpYWdub3N0aWNSZXBvcnQuY29kZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRGlhZ25vc3RpY1NlcnZpY2VTZWN0aW9uIiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGRpYWdub3N0aWMgc2VydmljZSBzZWN0aW9ucy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJVUyBDb3JlIExhYm9yYXRvcnkgUmVwb3J0IE9yZGVyIENvZGUiIGRlZmluaXRpb249IlRoZSB0ZXN0LCBwYW5lbCBvciBiYXR0ZXJ5IHRoYXQgd2FzIG9yZGVyZWQuIiBjb21tZW50PSJVc2FnZU5vdGU9IFRoZSB0eXBpY2FsIHBhdHRlcm5zIGZvciBjb2RlcyBhcmU6ICAxKSAgYSBMT0lOQyBjb2RlIGVpdGhlciBhcyBhICB0cmFuc2xhdGlvbiBmcm9tIGEgJnF1b3Q7bG9jYWwmcXVvdDsgY29kZSBvciBhcyBhIHByaW1hcnkgY29kZSwgb3IgMikgIGEgbG9jYWwgY29kZSBvbmx5IGlmIG5vIHN1aXRhYmxlIExPSU5DIGV4aXN0cywgIG9yIDMpICBib3RoIHRoZSBsb2NhbCBhbmQgdGhlIExPSU5DIHRyYW5zbGF0aW9uLiAgIFN5c3RlbXMgU0hBTEwgYmUgY2FwYWJsZSBvZiBzZW5kaW5nIHRoZSBsb2NhbCBjb2RlIGlmIG9uZSBleGlzdHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJMT0lOQyBjb2RlcyIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlRoZSBzdWJqZWN0IG9mIHRoZSByZXBvcnQgLSB1c3VhbGx5LCBidXQgbm90IGFsd2F5cywgdGhlIHBhdGllbnQiIGRlZmluaXRpb249IlRoZSBzdWJqZWN0IG9mIHRoZSByZXBvcnQuIFVzdWFsbHksIGJ1dCBub3QgYWx3YXlzLCB0aGlzIGlzIGEgcGF0aWVudC4gSG93ZXZlciwgZGlhZ25vc3RpYyBzZXJ2aWNlcyBhbHNvIHBlcmZvcm0gYW5hbHlzZXMgb24gc3BlY2ltZW5zIGNvbGxlY3RlZCBmcm9tIGEgdmFyaWV0eSBvZiBvdGhlciBzb3VyY2VzLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkhlYWx0aCBjYXJlIGV2ZW50IHdoZW4gdGVzdCBvcmRlcmVkIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSB3aGljaCB0aGlzIERpYWdub3N0aWNSZXBvcnQgaXMgYWJvdXQuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgZXZlbnRzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyICBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyICAoZS5nLiBwcmUtYWRtaXNzaW9uIGxhYm9yYXRvcnkgdGVzdHMpLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJEaWFnbm9zdGljYWxseSByZWxldmFudCB0aW1lICh0eXBpY2FsbHkgdGhlIHRpbWUgb2Ygc3BlY2ltZW4gY29sbGVjdGlvbikiIGRlZmluaXRpb249IlRoZSB0aW1lIG9yIHRpbWUtcGVyaW9kIHRoZSBvYnNlcnZlZCB2YWx1ZXMgYXJlIHJlbGF0ZWQgdG8uIFdoZW4gdGhlIHN1YmplY3Qgb2YgdGhlIHJlcG9ydCBpcyBhIHBhdGllbnQsIHRoaXMgaXMgdXN1YWxseSBlaXRoZXIgdGhlIHRpbWUgb2YgdGhlIHByb2NlZHVyZSBvciBvZiBzcGVjaW1lbiBjb2xsZWN0aW9uKHMpLCBidXQgdmVyeSBvZnRlbiB0aGUgc291cmNlIG9mIHRoZSBkYXRlL3RpbWUgaXMgbm90IGtub3duLCBvbmx5IHRoZSBkYXRlL3RpbWUgaXRzZWxmLiIgY29tbWVudD0iSWYgdGhlIGRpYWdub3N0aWMgcHJvY2VkdXJlIHdhcyBwZXJmb3JtZWQgb24gdGhlIHBhdGllbnQsIHRoaXMgaXMgdGhlIHRpbWUgaXQgd2FzIHBlcmZvcm1lZC4gSWYgdGhlcmUgYXJlIHNwZWNpbWVucywgdGhlIGRpYWdub3N0aWNhbGx5IHJlbGV2YW50IHRpbWUgY2FuIGJlIGRlcml2ZWQgZnJvbSB0aGUgc3BlY2ltZW4gY29sbGVjdGlvbiB0aW1lcywgYnV0IHRoZSBzcGVjaW1lbiBpbmZvcm1hdGlvbiBpcyBub3QgYWx3YXlzIGF2YWlsYWJsZSwgYW5kIHRoZSBleGFjdCByZWxhdGlvbnNoaXAgYmV0d2VlbiB0aGUgc3BlY2ltZW5zIGFuZCB0aGUgZGlhZ25vc3RpY2FsbHkgcmVsZXZhbnQgdGltZSBpcyBub3QgYWx3YXlzIGF1dG9tYXRpYy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaXNzdWVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gdGhlIHJlcG9ydCB3YXMgcmVsZWFzZWQiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoYXQgdGhpcyB2ZXJzaW9uIG9mIHRoZSByZXBvcnQgd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXBvcnQgd2FzIHJldmlld2VkIGFuZCB2ZXJpZmllZC4iIGNvbW1lbnQ9Ik1heSBiZSBkaWZmZXJlbnQgZnJvbSB0aGUgdXBkYXRlIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZiwgYmVjYXVzZSB0aGF0IGlzIHRoZSBzdGF0dXMgb2YgdGhlIHJlY29yZCAocG90ZW50aWFsbHkgYSBzZWNvbmRhcnkgY29weSksIG5vdCB0aGUgYWN0dWFsIHJlbGVhc2UgdGltZSBvZiB0aGUgcmVwb3J0LiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iUmVzcG9uc2libGUgRGlhZ25vc3RpYyBTZXJ2aWNlIiBkZWZpbml0aW9uPSJUaGUgZGlhZ25vc3RpYyBzZXJ2aWNlIHRoYXQgaXMgcmVzcG9uc2libGUgZm9yIGlzc3VpbmcgdGhlIHJlcG9ydC4iIGNvbW1lbnQ9IlRoaXMgaXMgbm90IG5lY2Vzc2FyaWx5IHRoZSBzb3VyY2Ugb2YgdGhlIGF0b21pYyBkYXRhIGl0ZW1zIG9yIHRoZSBlbnRpdHkgdGhhdCBpbnRlcnByZXRlZCB0aGUgcmVzdWx0cy4gSXQgaXMgdGhlIGVudGl0eSB0aGF0IHRha2VzIHJlc3BvbnNpYmlsaXR5IGZvciB0aGUgY2xpbmljYWwgcmVwb3J0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlc3VsdHNJbnRlcnByZXRlciIgZGVzY3JpcHRpb249IlByaW1hcnkgcmVzdWx0IGludGVycHJldGVyIiBkZWZpbml0aW9uPSJUaGUgcHJhY3RpdGlvbmVyIG9yIG9yZ2FuaXphdGlvbiB0aGF0IGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgcmVwb3J0J3MgY29uY2x1c2lvbnMgYW5kIGludGVycHJldGF0aW9ucy4iIGNvbW1lbnQ9Ik1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBlbnRpdHkgdGhhdCB0YWtlcyByZXNwb25zaWJpbGl0eSBmb3IgdGhlIGNsaW5pY2FsIHJlcG9ydC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpbWVuIiBkZXNjcmlwdGlvbj0iU3BlY2ltZW5zIHRoaXMgcmVwb3J0IGlzIGJhc2VkIG9uIiBkZWZpbml0aW9uPSJEZXRhaWxzIGFib3V0IHRoZSBzcGVjaW1lbnMgb24gd2hpY2ggdGhpcyBkaWFnbm9zdGljIHJlcG9ydCBpcyBiYXNlZC4iIGNvbW1lbnQ9IklmIHRoZSBzcGVjaW1lbiBpcyBzdWZmaWNpZW50bHkgc3BlY2lmaWVkIHdpdGggYSBjb2RlIGluIHRoZSB0ZXN0IHJlc3VsdCBuYW1lLCB0aGVuIHRoaXMgYWRkaXRpb25hbCBkYXRhIG1heSBiZSByZWR1bmRhbnQuIElmIHRoZXJlIGFyZSBtdWx0aXBsZSBzcGVjaW1lbnMsIHRoZXNlIG1heSBiZSByZXByZXNlbnRlZCBwZXIgb2JzZXJ2YXRpb24gb3IgZ3JvdXAuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlc3VsdCIgZGVzY3JpcHRpb249Ik9ic2VydmF0aW9ucyIgZGVmaW5pdGlvbj0iW09ic2VydmF0aW9uc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sKSAgdGhhdCBhcmUgcGFydCBvZiB0aGlzIGRpYWdub3N0aWMgcmVwb3J0LiIgY29tbWVudD0iT2JzZXJ2YXRpb25zIGNhbiBjb250YWluIG9ic2VydmF0aW9ucy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbWFnaW5nU3R1ZHkiIGRlc2NyaXB0aW9uPSJSZWZlcmVuY2UgdG8gZnVsbCBkZXRhaWxzIG9mIGltYWdpbmcgYXNzb2NpYXRlZCB3aXRoIHRoZSBkaWFnbm9zdGljIHJlcG9ydCIgZGVmaW5pdGlvbj0iT25lIG9yIG1vcmUgbGlua3MgdG8gZnVsbCBkZXRhaWxzIG9mIGFueSBpbWFnaW5nIHBlcmZvcm1lZCBkdXJpbmcgdGhlIGRpYWdub3N0aWMgaW52ZXN0aWdhdGlvbi4gVHlwaWNhbGx5LCB0aGlzIGlzIGltYWdpbmcgcGVyZm9ybWVkIGJ5IERJQ09NIGVuYWJsZWQgbW9kYWxpdGllcywgYnV0IHRoaXMgaXMgbm90IHJlcXVpcmVkLiBBIGZ1bGx5IGVuYWJsZWQgUEFDUyB2aWV3ZXIgY2FuIHVzZSB0aGlzIGluZm9ybWF0aW9uIHRvIHByb3ZpZGUgdmlld3Mgb2YgdGhlIHNvdXJjZSBpbWFnZXMuIiBjb21tZW50PSJJbWFnaW5nU3R1ZHkgYW5kIHRoZSBpbWFnZSBlbGVtZW50IGFyZSBzb21ld2hhdCBvdmVybGFwcGluZyAtIHR5cGljYWxseSwgdGhlIGxpc3Qgb2YgaW1hZ2UgcmVmZXJlbmNlcyBpbiB0aGUgaW1hZ2UgZWxlbWVudCB3aWxsIGFsc28gYmUgZm91bmQgaW4gb25lIG9mIHRoZSBpbWFnaW5nIHN0dWR5IHJlc291cmNlcy4gSG93ZXZlciwgZWFjaCBjYXRlcnMgdG8gZGlmZmVyZW50IHR5cGVzIG9mIGRpc3BsYXlzIGZvciBkaWZmZXJlbnQgdHlwZXMgb2YgcHVycG9zZXMuIE5laXRoZXIsIGVpdGhlciwgb3IgYm90aCBtYXkgYmUgcHJvdmlkZWQuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1lZGlhIiBkZXNjcmlwdGlvbj0iS2V5IGltYWdlcyBhc3NvY2lhdGVkIHdpdGggdGhpcyByZXBvcnQiIGRlZmluaXRpb249IkEgbGlzdCBvZiBrZXkgaW1hZ2VzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHJlcG9ydC4gVGhlIGltYWdlcyBhcmUgZ2VuZXJhbGx5IGNyZWF0ZWQgZHVyaW5nIHRoZSBkaWFnbm9zdGljIHByb2Nlc3MsIGFuZCBtYXkgYmUgZGlyZWN0bHkgb2YgdGhlIHBhdGllbnQsIG9yIG9mIHRyZWF0ZWQgc3BlY2ltZW5zIChpLmUuIHNsaWRlcyBvZiBpbnRlcmVzdCkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuRGlhZ25vc3RpY1JlcG9ydC5NZWRpYSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29uY2x1c2lvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iQ2xpbmljYWwgY29uY2x1c2lvbiAoaW50ZXJwcmV0YXRpb24pIG9mIHRlc3QgcmVzdWx0cyIgZGVmaW5pdGlvbj0iQ29uY2lzZSBhbmQgY2xpbmljYWxseSBjb250ZXh0dWFsaXplZCBzdW1tYXJ5IGNvbmNsdXNpb24gKGludGVycHJldGF0aW9uL2ltcHJlc3Npb24pIG9mIHRoZSBkaWFnbm9zdGljIHJlcG9ydC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbmNsdXNpb25Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIHRoZSBjbGluaWNhbCBjb25jbHVzaW9uIG9mIHRlc3QgcmVzdWx0cyIgZGVmaW5pdGlvbj0iT25lIG9yIG1vcmUgY29kZXMgdGhhdCByZXByZXNlbnQgdGhlIHN1bW1hcnkgY29uY2x1c2lvbiAoaW50ZXJwcmV0YXRpb24vaW1wcmVzc2lvbikgb2YgdGhlIGRpYWdub3N0aWMgcmVwb3J0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlRoaXMgdmFsdWUgc2V0IGluY2x1ZGVzIGFsbCB0aGUgJnF1b3Q7Q2xpbmljYWwgZmluZGluZyZxdW90OyBTTk9NRUQgQ1QgY29kZXMgLSBjb25jZXB0cyB3aGVyZSBjb25jZXB0IGlzLWEgNDA0Njg0MDAzIChDbGluaWNhbCBmaW5kaW5nIChmaW5kaW5nKSkuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icHJlc2VudGVkRm9ybSIgZGVzY3JpcHRpb249IkVudGlyZSByZXBvcnQgYXMgaXNzdWVkIiBkZWZpbml0aW9uPSJSaWNoIHRleHQgcmVwcmVzZW50YXRpb24gb2YgdGhlIGVudGlyZSByZXN1bHQgYXMgaXNzdWVkIGJ5IHRoZSBkaWFnbm9zdGljIHNlcnZpY2UuIE11bHRpcGxlIGZvcm1hdHMgYXJlIGFsbG93ZWQgYnV0IHRoZXkgU0hBTEwgYmUgc2VtYW50aWNhbGx5IGVxdWl2YWxlbnQuIiBjb21tZW50PSImcXVvdDthcHBsaWNhdGlvbi9wZGYmcXVvdDsgaXMgcmVjb21tZW5kZWQgYXMgdGhlIG1vc3QgcmVsaWFibGUgYW5kIGludGVyb3BlcmFibGUgaW4gdGhpcyBjb250ZXh0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkF0dGFjaG1lbnQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRGlhZ25vc3RpY1JlcG9ydE5vdGUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWRpYWdub3N0aWNyZXBvcnQtbm90ZSIgbGFiZWw9IlFJQ29yZSBEaWFnbm9zdGljUmVwb3J0IFByb2ZpbGUgZm9yIFJlcG9ydCBhbmQgTm90ZSBFeGNoYW5nZSIgdGFyZ2V0PSJEaWFnbm9zdGljUmVwb3J0IiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWVSZWZlcmVuY2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB0YXJnZXQ9IiVwYXJlbnQuZXh0ZW5zaW9uW3VybD0nbnVsbCddIiBkZXNjcmlwdGlvbj0iVmFsdWUgb2YgZXh0ZW5zaW9uIiBkZWZpbml0aW9uPSJWYWx1ZSBvZiBleHRlbnNpb24gLSBtdXN0IGJlIG9uZSBvZiBhIGNvbnN0cmFpbmVkIHNldCBvZiB0aGUgZGF0YSB0eXBlcyAoc2VlIFtFeHRlbnNpYmlsaXR5XShodHRwOi8vaGw3Lm9yZy9maGlyL2V4dGVuc2liaWxpdHkuaHRtbCkgZm9yIGEgbGlzdCkuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvblBlcmZvcm1lZCIgZWxlbWVudFR5cGU9IlFJQ29yZS5sb2NhdGlvblBlcmZvcm1lZCIgdGFyZ2V0PSIlcGFyZW50LmV4dGVuc2lvblt1cmw9J251bGwnXSIgZGVzY3JpcHRpb249IkxvY2F0aW9uIFBlcmZvcm1lZCIgZGVmaW5pdGlvbj0iRmFjaWxpdHkgbG9jYXRpb24gd2hlcmUgdGhpcyByZXBvcnQgd2FzIHByZXBhcmVkLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBpZGVudGlmaWVyIGZvciByZXBvcnQiIGRlZmluaXRpb249IklkZW50aWZpZXJzIGFzc2lnbmVkIHRvIHRoaXMgcmVwb3J0IGJ5IHRoZSBwZXJmb3JtZXIgb3Igb3RoZXIgc3lzdGVtcy4iIGNvbW1lbnQ9IlVzdWFsbHkgYXNzaWduZWQgYnkgdGhlIEluZm9ybWF0aW9uIFN5c3RlbSBvZiB0aGUgZGlhZ25vc3RpYyBzZXJ2aWNlIHByb3ZpZGVyIChmaWxsZXIgaWQpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJXaGF0IHdhcyByZXF1ZXN0ZWQiIGRlZmluaXRpb249IkRldGFpbHMgY29uY2VybmluZyBhIHNlcnZpY2UgcmVxdWVzdGVkLiIgY29tbWVudD0iTm90ZTogVXN1YWxseSB0aGVyZSBpcyBvbmUgdGVzdCByZXF1ZXN0IGZvciBlYWNoIHJlc3VsdCwgaG93ZXZlciBpbiBzb21lIGNpcmN1bXN0YW5jZXMgbXVsdGlwbGUgdGVzdCByZXF1ZXN0cyBtYXkgYmUgcmVwcmVzZW50ZWQgdXNpbmcgYSBzaW5nbGUgdGVzdCByZXN1bHQgcmVzb3VyY2UuIE5vdGUgdGhhdCB0aGVyZSBhcmUgYWxzbyBjYXNlcyB3aGVyZSBvbmUgcmVxdWVzdCBsZWFkcyB0byBtdWx0aXBsZSByZXBvcnRzLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InJlZ2lzdGVyZWQgfCBwYXJ0aWFsIHwgcHJlbGltaW5hcnkgfCBmaW5hbCArIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSBkaWFnbm9zdGljIHJlcG9ydC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJTZXJ2aWNlIGNhdGVnb3J5IiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBjbGluaWNhbCBkaXNjaXBsaW5lLCBkZXBhcnRtZW50IG9yIGRpYWdub3N0aWMgc2VydmljZSB0aGF0IGNyZWF0ZWQgdGhlIHJlcG9ydCAoZS5nLiBjYXJkaW9sb2d5LCBiaW9jaGVtaXN0cnksIGhlbWF0b2xvZ3ksIE1SSSkuIFRoaXMgaXMgdXNlZCBmb3Igc2VhcmNoaW5nLCBzb3J0aW5nIGFuZCBkaXNwbGF5IHB1cnBvc2VzLiIgY29tbWVudD0iTXVsdGlwbGUgY2F0ZWdvcmllcyBhcmUgYWxsb3dlZCB1c2luZyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMuICAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIE1vcmUgZmluZS1ncmFpbmVkIGZpbHRlcmluZyBjYW4gYmUgcGVyZm9ybWVkIHVzaW5nIHRoZSBtZXRhZGF0YSBhbmQvb3IgdGVybWlub2xvZ3kgaGllcmFyY2h5IGluIERpYWdub3N0aWNSZXBvcnQuY29kZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkRpYWdub3N0aWNTZXJ2aWNlU2VjdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBkaWFnbm9zdGljIHNlcnZpY2Ugc2VjdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InVzLWNvcmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJTZXJ2aWNlIGNhdGVnb3J5IiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBjbGluaWNhbCBkaXNjaXBsaW5lLCBkZXBhcnRtZW50IG9yIGRpYWdub3N0aWMgc2VydmljZSB0aGF0IGNyZWF0ZWQgdGhlIHJlcG9ydCAoZS5nLiBjYXJkaW9sb2d5LCBiaW9jaGVtaXN0cnksIGhlbWF0b2xvZ3ksIE1SSSkuIFRoaXMgaXMgdXNlZCBmb3Igc2VhcmNoaW5nLCBzb3J0aW5nIGFuZCBkaXNwbGF5IHB1cnBvc2VzLiIgY29tbWVudD0iTXVsdGlwbGUgY2F0ZWdvcmllcyBhcmUgYWxsb3dlZCB1c2luZyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMuICAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIE1vcmUgZmluZS1ncmFpbmVkIGZpbHRlcmluZyBjYW4gYmUgcGVyZm9ybWVkIHVzaW5nIHRoZSBtZXRhZGF0YSBhbmQvb3IgdGVybWlub2xvZ3kgaGllcmFyY2h5IGluIERpYWdub3N0aWNSZXBvcnQuY29kZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlFJIENvcmUgUmVwb3J0IENvZGUiIGRlZmluaXRpb249IlRoZSB0ZXN0LCBwYW5lbCwgcmVwb3J0LCBvciBub3RlIHRoYXQgd2FzIG9yZGVyZWQuIiBjb21tZW50PSJUaGUgdHlwaWNhbCBwYXR0ZXJucyBmb3IgY29kZXMgYXJlOiAgMSkgIGEgTE9JTkMgY29kZSBlaXRoZXIgYXMgYSB0cmFuc2xhdGlvbiBmcm9tIGEgJnF1b3Q7bG9jYWwmcXVvdDsgY29kZSBvciBhcyBhIHByaW1hcnkgY29kZSwgb3IgMikgIGEgbG9jYWwgY29kZSBvbmx5IGlmIG5vIHN1aXRhYmxlIExPSU5DIGV4aXN0cywgIG9yIDMpICBib3RoIHRoZSBsb2NhbCBhbmQgdGhlIExPSU5DIHRyYW5zbGF0aW9uLiAgIFN5c3RlbXMgU0hBTEwgYmUgY2FwYWJsZSBvZiBzZW5kaW5nIHRoZSBsb2NhbCBjb2RlIGlmIG9uZSBleGlzdHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJMT0lOQyBjb2RlcyIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlRoZSBzdWJqZWN0IG9mIHRoZSByZXBvcnQgLSB1c3VhbGx5LCBidXQgbm90IGFsd2F5cywgdGhlIHBhdGllbnQiIGRlZmluaXRpb249IlRoZSBzdWJqZWN0IG9mIHRoZSByZXBvcnQuIFVzdWFsbHksIGJ1dCBub3QgYWx3YXlzLCB0aGlzIGlzIGEgcGF0aWVudC4gSG93ZXZlciwgZGlhZ25vc3RpYyBzZXJ2aWNlcyBhbHNvIHBlcmZvcm0gYW5hbHlzZXMgb24gc3BlY2ltZW5zIGNvbGxlY3RlZCBmcm9tIGEgdmFyaWV0eSBvZiBvdGhlciBzb3VyY2VzLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkhlYWx0aCBjYXJlIGV2ZW50IHdoZW4gdGVzdCBvcmRlcmVkIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSB3aGljaCB0aGlzIERpYWdub3N0aWNSZXBvcnQgaXMgYWJvdXQuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgZXZlbnRzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyICBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyICAoZS5nLiBwcmUtYWRtaXNzaW9uIGxhYm9yYXRvcnkgdGVzdHMpLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkRpYWdub3N0aWNhbGx5IHJlbGV2YW50IHRpbWUgKHR5cGljYWxseSB0aGUgdGltZSBvZiB0aGUgcHJvY2VkdXJlKSIgZGVmaW5pdGlvbj0iVGhlIHRpbWUgb3IgdGltZS1wZXJpb2QgdGhlIG9ic2VydmVkIHZhbHVlcyBhcmUgcmVsYXRlZCB0by4gV2hlbiB0aGUgc3ViamVjdCBvZiB0aGUgcmVwb3J0IGlzIGEgcGF0aWVudCwgdGhpcyBpcyB1c3VhbGx5IGVpdGhlciB0aGUgdGltZSBvZiB0aGUgcHJvY2VkdXJlIG9yIG9mIHNwZWNpbWVuIGNvbGxlY3Rpb24ocyksIGJ1dCB2ZXJ5IG9mdGVuIHRoZSBzb3VyY2Ugb2YgdGhlIGRhdGUvdGltZSBpcyBub3Qga25vd24sIG9ubHkgdGhlIGRhdGUvdGltZSBpdHNlbGYuIiBjb21tZW50PSJJZiB0aGUgZGlhZ25vc3RpYyBwcm9jZWR1cmUgd2FzIHBlcmZvcm1lZCBvbiB0aGUgcGF0aWVudCwgdGhpcyBpcyB0aGUgdGltZSBpdCB3YXMgcGVyZm9ybWVkLiBJZiB0aGVyZSBhcmUgc3BlY2ltZW5zLCB0aGUgZGlhZ25vc3RpY2FsbHkgcmVsZXZhbnQgdGltZSBjYW4gYmUgZGVyaXZlZCBmcm9tIHRoZSBzcGVjaW1lbiBjb2xsZWN0aW9uIHRpbWVzLCBidXQgdGhlIHNwZWNpbWVuIGluZm9ybWF0aW9uIGlzIG5vdCBhbHdheXMgYXZhaWxhYmxlLCBhbmQgdGhlIGV4YWN0IHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHRoZSBzcGVjaW1lbnMgYW5kIHRoZSBkaWFnbm9zdGljYWxseSByZWxldmFudCB0aW1lIGlzIG5vdCBhbHdheXMgYXV0b21hdGljLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZVRpbWUgdGhpcyB2ZXJzaW9uIHdhcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGF0IHRoaXMgdmVyc2lvbiBvZiB0aGUgcmVwb3J0IHdhcyBtYWRlIGF2YWlsYWJsZSB0byBwcm92aWRlcnMsIHR5cGljYWxseSBhZnRlciB0aGUgcmVwb3J0IHdhcyByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJNYXkgYmUgZGlmZmVyZW50IGZyb20gdGhlIHVwZGF0ZSB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYsIGJlY2F1c2UgdGhhdCBpcyB0aGUgc3RhdHVzIG9mIHRoZSByZWNvcmQgKHBvdGVudGlhbGx5IGEgc2Vjb25kYXJ5IGNvcHkpLCBub3QgdGhlIGFjdHVhbCByZWxlYXNlIHRpbWUgb2YgdGhlIHJlcG9ydC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IlJlc3BvbnNpYmxlIERpYWdub3N0aWMgU2VydmljZSIgZGVmaW5pdGlvbj0iVGhlIGRpYWdub3N0aWMgc2VydmljZSB0aGF0IGlzIHJlc3BvbnNpYmxlIGZvciBpc3N1aW5nIHRoZSByZXBvcnQuIiBjb21tZW50PSJUaGlzIGlzIG5vdCBuZWNlc3NhcmlseSB0aGUgc291cmNlIG9mIHRoZSBhdG9taWMgZGF0YSBpdGVtcyBvciB0aGUgZW50aXR5IHRoYXQgaW50ZXJwcmV0ZWQgdGhlIHJlc3VsdHMuIEl0IGlzIHRoZSBlbnRpdHkgdGhhdCB0YWtlcyByZXNwb25zaWJpbGl0eSBmb3IgdGhlIGNsaW5pY2FsIHJlcG9ydC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZXN1bHRzSW50ZXJwcmV0ZXIiIGRlc2NyaXB0aW9uPSJQcmltYXJ5IHJlc3VsdCBpbnRlcnByZXRlciIgZGVmaW5pdGlvbj0iVGhlIHByYWN0aXRpb25lciBvciBvcmdhbml6YXRpb24gdGhhdCBpcyByZXNwb25zaWJsZSBmb3IgdGhlIHJlcG9ydCdzIGNvbmNsdXNpb25zIGFuZCBpbnRlcnByZXRhdGlvbnMuIiBjb21tZW50PSJNaWdodCBub3QgYmUgdGhlIHNhbWUgZW50aXR5IHRoYXQgdGFrZXMgcmVzcG9uc2liaWxpdHkgZm9yIHRoZSBjbGluaWNhbCByZXBvcnQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZGVzY3JpcHRpb249IlNwZWNpbWVucyB0aGlzIHJlcG9ydCBpcyBiYXNlZCBvbiIgZGVmaW5pdGlvbj0iRGV0YWlscyBhYm91dCB0aGUgc3BlY2ltZW5zIG9uIHdoaWNoIHRoaXMgZGlhZ25vc3RpYyByZXBvcnQgaXMgYmFzZWQuIiBjb21tZW50PSJJZiB0aGUgc3BlY2ltZW4gaXMgc3VmZmljaWVudGx5IHNwZWNpZmllZCB3aXRoIGEgY29kZSBpbiB0aGUgdGVzdCByZXN1bHQgbmFtZSwgdGhlbiB0aGlzIGFkZGl0aW9uYWwgZGF0YSBtYXkgYmUgcmVkdW5kYW50LiBJZiB0aGVyZSBhcmUgbXVsdGlwbGUgc3BlY2ltZW5zLCB0aGVzZSBtYXkgYmUgcmVwcmVzZW50ZWQgcGVyIG9ic2VydmF0aW9uIG9yIGdyb3VwLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZXN1bHQiIGRlc2NyaXB0aW9uPSJPYnNlcnZhdGlvbnMiIGRlZmluaXRpb249IltPYnNlcnZhdGlvbnNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCkgIHRoYXQgYXJlIHBhcnQgb2YgdGhpcyBkaWFnbm9zdGljIHJlcG9ydC4iIGNvbW1lbnQ9Ik9ic2VydmF0aW9ucyBjYW4gY29udGFpbiBvYnNlcnZhdGlvbnMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW1hZ2luZ1N0dWR5IiBkZXNjcmlwdGlvbj0iUmVmZXJlbmNlIHRvIGZ1bGwgZGV0YWlscyBvZiBpbWFnaW5nIGFzc29jaWF0ZWQgd2l0aCB0aGUgZGlhZ25vc3RpYyByZXBvcnQiIGRlZmluaXRpb249Ik9uZSBvciBtb3JlIGxpbmtzIHRvIGZ1bGwgZGV0YWlscyBvZiBhbnkgaW1hZ2luZyBwZXJmb3JtZWQgZHVyaW5nIHRoZSBkaWFnbm9zdGljIGludmVzdGlnYXRpb24uIFR5cGljYWxseSwgdGhpcyBpcyBpbWFnaW5nIHBlcmZvcm1lZCBieSBESUNPTSBlbmFibGVkIG1vZGFsaXRpZXMsIGJ1dCB0aGlzIGlzIG5vdCByZXF1aXJlZC4gQSBmdWxseSBlbmFibGVkIFBBQ1Mgdmlld2VyIGNhbiB1c2UgdGhpcyBpbmZvcm1hdGlvbiB0byBwcm92aWRlIHZpZXdzIG9mIHRoZSBzb3VyY2UgaW1hZ2VzLiIgY29tbWVudD0iSW1hZ2luZ1N0dWR5IGFuZCB0aGUgaW1hZ2UgZWxlbWVudCBhcmUgc29tZXdoYXQgb3ZlcmxhcHBpbmcgLSB0eXBpY2FsbHksIHRoZSBsaXN0IG9mIGltYWdlIHJlZmVyZW5jZXMgaW4gdGhlIGltYWdlIGVsZW1lbnQgd2lsbCBhbHNvIGJlIGZvdW5kIGluIG9uZSBvZiB0aGUgaW1hZ2luZyBzdHVkeSByZXNvdXJjZXMuIEhvd2V2ZXIsIGVhY2ggY2F0ZXJzIHRvIGRpZmZlcmVudCB0eXBlcyBvZiBkaXNwbGF5cyBmb3IgZGlmZmVyZW50IHR5cGVzIG9mIHB1cnBvc2VzLiBOZWl0aGVyLCBlaXRoZXIsIG9yIGJvdGggbWF5IGJlIHByb3ZpZGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1lZGlhIiBkZXNjcmlwdGlvbj0iS2V5IGltYWdlcyBhc3NvY2lhdGVkIHdpdGggdGhpcyByZXBvcnQiIGRlZmluaXRpb249IkEgbGlzdCBvZiBrZXkgaW1hZ2VzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHJlcG9ydC4gVGhlIGltYWdlcyBhcmUgZ2VuZXJhbGx5IGNyZWF0ZWQgZHVyaW5nIHRoZSBkaWFnbm9zdGljIHByb2Nlc3MsIGFuZCBtYXkgYmUgZGlyZWN0bHkgb2YgdGhlIHBhdGllbnQsIG9yIG9mIHRyZWF0ZWQgc3BlY2ltZW5zIChpLmUuIHNsaWRlcyBvZiBpbnRlcmVzdCkuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkRpYWdub3N0aWNSZXBvcnQuTWVkaWEiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbmNsdXNpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkNsaW5pY2FsIGNvbmNsdXNpb24gKGludGVycHJldGF0aW9uKSBvZiB0ZXN0IHJlc3VsdHMiIGRlZmluaXRpb249IkNvbmNpc2UgYW5kIGNsaW5pY2FsbHkgY29udGV4dHVhbGl6ZWQgc3VtbWFyeSBjb25jbHVzaW9uIChpbnRlcnByZXRhdGlvbi9pbXByZXNzaW9uKSBvZiB0aGUgZGlhZ25vc3RpYyByZXBvcnQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJjb25jbHVzaW9uQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciB0aGUgY2xpbmljYWwgY29uY2x1c2lvbiBvZiB0ZXN0IHJlc3VsdHMiIGRlZmluaXRpb249Ik9uZSBvciBtb3JlIGNvZGVzIHRoYXQgcmVwcmVzZW50IHRoZSBzdW1tYXJ5IGNvbmNsdXNpb24gKGludGVycHJldGF0aW9uL2ltcHJlc3Npb24pIG9mIHRoZSBkaWFnbm9zdGljIHJlcG9ydC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGlzIHZhbHVlIHNldCBpbmNsdWRlcyBhbGwgdGhlICZxdW90O0NsaW5pY2FsIGZpbmRpbmcmcXVvdDsgU05PTUVEIENUIGNvZGVzIC0gY29uY2VwdHMgd2hlcmUgY29uY2VwdCBpcy1hIDQwNDY4NDAwMyAoQ2xpbmljYWwgZmluZGluZyAoZmluZGluZykpLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InByZXNlbnRlZEZvcm0iIGRlc2NyaXB0aW9uPSJFbnRpcmUgcmVwb3J0IGFzIGlzc3VlZCIgZGVmaW5pdGlvbj0iUmljaCB0ZXh0IHJlcHJlc2VudGF0aW9uIG9mIHRoZSBlbnRpcmUgcmVzdWx0IGFzIGlzc3VlZCBieSB0aGUgZGlhZ25vc3RpYyBzZXJ2aWNlLiBNdWx0aXBsZSBmb3JtYXRzIGFyZSBhbGxvd2VkIGJ1dCB0aGV5IFNIQUxMIGJlIHNlbWFudGljYWxseSBlcXVpdmFsZW50LiIgY29tbWVudD0iJnF1b3Q7YXBwbGljYXRpb24vcGRmJnF1b3Q7IGlzIHJlY29tbWVuZGVkIGFzIHRoZSBtb3N0IHJlbGlhYmxlIGFuZCBpbnRlcm9wZXJhYmxlIGluIHRoaXMgY29udGV4dC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQXR0YWNobWVudCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRGlzcGxheSBOYW1lIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vZGlzcGxheSIgbGFiZWw9IkRpc3BsYXkgTmFtZSIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLkNvbmNlcHQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEb05vdFBlcmZvcm1SZWFzb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWRvTm90UGVyZm9ybVJlYXNvbiIgbGFiZWw9IlFJQ29yZSBEbyBOb3QgUGVyZm9ybSBSZWFzb24iIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRvbWFpblJlc291cmNlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vRG9tYWluUmVzb3VyY2UiIGxhYmVsPSJEb21haW5SZXNvdXJjZSIgcmV0cmlldmFibGU9InRydWUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJ0ZXh0IiBlbGVtZW50VHlwZT0iUUlDb3JlLk5hcnJhdGl2ZSIgZGVzY3JpcHRpb249IlRleHQgc3VtbWFyeSBvZiB0aGUgcmVzb3VyY2UsIGZvciBodW1hbiBpbnRlcnByZXRhdGlvbiIgZGVmaW5pdGlvbj0iQSBodW1hbi1yZWFkYWJsZSBuYXJyYXRpdmUgdGhhdCBjb250YWlucyBhIHN1bW1hcnkgb2YgdGhlIHJlc291cmNlIGFuZCBjYW4gYmUgdXNlZCB0byByZXByZXNlbnQgdGhlIGNvbnRlbnQgb2YgdGhlIHJlc291cmNlIHRvIGEgaHVtYW4uIFRoZSBuYXJyYXRpdmUgbmVlZCBub3QgZW5jb2RlIGFsbCB0aGUgc3RydWN0dXJlZCBkYXRhLCBidXQgaXMgcmVxdWlyZWQgdG8gY29udGFpbiBzdWZmaWNpZW50IGRldGFpbCB0byBtYWtlIGl0ICZxdW90O2NsaW5pY2FsbHkgc2FmZSZxdW90OyBmb3IgYSBodW1hbiB0byBqdXN0IHJlYWQgdGhlIG5hcnJhdGl2ZS4gUmVzb3VyY2UgZGVmaW5pdGlvbnMgbWF5IGRlZmluZSB3aGF0IGNvbnRlbnQgc2hvdWxkIGJlIHJlcHJlc2VudGVkIGluIHRoZSBuYXJyYXRpdmUgdG8gZW5zdXJlIGNsaW5pY2FsIHNhZmV0eS4iIGNvbW1lbnQ9IkNvbnRhaW5lZCByZXNvdXJjZXMgZG8gbm90IGhhdmUgbmFycmF0aXZlLiBSZXNvdXJjZXMgdGhhdCBhcmUgbm90IGNvbnRhaW5lZCBTSE9VTEQgaGF2ZSBhIG5hcnJhdGl2ZS4gSW4gc29tZSBjYXNlcywgYSByZXNvdXJjZSBtYXkgb25seSBoYXZlIHRleHQgd2l0aCBsaXR0bGUgb3Igbm8gYWRkaXRpb25hbCBkaXNjcmV0ZSBkYXRhIChhcyBsb25nIGFzIGFsbCBtaW5PY2N1cnM9MSBlbGVtZW50cyBhcmUgc2F0aXNmaWVkKS4gIFRoaXMgbWF5IGJlIG5lY2Vzc2FyeSBmb3IgZGF0YSBmcm9tIGxlZ2FjeSBzeXN0ZW1zIHdoZXJlIGluZm9ybWF0aW9uIGlzIGNhcHR1cmVkIGFzIGEgJnF1b3Q7dGV4dCBibG9iJnF1b3Q7IG9yIHdoZXJlIHRleHQgaXMgYWRkaXRpb25hbGx5IGVudGVyZWQgcmF3IG9yIG5hcnJhdGVkIGFuZCBlbmNvZGVkIGluZm9ybWF0aW9uIGlzIGFkZGVkIGxhdGVyLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJjb250YWluZWQiIGRlc2NyaXB0aW9uPSJDb250YWluZWQsIGlubGluZSBSZXNvdXJjZXMiIGRlZmluaXRpb249IlRoZXNlIHJlc291cmNlcyBkbyBub3QgaGF2ZSBhbiBpbmRlcGVuZGVudCBleGlzdGVuY2UgYXBhcnQgZnJvbSB0aGUgcmVzb3VyY2UgdGhhdCBjb250YWlucyB0aGVtIC0gdGhleSBjYW5ub3QgYmUgaWRlbnRpZmllZCBpbmRlcGVuZGVudGx5LCBhbmQgbm9yIGNhbiB0aGV5IGhhdmUgdGhlaXIgb3duIGluZGVwZW5kZW50IHRyYW5zYWN0aW9uIHNjb3BlLiIgY29tbWVudD0iVGhpcyBzaG91bGQgbmV2ZXIgYmUgZG9uZSB3aGVuIHRoZSBjb250ZW50IGNhbiBiZSBpZGVudGlmaWVkIHByb3Blcmx5LCBhcyBvbmNlIGlkZW50aWZpY2F0aW9uIGlzIGxvc3QsIGl0IGlzIGV4dHJlbWVseSBkaWZmaWN1bHQgKGFuZCBjb250ZXh0IGRlcGVuZGVudCkgdG8gcmVzdG9yZSBpdCBhZ2Fpbi4gQ29udGFpbmVkIHJlc291cmNlcyBtYXkgaGF2ZSBwcm9maWxlcyBhbmQgdGFncyBJbiB0aGVpciBtZXRhIGVsZW1lbnRzLCBidXQgU0hBTEwgTk9UIGhhdmUgc2VjdXJpdHkgbGFiZWxzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlc291cmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJleHRlbnNpb24iIGRlc2NyaXB0aW9uPSJBZGRpdGlvbmFsIGNvbnRlbnQgZGVmaW5lZCBieSBpbXBsZW1lbnRhdGlvbnMiIGRlZmluaXRpb249Ik1heSBiZSB1c2VkIHRvIHJlcHJlc2VudCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHRoYXQgaXMgbm90IHBhcnQgb2YgdGhlIGJhc2ljIGRlZmluaXRpb24gb2YgdGhlIHJlc291cmNlLiBUbyBtYWtlIHRoZSB1c2Ugb2YgZXh0ZW5zaW9ucyBzYWZlIGFuZCBtYW5hZ2VhYmxlLCB0aGVyZSBpcyBhIHN0cmljdCBzZXQgb2YgZ292ZXJuYW5jZSAgYXBwbGllZCB0byB0aGUgZGVmaW5pdGlvbiBhbmQgdXNlIG9mIGV4dGVuc2lvbnMuIFRob3VnaCBhbnkgaW1wbGVtZW50ZXIgY2FuIGRlZmluZSBhbiBleHRlbnNpb24sIHRoZXJlIGlzIGEgc2V0IG9mIHJlcXVpcmVtZW50cyB0aGF0IFNIQUxMIGJlIG1ldCBhcyBwYXJ0IG9mIHRoZSBkZWZpbml0aW9uIG9mIHRoZSBleHRlbnNpb24uIiBjb21tZW50PSJUaGVyZSBjYW4gYmUgbm8gc3RpZ21hIGFzc29jaWF0ZWQgd2l0aCB0aGUgdXNlIG9mIGV4dGVuc2lvbnMgYnkgYW55IGFwcGxpY2F0aW9uLCBwcm9qZWN0LCBvciBzdGFuZGFyZCAtIHJlZ2FyZGxlc3Mgb2YgdGhlIGluc3RpdHV0aW9uIG9yIGp1cmlzZGljdGlvbiB0aGF0IHVzZXMgb3IgZGVmaW5lcyB0aGUgZXh0ZW5zaW9ucy4gIFRoZSB1c2Ugb2YgZXh0ZW5zaW9ucyBpcyB3aGF0IGFsbG93cyB0aGUgRkhJUiBzcGVjaWZpY2F0aW9uIHRvIHJldGFpbiBhIGNvcmUgbGV2ZWwgb2Ygc2ltcGxpY2l0eSBmb3IgZXZlcnlvbmUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuRXh0ZW5zaW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtb2RpZmllckV4dGVuc2lvbiIgZGVzY3JpcHRpb249IkV4dGVuc2lvbnMgdGhhdCBjYW5ub3QgYmUgaWdub3JlZCIgZGVmaW5pdGlvbj0iTWF5IGJlIHVzZWQgdG8gcmVwcmVzZW50IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gdGhhdCBpcyBub3QgcGFydCBvZiB0aGUgYmFzaWMgZGVmaW5pdGlvbiBvZiB0aGUgcmVzb3VyY2UgYW5kIHRoYXQgbW9kaWZpZXMgdGhlIHVuZGVyc3RhbmRpbmcgb2YgdGhlIGVsZW1lbnQgdGhhdCBjb250YWlucyBpdCBhbmQvb3IgdGhlIHVuZGVyc3RhbmRpbmcgb2YgdGhlIGNvbnRhaW5pbmcgZWxlbWVudCdzIGRlc2NlbmRhbnRzLiBVc3VhbGx5IG1vZGlmaWVyIGVsZW1lbnRzIHByb3ZpZGUgbmVnYXRpb24gb3IgcXVhbGlmaWNhdGlvbi4gVG8gbWFrZSB0aGUgdXNlIG9mIGV4dGVuc2lvbnMgc2FmZSBhbmQgbWFuYWdlYWJsZSwgdGhlcmUgaXMgYSBzdHJpY3Qgc2V0IG9mIGdvdmVybmFuY2UgYXBwbGllZCB0byB0aGUgZGVmaW5pdGlvbiBhbmQgdXNlIG9mIGV4dGVuc2lvbnMuIFRob3VnaCBhbnkgaW1wbGVtZW50ZXIgaXMgYWxsb3dlZCB0byBkZWZpbmUgYW4gZXh0ZW5zaW9uLCB0aGVyZSBpcyBhIHNldCBvZiByZXF1aXJlbWVudHMgdGhhdCBTSEFMTCBiZSBtZXQgYXMgcGFydCBvZiB0aGUgZGVmaW5pdGlvbiBvZiB0aGUgZXh0ZW5zaW9uLiBBcHBsaWNhdGlvbnMgcHJvY2Vzc2luZyBhIHJlc291cmNlIGFyZSByZXF1aXJlZCB0byBjaGVjayBmb3IgbW9kaWZpZXIgZXh0ZW5zaW9ucy4mI3hhOyYjeGE7TW9kaWZpZXIgZXh0ZW5zaW9ucyBTSEFMTCBOT1QgY2hhbmdlIHRoZSBtZWFuaW5nIG9mIGFueSBlbGVtZW50cyBvbiBSZXNvdXJjZSBvciBEb21haW5SZXNvdXJjZSAoaW5jbHVkaW5nIGNhbm5vdCBjaGFuZ2UgdGhlIG1lYW5pbmcgb2YgbW9kaWZpZXJFeHRlbnNpb24gaXRzZWxmKS4iIGNvbW1lbnQ9IlRoZXJlIGNhbiBiZSBubyBzdGlnbWEgYXNzb2NpYXRlZCB3aXRoIHRoZSB1c2Ugb2YgZXh0ZW5zaW9ucyBieSBhbnkgYXBwbGljYXRpb24sIHByb2plY3QsIG9yIHN0YW5kYXJkIC0gcmVnYXJkbGVzcyBvZiB0aGUgaW5zdGl0dXRpb24gb3IganVyaXNkaWN0aW9uIHRoYXQgdXNlcyBvciBkZWZpbmVzIHRoZSBleHRlbnNpb25zLiAgVGhlIHVzZSBvZiBleHRlbnNpb25zIGlzIHdoYXQgYWxsb3dzIHRoZSBGSElSIHNwZWNpZmljYXRpb24gdG8gcmV0YWluIGEgY29yZSBsZXZlbCBvZiBzaW1wbGljaXR5IGZvciBldmVyeW9uZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5FeHRlbnNpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRvc2FnZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0Rvc2FnZSIgbGFiZWw9IkRvc2FnZSIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2VxdWVuY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaGUgb3JkZXIgb2YgdGhlIGRvc2FnZSBpbnN0cnVjdGlvbnMiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgb3JkZXIgaW4gd2hpY2ggdGhlIGRvc2FnZSBpbnN0cnVjdGlvbnMgc2hvdWxkIGJlIGFwcGxpZWQgb3IgaW50ZXJwcmV0ZWQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InRleHQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkZyZWUgdGV4dCBkb3NhZ2UgaW5zdHJ1Y3Rpb25zIGUuZy4gU0lHIiBkZWZpbml0aW9uPSJGcmVlIHRleHQgZG9zYWdlIGluc3RydWN0aW9ucyBlLmcuIFNJRy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iYWRkaXRpb25hbEluc3RydWN0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU3VwcGxlbWVudGFsIGluc3RydWN0aW9uIG9yIHdhcm5pbmdzIHRvIHRoZSBwYXRpZW50IC0gZS5nLiAmcXVvdDt3aXRoIG1lYWxzJnF1b3Q7LCAmcXVvdDttYXkgY2F1c2UgZHJvd3NpbmVzcyZxdW90OyIgZGVmaW5pdGlvbj0iU3VwcGxlbWVudGFsIGluc3RydWN0aW9ucyB0byB0aGUgcGF0aWVudCBvbiBob3cgdG8gdGFrZSB0aGUgbWVkaWNhdGlvbiAgKGUuZy4gJnF1b3Q7d2l0aCBtZWFscyZxdW90OyBvciZxdW90O3Rha2UgaGFsZiB0byBvbmUgaG91ciBiZWZvcmUgZm9vZCZxdW90Oykgb3Igd2FybmluZ3MgZm9yIHRoZSBwYXRpZW50IGFib3V0IHRoZSBtZWRpY2F0aW9uIChlLmcuICZxdW90O21heSBjYXVzZSBkcm93c2luZXNzJnF1b3Q7IG9yICZxdW90O2F2b2lkIGV4cG9zdXJlIG9mIHNraW4gdG8gZGlyZWN0IHN1bmxpZ2h0IG9yIHN1bmxhbXBzJnF1b3Q7KS4iIGNvbW1lbnQ9IkluZm9ybWF0aW9uIGFib3V0IGFkbWluaXN0cmF0aW9uIG9yIHByZXBhcmF0aW9uIG9mIHRoZSBtZWRpY2F0aW9uIChlLmcuICZxdW90O2luZnVzZSBhcyByYXBpZGx5IGFzIHBvc3NpYmx5IHZpYSBpbnRyYXBlcml0b25lYWwgcG9ydCZxdW90OyBvciAmcXVvdDtpbW1lZGlhdGVseSBmb2xsb3dpbmcgZHJ1ZyB4JnF1b3Q7KSBzaG91bGQgYmUgcG9wdWxhdGVkIGluIGRvc2FnZS50ZXh0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJBZGRpdGlvbmFsSW5zdHJ1Y3Rpb24iIGRlc2NyaXB0aW9uPSJBIGNvZGVkIGNvbmNlcHQgaWRlbnRpZnlpbmcgYWRkaXRpb25hbCBpbnN0cnVjdGlvbnMgc3VjaCBhcyAmcXVvdDt0YWtlIHdpdGggd2F0ZXImcXVvdDsgb3IgJnF1b3Q7YXZvaWQgb3BlcmF0aW5nIGhlYXZ5IG1hY2hpbmVyeSZxdW90Oy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGF0aWVudEluc3RydWN0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQYXRpZW50IG9yIGNvbnN1bWVyIG9yaWVudGVkIGluc3RydWN0aW9ucyIgZGVmaW5pdGlvbj0iSW5zdHJ1Y3Rpb25zIGluIHRlcm1zIHRoYXQgYXJlIHVuZGVyc3Rvb2QgYnkgdGhlIHBhdGllbnQgb3IgY29uc3VtZXIuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InRpbWluZyIgZWxlbWVudFR5cGU9IlFJQ29yZS5UaW1pbmciIGRlc2NyaXB0aW9uPSJXaGVuIG1lZGljYXRpb24gc2hvdWxkIGJlIGFkbWluaXN0ZXJlZCIgZGVmaW5pdGlvbj0iV2hlbiBtZWRpY2F0aW9uIHNob3VsZCBiZSBhZG1pbmlzdGVyZWQuIiBjb21tZW50PSJUaGlzIGF0dHJpYnV0ZSBtaWdodCBub3QgYWx3YXlzIGJlIHBvcHVsYXRlZCB3aGlsZSB0aGUgRG9zYWdlLnRleHQgaXMgZXhwZWN0ZWQgdG8gYmUgcG9wdWxhdGVkLiAgSWYgYm90aCBhcmUgcG9wdWxhdGVkLCB0aGVuIHRoZSBEb3NhZ2UudGV4dCBzaG91bGQgcmVmbGVjdCB0aGUgY29udGVudCBvZiB0aGUgRG9zYWdlLnRpbWluZy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iYXNOZWVkZWQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGFrZSAmcXVvdDthcyBuZWVkZWQmcXVvdDsgKGZvciB4KSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdoZXRoZXIgdGhlIE1lZGljYXRpb24gaXMgb25seSB0YWtlbiB3aGVuIG5lZWRlZCB3aXRoaW4gYSBzcGVjaWZpYyBkb3Npbmcgc2NoZWR1bGUgKEJvb2xlYW4gb3B0aW9uKSwgb3IgaXQgaW5kaWNhdGVzIHRoZSBwcmVjb25kaXRpb24gZm9yIHRha2luZyB0aGUgTWVkaWNhdGlvbiAoQ29kZWFibGVDb25jZXB0KS4iIGNvbW1lbnQ9IkNhbiBleHByZXNzICZxdW90O2FzIG5lZWRlZCZxdW90OyB3aXRob3V0IGEgcmVhc29uIGJ5IHNldHRpbmcgdGhlIEJvb2xlYW4gPSBUcnVlLiAgSW4gdGhpcyBjYXNlIHRoZSBDb2RlYWJsZUNvbmNlcHQgaXMgbm90IHBvcHVsYXRlZC4gIE9yIHlvdSBjYW4gZXhwcmVzcyAmcXVvdDthcyBuZWVkZWQmcXVvdDsgd2l0aCBhIHJlYXNvbiBieSBpbmNsdWRpbmcgdGhlIENvZGVhYmxlQ29uY2VwdC4gIEluIHRoaXMgY2FzZSB0aGUgQm9vbGVhbiBpcyBhc3N1bWVkIHRvIGJlIFRydWUuICBJZiB5b3Ugc2V0IHRoZSBCb29sZWFuIHRvIEZhbHNlLCB0aGVuIHRoZSBkb3NlIGlzIGdpdmVuIGFjY29yZGluZyB0byB0aGUgc2NoZWR1bGUgYW5kIGlzIG5vdCAmcXVvdDtwcm4mcXVvdDsgb3IgJnF1b3Q7YXMgbmVlZGVkJnF1b3Q7LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkJvb2xlYW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uQXNOZWVkZWRSZWFzb24iIGRlc2NyaXB0aW9uPSJBIGNvZGVkIGNvbmNlcHQgaWRlbnRpZnlpbmcgdGhlIHByZWNvbmRpdGlvbiB0aGF0IHNob3VsZCBiZSBtZXQgb3IgZXZhbHVhdGVkIHByaW9yIHRvIGNvbnN1bWluZyBvciBhZG1pbmlzdGVyaW5nIGEgbWVkaWNhdGlvbiBkb3NlLiAgRm9yIGV4YW1wbGUgJnF1b3Q7cGFpbiZxdW90OywgJnF1b3Q7MzAgbWludXRlcyBwcmlvciB0byBzZXh1YWwgaW50ZXJjb3Vyc2UmcXVvdDssICZxdW90O29uIGZsYXJlLXVwJnF1b3Q7IGV0Yy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQm9keSBzaXRlIHRvIGFkbWluaXN0ZXIgdG8iIGRlZmluaXRpb249IkJvZHkgc2l0ZSB0byBhZG1pbmlzdGVyIHRvLiIgY29tbWVudD0iSWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIGF0dHJpYnV0ZXMgZnJvbSB0aGUgQm9keVNpdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb24gW2JvZHlTaXRlXShleHRlbnNpb24tYm9keXNpdGUuaHRtbCkuICBNYXkgYmUgYSBzdW1tYXJ5IGNvZGUsIG9yIGEgcmVmZXJlbmNlIHRvIGEgdmVyeSBwcmVjaXNlIGRlZmluaXRpb24gb2YgdGhlIGxvY2F0aW9uLCBvciBib3RoLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1lZGljYXRpb25BZG1pbmlzdHJhdGlvblNpdGUiIGRlc2NyaXB0aW9uPSJBIGNvZGVkIGNvbmNlcHQgZGVzY3JpYmluZyB0aGUgc2l0ZSBsb2NhdGlvbiB0aGUgbWVkaWNpbmUgZW50ZXJzIGludG8gb3Igb250byB0aGUgYm9keS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icm91dGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBkcnVnIHNob3VsZCBlbnRlciBib2R5IiBkZWZpbml0aW9uPSJIb3cgZHJ1ZyBzaG91bGQgZW50ZXIgYm9keS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJSb3V0ZU9mQWRtaW5pc3RyYXRpb24iIGRlc2NyaXB0aW9uPSJBIGNvZGVkIGNvbmNlcHQgZGVzY3JpYmluZyB0aGUgcm91dGUgb3IgcGh5c2lvbG9naWNhbCBwYXRoIG9mIGFkbWluaXN0cmF0aW9uIG9mIGEgdGhlcmFwZXV0aWMgYWdlbnQgaW50byBvciBvbnRvIHRoZSBib2R5IG9mIGEgc3ViamVjdC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibWV0aG9kIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUZWNobmlxdWUgZm9yIGFkbWluaXN0ZXJpbmcgbWVkaWNhdGlvbiIgZGVmaW5pdGlvbj0iVGVjaG5pcXVlIGZvciBhZG1pbmlzdGVyaW5nIG1lZGljYXRpb24uIiBjb21tZW50PSJUZXJtaW5vbG9naWVzIHVzZWQgb2Z0ZW4gcHJlLWNvb3JkaW5hdGUgdGhpcyB0ZXJtIHdpdGggdGhlIHJvdXRlIGFuZCBvciBmb3JtIG9mIGFkbWluaXN0cmF0aW9uLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1lZGljYXRpb25BZG1pbmlzdHJhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249IkEgY29kZWQgY29uY2VwdCBkZXNjcmliaW5nIHRoZSB0ZWNobmlxdWUgYnkgd2hpY2ggdGhlIG1lZGljaW5lIGlzIGFkbWluaXN0ZXJlZC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZG9zZUFuZFJhdGUiIGRlc2NyaXB0aW9uPSJBbW91bnQgb2YgbWVkaWNhdGlvbiBhZG1pbmlzdGVyZWQiIGRlZmluaXRpb249IlRoZSBhbW91bnQgb2YgbWVkaWNhdGlvbiBhZG1pbmlzdGVyZWQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuRG9zYWdlLkRvc2VBbmRSYXRlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtYXhEb3NlUGVyUGVyaW9kIiBlbGVtZW50VHlwZT0iU3lzdGVtLlJhdGlvIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUmF0aW8oJXZhbHVlKSIgZGVzY3JpcHRpb249IlVwcGVyIGxpbWl0IG9uIG1lZGljYXRpb24gcGVyIHVuaXQgb2YgdGltZSIgZGVmaW5pdGlvbj0iVXBwZXIgbGltaXQgb24gbWVkaWNhdGlvbiBwZXIgdW5pdCBvZiB0aW1lLiIgY29tbWVudD0iVGhpcyBpcyBpbnRlbmRlZCBmb3IgdXNlIGFzIGFuIGFkanVuY3QgdG8gdGhlIGRvc2FnZSB3aGVuIHRoZXJlIGlzIGFuIHVwcGVyIGNhcC4gIEZvciBleGFtcGxlICZxdW90OzIgdGFibGV0cyBldmVyeSA0IGhvdXJzIHRvIGEgbWF4aW11bSBvZiA4L2RheSZxdW90Oy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibWF4RG9zZVBlckFkbWluaXN0cmF0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IlVwcGVyIGxpbWl0IG9uIG1lZGljYXRpb24gcGVyIGFkbWluaXN0cmF0aW9uIiBkZWZpbml0aW9uPSJVcHBlciBsaW1pdCBvbiBtZWRpY2F0aW9uIHBlciBhZG1pbmlzdHJhdGlvbi4iIGNvbW1lbnQ9IlRoaXMgaXMgaW50ZW5kZWQgZm9yIHVzZSBhcyBhbiBhZGp1bmN0IHRvIHRoZSBkb3NhZ2Ugd2hlbiB0aGVyZSBpcyBhbiB1cHBlciBjYXAuICBGb3IgZXhhbXBsZSwgYSBib2R5IHN1cmZhY2UgYXJlYSByZWxhdGVkIGRvc2Ugd2l0aCBhIG1heGltdW0gYW1vdW50LCBzdWNoIGFzIDEuNSBtZy9tMiAobWF4aW11bSAyIG1nKSBJViBvdmVyIDUg4oCTIDEwIG1pbnV0ZXMgd291bGQgaGF2ZSBkb3NlUXVhbnRpdHkgb2YgMS41IG1nL20yIGFuZCBtYXhEb3NlUGVyQWRtaW5pc3RyYXRpb24gb2YgMiBtZy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibWF4RG9zZVBlckxpZmV0aW1lIiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IlVwcGVyIGxpbWl0IG9uIG1lZGljYXRpb24gcGVyIGxpZmV0aW1lIG9mIHRoZSBwYXRpZW50IiBkZWZpbml0aW9uPSJVcHBlciBsaW1pdCBvbiBtZWRpY2F0aW9uIHBlciBsaWZldGltZSBvZiB0aGUgcGF0aWVudC4iLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRvc2FnZS5Eb3NlQW5kUmF0ZSIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGhlIGtpbmQgb2YgZG9zZSBvciByYXRlIHNwZWNpZmllZCIgZGVmaW5pdGlvbj0iVGhlIGtpbmQgb2YgZG9zZSBvciByYXRlIHNwZWNpZmllZCwgZm9yIGV4YW1wbGUsIG9yZGVyZWQgb3IgY2FsY3VsYXRlZC4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJEb3NlQW5kUmF0ZVR5cGUiIGRlc2NyaXB0aW9uPSJUaGUga2luZCBvZiBkb3NlIG9yIHJhdGUgc3BlY2lmaWVkLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkb3NlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFtb3VudCBvZiBtZWRpY2F0aW9uIHBlciBkb3NlIiBkZWZpbml0aW9uPSJBbW91bnQgb2YgbWVkaWNhdGlvbiBwZXIgZG9zZS4iIGNvbW1lbnQ9Ik5vdGUgdGhhdCB0aGlzIHNwZWNpZmllcyB0aGUgcXVhbnRpdHkgb2YgdGhlIHNwZWNpZmllZCBtZWRpY2F0aW9uLCBub3QgdGhlIHF1YW50aXR5IGZvciBlYWNoIGFjdGl2ZSBpbmdyZWRpZW50KHMpLiBFYWNoIGluZ3JlZGllbnQgYW1vdW50IGNhbiBiZSBjb21tdW5pY2F0ZWQgaW4gdGhlIE1lZGljYXRpb24gcmVzb3VyY2UuIEZvciBleGFtcGxlLCBpZiBvbmUgd2FudHMgdG8gY29tbXVuaWNhdGUgdGhhdCBhIHRhYmxldCB3YXMgMzc1IG1nLCB3aGVyZSB0aGUgZG9zZSB3YXMgb25lIHRhYmxldCwgeW91IGNhbiB1c2UgdGhlIE1lZGljYXRpb24gcmVzb3VyY2UgdG8gZG9jdW1lbnQgdGhhdCB0aGUgdGFibGV0IHdhcyBjb21wcmlzZWQgb2YgMzc1IG1nIG9mIGRydWcgWFlaLiBBbHRlcm5hdGl2ZWx5IGlmIHRoZSBkb3NlIHdhcyAzNzUgbWcsIHRoZW4geW91IG1heSBvbmx5IG5lZWQgdG8gdXNlIHRoZSBNZWRpY2F0aW9uIHJlc291cmNlIHRvIGluZGljYXRlIHRoaXMgd2FzIGEgdGFibGV0LiBJZiB0aGUgZXhhbXBsZSB3ZXJlIGFuIElWIHN1Y2ggYXMgZG9wYW1pbmUgYW5kIHlvdSB3YW50ZWQgdG8gY29tbXVuaWNhdGUgdGhhdCA0MDBtZyBvZiBkb3BhbWluZSB3YXMgbWl4ZWQgaW4gNTAwIG1sIG9mIHNvbWUgSVYgc29sdXRpb24sIHRoZW4gdGhpcyB3b3VsZCBhbGwgYmUgY29tbXVuaWNhdGVkIGluIHRoZSBNZWRpY2F0aW9uIHJlc291cmNlLiBJZiB0aGUgYWRtaW5pc3RyYXRpb24gaXMgbm90IGludGVuZGVkIHRvIGJlIGluc3RhbnRhbmVvdXMgKHJhdGUgaXMgcHJlc2VudCBvciB0aW1pbmcgaGFzIGEgZHVyYXRpb24pLCB0aGlzIGNhbiBiZSBzcGVjaWZpZWQgdG8gY29udmV5IHRoZSB0b3RhbCBhbW91bnQgdG8gYmUgYWRtaW5pc3RlcmVkIG92ZXIgdGhlIHBlcmlvZCBvZiB0aW1lIGFzIGluZGljYXRlZCBieSB0aGUgc2NoZWR1bGUgZS5nLiA1MDAgbWwgaW4gZG9zZSwgd2l0aCB0aW1pbmcgdXNlZCB0byBjb252ZXkgdGhhdCB0aGlzIHNob3VsZCBiZSBkb25lIG92ZXIgNCBob3Vycy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyYXRlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFtb3VudCBvZiBtZWRpY2F0aW9uIHBlciB1bml0IG9mIHRpbWUiIGRlZmluaXRpb249IkFtb3VudCBvZiBtZWRpY2F0aW9uIHBlciB1bml0IG9mIHRpbWUuIiBjb21tZW50PSJJdCBpcyBwb3NzaWJsZSB0byBzdXBwbHkgYm90aCBhIHJhdGUgYW5kIGEgZG9zZVF1YW50aXR5IHRvIHByb3ZpZGUgZnVsbCBkZXRhaWxzIGFib3V0IGhvdyB0aGUgbWVkaWNhdGlvbiBpcyB0byBiZSBhZG1pbmlzdGVyZWQgYW5kIHN1cHBsaWVkLiBJZiB0aGUgcmF0ZSBpcyBpbnRlbmRlZCB0byBjaGFuZ2Ugb3ZlciB0aW1lLCBkZXBlbmRpbmcgb24gbG9jYWwgcnVsZXMvcmVndWxhdGlvbnMsIGVhY2ggY2hhbmdlIHNob3VsZCBiZSBjYXB0dXJlZCBhcyBhIG5ldyB2ZXJzaW9uIG9mIHRoZSBNZWRpY2F0aW9uUmVxdWVzdCB3aXRoIGFuIHVwZGF0ZWQgcmF0ZSwgb3IgY2FwdHVyZWQgd2l0aCBhIG5ldyBNZWRpY2F0aW9uUmVxdWVzdCB3aXRoIHRoZSBuZXcgcmF0ZS4mI3hkOyYjeGQ7SXQgaXMgcG9zc2libGUgdG8gc3BlY2lmeSBhIHJhdGUgb3ZlciB0aW1lIChmb3IgZXhhbXBsZSwgMTAwIG1sL2hvdXIpIHVzaW5nIGVpdGhlciB0aGUgcmF0ZVJhdGlvIGFuZCByYXRlUXVhbnRpdHkuICBUaGUgcmF0ZVF1YW50aXR5IGFwcHJvYWNoIHJlcXVpcmVzIHN5c3RlbXMgdG8gaGF2ZSB0aGUgY2FwYWJpbGl0eSB0byBwYXJzZSBVQ1VNIGdyYW1tZXIgd2hlcmUgbWwvaG91ciBpcyBpbmNsdWRlZCByYXRoZXIgdGhhbiBhIHNwZWNpZmljIHJhdGlvIHdoZXJlIHRoZSB0aW1lIGlzIHNwZWNpZmllZCBhcyB0aGUgZGVub21pbmF0b3IuICBXaGVyZSBhIHJhdGUgc3VjaCBhcyA1MDBtbCBvdmVyIDIgaG91cnMgaXMgc3BlY2lmaWVkLCB0aGUgdXNlIG9mIHJhdGVSYXRpbyBtYXkgYmUgbW9yZSBzZW1hbnRpY2FsbHkgY29ycmVjdCB0aGFuIHNwZWNpZnlpbmcgdXNpbmcgYSByYXRlUXVhbnRpdHkgb2YgMjUwIG1nL2hvdXIuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUmF0aW8iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uQW55IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRWxlbWVudCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0VsZW1lbnQiIGxhYmVsPSJFbGVtZW50IiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVW5pcXVlIGlkIGZvciBpbnRlci1lbGVtZW50IHJlZmVyZW5jaW5nIiBkZWZpbml0aW9uPSJVbmlxdWUgaWQgZm9yIHRoZSBlbGVtZW50IHdpdGhpbiBhIHJlc291cmNlIChmb3IgaW50ZXJuYWwgcmVmZXJlbmNlcykuIFRoaXMgbWF5IGJlIGFueSBzdHJpbmcgdmFsdWUgdGhhdCBkb2VzIG5vdCBjb250YWluIHNwYWNlcy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZXh0ZW5zaW9uIiBkZXNjcmlwdGlvbj0iQWRkaXRpb25hbCBjb250ZW50IGRlZmluZWQgYnkgaW1wbGVtZW50YXRpb25zIiBkZWZpbml0aW9uPSJNYXkgYmUgdXNlZCB0byByZXByZXNlbnQgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiB0aGF0IGlzIG5vdCBwYXJ0IG9mIHRoZSBiYXNpYyBkZWZpbml0aW9uIG9mIHRoZSBlbGVtZW50LiBUbyBtYWtlIHRoZSB1c2Ugb2YgZXh0ZW5zaW9ucyBzYWZlIGFuZCBtYW5hZ2VhYmxlLCB0aGVyZSBpcyBhIHN0cmljdCBzZXQgb2YgZ292ZXJuYW5jZSAgYXBwbGllZCB0byB0aGUgZGVmaW5pdGlvbiBhbmQgdXNlIG9mIGV4dGVuc2lvbnMuIFRob3VnaCBhbnkgaW1wbGVtZW50ZXIgY2FuIGRlZmluZSBhbiBleHRlbnNpb24sIHRoZXJlIGlzIGEgc2V0IG9mIHJlcXVpcmVtZW50cyB0aGF0IFNIQUxMIGJlIG1ldCBhcyBwYXJ0IG9mIHRoZSBkZWZpbml0aW9uIG9mIHRoZSBleHRlbnNpb24uIiBjb21tZW50PSJUaGVyZSBjYW4gYmUgbm8gc3RpZ21hIGFzc29jaWF0ZWQgd2l0aCB0aGUgdXNlIG9mIGV4dGVuc2lvbnMgYnkgYW55IGFwcGxpY2F0aW9uLCBwcm9qZWN0LCBvciBzdGFuZGFyZCAtIHJlZ2FyZGxlc3Mgb2YgdGhlIGluc3RpdHV0aW9uIG9yIGp1cmlzZGljdGlvbiB0aGF0IHVzZXMgb3IgZGVmaW5lcyB0aGUgZXh0ZW5zaW9ucy4gIFRoZSB1c2Ugb2YgZXh0ZW5zaW9ucyBpcyB3aGF0IGFsbG93cyB0aGUgRkhJUiBzcGVjaWZpY2F0aW9uIHRvIHJldGFpbiBhIGNvcmUgbGV2ZWwgb2Ygc2ltcGxpY2l0eSBmb3IgZXZlcnlvbmUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuRXh0ZW5zaW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJFbmFibGVXaGVuQmVoYXZpb3IiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkVuY291bnRlciIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtZW5jb3VudGVyIiBsYWJlbD0iUUlDb3JlIEVuY291bnRlciIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0idHlwZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVyKHMpIGJ5IHdoaWNoIHRoaXMgZW5jb3VudGVyIGlzIGtub3duIiBkZWZpbml0aW9uPSJJZGVudGlmaWVyKHMpIGJ5IHdoaWNoIHRoaXMgZW5jb3VudGVyIGlzIGtub3duLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRW5jb3VudGVyU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InBsYW5uZWQgfCBhcnJpdmVkIHwgdHJpYWdlZCB8IGluLXByb2dyZXNzIHwgb25sZWF2ZSB8IGZpbmlzaGVkIHwgY2FuY2VsbGVkICsiIGRlZmluaXRpb249InBsYW5uZWQgfCBhcnJpdmVkIHwgdHJpYWdlZCB8IGluLXByb2dyZXNzIHwgb25sZWF2ZSB8IGZpbmlzaGVkIHwgY2FuY2VsbGVkICsuIiBjb21tZW50PSJOb3RlIHRoYXQgaW50ZXJuYWwgYnVzaW5lc3MgcnVsZXMgd2lsbCBkZXRlcm1pbmUgdGhlIGFwcHJvcHJpYXRlIHRyYW5zaXRpb25zIHRoYXQgbWF5IG9jY3VyIGJldHdlZW4gc3RhdHVzZXMgKGFuZCBhbHNvIGNsYXNzZXMpLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJFbmNvdW50ZXJTdGF0dXMiIGRlc2NyaXB0aW9uPSJDdXJyZW50IHN0YXRlIG9mIHRoZSBlbmNvdW50ZXIuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXNIaXN0b3J5IiBkZXNjcmlwdGlvbj0iTGlzdCBvZiBwYXN0IGVuY291bnRlciBzdGF0dXNlcyIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBoaXN0b3J5IHBlcm1pdHMgdGhlIGVuY291bnRlciByZXNvdXJjZSB0byBjb250YWluIHRoZSBzdGF0dXMgaGlzdG9yeSB3aXRob3V0IG5lZWRpbmcgdG8gcmVhZCB0aHJvdWdoIHRoZSBoaXN0b3JpY2FsIHZlcnNpb25zIG9mIHRoZSByZXNvdXJjZSwgb3IgZXZlbiBoYXZlIHRoZSBzZXJ2ZXIgc3RvcmUgdGhlbS4iIGNvbW1lbnQ9IlRoZSBjdXJyZW50IHN0YXR1cyBpcyBhbHdheXMgZm91bmQgaW4gdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgcmVzb3VyY2UsIG5vdCB0aGUgc3RhdHVzIGhpc3RvcnkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuRW5jb3VudGVyLlN0YXR1c0hpc3RvcnkiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNsYXNzIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiBwYXRpZW50IGVuY291bnRlciIgZGVmaW5pdGlvbj0iQ29uY2VwdHMgcmVwcmVzZW50aW5nIGNsYXNzaWZpY2F0aW9uIG9mIHBhdGllbnQgZW5jb3VudGVyIHN1Y2ggYXMgYW1idWxhdG9yeSAob3V0cGF0aWVudCksIGlucGF0aWVudCwgZW1lcmdlbmN5LCBob21lIGhlYWx0aCBvciBvdGhlcnMgZHVlIHRvIGxvY2FsIHZhcmlhdGlvbnMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkVuY291bnRlckNsYXNzIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgdGhlIGVuY291bnRlci4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2xhc3NIaXN0b3J5IiBkZXNjcmlwdGlvbj0iTGlzdCBvZiBwYXN0IGVuY291bnRlciBjbGFzc2VzIiBkZWZpbml0aW9uPSJUaGUgY2xhc3MgaGlzdG9yeSBwZXJtaXRzIHRoZSB0cmFja2luZyBvZiB0aGUgZW5jb3VudGVycyB0cmFuc2l0aW9ucyB3aXRob3V0IG5lZWRpbmcgdG8gZ28gIHRocm91Z2ggdGhlIHJlc291cmNlIGhpc3RvcnkuICBUaGlzIHdvdWxkIGJlIHVzZWQgZm9yIGEgY2FzZSB3aGVyZSBhbiBhZG1pc3Npb24gc3RhcnRzIG9mIGFzIGFuIGVtZXJnZW5jeSBlbmNvdW50ZXIsIHRoZW4gdHJhbnNpdGlvbnMgaW50byBhbiBpbnBhdGllbnQgc2NlbmFyaW8uIERvaW5nIHRoaXMgYW5kIG5vdCByZXN0YXJ0aW5nIGEgbmV3IGVuY291bnRlciBlbnN1cmVzIHRoYXQgYW55IGxhYi9kaWFnbm9zdGljIHJlc3VsdHMgY2FuIG1vcmUgZWFzaWx5IGZvbGxvdyB0aGUgcGF0aWVudCBhbmQgbm90IHJlcXVpcmUgcmUtcHJvY2Vzc2luZyBhbmQgbm90IGdldCBsb3N0IG9yIGNhbmNlbGxlZCBkdXJpbmcgYSBraW5kIG9mIGRpc2NoYXJnZSBmcm9tIGVtZXJnZW5jeSB0byBpbnBhdGllbnQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuRW5jb3VudGVyLkNsYXNzSGlzdG9yeSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlNwZWNpZmljIHR5cGUgb2YgZW5jb3VudGVyIiBkZWZpbml0aW9uPSJTcGVjaWZpYyB0eXBlIG9mIGVuY291bnRlciAoZS5nLiBlLW1haWwgY29uc3VsdGF0aW9uLCBzdXJnaWNhbCBkYXktY2FyZSwgc2tpbGxlZCBudXJzaW5nLCByZWhhYmlsaXRhdGlvbikuIiBjb21tZW50PSJTaW5jZSB0aGVyZSBhcmUgbWFueSB3YXlzIHRvIGZ1cnRoZXIgY2xhc3NpZnkgZW5jb3VudGVycywgdGhpcyBlbGVtZW50IGlzIDAuLiouIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVmFsdWVzZXQgdG8gZGVzY3JpYmUgdGhlIEVuY291bnRlciBUeXBlIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InNlcnZpY2VUeXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJTcGVjaWZpYyB0eXBlIG9mIHNlcnZpY2UiIGRlZmluaXRpb249IkJyb2FkIGNhdGVnb3JpemF0aW9uIG9mIHRoZSBzZXJ2aWNlIHRoYXQgaXMgdG8gYmUgcHJvdmlkZWQgKGUuZy4gY2FyZGlvbG9neSkuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRW5jb3VudGVyU2VydmljZVR5cGUiIGRlc2NyaXB0aW9uPSJCcm9hZCBjYXRlZ29yaXphdGlvbiBvZiB0aGUgc2VydmljZSB0aGF0IGlzIHRvIGJlIHByb3ZpZGVkLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwcmlvcml0eSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSW5kaWNhdGVzIHRoZSB1cmdlbmN5IG9mIHRoZSBlbmNvdW50ZXIiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgdXJnZW5jeSBvZiB0aGUgZW5jb3VudGVyLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQSBjb2RlIG9yIHNldCBvZiBjb2RlcyAoZS5nLiwgZm9yIHJvdXRpbmUsIGVtZXJnZW5jeSwpIHNwZWNpZnlpbmcgdGhlIHVyZ2VuY3kgdW5kZXIgd2hpY2ggdGhlIEFjdCBoYXBwZW5lZCwgY2FuIGhhcHBlbiwgaXMgaGFwcGVuaW5nLCBpcyBpbnRlbmRlZCB0byBoYXBwZW4sIG9yIGlzIHJlcXVlc3RlZC9kZW1hbmRlZCB0byBoYXBwZW4uJiN4ZDsmI3hhOyYjeGQ7JiN4YTsqRGlzY3Vzc2lvbjoqIFRoaXMgYXR0cmlidXRlIGlzIHVzZWQgaW4gb3JkZXJzIHRvIGluZGljYXRlIHRoZSBvcmRlcmVkIHByaW9yaXR5LCBhbmQgaW4gZXZlbnQgZG9jdW1lbnRhdGlvbiBpdCBpbmRpY2F0ZXMgdGhlIGFjdHVhbCBwcmlvcml0eSB1c2VkIHRvIHBlcmZvcm0gdGhlIGFjdC4gSW4gZGVmaW5pdGlvbiBtb29kIGl0IGluZGljYXRlcyB0aGUgYXZhaWxhYmxlIHByaW9yaXRpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJUaGUgcGF0aWVudCBvciBncm91cCBwcmVzZW50IGF0IHRoZSBlbmNvdW50ZXIiIGRlZmluaXRpb249IlRoZSBwYXRpZW50IG9yIGdyb3VwIHByZXNlbnQgYXQgdGhlIGVuY291bnRlci4iIGNvbW1lbnQ9IldoaWxlIHRoZSBlbmNvdW50ZXIgaXMgYWx3YXlzIGFib3V0IHRoZSBwYXRpZW50LCB0aGUgcGF0aWVudCBtaWdodCBub3QgYWN0dWFsbHkgYmUga25vd24gaW4gYWxsIGNvbnRleHRzIG9mIHVzZSwgYW5kIHRoZXJlIG1heSBiZSBhIGdyb3VwIG9mIHBhdGllbnRzIHRoYXQgY291bGQgYmUgYW5vbnltb3VzIChzdWNoIGFzIGluIGEgZ3JvdXAgdGhlcmFweSBmb3IgQWxjb2hvbGljcyBBbm9ueW1vdXMgLSB3aGVyZSB0aGUgcmVjb3JkaW5nIG9mIHRoZSBlbmNvdW50ZXIgY291bGQgYmUgdXNlZCBmb3IgYmlsbGluZyBvbiB0aGUgbnVtYmVyIG9mIHBlb3BsZS9zdGFmZiBhbmQgbm90IGltcG9ydGFudCB0byB0aGUgY29udGV4dCBvZiB0aGUgc3BlY2lmaWMgcGF0aWVudHMpIG9yIGFsdGVybmF0ZWx5IGluIHZldGVyaW5hcnkgY2FyZSBhIGhlcmQgb2Ygc2hlZXAgcmVjZWl2aW5nIHRyZWF0bWVudCAod2hlcmUgdGhlIGFuaW1hbHMgYXJlIG5vdCBpbmRpdmlkdWFsbHkgdHJhY2tlZCkuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJlcGlzb2RlT2ZDYXJlIiBkZXNjcmlwdGlvbj0iRXBpc29kZShzKSBvZiBjYXJlIHRoYXQgdGhpcyBlbmNvdW50ZXIgc2hvdWxkIGJlIHJlY29yZGVkIGFnYWluc3QiIGRlZmluaXRpb249IldoZXJlIGEgc3BlY2lmaWMgZW5jb3VudGVyIHNob3VsZCBiZSBjbGFzc2lmaWVkIGFzIGEgcGFydCBvZiBhIHNwZWNpZmljIGVwaXNvZGUocykgb2YgY2FyZSB0aGlzIGZpZWxkIHNob3VsZCBiZSB1c2VkLiBUaGlzIGFzc29jaWF0aW9uIGNhbiBmYWNpbGl0YXRlIGdyb3VwaW5nIG9mIHJlbGF0ZWQgZW5jb3VudGVycyB0b2dldGhlciBmb3IgYSBzcGVjaWZpYyBwdXJwb3NlLCBzdWNoIGFzIGdvdmVybm1lbnQgcmVwb3J0aW5nLCBpc3N1ZSB0cmFja2luZywgYXNzb2NpYXRpb24gdmlhIGEgY29tbW9uIHByb2JsZW0uICBUaGUgYXNzb2NpYXRpb24gaXMgcmVjb3JkZWQgb24gdGhlIGVuY291bnRlciBhcyB0aGVzZSBhcmUgdHlwaWNhbGx5IGNyZWF0ZWQgYWZ0ZXIgdGhlIGVwaXNvZGUgb2YgY2FyZSBhbmQgZ3JvdXBlZCBvbiBlbnRyeSByYXRoZXIgdGhhbiBlZGl0aW5nIHRoZSBlcGlzb2RlIG9mIGNhcmUgdG8gYXBwZW5kIGFub3RoZXIgZW5jb3VudGVyIHRvIGl0ICh0aGUgZXBpc29kZSBvZiBjYXJlIGNvdWxkIHNwYW4geWVhcnMpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IlRoZSBTZXJ2aWNlUmVxdWVzdCB0aGF0IGluaXRpYXRlZCB0aGlzIGVuY291bnRlciIgZGVmaW5pdGlvbj0iVGhlIHJlcXVlc3QgdGhpcyBlbmNvdW50ZXIgc2F0aXNmaWVzIChlLmcuIGluY29taW5nIHJlZmVycmFsIG9yIHByb2NlZHVyZSByZXF1ZXN0KS4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGFydGljaXBhbnQiIGRlc2NyaXB0aW9uPSJMaXN0IG9mIHBhcnRpY2lwYW50cyBpbnZvbHZlZCBpbiB0aGUgZW5jb3VudGVyIiBkZWZpbml0aW9uPSJUaGUgbGlzdCBvZiBwZW9wbGUgcmVzcG9uc2libGUgZm9yIHByb3ZpZGluZyB0aGUgc2VydmljZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuRW5jb3VudGVyLlBhcnRpY2lwYW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhcHBvaW50bWVudCIgZGVzY3JpcHRpb249IlRoZSBhcHBvaW50bWVudCB0aGF0IHNjaGVkdWxlZCB0aGlzIGVuY291bnRlciIgZGVmaW5pdGlvbj0iVGhlIGFwcG9pbnRtZW50IHRoYXQgc2NoZWR1bGVkIHRoaXMgZW5jb3VudGVyLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyaW9kIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRoZSBzdGFydCBhbmQgZW5kIHRpbWUgb2YgdGhlIGVuY291bnRlciIgZGVmaW5pdGlvbj0iVGhlIHN0YXJ0IGFuZCBlbmQgdGltZSBvZiB0aGUgZW5jb3VudGVyLiIgY29tbWVudD0iSWYgbm90ICh5ZXQpIGtub3duLCB0aGUgZW5kIG9mIHRoZSBQZXJpb2QgbWF5IGJlIG9taXR0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJsZW5ndGgiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUXVhbnRpdHkgb2YgdGltZSB0aGUgZW5jb3VudGVyIGxhc3RlZCAobGVzcyB0aW1lIGFic2VudCkiIGRlZmluaXRpb249IlF1YW50aXR5IG9mIHRpbWUgdGhlIGVuY291bnRlciBsYXN0ZWQuIFRoaXMgZXhjbHVkZXMgdGhlIHRpbWUgZHVyaW5nIGxlYXZlcyBvZiBhYnNlbmNlLiIgY29tbWVudD0iTWF5IGRpZmZlciBmcm9tIHRoZSB0aW1lIHRoZSBFbmNvdW50ZXIucGVyaW9kIGxhc3RlZCBiZWNhdXNlIG9mIGxlYXZlIG9mIGFic2VuY2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ29kZWQgcmVhc29uIHRoZSBlbmNvdW50ZXIgdGFrZXMgcGxhY2UiIGRlZmluaXRpb249IlJlYXNvbiB0aGUgZW5jb3VudGVyIHRha2VzIHBsYWNlLCBleHByZXNzZWQgYXMgYSBjb2RlLiBGb3IgYWRtaXNzaW9ucywgdGhpcyBjYW4gYmUgdXNlZCBmb3IgYSBjb2RlZCBhZG1pc3Npb24gZGlhZ25vc2lzLiIgY29tbWVudD0iRm9yIHN5c3RlbXMgdGhhdCBuZWVkIHRvIGtub3cgd2hpY2ggd2FzIHRoZSBwcmltYXJ5IGRpYWdub3NpcywgdGhlc2Ugd2lsbCBiZSBtYXJrZWQgd2l0aCB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIHByaW1hcnlEaWFnbm9zaXMgKHdoaWNoIGlzIGEgc2VxdWVuY2UgdmFsdWUgcmF0aGVyIHRoYW4gYSBmbGFnLCAxID0gcHJpbWFyeSBkaWFnbm9zaXMpLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRW5jb3VudGVyUmVhc29uIiBkZXNjcmlwdGlvbj0iUmVhc29uIHdoeSB0aGUgZW5jb3VudGVyIHRha2VzIHBsYWNlLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvblJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlJlYXNvbiB0aGUgZW5jb3VudGVyIHRha2VzIHBsYWNlIChyZWZlcmVuY2UpIiBkZWZpbml0aW9uPSJSZWFzb24gdGhlIGVuY291bnRlciB0YWtlcyBwbGFjZSwgZXhwcmVzc2VkIGFzIGEgY29kZS4gRm9yIGFkbWlzc2lvbnMsIHRoaXMgY2FuIGJlIHVzZWQgZm9yIGEgY29kZWQgYWRtaXNzaW9uIGRpYWdub3Npcy4iIGNvbW1lbnQ9IkZvciBzeXN0ZW1zIHRoYXQgbmVlZCB0byBrbm93IHdoaWNoIHdhcyB0aGUgcHJpbWFyeSBkaWFnbm9zaXMsIHRoZXNlIHdpbGwgYmUgbWFya2VkIHdpdGggdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBwcmltYXJ5RGlhZ25vc2lzICh3aGljaCBpcyBhIHNlcXVlbmNlIHZhbHVlIHJhdGhlciB0aGFuIGEgZmxhZywgMSA9IHByaW1hcnkgZGlhZ25vc2lzKS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkaWFnbm9zaXMiIGRlc2NyaXB0aW9uPSJUaGUgbGlzdCBvZiBkaWFnbm9zaXMgcmVsZXZhbnQgdG8gdGhpcyBlbmNvdW50ZXIiIGRlZmluaXRpb249IlRoZSBsaXN0IG9mIGRpYWdub3NpcyByZWxldmFudCB0byB0aGlzIGVuY291bnRlci4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuRW5jb3VudGVyLkRpYWdub3NpcyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYWNjb3VudCIgZGVzY3JpcHRpb249IlRoZSBzZXQgb2YgYWNjb3VudHMgdGhhdCBtYXkgYmUgdXNlZCBmb3IgYmlsbGluZyBmb3IgdGhpcyBFbmNvdW50ZXIiIGRlZmluaXRpb249IlRoZSBzZXQgb2YgYWNjb3VudHMgdGhhdCBtYXkgYmUgdXNlZCBmb3IgYmlsbGluZyBmb3IgdGhpcyBFbmNvdW50ZXIuIiBjb21tZW50PSJUaGUgYmlsbGluZyBzeXN0ZW0gbWF5IGNob29zZSB0byBhbGxvY2F0ZSBiaWxsYWJsZSBpdGVtcyBhc3NvY2lhdGVkIHdpdGggdGhlIEVuY291bnRlciB0byBkaWZmZXJlbnQgcmVmZXJlbmNlZCBBY2NvdW50cyBiYXNlZCBvbiBpbnRlcm5hbCBidXNpbmVzcyBydWxlcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imhvc3BpdGFsaXphdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5FbmNvdW50ZXIuSG9zcGl0YWxpemF0aW9uIiBkZXNjcmlwdGlvbj0iRGV0YWlscyBhYm91dCB0aGUgYWRtaXNzaW9uIHRvIGEgaGVhbHRoY2FyZSBzZXJ2aWNlIiBkZWZpbml0aW9uPSJEZXRhaWxzIGFib3V0IHRoZSBhZG1pc3Npb24gdG8gYSBoZWFsdGhjYXJlIHNlcnZpY2UuIiBjb21tZW50PSJBbiBFbmNvdW50ZXIgbWF5IGNvdmVyIG1vcmUgdGhhbiBqdXN0IHRoZSBpbnBhdGllbnQgc3RheS4gQ29udGV4dHMgc3VjaCBhcyBvdXRwYXRpZW50cywgY29tbXVuaXR5IGNsaW5pY3MsIGFuZCBhZ2VkIGNhcmUgZmFjaWxpdGllcyBhcmUgYWxzbyBpbmNsdWRlZC4mI3hkOyYjeGQ7VGhlIGR1cmF0aW9uIHJlY29yZGVkIGluIHRoZSBwZXJpb2Qgb2YgdGhpcyBlbmNvdW50ZXIgY292ZXJzIHRoZSBlbnRpcmUgc2NvcGUgb2YgdGhpcyBob3NwaXRhbGl6YXRpb24gcmVjb3JkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibG9jYXRpb24iIGRlc2NyaXB0aW9uPSJMaXN0IG9mIGxvY2F0aW9ucyB3aGVyZSB0aGUgcGF0aWVudCBoYXMgYmVlbiIgZGVmaW5pdGlvbj0iTGlzdCBvZiBsb2NhdGlvbnMgd2hlcmUgIHRoZSBwYXRpZW50IGhhcyBiZWVuIGR1cmluZyB0aGlzIGVuY291bnRlci4iIGNvbW1lbnQ9IlZpcnR1YWwgZW5jb3VudGVycyBjYW4gYmUgcmVjb3JkZWQgaW4gdGhlIEVuY291bnRlciBieSBzcGVjaWZ5aW5nIGEgbG9jYXRpb24gcmVmZXJlbmNlIHRvIGEgbG9jYXRpb24gb2YgdHlwZSAmcXVvdDtraW5kJnF1b3Q7IHN1Y2ggYXMgJnF1b3Q7Y2xpZW50J3MgaG9tZSZxdW90OyBhbmQgYW4gZW5jb3VudGVyLmNsYXNzID0gJnF1b3Q7dmlydHVhbCZxdW90Oy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuRW5jb3VudGVyLkxvY2F0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzZXJ2aWNlUHJvdmlkZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iVGhlIG9yZ2FuaXphdGlvbiAoZmFjaWxpdHkpIHJlc3BvbnNpYmxlIGZvciB0aGlzIGVuY291bnRlciIgZGVmaW5pdGlvbj0iVGhlIG9yZ2FuaXphdGlvbiB0aGF0IGlzIHByaW1hcmlseSByZXNwb25zaWJsZSBmb3IgdGhpcyBFbmNvdW50ZXIncyBzZXJ2aWNlcy4gVGhpcyBNQVkgYmUgdGhlIHNhbWUgYXMgdGhlIG9yZ2FuaXphdGlvbiBvbiB0aGUgUGF0aWVudCByZWNvcmQsIGhvd2V2ZXIgaXQgY291bGQgYmUgZGlmZmVyZW50LCBzdWNoIGFzIGlmIHRoZSBhY3RvciBwZXJmb3JtaW5nIHRoZSBzZXJ2aWNlcyB3YXMgZnJvbSBhbiBleHRlcm5hbCBvcmdhbml6YXRpb24gKHdoaWNoIG1heSBiZSBiaWxsZWQgc2VwZXJhdGVseSkgZm9yIGFuIGV4dGVybmFsIGNvbnN1bHRhdGlvbi4gIFJlZmVyIHRvIHRoZSBleGFtcGxlIGJ1bmRsZSBzaG93aW5nIGFuIGFiYnJldmlhdGVkIHNldCBvZiBFbmNvdW50ZXJzIGZvciBhIGNvbG9ub3Njb3B5LiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkFub3RoZXIgRW5jb3VudGVyIHRoaXMgZW5jb3VudGVyIGlzIHBhcnQgb2YiIGRlZmluaXRpb249IkFub3RoZXIgRW5jb3VudGVyIG9mIHdoaWNoIHRoaXMgZW5jb3VudGVyIGlzIGEgcGFydCBvZiAoYWRtaW5pc3RyYXRpdmVseSBvciBpbiB0aW1lKS4iIGNvbW1lbnQ9IlRoaXMgaXMgYWxzbyB1c2VkIGZvciBhc3NvY2lhdGluZyBhIGNoaWxkJ3MgZW5jb3VudGVyIGJhY2sgdG8gdGhlIG1vdGhlcidzIGVuY291bnRlci4mI3hkOyYjeGQ7UmVmZXIgdG8gdGhlIE5vdGVzIHNlY3Rpb24gaW4gdGhlIFBhdGllbnQgcmVzb3VyY2UgZm9yIGZ1cnRoZXIgZGV0YWlscy4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJ3aGVyZShyZXNvbHZlKCkgaXMgUHJhY3RpdGlvbmVyKSIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJpbmRpdmlkdWFsIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJwYXRpZW50Ii8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlJlbGF0ZWRQZXJzb24iIHJlbGF0ZWRLZXlFbGVtZW50PSJpbmRpdmlkdWFsIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkVuY291bnRlci5DbGFzc0hpc3RvcnkiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNsYXNzIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJpbnBhdGllbnQgfCBvdXRwYXRpZW50IHwgYW1idWxhdG9yeSB8IGVtZXJnZW5jeSArIiBkZWZpbml0aW9uPSJpbnBhdGllbnQgfCBvdXRwYXRpZW50IHwgYW1idWxhdG9yeSB8IGVtZXJnZW5jeSArLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkVuY291bnRlckNsYXNzIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgdGhlIGVuY291bnRlci4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyaW9kIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRoZSB0aW1lIHRoYXQgdGhlIGVwaXNvZGUgd2FzIGluIHRoZSBzcGVjaWZpZWQgY2xhc3MiIGRlZmluaXRpb249IlRoZSB0aW1lIHRoYXQgdGhlIGVwaXNvZGUgd2FzIGluIHRoZSBzcGVjaWZpZWQgY2xhc3MuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkVuY291bnRlci5EaWFnbm9zaXMiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbmRpdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJUaGUgZGlhZ25vc2lzIG9yIHByb2NlZHVyZSByZWxldmFudCB0byB0aGUgZW5jb3VudGVyIiBkZWZpbml0aW9uPSJSZWFzb24gdGhlIGVuY291bnRlciB0YWtlcyBwbGFjZSwgYXMgc3BlY2lmaWVkIHVzaW5nIGluZm9ybWF0aW9uIGZyb20gYW5vdGhlciByZXNvdXJjZS4gRm9yIGFkbWlzc2lvbnMsIHRoaXMgaXMgdGhlIGFkbWlzc2lvbiBkaWFnbm9zaXMuIFRoZSBpbmRpY2F0aW9uIHdpbGwgdHlwaWNhbGx5IGJlIGEgQ29uZGl0aW9uICh3aXRoIG90aGVyIHJlc291cmNlcyByZWZlcmVuY2VkIGluIHRoZSBldmlkZW5jZS5kZXRhaWwpLCBvciBhIFByb2NlZHVyZS4iIGNvbW1lbnQ9IkZvciBzeXN0ZW1zIHRoYXQgbmVlZCB0byBrbm93IHdoaWNoIHdhcyB0aGUgcHJpbWFyeSBkaWFnbm9zaXMsIHRoZXNlIHdpbGwgYmUgbWFya2VkIHdpdGggdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBwcmltYXJ5RGlhZ25vc2lzICh3aGljaCBpcyBhIHNlcXVlbmNlIHZhbHVlIHJhdGhlciB0aGFuIGEgZmxhZywgMSA9IHByaW1hcnkgZGlhZ25vc2lzKS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InVzZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUm9sZSB0aGF0IHRoaXMgZGlhZ25vc2lzIGhhcyB3aXRoaW4gdGhlIGVuY291bnRlciAoZS5nLiBhZG1pc3Npb24sIGJpbGxpbmcsIGRpc2NoYXJnZSDigKYpIiBkZWZpbml0aW9uPSJSb2xlIHRoYXQgdGhpcyBkaWFnbm9zaXMgaGFzIHdpdGhpbiB0aGUgZW5jb3VudGVyIChlLmcuIGFkbWlzc2lvbiwgYmlsbGluZywgZGlzY2hhcmdlIOKApikuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkRpYWdub3Npc1JvbGUiIGRlc2NyaXB0aW9uPSJUaGUgdHlwZSBvZiBkaWFnbm9zaXMgdGhpcyBjb25kaXRpb24gcmVwcmVzZW50cy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyYW5rIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUmFua2luZyBvZiB0aGUgZGlhZ25vc2lzIChmb3IgZWFjaCByb2xlIHR5cGUpIiBkZWZpbml0aW9uPSJSYW5raW5nIG9mIHRoZSBkaWFnbm9zaXMgKGZvciBlYWNoIHJvbGUgdHlwZSkuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkaWFnbm9zaXNQcmVzZW50T25BZG1pc3Npb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuRGlhZ25vc2lzUHJlc2VudE9uQWRtaXNzaW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCglcGFyZW50LmRpYWdub3Npcy5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1lbmNvdW50ZXItZGlhZ25vc2lzUHJlc2VudE9uQWRtaXNzaW9uJ10udmFsdWUpIiBkZXNjcmlwdGlvbj0ib25BZG1pc3Npb24iIGRlZmluaXRpb249IkluZGljYXRvciBvZiB3aGV0aGVyIHRoZSBFbmNvdW50ZXIgZGlhZ25vc2lzIHdhcyBwcmVzZW50IGF0IHRoZSB0aW1lIG9mIGFkbWlzc2lvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkVuY291bnRlci5Ib3NwaXRhbGl6YXRpb24iIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InByZUFkbWlzc2lvbklkZW50aWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgZGVzY3JpcHRpb249IlByZS1hZG1pc3Npb24gaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iUHJlLWFkbWlzc2lvbiBpZGVudGlmaWVyLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJvcmlnaW4iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iVGhlIGxvY2F0aW9uL29yZ2FuaXphdGlvbiBmcm9tIHdoaWNoIHRoZSBwYXRpZW50IGNhbWUgYmVmb3JlIGFkbWlzc2lvbiIgZGVmaW5pdGlvbj0iVGhlIGxvY2F0aW9uL29yZ2FuaXphdGlvbiBmcm9tIHdoaWNoIHRoZSBwYXRpZW50IGNhbWUgYmVmb3JlIGFkbWlzc2lvbi4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJhZG1pdFNvdXJjZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRnJvbSB3aGVyZSBwYXRpZW50IHdhcyBhZG1pdHRlZCAocGh5c2ljaWFuIHJlZmVycmFsLCB0cmFuc2ZlcikiIGRlZmluaXRpb249IkZyb20gd2hlcmUgcGF0aWVudCB3YXMgYWRtaXR0ZWQgKHBoeXNpY2lhbiByZWZlcnJhbCwgdHJhbnNmZXIpLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJBZG1pdFNvdXJjZSIgZGVzY3JpcHRpb249IkZyb20gd2hlcmUgdGhlIHBhdGllbnQgd2FzIGFkbWl0dGVkLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlQWRtaXNzaW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgdHlwZSBvZiBob3NwaXRhbCByZS1hZG1pc3Npb24gdGhhdCBoYXMgb2NjdXJyZWQgKGlmIGFueSkuIElmIHRoZSB2YWx1ZSBpcyBhYnNlbnQsIHRoZW4gdGhpcyBpcyBub3QgaWRlbnRpZmllZCBhcyBhIHJlYWRtaXNzaW9uIiBkZWZpbml0aW9uPSJXaGV0aGVyIHRoaXMgaG9zcGl0YWxpemF0aW9uIGlzIGEgcmVhZG1pc3Npb24gYW5kIHdoeSBpZiBrbm93bi4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUmVBZG1pc3Npb25UeXBlIiBkZXNjcmlwdGlvbj0iVGhlIHJlYXNvbiBmb3IgcmUtYWRtaXNzaW9uIG9mIHRoaXMgaG9zcGl0YWxpemF0aW9uIGVuY291bnRlci4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGlldFByZWZlcmVuY2UiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJEaWV0IHByZWZlcmVuY2VzIHJlcG9ydGVkIGJ5IHRoZSBwYXRpZW50IiBkZWZpbml0aW9uPSJEaWV0IHByZWZlcmVuY2VzIHJlcG9ydGVkIGJ5IHRoZSBwYXRpZW50LiIgY29tbWVudD0iRm9yIGV4YW1wbGUsIGEgcGF0aWVudCBtYXkgcmVxdWVzdCBib3RoIGEgZGFpcnktZnJlZSBhbmQgbnV0LWZyZWUgZGlldCBwcmVmZXJlbmNlIChub3QgbXV0dWFsbHkgZXhjbHVzaXZlKS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUGF0aWVudERpZXQiIGRlc2NyaXB0aW9uPSJNZWRpY2FsLCBjdWx0dXJhbCBvciBldGhpY2FsIGZvb2QgcHJlZmVyZW5jZXMgdG8gaGVscCB3aXRoIGNhdGVyaW5nIHJlcXVpcmVtZW50cy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3BlY2lhbENvdXJ0ZXN5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU3BlY2lhbCBjb3VydGVzaWVzIChWSVAsIGJvYXJkIG1lbWJlcikiIGRlZmluaXRpb249IlNwZWNpYWwgY291cnRlc2llcyAoVklQLCBib2FyZCBtZW1iZXIpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJDb3VydGVzaWVzIiBkZXNjcmlwdGlvbj0iU3BlY2lhbCBjb3VydGVzaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpYWxBcnJhbmdlbWVudCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoZWVsY2hhaXIsIHRyYW5zbGF0b3IsIHN0cmV0Y2hlciwgZXRjLiIgZGVmaW5pdGlvbj0iQW55IHNwZWNpYWwgcmVxdWVzdHMgdGhhdCBoYXZlIGJlZW4gbWFkZSBmb3IgdGhpcyBob3NwaXRhbGl6YXRpb24gZW5jb3VudGVyLCBzdWNoIGFzIHRoZSBwcm92aXNpb24gb2Ygc3BlY2lmaWMgZXF1aXBtZW50IG9yIG90aGVyIHRoaW5ncy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQXJyYW5nZW1lbnRzIiBkZXNjcmlwdGlvbj0iU3BlY2lhbCBhcnJhbmdlbWVudHMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVzdGluYXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iTG9jYXRpb24vb3JnYW5pemF0aW9uIHRvIHdoaWNoIHRoZSBwYXRpZW50IGlzIGRpc2NoYXJnZWQiIGRlZmluaXRpb249IkxvY2F0aW9uL29yZ2FuaXphdGlvbiB0byB3aGljaCB0aGUgcGF0aWVudCBpcyBkaXNjaGFyZ2VkLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDYXRlZ29yeSBvciBraW5kIG9mIGxvY2F0aW9uIGFmdGVyIGRpc2NoYXJnZSIgZGVmaW5pdGlvbj0iQ2F0ZWdvcnkgb3Iga2luZCBvZiBsb2NhdGlvbiBhZnRlciBkaXNjaGFyZ2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRW5jb3VudGVyLkxvY2F0aW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJMb2NhdGlvbiB0aGUgZW5jb3VudGVyIHRha2VzIHBsYWNlIiBkZWZpbml0aW9uPSJUaGUgbG9jYXRpb24gd2hlcmUgdGhlIGVuY291bnRlciB0YWtlcyBwbGFjZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5FbmNvdW50ZXJMb2NhdGlvblN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJwbGFubmVkIHwgYWN0aXZlIHwgcmVzZXJ2ZWQgfCBjb21wbGV0ZWQiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHBhcnRpY2lwYW50cycgcHJlc2VuY2UgYXQgdGhlIHNwZWNpZmllZCBsb2NhdGlvbiBkdXJpbmcgdGhlIHBlcmlvZCBzcGVjaWZpZWQuIElmIHRoZSBwYXJ0aWNpcGFudCBpcyBubyBsb25nZXIgYXQgdGhlIGxvY2F0aW9uLCB0aGVuIHRoZSBwZXJpb2Qgd2lsbCBoYXZlIGFuIGVuZCBkYXRlL3RpbWUuIiBjb21tZW50PSJXaGVuIHRoZSBwYXRpZW50IGlzIG5vIGxvbmdlciBhY3RpdmUgYXQgYSBsb2NhdGlvbiwgdGhlbiB0aGUgcGVyaW9kIGVuZCBkYXRlIGlzIGVudGVyZWQsIGFuZCB0aGUgc3RhdHVzIG1heSBiZSBjaGFuZ2VkIHRvIGNvbXBsZXRlZC4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJFbmNvdW50ZXJMb2NhdGlvblN0YXR1cyIgZGVzY3JpcHRpb249IlRoZSBzdGF0dXMgb2YgdGhlIGxvY2F0aW9uLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGh5c2ljYWxUeXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgcGh5c2ljYWwgdHlwZSBvZiB0aGUgbG9jYXRpb24gKHVzdWFsbHkgdGhlIGxldmVsIGluIHRoZSBsb2NhdGlvbiBoaWVyYWNoeSAtIGJlZCByb29tIHdhcmQgZXRjLikiIGRlZmluaXRpb249IlRoaXMgd2lsbCBiZSB1c2VkIHRvIHNwZWNpZnkgdGhlIHJlcXVpcmVkIGxldmVscyAoYmVkL3dhcmQvcm9vbS9ldGMuKSBkZXNpcmVkIHRvIGJlIHJlY29yZGVkIHRvIHNpbXBsaWZ5IGVpdGhlciBtZXNzYWdpbmcgb3IgcXVlcnkuIiBjb21tZW50PSJUaGlzIGluZm9ybWF0aW9uIGlzIGRlLW5vcm1hbGl6ZWQgZnJvbSB0aGUgTG9jYXRpb24gcmVzb3VyY2UgdG8gc3VwcG9ydCB0aGUgZWFzaWVyIHVuZGVyc3RhbmRpbmcgb2YgdGhlIGVuY291bnRlciByZXNvdXJjZSBhbmQgcHJvY2Vzc2luZyBpbiBtZXNzYWdpbmcgb3IgcXVlcnkuJiN4YTsmI3hhO1RoZXJlIG1heSBiZSBtYW55IGxldmVscyBpbiB0aGUgaGllcmFjaHksIGFuZCB0aGlzIG1heSBvbmx5IHBpYyBzcGVjaWZpYyBsZXZlbHMgdGhhdCBhcmUgcmVxdWlyZWQgZm9yIGEgc3BlY2lmaWMgdXNhZ2Ugc2NlbmFyaW8uIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUGh5c2ljYWxUeXBlIiBkZXNjcmlwdGlvbj0iUGh5c2ljYWwgZm9ybSBvZiB0aGUgbG9jYXRpb24uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaW1lIHBlcmlvZCBkdXJpbmcgd2hpY2ggdGhlIHBhdGllbnQgd2FzIHByZXNlbnQgYXQgdGhlIGxvY2F0aW9uIiBkZWZpbml0aW9uPSJUaW1lIHBlcmlvZCBkdXJpbmcgd2hpY2ggdGhlIHBhdGllbnQgd2FzIHByZXNlbnQgYXQgdGhlIGxvY2F0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRW5jb3VudGVyLlBhcnRpY2lwYW50IiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUm9sZSBvZiBwYXJ0aWNpcGFudCBpbiBlbmNvdW50ZXIiIGRlZmluaXRpb249IlJvbGUgb2YgcGFydGljaXBhbnQgaW4gZW5jb3VudGVyLiIgY29tbWVudD0iVGhlIHBhcnRpY2lwYW50IHR5cGUgaW5kaWNhdGVzIGhvdyBhbiBpbmRpdmlkdWFsIHBhcnRpY2lwYXRlcyBpbiBhbiBlbmNvdW50ZXIuIEl0IGluY2x1ZGVzIG5vbi1wcmFjdGl0aW9uZXIgcGFydGljaXBhbnRzLCBhbmQgZm9yIHByYWN0aXRpb25lcnMgdGhpcyBpcyB0byBkZXNjcmliZSB0aGUgYWN0aW9uIHR5cGUgaW4gdGhlIGNvbnRleHQgb2YgdGhpcyBlbmNvdW50ZXIgKGUuZy4gQWRtaXR0aW5nIERyLCBBdHRlbmRpbmcgRHIsIFRyYW5zbGF0b3IsIENvbnN1bHRpbmcgRHIpLiBUaGlzIGlzIGRpZmZlcmVudCB0byB0aGUgcHJhY3RpdGlvbmVyIHJvbGVzIHdoaWNoIGFyZSBmdW5jdGlvbmFsIHJvbGVzLCBkZXJpdmVkIGZyb20gdGVybXMgb2YgZW1wbG95bWVudCwgZWR1Y2F0aW9uLCBsaWNlbnNpbmcsIGV0Yy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlBhcnRpY2lwYW50VHlwZSIgZGVzY3JpcHRpb249IlJvbGUgb2YgcGFydGljaXBhbnQgaW4gZW5jb3VudGVyLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwZXJpb2QiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUGVyaW9kIG9mIHRpbWUgZHVyaW5nIHRoZSBlbmNvdW50ZXIgdGhhdCB0aGUgcGFydGljaXBhbnQgcGFydGljaXBhdGVkIiBkZWZpbml0aW9uPSJUaGUgcGVyaW9kIG9mIHRpbWUgdGhhdCB0aGUgc3BlY2lmaWVkIHBhcnRpY2lwYW50IHBhcnRpY2lwYXRlZCBpbiB0aGUgZW5jb3VudGVyLiBUaGVzZSBjYW4gb3ZlcmxhcCBvciBiZSBzdWItc2V0cyBvZiB0aGUgb3ZlcmFsbCBlbmNvdW50ZXIncyBwZXJpb2QuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbmRpdmlkdWFsIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlBlcnNvbnMgaW52b2x2ZWQgaW4gdGhlIGVuY291bnRlciBvdGhlciB0aGFuIHRoZSBwYXRpZW50IiBkZWZpbml0aW9uPSJQZXJzb25zIGludm9sdmVkIGluIHRoZSBlbmNvdW50ZXIgb3RoZXIgdGhhbiB0aGUgcGF0aWVudC4iIGNvbW1lbnQ9IlNob3VsZCBpbmNsdWRlIFFJQ29yZS1SZWxhdGVkUGVyc29uIGFzIGEgcG9zc2libGUgcGFydGljaXBhbnQsIGJ1dCBVU0NvcmUtRW5jb3VudGVyIG9ubHkgYWxsb3dzIFVTQ29yZS1QcmFjdGl0aW9uZXIuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJFbmNvdW50ZXIuU3RhdHVzSGlzdG9yeSIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLkVuY291bnRlclN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJwbGFubmVkIHwgYXJyaXZlZCB8IHRyaWFnZWQgfCBpbi1wcm9ncmVzcyB8IG9ubGVhdmUgfCBmaW5pc2hlZCB8IGNhbmNlbGxlZCArIiBkZWZpbml0aW9uPSJwbGFubmVkIHwgYXJyaXZlZCB8IHRyaWFnZWQgfCBpbi1wcm9ncmVzcyB8IG9ubGVhdmUgfCBmaW5pc2hlZCB8IGNhbmNlbGxlZCArLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkVuY291bnRlclN0YXR1cyIgZGVzY3JpcHRpb249IkN1cnJlbnQgc3RhdGUgb2YgdGhlIGVuY291bnRlci4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgdGltZSB0aGF0IHRoZSBlcGlzb2RlIHdhcyBpbiB0aGUgc3BlY2lmaWVkIHN0YXR1cyIgZGVmaW5pdGlvbj0iVGhlIHRpbWUgdGhhdCB0aGUgZXBpc29kZSB3YXMgaW4gdGhlIHNwZWNpZmllZCBzdGF0dXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkVuY291bnRlckxvY2F0aW9uU3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRW5jb3VudGVyU3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRXZlbnRUaW1pbmciIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5FbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRXhwcmVzc2lvbiIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0V4cHJlc3Npb24iIGxhYmVsPSJFeHByZXNzaW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXNjcmlwdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTmF0dXJhbCBsYW5ndWFnZSBkZXNjcmlwdGlvbiBvZiB0aGUgY29uZGl0aW9uIiBkZWZpbml0aW9uPSJBIGJyaWVmLCBuYXR1cmFsIGxhbmd1YWdlIGRlc2NyaXB0aW9uIG9mIHRoZSBjb25kaXRpb24gdGhhdCBlZmZlY3RpdmVseSBjb21tdW5pY2F0ZXMgdGhlIGludGVuZGVkIHNlbWFudGljcy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibmFtZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iU2hvcnQgbmFtZSBhc3NpZ25lZCB0byBleHByZXNzaW9uIGZvciByZXVzZSIgZGVmaW5pdGlvbj0iQSBzaG9ydCBuYW1lIGFzc2lnbmVkIHRvIHRoZSBleHByZXNzaW9uIHRvIGFsbG93IGZvciBtdWx0aXBsZSByZXVzZSBvZiB0aGUgZXhwcmVzc2lvbiBpbiB0aGUgY29udGV4dCB3aGVyZSBpdCBpcyBkZWZpbmVkLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJsYW5ndWFnZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0idGV4dC9jcWwgfCB0ZXh0L2ZoaXJwYXRoIHwgYXBwbGljYXRpb24veC1maGlyLXF1ZXJ5IHwgZXRjLiIgZGVmaW5pdGlvbj0iVGhlIG1lZGlhIHR5cGUgb2YgdGhlIGxhbmd1YWdlIGZvciB0aGUgZXhwcmVzc2lvbi4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJFeHByZXNzaW9uTGFuZ3VhZ2UiIGRlc2NyaXB0aW9uPSJUaGUgbWVkaWEgdHlwZSBvZiB0aGUgZXhwcmVzc2lvbiBsYW5ndWFnZS4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZXhwcmVzc2lvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRXhwcmVzc2lvbiBpbiBzcGVjaWZpZWQgbGFuZ3VhZ2UiIGRlZmluaXRpb249IkFuIGV4cHJlc3Npb24gaW4gdGhlIHNwZWNpZmllZCBsYW5ndWFnZSB0aGF0IHJldHVybnMgYSB2YWx1ZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVmZXJlbmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVyZSB0aGUgZXhwcmVzc2lvbiBpcyBmb3VuZCIgZGVmaW5pdGlvbj0iQSBVUkkgdGhhdCBkZWZpbmVzIHdoZXJlIHRoZSBleHByZXNzaW9uIGlzIGZvdW5kLiIgY29tbWVudD0iSWYgYm90aCBhIHJlZmVyZW5jZSBhbmQgYW4gZXhwcmVzc2lvbiBpcyBmb3VuZCwgdGhlIHJlZmVyZW5jZSBTSEFMTCBwb2ludCB0byB0aGUgc2FtZSBleHByZXNzaW9uLiIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5FbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRXh0ZW5zaW9uIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vRXh0ZW5zaW9uIiBsYWJlbD0iRXh0ZW5zaW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJ1cmwiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImlkZW50aWZpZXMgdGhlIG1lYW5pbmcgb2YgdGhlIGV4dGVuc2lvbiIgZGVmaW5pdGlvbj0iU291cmNlIG9mIHRoZSBkZWZpbml0aW9uIGZvciB0aGUgZXh0ZW5zaW9uIGNvZGUgLSBhIGxvZ2ljYWwgbmFtZSBvciBhIFVSTC4iIGNvbW1lbnQ9IlRoZSBkZWZpbml0aW9uIG1heSBwb2ludCBkaXJlY3RseSB0byBhIGNvbXB1dGFibGUgb3IgaHVtYW4tcmVhZGFibGUgZGVmaW5pdGlvbiBvZiB0aGUgZXh0ZW5zaWJpbGl0eSBjb2Rlcywgb3IgaXQgbWF5IGJlIGEgbG9naWNhbCBVUkkgYXMgZGVjbGFyZWQgaW4gc29tZSBvdGhlciBzcGVjaWZpY2F0aW9uLiBUaGUgZGVmaW5pdGlvbiBTSEFMTCBiZSBhIFVSSSBmb3IgdGhlIFN0cnVjdHVyZSBEZWZpbml0aW9uIGRlZmluaW5nIHRoZSBleHRlbnNpb24uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlZhbHVlIG9mIGV4dGVuc2lvbiIgZGVmaW5pdGlvbj0iVmFsdWUgb2YgZXh0ZW5zaW9uIC0gbXVzdCBiZSBvbmUgb2YgYSBjb25zdHJhaW5lZCBzZXQgb2YgdGhlIGRhdGEgdHlwZXMgKHNlZSBbRXh0ZW5zaWJpbGl0eV0oZXh0ZW5zaWJpbGl0eS5odG1sKSBmb3IgYSBsaXN0KS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGVjaW1hbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBZGRyZXNzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkFubm90YXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQXR0YWNobWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvZGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ29udGFjdFBvaW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ikh1bWFuTmFtZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJJZGVudGlmaWVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRlY2ltYWwiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJSYXRpbyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU2FtcGxlZERhdGEiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU2lnbmF0dXJlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRpbWluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb250YWN0RGV0YWlsIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbnRyaWJ1dG9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRhdGFSZXF1aXJlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJFeHByZXNzaW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlBhcmFtZXRlckRlZmluaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVsYXRlZEFydGlmYWN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRyaWdnZXJEZWZpbml0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVzYWdlQ29udGV4dCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEb3NhZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTWV0YSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkZISVJBbGxUeXBlcyIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkZISVJEZXZpY2VTdGF0dXMiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJGSElSU3Vic3RhbmNlU3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRmFtaWx5SGlzdG9yeVN0YXR1cyIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRmFtaWx5TWVtYmVySGlzdG9yeSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtZmFtaWx5bWVtYmVyaGlzdG9yeSIgbGFiZWw9IlFJQ29yZSBGYW1pbHlNZW1iZXJIaXN0b3J5IiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJyZWxhdGlvbnNoaXAiPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iRXh0ZXJuYWwgSWQocykgZm9yIHRoaXMgcmVjb3JkIiBkZWZpbml0aW9uPSJCdXNpbmVzcyBpZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIGZhbWlseSBtZW1iZXIgaGlzdG9yeSBieSB0aGUgcGVyZm9ybWVyIG9yIG90aGVyIHN5c3RlbXMgd2hpY2ggcmVtYWluIGNvbnN0YW50IGFzIHRoZSByZXNvdXJjZSBpcyB1cGRhdGVkIGFuZCBwcm9wYWdhdGVzIGZyb20gc2VydmVyIHRvIHNlcnZlci4iIGNvbW1lbnQ9IlRoaXMgaXMgYSBidXNpbmVzcyBpZGVudGlmaWVyLCBub3QgYSByZXNvdXJjZSBpZGVudGlmaWVyIChzZWUgW2Rpc2N1c3Npb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcmVzb3VyY2UuaHRtbCNpZGVudGlmaWVycykpLiAgSXQgaXMgYmVzdCBwcmFjdGljZSBmb3IgdGhlIGlkZW50aWZpZXIgdG8gb25seSBhcHBlYXIgb24gYSBzaW5nbGUgcmVzb3VyY2UgaW5zdGFuY2UsIGhvd2V2ZXIgYnVzaW5lc3MgcHJhY3RpY2VzIG1heSBvY2Nhc2lvbmFsbHkgZGljdGF0ZSB0aGF0IG11bHRpcGxlIHJlc291cmNlIGluc3RhbmNlcyB3aXRoIHRoZSBzYW1lIGlkZW50aWZpZXIgY2FuIGV4aXN0IC0gcG9zc2libHkgZXZlbiB3aXRoIGRpZmZlcmVudCByZXNvdXJjZSB0eXBlcy4gIEZvciBleGFtcGxlLCBtdWx0aXBsZSBQYXRpZW50IGFuZCBhIFBlcnNvbiByZXNvdXJjZSBpbnN0YW5jZSBtaWdodCBzaGFyZSB0aGUgc2FtZSBzb2NpYWwgaW5zdXJhbmNlIG51bWJlci4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNDYW5vbmljYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIEZISVIgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhIEZISVItZGVmaW5lZCBwcm90b2NvbCwgZ3VpZGVsaW5lLCBvcmRlcnNldCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgRmFtaWx5TWVtYmVySGlzdG9yeS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc1VyaSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgZXh0ZXJuYWwgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhbiBleHRlcm5hbGx5IG1haW50YWluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXJzZXQgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIEZhbWlseU1lbWJlckhpc3RvcnkuIiBjb21tZW50PSJUaGlzIG1pZ2h0IGJlIGFuIEhUTUwgcGFnZSwgUERGLCBldGMuIG9yIGNvdWxkIGp1c3QgYmUgYSBub24tcmVzb2x2YWJsZSBVUkkgaWRlbnRpZmllci4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5GYW1pbHlIaXN0b3J5U3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InBhcnRpYWwgfCBjb21wbGV0ZWQgfCBlbnRlcmVkLWluLWVycm9yIHwgaGVhbHRoLXVua25vd24iIGRlZmluaXRpb249IkEgY29kZSBzcGVjaWZ5aW5nIHRoZSBzdGF0dXMgb2YgdGhlIHJlY29yZCBvZiB0aGUgZmFtaWx5IGhpc3Rvcnkgb2YgYSBzcGVjaWZpYyBmYW1pbHkgbWVtYmVyLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkZhbWlseUhpc3RvcnlTdGF0dXMiIGRlc2NyaXB0aW9uPSJBIGNvZGUgdGhhdCBpZGVudGlmaWVzIHRoZSBzdGF0dXMgb2YgdGhlIGZhbWlseSBoaXN0b3J5IHJlY29yZC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGFBYnNlbnRSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249InN1YmplY3QtdW5rbm93biB8IHdpdGhoZWxkIHwgdW5hYmxlLXRvLW9idGFpbiB8IGRlZmVycmVkIiBkZWZpbml0aW9uPSJEZXNjcmliZXMgd2h5IHRoZSBmYW1pbHkgbWVtYmVyJ3MgaGlzdG9yeSBpcyBub3QgYXZhaWxhYmxlLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkZhbWlseUhpc3RvcnlBYnNlbnRSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIHRoZSByZWFzb24gd2h5IGEgZmFtaWx5IG1lbWJlcidzIGhpc3RvcnkgaXMgbm90IGF2YWlsYWJsZS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGF0aWVudCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJQYXRpZW50IGhpc3RvcnkgaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwZXJzb24gd2hvIHRoaXMgaGlzdG9yeSBjb25jZXJucy4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hlbiBoaXN0b3J5IHdhcyByZWNvcmRlZCBvciBsYXN0IHVwZGF0ZWQiIGRlZmluaXRpb249IlRoZSBkYXRlIChhbmQgcG9zc2libHkgdGltZSkgd2hlbiB0aGUgZmFtaWx5IG1lbWJlciBoaXN0b3J5IHdhcyByZWNvcmRlZCBvciBsYXN0IHVwZGF0ZWQuIiBjb21tZW50PSJUaGlzIHNob3VsZCBiZSBjYXB0dXJlZCBldmVuIGlmIHRoZSBzYW1lIGFzIHRoZSBkYXRlIG9uIHRoZSBMaXN0IGFnZ3JlZ2F0aW5nIHRoZSBmdWxsIGZhbWlseSBoaXN0b3J5LiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibmFtZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGhlIGZhbWlseSBtZW1iZXIgZGVzY3JpYmVkIiBkZWZpbml0aW9uPSJUaGlzIHdpbGwgZWl0aGVyIGJlIGEgbmFtZSBvciBhIGRlc2NyaXB0aW9uOyBlLmcuICZxdW90O0F1bnQgU3VzYW4mcXVvdDssICZxdW90O215IGNvdXNpbiB3aXRoIHRoZSByZWQgaGFpciZxdW90Oy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVsYXRpb25zaGlwIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZWxhdGlvbnNoaXAgdG8gdGhlIHN1YmplY3QiIGRlZmluaXRpb249IlRoZSB0eXBlIG9mIHJlbGF0aW9uc2hpcCB0aGlzIHBlcnNvbiBoYXMgdG8gdGhlIHBhdGllbnQgKGZhdGhlciwgbW90aGVyLCBicm90aGVyIGV0Yy4pLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2V4IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJtYWxlIHwgZmVtYWxlIHwgb3RoZXIgfCB1bmtub3duIiBkZWZpbml0aW9uPSJUaGUgYmlydGggc2V4IG9mIHRoZSBmYW1pbHkgbWVtYmVyLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IHNob3VsZCBpZGVhbGx5IHJlZmxlY3Qgd2hldGhlciB0aGUgaW5kaXZpZHVhbCBpcyBnZW5ldGljYWxseSBtYWxlIG9yIGZlbWFsZS4gIEhvd2V2ZXIsIGFzIHJlcG9ydGVkIGluZm9ybWF0aW9uIGJhc2VkIG9uIHRoZSBrbm93bGVkZ2Ugb2YgdGhlIHBhdGllbnQgb3IgcmVwb3J0aW5nIGZyaWVuZC9yZWxhdGl2ZSwgdGhlcmUgbWF5IGJlIHNpdHVhdGlvbnMgd2hlcmUgdGhlIHJlcG9ydGVkIHNleCBtaWdodCBub3QgYmUgdG90YWxseSBhY2N1cmF0ZS4gIEUuZy4gJ0F1bnQgU3VlJyBtaWdodCBiZSBYWSByYXRoZXIgdGhhbiBYWC4gIFF1ZXN0aW9ucyBzb2xpY2l0aW5nIHRoaXMgaW5mb3JtYXRpb24gc2hvdWxkIGJlIHBocmFzZWQgdG8gZW5jb3VyYWdlIGNhcHR1cmUgb2YgZ2VuZXRpYyBzZXggd2hlcmUga25vd24uICBIb3dldmVyLCBzeXN0ZW1zIHBlcmZvcm1pbmcgYW5hbHlzaXMgc2hvdWxkIGFsc28gYWxsb3cgZm9yIHRoZSBwb3NzaWJpbGl0eSBvZiBpbXByZWNpc2lvbiB3aXRoIHRoaXMgZWxlbWVudC4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTZXgiIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIHRoZSBzZXggYXNzaWduZWQgYXQgYmlydGggYXMgZG9jdW1lbnRlZCBvbiB0aGUgYmlydGggcmVnaXN0cmF0aW9uLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJib3JuIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihhcHByb3hpbWF0ZSkgZGF0ZSBvZiBiaXJ0aCIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBvciBhcHByb3hpbWF0ZSBkYXRlIG9mIGJpcnRoIG9mIHRoZSByZWxhdGl2ZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhZ2UiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKGFwcHJveGltYXRlKSBhZ2UiIGRlZmluaXRpb249IlRoZSBhZ2Ugb2YgdGhlIHJlbGF0aXZlIGF0IHRoZSB0aW1lIHRoZSBmYW1pbHkgbWVtYmVyIGhpc3RvcnkgaXMgcmVjb3JkZWQuIiBjb21tZW50PSJ1c2UgZXN0aW1hdGVkQWdlIHRvIGluZGljYXRlIHdoZXRoZXIgdGhlIGFnZSBpcyBhY3R1YWwgb3Igbm90LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZXN0aW1hdGVkQWdlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iQWdlIGlzIGVzdGltYXRlZD8iIGRlZmluaXRpb249IklmIHRydWUsIGluZGljYXRlcyB0aGF0IHRoZSBhZ2UgdmFsdWUgc3BlY2lmaWVkIGlzIGFuIGVzdGltYXRlZCB2YWx1ZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgZmFjdCB0aGF0IGFnZSBpcyBlc3RpbWF0ZWQgY2FuL3Nob3VsZCBjaGFuZ2UgdGhlIHJlc3VsdHMgb2YgYW55IGFsZ29yaXRobSB0aGF0IGNhbGN1bGF0ZXMgYmFzZWQgb24gdGhlIHNwZWNpZmllZCBhZ2UuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRlY2Vhc2VkIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkRlYWQ/IEhvdyBvbGQvd2hlbj8iIGRlZmluaXRpb249IkRlY2Vhc2VkIGZsYWcgb3IgdGhlIGFjdHVhbCBvciBhcHByb3hpbWF0ZSBhZ2Ugb2YgdGhlIHJlbGF0aXZlIGF0IHRoZSB0aW1lIG9mIGRlYXRoIGZvciB0aGUgZmFtaWx5IG1lbWJlciBoaXN0b3J5IHJlY29yZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2h5IHdhcyBmYW1pbHkgbWVtYmVyIGhpc3RvcnkgcGVyZm9ybWVkPyIgZGVmaW5pdGlvbj0iRGVzY3JpYmVzIHdoeSB0aGUgZmFtaWx5IG1lbWJlciBoaXN0b3J5IG9jY3VycmVkIGluIGNvZGVkIG9yIHRleHR1YWwgZm9ybS4iIGNvbW1lbnQ9IlRleHR1YWwgcmVhc29ucyBjYW4gYmUgY2FwdHVyZWQgdXNpbmcgcmVhc29uQ29kZS50ZXh0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJGYW1pbHlIaXN0b3J5UmVhc29uIiBkZXNjcmlwdGlvbj0iQ29kZXMgaW5kaWNhdGluZyB3aHkgdGhlIGZhbWlseSBtZW1iZXIgaGlzdG9yeSB3YXMgZG9uZS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2h5IHdhcyBmYW1pbHkgbWVtYmVyIGhpc3RvcnkgcGVyZm9ybWVkPyIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGEgQ29uZGl0aW9uLCBPYnNlcnZhdGlvbiwgQWxsZXJneUludG9sZXJhbmNlLCBvciBRdWVzdGlvbm5haXJlUmVzcG9uc2UgdGhhdCBqdXN0aWZpZXMgdGhpcyBmYW1pbHkgbWVtYmVyIGhpc3RvcnkgZXZlbnQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iR2VuZXJhbCBub3RlIGFib3V0IHJlbGF0ZWQgcGVyc29uIiBkZWZpbml0aW9uPSJUaGlzIHByb3BlcnR5IGFsbG93cyBhIG5vbiBjb25kaXRpb24tc3BlY2lmaWMgbm90ZSB0byB0aGUgbWFkZSBhYm91dCB0aGUgcmVsYXRlZCBwZXJzb24uIElkZWFsbHksIHRoZSBub3RlIHdvdWxkIGJlIGluIHRoZSBjb25kaXRpb24gcHJvcGVydHksIGJ1dCB0aGlzIGlzIG5vdCBhbHdheXMgcG9zc2libGUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29uZGl0aW9uIiBkZXNjcmlwdGlvbj0iQ29uZGl0aW9uIHRoYXQgdGhlIHJlbGF0ZWQgcGVyc29uIGhhZCIgZGVmaW5pdGlvbj0iVGhlIHNpZ25pZmljYW50IENvbmRpdGlvbnMgKG9yIGNvbmRpdGlvbikgdGhhdCB0aGUgZmFtaWx5IG1lbWJlciBoYWQuIFRoaXMgaXMgYSByZXBlYXRpbmcgc2VjdGlvbiB0byBhbGxvdyBhIHN5c3RlbSB0byByZXByZXNlbnQgbW9yZSB0aGFuIG9uZSBjb25kaXRpb24gcGVyIHJlc291cmNlLCB0aG91Z2ggdGhlcmUgaXMgbm90aGluZyBzdG9wcGluZyBtdWx0aXBsZSByZXNvdXJjZXMgLSBvbmUgcGVyIGNvbmRpdGlvbi4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkZhbWlseU1lbWJlckhpc3RvcnkuQ29uZGl0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0icGF0aWVudCIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJGYW1pbHlNZW1iZXJIaXN0b3J5LkNvbmRpdGlvbiIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ29uZGl0aW9uIHN1ZmZlcmVkIGJ5IHJlbGF0aW9uIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGNvbmRpdGlvbiBzcGVjaWZpZWQuIENvdWxkIGJlIGEgY29kZWQgY29uZGl0aW9uIChsaWtlIE1JIG9yIERpYWJldGVzKSBvciBhIGxlc3Mgc3BlY2lmaWMgc3RyaW5nIGxpa2UgJ2NhbmNlcicgZGVwZW5kaW5nIG9uIGhvdyBtdWNoIGlzIGtub3duIGFib3V0IHRoZSBjb25kaXRpb24gYW5kIHRoZSBjYXBhYmlsaXRpZXMgb2YgdGhlIGNyZWF0aW5nIHN5c3RlbS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IklkZW50aWZpY2F0aW9uIG9mIHRoZSBDb25kaXRpb24gb3IgZGlhZ25vc2lzLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJvdXRjb21lIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJkZWNlYXNlZCB8IHBlcm1hbmVudCBkaXNhYmlsaXR5IHwgZXRjLiIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdoYXQgaGFwcGVuZWQgZm9sbG93aW5nIHRoZSBjb25kaXRpb24uICBJZiB0aGUgY29uZGl0aW9uIHJlc3VsdGVkIGluIGRlYXRoLCBkZWNlYXNlZCBkYXRlIGlzIGNhcHR1cmVkIG9uIHRoZSByZWxhdGlvbi4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJDb25kaXRpb25PdXRjb21lIiBkZXNjcmlwdGlvbj0iVGhlIHJlc3VsdCBvZiB0aGUgY29uZGl0aW9uIGZvciB0aGUgcGF0aWVudDsgZS5nLiBkZWF0aCwgcGVybWFuZW50IGRpc2FiaWxpdHksIHRlbXBvcmFyeSBkaXNhYmlsaXR5LCBldGMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbnRyaWJ1dGVkVG9EZWF0aCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Cb29sZWFuIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZXRoZXIgdGhlIGNvbmRpdGlvbiBjb250cmlidXRlZCB0byB0aGUgY2F1c2Ugb2YgZGVhdGgiIGRlZmluaXRpb249IlRoaXMgY29uZGl0aW9uIGNvbnRyaWJ1dGVkIHRvIHRoZSBjYXVzZSBvZiBkZWF0aCBvZiB0aGUgcmVsYXRlZCBwZXJzb24uIElmIGNvbnRyaWJ1dGVkVG9EZWF0aCBpcyBub3QgcG9wdWxhdGVkLCB0aGVuIGl0IGlzIHVua25vd24uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im9uc2V0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoZW4gY29uZGl0aW9uIGZpcnN0IG1hbmlmZXN0ZWQiIGRlZmluaXRpb249IkVpdGhlciB0aGUgYWdlIG9mIG9uc2V0LCByYW5nZSBvZiBhcHByb3hpbWF0ZSBhZ2Ugb3IgZGVzY3JpcHRpdmUgc3RyaW5nIGNhbiBiZSByZWNvcmRlZC4gIEZvciBjb25kaXRpb25zIHdpdGggbXVsdGlwbGUgb2NjdXJyZW5jZXMsIHRoaXMgZGVzY3JpYmVzIHRoZSBmaXJzdCBrbm93biBvY2N1cnJlbmNlLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iRXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgY29uZGl0aW9uIiBkZWZpbml0aW9uPSJBbiBhcmVhIHdoZXJlIGdlbmVyYWwgbm90ZXMgY2FuIGJlIHBsYWNlZCBhYm91dCB0aGlzIHNwZWNpZmljIGNvbmRpdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb25kaXRpb24tYWJhdGVtZW50IiBlbGVtZW50VHlwZT0iUUlDb3JlLmFiYXRlbWVudCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCVwYXJlbnQuY29uZGl0aW9uLmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9mYW1pbHltZW1iZXJoaXN0b3J5LWFiYXRlbWVudCddLnZhbHVlKSIgZGVzY3JpcHRpb249IldoZW4gKG9yIGlmKSB0aGUgZmFtaWx5IG1lbWJlcidzIGNvbmRpdGlvbiByZXNvbHZlZCIgZGVmaW5pdGlvbj0iVGhlIGFwcHJveGltYXRlIGRhdGUsIGFnZSwgb3IgZmxhZyBpbmRpY2F0aW5nIHRoYXQgdGhlIGNvbmRpdGlvbiBvZiB0aGUgZmFtaWx5IG1lbWJlciByZXNvbHZlZC4gVGhlIGFiYXRlbWVudCBzaG91bGQgb25seSBiZSBzcGVjaWZpZWQgaWYgdGhlIGNvbmRpdGlvbiBpcyBzdGF0ZWQgaW4gdGhlIHBvc2l0aXZlIHNlbnNlLCBpLmUuLCB0aGUgZGlkTm90SGF2ZSBmbGFnIGlzIGZhbHNlLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbmRpdGlvbi1zZXZlcml0eSIgZWxlbWVudFR5cGU9IlFJQ29yZS5zZXZlcml0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXBhcmVudC5jb25kaXRpb24uZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL2ZhbWlseW1lbWJlcmhpc3Rvcnktc2V2ZXJpdHknXS52YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgc2VyaW91c25lc3Mgb2YgdGhlIGZhbWlseSBtZW1iZXIgY29uZGl0aW9uIiBkZWZpbml0aW9uPSJBIHF1YWxpZmljYXRpb24gb2YgdGhlIHNlcmlvdXNuZXNzIG9yIGltcGFjdCBvbiBoZWFsdGggb2YgdGhlIGZhbWlseSBtZW1iZXIgY29uZGl0aW9uLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRmxhZyIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtZmxhZyIgbGFiZWw9IlFJQ29yZSBGbGFnIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkJ1c2luZXNzIGlkZW50aWZpZXIiIGRlZmluaXRpb249IkJ1c2luZXNzIGlkZW50aWZpZXJzIGFzc2lnbmVkIHRvIHRoaXMgZmxhZyBieSB0aGUgcGVyZm9ybWVyIG9yIG90aGVyIHN5c3RlbXMgd2hpY2ggcmVtYWluIGNvbnN0YW50IGFzIHRoZSByZXNvdXJjZSBpcyB1cGRhdGVkIGFuZCBwcm9wYWdhdGVzIGZyb20gc2VydmVyIHRvIHNlcnZlci4iIGNvbW1lbnQ9IlRoaXMgaXMgYSBidXNpbmVzcyBpZGVudGlmaWVyLCBub3QgYSByZXNvdXJjZSBpZGVudGlmaWVyIChzZWUgW2Rpc2N1c3Npb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcmVzb3VyY2UuaHRtbCNpZGVudGlmaWVycykpLiAgSXQgaXMgYmVzdCBwcmFjdGljZSBmb3IgdGhlIGlkZW50aWZpZXIgdG8gb25seSBhcHBlYXIgb24gYSBzaW5nbGUgcmVzb3VyY2UgaW5zdGFuY2UsIGhvd2V2ZXIgYnVzaW5lc3MgcHJhY3RpY2VzIG1heSBvY2Nhc2lvbmFsbHkgZGljdGF0ZSB0aGF0IG11bHRpcGxlIHJlc291cmNlIGluc3RhbmNlcyB3aXRoIHRoZSBzYW1lIGlkZW50aWZpZXIgY2FuIGV4aXN0IC0gcG9zc2libHkgZXZlbiB3aXRoIGRpZmZlcmVudCByZXNvdXJjZSB0eXBlcy4gIEZvciBleGFtcGxlLCBtdWx0aXBsZSBQYXRpZW50IGFuZCBhIFBlcnNvbiByZXNvdXJjZSBpbnN0YW5jZSBtaWdodCBzaGFyZSB0aGUgc2FtZSBzb2NpYWwgaW5zdXJhbmNlIG51bWJlci4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRmxhZ1N0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJhY3RpdmUgfCBpbmFjdGl2ZSB8IGVudGVyZWQtaW4tZXJyb3IiIGRlZmluaXRpb249IlN1cHBvcnRzIGJhc2ljIHdvcmtmbG93LiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJGbGFnU3RhdHVzIiBkZXNjcmlwdGlvbj0iSW5kaWNhdGVzIHdoZXRoZXIgdGhpcyBmbGFnIGlzIGFjdGl2ZSBhbmQgbmVlZHMgdG8gYmUgZGlzcGxheWVkIHRvIGEgdXNlciwgb3Igd2hldGhlciBpdCBpcyBubyBsb25nZXIgbmVlZGVkIG9yIHdhcyBlbnRlcmVkIGluIGVycm9yLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGluaWNhbCwgYWRtaW5pc3RyYXRpdmUsIGV0Yy4iIGRlZmluaXRpb249IkFsbG93cyBhIGZsYWcgdG8gYmUgZGl2aWRlZCBpbnRvIGRpZmZlcmVudCBjYXRlZ29yaWVzIGxpa2UgY2xpbmljYWwsIGFkbWluaXN0cmF0aXZlIGV0Yy4gSW50ZW5kZWQgdG8gYmUgdXNlZCBhcyBhIG1lYW5zIG9mIGZpbHRlcmluZyB3aGljaCBmbGFncyBhcmUgZGlzcGxheWVkIHRvIHBhcnRpY3VsYXIgdXNlciBvciBpbiBhIGdpdmVuIGNvbnRleHQuIiBjb21tZW50PSJUaGUgdmFsdWUgc2V0IHdpbGwgb2Z0ZW4gbmVlZCB0byBiZSBhZGp1c3RlZCBiYXNlZCBvbiBsb2NhbCBidXNpbmVzcyBydWxlcyBhbmQgdXNhZ2UgY29udGV4dC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb2RlZCBvciB0ZXh0dWFsIG1lc3NhZ2UgdG8gZGlzcGxheSB0byB1c2VyIiBkZWZpbml0aW9uPSJUaGUgY29kZWQgdmFsdWUgb3IgdGV4dHVhbCBjb21wb25lbnQgb2YgdGhlIGZsYWcgdG8gZGlzcGxheSB0byB0aGUgdXNlci4iIGNvbW1lbnQ9IklmIG5vbi1jb2RlZCwgdXNlIENvZGVhYmxlQ29uY2VwdC50ZXh0LiAgVGhpcyBlbGVtZW50IHNob3VsZCBhbHdheXMgYmUgaW5jbHVkZWQgaW4gdGhlIG5hcnJhdGl2ZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvL1doYXQgaXMgZmxhZyBhYm91dD8iIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBsb2NhdGlvbiwgZ3JvdXAsIG9yZ2FuaXphdGlvbiwgb3IgcHJhY3RpdGlvbmVyIGV0Yy4gdGhpcyBpcyBhYm91dCByZWNvcmQgdGhpcyBmbGFnIGlzIGFzc29jaWF0ZWQgd2l0aC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaW1lIHBlcmlvZCB3aGVuIGZsYWcgaXMgYWN0aXZlIiBkZWZpbml0aW9uPSJUaGUgcGVyaW9kIG9mIHRpbWUgZnJvbSB0aGUgYWN0aXZhdGlvbiBvZiB0aGUgZmxhZyB0byBpbmFjdGl2YXRpb24gb2YgdGhlIGZsYWcuIElmIHRoZSBmbGFnIGlzIGFjdGl2ZSwgdGhlIGVuZCBvZiB0aGUgcGVyaW9kIHNob3VsZCBiZSB1bnNwZWNpZmllZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJBbGVydCByZWxldmFudCBkdXJpbmcgZW5jb3VudGVyIiBkZWZpbml0aW9uPSJUaGlzIGFsZXJ0IGlzIG9ubHkgcmVsZXZhbnQgZHVyaW5nIHRoZSBlbmNvdW50ZXIuIiBjb21tZW50PSJJZiBib3RoIEZsYWcuZW5jb3VudGVyIGFuZCBGbGFnLnBlcmlvZCBhcmUgdmFsdWVkLCB0aGVuIEZsYWcucGVyaW9kLnN0YXJ0IHNoYWxsIG5vdCBiZSBiZWZvcmUgRW5jb3VudGVyLnBlcmlvZC5zdGFydCBhbmQgRmxhZy5wZXJpb2QuZW5kIHNoYWxsIG5vdCBiZSBhZnRlciBFbmNvdW50ZXIucGVyaW9kLmVuZC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkZsYWcgY3JlYXRvciIgZGVmaW5pdGlvbj0iVGhlIHBlcnNvbiwgb3JnYW5pemF0aW9uIG9yIGRldmljZSB0aGF0IGNyZWF0ZWQgdGhlIGZsYWcuIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9ImF1dGhvciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0icGF0aWVudCIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJEZXZpY2UiIHJlbGF0ZWRLZXlFbGVtZW50PSJhdXRob3IiLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRmxhZ1N0YXR1cyIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iR29hbCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtZ29hbCIgbGFiZWw9IlFJQ29yZSBHb2FsIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjYXRlZ29yeSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvblJlamVjdGVkIiBlbGVtZW50VHlwZT0iUUlDb3JlLnJlYXNvblJlamVjdGVkIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCglcGFyZW50LmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9nb2FsLXJlYXNvblJlamVjdGVkJ10udmFsdWUpIiBkZXNjcmlwdGlvbj0iVGhlIHJlYXNvbiB0aGUgZ29hbCB3YXMgbm90IGFjY2VwdGVkIiBkZWZpbml0aW9uPSJUaGUgcmVhc29uIHRoZSBnb2FsIHdhcyBub3QgYWNjZXB0ZWQuIEFwcGxpZXMgb25seSBpZiB0aGUgc3RhdHVzIG9mIHRoZSBnb2FsIGlzIHJlamVjdGVkLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJFeHRlcm5hbCBJZHMgZm9yIHRoaXMgZ29hbCIgZGVmaW5pdGlvbj0iQnVzaW5lc3MgaWRlbnRpZmllcnMgYXNzaWduZWQgdG8gdGhpcyBnb2FsIGJ5IHRoZSBwZXJmb3JtZXIgb3Igb3RoZXIgc3lzdGVtcyB3aGljaCByZW1haW4gY29uc3RhbnQgYXMgdGhlIHJlc291cmNlIGlzIHVwZGF0ZWQgYW5kIHByb3BhZ2F0ZXMgZnJvbSBzZXJ2ZXIgdG8gc2VydmVyLiIgY29tbWVudD0iVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIgKHNlZSBbZGlzY3Vzc2lvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS5odG1sI2lkZW50aWZpZXJzKSkuICBJdCBpcyBiZXN0IHByYWN0aWNlIGZvciB0aGUgaWRlbnRpZmllciB0byBvbmx5IGFwcGVhciBvbiBhIHNpbmdsZSByZXNvdXJjZSBpbnN0YW5jZSwgaG93ZXZlciBidXNpbmVzcyBwcmFjdGljZXMgbWF5IG9jY2FzaW9uYWxseSBkaWN0YXRlIHRoYXQgbXVsdGlwbGUgcmVzb3VyY2UgaW5zdGFuY2VzIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllciBjYW4gZXhpc3QgLSBwb3NzaWJseSBldmVuIHdpdGggZGlmZmVyZW50IHJlc291cmNlIHR5cGVzLiAgRm9yIGV4YW1wbGUsIG11bHRpcGxlIFBhdGllbnQgYW5kIGEgUGVyc29uIHJlc291cmNlIGluc3RhbmNlIG1pZ2h0IHNoYXJlIHRoZSBzYW1lIHNvY2lhbCBpbnN1cmFuY2UgbnVtYmVyLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImxpZmVjeWNsZVN0YXR1cyIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icHJvcG9zZWQgfCBwbGFubmVkIHwgYWNjZXB0ZWQgfCBhY3RpdmUgfCBvbi1ob2xkIHwgY29tcGxldGVkIHwgY2FuY2VsbGVkIHwgZW50ZXJlZC1pbi1lcnJvciB8IHJlamVjdGVkIiBkZWZpbml0aW9uPSJUaGUgc3RhdGUgb2YgdGhlIGdvYWwgdGhyb3VnaG91dCBpdHMgbGlmZWN5Y2xlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBsaWZlY3ljbGVTdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhY2hpZXZlbWVudFN0YXR1cyIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iaW4tcHJvZ3Jlc3MgfCBpbXByb3ZpbmcgfCB3b3JzZW5pbmcgfCBuby1jaGFuZ2UgfCBhY2hpZXZlZCB8IHN1c3RhaW5pbmcgfCBub3QtYWNoaWV2ZWQgfCBuby1wcm9ncmVzcyB8IG5vdC1hdHRhaW5hYmxlIiBkZWZpbml0aW9uPSJEZXNjcmliZXMgdGhlIHByb2dyZXNzaW9uLCBvciBsYWNrIHRoZXJlb2YsIHRvd2FyZHMgdGhlIGdvYWwgYWdhaW5zdCB0aGUgdGFyZ2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJHb2FsQWNoaWV2ZW1lbnRTdGF0dXMiIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgdGhlIHByb2dyZXNzaW9uLCBvciBsYWNrIHRoZXJlb2YsIHRvd2FyZHMgdGhlIGdvYWwgYWdhaW5zdCB0aGUgdGFyZ2V0LiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRS5nLiBUcmVhdG1lbnQsIGRpZXRhcnksIGJlaGF2aW9yYWwsIGV0Yy4iIGRlZmluaXRpb249IkluZGljYXRlcyBhIGNhdGVnb3J5IHRoZSBnb2FsIGZhbGxzIHdpdGhpbi4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgZ3JvdXBpbmcgYW5kIHNvcnRpbmcgZ29hbHMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icHJpb3JpdHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249ImhpZ2gtcHJpb3JpdHkgfCBtZWRpdW0tcHJpb3JpdHkgfCBsb3ctcHJpb3JpdHkiIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIG11dHVhbGx5IGFncmVlZCBsZXZlbCBvZiBpbXBvcnRhbmNlIGFzc29jaWF0ZWQgd2l0aCByZWFjaGluZy9zdXN0YWluaW5nIHRoZSBnb2FsLiIgY29tbWVudD0iRXh0ZW5zaW9ucyBhcmUgYXZhaWxhYmxlIHRvIHRyYWNrIHByaW9yaXRpZXMgYXMgZXN0YWJsaXNoZWQgYnkgZWFjaCBwYXJ0aWNpcGFudCAoaS5lLiBQcmlvcml0eSBmcm9tIHRoZSBwYXRpZW50J3MgcGVyc3BlY3RpdmUsIGRpZmZlcmVudCBwcmFjdGl0aW9uZXJzJyBwZXJzcGVjdGl2ZXMsIGZhbWlseSBtZW1iZXIncyBwZXJzcGVjdGl2ZXMpJiN4ZDsmI3hkO1RoZSBvcmRpbmFsIGV4dGVuc2lvbiBvbiBDb2RpbmcgY2FuIGJlIHVzZWQgdG8gY29udmV5IGEgbnVtZXJpY2FsbHkgY29tcGFyYWJsZSByYW5raW5nIHRvIHByaW9yaXR5LiAgKEtlZXAgaW4gbWluZCB0aGF0IGRpZmZlcmVudCBjb2Rpbmcgc3lzdGVtcyBtYXkgdXNlIGEgJnF1b3Q7bG93IHZhbHVlPWltcG9ydGFudCZxdW90Oy4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJHb2FsUHJpb3JpdHkiIGRlc2NyaXB0aW9uPSJUaGUgbGV2ZWwgb2YgaW1wb3J0YW5jZSBhc3NvY2lhdGVkIHdpdGggYSBnb2FsLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRlc2NyaXB0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb2RlIG9yIHRleHQgZGVzY3JpYmluZyBnb2FsIiBkZWZpbml0aW9uPSJIdW1hbi1yZWFkYWJsZSBhbmQvb3IgY29kZWQgZGVzY3JpcHRpb24gb2YgYSBzcGVjaWZpYyBkZXNpcmVkIG9iamVjdGl2ZSBvZiBjYXJlLCBzdWNoIGFzICZxdW90O2NvbnRyb2wgYmxvb2QgcHJlc3N1cmUmcXVvdDsgb3IgJnF1b3Q7bmVnb3RpYXRlIGFuIG9ic3RhY2xlIGNvdXJzZSZxdW90OyBvciAmcXVvdDtkYW5jZSB3aXRoIGNoaWxkIGF0IHdlZGRpbmcmcXVvdDsuIiBjb21tZW50PSJJZiBubyBjb2RlIGlzIGF2YWlsYWJsZSwgdXNlIENvZGVhYmxlQ29uY2VwdC50ZXh0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVmFsdWUgc2V0IHRvIGRlc2NyaWJlIHRoZSBHb2FsIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIHRoaXMgZ29hbCBpcyBpbnRlbmRlZCBmb3IiIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIHBhdGllbnQsIGdyb3VwIG9yIG9yZ2FuaXphdGlvbiBmb3Igd2hvbSB0aGUgZ29hbCBpcyBiZWluZyBlc3RhYmxpc2hlZC4iIGNvbW1lbnQ9IlNob3VsZCBpbmNsdWRlIFFJQ29yZS1Pcmdhbml6YXRpb24sIGJ1dCB0aGUgYmFzZSBwcm9maWxlIG9ubHkgYWxsb3dzIFVTQ29yZS1QYXRpZW50IGRlcml2YXRpdmVzLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhcnQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIGdvYWwgcHVyc3VpdCBiZWdpbnMiIGRlZmluaXRpb249IlRoZSBkYXRlIG9yIGV2ZW50IGFmdGVyIHdoaWNoIHRoZSBnb2FsIHNob3VsZCBiZWdpbiBiZWluZyBwdXJzdWVkLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InRhcmdldCIgZGVzY3JpcHRpb249IlRhcmdldCBvdXRjb21lIGZvciB0aGUgZ29hbCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdoYXQgc2hvdWxkIGJlIGRvbmUgYnkgd2hlbi4iIGNvbW1lbnQ9IldoZW4gbXVsdGlwbGUgdGFyZ2V0cyBhcmUgcHJlc2VudCBmb3IgYSBzaW5nbGUgZ29hbCBpbnN0YW5jZSwgYWxsIHRhcmdldHMgbXVzdCBiZSBtZXQgZm9yIHRoZSBvdmVyYWxsIGdvYWwgdG8gYmUgbWV0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Hb2FsLlRhcmdldCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9ImdvbC0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IkdvYWwudGFyZ2V0Lm1lYXN1cmUgaXMgcmVxdWlyZWQgaWYgR29hbC50YXJnZXQuZGV0YWlsIGlzIHBvcHVsYXRlZCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIoZGV0YWlsLmV4aXN0cygpIGFuZCBtZWFzdXJlLmV4aXN0cygpKSBvciBkZXRhaWwuZXhpc3RzKCkubm90KCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1c0RhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIGdvYWwgc3RhdHVzIHRvb2sgZWZmZWN0IiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHdoZW4gdGhlIGN1cnJlbnQgc3RhdHVzLiAgSS5lLiBXaGVuIGluaXRpYWxseSBjcmVhdGVkLCB3aGVuIGFjaGlldmVkLCB3aGVuIGNhbmNlbGxlZCwgZXRjLiIgY29tbWVudD0iVG8gc2VlIHRoZSBkYXRlIGZvciBwYXN0IHN0YXR1c2VzLCBxdWVyeSBoaXN0b3J5LiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzUmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJSZWFzb24gZm9yIGN1cnJlbnQgc3RhdHVzIiBkZWZpbml0aW9uPSJDYXB0dXJlcyB0aGUgcmVhc29uIGZvciB0aGUgY3VycmVudCBzdGF0dXMuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIGNhcHR1cmVkIGZvciBzdGF0dXNlcyBzdWNoIGFzIHJlamVjdGVkLCBvbi1ob2xkIG9yIGNhbmNlbGxlZCwgYnV0IGNvdWxkIGJlIHByZXNlbnQgZm9yIG90aGVycy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZXhwcmVzc2VkQnkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvJ3MgcmVzcG9uc2libGUgZm9yIGNyZWF0aW5nIEdvYWw/IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgd2hvc2UgZ29hbCB0aGlzIGlzIC0gcGF0aWVudCBnb2FsLCBwcmFjdGl0aW9uZXIgZ29hbCwgZXRjLiIgY29tbWVudD0iVGhpcyBpcyB0aGUgaW5kaXZpZHVhbCByZXNwb25zaWJsZSBmb3IgZXN0YWJsaXNoaW5nIHRoZSBnb2FsLCBub3QgbmVjZXNzYXJpbHkgd2hvIHJlY29yZGVkIGl0LiAgKEZvciB0aGF0LCB1c2UgdGhlIFByb3ZlbmFuY2UgcmVzb3VyY2UuKS4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJhZGRyZXNzZXMiIGRlc2NyaXB0aW9uPSJJc3N1ZXMgYWRkcmVzc2VkIGJ5IHRoaXMgZ29hbCIgZGVmaW5pdGlvbj0iVGhlIGlkZW50aWZpZWQgY29uZGl0aW9ucyBhbmQgb3RoZXIgaGVhbHRoIHJlY29yZCBlbGVtZW50cyB0aGF0IGFyZSBpbnRlbmRlZCB0byBiZSBhZGRyZXNzZWQgYnkgdGhlIGdvYWwuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBnb2FsIiBkZWZpbml0aW9uPSJBbnkgY29tbWVudHMgcmVsYXRlZCB0byB0aGUgZ29hbC4iIGNvbW1lbnQ9Ik1heSBiZSB1c2VkIGZvciBwcm9ncmVzcyBub3RlcywgY29uY2VybnMgb3Igb3RoZXIgcmVsYXRlZCBpbmZvcm1hdGlvbiB0aGF0IGRvZXNuJ3QgYWN0dWFsbHkgZGVzY3JpYmUgdGhlIGdvYWwgaXRzZWxmLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im91dGNvbWVDb2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2hhdCByZXN1bHQgd2FzIGFjaGlldmVkIHJlZ2FyZGluZyB0aGUgZ29hbD8iIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIGNoYW5nZSAob3IgbGFjayBvZiBjaGFuZ2UpIGF0IHRoZSBwb2ludCB3aGVuIHRoZSBzdGF0dXMgb2YgdGhlIGdvYWwgaXMgYXNzZXNzZWQuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBzaG91bGQgbm90IGR1cGxpY2F0ZSB0aGUgZ29hbCBzdGF0dXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkdvYWxPdXRjb21lIiBkZXNjcmlwdGlvbj0iVGhlIHJlc3VsdCBvZiB0aGUgZ29hbDsgZS5nLiAmcXVvdDsyNSUgaW5jcmVhc2UgaW4gc2hvdWxkZXIgbW9iaWxpdHkmcXVvdDssICZxdW90O0FueGlldHkgcmVkdWNlZCB0byBtb2RlcmF0ZSBsZXZlbHMmcXVvdDsuICAmcXVvdDsxNSBrZyB3ZWlnaHQgbG9zcyBzdXN0YWluZWQgb3ZlciA2IG1vbnRocyZxdW90Oy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ib3V0Y29tZVJlZmVyZW5jZSIgZGVzY3JpcHRpb249Ik9ic2VydmF0aW9uIHRoYXQgcmVzdWx0ZWQgZnJvbSBnb2FsIiBkZWZpbml0aW9uPSJEZXRhaWxzIG9mIHdoYXQncyBjaGFuZ2VkIChvciBub3QgY2hhbmdlZCkuIiBjb21tZW50PSJUaGUgZ29hbCBvdXRjb21lIGlzIGluZGVwZW5kZW50IG9mIHRoZSBvdXRjb21lIG9mIHRoZSByZWxhdGVkIGFjdGl2aXRpZXMuICBGb3IgZXhhbXBsZSwgaWYgdGhlIEdvYWwgaXMgdG8gYWNoaWV2ZSBhIHRhcmdldCBib2R5IHdlaWdodCBvZiAxNTAgbGIgYW5kIGEgY2FyZSBwbGFuIGFjdGl2aXR5IGlzIGRlZmluZWQgdG8gZGlldCwgdGhlbiB0aGUgY2FyZSBwbGFu4oCZcyBhY3Rpdml0eSBvdXRjb21lIGNvdWxkIGJlIGNhbG9yaWVzIGNvbnN1bWVkIHdoZXJlYXMgZ29hbCBvdXRjb21lIGlzIGFuIG9ic2VydmF0aW9uIGZvciB0aGUgYWN0dWFsIGJvZHkgd2VpZ2h0IG1lYXN1cmVkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBhdGllbnQiLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iR29hbC5UYXJnZXQiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1lYXN1cmUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRoZSBwYXJhbWV0ZXIgd2hvc2UgdmFsdWUgaXMgYmVpbmcgdHJhY2tlZCIgZGVmaW5pdGlvbj0iVGhlIHBhcmFtZXRlciB3aG9zZSB2YWx1ZSBpcyBiZWluZyB0cmFja2VkLCBlLmcuIGJvZHkgd2VpZ2h0LCBibG9vZCBwcmVzc3VyZSwgb3IgaGVtb2dsb2JpbiBBMWMgbGV2ZWwuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJMT0lOQyBjb2RlcyIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRldGFpbCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgdGFyZ2V0IHZhbHVlIHRvIGJlIGFjaGlldmVkIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHZhbHVlIG9mIHRoZSBmb2N1cyB0byBiZSBhY2hpZXZlZCB0byBzaWduaWZ5IHRoZSBmdWxmaWxsbWVudCBvZiB0aGUgZ29hbCwgZS5nLiAxNTAgcG91bmRzLCA3LjAlLiBFaXRoZXIgdGhlIGhpZ2ggb3IgbG93IG9yIGJvdGggdmFsdWVzIG9mIHRoZSByYW5nZSBjYW4gYmUgc3BlY2lmaWVkLiBXaGVuIGEgbG93IHZhbHVlIGlzIG1pc3NpbmcsIGl0IGluZGljYXRlcyB0aGF0IHRoZSBnb2FsIGlzIGFjaGlldmVkIGF0IGFueSBmb2N1cyB2YWx1ZSBhdCBvciBiZWxvdyB0aGUgaGlnaCB2YWx1ZS4gU2ltaWxhcmx5LCBpZiB0aGUgaGlnaCB2YWx1ZSBpcyBtaXNzaW5nLCBpdCBpbmRpY2F0ZXMgdGhhdCB0aGUgZ29hbCBpcyBhY2hpZXZlZCBhdCBhbnkgZm9jdXMgdmFsdWUgYXQgb3IgYWJvdmUgdGhlIGxvdyB2YWx1ZS4iIGNvbW1lbnQ9IkEgQ29kZWFibGVDb25jZXB0IHdpdGgganVzdCBhIHRleHQgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGlmIHRoZSBmaWVsZCB3YXMgdXN1YWxseSBjb2RlZCwgb3IgaWYgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBHb2FsLnRhcmdldC5tZWFzdXJlIGRlZmluZXMgYSBjb2RlZCB2YWx1ZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkJvb2xlYW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJSYXRpbyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8YmluZGluZyBuYW1lPSJHb2FsVGFyZ2V0RGV0YWlsIiBkZXNjcmlwdGlvbj0iQ29kZXMgdG8gaWRlbnRpZnkgdGhlIHRhcmdldCB2YWx1ZSBvZiB0aGUgZm9jdXMgdG8gYmUgYWNoaWV2ZWQgdG8gc2lnbmlmeSB0aGUgZnVsZmlsbG1lbnQgb2YgdGhlIGdvYWwuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImR1ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZWFjaCBnb2FsIG9uIG9yIGJlZm9yZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGVpdGhlciB0aGUgZGF0ZSBvciB0aGUgZHVyYXRpb24gYWZ0ZXIgc3RhcnQgYnkgd2hpY2ggdGhlIGdvYWwgc2hvdWxkIGJlIG1ldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJIdW1hbk5hbWUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9IdW1hbk5hbWUiIGxhYmVsPSJIdW1hbk5hbWUiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InVzZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5OYW1lVXNlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InVzdWFsIHwgb2ZmaWNpYWwgfCB0ZW1wIHwgbmlja25hbWUgfCBhbm9ueW1vdXMgfCBvbGQgfCBtYWlkZW4iIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIHB1cnBvc2UgZm9yIHRoaXMgbmFtZS4iIGNvbW1lbnQ9IkFwcGxpY2F0aW9ucyBjYW4gYXNzdW1lIHRoYXQgYSBuYW1lIGlzIGN1cnJlbnQgdW5sZXNzIGl0IGV4cGxpY2l0bHkgc2F5cyB0aGF0IGl0IGlzIHRlbXBvcmFyeSBvciBvbGQuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTmFtZVVzZSIgZGVzY3JpcHRpb249IlRoZSB1c2Ugb2YgYSBodW1hbiBuYW1lLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idGV4dCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGV4dCByZXByZXNlbnRhdGlvbiBvZiB0aGUgZnVsbCBuYW1lIiBkZWZpbml0aW9uPSJTcGVjaWZpZXMgdGhlIGVudGlyZSBuYW1lIGFzIGl0IHNob3VsZCBiZSBkaXNwbGF5ZWQgZS5nLiBvbiBhbiBhcHBsaWNhdGlvbiBVSS4gVGhpcyBtYXkgYmUgcHJvdmlkZWQgaW5zdGVhZCBvZiBvciBhcyB3ZWxsIGFzIHRoZSBzcGVjaWZpYyBwYXJ0cy4iIGNvbW1lbnQ9IkNhbiBwcm92aWRlIGJvdGggYSB0ZXh0IHJlcHJlc2VudGF0aW9uIGFuZCBwYXJ0cy4gQXBwbGljYXRpb25zIHVwZGF0aW5nIGEgbmFtZSBTSEFMTCBlbnN1cmUgdGhhdCB3aGVuIGJvdGggdGV4dCBhbmQgcGFydHMgYXJlIHByZXNlbnQsICBubyBjb250ZW50IGlzIGluY2x1ZGVkIGluIHRoZSB0ZXh0IHRoYXQgaXNuJ3QgZm91bmQgaW4gYSBwYXJ0LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJmYW1pbHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkZhbWlseSBuYW1lIChvZnRlbiBjYWxsZWQgJ1N1cm5hbWUnKSIgZGVmaW5pdGlvbj0iVGhlIHBhcnQgb2YgYSBuYW1lIHRoYXQgbGlua3MgdG8gdGhlIGdlbmVhbG9neS4gSW4gc29tZSBjdWx0dXJlcyAoZS5nLiBFcml0cmVhKSB0aGUgZmFtaWx5IG5hbWUgb2YgYSBzb24gaXMgdGhlIGZpcnN0IG5hbWUgb2YgaGlzIGZhdGhlci4iIGNvbW1lbnQ9IkZhbWlseSBOYW1lIG1heSBiZSBkZWNvbXBvc2VkIGludG8gc3BlY2lmaWMgcGFydHMgdXNpbmcgZXh0ZW5zaW9ucyAoZGUsIG5sLCBlcyByZWxhdGVkIGN1bHR1cmVzKS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZ2l2ZW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iR2l2ZW4gbmFtZXMgKG5vdCBhbHdheXMgJ2ZpcnN0JykuIEluY2x1ZGVzIG1pZGRsZSBuYW1lcyIgZGVmaW5pdGlvbj0iR2l2ZW4gbmFtZS4iIGNvbW1lbnQ9IklmIG9ubHkgaW5pdGlhbHMgYXJlIHJlY29yZGVkLCB0aGV5IG1heSBiZSB1c2VkIGluIHBsYWNlIG9mIHRoZSBmdWxsIG5hbWUgcGFydHMuIEluaXRpYWxzIG1heSBiZSBzZXBhcmF0ZWQgaW50byBtdWx0aXBsZSBnaXZlbiBuYW1lcyBidXQgb2Z0ZW4gYXJlbid0IGR1ZSB0byBwYXJhY3RpY2FsIGxpbWl0YXRpb25zLiAgVGhpcyBlbGVtZW50IGlzIG5vdCBjYWxsZWQgJnF1b3Q7Zmlyc3QgbmFtZSZxdW90OyBzaW5jZSBnaXZlbiBuYW1lcyBkbyBub3QgYWx3YXlzIGNvbWUgZmlyc3QuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwcmVmaXgiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUGFydHMgdGhhdCBjb21lIGJlZm9yZSB0aGUgbmFtZSIgZGVmaW5pdGlvbj0iUGFydCBvZiB0aGUgbmFtZSB0aGF0IGlzIGFjcXVpcmVkIGFzIGEgdGl0bGUgZHVlIHRvIGFjYWRlbWljLCBsZWdhbCwgZW1wbG95bWVudCBvciBub2JpbGl0eSBzdGF0dXMsIGV0Yy4gYW5kIHRoYXQgYXBwZWFycyBhdCB0aGUgc3RhcnQgb2YgdGhlIG5hbWUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWZmaXgiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUGFydHMgdGhhdCBjb21lIGFmdGVyIHRoZSBuYW1lIiBkZWZpbml0aW9uPSJQYXJ0IG9mIHRoZSBuYW1lIHRoYXQgaXMgYWNxdWlyZWQgYXMgYSB0aXRsZSBkdWUgdG8gYWNhZGVtaWMsIGxlZ2FsLCBlbXBsb3ltZW50IG9yIG5vYmlsaXR5IHN0YXR1cywgZXRjLiBhbmQgdGhhdCBhcHBlYXJzIGF0IHRoZSBlbmQgb2YgdGhlIG5hbWUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwZXJpb2QiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGltZSBwZXJpb2Qgd2hlbiBuYW1lIHdhcy9pcyBpbiB1c2UiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgcGVyaW9kIG9mIHRpbWUgd2hlbiB0aGlzIG5hbWUgd2FzIHZhbGlkIGZvciB0aGUgbmFtZWQgcGVyc29uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5FbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iSWRlbnRpZmllciIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0lkZW50aWZpZXIiIGxhYmVsPSJJZGVudGlmaWVyIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJ1c2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllclVzZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJ1c3VhbCB8IG9mZmljaWFsIHwgdGVtcCB8IHNlY29uZGFyeSB8IG9sZCAoSWYga25vd24pIiBkZWZpbml0aW9uPSJUaGUgcHVycG9zZSBvZiB0aGlzIGlkZW50aWZpZXIuIiBjb21tZW50PSJBcHBsaWNhdGlvbnMgY2FuIGFzc3VtZSB0aGF0IGFuIGlkZW50aWZpZXIgaXMgcGVybWFuZW50IHVubGVzcyBpdCBleHBsaWNpdGx5IHNheXMgdGhhdCBpdCBpcyB0ZW1wb3JhcnkuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iSWRlbnRpZmllclVzZSIgZGVzY3JpcHRpb249IklkZW50aWZpZXMgdGhlIHB1cnBvc2UgZm9yIHRoaXMgaWRlbnRpZmllciwgaWYga25vd24gLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRGVzY3JpcHRpb24gb2YgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iQSBjb2RlZCB0eXBlIGZvciB0aGUgaWRlbnRpZmllciB0aGF0IGNhbiBiZSB1c2VkIHRvIGRldGVybWluZSB3aGljaCBpZGVudGlmaWVyIHRvIHVzZSBmb3IgYSBzcGVjaWZpYyBwdXJwb3NlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGRlYWxzIG9ubHkgd2l0aCBnZW5lcmFsIGNhdGVnb3JpZXMgb2YgaWRlbnRpZmllcnMuICBJdCBTSE9VTEQgbm90IGJlIHVzZWQgZm9yIGNvZGVzIHRoYXQgY29ycmVzcG9uZCAxLi4xIHdpdGggdGhlIElkZW50aWZpZXIuc3lzdGVtLiBTb21lIGlkZW50aWZpZXJzIG1heSBmYWxsIGludG8gbXVsdGlwbGUgY2F0ZWdvcmllcyBkdWUgdG8gY29tbW9uIHVzYWdlLiAgIFdoZXJlIHRoZSBzeXN0ZW0gaXMga25vd24sIGEgdHlwZSBpcyB1bm5lY2Vzc2FyeSBiZWNhdXNlIHRoZSB0eXBlIGlzIGFsd2F5cyBwYXJ0IG9mIHRoZSBzeXN0ZW0gZGVmaW5pdGlvbi4gSG93ZXZlciBzeXN0ZW1zIG9mdGVuIG5lZWQgdG8gaGFuZGxlIGlkZW50aWZpZXJzIHdoZXJlIHRoZSBzeXN0ZW0gaXMgbm90IGtub3duLiBUaGVyZSBpcyBub3QgYSAxOjEgcmVsYXRpb25zaGlwIGJldHdlZW4gdHlwZSBhbmQgc3lzdGVtLCBzaW5jZSBtYW55IGRpZmZlcmVudCBzeXN0ZW1zIGhhdmUgdGhlIHNhbWUgdHlwZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJJZGVudGlmaWVyVHlwZSIgZGVzY3JpcHRpb249IkEgY29kZWQgdHlwZSBmb3IgYW4gaWRlbnRpZmllciB0aGF0IGNhbiBiZSB1c2VkIHRvIGRldGVybWluZSB3aGljaCBpZGVudGlmaWVyIHRvIHVzZSBmb3IgYSBzcGVjaWZpYyBwdXJwb3NlLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzeXN0ZW0iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSBuYW1lc3BhY2UgZm9yIHRoZSBpZGVudGlmaWVyIHZhbHVlIiBkZWZpbml0aW9uPSJFc3RhYmxpc2hlcyB0aGUgbmFtZXNwYWNlIGZvciB0aGUgdmFsdWUgLSB0aGF0IGlzLCBhIFVSTCB0aGF0IGRlc2NyaWJlcyBhIHNldCB2YWx1ZXMgdGhhdCBhcmUgdW5pcXVlLiIgY29tbWVudD0iSWRlbnRpZmllci5zeXN0ZW0gaXMgYWx3YXlzIGNhc2Ugc2Vuc2l0aXZlLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGhlIHZhbHVlIHRoYXQgaXMgdW5pcXVlIiBkZWZpbml0aW9uPSJUaGUgcG9ydGlvbiBvZiB0aGUgaWRlbnRpZmllciB0eXBpY2FsbHkgcmVsZXZhbnQgdG8gdGhlIHVzZXIgYW5kIHdoaWNoIGlzIHVuaXF1ZSB3aXRoaW4gdGhlIGNvbnRleHQgb2YgdGhlIHN5c3RlbS4iIGNvbW1lbnQ9IklmIHRoZSB2YWx1ZSBpcyBhIGZ1bGwgVVJJLCB0aGVuIHRoZSBzeXN0ZW0gU0hBTEwgYmUgdXJuOmlldGY6cmZjOjM5ODYuICBUaGUgdmFsdWUncyBwcmltYXJ5IHB1cnBvc2UgaXMgY29tcHV0YXRpb25hbCBtYXBwaW5nLiAgQXMgYSByZXN1bHQsIGl0IG1heSBiZSBub3JtYWxpemVkIGZvciBjb21wYXJpc29uIHB1cnBvc2VzIChlLmcuIHJlbW92aW5nIG5vbi1zaWduaWZpY2FudCB3aGl0ZXNwYWNlLCBkYXNoZXMsIGV0Yy4pICBBIHZhbHVlIGZvcm1hdHRlZCBmb3IgaHVtYW4gZGlzcGxheSBjYW4gYmUgY29udmV5ZWQgdXNpbmcgdGhlIFtSZW5kZXJlZCBWYWx1ZSBleHRlbnNpb25dKGV4dGVuc2lvbi1yZW5kZXJlZC12YWx1ZS5odG1sKS4gSWRlbnRpZmllci52YWx1ZSBpcyB0byBiZSB0cmVhdGVkIGFzIGNhc2Ugc2Vuc2l0aXZlIHVubGVzcyBrbm93bGVkZ2Ugb2YgdGhlIElkZW50aWZpZXIuc3lzdGVtIGFsbG93cyB0aGUgcHJvY2Vzc2VyIHRvIGJlIGNvbmZpZGVudCB0aGF0IG5vbi1jYXNlLXNlbnNpdGl2ZSBwcm9jZXNzaW5nIGlzIHNhZmUuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaW1lIHBlcmlvZCB3aGVuIGlkIGlzL3dhcyB2YWxpZCBmb3IgdXNlIiBkZWZpbml0aW9uPSJUaW1lIHBlcmlvZCBkdXJpbmcgd2hpY2ggaWRlbnRpZmllciBpcy93YXMgdmFsaWQgZm9yIHVzZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYXNzaWduZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iT3JnYW5pemF0aW9uIHRoYXQgaXNzdWVkIGlkIChtYXkgYmUganVzdCB0ZXh0KSIgZGVmaW5pdGlvbj0iT3JnYW5pemF0aW9uIHRoYXQgaXNzdWVkL21hbmFnZXMgdGhlIGlkZW50aWZpZXIuIiBjb21tZW50PSJUaGUgSWRlbnRpZmllci5hc3NpZ25lciBtYXkgb21pdCB0aGUgLnJlZmVyZW5jZSBlbGVtZW50IGFuZCBvbmx5IGNvbnRhaW4gYSAuZGlzcGxheSBlbGVtZW50IHJlZmxlY3RpbmcgdGhlIG5hbWUgb3Igb3RoZXIgdGV4dHVhbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgYXNzaWduaW5nIG9yZ2FuaXphdGlvbi4iLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iSWRlbnRpZmllclVzZSIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iSW1hZ2luZ1N0dWR5IiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1pbWFnaW5nc3R1ZHkiIGxhYmVsPSJRSUNvcmUgSW1hZ2luZ1N0dWR5IiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJwcm9jZWR1cmVDb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IklkZW50aWZpZXJzIGZvciB0aGUgd2hvbGUgc3R1ZHkiIGRlZmluaXRpb249IklkZW50aWZpZXJzIGZvciB0aGUgSW1hZ2luZ1N0dWR5IHN1Y2ggYXMgRElDT00gU3R1ZHkgSW5zdGFuY2UgVUlELCBhbmQgQWNjZXNzaW9uIE51bWJlci4iIGNvbW1lbnQ9IlNlZSBkaXNjdXNzaW9uIHVuZGVyIFtJbWFnaW5nIFN0dWR5IEltcGxlbWVudGF0aW9uIE5vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2ltYWdpbmdzdHVkeS5odG1sI25vdGVzKSBmb3IgZW5jb2Rpbmcgb2YgRElDT00gU3R1ZHkgSW5zdGFuY2UgVUlELiBBY2Nlc3Npb24gTnVtYmVyIHNob3VsZCB1c2UgQUNTTiBJZGVudGlmaWVyIHR5cGUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLkltYWdpbmdTdHVkeVN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyZWdpc3RlcmVkIHwgYXZhaWxhYmxlIHwgY2FuY2VsbGVkIHwgZW50ZXJlZC1pbi1lcnJvciB8IHVua25vd24iIGRlZmluaXRpb249IlRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBJbWFnaW5nU3R1ZHkuIiBjb21tZW50PSJVbmtub3duIGRvZXMgbm90IHJlcHJlc2VudCAmcXVvdDtvdGhlciZxdW90OyAtIG9uZSBvZiB0aGUgZGVmaW5lZCBzdGF0dXNlcyBtdXN0IGFwcGx5LiAgVW5rbm93biBpcyB1c2VkIHdoZW4gdGhlIGF1dGhvcmluZyBzeXN0ZW0gaXMgbm90IHN1cmUgd2hhdCB0aGUgY3VycmVudCBzdGF0dXMgaXMuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iSW1hZ2luZ1N0dWR5U3RhdHVzIiBkZXNjcmlwdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgSW1hZ2luZ1N0dWR5LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibW9kYWxpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBbGwgc2VyaWVzIG1vZGFsaXR5IGlmIGFjdHVhbCBhY3F1aXNpdGlvbiBtb2RhbGl0aWVzIiBkZWZpbml0aW9uPSJBIGxpc3Qgb2YgYWxsIHRoZSBzZXJpZXMubW9kYWxpdHkgdmFsdWVzIHRoYXQgYXJlIGFjdHVhbCBhY3F1aXNpdGlvbiBtb2RhbGl0aWVzLCBpLmUuIHRob3NlIGluIHRoZSBESUNPTSBDb250ZXh0IEdyb3VwIDI5ICh2YWx1ZSBzZXQgT0lEIDEuMi44NDAuMTAwMDguNi4xLjE5KS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db2RlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iSW1hZ2luZ01vZGFsaXR5IiBkZXNjcmlwdGlvbj0iVHlwZSBvZiBhY3F1aXJlZCBkYXRhIGluIHRoZSBpbnN0YW5jZS4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaG8gb3Igd2hhdCBpcyB0aGUgc3ViamVjdCBvZiB0aGUgc3R1ZHkiIGRlZmluaXRpb249IlRoZSBzdWJqZWN0LCB0eXBpY2FsbHkgYSBwYXRpZW50LCBvZiB0aGUgaW1hZ2luZyBzdHVkeS4iIGNvbW1lbnQ9IlFBIHBoYW50b21zIGNhbiBiZSByZWNvcmRlZCB3aXRoIGEgRGV2aWNlOyBtdWx0aXBsZSBzdWJqZWN0cyAoc3VjaCBhcyBtaWNlKSBjYW4gYmUgcmVjb3JkZWQgd2l0aCBhIEdyb3VwLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkVuY291bnRlciB3aXRoIHdoaWNoIHRoaXMgaW1hZ2luZyBzdHVkeSBpcyBhc3NvY2lhdGVkIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAoZS5nLiBhIHBhdGllbnQgYW5kIGhlYWx0aGNhcmUgcHJvdmlkZXIgaW50ZXJhY3Rpb24pIGR1cmluZyB3aGljaCB0aGlzIEltYWdpbmdTdHVkeSBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gdGVzdCkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXJ0ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hlbiB0aGUgc3R1ZHkgd2FzIHN0YXJ0ZWQiIGRlZmluaXRpb249IkRhdGUgYW5kIHRpbWUgdGhlIHN0dWR5IHN0YXJ0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iUmVxdWVzdCBmdWxmaWxsZWQiIGRlZmluaXRpb249IkEgbGlzdCBvZiB0aGUgZGlhZ25vc3RpYyByZXF1ZXN0cyB0aGF0IHJlc3VsdGVkIGluIHRoaXMgaW1hZ2luZyBzdHVkeSBiZWluZyBwZXJmb3JtZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVmZXJyZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iUmVmZXJyaW5nIHBoeXNpY2lhbiIgZGVmaW5pdGlvbj0iVGhlIHJlcXVlc3RpbmcvcmVmZXJyaW5nIHBoeXNpY2lhbi4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlcnByZXRlciIgZGVzY3JpcHRpb249IldobyBpbnRlcnByZXRlZCBpbWFnZXMiIGRlZmluaXRpb249IldobyByZWFkIHRoZSBzdHVkeSBhbmQgaW50ZXJwcmV0ZWQgdGhlIGltYWdlcyBvciBvdGhlciBjb250ZW50LiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmRwb2ludCIgZGVzY3JpcHRpb249IlN0dWR5IGFjY2VzcyBlbmRwb2ludCIgZGVmaW5pdGlvbj0iVGhlIG5ldHdvcmsgc2VydmljZSBwcm92aWRpbmcgYWNjZXNzIChlLmcuLCBxdWVyeSwgdmlldywgb3IgcmV0cmlldmFsKSBmb3IgdGhlIHN0dWR5LiBTZWUgaW1wbGVtZW50YXRpb24gbm90ZXMgZm9yIGluZm9ybWF0aW9uIGFib3V0IHVzaW5nIERJQ09NIGVuZHBvaW50cy4gQSBzdHVkeS1sZXZlbCBlbmRwb2ludCBhcHBsaWVzIHRvIGVhY2ggc2VyaWVzIGluIHRoZSBzdHVkeSwgdW5sZXNzIG92ZXJyaWRkZW4gYnkgYSBzZXJpZXMtbGV2ZWwgZW5kcG9pbnQgd2l0aCB0aGUgc2FtZSBFbmRwb2ludC5jb25uZWN0aW9uVHlwZS4iIGNvbW1lbnQ9IlR5cGljYWwgZW5kcG9pbnQgdHlwZXMgaW5jbHVkZSBESUNPTSBXQURPLVJTLCB3aGljaCBpcyB1c2VkIHRvIHJldHJpZXZlIERJQ09NIGluc3RhbmNlcyBpbiBuYXRpdmUgb3IgcmVuZGVyZWQgKGUuZy4sIEpQRywgUE5HKSwgZm9ybWF0cyB1c2luZyBhIFJFU1RmdWwgQVBJOyBESUNPTSBXQURPLVVSSSwgd2hpY2ggY2FuIHNpbWlsYXJseSByZXRyaWV2ZSBuYXRpdmUgb3IgcmVuZGVyZWQgaW5zdGFuY2VzLCBleGNlcHQgdXNpbmcgYW4gSFRUUCBxdWVyeS1iYXNlZCBhcHByb2FjaDsgRElDT00gUUlETy1SUywgd2hpY2ggYWxsb3dzIFJFU1RmdWwgcXVlcnkgZm9yIERJQ09NIGluZm9ybWF0aW9uIHdpdGhvdXQgcmV0cmlldmluZyB0aGUgYWN0dWFsIGluc3RhbmNlczsgb3IgSUhFIEludm9rZSBJbWFnZSBEaXNwbGF5IChJSUQpLCB3aGljaCBwcm92aWRlcyBzdGFuZGFyZCBpbnZvY2F0aW9uIG9mIGFuIGltYWdpbmcgd2ViIHZpZXdlci4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im51bWJlck9mU2VyaWVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTnVtYmVyIG9mIFN0dWR5IFJlbGF0ZWQgU2VyaWVzIiBkZWZpbml0aW9uPSJOdW1iZXIgb2YgU2VyaWVzIGluIHRoZSBTdHVkeS4gVGhpcyB2YWx1ZSBnaXZlbiBtYXkgYmUgbGFyZ2VyIHRoYW4gdGhlIG51bWJlciBvZiBzZXJpZXMgZWxlbWVudHMgdGhpcyBSZXNvdXJjZSBjb250YWlucyBkdWUgdG8gcmVzb3VyY2UgYXZhaWxhYmlsaXR5LCBzZWN1cml0eSwgb3Igb3RoZXIgZmFjdG9ycy4gVGhpcyBlbGVtZW50IHNob3VsZCBiZSBwcmVzZW50IGlmIGFueSBzZXJpZXMgZWxlbWVudHMgYXJlIHByZXNlbnQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im51bWJlck9mSW5zdGFuY2VzIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTnVtYmVyIG9mIFN0dWR5IFJlbGF0ZWQgSW5zdGFuY2VzIiBkZWZpbml0aW9uPSJOdW1iZXIgb2YgU09QIEluc3RhbmNlcyBpbiBTdHVkeS4gVGhpcyB2YWx1ZSBnaXZlbiBtYXkgYmUgbGFyZ2VyIHRoYW4gdGhlIG51bWJlciBvZiBpbnN0YW5jZSBlbGVtZW50cyB0aGlzIHJlc291cmNlIGNvbnRhaW5zIGR1ZSB0byByZXNvdXJjZSBhdmFpbGFiaWxpdHksIHNlY3VyaXR5LCBvciBvdGhlciBmYWN0b3JzLiBUaGlzIGVsZW1lbnQgc2hvdWxkIGJlIHByZXNlbnQgaWYgYW55IGluc3RhbmNlIGVsZW1lbnRzIGFyZSBwcmVzZW50LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwcm9jZWR1cmVSZWZlcmVuY2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iVGhlIHBlcmZvcm1lZCBQcm9jZWR1cmUgcmVmZXJlbmNlIiBkZWZpbml0aW9uPSJUaGUgcHJvY2VkdXJlIHdoaWNoIHRoaXMgSW1hZ2luZ1N0dWR5IHdhcyBwYXJ0IG9mLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icHJvY2VkdXJlQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRoZSBwZXJmb3JtZWQgcHJvY2VkdXJlIGNvZGUiIGRlZmluaXRpb249IlRoZSBjb2RlIGZvciB0aGUgcGVyZm9ybWVkIHByb2NlZHVyZSB0eXBlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJJbWFnaW5nUHJvY2VkdXJlQ29kZSIgZGVzY3JpcHRpb249IlRoZSBwZXJmb3JtZWQgcHJvY2VkdXJlIHR5cGUuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImxvY2F0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldoZXJlIEltYWdpbmdTdHVkeSBvY2N1cnJlZCIgZGVmaW5pdGlvbj0iVGhlIHByaW5jaXBhbCBwaHlzaWNhbCBsb2NhdGlvbiB3aGVyZSB0aGUgSW1hZ2luZ1N0dWR5IHdhcyBwZXJmb3JtZWQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvbkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgdGhlIHN0dWR5IHdhcyByZXF1ZXN0ZWQiIGRlZmluaXRpb249IkRlc2NyaXB0aW9uIG9mIGNsaW5pY2FsIGNvbmRpdGlvbiBpbmRpY2F0aW5nIHdoeSB0aGUgSW1hZ2luZ1N0dWR5IHdhcyByZXF1ZXN0ZWQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkltYWdpbmdSZWFzb24iIGRlc2NyaXB0aW9uPSJUaGUgcmVhc29uIGZvciB0aGUgc3R1ZHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvblJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldoeSB3YXMgc3R1ZHkgcGVyZm9ybWVkIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgYW5vdGhlciByZXNvdXJjZSB3aG9zZSBleGlzdGVuY2UganVzdGlmaWVzIHRoaXMgU3R1ZHkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iVXNlci1kZWZpbmVkIGNvbW1lbnRzIiBkZWZpbml0aW9uPSJQZXIgdGhlIHJlY29tbWVuZGVkIERJQ09NIG1hcHBpbmcsIHRoaXMgZWxlbWVudCBpcyBkZXJpdmVkIGZyb20gdGhlIFN0dWR5IERlc2NyaXB0aW9uIGF0dHJpYnV0ZSAoMDAwOCwxMDMwKS4gT2JzZXJ2YXRpb25zIG9yIGZpbmRpbmdzIGFib3V0IHRoZSBpbWFnaW5nIHN0dWR5IHNob3VsZCBiZSByZWNvcmRlZCBpbiBhbm90aGVyIHJlc291cmNlLCBlLmcuIE9ic2VydmF0aW9uLCBhbmQgbm90IGluIHRoaXMgZWxlbWVudC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXNjcmlwdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGl0dXRpb24tZ2VuZXJhdGVkIGRlc2NyaXB0aW9uIiBkZWZpbml0aW9uPSJUaGUgSW1hZ2luZyBNYW5hZ2VyIGRlc2NyaXB0aW9uIG9mIHRoZSBzdHVkeS4gSW5zdGl0dXRpb24tZ2VuZXJhdGVkIGRlc2NyaXB0aW9uIG9yIGNsYXNzaWZpY2F0aW9uIG9mIHRoZSBTdHVkeSAoY29tcG9uZW50KSBwZXJmb3JtZWQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InNlcmllcyIgZGVzY3JpcHRpb249IkVhY2ggc3R1ZHkgaGFzIG9uZSBvciBtb3JlIHNlcmllcyBvZiBpbnN0YW5jZXMiIGRlZmluaXRpb249IkVhY2ggc3R1ZHkgaGFzIG9uZSBvciBtb3JlIHNlcmllcyBvZiBpbWFnZXMgb3Igb3RoZXIgY29udGVudC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JbWFnaW5nU3R1ZHkuU2VyaWVzIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0icGF0aWVudCIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJJbWFnaW5nU3R1ZHkuU2VyaWVzIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJ1aWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRJQ09NIFNlcmllcyBJbnN0YW5jZSBVSUQgZm9yIHRoZSBzZXJpZXMiIGRlZmluaXRpb249IlRoZSBESUNPTSBTZXJpZXMgSW5zdGFuY2UgVUlEIGZvciB0aGUgc2VyaWVzLiIgY29tbWVudD0iU2VlIFtESUNPTSBQUzMuMyBDLjcuM10oaHR0cDovL2RpY29tLm5lbWEub3JnL21lZGljYWwvZGljb20vY3VycmVudC9vdXRwdXQvY2h0bWwvcGFydDAzL3NlY3RfQy43LjMuaHRtbCkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im51bWJlciIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik51bWVyaWMgaWRlbnRpZmllciBvZiB0aGlzIHNlcmllcyIgZGVmaW5pdGlvbj0iVGhlIG51bWVyaWMgaWRlbnRpZmllciBvZiB0aGlzIHNlcmllcyBpbiB0aGUgc3R1ZHkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1vZGFsaXR5IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgbW9kYWxpdHkgb2YgdGhlIGluc3RhbmNlcyBpbiB0aGUgc2VyaWVzIiBkZWZpbml0aW9uPSJUaGUgbW9kYWxpdHkgb2YgdGhpcyBzZXJpZXMgc2VxdWVuY2UuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iSW1hZ2luZ01vZGFsaXR5IiBkZXNjcmlwdGlvbj0iVHlwZSBvZiBhY3F1aXJlZCBkYXRhIGluIHRoZSBpbnN0YW5jZS4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVzY3JpcHRpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkEgc2hvcnQgaHVtYW4gcmVhZGFibGUgc3VtbWFyeSBvZiB0aGUgc2VyaWVzIiBkZWZpbml0aW9uPSJBIGRlc2NyaXB0aW9uIG9mIHRoZSBzZXJpZXMuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im51bWJlck9mSW5zdGFuY2VzIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTnVtYmVyIG9mIFNlcmllcyBSZWxhdGVkIEluc3RhbmNlcyIgZGVmaW5pdGlvbj0iTnVtYmVyIG9mIFNPUCBJbnN0YW5jZXMgaW4gdGhlIFN0dWR5LiBUaGUgdmFsdWUgZ2l2ZW4gbWF5IGJlIGxhcmdlciB0aGFuIHRoZSBudW1iZXIgb2YgaW5zdGFuY2UgZWxlbWVudHMgdGhpcyByZXNvdXJjZSBjb250YWlucyBkdWUgdG8gcmVzb3VyY2UgYXZhaWxhYmlsaXR5LCBzZWN1cml0eSwgb3Igb3RoZXIgZmFjdG9ycy4gVGhpcyBlbGVtZW50IHNob3VsZCBiZSBwcmVzZW50IGlmIGFueSBpbnN0YW5jZSBlbGVtZW50cyBhcmUgcHJlc2VudC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZW5kcG9pbnQiIGRlc2NyaXB0aW9uPSJTZXJpZXMgYWNjZXNzIGVuZHBvaW50IiBkZWZpbml0aW9uPSJUaGUgbmV0d29yayBzZXJ2aWNlIHByb3ZpZGluZyBhY2Nlc3MgKGUuZy4sIHF1ZXJ5LCB2aWV3LCBvciByZXRyaWV2YWwpIGZvciB0aGlzIHNlcmllcy4gU2VlIGltcGxlbWVudGF0aW9uIG5vdGVzIGZvciBpbmZvcm1hdGlvbiBhYm91dCB1c2luZyBESUNPTSBlbmRwb2ludHMuIEEgc2VyaWVzLWxldmVsIGVuZHBvaW50LCBpZiBwcmVzZW50LCBoYXMgcHJlY2VkZW5jZSBvdmVyIGEgc3R1ZHktbGV2ZWwgZW5kcG9pbnQgd2l0aCB0aGUgc2FtZSBFbmRwb2ludC5jb25uZWN0aW9uVHlwZS4iIGNvbW1lbnQ9IlR5cGljYWwgZW5kcG9pbnQgdHlwZXMgaW5jbHVkZSBESUNPTSBXQURPLVJTLCB3aGljaCBpcyB1c2VkIHRvIHJldHJpZXZlIERJQ09NIGluc3RhbmNlcyBpbiBuYXRpdmUgb3IgcmVuZGVyZWQgKGUuZy4sIEpQRywgUE5HKSBmb3JtYXRzIHVzaW5nIGEgUkVTVGZ1bCBBUEk7IERJQ09NIFdBRE8tVVJJLCB3aGljaCBjYW4gc2ltaWxhcmx5IHJldHJpZXZlIG5hdGl2ZSBvciByZW5kZXJlZCBpbnN0YW5jZXMsIGV4Y2VwdCB1c2luZyBhbiBIVFRQIHF1ZXJ5LWJhc2VkIGFwcHJvYWNoOyBhbmQgRElDT00gUUlETy1SUywgd2hpY2ggYWxsb3dzIFJFU1RmdWwgcXVlcnkgZm9yIERJQ09NIGluZm9ybWF0aW9uIHdpdGhvdXQgcmV0cmlldmluZyB0aGUgYWN0dWFsIGluc3RhbmNlcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJCb2R5IHBhcnQgZXhhbWluZWQiIGRlZmluaXRpb249IlRoZSBhbmF0b21pYyBzdHJ1Y3R1cmVzIGV4YW1pbmVkLiBTZWUgRElDT00gUGFydCAxNiBBbm5leCBMIChodHRwOi8vZGljb20ubmVtYS5vcmcvbWVkaWNhbC9kaWNvbS9jdXJyZW50L291dHB1dC9jaHRtbC9wYXJ0MTYvY2hhcHRlcl9MLmh0bWwpIGZvciBESUNPTSB0byBTTk9NRUQtQ1QgbWFwcGluZ3MuIFRoZSBib2R5U2l0ZSBtYXkgaW5kaWNhdGUgdGhlIGxhdGVyYWxpdHkgb2YgYm9keSBwYXJ0IGltYWdlZDsgaWYgc28sIGl0IHNoYWxsIGJlIGNvbnNpc3RlbnQgd2l0aCBhbnkgY29udGVudCBvZiBJbWFnaW5nU3R1ZHkuc2VyaWVzLmxhdGVyYWxpdHkuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQm9keVNpdGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGFuYXRvbWljYWwgbG9jYXRpb25zLiBNYXkgaW5jbHVkZSBsYXRlcmFsaXR5LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJsYXRlcmFsaXR5IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJCb2R5IHBhcnQgbGF0ZXJhbGl0eSIgZGVmaW5pdGlvbj0iVGhlIGxhdGVyYWxpdHkgb2YgdGhlIChwb3NzaWJseSBwYWlyZWQpIGFuYXRvbWljIHN0cnVjdHVyZXMgZXhhbWluZWQuIEUuZy4sIHRoZSBsZWZ0IGtuZWUsIGJvdGggbHVuZ3MsIG9yIHVucGFpcmVkIGFiZG9tZW4uIElmIHByZXNlbnQsIHNoYWxsIGJlIGNvbnNpc3RlbnQgd2l0aCBhbnkgbGF0ZXJhbGl0eSBpbmZvcm1hdGlvbiBpbmRpY2F0ZWQgaW4gSW1hZ2luZ1N0dWR5LnNlcmllcy5ib2R5U2l0ZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJMYXRlcmFsaXR5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBib2R5IHNpdGUgbGF0ZXJhbGl0eSAobGVmdCwgcmlnaHQsIGV0Yy4pLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZGVzY3JpcHRpb249IlNwZWNpbWVuIGltYWdlZCIgZGVmaW5pdGlvbj0iVGhlIHNwZWNpbWVuIGltYWdlZCwgZS5nLiwgZm9yIHdob2xlIHNsaWRlIGltYWdpbmcgb2YgYSBiaW9wc3kuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGFydGVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gdGhlIHNlcmllcyBzdGFydGVkIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGUgc2VyaWVzIHdhcyBzdGFydGVkLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJXaG8gcGVyZm9ybWVkIHRoZSBzZXJpZXMiIGRlZmluaXRpb249IkluZGljYXRlcyB3aG8gb3Igd2hhdCBwZXJmb3JtZWQgdGhlIHNlcmllcyBhbmQgaG93IHRoZXkgd2VyZSBpbnZvbHZlZC4iIGNvbW1lbnQ9IklmIHRoZSBwZXJzb24gd2hvIHBlcmZvcm1lZCB0aGUgc2VyaWVzIGlzIG5vdCBrbm93biwgdGhlaXIgT3JnYW5pemF0aW9uIG1heSBiZSByZWNvcmRlZC4gQSBwYXRpZW50LCBvciByZWxhdGVkIHBlcnNvbiwgbWF5IGJlIHRoZSBwZXJmb3JtZXIsIGUuZy4gZm9yIHBhdGllbnQtY2FwdHVyZWQgaW1hZ2VzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkltYWdpbmdTdHVkeS5TZXJpZXMuUGVyZm9ybWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW5jZSIgZGVzY3JpcHRpb249IkEgc2luZ2xlIFNPUCBpbnN0YW5jZSBmcm9tIHRoZSBzZXJpZXMiIGRlZmluaXRpb249IkEgc2luZ2xlIFNPUCBpbnN0YW5jZSB3aXRoaW4gdGhlIHNlcmllcywgZS5nLiBhbiBpbWFnZSwgb3IgcHJlc2VudGF0aW9uIHN0YXRlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkltYWdpbmdTdHVkeS5TZXJpZXMuSW5zdGFuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkltYWdpbmdTdHVkeS5TZXJpZXMuSW5zdGFuY2UiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InVpZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRElDT00gU09QIEluc3RhbmNlIFVJRCIgZGVmaW5pdGlvbj0iVGhlIERJQ09NIFNPUCBJbnN0YW5jZSBVSUQgZm9yIHRoaXMgaW1hZ2Ugb3Igb3RoZXIgRElDT00gY29udGVudC4iIGNvbW1lbnQ9IlNlZSAgW0RJQ09NIFBTMy4zIEMuMTIuMV0oaHR0cDovL2RpY29tLm5lbWEub3JnL21lZGljYWwvZGljb20vY3VycmVudC9vdXRwdXQvY2h0bWwvcGFydDAzL3NlY3RfQy4xMi5odG1sI3NlY3RfQy4xMi4xKS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic29wQ2xhc3MiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvZGUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkRJQ09NIGNsYXNzIHR5cGUiIGRlZmluaXRpb249IkRJQ09NIGluc3RhbmNlICB0eXBlLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9InNvcENsYXNzIiBkZXNjcmlwdGlvbj0iVGhlIHNvcENsYXNzIGZvciB0aGUgaW5zdGFuY2UuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im51bWJlciIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSBudW1iZXIgb2YgdGhpcyBpbnN0YW5jZSBpbiB0aGUgc2VyaWVzIiBkZWZpbml0aW9uPSJUaGUgbnVtYmVyIG9mIGluc3RhbmNlIGluIHRoZSBzZXJpZXMuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InRpdGxlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEZXNjcmlwdGlvbiBvZiBpbnN0YW5jZSIgZGVmaW5pdGlvbj0iVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBpbnN0YW5jZS4iIGNvbW1lbnQ9IlBhcnRpY3VsYXJseSBmb3IgcG9zdC1hY3F1aXNpdGlvbiBhbmFseXRpYyBvYmplY3RzLCBzdWNoIGFzIFNSLCBwcmVzZW50YXRpb24gc3RhdGVzLCB2YWx1ZSBtYXBwaW5nLCBldGMuIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkltYWdpbmdTdHVkeS5TZXJpZXMuUGVyZm9ybWVyIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJmdW5jdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVHlwZSBvZiBwZXJmb3JtYW5jZSIgZGVmaW5pdGlvbj0iRGlzdGluZ3Vpc2hlcyB0aGUgdHlwZSBvZiBpbnZvbHZlbWVudCBvZiB0aGUgcGVyZm9ybWVyIGluIHRoZSBzZXJpZXMuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRXZlbnRQZXJmb3JtZXJGdW5jdGlvbiIgZGVzY3JpcHRpb249IlRoZSB0eXBlIG9mIGludm9sdmVtZW50IG9mIHRoZSBwZXJmb3JtZXIuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFjdG9yIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBwZXJmb3JtZWQgdGhlIHNlcmllcyIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdobyBvciB3aGF0IHBlcmZvcm1lZCB0aGUgc2VyaWVzLiIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJJbWFnaW5nU3R1ZHlTdGF0dXMiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkltbXVuaXphdGlvbiIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtaW1tdW5pemF0aW9uIiBsYWJlbD0iUUlDb3JlIEltbXVuaXphdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0idmFjY2luZUNvZGUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIGltbXVuaXphdGlvbiByZWNvcmQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJjb21wbGV0ZWQgfCBlbnRlcmVkLWluLWVycm9yIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIGN1cnJlbnQgc3RhdHVzIG9mIHRoZSBpbW11bml6YXRpb24gZXZlbnQuIiBjb21tZW50PSJXaWxsIGdlbmVyYWxseSBiZSBzZXQgdG8gc2hvdyB0aGF0IHRoZSBpbW11bml6YXRpb24gaGFzIGJlZW4gY29tcGxldGVkIG9yIG5vdCBkb25lLiAgVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ2YWNjaW5lQ29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVmFjY2luZSBQcm9kdWN0IFR5cGUgKGJpbmQgdG8gQ1ZYKSIgZGVmaW5pdGlvbj0iVmFjY2luZSB0aGF0IHdhcyBhZG1pbmlzdGVyZWQgb3Igd2FzIHRvIGJlIGFkbWluaXN0ZXJlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXRpZW50IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyB3YXMgaW1tdW5pemVkIiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCB3aG8gZWl0aGVyIHJlY2VpdmVkIG9yIGRpZCBub3QgcmVjZWl2ZSB0aGUgaW1tdW5pemF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkVuY291bnRlciBpbW11bml6YXRpb24gd2FzIHBhcnQgb2YiIGRlZmluaXRpb249IlRoZSB2aXNpdCBvciBhZG1pc3Npb24gb3Igb3RoZXIgY29udGFjdCBiZXR3ZWVuIHBhdGllbnQgYW5kIGhlYWx0aCBjYXJlIHByb3ZpZGVyIHRoZSBpbW11bml6YXRpb24gd2FzIHBlcmZvcm1lZCBhcyBwYXJ0IG9mLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im9jY3VycmVuY2UiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVmFjY2luZSBhZG1pbmlzdHJhdGlvbiBkYXRlIiBkZWZpbml0aW9uPSJEYXRlIHZhY2NpbmUgYWRtaW5pc3RlcmVkIG9yIHdhcyB0byBiZSBhZG1pbmlzdGVyZWQuIiBjb21tZW50PSJXaGVuIGltbXVuaXphdGlvbnMgYXJlIGdpdmVuIGEgc3BlY2lmaWMgZGF0ZSBhbmQgdGltZSBzaG91bGQgYWx3YXlzIGJlIGtub3duLiAgIFdoZW4gaW1tdW5pemF0aW9ucyBhcmUgcGF0aWVudCByZXBvcnRlZCwgYSBzcGVjaWZpYyBkYXRlIG1pZ2h0IG5vdCBiZSBrbm93bi4gIEFsdGhvdWdoIHBhcnRpYWwgZGF0ZXMgYXJlIGFsbG93ZWQsIGFuIGFkdWx0IHBhdGllbnQgbWlnaHQgbm90IGJlIGFibGUgdG8gcmVjYWxsIHRoZSB5ZWFyIGEgY2hpbGRob29kIGltbXVuaXphdGlvbiB3YXMgZ2l2ZW4uIEFuIGV4YWN0IGRhdGUgaXMgYWx3YXlzIHByZWZlcmFibGUsIGJ1dCB0aGUgdXNlIG9mIHRoZSBTdHJpbmcgZGF0YSB0eXBlIGlzIGFjY2VwdGFibGUgd2hlbiBhbiBleGFjdCBkYXRlIGlzIG5vdCBrbm93bi4gQSBzbWFsbCBudW1iZXIgb2YgdmFjY2luZXMgKGUuZy4gbGl2ZSBvcmFsIHR5cGhvaWQgdmFjY2luZSkgYXJlIGdpdmVuIGFzIGEgc2VyaWVzIG9mIHBhdGllbnQgc2VsZi1hZG1pbmlzdGVyZWQgZG9zZSBvdmVyIGEgc3BhbiBvZiB0aW1lLiBJbiBjYXNlcyBsaWtlIHRoaXMsIG9mdGVuLCBvbmx5IHRoZSBmaXJzdCBkb3NlICh0eXBpY2FsbHkgYSBwcm92aWRlciBzdXBlcnZpc2VkIGRvc2UpIGlzIHJlY29yZGVkIHdpdGggdGhlIG9jY3VycmVuY2UgaW5kaWNhdGluZyB0aGUgZGF0ZS90aW1lIG9mIHRoZSBmaXJzdCBkb3NlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvcmRlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIHRoZSBpbW11bml6YXRpb24gd2FzIGZpcnN0IGNhcHR1cmVkIGluIHRoZSBzdWJqZWN0J3MgcmVjb3JkIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSB0aGUgb2NjdXJyZW5jZSBvZiB0aGUgaW1tdW5pemF0aW9uIHdhcyBmaXJzdCBjYXB0dXJlZCBpbiB0aGUgcmVjb3JkIC0gcG90ZW50aWFsbHkgc2lnbmlmaWNhbnRseSBhZnRlciB0aGUgb2NjdXJyZW5jZSBvZiB0aGUgZXZlbnQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwcmltYXJ5U291cmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5kaWNhdGVzIGNvbnRleHQgdGhlIGRhdGEgd2FzIHJlY29yZGVkIGluIiBkZWZpbml0aW9uPSJBbiBpbmRpY2F0aW9uIHRoYXQgdGhlIGNvbnRlbnQgb2YgdGhlIHJlY29yZCBpcyBiYXNlZCBvbiBpbmZvcm1hdGlvbiBmcm9tIHRoZSBwZXJzb24gd2hvIGFkbWluaXN0ZXJlZCB0aGUgdmFjY2luZS4gVGhpcyByZWZsZWN0cyB0aGUgY29udGV4dCB1bmRlciB3aGljaCB0aGUgZGF0YSB3YXMgb3JpZ2luYWxseSByZWNvcmRlZC4iIGNvbW1lbnQ9IlJlZmxlY3RzIHRoZSDigJxyZWxpYWJpbGl0eeKAnSBvZiB0aGUgY29udGVudC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlcG9ydE9yaWdpbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSW5kaWNhdGVzIHRoZSBzb3VyY2Ugb2YgYSBzZWNvbmRhcmlseSByZXBvcnRlZCByZWNvcmQiIGRlZmluaXRpb249IlRoZSBzb3VyY2Ugb2YgdGhlIGRhdGEgd2hlbiB0aGUgcmVwb3J0IG9mIHRoZSBpbW11bml6YXRpb24gZXZlbnQgaXMgbm90IGJhc2VkIG9uIGluZm9ybWF0aW9uIGZyb20gdGhlIHBlcnNvbiB3aG8gYWRtaW5pc3RlcmVkIHRoZSB2YWNjaW5lLiIgY29tbWVudD0iU2hvdWxkIG5vdCBiZSBwb3B1bGF0ZWQgaWYgcHJpbWFyeVNvdXJjZSA9IFRydWUsIG5vdCByZXF1aXJlZCBldmVuIGlmIHByaW1hcnlTb3VyY2UgPSBGYWxzZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJJbW11bml6YXRpb25SZXBvcnRPcmlnaW4iIGRlc2NyaXB0aW9uPSJUaGUgc291cmNlIG9mIHRoZSBkYXRhIGZvciBhIHJlY29yZCB3aGljaCBpcyBub3QgZnJvbSBhIHByaW1hcnkgc291cmNlLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaGVyZSBpbW11bml6YXRpb24gb2NjdXJyZWQiIGRlZmluaXRpb249IlRoZSBzZXJ2aWNlIGRlbGl2ZXJ5IGxvY2F0aW9uIHdoZXJlIHRoZSB2YWNjaW5lIGFkbWluaXN0cmF0aW9uIG9jY3VycmVkLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1hbnVmYWN0dXJlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJWYWNjaW5lIG1hbnVmYWN0dXJlciIgZGVmaW5pdGlvbj0iTmFtZSBvZiB2YWNjaW5lIG1hbnVmYWN0dXJlci4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJsb3ROdW1iZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlZhY2NpbmUgbG90IG51bWJlciIgZGVmaW5pdGlvbj0iTG90IG51bWJlciBvZiB0aGUgIHZhY2NpbmUgcHJvZHVjdC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZXhwaXJhdGlvbkRhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJWYWNjaW5lIGV4cGlyYXRpb24gZGF0ZSIgZGVmaW5pdGlvbj0iRGF0ZSB2YWNjaW5lIGJhdGNoIGV4cGlyZXMuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InNpdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkJvZHkgc2l0ZSB2YWNjaW5lICB3YXMgYWRtaW5pc3RlcmVkIiBkZWZpbml0aW9uPSJCb2R5IHNpdGUgd2hlcmUgdmFjY2luZSB3YXMgYWRtaW5pc3RlcmVkLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iSW1tdW5pemF0aW9uU2l0ZSIgZGVzY3JpcHRpb249IlRoZSBzaXRlIGF0IHdoaWNoIHRoZSB2YWNjaW5lIHdhcyBhZG1pbmlzdGVyZWQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJvdXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIb3cgdmFjY2luZSBlbnRlcmVkIGJvZHkiIGRlZmluaXRpb249IlRoZSBwYXRoIGJ5IHdoaWNoIHRoZSB2YWNjaW5lIHByb2R1Y3QgaXMgdGFrZW4gaW50byB0aGUgYm9keS4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkltbXVuaXphdGlvblJvdXRlIiBkZXNjcmlwdGlvbj0iVGhlIHJvdXRlIGJ5IHdoaWNoIHRoZSB2YWNjaW5lIHdhcyBhZG1pbmlzdGVyZWQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRvc2VRdWFudGl0eSIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBbW91bnQgb2YgdmFjY2luZSBhZG1pbmlzdGVyZWQiIGRlZmluaXRpb249IlRoZSBxdWFudGl0eSBvZiB2YWNjaW5lIHByb2R1Y3QgdGhhdCB3YXMgYWRtaW5pc3RlcmVkLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IldobyBwZXJmb3JtZWQgZXZlbnQiIGRlZmluaXRpb249IkluZGljYXRlcyB3aG8gcGVyZm9ybWVkIHRoZSBpbW11bml6YXRpb24gZXZlbnQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSW1tdW5pemF0aW9uLlBlcmZvcm1lciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkFkZGl0aW9uYWwgaW1tdW5pemF0aW9uIG5vdGVzIiBkZWZpbml0aW9uPSJFeHRyYSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgaW1tdW5pemF0aW9uIHRoYXQgaXMgbm90IGNvbnZleWVkIGJ5IHRoZSBvdGhlciBhdHRyaWJ1dGVzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvbkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgaW1tdW5pemF0aW9uIG9jY3VycmVkIiBkZWZpbml0aW9uPSJSZWFzb25zIHdoeSB0aGUgdmFjY2luZSB3YXMgYWRtaW5pc3RlcmVkLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkltbXVuaXphdGlvblJlYXNvbiIgZGVzY3JpcHRpb249IlRoZSByZWFzb24gd2h5IGEgdmFjY2luZSB3YXMgYWRtaW5pc3RlcmVkLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaHkgaW1tdW5pemF0aW9uIG9jY3VycmVkIiBkZWZpbml0aW9uPSJDb25kaXRpb24sIE9ic2VydmF0aW9uIG9yIERpYWdub3N0aWNSZXBvcnQgdGhhdCBzdXBwb3J0cyB3aHkgdGhlIGltbXVuaXphdGlvbiB3YXMgYWRtaW5pc3RlcmVkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaXNTdWJwb3RlbnQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEb3NlIHBvdGVuY3kiIGRlZmluaXRpb249IkluZGljYXRpb24gaWYgYSBkb3NlIGlzIGNvbnNpZGVyZWQgdG8gYmUgc3VicG90ZW50LiBCeSBkZWZhdWx0LCBhIGRvc2Ugc2hvdWxkIGJlIGNvbnNpZGVyZWQgdG8gYmUgcG90ZW50LiIgY29tbWVudD0iVHlwaWNhbGx5LCB0aGUgcmVjb2duaXRpb24gb2YgdGhlIGRvc2UgYmVpbmcgc3ViLXBvdGVudCBpcyByZXRyb3NwZWN0aXZlLCBhZnRlciB0aGUgYWRtaW5pc3RyYXRpb24gKGV4LiBub3RpZmljYXRpb24gb2YgYSBtYW51ZmFjdHVyZXIgcmVjYWxsIGFmdGVyIGFkbWluaXN0cmF0aW9uKS4gSG93ZXZlciwgaW4gdGhlIGNhc2Ugb2YgYSBwYXJ0aWFsIGFkbWluaXN0cmF0aW9uICh0aGUgcGF0aWVudCBtb3ZlcyB1bmV4cGVjdGVkbHkgYW5kIG9ubHkgc29tZSBvZiB0aGUgZG9zZSBpcyBhY3R1YWxseSBhZG1pbmlzdGVyZWQpLCBzdWJwb3RlbmN5IG1heSBiZSByZWNvZ25pemVkIGltbWVkaWF0ZWx5LCBidXQgaXQgaXMgc3RpbGwgaW1wb3J0YW50IHRvIHJlY29yZCB0aGUgZXZlbnQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YnBvdGVudFJlYXNvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlYXNvbiBmb3IgYmVpbmcgc3VicG90ZW50IiBkZWZpbml0aW9uPSJSZWFzb24gd2h5IGEgZG9zZSBpcyBjb25zaWRlcmVkIHRvIGJlIHN1YnBvdGVudC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU3VicG90ZW50UmVhc29uIiBkZXNjcmlwdGlvbj0iVGhlIHJlYXNvbiB3aHkgYSBkb3NlIGlzIGNvbnNpZGVyZWQgdG8gYmUgc3VicG90ZW50LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlZHVjYXRpb24iIGRlc2NyaXB0aW9uPSJFZHVjYXRpb25hbCBtYXRlcmlhbCBwcmVzZW50ZWQgdG8gcGF0aWVudCIgZGVmaW5pdGlvbj0iRWR1Y2F0aW9uYWwgbWF0ZXJpYWwgcHJlc2VudGVkIHRvIHRoZSBwYXRpZW50IChvciBndWFyZGlhbikgYXQgdGhlIHRpbWUgb2YgdmFjY2luZSBhZG1pbmlzdHJhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JbW11bml6YXRpb24uRWR1Y2F0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0iaW1tLTEiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iT25lIG9mIGRvY3VtZW50VHlwZSBvciByZWZlcmVuY2UgU0hBTEwgYmUgcHJlc2VudCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJkb2N1bWVudFR5cGUuZXhpc3RzKCkgb3IgcmVmZXJlbmNlLmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwcm9ncmFtRWxpZ2liaWxpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJQYXRpZW50IGVsaWdpYmlsaXR5IGZvciBhIHZhY2NpbmF0aW9uIHByb2dyYW0iIGRlZmluaXRpb249IkluZGljYXRlcyBhIHBhdGllbnQncyBlbGlnaWJpbGl0eSBmb3IgYSBmdW5kaW5nIHByb2dyYW0uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlByb2dyYW1FbGlnaWJpbGl0eSIgZGVzY3JpcHRpb249IlRoZSBwYXRpZW50J3MgZWxpZ2liaWxpdHkgZm9yIGEgdmFjY2F0aW9uIHByb2dyYW0uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImZ1bmRpbmdTb3VyY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkZ1bmRpbmcgc291cmNlIGZvciB0aGUgdmFjY2luZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBzb3VyY2Ugb2YgdGhlIHZhY2NpbmUgYWN0dWFsbHkgYWRtaW5pc3RlcmVkLiBUaGlzIG1heSBiZSBkaWZmZXJlbnQgdGhhbiB0aGUgcGF0aWVudCBlbGlnaWJpbGl0eSAoZS5nLiB0aGUgcGF0aWVudCBtYXkgYmUgZWxpZ2libGUgZm9yIGEgcHVibGljYWxseSBwdXJjaGFzZWQgdmFjY2luZSBidXQgZHVlIHRvIGludmVudG9yeSBpc3N1ZXMsIHZhY2NpbmUgcHVyY2hhc2VkIHdpdGggcHJpdmF0ZSBmdW5kcyB3YXMgYWN0dWFsbHkgYWRtaW5pc3RlcmVkKS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJGdW5kaW5nU291cmNlIiBkZXNjcmlwdGlvbj0iVGhlIHNvdXJjZSBvZiBmdW5kaW5nIHVzZWQgdG8gcHVyY2hhc2UgdGhlIHZhY2NpbmUgYWRtaW5pc3RlcmVkLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWFjdGlvbiIgZGVzY3JpcHRpb249IkRldGFpbHMgb2YgYSByZWFjdGlvbiB0aGF0IGZvbGxvd3MgaW1tdW5pemF0aW9uIiBkZWZpbml0aW9uPSJDYXRlZ29yaWNhbCBkYXRhIGluZGljYXRpbmcgdGhhdCBhbiBhZHZlcnNlIGV2ZW50IGlzIGFzc29jaWF0ZWQgaW4gdGltZSB0byBhbiBpbW11bml6YXRpb24uIiBjb21tZW50PSJBIHJlYWN0aW9uIG1heSBiZSBhbiBpbmRpY2F0aW9uIG9mIGFuIGFsbGVyZ3kgb3IgaW50b2xlcmFuY2UgYW5kLCBpZiB0aGlzIGlzIGRldGVybWluZWQgdG8gYmUgdGhlIGNhc2UsIGl0IHNob3VsZCBiZSByZWNvcmRlZCBhcyBhIG5ldyBBbGxlcmd5SW50b2xlcmFuY2UgcmVzb3VyY2UgaW5zdGFuY2UgYXMgbW9zdCBzeXN0ZW1zIHdpbGwgbm90IHF1ZXJ5IGFnYWluc3QgcGFzdCBJbW11bml6YXRpb24ucmVhY3Rpb24gZWxlbWVudHMuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JbW11bml6YXRpb24uUmVhY3Rpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InByb3RvY29sQXBwbGllZCIgZGVzY3JpcHRpb249IlByb3RvY29sIGZvbGxvd2VkIGJ5IHRoZSBwcm92aWRlciIgZGVmaW5pdGlvbj0iVGhlIHByb3RvY29sIChzZXQgb2YgcmVjb21tZW5kYXRpb25zKSBiZWluZyBmb2xsb3dlZCBieSB0aGUgcHJvdmlkZXIgd2hvIGFkbWluaXN0ZXJlZCB0aGUgZG9zZS4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkltbXVuaXphdGlvbi5Qcm90b2NvbEFwcGxpZWQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9ImFjdG9yIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJwYXRpZW50Ii8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkltbXVuaXphdGlvbi5FZHVjYXRpb24iIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRvY3VtZW50VHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRWR1Y2F0aW9uYWwgbWF0ZXJpYWwgZG9jdW1lbnQgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iSWRlbnRpZmllciBvZiB0aGUgbWF0ZXJpYWwgcHJlc2VudGVkIHRvIHRoZSBwYXRpZW50LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkVkdWNhdGlvbmFsIG1hdGVyaWFsIHJlZmVyZW5jZSBwb2ludGVyIiBkZWZpbml0aW9uPSJSZWZlcmVuY2UgcG9pbnRlciB0byB0aGUgZWR1Y2F0aW9uYWwgbWF0ZXJpYWwgZ2l2ZW4gdG8gdGhlIHBhdGllbnQgaWYgdGhlIGluZm9ybWF0aW9uIHdhcyBvbiBsaW5lLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwdWJsaWNhdGlvbkRhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRWR1Y2F0aW9uYWwgbWF0ZXJpYWwgcHVibGljYXRpb24gZGF0ZSIgZGVmaW5pdGlvbj0iRGF0ZSB0aGUgZWR1Y2F0aW9uYWwgbWF0ZXJpYWwgd2FzIHB1Ymxpc2hlZC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icHJlc2VudGF0aW9uRGF0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJFZHVjYXRpb25hbCBtYXRlcmlhbCBwcmVzZW50YXRpb24gZGF0ZSIgZGVmaW5pdGlvbj0iRGF0ZSB0aGUgZWR1Y2F0aW9uYWwgbWF0ZXJpYWwgd2FzIGdpdmVuIHRvIHRoZSBwYXRpZW50LiIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJJbW11bml6YXRpb24uUGVyZm9ybWVyIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJmdW5jdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2hhdCB0eXBlIG9mIHBlcmZvcm1hbmNlIHdhcyBkb25lIiBkZWZpbml0aW9uPSJEZXNjcmliZXMgdGhlIHR5cGUgb2YgcGVyZm9ybWFuY2UgKGUuZy4gb3JkZXJpbmcgcHJvdmlkZXIsIGFkbWluaXN0ZXJpbmcgcHJvdmlkZXIsIGV0Yy4pLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkltbXVuaXphdGlvbkZ1bmN0aW9uIiBkZXNjcmlwdGlvbj0iVGhlIHJvbGUgYSBwcmFjdGl0aW9uZXIgb3Igb3JnYW5pemF0aW9uIHBsYXlzIGluIHRoZSBpbW11bml6YXRpb24gZXZlbnQuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFjdG9yIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkluZGl2aWR1YWwgb3Igb3JnYW5pemF0aW9uIHdobyB3YXMgcGVyZm9ybWluZyIgZGVmaW5pdGlvbj0iVGhlIHByYWN0aXRpb25lciBvciBvcmdhbml6YXRpb24gd2hvIHBlcmZvcm1lZCB0aGUgYWN0aW9uLiIgY29tbWVudD0iV2hlbiB0aGUgaW5kaXZpZHVhbCBwcmFjdGl0aW9uZXIgd2hvIHBlcmZvcm1lZCB0aGUgYWN0aW9uIGlzIGtub3duLCBpdCBpcyBiZXN0IHRvIHNlbmQuIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkltbXVuaXphdGlvbi5Qcm90b2NvbEFwcGxpZWQiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InNlcmllcyIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTmFtZSBvZiB2YWNjaW5lIHNlcmllcyIgZGVmaW5pdGlvbj0iT25lIHBvc3NpYmxlIHBhdGggdG8gYWNoaWV2ZSBwcmVzdW1lZCBpbW11bml0eSBhZ2FpbnN0IGEgZGlzZWFzZSAtIHdpdGhpbiB0aGUgY29udGV4dCBvZiBhbiBhdXRob3JpdHkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImF1dGhvcml0eSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaG8gaXMgcmVzcG9uc2libGUgZm9yIHB1Ymxpc2hpbmcgdGhlIHJlY29tbWVuZGF0aW9ucyIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBhdXRob3JpdHkgd2hvIHB1Ymxpc2hlZCB0aGUgcHJvdG9jb2wgKGUuZy4gQUNJUCkgdGhhdCBpcyBiZWluZyBmb2xsb3dlZC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0idGFyZ2V0RGlzZWFzZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlZhY2NpbmUgcHJldmVudGF0YWJsZSBkaXNlYXNlIGJlaW5nIHRhcmdldHRlZCIgZGVmaW5pdGlvbj0iVGhlIHZhY2NpbmUgcHJldmVudGFibGUgZGlzZWFzZSB0aGUgZG9zZSBpcyBiZWluZyBhZG1pbmlzdGVyZWQgYWdhaW5zdC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iVGFyZ2V0RGlzZWFzZSIgZGVzY3JpcHRpb249IlRoZSB2YWNjaW5lIHByZXZlbnRhYmxlIGRpc2Vhc2UgdGhlIGRvc2UgaXMgYmVpbmcgYWRtaW5pc3RlcmVkIGZvci4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZG9zZU51bWJlciIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJEb3NlIG51bWJlciB3aXRoaW4gc2VyaWVzIiBkZWZpbml0aW9uPSJOb21pbmFsIHBvc2l0aW9uIGluIGEgc2VyaWVzLiIgY29tbWVudD0iVGhlIHVzZSBvZiBhbiBpbnRlZ2VyIGlzIHByZWZlcnJlZCBpZiBrbm93bi4gQSBzdHJpbmcgc2hvdWxkIG9ubHkgYmUgdXNlZCBpbiBjYXNlcyB3aGVyZSBhbiBpbnRlZ2VyIGlzIG5vdCBhdmFpbGFibGUgKHN1Y2ggYXMgd2hlbiBkb2N1bWVudGluZyBhIHJlY3VycmluZyBib29zdGVyIGRvc2UpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2VyaWVzRG9zZXMiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmVjb21tZW5kZWQgbnVtYmVyIG9mIGRvc2VzIGZvciBpbW11bml0eSIgZGVmaW5pdGlvbj0iVGhlIHJlY29tbWVuZGVkIG51bWJlciBvZiBkb3NlcyB0byBhY2hpZXZlIGltbXVuaXR5LiIgY29tbWVudD0iVGhlIHVzZSBvZiBhbiBpbnRlZ2VyIGlzIHByZWZlcnJlZCBpZiBrbm93bi4gQSBzdHJpbmcgc2hvdWxkIG9ubHkgYmUgdXNlZCBpbiBjYXNlcyB3aGVyZSBhbiBpbnRlZ2VyIGlzIG5vdCBhdmFpbGFibGUgKHN1Y2ggYXMgd2hlbiBkb2N1bWVudGluZyBhIHJlY3VycmluZyBib29zdGVyIGRvc2UpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iSW1tdW5pemF0aW9uLlJlYWN0aW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJkYXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gcmVhY3Rpb24gc3RhcnRlZCIgZGVmaW5pdGlvbj0iRGF0ZSBvZiByZWFjdGlvbiB0byB0aGUgaW1tdW5pemF0aW9uLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXRhaWwiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iQWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvbiByZWFjdGlvbiIgZGVmaW5pdGlvbj0iRGV0YWlscyBvZiB0aGUgcmVhY3Rpb24uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlcG9ydGVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5kaWNhdGVzIHNlbGYtcmVwb3J0ZWQgcmVhY3Rpb24iIGRlZmluaXRpb249IlNlbGYtcmVwb3J0ZWQgaW5kaWNhdG9yLiIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkltbXVuaXphdGlvbkV2YWx1YXRpb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWltbXVuaXphdGlvbmV2YWx1YXRpb24iIGxhYmVsPSJRSUNvcmUgSW1tdW5pemF0aW9uRXZhbHVhdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0idGFyZ2V0RGlzZWFzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJBIHVuaXF1ZSBpZGVudGlmaWVyIGFzc2lnbmVkIHRvIHRoaXMgaW1tdW5pemF0aW9uIGV2YWx1YXRpb24gcmVjb3JkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSW1tdW5pemF0aW9uRXZhbHVhdGlvblN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJjb21wbGV0ZWQgfCBlbnRlcmVkLWluLWVycm9yIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIGN1cnJlbnQgc3RhdHVzIG9mIHRoZSBldmFsdWF0aW9uIG9mIHRoZSB2YWNjaW5hdGlvbiBhZG1pbmlzdHJhdGlvbiBldmVudC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iSW1tdW5pemF0aW9uRXZhbHVhdGlvblN0YXR1cyIgZGVzY3JpcHRpb249IlRoZSBzdGF0dXMgb2YgdGhlIGV2YWx1YXRpb24gYmVpbmcgZG9uZS4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhdGllbnQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIHRoaXMgZXZhbHVhdGlvbiBpcyBmb3IiIGRlZmluaXRpb249IlRoZSBpbmRpdmlkdWFsIGZvciB3aG9tIHRoZSBldmFsdWF0aW9uIGlzIGJlaW5nIGRvbmUuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkYXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUgZXZhbHVhdGlvbiB3YXMgcGVyZm9ybWVkIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSB0aGUgZXZhbHVhdGlvbiBvZiB0aGUgdmFjY2luZSBhZG1pbmlzdHJhdGlvbiBldmVudCB3YXMgcGVyZm9ybWVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yaXR5IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBpcyByZXNwb25zaWJsZSBmb3IgcHVibGlzaGluZyB0aGUgcmVjb21tZW5kYXRpb25zIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIGF1dGhvcml0eSB3aG8gcHVibGlzaGVkIHRoZSBwcm90b2NvbCAoZS5nLiBBQ0lQKS4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ0YXJnZXREaXNlYXNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJFdmFsdWF0aW9uIHRhcmdldCBkaXNlYXNlIiBkZWZpbml0aW9uPSJUaGUgdmFjY2luZSBwcmV2ZW50YWJsZSBkaXNlYXNlIHRoZSBkb3NlIGlzIGJlaW5nIGV2YWx1YXRlZCBhZ2FpbnN0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW1tdW5pemF0aW9uRXZlbnQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSW1tdW5pemF0aW9uIGJlaW5nIGV2YWx1YXRlZCIgZGVmaW5pdGlvbj0iVGhlIHZhY2NpbmUgYWRtaW5pc3RyYXRpb24gZXZlbnQgYmVpbmcgZXZhbHVhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZG9zZVN0YXR1cyIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU3RhdHVzIG9mIHRoZSBkb3NlIHJlbGF0aXZlIHRvIHB1Ymxpc2hlZCByZWNvbW1lbmRhdGlvbnMiIGRlZmluaXRpb249IkluZGljYXRlcyBpZiB0aGUgZG9zZSBpcyB2YWxpZCBvciBub3QgdmFsaWQgd2l0aCByZXNwZWN0IHRvIHRoZSBwdWJsaXNoZWQgcmVjb21tZW5kYXRpb25zLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZG9zZVN0YXR1c1JlYXNvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlYXNvbiBmb3IgdGhlIGRvc2Ugc3RhdHVzIiBkZWZpbml0aW9uPSJQcm92aWRlcyBhbiBleHBsYW5hdGlvbiBhcyB0byB3aHkgdGhlIHZhY2NpbmUgYWRtaW5pc3RyYXRpb24gZXZlbnQgaXMgdmFsaWQgb3Igbm90IHJlbGF0aXZlIHRvIHRoZSBwdWJsaXNoZWQgcmVjb21tZW5kYXRpb25zLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRlc2NyaXB0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJFdmFsdWF0aW9uIG5vdGVzIiBkZWZpbml0aW9uPSJBZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBldmFsdWF0aW9uLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJzZXJpZXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik5hbWUgb2YgdmFjY2luZSBzZXJpZXMiIGRlZmluaXRpb249Ik9uZSBwb3NzaWJsZSBwYXRoIHRvIGFjaGlldmUgcHJlc3VtZWQgaW1tdW5pdHkgYWdhaW5zdCBhIGRpc2Vhc2UgLSB3aXRoaW4gdGhlIGNvbnRleHQgb2YgYW4gYXV0aG9yaXR5LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkb3NlTnVtYmVyIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkRvc2UgbnVtYmVyIHdpdGhpbiBzZXJpZXMiIGRlZmluaXRpb249Ik5vbWluYWwgcG9zaXRpb24gaW4gYSBzZXJpZXMuIiBjb21tZW50PSJUaGUgdXNlIG9mIGFuIGludGVnZXIgaXMgcHJlZmVycmVkIGlmIGtub3duLiBBIHN0cmluZyBzaG91bGQgb25seSBiZSB1c2VkIGluIGNhc2VzIHdoZXJlIGFuIGludGVnZXIgaXMgbm90IGF2YWlsYWJsZSAoc3VjaCBhcyB3aGVuIGRvY3VtZW50aW5nIGEgcmVjdXJyaW5nIGJvb3N0ZXIgZG9zZSkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzZXJpZXNEb3NlcyIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZWNvbW1lbmRlZCBudW1iZXIgb2YgZG9zZXMgZm9yIGltbXVuaXR5IiBkZWZpbml0aW9uPSJUaGUgcmVjb21tZW5kZWQgbnVtYmVyIG9mIGRvc2VzIHRvIGFjaGlldmUgaW1tdW5pdHkuIiBjb21tZW50PSJUaGUgdXNlIG9mIGFuIGludGVnZXIgaXMgcHJlZmVycmVkIGlmIGtub3duLiBBIHN0cmluZyBzaG91bGQgb25seSBiZSB1c2VkIGluIGNhc2VzIHdoZXJlIGFuIGludGVnZXIgaXMgbm90IGF2YWlsYWJsZSAoc3VjaCBhcyB3aGVuIGRvY3VtZW50aW5nIGEgcmVjdXJyaW5nIGJvb3N0ZXIgZG9zZSkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0icGF0aWVudCIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJJbW11bml6YXRpb25FdmFsdWF0aW9uU3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJJbW11bml6YXRpb25Ob3REb25lIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1pbW11bml6YXRpb25ub3Rkb25lIiBsYWJlbD0iUUlDb3JlIEltbXVuaXphdGlvbiBOb3QgRG9uZSIgdGFyZ2V0PSJJbW11bml6YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9InZhY2NpbmVDb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkJ1c2luZXNzIGlkZW50aWZpZXIiIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBpbW11bml6YXRpb24gcmVjb3JkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iY29tcGxldGVkIHwgZW50ZXJlZC1pbi1lcnJvciB8IG5vdC1kb25lIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIGN1cnJlbnQgc3RhdHVzIG9mIHRoZSBpbW11bml6YXRpb24gZXZlbnQuIiBjb21tZW50PSJXaWxsIGdlbmVyYWxseSBiZSBzZXQgdG8gc2hvdyB0aGF0IHRoZSBpbW11bml6YXRpb24gaGFzIGJlZW4gY29tcGxldGVkIG9yIG5vdCBkb25lLiAgVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXNSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlYXNvbiBub3QgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSByZWFzb24gdGhlIGltbXVuaXphdGlvbiBldmVudCB3YXMgbm90IHBlcmZvcm1lZC4iIGNvbW1lbnQ9IlRoaXMgaXMgZ2VuZXJhbGx5IG9ubHkgdXNlZCBmb3IgdGhlIHN0YXR1cyBvZiAmcXVvdDtub3QtZG9uZSZxdW90Oy4gVGhlIHJlYXNvbiBmb3IgcGVyZm9ybWluZyB0aGUgaW1tdW5pemF0aW9uIGV2ZW50IGlzIGNhcHR1cmVkIGluIHJlYXNvbkNvZGUsIG5vdCBoZXJlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhlIHJlYXNvbiB0aGUgc2VydmljZSB3YXMgbm90IHJlcXVlc3RlZCIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ2YWNjaW5lQ29kZSIgdGFyZ2V0PSJTeXN0ZW0uQ29uY2VwdDpGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKTtTeXN0ZW0uVmFsdWVTZXQ6RkhJUkhlbHBlcnMuVG9WYWx1ZVNldCglcGFyZW50LnZhY2NpbmVDb2RlLmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW5vdERvbmVWYWx1ZVNldCddLnZhbHVlLnZhbHVlKSIgZGVzY3JpcHRpb249IlZhY2NpbmUgUHJvZHVjdCBUeXBlIChiaW5kIHRvIENWWCkiIGRlZmluaXRpb249IlZhY2NpbmUgdGhhdCB3YXMgYWRtaW5pc3RlcmVkIG9yIHdhcyB0byBiZSBhZG1pbmlzdGVyZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iVmFsdWVTZXQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXRpZW50IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyB3YXMgaW1tdW5pemVkIiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCB3aG8gZWl0aGVyIHJlY2VpdmVkIG9yIGRpZCBub3QgcmVjZWl2ZSB0aGUgaW1tdW5pemF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkVuY291bnRlciBpbW11bml6YXRpb24gd2FzIHBhcnQgb2YiIGRlZmluaXRpb249IlRoZSB2aXNpdCBvciBhZG1pc3Npb24gb3Igb3RoZXIgY29udGFjdCBiZXR3ZWVuIHBhdGllbnQgYW5kIGhlYWx0aCBjYXJlIHByb3ZpZGVyIHRoZSBpbW11bml6YXRpb24gd2FzIHBlcmZvcm1lZCBhcyBwYXJ0IG9mLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im9jY3VycmVuY2UiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVmFjY2luZSBhZG1pbmlzdHJhdGlvbiBkYXRlIiBkZWZpbml0aW9uPSJEYXRlIHZhY2NpbmUgYWRtaW5pc3RlcmVkIG9yIHdhcyB0byBiZSBhZG1pbmlzdGVyZWQuIiBjb21tZW50PSJXaGVuIGltbXVuaXphdGlvbnMgYXJlIGdpdmVuIGEgc3BlY2lmaWMgZGF0ZSBhbmQgdGltZSBzaG91bGQgYWx3YXlzIGJlIGtub3duLiAgIFdoZW4gaW1tdW5pemF0aW9ucyBhcmUgcGF0aWVudCByZXBvcnRlZCwgYSBzcGVjaWZpYyBkYXRlIG1pZ2h0IG5vdCBiZSBrbm93bi4gIEFsdGhvdWdoIHBhcnRpYWwgZGF0ZXMgYXJlIGFsbG93ZWQsIGFuIGFkdWx0IHBhdGllbnQgbWlnaHQgbm90IGJlIGFibGUgdG8gcmVjYWxsIHRoZSB5ZWFyIGEgY2hpbGRob29kIGltbXVuaXphdGlvbiB3YXMgZ2l2ZW4uIEFuIGV4YWN0IGRhdGUgaXMgYWx3YXlzIHByZWZlcmFibGUsIGJ1dCB0aGUgdXNlIG9mIHRoZSBTdHJpbmcgZGF0YSB0eXBlIGlzIGFjY2VwdGFibGUgd2hlbiBhbiBleGFjdCBkYXRlIGlzIG5vdCBrbm93bi4gQSBzbWFsbCBudW1iZXIgb2YgdmFjY2luZXMgKGUuZy4gbGl2ZSBvcmFsIHR5cGhvaWQgdmFjY2luZSkgYXJlIGdpdmVuIGFzIGEgc2VyaWVzIG9mIHBhdGllbnQgc2VsZi1hZG1pbmlzdGVyZWQgZG9zZSBvdmVyIGEgc3BhbiBvZiB0aW1lLiBJbiBjYXNlcyBsaWtlIHRoaXMsIG9mdGVuLCBvbmx5IHRoZSBmaXJzdCBkb3NlICh0eXBpY2FsbHkgYSBwcm92aWRlciBzdXBlcnZpc2VkIGRvc2UpIGlzIHJlY29yZGVkIHdpdGggdGhlIG9jY3VycmVuY2UgaW5kaWNhdGluZyB0aGUgZGF0ZS90aW1lIG9mIHRoZSBmaXJzdCBkb3NlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvcmRlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIHRoZSBpbW11bml6YXRpb24gd2FzIGZpcnN0IGNhcHR1cmVkIGluIHRoZSBzdWJqZWN0J3MgcmVjb3JkIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSB0aGUgb2NjdXJyZW5jZSBvZiB0aGUgaW1tdW5pemF0aW9uIHdhcyBmaXJzdCBjYXB0dXJlZCBpbiB0aGUgcmVjb3JkIC0gcG90ZW50aWFsbHkgc2lnbmlmaWNhbnRseSBhZnRlciB0aGUgb2NjdXJyZW5jZSBvZiB0aGUgZXZlbnQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwcmltYXJ5U291cmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5kaWNhdGVzIGNvbnRleHQgdGhlIGRhdGEgd2FzIHJlY29yZGVkIGluIiBkZWZpbml0aW9uPSJBbiBpbmRpY2F0aW9uIHRoYXQgdGhlIGNvbnRlbnQgb2YgdGhlIHJlY29yZCBpcyBiYXNlZCBvbiBpbmZvcm1hdGlvbiBmcm9tIHRoZSBwZXJzb24gd2hvIGFkbWluaXN0ZXJlZCB0aGUgdmFjY2luZS4gVGhpcyByZWZsZWN0cyB0aGUgY29udGV4dCB1bmRlciB3aGljaCB0aGUgZGF0YSB3YXMgb3JpZ2luYWxseSByZWNvcmRlZC4iIGNvbW1lbnQ9IlJlZmxlY3RzIHRoZSDigJxyZWxpYWJpbGl0eeKAnSBvZiB0aGUgY29udGVudC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlcG9ydE9yaWdpbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSW5kaWNhdGVzIHRoZSBzb3VyY2Ugb2YgYSBzZWNvbmRhcmlseSByZXBvcnRlZCByZWNvcmQiIGRlZmluaXRpb249IlRoZSBzb3VyY2Ugb2YgdGhlIGRhdGEgd2hlbiB0aGUgcmVwb3J0IG9mIHRoZSBpbW11bml6YXRpb24gZXZlbnQgaXMgbm90IGJhc2VkIG9uIGluZm9ybWF0aW9uIGZyb20gdGhlIHBlcnNvbiB3aG8gYWRtaW5pc3RlcmVkIHRoZSB2YWNjaW5lLiIgY29tbWVudD0iU2hvdWxkIG5vdCBiZSBwb3B1bGF0ZWQgaWYgcHJpbWFyeVNvdXJjZSA9IFRydWUsIG5vdCByZXF1aXJlZCBldmVuIGlmIHByaW1hcnlTb3VyY2UgPSBGYWxzZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJJbW11bml6YXRpb25SZXBvcnRPcmlnaW4iIGRlc2NyaXB0aW9uPSJUaGUgc291cmNlIG9mIHRoZSBkYXRhIGZvciBhIHJlY29yZCB3aGljaCBpcyBub3QgZnJvbSBhIHByaW1hcnkgc291cmNlLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaGVyZSBpbW11bml6YXRpb24gb2NjdXJyZWQiIGRlZmluaXRpb249IlRoZSBzZXJ2aWNlIGRlbGl2ZXJ5IGxvY2F0aW9uIHdoZXJlIHRoZSB2YWNjaW5lIGFkbWluaXN0cmF0aW9uIG9jY3VycmVkLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJtYW51ZmFjdHVyZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iVmFjY2luZSBtYW51ZmFjdHVyZXIiIGRlZmluaXRpb249Ik5hbWUgb2YgdmFjY2luZSBtYW51ZmFjdHVyZXIuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImxvdE51bWJlciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVmFjY2luZSBsb3QgbnVtYmVyIiBkZWZpbml0aW9uPSJMb3QgbnVtYmVyIG9mIHRoZSAgdmFjY2luZSBwcm9kdWN0LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJleHBpcmF0aW9uRGF0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlZhY2NpbmUgZXhwaXJhdGlvbiBkYXRlIiBkZWZpbml0aW9uPSJEYXRlIHZhY2NpbmUgYmF0Y2ggZXhwaXJlcy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQm9keSBzaXRlIHZhY2NpbmUgIHdhcyBhZG1pbmlzdGVyZWQiIGRlZmluaXRpb249IkJvZHkgc2l0ZSB3aGVyZSB2YWNjaW5lIHdhcyBhZG1pbmlzdGVyZWQuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iSW1tdW5pemF0aW9uU2l0ZSIgZGVzY3JpcHRpb249IlRoZSBzaXRlIGF0IHdoaWNoIHRoZSB2YWNjaW5lIHdhcyBhZG1pbmlzdGVyZWQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJvdXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIb3cgdmFjY2luZSBlbnRlcmVkIGJvZHkiIGRlZmluaXRpb249IlRoZSBwYXRoIGJ5IHdoaWNoIHRoZSB2YWNjaW5lIHByb2R1Y3QgaXMgdGFrZW4gaW50byB0aGUgYm9keS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJJbW11bml6YXRpb25Sb3V0ZSIgZGVzY3JpcHRpb249IlRoZSByb3V0ZSBieSB3aGljaCB0aGUgdmFjY2luZSB3YXMgYWRtaW5pc3RlcmVkLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkb3NlUXVhbnRpdHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQW1vdW50IG9mIHZhY2NpbmUgYWRtaW5pc3RlcmVkIiBkZWZpbml0aW9uPSJUaGUgcXVhbnRpdHkgb2YgdmFjY2luZSBwcm9kdWN0IHRoYXQgd2FzIGFkbWluaXN0ZXJlZC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIHBlcmZvcm1lZCBldmVudCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdobyBwZXJmb3JtZWQgdGhlIGltbXVuaXphdGlvbiBldmVudC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JbW11bml6YXRpb24uUGVyZm9ybWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQWRkaXRpb25hbCBpbW11bml6YXRpb24gbm90ZXMiIGRlZmluaXRpb249IkV4dHJhIGluZm9ybWF0aW9uIGFib3V0IHRoZSBpbW11bml6YXRpb24gdGhhdCBpcyBub3QgY29udmV5ZWQgYnkgdGhlIG90aGVyIGF0dHJpYnV0ZXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoeSBpbW11bml6YXRpb24gb2NjdXJyZWQiIGRlZmluaXRpb249IlJlYXNvbnMgd2h5IHRoZSB2YWNjaW5lIHdhcyBhZG1pbmlzdGVyZWQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkltbXVuaXphdGlvblJlYXNvbiIgZGVzY3JpcHRpb249IlRoZSByZWFzb24gd2h5IGEgdmFjY2luZSB3YXMgYWRtaW5pc3RlcmVkLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaHkgaW1tdW5pemF0aW9uIG9jY3VycmVkIiBkZWZpbml0aW9uPSJDb25kaXRpb24sIE9ic2VydmF0aW9uIG9yIERpYWdub3N0aWNSZXBvcnQgdGhhdCBzdXBwb3J0cyB3aHkgdGhlIGltbXVuaXphdGlvbiB3YXMgYWRtaW5pc3RlcmVkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaXNTdWJwb3RlbnQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEb3NlIHBvdGVuY3kiIGRlZmluaXRpb249IkluZGljYXRpb24gaWYgYSBkb3NlIGlzIGNvbnNpZGVyZWQgdG8gYmUgc3VicG90ZW50LiBCeSBkZWZhdWx0LCBhIGRvc2Ugc2hvdWxkIGJlIGNvbnNpZGVyZWQgdG8gYmUgcG90ZW50LiIgY29tbWVudD0iVHlwaWNhbGx5LCB0aGUgcmVjb2duaXRpb24gb2YgdGhlIGRvc2UgYmVpbmcgc3ViLXBvdGVudCBpcyByZXRyb3NwZWN0aXZlLCBhZnRlciB0aGUgYWRtaW5pc3RyYXRpb24gKGV4LiBub3RpZmljYXRpb24gb2YgYSBtYW51ZmFjdHVyZXIgcmVjYWxsIGFmdGVyIGFkbWluaXN0cmF0aW9uKS4gSG93ZXZlciwgaW4gdGhlIGNhc2Ugb2YgYSBwYXJ0aWFsIGFkbWluaXN0cmF0aW9uICh0aGUgcGF0aWVudCBtb3ZlcyB1bmV4cGVjdGVkbHkgYW5kIG9ubHkgc29tZSBvZiB0aGUgZG9zZSBpcyBhY3R1YWxseSBhZG1pbmlzdGVyZWQpLCBzdWJwb3RlbmN5IG1heSBiZSByZWNvZ25pemVkIGltbWVkaWF0ZWx5LCBidXQgaXQgaXMgc3RpbGwgaW1wb3J0YW50IHRvIHJlY29yZCB0aGUgZXZlbnQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YnBvdGVudFJlYXNvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlYXNvbiBmb3IgYmVpbmcgc3VicG90ZW50IiBkZWZpbml0aW9uPSJSZWFzb24gd2h5IGEgZG9zZSBpcyBjb25zaWRlcmVkIHRvIGJlIHN1YnBvdGVudC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU3VicG90ZW50UmVhc29uIiBkZXNjcmlwdGlvbj0iVGhlIHJlYXNvbiB3aHkgYSBkb3NlIGlzIGNvbnNpZGVyZWQgdG8gYmUgc3VicG90ZW50LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlZHVjYXRpb24iIGRlc2NyaXB0aW9uPSJFZHVjYXRpb25hbCBtYXRlcmlhbCBwcmVzZW50ZWQgdG8gcGF0aWVudCIgZGVmaW5pdGlvbj0iRWR1Y2F0aW9uYWwgbWF0ZXJpYWwgcHJlc2VudGVkIHRvIHRoZSBwYXRpZW50IChvciBndWFyZGlhbikgYXQgdGhlIHRpbWUgb2YgdmFjY2luZSBhZG1pbmlzdHJhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JbW11bml6YXRpb24uRWR1Y2F0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0iaW1tLTEiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iT25lIG9mIGRvY3VtZW50VHlwZSBvciByZWZlcmVuY2UgU0hBTEwgYmUgcHJlc2VudCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJkb2N1bWVudFR5cGUuZXhpc3RzKCkgb3IgcmVmZXJlbmNlLmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwcm9ncmFtRWxpZ2liaWxpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJQYXRpZW50IGVsaWdpYmlsaXR5IGZvciBhIHZhY2NpbmF0aW9uIHByb2dyYW0iIGRlZmluaXRpb249IkluZGljYXRlcyBhIHBhdGllbnQncyBlbGlnaWJpbGl0eSBmb3IgYSBmdW5kaW5nIHByb2dyYW0uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlByb2dyYW1FbGlnaWJpbGl0eSIgZGVzY3JpcHRpb249IlRoZSBwYXRpZW50J3MgZWxpZ2liaWxpdHkgZm9yIGEgdmFjY2F0aW9uIHByb2dyYW0uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImZ1bmRpbmdTb3VyY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkZ1bmRpbmcgc291cmNlIGZvciB0aGUgdmFjY2luZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBzb3VyY2Ugb2YgdGhlIHZhY2NpbmUgYWN0dWFsbHkgYWRtaW5pc3RlcmVkLiBUaGlzIG1heSBiZSBkaWZmZXJlbnQgdGhhbiB0aGUgcGF0aWVudCBlbGlnaWJpbGl0eSAoZS5nLiB0aGUgcGF0aWVudCBtYXkgYmUgZWxpZ2libGUgZm9yIGEgcHVibGljYWxseSBwdXJjaGFzZWQgdmFjY2luZSBidXQgZHVlIHRvIGludmVudG9yeSBpc3N1ZXMsIHZhY2NpbmUgcHVyY2hhc2VkIHdpdGggcHJpdmF0ZSBmdW5kcyB3YXMgYWN0dWFsbHkgYWRtaW5pc3RlcmVkKS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJGdW5kaW5nU291cmNlIiBkZXNjcmlwdGlvbj0iVGhlIHNvdXJjZSBvZiBmdW5kaW5nIHVzZWQgdG8gcHVyY2hhc2UgdGhlIHZhY2NpbmUgYWRtaW5pc3RlcmVkLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWFjdGlvbiIgZGVzY3JpcHRpb249IkRldGFpbHMgb2YgYSByZWFjdGlvbiB0aGF0IGZvbGxvd3MgaW1tdW5pemF0aW9uIiBkZWZpbml0aW9uPSJDYXRlZ29yaWNhbCBkYXRhIGluZGljYXRpbmcgdGhhdCBhbiBhZHZlcnNlIGV2ZW50IGlzIGFzc29jaWF0ZWQgaW4gdGltZSB0byBhbiBpbW11bml6YXRpb24uIiBjb21tZW50PSJBIHJlYWN0aW9uIG1heSBiZSBhbiBpbmRpY2F0aW9uIG9mIGFuIGFsbGVyZ3kgb3IgaW50b2xlcmFuY2UgYW5kLCBpZiB0aGlzIGlzIGRldGVybWluZWQgdG8gYmUgdGhlIGNhc2UsIGl0IHNob3VsZCBiZSByZWNvcmRlZCBhcyBhIG5ldyBBbGxlcmd5SW50b2xlcmFuY2UgcmVzb3VyY2UgaW5zdGFuY2UgYXMgbW9zdCBzeXN0ZW1zIHdpbGwgbm90IHF1ZXJ5IGFnYWluc3QgcGFzdCBJbW11bml6YXRpb24ucmVhY3Rpb24gZWxlbWVudHMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSW1tdW5pemF0aW9uLlJlYWN0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwcm90b2NvbEFwcGxpZWQiIGRlc2NyaXB0aW9uPSJQcm90b2NvbCBmb2xsb3dlZCBieSB0aGUgcHJvdmlkZXIiIGRlZmluaXRpb249IlRoZSBwcm90b2NvbCAoc2V0IG9mIHJlY29tbWVuZGF0aW9ucykgYmVpbmcgZm9sbG93ZWQgYnkgdGhlIHByb3ZpZGVyIHdobyBhZG1pbmlzdGVyZWQgdGhlIGRvc2UuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSW1tdW5pemF0aW9uLlByb3RvY29sQXBwbGllZCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJJbW11bml6YXRpb25SZWNvbW1lbmRhdGlvbiIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtaW1tdW5pemF0aW9ucmVjb21tZW5kYXRpb24iIGxhYmVsPSJRSUNvcmUgSW1tdW5pemF0aW9uUmVjb21tZW5kYXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9InJlY29tbWVuZGF0aW9uLnZhY2NpbmVDb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkJ1c2luZXNzIGlkZW50aWZpZXIiIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBwYXJ0aWN1bGFyIHJlY29tbWVuZGF0aW9uIHJlY29yZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXRpZW50IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyB0aGlzIHByb2ZpbGUgaXMgZm9yIiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCB0aGUgcmVjb21tZW5kYXRpb24ocykgYXJlIGZvci4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZSByZWNvbW1lbmRhdGlvbihzKSBjcmVhdGVkIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSB0aGUgaW1tdW5pemF0aW9uIHJlY29tbWVuZGF0aW9uKHMpIHdlcmUgY3JlYXRlZC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yaXR5IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBpcyByZXNwb25zaWJsZSBmb3IgcHJvdG9jb2wiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgYXV0aG9yaXR5IHdobyBwdWJsaXNoZWQgdGhlIHByb3RvY29sIChlLmcuIEFDSVApLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlY29tbWVuZGF0aW9uIiBkZXNjcmlwdGlvbj0iVmFjY2luZSBhZG1pbmlzdHJhdGlvbiByZWNvbW1lbmRhdGlvbnMiIGRlZmluaXRpb249IlZhY2NpbmUgYWRtaW5pc3RyYXRpb24gcmVjb21tZW5kYXRpb25zLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JbW11bml6YXRpb25SZWNvbW1lbmRhdGlvbi5SZWNvbW1lbmRhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Imltci0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik9uZSBvZiB2YWNjaW5lQ29kZSBvciB0YXJnZXREaXNlYXNlIFNIQUxMIGJlIHByZXNlbnQiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0idmFjY2luZUNvZGUuZXhpc3RzKCkgb3IgdGFyZ2V0RGlzZWFzZS5leGlzdHMoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBhdGllbnQiLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iSW1tdW5pemF0aW9uUmVjb21tZW5kYXRpb24uUmVjb21tZW5kYXRpb24iIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhY2NpbmVDb2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVmFjY2luZSAgb3IgdmFjY2luZSBncm91cCByZWNvbW1lbmRhdGlvbiBhcHBsaWVzIHRvIiBkZWZpbml0aW9uPSJWYWNjaW5lKHMpIG9yIHZhY2NpbmUgZ3JvdXAgdGhhdCBwZXJ0YWluIHRvIHRoZSByZWNvbW1lbmRhdGlvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJDVlggVmFjY2luZXMgQWRtaW5pc3RlcmVkIFZhY2NpbmUgU2V0IiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InRhcmdldERpc2Vhc2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkRpc2Vhc2UgdG8gYmUgaW1tdW5pemVkIGFnYWluc3QiIGRlZmluaXRpb249IlRoZSB0YXJnZXRlZCBkaXNlYXNlIGZvciB0aGUgcmVjb21tZW5kYXRpb24uIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iVGFyZ2V0RGlzZWFzZSIgZGVzY3JpcHRpb249IlRoZSBkaXNlYXNlIHRoYXQgdGhlIHJlY29tbWVuZGVkIHZhY2NpbmF0aW9uIHRhcmdldHMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbnRyYWluZGljYXRlZFZhY2NpbmVDb2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVmFjY2luZSB3aGljaCBpcyBjb250cmFpbmRpY2F0ZWQgdG8gZnVsZmlsbCB0aGUgcmVjb21tZW5kYXRpb24iIGRlZmluaXRpb249IlZhY2NpbmUocykgd2hpY2ggc2hvdWxkIG5vdCBiZSB1c2VkIHRvIGZ1bGZpbGwgdGhlIHJlY29tbWVuZGF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJWYWNjaW5lQ29kZSIgZGVzY3JpcHRpb249IlRoZSB0eXBlIG9mIHZhY2NpbmUgYWRtaW5pc3RlcmVkLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJmb3JlY2FzdFN0YXR1cyIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVmFjY2luZSByZWNvbW1lbmRhdGlvbiBzdGF0dXMiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgcGF0aWVudCBzdGF0dXMgd2l0aCByZXNwZWN0IHRvIHRoZSBwYXRoIHRvIGltbXVuaXR5IGZvciB0aGUgdGFyZ2V0IGRpc2Vhc2UuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iSW1tdW5pemF0aW9uUmVjb21tZW5kYXRpb25TdGF0dXMiIGRlc2NyaXB0aW9uPSJUaGUgcGF0aWVudCdzIHN0YXR1cyB3aXRoIHJlc3BlY3QgdG8gYSB2YWNjaW5hdGlvbiBwcm90b2NvbC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZm9yZWNhc3RSZWFzb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJWYWNjaW5lIGFkbWluaXN0cmF0aW9uIHN0YXR1cyByZWFzb24iIGRlZmluaXRpb249IlRoZSByZWFzb24gZm9yIHRoZSBhc3NpZ25lZCBmb3JlY2FzdCBzdGF0dXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkltbXVuaXphdGlvblJlY29tbWVuZGF0aW9uUmVhc29uIiBkZXNjcmlwdGlvbj0iVGhlIHJlYXNvbiBmb3IgdGhlIHBhdGllbnQncyBzdGF0dXMgd2l0aCByZXNwZWN0IHRvIGEgdmFjY2luYXRpb24gcHJvdG9jb2wuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGVDcml0ZXJpb24iIGRlc2NyaXB0aW9uPSJEYXRlcyBnb3Zlcm5pbmcgcHJvcG9zZWQgaW1tdW5pemF0aW9uIiBkZWZpbml0aW9uPSJWYWNjaW5lIGRhdGUgcmVjb21tZW5kYXRpb25zLiAgRm9yIGV4YW1wbGUsIGVhcmxpZXN0IGRhdGUgdG8gYWRtaW5pc3RlciwgbGF0ZXN0IGRhdGUgdG8gYWRtaW5pc3RlciwgZXRjLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkltbXVuaXphdGlvblJlY29tbWVuZGF0aW9uLlJlY29tbWVuZGF0aW9uLkRhdGVDcml0ZXJpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRlc2NyaXB0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQcm90b2NvbCBkZXRhaWxzIiBkZWZpbml0aW9uPSJDb250YWlucyB0aGUgZGVzY3JpcHRpb24gYWJvdXQgdGhlIHByb3RvY29sIHVuZGVyIHdoaWNoIHRoZSB2YWNjaW5lIHdhcyBhZG1pbmlzdGVyZWQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InNlcmllcyIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTmFtZSBvZiB2YWNjaW5hdGlvbiBzZXJpZXMiIGRlZmluaXRpb249Ik9uZSBwb3NzaWJsZSBwYXRoIHRvIGFjaGlldmUgcHJlc3VtZWQgaW1tdW5pdHkgYWdhaW5zdCBhIGRpc2Vhc2UgLSB3aXRoaW4gdGhlIGNvbnRleHQgb2YgYW4gYXV0aG9yaXR5LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkb3NlTnVtYmVyIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlY29tbWVuZGVkIGRvc2UgbnVtYmVyIHdpdGhpbiBzZXJpZXMiIGRlZmluaXRpb249Ik5vbWluYWwgcG9zaXRpb24gb2YgdGhlIHJlY29tbWVuZGVkIGRvc2UgaW4gYSBzZXJpZXMgKGUuZy4gZG9zZSAyIGlzIHRoZSBuZXh0IHJlY29tbWVuZGVkIGRvc2UpLiIgY29tbWVudD0iVGhlIHVzZSBvZiBhbiBpbnRlZ2VyIGlzIHByZWZlcmVkIGlmIGtub3duLiBBIHN0cmluZyBzaG91bGQgb25seSBiZSB1c2VkIGluIGNhc2VzIHdoZXJlIGFuIGludGVyZ2VyIGlzIG5vdCBhdmFpbGFibGUgKHN1Y2ggYXMgd2hlbiBkb2N1bWVudGluZyBhIHJlY3VycmluZyBib29zdGVyIGRvc2UpLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InNlcmllc0Rvc2VzIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlY29tbWVuZGVkIG51bWJlciBvZiBkb3NlcyBmb3IgaW1tdW5pdHkiIGRlZmluaXRpb249IlRoZSByZWNvbW1lbmRlZCBudW1iZXIgb2YgZG9zZXMgdG8gYWNoaWV2ZSBpbW11bml0eS4iIGNvbW1lbnQ9IlRoZSB1c2Ugb2YgYW4gaW50ZWdlciBpcyBwcmVmZXJlZCBpZiBrbm93bi4gQSBzdHJpbmcgc2hvdWxkIG9ubHkgYmUgdXNlZCBpbiBjYXNlcyB3aGVyZSBhbiBpbnRlcmdlciBpcyBub3QgYXZhaWxhYmxlIChzdWNoIGFzIHdoZW4gZG9jdW1lbnRpbmcgYSByZWN1cnJpbmcgYm9vc3RlciBkb3NlKS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1cHBvcnRpbmdJbW11bml6YXRpb24iIGRlc2NyaXB0aW9uPSJQYXN0IGltbXVuaXphdGlvbnMgc3VwcG9ydGluZyByZWNvbW1lbmRhdGlvbiIgZGVmaW5pdGlvbj0iSW1tdW5pemF0aW9uIGV2ZW50IGhpc3RvcnkgYW5kL29yIGV2YWx1YXRpb24gdGhhdCBzdXBwb3J0cyB0aGUgc3RhdHVzIGFuZCByZWNvbW1lbmRhdGlvbi4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3VwcG9ydGluZ1BhdGllbnRJbmZvcm1hdGlvbiIgZGVzY3JpcHRpb249IlBhdGllbnQgb2JzZXJ2YXRpb25zIHN1cHBvcnRpbmcgcmVjb21tZW5kYXRpb24iIGRlZmluaXRpb249IlBhdGllbnQgSW5mb3JtYXRpb24gdGhhdCBzdXBwb3J0cyB0aGUgc3RhdHVzIGFuZCByZWNvbW1lbmRhdGlvbi4gIFRoaXMgaW5jbHVkZXMgcGF0aWVudCBvYnNlcnZhdGlvbnMsIGFkdmVyc2UgcmVhY3Rpb25zIGFuZCBhbGxlcmd5L2ludG9sZXJhbmNlIGluZm9ybWF0aW9uLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJJbW11bml6YXRpb25SZWNvbW1lbmRhdGlvbi5SZWNvbW1lbmRhdGlvbi5EYXRlQ3JpdGVyaW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUeXBlIG9mIGRhdGUiIGRlZmluaXRpb249IkRhdGUgY2xhc3NpZmljYXRpb24gb2YgcmVjb21tZW5kYXRpb24uICBGb3IgZXhhbXBsZSwgZWFybGllc3QgZGF0ZSB0byBnaXZlLCBsYXRlc3QgZGF0ZSB0byBnaXZlLCBldGMuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iSW1tdW5pemF0aW9uUmVjb21tZW5kYXRpb25EYXRlQ3JpdGVyaW9uIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmllcyBkYXRlIGNyaXRlcmlvbiB3aXRoIHJlc3BlY3QgdG8gY29udmV5aW5nIGluZm9ybWF0aW9uIGFib3V0IGEgcGF0aWVudCdzIHZhY2NpbmF0aW9uIHN0YXR1cyAoZS5nLiBkdWUgZGF0ZSwgbGF0ZXN0IHRvIGdpdmUgZGF0ZSwgZXRjLikuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlJlY29tbWVuZGVkIGRhdGUiIGRlZmluaXRpb249IlRoZSBkYXRlIHdob3NlIG1lYW5pbmcgaXMgc3BlY2lmaWVkIGJ5IGRhdGVDcml0ZXJpb24uY29kZS4iLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IklzRWxlY3RpdmUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWlzRWxlY3RpdmUiIGxhYmVsPSJRSUNvcmUgSXNFbGVjdGl2ZSIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTGFib3JhdG9yeVJlc3VsdE9ic2VydmF0aW9uIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1vYnNlcnZhdGlvbi1sYWIiIGxhYmVsPSJRSUNvcmUgTGFib3JhdG9yeSBSZXN1bHQgT2JzZXJ2YXRpb24iIHRhcmdldD0iT2JzZXJ2YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IlBhcnQgb2YgcmVmZXJlbmNlZCBldmVudCIgZGVmaW5pdGlvbj0iQSBsYXJnZXIgZXZlbnQgb2Ygd2hpY2ggdGhpcyBwYXJ0aWN1bGFyIE9ic2VydmF0aW9uIGlzIGEgY29tcG9uZW50IG9yIHN0ZXAuICBGb3IgZXhhbXBsZSwgIGFuIG9ic2VydmF0aW9uIGFzIHBhcnQgb2YgYSBwcm9jZWR1cmUuIiBjb21tZW50PSJUbyBsaW5rIGFuIE9ic2VydmF0aW9uIHRvIGFuIEVuY291bnRlciB1c2UgYGVuY291bnRlcmAuICBTZWUgdGhlICBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cgZm9yIGd1aWRhbmNlIG9uIHJlZmVyZW5jaW5nIGFub3RoZXIgT2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InJlZ2lzdGVyZWQgfCBwcmVsaW1pbmFyeSB8IGZpbmFsIHwgYW1lbmRlZCArIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSByZXN1bHQgdmFsdWUuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9IkxhYm9yYXRvcnkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkxhYm9yYXRvcnkgVGVzdCBOYW1lIiBkZWZpbml0aW9uPSJUaGUgdGVzdCB0aGF0IHdhcyBwZXJmb3JtZWQuICBBIExPSU5DICoqU0hBTEwqKiBiZSB1c2VkIGlmIHRoZSBjb25jZXB0IGlzIHByZXNlbnQgaW4gTE9JTkMuIiBjb21tZW50PSJUaGUgdHlwaWNhbCBwYXR0ZXJucyBmb3IgY29kZXMgYXJlOiAgMSkgIGEgTE9JTkMgY29kZSBlaXRoZXIgYXMgYSB0cmFuc2xhdGlvbiBmcm9tIGEgJnF1b3Q7bG9jYWwmcXVvdDsgY29kZSBvciBhcyBhIHByaW1hcnkgY29kZSwgb3IgMikgIGEgbG9jYWwgY29kZSBvbmx5IGlmIG5vIHN1aXRhYmxlIExPSU5DIGV4aXN0cywgIG9yIDMpICBib3RoIHRoZSBsb2NhbCBhbmQgdGhlIExPSU5DIHRyYW5zbGF0aW9uLiAgIFN5c3RlbXMgU0hBTEwgYmUgY2FwYWJsZSBvZiBzZW5kaW5nIHRoZSBsb2NhbCBjb2RlIGlmIG9uZSBleGlzdHMuICBXaGVuIHVzaW5nIExPSU5DICwgVXNlIGVpdGhlciB0aGUgU0hPUlROQU1FIG9yIExPTkdfQ09NTU9OX05BTUUgZmllbGQgZm9yIHRoZSBkaXNwbGF5LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iTE9JTkMgY29kZXMiIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaG8gYW5kL29yIHdoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0IiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgdGhpcyBvYnNlcnZhdGlvbiBpcyBhYm91dCBhbmQgaW50byB3aG9zZSByZWNvcmQgdGhlIG9ic2VydmF0aW9uIGlzIHBsYWNlZC4gSWYgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24gaXMgZGlmZmVyZW50IGZyb20gdGhlIHN1YmplY3QgKG9yIGEgc2FtcGxlIG9mLCBwYXJ0LCBvciByZWdpb24gb2YgdGhlIHN1YmplY3QpLCB0aGUgYGZvY3VzYCBlbGVtZW50IG9yIHRoZSBgY29kZWAgaXRzZWxmIHNwZWNpZmllcyB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9uZSB3b3VsZCBleHBlY3QgdGhpcyBlbGVtZW50IHRvIGJlIGEgY2FyZGluYWxpdHkgb2YgMS4uMS4gVGhlIG9ubHkgY2lyY3Vtc3RhbmNlIGluIHdoaWNoIHRoZSBzdWJqZWN0IGNhbiBiZSBtaXNzaW5nIGlzIHdoZW4gdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgYnkgYSBkZXZpY2UgdGhhdCBkb2VzIG5vdCBrbm93IHRoZSBwYXRpZW50LiBJbiB0aGlzIGNhc2UsIHRoZSBvYnNlcnZhdGlvbiBTSEFMTCBiZSBtYXRjaGVkIHRvIGEgcGF0aWVudCB0aHJvdWdoIHNvbWUgY29udGV4dC9jaGFubmVsIG1hdGNoaW5nIHRlY2huaXF1ZSwgYW5kIGF0IHRoaXMgcG9pbnQsIHRoZSBvYnNlcnZhdGlvbiBzaG91bGQgYmUgdXBkYXRlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImZvY3VzIiBkZXNjcmlwdGlvbj0iV2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQsIHdoZW4gaXQgaXMgbm90IGFib3V0IHRoZSBzdWJqZWN0IG9mIHJlY29yZCIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiB3aGVuIGl0IGlzIG5vdCB0aGUgcGF0aWVudCBvZiByZWNvcmQgcmVwcmVzZW50aW5nIHNvbWV0aGluZyBvciBzb21lb25lIGFzc29jaWF0ZWQgd2l0aCB0aGUgcGF0aWVudCBzdWNoIGFzIGEgc3BvdXNlLCBwYXJlbnQsIGZldHVzLCBvciBkb25vci4gRm9yIGV4YW1wbGUsIGZldHVzIG9ic2VydmF0aW9ucyBpbiBhIG1vdGhlcidzIHJlY29yZC4gIFRoZSBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiBjb3VsZCBhbHNvIGJlIGFuIGV4aXN0aW5nIGNvbmRpdGlvbiwgIGFuIGludGVydmVudGlvbiwgdGhlIHN1YmplY3QncyBkaWV0LCAgYW5vdGhlciBvYnNlcnZhdGlvbiBvZiB0aGUgc3ViamVjdCwgIG9yIGEgYm9keSBzdHJ1Y3R1cmUgc3VjaCBhcyB0dW1vciBvciBpbXBsYW50ZWQgZGV2aWNlLiAgIEFuIGV4YW1wbGUgdXNlIGNhc2Ugd291bGQgYmUgdXNpbmcgdGhlIE9ic2VydmF0aW9uIHJlc291cmNlIHRvIGNhcHR1cmUgd2hldGhlciB0aGUgbW90aGVyIGlzIHRyYWluZWQgdG8gY2hhbmdlIGhlciBjaGlsZCdzIHRyYWNoZW9zdG9teSB0dWJlLiBJbiB0aGlzIGV4YW1wbGUsIHRoZSBjaGlsZCBpcyB0aGUgcGF0aWVudCBvZiByZWNvcmQgYW5kIHRoZSBtb3RoZXIgaXMgdGhlIGZvY3VzLiIgY29tbWVudD0iVHlwaWNhbGx5LCBhbiBvYnNlcnZhdGlvbiBpcyBtYWRlIGFib3V0IHRoZSBzdWJqZWN0IC0gYSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSAtIGFuZCB0aGUgZGlzdGluY3Rpb24gYmV0d2VlbiB0aGUgc3ViamVjdCBhbmQgd2hhdCBpcyBkaXJlY3RseSBtZWFzdXJlZCBmb3IgYW4gb2JzZXJ2YXRpb24gaXMgc3BlY2lmaWVkIGluIHRoZSBvYnNlcnZhdGlvbiBjb2RlIGl0c2VsZiAoIGUuZy4sICZxdW90O0Jsb29kIEdsdWNvc2UmcXVvdDspIGFuZCBkb2VzIG5vdCBuZWVkIHRvIGJlIHJlcHJlc2VudGVkIHNlcGFyYXRlbHkgdXNpbmcgdGhpcyBlbGVtZW50LiAgVXNlIGBzcGVjaW1lbmAgaWYgYSByZWZlcmVuY2UgdG8gYSBzcGVjaW1lbiBpcyByZXF1aXJlZC4gIElmIGEgY29kZSBpcyByZXF1aXJlZCBpbnN0ZWFkIG9mIGEgcmVzb3VyY2UgdXNlIGVpdGhlciAgYGJvZHlzaXRlYCBmb3IgYm9keXNpdGVzIG9yIHRoZSBzdGFuZGFyZCBleHRlbnNpb24gW2ZvY3VzQ29kZV0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9leHRlbnNpb24tb2JzZXJ2YXRpb24tZm9jdXNjb2RlLmh0bWwpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkhlYWx0aGNhcmUgZXZlbnQgZHVyaW5nIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gaXMgbWFkZSIgZGVmaW5pdGlvbj0iVGhlIGhlYWx0aGNhcmUgZXZlbnQgIChlLmcuIGEgcGF0aWVudCBhbmQgaGVhbHRoY2FyZSBwcm92aWRlciBpbnRlcmFjdGlvbikgZHVyaW5nIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gaXMgbWFkZS4iIGNvbW1lbnQ9IlRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgdGhlIGVuY291bnRlciB0aGUgZXZlbnQgb2NjdXJyZWQgd2l0aGluLCBidXQgc29tZSBldmVudHMgbWF5IGJlIGluaXRpYXRlZCBwcmlvciB0byBvciBhZnRlciB0aGUgb2ZmaWNpYWwgY29tcGxldGlvbiBvZiBhbiBlbmNvdW50ZXIgYnV0IHN0aWxsIGJlIHRpZWQgdG8gdGhlIGNvbnRleHQgb2YgdGhlIGVuY291bnRlciAoZS5nLiBwcmUtYWRtaXNzaW9uIGxhYm9yYXRvcnkgdGVzdHMpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xpbmljYWxseSByZWxldmFudCB0aW1lL3RpbWUtcGVyaW9kIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iRm9yIGxhYiB0ZXN0cyB0aGlzIGlzIHRoZSBzcGVjaW1lbiBjb2xsZWN0aW9uIGRhdGUuICBGb3IgQXNrIGF0IE9yZGVyIEVudHJ5IFF1ZXN0aW9ucyAoQU9FKSdzIHRoaXMgaXMgdGhlIGRhdGUgdGhlIHF1ZXN0aW9uIHdhcyBhc2tlZC4iIGNvbW1lbnQ9IkF0IGxlYXN0IGEgZGF0ZSBzaG91bGQgYmUgcHJlc2VudCB1bmxlc3MgdGhpcyBvYnNlcnZhdGlvbiBpcyBhIGhpc3RvcmljYWwgcmVwb3J0LiAgRm9yIHJlY29yZGluZyBpbXByZWNpc2Ugb3IgJnF1b3Q7ZnV6enkmcXVvdDsgdGltZXMgKEZvciBleGFtcGxlLCBhIGJsb29kIGdsdWNvc2UgbWVhc3VyZW1lbnQgdGFrZW4gJnF1b3Q7YWZ0ZXIgYnJlYWtmYXN0JnF1b3Q7KSB1c2UgdGhlIFtUaW1pbmddKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZGF0YXR5cGVzLmh0bWwjdGltaW5nKSBkYXRhdHlwZSB3aGljaCBhbGxvdyB0aGUgbWVhc3VyZW1lbnQgdG8gYmUgdGllZCB0byByZWd1bGFyIGxpZmUgZXZlbnRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGltaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InVzLWNvcmUtMSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJEYXRldGltZSBtdXN0IGJlIGF0IGxlYXN0IHRvIGRheS4iPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iJHRoaXMgaXMgRGF0ZVRpbWUgaW1wbGllcyAkdGhpcy50b1N0cmluZygpLmxlbmd0aCgpID49IDEwIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IldobyB3YXMgcmVzcG9uc2libGUgZm9yIGFzc2VydGluZyB0aGUgb2JzZXJ2ZWQgdmFsdWUgYXMgJnF1b3Q7dHJ1ZSZxdW90Oy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlc3VsdCBWYWx1ZSIgZGVmaW5pdGlvbj0iVGhlIExhYm9yYXRvcnkgcmVzdWx0IHZhbHVlLiAgSWYgYSBjb2RlZCB2YWx1ZSwgIHRoZSB2YWx1ZUNvZGVhYmxlQ29uY2VwdC5jb2RlICoqU0hPVUxEKiogYmUgc2VsZWN0ZWQgZnJvbSBbU05PTUVEIENUXShodHRwOi8vaGw3Lm9yZy9maGlyL1ZhbHVlU2V0L3VzbGFiLW9icy1jb2RlZHJlc3VsdHMpIGlmIHRoZSBjb25jZXB0IGV4aXN0cy4gSWYgYSBudW1lcmljIHZhbHVlLCB2YWx1ZVF1YW50aXR5LmNvZGUgKipTSEFMTCoqIGJlIHNlbGVjdGVkIGZyb20gW1VDVU1dKGh0dHA6Ly91bml0c29mbWVhc3VyZS5vcmcpLiAgQSBGSElSIFtVQ1VNIENvZGVzIHZhbHVlIHNldF0oaHR0cDovL2hsNy5vcmcvZmhpci9TVFUzL3ZhbHVlc2V0LXVjdW0tdW5pdHMuaHRtbCkgdGhhdCBkZWZpbmVzIGFsbCBVQ1VNIGNvZGVzIGlzIGluIHRoZSBGSElSIHNwZWNpZmljYXRpb24uIiBjb21tZW50PSJBbiBvYnNlcnZhdGlvbiBtYXkgaGF2ZTsgMSkgIGEgc2luZ2xlIHZhbHVlIGhlcmUsIDIpICBib3RoIGEgdmFsdWUgYW5kIGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcywgIG9yIDMpICBvbmx5IGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcy4gSWYgYSB2YWx1ZSBpcyBwcmVzZW50LCB0aGUgZGF0YXR5cGUgZm9yIHRoaXMgZWxlbWVudCBzaG91bGQgYmUgZGV0ZXJtaW5lZCBieSBPYnNlcnZhdGlvbi5jb2RlLiAgQSBDb2RlYWJsZUNvbmNlcHQgd2l0aCBqdXN0IGEgdGV4dCB3b3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgYSBzdHJpbmcgaWYgdGhlIGZpZWxkIHdhcyB1c3VhbGx5IGNvZGVkLCBvciBpZiB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhlIE9ic2VydmF0aW9uLmNvZGUgZGVmaW5lcyBhIGNvZGVkIHZhbHVlLiAgRm9yIGFkZGl0aW9uYWwgZ3VpZGFuY2UsIHNlZSB0aGUgW05vdGVzIHNlY3Rpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkJvb2xlYW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUmF0aW8iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idXMtY29yZS00IiBzZXZlcml0eT0iV0FSTklORyIgbWVzc2FnZT0iU0hPVUxEIHVzZSBTbm9tZWQgQ1QgZm9yIGNvZGVkIFJlc3VsdHMiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0idmFsdWVDb2RlYWJsZUNvbmNlcHQuY29kaW5nLnN5c3RlbS5lbXB0eSgpIG9yIHZhbHVlQ29kZWFibGVDb25jZXB0LmNvZGluZy5zeXN0ZW0gPSAnaHR0cDovL3Nub21lZC5pbmZvL3NjdCciLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ1cy1jb3JlLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iU0hBTEwgdXNlIFVDVU0gZm9yIGNvZGVkIHF1YW50aXR5IHVuaXRzLiI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ2YWx1ZVF1YW50aXR5LnN5c3RlbS5lbXB0eSgpIG9yIHZhbHVlUXVhbnRpdHkuc3lzdGVtID0gJ2h0dHA6Ly91bml0c29mbWVhc3VyZS5vcmcnIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgdGhlIHJlc3VsdCBpcyBtaXNzaW5nIiBkZWZpbml0aW9uPSJQcm92aWRlcyBhIHJlYXNvbiB3aHkgdGhlIGV4cGVjdGVkIHZhbHVlIGluIHRoZSBlbGVtZW50IE9ic2VydmF0aW9uLnZhbHVlW3hdIGlzIG1pc3NpbmcuIiBjb21tZW50PSJOdWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcyBjYW4gYmUgcmVwcmVzZW50ZWQgdHdvIHdheXMgaW4gRkhJUiBPYnNlcnZhdGlvbnMuICBPbmUgd2F5IGlzIHRvIHNpbXBseSBpbmNsdWRlIHRoZW0gaW4gdGhlIHZhbHVlIHNldCBhbmQgcmVwcmVzZW50IHRoZSBleGNlcHRpb25zIGluIHRoZSB2YWx1ZS4gIEZvciBleGFtcGxlLCBtZWFzdXJlbWVudCB2YWx1ZXMgZm9yIGEgc2Vyb2xvZ3kgdGVzdCBjb3VsZCBiZSAgJnF1b3Q7ZGV0ZWN0ZWQmcXVvdDssICZxdW90O25vdCBkZXRlY3RlZCZxdW90OywgJnF1b3Q7aW5jb25jbHVzaXZlJnF1b3Q7LCBvciAgJnF1b3Q7c3BlY2ltZW4gdW5zYXRpc2ZhY3RvcnkmcXVvdDsuICAgJiN4YTsmI3hhO1RoZSBhbHRlcm5hdGUgd2F5IGlzIHRvIHVzZSB0aGUgdmFsdWUgZWxlbWVudCBmb3IgYWN0dWFsIG9ic2VydmF0aW9ucyBhbmQgdXNlIHRoZSBleHBsaWNpdCBkYXRhQWJzZW50UmVhc29uIGVsZW1lbnQgdG8gcmVjb3JkIGV4Y2VwdGlvbmFsIHZhbHVlcy4gIEZvciBleGFtcGxlLCB0aGUgZGF0YUFic2VudFJlYXNvbiBjb2RlICZxdW90O2Vycm9yJnF1b3Q7IGNvdWxkIGJlIHVzZWQgd2hlbiB0aGUgbWVhc3VyZW1lbnQgd2FzIG5vdCBjb21wbGV0ZWQuIE5vdGUgdGhhdCBhbiBvYnNlcnZhdGlvbiBtYXkgb25seSBiZSByZXBvcnRlZCBpZiB0aGVyZSBhcmUgdmFsdWVzIHRvIHJlcG9ydC4gRm9yIGV4YW1wbGUgZGlmZmVyZW50aWFsIGNlbGwgY291bnRzIHZhbHVlcyBtYXkgYmUgcmVwb3J0ZWQgb25seSB3aGVuID4gMC4gIEJlY2F1c2Ugb2YgdGhlc2Ugb3B0aW9ucywgdXNlLWNhc2UgYWdyZWVtZW50cyBhcmUgcmVxdWlyZWQgdG8gaW50ZXJwcmV0IGdlbmVyYWwgb2JzZXJ2YXRpb25zIGZvciBudWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlcnByZXRhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhpZ2gsIGxvdywgbm9ybWFsLCBldGMuIiBkZWZpbml0aW9uPSJBIGNhdGVnb3JpY2FsIGFzc2Vzc21lbnQgb2YgYW4gb2JzZXJ2YXRpb24gdmFsdWUuICBGb3IgZXhhbXBsZSwgaGlnaCwgbG93LCBub3JtYWwuIiBjb21tZW50PSJIaXN0b3JpY2FsbHkgdXNlZCBmb3IgbGFib3JhdG9yeSByZXN1bHRzIChrbm93biBhcyAnYWJub3JtYWwgZmxhZycgKSwgIGl0cyB1c2UgZXh0ZW5kcyB0byBvdGhlciB1c2UgY2FzZXMgd2hlcmUgY29kZWQgaW50ZXJwcmV0YXRpb25zICBhcmUgcmVsZXZhbnQuICBPZnRlbiByZXBvcnRlZCBhcyBvbmUgb3IgbW9yZSBzaW1wbGUgY29tcGFjdCBjb2RlcyB0aGlzIGVsZW1lbnQgaXMgb2Z0ZW4gcGxhY2VkIGFkamFjZW50IHRvIHRoZSByZXN1bHQgdmFsdWUgaW4gcmVwb3J0cyBhbmQgZmxvdyBzaGVldHMgdG8gc2lnbmFsIHRoZSBtZWFuaW5nL25vcm1hbGN5IHN0YXR1cyBvZiB0aGUgcmVzdWx0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25JbnRlcnByZXRhdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIGludGVycHJldGF0aW9ucyBvZiBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiBvciB0aGUgcmVzdWx0cy4iIGNvbW1lbnQ9Ik1heSBpbmNsdWRlIGdlbmVyYWwgc3RhdGVtZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24sIG9yIHN0YXRlbWVudHMgYWJvdXQgc2lnbmlmaWNhbnQsIHVuZXhwZWN0ZWQgb3IgdW5yZWxpYWJsZSByZXN1bHRzIHZhbHVlcywgb3IgaW5mb3JtYXRpb24gYWJvdXQgaXRzIHNvdXJjZSB3aGVuIHJlbGV2YW50IHRvIGl0cyBpbnRlcnByZXRhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2JzZXJ2ZWQgYm9keSBwYXJ0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHNpdGUgb24gdGhlIHN1YmplY3QncyBib2R5IHdoZXJlIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSAoaS5lLiB0aGUgdGFyZ2V0IHNpdGUpLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIE9ic2VydmF0aW9uLmNvZGUuICBJbiBtYW55IHN5c3RlbXMsIHRoaXMgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGEgcmVsYXRlZCBvYnNlcnZhdGlvbiBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb21wb25lbnQuICAgJiN4YTsmI3hhO0lmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBCb2R5U2l0ZSB0byBiZSBoYW5kbGVkIGFzIGEgc2VwYXJhdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb25bIGJvZHlTaXRlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IGl0IHdhcyBkb25lIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIG1lY2hhbmlzbSB1c2VkIHRvIHBlcmZvcm0gdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvciBPYnNlcnZhdGlvbi5jb2RlLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uTWV0aG9kIiBkZXNjcmlwdGlvbj0iTWV0aG9kcyBmb3Igc2ltcGxlIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3BlY2ltZW4iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iU3BlY2ltZW4gdXNlZCBmb3IgdGhpcyBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHNwZWNpbWVuIHRoYXQgd2FzIHVzZWQgd2hlbiB0aGlzIG9ic2VydmF0aW9uIHdhcyBtYWRlLiIgY29tbWVudD0iU2hvdWxkIG9ubHkgYmUgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBgT2JzZXJ2YXRpb24uY29kZWAuICBPYnNlcnZhdGlvbnMgYXJlIG5vdCBtYWRlIG9uIHNwZWNpbWVucyB0aGVtc2VsdmVzOyB0aGV5IGFyZSBtYWRlIG9uIGEgc3ViamVjdCwgYnV0IGluIG1hbnkgY2FzZXMgYnkgdGhlIG1lYW5zIG9mIGEgc3BlY2ltZW4uIE5vdGUgdGhhdCBhbHRob3VnaCBzcGVjaW1lbnMgYXJlIG9mdGVuIGludm9sdmVkLCB0aGV5IGFyZSBub3QgYWx3YXlzIHRyYWNrZWQgYW5kIHJlcG9ydGVkIGV4cGxpY2l0bHkuIEFsc28gbm90ZSB0aGF0IG9ic2VydmF0aW9uIHJlc291cmNlcyBtYXkgYmUgdXNlZCBpbiBjb250ZXh0cyB0aGF0IHRyYWNrIHRoZSBzcGVjaW1lbiBleHBsaWNpdGx5IChlLmcuIERpYWdub3N0aWMgUmVwb3J0KS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihNZWFzdXJlbWVudCkgRGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIG9ic2VydmF0aW9uIGRhdGEuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBpcyBub3QgbWVhbnQgdG8gcmVwcmVzZW50IGEgZGV2aWNlIGludm9sdmVkIGluIHRoZSB0cmFuc21pc3Npb24gb2YgdGhlIHJlc3VsdCwgZS5nLiwgYSBnYXRld2F5LiAgU3VjaCBkZXZpY2VzIG1heSBiZSBkb2N1bWVudGVkIHVzaW5nIHRoZSBQcm92ZW5hbmNlIHJlc291cmNlIHdoZXJlIHJlbGV2YW50LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2VSYW5nZSIgZGVzY3JpcHRpb249IlByb3ZpZGVzIGd1aWRlIGZvciBpbnRlcnByZXRhdGlvbiIgZGVmaW5pdGlvbj0iR3VpZGFuY2Ugb24gaG93IHRvIGludGVycHJldCB0aGUgdmFsdWUgYnkgY29tcGFyaXNvbiB0byBhIG5vcm1hbCBvciByZWNvbW1lbmRlZCByYW5nZS4gIE11bHRpcGxlIHJlZmVyZW5jZSByYW5nZXMgYXJlIGludGVycHJldGVkIGFzIGFuICZxdW90O09SJnF1b3Q7LiAgIEluIG90aGVyIHdvcmRzLCB0byByZXByZXNlbnQgdHdvIGRpc3RpbmN0IHRhcmdldCBwb3B1bGF0aW9ucywgdHdvIGByZWZlcmVuY2VSYW5nZWAgZWxlbWVudHMgd291bGQgYmUgdXNlZC4iIGNvbW1lbnQ9Ik1vc3Qgb2JzZXJ2YXRpb25zIG9ubHkgaGF2ZSBvbmUgZ2VuZXJpYyByZWZlcmVuY2UgcmFuZ2UuIFN5c3RlbXMgTUFZIGNob29zZSB0byByZXN0cmljdCB0byBvbmx5IHN1cHBseWluZyB0aGUgcmVsZXZhbnQgcmVmZXJlbmNlIHJhbmdlIGJhc2VkIG9uIGtub3dsZWRnZSBhYm91dCB0aGUgcGF0aWVudCAoZS5nLiwgc3BlY2lmaWMgdG8gdGhlIHBhdGllbnQncyBhZ2UsIGdlbmRlciwgd2VpZ2h0IGFuZCBvdGhlciBmYWN0b3JzKSwgYnV0IHRoaXMgbWlnaHQgbm90IGJlIHBvc3NpYmxlIG9yIGFwcHJvcHJpYXRlLiBXaGVuZXZlciBtb3JlIHRoYW4gb25lIHJlZmVyZW5jZSByYW5nZSBpcyBzdXBwbGllZCwgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlbSBTSE9VTEQgYmUgcHJvdmlkZWQgaW4gdGhlIHJlZmVyZW5jZSByYW5nZSBhbmQvb3IgYWdlIHByb3BlcnRpZXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uUmVmZXJlbmNlUmFuZ2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJvYnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJNdXN0IGhhdmUgYXQgbGVhc3QgYSBsb3cgb3IgYSBoaWdoIG9yIHRleHQiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0ibG93LmV4aXN0cygpIG9yIGhpZ2guZXhpc3RzKCkgb3IgdGV4dC5leGlzdHMoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaGFzTWVtYmVyIiBkZXNjcmlwdGlvbj0iUmVsYXRlZCByZXNvdXJjZSB0aGF0IGJlbG9uZ3MgdG8gdGhlIE9ic2VydmF0aW9uIGdyb3VwIiBkZWZpbml0aW9uPSJUaGlzIG9ic2VydmF0aW9uIGlzIGEgZ3JvdXAgb2JzZXJ2YXRpb24gKGUuZy4gYSBiYXR0ZXJ5LCBhIHBhbmVsIG9mIHRlc3RzLCBhIHNldCBvZiB2aXRhbCBzaWduIG1lYXN1cmVtZW50cykgdGhhdCBpbmNsdWRlcyB0aGUgdGFyZ2V0IGFzIGEgbWVtYmVyIG9mIHRoZSBncm91cC4iIGNvbW1lbnQ9IldoZW4gdXNpbmcgdGhpcyBlbGVtZW50LCBhbiBvYnNlcnZhdGlvbiB3aWxsIHR5cGljYWxseSBoYXZlIGVpdGhlciBhIHZhbHVlIG9yIGEgc2V0IG9mIHJlbGF0ZWQgcmVzb3VyY2VzLCBhbHRob3VnaCBib3RoIG1heSBiZSBwcmVzZW50IGluIHNvbWUgY2FzZXMuICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4gIE5vdGUgdGhhdCBhIHN5c3RlbSBtYXkgY2FsY3VsYXRlIHJlc3VsdHMgZnJvbSBbUXVlc3Rpb25uYWlyZVJlc3BvbnNlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3F1ZXN0aW9ubmFpcmVyZXNwb25zZS5odG1sKSAgaW50byBhIGZpbmFsIHNjb3JlIGFuZCByZXByZXNlbnQgdGhlIHNjb3JlIGFzIGFuIE9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIG1lYXN1cmVtZW50cyB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIG1lYXN1cmVtZW50IGZyb20gd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiB2YWx1ZSBpcyBkZXJpdmVkLiBGb3IgZXhhbXBsZSwgYSBjYWxjdWxhdGVkIGFuaW9uIGdhcCBvciBhIGZldGFsIG1lYXN1cmVtZW50IGJhc2VkIG9uIGFuIHVsdHJhc291bmQgaW1hZ2UuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iQ29tcG9uZW50IHJlc3VsdHMiIGRlZmluaXRpb249IlNvbWUgb2JzZXJ2YXRpb25zIGhhdmUgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucy4gIFRoZXNlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgYXJlIGV4cHJlc3NlZCBhcyBzZXBhcmF0ZSBjb2RlIHZhbHVlIHBhaXJzIHRoYXQgc2hhcmUgdGhlIHNhbWUgYXR0cmlidXRlcy4gIEV4YW1wbGVzIGluY2x1ZGUgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGZvciBibG9vZCBwcmVzc3VyZSBtZWFzdXJlbWVudCBhbmQgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucyBmb3IgZ2VuZXRpY3Mgb2JzZXJ2YXRpb25zLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJMaW5rVHlwZSIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTG9jYXRpb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWxvY2F0aW9uIiBsYWJlbD0iUUlDb3JlIExvY2F0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJ0eXBlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IlVuaXF1ZSBjb2RlIG9yIG51bWJlciBpZGVudGlmeWluZyB0aGUgbG9jYXRpb24gdG8gaXRzIHVzZXJzIiBkZWZpbml0aW9uPSJVbmlxdWUgY29kZSBvciBudW1iZXIgaWRlbnRpZnlpbmcgdGhlIGxvY2F0aW9uIHRvIGl0cyB1c2Vycy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLkxvY2F0aW9uU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImFjdGl2ZSB8IHN1c3BlbmRlZCB8IGluYWN0aXZlIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIHByb3BlcnR5IGNvdmVycyB0aGUgZ2VuZXJhbCBhdmFpbGFiaWxpdHkgb2YgdGhlIHJlc291cmNlLCBub3QgdGhlIGN1cnJlbnQgdmFsdWUgd2hpY2ggbWF5IGJlIGNvdmVyZWQgYnkgdGhlIG9wZXJhdGlvblN0YXR1cywgb3IgYnkgYSBzY2hlZHVsZS9zbG90cyBpZiB0aGV5IGFyZSBjb25maWd1cmVkIGZvciB0aGUgbG9jYXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkxvY2F0aW9uU3RhdHVzIiBkZXNjcmlwdGlvbj0iSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGxvY2F0aW9uIGlzIHN0aWxsIGluIHVzZS4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im9wZXJhdGlvbmFsU3RhdHVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgb3BlcmF0aW9uYWwgc3RhdHVzIG9mIHRoZSBsb2NhdGlvbiAodHlwaWNhbGx5IG9ubHkgZm9yIGEgYmVkL3Jvb20pIiBkZWZpbml0aW9uPSJUaGUgb3BlcmF0aW9uYWwgc3RhdHVzIGNvdmVycyBvcGVyYXRpb24gdmFsdWVzIG1vc3QgcmVsZXZhbnQgdG8gYmVkcyAoYnV0IGNhbiBhbHNvIGFwcGx5IHRvIHJvb21zL3VuaXRzL2NoYWlycy9ldGMuIHN1Y2ggYXMgYW4gaXNvbGF0aW9uIHVuaXQvZGlhbHlzaXMgY2hhaXIpLiBUaGlzIHR5cGljYWxseSBjb3ZlcnMgY29uY2VwdHMgc3VjaCBhcyBjb250YW1pbmF0aW9uLCBob3VzZWtlZXBpbmcsIGFuZCBvdGhlciBhY3Rpdml0aWVzIGxpa2UgbWFpbnRlbmFuY2UuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT3BlcmF0aW9uYWxTdGF0dXMiIGRlc2NyaXB0aW9uPSJUaGUgb3BlcmF0aW9uYWwgc3RhdHVzIGlmIHRoZSBsb2NhdGlvbiAod2hlcmUgdHlwaWNhbGx5IGEgYmVkL3Jvb20pLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5hbWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik5hbWUgb2YgdGhlIGxvY2F0aW9uIGFzIHVzZWQgYnkgaHVtYW5zIiBkZWZpbml0aW9uPSJOYW1lIG9mIHRoZSBsb2NhdGlvbiBhcyB1c2VkIGJ5IGh1bWFucy4gRG9lcyBub3QgbmVlZCB0byBiZSB1bmlxdWUuIiBjb21tZW50PSJJZiB0aGUgbmFtZSBvZiBhIGxvY2F0aW9uIGNoYW5nZXMsIGNvbnNpZGVyIHB1dHRpbmcgdGhlIG9sZCBuYW1lIGluIHRoZSBhbGlhcyBjb2x1bW4gc28gdGhhdCBpdCBjYW4gc3RpbGwgYmUgbG9jYXRlZCB0aHJvdWdoIHNlYXJjaGVzLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iYWxpYXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iQSBsaXN0IG9mIGFsdGVybmF0ZSBuYW1lcyB0aGF0IHRoZSBsb2NhdGlvbiBpcyBrbm93biBhcywgb3Igd2FzIGtub3duIGFzLCBpbiB0aGUgcGFzdCIgZGVmaW5pdGlvbj0iQSBsaXN0IG9mIGFsdGVybmF0ZSBuYW1lcyB0aGF0IHRoZSBsb2NhdGlvbiBpcyBrbm93biBhcywgb3Igd2FzIGtub3duIGFzLCBpbiB0aGUgcGFzdC4iIGNvbW1lbnQ9IlRoZXJlIGFyZSBubyBkYXRlcyBhc3NvY2lhdGVkIHdpdGggdGhlIGFsaWFzL2hpc3RvcmljIG5hbWVzLCBhcyB0aGlzIGlzIG5vdCBpbnRlbmRlZCB0byB0cmFjayB3aGVuIG5hbWVzIHdlcmUgdXNlZCwgYnV0IHRvIGFzc2lzdCBpbiBzZWFyY2hpbmcgc28gdGhhdCBvbGRlciBuYW1lcyBjYW4gc3RpbGwgcmVzdWx0IGluIGlkZW50aWZ5aW5nIHRoZSBsb2NhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRlc2NyaXB0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBZGRpdGlvbmFsIGRldGFpbHMgYWJvdXQgdGhlIGxvY2F0aW9uIHRoYXQgY291bGQgYmUgZGlzcGxheWVkIGFzIGZ1cnRoZXIgaW5mb3JtYXRpb24gdG8gaWRlbnRpZnkgdGhlIGxvY2F0aW9uIGJleW9uZCBpdHMgbmFtZSIgZGVmaW5pdGlvbj0iRGVzY3JpcHRpb24gb2YgdGhlIExvY2F0aW9uLCB3aGljaCBoZWxwcyBpbiBmaW5kaW5nIG9yIHJlZmVyZW5jaW5nIHRoZSBwbGFjZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibW9kZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5Mb2NhdGlvbk1vZGUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iaW5zdGFuY2UgfCBraW5kIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgd2hldGhlciBhIHJlc291cmNlIGluc3RhbmNlIHJlcHJlc2VudHMgYSBzcGVjaWZpYyBsb2NhdGlvbiBvciBhIGNsYXNzIG9mIGxvY2F0aW9ucy4iIGNvbW1lbnQ9IlRoaXMgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2Ugd2hldGhlciBvciBub3QgdGhlIGxvY2F0aW9uIGlzIGEgY2xhc3Mgb2YgbG9jYXRpb25zIGNoYW5nZXMgaG93IGl0IGNhbiBiZSB1c2VkIGFuZCB1bmRlcnN0b29kLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJMb2NhdGlvbk1vZGUiIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgd2hldGhlciBhIHJlc291cmNlIGluc3RhbmNlIHJlcHJlc2VudHMgYSBzcGVjaWZpYyBsb2NhdGlvbiBvciBhIGNsYXNzIG9mIGxvY2F0aW9ucy4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUeXBlIG9mIGZ1bmN0aW9uIHBlcmZvcm1lZCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSB0eXBlIG9mIGZ1bmN0aW9uIHBlcmZvcm1lZCBhdCB0aGUgbG9jYXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQSByb2xlIG9mIGEgcGxhY2UgdGhhdCBmdXJ0aGVyIGNsYXNzaWZpZXMgdGhlIHNldHRpbmcgKGUuZy4sIGFjY2lkZW50IHNpdGUsIHJvYWQgc2lkZSwgd29yayBzaXRlLCBjb21tdW5pdHkgbG9jYXRpb24pIGluIHdoaWNoIHNlcnZpY2VzIGFyZSBkZWxpdmVyZWQuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InRlbGVjb20iIGRlc2NyaXB0aW9uPSJDb250YWN0IGRldGFpbHMgb2YgdGhlIGxvY2F0aW9uIiBkZWZpbml0aW9uPSJUaGUgY29udGFjdCBkZXRhaWxzIG9mIGNvbW11bmljYXRpb24gZGV2aWNlcyBhdmFpbGFibGUgYXQgdGhlIGxvY2F0aW9uLiBUaGlzIGNhbiBpbmNsdWRlIHBob25lIG51bWJlcnMsIGZheCBudW1iZXJzLCBtb2JpbGUgbnVtYmVycywgZW1haWwgYWRkcmVzc2VzIGFuZCB3ZWIgc2l0ZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbnRhY3RQb2ludCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYWRkcmVzcyIgZWxlbWVudFR5cGU9IlFJQ29yZS5BZGRyZXNzIiBkZXNjcmlwdGlvbj0iUGh5c2ljYWwgbG9jYXRpb24iIGRlZmluaXRpb249IlBoeXNpY2FsIGxvY2F0aW9uLiIgY29tbWVudD0iQWRkaXRpb25hbCBhZGRyZXNzZXMgc2hvdWxkIGJlIHJlY29yZGVkIHVzaW5nIGFub3RoZXIgaW5zdGFuY2Ugb2YgdGhlIExvY2F0aW9uIHJlc291cmNlLCBvciB2aWEgdGhlIE9yZ2FuaXphdGlvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBoeXNpY2FsVHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUGh5c2ljYWwgZm9ybSBvZiB0aGUgbG9jYXRpb24iIGRlZmluaXRpb249IlBoeXNpY2FsIGZvcm0gb2YgdGhlIGxvY2F0aW9uLCBlLmcuIGJ1aWxkaW5nLCByb29tLCB2ZWhpY2xlLCByb2FkLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlBoeXNpY2FsVHlwZSIgZGVzY3JpcHRpb249IlBoeXNpY2FsIGZvcm0gb2YgdGhlIGxvY2F0aW9uLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwb3NpdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5Mb2NhdGlvbi5Qb3NpdGlvbiIgZGVzY3JpcHRpb249IlRoZSBhYnNvbHV0ZSBnZW9ncmFwaGljIGxvY2F0aW9uIiBkZWZpbml0aW9uPSJUaGUgYWJzb2x1dGUgZ2VvZ3JhcGhpYyBsb2NhdGlvbiBvZiB0aGUgTG9jYXRpb24sIGV4cHJlc3NlZCB1c2luZyB0aGUgV0dTODQgZGF0dW0gKFRoaXMgaXMgdGhlIHNhbWUgY28tb3JkaW5hdGUgc3lzdGVtIHVzZWQgaW4gS01MKS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibWFuYWdpbmdPcmdhbml6YXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iT3JnYW5pemF0aW9uIHJlc3BvbnNpYmxlIGZvciBwcm92aXNpb25pbmcgYW5kIHVwa2VlcCIgZGVmaW5pdGlvbj0iVGhlIG9yZ2FuaXphdGlvbiByZXNwb25zaWJsZSBmb3IgdGhlIHByb3Zpc2lvbmluZyBhbmQgdXBrZWVwIG9mIHRoZSBsb2NhdGlvbi4iIGNvbW1lbnQ9IlRoaXMgY2FuIGFsc28gYmUgdXNlZCBhcyB0aGUgcGFydCBvZiB0aGUgb3JnYW5pemF0aW9uIGhpZXJhcmNoeSB3aGVyZSB0aGlzIGxvY2F0aW9uIHByb3ZpZGVzIHNlcnZpY2VzLiBUaGVzZSBzZXJ2aWNlcyBjYW4gYmUgZGVmaW5lZCB0aHJvdWdoIHRoZSBIZWFsdGhjYXJlU2VydmljZSByZXNvdXJjZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJBbm90aGVyIExvY2F0aW9uIHRoaXMgb25lIGlzIHBoeXNpY2FsbHkgYSBwYXJ0IG9mIiBkZWZpbml0aW9uPSJBbm90aGVyIExvY2F0aW9uIG9mIHdoaWNoIHRoaXMgTG9jYXRpb24gaXMgcGh5c2ljYWxseSBhIHBhcnQgb2YuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iaG91cnNPZk9wZXJhdGlvbiIgZGVzY3JpcHRpb249IldoYXQgZGF5cy90aW1lcyBkdXJpbmcgYSB3ZWVrIGlzIHRoaXMgbG9jYXRpb24gdXN1YWxseSBvcGVuIiBkZWZpbml0aW9uPSJXaGF0IGRheXMvdGltZXMgZHVyaW5nIGEgd2VlayBpcyB0aGlzIGxvY2F0aW9uIHVzdWFsbHkgb3Blbi4iIGNvbW1lbnQ9IlRoaXMgdHlwZSBvZiBpbmZvcm1hdGlvbiBpcyBjb21tb25seSBmb3VuZCBwdWJsaXNoZWQgaW4gZGlyZWN0b3JpZXMgYW5kIG9uIHdlYnNpdGVzIGluZm9ybWluZyBjdXN0b21lcnMgd2hlbiB0aGUgZmFjaWxpdHkgaXMgYXZhaWxhYmxlLiYjeGE7JiN4YTtTcGVjaWZpYyBzZXJ2aWNlcyB3aXRoaW4gdGhlIGxvY2F0aW9uIG1heSBoYXZlIHRoZWlyIG93biBob3VycyB3aGljaCBjb3VsZCBiZSBzaG9ydGVyIChvciBsb25nZXIpIHRoYW4gdGhlIGxvY2F0aW9ucyBob3Vycy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Mb2NhdGlvbi5Ib3Vyc09mT3BlcmF0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhdmFpbGFiaWxpdHlFeGNlcHRpb25zIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEZXNjcmlwdGlvbiBvZiBhdmFpbGFiaWxpdHkgZXhjZXB0aW9ucyIgZGVmaW5pdGlvbj0iQSBkZXNjcmlwdGlvbiBvZiB3aGVuIHRoZSBsb2NhdGlvbnMgb3BlbmluZyBvdXJzIGFyZSBkaWZmZXJlbnQgdG8gbm9ybWFsLCBlLmcuIHB1YmxpYyBob2xpZGF5IGF2YWlsYWJpbGl0eS4gU3VjY2luY3RseSBkZXNjcmliaW5nIGFsbCBwb3NzaWJsZSBleGNlcHRpb25zIHRvIG5vcm1hbCBzaXRlIGF2YWlsYWJpbGl0eSBhcyBkZXRhaWxlZCBpbiB0aGUgb3BlbmluZyBob3VycyBUaW1lcy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZW5kcG9pbnQiIGRlc2NyaXB0aW9uPSJUZWNobmljYWwgZW5kcG9pbnRzIHByb3ZpZGluZyBhY2Nlc3MgdG8gc2VydmljZXMgb3BlcmF0ZWQgZm9yIHRoZSBsb2NhdGlvbiIgZGVmaW5pdGlvbj0iVGVjaG5pY2FsIGVuZHBvaW50cyBwcm92aWRpbmcgYWNjZXNzIHRvIHNlcnZpY2VzIG9wZXJhdGVkIGZvciB0aGUgbG9jYXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJMb2NhdGlvbi5Ib3Vyc09mT3BlcmF0aW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJkYXlzT2ZXZWVrIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Im1vbiB8IHR1ZSB8IHdlZCB8IHRodSB8IGZyaSB8IHNhdCB8IHN1biIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdoaWNoIGRheXMgb2YgdGhlIHdlZWsgYXJlIGF2YWlsYWJsZSBiZXR3ZWVuIHRoZSBzdGFydCBhbmQgZW5kIFRpbWVzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkRheXNPZldlZWsiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJEYXlzT2ZXZWVrIiBkZXNjcmlwdGlvbj0iVGhlIGRheXMgb2YgdGhlIHdlZWsuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhbGxEYXkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaGUgTG9jYXRpb24gaXMgb3BlbiBhbGwgZGF5IiBkZWZpbml0aW9uPSJUaGUgTG9jYXRpb24gaXMgb3BlbiBhbGwgZGF5LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJvcGVuaW5nVGltZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5UaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRpbWUgdGhhdCB0aGUgTG9jYXRpb24gb3BlbnMiIGRlZmluaXRpb249IlRpbWUgdGhhdCB0aGUgTG9jYXRpb24gb3BlbnMuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNsb3NpbmdUaW1lIiBlbGVtZW50VHlwZT0iU3lzdGVtLlRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGltZSB0aGF0IHRoZSBMb2NhdGlvbiBjbG9zZXMiIGRlZmluaXRpb249IlRpbWUgdGhhdCB0aGUgTG9jYXRpb24gY2xvc2VzLiIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJMb2NhdGlvbi5Qb3NpdGlvbiIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0ibG9uZ2l0dWRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRlY2ltYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTG9uZ2l0dWRlIHdpdGggV0dTODQgZGF0dW0iIGRlZmluaXRpb249IkxvbmdpdHVkZS4gVGhlIHZhbHVlIGRvbWFpbiBhbmQgdGhlIGludGVycHJldGF0aW9uIGFyZSB0aGUgc2FtZSBhcyBmb3IgdGhlIHRleHQgb2YgdGhlIGxvbmdpdHVkZSBlbGVtZW50IGluIEtNTCAoc2VlIG5vdGVzIGJlbG93KS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibGF0aXR1ZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJMYXRpdHVkZSB3aXRoIFdHUzg0IGRhdHVtIiBkZWZpbml0aW9uPSJMYXRpdHVkZS4gVGhlIHZhbHVlIGRvbWFpbiBhbmQgdGhlIGludGVycHJldGF0aW9uIGFyZSB0aGUgc2FtZSBhcyBmb3IgdGhlIHRleHQgb2YgdGhlIGxhdGl0dWRlIGVsZW1lbnQgaW4gS01MIChzZWUgbm90ZXMgYmVsb3cpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJhbHRpdHVkZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkFsdGl0dWRlIHdpdGggV0dTODQgZGF0dW0iIGRlZmluaXRpb249IkFsdGl0dWRlLiBUaGUgdmFsdWUgZG9tYWluIGFuZCB0aGUgaW50ZXJwcmV0YXRpb24gYXJlIHRoZSBzYW1lIGFzIGZvciB0aGUgdGV4dCBvZiB0aGUgYWx0aXR1ZGUgZWxlbWVudCBpbiBLTUwgKHNlZSBub3RlcyBiZWxvdykuIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkxvY2F0aW9uTW9kZSIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkxvY2F0aW9uU3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZWRpY2F0aW9uIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1tZWRpY2F0aW9uIiBsYWJlbD0iUUlDb3JlIE1lZGljYXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgaWRlbnRpZmllciBmb3IgdGhpcyBtZWRpY2F0aW9uIiBkZWZpbml0aW9uPSJCdXNpbmVzcyBpZGVudGlmaWVyIGZvciB0aGlzIG1lZGljYXRpb24uIiBjb21tZW50PSJUaGUgc2VyaWFsIG51bWJlciBjb3VsZCBiZSBpbmNsdWRlZCBhcyBhbiBpZGVudGlmaWVyLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvZGVzIHRoYXQgaWRlbnRpZnkgdGhpcyBtZWRpY2F0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgKG9yIHNldCBvZiBjb2RlcykgdGhhdCBzcGVjaWZ5IHRoaXMgbWVkaWNhdGlvbiwgb3IgYSB0ZXh0dWFsIGRlc2NyaXB0aW9uIGlmIG5vIGNvZGUgaXMgYXZhaWxhYmxlLiBVc2FnZSBub3RlOiBUaGlzIGNvdWxkIGJlIGEgc3RhbmRhcmQgbWVkaWNhdGlvbiBjb2RlIHN1Y2ggYXMgYSBjb2RlIGZyb20gUnhOb3JtLCBTTk9NRUQgQ1QsIElETVAgZXRjLiBJdCBjb3VsZCBhbHNvIGJlIGEgbmF0aW9uYWwgb3IgbG9jYWwgZm9ybXVsYXJ5IGNvZGUsIG9wdGlvbmFsbHkgd2l0aCB0cmFuc2xhdGlvbnMgdG8gb3RoZXIgY29kZSBzeXN0ZW1zLiIgY29tbWVudD0iRGVwZW5kaW5nIG9uIHRoZSBjb250ZXh0IG9mIHVzZSwgdGhlIGNvZGUgdGhhdCB3YXMgYWN0dWFsbHkgc2VsZWN0ZWQgYnkgdGhlIHVzZXIgKHByZXNjcmliZXIsIGRpc3BlbnNlciwgZXRjLikgd2lsbCBoYXZlIHRoZSBjb2RpbmcudXNlclNlbGVjdGVkIHNldCB0byB0cnVlLiAgQXMgZGVzY3JpYmVkIGluIHRoZSBjb2RpbmcgZGF0YXR5cGU6ICZxdW90O0EgY29kaW5nIG1heSBiZSBtYXJrZWQgYXMgYSAmcXVvdDt1c2VyU2VsZWN0ZWQmcXVvdDsgaWYgYSB1c2VyIHNlbGVjdGVkIHRoZSBwYXJ0aWN1bGFyIGNvZGVkIHZhbHVlIGluIGEgdXNlciBpbnRlcmZhY2UgKGUuZy4gdGhlIHVzZXIgc2VsZWN0cyBhbiBpdGVtIGluIGEgcGljay1saXN0KS4gSWYgYSB1c2VyIHNlbGVjdGVkIGNvZGluZyBleGlzdHMsIGl0IGlzIHRoZSBwcmVmZXJyZWQgY2hvaWNlIGZvciBwZXJmb3JtaW5nIHRyYW5zbGF0aW9ucyBldGMuIE90aGVyIGNvZGVzIGNhbiBvbmx5IGJlIGxpdGVyYWwgdHJhbnNsYXRpb25zIHRvIGFsdGVybmF0aXZlIGNvZGUgc3lzdGVtcywgb3IgY29kZXMgYXQgYSBsb3dlciBsZXZlbCBvZiBncmFudWxhcml0eSAoZS5nLiBhIGdlbmVyaWMgY29kZSBmb3IgYSB2ZW5kb3Itc3BlY2lmaWMgcHJpbWFyeSBvbmUpLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5NZWRpY2F0aW9uU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImFjdGl2ZSB8IGluYWN0aXZlIHwgZW50ZXJlZC1pbi1lcnJvciIgZGVmaW5pdGlvbj0iQSBjb2RlIHRvIGluZGljYXRlIGlmIHRoZSBtZWRpY2F0aW9uIGlzIGluIGFjdGl2ZSB1c2UuIiBjb21tZW50PSJUaGlzIHN0YXR1cyBpcyBpbnRlbmRlZCB0byBpZGVudGlmeSBpZiB0aGUgbWVkaWNhdGlvbiBpbiBhIGxvY2FsIHN5c3RlbSBpcyBpbiBhY3RpdmUgdXNlIHdpdGhpbiBhIGRydWcgZGF0YWJhc2Ugb3IgaW52ZW50b3J5LiAgRm9yIGV4YW1wbGUsIGEgcGhhcm1hY3kgc3lzdGVtIG1heSBjcmVhdGUgYSBuZXcgZHJ1ZyBmaWxlIHJlY29yZCBmb3IgYSBjb21wb3VuZGVkIHByb2R1Y3QgJnF1b3Q7QUJDIEhvc3BpdGFsIFNwZWNpYWwgQ3JlYW0mcXVvdDsgd2l0aCBhbiBhY3RpdmUgc3RhdHVzLiAgQXQgc29tZSBwb2ludCBpbiB0aGUgZnV0dXJlLCBpdCBtYXkgYmUgZGV0ZXJtaW5lZCB0aGF0IHRoZSBkcnVnIHJlY29yZCB3YXMgY3JlYXRlZCB3aXRoIGFuIGVycm9yIGFuZCB0aGUgc3RhdHVzIGlzIGNoYW5nZWQgdG8gJnF1b3Q7ZW50ZXJlZCBpbiBlcnJvciZxdW90Oy4gICBUaGlzIHN0YXR1cyBpcyBub3QgaW50ZW5kZWQgdG8gc3BlY2lmeSBpZiBhIG1lZGljYXRpb24gaXMgcGFydCBvZiBhIHBhcnRpY3VsYXIgZm9ybXVsYXJ5LiAgSXQgaXMgcG9zc2libGUgdGhhdCB0aGUgZHJ1ZyByZWNvcmQgbWF5IGJlIHJlZmVyZW5jZWQgYnkgbXVsdGlwbGUgZm9ybXVsYXJpZXMgb3IgY2F0YWxvZ3VlcyBhbmQgZWFjaCBvZiB0aG9zZSBlbnRyaWVzIHdvdWxkIGhhdmUgYSBzZXBhcmF0ZSBzdGF0dXMuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvblN0YXR1cyIgZGVzY3JpcHRpb249IkEgY29kZWQgY29uY2VwdCBkZWZpbmluZyBpZiB0aGUgbWVkaWNhdGlvbiBpcyBpbiBhY3RpdmUgdXNlLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibWFudWZhY3R1cmVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249Ik1hbnVmYWN0dXJlciBvZiB0aGUgaXRlbSIgZGVmaW5pdGlvbj0iRGVzY3JpYmVzIHRoZSBkZXRhaWxzIG9mIHRoZSBtYW51ZmFjdHVyZXIgb2YgdGhlIG1lZGljYXRpb24gcHJvZHVjdC4gIFRoaXMgaXMgbm90IGludGVuZGVkIHRvIHJlcHJlc2VudCB0aGUgZGlzdHJpYnV0b3Igb2YgYSBtZWRpY2F0aW9uIHByb2R1Y3QuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZm9ybSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0icG93ZGVyIHwgdGFibGV0cyB8IGNhcHN1bGUgKyIgZGVmaW5pdGlvbj0iRGVzY3JpYmVzIHRoZSBmb3JtIG9mIHRoZSBpdGVtLiAgUG93ZGVyOyB0YWJsZXRzOyBjYXBzdWxlLiIgY29tbWVudD0iV2hlbiBNZWRpY2F0aW9uIGlzIHJlZmVyZW5jZWQgZnJvbSBNZWRpY2F0aW9uUmVxdWVzdCwgdGhpcyBpcyB0aGUgb3JkZXJlZCBmb3JtLiAgV2hlbiBNZWRpY2F0aW9uIGlzIHJlZmVyZW5jZWQgd2l0aGluIE1lZGljYXRpb25EaXNwZW5zZSwgdGhpcyBpcyB0aGUgZGlzcGVuc2VkIGZvcm0uICBXaGVuIE1lZGljYXRpb24gaXMgcmVmZXJlbmNlZCB3aXRoaW4gTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uLCB0aGlzIGlzIGFkbWluaXN0ZXJlZCBmb3JtLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1lZGljYXRpb25Gb3JtIiBkZXNjcmlwdGlvbj0iQSBjb2RlZCBjb25jZXB0IGRlZmluaW5nIHRoZSBmb3JtIG9mIGEgbWVkaWNhdGlvbi4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYW1vdW50IiBlbGVtZW50VHlwZT0iU3lzdGVtLlJhdGlvIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUmF0aW8oJXZhbHVlKSIgZGVzY3JpcHRpb249IkFtb3VudCBvZiBkcnVnIGluIHBhY2thZ2UiIGRlZmluaXRpb249IlNwZWNpZmljIGFtb3VudCBvZiB0aGUgZHJ1ZyBpbiB0aGUgcGFja2FnZWQgcHJvZHVjdC4gIEZvciBleGFtcGxlLCB3aGVuIHNwZWNpZnlpbmcgYSBwcm9kdWN0IHRoYXQgaGFzIHRoZSBzYW1lIHN0cmVuZ3RoIChGb3IgZXhhbXBsZSwgSW5zdWxpbiBnbGFyZ2luZSAxMDAgdW5pdCBwZXIgbUwgc29sdXRpb24gZm9yIGluamVjdGlvbiksIHRoaXMgYXR0cmlidXRlIHByb3ZpZGVzIGFkZGl0aW9uYWwgY2xhcmlmaWNhdGlvbiBvZiB0aGUgcGFja2FnZSBhbW91bnQgKEZvciBleGFtcGxlLCAzIG1MLCAxMG1MLCBldGMuKS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5ncmVkaWVudCIgZGVzY3JpcHRpb249IkFjdGl2ZSBvciBpbmFjdGl2ZSBpbmdyZWRpZW50IiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIGEgcGFydGljdWxhciBjb25zdGl0dWVudCBvZiBpbnRlcmVzdCBpbiB0aGUgcHJvZHVjdC4iIGNvbW1lbnQ9IlRoZSBpbmdyZWRpZW50cyBuZWVkIG5vdCBiZSBhIGNvbXBsZXRlIGxpc3QuICBJZiBhbiBpbmdyZWRpZW50IGlzIG5vdCBzcGVjaWZpZWQsIHRoaXMgZG9lcyBub3QgaW5kaWNhdGUgd2hldGhlciBhbiBpbmdyZWRpZW50IGlzIHByZXNlbnQgb3IgYWJzZW50LiAgSWYgYW4gaW5ncmVkaWVudCBpcyBzcGVjaWZpZWQgaXQgZG9lcyBub3QgbWVhbiB0aGF0IGFsbCBpbmdyZWRpZW50cyBhcmUgc3BlY2lmaWVkLiAgSXQgaXMgcG9zc2libGUgdG8gc3BlY2lmeSBib3RoIGluYWN0aXZlIGFuZCBhY3RpdmUgaW5ncmVkaWVudHMuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5NZWRpY2F0aW9uLkluZ3JlZGllbnQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJhdGNoIiBlbGVtZW50VHlwZT0iUUlDb3JlLk1lZGljYXRpb24uQmF0Y2giIGRlc2NyaXB0aW9uPSJEZXRhaWxzIGFib3V0IHBhY2thZ2VkIG1lZGljYXRpb25zIiBkZWZpbml0aW9uPSJJbmZvcm1hdGlvbiB0aGF0IG9ubHkgYXBwbGllcyB0byBwYWNrYWdlcyAobm90IHByb2R1Y3RzKS4iLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTWVkaWNhdGlvbi5CYXRjaCIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0ibG90TnVtYmVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVyIGFzc2lnbmVkIHRvIGJhdGNoIiBkZWZpbml0aW9uPSJUaGUgYXNzaWduZWQgbG90IG51bWJlciBvZiBhIGJhdGNoIG9mIHRoZSBzcGVjaWZpZWQgcHJvZHVjdC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZXhwaXJhdGlvbkRhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hlbiBiYXRjaCB3aWxsIGV4cGlyZSIgZGVmaW5pdGlvbj0iV2hlbiB0aGlzIHNwZWNpZmljIGJhdGNoIG9mIHByb2R1Y3Qgd2lsbCBleHBpcmUuIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik1lZGljYXRpb24uSW5ncmVkaWVudCIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaXRlbSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgYWN0dWFsIGluZ3JlZGllbnQgb3IgY29udGVudCIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBpbmdyZWRpZW50IC0gZWl0aGVyIGEgc3Vic3RhbmNlIChzaW1wbGUgaW5ncmVkaWVudCkgb3IgYW5vdGhlciBtZWRpY2F0aW9uIG9mIGEgbWVkaWNhdGlvbi4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaXNBY3RpdmUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBY3RpdmUgaW5ncmVkaWVudCBpbmRpY2F0b3IiIGRlZmluaXRpb249IkluZGljYXRpb24gb2Ygd2hldGhlciB0aGlzIGluZ3JlZGllbnQgYWZmZWN0cyB0aGUgdGhlcmFwZXV0aWMgYWN0aW9uIG9mIHRoZSBkcnVnLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0cmVuZ3RoIiBlbGVtZW50VHlwZT0iU3lzdGVtLlJhdGlvIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUmF0aW8oJXZhbHVlKSIgZGVzY3JpcHRpb249IlF1YW50aXR5IG9mIGluZ3JlZGllbnQgcHJlc2VudCIgZGVmaW5pdGlvbj0iU3BlY2lmaWVzIGhvdyBtYW55IChvciBob3cgbXVjaCkgb2YgdGhlIGl0ZW1zIHRoZXJlIGFyZSBpbiB0aGlzIE1lZGljYXRpb24uICBGb3IgZXhhbXBsZSwgMjUwIG1nIHBlciB0YWJsZXQuICBUaGlzIGlzIGV4cHJlc3NlZCBhcyBhIHJhdGlvIHdoZXJlIHRoZSBudW1lcmF0b3IgaXMgMjUwbWcgYW5kIHRoZSBkZW5vbWluYXRvciBpcyAxIHRhYmxldC4iLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW1lZGljYXRpb25hZG1pbmlzdHJhdGlvbiIgbGFiZWw9IlFJQ29yZSBNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9Im1lZGljYXRpb24iPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iRXh0ZXJuYWwgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcnMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgTWVkaWNhdGlvbiBBZG1pbmlzdHJhdGlvbiB0aGF0IGFyZSBkZWZpbmVkIGJ5IGJ1c2luZXNzIHByb2Nlc3NlcyBhbmQvb3IgdXNlZCB0byByZWZlciB0byBpdCB3aGVuIGEgZGlyZWN0IFVSTCByZWZlcmVuY2UgdG8gdGhlIHJlc291cmNlIGl0c2VsZiBpcyBub3QgYXBwcm9wcmlhdGUuIFRoZXkgYXJlIGJ1c2luZXNzIGlkZW50aWZpZXJzIGFzc2lnbmVkIHRvIHRoaXMgcmVzb3VyY2UgYnkgdGhlIHBlcmZvcm1lciBvciBvdGhlciBzeXN0ZW1zIGFuZCByZW1haW4gY29uc3RhbnQgYXMgdGhlIHJlc291cmNlIGlzIHVwZGF0ZWQgYW5kIHByb3BhZ2F0ZXMgZnJvbSBzZXJ2ZXIgdG8gc2VydmVyLiIgY29tbWVudD0iVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3RhbnRpYXRlcyBwcm90b2NvbCBvciBkZWZpbml0aW9uIiBkZWZpbml0aW9uPSJBIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyc2V0LCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgd2FzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iUGFydCBvZiByZWZlcmVuY2VkIGV2ZW50IiBkZWZpbml0aW9uPSJBIGxhcmdlciBldmVudCBvZiB3aGljaCB0aGlzIHBhcnRpY3VsYXIgZXZlbnQgaXMgYSBjb21wb25lbnQgb3Igc3RlcC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25TdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iaW4tcHJvZ3Jlc3MgfCBvbi1ob2xkIHwgY29tcGxldGVkIHwgZW50ZXJlZC1pbi1lcnJvciB8IHN0b3BwZWQgfCB1bmtub3duIiBkZWZpbml0aW9uPSJXaWxsIGdlbmVyYWxseSBiZSBzZXQgdG8gc2hvdyB0aGF0IHRoZSBhZG1pbmlzdHJhdGlvbiBoYXMgYmVlbiBjb21wbGV0ZWQuICBGb3Igc29tZSBsb25nIHJ1bm5pbmcgYWRtaW5pc3RyYXRpb25zIHN1Y2ggYXMgaW5mdXNpb25zLCBpdCBpcyBwb3NzaWJsZSBmb3IgYW4gYWRtaW5pc3RyYXRpb24gdG8gYmUgc3RhcnRlZCBidXQgbm90IGNvbXBsZXRlZCBvciBpdCBtYXkgYmUgcGF1c2VkIHdoaWxlIHNvbWUgb3RoZXIgcHJvY2VzcyBpcyB1bmRlciB3YXkuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1lZGljYXRpb25BZG1pbmlzdHJhdGlvblN0YXR1cyIgZGVzY3JpcHRpb249IkEgc2V0IG9mIGNvZGVzIGluZGljYXRpbmcgdGhlIGN1cnJlbnQgc3RhdHVzIG9mIGEgTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzUmVhc29uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmVhc29uIGFkbWluaXN0cmF0aW9uIG5vdCBwZXJmb3JtZWQiIGRlZmluaXRpb249IkEgY29kZSBpbmRpY2F0aW5nIHdoeSB0aGUgYWRtaW5pc3RyYXRpb24gd2FzIG5vdCBwZXJmb3JtZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlR5cGUgb2YgbWVkaWNhdGlvbiB1c2FnZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGNvbnN1bWVkIG9yIGFkbWluaXN0ZXJlZC4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkEgY29kZWQgY29uY2VwdCBkZXNjcmliaW5nIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGFkbWluaXN0ZXJlZCBpcyBleHBlY3RlZCB0byBvY2N1ci4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtZWRpY2F0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoYXQgd2FzIGFkbWluaXN0ZXJlZCIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgbWVkaWNhdGlvbiB0aGF0IHdhcyBhZG1pbmlzdGVyZWQuIFRoaXMgaXMgZWl0aGVyIGEgbGluayB0byBhIHJlc291cmNlIHJlcHJlc2VudGluZyB0aGUgZGV0YWlscyBvZiB0aGUgbWVkaWNhdGlvbiBvciBhIHNpbXBsZSBhdHRyaWJ1dGUgY2FycnlpbmcgYSBjb2RlIHRoYXQgaWRlbnRpZmllcyB0aGUgbWVkaWNhdGlvbiBmcm9tIGEga25vd24gbGlzdCBvZiBtZWRpY2F0aW9ucy4iIGNvbW1lbnQ9IklmIG9ubHkgYSBjb2RlIGlzIHNwZWNpZmllZCwgdGhlbiBpdCBuZWVkcyB0byBiZSBhIGNvZGUgZm9yIGEgc3BlY2lmaWMgcHJvZHVjdC4gSWYgbW9yZSBpbmZvcm1hdGlvbiBpcyByZXF1aXJlZCwgdGhlbiB0aGUgdXNlIG9mIHRoZSBtZWRpY2F0aW9uIHJlc291cmNlIGlzIHJlY29tbWVuZGVkLiAgRm9yIGV4YW1wbGUsIGlmIHlvdSByZXF1aXJlIGZvcm0gb3IgbG90IG51bWJlciwgdGhlbiB5b3UgbXVzdCByZWZlcmVuY2UgdGhlIE1lZGljYXRpb24gcmVzb3VyY2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGUgc2V0IG9mIFJ4Tm9ybSBjb2RlcyB0byByZXByZXNlbnQgbWVkaWNhdGlvbnMiIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyByZWNlaXZlZCBtZWRpY2F0aW9uIiBkZWZpbml0aW9uPSJUaGUgcGVyc29uIG9yIGFuaW1hbCBvciBncm91cCByZWNlaXZpbmcgdGhlIG1lZGljYXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJjb250ZXh0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkVuY291bnRlciBvciBFcGlzb2RlIG9mIENhcmUgYWRtaW5pc3RlcmVkIGFzIHBhcnQgb2YiIGRlZmluaXRpb249IlRoZSB2aXNpdCwgYWRtaXNzaW9uLCBvciBvdGhlciBjb250YWN0IGJldHdlZW4gcGF0aWVudCBhbmQgaGVhbHRoIGNhcmUgcHJvdmlkZXIgZHVyaW5nIHdoaWNoIHRoZSBtZWRpY2F0aW9uIGFkbWluaXN0cmF0aW9uIHdhcyBwZXJmb3JtZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJzdXBwb3J0aW5nSW5mb3JtYXRpb24iIGRlc2NyaXB0aW9uPSJBZGRpdGlvbmFsIGluZm9ybWF0aW9uIHRvIHN1cHBvcnQgYWRtaW5pc3RyYXRpb24iIGRlZmluaXRpb249IkFkZGl0aW9uYWwgaW5mb3JtYXRpb24gKGZvciBleGFtcGxlLCBwYXRpZW50IGhlaWdodCBhbmQgd2VpZ2h0KSB0aGF0IHN1cHBvcnRzIHRoZSBhZG1pbmlzdHJhdGlvbiBvZiB0aGUgbWVkaWNhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJTdGFydCBhbmQgZW5kIHRpbWUgb2YgYWRtaW5pc3RyYXRpb24iIGRlZmluaXRpb249IkEgc3BlY2lmaWMgZGF0ZS90aW1lIG9yIGludGVydmFsIG9mIHRpbWUgZHVyaW5nIHdoaWNoIHRoZSBhZG1pbmlzdHJhdGlvbiB0b29rIHBsYWNlIChvciBkaWQgbm90IHRha2UgcGxhY2UsIHdoZW4gdGhlICdub3RHaXZlbicgYXR0cmlidXRlIGlzIHRydWUpLiBGb3IgbWFueSBhZG1pbmlzdHJhdGlvbnMsIHN1Y2ggYXMgc3dhbGxvd2luZyBhIHRhYmxldCB0aGUgdXNlIG9mIGRhdGVUaW1lIGlzIG1vcmUgYXBwcm9wcmlhdGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IldobyBwZXJmb3JtZWQgdGhlIG1lZGljYXRpb24gYWRtaW5pc3RyYXRpb24gYW5kIHdoYXQgdGhleSBkaWQiIGRlZmluaXRpb249IkluZGljYXRlcyB3aG8gb3Igd2hhdCBwZXJmb3JtZWQgdGhlIG1lZGljYXRpb24gYWRtaW5pc3RyYXRpb24gYW5kIGhvdyB0aGV5IHdlcmUgaW52b2x2ZWQuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24uUGVyZm9ybWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmVhc29uIGFkbWluaXN0cmF0aW9uIHBlcmZvcm1lZCIgZGVmaW5pdGlvbj0iQSBjb2RlIGluZGljYXRpbmcgd2h5IHRoZSBtZWRpY2F0aW9uIHdhcyBnaXZlbi4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJDb25kaXRpb24gb3Igb2JzZXJ2YXRpb24gdGhhdCBzdXBwb3J0cyB3aHkgdGhlIG1lZGljYXRpb24gd2FzIGFkbWluaXN0ZXJlZCIgZGVmaW5pdGlvbj0iQ29uZGl0aW9uIG9yIG9ic2VydmF0aW9uIHRoYXQgc3VwcG9ydHMgd2h5IHRoZSBtZWRpY2F0aW9uIHdhcyBhZG1pbmlzdGVyZWQuIiBjb21tZW50PSJUaGlzIGlzIGEgcmVmZXJlbmNlIHRvIGEgY29uZGl0aW9uIHRoYXQgaXMgdGhlIHJlYXNvbiBmb3IgdGhlIG1lZGljYXRpb24gcmVxdWVzdC4gIElmIG9ubHkgYSBjb2RlIGV4aXN0cywgdXNlIHJlYXNvbkNvZGUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZXF1ZXN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlJlcXVlc3QgYWRtaW5pc3RyYXRpb24gcGVyZm9ybWVkIGFnYWluc3QiIGRlZmluaXRpb249IlRoZSBvcmlnaW5hbCByZXF1ZXN0LCBpbnN0cnVjdGlvbiBvciBhdXRob3JpdHkgdG8gcGVyZm9ybSB0aGUgYWRtaW5pc3RyYXRpb24uIiBjb21tZW50PSJUaGlzIGlzIGEgcmVmZXJlbmNlIHRvIHRoZSBNZWRpY2F0aW9uUmVxdWVzdCAgd2hlcmUgdGhlIGludGVudCBpcyBlaXRoZXIgb3JkZXIgb3IgaW5zdGFuY2Utb3JkZXIuICBJdCBzaG91bGQgbm90IHJlZmVyZW5jZSBNZWRpY2F0aW9uUmVxdWVzdHMgd2hlcmUgdGhlIGludGVudCBpcyBhbnkgb3RoZXIgdmFsdWUuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlIiBkZXNjcmlwdGlvbj0iRGV2aWNlIHVzZWQgdG8gYWRtaW5pc3RlciIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB1c2VkIGluIGFkbWluaXN0ZXJpbmcgdGhlIG1lZGljYXRpb24gdG8gdGhlIHBhdGllbnQuICBGb3IgZXhhbXBsZSwgYSBwYXJ0aWN1bGFyIGluZnVzaW9uIHB1bXAuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJJbmZvcm1hdGlvbiBhYm91dCB0aGUgYWRtaW5pc3RyYXRpb24iIGRlZmluaXRpb249IkV4dHJhIGluZm9ybWF0aW9uIGFib3V0IHRoZSBtZWRpY2F0aW9uIGFkbWluaXN0cmF0aW9uIHRoYXQgaXMgbm90IGNvbnZleWVkIGJ5IHRoZSBvdGhlciBhdHRyaWJ1dGVzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRvc2FnZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24uRG9zYWdlIiBkZXNjcmlwdGlvbj0iRGV0YWlscyBvZiBob3cgbWVkaWNhdGlvbiB3YXMgdGFrZW4iIGRlZmluaXRpb249IkRlc2NyaWJlcyB0aGUgbWVkaWNhdGlvbiBkb3NhZ2UgaW5mb3JtYXRpb24gZGV0YWlscyBlLmcuIGRvc2UsIHJhdGUsIHNpdGUsIHJvdXRlLCBldGMuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZXZlbnRIaXN0b3J5IiBkZXNjcmlwdGlvbj0iQSBsaXN0IG9mIGV2ZW50cyBvZiBpbnRlcmVzdCBpbiB0aGUgbGlmZWN5Y2xlIiBkZWZpbml0aW9uPSJBIHN1bW1hcnkgb2YgdGhlIGV2ZW50cyBvZiBpbnRlcmVzdCB0aGF0IGhhdmUgb2NjdXJyZWQsIHN1Y2ggYXMgd2hlbiB0aGUgYWRtaW5pc3RyYXRpb24gd2FzIHZlcmlmaWVkLiIgY29tbWVudD0iVGhpcyBtaWdodCBub3QgaW5jbHVkZSBwcm92ZW5hbmNlcyBmb3IgYWxsIHZlcnNpb25zIG9mIHRoZSByZXF1ZXN0IOKAkyBvbmx5IHRob3NlIGRlZW1lZCDigJxyZWxldmFudOKAnSBvciBpbXBvcnRhbnQuIFRoaXMgU0hBTEwgTk9UIGluY2x1ZGUgdGhlIFByb3ZlbmFuY2UgYXNzb2NpYXRlZCB3aXRoIHRoaXMgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSByZXNvdXJjZS4gKElmIHRoYXQgcHJvdmVuYW5jZSBpcyBkZWVtZWQgdG8gYmUgYSDigJxyZWxldmFudOKAnSBjaGFuZ2UsIGl0IHdpbGwgbmVlZCB0byBiZSBhZGRlZCBhcyBwYXJ0IG9mIGEgbGF0ZXIgdXBkYXRlLiBVbnRpbCB0aGVuLCBpdCBjYW4gYmUgcXVlcmllZCBkaXJlY3RseSBhcyB0aGUgUHJvdmVuYW5jZSB0aGF0IHBvaW50cyB0byB0aGlzIHZlcnNpb24gdXNpbmcgX3JldmluY2x1ZGUgQWxsIFByb3ZlbmFuY2VzIHNob3VsZCBoYXZlIHNvbWUgaGlzdG9yaWNhbCB2ZXJzaW9uIG9mIHRoaXMgUmVxdWVzdCBhcyB0aGVpciBzdWJqZWN0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0iYWN0b3IiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBhdGllbnQiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9ImFjdG9yIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJzdWJqZWN0Ii8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IkVuY291bnRlciIgcmVsYXRlZEtleUVsZW1lbnQ9ImNvbnRleHQiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iRGV2aWNlIiByZWxhdGVkS2V5RWxlbWVudD0iZGV2aWNlIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlJlbGF0ZWRQZXJzb24iIHJlbGF0ZWRLZXlFbGVtZW50PSJhY3RvciIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24uRG9zYWdlIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJ0ZXh0IiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJGcmVlIHRleHQgZG9zYWdlIGluc3RydWN0aW9ucyBlLmcuIFNJRyIgZGVmaW5pdGlvbj0iRnJlZSB0ZXh0IGRvc2FnZSBjYW4gYmUgdXNlZCBmb3IgY2FzZXMgd2hlcmUgdGhlIGRvc2FnZSBhZG1pbmlzdGVyZWQgaXMgdG9vIGNvbXBsZXggdG8gY29kZS4gV2hlbiBjb2RlZCBkb3NhZ2UgaXMgcHJlc2VudCwgdGhlIGZyZWUgdGV4dCBkb3NhZ2UgbWF5IHN0aWxsIGJlIHByZXNlbnQgZm9yIGRpc3BsYXkgdG8gaHVtYW5zLiYjeGQ7JiN4ZDtUaGUgZG9zYWdlIGluc3RydWN0aW9ucyBzaG91bGQgcmVmbGVjdCB0aGUgZG9zYWdlIG9mIHRoZSBtZWRpY2F0aW9uIHRoYXQgd2FzIGFkbWluaXN0ZXJlZC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQm9keSBzaXRlIGFkbWluaXN0ZXJlZCB0byIgZGVmaW5pdGlvbj0iQSBjb2RlZCBzcGVjaWZpY2F0aW9uIG9mIHRoZSBhbmF0b21pYyBzaXRlIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGZpcnN0IGVudGVyZWQgdGhlIGJvZHkuICBGb3IgZXhhbXBsZSwgJnF1b3Q7bGVmdCBhcm0mcXVvdDsuIiBjb21tZW50PSJJZiB0aGUgdXNlIGNhc2UgcmVxdWlyZXMgYXR0cmlidXRlcyBmcm9tIHRoZSBCb2R5U2l0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiAgTWF5IGJlIGEgc3VtbWFyeSBjb2RlLCBvciBhIHJlZmVyZW5jZSB0byBhIHZlcnkgcHJlY2lzZSBkZWZpbml0aW9uIG9mIHRoZSBsb2NhdGlvbiwgb3IgYm90aC4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25TaXRlIiBkZXNjcmlwdGlvbj0iQSBjb2RlZCBjb25jZXB0IGRlc2NyaWJpbmcgdGhlIHNpdGUgbG9jYXRpb24gdGhlIG1lZGljaW5lIGVudGVycyBpbnRvIG9yIG9udG8gdGhlIGJvZHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJvdXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJQYXRoIG9mIHN1YnN0YW5jZSBpbnRvIGJvZHkiIGRlZmluaXRpb249IkEgY29kZSBzcGVjaWZ5aW5nIHRoZSByb3V0ZSBvciBwaHlzaW9sb2dpY2FsIHBhdGggb2YgYWRtaW5pc3RyYXRpb24gb2YgYSB0aGVyYXBldXRpYyBhZ2VudCBpbnRvIG9yIG9udG8gdGhlIHBhdGllbnQuICBGb3IgZXhhbXBsZSwgdG9waWNhbCwgaW50cmF2ZW5vdXMsIGV0Yy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IGRydWcgd2FzIGFkbWluaXN0ZXJlZCIgZGVmaW5pdGlvbj0iQSBjb2RlZCB2YWx1ZSBpbmRpY2F0aW5nIHRoZSBtZXRob2QgYnkgd2hpY2ggdGhlIG1lZGljYXRpb24gaXMgaW50ZW5kZWQgdG8gYmUgb3Igd2FzIGludHJvZHVjZWQgaW50byBvciBvbiB0aGUgYm9keS4gIFRoaXMgYXR0cmlidXRlIHdpbGwgbW9zdCBvZnRlbiBOT1QgYmUgcG9wdWxhdGVkLiAgSXQgaXMgbW9zdCBjb21tb25seSB1c2VkIGZvciBpbmplY3Rpb25zLiAgRm9yIGV4YW1wbGUsIFNsb3cgUHVzaCwgRGVlcCBJVi4iIGNvbW1lbnQ9Ik9uZSBvZiB0aGUgcmVhc29ucyB0aGlzIGF0dHJpYnV0ZSBpcyBub3QgdXNlZCBvZnRlbiwgaXMgdGhhdCB0aGUgbWV0aG9kIGlzIG9mdGVuIHByZS1jb29yZGluYXRlZCB3aXRoIHRoZSByb3V0ZSBhbmQvb3IgZm9ybSBvZiBhZG1pbmlzdHJhdGlvbi4gIFRoaXMgbWVhbnMgdGhlIGNvZGVzIHVzZWQgaW4gcm91dGUgb3IgZm9ybSBtYXkgcHJlLWNvb3JkaW5hdGUgdGhlIG1ldGhvZCBpbiB0aGUgcm91dGUgY29kZSBvciB0aGUgZm9ybSBjb2RlLiAgVGhlIGltcGxlbWVudGF0aW9uIGRlY2lzaW9uIGFib3V0IHdoYXQgY29kaW5nIHN5c3RlbSB0byB1c2UgZm9yIHJvdXRlIG9yIGZvcm0gY29kZSB3aWxsIGRldGVybWluZSBob3cgZnJlcXVlbnRseSB0aGUgbWV0aG9kIGNvZGUgd2lsbCBiZSBwb3B1bGF0ZWQgZS5nLiBpZiByb3V0ZSBvciBmb3JtIGNvZGUgcHJlLWNvb3JkaW5hdGUgbWV0aG9kIGNvZGUsIHRoZW4gdGhpcyBhdHRyaWJ1dGUgd2lsbCBub3QgYmUgcG9wdWxhdGVkIG9mdGVuOyBpZiB0aGVyZSBpcyBubyBwcmUtY29vcmRpbmF0aW9uIHRoZW4gbWV0aG9kIGNvZGUgbWF5ICBiZSB1c2VkIGZyZXF1ZW50bHkuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uTWV0aG9kIiBkZXNjcmlwdGlvbj0iQSBjb2RlZCBjb25jZXB0IGRlc2NyaWJpbmcgdGhlIHRlY2huaXF1ZSBieSB3aGljaCB0aGUgbWVkaWNpbmUgaXMgYWRtaW5pc3RlcmVkLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkb3NlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFtb3VudCBvZiBtZWRpY2F0aW9uIHBlciBkb3NlIiBkZWZpbml0aW9uPSJUaGUgYW1vdW50IG9mIHRoZSBtZWRpY2F0aW9uIGdpdmVuIGF0IG9uZSBhZG1pbmlzdHJhdGlvbiBldmVudC4gICBVc2UgdGhpcyB2YWx1ZSB3aGVuIHRoZSBhZG1pbmlzdHJhdGlvbiBpcyBlc3NlbnRpYWxseSBhbiBpbnN0YW50YW5lb3VzIGV2ZW50IHN1Y2ggYXMgYSBzd2FsbG93aW5nIGEgdGFibGV0IG9yIGdpdmluZyBhbiBpbmplY3Rpb24uIiBjb21tZW50PSJJZiB0aGUgYWRtaW5pc3RyYXRpb24gaXMgbm90IGluc3RhbnRhbmVvdXMgKHJhdGUgaXMgcHJlc2VudCksIHRoaXMgY2FuIGJlIHNwZWNpZmllZCB0byBjb252ZXkgdGhlIHRvdGFsIGFtb3VudCBhZG1pbmlzdGVyZWQgb3ZlciBwZXJpb2Qgb2YgdGltZSBvZiBhIHNpbmdsZSBhZG1pbmlzdHJhdGlvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJhdGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRG9zZSBxdWFudGl0eSBwZXIgdW5pdCBvZiB0aW1lIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHRoZSBzcGVlZCB3aXRoIHdoaWNoIHRoZSBtZWRpY2F0aW9uIHdhcyBvciB3aWxsIGJlIGludHJvZHVjZWQgaW50byB0aGUgcGF0aWVudC4gIFR5cGljYWxseSwgdGhlIHJhdGUgZm9yIGFuIGluZnVzaW9uIGUuZy4gMTAwIG1sIHBlciAxIGhvdXIgb3IgMTAwIG1sL2hyLiAgTWF5IGFsc28gYmUgZXhwcmVzc2VkIGFzIGEgcmF0ZSBwZXIgdW5pdCBvZiB0aW1lLCBlLmcuIDUwMCBtbCBwZXIgMiBob3Vycy4gIE90aGVyIGV4YW1wbGVzOiAgMjAwIG1jZy9taW4gb3IgMjAwIG1jZy8xIG1pbnV0ZTsgMSBsaXRlci84IGhvdXJzLiIgY29tbWVudD0iSWYgdGhlIHJhdGUgY2hhbmdlcyBvdmVyIHRpbWUsIGFuZCB5b3Ugd2FudCB0byBjYXB0dXJlIHRoaXMgaW4gTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uLCB0aGVuIGVhY2ggY2hhbmdlIHNob3VsZCBiZSBjYXB0dXJlZCBhcyBhIGRpc3RpbmN0IE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiwgd2l0aCBhIHNwZWNpZmljIE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbi5kb3NhZ2UucmF0ZSwgYW5kIHRoZSBkYXRlIHRpbWUgd2hlbiB0aGUgcmF0ZSBjaGFuZ2Ugb2NjdXJyZWQuIFR5cGljYWxseSwgdGhlIE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbi5kb3NhZ2UucmF0ZSBlbGVtZW50IGlzIG5vdCB1c2VkIHRvIGNvbnZleSBhbiBhdmVyYWdlIHJhdGUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUmF0aW8iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24uUGVyZm9ybWVyIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJmdW5jdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVHlwZSBvZiBwZXJmb3JtYW5jZSIgZGVmaW5pdGlvbj0iRGlzdGluZ3Vpc2hlcyB0aGUgdHlwZSBvZiBpbnZvbHZlbWVudCBvZiB0aGUgcGVyZm9ybWVyIGluIHRoZSBtZWRpY2F0aW9uIGFkbWluaXN0cmF0aW9uLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1lZGljYXRpb25BZG1pbmlzdHJhdGlvblBlcmZvcm1lckZ1bmN0aW9uIiBkZXNjcmlwdGlvbj0iQSBjb2RlIGRlc2NyaWJpbmcgdGhlIHJvbGUgYW4gaW5kaXZpZHVhbCBwbGF5ZWQgaW4gYWRtaW5pc3RlcmluZyB0aGUgbWVkaWNhdGlvbi4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYWN0b3IiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIHBlcmZvcm1lZCB0aGUgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvbiIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdobyBvciB3aGF0IHBlcmZvcm1lZCB0aGUgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvbi4iLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25Ob3REb25lIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1tZWRpY2F0aW9uYWRtaW5pc3RyYXRpb25ub3Rkb25lIiBsYWJlbD0iUUlDb3JlIE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiBOb3QgRG9uZSIgdGFyZ2V0PSJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9Im1lZGljYXRpb24iPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvcmRlZCIgZWxlbWVudFR5cGU9IlFJQ29yZS5Ob3REb25lUmVjb3JkZWQiIHRhcmdldD0iJXBhcmVudC5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1yZWNvcmRlZCddLnZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRXh0ZW5zaW9uIiBkZWZpbml0aW9uPSJDYXB0dXJlcyB0aGUgcmVjb3JkZWQgZGF0ZSBvZiB0aGUgZXZlbnQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iRXh0ZXJuYWwgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcnMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgTWVkaWNhdGlvbiBBZG1pbmlzdHJhdGlvbiB0aGF0IGFyZSBkZWZpbmVkIGJ5IGJ1c2luZXNzIHByb2Nlc3NlcyBhbmQvb3IgdXNlZCB0byByZWZlciB0byBpdCB3aGVuIGEgZGlyZWN0IFVSTCByZWZlcmVuY2UgdG8gdGhlIHJlc291cmNlIGl0c2VsZiBpcyBub3QgYXBwcm9wcmlhdGUuIFRoZXkgYXJlIGJ1c2luZXNzIGlkZW50aWZpZXJzIGFzc2lnbmVkIHRvIHRoaXMgcmVzb3VyY2UgYnkgdGhlIHBlcmZvcm1lciBvciBvdGhlciBzeXN0ZW1zIGFuZCByZW1haW4gY29uc3RhbnQgYXMgdGhlIHJlc291cmNlIGlzIHVwZGF0ZWQgYW5kIHByb3BhZ2F0ZXMgZnJvbSBzZXJ2ZXIgdG8gc2VydmVyLiIgY29tbWVudD0iVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3RhbnRpYXRlcyBwcm90b2NvbCBvciBkZWZpbml0aW9uIiBkZWZpbml0aW9uPSJBIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyc2V0LCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgd2FzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iUGFydCBvZiByZWZlcmVuY2VkIGV2ZW50IiBkZWZpbml0aW9uPSJBIGxhcmdlciBldmVudCBvZiB3aGljaCB0aGlzIHBhcnRpY3VsYXIgZXZlbnQgaXMgYSBjb21wb25lbnQgb3Igc3RlcC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25TdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iaW4tcHJvZ3Jlc3MgfCBub3QtZG9uZSB8IG9uLWhvbGQgfCBjb21wbGV0ZWQgfCBlbnRlcmVkLWluLWVycm9yIHwgc3RvcHBlZCB8IHVua25vd24iIGRlZmluaXRpb249IldpbGwgZ2VuZXJhbGx5IGJlIHNldCB0byBzaG93IHRoYXQgdGhlIGFkbWluaXN0cmF0aW9uIGhhcyBiZWVuIGNvbXBsZXRlZC4gIEZvciBzb21lIGxvbmcgcnVubmluZyBhZG1pbmlzdHJhdGlvbnMgc3VjaCBhcyBpbmZ1c2lvbnMsIGl0IGlzIHBvc3NpYmxlIGZvciBhbiBhZG1pbmlzdHJhdGlvbiB0byBiZSBzdGFydGVkIGJ1dCBub3QgY29tcGxldGVkIG9yIGl0IG1heSBiZSBwYXVzZWQgd2hpbGUgc29tZSBvdGhlciBwcm9jZXNzIGlzIHVuZGVyIHdheS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uU3RhdHVzIiBkZXNjcmlwdGlvbj0iQSBzZXQgb2YgY29kZXMgaW5kaWNhdGluZyB0aGUgY3VycmVudCBzdGF0dXMgb2YgYSBNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24uIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXNSZWFzb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZWFzb24gYWRtaW5pc3RyYXRpb24gbm90IHBlcmZvcm1lZCIgZGVmaW5pdGlvbj0iQSBjb2RlIGluZGljYXRpbmcgd2h5IHRoZSBhZG1pbmlzdHJhdGlvbiB3YXMgbm90IHBlcmZvcm1lZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGUgcmVhc29uIHRoZSBldmVudCBkaWQgbm90IG9jY3VyIG9yIHdhcyBub3QgcGVyZm9ybWVkIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUeXBlIG9mIG1lZGljYXRpb24gdXNhZ2UiIGRlZmluaXRpb249IkluZGljYXRlcyB3aGVyZSB0aGUgbWVkaWNhdGlvbiBpcyBleHBlY3RlZCB0byBiZSBjb25zdW1lZCBvciBhZG1pbmlzdGVyZWQuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJBIGNvZGVkIGNvbmNlcHQgZGVzY3JpYmluZyB3aGVyZSB0aGUgbWVkaWNhdGlvbiBhZG1pbmlzdGVyZWQgaXMgZXhwZWN0ZWQgdG8gb2NjdXIuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibWVkaWNhdGlvbiIgdGFyZ2V0PSJTeXN0ZW0uQ29uY2VwdDpGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKTtTeXN0ZW0uVmFsdWVTZXQ6RkhJUkhlbHBlcnMuVG9WYWx1ZVNldCglcGFyZW50Lm1lZGljYXRpb25beF0uZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtbm90RG9uZVZhbHVlU2V0J10udmFsdWUudmFsdWUpIiBkZXNjcmlwdGlvbj0iV2hhdCB3YXMgYWRtaW5pc3RlcmVkIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHRoZSBtZWRpY2F0aW9uIHRoYXQgd2FzIGFkbWluaXN0ZXJlZC4gVGhpcyBpcyBlaXRoZXIgYSBsaW5rIHRvIGEgcmVzb3VyY2UgcmVwcmVzZW50aW5nIHRoZSBkZXRhaWxzIG9mIHRoZSBtZWRpY2F0aW9uIG9yIGEgc2ltcGxlIGF0dHJpYnV0ZSBjYXJyeWluZyBhIGNvZGUgdGhhdCBpZGVudGlmaWVzIHRoZSBtZWRpY2F0aW9uIGZyb20gYSBrbm93biBsaXN0IG9mIG1lZGljYXRpb25zLiIgY29tbWVudD0iSWYgb25seSBhIGNvZGUgaXMgc3BlY2lmaWVkLCB0aGVuIGl0IG5lZWRzIHRvIGJlIGEgY29kZSBmb3IgYSBzcGVjaWZpYyBwcm9kdWN0LiBJZiBtb3JlIGluZm9ybWF0aW9uIGlzIHJlcXVpcmVkLCB0aGVuIHRoZSB1c2Ugb2YgdGhlIG1lZGljYXRpb24gcmVzb3VyY2UgaXMgcmVjb21tZW5kZWQuICBGb3IgZXhhbXBsZSwgaWYgeW91IHJlcXVpcmUgZm9ybSBvciBsb3QgbnVtYmVyLCB0aGVuIHlvdSBtdXN0IHJlZmVyZW5jZSB0aGUgTWVkaWNhdGlvbiByZXNvdXJjZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJWYWx1ZVNldCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaG8gcmVjZWl2ZWQgbWVkaWNhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHBlcnNvbiBvciBhbmltYWwgb3IgZ3JvdXAgcmVjZWl2aW5nIHRoZSBtZWRpY2F0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29udGV4dCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJFbmNvdW50ZXIgb3IgRXBpc29kZSBvZiBDYXJlIGFkbWluaXN0ZXJlZCBhcyBwYXJ0IG9mIiBkZWZpbml0aW9uPSJUaGUgdmlzaXQsIGFkbWlzc2lvbiwgb3Igb3RoZXIgY29udGFjdCBiZXR3ZWVuIHBhdGllbnQgYW5kIGhlYWx0aCBjYXJlIHByb3ZpZGVyIGR1cmluZyB3aGljaCB0aGUgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvbiB3YXMgcGVyZm9ybWVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3VwcG9ydGluZ0luZm9ybWF0aW9uIiBkZXNjcmlwdGlvbj0iQWRkaXRpb25hbCBpbmZvcm1hdGlvbiB0byBzdXBwb3J0IGFkbWluaXN0cmF0aW9uIiBkZWZpbml0aW9uPSJBZGRpdGlvbmFsIGluZm9ybWF0aW9uIChmb3IgZXhhbXBsZSwgcGF0aWVudCBoZWlnaHQgYW5kIHdlaWdodCkgdGhhdCBzdXBwb3J0cyB0aGUgYWRtaW5pc3RyYXRpb24gb2YgdGhlIG1lZGljYXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU3RhcnQgYW5kIGVuZCB0aW1lIG9mIGFkbWluaXN0cmF0aW9uIiBkZWZpbml0aW9uPSJBIHNwZWNpZmljIGRhdGUvdGltZSBvciBpbnRlcnZhbCBvZiB0aW1lIGR1cmluZyB3aGljaCB0aGUgYWRtaW5pc3RyYXRpb24gdG9vayBwbGFjZSAob3IgZGlkIG5vdCB0YWtlIHBsYWNlLCB3aGVuIHRoZSAnbm90R2l2ZW4nIGF0dHJpYnV0ZSBpcyB0cnVlKS4gRm9yIG1hbnkgYWRtaW5pc3RyYXRpb25zLCBzdWNoIGFzIHN3YWxsb3dpbmcgYSB0YWJsZXQgdGhlIHVzZSBvZiBkYXRlVGltZSBpcyBtb3JlIGFwcHJvcHJpYXRlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJXaG8gcGVyZm9ybWVkIHRoZSBtZWRpY2F0aW9uIGFkbWluaXN0cmF0aW9uIGFuZCB3aGF0IHRoZXkgZGlkIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgd2hvIG9yIHdoYXQgcGVyZm9ybWVkIHRoZSBtZWRpY2F0aW9uIGFkbWluaXN0cmF0aW9uIGFuZCBob3cgdGhleSB3ZXJlIGludm9sdmVkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbi5QZXJmb3JtZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvbkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZWFzb24gYWRtaW5pc3RyYXRpb24gcGVyZm9ybWVkIiBkZWZpbml0aW9uPSJBIGNvZGUgaW5kaWNhdGluZyB3aHkgdGhlIG1lZGljYXRpb24gd2FzIGdpdmVuLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25SZWFzb24iIGRlc2NyaXB0aW9uPSJBIHNldCBvZiBjb2RlcyBpbmRpY2F0aW5nIHRoZSByZWFzb24gd2h5IHRoZSBNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24gd2FzIG1hZGUuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvblJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkNvbmRpdGlvbiBvciBvYnNlcnZhdGlvbiB0aGF0IHN1cHBvcnRzIHdoeSB0aGUgbWVkaWNhdGlvbiB3YXMgYWRtaW5pc3RlcmVkIiBkZWZpbml0aW9uPSJDb25kaXRpb24gb3Igb2JzZXJ2YXRpb24gdGhhdCBzdXBwb3J0cyB3aHkgdGhlIG1lZGljYXRpb24gd2FzIGFkbWluaXN0ZXJlZC4iIGNvbW1lbnQ9IlRoaXMgaXMgYSByZWZlcmVuY2UgdG8gYSBjb25kaXRpb24gdGhhdCBpcyB0aGUgcmVhc29uIGZvciB0aGUgbWVkaWNhdGlvbiByZXF1ZXN0LiAgSWYgb25seSBhIGNvZGUgZXhpc3RzLCB1c2UgcmVhc29uQ29kZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlcXVlc3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iUmVxdWVzdCBhZG1pbmlzdHJhdGlvbiBwZXJmb3JtZWQgYWdhaW5zdCIgZGVmaW5pdGlvbj0iVGhlIG9yaWdpbmFsIHJlcXVlc3QsIGluc3RydWN0aW9uIG9yIGF1dGhvcml0eSB0byBwZXJmb3JtIHRoZSBhZG1pbmlzdHJhdGlvbi4iIGNvbW1lbnQ9IlRoaXMgaXMgYSByZWZlcmVuY2UgdG8gdGhlIE1lZGljYXRpb25SZXF1ZXN0ICB3aGVyZSB0aGUgaW50ZW50IGlzIGVpdGhlciBvcmRlciBvciBpbnN0YW5jZS1vcmRlci4gIEl0IHNob3VsZCBub3QgcmVmZXJlbmNlIE1lZGljYXRpb25SZXF1ZXN0cyB3aGVyZSB0aGUgaW50ZW50IGlzIGFueSBvdGhlciB2YWx1ZS4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXZpY2UiIGRlc2NyaXB0aW9uPSJEZXZpY2UgdXNlZCB0byBhZG1pbmlzdGVyIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgaW4gYWRtaW5pc3RlcmluZyB0aGUgbWVkaWNhdGlvbiB0byB0aGUgcGF0aWVudC4gIEZvciBleGFtcGxlLCBhIHBhcnRpY3VsYXIgaW5mdXNpb24gcHVtcC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJJbmZvcm1hdGlvbiBhYm91dCB0aGUgYWRtaW5pc3RyYXRpb24iIGRlZmluaXRpb249IkV4dHJhIGluZm9ybWF0aW9uIGFib3V0IHRoZSBtZWRpY2F0aW9uIGFkbWluaXN0cmF0aW9uIHRoYXQgaXMgbm90IGNvbnZleWVkIGJ5IHRoZSBvdGhlciBhdHRyaWJ1dGVzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRvc2FnZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24uRG9zYWdlIiBkZXNjcmlwdGlvbj0iRGV0YWlscyBvZiBob3cgbWVkaWNhdGlvbiB3YXMgdGFrZW4iIGRlZmluaXRpb249IkRlc2NyaWJlcyB0aGUgbWVkaWNhdGlvbiBkb3NhZ2UgaW5mb3JtYXRpb24gZGV0YWlscyBlLmcuIGRvc2UsIHJhdGUsIHNpdGUsIHJvdXRlLCBldGMuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZXZlbnRIaXN0b3J5IiBkZXNjcmlwdGlvbj0iQSBsaXN0IG9mIGV2ZW50cyBvZiBpbnRlcmVzdCBpbiB0aGUgbGlmZWN5Y2xlIiBkZWZpbml0aW9uPSJBIHN1bW1hcnkgb2YgdGhlIGV2ZW50cyBvZiBpbnRlcmVzdCB0aGF0IGhhdmUgb2NjdXJyZWQsIHN1Y2ggYXMgd2hlbiB0aGUgYWRtaW5pc3RyYXRpb24gd2FzIHZlcmlmaWVkLiIgY29tbWVudD0iVGhpcyBtaWdodCBub3QgaW5jbHVkZSBwcm92ZW5hbmNlcyBmb3IgYWxsIHZlcnNpb25zIG9mIHRoZSByZXF1ZXN0IOKAkyBvbmx5IHRob3NlIGRlZW1lZCDigJxyZWxldmFudOKAnSBvciBpbXBvcnRhbnQuIFRoaXMgU0hBTEwgTk9UIGluY2x1ZGUgdGhlIFByb3ZlbmFuY2UgYXNzb2NpYXRlZCB3aXRoIHRoaXMgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSByZXNvdXJjZS4gKElmIHRoYXQgcHJvdmVuYW5jZSBpcyBkZWVtZWQgdG8gYmUgYSDigJxyZWxldmFudOKAnSBjaGFuZ2UsIGl0IHdpbGwgbmVlZCB0byBiZSBhZGRlZCBhcyBwYXJ0IG9mIGEgbGF0ZXIgdXBkYXRlLiBVbnRpbCB0aGVuLCBpdCBjYW4gYmUgcXVlcmllZCBkaXJlY3RseSBhcyB0aGUgUHJvdmVuYW5jZSB0aGF0IHBvaW50cyB0byB0aGlzIHZlcnNpb24gdXNpbmcgX3JldmluY2x1ZGUgQWxsIFByb3ZlbmFuY2VzIHNob3VsZCBoYXZlIHNvbWUgaGlzdG9yaWNhbCB2ZXJzaW9uIG9mIHRoaXMgUmVxdWVzdCBhcyB0aGVpciBzdWJqZWN0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uU3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZWRpY2F0aW9uRGlzcGVuc2UiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW1lZGljYXRpb25kaXNwZW5zZSIgbGFiZWw9IlFJQ29yZSBNZWRpY2F0aW9uRGlzcGVuc2UiIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9Im1lZGljYXRpb24iPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iRXh0ZXJuYWwgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcnMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgTWVkaWNhdGlvbiBEaXNwZW5zZSB0aGF0IGFyZSBkZWZpbmVkIGJ5IGJ1c2luZXNzIHByb2Nlc3NlcyBhbmQvb3IgdXNlZCB0byByZWZlciB0byBpdCB3aGVuIGEgZGlyZWN0IFVSTCByZWZlcmVuY2UgdG8gdGhlIHJlc291cmNlIGl0c2VsZiBpcyBub3QgYXBwcm9wcmlhdGUuIFRoZXkgYXJlIGJ1c2luZXNzIGlkZW50aWZpZXJzIGFzc2lnbmVkIHRvIHRoaXMgcmVzb3VyY2UgYnkgdGhlIHBlcmZvcm1lciBvciBvdGhlciBzeXN0ZW1zIGFuZCByZW1haW4gY29uc3RhbnQgYXMgdGhlIHJlc291cmNlIGlzIHVwZGF0ZWQgYW5kIHByb3BhZ2F0ZXMgZnJvbSBzZXJ2ZXIgdG8gc2VydmVyLiIgY29tbWVudD0iVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iRXZlbnQgdGhhdCBkaXNwZW5zZSBpcyBwYXJ0IG9mIiBkZWZpbml0aW9uPSJUaGUgcHJvY2VkdXJlIHRoYXQgdHJpZ2dlciB0aGUgZGlzcGVuc2UuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuTWVkaWNhdGlvbkRpc3BlbnNlU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InByZXBhcmF0aW9u4oCLIHwgaW4tcHJvZ3Jlc3PigIsgfCBjYW5jZWxsZWTigIsgfCBvbi1ob2xk4oCLIHwgY29tcGxldGVk4oCLIHwgZW50ZXJlZC1pbi1lcnJvcuKAiyB8IHN0b3BwZWTigIsgfCB1bmtub3duIiBkZWZpbml0aW9uPSJBIGNvZGUgc3BlY2lmeWluZyB0aGUgc3RhdGUgb2YgdGhlIHNldCBvZiBkaXNwZW5zZSBldmVudHMuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1lZGljYXRpb25EaXNwZW5zZVN0YXR1cyIgZGVzY3JpcHRpb249IkEgY29kZWQgY29uY2VwdCBzcGVjaWZ5aW5nIHRoZSBzdGF0ZSBvZiB0aGUgZGlzcGVuc2UgZXZlbnQuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXNSZWFzb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2h5IGEgZGlzcGVuc2Ugd2FzIG5vdCBwZXJmb3JtZWQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgcmVhc29uIHdoeSBhIGRpc3BlbnNlIHdhcyBub3QgcGVyZm9ybWVkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlR5cGUgb2YgbWVkaWNhdGlvbiBkaXNwZW5zZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSB0eXBlIG9mIG1lZGljYXRpb24gZGlzcGVuc2UgKGZvciBleGFtcGxlLCB3aGVyZSB0aGUgbWVkaWNhdGlvbiBpcyBleHBlY3RlZCB0byBiZSBjb25zdW1lZCBvciBhZG1pbmlzdGVyZWQgKGkuZS4gaW5wYXRpZW50IG9yIG91dHBhdGllbnQpKS4iIGNvbW1lbnQ9IlRoZSBjYXRlZ29yeSBjYW4gYmUgdXNlZCB0byBpbmNsdWRlIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGNvbnN1bWVkIG9yIG90aGVyIHR5cGVzIG9mIGRpc3BlbnNlcy4gIEludmFyaWFudHMgY2FuIGJlIHVzZWQgdG8gYmluZCB0byBkaWZmZXJlbnQgdmFsdWUgc2V0cyB3aGVuIHByb2ZpbGluZyB0byBiaW5kLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1lZGljYXRpb25EaXNwZW5zZUNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQSBjb2RlIGRlc2NyaWJpbmcgd2hlcmUgdGhlIGRpc3BlbnNlZCBtZWRpY2F0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGNvbnN1bWVkIG9yIGFkbWluaXN0ZXJlZC4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtZWRpY2F0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoYXQgbWVkaWNhdGlvbiB3YXMgc3VwcGxpZWQiIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIG1lZGljYXRpb24gYmVpbmcgYWRtaW5pc3RlcmVkLiBUaGlzIGlzIGVpdGhlciBhIGxpbmsgdG8gYSByZXNvdXJjZSByZXByZXNlbnRpbmcgdGhlIGRldGFpbHMgb2YgdGhlIG1lZGljYXRpb24gb3IgYSBzaW1wbGUgYXR0cmlidXRlIGNhcnJ5aW5nIGEgY29kZSB0aGF0IGlkZW50aWZpZXMgdGhlIG1lZGljYXRpb24gZnJvbSBhIGtub3duIGxpc3Qgb2YgbWVkaWNhdGlvbnMuIiBjb21tZW50PSJJZiBvbmx5IGEgY29kZSBpcyBzcGVjaWZpZWQsIHRoZW4gaXQgbmVlZHMgdG8gYmUgYSBjb2RlIGZvciBhIHNwZWNpZmljIHByb2R1Y3QuIElmIG1vcmUgaW5mb3JtYXRpb24gaXMgcmVxdWlyZWQsIHRoZW4gdGhlIHVzZSBvZiB0aGUgbWVkaWNhdGlvbiByZXNvdXJjZSBpcyByZWNvbW1lbmRlZC4gIEZvciBleGFtcGxlLCBpZiB5b3UgcmVxdWlyZSBmb3JtIG9yIGxvdCBudW1iZXIsIHRoZW4geW91IG11c3QgcmVmZXJlbmNlIHRoZSBNZWRpY2F0aW9uIHJlc291cmNlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhlIHNldCBvZiBSeE5vcm0gY29kZXMgdG8gcmVwcmVzZW50IG1lZGljYXRpb25zIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaG8gdGhlIGRpc3BlbnNlIGlzIGZvciIgZGVmaW5pdGlvbj0iQSBsaW5rIHRvIGEgcmVzb3VyY2UgcmVwcmVzZW50aW5nIHRoZSBwZXJzb24gb3IgdGhlIGdyb3VwIHRvIHdob20gdGhlIG1lZGljYXRpb24gd2lsbCBiZSBnaXZlbi4iIGNvbW1lbnQ9IlN1YnN0YW5jZUFkbWluaXN0cmF0aW9uLT5zdWJqZWN0LT5QYXRpZW50LiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29udGV4dCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJFbmNvdW50ZXIgLyBFcGlzb2RlIGFzc29jaWF0ZWQgd2l0aCBldmVudCIgZGVmaW5pdGlvbj0iVGhlIGVuY291bnRlciBvciBlcGlzb2RlIG9mIGNhcmUgdGhhdCBlc3RhYmxpc2hlcyB0aGUgY29udGV4dCBmb3IgdGhpcyBldmVudC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3VwcG9ydGluZ0luZm9ybWF0aW9uIiBkZXNjcmlwdGlvbj0iSW5mb3JtYXRpb24gdGhhdCBzdXBwb3J0cyB0aGUgZGlzcGVuc2luZyBvZiB0aGUgbWVkaWNhdGlvbiIgZGVmaW5pdGlvbj0iQWRkaXRpb25hbCBpbmZvcm1hdGlvbiB0aGF0IHN1cHBvcnRzIHRoZSBtZWRpY2F0aW9uIGJlaW5nIGRpc3BlbnNlZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IldobyBwZXJmb3JtZWQgZXZlbnQiIGRlZmluaXRpb249IkluZGljYXRlcyB3aG8gb3Igd2hhdCBwZXJmb3JtZWQgdGhlIGV2ZW50LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLk1lZGljYXRpb25EaXNwZW5zZS5QZXJmb3JtZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImxvY2F0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldoZXJlIHRoZSBkaXNwZW5zZSBvY2N1cnJlZCIgZGVmaW5pdGlvbj0iVGhlIHByaW5jaXBhbCBwaHlzaWNhbCBsb2NhdGlvbiB3aGVyZSB0aGUgZGlzcGVuc2Ugd2FzIHBlcmZvcm1lZC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yaXppbmdQcmVzY3JpcHRpb24iIGRlc2NyaXB0aW9uPSJNZWRpY2F0aW9uIG9yZGVyIHRoYXQgYXV0aG9yaXplcyB0aGUgZGlzcGVuc2UiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgbWVkaWNhdGlvbiBvcmRlciB0aGF0IGlzIGJlaW5nIGRpc3BlbnNlZCBhZ2FpbnN0LiIgY29tbWVudD0iTWFwcyB0byBiYXNlZE9uIGluIEV2ZW50IGxvZ2ljYWwgbW9kZWwuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRyaWFsIGZpbGwsIHBhcnRpYWwgZmlsbCwgZW1lcmdlbmN5IGZpbGwsIGV0Yy4iIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgdHlwZSBvZiBkaXNwZW5zaW5nIGV2ZW50IHRoYXQgaXMgcGVyZm9ybWVkLiBGb3IgZXhhbXBsZSwgVHJpYWwgRmlsbCwgQ29tcGxldGlvbiBvZiBUcmlhbCwgUGFydGlhbCBGaWxsLCBFbWVyZ2VuY3kgRmlsbCwgU2FtcGxlcywgZXRjLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1lZGljYXRpb25EaXNwZW5zZVR5cGUiIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgdGhlIHR5cGUgb2YgZGlzcGVuc2luZyBldmVudCB0aGF0IGlzIHBlcmZvcm1lZC4gRm9yIGV4YW1wbGUsIFRyaWFsIEZpbGwsIENvbXBsZXRpb24gb2YgVHJpYWwsIFBhcnRpYWwgRmlsbCwgRW1lcmdlbmN5IEZpbGwsIFNhbXBsZXMsIGV0Yy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icXVhbnRpdHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQW1vdW50IGRpc3BlbnNlZCIgZGVmaW5pdGlvbj0iVGhlIGFtb3VudCBvZiBtZWRpY2F0aW9uIHRoYXQgaGFzIGJlZW4gZGlzcGVuc2VkLiBJbmNsdWRlcyB1bml0IG9mIG1lYXN1cmUuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkYXlzU3VwcGx5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFtb3VudCBvZiBtZWRpY2F0aW9uIGV4cHJlc3NlZCBhcyBhIHRpbWluZyBhbW91bnQiIGRlZmluaXRpb249IlRoZSBhbW91bnQgb2YgbWVkaWNhdGlvbiBleHByZXNzZWQgYXMgYSB0aW1pbmcgYW1vdW50LiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0id2hlblByZXBhcmVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gcHJvZHVjdCB3YXMgcGFja2FnZWQgYW5kIHJldmlld2VkIiBkZWZpbml0aW9uPSJUaGUgdGltZSB3aGVuIHRoZSBkaXNwZW5zZWQgcHJvZHVjdCB3YXMgcGFja2FnZWQgYW5kIHJldmlld2VkLiIgY29tbWVudD0iV2hlbiB1c2VkIGFzIHBhcnQgb2YgYSBjdW11bGF0aXZlIG1lZGljYXRpb24gZHVyYXRpb24gY2FsY3VsYXRpb24sIHRoZSB3aGVuUHJlcGFyZWQgZWxlbWVudCBpcyB1c2VkIGlmIHdoZW5IYW5kZWRPdmVyIGlzIG5vdCBhdmFpbGFibGUgdG8gZGV0ZXJtaW5lIGEgc3RhcnRpbmcgcG9pbnQgZm9yIHRoZSBwZXJpb2QgY292ZXJlZCBieSB0aGUgZGlzcGVuc2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ3aGVuSGFuZGVkT3ZlciIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIHByb2R1Y3Qgd2FzIGdpdmVuIG91dCIgZGVmaW5pdGlvbj0iVGhlIHRpbWUgdGhlIGRpc3BlbnNlZCBwcm9kdWN0IHdhcyBwcm92aWRlZCB0byB0aGUgcGF0aWVudCBvciB0aGVpciByZXByZXNlbnRhdGl2ZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRlc3RpbmF0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldoZXJlIHRoZSBtZWRpY2F0aW9uIHdhcyBzZW50IiBkZWZpbml0aW9uPSJJZGVudGlmaWNhdGlvbiBvZiB0aGUgZmFjaWxpdHkvbG9jYXRpb24gd2hlcmUgdGhlIG1lZGljYXRpb24gd2FzIHNoaXBwZWQgdG8sIGFzIHBhcnQgb2YgdGhlIGRpc3BlbnNlIGV2ZW50LiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlY2VpdmVyIiBkZXNjcmlwdGlvbj0iV2hvIGNvbGxlY3RlZCB0aGUgbWVkaWNhdGlvbiIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgcGVyc29uIHdobyBwaWNrZWQgdXAgdGhlIG1lZGljYXRpb24uICBUaGlzIHdpbGwgdXN1YWxseSBiZSBhIHBhdGllbnQgb3IgdGhlaXIgY2FyZWdpdmVyLCBidXQgc29tZSBjYXNlcyBleGlzdCB3aGVyZSBpdCBjYW4gYmUgYSBoZWFsdGhjYXJlIHByb2Zlc3Npb25hbC4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkluZm9ybWF0aW9uIGFib3V0IHRoZSBkaXNwZW5zZSIgZGVmaW5pdGlvbj0iRXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGRpc3BlbnNlIHRoYXQgY291bGQgbm90IGJlIGNvbnZleWVkIGluIHRoZSBvdGhlciBhdHRyaWJ1dGVzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRvc2FnZUluc3RydWN0aW9uIiBkZXNjcmlwdGlvbj0iSG93IHRoZSBtZWRpY2F0aW9uIGlzIHRvIGJlIHVzZWQgYnkgdGhlIHBhdGllbnQgb3IgYWRtaW5pc3RlcmVkIGJ5IHRoZSBjYXJlZ2l2ZXIiIGRlZmluaXRpb249IkluZGljYXRlcyBob3cgdGhlIG1lZGljYXRpb24gaXMgdG8gYmUgdXNlZCBieSB0aGUgcGF0aWVudC4iIGNvbW1lbnQ9IldoZW4gdGhlIGRvc2Ugb3IgcmF0ZSBpcyBpbnRlbmRlZCB0byBjaGFuZ2Ugb3ZlciB0aGUgZW50aXJlIGFkbWluaXN0cmF0aW9uIHBlcmlvZCAoZS5nLiBUYXBlcmluZyBkb3NlIHByZXNjcmlwdGlvbnMpLCBtdWx0aXBsZSBpbnN0YW5jZXMgb2YgZG9zYWdlIGluc3RydWN0aW9ucyB3aWxsIG5lZWQgdG8gYmUgc3VwcGxpZWQgdG8gY29udmV5IHRoZSBkaWZmZXJlbnQgZG9zZXMvcmF0ZXMuJiN4ZDtUaGUgcGhhcm1hY2lzdCByZXZpZXdzIHRoZSBtZWRpY2F0aW9uIG9yZGVyIHByaW9yIHRvIGRpc3BlbnNlIGFuZCB1cGRhdGVzIHRoZSBkb3NhZ2VJbnN0cnVjdGlvbiBiYXNlZCBvbiB0aGUgYWN0dWFsIHByb2R1Y3QgYmVpbmcgZGlzcGVuc2VkLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuRG9zYWdlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJzdGl0dXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuTWVkaWNhdGlvbkRpc3BlbnNlLlN1YnN0aXR1dGlvbiIgZGVzY3JpcHRpb249IldoZXRoZXIgYSBzdWJzdGl0dXRpb24gd2FzIHBlcmZvcm1lZCBvbiB0aGUgZGlzcGVuc2UiIGRlZmluaXRpb249IkluZGljYXRlcyB3aGV0aGVyIG9yIG5vdCBzdWJzdGl0dXRpb24gd2FzIG1hZGUgYXMgcGFydCBvZiB0aGUgZGlzcGVuc2UuICBJbiBzb21lIGNhc2VzLCBzdWJzdGl0dXRpb24gd2lsbCBiZSBleHBlY3RlZCBidXQgZG9lcyBub3QgaGFwcGVuLCBpbiBvdGhlciBjYXNlcyBzdWJzdGl0dXRpb24gaXMgbm90IGV4cGVjdGVkIGJ1dCBkb2VzIGhhcHBlbi4gIFRoaXMgYmxvY2sgZXhwbGFpbnMgd2hhdCBzdWJzdGl0dXRpb24gZGlkIG9yIGRpZCBub3QgaGFwcGVuIGFuZCB3aHkuICBJZiBub3RoaW5nIGlzIHNwZWNpZmllZCwgc3Vic3RpdHV0aW9uIHdhcyBub3QgZG9uZS4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXRlY3RlZElzc3VlIiBkZXNjcmlwdGlvbj0iQ2xpbmljYWwgaXNzdWUgd2l0aCBhY3Rpb24iIGRlZmluaXRpb249IkluZGljYXRlcyBhbiBhY3R1YWwgb3IgcG90ZW50aWFsIGNsaW5pY2FsIGlzc3VlIHdpdGggb3IgYmV0d2VlbiBvbmUgb3IgbW9yZSBhY3RpdmUgb3IgcHJvcG9zZWQgY2xpbmljYWwgYWN0aW9ucyBmb3IgYSBwYXRpZW50OyBlLmcuIGRydWctZHJ1ZyBpbnRlcmFjdGlvbiwgZHVwbGljYXRlIHRoZXJhcHksIGRvc2FnZSBhbGVydCBldGMuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgY2FuIGluY2x1ZGUgYSBkZXRlY3RlZCBpc3N1ZSB0aGF0IGhhcyBiZWVuIGlkZW50aWZpZWQgZWl0aGVyIGJ5IGEgZGVjaXNpb24gc3VwcG9ydCBzeXN0ZW0gb3IgYnkgYSBjbGluaWNpYW4gYW5kIG1heSBpbmNsdWRlIGluZm9ybWF0aW9uIG9uIHRoZSBzdGVwcyB0aGF0IHdlcmUgdGFrZW4gdG8gYWRkcmVzcyB0aGUgaXNzdWUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJldmVudEhpc3RvcnkiIGRlc2NyaXB0aW9uPSJBIGxpc3Qgb2YgcmVsZXZhbnQgbGlmZWN5Y2xlIGV2ZW50cyIgZGVmaW5pdGlvbj0iQSBzdW1tYXJ5IG9mIHRoZSBldmVudHMgb2YgaW50ZXJlc3QgdGhhdCBoYXZlIG9jY3VycmVkLCBzdWNoIGFzIHdoZW4gdGhlIGRpc3BlbnNlIHdhcyB2ZXJpZmllZC4iIGNvbW1lbnQ9IlRoaXMgbWlnaHQgbm90IGluY2x1ZGUgcHJvdmVuYW5jZXMgZm9yIGFsbCB2ZXJzaW9ucyBvZiB0aGUgcmVxdWVzdCDigJMgb25seSB0aG9zZSBkZWVtZWQg4oCccmVsZXZhbnTigJ0gb3IgaW1wb3J0YW50LiBUaGlzIFNIQUxMIE5PVCBpbmNsdWRlIHRoZSBQcm92ZW5hbmNlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgcmVzb3VyY2UuIChJZiB0aGF0IHByb3ZlbmFuY2UgaXMgZGVlbWVkIHRvIGJlIGEg4oCccmVsZXZhbnTigJ0gY2hhbmdlLCBpdCB3aWxsIG5lZWQgdG8gYmUgYWRkZWQgYXMgcGFydCBvZiBhIGxhdGVyIHVwZGF0ZS4gVW50aWwgdGhlbiwgaXQgY2FuIGJlIHF1ZXJpZWQgZGlyZWN0bHkgYXMgdGhlIFByb3ZlbmFuY2UgdGhhdCBwb2ludHMgdG8gdGhpcyB2ZXJzaW9uIHVzaW5nIF9yZXZpbmNsdWRlIEFsbCBQcm92ZW5hbmNlcyBzaG91bGQgaGF2ZSBzb21lIGhpc3RvcmljYWwgdmVyc2lvbiBvZiB0aGlzIFJlcXVlc3QgYXMgdGhlaXIgc3ViamVjdC4pLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0iYWN0b3IiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0icmVjZWl2ZXIiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InN1YmplY3QiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBhdGllbnQiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InJlY2VpdmVyIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik1lZGljYXRpb25EaXNwZW5zZS5QZXJmb3JtZXIiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImZ1bmN0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaG8gcGVyZm9ybWVkIHRoZSBkaXNwZW5zZSBhbmQgd2hhdCB0aGV5IGRpZCIgZGVmaW5pdGlvbj0iRGlzdGluZ3Vpc2hlcyB0aGUgdHlwZSBvZiBwZXJmb3JtZXIgaW4gdGhlIGRpc3BlbnNlLiAgRm9yIGV4YW1wbGUsIGRhdGUgZW50ZXJlciwgcGFja2FnZXIsIGZpbmFsIGNoZWNrZXIuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvbkRpc3BlbnNlUGVyZm9ybWVyRnVuY3Rpb24iIGRlc2NyaXB0aW9uPSJBIGNvZGUgZGVzY3JpYmluZyB0aGUgcm9sZSBhbiBpbmRpdmlkdWFsIHBsYXllZCBpbiBkaXNwZW5zaW5nIGEgbWVkaWNhdGlvbi4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYWN0b3IiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSW5kaXZpZHVhbCB3aG8gd2FzIHBlcmZvcm1pbmciIGRlZmluaXRpb249IlRoZSBkZXZpY2UsIHByYWN0aXRpb25lciwgZXRjLiB3aG8gcGVyZm9ybWVkIHRoZSBhY3Rpb24uICBJdCBzaG91bGQgYmUgYXNzdW1lZCB0aGF0IHRoZSBhY3RvciBpcyB0aGUgZGlzcGVuc2VyIG9mIHRoZSBtZWRpY2F0aW9uLiIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZWRpY2F0aW9uRGlzcGVuc2UuU3Vic3RpdHV0aW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJ3YXNTdWJzdGl0dXRlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Cb29sZWFuIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZXRoZXIgYSBzdWJzdGl0dXRpb24gd2FzIG9yIHdhcyBub3QgcGVyZm9ybWVkIG9uIHRoZSBkaXNwZW5zZSIgZGVmaW5pdGlvbj0iVHJ1ZSBpZiB0aGUgZGlzcGVuc2VyIGRpc3BlbnNlZCBhIGRpZmZlcmVudCBkcnVnIG9yIHByb2R1Y3QgZnJvbSB3aGF0IHdhcyBwcmVzY3JpYmVkLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb2RlIHNpZ25pZnlpbmcgd2hldGhlciBhIGRpZmZlcmVudCBkcnVnIHdhcyBkaXNwZW5zZWQgZnJvbSB3aGF0IHdhcyBwcmVzY3JpYmVkIiBkZWZpbml0aW9uPSJBIGNvZGUgc2lnbmlmeWluZyB3aGV0aGVyIGEgZGlmZmVyZW50IGRydWcgd2FzIGRpc3BlbnNlZCBmcm9tIHdoYXQgd2FzIHByZXNjcmliZWQuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvbkludGVuZGVkU3Vic3RpdHV0aW9uVHlwZSIgZGVzY3JpcHRpb249IkEgY29kZWQgY29uY2VwdCBkZXNjcmliaW5nIHdoZXRoZXIgYSBkaWZmZXJlbnQgbWVkaWNpbmFsIHByb2R1Y3QgbWF5IGJlIGRpc3BlbnNlZCBvdGhlciB0aGFuIHRoZSBwcm9kdWN0IGFzIHNwZWNpZmllZCBleGFjdGx5IGluIHRoZSBwcmVzY3JpcHRpb24uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoeSB3YXMgc3Vic3RpdHV0aW9uIG1hZGUiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgcmVhc29uIGZvciB0aGUgc3Vic3RpdHV0aW9uIChvciBsYWNrIG9mIHN1YnN0aXR1dGlvbikgZnJvbSB3aGF0IHdhcyBwcmVzY3JpYmVkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uSW50ZW5kZWRTdWJzdGl0dXRpb25SZWFzb24iIGRlc2NyaXB0aW9uPSJBIGNvZGVkIGNvbmNlcHQgZGVzY3JpYmluZyB0aGUgcmVhc29uIHRoYXQgYSBkaWZmZXJlbnQgbWVkaWNhdGlvbiBzaG91bGQgKG9yIHNob3VsZCBub3QpIGJlIHN1YnN0aXR1dGVkIGZyb20gd2hhdCB3YXMgcHJlc2NyaWJlZC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVzcG9uc2libGVQYXJ0eSIgZGVzY3JpcHRpb249IldobyBpcyByZXNwb25zaWJsZSBmb3IgdGhlIHN1YnN0aXR1dGlvbiIgZGVmaW5pdGlvbj0iVGhlIHBlcnNvbiBvciBvcmdhbml6YXRpb24gdGhhdCBoYXMgcHJpbWFyeSByZXNwb25zaWJpbGl0eSBmb3IgdGhlIHN1YnN0aXR1dGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTWVkaWNhdGlvbkRpc3BlbnNlRGVjbGluZWQiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW1lZGljYXRpb25kaXNwZW5zZWRlY2xpbmVkIiBsYWJlbD0iUUlDb3JlIE1lZGljYXRpb25EaXNwZW5zZSBEZWNsaW5lZCIgdGFyZ2V0PSJNZWRpY2F0aW9uRGlzcGVuc2UiIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9Im1lZGljYXRpb24iPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvcmRlZCIgZWxlbWVudFR5cGU9IlFJQ29yZS5Ob3REb25lUmVjb3JkZWQiIHRhcmdldD0iJXBhcmVudC5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1yZWNvcmRlZCddLnZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRXh0ZW5zaW9uIiBkZWZpbml0aW9uPSJDYXB0dXJlcyB0aGUgcmVjb3JkZWQgZGF0ZSBvZiB0aGUgZXZlbnQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iRXh0ZXJuYWwgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcnMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgTWVkaWNhdGlvbiBEaXNwZW5zZSB0aGF0IGFyZSBkZWZpbmVkIGJ5IGJ1c2luZXNzIHByb2Nlc3NlcyBhbmQvb3IgdXNlZCB0byByZWZlciB0byBpdCB3aGVuIGEgZGlyZWN0IFVSTCByZWZlcmVuY2UgdG8gdGhlIHJlc291cmNlIGl0c2VsZiBpcyBub3QgYXBwcm9wcmlhdGUuIFRoZXkgYXJlIGJ1c2luZXNzIGlkZW50aWZpZXJzIGFzc2lnbmVkIHRvIHRoaXMgcmVzb3VyY2UgYnkgdGhlIHBlcmZvcm1lciBvciBvdGhlciBzeXN0ZW1zIGFuZCByZW1haW4gY29uc3RhbnQgYXMgdGhlIHJlc291cmNlIGlzIHVwZGF0ZWQgYW5kIHByb3BhZ2F0ZXMgZnJvbSBzZXJ2ZXIgdG8gc2VydmVyLiIgY29tbWVudD0iVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iRXZlbnQgdGhhdCBkaXNwZW5zZSBpcyBwYXJ0IG9mIiBkZWZpbml0aW9uPSJUaGUgcHJvY2VkdXJlIHRoYXQgdHJpZ2dlciB0aGUgZGlzcGVuc2UuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuTWVkaWNhdGlvbkRpc3BlbnNlU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InByZXBhcmF0aW9uIHwgaW4tcHJvZ3Jlc3MgfCBjYW5jZWxsZWQgfCBvbi1ob2xkIHwgY29tcGxldGVkIHwgZW50ZXJlZC1pbi1lcnJvciB8IHN0b3BwZWQgfCBkZWNsaW5lZCB8IHVua25vd24iIGRlZmluaXRpb249IkEgY29kZSBzcGVjaWZ5aW5nIHRoZSBzdGF0ZSBvZiB0aGUgc2V0IG9mIGRpc3BlbnNlIGV2ZW50cy4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvbkRpc3BlbnNlU3RhdHVzIiBkZXNjcmlwdGlvbj0iQSBjb2RlZCBjb25jZXB0IHNwZWNpZnlpbmcgdGhlIHN0YXRlIG9mIHRoZSBkaXNwZW5zZSBldmVudC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1c1JlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2h5IGEgZGlzcGVuc2Ugd2FzIG5vdCBwZXJmb3JtZWQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgcmVhc29uIHdoeSBhIGRpc3BlbnNlIHdhcyBub3QgcGVyZm9ybWVkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhlIHJlYXNvbiB0aGUgZXZlbnQgZGlkIG5vdCBvY2N1ciBvciB3YXMgbm90IHBlcmZvcm1lZCIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVHlwZSBvZiBtZWRpY2F0aW9uIGRpc3BlbnNlIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHR5cGUgb2YgbWVkaWNhdGlvbiBkaXNwZW5zZSAoZm9yIGV4YW1wbGUsIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGNvbnN1bWVkIG9yIGFkbWluaXN0ZXJlZCAoaS5lLiBpbnBhdGllbnQgb3Igb3V0cGF0aWVudCkpLiIgY29tbWVudD0iVGhlIGNhdGVnb3J5IGNhbiBiZSB1c2VkIHRvIGluY2x1ZGUgd2hlcmUgdGhlIG1lZGljYXRpb24gaXMgZXhwZWN0ZWQgdG8gYmUgY29uc3VtZWQgb3Igb3RoZXIgdHlwZXMgb2YgZGlzcGVuc2VzLiAgSW52YXJpYW50cyBjYW4gYmUgdXNlZCB0byBiaW5kIHRvIGRpZmZlcmVudCB2YWx1ZSBzZXRzIHdoZW4gcHJvZmlsaW5nIHRvIGJpbmQuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvbkRpc3BlbnNlQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJBIGNvZGUgZGVzY3JpYmluZyB3aGVyZSB0aGUgZGlzcGVuc2VkIG1lZGljYXRpb24gaXMgZXhwZWN0ZWQgdG8gYmUgY29uc3VtZWQgb3IgYWRtaW5pc3RlcmVkLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1lZGljYXRpb24iIHRhcmdldD0iU3lzdGVtLkNvbmNlcHQ6RkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSk7U3lzdGVtLlZhbHVlU2V0OkZISVJIZWxwZXJzLlRvVmFsdWVTZXQoJXBhcmVudC5tZWRpY2F0aW9uW3hdLmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW5vdERvbmVWYWx1ZVNldCddLnZhbHVlLnZhbHVlKSIgZGVzY3JpcHRpb249IldoYXQgbWVkaWNhdGlvbiB3YXMgc3VwcGxpZWQiIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIG1lZGljYXRpb24gYmVpbmcgYWRtaW5pc3RlcmVkLiBUaGlzIGlzIGVpdGhlciBhIGxpbmsgdG8gYSByZXNvdXJjZSByZXByZXNlbnRpbmcgdGhlIGRldGFpbHMgb2YgdGhlIG1lZGljYXRpb24gb3IgYSBzaW1wbGUgYXR0cmlidXRlIGNhcnJ5aW5nIGEgY29kZSB0aGF0IGlkZW50aWZpZXMgdGhlIG1lZGljYXRpb24gZnJvbSBhIGtub3duIGxpc3Qgb2YgbWVkaWNhdGlvbnMuIiBjb21tZW50PSJJZiBvbmx5IGEgY29kZSBpcyBzcGVjaWZpZWQsIHRoZW4gaXQgbmVlZHMgdG8gYmUgYSBjb2RlIGZvciBhIHNwZWNpZmljIHByb2R1Y3QuIElmIG1vcmUgaW5mb3JtYXRpb24gaXMgcmVxdWlyZWQsIHRoZW4gdGhlIHVzZSBvZiB0aGUgbWVkaWNhdGlvbiByZXNvdXJjZSBpcyByZWNvbW1lbmRlZC4gIEZvciBleGFtcGxlLCBpZiB5b3UgcmVxdWlyZSBmb3JtIG9yIGxvdCBudW1iZXIsIHRoZW4geW91IG11c3QgcmVmZXJlbmNlIHRoZSBNZWRpY2F0aW9uIHJlc291cmNlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlZhbHVlU2V0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyB0aGUgZGlzcGVuc2UgaXMgZm9yIiBkZWZpbml0aW9uPSJBIGxpbmsgdG8gYSByZXNvdXJjZSByZXByZXNlbnRpbmcgdGhlIHBlcnNvbiBvciB0aGUgZ3JvdXAgdG8gd2hvbSB0aGUgbWVkaWNhdGlvbiB3aWxsIGJlIGdpdmVuLiIgY29tbWVudD0iU3Vic3RhbmNlQWRtaW5pc3RyYXRpb24tPnN1YmplY3QtPlBhdGllbnQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJjb250ZXh0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkVuY291bnRlciAvIEVwaXNvZGUgYXNzb2NpYXRlZCB3aXRoIGV2ZW50IiBkZWZpbml0aW9uPSJUaGUgZW5jb3VudGVyIG9yIGVwaXNvZGUgb2YgY2FyZSB0aGF0IGVzdGFibGlzaGVzIHRoZSBjb250ZXh0IGZvciB0aGlzIGV2ZW50LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJzdXBwb3J0aW5nSW5mb3JtYXRpb24iIGRlc2NyaXB0aW9uPSJJbmZvcm1hdGlvbiB0aGF0IHN1cHBvcnRzIHRoZSBkaXNwZW5zaW5nIG9mIHRoZSBtZWRpY2F0aW9uIiBkZWZpbml0aW9uPSJBZGRpdGlvbmFsIGluZm9ybWF0aW9uIHRoYXQgc3VwcG9ydHMgdGhlIG1lZGljYXRpb24gYmVpbmcgZGlzcGVuc2VkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIHBlcmZvcm1lZCBldmVudCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdobyBvciB3aGF0IHBlcmZvcm1lZCB0aGUgZXZlbnQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuTWVkaWNhdGlvbkRpc3BlbnNlLlBlcmZvcm1lciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibG9jYXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hlcmUgdGhlIGRpc3BlbnNlIG9jY3VycmVkIiBkZWZpbml0aW9uPSJUaGUgcHJpbmNpcGFsIHBoeXNpY2FsIGxvY2F0aW9uIHdoZXJlIHRoZSBkaXNwZW5zZSB3YXMgcGVyZm9ybWVkLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJhdXRob3JpemluZ1ByZXNjcmlwdGlvbiIgZGVzY3JpcHRpb249Ik1lZGljYXRpb24gb3JkZXIgdGhhdCBhdXRob3JpemVzIHRoZSBkaXNwZW5zZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWRpY2F0aW9uIG9yZGVyIHRoYXQgaXMgYmVpbmcgZGlzcGVuc2VkIGFnYWluc3QuIiBjb21tZW50PSJNYXBzIHRvIGJhc2VkT24gaW4gRXZlbnQgbG9naWNhbCBtb2RlbC4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVHJpYWwgZmlsbCwgcGFydGlhbCBmaWxsLCBlbWVyZ2VuY3kgZmlsbCwgZXRjLiIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSB0eXBlIG9mIGRpc3BlbnNpbmcgZXZlbnQgdGhhdCBpcyBwZXJmb3JtZWQuIEZvciBleGFtcGxlLCBUcmlhbCBGaWxsLCBDb21wbGV0aW9uIG9mIFRyaWFsLCBQYXJ0aWFsIEZpbGwsIEVtZXJnZW5jeSBGaWxsLCBTYW1wbGVzLCBldGMuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvbkRpc3BlbnNlVHlwZSIgZGVzY3JpcHRpb249IkluZGljYXRlcyB0aGUgdHlwZSBvZiBkaXNwZW5zaW5nIGV2ZW50IHRoYXQgaXMgcGVyZm9ybWVkLiBGb3IgZXhhbXBsZSwgVHJpYWwgRmlsbCwgQ29tcGxldGlvbiBvZiBUcmlhbCwgUGFydGlhbCBGaWxsLCBFbWVyZ2VuY3kgRmlsbCwgU2FtcGxlcywgZXRjLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJxdWFudGl0eSIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBbW91bnQgZGlzcGVuc2VkIiBkZWZpbml0aW9uPSJUaGUgYW1vdW50IG9mIG1lZGljYXRpb24gdGhhdCBoYXMgYmVlbiBkaXNwZW5zZWQuIEluY2x1ZGVzIHVuaXQgb2YgbWVhc3VyZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGF5c1N1cHBseSIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBbW91bnQgb2YgbWVkaWNhdGlvbiBleHByZXNzZWQgYXMgYSB0aW1pbmcgYW1vdW50IiBkZWZpbml0aW9uPSJUaGUgYW1vdW50IG9mIG1lZGljYXRpb24gZXhwcmVzc2VkIGFzIGEgdGltaW5nIGFtb3VudC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0id2hlblByZXBhcmVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gcHJvZHVjdCB3YXMgcGFja2FnZWQgYW5kIHJldmlld2VkIiBkZWZpbml0aW9uPSJUaGUgdGltZSB3aGVuIHRoZSBkaXNwZW5zZWQgcHJvZHVjdCB3YXMgcGFja2FnZWQgYW5kIHJldmlld2VkLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ3aGVuSGFuZGVkT3ZlciIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIHByb2R1Y3Qgd2FzIGdpdmVuIG91dCIgZGVmaW5pdGlvbj0iVGhlIHRpbWUgdGhlIGRpc3BlbnNlZCBwcm9kdWN0IHdhcyBwcm92aWRlZCB0byB0aGUgcGF0aWVudCBvciB0aGVpciByZXByZXNlbnRhdGl2ZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVzdGluYXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hlcmUgdGhlIG1lZGljYXRpb24gd2FzIHNlbnQiIGRlZmluaXRpb249IklkZW50aWZpY2F0aW9uIG9mIHRoZSBmYWNpbGl0eS9sb2NhdGlvbiB3aGVyZSB0aGUgbWVkaWNhdGlvbiB3YXMgc2hpcHBlZCB0bywgYXMgcGFydCBvZiB0aGUgZGlzcGVuc2UgZXZlbnQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlY2VpdmVyIiBkZXNjcmlwdGlvbj0iV2hvIGNvbGxlY3RlZCB0aGUgbWVkaWNhdGlvbiIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgcGVyc29uIHdobyBwaWNrZWQgdXAgdGhlIG1lZGljYXRpb24uICBUaGlzIHdpbGwgdXN1YWxseSBiZSBhIHBhdGllbnQgb3IgdGhlaXIgY2FyZWdpdmVyLCBidXQgc29tZSBjYXNlcyBleGlzdCB3aGVyZSBpdCBjYW4gYmUgYSBoZWFsdGhjYXJlIHByb2Zlc3Npb25hbC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJJbmZvcm1hdGlvbiBhYm91dCB0aGUgZGlzcGVuc2UiIGRlZmluaXRpb249IkV4dHJhIGluZm9ybWF0aW9uIGFib3V0IHRoZSBkaXNwZW5zZSB0aGF0IGNvdWxkIG5vdCBiZSBjb252ZXllZCBpbiB0aGUgb3RoZXIgYXR0cmlidXRlcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkb3NhZ2VJbnN0cnVjdGlvbiIgZGVzY3JpcHRpb249IkhvdyB0aGUgbWVkaWNhdGlvbiBpcyB0byBiZSB1c2VkIGJ5IHRoZSBwYXRpZW50IG9yIGFkbWluaXN0ZXJlZCBieSB0aGUgY2FyZWdpdmVyIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgaG93IHRoZSBtZWRpY2F0aW9uIGlzIHRvIGJlIHVzZWQgYnkgdGhlIHBhdGllbnQuIiBjb21tZW50PSJXaGVuIHRoZSBkb3NlIG9yIHJhdGUgaXMgaW50ZW5kZWQgdG8gY2hhbmdlIG92ZXIgdGhlIGVudGlyZSBhZG1pbmlzdHJhdGlvbiBwZXJpb2QgKGUuZy4gVGFwZXJpbmcgZG9zZSBwcmVzY3JpcHRpb25zKSwgbXVsdGlwbGUgaW5zdGFuY2VzIG9mIGRvc2FnZSBpbnN0cnVjdGlvbnMgd2lsbCBuZWVkIHRvIGJlIHN1cHBsaWVkIHRvIGNvbnZleSB0aGUgZGlmZmVyZW50IGRvc2VzL3JhdGVzLiYjeGQ7VGhlIHBoYXJtYWNpc3QgcmV2aWV3cyB0aGUgbWVkaWNhdGlvbiBvcmRlciBwcmlvciB0byBkaXNwZW5zZSBhbmQgdXBkYXRlcyB0aGUgZG9zYWdlSW5zdHJ1Y3Rpb24gYmFzZWQgb24gdGhlIGFjdHVhbCBwcm9kdWN0IGJlaW5nIGRpc3BlbnNlZC4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkRvc2FnZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3Vic3RpdHV0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLk1lZGljYXRpb25EaXNwZW5zZS5TdWJzdGl0dXRpb24iIGRlc2NyaXB0aW9uPSJXaGV0aGVyIGEgc3Vic3RpdHV0aW9uIHdhcyBwZXJmb3JtZWQgb24gdGhlIGRpc3BlbnNlIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgd2hldGhlciBvciBub3Qgc3Vic3RpdHV0aW9uIHdhcyBtYWRlIGFzIHBhcnQgb2YgdGhlIGRpc3BlbnNlLiAgSW4gc29tZSBjYXNlcywgc3Vic3RpdHV0aW9uIHdpbGwgYmUgZXhwZWN0ZWQgYnV0IGRvZXMgbm90IGhhcHBlbiwgaW4gb3RoZXIgY2FzZXMgc3Vic3RpdHV0aW9uIGlzIG5vdCBleHBlY3RlZCBidXQgZG9lcyBoYXBwZW4uICBUaGlzIGJsb2NrIGV4cGxhaW5zIHdoYXQgc3Vic3RpdHV0aW9uIGRpZCBvciBkaWQgbm90IGhhcHBlbiBhbmQgd2h5LiAgSWYgbm90aGluZyBpcyBzcGVjaWZpZWQsIHN1YnN0aXR1dGlvbiB3YXMgbm90IGRvbmUuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRldGVjdGVkSXNzdWUiIGRlc2NyaXB0aW9uPSJDbGluaWNhbCBpc3N1ZSB3aXRoIGFjdGlvbiIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGFuIGFjdHVhbCBvciBwb3RlbnRpYWwgY2xpbmljYWwgaXNzdWUgd2l0aCBvciBiZXR3ZWVuIG9uZSBvciBtb3JlIGFjdGl2ZSBvciBwcm9wb3NlZCBjbGluaWNhbCBhY3Rpb25zIGZvciBhIHBhdGllbnQ7IGUuZy4gZHJ1Zy1kcnVnIGludGVyYWN0aW9uLCBkdXBsaWNhdGUgdGhlcmFweSwgZG9zYWdlIGFsZXJ0IGV0Yy4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBjYW4gaW5jbHVkZSBhIGRldGVjdGVkIGlzc3VlIHRoYXQgaGFzIGJlZW4gaWRlbnRpZmllZCBlaXRoZXIgYnkgYSBkZWNpc2lvbiBzdXBwb3J0IHN5c3RlbSBvciBieSBhIGNsaW5pY2lhbiBhbmQgbWF5IGluY2x1ZGUgaW5mb3JtYXRpb24gb24gdGhlIHN0ZXBzIHRoYXQgd2VyZSB0YWtlbiB0byBhZGRyZXNzIHRoZSBpc3N1ZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImV2ZW50SGlzdG9yeSIgZGVzY3JpcHRpb249IkEgbGlzdCBvZiByZWxldmFudCBsaWZlY3ljbGUgZXZlbnRzIiBkZWZpbml0aW9uPSJBIHN1bW1hcnkgb2YgdGhlIGV2ZW50cyBvZiBpbnRlcmVzdCB0aGF0IGhhdmUgb2NjdXJyZWQsIHN1Y2ggYXMgd2hlbiB0aGUgZGlzcGVuc2Ugd2FzIHZlcmlmaWVkLiIgY29tbWVudD0iVGhpcyBtaWdodCBub3QgaW5jbHVkZSBwcm92ZW5hbmNlcyBmb3IgYWxsIHZlcnNpb25zIG9mIHRoZSByZXF1ZXN0IOKAkyBvbmx5IHRob3NlIGRlZW1lZCDigJxyZWxldmFudOKAnSBvciBpbXBvcnRhbnQuIFRoaXMgU0hBTEwgTk9UIGluY2x1ZGUgdGhlIFByb3ZlbmFuY2UgYXNzb2NpYXRlZCB3aXRoIHRoaXMgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSByZXNvdXJjZS4gKElmIHRoYXQgcHJvdmVuYW5jZSBpcyBkZWVtZWQgdG8gYmUgYSDigJxyZWxldmFudOKAnSBjaGFuZ2UsIGl0IHdpbGwgbmVlZCB0byBiZSBhZGRlZCBhcyBwYXJ0IG9mIGEgbGF0ZXIgdXBkYXRlLiBVbnRpbCB0aGVuLCBpdCBjYW4gYmUgcXVlcmllZCBkaXJlY3RseSBhcyB0aGUgUHJvdmVuYW5jZSB0aGF0IHBvaW50cyB0byB0aGlzIHZlcnNpb24gdXNpbmcgX3JldmluY2x1ZGUgQWxsIFByb3ZlbmFuY2VzIHNob3VsZCBoYXZlIHNvbWUgaGlzdG9yaWNhbCB2ZXJzaW9uIG9mIHRoaXMgUmVxdWVzdCBhcyB0aGVpciBzdWJqZWN0LikuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZWRpY2F0aW9uRGlzcGVuc2VTdGF0dXMiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik1lZGljYXRpb25Ob3RSZXF1ZXN0ZWQiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW1lZGljYXRpb25ub3RyZXF1ZXN0ZWQiIGxhYmVsPSJRSUNvcmUgTWVkaWNhdGlvbiBOb3QgUmVxdWVzdGVkIiB0YXJnZXQ9Ik1lZGljYXRpb25SZXF1ZXN0IiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJtZWRpY2F0aW9uIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkV4dGVybmFsIGlkcyBmb3IgdGhpcyByZXF1ZXN0IiBkZWZpbml0aW9uPSJJZGVudGlmaWVycyBhc3NvY2lhdGVkIHdpdGggdGhpcyBtZWRpY2F0aW9uIHJlcXVlc3QgdGhhdCBhcmUgZGVmaW5lZCBieSBidXNpbmVzcyBwcm9jZXNzZXMgYW5kL29yIHVzZWQgdG8gcmVmZXIgdG8gaXQgd2hlbiBhIGRpcmVjdCBVUkwgcmVmZXJlbmNlIHRvIHRoZSByZXNvdXJjZSBpdHNlbGYgaXMgbm90IGFwcHJvcHJpYXRlLiBUaGV5IGFyZSBidXNpbmVzcyBpZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIHJlc291cmNlIGJ5IHRoZSBwZXJmb3JtZXIgb3Igb3RoZXIgc3lzdGVtcyBhbmQgcmVtYWluIGNvbnN0YW50IGFzIHRoZSByZXNvdXJjZSBpcyB1cGRhdGVkIGFuZCBwcm9wYWdhdGVzIGZyb20gc2VydmVyIHRvIHNlcnZlci4iIGNvbW1lbnQ9IlRoaXMgaXMgYSBidXNpbmVzcyBpZGVudGlmaWVyLCBub3QgYSByZXNvdXJjZSBpZGVudGlmaWVyLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iYWN0aXZlIHwgb24taG9sZCB8IGNhbmNlbGxlZCB8IGNvbXBsZXRlZCB8IGVudGVyZWQtaW4tZXJyb3IgfCBzdG9wcGVkIHwgZHJhZnQgfCB1bmtub3duIiBkZWZpbml0aW9uPSJBIGNvZGUgc3BlY2lmeWluZyB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgb3JkZXIuICBHZW5lcmFsbHksIHRoaXMgd2lsbCBiZSBhY3RpdmUgb3IgY29tcGxldGVkIHN0YXRlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQSBjb2RlIHNwZWNpZnlpbmcgdGhlIHN0YXRlIG9mIHRoZSBwcmVzY3JpYmluZyBldmVudC4gRGVzY3JpYmVzIHRoZSBsaWZlY3ljbGUgb2YgdGhlIHByZXNjcmlwdGlvbi4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1c1JlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmVhc29uIGZvciBjdXJyZW50IHN0YXR1cyIgZGVmaW5pdGlvbj0iQ2FwdHVyZXMgdGhlIHJlYXNvbiBmb3IgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIE1lZGljYXRpb25SZXF1ZXN0LiIgY29tbWVudD0iVGhpcyBpcyBnZW5lcmFsbHkgb25seSB1c2VkIGZvciAmcXVvdDtleGNlcHRpb24mcXVvdDsgc3RhdHVzZXMgc3VjaCBhcyAmcXVvdDtzdXNwZW5kZWQmcXVvdDsgb3IgJnF1b3Q7Y2FuY2VsbGVkJnF1b3Q7LiBUaGUgcmVhc29uIHdoeSB0aGUgTWVkaWNhdGlvblJlcXVlc3Qgd2FzIGNyZWF0ZWQgYXQgYWxsIGlzIGNhcHR1cmVkIGluIHJlYXNvbkNvZGUsIG5vdCBoZXJlLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1lZGljYXRpb25SZXF1ZXN0U3RhdHVzUmVhc29uIiBkZXNjcmlwdGlvbj0iSWRlbnRpZmllcyB0aGUgcmVhc29ucyBmb3IgYSBnaXZlbiBzdGF0dXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImludGVudCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icHJvcG9zYWwgfCBwbGFuIHwgb3JkZXIgfCBvcmlnaW5hbC1vcmRlciB8IHJlZmxleC1vcmRlciB8IGZpbGxlci1vcmRlciB8IGluc3RhbmNlLW9yZGVyIHwgb3B0aW9uIiBkZWZpbml0aW9uPSJXaGV0aGVyIHRoZSByZXF1ZXN0IGlzIGEgcHJvcG9zYWwsIHBsYW4sIG9yIGFuIG9yaWdpbmFsIG9yZGVyLiIgY29tbWVudD0iSXQgaXMgZXhwZWN0ZWQgdGhhdCB0aGUgdHlwZSBvZiByZXF1ZXN0ZXIgd2lsbCBiZSByZXN0cmljdGVkIGZvciBkaWZmZXJlbnQgc3RhZ2VzIG9mIGEgTWVkaWNhdGlvblJlcXVlc3QuICBGb3IgZXhhbXBsZSwgUHJvcG9zYWxzIGNhbiBiZSBjcmVhdGVkIGJ5IGEgcGF0aWVudCwgcmVsYXRlZFBlcnNvbiwgUHJhY3RpdGlvbmVyIG9yIERldmljZS4gIFBsYW5zIGNhbiBiZSBjcmVhdGVkIGJ5IFByYWN0aXRpb25lcnMsIFBhdGllbnRzLCBSZWxhdGVkUGVyc29ucyBhbmQgRGV2aWNlcy4gIE9yaWdpbmFsIG9yZGVycyBjYW4gYmUgY3JlYXRlZCBieSBhIFByYWN0aXRpb25lciBvbmx5LiYjeGQ7JiN4ZDtBbiBpbnN0YW5jZS1vcmRlciBpcyBhbiBpbnN0YW50aWF0aW9uIG9mIGEgcmVxdWVzdCBvciBvcmRlciBhbmQgbWF5IGJlIHVzZWQgdG8gcG9wdWxhdGUgTWVkaWNhdGlvbiBBZG1pbmlzdHJhdGlvbiBSZWNvcmQuJiN4ZDsmI3hkO1RoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgaW50ZW50IGFsdGVycyB3aGVuIGFuZCBob3cgdGhlIHJlc291cmNlIGlzIGFjdHVhbGx5IGFwcGxpY2FibGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGUga2luZCBvZiBtZWRpY2F0aW9uIG9yZGVyLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUeXBlIG9mIG1lZGljYXRpb24gdXNhZ2UiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgdHlwZSBvZiBtZWRpY2F0aW9uIHJlcXVlc3QgKGZvciBleGFtcGxlLCB3aGVyZSB0aGUgbWVkaWNhdGlvbiBpcyBleHBlY3RlZCB0byBiZSBjb25zdW1lZCBvciBhZG1pbmlzdGVyZWQgKGkuZS4gaW5wYXRpZW50IG9yIG91dHBhdGllbnQpKS4iIGNvbW1lbnQ9IlRoZSBjYXRlZ29yeSBjYW4gYmUgdXNlZCB0byBpbmNsdWRlIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGNvbnN1bWVkIG9yIG90aGVyIHR5cGVzIG9mIHJlcXVlc3RzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3RDYXRlZ29yeSIgZGVzY3JpcHRpb249IkEgY29kZWQgY29uY2VwdCBpZGVudGlmeWluZyB0aGUgY2F0ZWdvcnkgb2YgbWVkaWNhdGlvbiByZXF1ZXN0LiAgRm9yIGV4YW1wbGUsIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGlzIHRvIGJlIGNvbnN1bWVkIG9yIGFkbWluaXN0ZXJlZCwgb3IgdGhlIHR5cGUgb2YgbWVkaWNhdGlvbiB0cmVhdG1lbnQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InVzLWNvcmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUeXBlIG9mIG1lZGljYXRpb24gdXNhZ2UiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgdHlwZSBvZiBtZWRpY2F0aW9uIHJlcXVlc3QgKGZvciBleGFtcGxlLCB3aGVyZSB0aGUgbWVkaWNhdGlvbiBpcyBleHBlY3RlZCB0byBiZSBjb25zdW1lZCBvciBhZG1pbmlzdGVyZWQgKGkuZS4gaW5wYXRpZW50IG9yIG91dHBhdGllbnQpKS4iIGNvbW1lbnQ9IlRoZSBjYXRlZ29yeSBjYW4gYmUgdXNlZCB0byBpbmNsdWRlIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGNvbnN1bWVkIG9yIG90aGVyIHR5cGVzIG9mIHJlcXVlc3RzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlRoZSB0eXBlIG9mIG1lZGljYXRpb24gb3JkZXIuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwcmlvcml0eSIgZWxlbWVudFR5cGU9IlFJQ29yZS5NZWRpY2F0aW9uUmVxdWVzdFByaW9yaXR5IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InJvdXRpbmUgfCB1cmdlbnQgfCBhc2FwIHwgc3RhdCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGhvdyBxdWlja2x5IHRoZSBNZWRpY2F0aW9uIFJlcXVlc3Qgc2hvdWxkIGJlIGFkZHJlc3NlZCB3aXRoIHJlc3BlY3QgdG8gb3RoZXIgcmVxdWVzdHMuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3RQcmlvcml0eSIgZGVzY3JpcHRpb249IklkZW50aWZpZXMgdGhlIGxldmVsIG9mIGltcG9ydGFuY2UgdG8gYmUgYXNzaWduZWQgdG8gYWN0aW9uaW5nIHRoZSByZXF1ZXN0LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZG9Ob3RQZXJmb3JtIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVHJ1ZSBpZiBtZWRpY2F0aW9uIHdhcyBub3QgcmVxdWVzdGVkIiBkZWZpbml0aW9uPSJJZiB0cnVlIGluZGljYXRlcyB0aGF0IHRoZSBwcm92aWRlciBpcyBhc2tpbmcgZm9yIHRoZSBtZWRpY2F0aW9uIHJlcXVlc3Qgbm90IHRvIG9jY3VyLiIgY29tbWVudD0iSWYgZG8gbm90IHBlcmZvcm0gaXMgbm90IHNwZWNpZmllZCwgdGhlIHJlcXVlc3QgaXMgYSBwb3NpdGl2ZSByZXF1ZXN0IGUuZy4gJnF1b3Q7ZG8gcGVyZm9ybSZxdW90Oy4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlcG9ydGVkIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlcG9ydGVkIHJhdGhlciB0aGFuIHByaW1hcnkgcmVjb3JkIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgaWYgdGhpcyByZWNvcmQgd2FzIGNhcHR1cmVkIGFzIGEgc2Vjb25kYXJ5ICdyZXBvcnRlZCcgcmVjb3JkIHJhdGhlciB0aGFuIGFzIGFuIG9yaWdpbmFsIHByaW1hcnkgc291cmNlLW9mLXRydXRoIHJlY29yZC4gIEl0IG1heSBhbHNvIGluZGljYXRlIHRoZSBzb3VyY2Ugb2YgdGhlIHJlcG9ydC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtZWRpY2F0aW9uIiB0YXJnZXQ9IlN5c3RlbS5Db25jZXB0OkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpO1N5c3RlbS5WYWx1ZVNldDpGSElSSGVscGVycy5Ub1ZhbHVlU2V0KCVwYXJlbnQubWVkaWNhdGlvblt4XS5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1ub3REb25lVmFsdWVTZXQnXS52YWx1ZS52YWx1ZSkiIGRlc2NyaXB0aW9uPSJNZWRpY2F0aW9uIHRvIGJlIHRha2VuIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHRoZSBtZWRpY2F0aW9uIGJlaW5nIHJlcXVlc3RlZC4gVGhpcyBpcyBhIGxpbmsgdG8gYSByZXNvdXJjZSB0aGF0IHJlcHJlc2VudHMgdGhlIG1lZGljYXRpb24gd2hpY2ggbWF5IGJlIHRoZSBkZXRhaWxzIG9mIHRoZSBtZWRpY2F0aW9uIG9yIHNpbXBseSBhbiBhdHRyaWJ1dGUgY2FycnlpbmcgYSBjb2RlIHRoYXQgaWRlbnRpZmllcyB0aGUgbWVkaWNhdGlvbiBmcm9tIGEga25vd24gbGlzdCBvZiBtZWRpY2F0aW9ucy4iIGNvbW1lbnQ9IklmIG9ubHkgYSBjb2RlIGlzIHNwZWNpZmllZCwgdGhlbiBpdCBuZWVkcyB0byBiZSBhIGNvZGUgZm9yIGEgc3BlY2lmaWMgcHJvZHVjdC4gSWYgbW9yZSBpbmZvcm1hdGlvbiBpcyByZXF1aXJlZCwgdGhlbiB0aGUgdXNlIG9mIHRoZSBNZWRpY2F0aW9uIHJlc291cmNlIGlzIHJlY29tbWVuZGVkLiAgRm9yIGV4YW1wbGUsIGlmIHlvdSByZXF1aXJlIGZvcm0gb3IgbG90IG51bWJlciBvciBpZiB0aGUgbWVkaWNhdGlvbiBpcyBjb21wb3VuZGVkIG9yIGV4dGVtcG9yYW5lb3VzbHkgcHJlcGFyZWQsIHRoZW4geW91IG11c3QgcmVmZXJlbmNlIHRoZSBNZWRpY2F0aW9uIHJlc291cmNlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlZhbHVlU2V0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBvciBncm91cCBtZWRpY2F0aW9uIHJlcXVlc3QgaXMgZm9yIiBkZWZpbml0aW9uPSJBIGxpbmsgdG8gYSByZXNvdXJjZSByZXByZXNlbnRpbmcgdGhlIHBlcnNvbiBvciBzZXQgb2YgaW5kaXZpZHVhbHMgdG8gd2hvbSB0aGUgbWVkaWNhdGlvbiB3aWxsIGJlIGdpdmVuLiIgY29tbWVudD0iVGhlIHN1YmplY3Qgb24gYSBtZWRpY2F0aW9uIHJlcXVlc3QgaXMgbWFuZGF0b3J5LiAgRm9yIHRoZSBzZWNvbmRhcnkgdXNlIGNhc2Ugd2hlcmUgdGhlIGFjdHVhbCBzdWJqZWN0IGlzIG5vdCBwcm92aWRlZCwgdGhlcmUgc3RpbGwgbXVzdCBiZSBhbiBhbm9ueW1pemVkIHN1YmplY3Qgc3BlY2lmaWVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkVuY291bnRlciBjcmVhdGVkIGFzIHBhcnQgb2YgZW5jb3VudGVyL2FkbWlzc2lvbi9zdGF5IiBkZWZpbml0aW9uPSJUaGUgRW5jb3VudGVyIGR1cmluZyB3aGljaCB0aGlzIFt4XSB3YXMgY3JlYXRlZCBvciB0byB3aGljaCB0aGUgY3JlYXRpb24gb2YgdGhpcyByZWNvcmQgaXMgdGlnaHRseSBhc3NvY2lhdGVkLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGFjdGl2aXRpZXMgbWF5IGJlIGluaXRpYXRlZCBwcmlvciB0byBvciBhZnRlciB0aGUgb2ZmaWNpYWwgY29tcGxldGlvbiBvZiBhbiBlbmNvdW50ZXIgYnV0IHN0aWxsIGJlIHRpZWQgdG8gdGhlIGNvbnRleHQgb2YgdGhlIGVuY291bnRlci4mcXVvdDsgICAgSWYgdGhlcmUgaXMgYSBuZWVkIHRvIGxpbmsgdG8gZXBpc29kZXMgb2YgY2FyZSB0aGV5IHdpbGwgYmUgaGFuZGxlZCB3aXRoIGFuIGV4dGVuc2lvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1cHBvcnRpbmdJbmZvcm1hdGlvbiIgZGVzY3JpcHRpb249IkluZm9ybWF0aW9uIHRvIHN1cHBvcnQgb3JkZXJpbmcgb2YgdGhlIG1lZGljYXRpb24iIGRlZmluaXRpb249IkluY2x1ZGUgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiAoZm9yIGV4YW1wbGUsIHBhdGllbnQgaGVpZ2h0IGFuZCB3ZWlnaHQpIHRoYXQgc3VwcG9ydHMgdGhlIG9yZGVyaW5nIG9mIHRoZSBtZWRpY2F0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yZWRPbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIHJlcXVlc3Qgd2FzIGluaXRpYWxseSBhdXRob3JlZCIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgKGFuZCBwZXJoYXBzIHRpbWUpIHdoZW4gdGhlIHByZXNjcmlwdGlvbiB3YXMgaW5pdGlhbGx5IHdyaXR0ZW4gb3IgYXV0aG9yZWQgb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZXF1ZXN0ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvL1doYXQgcmVxdWVzdGVkIHRoZSBSZXF1ZXN0IiBkZWZpbml0aW9uPSJUaGUgaW5kaXZpZHVhbCwgb3JnYW5pemF0aW9uLCBvciBkZXZpY2UgdGhhdCBpbml0aWF0ZWQgdGhlIHJlcXVlc3QgYW5kIGhhcyByZXNwb25zaWJpbGl0eSBmb3IgaXRzIGFjdGl2YXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSW50ZW5kZWQgcGVyZm9ybWVyIG9mIGFkbWluaXN0cmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2lmaWVkIGRlc2lyZWQgcGVyZm9ybWVyIG9mIHRoZSBtZWRpY2F0aW9uIHRyZWF0bWVudCAoZS5nLiB0aGUgcGVyZm9ybWVyIG9mIHRoZSBtZWRpY2F0aW9uIGFkbWluaXN0cmF0aW9uKS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyVHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRGVzaXJlZCBraW5kIG9mIHBlcmZvcm1lciBvZiB0aGUgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvbiIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSB0eXBlIG9mIHBlcmZvcm1lciBvZiB0aGUgYWRtaW5pc3RyYXRpb24gb2YgdGhlIG1lZGljYXRpb24uIiBjb21tZW50PSJJZiBzcGVjaWZpZWQgd2l0aG91dCBpbmRpY2F0aW5nIGEgcGVyZm9ybWVyLCB0aGlzIGluZGljYXRlcyB0aGF0IHRoZSBwZXJmb3JtZXIgbXVzdCBiZSBvZiB0aGUgc3BlY2lmaWVkIHR5cGUuIElmIHNwZWNpZmllZCB3aXRoIGEgcGVyZm9ybWVyIHRoZW4gaXQgaW5kaWNhdGVzIHRoZSByZXF1aXJlbWVudHMgb2YgdGhlIHBlcmZvcm1lciBpZiB0aGUgZGVzaWduYXRlZCBwZXJmb3JtZXIgaXMgbm90IGF2YWlsYWJsZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uUmVxdWVzdFBlcmZvcm1lclR5cGUiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVzIHRoZSB0eXBlIG9mIGluZGl2aWR1YWwgdGhhdCBpcyBkZXNpcmVkIHRvIGFkbWluaXN0ZXIgdGhlIG1lZGljYXRpb24uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlY29yZGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlBlcnNvbiB3aG8gZW50ZXJlZCB0aGUgcmVxdWVzdCIgZGVmaW5pdGlvbj0iVGhlIHBlcnNvbiB3aG8gZW50ZXJlZCB0aGUgb3JkZXIgb24gYmVoYWxmIG9mIGFub3RoZXIgaW5kaXZpZHVhbCBmb3IgZXhhbXBsZSBpbiB0aGUgY2FzZSBvZiBhIHZlcmJhbCBvciBhIHRlbGVwaG9uZSBvcmRlci4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25Db2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZWFzb24gb3IgaW5kaWNhdGlvbiBmb3Igb3JkZXJpbmcgb3Igbm90IG9yZGVyaW5nIHRoZSBtZWRpY2F0aW9uIiBkZWZpbml0aW9uPSJUaGUgcmVhc29uIG9yIHRoZSBpbmRpY2F0aW9uIGZvciBvcmRlcmluZyBvciBub3Qgb3JkZXJpbmcgdGhlIG1lZGljYXRpb24uIiBjb21tZW50PSJUaGlzIGNvdWxkIGJlIGEgZGlhZ25vc2lzIGNvZGUuIElmIGEgZnVsbCBjb25kaXRpb24gcmVjb3JkIGV4aXN0cyBvciBhZGRpdGlvbmFsIGRldGFpbCBpcyBuZWVkZWQsIHVzZSByZWFzb25SZWZlcmVuY2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGUgcmVhc29uIHRoZSBtZWRpY2F0aW9uIHdhcyBub3QgcmVxdWVzdGVkIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvblJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkNvbmRpdGlvbiBvciBvYnNlcnZhdGlvbiB0aGF0IHN1cHBvcnRzIHdoeSB0aGUgcHJlc2NyaXB0aW9uIGlzIGJlaW5nIHdyaXR0ZW4iIGRlZmluaXRpb249IkNvbmRpdGlvbiBvciBvYnNlcnZhdGlvbiB0aGF0IHN1cHBvcnRzIHdoeSB0aGUgbWVkaWNhdGlvbiB3YXMgb3JkZXJlZC4iIGNvbW1lbnQ9IlRoaXMgaXMgYSByZWZlcmVuY2UgdG8gYSBjb25kaXRpb24gb3Igb2JzZXJ2YXRpb24gdGhhdCBpcyB0aGUgcmVhc29uIGZvciB0aGUgbWVkaWNhdGlvbiBvcmRlci4gIElmIG9ubHkgYSBjb2RlIGV4aXN0cywgdXNlIHJlYXNvbkNvZGUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNDYW5vbmljYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIEZISVIgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyc2V0LCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgTWVkaWNhdGlvblJlcXVlc3QuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNVcmkiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIGV4dGVybmFsIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYW4gZXh0ZXJuYWxseSBtYWludGFpbmVkIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyc2V0IG9yIG90aGVyIGRlZmluaXRpb24gdGhhdCBpcyBhZGhlcmVkIHRvIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBNZWRpY2F0aW9uUmVxdWVzdC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJXaGF0IHJlcXVlc3QgZnVsZmlsbHMiIGRlZmluaXRpb249IkEgcGxhbiBvciByZXF1ZXN0IHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBtZWRpY2F0aW9uIHJlcXVlc3QuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJncm91cElkZW50aWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgZGVzY3JpcHRpb249IkNvbXBvc2l0ZSByZXF1ZXN0IHRoaXMgaXMgcGFydCBvZiIgZGVmaW5pdGlvbj0iQSBzaGFyZWQgaWRlbnRpZmllciBjb21tb24gdG8gYWxsIHJlcXVlc3RzIHRoYXQgd2VyZSBhdXRob3JpemVkIG1vcmUgb3IgbGVzcyBzaW11bHRhbmVvdXNseSBieSBhIHNpbmdsZSBhdXRob3IsIHJlcHJlc2VudGluZyB0aGUgaWRlbnRpZmllciBvZiB0aGUgcmVxdWlzaXRpb24gb3IgcHJlc2NyaXB0aW9uLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJjb3Vyc2VPZlRoZXJhcHlUeXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPdmVyYWxsIHBhdHRlcm4gb2YgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBvdmVyYWxsIHBhdHRlM3JuIG9mIHRoZSBhZG1pbmlzdHJhdGlvbiBvZiB0aGUgbWVkaWNhdGlvbiB0byB0aGUgcGF0aWVudC4iIGNvbW1lbnQ9IlRoaXMgYXR0cmlidXRlIHNob3VsZCBub3QgYmUgY29uZnVzZWQgd2l0aCB0aGUgcHJvdG9jb2wgb2YgdGhlIG1lZGljYXRpb24uIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3RDb3Vyc2VPZlRoZXJhcHkiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVzIHRoZSBvdmVyYWxsIHBhdHRlcm4gb2YgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnN1cmFuY2UiIGRlc2NyaXB0aW9uPSJBc3NvY2lhdGVkIGluc3VyYW5jZSBjb3ZlcmFnZSIgZGVmaW5pdGlvbj0iSW5zdXJhbmNlIHBsYW5zLCBjb3ZlcmFnZSBleHRlbnNpb25zLCBwcmUtYXV0aG9yaXphdGlvbnMgYW5kL29yIHByZS1kZXRlcm1pbmF0aW9ucyB0aGF0IG1heSBiZSByZXF1aXJlZCBmb3IgZGVsaXZlcmluZyB0aGUgcmVxdWVzdGVkIHNlcnZpY2UuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iSW5mb3JtYXRpb24gYWJvdXQgdGhlIHByZXNjcmlwdGlvbiIgZGVmaW5pdGlvbj0iRXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHByZXNjcmlwdGlvbiB0aGF0IGNvdWxkIG5vdCBiZSBjb252ZXllZCBieSB0aGUgb3RoZXIgYXR0cmlidXRlcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkb3NhZ2VJbnN0cnVjdGlvbiIgZGVzY3JpcHRpb249IkhvdyB0aGUgbWVkaWNhdGlvbiBzaG91bGQgYmUgdGFrZW4iIGRlZmluaXRpb249IkluZGljYXRlcyBob3cgdGhlIG1lZGljYXRpb24gaXMgdG8gYmUgdXNlZCBieSB0aGUgcGF0aWVudC4iIGNvbW1lbnQ9IlRoZXJlIGFyZSBleGFtcGxlcyB3aGVyZSBhIG1lZGljYXRpb24gcmVxdWVzdCBtYXkgaW5jbHVkZSB0aGUgb3B0aW9uIG9mIGFuIG9yYWwgZG9zZSBvciBhbiBJbnRyYXZlbm91cyBvciBJbnRyYW11c2N1bGFyIGRvc2UuICBGb3IgZXhhbXBsZSwgJnF1b3Q7T25kYW5zZXRyb24gOG1nIG9yYWxseSBvciBJViB0d2ljZSBhIGRheSBhcyBuZWVkZWQgZm9yIG5hdXNlYSZxdW90OyBvciAmcXVvdDtDb21wYXppbmXCriAocHJvY2hsb3JwZXJhemluZSkgNS0xMG1nIFBPIG9yIDI1bWcgUFIgYmlkIHBybiBuYXVzZWEgb3Igdm9taXRpbmcmcXVvdDsuICBJbiB0aGVzZSBjYXNlcywgdHdvIG1lZGljYXRpb24gcmVxdWVzdHMgd291bGQgYmUgY3JlYXRlZCB0aGF0IGNvdWxkIGJlIGdyb3VwZWQgdG9nZXRoZXIuICBUaGUgZGVjaXNpb24gb24gd2hpY2ggZG9zZSBhbmQgcm91dGUgb2YgYWRtaW5pc3RyYXRpb24gdG8gdXNlIGlzIGJhc2VkIG9uIHRoZSBwYXRpZW50J3MgY29uZGl0aW9uIGF0IHRoZSB0aW1lIHRoZSBkb3NlIGlzIG5lZWRlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuRG9zYWdlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwZW5zZVJlcXVlc3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuTWVkaWNhdGlvblJlcXVlc3QuRGlzcGVuc2VSZXF1ZXN0IiBkZXNjcmlwdGlvbj0iTWVkaWNhdGlvbiBzdXBwbHkgYXV0aG9yaXphdGlvbiIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBzcGVjaWZpYyBkZXRhaWxzIGZvciB0aGUgZGlzcGVuc2Ugb3IgbWVkaWNhdGlvbiBzdXBwbHkgcGFydCBvZiBhIG1lZGljYXRpb24gcmVxdWVzdCAoYWxzbyBrbm93biBhcyBhIE1lZGljYXRpb24gUHJlc2NyaXB0aW9uIG9yIE1lZGljYXRpb24gT3JkZXIpLiAgTm90ZSB0aGF0IHRoaXMgaW5mb3JtYXRpb24gaXMgbm90IGFsd2F5cyBzZW50IHdpdGggdGhlIG9yZGVyLiAgVGhlcmUgbWF5IGJlIGluIHNvbWUgc2V0dGluZ3MgKGUuZy4gaG9zcGl0YWxzKSBpbnN0aXR1dGlvbmFsIG9yIHN5c3RlbSBzdXBwb3J0IGZvciBjb21wbGV0aW5nIHRoZSBkaXNwZW5zZSBkZXRhaWxzIGluIHRoZSBwaGFybWFjeSBkZXBhcnRtZW50LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJzdGl0dXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuTWVkaWNhdGlvblJlcXVlc3QuU3Vic3RpdHV0aW9uIiBkZXNjcmlwdGlvbj0iQW55IHJlc3RyaWN0aW9ucyBvbiBtZWRpY2F0aW9uIHN1YnN0aXR1dGlvbiIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdoZXRoZXIgb3Igbm90IHN1YnN0aXR1dGlvbiBjYW4gb3Igc2hvdWxkIGJlIHBhcnQgb2YgdGhlIGRpc3BlbnNlLiBJbiBzb21lIGNhc2VzLCBzdWJzdGl0dXRpb24gbXVzdCBoYXBwZW4sIGluIG90aGVyIGNhc2VzIHN1YnN0aXR1dGlvbiBtdXN0IG5vdCBoYXBwZW4uIFRoaXMgYmxvY2sgZXhwbGFpbnMgdGhlIHByZXNjcmliZXIncyBpbnRlbnQuIElmIG5vdGhpbmcgaXMgc3BlY2lmaWVkIHN1YnN0aXR1dGlvbiBtYXkgYmUgZG9uZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icHJpb3JQcmVzY3JpcHRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iQW4gb3JkZXIvcHJlc2NyaXB0aW9uIHRoYXQgaXMgYmVpbmcgcmVwbGFjZWQiIGRlZmluaXRpb249IkEgbGluayB0byBhIHJlc291cmNlIHJlcHJlc2VudGluZyBhbiBlYXJsaWVyIG9yZGVyIHJlbGF0ZWQgb3JkZXIgb3IgcHJlc2NyaXB0aW9uLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXRlY3RlZElzc3VlIiBkZXNjcmlwdGlvbj0iQ2xpbmljYWwgSXNzdWUgd2l0aCBhY3Rpb24iIGRlZmluaXRpb249IkluZGljYXRlcyBhbiBhY3R1YWwgb3IgcG90ZW50aWFsIGNsaW5pY2FsIGlzc3VlIHdpdGggb3IgYmV0d2VlbiBvbmUgb3IgbW9yZSBhY3RpdmUgb3IgcHJvcG9zZWQgY2xpbmljYWwgYWN0aW9ucyBmb3IgYSBwYXRpZW50OyBlLmcuIERydWctZHJ1ZyBpbnRlcmFjdGlvbiwgZHVwbGljYXRlIHRoZXJhcHksIGRvc2FnZSBhbGVydCBldGMuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgY2FuIGluY2x1ZGUgYSBkZXRlY3RlZCBpc3N1ZSB0aGF0IGhhcyBiZWVuIGlkZW50aWZpZWQgZWl0aGVyIGJ5IGEgZGVjaXNpb24gc3VwcG9ydCBzeXN0ZW0gb3IgYnkgYSBjbGluaWNpYW4gYW5kIG1heSBpbmNsdWRlIGluZm9ybWF0aW9uIG9uIHRoZSBzdGVwcyB0aGF0IHdlcmUgdGFrZW4gdG8gYWRkcmVzcyB0aGUgaXNzdWUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJldmVudEhpc3RvcnkiIGRlc2NyaXB0aW9uPSJBIGxpc3Qgb2YgZXZlbnRzIG9mIGludGVyZXN0IGluIHRoZSBsaWZlY3ljbGUiIGRlZmluaXRpb249IkxpbmtzIHRvIFByb3ZlbmFuY2UgcmVjb3JkcyBmb3IgcGFzdCB2ZXJzaW9ucyBvZiB0aGlzIHJlc291cmNlIG9yIGZ1bGZpbGxpbmcgcmVxdWVzdCBvciBldmVudCByZXNvdXJjZXMgdGhhdCBpZGVudGlmeSBrZXkgc3RhdGUgdHJhbnNpdGlvbnMgb3IgdXBkYXRlcyB0aGF0IGFyZSBsaWtlbHkgdG8gYmUgcmVsZXZhbnQgdG8gYSB1c2VyIGxvb2tpbmcgYXQgdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgcmVzb3VyY2UuIiBjb21tZW50PSJUaGlzIG1pZ2h0IG5vdCBpbmNsdWRlIHByb3ZlbmFuY2VzIGZvciBhbGwgdmVyc2lvbnMgb2YgdGhlIHJlcXVlc3Qg4oCTIG9ubHkgdGhvc2UgZGVlbWVkIOKAnHJlbGV2YW504oCdIG9yIGltcG9ydGFudC4gVGhpcyBTSEFMTCBOT1QgaW5jbHVkZSB0aGUgcHJvdmVuYW5jZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBjdXJyZW50IHZlcnNpb24gb2YgdGhlIHJlc291cmNlLiAoSWYgdGhhdCBwcm92ZW5hbmNlIGlzIGRlZW1lZCB0byBiZSBhIOKAnHJlbGV2YW504oCdIGNoYW5nZSwgaXQgd2lsbCBuZWVkIHRvIGJlIGFkZGVkIGFzIHBhcnQgb2YgYSBsYXRlciB1cGRhdGUuIFVudGlsIHRoZW4sIGl0IGNhbiBiZSBxdWVyaWVkIGRpcmVjdGx5IGFzIHRoZSBwcm92ZW5hbmNlIHRoYXQgcG9pbnRzIHRvIHRoaXMgdmVyc2lvbiB1c2luZyBfcmV2aW5jbHVkZSBBbGwgUHJvdmVuYW5jZXMgc2hvdWxkIGhhdmUgc29tZSBoaXN0b3JpY2FsIHZlcnNpb24gb2YgdGhpcyBSZXF1ZXN0IGFzIHRoZWlyIHN1YmplY3QuKS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3QiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW1lZGljYXRpb25yZXF1ZXN0IiBsYWJlbD0iUUlDb3JlIE1lZGljYXRpb25SZXF1ZXN0IiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJtZWRpY2F0aW9uIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkV4dGVybmFsIGlkcyBmb3IgdGhpcyByZXF1ZXN0IiBkZWZpbml0aW9uPSJJZGVudGlmaWVycyBhc3NvY2lhdGVkIHdpdGggdGhpcyBtZWRpY2F0aW9uIHJlcXVlc3QgdGhhdCBhcmUgZGVmaW5lZCBieSBidXNpbmVzcyBwcm9jZXNzZXMgYW5kL29yIHVzZWQgdG8gcmVmZXIgdG8gaXQgd2hlbiBhIGRpcmVjdCBVUkwgcmVmZXJlbmNlIHRvIHRoZSByZXNvdXJjZSBpdHNlbGYgaXMgbm90IGFwcHJvcHJpYXRlLiBUaGV5IGFyZSBidXNpbmVzcyBpZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIHJlc291cmNlIGJ5IHRoZSBwZXJmb3JtZXIgb3Igb3RoZXIgc3lzdGVtcyBhbmQgcmVtYWluIGNvbnN0YW50IGFzIHRoZSByZXNvdXJjZSBpcyB1cGRhdGVkIGFuZCBwcm9wYWdhdGVzIGZyb20gc2VydmVyIHRvIHNlcnZlci4iIGNvbW1lbnQ9IlRoaXMgaXMgYSBidXNpbmVzcyBpZGVudGlmaWVyLCBub3QgYSByZXNvdXJjZSBpZGVudGlmaWVyLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iYWN0aXZl4oCLIHwgb24taG9sZOKAiyB8IGNhbmNlbGxlZOKAiyB8IGVudGVyZWQtaW4tZXJyb3IgfCBzdG9wcGVk4oCLIHwgZHJhZnTigIsgfCB1bmtub3du4oCLIiBkZWZpbml0aW9uPSJBIGNvZGUgc3BlY2lmeWluZyB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgb3JkZXIuICBHZW5lcmFsbHksIHRoaXMgd2lsbCBiZSBhY3RpdmUgb3IgY29tcGxldGVkIHN0YXRlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQSBjb2RlIHNwZWNpZnlpbmcgdGhlIHN0YXRlIG9mIHRoZSBwcmVzY3JpYmluZyBldmVudC4gRGVzY3JpYmVzIHRoZSBsaWZlY3ljbGUgb2YgdGhlIHByZXNjcmlwdGlvbi4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1c1JlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmVhc29uIGZvciBjdXJyZW50IHN0YXR1cyIgZGVmaW5pdGlvbj0iQ2FwdHVyZXMgdGhlIHJlYXNvbiBmb3IgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIE1lZGljYXRpb25SZXF1ZXN0LiIgY29tbWVudD0iVGhpcyBpcyBnZW5lcmFsbHkgb25seSB1c2VkIGZvciAmcXVvdDtleGNlcHRpb24mcXVvdDsgc3RhdHVzZXMgc3VjaCBhcyAmcXVvdDtzdXNwZW5kZWQmcXVvdDsgb3IgJnF1b3Q7Y2FuY2VsbGVkJnF1b3Q7LiBUaGUgcmVhc29uIHdoeSB0aGUgTWVkaWNhdGlvblJlcXVlc3Qgd2FzIGNyZWF0ZWQgYXQgYWxsIGlzIGNhcHR1cmVkIGluIHJlYXNvbkNvZGUsIG5vdCBoZXJlLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1lZGljYXRpb25SZXF1ZXN0U3RhdHVzUmVhc29uIiBkZXNjcmlwdGlvbj0iSWRlbnRpZmllcyB0aGUgcmVhc29ucyBmb3IgYSBnaXZlbiBzdGF0dXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImludGVudCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icHJvcG9zYWwgfCBwbGFuIHwgb3JkZXIgfCBvcmlnaW5hbC1vcmRlciB8IHJlZmxleC1vcmRlciB8IGZpbGxlci1vcmRlciB8IGluc3RhbmNlLW9yZGVyIHwgb3B0aW9uIiBkZWZpbml0aW9uPSJXaGV0aGVyIHRoZSByZXF1ZXN0IGlzIGEgcHJvcG9zYWwsIHBsYW4sIG9yIGFuIG9yaWdpbmFsIG9yZGVyLiIgY29tbWVudD0iSXQgaXMgZXhwZWN0ZWQgdGhhdCB0aGUgdHlwZSBvZiByZXF1ZXN0ZXIgd2lsbCBiZSByZXN0cmljdGVkIGZvciBkaWZmZXJlbnQgc3RhZ2VzIG9mIGEgTWVkaWNhdGlvblJlcXVlc3QuICBGb3IgZXhhbXBsZSwgUHJvcG9zYWxzIGNhbiBiZSBjcmVhdGVkIGJ5IGEgcGF0aWVudCwgcmVsYXRlZFBlcnNvbiwgUHJhY3RpdGlvbmVyIG9yIERldmljZS4gIFBsYW5zIGNhbiBiZSBjcmVhdGVkIGJ5IFByYWN0aXRpb25lcnMsIFBhdGllbnRzLCBSZWxhdGVkUGVyc29ucyBhbmQgRGV2aWNlcy4gIE9yaWdpbmFsIG9yZGVycyBjYW4gYmUgY3JlYXRlZCBieSBhIFByYWN0aXRpb25lciBvbmx5LiYjeGQ7JiN4ZDtBbiBpbnN0YW5jZS1vcmRlciBpcyBhbiBpbnN0YW50aWF0aW9uIG9mIGEgcmVxdWVzdCBvciBvcmRlciBhbmQgbWF5IGJlIHVzZWQgdG8gcG9wdWxhdGUgTWVkaWNhdGlvbiBBZG1pbmlzdHJhdGlvbiBSZWNvcmQuJiN4ZDsmI3hkO1RoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgaW50ZW50IGFsdGVycyB3aGVuIGFuZCBob3cgdGhlIHJlc291cmNlIGlzIGFjdHVhbGx5IGFwcGxpY2FibGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGUga2luZCBvZiBtZWRpY2F0aW9uIG9yZGVyLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUeXBlIG9mIG1lZGljYXRpb24gdXNhZ2UiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgdHlwZSBvZiBtZWRpY2F0aW9uIHJlcXVlc3QgKGZvciBleGFtcGxlLCB3aGVyZSB0aGUgbWVkaWNhdGlvbiBpcyBleHBlY3RlZCB0byBiZSBjb25zdW1lZCBvciBhZG1pbmlzdGVyZWQgKGkuZS4gaW5wYXRpZW50IG9yIG91dHBhdGllbnQpKS4iIGNvbW1lbnQ9IlRoZSBjYXRlZ29yeSBjYW4gYmUgdXNlZCB0byBpbmNsdWRlIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGNvbnN1bWVkIG9yIG90aGVyIHR5cGVzIG9mIHJlcXVlc3RzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlR5cGUgb2YgbWVkaWNhdGlvbiB1c2FnZSIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InVzLWNvcmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUeXBlIG9mIG1lZGljYXRpb24gdXNhZ2UiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgdHlwZSBvZiBtZWRpY2F0aW9uIHJlcXVlc3QgKGZvciBleGFtcGxlLCB3aGVyZSB0aGUgbWVkaWNhdGlvbiBpcyBleHBlY3RlZCB0byBiZSBjb25zdW1lZCBvciBhZG1pbmlzdGVyZWQgKGkuZS4gaW5wYXRpZW50IG9yIG91dHBhdGllbnQpKS4iIGNvbW1lbnQ9IlRoZSBjYXRlZ29yeSBjYW4gYmUgdXNlZCB0byBpbmNsdWRlIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGNvbnN1bWVkIG9yIG90aGVyIHR5cGVzIG9mIHJlcXVlc3RzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlRoZSB0eXBlIG9mIG1lZGljYXRpb24gb3JkZXIuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwcmlvcml0eSIgZWxlbWVudFR5cGU9IlFJQ29yZS5NZWRpY2F0aW9uUmVxdWVzdFByaW9yaXR5IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InJvdXRpbmUgfCB1cmdlbnQgfCBhc2FwIHwgc3RhdCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGhvdyBxdWlja2x5IHRoZSBNZWRpY2F0aW9uIFJlcXVlc3Qgc2hvdWxkIGJlIGFkZHJlc3NlZCB3aXRoIHJlc3BlY3QgdG8gb3RoZXIgcmVxdWVzdHMuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3RQcmlvcml0eSIgZGVzY3JpcHRpb249IklkZW50aWZpZXMgdGhlIGxldmVsIG9mIGltcG9ydGFuY2UgdG8gYmUgYXNzaWduZWQgdG8gYWN0aW9uaW5nIHRoZSByZXF1ZXN0LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVwb3J0ZWQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iUmVwb3J0ZWQgcmF0aGVyIHRoYW4gcHJpbWFyeSByZWNvcmQiIGRlZmluaXRpb249IkluZGljYXRlcyBpZiB0aGlzIHJlY29yZCB3YXMgY2FwdHVyZWQgYXMgYSBzZWNvbmRhcnkgJ3JlcG9ydGVkJyByZWNvcmQgcmF0aGVyIHRoYW4gYXMgYW4gb3JpZ2luYWwgcHJpbWFyeSBzb3VyY2Utb2YtdHJ1dGggcmVjb3JkLiAgSXQgbWF5IGFsc28gaW5kaWNhdGUgdGhlIHNvdXJjZSBvZiB0aGUgcmVwb3J0LiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibWVkaWNhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJNZWRpY2F0aW9uIHRvIGJlIHRha2VuIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHRoZSBtZWRpY2F0aW9uIGJlaW5nIHJlcXVlc3RlZC4gVGhpcyBpcyBhIGxpbmsgdG8gYSByZXNvdXJjZSB0aGF0IHJlcHJlc2VudHMgdGhlIG1lZGljYXRpb24gd2hpY2ggbWF5IGJlIHRoZSBkZXRhaWxzIG9mIHRoZSBtZWRpY2F0aW9uIG9yIHNpbXBseSBhbiBhdHRyaWJ1dGUgY2FycnlpbmcgYSBjb2RlIHRoYXQgaWRlbnRpZmllcyB0aGUgbWVkaWNhdGlvbiBmcm9tIGEga25vd24gbGlzdCBvZiBtZWRpY2F0aW9ucy4iIGNvbW1lbnQ9IklmIG9ubHkgYSBjb2RlIGlzIHNwZWNpZmllZCwgdGhlbiBpdCBuZWVkcyB0byBiZSBhIGNvZGUgZm9yIGEgc3BlY2lmaWMgcHJvZHVjdC4gSWYgbW9yZSBpbmZvcm1hdGlvbiBpcyByZXF1aXJlZCwgdGhlbiB0aGUgdXNlIG9mIHRoZSBNZWRpY2F0aW9uIHJlc291cmNlIGlzIHJlY29tbWVuZGVkLiAgRm9yIGV4YW1wbGUsIGlmIHlvdSByZXF1aXJlIGZvcm0gb3IgbG90IG51bWJlciBvciBpZiB0aGUgbWVkaWNhdGlvbiBpcyBjb21wb3VuZGVkIG9yIGV4dGVtcG9yYW5lb3VzbHkgcHJlcGFyZWQsIHRoZW4geW91IG11c3QgcmVmZXJlbmNlIHRoZSBNZWRpY2F0aW9uIHJlc291cmNlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIG9yIGdyb3VwIG1lZGljYXRpb24gcmVxdWVzdCBpcyBmb3IiIGRlZmluaXRpb249IkEgbGluayB0byBhIHJlc291cmNlIHJlcHJlc2VudGluZyB0aGUgcGVyc29uIG9yIHNldCBvZiBpbmRpdmlkdWFscyB0byB3aG9tIHRoZSBtZWRpY2F0aW9uIHdpbGwgYmUgZ2l2ZW4uIiBjb21tZW50PSJUaGUgc3ViamVjdCBvbiBhIG1lZGljYXRpb24gcmVxdWVzdCBpcyBtYW5kYXRvcnkuICBGb3IgdGhlIHNlY29uZGFyeSB1c2UgY2FzZSB3aGVyZSB0aGUgYWN0dWFsIHN1YmplY3QgaXMgbm90IHByb3ZpZGVkLCB0aGVyZSBzdGlsbCBtdXN0IGJlIGFuIGFub255bWl6ZWQgc3ViamVjdCBzcGVjaWZpZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iRW5jb3VudGVyIGNyZWF0ZWQgYXMgcGFydCBvZiBlbmNvdW50ZXIvYWRtaXNzaW9uL3N0YXkiIGRlZmluaXRpb249IlRoZSBFbmNvdW50ZXIgZHVyaW5nIHdoaWNoIHRoaXMgW3hdIHdhcyBjcmVhdGVkIG9yIHRvIHdoaWNoIHRoZSBjcmVhdGlvbiBvZiB0aGlzIHJlY29yZCBpcyB0aWdodGx5IGFzc29jaWF0ZWQuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgYWN0aXZpdGllcyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyLiZxdW90OyAgICBJZiB0aGVyZSBpcyBhIG5lZWQgdG8gbGluayB0byBlcGlzb2RlcyBvZiBjYXJlIHRoZXkgd2lsbCBiZSBoYW5kbGVkIHdpdGggYW4gZXh0ZW5zaW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3VwcG9ydGluZ0luZm9ybWF0aW9uIiBkZXNjcmlwdGlvbj0iSW5mb3JtYXRpb24gdG8gc3VwcG9ydCBvcmRlcmluZyBvZiB0aGUgbWVkaWNhdGlvbiIgZGVmaW5pdGlvbj0iSW5jbHVkZSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIChmb3IgZXhhbXBsZSwgcGF0aWVudCBoZWlnaHQgYW5kIHdlaWdodCkgdGhhdCBzdXBwb3J0cyB0aGUgb3JkZXJpbmcgb2YgdGhlIG1lZGljYXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhdXRob3JlZE9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gcmVxdWVzdCB3YXMgaW5pdGlhbGx5IGF1dGhvcmVkIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSAoYW5kIHBlcmhhcHMgdGltZSkgd2hlbiB0aGUgcHJlc2NyaXB0aW9uIHdhcyBpbml0aWFsbHkgd3JpdHRlbiBvciBhdXRob3JlZCBvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlcXVlc3RlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaG8vV2hhdCByZXF1ZXN0ZWQgdGhlIFJlcXVlc3QiIGRlZmluaXRpb249IlRoZSBpbmRpdmlkdWFsLCBvcmdhbml6YXRpb24sIG9yIGRldmljZSB0aGF0IGluaXRpYXRlZCB0aGUgcmVxdWVzdCBhbmQgaGFzIHJlc3BvbnNpYmlsaXR5IGZvciBpdHMgYWN0aXZhdGlvbi4iIGNvbW1lbnQ9IlNob3VsZCBpbmNsdWRlIFFJQ29yZURldmljZSBidXQgdGhlIGJhc2UgcHJvZmlsZSBkb2VzIGV4Y2x1ZGVzIGRldmljZSByZWZlcmVuY2VzLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkludGVuZGVkIHBlcmZvcm1lciBvZiBhZG1pbmlzdHJhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHNwZWNpZmllZCBkZXNpcmVkIHBlcmZvcm1lciBvZiB0aGUgbWVkaWNhdGlvbiB0cmVhdG1lbnQgKGUuZy4gdGhlIHBlcmZvcm1lciBvZiB0aGUgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvbikuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lclR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkRlc2lyZWQga2luZCBvZiBwZXJmb3JtZXIgb2YgdGhlIG1lZGljYXRpb24gYWRtaW5pc3RyYXRpb24iIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgdHlwZSBvZiBwZXJmb3JtZXIgb2YgdGhlIGFkbWluaXN0cmF0aW9uIG9mIHRoZSBtZWRpY2F0aW9uLiIgY29tbWVudD0iSWYgc3BlY2lmaWVkIHdpdGhvdXQgaW5kaWNhdGluZyBhIHBlcmZvcm1lciwgdGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgcGVyZm9ybWVyIG11c3QgYmUgb2YgdGhlIHNwZWNpZmllZCB0eXBlLiBJZiBzcGVjaWZpZWQgd2l0aCBhIHBlcmZvcm1lciB0aGVuIGl0IGluZGljYXRlcyB0aGUgcmVxdWlyZW1lbnRzIG9mIHRoZSBwZXJmb3JtZXIgaWYgdGhlIGRlc2lnbmF0ZWQgcGVyZm9ybWVyIGlzIG5vdCBhdmFpbGFibGUuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3RQZXJmb3JtZXJUeXBlIiBkZXNjcmlwdGlvbj0iSWRlbnRpZmllcyB0aGUgdHlwZSBvZiBpbmRpdmlkdWFsIHRoYXQgaXMgZGVzaXJlZCB0byBhZG1pbmlzdGVyIHRoZSBtZWRpY2F0aW9uLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvcmRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJQZXJzb24gd2hvIGVudGVyZWQgdGhlIHJlcXVlc3QiIGRlZmluaXRpb249IlRoZSBwZXJzb24gd2hvIGVudGVyZWQgdGhlIG9yZGVyIG9uIGJlaGFsZiBvZiBhbm90aGVyIGluZGl2aWR1YWwgZm9yIGV4YW1wbGUgaW4gdGhlIGNhc2Ugb2YgYSB2ZXJiYWwgb3IgYSB0ZWxlcGhvbmUgb3JkZXIuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlYXNvbiBvciBpbmRpY2F0aW9uIGZvciBvcmRlcmluZyBvciBub3Qgb3JkZXJpbmcgdGhlIG1lZGljYXRpb24iIGRlZmluaXRpb249IlRoZSByZWFzb24gb3IgdGhlIGluZGljYXRpb24gZm9yIG9yZGVyaW5nIG9yIG5vdCBvcmRlcmluZyB0aGUgbWVkaWNhdGlvbi4iIGNvbW1lbnQ9IlRoaXMgY291bGQgYmUgYSBkaWFnbm9zaXMgY29kZS4gSWYgYSBmdWxsIGNvbmRpdGlvbiByZWNvcmQgZXhpc3RzIG9yIGFkZGl0aW9uYWwgZGV0YWlsIGlzIG5lZWRlZCwgdXNlIHJlYXNvblJlZmVyZW5jZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3RSZWFzb24iIGRlc2NyaXB0aW9uPSJBIGNvZGVkIGNvbmNlcHQgaW5kaWNhdGluZyB3aHkgdGhlIG1lZGljYXRpb24gd2FzIG9yZGVyZWQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvblJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkNvbmRpdGlvbiBvciBvYnNlcnZhdGlvbiB0aGF0IHN1cHBvcnRzIHdoeSB0aGUgcHJlc2NyaXB0aW9uIGlzIGJlaW5nIHdyaXR0ZW4iIGRlZmluaXRpb249IkNvbmRpdGlvbiBvciBvYnNlcnZhdGlvbiB0aGF0IHN1cHBvcnRzIHdoeSB0aGUgbWVkaWNhdGlvbiB3YXMgb3JkZXJlZC4iIGNvbW1lbnQ9IlRoaXMgaXMgYSByZWZlcmVuY2UgdG8gYSBjb25kaXRpb24gb3Igb2JzZXJ2YXRpb24gdGhhdCBpcyB0aGUgcmVhc29uIGZvciB0aGUgbWVkaWNhdGlvbiBvcmRlci4gIElmIG9ubHkgYSBjb2RlIGV4aXN0cywgdXNlIHJlYXNvbkNvZGUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNDYW5vbmljYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIEZISVIgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyc2V0LCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgTWVkaWNhdGlvblJlcXVlc3QuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNVcmkiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIGV4dGVybmFsIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYW4gZXh0ZXJuYWxseSBtYWludGFpbmVkIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyc2V0IG9yIG90aGVyIGRlZmluaXRpb24gdGhhdCBpcyBhZGhlcmVkIHRvIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBNZWRpY2F0aW9uUmVxdWVzdC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJXaGF0IHJlcXVlc3QgZnVsZmlsbHMiIGRlZmluaXRpb249IkEgcGxhbiBvciByZXF1ZXN0IHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBtZWRpY2F0aW9uIHJlcXVlc3QuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJncm91cElkZW50aWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgZGVzY3JpcHRpb249IkNvbXBvc2l0ZSByZXF1ZXN0IHRoaXMgaXMgcGFydCBvZiIgZGVmaW5pdGlvbj0iQSBzaGFyZWQgaWRlbnRpZmllciBjb21tb24gdG8gYWxsIHJlcXVlc3RzIHRoYXQgd2VyZSBhdXRob3JpemVkIG1vcmUgb3IgbGVzcyBzaW11bHRhbmVvdXNseSBieSBhIHNpbmdsZSBhdXRob3IsIHJlcHJlc2VudGluZyB0aGUgaWRlbnRpZmllciBvZiB0aGUgcmVxdWlzaXRpb24gb3IgcHJlc2NyaXB0aW9uLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJjb3Vyc2VPZlRoZXJhcHlUeXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPdmVyYWxsIHBhdHRlcm4gb2YgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBvdmVyYWxsIHBhdHRlM3JuIG9mIHRoZSBhZG1pbmlzdHJhdGlvbiBvZiB0aGUgbWVkaWNhdGlvbiB0byB0aGUgcGF0aWVudC4iIGNvbW1lbnQ9IlRoaXMgYXR0cmlidXRlIHNob3VsZCBub3QgYmUgY29uZnVzZWQgd2l0aCB0aGUgcHJvdG9jb2wgb2YgdGhlIG1lZGljYXRpb24uIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3RDb3Vyc2VPZlRoZXJhcHkiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVzIHRoZSBvdmVyYWxsIHBhdHRlcm4gb2YgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnN1cmFuY2UiIGRlc2NyaXB0aW9uPSJBc3NvY2lhdGVkIGluc3VyYW5jZSBjb3ZlcmFnZSIgZGVmaW5pdGlvbj0iSW5zdXJhbmNlIHBsYW5zLCBjb3ZlcmFnZSBleHRlbnNpb25zLCBwcmUtYXV0aG9yaXphdGlvbnMgYW5kL29yIHByZS1kZXRlcm1pbmF0aW9ucyB0aGF0IG1heSBiZSByZXF1aXJlZCBmb3IgZGVsaXZlcmluZyB0aGUgcmVxdWVzdGVkIHNlcnZpY2UuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iSW5mb3JtYXRpb24gYWJvdXQgdGhlIHByZXNjcmlwdGlvbiIgZGVmaW5pdGlvbj0iRXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHByZXNjcmlwdGlvbiB0aGF0IGNvdWxkIG5vdCBiZSBjb252ZXllZCBieSB0aGUgb3RoZXIgYXR0cmlidXRlcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkb3NhZ2VJbnN0cnVjdGlvbiIgZGVzY3JpcHRpb249IkhvdyB0aGUgbWVkaWNhdGlvbiBzaG91bGQgYmUgdGFrZW4iIGRlZmluaXRpb249IkluZGljYXRlcyBob3cgdGhlIG1lZGljYXRpb24gaXMgdG8gYmUgdXNlZCBieSB0aGUgcGF0aWVudC4iIGNvbW1lbnQ9IlRoZXJlIGFyZSBleGFtcGxlcyB3aGVyZSBhIG1lZGljYXRpb24gcmVxdWVzdCBtYXkgaW5jbHVkZSB0aGUgb3B0aW9uIG9mIGFuIG9yYWwgZG9zZSBvciBhbiBJbnRyYXZlbm91cyBvciBJbnRyYW11c2N1bGFyIGRvc2UuICBGb3IgZXhhbXBsZSwgJnF1b3Q7T25kYW5zZXRyb24gOG1nIG9yYWxseSBvciBJViB0d2ljZSBhIGRheSBhcyBuZWVkZWQgZm9yIG5hdXNlYSZxdW90OyBvciAmcXVvdDtDb21wYXppbmXCriAocHJvY2hsb3JwZXJhemluZSkgNS0xMG1nIFBPIG9yIDI1bWcgUFIgYmlkIHBybiBuYXVzZWEgb3Igdm9taXRpbmcmcXVvdDsuICBJbiB0aGVzZSBjYXNlcywgdHdvIG1lZGljYXRpb24gcmVxdWVzdHMgd291bGQgYmUgY3JlYXRlZCB0aGF0IGNvdWxkIGJlIGdyb3VwZWQgdG9nZXRoZXIuICBUaGUgZGVjaXNpb24gb24gd2hpY2ggZG9zZSBhbmQgcm91dGUgb2YgYWRtaW5pc3RyYXRpb24gdG8gdXNlIGlzIGJhc2VkIG9uIHRoZSBwYXRpZW50J3MgY29uZGl0aW9uIGF0IHRoZSB0aW1lIHRoZSBkb3NlIGlzIG5lZWRlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuRG9zYWdlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwZW5zZVJlcXVlc3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuTWVkaWNhdGlvblJlcXVlc3QuRGlzcGVuc2VSZXF1ZXN0IiBkZXNjcmlwdGlvbj0iTWVkaWNhdGlvbiBzdXBwbHkgYXV0aG9yaXphdGlvbiIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBzcGVjaWZpYyBkZXRhaWxzIGZvciB0aGUgZGlzcGVuc2Ugb3IgbWVkaWNhdGlvbiBzdXBwbHkgcGFydCBvZiBhIG1lZGljYXRpb24gcmVxdWVzdCAoYWxzbyBrbm93biBhcyBhIE1lZGljYXRpb24gUHJlc2NyaXB0aW9uIG9yIE1lZGljYXRpb24gT3JkZXIpLiAgTm90ZSB0aGF0IHRoaXMgaW5mb3JtYXRpb24gaXMgbm90IGFsd2F5cyBzZW50IHdpdGggdGhlIG9yZGVyLiAgVGhlcmUgbWF5IGJlIGluIHNvbWUgc2V0dGluZ3MgKGUuZy4gaG9zcGl0YWxzKSBpbnN0aXR1dGlvbmFsIG9yIHN5c3RlbSBzdXBwb3J0IGZvciBjb21wbGV0aW5nIHRoZSBkaXNwZW5zZSBkZXRhaWxzIGluIHRoZSBwaGFybWFjeSBkZXBhcnRtZW50LiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3Vic3RpdHV0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLk1lZGljYXRpb25SZXF1ZXN0LlN1YnN0aXR1dGlvbiIgZGVzY3JpcHRpb249IkFueSByZXN0cmljdGlvbnMgb24gbWVkaWNhdGlvbiBzdWJzdGl0dXRpb24iIGRlZmluaXRpb249IkluZGljYXRlcyB3aGV0aGVyIG9yIG5vdCBzdWJzdGl0dXRpb24gY2FuIG9yIHNob3VsZCBiZSBwYXJ0IG9mIHRoZSBkaXNwZW5zZS4gSW4gc29tZSBjYXNlcywgc3Vic3RpdHV0aW9uIG11c3QgaGFwcGVuLCBpbiBvdGhlciBjYXNlcyBzdWJzdGl0dXRpb24gbXVzdCBub3QgaGFwcGVuLiBUaGlzIGJsb2NrIGV4cGxhaW5zIHRoZSBwcmVzY3JpYmVyJ3MgaW50ZW50LiBJZiBub3RoaW5nIGlzIHNwZWNpZmllZCBzdWJzdGl0dXRpb24gbWF5IGJlIGRvbmUuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InByaW9yUHJlc2NyaXB0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkFuIG9yZGVyL3ByZXNjcmlwdGlvbiB0aGF0IGlzIGJlaW5nIHJlcGxhY2VkIiBkZWZpbml0aW9uPSJBIGxpbmsgdG8gYSByZXNvdXJjZSByZXByZXNlbnRpbmcgYW4gZWFybGllciBvcmRlciByZWxhdGVkIG9yZGVyIG9yIHByZXNjcmlwdGlvbi4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGV0ZWN0ZWRJc3N1ZSIgZGVzY3JpcHRpb249IkNsaW5pY2FsIElzc3VlIHdpdGggYWN0aW9uIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgYW4gYWN0dWFsIG9yIHBvdGVudGlhbCBjbGluaWNhbCBpc3N1ZSB3aXRoIG9yIGJldHdlZW4gb25lIG9yIG1vcmUgYWN0aXZlIG9yIHByb3Bvc2VkIGNsaW5pY2FsIGFjdGlvbnMgZm9yIGEgcGF0aWVudDsgZS5nLiBEcnVnLWRydWcgaW50ZXJhY3Rpb24sIGR1cGxpY2F0ZSB0aGVyYXB5LCBkb3NhZ2UgYWxlcnQgZXRjLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGNhbiBpbmNsdWRlIGEgZGV0ZWN0ZWQgaXNzdWUgdGhhdCBoYXMgYmVlbiBpZGVudGlmaWVkIGVpdGhlciBieSBhIGRlY2lzaW9uIHN1cHBvcnQgc3lzdGVtIG9yIGJ5IGEgY2xpbmljaWFuIGFuZCBtYXkgaW5jbHVkZSBpbmZvcm1hdGlvbiBvbiB0aGUgc3RlcHMgdGhhdCB3ZXJlIHRha2VuIHRvIGFkZHJlc3MgdGhlIGlzc3VlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZXZlbnRIaXN0b3J5IiBkZXNjcmlwdGlvbj0iQSBsaXN0IG9mIGV2ZW50cyBvZiBpbnRlcmVzdCBpbiB0aGUgbGlmZWN5Y2xlIiBkZWZpbml0aW9uPSJMaW5rcyB0byBQcm92ZW5hbmNlIHJlY29yZHMgZm9yIHBhc3QgdmVyc2lvbnMgb2YgdGhpcyByZXNvdXJjZSBvciBmdWxmaWxsaW5nIHJlcXVlc3Qgb3IgZXZlbnQgcmVzb3VyY2VzIHRoYXQgaWRlbnRpZnkga2V5IHN0YXRlIHRyYW5zaXRpb25zIG9yIHVwZGF0ZXMgdGhhdCBhcmUgbGlrZWx5IHRvIGJlIHJlbGV2YW50IHRvIGEgdXNlciBsb29raW5nIGF0IHRoZSBjdXJyZW50IHZlcnNpb24gb2YgdGhlIHJlc291cmNlLiIgY29tbWVudD0iVGhpcyBtaWdodCBub3QgaW5jbHVkZSBwcm92ZW5hbmNlcyBmb3IgYWxsIHZlcnNpb25zIG9mIHRoZSByZXF1ZXN0IOKAkyBvbmx5IHRob3NlIGRlZW1lZCDigJxyZWxldmFudOKAnSBvciBpbXBvcnRhbnQuIFRoaXMgU0hBTEwgTk9UIGluY2x1ZGUgdGhlIHByb3ZlbmFuY2UgYXNzb2NpYXRlZCB3aXRoIHRoaXMgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSByZXNvdXJjZS4gKElmIHRoYXQgcHJvdmVuYW5jZSBpcyBkZWVtZWQgdG8gYmUgYSDigJxyZWxldmFudOKAnSBjaGFuZ2UsIGl0IHdpbGwgbmVlZCB0byBiZSBhZGRlZCBhcyBwYXJ0IG9mIGEgbGF0ZXIgdXBkYXRlLiBVbnRpbCB0aGVuLCBpdCBjYW4gYmUgcXVlcmllZCBkaXJlY3RseSBhcyB0aGUgcHJvdmVuYW5jZSB0aGF0IHBvaW50cyB0byB0aGlzIHZlcnNpb24gdXNpbmcgX3JldmluY2x1ZGUgQWxsIFByb3ZlbmFuY2VzIHNob3VsZCBoYXZlIHNvbWUgaGlzdG9yaWNhbCB2ZXJzaW9uIG9mIHRoaXMgUmVxdWVzdCBhcyB0aGVpciBzdWJqZWN0LikuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJyZXF1ZXN0ZXIiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InN1YmplY3QiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iRW5jb3VudGVyIiByZWxhdGVkS2V5RWxlbWVudD0iZW5jb3VudGVyIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik1lZGljYXRpb25SZXF1ZXN0LkRpc3BlbnNlUmVxdWVzdCIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzcGVuc2VJbnRlcnZhbCIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJNaW5pbXVtIHBlcmlvZCBvZiB0aW1lIGJldHdlZW4gZGlzcGVuc2VzIiBkZWZpbml0aW9uPSJUaGUgbWluaW11bSBwZXJpb2Qgb2YgdGltZSB0aGF0IG11c3Qgb2NjdXIgYmV0d2VlbiBkaXNwZW5zZXMgb2YgdGhlIG1lZGljYXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ2YWxpZGl0eVBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaW1lIHBlcmlvZCBzdXBwbHkgaXMgYXV0aG9yaXplZCBmb3IiIGRlZmluaXRpb249IlRoaXMgaW5kaWNhdGVzIHRoZSB2YWxpZGl0eSBwZXJpb2Qgb2YgYSBwcmVzY3JpcHRpb24gKHN0YWxlIGRhdGluZyB0aGUgUHJlc2NyaXB0aW9uKS4iIGNvbW1lbnQ9Ikl0IHJlZmxlY3RzIHRoZSBwcmVzY3JpYmVycycgcGVyc3BlY3RpdmUgZm9yIHRoZSB2YWxpZGl0eSBvZiB0aGUgcHJlc2NyaXB0aW9uLiBEaXNwZW5zZXMgbXVzdCBub3QgYmUgbWFkZSBhZ2FpbnN0IHRoZSBwcmVzY3JpcHRpb24gb3V0c2lkZSBvZiB0aGlzIHBlcmlvZC4gVGhlIGxvd2VyLWJvdW5kIG9mIHRoZSBEaXNwZW5zaW5nIFdpbmRvdyBzaWduaWZpZXMgdGhlIGVhcmxpZXN0IGRhdGUgdGhhdCB0aGUgcHJlc2NyaXB0aW9uIGNhbiBiZSBmaWxsZWQgZm9yIHRoZSBmaXJzdCB0aW1lLiBJZiBhbiB1cHBlci1ib3VuZCBpcyBub3Qgc3BlY2lmaWVkIHRoZW4gdGhlIFByZXNjcmlwdGlvbiBpcyBvcGVuLWVuZGVkIG9yIHdpbGwgZGVmYXVsdCB0byBhIHN0YWxlLWRhdGUgYmFzZWQgb24gcmVndWxhdGlvbnMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJudW1iZXJPZlJlcGVhdHNBbGxvd2VkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTnVtYmVyIG9mIHJlZmlsbHMgYXV0aG9yaXplZCIgZGVmaW5pdGlvbj0iQW4gaW50ZWdlciBpbmRpY2F0aW5nIHRoZSBudW1iZXIgb2YgdGltZXMsIGluIGFkZGl0aW9uIHRvIHRoZSBvcmlnaW5hbCBkaXNwZW5zZSwgKGFrYSByZWZpbGxzIG9yIHJlcGVhdHMpIHRoYXQgdGhlIHBhdGllbnQgY2FuIHJlY2VpdmUgdGhlIHByZXNjcmliZWQgbWVkaWNhdGlvbi4gVXNhZ2UgTm90ZXM6IFRoaXMgaW50ZWdlciBkb2VzIG5vdCBpbmNsdWRlIHRoZSBvcmlnaW5hbCBvcmRlciBkaXNwZW5zZS4gVGhpcyBtZWFucyB0aGF0IGlmIGFuIG9yZGVyIGluZGljYXRlcyBkaXNwZW5zZSAzMCB0YWJsZXRzIHBsdXMgJnF1b3Q7MyByZXBlYXRzJnF1b3Q7LCB0aGVuIHRoZSBvcmRlciBjYW4gYmUgZGlzcGVuc2VkIGEgdG90YWwgb2YgNCB0aW1lcyBhbmQgdGhlIHBhdGllbnQgY2FuIHJlY2VpdmUgYSB0b3RhbCBvZiAxMjAgdGFibGV0cy4gIEEgcHJlc2NyaWJlciBtYXkgZXhwbGljaXRseSBzYXkgdGhhdCB6ZXJvIHJlZmlsbHMgYXJlIHBlcm1pdHRlZCBhZnRlciB0aGUgaW5pdGlhbCBkaXNwZW5zZS4iIGNvbW1lbnQ9IklmIGRpc3BsYXlpbmcgJnF1b3Q7bnVtYmVyIG9mIGF1dGhvcml6ZWQgZmlsbHMmcXVvdDssIGFkZCAxIHRvIHRoaXMgbnVtYmVyLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icXVhbnRpdHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQW1vdW50IG9mIG1lZGljYXRpb24gdG8gc3VwcGx5IHBlciBkaXNwZW5zZSIgZGVmaW5pdGlvbj0iVGhlIGFtb3VudCB0aGF0IGlzIHRvIGJlIGRpc3BlbnNlZCBmb3Igb25lIGZpbGwuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJleHBlY3RlZFN1cHBseUR1cmF0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik51bWJlciBvZiBkYXlzIHN1cHBseSBwZXIgZGlzcGVuc2UiIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIHBlcmlvZCB0aW1lIG92ZXIgd2hpY2ggdGhlIHN1cHBsaWVkIHByb2R1Y3QgaXMgZXhwZWN0ZWQgdG8gYmUgdXNlZCwgb3IgdGhlIGxlbmd0aCBvZiB0aW1lIHRoZSBkaXNwZW5zZSBpcyBleHBlY3RlZCB0byBsYXN0LiIgY29tbWVudD0iSW4gc29tZSBzaXR1YXRpb25zLCB0aGlzIGF0dHJpYnV0ZSBtYXkgYmUgdXNlZCBpbnN0ZWFkIG9mIHF1YW50aXR5IHRvIGlkZW50aWZ5IHRoZSBhbW91bnQgc3VwcGxpZWQgYnkgaG93IGxvbmcgaXQgaXMgZXhwZWN0ZWQgdG8gbGFzdCwgcmF0aGVyIHRoYW4gdGhlIHBoeXNpY2FsIHF1YW50aXR5IGlzc3VlZCwgZS5nLiA5MCBkYXlzIHN1cHBseSBvZiBtZWRpY2F0aW9uIChiYXNlZCBvbiBhbiBvcmRlcmVkIGRvc2FnZSkuIFdoZW4gcG9zc2libGUsIGl0IGlzIGFsd2F5cyBiZXR0ZXIgdG8gc3BlY2lmeSBxdWFudGl0eSwgYXMgdGhpcyB0ZW5kcyB0byBiZSBtb3JlIHByZWNpc2UuIGV4cGVjdGVkU3VwcGx5RHVyYXRpb24gd2lsbCBhbHdheXMgYmUgYW4gZXN0aW1hdGUgdGhhdCBjYW4gYmUgaW5mbHVlbmNlZCBieSBleHRlcm5hbCBmYWN0b3JzLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkludGVuZGVkIGRpc3BlbnNlciIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBpbnRlbmRlZCBkaXNwZW5zaW5nIE9yZ2FuaXphdGlvbiBzcGVjaWZpZWQgYnkgdGhlIHByZXNjcmliZXIuIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik1lZGljYXRpb25SZXF1ZXN0LkRpc3BlbnNlUmVxdWVzdC5Jbml0aWFsRmlsbCIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0icXVhbnRpdHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRmlyc3QgZmlsbCBxdWFudGl0eSIgZGVmaW5pdGlvbj0iVGhlIGFtb3VudCBvciBxdWFudGl0eSB0byBwcm92aWRlIGFzIHBhcnQgb2YgdGhlIGZpcnN0IGRpc3BlbnNlLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkdXJhdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJGaXJzdCBmaWxsIGR1cmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgbGVuZ3RoIG9mIHRpbWUgdGhhdCB0aGUgZmlyc3QgZGlzcGVuc2UgaXMgZXhwZWN0ZWQgdG8gbGFzdC4iLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3QuU3Vic3RpdHV0aW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJhbGxvd2VkIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoZXRoZXIgc3Vic3RpdHV0aW9uIGlzIGFsbG93ZWQgb3Igbm90IiBkZWZpbml0aW9uPSJUcnVlIGlmIHRoZSBwcmVzY3JpYmVyIGFsbG93cyBhIGRpZmZlcmVudCBkcnVnIHRvIGJlIGRpc3BlbnNlZCBmcm9tIHdoYXQgd2FzIHByZXNjcmliZWQuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2Ugd2hldGhlciBzdWJzdGl0dXRpb24gaXMgYWxsb3cgb3Igbm90LCBpdCBjYW5ub3QgYmUgaWdub3JlZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJCb29sZWFuIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3RTdWJzdGl0dXRpb24iIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVzIHRoZSB0eXBlIG9mIHN1YnN0aXR1dGlvbiBhbGxvd2VkLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoeSBzaG91bGQgKG5vdCkgc3Vic3RpdHV0aW9uIGJlIG1hZGUiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgcmVhc29uIGZvciB0aGUgc3Vic3RpdHV0aW9uLCBvciB3aHkgc3Vic3RpdHV0aW9uIG11c3Qgb3IgbXVzdCBub3QgYmUgcGVyZm9ybWVkLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1lZGljYXRpb25JbnRlbmRlZFN1YnN0aXR1dGlvblJlYXNvbiIgZGVzY3JpcHRpb249IkEgY29kZWQgY29uY2VwdCBkZXNjcmliaW5nIHRoZSByZWFzb24gdGhhdCBhIGRpZmZlcmVudCBtZWRpY2F0aW9uIHNob3VsZCAob3Igc2hvdWxkIG5vdCkgYmUgc3Vic3RpdHV0ZWQgZnJvbSB3aGF0IHdhcyBwcmVzY3JpYmVkLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZWRpY2F0aW9uUmVxdWVzdFByaW9yaXR5IiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZWRpY2F0aW9uU3RhdGVtZW50IiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1tZWRpY2F0aW9uc3RhdGVtZW50IiBsYWJlbD0iUUlDb3JlIE1lZGljYXRpb25TdGF0ZW1lbnQiIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9Im1lZGljYXRpb24iPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iRXh0ZXJuYWwgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcnMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgTWVkaWNhdGlvbiBTdGF0ZW1lbnQgdGhhdCBhcmUgZGVmaW5lZCBieSBidXNpbmVzcyBwcm9jZXNzZXMgYW5kL29yIHVzZWQgdG8gcmVmZXIgdG8gaXQgd2hlbiBhIGRpcmVjdCBVUkwgcmVmZXJlbmNlIHRvIHRoZSByZXNvdXJjZSBpdHNlbGYgaXMgbm90IGFwcHJvcHJpYXRlLiBUaGV5IGFyZSBidXNpbmVzcyBpZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIHJlc291cmNlIGJ5IHRoZSBwZXJmb3JtZXIgb3Igb3RoZXIgc3lzdGVtcyBhbmQgcmVtYWluIGNvbnN0YW50IGFzIHRoZSByZXNvdXJjZSBpcyB1cGRhdGVkIGFuZCBwcm9wYWdhdGVzIGZyb20gc2VydmVyIHRvIHNlcnZlci4iIGNvbW1lbnQ9IlRoaXMgaXMgYSBidXNpbmVzcyBpZGVudGlmaWVyLCBub3QgYSByZXNvdXJjZSBpZGVudGlmaWVyLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJGdWxmaWxzIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIiBkZWZpbml0aW9uPSJBIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBldmVudC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IlBhcnQgb2YgcmVmZXJlbmNlZCBldmVudCIgZGVmaW5pdGlvbj0iQSBsYXJnZXIgZXZlbnQgb2Ygd2hpY2ggdGhpcyBwYXJ0aWN1bGFyIGV2ZW50IGlzIGEgY29tcG9uZW50IG9yIHN0ZXAuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuTWVkaWNhdGlvblN0YXRlbWVudFN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJhY3RpdmUgfCBjb21wbGV0ZWQgfCBlbnRlcmVkLWluLWVycm9yIHwgaW50ZW5kZWQgfCBzdG9wcGVkIHwgb24taG9sZCB8IHVua25vd24gfCBub3QtdGFrZW4iIGRlZmluaXRpb249IkEgY29kZSByZXByZXNlbnRpbmcgdGhlIHBhdGllbnQgb3Igb3RoZXIgc291cmNlJ3MganVkZ21lbnQgYWJvdXQgdGhlIHN0YXRlIG9mIHRoZSBtZWRpY2F0aW9uIHVzZWQgdGhhdCB0aGlzIHN0YXRlbWVudCBpcyBhYm91dC4gIEdlbmVyYWxseSwgdGhpcyB3aWxsIGJlIGFjdGl2ZSBvciBjb21wbGV0ZWQuIiBjb21tZW50PSJNZWRpY2F0aW9uU3RhdGVtZW50IGlzIGEgc3RhdGVtZW50IGF0IGEgcG9pbnQgaW4gdGltZS4gIFRoZSBzdGF0dXMgaXMgb25seSByZXByZXNlbnRhdGl2ZSBhdCB0aGUgcG9pbnQgd2hlbiBpdCB3YXMgYXNzZXJ0ZWQuICBUaGUgdmFsdWUgc2V0IGZvciBNZWRpY2F0aW9uU3RhdGVtZW50LnN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IGFzc2VydCB0aGUgc3RhdHVzIG9mIHRoZSB1c2Ugb2YgdGhlIG1lZGljYXRpb24gYnkgdGhlIHBhdGllbnQgKGZvciBleGFtcGxlLCBzdG9wcGVkIG9yIG9uIGhvbGQpIGFzIHdlbGwgYXMgY29kZXMgdGhhdCBhc3NlcnQgdGhlIHN0YXR1cyBvZiB0aGUgbWVkaWNhdGlvbiBzdGF0ZW1lbnQgaXRzZWxmIChmb3IgZXhhbXBsZSwgZW50ZXJlZCBpbiBlcnJvcikuJiN4ZDsmI3hkO1RoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvblN0YXRlbWVudFN0YXR1cyIgZGVzY3JpcHRpb249IkEgY29kZWQgY29uY2VwdCBpbmRpY2F0aW5nIHRoZSBjdXJyZW50IHN0YXR1cyBvZiBhIE1lZGljYXRpb25TdGF0ZW1lbnQuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXNSZWFzb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZWFzb24gZm9yIGN1cnJlbnQgc3RhdHVzIiBkZWZpbml0aW9uPSJDYXB0dXJlcyB0aGUgcmVhc29uIGZvciB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgTWVkaWNhdGlvblN0YXRlbWVudC4iIGNvbW1lbnQ9IlRoaXMgaXMgZ2VuZXJhbGx5IG9ubHkgdXNlZCBmb3IgJnF1b3Q7ZXhjZXB0aW9uJnF1b3Q7IHN0YXR1c2VzIHN1Y2ggYXMgJnF1b3Q7bm90LXRha2VuJnF1b3Q7LCAmcXVvdDtvbi1ob2xkJnF1b3Q7LCAmcXVvdDtjYW5jZWxsZWQmcXVvdDsgb3IgJnF1b3Q7ZW50ZXJlZC1pbi1lcnJvciZxdW90Oy4gVGhlIHJlYXNvbiBmb3IgcGVyZm9ybWluZyB0aGUgZXZlbnQgYXQgYWxsIGlzIGNhcHR1cmVkIGluIHJlYXNvbkNvZGUsIG5vdCBoZXJlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uU3RhdGVtZW50U3RhdHVzUmVhc29uIiBkZXNjcmlwdGlvbj0iQSBjb2RlZCBjb25jZXB0IGluZGljYXRpbmcgdGhlIHJlYXNvbiBmb3IgdGhlIHN0YXR1cyBvZiB0aGUgc3RhdGVtZW50LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVHlwZSBvZiBtZWRpY2F0aW9uIHVzYWdlIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgd2hlcmUgdGhlIG1lZGljYXRpb24gaXMgZXhwZWN0ZWQgdG8gYmUgY29uc3VtZWQgb3IgYWRtaW5pc3RlcmVkLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1lZGljYXRpb25TdGF0ZW1lbnRDYXRlZ29yeSIgZGVzY3JpcHRpb249IkEgY29kZWQgY29uY2VwdCBpZGVudGlmeWluZyB3aGVyZSB0aGUgbWVkaWNhdGlvbiBpbmNsdWRlZCBpbiB0aGUgTWVkaWNhdGlvblN0YXRlbWVudCBpcyBleHBlY3RlZCB0byBiZSBjb25zdW1lZCBvciBhZG1pbmlzdGVyZWQuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibWVkaWNhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaGF0IG1lZGljYXRpb24gd2FzIHRha2VuIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHRoZSBtZWRpY2F0aW9uIGJlaW5nIGFkbWluaXN0ZXJlZC4gVGhpcyBpcyBlaXRoZXIgYSBsaW5rIHRvIGEgcmVzb3VyY2UgcmVwcmVzZW50aW5nIHRoZSBkZXRhaWxzIG9mIHRoZSBtZWRpY2F0aW9uIG9yIGEgc2ltcGxlIGF0dHJpYnV0ZSBjYXJyeWluZyBhIGNvZGUgdGhhdCBpZGVudGlmaWVzIHRoZSBtZWRpY2F0aW9uIGZyb20gYSBrbm93biBsaXN0IG9mIG1lZGljYXRpb25zLiIgY29tbWVudD0iSWYgb25seSBhIGNvZGUgaXMgc3BlY2lmaWVkLCB0aGVuIGl0IG5lZWRzIHRvIGJlIGEgY29kZSBmb3IgYSBzcGVjaWZpYyBwcm9kdWN0LiBJZiBtb3JlIGluZm9ybWF0aW9uIGlzIHJlcXVpcmVkLCB0aGVuIHRoZSB1c2Ugb2YgdGhlIG1lZGljYXRpb24gcmVzb3VyY2UgaXMgcmVjb21tZW5kZWQuICBGb3IgZXhhbXBsZSwgaWYgeW91IHJlcXVpcmUgZm9ybSBvciBsb3QgbnVtYmVyLCB0aGVuIHlvdSBtdXN0IHJlZmVyZW5jZSB0aGUgTWVkaWNhdGlvbiByZXNvdXJjZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlRoZSBzZXQgb2YgUnhOb3JtIGNvZGVzIHRvIHJlcHJlc2VudCBtZWRpY2F0aW9ucyIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIGlzL3dhcyB0YWtpbmcgIHRoZSBtZWRpY2F0aW9uIiBkZWZpbml0aW9uPSJUaGUgcGVyc29uLCBhbmltYWwgb3IgZ3JvdXAgd2hvIGlzL3dhcyB0YWtpbmcgdGhlIG1lZGljYXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJjb250ZXh0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkVuY291bnRlciAvIEVwaXNvZGUgYXNzb2NpYXRlZCB3aXRoIE1lZGljYXRpb25TdGF0ZW1lbnQiIGRlZmluaXRpb249IlRoZSBlbmNvdW50ZXIgb3IgZXBpc29kZSBvZiBjYXJlIHRoYXQgZXN0YWJsaXNoZXMgdGhlIGNvbnRleHQgZm9yIHRoaXMgTWVkaWNhdGlvblN0YXRlbWVudC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRoZSBkYXRlL3RpbWUgb3IgaW50ZXJ2YWwgd2hlbiB0aGUgbWVkaWNhdGlvbiBpcy93YXMvd2lsbCBiZSB0YWtlbiIgZGVmaW5pdGlvbj0iVGhlIGludGVydmFsIG9mIHRpbWUgZHVyaW5nIHdoaWNoIGl0IGlzIGJlaW5nIGFzc2VydGVkIHRoYXQgdGhlIHBhdGllbnQgaXMvd2FzL3dpbGwgYmUgdGFraW5nIHRoZSBtZWRpY2F0aW9uIChvciB3YXMgbm90IHRha2luZywgd2hlbiB0aGUgTWVkaWNhdGlvblN0YXRlbWVudC50YWtlbiBlbGVtZW50IGlzIE5vKS4iIGNvbW1lbnQ9IlRoaXMgYXR0cmlidXRlIHJlZmxlY3RzIHRoZSBwZXJpb2Qgb3ZlciB3aGljaCB0aGUgcGF0aWVudCBjb25zdW1lZCB0aGUgbWVkaWNhdGlvbiBhbmQgaXMgZXhwZWN0ZWQgdG8gYmUgcG9wdWxhdGVkIG9uIHRoZSBtYWpvcml0eSBvZiBNZWRpY2F0aW9uIFN0YXRlbWVudHMuIElmIHRoZSBtZWRpY2F0aW9uIGlzIHN0aWxsIGJlaW5nIHRha2VuIGF0IHRoZSB0aW1lIHRoZSBzdGF0ZW1lbnQgaXMgcmVjb3JkZWQsIHRoZSAmcXVvdDtlbmQmcXVvdDsgZGF0ZSB3aWxsIGJlIG9taXR0ZWQuICBUaGUgZGF0ZS90aW1lIGF0dHJpYnV0ZSBzdXBwb3J0cyBhIHZhcmlldHkgb2YgZGF0ZXMgLSB5ZWFyLCB5ZWFyL21vbnRoIGFuZCBleGFjdCBkYXRlLiAgSWYgc29tZXRoaW5nIG1vcmUgdGhhbiB0aGlzIGlzIHJlcXVpcmVkLCB0aGlzIHNob3VsZCBiZSBjb252ZXllZCBhcyB0ZXh0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkYXRlQXNzZXJ0ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hlbiB0aGUgc3RhdGVtZW50IHdhcyBhc3NlcnRlZD8iIGRlZmluaXRpb249IlRoZSBkYXRlIHdoZW4gdGhlIG1lZGljYXRpb24gc3RhdGVtZW50IHdhcyBhc3NlcnRlZCBieSB0aGUgaW5mb3JtYXRpb24gc291cmNlLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5mb3JtYXRpb25Tb3VyY2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iUGVyc29uIG9yIG9yZ2FuaXphdGlvbiB0aGF0IHByb3ZpZGVkIHRoZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdGFraW5nIG9mIHRoaXMgbWVkaWNhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHBlcnNvbiBvciBvcmdhbml6YXRpb24gdGhhdCBwcm92aWRlZCB0aGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHRha2luZyBvZiB0aGlzIG1lZGljYXRpb24uIE5vdGU6IFVzZSBkZXJpdmVkRnJvbSB3aGVuIGEgTWVkaWNhdGlvblN0YXRlbWVudCBpcyBkZXJpdmVkIGZyb20gb3RoZXIgcmVzb3VyY2VzLCBlLmcuIENsYWltIG9yIE1lZGljYXRpb25SZXF1ZXN0LiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJBZGRpdGlvbmFsIHN1cHBvcnRpbmcgaW5mb3JtYXRpb24iIGRlZmluaXRpb249IkFsbG93cyBsaW5raW5nIHRoZSBNZWRpY2F0aW9uU3RhdGVtZW50IHRvIHRoZSB1bmRlcmx5aW5nIE1lZGljYXRpb25SZXF1ZXN0LCBvciB0byBvdGhlciBpbmZvcm1hdGlvbiB0aGF0IHN1cHBvcnRzIG9yIGlzIHVzZWQgdG8gZGVyaXZlIHRoZSBNZWRpY2F0aW9uU3RhdGVtZW50LiIgY29tbWVudD0iTGlrZWx5IHJlZmVyZW5jZXMgd291bGQgYmUgdG8gTWVkaWNhdGlvblJlcXVlc3QsIE1lZGljYXRpb25EaXNwZW5zZSwgQ2xhaW0sIE9ic2VydmF0aW9uIG9yIFF1ZXN0aW9ubmFpcmVBbnN3ZXJzLiAgVGhlIG1vc3QgY29tbW9uIHVzZSBjYXNlcyBmb3IgZGVyaXZpbmcgYSBNZWRpY2F0aW9uU3RhdGVtZW50IGNvbWVzIGZyb20gY3JlYXRpbmcgYSBNZWRpY2F0aW9uU3RhdGVtZW50IGZyb20gYSBNZWRpY2F0aW9uUmVxdWVzdCBvciBmcm9tIGEgbGFiIG9ic2VydmF0aW9uIG9yIGEgY2xhaW0uICBpdCBzaG91bGQgYmUgbm90ZWQgdGhhdCB0aGUgYW1vdW50IG9mIGluZm9ybWF0aW9uIHRoYXQgaXMgYXZhaWxhYmxlIHZhcmllcyBmcm9tIHRoZSB0eXBlIHJlc291cmNlIHRoYXQgeW91IGRlcml2ZSB0aGUgTWVkaWNhdGlvblN0YXRlbWVudCBmcm9tLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvbkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZWFzb24gZm9yIHdoeSB0aGUgbWVkaWNhdGlvbiBpcyBiZWluZy93YXMgdGFrZW4iIGRlZmluaXRpb249IkEgcmVhc29uIGZvciB3aHkgdGhlIG1lZGljYXRpb24gaXMgYmVpbmcvd2FzIHRha2VuLiIgY29tbWVudD0iVGhpcyBjb3VsZCBiZSBhIGRpYWdub3NpcyBjb2RlLiBJZiBhIGZ1bGwgY29uZGl0aW9uIHJlY29yZCBleGlzdHMgb3IgYWRkaXRpb25hbCBkZXRhaWwgaXMgbmVlZGVkLCB1c2UgcmVhc29uRm9yVXNlUmVmZXJlbmNlLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1lZGljYXRpb25SZWFzb24iIGRlc2NyaXB0aW9uPSJBIGNvZGVkIGNvbmNlcHQgaWRlbnRpZnlpbmcgd2h5IHRoZSBtZWRpY2F0aW9uIGlzIGJlaW5nIHRha2VuLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJDb25kaXRpb24gb3Igb2JzZXJ2YXRpb24gdGhhdCBzdXBwb3J0cyB3aHkgdGhlIG1lZGljYXRpb24gaXMgYmVpbmcvd2FzIHRha2VuIiBkZWZpbml0aW9uPSJDb25kaXRpb24gb3Igb2JzZXJ2YXRpb24gdGhhdCBzdXBwb3J0cyB3aHkgdGhlIG1lZGljYXRpb24gaXMgYmVpbmcvd2FzIHRha2VuLiIgY29tbWVudD0iVGhpcyBpcyBhIHJlZmVyZW5jZSB0byBhIGNvbmRpdGlvbiB0aGF0IGlzIHRoZSByZWFzb24gd2h5IHRoZSBtZWRpY2F0aW9uIGlzIGJlaW5nL3dhcyB0YWtlbi4gIElmIG9ubHkgYSBjb2RlIGV4aXN0cywgdXNlIHJlYXNvbkZvclVzZUNvZGUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iRnVydGhlciBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc3RhdGVtZW50IiBkZWZpbml0aW9uPSJQcm92aWRlcyBleHRyYSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbWVkaWNhdGlvbiBzdGF0ZW1lbnQgdGhhdCBpcyBub3QgY29udmV5ZWQgYnkgdGhlIG90aGVyIGF0dHJpYnV0ZXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZG9zYWdlIiBkZXNjcmlwdGlvbj0iRGV0YWlscyBvZiBob3cgbWVkaWNhdGlvbiBpcy93YXMgdGFrZW4gb3Igc2hvdWxkIGJlIHRha2VuIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgaG93IHRoZSBtZWRpY2F0aW9uIGlzL3dhcyBvciBzaG91bGQgYmUgdGFrZW4gYnkgdGhlIHBhdGllbnQuIiBjb21tZW50PSJUaGUgZGF0ZXMgaW5jbHVkZWQgaW4gdGhlIGRvc2FnZSBvbiBhIE1lZGljYXRpb24gU3RhdGVtZW50IHJlZmxlY3QgdGhlIGRhdGVzIGZvciBhIGdpdmVuIGRvc2UuICBGb3IgZXhhbXBsZSwgJnF1b3Q7ZnJvbSBOb3ZlbWJlciAxLCAyMDE2IHRvIE5vdmVtYmVyIDMsIDIwMTYsIHRha2Ugb25lIHRhYmxldCBkYWlseSBhbmQgZnJvbSBOb3ZlbWJlciA0LCAyMDE2IHRvIE5vdmVtYmVyIDcsIDIwMTYsIHRha2UgdHdvIHRhYmxldHMgZGFpbHkuJnF1b3Q7ICBJdCBpcyBleHBlY3RlZCB0aGF0IHRoaXMgc3BlY2lmaWNpdHkgbWF5IG9ubHkgYmUgcG9wdWxhdGVkIHdoZXJlIHRoZSBwYXRpZW50IGJyaW5ncyBpbiB0aGVpciBsYWJlbGVkIGNvbnRhaW5lciBvciB3aGVyZSB0aGUgTWVkaWNhdGlvbiBTdGF0ZW1lbnQgaXMgZGVyaXZlZCBmcm9tIGEgTWVkaWNhdGlvblJlcXVlc3QuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Eb3NhZ2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9ImluZm9ybWF0aW9uU291cmNlIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJzdWJqZWN0Ii8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlJlbGF0ZWRQZXJzb24iIHJlbGF0ZWRLZXlFbGVtZW50PSJpbmZvcm1hdGlvblNvdXJjZSIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZWRpY2F0aW9uU3RhdGVtZW50U3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTWVkaWNhdGlvblN0YXR1cyIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZXRhIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vTWV0YSIgbGFiZWw9Ik1ldGEiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InZlcnNpb25JZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVmVyc2lvbiBzcGVjaWZpYyBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJUaGUgdmVyc2lvbiBzcGVjaWZpYyBpZGVudGlmaWVyLCBhcyBpdCBhcHBlYXJzIGluIHRoZSB2ZXJzaW9uIHBvcnRpb24gb2YgdGhlIFVSTC4gVGhpcyB2YWx1ZSBjaGFuZ2VzIHdoZW4gdGhlIHJlc291cmNlIGlzIGNyZWF0ZWQsIHVwZGF0ZWQsIG9yIGRlbGV0ZWQuIiBjb21tZW50PSJUaGUgc2VydmVyIGFzc2lnbnMgdGhpcyB2YWx1ZSwgYW5kIGlnbm9yZXMgd2hhdCB0aGUgY2xpZW50IHNwZWNpZmllcywgZXhjZXB0IGluIHRoZSBjYXNlIHRoYXQgdGhlIHNlcnZlciBpcyBpbXBvc2luZyB2ZXJzaW9uIGludGVncml0eSBvbiB1cGRhdGVzL2RlbGV0ZXMuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Imxhc3RVcGRhdGVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gdGhlIHJlc291cmNlIHZlcnNpb24gbGFzdCBjaGFuZ2VkIiBkZWZpbml0aW9uPSJXaGVuIHRoZSByZXNvdXJjZSBsYXN0IGNoYW5nZWQgLSBlLmcuIHdoZW4gdGhlIHZlcnNpb24gY2hhbmdlZC4iIGNvbW1lbnQ9IlRoaXMgdmFsdWUgaXMgYWx3YXlzIHBvcHVsYXRlZCBleGNlcHQgd2hlbiB0aGUgcmVzb3VyY2UgaXMgZmlyc3QgYmVpbmcgY3JlYXRlZC4gVGhlIHNlcnZlciAvIHJlc291cmNlIG1hbmFnZXIgc2V0cyB0aGlzIHZhbHVlOyB3aGF0IGEgY2xpZW50IHByb3ZpZGVzIGlzIGlycmVsZXZhbnQuIFRoaXMgaXMgZXF1aXZhbGVudCB0byB0aGUgSFRUUCBMYXN0LU1vZGlmaWVkIGFuZCBTSE9VTEQgaGF2ZSB0aGUgc2FtZSB2YWx1ZSBvbiBhIFtyZWFkXShodHRwLmh0bWwjcmVhZCkgaW50ZXJhY3Rpb24uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InNvdXJjZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSWRlbnRpZmllcyB3aGVyZSB0aGUgcmVzb3VyY2UgY29tZXMgZnJvbSIgZGVmaW5pdGlvbj0iQSB1cmkgdGhhdCBpZGVudGlmaWVzIHRoZSBzb3VyY2Ugc3lzdGVtIG9mIHRoZSByZXNvdXJjZS4gVGhpcyBwcm92aWRlcyBhIG1pbmltYWwgYW1vdW50IG9mIFtQcm92ZW5hbmNlXShwcm92ZW5hbmNlLmh0bWwjKSBpbmZvcm1hdGlvbiB0aGF0IGNhbiBiZSB1c2VkIHRvIHRyYWNrIG9yIGRpZmZlcmVudGlhdGUgdGhlIHNvdXJjZSBvZiBpbmZvcm1hdGlvbiBpbiB0aGUgcmVzb3VyY2UuIFRoZSBzb3VyY2UgbWF5IGlkZW50aWZ5IGFub3RoZXIgRkhJUiBzZXJ2ZXIsIGRvY3VtZW50LCBtZXNzYWdlLCBkYXRhYmFzZSwgZXRjLiIgY29tbWVudD0iSW4gdGhlIHByb3ZlbmFuY2UgcmVzb3VyY2UsIHRoaXMgY29ycmVzcG9uZHMgdG8gUHJvdmVuYW5jZS5lbnRpdHkud2hhdFt4XS4gVGhlIGV4YWN0IHVzZSBvZiB0aGUgc291cmNlIChhbmQgdGhlIGltcGxpZWQgUHJvdmVuYW5jZS5lbnRpdHkucm9sZSkgaXMgbGVmdCB0byBpbXBsZW1lbnRlciBkaXNjcmV0aW9uLiBPbmx5IG9uZSBub21pbmF0ZWQgc291cmNlIGlzIGFsbG93ZWQ7IGZvciBhZGRpdGlvbmFsIHByb3ZlbmFuY2UgZGV0YWlscywgYSBmdWxsIFByb3ZlbmFuY2UgcmVzb3VyY2Ugc2hvdWxkIGJlIHVzZWQuICYjeGE7JiN4YTtUaGlzIGVsZW1lbnQgY2FuIGJlIHVzZWQgdG8gaW5kaWNhdGUgd2hlcmUgdGhlIGN1cnJlbnQgbWFzdGVyIHNvdXJjZSBvZiBhIHJlc291cmNlIHRoYXQgaGFzIGEgY2Fub25pY2FsIFVSTCBpZiB0aGUgcmVzb3VyY2UgaXMgbm8gbG9uZ2VyIGhvc3RlZCBhdCB0aGUgY2Fub25pY2FsIFVSTC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icHJvZmlsZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQcm9maWxlcyB0aGlzIHJlc291cmNlIGNsYWltcyB0byBjb25mb3JtIHRvIiBkZWZpbml0aW9uPSJBIGxpc3Qgb2YgcHJvZmlsZXMgKHJlZmVyZW5jZXMgdG8gW1N0cnVjdHVyZURlZmluaXRpb25dKHN0cnVjdHVyZWRlZmluaXRpb24uaHRtbCMpIHJlc291cmNlcykgdGhhdCB0aGlzIHJlc291cmNlIGNsYWltcyB0byBjb25mb3JtIHRvLiBUaGUgVVJMIGlzIGEgcmVmZXJlbmNlIHRvIFtTdHJ1Y3R1cmVEZWZpbml0aW9uLnVybF0oc3RydWN0dXJlZGVmaW5pdGlvbi1kZWZpbml0aW9ucy5odG1sI1N0cnVjdHVyZURlZmluaXRpb24udXJsKS4iIGNvbW1lbnQ9Ikl0IGlzIHVwIHRvIHRoZSBzZXJ2ZXIgYW5kL29yIG90aGVyIGluZnJhc3RydWN0dXJlIG9mIHBvbGljeSB0byBkZXRlcm1pbmUgd2hldGhlci9ob3cgdGhlc2UgY2xhaW1zIGFyZSB2ZXJpZmllZCBhbmQvb3IgdXBkYXRlZCBvdmVyIHRpbWUuICBUaGUgbGlzdCBvZiBwcm9maWxlIFVSTHMgaXMgYSBzZXQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzZWN1cml0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvZGUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlNlY3VyaXR5IExhYmVscyBhcHBsaWVkIHRvIHRoaXMgcmVzb3VyY2UiIGRlZmluaXRpb249IlNlY3VyaXR5IGxhYmVscyBhcHBsaWVkIHRvIHRoaXMgcmVzb3VyY2UuIFRoZXNlIHRhZ3MgY29ubmVjdCBzcGVjaWZpYyByZXNvdXJjZXMgdG8gdGhlIG92ZXJhbGwgc2VjdXJpdHkgcG9saWN5IGFuZCBpbmZyYXN0cnVjdHVyZS4iIGNvbW1lbnQ9IlRoZSBzZWN1cml0eSBsYWJlbHMgY2FuIGJlIHVwZGF0ZWQgd2l0aG91dCBjaGFuZ2luZyB0aGUgc3RhdGVkIHZlcnNpb24gb2YgdGhlIHJlc291cmNlLiBUaGUgbGlzdCBvZiBzZWN1cml0eSBsYWJlbHMgaXMgYSBzZXQuIFVuaXF1ZW5lc3MgaXMgYmFzZWQgdGhlIHN5c3RlbS9jb2RlLCBhbmQgdmVyc2lvbiBhbmQgZGlzcGxheSBhcmUgaWdub3JlZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db2RlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU2VjdXJpdHlMYWJlbHMiIGRlc2NyaXB0aW9uPSJTZWN1cml0eSBMYWJlbHMgZnJvbSB0aGUgSGVhbHRoY2FyZSBQcml2YWN5IGFuZCBTZWN1cml0eSBDbGFzc2lmaWNhdGlvbiBTeXN0ZW0uIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InRhZyIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvZGUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRhZ3MgYXBwbGllZCB0byB0aGlzIHJlc291cmNlIiBkZWZpbml0aW9uPSJUYWdzIGFwcGxpZWQgdG8gdGhpcyByZXNvdXJjZS4gVGFncyBhcmUgaW50ZW5kZWQgdG8gYmUgdXNlZCB0byBpZGVudGlmeSBhbmQgcmVsYXRlIHJlc291cmNlcyB0byBwcm9jZXNzIGFuZCB3b3JrZmxvdywgYW5kIGFwcGxpY2F0aW9ucyBhcmUgbm90IHJlcXVpcmVkIHRvIGNvbnNpZGVyIHRoZSB0YWdzIHdoZW4gaW50ZXJwcmV0aW5nIHRoZSBtZWFuaW5nIG9mIGEgcmVzb3VyY2UuIiBjb21tZW50PSJUaGUgdGFncyBjYW4gYmUgdXBkYXRlZCB3aXRob3V0IGNoYW5naW5nIHRoZSBzdGF0ZWQgdmVyc2lvbiBvZiB0aGUgcmVzb3VyY2UuIFRoZSBsaXN0IG9mIHRhZ3MgaXMgYSBzZXQuIFVuaXF1ZW5lc3MgaXMgYmFzZWQgdGhlIHN5c3RlbS9jb2RlLCBhbmQgdmVyc2lvbiBhbmQgZGlzcGxheSBhcmUgaWdub3JlZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db2RlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iVGFncyIgZGVzY3JpcHRpb249IkNvZGVzIHRoYXQgcmVwcmVzZW50IHZhcmlvdXMgdHlwZXMgb2YgdGFncywgY29tbW9ubHkgd29ya2Zsb3ctcmVsYXRlZDsgZS5nLiAmcXVvdDtOZWVkcyByZXZpZXcgYnkgRHIuIEpvbmVzJnF1b3Q7LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNaW1lVHlwZSIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik5hbWVVc2UiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5FbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTmFycmF0aXZlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vTmFycmF0aXZlIiBsYWJlbD0iTmFycmF0aXZlIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuTmFycmF0aXZlU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImdlbmVyYXRlZCB8IGV4dGVuc2lvbnMgfCBhZGRpdGlvbmFsIHwgZW1wdHkiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIG5hcnJhdGl2ZSAtIHdoZXRoZXIgaXQncyBlbnRpcmVseSBnZW5lcmF0ZWQgKGZyb20ganVzdCB0aGUgZGVmaW5lZCBkYXRhIG9yIHRoZSBleHRlbnNpb25zIHRvbyksIG9yIHdoZXRoZXIgYSBodW1hbiBhdXRob3JlZCBpdCBhbmQgaXQgbWF5IGNvbnRhaW4gYWRkaXRpb25hbCBkYXRhLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik5hcnJhdGl2ZVN0YXR1cyIgZGVzY3JpcHRpb249IlRoZSBzdGF0dXMgb2YgYSByZXNvdXJjZSBuYXJyYXRpdmUuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkaXYiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkxpbWl0ZWQgeGh0bWwgY29udGVudCIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBuYXJyYXRpdmUgY29udGVudCwgYSBzdHJpcHBlZCBkb3duIHZlcnNpb24gb2YgWEhUTUwuIiBjb21tZW50PSJUaGUgY29udGVudHMgb2YgdGhlIGh0bWwgZWxlbWVudCBhcmUgYW4gWEhUTUwgZnJhZ21lbnQgY29udGFpbmluZyBvbmx5IHRoZSBiYXNpYyBodG1sIGZvcm1hdHRpbmcgZWxlbWVudHMgZGVzY3JpYmVkIGluIGNoYXB0ZXJzIDctMTEgYW5kIDE1IG9mIHRoZSBIVE1MIDQuMCBzdGFuZGFyZCwgJmx0O2E+IGVsZW1lbnRzIChlaXRoZXIgbmFtZSBvciBocmVmKSwgaW1hZ2VzIGFuZCBpbnRlcm5hbGx5IGNvbnRhaW5lZCBzdHlsZXNoZWV0cy4gVGhlIFhIVE1MIGNvbnRlbnQgU0hBTEwgTk9UIGNvbnRhaW4gYSBoZWFkLCBhIGJvZHksIGV4dGVybmFsIHN0eWxlc2hlZXQgcmVmZXJlbmNlcywgc2NyaXB0cywgZm9ybXMsIGJhc2UvbGluay94bGluaywgZnJhbWVzLCBpZnJhbWVzIGFuZCBvYmplY3RzLiI+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InR4dC0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IlRoZSBuYXJyYXRpdmUgU0hBTEwgY29udGFpbiBvbmx5IHRoZSBiYXNpYyBodG1sIGZvcm1hdHRpbmcgZWxlbWVudHMgYW5kIGF0dHJpYnV0ZXMgZGVzY3JpYmVkIGluIGNoYXB0ZXJzIDctMTEgKGV4Y2VwdCBzZWN0aW9uIDQgb2YgY2hhcHRlciA5KSBhbmQgMTUgb2YgdGhlIEhUTUwgNC4wIHN0YW5kYXJkLCAmbHQ7YT4gZWxlbWVudHMgKGVpdGhlciBuYW1lIG9yIGhyZWYpLCBpbWFnZXMgYW5kIGludGVybmFsbHkgY29udGFpbmVkIHN0eWxlIGF0dHJpYnV0ZXMiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iaHRtbENoZWNrcygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idHh0LTIiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iVGhlIG5hcnJhdGl2ZSBTSEFMTCBoYXZlIHNvbWUgbm9uLXdoaXRlc3BhY2UgY29udGVudCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJodG1sQ2hlY2tzKCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik5hcnJhdGl2ZVN0YXR1cyIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLkNvbmNlcHQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJOb3REb25lUmVhc29uIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1ub3REb25lUmVhc29uIiBsYWJlbD0iUUlDb3JlIE5vdCBEb25lIFJlYXNvbiIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLkRhdGVUaW1lIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTm90RG9uZVJlY29yZGVkIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1yZWNvcmRlZCIgbGFiZWw9IlFJQ29yZSBOb3QgRG9uZSBSZWNvcmRlZCIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik5vdERvbmVWYWx1ZVNldCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtbm90RG9uZVZhbHVlU2V0IiBsYWJlbD0iUUlDb3JlIE5vdCBEb25lIFZhbHVlU2V0IiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTm90ZVR5cGUiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik9ic2VydmF0aW9uIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1vYnNlcnZhdGlvbiIgbGFiZWw9IlFJQ29yZSBPYnNlcnZhdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY29kZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlQb3NpdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5ib2R5UG9zaXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCVwYXJlbnQuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL29ic2VydmF0aW9uLWJvZHlQb3NpdGlvbiddLnZhbHVlKSIgZGVzY3JpcHRpb249IlRoZSBib2R5IHBvc2l0aW9uIGR1cmluZyB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSBwb3NpdGlvbiBvZiB0aGUgYm9keSB3aGVuIHRoZSBvYnNlcnZhdGlvbiB3YXMgZG9uZSwgZS5nLiBzdGFuZGluZywgc2l0dGluZy4gVG8gYmUgdXNlZCBvbmx5IHdoZW4gdGhlIGJvZHkgcG9zaXRpb24gaW4gbm90IHByZWNvb3JkaW5hdGVkIGluIHRoZSBvYnNlcnZhdGlvbiBjb2RlLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBJZGVudGlmaWVyIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIG9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJGdWxmaWxscyBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciIgZGVmaW5pdGlvbj0iQSBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciB0aGF0IGlzIGZ1bGZpbGxlZCBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgZXZlbnQuICBGb3IgZXhhbXBsZSwgYSBNZWRpY2F0aW9uUmVxdWVzdCBtYXkgcmVxdWlyZSBhIHBhdGllbnQgdG8gaGF2ZSBsYWJvcmF0b3J5IHRlc3QgcGVyZm9ybWVkIGJlZm9yZSAgaXQgaXMgZGlzcGVuc2VkLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBPYnNlcnZhdGlvbiBpcyBhIGNvbXBvbmVudCBvciBzdGVwLiAgRm9yIGV4YW1wbGUsICBhbiBvYnNlcnZhdGlvbiBhcyBwYXJ0IG9mIGEgcHJvY2VkdXJlLiIgY29tbWVudD0iVG8gbGluayBhbiBPYnNlcnZhdGlvbiB0byBhbiBFbmNvdW50ZXIgdXNlIGBlbmNvdW50ZXJgLiAgU2VlIHRoZSAgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93IGZvciBndWlkYW5jZSBvbiByZWZlcmVuY2luZyBhbm90aGVyIE9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InJlZ2lzdGVyZWTigIsgfCBwcmVsaW1pbmFyeeKAiyB8IGZpbmFs4oCLIHwgYW1lbmRlZOKAiyB8IGNvcnJlY3RlZOKAiyB8IGVudGVyZWQtaW4tZXJyb3LigIsgfCB1bmtub3du4oCLIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSByZXN1bHQgdmFsdWUuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uU3RhdHVzIiBkZXNjcmlwdGlvbj0iQ29kZXMgcHJvdmlkaW5nIHRoZSBzdGF0dXMgb2YgYW4gb2JzZXJ2YXRpb24uIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUeXBlIG9mIG9ic2VydmF0aW9uIChjb2RlIC8gdHlwZSkiIGRlZmluaXRpb249IkRlc2NyaWJlcyB3aGF0IHdhcyBvYnNlcnZlZC4gU29tZXRpbWVzIHRoaXMgaXMgY2FsbGVkIHRoZSBvYnNlcnZhdGlvbiAmcXVvdDtuYW1lJnF1b3Q7LiIgY29tbWVudD0iKkFsbCogY29kZS12YWx1ZSBhbmQsIGlmIHByZXNlbnQsIGNvbXBvbmVudC5jb2RlLWNvbXBvbmVudC52YWx1ZSBwYWlycyBuZWVkIHRvIGJlIHRha2VuIGludG8gYWNjb3VudCB0byBjb3JyZWN0bHkgdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGlzIHZhbHVlIHNldCBzcGVjaWZpZXMgdGhlIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jdXMiIGRlc2NyaXB0aW9uPSJXaGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCwgd2hlbiBpdCBpcyBub3QgYWJvdXQgdGhlIHN1YmplY3Qgb2YgcmVjb3JkIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIHdoZW4gaXQgaXMgbm90IHRoZSBwYXRpZW50IG9mIHJlY29yZCByZXByZXNlbnRpbmcgc29tZXRoaW5nIG9yIHNvbWVvbmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYXRpZW50IHN1Y2ggYXMgYSBzcG91c2UsIHBhcmVudCwgZmV0dXMsIG9yIGRvbm9yLiBGb3IgZXhhbXBsZSwgZmV0dXMgb2JzZXJ2YXRpb25zIGluIGEgbW90aGVyJ3MgcmVjb3JkLiAgVGhlIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIGNvdWxkIGFsc28gYmUgYW4gZXhpc3RpbmcgY29uZGl0aW9uLCAgYW4gaW50ZXJ2ZW50aW9uLCB0aGUgc3ViamVjdCdzIGRpZXQsICBhbm90aGVyIG9ic2VydmF0aW9uIG9mIHRoZSBzdWJqZWN0LCAgb3IgYSBib2R5IHN0cnVjdHVyZSBzdWNoIGFzIHR1bW9yIG9yIGltcGxhbnRlZCBkZXZpY2UuICAgQW4gZXhhbXBsZSB1c2UgY2FzZSB3b3VsZCBiZSB1c2luZyB0aGUgT2JzZXJ2YXRpb24gcmVzb3VyY2UgdG8gY2FwdHVyZSB3aGV0aGVyIHRoZSBtb3RoZXIgaXMgdHJhaW5lZCB0byBjaGFuZ2UgaGVyIGNoaWxkJ3MgdHJhY2hlb3N0b215IHR1YmUuIEluIHRoaXMgZXhhbXBsZSwgdGhlIGNoaWxkIGlzIHRoZSBwYXRpZW50IG9mIHJlY29yZCBhbmQgdGhlIG1vdGhlciBpcyB0aGUgZm9jdXMuIiBjb21tZW50PSJUeXBpY2FsbHksIGFuIG9ic2VydmF0aW9uIGlzIG1hZGUgYWJvdXQgdGhlIHN1YmplY3QgLSBhIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIC0gYW5kIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRoZSBzdWJqZWN0IGFuZCB3aGF0IGlzIGRpcmVjdGx5IG1lYXN1cmVkIGZvciBhbiBvYnNlcnZhdGlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIG9ic2VydmF0aW9uIGNvZGUgaXRzZWxmICggZS5nLiwgJnF1b3Q7Qmxvb2QgR2x1Y29zZSZxdW90OykgYW5kIGRvZXMgbm90IG5lZWQgdG8gYmUgcmVwcmVzZW50ZWQgc2VwYXJhdGVseSB1c2luZyB0aGlzIGVsZW1lbnQuICBVc2UgYHNwZWNpbWVuYCBpZiBhIHJlZmVyZW5jZSB0byBhIHNwZWNpbWVuIGlzIHJlcXVpcmVkLiAgSWYgYSBjb2RlIGlzIHJlcXVpcmVkIGluc3RlYWQgb2YgYSByZXNvdXJjZSB1c2UgZWl0aGVyICBgYm9keXNpdGVgIGZvciBib2R5c2l0ZXMgb3IgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbZm9jdXNDb2RlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1vYnNlcnZhdGlvbi1mb2N1c2NvZGUuaHRtbCkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xpbmljYWxseSByZWxldmFudCB0aW1lL3RpbWUtcGVyaW9kIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHRpbWUgb3IgdGltZS1wZXJpb2QgdGhlIG9ic2VydmVkIHZhbHVlIGlzIGFzc2VydGVkIGFzIGJlaW5nIHRydWUuIEZvciBiaW9sb2dpY2FsIHN1YmplY3RzIC0gZS5nLiBodW1hbiBwYXRpZW50cyAtIHRoaXMgaXMgdXN1YWxseSBjYWxsZWQgdGhlICZxdW90O3BoeXNpb2xvZ2ljYWxseSByZWxldmFudCB0aW1lJnF1b3Q7LiBUaGlzIGlzIHVzdWFsbHkgZWl0aGVyIHRoZSB0aW1lIG9mIHRoZSBwcm9jZWR1cmUgb3Igb2Ygc3BlY2ltZW4gY29sbGVjdGlvbiwgYnV0IHZlcnkgb2Z0ZW4gdGhlIHNvdXJjZSBvZiB0aGUgZGF0ZS90aW1lIGlzIG5vdCBrbm93biwgb25seSB0aGUgZGF0ZS90aW1lIGl0c2VsZi4iIGNvbW1lbnQ9IkF0IGxlYXN0IGEgZGF0ZSBzaG91bGQgYmUgcHJlc2VudCB1bmxlc3MgdGhpcyBvYnNlcnZhdGlvbiBpcyBhIGhpc3RvcmljYWwgcmVwb3J0LiAgRm9yIHJlY29yZGluZyBpbXByZWNpc2Ugb3IgJnF1b3Q7ZnV6enkmcXVvdDsgdGltZXMgKEZvciBleGFtcGxlLCBhIGJsb29kIGdsdWNvc2UgbWVhc3VyZW1lbnQgdGFrZW4gJnF1b3Q7YWZ0ZXIgYnJlYWtmYXN0JnF1b3Q7KSB1c2UgdGhlIFtUaW1pbmddKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZGF0YXR5cGVzLmh0bWwjdGltaW5nKSBkYXRhdHlwZSB3aGljaCBhbGxvdyB0aGUgbWVhc3VyZW1lbnQgdG8gYmUgdGllZCB0byByZWd1bGFyIGxpZmUgZXZlbnRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGltaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaXNzdWVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUvVGltZSB0aGlzIHZlcnNpb24gd2FzIG1hZGUgYXZhaWxhYmxlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGlzIHZlcnNpb24gb2YgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIGF2YWlsYWJsZSB0byBwcm92aWRlcnMsIHR5cGljYWxseSBhZnRlciB0aGUgcmVzdWx0cyBoYXZlIGJlZW4gcmV2aWV3ZWQgYW5kIHZlcmlmaWVkLiIgY29tbWVudD0iRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvbuKAmXQgcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiwgaXQgbWF5IGJlIHRoZSBzYW1lIGFzIHRoZSBbYGxhc3RVcGRhdGVkYCBdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcmVzb3VyY2UtZGVmaW5pdGlvbnMuaHRtbCNNZXRhLmxhc3RVcGRhdGVkKSB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYuICBGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG8gcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiBmb3IgY2VydGFpbiB1cGRhdGVzLCBpdCBtaWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGBsYXN0VXBkYXRlZGAgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmIGR1ZSB0byBhIG5vbi1jbGluaWNhbGx5IHNpZ25pZmljYW50IHVwZGF0ZSB0aGF0IGRvZXNu4oCZdCByZXF1aXJlIHRoZSBuZXcgdmVyc2lvbiB0byBiZSByZXZpZXdlZCBhbmQgdmVyaWZpZWQgYWdhaW4uIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJXaG8gaXMgcmVzcG9uc2libGUgZm9yIHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iV2hvIHdhcyByZXNwb25zaWJsZSBmb3IgYXNzZXJ0aW5nIHRoZSBvYnNlcnZlZCB2YWx1ZSBhcyAmcXVvdDt0cnVlJnF1b3Q7LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFjdHVhbCByZXN1bHQiIGRlZmluaXRpb249IlRoZSBpbmZvcm1hdGlvbiBkZXRlcm1pbmVkIGFzIGEgcmVzdWx0IG9mIG1ha2luZyB0aGUgb2JzZXJ2YXRpb24sIGlmIHRoZSBpbmZvcm1hdGlvbiBoYXMgYSBzaW1wbGUgdmFsdWUuIiBjb21tZW50PSJBbiBvYnNlcnZhdGlvbiBtYXkgaGF2ZTsgMSkgIGEgc2luZ2xlIHZhbHVlIGhlcmUsIDIpICBib3RoIGEgdmFsdWUgYW5kIGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcywgIG9yIDMpICBvbmx5IGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcy4gSWYgYSB2YWx1ZSBpcyBwcmVzZW50LCB0aGUgZGF0YXR5cGUgZm9yIHRoaXMgZWxlbWVudCBzaG91bGQgYmUgZGV0ZXJtaW5lZCBieSBPYnNlcnZhdGlvbi5jb2RlLiAgQSBDb2RlYWJsZUNvbmNlcHQgd2l0aCBqdXN0IGEgdGV4dCB3b3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgYSBzdHJpbmcgaWYgdGhlIGZpZWxkIHdhcyB1c3VhbGx5IGNvZGVkLCBvciBpZiB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhlIE9ic2VydmF0aW9uLmNvZGUgZGVmaW5lcyBhIGNvZGVkIHZhbHVlLiAgRm9yIGFkZGl0aW9uYWwgZ3VpZGFuY2UsIHNlZSB0aGUgW05vdGVzIHNlY3Rpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkJvb2xlYW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUmF0aW8iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU2FtcGxlZERhdGEiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlNOT01FRCBDVCBmb3IgY29kZWQgcmVzdWx0cyIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGFBYnNlbnRSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoeSB0aGUgcmVzdWx0IGlzIG1pc3NpbmciIGRlZmluaXRpb249IlByb3ZpZGVzIGEgcmVhc29uIHdoeSB0aGUgZXhwZWN0ZWQgdmFsdWUgaW4gdGhlIGVsZW1lbnQgT2JzZXJ2YXRpb24udmFsdWVbeF0gaXMgbWlzc2luZy4iIGNvbW1lbnQ9Ik51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzIGNhbiBiZSByZXByZXNlbnRlZCB0d28gd2F5cyBpbiBGSElSIE9ic2VydmF0aW9ucy4gIE9uZSB3YXkgaXMgdG8gc2ltcGx5IGluY2x1ZGUgdGhlbSBpbiB0aGUgdmFsdWUgc2V0IGFuZCByZXByZXNlbnQgdGhlIGV4Y2VwdGlvbnMgaW4gdGhlIHZhbHVlLiAgRm9yIGV4YW1wbGUsIG1lYXN1cmVtZW50IHZhbHVlcyBmb3IgYSBzZXJvbG9neSB0ZXN0IGNvdWxkIGJlICAmcXVvdDtkZXRlY3RlZCZxdW90OywgJnF1b3Q7bm90IGRldGVjdGVkJnF1b3Q7LCAmcXVvdDtpbmNvbmNsdXNpdmUmcXVvdDssIG9yICAmcXVvdDtzcGVjaW1lbiB1bnNhdGlzZmFjdG9yeSZxdW90Oy4gICAmI3hhOyYjeGE7VGhlIGFsdGVybmF0ZSB3YXkgaXMgdG8gdXNlIHRoZSB2YWx1ZSBlbGVtZW50IGZvciBhY3R1YWwgb2JzZXJ2YXRpb25zIGFuZCB1c2UgdGhlIGV4cGxpY2l0IGRhdGFBYnNlbnRSZWFzb24gZWxlbWVudCB0byByZWNvcmQgZXhjZXB0aW9uYWwgdmFsdWVzLiAgRm9yIGV4YW1wbGUsIHRoZSBkYXRhQWJzZW50UmVhc29uIGNvZGUgJnF1b3Q7ZXJyb3ImcXVvdDsgY291bGQgYmUgdXNlZCB3aGVuIHRoZSBtZWFzdXJlbWVudCB3YXMgbm90IGNvbXBsZXRlZC4gTm90ZSB0aGF0IGFuIG9ic2VydmF0aW9uIG1heSBvbmx5IGJlIHJlcG9ydGVkIGlmIHRoZXJlIGFyZSB2YWx1ZXMgdG8gcmVwb3J0LiBGb3IgZXhhbXBsZSBkaWZmZXJlbnRpYWwgY2VsbCBjb3VudHMgdmFsdWVzIG1heSBiZSByZXBvcnRlZCBvbmx5IHdoZW4gPiAwLiAgQmVjYXVzZSBvZiB0aGVzZSBvcHRpb25zLCB1c2UtY2FzZSBhZ3JlZW1lbnRzIGFyZSByZXF1aXJlZCB0byBpbnRlcnByZXQgZ2VuZXJhbCBvYnNlcnZhdGlvbnMgZm9yIG51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25WYWx1ZUFic2VudFJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIHNwZWNpZnlpbmcgd2h5IHRoZSByZXN1bHQgKGBPYnNlcnZhdGlvbi52YWx1ZVt4XWApIGlzIG1pc3NpbmcuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImludGVycHJldGF0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGlnaCwgbG93LCBub3JtYWwsIGV0Yy4iIGRlZmluaXRpb249IkEgY2F0ZWdvcmljYWwgYXNzZXNzbWVudCBvZiBhbiBvYnNlcnZhdGlvbiB2YWx1ZS4gIEZvciBleGFtcGxlLCBoaWdoLCBsb3csIG5vcm1hbC4iIGNvbW1lbnQ9Ikhpc3RvcmljYWxseSB1c2VkIGZvciBsYWJvcmF0b3J5IHJlc3VsdHMgKGtub3duIGFzICdhYm5vcm1hbCBmbGFnJyApLCAgaXRzIHVzZSBleHRlbmRzIHRvIG90aGVyIHVzZSBjYXNlcyB3aGVyZSBjb2RlZCBpbnRlcnByZXRhdGlvbnMgIGFyZSByZWxldmFudC4gIE9mdGVuIHJlcG9ydGVkIGFzIG9uZSBvciBtb3JlIHNpbXBsZSBjb21wYWN0IGNvZGVzIHRoaXMgZWxlbWVudCBpcyBvZnRlbiBwbGFjZWQgYWRqYWNlbnQgdG8gdGhlIHJlc3VsdCB2YWx1ZSBpbiByZXBvcnRzIGFuZCBmbG93IHNoZWV0cyB0byBzaWduYWwgdGhlIG1lYW5pbmcvbm9ybWFsY3kgc3RhdHVzIG9mIHRoZSByZXN1bHQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkludGVycHJldGF0aW9uIiBkZXNjcmlwdGlvbj0iQ29kZXMgaWRlbnRpZnlpbmcgaW50ZXJwcmV0YXRpb25zIG9mIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIG9yIHRoZSByZXN1bHRzLiIgY29tbWVudD0iTWF5IGluY2x1ZGUgZ2VuZXJhbCBzdGF0ZW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiwgb3Igc3RhdGVtZW50cyBhYm91dCBzaWduaWZpY2FudCwgdW5leHBlY3RlZCBvciB1bnJlbGlhYmxlIHJlc3VsdHMgdmFsdWVzLCBvciBpbmZvcm1hdGlvbiBhYm91dCBpdHMgc291cmNlIHdoZW4gcmVsZXZhbnQgdG8gaXRzIGludGVycHJldGF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPYnNlcnZlZCBib2R5IHBhcnQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc2l0ZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgd2hlcmUgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIChpLmUuIHRoZSB0YXJnZXQgc2l0ZSkuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gT2JzZXJ2YXRpb24uY29kZS4gIEluIG1hbnkgc3lzdGVtcywgdGhpcyBtYXkgYmUgcmVwcmVzZW50ZWQgYXMgYSByZWxhdGVkIG9ic2VydmF0aW9uIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvbXBvbmVudC4gICAmI3hhOyYjeGE7SWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvblsgYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBpdCB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWNoYW5pc20gdXNlZCB0byBwZXJmb3JtIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3IgT2JzZXJ2YXRpb24uY29kZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMiIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiB1c2VkIGZvciB0aGlzIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2ltZW4gdGhhdCB3YXMgdXNlZCB3aGVuIHRoaXMgb2JzZXJ2YXRpb24gd2FzIG1hZGUuIiBjb21tZW50PSJTaG91bGQgb25seSBiZSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIGBPYnNlcnZhdGlvbi5jb2RlYC4gIE9ic2VydmF0aW9ucyBhcmUgbm90IG1hZGUgb24gc3BlY2ltZW5zIHRoZW1zZWx2ZXM7IHRoZXkgYXJlIG1hZGUgb24gYSBzdWJqZWN0LCBidXQgaW4gbWFueSBjYXNlcyBieSB0aGUgbWVhbnMgb2YgYSBzcGVjaW1lbi4gTm90ZSB0aGF0IGFsdGhvdWdoIHNwZWNpbWVucyBhcmUgb2Z0ZW4gaW52b2x2ZWQsIHRoZXkgYXJlIG5vdCBhbHdheXMgdHJhY2tlZCBhbmQgcmVwb3J0ZWQgZXhwbGljaXRseS4gQWxzbyBub3RlIHRoYXQgb2JzZXJ2YXRpb24gcmVzb3VyY2VzIG1heSBiZSB1c2VkIGluIGNvbnRleHRzIHRoYXQgdHJhY2sgdGhlIHNwZWNpbWVuIGV4cGxpY2l0bHkgKGUuZy4gRGlhZ25vc3RpYyBSZXBvcnQpLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihNZWFzdXJlbWVudCkgRGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIG9ic2VydmF0aW9uIGRhdGEuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBpcyBub3QgbWVhbnQgdG8gcmVwcmVzZW50IGEgZGV2aWNlIGludm9sdmVkIGluIHRoZSB0cmFuc21pc3Npb24gb2YgdGhlIHJlc3VsdCwgZS5nLiwgYSBnYXRld2F5LiAgU3VjaCBkZXZpY2VzIG1heSBiZSBkb2N1bWVudGVkIHVzaW5nIHRoZSBQcm92ZW5hbmNlIHJlc291cmNlIHdoZXJlIHJlbGV2YW50LiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIiBkZWZpbml0aW9uPSJHdWlkYW5jZSBvbiBob3cgdG8gaW50ZXJwcmV0IHRoZSB2YWx1ZSBieSBjb21wYXJpc29uIHRvIGEgbm9ybWFsIG9yIHJlY29tbWVuZGVkIHJhbmdlLiAgTXVsdGlwbGUgcmVmZXJlbmNlIHJhbmdlcyBhcmUgaW50ZXJwcmV0ZWQgYXMgYW4gJnF1b3Q7T1ImcXVvdDsuICAgSW4gb3RoZXIgd29yZHMsIHRvIHJlcHJlc2VudCB0d28gZGlzdGluY3QgdGFyZ2V0IHBvcHVsYXRpb25zLCB0d28gYHJlZmVyZW5jZVJhbmdlYCBlbGVtZW50cyB3b3VsZCBiZSB1c2VkLiIgY29tbWVudD0iTW9zdCBvYnNlcnZhdGlvbnMgb25seSBoYXZlIG9uZSBnZW5lcmljIHJlZmVyZW5jZSByYW5nZS4gU3lzdGVtcyBNQVkgY2hvb3NlIHRvIHJlc3RyaWN0IHRvIG9ubHkgc3VwcGx5aW5nIHRoZSByZWxldmFudCByZWZlcmVuY2UgcmFuZ2UgYmFzZWQgb24ga25vd2xlZGdlIGFib3V0IHRoZSBwYXRpZW50IChlLmcuLCBzcGVjaWZpYyB0byB0aGUgcGF0aWVudCdzIGFnZSwgZ2VuZGVyLCB3ZWlnaHQgYW5kIG90aGVyIGZhY3RvcnMpLCBidXQgdGhpcyBtaWdodCBub3QgYmUgcG9zc2libGUgb3IgYXBwcm9wcmlhdGUuIFdoZW5ldmVyIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIHJhbmdlIGlzIHN1cHBsaWVkLCB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGVtIFNIT1VMRCBiZSBwcm92aWRlZCBpbiB0aGUgcmVmZXJlbmNlIHJhbmdlIGFuZC9vciBhZ2UgcHJvcGVydGllcy4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0ib2JzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iTXVzdCBoYXZlIGF0IGxlYXN0IGEgbG93IG9yIGEgaGlnaCBvciB0ZXh0Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Imxvdy5leGlzdHMoKSBvciBoaWdoLmV4aXN0cygpIG9yIHRleHQuZXhpc3RzKCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imhhc01lbWJlciIgZGVzY3JpcHRpb249IlJlbGF0ZWQgcmVzb3VyY2UgdGhhdCBiZWxvbmdzIHRvIHRoZSBPYnNlcnZhdGlvbiBncm91cCIgZGVmaW5pdGlvbj0iVGhpcyBvYnNlcnZhdGlvbiBpcyBhIGdyb3VwIG9ic2VydmF0aW9uIChlLmcuIGEgYmF0dGVyeSwgYSBwYW5lbCBvZiB0ZXN0cywgYSBzZXQgb2Ygdml0YWwgc2lnbiBtZWFzdXJlbWVudHMpIHRoYXQgaW5jbHVkZXMgdGhlIHRhcmdldCBhcyBhIG1lbWJlciBvZiB0aGUgZ3JvdXAuIiBjb21tZW50PSJXaGVuIHVzaW5nIHRoaXMgZWxlbWVudCwgYW4gb2JzZXJ2YXRpb24gd2lsbCB0eXBpY2FsbHkgaGF2ZSBlaXRoZXIgYSB2YWx1ZSBvciBhIHNldCBvZiByZWxhdGVkIHJlc291cmNlcywgYWx0aG91Z2ggYm90aCBtYXkgYmUgcHJlc2VudCBpbiBzb21lIGNhc2VzLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuICBOb3RlIHRoYXQgYSBzeXN0ZW0gbWF5IGNhbGN1bGF0ZSByZXN1bHRzIGZyb20gW1F1ZXN0aW9ubmFpcmVSZXNwb25zZV0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9xdWVzdGlvbm5haXJlcmVzcG9uc2UuaHRtbCkgIGludG8gYSBmaW5hbCBzY29yZSBhbmQgcmVwcmVzZW50IHRoZSBzY29yZSBhcyBhbiBPYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRlcml2ZWRGcm9tIiBkZXNjcmlwdGlvbj0iUmVsYXRlZCBtZWFzdXJlbWVudHMgdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgZnJvbSIgZGVmaW5pdGlvbj0iVGhlIHRhcmdldCByZXNvdXJjZSB0aGF0IHJlcHJlc2VudHMgYSBtZWFzdXJlbWVudCBmcm9tIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gdmFsdWUgaXMgZGVyaXZlZC4gRm9yIGV4YW1wbGUsIGEgY2FsY3VsYXRlZCBhbmlvbiBnYXAgb3IgYSBmZXRhbCBtZWFzdXJlbWVudCBiYXNlZCBvbiBhbiB1bHRyYXNvdW5kIGltYWdlLiIgY29tbWVudD0iQWxsIHRoZSByZWZlcmVuY2UgY2hvaWNlcyB0aGF0IGFyZSBsaXN0ZWQgaW4gdGhpcyBlbGVtZW50IGNhbiByZXByZXNlbnQgY2xpbmljYWwgb2JzZXJ2YXRpb25zIGFuZCBvdGhlciBtZWFzdXJlbWVudHMgdGhhdCBtYXkgYmUgdGhlIHNvdXJjZSBmb3IgYSBkZXJpdmVkIHZhbHVlLiAgVGhlIG1vc3QgY29tbW9uIHJlZmVyZW5jZSB3aWxsIGJlIGFub3RoZXIgT2JzZXJ2YXRpb24uICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iQ29tcG9uZW50IHJlc3VsdHMiIGRlZmluaXRpb249IlNvbWUgb2JzZXJ2YXRpb25zIGhhdmUgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucy4gIFRoZXNlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgYXJlIGV4cHJlc3NlZCBhcyBzZXBhcmF0ZSBjb2RlIHZhbHVlIHBhaXJzIHRoYXQgc2hhcmUgdGhlIHNhbWUgYXR0cmlidXRlcy4gIEV4YW1wbGVzIGluY2x1ZGUgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGZvciBibG9vZCBwcmVzc3VyZSBtZWFzdXJlbWVudCBhbmQgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucyBmb3IgZ2VuZXRpY3Mgb2JzZXJ2YXRpb25zLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJwZXJmb3JtZXIiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InN1YmplY3QiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBlcmZvcm1lciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJFbmNvdW50ZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJlbmNvdW50ZXIiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iRGV2aWNlIiByZWxhdGVkS2V5RWxlbWVudD0ic3ViamVjdCIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJEZXZpY2UiIHJlbGF0ZWRLZXlFbGVtZW50PSJkZXZpY2UiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUmVsYXRlZFBlcnNvbiIgcmVsYXRlZEtleUVsZW1lbnQ9InBlcmZvcm1lciIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJPYnNlcnZhdGlvbi5Db21wb25lbnQiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlR5cGUgb2YgY29tcG9uZW50IG9ic2VydmF0aW9uIChjb2RlIC8gdHlwZSkiIGRlZmluaXRpb249IkRlc2NyaWJlcyB3aGF0IHdhcyBvYnNlcnZlZC4gU29tZXRpbWVzIHRoaXMgaXMgY2FsbGVkIHRoZSBvYnNlcnZhdGlvbiAmcXVvdDtjb2RlJnF1b3Q7LiIgY29tbWVudD0iKkFsbCogY29kZS12YWx1ZSBhbmQgIGNvbXBvbmVudC5jb2RlLWNvbXBvbmVudC52YWx1ZSBwYWlycyBuZWVkIHRvIGJlIHRha2VuIGludG8gYWNjb3VudCB0byBjb3JyZWN0bHkgdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBvZiB0aGUgb2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25Db2RlIiBkZXNjcmlwdGlvbj0iQ29kZXMgaWRlbnRpZnlpbmcgbmFtZXMgb2Ygc2ltcGxlIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQWN0dWFsIGNvbXBvbmVudCByZXN1bHQiIGRlZmluaXRpb249IlRoZSBpbmZvcm1hdGlvbiBkZXRlcm1pbmVkIGFzIGEgcmVzdWx0IG9mIG1ha2luZyB0aGUgb2JzZXJ2YXRpb24sIGlmIHRoZSBpbmZvcm1hdGlvbiBoYXMgYSBzaW1wbGUgdmFsdWUuIiBjb21tZW50PSJVc2VkIHdoZW4gb2JzZXJ2YXRpb24gaGFzIGEgc2V0IG9mIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMuIEFuIG9ic2VydmF0aW9uIG1heSBoYXZlIGJvdGggYSB2YWx1ZSAoZS5nLiBhbiAgQXBnYXIgc2NvcmUpICBhbmQgY29tcG9uZW50IG9ic2VydmF0aW9ucyAodGhlIG9ic2VydmF0aW9ucyBmcm9tIHdoaWNoIHRoZSBBcGdhciBzY29yZSB3YXMgZGVyaXZlZCkuIElmIGEgdmFsdWUgaXMgcHJlc2VudCwgdGhlIGRhdGF0eXBlIGZvciB0aGlzIGVsZW1lbnQgc2hvdWxkIGJlIGRldGVybWluZWQgYnkgT2JzZXJ2YXRpb24uY29kZS4gQSBDb2RlYWJsZUNvbmNlcHQgd2l0aCBqdXN0IGEgdGV4dCB3b3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgYSBzdHJpbmcgaWYgdGhlIGZpZWxkIHdhcyB1c3VhbGx5IGNvZGVkLCBvciBpZiB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhlIE9ic2VydmF0aW9uLmNvZGUgZGVmaW5lcyBhIGNvZGVkIHZhbHVlLiAgRm9yIGFkZGl0aW9uYWwgZ3VpZGFuY2UsIHNlZSB0aGUgW05vdGVzIHNlY3Rpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJSYXRpbyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTYW1wbGVkRGF0YSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGFBYnNlbnRSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoeSB0aGUgY29tcG9uZW50IHJlc3VsdCBpcyBtaXNzaW5nIiBkZWZpbml0aW9uPSJQcm92aWRlcyBhIHJlYXNvbiB3aHkgdGhlIGV4cGVjdGVkIHZhbHVlIGluIHRoZSBlbGVtZW50IE9ic2VydmF0aW9uLmNvbXBvbmVudC52YWx1ZVt4XSBpcyBtaXNzaW5nLiIgY29tbWVudD0iJnF1b3Q7TnVsbCZxdW90OyBvciBleGNlcHRpb25hbCB2YWx1ZXMgY2FuIGJlIHJlcHJlc2VudGVkIHR3byB3YXlzIGluIEZISVIgT2JzZXJ2YXRpb25zLiAgT25lIHdheSBpcyB0byBzaW1wbHkgaW5jbHVkZSB0aGVtIGluIHRoZSB2YWx1ZSBzZXQgYW5kIHJlcHJlc2VudCB0aGUgZXhjZXB0aW9ucyBpbiB0aGUgdmFsdWUuICBGb3IgZXhhbXBsZSwgbWVhc3VyZW1lbnQgdmFsdWVzIGZvciBhIHNlcm9sb2d5IHRlc3QgY291bGQgYmUgICZxdW90O2RldGVjdGVkJnF1b3Q7LCAmcXVvdDtub3QgZGV0ZWN0ZWQmcXVvdDssICZxdW90O2luY29uY2x1c2l2ZSZxdW90Oywgb3IgICZxdW90O3Rlc3Qgbm90IGRvbmUmcXVvdDsuICYjeGE7JiN4YTtUaGUgYWx0ZXJuYXRlIHdheSBpcyB0byB1c2UgdGhlIHZhbHVlIGVsZW1lbnQgZm9yIGFjdHVhbCBvYnNlcnZhdGlvbnMgYW5kIHVzZSB0aGUgZXhwbGljaXQgZGF0YUFic2VudFJlYXNvbiBlbGVtZW50IHRvIHJlY29yZCBleGNlcHRpb25hbCB2YWx1ZXMuICBGb3IgZXhhbXBsZSwgdGhlIGRhdGFBYnNlbnRSZWFzb24gY29kZSAmcXVvdDtlcnJvciZxdW90OyBjb3VsZCBiZSB1c2VkIHdoZW4gdGhlIG1lYXN1cmVtZW50IHdhcyBub3QgY29tcGxldGVkLiAgQmVjYXVzZSBvZiB0aGVzZSBvcHRpb25zLCB1c2UtY2FzZSBhZ3JlZW1lbnRzIGFyZSByZXF1aXJlZCB0byBpbnRlcnByZXQgZ2VuZXJhbCBvYnNlcnZhdGlvbnMgZm9yIGV4Y2VwdGlvbmFsIHZhbHVlcy4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblZhbHVlQWJzZW50UmVhc29uIiBkZXNjcmlwdGlvbj0iQ29kZXMgc3BlY2lmeWluZyB3aHkgdGhlIHJlc3VsdCAoYE9ic2VydmF0aW9uLnZhbHVlW3hdYCkgaXMgbWlzc2luZy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZXJwcmV0YXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIaWdoLCBsb3csIG5vcm1hbCwgZXRjLiIgZGVmaW5pdGlvbj0iQSBjYXRlZ29yaWNhbCBhc3Nlc3NtZW50IG9mIGFuIG9ic2VydmF0aW9uIHZhbHVlLiAgRm9yIGV4YW1wbGUsIGhpZ2gsIGxvdywgbm9ybWFsLiIgY29tbWVudD0iSGlzdG9yaWNhbGx5IHVzZWQgZm9yIGxhYm9yYXRvcnkgcmVzdWx0cyAoa25vd24gYXMgJ2Fibm9ybWFsIGZsYWcnICksICBpdHMgdXNlIGV4dGVuZHMgdG8gb3RoZXIgdXNlIGNhc2VzIHdoZXJlIGNvZGVkIGludGVycHJldGF0aW9ucyAgYXJlIHJlbGV2YW50LiAgT2Z0ZW4gcmVwb3J0ZWQgYXMgb25lIG9yIG1vcmUgc2ltcGxlIGNvbXBhY3QgY29kZXMgdGhpcyBlbGVtZW50IGlzIG9mdGVuIHBsYWNlZCBhZGphY2VudCB0byB0aGUgcmVzdWx0IHZhbHVlIGluIHJlcG9ydHMgYW5kIGZsb3cgc2hlZXRzIHRvIHNpZ25hbCB0aGUgbWVhbmluZy9ub3JtYWxjeSBzdGF0dXMgb2YgdGhlIHJlc3VsdC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25JbnRlcnByZXRhdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIGludGVycHJldGF0aW9ucyBvZiBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIG9mIGNvbXBvbmVudCByZXN1bHQiIGRlZmluaXRpb249Ikd1aWRhbmNlIG9uIGhvdyB0byBpbnRlcnByZXQgdGhlIHZhbHVlIGJ5IGNvbXBhcmlzb24gdG8gYSBub3JtYWwgb3IgcmVjb21tZW5kZWQgcmFuZ2UuIiBjb21tZW50PSJNb3N0IG9ic2VydmF0aW9ucyBvbmx5IGhhdmUgb25lIGdlbmVyaWMgcmVmZXJlbmNlIHJhbmdlLiBTeXN0ZW1zIE1BWSBjaG9vc2UgdG8gcmVzdHJpY3QgdG8gb25seSBzdXBwbHlpbmcgdGhlIHJlbGV2YW50IHJlZmVyZW5jZSByYW5nZSBiYXNlZCBvbiBrbm93bGVkZ2UgYWJvdXQgdGhlIHBhdGllbnQgKGUuZy4sIHNwZWNpZmljIHRvIHRoZSBwYXRpZW50J3MgYWdlLCBnZW5kZXIsIHdlaWdodCBhbmQgb3RoZXIgZmFjdG9ycyksIGJ1dCB0aGlzIG1pZ2h0IG5vdCBiZSBwb3NzaWJsZSBvciBhcHByb3ByaWF0ZS4gV2hlbmV2ZXIgbW9yZSB0aGFuIG9uZSByZWZlcmVuY2UgcmFuZ2UgaXMgc3VwcGxpZWQsIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZW0gU0hPVUxEIGJlIHByb3ZpZGVkIGluIHRoZSByZWZlcmVuY2UgcmFuZ2UgYW5kL29yIGFnZSBwcm9wZXJ0aWVzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iT2JzZXJ2YXRpb24uUmVmZXJlbmNlUmFuZ2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik9ic2VydmF0aW9uLkNvbXBvbmVudC5Db25jZW50cmF0aW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iT2JzZXJ2YXRpb24uQ29tcG9uZW50LkZsb3dSYXRlIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iT2JzZXJ2YXRpb24uQ29tcG9uZW50LmRpYXN0b2xpYyIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik9ic2VydmF0aW9uLkNvbXBvbmVudC5zeXN0b2xpYyIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJsb3ciIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iTG93IFJhbmdlLCBpZiByZWxldmFudCIgZGVmaW5pdGlvbj0iVGhlIHZhbHVlIG9mIHRoZSBsb3cgYm91bmQgb2YgdGhlIHJlZmVyZW5jZSByYW5nZS4gIFRoZSBsb3cgYm91bmQgb2YgdGhlIHJlZmVyZW5jZSByYW5nZSBlbmRwb2ludCBpcyBpbmNsdXNpdmUgb2YgdGhlIHZhbHVlIChlLmcuICByZWZlcmVuY2UgcmFuZ2UgaXMgPj01IC0gJmx0Oz05KS4gSWYgdGhlIGxvdyBib3VuZCBpcyBvbWl0dGVkLCAgaXQgaXMgYXNzdW1lZCB0byBiZSBtZWFuaW5nbGVzcyAoZS5nLiByZWZlcmVuY2UgcmFuZ2UgaXMgJmx0Oz0yLjMpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJoaWdoIiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhpZ2ggUmFuZ2UsIGlmIHJlbGV2YW50IiBkZWZpbml0aW9uPSJUaGUgdmFsdWUgb2YgdGhlIGhpZ2ggYm91bmQgb2YgdGhlIHJlZmVyZW5jZSByYW5nZS4gIFRoZSBoaWdoIGJvdW5kIG9mIHRoZSByZWZlcmVuY2UgcmFuZ2UgZW5kcG9pbnQgaXMgaW5jbHVzaXZlIG9mIHRoZSB2YWx1ZSAoZS5nLiAgcmVmZXJlbmNlIHJhbmdlIGlzID49NSAtICZsdDs9OSkuIElmIHRoZSBoaWdoIGJvdW5kIGlzIG9taXR0ZWQsICBpdCBpcyBhc3N1bWVkIHRvIGJlIG1lYW5pbmdsZXNzIChlLmcuIHJlZmVyZW5jZSByYW5nZSBpcyA+PSAyLjMpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZWZlcmVuY2UgcmFuZ2UgcXVhbGlmaWVyIiBkZWZpbml0aW9uPSJDb2RlcyB0byBpbmRpY2F0ZSB0aGUgd2hhdCBwYXJ0IG9mIHRoZSB0YXJnZXRlZCByZWZlcmVuY2UgcG9wdWxhdGlvbiBpdCBhcHBsaWVzIHRvLiBGb3IgZXhhbXBsZSwgdGhlIG5vcm1hbCBvciB0aGVyYXBldXRpYyByYW5nZS4iIGNvbW1lbnQ9IlRoaXMgU0hPVUxEIGJlIHBvcHVsYXRlZCBpZiB0aGVyZSBpcyBtb3JlIHRoYW4gb25lIHJhbmdlLiAgSWYgdGhpcyBlbGVtZW50IGlzIG5vdCBwcmVzZW50IHRoZW4gdGhlIG5vcm1hbCByYW5nZSBpcyBhc3N1bWVkLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uUmFuZ2VNZWFuaW5nIiBkZXNjcmlwdGlvbj0iQ29kZSBmb3IgdGhlIG1lYW5pbmcgb2YgYSByZWZlcmVuY2UgcmFuZ2UuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYXBwbGllc1RvIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmVmZXJlbmNlIHJhbmdlIHBvcHVsYXRpb24iIGRlZmluaXRpb249IkNvZGVzIHRvIGluZGljYXRlIHRoZSB0YXJnZXQgcG9wdWxhdGlvbiB0aGlzIHJlZmVyZW5jZSByYW5nZSBhcHBsaWVzIHRvLiAgRm9yIGV4YW1wbGUsIGEgcmVmZXJlbmNlIHJhbmdlIG1heSBiZSBiYXNlZCBvbiB0aGUgbm9ybWFsIHBvcHVsYXRpb24gb3IgYSBwYXJ0aWN1bGFyIHNleCBvciByYWNlLiAgTXVsdGlwbGUgYGFwcGxpZXNUb2AgIGFyZSBpbnRlcnByZXRlZCBhcyBhbiAmcXVvdDtBTkQmcXVvdDsgb2YgdGhlIHRhcmdldCBwb3B1bGF0aW9ucy4gIEZvciBleGFtcGxlLCB0byByZXByZXNlbnQgYSB0YXJnZXQgcG9wdWxhdGlvbiBvZiBBZnJpY2FuIEFtZXJpY2FuIGZlbWFsZXMsIGJvdGggYSBjb2RlIG9mIGZlbWFsZSBhbmQgYSBjb2RlIGZvciBBZnJpY2FuIEFtZXJpY2FuIHdvdWxkIGJlIHVzZWQuIiBjb21tZW50PSJUaGlzIFNIT1VMRCBiZSBwb3B1bGF0ZWQgaWYgdGhlcmUgaXMgbW9yZSB0aGFuIG9uZSByYW5nZS4gIElmIHRoaXMgZWxlbWVudCBpcyBub3QgcHJlc2VudCB0aGVuIHRoZSBub3JtYWwgcG9wdWxhdGlvbiBpcyBhc3N1bWVkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblJhbmdlVHlwZSIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIHRoZSBwb3B1bGF0aW9uIHRoZSByZWZlcmVuY2UgcmFuZ2UgYXBwbGllcyB0by4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYWdlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFwcGxpY2FibGUgYWdlIHJhbmdlLCBpZiByZWxldmFudCIgZGVmaW5pdGlvbj0iVGhlIGFnZSBhdCB3aGljaCB0aGlzIHJlZmVyZW5jZSByYW5nZSBpcyBhcHBsaWNhYmxlLiBUaGlzIGlzIGEgbmVvbmF0YWwgYWdlIChlLmcuIG51bWJlciBvZiB3ZWVrcyBhdCB0ZXJtKSBpZiB0aGUgbWVhbmluZyBzYXlzIHNvLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ0ZXh0IiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUZXh0IGJhc2VkIHJlZmVyZW5jZSByYW5nZSBpbiBhbiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iVGV4dCBiYXNlZCByZWZlcmVuY2UgcmFuZ2UgaW4gYW4gb2JzZXJ2YXRpb24gd2hpY2ggbWF5IGJlIHVzZWQgd2hlbiBhIHF1YW50aXRhdGl2ZSByYW5nZSBpcyBub3QgYXBwcm9wcmlhdGUgZm9yIGFuIG9ic2VydmF0aW9uLiAgQW4gZXhhbXBsZSB3b3VsZCBiZSBhIHJlZmVyZW5jZSB2YWx1ZSBvZiAmcXVvdDtOZWdhdGl2ZSZxdW90OyBvciBhIGxpc3Qgb3IgdGFibGUgb2YgJnF1b3Q7bm9ybWFscyZxdW90Oy4iLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJPYnNlcnZhdGlvbkNhbmNlbGxlZCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtb2JzZXJ2YXRpb25jYW5jZWxsZWQiIGxhYmVsPSJRSUNvcmUgT2JzZXJ2YXRpb24gQ2FuY2VsbGVkIiB0YXJnZXQ9Ik9ic2VydmF0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90RG9uZVJlYXNvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5Ob3REb25lUmVhc29uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCglcGFyZW50LmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW5vdERvbmVSZWFzb24nXS52YWx1ZSkiIGRlc2NyaXB0aW9uPSJFeHRlbnNpb24iIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgcmVhc29uIHRoZSBldmVudCB3YXMgbm90IGRvbmUuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IlBhcnQgb2YgcmVmZXJlbmNlZCBldmVudCIgZGVmaW5pdGlvbj0iQSBsYXJnZXIgZXZlbnQgb2Ygd2hpY2ggdGhpcyBwYXJ0aWN1bGFyIE9ic2VydmF0aW9uIGlzIGEgY29tcG9uZW50IG9yIHN0ZXAuICBGb3IgZXhhbXBsZSwgIGFuIG9ic2VydmF0aW9uIGFzIHBhcnQgb2YgYSBwcm9jZWR1cmUuIiBjb21tZW50PSJUbyBsaW5rIGFuIE9ic2VydmF0aW9uIHRvIGFuIEVuY291bnRlciB1c2UgYGVuY291bnRlcmAuICBTZWUgdGhlICBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cgZm9yIGd1aWRhbmNlIG9uIHJlZmVyZW5jaW5nIGFub3RoZXIgT2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb25TdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icmVnaXN0ZXJlZCB8IHByZWxpbWluYXJ5IHwgZmluYWwgfCBhbWVuZGVkICsiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHJlc3VsdCB2YWx1ZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25TdGF0dXMiIGRlc2NyaXB0aW9uPSJDb2RlcyBwcm92aWRpbmcgdGhlIHN0YXR1cyBvZiBhbiBvYnNlcnZhdGlvbi4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIHRhcmdldD0iU3lzdGVtLkNvbmNlcHQ6RkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSk7U3lzdGVtLlZhbHVlU2V0OkZISVJIZWxwZXJzLlRvVmFsdWVTZXQoJXBhcmVudC5jb2RlLmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW5vdERvbmVWYWx1ZVNldCddLnZhbHVlLnZhbHVlKSIgZGVzY3JpcHRpb249IlR5cGUgb2Ygb2JzZXJ2YXRpb24gKGNvZGUgLyB0eXBlKSIgZGVmaW5pdGlvbj0iRGVzY3JpYmVzIHdoYXQgd2FzIG9ic2VydmVkLiBTb21ldGltZXMgdGhpcyBpcyBjYWxsZWQgdGhlIG9ic2VydmF0aW9uICZxdW90O25hbWUmcXVvdDsuIiBjb21tZW50PSIqQWxsKiBjb2RlLXZhbHVlIGFuZCwgaWYgcHJlc2VudCwgY29tcG9uZW50LmNvZGUtY29tcG9uZW50LnZhbHVlIHBhaXJzIG5lZWQgdG8gYmUgdGFrZW4gaW50byBhY2NvdW50IHRvIGNvcnJlY3RseSB1bmRlcnN0YW5kIHRoZSBtZWFuaW5nIG9mIHRoZSBvYnNlcnZhdGlvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJWYWx1ZVNldCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNvZGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBuYW1lcyBvZiBzaW1wbGUgb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jdXMiIGRlc2NyaXB0aW9uPSJXaGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCwgd2hlbiBpdCBpcyBub3QgYWJvdXQgdGhlIHN1YmplY3Qgb2YgcmVjb3JkIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIHdoZW4gaXQgaXMgbm90IHRoZSBwYXRpZW50IG9mIHJlY29yZCByZXByZXNlbnRpbmcgc29tZXRoaW5nIG9yIHNvbWVvbmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYXRpZW50IHN1Y2ggYXMgYSBzcG91c2UsIHBhcmVudCwgZmV0dXMsIG9yIGRvbm9yLiBGb3IgZXhhbXBsZSwgZmV0dXMgb2JzZXJ2YXRpb25zIGluIGEgbW90aGVyJ3MgcmVjb3JkLiAgVGhlIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIGNvdWxkIGFsc28gYmUgYW4gZXhpc3RpbmcgY29uZGl0aW9uLCAgYW4gaW50ZXJ2ZW50aW9uLCB0aGUgc3ViamVjdCdzIGRpZXQsICBhbm90aGVyIG9ic2VydmF0aW9uIG9mIHRoZSBzdWJqZWN0LCAgb3IgYSBib2R5IHN0cnVjdHVyZSBzdWNoIGFzIHR1bW9yIG9yIGltcGxhbnRlZCBkZXZpY2UuICAgQW4gZXhhbXBsZSB1c2UgY2FzZSB3b3VsZCBiZSB1c2luZyB0aGUgT2JzZXJ2YXRpb24gcmVzb3VyY2UgdG8gY2FwdHVyZSB3aGV0aGVyIHRoZSBtb3RoZXIgaXMgdHJhaW5lZCB0byBjaGFuZ2UgaGVyIGNoaWxkJ3MgdHJhY2hlb3N0b215IHR1YmUuIEluIHRoaXMgZXhhbXBsZSwgdGhlIGNoaWxkIGlzIHRoZSBwYXRpZW50IG9mIHJlY29yZCBhbmQgdGhlIG1vdGhlciBpcyB0aGUgZm9jdXMuIiBjb21tZW50PSJUeXBpY2FsbHksIGFuIG9ic2VydmF0aW9uIGlzIG1hZGUgYWJvdXQgdGhlIHN1YmplY3QgLSBhIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIC0gYW5kIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRoZSBzdWJqZWN0IGFuZCB3aGF0IGlzIGRpcmVjdGx5IG1lYXN1cmVkIGZvciBhbiBvYnNlcnZhdGlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIG9ic2VydmF0aW9uIGNvZGUgaXRzZWxmICggZS5nLiwgJnF1b3Q7Qmxvb2QgR2x1Y29zZSZxdW90OykgYW5kIGRvZXMgbm90IG5lZWQgdG8gYmUgcmVwcmVzZW50ZWQgc2VwYXJhdGVseSB1c2luZyB0aGlzIGVsZW1lbnQuICBVc2UgYHNwZWNpbWVuYCBpZiBhIHJlZmVyZW5jZSB0byBhIHNwZWNpbWVuIGlzIHJlcXVpcmVkLiAgSWYgYSBjb2RlIGlzIHJlcXVpcmVkIGluc3RlYWQgb2YgYSByZXNvdXJjZSB1c2UgZWl0aGVyICBgYm9keXNpdGVgIGZvciBib2R5c2l0ZXMgb3IgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbZm9jdXNDb2RlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1vYnNlcnZhdGlvbi1mb2N1c2NvZGUuaHRtbCkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xpbmljYWxseSByZWxldmFudCB0aW1lL3RpbWUtcGVyaW9kIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHRpbWUgb3IgdGltZS1wZXJpb2QgdGhlIG9ic2VydmVkIHZhbHVlIGlzIGFzc2VydGVkIGFzIGJlaW5nIHRydWUuIEZvciBiaW9sb2dpY2FsIHN1YmplY3RzIC0gZS5nLiBodW1hbiBwYXRpZW50cyAtIHRoaXMgaXMgdXN1YWxseSBjYWxsZWQgdGhlICZxdW90O3BoeXNpb2xvZ2ljYWxseSByZWxldmFudCB0aW1lJnF1b3Q7LiBUaGlzIGlzIHVzdWFsbHkgZWl0aGVyIHRoZSB0aW1lIG9mIHRoZSBwcm9jZWR1cmUgb3Igb2Ygc3BlY2ltZW4gY29sbGVjdGlvbiwgYnV0IHZlcnkgb2Z0ZW4gdGhlIHNvdXJjZSBvZiB0aGUgZGF0ZS90aW1lIGlzIG5vdCBrbm93biwgb25seSB0aGUgZGF0ZS90aW1lIGl0c2VsZi4iIGNvbW1lbnQ9IkF0IGxlYXN0IGEgZGF0ZSBzaG91bGQgYmUgcHJlc2VudCB1bmxlc3MgdGhpcyBvYnNlcnZhdGlvbiBpcyBhIGhpc3RvcmljYWwgcmVwb3J0LiAgRm9yIHJlY29yZGluZyBpbXByZWNpc2Ugb3IgJnF1b3Q7ZnV6enkmcXVvdDsgdGltZXMgKEZvciBleGFtcGxlLCBhIGJsb29kIGdsdWNvc2UgbWVhc3VyZW1lbnQgdGFrZW4gJnF1b3Q7YWZ0ZXIgYnJlYWtmYXN0JnF1b3Q7KSB1c2UgdGhlIFtUaW1pbmddKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZGF0YXR5cGVzLmh0bWwjdGltaW5nKSBkYXRhdHlwZSB3aGljaCBhbGxvdyB0aGUgbWVhc3VyZW1lbnQgdG8gYmUgdGllZCB0byByZWd1bGFyIGxpZmUgZXZlbnRzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJUaW1pbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IldobyBpcyByZXNwb25zaWJsZSBmb3IgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJXaG8gd2FzIHJlc3BvbnNpYmxlIGZvciBhc3NlcnRpbmcgdGhlIG9ic2VydmVkIHZhbHVlIGFzICZxdW90O3RydWUmcXVvdDsuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFjdHVhbCByZXN1bHQiIGRlZmluaXRpb249IlRoZSBpbmZvcm1hdGlvbiBkZXRlcm1pbmVkIGFzIGEgcmVzdWx0IG9mIG1ha2luZyB0aGUgb2JzZXJ2YXRpb24sIGlmIHRoZSBpbmZvcm1hdGlvbiBoYXMgYSBzaW1wbGUgdmFsdWUuIiBjb21tZW50PSJBbiBvYnNlcnZhdGlvbiBtYXkgaGF2ZTsgMSkgIGEgc2luZ2xlIHZhbHVlIGhlcmUsIDIpICBib3RoIGEgdmFsdWUgYW5kIGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcywgIG9yIDMpICBvbmx5IGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcy4gSWYgYSB2YWx1ZSBpcyBwcmVzZW50LCB0aGUgZGF0YXR5cGUgZm9yIHRoaXMgZWxlbWVudCBzaG91bGQgYmUgZGV0ZXJtaW5lZCBieSBPYnNlcnZhdGlvbi5jb2RlLiAgQSBDb2RlYWJsZUNvbmNlcHQgd2l0aCBqdXN0IGEgdGV4dCB3b3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgYSBzdHJpbmcgaWYgdGhlIGZpZWxkIHdhcyB1c3VhbGx5IGNvZGVkLCBvciBpZiB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhlIE9ic2VydmF0aW9uLmNvZGUgZGVmaW5lcyBhIGNvZGVkIHZhbHVlLiAgRm9yIGFkZGl0aW9uYWwgZ3VpZGFuY2UsIHNlZSB0aGUgW05vdGVzIHNlY3Rpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJSYXRpbyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTYW1wbGVkRGF0YSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGFBYnNlbnRSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoeSB0aGUgcmVzdWx0IGlzIG1pc3NpbmciIGRlZmluaXRpb249IlByb3ZpZGVzIGEgcmVhc29uIHdoeSB0aGUgZXhwZWN0ZWQgdmFsdWUgaW4gdGhlIGVsZW1lbnQgT2JzZXJ2YXRpb24udmFsdWVbeF0gaXMgbWlzc2luZy4iIGNvbW1lbnQ9Ik51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzIGNhbiBiZSByZXByZXNlbnRlZCB0d28gd2F5cyBpbiBGSElSIE9ic2VydmF0aW9ucy4gIE9uZSB3YXkgaXMgdG8gc2ltcGx5IGluY2x1ZGUgdGhlbSBpbiB0aGUgdmFsdWUgc2V0IGFuZCByZXByZXNlbnQgdGhlIGV4Y2VwdGlvbnMgaW4gdGhlIHZhbHVlLiAgRm9yIGV4YW1wbGUsIG1lYXN1cmVtZW50IHZhbHVlcyBmb3IgYSBzZXJvbG9neSB0ZXN0IGNvdWxkIGJlICAmcXVvdDtkZXRlY3RlZCZxdW90OywgJnF1b3Q7bm90IGRldGVjdGVkJnF1b3Q7LCAmcXVvdDtpbmNvbmNsdXNpdmUmcXVvdDssIG9yICAmcXVvdDtzcGVjaW1lbiB1bnNhdGlzZmFjdG9yeSZxdW90Oy4gICAmI3hhOyYjeGE7VGhlIGFsdGVybmF0ZSB3YXkgaXMgdG8gdXNlIHRoZSB2YWx1ZSBlbGVtZW50IGZvciBhY3R1YWwgb2JzZXJ2YXRpb25zIGFuZCB1c2UgdGhlIGV4cGxpY2l0IGRhdGFBYnNlbnRSZWFzb24gZWxlbWVudCB0byByZWNvcmQgZXhjZXB0aW9uYWwgdmFsdWVzLiAgRm9yIGV4YW1wbGUsIHRoZSBkYXRhQWJzZW50UmVhc29uIGNvZGUgJnF1b3Q7ZXJyb3ImcXVvdDsgY291bGQgYmUgdXNlZCB3aGVuIHRoZSBtZWFzdXJlbWVudCB3YXMgbm90IGNvbXBsZXRlZC4gTm90ZSB0aGF0IGFuIG9ic2VydmF0aW9uIG1heSBvbmx5IGJlIHJlcG9ydGVkIGlmIHRoZXJlIGFyZSB2YWx1ZXMgdG8gcmVwb3J0LiBGb3IgZXhhbXBsZSBkaWZmZXJlbnRpYWwgY2VsbCBjb3VudHMgdmFsdWVzIG1heSBiZSByZXBvcnRlZCBvbmx5IHdoZW4gPiAwLiAgQmVjYXVzZSBvZiB0aGVzZSBvcHRpb25zLCB1c2UtY2FzZSBhZ3JlZW1lbnRzIGFyZSByZXF1aXJlZCB0byBpbnRlcnByZXQgZ2VuZXJhbCBvYnNlcnZhdGlvbnMgZm9yIG51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uVmFsdWVBYnNlbnRSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBzcGVjaWZ5aW5nIHdoeSB0aGUgcmVzdWx0IChgT2JzZXJ2YXRpb24udmFsdWVbeF1gKSBpcyBtaXNzaW5nLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlcnByZXRhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhpZ2gsIGxvdywgbm9ybWFsLCBldGMuIiBkZWZpbml0aW9uPSJBIGNhdGVnb3JpY2FsIGFzc2Vzc21lbnQgb2YgYW4gb2JzZXJ2YXRpb24gdmFsdWUuICBGb3IgZXhhbXBsZSwgaGlnaCwgbG93LCBub3JtYWwuIiBjb21tZW50PSJIaXN0b3JpY2FsbHkgdXNlZCBmb3IgbGFib3JhdG9yeSByZXN1bHRzIChrbm93biBhcyAnYWJub3JtYWwgZmxhZycgKSwgIGl0cyB1c2UgZXh0ZW5kcyB0byBvdGhlciB1c2UgY2FzZXMgd2hlcmUgY29kZWQgaW50ZXJwcmV0YXRpb25zICBhcmUgcmVsZXZhbnQuICBPZnRlbiByZXBvcnRlZCBhcyBvbmUgb3IgbW9yZSBzaW1wbGUgY29tcGFjdCBjb2RlcyB0aGlzIGVsZW1lbnQgaXMgb2Z0ZW4gcGxhY2VkIGFkamFjZW50IHRvIHRoZSByZXN1bHQgdmFsdWUgaW4gcmVwb3J0cyBhbmQgZmxvdyBzaGVldHMgdG8gc2lnbmFsIHRoZSBtZWFuaW5nL25vcm1hbGN5IHN0YXR1cyBvZiB0aGUgcmVzdWx0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkludGVycHJldGF0aW9uIiBkZXNjcmlwdGlvbj0iQ29kZXMgaWRlbnRpZnlpbmcgaW50ZXJwcmV0YXRpb25zIG9mIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIG9yIHRoZSByZXN1bHRzLiIgY29tbWVudD0iTWF5IGluY2x1ZGUgZ2VuZXJhbCBzdGF0ZW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiwgb3Igc3RhdGVtZW50cyBhYm91dCBzaWduaWZpY2FudCwgdW5leHBlY3RlZCBvciB1bnJlbGlhYmxlIHJlc3VsdHMgdmFsdWVzLCBvciBpbmZvcm1hdGlvbiBhYm91dCBpdHMgc291cmNlIHdoZW4gcmVsZXZhbnQgdG8gaXRzIGludGVycHJldGF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPYnNlcnZlZCBib2R5IHBhcnQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc2l0ZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgd2hlcmUgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIChpLmUuIHRoZSB0YXJnZXQgc2l0ZSkuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gT2JzZXJ2YXRpb24uY29kZS4gIEluIG1hbnkgc3lzdGVtcywgdGhpcyBtYXkgYmUgcmVwcmVzZW50ZWQgYXMgYSByZWxhdGVkIG9ic2VydmF0aW9uIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvbXBvbmVudC4gICAmI3hhOyYjeGE7SWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvblsgYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibWV0aG9kIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIb3cgaXQgd2FzIGRvbmUiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgbWVjaGFuaXNtIHVzZWQgdG8gcGVyZm9ybSB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm9yIE9ic2VydmF0aW9uLmNvZGUuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25NZXRob2QiIGRlc2NyaXB0aW9uPSJNZXRob2RzIGZvciBzaW1wbGUgb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiB1c2VkIGZvciB0aGlzIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2ltZW4gdGhhdCB3YXMgdXNlZCB3aGVuIHRoaXMgb2JzZXJ2YXRpb24gd2FzIG1hZGUuIiBjb21tZW50PSJTaG91bGQgb25seSBiZSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIGBPYnNlcnZhdGlvbi5jb2RlYC4gIE9ic2VydmF0aW9ucyBhcmUgbm90IG1hZGUgb24gc3BlY2ltZW5zIHRoZW1zZWx2ZXM7IHRoZXkgYXJlIG1hZGUgb24gYSBzdWJqZWN0LCBidXQgaW4gbWFueSBjYXNlcyBieSB0aGUgbWVhbnMgb2YgYSBzcGVjaW1lbi4gTm90ZSB0aGF0IGFsdGhvdWdoIHNwZWNpbWVucyBhcmUgb2Z0ZW4gaW52b2x2ZWQsIHRoZXkgYXJlIG5vdCBhbHdheXMgdHJhY2tlZCBhbmQgcmVwb3J0ZWQgZXhwbGljaXRseS4gQWxzbyBub3RlIHRoYXQgb2JzZXJ2YXRpb24gcmVzb3VyY2VzIG1heSBiZSB1c2VkIGluIGNvbnRleHRzIHRoYXQgdHJhY2sgdGhlIHNwZWNpbWVuIGV4cGxpY2l0bHkgKGUuZy4gRGlhZ25vc3RpYyBSZXBvcnQpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXZpY2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKE1lYXN1cmVtZW50KSBEZXZpY2UiIGRlZmluaXRpb249IlRoZSBkZXZpY2UgdXNlZCB0byBnZW5lcmF0ZSB0aGUgb2JzZXJ2YXRpb24gZGF0YS4iIGNvbW1lbnQ9Ik5vdGUgdGhhdCB0aGlzIGlzIG5vdCBtZWFudCB0byByZXByZXNlbnQgYSBkZXZpY2UgaW52b2x2ZWQgaW4gdGhlIHRyYW5zbWlzc2lvbiBvZiB0aGUgcmVzdWx0LCBlLmcuLCBhIGdhdGV3YXkuICBTdWNoIGRldmljZXMgbWF5IGJlIGRvY3VtZW50ZWQgdXNpbmcgdGhlIFByb3ZlbmFuY2UgcmVzb3VyY2Ugd2hlcmUgcmVsZXZhbnQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIiBkZWZpbml0aW9uPSJHdWlkYW5jZSBvbiBob3cgdG8gaW50ZXJwcmV0IHRoZSB2YWx1ZSBieSBjb21wYXJpc29uIHRvIGEgbm9ybWFsIG9yIHJlY29tbWVuZGVkIHJhbmdlLiAgTXVsdGlwbGUgcmVmZXJlbmNlIHJhbmdlcyBhcmUgaW50ZXJwcmV0ZWQgYXMgYW4gJnF1b3Q7T1ImcXVvdDsuICAgSW4gb3RoZXIgd29yZHMsIHRvIHJlcHJlc2VudCB0d28gZGlzdGluY3QgdGFyZ2V0IHBvcHVsYXRpb25zLCB0d28gYHJlZmVyZW5jZVJhbmdlYCBlbGVtZW50cyB3b3VsZCBiZSB1c2VkLiIgY29tbWVudD0iTW9zdCBvYnNlcnZhdGlvbnMgb25seSBoYXZlIG9uZSBnZW5lcmljIHJlZmVyZW5jZSByYW5nZS4gU3lzdGVtcyBNQVkgY2hvb3NlIHRvIHJlc3RyaWN0IHRvIG9ubHkgc3VwcGx5aW5nIHRoZSByZWxldmFudCByZWZlcmVuY2UgcmFuZ2UgYmFzZWQgb24ga25vd2xlZGdlIGFib3V0IHRoZSBwYXRpZW50IChlLmcuLCBzcGVjaWZpYyB0byB0aGUgcGF0aWVudCdzIGFnZSwgZ2VuZGVyLCB3ZWlnaHQgYW5kIG90aGVyIGZhY3RvcnMpLCBidXQgdGhpcyBtaWdodCBub3QgYmUgcG9zc2libGUgb3IgYXBwcm9wcmlhdGUuIFdoZW5ldmVyIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIHJhbmdlIGlzIHN1cHBsaWVkLCB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGVtIFNIT1VMRCBiZSBwcm92aWRlZCBpbiB0aGUgcmVmZXJlbmNlIHJhbmdlIGFuZC9vciBhZ2UgcHJvcGVydGllcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5SZWZlcmVuY2VSYW5nZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Im9icy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik11c3QgaGF2ZSBhdCBsZWFzdCBhIGxvdyBvciBhIGhpZ2ggb3IgdGV4dCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJsb3cuZXhpc3RzKCkgb3IgaGlnaC5leGlzdHMoKSBvciB0ZXh0LmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJoYXNNZW1iZXIiIGRlc2NyaXB0aW9uPSJSZWxhdGVkIHJlc291cmNlIHRoYXQgYmVsb25ncyB0byB0aGUgT2JzZXJ2YXRpb24gZ3JvdXAiIGRlZmluaXRpb249IlRoaXMgb2JzZXJ2YXRpb24gaXMgYSBncm91cCBvYnNlcnZhdGlvbiAoZS5nLiBhIGJhdHRlcnksIGEgcGFuZWwgb2YgdGVzdHMsIGEgc2V0IG9mIHZpdGFsIHNpZ24gbWVhc3VyZW1lbnRzKSB0aGF0IGluY2x1ZGVzIHRoZSB0YXJnZXQgYXMgYSBtZW1iZXIgb2YgdGhlIGdyb3VwLiIgY29tbWVudD0iV2hlbiB1c2luZyB0aGlzIGVsZW1lbnQsIGFuIG9ic2VydmF0aW9uIHdpbGwgdHlwaWNhbGx5IGhhdmUgZWl0aGVyIGEgdmFsdWUgb3IgYSBzZXQgb2YgcmVsYXRlZCByZXNvdXJjZXMsIGFsdGhvdWdoIGJvdGggbWF5IGJlIHByZXNlbnQgaW4gc29tZSBjYXNlcy4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiAgTm90ZSB0aGF0IGEgc3lzdGVtIG1heSBjYWxjdWxhdGUgcmVzdWx0cyBmcm9tIFtRdWVzdGlvbm5haXJlUmVzcG9uc2VdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcXVlc3Rpb25uYWlyZXJlc3BvbnNlLmh0bWwpICBpbnRvIGEgZmluYWwgc2NvcmUgYW5kIHJlcHJlc2VudCB0aGUgc2NvcmUgYXMgYW4gT2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXJpdmVkRnJvbSIgZGVzY3JpcHRpb249IlJlbGF0ZWQgbWVhc3VyZW1lbnRzIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGZyb20iIGRlZmluaXRpb249IlRoZSB0YXJnZXQgcmVzb3VyY2UgdGhhdCByZXByZXNlbnRzIGEgbWVhc3VyZW1lbnQgZnJvbSB3aGljaCB0aGlzIG9ic2VydmF0aW9uIHZhbHVlIGlzIGRlcml2ZWQuIEZvciBleGFtcGxlLCBhIGNhbGN1bGF0ZWQgYW5pb24gZ2FwIG9yIGEgZmV0YWwgbWVhc3VyZW1lbnQgYmFzZWQgb24gYW4gdWx0cmFzb3VuZCBpbWFnZS4iIGNvbW1lbnQ9IkFsbCB0aGUgcmVmZXJlbmNlIGNob2ljZXMgdGhhdCBhcmUgbGlzdGVkIGluIHRoaXMgZWxlbWVudCBjYW4gcmVwcmVzZW50IGNsaW5pY2FsIG9ic2VydmF0aW9ucyBhbmQgb3RoZXIgbWVhc3VyZW1lbnRzIHRoYXQgbWF5IGJlIHRoZSBzb3VyY2UgZm9yIGEgZGVyaXZlZCB2YWx1ZS4gIFRoZSBtb3N0IGNvbW1vbiByZWZlcmVuY2Ugd2lsbCBiZSBhbm90aGVyIE9ic2VydmF0aW9uLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb21wb25lbnQiIGRlc2NyaXB0aW9uPSJDb21wb25lbnQgcmVzdWx0cyIgZGVmaW5pdGlvbj0iU29tZSBvYnNlcnZhdGlvbnMgaGF2ZSBtdWx0aXBsZSBjb21wb25lbnQgb2JzZXJ2YXRpb25zLiAgVGhlc2UgY29tcG9uZW50IG9ic2VydmF0aW9ucyBhcmUgZXhwcmVzc2VkIGFzIHNlcGFyYXRlIGNvZGUgdmFsdWUgcGFpcnMgdGhhdCBzaGFyZSB0aGUgc2FtZSBhdHRyaWJ1dGVzLiAgRXhhbXBsZXMgaW5jbHVkZSBzeXN0b2xpYyBhbmQgZGlhc3RvbGljIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgZm9yIGJsb29kIHByZXNzdXJlIG1lYXN1cmVtZW50IGFuZCBtdWx0aXBsZSBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGZvciBnZW5ldGljcyBvYnNlcnZhdGlvbnMuIiBjb21tZW50PSJGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYmUgYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJPYnNlcnZhdGlvbkNsaW5pY2FsVGVzdFJlc3VsdCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtb2JzZXJ2YXRpb24tY2xpbmljYWwtdGVzdCIgbGFiZWw9IlFJQ29yZSBPYnNlcnZhdGlvbiBDbGluaWNhbCBUZXN0IFJlc3VsdCIgdGFyZ2V0PSJPYnNlcnZhdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY29kZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBJZGVudGlmaWVyIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIG9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJGdWxmaWxscyBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciIgZGVmaW5pdGlvbj0iQSBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciB0aGF0IGlzIGZ1bGZpbGxlZCBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgZXZlbnQuICBGb3IgZXhhbXBsZSwgYSBNZWRpY2F0aW9uUmVxdWVzdCBtYXkgcmVxdWlyZSBhIHBhdGllbnQgdG8gaGF2ZSBsYWJvcmF0b3J5IHRlc3QgcGVyZm9ybWVkIGJlZm9yZSAgaXQgaXMgZGlzcGVuc2VkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iUGFydCBvZiByZWZlcmVuY2VkIGV2ZW50IiBkZWZpbml0aW9uPSJBIGxhcmdlciBldmVudCBvZiB3aGljaCB0aGlzIHBhcnRpY3VsYXIgT2JzZXJ2YXRpb24gaXMgYSBjb21wb25lbnQgb3Igc3RlcC4gIEZvciBleGFtcGxlLCAgYW4gb2JzZXJ2YXRpb24gYXMgcGFydCBvZiBhIHByb2NlZHVyZS4iIGNvbW1lbnQ9IlRvIGxpbmsgYW4gT2JzZXJ2YXRpb24gdG8gYW4gRW5jb3VudGVyIHVzZSBgZW5jb3VudGVyYC4gIFNlZSB0aGUgIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdyBmb3IgZ3VpZGFuY2Ugb24gcmVmZXJlbmNpbmcgYW5vdGhlciBPYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvblN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyZWdpc3RlcmVkIHwgcHJlbGltaW5hcnkgfCBmaW5hbCB8IGFtZW5kZWQgKyIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzdWx0IHZhbHVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblN0YXR1cyIgZGVzY3JpcHRpb249IkNvZGVzIHByb3ZpZGluZyB0aGUgc3RhdHVzIG9mIGFuIG9ic2VydmF0aW9uLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2xpbmljYWwtdGVzdCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xpbmljYWwgVGVzdCBOYW1lIiBkZWZpbml0aW9uPSJUaGUgbmFtZSBvZiB0aGUgbm9uLWltYWdpbmcgb3Igbm9uLWxhYm9yYXRvcnkgdGVzdCBwZXJmb3JtZWQgb24gYSBwYXRpZW50LiAgQSBMT0lOQyAqKlNIQUxMKiogYmUgdXNlZCBpZiB0aGUgY29uY2VwdCBpcyBwcmVzZW50IGluIExPSU5DLiIgY29tbWVudD0iVGhlIHR5cGljYWwgcGF0dGVybnMgZm9yIGNvZGVzIGFyZTogIDEpICBhIExPSU5DIGNvZGUgZWl0aGVyIGFzIGEgdHJhbnNsYXRpb24gZnJvbSBhICZxdW90O2xvY2FsJnF1b3Q7IGNvZGUgb3IgYXMgYSBwcmltYXJ5IGNvZGUsIG9yIDIpICBhIGxvY2FsIGNvZGUgb25seSBpZiBubyBzdWl0YWJsZSBMT0lOQyBleGlzdHMsICBvciAzKSAgYm90aCB0aGUgbG9jYWwgYW5kIHRoZSBMT0lOQyB0cmFuc2xhdGlvbi4gICBTeXN0ZW1zIFNIQUxMIGJlIGNhcGFibGUgb2Ygc2VuZGluZyB0aGUgbG9jYWwgY29kZSBpZiBvbmUgZXhpc3RzLiAgV2hlbiB1c2luZyBMT0lOQyAsIFVzZSBlaXRoZXIgdGhlIFNIT1JUTkFNRSBvciBMT05HX0NPTU1PTl9OQU1FIGZpZWxkIGZvciB0aGUgZGlzcGxheS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jdXMiIGRlc2NyaXB0aW9uPSJXaGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCwgd2hlbiBpdCBpcyBub3QgYWJvdXQgdGhlIHN1YmplY3Qgb2YgcmVjb3JkIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIHdoZW4gaXQgaXMgbm90IHRoZSBwYXRpZW50IG9mIHJlY29yZCByZXByZXNlbnRpbmcgc29tZXRoaW5nIG9yIHNvbWVvbmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYXRpZW50IHN1Y2ggYXMgYSBzcG91c2UsIHBhcmVudCwgZmV0dXMsIG9yIGRvbm9yLiBGb3IgZXhhbXBsZSwgZmV0dXMgb2JzZXJ2YXRpb25zIGluIGEgbW90aGVyJ3MgcmVjb3JkLiAgVGhlIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIGNvdWxkIGFsc28gYmUgYW4gZXhpc3RpbmcgY29uZGl0aW9uLCAgYW4gaW50ZXJ2ZW50aW9uLCB0aGUgc3ViamVjdCdzIGRpZXQsICBhbm90aGVyIG9ic2VydmF0aW9uIG9mIHRoZSBzdWJqZWN0LCAgb3IgYSBib2R5IHN0cnVjdHVyZSBzdWNoIGFzIHR1bW9yIG9yIGltcGxhbnRlZCBkZXZpY2UuICAgQW4gZXhhbXBsZSB1c2UgY2FzZSB3b3VsZCBiZSB1c2luZyB0aGUgT2JzZXJ2YXRpb24gcmVzb3VyY2UgdG8gY2FwdHVyZSB3aGV0aGVyIHRoZSBtb3RoZXIgaXMgdHJhaW5lZCB0byBjaGFuZ2UgaGVyIGNoaWxkJ3MgdHJhY2hlb3N0b215IHR1YmUuIEluIHRoaXMgZXhhbXBsZSwgdGhlIGNoaWxkIGlzIHRoZSBwYXRpZW50IG9mIHJlY29yZCBhbmQgdGhlIG1vdGhlciBpcyB0aGUgZm9jdXMuIiBjb21tZW50PSJUeXBpY2FsbHksIGFuIG9ic2VydmF0aW9uIGlzIG1hZGUgYWJvdXQgdGhlIHN1YmplY3QgLSBhIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIC0gYW5kIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRoZSBzdWJqZWN0IGFuZCB3aGF0IGlzIGRpcmVjdGx5IG1lYXN1cmVkIGZvciBhbiBvYnNlcnZhdGlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIG9ic2VydmF0aW9uIGNvZGUgaXRzZWxmICggZS5nLiwgJnF1b3Q7Qmxvb2QgR2x1Y29zZSZxdW90OykgYW5kIGRvZXMgbm90IG5lZWQgdG8gYmUgcmVwcmVzZW50ZWQgc2VwYXJhdGVseSB1c2luZyB0aGlzIGVsZW1lbnQuICBVc2UgYHNwZWNpbWVuYCBpZiBhIHJlZmVyZW5jZSB0byBhIHNwZWNpbWVuIGlzIHJlcXVpcmVkLiAgSWYgYSBjb2RlIGlzIHJlcXVpcmVkIGluc3RlYWQgb2YgYSByZXNvdXJjZSB1c2UgZWl0aGVyICBgYm9keXNpdGVgIGZvciBib2R5c2l0ZXMgb3IgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbZm9jdXNDb2RlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1vYnNlcnZhdGlvbi1mb2N1c2NvZGUuaHRtbCkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGluaWNhbGx5IHJlbGV2YW50IHRpbWUvdGltZS1wZXJpb2QgZm9yIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgdGltZSBvciB0aW1lLXBlcmlvZCB0aGUgb2JzZXJ2ZWQgdmFsdWUgaXMgYXNzZXJ0ZWQgYXMgYmVpbmcgdHJ1ZS4gRm9yIGJpb2xvZ2ljYWwgc3ViamVjdHMgLSBlLmcuIGh1bWFuIHBhdGllbnRzIC0gdGhpcyBpcyB1c3VhbGx5IGNhbGxlZCB0aGUgJnF1b3Q7cGh5c2lvbG9naWNhbGx5IHJlbGV2YW50IHRpbWUmcXVvdDsuIFRoaXMgaXMgdXN1YWxseSBlaXRoZXIgdGhlIHRpbWUgb2YgdGhlIHByb2NlZHVyZSBvciBvZiBzcGVjaW1lbiBjb2xsZWN0aW9uLCBidXQgdmVyeSBvZnRlbiB0aGUgc291cmNlIG9mIHRoZSBkYXRlL3RpbWUgaXMgbm90IGtub3duLCBvbmx5IHRoZSBkYXRlL3RpbWUgaXRzZWxmLiIgY29tbWVudD0iQXQgbGVhc3QgYSBkYXRlIHNob3VsZCBiZSBwcmVzZW50IHVubGVzcyB0aGlzIG9ic2VydmF0aW9uIGlzIGEgaGlzdG9yaWNhbCByZXBvcnQuICBGb3IgcmVjb3JkaW5nIGltcHJlY2lzZSBvciAmcXVvdDtmdXp6eSZxdW90OyB0aW1lcyAoRm9yIGV4YW1wbGUsIGEgYmxvb2QgZ2x1Y29zZSBtZWFzdXJlbWVudCB0YWtlbiAmcXVvdDthZnRlciBicmVha2Zhc3QmcXVvdDspIHVzZSB0aGUgW1RpbWluZ10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9kYXRhdHlwZXMuaHRtbCN0aW1pbmcpIGRhdGF0eXBlIHdoaWNoIGFsbG93IHRoZSBtZWFzdXJlbWVudCB0byBiZSB0aWVkIHRvIHJlZ3VsYXIgbGlmZSBldmVudHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJUaW1pbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idXMtY29yZS0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IkRhdGV0aW1lIG11c3QgYmUgYXQgbGVhc3QgdG8gZGF5LiI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIkdGhpcyBpcyBEYXRlVGltZSBpbXBsaWVzICR0aGlzLnRvU3RyaW5nKCkubGVuZ3RoKCkgPj0gMTAiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imlzc3VlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEYXRlL1RpbWUgdGhpcyB2ZXJzaW9uIHdhcyBtYWRlIGF2YWlsYWJsZSIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgYW5kIHRpbWUgdGhpcyB2ZXJzaW9uIG9mIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSBhdmFpbGFibGUgdG8gcHJvdmlkZXJzLCB0eXBpY2FsbHkgYWZ0ZXIgdGhlIHJlc3VsdHMgaGF2ZSBiZWVuIHJldmlld2VkIGFuZCB2ZXJpZmllZC4iIGNvbW1lbnQ9IkZvciBPYnNlcnZhdGlvbnMgdGhhdCBkb27igJl0IHJlcXVpcmUgcmV2aWV3IGFuZCB2ZXJpZmljYXRpb24sIGl0IG1heSBiZSB0aGUgc2FtZSBhcyB0aGUgW2BsYXN0VXBkYXRlZGAgXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3Jlc291cmNlLWRlZmluaXRpb25zLmh0bWwjTWV0YS5sYXN0VXBkYXRlZCkgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmLiAgRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvIHJlcXVpcmUgcmV2aWV3IGFuZCB2ZXJpZmljYXRpb24gZm9yIGNlcnRhaW4gdXBkYXRlcywgaXQgbWlnaHQgbm90IGJlIHRoZSBzYW1lIGFzIHRoZSBgbGFzdFVwZGF0ZWRgIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZiBkdWUgdG8gYSBub24tY2xpbmljYWxseSBzaWduaWZpY2FudCB1cGRhdGUgdGhhdCBkb2VzbuKAmXQgcmVxdWlyZSB0aGUgbmV3IHZlcnNpb24gdG8gYmUgcmV2aWV3ZWQgYW5kIHZlcmlmaWVkIGFnYWluLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJXaG8gaXMgcmVzcG9uc2libGUgZm9yIHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iV2hvIHdhcyByZXNwb25zaWJsZSBmb3IgYXNzZXJ0aW5nIHRoZSBvYnNlcnZlZCB2YWx1ZSBhcyAmcXVvdDt0cnVlJnF1b3Q7LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmVzdWx0IFZhbHVlIiBkZWZpbml0aW9uPSJUaGUgaW5mb3JtYXRpb24gZGV0ZXJtaW5lZCBhcyBhIHJlc3VsdCBvZiBtYWtpbmcgdGhlIG9ic2VydmF0aW9uLCBpZiB0aGUgaW5mb3JtYXRpb24gaGFzIGEgc2ltcGxlIHZhbHVlLiIgY29tbWVudD0iQW4gb2JzZXJ2YXRpb24gbWF5IGhhdmU7IDEpICBhIHNpbmdsZSB2YWx1ZSBoZXJlLCAyKSAgYm90aCBhIHZhbHVlIGFuZCBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMsICBvciAzKSAgb25seSBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMuIElmIGEgdmFsdWUgaXMgcHJlc2VudCwgdGhlIGRhdGF0eXBlIGZvciB0aGlzIGVsZW1lbnQgc2hvdWxkIGJlIGRldGVybWluZWQgYnkgT2JzZXJ2YXRpb24uY29kZS4gIEEgQ29kZWFibGVDb25jZXB0IHdpdGgganVzdCBhIHRleHQgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGlmIHRoZSBmaWVsZCB3YXMgdXN1YWxseSBjb2RlZCwgb3IgaWYgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBPYnNlcnZhdGlvbi5jb2RlIGRlZmluZXMgYSBjb2RlZCB2YWx1ZS4gIEZvciBhZGRpdGlvbmFsIGd1aWRhbmNlLCBzZWUgdGhlIFtOb3RlcyBzZWN0aW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJCb29sZWFuIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlJhdGlvIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InVzLWNvcmUtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJTSEFMTCB1c2UgVUNVTSBmb3IgY29kZWQgcXVhbnRpdHkgdW5pdHMuIj4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InZhbHVlUXVhbnRpdHkuc3lzdGVtLmVtcHR5KCkgb3IgdmFsdWVRdWFudGl0eS5zeXN0ZW0gPSAnaHR0cDovL3VuaXRzb2ZtZWFzdXJlLm9yZyciLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGFBYnNlbnRSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoeSB0aGUgcmVzdWx0IGlzIG1pc3NpbmciIGRlZmluaXRpb249IlByb3ZpZGVzIGEgcmVhc29uIHdoeSB0aGUgZXhwZWN0ZWQgdmFsdWUgaW4gdGhlIGVsZW1lbnQgT2JzZXJ2YXRpb24udmFsdWVbeF0gaXMgbWlzc2luZy4iIGNvbW1lbnQ9Ik51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzIGNhbiBiZSByZXByZXNlbnRlZCB0d28gd2F5cyBpbiBGSElSIE9ic2VydmF0aW9ucy4gIE9uZSB3YXkgaXMgdG8gc2ltcGx5IGluY2x1ZGUgdGhlbSBpbiB0aGUgdmFsdWUgc2V0IGFuZCByZXByZXNlbnQgdGhlIGV4Y2VwdGlvbnMgaW4gdGhlIHZhbHVlLiAgRm9yIGV4YW1wbGUsIG1lYXN1cmVtZW50IHZhbHVlcyBmb3IgYSBzZXJvbG9neSB0ZXN0IGNvdWxkIGJlICAmcXVvdDtkZXRlY3RlZCZxdW90OywgJnF1b3Q7bm90IGRldGVjdGVkJnF1b3Q7LCAmcXVvdDtpbmNvbmNsdXNpdmUmcXVvdDssIG9yICAmcXVvdDtzcGVjaW1lbiB1bnNhdGlzZmFjdG9yeSZxdW90Oy4gICAmI3hhOyYjeGE7VGhlIGFsdGVybmF0ZSB3YXkgaXMgdG8gdXNlIHRoZSB2YWx1ZSBlbGVtZW50IGZvciBhY3R1YWwgb2JzZXJ2YXRpb25zIGFuZCB1c2UgdGhlIGV4cGxpY2l0IGRhdGFBYnNlbnRSZWFzb24gZWxlbWVudCB0byByZWNvcmQgZXhjZXB0aW9uYWwgdmFsdWVzLiAgRm9yIGV4YW1wbGUsIHRoZSBkYXRhQWJzZW50UmVhc29uIGNvZGUgJnF1b3Q7ZXJyb3ImcXVvdDsgY291bGQgYmUgdXNlZCB3aGVuIHRoZSBtZWFzdXJlbWVudCB3YXMgbm90IGNvbXBsZXRlZC4gTm90ZSB0aGF0IGFuIG9ic2VydmF0aW9uIG1heSBvbmx5IGJlIHJlcG9ydGVkIGlmIHRoZXJlIGFyZSB2YWx1ZXMgdG8gcmVwb3J0LiBGb3IgZXhhbXBsZSBkaWZmZXJlbnRpYWwgY2VsbCBjb3VudHMgdmFsdWVzIG1heSBiZSByZXBvcnRlZCBvbmx5IHdoZW4gPiAwLiAgQmVjYXVzZSBvZiB0aGVzZSBvcHRpb25zLCB1c2UtY2FzZSBhZ3JlZW1lbnRzIGFyZSByZXF1aXJlZCB0byBpbnRlcnByZXQgZ2VuZXJhbCBvYnNlcnZhdGlvbnMgZm9yIG51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblZhbHVlQWJzZW50UmVhc29uIiBkZXNjcmlwdGlvbj0iQ29kZXMgc3BlY2lmeWluZyB3aHkgdGhlIHJlc3VsdCAoYE9ic2VydmF0aW9uLnZhbHVlW3hdYCkgaXMgbWlzc2luZy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZXJwcmV0YXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIaWdoLCBsb3csIG5vcm1hbCwgZXRjLiIgZGVmaW5pdGlvbj0iQSBjYXRlZ29yaWNhbCBhc3Nlc3NtZW50IG9mIGFuIG9ic2VydmF0aW9uIHZhbHVlLiAgRm9yIGV4YW1wbGUsIGhpZ2gsIGxvdywgbm9ybWFsLiIgY29tbWVudD0iSGlzdG9yaWNhbGx5IHVzZWQgZm9yIGxhYm9yYXRvcnkgcmVzdWx0cyAoa25vd24gYXMgJ2Fibm9ybWFsIGZsYWcnICksICBpdHMgdXNlIGV4dGVuZHMgdG8gb3RoZXIgdXNlIGNhc2VzIHdoZXJlIGNvZGVkIGludGVycHJldGF0aW9ucyAgYXJlIHJlbGV2YW50LiAgT2Z0ZW4gcmVwb3J0ZWQgYXMgb25lIG9yIG1vcmUgc2ltcGxlIGNvbXBhY3QgY29kZXMgdGhpcyBlbGVtZW50IGlzIG9mdGVuIHBsYWNlZCBhZGphY2VudCB0byB0aGUgcmVzdWx0IHZhbHVlIGluIHJlcG9ydHMgYW5kIGZsb3cgc2hlZXRzIHRvIHNpZ25hbCB0aGUgbWVhbmluZy9ub3JtYWxjeSBzdGF0dXMgb2YgdGhlIHJlc3VsdC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uSW50ZXJwcmV0YXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBpbnRlcnByZXRhdGlvbnMgb2Ygb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24gb3IgdGhlIHJlc3VsdHMuIiBjb21tZW50PSJNYXkgaW5jbHVkZSBnZW5lcmFsIHN0YXRlbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uLCBvciBzdGF0ZW1lbnRzIGFib3V0IHNpZ25pZmljYW50LCB1bmV4cGVjdGVkIG9yIHVucmVsaWFibGUgcmVzdWx0cyB2YWx1ZXMsIG9yIGluZm9ybWF0aW9uIGFib3V0IGl0cyBzb3VyY2Ugd2hlbiByZWxldmFudCB0byBpdHMgaW50ZXJwcmV0YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik9ic2VydmVkIGJvZHkgcGFydCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBzaXRlIG9uIHRoZSBzdWJqZWN0J3MgYm9keSB3aGVyZSB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgKGkuZS4gdGhlIHRhcmdldCBzaXRlKS4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBPYnNlcnZhdGlvbi5jb2RlLiAgSW4gbWFueSBzeXN0ZW1zLCB0aGlzIG1heSBiZSByZXByZXNlbnRlZCBhcyBhIHJlbGF0ZWQgb2JzZXJ2YXRpb24gaW5zdGVhZCBvZiBhbiBpbmxpbmUgY29tcG9uZW50LiAgICYjeGE7JiN4YTtJZiB0aGUgdXNlIGNhc2UgcmVxdWlyZXMgQm9keVNpdGUgdG8gYmUgaGFuZGxlZCBhcyBhIHNlcGFyYXRlIHJlc291cmNlIChlLmcuIHRvIGlkZW50aWZ5IGFuZCB0cmFjayBzZXBhcmF0ZWx5KSB0aGVuIHVzZSB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uWyBib2R5U2l0ZV0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9leHRlbnNpb24tYm9keXNpdGUuaHRtbCkuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQm9keVNpdGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGFuYXRvbWljYWwgbG9jYXRpb25zLiBNYXkgaW5jbHVkZSBsYXRlcmFsaXR5LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBpdCB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWNoYW5pc20gdXNlZCB0byBwZXJmb3JtIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3IgT2JzZXJ2YXRpb24uY29kZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpbWVuIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlNwZWNpbWVuIHVzZWQgZm9yIHRoaXMgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSBzcGVjaW1lbiB0aGF0IHdhcyB1c2VkIHdoZW4gdGhpcyBvYnNlcnZhdGlvbiB3YXMgbWFkZS4iIGNvbW1lbnQ9IlNob3VsZCBvbmx5IGJlIHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gYE9ic2VydmF0aW9uLmNvZGVgLiAgT2JzZXJ2YXRpb25zIGFyZSBub3QgbWFkZSBvbiBzcGVjaW1lbnMgdGhlbXNlbHZlczsgdGhleSBhcmUgbWFkZSBvbiBhIHN1YmplY3QsIGJ1dCBpbiBtYW55IGNhc2VzIGJ5IHRoZSBtZWFucyBvZiBhIHNwZWNpbWVuLiBOb3RlIHRoYXQgYWx0aG91Z2ggc3BlY2ltZW5zIGFyZSBvZnRlbiBpbnZvbHZlZCwgdGhleSBhcmUgbm90IGFsd2F5cyB0cmFja2VkIGFuZCByZXBvcnRlZCBleHBsaWNpdGx5LiBBbHNvIG5vdGUgdGhhdCBvYnNlcnZhdGlvbiByZXNvdXJjZXMgbWF5IGJlIHVzZWQgaW4gY29udGV4dHMgdGhhdCB0cmFjayB0aGUgc3BlY2ltZW4gZXhwbGljaXRseSAoZS5nLiBEaWFnbm9zdGljIFJlcG9ydCkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRldmljZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoTWVhc3VyZW1lbnQpIERldmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBvYnNlcnZhdGlvbiBkYXRhLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgaXMgbm90IG1lYW50IHRvIHJlcHJlc2VudCBhIGRldmljZSBpbnZvbHZlZCBpbiB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoZSByZXN1bHQsIGUuZy4sIGEgZ2F0ZXdheS4gIFN1Y2ggZGV2aWNlcyBtYXkgYmUgZG9jdW1lbnRlZCB1c2luZyB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZSB3aGVyZSByZWxldmFudC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVmZXJlbmNlUmFuZ2UiIGRlc2NyaXB0aW9uPSJQcm92aWRlcyBndWlkZSBmb3IgaW50ZXJwcmV0YXRpb24iIGRlZmluaXRpb249Ikd1aWRhbmNlIG9uIGhvdyB0byBpbnRlcnByZXQgdGhlIHZhbHVlIGJ5IGNvbXBhcmlzb24gdG8gYSBub3JtYWwgb3IgcmVjb21tZW5kZWQgcmFuZ2UuICBNdWx0aXBsZSByZWZlcmVuY2UgcmFuZ2VzIGFyZSBpbnRlcnByZXRlZCBhcyBhbiAmcXVvdDtPUiZxdW90Oy4gICBJbiBvdGhlciB3b3JkcywgdG8gcmVwcmVzZW50IHR3byBkaXN0aW5jdCB0YXJnZXQgcG9wdWxhdGlvbnMsIHR3byBgcmVmZXJlbmNlUmFuZ2VgIGVsZW1lbnRzIHdvdWxkIGJlIHVzZWQuIiBjb21tZW50PSJNb3N0IG9ic2VydmF0aW9ucyBvbmx5IGhhdmUgb25lIGdlbmVyaWMgcmVmZXJlbmNlIHJhbmdlLiBTeXN0ZW1zIE1BWSBjaG9vc2UgdG8gcmVzdHJpY3QgdG8gb25seSBzdXBwbHlpbmcgdGhlIHJlbGV2YW50IHJlZmVyZW5jZSByYW5nZSBiYXNlZCBvbiBrbm93bGVkZ2UgYWJvdXQgdGhlIHBhdGllbnQgKGUuZy4sIHNwZWNpZmljIHRvIHRoZSBwYXRpZW50J3MgYWdlLCBnZW5kZXIsIHdlaWdodCBhbmQgb3RoZXIgZmFjdG9ycyksIGJ1dCB0aGlzIG1pZ2h0IG5vdCBiZSBwb3NzaWJsZSBvciBhcHByb3ByaWF0ZS4gV2hlbmV2ZXIgbW9yZSB0aGFuIG9uZSByZWZlcmVuY2UgcmFuZ2UgaXMgc3VwcGxpZWQsIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZW0gU0hPVUxEIGJlIHByb3ZpZGVkIGluIHRoZSByZWZlcmVuY2UgcmFuZ2UgYW5kL29yIGFnZSBwcm9wZXJ0aWVzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0ib2JzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iTXVzdCBoYXZlIGF0IGxlYXN0IGEgbG93IG9yIGEgaGlnaCBvciB0ZXh0Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Imxvdy5leGlzdHMoKSBvciBoaWdoLmV4aXN0cygpIG9yIHRleHQuZXhpc3RzKCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imhhc01lbWJlciIgZGVzY3JpcHRpb249IlJlbGF0ZWQgcmVzb3VyY2UgdGhhdCBiZWxvbmdzIHRvIHRoZSBPYnNlcnZhdGlvbiBncm91cCIgZGVmaW5pdGlvbj0iVGhpcyBvYnNlcnZhdGlvbiBpcyBhIGdyb3VwIG9ic2VydmF0aW9uIChlLmcuIGEgYmF0dGVyeSwgYSBwYW5lbCBvZiB0ZXN0cywgYSBzZXQgb2Ygdml0YWwgc2lnbiBtZWFzdXJlbWVudHMpIHRoYXQgaW5jbHVkZXMgdGhlIHRhcmdldCBhcyBhIG1lbWJlciBvZiB0aGUgZ3JvdXAuIiBjb21tZW50PSJXaGVuIHVzaW5nIHRoaXMgZWxlbWVudCwgYW4gb2JzZXJ2YXRpb24gd2lsbCB0eXBpY2FsbHkgaGF2ZSBlaXRoZXIgYSB2YWx1ZSBvciBhIHNldCBvZiByZWxhdGVkIHJlc291cmNlcywgYWx0aG91Z2ggYm90aCBtYXkgYmUgcHJlc2VudCBpbiBzb21lIGNhc2VzLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuICBOb3RlIHRoYXQgYSBzeXN0ZW0gbWF5IGNhbGN1bGF0ZSByZXN1bHRzIGZyb20gW1F1ZXN0aW9ubmFpcmVSZXNwb25zZV0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9xdWVzdGlvbm5haXJlcmVzcG9uc2UuaHRtbCkgIGludG8gYSBmaW5hbCBzY29yZSBhbmQgcmVwcmVzZW50IHRoZSBzY29yZSBhcyBhbiBPYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRlcml2ZWRGcm9tIiBkZXNjcmlwdGlvbj0iUmVsYXRlZCBtZWFzdXJlbWVudHMgdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgZnJvbSIgZGVmaW5pdGlvbj0iVGhlIHRhcmdldCByZXNvdXJjZSB0aGF0IHJlcHJlc2VudHMgYSBtZWFzdXJlbWVudCBmcm9tIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gdmFsdWUgaXMgZGVyaXZlZC4gRm9yIGV4YW1wbGUsIGEgY2FsY3VsYXRlZCBhbmlvbiBnYXAgb3IgYSBmZXRhbCBtZWFzdXJlbWVudCBiYXNlZCBvbiBhbiB1bHRyYXNvdW5kIGltYWdlLiIgY29tbWVudD0iQWxsIHRoZSByZWZlcmVuY2UgY2hvaWNlcyB0aGF0IGFyZSBsaXN0ZWQgaW4gdGhpcyBlbGVtZW50IGNhbiByZXByZXNlbnQgY2xpbmljYWwgb2JzZXJ2YXRpb25zIGFuZCBvdGhlciBtZWFzdXJlbWVudHMgdGhhdCBtYXkgYmUgdGhlIHNvdXJjZSBmb3IgYSBkZXJpdmVkIHZhbHVlLiAgVGhlIG1vc3QgY29tbW9uIHJlZmVyZW5jZSB3aWxsIGJlIGFub3RoZXIgT2JzZXJ2YXRpb24uICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbXBvbmVudCIgZGVzY3JpcHRpb249IkNvbXBvbmVudCByZXN1bHRzIiBkZWZpbml0aW9uPSJTb21lIG9ic2VydmF0aW9ucyBoYXZlIG11bHRpcGxlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMuICBUaGVzZSBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGFyZSBleHByZXNzZWQgYXMgc2VwYXJhdGUgY29kZSB2YWx1ZSBwYWlycyB0aGF0IHNoYXJlIHRoZSBzYW1lIGF0dHJpYnV0ZXMuICBFeGFtcGxlcyBpbmNsdWRlIHN5c3RvbGljIGFuZCBkaWFzdG9saWMgY29tcG9uZW50IG9ic2VydmF0aW9ucyBmb3IgYmxvb2QgcHJlc3N1cmUgbWVhc3VyZW1lbnQgYW5kIG11bHRpcGxlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgZm9yIGdlbmV0aWNzIG9ic2VydmF0aW9ucy4iIGNvbW1lbnQ9IkZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBiZSBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJPYnNlcnZhdGlvbkltYWdpbmdSZXN1bHQiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW9ic2VydmF0aW9uLWltYWdpbmciIGxhYmVsPSJRSUNvcmUgT2JzZXJ2YXRpb24gSW1hZ2luZyBSZXN1bHQiIHRhcmdldD0iT2JzZXJ2YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IlBhcnQgb2YgcmVmZXJlbmNlZCBldmVudCIgZGVmaW5pdGlvbj0iQSBsYXJnZXIgZXZlbnQgb2Ygd2hpY2ggdGhpcyBwYXJ0aWN1bGFyIE9ic2VydmF0aW9uIGlzIGEgY29tcG9uZW50IG9yIHN0ZXAuICBGb3IgZXhhbXBsZSwgIGFuIG9ic2VydmF0aW9uIGFzIHBhcnQgb2YgYSBwcm9jZWR1cmUuIiBjb21tZW50PSJUbyBsaW5rIGFuIE9ic2VydmF0aW9uIHRvIGFuIEVuY291bnRlciB1c2UgYGVuY291bnRlcmAuICBTZWUgdGhlICBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cgZm9yIGd1aWRhbmNlIG9uIHJlZmVyZW5jaW5nIGFub3RoZXIgT2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb25TdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icmVnaXN0ZXJlZCB8IHByZWxpbWluYXJ5IHwgZmluYWwgfCBhbWVuZGVkICsiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHJlc3VsdCB2YWx1ZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25TdGF0dXMiIGRlc2NyaXB0aW9uPSJDb2RlcyBwcm92aWRpbmcgdGhlIHN0YXR1cyBvZiBhbiBvYnNlcnZhdGlvbi4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImltYWdpbmciIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkltYWdpbmcgTmFtZSIgZGVmaW5pdGlvbj0iVGhlIG5hbWUgb2YgdGhlIGltYWdpbmcgdGVzdCBwZXJmb3JtZWQgb24gYSBwYXRpZW50LiAgQSBMT0lOQyAqKlNIQUxMKiogYmUgdXNlZCBpZiB0aGUgY29uY2VwdCBpcyBwcmVzZW50IGluIExPSU5DLiIgY29tbWVudD0iVGhlIHR5cGljYWwgcGF0dGVybnMgZm9yIGNvZGVzIGFyZTogIDEpICBhIExPSU5DIGNvZGUgZWl0aGVyIGFzIGEgdHJhbnNsYXRpb24gZnJvbSBhICZxdW90O2xvY2FsJnF1b3Q7IGNvZGUgb3IgYXMgYSBwcmltYXJ5IGNvZGUsIG9yIDIpICBhIGxvY2FsIGNvZGUgb25seSBpZiBubyBzdWl0YWJsZSBMT0lOQyBleGlzdHMsICBvciAzKSAgYm90aCB0aGUgbG9jYWwgYW5kIHRoZSBMT0lOQyB0cmFuc2xhdGlvbi4gICBTeXN0ZW1zIFNIQUxMIGJlIGNhcGFibGUgb2Ygc2VuZGluZyB0aGUgbG9jYWwgY29kZSBpZiBvbmUgZXhpc3RzLiAgV2hlbiB1c2luZyBMT0lOQyAsIFVzZSBlaXRoZXIgdGhlIFNIT1JUTkFNRSBvciBMT05HX0NPTU1PTl9OQU1FIGZpZWxkIGZvciB0aGUgZGlzcGxheS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jdXMiIGRlc2NyaXB0aW9uPSJXaGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCwgd2hlbiBpdCBpcyBub3QgYWJvdXQgdGhlIHN1YmplY3Qgb2YgcmVjb3JkIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIHdoZW4gaXQgaXMgbm90IHRoZSBwYXRpZW50IG9mIHJlY29yZCByZXByZXNlbnRpbmcgc29tZXRoaW5nIG9yIHNvbWVvbmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYXRpZW50IHN1Y2ggYXMgYSBzcG91c2UsIHBhcmVudCwgZmV0dXMsIG9yIGRvbm9yLiBGb3IgZXhhbXBsZSwgZmV0dXMgb2JzZXJ2YXRpb25zIGluIGEgbW90aGVyJ3MgcmVjb3JkLiAgVGhlIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIGNvdWxkIGFsc28gYmUgYW4gZXhpc3RpbmcgY29uZGl0aW9uLCAgYW4gaW50ZXJ2ZW50aW9uLCB0aGUgc3ViamVjdCdzIGRpZXQsICBhbm90aGVyIG9ic2VydmF0aW9uIG9mIHRoZSBzdWJqZWN0LCAgb3IgYSBib2R5IHN0cnVjdHVyZSBzdWNoIGFzIHR1bW9yIG9yIGltcGxhbnRlZCBkZXZpY2UuICAgQW4gZXhhbXBsZSB1c2UgY2FzZSB3b3VsZCBiZSB1c2luZyB0aGUgT2JzZXJ2YXRpb24gcmVzb3VyY2UgdG8gY2FwdHVyZSB3aGV0aGVyIHRoZSBtb3RoZXIgaXMgdHJhaW5lZCB0byBjaGFuZ2UgaGVyIGNoaWxkJ3MgdHJhY2hlb3N0b215IHR1YmUuIEluIHRoaXMgZXhhbXBsZSwgdGhlIGNoaWxkIGlzIHRoZSBwYXRpZW50IG9mIHJlY29yZCBhbmQgdGhlIG1vdGhlciBpcyB0aGUgZm9jdXMuIiBjb21tZW50PSJUeXBpY2FsbHksIGFuIG9ic2VydmF0aW9uIGlzIG1hZGUgYWJvdXQgdGhlIHN1YmplY3QgLSBhIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIC0gYW5kIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRoZSBzdWJqZWN0IGFuZCB3aGF0IGlzIGRpcmVjdGx5IG1lYXN1cmVkIGZvciBhbiBvYnNlcnZhdGlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIG9ic2VydmF0aW9uIGNvZGUgaXRzZWxmICggZS5nLiwgJnF1b3Q7Qmxvb2QgR2x1Y29zZSZxdW90OykgYW5kIGRvZXMgbm90IG5lZWQgdG8gYmUgcmVwcmVzZW50ZWQgc2VwYXJhdGVseSB1c2luZyB0aGlzIGVsZW1lbnQuICBVc2UgYHNwZWNpbWVuYCBpZiBhIHJlZmVyZW5jZSB0byBhIHNwZWNpbWVuIGlzIHJlcXVpcmVkLiAgSWYgYSBjb2RlIGlzIHJlcXVpcmVkIGluc3RlYWQgb2YgYSByZXNvdXJjZSB1c2UgZWl0aGVyICBgYm9keXNpdGVgIGZvciBib2R5c2l0ZXMgb3IgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbZm9jdXNDb2RlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1vYnNlcnZhdGlvbi1mb2N1c2NvZGUuaHRtbCkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xpbmljYWxseSByZWxldmFudCB0aW1lL3RpbWUtcGVyaW9kIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHRpbWUgb3IgdGltZS1wZXJpb2QgdGhlIG9ic2VydmVkIHZhbHVlIGlzIGFzc2VydGVkIGFzIGJlaW5nIHRydWUuIEZvciBiaW9sb2dpY2FsIHN1YmplY3RzIC0gZS5nLiBodW1hbiBwYXRpZW50cyAtIHRoaXMgaXMgdXN1YWxseSBjYWxsZWQgdGhlICZxdW90O3BoeXNpb2xvZ2ljYWxseSByZWxldmFudCB0aW1lJnF1b3Q7LiBUaGlzIGlzIHVzdWFsbHkgZWl0aGVyIHRoZSB0aW1lIG9mIHRoZSBwcm9jZWR1cmUgb3Igb2Ygc3BlY2ltZW4gY29sbGVjdGlvbiwgYnV0IHZlcnkgb2Z0ZW4gdGhlIHNvdXJjZSBvZiB0aGUgZGF0ZS90aW1lIGlzIG5vdCBrbm93biwgb25seSB0aGUgZGF0ZS90aW1lIGl0c2VsZi4iIGNvbW1lbnQ9IkF0IGxlYXN0IGEgZGF0ZSBzaG91bGQgYmUgcHJlc2VudCB1bmxlc3MgdGhpcyBvYnNlcnZhdGlvbiBpcyBhIGhpc3RvcmljYWwgcmVwb3J0LiAgRm9yIHJlY29yZGluZyBpbXByZWNpc2Ugb3IgJnF1b3Q7ZnV6enkmcXVvdDsgdGltZXMgKEZvciBleGFtcGxlLCBhIGJsb29kIGdsdWNvc2UgbWVhc3VyZW1lbnQgdGFrZW4gJnF1b3Q7YWZ0ZXIgYnJlYWtmYXN0JnF1b3Q7KSB1c2UgdGhlIFtUaW1pbmddKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZGF0YXR5cGVzLmh0bWwjdGltaW5nKSBkYXRhdHlwZSB3aGljaCBhbGxvdyB0aGUgbWVhc3VyZW1lbnQgdG8gYmUgdGllZCB0byByZWd1bGFyIGxpZmUgZXZlbnRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGltaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InVzLWNvcmUtMSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJEYXRldGltZSBtdXN0IGJlIGF0IGxlYXN0IHRvIGRheS4iPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iJHRoaXMgaXMgRGF0ZVRpbWUgaW1wbGllcyAkdGhpcy50b1N0cmluZygpLmxlbmd0aCgpID49IDEwIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IldobyB3YXMgcmVzcG9uc2libGUgZm9yIGFzc2VydGluZyB0aGUgb2JzZXJ2ZWQgdmFsdWUgYXMgJnF1b3Q7dHJ1ZSZxdW90Oy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZXN1bHQgVmFsdWUiIGRlZmluaXRpb249IlRoZSBpbmZvcm1hdGlvbiBkZXRlcm1pbmVkIGFzIGEgcmVzdWx0IG9mIG1ha2luZyB0aGUgb2JzZXJ2YXRpb24sIGlmIHRoZSBpbmZvcm1hdGlvbiBoYXMgYSBzaW1wbGUgdmFsdWUuIiBjb21tZW50PSJBbiBvYnNlcnZhdGlvbiBtYXkgaGF2ZTsgMSkgIGEgc2luZ2xlIHZhbHVlIGhlcmUsIDIpICBib3RoIGEgdmFsdWUgYW5kIGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcywgIG9yIDMpICBvbmx5IGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcy4gSWYgYSB2YWx1ZSBpcyBwcmVzZW50LCB0aGUgZGF0YXR5cGUgZm9yIHRoaXMgZWxlbWVudCBzaG91bGQgYmUgZGV0ZXJtaW5lZCBieSBPYnNlcnZhdGlvbi5jb2RlLiAgQSBDb2RlYWJsZUNvbmNlcHQgd2l0aCBqdXN0IGEgdGV4dCB3b3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgYSBzdHJpbmcgaWYgdGhlIGZpZWxkIHdhcyB1c3VhbGx5IGNvZGVkLCBvciBpZiB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhlIE9ic2VydmF0aW9uLmNvZGUgZGVmaW5lcyBhIGNvZGVkIHZhbHVlLiAgRm9yIGFkZGl0aW9uYWwgZ3VpZGFuY2UsIHNlZSB0aGUgW05vdGVzIHNlY3Rpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkJvb2xlYW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUmF0aW8iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU2FtcGxlZERhdGEiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idXMtY29yZS0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IlNIQUxMIHVzZSBVQ1VNIGZvciBjb2RlZCBxdWFudGl0eSB1bml0cy4iPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0idmFsdWVRdWFudGl0eS5zeXN0ZW0uZW1wdHkoKSBvciB2YWx1ZVF1YW50aXR5LnN5c3RlbSA9ICdodHRwOi8vdW5pdHNvZm1lYXN1cmUub3JnJyIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YUFic2VudFJlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2h5IHRoZSByZXN1bHQgaXMgbWlzc2luZyIgZGVmaW5pdGlvbj0iUHJvdmlkZXMgYSByZWFzb24gd2h5IHRoZSBleHBlY3RlZCB2YWx1ZSBpbiB0aGUgZWxlbWVudCBPYnNlcnZhdGlvbi52YWx1ZVt4XSBpcyBtaXNzaW5nLiIgY29tbWVudD0iTnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMgY2FuIGJlIHJlcHJlc2VudGVkIHR3byB3YXlzIGluIEZISVIgT2JzZXJ2YXRpb25zLiAgT25lIHdheSBpcyB0byBzaW1wbHkgaW5jbHVkZSB0aGVtIGluIHRoZSB2YWx1ZSBzZXQgYW5kIHJlcHJlc2VudCB0aGUgZXhjZXB0aW9ucyBpbiB0aGUgdmFsdWUuICBGb3IgZXhhbXBsZSwgbWVhc3VyZW1lbnQgdmFsdWVzIGZvciBhIHNlcm9sb2d5IHRlc3QgY291bGQgYmUgICZxdW90O2RldGVjdGVkJnF1b3Q7LCAmcXVvdDtub3QgZGV0ZWN0ZWQmcXVvdDssICZxdW90O2luY29uY2x1c2l2ZSZxdW90Oywgb3IgICZxdW90O3NwZWNpbWVuIHVuc2F0aXNmYWN0b3J5JnF1b3Q7LiAgICYjeGE7JiN4YTtUaGUgYWx0ZXJuYXRlIHdheSBpcyB0byB1c2UgdGhlIHZhbHVlIGVsZW1lbnQgZm9yIGFjdHVhbCBvYnNlcnZhdGlvbnMgYW5kIHVzZSB0aGUgZXhwbGljaXQgZGF0YUFic2VudFJlYXNvbiBlbGVtZW50IHRvIHJlY29yZCBleGNlcHRpb25hbCB2YWx1ZXMuICBGb3IgZXhhbXBsZSwgdGhlIGRhdGFBYnNlbnRSZWFzb24gY29kZSAmcXVvdDtlcnJvciZxdW90OyBjb3VsZCBiZSB1c2VkIHdoZW4gdGhlIG1lYXN1cmVtZW50IHdhcyBub3QgY29tcGxldGVkLiBOb3RlIHRoYXQgYW4gb2JzZXJ2YXRpb24gbWF5IG9ubHkgYmUgcmVwb3J0ZWQgaWYgdGhlcmUgYXJlIHZhbHVlcyB0byByZXBvcnQuIEZvciBleGFtcGxlIGRpZmZlcmVudGlhbCBjZWxsIGNvdW50cyB2YWx1ZXMgbWF5IGJlIHJlcG9ydGVkIG9ubHkgd2hlbiA+IDAuICBCZWNhdXNlIG9mIHRoZXNlIG9wdGlvbnMsIHVzZS1jYXNlIGFncmVlbWVudHMgYXJlIHJlcXVpcmVkIHRvIGludGVycHJldCBnZW5lcmFsIG9ic2VydmF0aW9ucyBmb3IgbnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uVmFsdWVBYnNlbnRSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBzcGVjaWZ5aW5nIHdoeSB0aGUgcmVzdWx0IChgT2JzZXJ2YXRpb24udmFsdWVbeF1gKSBpcyBtaXNzaW5nLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlcnByZXRhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhpZ2gsIGxvdywgbm9ybWFsLCBldGMuIiBkZWZpbml0aW9uPSJBIGNhdGVnb3JpY2FsIGFzc2Vzc21lbnQgb2YgYW4gb2JzZXJ2YXRpb24gdmFsdWUuICBGb3IgZXhhbXBsZSwgaGlnaCwgbG93LCBub3JtYWwuIiBjb21tZW50PSJIaXN0b3JpY2FsbHkgdXNlZCBmb3IgbGFib3JhdG9yeSByZXN1bHRzIChrbm93biBhcyAnYWJub3JtYWwgZmxhZycgKSwgIGl0cyB1c2UgZXh0ZW5kcyB0byBvdGhlciB1c2UgY2FzZXMgd2hlcmUgY29kZWQgaW50ZXJwcmV0YXRpb25zICBhcmUgcmVsZXZhbnQuICBPZnRlbiByZXBvcnRlZCBhcyBvbmUgb3IgbW9yZSBzaW1wbGUgY29tcGFjdCBjb2RlcyB0aGlzIGVsZW1lbnQgaXMgb2Z0ZW4gcGxhY2VkIGFkamFjZW50IHRvIHRoZSByZXN1bHQgdmFsdWUgaW4gcmVwb3J0cyBhbmQgZmxvdyBzaGVldHMgdG8gc2lnbmFsIHRoZSBtZWFuaW5nL25vcm1hbGN5IHN0YXR1cyBvZiB0aGUgcmVzdWx0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25JbnRlcnByZXRhdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIGludGVycHJldGF0aW9ucyBvZiBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiBvciB0aGUgcmVzdWx0cy4iIGNvbW1lbnQ9Ik1heSBpbmNsdWRlIGdlbmVyYWwgc3RhdGVtZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24sIG9yIHN0YXRlbWVudHMgYWJvdXQgc2lnbmlmaWNhbnQsIHVuZXhwZWN0ZWQgb3IgdW5yZWxpYWJsZSByZXN1bHRzIHZhbHVlcywgb3IgaW5mb3JtYXRpb24gYWJvdXQgaXRzIHNvdXJjZSB3aGVuIHJlbGV2YW50IHRvIGl0cyBpbnRlcnByZXRhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2JzZXJ2ZWQgYm9keSBwYXJ0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHNpdGUgb24gdGhlIHN1YmplY3QncyBib2R5IHdoZXJlIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSAoaS5lLiB0aGUgdGFyZ2V0IHNpdGUpLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIE9ic2VydmF0aW9uLmNvZGUuICBJbiBtYW55IHN5c3RlbXMsIHRoaXMgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGEgcmVsYXRlZCBvYnNlcnZhdGlvbiBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb21wb25lbnQuICAgJiN4YTsmI3hhO0lmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBCb2R5U2l0ZSB0byBiZSBoYW5kbGVkIGFzIGEgc2VwYXJhdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb25bIGJvZHlTaXRlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQm9keVNpdGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGFuYXRvbWljYWwgbG9jYXRpb25zLiBNYXkgaW5jbHVkZSBsYXRlcmFsaXR5LiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IGl0IHdhcyBkb25lIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIG1lY2hhbmlzbSB1c2VkIHRvIHBlcmZvcm0gdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvciBPYnNlcnZhdGlvbi5jb2RlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3BlY2ltZW4iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iU3BlY2ltZW4gdXNlZCBmb3IgdGhpcyBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHNwZWNpbWVuIHRoYXQgd2FzIHVzZWQgd2hlbiB0aGlzIG9ic2VydmF0aW9uIHdhcyBtYWRlLiIgY29tbWVudD0iU2hvdWxkIG9ubHkgYmUgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBgT2JzZXJ2YXRpb24uY29kZWAuICBPYnNlcnZhdGlvbnMgYXJlIG5vdCBtYWRlIG9uIHNwZWNpbWVucyB0aGVtc2VsdmVzOyB0aGV5IGFyZSBtYWRlIG9uIGEgc3ViamVjdCwgYnV0IGluIG1hbnkgY2FzZXMgYnkgdGhlIG1lYW5zIG9mIGEgc3BlY2ltZW4uIE5vdGUgdGhhdCBhbHRob3VnaCBzcGVjaW1lbnMgYXJlIG9mdGVuIGludm9sdmVkLCB0aGV5IGFyZSBub3QgYWx3YXlzIHRyYWNrZWQgYW5kIHJlcG9ydGVkIGV4cGxpY2l0bHkuIEFsc28gbm90ZSB0aGF0IG9ic2VydmF0aW9uIHJlc291cmNlcyBtYXkgYmUgdXNlZCBpbiBjb250ZXh0cyB0aGF0IHRyYWNrIHRoZSBzcGVjaW1lbiBleHBsaWNpdGx5IChlLmcuIERpYWdub3N0aWMgUmVwb3J0KS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihNZWFzdXJlbWVudCkgRGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIG9ic2VydmF0aW9uIGRhdGEuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBpcyBub3QgbWVhbnQgdG8gcmVwcmVzZW50IGEgZGV2aWNlIGludm9sdmVkIGluIHRoZSB0cmFuc21pc3Npb24gb2YgdGhlIHJlc3VsdCwgZS5nLiwgYSBnYXRld2F5LiAgU3VjaCBkZXZpY2VzIG1heSBiZSBkb2N1bWVudGVkIHVzaW5nIHRoZSBQcm92ZW5hbmNlIHJlc291cmNlIHdoZXJlIHJlbGV2YW50LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2VSYW5nZSIgZGVzY3JpcHRpb249IlByb3ZpZGVzIGd1aWRlIGZvciBpbnRlcnByZXRhdGlvbiIgZGVmaW5pdGlvbj0iR3VpZGFuY2Ugb24gaG93IHRvIGludGVycHJldCB0aGUgdmFsdWUgYnkgY29tcGFyaXNvbiB0byBhIG5vcm1hbCBvciByZWNvbW1lbmRlZCByYW5nZS4gIE11bHRpcGxlIHJlZmVyZW5jZSByYW5nZXMgYXJlIGludGVycHJldGVkIGFzIGFuICZxdW90O09SJnF1b3Q7LiAgIEluIG90aGVyIHdvcmRzLCB0byByZXByZXNlbnQgdHdvIGRpc3RpbmN0IHRhcmdldCBwb3B1bGF0aW9ucywgdHdvIGByZWZlcmVuY2VSYW5nZWAgZWxlbWVudHMgd291bGQgYmUgdXNlZC4iIGNvbW1lbnQ9Ik1vc3Qgb2JzZXJ2YXRpb25zIG9ubHkgaGF2ZSBvbmUgZ2VuZXJpYyByZWZlcmVuY2UgcmFuZ2UuIFN5c3RlbXMgTUFZIGNob29zZSB0byByZXN0cmljdCB0byBvbmx5IHN1cHBseWluZyB0aGUgcmVsZXZhbnQgcmVmZXJlbmNlIHJhbmdlIGJhc2VkIG9uIGtub3dsZWRnZSBhYm91dCB0aGUgcGF0aWVudCAoZS5nLiwgc3BlY2lmaWMgdG8gdGhlIHBhdGllbnQncyBhZ2UsIGdlbmRlciwgd2VpZ2h0IGFuZCBvdGhlciBmYWN0b3JzKSwgYnV0IHRoaXMgbWlnaHQgbm90IGJlIHBvc3NpYmxlIG9yIGFwcHJvcHJpYXRlLiBXaGVuZXZlciBtb3JlIHRoYW4gb25lIHJlZmVyZW5jZSByYW5nZSBpcyBzdXBwbGllZCwgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlbSBTSE9VTEQgYmUgcHJvdmlkZWQgaW4gdGhlIHJlZmVyZW5jZSByYW5nZSBhbmQvb3IgYWdlIHByb3BlcnRpZXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uUmVmZXJlbmNlUmFuZ2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJvYnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJNdXN0IGhhdmUgYXQgbGVhc3QgYSBsb3cgb3IgYSBoaWdoIG9yIHRleHQiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0ibG93LmV4aXN0cygpIG9yIGhpZ2guZXhpc3RzKCkgb3IgdGV4dC5leGlzdHMoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaGFzTWVtYmVyIiBkZXNjcmlwdGlvbj0iUmVsYXRlZCByZXNvdXJjZSB0aGF0IGJlbG9uZ3MgdG8gdGhlIE9ic2VydmF0aW9uIGdyb3VwIiBkZWZpbml0aW9uPSJUaGlzIG9ic2VydmF0aW9uIGlzIGEgZ3JvdXAgb2JzZXJ2YXRpb24gKGUuZy4gYSBiYXR0ZXJ5LCBhIHBhbmVsIG9mIHRlc3RzLCBhIHNldCBvZiB2aXRhbCBzaWduIG1lYXN1cmVtZW50cykgdGhhdCBpbmNsdWRlcyB0aGUgdGFyZ2V0IGFzIGEgbWVtYmVyIG9mIHRoZSBncm91cC4iIGNvbW1lbnQ9IldoZW4gdXNpbmcgdGhpcyBlbGVtZW50LCBhbiBvYnNlcnZhdGlvbiB3aWxsIHR5cGljYWxseSBoYXZlIGVpdGhlciBhIHZhbHVlIG9yIGEgc2V0IG9mIHJlbGF0ZWQgcmVzb3VyY2VzLCBhbHRob3VnaCBib3RoIG1heSBiZSBwcmVzZW50IGluIHNvbWUgY2FzZXMuICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4gIE5vdGUgdGhhdCBhIHN5c3RlbSBtYXkgY2FsY3VsYXRlIHJlc3VsdHMgZnJvbSBbUXVlc3Rpb25uYWlyZVJlc3BvbnNlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3F1ZXN0aW9ubmFpcmVyZXNwb25zZS5odG1sKSAgaW50byBhIGZpbmFsIHNjb3JlIGFuZCByZXByZXNlbnQgdGhlIHNjb3JlIGFzIGFuIE9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIG1lYXN1cmVtZW50cyB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIG1lYXN1cmVtZW50IGZyb20gd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiB2YWx1ZSBpcyBkZXJpdmVkLiBGb3IgZXhhbXBsZSwgYSBjYWxjdWxhdGVkIGFuaW9uIGdhcCBvciBhIGZldGFsIG1lYXN1cmVtZW50IGJhc2VkIG9uIGFuIHVsdHJhc291bmQgaW1hZ2UuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iQ29tcG9uZW50IHJlc3VsdHMiIGRlZmluaXRpb249IlNvbWUgb2JzZXJ2YXRpb25zIGhhdmUgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucy4gIFRoZXNlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgYXJlIGV4cHJlc3NlZCBhcyBzZXBhcmF0ZSBjb2RlIHZhbHVlIHBhaXJzIHRoYXQgc2hhcmUgdGhlIHNhbWUgYXR0cmlidXRlcy4gIEV4YW1wbGVzIGluY2x1ZGUgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGZvciBibG9vZCBwcmVzc3VyZSBtZWFzdXJlbWVudCBhbmQgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucyBmb3IgZ2VuZXRpY3Mgb2JzZXJ2YXRpb25zLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5Db21wb25lbnQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik9ic2VydmF0aW9uU3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJPYnNlcnZhdGlvblN1cnZleSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtb2JzZXJ2YXRpb24tc3VydmV5IiBsYWJlbD0iUUlDb3JlIE9ic2VydmF0aW9uIFN1cnZleSIgdGFyZ2V0PSJPYnNlcnZhdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY29kZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBJZGVudGlmaWVyIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIG9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJGdWxmaWxscyBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciIgZGVmaW5pdGlvbj0iQSBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciB0aGF0IGlzIGZ1bGZpbGxlZCBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgZXZlbnQuICBGb3IgZXhhbXBsZSwgYSBNZWRpY2F0aW9uUmVxdWVzdCBtYXkgcmVxdWlyZSBhIHBhdGllbnQgdG8gaGF2ZSBsYWJvcmF0b3J5IHRlc3QgcGVyZm9ybWVkIGJlZm9yZSAgaXQgaXMgZGlzcGVuc2VkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iUGFydCBvZiByZWZlcmVuY2VkIGV2ZW50IiBkZWZpbml0aW9uPSJBIGxhcmdlciBldmVudCBvZiB3aGljaCB0aGlzIHBhcnRpY3VsYXIgT2JzZXJ2YXRpb24gaXMgYSBjb21wb25lbnQgb3Igc3RlcC4gIEZvciBleGFtcGxlLCAgYW4gb2JzZXJ2YXRpb24gYXMgcGFydCBvZiBhIHByb2NlZHVyZS4iIGNvbW1lbnQ9IlRvIGxpbmsgYW4gT2JzZXJ2YXRpb24gdG8gYW4gRW5jb3VudGVyIHVzZSBgZW5jb3VudGVyYC4gIFNlZSB0aGUgIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdyBmb3IgZ3VpZGFuY2Ugb24gcmVmZXJlbmNpbmcgYW5vdGhlciBPYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvblN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyZWdpc3RlcmVkIHwgcHJlbGltaW5hcnkgfCBmaW5hbCB8IGFtZW5kZWQgKyIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzdWx0IHZhbHVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblN0YXR1cyIgZGVzY3JpcHRpb249IkNvZGVzIHByb3ZpZGluZyB0aGUgc3RhdHVzIG9mIGFuIG9ic2VydmF0aW9uLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3VydmV5IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUeXBlIG9mIG9ic2VydmF0aW9uIChjb2RlIC8gdHlwZSkiIGRlZmluaXRpb249IkRlc2NyaWJlcyB3aGF0IHdhcyBvYnNlcnZlZC4gU29tZXRpbWVzIHRoaXMgaXMgY2FsbGVkIHRoZSBvYnNlcnZhdGlvbiAmcXVvdDtuYW1lJnF1b3Q7LiIgY29tbWVudD0iKkFsbCogY29kZS12YWx1ZSBhbmQsIGlmIHByZXNlbnQsIGNvbXBvbmVudC5jb2RlLWNvbXBvbmVudC52YWx1ZSBwYWlycyBuZWVkIHRvIGJlIHRha2VuIGludG8gYWNjb3VudCB0byBjb3JyZWN0bHkgdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jdXMiIGRlc2NyaXB0aW9uPSJXaGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCwgd2hlbiBpdCBpcyBub3QgYWJvdXQgdGhlIHN1YmplY3Qgb2YgcmVjb3JkIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIHdoZW4gaXQgaXMgbm90IHRoZSBwYXRpZW50IG9mIHJlY29yZCByZXByZXNlbnRpbmcgc29tZXRoaW5nIG9yIHNvbWVvbmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYXRpZW50IHN1Y2ggYXMgYSBzcG91c2UsIHBhcmVudCwgZmV0dXMsIG9yIGRvbm9yLiBGb3IgZXhhbXBsZSwgZmV0dXMgb2JzZXJ2YXRpb25zIGluIGEgbW90aGVyJ3MgcmVjb3JkLiAgVGhlIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIGNvdWxkIGFsc28gYmUgYW4gZXhpc3RpbmcgY29uZGl0aW9uLCAgYW4gaW50ZXJ2ZW50aW9uLCB0aGUgc3ViamVjdCdzIGRpZXQsICBhbm90aGVyIG9ic2VydmF0aW9uIG9mIHRoZSBzdWJqZWN0LCAgb3IgYSBib2R5IHN0cnVjdHVyZSBzdWNoIGFzIHR1bW9yIG9yIGltcGxhbnRlZCBkZXZpY2UuICAgQW4gZXhhbXBsZSB1c2UgY2FzZSB3b3VsZCBiZSB1c2luZyB0aGUgT2JzZXJ2YXRpb24gcmVzb3VyY2UgdG8gY2FwdHVyZSB3aGV0aGVyIHRoZSBtb3RoZXIgaXMgdHJhaW5lZCB0byBjaGFuZ2UgaGVyIGNoaWxkJ3MgdHJhY2hlb3N0b215IHR1YmUuIEluIHRoaXMgZXhhbXBsZSwgdGhlIGNoaWxkIGlzIHRoZSBwYXRpZW50IG9mIHJlY29yZCBhbmQgdGhlIG1vdGhlciBpcyB0aGUgZm9jdXMuIiBjb21tZW50PSJUeXBpY2FsbHksIGFuIG9ic2VydmF0aW9uIGlzIG1hZGUgYWJvdXQgdGhlIHN1YmplY3QgLSBhIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIC0gYW5kIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRoZSBzdWJqZWN0IGFuZCB3aGF0IGlzIGRpcmVjdGx5IG1lYXN1cmVkIGZvciBhbiBvYnNlcnZhdGlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIG9ic2VydmF0aW9uIGNvZGUgaXRzZWxmICggZS5nLiwgJnF1b3Q7Qmxvb2QgR2x1Y29zZSZxdW90OykgYW5kIGRvZXMgbm90IG5lZWQgdG8gYmUgcmVwcmVzZW50ZWQgc2VwYXJhdGVseSB1c2luZyB0aGlzIGVsZW1lbnQuICBVc2UgYHNwZWNpbWVuYCBpZiBhIHJlZmVyZW5jZSB0byBhIHNwZWNpbWVuIGlzIHJlcXVpcmVkLiAgSWYgYSBjb2RlIGlzIHJlcXVpcmVkIGluc3RlYWQgb2YgYSByZXNvdXJjZSB1c2UgZWl0aGVyICBgYm9keXNpdGVgIGZvciBib2R5c2l0ZXMgb3IgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbZm9jdXNDb2RlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1vYnNlcnZhdGlvbi1mb2N1c2NvZGUuaHRtbCkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGluaWNhbGx5IHJlbGV2YW50IHRpbWUvdGltZS1wZXJpb2QgZm9yIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgdGltZSBvciB0aW1lLXBlcmlvZCB0aGUgb2JzZXJ2ZWQgdmFsdWUgaXMgYXNzZXJ0ZWQgYXMgYmVpbmcgdHJ1ZS4gRm9yIGJpb2xvZ2ljYWwgc3ViamVjdHMgLSBlLmcuIGh1bWFuIHBhdGllbnRzIC0gdGhpcyBpcyB1c3VhbGx5IGNhbGxlZCB0aGUgJnF1b3Q7cGh5c2lvbG9naWNhbGx5IHJlbGV2YW50IHRpbWUmcXVvdDsuIiBjb21tZW50PSJBdCBsZWFzdCBhIGRhdGUgc2hvdWxkIGJlIHByZXNlbnQgdW5sZXNzIHRoaXMgb2JzZXJ2YXRpb24gaXMgYSBoaXN0b3JpY2FsIHJlcG9ydC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRpbWluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ1cy1jb3JlLTEiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iRGF0ZXRpbWUgbXVzdCBiZSBhdCBsZWFzdCB0byBkYXkuIj4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249IiR0aGlzIGlzIERhdGVUaW1lIGltcGxpZXMgJHRoaXMudG9TdHJpbmcoKS5sZW5ndGgoKSA+PSAxMCIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaXNzdWVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUvVGltZSB0aGlzIHZlcnNpb24gd2FzIG1hZGUgYXZhaWxhYmxlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGlzIHZlcnNpb24gb2YgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIGF2YWlsYWJsZSB0byBwcm92aWRlcnMsIHR5cGljYWxseSBhZnRlciB0aGUgcmVzdWx0cyBoYXZlIGJlZW4gcmV2aWV3ZWQgYW5kIHZlcmlmaWVkLiIgY29tbWVudD0iRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvbuKAmXQgcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiwgaXQgbWF5IGJlIHRoZSBzYW1lIGFzIHRoZSBbYGxhc3RVcGRhdGVkYCBdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcmVzb3VyY2UtZGVmaW5pdGlvbnMuaHRtbCNNZXRhLmxhc3RVcGRhdGVkKSB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYuICBGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG8gcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiBmb3IgY2VydGFpbiB1cGRhdGVzLCBpdCBtaWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGBsYXN0VXBkYXRlZGAgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmIGR1ZSB0byBhIG5vbi1jbGluaWNhbGx5IHNpZ25pZmljYW50IHVwZGF0ZSB0aGF0IGRvZXNu4oCZdCByZXF1aXJlIHRoZSBuZXcgdmVyc2lvbiB0byBiZSByZXZpZXdlZCBhbmQgdmVyaWZpZWQgYWdhaW4uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IldobyBpcyByZXNwb25zaWJsZSBmb3IgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJXaG8gd2FzIHJlc3BvbnNpYmxlIGZvciBhc3NlcnRpbmcgdGhlIG9ic2VydmVkIHZhbHVlIGFzICZxdW90O3RydWUmcXVvdDsuIiBjb21tZW50PSJTb21lIHF1ZXN0aW9ucyBvbiBxdWVzdGlvbm5haXJlcyBhcmUgbm90IGFuc3dlcmVkIGRpcmVjdGx5IChlLmcuLCBhc3NlcnRlZCkgYnkgdGhlIGluZGl2aWR1YWwgY29tcGxldGluZyB0aGUgcXVlc3Rpb25uYWlyZSwgYnV0IGFyZSBkZXJpdmVkIGZyb20gYW5zd2VycyB0byBvbmUgb3IgbW9yZSBvdGhlciBxdWVzdGlvbnMuIEZvciB0eXBlcyBvZiBhbnN3ZXJzLCBgT2JzZXJ2YXRpb24ucGVyZm9ybWVyYCBzaG91bGQgbm90IGJlIHNwZWNpZmllZCBhbmQgYE9ic2VydmF0aW9uLmRlcml2ZWRGcm9tYCBzaG91bGQgcmVmZXJlbmNlIHRoZSByZWxldmFudCBTY3JlZW5pbmcgUmVzcG9uc2UgT2JzZXJ2YXRpb24ocykuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQWN0dWFsIHJlc3VsdCIgZGVmaW5pdGlvbj0iVGhlIGluZm9ybWF0aW9uIGRldGVybWluZWQgYXMgYSByZXN1bHQgb2YgbWFraW5nIHRoZSBvYnNlcnZhdGlvbiwgaWYgdGhlIGluZm9ybWF0aW9uIGhhcyBhIHNpbXBsZSB2YWx1ZS4iIGNvbW1lbnQ9IkFuIG9ic2VydmF0aW9uIG1heSBoYXZlIGEgdmFsdWUgaWYgaXQgcmVwcmVzZW50cyBhbiBpbmRpdmlkdWFsIHN1cnZleSBxdWVzdGlvbiBhbmQgYW5zd2VyIHBhaXIuIEFuIG9ic2VydmF0aW9uIHNob3VsZCBub3QgaGF2ZSBhIHZhbHVlIGlmIGl0IHJlcHJlc2VudHMgYSBtdWx0aS1xdWVzdGlvbiBzdXJ2ZXkgb3IgbXVsdGktc2VsZWN0IOKAnGNoZWNrIGFsbCB0aGF0IGFwcGx54oCdIHF1ZXN0aW9uLiBJZiBhIHZhbHVlIGlzIHByZXNlbnQsIHRoZSBkYXRhdHlwZSBmb3IgdGhpcyBlbGVtZW50IHNob3VsZCBiZSBkZXRlcm1pbmVkIGJ5IE9ic2VydmF0aW9uLmNvZGUuICBBIENvZGVhYmxlQ29uY2VwdCB3aXRoIGp1c3QgYSB0ZXh0IHdvdWxkIGJlIHVzZWQgaW5zdGVhZCBvZiBhIHN0cmluZyBpZiB0aGUgZmllbGQgd2FzIHVzdWFsbHkgY29kZWQsIG9yIGlmIHRoZSB0eXBlIGFzc29jaWF0ZWQgd2l0aCB0aGUgT2JzZXJ2YXRpb24uY29kZSBkZWZpbmVzIGEgY29kZWQgdmFsdWUuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkJvb2xlYW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUmF0aW8iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgdGhlIHJlc3VsdCBpcyBtaXNzaW5nIiBkZWZpbml0aW9uPSJQcm92aWRlcyBhIHJlYXNvbiB3aHkgdGhlIGV4cGVjdGVkIHZhbHVlIGluIHRoZSBlbGVtZW50IE9ic2VydmF0aW9uLnZhbHVlW3hdIGlzIG1pc3NpbmcuIiBjb21tZW50PSImcXVvdDtOdWxsJnF1b3Q7IG9yIGV4Y2VwdGlvbmFsIHZhbHVlcyBjYW4gYmUgcmVwcmVzZW50ZWQgdHdvIHdheXMgaW4gRkhJUiBPYnNlcnZhdGlvbnMuICBPbmUgd2F5IGlzIHRvIHNpbXBseSBpbmNsdWRlIHRoZW0gaW4gdGhlIHZhbHVlIHNldCBhbmQgcmVwcmVzZW50IHRoZSBleGNlcHRpb25zIGluIHRoZSB2YWx1ZS4gIFRoZSBhbHRlcm5hdGUgd2F5IGlzIHRvIHVzZSB0aGUgdmFsdWUgZWxlbWVudCBmb3IgYWN0dWFsIG9ic2VydmF0aW9ucyBhbmQgdXNlIHRoZSBleHBsaWNpdCBkYXRhQWJzZW50UmVhc29uIGVsZW1lbnQgdG8gcmVjb3JkIGV4Y2VwdGlvbmFsIHZhbHVlcy4gRm9yIGEgZ2l2ZW4gTE9JTkMgcXVlc3Rpb24sIGlmIHRoZSBMT0lOQyBhbnN3ZXIgbGlzdCBpbmNsdWRlcyBjb25jZXB0cyBzdWNoIGFzICd1bmtub3duJyBvciAnbm90IGF2YWlsYWJsZScsIHRoZXkgc2hvdWxkIGJlIHVzZWQgZm9yIE9ic2VydmF0aW9uLnZhbHVlLiBXaGVyZSB0aGVzZSBjb25jZXB0cyBhcmUgbm90IHBhcnQgb2YgdGhlIHZhbHVlIHNldCBmb3IgT2JzZXJ2YXRpb24udmFsdWUsIHRoZSBPYnNlcnZhdGlvbi5kYXRhQWJzZW50UmVhc29uIGNhbiBiZSB1c2VkIGlmIG5lY2Vzc2FyeSBhbmQgYXBwcm9wcmlhdGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uVmFsdWVBYnNlbnRSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBzcGVjaWZ5aW5nIHdoeSB0aGUgcmVzdWx0IChgT2JzZXJ2YXRpb24udmFsdWVbeF1gKSBpcyBtaXNzaW5nLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlcnByZXRhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhpZ2gsIGxvdywgbm9ybWFsLCBldGMuIiBkZWZpbml0aW9uPSJBIGNhdGVnb3JpY2FsIGFzc2Vzc21lbnQgb2YgYW4gb2JzZXJ2YXRpb24gdmFsdWUuICBGb3IgZXhhbXBsZSwgaGlnaCwgbG93LCBub3JtYWwuIiBjb21tZW50PSJIaXN0b3JpY2FsbHkgdXNlZCBmb3IgbGFib3JhdG9yeSByZXN1bHRzIChrbm93biBhcyAnYWJub3JtYWwgZmxhZycgKSwgIGl0cyB1c2UgZXh0ZW5kcyB0byBvdGhlciB1c2UgY2FzZXMgd2hlcmUgY29kZWQgaW50ZXJwcmV0YXRpb25zICBhcmUgcmVsZXZhbnQuICBPZnRlbiByZXBvcnRlZCBhcyBvbmUgb3IgbW9yZSBzaW1wbGUgY29tcGFjdCBjb2RlcyB0aGlzIGVsZW1lbnQgaXMgb2Z0ZW4gcGxhY2VkIGFkamFjZW50IHRvIHRoZSByZXN1bHQgdmFsdWUgaW4gcmVwb3J0cyBhbmQgZmxvdyBzaGVldHMgdG8gc2lnbmFsIHRoZSBtZWFuaW5nL25vcm1hbGN5IHN0YXR1cyBvZiB0aGUgcmVzdWx0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25JbnRlcnByZXRhdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIGludGVycHJldGF0aW9ucyBvZiBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiBvciB0aGUgcmVzdWx0cy4iIGNvbW1lbnQ9Ik1heSBpbmNsdWRlIGdlbmVyYWwgc3RhdGVtZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24sIG9yIHN0YXRlbWVudHMgYWJvdXQgc2lnbmlmaWNhbnQsIHVuZXhwZWN0ZWQgb3IgdW5yZWxpYWJsZSByZXN1bHRzIHZhbHVlcywgb3IgaW5mb3JtYXRpb24gYWJvdXQgaXRzIHNvdXJjZSB3aGVuIHJlbGV2YW50IHRvIGl0cyBpbnRlcnByZXRhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2JzZXJ2ZWQgYm9keSBwYXJ0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHNpdGUgb24gdGhlIHN1YmplY3QncyBib2R5IHdoZXJlIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSAoaS5lLiB0aGUgdGFyZ2V0IHNpdGUpLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIE9ic2VydmF0aW9uLmNvZGUuICBJbiBtYW55IHN5c3RlbXMsIHRoaXMgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGEgcmVsYXRlZCBvYnNlcnZhdGlvbiBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb21wb25lbnQuICAgJiN4YTsmI3hhO0lmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBCb2R5U2l0ZSB0byBiZSBoYW5kbGVkIGFzIGEgc2VwYXJhdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb25bIGJvZHlTaXRlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IGl0IHdhcyBkb25lIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIG1lY2hhbmlzbSB1c2VkIHRvIHBlcmZvcm0gdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvciBPYnNlcnZhdGlvbi5jb2RlLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uTWV0aG9kIiBkZXNjcmlwdGlvbj0iTWV0aG9kcyBmb3Igc2ltcGxlIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3BlY2ltZW4iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iU3BlY2ltZW4gdXNlZCBmb3IgdGhpcyBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHNwZWNpbWVuIHRoYXQgd2FzIHVzZWQgd2hlbiB0aGlzIG9ic2VydmF0aW9uIHdhcyBtYWRlLiIgY29tbWVudD0iU2hvdWxkIG9ubHkgYmUgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBgT2JzZXJ2YXRpb24uY29kZWAuICBPYnNlcnZhdGlvbnMgYXJlIG5vdCBtYWRlIG9uIHNwZWNpbWVucyB0aGVtc2VsdmVzOyB0aGV5IGFyZSBtYWRlIG9uIGEgc3ViamVjdCwgYnV0IGluIG1hbnkgY2FzZXMgYnkgdGhlIG1lYW5zIG9mIGEgc3BlY2ltZW4uIE5vdGUgdGhhdCBhbHRob3VnaCBzcGVjaW1lbnMgYXJlIG9mdGVuIGludm9sdmVkLCB0aGV5IGFyZSBub3QgYWx3YXlzIHRyYWNrZWQgYW5kIHJlcG9ydGVkIGV4cGxpY2l0bHkuIEFsc28gbm90ZSB0aGF0IG9ic2VydmF0aW9uIHJlc291cmNlcyBtYXkgYmUgdXNlZCBpbiBjb250ZXh0cyB0aGF0IHRyYWNrIHRoZSBzcGVjaW1lbiBleHBsaWNpdGx5IChlLmcuIERpYWdub3N0aWMgUmVwb3J0KS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihNZWFzdXJlbWVudCkgRGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIG9ic2VydmF0aW9uIGRhdGEuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBpcyBub3QgbWVhbnQgdG8gcmVwcmVzZW50IGEgZGV2aWNlIGludm9sdmVkIGluIHRoZSB0cmFuc21pc3Npb24gb2YgdGhlIHJlc3VsdCwgZS5nLiwgYSBnYXRld2F5LiAgU3VjaCBkZXZpY2VzIG1heSBiZSBkb2N1bWVudGVkIHVzaW5nIHRoZSBQcm92ZW5hbmNlIHJlc291cmNlIHdoZXJlIHJlbGV2YW50LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2VSYW5nZSIgZGVzY3JpcHRpb249IlByb3ZpZGVzIGd1aWRlIGZvciBpbnRlcnByZXRhdGlvbiIgZGVmaW5pdGlvbj0iR3VpZGFuY2Ugb24gaG93IHRvIGludGVycHJldCB0aGUgdmFsdWUgYnkgY29tcGFyaXNvbiB0byBhIG5vcm1hbCBvciByZWNvbW1lbmRlZCByYW5nZS4gIE11bHRpcGxlIHJlZmVyZW5jZSByYW5nZXMgYXJlIGludGVycHJldGVkIGFzIGFuICZxdW90O09SJnF1b3Q7LiAgIEluIG90aGVyIHdvcmRzLCB0byByZXByZXNlbnQgdHdvIGRpc3RpbmN0IHRhcmdldCBwb3B1bGF0aW9ucywgdHdvIGByZWZlcmVuY2VSYW5nZWAgZWxlbWVudHMgd291bGQgYmUgdXNlZC4iIGNvbW1lbnQ9Ik1vc3Qgb2JzZXJ2YXRpb25zIG9ubHkgaGF2ZSBvbmUgZ2VuZXJpYyByZWZlcmVuY2UgcmFuZ2UuIFN5c3RlbXMgTUFZIGNob29zZSB0byByZXN0cmljdCB0byBvbmx5IHN1cHBseWluZyB0aGUgcmVsZXZhbnQgcmVmZXJlbmNlIHJhbmdlIGJhc2VkIG9uIGtub3dsZWRnZSBhYm91dCB0aGUgcGF0aWVudCAoZS5nLiwgc3BlY2lmaWMgdG8gdGhlIHBhdGllbnQncyBhZ2UsIGdlbmRlciwgd2VpZ2h0IGFuZCBvdGhlciBmYWN0b3JzKSwgYnV0IHRoaXMgbWlnaHQgbm90IGJlIHBvc3NpYmxlIG9yIGFwcHJvcHJpYXRlLiBXaGVuZXZlciBtb3JlIHRoYW4gb25lIHJlZmVyZW5jZSByYW5nZSBpcyBzdXBwbGllZCwgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlbSBTSE9VTEQgYmUgcHJvdmlkZWQgaW4gdGhlIHJlZmVyZW5jZSByYW5nZSBhbmQvb3IgYWdlIHByb3BlcnRpZXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uUmVmZXJlbmNlUmFuZ2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJvYnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJNdXN0IGhhdmUgYXQgbGVhc3QgYSBsb3cgb3IgYSBoaWdoIG9yIHRleHQiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0ibG93LmV4aXN0cygpIG9yIGhpZ2guZXhpc3RzKCkgb3IgdGV4dC5leGlzdHMoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaGFzTWVtYmVyIiBkZXNjcmlwdGlvbj0iUmVmZXJlbmNlIHRvIHBhbmVsIG9yIG11bHRpLXNlbGVjdCByZXNwb25zZXMiIGRlZmluaXRpb249IkFnZ3JlZ2F0ZSBzZXQgb2YgT2JzZXJ2YXRpb25zIHRoYXQgcmVwcmVzZW50IHF1ZXN0aW9uIGFuc3dlciBwYWlycyBmb3IgYm90aCBtdWx0aS1xdWVzdGlvbiBzdXJ2ZXlzIGFuZCBtdWx0aS1zZWxlY3QgcXVlc3Rpb25zLiIgY29tbWVudD0iVGhpcyBncm91cGluZyBlbGVtZW50IGlzIHVzZWQgdG8gcmVwcmVzZW50IHN1cnZleXMgdGhhdCBncm91cCBzZXZlcmFsIHF1ZXN0aW9ucyB0b2dldGhlciBvciBpbmRpdmlkdWFsIHF1ZXN0aW9ucyB3aXRoICDigJxjaGVjayBhbGwgdGhhdCBhcHBseeKAnSByZXNwb25zZXMuIEZvciBleGFtcGxlIGluIHRoZSBzaW1wbGVzdCBjYXNlIGEgZmxhdCBtdWx0aS1xdWVzdGlvbiBzdXJ2ZXkgd2hlcmUgdGhlICZxdW90O3BhbmVsJnF1b3Q7IG9ic2VydmF0aW9uIGlzIHRoZSBzdXJ2ZXkgaW5zdHJ1bWVudCBpdHNlbGYgYW5kIGluc3RlYWQgb2YgYW4gYE9ic2VydmF0aW9uLnZhbHVlYCB0aGUgYGhhc01lbWJlcmAgZWxlbWVudCByZWZlcmVuY2VzIG90aGVyIE9ic2VydmF0aW9uIHRoYXQgcmVwcmVzZW50IHRoZSBpbmRpdmlkdWFsIHF1ZXN0aW9ucyBhbnN3ZXIgcGFpcnMuIEluIGEgc3VydmV5IHRoYXQgaGFzIGEgaGVpcmFyY2hpY2FsIGdyb3VwaW5nIG9mIHF1ZXN0aW9ucywgdGhlIG9ic2VydmF0aW9uICZxdW90O3BhbmVscyZxdW90OyBjYW4gYmUgbmVzdGVkLiBCZWNhdXNlIHN1cnZleXMgY2FuIGJlIGFyYml0cmFyaWx5IGNvbXBsZXggc3RydWN0dXJhbGx5LCBub3QgYWxsIHN1cnZleSBzdHJ1Y3R1cmVzIGNhbiBiZSByZXByZXNlbnRlZCB1c2luZyB0aGlzIE9ic2VydmF0aW9uIGdyb3VwaW5nIHBhdHRlcm4uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIE9ic2VydmF0aW9ucyBvciBRdWVzdGlvbm5haXJlUmVzcG9uc2VzIHRoYXQgdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgZnJvbSIgZGVmaW5pdGlvbj0iT2JzZXJ2YXRpb25zIG9yIFF1ZXN0aW9ubmFpcmVSZXNwb25zZXMgZnJvbSB3aGljaCB0aGlzIG9ic2VydmF0aW9uIHZhbHVlIGlzIGRlcml2ZWQuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbXBvbmVudCIgZGVzY3JpcHRpb249IkNvbXBvbmVudCByZXN1bHRzIiBkZWZpbml0aW9uPSJTb21lIG9ic2VydmF0aW9ucyBoYXZlIG11bHRpcGxlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMuICBUaGVzZSBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGFyZSBleHByZXNzZWQgYXMgc2VwYXJhdGUgY29kZSB2YWx1ZSBwYWlycyB0aGF0IHNoYXJlIHRoZSBzYW1lIGF0dHJpYnV0ZXMuICBFeGFtcGxlcyBpbmNsdWRlIHN5c3RvbGljIGFuZCBkaWFzdG9saWMgY29tcG9uZW50IG9ic2VydmF0aW9ucyBmb3IgYmxvb2QgcHJlc3N1cmUgbWVhc3VyZW1lbnQgYW5kIG11bHRpcGxlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgZm9yIGdlbmV0aWNzIG9ic2VydmF0aW9ucy4iIGNvbW1lbnQ9IkZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBiZSBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5EZWNpbWFsIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iT3JkaW5hbCBWYWx1ZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL29yZGluYWxWYWx1ZSIgbGFiZWw9Ik9yZGluYWwgVmFsdWUiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik9yZ2FuaXphdGlvbiIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtb3JnYW5pemF0aW9uIiBsYWJlbD0iUUlDb3JlIE9yZ2FuaXphdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0idHlwZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVzIHRoaXMgb3JnYW5pemF0aW9uICBhY3Jvc3MgbXVsdGlwbGUgc3lzdGVtcyIgZGVmaW5pdGlvbj0iSWRlbnRpZmllciBmb3IgdGhlIG9yZ2FuaXphdGlvbiB0aGF0IGlzIHVzZWQgdG8gaWRlbnRpZnkgdGhlIG9yZ2FuaXphdGlvbiBhY3Jvc3MgbXVsdGlwbGUgZGlzcGFyYXRlIHN5c3RlbXMuIiBjb21tZW50PSJOUEkgcHJlZmVycmVkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJOUEkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgZGVzY3JpcHRpb249Ik5hdGlvbmFsIFByb3ZpZGVyIElkZW50aWZpZXIgKE5QSSkiIGRlZmluaXRpb249IklkZW50aWZpZXIgZm9yIHRoZSBvcmdhbml6YXRpb24gdGhhdCBpcyB1c2VkIHRvIGlkZW50aWZ5IHRoZSBvcmdhbml6YXRpb24gYWNyb3NzIG11bHRpcGxlIGRpc3BhcmF0ZSBzeXN0ZW1zLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iQ0xJQSIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQ2xpbmljYWwgTGFib3JhdG9yeSBJbXByb3ZlbWVudCBBbWVuZG1lbnRzIChDTElBKSBOdW1iZXIgZm9yIGxhYm9yYXRvcmllcyIgZGVmaW5pdGlvbj0iSWRlbnRpZmllciBmb3IgdGhlIG9yZ2FuaXphdGlvbiB0aGF0IGlzIHVzZWQgdG8gaWRlbnRpZnkgdGhlIG9yZ2FuaXphdGlvbiBhY3Jvc3MgbXVsdGlwbGUgZGlzcGFyYXRlIHN5c3RlbXMuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2NuIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVzIHRoaXMgb3JnYW5pemF0aW9uICBhY3Jvc3MgbXVsdGlwbGUgc3lzdGVtcyIgZGVmaW5pdGlvbj0iSWRlbnRpZmllciBmb3IgdGhlIG9yZ2FuaXphdGlvbiB0aGF0IGlzIHVzZWQgdG8gaWRlbnRpZnkgdGhlIG9yZ2FuaXphdGlvbiBhY3Jvc3MgbXVsdGlwbGUgZGlzcGFyYXRlIHN5c3RlbXMuIiBjb21tZW50PSJOUEkgcHJlZmVycmVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZWluIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJUaGVyZSBpcyBub3QgYSBnZW5lcmFsIFRheCBJZGVudGlmaWVyIE51bWVyIChUSU4pIE9JRC4gVGhlcmUgaXMgYW4gU1NOLCBhIFBUSU4sIGFuZCBhbiBJVElOLCBidXQgbm8gVElOIGdlbmVyYWxseS4gU28gdGhlIG9ubHkgc2xpY2Ugc3BlY2lmaWVkIGhlcmUgaXMgRUlOLCBpZiBjb25zdW1lcnMgZGV0ZXJtaW5lIGEgbmVlZCBmb3IgYW4gU1NOLCBzdWJtaXQgYSBjb21tZW50IHRvIHRoYXQgZWZmZWN0LiIgZGVmaW5pdGlvbj0iSWRlbnRpZmllciBmb3IgdGhlIG9yZ2FuaXphdGlvbiB0aGF0IGlzIHVzZWQgdG8gaWRlbnRpZnkgdGhlIG9yZ2FuaXphdGlvbiBhY3Jvc3MgbXVsdGlwbGUgZGlzcGFyYXRlIHN5c3RlbXMuIiBjb21tZW50PSJOUEkgcHJlZmVycmVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iYWN0aXZlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hldGhlciB0aGUgb3JnYW5pemF0aW9uJ3MgcmVjb3JkIGlzIHN0aWxsIGluIGFjdGl2ZSB1c2UiIGRlZmluaXRpb249IldoZXRoZXIgdGhlIG9yZ2FuaXphdGlvbidzIHJlY29yZCBpcyBzdGlsbCBpbiBhY3RpdmUgdXNlLiIgY29tbWVudD0iVGhpcyBhY3RpdmUgZmxhZyBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCB0byBtYXJrIGFuIG9yZ2FuaXphdGlvbiBhcyB0ZW1wb3JhcmlseSBjbG9zZWQgb3IgdW5kZXIgY29uc3RydWN0aW9uLiBJbnN0ZWFkIHRoZSBMb2NhdGlvbihzKSB3aXRoaW4gdGhlIE9yZ2FuaXphdGlvbiBzaG91bGQgaGF2ZSB0aGUgc3VzcGVuZGVkIHN0YXR1cy4gSWYgZnVydGhlciBkZXRhaWxzIG9mIHRoZSByZWFzb24gZm9yIHRoZSBzdXNwZW5zaW9uIGFyZSByZXF1aXJlZCwgdGhlbiBhbiBleHRlbnNpb24gb24gdGhpcyBlbGVtZW50IHNob3VsZCBiZSB1c2VkLiYjeGE7JiN4YTtUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgaXQgbWF5IGJlIHVzZWQgdG8gbWFyayB0aGF0IHRoZSByZXNvdXJjZSB3YXMgY3JlYXRlZCBpbiBlcnJvci4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJLaW5kIG9mIG9yZ2FuaXphdGlvbiIgZGVmaW5pdGlvbj0iVGhlIGtpbmQocykgb2Ygb3JnYW5pemF0aW9uIHRoYXQgdGhpcyBpcy4iIGNvbW1lbnQ9Ik9yZ2FuaXphdGlvbnMgY2FuIGJlIGNvcnBvcmF0aW9ucywgd2FyZHMsIHNlY3Rpb25zLCBjbGluaWNhbCB0ZWFtcywgZ292ZXJubWVudCBkZXBhcnRtZW50cywgZXRjLiBOb3RlIHRoYXQgY29kZSBpcyBnZW5lcmFsbHkgYSBjbGFzc2lmaWVyIG9mIHRoZSB0eXBlIG9mIG9yZ2FuaXphdGlvbjsgaW4gbWFueSBhcHBsaWNhdGlvbnMsIGNvZGVzIGFyZSB1c2VkIHRvIGlkZW50aXR5IGEgcGFydGljdWxhciBvcmdhbml6YXRpb24gKHNheSwgd2FyZCkgYXMgb3Bwb3NlZCB0byBhbm90aGVyIG9mIHRoZSBzYW1lIHR5cGUgLSB0aGVzZSBhcmUgaWRlbnRpZmllcnMsIG5vdCBjb2RlcyYjeGE7JiN4YTtXaGVuIGNvbnNpZGVyaW5nIGlmIG11bHRpcGxlIHR5cGVzIGFyZSBhcHByb3ByaWF0ZSwgeW91IHNob3VsZCBldmFsdWF0ZSBpZiBjaGlsZCBvcmdhbml6YXRpb25zIHdvdWxkIGJlIGEgbW9yZSBhcHByb3ByaWF0ZSB1c2Ugb2YgdGhlIGNvbmNlcHQsIGFzIGRpZmZlcmVudCB0eXBlcyBsaWtlbHkgYXJlIGluIGRpZmZlcmVudCBzdWItYXJlYXMgb2YgdGhlIG9yZ2FuaXphdGlvbi4gVGhpcyBpcyBtb3N0IGxpa2VseSB0byBiZSB1c2VkIHdoZXJlIHR5cGUgdmFsdWVzIGhhdmUgb3J0aG9nb25hbCB2YWx1ZXMsIHN1Y2ggYXMgYSByZWxpZ2lvdXMsIGFjYWRlbWljIGFuZCBtZWRpY2FsIGNlbnRlci4mI3hhOyYjeGE7V2UgZXhwZWN0IHRoYXQgc29tZSBqdXJpc2RpY3Rpb25zIHdpbGwgcHJvZmlsZSB0aGlzIG9wdGlvbmFsaXR5IHRvIGJlIGEgc2luZ2xlIGNhcmRpbmFsaXR5LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlVzZWQgdG8gY2F0ZWdvcml6ZSB0aGUgb3JnYW5pemF0aW9uIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibmFtZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTmFtZSB1c2VkIGZvciB0aGUgb3JnYW5pemF0aW9uIiBkZWZpbml0aW9uPSJBIG5hbWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBvcmdhbml6YXRpb24uIiBjb21tZW50PSJJZiB0aGUgbmFtZSBvZiBhbiBvcmdhbml6YXRpb24gY2hhbmdlcywgY29uc2lkZXIgcHV0dGluZyB0aGUgb2xkIG5hbWUgaW4gdGhlIGFsaWFzIGNvbHVtbiBzbyB0aGF0IGl0IGNhbiBzdGlsbCBiZSBsb2NhdGVkIHRocm91Z2ggc2VhcmNoZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJhbGlhcyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBIGxpc3Qgb2YgYWx0ZXJuYXRlIG5hbWVzIHRoYXQgdGhlIG9yZ2FuaXphdGlvbiBpcyBrbm93biBhcywgb3Igd2FzIGtub3duIGFzIGluIHRoZSBwYXN0IiBkZWZpbml0aW9uPSJBIGxpc3Qgb2YgYWx0ZXJuYXRlIG5hbWVzIHRoYXQgdGhlIG9yZ2FuaXphdGlvbiBpcyBrbm93biBhcywgb3Igd2FzIGtub3duIGFzIGluIHRoZSBwYXN0LiIgY29tbWVudD0iVGhlcmUgYXJlIG5vIGRhdGVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgYWxpYXMvaGlzdG9yaWMgbmFtZXMsIGFzIHRoaXMgaXMgbm90IGludGVuZGVkIHRvIHRyYWNrIHdoZW4gbmFtZXMgd2VyZSB1c2VkLCBidXQgdG8gYXNzaXN0IGluIHNlYXJjaGluZyBzbyB0aGF0IG9sZGVyIG5hbWVzIGNhbiBzdGlsbCByZXN1bHQgaW4gaWRlbnRpZnlpbmcgdGhlIG9yZ2FuaXphdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InRlbGVjb20iIGRlc2NyaXB0aW9uPSJBIGNvbnRhY3QgZGV0YWlsIGZvciB0aGUgb3JnYW5pemF0aW9uIiBkZWZpbml0aW9uPSJBIGNvbnRhY3QgZGV0YWlsIGZvciB0aGUgb3JnYW5pemF0aW9uLiIgY29tbWVudD0iVGhlIHVzZSBjb2RlICdob21lJyBpcyBub3QgdG8gYmUgdXNlZC4gTm90ZSB0aGF0IHRoZXNlIGNvbnRhY3RzIGFyZSBub3QgdGhlIGNvbnRhY3QgZGV0YWlscyBvZiBwZW9wbGUgd2hvIGFyZSBlbXBsb3llZCBieSBvciByZXByZXNlbnQgdGhlIG9yZ2FuaXphdGlvbiwgYnV0IG9mZmljaWFsIGNvbnRhY3RzIGZvciB0aGUgb3JnYW5pemF0aW9uIGl0c2VsZi4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ29udGFjdFBvaW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0ib3JnLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iVGhlIHRlbGVjb20gb2YgYW4gb3JnYW5pemF0aW9uIGNhbiBuZXZlciBiZSBvZiB1c2UgJ2hvbWUnIj4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249IndoZXJlKHVzZSA9ICdob21lJykuZW1wdHkoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYWRkcmVzcyIgZGVzY3JpcHRpb249IkFuIGFkZHJlc3MgZm9yIHRoZSBvcmdhbml6YXRpb24iIGRlZmluaXRpb249IkFuIGFkZHJlc3MgZm9yIHRoZSBvcmdhbml6YXRpb24uIiBjb21tZW50PSJPcmdhbml6YXRpb24gbWF5IGhhdmUgbXVsdGlwbGUgYWRkcmVzc2VzIHdpdGggZGlmZmVyZW50IHVzZXMgb3IgYXBwbGljYWJsZSBwZXJpb2RzLiBUaGUgdXNlIGNvZGUgJ2hvbWUnIGlzIG5vdCB0byBiZSB1c2VkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5BZGRyZXNzIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0ib3JnLTIiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iQW4gYWRkcmVzcyBvZiBhbiBvcmdhbml6YXRpb24gY2FuIG5ldmVyIGJlIG9mIHVzZSAnaG9tZSciPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0id2hlcmUodXNlID0gJ2hvbWUnKS5lbXB0eSgpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iVGhlIG9yZ2FuaXphdGlvbiBvZiB3aGljaCB0aGlzIG9yZ2FuaXphdGlvbiBmb3JtcyBhIHBhcnQiIGRlZmluaXRpb249IlRoZSBvcmdhbml6YXRpb24gb2Ygd2hpY2ggdGhpcyBvcmdhbml6YXRpb24gZm9ybXMgYSBwYXJ0LiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbnRhY3QiIGRlc2NyaXB0aW9uPSJDb250YWN0IGZvciB0aGUgb3JnYW5pemF0aW9uIGZvciBhIGNlcnRhaW4gcHVycG9zZSIgZGVmaW5pdGlvbj0iQ29udGFjdCBmb3IgdGhlIG9yZ2FuaXphdGlvbiBmb3IgYSBjZXJ0YWluIHB1cnBvc2UuIiBjb21tZW50PSJXaGVyZSBtdWx0aXBsZSBjb250YWN0cyBmb3IgdGhlIHNhbWUgcHVycG9zZSBhcmUgcHJvdmlkZWQgdGhlcmUgaXMgYSBzdGFuZGFyZCBleHRlbnNpb24gdGhhdCBjYW4gYmUgdXNlZCB0byBkZXRlcm1pbmUgd2hpY2ggb25lIGlzIHRoZSBwcmVmZXJyZWQgY29udGFjdCB0byB1c2UuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuT3JnYW5pemF0aW9uLkNvbnRhY3QiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVuZHBvaW50IiBkZXNjcmlwdGlvbj0iVGVjaG5pY2FsIGVuZHBvaW50cyBwcm92aWRpbmcgYWNjZXNzIHRvIHNlcnZpY2VzIG9wZXJhdGVkIGZvciB0aGUgb3JnYW5pemF0aW9uIiBkZWZpbml0aW9uPSJUZWNobmljYWwgZW5kcG9pbnRzIHByb3ZpZGluZyBhY2Nlc3MgdG8gc2VydmljZXMgb3BlcmF0ZWQgZm9yIHRoZSBvcmdhbml6YXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iT3JnYW5pemF0aW9uLkNvbnRhY3QiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InB1cnBvc2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRoZSB0eXBlIG9mIGNvbnRhY3QiIGRlZmluaXRpb249IkluZGljYXRlcyBhIHB1cnBvc2UgZm9yIHdoaWNoIHRoZSBjb250YWN0IGNhbiBiZSByZWFjaGVkLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvbnRhY3RQYXJ0eVR5cGUiIGRlc2NyaXB0aW9uPSJUaGUgcHVycG9zZSBmb3Igd2hpY2ggeW91IHdvdWxkIGNvbnRhY3QgYSBjb250YWN0IHBhcnR5LiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJuYW1lIiBlbGVtZW50VHlwZT0iUUlDb3JlLkh1bWFuTmFtZSIgZGVzY3JpcHRpb249IkEgbmFtZSBhc3NvY2lhdGVkIHdpdGggdGhlIGNvbnRhY3QiIGRlZmluaXRpb249IkEgbmFtZSBhc3NvY2lhdGVkIHdpdGggdGhlIGNvbnRhY3QuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InRlbGVjb20iIGRlc2NyaXB0aW9uPSJDb250YWN0IGRldGFpbHMgKHRlbGVwaG9uZSwgZW1haWwsIGV0Yy4pICBmb3IgYSBjb250YWN0IiBkZWZpbml0aW9uPSJBIGNvbnRhY3QgZGV0YWlsIChlLmcuIGEgdGVsZXBob25lIG51bWJlciBvciBhbiBlbWFpbCBhZGRyZXNzKSBieSB3aGljaCB0aGUgcGFydHkgbWF5IGJlIGNvbnRhY3RlZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Db250YWN0UG9pbnQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFkZHJlc3MiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQWRkcmVzcyIgZGVzY3JpcHRpb249IlZpc2l0aW5nIG9yIHBvc3RhbCBhZGRyZXNzZXMgZm9yIHRoZSBjb250YWN0IiBkZWZpbml0aW9uPSJWaXNpdGluZyBvciBwb3N0YWwgYWRkcmVzc2VzIGZvciB0aGUgY29udGFjdC4iLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlBhcmFtZXRlckRlZmluaXRpb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9QYXJhbWV0ZXJEZWZpbml0aW9uIiBsYWJlbD0iUGFyYW1ldGVyRGVmaW5pdGlvbiIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0ibmFtZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTmFtZSB1c2VkIHRvIGFjY2VzcyB0aGUgcGFyYW1ldGVyIHZhbHVlIiBkZWZpbml0aW9uPSJUaGUgbmFtZSBvZiB0aGUgcGFyYW1ldGVyIHVzZWQgdG8gYWxsb3cgYWNjZXNzIHRvIHRoZSB2YWx1ZSBvZiB0aGUgcGFyYW1ldGVyIGluIGV2YWx1YXRpb24gY29udGV4dHMuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InVzZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5QYXJhbWV0ZXJVc2UiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iaW4gfCBvdXQiIGRlZmluaXRpb249IldoZXRoZXIgdGhlIHBhcmFtZXRlciBpcyBpbnB1dCBvciBvdXRwdXQgZm9yIHRoZSBtb2R1bGUuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUGFyYW1ldGVyVXNlIiBkZXNjcmlwdGlvbj0iV2hldGhlciB0aGUgcGFyYW1ldGVyIGlzIGlucHV0IG9yIG91dHB1dC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1pbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik1pbmltdW0gY2FyZGluYWxpdHkiIGRlZmluaXRpb249IlRoZSBtaW5pbXVtIG51bWJlciBvZiB0aW1lcyB0aGlzIHBhcmFtZXRlciBTSEFMTCBhcHBlYXIgaW4gdGhlIHJlcXVlc3Qgb3IgcmVzcG9uc2UuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1heCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTWF4aW11bSBjYXJkaW5hbGl0eSAoYSBudW1iZXIgb2YgKikiIGRlZmluaXRpb249IlRoZSBtYXhpbXVtIG51bWJlciBvZiB0aW1lcyB0aGlzIGVsZW1lbnQgaXMgcGVybWl0dGVkIHRvIGFwcGVhciBpbiB0aGUgcmVxdWVzdCBvciByZXNwb25zZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZG9jdW1lbnRhdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iQSBicmllZiBkZXNjcmlwdGlvbiBvZiB0aGUgcGFyYW1ldGVyIiBkZWZpbml0aW9uPSJBIGJyaWVmIGRpc2N1c3Npb24gb2Ygd2hhdCB0aGUgcGFyYW1ldGVyIGlzIGZvciBhbmQgaG93IGl0IGlzIHVzZWQgYnkgdGhlIG1vZHVsZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5GSElSQWxsVHlwZXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hhdCB0eXBlIG9mIHZhbHVlIiBkZWZpbml0aW9uPSJUaGUgdHlwZSBvZiB0aGUgcGFyYW1ldGVyLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkZISVJBbGxUeXBlcyIgZGVzY3JpcHRpb249IkEgbGlzdCBvZiBhbGwgdGhlIGNvbmNyZXRlIHR5cGVzIGRlZmluZWQgaW4gdGhpcyB2ZXJzaW9uIG9mIHRoZSBGSElSIHNwZWNpZmljYXRpb24gLSBBYnN0cmFjdCBUeXBlcywgRGF0YSBUeXBlcyBhbmQgUmVzb3VyY2UgVHlwZXMuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwcm9maWxlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGF0IHByb2ZpbGUgdGhlIHZhbHVlIGlzIGV4cGVjdGVkIHRvIGJlIiBkZWZpbml0aW9uPSJJZiBzcGVjaWZpZWQsIHRoaXMgaW5kaWNhdGVzIGEgcHJvZmlsZSB0aGF0IHRoZSBpbnB1dCBkYXRhIG11c3QgY29uZm9ybSB0bywgb3IgdGhhdCB0aGUgb3V0cHV0IGRhdGEgd2lsbCBjb25mb3JtIHRvLiIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJQYXJhbWV0ZXJVc2UiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlBhdGllbnQiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLXBhdGllbnQiIGxhYmVsPSJRSUNvcmUgUGF0aWVudCIgcmV0cmlldmFibGU9InRydWUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJyYWNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlVTQ29yZVJhY2VFeHRlbnNpb24iIHRhcmdldD0iJXBhcmVudC5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLXJhY2UnXSIgZGVzY3JpcHRpb249IlVTIENvcmUgUmFjZSBFeHRlbnNpb24iIGRlZmluaXRpb249IkNvbmNlcHRzIGNsYXNzaWZ5aW5nIHRoZSBwZXJzb24gaW50byBhIG5hbWVkIGNhdGVnb3J5IG9mIGh1bWFucyBzaGFyaW5nIGNvbW1vbiBoaXN0b3J5LCB0cmFpdHMsIGdlb2dyYXBoaWNhbCBvcmlnaW4gb3IgbmF0aW9uYWxpdHkuICBUaGUgcmFjZSBjb2RlcyB1c2VkIHRvIHJlcHJlc2VudCB0aGVzZSBjb25jZXB0cyBhcmUgYmFzZWQgdXBvbiB0aGUgW0NEQyBSYWNlIGFuZCBFdGhuaWNpdHkgQ29kZSBTZXQgVmVyc2lvbiAxLjBdKGh0dHA6Ly93d3cuY2RjLmdvdi9waGluL3Jlc291cmNlcy92b2NhYnVsYXJ5L2luZGV4Lmh0bWwpIHdoaWNoIGluY2x1ZGVzIG92ZXIgOTAwIGNvbmNlcHRzIGZvciByZXByZXNlbnRpbmcgcmFjZSBhbmQgZXRobmljaXR5IG9mIHdoaWNoIDkyMSByZWZlcmVuY2UgcmFjZS4gIFRoZSByYWNlIGNvbmNlcHRzIGFyZSBncm91cGVkIGJ5IGFuZCBwcmUtbWFwcGVkIHRvIHRoZSA1IE9NQiByYWNlIGNhdGVnb3JpZXM6JiN4YTsmI3hhOyAgIC0gQW1lcmljYW4gSW5kaWFuIG9yIEFsYXNrYSBOYXRpdmUmI3hhOyAgIC0gQXNpYW4mI3hhOyAgIC0gQmxhY2sgb3IgQWZyaWNhbiBBbWVyaWNhbiYjeGE7ICAgLSBOYXRpdmUgSGF3YWlpYW4gb3IgT3RoZXIgUGFjaWZpYyBJc2xhbmRlciYjeGE7ICAgLSBXaGl0ZS4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJldGhuaWNpdHkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuVVNDb3JlRXRobmljaXR5RXh0ZW5zaW9uIiB0YXJnZXQ9IiVwYXJlbnQuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vdXMtY29yZS1ldGhuaWNpdHknXSIgZGVzY3JpcHRpb249IlVTIENvcmUgZXRobmljaXR5IEV4dGVuc2lvbiIgZGVmaW5pdGlvbj0iQ29uY2VwdHMgY2xhc3NpZnlpbmcgdGhlIHBlcnNvbiBpbnRvIGEgbmFtZWQgY2F0ZWdvcnkgb2YgaHVtYW5zIHNoYXJpbmcgY29tbW9uIGhpc3RvcnksIHRyYWl0cywgZ2VvZ3JhcGhpY2FsIG9yaWdpbiBvciBuYXRpb25hbGl0eS4gIFRoZSBldGhuaWNpdHkgY29kZXMgdXNlZCB0byByZXByZXNlbnQgdGhlc2UgY29uY2VwdHMgYXJlIGJhc2VkIHVwb24gdGhlIFtDREMgZXRobmljaXR5IGFuZCBFdGhuaWNpdHkgQ29kZSBTZXQgVmVyc2lvbiAxLjBdKGh0dHA6Ly93d3cuY2RjLmdvdi9waGluL3Jlc291cmNlcy92b2NhYnVsYXJ5L2luZGV4Lmh0bWwpIHdoaWNoIGluY2x1ZGVzIG92ZXIgOTAwIGNvbmNlcHRzIGZvciByZXByZXNlbnRpbmcgcmFjZSBhbmQgZXRobmljaXR5IG9mIHdoaWNoIDQzIHJlZmVyZW5jZSBldGhuaWNpdHkuICBUaGUgZXRobmljaXR5IGNvbmNlcHRzIGFyZSBncm91cGVkIGJ5IGFuZCBwcmUtbWFwcGVkIHRvIHRoZSAyIE9NQiBldGhuaWNpdHkgY2F0ZWdvcmllczogLSBIaXNwYW5pYyBvciBMYXRpbm8gLSBOb3QgSGlzcGFuaWMgb3IgTGF0aW5vLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJpcnRoc2V4IiBlbGVtZW50VHlwZT0iUUlDb3JlLlVTQ29yZUJpcnRoU2V4RXh0ZW5zaW9uIiB0YXJnZXQ9IiVwYXJlbnQuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vdXMtY29yZS1iaXJ0aHNleCddLnZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRXh0ZW5zaW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgY2xhc3NpZnlpbmcgdGhlIHBlcnNvbidzIHNleCBhc3NpZ25lZCBhdCBiaXJ0aCAgYXMgc3BlY2lmaWVkIGJ5IHRoZSBbT2ZmaWNlIG9mIHRoZSBOYXRpb25hbCBDb29yZGluYXRvciBmb3IgSGVhbHRoIElUIChPTkMpXShodHRwczovL3d3dy5oZWFsdGhpdC5nb3YvbmV3c3Jvb20vYWJvdXQtb25jKS4iIGNvbW1lbnQ9IlRoZSBjb2RlcyByZXF1aXJlZCBhcmUgaW50ZW5kZWQgdG8gcHJlc2VudCBiaXJ0aCBzZXggKGkuZS4sIHRoZSBzZXggcmVjb3JkZWQgb24gdGhlIHBhdGllbnTigJlzIGJpcnRoIGNlcnRpZmljYXRlKSBhbmQgbm90IGdlbmRlciBpZGVudGl0eSBvciByZWFzc2lnbmVkIHNleC4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJnZW5kZXJJZGVudGl0eSIgdGFyZ2V0PSIlcGFyZW50LmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZ2VuZGVySWRlbnRpdHknXSIgZGVzY3JpcHRpb249IkV4dGVuc2lvbiIgZGVmaW5pdGlvbj0iQW4gRXh0ZW5zaW9uIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVsaWdpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUucmVsaWdpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCVwYXJlbnQuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL3BhdGllbnQtcmVsaWdpb24nXS52YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgcGF0aWVudCdzIHByb2Zlc3NlZCByZWxpZ2lvdXMgYWZmaWxpYXRpb25zIiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCdzIHByb2Zlc3NlZCByZWxpZ2lvdXMgYWZmaWxpYXRpb25zLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJpcnRoUGxhY2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuYmlydGhQbGFjZSIgdGFyZ2V0PSIlcGFyZW50LmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9wYXRpZW50LWJpcnRoUGxhY2UnXSIgZGVzY3JpcHRpb249IlBsYWNlIG9mIEJpcnRoIGZvciBwYXRpZW50IiBkZWZpbml0aW9uPSJUaGUgcmVnaXN0ZXJlZCBwbGFjZSBvZiBiaXJ0aCBvZiB0aGUgcGF0aWVudC4gQSBzeXRlbSBtYXkgdXNlIHRoZSBhZGRyZXNzLnRleHQgaWYgdGhleSBkb24ndCBzdG9yZSB0aGUgYmlydGhQbGFjZSBhZGRyZXNzIGluIGRpc2NyZXRlIGVsZW1lbnRzLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5hdGlvbmFsaXR5IiB0YXJnZXQ9IiVwYXJlbnQuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL3BhdGllbnQtbmF0aW9uYWxpdHknXSIgZGVzY3JpcHRpb249Ik5hdGlvbmFsaXR5IiBkZWZpbml0aW9uPSJUaGUgbmF0aW9uYWxpdHkgb2YgdGhlIHBhdGllbnQuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5uYXRpb25hbGl0eSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2FkYXZlcmljRG9ub3IiIGVsZW1lbnRUeXBlPSJRSUNvcmUuY2FkYXZlcmljRG9ub3IiIHRhcmdldD0iJXBhcmVudC5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vcGF0aWVudC1jYWRhdmVyaWNEb25vciddLnZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUG9zdC1tb3J0ZW0gZG9ub3Igc3RhdHVzIiBkZWZpbml0aW9uPSJGbGFnIGluZGljYXRpbmcgd2hldGhlciB0aGUgcGF0aWVudCBhdXRob3JpemVkIHRoZSBkb25hdGlvbiBvZiBib2R5IHBhcnRzIGFmdGVyIGRlYXRoLiIgY29tbWVudD0iRG8gYXMgc3RhbmRhcmQgZXh0ZW5zaW9uIG9uIFBhdGllbnQ/IiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iYmlydGhUaW1lIiBlbGVtZW50VHlwZT0iUUlDb3JlLmJpcnRoVGltZSIgdGFyZ2V0PSIlcGFyZW50LmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9wYXRpZW50LWJpcnRoVGltZSddLnZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGltZSBvZiBkYXkgb2YgYmlydGgiIGRlZmluaXRpb249IlRoZSB0aW1lIG9mIGRheSB0aGF0IHRoZSBQYXRpZW50IHdhcyBib3JuLiBUaGlzIGluY2x1ZGVzIHRoZSBkYXRlIHRvIGVuc3VyZSB0aGF0IHRoZSB0aW1lem9uZSBpbmZvcm1hdGlvbiBjYW4gYmUgY29tbXVuaWNhdGVkIGVmZmVjdGl2ZWx5LiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkFuIGlkZW50aWZpZXIgZm9yIHRoaXMgcGF0aWVudCIgZGVmaW5pdGlvbj0iQW4gaWRlbnRpZmllciBmb3IgdGhpcyBwYXRpZW50LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhY3RpdmUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGV0aGVyIHRoaXMgcGF0aWVudCdzIHJlY29yZCBpcyBpbiBhY3RpdmUgdXNlIiBkZWZpbml0aW9uPSJXaGV0aGVyIHRoaXMgcGF0aWVudCByZWNvcmQgaXMgaW4gYWN0aXZlIHVzZS4gJiN4YTtNYW55IHN5c3RlbXMgdXNlIHRoaXMgcHJvcGVydHkgdG8gbWFyayBhcyBub24tY3VycmVudCBwYXRpZW50cywgc3VjaCBhcyB0aG9zZSB0aGF0IGhhdmUgbm90IGJlZW4gc2VlbiBmb3IgYSBwZXJpb2Qgb2YgdGltZSBiYXNlZCBvbiBhbiBvcmdhbml6YXRpb24ncyBidXNpbmVzcyBydWxlcy4mI3hhOyYjeGE7SXQgaXMgb2Z0ZW4gdXNlZCB0byBmaWx0ZXIgcGF0aWVudCBsaXN0cyB0byBleGNsdWRlIGluYWN0aXZlIHBhdGllbnRzJiN4YTsmI3hhO0RlY2Vhc2VkIHBhdGllbnRzIG1heSBhbHNvIGJlIG1hcmtlZCBhcyBpbmFjdGl2ZSBmb3IgdGhlIHNhbWUgcmVhc29ucywgYnV0IG1heSBiZSBhY3RpdmUgZm9yIHNvbWUgdGltZSBhZnRlciBkZWF0aC4iIGNvbW1lbnQ9IklmIGEgcmVjb3JkIGlzIGluYWN0aXZlLCBhbmQgbGlua2VkIHRvIGFuIGFjdGl2ZSByZWNvcmQsIHRoZW4gZnV0dXJlIHBhdGllbnQvcmVjb3JkIHVwZGF0ZXMgc2hvdWxkIG9jY3VyIG9uIHRoZSBvdGhlciBwYXRpZW50LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJuYW1lIiBkZXNjcmlwdGlvbj0iQSBuYW1lIGFzc29jaWF0ZWQgd2l0aCB0aGUgcGF0aWVudCIgZGVmaW5pdGlvbj0iQSBuYW1lIGFzc29jaWF0ZWQgd2l0aCB0aGUgaW5kaXZpZHVhbC4iIGNvbW1lbnQ9IkEgcGF0aWVudCBtYXkgaGF2ZSBtdWx0aXBsZSBuYW1lcyB3aXRoIGRpZmZlcmVudCB1c2VzIG9yIGFwcGxpY2FibGUgcGVyaW9kcy4gRm9yIGFuaW1hbHMsIHRoZSBuYW1lIGlzIGEgJnF1b3Q7SHVtYW5OYW1lJnF1b3Q7IGluIHRoZSBzZW5zZSB0aGF0IGlzIGFzc2lnbmVkIGFuZCB1c2VkIGJ5IGh1bWFucyBhbmQgaGFzIHRoZSBzYW1lIHBhdHRlcm5zLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5IdW1hbk5hbWUiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InRlbGVjb20iIGRlc2NyaXB0aW9uPSJBIGNvbnRhY3QgZGV0YWlsIGZvciB0aGUgaW5kaXZpZHVhbCIgZGVmaW5pdGlvbj0iQSBjb250YWN0IGRldGFpbCAoZS5nLiBhIHRlbGVwaG9uZSBudW1iZXIgb3IgYW4gZW1haWwgYWRkcmVzcykgYnkgd2hpY2ggdGhlIGluZGl2aWR1YWwgbWF5IGJlIGNvbnRhY3RlZC4iIGNvbW1lbnQ9IkEgUGF0aWVudCBtYXkgaGF2ZSBtdWx0aXBsZSB3YXlzIHRvIGJlIGNvbnRhY3RlZCB3aXRoIGRpZmZlcmVudCB1c2VzIG9yIGFwcGxpY2FibGUgcGVyaW9kcy4gIE1heSBuZWVkIHRvIGhhdmUgb3B0aW9ucyBmb3IgY29udGFjdGluZyB0aGUgcGVyc29uIHVyZ2VudGx5IGFuZCBhbHNvIHRvIGhlbHAgd2l0aCBpZGVudGlmaWNhdGlvbi4gVGhlIGFkZHJlc3MgbWlnaHQgbm90IGdvIGRpcmVjdGx5IHRvIHRoZSBpbmRpdmlkdWFsLCBidXQgbWF5IHJlYWNoIGFub3RoZXIgcGFydHkgdGhhdCBpcyBhYmxlIHRvIHByb3h5IGZvciB0aGUgcGF0aWVudCAoaS5lLiBob21lIHBob25lLCBvciBwZXQgb3duZXIncyBwaG9uZSkuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlBhdGllbnQuVGVsZWNvbSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZ2VuZGVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJtYWxlIHwgZmVtYWxlIHwgb3RoZXIgfCB1bmtub3duIiBkZWZpbml0aW9uPSJBZG1pbmlzdHJhdGl2ZSBHZW5kZXIgLSB0aGUgZ2VuZGVyIHRoYXQgdGhlIHBhdGllbnQgaXMgY29uc2lkZXJlZCB0byBoYXZlIGZvciBhZG1pbmlzdHJhdGlvbiBhbmQgcmVjb3JkIGtlZXBpbmcgcHVycG9zZXMuIiBjb21tZW50PSJUaGUgZ2VuZGVyIG1pZ2h0IG5vdCBtYXRjaCB0aGUgYmlvbG9naWNhbCBzZXggYXMgZGV0ZXJtaW5lZCBieSBnZW5ldGljcyBvciB0aGUgaW5kaXZpZHVhbCdzIHByZWZlcnJlZCBpZGVudGlmaWNhdGlvbi4gTm90ZSB0aGF0IGZvciBib3RoIGh1bWFucyBhbmQgcGFydGljdWxhcmx5IGFuaW1hbHMsIHRoZXJlIGFyZSBvdGhlciBsZWdpdGltYXRlIHBvc3NpYmlsaXRpZXMgdGhhbiBtYWxlIGFuZCBmZW1hbGUsIHRob3VnaCB0aGUgdmFzdCBtYWpvcml0eSBvZiBzeXN0ZW1zIGFuZCBjb250ZXh0cyBvbmx5IHN1cHBvcnQgbWFsZSBhbmQgZmVtYWxlLiAgU3lzdGVtcyBwcm92aWRpbmcgZGVjaXNpb24gc3VwcG9ydCBvciBlbmZvcmNpbmcgYnVzaW5lc3MgcnVsZXMgc2hvdWxkIGlkZWFsbHkgZG8gdGhpcyBvbiB0aGUgYmFzaXMgb2YgT2JzZXJ2YXRpb25zIGRlYWxpbmcgd2l0aCB0aGUgc3BlY2lmaWMgc2V4IG9yIGdlbmRlciBhc3BlY3Qgb2YgaW50ZXJlc3QgKGFuYXRvbWljYWwsIGNocm9tb3NvbWFsLCBzb2NpYWwsIGV0Yy4pICBIb3dldmVyLCBiZWNhdXNlIHRoZXNlIG9ic2VydmF0aW9ucyBhcmUgaW5mcmVxdWVudGx5IHJlY29yZGVkLCBkZWZhdWx0aW5nIHRvIHRoZSBhZG1pbmlzdHJhdGl2ZSBnZW5kZXIgaXMgY29tbW9uIHByYWN0aWNlLiAgV2hlcmUgc3VjaCBkZWZhdWx0aW5nIG9jY3VycywgcnVsZSBlbmZvcmNlbWVudCBzaG91bGQgYWxsb3cgZm9yIHRoZSB2YXJpYXRpb24gYmV0d2VlbiBhZG1pbmlzdHJhdGl2ZSBhbmQgYmlvbG9naWNhbCwgY2hyb21vc29tYWwgYW5kIG90aGVyIGdlbmRlciBhc3BlY3RzLiAgRm9yIGV4YW1wbGUsIGFuIGFsZXJ0IGFib3V0IGEgaHlzdGVyZWN0b215IG9uIGEgbWFsZSBzaG91bGQgYmUgaGFuZGxlZCBhcyBhIHdhcm5pbmcgb3Igb3ZlcnJpZGFibGUgZXJyb3IsIG5vdCBhICZxdW90O2hhcmQmcXVvdDsgZXJyb3IuICBTZWUgdGhlIFBhdGllbnQgR2VuZGVyIGFuZCBTZXggc2VjdGlvbiBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhYm91dCBjb21tdW5pY2F0aW5nIHBhdGllbnQgZ2VuZGVyIGFuZCBzZXguIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJpcnRoRGF0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSBkYXRlIG9mIGJpcnRoIGZvciB0aGUgaW5kaXZpZHVhbCIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgb2YgYmlydGggZm9yIHRoZSBpbmRpdmlkdWFsLiIgY29tbWVudD0iQXQgbGVhc3QgYW4gZXN0aW1hdGVkIHllYXIgc2hvdWxkIGJlIHByb3ZpZGVkIGFzIGEgZ3Vlc3MgaWYgdGhlIHJlYWwgRE9CIGlzIHVua25vd24gIFRoZXJlIGlzIGEgc3RhbmRhcmQgZXh0ZW5zaW9uICZxdW90O3BhdGllbnQtYmlydGhUaW1lJnF1b3Q7IGF2YWlsYWJsZSB0aGF0IHNob3VsZCBiZSB1c2VkIHdoZXJlIFRpbWUgaXMgcmVxdWlyZWQgKHN1Y2ggYXMgaW4gbWF0ZXJuaXR5L2luZmFudCBjYXJlIHN5c3RlbXMpLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVjZWFzZWQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSW5kaWNhdGVzIGlmIHRoZSBpbmRpdmlkdWFsIGlzIGRlY2Vhc2VkIG9yIG5vdCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGlmIHRoZSBpbmRpdmlkdWFsIGlzIGRlY2Vhc2VkIG9yIG5vdC4iIGNvbW1lbnQ9IlRoZSAmcXVvdDtDYXVzZSBvZiBkZWF0aCZxdW90OyBmb3IgYSBwYXRpZW50IGlzIHR5cGljYWxseSBjYXB0dXJlZCBhcyBhbiBPYnNlcnZhdGlvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFkZHJlc3MiIGRlc2NyaXB0aW9uPSJBbiBhZGRyZXNzIGZvciB0aGUgaW5kaXZpZHVhbCIgZGVmaW5pdGlvbj0iQW4gYWRkcmVzcyBmb3IgdGhlIGluZGl2aWR1YWwuIiBjb21tZW50PSJQYXRpZW50IG1heSBoYXZlIG11bHRpcGxlIGFkZHJlc3NlcyB3aXRoIGRpZmZlcmVudCB1c2VzIG9yIGFwcGxpY2FibGUgcGVyaW9kcy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUGF0aWVudC5BZGRyZXNzIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtYXJpdGFsU3RhdHVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJNYXJpdGFsIChjaXZpbCkgc3RhdHVzIG9mIGEgcGF0aWVudCIgZGVmaW5pdGlvbj0iVGhpcyBmaWVsZCBjb250YWlucyBhIHBhdGllbnQncyBtb3N0IHJlY2VudCBtYXJpdGFsIChjaXZpbCkgc3RhdHVzLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1hcml0YWxTdGF0dXMiIGRlc2NyaXB0aW9uPSJUaGUgZG9tZXN0aWMgcGFydG5lcnNoaXAgc3RhdHVzIG9mIGEgcGVyc29uLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtdWx0aXBsZUJpcnRoIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoZXRoZXIgcGF0aWVudCBpcyBwYXJ0IG9mIGEgbXVsdGlwbGUgYmlydGgiIGRlZmluaXRpb249IkluZGljYXRlcyB3aGV0aGVyIHRoZSBwYXRpZW50IGlzIHBhcnQgb2YgYSBtdWx0aXBsZSAoYm9vbGVhbikgb3IgaW5kaWNhdGVzIHRoZSBhY3R1YWwgYmlydGggb3JkZXIgKGludGVnZXIpLiIgY29tbWVudD0iV2hlcmUgdGhlIHZhbHVlSW50ZWdlciBpcyBwcm92aWRlZCwgdGhlIG51bWJlciBpcyB0aGUgYmlydGggbnVtYmVyIGluIHRoZSBzZXF1ZW5jZS4gRS5nLiBUaGUgbWlkZGxlIGJpcnRoIGluIHRyaXBsZXRzIHdvdWxkIGJlIHZhbHVlSW50ZWdlcj0yIGFuZCB0aGUgdGhpcmQgYm9ybiB3b3VsZCBoYXZlIHZhbHVlSW50ZWdlcj0zIElmIGEgYm9vbGVhbiB2YWx1ZSB3YXMgcHJvdmlkZWQgZm9yIHRoaXMgdHJpcGxldHMgZXhhbXBsZSwgdGhlbiBhbGwgMyBwYXRpZW50IHJlY29yZHMgd291bGQgaGF2ZSB2YWx1ZUJvb2xlYW49dHJ1ZSAodGhlIG9yZGVyaW5nIGlzIG5vdCBpbmRpY2F0ZWQpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkJvb2xlYW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBob3RvIiBkZXNjcmlwdGlvbj0iSW1hZ2Ugb2YgdGhlIHBhdGllbnQiIGRlZmluaXRpb249IkltYWdlIG9mIHRoZSBwYXRpZW50LiIgY29tbWVudD0iR3VpZGVsaW5lczomI3hhOyogVXNlIGlkIHBob3Rvcywgbm90IGNsaW5pY2FsIHBob3Rvcy4mI3hhOyogTGltaXQgZGltZW5zaW9ucyB0byB0aHVtYm5haWwuJiN4YTsqIEtlZXAgYnl0ZSBjb3VudCBsb3cgdG8gZWFzZSByZXNvdXJjZSB1cGRhdGVzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkF0dGFjaG1lbnQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbnRhY3QiIGRlc2NyaXB0aW9uPSJBIGNvbnRhY3QgcGFydHkgKGUuZy4gZ3VhcmRpYW4sIHBhcnRuZXIsIGZyaWVuZCkgZm9yIHRoZSBwYXRpZW50IiBkZWZpbml0aW9uPSJBIGNvbnRhY3QgcGFydHkgKGUuZy4gZ3VhcmRpYW4sIHBhcnRuZXIsIGZyaWVuZCkgZm9yIHRoZSBwYXRpZW50LiIgY29tbWVudD0iQ29udGFjdCBjb3ZlcnMgYWxsIGtpbmRzIG9mIGNvbnRhY3QgcGFydGllczogZmFtaWx5IG1lbWJlcnMsIGJ1c2luZXNzIGNvbnRhY3RzLCBndWFyZGlhbnMsIGNhcmVnaXZlcnMuIE5vdCBhcHBsaWNhYmxlIHRvIHJlZ2lzdGVyIHBlZGlncmVlIGFuZCBmYW1pbHkgdGllcyBiZXlvbmQgdXNlIG9mIGhhdmluZyBjb250YWN0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlBhdGllbnQuQ29udGFjdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InBhdC0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IlNIQUxMIGF0IGxlYXN0IGNvbnRhaW4gYSBjb250YWN0J3MgZGV0YWlscyBvciBhIHJlZmVyZW5jZSB0byBhbiBvcmdhbml6YXRpb24iPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0ibmFtZS5leGlzdHMoKSBvciB0ZWxlY29tLmV4aXN0cygpIG9yIGFkZHJlc3MuZXhpc3RzKCkgb3Igb3JnYW5pemF0aW9uLmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb21tdW5pY2F0aW9uIiBkZXNjcmlwdGlvbj0iQSBsYW5ndWFnZSB3aGljaCBtYXkgYmUgdXNlZCB0byBjb21tdW5pY2F0ZSB3aXRoIHRoZSBwYXRpZW50IGFib3V0IGhpcyBvciBoZXIgaGVhbHRoIiBkZWZpbml0aW9uPSJBIGxhbmd1YWdlIHdoaWNoIG1heSBiZSB1c2VkIHRvIGNvbW11bmljYXRlIHdpdGggdGhlIHBhdGllbnQgYWJvdXQgaGlzIG9yIGhlciBoZWFsdGguIiBjb21tZW50PSJJZiBubyBsYW5ndWFnZSBpcyBzcGVjaWZpZWQsIHRoaXMgKmltcGxpZXMqIHRoYXQgdGhlIGRlZmF1bHQgbG9jYWwgbGFuZ3VhZ2UgaXMgc3Bva2VuLiAgSWYgeW91IG5lZWQgdG8gY29udmV5IHByb2ZpY2llbmN5IGZvciBtdWx0aXBsZSBtb2RlcywgdGhlbiB5b3UgbmVlZCBtdWx0aXBsZSBQYXRpZW50LkNvbW11bmljYXRpb24gYXNzb2NpYXRpb25zLiAgIEZvciBhbmltYWxzLCBsYW5ndWFnZSBpcyBub3QgYSByZWxldmFudCBmaWVsZCwgYW5kIHNob3VsZCBiZSBhYnNlbnQgZnJvbSB0aGUgaW5zdGFuY2UuIElmIHRoZSBQYXRpZW50IGRvZXMgbm90IHNwZWFrIHRoZSBkZWZhdWx0IGxvY2FsIGxhbmd1YWdlLCB0aGVuIHRoZSBJbnRlcnByZXRlciBSZXF1aXJlZCBTdGFuZGFyZCBjYW4gYmUgdXNlZCB0byBleHBsaWNpdGx5IGRlY2xhcmUgdGhhdCBhbiBpbnRlcnByZXRlciBpcyByZXF1aXJlZC4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlBhdGllbnQuQ29tbXVuaWNhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZ2VuZXJhbFByYWN0aXRpb25lciIgZGVzY3JpcHRpb249IlBhdGllbnQncyBub21pbmF0ZWQgcHJpbWFyeSBjYXJlIHByb3ZpZGVyIiBkZWZpbml0aW9uPSJQYXRpZW50J3Mgbm9taW5hdGVkIGNhcmUgcHJvdmlkZXIuIiBjb21tZW50PSJUaGlzIG1heSBiZSB0aGUgcHJpbWFyeSBjYXJlIHByb3ZpZGVyIChpbiBhIEdQIGNvbnRleHQpLCBvciBpdCBtYXkgYmUgYSBwYXRpZW50IG5vbWluYXRlZCBjYXJlIG1hbmFnZXIgaW4gYSBjb21tdW5pdHkvZGlzYWJpbGl0eSBzZXR0aW5nLCBvciBldmVuIG9yZ2FuaXphdGlvbiB0aGF0IHdpbGwgcHJvdmlkZSBwZW9wbGUgdG8gcGVyZm9ybSB0aGUgY2FyZSBwcm92aWRlciByb2xlcy4gIEl0IGlzIG5vdCB0byBiZSB1c2VkIHRvIHJlY29yZCBDYXJlIFRlYW1zLCB0aGVzZSBzaG91bGQgYmUgaW4gYSBDYXJlVGVhbSByZXNvdXJjZSB0aGF0IG1heSBiZSBsaW5rZWQgdG8gdGhlIENhcmVQbGFuIG9yIEVwaXNvZGVPZkNhcmUgcmVzb3VyY2VzLiYjeGE7TXVsdGlwbGUgR1BzIG1heSBiZSByZWNvcmRlZCBhZ2FpbnN0IHRoZSBwYXRpZW50IGZvciB2YXJpb3VzIHJlYXNvbnMsIHN1Y2ggYXMgYSBzdHVkZW50IHRoYXQgaGFzIGhpcyBob21lIEdQIGxpc3RlZCBhbG9uZyB3aXRoIHRoZSBHUCBhdCB1bml2ZXJzaXR5IGR1cmluZyB0aGUgc2Nob29sIHNlbWVzdGVycywgb3IgYSAmcXVvdDtmbHktaW4vZmx5LW91dCZxdW90OyB3b3JrZXIgdGhhdCBoYXMgdGhlIG9uc2l0ZSBHUCBhbHNvIGluY2x1ZGVkIHdpdGggaGlzIGhvbWUgR1AgdG8gcmVtYWluIGF3YXJlIG9mIG1lZGljYWwgaXNzdWVzLiYjeGE7JiN4YTtKdXJpc2RpY3Rpb25zIG1heSBkZWNpZGUgdGhhdCB0aGV5IGNhbiBwcm9maWxlIHRoaXMgZG93biB0byAxIGlmIGRlc2lyZWQsIG9yIDEgcGVyIHR5cGUuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1hbmFnaW5nT3JnYW5pemF0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249Ik9yZ2FuaXphdGlvbiB0aGF0IGlzIHRoZSBjdXN0b2RpYW4gb2YgdGhlIHBhdGllbnQgcmVjb3JkIiBkZWZpbml0aW9uPSJPcmdhbml6YXRpb24gdGhhdCBpcyB0aGUgY3VzdG9kaWFuIG9mIHRoZSBwYXRpZW50IHJlY29yZC4iIGNvbW1lbnQ9IlRoZXJlIGlzIG9ubHkgb25lIG1hbmFnaW5nIG9yZ2FuaXphdGlvbiBmb3IgYSBzcGVjaWZpYyBwYXRpZW50IHJlY29yZC4gT3RoZXIgb3JnYW5pemF0aW9ucyB3aWxsIGhhdmUgdGhlaXIgb3duIFBhdGllbnQgcmVjb3JkLCBhbmQgbWF5IHVzZSB0aGUgTGluayBwcm9wZXJ0eSB0byBqb2luIHRoZSByZWNvcmRzIHRvZ2V0aGVyIChvciBhIFBlcnNvbiByZXNvdXJjZSB3aGljaCBjYW4gaW5jbHVkZSBjb25maWRlbmNlIHJhdGluZ3MgZm9yIHRoZSBhc3NvY2lhdGlvbikuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibGluayIgZGVzY3JpcHRpb249IkxpbmsgdG8gYW5vdGhlciBwYXRpZW50IHJlc291cmNlIHRoYXQgY29uY2VybnMgdGhlIHNhbWUgYWN0dWFsIHBlcnNvbiIgZGVmaW5pdGlvbj0iTGluayB0byBhbm90aGVyIHBhdGllbnQgcmVzb3VyY2UgdGhhdCBjb25jZXJucyB0aGUgc2FtZSBhY3R1YWwgcGF0aWVudC4iIGNvbW1lbnQ9IlRoZXJlIGlzIG5vIGFzc3VtcHRpb24gdGhhdCBsaW5rZWQgcGF0aWVudCByZWNvcmRzIGhhdmUgbXV0dWFsIGxpbmtzLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUGF0aWVudC5MaW5rIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJnZW5lcmFsUHJhY3RpdGlvbmVyIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJvdGhlciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJSZWxhdGVkUGVyc29uIiByZWxhdGVkS2V5RWxlbWVudD0ib3RoZXIiLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJQYXRpZW50LkFkZHJlc3MiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxiYXNlVHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQWRkcmVzcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJhZGRyZXNzLXByZWZlcnJlZCIgZWxlbWVudFR5cGU9IlFJQ29yZS5wcmVmZXJyZWQiIHRhcmdldD0iJXBhcmVudC5hZGRyZXNzLmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9pc28yMTA5MC1wcmVmZXJyZWQnXS52YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlByZWZlcnJlZCIgZGVmaW5pdGlvbj0iRmxhZyBkZW5vdGluZyB3aGV0aGVyIHBhcmVudCBpdGVtIGlzIHByZWZlcnJlZCAtIGUuZy4sIGEgcHJlZmVycmVkIGFkZHJlc3Mgb3IgdGVsZXBob25lIG51bWJlci4iIGNvbW1lbnQ9Ik1ha2UgZ2VuZXJhbCBleHRlbnNpb24uIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUGF0aWVudC5Db21tdW5pY2F0aW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJsYW5ndWFnZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGhlIGxhbmd1YWdlIHdoaWNoIGNhbiBiZSB1c2VkIHRvIGNvbW11bmljYXRlIHdpdGggdGhlIHBhdGllbnQgYWJvdXQgaGlzIG9yIGhlciBoZWFsdGgiIGRlZmluaXRpb249IlRoZSBJU08tNjM5LTEgYWxwaGEgMiBjb2RlIGluIGxvd2VyIGNhc2UgZm9yIHRoZSBsYW5ndWFnZSwgb3B0aW9uYWxseSBmb2xsb3dlZCBieSBhIGh5cGhlbiBhbmQgdGhlIElTTy0zMTY2LTEgYWxwaGEgMiBjb2RlIGZvciB0aGUgcmVnaW9uIGluIHVwcGVyIGNhc2U7IGUuZy4gJnF1b3Q7ZW4mcXVvdDsgZm9yIEVuZ2xpc2gsIG9yICZxdW90O2VuLVVTJnF1b3Q7IGZvciBBbWVyaWNhbiBFbmdsaXNoIHZlcnN1cyAmcXVvdDtlbi1FTiZxdW90OyBmb3IgRW5nbGFuZCBFbmdsaXNoLiIgY29tbWVudD0iVGhlIHN0cnVjdHVyZSBhYS1CQiB3aXRoIHRoaXMgZXhhY3QgY2FzaW5nIGlzIG9uZSB0aGUgbW9zdCB3aWRlbHkgdXNlZCBub3RhdGlvbnMgZm9yIGxvY2FsZS4gSG93ZXZlciBub3QgYWxsIHN5c3RlbXMgYWN0dWFsbHkgY29kZSB0aGlzIGJ1dCBpbnN0ZWFkIGhhdmUgaXQgYXMgZnJlZSB0ZXh0LiBIZW5jZSBDb2RlYWJsZUNvbmNlcHQgaW5zdGVhZCBvZiBjb2RlIGFzIHRoZSBkYXRhIHR5cGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icHJlZmVycmVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTGFuZ3VhZ2UgcHJlZmVyZW5jZSBpbmRpY2F0b3IiIGRlZmluaXRpb249IkluZGljYXRlcyB3aGV0aGVyIG9yIG5vdCB0aGUgcGF0aWVudCBwcmVmZXJzIHRoaXMgbGFuZ3VhZ2UgKG92ZXIgb3RoZXIgbGFuZ3VhZ2VzIGhlIG1hc3RlcnMgdXAgYSBjZXJ0YWluIGxldmVsKS4iIGNvbW1lbnQ9IlRoaXMgbGFuZ3VhZ2UgaXMgc3BlY2lmaWNhbGx5IGlkZW50aWZpZWQgZm9yIGNvbW11bmljYXRpbmcgaGVhbHRoY2FyZSBpbmZvcm1hdGlvbi4iLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUGF0aWVudC5Db250YWN0IiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWxhdGlvbnNoaXAiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUga2luZCBvZiByZWxhdGlvbnNoaXAiIGRlZmluaXRpb249IlRoZSBuYXR1cmUgb2YgdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHRoZSBwYXRpZW50IGFuZCB0aGUgY29udGFjdCBwZXJzb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvbnRhY3RSZWxhdGlvbnNoaXAiIGRlc2NyaXB0aW9uPSJUaGUgbmF0dXJlIG9mIHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiBhIHBhdGllbnQgYW5kIGEgY29udGFjdCBwZXJzb24gZm9yIHRoYXQgcGF0aWVudC4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibmFtZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5IdW1hbk5hbWUiIGRlc2NyaXB0aW9uPSJBIG5hbWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBjb250YWN0IHBlcnNvbiIgZGVmaW5pdGlvbj0iQSBuYW1lIGFzc29jaWF0ZWQgd2l0aCB0aGUgY29udGFjdCBwZXJzb24uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InRlbGVjb20iIGRlc2NyaXB0aW9uPSJBIGNvbnRhY3QgZGV0YWlsIGZvciB0aGUgcGVyc29uIiBkZWZpbml0aW9uPSJBIGNvbnRhY3QgZGV0YWlsIGZvciB0aGUgcGVyc29uLCBlLmcuIGEgdGVsZXBob25lIG51bWJlciBvciBhbiBlbWFpbCBhZGRyZXNzLiIgY29tbWVudD0iQ29udGFjdCBtYXkgaGF2ZSBtdWx0aXBsZSB3YXlzIHRvIGJlIGNvbnRhY3RlZCB3aXRoIGRpZmZlcmVudCB1c2VzIG9yIGFwcGxpY2FibGUgcGVyaW9kcy4gIE1heSBuZWVkIHRvIGhhdmUgb3B0aW9ucyBmb3IgY29udGFjdGluZyB0aGUgcGVyc29uIHVyZ2VudGx5LCBhbmQgYWxzbyB0byBoZWxwIHdpdGggaWRlbnRpZmljYXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ29udGFjdFBvaW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhZGRyZXNzIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFkZHJlc3MiIGRlc2NyaXB0aW9uPSJBZGRyZXNzIGZvciB0aGUgY29udGFjdCBwZXJzb24iIGRlZmluaXRpb249IkFkZHJlc3MgZm9yIHRoZSBjb250YWN0IHBlcnNvbi4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZ2VuZGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFkbWluaXN0cmF0aXZlR2VuZGVyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Im1hbGUgfCBmZW1hbGUgfCBvdGhlciB8IHVua25vd24iIGRlZmluaXRpb249IkFkbWluaXN0cmF0aXZlIEdlbmRlciAtIHRoZSBnZW5kZXIgdGhhdCB0aGUgY29udGFjdCBwZXJzb24gaXMgY29uc2lkZXJlZCB0byBoYXZlIGZvciBhZG1pbmlzdHJhdGlvbiBhbmQgcmVjb3JkIGtlZXBpbmcgcHVycG9zZXMuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQWRtaW5pc3RyYXRpdmVHZW5kZXIiIGRlc2NyaXB0aW9uPSJUaGUgZ2VuZGVyIG9mIGEgcGVyc29uIHVzZWQgZm9yIGFkbWluaXN0cmF0aXZlIHB1cnBvc2VzLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ib3JnYW5pemF0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249Ik9yZ2FuaXphdGlvbiB0aGF0IGlzIGFzc29jaWF0ZWQgd2l0aCB0aGUgY29udGFjdCIgZGVmaW5pdGlvbj0iT3JnYW5pemF0aW9uIG9uIGJlaGFsZiBvZiB3aGljaCB0aGUgY29udGFjdCBpcyBhY3Rpbmcgb3IgZm9yIHdoaWNoIHRoZSBjb250YWN0IGlzIHdvcmtpbmcuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgcGVyaW9kIGR1cmluZyB3aGljaCB0aGlzIGNvbnRhY3QgcGVyc29uIG9yIG9yZ2FuaXphdGlvbiBpcyB2YWxpZCB0byBiZSBjb250YWN0ZWQgcmVsYXRpbmcgdG8gdGhpcyBwYXRpZW50IiBkZWZpbml0aW9uPSJUaGUgcGVyaW9kIGR1cmluZyB3aGljaCB0aGlzIGNvbnRhY3QgcGVyc29uIG9yIG9yZ2FuaXphdGlvbiBpcyB2YWxpZCB0byBiZSBjb250YWN0ZWQgcmVsYXRpbmcgdG8gdGhpcyBwYXRpZW50LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJQYXRpZW50LkxpbmsiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9Im90aGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlRoZSBvdGhlciBwYXRpZW50IG9yIHJlbGF0ZWQgcGVyc29uIHJlc291cmNlIHRoYXQgdGhlIGxpbmsgcmVmZXJzIHRvIiBkZWZpbml0aW9uPSJUaGUgb3RoZXIgcGF0aWVudCByZXNvdXJjZSB0aGF0IHRoZSBsaW5rIHJlZmVycyB0by4iIGNvbW1lbnQ9IlJlZmVyZW5jaW5nIGEgUmVsYXRlZFBlcnNvbiBoZXJlIHJlbW92ZXMgdGhlIG5lZWQgdG8gdXNlIGEgUGVyc29uIHJlY29yZCB0byBhc3NvY2lhdGUgYSBQYXRpZW50IGFuZCBSZWxhdGVkUGVyc29uIGFzIHRoZSBzYW1lIGluZGl2aWR1YWwuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5MaW5rVHlwZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyZXBsYWNlZC1ieSB8IHJlcGxhY2VzIHwgcmVmZXIgfCBzZWVhbHNvIiBkZWZpbml0aW9uPSJUaGUgdHlwZSBvZiBsaW5rIGJldHdlZW4gdGhpcyBwYXRpZW50IHJlc291cmNlIGFuZCBhbm90aGVyIHBhdGllbnQgcmVzb3VyY2UuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTGlua1R5cGUiIGRlc2NyaXB0aW9uPSJUaGUgdHlwZSBvZiBsaW5rIGJldHdlZW4gdGhpcyBwYXRpZW50IHJlc291cmNlIGFuZCBhbm90aGVyIHBhdGllbnQgcmVzb3VyY2UuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlBhdGllbnQuVGVsZWNvbSIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGJhc2VUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb250YWN0UG9pbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0idGVsZWNvbS1wcmVmZXJyZWQiIGVsZW1lbnRUeXBlPSJRSUNvcmUucHJlZmVycmVkIiB0YXJnZXQ9IiVwYXJlbnQudGVsZWNvbS5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vaXNvMjEwOTAtcHJlZmVycmVkJ10udmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQcmVmZXJyZWQiIGRlZmluaXRpb249IkZsYWcgZGVub3Rpbmcgd2hldGhlciBwYXJlbnQgaXRlbSBpcyBwcmVmZXJyZWQgLSBlLmcuLCBhIHByZWZlcnJlZCBhZGRyZXNzIG9yIHRlbGVwaG9uZSBudW1iZXIuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJQcmFjdGl0aW9uZXIiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLXByYWN0aXRpb25lciIgbGFiZWw9IlFJQ29yZSBQcmFjdGl0aW9uZXIiIHJldHJpZXZhYmxlPSJ0cnVlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkFuIGlkZW50aWZpZXIgZm9yIHRoZSBwZXJzb24gYXMgdGhpcyBhZ2VudCIgZGVmaW5pdGlvbj0iQW4gaWRlbnRpZmllciB0aGF0IGFwcGxpZXMgdG8gdGhpcyBwZXJzb24gaW4gdGhpcyByb2xlLiIgY29tbWVudD0iTlBJIG11c3QgYmUgc3VwcG9ydGVkIGFzIHRoZSBpZGVudGlmaWVyIHN5c3RlbSBpbiB0aGUgVVMsIFRheCBpZCBpcyBhbGxvd2VkLCBMb2NhbCBpZCBpcyBhbGxvd2VkIGluIGFkZGl0aW9uIHRvIGFub3RoZXIgaWRlbnRpZmllciBzdXBwbGllZCBieSBhIGp1cmlzZGljdGlvbmFsIGF1dGhvcml0eSBzdWNoIGFzIGEgcHJhY3RpdGlvbmVyJ3MgKkRydWcgRW5mb3JjZW1lbnQgQWRtaW5pc3RyYXRpb24gKERFQSkqIG51bWJlci4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iTlBJIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJBbiBpZGVudGlmaWVyIGZvciB0aGUgcGVyc29uIGFzIHRoaXMgYWdlbnQiIGRlZmluaXRpb249IkFuIGlkZW50aWZpZXIgdGhhdCBhcHBsaWVzIHRvIHRoaXMgcGVyc29uIGluIHRoaXMgcm9sZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVpbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iVGhlcmUgaXMgbm90IGEgZ2VuZXJhbCBUYXggSWRlbnRpZmllciBOdW1lciAoVElOKSBPSUQuIFRoZXJlIGlzIGFuIFNTTiwgYSBQVElOLCBhbmQgYW4gSVRJTiwgYnV0IG5vIFRJTiBnZW5lcmFsbHkuIFNvIHRoZSBvbmx5IHNsaWNlIHNwZWNpZmllZCBoZXJlIGlzIEVJTiwgaWYgY29uc3VtZXJzIGRldGVybWluZSBhIG5lZWQgZm9yIGFuIFNTTiwgc3VibWl0IGEgY29tbWVudCB0byB0aGF0IGVmZmVjdC4iIGRlZmluaXRpb249IkFuIGlkZW50aWZpZXIgdGhhdCBhcHBsaWVzIHRvIHRoaXMgcGVyc29uIGluIHRoaXMgcm9sZS4iIGNvbW1lbnQ9Ik5QSSBtdXN0IGJlIHN1cHBvcnRlZCBhcyB0aGUgaWRlbnRpZmllciBzeXN0ZW0gaW4gdGhlIFVTLCBUYXggaWQgaXMgYWxsb3dlZCwgTG9jYWwgaWQgaXMgYWxsb3dlZCBpbiBhZGRpdGlvbiB0byBhbm90aGVyIGlkZW50aWZpZXIgc3VwcGxpZWQgYnkgYSBqdXJpc2RpY3Rpb25hbCBhdXRob3JpdHkgc3VjaCBhcyBhIHByYWN0aXRpb25lcidzICpEcnVnIEVuZm9yY2VtZW50IEFkbWluaXN0cmF0aW9uIChERUEpKiBudW1iZXIuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJhY3RpdmUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGV0aGVyIHRoaXMgcHJhY3RpdGlvbmVyJ3MgcmVjb3JkIGlzIGluIGFjdGl2ZSB1c2UiIGRlZmluaXRpb249IldoZXRoZXIgdGhpcyBwcmFjdGl0aW9uZXIncyByZWNvcmQgaXMgaW4gYWN0aXZlIHVzZS4iIGNvbW1lbnQ9IklmIHRoZSBwcmFjdGl0aW9uZXIgaXMgbm90IGluIHVzZSBieSBvbmUgb3JnYW5pemF0aW9uLCB0aGVuIGl0IHNob3VsZCBtYXJrIHRoZSBwZXJpb2Qgb24gdGhlIFByYWN0aXRvbmVyUm9sZSB3aXRoIGFuIGVuZCBkYXRlIChldmVuIGlmIHRoZXkgYXJlIGFjdGl2ZSkgYXMgdGhleSBtYXkgYmUgYWN0aXZlIGluIGFub3RoZXIgcm9sZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibmFtZSIgZGVzY3JpcHRpb249IlRoZSBuYW1lKHMpIGFzc29jaWF0ZWQgd2l0aCB0aGUgcHJhY3RpdGlvbmVyIiBkZWZpbml0aW9uPSJUaGUgbmFtZShzKSBhc3NvY2lhdGVkIHdpdGggdGhlIHByYWN0aXRpb25lci4iIGNvbW1lbnQ9IlRoZSBzZWxlY3Rpb24gb2YgdGhlIHVzZSBwcm9wZXJ0eSBzaG91bGQgZW5zdXJlIHRoYXQgdGhlcmUgaXMgYSBzaW5nbGUgdXN1YWwgbmFtZSBzcGVjaWZpZWQsIGFuZCBvdGhlcnMgdXNlIHRoZSBuaWNrbmFtZSAoYWxpYXMpLCBvbGQsIG9yIG90aGVyIHZhbHVlcyBhcyBhcHByb3ByaWF0ZS4gICYjeGQ7JiN4ZDtJbiBnZW5lcmFsLCBzZWxlY3QgdGhlIHZhbHVlIHRvIGJlIHVzZWQgaW4gdGhlIFJlc291cmNlUmVmZXJlbmNlLmRpc3BsYXkgYmFzZWQgb24gdGhpczomI3hkOyYjeGQ7MS4gVGhlcmUgaXMgbW9yZSB0aGFuIDEgbmFtZSYjeGQ7Mi4gVXNlID0gdXN1YWwmI3hkOzMuIFBlcmlvZCBpcyBjdXJyZW50IHRvIHRoZSBkYXRlIG9mIHRoZSB1c2FnZSYjeGQ7NC4gVXNlID0gb2ZmaWNpYWwmI3hkOzUuIE90aGVyIG9yZGVyIGFzIGRlY2lkZWQgYnkgaW50ZXJuYWwgYnVzaW5lc3MgcnVsZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkh1bWFuTmFtZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idGVsZWNvbSIgZGVzY3JpcHRpb249IkEgY29udGFjdCBkZXRhaWwgZm9yIHRoZSBwcmFjdGl0aW9uZXIgKHRoYXQgYXBwbHkgdG8gYWxsIHJvbGVzKSIgZGVmaW5pdGlvbj0iQSBjb250YWN0IGRldGFpbCBmb3IgdGhlIHByYWN0aXRpb25lciwgZS5nLiBhIHRlbGVwaG9uZSBudW1iZXIgb3IgYW4gZW1haWwgYWRkcmVzcy4iIGNvbW1lbnQ9IlBlcnNvbiBtYXkgaGF2ZSBtdWx0aXBsZSB3YXlzIHRvIGJlIGNvbnRhY3RlZCB3aXRoIGRpZmZlcmVudCB1c2VzIG9yIGFwcGxpY2FibGUgcGVyaW9kcy4gIE1heSBuZWVkIHRvIGhhdmUgb3B0aW9ucyBmb3IgY29udGFjdGluZyB0aGUgcGVyc29uIHVyZ2VudGx5IGFuZCB0byBoZWxwIHdpdGggaWRlbnRpZmljYXRpb24uICBUaGVzZSB0eXBpY2FsbHkgd2lsbCBoYXZlIGhvbWUgbnVtYmVycywgb3IgbW9iaWxlIG51bWJlcnMgdGhhdCBhcmUgbm90IHJvbGUgc3BlY2lmaWMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbnRhY3RQb2ludCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYWRkcmVzcyIgZGVzY3JpcHRpb249IkFkZHJlc3MoZXMpIG9mIHRoZSBwcmFjdGl0aW9uZXIgdGhhdCBhcmUgbm90IHJvbGUgc3BlY2lmaWMgKHR5cGljYWxseSBob21lIGFkZHJlc3MpIiBkZWZpbml0aW9uPSJBZGRyZXNzKGVzKSBvZiB0aGUgcHJhY3RpdGlvbmVyIHRoYXQgYXJlIG5vdCByb2xlIHNwZWNpZmljICh0eXBpY2FsbHkgaG9tZSBhZGRyZXNzKS4gJiN4ZDtXb3JrIGFkZHJlc3NlcyBhcmUgbm90IHR5cGljYWxseSBlbnRlcmVkIGluIHRoaXMgcHJvcGVydHkgYXMgdGhleSBhcmUgdXN1YWxseSByb2xlIGRlcGVuZGVudC4iIGNvbW1lbnQ9IlRoZSBQcmFjdGl0aW9uZXJSb2xlIGRvZXMgbm90IGhhdmUgYW4gYWRkcmVzcyB2YWx1ZSBvbiBpdCwgYXMgaXQgaXMgZXhwZWN0ZWQgdGhhdCB0aGUgbG9jYXRpb24gcHJvcGVydHkgYmUgdXNlZCBmb3IgdGhpcyBwdXJwb3NlICh3aGljaCBoYXMgYW4gYWRkcmVzcykuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFkZHJlc3MiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImdlbmRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5BZG1pbmlzdHJhdGl2ZUdlbmRlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJtYWxlIHwgZmVtYWxlIHwgb3RoZXIgfCB1bmtub3duIiBkZWZpbml0aW9uPSJBZG1pbmlzdHJhdGl2ZSBHZW5kZXIgLSB0aGUgZ2VuZGVyIHRoYXQgdGhlIHBlcnNvbiBpcyBjb25zaWRlcmVkIHRvIGhhdmUgZm9yIGFkbWluaXN0cmF0aW9uIGFuZCByZWNvcmQga2VlcGluZyBwdXJwb3Nlcy4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJBZG1pbmlzdHJhdGl2ZUdlbmRlciIgZGVzY3JpcHRpb249IlRoZSBnZW5kZXIgb2YgYSBwZXJzb24gdXNlZCBmb3IgYWRtaW5pc3RyYXRpdmUgcHVycG9zZXMuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJiaXJ0aERhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaGUgZGF0ZSAgb24gd2hpY2ggdGhlIHByYWN0aXRpb25lciB3YXMgYm9ybiIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgb2YgYmlydGggZm9yIHRoZSBwcmFjdGl0aW9uZXIuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBob3RvIiBkZXNjcmlwdGlvbj0iSW1hZ2Ugb2YgdGhlIHBlcnNvbiIgZGVmaW5pdGlvbj0iSW1hZ2Ugb2YgdGhlIHBlcnNvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5BdHRhY2htZW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJxdWFsaWZpY2F0aW9uIiBkZXNjcmlwdGlvbj0iQ2VydGlmaWNhdGlvbiwgbGljZW5zZXMsIG9yIHRyYWluaW5nIHBlcnRhaW5pbmcgdG8gdGhlIHByb3Zpc2lvbiBvZiBjYXJlIiBkZWZpbml0aW9uPSJUaGUgb2ZmaWNpYWwgY2VydGlmaWNhdGlvbnMsIHRyYWluaW5nLCBhbmQgbGljZW5zZXMgdGhhdCBhdXRob3JpemUgb3Igb3RoZXJ3aXNlIHBlcnRhaW4gdG8gdGhlIHByb3Zpc2lvbiBvZiBjYXJlIGJ5IHRoZSBwcmFjdGl0aW9uZXIuICBGb3IgZXhhbXBsZSwgYSBtZWRpY2FsIGxpY2Vuc2UgaXNzdWVkIGJ5IGEgbWVkaWNhbCBib2FyZCBhdXRob3JpemluZyB0aGUgcHJhY3RpdGlvbmVyIHRvIHByYWN0aWNlIG1lZGljaW5lIHdpdGhpbiBhIGNlcnRpYW4gbG9jYWxpdHkuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5QcmFjdGl0aW9uZXIuUXVhbGlmaWNhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29tbXVuaWNhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkEgbGFuZ3VhZ2UgdGhlIHByYWN0aXRpb25lciBjYW4gdXNlIGluIHBhdGllbnQgY29tbXVuaWNhdGlvbiIgZGVmaW5pdGlvbj0iQSBsYW5ndWFnZSB0aGUgcHJhY3RpdGlvbmVyIGNhbiB1c2UgaW4gcGF0aWVudCBjb21tdW5pY2F0aW9uLiIgY29tbWVudD0iVGhlIHN0cnVjdHVyZSBhYS1CQiB3aXRoIHRoaXMgZXhhY3QgY2FzaW5nIGlzIG9uZSB0aGUgbW9zdCB3aWRlbHkgdXNlZCBub3RhdGlvbnMgZm9yIGxvY2FsZS4gSG93ZXZlciBub3QgYWxsIHN5c3RlbXMgY29kZSB0aGlzIGJ1dCBpbnN0ZWFkIGhhdmUgaXQgYXMgZnJlZSB0ZXh0LiBIZW5jZSBDb2RlYWJsZUNvbmNlcHQgaW5zdGVhZCBvZiBjb2RlIGFzIHRoZSBkYXRhIHR5cGUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ikxhbmd1YWdlIiBkZXNjcmlwdGlvbj0iQSBodW1hbiBsYW5ndWFnZS4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJQcmFjdGl0aW9uZXIuUXVhbGlmaWNhdGlvbiIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkFuIGlkZW50aWZpZXIgZm9yIHRoaXMgcXVhbGlmaWNhdGlvbiBmb3IgdGhlIHByYWN0aXRpb25lciIgZGVmaW5pdGlvbj0iQW4gaWRlbnRpZmllciB0aGF0IGFwcGxpZXMgdG8gdGhpcyBwZXJzb24ncyBxdWFsaWZpY2F0aW9uIGluIHRoaXMgcm9sZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb2RlZCByZXByZXNlbnRhdGlvbiBvZiB0aGUgcXVhbGlmaWNhdGlvbiIgZGVmaW5pdGlvbj0iQ29kZWQgcmVwcmVzZW50YXRpb24gb2YgdGhlIHF1YWxpZmljYXRpb24uIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUXVhbGlmaWNhdGlvbiIgZGVzY3JpcHRpb249IlNwZWNpZmljIHF1YWxpZmljYXRpb24gdGhlIHByYWN0aXRpb25lciBoYXMgdG8gcHJvdmlkZSBhIHNlcnZpY2UuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJQZXJpb2QgZHVyaW5nIHdoaWNoIHRoZSBxdWFsaWZpY2F0aW9uIGlzIHZhbGlkIiBkZWZpbml0aW9uPSJQZXJpb2QgZHVyaW5nIHdoaWNoIHRoZSBxdWFsaWZpY2F0aW9uIGlzIHZhbGlkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iT3JnYW5pemF0aW9uIHRoYXQgcmVndWxhdGVzIGFuZCBpc3N1ZXMgdGhlIHF1YWxpZmljYXRpb24iIGRlZmluaXRpb249Ik9yZ2FuaXphdGlvbiB0aGF0IHJlZ3VsYXRlcyBhbmQgaXNzdWVzIHRoZSBxdWFsaWZpY2F0aW9uLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUHJhY3RpdGlvbmVyUm9sZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtcHJhY3RpdGlvbmVycm9sZSIgbGFiZWw9IlFJQ29yZSBQcmFjdGl0aW9uZXJSb2xlIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkJ1c2luZXNzIElkZW50aWZpZXJzIHRoYXQgYXJlIHNwZWNpZmljIHRvIGEgcm9sZS9sb2NhdGlvbiIgZGVmaW5pdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllcnMgdGhhdCBhcmUgc3BlY2lmaWMgdG8gYSByb2xlL2xvY2F0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhY3RpdmUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGV0aGVyIHRoaXMgcHJhY3RpdGlvbmVyIHJvbGUgcmVjb3JkIGlzIGluIGFjdGl2ZSB1c2UiIGRlZmluaXRpb249IldoZXRoZXIgdGhpcyBwcmFjdGl0aW9uZXIgcm9sZSByZWNvcmQgaXMgaW4gYWN0aXZlIHVzZS4iIGNvbW1lbnQ9IklmIHRoaXMgdmFsdWUgaXMgZmFsc2UsIHlvdSBtYXkgcmVmZXIgdG8gdGhlIHBlcmlvZCB0byBzZWUgd2hlbiB0aGUgcm9sZSB3YXMgaW4gYWN0aXZlIHVzZS4gSWYgdGhlcmUgaXMgbm8gcGVyaW9kIHNwZWNpZmllZCwgbm8gaW5mZXJlbmNlIGNhbiBiZSBtYWRlIGFib3V0IHdoZW4gaXQgd2FzIGFjdGl2ZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgcGVyaW9kIGR1cmluZyB3aGljaCB0aGUgcHJhY3RpdGlvbmVyIGlzIGF1dGhvcml6ZWQgdG8gcGVyZm9ybSBpbiB0aGVzZSByb2xlKHMpIiBkZWZpbml0aW9uPSJUaGUgcGVyaW9kIGR1cmluZyB3aGljaCB0aGUgcGVyc29uIGlzIGF1dGhvcml6ZWQgdG8gYWN0IGFzIGEgcHJhY3RpdGlvbmVyIGluIHRoZXNlIHJvbGUocykgZm9yIHRoZSBvcmdhbml6YXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwcmFjdGl0aW9uZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iUHJhY3RpdGlvbmVyIHRoYXQgaXMgYWJsZSB0byBwcm92aWRlIHRoZSBkZWZpbmVkIHNlcnZpY2VzIGZvciB0aGUgb3JnYW5pemF0aW9uIiBkZWZpbml0aW9uPSJQcmFjdGl0aW9uZXIgdGhhdCBpcyBhYmxlIHRvIHByb3ZpZGUgdGhlIGRlZmluZWQgc2VydmljZXMgZm9yIHRoZSBvcmdhbml6YXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJvcmdhbml6YXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iT3JnYW5pemF0aW9uIHdoZXJlIHRoZSByb2xlcyBhcmUgYXZhaWxhYmxlIiBkZWZpbml0aW9uPSJUaGUgb3JnYW5pemF0aW9uIHdoZXJlIHRoZSBQcmFjdGl0aW9uZXIgcGVyZm9ybXMgdGhlIHJvbGVzIGFzc29jaWF0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUm9sZXMgd2hpY2ggdGhpcyBwcmFjdGl0aW9uZXIgbWF5IHBlcmZvcm0iIGRlZmluaXRpb249IlJvbGVzIHdoaWNoIHRoaXMgcHJhY3RpdGlvbmVyIGlzIGF1dGhvcml6ZWQgdG8gcGVyZm9ybSBmb3IgdGhlIG9yZ2FuaXphdGlvbi4iIGNvbW1lbnQ9IkEgcGVyc29uIG1heSBoYXZlIG1vcmUgdGhhbiBvbmUgcm9sZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJQcm92aWRlciByb2xlIGNvZGVzIGNvbnNpc3Rpbmcgb2YgTlVDQyBIZWFsdGggQ2FyZSBQcm92aWRlciBUYXhvbm9teSBDb2RlIFNldCBmb3IgcHJvdmlkZXJzLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaWFsdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJTcGVjaWZpYyBzcGVjaWFsdHkgb2YgdGhlIHByYWN0aXRpb25lciIgZGVmaW5pdGlvbj0iU3BlY2lmaWMgc3BlY2lhbHR5IG9mIHRoZSBwcmFjdGl0aW9uZXIuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImxvY2F0aW9uIiBkZXNjcmlwdGlvbj0iVGhlIGxvY2F0aW9uKHMpIGF0IHdoaWNoIHRoaXMgcHJhY3RpdGlvbmVyIHByb3ZpZGVzIGNhcmUiIGRlZmluaXRpb249IlRoZSBsb2NhdGlvbihzKSBhdCB3aGljaCB0aGlzIHByYWN0aXRpb25lciBwcm92aWRlcyBjYXJlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImhlYWx0aGNhcmVTZXJ2aWNlIiBkZXNjcmlwdGlvbj0iVGhlIGxpc3Qgb2YgaGVhbHRoY2FyZSBzZXJ2aWNlcyB0aGF0IHRoaXMgd29ya2VyIHByb3ZpZGVzIGZvciB0aGlzIHJvbGUncyBPcmdhbml6YXRpb24vTG9jYXRpb24ocykiIGRlZmluaXRpb249IlRoZSBsaXN0IG9mIGhlYWx0aGNhcmUgc2VydmljZXMgdGhhdCB0aGlzIHdvcmtlciBwcm92aWRlcyBmb3IgdGhpcyByb2xlJ3MgT3JnYW5pemF0aW9uL0xvY2F0aW9uKHMpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idGVsZWNvbSIgZGVzY3JpcHRpb249IkNvbnRhY3QgZGV0YWlscyB0aGF0IGFyZSBzcGVjaWZpYyB0byB0aGUgcm9sZS9sb2NhdGlvbi9zZXJ2aWNlIiBkZWZpbml0aW9uPSJDb250YWN0IGRldGFpbHMgdGhhdCBhcmUgc3BlY2lmaWMgdG8gdGhlIHJvbGUvbG9jYXRpb24vc2VydmljZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ29udGFjdFBvaW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhdmFpbGFibGVUaW1lIiBkZXNjcmlwdGlvbj0iVGltZXMgdGhlIFNlcnZpY2UgU2l0ZSBpcyBhdmFpbGFibGUiIGRlZmluaXRpb249IkEgY29sbGVjdGlvbiBvZiB0aW1lcyB0aGUgcHJhY3RpdGlvbmVyIGlzIGF2YWlsYWJsZSBvciBwZXJmb3JtaW5nIHRoaXMgcm9sZSBhdCB0aGUgbG9jYXRpb24gYW5kL29yIGhlYWx0aGNhcmVzZXJ2aWNlLiIgY29tbWVudD0iTW9yZSBkZXRhaWxlZCBhdmFpbGFiaWxpdHkgaW5mb3JtYXRpb24gbWF5IGJlIHByb3ZpZGVkIGluIGFzc29jaWF0ZWQgU2NoZWR1bGUvU2xvdCByZXNvdXJjZXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUHJhY3RpdGlvbmVyUm9sZS5BdmFpbGFibGVUaW1lIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RBdmFpbGFibGUiIGRlc2NyaXB0aW9uPSJOb3QgYXZhaWxhYmxlIGR1cmluZyB0aGlzIHRpbWUgZHVlIHRvIHByb3ZpZGVkIHJlYXNvbiIgZGVmaW5pdGlvbj0iVGhlIHByYWN0aXRpb25lciBpcyBub3QgYXZhaWxhYmxlIG9yIHBlcmZvcm1pbmcgdGhpcyByb2xlIGR1cmluZyB0aGlzIHBlcmlvZCBvZiB0aW1lIGR1ZSB0byB0aGUgcHJvdmlkZWQgcmVhc29uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlByYWN0aXRpb25lclJvbGUuTm90QXZhaWxhYmxlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhdmFpbGFiaWxpdHlFeGNlcHRpb25zIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEZXNjcmlwdGlvbiBvZiBhdmFpbGFiaWxpdHkgZXhjZXB0aW9ucyIgZGVmaW5pdGlvbj0iQSBkZXNjcmlwdGlvbiBvZiBzaXRlIGF2YWlsYWJpbGl0eSBleGNlcHRpb25zLCBlLmcuIHB1YmxpYyBob2xpZGF5IGF2YWlsYWJpbGl0eS4gU3VjY2luY3RseSBkZXNjcmliaW5nIGFsbCBwb3NzaWJsZSBleGNlcHRpb25zIHRvIG5vcm1hbCBzaXRlIGF2YWlsYWJpbGl0eSBhcyBkZXRhaWxzIGluIHRoZSBhdmFpbGFibGUgVGltZXMgYW5kIG5vdCBhdmFpbGFibGUgVGltZXMuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVuZHBvaW50IiBkZXNjcmlwdGlvbj0iVGVjaG5pY2FsIGVuZHBvaW50cyBwcm92aWRpbmcgYWNjZXNzIHRvIHNlcnZpY2VzIG9wZXJhdGVkIGZvciB0aGUgcHJhY3RpdGlvbmVyIHdpdGggdGhpcyByb2xlIiBkZWZpbml0aW9uPSJUZWNobmljYWwgZW5kcG9pbnRzIHByb3ZpZGluZyBhY2Nlc3MgdG8gc2VydmljZXMgb3BlcmF0ZWQgZm9yIHRoZSBwcmFjdGl0aW9uZXIgd2l0aCB0aGlzIHJvbGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0icHJhY3RpdGlvbmVyIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlByYWN0aXRpb25lclJvbGUuQXZhaWxhYmxlVGltZSIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGF5c09mV2VlayIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJtb24gfCB0dWUgfCB3ZWQgfCB0aHUgfCBmcmkgfCBzYXQgfCBzdW4iIGRlZmluaXRpb249IkluZGljYXRlcyB3aGljaCBkYXlzIG9mIHRoZSB3ZWVrIGFyZSBhdmFpbGFibGUgYmV0d2VlbiB0aGUgc3RhcnQgYW5kIGVuZCBUaW1lcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5EYXlzT2ZXZWVrIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRGF5c09mV2VlayIgZGVzY3JpcHRpb249IlRoZSBkYXlzIG9mIHRoZSB3ZWVrLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYWxsRGF5IiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iQWx3YXlzIGF2YWlsYWJsZT8gZS5nLiAyNCBob3VyIHNlcnZpY2UiIGRlZmluaXRpb249IklzIHRoaXMgYWx3YXlzIGF2YWlsYWJsZT8gKGhlbmNlIHRpbWVzIGFyZSBpcnJlbGV2YW50KSBlLmcuIDI0IGhvdXIgc2VydmljZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iYXZhaWxhYmxlU3RhcnRUaW1lIiBlbGVtZW50VHlwZT0iU3lzdGVtLlRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iT3BlbmluZyB0aW1lIG9mIGRheSAoaWdub3JlZCBpZiBhbGxEYXkgPSB0cnVlKSIgZGVmaW5pdGlvbj0iVGhlIG9wZW5pbmcgdGltZSBvZiBkYXkuIE5vdGU6IElmIHRoZSBBbGxEYXkgZmxhZyBpcyBzZXQsIHRoZW4gdGhpcyB0aW1lIGlzIGlnbm9yZWQuIiBjb21tZW50PSJUaGUgdGltZXpvbmUgaXMgZXhwZWN0ZWQgdG8gYmUgZm9yIHdoZXJlIHRoaXMgSGVhbHRoY2FyZVNlcnZpY2UgaXMgcHJvdmlkZWQgYXQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImF2YWlsYWJsZUVuZFRpbWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJDbG9zaW5nIHRpbWUgb2YgZGF5IChpZ25vcmVkIGlmIGFsbERheSA9IHRydWUpIiBkZWZpbml0aW9uPSJUaGUgY2xvc2luZyB0aW1lIG9mIGRheS4gTm90ZTogSWYgdGhlIEFsbERheSBmbGFnIGlzIHNldCwgdGhlbiB0aGlzIHRpbWUgaXMgaWdub3JlZC4iIGNvbW1lbnQ9IlRoZSB0aW1lem9uZSBpcyBleHBlY3RlZCB0byBiZSBmb3Igd2hlcmUgdGhpcyBIZWFsdGhjYXJlU2VydmljZSBpcyBwcm92aWRlZCBhdC4iLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUHJhY3RpdGlvbmVyUm9sZS5Ob3RBdmFpbGFibGUiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRlc2NyaXB0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJSZWFzb24gcHJlc2VudGVkIHRvIHRoZSB1c2VyIGV4cGxhaW5pbmcgd2h5IHRpbWUgbm90IGF2YWlsYWJsZSIgZGVmaW5pdGlvbj0iVGhlIHJlYXNvbiB0aGF0IGNhbiBiZSBwcmVzZW50ZWQgdG8gdGhlIHVzZXIgYXMgdG8gd2h5IHRoaXMgdGltZSBpcyBub3QgYXZhaWxhYmxlLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkdXJpbmciIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU2VydmljZSBub3QgYXZhaWxhYmxlIGZyb20gdGhpcyBkYXRlIiBkZWZpbml0aW9uPSJTZXJ2aWNlIGlzIG5vdCBhdmFpbGFibGUgKHNlYXNvbmFsbHkgb3IgZm9yIGEgcHVibGljIGhvbGlkYXkpIGZyb20gdGhpcyBkYXRlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlByb2NlZHVyZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtcHJvY2VkdXJlIiBsYWJlbD0iUUlDb3JlIFByb2NlZHVyZSIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY29kZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFwcHJvYWNoQm9keVN0cnVjdHVyZSIgdGFyZ2V0PSIlcGFyZW50LmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9wcm9jZWR1cmUtYXBwcm9hY2hCb2R5U3RydWN0dXJlJ10iIGRlc2NyaXB0aW9uPSJUaGUgYWNjZXNzIHBvaW50IG9yIHBvaW50cyB1c2VkIGZvciB0aGlzIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iVGhlIGFwcHJvYWNoIGJvZHkgc2l0ZSB1c2VkIGZvciB0aGlzIHByb2NlZHVyZS4gIE11bHRpcGxlIGxvY2F0aW9ucyBhcmUgYWxsb3dlZC4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLmFwcHJvYWNoQm9keVN0cnVjdHVyZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5jaXNpb25EYXRlVGltZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5pbmNpc2lvbkRhdGVUaW1lIiB0YXJnZXQ9IiVwYXJlbnQuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL3Byb2NlZHVyZS1pbmNpc2lvbkRhdGVUaW1lJ10udmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaGUgZmlyc3QgaW5jaXNpb24gdGltZSIgZGVmaW5pdGlvbj0iVGhlIHRpbWUgb2YgdGhlIGZpcnN0IGluY2lzaW9uLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlY29yZGVkIiBlbGVtZW50VHlwZT0iUUlDb3JlLk5vdERvbmVSZWNvcmRlZCIgdGFyZ2V0PSIlcGFyZW50LmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLXJlY29yZGVkJ10udmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIHRoZSBwcm9jZWR1cmUgd2FzIGZpcnN0IGNhcHR1cmVkIGluIHRoZSBzdWJqZWN0J3MgcmVjb3JkIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSB0aGUgb2NjdXJyZW5jZSBvZiB0aGUgcHJvY2VkdXJlIHdhcyBmaXJzdCBjYXB0dXJlZCBpbiB0aGUgcmVjb3JkIHJlZ2FyZGxlc3Mgb2YgUHJvY2VkdXJlLnN0YXR1cyAocG90ZW50aWFsbHkgYWZ0ZXIgdGhlIG9jY3VycmVuY2Ugb2YgdGhlIGV2ZW50KS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJFeHRlcm5hbCBJZGVudGlmaWVycyBmb3IgdGhpcyBwcm9jZWR1cmUiIGRlZmluaXRpb249IkJ1c2luZXNzIGlkZW50aWZpZXJzIGFzc2lnbmVkIHRvIHRoaXMgcHJvY2VkdXJlIGJ5IHRoZSBwZXJmb3JtZXIgb3Igb3RoZXIgc3lzdGVtcyB3aGljaCByZW1haW4gY29uc3RhbnQgYXMgdGhlIHJlc291cmNlIGlzIHVwZGF0ZWQgYW5kIGlzIHByb3BhZ2F0ZWQgZnJvbSBzZXJ2ZXIgdG8gc2VydmVyLiIgY29tbWVudD0iVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIgKHNlZSBbZGlzY3Vzc2lvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS5odG1sI2lkZW50aWZpZXJzKSkuICBJdCBpcyBiZXN0IHByYWN0aWNlIGZvciB0aGUgaWRlbnRpZmllciB0byBvbmx5IGFwcGVhciBvbiBhIHNpbmdsZSByZXNvdXJjZSBpbnN0YW5jZSwgaG93ZXZlciBidXNpbmVzcyBwcmFjdGljZXMgbWF5IG9jY2FzaW9uYWxseSBkaWN0YXRlIHRoYXQgbXVsdGlwbGUgcmVzb3VyY2UgaW5zdGFuY2VzIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllciBjYW4gZXhpc3QgLSBwb3NzaWJseSBldmVuIHdpdGggZGlmZmVyZW50IHJlc291cmNlIHR5cGVzLiAgRm9yIGV4YW1wbGUsIG11bHRpcGxlIFBhdGllbnQgYW5kIFBlcnNvbiByZXNvdXJjZSBpbnN0YW5jZXMgbWlnaHQgc2hhcmUgdGhlIHNhbWUgc29jaWFsIGluc3VyYW5jZSBudW1iZXIuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzQ2Fub25pY2FsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3RhbnRpYXRlcyBGSElSIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYSBGSElSLWRlZmluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXIgc2V0IG9yIG90aGVyIGRlZmluaXRpb24gdGhhdCBpcyBhZGhlcmVkIHRvIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBQcm9jZWR1cmUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNVcmkiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIGV4dGVybmFsIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYW4gZXh0ZXJuYWxseSBtYWludGFpbmVkIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyIHNldCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgUHJvY2VkdXJlLiIgY29tbWVudD0iVGhpcyBtaWdodCBiZSBhbiBIVE1MIHBhZ2UsIFBERiwgZXRjLiBvciBjb3VsZCBqdXN0IGJlIGEgbm9uLXJlc29sdmFibGUgVVJJIGlkZW50aWZpZXIuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iQSByZXF1ZXN0IGZvciB0aGlzIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iQSByZWZlcmVuY2UgdG8gYSByZXNvdXJjZSB0aGF0IGNvbnRhaW5zIGRldGFpbHMgb2YgdGhlIHJlcXVlc3QgZm9yIHRoaXMgcHJvY2VkdXJlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iUGFydCBvZiByZWZlcmVuY2VkIGV2ZW50IiBkZWZpbml0aW9uPSJBIGxhcmdlciBldmVudCBvZiB3aGljaCB0aGlzIHBhcnRpY3VsYXIgcHJvY2VkdXJlIGlzIGEgY29tcG9uZW50IG9yIHN0ZXAuIiBjb21tZW50PSJUaGUgTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIHJlc291cmNlIGhhcyBhIHBhcnRPZiByZWZlcmVuY2UgdG8gUHJvY2VkdXJlLCBidXQgdGhpcyBpcyBub3QgYSBjaXJjdWxhciByZWZlcmVuY2UuICAgRm9yIGV4YW1wbGUsIHRoZSBhbmVzdGhlc2lhIE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiBpcyBwYXJ0IG9mIHRoZSBzdXJnaWNhbCBQcm9jZWR1cmUgKE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbi5wYXJ0T2YgPSBQcm9jZWR1cmUpLiAgRm9yIGV4YW1wbGUsIHRoZSBwcm9jZWR1cmUgdG8gaW5zZXJ0IHRoZSBJViBwb3J0IGZvciBhbiBJViBtZWRpY2F0aW9uIGFkbWluaXN0cmF0aW9uIGlzIHBhcnQgb2YgdGhlIG1lZGljYXRpb24gYWRtaW5pc3RyYXRpb24gKFByb2NlZHVyZS5wYXJ0T2YgPSBNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24pLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJwcmVwYXJhdGlvbiB8IGluLXByb2dyZXNzIHwg4oCLb24taG9sZOKAiyB8IHN0b3BwZWTigIsgfCBjb21wbGV0ZWQgfCBlbnRlcmVkLWluLWVycm9y4oCLIHwgdW5rbm93buKAiyIgZGVmaW5pdGlvbj0iQSBjb2RlIHNwZWNpZnlpbmcgdGhlIHN0YXRlIG9mIHRoZSBwcm9jZWR1cmUuIEdlbmVyYWxseSwgdGhpcyB3aWxsIGJlIHRoZSBpbi1wcm9ncmVzcyBvciBjb21wbGV0ZWQgc3RhdGUuIiBjb21tZW50PSJUaGUgJnF1b3Q7dW5rbm93biZxdW90OyBjb2RlIGlzIG5vdCB0byBiZSB1c2VkIHRvIGNvbnZleSBvdGhlciBzdGF0dXNlcy4gIFRoZSAmcXVvdDt1bmtub3duJnF1b3Q7IGNvZGUgc2hvdWxkIGJlIHVzZWQgd2hlbiBvbmUgb2YgdGhlIHN0YXR1c2VzIGFwcGxpZXMsIGJ1dCB0aGUgYXV0aG9yaW5nIHN5c3RlbSBkb2Vzbid0IGtub3cgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIHByb2NlZHVyZS4mI3hhOyYjeGE7VGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXNSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlYXNvbiBmb3IgY3VycmVudCBzdGF0dXMiIGRlZmluaXRpb249IkNhcHR1cmVzIHRoZSByZWFzb24gZm9yIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBwcm9jZWR1cmUuIiBjb21tZW50PSJUaGlzIGlzIGdlbmVyYWxseSBvbmx5IHVzZWQgZm9yICZxdW90O2V4Y2VwdGlvbiZxdW90OyBzdGF0dXNlcyBzdWNoIGFzICZxdW90O25vdC1kb25lJnF1b3Q7LCAmcXVvdDtzdXNwZW5kZWQmcXVvdDsgb3IgJnF1b3Q7YWJvcnRlZCZxdW90Oy4gVGhlIHJlYXNvbiBmb3IgcGVyZm9ybWluZyB0aGUgZXZlbnQgYXQgYWxsIGlzIGNhcHR1cmVkIGluIHJlYXNvbkNvZGUsIG5vdCBoZXJlLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlByb2NlZHVyZU5lZ2F0aW9uUmVhc29uIiBkZXNjcmlwdGlvbj0iQSBjb2RlIHRoYXQgaWRlbnRpZmllcyB0aGUgcmVhc29uIGEgcHJvY2VkdXJlIHdhcyBub3QgcGVyZm9ybWVkLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgdGhlIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgcHJvY2VkdXJlIGZvciBzZWFyY2hpbmcsIHNvcnRpbmcgYW5kIGRpc3BsYXkgcHVycG9zZXMgKGUuZy4gJnF1b3Q7U3VyZ2ljYWwgUHJvY2VkdXJlJnF1b3Q7KS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJQcm9jZWR1cmVDYXRlZ29yeSIgZGVzY3JpcHRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgYSBwcm9jZWR1cmUgZm9yIHNlYXJjaGluZywgc29ydGluZyBhbmQgZGlzcGxheSBwdXJwb3Nlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSWRlbnRpZmljYXRpb24gb2YgdGhlIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iVGhlIHNwZWNpZmljIHByb2NlZHVyZSB0aGF0IGlzIHBlcmZvcm1lZC4gVXNlIHRleHQgaWYgdGhlIGV4YWN0IG5hdHVyZSBvZiB0aGUgcHJvY2VkdXJlIGNhbm5vdCBiZSBjb2RlZCAoZS5nLiAmcXVvdDtMYXBhcm9zY29waWMgQXBwZW5kZWN0b215JnF1b3Q7KS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgdGhlIHR5cGUgb2YgIFByb2NlZHVyZSIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyB0aGUgcHJvY2VkdXJlIHdhcyBwZXJmb3JtZWQgb24iIGRlZmluaXRpb249IlRoZSBwZXJzb24sIGFuaW1hbCBvciBncm91cCBvbiB3aGljaCB0aGUgcHJvY2VkdXJlIHdhcyBwZXJmb3JtZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iRW5jb3VudGVyIGNyZWF0ZWQgYXMgcGFydCBvZiIgZGVmaW5pdGlvbj0iVGhlIEVuY291bnRlciBkdXJpbmcgd2hpY2ggdGhpcyBQcm9jZWR1cmUgd2FzIGNyZWF0ZWQgb3IgcGVyZm9ybWVkIG9yIHRvIHdoaWNoIHRoZSBjcmVhdGlvbiBvZiB0aGlzIHJlY29yZCBpcyB0aWdodGx5IGFzc29jaWF0ZWQuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgYWN0aXZpdGllcyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVkIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoZW4gdGhlIHByb2NlZHVyZSB3YXMgcGVyZm9ybWVkIiBkZWZpbml0aW9uPSJFc3RpbWF0ZWQgb3IgYWN0dWFsIGRhdGUsIGRhdGUtdGltZSwgcGVyaW9kLCBvciBhZ2Ugd2hlbiB0aGUgcHJvY2VkdXJlIHdhcyBwZXJmb3JtZWQuICBBbGxvd3MgYSBwZXJpb2QgdG8gc3VwcG9ydCBjb21wbGV4IHByb2NlZHVyZXMgdGhhdCBzcGFuIG1vcmUgdGhhbiBvbmUgZGF0ZSwgYW5kIGFsc28gYWxsb3dzIGZvciB0aGUgbGVuZ3RoIG9mIHRoZSBwcm9jZWR1cmUgdG8gYmUgY2FwdHVyZWQuIiBjb21tZW50PSJBZ2UgaXMgZ2VuZXJhbGx5IHVzZWQgd2hlbiB0aGUgcGF0aWVudCByZXBvcnRzIGFuIGFnZSBhdCB3aGljaCB0aGUgcHJvY2VkdXJlIHdhcyBwZXJmb3JtZWQuIFJhbmdlIGlzIGdlbmVyYWxseSB1c2VkIHdoZW4gdGhlIHBhdGllbnQgcmVwb3J0cyBhbiBhZ2UgcmFuZ2Ugd2hlbiB0aGUgcHJvY2VkdXJlIHdhcyBwZXJmb3JtZWQsIHN1Y2ggYXMgc29tZXRpbWUgYmV0d2VlbiAyMC0yNSB5ZWFycyBvbGQuICBkYXRlVGltZSBzdXBwb3J0cyBhIHJhbmdlIG9mIHByZWNpc2lvbiBkdWUgdG8gc29tZSBwcm9jZWR1cmVzIGJlaW5nIHJlcG9ydGVkIGFzIHBhc3QgcHJvY2VkdXJlcyB0aGF0IG1pZ2h0IG5vdCBoYXZlIG1pbGxpc2Vjb25kIHByZWNpc2lvbiB3aGlsZSBvdGhlciBwcm9jZWR1cmVzIHBlcmZvcm1lZCBhbmQgZG9jdW1lbnRlZCBkdXJpbmcgdGhlIGVuY291bnRlciBtaWdodCBoYXZlIG1vcmUgcHJlY2lzZSBVVEMgdGltZXN0YW1wcyB3aXRoIHRpbWV6b25lLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlY29yZGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyByZWNvcmRlZCB0aGUgcHJvY2VkdXJlIiBkZWZpbml0aW9uPSJJbmRpdmlkdWFsIHdobyByZWNvcmRlZCB0aGUgcmVjb3JkIGFuZCB0YWtlcyByZXNwb25zaWJpbGl0eSBmb3IgaXRzIGNvbnRlbnQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFzc2VydGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlBlcnNvbiB3aG8gYXNzZXJ0cyB0aGlzIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iSW5kaXZpZHVhbCB3aG8gaXMgbWFraW5nIHRoZSBwcm9jZWR1cmUgc3RhdGVtZW50LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJUaGUgcGVvcGxlIHdobyBwZXJmb3JtZWQgdGhlIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iTGltaXRlZCB0byAmcXVvdDtyZWFsJnF1b3Q7IHBlb3BsZSByYXRoZXIgdGhhbiBlcXVpcG1lbnQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlByb2NlZHVyZS5QZXJmb3JtZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImxvY2F0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldoZXJlIHRoZSBwcm9jZWR1cmUgaGFwcGVuZWQiIGRlZmluaXRpb249IlRoZSBsb2NhdGlvbiB3aGVyZSB0aGUgcHJvY2VkdXJlIGFjdHVhbGx5IGhhcHBlbmVkLiAgRS5nLiBhIG5ld2Jvcm4gYXQgaG9tZSwgYSB0cmFjaGVvc3RvbXkgYXQgYSByZXN0YXVyYW50LiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvbkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb2RlZCByZWFzb24gcHJvY2VkdXJlIHBlcmZvcm1lZCIgZGVmaW5pdGlvbj0iVGhlIGNvZGVkIHJlYXNvbiB3aHkgdGhlIHByb2NlZHVyZSB3YXMgcGVyZm9ybWVkLiBUaGlzIG1heSBiZSBhIGNvZGVkIGVudGl0eSBvZiBzb21lIHR5cGUsIG9yIG1heSBzaW1wbHkgYmUgcHJlc2VudCBhcyB0ZXh0LiIgY29tbWVudD0iVXNlIFByb2NlZHVyZS5yZWFzb25Db2RlIHdoZW4gYSBjb2RlIHN1ZmZpY2llbnRseSBkZXNjcmliZXMgdGhlIHJlYXNvbi4gIFVzZSBQcm9jZWR1cmUucmVhc29uUmVmZXJlbmNlIHdoZW4gcmVmZXJlbmNpbmcgYSByZXNvdXJjZSwgd2hpY2ggYWxsb3dzIG1vcmUgaW5mb3JtYXRpb24gdG8gYmUgY29udmV5ZWQsIHN1Y2ggYXMgb25zZXQgZGF0ZS4gUHJvY2VkdXJlLnJlYXNvbkNvZGUgYW5kIFByb2NlZHVyZS5yZWFzb25SZWZlcmVuY2UgYXJlIG5vdCBtZWFudCB0byBiZSBkdXBsaWNhdGl2ZS4gIEZvciBhIHNpbmdsZSByZWFzb24sIGVpdGhlciBQcm9jZWR1cmUucmVhc29uQ29kZSBvciBQcm9jZWR1cmUucmVhc29uUmVmZXJlbmNlIGNhbiBiZSB1c2VkLiAgUHJvY2VkdXJlLnJlYXNvbkNvZGUgbWF5IGJlIGEgc3VtbWFyeSBjb2RlLCBvciBQcm9jZWR1cmUucmVhc29uUmVmZXJlbmNlIG1heSBiZSB1c2VkIHRvIHJlZmVyZW5jZSBhIHZlcnkgcHJlY2lzZSBkZWZpbml0aW9uIG9mIHRoZSByZWFzb24gdXNpbmcgQ29uZGl0aW9uIHwgT2JzZXJ2YXRpb24gfCBQcm9jZWR1cmUgfCBEaWFnbm9zdGljUmVwb3J0IHwgRG9jdW1lbnRSZWZlcmVuY2UuICBCb3RoIFByb2NlZHVyZS5yZWFzb25Db2RlIGFuZCBQcm9jZWR1cmUucmVhc29uUmVmZXJlbmNlIGNhbiBiZSB1c2VkIGlmIHRoZXkgYXJlIGRlc2NyaWJpbmcgZGlmZmVyZW50IHJlYXNvbnMgZm9yIHRoZSBwcm9jZWR1cmUuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQSBjb2RlIHRoYXQgaWRlbnRpZmllcyB0aGUgcmVhc29uIGEgcHJvY2VkdXJlIGlzIHJlcXVpcmVkLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvblJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlRoZSBqdXN0aWZpY2F0aW9uIHRoYXQgdGhlIHByb2NlZHVyZSB3YXMgcGVyZm9ybWVkIiBkZWZpbml0aW9uPSJUaGUganVzdGlmaWNhdGlvbiBvZiB3aHkgdGhlIHByb2NlZHVyZSB3YXMgcGVyZm9ybWVkLiIgY29tbWVudD0iSXQgaXMgcG9zc2libGUgZm9yIGEgcHJvY2VkdXJlIHRvIGJlIGEgcmVhc29uIChzdWNoIGFzIEMtU2VjdGlvbikgZm9yIGFub3RoZXIgcHJvY2VkdXJlIChzdWNoIGFzIGFuIGVwaWR1cmFsKS4gT3RoZXIgZXhhbXBsZXMgaW5jbHVkZSBlbmRvc2NvcHkgZm9yIGRpbGF0YXRpb24gYW5kIGJpb3BzeSAoYSBjb21iaW5hdGlvbiBvZiBkaWFnbm9zdGljIGFuZCB0aGVyYXBldXRpYyB1c2UpLiAmI3hhO1VzZSBQcm9jZWR1cmUucmVhc29uQ29kZSB3aGVuIGEgY29kZSBzdWZmaWNpZW50bHkgZGVzY3JpYmVzIHRoZSByZWFzb24uICBVc2UgUHJvY2VkdXJlLnJlYXNvblJlZmVyZW5jZSB3aGVuIHJlZmVyZW5jaW5nIGEgcmVzb3VyY2UsIHdoaWNoIGFsbG93cyBtb3JlIGluZm9ybWF0aW9uIHRvIGJlIGNvbnZleWVkLCBzdWNoIGFzIG9uc2V0IGRhdGUuIFByb2NlZHVyZS5yZWFzb25Db2RlIGFuZCBQcm9jZWR1cmUucmVhc29uUmVmZXJlbmNlIGFyZSBub3QgbWVhbnQgdG8gYmUgZHVwbGljYXRpdmUuICBGb3IgYSBzaW5nbGUgcmVhc29uLCBlaXRoZXIgUHJvY2VkdXJlLnJlYXNvbkNvZGUgb3IgUHJvY2VkdXJlLnJlYXNvblJlZmVyZW5jZSBjYW4gYmUgdXNlZC4gIFByb2NlZHVyZS5yZWFzb25Db2RlIG1heSBiZSBhIHN1bW1hcnkgY29kZSwgb3IgUHJvY2VkdXJlLnJlYXNvblJlZmVyZW5jZSBtYXkgYmUgdXNlZCB0byByZWZlcmVuY2UgYSB2ZXJ5IHByZWNpc2UgZGVmaW5pdGlvbiBvZiB0aGUgcmVhc29uIHVzaW5nIENvbmRpdGlvbiB8IE9ic2VydmF0aW9uIHwgUHJvY2VkdXJlIHwgRGlhZ25vc3RpY1JlcG9ydCB8IERvY3VtZW50UmVmZXJlbmNlLiAgQm90aCBQcm9jZWR1cmUucmVhc29uQ29kZSBhbmQgUHJvY2VkdXJlLnJlYXNvblJlZmVyZW5jZSBjYW4gYmUgdXNlZCBpZiB0aGV5IGFyZSBkZXNjcmliaW5nIGRpZmZlcmVudCByZWFzb25zIGZvciB0aGUgcHJvY2VkdXJlLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRhcmdldCBib2R5IHNpdGVzIiBkZWZpbml0aW9uPSJEZXRhaWxlZCBhbmQgc3RydWN0dXJlZCBhbmF0b21pY2FsIGxvY2F0aW9uIGluZm9ybWF0aW9uLiBNdWx0aXBsZSBsb2NhdGlvbnMgYXJlIGFsbG93ZWQgLSBlLmcuIG11bHRpcGxlIHB1bmNoIGJpb3BzaWVzIG9mIGEgbGVzaW9uLiIgY29tbWVudD0iSWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIGF0dHJpYnV0ZXMgZnJvbSB0aGUgQm9keVNpdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb24gW3Byb2NlZHVyZS10YXJnZXRib2R5c3RydWN0dXJlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1wcm9jZWR1cmUtdGFyZ2V0Ym9keXN0cnVjdHVyZS5odG1sKS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGFuYXRvbWljYWwgbG9jYXRpb25zLiBNYXkgaW5jbHVkZSBsYXRlcmFsaXR5IiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ib3V0Y29tZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGhlIHJlc3VsdCBvZiBwcm9jZWR1cmUiIGRlZmluaXRpb249IlRoZSBvdXRjb21lIG9mIHRoZSBwcm9jZWR1cmUgLSBkaWQgaXQgcmVzb2x2ZSB0aGUgcmVhc29ucyBmb3IgdGhlIHByb2NlZHVyZSBiZWluZyBwZXJmb3JtZWQ/IiBjb21tZW50PSJJZiBvdXRjb21lIGNvbnRhaW5zIG5hcnJhdGl2ZSB0ZXh0IG9ubHksIGl0IGNhbiBiZSBjYXB0dXJlZCB1c2luZyB0aGUgQ29kZWFibGVDb25jZXB0LnRleHQuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJQcm9jZWR1cmVPdXRjb21lIiBkZXNjcmlwdGlvbj0iQW4gb3V0Y29tZSBvZiBhIHByb2NlZHVyZSAtIHdoZXRoZXIgaXQgd2FzIHJlc29sdmVkIG9yIG90aGVyd2lzZS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVwb3J0IiBkZXNjcmlwdGlvbj0iQW55IHJlcG9ydCByZXN1bHRpbmcgZnJvbSB0aGUgcHJvY2VkdXJlIiBkZWZpbml0aW9uPSJUaGlzIGNvdWxkIGJlIGEgaGlzdG9sb2d5IHJlc3VsdCwgcGF0aG9sb2d5IHJlcG9ydCwgc3VyZ2ljYWwgcmVwb3J0LCBldGMuIiBjb21tZW50PSJUaGVyZSBjb3VsZCBwb3RlbnRpYWxseSBiZSBtdWx0aXBsZSByZXBvcnRzIC0gZS5nLiBpZiB0aGlzIHdhcyBhIHByb2NlZHVyZSB3aGljaCB0b29rIG11bHRpcGxlIGJpb3BzaWVzIHJlc3VsdGluZyBpbiBhIG51bWJlciBvZiBhbmF0b21pY2FsIHBhdGhvbG9neSByZXBvcnRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbXBsaWNhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvbXBsaWNhdGlvbiBmb2xsb3dpbmcgdGhlIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iQW55IGNvbXBsaWNhdGlvbnMgdGhhdCBvY2N1cnJlZCBkdXJpbmcgdGhlIHByb2NlZHVyZSwgb3IgaW4gdGhlIGltbWVkaWF0ZSBwb3N0LXBlcmZvcm1hbmNlIHBlcmlvZC4gVGhlc2UgYXJlIGdlbmVyYWxseSB0cmFja2VkIHNlcGFyYXRlbHkgZnJvbSB0aGUgbm90ZXMsIHdoaWNoIHdpbGwgdHlwaWNhbGx5IGRlc2NyaWJlIHRoZSBwcm9jZWR1cmUgaXRzZWxmIHJhdGhlciB0aGFuIGFueSAncG9zdCBwcm9jZWR1cmUnIGlzc3Vlcy4iIGNvbW1lbnQ9IklmIGNvbXBsaWNhdGlvbnMgYXJlIG9ubHkgZXhwcmVzc2VkIGJ5IHRoZSBuYXJyYXRpdmUgdGV4dCwgdGhleSBjYW4gYmUgY2FwdHVyZWQgdXNpbmcgdGhlIENvZGVhYmxlQ29uY2VwdC50ZXh0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJQcm9jZWR1cmVDb21wbGljYXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGNvbXBsaWNhdGlvbnMgdGhhdCByZXN1bHRlZCBmcm9tIGEgcHJvY2VkdXJlLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb21wbGljYXRpb25EZXRhaWwiIGRlc2NyaXB0aW9uPSJBIGNvbmRpdGlvbiB0aGF0IGlzIGEgcmVzdWx0IG9mIHRoZSBwcm9jZWR1cmUiIGRlZmluaXRpb249IkFueSBjb21wbGljYXRpb25zIHRoYXQgb2NjdXJyZWQgZHVyaW5nIHRoZSBwcm9jZWR1cmUsIG9yIGluIHRoZSBpbW1lZGlhdGUgcG9zdC1wZXJmb3JtYW5jZSBwZXJpb2QuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJmb2xsb3dVcCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ikluc3RydWN0aW9ucyBmb3IgZm9sbG93IHVwIiBkZWZpbml0aW9uPSJJZiB0aGUgcHJvY2VkdXJlIHJlcXVpcmVkIHNwZWNpZmljIGZvbGxvdyB1cCAtIGUuZy4gcmVtb3ZhbCBvZiBzdXR1cmVzLiBUaGUgZm9sbG93IHVwIG1heSBiZSByZXByZXNlbnRlZCBhcyBhIHNpbXBsZSBub3RlIG9yIGNvdWxkIHBvdGVudGlhbGx5IGJlIG1vcmUgY29tcGxleCwgaW4gd2hpY2ggY2FzZSB0aGUgQ2FyZVBsYW4gcmVzb3VyY2UgY2FuIGJlIHVzZWQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlByb2NlZHVyZUZvbGxvd1VwIiBkZXNjcmlwdGlvbj0iU3BlY2lmaWMgZm9sbG93IHVwIHJlcXVpcmVkIGZvciBhIHByb2NlZHVyZSBlLmcuIHJlbW92YWwgb2Ygc3V0dXJlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iQW55IG90aGVyIG5vdGVzIGFuZCBjb21tZW50cyBhYm91dCB0aGUgcHJvY2VkdXJlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImZvY2FsRGV2aWNlIiBkZXNjcmlwdGlvbj0iTWFuaXB1bGF0ZWQsIGltcGxhbnRlZCwgb3IgcmVtb3ZlZCBkZXZpY2UiIGRlZmluaXRpb249IkEgZGV2aWNlIHRoYXQgaXMgaW1wbGFudGVkLCByZW1vdmVkIG9yIG90aGVyd2lzZSBtYW5pcHVsYXRlZCAoY2FsaWJyYXRpb24sIGJhdHRlcnkgcmVwbGFjZW1lbnQsIGZpdHRpbmcgYSBwcm9zdGhlc2lzLCBhdHRhY2hpbmcgYSB3b3VuZC12YWMsIGV0Yy4pIGFzIGEgZm9jYWwgcG9ydGlvbiBvZiB0aGUgUHJvY2VkdXJlLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUHJvY2VkdXJlLkZvY2FsRGV2aWNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ1c2VkUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSXRlbXMgdXNlZCBkdXJpbmcgcHJvY2VkdXJlIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIG1lZGljYXRpb25zLCBkZXZpY2VzIGFuZCBhbnkgb3RoZXIgc3Vic3RhbmNlIHVzZWQgYXMgcGFydCBvZiB0aGUgcHJvY2VkdXJlLiIgY29tbWVudD0iRm9yIGRldmljZXMgYWN0dWFsbHkgaW1wbGFudGVkIG9yIHJlbW92ZWQsIHVzZSBQcm9jZWR1cmUuZGV2aWNlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InVzZWRDb2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ29kZWQgaXRlbXMgdXNlZCBkdXJpbmcgdGhlIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyBjb2RlZCBpdGVtcyB0aGF0IHdlcmUgdXNlZCBhcyBwYXJ0IG9mIHRoZSBwcm9jZWR1cmUuIiBjb21tZW50PSJGb3IgZGV2aWNlcyBhY3R1YWxseSBpbXBsYW50ZWQgb3IgcmVtb3ZlZCwgdXNlIFByb2NlZHVyZS5kZXZpY2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBpdGVtcyB1c2VkIGR1cmluZyBhIHByb2NlZHVyZS4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJhY3RvciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0icGF0aWVudCIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0iYWN0b3IiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iRW5jb3VudGVyIiByZWxhdGVkS2V5RWxlbWVudD0iZW5jb3VudGVyIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlJlbGF0ZWRQZXJzb24iIHJlbGF0ZWRLZXlFbGVtZW50PSJhY3RvciIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJQcm9jZWR1cmUuRm9jYWxEZXZpY2UiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFjdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iS2luZCBvZiBjaGFuZ2UgdG8gZGV2aWNlIiBkZWZpbml0aW9uPSJUaGUga2luZCBvZiBjaGFuZ2UgdGhhdCBoYXBwZW5lZCB0byB0aGUgZGV2aWNlIGR1cmluZyB0aGUgcHJvY2VkdXJlLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkRldmljZUFjdGlvbktpbmQiIGRlc2NyaXB0aW9uPSJBIGtpbmQgb2YgY2hhbmdlIHRoYXQgaGFwcGVuZWQgdG8gdGhlIGRldmljZSBkdXJpbmcgdGhlIHByb2NlZHVyZS4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtYW5pcHVsYXRlZCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJEZXZpY2UgdGhhdCB3YXMgY2hhbmdlZCIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB0aGF0IHdhcyBtYW5pcHVsYXRlZCAoY2hhbmdlZCkgZHVyaW5nIHRoZSBwcm9jZWR1cmUuIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlByb2NlZHVyZS5QZXJmb3JtZXIiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImZ1bmN0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUeXBlIG9mIHBlcmZvcm1hbmNlIiBkZWZpbml0aW9uPSJEaXN0aW5ndWlzaGVzIHRoZSB0eXBlIG9mIGludm9sdmVtZW50IG9mIHRoZSBwZXJmb3JtZXIgaW4gdGhlIHByb2NlZHVyZS4gRm9yIGV4YW1wbGUsIHN1cmdlb24sIGFuYWVzdGhldGlzdCwgZW5kb3Njb3Bpc3QuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUHJvY2VkdXJlUGVyZm9ybWVyUm9sZSIgZGVzY3JpcHRpb249IkEgY29kZSB0aGF0IGlkZW50aWZpZXMgdGhlIHJvbGUgb2YgYSBwZXJmb3JtZXIgb2YgdGhlIHByb2NlZHVyZS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYWN0b3IiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iVGhlIHJlZmVyZW5jZSB0byB0aGUgcHJhY3RpdGlvbmVyIiBkZWZpbml0aW9uPSJUaGUgcHJhY3RpdGlvbmVyIHdobyB3YXMgaW52b2x2ZWQgaW4gdGhlIHByb2NlZHVyZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ib25CZWhhbGZPZiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJPcmdhbml6YXRpb24gdGhlIGRldmljZSBvciBwcmFjdGl0aW9uZXIgd2FzIGFjdGluZyBmb3IiIGRlZmluaXRpb249IlRoZSBvcmdhbml6YXRpb24gdGhlIGRldmljZSBvciBwcmFjdGl0aW9uZXIgd2FzIGFjdGluZyBvbiBiZWhhbGYgb2YuIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUHJvY2VkdXJlTm90RG9uZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtcHJvY2VkdXJlbm90ZG9uZSIgbGFiZWw9IlFJQ29yZSBQcm9jZWR1cmUgTm90IERvbmUiIHRhcmdldD0iUHJvY2VkdXJlIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVjb3JkZWQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuTm90RG9uZVJlY29yZGVkIiB0YXJnZXQ9IiVwYXJlbnQuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtcmVjb3JkZWQnXS52YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gdGhlIHByb2NlZHVyZSB3YXMgZmlyc3QgY2FwdHVyZWQgaW4gdGhlIHN1YmplY3QncyByZWNvcmQiIGRlZmluaXRpb249IlRoZSBkYXRlIHRoZSBvY2N1cnJlbmNlIG9mIHRoZSBwcm9jZWR1cmUgd2FzIGZpcnN0IGNhcHR1cmVkIGluIHRoZSByZWNvcmQgcmVnYXJkbGVzcyBvZiBQcm9jZWR1cmUuc3RhdHVzIChwb3RlbnRpYWxseSBhZnRlciB0aGUgb2NjdXJyZW5jZSBvZiB0aGUgZXZlbnQpLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkV4dGVybmFsIElkZW50aWZpZXJzIGZvciB0aGlzIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iQnVzaW5lc3MgaWRlbnRpZmllcnMgYXNzaWduZWQgdG8gdGhpcyBwcm9jZWR1cmUgYnkgdGhlIHBlcmZvcm1lciBvciBvdGhlciBzeXN0ZW1zIHdoaWNoIHJlbWFpbiBjb25zdGFudCBhcyB0aGUgcmVzb3VyY2UgaXMgdXBkYXRlZCBhbmQgaXMgcHJvcGFnYXRlZCBmcm9tIHNlcnZlciB0byBzZXJ2ZXIuIiBjb21tZW50PSJUaGlzIGlzIGEgYnVzaW5lc3MgaWRlbnRpZmllciwgbm90IGEgcmVzb3VyY2UgaWRlbnRpZmllciAoc2VlIFtkaXNjdXNzaW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3Jlc291cmNlLmh0bWwjaWRlbnRpZmllcnMpKS4gIEl0IGlzIGJlc3QgcHJhY3RpY2UgZm9yIHRoZSBpZGVudGlmaWVyIHRvIG9ubHkgYXBwZWFyIG9uIGEgc2luZ2xlIHJlc291cmNlIGluc3RhbmNlLCBob3dldmVyIGJ1c2luZXNzIHByYWN0aWNlcyBtYXkgb2NjYXNpb25hbGx5IGRpY3RhdGUgdGhhdCBtdWx0aXBsZSByZXNvdXJjZSBpbnN0YW5jZXMgd2l0aCB0aGUgc2FtZSBpZGVudGlmaWVyIGNhbiBleGlzdCAtIHBvc3NpYmx5IGV2ZW4gd2l0aCBkaWZmZXJlbnQgcmVzb3VyY2UgdHlwZXMuICBGb3IgZXhhbXBsZSwgbXVsdGlwbGUgUGF0aWVudCBhbmQgUGVyc29uIHJlc291cmNlIGluc3RhbmNlcyBtaWdodCBzaGFyZSB0aGUgc2FtZSBzb2NpYWwgaW5zdXJhbmNlIG51bWJlci4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNDYW5vbmljYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIEZISVIgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhIEZISVItZGVmaW5lZCBwcm90b2NvbCwgZ3VpZGVsaW5lLCBvcmRlciBzZXQgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIFByb2NlZHVyZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc1VyaSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgZXh0ZXJuYWwgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhbiBleHRlcm5hbGx5IG1haW50YWluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXIgc2V0IG9yIG90aGVyIGRlZmluaXRpb24gdGhhdCBpcyBhZGhlcmVkIHRvIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBQcm9jZWR1cmUuIiBjb21tZW50PSJUaGlzIG1pZ2h0IGJlIGFuIEhUTUwgcGFnZSwgUERGLCBldGMuIG9yIGNvdWxkIGp1c3QgYmUgYSBub24tcmVzb2x2YWJsZSBVUkkgaWRlbnRpZmllci4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJBIHJlcXVlc3QgZm9yIHRoaXMgcHJvY2VkdXJlIiBkZWZpbml0aW9uPSJBIHJlZmVyZW5jZSB0byBhIHJlc291cmNlIHRoYXQgY29udGFpbnMgZGV0YWlscyBvZiB0aGUgcmVxdWVzdCBmb3IgdGhpcyBwcm9jZWR1cmUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBwcm9jZWR1cmUgaXMgYSBjb21wb25lbnQgb3Igc3RlcC4iIGNvbW1lbnQ9IlRoZSBNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24gcmVzb3VyY2UgaGFzIGEgcGFydE9mIHJlZmVyZW5jZSB0byBQcm9jZWR1cmUsIGJ1dCB0aGlzIGlzIG5vdCBhIGNpcmN1bGFyIHJlZmVyZW5jZS4gICBGb3IgZXhhbXBsZSwgdGhlIGFuZXN0aGVzaWEgTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIGlzIHBhcnQgb2YgdGhlIHN1cmdpY2FsIFByb2NlZHVyZSAoTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uLnBhcnRPZiA9IFByb2NlZHVyZSkuICBGb3IgZXhhbXBsZSwgdGhlIHByb2NlZHVyZSB0byBpbnNlcnQgdGhlIElWIHBvcnQgZm9yIGFuIElWIG1lZGljYXRpb24gYWRtaW5pc3RyYXRpb24gaXMgcGFydCBvZiB0aGUgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvbiAoUHJvY2VkdXJlLnBhcnRPZiA9IE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbikuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InByZXBhcmF0aW9uIHwgaW4tcHJvZ3Jlc3MgfCBub3QtZG9uZSB8IG9uLWhvbGQgfCBzdG9wcGVkIHwgY29tcGxldGVkIHwgZW50ZXJlZC1pbi1lcnJvciB8IHVua25vd24iIGRlZmluaXRpb249IkEgY29kZSBzcGVjaWZ5aW5nIHRoZSBzdGF0ZSBvZiB0aGUgcHJvY2VkdXJlLiBHZW5lcmFsbHksIHRoaXMgd2lsbCBiZSB0aGUgaW4tcHJvZ3Jlc3Mgb3IgY29tcGxldGVkIHN0YXRlLiIgY29tbWVudD0iVGhlICZxdW90O3Vua25vd24mcXVvdDsgY29kZSBpcyBub3QgdG8gYmUgdXNlZCB0byBjb252ZXkgb3RoZXIgc3RhdHVzZXMuICBUaGUgJnF1b3Q7dW5rbm93biZxdW90OyBjb2RlIHNob3VsZCBiZSB1c2VkIHdoZW4gb25lIG9mIHRoZSBzdGF0dXNlcyBhcHBsaWVzLCBidXQgdGhlIGF1dGhvcmluZyBzeXN0ZW0gZG9lc24ndCBrbm93IHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBwcm9jZWR1cmUuJiN4YTsmI3hhO1RoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzUmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZWFzb24gZm9yIGN1cnJlbnQgc3RhdHVzIiBkZWZpbml0aW9uPSJDYXB0dXJlcyB0aGUgcmVhc29uIGZvciB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgcHJvY2VkdXJlLiIgY29tbWVudD0iVGhpcyBpcyBnZW5lcmFsbHkgb25seSB1c2VkIGZvciAmcXVvdDtleGNlcHRpb24mcXVvdDsgc3RhdHVzZXMgc3VjaCBhcyAmcXVvdDtub3QtZG9uZSZxdW90OywgJnF1b3Q7c3VzcGVuZGVkJnF1b3Q7IG9yICZxdW90O2Fib3J0ZWQmcXVvdDsuIFRoZSByZWFzb24gZm9yIHBlcmZvcm1pbmcgdGhlIGV2ZW50IGF0IGFsbCBpcyBjYXB0dXJlZCBpbiByZWFzb25Db2RlLCBub3QgaGVyZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlRoZSByZWFzb24gdGhlIHByb2NlZHVyZSB3YXMgbm90IGRvbmUiIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNsYXNzaWZpY2F0aW9uIG9mIHRoZSBwcm9jZWR1cmUiIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIHByb2NlZHVyZSBmb3Igc2VhcmNoaW5nLCBzb3J0aW5nIGFuZCBkaXNwbGF5IHB1cnBvc2VzIChlLmcuICZxdW90O1N1cmdpY2FsIFByb2NlZHVyZSZxdW90OykuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUHJvY2VkdXJlQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIGEgcHJvY2VkdXJlIGZvciBzZWFyY2hpbmcsIHNvcnRpbmcgYW5kIGRpc3BsYXkgcHVycG9zZXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIHRhcmdldD0iU3lzdGVtLkNvbmNlcHQ6RkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSk7U3lzdGVtLlZhbHVlU2V0OkZISVJIZWxwZXJzLlRvVmFsdWVTZXQoJXBhcmVudC5jb2RlLmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW5vdERvbmVWYWx1ZVNldCddLnZhbHVlLnZhbHVlKSIgZGVzY3JpcHRpb249IklkZW50aWZpY2F0aW9uIG9mIHRoZSBwcm9jZWR1cmUiIGRlZmluaXRpb249IlRoZSBzcGVjaWZpYyBwcm9jZWR1cmUgdGhhdCBpcyBwZXJmb3JtZWQuIFVzZSB0ZXh0IGlmIHRoZSBleGFjdCBuYXR1cmUgb2YgdGhlIHByb2NlZHVyZSBjYW5ub3QgYmUgY29kZWQgKGUuZy4gJnF1b3Q7TGFwYXJvc2NvcGljIEFwcGVuZGVjdG9teSZxdW90OykuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iVmFsdWVTZXQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgdGhlIHR5cGUgb2YgIFByb2NlZHVyZSIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyB0aGUgcHJvY2VkdXJlIHdhcyBwZXJmb3JtZWQgb24iIGRlZmluaXRpb249IlRoZSBwZXJzb24sIGFuaW1hbCBvciBncm91cCBvbiB3aGljaCB0aGUgcHJvY2VkdXJlIHdhcyBwZXJmb3JtZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iRW5jb3VudGVyIGNyZWF0ZWQgYXMgcGFydCBvZiIgZGVmaW5pdGlvbj0iVGhlIEVuY291bnRlciBkdXJpbmcgd2hpY2ggdGhpcyBQcm9jZWR1cmUgd2FzIGNyZWF0ZWQgb3IgcGVyZm9ybWVkIG9yIHRvIHdoaWNoIHRoZSBjcmVhdGlvbiBvZiB0aGlzIHJlY29yZCBpcyB0aWdodGx5IGFzc29jaWF0ZWQuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgYWN0aXZpdGllcyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVkIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoZW4gdGhlIHByb2NlZHVyZSB3YXMgcGVyZm9ybWVkIiBkZWZpbml0aW9uPSJFc3RpbWF0ZWQgb3IgYWN0dWFsIGRhdGUsIGRhdGUtdGltZSwgcGVyaW9kLCBvciBhZ2Ugd2hlbiB0aGUgcHJvY2VkdXJlIHdhcyBwZXJmb3JtZWQuICBBbGxvd3MgYSBwZXJpb2QgdG8gc3VwcG9ydCBjb21wbGV4IHByb2NlZHVyZXMgdGhhdCBzcGFuIG1vcmUgdGhhbiBvbmUgZGF0ZSwgYW5kIGFsc28gYWxsb3dzIGZvciB0aGUgbGVuZ3RoIG9mIHRoZSBwcm9jZWR1cmUgdG8gYmUgY2FwdHVyZWQuIiBjb21tZW50PSJBZ2UgaXMgZ2VuZXJhbGx5IHVzZWQgd2hlbiB0aGUgcGF0aWVudCByZXBvcnRzIGFuIGFnZSBhdCB3aGljaCB0aGUgcHJvY2VkdXJlIHdhcyBwZXJmb3JtZWQuIFJhbmdlIGlzIGdlbmVyYWxseSB1c2VkIHdoZW4gdGhlIHBhdGllbnQgcmVwb3J0cyBhbiBhZ2UgcmFuZ2Ugd2hlbiB0aGUgcHJvY2VkdXJlIHdhcyBwZXJmb3JtZWQsIHN1Y2ggYXMgc29tZXRpbWUgYmV0d2VlbiAyMC0yNSB5ZWFycyBvbGQuICBkYXRlVGltZSBzdXBwb3J0cyBhIHJhbmdlIG9mIHByZWNpc2lvbiBkdWUgdG8gc29tZSBwcm9jZWR1cmVzIGJlaW5nIHJlcG9ydGVkIGFzIHBhc3QgcHJvY2VkdXJlcyB0aGF0IG1pZ2h0IG5vdCBoYXZlIG1pbGxpc2Vjb25kIHByZWNpc2lvbiB3aGlsZSBvdGhlciBwcm9jZWR1cmVzIHBlcmZvcm1lZCBhbmQgZG9jdW1lbnRlZCBkdXJpbmcgdGhlIGVuY291bnRlciBtaWdodCBoYXZlIG1vcmUgcHJlY2lzZSBVVEMgdGltZXN0YW1wcyB3aXRoIHRpbWV6b25lLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlY29yZGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyByZWNvcmRlZCB0aGUgcHJvY2VkdXJlIiBkZWZpbml0aW9uPSJJbmRpdmlkdWFsIHdobyByZWNvcmRlZCB0aGUgcmVjb3JkIGFuZCB0YWtlcyByZXNwb25zaWJpbGl0eSBmb3IgaXRzIGNvbnRlbnQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFzc2VydGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlBlcnNvbiB3aG8gYXNzZXJ0cyB0aGlzIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iSW5kaXZpZHVhbCB3aG8gaXMgbWFraW5nIHRoZSBwcm9jZWR1cmUgc3RhdGVtZW50LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJUaGUgcGVvcGxlIHdobyBwZXJmb3JtZWQgdGhlIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iTGltaXRlZCB0byAmcXVvdDtyZWFsJnF1b3Q7IHBlb3BsZSByYXRoZXIgdGhhbiBlcXVpcG1lbnQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUHJvY2VkdXJlLlBlcmZvcm1lciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibG9jYXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hlcmUgdGhlIHByb2NlZHVyZSBoYXBwZW5lZCIgZGVmaW5pdGlvbj0iVGhlIGxvY2F0aW9uIHdoZXJlIHRoZSBwcm9jZWR1cmUgYWN0dWFsbHkgaGFwcGVuZWQuICBFLmcuIGEgbmV3Ym9ybiBhdCBob21lLCBhIHRyYWNoZW9zdG9teSBhdCBhIHJlc3RhdXJhbnQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvbkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb2RlZCByZWFzb24gcHJvY2VkdXJlIHBlcmZvcm1lZCIgZGVmaW5pdGlvbj0iVGhlIGNvZGVkIHJlYXNvbiB3aHkgdGhlIHByb2NlZHVyZSB3YXMgcGVyZm9ybWVkLiBUaGlzIG1heSBiZSBhIGNvZGVkIGVudGl0eSBvZiBzb21lIHR5cGUsIG9yIG1heSBzaW1wbHkgYmUgcHJlc2VudCBhcyB0ZXh0LiIgY29tbWVudD0iVXNlIFByb2NlZHVyZS5yZWFzb25Db2RlIHdoZW4gYSBjb2RlIHN1ZmZpY2llbnRseSBkZXNjcmliZXMgdGhlIHJlYXNvbi4gIFVzZSBQcm9jZWR1cmUucmVhc29uUmVmZXJlbmNlIHdoZW4gcmVmZXJlbmNpbmcgYSByZXNvdXJjZSwgd2hpY2ggYWxsb3dzIG1vcmUgaW5mb3JtYXRpb24gdG8gYmUgY29udmV5ZWQsIHN1Y2ggYXMgb25zZXQgZGF0ZS4gUHJvY2VkdXJlLnJlYXNvbkNvZGUgYW5kIFByb2NlZHVyZS5yZWFzb25SZWZlcmVuY2UgYXJlIG5vdCBtZWFudCB0byBiZSBkdXBsaWNhdGl2ZS4gIEZvciBhIHNpbmdsZSByZWFzb24sIGVpdGhlciBQcm9jZWR1cmUucmVhc29uQ29kZSBvciBQcm9jZWR1cmUucmVhc29uUmVmZXJlbmNlIGNhbiBiZSB1c2VkLiAgUHJvY2VkdXJlLnJlYXNvbkNvZGUgbWF5IGJlIGEgc3VtbWFyeSBjb2RlLCBvciBQcm9jZWR1cmUucmVhc29uUmVmZXJlbmNlIG1heSBiZSB1c2VkIHRvIHJlZmVyZW5jZSBhIHZlcnkgcHJlY2lzZSBkZWZpbml0aW9uIG9mIHRoZSByZWFzb24gdXNpbmcgQ29uZGl0aW9uIHwgT2JzZXJ2YXRpb24gfCBQcm9jZWR1cmUgfCBEaWFnbm9zdGljUmVwb3J0IHwgRG9jdW1lbnRSZWZlcmVuY2UuICBCb3RoIFByb2NlZHVyZS5yZWFzb25Db2RlIGFuZCBQcm9jZWR1cmUucmVhc29uUmVmZXJlbmNlIGNhbiBiZSB1c2VkIGlmIHRoZXkgYXJlIGRlc2NyaWJpbmcgZGlmZmVyZW50IHJlYXNvbnMgZm9yIHRoZSBwcm9jZWR1cmUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlByb2NlZHVyZVJlYXNvbiIgZGVzY3JpcHRpb249IkEgY29kZSB0aGF0IGlkZW50aWZpZXMgdGhlIHJlYXNvbiBhIHByb2NlZHVyZSBpcyAgcmVxdWlyZWQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvblJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlRoZSBqdXN0aWZpY2F0aW9uIHRoYXQgdGhlIHByb2NlZHVyZSB3YXMgcGVyZm9ybWVkIiBkZWZpbml0aW9uPSJUaGUganVzdGlmaWNhdGlvbiBvZiB3aHkgdGhlIHByb2NlZHVyZSB3YXMgcGVyZm9ybWVkLiIgY29tbWVudD0iSXQgaXMgcG9zc2libGUgZm9yIGEgcHJvY2VkdXJlIHRvIGJlIGEgcmVhc29uIChzdWNoIGFzIEMtU2VjdGlvbikgZm9yIGFub3RoZXIgcHJvY2VkdXJlIChzdWNoIGFzIGFuIGVwaWR1cmFsKS4gT3RoZXIgZXhhbXBsZXMgaW5jbHVkZSBlbmRvc2NvcHkgZm9yIGRpbGF0YXRpb24gYW5kIGJpb3BzeSAoYSBjb21iaW5hdGlvbiBvZiBkaWFnbm9zdGljIGFuZCB0aGVyYXBldXRpYyB1c2UpLiAmI3hhO1VzZSBQcm9jZWR1cmUucmVhc29uQ29kZSB3aGVuIGEgY29kZSBzdWZmaWNpZW50bHkgZGVzY3JpYmVzIHRoZSByZWFzb24uICBVc2UgUHJvY2VkdXJlLnJlYXNvblJlZmVyZW5jZSB3aGVuIHJlZmVyZW5jaW5nIGEgcmVzb3VyY2UsIHdoaWNoIGFsbG93cyBtb3JlIGluZm9ybWF0aW9uIHRvIGJlIGNvbnZleWVkLCBzdWNoIGFzIG9uc2V0IGRhdGUuIFByb2NlZHVyZS5yZWFzb25Db2RlIGFuZCBQcm9jZWR1cmUucmVhc29uUmVmZXJlbmNlIGFyZSBub3QgbWVhbnQgdG8gYmUgZHVwbGljYXRpdmUuICBGb3IgYSBzaW5nbGUgcmVhc29uLCBlaXRoZXIgUHJvY2VkdXJlLnJlYXNvbkNvZGUgb3IgUHJvY2VkdXJlLnJlYXNvblJlZmVyZW5jZSBjYW4gYmUgdXNlZC4gIFByb2NlZHVyZS5yZWFzb25Db2RlIG1heSBiZSBhIHN1bW1hcnkgY29kZSwgb3IgUHJvY2VkdXJlLnJlYXNvblJlZmVyZW5jZSBtYXkgYmUgdXNlZCB0byByZWZlcmVuY2UgYSB2ZXJ5IHByZWNpc2UgZGVmaW5pdGlvbiBvZiB0aGUgcmVhc29uIHVzaW5nIENvbmRpdGlvbiB8IE9ic2VydmF0aW9uIHwgUHJvY2VkdXJlIHwgRGlhZ25vc3RpY1JlcG9ydCB8IERvY3VtZW50UmVmZXJlbmNlLiAgQm90aCBQcm9jZWR1cmUucmVhc29uQ29kZSBhbmQgUHJvY2VkdXJlLnJlYXNvblJlZmVyZW5jZSBjYW4gYmUgdXNlZCBpZiB0aGV5IGFyZSBkZXNjcmliaW5nIGRpZmZlcmVudCByZWFzb25zIGZvciB0aGUgcHJvY2VkdXJlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUYXJnZXQgYm9keSBzaXRlcyIgZGVmaW5pdGlvbj0iRGV0YWlsZWQgYW5kIHN0cnVjdHVyZWQgYW5hdG9taWNhbCBsb2NhdGlvbiBpbmZvcm1hdGlvbi4gTXVsdGlwbGUgbG9jYXRpb25zIGFyZSBhbGxvd2VkIC0gZS5nLiBtdWx0aXBsZSBwdW5jaCBiaW9wc2llcyBvZiBhIGxlc2lvbi4iIGNvbW1lbnQ9IklmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBhdHRyaWJ1dGVzIGZyb20gdGhlIEJvZHlTaXRlIHJlc291cmNlIChlLmcuIHRvIGlkZW50aWZ5IGFuZCB0cmFjayBzZXBhcmF0ZWx5KSB0aGVuIHVzZSB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtwcm9jZWR1cmUtdGFyZ2V0Ym9keXN0cnVjdHVyZV0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9leHRlbnNpb24tcHJvY2VkdXJlLXRhcmdldGJvZHlzdHJ1Y3R1cmUuaHRtbCkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ib3V0Y29tZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGhlIHJlc3VsdCBvZiBwcm9jZWR1cmUiIGRlZmluaXRpb249IlRoZSBvdXRjb21lIG9mIHRoZSBwcm9jZWR1cmUgLSBkaWQgaXQgcmVzb2x2ZSB0aGUgcmVhc29ucyBmb3IgdGhlIHByb2NlZHVyZSBiZWluZyBwZXJmb3JtZWQ/IiBjb21tZW50PSJJZiBvdXRjb21lIGNvbnRhaW5zIG5hcnJhdGl2ZSB0ZXh0IG9ubHksIGl0IGNhbiBiZSBjYXB0dXJlZCB1c2luZyB0aGUgQ29kZWFibGVDb25jZXB0LnRleHQuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUHJvY2VkdXJlT3V0Y29tZSIgZGVzY3JpcHRpb249IkFuIG91dGNvbWUgb2YgYSBwcm9jZWR1cmUgLSB3aGV0aGVyIGl0IHdhcyByZXNvbHZlZCBvciBvdGhlcndpc2UuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlcG9ydCIgZGVzY3JpcHRpb249IkFueSByZXBvcnQgcmVzdWx0aW5nIGZyb20gdGhlIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iVGhpcyBjb3VsZCBiZSBhIGhpc3RvbG9neSByZXN1bHQsIHBhdGhvbG9neSByZXBvcnQsIHN1cmdpY2FsIHJlcG9ydCwgZXRjLiIgY29tbWVudD0iVGhlcmUgY291bGQgcG90ZW50aWFsbHkgYmUgbXVsdGlwbGUgcmVwb3J0cyAtIGUuZy4gaWYgdGhpcyB3YXMgYSBwcm9jZWR1cmUgd2hpY2ggdG9vayBtdWx0aXBsZSBiaW9wc2llcyByZXN1bHRpbmcgaW4gYSBudW1iZXIgb2YgYW5hdG9taWNhbCBwYXRob2xvZ3kgcmVwb3J0cy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbXBsaWNhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvbXBsaWNhdGlvbiBmb2xsb3dpbmcgdGhlIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iQW55IGNvbXBsaWNhdGlvbnMgdGhhdCBvY2N1cnJlZCBkdXJpbmcgdGhlIHByb2NlZHVyZSwgb3IgaW4gdGhlIGltbWVkaWF0ZSBwb3N0LXBlcmZvcm1hbmNlIHBlcmlvZC4gVGhlc2UgYXJlIGdlbmVyYWxseSB0cmFja2VkIHNlcGFyYXRlbHkgZnJvbSB0aGUgbm90ZXMsIHdoaWNoIHdpbGwgdHlwaWNhbGx5IGRlc2NyaWJlIHRoZSBwcm9jZWR1cmUgaXRzZWxmIHJhdGhlciB0aGFuIGFueSAncG9zdCBwcm9jZWR1cmUnIGlzc3Vlcy4iIGNvbW1lbnQ9IklmIGNvbXBsaWNhdGlvbnMgYXJlIG9ubHkgZXhwcmVzc2VkIGJ5IHRoZSBuYXJyYXRpdmUgdGV4dCwgdGhleSBjYW4gYmUgY2FwdHVyZWQgdXNpbmcgdGhlIENvZGVhYmxlQ29uY2VwdC50ZXh0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJQcm9jZWR1cmVDb21wbGljYXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGNvbXBsaWNhdGlvbnMgdGhhdCByZXN1bHRlZCBmcm9tIGEgcHJvY2VkdXJlLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb21wbGljYXRpb25EZXRhaWwiIGRlc2NyaXB0aW9uPSJBIGNvbmRpdGlvbiB0aGF0IGlzIGEgcmVzdWx0IG9mIHRoZSBwcm9jZWR1cmUiIGRlZmluaXRpb249IkFueSBjb21wbGljYXRpb25zIHRoYXQgb2NjdXJyZWQgZHVyaW5nIHRoZSBwcm9jZWR1cmUsIG9yIGluIHRoZSBpbW1lZGlhdGUgcG9zdC1wZXJmb3JtYW5jZSBwZXJpb2QuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJmb2xsb3dVcCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ikluc3RydWN0aW9ucyBmb3IgZm9sbG93IHVwIiBkZWZpbml0aW9uPSJJZiB0aGUgcHJvY2VkdXJlIHJlcXVpcmVkIHNwZWNpZmljIGZvbGxvdyB1cCAtIGUuZy4gcmVtb3ZhbCBvZiBzdXR1cmVzLiBUaGUgZm9sbG93IHVwIG1heSBiZSByZXByZXNlbnRlZCBhcyBhIHNpbXBsZSBub3RlIG9yIGNvdWxkIHBvdGVudGlhbGx5IGJlIG1vcmUgY29tcGxleCwgaW4gd2hpY2ggY2FzZSB0aGUgQ2FyZVBsYW4gcmVzb3VyY2UgY2FuIGJlIHVzZWQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlByb2NlZHVyZUZvbGxvd1VwIiBkZXNjcmlwdGlvbj0iU3BlY2lmaWMgZm9sbG93IHVwIHJlcXVpcmVkIGZvciBhIHByb2NlZHVyZSBlLmcuIHJlbW92YWwgb2Ygc3V0dXJlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iQW55IG90aGVyIG5vdGVzIGFuZCBjb21tZW50cyBhYm91dCB0aGUgcHJvY2VkdXJlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImZvY2FsRGV2aWNlIiBkZXNjcmlwdGlvbj0iTWFuaXB1bGF0ZWQsIGltcGxhbnRlZCwgb3IgcmVtb3ZlZCBkZXZpY2UiIGRlZmluaXRpb249IkEgZGV2aWNlIHRoYXQgaXMgaW1wbGFudGVkLCByZW1vdmVkIG9yIG90aGVyd2lzZSBtYW5pcHVsYXRlZCAoY2FsaWJyYXRpb24sIGJhdHRlcnkgcmVwbGFjZW1lbnQsIGZpdHRpbmcgYSBwcm9zdGhlc2lzLCBhdHRhY2hpbmcgYSB3b3VuZC12YWMsIGV0Yy4pIGFzIGEgZm9jYWwgcG9ydGlvbiBvZiB0aGUgUHJvY2VkdXJlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlByb2NlZHVyZS5Gb2NhbERldmljZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idXNlZFJlZmVyZW5jZSIgZGVzY3JpcHRpb249Ikl0ZW1zIHVzZWQgZHVyaW5nIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyBtZWRpY2F0aW9ucywgZGV2aWNlcyBhbmQgYW55IG90aGVyIHN1YnN0YW5jZSB1c2VkIGFzIHBhcnQgb2YgdGhlIHByb2NlZHVyZS4iIGNvbW1lbnQ9IkZvciBkZXZpY2VzIGFjdHVhbGx5IGltcGxhbnRlZCBvciByZW1vdmVkLCB1c2UgUHJvY2VkdXJlLmRldmljZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InVzZWRDb2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ29kZWQgaXRlbXMgdXNlZCBkdXJpbmcgdGhlIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyBjb2RlZCBpdGVtcyB0aGF0IHdlcmUgdXNlZCBhcyBwYXJ0IG9mIHRoZSBwcm9jZWR1cmUuIiBjb21tZW50PSJGb3IgZGV2aWNlcyBhY3R1YWxseSBpbXBsYW50ZWQgb3IgcmVtb3ZlZCwgdXNlIFByb2NlZHVyZS5kZXZpY2UuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlByb2NlZHVyZVVzZWQiIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGl0ZW1zIHVzZWQgZHVyaW5nIGEgcHJvY2VkdXJlLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJQdWJsaWNhdGlvblN0YXR1cyIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlF1YW50aXR5Q29tcGFyYXRvciIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUXVlc3Rpb25uYWlyZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1F1ZXN0aW9ubmFpcmUiIGxhYmVsPSJRdWVzdGlvbm5haXJlIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJuYW1lIj4KICAgICAgPGVsZW1lbnQgbmFtZT0idXJsIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJDYW5vbmljYWwgaWRlbnRpZmllciBmb3IgdGhpcyBxdWVzdGlvbm5haXJlLCByZXByZXNlbnRlZCBhcyBhIFVSSSAoZ2xvYmFsbHkgdW5pcXVlKSIgZGVmaW5pdGlvbj0iQW4gYWJzb2x1dGUgVVJJIHRoYXQgaXMgdXNlZCB0byBpZGVudGlmeSB0aGlzIHF1ZXN0aW9ubmFpcmUgd2hlbiBpdCBpcyByZWZlcmVuY2VkIGluIGEgc3BlY2lmaWNhdGlvbiwgbW9kZWwsIGRlc2lnbiBvciBhbiBpbnN0YW5jZTsgYWxzbyBjYWxsZWQgaXRzIGNhbm9uaWNhbCBpZGVudGlmaWVyLiBUaGlzIFNIT1VMRCBiZSBnbG9iYWxseSB1bmlxdWUgYW5kIFNIT1VMRCBiZSBhIGxpdGVyYWwgYWRkcmVzcyBhdCB3aGljaCBhdCB3aGljaCBhbiBhdXRob3JpdGF0aXZlIGluc3RhbmNlIG9mIHRoaXMgcXVlc3Rpb25uYWlyZSBpcyAob3Igd2lsbCBiZSkgcHVibGlzaGVkLiBUaGlzIFVSTCBjYW4gYmUgdGhlIHRhcmdldCBvZiBhIGNhbm9uaWNhbCByZWZlcmVuY2UuIEl0IFNIQUxMIHJlbWFpbiB0aGUgc2FtZSB3aGVuIHRoZSBxdWVzdGlvbm5haXJlIGlzIHN0b3JlZCBvbiBkaWZmZXJlbnQgc2VydmVycy4iIGNvbW1lbnQ9IlRoZSBuYW1lIG9mIHRoZSByZWZlcmVuY2VkIHF1ZXN0aW9ubmFpcmUgY2FuIGJlIGNvbnZleWVkIHVzaW5nIHRoZSBodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vZGlzcGxheSBleHRlbnNpb24uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJBZGRpdGlvbmFsIGlkZW50aWZpZXIgZm9yIHRoZSBxdWVzdGlvbm5haXJlIiBkZWZpbml0aW9uPSJBIGZvcm1hbCBpZGVudGlmaWVyIHRoYXQgaXMgdXNlZCB0byBpZGVudGlmeSB0aGlzIHF1ZXN0aW9ubmFpcmUgd2hlbiBpdCBpcyByZXByZXNlbnRlZCBpbiBvdGhlciBmb3JtYXRzLCBvciByZWZlcmVuY2VkIGluIGEgc3BlY2lmaWNhdGlvbiwgbW9kZWwsIGRlc2lnbiBvciBhbiBpbnN0YW5jZS4iIGNvbW1lbnQ9IlR5cGljYWxseSwgdGhpcyBpcyB1c2VkIGZvciBpZGVudGlmaWVycyB0aGF0IGNhbiBnbyBpbiBhbiBITDcgVjMgSUkgKGluc3RhbmNlIGlkZW50aWZpZXIpIGRhdGEgdHlwZSwgYW5kIGNhbiB0aGVuIGlkZW50aWZ5IHRoaXMgcXVlc3Rpb25uYWlyZSBvdXRzaWRlIG9mIEZISVIsIHdoZXJlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byB1c2UgdGhlIGxvZ2ljYWwgVVJJLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InZlcnNpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkJ1c2luZXNzIHZlcnNpb24gb2YgdGhlIHF1ZXN0aW9ubmFpcmUiIGRlZmluaXRpb249IlRoZSBpZGVudGlmaWVyIHRoYXQgaXMgdXNlZCB0byBpZGVudGlmeSB0aGlzIHZlcnNpb24gb2YgdGhlIHF1ZXN0aW9ubmFpcmUgd2hlbiBpdCBpcyByZWZlcmVuY2VkIGluIGEgc3BlY2lmaWNhdGlvbiwgbW9kZWwsIGRlc2lnbiBvciBpbnN0YW5jZS4gVGhpcyBpcyBhbiBhcmJpdHJhcnkgdmFsdWUgbWFuYWdlZCBieSB0aGUgcXVlc3Rpb25uYWlyZSBhdXRob3IgYW5kIGlzIG5vdCBleHBlY3RlZCB0byBiZSBnbG9iYWxseSB1bmlxdWUuIEZvciBleGFtcGxlLCBpdCBtaWdodCBiZSBhIHRpbWVzdGFtcCAoZS5nLiB5eXl5bW1kZCkgaWYgYSBtYW5hZ2VkIHZlcnNpb24gaXMgbm90IGF2YWlsYWJsZS4gVGhlcmUgaXMgYWxzbyBubyBleHBlY3RhdGlvbiB0aGF0IHZlcnNpb25zIGNhbiBiZSBwbGFjZWQgaW4gYSBsZXhpY29ncmFwaGljYWwgc2VxdWVuY2UuIiBjb21tZW50PSJUaGVyZSBtYXkgYmUgZGlmZmVyZW50IHF1ZXN0aW9ubmFpcmUgaW5zdGFuY2VzIHRoYXQgaGF2ZSB0aGUgc2FtZSBpZGVudGlmaWVyIGJ1dCBkaWZmZXJlbnQgdmVyc2lvbnMuICBUaGUgdmVyc2lvbiBjYW4gYmUgYXBwZW5kZWQgdG8gdGhlIHVybCBpbiBhIHJlZmVyZW5jZSB0byBhbGxvdyBhIHJlZmVyZW5jZSB0byBhIHBhcnRpY3VsYXIgYnVzaW5lc3MgdmVyc2lvbiBvZiB0aGUgcXVlc3Rpb25uYWlyZSB3aXRoIHRoZSBmb3JtYXQgW3VybF18W3ZlcnNpb25dLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJuYW1lIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOYW1lIGZvciB0aGlzIHF1ZXN0aW9ubmFpcmUgKGNvbXB1dGVyIGZyaWVuZGx5KSIgZGVmaW5pdGlvbj0iQSBuYXR1cmFsIGxhbmd1YWdlIG5hbWUgaWRlbnRpZnlpbmcgdGhlIHF1ZXN0aW9ubmFpcmUuIFRoaXMgbmFtZSBzaG91bGQgYmUgdXNhYmxlIGFzIGFuIGlkZW50aWZpZXIgZm9yIHRoZSBtb2R1bGUgYnkgbWFjaGluZSBwcm9jZXNzaW5nIGFwcGxpY2F0aW9ucyBzdWNoIGFzIGNvZGUgZ2VuZXJhdGlvbi4iIGNvbW1lbnQ9IlRoZSBuYW1lIGlzIG5vdCBleHBlY3RlZCB0byBiZSBnbG9iYWxseSB1bmlxdWUuIFRoZSBuYW1lIHNob3VsZCBiZSBhIHNpbXBsZSBhbHBoYW51bWVyaWMgdHlwZSBuYW1lIHRvIGVuc3VyZSB0aGF0IGl0IGlzIG1hY2hpbmUtcHJvY2Vzc2luZyBmcmllbmRseS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0idGl0bGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik5hbWUgZm9yIHRoaXMgcXVlc3Rpb25uYWlyZSAoaHVtYW4gZnJpZW5kbHkpIiBkZWZpbml0aW9uPSJBIHNob3J0LCBkZXNjcmlwdGl2ZSwgdXNlci1mcmllbmRseSB0aXRsZSBmb3IgdGhlIHF1ZXN0aW9ubmFpcmUuIiBjb21tZW50PSJUaGlzIG5hbWUgZG9lcyBub3QgbmVlZCB0byBiZSBtYWNoaW5lLXByb2Nlc3NpbmcgZnJpZW5kbHkgYW5kIG1heSBjb250YWluIHB1bmN0dWF0aW9uLCB3aGl0ZS1zcGFjZSwgZXRjLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXJpdmVkRnJvbSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBvZiBhIFF1ZXN0aW9ubmFpcmUgdGhhdCB0aGlzIFF1ZXN0aW9ubmFpcmUgaXMgYmFzZWQgb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUHVibGljYXRpb25TdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iZHJhZnQgfCBhY3RpdmUgfCByZXRpcmVkIHwgdW5rbm93biIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGlzIHF1ZXN0aW9ubmFpcmUuIEVuYWJsZXMgdHJhY2tpbmcgdGhlIGxpZmUtY3ljbGUgb2YgdGhlIGNvbnRlbnQuIiBjb21tZW50PSJBbGxvd3MgZmlsdGVyaW5nIG9mIHF1ZXN0aW9ubmFpcmVzIHRoYXQgYXJlIGFwcHJvcHJpYXRlIGZvciB1c2UgdmVyc3VzIG5vdC4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJQdWJsaWNhdGlvblN0YXR1cyIgZGVzY3JpcHRpb249IlRoZSBsaWZlY3ljbGUgc3RhdHVzIG9mIGFuIGFydGlmYWN0LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZXhwZXJpbWVudGFsIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRm9yIHRlc3RpbmcgcHVycG9zZXMsIG5vdCByZWFsIHVzYWdlIiBkZWZpbml0aW9uPSJBIEJvb2xlYW4gdmFsdWUgdG8gaW5kaWNhdGUgdGhhdCB0aGlzIHF1ZXN0aW9ubmFpcmUgaXMgYXV0aG9yZWQgZm9yIHRlc3RpbmcgcHVycG9zZXMgKG9yIGVkdWNhdGlvbi9ldmFsdWF0aW9uL21hcmtldGluZykgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGZvciBnZW51aW5lIHVzYWdlLiIgY29tbWVudD0iQWxsb3dzIGZpbHRlcmluZyBvZiBxdWVzdGlvbm5haXJlcyB0aGF0IGFyZSBhcHByb3ByaWF0ZSBmb3IgdXNlIHZlcnN1cyBub3QuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3RUeXBlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlJlc291cmNlIHRoYXQgY2FuIGJlIHN1YmplY3Qgb2YgUXVlc3Rpb25uYWlyZVJlc3BvbnNlIiBkZWZpbml0aW9uPSJUaGUgdHlwZXMgb2Ygc3ViamVjdHMgdGhhdCBjYW4gYmUgdGhlIHN1YmplY3Qgb2YgcmVzcG9uc2VzIGNyZWF0ZWQgZm9yIHRoZSBxdWVzdGlvbm5haXJlLiIgY29tbWVudD0iSWYgbm9uZSBhcmUgc3BlY2lmaWVkLCB0aGVuIHRoZSBzdWJqZWN0IGlzIHVubGltaXRlZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZXNvdXJjZVR5cGUiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJSZXNvdXJjZVR5cGUiIGRlc2NyaXB0aW9uPSJPbmUgb2YgdGhlIHJlc291cmNlIHR5cGVzIGRlZmluZWQgYXMgcGFydCBvZiB0aGlzIHZlcnNpb24gb2YgRkhJUi4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZSBsYXN0IGNoYW5nZWQiIGRlZmluaXRpb249IlRoZSBkYXRlICAoYW5kIG9wdGlvbmFsbHkgdGltZSkgd2hlbiB0aGUgcXVlc3Rpb25uYWlyZSB3YXMgcHVibGlzaGVkLiBUaGUgZGF0ZSBtdXN0IGNoYW5nZSB3aGVuIHRoZSBidXNpbmVzcyB2ZXJzaW9uIGNoYW5nZXMgYW5kIGl0IG11c3QgY2hhbmdlIGlmIHRoZSBzdGF0dXMgY29kZSBjaGFuZ2VzLiBJbiBhZGRpdGlvbiwgaXQgc2hvdWxkIGNoYW5nZSB3aGVuIHRoZSBzdWJzdGFudGl2ZSBjb250ZW50IG9mIHRoZSBxdWVzdGlvbm5haXJlIGNoYW5nZXMuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBpcyBub3QgdGhlIHNhbWUgYXMgdGhlIHJlc291cmNlIGxhc3QtbW9kaWZpZWQtZGF0ZSwgc2luY2UgdGhlIHJlc291cmNlIG1heSBiZSBhIHNlY29uZGFyeSByZXByZXNlbnRhdGlvbiBvZiB0aGUgcXVlc3Rpb25uYWlyZS4gQWRkaXRpb25hbCBzcGVjaWZpYyBkYXRlcyBtYXkgYmUgYWRkZWQgYXMgZXh0ZW5zaW9ucyBvciBiZSBmb3VuZCBieSBjb25zdWx0aW5nIFByb3ZlbmFuY2VzIGFzc29jaWF0ZWQgd2l0aCBwYXN0IHZlcnNpb25zIG9mIHRoZSByZXNvdXJjZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icHVibGlzaGVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOYW1lIG9mIHRoZSBwdWJsaXNoZXIgKG9yZ2FuaXphdGlvbiBvciBpbmRpdmlkdWFsKSIgZGVmaW5pdGlvbj0iVGhlIG5hbWUgb2YgdGhlIG9yZ2FuaXphdGlvbiBvciBpbmRpdmlkdWFsIHRoYXQgcHVibGlzaGVkIHRoZSBxdWVzdGlvbm5haXJlLiIgY29tbWVudD0iVXN1YWxseSBhbiBvcmdhbml6YXRpb24gYnV0IG1heSBiZSBhbiBpbmRpdmlkdWFsLiBUaGUgcHVibGlzaGVyIChvciBzdGV3YXJkKSBvZiB0aGUgcXVlc3Rpb25uYWlyZSBpcyB0aGUgb3JnYW5pemF0aW9uIG9yIGluZGl2aWR1YWwgcHJpbWFyaWx5IHJlc3BvbnNpYmxlIGZvciB0aGUgbWFpbnRlbmFuY2UgYW5kIHVwa2VlcCBvZiB0aGUgcXVlc3Rpb25uYWlyZS4gVGhpcyBpcyBub3QgbmVjZXNzYXJpbHkgdGhlIHNhbWUgaW5kaXZpZHVhbCBvciBvcmdhbml6YXRpb24gdGhhdCBkZXZlbG9wZWQgYW5kIGluaXRpYWxseSBhdXRob3JlZCB0aGUgY29udGVudC4gVGhlIHB1Ymxpc2hlciBpcyB0aGUgcHJpbWFyeSBwb2ludCBvZiBjb250YWN0IGZvciBxdWVzdGlvbnMgb3IgaXNzdWVzIHdpdGggdGhlIHF1ZXN0aW9ubmFpcmUuIFRoaXMgaXRlbSBTSE9VTEQgYmUgcG9wdWxhdGVkIHVubGVzcyB0aGUgaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxlIGZyb20gY29udGV4dC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29udGFjdCIgZGVzY3JpcHRpb249IkNvbnRhY3QgZGV0YWlscyBmb3IgdGhlIHB1Ymxpc2hlciIgZGVmaW5pdGlvbj0iQ29udGFjdCBkZXRhaWxzIHRvIGFzc2lzdCBhIHVzZXIgaW4gZmluZGluZyBhbmQgY29tbXVuaWNhdGluZyB3aXRoIHRoZSBwdWJsaXNoZXIuIiBjb21tZW50PSJNYXkgYmUgYSB3ZWIgc2l0ZSwgYW4gZW1haWwgYWRkcmVzcywgYSB0ZWxlcGhvbmUgbnVtYmVyLCBldGMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ29udGFjdERldGFpbCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVzY3JpcHRpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik5hdHVyYWwgbGFuZ3VhZ2UgZGVzY3JpcHRpb24gb2YgdGhlIHF1ZXN0aW9ubmFpcmUiIGRlZmluaXRpb249IkEgZnJlZSB0ZXh0IG5hdHVyYWwgbGFuZ3VhZ2UgZGVzY3JpcHRpb24gb2YgdGhlIHF1ZXN0aW9ubmFpcmUgZnJvbSBhIGNvbnN1bWVyJ3MgcGVyc3BlY3RpdmUuIiBjb21tZW50PSJUaGlzIGRlc2NyaXB0aW9uIGNhbiBiZSB1c2VkIHRvIGNhcHR1cmUgZGV0YWlscyBzdWNoIGFzIHdoeSB0aGUgcXVlc3Rpb25uYWlyZSB3YXMgYnVpbHQsIGNvbW1lbnRzIGFib3V0IG1pc3VzZSwgaW5zdHJ1Y3Rpb25zIGZvciBjbGluaWNhbCB1c2UgYW5kIGludGVycHJldGF0aW9uLCBsaXRlcmF0dXJlIHJlZmVyZW5jZXMsIGV4YW1wbGVzIGZyb20gdGhlIHBhcGVyIHdvcmxkLCBldGMuIEl0IGlzIG5vdCBhIHJlbmRlcmluZyBvZiB0aGUgcXVlc3Rpb25uYWlyZSBhcyBjb252ZXllZCBpbiB0aGUgJ3RleHQnIGZpZWxkIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYuIFRoaXMgaXRlbSBTSE9VTEQgYmUgcG9wdWxhdGVkIHVubGVzcyB0aGUgaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxlIGZyb20gY29udGV4dCAoZS5nLiB0aGUgbGFuZ3VhZ2Ugb2YgdGhlIHF1ZXN0aW9ubmFpcmUgaXMgcHJlc3VtZWQgdG8gYmUgdGhlIHByZWRvbWluYW50IGxhbmd1YWdlIGluIHRoZSBwbGFjZSB0aGUgcXVlc3Rpb25uYWlyZSB3YXMgY3JlYXRlZCkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InVzZUNvbnRleHQiIGRlc2NyaXB0aW9uPSJUaGUgY29udGV4dCB0aGF0IHRoZSBjb250ZW50IGlzIGludGVuZGVkIHRvIHN1cHBvcnQiIGRlZmluaXRpb249IlRoZSBjb250ZW50IHdhcyBkZXZlbG9wZWQgd2l0aCBhIGZvY3VzIGFuZCBpbnRlbnQgb2Ygc3VwcG9ydGluZyB0aGUgY29udGV4dHMgdGhhdCBhcmUgbGlzdGVkLiBUaGVzZSBjb250ZXh0cyBtYXkgYmUgZ2VuZXJhbCBjYXRlZ29yaWVzIChnZW5kZXIsIGFnZSwgLi4uKSBvciBtYXkgYmUgcmVmZXJlbmNlcyB0byBzcGVjaWZpYyBwcm9ncmFtcyAoaW5zdXJhbmNlIHBsYW5zLCBzdHVkaWVzLCAuLi4pIGFuZCBtYXkgYmUgdXNlZCB0byBhc3Npc3Qgd2l0aCBpbmRleGluZyBhbmQgc2VhcmNoaW5nIGZvciBhcHByb3ByaWF0ZSBxdWVzdGlvbm5haXJlIGluc3RhbmNlcy4iIGNvbW1lbnQ9IldoZW4gbXVsdGlwbGUgdXNlQ29udGV4dHMgYXJlIHNwZWNpZmllZCwgdGhlcmUgaXMgbm8gZXhwZWN0YXRpb24gdGhhdCBhbGwgb3IgYW55IG9mIHRoZSBjb250ZXh0cyBhcHBseS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Vc2FnZUNvbnRleHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imp1cmlzZGljdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkludGVuZGVkIGp1cmlzZGljdGlvbiBmb3IgcXVlc3Rpb25uYWlyZSAoaWYgYXBwbGljYWJsZSkiIGRlZmluaXRpb249IkEgbGVnYWwgb3IgZ2VvZ3JhcGhpYyByZWdpb24gaW4gd2hpY2ggdGhlIHF1ZXN0aW9ubmFpcmUgaXMgaW50ZW5kZWQgdG8gYmUgdXNlZC4iIGNvbW1lbnQ9Ikl0IG1heSBiZSBwb3NzaWJsZSBmb3IgdGhlIHF1ZXN0aW9ubmFpcmUgdG8gYmUgdXNlZCBpbiBqdXJpc2RpY3Rpb25zIG90aGVyIHRoYW4gdGhvc2UgZm9yIHdoaWNoIGl0IHdhcyBvcmlnaW5hbGx5IGRlc2lnbmVkIG9yIGludGVuZGVkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJKdXJpc2RpY3Rpb24iIGRlc2NyaXB0aW9uPSJDb3VudHJpZXMgYW5kIHJlZ2lvbnMgd2l0aGluIHdoaWNoIHRoaXMgYXJ0aWZhY3QgaXMgdGFyZ2V0ZWQgZm9yIHVzZS4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icHVycG9zZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2h5IHRoaXMgcXVlc3Rpb25uYWlyZSBpcyBkZWZpbmVkIiBkZWZpbml0aW9uPSJFeHBsYW5hdGlvbiBvZiB3aHkgdGhpcyBxdWVzdGlvbm5haXJlIGlzIG5lZWRlZCBhbmQgd2h5IGl0IGhhcyBiZWVuIGRlc2lnbmVkIGFzIGl0IGhhcy4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBkb2VzIG5vdCBkZXNjcmliZSB0aGUgdXNhZ2Ugb2YgdGhlIHF1ZXN0aW9ubmFpcmUuIEluc3RlYWQsIGl0IHByb3ZpZGVzIHRyYWNlYWJpbGl0eSBvZiAnJ3doeScnIHRoZSByZXNvdXJjZSBpcyBlaXRoZXIgbmVlZGVkIG9yICcnd2h5JycgaXQgaXMgZGVmaW5lZCBhcyBpdCBpcy4gIFRoaXMgbWF5IGJlIHVzZWQgdG8gcG9pbnQgdG8gc291cmNlIG1hdGVyaWFscyBvciBzcGVjaWZpY2F0aW9ucyB0aGF0IGRyb3ZlIHRoZSBzdHJ1Y3R1cmUgb2YgdGhpcyBxdWVzdGlvbm5haXJlLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJjb3B5cmlnaHQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlVzZSBhbmQvb3IgcHVibGlzaGluZyByZXN0cmljdGlvbnMiIGRlZmluaXRpb249IkEgY29weXJpZ2h0IHN0YXRlbWVudCByZWxhdGluZyB0byB0aGUgcXVlc3Rpb25uYWlyZSBhbmQvb3IgaXRzIGNvbnRlbnRzLiBDb3B5cmlnaHQgc3RhdGVtZW50cyBhcmUgZ2VuZXJhbGx5IGxlZ2FsIHJlc3RyaWN0aW9ucyBvbiB0aGUgdXNlIGFuZCBwdWJsaXNoaW5nIG9mIHRoZSBxdWVzdGlvbm5haXJlLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJhcHByb3ZhbERhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIHRoZSBxdWVzdGlvbm5haXJlIHdhcyBhcHByb3ZlZCBieSBwdWJsaXNoZXIiIGRlZmluaXRpb249IlRoZSBkYXRlIG9uIHdoaWNoIHRoZSByZXNvdXJjZSBjb250ZW50IHdhcyBhcHByb3ZlZCBieSB0aGUgcHVibGlzaGVyLiBBcHByb3ZhbCBoYXBwZW5zIG9uY2Ugd2hlbiB0aGUgY29udGVudCBpcyBvZmZpY2lhbGx5IGFwcHJvdmVkIGZvciB1c2FnZS4iIGNvbW1lbnQ9IlRoZSAnZGF0ZScgZWxlbWVudCBtYXkgYmUgbW9yZSByZWNlbnQgdGhhbiB0aGUgYXBwcm92YWwgZGF0ZSBiZWNhdXNlIG9mIG1pbm9yIGNoYW5nZXMgb3IgZWRpdG9yaWFsIGNvcnJlY3Rpb25zLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJsYXN0UmV2aWV3RGF0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gdGhlIHF1ZXN0aW9ubmFpcmUgd2FzIGxhc3QgcmV2aWV3ZWQiIGRlZmluaXRpb249IlRoZSBkYXRlIG9uIHdoaWNoIHRoZSByZXNvdXJjZSBjb250ZW50IHdhcyBsYXN0IHJldmlld2VkLiBSZXZpZXcgaGFwcGVucyBwZXJpb2RpY2FsbHkgYWZ0ZXIgYXBwcm92YWwgYnV0IGRvZXMgbm90IGNoYW5nZSB0aGUgb3JpZ2luYWwgYXBwcm92YWwgZGF0ZS4iIGNvbW1lbnQ9IklmIHNwZWNpZmllZCwgdGhpcyBkYXRlIGZvbGxvd3MgdGhlIG9yaWdpbmFsIGFwcHJvdmFsIGRhdGUuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZVBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaGVuIHRoZSBxdWVzdGlvbm5haXJlIGlzIGV4cGVjdGVkIHRvIGJlIHVzZWQiIGRlZmluaXRpb249IlRoZSBwZXJpb2QgZHVyaW5nIHdoaWNoIHRoZSBxdWVzdGlvbm5haXJlIGNvbnRlbnQgd2FzIG9yIGlzIHBsYW5uZWQgdG8gYmUgaW4gYWN0aXZlIHVzZS4iIGNvbW1lbnQ9IlRoZSBlZmZlY3RpdmUgcGVyaW9kIGZvciBhIHF1ZXN0aW9ubmFpcmUgIGRldGVybWluZXMgd2hlbiB0aGUgY29udGVudCBpcyBhcHBsaWNhYmxlIGZvciB1c2FnZSBhbmQgaXMgaW5kZXBlbmRlbnQgb2YgcHVibGljYXRpb24gYW5kIHJldmlldyBkYXRlcy4gRm9yIGV4YW1wbGUsIGEgbWVhc3VyZSBpbnRlbmRlZCB0byBiZSB1c2VkIGZvciB0aGUgeWVhciAyMDE2IG1pZ2h0IGJlIHB1Ymxpc2hlZCBpbiAyMDE1LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29kZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ29uY2VwdCB0aGF0IHJlcHJlc2VudHMgdGhlIG92ZXJhbGwgcXVlc3Rpb25uYWlyZSIgZGVmaW5pdGlvbj0iQW4gaWRlbnRpZmllciBmb3IgdGhpcyBxdWVzdGlvbiBvciBncm91cCBvZiBxdWVzdGlvbnMgaW4gYSBwYXJ0aWN1bGFyIHRlcm1pbm9sb2d5IHN1Y2ggYXMgTE9JTkMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29kZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlF1ZXN0aW9ubmFpcmVDb25jZXB0IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIHF1ZXN0aW9ubmFpcmVzLCBncm91cHMgYW5kIGluZGl2aWR1YWwgcXVlc3Rpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpdGVtIiBkZXNjcmlwdGlvbj0iUXVlc3Rpb25zIGFuZCBzZWN0aW9ucyB3aXRoaW4gdGhlIFF1ZXN0aW9ubmFpcmUiIGRlZmluaXRpb249IkEgcGFydGljdWxhciBxdWVzdGlvbiwgcXVlc3Rpb24gZ3JvdXBpbmcgb3IgZGlzcGxheSB0ZXh0IHRoYXQgaXMgcGFydCBvZiB0aGUgcXVlc3Rpb25uYWlyZS4iIGNvbW1lbnQ9IlRoZSBjb250ZW50IG9mIHRoZSBxdWVzdGlvbm5haXJlIGlzIGNvbnN0cnVjdGVkIGZyb20gYW4gb3JkZXJlZCwgaGllcmFyY2hpY2FsIGNvbGxlY3Rpb24gb2YgaXRlbXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUXVlc3Rpb25uYWlyZS5JdGVtIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0icXVlLTEiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iR3JvdXAgaXRlbXMgbXVzdCBoYXZlIG5lc3RlZCBpdGVtcywgZGlzcGxheSBpdGVtcyBjYW5ub3QgaGF2ZSBuZXN0ZWQgaXRlbXMiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iKHR5cGU9J2dyb3VwJyBpbXBsaWVzIGl0ZW0uZW1wdHkoKS5ub3QoKSkgYW5kICh0eXBlLnRyYWNlKCd0eXBlJyk9J2Rpc3BsYXknIGltcGxpZXMgaXRlbS50cmFjZSgnaXRlbScpLmVtcHR5KCkpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0icXVlLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iRGlzcGxheSBpdGVtcyBjYW5ub3QgaGF2ZSBhICZxdW90O2NvZGUmcXVvdDsgYXNzZXJ0ZWQiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0idHlwZSE9J2Rpc3BsYXknIG9yIGNvZGUuZW1wdHkoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InF1ZS00IiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IkEgcXVlc3Rpb24gY2Fubm90IGhhdmUgYm90aCBhbnN3ZXJPcHRpb24gYW5kIGFuc3dlclZhbHVlU2V0Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249ImFuc3dlck9wdGlvbi5lbXB0eSgpIG9yIGFuc3dlclZhbHVlU2V0LmVtcHR5KCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJxdWUtNSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJPbmx5ICdjaG9pY2UnIGFuZCAnb3Blbi1jaG9pY2UnIGl0ZW1zIGNhbiBoYXZlIGFuc3dlclZhbHVlU2V0Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Iih0eXBlID0nY2hvaWNlJyBvciB0eXBlID0gJ29wZW4tY2hvaWNlJyBvciB0eXBlID0gJ2RlY2ltYWwnIG9yIHR5cGUgPSAnaW50ZWdlcicgb3IgdHlwZSA9ICdkYXRlJyBvciB0eXBlID0gJ2RhdGVUaW1lJyBvciB0eXBlID0gJ3RpbWUnIG9yIHR5cGUgPSAnc3RyaW5nJyBvciB0eXBlID0gJ3F1YW50aXR5Jykgb3IgKGFuc3dlclZhbHVlU2V0LmVtcHR5KCkgYW5kIGFuc3dlck9wdGlvbi5lbXB0eSgpKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InF1ZS02IiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IlJlcXVpcmVkIGFuZCByZXBlYXQgYXJlbid0IHBlcm1pdHRlZCBmb3IgZGlzcGxheSBpdGVtcyI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ0eXBlIT0nZGlzcGxheScgb3IgKHJlcXVpcmVkLmVtcHR5KCkgYW5kIHJlcGVhdHMuZW1wdHkoKSkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJxdWUtOCIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJbml0aWFsIHZhbHVlcyBjYW4ndCBiZSBzcGVjaWZpZWQgZm9yIGdyb3VwcyBvciBkaXNwbGF5IGl0ZW1zIj4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Iih0eXBlIT0nZ3JvdXAnIGFuZCB0eXBlIT0nZGlzcGxheScpIG9yIGluaXRpYWwuZW1wdHkoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InF1ZS05IiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IlJlYWQtb25seSBjYW4ndCBiZSBzcGVjaWZpZWQgZm9yICZxdW90O2Rpc3BsYXkmcXVvdDsgaXRlbXMiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0idHlwZSE9J2Rpc3BsYXknIG9yIHJlYWRPbmx5LmVtcHR5KCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJxdWUtMTAiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iTWF4aW11bSBsZW5ndGggY2FuIG9ubHkgYmUgZGVjbGFyZWQgZm9yIHNpbXBsZSBxdWVzdGlvbiB0eXBlcyI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIodHlwZSBpbiAoJ2Jvb2xlYW4nIHwgJ2RlY2ltYWwnIHwgJ2ludGVnZXInIHwgJ3N0cmluZycgfCAndGV4dCcgfCAndXJsJyB8ICdvcGVuLWNob2ljZScpKSBvciBtYXhMZW5ndGguZW1wdHkoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InF1ZS0xMSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiBvbmUgb3IgbW9yZSBhbnN3ZXJPcHRpb24gaXMgcHJlc2VudCwgaW5pdGlhbFt4XSBtdXN0IGJlIG1pc3NpbmciPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iYW5zd2VyT3B0aW9uLmVtcHR5KCkgb3IgaW5pdGlhbC5lbXB0eSgpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0icXVlLTEyIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IklmIHRoZXJlIGFyZSBtb3JlIHRoYW4gb25lIGVuYWJsZVdoZW4sIGVuYWJsZUJlaGF2aW9yIG11c3QgYmUgc3BlY2lmaWVkIj4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249ImVuYWJsZVdoZW4uY291bnQoKSA+IDIgaW1wbGllcyBlbmFibGVCZWhhdmlvci5leGlzdHMoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InF1ZS0xMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJDYW4gb25seSBoYXZlIG11bHRpcGxlIGluaXRpYWwgdmFsdWVzIGZvciByZXBlYXRpbmcgaXRlbXMiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0icmVwZWF0cz10cnVlIG9yIGluaXRpYWwuY291bnQoKSAmbHQ7PSAxIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJRdWVzdGlvbm5haXJlLkl0ZW0iIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImxpbmtJZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVW5pcXVlIGlkIGZvciBpdGVtIGluIHF1ZXN0aW9ubmFpcmUiIGRlZmluaXRpb249IkFuIGlkZW50aWZpZXIgdGhhdCBpcyB1bmlxdWUgd2l0aGluIHRoZSBRdWVzdGlvbm5haXJlIGFsbG93aW5nIGxpbmthZ2UgdG8gdGhlIGVxdWl2YWxlbnQgaXRlbSBpbiBhIFF1ZXN0aW9ubmFpcmVSZXNwb25zZSByZXNvdXJjZS4iIGNvbW1lbnQ9IlRoaXMgJydjYW4nJyBiZSBhIG1lYW5pbmdmdWwgaWRlbnRpZmllciAoZS5nLiBhIExPSU5DIGNvZGUpIGJ1dCBpcyBub3QgaW50ZW5kZWQgdG8gaGF2ZSBhbnkgbWVhbmluZy4gIEdVSURzIG9yIHNlcXVlbnRpYWwgbnVtYmVycyBhcmUgYXBwcm9wcmlhdGUgaGVyZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVmaW5pdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRWxlbWVudERlZmluaXRpb24gLSBkZXRhaWxzIGZvciB0aGUgaXRlbSIgZGVmaW5pdGlvbj0iVGhpcyBlbGVtZW50IGlzIGEgVVJJIHRoYXQgcmVmZXJzIHRvIGFuIFtFbGVtZW50RGVmaW5pdGlvbl0oZWxlbWVudGRlZmluaXRpb24uaHRtbCkgdGhhdCBwcm92aWRlcyBpbmZvcm1hdGlvbiBhYm91dCB0aGlzIGl0ZW0sIGluY2x1ZGluZyBpbmZvcm1hdGlvbiB0aGF0IG1pZ2h0IG90aGVyd2lzZSBiZSBpbmNsdWRlZCBpbiB0aGUgaW5zdGFuY2Ugb2YgdGhlIFF1ZXN0aW9ubmFpcmUgcmVzb3VyY2UuIEEgZGV0YWlsZWQgZGVzY3JpcHRpb24gb2YgdGhlIGNvbnN0cnVjdGlvbiBvZiB0aGUgVVJJIGlzIHNob3duIGluIENvbW1lbnRzLCBiZWxvdy4gSWYgdGhpcyBlbGVtZW50IGlzIHByZXNlbnQgdGhlbiB0aGUgZm9sbG93aW5nIGVsZW1lbnQgdmFsdWVzIE1BWSBiZSBkZXJpdmVkIGZyb20gdGhlIEVsZW1lbnQgRGVmaW5pdGlvbiBpZiB0aGUgY29ycmVzcG9uZGluZyBlbGVtZW50cyBvZiB0aGlzIFF1ZXN0aW9ubmFpcmUgcmVzb3VyY2UgaW5zdGFuY2UgaGF2ZSBubyB2YWx1ZTomI3hhOyYjeGE7KiBjb2RlIChFbGVtZW50RGVmaW5pdGlvbi5jb2RlKSAmI3hhOyogdHlwZSAoRWxlbWVudERlZmluaXRpb24udHlwZSkgJiN4YTsqIHJlcXVpcmVkIChFbGVtZW50RGVmaW5pdGlvbi5taW4pICYjeGE7KiByZXBlYXRzIChFbGVtZW50RGVmaW5pdGlvbi5tYXgpICYjeGE7KiBtYXhMZW5ndGggKEVsZW1lbnREZWZpbml0aW9uLm1heExlbmd0aCkgJiN4YTsqIGFuc3dlclZhbHVlU2V0IChFbGVtZW50RGVmaW5pdGlvbi5iaW5kaW5nKSYjeGE7KiBvcHRpb25zIChFbGVtZW50RGVmaW5pdGlvbi5iaW5kaW5nKS4iIGNvbW1lbnQ9IlRoZSB1cmkgcmVmZXJzIHRvIGFuIEVsZW1lbnREZWZpbml0aW9uIGluIGEgW1N0cnVjdHVyZURlZmluaXRpb25dKHN0cnVjdHVyZWRlZmluaXRpb24uaHRtbCMpIGFuZCBhbHdheXMgc3RhcnRzIHdpdGggdGhlIFtjYW5vbmljYWwgVVJMXShyZWZlcmVuY2VzLmh0bWwjY2Fub25pY2FsKSBmb3IgdGhlIHRhcmdldCByZXNvdXJjZS4gV2hlbiByZWZlcnJpbmcgdG8gYSBTdHJ1Y3R1cmVEZWZpbml0aW9uLCBhIGZyYWdtZW50IGlkZW50aWZpZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHRoZSBlbGVtZW50IGRlZmluaXRpb24gYnkgaXRzIGlkIFtFbGVtZW50LmlkXShlbGVtZW50LWRlZmluaXRpb25zLmh0bWwjRWxlbWVudC5pZCkuIEUuZy4gaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL09ic2VydmF0aW9uI09ic2VydmF0aW9uLnZhbHVlW3hdLiBJbiB0aGUgYWJzZW5jZSBvZiBhIGZyYWdtZW50IGlkZW50aWZpZXIsIHRoZSBmaXJzdC9yb290IGVsZW1lbnQgZGVmaW5pdGlvbiBpbiB0aGUgdGFyZ2V0IGlzIHRoZSBtYXRjaGluZyBlbGVtZW50IGRlZmluaXRpb24uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb3JyZXNwb25kaW5nIGNvbmNlcHQgZm9yIHRoaXMgaXRlbSBpbiBhIHRlcm1pbm9sb2d5IiBkZWZpbml0aW9uPSJBIHRlcm1pbm9sb2d5IGNvZGUgdGhhdCBjb3JyZXNwb25kcyB0byB0aGlzIGdyb3VwIG9yIHF1ZXN0aW9uIChlLmcuIGEgY29kZSBmcm9tIExPSU5DLCB3aGljaCBkZWZpbmVzIG1hbnkgcXVlc3Rpb25zIGFuZCBhbnN3ZXJzKS4iIGNvbW1lbnQ9IlRoZSB2YWx1ZSBtYXkgY29tZSBmcm9tIHRoZSBFbGVtZW50RGVmaW5pdGlvbiByZWZlcnJlZCB0byBieSAuZGVmaW5pdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db2RlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUXVlc3Rpb25uYWlyZUNvbmNlcHQiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgcXVlc3Rpb25uYWlyZXMsIGdyb3VwcyBhbmQgaW5kaXZpZHVhbCBxdWVzdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InByZWZpeCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRS5nLiAmcXVvdDsxKGEpJnF1b3Q7LCAmcXVvdDsyLjUuMyZxdW90OyIgZGVmaW5pdGlvbj0iQSBzaG9ydCBsYWJlbCBmb3IgYSBwYXJ0aWN1bGFyIGdyb3VwLCBxdWVzdGlvbiBvciBzZXQgb2YgZGlzcGxheSB0ZXh0IHdpdGhpbiB0aGUgcXVlc3Rpb25uYWlyZSB1c2VkIGZvciByZWZlcmVuY2UgYnkgdGhlIGluZGl2aWR1YWwgY29tcGxldGluZyB0aGUgcXVlc3Rpb25uYWlyZS4iIGNvbW1lbnQ9IlRoZXNlIGFyZSBnZW5lcmFsbHkgdW5pcXVlIHdpdGhpbiBhIHF1ZXN0aW9ubmFpcmUsIHRob3VnaCB0aGlzIGlzIG5vdCBndWFyYW50ZWVkLiBTb21lIHF1ZXN0aW9ubmFpcmVzIG1heSBoYXZlIG11bHRpcGxlIHF1ZXN0aW9ucyB3aXRoIHRoZSBzYW1lIGxhYmVsIHdpdGggbG9naWMgdG8gY29udHJvbCB3aGljaCBnZXRzIGV4cG9zZWQuICBUeXBpY2FsbHksIHRoZXNlIHdvbid0IGJlIHVzZWQgZm9yICZxdW90O2Rpc3BsYXkmcXVvdDsgaXRlbXMsIHRob3VnaCBzdWNoIHVzZSBpcyBub3QgcHJvaGliaXRlZC4gIFN5c3RlbXMgU0hPVUxEIE5PVCBnZW5lcmF0ZSB0aGVpciBvd24gcHJlZml4ZXMgaWYgcHJlZml4ZXMgYXJlIGRlZmluZWQgZm9yIGFueSBpdGVtcyB3aXRoaW4gYSBRdWVzdGlvbm5haXJlLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ0ZXh0IiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQcmltYXJ5IHRleHQgZm9yIHRoZSBpdGVtIiBkZWZpbml0aW9uPSJUaGUgbmFtZSBvZiBhIHNlY3Rpb24sIHRoZSB0ZXh0IG9mIGEgcXVlc3Rpb24gb3IgdGV4dCBjb250ZW50IGZvciBhIGRpc3BsYXkgaXRlbS4iIGNvbW1lbnQ9IldoZW4gdXNpbmcgdGhpcyBlbGVtZW50IHRvIHJlcHJlc2VudCB0aGUgbmFtZSBvZiBhIHNlY3Rpb24sIHVzZSBncm91cCB0eXBlIGl0ZW0gYW5kIGFsc28gbWFrZSBzdXJlIHRvIGxpbWl0IHRoZSB0ZXh0IGVsZW1lbnQgdG8gYSBzaG9ydCBzdHJpbmcgc3VpdGFibGUgZm9yIGRpc3BsYXkgYXMgYSBzZWN0aW9uIGhlYWRpbmcuICBHcm91cCBpdGVtIGluc3RydWN0aW9ucyBzaG91bGQgYmUgaW5jbHVkZWQgYXMgYSBkaXNwbGF5IHR5cGUgaXRlbSB3aXRoaW4gdGhlIGdyb3VwLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlF1ZXN0aW9ubmFpcmVJdGVtVHlwZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJncm91cCB8IGRpc3BsYXkgfCBib29sZWFuIHwgZGVjaW1hbCB8IGludGVnZXIgfCBkYXRlIHwgZGF0ZVRpbWUgKyIgZGVmaW5pdGlvbj0iVGhlIHR5cGUgb2YgcXVlc3Rpb25uYWlyZSBpdGVtIHRoaXMgaXMgLSB3aGV0aGVyIHRleHQgZm9yIGRpc3BsYXksIGEgZ3JvdXBpbmcgb2Ygb3RoZXIgaXRlbXMgb3IgYSBwYXJ0aWN1bGFyIHR5cGUgb2YgZGF0YSB0byBiZSBjYXB0dXJlZCAoc3RyaW5nLCBpbnRlZ2VyLCBjb2RlZCBjaG9pY2UsIGV0Yy4pLiIgY29tbWVudD0iQWRkaXRpb25hbCBjb25zdHJhaW50cyBvbiB0aGUgdHlwZSBvZiBhbnN3ZXIgY2FuIGJlIGNvbnZleWVkIGJ5IGV4dGVuc2lvbnMuIFRoZSB2YWx1ZSBtYXkgY29tZSBmcm9tIHRoZSBFbGVtZW50RGVmaW5pdGlvbiByZWZlcnJlZCB0byBieSAuZGVmaW5pdGlvbi4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJRdWVzdGlvbm5haXJlSXRlbVR5cGUiIGRlc2NyaXB0aW9uPSJEaXN0aW5ndWlzaGVzIGdyb3VwcyBmcm9tIHF1ZXN0aW9ucyBhbmQgZGlzcGxheSB0ZXh0IGFuZCBpbmRpY2F0ZXMgZGF0YSB0eXBlIGZvciBxdWVzdGlvbnMuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmFibGVXaGVuIiBkZXNjcmlwdGlvbj0iT25seSBhbGxvdyBkYXRhIHdoZW4iIGRlZmluaXRpb249IkEgY29uc3RyYWludCBpbmRpY2F0aW5nIHRoYXQgdGhpcyBpdGVtIHNob3VsZCBvbmx5IGJlIGVuYWJsZWQgKGRpc3BsYXllZC9hbGxvdyBhbnN3ZXJzIHRvIGJlIGNhcHR1cmVkKSB3aGVuIHRoZSBzcGVjaWZpZWQgY29uZGl0aW9uIGlzIHRydWUuIiBjb21tZW50PSJJZiBtdWx0aXBsZSByZXBldGl0aW9ucyBvZiB0aGlzIGV4dGVuc2lvbiBhcmUgcHJlc2VudCwgdGhlIGl0ZW0gc2hvdWxkIGJlIGVuYWJsZWQgd2hlbiB0aGUgY29uZGl0aW9uIGZvciAqYW55KiBvZiB0aGUgcmVwZXRpdGlvbnMgaXMgdHJ1ZS4gIEkuZS4gdHJlYXQgJnF1b3Q7ZW5hYmxlV2hlbiZxdW90O3MgYXMgYmVpbmcgam9pbmVkIGJ5IGFuICZxdW90O29yJnF1b3Q7IGNsYXVzZS4gIFRoaXMgZWxlbWVudCBpcyBhIG1vZGlmaWVyIGJlY2F1c2UgaWYgZW5hYmxlV2hlbiBpcyBwcmVzZW50IGZvciBhbiBpdGVtLCAmcXVvdDtyZXF1aXJlZCZxdW90OyBpcyBpZ25vcmVkIHVubGVzcyBvbmUgb2YgdGhlIGVuYWJsZVdoZW4gY29uZGl0aW9ucyBpcyBtZXQuIFdoZW4gYW4gaXRlbSBpcyBkaXNhYmxlZCwgYWxsIG9mIGl0cyBkZXNjZW5kYW50cyBhcmUgZGlzYWJsZWQsIHJlZ2FyZGxlc3Mgb2Ygd2hhdCB0aGVpciBvd24gZW5hYmxlV2hlbiBsb2dpYyBtaWdodCBldmFsdWF0ZSB0by4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5RdWVzdGlvbm5haXJlLkl0ZW0uRW5hYmxlV2hlbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InF1ZS03IiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IklmIHRoZSBvcGVyYXRvciBpcyAnZXhpc3RzJywgdGhlIHZhbHVlIG11c3QgYmUgYSBib29sZWFuIj4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Im9wZXJhdG9yID0gJ2V4aXN0cycgaW1wbGllcyAoYW5zd2VyIGlzIEJvb2xlYW4pIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmFibGVCZWhhdmlvciIgZWxlbWVudFR5cGU9IlFJQ29yZS5FbmFibGVXaGVuQmVoYXZpb3IiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iYWxsIHwgYW55IiBkZWZpbml0aW9uPSJDb250cm9scyBob3cgbXVsdGlwbGUgZW5hYmxlV2hlbiB2YWx1ZXMgYXJlIGludGVycHJldGVkIC0gIHdoZXRoZXIgYWxsIG9yIGFueSBtdXN0IGJlIHRydWUuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgbXVzdCBiZSBzcGVjaWZpZWQgaWYgbW9yZSB0aGFuIG9uZSBlbmFibGVXaGVuIHZhbHVlIGlzIHByb3ZpZGVkLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkVuYWJsZVdoZW5CZWhhdmlvciIgZGVzY3JpcHRpb249IkNvbnRyb2xzIGhvdyBtdWx0aXBsZSBlbmFibGVXaGVuIHZhbHVlcyBhcmUgaW50ZXJwcmV0ZWQgLSAgd2hldGhlciBhbGwgb3IgYW55IG11c3QgYmUgdHJ1ZS4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlcXVpcmVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hldGhlciB0aGUgaXRlbSBtdXN0IGJlIGluY2x1ZGVkIGluIGRhdGEgcmVzdWx0cyIgZGVmaW5pdGlvbj0iQW4gaW5kaWNhdGlvbiwgaWYgdHJ1ZSwgdGhhdCB0aGUgaXRlbSBtdXN0IGJlIHByZXNlbnQgaW4gYSAmcXVvdDtjb21wbGV0ZWQmcXVvdDsgUXVlc3Rpb25uYWlyZVJlc3BvbnNlLiAgSWYgZmFsc2UsIHRoZSBpdGVtIG1heSBiZSBza2lwcGVkIHdoZW4gYW5zd2VyaW5nIHRoZSBxdWVzdGlvbm5haXJlLiIgY29tbWVudD0iUXVlc3Rpb25uYWlyZS5pdGVtLnJlcXVpcmVkIG9ubHkgaGFzIG1lYW5pbmcgZm9yIGVsZW1lbnRzIHRoYXQgYXJlIGNvbmRpdGlvbmFsbHkgZW5hYmxlZCB3aXRoIGVuYWJsZVdoZW4gaWYgdGhlIGNvbmRpdGlvbiBldmFsdWF0ZXMgdG8gdHJ1ZS4gIElmIGFuIGl0ZW0gdGhhdCBjb250YWlucyBvdGhlciBpdGVtcyBpcyBtYXJrZWQgYXMgcmVxdWlyZWQsIHRoYXQgZG9lcyBub3QgYXV0b21hdGljYWxseSBtYWtlIHRoZSBjb250YWluZWQgZWxlbWVudHMgcmVxdWlyZWQgKHRob3VnaCByZXF1aXJlZCBncm91cHMgbXVzdCBjb250YWluIGF0IGxlYXN0IG9uZSBjaGlsZCBlbGVtZW50KS4gVGhlIHZhbHVlIG1heSBjb21lIGZyb20gdGhlIEVsZW1lbnREZWZpbml0aW9uIHJlZmVycmVkIHRvIGJ5IC5kZWZpbml0aW9uLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZXBlYXRzIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hldGhlciB0aGUgaXRlbSBtYXkgcmVwZWF0IiBkZWZpbml0aW9uPSJBbiBpbmRpY2F0aW9uLCBpZiB0cnVlLCB0aGF0IHRoZSBpdGVtIG1heSBvY2N1ciBtdWx0aXBsZSB0aW1lcyBpbiB0aGUgcmVzcG9uc2UsIGNvbGxlY3RpbmcgbXVsdGlwbGUgYW5zd2VycyBmb3IgcXVlc3Rpb25zIG9yIG11bHRpcGxlIHNldHMgb2YgYW5zd2VycyBmb3IgZ3JvdXBzLiIgY29tbWVudD0iSWYgYSBxdWVzdGlvbiBpcyBtYXJrZWQgYXMgcmVwZWF0cz10cnVlLCB0aGVuIG11bHRpcGxlIGFuc3dlcnMgY2FuIGJlIHByb3ZpZGVkIGZvciB0aGUgcXVlc3Rpb24gaW4gdGhlIGNvcnJlc3BvbmRpbmcgUXVlc3Rpb25uYWlyZVJlc3BvbnNlLiAgV2hlbiByZW5kZXJpbmcgdGhlIHF1ZXN0aW9ubmFpcmUsIGl0IGlzIHVwIHRvIHRoZSByZW5kZXJpbmcgc29mdHdhcmUgd2hldGhlciB0byByZW5kZXIgdGhlIHF1ZXN0aW9uIHRleHQgZm9yIGVhY2ggYW5zd2VyIHJlcGV0aXRpb24gKGkuZS4gJnF1b3Q7cmVwZWF0IHRoZSBxdWVzdGlvbiZxdW90Oykgb3IgdG8gc2ltcGx5IGFsbG93IGVudHJ5L3NlbGVjdGlvbiBvZiBtdWx0aXBsZSBhbnN3ZXJzIGZvciB0aGUgcXVlc3Rpb24gKHJlcGVhdCB0aGUgYW5zd2VycykuICBXaGljaCBpcyBtb3N0IGFwcHJvcHJpYXRlIHZpc3VhbGx5IG1heSBkZXBlbmQgb24gdGhlIHR5cGUgb2YgYW5zd2VyIGFzIHdlbGwgYXMgd2hldGhlciB0aGVyZSBhcmUgbmVzdGVkIGl0ZW1zLiYjeGE7JiN4YTtUaGUgcmVzdWx0aW5nIFF1ZXN0aW9ubmFpcmVSZXNwb25zZSB3aWxsIGJlIHBvcHVsYXRlZCB0aGUgc2FtZSB3YXkgcmVnYXJkbGVzcyBvZiByZW5kZXJpbmcgLSBvbmUgJ3F1ZXN0aW9uJyBpdGVtIHdpdGggbXVsdGlwbGUgYW5zd2VyIHZhbHVlcy4mI3hhOyYjeGE7IFRoZSB2YWx1ZSBtYXkgY29tZSBmcm9tIHRoZSBFbGVtZW50RGVmaW5pdGlvbiByZWZlcnJlZCB0byBieSAuZGVmaW5pdGlvbi4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVhZE9ubHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEb24ndCBhbGxvdyBodW1hbiBlZGl0aW5nIiBkZWZpbml0aW9uPSJBbiBpbmRpY2F0aW9uLCB3aGVuIHRydWUsIHRoYXQgdGhlIHZhbHVlIGNhbm5vdCBiZSBjaGFuZ2VkIGJ5IGEgaHVtYW4gcmVzcG9uZGVudCB0byB0aGUgUXVlc3Rpb25uYWlyZS4iIGNvbW1lbnQ9IlRoZSB2YWx1ZSBvZiByZWFkT25seSBlbGVtZW50cyBjYW4gYmUgZXN0YWJsaXNoZWQgYnkgYXNzZXJ0aW5nICBleHRlbnNpb25zIGZvciBkZWZhdWx0VmFsdWVzLCBsaW5rYWdlcyB0aGF0IHN1cHBvcnQgcHJlLXBvcHVsYXRpb24gYW5kL29yIGV4dGVuc2lvbnMgdGhhdCBzdXBwb3J0IGNhbGN1bGF0aW9uIGJhc2VkIG9uIG90aGVyIGFuc3dlcnMuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1heExlbmd0aCIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik5vIG1vcmUgdGhhbiB0aGlzIG1hbnkgY2hhcmFjdGVycyIgZGVmaW5pdGlvbj0iVGhlIG1heGltdW0gbnVtYmVyIG9mIGNoYXJhY3RlcnMgdGhhdCBhcmUgcGVybWl0dGVkIGluIHRoZSBhbnN3ZXIgdG8gYmUgY29uc2lkZXJlZCBhICZxdW90O3ZhbGlkJnF1b3Q7IFF1ZXN0aW9ubmFpcmVSZXNwb25zZS4iIGNvbW1lbnQ9IkZvciBiYXNlNjRiaW5hcnksIHJlZmxlY3RzIHRoZSBudW1iZXIgb2YgY2hhcmFjdGVycyByZXByZXNlbnRpbmcgdGhlIGVuY29kZWQgZGF0YSwgbm90IHRoZSBudW1iZXIgb2YgYnl0ZXMgb2YgdGhlIGJpbmFyeSBkYXRhLiBUaGUgdmFsdWUgbWF5IGNvbWUgZnJvbSB0aGUgRWxlbWVudERlZmluaXRpb24gcmVmZXJyZWQgdG8gYnkgLmRlZmluaXRpb24uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFuc3dlclZhbHVlU2V0IiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJWYWx1ZXNldCBjb250YWluaW5nIHBlcm1pdHRlZCBhbnN3ZXJzIiBkZWZpbml0aW9uPSJBIHJlZmVyZW5jZSB0byBhIHZhbHVlIHNldCBjb250YWluaW5nIGEgbGlzdCBvZiBjb2RlcyByZXByZXNlbnRpbmcgcGVybWl0dGVkIGFuc3dlcnMgZm9yIGEgJnF1b3Q7Y2hvaWNlJnF1b3Q7IG9yICZxdW90O29wZW4tY2hvaWNlJnF1b3Q7IHF1ZXN0aW9uLiIgY29tbWVudD0iTE9JTkMgZGVmaW5lcyBtYW55IHVzZWZ1bCB2YWx1ZSBzZXRzIGZvciBxdWVzdGlvbm5haXJlIHJlc3BvbnNlcy4gU2VlIFtMT0lOQyBBbnN3ZXIgTGlzdHNdKGxvaW5jLmh0bWwjYWxpc3QpLiBUaGUgdmFsdWUgbWF5IGNvbWUgZnJvbSB0aGUgRWxlbWVudERlZmluaXRpb24gcmVmZXJyZWQgdG8gYnkgLmRlZmluaXRpb24uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFuc3dlck9wdGlvbiIgZGVzY3JpcHRpb249IlBlcm1pdHRlZCBhbnN3ZXIiIGRlZmluaXRpb249Ik9uZSBvZiB0aGUgcGVybWl0dGVkIGFuc3dlcnMgZm9yIGEgJnF1b3Q7Y2hvaWNlJnF1b3Q7IG9yICZxdW90O29wZW4tY2hvaWNlJnF1b3Q7IHF1ZXN0aW9uLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGNhbiBiZSB1c2VkIHdoZW4gdGhlIHZhbHVlIHNldCBtYWNoaW5lcnkgb2YgYW5zd2VyVmFsdWVTZXQgaXMgZGVlbWVkIHRvbyBjdW1iZXJzb21lIG9yIHdoZW4gdGhlcmUncyBhIG5lZWQgdG8gY2FwdHVyZSBwb3NzaWJsZSBhbnN3ZXJzIHRoYXQgYXJlIG5vdCBjb2Rlcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5RdWVzdGlvbm5haXJlLkl0ZW0uQW5zd2VyT3B0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbml0aWFsIiBkZXNjcmlwdGlvbj0iSW5pdGlhbCB2YWx1ZShzKSB3aGVuIGl0ZW0gaXMgZmlyc3QgcmVuZGVyZWQiIGRlZmluaXRpb249Ik9uZSBvciBtb3JlIHZhbHVlcyB0aGF0IHNob3VsZCBiZSBwcmUtcG9wdWxhdGVkIGluIHRoZSBhbnN3ZXIgd2hlbiBpbml0aWFsbHkgcmVuZGVyaW5nIHRoZSBxdWVzdGlvbm5haXJlIGZvciB1c2VyIGlucHV0LiIgY29tbWVudD0iVGhlIHVzZXIgaXMgYWxsb3dlZCB0byBjaGFuZ2UgdGhlIHZhbHVlIGFuZCBvdmVycmlkZSB0aGUgZGVmYXVsdCAodW5sZXNzIG1hcmtlZCBhcyByZWFkLW9ubHkpLiBJZiB0aGUgdXNlciBkb2Vzbid0IGNoYW5nZSB0aGUgdmFsdWUsIHRoZW4gdGhpcyBpbml0aWFsIHZhbHVlIHdpbGwgYmUgcGVyc2lzdGVkIHdoZW4gdGhlIFF1ZXN0aW9ubmFpcmVSZXNwb25zZSBpcyBpbml0aWFsbHkgY3JlYXRlZC4gIE5vdGUgdGhhdCBpbml0aWFsIHZhbHVlcyBjYW4gaW5mbHVlbmNlIHJlc3VsdHMuICBUaGUgZGF0YSB0eXBlIG9mIGluaXRpYWxbeF0gbXVzdCBhZ3JlZSB3aXRoIHRoZSBpdGVtLnR5cGUsIGFuZCBvbmx5IHJlcGVhdGluZyBpdGVtcyBjYW4gaGF2ZSBtb3JlIHRoZW4gb25lIGluaXRpYWwgdmFsdWUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUXVlc3Rpb25uYWlyZS5JdGVtLkluaXRpYWwiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Iml0ZW0iIGRlc2NyaXB0aW9uPSJOZXN0ZWQgcXVlc3Rpb25uYWlyZSBpdGVtcyIgZGVmaW5pdGlvbj0iVGV4dCwgcXVlc3Rpb25zIGFuZCBvdGhlciBncm91cHMgdG8gYmUgbmVzdGVkIGJlbmVhdGggYSBxdWVzdGlvbiBvciBncm91cC4iIGNvbW1lbnQ9IlRoZXJlIGlzIG5vIHNwZWNpZmllZCBsaW1pdCB0byB0aGUgZGVwdGggb2YgbmVzdGluZy4gIEhvd2V2ZXIsIFF1ZXN0aW9ubmFpcmUgYXV0aG9ycyBhcmUgZW5jb3VyYWdlZCB0byBjb25zaWRlciB0aGUgaW1wYWN0IG9uIHRoZSB1c2VyIGFuZCB1c2VyIGludGVyZmFjZSBvZiBvdmVybHkgZGVlcCBuZXN0aW5nLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlF1ZXN0aW9ubmFpcmUuSXRlbSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlF1ZXN0aW9ubmFpcmUuSXRlbS5BbnN3ZXJPcHRpb24iIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFuc3dlciB2YWx1ZSIgZGVmaW5pdGlvbj0iQSBwb3RlbnRpYWwgYW5zd2VyIHRoYXQncyBhbGxvd2VkIGFzIHRoZSBhbnN3ZXIgdG8gdGhpcyBxdWVzdGlvbi4iIGNvbW1lbnQ9IlRoZSBkYXRhIHR5cGUgb2YgdGhlIHZhbHVlIG11c3QgYWdyZWUgd2l0aCB0aGUgaXRlbS50eXBlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8YmluZGluZyBuYW1lPSJRdWVzdGlvbm5haXJlUXVlc3Rpb25PcHRpb24iIGRlc2NyaXB0aW9uPSJBbGxvd2VkIHZhbHVlcyB0byBhbnN3ZXIgcXVlc3Rpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbml0aWFsU2VsZWN0ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGV0aGVyIG9wdGlvbiBpcyBzZWxlY3RlZCBieSBkZWZhdWx0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgd2hldGhlciB0aGUgYW5zd2VyIHZhbHVlIGlzIHNlbGVjdGVkIHdoZW4gdGhlIGxpc3Qgb2YgcG9zc2libGUgYW5zd2VycyBpcyBpbml0aWFsbHkgc2hvd24uIiBjb21tZW50PSJVc2UgdGhpcyBpbnN0ZWFkIG9mIGluaXRpYWxbdl0gaWYgYW5zd2VyVmFsdWVTZXQgaXMgcHJlc2VudC4iLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUXVlc3Rpb25uYWlyZS5JdGVtLkVuYWJsZVdoZW4iIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InF1ZXN0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJRdWVzdGlvbiB0aGF0IGRldGVybWluZXMgd2hldGhlciBpdGVtIGlzIGVuYWJsZWQiIGRlZmluaXRpb249IlRoZSBsaW5rSWQgZm9yIHRoZSBxdWVzdGlvbiB3aG9zZSBhbnN3ZXIgKG9yIGxhY2sgb2YgYW5zd2VyKSBnb3Zlcm5zIHdoZXRoZXIgdGhpcyBpdGVtIGlzIGVuYWJsZWQuIiBjb21tZW50PSJJZiBtdWx0aXBsZSBxdWVzdGlvbiBvY2N1cnJlbmNlcyBhcmUgcHJlc2VudCBmb3IgdGhlIHNhbWUgcXVlc3Rpb24gKHNhbWUgbGlua0lkKSwgdGhlbiB0aGlzIHJlZmVycyB0byB0aGUgbmVhcmVzdCBxdWVzdGlvbiBvY2N1cnJlbmNlIHJlYWNoYWJsZSBieSB0cmFjaW5nIGZpcnN0IHRoZSAmcXVvdDthbmNlc3RvciZxdW90OyBheGlzIGFuZCB0aGVuIHRoZSAmcXVvdDtwcmVjZWRpbmcmcXVvdDsgYXhpcyBhbmQgdGhlbiB0aGUgJnF1b3Q7Zm9sbG93aW5nJnF1b3Q7IGF4aXMuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im9wZXJhdG9yIiBlbGVtZW50VHlwZT0iUUlDb3JlLlF1ZXN0aW9ubmFpcmVJdGVtT3BlcmF0b3IiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iZXhpc3RzIHwgPSB8ICE9IHwgPiB8ICZsdDsgfCA+PSB8ICZsdDs9IiBkZWZpbml0aW9uPSJTcGVjaWZpZXMgdGhlIGNyaXRlcmlhIGJ5IHdoaWNoIHRoZSBxdWVzdGlvbiBpcyBlbmFibGVkLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlF1ZXN0aW9ubmFpcmVJdGVtT3BlcmF0b3IiIGRlc2NyaXB0aW9uPSJUaGUgY3JpdGVyaWEgYnkgd2hpY2ggYSBxdWVzdGlvbiBpcyBlbmFibGVkLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYW5zd2VyIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlZhbHVlIGZvciBxdWVzdGlvbiBjb21wYXJpc29uIGJhc2VkIG9uIG9wZXJhdG9yIiBkZWZpbml0aW9uPSJBIHZhbHVlIHRoYXQgdGhlIHJlZmVyZW5jZWQgcXVlc3Rpb24gaXMgdGVzdGVkIHVzaW5nIHRoZSBzcGVjaWZpZWQgb3BlcmF0b3IgaW4gb3JkZXIgZm9yIHRoZSBpdGVtIHRvIGJlIGVuYWJsZWQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEZWNpbWFsIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8YmluZGluZyBuYW1lPSJRdWVzdGlvbm5haXJlUXVlc3Rpb25PcHRpb24zIiBkZXNjcmlwdGlvbj0iQWxsb3dlZCB2YWx1ZXMgdG8gYW5zd2VyIHF1ZXN0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUXVlc3Rpb25uYWlyZS5JdGVtLkluaXRpYWwiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFjdHVhbCB2YWx1ZSBmb3IgaW5pdGlhbGl6aW5nIHRoZSBxdWVzdGlvbiIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCB2YWx1ZSB0byBmb3IgYW4gaW5pdGlhbCBhbnN3ZXIuIiBjb21tZW50PSJUaGUgdHlwZSBvZiB0aGUgaW5pdGlhbCB2YWx1ZSBtdXN0IGJlIGNvbnNpc3RlbnQgd2l0aCB0aGUgdHlwZSBvZiB0aGUgaXRlbS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJCb29sZWFuIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRlY2ltYWwiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBdHRhY2htZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvZGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlF1ZXN0aW9ubmFpcmVRdWVzdGlvbk9wdGlvbjIiIGRlc2NyaXB0aW9uPSJBbGxvd2VkIHZhbHVlcyB0byBhbnN3ZXIgcXVlc3Rpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJRdWVzdGlvbm5haXJlSXRlbU9wZXJhdG9yIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUXVlc3Rpb25uYWlyZUl0ZW1UeXBlIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJRdWVzdGlvbm5haXJlUmVzcG9uc2UiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLXF1ZXN0aW9ubmFpcmVyZXNwb25zZSIgbGFiZWw9IlFJQ29yZSBRdWVzdGlvbm5haXJlUmVzcG9uc2UiIHJldHJpZXZhYmxlPSJ0cnVlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0ibWV0YSIgZWxlbWVudFR5cGU9IlFJQ29yZS5RdWVzdGlvbm5haXJlUmVzcG9uc2UuTWV0YSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJzaWduYXR1cmUiIHRhcmdldD0iJXBhcmVudC5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vcXVlc3Rpb25uYWlyZXJlc3BvbnNlLXNpZ25hdHVyZSddIiBkZXNjcmlwdGlvbj0iQSBzaWduYXR1cmUgYXR0ZXN0aW5nIHRvIHRoZSBjb250ZW50IiBkZWZpbml0aW9uPSJSZXByZXNlbnRzIGEgd2V0IG9yIGVsZWN0cm9uaWMgc2lnbmF0dXJlIGZvciBlaXRoZXIgdGhlIGZvcm0gb3ZlcmFsbCBvciBmb3IgdGhlIHF1ZXN0aW9uIG9yIGl0ZW0gaXQncyBhc3NvY2lhdGVkIHdpdGguIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5zaWduYXR1cmUiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbXBsZXRpb25Nb2RlIiBlbGVtZW50VHlwZT0iUUlDb3JlLmNvbXBsZXRpb25Nb2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCglcGFyZW50LmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9xdWVzdGlvbm5haXJlcmVzcG9uc2UtY29tcGxldGlvbk1vZGUnXS52YWx1ZSkiIGRlc2NyaXB0aW9uPSJFLmcuIFZlcmJhbCwgd3JpdHRlbiwgZWxlY3Ryb25pYyIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGhvdyB0aGUgaW5kaXZpZHVhbCBjb21wbGV0aW5nIHRoZSBRdWVzdGlvbm5haXJlUmVzcG9uc2UgcHJvdmlkZWQgdGhlaXIgcmVzcG9uc2VzLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgZGVzY3JpcHRpb249IlVuaXF1ZSBpZCBmb3IgdGhpcyBzZXQgb2YgYW5zd2VycyIgZGVmaW5pdGlvbj0iQSBidXNpbmVzcyBpZGVudGlmaWVyIGFzc2lnbmVkIHRvIGEgcGFydGljdWxhciBjb21wbGV0ZWQgKG9yIHBhcnRpYWxseSBjb21wbGV0ZWQpIHF1ZXN0aW9ubmFpcmUuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iUmVxdWVzdCBmdWxmaWxsZWQgYnkgdGhpcyBRdWVzdGlvbm5haXJlUmVzcG9uc2UiIGRlZmluaXRpb249IlRoZSBvcmRlciwgcHJvcG9zYWwgb3IgcGxhbiB0aGF0IGlzIGZ1bGZpbGxlZCBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgUXVlc3Rpb25uYWlyZVJlc3BvbnNlLiAgRm9yIGV4YW1wbGUsIGEgU2VydmljZVJlcXVlc3Qgc2Vla2luZyBhbiBpbnRha2UgYXNzZXNzbWVudCBvciBhIGRlY2lzaW9uIHN1cHBvcnQgcmVjb21tZW5kYXRpb24gdG8gYXNzZXNzIGZvciBwb3N0LXBhcnR1bSBkZXByZXNzaW9uLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHRoaXMgYWN0aW9uIiBkZWZpbml0aW9uPSJBIHByb2NlZHVyZSBvciBvYnNlcnZhdGlvbiB0aGF0IHRoaXMgcXVlc3Rpb25uYWlyZSB3YXMgcGVyZm9ybWVkIGFzIHBhcnQgb2YgdGhlIGV4ZWN1dGlvbiBvZi4gIEZvciBleGFtcGxlLCB0aGUgc3VyZ2VyeSBhIGNoZWNrbGlzdCB3YXMgZXhlY3V0ZWQgYXMgcGFydCBvZi4iIGNvbW1lbnQ9IkNvbXBvc2l0aW9uIG9mIHF1ZXN0aW9ubmFpcmUgcmVzcG9uc2VzIHdpbGwgYmUgaGFuZGxlZCBieSB0aGUgcGFyZW50IHF1ZXN0aW9ubmFpcmUgaGF2aW5nIGFuc3dlcnMgdGhhdCByZWZlcmVuY2UgdGhlIGNoaWxkIHF1ZXN0aW9ubmFpcmUuICBGb3IgcmVsYXRpb25zaGlwcyB0byByZWZlcnJhbHMsIGFuZCBvdGhlciB0eXBlcyBvZiByZXF1ZXN0cywgdXNlIGJhc2VkT24uIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InF1ZXN0aW9ubmFpcmUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkZvcm0gYmVpbmcgYW5zd2VyZWQiIGRlZmluaXRpb249IlRoZSBRdWVzdGlvbm5haXJlIHRoYXQgZGVmaW5lcyBhbmQgb3JnYW5pemVzIHRoZSBxdWVzdGlvbnMgZm9yIHdoaWNoIGFuc3dlcnMgYXJlIGJlaW5nIHByb3ZpZGVkLiIgY29tbWVudD0iRm9yIFNEQywgdGhpcyBTSEFMTCBiZSB0aGUgdmVyc2lvbi1zcGVjaWZpYyBVUkwgb2YgdGhlIGZvcm0gYXMgaG9zdGVkIG9uIHRoZSBGb3JtIE1hbmFnZXIuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUXVlc3Rpb25uYWlyZVJlc3BvbnNlU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImluLXByb2dyZXNzIHwgY29tcGxldGVkIHwgYW1lbmRlZCB8IGVudGVyZWQtaW4tZXJyb3IgfCBzdG9wcGVkIiBkZWZpbml0aW9uPSJUaGUgcG9zaXRpb24gb2YgdGhlIHF1ZXN0aW9ubmFpcmUgcmVzcG9uc2Ugd2l0aGluIGl0cyBvdmVyYWxsIGxpZmVjeWNsZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUXVlc3Rpb25uYWlyZVJlc3BvbnNlU3RhdHVzIiBkZXNjcmlwdGlvbj0iTGlmZWN5Y2xlIHN0YXR1cyBvZiB0aGUgcXVlc3Rpb25uYWlyZSByZXNwb25zZS4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iVGhlIHN1YmplY3Qgb2YgdGhlIHF1ZXN0aW9ucyIgZGVmaW5pdGlvbj0iVGhlIHN1YmplY3Qgb2YgdGhlIHF1ZXN0aW9ubmFpcmUgcmVzcG9uc2UuICBUaGlzIGNvdWxkIGJlIGEgcGF0aWVudCwgb3JnYW5pemF0aW9uLCBwcmFjdGl0aW9uZXIsIGRldmljZSwgZXRjLiAgVGhpcyBpcyB3aG8vd2hhdCB0aGUgYW5zd2VycyBhcHBseSB0bywgYnV0IGlzIG5vdCBuZWNlc3NhcmlseSB0aGUgc291cmNlIG9mIGluZm9ybWF0aW9uLiIgY29tbWVudD0iLSIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkVuY291bnRlciBjcmVhdGVkIGFzIHBhcnQgb2YiIGRlZmluaXRpb249IlRoZSBFbmNvdW50ZXIgZHVyaW5nIHdoaWNoIHRoaXMgcXVlc3Rpb25uYWlyZSByZXNwb25zZSB3YXMgY3JlYXRlZCBvciB0byB3aGljaCB0aGUgY3JlYXRpb24gb2YgdGhpcyByZWNvcmQgaXMgdGlnaHRseSBhc3NvY2lhdGVkLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGFjdGl2aXRpZXMgbWF5IGJlIGluaXRpYXRlZCBwcmlvciB0byBvciBhZnRlciB0aGUgb2ZmaWNpYWwgY29tcGxldGlvbiBvZiBhbiBlbmNvdW50ZXIgYnV0IHN0aWxsIGJlIHRpZWQgdG8gdGhlIGNvbnRleHQgb2YgdGhlIGVuY291bnRlci4gQSBxdWVzdGlvbm5haXJlIHRoYXQgd2FzIGluaXRpYXRlZCBkdXJpbmcgYW4gZW5jb3VudGVyIGJ1dCBub3QgZnVsbHkgY29tcGxldGVkIGR1cmluZyB0aGUgZW5jb3VudGVyIHdvdWxkIHN0aWxsIGdlbmVyYWxseSBiZSBhc3NvY2lhdGVkIHdpdGggdGhlIGVuY291bnRlci4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImF1dGhvcmVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUgdGhlIGFuc3dlcnMgd2VyZSBnYXRoZXJlZCIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB3aGVuIHRoaXMgdmVyc2lvbiBvZiB0aGUgYW5zd2VyIHNldCB3YXMgY3JlYXRlZC4gIENoYW5nZXMgd2hlbmV2ZXIgdGhlIGFuc3dlcnMgYXJlIHVwZGF0ZWQuIiBjb21tZW50PSJNYXkgYmUgZGlmZmVyZW50IGZyb20gdGhlIGxhc3RVcGRhdGVUaW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYsIGJlY2F1c2UgdGhhdCByZWZsZWN0cyB3aGVuIHRoZSBkYXRhIHdhcyBrbm93biB0byB0aGUgc2VydmVyLCBub3Qgd2hlbiB0aGUgZGF0YSB3YXMgY2FwdHVyZWQuJiN4YTsmI3hhO1RoaXMgZWxlbWVudCBpcyBvcHRpb25hbCB0byBhbGxvdyBmb3Igc3lzdGVtcyB0aGF0IG1pZ2h0IG5vdCBrbm93IHRoZSB2YWx1ZSwgaG93ZXZlciBpdCBTSE9VTEQgYmUgcG9wdWxhdGVkIGlmIHBvc3NpYmxlLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlBlcnNvbiB3aG8gcmVjZWl2ZWQgYW5kIHJlY29yZGVkIHRoZSBhbnN3ZXJzIiBkZWZpbml0aW9uPSJQZXJzb24gd2hvIHJlY2VpdmVkIHRoZSBhbnN3ZXJzIHRvIHRoZSBxdWVzdGlvbnMgaW4gdGhlIFF1ZXN0aW9ubmFpcmVSZXNwb25zZSBhbmQgcmVjb3JkZWQgdGhlbSBpbiB0aGUgc3lzdGVtLiIgY29tbWVudD0iTWFwcGluZyBhIHN1YmplY3QncyBhbnN3ZXJzIHRvIG11bHRpcGxlIGNob2ljZSBvcHRpb25zIGFuZCBkZXRlcm1pbmluZyB3aGF0IHRvIHB1dCBpbiB0aGUgdGV4dHVhbCBhbnN3ZXIgaXMgYSBtYXR0ZXIgb2YgaW50ZXJwcmV0YXRpb24uICBBdXRob3JpbmcgYnkgZGV2aWNlIHdvdWxkIGluZGljYXRlIHRoYXQgc29tZSBwb3J0aW9uIG9mIHRoZSBxdWVzdGlvbm5haXJlIGhhZCBiZWVuIGF1dG8tcG9wdWxhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic291cmNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlRoZSBwZXJzb24gd2hvIGFuc3dlcmVkIHRoZSBxdWVzdGlvbnMiIGRlZmluaXRpb249IlRoZSBwZXJzb24gd2hvIGFuc3dlcmVkIHRoZSBxdWVzdGlvbnMgYWJvdXQgdGhlIHN1YmplY3QuIiBjb21tZW50PSJJZiBub3Qgc3BlY2lmaWVkLCBubyBpbmZlcmVuY2UgY2FuIGJlIG1hZGUgYWJvdXQgd2hvIHByb3ZpZGVkIHRoZSBkYXRhLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iaXRlbSIgZGVzY3JpcHRpb249Ikdyb3VwcyBhbmQgcXVlc3Rpb25zIiBkZWZpbml0aW9uPSJBIGdyb3VwIG9yIHF1ZXN0aW9uIGl0ZW0gZnJvbSB0aGUgb3JpZ2luYWwgcXVlc3Rpb25uYWlyZSBmb3Igd2hpY2ggYW5zd2VycyBhcmUgcHJvdmlkZWQuIiBjb21tZW50PSJHcm91cHMgY2Fubm90IGhhdmUgYW5zd2VycyBhbmQgdGhlcmVmb3JlIG11c3QgbmVzdCBkaXJlY3RseSB3aXRoaW4gaXRlbS4gV2hlbiBkZWFsaW5nIHdpdGggcXVlc3Rpb25zLCBuZXN0aW5nIG11c3Qgb2NjdXIgd2l0aGluIGVhY2ggYW5zd2VyIGJlY2F1c2Ugc29tZSBxdWVzdGlvbnMgbWF5IGhhdmUgbXVsdGlwbGUgYW5zd2VycyAoYW5kIHRoZSBuZXN0aW5nIG9jY3VycyBmb3IgZWFjaCBhbnN3ZXIpLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5RdWVzdGlvbm5haXJlUmVzcG9uc2UuSXRlbSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InFycy0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik5lc3RlZCBpdGVtIGNhbid0IGJlIGJlbmVhdGggYm90aCBpdGVtIGFuZCBhbnN3ZXIiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iKGFuc3dlci5leGlzdHMoKSBhbmQgaXRlbS5leGlzdHMoKSkubm90KCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9ImF1dGhvciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJzb3VyY2UiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InN1YmplY3QiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9ImF1dGhvciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJFbmNvdW50ZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJlbmNvdW50ZXIiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iRGV2aWNlIiByZWxhdGVkS2V5RWxlbWVudD0iYXV0aG9yIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlJlbGF0ZWRQZXJzb24iIHJlbGF0ZWRLZXlFbGVtZW50PSJhdXRob3IiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUmVsYXRlZFBlcnNvbiIgcmVsYXRlZEtleUVsZW1lbnQ9InNvdXJjZSIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJRdWVzdGlvbm5haXJlUmVzcG9uc2UuSXRlbSIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0ibGlua0lkIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQb2ludGVyIHRvIHNwZWNpZmljIGl0ZW0gZnJvbSBRdWVzdGlvbm5haXJlIiBkZWZpbml0aW9uPSJUaGUgaXRlbSBmcm9tIHRoZSBRdWVzdGlvbm5haXJlIHRoYXQgY29ycmVzcG9uZHMgdG8gdGhpcyBpdGVtIGluIHRoZSBRdWVzdGlvbm5haXJlUmVzcG9uc2UgcmVzb3VyY2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkZWZpbml0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJFbGVtZW50RGVmaW5pdGlvbiAtIGRldGFpbHMgZm9yIHRoZSBpdGVtIiBkZWZpbml0aW9uPSJBIHJlZmVyZW5jZSB0byBhbiBbRWxlbWVudERlZmluaXRpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZWxlbWVudGRlZmluaXRpb24uaHRtbCkgdGhhdCBwcm92aWRlcyB0aGUgZGV0YWlscyBmb3IgdGhlIGl0ZW0uIiBjb21tZW50PSJUaGUgRWxlbWVudERlZmluaXRpb24gbXVzdCBiZSBpbiBhIFtTdHJ1Y3R1cmVEZWZpbml0aW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3N0cnVjdHVyZWRlZmluaXRpb24uaHRtbCMpLCBhbmQgbXVzdCBoYXZlIGEgZnJhZ21lbnQgaWRlbnRpZmllciB0aGF0IGlkZW50aWZpZXMgdGhlIHNwZWNpZmljIGRhdGEgZWxlbWVudCBieSBpdHMgaWQgKEVsZW1lbnQuaWQpLiBFLmcuIGh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9PYnNlcnZhdGlvbiNPYnNlcnZhdGlvbi52YWx1ZVt4XS4mI3hhOyYjeGE7VGhlcmUgaXMgbm8gbmVlZCBmb3IgdGhpcyBlbGVtZW50IGlmIHRoZSBpdGVtIHBvaW50ZWQgdG8gYnkgdGhlIGxpbmtJZCBoYXMgYSBkZWZpbml0aW9uIGxpc3RlZC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0idGV4dCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTmFtZSBmb3IgZ3JvdXAgb3IgcXVlc3Rpb24gdGV4dCIgZGVmaW5pdGlvbj0iVGV4dCB0aGF0IGlzIGRpc3BsYXllZCBhYm92ZSB0aGUgY29udGVudHMgb2YgdGhlIGdyb3VwIG9yIGFzIHRoZSB0ZXh0IG9mIHRoZSBxdWVzdGlvbiBiZWluZyBhbnN3ZXJlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFuc3dlciIgZGVzY3JpcHRpb249IlRoZSByZXNwb25zZShzKSB0byB0aGUgcXVlc3Rpb24iIGRlZmluaXRpb249IlRoZSByZXNwb25kZW50J3MgYW5zd2VyKHMpIHRvIHRoZSBxdWVzdGlvbi4iIGNvbW1lbnQ9IlRoZSB2YWx1ZSBpcyBuZXN0ZWQgYmVjYXVzZSB3ZSBjYW5ub3QgaGF2ZSBhIHJlcGVhdGluZyBzdHJ1Y3R1cmUgdGhhdCBoYXMgdmFyaWFibGUgdHlwZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUXVlc3Rpb25uYWlyZVJlc3BvbnNlLkl0ZW0uQW5zd2VyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpdGVtIiBkZXNjcmlwdGlvbj0iTmVzdGVkIHF1ZXN0aW9ubmFpcmUgcmVzcG9uc2UgaXRlbXMiIGRlZmluaXRpb249IlF1ZXN0aW9ucyBvciBzdWItZ3JvdXBzIG5lc3RlZCBiZW5lYXRoIGEgcXVlc3Rpb24gb3IgZ3JvdXAuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUXVlc3Rpb25uYWlyZVJlc3BvbnNlLkl0ZW0iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Iml0ZW1NZWRpYSIgdGFyZ2V0PSIlcGFyZW50Lml0ZW0uZXh0ZW5zaW9uW3VybD0nbnVsbCddIiBkZXNjcmlwdGlvbj0iTWVkaWEgdG8gZGlzcGxheSIgZGVmaW5pdGlvbj0iTWVkaWEgdG8gcmVuZGVyL21ha2UgYXZhaWxhYmxlIGFzIGFuIGFjY29tcGFuaW1lbnQgdG8gdGhlIHF1ZXN0aW9uIGJlaW5nIGFza2VkIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iSXRlbVNpZ25hdHVyZSIgdGFyZ2V0PSIlcGFyZW50Lml0ZW0uZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL3F1ZXN0aW9ubmFpcmVyZXNwb25zZS1zaWduYXR1cmUnXSIgZGVzY3JpcHRpb249IkEgc2lnbmF0dXJlIGF0dGVzdGluZyB0byB0aGUgY29udGVudCIgZGVmaW5pdGlvbj0iUmVwcmVzZW50cyBhIHdldCBvciBlbGVjdHJvbmljIHNpZ25hdHVyZSBmb3IgZWl0aGVyIHRoZSBmb3JtIG92ZXJhbGwgb3IgZm9yIHRoZSBxdWVzdGlvbiBvciBpdGVtIGl0J3MgYXNzb2NpYXRlZCB3aXRoLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuc2lnbmF0dXJlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJRdWVzdGlvbm5haXJlUmVzcG9uc2UuSXRlbS5BbnN3ZXIiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlNpbmdsZS12YWx1ZWQgYW5zd2VyIHRvIHRoZSBxdWVzdGlvbiIgZGVmaW5pdGlvbj0iVGhlIGFuc3dlciAob3Igb25lIG9mIHRoZSBhbnN3ZXJzKSBwcm92aWRlZCBieSB0aGUgcmVzcG9uZGVudCB0byB0aGUgcXVlc3Rpb24uIiBjb21tZW50PSJNb3JlIGNvbXBsZXggc3RydWN0dXJlcyAoQXR0YWNobWVudCwgUmVzb3VyY2UgYW5kIFF1YW50aXR5KSB3aWxsIHR5cGljYWxseSBiZSBsaW1pdGVkIHRvIGVsZWN0cm9uaWMgZm9ybXMgdGhhdCBjYW4gZXhwb3NlIGFuIGFwcHJvcHJpYXRlIHVzZXIgaW50ZXJmYWNlIHRvIGNhcHR1cmUgdGhlIGNvbXBvbmVudHMgYW5kIGVuZm9yY2UgdGhlIGNvbnN0cmFpbnRzIG9mIGEgY29tcGxleCBkYXRhIHR5cGUuICBBZGRpdGlvbmFsIGNvbXBsZXggdHlwZXMgY2FuIGJlIGludHJvZHVjZWQgdGhyb3VnaCBleHRlbnNpb25zLiBNdXN0IG1hdGNoIHRoZSBkYXRhdHlwZSBzcGVjaWZpZWQgYnkgUXVlc3Rpb25uYWlyZS5pdGVtLnR5cGUgaW4gdGhlIGNvcnJlc3BvbmRpbmcgUXVlc3Rpb25uYWlyZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGVjaW1hbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBdHRhY2htZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8YmluZGluZyBuYW1lPSJRdWVzdGlvbm5haXJlQW5zd2VyIiBkZXNjcmlwdGlvbj0iQ29kZSBpbmRpY2F0aW5nIHRoZSByZXNwb25zZSBwcm92aWRlZCBmb3IgYSBxdWVzdGlvbi4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaXRlbSIgZGVzY3JpcHRpb249Ik5lc3RlZCBncm91cHMgYW5kIHF1ZXN0aW9ucyIgZGVmaW5pdGlvbj0iTmVzdGVkIGdyb3VwcyBhbmQvb3IgcXVlc3Rpb25zIGZvdW5kIHdpdGhpbiB0aGlzIHBhcnRpY3VsYXIgYW5zd2VyLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlF1ZXN0aW9ubmFpcmVSZXNwb25zZS5JdGVtIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpdGVtQW5zd2VyTWVkaWEiIHRhcmdldD0iJXBhcmVudC5hbnN3ZXIuZXh0ZW5zaW9uW3VybD0nbnVsbCddIiBkZXNjcmlwdGlvbj0iQW5zd2VyIE1lZGlhIHRvIGRpc3BsYXkiIGRlZmluaXRpb249Ik1lZGlhIHRvIHJlbmRlci9tYWtlIGF2YWlsYWJsZSBhcyBhbiBhY2NvbXBhbmltZW50IHRvIGEgc3BlY2lmaWMgYW5zd2VyIG9wdGlvbiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im9yZGluYWxWYWx1ZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5PcmRpbmFsIFZhbHVlIiB0YXJnZXQ9IiVwYXJlbnQuYW5zd2VyLmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9vcmRpbmFsVmFsdWUnXS52YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkFzc2lnbmVkIE9yZGluYWwgVmFsdWUiIGRlZmluaXRpb249IkEgbnVtZXJpYyB2YWx1ZSB0aGF0IGFsbG93cyB0aGUgY29tcGFyaXNvbiAobGVzcyB0aGFuLCBncmVhdGVyIHRoYW4pIG9yIG90aGVyIG51bWVyaWNhbCAmI3hhO21hbmlwdWxhdGlvbiBvZiBhIGNvbmNlcHQgKGUuZy4gQWRkaW5nIHVwIGNvbXBvbmVudHMgb2YgYSBzY29yZSkuIFNjb3JlcyBhcmUgdXN1YWxseSBhIHdob2xlIG51bWJlciwgYnV0IG9jY2FzaW9uYWxseSBkZWNpbWFscyBhcmUgZW5jb3VudGVyZWQgaW4gc2NvcmVzLiIgY29tbWVudD0iU2NvcmVzIGFyZSBjb21tb25seSBlbmNvdW50ZXJlZCBpbiB2YXJpb3VzIGNsaW5pY2FsIGFzc2Vzc21lbnQgc2NhbGVzLiBBc3NpZ25pbmcgYSB2YWx1ZSB0byBhIGNvbmNlcHQgc2hvdWxkIGdlbmVyYWxseSBiZSBkb25lIGluIGEgZm9ybWFsIGNvZGUgc3lzdGVtIHRoYXQgZGVmaW5lcyB0aGUgdmFsdWUsIG9yIGluIGFuIGFwcGxpY2FibGUgdmFsdWUgc2V0IGZvciB0aGUgY29uY2VwdCwgYnV0IHNvbWUgY29uY2VwdHMgZG8gbm90IGhhdmUgYSBmb3JtYWwgZGVmaW5pdGlvbiAob3IgYXJlIG5vdCBldmVuIHJlcHJlc2VudGVkIGFzIGEgY29uY2VwdCBmb3JtYWxseSwgZXNwZWNpYWxseSBpbiBbUXVlc3Rpb25uYWlyZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcXVlc3Rpb25uYWlyZS5odG1sKSwgJiN4YTtzbyB0aGlzIGV4dGVuc2lvbiBpcyBhbGxvd2VkIHRvIGFwcGVhciBvdXNpZGUgdGhvc2UgcHJlZmVycmVkIGNvbnRleHRzLiAgU2NvcmVzIG1heSBldmVuIGJlIGFzc2lnbmVkIGFyYml0cmFyaWx5IGR1cmluZyB1c2UgKGhlbmNlLCBvbiBDb2RpbmcpLiBUaGUgdmFsdWUgbWF5IGJlIGNvbnN0cmFpbmVkIHRvIGFuIGludGVnZXIgaW4gc29tZSBjb250ZXh0cyBvZiB1c2UuIFRvZG86IFNjb3JpbmcgYWxnb3JpdGhtcyBtYXkgYWxzbyBiZSBkZWZpbmVkIGRpcmVjdGx5LCBidXQgaG93IHRoaXMgaXMgZG9uZSBpcyBub3QgeWV0IGRlZmluZWQuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJRdWVzdGlvbm5haXJlUmVzcG9uc2UuTWV0YSIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGJhc2VUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZXRhIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InNkb2giIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvZGUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlNET0ggVGFnIiBkZWZpbml0aW9uPSJUYWdzIHRoYXQgYSBwcm92aWRlciBtYXkgdXNlIGluIHRoZWlyIHdvcmtmbG93IHRvIGluZGljYXRlL2NhdGVnb3JpemUgdGhhdCB0aGUgY29udGV4dCBvZiB0aGlzIFF1ZXN0aW9ubmFpcmUgUmVzcG9uc2UgcmVsYXRlcyB0byBTb2NpYWwgRGV0ZXJtaW5hbnRzIG9mIEhlYWx0aC4iIGNvbW1lbnQ9IlRoZSB0YWdzIGNhbiBiZSB1cGRhdGVkIHdpdGhvdXQgY2hhbmdpbmcgdGhlIHN0YXRlZCB2ZXJzaW9uIG9mIHRoZSByZXNvdXJjZS4gVGhlIGxpc3Qgb2YgdGFncyBpcyBhIHNldC4gVW5pcXVlbmVzcyBpcyBiYXNlZCB0aGUgc3lzdGVtL2NvZGUsIGFuZCB2ZXJzaW9uIGFuZCBkaXNwbGF5IGFyZSBpZ25vcmVkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJRdWVzdGlvbm5haXJlUmVzcG9uc2VTdGF0dXMiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5FbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vUmVmZXJlbmNlIiBsYWJlbD0iUmVmZXJlbmNlIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkxpdGVyYWwgcmVmZXJlbmNlLCBSZWxhdGl2ZSwgaW50ZXJuYWwgb3IgYWJzb2x1dGUgVVJMIiBkZWZpbml0aW9uPSJBIHJlZmVyZW5jZSB0byBhIGxvY2F0aW9uIGF0IHdoaWNoIHRoZSBvdGhlciByZXNvdXJjZSBpcyBmb3VuZC4gVGhlIHJlZmVyZW5jZSBtYXkgYmUgYSByZWxhdGl2ZSByZWZlcmVuY2UsIGluIHdoaWNoIGNhc2UgaXQgaXMgcmVsYXRpdmUgdG8gdGhlIHNlcnZpY2UgYmFzZSBVUkwsIG9yIGFuIGFic29sdXRlIFVSTCB0aGF0IHJlc29sdmVzIHRvIHRoZSBsb2NhdGlvbiB3aGVyZSB0aGUgcmVzb3VyY2UgaXMgZm91bmQuIFRoZSByZWZlcmVuY2UgbWF5IGJlIHZlcnNpb24gc3BlY2lmaWMgb3Igbm90LiBJZiB0aGUgcmVmZXJlbmNlIGlzIG5vdCB0byBhIEZISVIgUkVTVGZ1bCBzZXJ2ZXIsIHRoZW4gaXQgc2hvdWxkIGJlIGFzc3VtZWQgdG8gYmUgdmVyc2lvbiBzcGVjaWZpYy4gSW50ZXJuYWwgZnJhZ21lbnQgcmVmZXJlbmNlcyAoc3RhcnQgd2l0aCAnIycpIHJlZmVyIHRvIGNvbnRhaW5lZCByZXNvdXJjZXMuIiBjb21tZW50PSJVc2luZyBhYnNvbHV0ZSBVUkxzIHByb3ZpZGVzIGEgc3RhYmxlIHNjYWxhYmxlIGFwcHJvYWNoIHN1aXRhYmxlIGZvciBhIGNsb3VkL3dlYiBjb250ZXh0LCB3aGlsZSB1c2luZyByZWxhdGl2ZS9sb2dpY2FsIHJlZmVyZW5jZXMgcHJvdmlkZXMgYSBmbGV4aWJsZSBhcHByb2FjaCBzdWl0YWJsZSBmb3IgdXNlIHdoZW4gdHJhZGluZyBhY3Jvc3MgY2xvc2VkIGVjby1zeXN0ZW0gYm91bmRhcmllcy4gICBBYnNvbHV0ZSBVUkxzIGRvIG5vdCBuZWVkIHRvIHBvaW50IHRvIGEgRkhJUiBSRVNUZnVsIHNlcnZlciwgdGhvdWdoIHRoaXMgaXMgdGhlIHByZWZlcnJlZCBhcHByb2FjaC4gSWYgdGhlIFVSTCBjb25mb3JtcyB0byB0aGUgc3RydWN0dXJlICZxdW90Oy9bdHlwZV0vW2lkXSZxdW90OyB0aGVuIGl0IHNob3VsZCBiZSBhc3N1bWVkIHRoYXQgdGhlIHJlZmVyZW5jZSBpcyB0byBhIEZISVIgUkVTVGZ1bCBzZXJ2ZXIuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlR5cGUgdGhlIHJlZmVyZW5jZSByZWZlcnMgdG8gKGUuZy4gJnF1b3Q7UGF0aWVudCZxdW90OykiIGRlZmluaXRpb249IlRoZSBleHBlY3RlZCB0eXBlIG9mIHRoZSB0YXJnZXQgb2YgdGhlIHJlZmVyZW5jZS4gSWYgYm90aCBSZWZlcmVuY2UudHlwZSBhbmQgUmVmZXJlbmNlLnJlZmVyZW5jZSBhcmUgcG9wdWxhdGVkIGFuZCBSZWZlcmVuY2UucmVmZXJlbmNlIGlzIGEgRkhJUiBVUkwsIGJvdGggU0hBTEwgYmUgY29uc2lzdGVudC4mI3hhOyYjeGE7VGhlIHR5cGUgaXMgdGhlIENhbm9uaWNhbCBVUkwgb2YgUmVzb3VyY2UgRGVmaW5pdGlvbiB0aGF0IGlzIHRoZSB0eXBlIHRoaXMgcmVmZXJlbmNlIHJlZmVycyB0by4gUmVmZXJlbmNlcyBhcmUgVVJMcyB0aGF0IGFyZSByZWxhdGl2ZSB0byBodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vIGUuZy4gJnF1b3Q7UGF0aWVudCZxdW90OyBpcyBhIHJlZmVyZW5jZSB0byBodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vUGF0aWVudC4gQWJzb2x1dGUgVVJMcyBhcmUgb25seSBhbGxvd2VkIGZvciBsb2dpY2FsIG1vZGVscyAoYW5kIGNhbiBvbmx5IGJlIHVzZWQgaW4gcmVmZXJlbmNlcyBpbiBsb2dpY2FsIG1vZGVscywgbm90IHJlc291cmNlcykuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgdXNlZCB0byBpbmRpY2F0ZSB0aGUgdHlwZSBvZiAgdGhlIHRhcmdldCBvZiB0aGUgcmVmZXJlbmNlLiBUaGlzIG1heSBiZSB1c2VkIHdoaWNoIGV2ZXIgb2YgdGhlIG90aGVyIGVsZW1lbnRzIGFyZSBwb3B1bGF0ZWQgKG9yIG5vdCkuIEluIHNvbWUgY2FzZXMsIHRoZSB0eXBlIG9mIHRoZSB0YXJnZXQgbWF5IGJlIGRldGVybWluZWQgYnkgaW5zcGVjdGlvbiBvZiB0aGUgcmVmZXJlbmNlIChlLmcuIGEgUkVTVGZ1bCBVUkwpIG9yIGJ5IHJlc29sdmluZyB0aGUgdGFyZ2V0IG9mIHRoZSByZWZlcmVuY2U7IGlmIGJvdGggdGhlIHR5cGUgYW5kIGEgcmVmZXJlbmNlIGlzIHByb3ZpZGVkLCB0aGUgcmVmZXJlbmNlIFNIQUxMIHJlc29sdmUgdG8gYSByZXNvdXJjZSBvZiB0aGUgc2FtZSB0eXBlIGFzIHRoYXQgc3BlY2lmaWVkLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkZISVJSZXNvdXJjZVR5cGVFeHQiIGRlc2NyaXB0aW9uPSJBYSByZXNvdXJjZSAob3IsIGZvciBsb2dpY2FsIG1vZGVscywgdGhlIFVSSSBvZiB0aGUgbG9naWNhbCBtb2RlbCkuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgZGVzY3JpcHRpb249IkxvZ2ljYWwgcmVmZXJlbmNlLCB3aGVuIGxpdGVyYWwgcmVmZXJlbmNlIGlzIG5vdCBrbm93biIgZGVmaW5pdGlvbj0iQW4gaWRlbnRpZmllciBmb3IgdGhlIHRhcmdldCByZXNvdXJjZS4gVGhpcyBpcyB1c2VkIHdoZW4gdGhlcmUgaXMgbm8gd2F5IHRvIHJlZmVyZW5jZSB0aGUgb3RoZXIgcmVzb3VyY2UgZGlyZWN0bHksIGVpdGhlciBiZWNhdXNlIHRoZSBlbnRpdHkgaXQgcmVwcmVzZW50cyBpcyBub3QgYXZhaWxhYmxlIHRocm91Z2ggYSBGSElSIHNlcnZlciwgb3IgYmVjYXVzZSB0aGVyZSBpcyBubyB3YXkgZm9yIHRoZSBhdXRob3Igb2YgdGhlIHJlc291cmNlIHRvIGNvbnZlcnQgYSBrbm93biBpZGVudGlmaWVyIHRvIGFuIGFjdHVhbCBsb2NhdGlvbi4gVGhlcmUgaXMgbm8gcmVxdWlyZW1lbnQgdGhhdCBhIFJlZmVyZW5jZS5pZGVudGlmaWVyIHBvaW50IHRvIHNvbWV0aGluZyB0aGF0IGlzIGFjdHVhbGx5IGV4cG9zZWQgYXMgYSBGSElSIGluc3RhbmNlLCBidXQgaXQgU0hBTEwgcG9pbnQgdG8gYSBidXNpbmVzcyBjb25jZXB0IHRoYXQgd291bGQgYmUgZXhwZWN0ZWQgdG8gYmUgZXhwb3NlZCBhcyBhIEZISVIgaW5zdGFuY2UsIGFuZCB0aGF0IGluc3RhbmNlIHdvdWxkIG5lZWQgdG8gYmUgb2YgYSBGSElSIHJlc291cmNlIHR5cGUgYWxsb3dlZCBieSB0aGUgcmVmZXJlbmNlLiIgY29tbWVudD0iV2hlbiBhbiBpZGVudGlmaWVyIGlzIHByb3ZpZGVkIGluIHBsYWNlIG9mIGEgcmVmZXJlbmNlLCBhbnkgc3lzdGVtIHByb2Nlc3NpbmcgdGhlIHJlZmVyZW5jZSB3aWxsIG9ubHkgYmUgYWJsZSB0byByZXNvbHZlIHRoZSBpZGVudGlmaWVyIHRvIGEgcmVmZXJlbmNlIGlmIGl0IHVuZGVyc3RhbmRzIHRoZSBidXNpbmVzcyBjb250ZXh0IGluIHdoaWNoIHRoZSBpZGVudGlmaWVyIGlzIHVzZWQuIFNvbWV0aW1lcyB0aGlzIGlzIGdsb2JhbCAoZS5nLiBhIG5hdGlvbmFsIGlkZW50aWZpZXIpIGJ1dCBvZnRlbiBpdCBpcyBub3QuIEZvciB0aGlzIHJlYXNvbiwgbm9uZSBvZiB0aGUgdXNlZnVsIG1lY2hhbmlzbXMgZGVzY3JpYmVkIGZvciB3b3JraW5nIHdpdGggcmVmZXJlbmNlcyAoZS5nLiBjaGFpbmluZywgaW5jbHVkZXMpIGFyZSBwb3NzaWJsZSwgbm9yIHNob3VsZCBzZXJ2ZXJzIGJlIGV4cGVjdGVkIHRvIGJlIGFibGUgcmVzb2x2ZSB0aGUgcmVmZXJlbmNlLiBTZXJ2ZXJzIG1heSBhY2NlcHQgYW4gaWRlbnRpZmllciBiYXNlZCByZWZlcmVuY2UgdW50b3VjaGVkLCByZXNvbHZlIGl0LCBhbmQvb3IgcmVqZWN0IGl0IC0gc2VlIENhcGFiaWxpdHlTdGF0ZW1lbnQucmVzdC5yZXNvdXJjZS5yZWZlcmVuY2VQb2xpY3kuICYjeGE7JiN4YTtXaGVuIGJvdGggYW4gaWRlbnRpZmllciBhbmQgYSBsaXRlcmFsIHJlZmVyZW5jZSBhcmUgcHJvdmlkZWQsIHRoZSBsaXRlcmFsIHJlZmVyZW5jZSBpcyBwcmVmZXJyZWQuIEFwcGxpY2F0aW9ucyBwcm9jZXNzaW5nIHRoZSByZXNvdXJjZSBhcmUgYWxsb3dlZCAtIGJ1dCBub3QgcmVxdWlyZWQgLSB0byBjaGVjayB0aGF0IHRoZSBpZGVudGlmaWVyIG1hdGNoZXMgdGhlIGxpdGVyYWwgcmVmZXJlbmNlJiN4YTsmI3hhO0FwcGxpY2F0aW9ucyBjb252ZXJ0aW5nIGEgbG9naWNhbCByZWZlcmVuY2UgdG8gYSBsaXRlcmFsIHJlZmVyZW5jZSBtYXkgY2hvb3NlIHRvIGxlYXZlIHRoZSBsb2dpY2FsIHJlZmVyZW5jZSBwcmVzZW50LCBvciByZW1vdmUgaXQuJiN4YTsmI3hhO1JlZmVyZW5jZSBpcyBpbnRlbmRlZCB0byBwb2ludCB0byBhIHN0cnVjdHVyZSB0aGF0IGNhbiBwb3RlbnRpYWxseSBiZSBleHByZXNzZWQgYXMgYSBGSElSIHJlc291cmNlLCB0aG91Z2ggdGhlcmUgaXMgbm8gbmVlZCBmb3IgaXQgdG8gZXhpc3QgYXMgYW4gYWN0dWFsIEZISVIgcmVzb3VyY2UgaW5zdGFuY2UgLSBleGNlcHQgaW4gYXMgbXVjaCBhcyBhbiBhcHBsaWNhdGlvbiB3aXNoZXMgdG8gYWN0dWFsIGZpbmQgdGhlIHRhcmdldCBvZiB0aGUgcmVmZXJlbmNlLiBUaGUgY29udGVudCByZWZlcnJlZCB0byBiZSB0aGUgaWRlbnRpZmllciBtdXN0IG1lZXQgdGhlIGxvZ2ljYWwgY29uc3RyYWludHMgaW1wbGllZCBieSBhbnkgbGltaXRhdGlvbnMgb24gd2hhdCByZXNvdXJjZSB0eXBlcyBhcmUgcGVybWl0dGVkIGZvciB0aGUgcmVmZXJlbmNlLiAgRm9yIGV4YW1wbGUsIGl0IHdvdWxkIG5vdCBiZSBsZWdpdGltYXRlIHRvIHNlbmQgdGhlIGlkZW50aWZpZXIgZm9yIGEgZHJ1ZyBwcmVzY3JpcHRpb24gaWYgdGhlIHR5cGUgd2VyZSBSZWZlcmVuY2UoT2JzZXJ2YXRpb258RGlhZ25vc3RpY1JlcG9ydCkuICBPbmUgb2YgdGhlIHVzZS1jYXNlcyBmb3IgUmVmZXJlbmNlLmlkZW50aWZpZXIgaXMgdGhlIHNpdHVhdGlvbiB3aGVyZSBubyBGSElSIHJlcHJlc2VudGF0aW9uIGV4aXN0cyAod2hlcmUgdGhlIHR5cGUgaXMgUmVmZXJlbmNlIChBbnkpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwbGF5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUZXh0IGFsdGVybmF0aXZlIGZvciB0aGUgcmVzb3VyY2UiIGRlZmluaXRpb249IlBsYWluIHRleHQgbmFycmF0aXZlIHRoYXQgaWRlbnRpZmllcyB0aGUgcmVzb3VyY2UgaW4gYWRkaXRpb24gdG8gdGhlIHJlc291cmNlIHJlZmVyZW5jZS4iIGNvbW1lbnQ9IlRoaXMgaXMgZ2VuZXJhbGx5IG5vdCB0aGUgc2FtZSBhcyB0aGUgUmVzb3VyY2UudGV4dCBvZiB0aGUgcmVmZXJlbmNlZCByZXNvdXJjZS4gIFRoZSBwdXJwb3NlIGlzIHRvIGlkZW50aWZ5IHdoYXQncyBiZWluZyByZWZlcmVuY2VkLCBub3QgdG8gZnVsbHkgZGVzY3JpYmUgaXQuIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWxhdGVkQXJ0aWZhY3QiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9SZWxhdGVkQXJ0aWZhY3QiIGxhYmVsPSJSZWxhdGVkQXJ0aWZhY3QiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVsYXRlZEFydGlmYWN0VHlwZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJkb2N1bWVudGF0aW9uIHwganVzdGlmaWNhdGlvbiB8IGNpdGF0aW9uIHwgcHJlZGVjZXNzb3IgfCBzdWNjZXNzb3IgfCBkZXJpdmVkLWZyb20gfCBkZXBlbmRzLW9uIHwgY29tcG9zZWQtb2YiIGRlZmluaXRpb249IlRoZSB0eXBlIG9mIHJlbGF0aW9uc2hpcCB0byB0aGUgcmVsYXRlZCBhcnRpZmFjdC4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJSZWxhdGVkQXJ0aWZhY3RUeXBlIiBkZXNjcmlwdGlvbj0iVGhlIHR5cGUgb2YgcmVsYXRpb25zaGlwIHRvIHRoZSByZWxhdGVkIGFydGlmYWN0LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibGFiZWwiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlNob3J0IGxhYmVsIiBkZWZpbml0aW9uPSJBIHNob3J0IGxhYmVsIHRoYXQgY2FuIGJlIHVzZWQgdG8gcmVmZXJlbmNlIHRoZSBjaXRhdGlvbiBmcm9tIGVsc2V3aGVyZSBpbiB0aGUgY29udGFpbmluZyBhcnRpZmFjdCwgc3VjaCBhcyBhIGZvb3Rub3RlIGluZGV4LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwbGF5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJCcmllZiBkZXNjcmlwdGlvbiBvZiB0aGUgcmVsYXRlZCBhcnRpZmFjdCIgZGVmaW5pdGlvbj0iQSBicmllZiBkZXNjcmlwdGlvbiBvZiB0aGUgZG9jdW1lbnQgb3Iga25vd2xlZGdlIHJlc291cmNlIGJlaW5nIHJlZmVyZW5jZWQsIHN1aXRhYmxlIGZvciBkaXNwbGF5IHRvIGEgY29uc3VtZXIuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNpdGF0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJCaWJsaW9ncmFwaGljIGNpdGF0aW9uIGZvciB0aGUgYXJ0aWZhY3QiIGRlZmluaXRpb249IkEgYmlibGlvZ3JhcGhpYyBjaXRhdGlvbiBmb3IgdGhlIHJlbGF0ZWQgYXJ0aWZhY3QuIFRoaXMgdGV4dCBTSE9VTEQgYmUgZm9ybWF0dGVkIGFjY29yZGluZyB0byBhbiBhY2NlcHRlZCBjaXRhdGlvbiBmb3JtYXQuIiBjb21tZW50PSJBZGRpdGlvbmFsIHN0cnVjdHVyZWQgaW5mb3JtYXRpb24gYWJvdXQgY2l0YXRpb25zIHNob3VsZCBiZSBjYXB0dXJlZCBhcyBleHRlbnNpb25zLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJ1cmwiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZXJlIHRoZSBhcnRpZmFjdCBjYW4gYmUgYWNjZXNzZWQiIGRlZmluaXRpb249IkEgdXJsIGZvciB0aGUgYXJ0aWZhY3QgdGhhdCBjYW4gYmUgZm9sbG93ZWQgdG8gYWNjZXNzIHRoZSBhY3R1YWwgY29udGVudC4iIGNvbW1lbnQ9IklmIGEgZG9jdW1lbnQgb3IgcmVzb3VyY2UgZWxlbWVudCBpcyBwcmVzZW50LCB0aGlzIGVsZW1lbnQgU0hBTEwgTk9UIGJlIHByb3ZpZGVkICh1c2UgdGhlIHVybCBvciByZWZlcmVuY2UgaW4gdGhlIEF0dGFjaG1lbnQgb3IgcmVzb3VyY2UgcmVmZXJlbmNlKS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZG9jdW1lbnQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQXR0YWNobWVudCIgZGVzY3JpcHRpb249IldoYXQgZG9jdW1lbnQgaXMgYmVpbmcgcmVmZXJlbmNlZCIgZGVmaW5pdGlvbj0iVGhlIGRvY3VtZW50IGJlaW5nIHJlZmVyZW5jZWQsIHJlcHJlc2VudGVkIGFzIGFuIGF0dGFjaG1lbnQuIFRoaXMgaXMgZXhjbHVzaXZlIHdpdGggdGhlIHJlc291cmNlIGVsZW1lbnQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlc291cmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGF0IHJlc291cmNlIGlzIGJlaW5nIHJlZmVyZW5jZWQiIGRlZmluaXRpb249IlRoZSByZWxhdGVkIHJlc291cmNlLCBzdWNoIGFzIGEgbGlicmFyeSwgdmFsdWUgc2V0LCBwcm9maWxlLCBvciBvdGhlciBrbm93bGVkZ2UgcmVzb3VyY2UuIiBjb21tZW50PSJJZiB0aGUgdHlwZSBpcyBwcmVkZWNlc3NvciwgdGhpcyBpcyBhIHJlZmVyZW5jZSB0byB0aGUgc3VjY2VlZGluZyBrbm93bGVkZ2UgcmVzb3VyY2UuIElmIHRoZSB0eXBlIGlzIHN1Y2Nlc3NvciwgdGhpcyBpcyBhIHJlZmVyZW5jZSB0byB0aGUgcHJpb3Iga25vd2xlZGdlIHJlc291cmNlLiIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWxhdGVkQXJ0aWZhY3RUeXBlIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWxhdGVkUGVyc29uIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1yZWxhdGVkcGVyc29uIiBsYWJlbD0iUUlDb3JlIFJlbGF0ZWRQZXJzb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9InJlbGF0aW9uc2hpcCI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJBIGh1bWFuIGlkZW50aWZpZXIgZm9yIHRoaXMgcGVyc29uIiBkZWZpbml0aW9uPSJJZGVudGlmaWVyIGZvciBhIHBlcnNvbiB3aXRoaW4gYSBwYXJ0aWN1bGFyIHNjb3BlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFjdGl2ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Cb29sZWFuIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZXRoZXIgdGhpcyByZWxhdGVkIHBlcnNvbidzIHJlY29yZCBpcyBpbiBhY3RpdmUgdXNlIiBkZWZpbml0aW9uPSJXaGV0aGVyIHRoaXMgcmVsYXRlZCBwZXJzb24gcmVjb3JkIGlzIGluIGFjdGl2ZSB1c2UuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgaXQgbWF5IGJlIHVzZWQgdG8gbWFyayB0aGF0IHRoZSByZXNvdXJjZSB3YXMgY3JlYXRlZCBpbiBlcnJvci4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhdGllbnQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iVGhlIHBhdGllbnQgdGhpcyBwZXJzb24gaXMgcmVsYXRlZCB0byIgZGVmaW5pdGlvbj0iVGhlIHBhdGllbnQgdGhpcyBwZXJzb24gaXMgcmVsYXRlZCB0by4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlbGF0aW9uc2hpcCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRoZSBuYXR1cmUgb2YgdGhlIHJlbGF0aW9uc2hpcCIgZGVmaW5pdGlvbj0iVGhlIG5hdHVyZSBvZiB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gYSBwYXRpZW50IGFuZCB0aGUgcmVsYXRlZCBwZXJzb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJQYXRpZW50UmVsYXRpb25zaGlwVHlwZSIgZGVzY3JpcHRpb249IlRoZSBuYXR1cmUgb2YgdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIGEgcGF0aWVudCBhbmQgdGhlIHJlbGF0ZWQgcGVyc29uLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5hbWUiIGRlc2NyaXB0aW9uPSJBIG5hbWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwZXJzb24iIGRlZmluaXRpb249IkEgbmFtZSBhc3NvY2lhdGVkIHdpdGggdGhlIHBlcnNvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSHVtYW5OYW1lIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ0ZWxlY29tIiBkZXNjcmlwdGlvbj0iQSBjb250YWN0IGRldGFpbCBmb3IgdGhlIHBlcnNvbiIgZGVmaW5pdGlvbj0iQSBjb250YWN0IGRldGFpbCBmb3IgdGhlIHBlcnNvbiwgZS5nLiBhIHRlbGVwaG9uZSBudW1iZXIgb3IgYW4gZW1haWwgYWRkcmVzcy4iIGNvbW1lbnQ9IlBlcnNvbiBtYXkgaGF2ZSBtdWx0aXBsZSB3YXlzIHRvIGJlIGNvbnRhY3RlZCB3aXRoIGRpZmZlcmVudCB1c2VzIG9yIGFwcGxpY2FibGUgcGVyaW9kcy4gIE1heSBuZWVkIHRvIGhhdmUgb3B0aW9ucyBmb3IgY29udGFjdGluZyB0aGUgcGVyc29uIHVyZ2VudGx5LCBhbmQgYWxzbyB0byBoZWxwIHdpdGggaWRlbnRpZmljYXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbnRhY3RQb2ludCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZ2VuZGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFkbWluaXN0cmF0aXZlR2VuZGVyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Im1hbGUgfCBmZW1hbGUgfCBvdGhlciB8IHVua25vd24iIGRlZmluaXRpb249IkFkbWluaXN0cmF0aXZlIEdlbmRlciAtIHRoZSBnZW5kZXIgdGhhdCB0aGUgcGVyc29uIGlzIGNvbnNpZGVyZWQgdG8gaGF2ZSBmb3IgYWRtaW5pc3RyYXRpb24gYW5kIHJlY29yZCBrZWVwaW5nIHB1cnBvc2VzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJBZG1pbmlzdHJhdGl2ZUdlbmRlciIgZGVzY3JpcHRpb249IlRoZSBnZW5kZXIgb2YgYSBwZXJzb24gdXNlZCBmb3IgYWRtaW5pc3RyYXRpdmUgcHVycG9zZXMuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJiaXJ0aERhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaGUgZGF0ZSBvbiB3aGljaCB0aGUgcmVsYXRlZCBwZXJzb24gd2FzIGJvcm4iIGRlZmluaXRpb249IlRoZSBkYXRlIG9uIHdoaWNoIHRoZSByZWxhdGVkIHBlcnNvbiB3YXMgYm9ybi4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iYWRkcmVzcyIgZGVzY3JpcHRpb249IkFkZHJlc3Mgd2hlcmUgdGhlIHJlbGF0ZWQgcGVyc29uIGNhbiBiZSBjb250YWN0ZWQgb3IgdmlzaXRlZCIgZGVmaW5pdGlvbj0iQWRkcmVzcyB3aGVyZSB0aGUgcmVsYXRlZCBwZXJzb24gY2FuIGJlIGNvbnRhY3RlZCBvciB2aXNpdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5BZGRyZXNzIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwaG90byIgZGVzY3JpcHRpb249IkltYWdlIG9mIHRoZSBwZXJzb24iIGRlZmluaXRpb249IkltYWdlIG9mIHRoZSBwZXJzb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQXR0YWNobWVudCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyaW9kIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoJXZhbHVlKSIgZGVzY3JpcHRpb249IlBlcmlvZCBvZiB0aW1lIHRoYXQgdGhpcyByZWxhdGlvbnNoaXAgaXMgY29uc2lkZXJlZCB2YWxpZCIgZGVmaW5pdGlvbj0iVGhlIHBlcmlvZCBvZiB0aW1lIGR1cmluZyB3aGljaCB0aGlzIHJlbGF0aW9uc2hpcCBpcyBvciB3YXMgYWN0aXZlLiBJZiB0aGVyZSBhcmUgbm8gZGF0ZXMgZGVmaW5lZCwgdGhlbiB0aGUgaW50ZXJ2YWwgaXMgdW5rbm93bi4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbW11bmljYXRpb24iIGRlc2NyaXB0aW9uPSJBIGxhbmd1YWdlIHdoaWNoIG1heSBiZSB1c2VkIHRvIGNvbW11bmljYXRlIHdpdGggYWJvdXQgdGhlIHBhdGllbnQncyBoZWFsdGgiIGRlZmluaXRpb249IkEgbGFuZ3VhZ2Ugd2hpY2ggbWF5IGJlIHVzZWQgdG8gY29tbXVuaWNhdGUgd2l0aCBhYm91dCB0aGUgcGF0aWVudCdzIGhlYWx0aC4iIGNvbW1lbnQ9IklmIG5vIGxhbmd1YWdlIGlzIHNwZWNpZmllZCwgdGhpcyAqaW1wbGllcyogdGhhdCB0aGUgZGVmYXVsdCBsb2NhbCBsYW5ndWFnZSBpcyBzcG9rZW4uICBJZiB5b3UgbmVlZCB0byBjb252ZXkgcHJvZmljaWVuY3kgZm9yIG11bHRpcGxlIG1vZGVzLCB0aGVuIHlvdSBuZWVkIG11bHRpcGxlIFJlbGF0ZWRQZXJzb24uQ29tbXVuaWNhdGlvbiBhc3NvY2lhdGlvbnMuICAgSWYgdGhlIFJlbGF0ZWRQZXJzb24gZG9lcyBub3Qgc3BlYWsgdGhlIGRlZmF1bHQgbG9jYWwgbGFuZ3VhZ2UsIHRoZW4gdGhlIEludGVycHJldGVyIFJlcXVpcmVkIFN0YW5kYXJkIGNhbiBiZSB1c2VkIHRvIGV4cGxpY2l0bHkgZGVjbGFyZSB0aGF0IGFuIGludGVycHJldGVyIGlzIHJlcXVpcmVkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlbGF0ZWRQZXJzb24uQ29tbXVuaWNhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBhdGllbnQiLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVsYXRlZFBlcnNvbi5Db21tdW5pY2F0aW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJsYW5ndWFnZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGhlIGxhbmd1YWdlIHdoaWNoIGNhbiBiZSB1c2VkIHRvIGNvbW11bmljYXRlIHdpdGggdGhlIHBhdGllbnQgYWJvdXQgaGlzIG9yIGhlciBoZWFsdGgiIGRlZmluaXRpb249IlRoZSBJU08tNjM5LTEgYWxwaGEgMiBjb2RlIGluIGxvd2VyIGNhc2UgZm9yIHRoZSBsYW5ndWFnZSwgb3B0aW9uYWxseSBmb2xsb3dlZCBieSBhIGh5cGhlbiBhbmQgdGhlIElTTy0zMTY2LTEgYWxwaGEgMiBjb2RlIGZvciB0aGUgcmVnaW9uIGluIHVwcGVyIGNhc2U7IGUuZy4gJnF1b3Q7ZW4mcXVvdDsgZm9yIEVuZ2xpc2gsIG9yICZxdW90O2VuLVVTJnF1b3Q7IGZvciBBbWVyaWNhbiBFbmdsaXNoIHZlcnN1cyAmcXVvdDtlbi1FTiZxdW90OyBmb3IgRW5nbGFuZCBFbmdsaXNoLiIgY29tbWVudD0iVGhlIHN0cnVjdHVyZSBhYS1CQiB3aXRoIHRoaXMgZXhhY3QgY2FzaW5nIGlzIG9uZSB0aGUgbW9zdCB3aWRlbHkgdXNlZCBub3RhdGlvbnMgZm9yIGxvY2FsZS4gSG93ZXZlciBub3QgYWxsIHN5c3RlbXMgYWN0dWFsbHkgY29kZSB0aGlzIGJ1dCBpbnN0ZWFkIGhhdmUgaXQgYXMgZnJlZSB0ZXh0LiBIZW5jZSBDb2RlYWJsZUNvbmNlcHQgaW5zdGVhZCBvZiBjb2RlIGFzIHRoZSBkYXRhIHR5cGUuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTGFuZ3VhZ2UiIGRlc2NyaXB0aW9uPSJBIGh1bWFuIGxhbmd1YWdlLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InByZWZlcnJlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Cb29sZWFuIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikxhbmd1YWdlIHByZWZlcmVuY2UgaW5kaWNhdG9yIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgd2hldGhlciBvciBub3QgdGhlIHBhdGllbnQgcHJlZmVycyB0aGlzIGxhbmd1YWdlIChvdmVyIG90aGVyIGxhbmd1YWdlcyBoZSBtYXN0ZXJzIHVwIGEgY2VydGFpbiBsZXZlbCkuIiBjb21tZW50PSJUaGlzIGxhbmd1YWdlIGlzIHNwZWNpZmljYWxseSBpZGVudGlmaWVkIGZvciBjb21tdW5pY2F0aW5nIGhlYWx0aGNhcmUgaW5mb3JtYXRpb24uIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlbWl0dGFuY2VPdXRjb21lIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVxdWVzdEludGVudCIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlcXVlc3RQcmlvcml0eSIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLkFueSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlc291cmNlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vUmVzb3VyY2UiIGxhYmVsPSJSZXNvdXJjZSIgcmV0cmlldmFibGU9InRydWUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTG9naWNhbCBpZCBvZiB0aGlzIGFydGlmYWN0IiBkZWZpbml0aW9uPSJUaGUgbG9naWNhbCBpZCBvZiB0aGUgcmVzb3VyY2UsIGFzIHVzZWQgaW4gdGhlIFVSTCBmb3IgdGhlIHJlc291cmNlLiBPbmNlIGFzc2lnbmVkLCB0aGlzIHZhbHVlIG5ldmVyIGNoYW5nZXMuIiBjb21tZW50PSJUaGUgb25seSB0aW1lIHRoYXQgYSByZXNvdXJjZSBkb2VzIG5vdCBoYXZlIGFuIGlkIGlzIHdoZW4gaXQgaXMgYmVpbmcgc3VibWl0dGVkIHRvIHRoZSBzZXJ2ZXIgdXNpbmcgYSBjcmVhdGUgb3BlcmF0aW9uLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJtZXRhIiBlbGVtZW50VHlwZT0iUUlDb3JlLk1ldGEiIGRlc2NyaXB0aW9uPSJNZXRhZGF0YSBhYm91dCB0aGUgcmVzb3VyY2UiIGRlZmluaXRpb249IlRoZSBtZXRhZGF0YSBhYm91dCB0aGUgcmVzb3VyY2UuIFRoaXMgaXMgY29udGVudCB0aGF0IGlzIG1haW50YWluZWQgYnkgdGhlIGluZnJhc3RydWN0dXJlLiBDaGFuZ2VzIHRvIHRoZSBjb250ZW50IG1pZ2h0IG5vdCBhbHdheXMgYmUgYXNzb2NpYXRlZCB3aXRoIHZlcnNpb24gY2hhbmdlcyB0byB0aGUgcmVzb3VyY2UuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImltcGxpY2l0UnVsZXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkEgc2V0IG9mIHJ1bGVzIHVuZGVyIHdoaWNoIHRoaXMgY29udGVudCB3YXMgY3JlYXRlZCIgZGVmaW5pdGlvbj0iQSByZWZlcmVuY2UgdG8gYSBzZXQgb2YgcnVsZXMgdGhhdCB3ZXJlIGZvbGxvd2VkIHdoZW4gdGhlIHJlc291cmNlIHdhcyBjb25zdHJ1Y3RlZCwgYW5kIHdoaWNoIG11c3QgYmUgdW5kZXJzdG9vZCB3aGVuIHByb2Nlc3NpbmcgdGhlIGNvbnRlbnQuIE9mdGVuLCB0aGlzIGlzIGEgcmVmZXJlbmNlIHRvIGFuIGltcGxlbWVudGF0aW9uIGd1aWRlIHRoYXQgZGVmaW5lcyB0aGUgc3BlY2lhbCBydWxlcyBhbG9uZyB3aXRoIG90aGVyIHByb2ZpbGVzIGV0Yy4iIGNvbW1lbnQ9IkFzc2VydGluZyB0aGlzIHJ1bGUgc2V0IHJlc3RyaWN0cyB0aGUgY29udGVudCB0byBiZSBvbmx5IHVuZGVyc3Rvb2QgYnkgYSBsaW1pdGVkIHNldCBvZiB0cmFkaW5nIHBhcnRuZXJzLiBUaGlzIGluaGVyZW50bHkgbGltaXRzIHRoZSB1c2VmdWxuZXNzIG9mIHRoZSBkYXRhIGluIHRoZSBsb25nIHRlcm0uIEhvd2V2ZXIsIHRoZSBleGlzdGluZyBoZWFsdGggZWNvLXN5c3RlbSBpcyBoaWdobHkgZnJhY3R1cmVkLCBhbmQgbm90IHlldCByZWFkeSB0byBkZWZpbmUsIGNvbGxlY3QsIGFuZCBleGNoYW5nZSBkYXRhIGluIGEgZ2VuZXJhbGx5IGNvbXB1dGFibGUgc2Vuc2UuIFdoZXJldmVyIHBvc3NpYmxlLCBpbXBsZW1lbnRlcnMgYW5kL29yIHNwZWNpZmljYXRpb24gd3JpdGVycyBzaG91bGQgYXZvaWQgdXNpbmcgdGhpcyBlbGVtZW50LiBPZnRlbiwgd2hlbiB1c2VkLCB0aGUgVVJMIGlzIGEgcmVmZXJlbmNlIHRvIGFuIGltcGxlbWVudGF0aW9uIGd1aWRlIHRoYXQgZGVmaW5lcyB0aGVzZSBzcGVjaWFsIHJ1bGVzIGFzIHBhcnQgb2YgaXQncyBuYXJyYXRpdmUgYWxvbmcgd2l0aCBvdGhlciBwcm9maWxlcywgdmFsdWUgc2V0cywgZXRjLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJsYW5ndWFnZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTGFuZ3VhZ2Ugb2YgdGhlIHJlc291cmNlIGNvbnRlbnQiIGRlZmluaXRpb249IlRoZSBiYXNlIGxhbmd1YWdlIGluIHdoaWNoIHRoZSByZXNvdXJjZSBpcyB3cml0dGVuLiIgY29tbWVudD0iTGFuZ3VhZ2UgaXMgcHJvdmlkZWQgdG8gc3VwcG9ydCBpbmRleGluZyBhbmQgYWNjZXNzaWJpbGl0eSAodHlwaWNhbGx5LCBzZXJ2aWNlcyBzdWNoIGFzIHRleHQgdG8gc3BlZWNoIHVzZSB0aGUgbGFuZ3VhZ2UgdGFnKS4gVGhlIGh0bWwgbGFuZ3VhZ2UgdGFnIGluIHRoZSBuYXJyYXRpdmUgYXBwbGllcyAgdG8gdGhlIG5hcnJhdGl2ZS4gVGhlIGxhbmd1YWdlIHRhZyBvbiB0aGUgcmVzb3VyY2UgbWF5IGJlIHVzZWQgdG8gc3BlY2lmeSB0aGUgbGFuZ3VhZ2Ugb2Ygb3RoZXIgcHJlc2VudGF0aW9ucyBnZW5lcmF0ZWQgZnJvbSB0aGUgZGF0YSBpbiB0aGUgcmVzb3VyY2UuIE5vdCBhbGwgdGhlIGNvbnRlbnQgaGFzIHRvIGJlIGluIHRoZSBiYXNlIGxhbmd1YWdlLiBUaGUgUmVzb3VyY2UubGFuZ3VhZ2Ugc2hvdWxkIG5vdCBiZSBhc3N1bWVkIHRvIGFwcGx5IHRvIHRoZSBuYXJyYXRpdmUgYXV0b21hdGljYWxseS4gSWYgYSBsYW5ndWFnZSBpcyBzcGVjaWZpZWQsIGl0IHNob3VsZCBpdCBhbHNvIGJlIHNwZWNpZmllZCBvbiB0aGUgZGl2IGVsZW1lbnQgaW4gdGhlIGh0bWwgKHNlZSBydWxlcyBpbiBIVE1MNSBmb3IgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHhtbDpsYW5nIGFuZCB0aGUgaHRtbCBsYW5nIGF0dHJpYnV0ZSkuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTGFuZ3VhZ2UiIGRlc2NyaXB0aW9uPSJBIGh1bWFuIGxhbmd1YWdlLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlc291cmNlVHlwZSIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTYW1wbGVkRGF0YSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1NhbXBsZWREYXRhIiBsYWJlbD0iU2FtcGxlZERhdGEiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9Im9yaWdpbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJaZXJvIHZhbHVlIGFuZCB1bml0cyIgZGVmaW5pdGlvbj0iVGhlIGJhc2UgcXVhbnRpdHkgdGhhdCBhIG1lYXN1cmVkIHZhbHVlIG9mIHplcm8gcmVwcmVzZW50cy4gSW4gYWRkaXRpb24sIHRoaXMgcHJvdmlkZXMgdGhlIHVuaXRzIG9mIHRoZSBlbnRpcmUgbWVhc3VyZW1lbnQgc2VyaWVzLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwZXJpb2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOdW1iZXIgb2YgbWlsbGlzZWNvbmRzIGJldHdlZW4gc2FtcGxlcyIgZGVmaW5pdGlvbj0iVGhlIGxlbmd0aCBvZiB0aW1lIGJldHdlZW4gc2FtcGxpbmcgdGltZXMsIG1lYXN1cmVkIGluIG1pbGxpc2Vjb25kcy4iIGNvbW1lbnQ9IlRoaXMgaXMgdXN1YWxseSBhIHdob2xlIG51bWJlci4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZmFjdG9yIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRlY2ltYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTXVsdGlwbHkgZGF0YSBieSB0aGlzIGJlZm9yZSBhZGRpbmcgdG8gb3JpZ2luIiBkZWZpbml0aW9uPSJBIGNvcnJlY3Rpb24gZmFjdG9yIHRoYXQgaXMgYXBwbGllZCB0byB0aGUgc2FtcGxlZCBkYXRhIHBvaW50cyBiZWZvcmUgdGhleSBhcmUgYWRkZWQgdG8gdGhlIG9yaWdpbi4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibG93ZXJMaW1pdCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikxvd2VyIGxpbWl0IG9mIGRldGVjdGlvbiIgZGVmaW5pdGlvbj0iVGhlIGxvd2VyIGxpbWl0IG9mIGRldGVjdGlvbiBvZiB0aGUgbWVhc3VyZWQgcG9pbnRzLiBUaGlzIGlzIG5lZWRlZCBpZiBhbnkgb2YgdGhlIGRhdGEgcG9pbnRzIGhhdmUgdGhlIHZhbHVlICZxdW90O0wmcXVvdDsgKGxvd2VyIHRoYW4gZGV0ZWN0aW9uIGxpbWl0KS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0idXBwZXJMaW1pdCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlVwcGVyIGxpbWl0IG9mIGRldGVjdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHVwcGVyIGxpbWl0IG9mIGRldGVjdGlvbiBvZiB0aGUgbWVhc3VyZWQgcG9pbnRzLiBUaGlzIGlzIG5lZWRlZCBpZiBhbnkgb2YgdGhlIGRhdGEgcG9pbnRzIGhhdmUgdGhlIHZhbHVlICZxdW90O1UmcXVvdDsgKGhpZ2hlciB0aGFuIGRldGVjdGlvbiBsaW1pdCkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRpbWVuc2lvbnMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOdW1iZXIgb2Ygc2FtcGxlIHBvaW50cyBhdCBlYWNoIHRpbWUgcG9pbnQiIGRlZmluaXRpb249IlRoZSBudW1iZXIgb2Ygc2FtcGxlIHBvaW50cyBhdCBlYWNoIHRpbWUgcG9pbnQuIElmIHRoaXMgdmFsdWUgaXMgZ3JlYXRlciB0aGFuIG9uZSwgdGhlbiB0aGUgZGltZW5zaW9ucyB3aWxsIGJlIGludGVybGFjZWQgLSBhbGwgdGhlIHNhbXBsZSBwb2ludHMgZm9yIGEgcG9pbnQgaW4gdGltZSB3aWxsIGJlIHJlY29yZGVkIGF0IG9uY2UuIiBjb21tZW50PSJJZiB0aGVyZSBpcyBtb3JlIHRoYW4gb25lIGRpbWVuc2lvbiwgdGhlIGNvZGUgZm9yIHRoZSB0eXBlIG9mIGRhdGEgd2lsbCBkZWZpbmUgdGhlIG1lYW5pbmcgb2YgdGhlIGRpbWVuc2lvbnMgKHR5cGljYWxseSBFQ0cgZGF0YSkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGEiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRlY2ltYWwgdmFsdWVzIHdpdGggc3BhY2VzLCBvciAmcXVvdDtFJnF1b3Q7IHwgJnF1b3Q7VSZxdW90OyB8ICZxdW90O0wmcXVvdDsiIGRlZmluaXRpb249IkEgc2VyaWVzIG9mIGRhdGEgcG9pbnRzIHdoaWNoIGFyZSBkZWNpbWFsIHZhbHVlcyBzZXBhcmF0ZWQgYnkgYSBzaW5nbGUgc3BhY2UgKGNoYXJhY3RlciB1MjApLiBUaGUgc3BlY2lhbCB2YWx1ZXMgJnF1b3Q7RSZxdW90OyAoZXJyb3IpLCAmcXVvdDtMJnF1b3Q7IChiZWxvdyBkZXRlY3Rpb24gbGltaXQpIGFuZCAmcXVvdDtVJnF1b3Q7IChhYm92ZSBkZXRlY3Rpb24gbGltaXQpIGNhbiBhbHNvIGJlIHVzZWQgaW4gcGxhY2Ugb2YgYSBkZWNpbWFsIHZhbHVlLiIgY29tbWVudD0iRGF0YSBtYXkgYmUgbWlzc2luZyBpZiBpdCBpcyBvbWl0dGVkIGZvciBzdW1tYXJpemF0aW9uIHB1cnBvc2VzLiBJbiBnZW5lcmFsLCBkYXRhIGlzIHJlcXVpcmVkIGZvciBhbnkgYWN0dWFsIHVzZSBvZiBhIFNhbXBsZWREYXRhLiIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlNlcnZpY2VOb3RSZXF1ZXN0ZWQiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLXNlcnZpY2Vub3RyZXF1ZXN0ZWQiIGxhYmVsPSJRSUNvcmUgU2VydmljZSBOb3QgUmVxdWVzdGVkIiB0YXJnZXQ9IlNlcnZpY2VSZXF1ZXN0IiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iYXBwcm9hY2hCb2R5U3RydWN0dXJlIiB0YXJnZXQ9IiVwYXJlbnQuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL3Byb2NlZHVyZS1hcHByb2FjaEJvZHlTdHJ1Y3R1cmUnXSIgZGVzY3JpcHRpb249IlRoZSBhY2Nlc3MgcG9pbnQgb3IgcG9pbnRzIHVzZWQgZm9yIHRoaXMgcHJvY2VkdXJlIiBkZWZpbml0aW9uPSJUaGUgYXBwcm9hY2ggYm9keSBzaXRlIHVzZWQgZm9yIHRoaXMgcHJvY2VkdXJlLiAgTXVsdGlwbGUgbG9jYXRpb25zIGFyZSBhbGxvd2VkLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuYXBwcm9hY2hCb2R5U3RydWN0dXJlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhcHByb3ByaWF0ZW5lc3NTY29yZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5TZXJ2aWNlUmVxdWVzdEFwcHJvcHJpYXRlbmVzc1Njb3JlIiB0YXJnZXQ9IiVwYXJlbnQuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtc2VydmljZXJlcXVlc3QtYXBwcm9wcmlhdGVuZXNzU2NvcmUnXSIgZGVzY3JpcHRpb249IkFwcHJvcHJpYXRlbmVzcyBTY29yZSIgZGVmaW5pdGlvbj0iVGhlIFJBTkQgYXBwcm9wcmlhdGVuZXNzIHNjb3JlIGZvciB0aGUgcmVxdWVzdGVkIHByb2NlZHVyZS4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25SZWZ1c2VkIiBlbGVtZW50VHlwZT0iUUlDb3JlLkRvTm90UGVyZm9ybVJlYXNvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXBhcmVudC5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1kb05vdFBlcmZvcm1SZWFzb24nXS52YWx1ZSkiIGRlc2NyaXB0aW9uPSJFeHRlbnNpb24iIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgcmVhc29uIHRoZSBldmVudCB3YXMgbm90IHBlcmZvcm1lZC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlzRWxlY3RpdmUiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSXNFbGVjdGl2ZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJFeHRlbnNpb24iIGRlZmluaXRpb249IkluZGljYXRlcyB3aGV0aGVyIHRoaXMgaXMgYW4gZWxlY3RpdmUgcHJvY2VkdXJlLiIgY29tbWVudD0iVGhlIHJlYXNvbiB0aGlzIGV4dGVuc2lvbiBpcyBhIG1vZGlmaWVyIGlzIGJlY2F1c2UsIGlmIHRydWUsIHRoaXMgZWxlbWVudCBtYXJrcyB0aGUgc3BlY2lmaWVkIHJlcXVlc3QgYXMgZWxlY3RpdmUuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iSWRlbnRpZmllcnMgYXNzaWduZWQgdG8gdGhpcyBvcmRlciIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcnMgYXNzaWduZWQgdG8gdGhpcyBvcmRlciBpbnN0YW5jZSBieSB0aGUgb3JkZXJlciBhbmQvb3IgdGhlIHJlY2VpdmVyIGFuZC9vciBvcmRlciBmdWxmaWxsZXIuIiBjb21tZW50PSJUaGUgaWRlbnRpZmllci50eXBlIGVsZW1lbnQgaXMgdXNlZCB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIHRoZSBpZGVudGlmaWVycyBhc3NpZ25lZCBieSB0aGUgb3JkZXJlciAoa25vd24gYXMgdGhlICdQbGFjZXInIGluIEhMNyB2MikgYW5kIHRoZSBwcm9kdWNlciBvZiB0aGUgb2JzZXJ2YXRpb25zIGluIHJlc3BvbnNlIHRvIHRoZSBvcmRlciAoa25vd24gYXMgdGhlICdGaWxsZXInIGluIEhMNyB2MikuICBGb3IgZnVydGhlciBkaXNjdXNzaW9uIGFuZCBleGFtcGxlcyBzZWUgdGhlIHJlc291cmNlIG5vdGVzIHNlY3Rpb24gYmVsb3cuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzQ2Fub25pY2FsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3RhbnRpYXRlcyBGSElSIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYSBGSElSLWRlZmluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXJzZXQgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIFNlcnZpY2VSZXF1ZXN0LiIgY29tbWVudD0iTm90ZTogVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIgKHNlZSBbZGlzY3Vzc2lvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS5odG1sI2lkZW50aWZpZXJzKSkuICBJdCBpcyBiZXN0IHByYWN0aWNlIGZvciB0aGUgaWRlbnRpZmllciB0byBvbmx5IGFwcGVhciBvbiBhIHNpbmdsZSByZXNvdXJjZSBpbnN0YW5jZSwgaG93ZXZlciBidXNpbmVzcyBwcmFjdGljZXMgbWF5IG9jY2FzaW9uYWxseSBkaWN0YXRlIHRoYXQgbXVsdGlwbGUgcmVzb3VyY2UgaW5zdGFuY2VzIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllciBjYW4gZXhpc3QgLSBwb3NzaWJseSBldmVuIHdpdGggZGlmZmVyZW50IHJlc291cmNlIHR5cGVzLiAgRm9yIGV4YW1wbGUsIG11bHRpcGxlIFBhdGllbnQgYW5kIGEgUGVyc29uIHJlc291cmNlIGluc3RhbmNlIG1pZ2h0IHNoYXJlIHRoZSBzYW1lIHNvY2lhbCBpbnN1cmFuY2UgbnVtYmVyLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzVXJpIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3RhbnRpYXRlcyBleHRlcm5hbCBwcm90b2NvbCBvciBkZWZpbml0aW9uIiBkZWZpbml0aW9uPSJUaGUgVVJMIHBvaW50aW5nIHRvIGFuIGV4dGVybmFsbHkgbWFpbnRhaW5lZCBwcm90b2NvbCwgZ3VpZGVsaW5lLCBvcmRlcnNldCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgU2VydmljZVJlcXVlc3QuIiBjb21tZW50PSJUaGlzIG1pZ2h0IGJlIGFuIEhUTUwgcGFnZSwgUERGLCBldGMuIG9yIGNvdWxkIGp1c3QgYmUgYSBub24tcmVzb2x2YWJsZSBVUkkgaWRlbnRpZmllci4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJXaGF0IHJlcXVlc3QgZnVsZmlsbHMiIGRlZmluaXRpb249IlBsYW4vcHJvcG9zYWwvb3JkZXIgZnVsZmlsbGVkIGJ5IHRoaXMgcmVxdWVzdC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlcGxhY2VzIiBkZXNjcmlwdGlvbj0iV2hhdCByZXF1ZXN0IHJlcGxhY2VzIiBkZWZpbml0aW9uPSJUaGUgcmVxdWVzdCB0YWtlcyB0aGUgcGxhY2Ugb2YgdGhlIHJlZmVyZW5jZWQgY29tcGxldGVkIG9yIHRlcm1pbmF0ZWQgcmVxdWVzdChzKS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlcXVpc2l0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJDb21wb3NpdGUgUmVxdWVzdCBJRCIgZGVmaW5pdGlvbj0iQSBzaGFyZWQgaWRlbnRpZmllciBjb21tb24gdG8gYWxsIHNlcnZpY2UgcmVxdWVzdHMgdGhhdCB3ZXJlIGF1dGhvcml6ZWQgbW9yZSBvciBsZXNzIHNpbXVsdGFuZW91c2x5IGJ5IGEgc2luZ2xlIGF1dGhvciwgcmVwcmVzZW50aW5nIHRoZSBjb21wb3NpdGUgb3IgZ3JvdXAgaWRlbnRpZmllci4iIGNvbW1lbnQ9IlJlcXVlc3RzIGFyZSBsaW5rZWQgZWl0aGVyIGJ5IGEgJnF1b3Q7YmFzZWRPbiZxdW90OyByZWxhdGlvbnNoaXAgKGkuZS4gb25lIHJlcXVlc3QgaXMgZnVsZmlsbGluZyBhbm90aGVyKSBvciBieSBoYXZpbmcgYSBjb21tb24gcmVxdWlzaXRpb24uIFJlcXVlc3RzIHRoYXQgYXJlIHBhcnQgb2YgdGhlIHNhbWUgcmVxdWlzaXRpb24gYXJlIGdlbmVyYWxseSB0cmVhdGVkIGluZGVwZW5kZW50bHkgZnJvbSB0aGUgcGVyc3BlY3RpdmUgb2YgY2hhbmdpbmcgdGhlaXIgc3RhdGUgb3IgbWFpbnRhaW5pbmcgdGhlbSBhZnRlciBpbml0aWFsIGNyZWF0aW9uLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuU2VydmljZVJlcXVlc3RTdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iZHJhZnQgfCBhY3RpdmUgfCBvbi1ob2xkIHwgcmV2b2tlZCB8IGNvbXBsZXRlZCB8IGVudGVyZWQtaW4tZXJyb3IgfCB1bmtub3duIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSBvcmRlci4iIGNvbW1lbnQ9IlRoZSBzdGF0dXMgaXMgZ2VuZXJhbGx5IGZ1bGx5IGluIHRoZSBjb250cm9sIG9mIHRoZSByZXF1ZXN0ZXIgLSB0aGV5IGRldGVybWluZSB3aGV0aGVyIHRoZSBvcmRlciBpcyBkcmFmdCBvciBhY3RpdmUgYW5kLCBhZnRlciBpdCBoYXMgYmVlbiBhY3RpdmF0ZWQsIGNvbXBldGVkLCBjYW5jZWxsZWQgb3Igc3VzcGVuZGVkLiBTdGF0ZXMgcmVsYXRpbmcgdG8gdGhlIGFjdGl2aXRpZXMgb2YgdGhlIHBlcmZvcm1lciBhcmUgcmVmbGVjdGVkIG9uIGVpdGhlciB0aGUgY29ycmVzcG9uZGluZyBldmVudCAoc2VlIFtFdmVudCBQYXR0ZXJuXShldmVudC5odG1sKSBmb3IgZ2VuZXJhbCBkaXNjdXNzaW9uKSBvciB1c2luZyB0aGUgW1Rhc2tdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvdGFzay5odG1sKSByZXNvdXJjZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU2VydmljZVJlcXVlc3RTdGF0dXMiIGRlc2NyaXB0aW9uPSJUaGUgc3RhdHVzIG9mIGEgc2VydmljZSBvcmRlci4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImludGVudCIgZWxlbWVudFR5cGU9IlFJQ29yZS5TZXJ2aWNlUmVxdWVzdEludGVudCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJwcm9wb3NhbCB8IHBsYW4gfCBkaXJlY3RpdmUgfCBvcmRlciB8IG9yaWdpbmFsLW9yZGVyIHwgcmVmbGV4LW9yZGVyIHwgZmlsbGVyLW9yZGVyIHwgaW5zdGFuY2Utb3JkZXIgfCBvcHRpb24iIGRlZmluaXRpb249IldoZXRoZXIgdGhlIHJlcXVlc3QgaXMgYSBwcm9wb3NhbCwgcGxhbiwgYW4gb3JpZ2luYWwgb3JkZXIgb3IgYSByZWZsZXggb3JkZXIuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIGludGVudCBhbHRlcnMgd2hlbiBhbmQgaG93IHRoZSByZXNvdXJjZSBpcyBhY3R1YWxseSBhcHBsaWNhYmxlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTZXJ2aWNlUmVxdWVzdEludGVudCIgZGVzY3JpcHRpb249IlRoZSBraW5kIG9mIHNlcnZpY2UgcmVxdWVzdC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2Ygc2VydmljZSIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgc2VydmljZSBmb3Igc2VhcmNoaW5nLCBzb3J0aW5nIGFuZCBkaXNwbGF5IHB1cnBvc2VzIChlLmcuICZxdW90O1N1cmdpY2FsIFByb2NlZHVyZSZxdW90OykuIiBjb21tZW50PSJUaGVyZSBtYXkgYmUgbXVsdGlwbGUgYXhpcyBvZiBjYXRlZ29yaXphdGlvbiBkZXBlbmRpbmcgb24gdGhlIGNvbnRleHQgb3IgdXNlIGNhc2UgZm9yIHJldHJpZXZpbmcgb3IgZGlzcGxheWluZyB0aGUgcmVzb3VyY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlNlcnZpY2VSZXF1ZXN0Q2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiB0aGUgcmVxdWVzdGVkIHNlcnZpY2UuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InVzLWNvcmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiBzZXJ2aWNlIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBzZXJ2aWNlIGZvciBzZWFyY2hpbmcsIHNvcnRpbmcgYW5kIGRpc3BsYXkgcHVycG9zZXMgKGUuZy4gJnF1b3Q7U3VyZ2ljYWwgUHJvY2VkdXJlJnF1b3Q7KS4iIGNvbW1lbnQ9IlRoZXJlIG1heSBiZSBtdWx0aXBsZSBheGlzIG9mIGNhdGVnb3JpemF0aW9uIGRlcGVuZGluZyBvbiB0aGUgY29udGV4dCBvciB1c2UgY2FzZSBmb3IgcmV0cmlldmluZyBvciBkaXNwbGF5aW5nIHRoZSByZXNvdXJjZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icHJpb3JpdHkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuU2VydmljZVJlcXVlc3RQcmlvcml0eSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyb3V0aW5lIHwgdXJnZW50IHwgYXNhcCB8IHN0YXQiIGRlZmluaXRpb249IkluZGljYXRlcyBob3cgcXVpY2tseSB0aGUgU2VydmljZVJlcXVlc3Qgc2hvdWxkIGJlIGFkZHJlc3NlZCB3aXRoIHJlc3BlY3QgdG8gb3RoZXIgcmVxdWVzdHMuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU2VydmljZVJlcXVlc3RQcmlvcml0eSIgZGVzY3JpcHRpb249IklkZW50aWZpZXMgdGhlIGxldmVsIG9mIGltcG9ydGFuY2UgdG8gYmUgYXNzaWduZWQgdG8gYWN0aW9uaW5nIHRoZSByZXF1ZXN0LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZG9Ob3RQZXJmb3JtIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVHJ1ZSBpZiBzZXJ2aWNlL3Byb2NlZHVyZSBzaG91bGQgbm90IGJlIHBlcmZvcm1lZCIgZGVmaW5pdGlvbj0iU2V0IHRoaXMgdG8gdHJ1ZSBpZiB0aGUgcmVjb3JkIGlzIHNheWluZyB0aGF0IHRoZSBzZXJ2aWNlL3Byb2NlZHVyZSBzaG91bGQgTk9UIGJlIHBlcmZvcm1lZC4iIGNvbW1lbnQ9IkluIGdlbmVyYWwsIG9ubHkgdGhlIGNvZGUgYW5kIHRpbWVmcmFtZSB3aWxsIGJlIHByZXNlbnQsIHRob3VnaCBvY2Nhc2lvbmFsIGFkZGl0aW9uYWwgcXVhbGlmaWVycyBzdWNoIGFzIGJvZHkgc2l0ZSBvciBldmVuIHBlcmZvcm1lciBjb3VsZCBiZSBpbmNsdWRlZCB0byBuYXJyb3cgdGhlIHNjb3BlIG9mIHRoZSBwcm9oaWJpdGlvbi4gIElmIHRoZSBTZXJ2aWNlUmVxdWVzdC5jb2RlIGFuZCBTZXJ2aWNlUmVxdWVzdC5kb05vdFBlcmZvcm0gYm90aCBjb250YWluIG5lZ2F0aW9uLCB0aGF0IHdpbGwgcmVpbmZvcmNlIHByb2hpYml0aW9uIGFuZCBzaG91bGQgbm90IGhhdmUgYSBkb3VibGUgbmVnYXRpdmUgaW50ZXJwcmV0YXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiB0YXJnZXQ9IlN5c3RlbS5Db25jZXB0OkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpO1N5c3RlbS5WYWx1ZVNldDpGSElSSGVscGVycy5Ub1ZhbHVlU2V0KCVwYXJlbnQuY29kZS5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1ub3REb25lVmFsdWVTZXQnXS52YWx1ZS52YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaGF0IGlzIGJlaW5nIHJlcXVlc3RlZC9vcmRlcmVkIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBpZGVudGlmaWVzIGEgcGFydGljdWxhciBzZXJ2aWNlIChpLmUuLCBwcm9jZWR1cmUsIGRpYWdub3N0aWMgaW52ZXN0aWdhdGlvbiwgb3IgcGFuZWwgb2YgaW52ZXN0aWdhdGlvbnMpIHRoYXQgaGF2ZSBiZWVuIHJlcXVlc3RlZC4iIGNvbW1lbnQ9Ik1hbnkgbGFib3JhdG9yeSBhbmQgcmFkaW9sb2d5IHByb2NlZHVyZSBjb2RlcyBlbWJlZCB0aGUgc3BlY2ltZW4vb3JnYW4gc3lzdGVtIGluIHRoZSB0ZXN0IG9yZGVyIG5hbWUsIGZvciBleGFtcGxlLCAgc2VydW0gb3Igc2VydW0vcGxhc21hIGdsdWNvc2UsIG9yIGEgY2hlc3QgeC1yYXkuIFRoZSBzcGVjaW1lbiBtaWdodCBub3QgYmUgcmVjb3JkZWQgc2VwYXJhdGVseSBmcm9tIHRoZSB0ZXN0IGNvZGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iVmFsdWVTZXQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJvcmRlckRldGFpbCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFkZGl0aW9uYWwgb3JkZXIgaW5mb3JtYXRpb24iIGRlZmluaXRpb249IkFkZGl0aW9uYWwgZGV0YWlscyBhbmQgaW5zdHJ1Y3Rpb25zIGFib3V0IHRoZSBob3cgdGhlIHNlcnZpY2VzIGFyZSB0byBiZSBkZWxpdmVyZWQuICAgRm9yIGV4YW1wbGUsIGFuZCBvcmRlciBmb3IgYSB1cmluYXJ5IGNhdGhldGVyIG1heSBoYXZlIGFuIG9yZGVyIGRldGFpbCBmb3IgYW4gZXh0ZXJuYWwgb3IgaW5kd2VsbGluZyBjYXRoZXRlciwgb3IgYW4gb3JkZXIgZm9yIGEgYmFuZGFnZSBtYXkgcmVxdWlyZSBhZGRpdGlvbmFsIGluc3RydWN0aW9ucyBzcGVjaWZ5aW5nIGhvdyB0aGUgYmFuZGFnZSBzaG91bGQgYmUgYXBwbGllZC4iIGNvbW1lbnQ9IkZvciBpbmZvcm1hdGlvbiBmcm9tIHRoZSBtZWRpY2FsIHJlY29yZCBpbnRlbmRlZCB0byBzdXBwb3J0IHRoZSBkZWxpdmVyeSBvZiB0aGUgcmVxdWVzdGVkIHNlcnZpY2VzLCB1c2UgdGhlIGBzdXBwb3J0aW5nSW5mb3JtYXRpb25gIGVsZW1lbnQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9yZGVyRGV0YWlsIiBkZXNjcmlwdGlvbj0iQ29kaWZpZWQgb3JkZXIgZW50cnkgZGV0YWlscyB3aGljaCBhcmUgYmFzZWQgb24gb3JkZXIgY29udGV4dC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU2VydmljZSBhbW91bnQiIGRlZmluaXRpb249IkFuIGFtb3VudCBvZiBzZXJ2aWNlIGJlaW5nIHJlcXVlc3RlZCB3aGljaCBjYW4gYmUgYSBxdWFudGl0eSAoIGZvciBleGFtcGxlICQxLDUwMCBob21lIG1vZGlmaWNhdGlvbiksIGEgcmF0aW8gKCBmb3IgZXhhbXBsZSwgMjAgaGFsZiBkYXkgdmlzaXRzIHBlciBtb250aCksIG9yIGEgcmFuZ2UgKDIuMCB0byAxLjggR3kgcGVyIGZyYWN0aW9uKS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJSYXRpbyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkluZGl2aWR1YWwgb3IgRW50aXR5IHRoZSBzZXJ2aWNlIGlzIG9yZGVyZWQgZm9yIiBkZWZpbml0aW9uPSJPbiB3aG9tIG9yIHdoYXQgdGhlIHNlcnZpY2UgaXMgdG8gYmUgcGVyZm9ybWVkLiBUaGlzIGlzIHVzdWFsbHkgYSBodW1hbiBwYXRpZW50LCBidXQgY2FuIGFsc28gYmUgcmVxdWVzdGVkIG9uIGFuaW1hbHMsIGdyb3VwcyBvZiBodW1hbnMgb3IgYW5pbWFscywgZGV2aWNlcyBzdWNoIGFzIGRpYWx5c2lzIG1hY2hpbmVzLCBvciBldmVuIGxvY2F0aW9ucyAodHlwaWNhbGx5IGZvciBlbnZpcm9ubWVudGFsIHNjYW5zKS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJFbmNvdW50ZXIgaW4gd2hpY2ggdGhlIHJlcXVlc3Qgd2FzIGNyZWF0ZWQiIGRlZmluaXRpb249IkFuIGVuY291bnRlciB0aGF0IHByb3ZpZGVzIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGhlYWx0aGNhcmUgY29udGV4dCBpbiB3aGljaCB0aGlzIHJlcXVlc3QgaXMgbWFkZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im9jY3VycmVuY2UiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2hlbiBzZXJ2aWNlIHNob3VsZCBvY2N1ciIgZGVmaW5pdGlvbj0iVGhlIGRhdGUvdGltZSBhdCB3aGljaCB0aGUgcmVxdWVzdGVkIHNlcnZpY2Ugc2hvdWxkIG9jY3VyLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGltaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYXNOZWVkZWQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUHJlY29uZGl0aW9ucyBmb3Igc2VydmljZSIgZGVmaW5pdGlvbj0iSWYgYSBDb2RlYWJsZUNvbmNlcHQgaXMgcHJlc2VudCwgaXQgaW5kaWNhdGVzIHRoZSBwcmUtY29uZGl0aW9uIGZvciBwZXJmb3JtaW5nIHRoZSBzZXJ2aWNlLiAgRm9yIGV4YW1wbGUgJnF1b3Q7cGFpbiZxdW90OywgJnF1b3Q7b24gZmxhcmUtdXAmcXVvdDssIGV0Yy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJCb29sZWFuIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUHJvY2VkdXJlQXNOZWVkZWRSZWFzb24iIGRlc2NyaXB0aW9uPSJBIGNvZGVkIGNvbmNlcHQgaWRlbnRpZnlpbmcgdGhlIHByZS1jb25kaXRpb24gdGhhdCBzaG91bGQgaG9sZCBwcmlvciB0byBwZXJmb3JtaW5nIGEgcHJvY2VkdXJlLiAgRm9yIGV4YW1wbGUgJnF1b3Q7cGFpbiZxdW90OywgJnF1b3Q7b24gZmxhcmUtdXAmcXVvdDssIGV0Yy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yZWRPbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEYXRlIHJlcXVlc3Qgc2lnbmVkIiBkZWZpbml0aW9uPSJXaGVuIHRoZSByZXF1ZXN0IHRyYW5zaXRpb25lZCB0byBiZWluZyBhY3Rpb25hYmxlLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVxdWVzdGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249Ildoby93aGF0IGlzIHJlcXVlc3Rpbmcgc2VydmljZSIgZGVmaW5pdGlvbj0iVGhlIGluZGl2aWR1YWwgd2hvIGluaXRpYXRlZCB0aGUgcmVxdWVzdCBhbmQgaGFzIHJlc3BvbnNpYmlsaXR5IGZvciBpdHMgYWN0aXZhdGlvbi4iIGNvbW1lbnQ9IlRoaXMgbm90IHRoZSBkaXNwYXRjaGVyLCBidXQgcmF0aGVyIHdobyBpcyB0aGUgYXV0aG9yaXplci4gIFRoaXMgZWxlbWVudCBpcyBub3QgaW50ZW5kZWQgdG8gaGFuZGxlIGRlbGVnYXRpb24gd2hpY2ggd291bGQgZ2VuZXJhbGx5IGJlIG1hbmFnZWQgdGhyb3VnaCB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lclR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlBlcmZvcm1lciByb2xlIiBkZWZpbml0aW9uPSJEZXNpcmVkIHR5cGUgb2YgcGVyZm9ybWVyIGZvciBkb2luZyB0aGUgcmVxdWVzdGVkIHNlcnZpY2UuIiBjb21tZW50PSJUaGlzIGlzIGEgIHJvbGUsIG5vdCAgYSBwYXJ0aWNpcGF0aW9uIHR5cGUuICBJbiBvdGhlciB3b3JkcywgZG9lcyBub3QgZGVzY3JpYmUgdGhlIHRhc2sgYnV0IGRlc2NyaWJlcyB0aGUgY2FwYWNpdHkuICBGb3IgZXhhbXBsZSwg4oCcY29tcG91bmRpbmcgcGhhcm1hY3nigJ0sIOKAnHBzeWNoaWF0cmlzdOKAnSBvciDigJxpbnRlcm5hbCByZWZlcnJhbOKAnS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTZXJ2aWNlUmVxdWVzdFBhcnRpY2lwYW50Um9sZSIgZGVzY3JpcHRpb249IkluZGljYXRlcyBzcGVjaWZpYyByZXNwb25zaWJpbGl0eSBvZiBhbiBpbmRpdmlkdWFsIHdpdGhpbiB0aGUgY2FyZSB0ZWFtLCBzdWNoIGFzICZxdW90O1ByaW1hcnkgcGh5c2ljaWFuJnF1b3Q7LCAmcXVvdDtUZWFtIGNvb3JkaW5hdG9yJnF1b3Q7LCAmcXVvdDtDYXJlZ2l2ZXImcXVvdDssIGV0Yy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iUmVxdWVzdGVkIHBlcmZvcm1lciIgZGVmaW5pdGlvbj0iVGhlIGRlc2lyZWQgcGVyZm9ybWVyIGZvciBkb2luZyB0aGUgcmVxdWVzdGVkIHNlcnZpY2UuICBGb3IgZXhhbXBsZSwgdGhlIHN1cmdlb24sIGRlcm1hdG9wYXRob2xvZ2lzdCwgZW5kb3Njb3Bpc3QsIGV0Yy4iIGNvbW1lbnQ9IklmIG11bHRpcGxlIHBlcmZvcm1lcnMgYXJlIHByZXNlbnQsIGl0IGlzIGludGVycHJldGVkIGFzIGEgbGlzdCBvZiAqYWx0ZXJuYXRpdmUqIHBlcmZvcm1lcnMgd2l0aG91dCBhbnkgcHJlZmVyZW5jZSByZWdhcmRsZXNzIG9mIG9yZGVyLiAgSWYgb3JkZXIgb2YgcHJlZmVyZW5jZSBpcyBuZWVkZWQgdXNlIHRoZSBbcmVxdWVzdC1wZXJmb3JtZXJPcmRlciBleHRlbnNpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLXJlcXVlc3QtcGVyZm9ybWVyb3JkZXIuaHRtbCkuICBVc2UgQ2FyZVRlYW0gdG8gcmVwcmVzZW50IGEgZ3JvdXAgb2YgcGVyZm9ybWVycyAoZm9yIGV4YW1wbGUsIFByYWN0aXRpb25lciBBICphbmQqIFByYWN0aXRpb25lciBCKS4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibG9jYXRpb25Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmVxdWVzdGVkIGxvY2F0aW9uIiBkZWZpbml0aW9uPSJUaGUgcHJlZmVycmVkIGxvY2F0aW9uKHMpIHdoZXJlIHRoZSBwcm9jZWR1cmUgc2hvdWxkIGFjdHVhbGx5IGhhcHBlbiBpbiBjb2RlZCBvciBmcmVlIHRleHQgZm9ybS4gRS5nLiBhdCBob21lIG9yIG51cnNpbmcgZGF5IGNhcmUgY2VudGVyLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTZXJ2aWNlUmVxdWVzdExvY2F0aW9uIiBkZXNjcmlwdGlvbj0iQSBsb2NhdGlvbiB0eXBlIHdoZXJlIHNlcnZpY2VzIGFyZSBkZWxpdmVyZWQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImxvY2F0aW9uUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iUmVxdWVzdGVkIGxvY2F0aW9uIiBkZWZpbml0aW9uPSJBIHJlZmVyZW5jZSB0byB0aGUgdGhlIHByZWZlcnJlZCBsb2NhdGlvbihzKSB3aGVyZSB0aGUgcHJvY2VkdXJlIHNob3VsZCBhY3R1YWxseSBoYXBwZW4uIEUuZy4gYXQgaG9tZSBvciBudXJzaW5nIGRheSBjYXJlIGNlbnRlci4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvbkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJFeHBsYW5hdGlvbi9KdXN0aWZpY2F0aW9uIGZvciBwcm9jZWR1cmUgb3Igc2VydmljZSIgZGVmaW5pdGlvbj0iQW4gZXhwbGFuYXRpb24gb3IganVzdGlmaWNhdGlvbiBmb3Igd2h5IHRoaXMgc2VydmljZSBpcyBiZWluZyByZXF1ZXN0ZWQgaW4gY29kZWQgb3IgdGV4dHVhbCBmb3JtLiAgIFRoaXMgaXMgb2Z0ZW4gZm9yIGJpbGxpbmcgcHVycG9zZXMuICBNYXkgcmVsYXRlIHRvIHRoZSByZXNvdXJjZXMgcmVmZXJyZWQgdG8gaW4gYHN1cHBvcnRpbmdJbmZvYC4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCByZXByZXNlbnRzIHdoeSB0aGUgcmVmZXJyYWwgaXMgYmVpbmcgbWFkZSBhbmQgbWF5IGJlIHVzZWQgdG8gZGVjaWRlIGhvdyB0aGUgc2VydmljZSB3aWxsIGJlIHBlcmZvcm1lZCwgb3IgZXZlbiBpZiBpdCB3aWxsIGJlIHBlcmZvcm1lZCBhdCBhbGwuICAgVXNlIGBDb2RlYWJsZUNvbmNlcHQudGV4dGAgZWxlbWVudCBpZiB0aGUgZGF0YSBpcyBmcmVlICh1bmNvZGVkKSB0ZXh0IGFzIHNob3duIGluIHRoZSBbQ1QgU2NhbiBleGFtcGxlXShzZXJ2aWNlcmVxdWVzdC1leGFtcGxlLWRpLmh0bWwpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTZXJ2aWNlUmVxdWVzdFJlYXNvbiIgZGVzY3JpcHRpb249IkRpYWdub3NpcyBvciBwcm9ibGVtIGNvZGVzIGp1c3RpZnlpbmcgdGhlIHJlYXNvbiBmb3IgcmVxdWVzdGluZyB0aGUgc2VydmljZSBpbnZlc3RpZ2F0aW9uLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJFeHBsYW5hdGlvbi9KdXN0aWZpY2F0aW9uIGZvciBzZXJ2aWNlIG9yIHNlcnZpY2UiIGRlZmluaXRpb249IkluZGljYXRlcyBhbm90aGVyIHJlc291cmNlIHRoYXQgcHJvdmlkZXMgYSBqdXN0aWZpY2F0aW9uIGZvciB3aHkgdGhpcyBzZXJ2aWNlIGlzIGJlaW5nIHJlcXVlc3RlZC4gICBNYXkgcmVsYXRlIHRvIHRoZSByZXNvdXJjZXMgcmVmZXJyZWQgdG8gaW4gYHN1cHBvcnRpbmdJbmZvYC4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCByZXByZXNlbnRzIHdoeSB0aGUgcmVmZXJyYWwgaXMgYmVpbmcgbWFkZSBhbmQgbWF5IGJlIHVzZWQgdG8gZGVjaWRlIGhvdyB0aGUgc2VydmljZSB3aWxsIGJlIHBlcmZvcm1lZCwgb3IgZXZlbiBpZiBpdCB3aWxsIGJlIHBlcmZvcm1lZCBhdCBhbGwuICAgIFRvIGJlIGFzIHNwZWNpZmljIGFzIHBvc3NpYmxlLCAgYSByZWZlcmVuY2UgdG8gICpPYnNlcnZhdGlvbiogb3IgKkNvbmRpdGlvbiogc2hvdWxkIGJlIHVzZWQgaWYgYXZhaWxhYmxlLiAgT3RoZXJ3aXNlIHdoZW4gcmVmZXJlbmNpbmcgICpEaWFnbm9zdGljUmVwb3J0KiAgaXQgc2hvdWxkIGNvbnRhaW4gYSBmaW5kaW5nICBpbiBgRGlhZ25vc3RpY1JlcG9ydC5jb25jbHVzaW9uYCBhbmQvb3IgYERpYWdub3N0aWNSZXBvcnQuY29uY2x1c2lvbkNvZGVgLiAgIFdoZW4gdXNpbmcgYSByZWZlcmVuY2UgdG8gKkRvY3VtZW50UmVmZXJlbmNlKiwgdGhlIHRhcmdldCBkb2N1bWVudCBzaG91bGQgY29udGFpbiBjbGVhciBmaW5kaW5ncyBsYW5ndWFnZSBwcm92aWRpbmcgdGhlIHJlbGV2YW50IHJlYXNvbiBmb3IgdGhpcyBzZXJ2aWNlIHJlcXVlc3QuICBVc2UgIHRoZSBDb2RlYWJsZUNvbmNlcHQgdGV4dCBlbGVtZW50IGluIGBTZXJ2aWNlUmVxdWVzdC5yZWFzb25Db2RlYCBpZiB0aGUgZGF0YSBpcyBmcmVlICh1bmNvZGVkKSB0ZXh0IGFzIHNob3duIGluIHRoZSBbQ1QgU2NhbiBleGFtcGxlXShzZXJ2aWNlcmVxdWVzdC1leGFtcGxlLWRpLmh0bWwpLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imluc3VyYW5jZSIgZGVzY3JpcHRpb249IkFzc29jaWF0ZWQgaW5zdXJhbmNlIGNvdmVyYWdlIiBkZWZpbml0aW9uPSJJbnN1cmFuY2UgcGxhbnMsIGNvdmVyYWdlIGV4dGVuc2lvbnMsIHByZS1hdXRob3JpemF0aW9ucyBhbmQvb3IgcHJlLWRldGVybWluYXRpb25zIHRoYXQgbWF5IGJlIG5lZWRlZCBmb3IgZGVsaXZlcmluZyB0aGUgcmVxdWVzdGVkIHNlcnZpY2UuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdXBwb3J0aW5nSW5mbyIgZGVzY3JpcHRpb249IkFkZGl0aW9uYWwgY2xpbmljYWwgaW5mb3JtYXRpb24iIGRlZmluaXRpb249IkFkZGl0aW9uYWwgY2xpbmljYWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHBhdGllbnQgb3Igc3BlY2ltZW4gdGhhdCBtYXkgaW5mbHVlbmNlIHRoZSBzZXJ2aWNlcyBvciB0aGVpciBpbnRlcnByZXRhdGlvbnMuICAgICBUaGlzIGluZm9ybWF0aW9uIGluY2x1ZGVzIGRpYWdub3NpcywgY2xpbmljYWwgZmluZGluZ3MgYW5kIG90aGVyIG9ic2VydmF0aW9ucy4gIEluIGxhYm9yYXRvcnkgb3JkZXJpbmcgdGhlc2UgYXJlIHR5cGljYWxseSByZWZlcnJlZCB0byBhcyAmcXVvdDthc2sgYXQgb3JkZXIgZW50cnkgcXVlc3Rpb25zIChBT0VzKSZxdW90Oy4gIFRoaXMgaW5jbHVkZXMgb2JzZXJ2YXRpb25zIGV4cGxpY2l0bHkgcmVxdWVzdGVkIGJ5IHRoZSBwcm9kdWNlciAoZmlsbGVyKSB0byBwcm92aWRlIGNvbnRleHQgb3Igc3VwcG9ydGluZyBpbmZvcm1hdGlvbiBuZWVkZWQgdG8gY29tcGxldGUgdGhlIG9yZGVyLiBGb3IgZXhhbXBsZSwgIHJlcG9ydGluZyB0aGUgYW1vdW50IG9mIGluc3BpcmVkIG94eWdlbiBmb3IgYmxvb2QgZ2FzIG1lYXN1cmVtZW50cy4iIGNvbW1lbnQ9IlRvIHJlcHJlc2VudCBpbmZvcm1hdGlvbiBhYm91dCBob3cgdGhlIHNlcnZpY2VzIGFyZSB0byBiZSBkZWxpdmVyZWQgdXNlIHRoZSBgaW5zdHJ1Y3Rpb25zYCBlbGVtZW50LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3BlY2ltZW4iIGRlc2NyaXB0aW9uPSJQcm9jZWR1cmUgU2FtcGxlcyIgZGVmaW5pdGlvbj0iT25lIG9yIG1vcmUgc3BlY2ltZW5zIHRoYXQgdGhlIGxhYm9yYXRvcnkgcHJvY2VkdXJlIHdpbGwgdXNlLiIgY29tbWVudD0iTWFueSBkaWFnbm9zdGljIHByb2NlZHVyZXMgbmVlZCBhIHNwZWNpbWVuLCBidXQgdGhlIHJlcXVlc3QgaXRzZWxmIGlzIG5vdCBhY3R1YWxseSBhYm91dCB0aGUgc3BlY2ltZW4uIFRoaXMgZWxlbWVudCBpcyBmb3Igd2hlbiB0aGUgZGlhZ25vc3RpYyBpcyByZXF1ZXN0ZWQgb24gYWxyZWFkeSBleGlzdGluZyBzcGVjaW1lbnMgYW5kIHRoZSByZXF1ZXN0IHBvaW50cyB0byB0aGUgc3BlY2ltZW4gaXQgYXBwbGllcyB0by4gICAgQ29udmVyc2VseSwgaWYgdGhlIHJlcXVlc3QgaXMgZW50ZXJlZCBmaXJzdCB3aXRoIGFuIHVua25vd24gc3BlY2ltZW4sIHRoZW4gdGhlIFtTcGVjaW1lbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9zcGVjaW1lbi5odG1sKSByZXNvdXJjZSBwb2ludHMgdG8gdGhlIFNlcnZpY2VSZXF1ZXN0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJMb2NhdGlvbiBvbiBCb2R5IiBkZWZpbml0aW9uPSJBbmF0b21pYyBsb2NhdGlvbiB3aGVyZSB0aGUgcHJvY2VkdXJlIHNob3VsZCBiZSBwZXJmb3JtZWQuIFRoaXMgaXMgdGhlIHRhcmdldCBzaXRlLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiB0aGUgY29kZSBmb3VuZCBpbiBTZXJ2aWNlUmVxdWVzdC5jb2RlLiAgSWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb2RlZCBlbGVtZW50IChlLmcuIHRvIGlkZW50aWZ5IGFuZCB0cmFjayBzZXBhcmF0ZWx5KSAgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbcHJvY2VkdXJlLXRhcmdldEJvZHlTdHJ1Y3R1cmVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLXByb2NlZHVyZS10YXJnZXRib2R5c3RydWN0dXJlLmh0bWwpLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkFuYXRvbWljIGxvY2F0aW9uIHdoZXJlIHRoZSBwcm9jZWR1cmUgc2hvdWxkIGJlIHBlcmZvcm1lZC4gVGhpcyBpcyB0aGUgdGFyZ2V0IHNpdGUiIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMiIGRlZmluaXRpb249IkFueSBvdGhlciBub3RlcyBhbmQgY29tbWVudHMgbWFkZSBhYm91dCB0aGUgc2VydmljZSByZXF1ZXN0LiBGb3IgZXhhbXBsZSwgaW50ZXJuYWwgYmlsbGluZyBub3Rlcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXRpZW50SW5zdHJ1Y3Rpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlBhdGllbnQgb3IgY29uc3VtZXItb3JpZW50ZWQgaW5zdHJ1Y3Rpb25zIiBkZWZpbml0aW9uPSJJbnN0cnVjdGlvbnMgaW4gdGVybXMgdGhhdCBhcmUgdW5kZXJzdG9vZCBieSB0aGUgcGF0aWVudCBvciBjb25zdW1lci4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVsZXZhbnRIaXN0b3J5IiBkZXNjcmlwdGlvbj0iUmVxdWVzdCBwcm92ZW5hbmNlIiBkZWZpbml0aW9uPSJLZXkgZXZlbnRzIGluIHRoZSBoaXN0b3J5IG9mIHRoZSByZXF1ZXN0LiIgY29tbWVudD0iVGhpcyBtaWdodCBub3QgaW5jbHVkZSBwcm92ZW5hbmNlcyBmb3IgYWxsIHZlcnNpb25zIG9mIHRoZSByZXF1ZXN0IOKAkyBvbmx5IHRob3NlIGRlZW1lZCDigJxyZWxldmFudOKAnSBvciBpbXBvcnRhbnQuJiN4ZDtUaGlzIFNIQUxMIE5PVCBpbmNsdWRlIHRoZSBQcm92ZW5hbmNlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgcmVzb3VyY2UuICAoSWYgdGhhdCBwcm92ZW5hbmNlIGlzIGRlZW1lZCB0byBiZSBhIOKAnHJlbGV2YW504oCdIGNoYW5nZSwgaXQgd2lsbCBuZWVkIHRvIGJlIGFkZGVkIGFzIHBhcnQgb2YgYSBsYXRlciB1cGRhdGUuICBVbnRpbCB0aGVuLCBpdCBjYW4gYmUgcXVlcmllZCBkaXJlY3RseSBhcyB0aGUgUHJvdmVuYW5jZSB0aGF0IHBvaW50cyB0byB0aGlzIHZlcnNpb24gdXNpbmcgX3JldmluY2x1ZGUmI3hkO0FsbCBQcm92ZW5hbmNlcyBzaG91bGQgaGF2ZSBzb21lIGhpc3RvcmljYWwgdmVyc2lvbiBvZiB0aGlzIFJlcXVlc3QgYXMgdGhlaXIgc3ViamVjdC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU2VydmljZVJlcXVlc3QiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLXNlcnZpY2VyZXF1ZXN0IiBsYWJlbD0iUUlDb3JlIFNlcnZpY2VSZXF1ZXN0IiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iYXBwcm9hY2hCb2R5U3RydWN0dXJlIiB0YXJnZXQ9IiVwYXJlbnQuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL3Byb2NlZHVyZS1hcHByb2FjaEJvZHlTdHJ1Y3R1cmUnXSIgZGVzY3JpcHRpb249IlRoZSBhY2Nlc3MgcG9pbnQgb3IgcG9pbnRzIHVzZWQgZm9yIHRoaXMgcHJvY2VkdXJlIiBkZWZpbml0aW9uPSJUaGUgYXBwcm9hY2ggYm9keSBzaXRlIHVzZWQgZm9yIHRoaXMgcHJvY2VkdXJlLiAgTXVsdGlwbGUgbG9jYXRpb25zIGFyZSBhbGxvd2VkLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuYXBwcm9hY2hCb2R5U3RydWN0dXJlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhcHByb3ByaWF0ZW5lc3NTY29yZSIgdGFyZ2V0PSIlcGFyZW50LmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLXNlcnZpY2VyZXF1ZXN0LWFwcHJvcHJpYXRlbmVzc1Njb3JlJ10iIGRlc2NyaXB0aW9uPSJBcHByb3ByaWF0ZW5lc3MgU2NvcmUiIGRlZmluaXRpb249IlRoZSBSQU5EIGFwcHJvcHJpYXRlbmVzcyBzY29yZSBmb3IgdGhlIHJlcXVlc3RlZCBwcm9jZWR1cmUuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iaXNFbGVjdGl2ZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5Jc0VsZWN0aXZlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkV4dGVuc2lvbiIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdoZXRoZXIgdGhpcyBpcyBhbiBlbGVjdGl2ZSBwcm9jZWR1cmUuIiBjb21tZW50PSJUaGUgcmVhc29uIHRoaXMgZXh0ZW5zaW9uIGlzIGEgbW9kaWZpZXIgaXMgYmVjYXVzZSwgaWYgdHJ1ZSwgdGhpcyBlbGVtZW50IG1hcmtzIHRoZSBzcGVjaWZpZWQgcmVxdWVzdCBhcyBlbGVjdGl2ZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIG9yZGVyIiBkZWZpbml0aW9uPSJJZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIG9yZGVyIGluc3RhbmNlIGJ5IHRoZSBvcmRlcmVyIGFuZC9vciB0aGUgcmVjZWl2ZXIgYW5kL29yIG9yZGVyIGZ1bGZpbGxlci4iIGNvbW1lbnQ9IlRoZSBpZGVudGlmaWVyLnR5cGUgZWxlbWVudCBpcyB1c2VkIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gdGhlIGlkZW50aWZpZXJzIGFzc2lnbmVkIGJ5IHRoZSBvcmRlcmVyIChrbm93biBhcyB0aGUgJ1BsYWNlcicgaW4gSEw3IHYyKSBhbmQgdGhlIHByb2R1Y2VyIG9mIHRoZSBvYnNlcnZhdGlvbnMgaW4gcmVzcG9uc2UgdG8gdGhlIG9yZGVyIChrbm93biBhcyB0aGUgJ0ZpbGxlcicgaW4gSEw3IHYyKS4gIEZvciBmdXJ0aGVyIGRpc2N1c3Npb24gYW5kIGV4YW1wbGVzIHNlZSB0aGUgcmVzb3VyY2Ugbm90ZXMgc2VjdGlvbiBiZWxvdy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNDYW5vbmljYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIEZISVIgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhIEZISVItZGVmaW5lZCBwcm90b2NvbCwgZ3VpZGVsaW5lLCBvcmRlcnNldCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgU2VydmljZVJlcXVlc3QuIiBjb21tZW50PSJOb3RlOiBUaGlzIGlzIGEgYnVzaW5lc3MgaWRlbnRpZmllciwgbm90IGEgcmVzb3VyY2UgaWRlbnRpZmllciAoc2VlIFtkaXNjdXNzaW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3Jlc291cmNlLmh0bWwjaWRlbnRpZmllcnMpKS4gIEl0IGlzIGJlc3QgcHJhY3RpY2UgZm9yIHRoZSBpZGVudGlmaWVyIHRvIG9ubHkgYXBwZWFyIG9uIGEgc2luZ2xlIHJlc291cmNlIGluc3RhbmNlLCBob3dldmVyIGJ1c2luZXNzIHByYWN0aWNlcyBtYXkgb2NjYXNpb25hbGx5IGRpY3RhdGUgdGhhdCBtdWx0aXBsZSByZXNvdXJjZSBpbnN0YW5jZXMgd2l0aCB0aGUgc2FtZSBpZGVudGlmaWVyIGNhbiBleGlzdCAtIHBvc3NpYmx5IGV2ZW4gd2l0aCBkaWZmZXJlbnQgcmVzb3VyY2UgdHlwZXMuICBGb3IgZXhhbXBsZSwgbXVsdGlwbGUgUGF0aWVudCBhbmQgYSBQZXJzb24gcmVzb3VyY2UgaW5zdGFuY2UgbWlnaHQgc2hhcmUgdGhlIHNhbWUgc29jaWFsIGluc3VyYW5jZSBudW1iZXIuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNVcmkiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIGV4dGVybmFsIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYW4gZXh0ZXJuYWxseSBtYWludGFpbmVkIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyc2V0IG9yIG90aGVyIGRlZmluaXRpb24gdGhhdCBpcyBhZGhlcmVkIHRvIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBTZXJ2aWNlUmVxdWVzdC4iIGNvbW1lbnQ9IlRoaXMgbWlnaHQgYmUgYW4gSFRNTCBwYWdlLCBQREYsIGV0Yy4gb3IgY291bGQganVzdCBiZSBhIG5vbi1yZXNvbHZhYmxlIFVSSSBpZGVudGlmaWVyLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IldoYXQgcmVxdWVzdCBmdWxmaWxscyIgZGVmaW5pdGlvbj0iUGxhbi9wcm9wb3NhbC9vcmRlciBmdWxmaWxsZWQgYnkgdGhpcyByZXF1ZXN0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVwbGFjZXMiIGRlc2NyaXB0aW9uPSJXaGF0IHJlcXVlc3QgcmVwbGFjZXMiIGRlZmluaXRpb249IlRoZSByZXF1ZXN0IHRha2VzIHRoZSBwbGFjZSBvZiB0aGUgcmVmZXJlbmNlZCBjb21wbGV0ZWQgb3IgdGVybWluYXRlZCByZXF1ZXN0KHMpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVxdWlzaXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgZGVzY3JpcHRpb249IkNvbXBvc2l0ZSBSZXF1ZXN0IElEIiBkZWZpbml0aW9uPSJBIHNoYXJlZCBpZGVudGlmaWVyIGNvbW1vbiB0byBhbGwgc2VydmljZSByZXF1ZXN0cyB0aGF0IHdlcmUgYXV0aG9yaXplZCBtb3JlIG9yIGxlc3Mgc2ltdWx0YW5lb3VzbHkgYnkgYSBzaW5nbGUgYXV0aG9yLCByZXByZXNlbnRpbmcgdGhlIGNvbXBvc2l0ZSBvciBncm91cCBpZGVudGlmaWVyLiIgY29tbWVudD0iUmVxdWVzdHMgYXJlIGxpbmtlZCBlaXRoZXIgYnkgYSAmcXVvdDtiYXNlZE9uJnF1b3Q7IHJlbGF0aW9uc2hpcCAoaS5lLiBvbmUgcmVxdWVzdCBpcyBmdWxmaWxsaW5nIGFub3RoZXIpIG9yIGJ5IGhhdmluZyBhIGNvbW1vbiByZXF1aXNpdGlvbi4gUmVxdWVzdHMgdGhhdCBhcmUgcGFydCBvZiB0aGUgc2FtZSByZXF1aXNpdGlvbiBhcmUgZ2VuZXJhbGx5IHRyZWF0ZWQgaW5kZXBlbmRlbnRseSBmcm9tIHRoZSBwZXJzcGVjdGl2ZSBvZiBjaGFuZ2luZyB0aGVpciBzdGF0ZSBvciBtYWludGFpbmluZyB0aGVtIGFmdGVyIGluaXRpYWwgY3JlYXRpb24uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5TZXJ2aWNlUmVxdWVzdFN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJkcmFmdOKAiyB8IGFjdGl2ZeKAiyB8IG9uLWhvbGTigIsgfCByZXZva2Vk4oCLIHwgZW50ZXJlZC1pbi1lcnJvcuKAiyB8IHVua25vd27igIsiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIG9yZGVyLiIgY29tbWVudD0iVGhlIHN0YXR1cyBpcyBnZW5lcmFsbHkgZnVsbHkgaW4gdGhlIGNvbnRyb2wgb2YgdGhlIHJlcXVlc3RlciAtIHRoZXkgZGV0ZXJtaW5lIHdoZXRoZXIgdGhlIG9yZGVyIGlzIGRyYWZ0IG9yIGFjdGl2ZSBhbmQsIGFmdGVyIGl0IGhhcyBiZWVuIGFjdGl2YXRlZCwgY29tcGV0ZWQsIGNhbmNlbGxlZCBvciBzdXNwZW5kZWQuIFN0YXRlcyByZWxhdGluZyB0byB0aGUgYWN0aXZpdGllcyBvZiB0aGUgcGVyZm9ybWVyIGFyZSByZWZsZWN0ZWQgb24gZWl0aGVyIHRoZSBjb3JyZXNwb25kaW5nIGV2ZW50IChzZWUgW0V2ZW50IFBhdHRlcm5dKGV2ZW50Lmh0bWwpIGZvciBnZW5lcmFsIGRpc2N1c3Npb24pIG9yIHVzaW5nIHRoZSBbVGFza10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC90YXNrLmh0bWwpIHJlc291cmNlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTZXJ2aWNlUmVxdWVzdFN0YXR1cyIgZGVzY3JpcHRpb249IlRoZSBzdGF0dXMgb2YgYSBzZXJ2aWNlIG9yZGVyLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZW50IiBlbGVtZW50VHlwZT0iUUlDb3JlLlNlcnZpY2VSZXF1ZXN0SW50ZW50IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InByb3Bvc2FsIHwgcGxhbiB8IGRpcmVjdGl2ZSB8IG9yZGVyIHwgb3JpZ2luYWwtb3JkZXIgfCByZWZsZXgtb3JkZXIgfCBmaWxsZXItb3JkZXIgfCBpbnN0YW5jZS1vcmRlciB8IG9wdGlvbiIgZGVmaW5pdGlvbj0iV2hldGhlciB0aGUgcmVxdWVzdCBpcyBhIHByb3Bvc2FsLCBwbGFuLCBhbiBvcmlnaW5hbCBvcmRlciBvciBhIHJlZmxleCBvcmRlci4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgaW50ZW50IGFsdGVycyB3aGVuIGFuZCBob3cgdGhlIHJlc291cmNlIGlzIGFjdHVhbGx5IGFwcGxpY2FibGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlNlcnZpY2VSZXF1ZXN0SW50ZW50IiBkZXNjcmlwdGlvbj0iVGhlIGtpbmQgb2Ygc2VydmljZSByZXF1ZXN0LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiBzZXJ2aWNlIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBzZXJ2aWNlIGZvciBzZWFyY2hpbmcsIHNvcnRpbmcgYW5kIGRpc3BsYXkgcHVycG9zZXMgKGUuZy4gJnF1b3Q7U3VyZ2ljYWwgUHJvY2VkdXJlJnF1b3Q7KS4iIGNvbW1lbnQ9IlRoZXJlIG1heSBiZSBtdWx0aXBsZSBheGlzIG9mIGNhdGVnb3JpemF0aW9uIGRlcGVuZGluZyBvbiB0aGUgY29udGV4dCBvciB1c2UgY2FzZSBmb3IgcmV0cmlldmluZyBvciBkaXNwbGF5aW5nIHRoZSByZXNvdXJjZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU2VydmljZVJlcXVlc3RDYXRlZ29yeSIgZGVzY3JpcHRpb249IkNsYXNzaWZpY2F0aW9uIG9mIHRoZSByZXF1ZXN0ZWQgc2VydmljZS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idXMtY29yZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNsYXNzaWZpY2F0aW9uIG9mIHNlcnZpY2UiIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIHNlcnZpY2UgZm9yIHNlYXJjaGluZywgc29ydGluZyBhbmQgZGlzcGxheSBwdXJwb3NlcyAoZS5nLiAmcXVvdDtTdXJnaWNhbCBQcm9jZWR1cmUmcXVvdDspLiIgY29tbWVudD0iVGhlcmUgbWF5IGJlIG11bHRpcGxlIGF4aXMgb2YgY2F0ZWdvcml6YXRpb24gZGVwZW5kaW5nIG9uIHRoZSBjb250ZXh0IG9yIHVzZSBjYXNlIGZvciByZXRyaWV2aW5nIG9yIGRpc3BsYXlpbmcgdGhlIHJlc291cmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwcmlvcml0eSIgZWxlbWVudFR5cGU9IlFJQ29yZS5TZXJ2aWNlUmVxdWVzdFByaW9yaXR5IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InJvdXRpbmUgfCB1cmdlbnQgfCBhc2FwIHwgc3RhdCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGhvdyBxdWlja2x5IHRoZSBTZXJ2aWNlUmVxdWVzdCBzaG91bGQgYmUgYWRkcmVzc2VkIHdpdGggcmVzcGVjdCB0byBvdGhlciByZXF1ZXN0cy4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTZXJ2aWNlUmVxdWVzdFByaW9yaXR5IiBkZXNjcmlwdGlvbj0iSWRlbnRpZmllcyB0aGUgbGV2ZWwgb2YgaW1wb3J0YW5jZSB0byBiZSBhc3NpZ25lZCB0byBhY3Rpb25pbmcgdGhlIHJlcXVlc3QuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaGF0IGlzIGJlaW5nIHJlcXVlc3RlZC9vcmRlcmVkIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBpZGVudGlmaWVzIGEgcGFydGljdWxhciBzZXJ2aWNlIChpLmUuLCBwcm9jZWR1cmUsIGRpYWdub3N0aWMgaW52ZXN0aWdhdGlvbiwgb3IgcGFuZWwgb2YgaW52ZXN0aWdhdGlvbnMpIHRoYXQgaGF2ZSBiZWVuIHJlcXVlc3RlZC4iIGNvbW1lbnQ9Ik1hbnkgbGFib3JhdG9yeSBhbmQgcmFkaW9sb2d5IHByb2NlZHVyZSBjb2RlcyBlbWJlZCB0aGUgc3BlY2ltZW4vb3JnYW4gc3lzdGVtIGluIHRoZSB0ZXN0IG9yZGVyIG5hbWUsIGZvciBleGFtcGxlLCAgc2VydW0gb3Igc2VydW0vcGxhc21hIGdsdWNvc2UsIG9yIGEgY2hlc3QgeC1yYXkuIFRoZSBzcGVjaW1lbiBtaWdodCBub3QgYmUgcmVjb3JkZWQgc2VwYXJhdGVseSBmcm9tIHRoZSB0ZXN0IGNvZGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ib3JkZXJEZXRhaWwiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBZGRpdGlvbmFsIG9yZGVyIGluZm9ybWF0aW9uIiBkZWZpbml0aW9uPSJBZGRpdGlvbmFsIGRldGFpbHMgYW5kIGluc3RydWN0aW9ucyBhYm91dCB0aGUgaG93IHRoZSBzZXJ2aWNlcyBhcmUgdG8gYmUgZGVsaXZlcmVkLiAgIEZvciBleGFtcGxlLCBhbmQgb3JkZXIgZm9yIGEgdXJpbmFyeSBjYXRoZXRlciBtYXkgaGF2ZSBhbiBvcmRlciBkZXRhaWwgZm9yIGFuIGV4dGVybmFsIG9yIGluZHdlbGxpbmcgY2F0aGV0ZXIsIG9yIGFuIG9yZGVyIGZvciBhIGJhbmRhZ2UgbWF5IHJlcXVpcmUgYWRkaXRpb25hbCBpbnN0cnVjdGlvbnMgc3BlY2lmeWluZyBob3cgdGhlIGJhbmRhZ2Ugc2hvdWxkIGJlIGFwcGxpZWQuIiBjb21tZW50PSJGb3IgaW5mb3JtYXRpb24gZnJvbSB0aGUgbWVkaWNhbCByZWNvcmQgaW50ZW5kZWQgdG8gc3VwcG9ydCB0aGUgZGVsaXZlcnkgb2YgdGhlIHJlcXVlc3RlZCBzZXJ2aWNlcywgdXNlIHRoZSBgc3VwcG9ydGluZ0luZm9ybWF0aW9uYCBlbGVtZW50LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPcmRlckRldGFpbCIgZGVzY3JpcHRpb249IkNvZGlmaWVkIG9yZGVyIGVudHJ5IGRldGFpbHMgd2hpY2ggYXJlIGJhc2VkIG9uIG9yZGVyIGNvbnRleHQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlNlcnZpY2UgYW1vdW50IiBkZWZpbml0aW9uPSJBbiBhbW91bnQgb2Ygc2VydmljZSBiZWluZyByZXF1ZXN0ZWQgd2hpY2ggY2FuIGJlIGEgcXVhbnRpdHkgKCBmb3IgZXhhbXBsZSAkMSw1MDAgaG9tZSBtb2RpZmljYXRpb24pLCBhIHJhdGlvICggZm9yIGV4YW1wbGUsIDIwIGhhbGYgZGF5IHZpc2l0cyBwZXIgbW9udGgpLCBvciBhIHJhbmdlICgyLjAgdG8gMS44IEd5IHBlciBmcmFjdGlvbikuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUmF0aW8iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJJbmRpdmlkdWFsIG9yIEVudGl0eSB0aGUgc2VydmljZSBpcyBvcmRlcmVkIGZvciIgZGVmaW5pdGlvbj0iT24gd2hvbSBvciB3aGF0IHRoZSBzZXJ2aWNlIGlzIHRvIGJlIHBlcmZvcm1lZC4gVGhpcyBpcyB1c3VhbGx5IGEgaHVtYW4gcGF0aWVudCwgYnV0IGNhbiBhbHNvIGJlIHJlcXVlc3RlZCBvbiBhbmltYWxzLCBncm91cHMgb2YgaHVtYW5zIG9yIGFuaW1hbHMsIGRldmljZXMgc3VjaCBhcyBkaWFseXNpcyBtYWNoaW5lcywgb3IgZXZlbiBsb2NhdGlvbnMgKHR5cGljYWxseSBmb3IgZW52aXJvbm1lbnRhbCBzY2FucykuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iRW5jb3VudGVyIGluIHdoaWNoIHRoZSByZXF1ZXN0IHdhcyBjcmVhdGVkIiBkZWZpbml0aW9uPSJBbiBlbmNvdW50ZXIgdGhhdCBwcm92aWRlcyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBoZWFsdGhjYXJlIGNvbnRleHQgaW4gd2hpY2ggdGhpcyByZXF1ZXN0IGlzIG1hZGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJvY2N1cnJlbmNlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoZW4gc2VydmljZSBzaG91bGQgb2NjdXIiIGRlZmluaXRpb249IlRoZSBkYXRlL3RpbWUgYXQgd2hpY2ggdGhlIHJlcXVlc3RlZCBzZXJ2aWNlIHNob3VsZCBvY2N1ci4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRpbWluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFzTmVlZGVkIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlByZWNvbmRpdGlvbnMgZm9yIHNlcnZpY2UiIGRlZmluaXRpb249IklmIGEgQ29kZWFibGVDb25jZXB0IGlzIHByZXNlbnQsIGl0IGluZGljYXRlcyB0aGUgcHJlLWNvbmRpdGlvbiBmb3IgcGVyZm9ybWluZyB0aGUgc2VydmljZS4gIEZvciBleGFtcGxlICZxdW90O3BhaW4mcXVvdDssICZxdW90O29uIGZsYXJlLXVwJnF1b3Q7LCBldGMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJBIGNvZGVkIGNvbmNlcHQgaWRlbnRpZnlpbmcgdGhlIHByZS1jb25kaXRpb24gdGhhdCBzaG91bGQgaG9sZCBwcmlvciB0byBwZXJmb3JtaW5nIGEgcHJvY2VkdXJlLiAgRm9yIGV4YW1wbGUgJnF1b3Q7cGFpbiZxdW90OywgJnF1b3Q7b24gZmxhcmUtdXAmcXVvdDssIGV0Yy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhdXRob3JlZE9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUgcmVxdWVzdCBzaWduZWQiIGRlZmluaXRpb249IldoZW4gdGhlIHJlcXVlc3QgdHJhbnNpdGlvbmVkIHRvIGJlaW5nIGFjdGlvbmFibGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZXF1ZXN0ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvL3doYXQgaXMgcmVxdWVzdGluZyBzZXJ2aWNlIiBkZWZpbml0aW9uPSJUaGUgaW5kaXZpZHVhbCB3aG8gaW5pdGlhdGVkIHRoZSByZXF1ZXN0IGFuZCBoYXMgcmVzcG9uc2liaWxpdHkgZm9yIGl0cyBhY3RpdmF0aW9uLiIgY29tbWVudD0iVGhpcyBub3QgdGhlIGRpc3BhdGNoZXIsIGJ1dCByYXRoZXIgd2hvIGlzIHRoZSBhdXRob3JpemVyLiAgVGhpcyBlbGVtZW50IGlzIG5vdCBpbnRlbmRlZCB0byBoYW5kbGUgZGVsZWdhdGlvbiB3aGljaCB3b3VsZCBnZW5lcmFsbHkgYmUgbWFuYWdlZCB0aHJvdWdoIHRoZSBQcm92ZW5hbmNlIHJlc291cmNlLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyVHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUGVyZm9ybWVyIHJvbGUiIGRlZmluaXRpb249IkRlc2lyZWQgdHlwZSBvZiBwZXJmb3JtZXIgZm9yIGRvaW5nIHRoZSByZXF1ZXN0ZWQgc2VydmljZS4iIGNvbW1lbnQ9IlRoaXMgaXMgYSAgcm9sZSwgbm90ICBhIHBhcnRpY2lwYXRpb24gdHlwZS4gIEluIG90aGVyIHdvcmRzLCBkb2VzIG5vdCBkZXNjcmliZSB0aGUgdGFzayBidXQgZGVzY3JpYmVzIHRoZSBjYXBhY2l0eS4gIEZvciBleGFtcGxlLCDigJxjb21wb3VuZGluZyBwaGFybWFjeeKAnSwg4oCccHN5Y2hpYXRyaXN04oCdIG9yIOKAnGludGVybmFsIHJlZmVycmFs4oCdLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlNlcnZpY2VSZXF1ZXN0UGFydGljaXBhbnRSb2xlIiBkZXNjcmlwdGlvbj0iSW5kaWNhdGVzIHNwZWNpZmljIHJlc3BvbnNpYmlsaXR5IG9mIGFuIGluZGl2aWR1YWwgd2l0aGluIHRoZSBjYXJlIHRlYW0sIHN1Y2ggYXMgJnF1b3Q7UHJpbWFyeSBwaHlzaWNpYW4mcXVvdDssICZxdW90O1RlYW0gY29vcmRpbmF0b3ImcXVvdDssICZxdW90O0NhcmVnaXZlciZxdW90OywgZXRjLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJSZXF1ZXN0ZWQgcGVyZm9ybWVyIiBkZWZpbml0aW9uPSJUaGUgZGVzaXJlZCBwZXJmb3JtZXIgZm9yIGRvaW5nIHRoZSByZXF1ZXN0ZWQgc2VydmljZS4gIEZvciBleGFtcGxlLCB0aGUgc3VyZ2VvbiwgZGVybWF0b3BhdGhvbG9naXN0LCBlbmRvc2NvcGlzdCwgZXRjLiIgY29tbWVudD0iSWYgbXVsdGlwbGUgcGVyZm9ybWVycyBhcmUgcHJlc2VudCwgaXQgaXMgaW50ZXJwcmV0ZWQgYXMgYSBsaXN0IG9mICphbHRlcm5hdGl2ZSogcGVyZm9ybWVycyB3aXRob3V0IGFueSBwcmVmZXJlbmNlIHJlZ2FyZGxlc3Mgb2Ygb3JkZXIuICBJZiBvcmRlciBvZiBwcmVmZXJlbmNlIGlzIG5lZWRlZCB1c2UgdGhlIFtyZXF1ZXN0LXBlcmZvcm1lck9yZGVyIGV4dGVuc2lvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9leHRlbnNpb24tcmVxdWVzdC1wZXJmb3JtZXJvcmRlci5odG1sKS4gIFVzZSBDYXJlVGVhbSB0byByZXByZXNlbnQgYSBncm91cCBvZiBwZXJmb3JtZXJzIChmb3IgZXhhbXBsZSwgUHJhY3RpdGlvbmVyIEEgKmFuZCogUHJhY3RpdGlvbmVyIEIpLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvbkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZXF1ZXN0ZWQgbG9jYXRpb24iIGRlZmluaXRpb249IlRoZSBwcmVmZXJyZWQgbG9jYXRpb24ocykgd2hlcmUgdGhlIHByb2NlZHVyZSBzaG91bGQgYWN0dWFsbHkgaGFwcGVuIGluIGNvZGVkIG9yIGZyZWUgdGV4dCBmb3JtLiBFLmcuIGF0IGhvbWUgb3IgbnVyc2luZyBkYXkgY2FyZSBjZW50ZXIuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlNlcnZpY2VSZXF1ZXN0TG9jYXRpb24iIGRlc2NyaXB0aW9uPSJBIGxvY2F0aW9uIHR5cGUgd2hlcmUgc2VydmljZXMgYXJlIGRlbGl2ZXJlZC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibG9jYXRpb25SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJSZXF1ZXN0ZWQgbG9jYXRpb24iIGRlZmluaXRpb249IkEgcmVmZXJlbmNlIHRvIHRoZSB0aGUgcHJlZmVycmVkIGxvY2F0aW9uKHMpIHdoZXJlIHRoZSBwcm9jZWR1cmUgc2hvdWxkIGFjdHVhbGx5IGhhcHBlbi4gRS5nLiBhdCBob21lIG9yIG51cnNpbmcgZGF5IGNhcmUgY2VudGVyLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkV4cGxhbmF0aW9uL0p1c3RpZmljYXRpb24gZm9yIHByb2NlZHVyZSBvciBzZXJ2aWNlIiBkZWZpbml0aW9uPSJBbiBleHBsYW5hdGlvbiBvciBqdXN0aWZpY2F0aW9uIGZvciB3aHkgdGhpcyBzZXJ2aWNlIGlzIGJlaW5nIHJlcXVlc3RlZCBpbiBjb2RlZCBvciB0ZXh0dWFsIGZvcm0uICAgVGhpcyBpcyBvZnRlbiBmb3IgYmlsbGluZyBwdXJwb3Nlcy4gIE1heSByZWxhdGUgdG8gdGhlIHJlc291cmNlcyByZWZlcnJlZCB0byBpbiBgc3VwcG9ydGluZ0luZm9gLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IHJlcHJlc2VudHMgd2h5IHRoZSByZWZlcnJhbCBpcyBiZWluZyBtYWRlIGFuZCBtYXkgYmUgdXNlZCB0byBkZWNpZGUgaG93IHRoZSBzZXJ2aWNlIHdpbGwgYmUgcGVyZm9ybWVkLCBvciBldmVuIGlmIGl0IHdpbGwgYmUgcGVyZm9ybWVkIGF0IGFsbC4gICBVc2UgYENvZGVhYmxlQ29uY2VwdC50ZXh0YCBlbGVtZW50IGlmIHRoZSBkYXRhIGlzIGZyZWUgKHVuY29kZWQpIHRleHQgYXMgc2hvd24gaW4gdGhlIFtDVCBTY2FuIGV4YW1wbGVdKHNlcnZpY2VyZXF1ZXN0LWV4YW1wbGUtZGkuaHRtbCkuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkV4cGxhbmF0aW9uL0p1c3RpZmljYXRpb24gZm9yIHByb2NlZHVyZSBvciBzZXJ2aWNlIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvblJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkV4cGxhbmF0aW9uL0p1c3RpZmljYXRpb24gZm9yIHNlcnZpY2Ugb3Igc2VydmljZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGFub3RoZXIgcmVzb3VyY2UgdGhhdCBwcm92aWRlcyBhIGp1c3RpZmljYXRpb24gZm9yIHdoeSB0aGlzIHNlcnZpY2UgaXMgYmVpbmcgcmVxdWVzdGVkLiAgIE1heSByZWxhdGUgdG8gdGhlIHJlc291cmNlcyByZWZlcnJlZCB0byBpbiBgc3VwcG9ydGluZ0luZm9gLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IHJlcHJlc2VudHMgd2h5IHRoZSByZWZlcnJhbCBpcyBiZWluZyBtYWRlIGFuZCBtYXkgYmUgdXNlZCB0byBkZWNpZGUgaG93IHRoZSBzZXJ2aWNlIHdpbGwgYmUgcGVyZm9ybWVkLCBvciBldmVuIGlmIGl0IHdpbGwgYmUgcGVyZm9ybWVkIGF0IGFsbC4gICAgVG8gYmUgYXMgc3BlY2lmaWMgYXMgcG9zc2libGUsICBhIHJlZmVyZW5jZSB0byAgKk9ic2VydmF0aW9uKiBvciAqQ29uZGl0aW9uKiBzaG91bGQgYmUgdXNlZCBpZiBhdmFpbGFibGUuICBPdGhlcndpc2Ugd2hlbiByZWZlcmVuY2luZyAgKkRpYWdub3N0aWNSZXBvcnQqICBpdCBzaG91bGQgY29udGFpbiBhIGZpbmRpbmcgIGluIGBEaWFnbm9zdGljUmVwb3J0LmNvbmNsdXNpb25gIGFuZC9vciBgRGlhZ25vc3RpY1JlcG9ydC5jb25jbHVzaW9uQ29kZWAuICAgV2hlbiB1c2luZyBhIHJlZmVyZW5jZSB0byAqRG9jdW1lbnRSZWZlcmVuY2UqLCB0aGUgdGFyZ2V0IGRvY3VtZW50IHNob3VsZCBjb250YWluIGNsZWFyIGZpbmRpbmdzIGxhbmd1YWdlIHByb3ZpZGluZyB0aGUgcmVsZXZhbnQgcmVhc29uIGZvciB0aGlzIHNlcnZpY2UgcmVxdWVzdC4gIFVzZSAgdGhlIENvZGVhYmxlQ29uY2VwdCB0ZXh0IGVsZW1lbnQgaW4gYFNlcnZpY2VSZXF1ZXN0LnJlYXNvbkNvZGVgIGlmIHRoZSBkYXRhIGlzIGZyZWUgKHVuY29kZWQpIHRleHQgYXMgc2hvd24gaW4gdGhlIFtDVCBTY2FuIGV4YW1wbGVdKHNlcnZpY2VyZXF1ZXN0LWV4YW1wbGUtZGkuaHRtbCkuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdXJhbmNlIiBkZXNjcmlwdGlvbj0iQXNzb2NpYXRlZCBpbnN1cmFuY2UgY292ZXJhZ2UiIGRlZmluaXRpb249Ikluc3VyYW5jZSBwbGFucywgY292ZXJhZ2UgZXh0ZW5zaW9ucywgcHJlLWF1dGhvcml6YXRpb25zIGFuZC9vciBwcmUtZGV0ZXJtaW5hdGlvbnMgdGhhdCBtYXkgYmUgbmVlZGVkIGZvciBkZWxpdmVyaW5nIHRoZSByZXF1ZXN0ZWQgc2VydmljZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1cHBvcnRpbmdJbmZvIiBkZXNjcmlwdGlvbj0iQWRkaXRpb25hbCBjbGluaWNhbCBpbmZvcm1hdGlvbiIgZGVmaW5pdGlvbj0iQWRkaXRpb25hbCBjbGluaWNhbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcGF0aWVudCBvciBzcGVjaW1lbiB0aGF0IG1heSBpbmZsdWVuY2UgdGhlIHNlcnZpY2VzIG9yIHRoZWlyIGludGVycHJldGF0aW9ucy4gICAgIFRoaXMgaW5mb3JtYXRpb24gaW5jbHVkZXMgZGlhZ25vc2lzLCBjbGluaWNhbCBmaW5kaW5ncyBhbmQgb3RoZXIgb2JzZXJ2YXRpb25zLiAgSW4gbGFib3JhdG9yeSBvcmRlcmluZyB0aGVzZSBhcmUgdHlwaWNhbGx5IHJlZmVycmVkIHRvIGFzICZxdW90O2FzayBhdCBvcmRlciBlbnRyeSBxdWVzdGlvbnMgKEFPRXMpJnF1b3Q7LiAgVGhpcyBpbmNsdWRlcyBvYnNlcnZhdGlvbnMgZXhwbGljaXRseSByZXF1ZXN0ZWQgYnkgdGhlIHByb2R1Y2VyIChmaWxsZXIpIHRvIHByb3ZpZGUgY29udGV4dCBvciBzdXBwb3J0aW5nIGluZm9ybWF0aW9uIG5lZWRlZCB0byBjb21wbGV0ZSB0aGUgb3JkZXIuIEZvciBleGFtcGxlLCAgcmVwb3J0aW5nIHRoZSBhbW91bnQgb2YgaW5zcGlyZWQgb3h5Z2VuIGZvciBibG9vZCBnYXMgbWVhc3VyZW1lbnRzLiIgY29tbWVudD0iVG8gcmVwcmVzZW50IGluZm9ybWF0aW9uIGFib3V0IGhvdyB0aGUgc2VydmljZXMgYXJlIHRvIGJlIGRlbGl2ZXJlZCB1c2UgdGhlIGBpbnN0cnVjdGlvbnNgIGVsZW1lbnQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZGVzY3JpcHRpb249IlByb2NlZHVyZSBTYW1wbGVzIiBkZWZpbml0aW9uPSJPbmUgb3IgbW9yZSBzcGVjaW1lbnMgdGhhdCB0aGUgbGFib3JhdG9yeSBwcm9jZWR1cmUgd2lsbCB1c2UuIiBjb21tZW50PSJNYW55IGRpYWdub3N0aWMgcHJvY2VkdXJlcyBuZWVkIGEgc3BlY2ltZW4sIGJ1dCB0aGUgcmVxdWVzdCBpdHNlbGYgaXMgbm90IGFjdHVhbGx5IGFib3V0IHRoZSBzcGVjaW1lbi4gVGhpcyBlbGVtZW50IGlzIGZvciB3aGVuIHRoZSBkaWFnbm9zdGljIGlzIHJlcXVlc3RlZCBvbiBhbHJlYWR5IGV4aXN0aW5nIHNwZWNpbWVucyBhbmQgdGhlIHJlcXVlc3QgcG9pbnRzIHRvIHRoZSBzcGVjaW1lbiBpdCBhcHBsaWVzIHRvLiAgICBDb252ZXJzZWx5LCBpZiB0aGUgcmVxdWVzdCBpcyBlbnRlcmVkIGZpcnN0IHdpdGggYW4gdW5rbm93biBzcGVjaW1lbiwgdGhlbiB0aGUgW1NwZWNpbWVuXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3NwZWNpbWVuLmh0bWwpIHJlc291cmNlIHBvaW50cyB0byB0aGUgU2VydmljZVJlcXVlc3QuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkxvY2F0aW9uIG9uIEJvZHkiIGRlZmluaXRpb249IkFuYXRvbWljIGxvY2F0aW9uIHdoZXJlIHRoZSBwcm9jZWR1cmUgc2hvdWxkIGJlIHBlcmZvcm1lZC4gVGhpcyBpcyB0aGUgdGFyZ2V0IHNpdGUuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIHRoZSBjb2RlIGZvdW5kIGluIFNlcnZpY2VSZXF1ZXN0LmNvZGUuICBJZiB0aGUgdXNlIGNhc2UgcmVxdWlyZXMgQm9keVNpdGUgdG8gYmUgaGFuZGxlZCBhcyBhIHNlcGFyYXRlIHJlc291cmNlIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvZGVkIGVsZW1lbnQgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpICB0aGVuIHVzZSB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtwcm9jZWR1cmUtdGFyZ2V0Qm9keVN0cnVjdHVyZV0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9leHRlbnNpb24tcHJvY2VkdXJlLXRhcmdldGJvZHlzdHJ1Y3R1cmUuaHRtbCkuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQW5hdG9taWMgbG9jYXRpb24gd2hlcmUgdGhlIHByb2NlZHVyZSBzaG91bGQgYmUgcGVyZm9ybWVkLiBUaGlzIGlzIHRoZSB0YXJnZXQgc2l0ZSIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJDb21tZW50cyIgZGVmaW5pdGlvbj0iQW55IG90aGVyIG5vdGVzIGFuZCBjb21tZW50cyBtYWRlIGFib3V0IHRoZSBzZXJ2aWNlIHJlcXVlc3QuIEZvciBleGFtcGxlLCBpbnRlcm5hbCBiaWxsaW5nIG5vdGVzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhdGllbnRJbnN0cnVjdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUGF0aWVudCBvciBjb25zdW1lci1vcmllbnRlZCBpbnN0cnVjdGlvbnMiIGRlZmluaXRpb249Ikluc3RydWN0aW9ucyBpbiB0ZXJtcyB0aGF0IGFyZSB1bmRlcnN0b29kIGJ5IHRoZSBwYXRpZW50IG9yIGNvbnN1bWVyLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWxldmFudEhpc3RvcnkiIGRlc2NyaXB0aW9uPSJSZXF1ZXN0IHByb3ZlbmFuY2UiIGRlZmluaXRpb249IktleSBldmVudHMgaW4gdGhlIGhpc3Rvcnkgb2YgdGhlIHJlcXVlc3QuIiBjb21tZW50PSJUaGlzIG1pZ2h0IG5vdCBpbmNsdWRlIHByb3ZlbmFuY2VzIGZvciBhbGwgdmVyc2lvbnMgb2YgdGhlIHJlcXVlc3Qg4oCTIG9ubHkgdGhvc2UgZGVlbWVkIOKAnHJlbGV2YW504oCdIG9yIGltcG9ydGFudC4mI3hkO1RoaXMgU0hBTEwgTk9UIGluY2x1ZGUgdGhlIFByb3ZlbmFuY2UgYXNzb2NpYXRlZCB3aXRoIHRoaXMgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSByZXNvdXJjZS4gIChJZiB0aGF0IHByb3ZlbmFuY2UgaXMgZGVlbWVkIHRvIGJlIGEg4oCccmVsZXZhbnTigJ0gY2hhbmdlLCBpdCB3aWxsIG5lZWQgdG8gYmUgYWRkZWQgYXMgcGFydCBvZiBhIGxhdGVyIHVwZGF0ZS4gIFVudGlsIHRoZW4sIGl0IGNhbiBiZSBxdWVyaWVkIGRpcmVjdGx5IGFzIHRoZSBQcm92ZW5hbmNlIHRoYXQgcG9pbnRzIHRvIHRoaXMgdmVyc2lvbiB1c2luZyBfcmV2aW5jbHVkZSYjeGQ7QWxsIFByb3ZlbmFuY2VzIHNob3VsZCBoYXZlIHNvbWUgaGlzdG9yaWNhbCB2ZXJzaW9uIG9mIHRoaXMgUmVxdWVzdCBhcyB0aGVpciBzdWJqZWN0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0icGVyZm9ybWVyIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9InJlcXVlc3RlciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0ic3ViamVjdCIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0icGVyZm9ybWVyIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IkVuY291bnRlciIgcmVsYXRlZEtleUVsZW1lbnQ9ImVuY291bnRlciIvPgogICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJEZXZpY2UiIHJlbGF0ZWRLZXlFbGVtZW50PSJwZXJmb3JtZXIiLz4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iRGV2aWNlIiByZWxhdGVkS2V5RWxlbWVudD0icmVxdWVzdGVyIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlJlbGF0ZWRQZXJzb24iIHJlbGF0ZWRLZXlFbGVtZW50PSJwZXJmb3JtZXIiLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTZXJ2aWNlUmVxdWVzdEFwcHJvcHJpYXRlbmVzc1Njb3JlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1zZXJ2aWNlcmVxdWVzdC1hcHByb3ByaWF0ZW5lc3NTY29yZSIgbGFiZWw9IlFJQ29yZSBBcHByb3ByaWF0ZW5lc3MgU2NvcmUiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTZXJ2aWNlUmVxdWVzdEludGVudCIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlNlcnZpY2VSZXF1ZXN0UHJpb3JpdHkiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTZXJ2aWNlUmVxdWVzdFN0YXR1cyIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTaWduYXR1cmUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9TaWduYXR1cmUiIGxhYmVsPSJTaWduYXR1cmUiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJJbmRpY2F0aW9uIG9mIHRoZSByZWFzb24gdGhlIGVudGl0eSBzaWduZWQgdGhlIG9iamVjdChzKSIgZGVmaW5pdGlvbj0iQW4gaW5kaWNhdGlvbiBvZiB0aGUgcmVhc29uIHRoYXQgdGhlIGVudGl0eSBzaWduZWQgdGhpcyBkb2N1bWVudC4gVGhpcyBtYXkgYmUgZXhwbGljaXRseSBpbmNsdWRlZCBhcyBwYXJ0IG9mIHRoZSBzaWduYXR1cmUgaW5mb3JtYXRpb24gYW5kIGNhbiBiZSB1c2VkIHdoZW4gZGV0ZXJtaW5pbmcgYWNjb3VudGFiaWxpdHkgZm9yIHZhcmlvdXMgYWN0aW9ucyBjb25jZXJuaW5nIHRoZSBkb2N1bWVudC4iIGNvbW1lbnQ9IkV4YW1wbGVzIGluY2x1ZGUgYXR0ZXN0aW5nIHRvOiBhdXRob3JzaGlwLCBjb3JyZWN0IHRyYW5zY3JpcHRpb24sIGFuZCB3aXRuZXNzIG9mIHNwZWNpZmljIGV2ZW50LiBBbHNvIGtub3duIGFzIGEgJmFtcDtxdW90O0NvbW1pdG1lbnQgVHlwZSBJbmRpY2F0aW9uJmFtcDtxdW90Oy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db2RlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU2lnbmF0dXJlVHlwZSIgZGVzY3JpcHRpb249IkFuIGluZGljYXRpb24gb2YgdGhlIHJlYXNvbiB0aGF0IGFuIGVudGl0eSBzaWduZWQgdGhlIG9iamVjdC4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ3aGVuIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gdGhlIHNpZ25hdHVyZSB3YXMgY3JlYXRlZCIgZGVmaW5pdGlvbj0iV2hlbiB0aGUgZGlnaXRhbCBzaWduYXR1cmUgd2FzIHNpZ25lZC4iIGNvbW1lbnQ9IlRoaXMgc2hvdWxkIGFncmVlIHdpdGggdGhlIGluZm9ybWF0aW9uIGluIHRoZSBzaWduYXR1cmUuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9IndobyIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaG8gc2lnbmVkIiBkZWZpbml0aW9uPSJBIHJlZmVyZW5jZSB0byBhbiBhcHBsaWNhdGlvbi11c2FibGUgZGVzY3JpcHRpb24gb2YgdGhlIGlkZW50aXR5IHRoYXQgc2lnbmVkICAoZS5nLiB0aGUgc2lnbmF0dXJlIHVzZWQgdGhlaXIgcHJpdmF0ZSBrZXkpLiIgY29tbWVudD0iVGhpcyBzaG91bGQgYWdyZWUgd2l0aCB0aGUgaW5mb3JtYXRpb24gaW4gdGhlIHNpZ25hdHVyZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ib25CZWhhbGZPZiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJUaGUgcGFydHkgcmVwcmVzZW50ZWQiIGRlZmluaXRpb249IkEgcmVmZXJlbmNlIHRvIGFuIGFwcGxpY2F0aW9uLXVzYWJsZSBkZXNjcmlwdGlvbiBvZiB0aGUgaWRlbnRpdHkgdGhhdCBpcyByZXByZXNlbnRlZCBieSB0aGUgc2lnbmF0dXJlLiIgY29tbWVudD0iVGhlIHBhcnR5IHRoYXQgY2FuJ3Qgc2lnbi4gRm9yIGV4YW1wbGUgYSBjaGlsZC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0idGFyZ2V0Rm9ybWF0IiBlbGVtZW50VHlwZT0iUUlDb3JlLk1pbWVUeXBlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSB0ZWNobmljYWwgZm9ybWF0IG9mIHRoZSBzaWduZWQgcmVzb3VyY2VzIiBkZWZpbml0aW9uPSJBIG1pbWUgdHlwZSB0aGF0IGluZGljYXRlcyB0aGUgdGVjaG5pY2FsIGZvcm1hdCBvZiB0aGUgdGFyZ2V0IHJlc291cmNlcyBzaWduZWQgYnkgdGhlIHNpZ25hdHVyZS4iIGNvbW1lbnQ9IiZxdW90O3htbCZxdW90OywgJnF1b3Q7anNvbiZxdW90OyBhbmQgJnF1b3Q7dHRsJnF1b3Q7IGFyZSBhbGxvd2VkLCB3aGljaCBkZXNjcmliZSB0aGUgc2ltcGxlIGVuY29kaW5ncyBkZXNjcmliZWQgaW4gdGhlIHNwZWNpZmljYXRpb24gKGFuZCBpbXBseSBhcHByb3ByaWF0ZSBidW5kbGUgc3VwcG9ydCkuIE90aGVyd2lzZSwgbWltZSB0eXBlcyBhcmUgbGVnYWwgaGVyZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJNaW1lVHlwZSIgZGVzY3JpcHRpb249IlRoZSBtaW1lIHR5cGUgb2YgYW4gYXR0YWNobWVudC4gQW55IHZhbGlkIG1pbWUgdHlwZSBpcyBhbGxvd2VkLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2lnRm9ybWF0IiBlbGVtZW50VHlwZT0iUUlDb3JlLk1pbWVUeXBlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSB0ZWNobmljYWwgZm9ybWF0IG9mIHRoZSBzaWduYXR1cmUiIGRlZmluaXRpb249IkEgbWltZSB0eXBlIHRoYXQgaW5kaWNhdGVzIHRoZSB0ZWNobmljYWwgZm9ybWF0IG9mIHRoZSBzaWduYXR1cmUuIEltcG9ydGFudCBtaW1lIHR5cGVzIGFyZSBhcHBsaWNhdGlvbi9zaWduYXR1cmUreG1sIGZvciBYIE1MIERpZ1NpZywgYXBwbGljYXRpb24vam9zZSBmb3IgSldTLCBhbmQgaW1hZ2UvKiBmb3IgYSBncmFwaGljYWwgaW1hZ2Ugb2YgYSBzaWduYXR1cmUsIGV0Yy4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJNaW1lVHlwZSIgZGVzY3JpcHRpb249IlRoZSBtaW1lIHR5cGUgb2YgYW4gYXR0YWNobWVudC4gQW55IHZhbGlkIG1pbWUgdHlwZSBpcyBhbGxvd2VkLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGhlIGFjdHVhbCBzaWduYXR1cmUgY29udGVudCAoWE1MIERpZ1NpZy4gSldTLCBwaWN0dXJlLCBldGMuKSIgZGVmaW5pdGlvbj0iVGhlIGJhc2U2NCBlbmNvZGluZyBvZiB0aGUgU2lnbmF0dXJlIGNvbnRlbnQuIFdoZW4gc2lnbmF0dXJlIGlzIG5vdCByZWNvcmRlZCBlbGVjdHJvbmljYWxseSB0aGlzIGVsZW1lbnQgd291bGQgYmUgZW1wdHkuIiBjb21tZW50PSJXaGVyZSB0aGUgc2lnbmF0dXJlIHR5cGUgaXMgYW4gWE1MIERpZ1NpZywgdGhlIHNpZ25lZCBjb250ZW50IGlzIGEgRkhJUiBSZXNvdXJjZShzKSwgdGhlIHNpZ25hdHVyZSBpcyBvZiB0aGUgWE1MIGZvcm0gb2YgdGhlIFJlc291cmNlKHMpIHVzaW5nICBYTUwtU2lnbmF0dXJlIChYTUxESUcpICZxdW90O0RldGFjaGVkIFNpZ25hdHVyZSZxdW90OyBmb3JtLiIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTb3J0RGlyZWN0aW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTcGVjaW1lbiIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtc3BlY2ltZW4iIGxhYmVsPSJRSUNvcmUgU3BlY2ltZW4iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9InR5cGUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iRXh0ZXJuYWwgSWRlbnRpZmllciIgZGVmaW5pdGlvbj0iSWQgZm9yIHNwZWNpbWVuLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFjY2Vzc2lvbklkZW50aWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgZGVzY3JpcHRpb249IklkZW50aWZpZXIgYXNzaWduZWQgYnkgdGhlIGxhYiIgZGVmaW5pdGlvbj0iVGhlIGlkZW50aWZpZXIgYXNzaWduZWQgYnkgdGhlIGxhYiB3aGVuIGFjY2Vzc2lvbmluZyBzcGVjaW1lbihzKS4gVGhpcyBpcyBub3QgbmVjZXNzYXJpbHkgdGhlIHNhbWUgYXMgdGhlIHNwZWNpbWVuIGlkZW50aWZpZXIsIGRlcGVuZGluZyBvbiBsb2NhbCBsYWIgcHJvY2VkdXJlcy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLlNwZWNpbWVuU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImF2YWlsYWJsZSB8IHVuYXZhaWxhYmxlIHwgdW5zYXRpc2ZhY3RvcnkgfCBlbnRlcmVkLWluLWVycm9yIiBkZWZpbml0aW9uPSJUaGUgYXZhaWxhYmlsaXR5IG9mIHRoZSBzcGVjaW1lbi4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTcGVjaW1lblN0YXR1cyIgZGVzY3JpcHRpb249IkNvZGVzIHByb3ZpZGluZyB0aGUgc3RhdHVzL2F2YWlsYWJpbGl0eSBvZiBhIHNwZWNpbWVuLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iS2luZCBvZiBtYXRlcmlhbCB0aGF0IGZvcm1zIHRoZSBzcGVjaW1lbiIgZGVmaW5pdGlvbj0iVGhlIGtpbmQgb2YgbWF0ZXJpYWwgdGhhdCBmb3JtcyB0aGUgc3BlY2ltZW4uIiBjb21tZW50PSJUaGUgdHlwZSBjYW4gY2hhbmdlIHRoZSB3YXkgdGhhdCBhIHNwZWNpbWVuIGlzIGhhbmRsZWQgYW5kIGRyaXZlcyB3aGF0IGtpbmQgb2YgYW5hbHlzZXMgY2FuIHByb3Blcmx5IGJlIHBlcmZvcm1lZCBvbiB0aGUgc3BlY2ltZW4uIEl0IGlzIGZyZXF1ZW50bHkgdXNlZCBpbiBkaWFnbm9zdGljIHdvcmsgZmxvdyBkZWNpc2lvbiBtYWtpbmcgc3lzdGVtcy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlRoZSBraW5kIG9mIG1hdGVyaWFsIHRoYXQgZm9ybXMgdGhlIHNwZWNpbWVuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaGVyZSB0aGUgc3BlY2ltZW4gY2FtZSBmcm9tLiBUaGlzIG1heSBiZSBmcm9tIHBhdGllbnQocyksIGZyb20gYSBsb2NhdGlvbiAoZS5nLiwgdGhlIHNvdXJjZSBvZiBhbiBlbnZpcm9ubWVudGFsIHNhbXBsZSksIG9yIGEgc2FtcGxpbmcgb2YgYSBzdWJzdGFuY2Ugb3IgYSBkZXZpY2UiIGRlZmluaXRpb249IldoZXJlIHRoZSBzcGVjaW1lbiBjYW1lIGZyb20uIFRoaXMgbWF5IGJlIGZyb20gcGF0aWVudChzKSwgZnJvbSBhIGxvY2F0aW9uIChlLmcuLCB0aGUgc291cmNlIG9mIGFuIGVudmlyb25tZW50YWwgc2FtcGxlKSwgb3IgYSBzYW1wbGluZyBvZiBhIHN1YnN0YW5jZSBvciBhIGRldmljZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlY2VpdmVkVGltZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaGUgdGltZSB3aGVuIHNwZWNpbWVuIHdhcyByZWNlaXZlZCBmb3IgcHJvY2Vzc2luZyIgZGVmaW5pdGlvbj0iVGltZSB3aGVuIHNwZWNpbWVuIHdhcyByZWNlaXZlZCBmb3IgcHJvY2Vzc2luZyBvciB0ZXN0aW5nLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGFyZW50IiBkZXNjcmlwdGlvbj0iU3BlY2ltZW4gZnJvbSB3aGljaCB0aGlzIHNwZWNpbWVuIG9yaWdpbmF0ZWQiIGRlZmluaXRpb249IlJlZmVyZW5jZSB0byB0aGUgcGFyZW50IChzb3VyY2UpIHNwZWNpbWVuIHdoaWNoIGlzIHVzZWQgd2hlbiB0aGUgc3BlY2ltZW4gd2FzIGVpdGhlciBkZXJpdmVkIGZyb20gb3IgYSBjb21wb25lbnQgb2YgYW5vdGhlciBzcGVjaW1lbi4iIGNvbW1lbnQ9IlRoZSBwYXJlbnQgc3BlY2ltZW4gY291bGQgYmUgdGhlIHNvdXJjZSBmcm9tIHdoaWNoIHRoZSBjdXJyZW50IHNwZWNpbWVuIGlzIGRlcml2ZWQgYnkgc29tZSBwcm9jZXNzaW5nIHN0ZXAgKGUuZy4gYW4gYWxpcXVvdCBvciBpc29sYXRlIG9yIGV4dHJhY3RlZCBudWNsZWljIGFjaWRzIGZyb20gY2xpbmljYWwgc2FtcGxlcykgb3Igb25lIG9mIG1hbnkgc3BlY2ltZW5zIHRoYXQgd2VyZSBjb21iaW5lZCB0byBjcmVhdGUgYSBwb29sZWQgc2FtcGxlLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZXF1ZXN0IiBkZXNjcmlwdGlvbj0iV2h5IHRoZSBzcGVjaW1lbiB3YXMgY29sbGVjdGVkIiBkZWZpbml0aW9uPSJEZXRhaWxzIGNvbmNlcm5pbmcgYSBzZXJ2aWNlIHJlcXVlc3QgdGhhdCByZXF1aXJlZCBhIHNwZWNpbWVuIHRvIGJlIGNvbGxlY3RlZC4iIGNvbW1lbnQ9IlRoZSByZXF1ZXN0IG1heSBiZSBleHBsaWNpdCBvciBpbXBsaWVkIHN1Y2ggd2l0aCBhIFNlcnZpY2VSZXF1ZXN0IHRoYXQgcmVxdWlyZXMgYSBibG9vZCBkcmF3LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29sbGVjdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5TcGVjaW1lbi5Db2xsZWN0aW9uIiBkZXNjcmlwdGlvbj0iQ29sbGVjdGlvbiBkZXRhaWxzIiBkZWZpbml0aW9uPSJEZXRhaWxzIGNvbmNlcm5pbmcgdGhlIHNwZWNpbWVuIGNvbGxlY3Rpb24uIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icHJvY2Vzc2luZyIgZGVzY3JpcHRpb249IlByb2Nlc3NpbmcgYW5kIHByb2Nlc3Npbmcgc3RlcCBkZXRhaWxzIiBkZWZpbml0aW9uPSJEZXRhaWxzIGNvbmNlcm5pbmcgcHJvY2Vzc2luZyBhbmQgcHJvY2Vzc2luZyBzdGVwcyBmb3IgdGhlIHNwZWNpbWVuLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuU3BlY2ltZW4uUHJvY2Vzc2luZyIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29udGFpbmVyIiBkZXNjcmlwdGlvbj0iRGlyZWN0IGNvbnRhaW5lciBvZiBzcGVjaW1lbiAodHViZS9zbGlkZSwgZXRjLikiIGRlZmluaXRpb249IlRoZSBjb250YWluZXIgaG9sZGluZyB0aGUgc3BlY2ltZW4uICBUaGUgcmVjdXJzaXZlIG5hdHVyZSBvZiBjb250YWluZXJzOyBpLmUuIGJsb29kIGluIHR1YmUgaW4gdHJheSBpbiByYWNrIGlzIG5vdCBhZGRyZXNzZWQgaGVyZS4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlNwZWNpbWVuLkNvbnRhaW5lciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29uZGl0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU3RhdGUgb2YgdGhlIHNwZWNpbWVuIiBkZWZpbml0aW9uPSJBIG1vZGUgb3Igc3RhdGUgb2YgYmVpbmcgdGhhdCBkZXNjcmliZXMgdGhlIG5hdHVyZSBvZiB0aGUgc3BlY2ltZW4uIiBjb21tZW50PSJTcGVjaW1lbiBjb25kaXRpb24gaXMgYW4gb2JzZXJ2YXRpb24gbWFkZSBhYm91dCB0aGUgc3BlY2ltZW4uICBJdCdzIGEgcG9pbnQtaW4tdGltZSBhc3Nlc3NtZW50LiAgSXQgY2FuIGJlIHVzZWQgdG8gYXNzZXNzIGl0cyBxdWFsaXR5IG9yIGFwcHJvcHJpYXRlbmVzcyBmb3IgYSBzcGVjaWZpYyB0ZXN0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTcGVjaW1lbkNvbmRpdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgdGhlIHN0YXRlIG9mIHRoZSBzcGVjaW1lbi4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIiBkZWZpbml0aW9uPSJUbyBjb21tdW5pY2F0ZSBhbnkgZGV0YWlscyBvciBpc3N1ZXMgYWJvdXQgdGhlIHNwZWNpbWVuIG9yIGR1cmluZyB0aGUgc3BlY2ltZW4gY29sbGVjdGlvbi4gKGZvciBleGFtcGxlOiBicm9rZW4gdmlhbCwgc2VudCB3aXRoIHBhdGllbnQsIGZyb3plbikuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0iY29sbGVjdG9yIi8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJzdWJqZWN0Ii8+CiAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IkRldmljZSIgcmVsYXRlZEtleUVsZW1lbnQ9InN1YmplY3QiLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU3BlY2ltZW4uQ29sbGVjdGlvbiIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29sbGVjdG9yIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBjb2xsZWN0ZWQgdGhlIHNwZWNpbWVuIiBkZWZpbml0aW9uPSJQZXJzb24gd2hvIGNvbGxlY3RlZCB0aGUgc3BlY2ltZW4uIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29sbGVjdGVkIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvbGxlY3Rpb24gdGltZSIgZGVmaW5pdGlvbj0iVGltZSB3aGVuIHNwZWNpbWVuIHdhcyBjb2xsZWN0ZWQgZnJvbSBzdWJqZWN0IC0gdGhlIHBoeXNpb2xvZ2ljYWxseSByZWxldmFudCB0aW1lLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkdXJhdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIb3cgbG9uZyBpdCB0b29rIHRvIGNvbGxlY3Qgc3BlY2ltZW4iIGRlZmluaXRpb249IlRoZSBzcGFuIG9mIHRpbWUgb3ZlciB3aGljaCB0aGUgY29sbGVjdGlvbiBvZiBhIHNwZWNpbWVuIG9jY3VycmVkLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJxdWFudGl0eSIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgcXVhbnRpdHkgb2Ygc3BlY2ltZW4gY29sbGVjdGVkIiBkZWZpbml0aW9uPSJUaGUgcXVhbnRpdHkgb2Ygc3BlY2ltZW4gY29sbGVjdGVkOyBmb3IgaW5zdGFuY2UgdGhlIHZvbHVtZSBvZiBhIGJsb29kIHNhbXBsZSwgb3IgdGhlIHBoeXNpY2FsIG1lYXN1cmVtZW50IG9mIGFuIGFuYXRvbWljIHBhdGhvbG9neSBzYW1wbGUuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGVjaG5pcXVlIHVzZWQgdG8gcGVyZm9ybSBjb2xsZWN0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGVkIHZhbHVlIHNwZWNpZnlpbmcgdGhlIHRlY2huaXF1ZSB0aGF0IGlzIHVzZWQgdG8gcGVyZm9ybSB0aGUgcHJvY2VkdXJlLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlNwZWNpbWVuQ29sbGVjdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249IlRoZSAgdGVjaG5pcXVlIHRoYXQgaXMgdXNlZCB0byBwZXJmb3JtIHRoZSBwcm9jZWR1cmUuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBbmF0b21pY2FsIGNvbGxlY3Rpb24gc2l0ZSIgZGVmaW5pdGlvbj0iQW5hdG9taWNhbCBsb2NhdGlvbiBmcm9tIHdoaWNoIHRoZSBzcGVjaW1lbiB3YXMgY29sbGVjdGVkIChpZiBzdWJqZWN0IGlzIGEgcGF0aWVudCkuIFRoaXMgaXMgdGhlIHRhcmdldCBzaXRlLiAgVGhpcyBlbGVtZW50IGlzIG5vdCB1c2VkIGZvciBlbnZpcm9ubWVudGFsIHNwZWNpbWVucy4iIGNvbW1lbnQ9IklmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyAgQm9keVNpdGUgdG8gYmUgaGFuZGxlZCBhcyBhIHNlcGFyYXRlIHJlc291cmNlIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvZGVkIGVsZW1lbnQgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpICB0aGVuIHVzZSB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtib2R5U2l0ZV0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9leHRlbnNpb24tYm9keXNpdGUuaHRtbCkuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJBbmF0b21pY2FsIGxvY2F0aW9uIGZyb20gd2hpY2ggdGhlIHNwZWNpbWVuIHdhcyBjb2xsZWN0ZWQgKGlmIHN1YmplY3QgaXMgYSBwYXRpZW50KS4gVGhpcyBpcyB0aGUgdGFyZ2V0IHNpdGUuIFRoaXMgZWxlbWVudCBpcyBub3QgdXNlZCBmb3IgZW52aXJvbm1lbnRhbCBzcGVjaW1lbnMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZmFzdGluZ1N0YXR1cyIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaGV0aGVyIG9yIGhvdyBsb25nIHBhdGllbnQgYWJzdGFpbmVkIGZyb20gZm9vZCBhbmQvb3IgZHJpbmsiIGRlZmluaXRpb249IkFic3RpbmVuY2Ugb3IgcmVkdWN0aW9uIGZyb20gc29tZSBvciBhbGwgZm9vZCwgZHJpbmssIG9yIGJvdGgsIGZvciBhIHBlcmlvZCBvZiB0aW1lIHByaW9yIHRvIHNhbXBsZSBjb2xsZWN0aW9uLiIgY29tbWVudD0iUmVwcmVzZW50aW5nIGZhc3Rpbmcgc3RhdHVzIHVzaW5nIHRoaXMgZWxlbWVudCBpcyBwcmVmZXJyZWQgdG8gcmVwcmVzZW50aW5nIGl0IHdpdGggYW4gb2JzZXJ2YXRpb24gdXNpbmcgYSAncHJlLWNvb3JkaW5hdGVkIGNvZGUnICBzdWNoIGFzICBMT0lOQyAyMDA1LTcgKENhbGNpdW0gW01vbGVzL+KAi3RpbWVdIGluIDIgaG91ciBVcmluZSAtLTEyIGhvdXJzIGZhc3RpbmcpLCBvciAgdXNpbmcgIGEgY29tcG9uZW50IG9ic2VydmF0aW9uIGAgc3VjaCBhcyBgT2JzZXJ2YXRpb24uY29tcG9uZW50IGNvZGVgICA9IExPSU5DIDQ5NTQxLTYgKEZhc3Rpbmcgc3RhdHVzIC0gUmVwb3J0ZWQpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRmFzdGluZ1N0YXR1cyIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgdGhlIGZhc3Rpbmcgc3RhdHVzIG9mIHRoZSBwYXRpZW50LiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTcGVjaW1lbi5Db250YWluZXIiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJJZCBmb3IgdGhlIGNvbnRhaW5lciIgZGVmaW5pdGlvbj0iSWQgZm9yIGNvbnRhaW5lci4gVGhlcmUgbWF5IGJlIG11bHRpcGxlOyBhIG1hbnVmYWN0dXJlcidzIGJhciBjb2RlLCBsYWIgYXNzaWduZWQgaWRlbnRpZmllciwgZXRjLiBUaGUgY29udGFpbmVyIElEIG1heSBkaWZmZXIgZnJvbSB0aGUgc3BlY2ltZW4gaWQgaW4gc29tZSBjaXJjdW1zdGFuY2VzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRlc2NyaXB0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUZXh0dWFsIGRlc2NyaXB0aW9uIG9mIHRoZSBjb250YWluZXIiIGRlZmluaXRpb249IlRleHR1YWwgZGVzY3JpcHRpb24gb2YgdGhlIGNvbnRhaW5lci4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iS2luZCBvZiBjb250YWluZXIgZGlyZWN0bHkgYXNzb2NpYXRlZCB3aXRoIHNwZWNpbWVuIiBkZWZpbml0aW9uPSJUaGUgdHlwZSBvZiBjb250YWluZXIgYXNzb2NpYXRlZCB3aXRoIHRoZSBzcGVjaW1lbiAoZS5nLiBzbGlkZSwgYWxpcXVvdCwgZXRjLikuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU3BlY2ltZW5Db250YWluZXJUeXBlIiBkZXNjcmlwdGlvbj0iVHlwZSBvZiBzcGVjaW1lbiBjb250YWluZXIuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhcGFjaXR5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvbnRhaW5lciB2b2x1bWUgb3Igc2l6ZSIgZGVmaW5pdGlvbj0iVGhlIGNhcGFjaXR5ICh2b2x1bWUgb3Igb3RoZXIgbWVhc3VyZSkgdGhlIGNvbnRhaW5lciBtYXkgY29udGFpbi4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3BlY2ltZW5RdWFudGl0eSIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJRdWFudGl0eSBvZiBzcGVjaW1lbiB3aXRoaW4gY29udGFpbmVyIiBkZWZpbml0aW9uPSJUaGUgcXVhbnRpdHkgb2Ygc3BlY2ltZW4gaW4gdGhlIGNvbnRhaW5lcjsgbWF5IGJlIHZvbHVtZSwgZGltZW5zaW9ucywgb3Igb3RoZXIgYXBwcm9wcmlhdGUgbWVhc3VyZW1lbnRzLCBkZXBlbmRpbmcgb24gdGhlIHNwZWNpbWVuIHR5cGUuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImFkZGl0aXZlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFkZGl0aXZlIGFzc29jaWF0ZWQgd2l0aCBjb250YWluZXIiIGRlZmluaXRpb249IkludHJvZHVjZWQgc3Vic3RhbmNlIHRvIHByZXNlcnZlLCBtYWludGFpbiBvciBlbmhhbmNlIHRoZSBzcGVjaW1lbi4gRXhhbXBsZXM6IEZvcm1hbGluLCBDaXRyYXRlLCBFRFRBLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU3BlY2ltZW5Db250YWluZXJBZGRpdGl2ZSIgZGVzY3JpcHRpb249IlN1YnN0YW5jZSBhZGRlZCB0byBzcGVjaW1lbiBjb250YWluZXIuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbnRhaW5lci1zZXF1ZW5jZU51bWJlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5zZXF1ZW5jZU51bWJlciIgdGFyZ2V0PSIlcGFyZW50LmNvbnRhaW5lci5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vc3BlY2ltZW4tc2VxdWVuY2VOdW1iZXInXS52YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSBzZXF1ZW5jZSBudW1iZXIgb2YgdGhlIHNhbXBsZSIgZGVmaW5pdGlvbj0iQW4gYXNzaWduZWQgbnVtYmVyIG9uIHRoZSBzcGVjaW1lbiBkZW5vdGluZyB0aGUgb3JkZXIgb2YgY29sbGVjdGlvbi4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTcGVjaW1lbi5Qcm9jZXNzaW5nIiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXNjcmlwdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGV4dHVhbCBkZXNjcmlwdGlvbiBvZiBwcm9jZWR1cmUiIGRlZmluaXRpb249IlRleHR1YWwgZGVzY3JpcHRpb24gb2YgcHJvY2VkdXJlLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwcm9jZWR1cmUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkluZGljYXRlcyB0aGUgdHJlYXRtZW50IHN0ZXAgIGFwcGxpZWQgdG8gdGhlIHNwZWNpbWVuIiBkZWZpbml0aW9uPSJBIGNvZGVkIHZhbHVlIHNwZWNpZnlpbmcgdGhlIHByb2NlZHVyZSB1c2VkIHRvIHByb2Nlc3MgdGhlIHNwZWNpbWVuLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQSBjb2RlZCB2YWx1ZSBzcGVjaWZ5aW5nIHRoZSBwcm9jZWR1cmUgdXNlZCB0byBwcm9jZXNzIHRoZSBzcGVjaW1lbi4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJhZGRpdGl2ZSIgZGVzY3JpcHRpb249Ik1hdGVyaWFsIHVzZWQgaW4gdGhlIHByb2Nlc3Npbmcgc3RlcCIgZGVmaW5pdGlvbj0iTWF0ZXJpYWwgdXNlZCBpbiB0aGUgcHJvY2Vzc2luZyBzdGVwLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ0aW1lIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkRhdGUgYW5kIHRpbWUgb2Ygc3BlY2ltZW4gcHJvY2Vzc2luZyIgZGVmaW5pdGlvbj0iQSByZWNvcmQgb2YgdGhlIHRpbWUgb3IgcGVyaW9kIHdoZW4gdGhlIHNwZWNpbWVuIHByb2Nlc3Npbmcgb2NjdXJyZWQuICBGb3IgZXhhbXBsZSB0aGUgdGltZSBvZiBzYW1wbGUgZml4YXRpb24gb3IgdGhlIHBlcmlvZCBvZiB0aW1lIHRoZSBzYW1wbGUgd2FzIGluIGZvcm1hbGluLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlNwZWNpbWVuU3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTdWJzdGFuY2UiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLXN1YnN0YW5jZSIgbGFiZWw9IlFJQ29yZSBTdWJzdGFuY2UiIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iVW5pcXVlIGlkZW50aWZpZXIiIGRlZmluaXRpb249IlVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgc3Vic3RhbmNlLiIgY29tbWVudD0iVGhpcyBpZGVudGlmaWVyIGlzIGFzc29jaWF0ZWQgd2l0aCB0aGUga2luZCBvZiBzdWJzdGFuY2UgaW4gY29udHJhc3QgdG8gdGhlICBTdWJzdGFuY2UuaW5zdGFuY2UuaWRlbnRpZmllciB3aGljaCBpcyBhc3NvY2lhdGVkIHdpdGggdGhlIHBhY2thZ2UvY29udGFpbmVyLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5GSElSU3Vic3RhbmNlU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImFjdGl2ZSB8IGluYWN0aXZlIHwgZW50ZXJlZC1pbi1lcnJvciIgZGVmaW5pdGlvbj0iQSBjb2RlIHRvIGluZGljYXRlIGlmIHRoZSBzdWJzdGFuY2UgaXMgYWN0aXZlbHkgdXNlZC4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJGSElSU3Vic3RhbmNlU3RhdHVzIiBkZXNjcmlwdGlvbj0iQSBjb2RlIHRvIGluZGljYXRlIGlmIHRoZSBzdWJzdGFuY2UgaXMgYWN0aXZlbHkgdXNlZC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2hhdCBjbGFzcy90eXBlIG9mIHN1YnN0YW5jZSB0aGlzIGlzIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygc3Vic3RhbmNlLiAgVGhpcyBpcyB1c2VkICBmb3Igc2VhcmNoaW5nLCBzb3J0aW5nIGFuZCBkaXNwbGF5IHB1cnBvc2VzLiIgY29tbWVudD0iVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuICAgTW9yZSBmaW5lLWdyYWluZWQgZmlsdGVyaW5nIGNhbiBiZSBwZXJmb3JtZWQgdXNpbmcgdGhlIG1ldGFkYXRhIGFuZC9vciB0ZXJtaW5vbG9neSBoaWVyYXJjaHkgaW4gU3Vic3RhbmNlLmNvZGUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlN1YnN0YW5jZUNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ2F0ZWdvcnkgb3IgY2xhc3NpZmljYXRpb24gb2Ygc3Vic3RhbmNlLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaGF0IHN1YnN0YW5jZSB0aGlzIGlzIiBkZWZpbml0aW9uPSJBIGNvZGUgKG9yIHNldCBvZiBjb2RlcykgdGhhdCBpZGVudGlmeSB0aGlzIHN1YnN0YW5jZS4iIGNvbW1lbnQ9IlRoaXMgY291bGQgYmUgYSByZWZlcmVuY2UgdG8gYW4gZXh0ZXJuYWxseSBkZWZpbmVkIGNvZGUuICBJdCBjb3VsZCBhbHNvIGJlIGEgbG9jYWxseSBhc3NpZ25lZCBjb2RlIChlLmcuIGEgZm9ybXVsYXJ5KSwgIG9wdGlvbmFsbHkgd2l0aCB0cmFuc2xhdGlvbnMgdG8gdGhlIHN0YW5kYXJkIGRydWcgY29kZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJTdWJzdGFuY2UgY29kZXMiIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXNjcmlwdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGV4dHVhbCBkZXNjcmlwdGlvbiBvZiB0aGUgc3Vic3RhbmNlLCBjb21tZW50cyIgZGVmaW5pdGlvbj0iQSBkZXNjcmlwdGlvbiBvZiB0aGUgc3Vic3RhbmNlIC0gaXRzIGFwcGVhcmFuY2UsIGhhbmRsaW5nIHJlcXVpcmVtZW50cywgYW5kIG90aGVyIHVzYWdlIG5vdGVzLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW5jZSIgZGVzY3JpcHRpb249IklmIHRoaXMgZGVzY3JpYmVzIGEgc3BlY2lmaWMgcGFja2FnZS9jb250YWluZXIgb2YgdGhlIHN1YnN0YW5jZSIgZGVmaW5pdGlvbj0iU3Vic3RhbmNlIG1heSBiZSB1c2VkIHRvIGRlc2NyaWJlIGEga2luZCBvZiBzdWJzdGFuY2UsIG9yIGEgc3BlY2lmaWMgcGFja2FnZS9jb250YWluZXIgb2YgdGhlIHN1YnN0YW5jZTogYW4gaW5zdGFuY2UuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5TdWJzdGFuY2UuSW5zdGFuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImluZ3JlZGllbnQiIGRlc2NyaXB0aW9uPSJDb21wb3NpdGlvbiBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc3Vic3RhbmNlIiBkZWZpbml0aW9uPSJBIHN1YnN0YW5jZSBjYW4gYmUgY29tcG9zZWQgb2Ygb3RoZXIgc3Vic3RhbmNlcy4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlN1YnN0YW5jZS5JbmdyZWRpZW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTdWJzdGFuY2UuSW5ncmVkaWVudCIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0icXVhbnRpdHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUmF0aW8iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9SYXRpbygldmFsdWUpIiBkZXNjcmlwdGlvbj0iT3B0aW9uYWwgYW1vdW50IChjb25jZW50cmF0aW9uKSIgZGVmaW5pdGlvbj0iVGhlIGFtb3VudCBvZiB0aGUgaW5ncmVkaWVudCBpbiB0aGUgc3Vic3RhbmNlIC0gYSBjb25jZW50cmF0aW9uIHJhdGlvLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3Vic3RhbmNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkEgY29tcG9uZW50IG9mIHRoZSBzdWJzdGFuY2UiIGRlZmluaXRpb249IkFub3RoZXIgc3Vic3RhbmNlIHRoYXQgaXMgYSBjb21wb25lbnQgb2YgdGhpcyBzdWJzdGFuY2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTdWJzdGFuY2UuSW5zdGFuY2UiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgZGVzY3JpcHRpb249IklkZW50aWZpZXIgb2YgdGhlIHBhY2thZ2UvY29udGFpbmVyIiBkZWZpbml0aW9uPSJJZGVudGlmaWVyIGFzc29jaWF0ZWQgd2l0aCB0aGUgcGFja2FnZS9jb250YWluZXIgKHVzdWFsbHkgYSBsYWJlbCBhZmZpeGVkIGRpcmVjdGx5KS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZXhwaXJ5IiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gbm8gbG9uZ2VyIHZhbGlkIHRvIHVzZSIgZGVmaW5pdGlvbj0iV2hlbiB0aGUgc3Vic3RhbmNlIGlzIG5vIGxvbmdlciB2YWxpZCB0byB1c2UuIEZvciBzb21lIHN1YnN0YW5jZXMsIGEgc2luZ2xlIGFyYml0cmFyeSBkYXRlIGlzIHVzZWQgZm9yIGV4cGlyeS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icXVhbnRpdHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQW1vdW50IG9mIHN1YnN0YW5jZSBpbiB0aGUgcGFja2FnZSIgZGVmaW5pdGlvbj0iVGhlIGFtb3VudCBvZiB0aGUgc3Vic3RhbmNlLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJUYXNrIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS10YXNrIiBsYWJlbD0iUUlDb3JlIFRhc2siIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iVGFzayBJbnN0YW5jZSBJZGVudGlmaWVyIiBkZWZpbml0aW9uPSJUaGUgYnVzaW5lc3MgaWRlbnRpZmllciBmb3IgdGhpcyB0YXNrLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNDYW5vbmljYWwiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkZvcm1hbCBkZWZpbml0aW9uIG9mIHRhc2siIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYSAqRkhJUiotZGVmaW5lZCBwcm90b2NvbCwgZ3VpZGVsaW5lLCBvcmRlcnNldCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgVGFzay4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzVXJpIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJGb3JtYWwgZGVmaW5pdGlvbiBvZiB0YXNrIiBkZWZpbml0aW9uPSJUaGUgVVJMIHBvaW50aW5nIHRvIGFuICpleHRlcm5hbGx5KiBtYWludGFpbmVkICBwcm90b2NvbCwgZ3VpZGVsaW5lLCBvcmRlcnNldCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgVGFzay4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IlJlcXVlc3QgZnVsZmlsbGVkIGJ5IHRoaXMgdGFzayIgZGVmaW5pdGlvbj0iQmFzZWRPbiByZWZlcnMgdG8gYSBoaWdoZXItbGV2ZWwgYXV0aG9yaXphdGlvbiB0aGF0IHRyaWdnZXJlZCB0aGUgY3JlYXRpb24gb2YgdGhlIHRhc2suICBJdCByZWZlcmVuY2VzIGEgJnF1b3Q7cmVxdWVzdCZxdW90OyByZXNvdXJjZSBzdWNoIGFzIGEgU2VydmljZVJlcXVlc3QsIE1lZGljYXRpb25SZXF1ZXN0LCBTZXJ2aWNlUmVxdWVzdCwgQ2FyZVBsYW4sIGV0Yy4gd2hpY2ggaXMgZGlzdGluY3QgZnJvbSB0aGUgJnF1b3Q7cmVxdWVzdCZxdW90OyByZXNvdXJjZSB0aGUgdGFzayBpcyBzZWVraW5nIHRvIGZ1bGZpbGwuICBUaGlzIGxhdHRlciByZXNvdXJjZSBpcyByZWZlcmVuY2VkIGJ5IEZvY3VzT24uICBGb3IgZXhhbXBsZSwgYmFzZWQgb24gYSBTZXJ2aWNlUmVxdWVzdCAoPSBCYXNlZE9uKSwgYSB0YXNrIGlzIGNyZWF0ZWQgdG8gZnVsZmlsbCBhIHByb2NlZHVyZVJlcXVlc3QgKCA9IEZvY3VzT24gKSB0byBjb2xsZWN0IGEgc3BlY2ltZW4gZnJvbSBhIHBhdGllbnQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJncm91cElkZW50aWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgZGVzY3JpcHRpb249IlJlcXVpc2l0aW9uIG9yIGdyb3VwZXIgaWQiIGRlZmluaXRpb249IkFuIGlkZW50aWZpZXIgdGhhdCBsaW5rcyB0b2dldGhlciBtdWx0aXBsZSB0YXNrcyBhbmQgb3RoZXIgcmVxdWVzdHMgdGhhdCB3ZXJlIGNyZWF0ZWQgaW4gdGhlIHNhbWUgY29udGV4dC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iQ29tcG9zaXRlIHRhc2siIGRlZmluaXRpb249IlRhc2sgdGhhdCB0aGlzIHBhcnRpY3VsYXIgdGFzayBpcyBwYXJ0IG9mLiIgY29tbWVudD0iVGhpcyBzaG91bGQgdXN1YWxseSBiZSAwLi4xLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLlRhc2tTdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRHJhZnTigIsgfCBSZXF1ZXN0ZWTigIsgfCBSZWNlaXZlZOKAiyB8IEFjY2VwdGVk4oCLIHwgUmVhZHnigIsgfCBDYW5jZWxsZWTigIsgfCBJbi1wcm9ncmVzc+KAiyB8IE9uLWhvbGTigIsgfCBGYWlsZWTigIsgfCIgZGVmaW5pdGlvbj0iVGhlIGN1cnJlbnQgc3RhdHVzIG9mIHRoZSB0YXNrLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJUYXNrU3RhdHVzIiBkZXNjcmlwdGlvbj0iVGhlIGN1cnJlbnQgc3RhdHVzIG9mIHRoZSB0YXNrLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzUmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZWFzb24gZm9yIGN1cnJlbnQgc3RhdHVzIiBkZWZpbml0aW9uPSJBbiBleHBsYW5hdGlvbiBhcyB0byB3aHkgdGhpcyB0YXNrIGlzIGhlbGQsIGZhaWxlZCwgd2FzIHJlZnVzZWQsIGV0Yy4iIGNvbW1lbnQ9IlRoaXMgYXBwbGllcyB0byB0aGUgY3VycmVudCBzdGF0dXMuICBMb29rIGF0IHRoZSBoaXN0b3J5IG9mIHRoZSB0YXNrIHRvIHNlZSByZWFzb25zIGZvciBwYXN0IHN0YXR1c2VzLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlRhc2tTdGF0dXNSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyB0byBpZGVudGlmeSB0aGUgcmVhc29uIGZvciBjdXJyZW50IHN0YXR1cy4gIFRoZXNlIHdpbGwgdHlwaWNhbGx5IGJlIHNwZWNpZmljIHRvIGEgcGFydGljdWxhciB3b3JrZmxvdy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYnVzaW5lc3NTdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkUuZy4gJnF1b3Q7U3BlY2ltZW4gY29sbGVjdGVkJnF1b3Q7LCAmcXVvdDtJViBwcmVwcGVkJnF1b3Q7IiBkZWZpbml0aW9uPSJDb250YWlucyBidXNpbmVzcy1zcGVjaWZpYyBudWFuY2VzIG9mIHRoZSBidXNpbmVzcyBzdGF0ZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJUYXNrQnVzaW5lc3NTdGF0dXMiIGRlc2NyaXB0aW9uPSJUaGUgZG9tYWluLXNwZWNpZmljIGJ1c2luZXNzLWNvbnRleHR1YWwgc3ViLXN0YXRlIG9mIHRoZSB0YXNrLiAgRm9yIGV4YW1wbGU6ICZxdW90O0Jsb29kIGRyYXduJnF1b3Q7LCAmcXVvdDtJViBpbnNlcnRlZCZxdW90OywgJnF1b3Q7QXdhaXRpbmcgcGh5c2ljaWFuIHNpZ25hdHVyZSZxdW90OywgZXRjLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlbnQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuVGFza0ludGVudCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJ1bmtub3duIHwgcHJvcG9zYWwgfCBwbGFuIHwgb3JkZXIgfCBvcmlnaW5hbC1vcmRlciB8IHJlZmxleC1vcmRlciB8IGZpbGxlci1vcmRlciB8IGluc3RhbmNlLW9yZGVyIHwgb3B0aW9uIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlICZxdW90O2xldmVsJnF1b3Q7IG9mIGFjdGlvbmFiaWxpdHkgYXNzb2NpYXRlZCB3aXRoIHRoZSBUYXNrLCBpLmUuIGkrUls5XUNzIHRoaXMgYSBwcm9wb3NlZCB0YXNrLCBhIHBsYW5uZWQgdGFzaywgYW4gYWN0aW9uYWJsZSB0YXNrLCBldGMuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgaW1tdXRhYmxlLiAgUHJvcG9zZWQgdGFza3MsIHBsYW5uZWQgdGFza3MsIGV0Yy4gbXVzdCBiZSBkaXN0aW5jdCBpbnN0YW5jZXMuJiN4YTsmI3hhO0luIG1vc3QgY2FzZXMsIFRhc2tzIHdpbGwgaGF2ZSBhbiBpbnRlbnQgb2YgJnF1b3Q7b3JkZXImcXVvdDsuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlRhc2tJbnRlbnQiIGRlc2NyaXB0aW9uPSJEaXN0aW5ndWlzaGVzIHdoZXRoZXIgdGhlIHRhc2sgaXMgYSBwcm9wb3NhbCwgcGxhbiBvciBmdWxsIG9yZGVyLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icHJpb3JpdHkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuVGFza1ByaW9yaXR5IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InJvdXRpbmUgfCB1cmdlbnQgfCBhc2FwIHwgc3RhdCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGhvdyBxdWlja2x5IHRoZSBUYXNrIHNob3VsZCBiZSBhZGRyZXNzZWQgd2l0aCByZXNwZWN0IHRvIG90aGVyIHJlcXVlc3RzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJUYXNrUHJpb3JpdHkiIGRlc2NyaXB0aW9uPSJUaGUgdGFzaydzIHByaW9yaXR5LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGFzayBUeXBlIiBkZWZpbml0aW9uPSJBIG5hbWUgb3IgY29kZSAob3IgYm90aCkgYnJpZWZseSBkZXNjcmliaW5nIHdoYXQgdGhlIHRhc2sgaW52b2x2ZXMuIiBjb21tZW50PSJUaGUgdGl0bGUgKGVnICZxdW90O015IFRhc2tzJnF1b3Q7LCAmcXVvdDtPdXRzdGFuZGluZyBUYXNrcyBmb3IgUGF0aWVudCBYJnF1b3Q7KSBzaG91bGQgZ28gaW50byB0aGUgY29kZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkNvZGVzIHRvIGlkZW50aWZ5IHdoYXQgdGhlIHRhc2sgaW52b2x2ZXMuIFRoZXNlIHdpbGwgdHlwaWNhbGx5IGJlIHNwZWNpZmljIHRvIGEgcGFydGljdWxhciB3b3JrZmxvdyIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRlc2NyaXB0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJIdW1hbi1yZWFkYWJsZSBleHBsYW5hdGlvbiBvZiB0YXNrIiBkZWZpbml0aW9uPSJBIGZyZWUtdGV4dCBkZXNjcmlwdGlvbiBvZiB3aGF0IGlzIHRvIGJlIHBlcmZvcm1lZC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jdXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hhdCB0YXNrIGlzIGFjdGluZyBvbiIgZGVmaW5pdGlvbj0iVGhlIHJlcXVlc3QgYmVpbmcgYWN0aW9uZWQgb3IgdGhlIHJlc291cmNlIGJlaW5nIG1hbmlwdWxhdGVkIGJ5IHRoaXMgdGFzay4iIGNvbW1lbnQ9IklmIG11bHRpcGxlIHJlc291cmNlcyBuZWVkIHRvIGJlIG1hbmlwdWxhdGVkLCB1c2Ugc3ViLXRhc2tzLiAgKFRoaXMgZW5zdXJlcyB0aGF0IHN0YXR1cyBjYW4gYmUgdHJhY2tlZCBpbmRlcGVuZGVudGx5IGZvciBlYWNoIHJlZmVyZW5jZWQgcmVzb3VyY2UuKS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZm9yIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkJlbmVmaWNpYXJ5IG9mIHRoZSBUYXNrIiBkZWZpbml0aW9uPSJUaGUgZW50aXR5IHdobyBiZW5lZml0cyBmcm9tIHRoZSBwZXJmb3JtYW5jZSBvZiB0aGUgc2VydmljZSBzcGVjaWZpZWQgaW4gdGhlIHRhc2sgKGUuZy4sIHRoZSBwYXRpZW50KS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkhlYWx0aGNhcmUgZXZlbnQgZHVyaW5nIHdoaWNoIHRoaXMgdGFzayBvcmlnaW5hdGVkIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyB0YXNrIHdhcyBjcmVhdGVkLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJleGVjdXRpb25QZXJpb2QiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU3RhcnQgYW5kIGVuZCB0aW1lIG9mIGV4ZWN1dGlvbiIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgdGltZSBhY3Rpb24gd2FzIGZpcnN0IHRha2VuIGFnYWluc3QgdGhlIHRhc2sgKHN0YXJ0KSBhbmQvb3IgdGhlIHRpbWUgZmluYWwgYWN0aW9uIHdhcyB0YWtlbiBhZ2FpbnN0IHRoZSB0YXNrIHByaW9yIHRvIG1hcmtpbmcgaXQgYXMgY29tcGxldGVkIChlbmQpLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImF1dGhvcmVkT24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGFzayBDcmVhdGlvbiBEYXRlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGlzIHRhc2sgd2FzIGNyZWF0ZWQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Imxhc3RNb2RpZmllZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUYXNrIExhc3QgTW9kaWZpZWQgRGF0ZSIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgYW5kIHRpbWUgb2YgbGFzdCBtb2RpZmljYXRpb24gdG8gdGhpcyB0YXNrLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZXF1ZXN0ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIGlzIGFza2luZyBmb3IgdGFzayB0byBiZSBkb25lIiBkZWZpbml0aW9uPSJUaGUgY3JlYXRvciBvZiB0aGUgdGFzay4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyVHlwZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlcXVlc3RlZCBwZXJmb3JtZXIiIGRlZmluaXRpb249IlRoZSBraW5kIG9mIHBhcnRpY2lwYW50IHRoYXQgc2hvdWxkIHBlcmZvcm0gdGhlIHRhc2suIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlRhc2tQZXJmb3JtZXJUeXBlIiBkZXNjcmlwdGlvbj0iVGhlIHR5cGUocykgb2YgdGFzayBwZXJmb3JtZXJzIGFsbG93ZWQuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ib3duZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iUmVzcG9uc2libGUgaW5kaXZpZHVhbCIgZGVmaW5pdGlvbj0iSW5kaXZpZHVhbCBvcmdhbml6YXRpb24gb3IgRGV2aWNlIGN1cnJlbnRseSByZXNwb25zaWJsZSBmb3IgdGFzayBleGVjdXRpb24uIiBjb21tZW50PSJUYXNrcyBtYXkgYmUgY3JlYXRlZCB3aXRoIGFuIG93bmVyIG5vdCB5ZXQgaWRlbnRpZmllZC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibG9jYXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hlcmUgdGFzayBvY2N1cnMiIGRlZmluaXRpb249IlByaW5jaXBhbCBwaHlzaWNhbCBsb2NhdGlvbiB3aGVyZSB0aGUgdGhpcyB0YXNrIGlzIHBlcmZvcm1lZC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uQ29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2h5IHRhc2sgaXMgbmVlZGVkIiBkZWZpbml0aW9uPSJBIGRlc2NyaXB0aW9uIG9yIGNvZGUgaW5kaWNhdGluZyB3aHkgdGhpcyB0YXNrIG5lZWRzIHRvIGJlIHBlcmZvcm1lZC4iIGNvbW1lbnQ9IlRoaXMgc2hvdWxkIG9ubHkgYmUgaW5jbHVkZWQgaWYgdGhlcmUgaXMgbm8gZm9jdXMgb3IgaWYgaXQgZGlmZmVycyBmcm9tIHRoZSByZWFzb24gaW5kaWNhdGVkIG9uIHRoZSBmb2N1cy4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlRhc2tSZWFzb24iIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgd2h5IHRoZSB0YXNrIGlzIG5lZWRlZC4gIEUuZy4gU3VzcGVuZGVkIGJlY2F1c2UgcGF0aWVudCBhZG1pdHRlZCB0byBob3NwaXRhbC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uUmVmZXJlbmNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldoeSB0YXNrIGlzIG5lZWRlZCIgZGVmaW5pdGlvbj0iQSByZXNvdXJjZSByZWZlcmVuY2UgaW5kaWNhdGluZyB3aHkgdGhpcyB0YXNrIG5lZWRzIHRvIGJlIHBlcmZvcm1lZC4iIGNvbW1lbnQ9IlRhc2tzIG1pZ2h0IGJlIGp1c3RpZmllZCBiYXNlZCBvbiBhbiBPYnNlcnZhdGlvbiwgYSBDb25kaXRpb24sIGEgcGFzdCBvciBwbGFubmVkIHByb2NlZHVyZSwgZXRjLiAgIFRoaXMgc2hvdWxkIG9ubHkgYmUgaW5jbHVkZWQgaWYgdGhlcmUgaXMgbm8gZm9jdXMgb3IgaWYgaXQgZGlmZmVycyBmcm9tIHRoZSByZWFzb24gaW5kaWNhdGVkIG9uIHRoZSBmb2N1cy4gICAgVXNlIHRoZSBDb2RlYWJsZUNvbmNlcHQgdGV4dCBlbGVtZW50IGluIGBUYXNrLnJlYXNvbkNvZGVgIGlmIHRoZSBkYXRhIGlzIGZyZWUgKHVuY29kZWQpIHRleHQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Imluc3VyYW5jZSIgZGVzY3JpcHRpb249IkFzc29jaWF0ZWQgaW5zdXJhbmNlIGNvdmVyYWdlIiBkZWZpbml0aW9uPSJJbnN1cmFuY2UgcGxhbnMsIGNvdmVyYWdlIGV4dGVuc2lvbnMsIHByZS1hdXRob3JpemF0aW9ucyBhbmQvb3IgcHJlLWRldGVybWluYXRpb25zIHRoYXQgbWF5IGJlIHJlbGV2YW50IHRvIHRoZSBUYXNrLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIG1hZGUgYWJvdXQgdGhlIHRhc2siIGRlZmluaXRpb249IkZyZWUtdGV4dCBpbmZvcm1hdGlvbiBjYXB0dXJlZCBhYm91dCB0aGUgdGFzayBhcyBpdCBwcm9ncmVzc2VzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlbGV2YW50SGlzdG9yeSIgZGVzY3JpcHRpb249IktleSBldmVudHMgaW4gaGlzdG9yeSBvZiB0aGUgVGFzayIgZGVmaW5pdGlvbj0iTGlua3MgdG8gUHJvdmVuYW5jZSByZWNvcmRzIGZvciBwYXN0IHZlcnNpb25zIG9mIHRoaXMgVGFzayB0aGF0IGlkZW50aWZ5IGtleSBzdGF0ZSB0cmFuc2l0aW9ucyBvciB1cGRhdGVzIHRoYXQgYXJlIGxpa2VseSB0byBiZSByZWxldmFudCB0byBhIHVzZXIgbG9va2luZyBhdCB0aGUgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSB0YXNrLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGRvZXMgbm90IHBvaW50IHRvIHRoZSBQcm92ZW5hbmNlIGFzc29jaWF0ZWQgd2l0aCB0aGUgKmN1cnJlbnQqIHZlcnNpb24gb2YgdGhlIHJlc291cmNlIC0gYXMgaXQgd291bGQgYmUgY3JlYXRlZCBhZnRlciB0aGlzIHZlcnNpb24gZXhpc3RlZC4gIFRoZSBQcm92ZW5hbmNlIGZvciB0aGUgY3VycmVudCB2ZXJzaW9uIGNhbiBiZSByZXRyaWV2ZWQgd2l0aCBhIF9yZXZpbmNsdWRlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVzdHJpY3Rpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuVGFzay5SZXN0cmljdGlvbiIgZGVzY3JpcHRpb249IkNvbnN0cmFpbnRzIG9uIGZ1bGZpbGxtZW50IHRhc2tzIiBkZWZpbml0aW9uPSJJZiB0aGUgVGFzay5mb2N1cyBpcyBhIHJlcXVlc3QgcmVzb3VyY2UgYW5kIHRoZSB0YXNrIGlzIHNlZWtpbmcgZnVsZmlsbG1lbnQgKGkuZS4gaXMgYXNraW5nIGZvciB0aGUgcmVxdWVzdCB0byBiZSBhY3Rpb25lZCksIHRoaXMgZWxlbWVudCBpZGVudGlmaWVzIGFueSBsaW1pdGF0aW9ucyBvbiB3aGF0IHBhcnRzIG9mIHRoZSByZWZlcmVuY2VkIHJlcXVlc3Qgc2hvdWxkIGJlIGFjdGlvbmVkLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnB1dCIgZGVzY3JpcHRpb249IkluZm9ybWF0aW9uIHVzZWQgdG8gcGVyZm9ybSB0YXNrIiBkZWZpbml0aW9uPSJBZGRpdGlvbmFsIGluZm9ybWF0aW9uIHRoYXQgbWF5IGJlIG5lZWRlZCBpbiB0aGUgZXhlY3V0aW9uIG9mIHRoZSB0YXNrLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlRhc2suSW5wdXQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im91dHB1dCIgZGVzY3JpcHRpb249IkluZm9ybWF0aW9uIHByb2R1Y2VkIGFzIHBhcnQgb2YgdGFzayIgZGVmaW5pdGlvbj0iT3V0cHV0cyBwcm9kdWNlZCBieSB0aGUgVGFzay4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5UYXNrLk91dHB1dCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGFzay5JbnB1dCIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iTGFiZWwgZm9yIHRoZSBpbnB1dCIgZGVmaW5pdGlvbj0iQSBjb2RlIG9yIGRlc2NyaXB0aW9uIGluZGljYXRpbmcgaG93IHRoZSBpbnB1dCBpcyBpbnRlbmRlZCB0byBiZSB1c2VkIGFzIHBhcnQgb2YgdGhlIHRhc2sgZXhlY3V0aW9uLiIgY29tbWVudD0iSWYgcmVmZXJlbmNpbmcgYSBCUE1OIHdvcmtmbG93IG9yIFByb3RvY29sLCB0aGUgJnF1b3Q7c3lzdGVtJnF1b3Q7IGlzIHRoZSBVUkwgZm9yIHRoZSB3b3JrZmxvdyBkZWZpbml0aW9uIGFuZCB0aGUgY29kZSBpcyB0aGUgJnF1b3Q7bmFtZSZxdW90OyBvZiB0aGUgcmVxdWlyZWQgaW5wdXQuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iVGFza0lucHV0UGFyYW1ldGVyVHlwZSIgZGVzY3JpcHRpb249IkNvZGVzIHRvIGlkZW50aWZ5IHR5cGVzIG9mIGlucHV0IHBhcmFtZXRlcnMuICBUaGVzZSB3aWxsIHR5cGljYWxseSBiZSBzcGVjaWZpYyB0byBhIHBhcnRpY3VsYXIgd29ya2Zsb3cuICBFLmcuICZxdW90O0NvbXBhcmlzb24gc291cmNlJnF1b3Q7LCAmcXVvdDtBcHBsaWNhYmxlIGNvbnNlbnQmcXVvdDssICZxdW90O0NvbmNvbWl0ZW50IE1lZGljYXRpb25zJnF1b3Q7LCBldGMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvbnRlbnQgdG8gdXNlIGluIHBlcmZvcm1pbmcgdGhlIHRhc2siIGRlZmluaXRpb249IlRoZSB2YWx1ZSBvZiB0aGUgaW5wdXQgcGFyYW1ldGVyIGFzIGEgYmFzaWMgdHlwZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGVjaW1hbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBZGRyZXNzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkFubm90YXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQXR0YWNobWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvZGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ29udGFjdFBvaW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ikh1bWFuTmFtZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJJZGVudGlmaWVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRlY2ltYWwiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJSYXRpbyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU2FtcGxlZERhdGEiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU2lnbmF0dXJlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRpbWluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb250YWN0RGV0YWlsIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbnRyaWJ1dG9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRhdGFSZXF1aXJlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJFeHByZXNzaW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlBhcmFtZXRlckRlZmluaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVsYXRlZEFydGlmYWN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRyaWdnZXJEZWZpbml0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVzYWdlQ29udGV4dCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEb3NhZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTWV0YSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRhc2suT3V0cHV0IiByZXRyaWV2YWJsZT0iZmFsc2UiPgogICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJMYWJlbCBmb3Igb3V0cHV0IiBkZWZpbml0aW9uPSJUaGUgbmFtZSBvZiB0aGUgT3V0cHV0IHBhcmFtZXRlci4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJUYXNrT3V0cHV0UGFyYW1ldGVyVHlwZSIgZGVzY3JpcHRpb249IkNvZGVzIHRvIGlkZW50aWZ5IHR5cGVzIG9mIGlucHV0IHBhcmFtZXRlcnMuICBUaGVzZSB3aWxsIHR5cGljYWxseSBiZSBzcGVjaWZpYyB0byBhIHBhcnRpY3VsYXIgd29ya2Zsb3cuICBFLmcuICZxdW90O0lkZW50aWZpZWQgaXNzdWVzJnF1b3Q7LCAmcXVvdDtQcmVsaW1pbmFyeSByZXN1bHRzJnF1b3Q7LCAmcXVvdDtGaWxsZXIgb3JkZXImcXVvdDssICZxdW90O0ZpbmFsIHJlc3VsdHMmcXVvdDssIGV0Yy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmVzdWx0IG9mIG91dHB1dCIgZGVmaW5pdGlvbj0iVGhlIHZhbHVlIG9mIHRoZSBPdXRwdXQgcGFyYW1ldGVyIGFzIGEgYmFzaWMgdHlwZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGVjaW1hbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBZGRyZXNzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkFubm90YXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQXR0YWNobWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvZGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ29udGFjdFBvaW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ikh1bWFuTmFtZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJJZGVudGlmaWVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRlY2ltYWwiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJSYXRpbyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU2FtcGxlZERhdGEiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU2lnbmF0dXJlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRpbWluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb250YWN0RGV0YWlsIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbnRyaWJ1dG9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRhdGFSZXF1aXJlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJFeHByZXNzaW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlBhcmFtZXRlckRlZmluaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVsYXRlZEFydGlmYWN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRyaWdnZXJEZWZpbml0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVzYWdlQ29udGV4dCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEb3NhZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTWV0YSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRhc2suUmVzdHJpY3Rpb24iIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlcGV0aXRpb25zIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSG93IG1hbnkgdGltZXMgdG8gcmVwZWF0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIG51bWJlciBvZiB0aW1lcyB0aGUgcmVxdWVzdGVkIGFjdGlvbiBzaG91bGQgb2NjdXIuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaGVuIGZ1bGZpbGxtZW50IHNvdWdodCIgZGVmaW5pdGlvbj0iT3ZlciB3aGF0IHRpbWUtcGVyaW9kIGlzIGZ1bGZpbGxtZW50IHNvdWdodC4iIGNvbW1lbnQ9Ik5vdGUgdGhhdCBwZXJpb2QuaGlnaCBpcyB0aGUgZHVlIGRhdGUgcmVwcmVzZW50aW5nIHRoZSB0aW1lIGJ5IHdoaWNoIHRoZSB0YXNrIHNob3VsZCBiZSBjb21wbGV0ZWQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlY2lwaWVudCIgZGVzY3JpcHRpb249IkZvciB3aG9tIGlzIGZ1bGZpbGxtZW50IHNvdWdodD8iIGRlZmluaXRpb249IkZvciByZXF1ZXN0cyB0aGF0IGFyZSB0YXJnZXRlZCB0byBtb3JlIHRoYW4gb24gcG90ZW50aWFsIHJlY2lwaWVudC90YXJnZXQsIGZvciB3aG9tIGlzIGZ1bGZpbGxtZW50IHNvdWdodD8iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRhc2tJbnRlbnQiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJUYXNrUHJpb3JpdHkiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRhc2tSZWplY3RlZCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtdGFza3JlamVjdGVkIiBsYWJlbD0iUUlDb3JlIFRhc2sgUmVqZWN0ZWQiIHRhcmdldD0iVGFzayIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY29kZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJUYXNrIEluc3RhbmNlIElkZW50aWZpZXIiIGRlZmluaXRpb249IlRoZSBidXNpbmVzcyBpZGVudGlmaWVyIGZvciB0aGlzIHRhc2suIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzQ2Fub25pY2FsIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJGb3JtYWwgZGVmaW5pdGlvbiBvZiB0YXNrIiBkZWZpbml0aW9uPSJUaGUgVVJMIHBvaW50aW5nIHRvIGEgKkZISVIqLWRlZmluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXJzZXQgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIFRhc2suIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc1VyaSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRm9ybWFsIGRlZmluaXRpb24gb2YgdGFzayIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhbiAqZXh0ZXJuYWxseSogbWFpbnRhaW5lZCAgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXJzZXQgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIFRhc2suIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJSZXF1ZXN0IGZ1bGZpbGxlZCBieSB0aGlzIHRhc2siIGRlZmluaXRpb249IkJhc2VkT24gcmVmZXJzIHRvIGEgaGlnaGVyLWxldmVsIGF1dGhvcml6YXRpb24gdGhhdCB0cmlnZ2VyZWQgdGhlIGNyZWF0aW9uIG9mIHRoZSB0YXNrLiAgSXQgcmVmZXJlbmNlcyBhICZxdW90O3JlcXVlc3QmcXVvdDsgcmVzb3VyY2Ugc3VjaCBhcyBhIFNlcnZpY2VSZXF1ZXN0LCBNZWRpY2F0aW9uUmVxdWVzdCwgU2VydmljZVJlcXVlc3QsIENhcmVQbGFuLCBldGMuIHdoaWNoIGlzIGRpc3RpbmN0IGZyb20gdGhlICZxdW90O3JlcXVlc3QmcXVvdDsgcmVzb3VyY2UgdGhlIHRhc2sgaXMgc2Vla2luZyB0byBmdWxmaWxsLiAgVGhpcyBsYXR0ZXIgcmVzb3VyY2UgaXMgcmVmZXJlbmNlZCBieSBGb2N1c09uLiAgRm9yIGV4YW1wbGUsIGJhc2VkIG9uIGEgU2VydmljZVJlcXVlc3QgKD0gQmFzZWRPbiksIGEgdGFzayBpcyBjcmVhdGVkIHRvIGZ1bGZpbGwgYSBwcm9jZWR1cmVSZXF1ZXN0ICggPSBGb2N1c09uICkgdG8gY29sbGVjdCBhIHNwZWNpbWVuIGZyb20gYSBwYXRpZW50LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZ3JvdXBJZGVudGlmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJSZXF1aXNpdGlvbiBvciBncm91cGVyIGlkIiBkZWZpbml0aW9uPSJBbiBpZGVudGlmaWVyIHRoYXQgbGlua3MgdG9nZXRoZXIgbXVsdGlwbGUgdGFza3MgYW5kIG90aGVyIHJlcXVlc3RzIHRoYXQgd2VyZSBjcmVhdGVkIGluIHRoZSBzYW1lIGNvbnRleHQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IkNvbXBvc2l0ZSB0YXNrIiBkZWZpbml0aW9uPSJUYXNrIHRoYXQgdGhpcyBwYXJ0aWN1bGFyIHRhc2sgaXMgcGFydCBvZi4iIGNvbW1lbnQ9IlRoaXMgc2hvdWxkIHVzdWFsbHkgYmUgMC4uMS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5UYXNrU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSBwb3RlbnRpYWwgcGVyZm9ybWVyIHdobyBjbGFpbWVkIG93bmVyc2hpcCBvZiB0aGUgdGFzayBoYXMgZGVjaWRlZCBub3QgdG8gZXhlY3V0ZSBpdCBwcmlvciB0byBwZXJmb3JtaW5nIGFueSBhY3Rpb24iIGRlZmluaXRpb249IlRoZSBjdXJyZW50IHN0YXR1cyBvZiB0aGUgdGFzay4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iVGFza1N0YXR1cyIgZGVzY3JpcHRpb249IlRoZSBjdXJyZW50IHN0YXR1cyBvZiB0aGUgdGFzay4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1c1JlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmVhc29uIGZvciBjdXJyZW50IHN0YXR1cyIgZGVmaW5pdGlvbj0iQW4gZXhwbGFuYXRpb24gYXMgdG8gd2h5IHRoaXMgdGFzayBpcyBoZWxkLCBmYWlsZWQsIHdhcyByZWZ1c2VkLCBldGMuIiBjb21tZW50PSJUaGlzIGFwcGxpZXMgdG8gdGhlIGN1cnJlbnQgc3RhdHVzLiAgTG9vayBhdCB0aGUgaGlzdG9yeSBvZiB0aGUgdGFzayB0byBzZWUgcmVhc29ucyBmb3IgcGFzdCBzdGF0dXNlcy4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYnVzaW5lc3NTdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkUuZy4gJnF1b3Q7U3BlY2ltZW4gY29sbGVjdGVkJnF1b3Q7LCAmcXVvdDtJViBwcmVwcGVkJnF1b3Q7IiBkZWZpbml0aW9uPSJDb250YWlucyBidXNpbmVzcy1zcGVjaWZpYyBudWFuY2VzIG9mIHRoZSBidXNpbmVzcyBzdGF0ZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJUYXNrQnVzaW5lc3NTdGF0dXMiIGRlc2NyaXB0aW9uPSJUaGUgZG9tYWluLXNwZWNpZmljIGJ1c2luZXNzLWNvbnRleHR1YWwgc3ViLXN0YXRlIG9mIHRoZSB0YXNrLiAgRm9yIGV4YW1wbGU6ICZxdW90O0Jsb29kIGRyYXduJnF1b3Q7LCAmcXVvdDtJViBpbnNlcnRlZCZxdW90OywgJnF1b3Q7QXdhaXRpbmcgcGh5c2ljaWFuIHNpZ25hdHVyZSZxdW90OywgZXRjLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlbnQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuVGFza0ludGVudCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJ1bmtub3duIHwgcHJvcG9zYWwgfCBwbGFuIHwgb3JkZXIgfCBvcmlnaW5hbC1vcmRlciB8IHJlZmxleC1vcmRlciB8IGZpbGxlci1vcmRlciB8IGluc3RhbmNlLW9yZGVyIHwgb3B0aW9uIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlICZxdW90O2xldmVsJnF1b3Q7IG9mIGFjdGlvbmFiaWxpdHkgYXNzb2NpYXRlZCB3aXRoIHRoZSBUYXNrLCBpLmUuIGkrUls5XUNzIHRoaXMgYSBwcm9wb3NlZCB0YXNrLCBhIHBsYW5uZWQgdGFzaywgYW4gYWN0aW9uYWJsZSB0YXNrLCBldGMuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgaW1tdXRhYmxlLiAgUHJvcG9zZWQgdGFza3MsIHBsYW5uZWQgdGFza3MsIGV0Yy4gbXVzdCBiZSBkaXN0aW5jdCBpbnN0YW5jZXMuJiN4YTsmI3hhO0luIG1vc3QgY2FzZXMsIFRhc2tzIHdpbGwgaGF2ZSBhbiBpbnRlbnQgb2YgJnF1b3Q7b3JkZXImcXVvdDsuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iVGFza0ludGVudCIgZGVzY3JpcHRpb249IkRpc3Rpbmd1aXNoZXMgd2hldGhlciB0aGUgdGFzayBpcyBhIHByb3Bvc2FsLCBwbGFuIG9yIGZ1bGwgb3JkZXIuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwcmlvcml0eSIgZWxlbWVudFR5cGU9IlFJQ29yZS5UYXNrUHJpb3JpdHkiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icm91dGluZSB8IHVyZ2VudCB8IGFzYXAgfCBzdGF0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgaG93IHF1aWNrbHkgdGhlIFRhc2sgc2hvdWxkIGJlIGFkZHJlc3NlZCB3aXRoIHJlc3BlY3QgdG8gb3RoZXIgcmVxdWVzdHMuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iVGFza1ByaW9yaXR5IiBkZXNjcmlwdGlvbj0iVGhlIHRhc2sncyBwcmlvcml0eS4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIHRhcmdldD0iU3lzdGVtLkNvbmNlcHQ6RkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSk7U3lzdGVtLlZhbHVlU2V0OkZISVJIZWxwZXJzLlRvVmFsdWVTZXQoJXBhcmVudC5jb2RlLmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW5vdERvbmVWYWx1ZVNldCddLnZhbHVlLnZhbHVlKSIgZGVzY3JpcHRpb249IlRhc2sgVHlwZSIgZGVmaW5pdGlvbj0iQSBuYW1lIG9yIGNvZGUgKG9yIGJvdGgpIGJyaWVmbHkgZGVzY3JpYmluZyB3aGF0IHRoZSB0YXNrIGludm9sdmVzLiIgY29tbWVudD0iVGhlIHRpdGxlIChlZyAmcXVvdDtNeSBUYXNrcyZxdW90OywgJnF1b3Q7T3V0c3RhbmRpbmcgVGFza3MgZm9yIFBhdGllbnQgWCZxdW90Oykgc2hvdWxkIGdvIGludG8gdGhlIGNvZGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iVmFsdWVTZXQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkNvZGVzIHRvIGlkZW50aWZ5IHdoYXQgdGhlIHRhc2sgaW52b2x2ZXMuIFRoZXNlIHdpbGwgdHlwaWNhbGx5IGJlIHNwZWNpZmljIHRvIGEgcGFydGljdWxhciB3b3JrZmxvdy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXNjcmlwdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSHVtYW4tcmVhZGFibGUgZXhwbGFuYXRpb24gb2YgdGFzayIgZGVmaW5pdGlvbj0iQSBmcmVlLXRleHQgZGVzY3JpcHRpb24gb2Ygd2hhdCBpcyB0byBiZSBwZXJmb3JtZWQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImZvY3VzIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldoYXQgdGFzayBpcyBhY3Rpbmcgb24iIGRlZmluaXRpb249IlRoZSByZXF1ZXN0IGJlaW5nIGFjdGlvbmVkIG9yIHRoZSByZXNvdXJjZSBiZWluZyBtYW5pcHVsYXRlZCBieSB0aGlzIHRhc2suIiBjb21tZW50PSJJZiBtdWx0aXBsZSByZXNvdXJjZXMgbmVlZCB0byBiZSBtYW5pcHVsYXRlZCwgdXNlIHN1Yi10YXNrcy4gIChUaGlzIGVuc3VyZXMgdGhhdCBzdGF0dXMgY2FuIGJlIHRyYWNrZWQgaW5kZXBlbmRlbnRseSBmb3IgZWFjaCByZWZlcmVuY2VkIHJlc291cmNlLikuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZm9yIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkJlbmVmaWNpYXJ5IG9mIHRoZSBUYXNrIiBkZWZpbml0aW9uPSJUaGUgZW50aXR5IHdobyBiZW5lZml0cyBmcm9tIHRoZSBwZXJmb3JtYW5jZSBvZiB0aGUgc2VydmljZSBzcGVjaWZpZWQgaW4gdGhlIHRhc2sgKGUuZy4sIHRoZSBwYXRpZW50KS4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyB0YXNrIG9yaWdpbmF0ZWQiIGRlZmluaXRpb249IlRoZSBoZWFsdGhjYXJlIGV2ZW50ICAoZS5nLiBhIHBhdGllbnQgYW5kIGhlYWx0aGNhcmUgcHJvdmlkZXIgaW50ZXJhY3Rpb24pIGR1cmluZyB3aGljaCB0aGlzIHRhc2sgd2FzIGNyZWF0ZWQuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZXhlY3V0aW9uUGVyaW9kIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRoZSB0aW1pbmcgdGhlIHRhc2sgd2FzIHJlamVjdGVkIGFuZCB0aGUgcmVhc29uLiIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgdGltZSBhY3Rpb24gd2FzIGZpcnN0IHRha2VuIGFnYWluc3QgdGhlIHRhc2sgKHN0YXJ0KSBhbmQvb3IgdGhlIHRpbWUgZmluYWwgYWN0aW9uIHdhcyB0YWtlbiBhZ2FpbnN0IHRoZSB0YXNrIHByaW9yIHRvIG1hcmtpbmcgaXQgYXMgY29tcGxldGVkIChlbmQpLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yZWRPbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUYXNrIENyZWF0aW9uIERhdGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdGFzayB3YXMgY3JlYXRlZC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibGFzdE1vZGlmaWVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRhc2sgTGFzdCBNb2RpZmllZCBEYXRlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSBvZiBsYXN0IG1vZGlmaWNhdGlvbiB0byB0aGlzIHRhc2suIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlcXVlc3RlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaG8gaXMgYXNraW5nIGZvciB0YXNrIHRvIGJlIGRvbmUiIGRlZmluaXRpb249IlRoZSBjcmVhdG9yIG9mIHRoZSB0YXNrLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXJUeXBlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmVxdWVzdGVkIHBlcmZvcm1lciIgZGVmaW5pdGlvbj0iVGhlIGtpbmQgb2YgcGFydGljaXBhbnQgdGhhdCBzaG91bGQgcGVyZm9ybSB0aGUgdGFzay4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iVGFza1BlcmZvcm1lclR5cGUiIGRlc2NyaXB0aW9uPSJUaGUgdHlwZShzKSBvZiB0YXNrIHBlcmZvcm1lcnMgYWxsb3dlZC4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJvd25lciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJSZXNwb25zaWJsZSBpbmRpdmlkdWFsIiBkZWZpbml0aW9uPSJJbmRpdmlkdWFsIG9yZ2FuaXphdGlvbiBvciBEZXZpY2UgY3VycmVudGx5IHJlc3BvbnNpYmxlIGZvciB0YXNrIGV4ZWN1dGlvbi4iIGNvbW1lbnQ9IlRhc2tzIG1heSBiZSBjcmVhdGVkIHdpdGggYW4gb3duZXIgbm90IHlldCBpZGVudGlmaWVkLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaGVyZSB0YXNrIG9jY3VycyIgZGVmaW5pdGlvbj0iUHJpbmNpcGFsIHBoeXNpY2FsIGxvY2F0aW9uIHdoZXJlIHRoZSB0aGlzIHRhc2sgaXMgcGVyZm9ybWVkLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25Db2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgdGFzayBpcyBuZWVkZWQiIGRlZmluaXRpb249IkEgZGVzY3JpcHRpb24gb3IgY29kZSBpbmRpY2F0aW5nIHdoeSB0aGlzIHRhc2sgbmVlZHMgdG8gYmUgcGVyZm9ybWVkLiIgY29tbWVudD0iVGhpcyBzaG91bGQgb25seSBiZSBpbmNsdWRlZCBpZiB0aGVyZSBpcyBubyBmb2N1cyBvciBpZiBpdCBkaWZmZXJzIGZyb20gdGhlIHJlYXNvbiBpbmRpY2F0ZWQgb24gdGhlIGZvY3VzLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlRhc2tSZWFzb24iIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgd2h5IHRoZSB0YXNrIGlzIG5lZWRlZC4gIEUuZy4gU3VzcGVuZGVkIGJlY2F1c2UgcGF0aWVudCBhZG1pdHRlZCB0byBob3NwaXRhbC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uUmVmZXJlbmNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldoeSB0YXNrIGlzIG5lZWRlZCIgZGVmaW5pdGlvbj0iQSByZXNvdXJjZSByZWZlcmVuY2UgaW5kaWNhdGluZyB3aHkgdGhpcyB0YXNrIG5lZWRzIHRvIGJlIHBlcmZvcm1lZC4iIGNvbW1lbnQ9IlRhc2tzIG1pZ2h0IGJlIGp1c3RpZmllZCBiYXNlZCBvbiBhbiBPYnNlcnZhdGlvbiwgYSBDb25kaXRpb24sIGEgcGFzdCBvciBwbGFubmVkIHByb2NlZHVyZSwgZXRjLiAgIFRoaXMgc2hvdWxkIG9ubHkgYmUgaW5jbHVkZWQgaWYgdGhlcmUgaXMgbm8gZm9jdXMgb3IgaWYgaXQgZGlmZmVycyBmcm9tIHRoZSByZWFzb24gaW5kaWNhdGVkIG9uIHRoZSBmb2N1cy4gICAgVXNlIHRoZSBDb2RlYWJsZUNvbmNlcHQgdGV4dCBlbGVtZW50IGluIGBUYXNrLnJlYXNvbkNvZGVgIGlmIHRoZSBkYXRhIGlzIGZyZWUgKHVuY29kZWQpIHRleHQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Imluc3VyYW5jZSIgZGVzY3JpcHRpb249IkFzc29jaWF0ZWQgaW5zdXJhbmNlIGNvdmVyYWdlIiBkZWZpbml0aW9uPSJJbnN1cmFuY2UgcGxhbnMsIGNvdmVyYWdlIGV4dGVuc2lvbnMsIHByZS1hdXRob3JpemF0aW9ucyBhbmQvb3IgcHJlLWRldGVybWluYXRpb25zIHRoYXQgbWF5IGJlIHJlbGV2YW50IHRvIHRoZSBUYXNrLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIG1hZGUgYWJvdXQgdGhlIHRhc2siIGRlZmluaXRpb249IkZyZWUtdGV4dCBpbmZvcm1hdGlvbiBjYXB0dXJlZCBhYm91dCB0aGUgdGFzayBhcyBpdCBwcm9ncmVzc2VzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlbGV2YW50SGlzdG9yeSIgZGVzY3JpcHRpb249IktleSBldmVudHMgaW4gaGlzdG9yeSBvZiB0aGUgVGFzayIgZGVmaW5pdGlvbj0iTGlua3MgdG8gUHJvdmVuYW5jZSByZWNvcmRzIGZvciBwYXN0IHZlcnNpb25zIG9mIHRoaXMgVGFzayB0aGF0IGlkZW50aWZ5IGtleSBzdGF0ZSB0cmFuc2l0aW9ucyBvciB1cGRhdGVzIHRoYXQgYXJlIGxpa2VseSB0byBiZSByZWxldmFudCB0byBhIHVzZXIgbG9va2luZyBhdCB0aGUgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSB0YXNrLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGRvZXMgbm90IHBvaW50IHRvIHRoZSBQcm92ZW5hbmNlIGFzc29jaWF0ZWQgd2l0aCB0aGUgKmN1cnJlbnQqIHZlcnNpb24gb2YgdGhlIHJlc291cmNlIC0gYXMgaXQgd291bGQgYmUgY3JlYXRlZCBhZnRlciB0aGlzIHZlcnNpb24gZXhpc3RlZC4gIFRoZSBQcm92ZW5hbmNlIGZvciB0aGUgY3VycmVudCB2ZXJzaW9uIGNhbiBiZSByZXRyaWV2ZWQgd2l0aCBhIF9yZXZpbmNsdWRlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVzdHJpY3Rpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuVGFzay5SZXN0cmljdGlvbiIgZGVzY3JpcHRpb249IkNvbnN0cmFpbnRzIG9uIGZ1bGZpbGxtZW50IHRhc2tzIiBkZWZpbml0aW9uPSJJZiB0aGUgVGFzay5mb2N1cyBpcyBhIHJlcXVlc3QgcmVzb3VyY2UgYW5kIHRoZSB0YXNrIGlzIHNlZWtpbmcgZnVsZmlsbG1lbnQgKGkuZS4gaXMgYXNraW5nIGZvciB0aGUgcmVxdWVzdCB0byBiZSBhY3Rpb25lZCksIHRoaXMgZWxlbWVudCBpZGVudGlmaWVzIGFueSBsaW1pdGF0aW9ucyBvbiB3aGF0IHBhcnRzIG9mIHRoZSByZWZlcmVuY2VkIHJlcXVlc3Qgc2hvdWxkIGJlIGFjdGlvbmVkLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnB1dCIgZGVzY3JpcHRpb249IkluZm9ybWF0aW9uIHVzZWQgdG8gcGVyZm9ybSB0YXNrIiBkZWZpbml0aW9uPSJBZGRpdGlvbmFsIGluZm9ybWF0aW9uIHRoYXQgbWF5IGJlIG5lZWRlZCBpbiB0aGUgZXhlY3V0aW9uIG9mIHRoZSB0YXNrLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlRhc2suSW5wdXQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im91dHB1dCIgZGVzY3JpcHRpb249IkluZm9ybWF0aW9uIHByb2R1Y2VkIGFzIHBhcnQgb2YgdGFzayIgZGVmaW5pdGlvbj0iT3V0cHV0cyBwcm9kdWNlZCBieSB0aGUgVGFzay4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5UYXNrLk91dHB1dCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGFza1N0YXR1cyIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRpbWluZyIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1RpbWluZyIgbGFiZWw9IlRpbWluZyIgcmV0cmlldmFibGU9ImZhbHNlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJldmVudCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIHRoZSBldmVudCBvY2N1cnMiIGRlZmluaXRpb249IklkZW50aWZpZXMgc3BlY2lmaWMgdGltZXMgd2hlbiB0aGUgZXZlbnQgb2NjdXJzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJyZXBlYXQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuVGltaW5nLlJlcGVhdCIgZGVzY3JpcHRpb249IldoZW4gdGhlIGV2ZW50IGlzIHRvIG9jY3VyIiBkZWZpbml0aW9uPSJBIHNldCBvZiBydWxlcyB0aGF0IGRlc2NyaWJlIHdoZW4gdGhlIGV2ZW50IGlzIHNjaGVkdWxlZC4iPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ0aW0tMSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJpZiB0aGVyZSdzIGEgZHVyYXRpb24sIHRoZXJlIG5lZWRzIHRvIGJlIGR1cmF0aW9uIHVuaXRzIj4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249ImR1cmF0aW9uLmVtcHR5KCkgb3IgZHVyYXRpb25Vbml0LmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idGltLTIiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iaWYgdGhlcmUncyBhIHBlcmlvZCwgdGhlcmUgbmVlZHMgdG8gYmUgcGVyaW9kIHVuaXRzIj4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InBlcmlvZC5lbXB0eSgpIG9yIHBlcmlvZFVuaXQuZXhpc3RzKCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ0aW0tNCIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJkdXJhdGlvbiBTSEFMTCBiZSBhIG5vbi1uZWdhdGl2ZSB2YWx1ZSI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJkdXJhdGlvbi5leGlzdHMoKSBpbXBsaWVzIGR1cmF0aW9uID49IDAiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ0aW0tNSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJwZXJpb2QgU0hBTEwgYmUgYSBub24tbmVnYXRpdmUgdmFsdWUiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0icGVyaW9kLmV4aXN0cygpIGltcGxpZXMgcGVyaW9kID49IDAiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ0aW0tNiIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSdzIGEgcGVyaW9kTWF4LCB0aGVyZSBtdXN0IGJlIGEgcGVyaW9kIj4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InBlcmlvZE1heC5lbXB0eSgpIG9yIHBlcmlvZC5leGlzdHMoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InRpbS03IiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IklmIHRoZXJlJ3MgYSBkdXJhdGlvbk1heCwgdGhlcmUgbXVzdCBiZSBhIGR1cmF0aW9uIj4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249ImR1cmF0aW9uTWF4LmVtcHR5KCkgb3IgZHVyYXRpb24uZXhpc3RzKCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ0aW0tOCIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSdzIGEgY291bnRNYXgsIHRoZXJlIG11c3QgYmUgYSBjb3VudCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJjb3VudE1heC5lbXB0eSgpIG9yIGNvdW50LmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idGltLTkiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iSWYgdGhlcmUncyBhbiBvZmZzZXQsIHRoZXJlIG11c3QgYmUgYSB3aGVuIChhbmQgbm90IEMsIENNLCBDRCwgQ1YpIj4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Im9mZnNldC5lbXB0eSgpIG9yICh3aGVuLmV4aXN0cygpIGFuZCAoKHdoZW4gaW4gKCdDJyB8ICdDTScgfCAnQ0QnIHwgJ0NWJykpLm5vdCgpKSkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ0aW0tMTAiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iSWYgdGhlcmUncyBhIHRpbWVPZkRheSwgdGhlcmUgY2Fubm90IGJlIGEgd2hlbiwgb3IgdmljZSB2ZXJzYSI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ0aW1lT2ZEYXkuZW1wdHkoKSBvciB3aGVuLmVtcHR5KCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkJJRCB8IFRJRCB8IFFJRCB8IEFNIHwgUE0gfCBRRCB8IFFPRCB8ICsiIGRlZmluaXRpb249IkEgY29kZSBmb3IgdGhlIHRpbWluZyBzY2hlZHVsZSAob3IganVzdCB0ZXh0IGluIGNvZGUudGV4dCkuIFNvbWUgY29kZXMgc3VjaCBhcyBCSUQgYXJlIHViaXF1aXRvdXMsIGJ1dCBtYW55IGluc3RpdHV0aW9ucyBkZWZpbmUgdGhlaXIgb3duIGFkZGl0aW9uYWwgY29kZXMuIElmIGEgY29kZSBpcyBwcm92aWRlZCwgdGhlIGNvZGUgaXMgdW5kZXJzdG9vZCB0byBiZSBhIGNvbXBsZXRlIHN0YXRlbWVudCBvZiB3aGF0ZXZlciBpcyBzcGVjaWZpZWQgaW4gdGhlIHN0cnVjdHVyZWQgdGltaW5nIGRhdGEsIGFuZCBlaXRoZXIgdGhlIGNvZGUgb3IgdGhlIGRhdGEgbWF5IGJlIHVzZWQgdG8gaW50ZXJwcmV0IHRoZSBUaW1pbmcsIHdpdGggdGhlIGV4Y2VwdGlvbiB0aGF0IC5yZXBlYXQuYm91bmRzIHN0aWxsIGFwcGxpZXMgb3ZlciB0aGUgY29kZSAoYW5kIGlzIG5vdCBjb250YWluZWQgaW4gdGhlIGNvZGUpLiIgY29tbWVudD0iQklEIGV0Yy4gYXJlIGRlZmluZWQgYXMgJ2F0IGluc3RpdHV0aW9uYWxseSBzcGVjaWZpZWQgdGltZXMnLiBGb3IgZXhhbXBsZSwgYW4gaW5zdGl0dXRpb24gbWF5IGNob29zZSB0aGF0IEJJRCBpcyAmcXVvdDthbHdheXMgYXQgN2FtIGFuZCA2cG0mcXVvdDsuICBJZiBpdCBpcyBpbmFwcHJvcHJpYXRlIGZvciB0aGlzIGNob2ljZSB0byBiZSBtYWRlLCB0aGUgY29kZSBCSUQgc2hvdWxkIG5vdCBiZSB1c2VkLiBJbnN0ZWFkLCBhIGRpc3RpbmN0IG9yZ2FuaXphdGlvbi1zcGVjaWZpYyBjb2RlIHNob3VsZCBiZSB1c2VkIGluIHBsYWNlIG9mIHRoZSBITDctZGVmaW5lZCBCSUQgY29kZSBhbmQvb3IgYSBzdHJ1Y3R1cmVkIHJlcHJlc2VudGF0aW9uIHNob3VsZCBiZSB1c2VkIChpbiB0aGlzIGNhc2UsIHNwZWNpZnlpbmcgdGhlIHR3byBldmVudCB0aW1lcykuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iVGltaW5nQWJicmV2aWF0aW9uIiBkZXNjcmlwdGlvbj0iQ29kZSBmb3IgYSBrbm93biAvIGRlZmluZWQgdGltaW5nIHBhdHRlcm4uIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRpbWluZy5SZXBlYXQiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJvdW5kcyIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJMZW5ndGgvUmFuZ2Ugb2YgbGVuZ3Rocywgb3IgKFN0YXJ0IGFuZC9vciBlbmQpIGxpbWl0cyIgZGVmaW5pdGlvbj0iRWl0aGVyIGEgZHVyYXRpb24gZm9yIHRoZSBsZW5ndGggb2YgdGhlIHRpbWluZyBzY2hlZHVsZSwgYSByYW5nZSBvZiBwb3NzaWJsZSBsZW5ndGgsIG9yIG91dGVyIGJvdW5kcyBmb3Igc3RhcnQgYW5kL29yIGVuZCBsaW1pdHMgb2YgdGhlIHRpbWluZyBzY2hlZHVsZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY291bnQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOdW1iZXIgb2YgdGltZXMgdG8gcmVwZWF0IiBkZWZpbml0aW9uPSJBIHRvdGFsIGNvdW50IG9mIHRoZSBkZXNpcmVkIG51bWJlciBvZiByZXBldGl0aW9ucyBhY3Jvc3MgdGhlIGR1cmF0aW9uIG9mIHRoZSBlbnRpcmUgdGltaW5nIHNwZWNpZmljYXRpb24uIElmIGNvdW50TWF4IGlzIHByZXNlbnQsIHRoaXMgZWxlbWVudCBpbmRpY2F0ZXMgdGhlIGxvd2VyIGJvdW5kIG9mIHRoZSBhbGxvd2VkIHJhbmdlIG9mIGNvdW50IHZhbHVlcy4iIGNvbW1lbnQ9IklmIHlvdSBoYXZlIGJvdGggYm91bmRzIGFuZCBjb3VudCwgdGhlbiB0aGlzIHNob3VsZCBiZSB1bmRlcnN0b29kIGFzIHdpdGhpbiB0aGUgYm91bmRzIHBlcmlvZCwgdW50aWwgY291bnQgdGltZXMgaGFwcGVucy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iY291bnRNYXgiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJNYXhpbXVtIG51bWJlciBvZiB0aW1lcyB0byByZXBlYXQiIGRlZmluaXRpb249IklmIHByZXNlbnQsIGluZGljYXRlcyB0aGF0IHRoZSBjb3VudCBpcyBhIHJhbmdlIC0gc28gdG8gcGVyZm9ybSB0aGUgYWN0aW9uIGJldHdlZW4gW2NvdW50XSBhbmQgW2NvdW50TWF4XSB0aW1lcy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZHVyYXRpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJIb3cgbG9uZyB3aGVuIGl0IGhhcHBlbnMiIGRlZmluaXRpb249IkhvdyBsb25nIHRoaXMgdGhpbmcgaGFwcGVucyBmb3Igd2hlbiBpdCBoYXBwZW5zLiBJZiBkdXJhdGlvbk1heCBpcyBwcmVzZW50LCB0aGlzIGVsZW1lbnQgaW5kaWNhdGVzIHRoZSBsb3dlciBib3VuZCBvZiB0aGUgYWxsb3dlZCByYW5nZSBvZiB0aGUgZHVyYXRpb24uIiBjb21tZW50PSJGb3Igc29tZSBldmVudHMgdGhlIGR1cmF0aW9uIGlzIHBhcnQgb2YgdGhlIGRlZmluaXRpb24gb2YgdGhlIGV2ZW50IChlLmcuIElWIGluZnVzaW9ucywgd2hlcmUgdGhlIGR1cmF0aW9uIGlzIGltcGxpY2l0IGluIHRoZSBzcGVjaWZpZWQgcXVhbnRpdHkgYW5kIHJhdGUpLiBGb3Igb3RoZXJzLCBpdCdzIHBhcnQgb2YgdGhlIHRpbWluZyBzcGVjaWZpY2F0aW9uIChlLmcuIGV4ZXJjaXNlKS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZHVyYXRpb25NYXgiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJIb3cgbG9uZyB3aGVuIGl0IGhhcHBlbnMgKE1heCkiIGRlZmluaXRpb249IklmIHByZXNlbnQsIGluZGljYXRlcyB0aGF0IHRoZSBkdXJhdGlvbiBpcyBhIHJhbmdlIC0gc28gdG8gcGVyZm9ybSB0aGUgYWN0aW9uIGJldHdlZW4gW2R1cmF0aW9uXSBhbmQgW2R1cmF0aW9uTWF4XSB0aW1lIGxlbmd0aC4iIGNvbW1lbnQ9IkZvciBzb21lIGV2ZW50cyB0aGUgZHVyYXRpb24gaXMgcGFydCBvZiB0aGUgZGVmaW5pdGlvbiBvZiB0aGUgZXZlbnQgKGUuZy4gSVYgaW5mdXNpb25zLCB3aGVyZSB0aGUgZHVyYXRpb24gaXMgaW1wbGljaXQgaW4gdGhlIHNwZWNpZmllZCBxdWFudGl0eSBhbmQgcmF0ZSkuIEZvciBvdGhlcnMsIGl0J3MgcGFydCBvZiB0aGUgdGltaW5nIHNwZWNpZmljYXRpb24gKGUuZy4gZXhlcmNpc2UpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkdXJhdGlvblVuaXQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuVW5pdHNPZlRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icyB8IG1pbiB8IGggfCBkIHwgd2sgfCBtbyB8IGEgLSB1bml0IG9mIHRpbWUgKFVDVU0pIiBkZWZpbml0aW9uPSJUaGUgdW5pdHMgb2YgdGltZSBmb3IgdGhlIGR1cmF0aW9uLCBpbiBVQ1VNIHVuaXRzLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlVuaXRzT2ZUaW1lIiBkZXNjcmlwdGlvbj0iQSB1bml0IG9mIHRpbWUgKHVuaXRzIGZyb20gVUNVTSkuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJmcmVxdWVuY3kiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJFdmVudCBvY2N1cnMgZnJlcXVlbmN5IHRpbWVzIHBlciBwZXJpb2QiIGRlZmluaXRpb249IlRoZSBudW1iZXIgb2YgdGltZXMgdG8gcmVwZWF0IHRoZSBhY3Rpb24gd2l0aGluIHRoZSBzcGVjaWZpZWQgcGVyaW9kLiBJZiBmcmVxdWVuY3lNYXggaXMgcHJlc2VudCwgdGhpcyBlbGVtZW50IGluZGljYXRlcyB0aGUgbG93ZXIgYm91bmQgb2YgdGhlIGFsbG93ZWQgcmFuZ2Ugb2YgdGhlIGZyZXF1ZW5jeS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZnJlcXVlbmN5TWF4IiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRXZlbnQgb2NjdXJzIHVwIHRvIGZyZXF1ZW5jeU1heCB0aW1lcyBwZXIgcGVyaW9kIiBkZWZpbml0aW9uPSJJZiBwcmVzZW50LCBpbmRpY2F0ZXMgdGhhdCB0aGUgZnJlcXVlbmN5IGlzIGEgcmFuZ2UgLSBzbyB0byByZXBlYXQgYmV0d2VlbiBbZnJlcXVlbmN5XSBhbmQgW2ZyZXF1ZW5jeU1heF0gdGltZXMgd2l0aGluIHRoZSBwZXJpb2Qgb3IgcGVyaW9kIHJhbmdlLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwZXJpb2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJFdmVudCBvY2N1cnMgZnJlcXVlbmN5IHRpbWVzIHBlciBwZXJpb2QiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgZHVyYXRpb24gb2YgdGltZSBvdmVyIHdoaWNoIHJlcGV0aXRpb25zIGFyZSB0byBvY2N1cjsgZS5nLiB0byBleHByZXNzICZxdW90OzMgdGltZXMgcGVyIGRheSZxdW90OywgMyB3b3VsZCBiZSB0aGUgZnJlcXVlbmN5IGFuZCAmcXVvdDsxIGRheSZxdW90OyB3b3VsZCBiZSB0aGUgcGVyaW9kLiBJZiBwZXJpb2RNYXggaXMgcHJlc2VudCwgdGhpcyBlbGVtZW50IGluZGljYXRlcyB0aGUgbG93ZXIgYm91bmQgb2YgdGhlIGFsbG93ZWQgcmFuZ2Ugb2YgdGhlIHBlcmlvZCBsZW5ndGguIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZE1heCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlVwcGVyIGxpbWl0IG9mIHBlcmlvZCAoMy00IGhvdXJzKSIgZGVmaW5pdGlvbj0iSWYgcHJlc2VudCwgaW5kaWNhdGVzIHRoYXQgdGhlIHBlcmlvZCBpcyBhIHJhbmdlIGZyb20gW3BlcmlvZF0gdG8gW3BlcmlvZE1heF0sIGFsbG93aW5nIGV4cHJlc3NpbmcgY29uY2VwdHMgc3VjaCBhcyAmcXVvdDtkbyB0aGlzIG9uY2UgZXZlcnkgMy01IGRheXMuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZFVuaXQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuVW5pdHNPZlRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icyB8IG1pbiB8IGggfCBkIHwgd2sgfCBtbyB8IGEgLSB1bml0IG9mIHRpbWUgKFVDVU0pIiBkZWZpbml0aW9uPSJUaGUgdW5pdHMgb2YgdGltZSBmb3IgdGhlIHBlcmlvZCBpbiBVQ1VNIHVuaXRzLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlVuaXRzT2ZUaW1lIiBkZXNjcmlwdGlvbj0iQSB1bml0IG9mIHRpbWUgKHVuaXRzIGZyb20gVUNVTSkuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkYXlPZldlZWsiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0ibW9uIHwgdHVlIHwgd2VkIHwgdGh1IHwgZnJpIHwgc2F0IHwgc3VuIiBkZWZpbml0aW9uPSJJZiBvbmUgb3IgbW9yZSBkYXlzIG9mIHdlZWsgaXMgcHJvdmlkZWQsIHRoZW4gdGhlIGFjdGlvbiBoYXBwZW5zIG9ubHkgb24gdGhlIHNwZWNpZmllZCBkYXkocykuIiBjb21tZW50PSJJZiBubyBkYXlzIGFyZSBzcGVjaWZpZWQsIHRoZSBhY3Rpb24gaXMgYXNzdW1lZCB0byBoYXBwZW4gZXZlcnkgZGF5IGFzIG90aGVyd2lzZSBzcGVjaWZpZWQuIFRoZSBlbGVtZW50cyBmcmVxdWVuY3kgYW5kIHBlcmlvZCBjYW5ub3QgYmUgdXNlZCBhcyB3ZWxsIGFzIGRheU9mV2Vlay4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5EYXlPZldlZWsiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJEYXlPZldlZWsiIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InRpbWVPZkRheSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaW1lIG9mIGRheSBmb3IgYWN0aW9uIiBkZWZpbml0aW9uPSJTcGVjaWZpZWQgdGltZSBvZiBkYXkgZm9yIGFjdGlvbiB0byB0YWtlIHBsYWNlLiIgY29tbWVudD0iV2hlbiB0aW1lIG9mIGRheSBpcyBzcGVjaWZpZWQsIGl0IGlzIGluZmVycmVkIHRoYXQgdGhlIGFjdGlvbiBoYXBwZW5zIGV2ZXJ5IGRheSAoYXMgZmlsdGVyZWQgYnkgZGF5b2ZXZWVrKSBvbiB0aGUgc3BlY2lmaWVkIHRpbWVzLiBUaGUgZWxlbWVudHMgd2hlbiwgZnJlcXVlbmN5IGFuZCBwZXJpb2QgY2Fubm90IGJlIHVzZWQgYXMgd2VsbCBhcyB0aW1lT2ZEYXkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uVGltZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0id2hlbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJDb2RlIGZvciB0aW1lIHBlcmlvZCBvZiBvY2N1cnJlbmNlIiBkZWZpbml0aW9uPSJBbiBhcHByb3hpbWF0ZSB0aW1lIHBlcmlvZCBkdXJpbmcgdGhlIGRheSwgcG90ZW50aWFsbHkgbGlua2VkIHRvIGFuIGV2ZW50IG9mIGRhaWx5IGxpdmluZyB0aGF0IGluZGljYXRlcyB3aGVuIHRoZSBhY3Rpb24gc2hvdWxkIG9jY3VyLiIgY29tbWVudD0iV2hlbiBtb3JlIHRoYW4gb25lIGV2ZW50IGlzIGxpc3RlZCwgdGhlIGV2ZW50IGlzIHRpZWQgdG8gdGhlIHVuaW9uIG9mIHRoZSBzcGVjaWZpZWQgZXZlbnRzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkV2ZW50VGltaW5nIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRXZlbnRUaW1pbmciIGRlc2NyaXB0aW9uPSJSZWFsIHdvcmxkIGV2ZW50IHJlbGF0aW5nIHRvIHRoZSBzY2hlZHVsZS4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im9mZnNldCIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik1pbnV0ZXMgZnJvbSBldmVudCAoYmVmb3JlIG9yIGFmdGVyKSIgZGVmaW5pdGlvbj0iVGhlIG51bWJlciBvZiBtaW51dGVzIGZyb20gdGhlIGV2ZW50LiBJZiB0aGUgZXZlbnQgY29kZSBkb2VzIG5vdCBpbmRpY2F0ZSB3aGV0aGVyIHRoZSBtaW51dGVzIGlzIGJlZm9yZSBvciBhZnRlciB0aGUgZXZlbnQsIHRoZW4gdGhlIG9mZnNldCBpcyBhc3N1bWVkIHRvIGJlIGFmdGVyIHRoZSBldmVudC4iLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRWxlbWVudCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRyaWdnZXJEZWZpbml0aW9uIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vVHJpZ2dlckRlZmluaXRpb24iIGxhYmVsPSJUcmlnZ2VyRGVmaW5pdGlvbiIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5UcmlnZ2VyVHlwZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJuYW1lZC1ldmVudCB8IHBlcmlvZGljIHwgZGF0YS1jaGFuZ2VkIHwgZGF0YS1hZGRlZCB8IGRhdGEtbW9kaWZpZWQgfCBkYXRhLXJlbW92ZWQgfCBkYXRhLWFjY2Vzc2VkIHwgZGF0YS1hY2Nlc3MtZW5kZWQiIGRlZmluaXRpb249IlRoZSB0eXBlIG9mIHRyaWdnZXJpbmcgZXZlbnQuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iVHJpZ2dlclR5cGUiIGRlc2NyaXB0aW9uPSJUaGUgdHlwZSBvZiB0cmlnZ2VyLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibmFtZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTmFtZSBvciBVUkkgdGhhdCBpZGVudGlmaWVzIHRoZSBldmVudCIgZGVmaW5pdGlvbj0iQSBmb3JtYWwgbmFtZSBmb3IgdGhlIGV2ZW50LiBUaGlzIG1heSBiZSBhbiBhYnNvbHV0ZSBVUkkgdGhhdCBpZGVudGlmaWVzIHRoZSBldmVudCBmb3JtYWxseSAoZS5nLiBmcm9tIGEgdHJpZ2dlciByZWdpc3RyeSksIG9yIGEgc2ltcGxlIHJlbGF0aXZlIFVSSSB0aGF0IGlkZW50aWZpZXMgdGhlIGV2ZW50IGluIGEgbG9jYWwgY29udGV4dC4iIGNvbW1lbnQ9IkFuIGV2ZW50IG5hbWUgY2FuIGJlIHByb3ZpZGVkIGZvciBhbGwgZXZlbnQgdHlwZXMsIGJ1dCBpcyByZXF1aXJlZCBmb3IgbmFtZWQgZXZlbnRzLiBJZiBhIG5hbWUgaXMgcHJvdmlkZWQgZm9yIGEgdHlwZSBvdGhlciB0aGFuIG5hbWVkIGV2ZW50cywgaXQgaXMgY29uc2lkZXJlZCB0byBiZSBhIHNob3J0aGFuZCBmb3IgdGhlIHNlbWFudGljcyBkZXNjcmliZWQgYnkgdGhlIGZvcm1hbCBkZXNjcmlwdGlvbiBvZiB0aGUgZXZlbnQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InRpbWluZyIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaW1pbmcgb2YgdGhlIGV2ZW50IiBkZWZpbml0aW9uPSJUaGUgdGltaW5nIG9mIHRoZSBldmVudCAoaWYgdGhpcyBpcyBhIHBlcmlvZGljIHRyaWdnZXIpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRpbWluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGEiIGRlc2NyaXB0aW9uPSJUcmlnZ2VyaW5nIGRhdGEgb2YgdGhlIGV2ZW50IChtdWx0aXBsZSA9ICdhbmQnKSIgZGVmaW5pdGlvbj0iVGhlIHRyaWdnZXJpbmcgZGF0YSBvZiB0aGUgZXZlbnQgKGlmIHRoaXMgaXMgYSBkYXRhIHRyaWdnZXIpLiBJZiBtb3JlIHRoYW4gb25lIGRhdGEgaXMgcmVxdWlyZW1lbnQgaXMgc3BlY2lmaWVkLCB0aGVuIGFsbCB0aGUgZGF0YSByZXF1aXJlbWVudHMgbXVzdCBiZSB0cnVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IHNoYWxsIGJlIHByZXNlbnQgZm9yIGFueSBkYXRhIHR5cGUgdHJpZ2dlci4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5EYXRhUmVxdWlyZW1lbnQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbmRpdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5FeHByZXNzaW9uIiBkZXNjcmlwdGlvbj0iV2hldGhlciB0aGUgZXZlbnQgdHJpZ2dlcnMgKGJvb2xlYW4gZXhwcmVzc2lvbikiIGRlZmluaXRpb249IkEgYm9vbGVhbi12YWx1ZWQgZXhwcmVzc2lvbiB0aGF0IGlzIGV2YWx1YXRlZCBpbiB0aGUgY29udGV4dCBvZiB0aGUgY29udGFpbmVyIG9mIHRoZSB0cmlnZ2VyIGRlZmluaXRpb24gYW5kIHJldHVybnMgd2hldGhlciBvciBub3QgdGhlIHRyaWdnZXIgZmlyZXMuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgY2FuIGJlIG9ubHkgYmUgc3BlY2lmaWVkIGZvciBkYXRhIHR5cGUgdHJpZ2dlcnMgYW5kIHByb3ZpZGVzIGFkZGl0aW9uYWwgc2VtYW50aWNzIGZvciB0aGUgdHJpZ2dlci4gVGhlIGNvbnRleHQgYXZhaWxhYmxlIHdpdGhpbiB0aGUgY29uZGl0aW9uIGlzIGJhc2VkIG9uIHRoZSB0eXBlIG9mIGRhdGEgZXZlbnQuIEZvciBhbGwgZXZlbnRzLCB0aGUgY3VycmVudCByZXNvdXJjZSB3aWxsIGJlIGF2YWlsYWJsZSBhcyBjb250ZXh0LiBJbiBhZGRpdGlvbiwgZm9yIG1vZGlmaWNhdGlvbiBldmVudHMsIHRoZSBwcmV2aW91cyByZXNvdXJjZSB3aWxsIGFsc28gYmUgYXZhaWxhYmxlLiBUaGUgZXhwcmVzc2lvbiBtYXkgYmUgaW5saW5lZCwgb3IgbWF5IGJlIGEgc2ltcGxlIGFic29sdXRlIFVSSSwgd2hpY2ggaXMgYSByZWZlcmVuY2UgdG8gYSBuYW1lZCBleHByZXNzaW9uIHdpdGhpbiBhIGxvZ2ljIGxpYnJhcnkgcmVmZXJlbmNlZCBieSBhIGxpYnJhcnkgZWxlbWVudCBvciBleHRlbnNpb24gd2l0aGluIHRoZSBjb250YWluaW5nIHJlc291cmNlLiBJZiB0aGUgZXhwcmVzc2lvbiBpcyBhIEZISVIgUGF0aCBleHByZXNzaW9uLCBpdCBldmFsdWF0ZXMgaW4gdGhlIGNvbnRleHQgb2YgYSByZXNvdXJjZSBvZiBvbmUgb2YgdGhlIHR5cGUgaWRlbnRpZmllZCBpbiB0aGUgZGF0YSByZXF1aXJlbWVudCwgYW5kIG1heSBhbHNvIHJlZmVyIHRvIHRoZSB2YXJpYWJsZSAlcHJldmlvdXMgZm9yIGRlbHRhIGNvbXBhcmlzb25zIG9uIGV2ZW50cyBvZiB0eXBlIGRhdGEtY2hhbmdlZCwgZGF0YS1tb2RpZmllZCwgYW5kIGRhdGEtZGVsZXRlZCB3aGljaCB3aWxsIGFsd2F5cyBoYXZlIHRoZSBzYW1lIHR5cGUuIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRyaWdnZXJUeXBlIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVURJRW50cnlUeXBlIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJVU0NvcmVCTUlQcm9maWxlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLWJtaSIgbGFiZWw9IlVTIENvcmUgQk1JIFByb2ZpbGUiIHRhcmdldD0iT2JzZXJ2YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IlBhcnQgb2YgcmVmZXJlbmNlZCBldmVudCIgZGVmaW5pdGlvbj0iQSBsYXJnZXIgZXZlbnQgb2Ygd2hpY2ggdGhpcyBwYXJ0aWN1bGFyIE9ic2VydmF0aW9uIGlzIGEgY29tcG9uZW50IG9yIHN0ZXAuICBGb3IgZXhhbXBsZSwgIGFuIG9ic2VydmF0aW9uIGFzIHBhcnQgb2YgYSBwcm9jZWR1cmUuIiBjb21tZW50PSJUbyBsaW5rIGFuIE9ic2VydmF0aW9uIHRvIGFuIEVuY291bnRlciB1c2UgYGVuY291bnRlcmAuICBTZWUgdGhlICBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cgZm9yIGd1aWRhbmNlIG9uIHJlZmVyZW5jaW5nIGFub3RoZXIgT2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InJlZ2lzdGVyZWQgfCBwcmVsaW1pbmFyeSB8IGZpbmFsIHwgYW1lbmRlZCArIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSByZXN1bHQgdmFsdWUuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlN0YXR1cyIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iVlNDYXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXBhcmVudC5jYXRlZ29yeVtjb2Rpbmcuc3lzdGVtPSdodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL29ic2VydmF0aW9uLWNhdGVnb3J5Jyxjb2RpbmcuY29kZT0ndml0YWwtc2lnbnMnXSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb2RlZCBSZXNwb25zZXMgZnJvbSBDLUNEQSBWaXRhbCBTaWduIFJlc3VsdHMiIGRlZmluaXRpb249IkNvZGVkIFJlc3BvbnNlcyBmcm9tIEMtQ0RBIFZpdGFsIFNpZ24gUmVzdWx0cy4iIGNvbW1lbnQ9IipBbGwqIGNvZGUtdmFsdWUgYW5kLCBpZiBwcmVzZW50LCBjb21wb25lbnQuY29kZS1jb21wb25lbnQudmFsdWUgcGFpcnMgbmVlZCB0byBiZSB0YWtlbiBpbnRvIGFjY291bnQgdG8gY29ycmVjdGx5IHVuZGVyc3RhbmQgdGhlIG1lYW5pbmcgb2YgdGhlIG9ic2VydmF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhlIHZpdGFsIHNpZ24gY29kZXMgZnJvbSB0aGUgYmFzZSBGSElSIGFuZCBVUyBDb3JlIFZpdGFsIFNpZ25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jdXMiIGRlc2NyaXB0aW9uPSJXaGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCwgd2hlbiBpdCBpcyBub3QgYWJvdXQgdGhlIHN1YmplY3Qgb2YgcmVjb3JkIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIHdoZW4gaXQgaXMgbm90IHRoZSBwYXRpZW50IG9mIHJlY29yZCByZXByZXNlbnRpbmcgc29tZXRoaW5nIG9yIHNvbWVvbmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYXRpZW50IHN1Y2ggYXMgYSBzcG91c2UsIHBhcmVudCwgZmV0dXMsIG9yIGRvbm9yLiBGb3IgZXhhbXBsZSwgZmV0dXMgb2JzZXJ2YXRpb25zIGluIGEgbW90aGVyJ3MgcmVjb3JkLiAgVGhlIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIGNvdWxkIGFsc28gYmUgYW4gZXhpc3RpbmcgY29uZGl0aW9uLCAgYW4gaW50ZXJ2ZW50aW9uLCB0aGUgc3ViamVjdCdzIGRpZXQsICBhbm90aGVyIG9ic2VydmF0aW9uIG9mIHRoZSBzdWJqZWN0LCAgb3IgYSBib2R5IHN0cnVjdHVyZSBzdWNoIGFzIHR1bW9yIG9yIGltcGxhbnRlZCBkZXZpY2UuICAgQW4gZXhhbXBsZSB1c2UgY2FzZSB3b3VsZCBiZSB1c2luZyB0aGUgT2JzZXJ2YXRpb24gcmVzb3VyY2UgdG8gY2FwdHVyZSB3aGV0aGVyIHRoZSBtb3RoZXIgaXMgdHJhaW5lZCB0byBjaGFuZ2UgaGVyIGNoaWxkJ3MgdHJhY2hlb3N0b215IHR1YmUuIEluIHRoaXMgZXhhbXBsZSwgdGhlIGNoaWxkIGlzIHRoZSBwYXRpZW50IG9mIHJlY29yZCBhbmQgdGhlIG1vdGhlciBpcyB0aGUgZm9jdXMuIiBjb21tZW50PSJUeXBpY2FsbHksIGFuIG9ic2VydmF0aW9uIGlzIG1hZGUgYWJvdXQgdGhlIHN1YmplY3QgLSBhIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIC0gYW5kIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRoZSBzdWJqZWN0IGFuZCB3aGF0IGlzIGRpcmVjdGx5IG1lYXN1cmVkIGZvciBhbiBvYnNlcnZhdGlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIG9ic2VydmF0aW9uIGNvZGUgaXRzZWxmICggZS5nLiwgJnF1b3Q7Qmxvb2QgR2x1Y29zZSZxdW90OykgYW5kIGRvZXMgbm90IG5lZWQgdG8gYmUgcmVwcmVzZW50ZWQgc2VwYXJhdGVseSB1c2luZyB0aGlzIGVsZW1lbnQuICBVc2UgYHNwZWNpbWVuYCBpZiBhIHJlZmVyZW5jZSB0byBhIHNwZWNpbWVuIGlzIHJlcXVpcmVkLiAgSWYgYSBjb2RlIGlzIHJlcXVpcmVkIGluc3RlYWQgb2YgYSByZXNvdXJjZSB1c2UgZWl0aGVyICBgYm9keXNpdGVgIGZvciBib2R5c2l0ZXMgb3IgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbZm9jdXNDb2RlXShodHRwOi8vaGw3Lm9yZy9maGlyL2V4dGVuc2lvbi1vYnNlcnZhdGlvbi1mb2N1c2NvZGUuaHRtbCkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zIiBkZWZpbml0aW9uPSJPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zLiIgY29tbWVudD0iQXQgbGVhc3QgYSBkYXRlIHNob3VsZCBiZSBwcmVzZW50IHVubGVzcyB0aGlzIG9ic2VydmF0aW9uIGlzIGEgaGlzdG9yaWNhbCByZXBvcnQuICBGb3IgcmVjb3JkaW5nIGltcHJlY2lzZSBvciAmcXVvdDtmdXp6eSZxdW90OyB0aW1lcyAoRm9yIGV4YW1wbGUsIGEgYmxvb2QgZ2x1Y29zZSBtZWFzdXJlbWVudCB0YWtlbiAmcXVvdDthZnRlciBicmVha2Zhc3QmcXVvdDspIHVzZSB0aGUgW1RpbWluZ10oaHR0cDovL2hsNy5vcmcvZmhpci9kYXRhdHlwZXMuaHRtbCN0aW1pbmcpIGRhdGF0eXBlIHdoaWNoIGFsbG93IHRoZSBtZWFzdXJlbWVudCB0byBiZSB0aWVkIHRvIHJlZ3VsYXIgbGlmZSBldmVudHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ2cy0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9ImlmIE9ic2VydmF0aW9uLmVmZmVjdGl2ZVt4XSBpcyBkYXRlVGltZSBhbmQgaGFzIGEgdmFsdWUgdGhlbiB0aGF0IHZhbHVlIHNoYWxsIGJlIHByZWNpc2UgdG8gdGhlIGRheSI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIoJHRoaXMgYXMgZGF0ZVRpbWUpLnRvU3RyaW5nKCkubGVuZ3RoKCkgPj0gOCIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaXNzdWVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUvVGltZSB0aGlzIHZlcnNpb24gd2FzIG1hZGUgYXZhaWxhYmxlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGlzIHZlcnNpb24gb2YgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIGF2YWlsYWJsZSB0byBwcm92aWRlcnMsIHR5cGljYWxseSBhZnRlciB0aGUgcmVzdWx0cyBoYXZlIGJlZW4gcmV2aWV3ZWQgYW5kIHZlcmlmaWVkLiIgY29tbWVudD0iRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvbuKAmXQgcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiwgaXQgbWF5IGJlIHRoZSBzYW1lIGFzIHRoZSBbYGxhc3RVcGRhdGVkYCBdKGh0dHA6Ly9obDcub3JnL2ZoaXIvcmVzb3VyY2UtZGVmaW5pdGlvbnMuaHRtbCNNZXRhLmxhc3RVcGRhdGVkKSB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYuICBGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG8gcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiBmb3IgY2VydGFpbiB1cGRhdGVzLCBpdCBtaWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGBsYXN0VXBkYXRlZGAgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmIGR1ZSB0byBhIG5vbi1jbGluaWNhbGx5IHNpZ25pZmljYW50IHVwZGF0ZSB0aGF0IGRvZXNu4oCZdCByZXF1aXJlIHRoZSBuZXcgdmVyc2lvbiB0byBiZSByZXZpZXdlZCBhbmQgdmVyaWZpZWQgYWdhaW4uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IldobyBpcyByZXNwb25zaWJsZSBmb3IgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJXaG8gd2FzIHJlc3BvbnNpYmxlIGZvciBhc3NlcnRpbmcgdGhlIG9ic2VydmVkIHZhbHVlIGFzICZxdW90O3RydWUmcXVvdDsuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJWaXRhbCBTaWducyBWYWx1ZSIgZGVmaW5pdGlvbj0iVml0YWwgU2lnbnMgdmFsdWUgYXJlIHR5cGljYWxseSByZWNvcmRlZCB1c2luZyB0aGUgUXVhbnRpdHkgZGF0YSB0eXBlLiIgY29tbWVudD0iQW4gb2JzZXJ2YXRpb24gbWF5IGhhdmU7IDEpICBhIHNpbmdsZSB2YWx1ZSBoZXJlLCAyKSAgYm90aCBhIHZhbHVlIGFuZCBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMsICBvciAzKSAgb25seSBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMuIElmIGEgdmFsdWUgaXMgcHJlc2VudCwgdGhlIGRhdGF0eXBlIGZvciB0aGlzIGVsZW1lbnQgc2hvdWxkIGJlIGRldGVybWluZWQgYnkgT2JzZXJ2YXRpb24uY29kZS4gIEEgQ29kZWFibGVDb25jZXB0IHdpdGgganVzdCBhIHRleHQgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGlmIHRoZSBmaWVsZCB3YXMgdXN1YWxseSBjb2RlZCwgb3IgaWYgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBPYnNlcnZhdGlvbi5jb2RlIGRlZmluZXMgYSBjb2RlZCB2YWx1ZS4gIEZvciBhZGRpdGlvbmFsIGd1aWRhbmNlLCBzZWUgdGhlIFtOb3RlcyBzZWN0aW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQ29tbW9uIFVDVU0gdW5pdHMgZm9yIHJlY29yZGluZyBWaXRhbCBTaWducy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YUFic2VudFJlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2h5IHRoZSByZXN1bHQgaXMgbWlzc2luZyIgZGVmaW5pdGlvbj0iUHJvdmlkZXMgYSByZWFzb24gd2h5IHRoZSBleHBlY3RlZCB2YWx1ZSBpbiB0aGUgZWxlbWVudCBPYnNlcnZhdGlvbi52YWx1ZVt4XSBpcyBtaXNzaW5nLiIgY29tbWVudD0iTnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMgY2FuIGJlIHJlcHJlc2VudGVkIHR3byB3YXlzIGluIEZISVIgT2JzZXJ2YXRpb25zLiAgT25lIHdheSBpcyB0byBzaW1wbHkgaW5jbHVkZSB0aGVtIGluIHRoZSB2YWx1ZSBzZXQgYW5kIHJlcHJlc2VudCB0aGUgZXhjZXB0aW9ucyBpbiB0aGUgdmFsdWUuICBGb3IgZXhhbXBsZSwgbWVhc3VyZW1lbnQgdmFsdWVzIGZvciBhIHNlcm9sb2d5IHRlc3QgY291bGQgYmUgICZxdW90O2RldGVjdGVkJnF1b3Q7LCAmcXVvdDtub3QgZGV0ZWN0ZWQmcXVvdDssICZxdW90O2luY29uY2x1c2l2ZSZxdW90Oywgb3IgICZxdW90O3NwZWNpbWVuIHVuc2F0aXNmYWN0b3J5JnF1b3Q7LiAgICYjeGE7JiN4YTtUaGUgYWx0ZXJuYXRlIHdheSBpcyB0byB1c2UgdGhlIHZhbHVlIGVsZW1lbnQgZm9yIGFjdHVhbCBvYnNlcnZhdGlvbnMgYW5kIHVzZSB0aGUgZXhwbGljaXQgZGF0YUFic2VudFJlYXNvbiBlbGVtZW50IHRvIHJlY29yZCBleGNlcHRpb25hbCB2YWx1ZXMuICBGb3IgZXhhbXBsZSwgdGhlIGRhdGFBYnNlbnRSZWFzb24gY29kZSAmcXVvdDtlcnJvciZxdW90OyBjb3VsZCBiZSB1c2VkIHdoZW4gdGhlIG1lYXN1cmVtZW50IHdhcyBub3QgY29tcGxldGVkLiBOb3RlIHRoYXQgYW4gb2JzZXJ2YXRpb24gbWF5IG9ubHkgYmUgcmVwb3J0ZWQgaWYgdGhlcmUgYXJlIHZhbHVlcyB0byByZXBvcnQuIEZvciBleGFtcGxlIGRpZmZlcmVudGlhbCBjZWxsIGNvdW50cyB2YWx1ZXMgbWF5IGJlIHJlcG9ydGVkIG9ubHkgd2hlbiA+IDAuICBCZWNhdXNlIG9mIHRoZXNlIG9wdGlvbnMsIHVzZS1jYXNlIGFncmVlbWVudHMgYXJlIHJlcXVpcmVkIHRvIGludGVycHJldCBnZW5lcmFsIG9ic2VydmF0aW9ucyBmb3IgbnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uVmFsdWVBYnNlbnRSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBzcGVjaWZ5aW5nIHdoeSB0aGUgcmVzdWx0IChgT2JzZXJ2YXRpb24udmFsdWVbeF1gKSBpcyBtaXNzaW5nLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlcnByZXRhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhpZ2gsIGxvdywgbm9ybWFsLCBldGMuIiBkZWZpbml0aW9uPSJBIGNhdGVnb3JpY2FsIGFzc2Vzc21lbnQgb2YgYW4gb2JzZXJ2YXRpb24gdmFsdWUuICBGb3IgZXhhbXBsZSwgaGlnaCwgbG93LCBub3JtYWwuIiBjb21tZW50PSJIaXN0b3JpY2FsbHkgdXNlZCBmb3IgbGFib3JhdG9yeSByZXN1bHRzIChrbm93biBhcyAnYWJub3JtYWwgZmxhZycgKSwgIGl0cyB1c2UgZXh0ZW5kcyB0byBvdGhlciB1c2UgY2FzZXMgd2hlcmUgY29kZWQgaW50ZXJwcmV0YXRpb25zICBhcmUgcmVsZXZhbnQuICBPZnRlbiByZXBvcnRlZCBhcyBvbmUgb3IgbW9yZSBzaW1wbGUgY29tcGFjdCBjb2RlcyB0aGlzIGVsZW1lbnQgaXMgb2Z0ZW4gcGxhY2VkIGFkamFjZW50IHRvIHRoZSByZXN1bHQgdmFsdWUgaW4gcmVwb3J0cyBhbmQgZmxvdyBzaGVldHMgdG8gc2lnbmFsIHRoZSBtZWFuaW5nL25vcm1hbGN5IHN0YXR1cyBvZiB0aGUgcmVzdWx0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkludGVycHJldGF0aW9uIiBkZXNjcmlwdGlvbj0iQ29kZXMgaWRlbnRpZnlpbmcgaW50ZXJwcmV0YXRpb25zIG9mIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIG9yIHRoZSByZXN1bHRzLiIgY29tbWVudD0iTWF5IGluY2x1ZGUgZ2VuZXJhbCBzdGF0ZW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiwgb3Igc3RhdGVtZW50cyBhYm91dCBzaWduaWZpY2FudCwgdW5leHBlY3RlZCBvciB1bnJlbGlhYmxlIHJlc3VsdHMgdmFsdWVzLCBvciBpbmZvcm1hdGlvbiBhYm91dCBpdHMgc291cmNlIHdoZW4gcmVsZXZhbnQgdG8gaXRzIGludGVycHJldGF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPYnNlcnZlZCBib2R5IHBhcnQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc2l0ZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgd2hlcmUgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIChpLmUuIHRoZSB0YXJnZXQgc2l0ZSkuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gT2JzZXJ2YXRpb24uY29kZS4gIEluIG1hbnkgc3lzdGVtcywgdGhpcyBtYXkgYmUgcmVwcmVzZW50ZWQgYXMgYSByZWxhdGVkIG9ic2VydmF0aW9uIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvbXBvbmVudC4gICAmI3hhOyYjeGE7SWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvblsgYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibWV0aG9kIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIb3cgaXQgd2FzIGRvbmUiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgbWVjaGFuaXNtIHVzZWQgdG8gcGVyZm9ybSB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm9yIE9ic2VydmF0aW9uLmNvZGUuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25NZXRob2QiIGRlc2NyaXB0aW9uPSJNZXRob2RzIGZvciBzaW1wbGUgb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiB1c2VkIGZvciB0aGlzIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2ltZW4gdGhhdCB3YXMgdXNlZCB3aGVuIHRoaXMgb2JzZXJ2YXRpb24gd2FzIG1hZGUuIiBjb21tZW50PSJTaG91bGQgb25seSBiZSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIGBPYnNlcnZhdGlvbi5jb2RlYC4gIE9ic2VydmF0aW9ucyBhcmUgbm90IG1hZGUgb24gc3BlY2ltZW5zIHRoZW1zZWx2ZXM7IHRoZXkgYXJlIG1hZGUgb24gYSBzdWJqZWN0LCBidXQgaW4gbWFueSBjYXNlcyBieSB0aGUgbWVhbnMgb2YgYSBzcGVjaW1lbi4gTm90ZSB0aGF0IGFsdGhvdWdoIHNwZWNpbWVucyBhcmUgb2Z0ZW4gaW52b2x2ZWQsIHRoZXkgYXJlIG5vdCBhbHdheXMgdHJhY2tlZCBhbmQgcmVwb3J0ZWQgZXhwbGljaXRseS4gQWxzbyBub3RlIHRoYXQgb2JzZXJ2YXRpb24gcmVzb3VyY2VzIG1heSBiZSB1c2VkIGluIGNvbnRleHRzIHRoYXQgdHJhY2sgdGhlIHNwZWNpbWVuIGV4cGxpY2l0bHkgKGUuZy4gRGlhZ25vc3RpYyBSZXBvcnQpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXZpY2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKE1lYXN1cmVtZW50KSBEZXZpY2UiIGRlZmluaXRpb249IlRoZSBkZXZpY2UgdXNlZCB0byBnZW5lcmF0ZSB0aGUgb2JzZXJ2YXRpb24gZGF0YS4iIGNvbW1lbnQ9Ik5vdGUgdGhhdCB0aGlzIGlzIG5vdCBtZWFudCB0byByZXByZXNlbnQgYSBkZXZpY2UgaW52b2x2ZWQgaW4gdGhlIHRyYW5zbWlzc2lvbiBvZiB0aGUgcmVzdWx0LCBlLmcuLCBhIGdhdGV3YXkuICBTdWNoIGRldmljZXMgbWF5IGJlIGRvY3VtZW50ZWQgdXNpbmcgdGhlIFByb3ZlbmFuY2UgcmVzb3VyY2Ugd2hlcmUgcmVsZXZhbnQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIiBkZWZpbml0aW9uPSJHdWlkYW5jZSBvbiBob3cgdG8gaW50ZXJwcmV0IHRoZSB2YWx1ZSBieSBjb21wYXJpc29uIHRvIGEgbm9ybWFsIG9yIHJlY29tbWVuZGVkIHJhbmdlLiAgTXVsdGlwbGUgcmVmZXJlbmNlIHJhbmdlcyBhcmUgaW50ZXJwcmV0ZWQgYXMgYW4gJnF1b3Q7T1ImcXVvdDsuICAgSW4gb3RoZXIgd29yZHMsIHRvIHJlcHJlc2VudCB0d28gZGlzdGluY3QgdGFyZ2V0IHBvcHVsYXRpb25zLCB0d28gYHJlZmVyZW5jZVJhbmdlYCBlbGVtZW50cyB3b3VsZCBiZSB1c2VkLiIgY29tbWVudD0iTW9zdCBvYnNlcnZhdGlvbnMgb25seSBoYXZlIG9uZSBnZW5lcmljIHJlZmVyZW5jZSByYW5nZS4gU3lzdGVtcyBNQVkgY2hvb3NlIHRvIHJlc3RyaWN0IHRvIG9ubHkgc3VwcGx5aW5nIHRoZSByZWxldmFudCByZWZlcmVuY2UgcmFuZ2UgYmFzZWQgb24ga25vd2xlZGdlIGFib3V0IHRoZSBwYXRpZW50IChlLmcuLCBzcGVjaWZpYyB0byB0aGUgcGF0aWVudCdzIGFnZSwgZ2VuZGVyLCB3ZWlnaHQgYW5kIG90aGVyIGZhY3RvcnMpLCBidXQgdGhpcyBtaWdodCBub3QgYmUgcG9zc2libGUgb3IgYXBwcm9wcmlhdGUuIFdoZW5ldmVyIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIHJhbmdlIGlzIHN1cHBsaWVkLCB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGVtIFNIT1VMRCBiZSBwcm92aWRlZCBpbiB0aGUgcmVmZXJlbmNlIHJhbmdlIGFuZC9vciBhZ2UgcHJvcGVydGllcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5SZWZlcmVuY2VSYW5nZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Im9icy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik11c3QgaGF2ZSBhdCBsZWFzdCBhIGxvdyBvciBhIGhpZ2ggb3IgdGV4dCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJsb3cuZXhpc3RzKCkgb3IgaGlnaC5leGlzdHMoKSBvciB0ZXh0LmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJoYXNNZW1iZXIiIGRlc2NyaXB0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIHZpdGFsIHNpZ25zIHBhbmVsIGNvbXBvbmVudHMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cy4iIGNvbW1lbnQ9IldoZW4gdXNpbmcgdGhpcyBlbGVtZW50LCBhbiBvYnNlcnZhdGlvbiB3aWxsIHR5cGljYWxseSBoYXZlIGVpdGhlciBhIHZhbHVlIG9yIGEgc2V0IG9mIHJlbGF0ZWQgcmVzb3VyY2VzLCBhbHRob3VnaCBib3RoIG1heSBiZSBwcmVzZW50IGluIHNvbWUgY2FzZXMuICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4gIE5vdGUgdGhhdCBhIHN5c3RlbSBtYXkgY2FsY3VsYXRlIHJlc3VsdHMgZnJvbSBbUXVlc3Rpb25uYWlyZVJlc3BvbnNlXShodHRwOi8vaGw3Lm9yZy9maGlyL3F1ZXN0aW9ubmFpcmVyZXNwb25zZS5odG1sKSAgaW50byBhIGZpbmFsIHNjb3JlIGFuZCByZXByZXNlbnQgdGhlIHNjb3JlIGFzIGFuIE9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIG1lYXN1cmVtZW50cyB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIG1lYXN1cmVtZW50IGZyb20gd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiB2YWx1ZSBpcyBkZXJpdmVkLiBGb3IgZXhhbXBsZSwgYSBjYWxjdWxhdGVkIGFuaW9uIGdhcCBvciBhIGZldGFsIG1lYXN1cmVtZW50IGJhc2VkIG9uIGFuIHVsdHJhc291bmQgaW1hZ2UuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iQ29tcG9uZW50IG9ic2VydmF0aW9ucyIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyBjb21wb25lbnQgb2JzZXJ2YXRpb24gc3VjaCBhcyBzeXN0b2xpYyBhbmQgZGlhc3RvbGljIGJsb29kIHByZXNzdXJlLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSBpcyBubyBhIHZhbHVlIGEgZGF0YSBhYnNlbnQgcmVhc29uIG11c3QgYmUgcHJlc2VudCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ2YWx1ZS5leGlzdHMoKSBvciBkYXRhQWJzZW50UmVhc29uLmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJVU0NvcmVCaXJ0aFNleEV4dGVuc2lvbiIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vdXMtY29yZS1iaXJ0aHNleCIgbGFiZWw9IlVTIENvcmUgQmlydGggU2V4IEV4dGVuc2lvbiIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlQmxvb2RQcmVzc3VyZVByb2ZpbGUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtYmxvb2QtcHJlc3N1cmUiIGxhYmVsPSJVUyBDb3JlIEJsb29kIFByZXNzdXJlIFByb2ZpbGUiIHRhcmdldD0iT2JzZXJ2YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IlBhcnQgb2YgcmVmZXJlbmNlZCBldmVudCIgZGVmaW5pdGlvbj0iQSBsYXJnZXIgZXZlbnQgb2Ygd2hpY2ggdGhpcyBwYXJ0aWN1bGFyIE9ic2VydmF0aW9uIGlzIGEgY29tcG9uZW50IG9yIHN0ZXAuICBGb3IgZXhhbXBsZSwgIGFuIG9ic2VydmF0aW9uIGFzIHBhcnQgb2YgYSBwcm9jZWR1cmUuIiBjb21tZW50PSJUbyBsaW5rIGFuIE9ic2VydmF0aW9uIHRvIGFuIEVuY291bnRlciB1c2UgYGVuY291bnRlcmAuICBTZWUgdGhlICBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cgZm9yIGd1aWRhbmNlIG9uIHJlZmVyZW5jaW5nIGFub3RoZXIgT2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InJlZ2lzdGVyZWQgfCBwcmVsaW1pbmFyeSB8IGZpbmFsIHwgYW1lbmRlZCArIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSByZXN1bHQgdmFsdWUuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlN0YXR1cyIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iVlNDYXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXBhcmVudC5jYXRlZ29yeVtjb2Rpbmcuc3lzdGVtPSdodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL29ic2VydmF0aW9uLWNhdGVnb3J5Jyxjb2RpbmcuY29kZT0ndml0YWwtc2lnbnMnXSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJCbG9vZCBQcmVzc3VyZSIgZGVmaW5pdGlvbj0iQ29kZWQgUmVzcG9uc2VzIGZyb20gQy1DREEgVml0YWwgU2lnbiBSZXN1bHRzLiIgY29tbWVudD0iKkFsbCogY29kZS12YWx1ZSBhbmQsIGlmIHByZXNlbnQsIGNvbXBvbmVudC5jb2RlLWNvbXBvbmVudC52YWx1ZSBwYWlycyBuZWVkIHRvIGJlIHRha2VuIGludG8gYWNjb3VudCB0byBjb3JyZWN0bHkgdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGUgdml0YWwgc2lnbiBjb2RlcyBmcm9tIHRoZSBiYXNlIEZISVIgYW5kIFVTIENvcmUgVml0YWwgU2lnbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIGFuZC9vciB3aGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCIgZGVmaW5pdGlvbj0iVGhlIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIHRoaXMgb2JzZXJ2YXRpb24gaXMgYWJvdXQgYW5kIGludG8gd2hvc2UgcmVjb3JkIHRoZSBvYnNlcnZhdGlvbiBpcyBwbGFjZWQuIElmIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBzdWJqZWN0IChvciBhIHNhbXBsZSBvZiwgcGFydCwgb3IgcmVnaW9uIG9mIHRoZSBzdWJqZWN0KSwgdGhlIGBmb2N1c2AgZWxlbWVudCBvciB0aGUgYGNvZGVgIGl0c2VsZiBzcGVjaWZpZXMgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmUgd291bGQgZXhwZWN0IHRoaXMgZWxlbWVudCB0byBiZSBhIGNhcmRpbmFsaXR5IG9mIDEuLjEuIFRoZSBvbmx5IGNpcmN1bXN0YW5jZSBpbiB3aGljaCB0aGUgc3ViamVjdCBjYW4gYmUgbWlzc2luZyBpcyB3aGVuIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGJ5IGEgZGV2aWNlIHRoYXQgZG9lcyBub3Qga25vdyB0aGUgcGF0aWVudC4gSW4gdGhpcyBjYXNlLCB0aGUgb2JzZXJ2YXRpb24gU0hBTEwgYmUgbWF0Y2hlZCB0byBhIHBhdGllbnQgdGhyb3VnaCBzb21lIGNvbnRleHQvY2hhbm5lbCBtYXRjaGluZyB0ZWNobmlxdWUsIGFuZCBhdCB0aGlzIHBvaW50LCB0aGUgb2JzZXJ2YXRpb24gc2hvdWxkIGJlIHVwZGF0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJmb2N1cyIgZGVzY3JpcHRpb249IldoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0LCB3aGVuIGl0IGlzIG5vdCBhYm91dCB0aGUgc3ViamVjdCBvZiByZWNvcmQiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gd2hlbiBpdCBpcyBub3QgdGhlIHBhdGllbnQgb2YgcmVjb3JkIHJlcHJlc2VudGluZyBzb21ldGhpbmcgb3Igc29tZW9uZSBhc3NvY2lhdGVkIHdpdGggdGhlIHBhdGllbnQgc3VjaCBhcyBhIHNwb3VzZSwgcGFyZW50LCBmZXR1cywgb3IgZG9ub3IuIEZvciBleGFtcGxlLCBmZXR1cyBvYnNlcnZhdGlvbnMgaW4gYSBtb3RoZXIncyByZWNvcmQuICBUaGUgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gY291bGQgYWxzbyBiZSBhbiBleGlzdGluZyBjb25kaXRpb24sICBhbiBpbnRlcnZlbnRpb24sIHRoZSBzdWJqZWN0J3MgZGlldCwgIGFub3RoZXIgb2JzZXJ2YXRpb24gb2YgdGhlIHN1YmplY3QsICBvciBhIGJvZHkgc3RydWN0dXJlIHN1Y2ggYXMgdHVtb3Igb3IgaW1wbGFudGVkIGRldmljZS4gICBBbiBleGFtcGxlIHVzZSBjYXNlIHdvdWxkIGJlIHVzaW5nIHRoZSBPYnNlcnZhdGlvbiByZXNvdXJjZSB0byBjYXB0dXJlIHdoZXRoZXIgdGhlIG1vdGhlciBpcyB0cmFpbmVkIHRvIGNoYW5nZSBoZXIgY2hpbGQncyB0cmFjaGVvc3RvbXkgdHViZS4gSW4gdGhpcyBleGFtcGxlLCB0aGUgY2hpbGQgaXMgdGhlIHBhdGllbnQgb2YgcmVjb3JkIGFuZCB0aGUgbW90aGVyIGlzIHRoZSBmb2N1cy4iIGNvbW1lbnQ9IlR5cGljYWxseSwgYW4gb2JzZXJ2YXRpb24gaXMgbWFkZSBhYm91dCB0aGUgc3ViamVjdCAtIGEgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgLSBhbmQgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhlIHN1YmplY3QgYW5kIHdoYXQgaXMgZGlyZWN0bHkgbWVhc3VyZWQgZm9yIGFuIG9ic2VydmF0aW9uIGlzIHNwZWNpZmllZCBpbiB0aGUgb2JzZXJ2YXRpb24gY29kZSBpdHNlbGYgKCBlLmcuLCAmcXVvdDtCbG9vZCBHbHVjb3NlJnF1b3Q7KSBhbmQgZG9lcyBub3QgbmVlZCB0byBiZSByZXByZXNlbnRlZCBzZXBhcmF0ZWx5IHVzaW5nIHRoaXMgZWxlbWVudC4gIFVzZSBgc3BlY2ltZW5gIGlmIGEgcmVmZXJlbmNlIHRvIGEgc3BlY2ltZW4gaXMgcmVxdWlyZWQuICBJZiBhIGNvZGUgaXMgcmVxdWlyZWQgaW5zdGVhZCBvZiBhIHJlc291cmNlIHVzZSBlaXRoZXIgIGBib2R5c2l0ZWAgZm9yIGJvZHlzaXRlcyBvciB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtmb2N1c0NvZGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLW9ic2VydmF0aW9uLWZvY3VzY29kZS5odG1sKS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJIZWFsdGhjYXJlIGV2ZW50IGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUiIGRlZmluaXRpb249IlRoZSBoZWFsdGhjYXJlIGV2ZW50ICAoZS5nLiBhIHBhdGllbnQgYW5kIGhlYWx0aGNhcmUgcHJvdmlkZXIgaW50ZXJhY3Rpb24pIGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgZXZlbnRzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIgKGUuZy4gcHJlLWFkbWlzc2lvbiBsYWJvcmF0b3J5IHRlc3RzKS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik9mdGVuIGp1c3QgYSBkYXRlVGltZSBmb3IgVml0YWwgU2lnbnMiIGRlZmluaXRpb249Ik9mdGVuIGp1c3QgYSBkYXRlVGltZSBmb3IgVml0YWwgU2lnbnMuIiBjb21tZW50PSJBdCBsZWFzdCBhIGRhdGUgc2hvdWxkIGJlIHByZXNlbnQgdW5sZXNzIHRoaXMgb2JzZXJ2YXRpb24gaXMgYSBoaXN0b3JpY2FsIHJlcG9ydC4gIEZvciByZWNvcmRpbmcgaW1wcmVjaXNlIG9yICZxdW90O2Z1enp5JnF1b3Q7IHRpbWVzIChGb3IgZXhhbXBsZSwgYSBibG9vZCBnbHVjb3NlIG1lYXN1cmVtZW50IHRha2VuICZxdW90O2FmdGVyIGJyZWFrZmFzdCZxdW90OykgdXNlIHRoZSBbVGltaW5nXShodHRwOi8vaGw3Lm9yZy9maGlyL2RhdGF0eXBlcy5odG1sI3RpbWluZykgZGF0YXR5cGUgd2hpY2ggYWxsb3cgdGhlIG1lYXN1cmVtZW50IHRvIGJlIHRpZWQgdG8gcmVndWxhciBsaWZlIGV2ZW50cy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTEiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iaWYgT2JzZXJ2YXRpb24uZWZmZWN0aXZlW3hdIGlzIGRhdGVUaW1lIGFuZCBoYXMgYSB2YWx1ZSB0aGVuIHRoYXQgdmFsdWUgc2hhbGwgYmUgcHJlY2lzZSB0byB0aGUgZGF5Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249IigkdGhpcyBhcyBkYXRlVGltZSkudG9TdHJpbmcoKS5sZW5ndGgoKSA+PSA4Ii8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IldobyB3YXMgcmVzcG9uc2libGUgZm9yIGFzc2VydGluZyB0aGUgb2JzZXJ2ZWQgdmFsdWUgYXMgJnF1b3Q7dHJ1ZSZxdW90Oy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlZpdGFsIFNpZ25zIFZhbHVlIiBkZWZpbml0aW9uPSJWaXRhbCBTaWducyB2YWx1ZSBhcmUgdHlwaWNhbGx5IHJlY29yZGVkIHVzaW5nIHRoZSBRdWFudGl0eSBkYXRhIHR5cGUuIiBjb21tZW50PSJBbiBvYnNlcnZhdGlvbiBtYXkgaGF2ZTsgMSkgIGEgc2luZ2xlIHZhbHVlIGhlcmUsIDIpICBib3RoIGEgdmFsdWUgYW5kIGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcywgIG9yIDMpICBvbmx5IGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcy4gSWYgYSB2YWx1ZSBpcyBwcmVzZW50LCB0aGUgZGF0YXR5cGUgZm9yIHRoaXMgZWxlbWVudCBzaG91bGQgYmUgZGV0ZXJtaW5lZCBieSBPYnNlcnZhdGlvbi5jb2RlLiAgQSBDb2RlYWJsZUNvbmNlcHQgd2l0aCBqdXN0IGEgdGV4dCB3b3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgYSBzdHJpbmcgaWYgdGhlIGZpZWxkIHdhcyB1c3VhbGx5IGNvZGVkLCBvciBpZiB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhlIE9ic2VydmF0aW9uLmNvZGUgZGVmaW5lcyBhIGNvZGVkIHZhbHVlLiAgRm9yIGFkZGl0aW9uYWwgZ3VpZGFuY2UsIHNlZSB0aGUgW05vdGVzIHNlY3Rpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkJvb2xlYW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUmF0aW8iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU2FtcGxlZERhdGEiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkNvbW1vbiBVQ1VNIHVuaXRzIGZvciByZWNvcmRpbmcgVml0YWwgU2lnbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGFBYnNlbnRSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoeSB0aGUgcmVzdWx0IGlzIG1pc3NpbmciIGRlZmluaXRpb249IlByb3ZpZGVzIGEgcmVhc29uIHdoeSB0aGUgZXhwZWN0ZWQgdmFsdWUgaW4gdGhlIGVsZW1lbnQgT2JzZXJ2YXRpb24udmFsdWVbeF0gaXMgbWlzc2luZy4iIGNvbW1lbnQ9Ik51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzIGNhbiBiZSByZXByZXNlbnRlZCB0d28gd2F5cyBpbiBGSElSIE9ic2VydmF0aW9ucy4gIE9uZSB3YXkgaXMgdG8gc2ltcGx5IGluY2x1ZGUgdGhlbSBpbiB0aGUgdmFsdWUgc2V0IGFuZCByZXByZXNlbnQgdGhlIGV4Y2VwdGlvbnMgaW4gdGhlIHZhbHVlLiAgRm9yIGV4YW1wbGUsIG1lYXN1cmVtZW50IHZhbHVlcyBmb3IgYSBzZXJvbG9neSB0ZXN0IGNvdWxkIGJlICAmcXVvdDtkZXRlY3RlZCZxdW90OywgJnF1b3Q7bm90IGRldGVjdGVkJnF1b3Q7LCAmcXVvdDtpbmNvbmNsdXNpdmUmcXVvdDssIG9yICAmcXVvdDtzcGVjaW1lbiB1bnNhdGlzZmFjdG9yeSZxdW90Oy4gICAmI3hhOyYjeGE7VGhlIGFsdGVybmF0ZSB3YXkgaXMgdG8gdXNlIHRoZSB2YWx1ZSBlbGVtZW50IGZvciBhY3R1YWwgb2JzZXJ2YXRpb25zIGFuZCB1c2UgdGhlIGV4cGxpY2l0IGRhdGFBYnNlbnRSZWFzb24gZWxlbWVudCB0byByZWNvcmQgZXhjZXB0aW9uYWwgdmFsdWVzLiAgRm9yIGV4YW1wbGUsIHRoZSBkYXRhQWJzZW50UmVhc29uIGNvZGUgJnF1b3Q7ZXJyb3ImcXVvdDsgY291bGQgYmUgdXNlZCB3aGVuIHRoZSBtZWFzdXJlbWVudCB3YXMgbm90IGNvbXBsZXRlZC4gTm90ZSB0aGF0IGFuIG9ic2VydmF0aW9uIG1heSBvbmx5IGJlIHJlcG9ydGVkIGlmIHRoZXJlIGFyZSB2YWx1ZXMgdG8gcmVwb3J0LiBGb3IgZXhhbXBsZSBkaWZmZXJlbnRpYWwgY2VsbCBjb3VudHMgdmFsdWVzIG1heSBiZSByZXBvcnRlZCBvbmx5IHdoZW4gPiAwLiAgQmVjYXVzZSBvZiB0aGVzZSBvcHRpb25zLCB1c2UtY2FzZSBhZ3JlZW1lbnRzIGFyZSByZXF1aXJlZCB0byBpbnRlcnByZXQgZ2VuZXJhbCBvYnNlcnZhdGlvbnMgZm9yIG51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblZhbHVlQWJzZW50UmVhc29uIiBkZXNjcmlwdGlvbj0iQ29kZXMgc3BlY2lmeWluZyB3aHkgdGhlIHJlc3VsdCAoYE9ic2VydmF0aW9uLnZhbHVlW3hdYCkgaXMgbWlzc2luZy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZXJwcmV0YXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIaWdoLCBsb3csIG5vcm1hbCwgZXRjLiIgZGVmaW5pdGlvbj0iQSBjYXRlZ29yaWNhbCBhc3Nlc3NtZW50IG9mIGFuIG9ic2VydmF0aW9uIHZhbHVlLiAgRm9yIGV4YW1wbGUsIGhpZ2gsIGxvdywgbm9ybWFsLiIgY29tbWVudD0iSGlzdG9yaWNhbGx5IHVzZWQgZm9yIGxhYm9yYXRvcnkgcmVzdWx0cyAoa25vd24gYXMgJ2Fibm9ybWFsIGZsYWcnICksICBpdHMgdXNlIGV4dGVuZHMgdG8gb3RoZXIgdXNlIGNhc2VzIHdoZXJlIGNvZGVkIGludGVycHJldGF0aW9ucyAgYXJlIHJlbGV2YW50LiAgT2Z0ZW4gcmVwb3J0ZWQgYXMgb25lIG9yIG1vcmUgc2ltcGxlIGNvbXBhY3QgY29kZXMgdGhpcyBlbGVtZW50IGlzIG9mdGVuIHBsYWNlZCBhZGphY2VudCB0byB0aGUgcmVzdWx0IHZhbHVlIGluIHJlcG9ydHMgYW5kIGZsb3cgc2hlZXRzIHRvIHNpZ25hbCB0aGUgbWVhbmluZy9ub3JtYWxjeSBzdGF0dXMgb2YgdGhlIHJlc3VsdC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25JbnRlcnByZXRhdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIGludGVycHJldGF0aW9ucyBvZiBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiBvciB0aGUgcmVzdWx0cy4iIGNvbW1lbnQ9Ik1heSBpbmNsdWRlIGdlbmVyYWwgc3RhdGVtZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24sIG9yIHN0YXRlbWVudHMgYWJvdXQgc2lnbmlmaWNhbnQsIHVuZXhwZWN0ZWQgb3IgdW5yZWxpYWJsZSByZXN1bHRzIHZhbHVlcywgb3IgaW5mb3JtYXRpb24gYWJvdXQgaXRzIHNvdXJjZSB3aGVuIHJlbGV2YW50IHRvIGl0cyBpbnRlcnByZXRhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2JzZXJ2ZWQgYm9keSBwYXJ0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHNpdGUgb24gdGhlIHN1YmplY3QncyBib2R5IHdoZXJlIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSAoaS5lLiB0aGUgdGFyZ2V0IHNpdGUpLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIE9ic2VydmF0aW9uLmNvZGUuICBJbiBtYW55IHN5c3RlbXMsIHRoaXMgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGEgcmVsYXRlZCBvYnNlcnZhdGlvbiBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb21wb25lbnQuICAgJiN4YTsmI3hhO0lmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBCb2R5U2l0ZSB0byBiZSBoYW5kbGVkIGFzIGEgc2VwYXJhdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb25bIGJvZHlTaXRlXShodHRwOi8vaGw3Lm9yZy9maGlyL2V4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IGl0IHdhcyBkb25lIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIG1lY2hhbmlzbSB1c2VkIHRvIHBlcmZvcm0gdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvciBPYnNlcnZhdGlvbi5jb2RlLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uTWV0aG9kIiBkZXNjcmlwdGlvbj0iTWV0aG9kcyBmb3Igc2ltcGxlIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3BlY2ltZW4iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iU3BlY2ltZW4gdXNlZCBmb3IgdGhpcyBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHNwZWNpbWVuIHRoYXQgd2FzIHVzZWQgd2hlbiB0aGlzIG9ic2VydmF0aW9uIHdhcyBtYWRlLiIgY29tbWVudD0iU2hvdWxkIG9ubHkgYmUgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBgT2JzZXJ2YXRpb24uY29kZWAuICBPYnNlcnZhdGlvbnMgYXJlIG5vdCBtYWRlIG9uIHNwZWNpbWVucyB0aGVtc2VsdmVzOyB0aGV5IGFyZSBtYWRlIG9uIGEgc3ViamVjdCwgYnV0IGluIG1hbnkgY2FzZXMgYnkgdGhlIG1lYW5zIG9mIGEgc3BlY2ltZW4uIE5vdGUgdGhhdCBhbHRob3VnaCBzcGVjaW1lbnMgYXJlIG9mdGVuIGludm9sdmVkLCB0aGV5IGFyZSBub3QgYWx3YXlzIHRyYWNrZWQgYW5kIHJlcG9ydGVkIGV4cGxpY2l0bHkuIEFsc28gbm90ZSB0aGF0IG9ic2VydmF0aW9uIHJlc291cmNlcyBtYXkgYmUgdXNlZCBpbiBjb250ZXh0cyB0aGF0IHRyYWNrIHRoZSBzcGVjaW1lbiBleHBsaWNpdGx5IChlLmcuIERpYWdub3N0aWMgUmVwb3J0KS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihNZWFzdXJlbWVudCkgRGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIG9ic2VydmF0aW9uIGRhdGEuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBpcyBub3QgbWVhbnQgdG8gcmVwcmVzZW50IGEgZGV2aWNlIGludm9sdmVkIGluIHRoZSB0cmFuc21pc3Npb24gb2YgdGhlIHJlc3VsdCwgZS5nLiwgYSBnYXRld2F5LiAgU3VjaCBkZXZpY2VzIG1heSBiZSBkb2N1bWVudGVkIHVzaW5nIHRoZSBQcm92ZW5hbmNlIHJlc291cmNlIHdoZXJlIHJlbGV2YW50LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2VSYW5nZSIgZGVzY3JpcHRpb249IlByb3ZpZGVzIGd1aWRlIGZvciBpbnRlcnByZXRhdGlvbiIgZGVmaW5pdGlvbj0iR3VpZGFuY2Ugb24gaG93IHRvIGludGVycHJldCB0aGUgdmFsdWUgYnkgY29tcGFyaXNvbiB0byBhIG5vcm1hbCBvciByZWNvbW1lbmRlZCByYW5nZS4gIE11bHRpcGxlIHJlZmVyZW5jZSByYW5nZXMgYXJlIGludGVycHJldGVkIGFzIGFuICZxdW90O09SJnF1b3Q7LiAgIEluIG90aGVyIHdvcmRzLCB0byByZXByZXNlbnQgdHdvIGRpc3RpbmN0IHRhcmdldCBwb3B1bGF0aW9ucywgdHdvIGByZWZlcmVuY2VSYW5nZWAgZWxlbWVudHMgd291bGQgYmUgdXNlZC4iIGNvbW1lbnQ9Ik1vc3Qgb2JzZXJ2YXRpb25zIG9ubHkgaGF2ZSBvbmUgZ2VuZXJpYyByZWZlcmVuY2UgcmFuZ2UuIFN5c3RlbXMgTUFZIGNob29zZSB0byByZXN0cmljdCB0byBvbmx5IHN1cHBseWluZyB0aGUgcmVsZXZhbnQgcmVmZXJlbmNlIHJhbmdlIGJhc2VkIG9uIGtub3dsZWRnZSBhYm91dCB0aGUgcGF0aWVudCAoZS5nLiwgc3BlY2lmaWMgdG8gdGhlIHBhdGllbnQncyBhZ2UsIGdlbmRlciwgd2VpZ2h0IGFuZCBvdGhlciBmYWN0b3JzKSwgYnV0IHRoaXMgbWlnaHQgbm90IGJlIHBvc3NpYmxlIG9yIGFwcHJvcHJpYXRlLiBXaGVuZXZlciBtb3JlIHRoYW4gb25lIHJlZmVyZW5jZSByYW5nZSBpcyBzdXBwbGllZCwgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlbSBTSE9VTEQgYmUgcHJvdmlkZWQgaW4gdGhlIHJlZmVyZW5jZSByYW5nZSBhbmQvb3IgYWdlIHByb3BlcnRpZXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uUmVmZXJlbmNlUmFuZ2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJvYnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJNdXN0IGhhdmUgYXQgbGVhc3QgYSBsb3cgb3IgYSBoaWdoIG9yIHRleHQiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0ibG93LmV4aXN0cygpIG9yIGhpZ2guZXhpc3RzKCkgb3IgdGV4dC5leGlzdHMoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaGFzTWVtYmVyIiBkZXNjcmlwdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyB2aXRhbCBzaWducyBwYW5lbCBjb21wb25lbnRzIiBkZWZpbml0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIHZpdGFsIHNpZ25zIHBhbmVsIGNvbXBvbmVudHMuIiBjb21tZW50PSJXaGVuIHVzaW5nIHRoaXMgZWxlbWVudCwgYW4gb2JzZXJ2YXRpb24gd2lsbCB0eXBpY2FsbHkgaGF2ZSBlaXRoZXIgYSB2YWx1ZSBvciBhIHNldCBvZiByZWxhdGVkIHJlc291cmNlcywgYWx0aG91Z2ggYm90aCBtYXkgYmUgcHJlc2VudCBpbiBzb21lIGNhc2VzLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuICBOb3RlIHRoYXQgYSBzeXN0ZW0gbWF5IGNhbGN1bGF0ZSByZXN1bHRzIGZyb20gW1F1ZXN0aW9ubmFpcmVSZXNwb25zZV0oaHR0cDovL2hsNy5vcmcvZmhpci9xdWVzdGlvbm5haXJlcmVzcG9uc2UuaHRtbCkgIGludG8gYSBmaW5hbCBzY29yZSBhbmQgcmVwcmVzZW50IHRoZSBzY29yZSBhcyBhbiBPYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRlcml2ZWRGcm9tIiBkZXNjcmlwdGlvbj0iUmVsYXRlZCBtZWFzdXJlbWVudHMgdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgZnJvbSIgZGVmaW5pdGlvbj0iVGhlIHRhcmdldCByZXNvdXJjZSB0aGF0IHJlcHJlc2VudHMgYSBtZWFzdXJlbWVudCBmcm9tIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gdmFsdWUgaXMgZGVyaXZlZC4gRm9yIGV4YW1wbGUsIGEgY2FsY3VsYXRlZCBhbmlvbiBnYXAgb3IgYSBmZXRhbCBtZWFzdXJlbWVudCBiYXNlZCBvbiBhbiB1bHRyYXNvdW5kIGltYWdlLiIgY29tbWVudD0iQWxsIHRoZSByZWZlcmVuY2UgY2hvaWNlcyB0aGF0IGFyZSBsaXN0ZWQgaW4gdGhpcyBlbGVtZW50IGNhbiByZXByZXNlbnQgY2xpbmljYWwgb2JzZXJ2YXRpb25zIGFuZCBvdGhlciBtZWFzdXJlbWVudHMgdGhhdCBtYXkgYmUgdGhlIHNvdXJjZSBmb3IgYSBkZXJpdmVkIHZhbHVlLiAgVGhlIG1vc3QgY29tbW9uIHJlZmVyZW5jZSB3aWxsIGJlIGFub3RoZXIgT2JzZXJ2YXRpb24uICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbXBvbmVudCIgZGVzY3JpcHRpb249IkNvbXBvbmVudCBvYnNlcnZhdGlvbnMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgY29tcG9uZW50IG9ic2VydmF0aW9uIHN1Y2ggYXMgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBibG9vZCBwcmVzc3VyZS4iIGNvbW1lbnQ9IkZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBiZSBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iSWYgdGhlcmUgaXMgbm8gYSB2YWx1ZSBhIGRhdGEgYWJzZW50IHJlYXNvbiBtdXN0IGJlIHByZXNlbnQiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0idmFsdWUuZXhpc3RzKCkgb3IgZGF0YUFic2VudFJlYXNvbi5leGlzdHMoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3lzdG9saWMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50IiBkZXNjcmlwdGlvbj0iU3lzdG9saWMgQmxvb2QgUHJlc3N1cmUiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgY29tcG9uZW50IG9ic2VydmF0aW9uIHN1Y2ggYXMgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBibG9vZCBwcmVzc3VyZS4iIGNvbW1lbnQ9IkZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBiZSBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iSWYgdGhlcmUgaXMgbm8gYSB2YWx1ZSBhIGRhdGEgYWJzZW50IHJlYXNvbiBtdXN0IGJlIHByZXNlbnQiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0idmFsdWUuZXhpc3RzKCkgb3IgZGF0YUFic2VudFJlYXNvbi5leGlzdHMoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGlhc3RvbGljIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIgZGVzY3JpcHRpb249IkRpYXN0b2xpYyBCbG9vZCBQcmVzc3VyZSIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyBjb21wb25lbnQgb2JzZXJ2YXRpb24gc3VjaCBhcyBzeXN0b2xpYyBhbmQgZGlhc3RvbGljIGJsb29kIHByZXNzdXJlLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSBpcyBubyBhIHZhbHVlIGEgZGF0YSBhYnNlbnQgcmVhc29uIG11c3QgYmUgcHJlc2VudCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ2YWx1ZS5leGlzdHMoKSBvciBkYXRhQWJzZW50UmVhc29uLmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVTQ29yZUJvZHlIZWlnaHRQcm9maWxlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLWJvZHktaGVpZ2h0IiBsYWJlbD0iVVMgQ29yZSBCb2R5IEhlaWdodCBQcm9maWxlIiB0YXJnZXQ9Ik9ic2VydmF0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkJ1c2luZXNzIElkZW50aWZpZXIgZm9yIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIHVuaXF1ZSBpZGVudGlmaWVyIGFzc2lnbmVkIHRvIHRoaXMgb2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IkZ1bGZpbGxzIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIiBkZWZpbml0aW9uPSJBIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBldmVudC4gIEZvciBleGFtcGxlLCBhIE1lZGljYXRpb25SZXF1ZXN0IG1heSByZXF1aXJlIGEgcGF0aWVudCB0byBoYXZlIGxhYm9yYXRvcnkgdGVzdCBwZXJmb3JtZWQgYmVmb3JlICBpdCBpcyBkaXNwZW5zZWQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBPYnNlcnZhdGlvbiBpcyBhIGNvbXBvbmVudCBvciBzdGVwLiAgRm9yIGV4YW1wbGUsICBhbiBvYnNlcnZhdGlvbiBhcyBwYXJ0IG9mIGEgcHJvY2VkdXJlLiIgY29tbWVudD0iVG8gbGluayBhbiBPYnNlcnZhdGlvbiB0byBhbiBFbmNvdW50ZXIgdXNlIGBlbmNvdW50ZXJgLiAgU2VlIHRoZSAgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93IGZvciBndWlkYW5jZSBvbiByZWZlcmVuY2luZyBhbm90aGVyIE9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLlN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyZWdpc3RlcmVkIHwgcHJlbGltaW5hcnkgfCBmaW5hbCB8IGFtZW5kZWQgKyIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzdWx0IHZhbHVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTdGF0dXMiIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9IlZTQ2F0IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCVwYXJlbnQuY2F0ZWdvcnlbY29kaW5nLnN5c3RlbT0naHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS9vYnNlcnZhdGlvbi1jYXRlZ29yeScsY29kaW5nLmNvZGU9J3ZpdGFsLXNpZ25zJ10pIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQm9keSBIZWlnaHQiIGRlZmluaXRpb249IkNvZGVkIFJlc3BvbnNlcyBmcm9tIEMtQ0RBIFZpdGFsIFNpZ24gUmVzdWx0cy4iIGNvbW1lbnQ9IipBbGwqIGNvZGUtdmFsdWUgYW5kLCBpZiBwcmVzZW50LCBjb21wb25lbnQuY29kZS1jb21wb25lbnQudmFsdWUgcGFpcnMgbmVlZCB0byBiZSB0YWtlbiBpbnRvIGFjY291bnQgdG8gY29ycmVjdGx5IHVuZGVyc3RhbmQgdGhlIG1lYW5pbmcgb2YgdGhlIG9ic2VydmF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhlIHZpdGFsIHNpZ24gY29kZXMgZnJvbSB0aGUgYmFzZSBGSElSIGFuZCBVUyBDb3JlIFZpdGFsIFNpZ25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jdXMiIGRlc2NyaXB0aW9uPSJXaGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCwgd2hlbiBpdCBpcyBub3QgYWJvdXQgdGhlIHN1YmplY3Qgb2YgcmVjb3JkIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIHdoZW4gaXQgaXMgbm90IHRoZSBwYXRpZW50IG9mIHJlY29yZCByZXByZXNlbnRpbmcgc29tZXRoaW5nIG9yIHNvbWVvbmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYXRpZW50IHN1Y2ggYXMgYSBzcG91c2UsIHBhcmVudCwgZmV0dXMsIG9yIGRvbm9yLiBGb3IgZXhhbXBsZSwgZmV0dXMgb2JzZXJ2YXRpb25zIGluIGEgbW90aGVyJ3MgcmVjb3JkLiAgVGhlIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIGNvdWxkIGFsc28gYmUgYW4gZXhpc3RpbmcgY29uZGl0aW9uLCAgYW4gaW50ZXJ2ZW50aW9uLCB0aGUgc3ViamVjdCdzIGRpZXQsICBhbm90aGVyIG9ic2VydmF0aW9uIG9mIHRoZSBzdWJqZWN0LCAgb3IgYSBib2R5IHN0cnVjdHVyZSBzdWNoIGFzIHR1bW9yIG9yIGltcGxhbnRlZCBkZXZpY2UuICAgQW4gZXhhbXBsZSB1c2UgY2FzZSB3b3VsZCBiZSB1c2luZyB0aGUgT2JzZXJ2YXRpb24gcmVzb3VyY2UgdG8gY2FwdHVyZSB3aGV0aGVyIHRoZSBtb3RoZXIgaXMgdHJhaW5lZCB0byBjaGFuZ2UgaGVyIGNoaWxkJ3MgdHJhY2hlb3N0b215IHR1YmUuIEluIHRoaXMgZXhhbXBsZSwgdGhlIGNoaWxkIGlzIHRoZSBwYXRpZW50IG9mIHJlY29yZCBhbmQgdGhlIG1vdGhlciBpcyB0aGUgZm9jdXMuIiBjb21tZW50PSJUeXBpY2FsbHksIGFuIG9ic2VydmF0aW9uIGlzIG1hZGUgYWJvdXQgdGhlIHN1YmplY3QgLSBhIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIC0gYW5kIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRoZSBzdWJqZWN0IGFuZCB3aGF0IGlzIGRpcmVjdGx5IG1lYXN1cmVkIGZvciBhbiBvYnNlcnZhdGlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIG9ic2VydmF0aW9uIGNvZGUgaXRzZWxmICggZS5nLiwgJnF1b3Q7Qmxvb2QgR2x1Y29zZSZxdW90OykgYW5kIGRvZXMgbm90IG5lZWQgdG8gYmUgcmVwcmVzZW50ZWQgc2VwYXJhdGVseSB1c2luZyB0aGlzIGVsZW1lbnQuICBVc2UgYHNwZWNpbWVuYCBpZiBhIHJlZmVyZW5jZSB0byBhIHNwZWNpbWVuIGlzIHJlcXVpcmVkLiAgSWYgYSBjb2RlIGlzIHJlcXVpcmVkIGluc3RlYWQgb2YgYSByZXNvdXJjZSB1c2UgZWl0aGVyICBgYm9keXNpdGVgIGZvciBib2R5c2l0ZXMgb3IgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbZm9jdXNDb2RlXShodHRwOi8vaGw3Lm9yZy9maGlyL2V4dGVuc2lvbi1vYnNlcnZhdGlvbi1mb2N1c2NvZGUuaHRtbCkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zIiBkZWZpbml0aW9uPSJPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zLiIgY29tbWVudD0iQXQgbGVhc3QgYSBkYXRlIHNob3VsZCBiZSBwcmVzZW50IHVubGVzcyB0aGlzIG9ic2VydmF0aW9uIGlzIGEgaGlzdG9yaWNhbCByZXBvcnQuICBGb3IgcmVjb3JkaW5nIGltcHJlY2lzZSBvciAmcXVvdDtmdXp6eSZxdW90OyB0aW1lcyAoRm9yIGV4YW1wbGUsIGEgYmxvb2QgZ2x1Y29zZSBtZWFzdXJlbWVudCB0YWtlbiAmcXVvdDthZnRlciBicmVha2Zhc3QmcXVvdDspIHVzZSB0aGUgW1RpbWluZ10oaHR0cDovL2hsNy5vcmcvZmhpci9kYXRhdHlwZXMuaHRtbCN0aW1pbmcpIGRhdGF0eXBlIHdoaWNoIGFsbG93IHRoZSBtZWFzdXJlbWVudCB0byBiZSB0aWVkIHRvIHJlZ3VsYXIgbGlmZSBldmVudHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ2cy0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9ImlmIE9ic2VydmF0aW9uLmVmZmVjdGl2ZVt4XSBpcyBkYXRlVGltZSBhbmQgaGFzIGEgdmFsdWUgdGhlbiB0aGF0IHZhbHVlIHNoYWxsIGJlIHByZWNpc2UgdG8gdGhlIGRheSI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIoJHRoaXMgYXMgZGF0ZVRpbWUpLnRvU3RyaW5nKCkubGVuZ3RoKCkgPj0gOCIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaXNzdWVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUvVGltZSB0aGlzIHZlcnNpb24gd2FzIG1hZGUgYXZhaWxhYmxlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGlzIHZlcnNpb24gb2YgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIGF2YWlsYWJsZSB0byBwcm92aWRlcnMsIHR5cGljYWxseSBhZnRlciB0aGUgcmVzdWx0cyBoYXZlIGJlZW4gcmV2aWV3ZWQgYW5kIHZlcmlmaWVkLiIgY29tbWVudD0iRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvbuKAmXQgcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiwgaXQgbWF5IGJlIHRoZSBzYW1lIGFzIHRoZSBbYGxhc3RVcGRhdGVkYCBdKGh0dHA6Ly9obDcub3JnL2ZoaXIvcmVzb3VyY2UtZGVmaW5pdGlvbnMuaHRtbCNNZXRhLmxhc3RVcGRhdGVkKSB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYuICBGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG8gcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiBmb3IgY2VydGFpbiB1cGRhdGVzLCBpdCBtaWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGBsYXN0VXBkYXRlZGAgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmIGR1ZSB0byBhIG5vbi1jbGluaWNhbGx5IHNpZ25pZmljYW50IHVwZGF0ZSB0aGF0IGRvZXNu4oCZdCByZXF1aXJlIHRoZSBuZXcgdmVyc2lvbiB0byBiZSByZXZpZXdlZCBhbmQgdmVyaWZpZWQgYWdhaW4uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IldobyBpcyByZXNwb25zaWJsZSBmb3IgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJXaG8gd2FzIHJlc3BvbnNpYmxlIGZvciBhc3NlcnRpbmcgdGhlIG9ic2VydmVkIHZhbHVlIGFzICZxdW90O3RydWUmcXVvdDsuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJWaXRhbCBTaWducyBWYWx1ZSIgZGVmaW5pdGlvbj0iVml0YWwgU2lnbnMgdmFsdWUgYXJlIHR5cGljYWxseSByZWNvcmRlZCB1c2luZyB0aGUgUXVhbnRpdHkgZGF0YSB0eXBlLiIgY29tbWVudD0iQW4gb2JzZXJ2YXRpb24gbWF5IGhhdmU7IDEpICBhIHNpbmdsZSB2YWx1ZSBoZXJlLCAyKSAgYm90aCBhIHZhbHVlIGFuZCBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMsICBvciAzKSAgb25seSBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMuIElmIGEgdmFsdWUgaXMgcHJlc2VudCwgdGhlIGRhdGF0eXBlIGZvciB0aGlzIGVsZW1lbnQgc2hvdWxkIGJlIGRldGVybWluZWQgYnkgT2JzZXJ2YXRpb24uY29kZS4gIEEgQ29kZWFibGVDb25jZXB0IHdpdGgganVzdCBhIHRleHQgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGlmIHRoZSBmaWVsZCB3YXMgdXN1YWxseSBjb2RlZCwgb3IgaWYgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBPYnNlcnZhdGlvbi5jb2RlIGRlZmluZXMgYSBjb2RlZCB2YWx1ZS4gIEZvciBhZGRpdGlvbmFsIGd1aWRhbmNlLCBzZWUgdGhlIFtOb3RlcyBzZWN0aW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQ29tbW9uIFVDVU0gdW5pdHMgZm9yIHJlY29yZGluZyBWaXRhbCBTaWducy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YUFic2VudFJlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2h5IHRoZSByZXN1bHQgaXMgbWlzc2luZyIgZGVmaW5pdGlvbj0iUHJvdmlkZXMgYSByZWFzb24gd2h5IHRoZSBleHBlY3RlZCB2YWx1ZSBpbiB0aGUgZWxlbWVudCBPYnNlcnZhdGlvbi52YWx1ZVt4XSBpcyBtaXNzaW5nLiIgY29tbWVudD0iTnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMgY2FuIGJlIHJlcHJlc2VudGVkIHR3byB3YXlzIGluIEZISVIgT2JzZXJ2YXRpb25zLiAgT25lIHdheSBpcyB0byBzaW1wbHkgaW5jbHVkZSB0aGVtIGluIHRoZSB2YWx1ZSBzZXQgYW5kIHJlcHJlc2VudCB0aGUgZXhjZXB0aW9ucyBpbiB0aGUgdmFsdWUuICBGb3IgZXhhbXBsZSwgbWVhc3VyZW1lbnQgdmFsdWVzIGZvciBhIHNlcm9sb2d5IHRlc3QgY291bGQgYmUgICZxdW90O2RldGVjdGVkJnF1b3Q7LCAmcXVvdDtub3QgZGV0ZWN0ZWQmcXVvdDssICZxdW90O2luY29uY2x1c2l2ZSZxdW90Oywgb3IgICZxdW90O3NwZWNpbWVuIHVuc2F0aXNmYWN0b3J5JnF1b3Q7LiAgICYjeGE7JiN4YTtUaGUgYWx0ZXJuYXRlIHdheSBpcyB0byB1c2UgdGhlIHZhbHVlIGVsZW1lbnQgZm9yIGFjdHVhbCBvYnNlcnZhdGlvbnMgYW5kIHVzZSB0aGUgZXhwbGljaXQgZGF0YUFic2VudFJlYXNvbiBlbGVtZW50IHRvIHJlY29yZCBleGNlcHRpb25hbCB2YWx1ZXMuICBGb3IgZXhhbXBsZSwgdGhlIGRhdGFBYnNlbnRSZWFzb24gY29kZSAmcXVvdDtlcnJvciZxdW90OyBjb3VsZCBiZSB1c2VkIHdoZW4gdGhlIG1lYXN1cmVtZW50IHdhcyBub3QgY29tcGxldGVkLiBOb3RlIHRoYXQgYW4gb2JzZXJ2YXRpb24gbWF5IG9ubHkgYmUgcmVwb3J0ZWQgaWYgdGhlcmUgYXJlIHZhbHVlcyB0byByZXBvcnQuIEZvciBleGFtcGxlIGRpZmZlcmVudGlhbCBjZWxsIGNvdW50cyB2YWx1ZXMgbWF5IGJlIHJlcG9ydGVkIG9ubHkgd2hlbiA+IDAuICBCZWNhdXNlIG9mIHRoZXNlIG9wdGlvbnMsIHVzZS1jYXNlIGFncmVlbWVudHMgYXJlIHJlcXVpcmVkIHRvIGludGVycHJldCBnZW5lcmFsIG9ic2VydmF0aW9ucyBmb3IgbnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uVmFsdWVBYnNlbnRSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBzcGVjaWZ5aW5nIHdoeSB0aGUgcmVzdWx0IChgT2JzZXJ2YXRpb24udmFsdWVbeF1gKSBpcyBtaXNzaW5nLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlcnByZXRhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhpZ2gsIGxvdywgbm9ybWFsLCBldGMuIiBkZWZpbml0aW9uPSJBIGNhdGVnb3JpY2FsIGFzc2Vzc21lbnQgb2YgYW4gb2JzZXJ2YXRpb24gdmFsdWUuICBGb3IgZXhhbXBsZSwgaGlnaCwgbG93LCBub3JtYWwuIiBjb21tZW50PSJIaXN0b3JpY2FsbHkgdXNlZCBmb3IgbGFib3JhdG9yeSByZXN1bHRzIChrbm93biBhcyAnYWJub3JtYWwgZmxhZycgKSwgIGl0cyB1c2UgZXh0ZW5kcyB0byBvdGhlciB1c2UgY2FzZXMgd2hlcmUgY29kZWQgaW50ZXJwcmV0YXRpb25zICBhcmUgcmVsZXZhbnQuICBPZnRlbiByZXBvcnRlZCBhcyBvbmUgb3IgbW9yZSBzaW1wbGUgY29tcGFjdCBjb2RlcyB0aGlzIGVsZW1lbnQgaXMgb2Z0ZW4gcGxhY2VkIGFkamFjZW50IHRvIHRoZSByZXN1bHQgdmFsdWUgaW4gcmVwb3J0cyBhbmQgZmxvdyBzaGVldHMgdG8gc2lnbmFsIHRoZSBtZWFuaW5nL25vcm1hbGN5IHN0YXR1cyBvZiB0aGUgcmVzdWx0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkludGVycHJldGF0aW9uIiBkZXNjcmlwdGlvbj0iQ29kZXMgaWRlbnRpZnlpbmcgaW50ZXJwcmV0YXRpb25zIG9mIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIG9yIHRoZSByZXN1bHRzLiIgY29tbWVudD0iTWF5IGluY2x1ZGUgZ2VuZXJhbCBzdGF0ZW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiwgb3Igc3RhdGVtZW50cyBhYm91dCBzaWduaWZpY2FudCwgdW5leHBlY3RlZCBvciB1bnJlbGlhYmxlIHJlc3VsdHMgdmFsdWVzLCBvciBpbmZvcm1hdGlvbiBhYm91dCBpdHMgc291cmNlIHdoZW4gcmVsZXZhbnQgdG8gaXRzIGludGVycHJldGF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPYnNlcnZlZCBib2R5IHBhcnQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc2l0ZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgd2hlcmUgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIChpLmUuIHRoZSB0YXJnZXQgc2l0ZSkuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gT2JzZXJ2YXRpb24uY29kZS4gIEluIG1hbnkgc3lzdGVtcywgdGhpcyBtYXkgYmUgcmVwcmVzZW50ZWQgYXMgYSByZWxhdGVkIG9ic2VydmF0aW9uIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvbXBvbmVudC4gICAmI3hhOyYjeGE7SWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvblsgYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibWV0aG9kIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIb3cgaXQgd2FzIGRvbmUiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgbWVjaGFuaXNtIHVzZWQgdG8gcGVyZm9ybSB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm9yIE9ic2VydmF0aW9uLmNvZGUuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25NZXRob2QiIGRlc2NyaXB0aW9uPSJNZXRob2RzIGZvciBzaW1wbGUgb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiB1c2VkIGZvciB0aGlzIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2ltZW4gdGhhdCB3YXMgdXNlZCB3aGVuIHRoaXMgb2JzZXJ2YXRpb24gd2FzIG1hZGUuIiBjb21tZW50PSJTaG91bGQgb25seSBiZSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIGBPYnNlcnZhdGlvbi5jb2RlYC4gIE9ic2VydmF0aW9ucyBhcmUgbm90IG1hZGUgb24gc3BlY2ltZW5zIHRoZW1zZWx2ZXM7IHRoZXkgYXJlIG1hZGUgb24gYSBzdWJqZWN0LCBidXQgaW4gbWFueSBjYXNlcyBieSB0aGUgbWVhbnMgb2YgYSBzcGVjaW1lbi4gTm90ZSB0aGF0IGFsdGhvdWdoIHNwZWNpbWVucyBhcmUgb2Z0ZW4gaW52b2x2ZWQsIHRoZXkgYXJlIG5vdCBhbHdheXMgdHJhY2tlZCBhbmQgcmVwb3J0ZWQgZXhwbGljaXRseS4gQWxzbyBub3RlIHRoYXQgb2JzZXJ2YXRpb24gcmVzb3VyY2VzIG1heSBiZSB1c2VkIGluIGNvbnRleHRzIHRoYXQgdHJhY2sgdGhlIHNwZWNpbWVuIGV4cGxpY2l0bHkgKGUuZy4gRGlhZ25vc3RpYyBSZXBvcnQpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXZpY2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKE1lYXN1cmVtZW50KSBEZXZpY2UiIGRlZmluaXRpb249IlRoZSBkZXZpY2UgdXNlZCB0byBnZW5lcmF0ZSB0aGUgb2JzZXJ2YXRpb24gZGF0YS4iIGNvbW1lbnQ9Ik5vdGUgdGhhdCB0aGlzIGlzIG5vdCBtZWFudCB0byByZXByZXNlbnQgYSBkZXZpY2UgaW52b2x2ZWQgaW4gdGhlIHRyYW5zbWlzc2lvbiBvZiB0aGUgcmVzdWx0LCBlLmcuLCBhIGdhdGV3YXkuICBTdWNoIGRldmljZXMgbWF5IGJlIGRvY3VtZW50ZWQgdXNpbmcgdGhlIFByb3ZlbmFuY2UgcmVzb3VyY2Ugd2hlcmUgcmVsZXZhbnQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIiBkZWZpbml0aW9uPSJHdWlkYW5jZSBvbiBob3cgdG8gaW50ZXJwcmV0IHRoZSB2YWx1ZSBieSBjb21wYXJpc29uIHRvIGEgbm9ybWFsIG9yIHJlY29tbWVuZGVkIHJhbmdlLiAgTXVsdGlwbGUgcmVmZXJlbmNlIHJhbmdlcyBhcmUgaW50ZXJwcmV0ZWQgYXMgYW4gJnF1b3Q7T1ImcXVvdDsuICAgSW4gb3RoZXIgd29yZHMsIHRvIHJlcHJlc2VudCB0d28gZGlzdGluY3QgdGFyZ2V0IHBvcHVsYXRpb25zLCB0d28gYHJlZmVyZW5jZVJhbmdlYCBlbGVtZW50cyB3b3VsZCBiZSB1c2VkLiIgY29tbWVudD0iTW9zdCBvYnNlcnZhdGlvbnMgb25seSBoYXZlIG9uZSBnZW5lcmljIHJlZmVyZW5jZSByYW5nZS4gU3lzdGVtcyBNQVkgY2hvb3NlIHRvIHJlc3RyaWN0IHRvIG9ubHkgc3VwcGx5aW5nIHRoZSByZWxldmFudCByZWZlcmVuY2UgcmFuZ2UgYmFzZWQgb24ga25vd2xlZGdlIGFib3V0IHRoZSBwYXRpZW50IChlLmcuLCBzcGVjaWZpYyB0byB0aGUgcGF0aWVudCdzIGFnZSwgZ2VuZGVyLCB3ZWlnaHQgYW5kIG90aGVyIGZhY3RvcnMpLCBidXQgdGhpcyBtaWdodCBub3QgYmUgcG9zc2libGUgb3IgYXBwcm9wcmlhdGUuIFdoZW5ldmVyIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIHJhbmdlIGlzIHN1cHBsaWVkLCB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGVtIFNIT1VMRCBiZSBwcm92aWRlZCBpbiB0aGUgcmVmZXJlbmNlIHJhbmdlIGFuZC9vciBhZ2UgcHJvcGVydGllcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5SZWZlcmVuY2VSYW5nZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Im9icy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik11c3QgaGF2ZSBhdCBsZWFzdCBhIGxvdyBvciBhIGhpZ2ggb3IgdGV4dCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJsb3cuZXhpc3RzKCkgb3IgaGlnaC5leGlzdHMoKSBvciB0ZXh0LmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJoYXNNZW1iZXIiIGRlc2NyaXB0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIHZpdGFsIHNpZ25zIHBhbmVsIGNvbXBvbmVudHMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cy4iIGNvbW1lbnQ9IldoZW4gdXNpbmcgdGhpcyBlbGVtZW50LCBhbiBvYnNlcnZhdGlvbiB3aWxsIHR5cGljYWxseSBoYXZlIGVpdGhlciBhIHZhbHVlIG9yIGEgc2V0IG9mIHJlbGF0ZWQgcmVzb3VyY2VzLCBhbHRob3VnaCBib3RoIG1heSBiZSBwcmVzZW50IGluIHNvbWUgY2FzZXMuICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4gIE5vdGUgdGhhdCBhIHN5c3RlbSBtYXkgY2FsY3VsYXRlIHJlc3VsdHMgZnJvbSBbUXVlc3Rpb25uYWlyZVJlc3BvbnNlXShodHRwOi8vaGw3Lm9yZy9maGlyL3F1ZXN0aW9ubmFpcmVyZXNwb25zZS5odG1sKSAgaW50byBhIGZpbmFsIHNjb3JlIGFuZCByZXByZXNlbnQgdGhlIHNjb3JlIGFzIGFuIE9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIG1lYXN1cmVtZW50cyB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIG1lYXN1cmVtZW50IGZyb20gd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiB2YWx1ZSBpcyBkZXJpdmVkLiBGb3IgZXhhbXBsZSwgYSBjYWxjdWxhdGVkIGFuaW9uIGdhcCBvciBhIGZldGFsIG1lYXN1cmVtZW50IGJhc2VkIG9uIGFuIHVsdHJhc291bmQgaW1hZ2UuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iQ29tcG9uZW50IG9ic2VydmF0aW9ucyIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyBjb21wb25lbnQgb2JzZXJ2YXRpb24gc3VjaCBhcyBzeXN0b2xpYyBhbmQgZGlhc3RvbGljIGJsb29kIHByZXNzdXJlLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSBpcyBubyBhIHZhbHVlIGEgZGF0YSBhYnNlbnQgcmVhc29uIG11c3QgYmUgcHJlc2VudCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ2YWx1ZS5leGlzdHMoKSBvciBkYXRhQWJzZW50UmVhc29uLmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVTQ29yZUJvZHlUZW1wZXJhdHVyZVByb2ZpbGUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtYm9keS10ZW1wZXJhdHVyZSIgbGFiZWw9IlVTIENvcmUgQm9keSBUZW1wZXJhdHVyZSBQcm9maWxlIiB0YXJnZXQ9Ik9ic2VydmF0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkJ1c2luZXNzIElkZW50aWZpZXIgZm9yIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIHVuaXF1ZSBpZGVudGlmaWVyIGFzc2lnbmVkIHRvIHRoaXMgb2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IkZ1bGZpbGxzIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIiBkZWZpbml0aW9uPSJBIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBldmVudC4gIEZvciBleGFtcGxlLCBhIE1lZGljYXRpb25SZXF1ZXN0IG1heSByZXF1aXJlIGEgcGF0aWVudCB0byBoYXZlIGxhYm9yYXRvcnkgdGVzdCBwZXJmb3JtZWQgYmVmb3JlICBpdCBpcyBkaXNwZW5zZWQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBPYnNlcnZhdGlvbiBpcyBhIGNvbXBvbmVudCBvciBzdGVwLiAgRm9yIGV4YW1wbGUsICBhbiBvYnNlcnZhdGlvbiBhcyBwYXJ0IG9mIGEgcHJvY2VkdXJlLiIgY29tbWVudD0iVG8gbGluayBhbiBPYnNlcnZhdGlvbiB0byBhbiBFbmNvdW50ZXIgdXNlIGBlbmNvdW50ZXJgLiAgU2VlIHRoZSAgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93IGZvciBndWlkYW5jZSBvbiByZWZlcmVuY2luZyBhbm90aGVyIE9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLlN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyZWdpc3RlcmVkIHwgcHJlbGltaW5hcnkgfCBmaW5hbCB8IGFtZW5kZWQgKyIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzdWx0IHZhbHVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTdGF0dXMiIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9IlZTQ2F0IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCVwYXJlbnQuY2F0ZWdvcnlbY29kaW5nLnN5c3RlbT0naHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS9vYnNlcnZhdGlvbi1jYXRlZ29yeScsY29kaW5nLmNvZGU9J3ZpdGFsLXNpZ25zJ10pIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQm9keSBUZW1wZXJhdHVyZSIgZGVmaW5pdGlvbj0iQ29kZWQgUmVzcG9uc2VzIGZyb20gQy1DREEgVml0YWwgU2lnbiBSZXN1bHRzLiIgY29tbWVudD0iKkFsbCogY29kZS12YWx1ZSBhbmQsIGlmIHByZXNlbnQsIGNvbXBvbmVudC5jb2RlLWNvbXBvbmVudC52YWx1ZSBwYWlycyBuZWVkIHRvIGJlIHRha2VuIGludG8gYWNjb3VudCB0byBjb3JyZWN0bHkgdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGUgdml0YWwgc2lnbiBjb2RlcyBmcm9tIHRoZSBiYXNlIEZISVIgYW5kIFVTIENvcmUgVml0YWwgU2lnbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIGFuZC9vciB3aGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCIgZGVmaW5pdGlvbj0iVGhlIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIHRoaXMgb2JzZXJ2YXRpb24gaXMgYWJvdXQgYW5kIGludG8gd2hvc2UgcmVjb3JkIHRoZSBvYnNlcnZhdGlvbiBpcyBwbGFjZWQuIElmIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBzdWJqZWN0IChvciBhIHNhbXBsZSBvZiwgcGFydCwgb3IgcmVnaW9uIG9mIHRoZSBzdWJqZWN0KSwgdGhlIGBmb2N1c2AgZWxlbWVudCBvciB0aGUgYGNvZGVgIGl0c2VsZiBzcGVjaWZpZXMgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmUgd291bGQgZXhwZWN0IHRoaXMgZWxlbWVudCB0byBiZSBhIGNhcmRpbmFsaXR5IG9mIDEuLjEuIFRoZSBvbmx5IGNpcmN1bXN0YW5jZSBpbiB3aGljaCB0aGUgc3ViamVjdCBjYW4gYmUgbWlzc2luZyBpcyB3aGVuIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGJ5IGEgZGV2aWNlIHRoYXQgZG9lcyBub3Qga25vdyB0aGUgcGF0aWVudC4gSW4gdGhpcyBjYXNlLCB0aGUgb2JzZXJ2YXRpb24gU0hBTEwgYmUgbWF0Y2hlZCB0byBhIHBhdGllbnQgdGhyb3VnaCBzb21lIGNvbnRleHQvY2hhbm5lbCBtYXRjaGluZyB0ZWNobmlxdWUsIGFuZCBhdCB0aGlzIHBvaW50LCB0aGUgb2JzZXJ2YXRpb24gc2hvdWxkIGJlIHVwZGF0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJmb2N1cyIgZGVzY3JpcHRpb249IldoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0LCB3aGVuIGl0IGlzIG5vdCBhYm91dCB0aGUgc3ViamVjdCBvZiByZWNvcmQiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gd2hlbiBpdCBpcyBub3QgdGhlIHBhdGllbnQgb2YgcmVjb3JkIHJlcHJlc2VudGluZyBzb21ldGhpbmcgb3Igc29tZW9uZSBhc3NvY2lhdGVkIHdpdGggdGhlIHBhdGllbnQgc3VjaCBhcyBhIHNwb3VzZSwgcGFyZW50LCBmZXR1cywgb3IgZG9ub3IuIEZvciBleGFtcGxlLCBmZXR1cyBvYnNlcnZhdGlvbnMgaW4gYSBtb3RoZXIncyByZWNvcmQuICBUaGUgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gY291bGQgYWxzbyBiZSBhbiBleGlzdGluZyBjb25kaXRpb24sICBhbiBpbnRlcnZlbnRpb24sIHRoZSBzdWJqZWN0J3MgZGlldCwgIGFub3RoZXIgb2JzZXJ2YXRpb24gb2YgdGhlIHN1YmplY3QsICBvciBhIGJvZHkgc3RydWN0dXJlIHN1Y2ggYXMgdHVtb3Igb3IgaW1wbGFudGVkIGRldmljZS4gICBBbiBleGFtcGxlIHVzZSBjYXNlIHdvdWxkIGJlIHVzaW5nIHRoZSBPYnNlcnZhdGlvbiByZXNvdXJjZSB0byBjYXB0dXJlIHdoZXRoZXIgdGhlIG1vdGhlciBpcyB0cmFpbmVkIHRvIGNoYW5nZSBoZXIgY2hpbGQncyB0cmFjaGVvc3RvbXkgdHViZS4gSW4gdGhpcyBleGFtcGxlLCB0aGUgY2hpbGQgaXMgdGhlIHBhdGllbnQgb2YgcmVjb3JkIGFuZCB0aGUgbW90aGVyIGlzIHRoZSBmb2N1cy4iIGNvbW1lbnQ9IlR5cGljYWxseSwgYW4gb2JzZXJ2YXRpb24gaXMgbWFkZSBhYm91dCB0aGUgc3ViamVjdCAtIGEgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgLSBhbmQgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhlIHN1YmplY3QgYW5kIHdoYXQgaXMgZGlyZWN0bHkgbWVhc3VyZWQgZm9yIGFuIG9ic2VydmF0aW9uIGlzIHNwZWNpZmllZCBpbiB0aGUgb2JzZXJ2YXRpb24gY29kZSBpdHNlbGYgKCBlLmcuLCAmcXVvdDtCbG9vZCBHbHVjb3NlJnF1b3Q7KSBhbmQgZG9lcyBub3QgbmVlZCB0byBiZSByZXByZXNlbnRlZCBzZXBhcmF0ZWx5IHVzaW5nIHRoaXMgZWxlbWVudC4gIFVzZSBgc3BlY2ltZW5gIGlmIGEgcmVmZXJlbmNlIHRvIGEgc3BlY2ltZW4gaXMgcmVxdWlyZWQuICBJZiBhIGNvZGUgaXMgcmVxdWlyZWQgaW5zdGVhZCBvZiBhIHJlc291cmNlIHVzZSBlaXRoZXIgIGBib2R5c2l0ZWAgZm9yIGJvZHlzaXRlcyBvciB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtmb2N1c0NvZGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLW9ic2VydmF0aW9uLWZvY3VzY29kZS5odG1sKS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJIZWFsdGhjYXJlIGV2ZW50IGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUiIGRlZmluaXRpb249IlRoZSBoZWFsdGhjYXJlIGV2ZW50ICAoZS5nLiBhIHBhdGllbnQgYW5kIGhlYWx0aGNhcmUgcHJvdmlkZXIgaW50ZXJhY3Rpb24pIGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgZXZlbnRzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIgKGUuZy4gcHJlLWFkbWlzc2lvbiBsYWJvcmF0b3J5IHRlc3RzKS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik9mdGVuIGp1c3QgYSBkYXRlVGltZSBmb3IgVml0YWwgU2lnbnMiIGRlZmluaXRpb249Ik9mdGVuIGp1c3QgYSBkYXRlVGltZSBmb3IgVml0YWwgU2lnbnMuIiBjb21tZW50PSJBdCBsZWFzdCBhIGRhdGUgc2hvdWxkIGJlIHByZXNlbnQgdW5sZXNzIHRoaXMgb2JzZXJ2YXRpb24gaXMgYSBoaXN0b3JpY2FsIHJlcG9ydC4gIEZvciByZWNvcmRpbmcgaW1wcmVjaXNlIG9yICZxdW90O2Z1enp5JnF1b3Q7IHRpbWVzIChGb3IgZXhhbXBsZSwgYSBibG9vZCBnbHVjb3NlIG1lYXN1cmVtZW50IHRha2VuICZxdW90O2FmdGVyIGJyZWFrZmFzdCZxdW90OykgdXNlIHRoZSBbVGltaW5nXShodHRwOi8vaGw3Lm9yZy9maGlyL2RhdGF0eXBlcy5odG1sI3RpbWluZykgZGF0YXR5cGUgd2hpY2ggYWxsb3cgdGhlIG1lYXN1cmVtZW50IHRvIGJlIHRpZWQgdG8gcmVndWxhciBsaWZlIGV2ZW50cy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTEiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iaWYgT2JzZXJ2YXRpb24uZWZmZWN0aXZlW3hdIGlzIGRhdGVUaW1lIGFuZCBoYXMgYSB2YWx1ZSB0aGVuIHRoYXQgdmFsdWUgc2hhbGwgYmUgcHJlY2lzZSB0byB0aGUgZGF5Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249IigkdGhpcyBhcyBkYXRlVGltZSkudG9TdHJpbmcoKS5sZW5ndGgoKSA+PSA4Ii8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IldobyB3YXMgcmVzcG9uc2libGUgZm9yIGFzc2VydGluZyB0aGUgb2JzZXJ2ZWQgdmFsdWUgYXMgJnF1b3Q7dHJ1ZSZxdW90Oy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IlZpdGFsIFNpZ25zIFZhbHVlIiBkZWZpbml0aW9uPSJWaXRhbCBTaWducyB2YWx1ZSBhcmUgdHlwaWNhbGx5IHJlY29yZGVkIHVzaW5nIHRoZSBRdWFudGl0eSBkYXRhIHR5cGUuIiBjb21tZW50PSJBbiBvYnNlcnZhdGlvbiBtYXkgaGF2ZTsgMSkgIGEgc2luZ2xlIHZhbHVlIGhlcmUsIDIpICBib3RoIGEgdmFsdWUgYW5kIGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcywgIG9yIDMpICBvbmx5IGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcy4gSWYgYSB2YWx1ZSBpcyBwcmVzZW50LCB0aGUgZGF0YXR5cGUgZm9yIHRoaXMgZWxlbWVudCBzaG91bGQgYmUgZGV0ZXJtaW5lZCBieSBPYnNlcnZhdGlvbi5jb2RlLiAgQSBDb2RlYWJsZUNvbmNlcHQgd2l0aCBqdXN0IGEgdGV4dCB3b3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgYSBzdHJpbmcgaWYgdGhlIGZpZWxkIHdhcyB1c3VhbGx5IGNvZGVkLCBvciBpZiB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhlIE9ic2VydmF0aW9uLmNvZGUgZGVmaW5lcyBhIGNvZGVkIHZhbHVlLiAgRm9yIGFkZGl0aW9uYWwgZ3VpZGFuY2UsIHNlZSB0aGUgW05vdGVzIHNlY3Rpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJDb21tb24gVUNVTSB1bml0cyBmb3IgcmVjb3JkaW5nIFZpdGFsIFNpZ25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgdGhlIHJlc3VsdCBpcyBtaXNzaW5nIiBkZWZpbml0aW9uPSJQcm92aWRlcyBhIHJlYXNvbiB3aHkgdGhlIGV4cGVjdGVkIHZhbHVlIGluIHRoZSBlbGVtZW50IE9ic2VydmF0aW9uLnZhbHVlW3hdIGlzIG1pc3NpbmcuIiBjb21tZW50PSJOdWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcyBjYW4gYmUgcmVwcmVzZW50ZWQgdHdvIHdheXMgaW4gRkhJUiBPYnNlcnZhdGlvbnMuICBPbmUgd2F5IGlzIHRvIHNpbXBseSBpbmNsdWRlIHRoZW0gaW4gdGhlIHZhbHVlIHNldCBhbmQgcmVwcmVzZW50IHRoZSBleGNlcHRpb25zIGluIHRoZSB2YWx1ZS4gIEZvciBleGFtcGxlLCBtZWFzdXJlbWVudCB2YWx1ZXMgZm9yIGEgc2Vyb2xvZ3kgdGVzdCBjb3VsZCBiZSAgJnF1b3Q7ZGV0ZWN0ZWQmcXVvdDssICZxdW90O25vdCBkZXRlY3RlZCZxdW90OywgJnF1b3Q7aW5jb25jbHVzaXZlJnF1b3Q7LCBvciAgJnF1b3Q7c3BlY2ltZW4gdW5zYXRpc2ZhY3RvcnkmcXVvdDsuICAgJiN4YTsmI3hhO1RoZSBhbHRlcm5hdGUgd2F5IGlzIHRvIHVzZSB0aGUgdmFsdWUgZWxlbWVudCBmb3IgYWN0dWFsIG9ic2VydmF0aW9ucyBhbmQgdXNlIHRoZSBleHBsaWNpdCBkYXRhQWJzZW50UmVhc29uIGVsZW1lbnQgdG8gcmVjb3JkIGV4Y2VwdGlvbmFsIHZhbHVlcy4gIEZvciBleGFtcGxlLCB0aGUgZGF0YUFic2VudFJlYXNvbiBjb2RlICZxdW90O2Vycm9yJnF1b3Q7IGNvdWxkIGJlIHVzZWQgd2hlbiB0aGUgbWVhc3VyZW1lbnQgd2FzIG5vdCBjb21wbGV0ZWQuIE5vdGUgdGhhdCBhbiBvYnNlcnZhdGlvbiBtYXkgb25seSBiZSByZXBvcnRlZCBpZiB0aGVyZSBhcmUgdmFsdWVzIHRvIHJlcG9ydC4gRm9yIGV4YW1wbGUgZGlmZmVyZW50aWFsIGNlbGwgY291bnRzIHZhbHVlcyBtYXkgYmUgcmVwb3J0ZWQgb25seSB3aGVuID4gMC4gIEJlY2F1c2Ugb2YgdGhlc2Ugb3B0aW9ucywgdXNlLWNhc2UgYWdyZWVtZW50cyBhcmUgcmVxdWlyZWQgdG8gaW50ZXJwcmV0IGdlbmVyYWwgb2JzZXJ2YXRpb25zIGZvciBudWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25WYWx1ZUFic2VudFJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIHNwZWNpZnlpbmcgd2h5IHRoZSByZXN1bHQgKGBPYnNlcnZhdGlvbi52YWx1ZVt4XWApIGlzIG1pc3NpbmcuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImludGVycHJldGF0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGlnaCwgbG93LCBub3JtYWwsIGV0Yy4iIGRlZmluaXRpb249IkEgY2F0ZWdvcmljYWwgYXNzZXNzbWVudCBvZiBhbiBvYnNlcnZhdGlvbiB2YWx1ZS4gIEZvciBleGFtcGxlLCBoaWdoLCBsb3csIG5vcm1hbC4iIGNvbW1lbnQ9Ikhpc3RvcmljYWxseSB1c2VkIGZvciBsYWJvcmF0b3J5IHJlc3VsdHMgKGtub3duIGFzICdhYm5vcm1hbCBmbGFnJyApLCAgaXRzIHVzZSBleHRlbmRzIHRvIG90aGVyIHVzZSBjYXNlcyB3aGVyZSBjb2RlZCBpbnRlcnByZXRhdGlvbnMgIGFyZSByZWxldmFudC4gIE9mdGVuIHJlcG9ydGVkIGFzIG9uZSBvciBtb3JlIHNpbXBsZSBjb21wYWN0IGNvZGVzIHRoaXMgZWxlbWVudCBpcyBvZnRlbiBwbGFjZWQgYWRqYWNlbnQgdG8gdGhlIHJlc3VsdCB2YWx1ZSBpbiByZXBvcnRzIGFuZCBmbG93IHNoZWV0cyB0byBzaWduYWwgdGhlIG1lYW5pbmcvbm9ybWFsY3kgc3RhdHVzIG9mIHRoZSByZXN1bHQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uSW50ZXJwcmV0YXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBpbnRlcnByZXRhdGlvbnMgb2Ygb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24gb3IgdGhlIHJlc3VsdHMuIiBjb21tZW50PSJNYXkgaW5jbHVkZSBnZW5lcmFsIHN0YXRlbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uLCBvciBzdGF0ZW1lbnRzIGFib3V0IHNpZ25pZmljYW50LCB1bmV4cGVjdGVkIG9yIHVucmVsaWFibGUgcmVzdWx0cyB2YWx1ZXMsIG9yIGluZm9ybWF0aW9uIGFib3V0IGl0cyBzb3VyY2Ugd2hlbiByZWxldmFudCB0byBpdHMgaW50ZXJwcmV0YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik9ic2VydmVkIGJvZHkgcGFydCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBzaXRlIG9uIHRoZSBzdWJqZWN0J3MgYm9keSB3aGVyZSB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgKGkuZS4gdGhlIHRhcmdldCBzaXRlKS4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBPYnNlcnZhdGlvbi5jb2RlLiAgSW4gbWFueSBzeXN0ZW1zLCB0aGlzIG1heSBiZSByZXByZXNlbnRlZCBhcyBhIHJlbGF0ZWQgb2JzZXJ2YXRpb24gaW5zdGVhZCBvZiBhbiBpbmxpbmUgY29tcG9uZW50LiAgICYjeGE7JiN4YTtJZiB0aGUgdXNlIGNhc2UgcmVxdWlyZXMgQm9keVNpdGUgdG8gYmUgaGFuZGxlZCBhcyBhIHNlcGFyYXRlIHJlc291cmNlIChlLmcuIHRvIGlkZW50aWZ5IGFuZCB0cmFjayBzZXBhcmF0ZWx5KSB0aGVuIHVzZSB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uWyBib2R5U2l0ZV0oaHR0cDovL2hsNy5vcmcvZmhpci9leHRlbnNpb24tYm9keXNpdGUuaHRtbCkuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQm9keVNpdGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGFuYXRvbWljYWwgbG9jYXRpb25zLiBNYXkgaW5jbHVkZSBsYXRlcmFsaXR5LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBpdCB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWNoYW5pc20gdXNlZCB0byBwZXJmb3JtIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3IgT2JzZXJ2YXRpb24uY29kZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpbWVuIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlNwZWNpbWVuIHVzZWQgZm9yIHRoaXMgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSBzcGVjaW1lbiB0aGF0IHdhcyB1c2VkIHdoZW4gdGhpcyBvYnNlcnZhdGlvbiB3YXMgbWFkZS4iIGNvbW1lbnQ9IlNob3VsZCBvbmx5IGJlIHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gYE9ic2VydmF0aW9uLmNvZGVgLiAgT2JzZXJ2YXRpb25zIGFyZSBub3QgbWFkZSBvbiBzcGVjaW1lbnMgdGhlbXNlbHZlczsgdGhleSBhcmUgbWFkZSBvbiBhIHN1YmplY3QsIGJ1dCBpbiBtYW55IGNhc2VzIGJ5IHRoZSBtZWFucyBvZiBhIHNwZWNpbWVuLiBOb3RlIHRoYXQgYWx0aG91Z2ggc3BlY2ltZW5zIGFyZSBvZnRlbiBpbnZvbHZlZCwgdGhleSBhcmUgbm90IGFsd2F5cyB0cmFja2VkIGFuZCByZXBvcnRlZCBleHBsaWNpdGx5LiBBbHNvIG5vdGUgdGhhdCBvYnNlcnZhdGlvbiByZXNvdXJjZXMgbWF5IGJlIHVzZWQgaW4gY29udGV4dHMgdGhhdCB0cmFjayB0aGUgc3BlY2ltZW4gZXhwbGljaXRseSAoZS5nLiBEaWFnbm9zdGljIFJlcG9ydCkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRldmljZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoTWVhc3VyZW1lbnQpIERldmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBvYnNlcnZhdGlvbiBkYXRhLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgaXMgbm90IG1lYW50IHRvIHJlcHJlc2VudCBhIGRldmljZSBpbnZvbHZlZCBpbiB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoZSByZXN1bHQsIGUuZy4sIGEgZ2F0ZXdheS4gIFN1Y2ggZGV2aWNlcyBtYXkgYmUgZG9jdW1lbnRlZCB1c2luZyB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZSB3aGVyZSByZWxldmFudC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVmZXJlbmNlUmFuZ2UiIGRlc2NyaXB0aW9uPSJQcm92aWRlcyBndWlkZSBmb3IgaW50ZXJwcmV0YXRpb24iIGRlZmluaXRpb249Ikd1aWRhbmNlIG9uIGhvdyB0byBpbnRlcnByZXQgdGhlIHZhbHVlIGJ5IGNvbXBhcmlzb24gdG8gYSBub3JtYWwgb3IgcmVjb21tZW5kZWQgcmFuZ2UuICBNdWx0aXBsZSByZWZlcmVuY2UgcmFuZ2VzIGFyZSBpbnRlcnByZXRlZCBhcyBhbiAmcXVvdDtPUiZxdW90Oy4gICBJbiBvdGhlciB3b3JkcywgdG8gcmVwcmVzZW50IHR3byBkaXN0aW5jdCB0YXJnZXQgcG9wdWxhdGlvbnMsIHR3byBgcmVmZXJlbmNlUmFuZ2VgIGVsZW1lbnRzIHdvdWxkIGJlIHVzZWQuIiBjb21tZW50PSJNb3N0IG9ic2VydmF0aW9ucyBvbmx5IGhhdmUgb25lIGdlbmVyaWMgcmVmZXJlbmNlIHJhbmdlLiBTeXN0ZW1zIE1BWSBjaG9vc2UgdG8gcmVzdHJpY3QgdG8gb25seSBzdXBwbHlpbmcgdGhlIHJlbGV2YW50IHJlZmVyZW5jZSByYW5nZSBiYXNlZCBvbiBrbm93bGVkZ2UgYWJvdXQgdGhlIHBhdGllbnQgKGUuZy4sIHNwZWNpZmljIHRvIHRoZSBwYXRpZW50J3MgYWdlLCBnZW5kZXIsIHdlaWdodCBhbmQgb3RoZXIgZmFjdG9ycyksIGJ1dCB0aGlzIG1pZ2h0IG5vdCBiZSBwb3NzaWJsZSBvciBhcHByb3ByaWF0ZS4gV2hlbmV2ZXIgbW9yZSB0aGFuIG9uZSByZWZlcmVuY2UgcmFuZ2UgaXMgc3VwcGxpZWQsIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZW0gU0hPVUxEIGJlIHByb3ZpZGVkIGluIHRoZSByZWZlcmVuY2UgcmFuZ2UgYW5kL29yIGFnZSBwcm9wZXJ0aWVzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0ib2JzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iTXVzdCBoYXZlIGF0IGxlYXN0IGEgbG93IG9yIGEgaGlnaCBvciB0ZXh0Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Imxvdy5leGlzdHMoKSBvciBoaWdoLmV4aXN0cygpIG9yIHRleHQuZXhpc3RzKCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imhhc01lbWJlciIgZGVzY3JpcHRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cyIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyB2aXRhbCBzaWducyBwYW5lbCBjb21wb25lbnRzLiIgY29tbWVudD0iV2hlbiB1c2luZyB0aGlzIGVsZW1lbnQsIGFuIG9ic2VydmF0aW9uIHdpbGwgdHlwaWNhbGx5IGhhdmUgZWl0aGVyIGEgdmFsdWUgb3IgYSBzZXQgb2YgcmVsYXRlZCByZXNvdXJjZXMsIGFsdGhvdWdoIGJvdGggbWF5IGJlIHByZXNlbnQgaW4gc29tZSBjYXNlcy4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiAgTm90ZSB0aGF0IGEgc3lzdGVtIG1heSBjYWxjdWxhdGUgcmVzdWx0cyBmcm9tIFtRdWVzdGlvbm5haXJlUmVzcG9uc2VdKGh0dHA6Ly9obDcub3JnL2ZoaXIvcXVlc3Rpb25uYWlyZXJlc3BvbnNlLmh0bWwpICBpbnRvIGEgZmluYWwgc2NvcmUgYW5kIHJlcHJlc2VudCB0aGUgc2NvcmUgYXMgYW4gT2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXJpdmVkRnJvbSIgZGVzY3JpcHRpb249IlJlbGF0ZWQgbWVhc3VyZW1lbnRzIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGZyb20iIGRlZmluaXRpb249IlRoZSB0YXJnZXQgcmVzb3VyY2UgdGhhdCByZXByZXNlbnRzIGEgbWVhc3VyZW1lbnQgZnJvbSB3aGljaCB0aGlzIG9ic2VydmF0aW9uIHZhbHVlIGlzIGRlcml2ZWQuIEZvciBleGFtcGxlLCBhIGNhbGN1bGF0ZWQgYW5pb24gZ2FwIG9yIGEgZmV0YWwgbWVhc3VyZW1lbnQgYmFzZWQgb24gYW4gdWx0cmFzb3VuZCBpbWFnZS4iIGNvbW1lbnQ9IkFsbCB0aGUgcmVmZXJlbmNlIGNob2ljZXMgdGhhdCBhcmUgbGlzdGVkIGluIHRoaXMgZWxlbWVudCBjYW4gcmVwcmVzZW50IGNsaW5pY2FsIG9ic2VydmF0aW9ucyBhbmQgb3RoZXIgbWVhc3VyZW1lbnRzIHRoYXQgbWF5IGJlIHRoZSBzb3VyY2UgZm9yIGEgZGVyaXZlZCB2YWx1ZS4gIFRoZSBtb3N0IGNvbW1vbiByZWZlcmVuY2Ugd2lsbCBiZSBhbm90aGVyIE9ic2VydmF0aW9uLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb21wb25lbnQiIGRlc2NyaXB0aW9uPSJDb21wb25lbnQgb2JzZXJ2YXRpb25zIiBkZWZpbml0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIGNvbXBvbmVudCBvYnNlcnZhdGlvbiBzdWNoIGFzIHN5c3RvbGljIGFuZCBkaWFzdG9saWMgYmxvb2QgcHJlc3N1cmUuIiBjb21tZW50PSJGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYmUgYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5Db21wb25lbnQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ2cy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IklmIHRoZXJlIGlzIG5vIGEgdmFsdWUgYSBkYXRhIGFic2VudCByZWFzb24gbXVzdCBiZSBwcmVzZW50Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InZhbHVlLmV4aXN0cygpIG9yIGRhdGFBYnNlbnRSZWFzb24uZXhpc3RzKCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlQm9keVdlaWdodFByb2ZpbGUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtYm9keS13ZWlnaHQiIGxhYmVsPSJVUyBDb3JlIEJvZHkgV2VpZ2h0IFByb2ZpbGUiIHRhcmdldD0iT2JzZXJ2YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IlBhcnQgb2YgcmVmZXJlbmNlZCBldmVudCIgZGVmaW5pdGlvbj0iQSBsYXJnZXIgZXZlbnQgb2Ygd2hpY2ggdGhpcyBwYXJ0aWN1bGFyIE9ic2VydmF0aW9uIGlzIGEgY29tcG9uZW50IG9yIHN0ZXAuICBGb3IgZXhhbXBsZSwgIGFuIG9ic2VydmF0aW9uIGFzIHBhcnQgb2YgYSBwcm9jZWR1cmUuIiBjb21tZW50PSJUbyBsaW5rIGFuIE9ic2VydmF0aW9uIHRvIGFuIEVuY291bnRlciB1c2UgYGVuY291bnRlcmAuICBTZWUgdGhlICBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cgZm9yIGd1aWRhbmNlIG9uIHJlZmVyZW5jaW5nIGFub3RoZXIgT2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InJlZ2lzdGVyZWQgfCBwcmVsaW1pbmFyeSB8IGZpbmFsIHwgYW1lbmRlZCArIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSByZXN1bHQgdmFsdWUuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlN0YXR1cyIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iVlNDYXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXBhcmVudC5jYXRlZ29yeVtjb2Rpbmcuc3lzdGVtPSdodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL29ic2VydmF0aW9uLWNhdGVnb3J5Jyxjb2RpbmcuY29kZT0ndml0YWwtc2lnbnMnXSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJCb2R5IFdlaWdodCIgZGVmaW5pdGlvbj0iQ29kZWQgUmVzcG9uc2VzIGZyb20gQy1DREEgVml0YWwgU2lnbiBSZXN1bHRzLiIgY29tbWVudD0iKkFsbCogY29kZS12YWx1ZSBhbmQsIGlmIHByZXNlbnQsIGNvbXBvbmVudC5jb2RlLWNvbXBvbmVudC52YWx1ZSBwYWlycyBuZWVkIHRvIGJlIHRha2VuIGludG8gYWNjb3VudCB0byBjb3JyZWN0bHkgdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGUgdml0YWwgc2lnbiBjb2RlcyBmcm9tIHRoZSBiYXNlIEZISVIgYW5kIFVTIENvcmUgVml0YWwgU2lnbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIGFuZC9vciB3aGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCIgZGVmaW5pdGlvbj0iVGhlIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIHRoaXMgb2JzZXJ2YXRpb24gaXMgYWJvdXQgYW5kIGludG8gd2hvc2UgcmVjb3JkIHRoZSBvYnNlcnZhdGlvbiBpcyBwbGFjZWQuIElmIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBzdWJqZWN0IChvciBhIHNhbXBsZSBvZiwgcGFydCwgb3IgcmVnaW9uIG9mIHRoZSBzdWJqZWN0KSwgdGhlIGBmb2N1c2AgZWxlbWVudCBvciB0aGUgYGNvZGVgIGl0c2VsZiBzcGVjaWZpZXMgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmUgd291bGQgZXhwZWN0IHRoaXMgZWxlbWVudCB0byBiZSBhIGNhcmRpbmFsaXR5IG9mIDEuLjEuIFRoZSBvbmx5IGNpcmN1bXN0YW5jZSBpbiB3aGljaCB0aGUgc3ViamVjdCBjYW4gYmUgbWlzc2luZyBpcyB3aGVuIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGJ5IGEgZGV2aWNlIHRoYXQgZG9lcyBub3Qga25vdyB0aGUgcGF0aWVudC4gSW4gdGhpcyBjYXNlLCB0aGUgb2JzZXJ2YXRpb24gU0hBTEwgYmUgbWF0Y2hlZCB0byBhIHBhdGllbnQgdGhyb3VnaCBzb21lIGNvbnRleHQvY2hhbm5lbCBtYXRjaGluZyB0ZWNobmlxdWUsIGFuZCBhdCB0aGlzIHBvaW50LCB0aGUgb2JzZXJ2YXRpb24gc2hvdWxkIGJlIHVwZGF0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJmb2N1cyIgZGVzY3JpcHRpb249IldoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0LCB3aGVuIGl0IGlzIG5vdCBhYm91dCB0aGUgc3ViamVjdCBvZiByZWNvcmQiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gd2hlbiBpdCBpcyBub3QgdGhlIHBhdGllbnQgb2YgcmVjb3JkIHJlcHJlc2VudGluZyBzb21ldGhpbmcgb3Igc29tZW9uZSBhc3NvY2lhdGVkIHdpdGggdGhlIHBhdGllbnQgc3VjaCBhcyBhIHNwb3VzZSwgcGFyZW50LCBmZXR1cywgb3IgZG9ub3IuIEZvciBleGFtcGxlLCBmZXR1cyBvYnNlcnZhdGlvbnMgaW4gYSBtb3RoZXIncyByZWNvcmQuICBUaGUgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gY291bGQgYWxzbyBiZSBhbiBleGlzdGluZyBjb25kaXRpb24sICBhbiBpbnRlcnZlbnRpb24sIHRoZSBzdWJqZWN0J3MgZGlldCwgIGFub3RoZXIgb2JzZXJ2YXRpb24gb2YgdGhlIHN1YmplY3QsICBvciBhIGJvZHkgc3RydWN0dXJlIHN1Y2ggYXMgdHVtb3Igb3IgaW1wbGFudGVkIGRldmljZS4gICBBbiBleGFtcGxlIHVzZSBjYXNlIHdvdWxkIGJlIHVzaW5nIHRoZSBPYnNlcnZhdGlvbiByZXNvdXJjZSB0byBjYXB0dXJlIHdoZXRoZXIgdGhlIG1vdGhlciBpcyB0cmFpbmVkIHRvIGNoYW5nZSBoZXIgY2hpbGQncyB0cmFjaGVvc3RvbXkgdHViZS4gSW4gdGhpcyBleGFtcGxlLCB0aGUgY2hpbGQgaXMgdGhlIHBhdGllbnQgb2YgcmVjb3JkIGFuZCB0aGUgbW90aGVyIGlzIHRoZSBmb2N1cy4iIGNvbW1lbnQ9IlR5cGljYWxseSwgYW4gb2JzZXJ2YXRpb24gaXMgbWFkZSBhYm91dCB0aGUgc3ViamVjdCAtIGEgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgLSBhbmQgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhlIHN1YmplY3QgYW5kIHdoYXQgaXMgZGlyZWN0bHkgbWVhc3VyZWQgZm9yIGFuIG9ic2VydmF0aW9uIGlzIHNwZWNpZmllZCBpbiB0aGUgb2JzZXJ2YXRpb24gY29kZSBpdHNlbGYgKCBlLmcuLCAmcXVvdDtCbG9vZCBHbHVjb3NlJnF1b3Q7KSBhbmQgZG9lcyBub3QgbmVlZCB0byBiZSByZXByZXNlbnRlZCBzZXBhcmF0ZWx5IHVzaW5nIHRoaXMgZWxlbWVudC4gIFVzZSBgc3BlY2ltZW5gIGlmIGEgcmVmZXJlbmNlIHRvIGEgc3BlY2ltZW4gaXMgcmVxdWlyZWQuICBJZiBhIGNvZGUgaXMgcmVxdWlyZWQgaW5zdGVhZCBvZiBhIHJlc291cmNlIHVzZSBlaXRoZXIgIGBib2R5c2l0ZWAgZm9yIGJvZHlzaXRlcyBvciB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtmb2N1c0NvZGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLW9ic2VydmF0aW9uLWZvY3VzY29kZS5odG1sKS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJIZWFsdGhjYXJlIGV2ZW50IGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUiIGRlZmluaXRpb249IlRoZSBoZWFsdGhjYXJlIGV2ZW50ICAoZS5nLiBhIHBhdGllbnQgYW5kIGhlYWx0aGNhcmUgcHJvdmlkZXIgaW50ZXJhY3Rpb24pIGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgZXZlbnRzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIgKGUuZy4gcHJlLWFkbWlzc2lvbiBsYWJvcmF0b3J5IHRlc3RzKS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik9mdGVuIGp1c3QgYSBkYXRlVGltZSBmb3IgVml0YWwgU2lnbnMiIGRlZmluaXRpb249Ik9mdGVuIGp1c3QgYSBkYXRlVGltZSBmb3IgVml0YWwgU2lnbnMuIiBjb21tZW50PSJBdCBsZWFzdCBhIGRhdGUgc2hvdWxkIGJlIHByZXNlbnQgdW5sZXNzIHRoaXMgb2JzZXJ2YXRpb24gaXMgYSBoaXN0b3JpY2FsIHJlcG9ydC4gIEZvciByZWNvcmRpbmcgaW1wcmVjaXNlIG9yICZxdW90O2Z1enp5JnF1b3Q7IHRpbWVzIChGb3IgZXhhbXBsZSwgYSBibG9vZCBnbHVjb3NlIG1lYXN1cmVtZW50IHRha2VuICZxdW90O2FmdGVyIGJyZWFrZmFzdCZxdW90OykgdXNlIHRoZSBbVGltaW5nXShodHRwOi8vaGw3Lm9yZy9maGlyL2RhdGF0eXBlcy5odG1sI3RpbWluZykgZGF0YXR5cGUgd2hpY2ggYWxsb3cgdGhlIG1lYXN1cmVtZW50IHRvIGJlIHRpZWQgdG8gcmVndWxhciBsaWZlIGV2ZW50cy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTEiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iaWYgT2JzZXJ2YXRpb24uZWZmZWN0aXZlW3hdIGlzIGRhdGVUaW1lIGFuZCBoYXMgYSB2YWx1ZSB0aGVuIHRoYXQgdmFsdWUgc2hhbGwgYmUgcHJlY2lzZSB0byB0aGUgZGF5Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249IigkdGhpcyBhcyBkYXRlVGltZSkudG9TdHJpbmcoKS5sZW5ndGgoKSA+PSA4Ii8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IldobyB3YXMgcmVzcG9uc2libGUgZm9yIGFzc2VydGluZyB0aGUgb2JzZXJ2ZWQgdmFsdWUgYXMgJnF1b3Q7dHJ1ZSZxdW90Oy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IlZpdGFsIFNpZ25zIFZhbHVlIiBkZWZpbml0aW9uPSJWaXRhbCBTaWducyB2YWx1ZSBhcmUgdHlwaWNhbGx5IHJlY29yZGVkIHVzaW5nIHRoZSBRdWFudGl0eSBkYXRhIHR5cGUuIiBjb21tZW50PSJBbiBvYnNlcnZhdGlvbiBtYXkgaGF2ZTsgMSkgIGEgc2luZ2xlIHZhbHVlIGhlcmUsIDIpICBib3RoIGEgdmFsdWUgYW5kIGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcywgIG9yIDMpICBvbmx5IGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcy4gSWYgYSB2YWx1ZSBpcyBwcmVzZW50LCB0aGUgZGF0YXR5cGUgZm9yIHRoaXMgZWxlbWVudCBzaG91bGQgYmUgZGV0ZXJtaW5lZCBieSBPYnNlcnZhdGlvbi5jb2RlLiAgQSBDb2RlYWJsZUNvbmNlcHQgd2l0aCBqdXN0IGEgdGV4dCB3b3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgYSBzdHJpbmcgaWYgdGhlIGZpZWxkIHdhcyB1c3VhbGx5IGNvZGVkLCBvciBpZiB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhlIE9ic2VydmF0aW9uLmNvZGUgZGVmaW5lcyBhIGNvZGVkIHZhbHVlLiAgRm9yIGFkZGl0aW9uYWwgZ3VpZGFuY2UsIHNlZSB0aGUgW05vdGVzIHNlY3Rpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJDb21tb24gVUNVTSB1bml0cyBmb3IgcmVjb3JkaW5nIFZpdGFsIFNpZ25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgdGhlIHJlc3VsdCBpcyBtaXNzaW5nIiBkZWZpbml0aW9uPSJQcm92aWRlcyBhIHJlYXNvbiB3aHkgdGhlIGV4cGVjdGVkIHZhbHVlIGluIHRoZSBlbGVtZW50IE9ic2VydmF0aW9uLnZhbHVlW3hdIGlzIG1pc3NpbmcuIiBjb21tZW50PSJOdWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcyBjYW4gYmUgcmVwcmVzZW50ZWQgdHdvIHdheXMgaW4gRkhJUiBPYnNlcnZhdGlvbnMuICBPbmUgd2F5IGlzIHRvIHNpbXBseSBpbmNsdWRlIHRoZW0gaW4gdGhlIHZhbHVlIHNldCBhbmQgcmVwcmVzZW50IHRoZSBleGNlcHRpb25zIGluIHRoZSB2YWx1ZS4gIEZvciBleGFtcGxlLCBtZWFzdXJlbWVudCB2YWx1ZXMgZm9yIGEgc2Vyb2xvZ3kgdGVzdCBjb3VsZCBiZSAgJnF1b3Q7ZGV0ZWN0ZWQmcXVvdDssICZxdW90O25vdCBkZXRlY3RlZCZxdW90OywgJnF1b3Q7aW5jb25jbHVzaXZlJnF1b3Q7LCBvciAgJnF1b3Q7c3BlY2ltZW4gdW5zYXRpc2ZhY3RvcnkmcXVvdDsuICAgJiN4YTsmI3hhO1RoZSBhbHRlcm5hdGUgd2F5IGlzIHRvIHVzZSB0aGUgdmFsdWUgZWxlbWVudCBmb3IgYWN0dWFsIG9ic2VydmF0aW9ucyBhbmQgdXNlIHRoZSBleHBsaWNpdCBkYXRhQWJzZW50UmVhc29uIGVsZW1lbnQgdG8gcmVjb3JkIGV4Y2VwdGlvbmFsIHZhbHVlcy4gIEZvciBleGFtcGxlLCB0aGUgZGF0YUFic2VudFJlYXNvbiBjb2RlICZxdW90O2Vycm9yJnF1b3Q7IGNvdWxkIGJlIHVzZWQgd2hlbiB0aGUgbWVhc3VyZW1lbnQgd2FzIG5vdCBjb21wbGV0ZWQuIE5vdGUgdGhhdCBhbiBvYnNlcnZhdGlvbiBtYXkgb25seSBiZSByZXBvcnRlZCBpZiB0aGVyZSBhcmUgdmFsdWVzIHRvIHJlcG9ydC4gRm9yIGV4YW1wbGUgZGlmZmVyZW50aWFsIGNlbGwgY291bnRzIHZhbHVlcyBtYXkgYmUgcmVwb3J0ZWQgb25seSB3aGVuID4gMC4gIEJlY2F1c2Ugb2YgdGhlc2Ugb3B0aW9ucywgdXNlLWNhc2UgYWdyZWVtZW50cyBhcmUgcmVxdWlyZWQgdG8gaW50ZXJwcmV0IGdlbmVyYWwgb2JzZXJ2YXRpb25zIGZvciBudWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25WYWx1ZUFic2VudFJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIHNwZWNpZnlpbmcgd2h5IHRoZSByZXN1bHQgKGBPYnNlcnZhdGlvbi52YWx1ZVt4XWApIGlzIG1pc3NpbmcuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImludGVycHJldGF0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGlnaCwgbG93LCBub3JtYWwsIGV0Yy4iIGRlZmluaXRpb249IkEgY2F0ZWdvcmljYWwgYXNzZXNzbWVudCBvZiBhbiBvYnNlcnZhdGlvbiB2YWx1ZS4gIEZvciBleGFtcGxlLCBoaWdoLCBsb3csIG5vcm1hbC4iIGNvbW1lbnQ9Ikhpc3RvcmljYWxseSB1c2VkIGZvciBsYWJvcmF0b3J5IHJlc3VsdHMgKGtub3duIGFzICdhYm5vcm1hbCBmbGFnJyApLCAgaXRzIHVzZSBleHRlbmRzIHRvIG90aGVyIHVzZSBjYXNlcyB3aGVyZSBjb2RlZCBpbnRlcnByZXRhdGlvbnMgIGFyZSByZWxldmFudC4gIE9mdGVuIHJlcG9ydGVkIGFzIG9uZSBvciBtb3JlIHNpbXBsZSBjb21wYWN0IGNvZGVzIHRoaXMgZWxlbWVudCBpcyBvZnRlbiBwbGFjZWQgYWRqYWNlbnQgdG8gdGhlIHJlc3VsdCB2YWx1ZSBpbiByZXBvcnRzIGFuZCBmbG93IHNoZWV0cyB0byBzaWduYWwgdGhlIG1lYW5pbmcvbm9ybWFsY3kgc3RhdHVzIG9mIHRoZSByZXN1bHQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uSW50ZXJwcmV0YXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBpbnRlcnByZXRhdGlvbnMgb2Ygb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24gb3IgdGhlIHJlc3VsdHMuIiBjb21tZW50PSJNYXkgaW5jbHVkZSBnZW5lcmFsIHN0YXRlbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uLCBvciBzdGF0ZW1lbnRzIGFib3V0IHNpZ25pZmljYW50LCB1bmV4cGVjdGVkIG9yIHVucmVsaWFibGUgcmVzdWx0cyB2YWx1ZXMsIG9yIGluZm9ybWF0aW9uIGFib3V0IGl0cyBzb3VyY2Ugd2hlbiByZWxldmFudCB0byBpdHMgaW50ZXJwcmV0YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik9ic2VydmVkIGJvZHkgcGFydCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBzaXRlIG9uIHRoZSBzdWJqZWN0J3MgYm9keSB3aGVyZSB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgKGkuZS4gdGhlIHRhcmdldCBzaXRlKS4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBPYnNlcnZhdGlvbi5jb2RlLiAgSW4gbWFueSBzeXN0ZW1zLCB0aGlzIG1heSBiZSByZXByZXNlbnRlZCBhcyBhIHJlbGF0ZWQgb2JzZXJ2YXRpb24gaW5zdGVhZCBvZiBhbiBpbmxpbmUgY29tcG9uZW50LiAgICYjeGE7JiN4YTtJZiB0aGUgdXNlIGNhc2UgcmVxdWlyZXMgQm9keVNpdGUgdG8gYmUgaGFuZGxlZCBhcyBhIHNlcGFyYXRlIHJlc291cmNlIChlLmcuIHRvIGlkZW50aWZ5IGFuZCB0cmFjayBzZXBhcmF0ZWx5KSB0aGVuIHVzZSB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uWyBib2R5U2l0ZV0oaHR0cDovL2hsNy5vcmcvZmhpci9leHRlbnNpb24tYm9keXNpdGUuaHRtbCkuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQm9keVNpdGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGFuYXRvbWljYWwgbG9jYXRpb25zLiBNYXkgaW5jbHVkZSBsYXRlcmFsaXR5LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBpdCB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWNoYW5pc20gdXNlZCB0byBwZXJmb3JtIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3IgT2JzZXJ2YXRpb24uY29kZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpbWVuIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlNwZWNpbWVuIHVzZWQgZm9yIHRoaXMgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSBzcGVjaW1lbiB0aGF0IHdhcyB1c2VkIHdoZW4gdGhpcyBvYnNlcnZhdGlvbiB3YXMgbWFkZS4iIGNvbW1lbnQ9IlNob3VsZCBvbmx5IGJlIHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gYE9ic2VydmF0aW9uLmNvZGVgLiAgT2JzZXJ2YXRpb25zIGFyZSBub3QgbWFkZSBvbiBzcGVjaW1lbnMgdGhlbXNlbHZlczsgdGhleSBhcmUgbWFkZSBvbiBhIHN1YmplY3QsIGJ1dCBpbiBtYW55IGNhc2VzIGJ5IHRoZSBtZWFucyBvZiBhIHNwZWNpbWVuLiBOb3RlIHRoYXQgYWx0aG91Z2ggc3BlY2ltZW5zIGFyZSBvZnRlbiBpbnZvbHZlZCwgdGhleSBhcmUgbm90IGFsd2F5cyB0cmFja2VkIGFuZCByZXBvcnRlZCBleHBsaWNpdGx5LiBBbHNvIG5vdGUgdGhhdCBvYnNlcnZhdGlvbiByZXNvdXJjZXMgbWF5IGJlIHVzZWQgaW4gY29udGV4dHMgdGhhdCB0cmFjayB0aGUgc3BlY2ltZW4gZXhwbGljaXRseSAoZS5nLiBEaWFnbm9zdGljIFJlcG9ydCkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRldmljZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoTWVhc3VyZW1lbnQpIERldmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBvYnNlcnZhdGlvbiBkYXRhLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgaXMgbm90IG1lYW50IHRvIHJlcHJlc2VudCBhIGRldmljZSBpbnZvbHZlZCBpbiB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoZSByZXN1bHQsIGUuZy4sIGEgZ2F0ZXdheS4gIFN1Y2ggZGV2aWNlcyBtYXkgYmUgZG9jdW1lbnRlZCB1c2luZyB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZSB3aGVyZSByZWxldmFudC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVmZXJlbmNlUmFuZ2UiIGRlc2NyaXB0aW9uPSJQcm92aWRlcyBndWlkZSBmb3IgaW50ZXJwcmV0YXRpb24iIGRlZmluaXRpb249Ikd1aWRhbmNlIG9uIGhvdyB0byBpbnRlcnByZXQgdGhlIHZhbHVlIGJ5IGNvbXBhcmlzb24gdG8gYSBub3JtYWwgb3IgcmVjb21tZW5kZWQgcmFuZ2UuICBNdWx0aXBsZSByZWZlcmVuY2UgcmFuZ2VzIGFyZSBpbnRlcnByZXRlZCBhcyBhbiAmcXVvdDtPUiZxdW90Oy4gICBJbiBvdGhlciB3b3JkcywgdG8gcmVwcmVzZW50IHR3byBkaXN0aW5jdCB0YXJnZXQgcG9wdWxhdGlvbnMsIHR3byBgcmVmZXJlbmNlUmFuZ2VgIGVsZW1lbnRzIHdvdWxkIGJlIHVzZWQuIiBjb21tZW50PSJNb3N0IG9ic2VydmF0aW9ucyBvbmx5IGhhdmUgb25lIGdlbmVyaWMgcmVmZXJlbmNlIHJhbmdlLiBTeXN0ZW1zIE1BWSBjaG9vc2UgdG8gcmVzdHJpY3QgdG8gb25seSBzdXBwbHlpbmcgdGhlIHJlbGV2YW50IHJlZmVyZW5jZSByYW5nZSBiYXNlZCBvbiBrbm93bGVkZ2UgYWJvdXQgdGhlIHBhdGllbnQgKGUuZy4sIHNwZWNpZmljIHRvIHRoZSBwYXRpZW50J3MgYWdlLCBnZW5kZXIsIHdlaWdodCBhbmQgb3RoZXIgZmFjdG9ycyksIGJ1dCB0aGlzIG1pZ2h0IG5vdCBiZSBwb3NzaWJsZSBvciBhcHByb3ByaWF0ZS4gV2hlbmV2ZXIgbW9yZSB0aGFuIG9uZSByZWZlcmVuY2UgcmFuZ2UgaXMgc3VwcGxpZWQsIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZW0gU0hPVUxEIGJlIHByb3ZpZGVkIGluIHRoZSByZWZlcmVuY2UgcmFuZ2UgYW5kL29yIGFnZSBwcm9wZXJ0aWVzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0ib2JzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iTXVzdCBoYXZlIGF0IGxlYXN0IGEgbG93IG9yIGEgaGlnaCBvciB0ZXh0Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Imxvdy5leGlzdHMoKSBvciBoaWdoLmV4aXN0cygpIG9yIHRleHQuZXhpc3RzKCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imhhc01lbWJlciIgZGVzY3JpcHRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cyIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyB2aXRhbCBzaWducyBwYW5lbCBjb21wb25lbnRzLiIgY29tbWVudD0iV2hlbiB1c2luZyB0aGlzIGVsZW1lbnQsIGFuIG9ic2VydmF0aW9uIHdpbGwgdHlwaWNhbGx5IGhhdmUgZWl0aGVyIGEgdmFsdWUgb3IgYSBzZXQgb2YgcmVsYXRlZCByZXNvdXJjZXMsIGFsdGhvdWdoIGJvdGggbWF5IGJlIHByZXNlbnQgaW4gc29tZSBjYXNlcy4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiAgTm90ZSB0aGF0IGEgc3lzdGVtIG1heSBjYWxjdWxhdGUgcmVzdWx0cyBmcm9tIFtRdWVzdGlvbm5haXJlUmVzcG9uc2VdKGh0dHA6Ly9obDcub3JnL2ZoaXIvcXVlc3Rpb25uYWlyZXJlc3BvbnNlLmh0bWwpICBpbnRvIGEgZmluYWwgc2NvcmUgYW5kIHJlcHJlc2VudCB0aGUgc2NvcmUgYXMgYW4gT2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXJpdmVkRnJvbSIgZGVzY3JpcHRpb249IlJlbGF0ZWQgbWVhc3VyZW1lbnRzIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGZyb20iIGRlZmluaXRpb249IlRoZSB0YXJnZXQgcmVzb3VyY2UgdGhhdCByZXByZXNlbnRzIGEgbWVhc3VyZW1lbnQgZnJvbSB3aGljaCB0aGlzIG9ic2VydmF0aW9uIHZhbHVlIGlzIGRlcml2ZWQuIEZvciBleGFtcGxlLCBhIGNhbGN1bGF0ZWQgYW5pb24gZ2FwIG9yIGEgZmV0YWwgbWVhc3VyZW1lbnQgYmFzZWQgb24gYW4gdWx0cmFzb3VuZCBpbWFnZS4iIGNvbW1lbnQ9IkFsbCB0aGUgcmVmZXJlbmNlIGNob2ljZXMgdGhhdCBhcmUgbGlzdGVkIGluIHRoaXMgZWxlbWVudCBjYW4gcmVwcmVzZW50IGNsaW5pY2FsIG9ic2VydmF0aW9ucyBhbmQgb3RoZXIgbWVhc3VyZW1lbnRzIHRoYXQgbWF5IGJlIHRoZSBzb3VyY2UgZm9yIGEgZGVyaXZlZCB2YWx1ZS4gIFRoZSBtb3N0IGNvbW1vbiByZWZlcmVuY2Ugd2lsbCBiZSBhbm90aGVyIE9ic2VydmF0aW9uLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb21wb25lbnQiIGRlc2NyaXB0aW9uPSJDb21wb25lbnQgb2JzZXJ2YXRpb25zIiBkZWZpbml0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIGNvbXBvbmVudCBvYnNlcnZhdGlvbiBzdWNoIGFzIHN5c3RvbGljIGFuZCBkaWFzdG9saWMgYmxvb2QgcHJlc3N1cmUuIiBjb21tZW50PSJGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYmUgYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5Db21wb25lbnQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ2cy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IklmIHRoZXJlIGlzIG5vIGEgdmFsdWUgYSBkYXRhIGFic2VudCByZWFzb24gbXVzdCBiZSBwcmVzZW50Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InZhbHVlLmV4aXN0cygpIG9yIGRhdGFBYnNlbnRSZWFzb24uZXhpc3RzKCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkV4dGVuc2lvbiIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVTQ29yZUV0aG5pY2l0eUV4dGVuc2lvbiIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vdXMtY29yZS1ldGhuaWNpdHkiIGxhYmVsPSJVUyBDb3JlIEV0aG5pY2l0eSBFeHRlbnNpb24iIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9Im9tYkNhdGVnb3J5IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCVwYXJlbnQuZXh0ZW5zaW9uW3VybD0nb21iQ2F0ZWdvcnknXS52YWx1ZSkiIGRlc2NyaXB0aW9uPSJIaXNwYW5pYyBvciBMYXRpbm98Tm90IEhpc3BhbmljIG9yIExhdGlubyIgZGVmaW5pdGlvbj0iVGhlIDIgZXRobmljaXR5IGNhdGVnb3J5IGNvZGVzIGFjY29yZGluZyB0byB0aGUgW09NQiBTdGFuZGFyZHMgZm9yIE1haW50YWluaW5nLCBDb2xsZWN0aW5nLCBhbmQgUHJlc2VudGluZyBGZWRlcmFsIERhdGEgb24gUmFjZSBhbmQgRXRobmljaXR5LCBTdGF0aXN0aWNhbCBQb2xpY3kgRGlyZWN0aXZlIE5vLiAxNSwgYXMgcmV2aXNlZCwgT2N0b2JlciAzMCwgMTk5N10oaHR0cHM6Ly93d3cuZ292aW5mby5nb3YvY29udGVudC9wa2cvRlItMTk5Ny0xMC0zMC9wZGYvOTctMjg2NTMucGRmKS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRldGFpbGVkIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29kZSglcGFyZW50LmV4dGVuc2lvblt1cmw9J2RldGFpbGVkJ10udmFsdWUpIiBkZXNjcmlwdGlvbj0iRXh0ZW5kZWQgZXRobmljaXR5IGNvZGVzIiBkZWZpbml0aW9uPSJUaGUgNDEgQ0RDIGV0aG5pY2l0eSBjb2RlcyB0aGF0IGFyZSBncm91cGVkIHVuZGVyIG9uZSBvZiB0aGUgMiBPTUIgZXRobmljaXR5IGNhdGVnb3J5IGNvZGVzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvZGUiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InRleHQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiVwYXJlbnQuZXh0ZW5zaW9uW3VybD0ndGV4dCddLnZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iZXRobmljaXR5IFRleHQiIGRlZmluaXRpb249IlBsYWluIHRleHQgcmVwcmVzZW50YXRpb24gb2YgdGhlIGV0aG5pY2l0eSBjb25jZXB0KHMpLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0idXJsIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJpZGVudGlmaWVzIHRoZSBtZWFuaW5nIG9mIHRoZSBleHRlbnNpb24iIGRlZmluaXRpb249IlNvdXJjZSBvZiB0aGUgZGVmaW5pdGlvbiBmb3IgdGhlIGV4dGVuc2lvbiBjb2RlIC0gYSBsb2dpY2FsIG5hbWUgb3IgYSBVUkwuIiBjb21tZW50PSJUaGUgZGVmaW5pdGlvbiBtYXkgcG9pbnQgZGlyZWN0bHkgdG8gYSBjb21wdXRhYmxlIG9yIGh1bWFuLXJlYWRhYmxlIGRlZmluaXRpb24gb2YgdGhlIGV4dGVuc2liaWxpdHkgY29kZXMsIG9yIGl0IG1heSBiZSBhIGxvZ2ljYWwgVVJJIGFzIGRlY2xhcmVkIGluIHNvbWUgb3RoZXIgc3BlY2lmaWNhdGlvbi4gVGhlIGRlZmluaXRpb24gU0hBTEwgYmUgYSBVUkkgZm9yIHRoZSBTdHJ1Y3R1cmUgRGVmaW5pdGlvbiBkZWZpbmluZyB0aGUgZXh0ZW5zaW9uLiIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJVU0NvcmVFeHRlbnNpb25RdWVzdGlvbm5haXJlVXJpIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLWV4dGVuc2lvbi1xdWVzdGlvbm5haXJlLXVyaSIgbGFiZWw9IlVTIENvcmUgRXh0ZW5zaW9uIFF1ZXN0aW9ubmFpcmUgVVJJIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJVU0NvcmVHZW5kZXJJZGVudGl0eUV4dGVuc2lvbiIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vdXMtY29yZS1nZW5kZXJJZGVudGl0eSIgbGFiZWw9IlVTIENvcmUgR2VuZGVyIElkZW50aXR5IEV4dGVuc2lvbiIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlSGVhZENpcmN1bWZlcmVuY2VQcm9maWxlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLWhlYWQtY2lyY3VtZmVyZW5jZSIgbGFiZWw9IlVTIENvcmUgSGVhZCBDaXJjdW1mZXJlbmNlIFByb2ZpbGUiIHRhcmdldD0iT2JzZXJ2YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IlBhcnQgb2YgcmVmZXJlbmNlZCBldmVudCIgZGVmaW5pdGlvbj0iQSBsYXJnZXIgZXZlbnQgb2Ygd2hpY2ggdGhpcyBwYXJ0aWN1bGFyIE9ic2VydmF0aW9uIGlzIGEgY29tcG9uZW50IG9yIHN0ZXAuICBGb3IgZXhhbXBsZSwgIGFuIG9ic2VydmF0aW9uIGFzIHBhcnQgb2YgYSBwcm9jZWR1cmUuIiBjb21tZW50PSJUbyBsaW5rIGFuIE9ic2VydmF0aW9uIHRvIGFuIEVuY291bnRlciB1c2UgYGVuY291bnRlcmAuICBTZWUgdGhlICBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cgZm9yIGd1aWRhbmNlIG9uIHJlZmVyZW5jaW5nIGFub3RoZXIgT2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InJlZ2lzdGVyZWQgfCBwcmVsaW1pbmFyeSB8IGZpbmFsIHwgYW1lbmRlZCArIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSByZXN1bHQgdmFsdWUuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlN0YXR1cyIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iVlNDYXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXBhcmVudC5jYXRlZ29yeVtjb2Rpbmcuc3lzdGVtPSdodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL29ic2VydmF0aW9uLWNhdGVnb3J5Jyxjb2RpbmcuY29kZT0ndml0YWwtc2lnbnMnXSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIZWFkIENpcmN1bWZlcmVuY2UiIGRlZmluaXRpb249IkNvZGVkIFJlc3BvbnNlcyBmcm9tIEMtQ0RBIFZpdGFsIFNpZ24gUmVzdWx0cy4iIGNvbW1lbnQ9IipBbGwqIGNvZGUtdmFsdWUgYW5kLCBpZiBwcmVzZW50LCBjb21wb25lbnQuY29kZS1jb21wb25lbnQudmFsdWUgcGFpcnMgbmVlZCB0byBiZSB0YWtlbiBpbnRvIGFjY291bnQgdG8gY29ycmVjdGx5IHVuZGVyc3RhbmQgdGhlIG1lYW5pbmcgb2YgdGhlIG9ic2VydmF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhlIHZpdGFsIHNpZ24gY29kZXMgZnJvbSB0aGUgYmFzZSBGSElSIGFuZCBVUyBDb3JlIFZpdGFsIFNpZ25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jdXMiIGRlc2NyaXB0aW9uPSJXaGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCwgd2hlbiBpdCBpcyBub3QgYWJvdXQgdGhlIHN1YmplY3Qgb2YgcmVjb3JkIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIHdoZW4gaXQgaXMgbm90IHRoZSBwYXRpZW50IG9mIHJlY29yZCByZXByZXNlbnRpbmcgc29tZXRoaW5nIG9yIHNvbWVvbmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYXRpZW50IHN1Y2ggYXMgYSBzcG91c2UsIHBhcmVudCwgZmV0dXMsIG9yIGRvbm9yLiBGb3IgZXhhbXBsZSwgZmV0dXMgb2JzZXJ2YXRpb25zIGluIGEgbW90aGVyJ3MgcmVjb3JkLiAgVGhlIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIGNvdWxkIGFsc28gYmUgYW4gZXhpc3RpbmcgY29uZGl0aW9uLCAgYW4gaW50ZXJ2ZW50aW9uLCB0aGUgc3ViamVjdCdzIGRpZXQsICBhbm90aGVyIG9ic2VydmF0aW9uIG9mIHRoZSBzdWJqZWN0LCAgb3IgYSBib2R5IHN0cnVjdHVyZSBzdWNoIGFzIHR1bW9yIG9yIGltcGxhbnRlZCBkZXZpY2UuICAgQW4gZXhhbXBsZSB1c2UgY2FzZSB3b3VsZCBiZSB1c2luZyB0aGUgT2JzZXJ2YXRpb24gcmVzb3VyY2UgdG8gY2FwdHVyZSB3aGV0aGVyIHRoZSBtb3RoZXIgaXMgdHJhaW5lZCB0byBjaGFuZ2UgaGVyIGNoaWxkJ3MgdHJhY2hlb3N0b215IHR1YmUuIEluIHRoaXMgZXhhbXBsZSwgdGhlIGNoaWxkIGlzIHRoZSBwYXRpZW50IG9mIHJlY29yZCBhbmQgdGhlIG1vdGhlciBpcyB0aGUgZm9jdXMuIiBjb21tZW50PSJUeXBpY2FsbHksIGFuIG9ic2VydmF0aW9uIGlzIG1hZGUgYWJvdXQgdGhlIHN1YmplY3QgLSBhIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIC0gYW5kIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRoZSBzdWJqZWN0IGFuZCB3aGF0IGlzIGRpcmVjdGx5IG1lYXN1cmVkIGZvciBhbiBvYnNlcnZhdGlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIG9ic2VydmF0aW9uIGNvZGUgaXRzZWxmICggZS5nLiwgJnF1b3Q7Qmxvb2QgR2x1Y29zZSZxdW90OykgYW5kIGRvZXMgbm90IG5lZWQgdG8gYmUgcmVwcmVzZW50ZWQgc2VwYXJhdGVseSB1c2luZyB0aGlzIGVsZW1lbnQuICBVc2UgYHNwZWNpbWVuYCBpZiBhIHJlZmVyZW5jZSB0byBhIHNwZWNpbWVuIGlzIHJlcXVpcmVkLiAgSWYgYSBjb2RlIGlzIHJlcXVpcmVkIGluc3RlYWQgb2YgYSByZXNvdXJjZSB1c2UgZWl0aGVyICBgYm9keXNpdGVgIGZvciBib2R5c2l0ZXMgb3IgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbZm9jdXNDb2RlXShodHRwOi8vaGw3Lm9yZy9maGlyL2V4dGVuc2lvbi1vYnNlcnZhdGlvbi1mb2N1c2NvZGUuaHRtbCkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zIiBkZWZpbml0aW9uPSJPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zLiIgY29tbWVudD0iQXQgbGVhc3QgYSBkYXRlIHNob3VsZCBiZSBwcmVzZW50IHVubGVzcyB0aGlzIG9ic2VydmF0aW9uIGlzIGEgaGlzdG9yaWNhbCByZXBvcnQuICBGb3IgcmVjb3JkaW5nIGltcHJlY2lzZSBvciAmcXVvdDtmdXp6eSZxdW90OyB0aW1lcyAoRm9yIGV4YW1wbGUsIGEgYmxvb2QgZ2x1Y29zZSBtZWFzdXJlbWVudCB0YWtlbiAmcXVvdDthZnRlciBicmVha2Zhc3QmcXVvdDspIHVzZSB0aGUgW1RpbWluZ10oaHR0cDovL2hsNy5vcmcvZmhpci9kYXRhdHlwZXMuaHRtbCN0aW1pbmcpIGRhdGF0eXBlIHdoaWNoIGFsbG93IHRoZSBtZWFzdXJlbWVudCB0byBiZSB0aWVkIHRvIHJlZ3VsYXIgbGlmZSBldmVudHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ2cy0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9ImlmIE9ic2VydmF0aW9uLmVmZmVjdGl2ZVt4XSBpcyBkYXRlVGltZSBhbmQgaGFzIGEgdmFsdWUgdGhlbiB0aGF0IHZhbHVlIHNoYWxsIGJlIHByZWNpc2UgdG8gdGhlIGRheSI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIoJHRoaXMgYXMgZGF0ZVRpbWUpLnRvU3RyaW5nKCkubGVuZ3RoKCkgPj0gOCIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaXNzdWVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUvVGltZSB0aGlzIHZlcnNpb24gd2FzIG1hZGUgYXZhaWxhYmxlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGlzIHZlcnNpb24gb2YgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIGF2YWlsYWJsZSB0byBwcm92aWRlcnMsIHR5cGljYWxseSBhZnRlciB0aGUgcmVzdWx0cyBoYXZlIGJlZW4gcmV2aWV3ZWQgYW5kIHZlcmlmaWVkLiIgY29tbWVudD0iRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvbuKAmXQgcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiwgaXQgbWF5IGJlIHRoZSBzYW1lIGFzIHRoZSBbYGxhc3RVcGRhdGVkYCBdKGh0dHA6Ly9obDcub3JnL2ZoaXIvcmVzb3VyY2UtZGVmaW5pdGlvbnMuaHRtbCNNZXRhLmxhc3RVcGRhdGVkKSB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYuICBGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG8gcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiBmb3IgY2VydGFpbiB1cGRhdGVzLCBpdCBtaWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGBsYXN0VXBkYXRlZGAgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmIGR1ZSB0byBhIG5vbi1jbGluaWNhbGx5IHNpZ25pZmljYW50IHVwZGF0ZSB0aGF0IGRvZXNu4oCZdCByZXF1aXJlIHRoZSBuZXcgdmVyc2lvbiB0byBiZSByZXZpZXdlZCBhbmQgdmVyaWZpZWQgYWdhaW4uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IldobyBpcyByZXNwb25zaWJsZSBmb3IgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJXaG8gd2FzIHJlc3BvbnNpYmxlIGZvciBhc3NlcnRpbmcgdGhlIG9ic2VydmVkIHZhbHVlIGFzICZxdW90O3RydWUmcXVvdDsuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJWaXRhbCBTaWducyBWYWx1ZSIgZGVmaW5pdGlvbj0iVml0YWwgU2lnbnMgdmFsdWUgYXJlIHR5cGljYWxseSByZWNvcmRlZCB1c2luZyB0aGUgUXVhbnRpdHkgZGF0YSB0eXBlLiIgY29tbWVudD0iQW4gb2JzZXJ2YXRpb24gbWF5IGhhdmU7IDEpICBhIHNpbmdsZSB2YWx1ZSBoZXJlLCAyKSAgYm90aCBhIHZhbHVlIGFuZCBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMsICBvciAzKSAgb25seSBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMuIElmIGEgdmFsdWUgaXMgcHJlc2VudCwgdGhlIGRhdGF0eXBlIGZvciB0aGlzIGVsZW1lbnQgc2hvdWxkIGJlIGRldGVybWluZWQgYnkgT2JzZXJ2YXRpb24uY29kZS4gIEEgQ29kZWFibGVDb25jZXB0IHdpdGgganVzdCBhIHRleHQgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGlmIHRoZSBmaWVsZCB3YXMgdXN1YWxseSBjb2RlZCwgb3IgaWYgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBPYnNlcnZhdGlvbi5jb2RlIGRlZmluZXMgYSBjb2RlZCB2YWx1ZS4gIEZvciBhZGRpdGlvbmFsIGd1aWRhbmNlLCBzZWUgdGhlIFtOb3RlcyBzZWN0aW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQ29tbW9uIFVDVU0gdW5pdHMgZm9yIHJlY29yZGluZyBWaXRhbCBTaWducy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YUFic2VudFJlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2h5IHRoZSByZXN1bHQgaXMgbWlzc2luZyIgZGVmaW5pdGlvbj0iUHJvdmlkZXMgYSByZWFzb24gd2h5IHRoZSBleHBlY3RlZCB2YWx1ZSBpbiB0aGUgZWxlbWVudCBPYnNlcnZhdGlvbi52YWx1ZVt4XSBpcyBtaXNzaW5nLiIgY29tbWVudD0iTnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMgY2FuIGJlIHJlcHJlc2VudGVkIHR3byB3YXlzIGluIEZISVIgT2JzZXJ2YXRpb25zLiAgT25lIHdheSBpcyB0byBzaW1wbHkgaW5jbHVkZSB0aGVtIGluIHRoZSB2YWx1ZSBzZXQgYW5kIHJlcHJlc2VudCB0aGUgZXhjZXB0aW9ucyBpbiB0aGUgdmFsdWUuICBGb3IgZXhhbXBsZSwgbWVhc3VyZW1lbnQgdmFsdWVzIGZvciBhIHNlcm9sb2d5IHRlc3QgY291bGQgYmUgICZxdW90O2RldGVjdGVkJnF1b3Q7LCAmcXVvdDtub3QgZGV0ZWN0ZWQmcXVvdDssICZxdW90O2luY29uY2x1c2l2ZSZxdW90Oywgb3IgICZxdW90O3NwZWNpbWVuIHVuc2F0aXNmYWN0b3J5JnF1b3Q7LiAgICYjeGE7JiN4YTtUaGUgYWx0ZXJuYXRlIHdheSBpcyB0byB1c2UgdGhlIHZhbHVlIGVsZW1lbnQgZm9yIGFjdHVhbCBvYnNlcnZhdGlvbnMgYW5kIHVzZSB0aGUgZXhwbGljaXQgZGF0YUFic2VudFJlYXNvbiBlbGVtZW50IHRvIHJlY29yZCBleGNlcHRpb25hbCB2YWx1ZXMuICBGb3IgZXhhbXBsZSwgdGhlIGRhdGFBYnNlbnRSZWFzb24gY29kZSAmcXVvdDtlcnJvciZxdW90OyBjb3VsZCBiZSB1c2VkIHdoZW4gdGhlIG1lYXN1cmVtZW50IHdhcyBub3QgY29tcGxldGVkLiBOb3RlIHRoYXQgYW4gb2JzZXJ2YXRpb24gbWF5IG9ubHkgYmUgcmVwb3J0ZWQgaWYgdGhlcmUgYXJlIHZhbHVlcyB0byByZXBvcnQuIEZvciBleGFtcGxlIGRpZmZlcmVudGlhbCBjZWxsIGNvdW50cyB2YWx1ZXMgbWF5IGJlIHJlcG9ydGVkIG9ubHkgd2hlbiA+IDAuICBCZWNhdXNlIG9mIHRoZXNlIG9wdGlvbnMsIHVzZS1jYXNlIGFncmVlbWVudHMgYXJlIHJlcXVpcmVkIHRvIGludGVycHJldCBnZW5lcmFsIG9ic2VydmF0aW9ucyBmb3IgbnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uVmFsdWVBYnNlbnRSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBzcGVjaWZ5aW5nIHdoeSB0aGUgcmVzdWx0IChgT2JzZXJ2YXRpb24udmFsdWVbeF1gKSBpcyBtaXNzaW5nLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlcnByZXRhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhpZ2gsIGxvdywgbm9ybWFsLCBldGMuIiBkZWZpbml0aW9uPSJBIGNhdGVnb3JpY2FsIGFzc2Vzc21lbnQgb2YgYW4gb2JzZXJ2YXRpb24gdmFsdWUuICBGb3IgZXhhbXBsZSwgaGlnaCwgbG93LCBub3JtYWwuIiBjb21tZW50PSJIaXN0b3JpY2FsbHkgdXNlZCBmb3IgbGFib3JhdG9yeSByZXN1bHRzIChrbm93biBhcyAnYWJub3JtYWwgZmxhZycgKSwgIGl0cyB1c2UgZXh0ZW5kcyB0byBvdGhlciB1c2UgY2FzZXMgd2hlcmUgY29kZWQgaW50ZXJwcmV0YXRpb25zICBhcmUgcmVsZXZhbnQuICBPZnRlbiByZXBvcnRlZCBhcyBvbmUgb3IgbW9yZSBzaW1wbGUgY29tcGFjdCBjb2RlcyB0aGlzIGVsZW1lbnQgaXMgb2Z0ZW4gcGxhY2VkIGFkamFjZW50IHRvIHRoZSByZXN1bHQgdmFsdWUgaW4gcmVwb3J0cyBhbmQgZmxvdyBzaGVldHMgdG8gc2lnbmFsIHRoZSBtZWFuaW5nL25vcm1hbGN5IHN0YXR1cyBvZiB0aGUgcmVzdWx0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkludGVycHJldGF0aW9uIiBkZXNjcmlwdGlvbj0iQ29kZXMgaWRlbnRpZnlpbmcgaW50ZXJwcmV0YXRpb25zIG9mIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIG9yIHRoZSByZXN1bHRzLiIgY29tbWVudD0iTWF5IGluY2x1ZGUgZ2VuZXJhbCBzdGF0ZW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiwgb3Igc3RhdGVtZW50cyBhYm91dCBzaWduaWZpY2FudCwgdW5leHBlY3RlZCBvciB1bnJlbGlhYmxlIHJlc3VsdHMgdmFsdWVzLCBvciBpbmZvcm1hdGlvbiBhYm91dCBpdHMgc291cmNlIHdoZW4gcmVsZXZhbnQgdG8gaXRzIGludGVycHJldGF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPYnNlcnZlZCBib2R5IHBhcnQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc2l0ZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgd2hlcmUgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIChpLmUuIHRoZSB0YXJnZXQgc2l0ZSkuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gT2JzZXJ2YXRpb24uY29kZS4gIEluIG1hbnkgc3lzdGVtcywgdGhpcyBtYXkgYmUgcmVwcmVzZW50ZWQgYXMgYSByZWxhdGVkIG9ic2VydmF0aW9uIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvbXBvbmVudC4gICAmI3hhOyYjeGE7SWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvblsgYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibWV0aG9kIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIb3cgaXQgd2FzIGRvbmUiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgbWVjaGFuaXNtIHVzZWQgdG8gcGVyZm9ybSB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm9yIE9ic2VydmF0aW9uLmNvZGUuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25NZXRob2QiIGRlc2NyaXB0aW9uPSJNZXRob2RzIGZvciBzaW1wbGUgb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiB1c2VkIGZvciB0aGlzIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2ltZW4gdGhhdCB3YXMgdXNlZCB3aGVuIHRoaXMgb2JzZXJ2YXRpb24gd2FzIG1hZGUuIiBjb21tZW50PSJTaG91bGQgb25seSBiZSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIGBPYnNlcnZhdGlvbi5jb2RlYC4gIE9ic2VydmF0aW9ucyBhcmUgbm90IG1hZGUgb24gc3BlY2ltZW5zIHRoZW1zZWx2ZXM7IHRoZXkgYXJlIG1hZGUgb24gYSBzdWJqZWN0LCBidXQgaW4gbWFueSBjYXNlcyBieSB0aGUgbWVhbnMgb2YgYSBzcGVjaW1lbi4gTm90ZSB0aGF0IGFsdGhvdWdoIHNwZWNpbWVucyBhcmUgb2Z0ZW4gaW52b2x2ZWQsIHRoZXkgYXJlIG5vdCBhbHdheXMgdHJhY2tlZCBhbmQgcmVwb3J0ZWQgZXhwbGljaXRseS4gQWxzbyBub3RlIHRoYXQgb2JzZXJ2YXRpb24gcmVzb3VyY2VzIG1heSBiZSB1c2VkIGluIGNvbnRleHRzIHRoYXQgdHJhY2sgdGhlIHNwZWNpbWVuIGV4cGxpY2l0bHkgKGUuZy4gRGlhZ25vc3RpYyBSZXBvcnQpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXZpY2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKE1lYXN1cmVtZW50KSBEZXZpY2UiIGRlZmluaXRpb249IlRoZSBkZXZpY2UgdXNlZCB0byBnZW5lcmF0ZSB0aGUgb2JzZXJ2YXRpb24gZGF0YS4iIGNvbW1lbnQ9Ik5vdGUgdGhhdCB0aGlzIGlzIG5vdCBtZWFudCB0byByZXByZXNlbnQgYSBkZXZpY2UgaW52b2x2ZWQgaW4gdGhlIHRyYW5zbWlzc2lvbiBvZiB0aGUgcmVzdWx0LCBlLmcuLCBhIGdhdGV3YXkuICBTdWNoIGRldmljZXMgbWF5IGJlIGRvY3VtZW50ZWQgdXNpbmcgdGhlIFByb3ZlbmFuY2UgcmVzb3VyY2Ugd2hlcmUgcmVsZXZhbnQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIiBkZWZpbml0aW9uPSJHdWlkYW5jZSBvbiBob3cgdG8gaW50ZXJwcmV0IHRoZSB2YWx1ZSBieSBjb21wYXJpc29uIHRvIGEgbm9ybWFsIG9yIHJlY29tbWVuZGVkIHJhbmdlLiAgTXVsdGlwbGUgcmVmZXJlbmNlIHJhbmdlcyBhcmUgaW50ZXJwcmV0ZWQgYXMgYW4gJnF1b3Q7T1ImcXVvdDsuICAgSW4gb3RoZXIgd29yZHMsIHRvIHJlcHJlc2VudCB0d28gZGlzdGluY3QgdGFyZ2V0IHBvcHVsYXRpb25zLCB0d28gYHJlZmVyZW5jZVJhbmdlYCBlbGVtZW50cyB3b3VsZCBiZSB1c2VkLiIgY29tbWVudD0iTW9zdCBvYnNlcnZhdGlvbnMgb25seSBoYXZlIG9uZSBnZW5lcmljIHJlZmVyZW5jZSByYW5nZS4gU3lzdGVtcyBNQVkgY2hvb3NlIHRvIHJlc3RyaWN0IHRvIG9ubHkgc3VwcGx5aW5nIHRoZSByZWxldmFudCByZWZlcmVuY2UgcmFuZ2UgYmFzZWQgb24ga25vd2xlZGdlIGFib3V0IHRoZSBwYXRpZW50IChlLmcuLCBzcGVjaWZpYyB0byB0aGUgcGF0aWVudCdzIGFnZSwgZ2VuZGVyLCB3ZWlnaHQgYW5kIG90aGVyIGZhY3RvcnMpLCBidXQgdGhpcyBtaWdodCBub3QgYmUgcG9zc2libGUgb3IgYXBwcm9wcmlhdGUuIFdoZW5ldmVyIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIHJhbmdlIGlzIHN1cHBsaWVkLCB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGVtIFNIT1VMRCBiZSBwcm92aWRlZCBpbiB0aGUgcmVmZXJlbmNlIHJhbmdlIGFuZC9vciBhZ2UgcHJvcGVydGllcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5SZWZlcmVuY2VSYW5nZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Im9icy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik11c3QgaGF2ZSBhdCBsZWFzdCBhIGxvdyBvciBhIGhpZ2ggb3IgdGV4dCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJsb3cuZXhpc3RzKCkgb3IgaGlnaC5leGlzdHMoKSBvciB0ZXh0LmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJoYXNNZW1iZXIiIGRlc2NyaXB0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIHZpdGFsIHNpZ25zIHBhbmVsIGNvbXBvbmVudHMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cy4iIGNvbW1lbnQ9IldoZW4gdXNpbmcgdGhpcyBlbGVtZW50LCBhbiBvYnNlcnZhdGlvbiB3aWxsIHR5cGljYWxseSBoYXZlIGVpdGhlciBhIHZhbHVlIG9yIGEgc2V0IG9mIHJlbGF0ZWQgcmVzb3VyY2VzLCBhbHRob3VnaCBib3RoIG1heSBiZSBwcmVzZW50IGluIHNvbWUgY2FzZXMuICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4gIE5vdGUgdGhhdCBhIHN5c3RlbSBtYXkgY2FsY3VsYXRlIHJlc3VsdHMgZnJvbSBbUXVlc3Rpb25uYWlyZVJlc3BvbnNlXShodHRwOi8vaGw3Lm9yZy9maGlyL3F1ZXN0aW9ubmFpcmVyZXNwb25zZS5odG1sKSAgaW50byBhIGZpbmFsIHNjb3JlIGFuZCByZXByZXNlbnQgdGhlIHNjb3JlIGFzIGFuIE9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIG1lYXN1cmVtZW50cyB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIG1lYXN1cmVtZW50IGZyb20gd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiB2YWx1ZSBpcyBkZXJpdmVkLiBGb3IgZXhhbXBsZSwgYSBjYWxjdWxhdGVkIGFuaW9uIGdhcCBvciBhIGZldGFsIG1lYXN1cmVtZW50IGJhc2VkIG9uIGFuIHVsdHJhc291bmQgaW1hZ2UuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iQ29tcG9uZW50IG9ic2VydmF0aW9ucyIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyBjb21wb25lbnQgb2JzZXJ2YXRpb24gc3VjaCBhcyBzeXN0b2xpYyBhbmQgZGlhc3RvbGljIGJsb29kIHByZXNzdXJlLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSBpcyBubyBhIHZhbHVlIGEgZGF0YSBhYnNlbnQgcmVhc29uIG11c3QgYmUgcHJlc2VudCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ2YWx1ZS5leGlzdHMoKSBvciBkYXRhQWJzZW50UmVhc29uLmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVTQ29yZUhlYXJ0UmF0ZVByb2ZpbGUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtaGVhcnQtcmF0ZSIgbGFiZWw9IlVTIENvcmUgSGVhcnQgUmF0ZSBQcm9maWxlIiB0YXJnZXQ9Ik9ic2VydmF0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkJ1c2luZXNzIElkZW50aWZpZXIgZm9yIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIHVuaXF1ZSBpZGVudGlmaWVyIGFzc2lnbmVkIHRvIHRoaXMgb2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IkZ1bGZpbGxzIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIiBkZWZpbml0aW9uPSJBIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBldmVudC4gIEZvciBleGFtcGxlLCBhIE1lZGljYXRpb25SZXF1ZXN0IG1heSByZXF1aXJlIGEgcGF0aWVudCB0byBoYXZlIGxhYm9yYXRvcnkgdGVzdCBwZXJmb3JtZWQgYmVmb3JlICBpdCBpcyBkaXNwZW5zZWQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBPYnNlcnZhdGlvbiBpcyBhIGNvbXBvbmVudCBvciBzdGVwLiAgRm9yIGV4YW1wbGUsICBhbiBvYnNlcnZhdGlvbiBhcyBwYXJ0IG9mIGEgcHJvY2VkdXJlLiIgY29tbWVudD0iVG8gbGluayBhbiBPYnNlcnZhdGlvbiB0byBhbiBFbmNvdW50ZXIgdXNlIGBlbmNvdW50ZXJgLiAgU2VlIHRoZSAgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93IGZvciBndWlkYW5jZSBvbiByZWZlcmVuY2luZyBhbm90aGVyIE9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLlN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyZWdpc3RlcmVkIHwgcHJlbGltaW5hcnkgfCBmaW5hbCB8IGFtZW5kZWQgKyIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzdWx0IHZhbHVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTdGF0dXMiIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9IlZTQ2F0IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCVwYXJlbnQuY2F0ZWdvcnlbY29kaW5nLnN5c3RlbT0naHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS9vYnNlcnZhdGlvbi1jYXRlZ29yeScsY29kaW5nLmNvZGU9J3ZpdGFsLXNpZ25zJ10pIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGVhcnQgUmF0ZSIgZGVmaW5pdGlvbj0iQ29kZWQgUmVzcG9uc2VzIGZyb20gQy1DREEgVml0YWwgU2lnbiBSZXN1bHRzLiIgY29tbWVudD0iKkFsbCogY29kZS12YWx1ZSBhbmQsIGlmIHByZXNlbnQsIGNvbXBvbmVudC5jb2RlLWNvbXBvbmVudC52YWx1ZSBwYWlycyBuZWVkIHRvIGJlIHRha2VuIGludG8gYWNjb3VudCB0byBjb3JyZWN0bHkgdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGUgdml0YWwgc2lnbiBjb2RlcyBmcm9tIHRoZSBiYXNlIEZISVIgYW5kIFVTIENvcmUgVml0YWwgU2lnbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIGFuZC9vciB3aGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCIgZGVmaW5pdGlvbj0iVGhlIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIHRoaXMgb2JzZXJ2YXRpb24gaXMgYWJvdXQgYW5kIGludG8gd2hvc2UgcmVjb3JkIHRoZSBvYnNlcnZhdGlvbiBpcyBwbGFjZWQuIElmIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBzdWJqZWN0IChvciBhIHNhbXBsZSBvZiwgcGFydCwgb3IgcmVnaW9uIG9mIHRoZSBzdWJqZWN0KSwgdGhlIGBmb2N1c2AgZWxlbWVudCBvciB0aGUgYGNvZGVgIGl0c2VsZiBzcGVjaWZpZXMgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmUgd291bGQgZXhwZWN0IHRoaXMgZWxlbWVudCB0byBiZSBhIGNhcmRpbmFsaXR5IG9mIDEuLjEuIFRoZSBvbmx5IGNpcmN1bXN0YW5jZSBpbiB3aGljaCB0aGUgc3ViamVjdCBjYW4gYmUgbWlzc2luZyBpcyB3aGVuIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGJ5IGEgZGV2aWNlIHRoYXQgZG9lcyBub3Qga25vdyB0aGUgcGF0aWVudC4gSW4gdGhpcyBjYXNlLCB0aGUgb2JzZXJ2YXRpb24gU0hBTEwgYmUgbWF0Y2hlZCB0byBhIHBhdGllbnQgdGhyb3VnaCBzb21lIGNvbnRleHQvY2hhbm5lbCBtYXRjaGluZyB0ZWNobmlxdWUsIGFuZCBhdCB0aGlzIHBvaW50LCB0aGUgb2JzZXJ2YXRpb24gc2hvdWxkIGJlIHVwZGF0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJmb2N1cyIgZGVzY3JpcHRpb249IldoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0LCB3aGVuIGl0IGlzIG5vdCBhYm91dCB0aGUgc3ViamVjdCBvZiByZWNvcmQiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gd2hlbiBpdCBpcyBub3QgdGhlIHBhdGllbnQgb2YgcmVjb3JkIHJlcHJlc2VudGluZyBzb21ldGhpbmcgb3Igc29tZW9uZSBhc3NvY2lhdGVkIHdpdGggdGhlIHBhdGllbnQgc3VjaCBhcyBhIHNwb3VzZSwgcGFyZW50LCBmZXR1cywgb3IgZG9ub3IuIEZvciBleGFtcGxlLCBmZXR1cyBvYnNlcnZhdGlvbnMgaW4gYSBtb3RoZXIncyByZWNvcmQuICBUaGUgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gY291bGQgYWxzbyBiZSBhbiBleGlzdGluZyBjb25kaXRpb24sICBhbiBpbnRlcnZlbnRpb24sIHRoZSBzdWJqZWN0J3MgZGlldCwgIGFub3RoZXIgb2JzZXJ2YXRpb24gb2YgdGhlIHN1YmplY3QsICBvciBhIGJvZHkgc3RydWN0dXJlIHN1Y2ggYXMgdHVtb3Igb3IgaW1wbGFudGVkIGRldmljZS4gICBBbiBleGFtcGxlIHVzZSBjYXNlIHdvdWxkIGJlIHVzaW5nIHRoZSBPYnNlcnZhdGlvbiByZXNvdXJjZSB0byBjYXB0dXJlIHdoZXRoZXIgdGhlIG1vdGhlciBpcyB0cmFpbmVkIHRvIGNoYW5nZSBoZXIgY2hpbGQncyB0cmFjaGVvc3RvbXkgdHViZS4gSW4gdGhpcyBleGFtcGxlLCB0aGUgY2hpbGQgaXMgdGhlIHBhdGllbnQgb2YgcmVjb3JkIGFuZCB0aGUgbW90aGVyIGlzIHRoZSBmb2N1cy4iIGNvbW1lbnQ9IlR5cGljYWxseSwgYW4gb2JzZXJ2YXRpb24gaXMgbWFkZSBhYm91dCB0aGUgc3ViamVjdCAtIGEgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgLSBhbmQgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhlIHN1YmplY3QgYW5kIHdoYXQgaXMgZGlyZWN0bHkgbWVhc3VyZWQgZm9yIGFuIG9ic2VydmF0aW9uIGlzIHNwZWNpZmllZCBpbiB0aGUgb2JzZXJ2YXRpb24gY29kZSBpdHNlbGYgKCBlLmcuLCAmcXVvdDtCbG9vZCBHbHVjb3NlJnF1b3Q7KSBhbmQgZG9lcyBub3QgbmVlZCB0byBiZSByZXByZXNlbnRlZCBzZXBhcmF0ZWx5IHVzaW5nIHRoaXMgZWxlbWVudC4gIFVzZSBgc3BlY2ltZW5gIGlmIGEgcmVmZXJlbmNlIHRvIGEgc3BlY2ltZW4gaXMgcmVxdWlyZWQuICBJZiBhIGNvZGUgaXMgcmVxdWlyZWQgaW5zdGVhZCBvZiBhIHJlc291cmNlIHVzZSBlaXRoZXIgIGBib2R5c2l0ZWAgZm9yIGJvZHlzaXRlcyBvciB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtmb2N1c0NvZGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLW9ic2VydmF0aW9uLWZvY3VzY29kZS5odG1sKS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJIZWFsdGhjYXJlIGV2ZW50IGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUiIGRlZmluaXRpb249IlRoZSBoZWFsdGhjYXJlIGV2ZW50ICAoZS5nLiBhIHBhdGllbnQgYW5kIGhlYWx0aGNhcmUgcHJvdmlkZXIgaW50ZXJhY3Rpb24pIGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgZXZlbnRzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIgKGUuZy4gcHJlLWFkbWlzc2lvbiBsYWJvcmF0b3J5IHRlc3RzKS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik9mdGVuIGp1c3QgYSBkYXRlVGltZSBmb3IgVml0YWwgU2lnbnMiIGRlZmluaXRpb249Ik9mdGVuIGp1c3QgYSBkYXRlVGltZSBmb3IgVml0YWwgU2lnbnMuIiBjb21tZW50PSJBdCBsZWFzdCBhIGRhdGUgc2hvdWxkIGJlIHByZXNlbnQgdW5sZXNzIHRoaXMgb2JzZXJ2YXRpb24gaXMgYSBoaXN0b3JpY2FsIHJlcG9ydC4gIEZvciByZWNvcmRpbmcgaW1wcmVjaXNlIG9yICZxdW90O2Z1enp5JnF1b3Q7IHRpbWVzIChGb3IgZXhhbXBsZSwgYSBibG9vZCBnbHVjb3NlIG1lYXN1cmVtZW50IHRha2VuICZxdW90O2FmdGVyIGJyZWFrZmFzdCZxdW90OykgdXNlIHRoZSBbVGltaW5nXShodHRwOi8vaGw3Lm9yZy9maGlyL2RhdGF0eXBlcy5odG1sI3RpbWluZykgZGF0YXR5cGUgd2hpY2ggYWxsb3cgdGhlIG1lYXN1cmVtZW50IHRvIGJlIHRpZWQgdG8gcmVndWxhciBsaWZlIGV2ZW50cy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTEiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iaWYgT2JzZXJ2YXRpb24uZWZmZWN0aXZlW3hdIGlzIGRhdGVUaW1lIGFuZCBoYXMgYSB2YWx1ZSB0aGVuIHRoYXQgdmFsdWUgc2hhbGwgYmUgcHJlY2lzZSB0byB0aGUgZGF5Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249IigkdGhpcyBhcyBkYXRlVGltZSkudG9TdHJpbmcoKS5sZW5ndGgoKSA+PSA4Ii8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IldobyB3YXMgcmVzcG9uc2libGUgZm9yIGFzc2VydGluZyB0aGUgb2JzZXJ2ZWQgdmFsdWUgYXMgJnF1b3Q7dHJ1ZSZxdW90Oy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IlZpdGFsIFNpZ25zIFZhbHVlIiBkZWZpbml0aW9uPSJWaXRhbCBTaWducyB2YWx1ZSBhcmUgdHlwaWNhbGx5IHJlY29yZGVkIHVzaW5nIHRoZSBRdWFudGl0eSBkYXRhIHR5cGUuIiBjb21tZW50PSJBbiBvYnNlcnZhdGlvbiBtYXkgaGF2ZTsgMSkgIGEgc2luZ2xlIHZhbHVlIGhlcmUsIDIpICBib3RoIGEgdmFsdWUgYW5kIGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcywgIG9yIDMpICBvbmx5IGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcy4gSWYgYSB2YWx1ZSBpcyBwcmVzZW50LCB0aGUgZGF0YXR5cGUgZm9yIHRoaXMgZWxlbWVudCBzaG91bGQgYmUgZGV0ZXJtaW5lZCBieSBPYnNlcnZhdGlvbi5jb2RlLiAgQSBDb2RlYWJsZUNvbmNlcHQgd2l0aCBqdXN0IGEgdGV4dCB3b3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgYSBzdHJpbmcgaWYgdGhlIGZpZWxkIHdhcyB1c3VhbGx5IGNvZGVkLCBvciBpZiB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhlIE9ic2VydmF0aW9uLmNvZGUgZGVmaW5lcyBhIGNvZGVkIHZhbHVlLiAgRm9yIGFkZGl0aW9uYWwgZ3VpZGFuY2UsIHNlZSB0aGUgW05vdGVzIHNlY3Rpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJDb21tb24gVUNVTSB1bml0cyBmb3IgcmVjb3JkaW5nIFZpdGFsIFNpZ25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgdGhlIHJlc3VsdCBpcyBtaXNzaW5nIiBkZWZpbml0aW9uPSJQcm92aWRlcyBhIHJlYXNvbiB3aHkgdGhlIGV4cGVjdGVkIHZhbHVlIGluIHRoZSBlbGVtZW50IE9ic2VydmF0aW9uLnZhbHVlW3hdIGlzIG1pc3NpbmcuIiBjb21tZW50PSJOdWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcyBjYW4gYmUgcmVwcmVzZW50ZWQgdHdvIHdheXMgaW4gRkhJUiBPYnNlcnZhdGlvbnMuICBPbmUgd2F5IGlzIHRvIHNpbXBseSBpbmNsdWRlIHRoZW0gaW4gdGhlIHZhbHVlIHNldCBhbmQgcmVwcmVzZW50IHRoZSBleGNlcHRpb25zIGluIHRoZSB2YWx1ZS4gIEZvciBleGFtcGxlLCBtZWFzdXJlbWVudCB2YWx1ZXMgZm9yIGEgc2Vyb2xvZ3kgdGVzdCBjb3VsZCBiZSAgJnF1b3Q7ZGV0ZWN0ZWQmcXVvdDssICZxdW90O25vdCBkZXRlY3RlZCZxdW90OywgJnF1b3Q7aW5jb25jbHVzaXZlJnF1b3Q7LCBvciAgJnF1b3Q7c3BlY2ltZW4gdW5zYXRpc2ZhY3RvcnkmcXVvdDsuICAgJiN4YTsmI3hhO1RoZSBhbHRlcm5hdGUgd2F5IGlzIHRvIHVzZSB0aGUgdmFsdWUgZWxlbWVudCBmb3IgYWN0dWFsIG9ic2VydmF0aW9ucyBhbmQgdXNlIHRoZSBleHBsaWNpdCBkYXRhQWJzZW50UmVhc29uIGVsZW1lbnQgdG8gcmVjb3JkIGV4Y2VwdGlvbmFsIHZhbHVlcy4gIEZvciBleGFtcGxlLCB0aGUgZGF0YUFic2VudFJlYXNvbiBjb2RlICZxdW90O2Vycm9yJnF1b3Q7IGNvdWxkIGJlIHVzZWQgd2hlbiB0aGUgbWVhc3VyZW1lbnQgd2FzIG5vdCBjb21wbGV0ZWQuIE5vdGUgdGhhdCBhbiBvYnNlcnZhdGlvbiBtYXkgb25seSBiZSByZXBvcnRlZCBpZiB0aGVyZSBhcmUgdmFsdWVzIHRvIHJlcG9ydC4gRm9yIGV4YW1wbGUgZGlmZmVyZW50aWFsIGNlbGwgY291bnRzIHZhbHVlcyBtYXkgYmUgcmVwb3J0ZWQgb25seSB3aGVuID4gMC4gIEJlY2F1c2Ugb2YgdGhlc2Ugb3B0aW9ucywgdXNlLWNhc2UgYWdyZWVtZW50cyBhcmUgcmVxdWlyZWQgdG8gaW50ZXJwcmV0IGdlbmVyYWwgb2JzZXJ2YXRpb25zIGZvciBudWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25WYWx1ZUFic2VudFJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIHNwZWNpZnlpbmcgd2h5IHRoZSByZXN1bHQgKGBPYnNlcnZhdGlvbi52YWx1ZVt4XWApIGlzIG1pc3NpbmcuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImludGVycHJldGF0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGlnaCwgbG93LCBub3JtYWwsIGV0Yy4iIGRlZmluaXRpb249IkEgY2F0ZWdvcmljYWwgYXNzZXNzbWVudCBvZiBhbiBvYnNlcnZhdGlvbiB2YWx1ZS4gIEZvciBleGFtcGxlLCBoaWdoLCBsb3csIG5vcm1hbC4iIGNvbW1lbnQ9Ikhpc3RvcmljYWxseSB1c2VkIGZvciBsYWJvcmF0b3J5IHJlc3VsdHMgKGtub3duIGFzICdhYm5vcm1hbCBmbGFnJyApLCAgaXRzIHVzZSBleHRlbmRzIHRvIG90aGVyIHVzZSBjYXNlcyB3aGVyZSBjb2RlZCBpbnRlcnByZXRhdGlvbnMgIGFyZSByZWxldmFudC4gIE9mdGVuIHJlcG9ydGVkIGFzIG9uZSBvciBtb3JlIHNpbXBsZSBjb21wYWN0IGNvZGVzIHRoaXMgZWxlbWVudCBpcyBvZnRlbiBwbGFjZWQgYWRqYWNlbnQgdG8gdGhlIHJlc3VsdCB2YWx1ZSBpbiByZXBvcnRzIGFuZCBmbG93IHNoZWV0cyB0byBzaWduYWwgdGhlIG1lYW5pbmcvbm9ybWFsY3kgc3RhdHVzIG9mIHRoZSByZXN1bHQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uSW50ZXJwcmV0YXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBpbnRlcnByZXRhdGlvbnMgb2Ygb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24gb3IgdGhlIHJlc3VsdHMuIiBjb21tZW50PSJNYXkgaW5jbHVkZSBnZW5lcmFsIHN0YXRlbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uLCBvciBzdGF0ZW1lbnRzIGFib3V0IHNpZ25pZmljYW50LCB1bmV4cGVjdGVkIG9yIHVucmVsaWFibGUgcmVzdWx0cyB2YWx1ZXMsIG9yIGluZm9ybWF0aW9uIGFib3V0IGl0cyBzb3VyY2Ugd2hlbiByZWxldmFudCB0byBpdHMgaW50ZXJwcmV0YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik9ic2VydmVkIGJvZHkgcGFydCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBzaXRlIG9uIHRoZSBzdWJqZWN0J3MgYm9keSB3aGVyZSB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgKGkuZS4gdGhlIHRhcmdldCBzaXRlKS4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBPYnNlcnZhdGlvbi5jb2RlLiAgSW4gbWFueSBzeXN0ZW1zLCB0aGlzIG1heSBiZSByZXByZXNlbnRlZCBhcyBhIHJlbGF0ZWQgb2JzZXJ2YXRpb24gaW5zdGVhZCBvZiBhbiBpbmxpbmUgY29tcG9uZW50LiAgICYjeGE7JiN4YTtJZiB0aGUgdXNlIGNhc2UgcmVxdWlyZXMgQm9keVNpdGUgdG8gYmUgaGFuZGxlZCBhcyBhIHNlcGFyYXRlIHJlc291cmNlIChlLmcuIHRvIGlkZW50aWZ5IGFuZCB0cmFjayBzZXBhcmF0ZWx5KSB0aGVuIHVzZSB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uWyBib2R5U2l0ZV0oaHR0cDovL2hsNy5vcmcvZmhpci9leHRlbnNpb24tYm9keXNpdGUuaHRtbCkuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQm9keVNpdGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGFuYXRvbWljYWwgbG9jYXRpb25zLiBNYXkgaW5jbHVkZSBsYXRlcmFsaXR5LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBpdCB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWNoYW5pc20gdXNlZCB0byBwZXJmb3JtIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3IgT2JzZXJ2YXRpb24uY29kZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpbWVuIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlNwZWNpbWVuIHVzZWQgZm9yIHRoaXMgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSBzcGVjaW1lbiB0aGF0IHdhcyB1c2VkIHdoZW4gdGhpcyBvYnNlcnZhdGlvbiB3YXMgbWFkZS4iIGNvbW1lbnQ9IlNob3VsZCBvbmx5IGJlIHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gYE9ic2VydmF0aW9uLmNvZGVgLiAgT2JzZXJ2YXRpb25zIGFyZSBub3QgbWFkZSBvbiBzcGVjaW1lbnMgdGhlbXNlbHZlczsgdGhleSBhcmUgbWFkZSBvbiBhIHN1YmplY3QsIGJ1dCBpbiBtYW55IGNhc2VzIGJ5IHRoZSBtZWFucyBvZiBhIHNwZWNpbWVuLiBOb3RlIHRoYXQgYWx0aG91Z2ggc3BlY2ltZW5zIGFyZSBvZnRlbiBpbnZvbHZlZCwgdGhleSBhcmUgbm90IGFsd2F5cyB0cmFja2VkIGFuZCByZXBvcnRlZCBleHBsaWNpdGx5LiBBbHNvIG5vdGUgdGhhdCBvYnNlcnZhdGlvbiByZXNvdXJjZXMgbWF5IGJlIHVzZWQgaW4gY29udGV4dHMgdGhhdCB0cmFjayB0aGUgc3BlY2ltZW4gZXhwbGljaXRseSAoZS5nLiBEaWFnbm9zdGljIFJlcG9ydCkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRldmljZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoTWVhc3VyZW1lbnQpIERldmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBvYnNlcnZhdGlvbiBkYXRhLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgaXMgbm90IG1lYW50IHRvIHJlcHJlc2VudCBhIGRldmljZSBpbnZvbHZlZCBpbiB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoZSByZXN1bHQsIGUuZy4sIGEgZ2F0ZXdheS4gIFN1Y2ggZGV2aWNlcyBtYXkgYmUgZG9jdW1lbnRlZCB1c2luZyB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZSB3aGVyZSByZWxldmFudC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVmZXJlbmNlUmFuZ2UiIGRlc2NyaXB0aW9uPSJQcm92aWRlcyBndWlkZSBmb3IgaW50ZXJwcmV0YXRpb24iIGRlZmluaXRpb249Ikd1aWRhbmNlIG9uIGhvdyB0byBpbnRlcnByZXQgdGhlIHZhbHVlIGJ5IGNvbXBhcmlzb24gdG8gYSBub3JtYWwgb3IgcmVjb21tZW5kZWQgcmFuZ2UuICBNdWx0aXBsZSByZWZlcmVuY2UgcmFuZ2VzIGFyZSBpbnRlcnByZXRlZCBhcyBhbiAmcXVvdDtPUiZxdW90Oy4gICBJbiBvdGhlciB3b3JkcywgdG8gcmVwcmVzZW50IHR3byBkaXN0aW5jdCB0YXJnZXQgcG9wdWxhdGlvbnMsIHR3byBgcmVmZXJlbmNlUmFuZ2VgIGVsZW1lbnRzIHdvdWxkIGJlIHVzZWQuIiBjb21tZW50PSJNb3N0IG9ic2VydmF0aW9ucyBvbmx5IGhhdmUgb25lIGdlbmVyaWMgcmVmZXJlbmNlIHJhbmdlLiBTeXN0ZW1zIE1BWSBjaG9vc2UgdG8gcmVzdHJpY3QgdG8gb25seSBzdXBwbHlpbmcgdGhlIHJlbGV2YW50IHJlZmVyZW5jZSByYW5nZSBiYXNlZCBvbiBrbm93bGVkZ2UgYWJvdXQgdGhlIHBhdGllbnQgKGUuZy4sIHNwZWNpZmljIHRvIHRoZSBwYXRpZW50J3MgYWdlLCBnZW5kZXIsIHdlaWdodCBhbmQgb3RoZXIgZmFjdG9ycyksIGJ1dCB0aGlzIG1pZ2h0IG5vdCBiZSBwb3NzaWJsZSBvciBhcHByb3ByaWF0ZS4gV2hlbmV2ZXIgbW9yZSB0aGFuIG9uZSByZWZlcmVuY2UgcmFuZ2UgaXMgc3VwcGxpZWQsIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZW0gU0hPVUxEIGJlIHByb3ZpZGVkIGluIHRoZSByZWZlcmVuY2UgcmFuZ2UgYW5kL29yIGFnZSBwcm9wZXJ0aWVzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0ib2JzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iTXVzdCBoYXZlIGF0IGxlYXN0IGEgbG93IG9yIGEgaGlnaCBvciB0ZXh0Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Imxvdy5leGlzdHMoKSBvciBoaWdoLmV4aXN0cygpIG9yIHRleHQuZXhpc3RzKCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imhhc01lbWJlciIgZGVzY3JpcHRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cyIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyB2aXRhbCBzaWducyBwYW5lbCBjb21wb25lbnRzLiIgY29tbWVudD0iV2hlbiB1c2luZyB0aGlzIGVsZW1lbnQsIGFuIG9ic2VydmF0aW9uIHdpbGwgdHlwaWNhbGx5IGhhdmUgZWl0aGVyIGEgdmFsdWUgb3IgYSBzZXQgb2YgcmVsYXRlZCByZXNvdXJjZXMsIGFsdGhvdWdoIGJvdGggbWF5IGJlIHByZXNlbnQgaW4gc29tZSBjYXNlcy4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiAgTm90ZSB0aGF0IGEgc3lzdGVtIG1heSBjYWxjdWxhdGUgcmVzdWx0cyBmcm9tIFtRdWVzdGlvbm5haXJlUmVzcG9uc2VdKGh0dHA6Ly9obDcub3JnL2ZoaXIvcXVlc3Rpb25uYWlyZXJlc3BvbnNlLmh0bWwpICBpbnRvIGEgZmluYWwgc2NvcmUgYW5kIHJlcHJlc2VudCB0aGUgc2NvcmUgYXMgYW4gT2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXJpdmVkRnJvbSIgZGVzY3JpcHRpb249IlJlbGF0ZWQgbWVhc3VyZW1lbnRzIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGZyb20iIGRlZmluaXRpb249IlRoZSB0YXJnZXQgcmVzb3VyY2UgdGhhdCByZXByZXNlbnRzIGEgbWVhc3VyZW1lbnQgZnJvbSB3aGljaCB0aGlzIG9ic2VydmF0aW9uIHZhbHVlIGlzIGRlcml2ZWQuIEZvciBleGFtcGxlLCBhIGNhbGN1bGF0ZWQgYW5pb24gZ2FwIG9yIGEgZmV0YWwgbWVhc3VyZW1lbnQgYmFzZWQgb24gYW4gdWx0cmFzb3VuZCBpbWFnZS4iIGNvbW1lbnQ9IkFsbCB0aGUgcmVmZXJlbmNlIGNob2ljZXMgdGhhdCBhcmUgbGlzdGVkIGluIHRoaXMgZWxlbWVudCBjYW4gcmVwcmVzZW50IGNsaW5pY2FsIG9ic2VydmF0aW9ucyBhbmQgb3RoZXIgbWVhc3VyZW1lbnRzIHRoYXQgbWF5IGJlIHRoZSBzb3VyY2UgZm9yIGEgZGVyaXZlZCB2YWx1ZS4gIFRoZSBtb3N0IGNvbW1vbiByZWZlcmVuY2Ugd2lsbCBiZSBhbm90aGVyIE9ic2VydmF0aW9uLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb21wb25lbnQiIGRlc2NyaXB0aW9uPSJDb21wb25lbnQgb2JzZXJ2YXRpb25zIiBkZWZpbml0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIGNvbXBvbmVudCBvYnNlcnZhdGlvbiBzdWNoIGFzIHN5c3RvbGljIGFuZCBkaWFzdG9saWMgYmxvb2QgcHJlc3N1cmUuIiBjb21tZW50PSJGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYmUgYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5Db21wb25lbnQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ2cy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IklmIHRoZXJlIGlzIG5vIGEgdmFsdWUgYSBkYXRhIGFic2VudCByZWFzb24gbXVzdCBiZSBwcmVzZW50Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InZhbHVlLmV4aXN0cygpIG9yIGRhdGFBYnNlbnRSZWFzb24uZXhpc3RzKCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlSW1wbGFudGFibGVEZXZpY2VQcm9maWxlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLWltcGxhbnRhYmxlLWRldmljZSIgbGFiZWw9IlVTIENvcmUgSW1wbGFudGFibGUgRGV2aWNlIFByb2ZpbGUiIHRhcmdldD0iRGV2aWNlIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJ0eXBlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249Ikluc3RhbmNlIGlkZW50aWZpZXIiIGRlZmluaXRpb249IlVuaXF1ZSBpbnN0YW5jZSBpZGVudGlmaWVycyBhc3NpZ25lZCB0byBhIGRldmljZSBieSBtYW51ZmFjdHVyZXJzIG90aGVyIG9yZ2FuaXphdGlvbnMgb3Igb3duZXJzLiIgY29tbWVudD0iVGhlIGJhcmNvZGUgc3RyaW5nIGZyb20gYSBiYXJjb2RlIHByZXNlbnQgb24gYSBkZXZpY2UgbGFiZWwgb3IgcGFja2FnZSBtYXkgaWRlbnRpZnkgdGhlIGluc3RhbmNlLCBpbmNsdWRlIG5hbWVzIGdpdmVuIHRvIHRoZSBkZXZpY2UgaW4gbG9jYWwgdXNhZ2UsIG9yIG1heSBpZGVudGlmeSB0aGUgdHlwZSBvZiBkZXZpY2UuIElmIHRoZSBpZGVudGlmaWVyIGlkZW50aWZpZXMgdGhlIHR5cGUgb2YgZGV2aWNlLCBEZXZpY2UudHlwZSBlbGVtZW50IHNob3VsZCBiZSB1c2VkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRlZmluaXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iVGhlIHJlZmVyZW5jZSB0byB0aGUgZGVmaW5pdGlvbiBmb3IgdGhlIGRldmljZSIgZGVmaW5pdGlvbj0iVGhlIHJlZmVyZW5jZSB0byB0aGUgZGVmaW5pdGlvbiBmb3IgdGhlIGRldmljZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0idWRpQ2FycmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5EZXZpY2UuVWRpQ2FycmllciIgZGVzY3JpcHRpb249IlVuaXF1ZSBEZXZpY2UgSWRlbnRpZmllciAoVURJKSBCYXJjb2RlIHN0cmluZyIgZGVmaW5pdGlvbj0iVW5pcXVlIGRldmljZSBpZGVudGlmaWVyIChVREkpIGFzc2lnbmVkIHRvIGRldmljZSBsYWJlbCBvciBwYWNrYWdlLiAgTm90ZSB0aGF0IHRoZSBEZXZpY2UgbWF5IGluY2x1ZGUgbXVsdGlwbGUgdWRpQ2FycmllcnMgYXMgaXQgZWl0aGVyIG1heSBpbmNsdWRlIGp1c3QgdGhlIHVkaUNhcnJpZXIgZm9yIHRoZSBqdXJpc2RpY3Rpb24gaXQgaXMgc29sZCwgb3IgZm9yIG11bHRpcGxlIGp1cmlzZGljdGlvbnMgaXQgY291bGQgaGF2ZSBiZWVuIHNvbGQuIiBjb21tZW50PSJTb21lIGRldmljZXMgbWF5IG5vdCBoYXZlIFVESSBpbmZvcm1hdGlvbiAoZm9yIGV4YW1wbGUuIGhpc3RvcmljYWwgZGF0YSBvciBwYXRpZW50IHJlcG9ydGVkIGRhdGEpLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLkZISVJEZXZpY2VTdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iYWN0aXZlIHwgaW5hY3RpdmUgfCBlbnRlcmVkLWluLWVycm9yIHwgdW5rbm93biIgZGVmaW5pdGlvbj0iU3RhdHVzIG9mIHRoZSBEZXZpY2UgYXZhaWxhYmlsaXR5LiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgdGhlIGNvZGVzIGluYWN0aXZlIGFuZCBlbnRlcmVkLWluLWVycm9yIHRoYXQgbWFyayB0aGUgZGV2aWNlIChyZWNvcmQpYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJGSElSRGV2aWNlU3RhdHVzIiBkZXNjcmlwdGlvbj0iVGhlIGF2YWlsYWJpbGl0eSBzdGF0dXMgb2YgdGhlIGRldmljZS4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1c1JlYXNvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Im9ubGluZSB8IHBhdXNlZCB8IHN0YW5kYnkgfCBvZmZsaW5lIHwgbm90LXJlYWR5IHwgdHJhbnNkdWMtZGlzY29uIHwgaHctZGlzY29uIHwgb2ZmIiBkZWZpbml0aW9uPSJSZWFzb24gZm9yIHRoZSBkdGF0dXMgb2YgdGhlIERldmljZSBhdmFpbGFiaWxpdHkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkZISVJEZXZpY2VTdGF0dXNSZWFzb24iIGRlc2NyaXB0aW9uPSJUaGUgYXZhaWxhYmlsaXR5IHN0YXR1cyByZWFzb24gb2YgdGhlIGRldmljZS4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzdGluY3RJZGVudGlmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaGUgZGlzdGluY3QgaWRlbnRpZmljYXRpb24gc3RyaW5nIiBkZWZpbml0aW9uPSJUaGUgZGlzdGluY3QgaWRlbnRpZmljYXRpb24gc3RyaW5nIGFzIHJlcXVpcmVkIGJ5IHJlZ3VsYXRpb24gZm9yIGEgaHVtYW4gY2VsbCwgdGlzc3VlLCBvciBjZWxsdWxhciBhbmQgdGlzc3VlLWJhc2VkIHByb2R1Y3QuIiBjb21tZW50PSJGb3IgZXhhbXBsZSwgdGhpcyBhcHBsaWVzIHRvIGRldmljZXMgaW4gdGhlIFVuaXRlZCBTdGF0ZXMgcmVndWxhdGVkIHVuZGVyICpDb2RlIG9mIEZlZGVyYWwgUmVndWxhdGlvbiAyMUNGUsKnMTI3MS4yOTAoYykqLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ibWFudWZhY3R1cmVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOYW1lIG9mIGRldmljZSBtYW51ZmFjdHVyZXIiIGRlZmluaXRpb249IkEgbmFtZSBvZiB0aGUgbWFudWZhY3R1cmVyLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJtYW51ZmFjdHVyZURhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZSB3aGVuIHRoZSBkZXZpY2Ugd2FzIG1hZGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHdoZW4gdGhlIGRldmljZSB3YXMgbWFudWZhY3R1cmVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZXhwaXJhdGlvbkRhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZSBhbmQgdGltZSBvZiBleHBpcnkgb2YgdGhpcyBkZXZpY2UgKGlmIGFwcGxpY2FibGUpIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSBiZXlvbmQgd2hpY2ggdGhpcyBkZXZpY2UgaXMgbm8gbG9uZ2VyIHZhbGlkIG9yIHNob3VsZCBub3QgYmUgdXNlZCAoaWYgYXBwbGljYWJsZSkuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJsb3ROdW1iZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkxvdCBudW1iZXIgb2YgbWFudWZhY3R1cmUiIGRlZmluaXRpb249IkxvdCBudW1iZXIgYXNzaWduZWQgYnkgdGhlIG1hbnVmYWN0dXJlci4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InNlcmlhbE51bWJlciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iU2VyaWFsIG51bWJlciBhc3NpZ25lZCBieSB0aGUgbWFudWZhY3R1cmVyIiBkZWZpbml0aW9uPSJUaGUgc2VyaWFsIG51bWJlciBhc3NpZ25lZCBieSB0aGUgb3JnYW5pemF0aW9uIHdoZW4gdGhlIGRldmljZSB3YXMgbWFudWZhY3R1cmVkLiIgY29tbWVudD0iQWxwaGFudW1lcmljIE1heGltdW0gMjAuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXZpY2VOYW1lIiBkZXNjcmlwdGlvbj0iVGhlIG5hbWUgb2YgdGhlIGRldmljZSBhcyBnaXZlbiBieSB0aGUgbWFudWZhY3R1cmVyIiBkZWZpbml0aW9uPSJUaGlzIHJlcHJlc2VudHMgdGhlIG1hbnVmYWN0dXJlcidzIG5hbWUgb2YgdGhlIGRldmljZSBhcyBwcm92aWRlZCBieSB0aGUgZGV2aWNlLCBmcm9tIGEgVURJIGxhYmVsLCBvciBieSBhIHBlcnNvbiBkZXNjcmliaW5nIHRoZSBEZXZpY2UuICBUaGlzIHR5cGljYWxseSB3b3VsZCBiZSB1c2VkIHdoZW4gYSBwZXJzb24gcHJvdmlkZXMgdGhlIG5hbWUocykgb3Igd2hlbiB0aGUgZGV2aWNlIHJlcHJlc2VudHMgb25lIG9mIHRoZSBuYW1lcyBhdmFpbGFibGUgZnJvbSBEZXZpY2VEZWZpbml0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkRldmljZS5EZXZpY2VOYW1lIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtb2RlbE51bWJlciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGhlIG1vZGVsIG51bWJlciBmb3IgdGhlIGRldmljZSIgZGVmaW5pdGlvbj0iVGhlIG1vZGVsIG51bWJlciBmb3IgdGhlIGRldmljZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE51bWJlciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGhlIHBhcnQgbnVtYmVyIG9mIHRoZSBkZXZpY2UiIGRlZmluaXRpb249IlRoZSBwYXJ0IG51bWJlciBvZiB0aGUgZGV2aWNlLiIgY29tbWVudD0iQWxwaGFudW1lcmljIE1heGltdW0gMjAuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRoZSBraW5kIG9yIHR5cGUgb2YgZGV2aWNlIiBkZWZpbml0aW9uPSJUaGUga2luZCBvciB0eXBlIG9mIGRldmljZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkNvZGVzIHRvIGlkZW50aWZ5IG1lZGljYWwgZGV2aWNlcyIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaWFsaXphdGlvbiIgZGVzY3JpcHRpb249IlRoZSBjYXBhYmlsaXRpZXMgc3VwcG9ydGVkIG9uIGEgIGRldmljZSwgdGhlIHN0YW5kYXJkcyB0byB3aGljaCB0aGUgZGV2aWNlIGNvbmZvcm1zIGZvciBhIHBhcnRpY3VsYXIgcHVycG9zZSwgYW5kIHVzZWQgZm9yIHRoZSBjb21tdW5pY2F0aW9uIiBkZWZpbml0aW9uPSJUaGUgY2FwYWJpbGl0aWVzIHN1cHBvcnRlZCBvbiBhICBkZXZpY2UsIHRoZSBzdGFuZGFyZHMgdG8gd2hpY2ggdGhlIGRldmljZSBjb25mb3JtcyBmb3IgYSBwYXJ0aWN1bGFyIHB1cnBvc2UsIGFuZCB1c2VkIGZvciB0aGUgY29tbXVuaWNhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5EZXZpY2UuU3BlY2lhbGl6YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InZlcnNpb24iIGRlc2NyaXB0aW9uPSJUaGUgYWN0dWFsIGRlc2lnbiBvZiB0aGUgZGV2aWNlIG9yIHNvZnR3YXJlIHZlcnNpb24gcnVubmluZyBvbiB0aGUgZGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGRlc2lnbiBvZiB0aGUgZGV2aWNlIG9yIHNvZnR3YXJlIHZlcnNpb24gcnVubmluZyBvbiB0aGUgZGV2aWNlLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkRldmljZS5WZXJzaW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwcm9wZXJ0eSIgZGVzY3JpcHRpb249IlRoZSBhY3R1YWwgY29uZmlndXJhdGlvbiBzZXR0aW5ncyBvZiBhIGRldmljZSBhcyBpdCBhY3R1YWxseSBvcGVyYXRlcywgZS5nLiwgcmVndWxhdGlvbiBzdGF0dXMsIHRpbWUgcHJvcGVydGllcyIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBjb25maWd1cmF0aW9uIHNldHRpbmdzIG9mIGEgZGV2aWNlIGFzIGl0IGFjdHVhbGx5IG9wZXJhdGVzLCBlLmcuLCByZWd1bGF0aW9uIHN0YXR1cywgdGltZSBwcm9wZXJ0aWVzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkRldmljZS5Qcm9wZXJ0eSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGF0aWVudCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJQYXRpZW50IHRvIHdob20gRGV2aWNlIGlzIGFmZml4ZWQiIGRlZmluaXRpb249IlBhdGllbnQgaW5mb3JtYXRpb24sIElmIHRoZSBkZXZpY2UgaXMgYWZmaXhlZCB0byBhIHBlcnNvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im93bmVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249Ik9yZ2FuaXphdGlvbiByZXNwb25zaWJsZSBmb3IgZGV2aWNlIiBkZWZpbml0aW9uPSJBbiBvcmdhbml6YXRpb24gdGhhdCBpcyByZXNwb25zaWJsZSBmb3IgdGhlIHByb3Zpc2lvbiBhbmQgb25nb2luZyBtYWludGVuYW5jZSBvZiB0aGUgZGV2aWNlLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJjb250YWN0IiBkZXNjcmlwdGlvbj0iRGV0YWlscyBmb3IgaHVtYW4vb3JnYW5pemF0aW9uIGZvciBzdXBwb3J0IiBkZWZpbml0aW9uPSJDb250YWN0IGRldGFpbHMgZm9yIGFuIG9yZ2FuaXphdGlvbiBvciBhIHBhcnRpY3VsYXIgaHVtYW4gdGhhdCBpcyByZXNwb25zaWJsZSBmb3IgdGhlIGRldmljZS4iIGNvbW1lbnQ9InVzZWQgZm9yIHRyb3VibGVzaG9vdGluZyBldGMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ29udGFjdFBvaW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaGVyZSB0aGUgZGV2aWNlIGlzIGZvdW5kIiBkZWZpbml0aW9uPSJUaGUgcGxhY2Ugd2hlcmUgdGhlIGRldmljZSBjYW4gYmUgZm91bmQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InVybCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTmV0d29yayBhZGRyZXNzIHRvIGNvbnRhY3QgZGV2aWNlIiBkZWZpbml0aW9uPSJBIG5ldHdvcmsgYWRkcmVzcyBvbiB3aGljaCB0aGUgZGV2aWNlIG1heSBiZSBjb250YWN0ZWQgZGlyZWN0bHkuIiBjb21tZW50PSJJZiB0aGUgZGV2aWNlIGlzIHJ1bm5pbmcgYSBGSElSIHNlcnZlciwgdGhlIG5ldHdvcmsgYWRkcmVzcyBzaG91bGQgIGJlIHRoZSBCYXNlIFVSTCBmcm9tIHdoaWNoIGEgY29uZm9ybWFuY2Ugc3RhdGVtZW50IG1heSBiZSByZXRyaWV2ZWQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJEZXZpY2Ugbm90ZXMgYW5kIGNvbW1lbnRzIiBkZWZpbml0aW9uPSJEZXNjcmlwdGl2ZSBpbmZvcm1hdGlvbiwgdXNhZ2UgaW5mb3JtYXRpb24gb3IgaW1wbGFudGF0aW9uIGluZm9ybWF0aW9uIHRoYXQgaXMgbm90IGNhcHR1cmVkIGluIGFuIGV4aXN0aW5nIGVsZW1lbnQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2FmZXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU2FmZXR5IENoYXJhY3RlcmlzdGljcyBvZiBEZXZpY2UiIGRlZmluaXRpb249IlByb3ZpZGVzIGFkZGl0aW9uYWwgc2FmZXR5IGNoYXJhY3RlcmlzdGljcyBhYm91dCBhIG1lZGljYWwgZGV2aWNlLiAgRm9yIGV4YW1wbGUgZGV2aWNlcyBjb250YWluaW5nIGxhdGV4LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhcmVudCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJUaGUgcGFyZW50IGRldmljZSIgZGVmaW5pdGlvbj0iVGhlIHBhcmVudCBkZXZpY2UuIi8+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlT2JzZXJ2YXRpb25TRE9IQXNzZXNzbWVudCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vdXMtY29yZS1vYnNlcnZhdGlvbi1zZG9oLWFzc2Vzc21lbnQiIGxhYmVsPSJVUyBDb3JlIE9ic2VydmF0aW9uIFNET0ggQXNzZXNzbWVudCBQcm9maWxlIiB0YXJnZXQ9Ik9ic2VydmF0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkJ1c2luZXNzIElkZW50aWZpZXIgZm9yIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIHVuaXF1ZSBpZGVudGlmaWVyIGFzc2lnbmVkIHRvIHRoaXMgb2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IkZ1bGZpbGxzIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIiBkZWZpbml0aW9uPSJBIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBldmVudC4gIEZvciBleGFtcGxlLCBhIE1lZGljYXRpb25SZXF1ZXN0IG1heSByZXF1aXJlIGEgcGF0aWVudCB0byBoYXZlIGxhYm9yYXRvcnkgdGVzdCBwZXJmb3JtZWQgYmVmb3JlICBpdCBpcyBkaXNwZW5zZWQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBPYnNlcnZhdGlvbiBpcyBhIGNvbXBvbmVudCBvciBzdGVwLiAgRm9yIGV4YW1wbGUsICBhbiBvYnNlcnZhdGlvbiBhcyBwYXJ0IG9mIGEgcHJvY2VkdXJlLiIgY29tbWVudD0iVG8gbGluayBhbiBPYnNlcnZhdGlvbiB0byBhbiBFbmNvdW50ZXIgdXNlIGBlbmNvdW50ZXJgLiAgU2VlIHRoZSAgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93IGZvciBndWlkYW5jZSBvbiByZWZlcmVuY2luZyBhbm90aGVyIE9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InJlZ2lzdGVyZWQgfCBwcmVsaW1pbmFyeSB8IGZpbmFsIHwgYW1lbmRlZCArIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSByZXN1bHQgdmFsdWUuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uU3RhdHVzIiBkZXNjcmlwdGlvbj0iQ29kZXMgcHJvdmlkaW5nIHRoZSBzdGF0dXMgb2YgYW4gb2JzZXJ2YXRpb24uIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdXJ2ZXkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InNkb2giIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlR5cGUgb2Ygb2JzZXJ2YXRpb24gKGNvZGUgLyB0eXBlKSIgZGVmaW5pdGlvbj0iRGVzY3JpYmVzIHdoYXQgd2FzIG9ic2VydmVkLiBTb21ldGltZXMgdGhpcyBpcyBjYWxsZWQgdGhlIG9ic2VydmF0aW9uICZxdW90O25hbWUmcXVvdDsuIiBjb21tZW50PSIqQWxsKiBjb2RlLXZhbHVlIGFuZCwgaWYgcHJlc2VudCwgY29tcG9uZW50LmNvZGUtY29tcG9uZW50LnZhbHVlIHBhaXJzIG5lZWQgdG8gYmUgdGFrZW4gaW50byBhY2NvdW50IHRvIGNvcnJlY3RseSB1bmRlcnN0YW5kIHRoZSBtZWFuaW5nIG9mIHRoZSBvYnNlcnZhdGlvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIGFuZC9vciB3aGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCIgZGVmaW5pdGlvbj0iVGhlIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIHRoaXMgb2JzZXJ2YXRpb24gaXMgYWJvdXQgYW5kIGludG8gd2hvc2UgcmVjb3JkIHRoZSBvYnNlcnZhdGlvbiBpcyBwbGFjZWQuIElmIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBzdWJqZWN0IChvciBhIHNhbXBsZSBvZiwgcGFydCwgb3IgcmVnaW9uIG9mIHRoZSBzdWJqZWN0KSwgdGhlIGBmb2N1c2AgZWxlbWVudCBvciB0aGUgYGNvZGVgIGl0c2VsZiBzcGVjaWZpZXMgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmUgd291bGQgZXhwZWN0IHRoaXMgZWxlbWVudCB0byBiZSBhIGNhcmRpbmFsaXR5IG9mIDEuLjEuIFRoZSBvbmx5IGNpcmN1bXN0YW5jZSBpbiB3aGljaCB0aGUgc3ViamVjdCBjYW4gYmUgbWlzc2luZyBpcyB3aGVuIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGJ5IGEgZGV2aWNlIHRoYXQgZG9lcyBub3Qga25vdyB0aGUgcGF0aWVudC4gSW4gdGhpcyBjYXNlLCB0aGUgb2JzZXJ2YXRpb24gU0hBTEwgYmUgbWF0Y2hlZCB0byBhIHBhdGllbnQgdGhyb3VnaCBzb21lIGNvbnRleHQvY2hhbm5lbCBtYXRjaGluZyB0ZWNobmlxdWUsIGFuZCBhdCB0aGlzIHBvaW50LCB0aGUgb2JzZXJ2YXRpb24gc2hvdWxkIGJlIHVwZGF0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJmb2N1cyIgZGVzY3JpcHRpb249IldoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0LCB3aGVuIGl0IGlzIG5vdCBhYm91dCB0aGUgc3ViamVjdCBvZiByZWNvcmQiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gd2hlbiBpdCBpcyBub3QgdGhlIHBhdGllbnQgb2YgcmVjb3JkIHJlcHJlc2VudGluZyBzb21ldGhpbmcgb3Igc29tZW9uZSBhc3NvY2lhdGVkIHdpdGggdGhlIHBhdGllbnQgc3VjaCBhcyBhIHNwb3VzZSwgcGFyZW50LCBmZXR1cywgb3IgZG9ub3IuIEZvciBleGFtcGxlLCBmZXR1cyBvYnNlcnZhdGlvbnMgaW4gYSBtb3RoZXIncyByZWNvcmQuICBUaGUgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gY291bGQgYWxzbyBiZSBhbiBleGlzdGluZyBjb25kaXRpb24sICBhbiBpbnRlcnZlbnRpb24sIHRoZSBzdWJqZWN0J3MgZGlldCwgIGFub3RoZXIgb2JzZXJ2YXRpb24gb2YgdGhlIHN1YmplY3QsICBvciBhIGJvZHkgc3RydWN0dXJlIHN1Y2ggYXMgdHVtb3Igb3IgaW1wbGFudGVkIGRldmljZS4gICBBbiBleGFtcGxlIHVzZSBjYXNlIHdvdWxkIGJlIHVzaW5nIHRoZSBPYnNlcnZhdGlvbiByZXNvdXJjZSB0byBjYXB0dXJlIHdoZXRoZXIgdGhlIG1vdGhlciBpcyB0cmFpbmVkIHRvIGNoYW5nZSBoZXIgY2hpbGQncyB0cmFjaGVvc3RvbXkgdHViZS4gSW4gdGhpcyBleGFtcGxlLCB0aGUgY2hpbGQgaXMgdGhlIHBhdGllbnQgb2YgcmVjb3JkIGFuZCB0aGUgbW90aGVyIGlzIHRoZSBmb2N1cy4iIGNvbW1lbnQ9IlR5cGljYWxseSwgYW4gb2JzZXJ2YXRpb24gaXMgbWFkZSBhYm91dCB0aGUgc3ViamVjdCAtIGEgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgLSBhbmQgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhlIHN1YmplY3QgYW5kIHdoYXQgaXMgZGlyZWN0bHkgbWVhc3VyZWQgZm9yIGFuIG9ic2VydmF0aW9uIGlzIHNwZWNpZmllZCBpbiB0aGUgb2JzZXJ2YXRpb24gY29kZSBpdHNlbGYgKCBlLmcuLCAmcXVvdDtCbG9vZCBHbHVjb3NlJnF1b3Q7KSBhbmQgZG9lcyBub3QgbmVlZCB0byBiZSByZXByZXNlbnRlZCBzZXBhcmF0ZWx5IHVzaW5nIHRoaXMgZWxlbWVudC4gIFVzZSBgc3BlY2ltZW5gIGlmIGEgcmVmZXJlbmNlIHRvIGEgc3BlY2ltZW4gaXMgcmVxdWlyZWQuICBJZiBhIGNvZGUgaXMgcmVxdWlyZWQgaW5zdGVhZCBvZiBhIHJlc291cmNlIHVzZSBlaXRoZXIgIGBib2R5c2l0ZWAgZm9yIGJvZHlzaXRlcyBvciB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtmb2N1c0NvZGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLW9ic2VydmF0aW9uLWZvY3VzY29kZS5odG1sKS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJIZWFsdGhjYXJlIGV2ZW50IGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUiIGRlZmluaXRpb249IlRoZSBoZWFsdGhjYXJlIGV2ZW50ICAoZS5nLiBhIHBhdGllbnQgYW5kIGhlYWx0aGNhcmUgcHJvdmlkZXIgaW50ZXJhY3Rpb24pIGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgZXZlbnRzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIgKGUuZy4gcHJlLWFkbWlzc2lvbiBsYWJvcmF0b3J5IHRlc3RzKS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNsaW5pY2FsbHkgcmVsZXZhbnQgdGltZS90aW1lLXBlcmlvZCBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSB0aW1lIG9yIHRpbWUtcGVyaW9kIHRoZSBvYnNlcnZlZCB2YWx1ZSBpcyBhc3NlcnRlZCBhcyBiZWluZyB0cnVlLiBGb3IgYmlvbG9naWNhbCBzdWJqZWN0cyAtIGUuZy4gaHVtYW4gcGF0aWVudHMgLSB0aGlzIGlzIHVzdWFsbHkgY2FsbGVkIHRoZSAmcXVvdDtwaHlzaW9sb2dpY2FsbHkgcmVsZXZhbnQgdGltZSZxdW90Oy4iIGNvbW1lbnQ9IkF0IGxlYXN0IGEgZGF0ZSBzaG91bGQgYmUgcHJlc2VudCB1bmxlc3MgdGhpcyBvYnNlcnZhdGlvbiBpcyBhIGhpc3RvcmljYWwgcmVwb3J0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGltaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InVzLWNvcmUtMSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJEYXRldGltZSBtdXN0IGJlIGF0IGxlYXN0IHRvIGRheS4iPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iJHRoaXMgaXMgRGF0ZVRpbWUgaW1wbGllcyAkdGhpcy50b1N0cmluZygpLmxlbmd0aCgpID49IDEwIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IldobyB3YXMgcmVzcG9uc2libGUgZm9yIGFzc2VydGluZyB0aGUgb2JzZXJ2ZWQgdmFsdWUgYXMgJnF1b3Q7dHJ1ZSZxdW90Oy4iIGNvbW1lbnQ9IlNvbWUgcXVlc3Rpb25zIG9uIHF1ZXN0aW9ubmFpcmVzIGFyZSBub3QgYW5zd2VyZWQgZGlyZWN0bHkgKGUuZy4sIGFzc2VydGVkKSBieSB0aGUgaW5kaXZpZHVhbCBjb21wbGV0aW5nIHRoZSBxdWVzdGlvbm5haXJlLCBidXQgYXJlIGRlcml2ZWQgZnJvbSBhbnN3ZXJzIHRvIG9uZSBvciBtb3JlIG90aGVyIHF1ZXN0aW9ucy4gRm9yIHR5cGVzIG9mIGFuc3dlcnMsIGBPYnNlcnZhdGlvbi5wZXJmb3JtZXJgIHNob3VsZCBub3QgYmUgc3BlY2lmaWVkIGFuZCBgT2JzZXJ2YXRpb24uZGVyaXZlZEZyb21gIHNob3VsZCByZWZlcmVuY2UgdGhlIHJlbGV2YW50IFNjcmVlbmluZyBSZXNwb25zZSBPYnNlcnZhdGlvbihzKS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBY3R1YWwgcmVzdWx0IiBkZWZpbml0aW9uPSJUaGUgaW5mb3JtYXRpb24gZGV0ZXJtaW5lZCBhcyBhIHJlc3VsdCBvZiBtYWtpbmcgdGhlIG9ic2VydmF0aW9uLCBpZiB0aGUgaW5mb3JtYXRpb24gaGFzIGEgc2ltcGxlIHZhbHVlLiIgY29tbWVudD0iQW4gb2JzZXJ2YXRpb24gbWF5IGhhdmUgYSB2YWx1ZSBpZiBpdCByZXByZXNlbnRzIGFuIGluZGl2aWR1YWwgc3VydmV5IHF1ZXN0aW9uIGFuZCBhbnN3ZXIgcGFpci4gQW4gb2JzZXJ2YXRpb24gc2hvdWxkIG5vdCBoYXZlIGEgdmFsdWUgaWYgaXQgcmVwcmVzZW50cyBhIG11bHRpLXF1ZXN0aW9uIHN1cnZleSBvciBtdWx0aS1zZWxlY3Qg4oCcY2hlY2sgYWxsIHRoYXQgYXBwbHnigJ0gcXVlc3Rpb24uIElmIGEgdmFsdWUgaXMgcHJlc2VudCwgdGhlIGRhdGF0eXBlIGZvciB0aGlzIGVsZW1lbnQgc2hvdWxkIGJlIGRldGVybWluZWQgYnkgT2JzZXJ2YXRpb24uY29kZS4gIEEgQ29kZWFibGVDb25jZXB0IHdpdGgganVzdCBhIHRleHQgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGlmIHRoZSBmaWVsZCB3YXMgdXN1YWxseSBjb2RlZCwgb3IgaWYgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBPYnNlcnZhdGlvbi5jb2RlIGRlZmluZXMgYSBjb2RlZCB2YWx1ZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJSYXRpbyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTYW1wbGVkRGF0YSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGFBYnNlbnRSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoeSB0aGUgcmVzdWx0IGlzIG1pc3NpbmciIGRlZmluaXRpb249IlByb3ZpZGVzIGEgcmVhc29uIHdoeSB0aGUgZXhwZWN0ZWQgdmFsdWUgaW4gdGhlIGVsZW1lbnQgT2JzZXJ2YXRpb24udmFsdWVbeF0gaXMgbWlzc2luZy4iIGNvbW1lbnQ9IiZxdW90O051bGwmcXVvdDsgb3IgZXhjZXB0aW9uYWwgdmFsdWVzIGNhbiBiZSByZXByZXNlbnRlZCB0d28gd2F5cyBpbiBGSElSIE9ic2VydmF0aW9ucy4gIE9uZSB3YXkgaXMgdG8gc2ltcGx5IGluY2x1ZGUgdGhlbSBpbiB0aGUgdmFsdWUgc2V0IGFuZCByZXByZXNlbnQgdGhlIGV4Y2VwdGlvbnMgaW4gdGhlIHZhbHVlLiAgVGhlIGFsdGVybmF0ZSB3YXkgaXMgdG8gdXNlIHRoZSB2YWx1ZSBlbGVtZW50IGZvciBhY3R1YWwgb2JzZXJ2YXRpb25zIGFuZCB1c2UgdGhlIGV4cGxpY2l0IGRhdGFBYnNlbnRSZWFzb24gZWxlbWVudCB0byByZWNvcmQgZXhjZXB0aW9uYWwgdmFsdWVzLiBGb3IgYSBnaXZlbiBMT0lOQyBxdWVzdGlvbiwgaWYgdGhlIExPSU5DIGFuc3dlciBsaXN0IGluY2x1ZGVzIGNvbmNlcHRzIHN1Y2ggYXMgJ3Vua25vd24nIG9yICdub3QgYXZhaWxhYmxlJywgdGhleSBzaG91bGQgYmUgdXNlZCBmb3IgT2JzZXJ2YXRpb24udmFsdWUuIFdoZXJlIHRoZXNlIGNvbmNlcHRzIGFyZSBub3QgcGFydCBvZiB0aGUgdmFsdWUgc2V0IGZvciBPYnNlcnZhdGlvbi52YWx1ZSwgdGhlIE9ic2VydmF0aW9uLmRhdGFBYnNlbnRSZWFzb24gY2FuIGJlIHVzZWQgaWYgbmVjZXNzYXJ5IGFuZCBhcHByb3ByaWF0ZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25WYWx1ZUFic2VudFJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIHNwZWNpZnlpbmcgd2h5IHRoZSByZXN1bHQgKGBPYnNlcnZhdGlvbi52YWx1ZVt4XWApIGlzIG1pc3NpbmcuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImludGVycHJldGF0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGlnaCwgbG93LCBub3JtYWwsIGV0Yy4iIGRlZmluaXRpb249IkEgY2F0ZWdvcmljYWwgYXNzZXNzbWVudCBvZiBhbiBvYnNlcnZhdGlvbiB2YWx1ZS4gIEZvciBleGFtcGxlLCBoaWdoLCBsb3csIG5vcm1hbC4iIGNvbW1lbnQ9Ikhpc3RvcmljYWxseSB1c2VkIGZvciBsYWJvcmF0b3J5IHJlc3VsdHMgKGtub3duIGFzICdhYm5vcm1hbCBmbGFnJyApLCAgaXRzIHVzZSBleHRlbmRzIHRvIG90aGVyIHVzZSBjYXNlcyB3aGVyZSBjb2RlZCBpbnRlcnByZXRhdGlvbnMgIGFyZSByZWxldmFudC4gIE9mdGVuIHJlcG9ydGVkIGFzIG9uZSBvciBtb3JlIHNpbXBsZSBjb21wYWN0IGNvZGVzIHRoaXMgZWxlbWVudCBpcyBvZnRlbiBwbGFjZWQgYWRqYWNlbnQgdG8gdGhlIHJlc3VsdCB2YWx1ZSBpbiByZXBvcnRzIGFuZCBmbG93IHNoZWV0cyB0byBzaWduYWwgdGhlIG1lYW5pbmcvbm9ybWFsY3kgc3RhdHVzIG9mIHRoZSByZXN1bHQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uSW50ZXJwcmV0YXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBpbnRlcnByZXRhdGlvbnMgb2Ygb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24gb3IgdGhlIHJlc3VsdHMuIiBjb21tZW50PSJNYXkgaW5jbHVkZSBnZW5lcmFsIHN0YXRlbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uLCBvciBzdGF0ZW1lbnRzIGFib3V0IHNpZ25pZmljYW50LCB1bmV4cGVjdGVkIG9yIHVucmVsaWFibGUgcmVzdWx0cyB2YWx1ZXMsIG9yIGluZm9ybWF0aW9uIGFib3V0IGl0cyBzb3VyY2Ugd2hlbiByZWxldmFudCB0byBpdHMgaW50ZXJwcmV0YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik9ic2VydmVkIGJvZHkgcGFydCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBzaXRlIG9uIHRoZSBzdWJqZWN0J3MgYm9keSB3aGVyZSB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgKGkuZS4gdGhlIHRhcmdldCBzaXRlKS4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBPYnNlcnZhdGlvbi5jb2RlLiAgSW4gbWFueSBzeXN0ZW1zLCB0aGlzIG1heSBiZSByZXByZXNlbnRlZCBhcyBhIHJlbGF0ZWQgb2JzZXJ2YXRpb24gaW5zdGVhZCBvZiBhbiBpbmxpbmUgY29tcG9uZW50LiAgICYjeGE7JiN4YTtJZiB0aGUgdXNlIGNhc2UgcmVxdWlyZXMgQm9keVNpdGUgdG8gYmUgaGFuZGxlZCBhcyBhIHNlcGFyYXRlIHJlc291cmNlIChlLmcuIHRvIGlkZW50aWZ5IGFuZCB0cmFjayBzZXBhcmF0ZWx5KSB0aGVuIHVzZSB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uWyBib2R5U2l0ZV0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9leHRlbnNpb24tYm9keXNpdGUuaHRtbCkuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQm9keVNpdGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGFuYXRvbWljYWwgbG9jYXRpb25zLiBNYXkgaW5jbHVkZSBsYXRlcmFsaXR5LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBpdCB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWNoYW5pc20gdXNlZCB0byBwZXJmb3JtIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3IgT2JzZXJ2YXRpb24uY29kZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpbWVuIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlNwZWNpbWVuIHVzZWQgZm9yIHRoaXMgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSBzcGVjaW1lbiB0aGF0IHdhcyB1c2VkIHdoZW4gdGhpcyBvYnNlcnZhdGlvbiB3YXMgbWFkZS4iIGNvbW1lbnQ9IlNob3VsZCBvbmx5IGJlIHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gYE9ic2VydmF0aW9uLmNvZGVgLiAgT2JzZXJ2YXRpb25zIGFyZSBub3QgbWFkZSBvbiBzcGVjaW1lbnMgdGhlbXNlbHZlczsgdGhleSBhcmUgbWFkZSBvbiBhIHN1YmplY3QsIGJ1dCBpbiBtYW55IGNhc2VzIGJ5IHRoZSBtZWFucyBvZiBhIHNwZWNpbWVuLiBOb3RlIHRoYXQgYWx0aG91Z2ggc3BlY2ltZW5zIGFyZSBvZnRlbiBpbnZvbHZlZCwgdGhleSBhcmUgbm90IGFsd2F5cyB0cmFja2VkIGFuZCByZXBvcnRlZCBleHBsaWNpdGx5LiBBbHNvIG5vdGUgdGhhdCBvYnNlcnZhdGlvbiByZXNvdXJjZXMgbWF5IGJlIHVzZWQgaW4gY29udGV4dHMgdGhhdCB0cmFjayB0aGUgc3BlY2ltZW4gZXhwbGljaXRseSAoZS5nLiBEaWFnbm9zdGljIFJlcG9ydCkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRldmljZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoTWVhc3VyZW1lbnQpIERldmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBvYnNlcnZhdGlvbiBkYXRhLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgaXMgbm90IG1lYW50IHRvIHJlcHJlc2VudCBhIGRldmljZSBpbnZvbHZlZCBpbiB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoZSByZXN1bHQsIGUuZy4sIGEgZ2F0ZXdheS4gIFN1Y2ggZGV2aWNlcyBtYXkgYmUgZG9jdW1lbnRlZCB1c2luZyB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZSB3aGVyZSByZWxldmFudC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVmZXJlbmNlUmFuZ2UiIGRlc2NyaXB0aW9uPSJQcm92aWRlcyBndWlkZSBmb3IgaW50ZXJwcmV0YXRpb24iIGRlZmluaXRpb249Ikd1aWRhbmNlIG9uIGhvdyB0byBpbnRlcnByZXQgdGhlIHZhbHVlIGJ5IGNvbXBhcmlzb24gdG8gYSBub3JtYWwgb3IgcmVjb21tZW5kZWQgcmFuZ2UuICBNdWx0aXBsZSByZWZlcmVuY2UgcmFuZ2VzIGFyZSBpbnRlcnByZXRlZCBhcyBhbiAmcXVvdDtPUiZxdW90Oy4gICBJbiBvdGhlciB3b3JkcywgdG8gcmVwcmVzZW50IHR3byBkaXN0aW5jdCB0YXJnZXQgcG9wdWxhdGlvbnMsIHR3byBgcmVmZXJlbmNlUmFuZ2VgIGVsZW1lbnRzIHdvdWxkIGJlIHVzZWQuIiBjb21tZW50PSJNb3N0IG9ic2VydmF0aW9ucyBvbmx5IGhhdmUgb25lIGdlbmVyaWMgcmVmZXJlbmNlIHJhbmdlLiBTeXN0ZW1zIE1BWSBjaG9vc2UgdG8gcmVzdHJpY3QgdG8gb25seSBzdXBwbHlpbmcgdGhlIHJlbGV2YW50IHJlZmVyZW5jZSByYW5nZSBiYXNlZCBvbiBrbm93bGVkZ2UgYWJvdXQgdGhlIHBhdGllbnQgKGUuZy4sIHNwZWNpZmljIHRvIHRoZSBwYXRpZW50J3MgYWdlLCBnZW5kZXIsIHdlaWdodCBhbmQgb3RoZXIgZmFjdG9ycyksIGJ1dCB0aGlzIG1pZ2h0IG5vdCBiZSBwb3NzaWJsZSBvciBhcHByb3ByaWF0ZS4gV2hlbmV2ZXIgbW9yZSB0aGFuIG9uZSByZWZlcmVuY2UgcmFuZ2UgaXMgc3VwcGxpZWQsIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZW0gU0hPVUxEIGJlIHByb3ZpZGVkIGluIHRoZSByZWZlcmVuY2UgcmFuZ2UgYW5kL29yIGFnZSBwcm9wZXJ0aWVzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0ib2JzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iTXVzdCBoYXZlIGF0IGxlYXN0IGEgbG93IG9yIGEgaGlnaCBvciB0ZXh0Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Imxvdy5leGlzdHMoKSBvciBoaWdoLmV4aXN0cygpIG9yIHRleHQuZXhpc3RzKCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imhhc01lbWJlciIgZGVzY3JpcHRpb249IkluZGl2aWR1YWwgT2JzZXJ2YXRpb25zIHRoYXQgYmVsb25nIHRvIGFuIFNET0ggbXVsdGktcXVlc3Rpb24gc3J1dmV5IG9yIG11bHRpLXNlbGVjdCBxdWVzdGlvbi4iIGRlZmluaXRpb249IkFnZ3JlZ2F0ZSBzZXQgb2YgT2JzZXJ2YXRpb25zIHRoYXQgcmVwcmVzZW50IHF1ZXN0aW9uIGFuc3dlciBwYWlycyBmb3IgYm90aCBtdWx0aS1xdWVzdGlvbiBzdXJ2ZXlzIGFuZCBtdWx0aS1zZWxlY3QgcXVlc3Rpb25zLiIgY29tbWVudD0iVGhpcyBncm91cGluZyBlbGVtZW50IGlzIHVzZWQgdG8gcmVwcmVzZW50IHN1cnZleXMgdGhhdCBncm91cCBzZXZlcmFsIHF1ZXN0aW9ucyB0b2dldGhlciBvciBpbmRpdmlkdWFsIHF1ZXN0aW9ucyB3aXRoICDigJxjaGVjayBhbGwgdGhhdCBhcHBseeKAnSByZXNwb25zZXMuIEZvciBleGFtcGxlIGluIHRoZSBzaW1wbGVzdCBjYXNlIGEgZmxhdCBtdWx0aS1xdWVzdGlvbiBzdXJ2ZXkgd2hlcmUgdGhlICZxdW90O3BhbmVsJnF1b3Q7IG9ic2VydmF0aW9uIGlzIHRoZSBzdXJ2ZXkgaW5zdHJ1bWVudCBpdHNlbGYgYW5kIGluc3RlYWQgb2YgYW4gYE9ic2VydmF0aW9uLnZhbHVlYCB0aGUgYGhhc01lbWJlcmAgZWxlbWVudCByZWZlcmVuY2VzIG90aGVyIE9ic2VydmF0aW9uIHRoYXQgcmVwcmVzZW50IHRoZSBpbmRpdmlkdWFsIHF1ZXN0aW9ucyBhbnN3ZXIgcGFpcnMuIEluIGEgc3VydmV5IHRoYXQgaGFzIGEgaGVpcmFyY2hpY2FsIGdyb3VwaW5nIG9mIHF1ZXN0aW9ucywgdGhlIG9ic2VydmF0aW9uICZxdW90O3BhbmVscyZxdW90OyBjYW4gYmUgbmVzdGVkLiBCZWNhdXNlIHN1cnZleXMgY2FuIGJlIGFyYml0cmFyaWx5IGNvbXBsZXggc3RydWN0dXJhbGx5LCBub3QgYWxsIHN1cnZleSBzdHJ1Y3R1cmVzIGNhbiBiZSByZXByZXNlbnRlZCB1c2luZyB0aGlzIE9ic2VydmF0aW9uIGdyb3VwaW5nIHBhdHRlcm4uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIE9ic2VydmF0aW9ucyBvciBRdWVzdGlvbm5haXJlUmVzcG9uc2VzIHRoYXQgdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgZnJvbSIgZGVmaW5pdGlvbj0iT2JzZXJ2YXRpb25zIG9yIFF1ZXN0aW9ubmFpcmVSZXNwb25zZXMgZnJvbSB3aGljaCB0aGlzIG9ic2VydmF0aW9uIHZhbHVlIGlzIGRlcml2ZWQuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbXBvbmVudCIgZGVzY3JpcHRpb249IkNvbXBvbmVudCByZXN1bHRzIiBkZWZpbml0aW9uPSJTb21lIG9ic2VydmF0aW9ucyBoYXZlIG11bHRpcGxlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMuICBUaGVzZSBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGFyZSBleHByZXNzZWQgYXMgc2VwYXJhdGUgY29kZSB2YWx1ZSBwYWlycyB0aGF0IHNoYXJlIHRoZSBzYW1lIGF0dHJpYnV0ZXMuICBFeGFtcGxlcyBpbmNsdWRlIHN5c3RvbGljIGFuZCBkaWFzdG9saWMgY29tcG9uZW50IG9ic2VydmF0aW9ucyBmb3IgYmxvb2QgcHJlc3N1cmUgbWVhc3VyZW1lbnQgYW5kIG11bHRpcGxlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgZm9yIGdlbmV0aWNzIG9ic2VydmF0aW9ucy4iIGNvbW1lbnQ9IkZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBiZSBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVTQ29yZU9ic2VydmF0aW9uU2V4dWFsT3JpZW50YXRpb25Qcm9maWxlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLW9ic2VydmF0aW9uLXNleHVhbC1vcmllbnRhdGlvbiIgbGFiZWw9IlVTIENvcmUgT2JzZXJ2YXRpb24gU2V4dWFsIE9yaWVudGF0aW9uIFByb2ZpbGUiIHRhcmdldD0iT2JzZXJ2YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IlBhcnQgb2YgcmVmZXJlbmNlZCBldmVudCIgZGVmaW5pdGlvbj0iQSBsYXJnZXIgZXZlbnQgb2Ygd2hpY2ggdGhpcyBwYXJ0aWN1bGFyIE9ic2VydmF0aW9uIGlzIGEgY29tcG9uZW50IG9yIHN0ZXAuICBGb3IgZXhhbXBsZSwgIGFuIG9ic2VydmF0aW9uIGFzIHBhcnQgb2YgYSBwcm9jZWR1cmUuIiBjb21tZW50PSJUbyBsaW5rIGFuIE9ic2VydmF0aW9uIHRvIGFuIEVuY291bnRlciB1c2UgYGVuY291bnRlcmAuICBTZWUgdGhlICBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cgZm9yIGd1aWRhbmNlIG9uIHJlZmVyZW5jaW5nIGFub3RoZXIgT2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InJlZ2lzdGVyZWQgfCBwcmVsaW1pbmFyeSB8IGZpbmFsIHwgYW1lbmRlZCArIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSByZXN1bHQgdmFsdWUuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU2V4dWFsIE9yaWVudGF0aW9uIiBkZWZpbml0aW9uPSJEZXNjcmliZXMgd2hhdCB3YXMgb2JzZXJ2ZWQuIFNvbWV0aW1lcyB0aGlzIGlzIGNhbGxlZCB0aGUgb2JzZXJ2YXRpb24gJnF1b3Q7bmFtZSZxdW90Oy4iIGNvbW1lbnQ9IipBbGwqIGNvZGUtdmFsdWUgYW5kLCBpZiBwcmVzZW50LCBjb21wb25lbnQuY29kZS1jb21wb25lbnQudmFsdWUgcGFpcnMgbmVlZCB0byBiZSB0YWtlbiBpbnRvIGFjY291bnQgdG8gY29ycmVjdGx5IHVuZGVyc3RhbmQgdGhlIG1lYW5pbmcgb2YgdGhlIG9ic2VydmF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNvZGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBuYW1lcyBvZiBzaW1wbGUgb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jdXMiIGRlc2NyaXB0aW9uPSJXaGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCwgd2hlbiBpdCBpcyBub3QgYWJvdXQgdGhlIHN1YmplY3Qgb2YgcmVjb3JkIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIHdoZW4gaXQgaXMgbm90IHRoZSBwYXRpZW50IG9mIHJlY29yZCByZXByZXNlbnRpbmcgc29tZXRoaW5nIG9yIHNvbWVvbmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYXRpZW50IHN1Y2ggYXMgYSBzcG91c2UsIHBhcmVudCwgZmV0dXMsIG9yIGRvbm9yLiBGb3IgZXhhbXBsZSwgZmV0dXMgb2JzZXJ2YXRpb25zIGluIGEgbW90aGVyJ3MgcmVjb3JkLiAgVGhlIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIGNvdWxkIGFsc28gYmUgYW4gZXhpc3RpbmcgY29uZGl0aW9uLCAgYW4gaW50ZXJ2ZW50aW9uLCB0aGUgc3ViamVjdCdzIGRpZXQsICBhbm90aGVyIG9ic2VydmF0aW9uIG9mIHRoZSBzdWJqZWN0LCAgb3IgYSBib2R5IHN0cnVjdHVyZSBzdWNoIGFzIHR1bW9yIG9yIGltcGxhbnRlZCBkZXZpY2UuICAgQW4gZXhhbXBsZSB1c2UgY2FzZSB3b3VsZCBiZSB1c2luZyB0aGUgT2JzZXJ2YXRpb24gcmVzb3VyY2UgdG8gY2FwdHVyZSB3aGV0aGVyIHRoZSBtb3RoZXIgaXMgdHJhaW5lZCB0byBjaGFuZ2UgaGVyIGNoaWxkJ3MgdHJhY2hlb3N0b215IHR1YmUuIEluIHRoaXMgZXhhbXBsZSwgdGhlIGNoaWxkIGlzIHRoZSBwYXRpZW50IG9mIHJlY29yZCBhbmQgdGhlIG1vdGhlciBpcyB0aGUgZm9jdXMuIiBjb21tZW50PSJUeXBpY2FsbHksIGFuIG9ic2VydmF0aW9uIGlzIG1hZGUgYWJvdXQgdGhlIHN1YmplY3QgLSBhIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIC0gYW5kIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRoZSBzdWJqZWN0IGFuZCB3aGF0IGlzIGRpcmVjdGx5IG1lYXN1cmVkIGZvciBhbiBvYnNlcnZhdGlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIG9ic2VydmF0aW9uIGNvZGUgaXRzZWxmICggZS5nLiwgJnF1b3Q7Qmxvb2QgR2x1Y29zZSZxdW90OykgYW5kIGRvZXMgbm90IG5lZWQgdG8gYmUgcmVwcmVzZW50ZWQgc2VwYXJhdGVseSB1c2luZyB0aGlzIGVsZW1lbnQuICBVc2UgYHNwZWNpbWVuYCBpZiBhIHJlZmVyZW5jZSB0byBhIHNwZWNpbWVuIGlzIHJlcXVpcmVkLiAgSWYgYSBjb2RlIGlzIHJlcXVpcmVkIGluc3RlYWQgb2YgYSByZXNvdXJjZSB1c2UgZWl0aGVyICBgYm9keXNpdGVgIGZvciBib2R5c2l0ZXMgb3IgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbZm9jdXNDb2RlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1vYnNlcnZhdGlvbi1mb2N1c2NvZGUuaHRtbCkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGluaWNhbGx5IHJlbGV2YW50IHRpbWUvdGltZS1wZXJpb2QgZm9yIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGlzIHJlY29yZHMgdGhlIHRpbWUgZHVyaW5nIHdoaWNoIHRoZSBwYXRpZW50IGhhZCBpZGVudGlmaWVkIHRoZWlyIGVtb3Rpb25hbCwgcm9tYW50aWMsIHNleHVhbCwgb3IgYWZmZWN0aW9uYWwgYXR0cmFjdGlvbiB0byBhbm90aGVyIHBlcnNvbi4iIGNvbW1lbnQ9IkF0IGxlYXN0IGEgZGF0ZSBzaG91bGQgYmUgcHJlc2VudCB1bmxlc3MgdGhpcyBvYnNlcnZhdGlvbiBpcyBhIGhpc3RvcmljYWwgcmVwb3J0LiAgRm9yIHJlY29yZGluZyBpbXByZWNpc2Ugb3IgJnF1b3Q7ZnV6enkmcXVvdDsgdGltZXMgKEZvciBleGFtcGxlLCBhIGJsb29kIGdsdWNvc2UgbWVhc3VyZW1lbnQgdGFrZW4gJnF1b3Q7YWZ0ZXIgYnJlYWtmYXN0JnF1b3Q7KSB1c2UgdGhlIFtUaW1pbmddKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZGF0YXR5cGVzLmh0bWwjdGltaW5nKSBkYXRhdHlwZSB3aGljaCBhbGxvdyB0aGUgbWVhc3VyZW1lbnQgdG8gYmUgdGllZCB0byByZWd1bGFyIGxpZmUgZXZlbnRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGltaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InVzLWNvcmUtMSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJEYXRldGltZSBtdXN0IGJlIGF0IGxlYXN0IHRvIGRheS4iPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iJHRoaXMgaXMgRGF0ZVRpbWUgaW1wbGllcyAkdGhpcy50b1N0cmluZygpLmxlbmd0aCgpID49IDEwIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IldobyB3YXMgcmVzcG9uc2libGUgZm9yIGFzc2VydGluZyB0aGUgb2JzZXJ2ZWQgdmFsdWUgYXMgJnF1b3Q7dHJ1ZSZxdW90Oy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBY3R1YWwgcmVzdWx0IiBkZWZpbml0aW9uPSJUaGUgaW5mb3JtYXRpb24gZGV0ZXJtaW5lZCBhcyBhIHJlc3VsdCBvZiBtYWtpbmcgdGhlIG9ic2VydmF0aW9uLCBpZiB0aGUgaW5mb3JtYXRpb24gaGFzIGEgc2ltcGxlIHZhbHVlLiIgY29tbWVudD0iQW4gb2JzZXJ2YXRpb24gbWF5IGhhdmU7IDEpICBhIHNpbmdsZSB2YWx1ZSBoZXJlLCAyKSAgYm90aCBhIHZhbHVlIGFuZCBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMsICBvciAzKSAgb25seSBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMuIElmIGEgdmFsdWUgaXMgcHJlc2VudCwgdGhlIGRhdGF0eXBlIGZvciB0aGlzIGVsZW1lbnQgc2hvdWxkIGJlIGRldGVybWluZWQgYnkgT2JzZXJ2YXRpb24uY29kZS4gIEEgQ29kZWFibGVDb25jZXB0IHdpdGgganVzdCBhIHRleHQgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGlmIHRoZSBmaWVsZCB3YXMgdXN1YWxseSBjb2RlZCwgb3IgaWYgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBPYnNlcnZhdGlvbi5jb2RlIGRlZmluZXMgYSBjb2RlZCB2YWx1ZS4gIEZvciBhZGRpdGlvbmFsIGd1aWRhbmNlLCBzZWUgdGhlIFtOb3RlcyBzZWN0aW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgdGhlIHJlc3VsdCBpcyBtaXNzaW5nIiBkZWZpbml0aW9uPSJQcm92aWRlcyBhIHJlYXNvbiB3aHkgdGhlIGV4cGVjdGVkIHZhbHVlIGluIHRoZSBlbGVtZW50IE9ic2VydmF0aW9uLnZhbHVlW3hdIGlzIG1pc3NpbmcuIiBjb21tZW50PSJOdWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcyBjYW4gYmUgcmVwcmVzZW50ZWQgdHdvIHdheXMgaW4gRkhJUiBPYnNlcnZhdGlvbnMuICBPbmUgd2F5IGlzIHRvIHNpbXBseSBpbmNsdWRlIHRoZW0gaW4gdGhlIHZhbHVlIHNldCBhbmQgcmVwcmVzZW50IHRoZSBleGNlcHRpb25zIGluIHRoZSB2YWx1ZS4gIEZvciBleGFtcGxlLCBtZWFzdXJlbWVudCB2YWx1ZXMgZm9yIGEgc2Vyb2xvZ3kgdGVzdCBjb3VsZCBiZSAgJnF1b3Q7ZGV0ZWN0ZWQmcXVvdDssICZxdW90O25vdCBkZXRlY3RlZCZxdW90OywgJnF1b3Q7aW5jb25jbHVzaXZlJnF1b3Q7LCBvciAgJnF1b3Q7c3BlY2ltZW4gdW5zYXRpc2ZhY3RvcnkmcXVvdDsuICAgJiN4YTsmI3hhO1RoZSBhbHRlcm5hdGUgd2F5IGlzIHRvIHVzZSB0aGUgdmFsdWUgZWxlbWVudCBmb3IgYWN0dWFsIG9ic2VydmF0aW9ucyBhbmQgdXNlIHRoZSBleHBsaWNpdCBkYXRhQWJzZW50UmVhc29uIGVsZW1lbnQgdG8gcmVjb3JkIGV4Y2VwdGlvbmFsIHZhbHVlcy4gIEZvciBleGFtcGxlLCB0aGUgZGF0YUFic2VudFJlYXNvbiBjb2RlICZxdW90O2Vycm9yJnF1b3Q7IGNvdWxkIGJlIHVzZWQgd2hlbiB0aGUgbWVhc3VyZW1lbnQgd2FzIG5vdCBjb21wbGV0ZWQuIE5vdGUgdGhhdCBhbiBvYnNlcnZhdGlvbiBtYXkgb25seSBiZSByZXBvcnRlZCBpZiB0aGVyZSBhcmUgdmFsdWVzIHRvIHJlcG9ydC4gRm9yIGV4YW1wbGUgZGlmZmVyZW50aWFsIGNlbGwgY291bnRzIHZhbHVlcyBtYXkgYmUgcmVwb3J0ZWQgb25seSB3aGVuID4gMC4gIEJlY2F1c2Ugb2YgdGhlc2Ugb3B0aW9ucywgdXNlLWNhc2UgYWdyZWVtZW50cyBhcmUgcmVxdWlyZWQgdG8gaW50ZXJwcmV0IGdlbmVyYWwgb2JzZXJ2YXRpb25zIGZvciBudWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcy4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblZhbHVlQWJzZW50UmVhc29uIiBkZXNjcmlwdGlvbj0iQ29kZXMgc3BlY2lmeWluZyB3aHkgdGhlIHJlc3VsdCAoYE9ic2VydmF0aW9uLnZhbHVlW3hdYCkgaXMgbWlzc2luZy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZXJwcmV0YXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIaWdoLCBsb3csIG5vcm1hbCwgZXRjLiIgZGVmaW5pdGlvbj0iQSBjYXRlZ29yaWNhbCBhc3Nlc3NtZW50IG9mIGFuIG9ic2VydmF0aW9uIHZhbHVlLiAgRm9yIGV4YW1wbGUsIGhpZ2gsIGxvdywgbm9ybWFsLiIgY29tbWVudD0iSGlzdG9yaWNhbGx5IHVzZWQgZm9yIGxhYm9yYXRvcnkgcmVzdWx0cyAoa25vd24gYXMgJ2Fibm9ybWFsIGZsYWcnICksICBpdHMgdXNlIGV4dGVuZHMgdG8gb3RoZXIgdXNlIGNhc2VzIHdoZXJlIGNvZGVkIGludGVycHJldGF0aW9ucyAgYXJlIHJlbGV2YW50LiAgT2Z0ZW4gcmVwb3J0ZWQgYXMgb25lIG9yIG1vcmUgc2ltcGxlIGNvbXBhY3QgY29kZXMgdGhpcyBlbGVtZW50IGlzIG9mdGVuIHBsYWNlZCBhZGphY2VudCB0byB0aGUgcmVzdWx0IHZhbHVlIGluIHJlcG9ydHMgYW5kIGZsb3cgc2hlZXRzIHRvIHNpZ25hbCB0aGUgbWVhbmluZy9ub3JtYWxjeSBzdGF0dXMgb2YgdGhlIHJlc3VsdC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25JbnRlcnByZXRhdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIGludGVycHJldGF0aW9ucyBvZiBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiBvciB0aGUgcmVzdWx0cy4iIGNvbW1lbnQ9Ik1heSBpbmNsdWRlIGdlbmVyYWwgc3RhdGVtZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24sIG9yIHN0YXRlbWVudHMgYWJvdXQgc2lnbmlmaWNhbnQsIHVuZXhwZWN0ZWQgb3IgdW5yZWxpYWJsZSByZXN1bHRzIHZhbHVlcywgb3IgaW5mb3JtYXRpb24gYWJvdXQgaXRzIHNvdXJjZSB3aGVuIHJlbGV2YW50IHRvIGl0cyBpbnRlcnByZXRhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2JzZXJ2ZWQgYm9keSBwYXJ0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHNpdGUgb24gdGhlIHN1YmplY3QncyBib2R5IHdoZXJlIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSAoaS5lLiB0aGUgdGFyZ2V0IHNpdGUpLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIE9ic2VydmF0aW9uLmNvZGUuICBJbiBtYW55IHN5c3RlbXMsIHRoaXMgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGEgcmVsYXRlZCBvYnNlcnZhdGlvbiBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb21wb25lbnQuICAgJiN4YTsmI3hhO0lmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBCb2R5U2l0ZSB0byBiZSBoYW5kbGVkIGFzIGEgc2VwYXJhdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb25bIGJvZHlTaXRlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IGl0IHdhcyBkb25lIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIG1lY2hhbmlzbSB1c2VkIHRvIHBlcmZvcm0gdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvciBPYnNlcnZhdGlvbi5jb2RlLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uTWV0aG9kIiBkZXNjcmlwdGlvbj0iTWV0aG9kcyBmb3Igc2ltcGxlIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3BlY2ltZW4iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iU3BlY2ltZW4gdXNlZCBmb3IgdGhpcyBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHNwZWNpbWVuIHRoYXQgd2FzIHVzZWQgd2hlbiB0aGlzIG9ic2VydmF0aW9uIHdhcyBtYWRlLiIgY29tbWVudD0iU2hvdWxkIG9ubHkgYmUgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBgT2JzZXJ2YXRpb24uY29kZWAuICBPYnNlcnZhdGlvbnMgYXJlIG5vdCBtYWRlIG9uIHNwZWNpbWVucyB0aGVtc2VsdmVzOyB0aGV5IGFyZSBtYWRlIG9uIGEgc3ViamVjdCwgYnV0IGluIG1hbnkgY2FzZXMgYnkgdGhlIG1lYW5zIG9mIGEgc3BlY2ltZW4uIE5vdGUgdGhhdCBhbHRob3VnaCBzcGVjaW1lbnMgYXJlIG9mdGVuIGludm9sdmVkLCB0aGV5IGFyZSBub3QgYWx3YXlzIHRyYWNrZWQgYW5kIHJlcG9ydGVkIGV4cGxpY2l0bHkuIEFsc28gbm90ZSB0aGF0IG9ic2VydmF0aW9uIHJlc291cmNlcyBtYXkgYmUgdXNlZCBpbiBjb250ZXh0cyB0aGF0IHRyYWNrIHRoZSBzcGVjaW1lbiBleHBsaWNpdGx5IChlLmcuIERpYWdub3N0aWMgUmVwb3J0KS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihNZWFzdXJlbWVudCkgRGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIG9ic2VydmF0aW9uIGRhdGEuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBpcyBub3QgbWVhbnQgdG8gcmVwcmVzZW50IGEgZGV2aWNlIGludm9sdmVkIGluIHRoZSB0cmFuc21pc3Npb24gb2YgdGhlIHJlc3VsdCwgZS5nLiwgYSBnYXRld2F5LiAgU3VjaCBkZXZpY2VzIG1heSBiZSBkb2N1bWVudGVkIHVzaW5nIHRoZSBQcm92ZW5hbmNlIHJlc291cmNlIHdoZXJlIHJlbGV2YW50LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2VSYW5nZSIgZGVzY3JpcHRpb249IlByb3ZpZGVzIGd1aWRlIGZvciBpbnRlcnByZXRhdGlvbiIgZGVmaW5pdGlvbj0iR3VpZGFuY2Ugb24gaG93IHRvIGludGVycHJldCB0aGUgdmFsdWUgYnkgY29tcGFyaXNvbiB0byBhIG5vcm1hbCBvciByZWNvbW1lbmRlZCByYW5nZS4gIE11bHRpcGxlIHJlZmVyZW5jZSByYW5nZXMgYXJlIGludGVycHJldGVkIGFzIGFuICZxdW90O09SJnF1b3Q7LiAgIEluIG90aGVyIHdvcmRzLCB0byByZXByZXNlbnQgdHdvIGRpc3RpbmN0IHRhcmdldCBwb3B1bGF0aW9ucywgdHdvIGByZWZlcmVuY2VSYW5nZWAgZWxlbWVudHMgd291bGQgYmUgdXNlZC4iIGNvbW1lbnQ9Ik1vc3Qgb2JzZXJ2YXRpb25zIG9ubHkgaGF2ZSBvbmUgZ2VuZXJpYyByZWZlcmVuY2UgcmFuZ2UuIFN5c3RlbXMgTUFZIGNob29zZSB0byByZXN0cmljdCB0byBvbmx5IHN1cHBseWluZyB0aGUgcmVsZXZhbnQgcmVmZXJlbmNlIHJhbmdlIGJhc2VkIG9uIGtub3dsZWRnZSBhYm91dCB0aGUgcGF0aWVudCAoZS5nLiwgc3BlY2lmaWMgdG8gdGhlIHBhdGllbnQncyBhZ2UsIGdlbmRlciwgd2VpZ2h0IGFuZCBvdGhlciBmYWN0b3JzKSwgYnV0IHRoaXMgbWlnaHQgbm90IGJlIHBvc3NpYmxlIG9yIGFwcHJvcHJpYXRlLiBXaGVuZXZlciBtb3JlIHRoYW4gb25lIHJlZmVyZW5jZSByYW5nZSBpcyBzdXBwbGllZCwgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlbSBTSE9VTEQgYmUgcHJvdmlkZWQgaW4gdGhlIHJlZmVyZW5jZSByYW5nZSBhbmQvb3IgYWdlIHByb3BlcnRpZXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uUmVmZXJlbmNlUmFuZ2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJvYnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJNdXN0IGhhdmUgYXQgbGVhc3QgYSBsb3cgb3IgYSBoaWdoIG9yIHRleHQiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0ibG93LmV4aXN0cygpIG9yIGhpZ2guZXhpc3RzKCkgb3IgdGV4dC5leGlzdHMoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaGFzTWVtYmVyIiBkZXNjcmlwdGlvbj0iUmVsYXRlZCByZXNvdXJjZSB0aGF0IGJlbG9uZ3MgdG8gdGhlIE9ic2VydmF0aW9uIGdyb3VwIiBkZWZpbml0aW9uPSJUaGlzIG9ic2VydmF0aW9uIGlzIGEgZ3JvdXAgb2JzZXJ2YXRpb24gKGUuZy4gYSBiYXR0ZXJ5LCBhIHBhbmVsIG9mIHRlc3RzLCBhIHNldCBvZiB2aXRhbCBzaWduIG1lYXN1cmVtZW50cykgdGhhdCBpbmNsdWRlcyB0aGUgdGFyZ2V0IGFzIGEgbWVtYmVyIG9mIHRoZSBncm91cC4iIGNvbW1lbnQ9IldoZW4gdXNpbmcgdGhpcyBlbGVtZW50LCBhbiBvYnNlcnZhdGlvbiB3aWxsIHR5cGljYWxseSBoYXZlIGVpdGhlciBhIHZhbHVlIG9yIGEgc2V0IG9mIHJlbGF0ZWQgcmVzb3VyY2VzLCBhbHRob3VnaCBib3RoIG1heSBiZSBwcmVzZW50IGluIHNvbWUgY2FzZXMuICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4gIE5vdGUgdGhhdCBhIHN5c3RlbSBtYXkgY2FsY3VsYXRlIHJlc3VsdHMgZnJvbSBbUXVlc3Rpb25uYWlyZVJlc3BvbnNlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3F1ZXN0aW9ubmFpcmVyZXNwb25zZS5odG1sKSAgaW50byBhIGZpbmFsIHNjb3JlIGFuZCByZXByZXNlbnQgdGhlIHNjb3JlIGFzIGFuIE9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIG1lYXN1cmVtZW50cyB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIG1lYXN1cmVtZW50IGZyb20gd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiB2YWx1ZSBpcyBkZXJpdmVkLiBGb3IgZXhhbXBsZSwgYSBjYWxjdWxhdGVkIGFuaW9uIGdhcCBvciBhIGZldGFsIG1lYXN1cmVtZW50IGJhc2VkIG9uIGFuIHVsdHJhc291bmQgaW1hZ2UuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iQ29tcG9uZW50IHJlc3VsdHMiIGRlZmluaXRpb249IlNvbWUgb2JzZXJ2YXRpb25zIGhhdmUgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucy4gIFRoZXNlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgYXJlIGV4cHJlc3NlZCBhcyBzZXBhcmF0ZSBjb2RlIHZhbHVlIHBhaXJzIHRoYXQgc2hhcmUgdGhlIHNhbWUgYXR0cmlidXRlcy4gIEV4YW1wbGVzIGluY2x1ZGUgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGZvciBibG9vZCBwcmVzc3VyZSBtZWFzdXJlbWVudCBhbmQgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucyBmb3IgZ2VuZXRpY3Mgb2JzZXJ2YXRpb25zLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5Db21wb25lbnQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlT2JzZXJ2YXRpb25Tb2NpYWxIaXN0b3J5UHJvZmlsZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vdXMtY29yZS1vYnNlcnZhdGlvbi1zb2NpYWwtaGlzdG9yeSIgbGFiZWw9IlVTIENvcmUgT2JzZXJ2YXRpb24gU29jaWFsIEhpc3RvcnkgUHJvZmlsZSIgdGFyZ2V0PSJPYnNlcnZhdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY29kZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBJZGVudGlmaWVyIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIG9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJGdWxmaWxscyBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciIgZGVmaW5pdGlvbj0iQSBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciB0aGF0IGlzIGZ1bGZpbGxlZCBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgZXZlbnQuICBGb3IgZXhhbXBsZSwgYSBNZWRpY2F0aW9uUmVxdWVzdCBtYXkgcmVxdWlyZSBhIHBhdGllbnQgdG8gaGF2ZSBsYWJvcmF0b3J5IHRlc3QgcGVyZm9ybWVkIGJlZm9yZSAgaXQgaXMgZGlzcGVuc2VkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iUGFydCBvZiByZWZlcmVuY2VkIGV2ZW50IiBkZWZpbml0aW9uPSJBIGxhcmdlciBldmVudCBvZiB3aGljaCB0aGlzIHBhcnRpY3VsYXIgT2JzZXJ2YXRpb24gaXMgYSBjb21wb25lbnQgb3Igc3RlcC4gIEZvciBleGFtcGxlLCAgYW4gb2JzZXJ2YXRpb24gYXMgcGFydCBvZiBhIHByb2NlZHVyZS4iIGNvbW1lbnQ9IlRvIGxpbmsgYW4gT2JzZXJ2YXRpb24gdG8gYW4gRW5jb3VudGVyIHVzZSBgZW5jb3VudGVyYC4gIFNlZSB0aGUgIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdyBmb3IgZ3VpZGFuY2Ugb24gcmVmZXJlbmNpbmcgYW5vdGhlciBPYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvblN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyZWdpc3RlcmVkIHwgcHJlbGltaW5hcnkgfCBmaW5hbCB8IGFtZW5kZWQgKyIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzdWx0IHZhbHVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblN0YXR1cyIgZGVzY3JpcHRpb249IkNvZGVzIHByb3ZpZGluZyB0aGUgc3RhdHVzIG9mIGFuIG9ic2VydmF0aW9uLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idXMtY29yZS9zb2NpYWwtaGlzdG9yeSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic2RvaCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVHlwZSBvZiBvYnNlcnZhdGlvbiAoY29kZSAvIHR5cGUpIiBkZWZpbml0aW9uPSJEZXNjcmliZXMgd2hhdCB3YXMgb2JzZXJ2ZWQuIFNvbWV0aW1lcyB0aGlzIGlzIGNhbGxlZCB0aGUgb2JzZXJ2YXRpb24gJnF1b3Q7bmFtZSZxdW90Oy4iIGNvbW1lbnQ9IipBbGwqIGNvZGUtdmFsdWUgYW5kLCBpZiBwcmVzZW50LCBjb21wb25lbnQuY29kZS1jb21wb25lbnQudmFsdWUgcGFpcnMgbmVlZCB0byBiZSB0YWtlbiBpbnRvIGFjY291bnQgdG8gY29ycmVjdGx5IHVuZGVyc3RhbmQgdGhlIG1lYW5pbmcgb2YgdGhlIG9ic2VydmF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaG8gYW5kL29yIHdoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0IiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgdGhpcyBvYnNlcnZhdGlvbiBpcyBhYm91dCBhbmQgaW50byB3aG9zZSByZWNvcmQgdGhlIG9ic2VydmF0aW9uIGlzIHBsYWNlZC4gSWYgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24gaXMgZGlmZmVyZW50IGZyb20gdGhlIHN1YmplY3QgKG9yIGEgc2FtcGxlIG9mLCBwYXJ0LCBvciByZWdpb24gb2YgdGhlIHN1YmplY3QpLCB0aGUgYGZvY3VzYCBlbGVtZW50IG9yIHRoZSBgY29kZWAgaXRzZWxmIHNwZWNpZmllcyB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9uZSB3b3VsZCBleHBlY3QgdGhpcyBlbGVtZW50IHRvIGJlIGEgY2FyZGluYWxpdHkgb2YgMS4uMS4gVGhlIG9ubHkgY2lyY3Vtc3RhbmNlIGluIHdoaWNoIHRoZSBzdWJqZWN0IGNhbiBiZSBtaXNzaW5nIGlzIHdoZW4gdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgYnkgYSBkZXZpY2UgdGhhdCBkb2VzIG5vdCBrbm93IHRoZSBwYXRpZW50LiBJbiB0aGlzIGNhc2UsIHRoZSBvYnNlcnZhdGlvbiBTSEFMTCBiZSBtYXRjaGVkIHRvIGEgcGF0aWVudCB0aHJvdWdoIHNvbWUgY29udGV4dC9jaGFubmVsIG1hdGNoaW5nIHRlY2huaXF1ZSwgYW5kIGF0IHRoaXMgcG9pbnQsIHRoZSBvYnNlcnZhdGlvbiBzaG91bGQgYmUgdXBkYXRlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImZvY3VzIiBkZXNjcmlwdGlvbj0iV2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQsIHdoZW4gaXQgaXMgbm90IGFib3V0IHRoZSBzdWJqZWN0IG9mIHJlY29yZCIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiB3aGVuIGl0IGlzIG5vdCB0aGUgcGF0aWVudCBvZiByZWNvcmQgcmVwcmVzZW50aW5nIHNvbWV0aGluZyBvciBzb21lb25lIGFzc29jaWF0ZWQgd2l0aCB0aGUgcGF0aWVudCBzdWNoIGFzIGEgc3BvdXNlLCBwYXJlbnQsIGZldHVzLCBvciBkb25vci4gRm9yIGV4YW1wbGUsIGZldHVzIG9ic2VydmF0aW9ucyBpbiBhIG1vdGhlcidzIHJlY29yZC4gIFRoZSBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiBjb3VsZCBhbHNvIGJlIGFuIGV4aXN0aW5nIGNvbmRpdGlvbiwgIGFuIGludGVydmVudGlvbiwgdGhlIHN1YmplY3QncyBkaWV0LCAgYW5vdGhlciBvYnNlcnZhdGlvbiBvZiB0aGUgc3ViamVjdCwgIG9yIGEgYm9keSBzdHJ1Y3R1cmUgc3VjaCBhcyB0dW1vciBvciBpbXBsYW50ZWQgZGV2aWNlLiAgIEFuIGV4YW1wbGUgdXNlIGNhc2Ugd291bGQgYmUgdXNpbmcgdGhlIE9ic2VydmF0aW9uIHJlc291cmNlIHRvIGNhcHR1cmUgd2hldGhlciB0aGUgbW90aGVyIGlzIHRyYWluZWQgdG8gY2hhbmdlIGhlciBjaGlsZCdzIHRyYWNoZW9zdG9teSB0dWJlLiBJbiB0aGlzIGV4YW1wbGUsIHRoZSBjaGlsZCBpcyB0aGUgcGF0aWVudCBvZiByZWNvcmQgYW5kIHRoZSBtb3RoZXIgaXMgdGhlIGZvY3VzLiIgY29tbWVudD0iVHlwaWNhbGx5LCBhbiBvYnNlcnZhdGlvbiBpcyBtYWRlIGFib3V0IHRoZSBzdWJqZWN0IC0gYSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSAtIGFuZCB0aGUgZGlzdGluY3Rpb24gYmV0d2VlbiB0aGUgc3ViamVjdCBhbmQgd2hhdCBpcyBkaXJlY3RseSBtZWFzdXJlZCBmb3IgYW4gb2JzZXJ2YXRpb24gaXMgc3BlY2lmaWVkIGluIHRoZSBvYnNlcnZhdGlvbiBjb2RlIGl0c2VsZiAoIGUuZy4sICZxdW90O0Jsb29kIEdsdWNvc2UmcXVvdDspIGFuZCBkb2VzIG5vdCBuZWVkIHRvIGJlIHJlcHJlc2VudGVkIHNlcGFyYXRlbHkgdXNpbmcgdGhpcyBlbGVtZW50LiAgVXNlIGBzcGVjaW1lbmAgaWYgYSByZWZlcmVuY2UgdG8gYSBzcGVjaW1lbiBpcyByZXF1aXJlZC4gIElmIGEgY29kZSBpcyByZXF1aXJlZCBpbnN0ZWFkIG9mIGEgcmVzb3VyY2UgdXNlIGVpdGhlciAgYGJvZHlzaXRlYCBmb3IgYm9keXNpdGVzIG9yIHRoZSBzdGFuZGFyZCBleHRlbnNpb24gW2ZvY3VzQ29kZV0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9leHRlbnNpb24tb2JzZXJ2YXRpb24tZm9jdXNjb2RlLmh0bWwpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkhlYWx0aGNhcmUgZXZlbnQgZHVyaW5nIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gaXMgbWFkZSIgZGVmaW5pdGlvbj0iVGhlIGhlYWx0aGNhcmUgZXZlbnQgIChlLmcuIGEgcGF0aWVudCBhbmQgaGVhbHRoY2FyZSBwcm92aWRlciBpbnRlcmFjdGlvbikgZHVyaW5nIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gaXMgbWFkZS4iIGNvbW1lbnQ9IlRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgdGhlIGVuY291bnRlciB0aGUgZXZlbnQgb2NjdXJyZWQgd2l0aGluLCBidXQgc29tZSBldmVudHMgbWF5IGJlIGluaXRpYXRlZCBwcmlvciB0byBvciBhZnRlciB0aGUgb2ZmaWNpYWwgY29tcGxldGlvbiBvZiBhbiBlbmNvdW50ZXIgYnV0IHN0aWxsIGJlIHRpZWQgdG8gdGhlIGNvbnRleHQgb2YgdGhlIGVuY291bnRlciAoZS5nLiBwcmUtYWRtaXNzaW9uIGxhYm9yYXRvcnkgdGVzdHMpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xpbmljYWxseSByZWxldmFudCB0aW1lL3RpbWUtcGVyaW9kIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHRpbWUgb3IgdGltZS1wZXJpb2QgdGhlIG9ic2VydmVkIHZhbHVlIGlzIGFzc2VydGVkIGFzIGJlaW5nIHRydWUuIEZvciBiaW9sb2dpY2FsIHN1YmplY3RzIC0gZS5nLiBodW1hbiBwYXRpZW50cyAtIHRoaXMgaXMgdXN1YWxseSBjYWxsZWQgdGhlICZxdW90O3BoeXNpb2xvZ2ljYWxseSByZWxldmFudCB0aW1lJnF1b3Q7LiIgY29tbWVudD0iQXQgbGVhc3QgYSBkYXRlIHNob3VsZCBiZSBwcmVzZW50IHVubGVzcyB0aGlzIG9ic2VydmF0aW9uIGlzIGEgaGlzdG9yaWNhbCByZXBvcnQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJUaW1pbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idXMtY29yZS0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IkRhdGV0aW1lIG11c3QgYmUgYXQgbGVhc3QgdG8gZGF5LiI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIkdGhpcyBpcyBEYXRlVGltZSBpbXBsaWVzICR0aGlzLnRvU3RyaW5nKCkubGVuZ3RoKCkgPj0gMTAiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imlzc3VlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEYXRlL1RpbWUgdGhpcyB2ZXJzaW9uIHdhcyBtYWRlIGF2YWlsYWJsZSIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgYW5kIHRpbWUgdGhpcyB2ZXJzaW9uIG9mIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSBhdmFpbGFibGUgdG8gcHJvdmlkZXJzLCB0eXBpY2FsbHkgYWZ0ZXIgdGhlIHJlc3VsdHMgaGF2ZSBiZWVuIHJldmlld2VkIGFuZCB2ZXJpZmllZC4iIGNvbW1lbnQ9IkZvciBPYnNlcnZhdGlvbnMgdGhhdCBkb27igJl0IHJlcXVpcmUgcmV2aWV3IGFuZCB2ZXJpZmljYXRpb24sIGl0IG1heSBiZSB0aGUgc2FtZSBhcyB0aGUgW2BsYXN0VXBkYXRlZGAgXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3Jlc291cmNlLWRlZmluaXRpb25zLmh0bWwjTWV0YS5sYXN0VXBkYXRlZCkgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmLiAgRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvIHJlcXVpcmUgcmV2aWV3IGFuZCB2ZXJpZmljYXRpb24gZm9yIGNlcnRhaW4gdXBkYXRlcywgaXQgbWlnaHQgbm90IGJlIHRoZSBzYW1lIGFzIHRoZSBgbGFzdFVwZGF0ZWRgIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZiBkdWUgdG8gYSBub24tY2xpbmljYWxseSBzaWduaWZpY2FudCB1cGRhdGUgdGhhdCBkb2VzbuKAmXQgcmVxdWlyZSB0aGUgbmV3IHZlcnNpb24gdG8gYmUgcmV2aWV3ZWQgYW5kIHZlcmlmaWVkIGFnYWluLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJXaG8gaXMgcmVzcG9uc2libGUgZm9yIHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iV2hvIHdhcyByZXNwb25zaWJsZSBmb3IgYXNzZXJ0aW5nIHRoZSBvYnNlcnZlZCB2YWx1ZSBhcyAmcXVvdDt0cnVlJnF1b3Q7LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFjdHVhbCByZXN1bHQiIGRlZmluaXRpb249IlRoZSBpbmZvcm1hdGlvbiBkZXRlcm1pbmVkIGFzIGEgcmVzdWx0IG9mIG1ha2luZyB0aGUgb2JzZXJ2YXRpb24sIGlmIHRoZSBpbmZvcm1hdGlvbiBoYXMgYSBzaW1wbGUgdmFsdWUuIiBjb21tZW50PSJBbiBvYnNlcnZhdGlvbiBtYXkgaGF2ZTsgMSkgIGEgc2luZ2xlIHZhbHVlIGhlcmUsIDIpICBib3RoIGEgdmFsdWUgYW5kIGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcywgIG9yIDMpICBvbmx5IGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcy4gSWYgYSB2YWx1ZSBpcyBwcmVzZW50LCB0aGUgZGF0YXR5cGUgZm9yIHRoaXMgZWxlbWVudCBzaG91bGQgYmUgZGV0ZXJtaW5lZCBieSBPYnNlcnZhdGlvbi5jb2RlLiAgQSBDb2RlYWJsZUNvbmNlcHQgd2l0aCBqdXN0IGEgdGV4dCB3b3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgYSBzdHJpbmcgaWYgdGhlIGZpZWxkIHdhcyB1c3VhbGx5IGNvZGVkLCBvciBpZiB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhlIE9ic2VydmF0aW9uLmNvZGUgZGVmaW5lcyBhIGNvZGVkIHZhbHVlLiAgRm9yIGFkZGl0aW9uYWwgZ3VpZGFuY2UsIHNlZSB0aGUgW05vdGVzIHNlY3Rpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkJvb2xlYW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUmF0aW8iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU2FtcGxlZERhdGEiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgdGhlIHJlc3VsdCBpcyBtaXNzaW5nIiBkZWZpbml0aW9uPSJQcm92aWRlcyBhIHJlYXNvbiB3aHkgdGhlIGV4cGVjdGVkIHZhbHVlIGluIHRoZSBlbGVtZW50IE9ic2VydmF0aW9uLnZhbHVlW3hdIGlzIG1pc3NpbmcuIiBjb21tZW50PSJOdWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcyBjYW4gYmUgcmVwcmVzZW50ZWQgdHdvIHdheXMgaW4gRkhJUiBPYnNlcnZhdGlvbnMuICBPbmUgd2F5IGlzIHRvIHNpbXBseSBpbmNsdWRlIHRoZW0gaW4gdGhlIHZhbHVlIHNldCBhbmQgcmVwcmVzZW50IHRoZSBleGNlcHRpb25zIGluIHRoZSB2YWx1ZS4gIEZvciBleGFtcGxlLCBtZWFzdXJlbWVudCB2YWx1ZXMgZm9yIGEgc2Vyb2xvZ3kgdGVzdCBjb3VsZCBiZSAgJnF1b3Q7ZGV0ZWN0ZWQmcXVvdDssICZxdW90O25vdCBkZXRlY3RlZCZxdW90OywgJnF1b3Q7aW5jb25jbHVzaXZlJnF1b3Q7LCBvciAgJnF1b3Q7c3BlY2ltZW4gdW5zYXRpc2ZhY3RvcnkmcXVvdDsuICAgJiN4YTsmI3hhO1RoZSBhbHRlcm5hdGUgd2F5IGlzIHRvIHVzZSB0aGUgdmFsdWUgZWxlbWVudCBmb3IgYWN0dWFsIG9ic2VydmF0aW9ucyBhbmQgdXNlIHRoZSBleHBsaWNpdCBkYXRhQWJzZW50UmVhc29uIGVsZW1lbnQgdG8gcmVjb3JkIGV4Y2VwdGlvbmFsIHZhbHVlcy4gIEZvciBleGFtcGxlLCB0aGUgZGF0YUFic2VudFJlYXNvbiBjb2RlICZxdW90O2Vycm9yJnF1b3Q7IGNvdWxkIGJlIHVzZWQgd2hlbiB0aGUgbWVhc3VyZW1lbnQgd2FzIG5vdCBjb21wbGV0ZWQuIE5vdGUgdGhhdCBhbiBvYnNlcnZhdGlvbiBtYXkgb25seSBiZSByZXBvcnRlZCBpZiB0aGVyZSBhcmUgdmFsdWVzIHRvIHJlcG9ydC4gRm9yIGV4YW1wbGUgZGlmZmVyZW50aWFsIGNlbGwgY291bnRzIHZhbHVlcyBtYXkgYmUgcmVwb3J0ZWQgb25seSB3aGVuID4gMC4gIEJlY2F1c2Ugb2YgdGhlc2Ugb3B0aW9ucywgdXNlLWNhc2UgYWdyZWVtZW50cyBhcmUgcmVxdWlyZWQgdG8gaW50ZXJwcmV0IGdlbmVyYWwgb2JzZXJ2YXRpb25zIGZvciBudWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcy4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblZhbHVlQWJzZW50UmVhc29uIiBkZXNjcmlwdGlvbj0iQ29kZXMgc3BlY2lmeWluZyB3aHkgdGhlIHJlc3VsdCAoYE9ic2VydmF0aW9uLnZhbHVlW3hdYCkgaXMgbWlzc2luZy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZXJwcmV0YXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIaWdoLCBsb3csIG5vcm1hbCwgZXRjLiIgZGVmaW5pdGlvbj0iQSBjYXRlZ29yaWNhbCBhc3Nlc3NtZW50IG9mIGFuIG9ic2VydmF0aW9uIHZhbHVlLiAgRm9yIGV4YW1wbGUsIGhpZ2gsIGxvdywgbm9ybWFsLiIgY29tbWVudD0iSGlzdG9yaWNhbGx5IHVzZWQgZm9yIGxhYm9yYXRvcnkgcmVzdWx0cyAoa25vd24gYXMgJ2Fibm9ybWFsIGZsYWcnICksICBpdHMgdXNlIGV4dGVuZHMgdG8gb3RoZXIgdXNlIGNhc2VzIHdoZXJlIGNvZGVkIGludGVycHJldGF0aW9ucyAgYXJlIHJlbGV2YW50LiAgT2Z0ZW4gcmVwb3J0ZWQgYXMgb25lIG9yIG1vcmUgc2ltcGxlIGNvbXBhY3QgY29kZXMgdGhpcyBlbGVtZW50IGlzIG9mdGVuIHBsYWNlZCBhZGphY2VudCB0byB0aGUgcmVzdWx0IHZhbHVlIGluIHJlcG9ydHMgYW5kIGZsb3cgc2hlZXRzIHRvIHNpZ25hbCB0aGUgbWVhbmluZy9ub3JtYWxjeSBzdGF0dXMgb2YgdGhlIHJlc3VsdC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25JbnRlcnByZXRhdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIGludGVycHJldGF0aW9ucyBvZiBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiBvciB0aGUgcmVzdWx0cy4iIGNvbW1lbnQ9Ik1heSBpbmNsdWRlIGdlbmVyYWwgc3RhdGVtZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24sIG9yIHN0YXRlbWVudHMgYWJvdXQgc2lnbmlmaWNhbnQsIHVuZXhwZWN0ZWQgb3IgdW5yZWxpYWJsZSByZXN1bHRzIHZhbHVlcywgb3IgaW5mb3JtYXRpb24gYWJvdXQgaXRzIHNvdXJjZSB3aGVuIHJlbGV2YW50IHRvIGl0cyBpbnRlcnByZXRhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2JzZXJ2ZWQgYm9keSBwYXJ0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHNpdGUgb24gdGhlIHN1YmplY3QncyBib2R5IHdoZXJlIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSAoaS5lLiB0aGUgdGFyZ2V0IHNpdGUpLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIE9ic2VydmF0aW9uLmNvZGUuICBJbiBtYW55IHN5c3RlbXMsIHRoaXMgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGEgcmVsYXRlZCBvYnNlcnZhdGlvbiBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb21wb25lbnQuICAgJiN4YTsmI3hhO0lmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBCb2R5U2l0ZSB0byBiZSBoYW5kbGVkIGFzIGEgc2VwYXJhdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb25bIGJvZHlTaXRlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IGl0IHdhcyBkb25lIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIG1lY2hhbmlzbSB1c2VkIHRvIHBlcmZvcm0gdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvciBPYnNlcnZhdGlvbi5jb2RlLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uTWV0aG9kIiBkZXNjcmlwdGlvbj0iTWV0aG9kcyBmb3Igc2ltcGxlIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3BlY2ltZW4iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iU3BlY2ltZW4gdXNlZCBmb3IgdGhpcyBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHNwZWNpbWVuIHRoYXQgd2FzIHVzZWQgd2hlbiB0aGlzIG9ic2VydmF0aW9uIHdhcyBtYWRlLiIgY29tbWVudD0iU2hvdWxkIG9ubHkgYmUgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBgT2JzZXJ2YXRpb24uY29kZWAuICBPYnNlcnZhdGlvbnMgYXJlIG5vdCBtYWRlIG9uIHNwZWNpbWVucyB0aGVtc2VsdmVzOyB0aGV5IGFyZSBtYWRlIG9uIGEgc3ViamVjdCwgYnV0IGluIG1hbnkgY2FzZXMgYnkgdGhlIG1lYW5zIG9mIGEgc3BlY2ltZW4uIE5vdGUgdGhhdCBhbHRob3VnaCBzcGVjaW1lbnMgYXJlIG9mdGVuIGludm9sdmVkLCB0aGV5IGFyZSBub3QgYWx3YXlzIHRyYWNrZWQgYW5kIHJlcG9ydGVkIGV4cGxpY2l0bHkuIEFsc28gbm90ZSB0aGF0IG9ic2VydmF0aW9uIHJlc291cmNlcyBtYXkgYmUgdXNlZCBpbiBjb250ZXh0cyB0aGF0IHRyYWNrIHRoZSBzcGVjaW1lbiBleHBsaWNpdGx5IChlLmcuIERpYWdub3N0aWMgUmVwb3J0KS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihNZWFzdXJlbWVudCkgRGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIG9ic2VydmF0aW9uIGRhdGEuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBpcyBub3QgbWVhbnQgdG8gcmVwcmVzZW50IGEgZGV2aWNlIGludm9sdmVkIGluIHRoZSB0cmFuc21pc3Npb24gb2YgdGhlIHJlc3VsdCwgZS5nLiwgYSBnYXRld2F5LiAgU3VjaCBkZXZpY2VzIG1heSBiZSBkb2N1bWVudGVkIHVzaW5nIHRoZSBQcm92ZW5hbmNlIHJlc291cmNlIHdoZXJlIHJlbGV2YW50LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2VSYW5nZSIgZGVzY3JpcHRpb249IlByb3ZpZGVzIGd1aWRlIGZvciBpbnRlcnByZXRhdGlvbiIgZGVmaW5pdGlvbj0iR3VpZGFuY2Ugb24gaG93IHRvIGludGVycHJldCB0aGUgdmFsdWUgYnkgY29tcGFyaXNvbiB0byBhIG5vcm1hbCBvciByZWNvbW1lbmRlZCByYW5nZS4gIE11bHRpcGxlIHJlZmVyZW5jZSByYW5nZXMgYXJlIGludGVycHJldGVkIGFzIGFuICZxdW90O09SJnF1b3Q7LiAgIEluIG90aGVyIHdvcmRzLCB0byByZXByZXNlbnQgdHdvIGRpc3RpbmN0IHRhcmdldCBwb3B1bGF0aW9ucywgdHdvIGByZWZlcmVuY2VSYW5nZWAgZWxlbWVudHMgd291bGQgYmUgdXNlZC4iIGNvbW1lbnQ9Ik1vc3Qgb2JzZXJ2YXRpb25zIG9ubHkgaGF2ZSBvbmUgZ2VuZXJpYyByZWZlcmVuY2UgcmFuZ2UuIFN5c3RlbXMgTUFZIGNob29zZSB0byByZXN0cmljdCB0byBvbmx5IHN1cHBseWluZyB0aGUgcmVsZXZhbnQgcmVmZXJlbmNlIHJhbmdlIGJhc2VkIG9uIGtub3dsZWRnZSBhYm91dCB0aGUgcGF0aWVudCAoZS5nLiwgc3BlY2lmaWMgdG8gdGhlIHBhdGllbnQncyBhZ2UsIGdlbmRlciwgd2VpZ2h0IGFuZCBvdGhlciBmYWN0b3JzKSwgYnV0IHRoaXMgbWlnaHQgbm90IGJlIHBvc3NpYmxlIG9yIGFwcHJvcHJpYXRlLiBXaGVuZXZlciBtb3JlIHRoYW4gb25lIHJlZmVyZW5jZSByYW5nZSBpcyBzdXBwbGllZCwgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlbSBTSE9VTEQgYmUgcHJvdmlkZWQgaW4gdGhlIHJlZmVyZW5jZSByYW5nZSBhbmQvb3IgYWdlIHByb3BlcnRpZXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uUmVmZXJlbmNlUmFuZ2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJvYnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJNdXN0IGhhdmUgYXQgbGVhc3QgYSBsb3cgb3IgYSBoaWdoIG9yIHRleHQiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0ibG93LmV4aXN0cygpIG9yIGhpZ2guZXhpc3RzKCkgb3IgdGV4dC5leGlzdHMoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaGFzTWVtYmVyIiBkZXNjcmlwdGlvbj0iUmVsYXRlZCByZXNvdXJjZSB0aGF0IGJlbG9uZ3MgdG8gdGhlIE9ic2VydmF0aW9uIGdyb3VwIiBkZWZpbml0aW9uPSJUaGlzIG9ic2VydmF0aW9uIGlzIGEgZ3JvdXAgb2JzZXJ2YXRpb24gKGUuZy4gYSBiYXR0ZXJ5LCBhIHBhbmVsIG9mIHRlc3RzLCBhIHNldCBvZiB2aXRhbCBzaWduIG1lYXN1cmVtZW50cykgdGhhdCBpbmNsdWRlcyB0aGUgdGFyZ2V0IGFzIGEgbWVtYmVyIG9mIHRoZSBncm91cC4iIGNvbW1lbnQ9IldoZW4gdXNpbmcgdGhpcyBlbGVtZW50LCBhbiBvYnNlcnZhdGlvbiB3aWxsIHR5cGljYWxseSBoYXZlIGVpdGhlciBhIHZhbHVlIG9yIGEgc2V0IG9mIHJlbGF0ZWQgcmVzb3VyY2VzLCBhbHRob3VnaCBib3RoIG1heSBiZSBwcmVzZW50IGluIHNvbWUgY2FzZXMuICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4gIE5vdGUgdGhhdCBhIHN5c3RlbSBtYXkgY2FsY3VsYXRlIHJlc3VsdHMgZnJvbSBbUXVlc3Rpb25uYWlyZVJlc3BvbnNlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3F1ZXN0aW9ubmFpcmVyZXNwb25zZS5odG1sKSAgaW50byBhIGZpbmFsIHNjb3JlIGFuZCByZXByZXNlbnQgdGhlIHNjb3JlIGFzIGFuIE9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIG1lYXN1cmVtZW50cyB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIG1lYXN1cmVtZW50IGZyb20gd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiB2YWx1ZSBpcyBkZXJpdmVkLiBGb3IgZXhhbXBsZSwgYSBjYWxjdWxhdGVkIGFuaW9uIGdhcCBvciBhIGZldGFsIG1lYXN1cmVtZW50IGJhc2VkIG9uIGFuIHVsdHJhc291bmQgaW1hZ2UuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iQ29tcG9uZW50IHJlc3VsdHMiIGRlZmluaXRpb249IlNvbWUgb2JzZXJ2YXRpb25zIGhhdmUgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucy4gIFRoZXNlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgYXJlIGV4cHJlc3NlZCBhcyBzZXBhcmF0ZSBjb2RlIHZhbHVlIHBhaXJzIHRoYXQgc2hhcmUgdGhlIHNhbWUgYXR0cmlidXRlcy4gIEV4YW1wbGVzIGluY2x1ZGUgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGZvciBibG9vZCBwcmVzc3VyZSBtZWFzdXJlbWVudCBhbmQgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucyBmb3IgZ2VuZXRpY3Mgb2JzZXJ2YXRpb25zLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5Db21wb25lbnQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlUGVkaWF0cmljQk1JZm9yQWdlT2JzZXJ2YXRpb25Qcm9maWxlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9wZWRpYXRyaWMtYm1pLWZvci1hZ2UiIGxhYmVsPSJVUyBDb3JlIFBlZGlhdHJpYyBCTUkgZm9yIEFnZSBPYnNlcnZhdGlvbiBQcm9maWxlIiB0YXJnZXQ9Ik9ic2VydmF0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkJ1c2luZXNzIElkZW50aWZpZXIgZm9yIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIHVuaXF1ZSBpZGVudGlmaWVyIGFzc2lnbmVkIHRvIHRoaXMgb2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IkZ1bGZpbGxzIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIiBkZWZpbml0aW9uPSJBIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBldmVudC4gIEZvciBleGFtcGxlLCBhIE1lZGljYXRpb25SZXF1ZXN0IG1heSByZXF1aXJlIGEgcGF0aWVudCB0byBoYXZlIGxhYm9yYXRvcnkgdGVzdCBwZXJmb3JtZWQgYmVmb3JlICBpdCBpcyBkaXNwZW5zZWQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBPYnNlcnZhdGlvbiBpcyBhIGNvbXBvbmVudCBvciBzdGVwLiAgRm9yIGV4YW1wbGUsICBhbiBvYnNlcnZhdGlvbiBhcyBwYXJ0IG9mIGEgcHJvY2VkdXJlLiIgY29tbWVudD0iVG8gbGluayBhbiBPYnNlcnZhdGlvbiB0byBhbiBFbmNvdW50ZXIgdXNlIGBlbmNvdW50ZXJgLiAgU2VlIHRoZSAgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93IGZvciBndWlkYW5jZSBvbiByZWZlcmVuY2luZyBhbm90aGVyIE9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLlN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyZWdpc3RlcmVkIHwgcHJlbGltaW5hcnkgfCBmaW5hbCB8IGFtZW5kZWQgKyIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzdWx0IHZhbHVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTdGF0dXMiIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9IlZTQ2F0IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCVwYXJlbnQuY2F0ZWdvcnlbY29kaW5nLnN5c3RlbT0naHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS9vYnNlcnZhdGlvbi1jYXRlZ29yeScsY29kaW5nLmNvZGU9J3ZpdGFsLXNpZ25zJ10pIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQk1JIHBlcmNlbnRpbGUgcGVyIGFnZSBhbmQgc2V4IGZvciB5b3V0aCAyLTIwIiBkZWZpbml0aW9uPSJDb2RlZCBSZXNwb25zZXMgZnJvbSBDLUNEQSBWaXRhbCBTaWduIFJlc3VsdHMuIiBjb21tZW50PSIqQWxsKiBjb2RlLXZhbHVlIGFuZCwgaWYgcHJlc2VudCwgY29tcG9uZW50LmNvZGUtY29tcG9uZW50LnZhbHVlIHBhaXJzIG5lZWQgdG8gYmUgdGFrZW4gaW50byBhY2NvdW50IHRvIGNvcnJlY3RseSB1bmRlcnN0YW5kIHRoZSBtZWFuaW5nIG9mIHRoZSBvYnNlcnZhdGlvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlRoZSB2aXRhbCBzaWduIGNvZGVzIGZyb20gdGhlIGJhc2UgRkhJUiBhbmQgVVMgQ29yZSBWaXRhbCBTaWducy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaG8gYW5kL29yIHdoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0IiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgdGhpcyBvYnNlcnZhdGlvbiBpcyBhYm91dCBhbmQgaW50byB3aG9zZSByZWNvcmQgdGhlIG9ic2VydmF0aW9uIGlzIHBsYWNlZC4gSWYgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24gaXMgZGlmZmVyZW50IGZyb20gdGhlIHN1YmplY3QgKG9yIGEgc2FtcGxlIG9mLCBwYXJ0LCBvciByZWdpb24gb2YgdGhlIHN1YmplY3QpLCB0aGUgYGZvY3VzYCBlbGVtZW50IG9yIHRoZSBgY29kZWAgaXRzZWxmIHNwZWNpZmllcyB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9uZSB3b3VsZCBleHBlY3QgdGhpcyBlbGVtZW50IHRvIGJlIGEgY2FyZGluYWxpdHkgb2YgMS4uMS4gVGhlIG9ubHkgY2lyY3Vtc3RhbmNlIGluIHdoaWNoIHRoZSBzdWJqZWN0IGNhbiBiZSBtaXNzaW5nIGlzIHdoZW4gdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgYnkgYSBkZXZpY2UgdGhhdCBkb2VzIG5vdCBrbm93IHRoZSBwYXRpZW50LiBJbiB0aGlzIGNhc2UsIHRoZSBvYnNlcnZhdGlvbiBTSEFMTCBiZSBtYXRjaGVkIHRvIGEgcGF0aWVudCB0aHJvdWdoIHNvbWUgY29udGV4dC9jaGFubmVsIG1hdGNoaW5nIHRlY2huaXF1ZSwgYW5kIGF0IHRoaXMgcG9pbnQsIHRoZSBvYnNlcnZhdGlvbiBzaG91bGQgYmUgdXBkYXRlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImZvY3VzIiBkZXNjcmlwdGlvbj0iV2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQsIHdoZW4gaXQgaXMgbm90IGFib3V0IHRoZSBzdWJqZWN0IG9mIHJlY29yZCIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiB3aGVuIGl0IGlzIG5vdCB0aGUgcGF0aWVudCBvZiByZWNvcmQgcmVwcmVzZW50aW5nIHNvbWV0aGluZyBvciBzb21lb25lIGFzc29jaWF0ZWQgd2l0aCB0aGUgcGF0aWVudCBzdWNoIGFzIGEgc3BvdXNlLCBwYXJlbnQsIGZldHVzLCBvciBkb25vci4gRm9yIGV4YW1wbGUsIGZldHVzIG9ic2VydmF0aW9ucyBpbiBhIG1vdGhlcidzIHJlY29yZC4gIFRoZSBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiBjb3VsZCBhbHNvIGJlIGFuIGV4aXN0aW5nIGNvbmRpdGlvbiwgIGFuIGludGVydmVudGlvbiwgdGhlIHN1YmplY3QncyBkaWV0LCAgYW5vdGhlciBvYnNlcnZhdGlvbiBvZiB0aGUgc3ViamVjdCwgIG9yIGEgYm9keSBzdHJ1Y3R1cmUgc3VjaCBhcyB0dW1vciBvciBpbXBsYW50ZWQgZGV2aWNlLiAgIEFuIGV4YW1wbGUgdXNlIGNhc2Ugd291bGQgYmUgdXNpbmcgdGhlIE9ic2VydmF0aW9uIHJlc291cmNlIHRvIGNhcHR1cmUgd2hldGhlciB0aGUgbW90aGVyIGlzIHRyYWluZWQgdG8gY2hhbmdlIGhlciBjaGlsZCdzIHRyYWNoZW9zdG9teSB0dWJlLiBJbiB0aGlzIGV4YW1wbGUsIHRoZSBjaGlsZCBpcyB0aGUgcGF0aWVudCBvZiByZWNvcmQgYW5kIHRoZSBtb3RoZXIgaXMgdGhlIGZvY3VzLiIgY29tbWVudD0iVHlwaWNhbGx5LCBhbiBvYnNlcnZhdGlvbiBpcyBtYWRlIGFib3V0IHRoZSBzdWJqZWN0IC0gYSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSAtIGFuZCB0aGUgZGlzdGluY3Rpb24gYmV0d2VlbiB0aGUgc3ViamVjdCBhbmQgd2hhdCBpcyBkaXJlY3RseSBtZWFzdXJlZCBmb3IgYW4gb2JzZXJ2YXRpb24gaXMgc3BlY2lmaWVkIGluIHRoZSBvYnNlcnZhdGlvbiBjb2RlIGl0c2VsZiAoIGUuZy4sICZxdW90O0Jsb29kIEdsdWNvc2UmcXVvdDspIGFuZCBkb2VzIG5vdCBuZWVkIHRvIGJlIHJlcHJlc2VudGVkIHNlcGFyYXRlbHkgdXNpbmcgdGhpcyBlbGVtZW50LiAgVXNlIGBzcGVjaW1lbmAgaWYgYSByZWZlcmVuY2UgdG8gYSBzcGVjaW1lbiBpcyByZXF1aXJlZC4gIElmIGEgY29kZSBpcyByZXF1aXJlZCBpbnN0ZWFkIG9mIGEgcmVzb3VyY2UgdXNlIGVpdGhlciAgYGJvZHlzaXRlYCBmb3IgYm9keXNpdGVzIG9yIHRoZSBzdGFuZGFyZCBleHRlbnNpb24gW2ZvY3VzQ29kZV0oaHR0cDovL2hsNy5vcmcvZmhpci9leHRlbnNpb24tb2JzZXJ2YXRpb24tZm9jdXNjb2RlLmh0bWwpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkhlYWx0aGNhcmUgZXZlbnQgZHVyaW5nIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gaXMgbWFkZSIgZGVmaW5pdGlvbj0iVGhlIGhlYWx0aGNhcmUgZXZlbnQgIChlLmcuIGEgcGF0aWVudCBhbmQgaGVhbHRoY2FyZSBwcm92aWRlciBpbnRlcmFjdGlvbikgZHVyaW5nIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gaXMgbWFkZS4iIGNvbW1lbnQ9IlRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgdGhlIGVuY291bnRlciB0aGUgZXZlbnQgb2NjdXJyZWQgd2l0aGluLCBidXQgc29tZSBldmVudHMgbWF5IGJlIGluaXRpYXRlZCBwcmlvciB0byBvciBhZnRlciB0aGUgb2ZmaWNpYWwgY29tcGxldGlvbiBvZiBhbiBlbmNvdW50ZXIgYnV0IHN0aWxsIGJlIHRpZWQgdG8gdGhlIGNvbnRleHQgb2YgdGhlIGVuY291bnRlciAoZS5nLiBwcmUtYWRtaXNzaW9uIGxhYm9yYXRvcnkgdGVzdHMpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2Z0ZW4ganVzdCBhIGRhdGVUaW1lIGZvciBWaXRhbCBTaWducyIgZGVmaW5pdGlvbj0iT2Z0ZW4ganVzdCBhIGRhdGVUaW1lIGZvciBWaXRhbCBTaWducy4iIGNvbW1lbnQ9IkF0IGxlYXN0IGEgZGF0ZSBzaG91bGQgYmUgcHJlc2VudCB1bmxlc3MgdGhpcyBvYnNlcnZhdGlvbiBpcyBhIGhpc3RvcmljYWwgcmVwb3J0LiAgRm9yIHJlY29yZGluZyBpbXByZWNpc2Ugb3IgJnF1b3Q7ZnV6enkmcXVvdDsgdGltZXMgKEZvciBleGFtcGxlLCBhIGJsb29kIGdsdWNvc2UgbWVhc3VyZW1lbnQgdGFrZW4gJnF1b3Q7YWZ0ZXIgYnJlYWtmYXN0JnF1b3Q7KSB1c2UgdGhlIFtUaW1pbmddKGh0dHA6Ly9obDcub3JnL2ZoaXIvZGF0YXR5cGVzLmh0bWwjdGltaW5nKSBkYXRhdHlwZSB3aGljaCBhbGxvdyB0aGUgbWVhc3VyZW1lbnQgdG8gYmUgdGllZCB0byByZWd1bGFyIGxpZmUgZXZlbnRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJpZiBPYnNlcnZhdGlvbi5lZmZlY3RpdmVbeF0gaXMgZGF0ZVRpbWUgYW5kIGhhcyBhIHZhbHVlIHRoZW4gdGhhdCB2YWx1ZSBzaGFsbCBiZSBwcmVjaXNlIHRvIHRoZSBkYXkiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iKCR0aGlzIGFzIGRhdGVUaW1lKS50b1N0cmluZygpLmxlbmd0aCgpID49IDgiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imlzc3VlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEYXRlL1RpbWUgdGhpcyB2ZXJzaW9uIHdhcyBtYWRlIGF2YWlsYWJsZSIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgYW5kIHRpbWUgdGhpcyB2ZXJzaW9uIG9mIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSBhdmFpbGFibGUgdG8gcHJvdmlkZXJzLCB0eXBpY2FsbHkgYWZ0ZXIgdGhlIHJlc3VsdHMgaGF2ZSBiZWVuIHJldmlld2VkIGFuZCB2ZXJpZmllZC4iIGNvbW1lbnQ9IkZvciBPYnNlcnZhdGlvbnMgdGhhdCBkb27igJl0IHJlcXVpcmUgcmV2aWV3IGFuZCB2ZXJpZmljYXRpb24sIGl0IG1heSBiZSB0aGUgc2FtZSBhcyB0aGUgW2BsYXN0VXBkYXRlZGAgXShodHRwOi8vaGw3Lm9yZy9maGlyL3Jlc291cmNlLWRlZmluaXRpb25zLmh0bWwjTWV0YS5sYXN0VXBkYXRlZCkgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmLiAgRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvIHJlcXVpcmUgcmV2aWV3IGFuZCB2ZXJpZmljYXRpb24gZm9yIGNlcnRhaW4gdXBkYXRlcywgaXQgbWlnaHQgbm90IGJlIHRoZSBzYW1lIGFzIHRoZSBgbGFzdFVwZGF0ZWRgIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZiBkdWUgdG8gYSBub24tY2xpbmljYWxseSBzaWduaWZpY2FudCB1cGRhdGUgdGhhdCBkb2VzbuKAmXQgcmVxdWlyZSB0aGUgbmV3IHZlcnNpb24gdG8gYmUgcmV2aWV3ZWQgYW5kIHZlcmlmaWVkIGFnYWluLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJXaG8gaXMgcmVzcG9uc2libGUgZm9yIHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iV2hvIHdhcyByZXNwb25zaWJsZSBmb3IgYXNzZXJ0aW5nIHRoZSBvYnNlcnZlZCB2YWx1ZSBhcyAmcXVvdDt0cnVlJnF1b3Q7LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVml0YWwgU2lnbnMgVmFsdWUiIGRlZmluaXRpb249IlZpdGFsIFNpZ25zIHZhbHVlIGFyZSB0eXBpY2FsbHkgcmVjb3JkZWQgdXNpbmcgdGhlIFF1YW50aXR5IGRhdGEgdHlwZS4iIGNvbW1lbnQ9IkFuIG9ic2VydmF0aW9uIG1heSBoYXZlOyAxKSAgYSBzaW5nbGUgdmFsdWUgaGVyZSwgMikgIGJvdGggYSB2YWx1ZSBhbmQgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLCAgb3IgMykgIG9ubHkgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLiBJZiBhIHZhbHVlIGlzIHByZXNlbnQsIHRoZSBkYXRhdHlwZSBmb3IgdGhpcyBlbGVtZW50IHNob3VsZCBiZSBkZXRlcm1pbmVkIGJ5IE9ic2VydmF0aW9uLmNvZGUuICBBIENvZGVhYmxlQ29uY2VwdCB3aXRoIGp1c3QgYSB0ZXh0IHdvdWxkIGJlIHVzZWQgaW5zdGVhZCBvZiBhIHN0cmluZyBpZiB0aGUgZmllbGQgd2FzIHVzdWFsbHkgY29kZWQsIG9yIGlmIHRoZSB0eXBlIGFzc29jaWF0ZWQgd2l0aCB0aGUgT2JzZXJ2YXRpb24uY29kZSBkZWZpbmVzIGEgY29kZWQgdmFsdWUuICBGb3IgYWRkaXRpb25hbCBndWlkYW5jZSwgc2VlIHRoZSBbTm90ZXMgc2VjdGlvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkNvbW1vbiBVQ1VNIHVuaXRzIGZvciByZWNvcmRpbmcgVml0YWwgU2lnbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGFBYnNlbnRSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoeSB0aGUgcmVzdWx0IGlzIG1pc3NpbmciIGRlZmluaXRpb249IlByb3ZpZGVzIGEgcmVhc29uIHdoeSB0aGUgZXhwZWN0ZWQgdmFsdWUgaW4gdGhlIGVsZW1lbnQgT2JzZXJ2YXRpb24udmFsdWVbeF0gaXMgbWlzc2luZy4iIGNvbW1lbnQ9Ik51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzIGNhbiBiZSByZXByZXNlbnRlZCB0d28gd2F5cyBpbiBGSElSIE9ic2VydmF0aW9ucy4gIE9uZSB3YXkgaXMgdG8gc2ltcGx5IGluY2x1ZGUgdGhlbSBpbiB0aGUgdmFsdWUgc2V0IGFuZCByZXByZXNlbnQgdGhlIGV4Y2VwdGlvbnMgaW4gdGhlIHZhbHVlLiAgRm9yIGV4YW1wbGUsIG1lYXN1cmVtZW50IHZhbHVlcyBmb3IgYSBzZXJvbG9neSB0ZXN0IGNvdWxkIGJlICAmcXVvdDtkZXRlY3RlZCZxdW90OywgJnF1b3Q7bm90IGRldGVjdGVkJnF1b3Q7LCAmcXVvdDtpbmNvbmNsdXNpdmUmcXVvdDssIG9yICAmcXVvdDtzcGVjaW1lbiB1bnNhdGlzZmFjdG9yeSZxdW90Oy4gICAmI3hhOyYjeGE7VGhlIGFsdGVybmF0ZSB3YXkgaXMgdG8gdXNlIHRoZSB2YWx1ZSBlbGVtZW50IGZvciBhY3R1YWwgb2JzZXJ2YXRpb25zIGFuZCB1c2UgdGhlIGV4cGxpY2l0IGRhdGFBYnNlbnRSZWFzb24gZWxlbWVudCB0byByZWNvcmQgZXhjZXB0aW9uYWwgdmFsdWVzLiAgRm9yIGV4YW1wbGUsIHRoZSBkYXRhQWJzZW50UmVhc29uIGNvZGUgJnF1b3Q7ZXJyb3ImcXVvdDsgY291bGQgYmUgdXNlZCB3aGVuIHRoZSBtZWFzdXJlbWVudCB3YXMgbm90IGNvbXBsZXRlZC4gTm90ZSB0aGF0IGFuIG9ic2VydmF0aW9uIG1heSBvbmx5IGJlIHJlcG9ydGVkIGlmIHRoZXJlIGFyZSB2YWx1ZXMgdG8gcmVwb3J0LiBGb3IgZXhhbXBsZSBkaWZmZXJlbnRpYWwgY2VsbCBjb3VudHMgdmFsdWVzIG1heSBiZSByZXBvcnRlZCBvbmx5IHdoZW4gPiAwLiAgQmVjYXVzZSBvZiB0aGVzZSBvcHRpb25zLCB1c2UtY2FzZSBhZ3JlZW1lbnRzIGFyZSByZXF1aXJlZCB0byBpbnRlcnByZXQgZ2VuZXJhbCBvYnNlcnZhdGlvbnMgZm9yIG51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblZhbHVlQWJzZW50UmVhc29uIiBkZXNjcmlwdGlvbj0iQ29kZXMgc3BlY2lmeWluZyB3aHkgdGhlIHJlc3VsdCAoYE9ic2VydmF0aW9uLnZhbHVlW3hdYCkgaXMgbWlzc2luZy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZXJwcmV0YXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIaWdoLCBsb3csIG5vcm1hbCwgZXRjLiIgZGVmaW5pdGlvbj0iQSBjYXRlZ29yaWNhbCBhc3Nlc3NtZW50IG9mIGFuIG9ic2VydmF0aW9uIHZhbHVlLiAgRm9yIGV4YW1wbGUsIGhpZ2gsIGxvdywgbm9ybWFsLiIgY29tbWVudD0iSGlzdG9yaWNhbGx5IHVzZWQgZm9yIGxhYm9yYXRvcnkgcmVzdWx0cyAoa25vd24gYXMgJ2Fibm9ybWFsIGZsYWcnICksICBpdHMgdXNlIGV4dGVuZHMgdG8gb3RoZXIgdXNlIGNhc2VzIHdoZXJlIGNvZGVkIGludGVycHJldGF0aW9ucyAgYXJlIHJlbGV2YW50LiAgT2Z0ZW4gcmVwb3J0ZWQgYXMgb25lIG9yIG1vcmUgc2ltcGxlIGNvbXBhY3QgY29kZXMgdGhpcyBlbGVtZW50IGlzIG9mdGVuIHBsYWNlZCBhZGphY2VudCB0byB0aGUgcmVzdWx0IHZhbHVlIGluIHJlcG9ydHMgYW5kIGZsb3cgc2hlZXRzIHRvIHNpZ25hbCB0aGUgbWVhbmluZy9ub3JtYWxjeSBzdGF0dXMgb2YgdGhlIHJlc3VsdC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25JbnRlcnByZXRhdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIGludGVycHJldGF0aW9ucyBvZiBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiBvciB0aGUgcmVzdWx0cy4iIGNvbW1lbnQ9Ik1heSBpbmNsdWRlIGdlbmVyYWwgc3RhdGVtZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24sIG9yIHN0YXRlbWVudHMgYWJvdXQgc2lnbmlmaWNhbnQsIHVuZXhwZWN0ZWQgb3IgdW5yZWxpYWJsZSByZXN1bHRzIHZhbHVlcywgb3IgaW5mb3JtYXRpb24gYWJvdXQgaXRzIHNvdXJjZSB3aGVuIHJlbGV2YW50IHRvIGl0cyBpbnRlcnByZXRhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2JzZXJ2ZWQgYm9keSBwYXJ0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHNpdGUgb24gdGhlIHN1YmplY3QncyBib2R5IHdoZXJlIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSAoaS5lLiB0aGUgdGFyZ2V0IHNpdGUpLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIE9ic2VydmF0aW9uLmNvZGUuICBJbiBtYW55IHN5c3RlbXMsIHRoaXMgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGEgcmVsYXRlZCBvYnNlcnZhdGlvbiBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb21wb25lbnQuICAgJiN4YTsmI3hhO0lmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBCb2R5U2l0ZSB0byBiZSBoYW5kbGVkIGFzIGEgc2VwYXJhdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb25bIGJvZHlTaXRlXShodHRwOi8vaGw3Lm9yZy9maGlyL2V4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IGl0IHdhcyBkb25lIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIG1lY2hhbmlzbSB1c2VkIHRvIHBlcmZvcm0gdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvciBPYnNlcnZhdGlvbi5jb2RlLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uTWV0aG9kIiBkZXNjcmlwdGlvbj0iTWV0aG9kcyBmb3Igc2ltcGxlIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3BlY2ltZW4iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iU3BlY2ltZW4gdXNlZCBmb3IgdGhpcyBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHNwZWNpbWVuIHRoYXQgd2FzIHVzZWQgd2hlbiB0aGlzIG9ic2VydmF0aW9uIHdhcyBtYWRlLiIgY29tbWVudD0iU2hvdWxkIG9ubHkgYmUgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBgT2JzZXJ2YXRpb24uY29kZWAuICBPYnNlcnZhdGlvbnMgYXJlIG5vdCBtYWRlIG9uIHNwZWNpbWVucyB0aGVtc2VsdmVzOyB0aGV5IGFyZSBtYWRlIG9uIGEgc3ViamVjdCwgYnV0IGluIG1hbnkgY2FzZXMgYnkgdGhlIG1lYW5zIG9mIGEgc3BlY2ltZW4uIE5vdGUgdGhhdCBhbHRob3VnaCBzcGVjaW1lbnMgYXJlIG9mdGVuIGludm9sdmVkLCB0aGV5IGFyZSBub3QgYWx3YXlzIHRyYWNrZWQgYW5kIHJlcG9ydGVkIGV4cGxpY2l0bHkuIEFsc28gbm90ZSB0aGF0IG9ic2VydmF0aW9uIHJlc291cmNlcyBtYXkgYmUgdXNlZCBpbiBjb250ZXh0cyB0aGF0IHRyYWNrIHRoZSBzcGVjaW1lbiBleHBsaWNpdGx5IChlLmcuIERpYWdub3N0aWMgUmVwb3J0KS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihNZWFzdXJlbWVudCkgRGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIG9ic2VydmF0aW9uIGRhdGEuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBpcyBub3QgbWVhbnQgdG8gcmVwcmVzZW50IGEgZGV2aWNlIGludm9sdmVkIGluIHRoZSB0cmFuc21pc3Npb24gb2YgdGhlIHJlc3VsdCwgZS5nLiwgYSBnYXRld2F5LiAgU3VjaCBkZXZpY2VzIG1heSBiZSBkb2N1bWVudGVkIHVzaW5nIHRoZSBQcm92ZW5hbmNlIHJlc291cmNlIHdoZXJlIHJlbGV2YW50LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2VSYW5nZSIgZGVzY3JpcHRpb249IlByb3ZpZGVzIGd1aWRlIGZvciBpbnRlcnByZXRhdGlvbiIgZGVmaW5pdGlvbj0iR3VpZGFuY2Ugb24gaG93IHRvIGludGVycHJldCB0aGUgdmFsdWUgYnkgY29tcGFyaXNvbiB0byBhIG5vcm1hbCBvciByZWNvbW1lbmRlZCByYW5nZS4gIE11bHRpcGxlIHJlZmVyZW5jZSByYW5nZXMgYXJlIGludGVycHJldGVkIGFzIGFuICZxdW90O09SJnF1b3Q7LiAgIEluIG90aGVyIHdvcmRzLCB0byByZXByZXNlbnQgdHdvIGRpc3RpbmN0IHRhcmdldCBwb3B1bGF0aW9ucywgdHdvIGByZWZlcmVuY2VSYW5nZWAgZWxlbWVudHMgd291bGQgYmUgdXNlZC4iIGNvbW1lbnQ9Ik1vc3Qgb2JzZXJ2YXRpb25zIG9ubHkgaGF2ZSBvbmUgZ2VuZXJpYyByZWZlcmVuY2UgcmFuZ2UuIFN5c3RlbXMgTUFZIGNob29zZSB0byByZXN0cmljdCB0byBvbmx5IHN1cHBseWluZyB0aGUgcmVsZXZhbnQgcmVmZXJlbmNlIHJhbmdlIGJhc2VkIG9uIGtub3dsZWRnZSBhYm91dCB0aGUgcGF0aWVudCAoZS5nLiwgc3BlY2lmaWMgdG8gdGhlIHBhdGllbnQncyBhZ2UsIGdlbmRlciwgd2VpZ2h0IGFuZCBvdGhlciBmYWN0b3JzKSwgYnV0IHRoaXMgbWlnaHQgbm90IGJlIHBvc3NpYmxlIG9yIGFwcHJvcHJpYXRlLiBXaGVuZXZlciBtb3JlIHRoYW4gb25lIHJlZmVyZW5jZSByYW5nZSBpcyBzdXBwbGllZCwgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlbSBTSE9VTEQgYmUgcHJvdmlkZWQgaW4gdGhlIHJlZmVyZW5jZSByYW5nZSBhbmQvb3IgYWdlIHByb3BlcnRpZXMuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uUmVmZXJlbmNlUmFuZ2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJvYnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJNdXN0IGhhdmUgYXQgbGVhc3QgYSBsb3cgb3IgYSBoaWdoIG9yIHRleHQiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0ibG93LmV4aXN0cygpIG9yIGhpZ2guZXhpc3RzKCkgb3IgdGV4dC5leGlzdHMoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaGFzTWVtYmVyIiBkZXNjcmlwdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyB2aXRhbCBzaWducyBwYW5lbCBjb21wb25lbnRzIiBkZWZpbml0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIHZpdGFsIHNpZ25zIHBhbmVsIGNvbXBvbmVudHMuIiBjb21tZW50PSJXaGVuIHVzaW5nIHRoaXMgZWxlbWVudCwgYW4gb2JzZXJ2YXRpb24gd2lsbCB0eXBpY2FsbHkgaGF2ZSBlaXRoZXIgYSB2YWx1ZSBvciBhIHNldCBvZiByZWxhdGVkIHJlc291cmNlcywgYWx0aG91Z2ggYm90aCBtYXkgYmUgcHJlc2VudCBpbiBzb21lIGNhc2VzLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuICBOb3RlIHRoYXQgYSBzeXN0ZW0gbWF5IGNhbGN1bGF0ZSByZXN1bHRzIGZyb20gW1F1ZXN0aW9ubmFpcmVSZXNwb25zZV0oaHR0cDovL2hsNy5vcmcvZmhpci9xdWVzdGlvbm5haXJlcmVzcG9uc2UuaHRtbCkgIGludG8gYSBmaW5hbCBzY29yZSBhbmQgcmVwcmVzZW50IHRoZSBzY29yZSBhcyBhbiBPYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRlcml2ZWRGcm9tIiBkZXNjcmlwdGlvbj0iUmVsYXRlZCBtZWFzdXJlbWVudHMgdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgZnJvbSIgZGVmaW5pdGlvbj0iVGhlIHRhcmdldCByZXNvdXJjZSB0aGF0IHJlcHJlc2VudHMgYSBtZWFzdXJlbWVudCBmcm9tIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gdmFsdWUgaXMgZGVyaXZlZC4gRm9yIGV4YW1wbGUsIGEgY2FsY3VsYXRlZCBhbmlvbiBnYXAgb3IgYSBmZXRhbCBtZWFzdXJlbWVudCBiYXNlZCBvbiBhbiB1bHRyYXNvdW5kIGltYWdlLiIgY29tbWVudD0iQWxsIHRoZSByZWZlcmVuY2UgY2hvaWNlcyB0aGF0IGFyZSBsaXN0ZWQgaW4gdGhpcyBlbGVtZW50IGNhbiByZXByZXNlbnQgY2xpbmljYWwgb2JzZXJ2YXRpb25zIGFuZCBvdGhlciBtZWFzdXJlbWVudHMgdGhhdCBtYXkgYmUgdGhlIHNvdXJjZSBmb3IgYSBkZXJpdmVkIHZhbHVlLiAgVGhlIG1vc3QgY29tbW9uIHJlZmVyZW5jZSB3aWxsIGJlIGFub3RoZXIgT2JzZXJ2YXRpb24uICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbXBvbmVudCIgZGVzY3JpcHRpb249IkNvbXBvbmVudCBvYnNlcnZhdGlvbnMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgY29tcG9uZW50IG9ic2VydmF0aW9uIHN1Y2ggYXMgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBibG9vZCBwcmVzc3VyZS4iIGNvbW1lbnQ9IkZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBiZSBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iSWYgdGhlcmUgaXMgbm8gYSB2YWx1ZSBhIGRhdGEgYWJzZW50IHJlYXNvbiBtdXN0IGJlIHByZXNlbnQiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0idmFsdWUuZXhpc3RzKCkgb3IgZGF0YUFic2VudFJlYXNvbi5leGlzdHMoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJVU0NvcmVQZWRpYXRyaWNIZWFkT2NjaXBpdGFsRnJvbnRhbENpcmN1bWZlcmVuY2VQZXJjZW50aWxlUHJvZmlsZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vaGVhZC1vY2NpcGl0YWwtZnJvbnRhbC1jaXJjdW1mZXJlbmNlLXBlcmNlbnRpbGUiIGxhYmVsPSJVUyBDb3JlIFBlZGlhdHJpYyBIZWFkIE9jY2lwaXRhbC1mcm9udGFsIENpcmN1bWZlcmVuY2UgUGVyY2VudGlsZSBQcm9maWxlIiB0YXJnZXQ9Ik9ic2VydmF0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkJ1c2luZXNzIElkZW50aWZpZXIgZm9yIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIHVuaXF1ZSBpZGVudGlmaWVyIGFzc2lnbmVkIHRvIHRoaXMgb2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IkZ1bGZpbGxzIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIiBkZWZpbml0aW9uPSJBIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBldmVudC4gIEZvciBleGFtcGxlLCBhIE1lZGljYXRpb25SZXF1ZXN0IG1heSByZXF1aXJlIGEgcGF0aWVudCB0byBoYXZlIGxhYm9yYXRvcnkgdGVzdCBwZXJmb3JtZWQgYmVmb3JlICBpdCBpcyBkaXNwZW5zZWQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBPYnNlcnZhdGlvbiBpcyBhIGNvbXBvbmVudCBvciBzdGVwLiAgRm9yIGV4YW1wbGUsICBhbiBvYnNlcnZhdGlvbiBhcyBwYXJ0IG9mIGEgcHJvY2VkdXJlLiIgY29tbWVudD0iVG8gbGluayBhbiBPYnNlcnZhdGlvbiB0byBhbiBFbmNvdW50ZXIgdXNlIGBlbmNvdW50ZXJgLiAgU2VlIHRoZSAgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93IGZvciBndWlkYW5jZSBvbiByZWZlcmVuY2luZyBhbm90aGVyIE9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLlN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyZWdpc3RlcmVkIHwgcHJlbGltaW5hcnkgfCBmaW5hbCB8IGFtZW5kZWQgKyIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzdWx0IHZhbHVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTdGF0dXMiIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9IlZTQ2F0IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCVwYXJlbnQuY2F0ZWdvcnlbY29kaW5nLnN5c3RlbT0naHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS9vYnNlcnZhdGlvbi1jYXRlZ29yeScsY29kaW5nLmNvZGU9J3ZpdGFsLXNpZ25zJ10pIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGVhZCBPY2NpcGl0YWwtZnJvbnRhbCBjaXJjdW1mZXJlbmNlIFBlcmNlbnRpbGUiIGRlZmluaXRpb249IkNvZGVkIFJlc3BvbnNlcyBmcm9tIEMtQ0RBIFZpdGFsIFNpZ24gUmVzdWx0cy4iIGNvbW1lbnQ9IipBbGwqIGNvZGUtdmFsdWUgYW5kLCBpZiBwcmVzZW50LCBjb21wb25lbnQuY29kZS1jb21wb25lbnQudmFsdWUgcGFpcnMgbmVlZCB0byBiZSB0YWtlbiBpbnRvIGFjY291bnQgdG8gY29ycmVjdGx5IHVuZGVyc3RhbmQgdGhlIG1lYW5pbmcgb2YgdGhlIG9ic2VydmF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhlIHZpdGFsIHNpZ24gY29kZXMgZnJvbSB0aGUgYmFzZSBGSElSIGFuZCBVUyBDb3JlIFZpdGFsIFNpZ25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jdXMiIGRlc2NyaXB0aW9uPSJXaGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCwgd2hlbiBpdCBpcyBub3QgYWJvdXQgdGhlIHN1YmplY3Qgb2YgcmVjb3JkIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIHdoZW4gaXQgaXMgbm90IHRoZSBwYXRpZW50IG9mIHJlY29yZCByZXByZXNlbnRpbmcgc29tZXRoaW5nIG9yIHNvbWVvbmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYXRpZW50IHN1Y2ggYXMgYSBzcG91c2UsIHBhcmVudCwgZmV0dXMsIG9yIGRvbm9yLiBGb3IgZXhhbXBsZSwgZmV0dXMgb2JzZXJ2YXRpb25zIGluIGEgbW90aGVyJ3MgcmVjb3JkLiAgVGhlIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIGNvdWxkIGFsc28gYmUgYW4gZXhpc3RpbmcgY29uZGl0aW9uLCAgYW4gaW50ZXJ2ZW50aW9uLCB0aGUgc3ViamVjdCdzIGRpZXQsICBhbm90aGVyIG9ic2VydmF0aW9uIG9mIHRoZSBzdWJqZWN0LCAgb3IgYSBib2R5IHN0cnVjdHVyZSBzdWNoIGFzIHR1bW9yIG9yIGltcGxhbnRlZCBkZXZpY2UuICAgQW4gZXhhbXBsZSB1c2UgY2FzZSB3b3VsZCBiZSB1c2luZyB0aGUgT2JzZXJ2YXRpb24gcmVzb3VyY2UgdG8gY2FwdHVyZSB3aGV0aGVyIHRoZSBtb3RoZXIgaXMgdHJhaW5lZCB0byBjaGFuZ2UgaGVyIGNoaWxkJ3MgdHJhY2hlb3N0b215IHR1YmUuIEluIHRoaXMgZXhhbXBsZSwgdGhlIGNoaWxkIGlzIHRoZSBwYXRpZW50IG9mIHJlY29yZCBhbmQgdGhlIG1vdGhlciBpcyB0aGUgZm9jdXMuIiBjb21tZW50PSJUeXBpY2FsbHksIGFuIG9ic2VydmF0aW9uIGlzIG1hZGUgYWJvdXQgdGhlIHN1YmplY3QgLSBhIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIC0gYW5kIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRoZSBzdWJqZWN0IGFuZCB3aGF0IGlzIGRpcmVjdGx5IG1lYXN1cmVkIGZvciBhbiBvYnNlcnZhdGlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIG9ic2VydmF0aW9uIGNvZGUgaXRzZWxmICggZS5nLiwgJnF1b3Q7Qmxvb2QgR2x1Y29zZSZxdW90OykgYW5kIGRvZXMgbm90IG5lZWQgdG8gYmUgcmVwcmVzZW50ZWQgc2VwYXJhdGVseSB1c2luZyB0aGlzIGVsZW1lbnQuICBVc2UgYHNwZWNpbWVuYCBpZiBhIHJlZmVyZW5jZSB0byBhIHNwZWNpbWVuIGlzIHJlcXVpcmVkLiAgSWYgYSBjb2RlIGlzIHJlcXVpcmVkIGluc3RlYWQgb2YgYSByZXNvdXJjZSB1c2UgZWl0aGVyICBgYm9keXNpdGVgIGZvciBib2R5c2l0ZXMgb3IgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbZm9jdXNDb2RlXShodHRwOi8vaGw3Lm9yZy9maGlyL2V4dGVuc2lvbi1vYnNlcnZhdGlvbi1mb2N1c2NvZGUuaHRtbCkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zIiBkZWZpbml0aW9uPSJPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zLiIgY29tbWVudD0iQXQgbGVhc3QgYSBkYXRlIHNob3VsZCBiZSBwcmVzZW50IHVubGVzcyB0aGlzIG9ic2VydmF0aW9uIGlzIGEgaGlzdG9yaWNhbCByZXBvcnQuICBGb3IgcmVjb3JkaW5nIGltcHJlY2lzZSBvciAmcXVvdDtmdXp6eSZxdW90OyB0aW1lcyAoRm9yIGV4YW1wbGUsIGEgYmxvb2QgZ2x1Y29zZSBtZWFzdXJlbWVudCB0YWtlbiAmcXVvdDthZnRlciBicmVha2Zhc3QmcXVvdDspIHVzZSB0aGUgW1RpbWluZ10oaHR0cDovL2hsNy5vcmcvZmhpci9kYXRhdHlwZXMuaHRtbCN0aW1pbmcpIGRhdGF0eXBlIHdoaWNoIGFsbG93IHRoZSBtZWFzdXJlbWVudCB0byBiZSB0aWVkIHRvIHJlZ3VsYXIgbGlmZSBldmVudHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ2cy0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9ImlmIE9ic2VydmF0aW9uLmVmZmVjdGl2ZVt4XSBpcyBkYXRlVGltZSBhbmQgaGFzIGEgdmFsdWUgdGhlbiB0aGF0IHZhbHVlIHNoYWxsIGJlIHByZWNpc2UgdG8gdGhlIGRheSI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIoJHRoaXMgYXMgZGF0ZVRpbWUpLnRvU3RyaW5nKCkubGVuZ3RoKCkgPj0gOCIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaXNzdWVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUvVGltZSB0aGlzIHZlcnNpb24gd2FzIG1hZGUgYXZhaWxhYmxlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGlzIHZlcnNpb24gb2YgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIGF2YWlsYWJsZSB0byBwcm92aWRlcnMsIHR5cGljYWxseSBhZnRlciB0aGUgcmVzdWx0cyBoYXZlIGJlZW4gcmV2aWV3ZWQgYW5kIHZlcmlmaWVkLiIgY29tbWVudD0iRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvbuKAmXQgcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiwgaXQgbWF5IGJlIHRoZSBzYW1lIGFzIHRoZSBbYGxhc3RVcGRhdGVkYCBdKGh0dHA6Ly9obDcub3JnL2ZoaXIvcmVzb3VyY2UtZGVmaW5pdGlvbnMuaHRtbCNNZXRhLmxhc3RVcGRhdGVkKSB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYuICBGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG8gcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiBmb3IgY2VydGFpbiB1cGRhdGVzLCBpdCBtaWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGBsYXN0VXBkYXRlZGAgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmIGR1ZSB0byBhIG5vbi1jbGluaWNhbGx5IHNpZ25pZmljYW50IHVwZGF0ZSB0aGF0IGRvZXNu4oCZdCByZXF1aXJlIHRoZSBuZXcgdmVyc2lvbiB0byBiZSByZXZpZXdlZCBhbmQgdmVyaWZpZWQgYWdhaW4uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IldobyBpcyByZXNwb25zaWJsZSBmb3IgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJXaG8gd2FzIHJlc3BvbnNpYmxlIGZvciBhc3NlcnRpbmcgdGhlIG9ic2VydmVkIHZhbHVlIGFzICZxdW90O3RydWUmcXVvdDsuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJWaXRhbCBTaWducyBWYWx1ZSIgZGVmaW5pdGlvbj0iVml0YWwgU2lnbnMgdmFsdWUgYXJlIHR5cGljYWxseSByZWNvcmRlZCB1c2luZyB0aGUgUXVhbnRpdHkgZGF0YSB0eXBlLiIgY29tbWVudD0iQW4gb2JzZXJ2YXRpb24gbWF5IGhhdmU7IDEpICBhIHNpbmdsZSB2YWx1ZSBoZXJlLCAyKSAgYm90aCBhIHZhbHVlIGFuZCBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMsICBvciAzKSAgb25seSBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMuIElmIGEgdmFsdWUgaXMgcHJlc2VudCwgdGhlIGRhdGF0eXBlIGZvciB0aGlzIGVsZW1lbnQgc2hvdWxkIGJlIGRldGVybWluZWQgYnkgT2JzZXJ2YXRpb24uY29kZS4gIEEgQ29kZWFibGVDb25jZXB0IHdpdGgganVzdCBhIHRleHQgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGlmIHRoZSBmaWVsZCB3YXMgdXN1YWxseSBjb2RlZCwgb3IgaWYgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBPYnNlcnZhdGlvbi5jb2RlIGRlZmluZXMgYSBjb2RlZCB2YWx1ZS4gIEZvciBhZGRpdGlvbmFsIGd1aWRhbmNlLCBzZWUgdGhlIFtOb3RlcyBzZWN0aW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQ29tbW9uIFVDVU0gdW5pdHMgZm9yIHJlY29yZGluZyBWaXRhbCBTaWducy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YUFic2VudFJlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2h5IHRoZSByZXN1bHQgaXMgbWlzc2luZyIgZGVmaW5pdGlvbj0iUHJvdmlkZXMgYSByZWFzb24gd2h5IHRoZSBleHBlY3RlZCB2YWx1ZSBpbiB0aGUgZWxlbWVudCBPYnNlcnZhdGlvbi52YWx1ZVt4XSBpcyBtaXNzaW5nLiIgY29tbWVudD0iTnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMgY2FuIGJlIHJlcHJlc2VudGVkIHR3byB3YXlzIGluIEZISVIgT2JzZXJ2YXRpb25zLiAgT25lIHdheSBpcyB0byBzaW1wbHkgaW5jbHVkZSB0aGVtIGluIHRoZSB2YWx1ZSBzZXQgYW5kIHJlcHJlc2VudCB0aGUgZXhjZXB0aW9ucyBpbiB0aGUgdmFsdWUuICBGb3IgZXhhbXBsZSwgbWVhc3VyZW1lbnQgdmFsdWVzIGZvciBhIHNlcm9sb2d5IHRlc3QgY291bGQgYmUgICZxdW90O2RldGVjdGVkJnF1b3Q7LCAmcXVvdDtub3QgZGV0ZWN0ZWQmcXVvdDssICZxdW90O2luY29uY2x1c2l2ZSZxdW90Oywgb3IgICZxdW90O3NwZWNpbWVuIHVuc2F0aXNmYWN0b3J5JnF1b3Q7LiAgICYjeGE7JiN4YTtUaGUgYWx0ZXJuYXRlIHdheSBpcyB0byB1c2UgdGhlIHZhbHVlIGVsZW1lbnQgZm9yIGFjdHVhbCBvYnNlcnZhdGlvbnMgYW5kIHVzZSB0aGUgZXhwbGljaXQgZGF0YUFic2VudFJlYXNvbiBlbGVtZW50IHRvIHJlY29yZCBleGNlcHRpb25hbCB2YWx1ZXMuICBGb3IgZXhhbXBsZSwgdGhlIGRhdGFBYnNlbnRSZWFzb24gY29kZSAmcXVvdDtlcnJvciZxdW90OyBjb3VsZCBiZSB1c2VkIHdoZW4gdGhlIG1lYXN1cmVtZW50IHdhcyBub3QgY29tcGxldGVkLiBOb3RlIHRoYXQgYW4gb2JzZXJ2YXRpb24gbWF5IG9ubHkgYmUgcmVwb3J0ZWQgaWYgdGhlcmUgYXJlIHZhbHVlcyB0byByZXBvcnQuIEZvciBleGFtcGxlIGRpZmZlcmVudGlhbCBjZWxsIGNvdW50cyB2YWx1ZXMgbWF5IGJlIHJlcG9ydGVkIG9ubHkgd2hlbiA+IDAuICBCZWNhdXNlIG9mIHRoZXNlIG9wdGlvbnMsIHVzZS1jYXNlIGFncmVlbWVudHMgYXJlIHJlcXVpcmVkIHRvIGludGVycHJldCBnZW5lcmFsIG9ic2VydmF0aW9ucyBmb3IgbnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uVmFsdWVBYnNlbnRSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBzcGVjaWZ5aW5nIHdoeSB0aGUgcmVzdWx0IChgT2JzZXJ2YXRpb24udmFsdWVbeF1gKSBpcyBtaXNzaW5nLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlcnByZXRhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhpZ2gsIGxvdywgbm9ybWFsLCBldGMuIiBkZWZpbml0aW9uPSJBIGNhdGVnb3JpY2FsIGFzc2Vzc21lbnQgb2YgYW4gb2JzZXJ2YXRpb24gdmFsdWUuICBGb3IgZXhhbXBsZSwgaGlnaCwgbG93LCBub3JtYWwuIiBjb21tZW50PSJIaXN0b3JpY2FsbHkgdXNlZCBmb3IgbGFib3JhdG9yeSByZXN1bHRzIChrbm93biBhcyAnYWJub3JtYWwgZmxhZycgKSwgIGl0cyB1c2UgZXh0ZW5kcyB0byBvdGhlciB1c2UgY2FzZXMgd2hlcmUgY29kZWQgaW50ZXJwcmV0YXRpb25zICBhcmUgcmVsZXZhbnQuICBPZnRlbiByZXBvcnRlZCBhcyBvbmUgb3IgbW9yZSBzaW1wbGUgY29tcGFjdCBjb2RlcyB0aGlzIGVsZW1lbnQgaXMgb2Z0ZW4gcGxhY2VkIGFkamFjZW50IHRvIHRoZSByZXN1bHQgdmFsdWUgaW4gcmVwb3J0cyBhbmQgZmxvdyBzaGVldHMgdG8gc2lnbmFsIHRoZSBtZWFuaW5nL25vcm1hbGN5IHN0YXR1cyBvZiB0aGUgcmVzdWx0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkludGVycHJldGF0aW9uIiBkZXNjcmlwdGlvbj0iQ29kZXMgaWRlbnRpZnlpbmcgaW50ZXJwcmV0YXRpb25zIG9mIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIG9yIHRoZSByZXN1bHRzLiIgY29tbWVudD0iTWF5IGluY2x1ZGUgZ2VuZXJhbCBzdGF0ZW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiwgb3Igc3RhdGVtZW50cyBhYm91dCBzaWduaWZpY2FudCwgdW5leHBlY3RlZCBvciB1bnJlbGlhYmxlIHJlc3VsdHMgdmFsdWVzLCBvciBpbmZvcm1hdGlvbiBhYm91dCBpdHMgc291cmNlIHdoZW4gcmVsZXZhbnQgdG8gaXRzIGludGVycHJldGF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPYnNlcnZlZCBib2R5IHBhcnQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc2l0ZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgd2hlcmUgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIChpLmUuIHRoZSB0YXJnZXQgc2l0ZSkuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gT2JzZXJ2YXRpb24uY29kZS4gIEluIG1hbnkgc3lzdGVtcywgdGhpcyBtYXkgYmUgcmVwcmVzZW50ZWQgYXMgYSByZWxhdGVkIG9ic2VydmF0aW9uIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvbXBvbmVudC4gICAmI3hhOyYjeGE7SWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvblsgYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibWV0aG9kIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIb3cgaXQgd2FzIGRvbmUiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgbWVjaGFuaXNtIHVzZWQgdG8gcGVyZm9ybSB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm9yIE9ic2VydmF0aW9uLmNvZGUuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25NZXRob2QiIGRlc2NyaXB0aW9uPSJNZXRob2RzIGZvciBzaW1wbGUgb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiB1c2VkIGZvciB0aGlzIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2ltZW4gdGhhdCB3YXMgdXNlZCB3aGVuIHRoaXMgb2JzZXJ2YXRpb24gd2FzIG1hZGUuIiBjb21tZW50PSJTaG91bGQgb25seSBiZSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIGBPYnNlcnZhdGlvbi5jb2RlYC4gIE9ic2VydmF0aW9ucyBhcmUgbm90IG1hZGUgb24gc3BlY2ltZW5zIHRoZW1zZWx2ZXM7IHRoZXkgYXJlIG1hZGUgb24gYSBzdWJqZWN0LCBidXQgaW4gbWFueSBjYXNlcyBieSB0aGUgbWVhbnMgb2YgYSBzcGVjaW1lbi4gTm90ZSB0aGF0IGFsdGhvdWdoIHNwZWNpbWVucyBhcmUgb2Z0ZW4gaW52b2x2ZWQsIHRoZXkgYXJlIG5vdCBhbHdheXMgdHJhY2tlZCBhbmQgcmVwb3J0ZWQgZXhwbGljaXRseS4gQWxzbyBub3RlIHRoYXQgb2JzZXJ2YXRpb24gcmVzb3VyY2VzIG1heSBiZSB1c2VkIGluIGNvbnRleHRzIHRoYXQgdHJhY2sgdGhlIHNwZWNpbWVuIGV4cGxpY2l0bHkgKGUuZy4gRGlhZ25vc3RpYyBSZXBvcnQpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXZpY2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKE1lYXN1cmVtZW50KSBEZXZpY2UiIGRlZmluaXRpb249IlRoZSBkZXZpY2UgdXNlZCB0byBnZW5lcmF0ZSB0aGUgb2JzZXJ2YXRpb24gZGF0YS4iIGNvbW1lbnQ9Ik5vdGUgdGhhdCB0aGlzIGlzIG5vdCBtZWFudCB0byByZXByZXNlbnQgYSBkZXZpY2UgaW52b2x2ZWQgaW4gdGhlIHRyYW5zbWlzc2lvbiBvZiB0aGUgcmVzdWx0LCBlLmcuLCBhIGdhdGV3YXkuICBTdWNoIGRldmljZXMgbWF5IGJlIGRvY3VtZW50ZWQgdXNpbmcgdGhlIFByb3ZlbmFuY2UgcmVzb3VyY2Ugd2hlcmUgcmVsZXZhbnQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIiBkZWZpbml0aW9uPSJHdWlkYW5jZSBvbiBob3cgdG8gaW50ZXJwcmV0IHRoZSB2YWx1ZSBieSBjb21wYXJpc29uIHRvIGEgbm9ybWFsIG9yIHJlY29tbWVuZGVkIHJhbmdlLiAgTXVsdGlwbGUgcmVmZXJlbmNlIHJhbmdlcyBhcmUgaW50ZXJwcmV0ZWQgYXMgYW4gJnF1b3Q7T1ImcXVvdDsuICAgSW4gb3RoZXIgd29yZHMsIHRvIHJlcHJlc2VudCB0d28gZGlzdGluY3QgdGFyZ2V0IHBvcHVsYXRpb25zLCB0d28gYHJlZmVyZW5jZVJhbmdlYCBlbGVtZW50cyB3b3VsZCBiZSB1c2VkLiIgY29tbWVudD0iTW9zdCBvYnNlcnZhdGlvbnMgb25seSBoYXZlIG9uZSBnZW5lcmljIHJlZmVyZW5jZSByYW5nZS4gU3lzdGVtcyBNQVkgY2hvb3NlIHRvIHJlc3RyaWN0IHRvIG9ubHkgc3VwcGx5aW5nIHRoZSByZWxldmFudCByZWZlcmVuY2UgcmFuZ2UgYmFzZWQgb24ga25vd2xlZGdlIGFib3V0IHRoZSBwYXRpZW50IChlLmcuLCBzcGVjaWZpYyB0byB0aGUgcGF0aWVudCdzIGFnZSwgZ2VuZGVyLCB3ZWlnaHQgYW5kIG90aGVyIGZhY3RvcnMpLCBidXQgdGhpcyBtaWdodCBub3QgYmUgcG9zc2libGUgb3IgYXBwcm9wcmlhdGUuIFdoZW5ldmVyIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIHJhbmdlIGlzIHN1cHBsaWVkLCB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGVtIFNIT1VMRCBiZSBwcm92aWRlZCBpbiB0aGUgcmVmZXJlbmNlIHJhbmdlIGFuZC9vciBhZ2UgcHJvcGVydGllcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5SZWZlcmVuY2VSYW5nZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Im9icy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik11c3QgaGF2ZSBhdCBsZWFzdCBhIGxvdyBvciBhIGhpZ2ggb3IgdGV4dCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJsb3cuZXhpc3RzKCkgb3IgaGlnaC5leGlzdHMoKSBvciB0ZXh0LmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJoYXNNZW1iZXIiIGRlc2NyaXB0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIHZpdGFsIHNpZ25zIHBhbmVsIGNvbXBvbmVudHMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cy4iIGNvbW1lbnQ9IldoZW4gdXNpbmcgdGhpcyBlbGVtZW50LCBhbiBvYnNlcnZhdGlvbiB3aWxsIHR5cGljYWxseSBoYXZlIGVpdGhlciBhIHZhbHVlIG9yIGEgc2V0IG9mIHJlbGF0ZWQgcmVzb3VyY2VzLCBhbHRob3VnaCBib3RoIG1heSBiZSBwcmVzZW50IGluIHNvbWUgY2FzZXMuICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4gIE5vdGUgdGhhdCBhIHN5c3RlbSBtYXkgY2FsY3VsYXRlIHJlc3VsdHMgZnJvbSBbUXVlc3Rpb25uYWlyZVJlc3BvbnNlXShodHRwOi8vaGw3Lm9yZy9maGlyL3F1ZXN0aW9ubmFpcmVyZXNwb25zZS5odG1sKSAgaW50byBhIGZpbmFsIHNjb3JlIGFuZCByZXByZXNlbnQgdGhlIHNjb3JlIGFzIGFuIE9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIG1lYXN1cmVtZW50cyB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIG1lYXN1cmVtZW50IGZyb20gd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiB2YWx1ZSBpcyBkZXJpdmVkLiBGb3IgZXhhbXBsZSwgYSBjYWxjdWxhdGVkIGFuaW9uIGdhcCBvciBhIGZldGFsIG1lYXN1cmVtZW50IGJhc2VkIG9uIGFuIHVsdHJhc291bmQgaW1hZ2UuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iQ29tcG9uZW50IG9ic2VydmF0aW9ucyIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyBjb21wb25lbnQgb2JzZXJ2YXRpb24gc3VjaCBhcyBzeXN0b2xpYyBhbmQgZGlhc3RvbGljIGJsb29kIHByZXNzdXJlLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSBpcyBubyBhIHZhbHVlIGEgZGF0YSBhYnNlbnQgcmVhc29uIG11c3QgYmUgcHJlc2VudCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ2YWx1ZS5leGlzdHMoKSBvciBkYXRhQWJzZW50UmVhc29uLmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVTQ29yZVBlZGlhdHJpY1dlaWdodEZvckhlaWdodE9ic2VydmF0aW9uUHJvZmlsZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcGVkaWF0cmljLXdlaWdodC1mb3ItaGVpZ2h0IiBsYWJlbD0iVVMgQ29yZSBQZWRpYXRyaWMgV2VpZ2h0IGZvciBIZWlnaHQgT2JzZXJ2YXRpb24gUHJvZmlsZSIgdGFyZ2V0PSJPYnNlcnZhdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY29kZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBJZGVudGlmaWVyIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIG9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJGdWxmaWxscyBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciIgZGVmaW5pdGlvbj0iQSBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciB0aGF0IGlzIGZ1bGZpbGxlZCBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgZXZlbnQuICBGb3IgZXhhbXBsZSwgYSBNZWRpY2F0aW9uUmVxdWVzdCBtYXkgcmVxdWlyZSBhIHBhdGllbnQgdG8gaGF2ZSBsYWJvcmF0b3J5IHRlc3QgcGVyZm9ybWVkIGJlZm9yZSAgaXQgaXMgZGlzcGVuc2VkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iUGFydCBvZiByZWZlcmVuY2VkIGV2ZW50IiBkZWZpbml0aW9uPSJBIGxhcmdlciBldmVudCBvZiB3aGljaCB0aGlzIHBhcnRpY3VsYXIgT2JzZXJ2YXRpb24gaXMgYSBjb21wb25lbnQgb3Igc3RlcC4gIEZvciBleGFtcGxlLCAgYW4gb2JzZXJ2YXRpb24gYXMgcGFydCBvZiBhIHByb2NlZHVyZS4iIGNvbW1lbnQ9IlRvIGxpbmsgYW4gT2JzZXJ2YXRpb24gdG8gYW4gRW5jb3VudGVyIHVzZSBgZW5jb3VudGVyYC4gIFNlZSB0aGUgIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdyBmb3IgZ3VpZGFuY2Ugb24gcmVmZXJlbmNpbmcgYW5vdGhlciBPYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5TdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icmVnaXN0ZXJlZCB8IHByZWxpbWluYXJ5IHwgZmluYWwgfCBhbWVuZGVkICsiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHJlc3VsdCB2YWx1ZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU3RhdHVzIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJWU0NhdCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCglcGFyZW50LmNhdGVnb3J5W2NvZGluZy5zeXN0ZW09J2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vb2JzZXJ2YXRpb24tY2F0ZWdvcnknLGNvZGluZy5jb2RlPSd2aXRhbC1zaWducyddKSIgZGVzY3JpcHRpb249IkNsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldlaWdodC1mb3ItbGVuZ3RoIHBlciBhZ2UgYW5kIGdlbmRlciIgZGVmaW5pdGlvbj0iQ29kZWQgUmVzcG9uc2VzIGZyb20gQy1DREEgVml0YWwgU2lnbiBSZXN1bHRzLiIgY29tbWVudD0iKkFsbCogY29kZS12YWx1ZSBhbmQsIGlmIHByZXNlbnQsIGNvbXBvbmVudC5jb2RlLWNvbXBvbmVudC52YWx1ZSBwYWlycyBuZWVkIHRvIGJlIHRha2VuIGludG8gYWNjb3VudCB0byBjb3JyZWN0bHkgdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGUgdml0YWwgc2lnbiBjb2RlcyBmcm9tIHRoZSBiYXNlIEZISVIgYW5kIFVTIENvcmUgVml0YWwgU2lnbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIGFuZC9vciB3aGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCIgZGVmaW5pdGlvbj0iVGhlIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIHRoaXMgb2JzZXJ2YXRpb24gaXMgYWJvdXQgYW5kIGludG8gd2hvc2UgcmVjb3JkIHRoZSBvYnNlcnZhdGlvbiBpcyBwbGFjZWQuIElmIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBzdWJqZWN0IChvciBhIHNhbXBsZSBvZiwgcGFydCwgb3IgcmVnaW9uIG9mIHRoZSBzdWJqZWN0KSwgdGhlIGBmb2N1c2AgZWxlbWVudCBvciB0aGUgYGNvZGVgIGl0c2VsZiBzcGVjaWZpZXMgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmUgd291bGQgZXhwZWN0IHRoaXMgZWxlbWVudCB0byBiZSBhIGNhcmRpbmFsaXR5IG9mIDEuLjEuIFRoZSBvbmx5IGNpcmN1bXN0YW5jZSBpbiB3aGljaCB0aGUgc3ViamVjdCBjYW4gYmUgbWlzc2luZyBpcyB3aGVuIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGJ5IGEgZGV2aWNlIHRoYXQgZG9lcyBub3Qga25vdyB0aGUgcGF0aWVudC4gSW4gdGhpcyBjYXNlLCB0aGUgb2JzZXJ2YXRpb24gU0hBTEwgYmUgbWF0Y2hlZCB0byBhIHBhdGllbnQgdGhyb3VnaCBzb21lIGNvbnRleHQvY2hhbm5lbCBtYXRjaGluZyB0ZWNobmlxdWUsIGFuZCBhdCB0aGlzIHBvaW50LCB0aGUgb2JzZXJ2YXRpb24gc2hvdWxkIGJlIHVwZGF0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJmb2N1cyIgZGVzY3JpcHRpb249IldoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0LCB3aGVuIGl0IGlzIG5vdCBhYm91dCB0aGUgc3ViamVjdCBvZiByZWNvcmQiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gd2hlbiBpdCBpcyBub3QgdGhlIHBhdGllbnQgb2YgcmVjb3JkIHJlcHJlc2VudGluZyBzb21ldGhpbmcgb3Igc29tZW9uZSBhc3NvY2lhdGVkIHdpdGggdGhlIHBhdGllbnQgc3VjaCBhcyBhIHNwb3VzZSwgcGFyZW50LCBmZXR1cywgb3IgZG9ub3IuIEZvciBleGFtcGxlLCBmZXR1cyBvYnNlcnZhdGlvbnMgaW4gYSBtb3RoZXIncyByZWNvcmQuICBUaGUgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gY291bGQgYWxzbyBiZSBhbiBleGlzdGluZyBjb25kaXRpb24sICBhbiBpbnRlcnZlbnRpb24sIHRoZSBzdWJqZWN0J3MgZGlldCwgIGFub3RoZXIgb2JzZXJ2YXRpb24gb2YgdGhlIHN1YmplY3QsICBvciBhIGJvZHkgc3RydWN0dXJlIHN1Y2ggYXMgdHVtb3Igb3IgaW1wbGFudGVkIGRldmljZS4gICBBbiBleGFtcGxlIHVzZSBjYXNlIHdvdWxkIGJlIHVzaW5nIHRoZSBPYnNlcnZhdGlvbiByZXNvdXJjZSB0byBjYXB0dXJlIHdoZXRoZXIgdGhlIG1vdGhlciBpcyB0cmFpbmVkIHRvIGNoYW5nZSBoZXIgY2hpbGQncyB0cmFjaGVvc3RvbXkgdHViZS4gSW4gdGhpcyBleGFtcGxlLCB0aGUgY2hpbGQgaXMgdGhlIHBhdGllbnQgb2YgcmVjb3JkIGFuZCB0aGUgbW90aGVyIGlzIHRoZSBmb2N1cy4iIGNvbW1lbnQ9IlR5cGljYWxseSwgYW4gb2JzZXJ2YXRpb24gaXMgbWFkZSBhYm91dCB0aGUgc3ViamVjdCAtIGEgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgLSBhbmQgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhlIHN1YmplY3QgYW5kIHdoYXQgaXMgZGlyZWN0bHkgbWVhc3VyZWQgZm9yIGFuIG9ic2VydmF0aW9uIGlzIHNwZWNpZmllZCBpbiB0aGUgb2JzZXJ2YXRpb24gY29kZSBpdHNlbGYgKCBlLmcuLCAmcXVvdDtCbG9vZCBHbHVjb3NlJnF1b3Q7KSBhbmQgZG9lcyBub3QgbmVlZCB0byBiZSByZXByZXNlbnRlZCBzZXBhcmF0ZWx5IHVzaW5nIHRoaXMgZWxlbWVudC4gIFVzZSBgc3BlY2ltZW5gIGlmIGEgcmVmZXJlbmNlIHRvIGEgc3BlY2ltZW4gaXMgcmVxdWlyZWQuICBJZiBhIGNvZGUgaXMgcmVxdWlyZWQgaW5zdGVhZCBvZiBhIHJlc291cmNlIHVzZSBlaXRoZXIgIGBib2R5c2l0ZWAgZm9yIGJvZHlzaXRlcyBvciB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtmb2N1c0NvZGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLW9ic2VydmF0aW9uLWZvY3VzY29kZS5odG1sKS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJIZWFsdGhjYXJlIGV2ZW50IGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUiIGRlZmluaXRpb249IlRoZSBoZWFsdGhjYXJlIGV2ZW50ICAoZS5nLiBhIHBhdGllbnQgYW5kIGhlYWx0aGNhcmUgcHJvdmlkZXIgaW50ZXJhY3Rpb24pIGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgZXZlbnRzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIgKGUuZy4gcHJlLWFkbWlzc2lvbiBsYWJvcmF0b3J5IHRlc3RzKS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik9mdGVuIGp1c3QgYSBkYXRlVGltZSBmb3IgVml0YWwgU2lnbnMiIGRlZmluaXRpb249Ik9mdGVuIGp1c3QgYSBkYXRlVGltZSBmb3IgVml0YWwgU2lnbnMuIiBjb21tZW50PSJBdCBsZWFzdCBhIGRhdGUgc2hvdWxkIGJlIHByZXNlbnQgdW5sZXNzIHRoaXMgb2JzZXJ2YXRpb24gaXMgYSBoaXN0b3JpY2FsIHJlcG9ydC4gIEZvciByZWNvcmRpbmcgaW1wcmVjaXNlIG9yICZxdW90O2Z1enp5JnF1b3Q7IHRpbWVzIChGb3IgZXhhbXBsZSwgYSBibG9vZCBnbHVjb3NlIG1lYXN1cmVtZW50IHRha2VuICZxdW90O2FmdGVyIGJyZWFrZmFzdCZxdW90OykgdXNlIHRoZSBbVGltaW5nXShodHRwOi8vaGw3Lm9yZy9maGlyL2RhdGF0eXBlcy5odG1sI3RpbWluZykgZGF0YXR5cGUgd2hpY2ggYWxsb3cgdGhlIG1lYXN1cmVtZW50IHRvIGJlIHRpZWQgdG8gcmVndWxhciBsaWZlIGV2ZW50cy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTEiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iaWYgT2JzZXJ2YXRpb24uZWZmZWN0aXZlW3hdIGlzIGRhdGVUaW1lIGFuZCBoYXMgYSB2YWx1ZSB0aGVuIHRoYXQgdmFsdWUgc2hhbGwgYmUgcHJlY2lzZSB0byB0aGUgZGF5Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249IigkdGhpcyBhcyBkYXRlVGltZSkudG9TdHJpbmcoKS5sZW5ndGgoKSA+PSA4Ii8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IldobyB3YXMgcmVzcG9uc2libGUgZm9yIGFzc2VydGluZyB0aGUgb2JzZXJ2ZWQgdmFsdWUgYXMgJnF1b3Q7dHJ1ZSZxdW90Oy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IlZpdGFsIFNpZ25zIFZhbHVlIiBkZWZpbml0aW9uPSJWaXRhbCBTaWducyB2YWx1ZSBhcmUgdHlwaWNhbGx5IHJlY29yZGVkIHVzaW5nIHRoZSBRdWFudGl0eSBkYXRhIHR5cGUuIiBjb21tZW50PSJBbiBvYnNlcnZhdGlvbiBtYXkgaGF2ZTsgMSkgIGEgc2luZ2xlIHZhbHVlIGhlcmUsIDIpICBib3RoIGEgdmFsdWUgYW5kIGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcywgIG9yIDMpICBvbmx5IGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcy4gSWYgYSB2YWx1ZSBpcyBwcmVzZW50LCB0aGUgZGF0YXR5cGUgZm9yIHRoaXMgZWxlbWVudCBzaG91bGQgYmUgZGV0ZXJtaW5lZCBieSBPYnNlcnZhdGlvbi5jb2RlLiAgQSBDb2RlYWJsZUNvbmNlcHQgd2l0aCBqdXN0IGEgdGV4dCB3b3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgYSBzdHJpbmcgaWYgdGhlIGZpZWxkIHdhcyB1c3VhbGx5IGNvZGVkLCBvciBpZiB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhlIE9ic2VydmF0aW9uLmNvZGUgZGVmaW5lcyBhIGNvZGVkIHZhbHVlLiAgRm9yIGFkZGl0aW9uYWwgZ3VpZGFuY2UsIHNlZSB0aGUgW05vdGVzIHNlY3Rpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJDb21tb24gVUNVTSB1bml0cyBmb3IgcmVjb3JkaW5nIFZpdGFsIFNpZ25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgdGhlIHJlc3VsdCBpcyBtaXNzaW5nIiBkZWZpbml0aW9uPSJQcm92aWRlcyBhIHJlYXNvbiB3aHkgdGhlIGV4cGVjdGVkIHZhbHVlIGluIHRoZSBlbGVtZW50IE9ic2VydmF0aW9uLnZhbHVlW3hdIGlzIG1pc3NpbmcuIiBjb21tZW50PSJOdWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcyBjYW4gYmUgcmVwcmVzZW50ZWQgdHdvIHdheXMgaW4gRkhJUiBPYnNlcnZhdGlvbnMuICBPbmUgd2F5IGlzIHRvIHNpbXBseSBpbmNsdWRlIHRoZW0gaW4gdGhlIHZhbHVlIHNldCBhbmQgcmVwcmVzZW50IHRoZSBleGNlcHRpb25zIGluIHRoZSB2YWx1ZS4gIEZvciBleGFtcGxlLCBtZWFzdXJlbWVudCB2YWx1ZXMgZm9yIGEgc2Vyb2xvZ3kgdGVzdCBjb3VsZCBiZSAgJnF1b3Q7ZGV0ZWN0ZWQmcXVvdDssICZxdW90O25vdCBkZXRlY3RlZCZxdW90OywgJnF1b3Q7aW5jb25jbHVzaXZlJnF1b3Q7LCBvciAgJnF1b3Q7c3BlY2ltZW4gdW5zYXRpc2ZhY3RvcnkmcXVvdDsuICAgJiN4YTsmI3hhO1RoZSBhbHRlcm5hdGUgd2F5IGlzIHRvIHVzZSB0aGUgdmFsdWUgZWxlbWVudCBmb3IgYWN0dWFsIG9ic2VydmF0aW9ucyBhbmQgdXNlIHRoZSBleHBsaWNpdCBkYXRhQWJzZW50UmVhc29uIGVsZW1lbnQgdG8gcmVjb3JkIGV4Y2VwdGlvbmFsIHZhbHVlcy4gIEZvciBleGFtcGxlLCB0aGUgZGF0YUFic2VudFJlYXNvbiBjb2RlICZxdW90O2Vycm9yJnF1b3Q7IGNvdWxkIGJlIHVzZWQgd2hlbiB0aGUgbWVhc3VyZW1lbnQgd2FzIG5vdCBjb21wbGV0ZWQuIE5vdGUgdGhhdCBhbiBvYnNlcnZhdGlvbiBtYXkgb25seSBiZSByZXBvcnRlZCBpZiB0aGVyZSBhcmUgdmFsdWVzIHRvIHJlcG9ydC4gRm9yIGV4YW1wbGUgZGlmZmVyZW50aWFsIGNlbGwgY291bnRzIHZhbHVlcyBtYXkgYmUgcmVwb3J0ZWQgb25seSB3aGVuID4gMC4gIEJlY2F1c2Ugb2YgdGhlc2Ugb3B0aW9ucywgdXNlLWNhc2UgYWdyZWVtZW50cyBhcmUgcmVxdWlyZWQgdG8gaW50ZXJwcmV0IGdlbmVyYWwgb2JzZXJ2YXRpb25zIGZvciBudWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25WYWx1ZUFic2VudFJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIHNwZWNpZnlpbmcgd2h5IHRoZSByZXN1bHQgKGBPYnNlcnZhdGlvbi52YWx1ZVt4XWApIGlzIG1pc3NpbmcuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImludGVycHJldGF0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGlnaCwgbG93LCBub3JtYWwsIGV0Yy4iIGRlZmluaXRpb249IkEgY2F0ZWdvcmljYWwgYXNzZXNzbWVudCBvZiBhbiBvYnNlcnZhdGlvbiB2YWx1ZS4gIEZvciBleGFtcGxlLCBoaWdoLCBsb3csIG5vcm1hbC4iIGNvbW1lbnQ9Ikhpc3RvcmljYWxseSB1c2VkIGZvciBsYWJvcmF0b3J5IHJlc3VsdHMgKGtub3duIGFzICdhYm5vcm1hbCBmbGFnJyApLCAgaXRzIHVzZSBleHRlbmRzIHRvIG90aGVyIHVzZSBjYXNlcyB3aGVyZSBjb2RlZCBpbnRlcnByZXRhdGlvbnMgIGFyZSByZWxldmFudC4gIE9mdGVuIHJlcG9ydGVkIGFzIG9uZSBvciBtb3JlIHNpbXBsZSBjb21wYWN0IGNvZGVzIHRoaXMgZWxlbWVudCBpcyBvZnRlbiBwbGFjZWQgYWRqYWNlbnQgdG8gdGhlIHJlc3VsdCB2YWx1ZSBpbiByZXBvcnRzIGFuZCBmbG93IHNoZWV0cyB0byBzaWduYWwgdGhlIG1lYW5pbmcvbm9ybWFsY3kgc3RhdHVzIG9mIHRoZSByZXN1bHQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uSW50ZXJwcmV0YXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBpbnRlcnByZXRhdGlvbnMgb2Ygb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24gb3IgdGhlIHJlc3VsdHMuIiBjb21tZW50PSJNYXkgaW5jbHVkZSBnZW5lcmFsIHN0YXRlbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uLCBvciBzdGF0ZW1lbnRzIGFib3V0IHNpZ25pZmljYW50LCB1bmV4cGVjdGVkIG9yIHVucmVsaWFibGUgcmVzdWx0cyB2YWx1ZXMsIG9yIGluZm9ybWF0aW9uIGFib3V0IGl0cyBzb3VyY2Ugd2hlbiByZWxldmFudCB0byBpdHMgaW50ZXJwcmV0YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik9ic2VydmVkIGJvZHkgcGFydCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBzaXRlIG9uIHRoZSBzdWJqZWN0J3MgYm9keSB3aGVyZSB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgKGkuZS4gdGhlIHRhcmdldCBzaXRlKS4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBPYnNlcnZhdGlvbi5jb2RlLiAgSW4gbWFueSBzeXN0ZW1zLCB0aGlzIG1heSBiZSByZXByZXNlbnRlZCBhcyBhIHJlbGF0ZWQgb2JzZXJ2YXRpb24gaW5zdGVhZCBvZiBhbiBpbmxpbmUgY29tcG9uZW50LiAgICYjeGE7JiN4YTtJZiB0aGUgdXNlIGNhc2UgcmVxdWlyZXMgQm9keVNpdGUgdG8gYmUgaGFuZGxlZCBhcyBhIHNlcGFyYXRlIHJlc291cmNlIChlLmcuIHRvIGlkZW50aWZ5IGFuZCB0cmFjayBzZXBhcmF0ZWx5KSB0aGVuIHVzZSB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uWyBib2R5U2l0ZV0oaHR0cDovL2hsNy5vcmcvZmhpci9leHRlbnNpb24tYm9keXNpdGUuaHRtbCkuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQm9keVNpdGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGFuYXRvbWljYWwgbG9jYXRpb25zLiBNYXkgaW5jbHVkZSBsYXRlcmFsaXR5LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBpdCB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWNoYW5pc20gdXNlZCB0byBwZXJmb3JtIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3IgT2JzZXJ2YXRpb24uY29kZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpbWVuIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlNwZWNpbWVuIHVzZWQgZm9yIHRoaXMgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSBzcGVjaW1lbiB0aGF0IHdhcyB1c2VkIHdoZW4gdGhpcyBvYnNlcnZhdGlvbiB3YXMgbWFkZS4iIGNvbW1lbnQ9IlNob3VsZCBvbmx5IGJlIHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gYE9ic2VydmF0aW9uLmNvZGVgLiAgT2JzZXJ2YXRpb25zIGFyZSBub3QgbWFkZSBvbiBzcGVjaW1lbnMgdGhlbXNlbHZlczsgdGhleSBhcmUgbWFkZSBvbiBhIHN1YmplY3QsIGJ1dCBpbiBtYW55IGNhc2VzIGJ5IHRoZSBtZWFucyBvZiBhIHNwZWNpbWVuLiBOb3RlIHRoYXQgYWx0aG91Z2ggc3BlY2ltZW5zIGFyZSBvZnRlbiBpbnZvbHZlZCwgdGhleSBhcmUgbm90IGFsd2F5cyB0cmFja2VkIGFuZCByZXBvcnRlZCBleHBsaWNpdGx5LiBBbHNvIG5vdGUgdGhhdCBvYnNlcnZhdGlvbiByZXNvdXJjZXMgbWF5IGJlIHVzZWQgaW4gY29udGV4dHMgdGhhdCB0cmFjayB0aGUgc3BlY2ltZW4gZXhwbGljaXRseSAoZS5nLiBEaWFnbm9zdGljIFJlcG9ydCkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRldmljZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoTWVhc3VyZW1lbnQpIERldmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBvYnNlcnZhdGlvbiBkYXRhLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgaXMgbm90IG1lYW50IHRvIHJlcHJlc2VudCBhIGRldmljZSBpbnZvbHZlZCBpbiB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoZSByZXN1bHQsIGUuZy4sIGEgZ2F0ZXdheS4gIFN1Y2ggZGV2aWNlcyBtYXkgYmUgZG9jdW1lbnRlZCB1c2luZyB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZSB3aGVyZSByZWxldmFudC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVmZXJlbmNlUmFuZ2UiIGRlc2NyaXB0aW9uPSJQcm92aWRlcyBndWlkZSBmb3IgaW50ZXJwcmV0YXRpb24iIGRlZmluaXRpb249Ikd1aWRhbmNlIG9uIGhvdyB0byBpbnRlcnByZXQgdGhlIHZhbHVlIGJ5IGNvbXBhcmlzb24gdG8gYSBub3JtYWwgb3IgcmVjb21tZW5kZWQgcmFuZ2UuICBNdWx0aXBsZSByZWZlcmVuY2UgcmFuZ2VzIGFyZSBpbnRlcnByZXRlZCBhcyBhbiAmcXVvdDtPUiZxdW90Oy4gICBJbiBvdGhlciB3b3JkcywgdG8gcmVwcmVzZW50IHR3byBkaXN0aW5jdCB0YXJnZXQgcG9wdWxhdGlvbnMsIHR3byBgcmVmZXJlbmNlUmFuZ2VgIGVsZW1lbnRzIHdvdWxkIGJlIHVzZWQuIiBjb21tZW50PSJNb3N0IG9ic2VydmF0aW9ucyBvbmx5IGhhdmUgb25lIGdlbmVyaWMgcmVmZXJlbmNlIHJhbmdlLiBTeXN0ZW1zIE1BWSBjaG9vc2UgdG8gcmVzdHJpY3QgdG8gb25seSBzdXBwbHlpbmcgdGhlIHJlbGV2YW50IHJlZmVyZW5jZSByYW5nZSBiYXNlZCBvbiBrbm93bGVkZ2UgYWJvdXQgdGhlIHBhdGllbnQgKGUuZy4sIHNwZWNpZmljIHRvIHRoZSBwYXRpZW50J3MgYWdlLCBnZW5kZXIsIHdlaWdodCBhbmQgb3RoZXIgZmFjdG9ycyksIGJ1dCB0aGlzIG1pZ2h0IG5vdCBiZSBwb3NzaWJsZSBvciBhcHByb3ByaWF0ZS4gV2hlbmV2ZXIgbW9yZSB0aGFuIG9uZSByZWZlcmVuY2UgcmFuZ2UgaXMgc3VwcGxpZWQsIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZW0gU0hPVUxEIGJlIHByb3ZpZGVkIGluIHRoZSByZWZlcmVuY2UgcmFuZ2UgYW5kL29yIGFnZSBwcm9wZXJ0aWVzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0ib2JzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iTXVzdCBoYXZlIGF0IGxlYXN0IGEgbG93IG9yIGEgaGlnaCBvciB0ZXh0Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Imxvdy5leGlzdHMoKSBvciBoaWdoLmV4aXN0cygpIG9yIHRleHQuZXhpc3RzKCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imhhc01lbWJlciIgZGVzY3JpcHRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cyIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyB2aXRhbCBzaWducyBwYW5lbCBjb21wb25lbnRzLiIgY29tbWVudD0iV2hlbiB1c2luZyB0aGlzIGVsZW1lbnQsIGFuIG9ic2VydmF0aW9uIHdpbGwgdHlwaWNhbGx5IGhhdmUgZWl0aGVyIGEgdmFsdWUgb3IgYSBzZXQgb2YgcmVsYXRlZCByZXNvdXJjZXMsIGFsdGhvdWdoIGJvdGggbWF5IGJlIHByZXNlbnQgaW4gc29tZSBjYXNlcy4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiAgTm90ZSB0aGF0IGEgc3lzdGVtIG1heSBjYWxjdWxhdGUgcmVzdWx0cyBmcm9tIFtRdWVzdGlvbm5haXJlUmVzcG9uc2VdKGh0dHA6Ly9obDcub3JnL2ZoaXIvcXVlc3Rpb25uYWlyZXJlc3BvbnNlLmh0bWwpICBpbnRvIGEgZmluYWwgc2NvcmUgYW5kIHJlcHJlc2VudCB0aGUgc2NvcmUgYXMgYW4gT2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXJpdmVkRnJvbSIgZGVzY3JpcHRpb249IlJlbGF0ZWQgbWVhc3VyZW1lbnRzIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGZyb20iIGRlZmluaXRpb249IlRoZSB0YXJnZXQgcmVzb3VyY2UgdGhhdCByZXByZXNlbnRzIGEgbWVhc3VyZW1lbnQgZnJvbSB3aGljaCB0aGlzIG9ic2VydmF0aW9uIHZhbHVlIGlzIGRlcml2ZWQuIEZvciBleGFtcGxlLCBhIGNhbGN1bGF0ZWQgYW5pb24gZ2FwIG9yIGEgZmV0YWwgbWVhc3VyZW1lbnQgYmFzZWQgb24gYW4gdWx0cmFzb3VuZCBpbWFnZS4iIGNvbW1lbnQ9IkFsbCB0aGUgcmVmZXJlbmNlIGNob2ljZXMgdGhhdCBhcmUgbGlzdGVkIGluIHRoaXMgZWxlbWVudCBjYW4gcmVwcmVzZW50IGNsaW5pY2FsIG9ic2VydmF0aW9ucyBhbmQgb3RoZXIgbWVhc3VyZW1lbnRzIHRoYXQgbWF5IGJlIHRoZSBzb3VyY2UgZm9yIGEgZGVyaXZlZCB2YWx1ZS4gIFRoZSBtb3N0IGNvbW1vbiByZWZlcmVuY2Ugd2lsbCBiZSBhbm90aGVyIE9ic2VydmF0aW9uLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb21wb25lbnQiIGRlc2NyaXB0aW9uPSJDb21wb25lbnQgb2JzZXJ2YXRpb25zIiBkZWZpbml0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIGNvbXBvbmVudCBvYnNlcnZhdGlvbiBzdWNoIGFzIHN5c3RvbGljIGFuZCBkaWFzdG9saWMgYmxvb2QgcHJlc3N1cmUuIiBjb21tZW50PSJGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYmUgYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5Db21wb25lbnQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ2cy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IklmIHRoZXJlIGlzIG5vIGEgdmFsdWUgYSBkYXRhIGFic2VudCByZWFzb24gbXVzdCBiZSBwcmVzZW50Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InZhbHVlLmV4aXN0cygpIG9yIGRhdGFBYnNlbnRSZWFzb24uZXhpc3RzKCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlUHVsc2VPeGltZXRyeVByb2ZpbGUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtcHVsc2Utb3hpbWV0cnkiIGxhYmVsPSJVUyBDb3JlIFB1bHNlIE94aW1ldHJ5IFByb2ZpbGUiIHRhcmdldD0iT2JzZXJ2YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IlBhcnQgb2YgcmVmZXJlbmNlZCBldmVudCIgZGVmaW5pdGlvbj0iQSBsYXJnZXIgZXZlbnQgb2Ygd2hpY2ggdGhpcyBwYXJ0aWN1bGFyIE9ic2VydmF0aW9uIGlzIGEgY29tcG9uZW50IG9yIHN0ZXAuICBGb3IgZXhhbXBsZSwgIGFuIG9ic2VydmF0aW9uIGFzIHBhcnQgb2YgYSBwcm9jZWR1cmUuIiBjb21tZW50PSJUbyBsaW5rIGFuIE9ic2VydmF0aW9uIHRvIGFuIEVuY291bnRlciB1c2UgYGVuY291bnRlcmAuICBTZWUgdGhlICBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cgZm9yIGd1aWRhbmNlIG9uIHJlZmVyZW5jaW5nIGFub3RoZXIgT2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InJlZ2lzdGVyZWQgfCBwcmVsaW1pbmFyeSB8IGZpbmFsIHwgYW1lbmRlZCArIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSByZXN1bHQgdmFsdWUuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlN0YXR1cyIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iVlNDYXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXBhcmVudC5jYXRlZ29yeVtjb2Rpbmcuc3lzdGVtPSdodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL29ic2VydmF0aW9uLWNhdGVnb3J5Jyxjb2RpbmcuY29kZT0ndml0YWwtc2lnbnMnXSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPeHlnZW4gU2F0dXJhdGlvbiBieSBQdWxzZSBPeGltZXRyeSIgZGVmaW5pdGlvbj0iQ29kZWQgUmVzcG9uc2VzIGZyb20gQy1DREEgVml0YWwgU2lnbiBSZXN1bHRzLiIgY29tbWVudD0iVGhlIGNvZGUgKDU5NDA4LTUgT3h5Z2VuIHNhdHVyYXRpb24gaW4gQXJ0ZXJpYWwgYmxvb2QgYnkgUHVsc2Ugb3hpbWV0cnkpIGlzIGluY2x1ZGVkIGFzIGFuIGFkZGl0aW9uYWwgb2JzZXJ2YXRpb24gY29kZSB0byBGSElSIENvcmUgdml0YWwgT3h5Z2VuIFNhdHVyYXRpb24gY29kZSAoMjcwOC02IE94eWdlbiBzYXR1cmF0aW9uIGluIEFydGVyaWFsIGJsb29kKS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlRoZSB2aXRhbCBzaWduIGNvZGVzIGZyb20gdGhlIGJhc2UgRkhJUiBhbmQgVVMgQ29yZSBWaXRhbCBTaWducy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iUHVsc2VPeCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29kZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ29kZSBkZWZpbmVkIGJ5IGEgdGVybWlub2xvZ3kgc3lzdGVtIiBkZWZpbml0aW9uPSJBIHJlZmVyZW5jZSB0byBhIGNvZGUgZGVmaW5lZCBieSBhIHRlcm1pbm9sb2d5IHN5c3RlbS4iIGNvbW1lbnQ9IkNvZGVzIG1heSBiZSBkZWZpbmVkIHZlcnkgY2FzdWFsbHkgaW4gZW51bWVyYXRpb25zLCBvciBjb2RlIGxpc3RzLCB1cCB0byB2ZXJ5IGZvcm1hbCBkZWZpbml0aW9ucyBzdWNoIGFzIFNOT01FRCBDVCAtIHNlZSB0aGUgSEw3IHYzIENvcmUgUHJpbmNpcGxlcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4gIE9yZGVyaW5nIG9mIGNvZGluZ3MgaXMgdW5kZWZpbmVkIGFuZCBTSEFMTCBOT1QgYmUgdXNlZCB0byBpbmZlciBtZWFuaW5nLiBHZW5lcmFsbHksIGF0IG1vc3Qgb25seSBvbmUgb2YgdGhlIGNvZGluZyB2YWx1ZXMgd2lsbCBiZSBsYWJlbGVkIGFzIFVzZXJTZWxlY3RlZCA9IHRydWUuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJPMlNhdCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29kZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ29kZSBkZWZpbmVkIGJ5IGEgdGVybWlub2xvZ3kgc3lzdGVtIiBkZWZpbml0aW9uPSJBIHJlZmVyZW5jZSB0byBhIGNvZGUgZGVmaW5lZCBieSBhIHRlcm1pbm9sb2d5IHN5c3RlbS4iIGNvbW1lbnQ9IkNvZGVzIG1heSBiZSBkZWZpbmVkIHZlcnkgY2FzdWFsbHkgaW4gZW51bWVyYXRpb25zLCBvciBjb2RlIGxpc3RzLCB1cCB0byB2ZXJ5IGZvcm1hbCBkZWZpbml0aW9ucyBzdWNoIGFzIFNOT01FRCBDVCAtIHNlZSB0aGUgSEw3IHYzIENvcmUgUHJpbmNpcGxlcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4gIE9yZGVyaW5nIG9mIGNvZGluZ3MgaXMgdW5kZWZpbmVkIGFuZCBTSEFMTCBOT1QgYmUgdXNlZCB0byBpbmZlciBtZWFuaW5nLiBHZW5lcmFsbHksIGF0IG1vc3Qgb25seSBvbmUgb2YgdGhlIGNvZGluZyB2YWx1ZXMgd2lsbCBiZSBsYWJlbGVkIGFzIFVzZXJTZWxlY3RlZCA9IHRydWUuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jdXMiIGRlc2NyaXB0aW9uPSJXaGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCwgd2hlbiBpdCBpcyBub3QgYWJvdXQgdGhlIHN1YmplY3Qgb2YgcmVjb3JkIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIHdoZW4gaXQgaXMgbm90IHRoZSBwYXRpZW50IG9mIHJlY29yZCByZXByZXNlbnRpbmcgc29tZXRoaW5nIG9yIHNvbWVvbmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYXRpZW50IHN1Y2ggYXMgYSBzcG91c2UsIHBhcmVudCwgZmV0dXMsIG9yIGRvbm9yLiBGb3IgZXhhbXBsZSwgZmV0dXMgb2JzZXJ2YXRpb25zIGluIGEgbW90aGVyJ3MgcmVjb3JkLiAgVGhlIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIGNvdWxkIGFsc28gYmUgYW4gZXhpc3RpbmcgY29uZGl0aW9uLCAgYW4gaW50ZXJ2ZW50aW9uLCB0aGUgc3ViamVjdCdzIGRpZXQsICBhbm90aGVyIG9ic2VydmF0aW9uIG9mIHRoZSBzdWJqZWN0LCAgb3IgYSBib2R5IHN0cnVjdHVyZSBzdWNoIGFzIHR1bW9yIG9yIGltcGxhbnRlZCBkZXZpY2UuICAgQW4gZXhhbXBsZSB1c2UgY2FzZSB3b3VsZCBiZSB1c2luZyB0aGUgT2JzZXJ2YXRpb24gcmVzb3VyY2UgdG8gY2FwdHVyZSB3aGV0aGVyIHRoZSBtb3RoZXIgaXMgdHJhaW5lZCB0byBjaGFuZ2UgaGVyIGNoaWxkJ3MgdHJhY2hlb3N0b215IHR1YmUuIEluIHRoaXMgZXhhbXBsZSwgdGhlIGNoaWxkIGlzIHRoZSBwYXRpZW50IG9mIHJlY29yZCBhbmQgdGhlIG1vdGhlciBpcyB0aGUgZm9jdXMuIiBjb21tZW50PSJUeXBpY2FsbHksIGFuIG9ic2VydmF0aW9uIGlzIG1hZGUgYWJvdXQgdGhlIHN1YmplY3QgLSBhIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIC0gYW5kIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRoZSBzdWJqZWN0IGFuZCB3aGF0IGlzIGRpcmVjdGx5IG1lYXN1cmVkIGZvciBhbiBvYnNlcnZhdGlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIG9ic2VydmF0aW9uIGNvZGUgaXRzZWxmICggZS5nLiwgJnF1b3Q7Qmxvb2QgR2x1Y29zZSZxdW90OykgYW5kIGRvZXMgbm90IG5lZWQgdG8gYmUgcmVwcmVzZW50ZWQgc2VwYXJhdGVseSB1c2luZyB0aGlzIGVsZW1lbnQuICBVc2UgYHNwZWNpbWVuYCBpZiBhIHJlZmVyZW5jZSB0byBhIHNwZWNpbWVuIGlzIHJlcXVpcmVkLiAgSWYgYSBjb2RlIGlzIHJlcXVpcmVkIGluc3RlYWQgb2YgYSByZXNvdXJjZSB1c2UgZWl0aGVyICBgYm9keXNpdGVgIGZvciBib2R5c2l0ZXMgb3IgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbZm9jdXNDb2RlXShodHRwOi8vaGw3Lm9yZy9maGlyL2V4dGVuc2lvbi1vYnNlcnZhdGlvbi1mb2N1c2NvZGUuaHRtbCkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zIiBkZWZpbml0aW9uPSJPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zLiIgY29tbWVudD0iQXQgbGVhc3QgYSBkYXRlIHNob3VsZCBiZSBwcmVzZW50IHVubGVzcyB0aGlzIG9ic2VydmF0aW9uIGlzIGEgaGlzdG9yaWNhbCByZXBvcnQuICBGb3IgcmVjb3JkaW5nIGltcHJlY2lzZSBvciAmcXVvdDtmdXp6eSZxdW90OyB0aW1lcyAoRm9yIGV4YW1wbGUsIGEgYmxvb2QgZ2x1Y29zZSBtZWFzdXJlbWVudCB0YWtlbiAmcXVvdDthZnRlciBicmVha2Zhc3QmcXVvdDspIHVzZSB0aGUgW1RpbWluZ10oaHR0cDovL2hsNy5vcmcvZmhpci9kYXRhdHlwZXMuaHRtbCN0aW1pbmcpIGRhdGF0eXBlIHdoaWNoIGFsbG93IHRoZSBtZWFzdXJlbWVudCB0byBiZSB0aWVkIHRvIHJlZ3VsYXIgbGlmZSBldmVudHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ2cy0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9ImlmIE9ic2VydmF0aW9uLmVmZmVjdGl2ZVt4XSBpcyBkYXRlVGltZSBhbmQgaGFzIGEgdmFsdWUgdGhlbiB0aGF0IHZhbHVlIHNoYWxsIGJlIHByZWNpc2UgdG8gdGhlIGRheSI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIoJHRoaXMgYXMgZGF0ZVRpbWUpLnRvU3RyaW5nKCkubGVuZ3RoKCkgPj0gOCIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaXNzdWVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUvVGltZSB0aGlzIHZlcnNpb24gd2FzIG1hZGUgYXZhaWxhYmxlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGlzIHZlcnNpb24gb2YgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIGF2YWlsYWJsZSB0byBwcm92aWRlcnMsIHR5cGljYWxseSBhZnRlciB0aGUgcmVzdWx0cyBoYXZlIGJlZW4gcmV2aWV3ZWQgYW5kIHZlcmlmaWVkLiIgY29tbWVudD0iRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvbuKAmXQgcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiwgaXQgbWF5IGJlIHRoZSBzYW1lIGFzIHRoZSBbYGxhc3RVcGRhdGVkYCBdKGh0dHA6Ly9obDcub3JnL2ZoaXIvcmVzb3VyY2UtZGVmaW5pdGlvbnMuaHRtbCNNZXRhLmxhc3RVcGRhdGVkKSB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYuICBGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG8gcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiBmb3IgY2VydGFpbiB1cGRhdGVzLCBpdCBtaWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGBsYXN0VXBkYXRlZGAgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmIGR1ZSB0byBhIG5vbi1jbGluaWNhbGx5IHNpZ25pZmljYW50IHVwZGF0ZSB0aGF0IGRvZXNu4oCZdCByZXF1aXJlIHRoZSBuZXcgdmVyc2lvbiB0byBiZSByZXZpZXdlZCBhbmQgdmVyaWZpZWQgYWdhaW4uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IldobyBpcyByZXNwb25zaWJsZSBmb3IgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJXaG8gd2FzIHJlc3BvbnNpYmxlIGZvciBhc3NlcnRpbmcgdGhlIG9ic2VydmVkIHZhbHVlIGFzICZxdW90O3RydWUmcXVvdDsuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJWaXRhbCBTaWducyBWYWx1ZSIgZGVmaW5pdGlvbj0iVml0YWwgU2lnbnMgdmFsdWUgYXJlIHR5cGljYWxseSByZWNvcmRlZCB1c2luZyB0aGUgUXVhbnRpdHkgZGF0YSB0eXBlLiIgY29tbWVudD0iQW4gb2JzZXJ2YXRpb24gbWF5IGhhdmU7IDEpICBhIHNpbmdsZSB2YWx1ZSBoZXJlLCAyKSAgYm90aCBhIHZhbHVlIGFuZCBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMsICBvciAzKSAgb25seSBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMuIElmIGEgdmFsdWUgaXMgcHJlc2VudCwgdGhlIGRhdGF0eXBlIGZvciB0aGlzIGVsZW1lbnQgc2hvdWxkIGJlIGRldGVybWluZWQgYnkgT2JzZXJ2YXRpb24uY29kZS4gIEEgQ29kZWFibGVDb25jZXB0IHdpdGgganVzdCBhIHRleHQgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGlmIHRoZSBmaWVsZCB3YXMgdXN1YWxseSBjb2RlZCwgb3IgaWYgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBPYnNlcnZhdGlvbi5jb2RlIGRlZmluZXMgYSBjb2RlZCB2YWx1ZS4gIEZvciBhZGRpdGlvbmFsIGd1aWRhbmNlLCBzZWUgdGhlIFtOb3RlcyBzZWN0aW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJCb29sZWFuIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlJhdGlvIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlNhbXBsZWREYXRhIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJDb21tb24gVUNVTSB1bml0cyBmb3IgcmVjb3JkaW5nIFZpdGFsIFNpZ25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgdGhlIHJlc3VsdCBpcyBtaXNzaW5nIiBkZWZpbml0aW9uPSJQcm92aWRlcyBhIHJlYXNvbiB3aHkgdGhlIGV4cGVjdGVkIHZhbHVlIGluIHRoZSBlbGVtZW50IE9ic2VydmF0aW9uLnZhbHVlW3hdIGlzIG1pc3NpbmcuIiBjb21tZW50PSJOdWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcyBjYW4gYmUgcmVwcmVzZW50ZWQgdHdvIHdheXMgaW4gRkhJUiBPYnNlcnZhdGlvbnMuICBPbmUgd2F5IGlzIHRvIHNpbXBseSBpbmNsdWRlIHRoZW0gaW4gdGhlIHZhbHVlIHNldCBhbmQgcmVwcmVzZW50IHRoZSBleGNlcHRpb25zIGluIHRoZSB2YWx1ZS4gIEZvciBleGFtcGxlLCBtZWFzdXJlbWVudCB2YWx1ZXMgZm9yIGEgc2Vyb2xvZ3kgdGVzdCBjb3VsZCBiZSAgJnF1b3Q7ZGV0ZWN0ZWQmcXVvdDssICZxdW90O25vdCBkZXRlY3RlZCZxdW90OywgJnF1b3Q7aW5jb25jbHVzaXZlJnF1b3Q7LCBvciAgJnF1b3Q7c3BlY2ltZW4gdW5zYXRpc2ZhY3RvcnkmcXVvdDsuICAgJiN4YTsmI3hhO1RoZSBhbHRlcm5hdGUgd2F5IGlzIHRvIHVzZSB0aGUgdmFsdWUgZWxlbWVudCBmb3IgYWN0dWFsIG9ic2VydmF0aW9ucyBhbmQgdXNlIHRoZSBleHBsaWNpdCBkYXRhQWJzZW50UmVhc29uIGVsZW1lbnQgdG8gcmVjb3JkIGV4Y2VwdGlvbmFsIHZhbHVlcy4gIEZvciBleGFtcGxlLCB0aGUgZGF0YUFic2VudFJlYXNvbiBjb2RlICZxdW90O2Vycm9yJnF1b3Q7IGNvdWxkIGJlIHVzZWQgd2hlbiB0aGUgbWVhc3VyZW1lbnQgd2FzIG5vdCBjb21wbGV0ZWQuIE5vdGUgdGhhdCBhbiBvYnNlcnZhdGlvbiBtYXkgb25seSBiZSByZXBvcnRlZCBpZiB0aGVyZSBhcmUgdmFsdWVzIHRvIHJlcG9ydC4gRm9yIGV4YW1wbGUgZGlmZmVyZW50aWFsIGNlbGwgY291bnRzIHZhbHVlcyBtYXkgYmUgcmVwb3J0ZWQgb25seSB3aGVuID4gMC4gIEJlY2F1c2Ugb2YgdGhlc2Ugb3B0aW9ucywgdXNlLWNhc2UgYWdyZWVtZW50cyBhcmUgcmVxdWlyZWQgdG8gaW50ZXJwcmV0IGdlbmVyYWwgb2JzZXJ2YXRpb25zIGZvciBudWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25WYWx1ZUFic2VudFJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIHNwZWNpZnlpbmcgd2h5IHRoZSByZXN1bHQgKGBPYnNlcnZhdGlvbi52YWx1ZVt4XWApIGlzIG1pc3NpbmcuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImludGVycHJldGF0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGlnaCwgbG93LCBub3JtYWwsIGV0Yy4iIGRlZmluaXRpb249IkEgY2F0ZWdvcmljYWwgYXNzZXNzbWVudCBvZiBhbiBvYnNlcnZhdGlvbiB2YWx1ZS4gIEZvciBleGFtcGxlLCBoaWdoLCBsb3csIG5vcm1hbC4iIGNvbW1lbnQ9Ikhpc3RvcmljYWxseSB1c2VkIGZvciBsYWJvcmF0b3J5IHJlc3VsdHMgKGtub3duIGFzICdhYm5vcm1hbCBmbGFnJyApLCAgaXRzIHVzZSBleHRlbmRzIHRvIG90aGVyIHVzZSBjYXNlcyB3aGVyZSBjb2RlZCBpbnRlcnByZXRhdGlvbnMgIGFyZSByZWxldmFudC4gIE9mdGVuIHJlcG9ydGVkIGFzIG9uZSBvciBtb3JlIHNpbXBsZSBjb21wYWN0IGNvZGVzIHRoaXMgZWxlbWVudCBpcyBvZnRlbiBwbGFjZWQgYWRqYWNlbnQgdG8gdGhlIHJlc3VsdCB2YWx1ZSBpbiByZXBvcnRzIGFuZCBmbG93IHNoZWV0cyB0byBzaWduYWwgdGhlIG1lYW5pbmcvbm9ybWFsY3kgc3RhdHVzIG9mIHRoZSByZXN1bHQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uSW50ZXJwcmV0YXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBpbnRlcnByZXRhdGlvbnMgb2Ygb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24gb3IgdGhlIHJlc3VsdHMuIiBjb21tZW50PSJNYXkgaW5jbHVkZSBnZW5lcmFsIHN0YXRlbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uLCBvciBzdGF0ZW1lbnRzIGFib3V0IHNpZ25pZmljYW50LCB1bmV4cGVjdGVkIG9yIHVucmVsaWFibGUgcmVzdWx0cyB2YWx1ZXMsIG9yIGluZm9ybWF0aW9uIGFib3V0IGl0cyBzb3VyY2Ugd2hlbiByZWxldmFudCB0byBpdHMgaW50ZXJwcmV0YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik9ic2VydmVkIGJvZHkgcGFydCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBzaXRlIG9uIHRoZSBzdWJqZWN0J3MgYm9keSB3aGVyZSB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgKGkuZS4gdGhlIHRhcmdldCBzaXRlKS4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBPYnNlcnZhdGlvbi5jb2RlLiAgSW4gbWFueSBzeXN0ZW1zLCB0aGlzIG1heSBiZSByZXByZXNlbnRlZCBhcyBhIHJlbGF0ZWQgb2JzZXJ2YXRpb24gaW5zdGVhZCBvZiBhbiBpbmxpbmUgY29tcG9uZW50LiAgICYjeGE7JiN4YTtJZiB0aGUgdXNlIGNhc2UgcmVxdWlyZXMgQm9keVNpdGUgdG8gYmUgaGFuZGxlZCBhcyBhIHNlcGFyYXRlIHJlc291cmNlIChlLmcuIHRvIGlkZW50aWZ5IGFuZCB0cmFjayBzZXBhcmF0ZWx5KSB0aGVuIHVzZSB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uWyBib2R5U2l0ZV0oaHR0cDovL2hsNy5vcmcvZmhpci9leHRlbnNpb24tYm9keXNpdGUuaHRtbCkuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQm9keVNpdGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGFuYXRvbWljYWwgbG9jYXRpb25zLiBNYXkgaW5jbHVkZSBsYXRlcmFsaXR5LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBpdCB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWNoYW5pc20gdXNlZCB0byBwZXJmb3JtIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3IgT2JzZXJ2YXRpb24uY29kZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpbWVuIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlNwZWNpbWVuIHVzZWQgZm9yIHRoaXMgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSBzcGVjaW1lbiB0aGF0IHdhcyB1c2VkIHdoZW4gdGhpcyBvYnNlcnZhdGlvbiB3YXMgbWFkZS4iIGNvbW1lbnQ9IlNob3VsZCBvbmx5IGJlIHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gYE9ic2VydmF0aW9uLmNvZGVgLiAgT2JzZXJ2YXRpb25zIGFyZSBub3QgbWFkZSBvbiBzcGVjaW1lbnMgdGhlbXNlbHZlczsgdGhleSBhcmUgbWFkZSBvbiBhIHN1YmplY3QsIGJ1dCBpbiBtYW55IGNhc2VzIGJ5IHRoZSBtZWFucyBvZiBhIHNwZWNpbWVuLiBOb3RlIHRoYXQgYWx0aG91Z2ggc3BlY2ltZW5zIGFyZSBvZnRlbiBpbnZvbHZlZCwgdGhleSBhcmUgbm90IGFsd2F5cyB0cmFja2VkIGFuZCByZXBvcnRlZCBleHBsaWNpdGx5LiBBbHNvIG5vdGUgdGhhdCBvYnNlcnZhdGlvbiByZXNvdXJjZXMgbWF5IGJlIHVzZWQgaW4gY29udGV4dHMgdGhhdCB0cmFjayB0aGUgc3BlY2ltZW4gZXhwbGljaXRseSAoZS5nLiBEaWFnbm9zdGljIFJlcG9ydCkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRldmljZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoTWVhc3VyZW1lbnQpIERldmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBvYnNlcnZhdGlvbiBkYXRhLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgaXMgbm90IG1lYW50IHRvIHJlcHJlc2VudCBhIGRldmljZSBpbnZvbHZlZCBpbiB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoZSByZXN1bHQsIGUuZy4sIGEgZ2F0ZXdheS4gIFN1Y2ggZGV2aWNlcyBtYXkgYmUgZG9jdW1lbnRlZCB1c2luZyB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZSB3aGVyZSByZWxldmFudC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVmZXJlbmNlUmFuZ2UiIGRlc2NyaXB0aW9uPSJQcm92aWRlcyBndWlkZSBmb3IgaW50ZXJwcmV0YXRpb24iIGRlZmluaXRpb249Ikd1aWRhbmNlIG9uIGhvdyB0byBpbnRlcnByZXQgdGhlIHZhbHVlIGJ5IGNvbXBhcmlzb24gdG8gYSBub3JtYWwgb3IgcmVjb21tZW5kZWQgcmFuZ2UuICBNdWx0aXBsZSByZWZlcmVuY2UgcmFuZ2VzIGFyZSBpbnRlcnByZXRlZCBhcyBhbiAmcXVvdDtPUiZxdW90Oy4gICBJbiBvdGhlciB3b3JkcywgdG8gcmVwcmVzZW50IHR3byBkaXN0aW5jdCB0YXJnZXQgcG9wdWxhdGlvbnMsIHR3byBgcmVmZXJlbmNlUmFuZ2VgIGVsZW1lbnRzIHdvdWxkIGJlIHVzZWQuIiBjb21tZW50PSJNb3N0IG9ic2VydmF0aW9ucyBvbmx5IGhhdmUgb25lIGdlbmVyaWMgcmVmZXJlbmNlIHJhbmdlLiBTeXN0ZW1zIE1BWSBjaG9vc2UgdG8gcmVzdHJpY3QgdG8gb25seSBzdXBwbHlpbmcgdGhlIHJlbGV2YW50IHJlZmVyZW5jZSByYW5nZSBiYXNlZCBvbiBrbm93bGVkZ2UgYWJvdXQgdGhlIHBhdGllbnQgKGUuZy4sIHNwZWNpZmljIHRvIHRoZSBwYXRpZW50J3MgYWdlLCBnZW5kZXIsIHdlaWdodCBhbmQgb3RoZXIgZmFjdG9ycyksIGJ1dCB0aGlzIG1pZ2h0IG5vdCBiZSBwb3NzaWJsZSBvciBhcHByb3ByaWF0ZS4gV2hlbmV2ZXIgbW9yZSB0aGFuIG9uZSByZWZlcmVuY2UgcmFuZ2UgaXMgc3VwcGxpZWQsIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZW0gU0hPVUxEIGJlIHByb3ZpZGVkIGluIHRoZSByZWZlcmVuY2UgcmFuZ2UgYW5kL29yIGFnZSBwcm9wZXJ0aWVzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0ib2JzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iTXVzdCBoYXZlIGF0IGxlYXN0IGEgbG93IG9yIGEgaGlnaCBvciB0ZXh0Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Imxvdy5leGlzdHMoKSBvciBoaWdoLmV4aXN0cygpIG9yIHRleHQuZXhpc3RzKCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imhhc01lbWJlciIgZGVzY3JpcHRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cyIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyB2aXRhbCBzaWducyBwYW5lbCBjb21wb25lbnRzLiIgY29tbWVudD0iV2hlbiB1c2luZyB0aGlzIGVsZW1lbnQsIGFuIG9ic2VydmF0aW9uIHdpbGwgdHlwaWNhbGx5IGhhdmUgZWl0aGVyIGEgdmFsdWUgb3IgYSBzZXQgb2YgcmVsYXRlZCByZXNvdXJjZXMsIGFsdGhvdWdoIGJvdGggbWF5IGJlIHByZXNlbnQgaW4gc29tZSBjYXNlcy4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiAgTm90ZSB0aGF0IGEgc3lzdGVtIG1heSBjYWxjdWxhdGUgcmVzdWx0cyBmcm9tIFtRdWVzdGlvbm5haXJlUmVzcG9uc2VdKGh0dHA6Ly9obDcub3JnL2ZoaXIvcXVlc3Rpb25uYWlyZXJlc3BvbnNlLmh0bWwpICBpbnRvIGEgZmluYWwgc2NvcmUgYW5kIHJlcHJlc2VudCB0aGUgc2NvcmUgYXMgYW4gT2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXJpdmVkRnJvbSIgZGVzY3JpcHRpb249IlJlbGF0ZWQgbWVhc3VyZW1lbnRzIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGZyb20iIGRlZmluaXRpb249IlRoZSB0YXJnZXQgcmVzb3VyY2UgdGhhdCByZXByZXNlbnRzIGEgbWVhc3VyZW1lbnQgZnJvbSB3aGljaCB0aGlzIG9ic2VydmF0aW9uIHZhbHVlIGlzIGRlcml2ZWQuIEZvciBleGFtcGxlLCBhIGNhbGN1bGF0ZWQgYW5pb24gZ2FwIG9yIGEgZmV0YWwgbWVhc3VyZW1lbnQgYmFzZWQgb24gYW4gdWx0cmFzb3VuZCBpbWFnZS4iIGNvbW1lbnQ9IkFsbCB0aGUgcmVmZXJlbmNlIGNob2ljZXMgdGhhdCBhcmUgbGlzdGVkIGluIHRoaXMgZWxlbWVudCBjYW4gcmVwcmVzZW50IGNsaW5pY2FsIG9ic2VydmF0aW9ucyBhbmQgb3RoZXIgbWVhc3VyZW1lbnRzIHRoYXQgbWF5IGJlIHRoZSBzb3VyY2UgZm9yIGEgZGVyaXZlZCB2YWx1ZS4gIFRoZSBtb3N0IGNvbW1vbiByZWZlcmVuY2Ugd2lsbCBiZSBhbm90aGVyIE9ic2VydmF0aW9uLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb21wb25lbnQiIGRlc2NyaXB0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIGZsb3cgcmF0ZXMgb3Igb3h5Z2VuIGNvbmNlbnRyYXRpb24uIiBkZWZpbml0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIGZsb3cgcmF0ZXMgb3Igb3h5Z2VuIGNvbmNlbnRyYXRpb24uIiBjb21tZW50PSJGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYmUgYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5Db21wb25lbnQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ2cy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IklmIHRoZXJlIGlzIG5vIGEgdmFsdWUgYSBkYXRhIGFic2VudCByZWFzb24gbXVzdCBiZSBwcmVzZW50Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InZhbHVlLmV4aXN0cygpIG9yIGRhdGFBYnNlbnRSZWFzb24uZXhpc3RzKCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9IkZsb3dSYXRlIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIgZGVzY3JpcHRpb249IkluaGFsZWQgb3h5Z2VuIGZsb3cgcmF0ZSIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyBjb21wb25lbnQgb2JzZXJ2YXRpb24gc3VjaCBhcyBzeXN0b2xpYyBhbmQgZGlhc3RvbGljIGJsb29kIHByZXNzdXJlLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSBpcyBubyBhIHZhbHVlIGEgZGF0YSBhYnNlbnQgcmVhc29uIG11c3QgYmUgcHJlc2VudCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ2YWx1ZS5leGlzdHMoKSBvciBkYXRhQWJzZW50UmVhc29uLmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJDb25jZW50cmF0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIgZGVzY3JpcHRpb249IkluaGFsZWQgb3h5Z2VuIGNvbmNlbnRyYXRpb24iIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgY29tcG9uZW50IG9ic2VydmF0aW9uIHN1Y2ggYXMgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBibG9vZCBwcmVzc3VyZS4iIGNvbW1lbnQ9IkZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBiZSBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iSWYgdGhlcmUgaXMgbm8gYSB2YWx1ZSBhIGRhdGEgYWJzZW50IHJlYXNvbiBtdXN0IGJlIHByZXNlbnQiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0idmFsdWUuZXhpc3RzKCkgb3IgZGF0YUFic2VudFJlYXNvbi5leGlzdHMoKSIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRXh0ZW5zaW9uIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlUmFjZUV4dGVuc2lvbiIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vdXMtY29yZS1yYWNlIiBsYWJlbD0iVVMgQ29yZSBSYWNlIEV4dGVuc2lvbiIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0ib21iQ2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCVwYXJlbnQuZXh0ZW5zaW9uW3VybD0nb21iQ2F0ZWdvcnknXS52YWx1ZSkiIGRlc2NyaXB0aW9uPSJBbWVyaWNhbiBJbmRpYW4gb3IgQWxhc2thIE5hdGl2ZXxBc2lhbnxCbGFjayBvciBBZnJpY2FuIEFtZXJpY2FufE5hdGl2ZSBIYXdhaWlhbiBvciBPdGhlciBQYWNpZmljIElzbGFuZGVyfFdoaXRlIiBkZWZpbml0aW9uPSJUaGUgNSByYWNlIGNhdGVnb3J5IGNvZGVzIGFjY29yZGluZyB0byB0aGUgW09NQiBTdGFuZGFyZHMgZm9yIE1haW50YWluaW5nLCBDb2xsZWN0aW5nLCBhbmQgUHJlc2VudGluZyBGZWRlcmFsIERhdGEgb24gUmFjZSBhbmQgRXRobmljaXR5LCBTdGF0aXN0aWNhbCBQb2xpY3kgRGlyZWN0aXZlIE5vLiAxNSwgYXMgcmV2aXNlZCwgT2N0b2JlciAzMCwgMTk5N10oaHR0cHM6Ly93d3cuZ292aW5mby5nb3YvY29udGVudC9wa2cvRlItMTk5Ny0xMC0zMC9wZGYvOTctMjg2NTMucGRmKS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29kZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGV0YWlsZWQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCVwYXJlbnQuZXh0ZW5zaW9uW3VybD0nZGV0YWlsZWQnXS52YWx1ZSkiIGRlc2NyaXB0aW9uPSJFeHRlbmRlZCByYWNlIGNvZGVzIiBkZWZpbml0aW9uPSJUaGUgOTAwKyBDREMgcmFjZSBjb2RlcyB0aGF0IGFyZSBncm91cGVkIHVuZGVyIG9uZSBvZiB0aGUgNSBPTUIgcmFjZSBjYXRlZ29yeSBjb2RlczouIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29kZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idGV4dCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXBhcmVudC5leHRlbnNpb25bdXJsPSd0ZXh0J10udmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJSYWNlIFRleHQiIGRlZmluaXRpb249IlBsYWluIHRleHQgcmVwcmVzZW50YXRpb24gb2YgdGhlIHJhY2UgY29uY2VwdChzKS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InVybCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iaWRlbnRpZmllcyB0aGUgbWVhbmluZyBvZiB0aGUgZXh0ZW5zaW9uIiBkZWZpbml0aW9uPSJTb3VyY2Ugb2YgdGhlIGRlZmluaXRpb24gZm9yIHRoZSBleHRlbnNpb24gY29kZSAtIGEgbG9naWNhbCBuYW1lIG9yIGEgVVJMLiIgY29tbWVudD0iVGhlIGRlZmluaXRpb24gbWF5IHBvaW50IGRpcmVjdGx5IHRvIGEgY29tcHV0YWJsZSBvciBodW1hbi1yZWFkYWJsZSBkZWZpbml0aW9uIG9mIHRoZSBleHRlbnNpYmlsaXR5IGNvZGVzLCBvciBpdCBtYXkgYmUgYSBsb2dpY2FsIFVSSSBhcyBkZWNsYXJlZCBpbiBzb21lIG90aGVyIHNwZWNpZmljYXRpb24uIFRoZSBkZWZpbml0aW9uIFNIQUxMIGJlIGEgVVJJIGZvciB0aGUgU3RydWN0dXJlIERlZmluaXRpb24gZGVmaW5pbmcgdGhlIGV4dGVuc2lvbi4iLz4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJVU0NvcmVSZXNwaXJhdG9yeVJhdGVQcm9maWxlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLXJlc3BpcmF0b3J5LXJhdGUiIGxhYmVsPSJVUyBDb3JlIFJlc3BpcmF0b3J5IFJhdGUgUHJvZmlsZSIgdGFyZ2V0PSJPYnNlcnZhdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY29kZSI+CiAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBJZGVudGlmaWVyIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIG9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJGdWxmaWxscyBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciIgZGVmaW5pdGlvbj0iQSBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciB0aGF0IGlzIGZ1bGZpbGxlZCBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgZXZlbnQuICBGb3IgZXhhbXBsZSwgYSBNZWRpY2F0aW9uUmVxdWVzdCBtYXkgcmVxdWlyZSBhIHBhdGllbnQgdG8gaGF2ZSBsYWJvcmF0b3J5IHRlc3QgcGVyZm9ybWVkIGJlZm9yZSAgaXQgaXMgZGlzcGVuc2VkLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iUGFydCBvZiByZWZlcmVuY2VkIGV2ZW50IiBkZWZpbml0aW9uPSJBIGxhcmdlciBldmVudCBvZiB3aGljaCB0aGlzIHBhcnRpY3VsYXIgT2JzZXJ2YXRpb24gaXMgYSBjb21wb25lbnQgb3Igc3RlcC4gIEZvciBleGFtcGxlLCAgYW4gb2JzZXJ2YXRpb24gYXMgcGFydCBvZiBhIHByb2NlZHVyZS4iIGNvbW1lbnQ9IlRvIGxpbmsgYW4gT2JzZXJ2YXRpb24gdG8gYW4gRW5jb3VudGVyIHVzZSBgZW5jb3VudGVyYC4gIFNlZSB0aGUgIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdyBmb3IgZ3VpZGFuY2Ugb24gcmVmZXJlbmNpbmcgYW5vdGhlciBPYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5TdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icmVnaXN0ZXJlZCB8IHByZWxpbWluYXJ5IHwgZmluYWwgfCBhbWVuZGVkICsiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHJlc3VsdCB2YWx1ZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU3RhdHVzIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJWU0NhdCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCglcGFyZW50LmNhdGVnb3J5W2NvZGluZy5zeXN0ZW09J2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vb2JzZXJ2YXRpb24tY2F0ZWdvcnknLGNvZGluZy5jb2RlPSd2aXRhbC1zaWducyddKSIgZGVzY3JpcHRpb249IkNsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlc3BpcmF0b3J5IFJhdGUiIGRlZmluaXRpb249IkNvZGVkIFJlc3BvbnNlcyBmcm9tIEMtQ0RBIFZpdGFsIFNpZ24gUmVzdWx0cy4iIGNvbW1lbnQ9IipBbGwqIGNvZGUtdmFsdWUgYW5kLCBpZiBwcmVzZW50LCBjb21wb25lbnQuY29kZS1jb21wb25lbnQudmFsdWUgcGFpcnMgbmVlZCB0byBiZSB0YWtlbiBpbnRvIGFjY291bnQgdG8gY29ycmVjdGx5IHVuZGVyc3RhbmQgdGhlIG1lYW5pbmcgb2YgdGhlIG9ic2VydmF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhlIHZpdGFsIHNpZ24gY29kZXMgZnJvbSB0aGUgYmFzZSBGSElSIGFuZCBVUyBDb3JlIFZpdGFsIFNpZ25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jdXMiIGRlc2NyaXB0aW9uPSJXaGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCwgd2hlbiBpdCBpcyBub3QgYWJvdXQgdGhlIHN1YmplY3Qgb2YgcmVjb3JkIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIHdoZW4gaXQgaXMgbm90IHRoZSBwYXRpZW50IG9mIHJlY29yZCByZXByZXNlbnRpbmcgc29tZXRoaW5nIG9yIHNvbWVvbmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYXRpZW50IHN1Y2ggYXMgYSBzcG91c2UsIHBhcmVudCwgZmV0dXMsIG9yIGRvbm9yLiBGb3IgZXhhbXBsZSwgZmV0dXMgb2JzZXJ2YXRpb25zIGluIGEgbW90aGVyJ3MgcmVjb3JkLiAgVGhlIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIGNvdWxkIGFsc28gYmUgYW4gZXhpc3RpbmcgY29uZGl0aW9uLCAgYW4gaW50ZXJ2ZW50aW9uLCB0aGUgc3ViamVjdCdzIGRpZXQsICBhbm90aGVyIG9ic2VydmF0aW9uIG9mIHRoZSBzdWJqZWN0LCAgb3IgYSBib2R5IHN0cnVjdHVyZSBzdWNoIGFzIHR1bW9yIG9yIGltcGxhbnRlZCBkZXZpY2UuICAgQW4gZXhhbXBsZSB1c2UgY2FzZSB3b3VsZCBiZSB1c2luZyB0aGUgT2JzZXJ2YXRpb24gcmVzb3VyY2UgdG8gY2FwdHVyZSB3aGV0aGVyIHRoZSBtb3RoZXIgaXMgdHJhaW5lZCB0byBjaGFuZ2UgaGVyIGNoaWxkJ3MgdHJhY2hlb3N0b215IHR1YmUuIEluIHRoaXMgZXhhbXBsZSwgdGhlIGNoaWxkIGlzIHRoZSBwYXRpZW50IG9mIHJlY29yZCBhbmQgdGhlIG1vdGhlciBpcyB0aGUgZm9jdXMuIiBjb21tZW50PSJUeXBpY2FsbHksIGFuIG9ic2VydmF0aW9uIGlzIG1hZGUgYWJvdXQgdGhlIHN1YmplY3QgLSBhIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIC0gYW5kIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRoZSBzdWJqZWN0IGFuZCB3aGF0IGlzIGRpcmVjdGx5IG1lYXN1cmVkIGZvciBhbiBvYnNlcnZhdGlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIG9ic2VydmF0aW9uIGNvZGUgaXRzZWxmICggZS5nLiwgJnF1b3Q7Qmxvb2QgR2x1Y29zZSZxdW90OykgYW5kIGRvZXMgbm90IG5lZWQgdG8gYmUgcmVwcmVzZW50ZWQgc2VwYXJhdGVseSB1c2luZyB0aGlzIGVsZW1lbnQuICBVc2UgYHNwZWNpbWVuYCBpZiBhIHJlZmVyZW5jZSB0byBhIHNwZWNpbWVuIGlzIHJlcXVpcmVkLiAgSWYgYSBjb2RlIGlzIHJlcXVpcmVkIGluc3RlYWQgb2YgYSByZXNvdXJjZSB1c2UgZWl0aGVyICBgYm9keXNpdGVgIGZvciBib2R5c2l0ZXMgb3IgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbZm9jdXNDb2RlXShodHRwOi8vaGw3Lm9yZy9maGlyL2V4dGVuc2lvbi1vYnNlcnZhdGlvbi1mb2N1c2NvZGUuaHRtbCkuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zIiBkZWZpbml0aW9uPSJPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zLiIgY29tbWVudD0iQXQgbGVhc3QgYSBkYXRlIHNob3VsZCBiZSBwcmVzZW50IHVubGVzcyB0aGlzIG9ic2VydmF0aW9uIGlzIGEgaGlzdG9yaWNhbCByZXBvcnQuICBGb3IgcmVjb3JkaW5nIGltcHJlY2lzZSBvciAmcXVvdDtmdXp6eSZxdW90OyB0aW1lcyAoRm9yIGV4YW1wbGUsIGEgYmxvb2QgZ2x1Y29zZSBtZWFzdXJlbWVudCB0YWtlbiAmcXVvdDthZnRlciBicmVha2Zhc3QmcXVvdDspIHVzZSB0aGUgW1RpbWluZ10oaHR0cDovL2hsNy5vcmcvZmhpci9kYXRhdHlwZXMuaHRtbCN0aW1pbmcpIGRhdGF0eXBlIHdoaWNoIGFsbG93IHRoZSBtZWFzdXJlbWVudCB0byBiZSB0aWVkIHRvIHJlZ3VsYXIgbGlmZSBldmVudHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ2cy0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9ImlmIE9ic2VydmF0aW9uLmVmZmVjdGl2ZVt4XSBpcyBkYXRlVGltZSBhbmQgaGFzIGEgdmFsdWUgdGhlbiB0aGF0IHZhbHVlIHNoYWxsIGJlIHByZWNpc2UgdG8gdGhlIGRheSI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIoJHRoaXMgYXMgZGF0ZVRpbWUpLnRvU3RyaW5nKCkubGVuZ3RoKCkgPj0gOCIvPgogICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iaXNzdWVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUvVGltZSB0aGlzIHZlcnNpb24gd2FzIG1hZGUgYXZhaWxhYmxlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGlzIHZlcnNpb24gb2YgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIGF2YWlsYWJsZSB0byBwcm92aWRlcnMsIHR5cGljYWxseSBhZnRlciB0aGUgcmVzdWx0cyBoYXZlIGJlZW4gcmV2aWV3ZWQgYW5kIHZlcmlmaWVkLiIgY29tbWVudD0iRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvbuKAmXQgcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiwgaXQgbWF5IGJlIHRoZSBzYW1lIGFzIHRoZSBbYGxhc3RVcGRhdGVkYCBdKGh0dHA6Ly9obDcub3JnL2ZoaXIvcmVzb3VyY2UtZGVmaW5pdGlvbnMuaHRtbCNNZXRhLmxhc3RVcGRhdGVkKSB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYuICBGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG8gcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiBmb3IgY2VydGFpbiB1cGRhdGVzLCBpdCBtaWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGBsYXN0VXBkYXRlZGAgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmIGR1ZSB0byBhIG5vbi1jbGluaWNhbGx5IHNpZ25pZmljYW50IHVwZGF0ZSB0aGF0IGRvZXNu4oCZdCByZXF1aXJlIHRoZSBuZXcgdmVyc2lvbiB0byBiZSByZXZpZXdlZCBhbmQgdmVyaWZpZWQgYWdhaW4uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IldobyBpcyByZXNwb25zaWJsZSBmb3IgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJXaG8gd2FzIHJlc3BvbnNpYmxlIGZvciBhc3NlcnRpbmcgdGhlIG9ic2VydmVkIHZhbHVlIGFzICZxdW90O3RydWUmcXVvdDsuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJWaXRhbCBTaWducyBWYWx1ZSIgZGVmaW5pdGlvbj0iVml0YWwgU2lnbnMgdmFsdWUgYXJlIHR5cGljYWxseSByZWNvcmRlZCB1c2luZyB0aGUgUXVhbnRpdHkgZGF0YSB0eXBlLiIgY29tbWVudD0iQW4gb2JzZXJ2YXRpb24gbWF5IGhhdmU7IDEpICBhIHNpbmdsZSB2YWx1ZSBoZXJlLCAyKSAgYm90aCBhIHZhbHVlIGFuZCBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMsICBvciAzKSAgb25seSBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMuIElmIGEgdmFsdWUgaXMgcHJlc2VudCwgdGhlIGRhdGF0eXBlIGZvciB0aGlzIGVsZW1lbnQgc2hvdWxkIGJlIGRldGVybWluZWQgYnkgT2JzZXJ2YXRpb24uY29kZS4gIEEgQ29kZWFibGVDb25jZXB0IHdpdGgganVzdCBhIHRleHQgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGlmIHRoZSBmaWVsZCB3YXMgdXN1YWxseSBjb2RlZCwgb3IgaWYgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBPYnNlcnZhdGlvbi5jb2RlIGRlZmluZXMgYSBjb2RlZCB2YWx1ZS4gIEZvciBhZGRpdGlvbmFsIGd1aWRhbmNlLCBzZWUgdGhlIFtOb3RlcyBzZWN0aW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQ29tbW9uIFVDVU0gdW5pdHMgZm9yIHJlY29yZGluZyBWaXRhbCBTaWducy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YUFic2VudFJlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2h5IHRoZSByZXN1bHQgaXMgbWlzc2luZyIgZGVmaW5pdGlvbj0iUHJvdmlkZXMgYSByZWFzb24gd2h5IHRoZSBleHBlY3RlZCB2YWx1ZSBpbiB0aGUgZWxlbWVudCBPYnNlcnZhdGlvbi52YWx1ZVt4XSBpcyBtaXNzaW5nLiIgY29tbWVudD0iTnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMgY2FuIGJlIHJlcHJlc2VudGVkIHR3byB3YXlzIGluIEZISVIgT2JzZXJ2YXRpb25zLiAgT25lIHdheSBpcyB0byBzaW1wbHkgaW5jbHVkZSB0aGVtIGluIHRoZSB2YWx1ZSBzZXQgYW5kIHJlcHJlc2VudCB0aGUgZXhjZXB0aW9ucyBpbiB0aGUgdmFsdWUuICBGb3IgZXhhbXBsZSwgbWVhc3VyZW1lbnQgdmFsdWVzIGZvciBhIHNlcm9sb2d5IHRlc3QgY291bGQgYmUgICZxdW90O2RldGVjdGVkJnF1b3Q7LCAmcXVvdDtub3QgZGV0ZWN0ZWQmcXVvdDssICZxdW90O2luY29uY2x1c2l2ZSZxdW90Oywgb3IgICZxdW90O3NwZWNpbWVuIHVuc2F0aXNmYWN0b3J5JnF1b3Q7LiAgICYjeGE7JiN4YTtUaGUgYWx0ZXJuYXRlIHdheSBpcyB0byB1c2UgdGhlIHZhbHVlIGVsZW1lbnQgZm9yIGFjdHVhbCBvYnNlcnZhdGlvbnMgYW5kIHVzZSB0aGUgZXhwbGljaXQgZGF0YUFic2VudFJlYXNvbiBlbGVtZW50IHRvIHJlY29yZCBleGNlcHRpb25hbCB2YWx1ZXMuICBGb3IgZXhhbXBsZSwgdGhlIGRhdGFBYnNlbnRSZWFzb24gY29kZSAmcXVvdDtlcnJvciZxdW90OyBjb3VsZCBiZSB1c2VkIHdoZW4gdGhlIG1lYXN1cmVtZW50IHdhcyBub3QgY29tcGxldGVkLiBOb3RlIHRoYXQgYW4gb2JzZXJ2YXRpb24gbWF5IG9ubHkgYmUgcmVwb3J0ZWQgaWYgdGhlcmUgYXJlIHZhbHVlcyB0byByZXBvcnQuIEZvciBleGFtcGxlIGRpZmZlcmVudGlhbCBjZWxsIGNvdW50cyB2YWx1ZXMgbWF5IGJlIHJlcG9ydGVkIG9ubHkgd2hlbiA+IDAuICBCZWNhdXNlIG9mIHRoZXNlIG9wdGlvbnMsIHVzZS1jYXNlIGFncmVlbWVudHMgYXJlIHJlcXVpcmVkIHRvIGludGVycHJldCBnZW5lcmFsIG9ic2VydmF0aW9ucyBmb3IgbnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uVmFsdWVBYnNlbnRSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBzcGVjaWZ5aW5nIHdoeSB0aGUgcmVzdWx0IChgT2JzZXJ2YXRpb24udmFsdWVbeF1gKSBpcyBtaXNzaW5nLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlcnByZXRhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhpZ2gsIGxvdywgbm9ybWFsLCBldGMuIiBkZWZpbml0aW9uPSJBIGNhdGVnb3JpY2FsIGFzc2Vzc21lbnQgb2YgYW4gb2JzZXJ2YXRpb24gdmFsdWUuICBGb3IgZXhhbXBsZSwgaGlnaCwgbG93LCBub3JtYWwuIiBjb21tZW50PSJIaXN0b3JpY2FsbHkgdXNlZCBmb3IgbGFib3JhdG9yeSByZXN1bHRzIChrbm93biBhcyAnYWJub3JtYWwgZmxhZycgKSwgIGl0cyB1c2UgZXh0ZW5kcyB0byBvdGhlciB1c2UgY2FzZXMgd2hlcmUgY29kZWQgaW50ZXJwcmV0YXRpb25zICBhcmUgcmVsZXZhbnQuICBPZnRlbiByZXBvcnRlZCBhcyBvbmUgb3IgbW9yZSBzaW1wbGUgY29tcGFjdCBjb2RlcyB0aGlzIGVsZW1lbnQgaXMgb2Z0ZW4gcGxhY2VkIGFkamFjZW50IHRvIHRoZSByZXN1bHQgdmFsdWUgaW4gcmVwb3J0cyBhbmQgZmxvdyBzaGVldHMgdG8gc2lnbmFsIHRoZSBtZWFuaW5nL25vcm1hbGN5IHN0YXR1cyBvZiB0aGUgcmVzdWx0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkludGVycHJldGF0aW9uIiBkZXNjcmlwdGlvbj0iQ29kZXMgaWRlbnRpZnlpbmcgaW50ZXJwcmV0YXRpb25zIG9mIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIG9yIHRoZSByZXN1bHRzLiIgY29tbWVudD0iTWF5IGluY2x1ZGUgZ2VuZXJhbCBzdGF0ZW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiwgb3Igc3RhdGVtZW50cyBhYm91dCBzaWduaWZpY2FudCwgdW5leHBlY3RlZCBvciB1bnJlbGlhYmxlIHJlc3VsdHMgdmFsdWVzLCBvciBpbmZvcm1hdGlvbiBhYm91dCBpdHMgc291cmNlIHdoZW4gcmVsZXZhbnQgdG8gaXRzIGludGVycHJldGF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPYnNlcnZlZCBib2R5IHBhcnQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc2l0ZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgd2hlcmUgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIChpLmUuIHRoZSB0YXJnZXQgc2l0ZSkuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gT2JzZXJ2YXRpb24uY29kZS4gIEluIG1hbnkgc3lzdGVtcywgdGhpcyBtYXkgYmUgcmVwcmVzZW50ZWQgYXMgYSByZWxhdGVkIG9ic2VydmF0aW9uIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvbXBvbmVudC4gICAmI3hhOyYjeGE7SWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvblsgYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibWV0aG9kIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIb3cgaXQgd2FzIGRvbmUiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgbWVjaGFuaXNtIHVzZWQgdG8gcGVyZm9ybSB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm9yIE9ic2VydmF0aW9uLmNvZGUuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25NZXRob2QiIGRlc2NyaXB0aW9uPSJNZXRob2RzIGZvciBzaW1wbGUgb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiB1c2VkIGZvciB0aGlzIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2ltZW4gdGhhdCB3YXMgdXNlZCB3aGVuIHRoaXMgb2JzZXJ2YXRpb24gd2FzIG1hZGUuIiBjb21tZW50PSJTaG91bGQgb25seSBiZSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIGBPYnNlcnZhdGlvbi5jb2RlYC4gIE9ic2VydmF0aW9ucyBhcmUgbm90IG1hZGUgb24gc3BlY2ltZW5zIHRoZW1zZWx2ZXM7IHRoZXkgYXJlIG1hZGUgb24gYSBzdWJqZWN0LCBidXQgaW4gbWFueSBjYXNlcyBieSB0aGUgbWVhbnMgb2YgYSBzcGVjaW1lbi4gTm90ZSB0aGF0IGFsdGhvdWdoIHNwZWNpbWVucyBhcmUgb2Z0ZW4gaW52b2x2ZWQsIHRoZXkgYXJlIG5vdCBhbHdheXMgdHJhY2tlZCBhbmQgcmVwb3J0ZWQgZXhwbGljaXRseS4gQWxzbyBub3RlIHRoYXQgb2JzZXJ2YXRpb24gcmVzb3VyY2VzIG1heSBiZSB1c2VkIGluIGNvbnRleHRzIHRoYXQgdHJhY2sgdGhlIHNwZWNpbWVuIGV4cGxpY2l0bHkgKGUuZy4gRGlhZ25vc3RpYyBSZXBvcnQpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXZpY2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKE1lYXN1cmVtZW50KSBEZXZpY2UiIGRlZmluaXRpb249IlRoZSBkZXZpY2UgdXNlZCB0byBnZW5lcmF0ZSB0aGUgb2JzZXJ2YXRpb24gZGF0YS4iIGNvbW1lbnQ9Ik5vdGUgdGhhdCB0aGlzIGlzIG5vdCBtZWFudCB0byByZXByZXNlbnQgYSBkZXZpY2UgaW52b2x2ZWQgaW4gdGhlIHRyYW5zbWlzc2lvbiBvZiB0aGUgcmVzdWx0LCBlLmcuLCBhIGdhdGV3YXkuICBTdWNoIGRldmljZXMgbWF5IGJlIGRvY3VtZW50ZWQgdXNpbmcgdGhlIFByb3ZlbmFuY2UgcmVzb3VyY2Ugd2hlcmUgcmVsZXZhbnQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIiBkZWZpbml0aW9uPSJHdWlkYW5jZSBvbiBob3cgdG8gaW50ZXJwcmV0IHRoZSB2YWx1ZSBieSBjb21wYXJpc29uIHRvIGEgbm9ybWFsIG9yIHJlY29tbWVuZGVkIHJhbmdlLiAgTXVsdGlwbGUgcmVmZXJlbmNlIHJhbmdlcyBhcmUgaW50ZXJwcmV0ZWQgYXMgYW4gJnF1b3Q7T1ImcXVvdDsuICAgSW4gb3RoZXIgd29yZHMsIHRvIHJlcHJlc2VudCB0d28gZGlzdGluY3QgdGFyZ2V0IHBvcHVsYXRpb25zLCB0d28gYHJlZmVyZW5jZVJhbmdlYCBlbGVtZW50cyB3b3VsZCBiZSB1c2VkLiIgY29tbWVudD0iTW9zdCBvYnNlcnZhdGlvbnMgb25seSBoYXZlIG9uZSBnZW5lcmljIHJlZmVyZW5jZSByYW5nZS4gU3lzdGVtcyBNQVkgY2hvb3NlIHRvIHJlc3RyaWN0IHRvIG9ubHkgc3VwcGx5aW5nIHRoZSByZWxldmFudCByZWZlcmVuY2UgcmFuZ2UgYmFzZWQgb24ga25vd2xlZGdlIGFib3V0IHRoZSBwYXRpZW50IChlLmcuLCBzcGVjaWZpYyB0byB0aGUgcGF0aWVudCdzIGFnZSwgZ2VuZGVyLCB3ZWlnaHQgYW5kIG90aGVyIGZhY3RvcnMpLCBidXQgdGhpcyBtaWdodCBub3QgYmUgcG9zc2libGUgb3IgYXBwcm9wcmlhdGUuIFdoZW5ldmVyIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIHJhbmdlIGlzIHN1cHBsaWVkLCB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGVtIFNIT1VMRCBiZSBwcm92aWRlZCBpbiB0aGUgcmVmZXJlbmNlIHJhbmdlIGFuZC9vciBhZ2UgcHJvcGVydGllcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5SZWZlcmVuY2VSYW5nZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Im9icy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik11c3QgaGF2ZSBhdCBsZWFzdCBhIGxvdyBvciBhIGhpZ2ggb3IgdGV4dCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJsb3cuZXhpc3RzKCkgb3IgaGlnaC5leGlzdHMoKSBvciB0ZXh0LmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJoYXNNZW1iZXIiIGRlc2NyaXB0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIHZpdGFsIHNpZ25zIHBhbmVsIGNvbXBvbmVudHMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cy4iIGNvbW1lbnQ9IldoZW4gdXNpbmcgdGhpcyBlbGVtZW50LCBhbiBvYnNlcnZhdGlvbiB3aWxsIHR5cGljYWxseSBoYXZlIGVpdGhlciBhIHZhbHVlIG9yIGEgc2V0IG9mIHJlbGF0ZWQgcmVzb3VyY2VzLCBhbHRob3VnaCBib3RoIG1heSBiZSBwcmVzZW50IGluIHNvbWUgY2FzZXMuICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4gIE5vdGUgdGhhdCBhIHN5c3RlbSBtYXkgY2FsY3VsYXRlIHJlc3VsdHMgZnJvbSBbUXVlc3Rpb25uYWlyZVJlc3BvbnNlXShodHRwOi8vaGw3Lm9yZy9maGlyL3F1ZXN0aW9ubmFpcmVyZXNwb25zZS5odG1sKSAgaW50byBhIGZpbmFsIHNjb3JlIGFuZCByZXByZXNlbnQgdGhlIHNjb3JlIGFzIGFuIE9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIG1lYXN1cmVtZW50cyB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIG1lYXN1cmVtZW50IGZyb20gd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiB2YWx1ZSBpcyBkZXJpdmVkLiBGb3IgZXhhbXBsZSwgYSBjYWxjdWxhdGVkIGFuaW9uIGdhcCBvciBhIGZldGFsIG1lYXN1cmVtZW50IGJhc2VkIG9uIGFuIHVsdHJhc291bmQgaW1hZ2UuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iQ29tcG9uZW50IG9ic2VydmF0aW9ucyIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyBjb21wb25lbnQgb2JzZXJ2YXRpb24gc3VjaCBhcyBzeXN0b2xpYyBhbmQgZGlhc3RvbGljIGJsb29kIHByZXNzdXJlLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSBpcyBubyBhIHZhbHVlIGEgZGF0YSBhYnNlbnQgcmVhc29uIG11c3QgYmUgcHJlc2VudCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ2YWx1ZS5leGlzdHMoKSBvciBkYXRhQWJzZW50UmVhc29uLmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVTQ29yZVNtb2tpbmdTdGF0dXNQcm9maWxlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLXNtb2tpbmdzdGF0dXMiIGxhYmVsPSJVUyBDb3JlIFNtb2tpbmcgU3RhdHVzIE9ic2VydmF0aW9uIFByb2ZpbGUiIHRhcmdldD0iT2JzZXJ2YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IlBhcnQgb2YgcmVmZXJlbmNlZCBldmVudCIgZGVmaW5pdGlvbj0iQSBsYXJnZXIgZXZlbnQgb2Ygd2hpY2ggdGhpcyBwYXJ0aWN1bGFyIE9ic2VydmF0aW9uIGlzIGEgY29tcG9uZW50IG9yIHN0ZXAuICBGb3IgZXhhbXBsZSwgIGFuIG9ic2VydmF0aW9uIGFzIHBhcnQgb2YgYSBwcm9jZWR1cmUuIiBjb21tZW50PSJUbyBsaW5rIGFuIE9ic2VydmF0aW9uIHRvIGFuIEVuY291bnRlciB1c2UgYGVuY291bnRlcmAuICBTZWUgdGhlICBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cgZm9yIGd1aWRhbmNlIG9uIHJlZmVyZW5jaW5nIGFub3RoZXIgT2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InJlZ2lzdGVyZWQgfCBwcmVsaW1pbmFyeSB8IGZpbmFsIHwgYW1lbmRlZCArIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSByZXN1bHQgdmFsdWUuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9IlNvY2lhbEhpc3RvcnkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlNtb2tpbmcgU3RhdHVzIiBkZWZpbml0aW9uPSJEZXNjcmliZXMgd2hhdCB3YXMgb2JzZXJ2ZWQuIFNvbWV0aW1lcyB0aGlzIGlzIGNhbGxlZCB0aGUgb2JzZXJ2YXRpb24gJnF1b3Q7bmFtZSZxdW90Oy4iIGNvbW1lbnQ9IipBbGwqIGNvZGUtdmFsdWUgYW5kLCBpZiBwcmVzZW50LCBjb21wb25lbnQuY29kZS1jb21wb25lbnQudmFsdWUgcGFpcnMgbmVlZCB0byBiZSB0YWtlbiBpbnRvIGFjY291bnQgdG8gY29ycmVjdGx5IHVuZGVyc3RhbmQgdGhlIG1lYW5pbmcgb2YgdGhlIG9ic2VydmF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIGFuZC9vciB3aGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCIgZGVmaW5pdGlvbj0iVGhlIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIHRoaXMgb2JzZXJ2YXRpb24gaXMgYWJvdXQgYW5kIGludG8gd2hvc2UgcmVjb3JkIHRoZSBvYnNlcnZhdGlvbiBpcyBwbGFjZWQuIElmIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBzdWJqZWN0IChvciBhIHNhbXBsZSBvZiwgcGFydCwgb3IgcmVnaW9uIG9mIHRoZSBzdWJqZWN0KSwgdGhlIGBmb2N1c2AgZWxlbWVudCBvciB0aGUgYGNvZGVgIGl0c2VsZiBzcGVjaWZpZXMgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmUgd291bGQgZXhwZWN0IHRoaXMgZWxlbWVudCB0byBiZSBhIGNhcmRpbmFsaXR5IG9mIDEuLjEuIFRoZSBvbmx5IGNpcmN1bXN0YW5jZSBpbiB3aGljaCB0aGUgc3ViamVjdCBjYW4gYmUgbWlzc2luZyBpcyB3aGVuIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGJ5IGEgZGV2aWNlIHRoYXQgZG9lcyBub3Qga25vdyB0aGUgcGF0aWVudC4gSW4gdGhpcyBjYXNlLCB0aGUgb2JzZXJ2YXRpb24gU0hBTEwgYmUgbWF0Y2hlZCB0byBhIHBhdGllbnQgdGhyb3VnaCBzb21lIGNvbnRleHQvY2hhbm5lbCBtYXRjaGluZyB0ZWNobmlxdWUsIGFuZCBhdCB0aGlzIHBvaW50LCB0aGUgb2JzZXJ2YXRpb24gc2hvdWxkIGJlIHVwZGF0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJmb2N1cyIgZGVzY3JpcHRpb249IldoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0LCB3aGVuIGl0IGlzIG5vdCBhYm91dCB0aGUgc3ViamVjdCBvZiByZWNvcmQiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gd2hlbiBpdCBpcyBub3QgdGhlIHBhdGllbnQgb2YgcmVjb3JkIHJlcHJlc2VudGluZyBzb21ldGhpbmcgb3Igc29tZW9uZSBhc3NvY2lhdGVkIHdpdGggdGhlIHBhdGllbnQgc3VjaCBhcyBhIHNwb3VzZSwgcGFyZW50LCBmZXR1cywgb3IgZG9ub3IuIEZvciBleGFtcGxlLCBmZXR1cyBvYnNlcnZhdGlvbnMgaW4gYSBtb3RoZXIncyByZWNvcmQuICBUaGUgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gY291bGQgYWxzbyBiZSBhbiBleGlzdGluZyBjb25kaXRpb24sICBhbiBpbnRlcnZlbnRpb24sIHRoZSBzdWJqZWN0J3MgZGlldCwgIGFub3RoZXIgb2JzZXJ2YXRpb24gb2YgdGhlIHN1YmplY3QsICBvciBhIGJvZHkgc3RydWN0dXJlIHN1Y2ggYXMgdHVtb3Igb3IgaW1wbGFudGVkIGRldmljZS4gICBBbiBleGFtcGxlIHVzZSBjYXNlIHdvdWxkIGJlIHVzaW5nIHRoZSBPYnNlcnZhdGlvbiByZXNvdXJjZSB0byBjYXB0dXJlIHdoZXRoZXIgdGhlIG1vdGhlciBpcyB0cmFpbmVkIHRvIGNoYW5nZSBoZXIgY2hpbGQncyB0cmFjaGVvc3RvbXkgdHViZS4gSW4gdGhpcyBleGFtcGxlLCB0aGUgY2hpbGQgaXMgdGhlIHBhdGllbnQgb2YgcmVjb3JkIGFuZCB0aGUgbW90aGVyIGlzIHRoZSBmb2N1cy4iIGNvbW1lbnQ9IlR5cGljYWxseSwgYW4gb2JzZXJ2YXRpb24gaXMgbWFkZSBhYm91dCB0aGUgc3ViamVjdCAtIGEgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgLSBhbmQgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhlIHN1YmplY3QgYW5kIHdoYXQgaXMgZGlyZWN0bHkgbWVhc3VyZWQgZm9yIGFuIG9ic2VydmF0aW9uIGlzIHNwZWNpZmllZCBpbiB0aGUgb2JzZXJ2YXRpb24gY29kZSBpdHNlbGYgKCBlLmcuLCAmcXVvdDtCbG9vZCBHbHVjb3NlJnF1b3Q7KSBhbmQgZG9lcyBub3QgbmVlZCB0byBiZSByZXByZXNlbnRlZCBzZXBhcmF0ZWx5IHVzaW5nIHRoaXMgZWxlbWVudC4gIFVzZSBgc3BlY2ltZW5gIGlmIGEgcmVmZXJlbmNlIHRvIGEgc3BlY2ltZW4gaXMgcmVxdWlyZWQuICBJZiBhIGNvZGUgaXMgcmVxdWlyZWQgaW5zdGVhZCBvZiBhIHJlc291cmNlIHVzZSBlaXRoZXIgIGBib2R5c2l0ZWAgZm9yIGJvZHlzaXRlcyBvciB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtmb2N1c0NvZGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLW9ic2VydmF0aW9uLWZvY3VzY29kZS5odG1sKS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJIZWFsdGhjYXJlIGV2ZW50IGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUiIGRlZmluaXRpb249IlRoZSBoZWFsdGhjYXJlIGV2ZW50ICAoZS5nLiBhIHBhdGllbnQgYW5kIGhlYWx0aGNhcmUgcHJvdmlkZXIgaW50ZXJhY3Rpb24pIGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgZXZlbnRzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIgKGUuZy4gcHJlLWFkbWlzc2lvbiBsYWJvcmF0b3J5IHRlc3RzKS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkNsaW5pY2FsbHkgcmVsZXZhbnQgdGltZS90aW1lLXBlcmlvZCBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSB0aW1lIG9yIHRpbWUtcGVyaW9kIHRoZSBvYnNlcnZlZCB2YWx1ZSBpcyBhc3NlcnRlZCBhcyBiZWluZyB0cnVlLiBGb3IgYmlvbG9naWNhbCBzdWJqZWN0cyAtIGUuZy4gaHVtYW4gcGF0aWVudHMgLSB0aGlzIGlzIHVzdWFsbHkgY2FsbGVkIHRoZSAmcXVvdDtwaHlzaW9sb2dpY2FsbHkgcmVsZXZhbnQgdGltZSZxdW90Oy4gVGhpcyBpcyB1c3VhbGx5IGVpdGhlciB0aGUgdGltZSBvZiB0aGUgcHJvY2VkdXJlIG9yIG9mIHNwZWNpbWVuIGNvbGxlY3Rpb24sIGJ1dCB2ZXJ5IG9mdGVuIHRoZSBzb3VyY2Ugb2YgdGhlIGRhdGUvdGltZSBpcyBub3Qga25vd24sIG9ubHkgdGhlIGRhdGUvdGltZSBpdHNlbGYuIiBjb21tZW50PSJBdCBsZWFzdCBhIGRhdGUgc2hvdWxkIGJlIHByZXNlbnQgdW5sZXNzIHRoaXMgb2JzZXJ2YXRpb24gaXMgYSBoaXN0b3JpY2FsIHJlcG9ydC4gIEZvciByZWNvcmRpbmcgaW1wcmVjaXNlIG9yICZxdW90O2Z1enp5JnF1b3Q7IHRpbWVzIChGb3IgZXhhbXBsZSwgYSBibG9vZCBnbHVjb3NlIG1lYXN1cmVtZW50IHRha2VuICZxdW90O2FmdGVyIGJyZWFrZmFzdCZxdW90OykgdXNlIHRoZSBbVGltaW5nXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2RhdGF0eXBlcy5odG1sI3RpbWluZykgZGF0YXR5cGUgd2hpY2ggYWxsb3cgdGhlIG1lYXN1cmVtZW50IHRvIGJlIHRpZWQgdG8gcmVndWxhciBsaWZlIGV2ZW50cy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iaXNzdWVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUvVGltZSB0aGlzIHZlcnNpb24gd2FzIG1hZGUgYXZhaWxhYmxlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGlzIHZlcnNpb24gb2YgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIGF2YWlsYWJsZSB0byBwcm92aWRlcnMsIHR5cGljYWxseSBhZnRlciB0aGUgcmVzdWx0cyBoYXZlIGJlZW4gcmV2aWV3ZWQgYW5kIHZlcmlmaWVkLiIgY29tbWVudD0iRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvbuKAmXQgcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiwgaXQgbWF5IGJlIHRoZSBzYW1lIGFzIHRoZSBbYGxhc3RVcGRhdGVkYCBdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcmVzb3VyY2UtZGVmaW5pdGlvbnMuaHRtbCNNZXRhLmxhc3RVcGRhdGVkKSB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYuICBGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG8gcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiBmb3IgY2VydGFpbiB1cGRhdGVzLCBpdCBtaWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGBsYXN0VXBkYXRlZGAgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmIGR1ZSB0byBhIG5vbi1jbGluaWNhbGx5IHNpZ25pZmljYW50IHVwZGF0ZSB0aGF0IGRvZXNu4oCZdCByZXF1aXJlIHRoZSBuZXcgdmVyc2lvbiB0byBiZSByZXZpZXdlZCBhbmQgdmVyaWZpZWQgYWdhaW4uIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IldobyBpcyByZXNwb25zaWJsZSBmb3IgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJXaG8gd2FzIHJlc3BvbnNpYmxlIGZvciBhc3NlcnRpbmcgdGhlIG9ic2VydmVkIHZhbHVlIGFzICZxdW90O3RydWUmcXVvdDsuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQWN0dWFsIHJlc3VsdCIgZGVmaW5pdGlvbj0iVGhlIGluZm9ybWF0aW9uIGRldGVybWluZWQgYXMgYSByZXN1bHQgb2YgbWFraW5nIHRoZSBvYnNlcnZhdGlvbiwgaWYgdGhlIGluZm9ybWF0aW9uIGhhcyBhIHNpbXBsZSB2YWx1ZS4iIGNvbW1lbnQ9IkFuIG9ic2VydmF0aW9uIG1heSBoYXZlOyAxKSAgYSBzaW5nbGUgdmFsdWUgaGVyZSwgMikgIGJvdGggYSB2YWx1ZSBhbmQgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLCAgb3IgMykgIG9ubHkgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLiBJZiBhIHZhbHVlIGlzIHByZXNlbnQsIHRoZSBkYXRhdHlwZSBmb3IgdGhpcyBlbGVtZW50IHNob3VsZCBiZSBkZXRlcm1pbmVkIGJ5IE9ic2VydmF0aW9uLmNvZGUuICBBIENvZGVhYmxlQ29uY2VwdCB3aXRoIGp1c3QgYSB0ZXh0IHdvdWxkIGJlIHVzZWQgaW5zdGVhZCBvZiBhIHN0cmluZyBpZiB0aGUgZmllbGQgd2FzIHVzdWFsbHkgY29kZWQsIG9yIGlmIHRoZSB0eXBlIGFzc29jaWF0ZWQgd2l0aCB0aGUgT2JzZXJ2YXRpb24uY29kZSBkZWZpbmVzIGEgY29kZWQgdmFsdWUuICBGb3IgYWRkaXRpb25hbCBndWlkYW5jZSwgc2VlIHRoZSBbTm90ZXMgc2VjdGlvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YUFic2VudFJlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2h5IHRoZSByZXN1bHQgaXMgbWlzc2luZyIgZGVmaW5pdGlvbj0iUHJvdmlkZXMgYSByZWFzb24gd2h5IHRoZSBleHBlY3RlZCB2YWx1ZSBpbiB0aGUgZWxlbWVudCBPYnNlcnZhdGlvbi52YWx1ZVt4XSBpcyBtaXNzaW5nLiIgY29tbWVudD0iTnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMgY2FuIGJlIHJlcHJlc2VudGVkIHR3byB3YXlzIGluIEZISVIgT2JzZXJ2YXRpb25zLiAgT25lIHdheSBpcyB0byBzaW1wbHkgaW5jbHVkZSB0aGVtIGluIHRoZSB2YWx1ZSBzZXQgYW5kIHJlcHJlc2VudCB0aGUgZXhjZXB0aW9ucyBpbiB0aGUgdmFsdWUuICBGb3IgZXhhbXBsZSwgbWVhc3VyZW1lbnQgdmFsdWVzIGZvciBhIHNlcm9sb2d5IHRlc3QgY291bGQgYmUgICZxdW90O2RldGVjdGVkJnF1b3Q7LCAmcXVvdDtub3QgZGV0ZWN0ZWQmcXVvdDssICZxdW90O2luY29uY2x1c2l2ZSZxdW90Oywgb3IgICZxdW90O3NwZWNpbWVuIHVuc2F0aXNmYWN0b3J5JnF1b3Q7LiAgICYjeGE7JiN4YTtUaGUgYWx0ZXJuYXRlIHdheSBpcyB0byB1c2UgdGhlIHZhbHVlIGVsZW1lbnQgZm9yIGFjdHVhbCBvYnNlcnZhdGlvbnMgYW5kIHVzZSB0aGUgZXhwbGljaXQgZGF0YUFic2VudFJlYXNvbiBlbGVtZW50IHRvIHJlY29yZCBleGNlcHRpb25hbCB2YWx1ZXMuICBGb3IgZXhhbXBsZSwgdGhlIGRhdGFBYnNlbnRSZWFzb24gY29kZSAmcXVvdDtlcnJvciZxdW90OyBjb3VsZCBiZSB1c2VkIHdoZW4gdGhlIG1lYXN1cmVtZW50IHdhcyBub3QgY29tcGxldGVkLiBOb3RlIHRoYXQgYW4gb2JzZXJ2YXRpb24gbWF5IG9ubHkgYmUgcmVwb3J0ZWQgaWYgdGhlcmUgYXJlIHZhbHVlcyB0byByZXBvcnQuIEZvciBleGFtcGxlIGRpZmZlcmVudGlhbCBjZWxsIGNvdW50cyB2YWx1ZXMgbWF5IGJlIHJlcG9ydGVkIG9ubHkgd2hlbiA+IDAuICBCZWNhdXNlIG9mIHRoZXNlIG9wdGlvbnMsIHVzZS1jYXNlIGFncmVlbWVudHMgYXJlIHJlcXVpcmVkIHRvIGludGVycHJldCBnZW5lcmFsIG9ic2VydmF0aW9ucyBmb3IgbnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25WYWx1ZUFic2VudFJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIHNwZWNpZnlpbmcgd2h5IHRoZSByZXN1bHQgKGBPYnNlcnZhdGlvbi52YWx1ZVt4XWApIGlzIG1pc3NpbmcuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImludGVycHJldGF0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGlnaCwgbG93LCBub3JtYWwsIGV0Yy4iIGRlZmluaXRpb249IkEgY2F0ZWdvcmljYWwgYXNzZXNzbWVudCBvZiBhbiBvYnNlcnZhdGlvbiB2YWx1ZS4gIEZvciBleGFtcGxlLCBoaWdoLCBsb3csIG5vcm1hbC4iIGNvbW1lbnQ9Ikhpc3RvcmljYWxseSB1c2VkIGZvciBsYWJvcmF0b3J5IHJlc3VsdHMgKGtub3duIGFzICdhYm5vcm1hbCBmbGFnJyApLCAgaXRzIHVzZSBleHRlbmRzIHRvIG90aGVyIHVzZSBjYXNlcyB3aGVyZSBjb2RlZCBpbnRlcnByZXRhdGlvbnMgIGFyZSByZWxldmFudC4gIE9mdGVuIHJlcG9ydGVkIGFzIG9uZSBvciBtb3JlIHNpbXBsZSBjb21wYWN0IGNvZGVzIHRoaXMgZWxlbWVudCBpcyBvZnRlbiBwbGFjZWQgYWRqYWNlbnQgdG8gdGhlIHJlc3VsdCB2YWx1ZSBpbiByZXBvcnRzIGFuZCBmbG93IHNoZWV0cyB0byBzaWduYWwgdGhlIG1lYW5pbmcvbm9ybWFsY3kgc3RhdHVzIG9mIHRoZSByZXN1bHQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uSW50ZXJwcmV0YXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBpbnRlcnByZXRhdGlvbnMgb2Ygb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24gb3IgdGhlIHJlc3VsdHMuIiBjb21tZW50PSJNYXkgaW5jbHVkZSBnZW5lcmFsIHN0YXRlbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uLCBvciBzdGF0ZW1lbnRzIGFib3V0IHNpZ25pZmljYW50LCB1bmV4cGVjdGVkIG9yIHVucmVsaWFibGUgcmVzdWx0cyB2YWx1ZXMsIG9yIGluZm9ybWF0aW9uIGFib3V0IGl0cyBzb3VyY2Ugd2hlbiByZWxldmFudCB0byBpdHMgaW50ZXJwcmV0YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik9ic2VydmVkIGJvZHkgcGFydCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBzaXRlIG9uIHRoZSBzdWJqZWN0J3MgYm9keSB3aGVyZSB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgKGkuZS4gdGhlIHRhcmdldCBzaXRlKS4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBPYnNlcnZhdGlvbi5jb2RlLiAgSW4gbWFueSBzeXN0ZW1zLCB0aGlzIG1heSBiZSByZXByZXNlbnRlZCBhcyBhIHJlbGF0ZWQgb2JzZXJ2YXRpb24gaW5zdGVhZCBvZiBhbiBpbmxpbmUgY29tcG9uZW50LiAgICYjeGE7JiN4YTtJZiB0aGUgdXNlIGNhc2UgcmVxdWlyZXMgQm9keVNpdGUgdG8gYmUgaGFuZGxlZCBhcyBhIHNlcGFyYXRlIHJlc291cmNlIChlLmcuIHRvIGlkZW50aWZ5IGFuZCB0cmFjayBzZXBhcmF0ZWx5KSB0aGVuIHVzZSB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uWyBib2R5U2l0ZV0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9leHRlbnNpb24tYm9keXNpdGUuaHRtbCkuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQm9keVNpdGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGFuYXRvbWljYWwgbG9jYXRpb25zLiBNYXkgaW5jbHVkZSBsYXRlcmFsaXR5LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBpdCB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWNoYW5pc20gdXNlZCB0byBwZXJmb3JtIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3IgT2JzZXJ2YXRpb24uY29kZS4iPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpbWVuIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlNwZWNpbWVuIHVzZWQgZm9yIHRoaXMgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSBzcGVjaW1lbiB0aGF0IHdhcyB1c2VkIHdoZW4gdGhpcyBvYnNlcnZhdGlvbiB3YXMgbWFkZS4iIGNvbW1lbnQ9IlNob3VsZCBvbmx5IGJlIHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gYE9ic2VydmF0aW9uLmNvZGVgLiAgT2JzZXJ2YXRpb25zIGFyZSBub3QgbWFkZSBvbiBzcGVjaW1lbnMgdGhlbXNlbHZlczsgdGhleSBhcmUgbWFkZSBvbiBhIHN1YmplY3QsIGJ1dCBpbiBtYW55IGNhc2VzIGJ5IHRoZSBtZWFucyBvZiBhIHNwZWNpbWVuLiBOb3RlIHRoYXQgYWx0aG91Z2ggc3BlY2ltZW5zIGFyZSBvZnRlbiBpbnZvbHZlZCwgdGhleSBhcmUgbm90IGFsd2F5cyB0cmFja2VkIGFuZCByZXBvcnRlZCBleHBsaWNpdGx5LiBBbHNvIG5vdGUgdGhhdCBvYnNlcnZhdGlvbiByZXNvdXJjZXMgbWF5IGJlIHVzZWQgaW4gY29udGV4dHMgdGhhdCB0cmFjayB0aGUgc3BlY2ltZW4gZXhwbGljaXRseSAoZS5nLiBEaWFnbm9zdGljIFJlcG9ydCkuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRldmljZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoTWVhc3VyZW1lbnQpIERldmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBvYnNlcnZhdGlvbiBkYXRhLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgaXMgbm90IG1lYW50IHRvIHJlcHJlc2VudCBhIGRldmljZSBpbnZvbHZlZCBpbiB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoZSByZXN1bHQsIGUuZy4sIGEgZ2F0ZXdheS4gIFN1Y2ggZGV2aWNlcyBtYXkgYmUgZG9jdW1lbnRlZCB1c2luZyB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZSB3aGVyZSByZWxldmFudC4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0icmVmZXJlbmNlUmFuZ2UiIGRlc2NyaXB0aW9uPSJQcm92aWRlcyBndWlkZSBmb3IgaW50ZXJwcmV0YXRpb24iIGRlZmluaXRpb249Ikd1aWRhbmNlIG9uIGhvdyB0byBpbnRlcnByZXQgdGhlIHZhbHVlIGJ5IGNvbXBhcmlzb24gdG8gYSBub3JtYWwgb3IgcmVjb21tZW5kZWQgcmFuZ2UuICBNdWx0aXBsZSByZWZlcmVuY2UgcmFuZ2VzIGFyZSBpbnRlcnByZXRlZCBhcyBhbiAmcXVvdDtPUiZxdW90Oy4gICBJbiBvdGhlciB3b3JkcywgdG8gcmVwcmVzZW50IHR3byBkaXN0aW5jdCB0YXJnZXQgcG9wdWxhdGlvbnMsIHR3byBgcmVmZXJlbmNlUmFuZ2VgIGVsZW1lbnRzIHdvdWxkIGJlIHVzZWQuIiBjb21tZW50PSJNb3N0IG9ic2VydmF0aW9ucyBvbmx5IGhhdmUgb25lIGdlbmVyaWMgcmVmZXJlbmNlIHJhbmdlLiBTeXN0ZW1zIE1BWSBjaG9vc2UgdG8gcmVzdHJpY3QgdG8gb25seSBzdXBwbHlpbmcgdGhlIHJlbGV2YW50IHJlZmVyZW5jZSByYW5nZSBiYXNlZCBvbiBrbm93bGVkZ2UgYWJvdXQgdGhlIHBhdGllbnQgKGUuZy4sIHNwZWNpZmljIHRvIHRoZSBwYXRpZW50J3MgYWdlLCBnZW5kZXIsIHdlaWdodCBhbmQgb3RoZXIgZmFjdG9ycyksIGJ1dCB0aGlzIG1pZ2h0IG5vdCBiZSBwb3NzaWJsZSBvciBhcHByb3ByaWF0ZS4gV2hlbmV2ZXIgbW9yZSB0aGFuIG9uZSByZWZlcmVuY2UgcmFuZ2UgaXMgc3VwcGxpZWQsIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZW0gU0hPVUxEIGJlIHByb3ZpZGVkIGluIHRoZSByZWZlcmVuY2UgcmFuZ2UgYW5kL29yIGFnZSBwcm9wZXJ0aWVzLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0ib2JzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iTXVzdCBoYXZlIGF0IGxlYXN0IGEgbG93IG9yIGEgaGlnaCBvciB0ZXh0Ij4KICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Imxvdy5leGlzdHMoKSBvciBoaWdoLmV4aXN0cygpIG9yIHRleHQuZXhpc3RzKCkiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imhhc01lbWJlciIgZGVzY3JpcHRpb249IlJlbGF0ZWQgcmVzb3VyY2UgdGhhdCBiZWxvbmdzIHRvIHRoZSBPYnNlcnZhdGlvbiBncm91cCIgZGVmaW5pdGlvbj0iVGhpcyBvYnNlcnZhdGlvbiBpcyBhIGdyb3VwIG9ic2VydmF0aW9uIChlLmcuIGEgYmF0dGVyeSwgYSBwYW5lbCBvZiB0ZXN0cywgYSBzZXQgb2Ygdml0YWwgc2lnbiBtZWFzdXJlbWVudHMpIHRoYXQgaW5jbHVkZXMgdGhlIHRhcmdldCBhcyBhIG1lbWJlciBvZiB0aGUgZ3JvdXAuIiBjb21tZW50PSJXaGVuIHVzaW5nIHRoaXMgZWxlbWVudCwgYW4gb2JzZXJ2YXRpb24gd2lsbCB0eXBpY2FsbHkgaGF2ZSBlaXRoZXIgYSB2YWx1ZSBvciBhIHNldCBvZiByZWxhdGVkIHJlc291cmNlcywgYWx0aG91Z2ggYm90aCBtYXkgYmUgcHJlc2VudCBpbiBzb21lIGNhc2VzLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuICBOb3RlIHRoYXQgYSBzeXN0ZW0gbWF5IGNhbGN1bGF0ZSByZXN1bHRzIGZyb20gW1F1ZXN0aW9ubmFpcmVSZXNwb25zZV0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9xdWVzdGlvbm5haXJlcmVzcG9uc2UuaHRtbCkgIGludG8gYSBmaW5hbCBzY29yZSBhbmQgcmVwcmVzZW50IHRoZSBzY29yZSBhcyBhbiBPYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImRlcml2ZWRGcm9tIiBkZXNjcmlwdGlvbj0iUmVsYXRlZCBtZWFzdXJlbWVudHMgdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgZnJvbSIgZGVmaW5pdGlvbj0iVGhlIHRhcmdldCByZXNvdXJjZSB0aGF0IHJlcHJlc2VudHMgYSBtZWFzdXJlbWVudCBmcm9tIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gdmFsdWUgaXMgZGVyaXZlZC4gRm9yIGV4YW1wbGUsIGEgY2FsY3VsYXRlZCBhbmlvbiBnYXAgb3IgYSBmZXRhbCBtZWFzdXJlbWVudCBiYXNlZCBvbiBhbiB1bHRyYXNvdW5kIGltYWdlLiIgY29tbWVudD0iQWxsIHRoZSByZWZlcmVuY2UgY2hvaWNlcyB0aGF0IGFyZSBsaXN0ZWQgaW4gdGhpcyBlbGVtZW50IGNhbiByZXByZXNlbnQgY2xpbmljYWwgb2JzZXJ2YXRpb25zIGFuZCBvdGhlciBtZWFzdXJlbWVudHMgdGhhdCBtYXkgYmUgdGhlIHNvdXJjZSBmb3IgYSBkZXJpdmVkIHZhbHVlLiAgVGhlIG1vc3QgY29tbW9uIHJlZmVyZW5jZSB3aWxsIGJlIGFub3RoZXIgT2JzZXJ2YXRpb24uICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNvbXBvbmVudCIgZGVzY3JpcHRpb249IkNvbXBvbmVudCByZXN1bHRzIiBkZWZpbml0aW9uPSJTb21lIG9ic2VydmF0aW9ucyBoYXZlIG11bHRpcGxlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMuICBUaGVzZSBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGFyZSBleHByZXNzZWQgYXMgc2VwYXJhdGUgY29kZSB2YWx1ZSBwYWlycyB0aGF0IHNoYXJlIHRoZSBzYW1lIGF0dHJpYnV0ZXMuICBFeGFtcGxlcyBpbmNsdWRlIHN5c3RvbGljIGFuZCBkaWFzdG9saWMgY29tcG9uZW50IG9ic2VydmF0aW9ucyBmb3IgYmxvb2QgcHJlc3N1cmUgbWVhc3VyZW1lbnQgYW5kIG11bHRpcGxlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgZm9yIGdlbmV0aWNzIG9ic2VydmF0aW9ucy4iIGNvbW1lbnQ9IkZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBiZSBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVTQ29yZVZpdGFsU2lnbnNQcm9maWxlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLXZpdGFsLXNpZ25zIiBsYWJlbD0iVVMgQ29yZSBWaXRhbCBTaWducyBQcm9maWxlIiB0YXJnZXQ9Ik9ic2VydmF0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkJ1c2luZXNzIElkZW50aWZpZXIgZm9yIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIHVuaXF1ZSBpZGVudGlmaWVyIGFzc2lnbmVkIHRvIHRoaXMgb2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IkZ1bGZpbGxzIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIiBkZWZpbml0aW9uPSJBIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBldmVudC4gIEZvciBleGFtcGxlLCBhIE1lZGljYXRpb25SZXF1ZXN0IG1heSByZXF1aXJlIGEgcGF0aWVudCB0byBoYXZlIGxhYm9yYXRvcnkgdGVzdCBwZXJmb3JtZWQgYmVmb3JlICBpdCBpcyBkaXNwZW5zZWQuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBPYnNlcnZhdGlvbiBpcyBhIGNvbXBvbmVudCBvciBzdGVwLiAgRm9yIGV4YW1wbGUsICBhbiBvYnNlcnZhdGlvbiBhcyBwYXJ0IG9mIGEgcHJvY2VkdXJlLiIgY29tbWVudD0iVG8gbGluayBhbiBPYnNlcnZhdGlvbiB0byBhbiBFbmNvdW50ZXIgdXNlIGBlbmNvdW50ZXJgLiAgU2VlIHRoZSAgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93IGZvciBndWlkYW5jZSBvbiByZWZlcmVuY2luZyBhbm90aGVyIE9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLlN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyZWdpc3RlcmVkIHwgcHJlbGltaW5hcnkgfCBmaW5hbCB8IGFtZW5kZWQgKyIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzdWx0IHZhbHVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJTdGF0dXMiIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9IlZTQ2F0IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCVwYXJlbnQuY2F0ZWdvcnlbY29kaW5nLnN5c3RlbT0naHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS9vYnNlcnZhdGlvbi1jYXRlZ29yeScsY29kaW5nLmNvZGU9J3ZpdGFsLXNpZ25zJ10pIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ29kZWQgUmVzcG9uc2VzIGZyb20gQy1DREEgVml0YWwgU2lnbiBSZXN1bHRzIiBkZWZpbml0aW9uPSJDb2RlZCBSZXNwb25zZXMgZnJvbSBDLUNEQSBWaXRhbCBTaWduIFJlc3VsdHMuIiBjb21tZW50PSIqQWxsKiBjb2RlLXZhbHVlIGFuZCwgaWYgcHJlc2VudCwgY29tcG9uZW50LmNvZGUtY29tcG9uZW50LnZhbHVlIHBhaXJzIG5lZWQgdG8gYmUgdGFrZW4gaW50byBhY2NvdW50IHRvIGNvcnJlY3RseSB1bmRlcnN0YW5kIHRoZSBtZWFuaW5nIG9mIHRoZSBvYnNlcnZhdGlvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlRoZSB2aXRhbCBzaWduIGNvZGVzIGZyb20gdGhlIGJhc2UgRkhJUiBhbmQgVVMgQ29yZSBWaXRhbCBTaWducy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaG8gYW5kL29yIHdoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0IiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgdGhpcyBvYnNlcnZhdGlvbiBpcyBhYm91dCBhbmQgaW50byB3aG9zZSByZWNvcmQgdGhlIG9ic2VydmF0aW9uIGlzIHBsYWNlZC4gSWYgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24gaXMgZGlmZmVyZW50IGZyb20gdGhlIHN1YmplY3QgKG9yIGEgc2FtcGxlIG9mLCBwYXJ0LCBvciByZWdpb24gb2YgdGhlIHN1YmplY3QpLCB0aGUgYGZvY3VzYCBlbGVtZW50IG9yIHRoZSBgY29kZWAgaXRzZWxmIHNwZWNpZmllcyB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9uZSB3b3VsZCBleHBlY3QgdGhpcyBlbGVtZW50IHRvIGJlIGEgY2FyZGluYWxpdHkgb2YgMS4uMS4gVGhlIG9ubHkgY2lyY3Vtc3RhbmNlIGluIHdoaWNoIHRoZSBzdWJqZWN0IGNhbiBiZSBtaXNzaW5nIGlzIHdoZW4gdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgYnkgYSBkZXZpY2UgdGhhdCBkb2VzIG5vdCBrbm93IHRoZSBwYXRpZW50LiBJbiB0aGlzIGNhc2UsIHRoZSBvYnNlcnZhdGlvbiBTSEFMTCBiZSBtYXRjaGVkIHRvIGEgcGF0aWVudCB0aHJvdWdoIHNvbWUgY29udGV4dC9jaGFubmVsIG1hdGNoaW5nIHRlY2huaXF1ZSwgYW5kIGF0IHRoaXMgcG9pbnQsIHRoZSBvYnNlcnZhdGlvbiBzaG91bGQgYmUgdXBkYXRlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImZvY3VzIiBkZXNjcmlwdGlvbj0iV2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQsIHdoZW4gaXQgaXMgbm90IGFib3V0IHRoZSBzdWJqZWN0IG9mIHJlY29yZCIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiB3aGVuIGl0IGlzIG5vdCB0aGUgcGF0aWVudCBvZiByZWNvcmQgcmVwcmVzZW50aW5nIHNvbWV0aGluZyBvciBzb21lb25lIGFzc29jaWF0ZWQgd2l0aCB0aGUgcGF0aWVudCBzdWNoIGFzIGEgc3BvdXNlLCBwYXJlbnQsIGZldHVzLCBvciBkb25vci4gRm9yIGV4YW1wbGUsIGZldHVzIG9ic2VydmF0aW9ucyBpbiBhIG1vdGhlcidzIHJlY29yZC4gIFRoZSBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiBjb3VsZCBhbHNvIGJlIGFuIGV4aXN0aW5nIGNvbmRpdGlvbiwgIGFuIGludGVydmVudGlvbiwgdGhlIHN1YmplY3QncyBkaWV0LCAgYW5vdGhlciBvYnNlcnZhdGlvbiBvZiB0aGUgc3ViamVjdCwgIG9yIGEgYm9keSBzdHJ1Y3R1cmUgc3VjaCBhcyB0dW1vciBvciBpbXBsYW50ZWQgZGV2aWNlLiAgIEFuIGV4YW1wbGUgdXNlIGNhc2Ugd291bGQgYmUgdXNpbmcgdGhlIE9ic2VydmF0aW9uIHJlc291cmNlIHRvIGNhcHR1cmUgd2hldGhlciB0aGUgbW90aGVyIGlzIHRyYWluZWQgdG8gY2hhbmdlIGhlciBjaGlsZCdzIHRyYWNoZW9zdG9teSB0dWJlLiBJbiB0aGlzIGV4YW1wbGUsIHRoZSBjaGlsZCBpcyB0aGUgcGF0aWVudCBvZiByZWNvcmQgYW5kIHRoZSBtb3RoZXIgaXMgdGhlIGZvY3VzLiIgY29tbWVudD0iVHlwaWNhbGx5LCBhbiBvYnNlcnZhdGlvbiBpcyBtYWRlIGFib3V0IHRoZSBzdWJqZWN0IC0gYSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSAtIGFuZCB0aGUgZGlzdGluY3Rpb24gYmV0d2VlbiB0aGUgc3ViamVjdCBhbmQgd2hhdCBpcyBkaXJlY3RseSBtZWFzdXJlZCBmb3IgYW4gb2JzZXJ2YXRpb24gaXMgc3BlY2lmaWVkIGluIHRoZSBvYnNlcnZhdGlvbiBjb2RlIGl0c2VsZiAoIGUuZy4sICZxdW90O0Jsb29kIEdsdWNvc2UmcXVvdDspIGFuZCBkb2VzIG5vdCBuZWVkIHRvIGJlIHJlcHJlc2VudGVkIHNlcGFyYXRlbHkgdXNpbmcgdGhpcyBlbGVtZW50LiAgVXNlIGBzcGVjaW1lbmAgaWYgYSByZWZlcmVuY2UgdG8gYSBzcGVjaW1lbiBpcyByZXF1aXJlZC4gIElmIGEgY29kZSBpcyByZXF1aXJlZCBpbnN0ZWFkIG9mIGEgcmVzb3VyY2UgdXNlIGVpdGhlciAgYGJvZHlzaXRlYCBmb3IgYm9keXNpdGVzIG9yIHRoZSBzdGFuZGFyZCBleHRlbnNpb24gW2ZvY3VzQ29kZV0oaHR0cDovL2hsNy5vcmcvZmhpci9leHRlbnNpb24tb2JzZXJ2YXRpb24tZm9jdXNjb2RlLmh0bWwpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkhlYWx0aGNhcmUgZXZlbnQgZHVyaW5nIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gaXMgbWFkZSIgZGVmaW5pdGlvbj0iVGhlIGhlYWx0aGNhcmUgZXZlbnQgIChlLmcuIGEgcGF0aWVudCBhbmQgaGVhbHRoY2FyZSBwcm92aWRlciBpbnRlcmFjdGlvbikgZHVyaW5nIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gaXMgbWFkZS4iIGNvbW1lbnQ9IlRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgdGhlIGVuY291bnRlciB0aGUgZXZlbnQgb2NjdXJyZWQgd2l0aGluLCBidXQgc29tZSBldmVudHMgbWF5IGJlIGluaXRpYXRlZCBwcmlvciB0byBvciBhZnRlciB0aGUgb2ZmaWNpYWwgY29tcGxldGlvbiBvZiBhbiBlbmNvdW50ZXIgYnV0IHN0aWxsIGJlIHRpZWQgdG8gdGhlIGNvbnRleHQgb2YgdGhlIGVuY291bnRlciAoZS5nLiBwcmUtYWRtaXNzaW9uIGxhYm9yYXRvcnkgdGVzdHMpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2Z0ZW4ganVzdCBhIGRhdGVUaW1lIGZvciBWaXRhbCBTaWducyIgZGVmaW5pdGlvbj0iT2Z0ZW4ganVzdCBhIGRhdGVUaW1lIGZvciBWaXRhbCBTaWducy4iIGNvbW1lbnQ9IkF0IGxlYXN0IGEgZGF0ZSBzaG91bGQgYmUgcHJlc2VudCB1bmxlc3MgdGhpcyBvYnNlcnZhdGlvbiBpcyBhIGhpc3RvcmljYWwgcmVwb3J0LiAgRm9yIHJlY29yZGluZyBpbXByZWNpc2Ugb3IgJnF1b3Q7ZnV6enkmcXVvdDsgdGltZXMgKEZvciBleGFtcGxlLCBhIGJsb29kIGdsdWNvc2UgbWVhc3VyZW1lbnQgdGFrZW4gJnF1b3Q7YWZ0ZXIgYnJlYWtmYXN0JnF1b3Q7KSB1c2UgdGhlIFtUaW1pbmddKGh0dHA6Ly9obDcub3JnL2ZoaXIvZGF0YXR5cGVzLmh0bWwjdGltaW5nKSBkYXRhdHlwZSB3aGljaCBhbGxvdyB0aGUgbWVhc3VyZW1lbnQgdG8gYmUgdGllZCB0byByZWd1bGFyIGxpZmUgZXZlbnRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJpZiBPYnNlcnZhdGlvbi5lZmZlY3RpdmVbeF0gaXMgZGF0ZVRpbWUgYW5kIGhhcyBhIHZhbHVlIHRoZW4gdGhhdCB2YWx1ZSBzaGFsbCBiZSBwcmVjaXNlIHRvIHRoZSBkYXkiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iKCR0aGlzIGFzIGRhdGVUaW1lKS50b1N0cmluZygpLmxlbmd0aCgpID49IDgiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imlzc3VlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEYXRlL1RpbWUgdGhpcyB2ZXJzaW9uIHdhcyBtYWRlIGF2YWlsYWJsZSIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgYW5kIHRpbWUgdGhpcyB2ZXJzaW9uIG9mIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSBhdmFpbGFibGUgdG8gcHJvdmlkZXJzLCB0eXBpY2FsbHkgYWZ0ZXIgdGhlIHJlc3VsdHMgaGF2ZSBiZWVuIHJldmlld2VkIGFuZCB2ZXJpZmllZC4iIGNvbW1lbnQ9IkZvciBPYnNlcnZhdGlvbnMgdGhhdCBkb27igJl0IHJlcXVpcmUgcmV2aWV3IGFuZCB2ZXJpZmljYXRpb24sIGl0IG1heSBiZSB0aGUgc2FtZSBhcyB0aGUgW2BsYXN0VXBkYXRlZGAgXShodHRwOi8vaGw3Lm9yZy9maGlyL3Jlc291cmNlLWRlZmluaXRpb25zLmh0bWwjTWV0YS5sYXN0VXBkYXRlZCkgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmLiAgRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvIHJlcXVpcmUgcmV2aWV3IGFuZCB2ZXJpZmljYXRpb24gZm9yIGNlcnRhaW4gdXBkYXRlcywgaXQgbWlnaHQgbm90IGJlIHRoZSBzYW1lIGFzIHRoZSBgbGFzdFVwZGF0ZWRgIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZiBkdWUgdG8gYSBub24tY2xpbmljYWxseSBzaWduaWZpY2FudCB1cGRhdGUgdGhhdCBkb2VzbuKAmXQgcmVxdWlyZSB0aGUgbmV3IHZlcnNpb24gdG8gYmUgcmV2aWV3ZWQgYW5kIHZlcmlmaWVkIGFnYWluLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJXaG8gaXMgcmVzcG9uc2libGUgZm9yIHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iV2hvIHdhcyByZXNwb25zaWJsZSBmb3IgYXNzZXJ0aW5nIHRoZSBvYnNlcnZlZCB2YWx1ZSBhcyAmcXVvdDt0cnVlJnF1b3Q7LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVml0YWwgU2lnbnMgVmFsdWUiIGRlZmluaXRpb249IlZpdGFsIFNpZ25zIHZhbHVlIGFyZSB0eXBpY2FsbHkgcmVjb3JkZWQgdXNpbmcgdGhlIFF1YW50aXR5IGRhdGEgdHlwZS4iIGNvbW1lbnQ9IkFuIG9ic2VydmF0aW9uIG1heSBoYXZlOyAxKSAgYSBzaW5nbGUgdmFsdWUgaGVyZSwgMikgIGJvdGggYSB2YWx1ZSBhbmQgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLCAgb3IgMykgIG9ubHkgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLiBJZiBhIHZhbHVlIGlzIHByZXNlbnQsIHRoZSBkYXRhdHlwZSBmb3IgdGhpcyBlbGVtZW50IHNob3VsZCBiZSBkZXRlcm1pbmVkIGJ5IE9ic2VydmF0aW9uLmNvZGUuICBBIENvZGVhYmxlQ29uY2VwdCB3aXRoIGp1c3QgYSB0ZXh0IHdvdWxkIGJlIHVzZWQgaW5zdGVhZCBvZiBhIHN0cmluZyBpZiB0aGUgZmllbGQgd2FzIHVzdWFsbHkgY29kZWQsIG9yIGlmIHRoZSB0eXBlIGFzc29jaWF0ZWQgd2l0aCB0aGUgT2JzZXJ2YXRpb24uY29kZSBkZWZpbmVzIGEgY29kZWQgdmFsdWUuICBGb3IgYWRkaXRpb25hbCBndWlkYW5jZSwgc2VlIHRoZSBbTm90ZXMgc2VjdGlvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJSYXRpbyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTYW1wbGVkRGF0YSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQ29tbW9uIFVDVU0gdW5pdHMgZm9yIHJlY29yZGluZyBWaXRhbCBTaWducy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YUFic2VudFJlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2h5IHRoZSByZXN1bHQgaXMgbWlzc2luZyIgZGVmaW5pdGlvbj0iUHJvdmlkZXMgYSByZWFzb24gd2h5IHRoZSBleHBlY3RlZCB2YWx1ZSBpbiB0aGUgZWxlbWVudCBPYnNlcnZhdGlvbi52YWx1ZVt4XSBpcyBtaXNzaW5nLiIgY29tbWVudD0iTnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMgY2FuIGJlIHJlcHJlc2VudGVkIHR3byB3YXlzIGluIEZISVIgT2JzZXJ2YXRpb25zLiAgT25lIHdheSBpcyB0byBzaW1wbHkgaW5jbHVkZSB0aGVtIGluIHRoZSB2YWx1ZSBzZXQgYW5kIHJlcHJlc2VudCB0aGUgZXhjZXB0aW9ucyBpbiB0aGUgdmFsdWUuICBGb3IgZXhhbXBsZSwgbWVhc3VyZW1lbnQgdmFsdWVzIGZvciBhIHNlcm9sb2d5IHRlc3QgY291bGQgYmUgICZxdW90O2RldGVjdGVkJnF1b3Q7LCAmcXVvdDtub3QgZGV0ZWN0ZWQmcXVvdDssICZxdW90O2luY29uY2x1c2l2ZSZxdW90Oywgb3IgICZxdW90O3NwZWNpbWVuIHVuc2F0aXNmYWN0b3J5JnF1b3Q7LiAgICYjeGE7JiN4YTtUaGUgYWx0ZXJuYXRlIHdheSBpcyB0byB1c2UgdGhlIHZhbHVlIGVsZW1lbnQgZm9yIGFjdHVhbCBvYnNlcnZhdGlvbnMgYW5kIHVzZSB0aGUgZXhwbGljaXQgZGF0YUFic2VudFJlYXNvbiBlbGVtZW50IHRvIHJlY29yZCBleGNlcHRpb25hbCB2YWx1ZXMuICBGb3IgZXhhbXBsZSwgdGhlIGRhdGFBYnNlbnRSZWFzb24gY29kZSAmcXVvdDtlcnJvciZxdW90OyBjb3VsZCBiZSB1c2VkIHdoZW4gdGhlIG1lYXN1cmVtZW50IHdhcyBub3QgY29tcGxldGVkLiBOb3RlIHRoYXQgYW4gb2JzZXJ2YXRpb24gbWF5IG9ubHkgYmUgcmVwb3J0ZWQgaWYgdGhlcmUgYXJlIHZhbHVlcyB0byByZXBvcnQuIEZvciBleGFtcGxlIGRpZmZlcmVudGlhbCBjZWxsIGNvdW50cyB2YWx1ZXMgbWF5IGJlIHJlcG9ydGVkIG9ubHkgd2hlbiA+IDAuICBCZWNhdXNlIG9mIHRoZXNlIG9wdGlvbnMsIHVzZS1jYXNlIGFncmVlbWVudHMgYXJlIHJlcXVpcmVkIHRvIGludGVycHJldCBnZW5lcmFsIG9ic2VydmF0aW9ucyBmb3IgbnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uVmFsdWVBYnNlbnRSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBzcGVjaWZ5aW5nIHdoeSB0aGUgcmVzdWx0IChgT2JzZXJ2YXRpb24udmFsdWVbeF1gKSBpcyBtaXNzaW5nLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlcnByZXRhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhpZ2gsIGxvdywgbm9ybWFsLCBldGMuIiBkZWZpbml0aW9uPSJBIGNhdGVnb3JpY2FsIGFzc2Vzc21lbnQgb2YgYW4gb2JzZXJ2YXRpb24gdmFsdWUuICBGb3IgZXhhbXBsZSwgaGlnaCwgbG93LCBub3JtYWwuIiBjb21tZW50PSJIaXN0b3JpY2FsbHkgdXNlZCBmb3IgbGFib3JhdG9yeSByZXN1bHRzIChrbm93biBhcyAnYWJub3JtYWwgZmxhZycgKSwgIGl0cyB1c2UgZXh0ZW5kcyB0byBvdGhlciB1c2UgY2FzZXMgd2hlcmUgY29kZWQgaW50ZXJwcmV0YXRpb25zICBhcmUgcmVsZXZhbnQuICBPZnRlbiByZXBvcnRlZCBhcyBvbmUgb3IgbW9yZSBzaW1wbGUgY29tcGFjdCBjb2RlcyB0aGlzIGVsZW1lbnQgaXMgb2Z0ZW4gcGxhY2VkIGFkamFjZW50IHRvIHRoZSByZXN1bHQgdmFsdWUgaW4gcmVwb3J0cyBhbmQgZmxvdyBzaGVldHMgdG8gc2lnbmFsIHRoZSBtZWFuaW5nL25vcm1hbGN5IHN0YXR1cyBvZiB0aGUgcmVzdWx0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkludGVycHJldGF0aW9uIiBkZXNjcmlwdGlvbj0iQ29kZXMgaWRlbnRpZnlpbmcgaW50ZXJwcmV0YXRpb25zIG9mIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIG9yIHRoZSByZXN1bHRzLiIgY29tbWVudD0iTWF5IGluY2x1ZGUgZ2VuZXJhbCBzdGF0ZW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiwgb3Igc3RhdGVtZW50cyBhYm91dCBzaWduaWZpY2FudCwgdW5leHBlY3RlZCBvciB1bnJlbGlhYmxlIHJlc3VsdHMgdmFsdWVzLCBvciBpbmZvcm1hdGlvbiBhYm91dCBpdHMgc291cmNlIHdoZW4gcmVsZXZhbnQgdG8gaXRzIGludGVycHJldGF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPYnNlcnZlZCBib2R5IHBhcnQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc2l0ZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgd2hlcmUgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIChpLmUuIHRoZSB0YXJnZXQgc2l0ZSkuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gT2JzZXJ2YXRpb24uY29kZS4gIEluIG1hbnkgc3lzdGVtcywgdGhpcyBtYXkgYmUgcmVwcmVzZW50ZWQgYXMgYSByZWxhdGVkIG9ic2VydmF0aW9uIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvbXBvbmVudC4gICAmI3hhOyYjeGE7SWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvblsgYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibWV0aG9kIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIb3cgaXQgd2FzIGRvbmUiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgbWVjaGFuaXNtIHVzZWQgdG8gcGVyZm9ybSB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm9yIE9ic2VydmF0aW9uLmNvZGUuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25NZXRob2QiIGRlc2NyaXB0aW9uPSJNZXRob2RzIGZvciBzaW1wbGUgb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiB1c2VkIGZvciB0aGlzIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2ltZW4gdGhhdCB3YXMgdXNlZCB3aGVuIHRoaXMgb2JzZXJ2YXRpb24gd2FzIG1hZGUuIiBjb21tZW50PSJTaG91bGQgb25seSBiZSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIGBPYnNlcnZhdGlvbi5jb2RlYC4gIE9ic2VydmF0aW9ucyBhcmUgbm90IG1hZGUgb24gc3BlY2ltZW5zIHRoZW1zZWx2ZXM7IHRoZXkgYXJlIG1hZGUgb24gYSBzdWJqZWN0LCBidXQgaW4gbWFueSBjYXNlcyBieSB0aGUgbWVhbnMgb2YgYSBzcGVjaW1lbi4gTm90ZSB0aGF0IGFsdGhvdWdoIHNwZWNpbWVucyBhcmUgb2Z0ZW4gaW52b2x2ZWQsIHRoZXkgYXJlIG5vdCBhbHdheXMgdHJhY2tlZCBhbmQgcmVwb3J0ZWQgZXhwbGljaXRseS4gQWxzbyBub3RlIHRoYXQgb2JzZXJ2YXRpb24gcmVzb3VyY2VzIG1heSBiZSB1c2VkIGluIGNvbnRleHRzIHRoYXQgdHJhY2sgdGhlIHNwZWNpbWVuIGV4cGxpY2l0bHkgKGUuZy4gRGlhZ25vc3RpYyBSZXBvcnQpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXZpY2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKE1lYXN1cmVtZW50KSBEZXZpY2UiIGRlZmluaXRpb249IlRoZSBkZXZpY2UgdXNlZCB0byBnZW5lcmF0ZSB0aGUgb2JzZXJ2YXRpb24gZGF0YS4iIGNvbW1lbnQ9Ik5vdGUgdGhhdCB0aGlzIGlzIG5vdCBtZWFudCB0byByZXByZXNlbnQgYSBkZXZpY2UgaW52b2x2ZWQgaW4gdGhlIHRyYW5zbWlzc2lvbiBvZiB0aGUgcmVzdWx0LCBlLmcuLCBhIGdhdGV3YXkuICBTdWNoIGRldmljZXMgbWF5IGJlIGRvY3VtZW50ZWQgdXNpbmcgdGhlIFByb3ZlbmFuY2UgcmVzb3VyY2Ugd2hlcmUgcmVsZXZhbnQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIiBkZWZpbml0aW9uPSJHdWlkYW5jZSBvbiBob3cgdG8gaW50ZXJwcmV0IHRoZSB2YWx1ZSBieSBjb21wYXJpc29uIHRvIGEgbm9ybWFsIG9yIHJlY29tbWVuZGVkIHJhbmdlLiAgTXVsdGlwbGUgcmVmZXJlbmNlIHJhbmdlcyBhcmUgaW50ZXJwcmV0ZWQgYXMgYW4gJnF1b3Q7T1ImcXVvdDsuICAgSW4gb3RoZXIgd29yZHMsIHRvIHJlcHJlc2VudCB0d28gZGlzdGluY3QgdGFyZ2V0IHBvcHVsYXRpb25zLCB0d28gYHJlZmVyZW5jZVJhbmdlYCBlbGVtZW50cyB3b3VsZCBiZSB1c2VkLiIgY29tbWVudD0iTW9zdCBvYnNlcnZhdGlvbnMgb25seSBoYXZlIG9uZSBnZW5lcmljIHJlZmVyZW5jZSByYW5nZS4gU3lzdGVtcyBNQVkgY2hvb3NlIHRvIHJlc3RyaWN0IHRvIG9ubHkgc3VwcGx5aW5nIHRoZSByZWxldmFudCByZWZlcmVuY2UgcmFuZ2UgYmFzZWQgb24ga25vd2xlZGdlIGFib3V0IHRoZSBwYXRpZW50IChlLmcuLCBzcGVjaWZpYyB0byB0aGUgcGF0aWVudCdzIGFnZSwgZ2VuZGVyLCB3ZWlnaHQgYW5kIG90aGVyIGZhY3RvcnMpLCBidXQgdGhpcyBtaWdodCBub3QgYmUgcG9zc2libGUgb3IgYXBwcm9wcmlhdGUuIFdoZW5ldmVyIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIHJhbmdlIGlzIHN1cHBsaWVkLCB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGVtIFNIT1VMRCBiZSBwcm92aWRlZCBpbiB0aGUgcmVmZXJlbmNlIHJhbmdlIGFuZC9vciBhZ2UgcHJvcGVydGllcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5SZWZlcmVuY2VSYW5nZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Im9icy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik11c3QgaGF2ZSBhdCBsZWFzdCBhIGxvdyBvciBhIGhpZ2ggb3IgdGV4dCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJsb3cuZXhpc3RzKCkgb3IgaGlnaC5leGlzdHMoKSBvciB0ZXh0LmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJoYXNNZW1iZXIiIGRlc2NyaXB0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIHZpdGFsIHNpZ25zIHBhbmVsIGNvbXBvbmVudHMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cy4iIGNvbW1lbnQ9IldoZW4gdXNpbmcgdGhpcyBlbGVtZW50LCBhbiBvYnNlcnZhdGlvbiB3aWxsIHR5cGljYWxseSBoYXZlIGVpdGhlciBhIHZhbHVlIG9yIGEgc2V0IG9mIHJlbGF0ZWQgcmVzb3VyY2VzLCBhbHRob3VnaCBib3RoIG1heSBiZSBwcmVzZW50IGluIHNvbWUgY2FzZXMuICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4gIE5vdGUgdGhhdCBhIHN5c3RlbSBtYXkgY2FsY3VsYXRlIHJlc3VsdHMgZnJvbSBbUXVlc3Rpb25uYWlyZVJlc3BvbnNlXShodHRwOi8vaGw3Lm9yZy9maGlyL3F1ZXN0aW9ubmFpcmVyZXNwb25zZS5odG1sKSAgaW50byBhIGZpbmFsIHNjb3JlIGFuZCByZXByZXNlbnQgdGhlIHNjb3JlIGFzIGFuIE9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIG1lYXN1cmVtZW50cyB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIG1lYXN1cmVtZW50IGZyb20gd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiB2YWx1ZSBpcyBkZXJpdmVkLiBGb3IgZXhhbXBsZSwgYSBjYWxjdWxhdGVkIGFuaW9uIGdhcCBvciBhIGZldGFsIG1lYXN1cmVtZW50IGJhc2VkIG9uIGFuIHVsdHJhc291bmQgaW1hZ2UuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iQ29tcG9uZW50IG9ic2VydmF0aW9ucyIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyBjb21wb25lbnQgb2JzZXJ2YXRpb24gc3VjaCBhcyBzeXN0b2xpYyBhbmQgZGlhc3RvbGljIGJsb29kIHByZXNzdXJlLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSBpcyBubyBhIHZhbHVlIGEgZGF0YSBhYnNlbnQgcmVhc29uIG11c3QgYmUgcHJlc2VudCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ2YWx1ZS5leGlzdHMoKSBvciBkYXRhQWJzZW50UmVhc29uLmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJVbml0c09mVGltZSIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLkVsZW1lbnQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJVc2FnZUNvbnRleHQiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9Vc2FnZUNvbnRleHQiIGxhYmVsPSJVc2FnZUNvbnRleHQiIHJldHJpZXZhYmxlPSJmYWxzZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29kZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVHlwZSBvZiBjb250ZXh0IGJlaW5nIHNwZWNpZmllZCIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgaWRlbnRpZmllcyB0aGUgdHlwZSBvZiBjb250ZXh0IGJlaW5nIHNwZWNpZmllZCBieSB0aGlzIHVzYWdlIGNvbnRleHQuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iVXNhZ2VDb250ZXh0VHlwZSIgZGVzY3JpcHRpb249IkEgY29kZSB0aGF0IHNwZWNpZmllcyBhIHR5cGUgb2YgY29udGV4dCBiZWluZyBzcGVjaWZpZWQgYnkgYSB1c2FnZSBjb250ZXh0LiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJWYWx1ZSB0aGF0IGRlZmluZXMgdGhlIGNvbnRleHQiIGRlZmluaXRpb249IkEgdmFsdWUgdGhhdCBkZWZpbmVzIHRoZSBjb250ZXh0IHNwZWNpZmllZCBpbiB0aGlzIGNvbnRleHQgb2YgdXNlLiBUaGUgaW50ZXJwcmV0YXRpb24gb2YgdGhlIHZhbHVlIGlzIGRlZmluZWQgYnkgdGhlIGNvZGUuIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlVzYWdlQ29udGV4dFZhbHVlIiBkZXNjcmlwdGlvbj0iQSBjb2RlIHRoYXQgZGVmaW5lcyB0aGUgc3BlY2lmaWMgdmFsdWUgZm9yIHRoZSBjb250ZXh0IGJlaW5nIHNwZWNpZmllZC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgPC90eXBlSW5mbz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVXNlIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJhYmF0ZW1lbnQiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9mYW1pbHltZW1iZXJoaXN0b3J5LWFiYXRlbWVudCIgbGFiZWw9ImFiYXRlbWVudCIgcmV0cmlldmFibGU9ImZhbHNlIj4KICAgICAgPGJhc2VUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJCb29sZWFuIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvYmFzZVR5cGVTcGVjaWZpZXI+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9ImFwcHJvYWNoQm9keVN0cnVjdHVyZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL3Byb2NlZHVyZS1hcHByb2FjaEJvZHlTdHJ1Y3R1cmUiIGxhYmVsPSJhcHByb2FjaEJvZHlTdHJ1Y3R1cmUiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5EYXRlVGltZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9ImFzc2VydGVkRGF0ZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL2NvbmRpdGlvbi1hc3NlcnRlZERhdGUiIGxhYmVsPSJhc3NlcnRlZERhdGUiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5BZGRyZXNzIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iYmlydGhQbGFjZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL3BhdGllbnQtYmlydGhQbGFjZSIgbGFiZWw9IkJpcnRoIFBsYWNlIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJiaXJ0aFRpbWUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9wYXRpZW50LWJpcnRoVGltZSIgbGFiZWw9IkJpcnRoIFRpbWUiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5Db25jZXB0IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iYm9keVBvc2l0aW9uIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vb2JzZXJ2YXRpb24tYm9keVBvc2l0aW9uIiBsYWJlbD0iYm9keVBvc2l0aW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9ImNhZGF2ZXJpY0Rvbm9yIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vcGF0aWVudC1jYWRhdmVyaWNEb25vciIgbGFiZWw9ImNhZGF2ZXJpY0Rvbm9yIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9ImNvbXBsZXRpb25Nb2RlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vcXVlc3Rpb25uYWlyZXJlc3BvbnNlLWNvbXBsZXRpb25Nb2RlIiBsYWJlbD0iY29tcGxldGlvbk1vZGUiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9ImR1ZVRvIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vY29uZGl0aW9uLWR1ZVRvIiBsYWJlbD0iZHVlVG8iIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxiYXNlVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvYmFzZVR5cGVTcGVjaWZpZXI+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLlF1YW50aXR5IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iZHVyYXRpb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9hbGxlcmd5aW50b2xlcmFuY2UtZHVyYXRpb24iIGxhYmVsPSJkdXJhdGlvbiIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLkRhdGVUaW1lIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iaW5jaXNpb25EYXRlVGltZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL3Byb2NlZHVyZS1pbmNpc2lvbkRhdGVUaW1lIiBsYWJlbD0iaW5jaXNpb25EYXRlVGltZSIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9ImxvY2F0aW9uUGVyZm9ybWVkIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vZGlhZ25vc3RpY1JlcG9ydC1sb2NhdGlvblBlcmZvcm1lZCIgbGFiZWw9ImxvY2F0aW9uUGVyZm9ybWVkIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJRSUNvcmUuRXh0ZW5zaW9uIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0ibmF0aW9uYWxpdHkiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9wYXRpZW50LW5hdGlvbmFsaXR5IiBsYWJlbD0ibmF0aW9uYWxpdHkiIHJldHJpZXZhYmxlPSJmYWxzZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIj4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCglcGFyZW50LmV4dGVuc2lvblt1cmw9J2NvZGUnXS52YWx1ZSkiIGRlc2NyaXB0aW9uPSJOYXRpb25hbGl0eSBDb2RlIiBkZWZpbml0aW9uPSJDb2RlIHJlcHJlc2VudGluZyBuYXRpb25hbGl0eSBvZiBwYXRpZW50LiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwZXJpb2QiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCglcGFyZW50LmV4dGVuc2lvblt1cmw9J3BlcmlvZCddLnZhbHVlKSIgZGVzY3JpcHRpb249Ik5hdGlvbmFsaXR5IFBlcmlvZCIgZGVmaW5pdGlvbj0iUGVyaW9kIHdoZW4gbmF0aW9uYWxpdHkgd2FzIGVmZmVjdGl2ZS4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idXJsIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJpZGVudGlmaWVzIHRoZSBtZWFuaW5nIG9mIHRoZSBleHRlbnNpb24iIGRlZmluaXRpb249IlNvdXJjZSBvZiB0aGUgZGVmaW5pdGlvbiBmb3IgdGhlIGV4dGVuc2lvbiBjb2RlIC0gYSBsb2dpY2FsIG5hbWUgb3IgYSBVUkwuIiBjb21tZW50PSJUaGUgZGVmaW5pdGlvbiBtYXkgcG9pbnQgZGlyZWN0bHkgdG8gYSBjb21wdXRhYmxlIG9yIGh1bWFuLXJlYWRhYmxlIGRlZmluaXRpb24gb2YgdGhlIGV4dGVuc2liaWxpdHkgY29kZXMsIG9yIGl0IG1heSBiZSBhIGxvZ2ljYWwgVVJJIGFzIGRlY2xhcmVkIGluIHNvbWUgb3RoZXIgc3BlY2lmaWNhdGlvbi4gVGhlIGRlZmluaXRpb24gU0hBTEwgYmUgYSBVUkkgZm9yIHRoZSBTdHJ1Y3R1cmUgRGVmaW5pdGlvbiBkZWZpbmluZyB0aGUgZXh0ZW5zaW9uLiIvPgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Im9ic2VydmF0aW9uLW94eWdlbnNhdCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL294eWdlbnNhdCIgbGFiZWw9Ik9ic2VydmF0aW9uIE94eWdlbiBTYXR1cmF0aW9uIFByb2ZpbGUiIHRhcmdldD0iT2JzZXJ2YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiPgogICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IlBhcnQgb2YgcmVmZXJlbmNlZCBldmVudCIgZGVmaW5pdGlvbj0iQSBsYXJnZXIgZXZlbnQgb2Ygd2hpY2ggdGhpcyBwYXJ0aWN1bGFyIE9ic2VydmF0aW9uIGlzIGEgY29tcG9uZW50IG9yIHN0ZXAuICBGb3IgZXhhbXBsZSwgIGFuIG9ic2VydmF0aW9uIGFzIHBhcnQgb2YgYSBwcm9jZWR1cmUuIiBjb21tZW50PSJUbyBsaW5rIGFuIE9ic2VydmF0aW9uIHRvIGFuIEVuY291bnRlciB1c2UgYGVuY291bnRlcmAuICBTZWUgdGhlICBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cgZm9yIGd1aWRhbmNlIG9uIHJlZmVyZW5jaW5nIGFub3RoZXIgT2JzZXJ2YXRpb24uIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InJlZ2lzdGVyZWQgfCBwcmVsaW1pbmFyeSB8IGZpbmFsIHwgYW1lbmRlZCArIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSByZXN1bHQgdmFsdWUuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlN0YXR1cyIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iVlNDYXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXBhcmVudC5jYXRlZ29yeVtjb2Rpbmcuc3lzdGVtPSdodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL29ic2VydmF0aW9uLWNhdGVnb3J5Jyxjb2RpbmcuY29kZT0ndml0YWwtc2lnbnMnXSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPeHlnZW4gU2F0dXJhdGlvbiIgZGVmaW5pdGlvbj0iT3h5Z2VuIFNhdHVyYXRpb24uIiBjb21tZW50PSJhZGRpdGlvbmFsIGNvZGVzIHRoYXQgdHJhbnNsYXRlIG9yIG1hcCB0byB0aGlzIGNvZGUgYXJlIGFsbG93ZWQuICBGb3IgZXhhbXBsZSBhIG1vcmUgZ3JhbnVsYXIgTE9JTkMgY29kZSBvciBjb2RlIHRoYXQgaXMgdXNlZCBsb2NhbGx5IGluIGEgc3lzdGVtLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8YmluZGluZyBuYW1lPSJWaXRhbFNpZ25zIiBkZXNjcmlwdGlvbj0iVGhpcyBpZGVudGlmaWVzIHRoZSB2aXRhbCBzaWduIHJlc3VsdCB0eXBlLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJPeHlnZW5TYXRDb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCVwYXJlbnQuY29kZS5jb2Rpbmdbc3lzdGVtPSdodHRwOi8vbG9pbmMub3JnJyxjb2RlPScyNzA4LTYnXSkiIGRlc2NyaXB0aW9uPSJDb2RlIGRlZmluZWQgYnkgYSB0ZXJtaW5vbG9neSBzeXN0ZW0iIGRlZmluaXRpb249IkEgcmVmZXJlbmNlIHRvIGEgY29kZSBkZWZpbmVkIGJ5IGEgdGVybWlub2xvZ3kgc3lzdGVtLiIgY29tbWVudD0iQ29kZXMgbWF5IGJlIGRlZmluZWQgdmVyeSBjYXN1YWxseSBpbiBlbnVtZXJhdGlvbnMsIG9yIGNvZGUgbGlzdHMsIHVwIHRvIHZlcnkgZm9ybWFsIGRlZmluaXRpb25zIHN1Y2ggYXMgU05PTUVEIENUIC0gc2VlIHRoZSBITDcgdjMgQ29yZSBQcmluY2lwbGVzIGZvciBtb3JlIGluZm9ybWF0aW9uLiAgT3JkZXJpbmcgb2YgY29kaW5ncyBpcyB1bmRlZmluZWQgYW5kIFNIQUxMIE5PVCBiZSB1c2VkIHRvIGluZmVyIG1lYW5pbmcuIEdlbmVyYWxseSwgYXQgbW9zdCBvbmx5IG9uZSBvZiB0aGUgY29kaW5nIHZhbHVlcyB3aWxsIGJlIGxhYmVsZWQgYXMgVXNlclNlbGVjdGVkID0gdHJ1ZS4iLz4KICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaG8gYW5kL29yIHdoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0IiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgdGhpcyBvYnNlcnZhdGlvbiBpcyBhYm91dCBhbmQgaW50byB3aG9zZSByZWNvcmQgdGhlIG9ic2VydmF0aW9uIGlzIHBsYWNlZC4gSWYgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24gaXMgZGlmZmVyZW50IGZyb20gdGhlIHN1YmplY3QgKG9yIGEgc2FtcGxlIG9mLCBwYXJ0LCBvciByZWdpb24gb2YgdGhlIHN1YmplY3QpLCB0aGUgYGZvY3VzYCBlbGVtZW50IG9yIHRoZSBgY29kZWAgaXRzZWxmIHNwZWNpZmllcyB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9uZSB3b3VsZCBleHBlY3QgdGhpcyBlbGVtZW50IHRvIGJlIGEgY2FyZGluYWxpdHkgb2YgMS4uMS4gVGhlIG9ubHkgY2lyY3Vtc3RhbmNlIGluIHdoaWNoIHRoZSBzdWJqZWN0IGNhbiBiZSBtaXNzaW5nIGlzIHdoZW4gdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgYnkgYSBkZXZpY2UgdGhhdCBkb2VzIG5vdCBrbm93IHRoZSBwYXRpZW50LiBJbiB0aGlzIGNhc2UsIHRoZSBvYnNlcnZhdGlvbiBTSEFMTCBiZSBtYXRjaGVkIHRvIGEgcGF0aWVudCB0aHJvdWdoIHNvbWUgY29udGV4dC9jaGFubmVsIG1hdGNoaW5nIHRlY2huaXF1ZSwgYW5kIGF0IHRoaXMgcG9pbnQsIHRoZSBvYnNlcnZhdGlvbiBzaG91bGQgYmUgdXBkYXRlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9ImZvY3VzIiBkZXNjcmlwdGlvbj0iV2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQsIHdoZW4gaXQgaXMgbm90IGFib3V0IHRoZSBzdWJqZWN0IG9mIHJlY29yZCIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiB3aGVuIGl0IGlzIG5vdCB0aGUgcGF0aWVudCBvZiByZWNvcmQgcmVwcmVzZW50aW5nIHNvbWV0aGluZyBvciBzb21lb25lIGFzc29jaWF0ZWQgd2l0aCB0aGUgcGF0aWVudCBzdWNoIGFzIGEgc3BvdXNlLCBwYXJlbnQsIGZldHVzLCBvciBkb25vci4gRm9yIGV4YW1wbGUsIGZldHVzIG9ic2VydmF0aW9ucyBpbiBhIG1vdGhlcidzIHJlY29yZC4gIFRoZSBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiBjb3VsZCBhbHNvIGJlIGFuIGV4aXN0aW5nIGNvbmRpdGlvbiwgIGFuIGludGVydmVudGlvbiwgdGhlIHN1YmplY3QncyBkaWV0LCAgYW5vdGhlciBvYnNlcnZhdGlvbiBvZiB0aGUgc3ViamVjdCwgIG9yIGEgYm9keSBzdHJ1Y3R1cmUgc3VjaCBhcyB0dW1vciBvciBpbXBsYW50ZWQgZGV2aWNlLiAgIEFuIGV4YW1wbGUgdXNlIGNhc2Ugd291bGQgYmUgdXNpbmcgdGhlIE9ic2VydmF0aW9uIHJlc291cmNlIHRvIGNhcHR1cmUgd2hldGhlciB0aGUgbW90aGVyIGlzIHRyYWluZWQgdG8gY2hhbmdlIGhlciBjaGlsZCdzIHRyYWNoZW9zdG9teSB0dWJlLiBJbiB0aGlzIGV4YW1wbGUsIHRoZSBjaGlsZCBpcyB0aGUgcGF0aWVudCBvZiByZWNvcmQgYW5kIHRoZSBtb3RoZXIgaXMgdGhlIGZvY3VzLiIgY29tbWVudD0iVHlwaWNhbGx5LCBhbiBvYnNlcnZhdGlvbiBpcyBtYWRlIGFib3V0IHRoZSBzdWJqZWN0IC0gYSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSAtIGFuZCB0aGUgZGlzdGluY3Rpb24gYmV0d2VlbiB0aGUgc3ViamVjdCBhbmQgd2hhdCBpcyBkaXJlY3RseSBtZWFzdXJlZCBmb3IgYW4gb2JzZXJ2YXRpb24gaXMgc3BlY2lmaWVkIGluIHRoZSBvYnNlcnZhdGlvbiBjb2RlIGl0c2VsZiAoIGUuZy4sICZxdW90O0Jsb29kIEdsdWNvc2UmcXVvdDspIGFuZCBkb2VzIG5vdCBuZWVkIHRvIGJlIHJlcHJlc2VudGVkIHNlcGFyYXRlbHkgdXNpbmcgdGhpcyBlbGVtZW50LiAgVXNlIGBzcGVjaW1lbmAgaWYgYSByZWZlcmVuY2UgdG8gYSBzcGVjaW1lbiBpcyByZXF1aXJlZC4gIElmIGEgY29kZSBpcyByZXF1aXJlZCBpbnN0ZWFkIG9mIGEgcmVzb3VyY2UgdXNlIGVpdGhlciAgYGJvZHlzaXRlYCBmb3IgYm9keXNpdGVzIG9yIHRoZSBzdGFuZGFyZCBleHRlbnNpb24gW2ZvY3VzQ29kZV0oaHR0cDovL2hsNy5vcmcvZmhpci9leHRlbnNpb24tb2JzZXJ2YXRpb24tZm9jdXNjb2RlLmh0bWwpLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkhlYWx0aGNhcmUgZXZlbnQgZHVyaW5nIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gaXMgbWFkZSIgZGVmaW5pdGlvbj0iVGhlIGhlYWx0aGNhcmUgZXZlbnQgIChlLmcuIGEgcGF0aWVudCBhbmQgaGVhbHRoY2FyZSBwcm92aWRlciBpbnRlcmFjdGlvbikgZHVyaW5nIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gaXMgbWFkZS4iIGNvbW1lbnQ9IlRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgdGhlIGVuY291bnRlciB0aGUgZXZlbnQgb2NjdXJyZWQgd2l0aGluLCBidXQgc29tZSBldmVudHMgbWF5IGJlIGluaXRpYXRlZCBwcmlvciB0byBvciBhZnRlciB0aGUgb2ZmaWNpYWwgY29tcGxldGlvbiBvZiBhbiBlbmNvdW50ZXIgYnV0IHN0aWxsIGJlIHRpZWQgdG8gdGhlIGNvbnRleHQgb2YgdGhlIGVuY291bnRlciAoZS5nLiBwcmUtYWRtaXNzaW9uIGxhYm9yYXRvcnkgdGVzdHMpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2Z0ZW4ganVzdCBhIGRhdGVUaW1lIGZvciBWaXRhbCBTaWducyIgZGVmaW5pdGlvbj0iT2Z0ZW4ganVzdCBhIGRhdGVUaW1lIGZvciBWaXRhbCBTaWducy4iIGNvbW1lbnQ9IkF0IGxlYXN0IGEgZGF0ZSBzaG91bGQgYmUgcHJlc2VudCB1bmxlc3MgdGhpcyBvYnNlcnZhdGlvbiBpcyBhIGhpc3RvcmljYWwgcmVwb3J0LiAgRm9yIHJlY29yZGluZyBpbXByZWNpc2Ugb3IgJnF1b3Q7ZnV6enkmcXVvdDsgdGltZXMgKEZvciBleGFtcGxlLCBhIGJsb29kIGdsdWNvc2UgbWVhc3VyZW1lbnQgdGFrZW4gJnF1b3Q7YWZ0ZXIgYnJlYWtmYXN0JnF1b3Q7KSB1c2UgdGhlIFtUaW1pbmddKGh0dHA6Ly9obDcub3JnL2ZoaXIvZGF0YXR5cGVzLmh0bWwjdGltaW5nKSBkYXRhdHlwZSB3aGljaCBhbGxvdyB0aGUgbWVhc3VyZW1lbnQgdG8gYmUgdGllZCB0byByZWd1bGFyIGxpZmUgZXZlbnRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8Y2hvaWNlIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJpZiBPYnNlcnZhdGlvbi5lZmZlY3RpdmVbeF0gaXMgZGF0ZVRpbWUgYW5kIGhhcyBhIHZhbHVlIHRoZW4gdGhhdCB2YWx1ZSBzaGFsbCBiZSBwcmVjaXNlIHRvIHRoZSBkYXkiPgogICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iKCR0aGlzIGFzIGRhdGVUaW1lKS50b1N0cmluZygpLmxlbmd0aCgpID49IDgiLz4KICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9Imlzc3VlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEYXRlL1RpbWUgdGhpcyB2ZXJzaW9uIHdhcyBtYWRlIGF2YWlsYWJsZSIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgYW5kIHRpbWUgdGhpcyB2ZXJzaW9uIG9mIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSBhdmFpbGFibGUgdG8gcHJvdmlkZXJzLCB0eXBpY2FsbHkgYWZ0ZXIgdGhlIHJlc3VsdHMgaGF2ZSBiZWVuIHJldmlld2VkIGFuZCB2ZXJpZmllZC4iIGNvbW1lbnQ9IkZvciBPYnNlcnZhdGlvbnMgdGhhdCBkb27igJl0IHJlcXVpcmUgcmV2aWV3IGFuZCB2ZXJpZmljYXRpb24sIGl0IG1heSBiZSB0aGUgc2FtZSBhcyB0aGUgW2BsYXN0VXBkYXRlZGAgXShodHRwOi8vaGw3Lm9yZy9maGlyL3Jlc291cmNlLWRlZmluaXRpb25zLmh0bWwjTWV0YS5sYXN0VXBkYXRlZCkgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmLiAgRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvIHJlcXVpcmUgcmV2aWV3IGFuZCB2ZXJpZmljYXRpb24gZm9yIGNlcnRhaW4gdXBkYXRlcywgaXQgbWlnaHQgbm90IGJlIHRoZSBzYW1lIGFzIHRoZSBgbGFzdFVwZGF0ZWRgIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZiBkdWUgdG8gYSBub24tY2xpbmljYWxseSBzaWduaWZpY2FudCB1cGRhdGUgdGhhdCBkb2VzbuKAmXQgcmVxdWlyZSB0aGUgbmV3IHZlcnNpb24gdG8gYmUgcmV2aWV3ZWQgYW5kIHZlcmlmaWVkIGFnYWluLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJXaG8gaXMgcmVzcG9uc2libGUgZm9yIHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iV2hvIHdhcyByZXNwb25zaWJsZSBmb3IgYXNzZXJ0aW5nIHRoZSBvYnNlcnZlZCB2YWx1ZSBhcyAmcXVvdDt0cnVlJnF1b3Q7LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVml0YWwgU2lnbnMgdmFsdWUgYXJlIHJlY29yZGVkIHVzaW5nIHRoZSBRdWFudGl0eSBkYXRhIHR5cGUuIEZvciBzdXBwb3J0aW5nIG9ic2VydmF0aW9ucyBzdWNoIGFzIEN1ZmYgc2l6ZSBjb3VsZCB1c2Ugb3RoZXIgZGF0YXR5cGVzIHN1Y2ggYXMgQ29kZWFibGVDb25jZXB0LiIgZGVmaW5pdGlvbj0iVml0YWwgU2lnbnMgdmFsdWUgYXJlIHJlY29yZGVkIHVzaW5nIHRoZSBRdWFudGl0eSBkYXRhIHR5cGUuIEZvciBzdXBwb3J0aW5nIG9ic2VydmF0aW9ucyBzdWNoIGFzIEN1ZmYgc2l6ZSBjb3VsZCB1c2Ugb3RoZXIgZGF0YXR5cGVzIHN1Y2ggYXMgQ29kZWFibGVDb25jZXB0LiIgY29tbWVudD0iQW4gb2JzZXJ2YXRpb24gbWF5IGhhdmU7IDEpICBhIHNpbmdsZSB2YWx1ZSBoZXJlLCAyKSAgYm90aCBhIHZhbHVlIGFuZCBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMsICBvciAzKSAgb25seSBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMuIElmIGEgdmFsdWUgaXMgcHJlc2VudCwgdGhlIGRhdGF0eXBlIGZvciB0aGlzIGVsZW1lbnQgc2hvdWxkIGJlIGRldGVybWluZWQgYnkgT2JzZXJ2YXRpb24uY29kZS4gIEEgQ29kZWFibGVDb25jZXB0IHdpdGgganVzdCBhIHRleHQgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGlmIHRoZSBmaWVsZCB3YXMgdXN1YWxseSBjb2RlZCwgb3IgaWYgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBPYnNlcnZhdGlvbi5jb2RlIGRlZmluZXMgYSBjb2RlZCB2YWx1ZS4gIEZvciBhZGRpdGlvbmFsIGd1aWRhbmNlLCBzZWUgdGhlIFtOb3RlcyBzZWN0aW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YUFic2VudFJlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2h5IHRoZSByZXN1bHQgaXMgbWlzc2luZyIgZGVmaW5pdGlvbj0iUHJvdmlkZXMgYSByZWFzb24gd2h5IHRoZSBleHBlY3RlZCB2YWx1ZSBpbiB0aGUgZWxlbWVudCBPYnNlcnZhdGlvbi52YWx1ZVt4XSBpcyBtaXNzaW5nLiIgY29tbWVudD0iTnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMgY2FuIGJlIHJlcHJlc2VudGVkIHR3byB3YXlzIGluIEZISVIgT2JzZXJ2YXRpb25zLiAgT25lIHdheSBpcyB0byBzaW1wbHkgaW5jbHVkZSB0aGVtIGluIHRoZSB2YWx1ZSBzZXQgYW5kIHJlcHJlc2VudCB0aGUgZXhjZXB0aW9ucyBpbiB0aGUgdmFsdWUuICBGb3IgZXhhbXBsZSwgbWVhc3VyZW1lbnQgdmFsdWVzIGZvciBhIHNlcm9sb2d5IHRlc3QgY291bGQgYmUgICZxdW90O2RldGVjdGVkJnF1b3Q7LCAmcXVvdDtub3QgZGV0ZWN0ZWQmcXVvdDssICZxdW90O2luY29uY2x1c2l2ZSZxdW90Oywgb3IgICZxdW90O3NwZWNpbWVuIHVuc2F0aXNmYWN0b3J5JnF1b3Q7LiAgICYjeGE7JiN4YTtUaGUgYWx0ZXJuYXRlIHdheSBpcyB0byB1c2UgdGhlIHZhbHVlIGVsZW1lbnQgZm9yIGFjdHVhbCBvYnNlcnZhdGlvbnMgYW5kIHVzZSB0aGUgZXhwbGljaXQgZGF0YUFic2VudFJlYXNvbiBlbGVtZW50IHRvIHJlY29yZCBleGNlcHRpb25hbCB2YWx1ZXMuICBGb3IgZXhhbXBsZSwgdGhlIGRhdGFBYnNlbnRSZWFzb24gY29kZSAmcXVvdDtlcnJvciZxdW90OyBjb3VsZCBiZSB1c2VkIHdoZW4gdGhlIG1lYXN1cmVtZW50IHdhcyBub3QgY29tcGxldGVkLiBOb3RlIHRoYXQgYW4gb2JzZXJ2YXRpb24gbWF5IG9ubHkgYmUgcmVwb3J0ZWQgaWYgdGhlcmUgYXJlIHZhbHVlcyB0byByZXBvcnQuIEZvciBleGFtcGxlIGRpZmZlcmVudGlhbCBjZWxsIGNvdW50cyB2YWx1ZXMgbWF5IGJlIHJlcG9ydGVkIG9ubHkgd2hlbiA+IDAuICBCZWNhdXNlIG9mIHRoZXNlIG9wdGlvbnMsIHVzZS1jYXNlIGFncmVlbWVudHMgYXJlIHJlcXVpcmVkIHRvIGludGVycHJldCBnZW5lcmFsIG9ic2VydmF0aW9ucyBmb3IgbnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uVmFsdWVBYnNlbnRSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBzcGVjaWZ5aW5nIHdoeSB0aGUgcmVzdWx0IChgT2JzZXJ2YXRpb24udmFsdWVbeF1gKSBpcyBtaXNzaW5nLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlcnByZXRhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhpZ2gsIGxvdywgbm9ybWFsLCBldGMuIiBkZWZpbml0aW9uPSJBIGNhdGVnb3JpY2FsIGFzc2Vzc21lbnQgb2YgYW4gb2JzZXJ2YXRpb24gdmFsdWUuICBGb3IgZXhhbXBsZSwgaGlnaCwgbG93LCBub3JtYWwuIiBjb21tZW50PSJIaXN0b3JpY2FsbHkgdXNlZCBmb3IgbGFib3JhdG9yeSByZXN1bHRzIChrbm93biBhcyAnYWJub3JtYWwgZmxhZycgKSwgIGl0cyB1c2UgZXh0ZW5kcyB0byBvdGhlciB1c2UgY2FzZXMgd2hlcmUgY29kZWQgaW50ZXJwcmV0YXRpb25zICBhcmUgcmVsZXZhbnQuICBPZnRlbiByZXBvcnRlZCBhcyBvbmUgb3IgbW9yZSBzaW1wbGUgY29tcGFjdCBjb2RlcyB0aGlzIGVsZW1lbnQgaXMgb2Z0ZW4gcGxhY2VkIGFkamFjZW50IHRvIHRoZSByZXN1bHQgdmFsdWUgaW4gcmVwb3J0cyBhbmQgZmxvdyBzaGVldHMgdG8gc2lnbmFsIHRoZSBtZWFuaW5nL25vcm1hbGN5IHN0YXR1cyBvZiB0aGUgcmVzdWx0LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkludGVycHJldGF0aW9uIiBkZXNjcmlwdGlvbj0iQ29kZXMgaWRlbnRpZnlpbmcgaW50ZXJwcmV0YXRpb25zIG9mIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIG9yIHRoZSByZXN1bHRzLiIgY29tbWVudD0iTWF5IGluY2x1ZGUgZ2VuZXJhbCBzdGF0ZW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiwgb3Igc3RhdGVtZW50cyBhYm91dCBzaWduaWZpY2FudCwgdW5leHBlY3RlZCBvciB1bnJlbGlhYmxlIHJlc3VsdHMgdmFsdWVzLCBvciBpbmZvcm1hdGlvbiBhYm91dCBpdHMgc291cmNlIHdoZW4gcmVsZXZhbnQgdG8gaXRzIGludGVycHJldGF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIvPgogICAgICA8L2VsZW1lbnQ+CiAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPYnNlcnZlZCBib2R5IHBhcnQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc2l0ZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgd2hlcmUgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIChpLmUuIHRoZSB0YXJnZXQgc2l0ZSkuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gT2JzZXJ2YXRpb24uY29kZS4gIEluIG1hbnkgc3lzdGVtcywgdGhpcyBtYXkgYmUgcmVwcmVzZW50ZWQgYXMgYSByZWxhdGVkIG9ic2VydmF0aW9uIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvbXBvbmVudC4gICAmI3hhOyYjeGE7SWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvblsgYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiI+CiAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0ibWV0aG9kIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIb3cgaXQgd2FzIGRvbmUiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgbWVjaGFuaXNtIHVzZWQgdG8gcGVyZm9ybSB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm9yIE9ic2VydmF0aW9uLmNvZGUuIj4KICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25NZXRob2QiIGRlc2NyaXB0aW9uPSJNZXRob2RzIGZvciBzaW1wbGUgb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiB1c2VkIGZvciB0aGlzIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2ltZW4gdGhhdCB3YXMgdXNlZCB3aGVuIHRoaXMgb2JzZXJ2YXRpb24gd2FzIG1hZGUuIiBjb21tZW50PSJTaG91bGQgb25seSBiZSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIGBPYnNlcnZhdGlvbi5jb2RlYC4gIE9ic2VydmF0aW9ucyBhcmUgbm90IG1hZGUgb24gc3BlY2ltZW5zIHRoZW1zZWx2ZXM7IHRoZXkgYXJlIG1hZGUgb24gYSBzdWJqZWN0LCBidXQgaW4gbWFueSBjYXNlcyBieSB0aGUgbWVhbnMgb2YgYSBzcGVjaW1lbi4gTm90ZSB0aGF0IGFsdGhvdWdoIHNwZWNpbWVucyBhcmUgb2Z0ZW4gaW52b2x2ZWQsIHRoZXkgYXJlIG5vdCBhbHdheXMgdHJhY2tlZCBhbmQgcmVwb3J0ZWQgZXhwbGljaXRseS4gQWxzbyBub3RlIHRoYXQgb2JzZXJ2YXRpb24gcmVzb3VyY2VzIG1heSBiZSB1c2VkIGluIGNvbnRleHRzIHRoYXQgdHJhY2sgdGhlIHNwZWNpbWVuIGV4cGxpY2l0bHkgKGUuZy4gRGlhZ25vc3RpYyBSZXBvcnQpLiIvPgogICAgICA8ZWxlbWVudCBuYW1lPSJkZXZpY2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKE1lYXN1cmVtZW50KSBEZXZpY2UiIGRlZmluaXRpb249IlRoZSBkZXZpY2UgdXNlZCB0byBnZW5lcmF0ZSB0aGUgb2JzZXJ2YXRpb24gZGF0YS4iIGNvbW1lbnQ9Ik5vdGUgdGhhdCB0aGlzIGlzIG5vdCBtZWFudCB0byByZXByZXNlbnQgYSBkZXZpY2UgaW52b2x2ZWQgaW4gdGhlIHRyYW5zbWlzc2lvbiBvZiB0aGUgcmVzdWx0LCBlLmcuLCBhIGdhdGV3YXkuICBTdWNoIGRldmljZXMgbWF5IGJlIGRvY3VtZW50ZWQgdXNpbmcgdGhlIFByb3ZlbmFuY2UgcmVzb3VyY2Ugd2hlcmUgcmVsZXZhbnQuIi8+CiAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIiBkZWZpbml0aW9uPSJHdWlkYW5jZSBvbiBob3cgdG8gaW50ZXJwcmV0IHRoZSB2YWx1ZSBieSBjb21wYXJpc29uIHRvIGEgbm9ybWFsIG9yIHJlY29tbWVuZGVkIHJhbmdlLiAgTXVsdGlwbGUgcmVmZXJlbmNlIHJhbmdlcyBhcmUgaW50ZXJwcmV0ZWQgYXMgYW4gJnF1b3Q7T1ImcXVvdDsuICAgSW4gb3RoZXIgd29yZHMsIHRvIHJlcHJlc2VudCB0d28gZGlzdGluY3QgdGFyZ2V0IHBvcHVsYXRpb25zLCB0d28gYHJlZmVyZW5jZVJhbmdlYCBlbGVtZW50cyB3b3VsZCBiZSB1c2VkLiIgY29tbWVudD0iTW9zdCBvYnNlcnZhdGlvbnMgb25seSBoYXZlIG9uZSBnZW5lcmljIHJlZmVyZW5jZSByYW5nZS4gU3lzdGVtcyBNQVkgY2hvb3NlIHRvIHJlc3RyaWN0IHRvIG9ubHkgc3VwcGx5aW5nIHRoZSByZWxldmFudCByZWZlcmVuY2UgcmFuZ2UgYmFzZWQgb24ga25vd2xlZGdlIGFib3V0IHRoZSBwYXRpZW50IChlLmcuLCBzcGVjaWZpYyB0byB0aGUgcGF0aWVudCdzIGFnZSwgZ2VuZGVyLCB3ZWlnaHQgYW5kIG90aGVyIGZhY3RvcnMpLCBidXQgdGhpcyBtaWdodCBub3QgYmUgcG9zc2libGUgb3IgYXBwcm9wcmlhdGUuIFdoZW5ldmVyIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIHJhbmdlIGlzIHN1cHBsaWVkLCB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGVtIFNIT1VMRCBiZSBwcm92aWRlZCBpbiB0aGUgcmVmZXJlbmNlIHJhbmdlIGFuZC9vciBhZ2UgcHJvcGVydGllcy4iPgogICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5SZWZlcmVuY2VSYW5nZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Im9icy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik11c3QgaGF2ZSBhdCBsZWFzdCBhIGxvdyBvciBhIGhpZ2ggb3IgdGV4dCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJsb3cuZXhpc3RzKCkgb3IgaGlnaC5leGlzdHMoKSBvciB0ZXh0LmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICAgICA8ZWxlbWVudCBuYW1lPSJoYXNNZW1iZXIiIGRlc2NyaXB0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIHZpdGFsIHNpZ25zIHBhbmVsIGNvbXBvbmVudHMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cy4iIGNvbW1lbnQ9IldoZW4gdXNpbmcgdGhpcyBlbGVtZW50LCBhbiBvYnNlcnZhdGlvbiB3aWxsIHR5cGljYWxseSBoYXZlIGVpdGhlciBhIHZhbHVlIG9yIGEgc2V0IG9mIHJlbGF0ZWQgcmVzb3VyY2VzLCBhbHRob3VnaCBib3RoIG1heSBiZSBwcmVzZW50IGluIHNvbWUgY2FzZXMuICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4gIE5vdGUgdGhhdCBhIHN5c3RlbSBtYXkgY2FsY3VsYXRlIHJlc3VsdHMgZnJvbSBbUXVlc3Rpb25uYWlyZVJlc3BvbnNlXShodHRwOi8vaGw3Lm9yZy9maGlyL3F1ZXN0aW9ubmFpcmVyZXNwb25zZS5odG1sKSAgaW50byBhIGZpbmFsIHNjb3JlIGFuZCByZXByZXNlbnQgdGhlIHNjb3JlIGFzIGFuIE9ic2VydmF0aW9uLiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIG1lYXN1cmVtZW50cyB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIG1lYXN1cmVtZW50IGZyb20gd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiB2YWx1ZSBpcyBkZXJpdmVkLiBGb3IgZXhhbXBsZSwgYSBjYWxjdWxhdGVkIGFuaW9uIGdhcCBvciBhIGZldGFsIG1lYXN1cmVtZW50IGJhc2VkIG9uIGFuIHVsdHJhc291bmQgaW1hZ2UuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiI+CiAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZWxlbWVudD4KICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyBzeXN0b2xpYyBhbmQgZGlhc3RvbGljIGJsb29kIHByZXNzdXJlLiIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyBzeXN0b2xpYyBhbmQgZGlhc3RvbGljIGJsb29kIHByZXNzdXJlLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSBpcyBubyBhIHZhbHVlIGEgZGF0YSBhYnNlbnQgcmVhc29uIG11c3QgYmUgcHJlc2VudCI+CiAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ2YWx1ZS5leGlzdHMoKSBvciBkYXRhQWJzZW50UmVhc29uLmV4aXN0cygpIi8+CiAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgPC9lbGVtZW50PgogICA8L3R5cGVJbmZvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Im9jY3VycmVkRm9sbG93aW5nIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vY29uZGl0aW9uLW9jY3VycmVkRm9sbG93aW5nIiBsYWJlbD0ib2NjdXJyZWRGb2xsb3dpbmciIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgIDxiYXNlVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgIDxjaG9pY2UgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPGNob2ljZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvYmFzZVR5cGVTcGVjaWZpZXI+CiAgIDwvdHlwZUluZm8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLkJvb2xlYW4iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJwcmVmZXJyZWQiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9pc28yMTA5MC1wcmVmZXJyZWQiIGxhYmVsPSJwcmVmZXJyZWQiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgYmFzZVR5cGU9IlN5c3RlbS5Db25jZXB0IiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0icmVhc29uUmVqZWN0ZWQiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9nb2FsLXJlYXNvblJlamVjdGVkIiBsYWJlbD0icmVhc29uIHJlamVjdGVkIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9InJlbGlnaW9uIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vcGF0aWVudC1yZWxpZ2lvbiIgbGFiZWw9InJlbGlnaW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJyZXNvbHV0aW9uQWdlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vYWxsZXJneWludG9sZXJhbmNlLXJlc29sdXRpb25BZ2UiIGxhYmVsPSJyZXNvbHV0aW9uQWdlIiByZXRyaWV2YWJsZT0iZmFsc2UiLz4KICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIGJhc2VUeXBlPSJTeXN0ZW0uSW50ZWdlciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9InNlcXVlbmNlTnVtYmVyIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vc3BlY2ltZW4tc2VxdWVuY2VOdW1iZXIiIGxhYmVsPSJzZXF1ZW5jZU51bWJlciIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iU3lzdGVtLkNvbmNlcHQiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJzZXZlcml0eSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL2ZhbWlseW1lbWJlcmhpc3Rvcnktc2V2ZXJpdHkiIGxhYmVsPSJzZXZlcml0eSIgcmV0cmlldmFibGU9ImZhbHNlIi8+CiAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBiYXNlVHlwZT0iUUlDb3JlLlNpZ25hdHVyZSIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9InNpZ25hdHVyZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL3F1ZXN0aW9ubmFpcmVyZXNwb25zZS1zaWduYXR1cmUiIGxhYmVsPSJzaWduYXR1cmUiIHJldHJpZXZhYmxlPSJmYWxzZSIvPgogICA8Y29udGV4dEluZm8gbmFtZT0iUHJhY3RpdGlvbmVyIiBrZXlFbGVtZW50PSJpZCI+CiAgICAgIDxjb250ZXh0VHlwZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUHJhY3RpdGlvbmVyIi8+CiAgIDwvY29udGV4dEluZm8+CiAgIDxjb250ZXh0SW5mbyBuYW1lPSJEZXZpY2UiIGtleUVsZW1lbnQ9ImlkIj4KICAgICAgPGNvbnRleHRUeXBlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEZXZpY2UiLz4KICAgPC9jb250ZXh0SW5mbz4KICAgPGNvbnRleHRJbmZvIG5hbWU9IlBhdGllbnQiIGtleUVsZW1lbnQ9ImlkIiBiaXJ0aERhdGVFbGVtZW50PSJiaXJ0aERhdGUiPgogICAgICA8Y29udGV4dFR5cGUgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlBhdGllbnQiLz4KICAgPC9jb250ZXh0SW5mbz4KICAgPGNvbnRleHRJbmZvIG5hbWU9IkVuY291bnRlciIga2V5RWxlbWVudD0iaWQiPgogICAgICA8Y29udGV4dFR5cGUgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkVuY291bnRlciIvPgogICA8L2NvbnRleHRJbmZvPgogICA8Y29udGV4dEluZm8gbmFtZT0iUmVsYXRlZFBlcnNvbiIga2V5RWxlbWVudD0iaWQiPgogICAgICA8Y29udGV4dFR5cGUgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlbGF0ZWRQZXJzb24iLz4KICAgPC9jb250ZXh0SW5mbz4KPC9tb2RlbEluZm8+", - "url": "https://github.com/cqframework/clinical_quality_language/blob/master/Src/java/quick/src/main/resources/org/hl7/fhir/qicore-modelinfo-5.0.0.xml" + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/Pgo8bW9kZWxJbmZvIG5hbWU9IlFJQ29yZSIgdmVyc2lvbj0iNi4wLjAiIHVybD0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUiIHRhcmdldFVybD0iaHR0cDovL2hsNy5vcmcvZmhpciIgdGFyZ2V0UXVhbGlmaWVyPSJxaWNvcmUiIHBhdGllbnRDbGFzc05hbWU9IlBhdGllbnQiIHBhdGllbnRCaXJ0aERhdGVQcm9wZXJ0eU5hbWU9ImJpcnRoRGF0ZSIgeG1sbnM9InVybjpobDctb3JnOmVsbS1tb2RlbGluZm86cjEiIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSI+CiAgICA8cmVxdWlyZWRNb2RlbEluZm8gbmFtZT0iU3lzdGVtIiB2ZXJzaW9uPSIxLjAuMCIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBZGRyZXNzIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vQWRkcmVzcyIgbGFiZWw9IkFkZHJlc3MiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5FbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1c2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQWRkcmVzc1VzZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJob21lIHwgd29yayB8IHRlbXAgfCBvbGQgfCBiaWxsaW5nIC0gcHVycG9zZSBvZiB0aGlzIGFkZHJlc3MiIGRlZmluaXRpb249IlRoZSBwdXJwb3NlIG9mIHRoaXMgYWRkcmVzcy4iIGNvbW1lbnQ9IkFwcGxpY2F0aW9ucyBjYW4gYXNzdW1lIHRoYXQgYW4gYWRkcmVzcyBpcyBjdXJyZW50IHVubGVzcyBpdCBleHBsaWNpdGx5IHNheXMgdGhhdCBpdCBpcyB0ZW1wb3Jhcnkgb3Igb2xkLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkFkZHJlc3NVc2UiIGRlc2NyaXB0aW9uPSJUaGUgdXNlIG9mIGFuIGFkZHJlc3MuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5BZGRyZXNzVHlwZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJwb3N0YWwgfCBwaHlzaWNhbCB8IGJvdGgiIGRlZmluaXRpb249IkRpc3Rpbmd1aXNoZXMgYmV0d2VlbiBwaHlzaWNhbCBhZGRyZXNzZXMgKHRob3NlIHlvdSBjYW4gdmlzaXQpIGFuZCBtYWlsaW5nIGFkZHJlc3NlcyAoZS5nLiBQTyBCb3hlcyBhbmQgY2FyZS1vZiBhZGRyZXNzZXMpLiBNb3N0IGFkZHJlc3NlcyBhcmUgYm90aC4iIGNvbW1lbnQ9IlRoZSBkZWZpbml0aW9uIG9mIEFkZHJlc3Mgc3RhdGVzIHRoYXQgJnF1b3Q7YWRkcmVzcyBpcyBpbnRlbmRlZCB0byBkZXNjcmliZSBwb3N0YWwgYWRkcmVzc2VzLCBub3QgcGh5c2ljYWwgbG9jYXRpb25zJnF1b3Q7LiBIb3dldmVyLCBtYW55IGFwcGxpY2F0aW9ucyB0cmFjayB3aGV0aGVyIGFuIGFkZHJlc3MgaGFzIGEgZHVhbCBwdXJwb3NlIG9mIGJlaW5nIGEgbG9jYXRpb24gdGhhdCBjYW4gYmUgdmlzaXRlZCBhcyB3ZWxsIGFzIGJlaW5nIGEgdmFsaWQgZGVsaXZlcnkgZGVzdGluYXRpb24sIGFuZCBQb3N0YWwgYWRkcmVzc2VzIGFyZSBvZnRlbiB1c2VkIGFzIHByb3hpZXMgZm9yIHBoeXNpY2FsIGxvY2F0aW9ucyAoYWxzbyBzZWUgdGhlIFtMb2NhdGlvbl0obG9jYXRpb24uaHRtbCMpIHJlc291cmNlKS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJBZGRyZXNzVHlwZSIgZGVzY3JpcHRpb249IlRoZSB0eXBlIG9mIGFuIGFkZHJlc3MgKHBoeXNpY2FsIC8gcG9zdGFsKS4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0ZXh0IiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUZXh0IHJlcHJlc2VudGF0aW9uIG9mIHRoZSBhZGRyZXNzIiBkZWZpbml0aW9uPSJTcGVjaWZpZXMgdGhlIGVudGlyZSBhZGRyZXNzIGFzIGl0IHNob3VsZCBiZSBkaXNwbGF5ZWQgZS5nLiBvbiBhIHBvc3RhbCBsYWJlbC4gVGhpcyBtYXkgYmUgcHJvdmlkZWQgaW5zdGVhZCBvZiBvciBhcyB3ZWxsIGFzIHRoZSBzcGVjaWZpYyBwYXJ0cy4iIGNvbW1lbnQ9IkNhbiBwcm92aWRlIGJvdGggYSB0ZXh0IHJlcHJlc2VudGF0aW9uIGFuZCBwYXJ0cy4gQXBwbGljYXRpb25zIHVwZGF0aW5nIGFuIGFkZHJlc3MgU0hBTEwgZW5zdXJlIHRoYXQgIHdoZW4gYm90aCB0ZXh0IGFuZCBwYXJ0cyBhcmUgcHJlc2VudCwgIG5vIGNvbnRlbnQgaXMgaW5jbHVkZWQgaW4gdGhlIHRleHQgdGhhdCBpc24ndCBmb3VuZCBpbiBhIHBhcnQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibGluZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJTdHJlZXQgbmFtZSwgbnVtYmVyLCBkaXJlY3Rpb24gJmFtcDsgUC5PLiBCb3ggZXRjLiIgZGVmaW5pdGlvbj0iVGhpcyBjb21wb25lbnQgY29udGFpbnMgdGhlIGhvdXNlIG51bWJlciwgYXBhcnRtZW50IG51bWJlciwgc3RyZWV0IG5hbWUsIHN0cmVldCBkaXJlY3Rpb24sICBQLk8uIEJveCBudW1iZXIsIGRlbGl2ZXJ5IGhpbnRzLCBhbmQgc2ltaWxhciBhZGRyZXNzIGluZm9ybWF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNpdHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik5hbWUgb2YgY2l0eSwgdG93biBldGMuIiBkZWZpbml0aW9uPSJUaGUgbmFtZSBvZiB0aGUgY2l0eSwgdG93biwgc3VidXJiLCB2aWxsYWdlIG9yIG90aGVyIGNvbW11bml0eSBvciBkZWxpdmVyeSBjZW50ZXIuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzdHJpY3QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRpc3RyaWN0IG5hbWUgKGFrYSBjb3VudHkpIiBkZWZpbml0aW9uPSJUaGUgbmFtZSBvZiB0aGUgYWRtaW5pc3RyYXRpdmUgYXJlYSAoY291bnR5KS4iIGNvbW1lbnQ9IkRpc3RyaWN0IGlzIHNvbWV0aW1lcyBrbm93biBhcyBjb3VudHksIGJ1dCBpbiBzb21lIHJlZ2lvbnMgJ2NvdW50eScgaXMgdXNlZCBpbiBwbGFjZSBvZiBjaXR5IChtdW5pY2lwYWxpdHkpLCBzbyBjb3VudHkgbmFtZSBzaG91bGQgYmUgY29udmV5ZWQgaW4gY2l0eSBpbnN0ZWFkLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJTdWItdW5pdCBvZiBjb3VudHJ5IChhYmJyZXZpYXRpb25zIG9rKSIgZGVmaW5pdGlvbj0iU3ViLXVuaXQgb2YgYSBjb3VudHJ5IHdpdGggbGltaXRlZCBzb3ZlcmVpZ250eSBpbiBhIGZlZGVyYWxseSBvcmdhbml6ZWQgY291bnRyeS4gQSBjb2RlIG1heSBiZSB1c2VkIGlmIGNvZGVzIGFyZSBpbiBjb21tb24gdXNlIChlLmcuIFVTIDIgbGV0dGVyIHN0YXRlIGNvZGVzKS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwb3N0YWxDb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQb3N0YWwgY29kZSBmb3IgYXJlYSIgZGVmaW5pdGlvbj0iQSBwb3N0YWwgY29kZSBkZXNpZ25hdGluZyBhIHJlZ2lvbiBkZWZpbmVkIGJ5IHRoZSBwb3N0YWwgc2VydmljZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb3VudHJ5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJDb3VudHJ5IChlLmcuIGNhbiBiZSBJU08gMzE2NiAyIG9yIDMgbGV0dGVyIGNvZGUpIiBkZWZpbml0aW9uPSJDb3VudHJ5IC0gYSBuYXRpb24gYXMgY29tbW9ubHkgdW5kZXJzdG9vZCBvciBnZW5lcmFsbHkgYWNjZXB0ZWQuIiBjb21tZW50PSJJU08gMzE2NiAzIGxldHRlciBjb2RlcyBjYW4gYmUgdXNlZCBpbiBwbGFjZSBvZiBhIGh1bWFuIHJlYWRhYmxlIGNvdW50cnkgbmFtZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJpb2QiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGltZSBwZXJpb2Qgd2hlbiBhZGRyZXNzIHdhcy9pcyBpbiB1c2UiIGRlZmluaXRpb249IlRpbWUgcGVyaW9kIHdoZW4gYWRkcmVzcyB3YXMvaXMgaW4gdXNlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQWRkcmVzc1R5cGUiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQWRkcmVzc1VzZSIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBZG1pbmlzdHJhdGl2ZUdlbmRlciIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBZHZlcnNlRXZlbnQiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWFkdmVyc2VldmVudCIgbGFiZWw9IlFJQ29yZSBBZHZlcnNlRXZlbnQiIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImV2ZW50IiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBpZGVudGlmaWVyIGZvciB0aGUgZXZlbnQiIGRlZmluaXRpb249IkJ1c2luZXNzIGlkZW50aWZpZXJzIGFzc2lnbmVkIHRvIHRoaXMgYWR2ZXJzZSBldmVudCBieSB0aGUgcGVyZm9ybWVyIG9yIG90aGVyIHN5c3RlbXMgd2hpY2ggcmVtYWluIGNvbnN0YW50IGFzIHRoZSByZXNvdXJjZSBpcyB1cGRhdGVkIGFuZCBwcm9wYWdhdGVzIGZyb20gc2VydmVyIHRvIHNlcnZlci4iIGNvbW1lbnQ9IlRoaXMgaXMgYSBidXNpbmVzcyBpZGVudGlmaWVyLCBub3QgYSByZXNvdXJjZSBpZGVudGlmaWVyIChzZWUgW2Rpc2N1c3Npb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcmVzb3VyY2UuaHRtbCNpZGVudGlmaWVycykpLiAgSXQgaXMgYmVzdCBwcmFjdGljZSBmb3IgdGhlIGlkZW50aWZpZXIgdG8gb25seSBhcHBlYXIgb24gYSBzaW5nbGUgcmVzb3VyY2UgaW5zdGFuY2UsIGhvd2V2ZXIgYnVzaW5lc3MgcHJhY3RpY2VzIG1heSBvY2Nhc2lvbmFsbHkgZGljdGF0ZSB0aGF0IG11bHRpcGxlIHJlc291cmNlIGluc3RhbmNlcyB3aXRoIHRoZSBzYW1lIGlkZW50aWZpZXIgY2FuIGV4aXN0IC0gcG9zc2libHkgZXZlbiB3aXRoIGRpZmZlcmVudCByZXNvdXJjZSB0eXBlcy4gIEZvciBleGFtcGxlLCBtdWx0aXBsZSBQYXRpZW50IGFuZCBhIFBlcnNvbiByZXNvdXJjZSBpbnN0YW5jZSBtaWdodCBzaGFyZSB0aGUgc2FtZSBzb2NpYWwgaW5zdXJhbmNlIG51bWJlci4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhY3R1YWxpdHkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQWR2ZXJzZUV2ZW50QWN0dWFsaXR5IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBhY3R1YWwgfCBwb3RlbnRpYWwiIGRlZmluaXRpb249IldoZXRoZXIgdGhlIGV2ZW50IGFjdHVhbGx5IGhhcHBlbmVkLCBvciBqdXN0IGhhZCB0aGUgcG90ZW50aWFsIHRvLiBOb3RlIHRoYXQgdGhpcyBpcyBpbmRlcGVuZGVudCBvZiB3aGV0aGVyIGFueW9uZSB3YXMgYWZmZWN0ZWQgb3IgaGFybWVkIG9yIGhvdyBzZXZlcmVseS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJBZHZlcnNlRXZlbnRBY3R1YWxpdHkiIGRlc2NyaXB0aW9uPSJPdmVyYWxsIG5hdHVyZSBvZiB0aGUgYWR2ZXJzZSBldmVudCwgZS5nLiByZWFsIG9yIHBvdGVudGlhbC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBwcm9kdWN0LXByb2JsZW0gfCBwcm9kdWN0LXF1YWxpdHkgfCBwcm9kdWN0LXVzZS1lcnJvciB8IHdyb25nLWRvc2UgfCBpbmNvcnJlY3QtcHJlc2NyaWJpbmctaW5mb3JtYXRpb24gfCB3cm9uZy10ZWNobmlxdWUgfCB3cm9uZy1yb3V0ZS1vZi1hZG1pbmlzdHJhdGlvbiB8IHdyb25nLXJhdGUgfCB3cm9uZy1kdXJhdGlvbiB8IHdyb25nLXRpbWUgfCBleHBpcmVkLWRydWcgfCBtZWRpY2FsLWRldmljZS11c2UtZXJyb3IgfCBwcm9ibGVtLWRpZmZlcmVudC1tYW51ZmFjdHVyZXIgfCB1bnNhZmUtcGh5c2ljYWwtZW52aXJvbm1lbnQiIGRlZmluaXRpb249IlRoZSBvdmVyYWxsIHR5cGUgb2YgZXZlbnQsIGludGVuZGVkIGZvciBzZWFyY2ggYW5kIGZpbHRlcmluZyBwdXJwb3Nlcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQWR2ZXJzZUV2ZW50Q2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJPdmVyYWxsIGNhdGVnb3JpemF0aW9uIG9mIHRoZSBldmVudCwgZS5nLiBwcm9kdWN0LXJlbGF0ZWQgb3Igc2l0dWF0aW9uYWwuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJldmVudCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFR5cGUgb2YgdGhlIGV2ZW50IGl0c2VsZiBpbiByZWxhdGlvbiB0byB0aGUgc3ViamVjdCIgZGVmaW5pdGlvbj0iVGhpcyBlbGVtZW50IGRlZmluZXMgdGhlIHNwZWNpZmljIHR5cGUgb2YgZXZlbnQgdGhhdCBvY2N1cnJlZCBvciB0aGF0IHdhcyBwcmV2ZW50ZWQgZnJvbSBvY2N1cnJpbmcuIj4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkRldGFpbGVkIHR5cGUgb2YgZXZlbnQuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFN1YmplY3QgaW1wYWN0ZWQgYnkgZXZlbnQiIGRlZmluaXRpb249IlRoaXMgc3ViamVjdCBvciBncm91cCBpbXBhY3RlZCBieSB0aGUgZXZlbnQuIiBjb21tZW50PSJJZiBBZHZlcnNlRXZlbnQucmVzdWx0aW5nQ29uZGl0aW9uIGRpZmZlcnMgYW1vbmcgbWVtYmVycyBvZiB0aGUgZ3JvdXAsIHRoZW4gdXNlIFBhdGllbnQgYXMgdGhlIHN1YmplY3QuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBFbmNvdW50ZXIgY3JlYXRlZCBhcyBwYXJ0IG9mIiBkZWZpbml0aW9uPSJUaGUgRW5jb3VudGVyIGR1cmluZyB3aGljaCBBZHZlcnNlRXZlbnQgd2FzIGNyZWF0ZWQgb3IgdG8gd2hpY2ggdGhlIGNyZWF0aW9uIG9mIHRoaXMgcmVjb3JkIGlzIHRpZ2h0bHkgYXNzb2NpYXRlZC4iIGNvbW1lbnQ9IlRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgdGhlIGVuY291bnRlciB0aGUgZXZlbnQgb2NjdXJyZWQgd2l0aGluLCBidXQgc29tZSBhY3Rpdml0aWVzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIuICBGb3IgZXhhbXBsZSwgaWYgYSBtZWRpY2F0aW9uIGFkbWluaXN0cmF0aW9uIHdhcyBjb25zaWRlcmVkIGFuIGFkdmVyc2UgZXZlbnQgYmVjYXVzZSBpdCByZXN1bHRlZCBpbiBhIHJhc2gsIHRoZW4gdGhlIGVuY291bnRlciB3aGVuIHRoZSBtZWRpY2F0aW9uIGFkbWluaXN0cmF0aW9uIHdhcyBnaXZlbiBpcyB0aGUgY29udGV4dC4gIElmIHRoZSBwYXRpZW50IHJlcG9ydHMgdGhlIEFkdmVyc2VFdmVudCBkdXJpbmcgYSBzZWNvbmQgZW5jb3VudGVyLCB0aGF0IHNlY29uZCBlbmNvdW50ZXIgaXMgbm90IHRoZSBjb250ZXh0LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hlbiB0aGUgZXZlbnQgb2NjdXJyZWQiIGRlZmluaXRpb249IlRoZSBkYXRlIChhbmQgcGVyaGFwcyB0aW1lKSB3aGVuIHRoZSBhZHZlcnNlIGV2ZW50IG9jY3VycmVkLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGV0ZWN0ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hlbiB0aGUgZXZlbnQgd2FzIGRldGVjdGVkIiBkZWZpbml0aW9uPSJFc3RpbWF0ZWQgb3IgYWN0dWFsIGRhdGUgdGhlIEFkdmVyc2VFdmVudCBiZWdhbiwgaW4gdGhlIG9waW5pb24gb2YgdGhlIHJlcG9ydGVyLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlY29yZGVkRGF0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIHRoZSBldmVudCB3YXMgcmVjb3JkZWQiIGRlZmluaXRpb249IlRoZSBkYXRlIG9uIHdoaWNoIHRoZSBleGlzdGVuY2Ugb2YgdGhlIEFkdmVyc2VFdmVudCB3YXMgZmlyc3QgcmVjb3JkZWQuIiBjb21tZW50PSJUaGUgcmVjb3JkZWREYXRlIHJlcHJlc2VudHMgdGhlIGRhdGUgd2hlbiB0aGlzIHBhcnRpY3VsYXIgQWR2ZXJzZUV2ZW50IHJlY29yZCB3YXMgY3JlYXRlZCBpbiB0aGUgc3lzdGVtLCBub3QgdGhlIGRhdGUgb2YgdGhlIG1vc3QgcmVjZW50IHVwZGF0ZS4gIFRoZSBkYXRlIG9mIHRoZSBsYXN0IHJlY29yZCBtb2RpZmljYXRpb24gY2FuIGJlIHJldHJpZXZlZCBmcm9tIHRoZSByZXNvdXJjZSBtZXRhZGF0YS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZXN1bHRpbmdDb25kaXRpb24iIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgRWZmZWN0IG9uIHRoZSBzdWJqZWN0IGR1ZSB0byB0aGlzIGV2ZW50IiBkZWZpbml0aW9uPSJJbmNsdWRlcyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcmVhY3Rpb24gdGhhdCBvY2N1cnJlZCBhcyBhIHJlc3VsdCBvZiBleHBvc3VyZSB0byBhIHN1YnN0YW5jZSAoZm9yIGV4YW1wbGUsIGEgZHJ1ZyBvciBhIGNoZW1pY2FsKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJMb2NhdGlvbiB3aGVyZSBhZHZlcnNlIGV2ZW50IG9jY3VycmVkIiBkZWZpbml0aW9uPSJUaGUgaW5mb3JtYXRpb24gYWJvdXQgd2hlcmUgdGhlIGFkdmVyc2UgZXZlbnQgb2NjdXJyZWQuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzZXJpb3VzbmVzcyIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU2VyaW91c25lc3Mgb2YgdGhlIGV2ZW50IiBkZWZpbml0aW9uPSJBc3Nlc3NtZW50IHdoZXRoZXIgdGhpcyBldmVudCB3YXMgb2YgcmVhbCBpbXBvcnRhbmNlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkFkdmVyc2VFdmVudFNlcmlvdXNuZXNzIiBkZXNjcmlwdGlvbj0iT3ZlcmFsbCBzZXJpb3VzbmVzcyBvZiB0aGlzIGV2ZW50IGZvciB0aGUgcGF0aWVudC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InNldmVyaXR5IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJtaWxkIHwgbW9kZXJhdGUgfCBzZXZlcmUiIGRlZmluaXRpb249IkRlc2NyaWJlcyB0aGUgc2V2ZXJpdHkgb2YgdGhlIGFkdmVyc2UgZXZlbnQsIGluIHJlbGF0aW9uIHRvIHRoZSBzdWJqZWN0LiBDb250cmFzdCB0byBBZHZlcnNlRXZlbnQuc2VyaW91c25lc3MgLSBhIHNldmVyZSByYXNoIG1pZ2h0IG5vdCBiZSBzZXJpb3VzLCBidXQgYSBtaWxkIGhlYXJ0IHByb2JsZW0gaXMuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQWR2ZXJzZUV2ZW50U2V2ZXJpdHkiIGRlc2NyaXB0aW9uPSJUaGUgc2V2ZXJpdHkgb2YgdGhlIGFkdmVyc2UgZXZlbnQgaXRzZWxmLCBpbiBkaXJlY3QgcmVsYXRpb24gdG8gdGhlIHN1YmplY3QuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ib3V0Y29tZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0icmVzb2x2ZWQgfCByZWNvdmVyaW5nIHwgb25nb2luZyB8IHJlc29sdmVkV2l0aFNlcXVlbGFlIHwgZmF0YWwgfCB1bmtub3duIiBkZWZpbml0aW9uPSJEZXNjcmliZXMgdGhlIHR5cGUgb2Ygb3V0Y29tZSBmcm9tIHRoZSBhZHZlcnNlIGV2ZW50LiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkFkdmVyc2VFdmVudE91dGNvbWUiIGRlc2NyaXB0aW9uPSJUT0RPIChhbmQgc2hvdWxkIHRoaXMgYmUgcmVxdWlyZWQ/KS4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvcmRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaG8gcmVjb3JkZWQgdGhlIGFkdmVyc2UgZXZlbnQiIGRlZmluaXRpb249IkluZm9ybWF0aW9uIG9uIHdobyByZWNvcmRlZCB0aGUgYWR2ZXJzZSBldmVudC4gIE1heSBiZSB0aGUgcGF0aWVudCBvciBhIHByYWN0aXRpb25lci4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbnRyaWJ1dG9yIiBkZXNjcmlwdGlvbj0iV2hvICB3YXMgaW52b2x2ZWQgaW4gdGhlIGFkdmVyc2UgZXZlbnQgb3IgdGhlIHBvdGVudGlhbCBhZHZlcnNlIGV2ZW50IiBkZWZpbml0aW9uPSJQYXJ0aWVzIHRoYXQgbWF5IG9yIHNob3VsZCBjb250cmlidXRlIG9yIGhhdmUgY29udHJpYnV0ZWQgaW5mb3JtYXRpb24gdG8gdGhlIGFkdmVyc2UgZXZlbnQsIHdoaWNoIGNhbiBjb25zaXN0IG9mIG9uZSBvciBtb3JlIGFjdGl2aXRpZXMuICBTdWNoIGluZm9ybWF0aW9uIGluY2x1ZGVzIGluZm9ybWF0aW9uIGxlYWRpbmcgdG8gdGhlIGRlY2lzaW9uIHRvIHBlcmZvcm0gdGhlIGFjdGl2aXR5IGFuZCBob3cgdG8gcGVyZm9ybSB0aGUgYWN0aXZpdHkgKGUuZy4gY29uc3VsdGFudCksIGluZm9ybWF0aW9uIHRoYXQgdGhlIGFjdGl2aXR5IGl0c2VsZiBzZWVrcyB0byByZXZlYWwgKGUuZy4gaW5mb3JtYW50IG9mIGNsaW5pY2FsIGhpc3RvcnkpLCBvciBpbmZvcm1hdGlvbiBhYm91dCB3aGF0IGFjdGl2aXR5IHdhcyBwZXJmb3JtZWQgKGUuZy4gaW5mb3JtYW50IHdpdG5lc3MpLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3VzcGVjdEVudGl0eSIgZGVzY3JpcHRpb249IlRoZSBzdXNwZWN0ZWQgYWdlbnQgY2F1c2luZyB0aGUgYWR2ZXJzZSBldmVudCIgZGVmaW5pdGlvbj0iRGVzY3JpYmVzIHRoZSBlbnRpdHkgdGhhdCBpcyBzdXNwZWN0ZWQgdG8gaGF2ZSBjYXVzZWQgdGhlIGFkdmVyc2UgZXZlbnQuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFkdmVyc2VFdmVudC5TdXNwZWN0RW50aXR5Ii8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3RNZWRpY2FsSGlzdG9yeSIgZGVzY3JpcHRpb249IkFkdmVyc2VFdmVudC5zdWJqZWN0TWVkaWNhbEhpc3RvcnkiIGRlZmluaXRpb249IkFkdmVyc2VFdmVudC5zdWJqZWN0TWVkaWNhbEhpc3RvcnkuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2VEb2N1bWVudCIgZGVzY3JpcHRpb249IkFkdmVyc2VFdmVudC5yZWZlcmVuY2VEb2N1bWVudCIgZGVmaW5pdGlvbj0iQWR2ZXJzZUV2ZW50LnJlZmVyZW5jZURvY3VtZW50LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0dWR5IiBkZXNjcmlwdGlvbj0iQWR2ZXJzZUV2ZW50LnN0dWR5IiBkZWZpbml0aW9uPSJBZHZlcnNlRXZlbnQuc3R1ZHkuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0icmVjb3JkZXIiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0ic3ViamVjdCIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlJlbGF0ZWRQZXJzb24iIHJlbGF0ZWRLZXlFbGVtZW50PSJyZWNvcmRlciIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQWR2ZXJzZUV2ZW50LlN1c3BlY3RFbnRpdHkiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbmNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBSZWZlcnMgdG8gdGhlIHNwZWNpZmljIGVudGl0eSB0aGF0IGNhdXNlZCB0aGUgYWR2ZXJzZSBldmVudCIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgYWN0dWFsIGluc3RhbmNlIG9mIHdoYXQgY2F1c2VkIHRoZSBhZHZlcnNlIGV2ZW50LiAgTWF5IGJlIGEgc3Vic3RhbmNlLCBtZWRpY2F0aW9uLCBtZWRpY2F0aW9uIGFkbWluaXN0cmF0aW9uLCBtZWRpY2F0aW9uIHN0YXRlbWVudCBvciBhIGRldmljZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXVzYWxpdHkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQWR2ZXJzZUV2ZW50LlN1c3BlY3RFbnRpdHkuQ2F1c2FsaXR5IiBkZXNjcmlwdGlvbj0iSW5mb3JtYXRpb24gb24gdGhlIHBvc3NpYmxlIGNhdXNlIG9mIHRoZSBldmVudCIgZGVmaW5pdGlvbj0iSW5mb3JtYXRpb24gb24gdGhlIHBvc3NpYmxlIGNhdXNlIG9mIHRoZSBldmVudC4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQWR2ZXJzZUV2ZW50LlN1c3BlY3RFbnRpdHkuQ2F1c2FsaXR5IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhc3Nlc3NtZW50IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBc3Nlc3NtZW50IG9mIGlmIHRoZSBlbnRpdHkgY2F1c2VkIHRoZSBldmVudCIgZGVmaW5pdGlvbj0iQXNzZXNzbWVudCBvZiBpZiB0aGUgZW50aXR5IGNhdXNlZCB0aGUgZXZlbnQuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQWR2ZXJzZUV2ZW50Q2F1c2FsaXR5QXNzZXNzbWVudCIgZGVzY3JpcHRpb249IkNvZGVzIGZvciB0aGUgYXNzZXNzbWVudCBvZiB3aGV0aGVyIHRoZSBlbnRpdHkgY2F1c2VkIHRoZSBldmVudC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InByb2R1Y3RSZWxhdGVkbmVzcyIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iQWR2ZXJzZUV2ZW50LnN1c3BlY3RFbnRpdHkuY2F1c2FsaXR5UHJvZHVjdFJlbGF0ZWRuZXNzIiBkZWZpbml0aW9uPSJBZHZlcnNlRXZlbnQuc3VzcGVjdEVudGl0eS5jYXVzYWxpdHlQcm9kdWN0UmVsYXRlZG5lc3MuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkFkdmVyc2VFdmVudC5zdXNwZWN0RW50aXR5LmNhdXNhbGl0eUF1dGhvciIgZGVmaW5pdGlvbj0iQWR2ZXJzZUV2ZW50LnN1c3BlY3RFbnRpdHkuY2F1c2FsaXR5QXV0aG9yLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUHJvYmFiaWxpdHlTY2FsZSB8IEJheWVzaWFuIHwgQ2hlY2tsaXN0IiBkZWZpbml0aW9uPSJQcm9iYWJpbGl0eVNjYWxlIHwgQmF5ZXNpYW4gfCBDaGVja2xpc3QuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQWR2ZXJzZUV2ZW50Q2F1c2FsaXR5TWV0aG9kIiBkZXNjcmlwdGlvbj0iVE9ETy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQWR2ZXJzZUV2ZW50QWN0dWFsaXR5IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkFsbGVyZ3lJbnRvbGVyYW5jZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtYWxsZXJneWludG9sZXJhbmNlIiBsYWJlbD0iUUlDb3JlIEFsbGVyZ3lJbnRvbGVyYW5jZSIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY29kZSIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVzb2x1dGlvbkFnZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5yZXNvbHV0aW9uQWdlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXBhcmVudC5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vYWxsZXJneWludG9sZXJhbmNlLXJlc29sdXRpb25BZ2UnXS52YWx1ZSkiIGRlc2NyaXB0aW9uPSJBZ2UgdGhhdCB0aGUgYWxsZXJneSBvciBpbnRvbGVyYW5jZSByZXNvbHZlZCIgZGVmaW5pdGlvbj0iVGhlIGVzdGltYXRlZCBwYXRpZW50IGFnZSBhdCB3aGljaCB0aGUgYWxsZXJneSBvciBpbnRvbGVyYW5jZSByZXNvbHZlZC4gU2hvdWxkIGJlIHNwZWNpZmllZCBvbmx5IGlmIHRoZSBzdGF0dXMgaXMgcmVzb2x2ZWQuIiBjb21tZW50PSJSZW1vdmVkIERhdGUgc2luY2UgaXQgaXMgaGFyZCB0byBpbWFnaW5lIGtub3dpbmcgdGhlIGRhdGUgYW4gYWxsZXJneSBhYmF0ZWQuIFRoZSBhc3NlcnRpb24gZGF0ZSBpcyBhbHJlYWR5IGNhcHR1cmVkLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkV4dGVybmFsIGlkcyBmb3IgdGhpcyBpdGVtIiBkZWZpbml0aW9uPSJCdXNpbmVzcyBpZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIEFsbGVyZ3lJbnRvbGVyYW5jZSBieSB0aGUgcGVyZm9ybWVyIG9yIG90aGVyIHN5c3RlbXMgd2hpY2ggcmVtYWluIGNvbnN0YW50IGFzIHRoZSByZXNvdXJjZSBpcyB1cGRhdGVkIGFuZCBwcm9wYWdhdGVzIGZyb20gc2VydmVyIHRvIHNlcnZlci4iIGNvbW1lbnQ9IlRoaXMgaXMgYSBidXNpbmVzcyBpZGVudGlmaWVyLCBub3QgYSByZXNvdXJjZSBpZGVudGlmaWVyIChzZWUgW2Rpc2N1c3Npb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcmVzb3VyY2UuaHRtbCNpZGVudGlmaWVycykpLiAgSXQgaXMgYmVzdCBwcmFjdGljZSBmb3IgdGhlIGlkZW50aWZpZXIgdG8gb25seSBhcHBlYXIgb24gYSBzaW5nbGUgcmVzb3VyY2UgaW5zdGFuY2UsIGhvd2V2ZXIgYnVzaW5lc3MgcHJhY3RpY2VzIG1heSBvY2Nhc2lvbmFsbHkgZGljdGF0ZSB0aGF0IG11bHRpcGxlIHJlc291cmNlIGluc3RhbmNlcyB3aXRoIHRoZSBzYW1lIGlkZW50aWZpZXIgY2FuIGV4aXN0IC0gcG9zc2libHkgZXZlbiB3aXRoIGRpZmZlcmVudCByZXNvdXJjZSB0eXBlcy4gIEZvciBleGFtcGxlLCBtdWx0aXBsZSBQYXRpZW50IGFuZCBhIFBlcnNvbiByZXNvdXJjZSBpbnN0YW5jZSBtaWdodCBzaGFyZSB0aGUgc2FtZSBzb2NpYWwgaW5zdXJhbmNlIG51bWJlci4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2xpbmljYWxTdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgYWN0aXZlIHwgaW5hY3RpdmUgfCByZXNvbHZlZCIgZGVmaW5pdGlvbj0iVGhlIGNsaW5pY2FsIHN0YXR1cyBvZiB0aGUgYWxsZXJneSBvciBpbnRvbGVyYW5jZS4iIGNvbW1lbnQ9IlJlZmVyIHRvIFtkaXNjdXNzaW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2liaWxpdHkuaHRtbCNTcGVjaWFsLUNhc2UpIGlmIGNsaW5jYWxTdGF0dXMgaXMgbWlzc2luZyBkYXRhLiYjMTA7VGhlIGRhdGEgdHlwZSBpcyBDb2RlYWJsZUNvbmNlcHQgYmVjYXVzZSBjbGluaWNhbFN0YXR1cyBoYXMgc29tZSBjbGluaWNhbCBqdWRnbWVudCBpbnZvbHZlZCwgc3VjaCB0aGF0IHRoZXJlIG1pZ2h0IG5lZWQgdG8gYmUgbW9yZSBzcGVjaWZpY2l0eSB0aGFuIHRoZSByZXF1aXJlZCBGSElSIHZhbHVlIHNldCBhbGxvd3MuIEZvciBleGFtcGxlLCBhIFNOT01FRCBjb2RpbmcgbWlnaHQgYWxsb3cgZm9yIGFkZGl0aW9uYWwgc3BlY2lmaWNpdHkuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2ZXJpZmljYXRpb25TdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgdW5jb25maXJtZWQgfCBjb25maXJtZWQgfCByZWZ1dGVkIHwgZW50ZXJlZC1pbi1lcnJvciIgZGVmaW5pdGlvbj0iQXNzZXJ0aW9uIGFib3V0IGNlcnRhaW50eSBhc3NvY2lhdGVkIHdpdGggdGhlIHByb3BlbnNpdHksIG9yIHBvdGVudGlhbCByaXNrLCBvZiBhIHJlYWN0aW9uIHRvIHRoZSBpZGVudGlmaWVkIHN1YnN0YW5jZSAoaW5jbHVkaW5nIHBoYXJtYWNldXRpY2FsIHByb2R1Y3QpLiIgY29tbWVudD0iVGhlIGRhdGEgdHlwZSBpcyBDb2RlYWJsZUNvbmNlcHQgYmVjYXVzZSB2ZXJpZmljYXRpb25TdGF0dXMgaGFzIHNvbWUgY2xpbmljYWwganVkZ21lbnQgaW52b2x2ZWQsIHN1Y2ggdGhhdCB0aGVyZSBtaWdodCBuZWVkIHRvIGJlIG1vcmUgc3BlY2lmaWNpdHkgdGhhbiB0aGUgcmVxdWlyZWQgRkhJUiB2YWx1ZSBzZXQgYWxsb3dzLiBGb3IgZXhhbXBsZSwgYSBTTk9NRUQgY29kaW5nIG1pZ2h0IGFsbG93IGZvciBhZGRpdGlvbmFsIHNwZWNpZmljaXR5LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5BbGxlcmd5SW50b2xlcmFuY2VUeXBlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBhbGxlcmd5IHwgaW50b2xlcmFuY2UgLSBVbmRlcmx5aW5nIG1lY2hhbmlzbSAoaWYga25vd24pIiBkZWZpbml0aW9uPSJJZGVudGlmaWNhdGlvbiBvZiB0aGUgdW5kZXJseWluZyBwaHlzaW9sb2dpY2FsIG1lY2hhbmlzbSBmb3IgdGhlIHJlYWN0aW9uIHJpc2suIiBjb21tZW50PSJBbGxlcmdpYyAodHlwaWNhbGx5IGltbXVuZS1tZWRpYXRlZCkgcmVhY3Rpb25zIGhhdmUgYmVlbiB0cmFkaXRpb25hbGx5IHJlZ2FyZGVkIGFzIGFuIGluZGljYXRvciBmb3IgcG90ZW50aWFsIGVzY2FsYXRpb24gdG8gc2lnbmlmaWNhbnQgZnV0dXJlIHJpc2suIENvbnRlbXBvcmFyeSBrbm93bGVkZ2Ugc3VnZ2VzdHMgdGhhdCBzb21lIHJlYWN0aW9ucyBwcmV2aW91c2x5IHRob3VnaHQgdG8gYmUgaW1tdW5lLW1lZGlhdGVkIGFyZSwgaW4gZmFjdCwgbm9uLWltbXVuZSwgYnV0IGluIHNvbWUgY2FzZXMgY2FuIHN0aWxsIHBvc2UgYSBsaWZlIHRocmVhdGVuaW5nIHJpc2suIEl0IGlzIGFja25vd2xlZGdlZCB0aGF0IG1hbnkgY2xpbmljaWFucyBtaWdodCBub3QgYmUgaW4gYSBwb3NpdGlvbiB0byBkaXN0aW5ndWlzaCB0aGUgbWVjaGFuaXNtIG9mIGEgcGFydGljdWxhciByZWFjdGlvbi4gT2Z0ZW4gdGhlIHRlcm0gJnF1b3Q7YWxsZXJneSZxdW90OyBpcyB1c2VkIHJhdGhlciBnZW5lcmljYWxseSBhbmQgbWF5IG92ZXJsYXAgd2l0aCB0aGUgdXNlIG9mICZxdW90O2ludG9sZXJhbmNlJnF1b3Q7IC0gaW4gcHJhY3RpY2UgdGhlIGJvdW5kYXJpZXMgYmV0d2VlbiB0aGVzZSB0d28gY29uY2VwdHMgbWlnaHQgbm90IGJlIHdlbGwtZGVmaW5lZCBvciB1bmRlcnN0b29kLiBUaGlzIGRhdGEgZWxlbWVudCBpcyBpbmNsdWRlZCBuZXZlcnRoZWxlc3MsIGJlY2F1c2UgbWFueSBsZWdhY3kgc3lzdGVtcyBoYXZlIGNhcHR1cmVkIHRoaXMgYXR0cmlidXRlLiBJbW11bm9sb2dpYyB0ZXN0aW5nIG1heSBwcm92aWRlIHN1cHBvcnRpbmcgZXZpZGVuY2UgZm9yIHRoZSBiYXNpcyBvZiB0aGUgcmVhY3Rpb24gYW5kIHRoZSBjYXVzYXRpdmUgc3Vic3RhbmNlLCBidXQgbm8gdGVzdHMgYXJlIDEwMCUgc2Vuc2l0aXZlIG9yIHNwZWNpZmljIGZvciBzZW5zaXRpdml0eSB0byBhIHBhcnRpY3VsYXIgc3Vic3RhbmNlLiBJZiwgYXMgaXMgY29tbW9ubHkgdGhlIGNhc2UsIGl0IGlzIHVuY2xlYXIgd2hldGhlciB0aGUgcmVhY3Rpb24gaXMgZHVlIHRvIGFuIGFsbGVyZ3kgb3IgYW4gaW50b2xlcmFuY2UsIHRoZW4gdGhlIHR5cGUgZWxlbWVudCBzaG91bGQgYmUgb21pdHRlZCBmcm9tIHRoZSByZXNvdXJjZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJBbGxlcmd5SW50b2xlcmFuY2VUeXBlIiBkZXNjcmlwdGlvbj0iSWRlbnRpZmljYXRpb24gb2YgdGhlIHVuZGVybHlpbmcgcGh5c2lvbG9naWNhbCBtZWNoYW5pc20gZm9yIGEgUmVhY3Rpb24gUmlzay4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgZm9vZCB8IG1lZGljYXRpb24gfCBlbnZpcm9ubWVudCB8IGJpb2xvZ2ljIiBkZWZpbml0aW9uPSJDYXRlZ29yeSBvZiB0aGUgaWRlbnRpZmllZCBzdWJzdGFuY2UuIiBjb21tZW50PSJUaGlzIGRhdGEgZWxlbWVudCBoYXMgYmVlbiBpbmNsdWRlZCBiZWNhdXNlIGl0IGlzIGN1cnJlbnRseSBiZWluZyBjYXB0dXJlZCBpbiBzb21lIGNsaW5pY2FsIHN5c3RlbXMuIFRoaXMgZGF0YSBjYW4gYmUgZGVyaXZlZCBmcm9tIHRoZSBzdWJzdGFuY2Ugd2hlcmUgY29kaW5nIHN5c3RlbXMgYXJlIHVzZWQsIGFuZCBpcyBlZmZlY3RpdmVseSByZWR1bmRhbnQgaW4gdGhhdCBzaXR1YXRpb24uICBXaGVuIHNlYXJjaGluZyBvbiBjYXRlZ29yeSwgY29uc2lkZXIgdGhlIGltcGxpY2F0aW9ucyBvZiBBbGxlcmd5SW50b2xlcmFuY2UgcmVzb3VyY2VzIHdpdGhvdXQgYSBjYXRlZ29yeS4gIEZvciBleGFtcGxlLCB3aGVuIHNlYXJjaGluZyBvbiBjYXRlZ29yeSA9IG1lZGljYXRpb24sIG1lZGljYXRpb24gYWxsZXJnaWVzIHRoYXQgZG9uJ3QgaGF2ZSBhIGNhdGVnb3J5IHZhbHVlZCB3aWxsIG5vdCBiZSByZXR1cm5lZC4gIFJlZmVyIHRvIFtzZWFyY2hdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvc2VhcmNoLmh0bWwpIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGhvdyB0byBzZWFyY2ggY2F0ZWdvcnkgd2l0aCBhIDptaXNzaW5nIG1vZGlmaWVyIHRvIGdldCBhbGxlcmdpZXMgdGhhdCBkb24ndCBoYXZlIGEgY2F0ZWdvcnkuICBBZGRpdGlvbmFsbHksIGNhdGVnb3J5IHNob3VsZCBiZSB1c2VkIHdpdGggY2F1dGlvbiBiZWNhdXNlIGNhdGVnb3J5IGNhbiBiZSBzdWJqZWN0aXZlIGJhc2VkIG9uIHRoZSBzZW5kZXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5BbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJBbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSIgZGVzY3JpcHRpb249IkNhdGVnb3J5IG9mIGFuIGlkZW50aWZpZWQgc3Vic3RhbmNlIGFzc29jaWF0ZWQgd2l0aCBhbGxlcmdpZXMgb3IgaW50b2xlcmFuY2VzLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNyaXRpY2FsaXR5IiBlbGVtZW50VHlwZT0iUUlDb3JlLkFsbGVyZ3lJbnRvbGVyYW5jZUNyaXRpY2FsaXR5IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBsb3cgfCBoaWdoIHwgdW5hYmxlLXRvLWFzc2VzcyIgZGVmaW5pdGlvbj0iRXN0aW1hdGUgb2YgdGhlIHBvdGVudGlhbCBjbGluaWNhbCBoYXJtLCBvciBzZXJpb3VzbmVzcywgb2YgdGhlIHJlYWN0aW9uIHRvIHRoZSBpZGVudGlmaWVkIHN1YnN0YW5jZS4iIGNvbW1lbnQ9IlRoZSBkZWZhdWx0IGNyaXRpY2FsaXR5IHZhbHVlIGZvciBhbnkgcHJvcGVuc2l0eSB0byBhbiBhZHZlcnNlIHJlYWN0aW9uIHNob3VsZCBiZSAnTG93IFJpc2snLCBpbmRpY2F0aW5nIGF0IHRoZSB2ZXJ5IGxlYXN0IGEgcmVsYXRpdmUgY29udHJhaW5kaWNhdGlvbiB0byBkZWxpYmVyYXRlIG9yIHZvbHVudGFyeSBleHBvc3VyZSB0byB0aGUgc3Vic3RhbmNlLiAnSGlnaCBSaXNrJyBpcyBmbGFnZ2VkIGlmIHRoZSBjbGluaWNpYW4gaGFzIGlkZW50aWZpZWQgYSBwcm9wZW5zaXR5IGZvciBhIG1vcmUgc2VyaW91cyBvciBwb3RlbnRpYWxseSBsaWZlLXRocmVhdGVuaW5nIHJlYWN0aW9uLCBzdWNoIGFzIGFuYXBoeWxheGlzLCBhbmQgaW1wbGllcyBhbiBhYnNvbHV0ZSBjb250cmFpbmRpY2F0aW9uIHRvIGRlbGliZXJhdGUgb3Igdm9sdW50YXJ5IGV4cG9zdXJlIHRvIHRoZSBzdWJzdGFuY2UuIElmIHRoaXMgZWxlbWVudCBpcyBtaXNzaW5nLCB0aGUgY3JpdGljYWxpdHkgaXMgdW5rbm93biAodGhvdWdoIGl0IG1heSBiZSBrbm93biBlbHNld2hlcmUpLiAgU3lzdGVtcyB0aGF0IGNhcHR1cmUgYSBzZXZlcml0eSBhdCB0aGUgY29uZGl0aW9uIGxldmVsIGFyZSBhY3R1YWxseSByZXByZXNlbnRpbmcgdGhlIGNvbmNlcHQgb2YgY3JpdGljYWxpdHkgd2hlcmVhcyB0aGUgc2V2ZXJpdHkgZG9jdW1lbnRlZCBhdCB0aGUgcmVhY3Rpb24gbGV2ZWwgaXMgcmVwcmVzZW50aW5nIHRoZSB0cnVlIHJlYWN0aW9uIHNldmVyaXR5LiAgRXhpc3Rpbmcgc3lzdGVtcyB0aGF0IGFyZSBjYXB0dXJpbmcgYm90aCBjb25kaXRpb24gY3JpdGljYWxpdHkgYW5kIHJlYWN0aW9uIHNldmVyaXR5IG1heSB1c2UgdGhlIHRlcm0gJnF1b3Q7c2V2ZXJpdHkmcXVvdDsgdG8gcmVwcmVzZW50IGJvdGguICBDcml0aWNhbGl0eSBpcyB0aGUgd29yc3QgaXQgY291bGQgYmUgaW4gdGhlIGZ1dHVyZSAoaS5lLiBzaXR1YXRpb24tYWdub3N0aWMpIHdoZXJlYXMgc2V2ZXJpdHkgaXMgc2l0dWF0aW9uLWRlcGVuZGVudC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJBbGxlcmd5SW50b2xlcmFuY2VDcml0aWNhbGl0eSIgZGVzY3JpcHRpb249IkVzdGltYXRlIG9mIHRoZSBwb3RlbnRpYWwgY2xpbmljYWwgaGFybSwgb3Igc2VyaW91c25lc3MsIG9mIGEgcmVhY3Rpb24gdG8gYW4gaWRlbnRpZmllZCBzdWJzdGFuY2UuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBDb2RlIHRoYXQgaWRlbnRpZmllcyB0aGUgYWxsZXJneSBvciBpbnRvbGVyYW5jZSIgZGVmaW5pdGlvbj0iQ29kZSBmb3IgYW4gYWxsZXJneSBvciBpbnRvbGVyYW5jZSBzdGF0ZW1lbnQgKGVpdGhlciBhIHBvc2l0aXZlIG9yIGEgbmVnYXRlZC9leGNsdWRlZCBzdGF0ZW1lbnQpLiAgVGhpcyBtYXkgYmUgYSBjb2RlIGZvciBhIHN1YnN0YW5jZSBvciBwaGFybWFjZXV0aWNhbCBwcm9kdWN0IHRoYXQgaXMgY29uc2lkZXJlZCB0byBiZSByZXNwb25zaWJsZSBmb3IgdGhlIGFkdmVyc2UgcmVhY3Rpb24gcmlzayAoZS5nLiwgJnF1b3Q7TGF0ZXgmcXVvdDspLCBhbiBhbGxlcmd5IG9yIGludG9sZXJhbmNlIGNvbmRpdGlvbiAoZS5nLiwgJnF1b3Q7TGF0ZXggYWxsZXJneSZxdW90OyksIG9yIGEgbmVnYXRlZC9leGNsdWRlZCBjb2RlIGZvciBhIHNwZWNpZmljIHN1YnN0YW5jZSBvciBjbGFzcyAoZS5nLiwgJnF1b3Q7Tm8gbGF0ZXggYWxsZXJneSZxdW90Oykgb3IgYSBnZW5lcmFsIG9yIGNhdGVnb3JpY2FsIG5lZ2F0ZWQgc3RhdGVtZW50IChlLmcuLCAgJnF1b3Q7Tm8ga25vd24gYWxsZXJneSZxdW90OywgJnF1b3Q7Tm8ga25vd24gZHJ1ZyBhbGxlcmdpZXMmcXVvdDspLiAgTm90ZTogdGhlIHN1YnN0YW5jZSBmb3IgYSBzcGVjaWZpYyByZWFjdGlvbiBtYXkgYmUgZGlmZmVyZW50IGZyb20gdGhlIHN1YnN0YW5jZSBpZGVudGlmaWVkIGFzIHRoZSBjYXVzZSBvZiB0aGUgcmlzaywgYnV0IGl0IG11c3QgYmUgY29uc2lzdGVudCB3aXRoIGl0LiBGb3IgaW5zdGFuY2UsIGl0IG1heSBiZSBhIG1vcmUgc3BlY2lmaWMgc3Vic3RhbmNlIChlLmcuIGEgYnJhbmQgbWVkaWNhdGlvbikgb3IgYSBjb21wb3NpdGUgcHJvZHVjdCB0aGF0IGluY2x1ZGVzIHRoZSBpZGVudGlmaWVkIHN1YnN0YW5jZS4gSXQgbXVzdCBiZSBjbGluaWNhbGx5IHNhZmUgdG8gb25seSBwcm9jZXNzIHRoZSAnY29kZScgYW5kIGlnbm9yZSB0aGUgJ3JlYWN0aW9uLnN1YnN0YW5jZScuICBJZiBhIHJlY2VpdmluZyBzeXN0ZW0gaXMgdW5hYmxlIHRvIGNvbmZpcm0gdGhhdCBBbGxlcmd5SW50b2xlcmFuY2UucmVhY3Rpb24uc3Vic3RhbmNlIGZhbGxzIHdpdGhpbiB0aGUgc2VtYW50aWMgc2NvcGUgb2YgQWxsZXJneUludG9sZXJhbmNlLmNvZGUsIHRoZW4gdGhlIHJlY2VpdmluZyBzeXN0ZW0gc2hvdWxkIGlnbm9yZSBBbGxlcmd5SW50b2xlcmFuY2UucmVhY3Rpb24uc3Vic3RhbmNlLiIgY29tbWVudD0iSXQgaXMgc3Ryb25nbHkgcmVjb21tZW5kZWQgdGhhdCB0aGlzIGVsZW1lbnQgYmUgcG9wdWxhdGVkIHVzaW5nIGEgdGVybWlub2xvZ3ksIHdoZXJlIHBvc3NpYmxlLiBGb3IgZXhhbXBsZSwgc29tZSB0ZXJtaW5vbG9naWVzIHVzZWQgaW5jbHVkZSBSeE5vcm0sIFNOT01FRCBDVCwgRE0rRCwgTkRGUlQsIElDRC05LCBJREMtMTAsIFVOSUksIGFuZCBBVEMuIFBsYWluIHRleHQgc2hvdWxkIG9ubHkgYmUgdXNlZCBpZiB0aGVyZSBpcyBubyBhcHByb3ByaWF0ZSB0ZXJtaW5vbG9neSBhdmFpbGFibGUuIEFkZGl0aW9uYWwgZGV0YWlscyBjYW4gYmUgc3BlY2lmaWVkIGluIHRoZSB0ZXh0LiYjMTM7JiMxMztXaGVuIGEgc3Vic3RhbmNlIG9yIHByb2R1Y3QgY29kZSBpcyBzcGVjaWZpZWQgZm9yIHRoZSAnY29kZScgZWxlbWVudCwgdGhlICZxdW90O2RlZmF1bHQmcXVvdDsgc2VtYW50aWMgY29udGV4dCBpcyB0aGF0IHRoaXMgaXMgYSBwb3NpdGl2ZSBzdGF0ZW1lbnQgb2YgYW4gYWxsZXJneSBvciBpbnRvbGVyYW5jZSAoZGVwZW5kaW5nIG9uIHRoZSB2YWx1ZSBvZiB0aGUgJ3R5cGUnIGVsZW1lbnQsIGlmIHByZXNlbnQpIGNvbmRpdGlvbiB0byB0aGUgc3BlY2lmaWVkIHN1YnN0YW5jZS9wcm9kdWN0LiAgSW4gdGhlIGNvcnJlc3BvbmRpbmcgU05PTUVEIENUIGFsbGVyZ3kgbW9kZWwsIHRoZSBzcGVjaWZpZWQgc3Vic3RhbmNlL3Byb2R1Y3QgaXMgdGhlIHRhcmdldCAoZGVzdGluYXRpb24pIG9mIHRoZSAmcXVvdDtDYXVzYXRpdmUgYWdlbnQmcXVvdDsgcmVsYXRpb25zaGlwLiYjMTM7JiMxMztUaGUgJ3N1YnN0YW5jZUV4cG9zdXJlUmlzaycgZXh0ZW5zaW9uIGlzIGF2YWlsYWJsZSBhcyBhIHN0cnVjdHVyZWQgYW5kIG1vcmUgZmxleGlibGUgYWx0ZXJuYXRpdmUgdG8gdGhlICdjb2RlJyBlbGVtZW50IGZvciBtYWtpbmcgcG9zaXRpdmUgb3IgbmVnYXRpdmUgYWxsZXJneSBvciBpbnRvbGVyYW5jZSBzdGF0ZW1lbnRzLiAgVGhpcyBleHRlbnNpb24gcHJvdmlkZXMgdGhlIGNhcGFiaWxpdHkgdG8gbWFrZSAmcXVvdDtubyBrbm93biBhbGxlcmd5JnF1b3Q7IChvciAmcXVvdDtubyByaXNrIG9mIGFkdmVyc2UgcmVhY3Rpb24mcXVvdDspIHN0YXRlbWVudHMgcmVnYXJkaW5nIGFueSBjb2RlZCBzdWJzdGFuY2UvcHJvZHVjdCAoaW5jbHVkaW5nIGNhc2VzIHdoZW4gYSBwcmUtY29vcmRpbmF0ZWQgJnF1b3Q7bm8gYWxsZXJneSB0byB4JnF1b3Q7IGNvbmNlcHQgZm9yIHRoYXQgc3Vic3RhbmNlL3Byb2R1Y3QgZG9lcyBub3QgZXhpc3QpLiAgSWYgdGhlICdzdWJzdGFuY2VFeHBvc3VyZVJpc2snIGV4dGVuc2lvbiBpcyBwcmVzZW50LCB0aGUgQWxsZXJneUludG9sZXJhbmNlLmNvZGUgZWxlbWVudCBTSEFMTCBiZSBvbWl0dGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXRpZW50IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgV2hvIHRoZSBzZW5zaXRpdml0eSBpcyBmb3IiIGRlZmluaXRpb249IlRoZSBwYXRpZW50IHdobyBoYXMgdGhlIGFsbGVyZ3kgb3IgaW50b2xlcmFuY2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJFbmNvdW50ZXIgd2hlbiB0aGUgYWxsZXJneSBvciBpbnRvbGVyYW5jZSB3YXMgYXNzZXJ0ZWQiIGRlZmluaXRpb249IlRoZSBlbmNvdW50ZXIgd2hlbiB0aGUgYWxsZXJneSBvciBpbnRvbGVyYW5jZSB3YXMgYXNzZXJ0ZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ib25zZXQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2hlbiBhbGxlcmd5IG9yIGludG9sZXJhbmNlIHdhcyBpZGVudGlmaWVkIiBkZWZpbml0aW9uPSJFc3RpbWF0ZWQgb3IgYWN0dWFsIGRhdGUsICBkYXRlLXRpbWUsIG9yIGFnZSB3aGVuIGFsbGVyZ3kgb3IgaW50b2xlcmFuY2Ugd2FzIGlkZW50aWZpZWQuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvcmRlZERhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIERhdGUgZmlyc3QgdmVyc2lvbiBvZiB0aGUgcmVzb3VyY2UgaW5zdGFuY2Ugd2FzIHJlY29yZGVkIiBkZWZpbml0aW9uPSJUaGUgcmVjb3JkZWREYXRlIHJlcHJlc2VudHMgd2hlbiB0aGlzIHBhcnRpY3VsYXIgQWxsZXJneUludG9sZXJhbmNlIHJlY29yZCB3YXMgY3JlYXRlZCBpbiB0aGUgc3lzdGVtLCB3aGljaCBpcyBvZnRlbiBhIHN5c3RlbS1nZW5lcmF0ZWQgZGF0ZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvcmRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaG8gcmVjb3JkZWQgdGhlIHNlbnNpdGl2aXR5IiBkZWZpbml0aW9uPSJJbmRpdmlkdWFsIHdobyByZWNvcmRlZCB0aGUgcmVjb3JkIGFuZCB0YWtlcyByZXNwb25zaWJpbGl0eSBmb3IgaXRzIGNvbnRlbnQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYXNzZXJ0ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iU291cmNlIG9mIHRoZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgYWxsZXJneSIgZGVmaW5pdGlvbj0iVGhlIHNvdXJjZSBvZiB0aGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGFsbGVyZ3kgdGhhdCBpcyByZWNvcmRlZC4iIGNvbW1lbnQ9IlRoZSByZWNvcmRlciB0YWtlcyByZXNwb25zaWJpbGl0eSBmb3IgdGhlIGNvbnRlbnQsIGJ1dCBjYW4gcmVmZXJlbmNlIHRoZSBzb3VyY2UgZnJvbSB3aGVyZSB0aGV5IGdvdCBpdC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsYXN0T2NjdXJyZW5jZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEYXRlKC90aW1lKSBvZiBsYXN0IGtub3duIG9jY3VycmVuY2Ugb2YgYSByZWFjdGlvbiIgZGVmaW5pdGlvbj0iUmVwcmVzZW50cyB0aGUgZGF0ZSBhbmQvb3IgdGltZSBvZiB0aGUgbGFzdCBrbm93biBvY2N1cnJlbmNlIG9mIGEgcmVhY3Rpb24gZXZlbnQuIiBjb21tZW50PSJUaGlzIGRhdGUgbWF5IGJlIHJlcGxpY2F0ZWQgYnkgb25lIG9mIHRoZSBPbnNldCBvZiBSZWFjdGlvbiBkYXRlcy4gV2hlcmUgYSB0ZXh0dWFsIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBkYXRlIG9mIGxhc3Qgb2NjdXJyZW5jZSBpcyByZXF1aXJlZCBlLmcuICdJbiBDaGlsZGhvb2QsICcxMCB5ZWFycyBhZ28nIHRoZSBDb21tZW50IGVsZW1lbnQgc2hvdWxkIGJlIHVzZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkFkZGl0aW9uYWwgdGV4dCBub3QgY2FwdHVyZWQgaW4gb3RoZXIgZmllbGRzIiBkZWZpbml0aW9uPSJBZGRpdGlvbmFsIG5hcnJhdGl2ZSBhYm91dCB0aGUgcHJvcGVuc2l0eSBmb3IgdGhlIEFkdmVyc2UgUmVhY3Rpb24sIG5vdCBjYXB0dXJlZCBpbiBvdGhlciBmaWVsZHMuIiBjb21tZW50PSJGb3IgZXhhbXBsZTogaW5jbHVkaW5nIHJlYXNvbiBmb3IgZmxhZ2dpbmcgYSBzZXJpb3VzbmVzcyBvZiAnSGlnaCBSaXNrJzsgYW5kIGluc3RydWN0aW9ucyByZWxhdGVkIHRvIGZ1dHVyZSBleHBvc3VyZSBvciBhZG1pbmlzdHJhdGlvbiBvZiB0aGUgc3Vic3RhbmNlLCBzdWNoIGFzIGFkbWluaXN0cmF0aW9uIHdpdGhpbiBhbiBJbnRlbnNpdmUgQ2FyZSBVbml0IG9yIHVuZGVyIGNvcnRpY29zdGVyb2lkIGNvdmVyLiBUaGUgbm90ZXMgc2hvdWxkIGJlIHJlbGF0ZWQgdG8gYW4gYWxsZXJneSBvciBpbnRvbGVyYW5jZSBhcyBhIGNvbmRpdGlvbiBpbiBnZW5lcmFsIGFuZCBub3QgcmVsYXRlZCB0byBhbnkgcGFydGljdWxhciBlcGlzb2RlIG9mIGl0LiBGb3IgZXBpc29kZSBub3RlcyBhbmQgZGVzY3JpcHRpb25zLCB1c2UgQWxsZXJneUludG9sZXJhbmNlLmV2ZW50LmRlc2NyaXB0aW9uIGFuZCAgQWxsZXJneUludG9sZXJhbmNlLmV2ZW50Lm5vdGVzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFjdGlvbiIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgQWR2ZXJzZSBSZWFjdGlvbiBFdmVudHMgbGlua2VkIHRvIGV4cG9zdXJlIHRvIHN1YnN0YW5jZSIgZGVmaW5pdGlvbj0iRGV0YWlscyBhYm91dCBlYWNoIGFkdmVyc2UgcmVhY3Rpb24gZXZlbnQgbGlua2VkIHRvIGV4cG9zdXJlIHRvIHRoZSBpZGVudGlmaWVkIHN1YnN0YW5jZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5BbGxlcmd5SW50b2xlcmFuY2UuUmVhY3Rpb24iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0icmVjb3JkZXIiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJhc3NlcnRlciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJwYXRpZW50Ii8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InJlY29yZGVyIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9ImFzc2VydGVyIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUmVsYXRlZFBlcnNvbiIgcmVsYXRlZEtleUVsZW1lbnQ9ImFzc2VydGVyIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBbGxlcmd5SW50b2xlcmFuY2UuUmVhY3Rpb24iIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YnN0YW5jZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU3BlY2lmaWMgc3Vic3RhbmNlIG9yIHBoYXJtYWNldXRpY2FsIHByb2R1Y3QgY29uc2lkZXJlZCB0byBiZSByZXNwb25zaWJsZSBmb3IgZXZlbnQiIGRlZmluaXRpb249IklkZW50aWZpY2F0aW9uIG9mIHRoZSBzcGVjaWZpYyBzdWJzdGFuY2UgKG9yIHBoYXJtYWNldXRpY2FsIHByb2R1Y3QpIGNvbnNpZGVyZWQgdG8gYmUgcmVzcG9uc2libGUgZm9yIHRoZSBBZHZlcnNlIFJlYWN0aW9uIGV2ZW50LiBOb3RlOiB0aGUgc3Vic3RhbmNlIGZvciBhIHNwZWNpZmljIHJlYWN0aW9uIG1heSBiZSBkaWZmZXJlbnQgZnJvbSB0aGUgc3Vic3RhbmNlIGlkZW50aWZpZWQgYXMgdGhlIGNhdXNlIG9mIHRoZSByaXNrLCBidXQgaXQgbXVzdCBiZSBjb25zaXN0ZW50IHdpdGggaXQuIEZvciBpbnN0YW5jZSwgaXQgbWF5IGJlIGEgbW9yZSBzcGVjaWZpYyBzdWJzdGFuY2UgKGUuZy4gYSBicmFuZCBtZWRpY2F0aW9uKSBvciBhIGNvbXBvc2l0ZSBwcm9kdWN0IHRoYXQgaW5jbHVkZXMgdGhlIGlkZW50aWZpZWQgc3Vic3RhbmNlLiBJdCBtdXN0IGJlIGNsaW5pY2FsbHkgc2FmZSB0byBvbmx5IHByb2Nlc3MgdGhlICdjb2RlJyBhbmQgaWdub3JlIHRoZSAncmVhY3Rpb24uc3Vic3RhbmNlJy4gIElmIGEgcmVjZWl2aW5nIHN5c3RlbSBpcyB1bmFibGUgdG8gY29uZmlybSB0aGF0IEFsbGVyZ3lJbnRvbGVyYW5jZS5yZWFjdGlvbi5zdWJzdGFuY2UgZmFsbHMgd2l0aGluIHRoZSBzZW1hbnRpYyBzY29wZSBvZiBBbGxlcmd5SW50b2xlcmFuY2UuY29kZSwgdGhlbiB0aGUgcmVjZWl2aW5nIHN5c3RlbSBzaG91bGQgaWdub3JlIEFsbGVyZ3lJbnRvbGVyYW5jZS5yZWFjdGlvbi5zdWJzdGFuY2UuIiBjb21tZW50PSJDb2Rpbmcgb2YgdGhlIHNwZWNpZmljIHN1YnN0YW5jZSAob3IgcGhhcm1hY2V1dGljYWwgcHJvZHVjdCkgd2l0aCBhIHRlcm1pbm9sb2d5IGNhcGFibGUgb2YgdHJpZ2dlcmluZyBkZWNpc2lvbiBzdXBwb3J0IHNob3VsZCBiZSB1c2VkIHdoZXJldmVyIHBvc3NpYmxlLiAgVGhlICdjb2RlJyBlbGVtZW50IGFsbG93cyBmb3IgdGhlIHVzZSBvZiBhIHNwZWNpZmljIHN1YnN0YW5jZSBvciBwaGFybWFjZXV0aWNhbCBwcm9kdWN0LCBvciBhIGdyb3VwIG9yIGNsYXNzIG9mIHN1YnN0YW5jZXMuIEluIHRoZSBjYXNlIG9mIGFuIGFsbGVyZ3kgb3IgaW50b2xlcmFuY2UgdG8gYSBjbGFzcyBvZiBzdWJzdGFuY2VzLCAoZm9yIGV4YW1wbGUsICZxdW90O3BlbmljaWxsaW5zJnF1b3Q7KSwgdGhlICdyZWFjdGlvbi5zdWJzdGFuY2UnIGVsZW1lbnQgY291bGQgYmUgdXNlZCB0byBjb2RlIHRoZSBzcGVjaWZpYyBzdWJzdGFuY2UgdGhhdCB3YXMgaWRlbnRpZmllZCBhcyBoYXZpbmcgY2F1c2VkIHRoZSByZWFjdGlvbiAoZm9yIGV4YW1wbGUsICZxdW90O2Ftb3h5Y2lsbGluJnF1b3Q7KS4gRHVwbGljYXRpb24gb2YgdGhlIHZhbHVlIGluIHRoZSAnY29kZScgYW5kICdyZWFjdGlvbi5zdWJzdGFuY2UnIGVsZW1lbnRzIGlzIGFjY2VwdGFibGUgd2hlbiBhIHNwZWNpZmljIHN1YnN0YW5jZSBoYXMgYmVlbiByZWNvcmRlZCBpbiAnY29kZScuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU3Vic3RhbmNlQ29kZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlZmluaW5nIHRoZSB0eXBlIG9mIHRoZSBzdWJzdGFuY2UgKGluY2x1ZGluZyBwaGFybWFjZXV0aWNhbCBwcm9kdWN0cykuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtYW5pZmVzdGF0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBDbGluaWNhbCBzeW1wdG9tcy9zaWducyBhc3NvY2lhdGVkIHdpdGggdGhlIEV2ZW50IiBkZWZpbml0aW9uPSJDbGluaWNhbCBzeW1wdG9tcyBhbmQvb3Igc2lnbnMgdGhhdCBhcmUgb2JzZXJ2ZWQgb3IgYXNzb2NpYXRlZCB3aXRoIHRoZSBhZHZlcnNlIHJlYWN0aW9uIGV2ZW50LiIgY29tbWVudD0iTWFuaWZlc3RhdGlvbiBjYW4gYmUgZXhwcmVzc2VkIGFzIGEgc2luZ2xlIHdvcmQsIHBocmFzZSBvciBicmllZiBkZXNjcmlwdGlvbi4gRm9yIGV4YW1wbGU6IG5hdXNlYSwgcmFzaCBvciBubyByZWFjdGlvbi4gSXQgaXMgcHJlZmVyYWJsZSB0aGF0IG1hbmlmZXN0YXRpb24gc2hvdWxkIGJlIGNvZGVkIHdpdGggYSB0ZXJtaW5vbG9neSwgd2hlcmUgcG9zc2libGUuIFRoZSB2YWx1ZXMgZW50ZXJlZCBoZXJlIG1heSBiZSB1c2VkIHRvIGRpc3BsYXkgb24gYW4gYXBwbGljYXRpb24gc2NyZWVuIGFzIHBhcnQgb2YgYSBsaXN0IG9mIGFkdmVyc2UgcmVhY3Rpb25zLCBhcyByZWNvbW1lbmRlZCBpbiB0aGUgVUsgTkhTIENVSSBndWlkZWxpbmVzLiAgVGVybWlub2xvZ2llcyBjb21tb25seSB1c2VkIGluY2x1ZGUsIGJ1dCBhcmUgbm90IGxpbWl0ZWQgdG8sIFNOT01FRCBDVCBvciBJQ0QxMC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRlc2NyaXB0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEZXNjcmlwdGlvbiBvZiB0aGUgZXZlbnQgYXMgYSB3aG9sZSIgZGVmaW5pdGlvbj0iVGV4dCBkZXNjcmlwdGlvbiBhYm91dCB0aGUgcmVhY3Rpb24gYXMgYSB3aG9sZSwgaW5jbHVkaW5nIGRldGFpbHMgb2YgdGhlIG1hbmlmZXN0YXRpb24gaWYgcmVxdWlyZWQuIiBjb21tZW50PSJVc2UgdGhlIGRlc2NyaXB0aW9uIHRvIHByb3ZpZGUgYW55IGRldGFpbHMgb2YgYSBwYXJ0aWN1bGFyIGV2ZW50IG9mIHRoZSBvY2N1cnJlZCByZWFjdGlvbiBzdWNoIGFzIGNpcmN1bXN0YW5jZXMsIHJlYWN0aW9uIHNwZWNpZmljcywgd2hhdCBoYXBwZW5lZCBiZWZvcmUvYWZ0ZXIuIEluZm9ybWF0aW9uLCByZWxhdGVkIHRvIHRoZSBldmVudCwgYnV0IG5vdCBkZXNjcmliaW5nIGEgcGFydGljdWxhciBjYXJlIHNob3VsZCBiZSBjYXB0dXJlZCBpbiB0aGUgY29tbWVudCBmaWVsZC4gRm9yIGV4YW1wbGU6IGF0IHRoZSBhZ2Ugb2YgZm91ciwgdGhlIHBhdGllbnQgd2FzIGdpdmVuIHBlbmljaWxsaW4gZm9yIHN0cmVwIHRocm9hdCBhbmQgc3Vic2VxdWVudGx5IGRldmVsb3BlZCBzZXZlcmUgaGl2ZXMuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ib25zZXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZSgvdGltZSkgd2hlbiBtYW5pZmVzdGF0aW9ucyBzaG93ZWQiIGRlZmluaXRpb249IlJlY29yZCBvZiB0aGUgZGF0ZSBhbmQvb3IgdGltZSBvZiB0aGUgb25zZXQgb2YgdGhlIFJlYWN0aW9uLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InNldmVyaXR5IiBlbGVtZW50VHlwZT0iUUlDb3JlLkFsbGVyZ3lJbnRvbGVyYW5jZVNldmVyaXR5IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBtaWxkIHwgbW9kZXJhdGUgfCBzZXZlcmUgKG9mIGV2ZW50IGFzIGEgd2hvbGUpIiBkZWZpbml0aW9uPSJDbGluaWNhbCBhc3Nlc3NtZW50IG9mIHRoZSBzZXZlcml0eSBvZiB0aGUgcmVhY3Rpb24gZXZlbnQgYXMgYSB3aG9sZSwgcG90ZW50aWFsbHkgY29uc2lkZXJpbmcgbXVsdGlwbGUgZGlmZmVyZW50IG1hbmlmZXN0YXRpb25zLiIgY29tbWVudD0iSXQgaXMgYWNrbm93bGVkZ2VkIHRoYXQgdGhpcyBhc3Nlc3NtZW50IGlzIHZlcnkgc3ViamVjdGl2ZS4gVGhlcmUgbWF5IGJlIHNvbWUgc3BlY2lmaWMgcHJhY3RpY2UgZG9tYWlucyB3aGVyZSBvYmplY3RpdmUgc2NhbGVzIGhhdmUgYmVlbiBhcHBsaWVkLiBPYmplY3RpdmUgc2NhbGVzIGNhbiBiZSBpbmNsdWRlZCBpbiB0aGlzIG1vZGVsIGFzIGV4dGVuc2lvbnMuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQWxsZXJneUludG9sZXJhbmNlU2V2ZXJpdHkiIGRlc2NyaXB0aW9uPSJDbGluaWNhbCBhc3Nlc3NtZW50IG9mIHRoZSBzZXZlcml0eSBvZiBhIHJlYWN0aW9uIGV2ZW50IGFzIGEgd2hvbGUsIHBvdGVudGlhbGx5IGNvbnNpZGVyaW5nIG11bHRpcGxlIGRpZmZlcmVudCBtYW5pZmVzdGF0aW9ucy4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJleHBvc3VyZVJvdXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIb3cgdGhlIHN1YmplY3Qgd2FzIGV4cG9zZWQgdG8gdGhlIHN1YnN0YW5jZSIgZGVmaW5pdGlvbj0iSWRlbnRpZmljYXRpb24gb2YgdGhlIHJvdXRlIGJ5IHdoaWNoIHRoZSBzdWJqZWN0IHdhcyBleHBvc2VkIHRvIHRoZSBzdWJzdGFuY2UuIiBjb21tZW50PSJDb2Rpbmcgb2YgdGhlIHJvdXRlIG9mIGV4cG9zdXJlIHdpdGggYSB0ZXJtaW5vbG9neSBzaG91bGQgYmUgdXNlZCB3aGVyZXZlciBwb3NzaWJsZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJSb3V0ZU9mQWRtaW5pc3RyYXRpb24iIGRlc2NyaXB0aW9uPSJBIGNvZGVkIGNvbmNlcHQgZGVzY3JpYmluZyB0aGUgcm91dGUgb3IgcGh5c2lvbG9naWNhbCBwYXRoIG9mIGFkbWluaXN0cmF0aW9uIG9mIGEgdGhlcmFwZXV0aWMgYWdlbnQgaW50byBvciBvbnRvIHRoZSBib2R5IG9mIGEgc3ViamVjdC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJUZXh0IGFib3V0IGV2ZW50IG5vdCBjYXB0dXJlZCBpbiBvdGhlciBmaWVsZHMiIGRlZmluaXRpb249IkFkZGl0aW9uYWwgdGV4dCBhYm91dCB0aGUgYWR2ZXJzZSByZWFjdGlvbiBldmVudCBub3QgY2FwdHVyZWQgaW4gb3RoZXIgZmllbGRzLiIgY29tbWVudD0iVXNlIHRoaXMgZmllbGQgdG8gcmVjb3JkIGluZm9ybWF0aW9uIGluZGlyZWN0bHkgcmVsYXRlZCB0byBhIHBhcnRpY3VsYXIgZXZlbnQgYW5kIG5vdCBjYXB0dXJlZCBpbiB0aGUgZGVzY3JpcHRpb24uIEZvciBleGFtcGxlOiBDbGluaWNhbCByZWNvcmRzIGFyZSBubyBsb25nZXIgYXZhaWxhYmxlLCByZWNvcmRlZCBiYXNlZCBvbiBpbmZvcm1hdGlvbiBwcm92aWRlZCB0byB0aGUgcGF0aWVudCBieSBoZXIgbW90aGVyIGFuZCBoZXIgbW90aGVyIGlzIGRlY2Vhc2VkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkFsbGVyZ3lJbnRvbGVyYW5jZUNhdGVnb3J5IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkFsbGVyZ3lJbnRvbGVyYW5jZUNyaXRpY2FsaXR5IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkFsbGVyZ3lJbnRvbGVyYW5jZVNldmVyaXR5IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQW5ub3RhdGlvbiIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0Fubm90YXRpb24iIGxhYmVsPSJBbm5vdGF0aW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkluZGl2aWR1YWwgcmVzcG9uc2libGUgZm9yIHRoZSBhbm5vdGF0aW9uIiBkZWZpbml0aW9uPSJUaGUgaW5kaXZpZHVhbCByZXNwb25zaWJsZSBmb3IgbWFraW5nIHRoZSBhbm5vdGF0aW9uLiIgY29tbWVudD0iT3JnYW5pemF0aW9uIGlzIHVzZWQgd2hlbiB0aGVyZSdzIG5vIG5lZWQgZm9yIHNwZWNpZmljIGF0dHJpYnV0aW9uIGFzIHRvIHdobyBtYWRlIHRoZSBjb21tZW50LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0aW1lIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gdGhlIGFubm90YXRpb24gd2FzIG1hZGUiIGRlZmluaXRpb249IkluZGljYXRlcyB3aGVuIHRoaXMgcGFydGljdWxhciBhbm5vdGF0aW9uIHdhcyBtYWRlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InRleHQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSBhbm5vdGF0aW9uICAtIHRleHQgY29udGVudCAoYXMgbWFya2Rvd24pIiBkZWZpbml0aW9uPSJUaGUgdGV4dCBvZiB0aGUgYW5ub3RhdGlvbiBpbiBtYXJrZG93biBmb3JtYXQuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBdHRhY2htZW50IiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vQXR0YWNobWVudCIgbGFiZWw9IkF0dGFjaG1lbnQiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5FbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb250ZW50VHlwZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5NaW1lVHlwZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJNaW1lIHR5cGUgb2YgdGhlIGNvbnRlbnQsIHdpdGggY2hhcnNldCBldGMuIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHRoZSB0eXBlIG9mIHRoZSBkYXRhIGluIHRoZSBhdHRhY2htZW50IGFuZCBhbGxvd3MgYSBtZXRob2QgdG8gYmUgY2hvc2VuIHRvIGludGVycHJldCBvciByZW5kZXIgdGhlIGRhdGEuIEluY2x1ZGVzIG1pbWUgdHlwZSBwYXJhbWV0ZXJzIHN1Y2ggYXMgY2hhcnNldCB3aGVyZSBhcHByb3ByaWF0ZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJNaW1lVHlwZSIgZGVzY3JpcHRpb249IlRoZSBtaW1lIHR5cGUgb2YgYW4gYXR0YWNobWVudC4gQW55IHZhbGlkIG1pbWUgdHlwZSBpcyBhbGxvd2VkLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imxhbmd1YWdlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJIdW1hbiBsYW5ndWFnZSBvZiB0aGUgY29udGVudCAoQkNQLTQ3KSIgZGVmaW5pdGlvbj0iVGhlIGh1bWFuIGxhbmd1YWdlIG9mIHRoZSBjb250ZW50LiBUaGUgdmFsdWUgY2FuIGJlIGFueSB2YWxpZCB2YWx1ZSBhY2NvcmRpbmcgdG8gQkNQIDQ3LiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ikxhbmd1YWdlIiBkZXNjcmlwdGlvbj0iQSBodW1hbiBsYW5ndWFnZS4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0YSBpbmxpbmUsIGJhc2U2NGVkIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGRhdGEgb2YgdGhlIGF0dGFjaG1lbnQgLSBhIHNlcXVlbmNlIG9mIGJ5dGVzLCBiYXNlNjQgZW5jb2RlZC4iIGNvbW1lbnQ9IlRoZSBiYXNlNjQtZW5jb2RlZCBkYXRhIFNIQUxMIGJlIGV4cHJlc3NlZCBpbiB0aGUgc2FtZSBjaGFyYWN0ZXIgc2V0IGFzIHRoZSBiYXNlIHJlc291cmNlIFhNTCBvciBKU09OLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InVybCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVXJpIHdoZXJlIHRoZSBkYXRhIGNhbiBiZSBmb3VuZCIgZGVmaW5pdGlvbj0iQSBsb2NhdGlvbiB3aGVyZSB0aGUgZGF0YSBjYW4gYmUgYWNjZXNzZWQuIiBjb21tZW50PSJJZiBib3RoIGRhdGEgYW5kIHVybCBhcmUgcHJvdmlkZWQsIHRoZSB1cmwgU0hBTEwgcG9pbnQgdG8gdGhlIHNhbWUgY29udGVudCBhcyB0aGUgZGF0YSBjb250YWlucy4gVXJscyBtYXkgYmUgcmVsYXRpdmUgcmVmZXJlbmNlcyBvciBtYXkgcmVmZXJlbmNlIHRyYW5zaWVudCBsb2NhdGlvbnMgc3VjaCBhcyBhIHdyYXBwaW5nIGVudmVsb3BlIHVzaW5nIGNpZDogdGhvdWdoIHRoaXMgaGFzIHJhbWlmaWNhdGlvbnMgZm9yIHVzaW5nIHNpZ25hdHVyZXMuIFJlbGF0aXZlIFVSTHMgYXJlIGludGVycHJldGVkIHJlbGF0aXZlIHRvIHRoZSBzZXJ2aWNlIHVybCwgbGlrZSBhIHJlc291cmNlIHJlZmVyZW5jZSwgcmF0aGVyIHRoYW4gcmVsYXRpdmUgdG8gdGhlIHJlc291cmNlIGl0c2VsZi4gSWYgYSBVUkwgaXMgcHJvdmlkZWQsIGl0IFNIQUxMIHJlc29sdmUgdG8gYWN0dWFsIGRhdGEuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic2l6ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik51bWJlciBvZiBieXRlcyBvZiBjb250ZW50IChpZiB1cmwgcHJvdmlkZWQpIiBkZWZpbml0aW9uPSJUaGUgbnVtYmVyIG9mIGJ5dGVzIG9mIGRhdGEgdGhhdCBtYWtlIHVwIHRoaXMgYXR0YWNobWVudCAoYmVmb3JlIGJhc2U2NCBlbmNvZGluZywgaWYgdGhhdCBpcyBkb25lKS4iIGNvbW1lbnQ9IlRoZSBudW1iZXIgb2YgYnl0ZXMgaXMgcmVkdW5kYW50IGlmIHRoZSBkYXRhIGlzIHByb3ZpZGVkIGFzIGEgYmFzZTY0YmluYXJ5LCBidXQgaXMgdXNlZnVsIGlmIHRoZSBkYXRhIGlzIHByb3ZpZGVkIGFzIGEgdXJsIHJlZmVyZW5jZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJoYXNoIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJIYXNoIG9mIHRoZSBkYXRhIChzaGEtMSwgYmFzZTY0ZWQpIiBkZWZpbml0aW9uPSJUaGUgY2FsY3VsYXRlZCBoYXNoIG9mIHRoZSBkYXRhIHVzaW5nIFNIQS0xLiBSZXByZXNlbnRlZCB1c2luZyBiYXNlNjQuIiBjb21tZW50PSJUaGUgaGFzaCBpcyBjYWxjdWxhdGVkIG9uIHRoZSBkYXRhIHByaW9yIHRvIGJhc2U2NCBlbmNvZGluZywgaWYgdGhlIGRhdGEgaXMgYmFzZWQ2NCBlbmNvZGVkLiBUaGUgaGFzaCBpcyBub3QgaW50ZW5kZWQgdG8gc3VwcG9ydCBkaWdpdGFsIHNpZ25hdHVyZXMuIFdoZXJlIHByb3RlY3Rpb24gYWdhaW5zdCBtYWxpY2lvdXMgdGhyZWF0cyBhIGRpZ2l0YWwgc2lnbmF0dXJlIHNob3VsZCBiZSBjb25zaWRlcmVkLCBzZWUgW1Byb3ZlbmFuY2Uuc2lnbmF0dXJlXShwcm92ZW5hbmNlLWRlZmluaXRpb25zLmh0bWwjUHJvdmVuYW5jZS5zaWduYXR1cmUpIGZvciBtZWNoYW5pc20gdG8gcHJvdGVjdCBhIHJlc291cmNlIHdpdGggYSBkaWdpdGFsIHNpZ25hdHVyZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0aXRsZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTGFiZWwgdG8gZGlzcGxheSBpbiBwbGFjZSBvZiB0aGUgZGF0YSIgZGVmaW5pdGlvbj0iQSBsYWJlbCBvciBzZXQgb2YgdGV4dCB0byBkaXNwbGF5IGluIHBsYWNlIG9mIHRoZSBkYXRhLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNyZWF0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUgYXR0YWNobWVudCB3YXMgZmlyc3QgY3JlYXRlZCIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgdGhhdCB0aGUgYXR0YWNobWVudCB3YXMgZmlyc3QgY3JlYXRlZC4iLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkJhY2tib25lRWxlbWVudCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0JhY2tib25lRWxlbWVudCIgbGFiZWw9IkJhY2tib25lRWxlbWVudCIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1vZGlmaWVyRXh0ZW5zaW9uIiBkZXNjcmlwdGlvbj0iRXh0ZW5zaW9ucyB0aGF0IGNhbm5vdCBiZSBpZ25vcmVkIGV2ZW4gaWYgdW5yZWNvZ25pemVkIiBkZWZpbml0aW9uPSJNYXkgYmUgdXNlZCB0byByZXByZXNlbnQgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiB0aGF0IGlzIG5vdCBwYXJ0IG9mIHRoZSBiYXNpYyBkZWZpbml0aW9uIG9mIHRoZSBlbGVtZW50IGFuZCB0aGF0IG1vZGlmaWVzIHRoZSB1bmRlcnN0YW5kaW5nIG9mIHRoZSBlbGVtZW50IGluIHdoaWNoIGl0IGlzIGNvbnRhaW5lZCBhbmQvb3IgdGhlIHVuZGVyc3RhbmRpbmcgb2YgdGhlIGNvbnRhaW5pbmcgZWxlbWVudCdzIGRlc2NlbmRhbnRzLiBVc3VhbGx5IG1vZGlmaWVyIGVsZW1lbnRzIHByb3ZpZGUgbmVnYXRpb24gb3IgcXVhbGlmaWNhdGlvbi4gVG8gbWFrZSB0aGUgdXNlIG9mIGV4dGVuc2lvbnMgc2FmZSBhbmQgbWFuYWdlYWJsZSwgdGhlcmUgaXMgYSBzdHJpY3Qgc2V0IG9mIGdvdmVybmFuY2UgYXBwbGllZCB0byB0aGUgZGVmaW5pdGlvbiBhbmQgdXNlIG9mIGV4dGVuc2lvbnMuIFRob3VnaCBhbnkgaW1wbGVtZW50ZXIgY2FuIGRlZmluZSBhbiBleHRlbnNpb24sIHRoZXJlIGlzIGEgc2V0IG9mIHJlcXVpcmVtZW50cyB0aGF0IFNIQUxMIGJlIG1ldCBhcyBwYXJ0IG9mIHRoZSBkZWZpbml0aW9uIG9mIHRoZSBleHRlbnNpb24uIEFwcGxpY2F0aW9ucyBwcm9jZXNzaW5nIGEgcmVzb3VyY2UgYXJlIHJlcXVpcmVkIHRvIGNoZWNrIGZvciBtb2RpZmllciBleHRlbnNpb25zLiYjMTA7JiMxMDtNb2RpZmllciBleHRlbnNpb25zIFNIQUxMIE5PVCBjaGFuZ2UgdGhlIG1lYW5pbmcgb2YgYW55IGVsZW1lbnRzIG9uIFJlc291cmNlIG9yIERvbWFpblJlc291cmNlIChpbmNsdWRpbmcgY2Fubm90IGNoYW5nZSB0aGUgbWVhbmluZyBvZiBtb2RpZmllckV4dGVuc2lvbiBpdHNlbGYpLiIgY29tbWVudD0iVGhlcmUgY2FuIGJlIG5vIHN0aWdtYSBhc3NvY2lhdGVkIHdpdGggdGhlIHVzZSBvZiBleHRlbnNpb25zIGJ5IGFueSBhcHBsaWNhdGlvbiwgcHJvamVjdCwgb3Igc3RhbmRhcmQgLSByZWdhcmRsZXNzIG9mIHRoZSBpbnN0aXR1dGlvbiBvciBqdXJpc2RpY3Rpb24gdGhhdCB1c2VzIG9yIGRlZmluZXMgdGhlIGV4dGVuc2lvbnMuICBUaGUgdXNlIG9mIGV4dGVuc2lvbnMgaXMgd2hhdCBhbGxvd3MgdGhlIEZISVIgc3BlY2lmaWNhdGlvbiB0byByZXRhaW4gYSBjb3JlIGxldmVsIG9mIHNpbXBsaWNpdHkgZm9yIGV2ZXJ5b25lLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRXh0ZW5zaW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQm9keVN0cnVjdHVyZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtYm9keXN0cnVjdHVyZSIgbGFiZWw9IlFJQ29yZSBCb2R5U3RydWN0dXJlIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJsb2NhdGlvbiIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkJvZHlzdHJ1Y3R1cmUgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iSWRlbnRpZmllciBmb3IgdGhpcyBpbnN0YW5jZSBvZiB0aGUgYW5hdG9taWNhbCBzdHJ1Y3R1cmUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImFjdGl2ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Cb29sZWFuIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBXaGV0aGVyIHRoaXMgcmVjb3JkIGlzIGluIGFjdGl2ZSB1c2UiIGRlZmluaXRpb249IldoZXRoZXIgdGhpcyBib2R5IHNpdGUgaXMgaW4gYWN0aXZlIHVzZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSBpdCBtYXkgYmUgdXNlZCB0byBtYXJrIHRoYXQgdGhlIHJlc291cmNlIHdhcyBjcmVhdGVkIGluIGVycm9yLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1vcnBob2xvZ3kiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IktpbmQgb2YgU3RydWN0dXJlIiBkZWZpbml0aW9uPSJUaGUga2luZCBvZiBzdHJ1Y3R1cmUgYmVpbmcgcmVwcmVzZW50ZWQgYnkgdGhlIGJvZHkgc3RydWN0dXJlIGF0IGBCb2R5U3RydWN0dXJlLmxvY2F0aW9uYC4gIFRoaXMgY2FuIGRlZmluZSBib3RoIG5vcm1hbCBhbmQgYWJub3JtYWwgbW9ycGhvbG9naWVzLiIgY29tbWVudD0iVGhlIG1pbmltdW0gY2FyZGluYWxpdHkgb2YgMCBzdXBwb3J0cyB0aGUgdXNlIGNhc2Ugb2Ygc3BlY2lmeWluZyBhIGxvY2F0aW9uIHdpdGhvdXQgZGVmaW5pbmcgYSBtb3JwaG9sb2d5LiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTdHJ1Y3R1cmVDb2RlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pYyBtb3JwaG9sb2d5LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibG9jYXRpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBCb2R5IHNpdGUiIGRlZmluaXRpb249IlRoZSBhbmF0b21pY2FsIGxvY2F0aW9uIG9yIHJlZ2lvbiBvZiB0aGUgc3BlY2ltZW4sIGxlc2lvbiwgb3IgYm9keSBzdHJ1Y3R1cmUuIj4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvblF1YWxpZmllciIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBCb2R5IHNpdGUgbW9kaWZpZXIiIGRlZmluaXRpb249IlF1YWxpZmllciB0byByZWZpbmUgdGhlIGFuYXRvbWljYWwgbG9jYXRpb24uICBUaGVzZSBpbmNsdWRlIHF1YWxpZmllcnMgZm9yIGxhdGVyYWxpdHksIHJlbGF0aXZlIGxvY2F0aW9uLCBkaXJlY3Rpb25hbGl0eSwgbnVtYmVyLCBhbmQgcGxhbmUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJDb25jZXB0cyBtb2RpZnlpbmcgdGhlIGFuYXRvbWljIGxvY2F0aW9uIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRlc2NyaXB0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUZXh0IGRlc2NyaXB0aW9uIiBkZWZpbml0aW9uPSJBIHN1bW1hcnksIGNoYXJhY3Rlcml6YXRpb24gb3IgZXhwbGFuYXRpb24gb2YgdGhlIGJvZHkgc3RydWN0dXJlLiIgY29tbWVudD0iVGhpcyBkZXNjcmlwdGlvbiBjb3VsZCBpbmNsdWRlIGFueSB2aXN1YWwgbWFya2luZ3MgdXNlZCB0byBvcmllbnRhdGUgdGhlIHZpZXdlciBlLmcuIGV4dGVybmFsIHJlZmVyZW5jZSBwb2ludHMsIHNwZWNpYWwgc3V0dXJlcywgaW5rIG1hcmtpbmdzLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImltYWdlIiBkZXNjcmlwdGlvbj0iQXR0YWNoZWQgaW1hZ2VzIiBkZWZpbml0aW9uPSJJbWFnZSBvciBpbWFnZXMgdXNlZCB0byBpZGVudGlmeSBhIGxvY2F0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQXR0YWNobWVudCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXRpZW50IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBXaG8gdGhpcyBpcyBhYm91dCIgZGVmaW5pdGlvbj0iVGhlIHBlcnNvbiB0byB3aGljaCB0aGUgYm9keSBzaXRlIGJlbG9uZ3MuIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBhdGllbnQiLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNhcmVQbGFuIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1jYXJlcGxhbiIgbGFiZWw9IlFJQ29yZSBDYXJlUGxhbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY2F0ZWdvcnkiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJFeHRlcm5hbCBJZHMgZm9yIHRoaXMgcGxhbiIgZGVmaW5pdGlvbj0iQnVzaW5lc3MgaWRlbnRpZmllcnMgYXNzaWduZWQgdG8gdGhpcyBjYXJlIHBsYW4gYnkgdGhlIHBlcmZvcm1lciBvciBvdGhlciBzeXN0ZW1zIHdoaWNoIHJlbWFpbiBjb25zdGFudCBhcyB0aGUgcmVzb3VyY2UgaXMgdXBkYXRlZCBhbmQgcHJvcGFnYXRlcyBmcm9tIHNlcnZlciB0byBzZXJ2ZXIuIiBjb21tZW50PSJUaGlzIGlzIGEgYnVzaW5lc3MgaWRlbnRpZmllciwgbm90IGEgcmVzb3VyY2UgaWRlbnRpZmllciAoc2VlIFtkaXNjdXNzaW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3Jlc291cmNlLmh0bWwjaWRlbnRpZmllcnMpKS4gIEl0IGlzIGJlc3QgcHJhY3RpY2UgZm9yIHRoZSBpZGVudGlmaWVyIHRvIG9ubHkgYXBwZWFyIG9uIGEgc2luZ2xlIHJlc291cmNlIGluc3RhbmNlLCBob3dldmVyIGJ1c2luZXNzIHByYWN0aWNlcyBtYXkgb2NjYXNpb25hbGx5IGRpY3RhdGUgdGhhdCBtdWx0aXBsZSByZXNvdXJjZSBpbnN0YW5jZXMgd2l0aCB0aGUgc2FtZSBpZGVudGlmaWVyIGNhbiBleGlzdCAtIHBvc3NpYmx5IGV2ZW4gd2l0aCBkaWZmZXJlbnQgcmVzb3VyY2UgdHlwZXMuICBGb3IgZXhhbXBsZSwgbXVsdGlwbGUgUGF0aWVudCBhbmQgYSBQZXJzb24gcmVzb3VyY2UgaW5zdGFuY2UgbWlnaHQgc2hhcmUgdGhlIHNhbWUgc29jaWFsIGluc3VyYW5jZSBudW1iZXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc0Nhbm9uaWNhbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgRkhJUiBwcm90b2NvbCBvciBkZWZpbml0aW9uIiBkZWZpbml0aW9uPSJUaGUgVVJMIHBvaW50aW5nIHRvIGEgRkhJUi1kZWZpbmVkIHByb3RvY29sLCBndWlkZWxpbmUsIHF1ZXN0aW9ubmFpcmUgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIENhcmVQbGFuLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc1VyaSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgZXh0ZXJuYWwgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhbiBleHRlcm5hbGx5IG1haW50YWluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgcXVlc3Rpb25uYWlyZSBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgQ2FyZVBsYW4uIiBjb21tZW50PSJUaGlzIG1pZ2h0IGJlIGFuIEhUTUwgcGFnZSwgUERGLCBldGMuIG9yIGNvdWxkIGp1c3QgYmUgYSBub24tcmVzb2x2YWJsZSBVUkkgaWRlbnRpZmllci4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgQ2FyZVBsYW4iIGRlZmluaXRpb249IkEgY2FyZSBwbGFuIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBjYXJlIHBsYW4uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVwbGFjZXMiIGRlc2NyaXB0aW9uPSJDYXJlUGxhbiByZXBsYWNlZCBieSB0aGlzIENhcmVQbGFuIiBkZWZpbml0aW9uPSJDb21wbGV0ZWQgb3IgdGVybWluYXRlZCBjYXJlIHBsYW4gd2hvc2UgZnVuY3Rpb24gaXMgdGFrZW4gYnkgdGhpcyBuZXcgY2FyZSBwbGFuLiIgY29tbWVudD0iVGhlIHJlcGxhY2VtZW50IGNvdWxkIGJlIGJlY2F1c2UgdGhlIGluaXRpYWwgY2FyZSBwbGFuIHdhcyBpbW1lZGlhdGVseSByZWplY3RlZCAoZHVlIHRvIGFuIGlzc3VlKSBvciBiZWNhdXNlIHRoZSBwcmV2aW91cyBjYXJlIHBsYW4gd2FzIGNvbXBsZXRlZCwgYnV0IHRoZSBuZWVkIGZvciB0aGUgYWN0aW9uIGRlc2NyaWJlZCBieSB0aGUgY2FyZSBwbGFuIHJlbWFpbnMgb25nb2luZy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgQ2FyZVBsYW4iIGRlZmluaXRpb249IkEgbGFyZ2VyIGNhcmUgcGxhbiBvZiB3aGljaCB0aGlzIHBhcnRpY3VsYXIgY2FyZSBwbGFuIGlzIGEgY29tcG9uZW50IG9yIHN0ZXAuIiBjb21tZW50PSJFYWNoIGNhcmUgcGxhbiBpcyBhbiBpbmRlcGVuZGVudCByZXF1ZXN0LCBzdWNoIHRoYXQgaGF2aW5nIGEgY2FyZSBwbGFuIGJlIHBhcnQgb2YgYW5vdGhlciBjYXJlIHBsYW4gY2FuIGNhdXNlIGlzc3VlcyB3aXRoIGNhc2NhZGluZyBzdGF0dXNlcy4gIEFzIHN1Y2gsIHRoaXMgZWxlbWVudCBpcyBzdGlsbCBiZWluZyBkaXNjdXNzZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoVVNDREkpIGRyYWZ0IHwgYWN0aXZlIHwgb24taG9sZCB8IHJldm9rZWQgfCBjb21wbGV0ZWQgfCBlbnRlcmVkLWluLWVycm9yIHwgdW5rbm93biIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHBsYW4gaXMgY3VycmVudGx5IGJlaW5nIGFjdGVkIHVwb24sIHJlcHJlc2VudHMgZnV0dXJlIGludGVudGlvbnMgb3IgaXMgbm93IGEgaGlzdG9yaWNhbCByZWNvcmQuIiBjb21tZW50PSJUaGUgdW5rbm93biBjb2RlIGlzIG5vdCB0byBiZSB1c2VkIHRvIGNvbnZleSBvdGhlciBzdGF0dXNlcy4gIFRoZSB1bmtub3duIGNvZGUgc2hvdWxkIGJlIHVzZWQgd2hlbiBvbmUgb2YgdGhlIHN0YXR1c2VzIGFwcGxpZXMsIGJ1dCB0aGUgYXV0aG9yaW5nIHN5c3RlbSBkb2Vzbid0IGtub3cgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIGNhcmUgcGxhbi4mIzEwOyYjMTA7VGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgdGhlIGNvZGUgZW50ZXJlZC1pbi1lcnJvciB0aGF0IG1hcmtzIHRoZSBwbGFuIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgd2hldGhlciB0aGUgcGxhbiBpcyBjdXJyZW50bHkgYmVpbmcgYWN0ZWQgdXBvbiwgcmVwcmVzZW50cyBmdXR1cmUgaW50ZW50aW9ucyBvciBpcyBub3cgYSBoaXN0b3JpY2FsIHJlY29yZC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlbnQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihVU0NESSkgcHJvcG9zYWwgfCBwbGFuIHwgb3JkZXIgfCBvcHRpb24iIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgbGV2ZWwgb2YgYXV0aG9yaXR5L2ludGVudGlvbmFsaXR5IGFzc29jaWF0ZWQgd2l0aCB0aGUgY2FyZSBwbGFuIGFuZCB3aGVyZSB0aGUgY2FyZSBwbGFuIGZpdHMgaW50byB0aGUgd29ya2Zsb3cgY2hhaW4uIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIGludGVudCBhbHRlcnMgd2hlbiBhbmQgaG93IHRoZSByZXNvdXJjZSBpcyBhY3R1YWxseSBhcHBsaWNhYmxlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQ29kZXMgaW5kaWNhdGluZyB0aGUgZGVncmVlIG9mIGF1dGhvcml0eS9pbnRlbnRpb25hbGl0eSBhc3NvY2lhdGVkIHdpdGggYSBjYXJlIHBsYW4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgVHlwZSBvZiBwbGFuIiBkZWZpbml0aW9uPSJUeXBlIG9mIHBsYW4uIiBjb21tZW50PSJUaGVyZSBtYXkgYmUgbXVsdGlwbGUgYXhlcyBvZiBjYXRlZ29yaXphdGlvbiBhbmQgb25lIHBsYW4gbWF5IHNlcnZlIG11bHRpcGxlIHB1cnBvc2VzLiAgSW4gc29tZSBjYXNlcywgdGhpcyBtYXkgYmUgcmVkdW5kYW50IHdpdGggcmVmZXJlbmNlcyB0byBDYXJlUGxhbi5jb25jZXJuLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ2FyZVBsYW5DYXRlZ29yeSIgZGVzY3JpcHRpb249IklkZW50aWZpZXMgd2hhdCAmcXVvdDtraW5kJnF1b3Q7IG9mIHBsYW4gdGhpcyBpcyB0byBzdXBwb3J0IGRpZmZlcmVudGlhdGlvbiBiZXR3ZWVuIG11bHRpcGxlIGNvLWV4aXN0aW5nIHBsYW5zOyBlLmcuICZxdW90O0hvbWUgaGVhbHRoJnF1b3Q7LCAmcXVvdDtwc3ljaGlhdHJpYyZxdW90OywgJnF1b3Q7YXN0aG1hJnF1b3Q7LCAmcXVvdDtkaXNlYXNlIG1hbmFnZW1lbnQmcXVvdDssIGV0Yy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iQXNzZXNzUGxhbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBUeXBlIG9mIHBsYW4iIGRlZmluaXRpb249IlR5cGUgb2YgcGxhbi4iIGNvbW1lbnQ9IlRoZXJlIG1heSBiZSBtdWx0aXBsZSBheGVzIG9mIGNhdGVnb3JpemF0aW9uIGFuZCBvbmUgcGxhbiBtYXkgc2VydmUgbXVsdGlwbGUgcHVycG9zZXMuICBJbiBzb21lIGNhc2VzLCB0aGlzIG1heSBiZSByZWR1bmRhbnQgd2l0aCByZWZlcmVuY2VzIHRvIENhcmVQbGFuLmNvbmNlcm4uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNhcmVQbGFuQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVzIHdoYXQgJnF1b3Q7a2luZCZxdW90OyBvZiBwbGFuIHRoaXMgaXMgdG8gc3VwcG9ydCBkaWZmZXJlbnRpYXRpb24gYmV0d2VlbiBtdWx0aXBsZSBjby1leGlzdGluZyBwbGFuczsgZS5nLiAmcXVvdDtIb21lIGhlYWx0aCZxdW90OywgJnF1b3Q7cHN5Y2hpYXRyaWMmcXVvdDssICZxdW90O2FzdGhtYSZxdW90OywgJnF1b3Q7ZGlzZWFzZSBtYW5hZ2VtZW50JnF1b3Q7LCBldGMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InRpdGxlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJIdW1hbi1mcmllbmRseSBuYW1lIGZvciB0aGUgY2FyZSBwbGFuIiBkZWZpbml0aW9uPSJIdW1hbi1mcmllbmRseSBuYW1lIGZvciB0aGUgY2FyZSBwbGFuLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRlc2NyaXB0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJTdW1tYXJ5IG9mIG5hdHVyZSBvZiBwbGFuIiBkZWZpbml0aW9uPSJBIGRlc2NyaXB0aW9uIG9mIHRoZSBzY29wZSBhbmQgbmF0dXJlIG9mIHRoZSBwbGFuLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBXaG8gdGhlIGNhcmUgcGxhbiBpcyBmb3IuIiBkZWZpbml0aW9uPSJXaG8gY2FyZSBwbGFuIGlzIGZvci4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkVuY291bnRlciBjcmVhdGVkIGFzIHBhcnQgb2YiIGRlZmluaXRpb249IlRoZSBFbmNvdW50ZXIgZHVyaW5nIHdoaWNoIHRoaXMgQ2FyZVBsYW4gd2FzIGNyZWF0ZWQgb3IgdG8gd2hpY2ggdGhlIGNyZWF0aW9uIG9mIHRoaXMgcmVjb3JkIGlzIHRpZ2h0bHkgYXNzb2NpYXRlZC4iIGNvbW1lbnQ9IlRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgdGhlIGVuY291bnRlciB0aGUgZXZlbnQgb2NjdXJyZWQgd2l0aGluLCBidXQgc29tZSBhY3Rpdml0aWVzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIuIENhcmVQbGFuIGFjdGl2aXRpZXMgY29uZHVjdGVkIGFzIGEgcmVzdWx0IG9mIHRoZSBjYXJlIHBsYW4gbWF5IHdlbGwgb2NjdXIgYXMgcGFydCBvZiBvdGhlciBlbmNvdW50ZXJzLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaW1lIHBlcmlvZCBwbGFuIGNvdmVycyIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdoZW4gdGhlIHBsYW4gZGlkIChvciBpcyBpbnRlbmRlZCB0bykgY29tZSBpbnRvIGVmZmVjdCBhbmQgZW5kLiIgY29tbWVudD0iQW55IGFjdGl2aXRpZXMgc2NoZWR1bGVkIGFzIHBhcnQgb2YgdGhlIHBsYW4gc2hvdWxkIGJlIGNvbnN0cmFpbmVkIHRvIHRoZSBzcGVjaWZpZWQgcGVyaW9kIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgYWN0aXZpdGllcyBhcmUgcGxhbm5lZCB3aXRoaW4gYSBzaW5nbGUgZW5jb3VudGVyL2VwaXNvZGUgb3IgYWNyb3NzIG11bHRpcGxlIGVuY291bnRlcnMvZXBpc29kZXMgKGUuZy4gdGhlIGxvbmdpdHVkaW5hbCBtYW5hZ2VtZW50IG9mIGEgY2hyb25pYyBjb25kaXRpb24pLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNyZWF0ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZSByZWNvcmQgd2FzIGZpcnN0IHJlY29yZGVkIiBkZWZpbml0aW9uPSJSZXByZXNlbnRzIHdoZW4gdGhpcyBwYXJ0aWN1bGFyIENhcmVQbGFuIHJlY29yZCB3YXMgY3JlYXRlZCBpbiB0aGUgc3lzdGVtLCB3aGljaCBpcyBvZnRlbiBhIHN5c3RlbS1nZW5lcmF0ZWQgZGF0ZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhdXRob3IiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIGlzIHRoZSBkZXNpZ25hdGVkIHJlc3BvbnNpYmxlIHBhcnR5IiBkZWZpbml0aW9uPSJXaGVuIHBvcHVsYXRlZCwgdGhlIGF1dGhvciBpcyByZXNwb25zaWJsZSBmb3IgdGhlIGNhcmUgcGxhbi4gIFRoZSBjYXJlIHBsYW4gaXMgYXR0cmlidXRlZCB0byB0aGUgYXV0aG9yLiIgY29tbWVudD0iVGhlIGF1dGhvciBtYXkgYWxzbyBiZSBhIGNvbnRyaWJ1dG9yLiAgRm9yIGV4YW1wbGUsIGFuIG9yZ2FuaXphdGlvbiBjYW4gYmUgYW4gYXV0aG9yLCBidXQgbm90IGxpc3RlZCBhcyBhIGNvbnRyaWJ1dG9yLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbnRyaWJ1dG9yIiBkZXNjcmlwdGlvbj0iV2hvIHByb3ZpZGVkIHRoZSBjb250ZW50IG9mIHRoZSBjYXJlIHBsYW4iIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIGluZGl2aWR1YWwocykgb3Igb3JnYW5pemF0aW9uIHdobyBwcm92aWRlZCB0aGUgY29udGVudHMgb2YgdGhlIGNhcmUgcGxhbi4iIGNvbW1lbnQ9IkNvbGxhYm9yYXRpdmUgY2FyZSBwbGFucyBtYXkgaGF2ZSBtdWx0aXBsZSBjb250cmlidXRvcnMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2FyZVRlYW0iIGRlc2NyaXB0aW9uPSJXaG8ncyBpbnZvbHZlZCBpbiBwbGFuPyIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyBhbGwgcGVvcGxlIGFuZCBvcmdhbml6YXRpb25zIHdobyBhcmUgZXhwZWN0ZWQgdG8gYmUgaW52b2x2ZWQgaW4gdGhlIGNhcmUgZW52aXNpb25lZCBieSB0aGlzIHBsYW4uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWRkcmVzc2VzIiBkZXNjcmlwdGlvbj0iSGVhbHRoIGlzc3VlcyB0aGlzIHBsYW4gYWRkcmVzc2VzIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHRoZSBjb25kaXRpb25zL3Byb2JsZW1zL2NvbmNlcm5zL2RpYWdub3Nlcy9ldGMuIHdob3NlIG1hbmFnZW1lbnQgYW5kL29yIG1pdGlnYXRpb24gYXJlIGhhbmRsZWQgYnkgdGhpcyBwbGFuLiIgY29tbWVudD0iV2hlbiB0aGUgZGlhZ25vc2lzIGlzIHJlbGF0ZWQgdG8gYW4gYWxsZXJneSBvciBpbnRvbGVyYW5jZSwgdGhlIENvbmRpdGlvbiBhbmQgQWxsZXJneUludG9sZXJhbmNlIHJlc291cmNlcyBjYW4gYm90aCBiZSB1c2VkLiBIb3dldmVyLCB0byBiZSBhY3Rpb25hYmxlIGZvciBkZWNpc2lvbiBzdXBwb3J0LCB1c2luZyBDb25kaXRpb24gYWxvbmUgaXMgbm90IHN1ZmZpY2llbnQgYXMgdGhlIGFsbGVyZ3kgb3IgaW50b2xlcmFuY2UgY29uZGl0aW9uIG5lZWRzIHRvIGJlIHJlcHJlc2VudGVkIGFzIGFuIEFsbGVyZ3lJbnRvbGVyYW5jZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdXBwb3J0aW5nSW5mbyIgZGVzY3JpcHRpb249IkluZm9ybWF0aW9uIGNvbnNpZGVyZWQgYXMgcGFydCBvZiBwbGFuIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHBvcnRpb25zIG9mIHRoZSBwYXRpZW50J3MgcmVjb3JkIHRoYXQgc3BlY2lmaWNhbGx5IGluZmx1ZW5jZWQgdGhlIGZvcm1hdGlvbiBvZiB0aGUgcGxhbi4gIFRoZXNlIG1pZ2h0IGluY2x1ZGUgY29tb3JiaWRpdGllcywgcmVjZW50IHByb2NlZHVyZXMsIGxpbWl0YXRpb25zLCByZWNlbnQgYXNzZXNzbWVudHMsIGV0Yy4iIGNvbW1lbnQ9IlVzZSAmcXVvdDtjb25jZXJuJnF1b3Q7IHRvIGlkZW50aWZ5IHNwZWNpZmljIGNvbmRpdGlvbnMgYWRkcmVzc2VkIGJ5IHRoZSBjYXJlIHBsYW4uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZ29hbCIgZGVzY3JpcHRpb249IkRlc2lyZWQgb3V0Y29tZSBvZiBwbGFuIiBkZWZpbml0aW9uPSJEZXNjcmliZXMgdGhlIGludGVuZGVkIG9iamVjdGl2ZShzKSBvZiBjYXJyeWluZyBvdXQgdGhlIGNhcmUgcGxhbi4iIGNvbW1lbnQ9IkdvYWwgY2FuIGJlIGFjaGlldmluZyBhIHBhcnRpY3VsYXIgY2hhbmdlIG9yIG1lcmVseSBtYWludGFpbmluZyBhIGN1cnJlbnQgc3RhdGUgb3IgZXZlbiBzbG93aW5nIGEgZGVjbGluZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhY3Rpdml0eSIgZGVzY3JpcHRpb249IkFjdGlvbiB0byBvY2N1ciBhcyBwYXJ0IG9mIHBsYW4iIGRlZmluaXRpb249IklkZW50aWZpZXMgYSBwbGFubmVkIGFjdGlvbiB0byBvY2N1ciBhcyBwYXJ0IG9mIHRoZSBwbGFuLiAgRm9yIGV4YW1wbGUsIGEgbWVkaWNhdGlvbiB0byBiZSB1c2VkLCBsYWIgdGVzdHMgdG8gcGVyZm9ybSwgc2VsZi1tb25pdG9yaW5nLCBlZHVjYXRpb24sIGV0Yy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNhcmVQbGFuLkFjdGl2aXR5Ii8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9ImNwbC0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IlByb3ZpZGUgYSByZWZlcmVuY2Ugb3IgZGV0YWlsLCBub3QgYm90aCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iZGV0YWlsLmVtcHR5KCkgb3IgcmVmZXJlbmNlLmVtcHR5KCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIHBsYW4iIGRlZmluaXRpb249IkdlbmVyYWwgbm90ZXMgYWJvdXQgdGhlIGNhcmUgcGxhbiBub3QgY292ZXJlZCBlbHNld2hlcmUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9InBlcmZvcm1lciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJwYXRpZW50Ii8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBlcmZvcm1lciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IkVuY291bnRlciIgcmVsYXRlZEtleUVsZW1lbnQ9ImVuY291bnRlciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlJlbGF0ZWRQZXJzb24iIHJlbGF0ZWRLZXlFbGVtZW50PSJwZXJmb3JtZXIiLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNhcmVQbGFuLkFjdGl2aXR5IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJvdXRjb21lQ29kZWFibGVDb25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmVzdWx0cyBvZiB0aGUgYWN0aXZpdHkiIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIG91dGNvbWUgYXQgdGhlIHBvaW50IHdoZW4gdGhlIHN0YXR1cyBvZiB0aGUgYWN0aXZpdHkgaXMgYXNzZXNzZWQuICBGb3IgZXhhbXBsZSwgdGhlIG91dGNvbWUgb2YgYW4gZWR1Y2F0aW9uIGFjdGl2aXR5IGNvdWxkIGJlIHBhdGllbnQgdW5kZXJzdGFuZHMgKG9yIG5vdCkuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBzaG91bGQgbm90IGR1cGxpY2F0ZSB0aGUgYWN0aXZpdHkgc3RhdHVzIChlLmcuIGNvbXBsZXRlZCBvciBpbiBwcm9ncmVzcykuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNhcmVQbGFuQWN0aXZpdHlPdXRjb21lIiBkZXNjcmlwdGlvbj0iSWRlbnRpZmllcyB0aGUgcmVzdWx0cyBvZiB0aGUgYWN0aXZpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJvdXRjb21lUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iQXBwb2ludG1lbnQsIEVuY291bnRlciwgUHJvY2VkdXJlLCBldGMuIiBkZWZpbml0aW9uPSJEZXRhaWxzIG9mIHRoZSBvdXRjb21lIG9yIGFjdGlvbiByZXN1bHRpbmcgZnJvbSB0aGUgYWN0aXZpdHkuICBUaGUgcmVmZXJlbmNlIHRvIGFuICZxdW90O2V2ZW50JnF1b3Q7IHJlc291cmNlLCBzdWNoIGFzIFByb2NlZHVyZSBvciBFbmNvdW50ZXIgb3IgT2JzZXJ2YXRpb24sIGlzIHRoZSByZXN1bHQvb3V0Y29tZSBvZiB0aGUgYWN0aXZpdHkgaXRzZWxmLiAgVGhlIGFjdGl2aXR5IGNhbiBiZSBjb252ZXllZCB1c2luZyBDYXJlUGxhbi5hY3Rpdml0eS5kZXRhaWwgT1IgdXNpbmcgdGhlIENhcmVQbGFuLmFjdGl2aXR5LnJlZmVyZW5jZSAoYSByZWZlcmVuY2UgdG8gYSDigJxyZXF1ZXN04oCdIHJlc291cmNlKS4iIGNvbW1lbnQ9IlRoZSBhY3Rpdml0eSBvdXRjb21lIGlzIGluZGVwZW5kZW50IG9mIHRoZSBvdXRjb21lIG9mIHRoZSByZWxhdGVkIGdvYWwocykuICBGb3IgZXhhbXBsZSwgaWYgdGhlIGdvYWwgaXMgdG8gYWNoaWV2ZSBhIHRhcmdldCBib2R5IHdlaWdodCBvZiAxNTAgbGJzIGFuZCBhbiBhY3Rpdml0eSBpcyBkZWZpbmVkIHRvIGRpZXQsIHRoZW4gdGhlIGFjdGl2aXR5IG91dGNvbWUgY291bGQgYmUgY2Fsb3JpZXMgY29uc3VtZWQgd2hlcmVhcyB0aGUgZ29hbCBvdXRjb21lIGlzIGFuIG9ic2VydmF0aW9uIGZvciB0aGUgYWN0dWFsIGJvZHkgd2VpZ2h0IG1lYXN1cmVkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InByb2dyZXNzIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIGFjdGl2aXR5IHN0YXR1cy9wcm9ncmVzcyIgZGVmaW5pdGlvbj0iTm90ZXMgYWJvdXQgdGhlIGFkaGVyZW5jZS9zdGF0dXMvcHJvZ3Jlc3Mgb2YgdGhlIGFjdGl2aXR5LiIgY29tbWVudD0iVGhpcyBlbGVtZW50IHNob3VsZCBOT1QgYmUgdXNlZCB0byBkZXNjcmliZSB0aGUgYWN0aXZpdHkgdG8gYmUgcGVyZm9ybWVkIC0gdGhhdCBvY2N1cnMgZWl0aGVyIHdpdGhpbiB0aGUgcmVzb3VyY2UgcG9pbnRlZCB0byBieSBhY3Rpdml0eS5kZXRhaWwucmVmZXJlbmNlIG9yIGluIGFjdGl2aXR5LmRldGFpbC5kZXNjcmlwdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVmZXJlbmNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkFjdGl2aXR5IGRldGFpbHMgZGVmaW5lZCBpbiBzcGVjaWZpYyByZXNvdXJjZSIgZGVmaW5pdGlvbj0iVGhlIGRldGFpbHMgb2YgdGhlIHByb3Bvc2VkIGFjdGl2aXR5IHJlcHJlc2VudGVkIGluIGEgc3BlY2lmaWMgcmVzb3VyY2UuIiBjb21tZW50PSJTdGFuZGFyZCBleHRlbnNpb24gZXhpc3RzIChbcmVzb3VyY2UtcGVydGFpbnNUb0dvYWxdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLXJlc291cmNlLXBlcnRhaW5zdG9nb2FsLmh0bWwpKSB0aGF0IGFsbG93cyBnb2FscyB0byBiZSByZWZlcmVuY2VkIGZyb20gYW55IG9mIHRoZSByZWZlcmVuY2VkIHJlc291cmNlcyBpbiBDYXJlUGxhbi5hY3Rpdml0eS5yZWZlcmVuY2UuICAmIzEzO1RoZSBnb2FsIHNob3VsZCBiZSB2aXNpYmxlIHdoZW4gdGhlIHJlc291cmNlIHJlZmVyZW5jZWQgYnkgQ2FyZVBsYW4uYWN0aXZpdHkucmVmZXJlbmNlIGlzIHZpZXdlZCBpbmRlcGVuZGVudGx5IGZyb20gdGhlIENhcmVQbGFuLiAgUmVxdWVzdHMgdGhhdCBhcmUgcG9pbnRlZCB0byBieSBhIENhcmVQbGFuIHVzaW5nIHRoaXMgZWxlbWVudCBzaG91bGQgKm5vdCogcG9pbnQgdG8gdGhpcyBDYXJlUGxhbiB1c2luZyB0aGUgJnF1b3Q7YmFzZWRPbiZxdW90OyBlbGVtZW50LiAgaS5lLiBSZXF1ZXN0cyB0aGF0IGFyZSBwYXJ0IG9mIGEgQ2FyZVBsYW4gYXJlIG5vdCAmcXVvdDtiYXNlZCBvbiZxdW90OyB0aGUgQ2FyZVBsYW4uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGV0YWlsIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNhcmVQbGFuLkFjdGl2aXR5LkRldGFpbCIgZGVzY3JpcHRpb249IkluLWxpbmUgZGVmaW5pdGlvbiBvZiBhY3Rpdml0eSIgZGVmaW5pdGlvbj0iQSBzaW1wbGUgc3VtbWFyeSBvZiBhIHBsYW5uZWQgYWN0aXZpdHkgc3VpdGFibGUgZm9yIGEgZ2VuZXJhbCBjYXJlIHBsYW4gc3lzdGVtIChlLmcuIGZvcm0gZHJpdmVuKSB0aGF0IGRvZXNuJ3Qga25vdyBhYm91dCBzcGVjaWZpYyByZXNvdXJjZXMgc3VjaCBhcyBwcm9jZWR1cmUgZXRjLiIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ2FyZVBsYW4uQWN0aXZpdHkuRGV0YWlsIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJraW5kIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNhcmVQbGFuQWN0aXZpdHlLaW5kIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkFwcG9pbnRtZW50IHwgQ29tbXVuaWNhdGlvblJlcXVlc3QgfCBEZXZpY2VSZXF1ZXN0IHwgTWVkaWNhdGlvblJlcXVlc3QgfCBOdXRyaXRpb25PcmRlciB8IFRhc2sgfCBTZXJ2aWNlUmVxdWVzdCB8IFZpc2lvblByZXNjcmlwdGlvbiIgZGVmaW5pdGlvbj0iQSBkZXNjcmlwdGlvbiBvZiB0aGUga2luZCBvZiByZXNvdXJjZSB0aGUgaW4tbGluZSBkZWZpbml0aW9uIG9mIGEgY2FyZSBwbGFuIGFjdGl2aXR5IGlzIHJlcHJlc2VudGluZy4gIFRoZSBDYXJlUGxhbi5hY3Rpdml0eS5kZXRhaWwgaXMgYW4gaW4tbGluZSBkZWZpbml0aW9uIHdoZW4gYSByZXNvdXJjZSBpcyBub3QgcmVmZXJlbmNlZCB1c2luZyBDYXJlUGxhbi5hY3Rpdml0eS5yZWZlcmVuY2UuICBGb3IgZXhhbXBsZSwgYSBNZWRpY2F0aW9uUmVxdWVzdCwgYSBTZXJ2aWNlUmVxdWVzdCwgb3IgYSBDb21tdW5pY2F0aW9uUmVxdWVzdC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJDYXJlUGxhbkFjdGl2aXR5S2luZCIgZGVzY3JpcHRpb249IlJlc291cmNlIHR5cGVzIGRlZmluZWQgYXMgcGFydCBvZiBGSElSIHRoYXQgY2FuIGJlIHJlcHJlc2VudGVkIGFzIGluLWxpbmUgZGVmaW5pdGlvbnMgb2YgYSBjYXJlIHBsYW4gYWN0aXZpdHkuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzQ2Fub25pY2FsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3RhbnRpYXRlcyBGSElSIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYSBGSElSLWRlZmluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgcXVlc3Rpb25uYWlyZSBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgQ2FyZVBsYW4gYWN0aXZpdHkuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzVXJpIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3RhbnRpYXRlcyBleHRlcm5hbCBwcm90b2NvbCBvciBkZWZpbml0aW9uIiBkZWZpbml0aW9uPSJUaGUgVVJMIHBvaW50aW5nIHRvIGFuIGV4dGVybmFsbHkgbWFpbnRhaW5lZCBwcm90b2NvbCwgZ3VpZGVsaW5lLCBxdWVzdGlvbm5haXJlIG9yIG90aGVyIGRlZmluaXRpb24gdGhhdCBpcyBhZGhlcmVkIHRvIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBDYXJlUGxhbiBhY3Rpdml0eS4iIGNvbW1lbnQ9IlRoaXMgbWlnaHQgYmUgYW4gSFRNTCBwYWdlLCBQREYsIGV0Yy4gb3IgY291bGQganVzdCBiZSBhIG5vbi1yZXNvbHZhYmxlIFVSSSBpZGVudGlmaWVyLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkRldGFpbCB0eXBlIG9mIGFjdGl2aXR5IiBkZWZpbml0aW9uPSJEZXRhaWxlZCBkZXNjcmlwdGlvbiBvZiB0aGUgdHlwZSBvZiBwbGFubmVkIGFjdGl2aXR5OyBlLmcuIHdoYXQgbGFiIHRlc3QsIHdoYXQgcHJvY2VkdXJlLCB3aGF0IGtpbmQgb2YgZW5jb3VudGVyLiIgY29tbWVudD0iVGVuZHMgdG8gYmUgbGVzcyByZWxldmFudCBmb3IgYWN0aXZpdGllcyBpbnZvbHZpbmcgcGFydGljdWxhciBwcm9kdWN0cy4gIENvZGVzIHNob3VsZCBub3QgY29udmV5IG5lZ2F0aW9uIC0gdXNlICZxdW90O3Byb2hpYml0ZWQmcXVvdDsgaW5zdGVhZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJDYXJlUGxhbkFjdGl2aXR5VHlwZSIgZGVzY3JpcHRpb249IkRldGFpbGVkIGRlc2NyaXB0aW9uIG9mIHRoZSB0eXBlIG9mIGFjdGl2aXR5OyBlLmcuIFdoYXQgbGFiIHRlc3QsIHdoYXQgcHJvY2VkdXJlLCB3aGF0IGtpbmQgb2YgZW5jb3VudGVyLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoeSBhY3Rpdml0eSBzaG91bGQgYmUgZG9uZSBvciB3aHkgYWN0aXZpdHkgd2FzIHByb2hpYml0ZWQiIGRlZmluaXRpb249IlByb3ZpZGVzIHRoZSByYXRpb25hbGUgdGhhdCBkcm92ZSB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgcGFydGljdWxhciBhY3Rpdml0eSBhcyBwYXJ0IG9mIHRoZSBwbGFuIG9yIHRoZSByZWFzb24gd2h5IHRoZSBhY3Rpdml0eSB3YXMgcHJvaGliaXRlZC4iIGNvbW1lbnQ9IlRoaXMgY291bGQgYmUgYSBkaWFnbm9zaXMgY29kZS4gIElmIGEgZnVsbCBjb25kaXRpb24gcmVjb3JkIGV4aXN0cyBvciBhZGRpdGlvbmFsIGRldGFpbCBpcyBuZWVkZWQsIHVzZSByZWFzb25Db25kaXRpb24gaW5zdGVhZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ2FyZVBsYW5BY3Rpdml0eVJlYXNvbiIgZGVzY3JpcHRpb249IklkZW50aWZpZXMgd2h5IGEgY2FyZSBwbGFuIGFjdGl2aXR5IGlzIG5lZWRlZC4gIENhbiBpbmNsdWRlIGFueSBoZWFsdGggY29uZGl0aW9uIGNvZGVzIGFzIHdlbGwgYXMgc3VjaCBjb25jZXB0cyBhcyAmcXVvdDtnZW5lcmFsIHdlbGxuZXNzJnF1b3Q7LCBwcm9waHlsYXhpcywgc3VyZ2ljYWwgcHJlcGFyYXRpb24sIGV0Yy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvblJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldoeSBhY3Rpdml0eSBpcyBuZWVkZWQiIGRlZmluaXRpb249IkluZGljYXRlcyBhbm90aGVyIHJlc291cmNlLCBzdWNoIGFzIHRoZSBoZWFsdGggY29uZGl0aW9uKHMpLCB3aG9zZSBleGlzdGVuY2UganVzdGlmaWVzIHRoaXMgcmVxdWVzdCBhbmQgZHJvdmUgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHBhcnRpY3VsYXIgYWN0aXZpdHkgYXMgcGFydCBvZiB0aGUgcGxhbi4iIGNvbW1lbnQ9IkNvbmRpdGlvbnMgY2FuIGJlIGlkZW50aWZpZWQgYXQgdGhlIGFjdGl2aXR5IGxldmVsIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIHJlYXNvbnMgZm9yIHRoZSBvdmVyYWxsIHBsYW4uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZ29hbCIgZGVzY3JpcHRpb249IkdvYWxzIHRoaXMgYWN0aXZpdHkgcmVsYXRlcyB0byIgZGVmaW5pdGlvbj0iSW50ZXJuYWwgcmVmZXJlbmNlIHRoYXQgaWRlbnRpZmllcyB0aGUgZ29hbHMgdGhhdCB0aGlzIGFjdGl2aXR5IGlzIGludGVuZGVkIHRvIGNvbnRyaWJ1dGUgdG93YXJkcyBtZWV0aW5nLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5DYXJlUGxhbkFjdGl2aXR5U3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Im5vdC1zdGFydGVkIHwgc2NoZWR1bGVkIHwgaW4tcHJvZ3Jlc3MgfCBvbi1ob2xkIHwgY29tcGxldGVkIHwgY2FuY2VsbGVkIHwgc3RvcHBlZCB8IHVua25vd24gfCBlbnRlcmVkLWluLWVycm9yIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHdoYXQgcHJvZ3Jlc3MgaXMgYmVpbmcgbWFkZSBmb3IgdGhlIHNwZWNpZmljIGFjdGl2aXR5LiIgY29tbWVudD0iU29tZSBhc3BlY3RzIG9mIHN0YXR1cyBjYW4gYmUgaW5mZXJyZWQgYmFzZWQgb24gdGhlIHJlc291cmNlcyBsaW5rZWQgaW4gYWN0aW9uVGFrZW4uICBOb3RlIHRoYXQgJnF1b3Q7c3RhdHVzJnF1b3Q7IGlzIG9ubHkgYXMgY3VycmVudCBhcyB0aGUgcGxhbiB3YXMgbW9zdCByZWNlbnRseSB1cGRhdGVkLiAgJiMxMDtUaGUgdW5rbm93biBjb2RlIGlzIG5vdCB0byBiZSB1c2VkIHRvIGNvbnZleSBvdGhlciBzdGF0dXNlcy4gIFRoZSB1bmtub3duIGNvZGUgc2hvdWxkIGJlIHVzZWQgd2hlbiBvbmUgb2YgdGhlIHN0YXR1c2VzIGFwcGxpZXMsIGJ1dCB0aGUgYXV0aG9yaW5nIHN5c3RlbSBkb2Vzbid0IGtub3cgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIGFjdGl2aXR5LiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMiIGRlc2NyaXB0aW9uPSJDb2RlcyB0aGF0IHJlZmxlY3QgdGhlIGN1cnJlbnQgc3RhdGUgb2YgYSBjYXJlIHBsYW4gYWN0aXZpdHkgd2l0aGluIGl0cyBvdmVyYWxsIGxpZmUgY3ljbGUuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzUmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZWFzb24gZm9yIGN1cnJlbnQgc3RhdHVzIiBkZWZpbml0aW9uPSJQcm92aWRlcyByZWFzb24gd2h5IHRoZSBhY3Rpdml0eSBpc24ndCB5ZXQgc3RhcnRlZCwgaXMgb24gaG9sZCwgd2FzIGNhbmNlbGxlZCwgZXRjLiIgY29tbWVudD0iV2lsbCBnZW5lcmFsbHkgbm90IGJlIHByZXNlbnQgaWYgc3RhdHVzIGlzICZxdW90O2NvbXBsZXRlJnF1b3Q7LiAgQmUgc3VyZSB0byBwcm9tcHQgdG8gdXBkYXRlIHRoaXMgKG9yIGF0IGxlYXN0IHJlbW92ZSB0aGUgZXhpc3RpbmcgdmFsdWUpIGlmIHRoZSBzdGF0dXMgaXMgY2hhbmdlZC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkb05vdFBlcmZvcm0iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJZiB0cnVlLCBhY3Rpdml0eSBpcyBwcm9oaWJpdGluZyBhY3Rpb24iIGRlZmluaXRpb249IklmIHRydWUsIGluZGljYXRlcyB0aGF0IHRoZSBkZXNjcmliZWQgYWN0aXZpdHkgaXMgb25lIHRoYXQgbXVzdCBOT1QgYmUgZW5nYWdlZCBpbiB3aGVuIGZvbGxvd2luZyB0aGUgcGxhbi4gIElmIGZhbHNlLCBvciBtaXNzaW5nLCBpbmRpY2F0ZXMgdGhhdCB0aGUgZGVzY3JpYmVkIGFjdGl2aXR5IGlzIG9uZSB0aGF0IHNob3VsZCBiZSBlbmdhZ2VkIGluIHdoZW4gZm9sbG93aW5nIHRoZSBwbGFuLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIGl0IG1hcmtzIGFuIGFjdGl2aXR5IGFzIGFuIGFjdGl2aXR5IHRoYXQgaXMgbm90IHRvIGJlIHBlcmZvcm1lZC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzY2hlZHVsZWQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2hlbiBhY3Rpdml0eSBpcyB0byBvY2N1ciIgZGVmaW5pdGlvbj0iVGhlIHBlcmlvZCwgdGltaW5nIG9yIGZyZXF1ZW5jeSB1cG9uIHdoaWNoIHRoZSBkZXNjcmliZWQgYWN0aXZpdHkgaXMgdG8gb2NjdXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRpbWluZyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibG9jYXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hlcmUgaXQgc2hvdWxkIGhhcHBlbiIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgZmFjaWxpdHkgd2hlcmUgdGhlIGFjdGl2aXR5IHdpbGwgb2NjdXI7IGUuZy4gaG9tZSwgaG9zcGl0YWwsIHNwZWNpZmljIGNsaW5pYywgZXRjLiIgY29tbWVudD0iTWF5IHJlZmVyZW5jZSBhIHNwZWNpZmljIGNsaW5pY2FsIGxvY2F0aW9uIG9yIG1heSBpZGVudGlmeSBhIHR5cGUgb2YgbG9jYXRpb24uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIHdpbGwgYmUgcmVzcG9uc2libGU/IiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHdobydzIGV4cGVjdGVkIHRvIGJlIGludm9sdmVkIGluIHRoZSBhY3Rpdml0eS4iIGNvbW1lbnQ9IkEgcGVyZm9ybWVyIE1BWSBhbHNvIGJlIGEgcGFydGljaXBhbnQgaW4gdGhlIGNhcmUgcGxhbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcm9kdWN0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoYXQgaXMgdG8gYmUgYWRtaW5pc3RlcmVkL3N1cHBsaWVkIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHRoZSBmb29kLCBkcnVnIG9yIG90aGVyIHByb2R1Y3QgdG8gYmUgY29uc3VtZWQgb3Igc3VwcGxpZWQgaW4gdGhlIGFjdGl2aXR5LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ2FyZVBsYW5Qcm9kdWN0IiBkZXNjcmlwdGlvbj0iQSBwcm9kdWN0IHN1cHBsaWVkIG9yIGFkbWluaXN0ZXJlZCBhcyBwYXJ0IG9mIGEgY2FyZSBwbGFuIGFjdGl2aXR5LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGFpbHlBbW91bnQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IHRvIGNvbnN1bWUvZGF5PyIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgcXVhbnRpdHkgZXhwZWN0ZWQgdG8gYmUgY29uc3VtZWQgaW4gYSBnaXZlbiBkYXkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icXVhbnRpdHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IG11Y2ggdG8gYWRtaW5pc3Rlci9zdXBwbHkvY29uc3VtZSIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgcXVhbnRpdHkgZXhwZWN0ZWQgdG8gYmUgc3VwcGxpZWQsIGFkbWluaXN0ZXJlZCBvciBjb25zdW1lZCBieSB0aGUgc3ViamVjdC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXNjcmlwdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRXh0cmEgaW5mbyBkZXNjcmliaW5nIGFjdGl2aXR5IHRvIHBlcmZvcm0iIGRlZmluaXRpb249IlRoaXMgcHJvdmlkZXMgYSB0ZXh0dWFsIGRlc2NyaXB0aW9uIG9mIGNvbnN0cmFpbnRzIG9uIHRoZSBpbnRlbmRlZCBhY3Rpdml0eSBvY2N1cnJlbmNlLCBpbmNsdWRpbmcgcmVsYXRpb24gdG8gb3RoZXIgYWN0aXZpdGllcy4gIEl0IG1heSBhbHNvIGluY2x1ZGUgb2JqZWN0aXZlcywgcHJlLWNvbmRpdGlvbnMgYW5kIGVuZC1jb25kaXRpb25zLiAgRmluYWxseSwgaXQgbWF5IGNvbnZleSBzcGVjaWZpY3MgYWJvdXQgdGhlIGFjdGl2aXR5IHN1Y2ggYXMgYm9keSBzaXRlLCBtZXRob2QsIHJvdXRlLCBldGMuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDYXJlUGxhbkFjdGl2aXR5S2luZCIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDYXJlUGxhbkFjdGl2aXR5U3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNhcmVUZWFtIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1jYXJldGVhbSIgbGFiZWw9IlFJQ29yZSBDYXJlVGVhbSIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY2F0ZWdvcnkiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJFeHRlcm5hbCBJZHMgZm9yIHRoaXMgdGVhbSIgZGVmaW5pdGlvbj0iQnVzaW5lc3MgaWRlbnRpZmllcnMgYXNzaWduZWQgdG8gdGhpcyBjYXJlIHRlYW0gYnkgdGhlIHBlcmZvcm1lciBvciBvdGhlciBzeXN0ZW1zIHdoaWNoIHJlbWFpbiBjb25zdGFudCBhcyB0aGUgcmVzb3VyY2UgaXMgdXBkYXRlZCBhbmQgcHJvcGFnYXRlcyBmcm9tIHNlcnZlciB0byBzZXJ2ZXIuIiBjb21tZW50PSJUaGlzIGlzIGEgYnVzaW5lc3MgaWRlbnRpZmllciwgbm90IGEgcmVzb3VyY2UgaWRlbnRpZmllciAoc2VlIFtkaXNjdXNzaW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3Jlc291cmNlLmh0bWwjaWRlbnRpZmllcnMpKS4gIEl0IGlzIGJlc3QgcHJhY3RpY2UgZm9yIHRoZSBpZGVudGlmaWVyIHRvIG9ubHkgYXBwZWFyIG9uIGEgc2luZ2xlIHJlc291cmNlIGluc3RhbmNlLCBob3dldmVyIGJ1c2luZXNzIHByYWN0aWNlcyBtYXkgb2NjYXNpb25hbGx5IGRpY3RhdGUgdGhhdCBtdWx0aXBsZSByZXNvdXJjZSBpbnN0YW5jZXMgd2l0aCB0aGUgc2FtZSBpZGVudGlmaWVyIGNhbiBleGlzdCAtIHBvc3NpYmx5IGV2ZW4gd2l0aCBkaWZmZXJlbnQgcmVzb3VyY2UgdHlwZXMuICBGb3IgZXhhbXBsZSwgbXVsdGlwbGUgUGF0aWVudCBhbmQgYSBQZXJzb24gcmVzb3VyY2UgaW5zdGFuY2UgbWlnaHQgc2hhcmUgdGhlIHNhbWUgc29jaWFsIGluc3VyYW5jZSBudW1iZXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBwcm9wb3NlZCB8IGFjdGl2ZSB8IHN1c3BlbmRlZCB8IGluYWN0aXZlIHwgZW50ZXJlZC1pbi1lcnJvciIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBjYXJlIHRlYW0uIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyB0aGUgY29kZSBlbnRlcmVkLWluLWVycm9yIHRoYXQgbWFya3MgdGhlIGNhcmUgdGVhbSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHRlYW0gaXMgY3VycmVudCAsIHJlcHJlc2VudHMgZnV0dXJlIGludGVudGlvbnMgb3IgaXMgbm93IGEgaGlzdG9yaWNhbCByZWNvcmQuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUeXBlIG9mIHRlYW0iIGRlZmluaXRpb249IklkZW50aWZpZXMgd2hhdCBraW5kIG9mIHRlYW0uICBUaGlzIGlzIHRvIHN1cHBvcnQgZGlmZmVyZW50aWF0aW9uIGJldHdlZW4gbXVsdGlwbGUgY28tZXhpc3RpbmcgdGVhbXMsIHN1Y2ggYXMgY2FyZSBwbGFuIHRlYW0sIGVwaXNvZGUgb2YgY2FyZSB0ZWFtLCBsb25naXR1ZGluYWwgY2FyZSB0ZWFtLiIgY29tbWVudD0iVGhlcmUgbWF5IGJlIG11bHRpcGxlIGF4aXMgb2YgY2F0ZWdvcml6YXRpb24gYW5kIG9uZSB0ZWFtIG1heSBzZXJ2ZSBtdWx0aXBsZSBwdXJwb3Nlcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ2FyZVRlYW1DYXRlZ29yeSIgZGVzY3JpcHRpb249IkluZGljYXRlcyB0aGUgdHlwZSBvZiBjYXJlIHRlYW0uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJuYW1lIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOYW1lIG9mIHRoZSB0ZWFtLCBzdWNoIGFzIGNyaXNpcyBhc3Nlc3NtZW50IHRlYW0iIGRlZmluaXRpb249IkEgbGFiZWwgZm9yIGh1bWFuIHVzZSBpbnRlbmRlZCB0byBkaXN0aW5ndWlzaCBsaWtlIHRlYW1zLiAgRS5nLiB0aGUgJnF1b3Q7cmVkJnF1b3Q7IHZzLiAmcXVvdDtncmVlbiZxdW90OyB0cmF1bWEgdGVhbXMuIiBjb21tZW50PSJUaGUgbWVhbmluZy9wdXJwb3NlIG9mIHRoZSB0ZWFtIGlzIGNvbnZleWVkIGluIENhcmVUZWFtLmNhdGVnb3J5LiAgVGhpcyBlbGVtZW50IG1heSBhbHNvIGNvbnZleSBzZW1hbnRpY3Mgb2YgdGhlIHRlYW0gKGUuZy4gJnF1b3Q7UmVkIHRyYXVtYSB0ZWFtJnF1b3Q7KSwgYnV0IGl0cyBwcmltYXJ5IHB1cnBvc2UgaXMgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiBpZGVudGljYWwgdGVhbXMgaW4gYSBodW1hbi1mcmllbmRseSB3YXkuICAoJnF1b3Q7VGVhbSAxODczNSZxdW90OyBpc24ndCBhcyBmcmllbmRseS4pLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBXaG8gdGhlIGNhcmUgdGVhbSBpcyBmb3IuIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHRoZSBwYXRpZW50IG9yIGdyb3VwIHdob3NlIGludGVuZGVkIGNhcmUgaXMgaGFuZGxlZCBieSB0aGUgdGVhbS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkVuY291bnRlciBjcmVhdGVkIGFzIHBhcnQgb2YiIGRlZmluaXRpb249IlRoZSBFbmNvdW50ZXIgZHVyaW5nIHdoaWNoIHRoaXMgQ2FyZVRlYW0gd2FzIGNyZWF0ZWQgb3IgdG8gd2hpY2ggdGhlIGNyZWF0aW9uIG9mIHRoaXMgcmVjb3JkIGlzIHRpZ2h0bHkgYXNzb2NpYXRlZC4iIGNvbW1lbnQ9IlRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgdGhlIGVuY291bnRlciB0aGUgZXZlbnQgb2NjdXJyZWQgd2l0aGluLCBidXQgc29tZSBhY3Rpdml0aWVzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyaW9kIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRpbWUgcGVyaW9kIHRlYW0gY292ZXJzIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgd2hlbiB0aGUgdGVhbSBkaWQgKG9yIGlzIGludGVuZGVkIHRvKSBjb21lIGludG8gZWZmZWN0IGFuZCBlbmQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGFydGljaXBhbnQiIGRlc2NyaXB0aW9uPSIoVVNDREkpIE1lbWJlcnMgb2YgdGhlIHRlYW0iIGRlZmluaXRpb249IklkZW50aWZpZXMgYWxsIHBlb3BsZSBhbmQgb3JnYW5pemF0aW9ucyB3aG8gYXJlIGV4cGVjdGVkIHRvIGJlIGludm9sdmVkIGluIHRoZSBjYXJlIHRlYW0uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ2FyZVRlYW0uUGFydGljaXBhbnQiLz4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0iY3RtLTEiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iQ2FyZVRlYW0ucGFydGljaXBhbnQub25CZWhhbGZPZiBjYW4gb25seSBiZSBwb3B1bGF0ZWQgd2hlbiBDYXJlVGVhbS5wYXJ0aWNpcGFudC5tZW1iZXIgaXMgYSBQcmFjdGl0aW9uZXIiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Im9uQmVoYWxmT2YuZXhpc3RzKCkgaW1wbGllcyAobWVtYmVyLnJlc29sdmUoKS5paWYoZW1wdHkoKSwgdHJ1ZSwgb2ZUeXBlKFByYWN0aXRpb25lcikuZXhpc3RzKCkpKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvbkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgdGhlIGNhcmUgdGVhbSBleGlzdHMiIGRlZmluaXRpb249IkRlc2NyaWJlcyB3aHkgdGhlIGNhcmUgdGVhbSBleGlzdHMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNhcmVUZWFtUmVhc29uIiBkZXNjcmlwdGlvbj0iSW5kaWNhdGVzIHRoZSByZWFzb24gZm9yIHRoZSBjYXJlIHRlYW0uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaHkgdGhlIGNhcmUgdGVhbSBleGlzdHMiIGRlZmluaXRpb249IkNvbmRpdGlvbihzKSB0aGF0IHRoaXMgY2FyZSB0ZWFtIGFkZHJlc3Nlcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtYW5hZ2luZ09yZ2FuaXphdGlvbiIgZGVzY3JpcHRpb249Ik9yZ2FuaXphdGlvbiByZXNwb25zaWJsZSBmb3IgdGhlIGNhcmUgdGVhbSIgZGVmaW5pdGlvbj0iVGhlIG9yZ2FuaXphdGlvbiByZXNwb25zaWJsZSBmb3IgdGhlIGNhcmUgdGVhbS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0ZWxlY29tIiBkZXNjcmlwdGlvbj0iQSBjb250YWN0IGRldGFpbCBmb3IgdGhlIGNhcmUgdGVhbSAodGhhdCBhcHBsaWVzIHRvIGFsbCBtZW1iZXJzKSIgZGVmaW5pdGlvbj0iQSBjZW50cmFsIGNvbnRhY3QgZGV0YWlsIGZvciB0aGUgY2FyZSB0ZWFtICh0aGF0IGFwcGxpZXMgdG8gYWxsIG1lbWJlcnMpLiIgY29tbWVudD0iVGhlIENvbnRhY3RQb2ludC51c2UgY29kZSBvZiBob21lIGlzIG5vdCBhcHByb3ByaWF0ZSB0byB1c2UuIFRoZXNlIGNvbnRhY3RzIGFyZSBub3QgdGhlIGNvbnRhY3QgZGV0YWlscyBvZiBpbmRpdmlkdWFsIGNhcmUgdGVhbSBtZW1iZXJzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ29udGFjdFBvaW50Ii8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJDb21tZW50cyBtYWRlIGFib3V0IHRoZSBDYXJlVGVhbSIgZGVmaW5pdGlvbj0iQ29tbWVudHMgbWFkZSBhYm91dCB0aGUgQ2FyZVRlYW0uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9Im1lbWJlciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJwYXRpZW50Ii8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9Im1lbWJlciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IkVuY291bnRlciIgcmVsYXRlZEtleUVsZW1lbnQ9ImVuY291bnRlciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlJlbGF0ZWRQZXJzb24iIHJlbGF0ZWRLZXlFbGVtZW50PSJtZW1iZXIiLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNhcmVUZWFtLlBhcnRpY2lwYW50IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyb2xlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFR5cGUgb2YgaW52b2x2ZW1lbnQiIGRlZmluaXRpb249IkluZGljYXRlcyBzcGVjaWZpYyByZXNwb25zaWJpbGl0eSBvZiBhbiBpbmRpdmlkdWFsIHdpdGhpbiB0aGUgY2FyZSB0ZWFtLCBzdWNoIGFzICZxdW90O1ByaW1hcnkgY2FyZSBwaHlzaWNpYW4mcXVvdDssICZxdW90O1RyYWluZWQgc29jaWFsIHdvcmtlciBjb3Vuc2Vsb3ImcXVvdDssICZxdW90O0NhcmVnaXZlciZxdW90OywgZXRjLiIgY29tbWVudD0iUm9sZXMgbWF5IHNvbWV0aW1lcyBiZSBpbmZlcnJlZCBieSB0eXBlIG9mIFByYWN0aXRpb25lci4gIFRoZXNlIGFyZSByZWxhdGlvbnNoaXBzIHRoYXQgaG9sZCBvbmx5IHdpdGhpbiB0aGUgY29udGV4dCBvZiB0aGUgY2FyZSB0ZWFtLiAgR2VuZXJhbCByZWxhdGlvbnNoaXBzIHNob3VsZCBiZSBoYW5kbGVkIGFzIHByb3BlcnRpZXMgb2YgdGhlIFBhdGllbnQgcmVzb3VyY2UgZGlyZWN0bHkuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgc3BlY2lmaWMgcmVzcG9uc2liaWxpdHkgb2YgYW4gaW5kaXZpZHVhbCB3aXRoaW4gdGhlIGNhcmUgdGVhbSwgc3VjaCBhcyBQcmltYXJ5IHBoeXNpY2lhbiwgVGVhbSBjb29yZGluYXRvciwgQ2FyZWdpdmVyLCBldGMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZW1iZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBXaG8gaXMgaW52b2x2ZWQiIGRlZmluaXRpb249IlRoZSBzcGVjaWZpYyBwZXJzb24gb3Igb3JnYW5pemF0aW9uIHdobyBpcyBwYXJ0aWNpcGF0aW5nL2V4cGVjdGVkIHRvIHBhcnRpY2lwYXRlIGluIHRoZSBjYXJlIHRlYW0uIiBjb21tZW50PSJQYXRpZW50IG9ubHkgbmVlZHMgdG8gYmUgbGlzdGVkIGlmIHRoZXkgaGF2ZSBhIHJvbGUgb3RoZXIgdGhhbiAmcXVvdDtzdWJqZWN0IG9mIGNhcmUmcXVvdDsuJiMxMDsmIzEwO01lbWJlciBpcyBvcHRpb25hbCBiZWNhdXNlIHNvbWUgcGFydGljaXBhbnRzIG1heSBiZSBrbm93biBvbmx5IGJ5IHRoZWlyIHJvbGUsIHBhcnRpY3VsYXJseSBpbiBkcmFmdCBwbGFucy4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ib25CZWhhbGZPZiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJPcmdhbml6YXRpb24gb2YgdGhlIHByYWN0aXRpb25lciIgZGVmaW5pdGlvbj0iVGhlIG9yZ2FuaXphdGlvbiBvZiB0aGUgcHJhY3RpdGlvbmVyLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaW1lIHBlcmlvZCBvZiBwYXJ0aWNpcGFudCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdoZW4gdGhlIHNwZWNpZmljIG1lbWJlciBvciBvcmdhbml6YXRpb24gZGlkIChvciBpcyBpbnRlbmRlZCB0bykgY29tZSBpbnRvIGVmZmVjdCBhbmQgZW5kLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ2xhaW0iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWNsYWltIiBsYWJlbD0iUUlDb3JlIENsYWltIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJ0eXBlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3IgY2xhaW0iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBjbGFpbS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNsYWltU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImFjdGl2ZSB8IGNhbmNlbGxlZCB8IGRyYWZ0IHwgZW50ZXJlZC1pbi1lcnJvciIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzb3VyY2UgaW5zdGFuY2UuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ2xhaW1TdGF0dXMiIGRlc2NyaXB0aW9uPSJBIGNvZGUgc3BlY2lmeWluZyB0aGUgc3RhdGUgb2YgdGhlIHJlc291cmNlIGluc3RhbmNlLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNhdGVnb3J5IG9yIGRpc2NpcGxpbmUiIGRlZmluaXRpb249IlRoZSBjYXRlZ29yeSBvZiBjbGFpbSwgZS5nLiBvcmFsLCBwaGFybWFjeSwgdmlzaW9uLCBpbnN0aXR1dGlvbmFsLCBwcm9mZXNzaW9uYWwuIiBjb21tZW50PSJUaGUgbWFqb3JpdHkgb2YganVyaXNkaWN0aW9ucyB1c2U6IG9yYWwsIHBoYXJtYWN5LCB2aXNpb24sIHByb2Zlc3Npb25hbCBhbmQgaW5zdGl0dXRpb25hbCwgb3IgdmFyaWFudHMgb24gdGhvc2UgdGVybXMsIGFzIHRoZSBnZW5lcmFsIHN0eWxlcyBvZiBjbGFpbXMuIFRoZSB2YWx1ZXNldCBpcyBleHRlbnNpYmxlIHRvIGFjY29tbW9kYXRlIG90aGVyIGp1cmlzZGljdGlvbmFsIHJlcXVpcmVtZW50cy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJDbGFpbVR5cGUiIGRlc2NyaXB0aW9uPSJUaGUgdHlwZSBvciBkaXNjaXBsaW5lLXN0eWxlIG9mIHRoZSBjbGFpbS4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YlR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik1vcmUgZ3JhbnVsYXIgY2xhaW0gdHlwZSIgZGVmaW5pdGlvbj0iQSBmaW5lciBncmFpbmVkIHN1aXRlIG9mIGNsYWltIHR5cGUgY29kZXMgd2hpY2ggbWF5IGNvbnZleSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHN1Y2ggYXMgSW5wYXRpZW50IHZzIE91dHBhdGllbnQgYW5kL29yIGEgc3BlY2lhbHR5IHNlcnZpY2UuIiBjb21tZW50PSJUaGlzIG1heSBjb250YWluIHRoZSBsb2NhbCBiaWxsIHR5cGUgY29kZXMsIGZvciBleGFtcGxlIHRoZSBVUyBVQi0wNCBiaWxsIHR5cGUgY29kZSBvciB0aGUgQ01TIGJpbGwgdHlwZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJDbGFpbVN1YlR5cGUiIGRlc2NyaXB0aW9uPSJBIG1vcmUgZ3JhbnVsYXIgY2xhaW0gdHlwZWNvZGUuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1c2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuVXNlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImNsYWltIHwgcHJlYXV0aG9yaXphdGlvbiB8IHByZWRldGVybWluYXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0byBpbmRpY2F0ZSB3aGV0aGVyIHRoZSBuYXR1cmUgb2YgdGhlIHJlcXVlc3QgaXM6IHRvIHJlcXVlc3QgYWRqdWRpY2F0aW9uIG9mIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyBwcmV2aW91c2x5IHJlbmRlcmVkOyBvciByZXF1ZXN0aW5nIGF1dGhvcml6YXRpb24gYW5kIGFkanVkaWNhdGlvbiBmb3IgcHJvdmlzaW9uIGluIHRoZSBmdXR1cmU7IG9yIHJlcXVlc3RpbmcgdGhlIG5vbi1iaW5kaW5nIGFkanVkaWNhdGlvbiBvZiB0aGUgbGlzdGVkIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyB3aGljaCBjb3VsZCBiZSBwcm92aWRlZCBpbiB0aGUgZnV0dXJlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlVzZSIgZGVzY3JpcHRpb249IlRoZSBwdXJwb3NlIG9mIHRoZSBDbGFpbTogcHJlZGV0ZXJtaW5hdGlvbiwgcHJlYXV0aG9yaXphdGlvbiwgY2xhaW0uIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGF0aWVudCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgVGhlIHJlY2lwaWVudCBvZiB0aGUgcHJvZHVjdHMgYW5kIHNlcnZpY2VzIiBkZWZpbml0aW9uPSJUaGUgcGFydHkgdG8gd2hvbSB0aGUgcHJvZmVzc2lvbmFsIHNlcnZpY2VzIGFuZC9vciBwcm9kdWN0cyBoYXZlIGJlZW4gc3VwcGxpZWQgb3IgYXJlIGJlaW5nIGNvbnNpZGVyZWQgYW5kIGZvciB3aG9tIGFjdHVhbCBvciBmb3JlY2FzdCByZWltYnVyc2VtZW50IGlzIHNvdWdodC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiaWxsYWJsZVBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgUmVsZXZhbnQgdGltZSBmcmFtZSBmb3IgdGhlIGNsYWltIiBkZWZpbml0aW9uPSJUaGUgcGVyaW9kIGZvciB3aGljaCBjaGFyZ2VzIGFyZSBiZWluZyBzdWJtaXR0ZWQuIiBjb21tZW50PSJUeXBpY2FsbHkgdGhpcyB3b3VsZCBiZSB0b2RheSBvciBpbiB0aGUgcGFzdCBmb3IgYSBjbGFpbSwgYW5kIHRvZGF5IG9yIGluIHRoZSBmdXR1cmUgZm9yIHByZWF1dGhvcml6YXRpb25zIGFuZCBwcmVkZXRlcm1pbmF0aW9ucy4gVHlwaWNhbGx5IGxpbmUgaXRlbSBkYXRlcyBvZiBzZXJ2aWNlIHNob3VsZCBmYWxsIHdpdGhpbiB0aGUgYmlsbGluZyBwZXJpb2QgaWYgb25lIGlzIHNwZWNpZmllZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjcmVhdGVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBSZXNvdXJjZSBjcmVhdGlvbiBkYXRlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSB0aGlzIHJlc291cmNlIHdhcyBjcmVhdGVkLiIgY29tbWVudD0iVGhpcyBmaWVsZCBpcyBpbmRlcGVuZGVudCBvZiB0aGUgZGF0ZSBvZiBjcmVhdGlvbiBvZiB0aGUgcmVzb3VyY2UgYXMgaXQgbWF5IHJlZmxlY3QgdGhlIGNyZWF0aW9uIGRhdGUgb2YgYSBzb3VyY2UgZG9jdW1lbnQgcHJpb3IgdG8gZGlnaXRpemF0aW9uLiBUeXBpY2FsbHkgZm9yIGNsYWltcyBhbGwgc2VydmljZXMgbXVzdCBiZSBjb21wbGV0ZWQgYXMgb2YgdGhpcyBkYXRlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVudGVyZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iQXV0aG9yIG9mIHRoZSBjbGFpbSIgZGVmaW5pdGlvbj0iSW5kaXZpZHVhbCB3aG8gY3JlYXRlZCB0aGUgY2xhaW0sIHByZWRldGVybWluYXRpb24gb3IgcHJlYXV0aG9yaXphdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnN1cmVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlRhcmdldCIgZGVmaW5pdGlvbj0iVGhlIEluc3VyZXIgd2hvIGlzIHRhcmdldCBvZiB0aGUgcmVxdWVzdC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcm92aWRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgUGFydHkgcmVzcG9uc2libGUgZm9yIHRoZSBjbGFpbSIgZGVmaW5pdGlvbj0iVGhlIHByb3ZpZGVyIHdoaWNoIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgY2xhaW0sIHByZWRldGVybWluYXRpb24gb3IgcHJlYXV0aG9yaXphdGlvbi4iIGNvbW1lbnQ9IlR5cGljYWxseSB0aGlzIGZpZWxkIHdvdWxkIGJlIDEuLjEgd2hlcmUgdGhpcyBwYXJ0eSBpcyByZXNwb25zaWJsZSBmb3IgdGhlIGNsYWltIGJ1dCBub3QgbmVjZXNzYXJpbHkgcHJvZmVzc2lvbmFsbHkgcmVzcG9uc2libGUgZm9yIHRoZSBwcm92aXNpb24gb2YgdGhlIGluZGl2aWR1YWwgcHJvZHVjdHMgYW5kIHNlcnZpY2VzIGxpc3RlZCBiZWxvdy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcmlvcml0eSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRGVzaXJlZCBwcm9jZXNzaW5nIHVnZW5jeSIgZGVmaW5pdGlvbj0iVGhlIHByb3ZpZGVyLXJlcXVpcmVkIHVyZ2VuY3kgb2YgcHJvY2Vzc2luZyB0aGUgcmVxdWVzdC4gVHlwaWNhbCB2YWx1ZXMgaW5jbHVkZTogc3RhdCwgcm91dGluZSBkZWZlcnJlZC4iIGNvbW1lbnQ9IklmIGEgY2xhaW0gcHJvY2Vzc29yIGlzIHVuYWJsZSB0byBjb21wbGV0ZSB0aGUgcHJvY2Vzc2luZyBhcyBwZXIgdGhlIHByaW9yaXR5IHRoZW4gdGhleSBzaG91bGQgZ2VuZXJhdGUgYW5kIGVycm9yIGFuZCBub3QgcHJvY2VzcyB0aGUgcmVxdWVzdC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJQcm9jZXNzUHJpb3JpdHkiIGRlc2NyaXB0aW9uPSJUaGUgdGltZWxpbmVzcyB3aXRoIHdoaWNoIHByb2Nlc3NpbmcgaXMgcmVxdWlyZWQ6IHN0YXQsIG5vcm1hbCwgZGVmZXJyZWQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmdW5kc1Jlc2VydmUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkZvciB3aG9tIHRvIHJlc2VydmUgZnVuZHMiIGRlZmluaXRpb249IkEgY29kZSB0byBpbmRpY2F0ZSB3aGV0aGVyIGFuZCBmb3Igd2hvbSBmdW5kcyBhcmUgdG8gYmUgcmVzZXJ2ZWQgZm9yIGZ1dHVyZSBjbGFpbXMuIiBjb21tZW50PSJUaGlzIGZpZWxkIGlzIG9ubHkgdXNlZCBmb3IgcHJlYXV0aG9yaXphdGlvbnMuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRnVuZHNSZXNlcnZlIiBkZXNjcmlwdGlvbj0iRm9yIHdob20gZnVuZHMgYXJlIHRvIGJlIHJlc2VydmVkOiAoUGF0aWVudCwgUHJvdmlkZXIsIE5vbmUpLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVsYXRlZCIgZGVzY3JpcHRpb249IlByaW9yIG9yIGNvcm9sbGFyeSBjbGFpbXMiIGRlZmluaXRpb249Ik90aGVyIGNsYWltcyB3aGljaCBhcmUgcmVsYXRlZCB0byB0aGlzIGNsYWltIHN1Y2ggYXMgcHJpb3Igc3VibWlzc2lvbnMgb3IgY2xhaW1zIGZvciByZWxhdGVkIHNlcnZpY2VzIG9yIGZvciB0aGUgc2FtZSBldmVudC4iIGNvbW1lbnQ9IkZvciBleGFtcGxlLCAgZm9yIHRoZSBvcmlnaW5hbCB0cmVhdG1lbnQgYW5kIGZvbGxvdy11cCBleGFtcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNsYWltLlJlbGF0ZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJlc2NyaXB0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBQcmVzY3JpcHRpb24gYXV0aG9yaXppbmcgc2VydmljZXMgYW5kIHByb2R1Y3RzIiBkZWZpbml0aW9uPSJQcmVzY3JpcHRpb24gdG8gc3VwcG9ydCB0aGUgZGlzcGVuc2luZyBvZiBwaGFybWFjeSwgZGV2aWNlIG9yIHZpc2lvbiBwcm9kdWN0cy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJvcmlnaW5hbFByZXNjcmlwdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJPcmlnaW5hbCBwcmVzY3JpcHRpb24gaWYgc3VwZXJzZWRlZCBieSBmdWxmaWxsZXIiIGRlZmluaXRpb249Ik9yaWdpbmFsIHByZXNjcmlwdGlvbiB3aGljaCBoYXMgYmVlbiBzdXBlcnNlZGVkIGJ5IHRoaXMgcHJlc2NyaXB0aW9uIHRvIHN1cHBvcnQgdGhlIGRpc3BlbnNpbmcgb2YgcGhhcm1hY3kgc2VydmljZXMsIG1lZGljYXRpb25zIG9yIHByb2R1Y3RzLiIgY29tbWVudD0iRm9yIGV4YW1wbGUsIGEgcGh5c2ljaWFuIG1heSBwcmVzY3JpYmUgYSBtZWRpY2F0aW9uIHdoaWNoIHRoZSBwaGFybWFjeSBkZXRlcm1pbmVzIGlzIGNvbnRyYWluZGljYXRlZCwgb3IgZm9yIHdoaWNoIHRoZSBwYXRpZW50IGhhcyBhbiBpbnRvbGVyYW5jZSwgYW5kIHRoZXJlZm9yZSBpc3N1ZXMgYSBuZXcgcHJlc2NyaXB0aW9uIGZvciBhbiBhbHRlcm5hdGUgbWVkaWNhdGlvbiB3aGljaCBoYXMgdGhlIHNhbWUgdGhlcmFwZXV0aWMgaW50ZW50LiBUaGUgcHJlc2NyaXB0aW9uIGZyb20gdGhlIHBoYXJtYWN5IGJlY29tZXMgdGhlICdwcmVzY3JpcHRpb24nIGFuZCB0aGF0IGZyb20gdGhlIHBoeXNpY2lhbiBiZWNvbWVzIHRoZSAnb3JpZ2luYWwgcHJlc2NyaXB0aW9uJy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXllZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbS5QYXllZSIgZGVzY3JpcHRpb249IlJlY2lwaWVudCBvZiBiZW5lZml0cyBwYXlhYmxlIiBkZWZpbml0aW9uPSJUaGUgcGFydHkgdG8gYmUgcmVpbWJ1cnNlZCBmb3IgY29zdCBvZiB0aGUgcHJvZHVjdHMgYW5kIHNlcnZpY2VzIGFjY29yZGluZyB0byB0aGUgdGVybXMgb2YgdGhlIHBvbGljeS4iIGNvbW1lbnQ9Ik9mdGVuIHByb3ZpZGVycyBhZ3JlZSB0byByZWNlaXZlIHRoZSBiZW5lZml0cyBwYXlhYmxlIHRvIHJlZHVjZSB0aGUgbmVhci10ZXJtIGNvc3RzIHRvIHRoZSBwYXRpZW50LiBUaGUgaW5zdXJlciBtYXkgZGVjbGluZSB0byBwYXkgdGhlIHByb3ZpZGVyIGFuZCBjaG9vc2UgdG8gcGF5IHRoZSBzdWJzY3JpYmVyIGluc3RlYWQuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcnJhbCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJUcmVhdG1lbnQgcmVmZXJyYWwiIGRlZmluaXRpb249IkEgcmVmZXJlbmNlIHRvIGEgcmVmZXJyYWwgcmVzb3VyY2UuIiBjb21tZW50PSJUaGUgcmVmZXJyYWwgcmVzb3VyY2Ugd2hpY2ggbGlzdHMgdGhlIGRhdGUsIHByYWN0aXRpb25lciwgcmVhc29uIGFuZCBvdGhlciBzdXBwb3J0aW5nIGluZm9ybWF0aW9uLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZmFjaWxpdHkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iU2VydmljaW5nIGZhY2lsaXR5IiBkZWZpbml0aW9uPSJGYWNpbGl0eSB3aGVyZSB0aGUgc2VydmljZXMgd2VyZSBwcm92aWRlZC4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNhcmVUZWFtIiBkZXNjcmlwdGlvbj0iTWVtYmVycyBvZiB0aGUgY2FyZSB0ZWFtIiBkZWZpbml0aW9uPSJUaGUgbWVtYmVycyBvZiB0aGUgdGVhbSB3aG8gcHJvdmlkZWQgdGhlIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcy4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ2xhaW0uQ2FyZVRlYW0iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3VwcG9ydGluZ0luZm8iIGRlc2NyaXB0aW9uPSJTdXBwb3J0aW5nIGluZm9ybWF0aW9uIiBkZWZpbml0aW9uPSJBZGRpdGlvbmFsIGluZm9ybWF0aW9uIGNvZGVzIHJlZ2FyZGluZyBleGNlcHRpb25zLCBzcGVjaWFsIGNvbnNpZGVyYXRpb25zLCB0aGUgY29uZGl0aW9uLCBzaXR1YXRpb24sIHByaW9yIG9yIGNvbmN1cnJlbnQgaXNzdWVzLiIgY29tbWVudD0iT2Z0ZW4gdGhlcmUgYXJlIG11bHRpcGxlIGp1cmlzZGljdGlvbiBzcGVjaWZpYyB2YWx1ZXNldHMgd2hpY2ggYXJlIHJlcXVpcmVkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ2xhaW0uU3VwcG9ydGluZ0luZm8iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGlhZ25vc2lzIiBkZXNjcmlwdGlvbj0iUGVydGluZW50IGRpYWdub3NpcyBpbmZvcm1hdGlvbiIgZGVmaW5pdGlvbj0iSW5mb3JtYXRpb24gYWJvdXQgZGlhZ25vc2VzIHJlbGV2YW50IHRvIHRoZSBjbGFpbSBpdGVtcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNsYWltLkRpYWdub3NpcyIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcm9jZWR1cmUiIGRlc2NyaXB0aW9uPSJDbGluaWNhbCBwcm9jZWR1cmVzIHBlcmZvcm1lZCIgZGVmaW5pdGlvbj0iUHJvY2VkdXJlcyBwZXJmb3JtZWQgb24gdGhlIHBhdGllbnQgcmVsZXZhbnQgdG8gdGhlIGJpbGxpbmcgaXRlbXMgd2l0aCB0aGUgY2xhaW0uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbS5Qcm9jZWR1cmUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdXJhbmNlIiBkZXNjcmlwdGlvbj0iUGF0aWVudCBpbnN1cmFuY2UgaW5mb3JtYXRpb24iIGRlZmluaXRpb249IkZpbmFuY2lhbCBpbnN0cnVtZW50cyBmb3IgcmVpbWJ1cnNlbWVudCBmb3IgdGhlIGhlYWx0aCBjYXJlIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyBzcGVjaWZpZWQgb24gdGhlIGNsYWltLiIgY29tbWVudD0iQWxsIGluc3VyYW5jZSBjb3ZlcmFnZXMgZm9yIHRoZSBwYXRpZW50IHdoaWNoIG1heSBiZSBhcHBsaWNhYmxlIGZvciByZWltYnVyc2VtZW50LCBvZiB0aGUgcHJvZHVjdHMgYW5kIHNlcnZpY2VzIGxpc3RlZCBpbiB0aGUgY2xhaW0sIGFyZSB0eXBpY2FsbHkgcHJvdmlkZWQgaW4gdGhlIGNsYWltIHRvIGFsbG93IGluc3VyZXJzIHRvIGNvbmZpcm0gdGhlIG9yZGVyaW5nIG9mIHRoZSBpbnN1cmFuY2UgY292ZXJhZ2VzIHJlbGF0aXZlIHRvIGxvY2FsICdjb29yZGluYXRpb24gb2YgYmVuZWZpdCcgcnVsZXMuIE9uZSBjb3ZlcmFnZSAoYW5kIG9ubHkgb25lKSB3aXRoICdmb2NhbD10cnVlJyBpcyB0byBiZSB1c2VkIGluIHRoZSBhZGp1ZGljYXRpb24gb2YgdGhpcyBjbGFpbS4gQ292ZXJhZ2VzIGFwcGVhcmluZyBiZWZvcmUgdGhlIGZvY2FsIENvdmVyYWdlIGluIHRoZSBsaXN0LCBhbmQgd2hlcmUgJ0NvdmVyYWdlLnN1YnJvZ2F0aW9uPWZhbHNlJywgc2hvdWxkIHByb3ZpZGUgYSByZWZlcmVuY2UgdG8gdGhlIENsYWltUmVzcG9uc2UgY29udGFpbmluZyB0aGUgYWRqdWRpY2F0aW9uIHJlc3VsdHMgb2YgdGhlIHByaW9yIGNsYWltLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ2xhaW0uSW5zdXJhbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImFjY2lkZW50IiBlbGVtZW50VHlwZT0iUUlDb3JlLkNsYWltLkFjY2lkZW50IiBkZXNjcmlwdGlvbj0iRGV0YWlscyBvZiB0aGUgZXZlbnQiIGRlZmluaXRpb249IkRldGFpbHMgb2YgYW4gYWNjaWRlbnQgd2hpY2ggcmVzdWx0ZWQgaW4gaW5qdXJpZXMgd2hpY2ggcmVxdWlyZWQgdGhlIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyBsaXN0ZWQgaW4gdGhlIGNsYWltLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Iml0ZW0iIGRlc2NyaXB0aW9uPSJQcm9kdWN0IG9yIHNlcnZpY2UgcHJvdmlkZWQiIGRlZmluaXRpb249IkEgY2xhaW0gbGluZS4gRWl0aGVyIGEgc2ltcGxlICBwcm9kdWN0IG9yIHNlcnZpY2Ugb3IgYSAnZ3JvdXAnIG9mIGRldGFpbHMgd2hpY2ggY2FuIGVhY2ggYmUgYSBzaW1wbGUgaXRlbXMgb3IgZ3JvdXBzIG9mIHN1Yi1kZXRhaWxzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ2xhaW0uSXRlbSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0b3RhbCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRvdGFsIGNsYWltIGNvc3QiIGRlZmluaXRpb249IlRoZSB0b3RhbCB2YWx1ZSBvZiB0aGUgYWxsIHRoZSBpdGVtcyBpbiB0aGUgY2xhaW0uIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0iZW50ZXJlciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9InByb3ZpZGVyIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0icGFydHkiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJwcm92aWRlciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJwYXRpZW50Ii8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBhcnR5Ii8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iRW5jb3VudGVyIiByZWxhdGVkS2V5RWxlbWVudD0iZW5jb3VudGVyIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iRGV2aWNlIiByZWxhdGVkS2V5RWxlbWVudD0idWRpIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iRGV2aWNlIiByZWxhdGVkS2V5RWxlbWVudD0idWRpIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iRGV2aWNlIiByZWxhdGVkS2V5RWxlbWVudD0idWRpIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iRGV2aWNlIiByZWxhdGVkS2V5RWxlbWVudD0idWRpIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUmVsYXRlZFBlcnNvbiIgcmVsYXRlZEtleUVsZW1lbnQ9InBhcnR5Ii8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDbGFpbS5BY2NpZGVudCIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gdGhlIGluY2lkZW50IG9jY3VycmVkIiBkZWZpbml0aW9uPSJEYXRlIG9mIGFuIGFjY2lkZW50IGV2ZW50ICByZWxhdGVkIHRvIHRoZSBwcm9kdWN0cyBhbmQgc2VydmljZXMgY29udGFpbmVkIGluIHRoZSBjbGFpbS4iIGNvbW1lbnQ9IlRoZSBkYXRlIG9mIHRoZSBhY2NpZGVudCBoYXMgdG8gcHJlY2VkZSB0aGUgZGF0ZXMgb2YgdGhlIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyBidXQgd2l0aGluIGEgcmVhc29uYWJsZSB0aW1lZnJhbWUuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGhlIG5hdHVyZSBvZiB0aGUgYWNjaWRlbnQiIGRlZmluaXRpb249IlRoZSB0eXBlIG9yIGNvbnRleHQgb2YgdGhlIGFjY2lkZW50IGV2ZW50IGZvciB0aGUgcHVycG9zZXMgb2Ygc2VsZWN0aW9uIG9mIHBvdGVudGlhbCBpbnN1cmFuY2UgY292ZXJhZ2VzIGFuZCBkZXRlcm1pbmF0aW9uIG9mIGNvb3JkaW5hdGlvbiBiZXR3ZWVuIGluc3VyZXJzLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkFjY2lkZW50VHlwZSIgZGVzY3JpcHRpb249IlR5cGUgb2YgYWNjaWRlbnQ6IHdvcmsgcGxhY2UsIGF1dG8sIGV0Yy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImxvY2F0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoZXJlIHRoZSBldmVudCBvY2N1cnJlZCIgZGVmaW5pdGlvbj0iVGhlIHBoeXNpY2FsIGxvY2F0aW9uIG9mIHRoZSBhY2NpZGVudCBldmVudC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQWRkcmVzcyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ2xhaW0uQ2FyZVRlYW0iIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InNlcXVlbmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iT3JkZXIgb2YgY2FyZSB0ZWFtIiBkZWZpbml0aW9uPSJBIG51bWJlciB0byB1bmlxdWVseSBpZGVudGlmeSBjYXJlIHRlYW0gZW50cmllcy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcm92aWRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJQcmFjdGl0aW9uZXIgb3Igb3JnYW5pemF0aW9uIiBkZWZpbml0aW9uPSJNZW1iZXIgb2YgdGhlIHRlYW0gd2hvIHByb3ZpZGVkIHRoZSBwcm9kdWN0IG9yIHNlcnZpY2UuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZXNwb25zaWJsZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Cb29sZWFuIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkluZGljYXRvciBvZiB0aGUgbGVhZCBwcmFjdGl0aW9uZXIiIGRlZmluaXRpb249IlRoZSBwYXJ0eSB3aG8gaXMgYmlsbGluZyBhbmQvb3IgcmVzcG9uc2libGUgZm9yIHRoZSBjbGFpbWVkIHByb2R1Y3RzIG9yIHNlcnZpY2VzLiIgY29tbWVudD0iUmVzcG9uc2libGUgbWlnaHQgbm90IGJlIHJlcXVpcmVkIHdoZW4gdGhlcmUgaXMgb25seSBhIHNpbmdsZSBwcm92aWRlciBsaXN0ZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icm9sZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRnVuY3Rpb24gd2l0aGluIHRoZSB0ZWFtIiBkZWZpbml0aW9uPSJUaGUgbGVhZCwgYXNzaXN0aW5nIG9yIHN1cGVydmlzaW5nIHByYWN0aXRpb25lciBhbmQgdGhlaXIgZGlzY2lwbGluZSBpZiBhIG11bHRpZGlzY2lwbGluYXJ5IHRlYW0uIiBjb21tZW50PSJSb2xlIG1pZ2h0IG5vdCBiZSByZXF1aXJlZCB3aGVuIHRoZXJlIGlzIG9ubHkgYSBzaW5nbGUgcHJvdmlkZXIgbGlzdGVkLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNhcmVUZWFtUm9sZSIgZGVzY3JpcHRpb249IlRoZSByb2xlIGNvZGVzIGZvciB0aGUgY2FyZSB0ZWFtIG1lbWJlcnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJxdWFsaWZpY2F0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJQcmFjdGl0aW9uZXIgY3JlZGVudGlhbCBvciBzcGVjaWFsaXphdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHF1YWxpZmljYXRpb24gb2YgdGhlIHByYWN0aXRpb25lciB3aGljaCBpcyBhcHBsaWNhYmxlIGZvciB0aGlzIHNlcnZpY2UuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUHJvdmlkZXJRdWFsaWZpY2F0aW9uIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXIgcHJvZmVzc2lvbmFsIHF1YWxpZmljYXRpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDbGFpbS5EaWFnbm9zaXMiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InNlcXVlbmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIERpYWdub3NpcyBpbnN0YW5jZSBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJBIG51bWJlciB0byB1bmlxdWVseSBpZGVudGlmeSBkaWFnbm9zaXMgZW50cmllcy4iIGNvbW1lbnQ9IkRpYWdub3NpcyBhcmUgcHJlc2VudGVkIGluIGxpc3Qgb3JkZXIgdG8gdGhlaXIgZXhwZWN0ZWQgaW1wb3J0YW5jZTogcHJpbWFyeSwgc2Vjb25kYXJ5LCBldGMuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGlhZ25vc2lzIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBOYXR1cmUgb2YgaWxsbmVzcyBvciBwcm9ibGVtIiBkZWZpbml0aW9uPSJUaGUgbmF0dXJlIG9mIGlsbG5lc3Mgb3IgcHJvYmxlbSBpbiBhIGNvZGVkIGZvcm0gb3IgYXMgYSByZWZlcmVuY2UgdG8gYW4gZXh0ZXJuYWwgZGVmaW5lZCBDb25kaXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlZmVyZW5jZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJJQ0QxMCIgZGVzY3JpcHRpb249IkV4YW1wbGUgSUNEMTAgRGlhZ25vc3RpYyBjb2Rlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaW1pbmcgb3IgbmF0dXJlIG9mIHRoZSBkaWFnbm9zaXMiIGRlZmluaXRpb249IldoZW4gdGhlIGNvbmRpdGlvbiB3YXMgb2JzZXJ2ZWQgb3IgdGhlIHJlbGF0aXZlIHJhbmtpbmcuIiBjb21tZW50PSJGb3IgZXhhbXBsZTogYWRtaXR0aW5nLCBwcmltYXJ5LCBzZWNvbmRhcnksIGRpc2NoYXJnZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRGlhZ25vc2lzVHlwZSIgZGVzY3JpcHRpb249IlRoZSB0eXBlIG9mIHRoZSBkaWFnbm9zaXM6IGFkbWl0dGluZywgcHJpbmNpcGFsLCBkaXNjaGFyZ2UuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJvbkFkbWlzc2lvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFByZXNlbnQgb24gYWRtaXNzaW9uIiBkZWZpbml0aW9uPSJJbmRpY2F0aW9uIG9mIHdoZXRoZXIgdGhlIGRpYWdub3NpcyB3YXMgcHJlc2VudCBvbiBhZG1pc3Npb24gdG8gYSBmYWNpbGl0eS4iPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iUHJlc2VudCBvbiBhZG1pc3Npb24uIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGFja2FnZUNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlBhY2thZ2UgYmlsbGluZyBjb2RlIiBkZWZpbml0aW9uPSJBIHBhY2thZ2UgYmlsbGluZyBjb2RlIG9yIGJ1bmRsZSBjb2RlIHVzZWQgdG8gZ3JvdXAgcHJvZHVjdHMgYW5kIHNlcnZpY2VzIHRvIGEgcGFydGljdWxhciBoZWFsdGggY29uZGl0aW9uIChzdWNoIGFzIGhlYXJ0IGF0dGFjaykgd2hpY2ggaXMgYmFzZWQgb24gYSBwcmVkZXRlcm1pbmVkIGdyb3VwaW5nIGNvZGUgc3lzdGVtLiIgY29tbWVudD0iRm9yIGV4YW1wbGUgRFJHIChEaWFnbm9zaXMgUmVsYXRlZCBHcm91cCkgb3IgYSBidW5kbGVkIGJpbGxpbmcgY29kZS4gQSBwYXRpZW50IG1heSBoYXZlIGEgZGlhZ25vc2lzIG9mIGEgTXlvY2FyZGlhbCBJbmZhcmN0aW9uIGFuZCBhIERSRyBmb3IgSGVhcnRBdHRhY2sgd291bGQgYmUgYXNzaWduZWQuIFRoZSBDbGFpbSBpdGVtIChhbmQgcG9zc2libGUgc3Vic2VxdWVudCBjbGFpbXMpIHdvdWxkIHJlZmVyIHRvIHRoZSBEUkcgZm9yIHRob3NlIGxpbmUgaXRlbXMgdGhhdCB3ZXJlIGZvciBzZXJ2aWNlcyByZWxhdGVkIHRvIHRoZSBoZWFydCBhdHRhY2sgZXZlbnQuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRGlhZ25vc2lzUmVsYXRlZEdyb3VwIiBkZXNjcmlwdGlvbj0iVGhlIERSRyBjb2RlcyBhc3NvY2lhdGVkIHdpdGggdGhlIGRpYWdub3Npcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ2xhaW0uSW5zdXJhbmNlIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzZXF1ZW5jZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3VyYW5jZSBpbnN0YW5jZSBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJBIG51bWJlciB0byB1bmlxdWVseSBpZGVudGlmeSBpbnN1cmFuY2UgZW50cmllcyBhbmQgcHJvdmlkZSBhIHNlcXVlbmNlIG9mIGNvdmVyYWdlcyB0byBjb252ZXkgY29vcmRpbmF0aW9uIG9mIGJlbmVmaXQgb3JkZXIuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jYWwiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJDb3ZlcmFnZSB0byBiZSB1c2VkIGZvciBhZGp1ZGljYXRpb24iIGRlZmluaXRpb249IkEgZmxhZyB0byBpbmRpY2F0ZSB0aGF0IHRoaXMgQ292ZXJhZ2UgaXMgdG8gYmUgdXNlZCBmb3IgYWRqdWRpY2F0aW9uIG9mIHRoaXMgY2xhaW0gd2hlbiBzZXQgdG8gdHJ1ZS4iIGNvbW1lbnQ9IkEgcGF0aWVudCBtYXkgKHdpbGwpIGhhdmUgbXVsdGlwbGUgaW5zdXJhbmNlIHBvbGljaWVzIHdoaWNoIHByb3ZpZGUgcmVpbWJ1cnNlbWVudCBmb3IgaGVhbHRoY2FyZSBzZXJ2aWNlcyBhbmQgcHJvZHVjdHMuIEZvciBleGFtcGxlIGEgcGVyc29uIG1heSBhbHNvIGJlIGNvdmVyZWQgYnkgdGhlaXIgc3BvdXNlJ3MgcG9saWN5IGFuZCBib3RoIGFwcGVhciBpbiB0aGUgbGlzdCAoYW5kIG1heSBiZSBmcm9tIHRoZSBzYW1lIGluc3VyZXIpLiBUaGlzIGZsYWcgd2lsbCBiZSBzZXQgdG8gdHJ1ZSBmb3Igb25seSBvbmUgb2YgdGhlIGxpc3RlZCBwb2xpY2llcyBhbmQgdGhhdCBwb2xpY3kgd2lsbCBiZSB1c2VkIGZvciBhZGp1ZGljYXRpbmcgdGhpcyBjbGFpbS4gT3RoZXIgY2xhaW1zIHdvdWxkIGJlIGNyZWF0ZWQgdG8gcmVxdWVzdCBhZGp1ZGljYXRpb24gYWdhaW5zdCB0aGUgb3RoZXIgbGlzdGVkIHBvbGljaWVzLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgZGVzY3JpcHRpb249IlByZS1hc3NpZ25lZCBDbGFpbSBudW1iZXIiIGRlZmluaXRpb249IlRoZSBidXNpbmVzcyBpZGVudGlmaWVyIHRvIGJlIHVzZWQgd2hlbiB0aGUgY2xhaW0gaXMgc2VudCBmb3IgYWRqdWRpY2F0aW9uIGFnYWluc3QgdGhpcyBpbnN1cmFuY2UgcG9saWN5LiIgY29tbWVudD0iT25seSByZXF1aXJlZCBpbiBqdXJpc2RpY3Rpb25zIHdoZXJlIGluc3VyZXJzLCByYXRoZXIgdGhhbiB0aGUgcHJvdmlkZXIsIGFyZSByZXF1aXJlZCB0byBzZW5kIGNsYWltcyB0byAgaW5zdXJlcnMgdGhhdCBhcHBlYXIgYWZ0ZXIgdGhlbSBpbiB0aGUgbGlzdC4gVGhpcyBlbGVtZW50IGlzIG5vdCByZXF1aXJlZCB3aGVuICdzdWJyb2dhdGlvbj10cnVlJy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb3ZlcmFnZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJJbnN1cmFuY2UgaW5mb3JtYXRpb24iIGRlZmluaXRpb249IlJlZmVyZW5jZSB0byB0aGUgaW5zdXJhbmNlIGNhcmQgbGV2ZWwgaW5mb3JtYXRpb24gY29udGFpbmVkIGluIHRoZSBDb3ZlcmFnZSByZXNvdXJjZS4gVGhlIGNvdmVyYWdlIGlzc3VpbmcgaW5zdXJlciB3aWxsIHVzZSB0aGVzZSBkZXRhaWxzIHRvIGxvY2F0ZSB0aGUgcGF0aWVudCdzIGFjdHVhbCBjb3ZlcmFnZSB3aXRoaW4gdGhlIGluc3VyZXIncyBpbmZvcm1hdGlvbiBzeXN0ZW0uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYnVzaW5lc3NBcnJhbmdlbWVudCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iQWRkaXRpb25hbCBwcm92aWRlciBjb250cmFjdCBudW1iZXIiIGRlZmluaXRpb249IkEgYnVzaW5lc3MgYWdyZWVtZW50IG51bWJlciBlc3RhYmxpc2hlZCBiZXR3ZWVuIHRoZSBwcm92aWRlciBhbmQgdGhlIGluc3VyZXIgZm9yIHNwZWNpYWwgYnVzaW5lc3MgcHJvY2Vzc2luZyBwdXJwb3Nlcy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcmVBdXRoUmVmIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlByaW9yIGF1dGhvcml6YXRpb24gcmVmZXJlbmNlIG51bWJlciIgZGVmaW5pdGlvbj0iUmVmZXJlbmNlIG51bWJlcnMgcHJldmlvdXNseSBwcm92aWRlZCBieSB0aGUgaW5zdXJlciB0byB0aGUgcHJvdmlkZXIgdG8gYmUgcXVvdGVkIG9uIHN1YnNlcXVlbnQgY2xhaW1zIGNvbnRhaW5pbmcgc2VydmljZXMgb3IgcHJvZHVjdHMgcmVsYXRlZCB0byB0aGUgcHJpb3IgYXV0aG9yaXphdGlvbi4iIGNvbW1lbnQ9IlRoaXMgdmFsdWUgaXMgYW4gYWxwaGFudW1lcmljIHN0cmluZyB0aGF0IG1heSBiZSBwcm92aWRlZCBvdmVyIHRoZSBwaG9uZSwgdmlhIHRleHQsIHZpYSBwYXBlciwgb3Igd2l0aGluIGEgQ2xhaW1SZXNwb25zZSByZXNvdXJjZSBhbmQgaXMgbm90IGEgRkhJUiBJZGVudGlmaWVyLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNsYWltUmVzcG9uc2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iQWRqdWRpY2F0aW9uIHJlc3VsdHMiIGRlZmluaXRpb249IlRoZSByZXN1bHQgb2YgdGhlIGFkanVkaWNhdGlvbiBvZiB0aGUgbGluZSBpdGVtcyBmb3IgdGhlIENvdmVyYWdlIHNwZWNpZmllZCBpbiB0aGlzIGluc3VyYW5jZS4iIGNvbW1lbnQ9Ik11c3Qgbm90IGJlIHNwZWNpZmllZCB3aGVuICdmb2NhbD10cnVlJyBmb3IgdGhpcyBpbnN1cmFuY2UuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDbGFpbS5JdGVtIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzZXF1ZW5jZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikl0ZW0gaW5zdGFuY2UgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iQSBudW1iZXIgdG8gdW5pcXVlbHkgaWRlbnRpZnkgaXRlbSBlbnRyaWVzLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNhcmVUZWFtU2VxdWVuY2UiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iQXBwbGljYWJsZSBjYXJlVGVhbSBtZW1iZXJzIiBkZWZpbml0aW9uPSJDYXJlVGVhbSBtZW1iZXJzIHJlbGF0ZWQgdG8gdGhpcyBzZXJ2aWNlIG9yIHByb2R1Y3QuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRpYWdub3Npc1NlcXVlbmNlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkFwcGxpY2FibGUgZGlhZ25vc2VzIiBkZWZpbml0aW9uPSJEaWFnbm9zaXMgYXBwbGljYWJsZSBmb3IgdGhpcyBzZXJ2aWNlIG9yIHByb2R1Y3QuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InByb2NlZHVyZVNlcXVlbmNlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkFwcGxpY2FibGUgcHJvY2VkdXJlcyIgZGVmaW5pdGlvbj0iUHJvY2VkdXJlcyBhcHBsaWNhYmxlIGZvciB0aGlzIHNlcnZpY2Ugb3IgcHJvZHVjdC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5mb3JtYXRpb25TZXF1ZW5jZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBcHBsaWNhYmxlIGV4Y2VwdGlvbiBhbmQgc3VwcG9ydGluZyBpbmZvcm1hdGlvbiIgZGVmaW5pdGlvbj0iRXhjZXB0aW9ucywgc3BlY2lhbCBjb25kaXRpb25zIGFuZCBzdXBwb3J0aW5nIGluZm9ybWF0aW9uIGFwcGxpY2FibGUgZm9yIHRoaXMgc2VydmljZSBvciBwcm9kdWN0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZXZlbnVlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZXZlbnVlIG9yIGNvc3QgY2VudGVyIGNvZGUiIGRlZmluaXRpb249IlRoZSB0eXBlIG9mIHJldmVudWUgb3IgY29zdCBjZW50ZXIgcHJvdmlkaW5nIHRoZSBwcm9kdWN0IGFuZC9vciBzZXJ2aWNlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlJldmVudWVDZW50ZXIiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgdGhlIHJldmVudWUgb3IgY29zdCBjZW50ZXJzIHN1cHBseWluZyB0aGUgc2VydmljZSBhbmQvb3IgcHJvZHVjdHMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQmVuZWZpdCBjbGFzc2lmaWNhdGlvbiIgZGVmaW5pdGlvbj0iQ29kZSB0byBpZGVudGlmeSB0aGUgZ2VuZXJhbCB0eXBlIG9mIGJlbmVmaXRzIHVuZGVyIHdoaWNoIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyBhcmUgcHJvdmlkZWQuIiBjb21tZW50PSJFeGFtcGxlcyBpbmNsdWRlIE1lZGljYWwgQ2FyZSwgUGVyaW9kb250aWNzLCBSZW5hbCBEaWFseXNpcywgVmlzaW9uIENvdmVyYWdlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJlbmVmaXRDYXRlZ29yeSIgZGVzY3JpcHRpb249IkJlbmVmaXQgY2F0ZWdvcmllcyBzdWNoIGFzOiBvcmFsLWJhc2ljLCBtYWpvciwgZ2xhc3Nlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InByb2R1Y3RPclNlcnZpY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkJpbGxpbmcsIHNlcnZpY2UsIHByb2R1Y3QsIG9yIGRydWcgY29kZSIgZGVmaW5pdGlvbj0iV2hlbiB0aGUgdmFsdWUgaXMgYSBncm91cCBjb2RlIHRoZW4gdGhpcyBpdGVtIGNvbGxlY3RzIGEgc2V0IG9mIHJlbGF0ZWQgY2xhaW0gZGV0YWlscywgb3RoZXJ3aXNlIHRoaXMgY29udGFpbnMgdGhlIHByb2R1Y3QsIHNlcnZpY2UsIGRydWcgb3Igb3RoZXIgYmlsbGluZyBjb2RlIGZvciB0aGUgaXRlbS4iIGNvbW1lbnQ9IklmIHRoaXMgaXMgYW4gYWN0dWFsIHNlcnZpY2Ugb3IgcHJvZHVjdCBsaW5lLCBpLmUuIG5vdCBhIEdyb3VwLCB0aGVuIHVzZSBjb2RlIHRvIGluZGljYXRlIHRoZSBQcm9mZXNzaW9uYWwgU2VydmljZSBvciBQcm9kdWN0IHN1cHBsaWVkIChlLmcuIENUUCwgSENQQ1MsIFVTQ0xTLCBJQ0QxMCwgTkNQRFAsIERJTiwgUnhOb3JtLCBBQ0hJLCBDQ0kpLiBJZiBhIGdyb3VwaW5nIGl0ZW0gdGhlbiB1c2UgYSBncm91cCBjb2RlIHRvIGluZGljYXRlIHRoZSB0eXBlIG9mIHRoaW5nIGJlaW5nIGdyb3VwZWQgZS5nLiAnZ2xhc3Nlcycgb3IgJ2NvbXBvdW5kJy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJTZXJ2aWNlUHJvZHVjdCIgZGVzY3JpcHRpb249IkFsbG93YWJsZSBzZXJ2aWNlIGFuZCBwcm9kdWN0IGNvZGVzLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibW9kaWZpZXIiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJQcm9kdWN0IG9yIHNlcnZpY2UgYmlsbGluZyBtb2RpZmllcnMiIGRlZmluaXRpb249Ikl0ZW0gdHlwaWZpY2F0aW9uIG9yIG1vZGlmaWVycyBjb2RlcyB0byBjb252ZXkgYWRkaXRpb25hbCBjb250ZXh0IGZvciB0aGUgcHJvZHVjdCBvciBzZXJ2aWNlLiIgY29tbWVudD0iRm9yIGV4YW1wbGUgaW4gT3JhbCB3aGV0aGVyIHRoZSB0cmVhdG1lbnQgaXMgY29zbWV0aWMgb3IgYXNzb2NpYXRlZCB3aXRoIFRNSiwgb3IgZm9yIE1lZGljYWwgd2hldGhlciB0aGUgdHJlYXRtZW50IHdhcyBvdXRzaWRlIHRoZSBjbGluaWMgb3Igb3V0c2lkZSBvZiBvZmZpY2UgaG91cnMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1vZGlmaWVycyIgZGVzY3JpcHRpb249Ikl0ZW0gdHlwZSBvciBtb2RpZmllcnMgY29kZXMsIGVnIGZvciBPcmFsIHdoZXRoZXIgdGhlIHRyZWF0bWVudCBpcyBjb3NtZXRpYyBvciBhc3NvY2lhdGVkIHdpdGggVE1KLCBvciBhbiBhcHBsaWFuY2Ugd2FzIGxvc3Qgb3Igc3RvbGVuLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJvZ3JhbUNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJQcm9ncmFtIHRoZSBwcm9kdWN0IG9yIHNlcnZpY2UgaXMgcHJvdmlkZWQgdW5kZXIiIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIHByb2dyYW0gdW5kZXIgd2hpY2ggdGhpcyBtYXkgYmUgcmVjb3ZlcmVkLiIgY29tbWVudD0iRm9yIGV4YW1wbGU6IE5lb25hdGFsIHByb2dyYW0sIGNoaWxkIGRlbnRhbCBwcm9ncmFtIG9yIGRydWcgdXNlcnMgcmVjb3ZlcnkgcHJvZ3JhbS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUHJvZ3JhbUNvZGUiIGRlc2NyaXB0aW9uPSJQcm9ncmFtIHNwZWNpZmljIHJlYXNvbiBjb2Rlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InNlcnZpY2VkIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkRhdGUgb3IgZGF0ZXMgb2Ygc2VydmljZSBvciBwcm9kdWN0IGRlbGl2ZXJ5IiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBvciBkYXRlcyB3aGVuIHRoZSBzZXJ2aWNlIG9yIHByb2R1Y3Qgd2FzIHN1cHBsaWVkLCBwZXJmb3JtZWQgb3IgY29tcGxldGVkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibG9jYXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUGxhY2Ugb2Ygc2VydmljZSBvciB3aGVyZSBwcm9kdWN0IHdhcyBzdXBwbGllZCIgZGVmaW5pdGlvbj0iV2hlcmUgdGhlIHByb2R1Y3Qgb3Igc2VydmljZSB3YXMgcHJvdmlkZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkFkZHJlc3MiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlZmVyZW5jZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJTZXJ2aWNlUGxhY2UiIGRlc2NyaXB0aW9uPSJQbGFjZSBvZiBzZXJ2aWNlOiBwaGFybWFjeSwgc2Nob29sLCBwcmlzb24sIGV0Yy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InF1YW50aXR5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvdW50IG9mIHByb2R1Y3RzIG9yIHNlcnZpY2VzIiBkZWZpbml0aW9uPSJUaGUgbnVtYmVyIG9mIHJlcGV0aXRpb25zIG9mIGEgc2VydmljZSBvciBwcm9kdWN0LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InVuaXRQcmljZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkZlZSwgY2hhcmdlIG9yIGNvc3QgcGVyIGl0ZW0iIGRlZmluaXRpb249IklmIHRoZSBpdGVtIGlzIG5vdCBhIGdyb3VwIHRoZW4gdGhpcyBpcyB0aGUgZmVlIGZvciB0aGUgcHJvZHVjdCBvciBzZXJ2aWNlLCBvdGhlcndpc2UgdGhpcyBpcyB0aGUgdG90YWwgb2YgdGhlIGZlZXMgZm9yIHRoZSBkZXRhaWxzIG9mIHRoZSBncm91cC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmYWN0b3IiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQcmljZSBzY2FsaW5nIGZhY3RvciIgZGVmaW5pdGlvbj0iQSByZWFsIG51bWJlciB0aGF0IHJlcHJlc2VudHMgYSBtdWx0aXBsaWVyIHVzZWQgaW4gZGV0ZXJtaW5pbmcgdGhlIG92ZXJhbGwgdmFsdWUgb2Ygc2VydmljZXMgZGVsaXZlcmVkIGFuZC9vciBnb29kcyByZWNlaXZlZC4gVGhlIGNvbmNlcHQgb2YgYSBGYWN0b3IgYWxsb3dzIGZvciBhIGRpc2NvdW50IG9yIHN1cmNoYXJnZSBtdWx0aXBsaWVyIHRvIGJlIGFwcGxpZWQgdG8gYSBtb25ldGFyeSBhbW91bnQuIiBjb21tZW50PSJUbyBzaG93IGEgMTAlIHNlbmlvcidzIGRpc2NvdW50LCB0aGUgdmFsdWUgZW50ZXJlZCBpczogMC45MCAoMS4wMCAtIDAuMTApLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5ldCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRvdGFsIGl0ZW0gY29zdCIgZGVmaW5pdGlvbj0iVGhlIHF1YW50aXR5IHRpbWVzIHRoZSB1bml0IHByaWNlIGZvciBhbiBhZGRpdGlvbmFsIHNlcnZpY2Ugb3IgcHJvZHVjdCBvciBjaGFyZ2UuIiBjb21tZW50PSJGb3IgZXhhbXBsZSwgdGhlIGZvcm11bGE6IHF1YW50aXR5ICogdW5pdFByaWNlICogZmFjdG9yICA9IG5ldC4gUXVhbnRpdHkgYW5kIGZhY3RvciBhcmUgYXNzdW1lZCB0byBiZSAxIGlmIG5vdCBzdXBwbGllZC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1ZGkiIGRlc2NyaXB0aW9uPSJVbmlxdWUgZGV2aWNlIGlkZW50aWZpZXIiIGRlZmluaXRpb249IlVuaXF1ZSBEZXZpY2UgSWRlbnRpZmllcnMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgbGluZSBpdGVtLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBbmF0b21pY2FsIGxvY2F0aW9uIiBkZWZpbml0aW9uPSJQaHlzaWNhbCBzZXJ2aWNlIHNpdGUgb24gdGhlIHBhdGllbnQgKGxpbWIsIHRvb3RoLCBldGMuKS4iIGNvbW1lbnQ9IkZvciBleGFtcGxlOiBQcm92aWRpbmcgYSB0b290aCBjb2RlLCBhbGxvd3MgYW4gaW5zdXJlciB0byBpZGVudGlmeSBhIHByb3ZpZGVyIHBlcmZvcm1pbmcgYSBmaWxsaW5nIG9uIGEgdG9vdGggdGhhdCB3YXMgcHJldmlvdXNseSByZW1vdmVkLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9yYWxTaXRlcyIgZGVzY3JpcHRpb249IlRoZSBjb2RlIGZvciB0aGUgdGVldGgsIHF1YWRyYW50LCBzZXh0YW50IGFuZCBhcmNoLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViU2l0ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFuYXRvbWljYWwgc3ViLWxvY2F0aW9uIiBkZWZpbml0aW9uPSJBIHJlZ2lvbiBvciBzdXJmYWNlIG9mIHRoZSBib2R5U2l0ZSwgZS5nLiBsaW1iIHJlZ2lvbiBvciB0b290aCBzdXJmYWNlKHMpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJTdXJmYWNlIiBkZXNjcmlwdGlvbj0iVGhlIGNvZGUgZm9yIHRoZSB0b290aCBzdXJmYWNlIGFuZCBzdXJmYWNlIGNvbWJpbmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBFbmNvdW50ZXJzIHJlbGF0ZWQgdG8gdGhpcyBiaWxsZWQgaXRlbSIgZGVmaW5pdGlvbj0iVGhlIEVuY291bnRlcnMgZHVyaW5nIHdoaWNoIHRoaXMgQ2xhaW0gd2FzIGNyZWF0ZWQgb3IgdG8gd2hpY2ggdGhlIGNyZWF0aW9uIG9mIHRoaXMgcmVjb3JkIGlzIHRpZ2h0bHkgYXNzb2NpYXRlZC4iIGNvbW1lbnQ9IlRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgdGhlIGVuY291bnRlciB0aGUgZXZlbnQgb2NjdXJyZWQgd2l0aGluLCBidXQgc29tZSBhY3Rpdml0aWVzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGV0YWlsIiBkZXNjcmlwdGlvbj0iUHJvZHVjdCBvciBzZXJ2aWNlIHByb3ZpZGVkIiBkZWZpbml0aW9uPSJBIGNsYWltIGRldGFpbCBsaW5lLiBFaXRoZXIgYSBzaW1wbGUgKGEgcHJvZHVjdCBvciBzZXJ2aWNlKSBvciBhICdncm91cCcgb2Ygc3ViLWRldGFpbHMgd2hpY2ggYXJlIHNpbXBsZSBpdGVtcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNsYWltLkl0ZW0uRGV0YWlsIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ2xhaW0uSXRlbS5EZXRhaWwiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InNlcXVlbmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSXRlbSBpbnN0YW5jZSBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJBIG51bWJlciB0byB1bmlxdWVseSBpZGVudGlmeSBpdGVtIGVudHJpZXMuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmV2ZW51ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmV2ZW51ZSBvciBjb3N0IGNlbnRlciBjb2RlIiBkZWZpbml0aW9uPSJUaGUgdHlwZSBvZiByZXZlbnVlIG9yIGNvc3QgY2VudGVyIHByb3ZpZGluZyB0aGUgcHJvZHVjdCBhbmQvb3Igc2VydmljZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJSZXZlbnVlQ2VudGVyIiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIHRoZSByZXZlbnVlIG9yIGNvc3QgY2VudGVycyBzdXBwbHlpbmcgdGhlIHNlcnZpY2UgYW5kL29yIHByb2R1Y3RzLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkJlbmVmaXQgY2xhc3NpZmljYXRpb24iIGRlZmluaXRpb249IkNvZGUgdG8gaWRlbnRpZnkgdGhlIGdlbmVyYWwgdHlwZSBvZiBiZW5lZml0cyB1bmRlciB3aGljaCBwcm9kdWN0cyBhbmQgc2VydmljZXMgYXJlIHByb3ZpZGVkLiIgY29tbWVudD0iRXhhbXBsZXMgaW5jbHVkZSBNZWRpY2FsIENhcmUsIFBlcmlvZG9udGljcywgUmVuYWwgRGlhbHlzaXMsIFZpc2lvbiBDb3ZlcmFnZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJCZW5lZml0Q2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJCZW5lZml0IGNhdGVnb3JpZXMgc3VjaCBhczogb3JhbC1iYXNpYywgbWFqb3IsIGdsYXNzZXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcm9kdWN0T3JTZXJ2aWNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJCaWxsaW5nLCBzZXJ2aWNlLCBwcm9kdWN0LCBvciBkcnVnIGNvZGUiIGRlZmluaXRpb249IldoZW4gdGhlIHZhbHVlIGlzIGEgZ3JvdXAgY29kZSB0aGVuIHRoaXMgaXRlbSBjb2xsZWN0cyBhIHNldCBvZiByZWxhdGVkIGNsYWltIGRldGFpbHMsIG90aGVyd2lzZSB0aGlzIGNvbnRhaW5zIHRoZSBwcm9kdWN0LCBzZXJ2aWNlLCBkcnVnIG9yIG90aGVyIGJpbGxpbmcgY29kZSBmb3IgdGhlIGl0ZW0uIiBjb21tZW50PSJJZiB0aGlzIGlzIGFuIGFjdHVhbCBzZXJ2aWNlIG9yIHByb2R1Y3QgbGluZSwgaS5lLiBub3QgYSBHcm91cCwgdGhlbiB1c2UgY29kZSB0byBpbmRpY2F0ZSB0aGUgUHJvZmVzc2lvbmFsIFNlcnZpY2Ugb3IgUHJvZHVjdCBzdXBwbGllZCAoZS5nLiBDVFAsIEhDUENTLCBVU0NMUywgSUNEMTAsIE5DUERQLCBESU4sIFJ4Tm9ybSwgQUNISSwgQ0NJKS4gSWYgYSBncm91cGluZyBpdGVtIHRoZW4gdXNlIGEgZ3JvdXAgY29kZSB0byBpbmRpY2F0ZSB0aGUgdHlwZSBvZiB0aGluZyBiZWluZyBncm91cGVkIGUuZy4gJ2dsYXNzZXMnIG9yICdjb21wb3VuZCcuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU2VydmljZVByb2R1Y3QiIGRlc2NyaXB0aW9uPSJBbGxvd2FibGUgc2VydmljZSBhbmQgcHJvZHVjdCBjb2Rlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1vZGlmaWVyIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU2VydmljZS9Qcm9kdWN0IGJpbGxpbmcgbW9kaWZpZXJzIiBkZWZpbml0aW9uPSJJdGVtIHR5cGlmaWNhdGlvbiBvciBtb2RpZmllcnMgY29kZXMgdG8gY29udmV5IGFkZGl0aW9uYWwgY29udGV4dCBmb3IgdGhlIHByb2R1Y3Qgb3Igc2VydmljZS4iIGNvbW1lbnQ9IkZvciBleGFtcGxlIGluIE9yYWwgd2hldGhlciB0aGUgdHJlYXRtZW50IGlzIGNvc21ldGljIG9yIGFzc29jaWF0ZWQgd2l0aCBUTUosIG9yIGZvciBNZWRpY2FsIHdoZXRoZXIgdGhlIHRyZWF0bWVudCB3YXMgb3V0c2lkZSB0aGUgY2xpbmljIG9yIG91dCBvZiBvZmZpY2UgaG91cnMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1vZGlmaWVycyIgZGVzY3JpcHRpb249Ikl0ZW0gdHlwZSBvciBtb2RpZmllcnMgY29kZXMsIGVnIGZvciBPcmFsIHdoZXRoZXIgdGhlIHRyZWF0bWVudCBpcyBjb3NtZXRpYyBvciBhc3NvY2lhdGVkIHdpdGggVE1KLCBvciBhbiBhcHBsaWFuY2Ugd2FzIGxvc3Qgb3Igc3RvbGVuLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJvZ3JhbUNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJQcm9ncmFtIHRoZSBwcm9kdWN0IG9yIHNlcnZpY2UgaXMgcHJvdmlkZWQgdW5kZXIiIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIHByb2dyYW0gdW5kZXIgd2hpY2ggdGhpcyBtYXkgYmUgcmVjb3ZlcmVkLiIgY29tbWVudD0iRm9yIGV4YW1wbGU6IE5lb25hdGFsIHByb2dyYW0sIGNoaWxkIGRlbnRhbCBwcm9ncmFtIG9yIGRydWcgdXNlcnMgcmVjb3ZlcnkgcHJvZ3JhbS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUHJvZ3JhbUNvZGUiIGRlc2NyaXB0aW9uPSJQcm9ncmFtIHNwZWNpZmljIHJlYXNvbiBjb2Rlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InF1YW50aXR5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvdW50IG9mIHByb2R1Y3RzIG9yIHNlcnZpY2VzIiBkZWZpbml0aW9uPSJUaGUgbnVtYmVyIG9mIHJlcGV0aXRpb25zIG9mIGEgc2VydmljZSBvciBwcm9kdWN0LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InVuaXRQcmljZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkZlZSwgY2hhcmdlIG9yIGNvc3QgcGVyIGl0ZW0iIGRlZmluaXRpb249IklmIHRoZSBpdGVtIGlzIG5vdCBhIGdyb3VwIHRoZW4gdGhpcyBpcyB0aGUgZmVlIGZvciB0aGUgcHJvZHVjdCBvciBzZXJ2aWNlLCBvdGhlcndpc2UgdGhpcyBpcyB0aGUgdG90YWwgb2YgdGhlIGZlZXMgZm9yIHRoZSBkZXRhaWxzIG9mIHRoZSBncm91cC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmYWN0b3IiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQcmljZSBzY2FsaW5nIGZhY3RvciIgZGVmaW5pdGlvbj0iQSByZWFsIG51bWJlciB0aGF0IHJlcHJlc2VudHMgYSBtdWx0aXBsaWVyIHVzZWQgaW4gZGV0ZXJtaW5pbmcgdGhlIG92ZXJhbGwgdmFsdWUgb2Ygc2VydmljZXMgZGVsaXZlcmVkIGFuZC9vciBnb29kcyByZWNlaXZlZC4gVGhlIGNvbmNlcHQgb2YgYSBGYWN0b3IgYWxsb3dzIGZvciBhIGRpc2NvdW50IG9yIHN1cmNoYXJnZSBtdWx0aXBsaWVyIHRvIGJlIGFwcGxpZWQgdG8gYSBtb25ldGFyeSBhbW91bnQuIiBjb21tZW50PSJUbyBzaG93IGEgMTAlIHNlbmlvcidzIGRpc2NvdW50LCB0aGUgdmFsdWUgZW50ZXJlZCBpczogMC45MCAoMS4wMCAtIDAuMTApLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5ldCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRvdGFsIGl0ZW0gY29zdCIgZGVmaW5pdGlvbj0iVGhlIHF1YW50aXR5IHRpbWVzIHRoZSB1bml0IHByaWNlIGZvciBhbiBhZGRpdGlvbmFsIHNlcnZpY2Ugb3IgcHJvZHVjdCBvciBjaGFyZ2UuIiBjb21tZW50PSJGb3IgZXhhbXBsZSwgdGhlIGZvcm11bGE6IHF1YW50aXR5ICogdW5pdFByaWNlICogZmFjdG9yICA9IG5ldC4gUXVhbnRpdHkgYW5kIGZhY3RvciBhcmUgYXNzdW1lZCB0byBiZSAxIGlmIG5vdCBzdXBwbGllZC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1ZGkiIGRlc2NyaXB0aW9uPSJVbmlxdWUgZGV2aWNlIGlkZW50aWZpZXIiIGRlZmluaXRpb249IlVuaXF1ZSBEZXZpY2UgSWRlbnRpZmllcnMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgbGluZSBpdGVtLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YkRldGFpbCIgZGVzY3JpcHRpb249IlByb2R1Y3Qgb3Igc2VydmljZSBwcm92aWRlZCIgZGVmaW5pdGlvbj0iQSBjbGFpbSBkZXRhaWwgbGluZS4gRWl0aGVyIGEgc2ltcGxlIChhIHByb2R1Y3Qgb3Igc2VydmljZSkgb3IgYSAnZ3JvdXAnIG9mIHN1Yi1kZXRhaWxzIHdoaWNoIGFyZSBzaW1wbGUgaXRlbXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbS5JdGVtLkRldGFpbC5TdWJEZXRhaWwiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDbGFpbS5JdGVtLkRldGFpbC5TdWJEZXRhaWwiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InNlcXVlbmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSXRlbSBpbnN0YW5jZSBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJBIG51bWJlciB0byB1bmlxdWVseSBpZGVudGlmeSBpdGVtIGVudHJpZXMuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmV2ZW51ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmV2ZW51ZSBvciBjb3N0IGNlbnRlciBjb2RlIiBkZWZpbml0aW9uPSJUaGUgdHlwZSBvZiByZXZlbnVlIG9yIGNvc3QgY2VudGVyIHByb3ZpZGluZyB0aGUgcHJvZHVjdCBhbmQvb3Igc2VydmljZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJSZXZlbnVlQ2VudGVyIiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIHRoZSByZXZlbnVlIG9yIGNvc3QgY2VudGVycyBzdXBwbHlpbmcgdGhlIHNlcnZpY2UgYW5kL29yIHByb2R1Y3RzLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkJlbmVmaXQgY2xhc3NpZmljYXRpb24iIGRlZmluaXRpb249IkNvZGUgdG8gaWRlbnRpZnkgdGhlIGdlbmVyYWwgdHlwZSBvZiBiZW5lZml0cyB1bmRlciB3aGljaCBwcm9kdWN0cyBhbmQgc2VydmljZXMgYXJlIHByb3ZpZGVkLiIgY29tbWVudD0iRXhhbXBsZXMgaW5jbHVkZSBNZWRpY2FsIENhcmUsIFBlcmlvZG9udGljcywgUmVuYWwgRGlhbHlzaXMsIFZpc2lvbiBDb3ZlcmFnZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJCZW5lZml0Q2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJCZW5lZml0IGNhdGVnb3JpZXMgc3VjaCBhczogb3JhbC1iYXNpYywgbWFqb3IsIGdsYXNzZXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcm9kdWN0T3JTZXJ2aWNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJCaWxsaW5nLCBzZXJ2aWNlLCBwcm9kdWN0LCBvciBkcnVnIGNvZGUiIGRlZmluaXRpb249IldoZW4gdGhlIHZhbHVlIGlzIGEgZ3JvdXAgY29kZSB0aGVuIHRoaXMgaXRlbSBjb2xsZWN0cyBhIHNldCBvZiByZWxhdGVkIGNsYWltIGRldGFpbHMsIG90aGVyd2lzZSB0aGlzIGNvbnRhaW5zIHRoZSBwcm9kdWN0LCBzZXJ2aWNlLCBkcnVnIG9yIG90aGVyIGJpbGxpbmcgY29kZSBmb3IgdGhlIGl0ZW0uIiBjb21tZW50PSJJZiB0aGlzIGlzIGFuIGFjdHVhbCBzZXJ2aWNlIG9yIHByb2R1Y3QgbGluZSwgaS5lLiBub3QgYSBHcm91cCwgdGhlbiB1c2UgY29kZSB0byBpbmRpY2F0ZSB0aGUgUHJvZmVzc2lvbmFsIFNlcnZpY2Ugb3IgUHJvZHVjdCBzdXBwbGllZCAoZS5nLiBDVFAsIEhDUENTLCBVU0NMUywgSUNEMTAsIE5DUERQLCBESU4sIFJ4Tm9ybSwgQUNISSwgQ0NJKS4gSWYgYSBncm91cGluZyBpdGVtIHRoZW4gdXNlIGEgZ3JvdXAgY29kZSB0byBpbmRpY2F0ZSB0aGUgdHlwZSBvZiB0aGluZyBiZWluZyBncm91cGVkIGUuZy4gJ2dsYXNzZXMnIG9yICdjb21wb3VuZCcuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU2VydmljZVByb2R1Y3QiIGRlc2NyaXB0aW9uPSJBbGxvd2FibGUgc2VydmljZSBhbmQgcHJvZHVjdCBjb2Rlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1vZGlmaWVyIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU2VydmljZS9Qcm9kdWN0IGJpbGxpbmcgbW9kaWZpZXJzIiBkZWZpbml0aW9uPSJJdGVtIHR5cGlmaWNhdGlvbiBvciBtb2RpZmllcnMgY29kZXMgdG8gY29udmV5IGFkZGl0aW9uYWwgY29udGV4dCBmb3IgdGhlIHByb2R1Y3Qgb3Igc2VydmljZS4iIGNvbW1lbnQ9IkZvciBleGFtcGxlIGluIE9yYWwgd2hldGhlciB0aGUgdHJlYXRtZW50IGlzIGNvc21ldGljIG9yIGFzc29jaWF0ZWQgd2l0aCBUTUosIG9yIGZvciBNZWRpY2FsIHdoZXRoZXIgdGhlIHRyZWF0bWVudCB3YXMgb3V0c2lkZSB0aGUgY2xpbmljIG9yIG91dCBvZiBvZmZpY2UgaG91cnMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1vZGlmaWVycyIgZGVzY3JpcHRpb249Ikl0ZW0gdHlwZSBvciBtb2RpZmllcnMgY29kZXMsIGVnIGZvciBPcmFsIHdoZXRoZXIgdGhlIHRyZWF0bWVudCBpcyBjb3NtZXRpYyBvciBhc3NvY2lhdGVkIHdpdGggVE1KLCBvciBhbiBhcHBsaWFuY2Ugd2FzIGxvc3Qgb3Igc3RvbGVuLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJvZ3JhbUNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJQcm9ncmFtIHRoZSBwcm9kdWN0IG9yIHNlcnZpY2UgaXMgcHJvdmlkZWQgdW5kZXIiIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIHByb2dyYW0gdW5kZXIgd2hpY2ggdGhpcyBtYXkgYmUgcmVjb3ZlcmVkLiIgY29tbWVudD0iRm9yIGV4YW1wbGU6IE5lb25hdGFsIHByb2dyYW0sIGNoaWxkIGRlbnRhbCBwcm9ncmFtIG9yIGRydWcgdXNlcnMgcmVjb3ZlcnkgcHJvZ3JhbS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUHJvZ3JhbUNvZGUiIGRlc2NyaXB0aW9uPSJQcm9ncmFtIHNwZWNpZmljIHJlYXNvbiBjb2Rlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InF1YW50aXR5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvdW50IG9mIHByb2R1Y3RzIG9yIHNlcnZpY2VzIiBkZWZpbml0aW9uPSJUaGUgbnVtYmVyIG9mIHJlcGV0aXRpb25zIG9mIGEgc2VydmljZSBvciBwcm9kdWN0LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InVuaXRQcmljZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkZlZSwgY2hhcmdlIG9yIGNvc3QgcGVyIGl0ZW0iIGRlZmluaXRpb249IklmIHRoZSBpdGVtIGlzIG5vdCBhIGdyb3VwIHRoZW4gdGhpcyBpcyB0aGUgZmVlIGZvciB0aGUgcHJvZHVjdCBvciBzZXJ2aWNlLCBvdGhlcndpc2UgdGhpcyBpcyB0aGUgdG90YWwgb2YgdGhlIGZlZXMgZm9yIHRoZSBkZXRhaWxzIG9mIHRoZSBncm91cC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmYWN0b3IiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQcmljZSBzY2FsaW5nIGZhY3RvciIgZGVmaW5pdGlvbj0iQSByZWFsIG51bWJlciB0aGF0IHJlcHJlc2VudHMgYSBtdWx0aXBsaWVyIHVzZWQgaW4gZGV0ZXJtaW5pbmcgdGhlIG92ZXJhbGwgdmFsdWUgb2Ygc2VydmljZXMgZGVsaXZlcmVkIGFuZC9vciBnb29kcyByZWNlaXZlZC4gVGhlIGNvbmNlcHQgb2YgYSBGYWN0b3IgYWxsb3dzIGZvciBhIGRpc2NvdW50IG9yIHN1cmNoYXJnZSBtdWx0aXBsaWVyIHRvIGJlIGFwcGxpZWQgdG8gYSBtb25ldGFyeSBhbW91bnQuIiBjb21tZW50PSJUbyBzaG93IGEgMTAlIHNlbmlvcidzIGRpc2NvdW50LCB0aGUgdmFsdWUgZW50ZXJlZCBpczogMC45MCAoMS4wMCAtIDAuMTApLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5ldCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRvdGFsIGl0ZW0gY29zdCIgZGVmaW5pdGlvbj0iVGhlIHF1YW50aXR5IHRpbWVzIHRoZSB1bml0IHByaWNlIGZvciBhbiBhZGRpdGlvbmFsIHNlcnZpY2Ugb3IgcHJvZHVjdCBvciBjaGFyZ2UuIiBjb21tZW50PSJGb3IgZXhhbXBsZSwgdGhlIGZvcm11bGE6IHF1YW50aXR5ICogdW5pdFByaWNlICogZmFjdG9yICA9IG5ldC4gUXVhbnRpdHkgYW5kIGZhY3RvciBhcmUgYXNzdW1lZCB0byBiZSAxIGlmIG5vdCBzdXBwbGllZC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1ZGkiIGRlc2NyaXB0aW9uPSJVbmlxdWUgZGV2aWNlIGlkZW50aWZpZXIiIGRlZmluaXRpb249IlVuaXF1ZSBEZXZpY2UgSWRlbnRpZmllcnMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgbGluZSBpdGVtLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ2xhaW0uUGF5ZWUiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNhdGVnb3J5IG9mIHJlY2lwaWVudCIgZGVmaW5pdGlvbj0iVHlwZSBvZiBQYXJ0eSB0byBiZSByZWltYnVyc2VkOiBzdWJzY3JpYmVyLCBwcm92aWRlciwgb3RoZXIuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUGF5ZWVUeXBlIiBkZXNjcmlwdGlvbj0iQSBjb2RlIGZvciB0aGUgcGFydHkgdG8gYmUgcmVpbWJ1cnNlZC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhcnR5IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlJlY2lwaWVudCByZWZlcmVuY2UiIGRlZmluaXRpb249IlJlZmVyZW5jZSB0byB0aGUgaW5kaXZpZHVhbCBvciBvcmdhbml6YXRpb24gdG8gd2hvbSBhbnkgcGF5bWVudCB3aWxsIGJlIG1hZGUuIiBjb21tZW50PSJOb3QgcmVxdWlyZWQgaWYgdGhlIHBheWVlIGlzICdzdWJzY3JpYmVyJyBvciAncHJvdmlkZXInLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDbGFpbS5Qcm9jZWR1cmUiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InNlcXVlbmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFByb2NlZHVyZSBpbnN0YW5jZSBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJBIG51bWJlciB0byB1bmlxdWVseSBpZGVudGlmeSBwcm9jZWR1cmUgZW50cmllcy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2F0ZWdvcnkgb2YgUHJvY2VkdXJlIiBkZWZpbml0aW9uPSJXaGVuIHRoZSBjb25kaXRpb24gd2FzIG9ic2VydmVkIG9yIHRoZSByZWxhdGl2ZSByYW5raW5nLiIgY29tbWVudD0iRm9yIGV4YW1wbGU6IHByaW1hcnksIHNlY29uZGFyeS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUHJvY2VkdXJlVHlwZSIgZGVzY3JpcHRpb249IkV4YW1wbGUgcHJvY2VkdXJlIHR5cGUgY29kZXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkYXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gdGhlIHByb2NlZHVyZSB3YXMgcGVyZm9ybWVkIiBkZWZpbml0aW9uPSJEYXRlIGFuZCBvcHRpb25hbGx5IHRpbWUgdGhlIHByb2NlZHVyZSB3YXMgcGVyZm9ybWVkLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InByb2NlZHVyZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgU3BlY2lmaWMgY2xpbmljYWwgcHJvY2VkdXJlIiBkZWZpbml0aW9uPSJUaGUgY29kZSBvciByZWZlcmVuY2UgdG8gYSBQcm9jZWR1cmUgcmVzb3VyY2Ugd2hpY2ggaWRlbnRpZmllcyB0aGUgY2xpbmljYWwgaW50ZXJ2ZW50aW9uIHBlcmZvcm1lZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IklDRDEwX1Byb2NlZHVyZXMiIGRlc2NyaXB0aW9uPSJFeGFtcGxlIElDRDEwIFByb2NlZHVyZSBjb2Rlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InVkaSIgZGVzY3JpcHRpb249IlVuaXF1ZSBkZXZpY2UgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iVW5pcXVlIERldmljZSBJZGVudGlmaWVycyBhc3NvY2lhdGVkIHdpdGggdGhpcyBsaW5lIGl0ZW0uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDbGFpbS5SZWxhdGVkIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjbGFpbSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJSZWZlcmVuY2UgdG8gdGhlIHJlbGF0ZWQgY2xhaW0iIGRlZmluaXRpb249IlJlZmVyZW5jZSB0byBhIHJlbGF0ZWQgY2xhaW0uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVsYXRpb25zaGlwIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIb3cgdGhlIHJlZmVyZW5jZSBjbGFpbSBpcyByZWxhdGVkIiBkZWZpbml0aW9uPSJBIGNvZGUgdG8gY29udmV5IGhvdyB0aGUgY2xhaW1zIGFyZSByZWxhdGVkLiIgY29tbWVudD0iRm9yIGV4YW1wbGUsIHByaW9yIGNsYWltIG9yIHVtYnJlbGxhLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlJlbGF0ZWRDbGFpbVJlbGF0aW9uc2hpcCIgZGVzY3JpcHRpb249IlJlbGF0aW9uc2hpcCBvZiB0aGlzIGNsYWltIHRvIGEgcmVsYXRlZCBDbGFpbS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iRmlsZSBvciBjYXNlIHJlZmVyZW5jZSIgZGVmaW5pdGlvbj0iQW4gYWx0ZXJuYXRlIG9yZ2FuaXphdGlvbmFsIHJlZmVyZW5jZSB0byB0aGUgY2FzZSBvciBmaWxlIHRvIHdoaWNoIHRoaXMgcGFydGljdWxhciBjbGFpbSBwZXJ0YWlucy4iIGNvbW1lbnQ9IkZvciBleGFtcGxlLCBQcm9wZXJ0eS9DYXN1YWx0eSBpbnN1cmVyIGNsYWltICMgb3IgV29ya2VycyBDb21wZW5zYXRpb24gY2FzZSAjIC4iLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNsYWltLlN1cHBvcnRpbmdJbmZvIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzZXF1ZW5jZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkluZm9ybWF0aW9uIGluc3RhbmNlIGlkZW50aWZpZXIiIGRlZmluaXRpb249IkEgbnVtYmVyIHRvIHVuaXF1ZWx5IGlkZW50aWZ5IHN1cHBvcnRpbmcgaW5mb3JtYXRpb24gZW50cmllcy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgdGhlIHN1cHBsaWVkIGluZm9ybWF0aW9uIiBkZWZpbml0aW9uPSJUaGUgZ2VuZXJhbCBjbGFzcyBvZiB0aGUgaW5mb3JtYXRpb24gc3VwcGxpZWQ6IGluZm9ybWF0aW9uOyBleGNlcHRpb247IGFjY2lkZW50LCBlbXBsb3ltZW50OyBvbnNldCwgZXRjLiIgY29tbWVudD0iVGhpcyBtYXkgY29udGFpbiBhIGNhdGVnb3J5IGZvciB0aGUgbG9jYWwgYmlsbCB0eXBlIGNvZGVzLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkluZm9ybWF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJUaGUgdmFsdXNldCB1c2VkIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGNhdGVnb3J5IGNvZGVzLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVHlwZSBvZiBpbmZvcm1hdGlvbiIgZGVmaW5pdGlvbj0iU3lzdGVtIGFuZCBjb2RlIHBlcnRhaW5pbmcgdG8gdGhlIHNwZWNpZmljIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBzcGVjaWFsIGNvbmRpdGlvbnMgcmVsYXRpbmcgdG8gdGhlIHNldHRpbmcsIHRyZWF0bWVudCBvciBwYXRpZW50ICBmb3Igd2hpY2ggY2FyZSBpcyBzb3VnaHQuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iSW5mb3JtYXRpb25Db2RlIiBkZXNjcmlwdGlvbj0iVGhlIHZhbHVzZXQgdXNlZCBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBjb2Rlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InRpbWluZyIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaGVuIGl0IG9jY3VycmVkIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSB3aGVuIG9yIHBlcmlvZCB0byB3aGljaCB0aGlzIGluZm9ybWF0aW9uIHJlZmVycy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkRhdGEgdG8gYmUgcHJvdmlkZWQiIGRlZmluaXRpb249IkFkZGl0aW9uYWwgZGF0YSBvciBpbmZvcm1hdGlvbiBzdWNoIGFzIHJlc291cmNlcywgZG9jdW1lbnRzLCBpbWFnZXMgZXRjLiBpbmNsdWRpbmcgcmVmZXJlbmNlcyB0byB0aGUgZGF0YSBvciB0aGUgYWN0dWFsIGluY2x1c2lvbiBvZiB0aGUgZGF0YS4iIGNvbW1lbnQ9IkNvdWxkIGJlIHVzZWQgdG8gcHJvdmlkZSByZWZlcmVuY2VzIHRvIG90aGVyIHJlc291cmNlcywgZG9jdW1lbnQuIEZvciBleGFtcGxlIGNvdWxkIGNvbnRhaW4gYSBQREYgaW4gYW4gQXR0YWNobWVudCBvZiB0aGUgUG9saWNlIFJlcG9ydCBmb3IgYW4gQWNjaWRlbnQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkJvb2xlYW4iLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkF0dGFjaG1lbnQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlZmVyZW5jZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkV4cGxhbmF0aW9uIGZvciB0aGUgaW5mb3JtYXRpb24iIGRlZmluaXRpb249IlByb3ZpZGVzIHRoZSByZWFzb24gaW4gdGhlIHNpdHVhdGlvbiB3aGVyZSBhIHJlYXNvbiBjb2RlIGlzIHJlcXVpcmVkIGluIGFkZGl0aW9uIHRvIHRoZSBjb250ZW50LiIgY29tbWVudD0iRm9yIGV4YW1wbGU6IHRoZSByZWFzb24gZm9yIHRoZSBhZGRpdGlvbmFsIHN0YXksIG9yIHdoeSBhIHRvb3RoIGlzICBtaXNzaW5nLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1pc3NpbmdSZWFzb24iIGRlc2NyaXB0aW9uPSJSZWFzb24gY29kZXMgZm9yIHRoZSBtaXNzaW5nIHRlZXRoLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDbGFpbVJlc3BvbnNlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1jbGFpbXJlc3BvbnNlIiBsYWJlbD0iUUlDb3JlIENsYWltUmVzcG9uc2UiIHJldHJpZXZhYmxlPSJ0cnVlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3IgYSBjbGFpbSByZXNwb25zZSIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIGNsYWltIHJlc3BvbnNlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ2xhaW1SZXNwb25zZVN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgYWN0aXZlIHwgY2FuY2VsbGVkIHwgZHJhZnQgfCBlbnRlcmVkLWluLWVycm9yIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSByZXNvdXJjZSBpbnN0YW5jZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJDbGFpbVJlc3BvbnNlU3RhdHVzIiBkZXNjcmlwdGlvbj0iQSBjb2RlIHNwZWNpZnlpbmcgdGhlIHN0YXRlIG9mIHRoZSByZXNvdXJjZSBpbnN0YW5jZS4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgTW9yZSBncmFudWxhciBjbGFpbSB0eXBlIiBkZWZpbml0aW9uPSJBIGZpbmVyIGdyYWluZWQgc3VpdGUgb2YgY2xhaW0gdHlwZSBjb2RlcyB3aGljaCBtYXkgY29udmV5IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gc3VjaCBhcyBJbnBhdGllbnQgdnMgT3V0cGF0aWVudCBhbmQvb3IgYSBzcGVjaWFsdHkgc2VydmljZS4iIGNvbW1lbnQ9IlRoaXMgbWF5IGNvbnRhaW4gdGhlIGxvY2FsIGJpbGwgdHlwZSBjb2RlcywgZm9yIGV4YW1wbGUgdGhlIFVTIFVCLTA0IGJpbGwgdHlwZSBjb2RlIG9yIHRoZSBDTVMgYmlsbCB0eXBlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNsYWltVHlwZSIgZGVzY3JpcHRpb249IlRoZSB0eXBlIG9yIGRpc2NpcGxpbmUtc3R5bGUgb2YgdGhlIGNsYWltLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViVHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iTW9yZSBncmFudWxhciBjbGFpbSB0eXBlIiBkZWZpbml0aW9uPSJBIGZpbmVyIGdyYWluZWQgc3VpdGUgb2YgY2xhaW0gdHlwZSBjb2RlcyB3aGljaCBtYXkgY29udmV5IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gc3VjaCBhcyBJbnBhdGllbnQgdnMgT3V0cGF0aWVudCBhbmQvb3IgYSBzcGVjaWFsdHkgc2VydmljZS4iIGNvbW1lbnQ9IlRoaXMgbWF5IGNvbnRhaW4gdGhlIGxvY2FsIGJpbGwgdHlwZSBjb2RlcywgZm9yIGV4YW1wbGUgdGhlIFVTIFVCLTA0IGJpbGwgdHlwZSBjb2RlIG9yIHRoZSBDTVMgYmlsbCB0eXBlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNsYWltU3ViVHlwZSIgZGVzY3JpcHRpb249IkEgbW9yZSBncmFudWxhciBjbGFpbSB0eXBlY29kZS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InVzZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5Vc2UiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIGNsYWltIHwgcHJlYXV0aG9yaXphdGlvbiB8IHByZWRldGVybWluYXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0byBpbmRpY2F0ZSB3aGV0aGVyIHRoZSBuYXR1cmUgb2YgdGhlIHJlcXVlc3QgaXM6IHRvIHJlcXVlc3QgYWRqdWRpY2F0aW9uIG9mIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyBwcmV2aW91c2x5IHJlbmRlcmVkOyBvciByZXF1ZXN0aW5nIGF1dGhvcml6YXRpb24gYW5kIGFkanVkaWNhdGlvbiBmb3IgcHJvdmlzaW9uIGluIHRoZSBmdXR1cmU7IG9yIHJlcXVlc3RpbmcgdGhlIG5vbi1iaW5kaW5nIGFkanVkaWNhdGlvbiBvZiB0aGUgbGlzdGVkIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyB3aGljaCBjb3VsZCBiZSBwcm92aWRlZCBpbiB0aGUgZnV0dXJlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlVzZSIgZGVzY3JpcHRpb249IkNsYWltLCBwcmVhdXRob3JpemF0aW9uLCBwcmVkZXRlcm1pbmF0aW9uLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhdGllbnQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFRoZSByZWNpcGllbnQgb2YgdGhlIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyIgZGVmaW5pdGlvbj0iVGhlIHBhcnR5IHRvIHdob20gdGhlIHByb2Zlc3Npb25hbCBzZXJ2aWNlcyBhbmQvb3IgcHJvZHVjdHMgaGF2ZSBiZWVuIHN1cHBsaWVkIG9yIGFyZSBiZWluZyBjb25zaWRlcmVkIGFuZCBmb3Igd2hvbSBhY3R1YWwgZm9yIGZhY2FzdCByZWltYnVyc2VtZW50IGlzIHNvdWdodC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjcmVhdGVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBSZXNwb25zZSBjcmVhdGlvbiBkYXRlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSB0aGlzIHJlc291cmNlIHdhcyBjcmVhdGVkLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3VyZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFBhcnR5IHJlc3BvbnNpYmxlIGZvciByZWltYnVyc2VtZW50IiBkZWZpbml0aW9uPSJUaGUgcGFydHkgcmVzcG9uc2libGUgZm9yIGF1dGhvcml6YXRpb24sIGFkanVkaWNhdGlvbiBhbmQgcmVpbWJ1cnNlbWVudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZXF1ZXN0b3IiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFBhcnR5IHJlc3BvbnNpYmxlIGZvciB0aGUgY2xhaW0iIGRlZmluaXRpb249IlRoZSBwcm92aWRlciB3aGljaCBpcyByZXNwb25zaWJsZSBmb3IgdGhlIGNsYWltLCBwcmVkZXRlcm1pbmF0aW9uIG9yIHByZWF1dGhvcml6YXRpb24uIiBjb21tZW50PSJUeXBpY2FsbHkgdGhpcyBmaWVsZCB3b3VsZCBiZSAxLi4xIHdoZXJlIHRoaXMgcGFydHkgaXMgcmVzcG9uc2libGUgZm9yIHRoZSBjbGFpbSBidXQgbm90IG5lY2Vzc2FyaWx5IHByb2Zlc3Npb25hbGx5IHJlc3BvbnNpYmxlIGZvciB0aGUgcHJvdmlzaW9uIG9mIHRoZSBpbmRpdmlkdWFsIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyBsaXN0ZWQgYmVsb3cuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVxdWVzdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgSWQgb2YgcmVzb3VyY2UgdHJpZ2dlcmluZyBhZGp1ZGljYXRpb24iIGRlZmluaXRpb249Ik9yaWdpbmFsIHJlcXVlc3QgcmVzb3VyY2UgcmVmZXJlbmNlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im91dGNvbWUiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVtaXR0YW5jZU91dGNvbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icXVldWVkIHwgY29tcGxldGUgfCBlcnJvciB8IHBhcnRpYWwiIGRlZmluaXRpb249IlRoZSBvdXRjb21lIG9mIHRoZSBjbGFpbSwgcHJlZGV0ZXJtaW5hdGlvbiwgb3IgcHJlYXV0aG9yaXphdGlvbiBwcm9jZXNzaW5nLiIgY29tbWVudD0iVGhlIHJlc291cmNlIG1heSBiZSB1c2VkIHRvIGluZGljYXRlIHRoYXQ6IHRoZSByZXF1ZXN0IGhhcyBiZWVuIGhlbGQgKHF1ZXVlZCkgZm9yIHByb2Nlc3Npbmc7IHRoYXQgaXQgaGFzIGJlZW4gcHJvY2Vzc2VkIGFuZCBlcnJvcnMgZm91bmQgKGVycm9yKTsgdGhhdCBubyBlcnJvcnMgd2VyZSBmb3VuZCBhbmQgdGhhdCBzb21lIG9mIHRoZSBhZGp1ZGljYXRpb24gaGFzIGJlZW4gdW5kZXJ0YWtlbiAocGFydGlhbCkgb3IgdGhhdCBhbGwgb2YgdGhlIGFkanVkaWNhdGlvbiBoYXMgYmVlbiB1bmRlcnRha2VuIChjb21wbGV0ZSkuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUmVtaXR0YW5jZU91dGNvbWUiIGRlc2NyaXB0aW9uPSJUaGUgcmVzdWx0IG9mIHRoZSBjbGFpbSBwcm9jZXNzaW5nLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3Bvc2l0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEaXNwb3NpdGlvbiBNZXNzYWdlIiBkZWZpbml0aW9uPSJBIGh1bWFuIHJlYWRhYmxlIGRlc2NyaXB0aW9uIG9mIHRoZSBzdGF0dXMgb2YgdGhlIGFkanVkaWNhdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcmVBdXRoUmVmIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQcmVhdXRob3JpemF0aW9uIHJlZmVyZW5jZSIgZGVmaW5pdGlvbj0iUmVmZXJlbmNlIGZyb20gdGhlIEluc3VyZXIgd2hpY2ggaXMgdXNlZCBpbiBsYXRlciBjb21tdW5pY2F0aW9ucyB3aGljaCByZWZlcnMgdG8gdGhpcyBhZGp1ZGljYXRpb24uIiBjb21tZW50PSJUaGlzIHZhbHVlIGlzIG9ubHkgcHJlc2VudCBvbiBwcmVhdXRob3JpemF0aW9uIGFkanVkaWNhdGlvbnMuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJlQXV0aFBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJQcmVhdXRob3JpemF0aW9uIHJlZmVyZW5jZSBlZmZlY3RpdmUgcGVyaW9kIiBkZWZpbml0aW9uPSJUaGUgdGltZSBmcmFtZSBkdXJpbmcgd2hpY2ggdGhpcyBhdXRob3JpemF0aW9uIGlzIGVmZmVjdGl2ZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXllZVR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlBhcnR5IHRvIGJlIHBhaWQgYW55IGJlbmVmaXRzIHBheWFibGUiIGRlZmluaXRpb249IlR5cGUgb2YgUGFydHkgdG8gYmUgcmVpbWJ1cnNlZDogc3Vic2NyaWJlciwgcHJvdmlkZXIsIG90aGVyLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlBheWVlVHlwZSIgZGVzY3JpcHRpb249IkEgY29kZSBmb3IgdGhlIHBhcnR5IHRvIGJlIHJlaW1idXJzZWQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpdGVtIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIEFkanVkaWNhdGlvbiBmb3IgY2xhaW0gbGluZSBpdGVtcyIgZGVmaW5pdGlvbj0iQSBjbGFpbSBsaW5lLiBFaXRoZXIgYSBzaW1wbGUgKGEgcHJvZHVjdCBvciBzZXJ2aWNlKSBvciBhICdncm91cCcgb2YgZGV0YWlscyB3aGljaCBjYW4gYWxzbyBiZSBhIHNpbXBsZSBpdGVtcyBvciBncm91cHMgb2Ygc3ViLWRldGFpbHMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbVJlc3BvbnNlLkl0ZW0iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWRkSXRlbSIgZGVzY3JpcHRpb249Ikluc3VyZXIgYWRkZWQgbGluZSBpdGVtcyIgZGVmaW5pdGlvbj0iVGhlIGZpcnN0LXRpZXIgc2VydmljZSBhZGp1ZGljYXRpb25zIGZvciBwYXlvciBhZGRlZCBwcm9kdWN0IG9yIHNlcnZpY2UgbGluZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbVJlc3BvbnNlLkFkZEl0ZW0iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWRqdWRpY2F0aW9uIiBkZXNjcmlwdGlvbj0iSGVhZGVyLWxldmVsIGFkanVkaWNhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIGFkanVkaWNhdGlvbiByZXN1bHRzIHdoaWNoIGFyZSBwcmVzZW50ZWQgYXQgdGhlIGhlYWRlciBsZXZlbCByYXRoZXIgdGhhbiBhdCB0aGUgbGluZS1pdGVtIG9yIGFkZC1pdGVtIGxldmVscy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNsYWltUmVzcG9uc2UuSXRlbS5BZGp1ZGljYXRpb24iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idG90YWwiIGRlc2NyaXB0aW9uPSJBZGp1ZGljYXRpb24gdG90YWxzIiBkZWZpbml0aW9uPSJDYXRlZ29yaXplZCBtb25ldGFyeSB0b3RhbHMgZm9yIHRoZSBhZGp1ZGljYXRpb24uIiBjb21tZW50PSJUb3RhbHMgZm9yIGFtb3VudHMgc3VibWl0dGVkLCBjby1wYXlzLCBiZW5lZml0cyBwYXlhYmxlIGV0Yy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNsYWltUmVzcG9uc2UuVG90YWwiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGF5bWVudCIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbVJlc3BvbnNlLlBheW1lbnQiIGRlc2NyaXB0aW9uPSJQYXltZW50IERldGFpbHMiIGRlZmluaXRpb249IlBheW1lbnQgZGV0YWlscyBmb3IgdGhlIGFkanVkaWNhdGlvbiBvZiB0aGUgY2xhaW0uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZnVuZHNSZXNlcnZlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJGdW5kcyByZXNlcnZlZCBzdGF0dXMiIGRlZmluaXRpb249IkEgY29kZSwgdXNlZCBvbmx5IG9uIGEgcmVzcG9uc2UgdG8gYSBwcmVhdXRob3JpemF0aW9uLCB0byBpbmRpY2F0ZSB3aGV0aGVyIHRoZSBiZW5lZml0cyBwYXlhYmxlIGhhdmUgYmVlbiByZXNlcnZlZCBhbmQgZm9yIHdob20uIiBjb21tZW50PSJGdW5kIHdvdWxkIGJlIHJlbGVhc2UgYnkgYSBmdXR1cmUgY2xhaW0gcXVvdGluZyB0aGUgcHJlQXV0aFJlZiBvZiB0aGlzIHJlc3BvbnNlLiBFeGFtcGxlcyBvZiB2YWx1ZXMgaW5jbHVkZTogcHJvdmlkZXIsIHBhdGllbnQsIG5vbmUuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRnVuZHNSZXNlcnZlIiBkZXNjcmlwdGlvbj0iRm9yIHdob20gZnVuZHMgYXJlIHRvIGJlIHJlc2VydmVkOiAoUGF0aWVudCwgUHJvdmlkZXIsIE5vbmUpLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZm9ybUNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlByaW50ZWQgZm9ybSBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJBIGNvZGUgZm9yIHRoZSBmb3JtIHRvIGJlIHVzZWQgZm9yIHByaW50aW5nIHRoZSBjb250ZW50LiIgY29tbWVudD0iTWF5IGJlIG5lZWRlZCB0byBpZGVudGlmeSBzcGVjaWZpYyBqdXJpc2RpY3Rpb25hbCBmb3Jtcy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJGb3JtcyIgZGVzY3JpcHRpb249IlRoZSBmb3JtcyBjb2Rlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZvcm0iIGVsZW1lbnRUeXBlPSJRSUNvcmUuQXR0YWNobWVudCIgZGVzY3JpcHRpb249IlByaW50ZWQgcmVmZXJlbmNlIG9yIGFjdHVhbCBmb3JtIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGZvcm0sIGJ5IHJlZmVyZW5jZSBvciBpbmNsdXNpb24sIGZvciBwcmludGluZyB0aGUgY29udGVudCBvciBhbiBFT0IuIiBjb21tZW50PSJOZWVkZWQgdG8gcGVybWl0IGluc3VyZXJzIHRvIGluY2x1ZGUgdGhlIGFjdHVhbCBmb3JtLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InByb2Nlc3NOb3RlIiBkZXNjcmlwdGlvbj0iTm90ZSBjb25jZXJuaW5nIGFkanVkaWNhdGlvbiIgZGVmaW5pdGlvbj0iQSBub3RlIHRoYXQgZGVzY3JpYmVzIG9yIGV4cGxhaW5zIGFkanVkaWNhdGlvbiByZXN1bHRzIGluIGEgaHVtYW4gcmVhZGFibGUgZm9ybS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNsYWltUmVzcG9uc2UuUHJvY2Vzc05vdGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29tbXVuaWNhdGlvblJlcXVlc3QiIGRlc2NyaXB0aW9uPSJSZXF1ZXN0IGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIiBkZWZpbml0aW9uPSJSZXF1ZXN0IGZvciBhZGRpdGlvbmFsIHN1cHBvcnRpbmcgb3IgYXV0aG9yaXppbmcgaW5mb3JtYXRpb24uIiBjb21tZW50PSJGb3IgZXhhbXBsZTogcHJvZmVzc2lvbmFsIHJlcG9ydHMsIGRvY3VtZW50cywgaW1hZ2VzLCBjbGluaWNhbCByZXNvdXJjZXMsIG9yIGFjY2lkZW50IHJlcG9ydHMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdXJhbmNlIiBkZXNjcmlwdGlvbj0iUGF0aWVudCBpbnN1cmFuY2UgaW5mb3JtYXRpb24iIGRlZmluaXRpb249IkZpbmFuY2lhbCBpbnN0cnVtZW50cyBmb3IgcmVpbWJ1cnNlbWVudCBmb3IgdGhlIGhlYWx0aCBjYXJlIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyBzcGVjaWZpZWQgb24gdGhlIGNsYWltLiIgY29tbWVudD0iQWxsIGluc3VyYW5jZSBjb3ZlcmFnZXMgZm9yIHRoZSBwYXRpZW50IHdoaWNoIG1heSBiZSBhcHBsaWNhYmxlIGZvciByZWltYnVyc2VtZW50LCBvZiB0aGUgcHJvZHVjdHMgYW5kIHNlcnZpY2VzIGxpc3RlZCBpbiB0aGUgY2xhaW0sIGFyZSB0eXBpY2FsbHkgcHJvdmlkZWQgaW4gdGhlIGNsYWltIHRvIGFsbG93IGluc3VyZXJzIHRvIGNvbmZpcm0gdGhlIG9yZGVyaW5nIG9mIHRoZSBpbnN1cmFuY2UgY292ZXJhZ2VzIHJlbGF0aXZlIHRvIGxvY2FsICdjb29yZGluYXRpb24gb2YgYmVuZWZpdCcgcnVsZXMuIE9uZSBjb3ZlcmFnZSAoYW5kIG9ubHkgb25lKSB3aXRoICdmb2NhbD10cnVlJyBpcyB0byBiZSB1c2VkIGluIHRoZSBhZGp1ZGljYXRpb24gb2YgdGhpcyBjbGFpbS4gQ292ZXJhZ2VzIGFwcGVhcmluZyBiZWZvcmUgdGhlIGZvY2FsIENvdmVyYWdlIGluIHRoZSBsaXN0LCBhbmQgd2hlcmUgJ3N1YnJvZ2F0aW9uPWZhbHNlJywgc2hvdWxkIHByb3ZpZGUgYSByZWZlcmVuY2UgdG8gdGhlIENsYWltUmVzcG9uc2UgY29udGFpbmluZyB0aGUgYWRqdWRpY2F0aW9uIHJlc3VsdHMgb2YgdGhlIHByaW9yIGNsYWltLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ2xhaW1SZXNwb25zZS5JbnN1cmFuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZXJyb3IiIGRlc2NyaXB0aW9uPSJQcm9jZXNzaW5nIGVycm9ycyIgZGVmaW5pdGlvbj0iRXJyb3JzIGVuY291bnRlcmVkIGR1cmluZyB0aGUgcHJvY2Vzc2luZyBvZiB0aGUgYWRqdWRpY2F0aW9uLiIgY29tbWVudD0iSWYgdGhlIHJlcXVlc3QgY29udGFpbnMgZXJyb3JzIHRoZW4gYW4gZXJyb3IgZWxlbWVudCBzaG91bGQgYmUgcHJvdmlkZWQgYW5kIG5vIGFkanVkaWNhdGlvbiByZWxhdGVkIHNlY3Rpb25zIChpdGVtLCBhZGRJdGVtLCBvciBwYXltZW50KSBzaG91bGQgYmUgcHJlc2VudC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNsYWltUmVzcG9uc2UuRXJyb3IiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0icmVxdWVzdG9yIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBhdGllbnQiLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNsYWltUmVzcG9uc2UuQWRkSXRlbSIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaXRlbVNlcXVlbmNlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikl0ZW0gc2VxdWVuY2UgbnVtYmVyIiBkZWZpbml0aW9uPSJDbGFpbSBpdGVtcyB3aGljaCB0aGlzIHNlcnZpY2UgbGluZSBpcyBpbnRlbmRlZCB0byByZXBsYWNlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXRhaWxTZXF1ZW5jZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEZXRhaWwgc2VxdWVuY2UgbnVtYmVyIiBkZWZpbml0aW9uPSJUaGUgc2VxdWVuY2UgbnVtYmVyIG9mIHRoZSBkZXRhaWxzIHdpdGhpbiB0aGUgY2xhaW0gaXRlbSB3aGljaCB0aGlzIGxpbmUgaXMgaW50ZW5kZWQgdG8gcmVwbGFjZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViZGV0YWlsU2VxdWVuY2UiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iU3ViZGV0YWlsIHNlcXVlbmNlIG51bWJlciIgZGVmaW5pdGlvbj0iVGhlIHNlcXVlbmNlIG51bWJlciBvZiB0aGUgc3ViLWRldGFpbHMgd2l0aGluIHRoZSBkZXRhaWxzIHdpdGhpbiB0aGUgY2xhaW0gaXRlbSB3aGljaCB0aGlzIGxpbmUgaXMgaW50ZW5kZWQgdG8gcmVwbGFjZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJvdmlkZXIiIGRlc2NyaXB0aW9uPSJBdXRob3JpemVkIHByb3ZpZGVycyIgZGVmaW5pdGlvbj0iVGhlIHByb3ZpZGVycyB3aG8gYXJlIGF1dGhvcml6ZWQgZm9yIHRoZSBzZXJ2aWNlcyByZW5kZXJlZCB0byB0aGUgcGF0aWVudC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcm9kdWN0T3JTZXJ2aWNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJCaWxsaW5nLCBzZXJ2aWNlLCBwcm9kdWN0LCBvciBkcnVnIGNvZGUiIGRlZmluaXRpb249IldoZW4gdGhlIHZhbHVlIGlzIGEgZ3JvdXAgY29kZSB0aGVuIHRoaXMgaXRlbSBjb2xsZWN0cyBhIHNldCBvZiByZWxhdGVkIGNsYWltIGRldGFpbHMsIG90aGVyd2lzZSB0aGlzIGNvbnRhaW5zIHRoZSBwcm9kdWN0LCBzZXJ2aWNlLCBkcnVnIG9yIG90aGVyIGJpbGxpbmcgY29kZSBmb3IgdGhlIGl0ZW0uIiBjb21tZW50PSJJZiB0aGlzIGlzIGFuIGFjdHVhbCBzZXJ2aWNlIG9yIHByb2R1Y3QgbGluZSwgaS5lLiBub3QgYSBHcm91cCwgdGhlbiB1c2UgY29kZSB0byBpbmRpY2F0ZSB0aGUgUHJvZmVzc2lvbmFsIFNlcnZpY2Ugb3IgUHJvZHVjdCBzdXBwbGllZCAoZS5nLiBDVFAsIEhDUENTLCBVU0NMUywgSUNEMTAsIE5DUERQLCBESU4sIFJ4Tm9ybSwgQUNISSwgQ0NJKS4gSWYgYSBncm91cGluZyBpdGVtIHRoZW4gdXNlIGEgZ3JvdXAgY29kZSB0byBpbmRpY2F0ZSB0aGUgdHlwZSBvZiB0aGluZyBiZWluZyBncm91cGVkIGUuZy4gJ2dsYXNzZXMnIG9yICdjb21wb3VuZCcuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU2VydmljZVByb2R1Y3QiIGRlc2NyaXB0aW9uPSJBbGxvd2FibGUgc2VydmljZSBhbmQgcHJvZHVjdCBjb2Rlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1vZGlmaWVyIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU2VydmljZS9Qcm9kdWN0IGJpbGxpbmcgbW9kaWZpZXJzIiBkZWZpbml0aW9uPSJJdGVtIHR5cGlmaWNhdGlvbiBvciBtb2RpZmllcnMgY29kZXMgdG8gY29udmV5IGFkZGl0aW9uYWwgY29udGV4dCBmb3IgdGhlIHByb2R1Y3Qgb3Igc2VydmljZS4iIGNvbW1lbnQ9IkZvciBleGFtcGxlIGluIE9yYWwgd2hldGhlciB0aGUgdHJlYXRtZW50IGlzIGNvc21ldGljIG9yIGFzc29jaWF0ZWQgd2l0aCBUTUosIG9yIGZvciBNZWRpY2FsIHdoZXRoZXIgdGhlIHRyZWF0bWVudCB3YXMgb3V0c2lkZSB0aGUgY2xpbmljIG9yIG91dHNpZGUgb2Ygb2ZmaWNlIGhvdXJzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJNb2RpZmllcnMiIGRlc2NyaXB0aW9uPSJJdGVtIHR5cGUgb3IgbW9kaWZpZXJzIGNvZGVzLCBlZyBmb3IgT3JhbCB3aGV0aGVyIHRoZSB0cmVhdG1lbnQgaXMgY29zbWV0aWMgb3IgYXNzb2NpYXRlZCB3aXRoIFRNSiwgb3IgYW4gYXBwbGlhbmNlIHdhcyBsb3N0IG9yIHN0b2xlbi4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InByb2dyYW1Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUHJvZ3JhbSB0aGUgcHJvZHVjdCBvciBzZXJ2aWNlIGlzIHByb3ZpZGVkIHVuZGVyIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHRoZSBwcm9ncmFtIHVuZGVyIHdoaWNoIHRoaXMgbWF5IGJlIHJlY292ZXJlZC4iIGNvbW1lbnQ9IkZvciBleGFtcGxlOiBOZW9uYXRhbCBwcm9ncmFtLCBjaGlsZCBkZW50YWwgcHJvZ3JhbSBvciBkcnVnIHVzZXJzIHJlY292ZXJ5IHByb2dyYW0uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlByb2dyYW1Db2RlIiBkZXNjcmlwdGlvbj0iUHJvZ3JhbSBzcGVjaWZpYyByZWFzb24gY29kZXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzZXJ2aWNlZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJEYXRlIG9yIGRhdGVzIG9mIHNlcnZpY2Ugb3IgcHJvZHVjdCBkZWxpdmVyeSIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgb3IgZGF0ZXMgd2hlbiB0aGUgc2VydmljZSBvciBwcm9kdWN0IHdhcyBzdXBwbGllZCwgcGVyZm9ybWVkIG9yIGNvbXBsZXRlZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImxvY2F0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlBsYWNlIG9mIHNlcnZpY2Ugb3Igd2hlcmUgcHJvZHVjdCB3YXMgc3VwcGxpZWQiIGRlZmluaXRpb249IldoZXJlIHRoZSBwcm9kdWN0IG9yIHNlcnZpY2Ugd2FzIHByb3ZpZGVkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBZGRyZXNzIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU2VydmljZVBsYWNlIiBkZXNjcmlwdGlvbj0iUGxhY2Ugb2Ygc2VydmljZTogcGhhcm1hY3ksIHNjaG9vbCwgcHJpc29uLCBldGMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJxdWFudGl0eSIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb3VudCBvZiBwcm9kdWN0cyBvciBzZXJ2aWNlcyIgZGVmaW5pdGlvbj0iVGhlIG51bWJlciBvZiByZXBldGl0aW9ucyBvZiBhIHNlcnZpY2Ugb3IgcHJvZHVjdC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1bml0UHJpY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJGZWUsIGNoYXJnZSBvciBjb3N0IHBlciBpdGVtIiBkZWZpbml0aW9uPSJJZiB0aGUgaXRlbSBpcyBub3QgYSBncm91cCB0aGVuIHRoaXMgaXMgdGhlIGZlZSBmb3IgdGhlIHByb2R1Y3Qgb3Igc2VydmljZSwgb3RoZXJ3aXNlIHRoaXMgaXMgdGhlIHRvdGFsIG9mIHRoZSBmZWVzIGZvciB0aGUgZGV0YWlscyBvZiB0aGUgZ3JvdXAuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZmFjdG9yIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRlY2ltYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUHJpY2Ugc2NhbGluZyBmYWN0b3IiIGRlZmluaXRpb249IkEgcmVhbCBudW1iZXIgdGhhdCByZXByZXNlbnRzIGEgbXVsdGlwbGllciB1c2VkIGluIGRldGVybWluaW5nIHRoZSBvdmVyYWxsIHZhbHVlIG9mIHNlcnZpY2VzIGRlbGl2ZXJlZCBhbmQvb3IgZ29vZHMgcmVjZWl2ZWQuIFRoZSBjb25jZXB0IG9mIGEgRmFjdG9yIGFsbG93cyBmb3IgYSBkaXNjb3VudCBvciBzdXJjaGFyZ2UgbXVsdGlwbGllciB0byBiZSBhcHBsaWVkIHRvIGEgbW9uZXRhcnkgYW1vdW50LiIgY29tbWVudD0iVG8gc2hvdyBhIDEwJSBzZW5pb3IncyBkaXNjb3VudCwgdGhlIHZhbHVlIGVudGVyZWQgaXM6IDAuOTAgKDEuMDAgLSAwLjEwKS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJuZXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUb3RhbCBpdGVtIGNvc3QiIGRlZmluaXRpb249IlRoZSBxdWFudGl0eSB0aW1lcyB0aGUgdW5pdCBwcmljZSBmb3IgYW4gYWRkaXRpb25hbCBzZXJ2aWNlIG9yIHByb2R1Y3Qgb3IgY2hhcmdlLiIgY29tbWVudD0iRm9yIGV4YW1wbGUsIHRoZSBmb3JtdWxhOiBxdWFudGl0eSAqIHVuaXRQcmljZSAqIGZhY3RvciAgPSBuZXQuIFF1YW50aXR5IGFuZCBmYWN0b3IgYXJlIGFzc3VtZWQgdG8gYmUgMSBpZiBub3Qgc3VwcGxpZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFuYXRvbWljYWwgbG9jYXRpb24iIGRlZmluaXRpb249IlBoeXNpY2FsIHNlcnZpY2Ugc2l0ZSBvbiB0aGUgcGF0aWVudCAobGltYiwgdG9vdGgsIGV0Yy4pLiIgY29tbWVudD0iRm9yIGV4YW1wbGU6IFByb3ZpZGluZyBhIHRvb3RoIGNvZGUgYWxsb3dzIGFuIGluc3VyZXIgdG8gaWRlbnRpZnkgYSBwcm92aWRlciBwZXJmb3JtaW5nIGEgZmlsbGluZyBvbiBhIHRvb3RoIHRoYXQgd2FzIHByZXZpb3VzbHkgcmVtb3ZlZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPcmFsU2l0ZXMiIGRlc2NyaXB0aW9uPSJUaGUgY29kZSBmb3IgdGhlIHRlZXRoLCBxdWFkcmFudCwgc2V4dGFudCBhbmQgYXJjaC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YlNpdGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBbmF0b21pY2FsIHN1Yi1sb2NhdGlvbiIgZGVmaW5pdGlvbj0iQSByZWdpb24gb3Igc3VyZmFjZSBvZiB0aGUgYm9keVNpdGUsIGUuZy4gbGltYiByZWdpb24gb3IgdG9vdGggc3VyZmFjZShzKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU3VyZmFjZSIgZGVzY3JpcHRpb249IlRoZSBjb2RlIGZvciB0aGUgdG9vdGggc3VyZmFjZSBhbmQgc3VyZmFjZSBjb21iaW5hdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlTnVtYmVyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkFwcGxpY2FibGUgbm90ZSBudW1iZXJzIiBkZWZpbml0aW9uPSJUaGUgbnVtYmVycyBhc3NvY2lhdGVkIHdpdGggbm90ZXMgYmVsb3cgd2hpY2ggYXBwbHkgdG8gdGhlIGFkanVkaWNhdGlvbiBvZiB0aGlzIGl0ZW0uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImFkanVkaWNhdGlvbiIgZGVzY3JpcHRpb249IkFkZGVkIGl0ZW1zIGFkanVkaWNhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIGFkanVkaWNhdGlvbiByZXN1bHRzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ2xhaW1SZXNwb25zZS5JdGVtLkFkanVkaWNhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXRhaWwiIGRlc2NyaXB0aW9uPSJJbnN1cmVyIGFkZGVkIGxpbmUgZGV0YWlscyIgZGVmaW5pdGlvbj0iVGhlIHNlY29uZC10aWVyIHNlcnZpY2UgYWRqdWRpY2F0aW9ucyBmb3IgcGF5b3IgYWRkZWQgc2VydmljZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbVJlc3BvbnNlLkFkZEl0ZW0uRGV0YWlsIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ2xhaW1SZXNwb25zZS5BZGRJdGVtLkRldGFpbCIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJvZHVjdE9yU2VydmljZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQmlsbGluZywgc2VydmljZSwgcHJvZHVjdCwgb3IgZHJ1ZyBjb2RlIiBkZWZpbml0aW9uPSJXaGVuIHRoZSB2YWx1ZSBpcyBhIGdyb3VwIGNvZGUgdGhlbiB0aGlzIGl0ZW0gY29sbGVjdHMgYSBzZXQgb2YgcmVsYXRlZCBjbGFpbSBkZXRhaWxzLCBvdGhlcndpc2UgdGhpcyBjb250YWlucyB0aGUgcHJvZHVjdCwgc2VydmljZSwgZHJ1ZyBvciBvdGhlciBiaWxsaW5nIGNvZGUgZm9yIHRoZSBpdGVtLiIgY29tbWVudD0iSWYgdGhpcyBpcyBhbiBhY3R1YWwgc2VydmljZSBvciBwcm9kdWN0IGxpbmUsIGkuZS4gbm90IGEgR3JvdXAsIHRoZW4gdXNlIGNvZGUgdG8gaW5kaWNhdGUgdGhlIFByb2Zlc3Npb25hbCBTZXJ2aWNlIG9yIFByb2R1Y3Qgc3VwcGxpZWQgKGUuZy4gQ1RQLCBIQ1BDUywgVVNDTFMsIElDRDEwLCBOQ1BEUCwgRElOLCBSeE5vcm0sIEFDSEksIENDSSkuIElmIGEgZ3JvdXBpbmcgaXRlbSB0aGVuIHVzZSBhIGdyb3VwIGNvZGUgdG8gaW5kaWNhdGUgdGhlIHR5cGUgb2YgdGhpbmcgYmVpbmcgZ3JvdXBlZCBlLmcuICdnbGFzc2VzJyBvciAnY29tcG91bmQnLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlNlcnZpY2VQcm9kdWN0IiBkZXNjcmlwdGlvbj0iQWxsb3dhYmxlIHNlcnZpY2UgYW5kIHByb2R1Y3QgY29kZXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtb2RpZmllciIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlNlcnZpY2UvUHJvZHVjdCBiaWxsaW5nIG1vZGlmaWVycyIgZGVmaW5pdGlvbj0iSXRlbSB0eXBpZmljYXRpb24gb3IgbW9kaWZpZXJzIGNvZGVzIHRvIGNvbnZleSBhZGRpdGlvbmFsIGNvbnRleHQgZm9yIHRoZSBwcm9kdWN0IG9yIHNlcnZpY2UuIiBjb21tZW50PSJGb3IgZXhhbXBsZSBpbiBPcmFsIHdoZXRoZXIgdGhlIHRyZWF0bWVudCBpcyBjb3NtZXRpYyBvciBhc3NvY2lhdGVkIHdpdGggVE1KLCBvciBmb3IgTWVkaWNhbCB3aGV0aGVyIHRoZSB0cmVhdG1lbnQgd2FzIG91dHNpZGUgdGhlIGNsaW5pYyBvciBvdXRzaWRlIG9mIG9mZmljZSBob3Vycy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTW9kaWZpZXJzIiBkZXNjcmlwdGlvbj0iSXRlbSB0eXBlIG9yIG1vZGlmaWVycyBjb2RlcywgZWcgZm9yIE9yYWwgd2hldGhlciB0aGUgdHJlYXRtZW50IGlzIGNvc21ldGljIG9yIGFzc29jaWF0ZWQgd2l0aCBUTUosIG9yIGFuIGFwcGxpYW5jZSB3YXMgbG9zdCBvciBzdG9sZW4uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJxdWFudGl0eSIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb3VudCBvZiBwcm9kdWN0cyBvciBzZXJ2aWNlcyIgZGVmaW5pdGlvbj0iVGhlIG51bWJlciBvZiByZXBldGl0aW9ucyBvZiBhIHNlcnZpY2Ugb3IgcHJvZHVjdC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1bml0UHJpY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJGZWUsIGNoYXJnZSBvciBjb3N0IHBlciBpdGVtIiBkZWZpbml0aW9uPSJJZiB0aGUgaXRlbSBpcyBub3QgYSBncm91cCB0aGVuIHRoaXMgaXMgdGhlIGZlZSBmb3IgdGhlIHByb2R1Y3Qgb3Igc2VydmljZSwgb3RoZXJ3aXNlIHRoaXMgaXMgdGhlIHRvdGFsIG9mIHRoZSBmZWVzIGZvciB0aGUgZGV0YWlscyBvZiB0aGUgZ3JvdXAuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZmFjdG9yIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRlY2ltYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUHJpY2Ugc2NhbGluZyBmYWN0b3IiIGRlZmluaXRpb249IkEgcmVhbCBudW1iZXIgdGhhdCByZXByZXNlbnRzIGEgbXVsdGlwbGllciB1c2VkIGluIGRldGVybWluaW5nIHRoZSBvdmVyYWxsIHZhbHVlIG9mIHNlcnZpY2VzIGRlbGl2ZXJlZCBhbmQvb3IgZ29vZHMgcmVjZWl2ZWQuIFRoZSBjb25jZXB0IG9mIGEgRmFjdG9yIGFsbG93cyBmb3IgYSBkaXNjb3VudCBvciBzdXJjaGFyZ2UgbXVsdGlwbGllciB0byBiZSBhcHBsaWVkIHRvIGEgbW9uZXRhcnkgYW1vdW50LiIgY29tbWVudD0iVG8gc2hvdyBhIDEwJSBzZW5pb3IncyBkaXNjb3VudCwgdGhlIHZhbHVlIGVudGVyZWQgaXM6IDAuOTAgKDEuMDAgLSAwLjEwKS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJuZXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUb3RhbCBpdGVtIGNvc3QiIGRlZmluaXRpb249IlRoZSBxdWFudGl0eSB0aW1lcyB0aGUgdW5pdCBwcmljZSBmb3IgYW4gYWRkaXRpb25hbCBzZXJ2aWNlIG9yIHByb2R1Y3Qgb3IgY2hhcmdlLiIgY29tbWVudD0iRm9yIGV4YW1wbGUsIHRoZSBmb3JtdWxhOiBxdWFudGl0eSAqIHVuaXRQcmljZSAqIGZhY3RvciAgPSBuZXQuIFF1YW50aXR5IGFuZCBmYWN0b3IgYXJlIGFzc3VtZWQgdG8gYmUgMSBpZiBub3Qgc3VwcGxpZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZU51bWJlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBcHBsaWNhYmxlIG5vdGUgbnVtYmVycyIgZGVmaW5pdGlvbj0iVGhlIG51bWJlcnMgYXNzb2NpYXRlZCB3aXRoIG5vdGVzIGJlbG93IHdoaWNoIGFwcGx5IHRvIHRoZSBhZGp1ZGljYXRpb24gb2YgdGhpcyBpdGVtLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhZGp1ZGljYXRpb24iIGRlc2NyaXB0aW9uPSJBZGRlZCBpdGVtcyBkZXRhaWwgYWRqdWRpY2F0aW9uIiBkZWZpbml0aW9uPSJUaGUgYWRqdWRpY2F0aW9uIHJlc3VsdHMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbVJlc3BvbnNlLkl0ZW0uQWRqdWRpY2F0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YkRldGFpbCIgZGVzY3JpcHRpb249Ikluc3VyZXIgYWRkZWQgbGluZSBpdGVtcyIgZGVmaW5pdGlvbj0iVGhlIHRoaXJkLXRpZXIgc2VydmljZSBhZGp1ZGljYXRpb25zIGZvciBwYXlvciBhZGRlZCBzZXJ2aWNlcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNsYWltUmVzcG9uc2UuQWRkSXRlbS5EZXRhaWwuU3ViRGV0YWlsIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ2xhaW1SZXNwb25zZS5BZGRJdGVtLkRldGFpbC5TdWJEZXRhaWwiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InByb2R1Y3RPclNlcnZpY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkJpbGxpbmcsIHNlcnZpY2UsIHByb2R1Y3QsIG9yIGRydWcgY29kZSIgZGVmaW5pdGlvbj0iV2hlbiB0aGUgdmFsdWUgaXMgYSBncm91cCBjb2RlIHRoZW4gdGhpcyBpdGVtIGNvbGxlY3RzIGEgc2V0IG9mIHJlbGF0ZWQgY2xhaW0gZGV0YWlscywgb3RoZXJ3aXNlIHRoaXMgY29udGFpbnMgdGhlIHByb2R1Y3QsIHNlcnZpY2UsIGRydWcgb3Igb3RoZXIgYmlsbGluZyBjb2RlIGZvciB0aGUgaXRlbS4iIGNvbW1lbnQ9IklmIHRoaXMgaXMgYW4gYWN0dWFsIHNlcnZpY2Ugb3IgcHJvZHVjdCBsaW5lLCBpLmUuIG5vdCBhIEdyb3VwLCB0aGVuIHVzZSBjb2RlIHRvIGluZGljYXRlIHRoZSBQcm9mZXNzaW9uYWwgU2VydmljZSBvciBQcm9kdWN0IHN1cHBsaWVkIChlLmcuIENUUCwgSENQQ1MsIFVTQ0xTLCBJQ0QxMCwgTkNQRFAsIERJTiwgUnhOb3JtLCBBQ0hJLCBDQ0kpLiBJZiBhIGdyb3VwaW5nIGl0ZW0gdGhlbiB1c2UgYSBncm91cCBjb2RlIHRvIGluZGljYXRlIHRoZSB0eXBlIG9mIHRoaW5nIGJlaW5nIGdyb3VwZWQgZS5nLiAnZ2xhc3Nlcycgb3IgJ2NvbXBvdW5kJy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJTZXJ2aWNlUHJvZHVjdCIgZGVzY3JpcHRpb249IkFsbG93YWJsZSBzZXJ2aWNlIGFuZCBwcm9kdWN0IGNvZGVzLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibW9kaWZpZXIiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJTZXJ2aWNlL1Byb2R1Y3QgYmlsbGluZyBtb2RpZmllcnMiIGRlZmluaXRpb249Ikl0ZW0gdHlwaWZpY2F0aW9uIG9yIG1vZGlmaWVycyBjb2RlcyB0byBjb252ZXkgYWRkaXRpb25hbCBjb250ZXh0IGZvciB0aGUgcHJvZHVjdCBvciBzZXJ2aWNlLiIgY29tbWVudD0iRm9yIGV4YW1wbGUgaW4gT3JhbCB3aGV0aGVyIHRoZSB0cmVhdG1lbnQgaXMgY29zbWV0aWMgb3IgYXNzb2NpYXRlZCB3aXRoIFRNSiwgb3IgZm9yIE1lZGljYWwgd2hldGhlciB0aGUgdHJlYXRtZW50IHdhcyBvdXRzaWRlIHRoZSBjbGluaWMgb3Igb3V0c2lkZSBvZiBvZmZpY2UgaG91cnMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1vZGlmaWVycyIgZGVzY3JpcHRpb249Ikl0ZW0gdHlwZSBvciBtb2RpZmllcnMgY29kZXMsIGVnIGZvciBPcmFsIHdoZXRoZXIgdGhlIHRyZWF0bWVudCBpcyBjb3NtZXRpYyBvciBhc3NvY2lhdGVkIHdpdGggVE1KLCBvciBhbiBhcHBsaWFuY2Ugd2FzIGxvc3Qgb3Igc3RvbGVuLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icXVhbnRpdHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ291bnQgb2YgcHJvZHVjdHMgb3Igc2VydmljZXMiIGRlZmluaXRpb249IlRoZSBudW1iZXIgb2YgcmVwZXRpdGlvbnMgb2YgYSBzZXJ2aWNlIG9yIHByb2R1Y3QuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idW5pdFByaWNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRlY2ltYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRmVlLCBjaGFyZ2Ugb3IgY29zdCBwZXIgaXRlbSIgZGVmaW5pdGlvbj0iSWYgdGhlIGl0ZW0gaXMgbm90IGEgZ3JvdXAgdGhlbiB0aGlzIGlzIHRoZSBmZWUgZm9yIHRoZSBwcm9kdWN0IG9yIHNlcnZpY2UsIG90aGVyd2lzZSB0aGlzIGlzIHRoZSB0b3RhbCBvZiB0aGUgZmVlcyBmb3IgdGhlIGRldGFpbHMgb2YgdGhlIGdyb3VwLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZhY3RvciIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlByaWNlIHNjYWxpbmcgZmFjdG9yIiBkZWZpbml0aW9uPSJBIHJlYWwgbnVtYmVyIHRoYXQgcmVwcmVzZW50cyBhIG11bHRpcGxpZXIgdXNlZCBpbiBkZXRlcm1pbmluZyB0aGUgb3ZlcmFsbCB2YWx1ZSBvZiBzZXJ2aWNlcyBkZWxpdmVyZWQgYW5kL29yIGdvb2RzIHJlY2VpdmVkLiBUaGUgY29uY2VwdCBvZiBhIEZhY3RvciBhbGxvd3MgZm9yIGEgZGlzY291bnQgb3Igc3VyY2hhcmdlIG11bHRpcGxpZXIgdG8gYmUgYXBwbGllZCB0byBhIG1vbmV0YXJ5IGFtb3VudC4iIGNvbW1lbnQ9IlRvIHNob3cgYSAxMCUgc2VuaW9yJ3MgZGlzY291bnQsIHRoZSB2YWx1ZSBlbnRlcmVkIGlzOiAwLjkwICgxLjAwIC0gMC4xMCkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibmV0IiBlbGVtZW50VHlwZT0iU3lzdGVtLkRlY2ltYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVG90YWwgaXRlbSBjb3N0IiBkZWZpbml0aW9uPSJUaGUgcXVhbnRpdHkgdGltZXMgdGhlIHVuaXQgcHJpY2UgZm9yIGFuIGFkZGl0aW9uYWwgc2VydmljZSBvciBwcm9kdWN0IG9yIGNoYXJnZS4iIGNvbW1lbnQ9IkZvciBleGFtcGxlLCB0aGUgZm9ybXVsYTogcXVhbnRpdHkgKiB1bml0UHJpY2UgKiBmYWN0b3IgID0gbmV0LiBRdWFudGl0eSBhbmQgZmFjdG9yIGFyZSBhc3N1bWVkIHRvIGJlIDEgaWYgbm90IHN1cHBsaWVkLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGVOdW1iZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iQXBwbGljYWJsZSBub3RlIG51bWJlcnMiIGRlZmluaXRpb249IlRoZSBudW1iZXJzIGFzc29jaWF0ZWQgd2l0aCBub3RlcyBiZWxvdyB3aGljaCBhcHBseSB0byB0aGUgYWRqdWRpY2F0aW9uIG9mIHRoaXMgaXRlbS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWRqdWRpY2F0aW9uIiBkZXNjcmlwdGlvbj0iQWRkZWQgaXRlbXMgZGV0YWlsIGFkanVkaWNhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIGFkanVkaWNhdGlvbiByZXN1bHRzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ2xhaW1SZXNwb25zZS5JdGVtLkFkanVkaWNhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNsYWltUmVzcG9uc2UuRXJyb3IiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9Iml0ZW1TZXF1ZW5jZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikl0ZW0gc2VxdWVuY2UgbnVtYmVyIiBkZWZpbml0aW9uPSJUaGUgc2VxdWVuY2UgbnVtYmVyIG9mIHRoZSBsaW5lIGl0ZW0gc3VibWl0dGVkIHdoaWNoIGNvbnRhaW5zIHRoZSBlcnJvci4gVGhpcyB2YWx1ZSBpcyBvbWl0dGVkIHdoZW4gdGhlIGVycm9yIG9jY3VycyBvdXRzaWRlIG9mIHRoZSBpdGVtIHN0cnVjdHVyZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXRhaWxTZXF1ZW5jZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRldGFpbCBzZXF1ZW5jZSBudW1iZXIiIGRlZmluaXRpb249IlRoZSBzZXF1ZW5jZSBudW1iZXIgb2YgdGhlIGRldGFpbCB3aXRoaW4gdGhlIGxpbmUgaXRlbSBzdWJtaXR0ZWQgd2hpY2ggY29udGFpbnMgdGhlIGVycm9yLiBUaGlzIHZhbHVlIGlzIG9taXR0ZWQgd2hlbiB0aGUgZXJyb3Igb2NjdXJzIG91dHNpZGUgb2YgdGhlIGl0ZW0gc3RydWN0dXJlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YkRldGFpbFNlcXVlbmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iU3ViZGV0YWlsIHNlcXVlbmNlIG51bWJlciIgZGVmaW5pdGlvbj0iVGhlIHNlcXVlbmNlIG51bWJlciBvZiB0aGUgc3ViLWRldGFpbCB3aXRoaW4gdGhlIGRldGFpbCB3aXRoaW4gdGhlIGxpbmUgaXRlbSBzdWJtaXR0ZWQgd2hpY2ggY29udGFpbnMgdGhlIGVycm9yLiBUaGlzIHZhbHVlIGlzIG9taXR0ZWQgd2hlbiB0aGUgZXJyb3Igb2NjdXJzIG91dHNpZGUgb2YgdGhlIGl0ZW0gc3RydWN0dXJlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkVycm9yIGNvZGUgZGV0YWlsaW5nIHByb2Nlc3NpbmcgaXNzdWVzIiBkZWZpbml0aW9uPSJBbiBlcnJvciBjb2RlLCBmcm9tIGEgc3BlY2lmaWVkIGNvZGUgc3lzdGVtLCB3aGljaCBkZXRhaWxzIHdoeSB0aGUgY2xhaW0gY291bGQgbm90IGJlIGFkanVkaWNhdGVkLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkFkanVkaWNhdGlvbkVycm9yIiBkZXNjcmlwdGlvbj0iVGhlIGFkanVkaWNhdGlvbiBlcnJvciBjb2Rlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ2xhaW1SZXNwb25zZS5JbnN1cmFuY2UiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InNlcXVlbmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdXJhbmNlIGluc3RhbmNlIGlkZW50aWZpZXIiIGRlZmluaXRpb249IkEgbnVtYmVyIHRvIHVuaXF1ZWx5IGlkZW50aWZ5IGluc3VyYW5jZSBlbnRyaWVzIGFuZCBwcm92aWRlIGEgc2VxdWVuY2Ugb2YgY292ZXJhZ2VzIHRvIGNvbnZleSBjb29yZGluYXRpb24gb2YgYmVuZWZpdCBvcmRlci4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmb2NhbCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Cb29sZWFuIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkNvdmVyYWdlIHRvIGJlIHVzZWQgZm9yIGFkanVkaWNhdGlvbiIgZGVmaW5pdGlvbj0iQSBmbGFnIHRvIGluZGljYXRlIHRoYXQgdGhpcyBDb3ZlcmFnZSBpcyB0byBiZSB1c2VkIGZvciBhZGp1ZGljYXRpb24gb2YgdGhpcyBjbGFpbSB3aGVuIHNldCB0byB0cnVlLiIgY29tbWVudD0iQSBwYXRpZW50IG1heSAod2lsbCkgaGF2ZSBtdWx0aXBsZSBpbnN1cmFuY2UgcG9saWNpZXMgd2hpY2ggcHJvdmlkZSByZWltYnVyc2VtZW50IGZvciBoZWFsdGhjYXJlIHNlcnZpY2VzIGFuZCBwcm9kdWN0cy4gRm9yIGV4YW1wbGUgYSBwZXJzb24gbWF5IGFsc28gYmUgY292ZXJlZCBieSB0aGVpciBzcG91c2UncyBwb2xpY3kgYW5kIGJvdGggYXBwZWFyIGluIHRoZSBsaXN0IChhbmQgbWF5IGJlIGZyb20gdGhlIHNhbWUgaW5zdXJlcikuIFRoaXMgZmxhZyB3aWxsIGJlIHNldCB0byB0cnVlIGZvciBvbmx5IG9uZSBvZiB0aGUgbGlzdGVkIHBvbGljaWVzIGFuZCB0aGF0IHBvbGljeSB3aWxsIGJlIHVzZWQgZm9yIGFkanVkaWNhdGluZyB0aGlzIGNsYWltLiBPdGhlciBjbGFpbXMgd291bGQgYmUgY3JlYXRlZCB0byByZXF1ZXN0IGFkanVkaWNhdGlvbiBhZ2FpbnN0IHRoZSBvdGhlciBsaXN0ZWQgcG9saWNpZXMuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY292ZXJhZ2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSW5zdXJhbmNlIGluZm9ybWF0aW9uIiBkZWZpbml0aW9uPSJSZWZlcmVuY2UgdG8gdGhlIGluc3VyYW5jZSBjYXJkIGxldmVsIGluZm9ybWF0aW9uIGNvbnRhaW5lZCBpbiB0aGUgQ292ZXJhZ2UgcmVzb3VyY2UuIFRoZSBjb3ZlcmFnZSBpc3N1aW5nIGluc3VyZXIgd2lsbCB1c2UgdGhlc2UgZGV0YWlscyB0byBsb2NhdGUgdGhlIHBhdGllbnQncyBhY3R1YWwgY292ZXJhZ2Ugd2l0aGluIHRoZSBpbnN1cmVyJ3MgaW5mb3JtYXRpb24gc3lzdGVtLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJ1c2luZXNzQXJyYW5nZW1lbnQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkFkZGl0aW9uYWwgcHJvdmlkZXIgY29udHJhY3QgbnVtYmVyIiBkZWZpbml0aW9uPSJBIGJ1c2luZXNzIGFncmVlbWVudCBudW1iZXIgZXN0YWJsaXNoZWQgYmV0d2VlbiB0aGUgcHJvdmlkZXIgYW5kIHRoZSBpbnN1cmVyIGZvciBzcGVjaWFsIGJ1c2luZXNzIHByb2Nlc3NpbmcgcHVycG9zZXMuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2xhaW1SZXNwb25zZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJBZGp1ZGljYXRpb24gcmVzdWx0cyIgZGVmaW5pdGlvbj0iVGhlIHJlc3VsdCBvZiB0aGUgYWRqdWRpY2F0aW9uIG9mIHRoZSBsaW5lIGl0ZW1zIGZvciB0aGUgQ292ZXJhZ2Ugc3BlY2lmaWVkIGluIHRoaXMgaW5zdXJhbmNlLiIgY29tbWVudD0iTXVzdCBub3QgYmUgc3BlY2lmaWVkIHdoZW4gJ2ZvY2FsPXRydWUnIGZvciB0aGlzIGluc3VyYW5jZS4iLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNsYWltUmVzcG9uc2UuSXRlbSIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaXRlbVNlcXVlbmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iQ2xhaW0gaXRlbSBpbnN0YW5jZSBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJBIG51bWJlciB0byB1bmlxdWVseSByZWZlcmVuY2UgdGhlIGNsYWltIGl0ZW0gZW50cmllcy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlTnVtYmVyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkFwcGxpY2FibGUgbm90ZSBudW1iZXJzIiBkZWZpbml0aW9uPSJUaGUgbnVtYmVycyBhc3NvY2lhdGVkIHdpdGggbm90ZXMgYmVsb3cgd2hpY2ggYXBwbHkgdG8gdGhlIGFkanVkaWNhdGlvbiBvZiB0aGlzIGl0ZW0uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImFkanVkaWNhdGlvbiIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBBZGp1ZGljYXRpb24gZGV0YWlscyIgZGVmaW5pdGlvbj0iSWYgdGhpcyBpdGVtIGlzIGEgZ3JvdXAgdGhlbiB0aGUgdmFsdWVzIGhlcmUgYXJlIGEgc3VtbWFyeSBvZiB0aGUgYWRqdWRpY2F0aW9uIG9mIHRoZSBkZXRhaWwgaXRlbXMuIElmIHRoaXMgaXRlbSBpcyBhIHNpbXBsZSBwcm9kdWN0IG9yIHNlcnZpY2UgdGhlbiB0aGlzIGlzIHRoZSByZXN1bHQgb2YgdGhlIGFkanVkaWNhdGlvbiBvZiB0aGlzIGl0ZW0uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbVJlc3BvbnNlLkl0ZW0uQWRqdWRpY2F0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRldGFpbCIgZGVzY3JpcHRpb249IkFkanVkaWNhdGlvbiBmb3IgY2xhaW0gZGV0YWlscyIgZGVmaW5pdGlvbj0iQSBjbGFpbSBkZXRhaWwuIEVpdGhlciBhIHNpbXBsZSAoYSBwcm9kdWN0IG9yIHNlcnZpY2UpIG9yIGEgJ2dyb3VwJyBvZiBzdWItZGV0YWlscyB3aGljaCBhcmUgc2ltcGxlIGl0ZW1zLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ2xhaW1SZXNwb25zZS5JdGVtLkRldGFpbCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNsYWltUmVzcG9uc2UuSXRlbS5BZGp1ZGljYXRpb24iIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgVGhpcyBjb2RlIGlzIGZpeGVkIHRvICdzdWJtaXR0ZWQnIHRvIGluZGljYXRlIHRoYXQgdGhlIGFkanVkaWNhdGlvbiByZXN1bHQgaXMgb24gd2hhdCB3YXMgc3VibWl0dGVkLiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRvIGluZGljYXRlIHRoZSBpbmZvcm1hdGlvbiB0eXBlIG9mIHRoaXMgYWRqdWRpY2F0aW9uIHJlY29yZC4gSW5mb3JtYXRpb24gdHlwZXMgbWF5IGluY2x1ZGUgdGhlIHZhbHVlIHN1Ym1pdHRlZCwgbWF4aW11bSB2YWx1ZXMgb3IgcGVyY2VudGFnZXMgYWxsb3dlZCBvciBwYXlhYmxlIHVuZGVyIHRoZSBwbGFuLCBhbW91bnRzIHRoYXQ6IHRoZSBwYXRpZW50IGlzIHJlc3BvbnNpYmxlIGZvciBpbiBhZ2dyZWdhdGUgb3IgcGVydGFpbmluZyB0byB0aGlzIGl0ZW07IGFtb3VudHMgcGFpZCBieSBvdGhlciBjb3ZlcmFnZXM7IGFuZCwgdGhlIGJlbmVmaXQgcGF5YWJsZSBmb3IgdGhpcyBpdGVtLiIgY29tbWVudD0iRm9yIGV4YW1wbGUgY29kZXMgaW5kaWNhdGluZzogQ28tUGF5LCBkZWR1Y3RpYmxlLCBlbGlnaWJsZSwgYmVuZWZpdCwgdGF4LCBldGMuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQWRqdWRpY2F0aW9uIiBkZXNjcmlwdGlvbj0iVGhlIGFkanVkaWNhdGlvbiBjb2Rlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRXhwbGFuYXRpb24gb2YgYWRqdWRpY2F0aW9uIG91dGNvbWUiIGRlZmluaXRpb249IkEgY29kZSBzdXBwb3J0aW5nIHRoZSB1bmRlcnN0YW5kaW5nIG9mIHRoZSBhZGp1ZGljYXRpb24gcmVzdWx0IGFuZCBleHBsYWluaW5nIHZhcmlhbmNlIGZyb20gZXhwZWN0ZWQgYW1vdW50LiIgY29tbWVudD0iRm9yIGV4YW1wbGUgbWF5IGluZGljYXRlIHRoYXQgdGhlIGZ1bmRzIGZvciB0aGlzIGJlbmVmaXQgdHlwZSBoYXZlIGJlZW4gZXhoYXVzdGVkLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkFkanVkaWNhdGlvblJlYXNvbiIgZGVzY3JpcHRpb249IlRoZSBhZGp1ZGljYXRpb24gcmVhc29uIGNvZGVzLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYW1vdW50IiBlbGVtZW50VHlwZT0iU3lzdGVtLkRlY2ltYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIE1vbmV0YXJ5IGFtb3VudCIgZGVmaW5pdGlvbj0iTW9uZXRhcnkgYW1vdW50IGFzc29jaWF0ZWQgd2l0aCB0aGUgY2F0ZWdvcnkuIiBjb21tZW50PSJGb3IgZXhhbXBsZTogYW1vdW50IHN1Ym1pdHRlZCwgZWxpZ2libGUgYW1vdW50LCBjby1wYXltZW50LCBhbmQgYmVuZWZpdCBwYXlhYmxlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRlY2ltYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTm9uLW1vbmV0YXJ5IHZhbHVlIiBkZWZpbml0aW9uPSJBIG5vbi1tb25ldGFyeSB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggdGhlIGNhdGVnb3J5LiBNdXR1YWxseSBleGNsdXNpdmUgdG8gdGhlIGFtb3VudCBlbGVtZW50IGFib3ZlLiIgY29tbWVudD0iRm9yIGV4YW1wbGU6IGVsaWdpYmxlIHBlcmNlbnRhZ2Ugb3IgY28tcGF5bWVudCBwZXJjZW50YWdlLiIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ2xhaW1SZXNwb25zZS5JdGVtLkRldGFpbCIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGV0YWlsU2VxdWVuY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgQ2xhaW0gZGV0YWlsIGluc3RhbmNlIGlkZW50aWZpZXIiIGRlZmluaXRpb249IkEgbnVtYmVyIHRvIHVuaXF1ZWx5IHJlZmVyZW5jZSB0aGUgY2xhaW0gZGV0YWlsIGVudHJ5LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGVOdW1iZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iQXBwbGljYWJsZSBub3RlIG51bWJlcnMiIGRlZmluaXRpb249IlRoZSBudW1iZXJzIGFzc29jaWF0ZWQgd2l0aCBub3RlcyBiZWxvdyB3aGljaCBhcHBseSB0byB0aGUgYWRqdWRpY2F0aW9uIG9mIHRoaXMgaXRlbS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWRqdWRpY2F0aW9uIiBkZXNjcmlwdGlvbj0iRGV0YWlsIGxldmVsIGFkanVkaWNhdGlvbiBkZXRhaWxzIiBkZWZpbml0aW9uPSJUaGUgYWRqdWRpY2F0aW9uIHJlc3VsdHMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5DbGFpbVJlc3BvbnNlLkl0ZW0uQWRqdWRpY2F0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YkRldGFpbCIgZGVzY3JpcHRpb249IkFkanVkaWNhdGlvbiBmb3IgY2xhaW0gc3ViLWRldGFpbHMiIGRlZmluaXRpb249IkEgc3ViLWRldGFpbCBhZGp1ZGljYXRpb24gb2YgYSBzaW1wbGUgcHJvZHVjdCBvciBzZXJ2aWNlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ2xhaW1SZXNwb25zZS5JdGVtLkRldGFpbC5TdWJEZXRhaWwiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDbGFpbVJlc3BvbnNlLkl0ZW0uRGV0YWlsLlN1YkRldGFpbCIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViRGV0YWlsU2VxdWVuY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJDbGFpbSBzdWItZGV0YWlsIGluc3RhbmNlIGlkZW50aWZpZXIiIGRlZmluaXRpb249IkEgbnVtYmVyIHRvIHVuaXF1ZWx5IHJlZmVyZW5jZSB0aGUgY2xhaW0gc3ViLWRldGFpbCBlbnRyeS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlTnVtYmVyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkFwcGxpY2FibGUgbm90ZSBudW1iZXJzIiBkZWZpbml0aW9uPSJUaGUgbnVtYmVycyBhc3NvY2lhdGVkIHdpdGggbm90ZXMgYmVsb3cgd2hpY2ggYXBwbHkgdG8gdGhlIGFkanVkaWNhdGlvbiBvZiB0aGlzIGl0ZW0uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImFkanVkaWNhdGlvbiIgZGVzY3JpcHRpb249IlN1YmRldGFpbCBsZXZlbCBhZGp1ZGljYXRpb24gZGV0YWlscyIgZGVmaW5pdGlvbj0iVGhlIGFkanVkaWNhdGlvbiByZXN1bHRzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ2xhaW1SZXNwb25zZS5JdGVtLkFkanVkaWNhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNsYWltUmVzcG9uc2UuUGF5bWVudCIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUGFydGlhbCBvciBjb21wbGV0ZSBwYXltZW50IiBkZWZpbml0aW9uPSJXaGV0aGVyIHRoaXMgcmVwcmVzZW50cyBwYXJ0aWFsIG9yIGNvbXBsZXRlIHBheW1lbnQgb2YgdGhlIGJlbmVmaXRzIHBheWFibGUuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUGF5bWVudFR5cGUiIGRlc2NyaXB0aW9uPSJUaGUgdHlwZSAocGFydGlhbCwgY29tcGxldGUpIG9mIHRoZSBwYXltZW50LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWRqdXN0bWVudCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlBheW1lbnQgYWRqdXN0bWVudCBmb3Igbm9uLWNsYWltIGlzc3VlcyIgZGVmaW5pdGlvbj0iVG90YWwgYW1vdW50IG9mIGFsbCBhZGp1c3RtZW50cyB0byB0aGlzIHBheW1lbnQgaW5jbHVkZWQgaW4gdGhpcyB0cmFuc2FjdGlvbiB3aGljaCBhcmUgbm90IHJlbGF0ZWQgdG8gdGhpcyBjbGFpbSdzIGFkanVkaWNhdGlvbi4iIGNvbW1lbnQ9Ikluc3VyZXJzIHdpbGwgZGVkdWN0IGFtb3VudHMgb3dpbmcgZnJvbSB0aGUgcHJvdmlkZXIgKGFkanVzdG1lbnQpLCBzdWNoIGFzIGEgcHJpb3Igb3ZlcnBheW1lbnQsIGZyb20gdGhlIGFtb3VudCBvd2luZyB0byB0aGUgcHJvdmlkZXIgKGJlbmVmaXRzIHBheWFibGUpIHdoZW4gcGF5bWVudCBpcyBtYWRlIHRvIHRoZSBwcm92aWRlci4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhZGp1c3RtZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJFeHBsYW5hdGlvbiBmb3IgdGhlIGFkanVzdG1lbnQiIGRlZmluaXRpb249IlJlYXNvbiBmb3IgdGhlIHBheW1lbnQgYWRqdXN0bWVudC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJQYXltZW50QWRqdXN0bWVudFJlYXNvbiIgZGVzY3JpcHRpb249IlBheW1lbnQgQWRqdXN0bWVudCByZWFzb24gY29kZXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkYXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRXhwZWN0ZWQgZGF0ZSBvZiBwYXltZW50IiBkZWZpbml0aW9uPSJFc3RpbWF0ZWQgZGF0ZSB0aGUgcGF5bWVudCB3aWxsIGJlIGlzc3VlZCBvciB0aGUgYWN0dWFsIGlzc3VlIGRhdGUgb2YgcGF5bWVudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhbW91bnQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQYXlhYmxlIGFtb3VudCBhZnRlciBhZGp1c3RtZW50IiBkZWZpbml0aW9uPSJCZW5lZml0cyBwYXlhYmxlIGxlc3MgYW55IHBheW1lbnQgYWRqdXN0bWVudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBpZGVudGlmaWVyIGZvciB0aGUgcGF5bWVudCIgZGVmaW5pdGlvbj0iSXNzdWVyJ3MgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBwYXltZW50IGluc3RydW1lbnQuIiBjb21tZW50PSJGb3IgZXhhbXBsZTogRUZUIG51bWJlciBvciBjaGVjayBudW1iZXIuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDbGFpbVJlc3BvbnNlLlByb2Nlc3NOb3RlIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJudW1iZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOb3RlIGluc3RhbmNlIGlkZW50aWZpZXIiIGRlZmluaXRpb249IkEgbnVtYmVyIHRvIHVuaXF1ZWx5IGlkZW50aWZ5IGEgbm90ZSBlbnRyeS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iUUlDb3JlLk5vdGVUeXBlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImRpc3BsYXkgfCBwcmludCB8IHByaW50b3BlciIgZGVmaW5pdGlvbj0iVGhlIGJ1c2luZXNzIHB1cnBvc2Ugb2YgdGhlIG5vdGUgdGV4dC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJOb3RlVHlwZSIgZGVzY3JpcHRpb249IlRoZSBwcmVzZW50YXRpb24gdHlwZXMgb2Ygbm90ZXMuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idGV4dCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTm90ZSBleHBsYW5hdG9yeSB0ZXh0IiBkZWZpbml0aW9uPSJUaGUgZXhwbGFuYXRpb24gb3IgZGVzY3JpcHRpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBwcm9jZXNzaW5nLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Imxhbmd1YWdlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJMYW5ndWFnZSBvZiB0aGUgdGV4dCIgZGVmaW5pdGlvbj0iQSBjb2RlIHRvIGRlZmluZSB0aGUgbGFuZ3VhZ2UgdXNlZCBpbiB0aGUgdGV4dCBvZiB0aGUgbm90ZS4iIGNvbW1lbnQ9Ik9ubHkgcmVxdWlyZWQgaWYgdGhlIGxhbmd1YWdlIGlzIGRpZmZlcmVudCBmcm9tIHRoZSByZXNvdXJjZSBsYW5ndWFnZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJMYW5ndWFnZSIgZGVzY3JpcHRpb249IkEgaHVtYW4gbGFuZ3VhZ2UuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ2xhaW1SZXNwb25zZS5Ub3RhbCIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlR5cGUgb2YgYWRqdWRpY2F0aW9uIGluZm9ybWF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdG8gaW5kaWNhdGUgdGhlIGluZm9ybWF0aW9uIHR5cGUgb2YgdGhpcyBhZGp1ZGljYXRpb24gcmVjb3JkLiBJbmZvcm1hdGlvbiB0eXBlcyBtYXkgaW5jbHVkZTogdGhlIHZhbHVlIHN1Ym1pdHRlZCwgbWF4aW11bSB2YWx1ZXMgb3IgcGVyY2VudGFnZXMgYWxsb3dlZCBvciBwYXlhYmxlIHVuZGVyIHRoZSBwbGFuLCBhbW91bnRzIHRoYXQgdGhlIHBhdGllbnQgaXMgcmVzcG9uc2libGUgZm9yIGluIGFnZ3JlZ2F0ZSBvciBwZXJ0YWluaW5nIHRvIHRoaXMgaXRlbSwgYW1vdW50cyBwYWlkIGJ5IG90aGVyIGNvdmVyYWdlcywgYW5kIHRoZSBiZW5lZml0IHBheWFibGUgZm9yIHRoaXMgaXRlbS4iIGNvbW1lbnQ9IkZvciBleGFtcGxlIGNvZGVzIGluZGljYXRpbmc6IENvLVBheSwgZGVkdWN0aWJsZSwgZWxpZ2libGUsIGJlbmVmaXQsIHRheCwgZXRjLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkFkanVkaWNhdGlvbiIgZGVzY3JpcHRpb249IlRoZSBhZGp1ZGljYXRpb24gY29kZXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhbW91bnQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJGaW5hbmNpYWwgdG90YWwgZm9yIHRoZSBjYXRlZ29yeSIgZGVmaW5pdGlvbj0iTW9uZXRhcnkgdG90YWwgYW1vdW50IGFzc29jaWF0ZWQgd2l0aCB0aGUgY2F0ZWdvcnkuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDbGFpbVJlc3BvbnNlU3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNsYWltU3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbW11bmljYXRpb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWNvbW11bmljYXRpb24iIGxhYmVsPSJRSUNvcmUgQ29tbXVuaWNhdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0idG9waWMiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJVbmlxdWUgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iQnVzaW5lc3MgaWRlbnRpZmllcnMgYXNzaWduZWQgdG8gdGhpcyBjb21tdW5pY2F0aW9uIGJ5IHRoZSBwZXJmb3JtZXIgb3Igb3RoZXIgc3lzdGVtcyB3aGljaCByZW1haW4gY29uc3RhbnQgYXMgdGhlIHJlc291cmNlIGlzIHVwZGF0ZWQgYW5kIHByb3BhZ2F0ZXMgZnJvbSBzZXJ2ZXIgdG8gc2VydmVyLiIgY29tbWVudD0iVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIgKHNlZSBbZGlzY3Vzc2lvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS5odG1sI2lkZW50aWZpZXJzKSkuICBJdCBpcyBiZXN0IHByYWN0aWNlIGZvciB0aGUgaWRlbnRpZmllciB0byBvbmx5IGFwcGVhciBvbiBhIHNpbmdsZSByZXNvdXJjZSBpbnN0YW5jZSwgaG93ZXZlciBidXNpbmVzcyBwcmFjdGljZXMgbWF5IG9jY2FzaW9uYWxseSBkaWN0YXRlIHRoYXQgbXVsdGlwbGUgcmVzb3VyY2UgaW5zdGFuY2VzIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllciBjYW4gZXhpc3QgLSBwb3NzaWJseSBldmVuIHdpdGggZGlmZmVyZW50IHJlc291cmNlIHR5cGVzLiAgRm9yIGV4YW1wbGUsIG11bHRpcGxlIFBhdGllbnQgYW5kIGEgUGVyc29uIHJlc291cmNlIGluc3RhbmNlIG1pZ2h0IHNoYXJlIHRoZSBzYW1lIHNvY2lhbCBpbnN1cmFuY2UgbnVtYmVyLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNDYW5vbmljYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIEZISVIgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhIEZISVItZGVmaW5lZCBwcm90b2NvbCwgZ3VpZGVsaW5lLCBvcmRlcnNldCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgQ29tbXVuaWNhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNVcmkiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIGV4dGVybmFsIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYW4gZXh0ZXJuYWxseSBtYWludGFpbmVkIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyc2V0IG9yIG90aGVyIGRlZmluaXRpb24gdGhhdCBpcyBhZGhlcmVkIHRvIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBDb21tdW5pY2F0aW9uLiIgY29tbWVudD0iVGhpcyBtaWdodCBiZSBhbiBIVE1MIHBhZ2UsIFBERiwgZXRjLiBvciBjb3VsZCBqdXN0IGJlIGEgbm9uLXJlc29sdmFibGUgVVJJIGlkZW50aWZpZXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IlJlcXVlc3QgZnVsZmlsbGVkIGJ5IHRoaXMgY29tbXVuaWNhdGlvbiIgZGVmaW5pdGlvbj0iQW4gb3JkZXIsIHByb3Bvc2FsIG9yIHBsYW4gZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBDb21tdW5pY2F0aW9uLiIgY29tbWVudD0iVGhpcyBtdXN0IHBvaW50IHRvIHNvbWUgc29ydCBvZiBhICdSZXF1ZXN0JyByZXNvdXJjZSwgc3VjaCBhcyBDYXJlUGxhbiwgQ29tbXVuaWNhdGlvblJlcXVlc3QsIFNlcnZpY2VSZXF1ZXN0LCBNZWRpY2F0aW9uUmVxdWVzdCwgZXRjLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IlBhcnQgb2YgdGhpcyBhY3Rpb24iIGRlZmluaXRpb249IlBhcnQgb2YgdGhpcyBhY3Rpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5SZXNwb25zZVRvIiBkZXNjcmlwdGlvbj0iUmVwbHkgdG8iIGRlZmluaXRpb249IlByaW9yIGNvbW11bmljYXRpb24gdGhhdCB0aGlzIGNvbW11bmljYXRpb24gaXMgaW4gcmVzcG9uc2UgdG8uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgcHJlcGFyYXRpb24gfCBpbi1wcm9ncmVzcyB8IG9uLWhvbGQgfCBzdG9wcGVkIHwgY29tcGxldGVkIHwgZW50ZXJlZC1pbi1lcnJvciB8IHVua25vd24iIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHRyYW5zbWlzc2lvbi4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIHRoZSBjb2RlcyBhYm9ydGVkIGFuZCBlbnRlcmVkLWluLWVycm9yIHRoYXQgbWFyayB0aGUgY29tbXVuaWNhdGlvbiBhcyBub3QgY3VycmVudGx5IHZhbGlkLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXNSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlYXNvbiBmb3IgY3VycmVudCBzdGF0dXMiIGRlZmluaXRpb249IkNhcHR1cmVzIHRoZSByZWFzb24gZm9yIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBDb21tdW5pY2F0aW9uLiIgY29tbWVudD0iVGhpcyBpcyBnZW5lcmFsbHkgb25seSB1c2VkIGZvciAmcXVvdDtleGNlcHRpb24mcXVvdDsgc3RhdHVzZXMgc3VjaCBhcyAmcXVvdDtub3QtZG9uZSZxdW90OywgJnF1b3Q7c3VzcGVuZGVkJnF1b3Q7IG9yICZxdW90O2Fib3J0ZWQmcXVvdDsuIFRoZSByZWFzb24gZm9yIHBlcmZvcm1pbmcgdGhlIGV2ZW50IGF0IGFsbCBpcyBjYXB0dXJlZCBpbiByZWFzb25Db2RlLCBub3QgaGVyZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJDb21tdW5pY2F0aW9uTm90RG9uZVJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIGZvciB0aGUgcmVhc29uIHdoeSBhIGNvbW11bmljYXRpb24gZGlkIG5vdCBoYXBwZW4uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik1lc3NhZ2UgY2F0ZWdvcnkiIGRlZmluaXRpb249IlRoZSB0eXBlIG9mIG1lc3NhZ2UgY29udmV5ZWQgc3VjaCBhcyBhbGVydCwgbm90aWZpY2F0aW9uLCByZW1pbmRlciwgaW5zdHJ1Y3Rpb24sIGV0Yy4iIGNvbW1lbnQ9IlRoZXJlIG1heSBiZSBtdWx0aXBsZSBheGVzIG9mIGNhdGVnb3JpemF0aW9uIGFuZCBvbmUgY29tbXVuaWNhdGlvbiBtYXkgc2VydmUgbXVsdGlwbGUgcHVycG9zZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvbW11bmljYXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBnZW5lcmFsIGNhdGVnb3JpZXMgb2YgY29tbXVuaWNhdGlvbnMgc3VjaCBhcyBhbGVydHMsIGluc3RydWN0aW9ucywgZXRjLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJpb3JpdHkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ29tbXVuaWNhdGlvblByaW9yaXR5IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InJvdXRpbmUgfCB1cmdlbnQgfCBhc2FwIHwgc3RhdCIgZGVmaW5pdGlvbj0iQ2hhcmFjdGVyaXplcyBob3cgcXVpY2tseSB0aGUgcGxhbm5lZCBvciBpbiBwcm9ncmVzcyBjb21tdW5pY2F0aW9uIG11c3QgYmUgYWRkcmVzc2VkLiBJbmNsdWRlcyBjb25jZXB0cyBzdWNoIGFzIHN0YXQsIHVyZ2VudCwgcm91dGluZS4iIGNvbW1lbnQ9IlVzZWQgdG8gcHJpb3JpdGl6ZSB3b3JrZmxvdyAoc3VjaCBhcyB3aGljaCBjb21tdW5pY2F0aW9uIHRvIHJlYWQgZmlyc3QpIHdoZW4gdGhlIGNvbW11bmljYXRpb24gaXMgcGxhbm5lZCBvciBpbiBwcm9ncmVzcy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJDb21tdW5pY2F0aW9uUHJpb3JpdHkiIGRlc2NyaXB0aW9uPSJDb2RlcyBpbmRpY2F0aW5nIHRoZSByZWxhdGl2ZSBpbXBvcnRhbmNlIG9mIGEgY29tbXVuaWNhdGlvbi4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZWRpdW0iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBIGNoYW5uZWwgb2YgY29tbXVuaWNhdGlvbiIgZGVmaW5pdGlvbj0iQSBjaGFubmVsIHRoYXQgd2FzIHVzZWQgZm9yIHRoaXMgY29tbXVuaWNhdGlvbiAoZS5nLiBlbWFpbCwgZmF4KS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ29tbXVuaWNhdGlvbk1lZGl1bSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBjb21tdW5pY2F0aW9uIG1lZGl1bXMgc3VjaCBhcyBwaG9uZSwgZmF4LCBlbWFpbCwgaW4gcGVyc29uLCBldGMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBGb2N1cyBvZiBtZXNzYWdlIiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCBvciBncm91cCB0aGF0IHdhcyB0aGUgZm9jdXMgb2YgdGhpcyBjb21tdW5pY2F0aW9uLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InRvcGljIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgRGVzY3JpcHRpb24gb2YgdGhlIHB1cnBvc2UvY29udGVudCIgZGVmaW5pdGlvbj0iRGVzY3JpcHRpb24gb2YgdGhlIHB1cnBvc2UvY29udGVudCwgc2ltaWxhciB0byBhIHN1YmplY3QgbGluZSBpbiBhbiBlbWFpbC4iIGNvbW1lbnQ9IkNvbW11bmljYXRpb24udG9waWMudGV4dCBjYW4gYmUgdXNlZCB3aXRob3V0IGFueSBjb2RpbmdzLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWJvdXQiIGRlc2NyaXB0aW9uPSJSZXNvdXJjZXMgdGhhdCBwZXJ0YWluIHRvIHRoaXMgY29tbXVuaWNhdGlvbiIgZGVmaW5pdGlvbj0iT3RoZXIgcmVzb3VyY2VzIHRoYXQgcGVydGFpbiB0byB0aGlzIGNvbW11bmljYXRpb24gYW5kIHRvIHdoaWNoIHRoaXMgY29tbXVuaWNhdGlvbiBzaG91bGQgYmUgYXNzb2NpYXRlZC4iIGNvbW1lbnQ9IkRvbid0IHVzZSBDb21tdW5pY2F0aW9uLmFib3V0IGVsZW1lbnQgd2hlbiBhIG1vcmUgc3BlY2lmaWMgZWxlbWVudCBleGlzdHMsIHN1Y2ggYXMgYmFzZWRPbiBvciByZWFzb25SZWZlcmVuY2UuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkVuY291bnRlciBjcmVhdGVkIGFzIHBhcnQgb2YiIGRlZmluaXRpb249IlRoZSBFbmNvdW50ZXIgZHVyaW5nIHdoaWNoIHRoaXMgQ29tbXVuaWNhdGlvbiB3YXMgY3JlYXRlZCBvciB0byB3aGljaCB0aGUgY3JlYXRpb24gb2YgdGhpcyByZWNvcmQgaXMgdGlnaHRseSBhc3NvY2lhdGVkLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGFjdGl2aXRpZXMgbWF5IGJlIGluaXRpYXRlZCBwcmlvciB0byBvciBhZnRlciB0aGUgb2ZmaWNpYWwgY29tcGxldGlvbiBvZiBhbiBlbmNvdW50ZXIgYnV0IHN0aWxsIGJlIHRpZWQgdG8gdGhlIGNvbnRleHQgb2YgdGhlIGVuY291bnRlci4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzZW50IiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBXaGVuIHNlbnQiIGRlZmluaXRpb249IlRoZSB0aW1lIHdoZW4gdGhpcyBjb21tdW5pY2F0aW9uIHdhcyBzZW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlY2VpdmVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBXaGVuIHJlY2VpdmVkIiBkZWZpbml0aW9uPSJUaGUgdGltZSB3aGVuIHRoaXMgY29tbXVuaWNhdGlvbiBhcnJpdmVkIGF0IHRoZSBkZXN0aW5hdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWNpcGllbnQiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgTWVzc2FnZSByZWNpcGllbnQiIGRlZmluaXRpb249IlRoZSBlbnRpdHkgKGUuZy4gcGVyc29uLCBvcmdhbml6YXRpb24sIGNsaW5pY2FsIGluZm9ybWF0aW9uIHN5c3RlbSwgY2FyZSB0ZWFtIG9yIGRldmljZSkgd2hpY2ggd2FzIHRoZSB0YXJnZXQgb2YgdGhlIGNvbW11bmljYXRpb24uIElmIHJlY2VpcHRzIG5lZWQgdG8gYmUgdHJhY2tlZCBieSBhbiBpbmRpdmlkdWFsLCBhIHNlcGFyYXRlIHJlc291cmNlIGluc3RhbmNlIHdpbGwgbmVlZCB0byBiZSBjcmVhdGVkIGZvciBlYWNoIHJlY2lwaWVudC4gIE11bHRpcGxlIHJlY2lwaWVudCBjb21tdW5pY2F0aW9ucyBhcmUgaW50ZW5kZWQgd2hlcmUgZWl0aGVyIHJlY2VpcHRzIGFyZSBub3QgdHJhY2tlZCAoZS5nLiBhIG1hc3MgbWFpbC1vdXQpIG9yIGEgcmVjZWlwdCBpcyBjYXB0dXJlZCBpbiBhZ2dyZWdhdGUgKGFsbCBlbWFpbHMgY29uZmlybWVkIHJlY2VpdmVkIGJ5IGEgcGFydGljdWxhciB0aW1lKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzZW5kZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIE1lc3NhZ2Ugc2VuZGVyIiBkZWZpbml0aW9uPSJUaGUgZW50aXR5IChlLmcuIHBlcnNvbiwgb3JnYW5pemF0aW9uLCBjbGluaWNhbCBpbmZvcm1hdGlvbiBzeXN0ZW0sIG9yIGRldmljZSkgd2hpY2ggd2FzIHRoZSBzb3VyY2Ugb2YgdGhlIGNvbW11bmljYXRpb24uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkluZGljYXRpb24gZm9yIG1lc3NhZ2UiIGRlZmluaXRpb249IlRoZSByZWFzb24gb3IganVzdGlmaWNhdGlvbiBmb3IgdGhlIGNvbW11bmljYXRpb24uIiBjb21tZW50PSJUZXh0dWFsIHJlYXNvbnMgY2FuIGJlIGNhcHR1cmVkIHVzaW5nIHJlYXNvbkNvZGUudGV4dC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ29tbXVuaWNhdGlvblJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBkZXNjcmliaW5nIHJlYXNvbnMgZm9yIHRoZSBvY2N1cnJlbmNlIG9mIGEgY29tbXVuaWNhdGlvbi4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvblJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldoeSB3YXMgY29tbXVuaWNhdGlvbiBkb25lPyIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGFub3RoZXIgcmVzb3VyY2Ugd2hvc2UgZXhpc3RlbmNlIGp1c3RpZmllcyB0aGlzIGNvbW11bmljYXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGF5bG9hZCIgZGVzY3JpcHRpb249Ik1lc3NhZ2UgcGF5bG9hZCIgZGVmaW5pdGlvbj0iVGV4dCwgYXR0YWNobWVudChzKSwgb3IgcmVzb3VyY2UocykgdGhhdCB3YXMgY29tbXVuaWNhdGVkIHRvIHRoZSByZWNpcGllbnQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Db21tdW5pY2F0aW9uLlBheWxvYWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIG1hZGUgYWJvdXQgdGhlIGNvbW11bmljYXRpb24iIGRlZmluaXRpb249IkFkZGl0aW9uYWwgbm90ZXMgb3IgY29tbWVudGFyeSBhYm91dCB0aGUgY29tbXVuaWNhdGlvbiBieSB0aGUgc2VuZGVyLCByZWNlaXZlciBvciBvdGhlciBpbnRlcmVzdGVkIHBhcnRpZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9InNlbmRlciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9InJlY2lwaWVudCIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJzdWJqZWN0Ii8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InNlbmRlciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJyZWNpcGllbnQiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJFbmNvdW50ZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJlbmNvdW50ZXIiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJEZXZpY2UiIHJlbGF0ZWRLZXlFbGVtZW50PSJzZW5kZXIiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJEZXZpY2UiIHJlbGF0ZWRLZXlFbGVtZW50PSJyZWNpcGllbnQiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJSZWxhdGVkUGVyc29uIiByZWxhdGVkS2V5RWxlbWVudD0ic2VuZGVyIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUmVsYXRlZFBlcnNvbiIgcmVsYXRlZEtleUVsZW1lbnQ9InJlY2lwaWVudCIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ29tbXVuaWNhdGlvbi5QYXlsb2FkIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb250ZW50IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik1lc3NhZ2UgcGFydCBjb250ZW50IiBkZWZpbml0aW9uPSJBIGNvbW11bmljYXRlZCBjb250ZW50IChvciBmb3IgbXVsdGktcGFydCBjb21tdW5pY2F0aW9ucywgb25lIHBvcnRpb24gb2YgdGhlIGNvbW11bmljYXRpb24pLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkF0dGFjaG1lbnQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlZmVyZW5jZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbW11bmljYXRpb25Ob3REb25lIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1jb21tdW5pY2F0aW9ubm90ZG9uZSIgbGFiZWw9IlFJQ29yZSBDb21tdW5pY2F0aW9uIE5vdCBEb25lIiB0YXJnZXQ9IkNvbW11bmljYXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9InRvcGljIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvcmRlZCIgZWxlbWVudFR5cGU9IlFJQ29yZS5Ob3REb25lUmVjb3JkZWQiIHRhcmdldD0iJXBhcmVudC5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1yZWNvcmRlZCddLnZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIEV4dGVuc2lvbiIgZGVmaW5pdGlvbj0iQ2FwdHVyZXMgdGhlIHJlY29yZGVkIGRhdGUgb2YgdGhlIGV2ZW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJVbmlxdWUgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iQnVzaW5lc3MgaWRlbnRpZmllcnMgYXNzaWduZWQgdG8gdGhpcyBjb21tdW5pY2F0aW9uIGJ5IHRoZSBwZXJmb3JtZXIgb3Igb3RoZXIgc3lzdGVtcyB3aGljaCByZW1haW4gY29uc3RhbnQgYXMgdGhlIHJlc291cmNlIGlzIHVwZGF0ZWQgYW5kIHByb3BhZ2F0ZXMgZnJvbSBzZXJ2ZXIgdG8gc2VydmVyLiIgY29tbWVudD0iVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIgKHNlZSBbZGlzY3Vzc2lvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS5odG1sI2lkZW50aWZpZXJzKSkuICBJdCBpcyBiZXN0IHByYWN0aWNlIGZvciB0aGUgaWRlbnRpZmllciB0byBvbmx5IGFwcGVhciBvbiBhIHNpbmdsZSByZXNvdXJjZSBpbnN0YW5jZSwgaG93ZXZlciBidXNpbmVzcyBwcmFjdGljZXMgbWF5IG9jY2FzaW9uYWxseSBkaWN0YXRlIHRoYXQgbXVsdGlwbGUgcmVzb3VyY2UgaW5zdGFuY2VzIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllciBjYW4gZXhpc3QgLSBwb3NzaWJseSBldmVuIHdpdGggZGlmZmVyZW50IHJlc291cmNlIHR5cGVzLiAgRm9yIGV4YW1wbGUsIG11bHRpcGxlIFBhdGllbnQgYW5kIGEgUGVyc29uIHJlc291cmNlIGluc3RhbmNlIG1pZ2h0IHNoYXJlIHRoZSBzYW1lIHNvY2lhbCBpbnN1cmFuY2UgbnVtYmVyLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNDYW5vbmljYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIEZISVIgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhIEZISVItZGVmaW5lZCBwcm90b2NvbCwgZ3VpZGVsaW5lLCBvcmRlcnNldCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgQ29tbXVuaWNhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNVcmkiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIGV4dGVybmFsIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYW4gZXh0ZXJuYWxseSBtYWludGFpbmVkIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyc2V0IG9yIG90aGVyIGRlZmluaXRpb24gdGhhdCBpcyBhZGhlcmVkIHRvIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBDb21tdW5pY2F0aW9uLiIgY29tbWVudD0iVGhpcyBtaWdodCBiZSBhbiBIVE1MIHBhZ2UsIFBERiwgZXRjLiBvciBjb3VsZCBqdXN0IGJlIGEgbm9uLXJlc29sdmFibGUgVVJJIGlkZW50aWZpZXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IlJlcXVlc3QgZnVsZmlsbGVkIGJ5IHRoaXMgY29tbXVuaWNhdGlvbiIgZGVmaW5pdGlvbj0iQW4gb3JkZXIsIHByb3Bvc2FsIG9yIHBsYW4gZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBDb21tdW5pY2F0aW9uLiIgY29tbWVudD0iVGhpcyBtdXN0IHBvaW50IHRvIHNvbWUgc29ydCBvZiBhICdSZXF1ZXN0JyByZXNvdXJjZSwgc3VjaCBhcyBDYXJlUGxhbiwgQ29tbXVuaWNhdGlvblJlcXVlc3QsIFNlcnZpY2VSZXF1ZXN0LCBNZWRpY2F0aW9uUmVxdWVzdCwgZXRjLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IlBhcnQgb2YgdGhpcyBhY3Rpb24iIGRlZmluaXRpb249IlBhcnQgb2YgdGhpcyBhY3Rpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5SZXNwb25zZVRvIiBkZXNjcmlwdGlvbj0iUmVwbHkgdG8iIGRlZmluaXRpb249IlByaW9yIGNvbW11bmljYXRpb24gdGhhdCB0aGlzIGNvbW11bmljYXRpb24gaXMgaW4gcmVzcG9uc2UgdG8uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbW11bmljYXRpb25TdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIHByZXBhcmF0aW9uIHwgaW4tcHJvZ3Jlc3MgfCBub3QtZG9uZSB8IG9uLWhvbGQgfCBzdG9wcGVkIHwgY29tcGxldGVkIHwgZW50ZXJlZC1pbi1lcnJvciB8IHVua25vd24iIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHRyYW5zbWlzc2lvbi4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIHRoZSBjb2RlcyBhYm9ydGVkIGFuZCBlbnRlcmVkLWluLWVycm9yIHRoYXQgbWFyayB0aGUgY29tbXVuaWNhdGlvbiBhcyBub3QgY3VycmVudGx5IHZhbGlkLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvbW11bmljYXRpb25TdGF0dXMiIGRlc2NyaXB0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSBjb21tdW5pY2F0aW9uLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1c1JlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFJlYXNvbiBmb3IgY3VycmVudCBzdGF0dXMiIGRlZmluaXRpb249IkNhcHR1cmVzIHRoZSByZWFzb24gZm9yIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBDb21tdW5pY2F0aW9uLiIgY29tbWVudD0iVGhpcyBpcyBnZW5lcmFsbHkgb25seSB1c2VkIGZvciAmcXVvdDtleGNlcHRpb24mcXVvdDsgc3RhdHVzZXMgc3VjaCBhcyAmcXVvdDtub3QtZG9uZSZxdW90OywgJnF1b3Q7c3VzcGVuZGVkJnF1b3Q7IG9yICZxdW90O2Fib3J0ZWQmcXVvdDsuIFRoZSByZWFzb24gZm9yIHBlcmZvcm1pbmcgdGhlIGV2ZW50IGF0IGFsbCBpcyBjYXB0dXJlZCBpbiByZWFzb25Db2RlLCBub3QgaGVyZS4iPgogICAgICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik1lc3NhZ2UgY2F0ZWdvcnkiIGRlZmluaXRpb249IlRoZSB0eXBlIG9mIG1lc3NhZ2UgY29udmV5ZWQgc3VjaCBhcyBhbGVydCwgbm90aWZpY2F0aW9uLCByZW1pbmRlciwgaW5zdHJ1Y3Rpb24sIGV0Yy4iIGNvbW1lbnQ9IlRoZXJlIG1heSBiZSBtdWx0aXBsZSBheGVzIG9mIGNhdGVnb3JpemF0aW9uIGFuZCBvbmUgY29tbXVuaWNhdGlvbiBtYXkgc2VydmUgbXVsdGlwbGUgcHVycG9zZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvbW11bmljYXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBnZW5lcmFsIGNhdGVnb3JpZXMgb2YgY29tbXVuaWNhdGlvbnMgc3VjaCBhcyBhbGVydHMsIGluc3RydWN0aW9ucywgZXRjLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJpb3JpdHkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ29tbXVuaWNhdGlvblByaW9yaXR5IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InJvdXRpbmUgfCB1cmdlbnQgfCBhc2FwIHwgc3RhdCIgZGVmaW5pdGlvbj0iQ2hhcmFjdGVyaXplcyBob3cgcXVpY2tseSB0aGUgcGxhbm5lZCBvciBpbiBwcm9ncmVzcyBjb21tdW5pY2F0aW9uIG11c3QgYmUgYWRkcmVzc2VkLiBJbmNsdWRlcyBjb25jZXB0cyBzdWNoIGFzIHN0YXQsIHVyZ2VudCwgcm91dGluZS4iIGNvbW1lbnQ9IlVzZWQgdG8gcHJpb3JpdGl6ZSB3b3JrZmxvdyAoc3VjaCBhcyB3aGljaCBjb21tdW5pY2F0aW9uIHRvIHJlYWQgZmlyc3QpIHdoZW4gdGhlIGNvbW11bmljYXRpb24gaXMgcGxhbm5lZCBvciBpbiBwcm9ncmVzcy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJDb21tdW5pY2F0aW9uUHJpb3JpdHkiIGRlc2NyaXB0aW9uPSJDb2RlcyBpbmRpY2F0aW5nIHRoZSByZWxhdGl2ZSBpbXBvcnRhbmNlIG9mIGEgY29tbXVuaWNhdGlvbi4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZWRpdW0iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBIGNoYW5uZWwgb2YgY29tbXVuaWNhdGlvbiIgZGVmaW5pdGlvbj0iQSBjaGFubmVsIHRoYXQgd2FzIHVzZWQgZm9yIHRoaXMgY29tbXVuaWNhdGlvbiAoZS5nLiBlbWFpbCwgZmF4KS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ29tbXVuaWNhdGlvbk1lZGl1bSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBjb21tdW5pY2F0aW9uIG1lZGl1bXMgc3VjaCBhcyBwaG9uZSwgZmF4LCBlbWFpbCwgaW4gcGVyc29uLCBldGMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBGb2N1cyBvZiBtZXNzYWdlIiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCBvciBncm91cCB0aGF0IHdhcyB0aGUgZm9jdXMgb2YgdGhpcyBjb21tdW5pY2F0aW9uLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InRvcGljIiB0YXJnZXQ9IlN5c3RlbS5Db25jZXB0OkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpO1N5c3RlbS5WYWx1ZVNldDpGSElSSGVscGVycy5Ub1ZhbHVlU2V0KCVwYXJlbnQudG9waWMuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtbm90RG9uZVZhbHVlU2V0J10udmFsdWUudmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIERlc2NyaXB0aW9uIG9mIHRoZSBwdXJwb3NlL2NvbnRlbnQiIGRlZmluaXRpb249IkRlc2NyaXB0aW9uIG9mIHRoZSBwdXJwb3NlL2NvbnRlbnQsIHNpbWlsYXIgdG8gYSBzdWJqZWN0IGxpbmUgaW4gYW4gZW1haWwuIiBjb21tZW50PSJDb21tdW5pY2F0aW9uLnRvcGljLnRleHQgY2FuIGJlIHVzZWQgd2l0aG91dCBhbnkgY29kaW5ncy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iVmFsdWVTZXQiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ29tbXVuaWNhdGlvblRvcGljIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyB0aGUgcHVycG9zZSBvciBjb250ZW50IG9mIHRoZSBjb21tdW5pY2F0aW9uLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhYm91dCIgZGVzY3JpcHRpb249IlJlc291cmNlcyB0aGF0IHBlcnRhaW4gdG8gdGhpcyBjb21tdW5pY2F0aW9uIiBkZWZpbml0aW9uPSJPdGhlciByZXNvdXJjZXMgdGhhdCBwZXJ0YWluIHRvIHRoaXMgY29tbXVuaWNhdGlvbiBhbmQgdG8gd2hpY2ggdGhpcyBjb21tdW5pY2F0aW9uIHNob3VsZCBiZSBhc3NvY2lhdGVkLiIgY29tbWVudD0iRG9uJ3QgdXNlIENvbW11bmljYXRpb24uYWJvdXQgZWxlbWVudCB3aGVuIGEgbW9yZSBzcGVjaWZpYyBlbGVtZW50IGV4aXN0cywgc3VjaCBhcyBiYXNlZE9uIG9yIHJlYXNvblJlZmVyZW5jZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iRW5jb3VudGVyIGNyZWF0ZWQgYXMgcGFydCBvZiIgZGVmaW5pdGlvbj0iVGhlIEVuY291bnRlciBkdXJpbmcgd2hpY2ggdGhpcyBDb21tdW5pY2F0aW9uIHdhcyBjcmVhdGVkIG9yIHRvIHdoaWNoIHRoZSBjcmVhdGlvbiBvZiB0aGlzIHJlY29yZCBpcyB0aWdodGx5IGFzc29jaWF0ZWQuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgYWN0aXZpdGllcyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InNlbnQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hlbiBzZW50IiBkZWZpbml0aW9uPSJUaGUgdGltZSB3aGVuIHRoaXMgY29tbXVuaWNhdGlvbiB3YXMgc2VudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWNlaXZlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIHJlY2VpdmVkIiBkZWZpbml0aW9uPSJUaGUgdGltZSB3aGVuIHRoaXMgY29tbXVuaWNhdGlvbiBhcnJpdmVkIGF0IHRoZSBkZXN0aW5hdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWNpcGllbnQiIGRlc2NyaXB0aW9uPSJNZXNzYWdlIHJlY2lwaWVudCIgZGVmaW5pdGlvbj0iVGhlIGVudGl0eSAoZS5nLiBwZXJzb24sIG9yZ2FuaXphdGlvbiwgY2xpbmljYWwgaW5mb3JtYXRpb24gc3lzdGVtLCBjYXJlIHRlYW0gb3IgZGV2aWNlKSB3aGljaCB3YXMgdGhlIHRhcmdldCBvZiB0aGUgY29tbXVuaWNhdGlvbi4gSWYgcmVjZWlwdHMgbmVlZCB0byBiZSB0cmFja2VkIGJ5IGFuIGluZGl2aWR1YWwsIGEgc2VwYXJhdGUgcmVzb3VyY2UgaW5zdGFuY2Ugd2lsbCBuZWVkIHRvIGJlIGNyZWF0ZWQgZm9yIGVhY2ggcmVjaXBpZW50LiAgTXVsdGlwbGUgcmVjaXBpZW50IGNvbW11bmljYXRpb25zIGFyZSBpbnRlbmRlZCB3aGVyZSBlaXRoZXIgcmVjZWlwdHMgYXJlIG5vdCB0cmFja2VkIChlLmcuIGEgbWFzcyBtYWlsLW91dCkgb3IgYSByZWNlaXB0IGlzIGNhcHR1cmVkIGluIGFnZ3JlZ2F0ZSAoYWxsIGVtYWlscyBjb25maXJtZWQgcmVjZWl2ZWQgYnkgYSBwYXJ0aWN1bGFyIHRpbWUpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InNlbmRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJNZXNzYWdlIHNlbmRlciIgZGVmaW5pdGlvbj0iVGhlIGVudGl0eSAoZS5nLiBwZXJzb24sIG9yZ2FuaXphdGlvbiwgY2xpbmljYWwgaW5mb3JtYXRpb24gc3lzdGVtLCBvciBkZXZpY2UpIHdoaWNoIHdhcyB0aGUgc291cmNlIG9mIHRoZSBjb21tdW5pY2F0aW9uLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvbkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJJbmRpY2F0aW9uIGZvciBtZXNzYWdlIiBkZWZpbml0aW9uPSJUaGUgcmVhc29uIG9yIGp1c3RpZmljYXRpb24gZm9yIHRoZSBjb21tdW5pY2F0aW9uLiIgY29tbWVudD0iVGV4dHVhbCByZWFzb25zIGNhbiBiZSBjYXB0dXJlZCB1c2luZyByZWFzb25Db2RlLnRleHQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvbW11bmljYXRpb25SZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgZGVzY3JpYmluZyByZWFzb25zIGZvciB0aGUgb2NjdXJyZW5jZSBvZiBhIGNvbW11bmljYXRpb24uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaHkgd2FzIGNvbW11bmljYXRpb24gZG9uZT8iIGRlZmluaXRpb249IkluZGljYXRlcyBhbm90aGVyIHJlc291cmNlIHdob3NlIGV4aXN0ZW5jZSBqdXN0aWZpZXMgdGhpcyBjb21tdW5pY2F0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBheWxvYWQiIGRlc2NyaXB0aW9uPSJNZXNzYWdlIHBheWxvYWQiIGRlZmluaXRpb249IlRleHQsIGF0dGFjaG1lbnQocyksIG9yIHJlc291cmNlKHMpIHRoYXQgd2FzIGNvbW11bmljYXRlZCB0byB0aGUgcmVjaXBpZW50LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ29tbXVuaWNhdGlvbi5QYXlsb2FkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJDb21tZW50cyBtYWRlIGFib3V0IHRoZSBjb21tdW5pY2F0aW9uIiBkZWZpbml0aW9uPSJBZGRpdGlvbmFsIG5vdGVzIG9yIGNvbW1lbnRhcnkgYWJvdXQgdGhlIGNvbW11bmljYXRpb24gYnkgdGhlIHNlbmRlciwgcmVjZWl2ZXIgb3Igb3RoZXIgaW50ZXJlc3RlZCBwYXJ0aWVzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbW11bmljYXRpb25Qcmlvcml0eSIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb21tdW5pY2F0aW9uUmVxdWVzdCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtY29tbXVuaWNhdGlvbnJlcXVlc3QiIGxhYmVsPSJRSUNvcmUgQ29tbXVuaWNhdGlvblJlcXVlc3QiIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNhdGVnb3J5IiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iVW5pcXVlIGlkZW50aWZpZXIiIGRlZmluaXRpb249IkJ1c2luZXNzIGlkZW50aWZpZXJzIGFzc2lnbmVkIHRvIHRoaXMgY29tbXVuaWNhdGlvbiByZXF1ZXN0IGJ5IHRoZSBwZXJmb3JtZXIgb3Igb3RoZXIgc3lzdGVtcyB3aGljaCByZW1haW4gY29uc3RhbnQgYXMgdGhlIHJlc291cmNlIGlzIHVwZGF0ZWQgYW5kIHByb3BhZ2F0ZXMgZnJvbSBzZXJ2ZXIgdG8gc2VydmVyLiIgY29tbWVudD0iVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIgKHNlZSBbZGlzY3Vzc2lvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS5odG1sI2lkZW50aWZpZXJzKSkuICBJdCBpcyBiZXN0IHByYWN0aWNlIGZvciB0aGUgaWRlbnRpZmllciB0byBvbmx5IGFwcGVhciBvbiBhIHNpbmdsZSByZXNvdXJjZSBpbnN0YW5jZSwgaG93ZXZlciBidXNpbmVzcyBwcmFjdGljZXMgbWF5IG9jY2FzaW9uYWxseSBkaWN0YXRlIHRoYXQgbXVsdGlwbGUgcmVzb3VyY2UgaW5zdGFuY2VzIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllciBjYW4gZXhpc3QgLSBwb3NzaWJseSBldmVuIHdpdGggZGlmZmVyZW50IHJlc291cmNlIHR5cGVzLiAgRm9yIGV4YW1wbGUsIG11bHRpcGxlIFBhdGllbnQgYW5kIGEgUGVyc29uIHJlc291cmNlIGluc3RhbmNlIG1pZ2h0IHNoYXJlIHRoZSBzYW1lIHNvY2lhbCBpbnN1cmFuY2UgbnVtYmVyLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiBvciBwcm9wb3NhbCIgZGVmaW5pdGlvbj0iQSBwbGFuIG9yIHByb3Bvc2FsIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyByZXF1ZXN0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlcGxhY2VzIiBkZXNjcmlwdGlvbj0iUmVxdWVzdChzKSByZXBsYWNlZCBieSB0aGlzIHJlcXVlc3QiIGRlZmluaXRpb249IkNvbXBsZXRlZCBvciB0ZXJtaW5hdGVkIHJlcXVlc3Qocykgd2hvc2UgZnVuY3Rpb24gaXMgdGFrZW4gYnkgdGhpcyBuZXcgcmVxdWVzdC4iIGNvbW1lbnQ9IlRoZSByZXBsYWNlbWVudCBjb3VsZCBiZSBiZWNhdXNlIHRoZSBpbml0aWFsIHJlcXVlc3Qgd2FzIGltbWVkaWF0ZWx5IHJlamVjdGVkIChkdWUgdG8gYW4gaXNzdWUpIG9yIGJlY2F1c2UgdGhlIHByZXZpb3VzIHJlcXVlc3Qgd2FzIGNvbXBsZXRlZCwgYnV0IHRoZSBuZWVkIGZvciB0aGUgYWN0aW9uIGRlc2NyaWJlZCBieSB0aGUgcmVxdWVzdCByZW1haW5zIG9uZ29pbmcuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZ3JvdXBJZGVudGlmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJDb21wb3NpdGUgcmVxdWVzdCB0aGlzIGlzIHBhcnQgb2YiIGRlZmluaXRpb249IkEgc2hhcmVkIGlkZW50aWZpZXIgY29tbW9uIHRvIGFsbCByZXF1ZXN0cyB0aGF0IHdlcmUgYXV0aG9yaXplZCBtb3JlIG9yIGxlc3Mgc2ltdWx0YW5lb3VzbHkgYnkgYSBzaW5nbGUgYXV0aG9yLCByZXByZXNlbnRpbmcgdGhlIGlkZW50aWZpZXIgb2YgdGhlIHJlcXVpc2l0aW9uLCBwcmVzY3JpcHRpb24gb3Igc2ltaWxhciBmb3JtLiIgY29tbWVudD0iUmVxdWVzdHMgYXJlIGxpbmtlZCBlaXRoZXIgYnkgYSAmcXVvdDtiYXNlZE9uJnF1b3Q7IHJlbGF0aW9uc2hpcCAoaS5lLiBvbmUgcmVxdWVzdCBpcyBmdWxmaWxsaW5nIGFub3RoZXIpIG9yIGJ5IGhhdmluZyBhIGNvbW1vbiByZXF1aXNpdGlvbi4gIFJlcXVlc3RzIHRoYXQgYXJlIHBhcnQgb2YgdGhlIHNhbWUgcmVxdWlzaXRpb24gYXJlIGdlbmVyYWxseSB0cmVhdGVkIGluZGVwZW5kZW50bHkgZnJvbSB0aGUgcGVyc3BlY3RpdmUgb2YgY2hhbmdpbmcgdGhlaXIgc3RhdGUgb3IgbWFpbnRhaW5pbmcgdGhlbSBhZnRlciBpbml0aWFsIGNyZWF0aW9uLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5Db21tdW5pY2F0aW9uUmVxdWVzdFN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgZHJhZnQgfCBhY3RpdmUgfCBvbi1ob2xkIHwgcmV2b2tlZCB8IGNvbXBsZXRlZCB8IGVudGVyZWQtaW4tZXJyb3IgfCB1bmtub3duIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSBwcm9wb3NhbCBvciBvcmRlci4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJDb21tdW5pY2F0aW9uUmVxdWVzdFN0YXR1cyIgZGVzY3JpcHRpb249IlRoZSBzdGF0dXMgb2YgdGhlIGNvbW11bmljYXRpb24gcmVxdWVzdC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXNSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlYXNvbiBmb3IgY3VycmVudCBzdGF0dXMiIGRlZmluaXRpb249IkNhcHR1cmVzIHRoZSByZWFzb24gZm9yIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBDb21tdW5pY2F0aW9uUmVxdWVzdC4iIGNvbW1lbnQ9IlRoaXMgaXMgZ2VuZXJhbGx5IG9ubHkgdXNlZCBmb3IgJnF1b3Q7ZXhjZXB0aW9uJnF1b3Q7IHN0YXR1c2VzIHN1Y2ggYXMgJnF1b3Q7c3VzcGVuZGVkJnF1b3Q7IG9yICZxdW90O2NhbmNlbGxlZCZxdW90Oy4gIFRoZSByZWFzb24gd2h5IHRoZSBDb21tdW5pY2F0aW9uUmVxdWVzdCB3YXMgY3JlYXRlZCBhdCBhbGwgaXMgY2FwdHVyZWQgaW4gcmVhc29uQ29kZSwgbm90IGhlcmUuICBbZGlzdGluY3QgcmVhc29uIGNvZGVzIGZvciBkaWZmZXJlbnQgc3RhdHVzZXMgY2FuIGJlIGVuZm9yY2VkIHVzaW5nIGludmFyaWFudHMgaWYgdGhleSBhcmUgdW5pdmVyc2FsIGJpbmRpbmdzXS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJDb21tdW5pY2F0aW9uUmVxdWVzdFN0YXR1c1JlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIHRoZSByZWFzb24gZm9yIHRoZSBjdXJyZW50IHN0YXRlIG9mIGEgcmVxdWVzdC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIE1lc3NhZ2UgY2F0ZWdvcnkiIGRlZmluaXRpb249IlRoZSB0eXBlIG9mIG1lc3NhZ2UgdG8gYmUgc2VudCBzdWNoIGFzIGFsZXJ0LCBub3RpZmljYXRpb24sIHJlbWluZGVyLCBpbnN0cnVjdGlvbiwgZXRjLiIgY29tbWVudD0iVGhlcmUgbWF5IGJlIG11bHRpcGxlIGF4ZXMgb2YgY2F0ZWdvcml6YXRpb24gYW5kIG9uZSBjb21tdW5pY2F0aW9uIHJlcXVlc3QgbWF5IHNlcnZlIG11bHRpcGxlIHB1cnBvc2VzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InByaW9yaXR5IiBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbW11bmljYXRpb25Qcmlvcml0eSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyb3V0aW5lIHwgdXJnZW50IHwgYXNhcCB8IHN0YXQiIGRlZmluaXRpb249IkNoYXJhY3Rlcml6ZXMgaG93IHF1aWNrbHkgdGhlIHByb3Bvc2VkIGFjdCBtdXN0IGJlIGluaXRpYXRlZC4gSW5jbHVkZXMgY29uY2VwdHMgc3VjaCBhcyBzdGF0LCB1cmdlbnQsIHJvdXRpbmUuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ29tbXVuaWNhdGlvblByaW9yaXR5IiBkZXNjcmlwdGlvbj0iQ29kZXMgaW5kaWNhdGluZyB0aGUgcmVsYXRpdmUgaW1wb3J0YW5jZSBvZiBhIGNvbW11bmljYXRpb24gcmVxdWVzdC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkb05vdFBlcmZvcm0iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgVHJ1ZSBpZiByZXF1ZXN0IGlzIHByb2hpYml0aW5nIGFjdGlvbiIgZGVmaW5pdGlvbj0iSWYgdHJ1ZSBpbmRpY2F0ZXMgdGhhdCB0aGUgQ29tbXVuaWNhdGlvblJlcXVlc3QgaXMgYXNraW5nIGZvciB0aGUgc3BlY2lmaWVkIGFjdGlvbiB0byAqbm90KiBvY2N1ci4iIGNvbW1lbnQ9IlRoZSBhdHRyaWJ1dGVzIHByb3ZpZGVkIHdpdGggdGhlIHJlcXVlc3QgcXVhbGlmeSB3aGF0IGlzIG5vdCB0byBiZSBkb25lLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1lZGl1bSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkEgY2hhbm5lbCBvZiBjb21tdW5pY2F0aW9uIiBkZWZpbml0aW9uPSJBIGNoYW5uZWwgdGhhdCB3YXMgdXNlZCBmb3IgdGhpcyBjb21tdW5pY2F0aW9uIChlLmcuIGVtYWlsLCBmYXgpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJDb21tdW5pY2F0aW9uTWVkaXVtIiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGNvbW11bmljYXRpb24gbWVkaXVtcyBzdWNoIGFzIHBob25lLCBmYXgsIGVtYWlsLCBpbiBwZXJzb24sIGV0Yy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIEZvY3VzIG9mIG1lc3NhZ2UiIGRlZmluaXRpb249IlRoZSBwYXRpZW50IG9yIGdyb3VwIHRoYXQgaXMgdGhlIGZvY3VzIG9mIHRoaXMgY29tbXVuaWNhdGlvbiByZXF1ZXN0LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImFib3V0IiBkZXNjcmlwdGlvbj0iUmVzb3VyY2VzIHRoYXQgcGVydGFpbiB0byB0aGlzIGNvbW11bmljYXRpb24gcmVxdWVzdCIgZGVmaW5pdGlvbj0iT3RoZXIgcmVzb3VyY2VzIHRoYXQgcGVydGFpbiB0byB0aGlzIGNvbW11bmljYXRpb24gcmVxdWVzdCBhbmQgdG8gd2hpY2ggdGhpcyBjb21tdW5pY2F0aW9uIHJlcXVlc3Qgc2hvdWxkIGJlIGFzc29jaWF0ZWQuIiBjb21tZW50PSJEb24ndCB1c2UgQ29tbXVuaWNhdGlvblJlcXVlc3QuYWJvdXQgZWxlbWVudCB3aGVuIGEgbW9yZSBzcGVjaWZpYyBlbGVtZW50IGV4aXN0cywgc3VjaCBhcyBiYXNlZE9uLCByZWFzb25SZWZlcmVuY2UsIG9yIHJlcGxhY2VzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgRW5jb3VudGVyIGNyZWF0ZWQgYXMgcGFydCBvZiIgZGVmaW5pdGlvbj0iVGhlIEVuY291bnRlciBkdXJpbmcgd2hpY2ggdGhpcyBDb21tdW5pY2F0aW9uUmVxdWVzdCB3YXMgY3JlYXRlZCBvciB0byB3aGljaCB0aGUgY3JlYXRpb24gb2YgdGhpcyByZWNvcmQgaXMgdGlnaHRseSBhc3NvY2lhdGVkLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGFjdGl2aXRpZXMgbWF5IGJlIGluaXRpYXRlZCBwcmlvciB0byBvciBhZnRlciB0aGUgb2ZmaWNpYWwgY29tcGxldGlvbiBvZiBhbiBlbmNvdW50ZXIgYnV0IHN0aWxsIGJlIHRpZWQgdG8gdGhlIGNvbnRleHQgb2YgdGhlIGVuY291bnRlci4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXlsb2FkIiBkZXNjcmlwdGlvbj0iTWVzc2FnZSBwYXlsb2FkIiBkZWZpbml0aW9uPSJUZXh0LCBhdHRhY2htZW50KHMpLCBvciByZXNvdXJjZShzKSB0byBiZSBjb21tdW5pY2F0ZWQgdG8gdGhlIHJlY2lwaWVudC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbW11bmljYXRpb25SZXF1ZXN0LlBheWxvYWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ib2NjdXJyZW5jZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaGVuIHNjaGVkdWxlZCIgZGVmaW5pdGlvbj0iVGhlIHRpbWUgd2hlbiB0aGlzIGNvbW11bmljYXRpb24gaXMgdG8gb2NjdXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yZWRPbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIHJlcXVlc3QgdHJhbnNpdGlvbmVkIHRvIGJlaW5nIGFjdGlvbmFibGUiIGRlZmluaXRpb249IkZvciBkcmFmdCByZXF1ZXN0cywgaW5kaWNhdGVzIHRoZSBkYXRlIG9mIGluaXRpYWwgY3JlYXRpb24uICBGb3IgcmVxdWVzdHMgd2l0aCBvdGhlciBzdGF0dXNlcywgaW5kaWNhdGVzIHRoZSBkYXRlIG9mIGFjdGl2YXRpb24uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVxdWVzdGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249Ildoby93aGF0IGlzIHJlcXVlc3Rpbmcgc2VydmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSwgaW5kaXZpZHVhbCwgb3Igb3JnYW5pemF0aW9uIHdobyBpbml0aWF0ZWQgdGhlIHJlcXVlc3QgYW5kIGhhcyByZXNwb25zaWJpbGl0eSBmb3IgaXRzIGFjdGl2YXRpb24uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVjaXBpZW50IiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIE1lc3NhZ2UgcmVjaXBpZW50IiBkZWZpbml0aW9uPSJUaGUgZW50aXR5IChlLmcuIHBlcnNvbiwgb3JnYW5pemF0aW9uLCBjbGluaWNhbCBpbmZvcm1hdGlvbiBzeXN0ZW0sIGRldmljZSwgZ3JvdXAsIG9yIGNhcmUgdGVhbSkgd2hpY2ggaXMgdGhlIGludGVuZGVkIHRhcmdldCBvZiB0aGUgY29tbXVuaWNhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzZW5kZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIE1lc3NhZ2Ugc2VuZGVyIiBkZWZpbml0aW9uPSJUaGUgZW50aXR5IChlLmcuIHBlcnNvbiwgb3JnYW5pemF0aW9uLCBjbGluaWNhbCBpbmZvcm1hdGlvbiBzeXN0ZW0sIG9yIGRldmljZSkgd2hpY2ggaXMgdG8gYmUgdGhlIHNvdXJjZSBvZiB0aGUgY29tbXVuaWNhdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2h5IGlzIGNvbW11bmljYXRpb24gbmVlZGVkPyIgZGVmaW5pdGlvbj0iRGVzY3JpYmVzIHdoeSB0aGUgcmVxdWVzdCBpcyBiZWluZyBtYWRlIGluIGNvZGVkIG9yIHRleHR1YWwgZm9ybS4iIGNvbW1lbnQ9IlRleHR1YWwgcmVhc29ucyBjYW4gYmUgY2FwdHVyZWQgdXNpbmcgcmVhc29uQ29kZS50ZXh0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJDb21tdW5pY2F0aW9uUmVhc29uIiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGRlc2NyaWJpbmcgcmVhc29ucyBmb3IgdGhlIG9jY3VycmVuY2Ugb2YgYSBjb21tdW5pY2F0aW9uLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2h5IGlzIGNvbW11bmljYXRpb24gbmVlZGVkPyIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGFub3RoZXIgcmVzb3VyY2Ugd2hvc2UgZXhpc3RlbmNlIGp1c3RpZmllcyB0aGlzIHJlcXVlc3QuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIG1hZGUgYWJvdXQgY29tbXVuaWNhdGlvbiByZXF1ZXN0IiBkZWZpbml0aW9uPSJDb21tZW50cyBtYWRlIGFib3V0IHRoZSByZXF1ZXN0IGJ5IHRoZSByZXF1ZXN0ZXIsIHNlbmRlciwgcmVjaXBpZW50LCBzdWJqZWN0IG9yIG90aGVyIHBhcnRpY2lwYW50cy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0ic2VuZGVyIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0icmVjaXBpZW50Ii8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0icmVxdWVzdGVyIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InN1YmplY3QiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0ic2VuZGVyIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InJlY2lwaWVudCIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJyZXF1ZXN0ZXIiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJFbmNvdW50ZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJlbmNvdW50ZXIiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJEZXZpY2UiIHJlbGF0ZWRLZXlFbGVtZW50PSJzZW5kZXIiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJEZXZpY2UiIHJlbGF0ZWRLZXlFbGVtZW50PSJyZWNpcGllbnQiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJSZWxhdGVkUGVyc29uIiByZWxhdGVkS2V5RWxlbWVudD0ic2VuZGVyIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUmVsYXRlZFBlcnNvbiIgcmVsYXRlZEtleUVsZW1lbnQ9InJlY2lwaWVudCIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlJlbGF0ZWRQZXJzb24iIHJlbGF0ZWRLZXlFbGVtZW50PSJyZXF1ZXN0ZXIiLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbW11bmljYXRpb25SZXF1ZXN0LlBheWxvYWQiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbnRlbnQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iTWVzc2FnZSBwYXJ0IGNvbnRlbnQiIGRlZmluaXRpb249IlRoZSBjb21tdW5pY2F0ZWQgY29udGVudCAob3IgZm9yIG11bHRpLXBhcnQgY29tbXVuaWNhdGlvbnMsIG9uZSBwb3J0aW9uIG9mIHRoZSBjb21tdW5pY2F0aW9uKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBdHRhY2htZW50Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb21tdW5pY2F0aW9uUmVxdWVzdFN0YXR1cyIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb21tdW5pY2F0aW9uU3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbmRpdGlvbi5FdmlkZW5jZSIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik1hbmlmZXN0YXRpb24vc3ltcHRvbSIgZGVmaW5pdGlvbj0iQSBtYW5pZmVzdGF0aW9uIG9yIHN5bXB0b20gdGhhdCBsZWQgdG8gdGhlIHJlY29yZGluZyBvZiB0aGlzIGNvbmRpdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWFuaWZlc3RhdGlvbk9yU3ltcHRvbSIgZGVzY3JpcHRpb249IkNvZGVzIHRoYXQgZGVzY3JpYmUgdGhlIG1hbmlmZXN0YXRpb24gb3Igc3ltcHRvbXMgb2YgYSBjb25kaXRpb24uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXRhaWwiIGRlc2NyaXB0aW9uPSJTdXBwb3J0aW5nIGluZm9ybWF0aW9uIGZvdW5kIGVsc2V3aGVyZSIgZGVmaW5pdGlvbj0iTGlua3MgdG8gb3RoZXIgcmVsZXZhbnQgaW5mb3JtYXRpb24sIGluY2x1ZGluZyBwYXRob2xvZ3kgcmVwb3J0cy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbmRpdGlvbi5TdGFnZSIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3VtbWFyeSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU2ltcGxlIHN1bW1hcnkgKGRpc2Vhc2Ugc3BlY2lmaWMpIiBkZWZpbml0aW9uPSJBIHNpbXBsZSBzdW1tYXJ5IG9mIHRoZSBzdGFnZSBzdWNoIGFzICZxdW90O1N0YWdlIDMmcXVvdDsuIFRoZSBkZXRlcm1pbmF0aW9uIG9mIHRoZSBzdGFnZSBpcyBkaXNlYXNlLXNwZWNpZmljLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvbmRpdGlvblN0YWdlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBjb25kaXRpb24gc3RhZ2VzIChlLmcuIENhbmNlciBzdGFnZXMpLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYXNzZXNzbWVudCIgZGVzY3JpcHRpb249IkZvcm1hbCByZWNvcmQgb2YgYXNzZXNzbWVudCIgZGVmaW5pdGlvbj0iUmVmZXJlbmNlIHRvIGEgZm9ybWFsIHJlY29yZCBvZiB0aGUgZXZpZGVuY2Ugb24gd2hpY2ggdGhlIHN0YWdpbmcgYXNzZXNzbWVudCBpcyBiYXNlZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJLaW5kIG9mIHN0YWdpbmciIGRlZmluaXRpb249IlRoZSBraW5kIG9mIHN0YWdpbmcsIHN1Y2ggYXMgcGF0aG9sb2dpY2FsIG9yIGNsaW5pY2FsIHN0YWdpbmcuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ29uZGl0aW9uU3RhZ2VUeXBlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyB0aGUga2luZCBvZiBjb25kaXRpb24gc3RhZ2luZyAoZS5nLiBjbGluaWNhbCBvciBwYXRob2xvZ2ljYWwpLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb25kaXRpb25FbmNvdW50ZXJEaWFnbm9zaXMiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWNvbmRpdGlvbi1lbmNvdW50ZXItZGlhZ25vc2lzIiBsYWJlbD0iUUlDb3JlIENvbmRpdGlvbiBFbmNvdW50ZXIgRGlhZ25vc2lzIiB0YXJnZXQ9IkNvbmRpdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY29kZSIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYXNzZXJ0ZWREYXRlIiBlbGVtZW50VHlwZT0iUUlDb3JlLmFzc2VydGVkRGF0ZSIgdGFyZ2V0PSIlcGFyZW50LmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9jb25kaXRpb24tYXNzZXJ0ZWREYXRlJ10udmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoVVNDREkpIERhdGUgdGhlIGNvbmRpdGlvbiB3YXMgZmlyc3QgYXNzZXJ0ZWQiIGRlZmluaXRpb249IlRoZSBkYXRlIG9uIHdoaWNoIHRoZSBleGlzdGVuY2Ugb2YgdGhlIENvbmRpdGlvbiB3YXMgZmlyc3QgYXNzZXJ0ZWQgb3IgYWNrbm93bGVkZ2VkLiIgY29tbWVudD0iVGhlIGFzc2VydGVkRGF0ZSBpcyBpbiB0aGUgY29udGV4dCBvZiB0aGUgcmVjb3JkaW5nIHByYWN0aXRpb25lciBhbmQgbWlnaHQgbm90IGJlIHRoZSBzYW1lIGFzIHRoZSByZWNvcmRlZERhdGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJFeHRlcm5hbCBJZHMgZm9yIHRoaXMgY29uZGl0aW9uIiBkZWZpbml0aW9uPSJCdXNpbmVzcyBpZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIGNvbmRpdGlvbiBieSB0aGUgcGVyZm9ybWVyIG9yIG90aGVyIHN5c3RlbXMgd2hpY2ggcmVtYWluIGNvbnN0YW50IGFzIHRoZSByZXNvdXJjZSBpcyB1cGRhdGVkIGFuZCBwcm9wYWdhdGVzIGZyb20gc2VydmVyIHRvIHNlcnZlci4iIGNvbW1lbnQ9IlRoaXMgaXMgYSBidXNpbmVzcyBpZGVudGlmaWVyLCBub3QgYSByZXNvdXJjZSBpZGVudGlmaWVyIChzZWUgW2Rpc2N1c3Npb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcmVzb3VyY2UuaHRtbCNpZGVudGlmaWVycykpLiAgSXQgaXMgYmVzdCBwcmFjdGljZSBmb3IgdGhlIGlkZW50aWZpZXIgdG8gb25seSBhcHBlYXIgb24gYSBzaW5nbGUgcmVzb3VyY2UgaW5zdGFuY2UsIGhvd2V2ZXIgYnVzaW5lc3MgcHJhY3RpY2VzIG1heSBvY2Nhc2lvbmFsbHkgZGljdGF0ZSB0aGF0IG11bHRpcGxlIHJlc291cmNlIGluc3RhbmNlcyB3aXRoIHRoZSBzYW1lIGlkZW50aWZpZXIgY2FuIGV4aXN0IC0gcG9zc2libHkgZXZlbiB3aXRoIGRpZmZlcmVudCByZXNvdXJjZSB0eXBlcy4gIEZvciBleGFtcGxlLCBtdWx0aXBsZSBQYXRpZW50IGFuZCBhIFBlcnNvbiByZXNvdXJjZSBpbnN0YW5jZSBtaWdodCBzaGFyZSB0aGUgc2FtZSBzb2NpYWwgaW5zdXJhbmNlIG51bWJlci4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2xpbmljYWxTdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgYWN0aXZlIHwgcmVjdXJyZW5jZSB8IHJlbGFwc2UgfCBpbmFjdGl2ZSB8IHJlbWlzc2lvbiB8IHJlc29sdmVkIiBkZWZpbml0aW9uPSJUaGUgY2xpbmljYWwgc3RhdHVzIG9mIHRoZSBjb25kaXRpb24uIiBjb21tZW50PSJUaGUgZGF0YSB0eXBlIGlzIENvZGVhYmxlQ29uY2VwdCBiZWNhdXNlIGNsaW5pY2FsU3RhdHVzIGhhcyBzb21lIGNsaW5pY2FsIGp1ZGdtZW50IGludm9sdmVkLCBzdWNoIHRoYXQgdGhlcmUgbWlnaHQgbmVlZCB0byBiZSBtb3JlIHNwZWNpZmljaXR5IHRoYW4gdGhlIHJlcXVpcmVkIEZISVIgdmFsdWUgc2V0IGFsbG93cy4gRm9yIGV4YW1wbGUsIGEgU05PTUVEIGNvZGluZyBtaWdodCBhbGxvdyBmb3IgYWRkaXRpb25hbCBzcGVjaWZpY2l0eS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InZlcmlmaWNhdGlvblN0YXR1cyIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSB1bmNvbmZpcm1lZCB8IHByb3Zpc2lvbmFsIHwgZGlmZmVyZW50aWFsIHwgY29uZmlybWVkIHwgcmVmdXRlZCB8IGVudGVyZWQtaW4tZXJyb3IiIGRlZmluaXRpb249IlRoZSB2ZXJpZmljYXRpb24gc3RhdHVzIHRvIHN1cHBvcnQgdGhlIGNsaW5pY2FsIHN0YXR1cyBvZiB0aGUgY29uZGl0aW9uLiIgY29tbWVudD0idmVyaWZpY2F0aW9uU3RhdHVzIGlzIG5vdCByZXF1aXJlZC4gIEZvciBleGFtcGxlLCB3aGVuIGEgcGF0aWVudCBoYXMgYWJkb21pbmFsIHBhaW4gaW4gdGhlIEVELCB0aGVyZSBpcyBub3QgbGlrZWx5IGdvaW5nIHRvIGJlIGEgdmVyaWZpY2F0aW9uIHN0YXR1cy4mIzEwO1RoZSBkYXRhIHR5cGUgaXMgQ29kZWFibGVDb25jZXB0IGJlY2F1c2UgdmVyaWZpY2F0aW9uU3RhdHVzIGhhcyBzb21lIGNsaW5pY2FsIGp1ZGdtZW50IGludm9sdmVkLCBzdWNoIHRoYXQgdGhlcmUgbWlnaHQgbmVlZCB0byBiZSBtb3JlIHNwZWNpZmljaXR5IHRoYW4gdGhlIHJlcXVpcmVkIEZISVIgdmFsdWUgc2V0IGFsbG93cy4gRm9yIGV4YW1wbGUsIGEgU05PTUVEIGNvZGluZyBtaWdodCBhbGxvdyBmb3IgYWRkaXRpb25hbCBzcGVjaWZpY2l0eS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBjYXRlZ29yeSBjb2RlcyIgZGVmaW5pdGlvbj0iQSBjYXRlZ29yeSBhc3NpZ25lZCB0byB0aGUgY29uZGl0aW9uLiIgY29tbWVudD0iVGhlIGNhdGVnb3JpemF0aW9uIGlzIG9mdGVuIGhpZ2hseSBjb250ZXh0dWFsIGFuZCBtYXkgYXBwZWFyIHBvb3JseSBkaWZmZXJlbnRpYXRlZCBvciBub3QgdmVyeSB1c2VmdWwgaW4gb3RoZXIgY29udGV4dHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJDb25kaXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkEgY2F0ZWdvcnkgYXNzaWduZWQgdG8gdGhlIGNvbmRpdGlvbi4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InVzLWNvcmUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgZW5jb3VudGVyLWRpYWdub3NpcyIgZGVmaW5pdGlvbj0iQSBjYXRlZ29yeSBhc3NpZ25lZCB0byB0aGUgY29uZGl0aW9uLiIgY29tbWVudD0iVGhlIGNhdGVnb3JpemF0aW9uIGlzIG9mdGVuIGhpZ2hseSBjb250ZXh0dWFsIGFuZCBtYXkgYXBwZWFyIHBvb3JseSBkaWZmZXJlbnRpYXRlZCBvciBub3QgdmVyeSB1c2VmdWwgaW4gb3RoZXIgY29udGV4dHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvbmRpdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQSBjYXRlZ29yeSBhc3NpZ25lZCB0byB0aGUgY29uZGl0aW9uLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic2V2ZXJpdHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlN1YmplY3RpdmUgc2V2ZXJpdHkgb2YgY29uZGl0aW9uIiBkZWZpbml0aW9uPSJBIHN1YmplY3RpdmUgYXNzZXNzbWVudCBvZiB0aGUgc2V2ZXJpdHkgb2YgdGhlIGNvbmRpdGlvbiBhcyBldmFsdWF0ZWQgYnkgdGhlIGNsaW5pY2lhbi4iIGNvbW1lbnQ9IkNvZGluZyBvZiB0aGUgc2V2ZXJpdHkgd2l0aCBhIHRlcm1pbm9sb2d5IGlzIHByZWZlcnJlZCwgd2hlcmUgcG9zc2libGUuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ29uZGl0aW9uU2V2ZXJpdHkiIGRlc2NyaXB0aW9uPSJBIHN1YmplY3RpdmUgYXNzZXNzbWVudCBvZiB0aGUgc2V2ZXJpdHkgb2YgdGhlIGNvbmRpdGlvbiBhcyBldmFsdWF0ZWQgYnkgdGhlIGNsaW5pY2lhbi4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBJZGVudGlmaWNhdGlvbiBvZiB0aGUgY29uZGl0aW9uLCBwcm9ibGVtIG9yIGRpYWdub3NpcyIgZGVmaW5pdGlvbj0iSWRlbnRpZmljYXRpb24gb2YgdGhlIGNvbmRpdGlvbiwgcHJvYmxlbSBvciBkaWFnbm9zaXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJWYWx1ZXNldCB0byBkZXNjcmliZSB0aGUgYWN0dWFsIHByb2JsZW0gZXhwZXJpZW5jZWQgYnkgdGhlIHBhdGllbnQiIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQW5hdG9taWNhbCBsb2NhdGlvbiwgaWYgcmVsZXZhbnQiIGRlZmluaXRpb249IlRoZSBhbmF0b21pY2FsIGxvY2F0aW9uIHdoZXJlIHRoaXMgY29uZGl0aW9uIG1hbmlmZXN0cyBpdHNlbGYuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gQ29uZGl0aW9uLmNvZGUuIElmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBhdHRyaWJ1dGVzIGZyb20gdGhlIEJvZHlTaXRlIHJlc291cmNlIChlLmcuIHRvIGlkZW50aWZ5IGFuZCB0cmFjayBzZXBhcmF0ZWx5KSB0aGVuIHVzZSB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtib2R5U2l0ZV0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9leHRlbnNpb24tYm9keXNpdGUuaHRtbCkuICBNYXkgYmUgYSBzdW1tYXJ5IGNvZGUsIG9yIGEgcmVmZXJlbmNlIHRvIGEgdmVyeSBwcmVjaXNlIGRlZmluaXRpb24gb2YgdGhlIGxvY2F0aW9uLCBvciBib3RoLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgV2hvIGhhcyB0aGUgY29uZGl0aW9uPyIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBwYXRpZW50IG9yIGdyb3VwIHdobyB0aGUgY29uZGl0aW9uIHJlY29yZCBpcyBhc3NvY2lhdGVkIHdpdGguIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIEVuY291bnRlciBjcmVhdGVkIGFzIHBhcnQgb2YiIGRlZmluaXRpb249IlRoZSBFbmNvdW50ZXIgZHVyaW5nIHdoaWNoIHRoaXMgQ29uZGl0aW9uIHdhcyBjcmVhdGVkIG9yIHRvIHdoaWNoIHRoZSBjcmVhdGlvbiBvZiB0aGlzIHJlY29yZCBpcyB0aWdodGx5IGFzc29jaWF0ZWQuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgYWN0aXZpdGllcyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyLiBUaGlzIHJlY29yZCBpbmRpY2F0ZXMgdGhlIGVuY291bnRlciB0aGlzIHBhcnRpY3VsYXIgcmVjb3JkIGlzIGFzc29jaWF0ZWQgd2l0aC4gIEluIHRoZSBjYXNlIG9mIGEgJnF1b3Q7bmV3JnF1b3Q7IGRpYWdub3NpcyByZWZsZWN0aW5nIG9uZ29pbmcvcmV2aXNlZCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY29uZGl0aW9uLCB0aGlzIG1pZ2h0IGJlIGRpc3RpbmN0IGZyb20gdGhlIGZpcnN0IGVuY291bnRlciBpbiB3aGljaCB0aGUgdW5kZXJseWluZyBjb25kaXRpb24gd2FzIGZpcnN0ICZxdW90O2tub3duJnF1b3Q7LiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJvbnNldCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIEVzdGltYXRlZCBvciBhY3R1YWwgZGF0ZSwgZGF0ZS10aW1lLCBvciBhZ2UiIGRlZmluaXRpb249IkVzdGltYXRlZCBvciBhY3R1YWwgZGF0ZSBvciBkYXRlLXRpbWUgIHRoZSBjb25kaXRpb24gYmVnYW4sIGluIHRoZSBvcGluaW9uIG9mIHRoZSBjbGluaWNpYW4uIiBjb21tZW50PSJBZ2UgaXMgZ2VuZXJhbGx5IHVzZWQgd2hlbiB0aGUgcGF0aWVudCByZXBvcnRzIGFuIGFnZSBhdCB3aGljaCB0aGUgQ29uZGl0aW9uIGJlZ2FuIHRvIG9jY3VyLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhYmF0ZW1lbnQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBXaGVuIGluIHJlc29sdXRpb24vcmVtaXNzaW9uIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBvciBlc3RpbWF0ZWQgZGF0ZSB0aGF0IHRoZSBjb25kaXRpb24gcmVzb2x2ZWQgb3Igd2VudCBpbnRvIHJlbWlzc2lvbi4gVGhpcyBpcyBjYWxsZWQgJnF1b3Q7YWJhdGVtZW50JnF1b3Q7IGJlY2F1c2Ugb2YgdGhlIG1hbnkgb3ZlcmxvYWRlZCBjb25ub3RhdGlvbnMgYXNzb2NpYXRlZCB3aXRoICZxdW90O3JlbWlzc2lvbiZxdW90OyBvciAmcXVvdDtyZXNvbHV0aW9uJnF1b3Q7IC0gQ29uZGl0aW9ucyBhcmUgbmV2ZXIgcmVhbGx5IHJlc29sdmVkLCBidXQgdGhleSBjYW4gYWJhdGUuIiBjb21tZW50PSJUaGVyZSBpcyBubyBleHBsaWNpdCBkaXN0aW5jdGlvbiBiZXR3ZWVuIHJlc29sdXRpb24gYW5kIHJlbWlzc2lvbiBiZWNhdXNlIGluIG1hbnkgY2FzZXMgdGhlIGRpc3RpbmN0aW9uIGlzIG5vdCBjbGVhci4gQWdlIGlzIGdlbmVyYWxseSB1c2VkIHdoZW4gdGhlIHBhdGllbnQgcmVwb3J0cyBhbiBhZ2UgYXQgd2hpY2ggdGhlIENvbmRpdGlvbiBhYmF0ZWQuICBJZiB0aGVyZSBpcyBubyBhYmF0ZW1lbnQgZWxlbWVudCwgaXQgaXMgdW5rbm93biB3aGV0aGVyIHRoZSBjb25kaXRpb24gaGFzIHJlc29sdmVkIG9yIGVudGVyZWQgcmVtaXNzaW9uOyBhcHBsaWNhdGlvbnMgYW5kIHVzZXJzIHNob3VsZCBnZW5lcmFsbHkgYXNzdW1lIHRoYXQgdGhlIGNvbmRpdGlvbiBpcyBzdGlsbCB2YWxpZC4gIFdoZW4gYWJhdGVtZW50U3RyaW5nIGV4aXN0cywgaXQgaW1wbGllcyB0aGUgY29uZGl0aW9uIGlzIGFiYXRlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVjb3JkZWREYXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihVU0NESSkgRGF0ZSByZWNvcmQgd2FzIGZpcnN0IHJlY29yZGVkIiBkZWZpbml0aW9uPSJUaGUgcmVjb3JkZWREYXRlIHJlcHJlc2VudHMgd2hlbiB0aGlzIHBhcnRpY3VsYXIgQ29uZGl0aW9uIHJlY29yZCB3YXMgY3JlYXRlZCBpbiB0aGUgc3lzdGVtLCB3aGljaCBpcyBvZnRlbiBhIHN5c3RlbS1nZW5lcmF0ZWQgZGF0ZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVjb3JkZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIHJlY29yZGVkIHRoZSBjb25kaXRpb24iIGRlZmluaXRpb249IkluZGl2aWR1YWwgd2hvIHJlY29yZGVkIHRoZSByZWNvcmQgYW5kIHRha2VzIHJlc3BvbnNpYmlsaXR5IGZvciBpdHMgY29udGVudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhc3NlcnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJQZXJzb24gd2hvIGFzc2VydHMgdGhpcyBjb25kaXRpb24iIGRlZmluaXRpb249IkluZGl2aWR1YWwgd2hvIGlzIG1ha2luZyB0aGUgY29uZGl0aW9uIHN0YXRlbWVudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGFnZSIgZGVzY3JpcHRpb249IlN0YWdlL2dyYWRlLCB1c3VhbGx5IGFzc2Vzc2VkIGZvcm1hbGx5IiBkZWZpbml0aW9uPSJDbGluaWNhbCBzdGFnZSBvciBncmFkZSBvZiBhIGNvbmRpdGlvbi4gTWF5IGluY2x1ZGUgZm9ybWFsIHNldmVyaXR5IGFzc2Vzc21lbnRzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ29uZGl0aW9uLlN0YWdlIi8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9ImNvbi0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IlN0YWdlIFNIQUxMIGhhdmUgc3VtbWFyeSBvciBhc3Nlc3NtZW50Ij4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJzdW1tYXJ5LmV4aXN0cygpIG9yIGFzc2Vzc21lbnQuZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJldmlkZW5jZSIgZGVzY3JpcHRpb249IlN1cHBvcnRpbmcgZXZpZGVuY2UiIGRlZmluaXRpb249IlN1cHBvcnRpbmcgZXZpZGVuY2UgLyBtYW5pZmVzdGF0aW9ucyB0aGF0IGFyZSB0aGUgYmFzaXMgb2YgdGhlIENvbmRpdGlvbidzIHZlcmlmaWNhdGlvbiBzdGF0dXMsIHN1Y2ggYXMgZXZpZGVuY2UgdGhhdCBjb25maXJtZWQgb3IgcmVmdXRlZCB0aGUgY29uZGl0aW9uLiIgY29tbWVudD0iVGhlIGV2aWRlbmNlIG1heSBiZSBhIHNpbXBsZSBsaXN0IG9mIGNvZGVkIHN5bXB0b21zL21hbmlmZXN0YXRpb25zLCBvciByZWZlcmVuY2VzIHRvIG9ic2VydmF0aW9ucyBvciBmb3JtYWwgYXNzZXNzbWVudHMsIG9yIGJvdGguIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Db25kaXRpb24uRXZpZGVuY2UiLz4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0iY29uLTIiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iZXZpZGVuY2UgU0hBTEwgaGF2ZSBjb2RlIG9yIGRldGFpbHMiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249ImNvZGUuZXhpc3RzKCkgb3IgZGV0YWlsLmV4aXN0cygpIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIENvbmRpdGlvbiIgZGVmaW5pdGlvbj0iQWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgQ29uZGl0aW9uLiBUaGlzIGlzIGEgZ2VuZXJhbCBub3Rlcy9jb21tZW50cyBlbnRyeSAgZm9yIGRlc2NyaXB0aW9uIG9mIHRoZSBDb25kaXRpb24sIGl0cyBkaWFnbm9zaXMgYW5kIHByb2dub3Npcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb25kaXRpb25Qcm9ibGVtc0hlYWx0aENvbmNlcm5zIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1jb25kaXRpb24tcHJvYmxlbXMtaGVhbHRoLWNvbmNlcm5zIiBsYWJlbD0iUUlDb3JlIENvbmRpdGlvbiBQcm9ibGVtcyBIZWFsdGggQ29uY2VybnMiIHRhcmdldD0iQ29uZGl0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhc3NlcnRlZERhdGUiIGVsZW1lbnRUeXBlPSJRSUNvcmUuYXNzZXJ0ZWREYXRlIiB0YXJnZXQ9IiVwYXJlbnQuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL2NvbmRpdGlvbi1hc3NlcnRlZERhdGUnXS52YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihVU0NESSkgRGF0ZSB0aGUgY29uZGl0aW9uIHdhcyBmaXJzdCBhc3NlcnRlZCIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgb24gd2hpY2ggdGhlIGV4aXN0ZW5jZSBvZiB0aGUgQ29uZGl0aW9uIHdhcyBmaXJzdCBhc3NlcnRlZCBvciBhY2tub3dsZWRnZWQuIiBjb21tZW50PSJUaGUgYXNzZXJ0ZWREYXRlIGlzIGluIHRoZSBjb250ZXh0IG9mIHRoZSByZWNvcmRpbmcgcHJhY3RpdGlvbmVyIGFuZCBtaWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIHJlY29yZGVkRGF0ZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkV4dGVybmFsIElkcyBmb3IgdGhpcyBjb25kaXRpb24iIGRlZmluaXRpb249IkJ1c2luZXNzIGlkZW50aWZpZXJzIGFzc2lnbmVkIHRvIHRoaXMgY29uZGl0aW9uIGJ5IHRoZSBwZXJmb3JtZXIgb3Igb3RoZXIgc3lzdGVtcyB3aGljaCByZW1haW4gY29uc3RhbnQgYXMgdGhlIHJlc291cmNlIGlzIHVwZGF0ZWQgYW5kIHByb3BhZ2F0ZXMgZnJvbSBzZXJ2ZXIgdG8gc2VydmVyLiIgY29tbWVudD0iVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIgKHNlZSBbZGlzY3Vzc2lvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS5odG1sI2lkZW50aWZpZXJzKSkuICBJdCBpcyBiZXN0IHByYWN0aWNlIGZvciB0aGUgaWRlbnRpZmllciB0byBvbmx5IGFwcGVhciBvbiBhIHNpbmdsZSByZXNvdXJjZSBpbnN0YW5jZSwgaG93ZXZlciBidXNpbmVzcyBwcmFjdGljZXMgbWF5IG9jY2FzaW9uYWxseSBkaWN0YXRlIHRoYXQgbXVsdGlwbGUgcmVzb3VyY2UgaW5zdGFuY2VzIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllciBjYW4gZXhpc3QgLSBwb3NzaWJseSBldmVuIHdpdGggZGlmZmVyZW50IHJlc291cmNlIHR5cGVzLiAgRm9yIGV4YW1wbGUsIG11bHRpcGxlIFBhdGllbnQgYW5kIGEgUGVyc29uIHJlc291cmNlIGluc3RhbmNlIG1pZ2h0IHNoYXJlIHRoZSBzYW1lIHNvY2lhbCBpbnN1cmFuY2UgbnVtYmVyLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjbGluaWNhbFN0YXR1cyIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBhY3RpdmUgfCByZWN1cnJlbmNlIHwgcmVsYXBzZSB8IGluYWN0aXZlIHwgcmVtaXNzaW9uIHwgcmVzb2x2ZWQiIGRlZmluaXRpb249IlRoZSBjbGluaWNhbCBzdGF0dXMgb2YgdGhlIGNvbmRpdGlvbi4iIGNvbW1lbnQ9IlRoZSBkYXRhIHR5cGUgaXMgQ29kZWFibGVDb25jZXB0IGJlY2F1c2UgY2xpbmljYWxTdGF0dXMgaGFzIHNvbWUgY2xpbmljYWwganVkZ21lbnQgaW52b2x2ZWQsIHN1Y2ggdGhhdCB0aGVyZSBtaWdodCBuZWVkIHRvIGJlIG1vcmUgc3BlY2lmaWNpdHkgdGhhbiB0aGUgcmVxdWlyZWQgRkhJUiB2YWx1ZSBzZXQgYWxsb3dzLiBGb3IgZXhhbXBsZSwgYSBTTk9NRUQgY29kaW5nIG1pZ2h0IGFsbG93IGZvciBhZGRpdGlvbmFsIHNwZWNpZmljaXR5LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idmVyaWZpY2F0aW9uU3RhdHVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIHVuY29uZmlybWVkIHwgcHJvdmlzaW9uYWwgfCBkaWZmZXJlbnRpYWwgfCBjb25maXJtZWQgfCByZWZ1dGVkIHwgZW50ZXJlZC1pbi1lcnJvciIgZGVmaW5pdGlvbj0iVGhlIHZlcmlmaWNhdGlvbiBzdGF0dXMgdG8gc3VwcG9ydCB0aGUgY2xpbmljYWwgc3RhdHVzIG9mIHRoZSBjb25kaXRpb24uIiBjb21tZW50PSJ2ZXJpZmljYXRpb25TdGF0dXMgaXMgbm90IHJlcXVpcmVkLiAgRm9yIGV4YW1wbGUsIHdoZW4gYSBwYXRpZW50IGhhcyBhYmRvbWluYWwgcGFpbiBpbiB0aGUgRUQsIHRoZXJlIGlzIG5vdCBsaWtlbHkgZ29pbmcgdG8gYmUgYSB2ZXJpZmljYXRpb24gc3RhdHVzLiYjMTA7VGhlIGRhdGEgdHlwZSBpcyBDb2RlYWJsZUNvbmNlcHQgYmVjYXVzZSB2ZXJpZmljYXRpb25TdGF0dXMgaGFzIHNvbWUgY2xpbmljYWwganVkZ21lbnQgaW52b2x2ZWQsIHN1Y2ggdGhhdCB0aGVyZSBtaWdodCBuZWVkIHRvIGJlIG1vcmUgc3BlY2lmaWNpdHkgdGhhbiB0aGUgcmVxdWlyZWQgRkhJUiB2YWx1ZSBzZXQgYWxsb3dzLiBGb3IgZXhhbXBsZSwgYSBTTk9NRUQgY29kaW5nIG1pZ2h0IGFsbG93IGZvciBhZGRpdGlvbmFsIHNwZWNpZmljaXR5LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIGNhdGVnb3J5IGNvZGVzIiBkZWZpbml0aW9uPSJBIGNhdGVnb3J5IGFzc2lnbmVkIHRvIHRoZSBjb25kaXRpb24uIiBjb21tZW50PSJUaGUgY2F0ZWdvcml6YXRpb24gaXMgb2Z0ZW4gaGlnaGx5IGNvbnRleHR1YWwgYW5kIG1heSBhcHBlYXIgcG9vcmx5IGRpZmZlcmVudGlhdGVkIG9yIG5vdCB2ZXJ5IHVzZWZ1bCBpbiBvdGhlciBjb250ZXh0cy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvbmRpdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQSBjYXRlZ29yeSBhc3NpZ25lZCB0byB0aGUgY29uZGl0aW9uLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idXMtY29yZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgcHJvYmxlbS1saXN0LWl0ZW0gfCBoZWFsdGgtY29uY2VybiIgZGVmaW5pdGlvbj0iQSBjYXRlZ29yeSBhc3NpZ25lZCB0byB0aGUgY29uZGl0aW9uLiIgY29tbWVudD0iVGhlIGNhdGVnb3JpemF0aW9uIGlzIG9mdGVuIGhpZ2hseSBjb250ZXh0dWFsIGFuZCBtYXkgYXBwZWFyIHBvb3JseSBkaWZmZXJlbnRpYXRlZCBvciBub3QgdmVyeSB1c2VmdWwgaW4gb3RoZXIgY29udGV4dHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iTm90ZSB0aGF0IG90aGVyIGNvZGVzIGFyZSBwZXJtaXR0ZWQsIHNlZSBbUmVxdWlyZWQgQmluZGluZ3MgV2hlbiBTbGljaW5nIGJ5IFZhbHVlIFNldHNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9nZW5lcmFsLXJlcXVpcmVtZW50cy5odG1sI3JlcXVpcmVkLWJpbmRpbmdzLXdoZW4tc2xpY2luZy1ieS12YWx1ZXNldHMpIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic2NyZWVuaW5nLWFzc2Vzc21lbnQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFVTQ0RJIEhlYWx0aCBTdGF0dXMvQXNzZXNzbWVudHMgRGF0YSBDbGFzcyIgZGVmaW5pdGlvbj0iQ2F0ZWdvcmllcyB0aGF0IGEgcHJvdmlkZXIgbWF5IHVzZSBpbiB0aGVpciB3b3JrZmxvdyB0byBjbGFzc2lmeSB0aGF0IHRoaXMgQ29uZGl0aW9uIGlzIHJlbGF0ZWQgdG8gYSBVU0NESSBIZWFsdGggU3RhdHVzL0Fzc2Vzc21lbnRzIERhdGEgQ2xhc3MuIiBjb21tZW50PSJUaGUgY2F0ZWdvcml6YXRpb24gaXMgb2Z0ZW4gaGlnaGx5IGNvbnRleHR1YWwgYW5kIG1heSBhcHBlYXIgcG9vcmx5IGRpZmZlcmVudGlhdGVkIG9yIG5vdCB2ZXJ5IHVzZWZ1bCBpbiBvdGhlciBjb250ZXh0cy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJOb3RlIHRoYXQgb3RoZXIgY29kZXMgYXJlIHBlcm1pdHRlZCwgc2VlIFtSZXF1aXJlZCBCaW5kaW5ncyBXaGVuIFNsaWNpbmcgYnkgVmFsdWUgU2V0c10oaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL2dlbmVyYWwtcmVxdWlyZW1lbnRzLmh0bWwjcmVxdWlyZWQtYmluZGluZ3Mtd2hlbi1zbGljaW5nLWJ5LXZhbHVlc2V0cykiIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzZXZlcml0eSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU3ViamVjdGl2ZSBzZXZlcml0eSBvZiBjb25kaXRpb24iIGRlZmluaXRpb249IkEgc3ViamVjdGl2ZSBhc3Nlc3NtZW50IG9mIHRoZSBzZXZlcml0eSBvZiB0aGUgY29uZGl0aW9uIGFzIGV2YWx1YXRlZCBieSB0aGUgY2xpbmljaWFuLiIgY29tbWVudD0iQ29kaW5nIG9mIHRoZSBzZXZlcml0eSB3aXRoIGEgdGVybWlub2xvZ3kgaXMgcHJlZmVycmVkLCB3aGVyZSBwb3NzaWJsZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJDb25kaXRpb25TZXZlcml0eSIgZGVzY3JpcHRpb249IkEgc3ViamVjdGl2ZSBhc3Nlc3NtZW50IG9mIHRoZSBzZXZlcml0eSBvZiB0aGUgY29uZGl0aW9uIGFzIGV2YWx1YXRlZCBieSB0aGUgY2xpbmljaWFuLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIElkZW50aWZpY2F0aW9uIG9mIHRoZSBjb25kaXRpb24sIHByb2JsZW0gb3IgZGlhZ25vc2lzIiBkZWZpbml0aW9uPSJJZGVudGlmaWNhdGlvbiBvZiB0aGUgY29uZGl0aW9uLCBwcm9ibGVtIG9yIGRpYWdub3Npcy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlZhbHVlc2V0IHRvIGRlc2NyaWJlIHRoZSBhY3R1YWwgcHJvYmxlbSBleHBlcmllbmNlZCBieSB0aGUgcGF0aWVudCIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBbmF0b21pY2FsIGxvY2F0aW9uLCBpZiByZWxldmFudCIgZGVmaW5pdGlvbj0iVGhlIGFuYXRvbWljYWwgbG9jYXRpb24gd2hlcmUgdGhpcyBjb25kaXRpb24gbWFuaWZlc3RzIGl0c2VsZi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBDb25kaXRpb24uY29kZS4gSWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIGF0dHJpYnV0ZXMgZnJvbSB0aGUgQm9keVNpdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb24gW2JvZHlTaXRlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4gIE1heSBiZSBhIHN1bW1hcnkgY29kZSwgb3IgYSByZWZlcmVuY2UgdG8gYSB2ZXJ5IHByZWNpc2UgZGVmaW5pdGlvbiBvZiB0aGUgbG9jYXRpb24sIG9yIGJvdGguIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBXaG8gaGFzIHRoZSBjb25kaXRpb24/IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHBhdGllbnQgb3IgZ3JvdXAgd2hvIHRoZSBjb25kaXRpb24gcmVjb3JkIGlzIGFzc29jaWF0ZWQgd2l0aC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkVuY291bnRlciBjcmVhdGVkIGFzIHBhcnQgb2YiIGRlZmluaXRpb249IlRoZSBFbmNvdW50ZXIgZHVyaW5nIHdoaWNoIHRoaXMgQ29uZGl0aW9uIHdhcyBjcmVhdGVkIG9yIHRvIHdoaWNoIHRoZSBjcmVhdGlvbiBvZiB0aGlzIHJlY29yZCBpcyB0aWdodGx5IGFzc29jaWF0ZWQuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgYWN0aXZpdGllcyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyLiBUaGlzIHJlY29yZCBpbmRpY2F0ZXMgdGhlIGVuY291bnRlciB0aGlzIHBhcnRpY3VsYXIgcmVjb3JkIGlzIGFzc29jaWF0ZWQgd2l0aC4gIEluIHRoZSBjYXNlIG9mIGEgJnF1b3Q7bmV3JnF1b3Q7IGRpYWdub3NpcyByZWZsZWN0aW5nIG9uZ29pbmcvcmV2aXNlZCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY29uZGl0aW9uLCB0aGlzIG1pZ2h0IGJlIGRpc3RpbmN0IGZyb20gdGhlIGZpcnN0IGVuY291bnRlciBpbiB3aGljaCB0aGUgdW5kZXJseWluZyBjb25kaXRpb24gd2FzIGZpcnN0ICZxdW90O2tub3duJnF1b3Q7LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im9uc2V0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgRXN0aW1hdGVkIG9yIGFjdHVhbCBkYXRlLCBkYXRlLXRpbWUsIG9yIGFnZSIgZGVmaW5pdGlvbj0iRXN0aW1hdGVkIG9yIGFjdHVhbCBkYXRlIG9yIGRhdGUtdGltZSAgdGhlIGNvbmRpdGlvbiBiZWdhbiwgaW4gdGhlIG9waW5pb24gb2YgdGhlIGNsaW5pY2lhbi4iIGNvbW1lbnQ9IkFnZSBpcyBnZW5lcmFsbHkgdXNlZCB3aGVuIHRoZSBwYXRpZW50IHJlcG9ydHMgYW4gYWdlIGF0IHdoaWNoIHRoZSBDb25kaXRpb24gYmVnYW4gdG8gb2NjdXIuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImFiYXRlbWVudCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFdoZW4gaW4gcmVzb2x1dGlvbi9yZW1pc3Npb24iIGRlZmluaXRpb249IlRoZSBkYXRlIG9yIGVzdGltYXRlZCBkYXRlIHRoYXQgdGhlIGNvbmRpdGlvbiByZXNvbHZlZCBvciB3ZW50IGludG8gcmVtaXNzaW9uLiBUaGlzIGlzIGNhbGxlZCAmcXVvdDthYmF0ZW1lbnQmcXVvdDsgYmVjYXVzZSBvZiB0aGUgbWFueSBvdmVybG9hZGVkIGNvbm5vdGF0aW9ucyBhc3NvY2lhdGVkIHdpdGggJnF1b3Q7cmVtaXNzaW9uJnF1b3Q7IG9yICZxdW90O3Jlc29sdXRpb24mcXVvdDsgLSBDb25kaXRpb25zIGFyZSBuZXZlciByZWFsbHkgcmVzb2x2ZWQsIGJ1dCB0aGV5IGNhbiBhYmF0ZS4iIGNvbW1lbnQ9IlRoZXJlIGlzIG5vIGV4cGxpY2l0IGRpc3RpbmN0aW9uIGJldHdlZW4gcmVzb2x1dGlvbiBhbmQgcmVtaXNzaW9uIGJlY2F1c2UgaW4gbWFueSBjYXNlcyB0aGUgZGlzdGluY3Rpb24gaXMgbm90IGNsZWFyLiBBZ2UgaXMgZ2VuZXJhbGx5IHVzZWQgd2hlbiB0aGUgcGF0aWVudCByZXBvcnRzIGFuIGFnZSBhdCB3aGljaCB0aGUgQ29uZGl0aW9uIGFiYXRlZC4gIElmIHRoZXJlIGlzIG5vIGFiYXRlbWVudCBlbGVtZW50LCBpdCBpcyB1bmtub3duIHdoZXRoZXIgdGhlIGNvbmRpdGlvbiBoYXMgcmVzb2x2ZWQgb3IgZW50ZXJlZCByZW1pc3Npb247IGFwcGxpY2F0aW9ucyBhbmQgdXNlcnMgc2hvdWxkIGdlbmVyYWxseSBhc3N1bWUgdGhhdCB0aGUgY29uZGl0aW9uIGlzIHN0aWxsIHZhbGlkLiAgV2hlbiBhYmF0ZW1lbnRTdHJpbmcgZXhpc3RzLCBpdCBpbXBsaWVzIHRoZSBjb25kaXRpb24gaXMgYWJhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvcmRlZERhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBEYXRlIHJlY29yZCB3YXMgZmlyc3QgcmVjb3JkZWQiIGRlZmluaXRpb249IlRoZSByZWNvcmRlZERhdGUgcmVwcmVzZW50cyB3aGVuIHRoaXMgcGFydGljdWxhciBDb25kaXRpb24gcmVjb3JkIHdhcyBjcmVhdGVkIGluIHRoZSBzeXN0ZW0sIHdoaWNoIGlzIG9mdGVuIGEgc3lzdGVtLWdlbmVyYXRlZCBkYXRlLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvcmRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaG8gcmVjb3JkZWQgdGhlIGNvbmRpdGlvbiIgZGVmaW5pdGlvbj0iSW5kaXZpZHVhbCB3aG8gcmVjb3JkZWQgdGhlIHJlY29yZCBhbmQgdGFrZXMgcmVzcG9uc2liaWxpdHkgZm9yIGl0cyBjb250ZW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImFzc2VydGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlBlcnNvbiB3aG8gYXNzZXJ0cyB0aGlzIGNvbmRpdGlvbiIgZGVmaW5pdGlvbj0iSW5kaXZpZHVhbCB3aG8gaXMgbWFraW5nIHRoZSBjb25kaXRpb24gc3RhdGVtZW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YWdlIiBkZXNjcmlwdGlvbj0iU3RhZ2UvZ3JhZGUsIHVzdWFsbHkgYXNzZXNzZWQgZm9ybWFsbHkiIGRlZmluaXRpb249IkNsaW5pY2FsIHN0YWdlIG9yIGdyYWRlIG9mIGEgY29uZGl0aW9uLiBNYXkgaW5jbHVkZSBmb3JtYWwgc2V2ZXJpdHkgYXNzZXNzbWVudHMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Db25kaXRpb24uU3RhZ2UiLz4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0iY29uLTEiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iU3RhZ2UgU0hBTEwgaGF2ZSBzdW1tYXJ5IG9yIGFzc2Vzc21lbnQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InN1bW1hcnkuZXhpc3RzKCkgb3IgYXNzZXNzbWVudC5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImV2aWRlbmNlIiBkZXNjcmlwdGlvbj0iU3VwcG9ydGluZyBldmlkZW5jZSIgZGVmaW5pdGlvbj0iU3VwcG9ydGluZyBldmlkZW5jZSAvIG1hbmlmZXN0YXRpb25zIHRoYXQgYXJlIHRoZSBiYXNpcyBvZiB0aGUgQ29uZGl0aW9uJ3MgdmVyaWZpY2F0aW9uIHN0YXR1cywgc3VjaCBhcyBldmlkZW5jZSB0aGF0IGNvbmZpcm1lZCBvciByZWZ1dGVkIHRoZSBjb25kaXRpb24uIiBjb21tZW50PSJUaGUgZXZpZGVuY2UgbWF5IGJlIGEgc2ltcGxlIGxpc3Qgb2YgY29kZWQgc3ltcHRvbXMvbWFuaWZlc3RhdGlvbnMsIG9yIHJlZmVyZW5jZXMgdG8gb2JzZXJ2YXRpb25zIG9yIGZvcm1hbCBhc3Nlc3NtZW50cywgb3IgYm90aC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbmRpdGlvbi5FdmlkZW5jZSIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJjb24tMiIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJldmlkZW5jZSBTSEFMTCBoYXZlIGNvZGUgb3IgZGV0YWlscyI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iY29kZS5leGlzdHMoKSBvciBkZXRhaWwuZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgQ29uZGl0aW9uIiBkZWZpbml0aW9uPSJBZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBDb25kaXRpb24uIFRoaXMgaXMgYSBnZW5lcmFsIG5vdGVzL2NvbW1lbnRzIGVudHJ5ICBmb3IgZGVzY3JpcHRpb24gb2YgdGhlIENvbmRpdGlvbiwgaXRzIGRpYWdub3NpcyBhbmQgcHJvZ25vc2lzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbnRhY3REZXRhaWwiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9Db250YWN0RGV0YWlsIiBsYWJlbD0iQ29udGFjdERldGFpbCIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5hbWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik5hbWUgb2YgYW4gaW5kaXZpZHVhbCB0byBjb250YWN0IiBkZWZpbml0aW9uPSJUaGUgbmFtZSBvZiBhbiBpbmRpdmlkdWFsIHRvIGNvbnRhY3QuIiBjb21tZW50PSJJZiB0aGVyZSBpcyBubyBuYW1lZCBpbmRpdmlkdWFsLCB0aGUgdGVsZWNvbSBpbmZvcm1hdGlvbiBpcyBmb3IgdGhlIG9yZ2FuaXphdGlvbiBhcyBhIHdob2xlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InRlbGVjb20iIGRlc2NyaXB0aW9uPSJDb250YWN0IGRldGFpbHMgZm9yIGluZGl2aWR1YWwgb3Igb3JnYW5pemF0aW9uIiBkZWZpbml0aW9uPSJUaGUgY29udGFjdCBkZXRhaWxzIGZvciB0aGUgaW5kaXZpZHVhbCAoaWYgYSBuYW1lIHdhcyBwcm92aWRlZCkgb3IgdGhlIG9yZ2FuaXphdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbnRhY3RQb2ludCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbnRhY3RQb2ludCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0NvbnRhY3RQb2ludCIgbGFiZWw9IkNvbnRhY3RQb2ludCIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbSIgZWxlbWVudFR5cGU9IlFJQ29yZS5Db250YWN0UG9pbnRTeXN0ZW0iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icGhvbmUgfCBmYXggfCBlbWFpbCB8IHBhZ2VyIHwgdXJsIHwgc21zIHwgb3RoZXIiIGRlZmluaXRpb249IlRlbGVjb21tdW5pY2F0aW9ucyBmb3JtIGZvciBjb250YWN0IHBvaW50IC0gd2hhdCBjb21tdW5pY2F0aW9ucyBzeXN0ZW0gaXMgcmVxdWlyZWQgdG8gbWFrZSB1c2Ugb2YgdGhlIGNvbnRhY3QuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ29udGFjdFBvaW50U3lzdGVtIiBkZXNjcmlwdGlvbj0iVGVsZWNvbW11bmljYXRpb25zIGZvcm0gZm9yIGNvbnRhY3QgcG9pbnQuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSBhY3R1YWwgY29udGFjdCBwb2ludCBkZXRhaWxzIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGNvbnRhY3QgcG9pbnQgZGV0YWlscywgaW4gYSBmb3JtIHRoYXQgaXMgbWVhbmluZ2Z1bCB0byB0aGUgZGVzaWduYXRlZCBjb21tdW5pY2F0aW9uIHN5c3RlbSAoaS5lLiBwaG9uZSBudW1iZXIgb3IgZW1haWwgYWRkcmVzcykuIiBjb21tZW50PSJBZGRpdGlvbmFsIHRleHQgZGF0YSBzdWNoIGFzIHBob25lIGV4dGVuc2lvbiBudW1iZXJzLCBvciBub3RlcyBhYm91dCB1c2Ugb2YgdGhlIGNvbnRhY3QgYXJlIHNvbWV0aW1lcyBpbmNsdWRlZCBpbiB0aGUgdmFsdWUuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idXNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbnRhY3RQb2ludFVzZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJob21lIHwgd29yayB8IHRlbXAgfCBvbGQgfCBtb2JpbGUgLSBwdXJwb3NlIG9mIHRoaXMgY29udGFjdCBwb2ludCIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgcHVycG9zZSBmb3IgdGhlIGNvbnRhY3QgcG9pbnQuIiBjb21tZW50PSJBcHBsaWNhdGlvbnMgY2FuIGFzc3VtZSB0aGF0IGEgY29udGFjdCBpcyBjdXJyZW50IHVubGVzcyBpdCBleHBsaWNpdGx5IHNheXMgdGhhdCBpdCBpcyB0ZW1wb3Jhcnkgb3Igb2xkLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvbnRhY3RQb2ludFVzZSIgZGVzY3JpcHRpb249IlVzZSBvZiBjb250YWN0IHBvaW50LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJhbmsiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJTcGVjaWZ5IHByZWZlcnJlZCBvcmRlciBvZiB1c2UgKDEgPSBoaWdoZXN0KSIgZGVmaW5pdGlvbj0iU3BlY2lmaWVzIGEgcHJlZmVycmVkIG9yZGVyIGluIHdoaWNoIHRvIHVzZSBhIHNldCBvZiBjb250YWN0cy4gQ29udGFjdFBvaW50cyB3aXRoIGxvd2VyIHJhbmsgdmFsdWVzIGFyZSBtb3JlIHByZWZlcnJlZCB0aGFuIHRob3NlIHdpdGggaGlnaGVyIHJhbmsgdmFsdWVzLiIgY29tbWVudD0iTm90ZSB0aGF0IHJhbmsgZG9lcyBub3QgbmVjZXNzYXJpbHkgZm9sbG93IHRoZSBvcmRlciBpbiB3aGljaCB0aGUgY29udGFjdHMgYXJlIHJlcHJlc2VudGVkIGluIHRoZSBpbnN0YW5jZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJpb2QiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGltZSBwZXJpb2Qgd2hlbiB0aGUgY29udGFjdCBwb2ludCB3YXMvaXMgaW4gdXNlIiBkZWZpbml0aW9uPSJUaW1lIHBlcmlvZCB3aGVuIHRoZSBjb250YWN0IHBvaW50IHdhcy9pcyBpbiB1c2UuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb250YWN0UG9pbnRTeXN0ZW0iIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ29udGFjdFBvaW50VXNlIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbnRyaWJ1dG9yIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vQ29udHJpYnV0b3IiIGxhYmVsPSJDb250cmlidXRvciIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ29udHJpYnV0b3JUeXBlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImF1dGhvciB8IGVkaXRvciB8IHJldmlld2VyIHwgZW5kb3JzZXIiIGRlZmluaXRpb249IlRoZSB0eXBlIG9mIGNvbnRyaWJ1dG9yLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvbnRyaWJ1dG9yVHlwZSIgZGVzY3JpcHRpb249IlRoZSB0eXBlIG9mIGNvbnRyaWJ1dG9yLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5hbWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldobyBjb250cmlidXRlZCB0aGUgY29udGVudCIgZGVmaW5pdGlvbj0iVGhlIG5hbWUgb2YgdGhlIGluZGl2aWR1YWwgb3Igb3JnYW5pemF0aW9uIHJlc3BvbnNpYmxlIGZvciB0aGUgY29udHJpYnV0aW9uLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbnRhY3QiIGRlc2NyaXB0aW9uPSJDb250YWN0IGRldGFpbHMgb2YgdGhlIGNvbnRyaWJ1dG9yIiBkZWZpbml0aW9uPSJDb250YWN0IGRldGFpbHMgdG8gYXNzaXN0IGEgdXNlciBpbiBmaW5kaW5nIGFuZCBjb21tdW5pY2F0aW5nIHdpdGggdGhlIGNvbnRyaWJ1dG9yLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ29udGFjdERldGFpbCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbnRyaWJ1dG9yVHlwZSIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb3ZlcmFnZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtY292ZXJhZ2UiIGxhYmVsPSJRSUNvcmUgQ292ZXJhZ2UiIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9InR5cGUiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSIoVVNDREkpIE1lbWJlciBJRCBhbmQgb3RoZXIgaWRlbnRpZmllcnMiIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBjb3ZlcmFnZS4iIGNvbW1lbnQ9IlRoZSBtYWluIChhbmQgcG9zc2libHkgb25seSkgaWRlbnRpZmllciBmb3IgdGhlIGNvdmVyYWdlIC0gb2Z0ZW4gcmVmZXJyZWQgdG8gYXMgYSBNZW1iZXIgSWQsIENlcnRpZmljYXRlIG51bWJlciwgUGVyc29uYWwgSGVhbHRoIE51bWJlciBvciBDYXNlIElELiBNYXkgYmUgY29uc3RydWN0ZWQgYXMgdGhlIGNvbmNhdGVuYXRpb24gb2YgdGhlIENvdmVyYWdlLlN1YnNjcmliZXJJRCBhbmQgdGhlIENvdmVyYWdlLmRlcGVuZGFudC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1lbWJlcmlkIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSIoVVNDREkpIE1lbWJlciBJRCIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIGNvdmVyYWdlLiIgY29tbWVudD0iVGhlIG1haW4gKGFuZCBwb3NzaWJseSBvbmx5KSBpZGVudGlmaWVyIGZvciB0aGUgY292ZXJhZ2UgLSBvZnRlbiByZWZlcnJlZCB0byBhcyBhIE1lbWJlciBJZCwgQ2VydGlmaWNhdGUgbnVtYmVyLCBQZXJzb25hbCBIZWFsdGggTnVtYmVyIG9yIENhc2UgSUQuIE1heSBiZSBjb25zdHJ1Y3RlZCBhcyB0aGUgY29uY2F0ZW5hdGlvbiBvZiB0aGUgQ292ZXJhZ2UuU3Vic2NyaWJlcklEIGFuZCB0aGUgQ292ZXJhZ2UuZGVwZW5kYW50LiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ292ZXJhZ2VTdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBhY3RpdmUgfCBjYW5jZWxsZWQgfCBkcmFmdCB8IGVudGVyZWQtaW4tZXJyb3IiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHJlc291cmNlIGluc3RhbmNlLiIgY29tbWVudD0iVGhlIGBDb3ZlcmFnZS5zdGF0dXNgIGFsb25lIGRvZXMgbm90IGluZGljYXRlIHdoZXRoZXIgYW4gaW5kaXZpZHVhbCdzIGNvdmVyYWdlIGlzIHRlcm1pbmF0ZWQgb3IgdGhhdCB0aGUgaW5kaXZpZHVhbCBpcyBub3QgY292ZXJlZC4gVGhlIGBDb3ZlcmFnZS5wZXJpb2RgIG5lZWRzIHRvIGJlIGNvbnNpZGVyZWQgYXMgd2VsbC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ292ZXJhZ2VTdGF0dXMiIGRlc2NyaXB0aW9uPSJBIGNvZGUgc3BlY2lmeWluZyB0aGUgc3RhdGUgb2YgdGhlIHJlc291cmNlIGluc3RhbmNlLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgQ292ZXJhZ2UgY2F0ZWdvcnkgc3VjaCBhcyBtZWRpY2FsIG9yIGFjY2lkZW50IiBkZWZpbml0aW9uPSJUaGUgdHlwZSBvZiBjb3ZlcmFnZTogc29jaWFsIHByb2dyYW0sIG1lZGljYWwgcGxhbiwgYWNjaWRlbnQgY292ZXJhZ2UgKHdvcmtlcnMgY29tcGVuc2F0aW9uLCBhdXRvKSwgZ3JvdXAgaGVhbHRoIG9yIHBheW1lbnQgYnkgYW4gaW5kaXZpZHVhbCBvciBvcmdhbml6YXRpb24uIiBjb21tZW50PSJJZGVudGlmaWVzIGlmIHRoZSBjb3ZlcmFnZSBpcyBQUE8sIEhNTywgUE9TLCBldGMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJDYXRlZ29yaWVzIG9mIHR5cGVzIG9mIGhlYWx0aCBjYXJlIHBheW9yIGVudGl0aWVzIGFzIGRlZmluZWQgYnkgdGhlIFVTIFB1YmxpYyBIZWFsdGggRGF0YSBDb25zb3J0aXVtIFNPUCBjb2RlIHN5c3RlbSIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icG9saWN5SG9sZGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBPd25lciBvZiB0aGUgcG9saWN5IiBkZWZpbml0aW9uPSJUaGUgcGFydHkgd2hvICdvd25zJyB0aGUgaW5zdXJhbmNlIHBvbGljeS4iIGNvbW1lbnQ9IkZvciBleGFtcGxlOiBtYXkgYmUgYW4gaW5kaXZpZHVhbCwgY29ycG9yYXRpb24gb3IgdGhlIHN1YnNjcmliZXIncyBlbXBsb3llci4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJzY3JpYmVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlN1YnNjcmliZXIgdG8gdGhlIHBvbGljeSIgZGVmaW5pdGlvbj0iVGhlIHBhcnR5IHdobyBoYXMgc2lnbmVkLXVwIGZvciBvciAnb3ducycgdGhlIGNvbnRyYWN0dWFsIHJlbGF0aW9uc2hpcCB0byB0aGUgcG9saWN5IG9yIHRvIHdob20gdGhlIGJlbmVmaXQgb2YgdGhlIHBvbGljeSBmb3Igc2VydmljZXMgcmVuZGVyZWQgdG8gdGhlbSBvciB0aGVpciBmYW1pbHkgaXMgZHVlLiIgY29tbWVudD0iTWF5IGJlIHNlbGYgb3IgYSBwYXJlbnQgaW4gdGhlIGNhc2Ugb2YgZGVwZW5kYW50cy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJzY3JpYmVySWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgSUQgYXNzaWduZWQgdG8gdGhlIHN1YnNjcmliZXIiIGRlZmluaXRpb249IlRoZSBpbnN1cmVyIGFzc2lnbmVkIElEIGZvciB0aGUgU3Vic2NyaWJlci4iIGNvbW1lbnQ9IlRoZSBpZGVudGlmaWVyIGFzc2lnbmVkIGJ5IHRoZSBQYXllciBvbiB0aGUgc3Vic2NyaWJlcidzIElEIGNhcmQiIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmVuZWZpY2lhcnkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBQbGFuIGJlbmVmaWNpYXJ5IiBkZWZpbml0aW9uPSJUaGUgcGFydHkgd2hvIGJlbmVmaXRzIGZyb20gdGhlIGluc3VyYW5jZSBjb3ZlcmFnZTsgdGhlIHBhdGllbnQgd2hlbiBwcm9kdWN0cyBhbmQvb3Igc2VydmljZXMgYXJlIHByb3ZpZGVkLiIgY29tbWVudD0iSWRlbnRpZmllciBmb3IgYSBtZW1iZXIgYXNzaWduZWQgYnkgdGhlIFBheWVyLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXBlbmRlbnQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRlcGVuZGVudCBudW1iZXIiIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgZm9yIGEgZGVwZW5kZW50IHVuZGVyIHRoZSBjb3ZlcmFnZS4iIGNvbW1lbnQ9IlBlcmlvZGljYWxseSB0aGUgbWVtYmVyIG51bWJlciBpcyBjb25zdHJ1Y3RlZCBmcm9tIHRoZSBzdWJzY3JpYmVySWQgYW5kIHRoZSBkZXBlbmRhbnQgbnVtYmVyLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlbGF0aW9uc2hpcCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBCZW5lZmljaWFyeSByZWxhdGlvbnNoaXAgdG8gdGhlIHN1YnNjcmliZXIiIGRlZmluaXRpb249IlRoZSByZWxhdGlvbnNoaXAgb2YgYmVuZWZpY2lhcnkgKHBhdGllbnQpIHRvIHRoZSBzdWJzY3JpYmVyLiIgY29tbWVudD0iUmVsYXRpb25zaGlwIG9mIHRoZSBtZW1iZXIgdG8gdGhlIHBlcnNvbiBpbnN1cmVkIChzdWJzY3JpYmVyKSIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJpb2QiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBDb3ZlcmFnZSBzdGFydCBhbmQgZW5kIGRhdGVzIiBkZWZpbml0aW9uPSJUaW1lIHBlcmlvZCBkdXJpbmcgd2hpY2ggdGhlIGNvdmVyYWdlIGlzIGluIGZvcmNlLiBBIG1pc3Npbmcgc3RhcnQgZGF0ZSBpbmRpY2F0ZXMgdGhlIHN0YXJ0IGRhdGUgaXNuJ3Qga25vd24sIGEgbWlzc2luZyBlbmQgZGF0ZSBtZWFucyB0aGUgY292ZXJhZ2UgaXMgY29udGludWluZyB0byBiZSBpbiBmb3JjZS4iIGNvbW1lbnQ9IkRhdGUgdGhhdCB0aGUgY29udHJhY3QgYmVjYW1lIGVmZmVjdGl2ZSBhbmQgRGF0ZSB0aGF0IHRoZSBjb250cmFjdCB3YXMgdGVybWluYXRlZCBvciBjb3ZlcmFnZSBjaGFuZ2VkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXlvciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIElzc3VlciBvZiB0aGUgcG9saWN5IiBkZWZpbml0aW9uPSJUaGUgcHJvZ3JhbSBvciBwbGFuIHVuZGVyd3JpdGVyIG9yIHBheW9yIGluY2x1ZGluZyBib3RoIGluc3VyYW5jZSBhbmQgbm9uLWluc3VyYW5jZSBhZ3JlZW1lbnRzLCBzdWNoIGFzIHBhdGllbnQtcGF5IGFncmVlbWVudHMuIiBjb21tZW50PSJJc3N1ZXIgb2YgdGhlIFBvbGljeSIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjbGFzcyIgZGVzY3JpcHRpb249IihVU0NESSkgQWRkaXRpb25hbCBjb3ZlcmFnZSBjbGFzc2lmaWNhdGlvbnMiIGRlZmluaXRpb249IkEgc3VpdGUgb2YgdW5kZXJ3cml0ZXIgc3BlY2lmaWMgY2xhc3NpZmllcnMuIiBjb21tZW50PSJGb3IgZXhhbXBsZSBtYXkgYmUgdXNlZCB0byBpZGVudGlmeSBhIGNsYXNzIG9mIGNvdmVyYWdlIG9yIGVtcGxveWVyIGdyb3VwLCBQb2xpY3ksIFBsYW4uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ292ZXJhZ2UuQ2xhc3MiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZ3JvdXAiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ292ZXJhZ2UuQ2xhc3MuZ3JvdXAiIGRlc2NyaXB0aW9uPSIoVVNDREkpIEdyb3VwIiBkZWZpbml0aW9uPSJBIHN1aXRlIG9mIHVuZGVyd3JpdGVyIHNwZWNpZmljIGNsYXNzaWZpZXJzLiIgY29tbWVudD0iRm9yIGV4YW1wbGUgbWF5IGJlIHVzZWQgdG8gaWRlbnRpZnkgYSBjbGFzcyBvZiBjb3ZlcmFnZSBvciBlbXBsb3llciBncm91cCwgUG9saWN5LCBQbGFuLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwbGFuIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNvdmVyYWdlLkNsYXNzLnBsYW4iIGRlc2NyaXB0aW9uPSIoVVNDREkpIFBsYW4iIGRlZmluaXRpb249IkEgc3VpdGUgb2YgdW5kZXJ3cml0ZXIgc3BlY2lmaWMgY2xhc3NpZmllcnMuIiBjb21tZW50PSJGb3IgZXhhbXBsZSBtYXkgYmUgdXNlZCB0byBpZGVudGlmeSBhIGNsYXNzIG9mIGNvdmVyYWdlIG9yIGVtcGxveWVyIGdyb3VwLCBQb2xpY3ksIFBsYW4uIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im9yZGVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUmVsYXRpdmUgb3JkZXIgb2YgdGhlIGNvdmVyYWdlIiBkZWZpbml0aW9uPSJUaGUgb3JkZXIgb2YgYXBwbGljYWJpbGl0eSBvZiB0aGlzIGNvdmVyYWdlIHJlbGF0aXZlIHRvIG90aGVyIGNvdmVyYWdlcyB3aGljaCBhcmUgY3VycmVudGx5IGluIGZvcmNlLiBOb3RlLCB0aGVyZSBtYXkgYmUgZ2FwcyBpbiB0aGUgbnVtYmVyaW5nIGFuZCB0aGlzIGRvZXMgbm90IGltcGx5IHByaW1hcnksIHNlY29uZGFyeSBldGMuIGFzIHRoZSBzcGVjaWZpYyBwb3NpdGlvbmluZyBvZiBjb3ZlcmFnZXMgZGVwZW5kcyB1cG9uIHRoZSBlcGlzb2RlIG9mIGNhcmUuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibmV0d29yayIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdXJlciBuZXR3b3JrIiBkZWZpbml0aW9uPSJUaGUgaW5zdXJlci1zcGVjaWZpYyBpZGVudGlmaWVyIGZvciB0aGUgaW5zdXJlci1kZWZpbmVkIG5ldHdvcmsgb2YgcHJvdmlkZXJzIHRvIHdoaWNoIHRoZSBiZW5lZmljaWFyeSBtYXkgc2VlayB0cmVhdG1lbnQgd2hpY2ggd2lsbCBiZSBjb3ZlcmVkIGF0IHRoZSAnaW4tbmV0d29yaycgcmF0ZSwgb3RoZXJ3aXNlICdvdXQgb2YgbmV0d29yaycgdGVybXMgYW5kIGNvbmRpdGlvbnMgYXBwbHkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29zdFRvQmVuZWZpY2lhcnkiIGRlc2NyaXB0aW9uPSJQYXRpZW50IHBheW1lbnRzIGZvciBzZXJ2aWNlcy9wcm9kdWN0cyIgZGVmaW5pdGlvbj0iQSBzdWl0ZSBvZiBjb2RlcyBpbmRpY2F0aW5nIHRoZSBjb3N0IGNhdGVnb3J5IGFuZCBhc3NvY2lhdGVkIGFtb3VudCB3aGljaCBoYXZlIGJlZW4gZGV0YWlsZWQgaW4gdGhlIHBvbGljeSBhbmQgbWF5IGhhdmUgYmVlbiAgaW5jbHVkZWQgb24gdGhlIGhlYWx0aCBjYXJkLiIgY29tbWVudD0iRm9yIGV4YW1wbGUgYnkga25vd2luZyB0aGUgcGF0aWVudCB2aXNpdCBjby1wYXksIHRoZSBwcm92aWRlciBjYW4gY29sbGVjdCB0aGUgYW1vdW50IHByaW9yIHRvIHVuZGVydGFraW5nIHRyZWF0bWVudC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNvdmVyYWdlLkNvc3RUb0JlbmVmaWNpYXJ5Ii8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YnJvZ2F0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUmVpbWJ1cnNlbWVudCB0byBpbnN1cmVyIiBkZWZpbml0aW9uPSJXaGVuICdzdWJyb2dhdGlvbj10cnVlJyB0aGlzIGluc3VyYW5jZSBpbnN0YW5jZSBoYXMgYmVlbiBpbmNsdWRlZCBub3QgZm9yIGFkanVkaWNhdGlvbiBidXQgdG8gcHJvdmlkZSBpbnN1cmVycyB3aXRoIHRoZSBkZXRhaWxzIHRvIHJlY292ZXIgY29zdHMuIiBjb21tZW50PSJUeXBpY2FsbHksIGF1dG9tb3RpdmUgYW5kIHdvcmtlcidzIGNvbXBlbnNhdGlvbiBwb2xpY2llcyB3b3VsZCBiZSBmbGFnZ2VkIHdpdGggJ3N1YnJvZ2F0aW9uPXRydWUnIHRvIGVuYWJsZSBoZWFsdGhjYXJlIHBheW9ycyB0byBjb2xsZWN0IGFnYWluc3QgYWNjaWRlbnQgY2xhaW1zLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbnRyYWN0IiBkZXNjcmlwdGlvbj0iQ29udHJhY3QgZGV0YWlscyIgZGVmaW5pdGlvbj0iVGhlIHBvbGljeShzKSB3aGljaCBjb25zdGl0dXRlIHRoaXMgaW5zdXJhbmNlIGNvdmVyYWdlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJwb2xpY3lIb2xkZXIiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0ic3Vic2NyaWJlciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJiZW5lZmljaWFyeSIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJwYXlvciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlJlbGF0ZWRQZXJzb24iIHJlbGF0ZWRLZXlFbGVtZW50PSJwb2xpY3lIb2xkZXIiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJSZWxhdGVkUGVyc29uIiByZWxhdGVkS2V5RWxlbWVudD0ic3Vic2NyaWJlciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlJlbGF0ZWRQZXJzb24iIHJlbGF0ZWRLZXlFbGVtZW50PSJwYXlvciIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ292ZXJhZ2UuQ2xhc3MiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlR5cGUgb2YgY2xhc3Mgc3VjaCBhcyAnZ3JvdXAnIG9yICdwbGFuJyIgZGVmaW5pdGlvbj0iVGhlIHR5cGUgb2YgY2xhc3NpZmljYXRpb24gZm9yIHdoaWNoIGFuIGluc3VyZXItc3BlY2lmaWMgY2xhc3MgbGFiZWwgb3IgbnVtYmVyIGFuZCBvcHRpb25hbCBuYW1lIGlzIHByb3ZpZGVkLCBmb3IgZXhhbXBsZSBtYXkgYmUgdXNlZCB0byBpZGVudGlmeSBhIGNsYXNzIG9mIGNvdmVyYWdlIG9yIGVtcGxveWVyIGdyb3VwLCBQb2xpY3ksIFBsYW4uIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ292ZXJhZ2VDbGFzcyIgZGVzY3JpcHRpb249IlRoZSBwb2xpY3kgY2xhc3NpZmljYXRpb25zLCBlZy4gR3JvdXAsIFBsYW4sIENsYXNzLCBldGMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVmFsdWUgYXNzb2NpYXRlZCB3aXRoIHRoZSB0eXBlIiBkZWZpbml0aW9uPSJUaGUgYWxwaGFudW1lcmljIHN0cmluZyB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggdGhlIGluc3VyZXIgaXNzdWVkIGxhYmVsLiIgY29tbWVudD0iRm9yIGV4YW1wbGUsIHRoZSBHcm91cCBvciBQbGFuIG51bWJlci4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJuYW1lIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJIdW1hbiByZWFkYWJsZSBkZXNjcmlwdGlvbiBvZiB0aGUgdHlwZSBhbmQgdmFsdWUiIGRlZmluaXRpb249IkEgc2hvcnQgZGVzY3JpcHRpb24gZm9yIHRoZSBjbGFzcy4iLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvdmVyYWdlLkNsYXNzLmdyb3VwIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQ292ZXJhZ2UuQ2xhc3MiLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ292ZXJhZ2UuQ2xhc3MucGxhbiIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkNvdmVyYWdlLkNsYXNzIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvdmVyYWdlLkNvc3RUb0JlbmVmaWNpYXJ5IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb3N0IGNhdGVnb3J5IiBkZWZpbml0aW9uPSJUaGUgY2F0ZWdvcnkgb2YgcGF0aWVudCBjZW50cmljIGNvc3RzIGFzc29jaWF0ZWQgd2l0aCB0cmVhdG1lbnQuIiBjb21tZW50PSJGb3IgZXhhbXBsZSB2aXNpdCwgc3BlY2lhbGlzdCB2aXNpdHMsIGVtZXJnZW5jeSwgaW5wYXRpZW50IGNhcmUsIGV0Yy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJDb3BheVR5cGVzIiBkZXNjcmlwdGlvbj0iVGhlIHR5cGVzIG9mIHNlcnZpY2VzIHRvIHdoaWNoIHBhdGllbnQgY29wYXltZW50cyBhcmUgc3BlY2lmaWVkLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGhlIGFtb3VudCBvciBwZXJjZW50YWdlIGR1ZSBmcm9tIHRoZSBiZW5lZmljaWFyeSIgZGVmaW5pdGlvbj0iVGhlIGFtb3VudCBkdWUgZnJvbSB0aGUgcGF0aWVudCBmb3IgdGhlIGNvc3QgY2F0ZWdvcnkuIiBjb21tZW50PSJBbW91bnQgbWF5IGJlIGV4cHJlc3NlZCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHNlcnZpY2UvcHJvZHVjdCBjb3N0IG9yIGEgZml4ZWQgYW1vdW50IG9mIGN1cnJlbmN5LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGVjaW1hbCIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJleGNlcHRpb24iIGRlc2NyaXB0aW9uPSJFeGNlcHRpb25zIGZvciBwYXRpZW50IHBheW1lbnRzIiBkZWZpbml0aW9uPSJBIHN1aXRlIG9mIGNvZGVzIGluZGljYXRpbmcgZXhjZXB0aW9ucyBvciByZWR1Y3Rpb25zIHRvIHBhdGllbnQgY29zdHMgYW5kIHRoZWlyIGVmZmVjdGl2ZSBwZXJpb2RzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ292ZXJhZ2UuQ29zdFRvQmVuZWZpY2lhcnkuRXhjZXB0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ292ZXJhZ2UuQ29zdFRvQmVuZWZpY2lhcnkuRXhjZXB0aW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJFeGNlcHRpb24gY2F0ZWdvcnkiIGRlZmluaXRpb249IlRoZSBjb2RlIGZvciB0aGUgc3BlY2lmaWMgZXhjZXB0aW9uLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvdmVyYWdlRmluYW5jaWFsRXhjZXB0aW9uIiBkZXNjcmlwdGlvbj0iVGhlIHR5cGVzIG9mIGV4Y2VwdGlvbnMgZnJvbSB0aGUgcGFydCBvciBmdWxsIHZhbHVlIG9mIGZpbmFuY2lhbCBvYmxpZ2F0aW9ucyBzdWNoIGFzIGNvcGF5cy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgZWZmZWN0aXZlIHBlcmlvZCBvZiB0aGUgZXhjZXB0aW9uIiBkZWZpbml0aW9uPSJUaGUgdGltZWZyYW1lIGR1cmluZyB3aGVuIHRoZSBleGNlcHRpb24gaXMgaW4gZm9yY2UuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb3ZlcmFnZVN0YXR1cyIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEYXRhUmVxdWlyZW1lbnQiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9EYXRhUmVxdWlyZW1lbnQiIGxhYmVsPSJEYXRhUmVxdWlyZW1lbnQiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5FbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iUUlDb3JlLkZISVJBbGxUeXBlcyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaGUgdHlwZSBvZiB0aGUgcmVxdWlyZWQgZGF0YSIgZGVmaW5pdGlvbj0iVGhlIHR5cGUgb2YgdGhlIHJlcXVpcmVkIGRhdGEsIHNwZWNpZmllZCBhcyB0aGUgdHlwZSBuYW1lIG9mIGEgcmVzb3VyY2UuIEZvciBwcm9maWxlcywgdGhpcyB2YWx1ZSBpcyBzZXQgdG8gdGhlIHR5cGUgb2YgdGhlIGJhc2UgcmVzb3VyY2Ugb2YgdGhlIHByb2ZpbGUuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRkhJUkFsbFR5cGVzIiBkZXNjcmlwdGlvbj0iQSBsaXN0IG9mIGFsbCB0aGUgY29uY3JldGUgdHlwZXMgZGVmaW5lZCBpbiB0aGlzIHZlcnNpb24gb2YgdGhlIEZISVIgc3BlY2lmaWNhdGlvbiAtIEFic3RyYWN0IFR5cGVzLCBEYXRhIFR5cGVzIGFuZCBSZXNvdXJjZSBUeXBlcy4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcm9maWxlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSBwcm9maWxlIG9mIHRoZSByZXF1aXJlZCBkYXRhIiBkZWZpbml0aW9uPSJUaGUgcHJvZmlsZSBvZiB0aGUgcmVxdWlyZWQgZGF0YSwgc3BlY2lmaWVkIGFzIHRoZSB1cmkgb2YgdGhlIHByb2ZpbGUgZGVmaW5pdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkUuZy4gUGF0aWVudCwgUHJhY3RpdGlvbmVyLCBSZWxhdGVkUGVyc29uLCBPcmdhbml6YXRpb24sIExvY2F0aW9uLCBEZXZpY2UiIGRlZmluaXRpb249IlRoZSBpbnRlbmRlZCBzdWJqZWN0cyBvZiB0aGUgZGF0YSByZXF1aXJlbWVudC4gSWYgdGhpcyBlbGVtZW50IGlzIG5vdCBwcm92aWRlZCwgYSBQYXRpZW50IHN1YmplY3QgaXMgYXNzdW1lZC4iIGNvbW1lbnQ9IlRoZSBzdWJqZWN0IG9mIGEgZGF0YSByZXF1aXJlbWVudCBpcyBjcml0aWNhbCwgYXMgdGhlIGRhdGEgYmVpbmcgc3BlY2lmaWVkIGlzIGRldGVybWluZWQgd2l0aCByZXNwZWN0IHRvIGEgcGFydGljdWxhciBzdWJqZWN0LiBUaGlzIGNvcnJlc3BvbmRzIHJvdWdobHkgdG8gdGhlIG5vdGlvbiBvZiBhIENvbXBhcnRtZW50IGluIHRoYXQgaXQgbGltaXRzIHdoYXQgZGF0YSBpcyBhdmFpbGFibGUgYmFzZWQgb24gaXRzIHJlbGF0aW9uc2hpcCB0byB0aGUgc3ViamVjdC4gSW4gQ1FMLCB0aGlzIGNvcnJlc3BvbmRzIHRvIHRoZSBjb250ZXh0IGRlY2xhcmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU3ViamVjdFR5cGUiIGRlc2NyaXB0aW9uPSJUaGUgcG9zc2libGUgdHlwZXMgb2Ygc3ViamVjdHMgZm9yIGEgZGF0YSByZXF1aXJlbWVudCAoRS5nLiwgUGF0aWVudCwgUHJhY3RpdGlvbmVyLCBPcmdhbml6YXRpb24sIExvY2F0aW9uLCBldGMuKS4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im11c3RTdXBwb3J0IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkluZGljYXRlcyBzcGVjaWZpYyBzdHJ1Y3R1cmUgZWxlbWVudHMgdGhhdCBhcmUgcmVmZXJlbmNlZCBieSB0aGUga25vd2xlZGdlIG1vZHVsZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoYXQgc3BlY2lmaWMgZWxlbWVudHMgb2YgdGhlIHR5cGUgYXJlIHJlZmVyZW5jZWQgYnkgdGhlIGtub3dsZWRnZSBtb2R1bGUgYW5kIG11c3QgYmUgc3VwcG9ydGVkIGJ5IHRoZSBjb25zdW1lciBpbiBvcmRlciB0byBvYnRhaW4gYW4gZWZmZWN0aXZlIGV2YWx1YXRpb24uIFRoaXMgZG9lcyBub3QgbWVhbiB0aGF0IGEgdmFsdWUgaXMgcmVxdWlyZWQgZm9yIHRoaXMgZWxlbWVudCwgb25seSB0aGF0IHRoZSBjb25zdW1pbmcgc3lzdGVtIG11c3QgdW5kZXJzdGFuZCB0aGUgZWxlbWVudCBhbmQgYmUgYWJsZSB0byBwcm92aWRlIHZhbHVlcyBmb3IgaXQgaWYgdGhleSBhcmUgYXZhaWxhYmxlLiAmIzEwOyYjMTA7VGhlIHZhbHVlIG9mIG11c3RTdXBwb3J0IFNIQUxMIGJlIGEgRkhJUlBhdGggcmVzb2x2ZWFibGUgb24gdGhlIHR5cGUgb2YgdGhlIERhdGFSZXF1aXJlbWVudC4gVGhlIHBhdGggU0hBTEwgY29uc2lzdCBvbmx5IG9mIGlkZW50aWZpZXJzLCBjb25zdGFudCBpbmRleGVycywgYW5kIC5yZXNvbHZlKCkgKHNlZSB0aGUgW1NpbXBsZSBGSElSUGF0aCBQcm9maWxlXShmaGlycGF0aC5odG1sI3NpbXBsZSkgZm9yIGZ1bGwgZGV0YWlscykuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZUZpbHRlciIgZGVzY3JpcHRpb249IldoYXQgY29kZXMgYXJlIGV4cGVjdGVkIiBkZWZpbml0aW9uPSJDb2RlIGZpbHRlcnMgc3BlY2lmeSBhZGRpdGlvbmFsIGNvbnN0cmFpbnRzIG9uIHRoZSBkYXRhLCBzcGVjaWZ5aW5nIHRoZSB2YWx1ZSBzZXQgb2YgaW50ZXJlc3QgZm9yIGEgcGFydGljdWxhciBlbGVtZW50IG9mIHRoZSBkYXRhLiBFYWNoIGNvZGUgZmlsdGVyIGRlZmluZXMgYW4gYWRkaXRpb25hbCBjb25zdHJhaW50IG9uIHRoZSBkYXRhLCBpLmUuIGNvZGUgZmlsdGVycyBhcmUgQU5EJ2VkLCBub3QgT1InZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5EYXRhUmVxdWlyZW1lbnQuQ29kZUZpbHRlciIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJkcnEtMSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJFaXRoZXIgYSBwYXRoIG9yIGEgc2VhcmNoUGFyYW0gbXVzdCBiZSBwcm92aWRlZCwgYnV0IG5vdCBib3RoIj4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJwYXRoLmV4aXN0cygpIHhvciBzZWFyY2hQYXJhbS5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGVGaWx0ZXIiIGRlc2NyaXB0aW9uPSJXaGF0IGRhdGVzL2RhdGUgcmFuZ2VzIGFyZSBleHBlY3RlZCIgZGVmaW5pdGlvbj0iRGF0ZSBmaWx0ZXJzIHNwZWNpZnkgYWRkaXRpb25hbCBjb25zdHJhaW50cyBvbiB0aGUgZGF0YSBpbiB0ZXJtcyBvZiB0aGUgYXBwbGljYWJsZSBkYXRlIHJhbmdlIGZvciBzcGVjaWZpYyBlbGVtZW50cy4gRWFjaCBkYXRlIGZpbHRlciBzcGVjaWZpZXMgYW4gYWRkaXRpb25hbCBjb25zdHJhaW50IG9uIHRoZSBkYXRhLCBpLmUuIGRhdGUgZmlsdGVycyBhcmUgQU5EJ2VkLCBub3QgT1InZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5EYXRhUmVxdWlyZW1lbnQuRGF0ZUZpbHRlciIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJkcnEtMiIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJFaXRoZXIgYSBwYXRoIG9yIGEgc2VhcmNoUGFyYW0gbXVzdCBiZSBwcm92aWRlZCwgYnV0IG5vdCBib3RoIj4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJwYXRoLmV4aXN0cygpIHhvciBzZWFyY2hQYXJhbS5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImxpbWl0IiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTnVtYmVyIG9mIHJlc3VsdHMiIGRlZmluaXRpb249IlNwZWNpZmllcyBhIG1heGltdW0gbnVtYmVyIG9mIHJlc3VsdHMgdGhhdCBhcmUgcmVxdWlyZWQgKHVzZXMgdGhlIF9jb3VudCBzZWFyY2ggcGFyYW1ldGVyKS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBjYW4gYmUgdXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoIHRoZSBzb3J0IGVsZW1lbnQgdG8gc3BlY2lmeSBxdW90YSByZXF1aXJlbWVudHMgc3VjaCBhcyAmcXVvdDt0aGUgbW9zdCByZWNlbnQgNSZxdW90OyBvciAmcXVvdDt0aGUgaGlnaGVzdCA1JnF1b3Q7LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InNvcnQiIGRlc2NyaXB0aW9uPSJPcmRlciBvZiB0aGUgcmVzdWx0cyIgZGVmaW5pdGlvbj0iU3BlY2lmaWVzIHRoZSBvcmRlciBvZiB0aGUgcmVzdWx0cyB0byBiZSByZXR1cm5lZC4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBjYW4gYmUgdXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoIHRoZSBzb3J0IGVsZW1lbnQgdG8gc3BlY2lmeSBxdW90YSByZXF1aXJlbWVudHMgc3VjaCBhcyAmcXVvdDt0aGUgbW9zdCByZWNlbnQgNSZxdW90OyBvciAmcXVvdDt0aGUgaGlnaGVzdCA1JnF1b3Q7LiBXaGVuIG11bHRpcGxlIHNvcnRzIGFyZSBzcGVjaWZpZWQsIHRoZXkgYXJlIGFwcGxpZWQgaW4gdGhlIG9yZGVyIHRoZXkgYXBwZWFyIGluIHRoZSByZXNvdXJjZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkRhdGFSZXF1aXJlbWVudC5Tb3J0Ii8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRGF0YVJlcXVpcmVtZW50LkNvZGVGaWx0ZXIiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5FbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXRoIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBIGNvZGUtdmFsdWVkIGF0dHJpYnV0ZSB0byBmaWx0ZXIgb24iIGRlZmluaXRpb249IlRoZSBjb2RlLXZhbHVlZCBhdHRyaWJ1dGUgb2YgdGhlIGZpbHRlci4gVGhlIHNwZWNpZmllZCBwYXRoIFNIQUxMIGJlIGEgRkhJUlBhdGggcmVzb2x2ZWFibGUgb24gdGhlIHNwZWNpZmllZCB0eXBlIG9mIHRoZSBEYXRhUmVxdWlyZW1lbnQsIGFuZCBTSEFMTCBjb25zaXN0IG9ubHkgb2YgaWRlbnRpZmllcnMsIGNvbnN0YW50IGluZGV4ZXJzLCBhbmQgLnJlc29sdmUoKS4gVGhlIHBhdGggaXMgYWxsb3dlZCB0byBjb250YWluIHF1YWxpZmllcnMgKC4pIHRvIHRyYXZlcnNlIHN1Yi1lbGVtZW50cywgYXMgd2VsbCBhcyBpbmRleGVycyAoW3hdKSB0byB0cmF2ZXJzZSBtdWx0aXBsZS1jYXJkaW5hbGl0eSBzdWItZWxlbWVudHMgKHNlZSB0aGUgW1NpbXBsZSBGSElSUGF0aCBQcm9maWxlXShmaGlycGF0aC5odG1sI3NpbXBsZSkgZm9yIGZ1bGwgZGV0YWlscykuIE5vdGUgdGhhdCB0aGUgaW5kZXggbXVzdCBiZSBhbiBpbnRlZ2VyIGNvbnN0YW50LiBUaGUgcGF0aCBtdXN0IHJlc29sdmUgdG8gYW4gZWxlbWVudCBvZiB0eXBlIGNvZGUsIENvZGluZywgb3IgQ29kZWFibGVDb25jZXB0LiIgY29tbWVudD0iVGhlIHBhdGggYXR0cmlidXRlIGNvbnRhaW5zIGEgW1NpbXBsZSBGSElSUGF0aCBTdWJzZXRdKGZoaXJwYXRoLmh0bWwjc2ltcGxlKSB0aGF0IGFsbG93cyBwYXRoIHRyYXZlcnNhbCwgYnV0IG5vdCBjYWxjdWxhdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzZWFyY2hQYXJhbSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iQSBjb2RlZCAodG9rZW4pIHBhcmFtZXRlciB0byBzZWFyY2ggb24iIGRlZmluaXRpb249IkEgdG9rZW4gcGFyYW1ldGVyIHRoYXQgcmVmZXJzIHRvIGEgc2VhcmNoIHBhcmFtZXRlciBkZWZpbmVkIG9uIHRoZSBzcGVjaWZpZWQgdHlwZSBvZiB0aGUgRGF0YVJlcXVpcmVtZW50LCBhbmQgd2hpY2ggc2VhcmNoZXMgb24gZWxlbWVudHMgb2YgdHlwZSBjb2RlLCBDb2RpbmcsIG9yIENvZGVhYmxlQ29uY2VwdC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZVNldCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVmFsdWVzZXQgZm9yIHRoZSBmaWx0ZXIiIGRlZmluaXRpb249IlRoZSB2YWx1ZXNldCBmb3IgdGhlIGNvZGUgZmlsdGVyLiBUaGUgdmFsdWVTZXQgYW5kIGNvZGUgZWxlbWVudHMgYXJlIGFkZGl0aXZlLiBJZiB2YWx1ZVNldCBpcyBzcGVjaWZpZWQsIHRoZSBmaWx0ZXIgd2lsbCByZXR1cm4gb25seSB0aG9zZSBkYXRhIGl0ZW1zIGZvciB3aGljaCB0aGUgdmFsdWUgb2YgdGhlIGNvZGUtdmFsdWVkIGVsZW1lbnQgc3BlY2lmaWVkIGluIHRoZSBwYXRoIGlzIGEgbWVtYmVyIG9mIHRoZSBzcGVjaWZpZWQgdmFsdWVzZXQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvZGUoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoYXQgY29kZSBpcyBleHBlY3RlZCIgZGVmaW5pdGlvbj0iVGhlIGNvZGVzIGZvciB0aGUgY29kZSBmaWx0ZXIuIElmIHZhbHVlcyBhcmUgZ2l2ZW4sIHRoZSBmaWx0ZXIgd2lsbCByZXR1cm4gb25seSB0aG9zZSBkYXRhIGl0ZW1zIGZvciB3aGljaCB0aGUgY29kZS12YWx1ZWQgYXR0cmlidXRlIHNwZWNpZmllZCBieSB0aGUgcGF0aCBoYXMgYSB2YWx1ZSB0aGF0IGlzIG9uZSBvZiB0aGUgc3BlY2lmaWVkIGNvZGVzLiBJZiBjb2RlcyBhcmUgc3BlY2lmaWVkIGluIGFkZGl0aW9uIHRvIGEgdmFsdWUgc2V0LCB0aGUgZmlsdGVyIHJldHVybnMgaXRlbXMgbWF0Y2hpbmcgYSBjb2RlIGluIHRoZSB2YWx1ZSBzZXQgb3Igb25lIG9mIHRoZSBzcGVjaWZpZWQgY29kZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db2RlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRGF0YVJlcXVpcmVtZW50LkRhdGVGaWx0ZXIiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5FbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXRoIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBIGRhdGUtdmFsdWVkIGF0dHJpYnV0ZSB0byBmaWx0ZXIgb24iIGRlZmluaXRpb249IlRoZSBkYXRlLXZhbHVlZCBhdHRyaWJ1dGUgb2YgdGhlIGZpbHRlci4gVGhlIHNwZWNpZmllZCBwYXRoIFNIQUxMIGJlIGEgRkhJUlBhdGggcmVzb2x2ZWFibGUgb24gdGhlIHNwZWNpZmllZCB0eXBlIG9mIHRoZSBEYXRhUmVxdWlyZW1lbnQsIGFuZCBTSEFMTCBjb25zaXN0IG9ubHkgb2YgaWRlbnRpZmllcnMsIGNvbnN0YW50IGluZGV4ZXJzLCBhbmQgLnJlc29sdmUoKS4gVGhlIHBhdGggaXMgYWxsb3dlZCB0byBjb250YWluIHF1YWxpZmllcnMgKC4pIHRvIHRyYXZlcnNlIHN1Yi1lbGVtZW50cywgYXMgd2VsbCBhcyBpbmRleGVycyAoW3hdKSB0byB0cmF2ZXJzZSBtdWx0aXBsZS1jYXJkaW5hbGl0eSBzdWItZWxlbWVudHMgKHNlZSB0aGUgW1NpbXBsZSBGSElSUGF0aCBQcm9maWxlXShmaGlycGF0aC5odG1sI3NpbXBsZSkgZm9yIGZ1bGwgZGV0YWlscykuIE5vdGUgdGhhdCB0aGUgaW5kZXggbXVzdCBiZSBhbiBpbnRlZ2VyIGNvbnN0YW50LiBUaGUgcGF0aCBtdXN0IHJlc29sdmUgdG8gYW4gZWxlbWVudCBvZiB0eXBlIGRhdGUsIGRhdGVUaW1lLCBQZXJpb2QsIFNjaGVkdWxlLCBvciBUaW1pbmcuIiBjb21tZW50PSJUaGUgcGF0aCBhdHRyaWJ1dGUgY29udGFpbnMgYSBbU2ltcGxlIEZISVIgU3Vic2V0XShmaGlycGF0aC5odG1sI3NpbXBsZSkgdGhhdCBhbGxvd3MgcGF0aCB0cmF2ZXJzYWwsIGJ1dCBub3QgY2FsY3VsYXRpb24uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic2VhcmNoUGFyYW0iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkEgZGF0ZSB2YWx1ZWQgcGFyYW1ldGVyIHRvIHNlYXJjaCBvbiIgZGVmaW5pdGlvbj0iQSBkYXRlIHBhcmFtZXRlciB0aGF0IHJlZmVycyB0byBhIHNlYXJjaCBwYXJhbWV0ZXIgZGVmaW5lZCBvbiB0aGUgc3BlY2lmaWVkIHR5cGUgb2YgdGhlIERhdGFSZXF1aXJlbWVudCwgYW5kIHdoaWNoIHNlYXJjaGVzIG9uIGVsZW1lbnRzIG9mIHR5cGUgZGF0ZSwgZGF0ZVRpbWUsIFBlcmlvZCwgU2NoZWR1bGUsIG9yIFRpbWluZy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgdmFsdWUgb2YgdGhlIGZpbHRlciwgYXMgYSBQZXJpb2QsIERhdGVUaW1lLCBvciBEdXJhdGlvbiB2YWx1ZSIgZGVmaW5pdGlvbj0iVGhlIHZhbHVlIG9mIHRoZSBmaWx0ZXIuIElmIHBlcmlvZCBpcyBzcGVjaWZpZWQsIHRoZSBmaWx0ZXIgd2lsbCByZXR1cm4gb25seSB0aG9zZSBkYXRhIGl0ZW1zIHRoYXQgZmFsbCB3aXRoaW4gdGhlIGJvdW5kcyBkZXRlcm1pbmVkIGJ5IHRoZSBQZXJpb2QsIGluY2x1c2l2ZSBvZiB0aGUgcGVyaW9kIGJvdW5kYXJpZXMuIElmIGRhdGVUaW1lIGlzIHNwZWNpZmllZCwgdGhlIGZpbHRlciB3aWxsIHJldHVybiBvbmx5IHRob3NlIGRhdGEgaXRlbXMgdGhhdCBhcmUgZXF1YWwgdG8gdGhlIHNwZWNpZmllZCBkYXRlVGltZS4gSWYgYSBEdXJhdGlvbiBpcyBzcGVjaWZpZWQsIHRoZSBmaWx0ZXIgd2lsbCByZXR1cm4gb25seSB0aG9zZSBkYXRhIGl0ZW1zIHRoYXQgZmFsbCB3aXRoaW4gRHVyYXRpb24gYmVmb3JlIG5vdy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEYXRhUmVxdWlyZW1lbnQuU29ydCIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhdGgiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUgdG8gcGVyZm9ybSB0aGUgc29ydCIgZGVmaW5pdGlvbj0iVGhlIGF0dHJpYnV0ZSBvZiB0aGUgc29ydC4gVGhlIHNwZWNpZmllZCBwYXRoIG11c3QgYmUgcmVzb2x2YWJsZSBmcm9tIHRoZSB0eXBlIG9mIHRoZSByZXF1aXJlZCBkYXRhLiBUaGUgcGF0aCBpcyBhbGxvd2VkIHRvIGNvbnRhaW4gcXVhbGlmaWVycyAoLikgdG8gdHJhdmVyc2Ugc3ViLWVsZW1lbnRzLCBhcyB3ZWxsIGFzIGluZGV4ZXJzIChbeF0pIHRvIHRyYXZlcnNlIG11bHRpcGxlLWNhcmRpbmFsaXR5IHN1Yi1lbGVtZW50cy4gTm90ZSB0aGF0IHRoZSBpbmRleCBtdXN0IGJlIGFuIGludGVnZXIgY29uc3RhbnQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGlyZWN0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLlNvcnREaXJlY3Rpb24iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iYXNjZW5kaW5nIHwgZGVzY2VuZGluZyIgZGVmaW5pdGlvbj0iVGhlIGRpcmVjdGlvbiBvZiB0aGUgc29ydCwgYXNjZW5kaW5nIG9yIGRlc2NlbmRpbmcuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU29ydERpcmVjdGlvbiIgZGVzY3JpcHRpb249IlRoZSBwb3NzaWJsZSBzb3J0IGRpcmVjdGlvbnMsIGFzY2VuZGluZyBvciBkZXNjZW5kaW5nLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRGF5T2ZXZWVrIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRheXNPZldlZWsiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRGV2aWNlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1kZXZpY2UiIGxhYmVsPSJRSUNvcmUgRGV2aWNlIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJ0eXBlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iSW5zdGFuY2UgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iVW5pcXVlIGluc3RhbmNlIGlkZW50aWZpZXJzIGFzc2lnbmVkIHRvIGEgZGV2aWNlIGJ5IG1hbnVmYWN0dXJlcnMgb3RoZXIgb3JnYW5pemF0aW9ucyBvciBvd25lcnMuIiBjb21tZW50PSJUaGUgYmFyY29kZSBzdHJpbmcgZnJvbSBhIGJhcmNvZGUgcHJlc2VudCBvbiBhIGRldmljZSBsYWJlbCBvciBwYWNrYWdlIG1heSBpZGVudGlmeSB0aGUgaW5zdGFuY2UsIGluY2x1ZGUgbmFtZXMgZ2l2ZW4gdG8gdGhlIGRldmljZSBpbiBsb2NhbCB1c2FnZSwgb3IgbWF5IGlkZW50aWZ5IHRoZSB0eXBlIG9mIGRldmljZS4gSWYgdGhlIGlkZW50aWZpZXIgaWRlbnRpZmllcyB0aGUgdHlwZSBvZiBkZXZpY2UsIERldmljZS50eXBlIGVsZW1lbnQgc2hvdWxkIGJlIHVzZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRlZmluaXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iVGhlIHJlZmVyZW5jZSB0byB0aGUgZGVmaW5pdGlvbiBmb3IgdGhlIGRldmljZSIgZGVmaW5pdGlvbj0iVGhlIHJlZmVyZW5jZSB0byB0aGUgZGVmaW5pdGlvbiBmb3IgdGhlIGRldmljZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1ZGlDYXJyaWVyIiBkZXNjcmlwdGlvbj0iVW5pcXVlIERldmljZSBJZGVudGlmaWVyIChVREkpIEJhcmNvZGUgc3RyaW5nIiBkZWZpbml0aW9uPSJVbmlxdWUgZGV2aWNlIGlkZW50aWZpZXIgKFVESSkgYXNzaWduZWQgdG8gZGV2aWNlIGxhYmVsIG9yIHBhY2thZ2UuICBOb3RlIHRoYXQgdGhlIERldmljZSBtYXkgaW5jbHVkZSBtdWx0aXBsZSB1ZGlDYXJyaWVycyBhcyBpdCBlaXRoZXIgbWF5IGluY2x1ZGUganVzdCB0aGUgdWRpQ2FycmllciBmb3IgdGhlIGp1cmlzZGljdGlvbiBpdCBpcyBzb2xkLCBvciBmb3IgbXVsdGlwbGUganVyaXNkaWN0aW9ucyBpdCBjb3VsZCBoYXZlIGJlZW4gc29sZC4iIGNvbW1lbnQ9IlVESSBtYXkgaWRlbnRpZnkgYW4gdW5pcXVlIGluc3RhbmNlIG9mIGEgZGV2aWNlLCBvciBpdCBtYXkgb25seSBpZGVudGlmeSB0aGUgdHlwZSBvZiB0aGUgZGV2aWNlLiAgU2VlIFtVREkgbWFwcGluZ3NdKGRldmljZS1tYXBwaW5ncy5odG1sI3VkaSkgZm9yIGEgY29tcGxldGUgbWFwcGluZyBvZiBVREkgcGFydHMgdG8gRGV2aWNlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRGV2aWNlLlVkaUNhcnJpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLkZISVJEZXZpY2VTdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iYWN0aXZlIHwgaW5hY3RpdmUgfCBlbnRlcmVkLWluLWVycm9yIHwgdW5rbm93biIgZGVmaW5pdGlvbj0iU3RhdHVzIG9mIHRoZSBEZXZpY2UgYXZhaWxhYmlsaXR5LiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgdGhlIGNvZGVzIGluYWN0aXZlIGFuZCBlbnRlcmVkLWluLWVycm9yIHRoYXQgbWFyayB0aGUgZGV2aWNlIChyZWNvcmQpYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJGSElSRGV2aWNlU3RhdHVzIiBkZXNjcmlwdGlvbj0iVGhlIGF2YWlsYWJpbGl0eSBzdGF0dXMgb2YgdGhlIGRldmljZS4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXNSZWFzb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJvbmxpbmUgfCBwYXVzZWQgfCBzdGFuZGJ5IHwgb2ZmbGluZSB8IG5vdC1yZWFkeSB8IHRyYW5zZHVjLWRpc2NvbiB8IGh3LWRpc2NvbiB8IG9mZiIgZGVmaW5pdGlvbj0iUmVhc29uIGZvciB0aGUgZHRhdHVzIG9mIHRoZSBEZXZpY2UgYXZhaWxhYmlsaXR5LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJGSElSRGV2aWNlU3RhdHVzUmVhc29uIiBkZXNjcmlwdGlvbj0iVGhlIGF2YWlsYWJpbGl0eSBzdGF0dXMgcmVhc29uIG9mIHRoZSBkZXZpY2UuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaXN0aW5jdElkZW50aWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSBkaXN0aW5jdCBpZGVudGlmaWNhdGlvbiBzdHJpbmciIGRlZmluaXRpb249IlRoZSBkaXN0aW5jdCBpZGVudGlmaWNhdGlvbiBzdHJpbmcgYXMgcmVxdWlyZWQgYnkgcmVndWxhdGlvbiBmb3IgYSBodW1hbiBjZWxsLCB0aXNzdWUsIG9yIGNlbGx1bGFyIGFuZCB0aXNzdWUtYmFzZWQgcHJvZHVjdC4iIGNvbW1lbnQ9IkZvciBleGFtcGxlLCB0aGlzIGFwcGxpZXMgdG8gZGV2aWNlcyBpbiB0aGUgVW5pdGVkIFN0YXRlcyByZWd1bGF0ZWQgdW5kZXIgKkNvZGUgb2YgRmVkZXJhbCBSZWd1bGF0aW9uIDIxQ0ZSwqcxMjcxLjI5MChjKSouIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibWFudWZhY3R1cmVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOYW1lIG9mIGRldmljZSBtYW51ZmFjdHVyZXIiIGRlZmluaXRpb249IkEgbmFtZSBvZiB0aGUgbWFudWZhY3R1cmVyLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1hbnVmYWN0dXJlRGF0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEYXRlIHdoZW4gdGhlIGRldmljZSB3YXMgbWFkZSIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgYW5kIHRpbWUgd2hlbiB0aGUgZGV2aWNlIHdhcyBtYW51ZmFjdHVyZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZXhwaXJhdGlvbkRhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZSBhbmQgdGltZSBvZiBleHBpcnkgb2YgdGhpcyBkZXZpY2UgKGlmIGFwcGxpY2FibGUpIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSBiZXlvbmQgd2hpY2ggdGhpcyBkZXZpY2UgaXMgbm8gbG9uZ2VyIHZhbGlkIG9yIHNob3VsZCBub3QgYmUgdXNlZCAoaWYgYXBwbGljYWJsZSkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibG90TnVtYmVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJMb3QgbnVtYmVyIG9mIG1hbnVmYWN0dXJlIiBkZWZpbml0aW9uPSJMb3QgbnVtYmVyIGFzc2lnbmVkIGJ5IHRoZSBtYW51ZmFjdHVyZXIuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic2VyaWFsTnVtYmVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJTZXJpYWwgbnVtYmVyIGFzc2lnbmVkIGJ5IHRoZSBtYW51ZmFjdHVyZXIiIGRlZmluaXRpb249IlRoZSBzZXJpYWwgbnVtYmVyIGFzc2lnbmVkIGJ5IHRoZSBvcmdhbml6YXRpb24gd2hlbiB0aGUgZGV2aWNlIHdhcyBtYW51ZmFjdHVyZWQuIiBjb21tZW50PSJBbHBoYW51bWVyaWMgTWF4aW11bSAyMC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXZpY2VOYW1lIiBkZXNjcmlwdGlvbj0iVGhlIG5hbWUgb2YgdGhlIGRldmljZSBhcyBnaXZlbiBieSB0aGUgbWFudWZhY3R1cmVyIiBkZWZpbml0aW9uPSJUaGlzIHJlcHJlc2VudHMgdGhlIG1hbnVmYWN0dXJlcidzIG5hbWUgb2YgdGhlIGRldmljZSBhcyBwcm92aWRlZCBieSB0aGUgZGV2aWNlLCBmcm9tIGEgVURJIGxhYmVsLCBvciBieSBhIHBlcnNvbiBkZXNjcmliaW5nIHRoZSBEZXZpY2UuICBUaGlzIHR5cGljYWxseSB3b3VsZCBiZSB1c2VkIHdoZW4gYSBwZXJzb24gcHJvdmlkZXMgdGhlIG5hbWUocykgb3Igd2hlbiB0aGUgZGV2aWNlIHJlcHJlc2VudHMgb25lIG9mIHRoZSBuYW1lcyBhdmFpbGFibGUgZnJvbSBEZXZpY2VEZWZpbml0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRGV2aWNlLkRldmljZU5hbWUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibW9kZWxOdW1iZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSBtb2RlbCBudW1iZXIgZm9yIHRoZSBkZXZpY2UiIGRlZmluaXRpb249IlRoZSBtb2RlbCBudW1iZXIgZm9yIHRoZSBkZXZpY2UuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE51bWJlciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGhlIHBhcnQgbnVtYmVyIG9mIHRoZSBkZXZpY2UiIGRlZmluaXRpb249IlRoZSBwYXJ0IG51bWJlciBvZiB0aGUgZGV2aWNlLiIgY29tbWVudD0iQWxwaGFudW1lcmljIE1heGltdW0gMjAuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGhlIGtpbmQgb3IgdHlwZSBvZiBkZXZpY2UiIGRlZmluaXRpb249IlRoZSBraW5kIG9yIHR5cGUgb2YgZGV2aWNlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkRldmljZVR5cGUiIGRlc2NyaXB0aW9uPSJDb2RlcyB0byBpZGVudGlmeSBtZWRpY2FsIGRldmljZXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaWFsaXphdGlvbiIgZGVzY3JpcHRpb249IlRoZSBjYXBhYmlsaXRpZXMgc3VwcG9ydGVkIG9uIGEgIGRldmljZSwgdGhlIHN0YW5kYXJkcyB0byB3aGljaCB0aGUgZGV2aWNlIGNvbmZvcm1zIGZvciBhIHBhcnRpY3VsYXIgcHVycG9zZSwgYW5kIHVzZWQgZm9yIHRoZSBjb21tdW5pY2F0aW9uIiBkZWZpbml0aW9uPSJUaGUgY2FwYWJpbGl0aWVzIHN1cHBvcnRlZCBvbiBhICBkZXZpY2UsIHRoZSBzdGFuZGFyZHMgdG8gd2hpY2ggdGhlIGRldmljZSBjb25mb3JtcyBmb3IgYSBwYXJ0aWN1bGFyIHB1cnBvc2UsIGFuZCB1c2VkIGZvciB0aGUgY29tbXVuaWNhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkRldmljZS5TcGVjaWFsaXphdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2ZXJzaW9uIiBkZXNjcmlwdGlvbj0iVGhlIGFjdHVhbCBkZXNpZ24gb2YgdGhlIGRldmljZSBvciBzb2Z0d2FyZSB2ZXJzaW9uIHJ1bm5pbmcgb24gdGhlIGRldmljZSIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBkZXNpZ24gb2YgdGhlIGRldmljZSBvciBzb2Z0d2FyZSB2ZXJzaW9uIHJ1bm5pbmcgb24gdGhlIGRldmljZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkRldmljZS5WZXJzaW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InByb3BlcnR5IiBkZXNjcmlwdGlvbj0iVGhlIGFjdHVhbCBjb25maWd1cmF0aW9uIHNldHRpbmdzIG9mIGEgZGV2aWNlIGFzIGl0IGFjdHVhbGx5IG9wZXJhdGVzLCBlLmcuLCByZWd1bGF0aW9uIHN0YXR1cywgdGltZSBwcm9wZXJ0aWVzIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3Mgb2YgYSBkZXZpY2UgYXMgaXQgYWN0dWFsbHkgb3BlcmF0ZXMsIGUuZy4sIHJlZ3VsYXRpb24gc3RhdHVzLCB0aW1lIHByb3BlcnRpZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5EZXZpY2UuUHJvcGVydHkiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGF0aWVudCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgUGF0aWVudCB0byB3aG9tIERldmljZSBpcyBhZmZpeGVkIiBkZWZpbml0aW9uPSJQYXRpZW50IGluZm9ybWF0aW9uLCBJZiB0aGUgZGV2aWNlIGlzIGFmZml4ZWQgdG8gYSBwZXJzb24uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ib3duZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iT3JnYW5pemF0aW9uIHJlc3BvbnNpYmxlIGZvciBkZXZpY2UiIGRlZmluaXRpb249IkFuIG9yZ2FuaXphdGlvbiB0aGF0IGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgcHJvdmlzaW9uIGFuZCBvbmdvaW5nIG1haW50ZW5hbmNlIG9mIHRoZSBkZXZpY2UuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29udGFjdCIgZGVzY3JpcHRpb249IkRldGFpbHMgZm9yIGh1bWFuL29yZ2FuaXphdGlvbiBmb3Igc3VwcG9ydCIgZGVmaW5pdGlvbj0iQ29udGFjdCBkZXRhaWxzIGZvciBhbiBvcmdhbml6YXRpb24gb3IgYSBwYXJ0aWN1bGFyIGh1bWFuIHRoYXQgaXMgcmVzcG9uc2libGUgZm9yIHRoZSBkZXZpY2UuIiBjb21tZW50PSJ1c2VkIGZvciB0cm91Ymxlc2hvb3RpbmcgZXRjLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ29udGFjdFBvaW50Ii8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImxvY2F0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldoZXJlIHRoZSBkZXZpY2UgaXMgZm91bmQiIGRlZmluaXRpb249IlRoZSBwbGFjZSB3aGVyZSB0aGUgZGV2aWNlIGNhbiBiZSBmb3VuZC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1cmwiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik5ldHdvcmsgYWRkcmVzcyB0byBjb250YWN0IGRldmljZSIgZGVmaW5pdGlvbj0iQSBuZXR3b3JrIGFkZHJlc3Mgb24gd2hpY2ggdGhlIGRldmljZSBtYXkgYmUgY29udGFjdGVkIGRpcmVjdGx5LiIgY29tbWVudD0iSWYgdGhlIGRldmljZSBpcyBydW5uaW5nIGEgRkhJUiBzZXJ2ZXIsIHRoZSBuZXR3b3JrIGFkZHJlc3Mgc2hvdWxkICBiZSB0aGUgQmFzZSBVUkwgZnJvbSB3aGljaCBhIGNvbmZvcm1hbmNlIHN0YXRlbWVudCBtYXkgYmUgcmV0cmlldmVkLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJEZXZpY2Ugbm90ZXMgYW5kIGNvbW1lbnRzIiBkZWZpbml0aW9uPSJEZXNjcmlwdGl2ZSBpbmZvcm1hdGlvbiwgdXNhZ2UgaW5mb3JtYXRpb24gb3IgaW1wbGFudGF0aW9uIGluZm9ybWF0aW9uIHRoYXQgaXMgbm90IGNhcHR1cmVkIGluIGFuIGV4aXN0aW5nIGVsZW1lbnQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InNhZmV0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlNhZmV0eSBDaGFyYWN0ZXJpc3RpY3Mgb2YgRGV2aWNlIiBkZWZpbml0aW9uPSJQcm92aWRlcyBhZGRpdGlvbmFsIHNhZmV0eSBjaGFyYWN0ZXJpc3RpY3MgYWJvdXQgYSBtZWRpY2FsIGRldmljZS4gIEZvciBleGFtcGxlIGRldmljZXMgY29udGFpbmluZyBsYXRleC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGFyZW50IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlRoZSBwYXJlbnQgZGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgcGFyZW50IGRldmljZS4iLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRldmljZS5EZXZpY2VOYW1lIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJuYW1lIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaGUgbmFtZSBvZiB0aGUgZGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgbmFtZSBvZiB0aGUgZGV2aWNlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRGV2aWNlTmFtZVR5cGUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0idWRpLWxhYmVsLW5hbWUgfCB1c2VyLWZyaWVuZGx5LW5hbWUgfCBwYXRpZW50LXJlcG9ydGVkLW5hbWUgfCBtYW51ZmFjdHVyZXItbmFtZSB8IG1vZGVsLW5hbWUgfCBvdGhlciIgZGVmaW5pdGlvbj0iVGhlIHR5cGUgb2YgZGV2aWNlTmFtZS4mIzEwO1VESUxhYmVsTmFtZSB8IFVzZXJGcmllbmRseU5hbWUgfCBQYXRpZW50UmVwb3J0ZWROYW1lIHwgTWFudWZhY3R1cmVEZXZpY2VOYW1lIHwgTW9kZWxOYW1lLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkRldmljZU5hbWVUeXBlIiBkZXNjcmlwdGlvbj0iVGhlIHR5cGUgb2YgbmFtZSB0aGUgZGV2aWNlIGlzIHJlZmVycmVkIGJ5LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRGV2aWNlLlByb3BlcnR5IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb2RlIHRoYXQgc3BlY2lmaWVzIHRoZSBwcm9wZXJ0eSBEZXZpY2VEZWZpbml0aW9uUHJvcGV0eUNvZGUgKEV4dGVuc2libGUpIiBkZWZpbml0aW9uPSJDb2RlIHRoYXQgc3BlY2lmaWVzIHRoZSBwcm9wZXJ0eSBEZXZpY2VEZWZpbml0aW9uUHJvcGV0eUNvZGUgKEV4dGVuc2libGUpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUHJvcGVydHkgdmFsdWUgYXMgYSBxdWFudGl0eSIgZGVmaW5pdGlvbj0iUHJvcGVydHkgdmFsdWUgYXMgYSBxdWFudGl0eS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5Ii8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlByb3BlcnR5IHZhbHVlIGFzIGEgY29kZSwgZS5nLiwgTlRQNCAoc3luY2VkIHRvIE5UUCkiIGRlZmluaXRpb249IlByb3BlcnR5IHZhbHVlIGFzIGEgY29kZSwgZS5nLiwgTlRQNCAoc3luY2VkIHRvIE5UUCkuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRGV2aWNlLlNwZWNpYWxpemF0aW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzeXN0ZW1UeXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgc3RhbmRhcmQgdGhhdCBpcyB1c2VkIHRvIG9wZXJhdGUgYW5kIGNvbW11bmljYXRlIiBkZWZpbml0aW9uPSJUaGUgc3RhbmRhcmQgdGhhdCBpcyB1c2VkIHRvIG9wZXJhdGUgYW5kIGNvbW11bmljYXRlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InZlcnNpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSB2ZXJzaW9uIG9mIHRoZSBzdGFuZGFyZCB0aGF0IGlzIHVzZWQgdG8gb3BlcmF0ZSBhbmQgY29tbXVuaWNhdGUiIGRlZmluaXRpb249IlRoZSB2ZXJzaW9uIG9mIHRoZSBzdGFuZGFyZCB0aGF0IGlzIHVzZWQgdG8gb3BlcmF0ZSBhbmQgY29tbXVuaWNhdGUuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEZXZpY2UuVWRpQ2FycmllciIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlSWRlbnRpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBNYW5kYXRvcnkgZml4ZWQgcG9ydGlvbiBvZiBVREkiIGRlZmluaXRpb249IlRoZSBkZXZpY2UgaWRlbnRpZmllciAoREkpIGlzIGEgbWFuZGF0b3J5LCBmaXhlZCBwb3J0aW9uIG9mIGEgVURJIHRoYXQgaWRlbnRpZmllcyB0aGUgbGFiZWxlciBhbmQgdGhlIHNwZWNpZmljIHZlcnNpb24gb3IgbW9kZWwgb2YgYSBkZXZpY2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Imlzc3VlciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVURJIElzc3VpbmcgT3JnYW5pemF0aW9uIiBkZWZpbml0aW9uPSJPcmdhbml6YXRpb24gdGhhdCBpcyBjaGFyZ2VkIHdpdGggaXNzdWluZyBVRElzIGZvciBkZXZpY2VzLiAgRm9yIGV4YW1wbGUsIHRoZSBVUyBGREEgaXNzdWVycyBpbmNsdWRlIDomIzEwOzEpIEdTMTogJiMxMDtodHRwOi8vaGw3Lm9yZy9maGlyL05hbWluZ1N5c3RlbS9nczEtZGksICYjMTA7MikgSElCQ0M6JiMxMDtodHRwOi8vaGw3Lm9yZy9maGlyL05hbWluZ1N5c3RlbS9oaWJjYy1kSSwgJiMxMDszKSBJQ0NCQkEgZm9yIGJsb29kIGNvbnRhaW5lcnM6JiMxMDtodHRwOi8vaGw3Lm9yZy9maGlyL05hbWluZ1N5c3RlbS9pY2NiYmEtYmxvb2QtZGksICYjMTA7NCkgSUNDQkEgZm9yIG90aGVyIGRldmljZXM6JiMxMDtodHRwOi8vaGw3Lm9yZy9maGlyL05hbWluZ1N5c3RlbS9pY2NiYmEtb3RoZXItZGkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ianVyaXNkaWN0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJSZWdpb25hbCBVREkgYXV0aG9yaXR5IiBkZWZpbml0aW9uPSJUaGUgaWRlbnRpdHkgb2YgdGhlIGF1dGhvcml0YXRpdmUgc291cmNlIGZvciBVREkgZ2VuZXJhdGlvbiB3aXRoaW4gYSAganVyaXNkaWN0aW9uLiAgQWxsIFVESXMgYXJlIGdsb2JhbGx5IHVuaXF1ZSB3aXRoaW4gYSBzaW5nbGUgbmFtZXNwYWNlIHdpdGggdGhlIGFwcHJvcHJpYXRlIHJlcG9zaXRvcnkgdXJpIGFzIHRoZSBzeXN0ZW0uICBGb3IgZXhhbXBsZSwgIFVESXMgb2YgZGV2aWNlcyBtYW5hZ2VkIGluIHRoZSBVLlMuIGJ5IHRoZSBGREEsIHRoZSB2YWx1ZSBpcyAgaHR0cDovL2hsNy5vcmcvZmhpci9OYW1pbmdTeXN0ZW0vZmRhLXVkaS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXJyaWVyQUlEQyIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVURJIE1hY2hpbmUgUmVhZGFibGUgQmFyY29kZSBTdHJpbmciIGRlZmluaXRpb249IlRoZSBmdWxsIFVESSBjYXJyaWVyIG9mIHRoZSBBdXRvbWF0aWMgSWRlbnRpZmljYXRpb24gYW5kIERhdGEgQ2FwdHVyZSAoQUlEQykgdGVjaG5vbG9neSByZXByZXNlbnRhdGlvbiBvZiB0aGUgYmFyY29kZSBzdHJpbmcgYXMgcHJpbnRlZCBvbiB0aGUgcGFja2FnaW5nIG9mIHRoZSBkZXZpY2UgLSBlLmcuLCBhIGJhcmNvZGUgb3IgUkZJRC4gICBCZWNhdXNlIG9mIGxpbWl0YXRpb25zIG9uIGNoYXJhY3RlciBzZXRzIGluIFhNTCBhbmQgdGhlIG5lZWQgdG8gcm91bmQtdHJpcCBKU09OIGRhdGEgdGhyb3VnaCBYTUwsIEFJREMgRm9ybWF0cyAqU0hBTEwqIGJlIGJhc2U2NCBlbmNvZGVkLiIgY29tbWVudD0iVGhlIEFJREMgZm9ybSBvZiBVRElzIHNob3VsZCBiZSBzY2FubmVkIG9yIG90aGVyd2lzZSB1c2VkIGZvciB0aGUgaWRlbnRpZmljYXRpb24gb2YgdGhlIGRldmljZSB3aGVuZXZlciBwb3NzaWJsZSB0byBtaW5pbWl6ZSBlcnJvcnMgaW4gcmVjb3JkcyByZXN1bHRpbmcgZnJvbSBtYW51YWwgdHJhbnNjcmlwdGlvbnMuIElmIHNlcGFyYXRlIGJhcmNvZGVzIGZvciBESSBhbmQgUEkgYXJlIHByZXNlbnQsIGNvbmNhdGVuYXRlIHRoZSBzdHJpbmcgd2l0aCBESSBmaXJzdCBhbmQgaW4gb3JkZXIgb2YgaHVtYW4gcmVhZGFibGUgZXhwcmVzc2lvbiBvbiBsYWJlbC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXJyaWVySFJGIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFVESSBIdW1hbiBSZWFkYWJsZSBCYXJjb2RlIFN0cmluZyIgZGVmaW5pdGlvbj0iVGhlIGZ1bGwgVURJIGNhcnJpZXIgYXMgdGhlIGh1bWFuIHJlYWRhYmxlIGZvcm0gKEhSRikgcmVwcmVzZW50YXRpb24gb2YgdGhlIGJhcmNvZGUgc3RyaW5nIGFzIHByaW50ZWQgb24gdGhlIHBhY2thZ2luZyBvZiB0aGUgZGV2aWNlLiIgY29tbWVudD0iSWYgc2VwYXJhdGUgYmFyY29kZXMgZm9yIERJIGFuZCBQSSBhcmUgcHJlc2VudCwgY29uY2F0ZW5hdGUgdGhlIHN0cmluZyB3aXRoIERJIGZpcnN0IGFuZCBpbiBvcmRlciBvZiBodW1hbiByZWFkYWJsZSBleHByZXNzaW9uIG9uIGxhYmVsLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbnRyeVR5cGUiIGVsZW1lbnRUeXBlPSJRSUNvcmUuVURJRW50cnlUeXBlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImJhcmNvZGUgfCByZmlkIHwgbWFudWFsICsiIGRlZmluaXRpb249IkEgY29kZWQgZW50cnkgdG8gaW5kaWNhdGUgaG93IHRoZSBkYXRhIHdhcyBlbnRlcmVkLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlVESUVudHJ5VHlwZSIgZGVzY3JpcHRpb249IkNvZGVzIHRvIGlkZW50aWZ5IGhvdyBVREkgZGF0YSB3YXMgZW50ZXJlZC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRldmljZS5WZXJzaW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgdHlwZSBvZiB0aGUgZGV2aWNlIHZlcnNpb24iIGRlZmluaXRpb249IlRoZSB0eXBlIG9mIHRoZSBkZXZpY2UgdmVyc2lvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb21wb25lbnQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgZGVzY3JpcHRpb249IkEgc2luZ2xlIGNvbXBvbmVudCBvZiB0aGUgZGV2aWNlIHZlcnNpb24iIGRlZmluaXRpb249IkEgc2luZ2xlIGNvbXBvbmVudCBvZiB0aGUgZGV2aWNlIHZlcnNpb24uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSB2ZXJzaW9uIHRleHQiIGRlZmluaXRpb249IlRoZSB2ZXJzaW9uIHRleHQuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEZXZpY2VOYW1lVHlwZSIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEZXZpY2VOb3RSZXF1ZXN0ZWQiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWRldmljZW5vdHJlcXVlc3RlZCIgbGFiZWw9IlFJQ29yZSBEZXZpY2UgTm90IFJlcXVlc3RlZCIgdGFyZ2V0PSJEZXZpY2VSZXF1ZXN0IiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkb05vdFBlcmZvcm1SZWFzb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuRG9Ob3RQZXJmb3JtUmVhc29uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCglcGFyZW50LmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWRvTm90UGVyZm9ybVJlYXNvbiddLnZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBFeHRlbnNpb24iIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgcmVhc29uIHRoZSBldmVudCB3YXMgbm90IHBlcmZvcm1lZC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkb05vdFBlcmZvcm0iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIlcGFyZW50Lm1vZGlmaWVyRXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci81LjAvU3RydWN0dXJlRGVmaW5pdGlvbi9leHRlbnNpb24tRGV2aWNlUmVxdWVzdC5kb05vdFBlcmZvcm0nXS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBFeHRlbnNpb24iIGRlZmluaXRpb249IkFuIEV4dGVuc2lvbiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJFeHRlcm5hbCBSZXF1ZXN0IGlkZW50aWZpZXIiIGRlZmluaXRpb249IklkZW50aWZpZXJzIGFzc2lnbmVkIHRvIHRoaXMgb3JkZXIgYnkgdGhlIG9yZGVyZXIgb3IgYnkgdGhlIHJlY2VpdmVyLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNDYW5vbmljYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIEZISVIgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhIEZISVItZGVmaW5lZCBwcm90b2NvbCwgZ3VpZGVsaW5lLCBvcmRlcnNldCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgRGV2aWNlUmVxdWVzdC4iIGNvbW1lbnQ9Ik5vdGU6IFRoaXMgaXMgYSBidXNpbmVzcyBpZGVudGlmaWVyLCBub3QgYSByZXNvdXJjZSBpZGVudGlmaWVyIChzZWUgW2Rpc2N1c3Npb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcmVzb3VyY2UuaHRtbCNpZGVudGlmaWVycykpLiAgSXQgaXMgYmVzdCBwcmFjdGljZSBmb3IgdGhlIGlkZW50aWZpZXIgdG8gb25seSBhcHBlYXIgb24gYSBzaW5nbGUgcmVzb3VyY2UgaW5zdGFuY2UsIGhvd2V2ZXIgYnVzaW5lc3MgcHJhY3RpY2VzIG1heSBvY2Nhc2lvbmFsbHkgZGljdGF0ZSB0aGF0IG11bHRpcGxlIHJlc291cmNlIGluc3RhbmNlcyB3aXRoIHRoZSBzYW1lIGlkZW50aWZpZXIgY2FuIGV4aXN0IC0gcG9zc2libHkgZXZlbiB3aXRoIGRpZmZlcmVudCByZXNvdXJjZSB0eXBlcy4gIEZvciBleGFtcGxlLCBtdWx0aXBsZSBQYXRpZW50IGFuZCBhIFBlcnNvbiByZXNvdXJjZSBpbnN0YW5jZSBtaWdodCBzaGFyZSB0aGUgc2FtZSBzb2NpYWwgaW5zdXJhbmNlIG51bWJlci4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNVcmkiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIGV4dGVybmFsIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYW4gZXh0ZXJuYWxseSBtYWludGFpbmVkIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyc2V0IG9yIG90aGVyIGRlZmluaXRpb24gdGhhdCBpcyBhZGhlcmVkIHRvIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBEZXZpY2VSZXF1ZXN0LiIgY29tbWVudD0iVGhpcyBtaWdodCBiZSBhbiBIVE1MIHBhZ2UsIFBERiwgZXRjLiBvciBjb3VsZCBqdXN0IGJlIGEgbm9uLXJlc29sdmFibGUgVVJJIGlkZW50aWZpZXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IldoYXQgcmVxdWVzdCBmdWxmaWxscyIgZGVmaW5pdGlvbj0iUGxhbi9wcm9wb3NhbC9vcmRlciBmdWxmaWxsZWQgYnkgdGhpcyByZXF1ZXN0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InByaW9yUmVxdWVzdCIgZGVzY3JpcHRpb249IldoYXQgcmVxdWVzdCByZXBsYWNlcyIgZGVmaW5pdGlvbj0iVGhlIHJlcXVlc3QgdGFrZXMgdGhlIHBsYWNlIG9mIHRoZSByZWZlcmVuY2VkIGNvbXBsZXRlZCBvciB0ZXJtaW5hdGVkIHJlcXVlc3QocykuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZ3JvdXBJZGVudGlmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVyIG9mIGNvbXBvc2l0ZSByZXF1ZXN0IiBkZWZpbml0aW9uPSJDb21wb3NpdGUgcmVxdWVzdCB0aGlzIGlzIHBhcnQgb2YuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLkRldmljZVJlcXVlc3RTdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIGRyYWZ0IHwgYWN0aXZlIHwgb24taG9sZCB8IHJldm9rZWQgfCBjb21wbGV0ZWQgfCBlbnRlcmVkLWluLWVycm9yIHwgdW5rbm93biIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVxdWVzdC4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIHRoZSBjb2RlcyBjYW5jZWxsZWQgYW5kIGVudGVyZWQtaW4tZXJyb3IgdGhhdCBtYXJrIHRoZSByZXF1ZXN0IGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRGV2aWNlUmVxdWVzdFN0YXR1cyIgZGVzY3JpcHRpb249IkNvZGVzIHJlcHJlc2VudGluZyB0aGUgc3RhdHVzIG9mIHRoZSByZXF1ZXN0LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImludGVudCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZXF1ZXN0SW50ZW50IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBwcm9wb3NhbCB8IHBsYW4gfCBkaXJlY3RpdmUgfCBvcmRlciB8IG9yaWdpbmFsLW9yZGVyIHwgcmVmbGV4LW9yZGVyIHwgZmlsbGVyLW9yZGVyIHwgaW5zdGFuY2Utb3JkZXIgfCBvcHRpb24iIGRlZmluaXRpb249IldoZXRoZXIgdGhlIHJlcXVlc3QgaXMgYSBwcm9wb3NhbCwgcGxhbiwgYW4gb3JpZ2luYWwgb3JkZXIgb3IgYSByZWZsZXggb3JkZXIuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUmVxdWVzdEludGVudCIgZGVzY3JpcHRpb249IlRoZSBraW5kIG9mIGRpYWdub3N0aWMgcmVxdWVzdC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcmlvcml0eSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZXF1ZXN0UHJpb3JpdHkiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icm91dGluZSB8IHVyZ2VudCB8IGFzYXAgfCBzdGF0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgaG93IHF1aWNrbHkgdGhlIHt7dGl0bGV9fSBzaG91bGQgYmUgYWRkcmVzc2VkIHdpdGggcmVzcGVjdCB0byBvdGhlciByZXF1ZXN0cy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJSZXF1ZXN0UHJpb3JpdHkiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVzIHRoZSBsZXZlbCBvZiBpbXBvcnRhbmNlIHRvIGJlIGFzc2lnbmVkIHRvIGFjdGlvbmluZyB0aGUgcmVxdWVzdC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiB0YXJnZXQ9IlN5c3RlbS5Db25jZXB0OkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpO1N5c3RlbS5WYWx1ZVNldDpGSElSSGVscGVycy5Ub1ZhbHVlU2V0KCVwYXJlbnQuY29kZVt4XS5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1ub3REb25lVmFsdWVTZXQnXS52YWx1ZS52YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgRGV2aWNlIHJlcXVlc3RlZCIgZGVmaW5pdGlvbj0iVGhlIGRldGFpbHMgb2YgdGhlIGRldmljZSB0byBiZSB1c2VkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJWYWx1ZVNldCIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhcmFtZXRlciIgZGVzY3JpcHRpb249IkRldmljZSBkZXRhaWxzIiBkZWZpbml0aW9uPSJTcGVjaWZpYyBwYXJhbWV0ZXJzIGZvciB0aGUgb3JkZXJlZCBpdGVtLiAgRm9yIGV4YW1wbGUsIHRoZSBwcmlzbSB2YWx1ZSBmb3IgbGVuc2VzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRGV2aWNlUmVxdWVzdC5QYXJhbWV0ZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgRm9jdXMgb2YgcmVxdWVzdCIgZGVmaW5pdGlvbj0iVGhlIHBhdGllbnQgd2hvIHdpbGwgdXNlIHRoZSBkZXZpY2UuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkVuY291bnRlciBtb3RpdmF0aW5nIHJlcXVlc3QiIGRlZmluaXRpb249IkFuIGVuY291bnRlciB0aGF0IHByb3ZpZGVzIGFkZGl0aW9uYWwgY29udGV4dCBpbiB3aGljaCB0aGlzIHJlcXVlc3QgaXMgbWFkZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJvY2N1cnJlbmNlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkRlc2lyZWQgdGltZSBvciBzY2hlZHVsZSBmb3IgdXNlIiBkZWZpbml0aW9uPSJUaGUgdGltaW5nIHNjaGVkdWxlIGZvciB0aGUgdXNlIG9mIHRoZSBkZXZpY2UuIFRoZSBTY2hlZHVsZSBkYXRhIHR5cGUgYWxsb3dzIG1hbnkgZGlmZmVyZW50IGV4cHJlc3Npb25zLCBmb3IgZXhhbXBsZS4gJnF1b3Q7RXZlcnkgOCBob3VycyZxdW90OzsgJnF1b3Q7VGhyZWUgdGltZXMgYSBkYXkmcXVvdDs7ICZxdW90OzEvMiBhbiBob3VyIGJlZm9yZSBicmVha2Zhc3QgZm9yIDEwIGRheXMgZnJvbSAyMy1EZWMgMjAxMTomcXVvdDs7ICZxdW90OzE1IE9jdCAyMDEzLCAxNyBPY3QgMjAxMyBhbmQgMSBOb3YgMjAxMyZxdW90Oy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGltaW5nIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImF1dGhvcmVkT24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFdoZW4gcmVjb3JkZWQiIGRlZmluaXRpb249IldoZW4gdGhlIHJlcXVlc3QgdHJhbnNpdGlvbmVkIHRvIGJlaW5nIGFjdGlvbmFibGUuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVxdWVzdGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249Ildoby93aGF0IGlzIHJlcXVlc3RpbmcgZGlhZ25vc3RpY3MiIGRlZmluaXRpb249IlRoZSBpbmRpdmlkdWFsIHdobyBpbml0aWF0ZWQgdGhlIHJlcXVlc3QgYW5kIGhhcyByZXNwb25zaWJpbGl0eSBmb3IgaXRzIGFjdGl2YXRpb24uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyVHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRmlsbGVyIHJvbGUiIGRlZmluaXRpb249IkRlc2lyZWQgdHlwZSBvZiBwZXJmb3JtZXIgZm9yIGRvaW5nIHRoZSBkaWFnbm9zdGljIHRlc3RpbmcuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRGV2aWNlUmVxdWVzdFBhcnRpY2lwYW50Um9sZSIgZGVzY3JpcHRpb249IkluZGljYXRlcyBzcGVjaWZpYyByZXNwb25zaWJpbGl0eSBvZiBhbiBpbmRpdmlkdWFsIHdpdGhpbiB0aGUgY2FyZSB0ZWFtLCBzdWNoIGFzICZxdW90O1ByaW1hcnkgcGh5c2ljaWFuJnF1b3Q7LCAmcXVvdDtUZWFtIGNvb3JkaW5hdG9yJnF1b3Q7LCAmcXVvdDtDYXJlZ2l2ZXImcXVvdDssIGV0Yy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJSZXF1ZXN0ZWQgRmlsbGVyIiBkZWZpbml0aW9uPSJUaGUgZGVzaXJlZCBwZXJmb3JtZXIgZm9yIGRvaW5nIHRoZSBkaWFnbm9zdGljIHRlc3RpbmcuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvZGVkIFJlYXNvbiBmb3IgcmVxdWVzdCIgZGVmaW5pdGlvbj0iUmVhc29uIG9yIGp1c3RpZmljYXRpb24gZm9yIHRoZSB1c2Ugb2YgdGhpcyBkZXZpY2UuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkRldmljZVJlcXVlc3RSZWFzb24iIGRlc2NyaXB0aW9uPSJEaWFnbm9zaXMgb3IgcHJvYmxlbSBjb2RlcyBqdXN0aWZ5aW5nIHRoZSByZWFzb24gZm9yIHJlcXVlc3RpbmcgdGhlIGRldmljZS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvblJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkxpbmtlZCBSZWFzb24gZm9yIHJlcXVlc3QiIGRlZmluaXRpb249IlJlYXNvbiBvciBqdXN0aWZpY2F0aW9uIGZvciB0aGUgdXNlIG9mIHRoaXMgZGV2aWNlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3VyYW5jZSIgZGVzY3JpcHRpb249IkFzc29jaWF0ZWQgaW5zdXJhbmNlIGNvdmVyYWdlIiBkZWZpbml0aW9uPSJJbnN1cmFuY2UgcGxhbnMsIGNvdmVyYWdlIGV4dGVuc2lvbnMsIHByZS1hdXRob3JpemF0aW9ucyBhbmQvb3IgcHJlLWRldGVybWluYXRpb25zIHRoYXQgbWF5IGJlIHJlcXVpcmVkIGZvciBkZWxpdmVyaW5nIHRoZSByZXF1ZXN0ZWQgc2VydmljZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdXBwb3J0aW5nSW5mbyIgZGVzY3JpcHRpb249IkFkZGl0aW9uYWwgY2xpbmljYWwgaW5mb3JtYXRpb24iIGRlZmluaXRpb249IkFkZGl0aW9uYWwgY2xpbmljYWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHBhdGllbnQgdGhhdCBtYXkgaW5mbHVlbmNlIHRoZSByZXF1ZXN0IGZ1bGZpbG1lbnQuICBGb3IgZXhhbXBsZSwgdGhpcyBtYXkgaW5jbHVkZSB3aGVyZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgdGhlIGRldmljZSB3aWxsIGJlIHVzZWQgKGkuZS4gdGhlIHRhcmdldCBzaXRlKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iTm90ZXMgb3IgY29tbWVudHMiIGRlZmluaXRpb249IkRldGFpbHMgYWJvdXQgdGhpcyByZXF1ZXN0IHRoYXQgd2VyZSBub3QgcmVwcmVzZW50ZWQgYXQgYWxsIG9yIHN1ZmZpY2llbnRseSBpbiBvbmUgb2YgdGhlIGF0dHJpYnV0ZXMgcHJvdmlkZWQgaW4gYSBjbGFzcy4gVGhlc2UgbWF5IGluY2x1ZGUgZm9yIGV4YW1wbGUgYSBjb21tZW50LCBhbiBpbnN0cnVjdGlvbiwgb3IgYSBub3RlIGFzc29jaWF0ZWQgd2l0aCB0aGUgc3RhdGVtZW50LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWxldmFudEhpc3RvcnkiIGRlc2NyaXB0aW9uPSJSZXF1ZXN0IHByb3ZlbmFuY2UiIGRlZmluaXRpb249IktleSBldmVudHMgaW4gdGhlIGhpc3Rvcnkgb2YgdGhlIHJlcXVlc3QuIiBjb21tZW50PSJUaGlzIG1pZ2h0IG5vdCBpbmNsdWRlIHByb3ZlbmFuY2VzIGZvciBhbGwgdmVyc2lvbnMgb2YgdGhlIHJlcXVlc3QgLSBvbmx5IHRob3NlIGRlZW1lZCAmcXVvdDtyZWxldmFudCZxdW90OyBvciBpbXBvcnRhbnQuJiMxMztUaGlzIFNIQUxMIE5PVCBpbmNsdWRlIHRoZSBQcm92ZW5hbmNlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgcmVzb3VyY2UuICAoSWYgdGhhdCBwcm92ZW5hbmNlIGlzIGRlZW1lZCB0byBiZSBhICZxdW90O3JlbGV2YW50JnF1b3Q7IGNoYW5nZSwgaXQgd2lsbCBuZWVkIHRvIGJlIGFkZGVkIGFzIHBhcnQgb2YgYSBsYXRlciB1cGRhdGUuICBVbnRpbCB0aGVuLCBpdCBjYW4gYmUgcXVlcmllZCBkaXJlY3RseSBhcyB0aGUgUHJvdmVuYW5jZSB0aGF0IHBvaW50cyB0byB0aGlzIHZlcnNpb24gdXNpbmcgX3JldmluY2x1ZGUmIzEzO0FsbCBQcm92ZW5hbmNlcyBzaG91bGQgaGF2ZSBzb21lIGhpc3RvcmljYWwgdmVyc2lvbiBvZiB0aGlzIFJlcXVlc3QgYXMgdGhlaXIgc3ViamVjdC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRldmljZVJlcXVlc3QiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWRldmljZXJlcXVlc3QiIGxhYmVsPSJRSUNvcmUgRGV2aWNlUmVxdWVzdCIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY29kZSIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZG9Ob3RQZXJmb3JtIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXBhcmVudC5tb2RpZmllckV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvNS4wL1N0cnVjdHVyZURlZmluaXRpb24vZXh0ZW5zaW9uLURldmljZVJlcXVlc3QuZG9Ob3RQZXJmb3JtJ10udmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgRXh0ZW5zaW9uIiBkZWZpbml0aW9uPSJBbiBFeHRlbnNpb24iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIEV4dGVybmFsIFJlcXVlc3QgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcnMgYXNzaWduZWQgdG8gdGhpcyBvcmRlciBieSB0aGUgb3JkZXJlciBvciBieSB0aGUgcmVjZWl2ZXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc0Nhbm9uaWNhbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgRkhJUiBwcm90b2NvbCBvciBkZWZpbml0aW9uIiBkZWZpbml0aW9uPSJUaGUgVVJMIHBvaW50aW5nIHRvIGEgRkhJUi1kZWZpbmVkIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyc2V0IG9yIG90aGVyIGRlZmluaXRpb24gdGhhdCBpcyBhZGhlcmVkIHRvIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBEZXZpY2VSZXF1ZXN0LiIgY29tbWVudD0iTm90ZTogVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIgKHNlZSBbZGlzY3Vzc2lvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS5odG1sI2lkZW50aWZpZXJzKSkuICBJdCBpcyBiZXN0IHByYWN0aWNlIGZvciB0aGUgaWRlbnRpZmllciB0byBvbmx5IGFwcGVhciBvbiBhIHNpbmdsZSByZXNvdXJjZSBpbnN0YW5jZSwgaG93ZXZlciBidXNpbmVzcyBwcmFjdGljZXMgbWF5IG9jY2FzaW9uYWxseSBkaWN0YXRlIHRoYXQgbXVsdGlwbGUgcmVzb3VyY2UgaW5zdGFuY2VzIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllciBjYW4gZXhpc3QgLSBwb3NzaWJseSBldmVuIHdpdGggZGlmZmVyZW50IHJlc291cmNlIHR5cGVzLiAgRm9yIGV4YW1wbGUsIG11bHRpcGxlIFBhdGllbnQgYW5kIGEgUGVyc29uIHJlc291cmNlIGluc3RhbmNlIG1pZ2h0IHNoYXJlIHRoZSBzYW1lIHNvY2lhbCBpbnN1cmFuY2UgbnVtYmVyLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc1VyaSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgZXh0ZXJuYWwgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhbiBleHRlcm5hbGx5IG1haW50YWluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXJzZXQgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIERldmljZVJlcXVlc3QuIiBjb21tZW50PSJUaGlzIG1pZ2h0IGJlIGFuIEhUTUwgcGFnZSwgUERGLCBldGMuIG9yIGNvdWxkIGp1c3QgYmUgYSBub24tcmVzb2x2YWJsZSBVUkkgaWRlbnRpZmllci4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iV2hhdCByZXF1ZXN0IGZ1bGZpbGxzIiBkZWZpbml0aW9uPSJQbGFuL3Byb3Bvc2FsL29yZGVyIGZ1bGZpbGxlZCBieSB0aGlzIHJlcXVlc3QuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJpb3JSZXF1ZXN0IiBkZXNjcmlwdGlvbj0iV2hhdCByZXF1ZXN0IHJlcGxhY2VzIiBkZWZpbml0aW9uPSJUaGUgcmVxdWVzdCB0YWtlcyB0aGUgcGxhY2Ugb2YgdGhlIHJlZmVyZW5jZWQgY29tcGxldGVkIG9yIHRlcm1pbmF0ZWQgcmVxdWVzdChzKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJncm91cElkZW50aWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgZGVzY3JpcHRpb249IklkZW50aWZpZXIgb2YgY29tcG9zaXRlIHJlcXVlc3QiIGRlZmluaXRpb249IkNvbXBvc2l0ZSByZXF1ZXN0IHRoaXMgaXMgcGFydCBvZi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRGV2aWNlUmVxdWVzdFN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgZHJhZnQgfCBhY3RpdmUgfCBvbi1ob2xkIHwgcmV2b2tlZCB8IGNvbXBsZXRlZCB8IGVudGVyZWQtaW4tZXJyb3IgfCB1bmtub3duIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSByZXF1ZXN0LiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgdGhlIGNvZGVzIGNhbmNlbGxlZCBhbmQgZW50ZXJlZC1pbi1lcnJvciB0aGF0IG1hcmsgdGhlIHJlcXVlc3QgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJEZXZpY2VSZXF1ZXN0U3RhdHVzIiBkZXNjcmlwdGlvbj0iQ29kZXMgcmVwcmVzZW50aW5nIHRoZSBzdGF0dXMgb2YgdGhlIHJlcXVlc3QuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZW50IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlcXVlc3RJbnRlbnQiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIHByb3Bvc2FsIHwgcGxhbiB8IGRpcmVjdGl2ZSB8IG9yZGVyIHwgb3JpZ2luYWwtb3JkZXIgfCByZWZsZXgtb3JkZXIgfCBmaWxsZXItb3JkZXIgfCBpbnN0YW5jZS1vcmRlciB8IG9wdGlvbiIgZGVmaW5pdGlvbj0iV2hldGhlciB0aGUgcmVxdWVzdCBpcyBhIHByb3Bvc2FsLCBwbGFuLCBhbiBvcmlnaW5hbCBvcmRlciBvciBhIHJlZmxleCBvcmRlci4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJSZXF1ZXN0SW50ZW50IiBkZXNjcmlwdGlvbj0iVGhlIGtpbmQgb2YgZGlhZ25vc3RpYyByZXF1ZXN0LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InByaW9yaXR5IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlcXVlc3RQcmlvcml0eSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyb3V0aW5lIHwgdXJnZW50IHwgYXNhcCB8IHN0YXQiIGRlZmluaXRpb249IkluZGljYXRlcyBob3cgcXVpY2tseSB0aGUge3t0aXRsZX19IHNob3VsZCBiZSBhZGRyZXNzZWQgd2l0aCByZXNwZWN0IHRvIG90aGVyIHJlcXVlc3RzLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlJlcXVlc3RQcmlvcml0eSIgZGVzY3JpcHRpb249IklkZW50aWZpZXMgdGhlIGxldmVsIG9mIGltcG9ydGFuY2UgdG8gYmUgYXNzaWduZWQgdG8gYWN0aW9uaW5nIHRoZSByZXF1ZXN0LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIERldmljZSByZXF1ZXN0ZWQiIGRlZmluaXRpb249IlRoZSBkZXRhaWxzIG9mIHRoZSBkZXZpY2UgdG8gYmUgdXNlZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0Ii8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGFyYW1ldGVyIiBkZXNjcmlwdGlvbj0iRGV2aWNlIGRldGFpbHMiIGRlZmluaXRpb249IlNwZWNpZmljIHBhcmFtZXRlcnMgZm9yIHRoZSBvcmRlcmVkIGl0ZW0uICBGb3IgZXhhbXBsZSwgdGhlIHByaXNtIHZhbHVlIGZvciBsZW5zZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5EZXZpY2VSZXF1ZXN0LlBhcmFtZXRlciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBGb2N1cyBvZiByZXF1ZXN0IiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCB3aG8gd2lsbCB1c2UgdGhlIGRldmljZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iRW5jb3VudGVyIG1vdGl2YXRpbmcgcmVxdWVzdCIgZGVmaW5pdGlvbj0iQW4gZW5jb3VudGVyIHRoYXQgcHJvdmlkZXMgYWRkaXRpb25hbCBjb250ZXh0IGluIHdoaWNoIHRoaXMgcmVxdWVzdCBpcyBtYWRlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im9jY3VycmVuY2UiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRGVzaXJlZCB0aW1lIG9yIHNjaGVkdWxlIGZvciB1c2UiIGRlZmluaXRpb249IlRoZSB0aW1pbmcgc2NoZWR1bGUgZm9yIHRoZSB1c2Ugb2YgdGhlIGRldmljZS4gVGhlIFNjaGVkdWxlIGRhdGEgdHlwZSBhbGxvd3MgbWFueSBkaWZmZXJlbnQgZXhwcmVzc2lvbnMsIGZvciBleGFtcGxlLiAmcXVvdDtFdmVyeSA4IGhvdXJzJnF1b3Q7OyAmcXVvdDtUaHJlZSB0aW1lcyBhIGRheSZxdW90OzsgJnF1b3Q7MS8yIGFuIGhvdXIgYmVmb3JlIGJyZWFrZmFzdCBmb3IgMTAgZGF5cyBmcm9tIDIzLURlYyAyMDExOiZxdW90OzsgJnF1b3Q7MTUgT2N0IDIwMTMsIDE3IE9jdCAyMDEzIGFuZCAxIE5vdiAyMDEzJnF1b3Q7LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJUaW1pbmciLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yZWRPbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgV2hlbiByZWNvcmRlZCIgZGVmaW5pdGlvbj0iV2hlbiB0aGUgcmVxdWVzdCB0cmFuc2l0aW9uZWQgdG8gYmVpbmcgYWN0aW9uYWJsZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZXF1ZXN0ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvL3doYXQgaXMgcmVxdWVzdGluZyBkaWFnbm9zdGljcyIgZGVmaW5pdGlvbj0iVGhlIGluZGl2aWR1YWwgd2hvIGluaXRpYXRlZCB0aGUgcmVxdWVzdCBhbmQgaGFzIHJlc3BvbnNpYmlsaXR5IGZvciBpdHMgYWN0aXZhdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXJUeXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJGaWxsZXIgcm9sZSIgZGVmaW5pdGlvbj0iRGVzaXJlZCB0eXBlIG9mIHBlcmZvcm1lciBmb3IgZG9pbmcgdGhlIGRpYWdub3N0aWMgdGVzdGluZy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJEZXZpY2VSZXF1ZXN0UGFydGljaXBhbnRSb2xlIiBkZXNjcmlwdGlvbj0iSW5kaWNhdGVzIHNwZWNpZmljIHJlc3BvbnNpYmlsaXR5IG9mIGFuIGluZGl2aWR1YWwgd2l0aGluIHRoZSBjYXJlIHRlYW0sIHN1Y2ggYXMgJnF1b3Q7UHJpbWFyeSBwaHlzaWNpYW4mcXVvdDssICZxdW90O1RlYW0gY29vcmRpbmF0b3ImcXVvdDssICZxdW90O0NhcmVnaXZlciZxdW90OywgZXRjLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlJlcXVlc3RlZCBGaWxsZXIiIGRlZmluaXRpb249IlRoZSBkZXNpcmVkIHBlcmZvcm1lciBmb3IgZG9pbmcgdGhlIGRpYWdub3N0aWMgdGVzdGluZy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ29kZWQgUmVhc29uIGZvciByZXF1ZXN0IiBkZWZpbml0aW9uPSJSZWFzb24gb3IganVzdGlmaWNhdGlvbiBmb3IgdGhlIHVzZSBvZiB0aGlzIGRldmljZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRGV2aWNlUmVxdWVzdFJlYXNvbiIgZGVzY3JpcHRpb249IkRpYWdub3NpcyBvciBwcm9ibGVtIGNvZGVzIGp1c3RpZnlpbmcgdGhlIHJlYXNvbiBmb3IgcmVxdWVzdGluZyB0aGUgZGV2aWNlLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iTGlua2VkIFJlYXNvbiBmb3IgcmVxdWVzdCIgZGVmaW5pdGlvbj0iUmVhc29uIG9yIGp1c3RpZmljYXRpb24gZm9yIHRoZSB1c2Ugb2YgdGhpcyBkZXZpY2UuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdXJhbmNlIiBkZXNjcmlwdGlvbj0iQXNzb2NpYXRlZCBpbnN1cmFuY2UgY292ZXJhZ2UiIGRlZmluaXRpb249Ikluc3VyYW5jZSBwbGFucywgY292ZXJhZ2UgZXh0ZW5zaW9ucywgcHJlLWF1dGhvcml6YXRpb25zIGFuZC9vciBwcmUtZGV0ZXJtaW5hdGlvbnMgdGhhdCBtYXkgYmUgcmVxdWlyZWQgZm9yIGRlbGl2ZXJpbmcgdGhlIHJlcXVlc3RlZCBzZXJ2aWNlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1cHBvcnRpbmdJbmZvIiBkZXNjcmlwdGlvbj0iQWRkaXRpb25hbCBjbGluaWNhbCBpbmZvcm1hdGlvbiIgZGVmaW5pdGlvbj0iQWRkaXRpb25hbCBjbGluaWNhbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcGF0aWVudCB0aGF0IG1heSBpbmZsdWVuY2UgdGhlIHJlcXVlc3QgZnVsZmlsbWVudC4gIEZvciBleGFtcGxlLCB0aGlzIG1heSBpbmNsdWRlIHdoZXJlIG9uIHRoZSBzdWJqZWN0J3MgYm9keSB0aGUgZGV2aWNlIHdpbGwgYmUgdXNlZCAoaS5lLiB0aGUgdGFyZ2V0IHNpdGUpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJOb3RlcyBvciBjb21tZW50cyIgZGVmaW5pdGlvbj0iRGV0YWlscyBhYm91dCB0aGlzIHJlcXVlc3QgdGhhdCB3ZXJlIG5vdCByZXByZXNlbnRlZCBhdCBhbGwgb3Igc3VmZmljaWVudGx5IGluIG9uZSBvZiB0aGUgYXR0cmlidXRlcyBwcm92aWRlZCBpbiBhIGNsYXNzLiBUaGVzZSBtYXkgaW5jbHVkZSBmb3IgZXhhbXBsZSBhIGNvbW1lbnQsIGFuIGluc3RydWN0aW9uLCBvciBhIG5vdGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBzdGF0ZW1lbnQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlbGV2YW50SGlzdG9yeSIgZGVzY3JpcHRpb249IlJlcXVlc3QgcHJvdmVuYW5jZSIgZGVmaW5pdGlvbj0iS2V5IGV2ZW50cyBpbiB0aGUgaGlzdG9yeSBvZiB0aGUgcmVxdWVzdC4iIGNvbW1lbnQ9IlRoaXMgbWlnaHQgbm90IGluY2x1ZGUgcHJvdmVuYW5jZXMgZm9yIGFsbCB2ZXJzaW9ucyBvZiB0aGUgcmVxdWVzdCAtIG9ubHkgdGhvc2UgZGVlbWVkICZxdW90O3JlbGV2YW50JnF1b3Q7IG9yIGltcG9ydGFudC4mIzEzO1RoaXMgU0hBTEwgTk9UIGluY2x1ZGUgdGhlIFByb3ZlbmFuY2UgYXNzb2NpYXRlZCB3aXRoIHRoaXMgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSByZXNvdXJjZS4gIChJZiB0aGF0IHByb3ZlbmFuY2UgaXMgZGVlbWVkIHRvIGJlIGEgJnF1b3Q7cmVsZXZhbnQmcXVvdDsgY2hhbmdlLCBpdCB3aWxsIG5lZWQgdG8gYmUgYWRkZWQgYXMgcGFydCBvZiBhIGxhdGVyIHVwZGF0ZS4gIFVudGlsIHRoZW4sIGl0IGNhbiBiZSBxdWVyaWVkIGRpcmVjdGx5IGFzIHRoZSBQcm92ZW5hbmNlIHRoYXQgcG9pbnRzIHRvIHRoaXMgdmVyc2lvbiB1c2luZyBfcmV2aW5jbHVkZSYjMTM7QWxsIFByb3ZlbmFuY2VzIHNob3VsZCBoYXZlIHNvbWUgaGlzdG9yaWNhbCB2ZXJzaW9uIG9mIHRoaXMgUmVxdWVzdCBhcyB0aGVpciBzdWJqZWN0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9InJlcXVlc3RlciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9InBlcmZvcm1lciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJzdWJqZWN0Ii8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBlcmZvcm1lciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IkVuY291bnRlciIgcmVsYXRlZEtleUVsZW1lbnQ9ImVuY291bnRlciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IkRldmljZSIgcmVsYXRlZEtleUVsZW1lbnQ9ImNvZGUgYXMgUmVmZXJlbmNlKSIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IkRldmljZSIgcmVsYXRlZEtleUVsZW1lbnQ9InN1YmplY3QiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJEZXZpY2UiIHJlbGF0ZWRLZXlFbGVtZW50PSJyZXF1ZXN0ZXIiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJEZXZpY2UiIHJlbGF0ZWRLZXlFbGVtZW50PSJwZXJmb3JtZXIiLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRldmljZVJlcXVlc3QuUGFyYW1ldGVyIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJEZXZpY2UgZGV0YWlsIiBkZWZpbml0aW9uPSJBIGNvZGUgb3Igc3RyaW5nIHRoYXQgaWRlbnRpZmllcyB0aGUgZGV2aWNlIGRldGFpbCBiZWluZyBhc3NlcnRlZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJQYXJhbWV0ZXJDb2RlIiBkZXNjcmlwdGlvbj0iQSBjb2RlIHRoYXQgaWRlbnRpZmllcyB0aGUgZGV2aWNlIGRldGFpbC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlZhbHVlIG9mIGRldGFpbCIgZGVmaW5pdGlvbj0iVGhlIHZhbHVlIG9mIHRoZSBkZXZpY2UgZGV0YWlsLiIgY29tbWVudD0iUmFuZ2UgbWVhbnMgZGV2aWNlIHNob3VsZCBoYXZlIGEgdmFsdWUgdGhhdCBmYWxscyBzb21ld2hlcmUgd2l0aGluIHRoZSBzcGVjaWZpZWQgcmFuZ2UuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkJvb2xlYW4iLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEZXZpY2VSZXF1ZXN0U3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRldmljZVVzZVN0YXRlbWVudCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtZGV2aWNldXNlc3RhdGVtZW50IiBsYWJlbD0iUUlDb3JlIERldmljZVVzZVN0YXRlbWVudCIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iZGV2aWNlLnR5cGUiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJFeHRlcm5hbCBpZGVudGlmaWVyIGZvciB0aGlzIHJlY29yZCIgZGVmaW5pdGlvbj0iQW4gZXh0ZXJuYWwgaWRlbnRpZmllciBmb3IgdGhpcyBzdGF0ZW1lbnQgc3VjaCBhcyBhbiBJUkkuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJGdWxmaWxscyBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciIgZGVmaW5pdGlvbj0iQSBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciB0aGF0IGlzIGZ1bGZpbGxlZCBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgRGV2aWNlVXNlU3RhdGVtZW50LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5EZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIGFjdGl2ZSB8IGNvbXBsZXRlZCB8IGVudGVyZWQtaW4tZXJyb3IgKyIgZGVmaW5pdGlvbj0iQSBjb2RlIHJlcHJlc2VudGluZyB0aGUgcGF0aWVudCBvciBvdGhlciBzb3VyY2UncyBqdWRnbWVudCBhYm91dCB0aGUgc3RhdGUgb2YgdGhlIGRldmljZSB1c2VkIHRoYXQgdGhpcyBzdGF0ZW1lbnQgaXMgYWJvdXQuICBHZW5lcmFsbHkgdGhpcyB3aWxsIGJlIGFjdGl2ZSBvciBjb21wbGV0ZWQuIiBjb21tZW50PSJEZXZpY2VVc2VTdGF0bWVudCBpcyBhIHN0YXRlbWVudCBhdCBhIHBvaW50IGluIHRpbWUuICBUaGUgc3RhdHVzIGlzIG9ubHkgcmVwcmVzZW50YXRpdmUgYXQgdGhlIHBvaW50IHdoZW4gaXQgd2FzIGFzc2VydGVkLiAgVGhlIHZhbHVlIHNldCBmb3IgY29udGFpbnMgY29kZXMgdGhhdCBhc3NlcnQgdGhlIHN0YXR1cyBvZiB0aGUgdXNlICBieSB0aGUgcGF0aWVudCAoZm9yIGV4YW1wbGUsIHN0b3BwZWQgb3Igb24gaG9sZCkgYXMgd2VsbCBhcyBjb2RlcyB0aGF0IGFzc2VydCB0aGUgc3RhdHVzIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgKGZvciBleGFtcGxlLCBlbnRlcmVkIGluIGVycm9yKS4mIzEzOyYjMTM7VGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgdGhlIGNvZGVzIHRoYXQgbWFyayB0aGUgc3RhdGVtZW50IGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRGV2aWNlVXNlU3RhdGVtZW50U3RhdHVzIiBkZXNjcmlwdGlvbj0iQSBjb2RlZCBjb25jZXB0IGluZGljYXRpbmcgdGhlIGN1cnJlbnQgc3RhdHVzIG9mIHRoZSBEZXZpY2UgVXNhZ2UuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgUGF0aWVudCB1c2luZyBkZXZpY2UiIGRlZmluaXRpb249IlRoZSBwYXRpZW50IHdobyB1c2VkIHRoZSBkZXZpY2UuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJTdXBwb3J0aW5nIGluZm9ybWF0aW9uIiBkZWZpbml0aW9uPSJBbGxvd3MgbGlua2luZyB0aGUgRGV2aWNlVXNlU3RhdGVtZW50IHRvIHRoZSB1bmRlcmx5aW5nIFJlcXVlc3QsIG9yIHRvIG90aGVyIGluZm9ybWF0aW9uIHRoYXQgc3VwcG9ydHMgb3IgaXMgdXNlZCB0byBkZXJpdmUgdGhlIERldmljZVVzZVN0YXRlbWVudC4iIGNvbW1lbnQ9IlRoZSBtb3N0IGNvbW1vbiB1c2UgY2FzZXMgZm9yIGRlcml2aW5nIGEgRGV2aWNlVXNlU3RhdGVtZW50IGNvbWVzIGZyb20gY3JlYXRpbmcgaXQgZnJvbSBhIHJlcXVlc3Qgb3IgZnJvbSBhbiBvYnNlcnZhdGlvbiBvciBhIGNsYWltLiBpdCBzaG91bGQgYmUgbm90ZWQgdGhhdCB0aGUgYW1vdW50IG9mIGluZm9ybWF0aW9uIHRoYXQgaXMgYXZhaWxhYmxlIHZhcmllcyBmcm9tIHRoZSB0eXBlIHJlc291cmNlIHRoYXQgeW91IGRlcml2ZSB0aGUgRGV2aWNlVXNlU3RhdGVtZW50IGZyb20uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idGltaW5nIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBIb3cgb2Z0ZW4gdGhlIGRldmljZSB3YXMgdXNlZCIgZGVmaW5pdGlvbj0iSG93IG9mdGVuIHRoZSBkZXZpY2Ugd2FzIHVzZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRpbWluZyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvcmRlZE9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBXaGVuIHN0YXRlbWVudCB3YXMgcmVjb3JkZWQiIGRlZmluaXRpb249IlRoZSB0aW1lIGF0IHdoaWNoIHRoZSBzdGF0ZW1lbnQgd2FzIG1hZGUvcmVjb3JkZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic291cmNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBtYWRlIHRoZSBzdGF0ZW1lbnQiIGRlZmluaXRpb249IldobyByZXBvcnRlZCB0aGUgZGV2aWNlIHdhcyBiZWluZyB1c2VkIGJ5IHRoZSBwYXRpZW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRldmljZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgUmVmZXJlbmNlIHRvIGRldmljZSB1c2VkIiBkZWZpbml0aW9uPSJUaGUgZGV0YWlscyBvZiB0aGUgZGV2aWNlIHVzZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoeSBkZXZpY2Ugd2FzIHVzZWQiIGRlZmluaXRpb249IlJlYXNvbiBvciBqdXN0aWZpY2F0aW9uIGZvciB0aGUgdXNlIG9mIHRoZSBkZXZpY2UuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvblJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldoeSB3YXMgRGV2aWNlVXNlU3RhdGVtZW50IHBlcmZvcm1lZD8iIGRlZmluaXRpb249IkluZGljYXRlcyBhbm90aGVyIHJlc291cmNlIHdob3NlIGV4aXN0ZW5jZSBqdXN0aWZpZXMgdGhpcyBEZXZpY2VVc2VTdGF0ZW1lbnQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBUYXJnZXQgYm9keSBzaXRlIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIGFub3RvbWljIGxvY2F0aW9uIG9uIHRoZSBzdWJqZWN0J3MgYm9keSB3aGVyZSB0aGUgZGV2aWNlIHdhcyB1c2VkICggaS5lLiB0aGUgdGFyZ2V0KS4iPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkFkZGl0aW9uIGRldGFpbHMgKGNvbW1lbnRzLCBpbnN0cnVjdGlvbnMpIiBkZWZpbml0aW9uPSJEZXRhaWxzIGFib3V0IHRoZSBkZXZpY2Ugc3RhdGVtZW50IHRoYXQgd2VyZSBub3QgcmVwcmVzZW50ZWQgYXQgYWxsIG9yIHN1ZmZpY2llbnRseSBpbiBvbmUgb2YgdGhlIGF0dHJpYnV0ZXMgcHJvdmlkZWQgaW4gYSBjbGFzcy4gVGhlc2UgbWF5IGluY2x1ZGUgZm9yIGV4YW1wbGUgYSBjb21tZW50LCBhbiBpbnN0cnVjdGlvbiwgb3IgYSBub3RlIGFzc29jaWF0ZWQgd2l0aCB0aGUgc3RhdGVtZW50LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0ic3ViamVjdCIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IkRldmljZSIgcmVsYXRlZEtleUVsZW1lbnQ9ImRldmljZSIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRGV2aWNlVXNlU3RhdGVtZW50U3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRpYWdub3N0aWNSZXBvcnQuTWVkaWEiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbW1lbnQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkNvbW1lbnQgYWJvdXQgdGhlIGltYWdlIChlLmcuIGV4cGxhbmF0aW9uKSIgZGVmaW5pdGlvbj0iQSBjb21tZW50IGFib3V0IHRoZSBpbWFnZS4gVHlwaWNhbGx5LCB0aGlzIGlzIHVzZWQgdG8gcHJvdmlkZSBhbiBleHBsYW5hdGlvbiBmb3Igd2h5IHRoZSBpbWFnZSBpcyBpbmNsdWRlZCwgb3IgdG8gZHJhdyB0aGUgdmlld2VyJ3MgYXR0ZW50aW9uIHRvIGltcG9ydGFudCBmZWF0dXJlcy4iIGNvbW1lbnQ9IlRoZSBjb21tZW50IHNob3VsZCBiZSBkaXNwbGF5ZWQgd2l0aCB0aGUgaW1hZ2UuIEl0IHdvdWxkIGJlIGNvbW1vbiBmb3IgdGhlIHJlcG9ydCB0byBpbmNsdWRlIGFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGUgaW1hZ2UgY29udGVudHMgaW4gb3RoZXIgc2VjdGlvbnMgc3VjaCBhcyB0aGUgY29uY2x1c2lvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsaW5rIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihVU0NESSkgUmVmZXJlbmNlIHRvIHRoZSBpbWFnZSBzb3VyY2UiIGRlZmluaXRpb249IlJlZmVyZW5jZSB0byB0aGUgaW1hZ2Ugc291cmNlLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRpYWdub3N0aWNSZXBvcnRMYWIiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWRpYWdub3N0aWNyZXBvcnQtbGFiIiBsYWJlbD0iUUlDb3JlIERpYWdub3N0aWNSZXBvcnQgUHJvZmlsZSBmb3IgTGFib3JhdG9yeSBSZXN1bHRzIFJlcG9ydGluZyIgdGFyZ2V0PSJEaWFnbm9zdGljUmVwb3J0IiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgaWRlbnRpZmllciBmb3IgcmVwb3J0IiBkZWZpbml0aW9uPSJJZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIHJlcG9ydCBieSB0aGUgcGVyZm9ybWVyIG9yIG90aGVyIHN5c3RlbXMuIiBjb21tZW50PSJVc3VhbGx5IGFzc2lnbmVkIGJ5IHRoZSBJbmZvcm1hdGlvbiBTeXN0ZW0gb2YgdGhlIGRpYWdub3N0aWMgc2VydmljZSBwcm92aWRlciAoZmlsbGVyIGlkKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IldoYXQgd2FzIHJlcXVlc3RlZCIgZGVmaW5pdGlvbj0iRGV0YWlscyBjb25jZXJuaW5nIGEgc2VydmljZSByZXF1ZXN0ZWQuIiBjb21tZW50PSJOb3RlOiBVc3VhbGx5IHRoZXJlIGlzIG9uZSB0ZXN0IHJlcXVlc3QgZm9yIGVhY2ggcmVzdWx0LCBob3dldmVyIGluIHNvbWUgY2lyY3Vtc3RhbmNlcyBtdWx0aXBsZSB0ZXN0IHJlcXVlc3RzIG1heSBiZSByZXByZXNlbnRlZCB1c2luZyBhIHNpbmdsZSB0ZXN0IHJlc3VsdCByZXNvdXJjZS4gTm90ZSB0aGF0IHRoZXJlIGFyZSBhbHNvIGNhc2VzIHdoZXJlIG9uZSByZXF1ZXN0IGxlYWRzIHRvIG11bHRpcGxlIHJlcG9ydHMuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihVU0NESSkgcmVnaXN0ZXJlZCB8IHBhcnRpYWwgfCBwcmVsaW1pbmFyeSB8IGZpbmFsICsiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIGRpYWdub3N0aWMgcmVwb3J0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFNlcnZpY2UgY2F0ZWdvcnkiIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGNsaW5pY2FsIGRpc2NpcGxpbmUsIGRlcGFydG1lbnQgb3IgZGlhZ25vc3RpYyBzZXJ2aWNlIHRoYXQgY3JlYXRlZCB0aGUgcmVwb3J0IChlLmcuIGNhcmRpb2xvZ3ksIGJpb2NoZW1pc3RyeSwgaGVtYXRvbG9neSwgTVJJKS4gVGhpcyBpcyB1c2VkIGZvciBzZWFyY2hpbmcsIHNvcnRpbmcgYW5kIGRpc3BsYXkgcHVycG9zZXMuIiBjb21tZW50PSJNdWx0aXBsZSBjYXRlZ29yaWVzIGFyZSBhbGxvd2VkIHVzaW5nIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcy4gICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4gTW9yZSBmaW5lLWdyYWluZWQgZmlsdGVyaW5nIGNhbiBiZSBwZXJmb3JtZWQgdXNpbmcgdGhlIG1ldGFkYXRhIGFuZC9vciB0ZXJtaW5vbG9neSBoaWVyYXJjaHkgaW4gRGlhZ25vc3RpY1JlcG9ydC5jb2RlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRGlhZ25vc3RpY1NlcnZpY2VTZWN0aW9uIiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGRpYWdub3N0aWMgc2VydmljZSBzZWN0aW9ucy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iTGFib3JhdG9yeVNsaWNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFNlcnZpY2UgY2F0ZWdvcnkiIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGNsaW5pY2FsIGRpc2NpcGxpbmUsIGRlcGFydG1lbnQgb3IgZGlhZ25vc3RpYyBzZXJ2aWNlIHRoYXQgY3JlYXRlZCB0aGUgcmVwb3J0IChlLmcuIGNhcmRpb2xvZ3ksIGJpb2NoZW1pc3RyeSwgaGVtYXRvbG9neSwgTVJJKS4gVGhpcyBpcyB1c2VkIGZvciBzZWFyY2hpbmcsIHNvcnRpbmcgYW5kIGRpc3BsYXkgcHVycG9zZXMuIiBjb21tZW50PSJNdWx0aXBsZSBjYXRlZ29yaWVzIGFyZSBhbGxvd2VkIHVzaW5nIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcy4gICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4gTW9yZSBmaW5lLWdyYWluZWQgZmlsdGVyaW5nIGNhbiBiZSBwZXJmb3JtZWQgdXNpbmcgdGhlIG1ldGFkYXRhIGFuZC9vciB0ZXJtaW5vbG9neSBoaWVyYXJjaHkgaW4gRGlhZ25vc3RpY1JlcG9ydC5jb2RlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJEaWFnbm9zdGljU2VydmljZVNlY3Rpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgZGlhZ25vc3RpYyBzZXJ2aWNlIHNlY3Rpb25zLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFVTIENvcmUgTGFib3JhdG9yeSBSZXBvcnQgT3JkZXIgQ29kZSIgZGVmaW5pdGlvbj0iVGhlIHRlc3QsIHBhbmVsIG9yIGJhdHRlcnkgdGhhdCB3YXMgb3JkZXJlZC4iIGNvbW1lbnQ9IlVzYWdlTm90ZT0gVGhlIHR5cGljYWwgcGF0dGVybnMgZm9yIGNvZGVzIGFyZTogIDEpICBhIExPSU5DIGNvZGUgZWl0aGVyIGFzIGEgIHRyYW5zbGF0aW9uIGZyb20gYSAmcXVvdDtsb2NhbCZxdW90OyBjb2RlIG9yIGFzIGEgcHJpbWFyeSBjb2RlLCBvciAyKSAgYSBsb2NhbCBjb2RlIG9ubHkgaWYgbm8gc3VpdGFibGUgTE9JTkMgZXhpc3RzLCAgb3IgMykgIGJvdGggdGhlIGxvY2FsIGFuZCB0aGUgTE9JTkMgdHJhbnNsYXRpb24uICAgU3lzdGVtcyBTSEFMTCBiZSBjYXBhYmxlIG9mIHNlbmRpbmcgdGhlIGxvY2FsIGNvZGUgaWYgb25lIGV4aXN0cy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkxPSU5DIGNvZGVzIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgVGhlIHN1YmplY3Qgb2YgdGhlIHJlcG9ydCAtIHVzdWFsbHksIGJ1dCBub3QgYWx3YXlzLCB0aGUgcGF0aWVudCIgZGVmaW5pdGlvbj0iVGhlIHN1YmplY3Qgb2YgdGhlIHJlcG9ydC4gVXN1YWxseSwgYnV0IG5vdCBhbHdheXMsIHRoaXMgaXMgYSBwYXRpZW50LiBIb3dldmVyLCBkaWFnbm9zdGljIHNlcnZpY2VzIGFsc28gcGVyZm9ybSBhbmFseXNlcyBvbiBzcGVjaW1lbnMgY29sbGVjdGVkIGZyb20gYSB2YXJpZXR5IG9mIG90aGVyIHNvdXJjZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJIZWFsdGggY2FyZSBldmVudCB3aGVuIHRlc3Qgb3JkZXJlZCIgZGVmaW5pdGlvbj0iVGhlIGhlYWx0aGNhcmUgZXZlbnQgIChlLmcuIGEgcGF0aWVudCBhbmQgaGVhbHRoY2FyZSBwcm92aWRlciBpbnRlcmFjdGlvbikgd2hpY2ggdGhpcyBEaWFnbm9zdGljUmVwb3J0IGlzIGFib3V0LiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciAgYnV0IHN0aWxsIGJlIHRpZWQgdG8gdGhlIGNvbnRleHQgb2YgdGhlIGVuY291bnRlciAgKGUuZy4gcHJlLWFkbWlzc2lvbiBsYWJvcmF0b3J5IHRlc3RzKS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBEaWFnbm9zdGljYWxseSByZWxldmFudCB0aW1lICh0eXBpY2FsbHkgdGhlIHRpbWUgb2Ygc3BlY2ltZW4gY29sbGVjdGlvbikiIGRlZmluaXRpb249IlRoZSB0aW1lIG9yIHRpbWUtcGVyaW9kIHRoZSBvYnNlcnZlZCB2YWx1ZXMgYXJlIHJlbGF0ZWQgdG8uIFdoZW4gdGhlIHN1YmplY3Qgb2YgdGhlIHJlcG9ydCBpcyBhIHBhdGllbnQsIHRoaXMgaXMgdXN1YWxseSBlaXRoZXIgdGhlIHRpbWUgb2YgdGhlIHByb2NlZHVyZSBvciBvZiBzcGVjaW1lbiBjb2xsZWN0aW9uKHMpLCBidXQgdmVyeSBvZnRlbiB0aGUgc291cmNlIG9mIHRoZSBkYXRlL3RpbWUgaXMgbm90IGtub3duLCBvbmx5IHRoZSBkYXRlL3RpbWUgaXRzZWxmLiIgY29tbWVudD0iSWYgdGhlIGRpYWdub3N0aWMgcHJvY2VkdXJlIHdhcyBwZXJmb3JtZWQgb24gdGhlIHBhdGllbnQsIHRoaXMgaXMgdGhlIHRpbWUgaXQgd2FzIHBlcmZvcm1lZC4gSWYgdGhlcmUgYXJlIHNwZWNpbWVucywgdGhlIGRpYWdub3N0aWNhbGx5IHJlbGV2YW50IHRpbWUgY2FuIGJlIGRlcml2ZWQgZnJvbSB0aGUgc3BlY2ltZW4gY29sbGVjdGlvbiB0aW1lcywgYnV0IHRoZSBzcGVjaW1lbiBpbmZvcm1hdGlvbiBpcyBub3QgYWx3YXlzIGF2YWlsYWJsZSwgYW5kIHRoZSBleGFjdCByZWxhdGlvbnNoaXAgYmV0d2VlbiB0aGUgc3BlY2ltZW5zIGFuZCB0aGUgZGlhZ25vc3RpY2FsbHkgcmVsZXZhbnQgdGltZSBpcyBub3QgYWx3YXlzIGF1dG9tYXRpYy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaXNzdWVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihVU0NESSkgV2hlbiB0aGUgcmVwb3J0IHdhcyByZWxlYXNlZCIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgYW5kIHRpbWUgdGhhdCB0aGlzIHZlcnNpb24gb2YgdGhlIHJlcG9ydCB3YXMgbWFkZSBhdmFpbGFibGUgdG8gcHJvdmlkZXJzLCB0eXBpY2FsbHkgYWZ0ZXIgdGhlIHJlcG9ydCB3YXMgcmV2aWV3ZWQgYW5kIHZlcmlmaWVkLiIgY29tbWVudD0iTWF5IGJlIGRpZmZlcmVudCBmcm9tIHRoZSB1cGRhdGUgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmLCBiZWNhdXNlIHRoYXQgaXMgdGhlIHN0YXR1cyBvZiB0aGUgcmVjb3JkIChwb3RlbnRpYWxseSBhIHNlY29uZGFyeSBjb3B5KSwgbm90IHRoZSBhY3R1YWwgcmVsZWFzZSB0aW1lIG9mIHRoZSByZXBvcnQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgUmVzcG9uc2libGUgRGlhZ25vc3RpYyBTZXJ2aWNlIiBkZWZpbml0aW9uPSJUaGUgZGlhZ25vc3RpYyBzZXJ2aWNlIHRoYXQgaXMgcmVzcG9uc2libGUgZm9yIGlzc3VpbmcgdGhlIHJlcG9ydC4iIGNvbW1lbnQ9IlRoaXMgaXMgbm90IG5lY2Vzc2FyaWx5IHRoZSBzb3VyY2Ugb2YgdGhlIGF0b21pYyBkYXRhIGl0ZW1zIG9yIHRoZSBlbnRpdHkgdGhhdCBpbnRlcnByZXRlZCB0aGUgcmVzdWx0cy4gSXQgaXMgdGhlIGVudGl0eSB0aGF0IHRha2VzIHJlc3BvbnNpYmlsaXR5IGZvciB0aGUgY2xpbmljYWwgcmVwb3J0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZXN1bHRzSW50ZXJwcmV0ZXIiIGRlc2NyaXB0aW9uPSJQcmltYXJ5IHJlc3VsdCBpbnRlcnByZXRlciIgZGVmaW5pdGlvbj0iVGhlIHByYWN0aXRpb25lciBvciBvcmdhbml6YXRpb24gdGhhdCBpcyByZXNwb25zaWJsZSBmb3IgdGhlIHJlcG9ydCdzIGNvbmNsdXNpb25zIGFuZCBpbnRlcnByZXRhdGlvbnMuIiBjb21tZW50PSJNaWdodCBub3QgYmUgdGhlIHNhbWUgZW50aXR5IHRoYXQgdGFrZXMgcmVzcG9uc2liaWxpdHkgZm9yIHRoZSBjbGluaWNhbCByZXBvcnQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3BlY2ltZW4iIGRlc2NyaXB0aW9uPSJTcGVjaW1lbnMgdGhpcyByZXBvcnQgaXMgYmFzZWQgb24iIGRlZmluaXRpb249IkRldGFpbHMgYWJvdXQgdGhlIHNwZWNpbWVucyBvbiB3aGljaCB0aGlzIGRpYWdub3N0aWMgcmVwb3J0IGlzIGJhc2VkLiIgY29tbWVudD0iSWYgdGhlIHNwZWNpbWVuIGlzIHN1ZmZpY2llbnRseSBzcGVjaWZpZWQgd2l0aCBhIGNvZGUgaW4gdGhlIHRlc3QgcmVzdWx0IG5hbWUsIHRoZW4gdGhpcyBhZGRpdGlvbmFsIGRhdGEgbWF5IGJlIHJlZHVuZGFudC4gSWYgdGhlcmUgYXJlIG11bHRpcGxlIHNwZWNpbWVucywgdGhlc2UgbWF5IGJlIHJlcHJlc2VudGVkIHBlciBvYnNlcnZhdGlvbiBvciBncm91cC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZXN1bHQiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIE9ic2VydmF0aW9ucyIgZGVmaW5pdGlvbj0iW09ic2VydmF0aW9uc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sKSAgdGhhdCBhcmUgcGFydCBvZiB0aGlzIGRpYWdub3N0aWMgcmVwb3J0LiIgY29tbWVudD0iT2JzZXJ2YXRpb25zIGNhbiBjb250YWluIG9ic2VydmF0aW9ucy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW1hZ2luZ1N0dWR5IiBkZXNjcmlwdGlvbj0iUmVmZXJlbmNlIHRvIGZ1bGwgZGV0YWlscyBvZiBpbWFnaW5nIGFzc29jaWF0ZWQgd2l0aCB0aGUgZGlhZ25vc3RpYyByZXBvcnQiIGRlZmluaXRpb249Ik9uZSBvciBtb3JlIGxpbmtzIHRvIGZ1bGwgZGV0YWlscyBvZiBhbnkgaW1hZ2luZyBwZXJmb3JtZWQgZHVyaW5nIHRoZSBkaWFnbm9zdGljIGludmVzdGlnYXRpb24uIFR5cGljYWxseSwgdGhpcyBpcyBpbWFnaW5nIHBlcmZvcm1lZCBieSBESUNPTSBlbmFibGVkIG1vZGFsaXRpZXMsIGJ1dCB0aGlzIGlzIG5vdCByZXF1aXJlZC4gQSBmdWxseSBlbmFibGVkIFBBQ1Mgdmlld2VyIGNhbiB1c2UgdGhpcyBpbmZvcm1hdGlvbiB0byBwcm92aWRlIHZpZXdzIG9mIHRoZSBzb3VyY2UgaW1hZ2VzLiIgY29tbWVudD0iSW1hZ2luZ1N0dWR5IGFuZCB0aGUgaW1hZ2UgZWxlbWVudCBhcmUgc29tZXdoYXQgb3ZlcmxhcHBpbmcgLSB0eXBpY2FsbHksIHRoZSBsaXN0IG9mIGltYWdlIHJlZmVyZW5jZXMgaW4gdGhlIGltYWdlIGVsZW1lbnQgd2lsbCBhbHNvIGJlIGZvdW5kIGluIG9uZSBvZiB0aGUgaW1hZ2luZyBzdHVkeSByZXNvdXJjZXMuIEhvd2V2ZXIsIGVhY2ggY2F0ZXJzIHRvIGRpZmZlcmVudCB0eXBlcyBvZiBkaXNwbGF5cyBmb3IgZGlmZmVyZW50IHR5cGVzIG9mIHB1cnBvc2VzLiBOZWl0aGVyLCBlaXRoZXIsIG9yIGJvdGggbWF5IGJlIHByb3ZpZGVkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1lZGlhIiBkZXNjcmlwdGlvbj0iS2V5IGltYWdlcyBhc3NvY2lhdGVkIHdpdGggdGhpcyByZXBvcnQiIGRlZmluaXRpb249IkEgbGlzdCBvZiBrZXkgaW1hZ2VzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHJlcG9ydC4gVGhlIGltYWdlcyBhcmUgZ2VuZXJhbGx5IGNyZWF0ZWQgZHVyaW5nIHRoZSBkaWFnbm9zdGljIHByb2Nlc3MsIGFuZCBtYXkgYmUgZGlyZWN0bHkgb2YgdGhlIHBhdGllbnQsIG9yIG9mIHRyZWF0ZWQgc3BlY2ltZW5zIChpLmUuIHNsaWRlcyBvZiBpbnRlcmVzdCkuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5EaWFnbm9zdGljUmVwb3J0Lk1lZGlhIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbmNsdXNpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkNsaW5pY2FsIGNvbmNsdXNpb24gKGludGVycHJldGF0aW9uKSBvZiB0ZXN0IHJlc3VsdHMiIGRlZmluaXRpb249IkNvbmNpc2UgYW5kIGNsaW5pY2FsbHkgY29udGV4dHVhbGl6ZWQgc3VtbWFyeSBjb25jbHVzaW9uIChpbnRlcnByZXRhdGlvbi9pbXByZXNzaW9uKSBvZiB0aGUgZGlhZ25vc3RpYyByZXBvcnQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29uY2x1c2lvbkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgdGhlIGNsaW5pY2FsIGNvbmNsdXNpb24gb2YgdGVzdCByZXN1bHRzIiBkZWZpbml0aW9uPSJPbmUgb3IgbW9yZSBjb2RlcyB0aGF0IHJlcHJlc2VudCB0aGUgc3VtbWFyeSBjb25jbHVzaW9uIChpbnRlcnByZXRhdGlvbi9pbXByZXNzaW9uKSBvZiB0aGUgZGlhZ25vc3RpYyByZXBvcnQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkFkanVuY3REaWFnbm9zaXMiIGRlc2NyaXB0aW9uPSJEaWFnbm9zaXMgY29kZXMgcHJvdmlkZWQgYXMgYWRqdW5jdHMgdG8gdGhlIHJlcG9ydC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InByZXNlbnRlZEZvcm0iIGRlc2NyaXB0aW9uPSJFbnRpcmUgcmVwb3J0IGFzIGlzc3VlZCIgZGVmaW5pdGlvbj0iUmljaCB0ZXh0IHJlcHJlc2VudGF0aW9uIG9mIHRoZSBlbnRpcmUgcmVzdWx0IGFzIGlzc3VlZCBieSB0aGUgZGlhZ25vc3RpYyBzZXJ2aWNlLiBNdWx0aXBsZSBmb3JtYXRzIGFyZSBhbGxvd2VkIGJ1dCB0aGV5IFNIQUxMIGJlIHNlbWFudGljYWxseSBlcXVpdmFsZW50LiIgY29tbWVudD0iJnF1b3Q7YXBwbGljYXRpb24vcGRmJnF1b3Q7IGlzIHJlY29tbWVuZGVkIGFzIHRoZSBtb3N0IHJlbGlhYmxlIGFuZCBpbnRlcm9wZXJhYmxlIGluIHRoaXMgY29udGV4dC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkF0dGFjaG1lbnQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEaWFnbm9zdGljUmVwb3J0Tm90ZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtZGlhZ25vc3RpY3JlcG9ydC1ub3RlIiBsYWJlbD0iUUlDb3JlIERpYWdub3N0aWNSZXBvcnQgUHJvZmlsZSBmb3IgUmVwb3J0IGFuZCBOb3RlIEV4Y2hhbmdlIiB0YXJnZXQ9IkRpYWdub3N0aWNSZXBvcnQiIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBpZGVudGlmaWVyIGZvciByZXBvcnQiIGRlZmluaXRpb249IklkZW50aWZpZXJzIGFzc2lnbmVkIHRvIHRoaXMgcmVwb3J0IGJ5IHRoZSBwZXJmb3JtZXIgb3Igb3RoZXIgc3lzdGVtcy4iIGNvbW1lbnQ9IlVzdWFsbHkgYXNzaWduZWQgYnkgdGhlIEluZm9ybWF0aW9uIFN5c3RlbSBvZiB0aGUgZGlhZ25vc3RpYyBzZXJ2aWNlIHByb3ZpZGVyIChmaWxsZXIgaWQpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iV2hhdCB3YXMgcmVxdWVzdGVkIiBkZWZpbml0aW9uPSJEZXRhaWxzIGNvbmNlcm5pbmcgYSBzZXJ2aWNlIHJlcXVlc3RlZC4iIGNvbW1lbnQ9Ik5vdGU6IFVzdWFsbHkgdGhlcmUgaXMgb25lIHRlc3QgcmVxdWVzdCBmb3IgZWFjaCByZXN1bHQsIGhvd2V2ZXIgaW4gc29tZSBjaXJjdW1zdGFuY2VzIG11bHRpcGxlIHRlc3QgcmVxdWVzdHMgbWF5IGJlIHJlcHJlc2VudGVkIHVzaW5nIGEgc2luZ2xlIHRlc3QgcmVzdWx0IHJlc291cmNlLiBOb3RlIHRoYXQgdGhlcmUgYXJlIGFsc28gY2FzZXMgd2hlcmUgb25lIHJlcXVlc3QgbGVhZHMgdG8gbXVsdGlwbGUgcmVwb3J0cy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihVU0NESSkgcmVnaXN0ZXJlZCB8IHBhcnRpYWwgfCBwcmVsaW1pbmFyeSB8IGZpbmFsICsiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIGRpYWdub3N0aWMgcmVwb3J0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFNlcnZpY2UgQ2F0ZWdvcnkiIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGNsaW5pY2FsIGRpc2NpcGxpbmUsIGRlcGFydG1lbnQgb3IgZGlhZ25vc3RpYyBzZXJ2aWNlIHRoYXQgY3JlYXRlZCB0aGUgcmVwb3J0IChlLmcuIGNhcmRpb2xvZ3ksIGJpb2NoZW1pc3RyeSwgaGVtYXRvbG9neSwgTVJJKS4gVGhpcyBpcyB1c2VkIGZvciBzZWFyY2hpbmcsIHNvcnRpbmcgYW5kIGRpc3BsYXkgcHVycG9zZXMuIiBjb21tZW50PSJNdWx0aXBsZSBjYXRlZ29yaWVzIGFyZSBhbGxvd2VkIHVzaW5nIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcy4gICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4gTW9yZSBmaW5lLWdyYWluZWQgZmlsdGVyaW5nIGNhbiBiZSBwZXJmb3JtZWQgdXNpbmcgdGhlIG1ldGFkYXRhIGFuZC9vciB0ZXJtaW5vbG9neSBoaWVyYXJjaHkgaW4gRGlhZ25vc3RpY1JlcG9ydC5jb2RlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRGlhZ25vc3RpY1NlcnZpY2VTZWN0aW9uIiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGRpYWdub3N0aWMgc2VydmljZSBzZWN0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InVzLWNvcmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFNlcnZpY2UgY2F0ZWdvcnkiIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGNsaW5pY2FsIGRpc2NpcGxpbmUsIGRlcGFydG1lbnQgb3IgZGlhZ25vc3RpYyBzZXJ2aWNlIHRoYXQgY3JlYXRlZCB0aGUgcmVwb3J0IChlLmcuIGNhcmRpb2xvZ3ksIGJpb2NoZW1pc3RyeSwgaGVtYXRvbG9neSwgTVJJKS4gVGhpcyBpcyB1c2VkIGZvciBzZWFyY2hpbmcsIHNvcnRpbmcgYW5kIGRpc3BsYXkgcHVycG9zZXMuIiBjb21tZW50PSJNdWx0aXBsZSBjYXRlZ29yaWVzIGFyZSBhbGxvd2VkIHVzaW5nIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcy4gICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4gTW9yZSBmaW5lLWdyYWluZWQgZmlsdGVyaW5nIGNhbiBiZSBwZXJmb3JtZWQgdXNpbmcgdGhlIG1ldGFkYXRhIGFuZC9vciB0ZXJtaW5vbG9neSBoaWVyYXJjaHkgaW4gRGlhZ25vc3RpY1JlcG9ydC5jb2RlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249Ik5vdGUgdGhhdCBvdGhlciBjb2RlcyBhcmUgcGVybWl0dGVkLCBzZWUgW1JlcXVpcmVkIEJpbmRpbmdzIFdoZW4gU2xpY2luZyBieSBWYWx1ZSBTZXRzXShodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvZ2VuZXJhbC1yZXF1aXJlbWVudHMuaHRtbCNyZXF1aXJlZC1iaW5kaW5ncy13aGVuLXNsaWNpbmctYnktdmFsdWVzZXRzKSIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgUUktQ29yZSBSZXBvcnQgQ29kZSIgZGVmaW5pdGlvbj0iVGhlIHRlc3QsIHBhbmVsLCByZXBvcnQsIG9yIG5vdGUgdGhhdCB3YXMgb3JkZXJlZC4iIGNvbW1lbnQ9IlRoZSB0eXBpY2FsIHBhdHRlcm5zIGZvciBjb2RlcyBhcmU6ICAxKSAgYSBMT0lOQyBjb2RlIGVpdGhlciBhcyBhIHRyYW5zbGF0aW9uIGZyb20gYSAmcXVvdDtsb2NhbCZxdW90OyBjb2RlIG9yIGFzIGEgcHJpbWFyeSBjb2RlLCBvciAyKSAgYSBsb2NhbCBjb2RlIG9ubHkgaWYgbm8gc3VpdGFibGUgTE9JTkMgZXhpc3RzLCAgb3IgMykgIGJvdGggdGhlIGxvY2FsIGFuZCB0aGUgTE9JTkMgdHJhbnNsYXRpb24uICAgU3lzdGVtcyBTSEFMTCBiZSBjYXBhYmxlIG9mIHNlbmRpbmcgdGhlIGxvY2FsIGNvZGUgaWYgb25lIGV4aXN0cy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkxPSU5DIGNvZGVzIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgVGhlIHN1YmplY3Qgb2YgdGhlIHJlcG9ydCAtIHVzdWFsbHksIGJ1dCBub3QgYWx3YXlzLCB0aGUgcGF0aWVudCIgZGVmaW5pdGlvbj0iVGhlIHN1YmplY3Qgb2YgdGhlIHJlcG9ydC4gVXN1YWxseSwgYnV0IG5vdCBhbHdheXMsIHRoaXMgaXMgYSBwYXRpZW50LiBIb3dldmVyLCBkaWFnbm9zdGljIHNlcnZpY2VzIGFsc28gcGVyZm9ybSBhbmFseXNlcyBvbiBzcGVjaW1lbnMgY29sbGVjdGVkIGZyb20gYSB2YXJpZXR5IG9mIG90aGVyIHNvdXJjZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIEhlYWx0aCBjYXJlIGV2ZW50IHdoZW4gdGVzdCBvcmRlcmVkIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSB3aGljaCB0aGlzIERpYWdub3N0aWNSZXBvcnQgaXMgYWJvdXQuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgZXZlbnRzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyICBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyICAoZS5nLiBwcmUtYWRtaXNzaW9uIGxhYm9yYXRvcnkgdGVzdHMpLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBEaWFnbm9zdGljYWxseSByZWxldmFudCB0aW1lICh0eXBpY2FsbHkgdGhlIHRpbWUgb2YgdGhlIHByb2NlZHVyZSkiIGRlZmluaXRpb249IlRoZSB0aW1lIG9yIHRpbWUtcGVyaW9kIHRoZSBvYnNlcnZlZCB2YWx1ZXMgYXJlIHJlbGF0ZWQgdG8uIFdoZW4gdGhlIHN1YmplY3Qgb2YgdGhlIHJlcG9ydCBpcyBhIHBhdGllbnQsIHRoaXMgaXMgdXN1YWxseSBlaXRoZXIgdGhlIHRpbWUgb2YgdGhlIHByb2NlZHVyZSBvciBvZiBzcGVjaW1lbiBjb2xsZWN0aW9uKHMpLCBidXQgdmVyeSBvZnRlbiB0aGUgc291cmNlIG9mIHRoZSBkYXRlL3RpbWUgaXMgbm90IGtub3duLCBvbmx5IHRoZSBkYXRlL3RpbWUgaXRzZWxmLiIgY29tbWVudD0iSWYgdGhlIGRpYWdub3N0aWMgcHJvY2VkdXJlIHdhcyBwZXJmb3JtZWQgb24gdGhlIHBhdGllbnQsIHRoaXMgaXMgdGhlIHRpbWUgaXQgd2FzIHBlcmZvcm1lZC4gSWYgdGhlcmUgYXJlIHNwZWNpbWVucywgdGhlIGRpYWdub3N0aWNhbGx5IHJlbGV2YW50IHRpbWUgY2FuIGJlIGRlcml2ZWQgZnJvbSB0aGUgc3BlY2ltZW4gY29sbGVjdGlvbiB0aW1lcywgYnV0IHRoZSBzcGVjaW1lbiBpbmZvcm1hdGlvbiBpcyBub3QgYWx3YXlzIGF2YWlsYWJsZSwgYW5kIHRoZSBleGFjdCByZWxhdGlvbnNoaXAgYmV0d2VlbiB0aGUgc3BlY2ltZW5zIGFuZCB0aGUgZGlhZ25vc3RpY2FsbHkgcmVsZXZhbnQgdGltZSBpcyBub3QgYWx3YXlzIGF1dG9tYXRpYy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaXNzdWVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgRGF0ZVRpbWUgdGhpcyB2ZXJzaW9uIHdhcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGF0IHRoaXMgdmVyc2lvbiBvZiB0aGUgcmVwb3J0IHdhcyBtYWRlIGF2YWlsYWJsZSB0byBwcm92aWRlcnMsIHR5cGljYWxseSBhZnRlciB0aGUgcmVwb3J0IHdhcyByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJNYXkgYmUgZGlmZmVyZW50IGZyb20gdGhlIHVwZGF0ZSB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYsIGJlY2F1c2UgdGhhdCBpcyB0aGUgc3RhdHVzIG9mIHRoZSByZWNvcmQgKHBvdGVudGlhbGx5IGEgc2Vjb25kYXJ5IGNvcHkpLCBub3QgdGhlIGFjdHVhbCByZWxlYXNlIHRpbWUgb2YgdGhlIHJlcG9ydC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBSZXNwb25zaWJsZSBEaWFnbm9zdGljIFNlcnZpY2UiIGRlZmluaXRpb249IlRoZSBkaWFnbm9zdGljIHNlcnZpY2UgdGhhdCBpcyByZXNwb25zaWJsZSBmb3IgaXNzdWluZyB0aGUgcmVwb3J0LiIgY29tbWVudD0iVGhpcyBpcyBub3QgbmVjZXNzYXJpbHkgdGhlIHNvdXJjZSBvZiB0aGUgYXRvbWljIGRhdGEgaXRlbXMgb3IgdGhlIGVudGl0eSB0aGF0IGludGVycHJldGVkIHRoZSByZXN1bHRzLiBJdCBpcyB0aGUgZW50aXR5IHRoYXQgdGFrZXMgcmVzcG9uc2liaWxpdHkgZm9yIHRoZSBjbGluaWNhbCByZXBvcnQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlc3VsdHNJbnRlcnByZXRlciIgZGVzY3JpcHRpb249IlByaW1hcnkgcmVzdWx0IGludGVycHJldGVyIiBkZWZpbml0aW9uPSJUaGUgcHJhY3RpdGlvbmVyIG9yIG9yZ2FuaXphdGlvbiB0aGF0IGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgcmVwb3J0J3MgY29uY2x1c2lvbnMgYW5kIGludGVycHJldGF0aW9ucy4iIGNvbW1lbnQ9Ik1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBlbnRpdHkgdGhhdCB0YWtlcyByZXNwb25zaWJpbGl0eSBmb3IgdGhlIGNsaW5pY2FsIHJlcG9ydC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZGVzY3JpcHRpb249IlNwZWNpbWVucyB0aGlzIHJlcG9ydCBpcyBiYXNlZCBvbiIgZGVmaW5pdGlvbj0iRGV0YWlscyBhYm91dCB0aGUgc3BlY2ltZW5zIG9uIHdoaWNoIHRoaXMgZGlhZ25vc3RpYyByZXBvcnQgaXMgYmFzZWQuIiBjb21tZW50PSJJZiB0aGUgc3BlY2ltZW4gaXMgc3VmZmljaWVudGx5IHNwZWNpZmllZCB3aXRoIGEgY29kZSBpbiB0aGUgdGVzdCByZXN1bHQgbmFtZSwgdGhlbiB0aGlzIGFkZGl0aW9uYWwgZGF0YSBtYXkgYmUgcmVkdW5kYW50LiBJZiB0aGVyZSBhcmUgbXVsdGlwbGUgc3BlY2ltZW5zLCB0aGVzZSBtYXkgYmUgcmVwcmVzZW50ZWQgcGVyIG9ic2VydmF0aW9uIG9yIGdyb3VwLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlc3VsdCIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgT2JzZXJ2YXRpb25zIiBkZWZpbml0aW9uPSJbT2JzZXJ2YXRpb25zXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwpICB0aGF0IGFyZSBwYXJ0IG9mIHRoaXMgZGlhZ25vc3RpYyByZXBvcnQuIiBjb21tZW50PSJPYnNlcnZhdGlvbnMgY2FuIGNvbnRhaW4gb2JzZXJ2YXRpb25zLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbWFnaW5nU3R1ZHkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgUmVmZXJlbmNlIHRvIGZ1bGwgZGV0YWlscyBvZiBpbWFnaW5nIGFzc29jaWF0ZWQgd2l0aCB0aGUgZGlhZ25vc3RpYyByZXBvcnQiIGRlZmluaXRpb249Ik9uZSBvciBtb3JlIGxpbmtzIHRvIGZ1bGwgZGV0YWlscyBvZiBhbnkgaW1hZ2luZyBwZXJmb3JtZWQgZHVyaW5nIHRoZSBkaWFnbm9zdGljIGludmVzdGlnYXRpb24uIFR5cGljYWxseSwgdGhpcyBpcyBpbWFnaW5nIHBlcmZvcm1lZCBieSBESUNPTSBlbmFibGVkIG1vZGFsaXRpZXMsIGJ1dCB0aGlzIGlzIG5vdCByZXF1aXJlZC4gQSBmdWxseSBlbmFibGVkIFBBQ1Mgdmlld2VyIGNhbiB1c2UgdGhpcyBpbmZvcm1hdGlvbiB0byBwcm92aWRlIHZpZXdzIG9mIHRoZSBzb3VyY2UgaW1hZ2VzLiIgY29tbWVudD0iSW1hZ2luZ1N0dWR5IGFuZCB0aGUgaW1hZ2UgZWxlbWVudCBhcmUgc29tZXdoYXQgb3ZlcmxhcHBpbmcgLSB0eXBpY2FsbHksIHRoZSBsaXN0IG9mIGltYWdlIHJlZmVyZW5jZXMgaW4gdGhlIGltYWdlIGVsZW1lbnQgd2lsbCBhbHNvIGJlIGZvdW5kIGluIG9uZSBvZiB0aGUgaW1hZ2luZyBzdHVkeSByZXNvdXJjZXMuIEhvd2V2ZXIsIGVhY2ggY2F0ZXJzIHRvIGRpZmZlcmVudCB0eXBlcyBvZiBkaXNwbGF5cyBmb3IgZGlmZmVyZW50IHR5cGVzIG9mIHB1cnBvc2VzLiBOZWl0aGVyLCBlaXRoZXIsIG9yIGJvdGggbWF5IGJlIHByb3ZpZGVkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1lZGlhIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBLZXkgaW1hZ2VzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHJlcG9ydCIgZGVmaW5pdGlvbj0iQSBsaXN0IG9mIGtleSBpbWFnZXMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgcmVwb3J0LiBUaGUgaW1hZ2VzIGFyZSBnZW5lcmFsbHkgY3JlYXRlZCBkdXJpbmcgdGhlIGRpYWdub3N0aWMgcHJvY2VzcywgYW5kIG1heSBiZSBkaXJlY3RseSBvZiB0aGUgcGF0aWVudCwgb3Igb2YgdHJlYXRlZCBzcGVjaW1lbnMgKGkuZS4gc2xpZGVzIG9mIGludGVyZXN0KS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5EaWFnbm9zdGljUmVwb3J0Lk1lZGlhIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbmNsdXNpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkNsaW5pY2FsIGNvbmNsdXNpb24gKGludGVycHJldGF0aW9uKSBvZiB0ZXN0IHJlc3VsdHMiIGRlZmluaXRpb249IkNvbmNpc2UgYW5kIGNsaW5pY2FsbHkgY29udGV4dHVhbGl6ZWQgc3VtbWFyeSBjb25jbHVzaW9uIChpbnRlcnByZXRhdGlvbi9pbXByZXNzaW9uKSBvZiB0aGUgZGlhZ25vc3RpYyByZXBvcnQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29uY2x1c2lvbkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgdGhlIGNsaW5pY2FsIGNvbmNsdXNpb24gb2YgdGVzdCByZXN1bHRzIiBkZWZpbml0aW9uPSJPbmUgb3IgbW9yZSBjb2RlcyB0aGF0IHJlcHJlc2VudCB0aGUgc3VtbWFyeSBjb25jbHVzaW9uIChpbnRlcnByZXRhdGlvbi9pbXByZXNzaW9uKSBvZiB0aGUgZGlhZ25vc3RpYyByZXBvcnQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkFkanVuY3REaWFnbm9zaXMiIGRlc2NyaXB0aW9uPSJEaWFnbm9zaXMgY29kZXMgcHJvdmlkZWQgYXMgYWRqdW5jdHMgdG8gdGhlIHJlcG9ydC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InByZXNlbnRlZEZvcm0iIGRlc2NyaXB0aW9uPSIoVVNDREkpIEVudGlyZSByZXBvcnQgYXMgaXNzdWVkIiBkZWZpbml0aW9uPSJSaWNoIHRleHQgcmVwcmVzZW50YXRpb24gb2YgdGhlIGVudGlyZSByZXN1bHQgYXMgaXNzdWVkIGJ5IHRoZSBkaWFnbm9zdGljIHNlcnZpY2UuIE11bHRpcGxlIGZvcm1hdHMgYXJlIGFsbG93ZWQgYnV0IHRoZXkgU0hBTEwgYmUgc2VtYW50aWNhbGx5IGVxdWl2YWxlbnQuIiBjb21tZW50PSImcXVvdDthcHBsaWNhdGlvbi9wZGYmcXVvdDsgaXMgcmVjb21tZW5kZWQgYXMgdGhlIG1vc3QgcmVsaWFibGUgYW5kIGludGVyb3BlcmFibGUgaW4gdGhpcyBjb250ZXh0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkF0dGFjaG1lbnQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEaXNwbGF5IE5hbWUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9kaXNwbGF5IiBsYWJlbD0iRGlzcGxheSBOYW1lIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRvTm90UGVyZm9ybVJlYXNvbiIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtZG9Ob3RQZXJmb3JtUmVhc29uIiBsYWJlbD0iUUlDb3JlIERvIE5vdCBQZXJmb3JtIFJlYXNvbiIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRG9tYWluUmVzb3VyY2UiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9Eb21haW5SZXNvdXJjZSIgbGFiZWw9IkRvbWFpblJlc291cmNlIiByZXRyaWV2YWJsZT0idHJ1ZSIgYmFzZVR5cGU9IlFJQ29yZS5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idGV4dCIgZWxlbWVudFR5cGU9IlFJQ29yZS5OYXJyYXRpdmUiIGRlc2NyaXB0aW9uPSJUZXh0IHN1bW1hcnkgb2YgdGhlIHJlc291cmNlLCBmb3IgaHVtYW4gaW50ZXJwcmV0YXRpb24iIGRlZmluaXRpb249IkEgaHVtYW4tcmVhZGFibGUgbmFycmF0aXZlIHRoYXQgY29udGFpbnMgYSBzdW1tYXJ5IG9mIHRoZSByZXNvdXJjZSBhbmQgY2FuIGJlIHVzZWQgdG8gcmVwcmVzZW50IHRoZSBjb250ZW50IG9mIHRoZSByZXNvdXJjZSB0byBhIGh1bWFuLiBUaGUgbmFycmF0aXZlIG5lZWQgbm90IGVuY29kZSBhbGwgdGhlIHN0cnVjdHVyZWQgZGF0YSwgYnV0IGlzIHJlcXVpcmVkIHRvIGNvbnRhaW4gc3VmZmljaWVudCBkZXRhaWwgdG8gbWFrZSBpdCAmcXVvdDtjbGluaWNhbGx5IHNhZmUmcXVvdDsgZm9yIGEgaHVtYW4gdG8ganVzdCByZWFkIHRoZSBuYXJyYXRpdmUuIFJlc291cmNlIGRlZmluaXRpb25zIG1heSBkZWZpbmUgd2hhdCBjb250ZW50IHNob3VsZCBiZSByZXByZXNlbnRlZCBpbiB0aGUgbmFycmF0aXZlIHRvIGVuc3VyZSBjbGluaWNhbCBzYWZldHkuIiBjb21tZW50PSJDb250YWluZWQgcmVzb3VyY2VzIGRvIG5vdCBoYXZlIG5hcnJhdGl2ZS4gUmVzb3VyY2VzIHRoYXQgYXJlIG5vdCBjb250YWluZWQgU0hPVUxEIGhhdmUgYSBuYXJyYXRpdmUuIEluIHNvbWUgY2FzZXMsIGEgcmVzb3VyY2UgbWF5IG9ubHkgaGF2ZSB0ZXh0IHdpdGggbGl0dGxlIG9yIG5vIGFkZGl0aW9uYWwgZGlzY3JldGUgZGF0YSAoYXMgbG9uZyBhcyBhbGwgbWluT2NjdXJzPTEgZWxlbWVudHMgYXJlIHNhdGlzZmllZCkuICBUaGlzIG1heSBiZSBuZWNlc3NhcnkgZm9yIGRhdGEgZnJvbSBsZWdhY3kgc3lzdGVtcyB3aGVyZSBpbmZvcm1hdGlvbiBpcyBjYXB0dXJlZCBhcyBhICZxdW90O3RleHQgYmxvYiZxdW90OyBvciB3aGVyZSB0ZXh0IGlzIGFkZGl0aW9uYWxseSBlbnRlcmVkIHJhdyBvciBuYXJyYXRlZCBhbmQgZW5jb2RlZCBpbmZvcm1hdGlvbiBpcyBhZGRlZCBsYXRlci4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb250YWluZWQiIGRlc2NyaXB0aW9uPSJDb250YWluZWQsIGlubGluZSBSZXNvdXJjZXMiIGRlZmluaXRpb249IlRoZXNlIHJlc291cmNlcyBkbyBub3QgaGF2ZSBhbiBpbmRlcGVuZGVudCBleGlzdGVuY2UgYXBhcnQgZnJvbSB0aGUgcmVzb3VyY2UgdGhhdCBjb250YWlucyB0aGVtIC0gdGhleSBjYW5ub3QgYmUgaWRlbnRpZmllZCBpbmRlcGVuZGVudGx5LCBhbmQgbm9yIGNhbiB0aGV5IGhhdmUgdGhlaXIgb3duIGluZGVwZW5kZW50IHRyYW5zYWN0aW9uIHNjb3BlLiIgY29tbWVudD0iVGhpcyBzaG91bGQgbmV2ZXIgYmUgZG9uZSB3aGVuIHRoZSBjb250ZW50IGNhbiBiZSBpZGVudGlmaWVkIHByb3Blcmx5LCBhcyBvbmNlIGlkZW50aWZpY2F0aW9uIGlzIGxvc3QsIGl0IGlzIGV4dHJlbWVseSBkaWZmaWN1bHQgKGFuZCBjb250ZXh0IGRlcGVuZGVudCkgdG8gcmVzdG9yZSBpdCBhZ2Fpbi4gQ29udGFpbmVkIHJlc291cmNlcyBtYXkgaGF2ZSBwcm9maWxlcyBhbmQgdGFncyBJbiB0aGVpciBtZXRhIGVsZW1lbnRzLCBidXQgU0hBTEwgTk9UIGhhdmUgc2VjdXJpdHkgbGFiZWxzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVzb3VyY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZXh0ZW5zaW9uIiBkZXNjcmlwdGlvbj0iQWRkaXRpb25hbCBjb250ZW50IGRlZmluZWQgYnkgaW1wbGVtZW50YXRpb25zIiBkZWZpbml0aW9uPSJNYXkgYmUgdXNlZCB0byByZXByZXNlbnQgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiB0aGF0IGlzIG5vdCBwYXJ0IG9mIHRoZSBiYXNpYyBkZWZpbml0aW9uIG9mIHRoZSByZXNvdXJjZS4gVG8gbWFrZSB0aGUgdXNlIG9mIGV4dGVuc2lvbnMgc2FmZSBhbmQgbWFuYWdlYWJsZSwgdGhlcmUgaXMgYSBzdHJpY3Qgc2V0IG9mIGdvdmVybmFuY2UgIGFwcGxpZWQgdG8gdGhlIGRlZmluaXRpb24gYW5kIHVzZSBvZiBleHRlbnNpb25zLiBUaG91Z2ggYW55IGltcGxlbWVudGVyIGNhbiBkZWZpbmUgYW4gZXh0ZW5zaW9uLCB0aGVyZSBpcyBhIHNldCBvZiByZXF1aXJlbWVudHMgdGhhdCBTSEFMTCBiZSBtZXQgYXMgcGFydCBvZiB0aGUgZGVmaW5pdGlvbiBvZiB0aGUgZXh0ZW5zaW9uLiIgY29tbWVudD0iVGhlcmUgY2FuIGJlIG5vIHN0aWdtYSBhc3NvY2lhdGVkIHdpdGggdGhlIHVzZSBvZiBleHRlbnNpb25zIGJ5IGFueSBhcHBsaWNhdGlvbiwgcHJvamVjdCwgb3Igc3RhbmRhcmQgLSByZWdhcmRsZXNzIG9mIHRoZSBpbnN0aXR1dGlvbiBvciBqdXJpc2RpY3Rpb24gdGhhdCB1c2VzIG9yIGRlZmluZXMgdGhlIGV4dGVuc2lvbnMuICBUaGUgdXNlIG9mIGV4dGVuc2lvbnMgaXMgd2hhdCBhbGxvd3MgdGhlIEZISVIgc3BlY2lmaWNhdGlvbiB0byByZXRhaW4gYSBjb3JlIGxldmVsIG9mIHNpbXBsaWNpdHkgZm9yIGV2ZXJ5b25lLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRXh0ZW5zaW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1vZGlmaWVyRXh0ZW5zaW9uIiBkZXNjcmlwdGlvbj0iRXh0ZW5zaW9ucyB0aGF0IGNhbm5vdCBiZSBpZ25vcmVkIiBkZWZpbml0aW9uPSJNYXkgYmUgdXNlZCB0byByZXByZXNlbnQgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiB0aGF0IGlzIG5vdCBwYXJ0IG9mIHRoZSBiYXNpYyBkZWZpbml0aW9uIG9mIHRoZSByZXNvdXJjZSBhbmQgdGhhdCBtb2RpZmllcyB0aGUgdW5kZXJzdGFuZGluZyBvZiB0aGUgZWxlbWVudCB0aGF0IGNvbnRhaW5zIGl0IGFuZC9vciB0aGUgdW5kZXJzdGFuZGluZyBvZiB0aGUgY29udGFpbmluZyBlbGVtZW50J3MgZGVzY2VuZGFudHMuIFVzdWFsbHkgbW9kaWZpZXIgZWxlbWVudHMgcHJvdmlkZSBuZWdhdGlvbiBvciBxdWFsaWZpY2F0aW9uLiBUbyBtYWtlIHRoZSB1c2Ugb2YgZXh0ZW5zaW9ucyBzYWZlIGFuZCBtYW5hZ2VhYmxlLCB0aGVyZSBpcyBhIHN0cmljdCBzZXQgb2YgZ292ZXJuYW5jZSBhcHBsaWVkIHRvIHRoZSBkZWZpbml0aW9uIGFuZCB1c2Ugb2YgZXh0ZW5zaW9ucy4gVGhvdWdoIGFueSBpbXBsZW1lbnRlciBpcyBhbGxvd2VkIHRvIGRlZmluZSBhbiBleHRlbnNpb24sIHRoZXJlIGlzIGEgc2V0IG9mIHJlcXVpcmVtZW50cyB0aGF0IFNIQUxMIGJlIG1ldCBhcyBwYXJ0IG9mIHRoZSBkZWZpbml0aW9uIG9mIHRoZSBleHRlbnNpb24uIEFwcGxpY2F0aW9ucyBwcm9jZXNzaW5nIGEgcmVzb3VyY2UgYXJlIHJlcXVpcmVkIHRvIGNoZWNrIGZvciBtb2RpZmllciBleHRlbnNpb25zLiYjMTA7JiMxMDtNb2RpZmllciBleHRlbnNpb25zIFNIQUxMIE5PVCBjaGFuZ2UgdGhlIG1lYW5pbmcgb2YgYW55IGVsZW1lbnRzIG9uIFJlc291cmNlIG9yIERvbWFpblJlc291cmNlIChpbmNsdWRpbmcgY2Fubm90IGNoYW5nZSB0aGUgbWVhbmluZyBvZiBtb2RpZmllckV4dGVuc2lvbiBpdHNlbGYpLiIgY29tbWVudD0iVGhlcmUgY2FuIGJlIG5vIHN0aWdtYSBhc3NvY2lhdGVkIHdpdGggdGhlIHVzZSBvZiBleHRlbnNpb25zIGJ5IGFueSBhcHBsaWNhdGlvbiwgcHJvamVjdCwgb3Igc3RhbmRhcmQgLSByZWdhcmRsZXNzIG9mIHRoZSBpbnN0aXR1dGlvbiBvciBqdXJpc2RpY3Rpb24gdGhhdCB1c2VzIG9yIGRlZmluZXMgdGhlIGV4dGVuc2lvbnMuICBUaGUgdXNlIG9mIGV4dGVuc2lvbnMgaXMgd2hhdCBhbGxvd3MgdGhlIEZISVIgc3BlY2lmaWNhdGlvbiB0byByZXRhaW4gYSBjb3JlIGxldmVsIG9mIHNpbXBsaWNpdHkgZm9yIGV2ZXJ5b25lLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRXh0ZW5zaW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRG9zYWdlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vRG9zYWdlIiBsYWJlbD0iRG9zYWdlIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzZXF1ZW5jZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSBvcmRlciBvZiB0aGUgZG9zYWdlIGluc3RydWN0aW9ucyIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBvcmRlciBpbiB3aGljaCB0aGUgZG9zYWdlIGluc3RydWN0aW9ucyBzaG91bGQgYmUgYXBwbGllZCBvciBpbnRlcnByZXRlZC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0ZXh0IiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJGcmVlIHRleHQgZG9zYWdlIGluc3RydWN0aW9ucyBlLmcuIFNJRyIgZGVmaW5pdGlvbj0iRnJlZSB0ZXh0IGRvc2FnZSBpbnN0cnVjdGlvbnMgZS5nLiBTSUcuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWRkaXRpb25hbEluc3RydWN0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU3VwcGxlbWVudGFsIGluc3RydWN0aW9uIG9yIHdhcm5pbmdzIHRvIHRoZSBwYXRpZW50IC0gZS5nLiAmcXVvdDt3aXRoIG1lYWxzJnF1b3Q7LCAmcXVvdDttYXkgY2F1c2UgZHJvd3NpbmVzcyZxdW90OyIgZGVmaW5pdGlvbj0iU3VwcGxlbWVudGFsIGluc3RydWN0aW9ucyB0byB0aGUgcGF0aWVudCBvbiBob3cgdG8gdGFrZSB0aGUgbWVkaWNhdGlvbiAgKGUuZy4gJnF1b3Q7d2l0aCBtZWFscyZxdW90OyBvciZxdW90O3Rha2UgaGFsZiB0byBvbmUgaG91ciBiZWZvcmUgZm9vZCZxdW90Oykgb3Igd2FybmluZ3MgZm9yIHRoZSBwYXRpZW50IGFib3V0IHRoZSBtZWRpY2F0aW9uIChlLmcuICZxdW90O21heSBjYXVzZSBkcm93c2luZXNzJnF1b3Q7IG9yICZxdW90O2F2b2lkIGV4cG9zdXJlIG9mIHNraW4gdG8gZGlyZWN0IHN1bmxpZ2h0IG9yIHN1bmxhbXBzJnF1b3Q7KS4iIGNvbW1lbnQ9IkluZm9ybWF0aW9uIGFib3V0IGFkbWluaXN0cmF0aW9uIG9yIHByZXBhcmF0aW9uIG9mIHRoZSBtZWRpY2F0aW9uIChlLmcuICZxdW90O2luZnVzZSBhcyByYXBpZGx5IGFzIHBvc3NpYmx5IHZpYSBpbnRyYXBlcml0b25lYWwgcG9ydCZxdW90OyBvciAmcXVvdDtpbW1lZGlhdGVseSBmb2xsb3dpbmcgZHJ1ZyB4JnF1b3Q7KSBzaG91bGQgYmUgcG9wdWxhdGVkIGluIGRvc2FnZS50ZXh0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJBZGRpdGlvbmFsSW5zdHJ1Y3Rpb24iIGRlc2NyaXB0aW9uPSJBIGNvZGVkIGNvbmNlcHQgaWRlbnRpZnlpbmcgYWRkaXRpb25hbCBpbnN0cnVjdGlvbnMgc3VjaCBhcyAmcXVvdDt0YWtlIHdpdGggd2F0ZXImcXVvdDsgb3IgJnF1b3Q7YXZvaWQgb3BlcmF0aW5nIGhlYXZ5IG1hY2hpbmVyeSZxdW90Oy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhdGllbnRJbnN0cnVjdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUGF0aWVudCBvciBjb25zdW1lciBvcmllbnRlZCBpbnN0cnVjdGlvbnMiIGRlZmluaXRpb249Ikluc3RydWN0aW9ucyBpbiB0ZXJtcyB0aGF0IGFyZSB1bmRlcnN0b29kIGJ5IHRoZSBwYXRpZW50IG9yIGNvbnN1bWVyLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InRpbWluZyIgZWxlbWVudFR5cGU9IlFJQ29yZS5UaW1pbmciIGRlc2NyaXB0aW9uPSJXaGVuIG1lZGljYXRpb24gc2hvdWxkIGJlIGFkbWluaXN0ZXJlZCIgZGVmaW5pdGlvbj0iV2hlbiBtZWRpY2F0aW9uIHNob3VsZCBiZSBhZG1pbmlzdGVyZWQuIiBjb21tZW50PSJUaGlzIGF0dHJpYnV0ZSBtaWdodCBub3QgYWx3YXlzIGJlIHBvcHVsYXRlZCB3aGlsZSB0aGUgRG9zYWdlLnRleHQgaXMgZXhwZWN0ZWQgdG8gYmUgcG9wdWxhdGVkLiAgSWYgYm90aCBhcmUgcG9wdWxhdGVkLCB0aGVuIHRoZSBEb3NhZ2UudGV4dCBzaG91bGQgcmVmbGVjdCB0aGUgY29udGVudCBvZiB0aGUgRG9zYWdlLnRpbWluZy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhc05lZWRlZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUYWtlICZxdW90O2FzIG5lZWRlZCZxdW90OyAoZm9yIHgpIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgd2hldGhlciB0aGUgTWVkaWNhdGlvbiBpcyBvbmx5IHRha2VuIHdoZW4gbmVlZGVkIHdpdGhpbiBhIHNwZWNpZmljIGRvc2luZyBzY2hlZHVsZSAoQm9vbGVhbiBvcHRpb24pLCBvciBpdCBpbmRpY2F0ZXMgdGhlIHByZWNvbmRpdGlvbiBmb3IgdGFraW5nIHRoZSBNZWRpY2F0aW9uIChDb2RlYWJsZUNvbmNlcHQpLiIgY29tbWVudD0iQ2FuIGV4cHJlc3MgJnF1b3Q7YXMgbmVlZGVkJnF1b3Q7IHdpdGhvdXQgYSByZWFzb24gYnkgc2V0dGluZyB0aGUgQm9vbGVhbiA9IFRydWUuICBJbiB0aGlzIGNhc2UgdGhlIENvZGVhYmxlQ29uY2VwdCBpcyBub3QgcG9wdWxhdGVkLiAgT3IgeW91IGNhbiBleHByZXNzICZxdW90O2FzIG5lZWRlZCZxdW90OyB3aXRoIGEgcmVhc29uIGJ5IGluY2x1ZGluZyB0aGUgQ29kZWFibGVDb25jZXB0LiAgSW4gdGhpcyBjYXNlIHRoZSBCb29sZWFuIGlzIGFzc3VtZWQgdG8gYmUgVHJ1ZS4gIElmIHlvdSBzZXQgdGhlIEJvb2xlYW4gdG8gRmFsc2UsIHRoZW4gdGhlIGRvc2UgaXMgZ2l2ZW4gYWNjb3JkaW5nIHRvIHRoZSBzY2hlZHVsZSBhbmQgaXMgbm90ICZxdW90O3BybiZxdW90OyBvciAmcXVvdDthcyBuZWVkZWQmcXVvdDsuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkJvb2xlYW4iLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvbkFzTmVlZGVkUmVhc29uIiBkZXNjcmlwdGlvbj0iQSBjb2RlZCBjb25jZXB0IGlkZW50aWZ5aW5nIHRoZSBwcmVjb25kaXRpb24gdGhhdCBzaG91bGQgYmUgbWV0IG9yIGV2YWx1YXRlZCBwcmlvciB0byBjb25zdW1pbmcgb3IgYWRtaW5pc3RlcmluZyBhIG1lZGljYXRpb24gZG9zZS4gIEZvciBleGFtcGxlICZxdW90O3BhaW4mcXVvdDssICZxdW90OzMwIG1pbnV0ZXMgcHJpb3IgdG8gc2V4dWFsIGludGVyY291cnNlJnF1b3Q7LCAmcXVvdDtvbiBmbGFyZS11cCZxdW90OyBldGMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJCb2R5IHNpdGUgdG8gYWRtaW5pc3RlciB0byIgZGVmaW5pdGlvbj0iQm9keSBzaXRlIHRvIGFkbWluaXN0ZXIgdG8uIiBjb21tZW50PSJJZiB0aGUgdXNlIGNhc2UgcmVxdWlyZXMgYXR0cmlidXRlcyBmcm9tIHRoZSBCb2R5U2l0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbYm9keVNpdGVdKGV4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4gIE1heSBiZSBhIHN1bW1hcnkgY29kZSwgb3IgYSByZWZlcmVuY2UgdG8gYSB2ZXJ5IHByZWNpc2UgZGVmaW5pdGlvbiBvZiB0aGUgbG9jYXRpb24sIG9yIGJvdGguIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uU2l0ZSIgZGVzY3JpcHRpb249IkEgY29kZWQgY29uY2VwdCBkZXNjcmliaW5nIHRoZSBzaXRlIGxvY2F0aW9uIHRoZSBtZWRpY2luZSBlbnRlcnMgaW50byBvciBvbnRvIHRoZSBib2R5LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icm91dGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBkcnVnIHNob3VsZCBlbnRlciBib2R5IiBkZWZpbml0aW9uPSJIb3cgZHJ1ZyBzaG91bGQgZW50ZXIgYm9keS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJSb3V0ZU9mQWRtaW5pc3RyYXRpb24iIGRlc2NyaXB0aW9uPSJBIGNvZGVkIGNvbmNlcHQgZGVzY3JpYmluZyB0aGUgcm91dGUgb3IgcGh5c2lvbG9naWNhbCBwYXRoIG9mIGFkbWluaXN0cmF0aW9uIG9mIGEgdGhlcmFwZXV0aWMgYWdlbnQgaW50byBvciBvbnRvIHRoZSBib2R5IG9mIGEgc3ViamVjdC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGVjaG5pcXVlIGZvciBhZG1pbmlzdGVyaW5nIG1lZGljYXRpb24iIGRlZmluaXRpb249IlRlY2huaXF1ZSBmb3IgYWRtaW5pc3RlcmluZyBtZWRpY2F0aW9uLiIgY29tbWVudD0iVGVybWlub2xvZ2llcyB1c2VkIG9mdGVuIHByZS1jb29yZGluYXRlIHRoaXMgdGVybSB3aXRoIHRoZSByb3V0ZSBhbmQgb3IgZm9ybSBvZiBhZG1pbmlzdHJhdGlvbi4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25NZXRob2QiIGRlc2NyaXB0aW9uPSJBIGNvZGVkIGNvbmNlcHQgZGVzY3JpYmluZyB0aGUgdGVjaG5pcXVlIGJ5IHdoaWNoIHRoZSBtZWRpY2luZSBpcyBhZG1pbmlzdGVyZWQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkb3NlQW5kUmF0ZSIgZGVzY3JpcHRpb249IkFtb3VudCBvZiBtZWRpY2F0aW9uIGFkbWluaXN0ZXJlZCIgZGVmaW5pdGlvbj0iVGhlIGFtb3VudCBvZiBtZWRpY2F0aW9uIGFkbWluaXN0ZXJlZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkRvc2FnZS5Eb3NlQW5kUmF0ZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtYXhEb3NlUGVyUGVyaW9kIiBlbGVtZW50VHlwZT0iU3lzdGVtLlJhdGlvIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUmF0aW8oJXZhbHVlKSIgZGVzY3JpcHRpb249IlVwcGVyIGxpbWl0IG9uIG1lZGljYXRpb24gcGVyIHVuaXQgb2YgdGltZSIgZGVmaW5pdGlvbj0iVXBwZXIgbGltaXQgb24gbWVkaWNhdGlvbiBwZXIgdW5pdCBvZiB0aW1lLiIgY29tbWVudD0iVGhpcyBpcyBpbnRlbmRlZCBmb3IgdXNlIGFzIGFuIGFkanVuY3QgdG8gdGhlIGRvc2FnZSB3aGVuIHRoZXJlIGlzIGFuIHVwcGVyIGNhcC4gIEZvciBleGFtcGxlICZxdW90OzIgdGFibGV0cyBldmVyeSA0IGhvdXJzIHRvIGEgbWF4aW11bSBvZiA4L2RheSZxdW90Oy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtYXhEb3NlUGVyQWRtaW5pc3RyYXRpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVXBwZXIgbGltaXQgb24gbWVkaWNhdGlvbiBwZXIgYWRtaW5pc3RyYXRpb24iIGRlZmluaXRpb249IlVwcGVyIGxpbWl0IG9uIG1lZGljYXRpb24gcGVyIGFkbWluaXN0cmF0aW9uLiIgY29tbWVudD0iVGhpcyBpcyBpbnRlbmRlZCBmb3IgdXNlIGFzIGFuIGFkanVuY3QgdG8gdGhlIGRvc2FnZSB3aGVuIHRoZXJlIGlzIGFuIHVwcGVyIGNhcC4gIEZvciBleGFtcGxlLCBhIGJvZHkgc3VyZmFjZSBhcmVhIHJlbGF0ZWQgZG9zZSB3aXRoIGEgbWF4aW11bSBhbW91bnQsIHN1Y2ggYXMgMS41IG1nL20yIChtYXhpbXVtIDIgbWcpIElWIG92ZXIgNSDigJMgMTAgbWludXRlcyB3b3VsZCBoYXZlIGRvc2VRdWFudGl0eSBvZiAxLjUgbWcvbTIgYW5kIG1heERvc2VQZXJBZG1pbmlzdHJhdGlvbiBvZiAyIG1nLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1heERvc2VQZXJMaWZldGltZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJVcHBlciBsaW1pdCBvbiBtZWRpY2F0aW9uIHBlciBsaWZldGltZSBvZiB0aGUgcGF0aWVudCIgZGVmaW5pdGlvbj0iVXBwZXIgbGltaXQgb24gbWVkaWNhdGlvbiBwZXIgbGlmZXRpbWUgb2YgdGhlIHBhdGllbnQuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEb3NhZ2UuRG9zZUFuZFJhdGUiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5FbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUga2luZCBvZiBkb3NlIG9yIHJhdGUgc3BlY2lmaWVkIiBkZWZpbml0aW9uPSJUaGUga2luZCBvZiBkb3NlIG9yIHJhdGUgc3BlY2lmaWVkLCBmb3IgZXhhbXBsZSwgb3JkZXJlZCBvciBjYWxjdWxhdGVkLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkRvc2VBbmRSYXRlVHlwZSIgZGVzY3JpcHRpb249IlRoZSBraW5kIG9mIGRvc2Ugb3IgcmF0ZSBzcGVjaWZpZWQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkb3NlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFtb3VudCBvZiBtZWRpY2F0aW9uIHBlciBkb3NlIiBkZWZpbml0aW9uPSJBbW91bnQgb2YgbWVkaWNhdGlvbiBwZXIgZG9zZS4iIGNvbW1lbnQ9Ik5vdGUgdGhhdCB0aGlzIHNwZWNpZmllcyB0aGUgcXVhbnRpdHkgb2YgdGhlIHNwZWNpZmllZCBtZWRpY2F0aW9uLCBub3QgdGhlIHF1YW50aXR5IGZvciBlYWNoIGFjdGl2ZSBpbmdyZWRpZW50KHMpLiBFYWNoIGluZ3JlZGllbnQgYW1vdW50IGNhbiBiZSBjb21tdW5pY2F0ZWQgaW4gdGhlIE1lZGljYXRpb24gcmVzb3VyY2UuIEZvciBleGFtcGxlLCBpZiBvbmUgd2FudHMgdG8gY29tbXVuaWNhdGUgdGhhdCBhIHRhYmxldCB3YXMgMzc1IG1nLCB3aGVyZSB0aGUgZG9zZSB3YXMgb25lIHRhYmxldCwgeW91IGNhbiB1c2UgdGhlIE1lZGljYXRpb24gcmVzb3VyY2UgdG8gZG9jdW1lbnQgdGhhdCB0aGUgdGFibGV0IHdhcyBjb21wcmlzZWQgb2YgMzc1IG1nIG9mIGRydWcgWFlaLiBBbHRlcm5hdGl2ZWx5IGlmIHRoZSBkb3NlIHdhcyAzNzUgbWcsIHRoZW4geW91IG1heSBvbmx5IG5lZWQgdG8gdXNlIHRoZSBNZWRpY2F0aW9uIHJlc291cmNlIHRvIGluZGljYXRlIHRoaXMgd2FzIGEgdGFibGV0LiBJZiB0aGUgZXhhbXBsZSB3ZXJlIGFuIElWIHN1Y2ggYXMgZG9wYW1pbmUgYW5kIHlvdSB3YW50ZWQgdG8gY29tbXVuaWNhdGUgdGhhdCA0MDBtZyBvZiBkb3BhbWluZSB3YXMgbWl4ZWQgaW4gNTAwIG1sIG9mIHNvbWUgSVYgc29sdXRpb24sIHRoZW4gdGhpcyB3b3VsZCBhbGwgYmUgY29tbXVuaWNhdGVkIGluIHRoZSBNZWRpY2F0aW9uIHJlc291cmNlLiBJZiB0aGUgYWRtaW5pc3RyYXRpb24gaXMgbm90IGludGVuZGVkIHRvIGJlIGluc3RhbnRhbmVvdXMgKHJhdGUgaXMgcHJlc2VudCBvciB0aW1pbmcgaGFzIGEgZHVyYXRpb24pLCB0aGlzIGNhbiBiZSBzcGVjaWZpZWQgdG8gY29udmV5IHRoZSB0b3RhbCBhbW91bnQgdG8gYmUgYWRtaW5pc3RlcmVkIG92ZXIgdGhlIHBlcmlvZCBvZiB0aW1lIGFzIGluZGljYXRlZCBieSB0aGUgc2NoZWR1bGUgZS5nLiA1MDAgbWwgaW4gZG9zZSwgd2l0aCB0aW1pbmcgdXNlZCB0byBjb252ZXkgdGhhdCB0aGlzIHNob3VsZCBiZSBkb25lIG92ZXIgNCBob3Vycy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyYXRlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFtb3VudCBvZiBtZWRpY2F0aW9uIHBlciB1bml0IG9mIHRpbWUiIGRlZmluaXRpb249IkFtb3VudCBvZiBtZWRpY2F0aW9uIHBlciB1bml0IG9mIHRpbWUuIiBjb21tZW50PSJJdCBpcyBwb3NzaWJsZSB0byBzdXBwbHkgYm90aCBhIHJhdGUgYW5kIGEgZG9zZVF1YW50aXR5IHRvIHByb3ZpZGUgZnVsbCBkZXRhaWxzIGFib3V0IGhvdyB0aGUgbWVkaWNhdGlvbiBpcyB0byBiZSBhZG1pbmlzdGVyZWQgYW5kIHN1cHBsaWVkLiBJZiB0aGUgcmF0ZSBpcyBpbnRlbmRlZCB0byBjaGFuZ2Ugb3ZlciB0aW1lLCBkZXBlbmRpbmcgb24gbG9jYWwgcnVsZXMvcmVndWxhdGlvbnMsIGVhY2ggY2hhbmdlIHNob3VsZCBiZSBjYXB0dXJlZCBhcyBhIG5ldyB2ZXJzaW9uIG9mIHRoZSBNZWRpY2F0aW9uUmVxdWVzdCB3aXRoIGFuIHVwZGF0ZWQgcmF0ZSwgb3IgY2FwdHVyZWQgd2l0aCBhIG5ldyBNZWRpY2F0aW9uUmVxdWVzdCB3aXRoIHRoZSBuZXcgcmF0ZS4mIzEzOyYjMTM7SXQgaXMgcG9zc2libGUgdG8gc3BlY2lmeSBhIHJhdGUgb3ZlciB0aW1lIChmb3IgZXhhbXBsZSwgMTAwIG1sL2hvdXIpIHVzaW5nIGVpdGhlciB0aGUgcmF0ZVJhdGlvIGFuZCByYXRlUXVhbnRpdHkuICBUaGUgcmF0ZVF1YW50aXR5IGFwcHJvYWNoIHJlcXVpcmVzIHN5c3RlbXMgdG8gaGF2ZSB0aGUgY2FwYWJpbGl0eSB0byBwYXJzZSBVQ1VNIGdyYW1tZXIgd2hlcmUgbWwvaG91ciBpcyBpbmNsdWRlZCByYXRoZXIgdGhhbiBhIHNwZWNpZmljIHJhdGlvIHdoZXJlIHRoZSB0aW1lIGlzIHNwZWNpZmllZCBhcyB0aGUgZGVub21pbmF0b3IuICBXaGVyZSBhIHJhdGUgc3VjaCBhcyA1MDBtbCBvdmVyIDIgaG91cnMgaXMgc3BlY2lmaWVkLCB0aGUgdXNlIG9mIHJhdGVSYXRpbyBtYXkgYmUgbW9yZSBzZW1hbnRpY2FsbHkgY29ycmVjdCB0aGFuIHNwZWNpZnlpbmcgdXNpbmcgYSByYXRlUXVhbnRpdHkgb2YgMjUwIG1nL2hvdXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlJhdGlvIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRWxlbWVudCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0VsZW1lbnQiIGxhYmVsPSJFbGVtZW50IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uQW55Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVW5pcXVlIGlkIGZvciBpbnRlci1lbGVtZW50IHJlZmVyZW5jaW5nIiBkZWZpbml0aW9uPSJVbmlxdWUgaWQgZm9yIHRoZSBlbGVtZW50IHdpdGhpbiBhIHJlc291cmNlIChmb3IgaW50ZXJuYWwgcmVmZXJlbmNlcykuIFRoaXMgbWF5IGJlIGFueSBzdHJpbmcgdmFsdWUgdGhhdCBkb2VzIG5vdCBjb250YWluIHNwYWNlcy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJleHRlbnNpb24iIGRlc2NyaXB0aW9uPSJBZGRpdGlvbmFsIGNvbnRlbnQgZGVmaW5lZCBieSBpbXBsZW1lbnRhdGlvbnMiIGRlZmluaXRpb249Ik1heSBiZSB1c2VkIHRvIHJlcHJlc2VudCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHRoYXQgaXMgbm90IHBhcnQgb2YgdGhlIGJhc2ljIGRlZmluaXRpb24gb2YgdGhlIGVsZW1lbnQuIFRvIG1ha2UgdGhlIHVzZSBvZiBleHRlbnNpb25zIHNhZmUgYW5kIG1hbmFnZWFibGUsIHRoZXJlIGlzIGEgc3RyaWN0IHNldCBvZiBnb3Zlcm5hbmNlICBhcHBsaWVkIHRvIHRoZSBkZWZpbml0aW9uIGFuZCB1c2Ugb2YgZXh0ZW5zaW9ucy4gVGhvdWdoIGFueSBpbXBsZW1lbnRlciBjYW4gZGVmaW5lIGFuIGV4dGVuc2lvbiwgdGhlcmUgaXMgYSBzZXQgb2YgcmVxdWlyZW1lbnRzIHRoYXQgU0hBTEwgYmUgbWV0IGFzIHBhcnQgb2YgdGhlIGRlZmluaXRpb24gb2YgdGhlIGV4dGVuc2lvbi4iIGNvbW1lbnQ9IlRoZXJlIGNhbiBiZSBubyBzdGlnbWEgYXNzb2NpYXRlZCB3aXRoIHRoZSB1c2Ugb2YgZXh0ZW5zaW9ucyBieSBhbnkgYXBwbGljYXRpb24sIHByb2plY3QsIG9yIHN0YW5kYXJkIC0gcmVnYXJkbGVzcyBvZiB0aGUgaW5zdGl0dXRpb24gb3IganVyaXNkaWN0aW9uIHRoYXQgdXNlcyBvciBkZWZpbmVzIHRoZSBleHRlbnNpb25zLiAgVGhlIHVzZSBvZiBleHRlbnNpb25zIGlzIHdoYXQgYWxsb3dzIHRoZSBGSElSIHNwZWNpZmljYXRpb24gdG8gcmV0YWluIGEgY29yZSBsZXZlbCBvZiBzaW1wbGljaXR5IGZvciBldmVyeW9uZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkV4dGVuc2lvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkVuYWJsZVdoZW5CZWhhdmlvciIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJFbmNvdW50ZXIiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWVuY291bnRlciIgbGFiZWw9IlFJQ29yZSBFbmNvdW50ZXIiIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9InR5cGUiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSIoVVNDREkpIElkZW50aWZpZXIocykgYnkgd2hpY2ggdGhpcyBlbmNvdW50ZXIgaXMga25vd24iIGRlZmluaXRpb249IklkZW50aWZpZXIocykgYnkgd2hpY2ggdGhpcyBlbmNvdW50ZXIgaXMga25vd24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRW5jb3VudGVyU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihVU0NESSkgcGxhbm5lZCB8IGFycml2ZWQgfCB0cmlhZ2VkIHwgaW4tcHJvZ3Jlc3MgfCBvbmxlYXZlIHwgZmluaXNoZWQgfCBjYW5jZWxsZWQgKyIgZGVmaW5pdGlvbj0icGxhbm5lZCB8IGFycml2ZWQgfCB0cmlhZ2VkIHwgaW4tcHJvZ3Jlc3MgfCBvbmxlYXZlIHwgZmluaXNoZWQgfCBjYW5jZWxsZWQgKy4iIGNvbW1lbnQ9Ik5vdGUgdGhhdCBpbnRlcm5hbCBidXNpbmVzcyBydWxlcyB3aWxsIGRldGVybWluZSB0aGUgYXBwcm9wcmlhdGUgdHJhbnNpdGlvbnMgdGhhdCBtYXkgb2NjdXIgYmV0d2VlbiBzdGF0dXNlcyAoYW5kIGFsc28gY2xhc3NlcykuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkVuY291bnRlclN0YXR1cyIgZGVzY3JpcHRpb249IkN1cnJlbnQgc3RhdGUgb2YgdGhlIGVuY291bnRlci4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXNIaXN0b3J5IiBkZXNjcmlwdGlvbj0iTGlzdCBvZiBwYXN0IGVuY291bnRlciBzdGF0dXNlcyIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBoaXN0b3J5IHBlcm1pdHMgdGhlIGVuY291bnRlciByZXNvdXJjZSB0byBjb250YWluIHRoZSBzdGF0dXMgaGlzdG9yeSB3aXRob3V0IG5lZWRpbmcgdG8gcmVhZCB0aHJvdWdoIHRoZSBoaXN0b3JpY2FsIHZlcnNpb25zIG9mIHRoZSByZXNvdXJjZSwgb3IgZXZlbiBoYXZlIHRoZSBzZXJ2ZXIgc3RvcmUgdGhlbS4iIGNvbW1lbnQ9IlRoZSBjdXJyZW50IHN0YXR1cyBpcyBhbHdheXMgZm91bmQgaW4gdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgcmVzb3VyY2UsIG5vdCB0aGUgc3RhdHVzIGhpc3RvcnkuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5FbmNvdW50ZXIuU3RhdHVzSGlzdG9yeSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjbGFzcyIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29kZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBDbGFzc2lmaWNhdGlvbiBvZiBwYXRpZW50IGVuY291bnRlciIgZGVmaW5pdGlvbj0iQ29uY2VwdHMgcmVwcmVzZW50aW5nIGNsYXNzaWZpY2F0aW9uIG9mIHBhdGllbnQgZW5jb3VudGVyIHN1Y2ggYXMgYW1idWxhdG9yeSAob3V0cGF0aWVudCksIGlucGF0aWVudCwgZW1lcmdlbmN5LCBob21lIGhlYWx0aCBvciBvdGhlcnMgZHVlIHRvIGxvY2FsIHZhcmlhdGlvbnMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkVuY291bnRlckNsYXNzIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgdGhlIGVuY291bnRlci4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNsYXNzSGlzdG9yeSIgZGVzY3JpcHRpb249Ikxpc3Qgb2YgcGFzdCBlbmNvdW50ZXIgY2xhc3NlcyIgZGVmaW5pdGlvbj0iVGhlIGNsYXNzIGhpc3RvcnkgcGVybWl0cyB0aGUgdHJhY2tpbmcgb2YgdGhlIGVuY291bnRlcnMgdHJhbnNpdGlvbnMgd2l0aG91dCBuZWVkaW5nIHRvIGdvICB0aHJvdWdoIHRoZSByZXNvdXJjZSBoaXN0b3J5LiAgVGhpcyB3b3VsZCBiZSB1c2VkIGZvciBhIGNhc2Ugd2hlcmUgYW4gYWRtaXNzaW9uIHN0YXJ0cyBvZiBhcyBhbiBlbWVyZ2VuY3kgZW5jb3VudGVyLCB0aGVuIHRyYW5zaXRpb25zIGludG8gYW4gaW5wYXRpZW50IHNjZW5hcmlvLiBEb2luZyB0aGlzIGFuZCBub3QgcmVzdGFydGluZyBhIG5ldyBlbmNvdW50ZXIgZW5zdXJlcyB0aGF0IGFueSBsYWIvZGlhZ25vc3RpYyByZXN1bHRzIGNhbiBtb3JlIGVhc2lseSBmb2xsb3cgdGhlIHBhdGllbnQgYW5kIG5vdCByZXF1aXJlIHJlLXByb2Nlc3NpbmcgYW5kIG5vdCBnZXQgbG9zdCBvciBjYW5jZWxsZWQgZHVyaW5nIGEga2luZCBvZiBkaXNjaGFyZ2UgZnJvbSBlbWVyZ2VuY3kgdG8gaW5wYXRpZW50LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRW5jb3VudGVyLkNsYXNzSGlzdG9yeSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBTcGVjaWZpYyB0eXBlIG9mIGVuY291bnRlciIgZGVmaW5pdGlvbj0iU3BlY2lmaWMgdHlwZSBvZiBlbmNvdW50ZXIgKGUuZy4gZS1tYWlsIGNvbnN1bHRhdGlvbiwgc3VyZ2ljYWwgZGF5LWNhcmUsIHNraWxsZWQgbnVyc2luZywgcmVoYWJpbGl0YXRpb24pLiIgY29tbWVudD0iU2luY2UgdGhlcmUgYXJlIG1hbnkgd2F5cyB0byBmdXJ0aGVyIGNsYXNzaWZ5IGVuY291bnRlcnMsIHRoaXMgZWxlbWVudCBpcyAwLi4qLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlZhbHVlc2V0IHRvIGRlc2NyaWJlIHRoZSBFbmNvdW50ZXIgVHlwZSIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic2VydmljZVR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlNwZWNpZmljIHR5cGUgb2Ygc2VydmljZSIgZGVmaW5pdGlvbj0iQnJvYWQgY2F0ZWdvcml6YXRpb24gb2YgdGhlIHNlcnZpY2UgdGhhdCBpcyB0byBiZSBwcm92aWRlZCAoZS5nLiBjYXJkaW9sb2d5KS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJFbmNvdW50ZXJTZXJ2aWNlVHlwZSIgZGVzY3JpcHRpb249IkJyb2FkIGNhdGVnb3JpemF0aW9uIG9mIHRoZSBzZXJ2aWNlIHRoYXQgaXMgdG8gYmUgcHJvdmlkZWQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcmlvcml0eSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSW5kaWNhdGVzIHRoZSB1cmdlbmN5IG9mIHRoZSBlbmNvdW50ZXIiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgdXJnZW5jeSBvZiB0aGUgZW5jb3VudGVyLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlByaW9yaXR5IiBkZXNjcmlwdGlvbj0iSW5kaWNhdGVzIHRoZSB1cmdlbmN5IG9mIHRoZSBlbmNvdW50ZXIuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgVGhlIHBhdGllbnQgb3IgZ3JvdXAgcHJlc2VudCBhdCB0aGUgZW5jb3VudGVyIiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCBvciBncm91cCBwcmVzZW50IGF0IHRoZSBlbmNvdW50ZXIuIiBjb21tZW50PSJXaGlsZSB0aGUgZW5jb3VudGVyIGlzIGFsd2F5cyBhYm91dCB0aGUgcGF0aWVudCwgdGhlIHBhdGllbnQgbWlnaHQgbm90IGFjdHVhbGx5IGJlIGtub3duIGluIGFsbCBjb250ZXh0cyBvZiB1c2UsIGFuZCB0aGVyZSBtYXkgYmUgYSBncm91cCBvZiBwYXRpZW50cyB0aGF0IGNvdWxkIGJlIGFub255bW91cyAoc3VjaCBhcyBpbiBhIGdyb3VwIHRoZXJhcHkgZm9yIEFsY29ob2xpY3MgQW5vbnltb3VzIC0gd2hlcmUgdGhlIHJlY29yZGluZyBvZiB0aGUgZW5jb3VudGVyIGNvdWxkIGJlIHVzZWQgZm9yIGJpbGxpbmcgb24gdGhlIG51bWJlciBvZiBwZW9wbGUvc3RhZmYgYW5kIG5vdCBpbXBvcnRhbnQgdG8gdGhlIGNvbnRleHQgb2YgdGhlIHNwZWNpZmljIHBhdGllbnRzKSBvciBhbHRlcm5hdGVseSBpbiB2ZXRlcmluYXJ5IGNhcmUgYSBoZXJkIG9mIHNoZWVwIHJlY2VpdmluZyB0cmVhdG1lbnQgKHdoZXJlIHRoZSBhbmltYWxzIGFyZSBub3QgaW5kaXZpZHVhbGx5IHRyYWNrZWQpLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlcGlzb2RlT2ZDYXJlIiBkZXNjcmlwdGlvbj0iRXBpc29kZShzKSBvZiBjYXJlIHRoYXQgdGhpcyBlbmNvdW50ZXIgc2hvdWxkIGJlIHJlY29yZGVkIGFnYWluc3QiIGRlZmluaXRpb249IldoZXJlIGEgc3BlY2lmaWMgZW5jb3VudGVyIHNob3VsZCBiZSBjbGFzc2lmaWVkIGFzIGEgcGFydCBvZiBhIHNwZWNpZmljIGVwaXNvZGUocykgb2YgY2FyZSB0aGlzIGZpZWxkIHNob3VsZCBiZSB1c2VkLiBUaGlzIGFzc29jaWF0aW9uIGNhbiBmYWNpbGl0YXRlIGdyb3VwaW5nIG9mIHJlbGF0ZWQgZW5jb3VudGVycyB0b2dldGhlciBmb3IgYSBzcGVjaWZpYyBwdXJwb3NlLCBzdWNoIGFzIGdvdmVybm1lbnQgcmVwb3J0aW5nLCBpc3N1ZSB0cmFja2luZywgYXNzb2NpYXRpb24gdmlhIGEgY29tbW9uIHByb2JsZW0uICBUaGUgYXNzb2NpYXRpb24gaXMgcmVjb3JkZWQgb24gdGhlIGVuY291bnRlciBhcyB0aGVzZSBhcmUgdHlwaWNhbGx5IGNyZWF0ZWQgYWZ0ZXIgdGhlIGVwaXNvZGUgb2YgY2FyZSBhbmQgZ3JvdXBlZCBvbiBlbnRyeSByYXRoZXIgdGhhbiBlZGl0aW5nIHRoZSBlcGlzb2RlIG9mIGNhcmUgdG8gYXBwZW5kIGFub3RoZXIgZW5jb3VudGVyIHRvIGl0ICh0aGUgZXBpc29kZSBvZiBjYXJlIGNvdWxkIHNwYW4geWVhcnMpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJUaGUgU2VydmljZVJlcXVlc3QgdGhhdCBpbml0aWF0ZWQgdGhpcyBlbmNvdW50ZXIiIGRlZmluaXRpb249IlRoZSByZXF1ZXN0IHRoaXMgZW5jb3VudGVyIHNhdGlzZmllcyAoZS5nLiBpbmNvbWluZyByZWZlcnJhbCBvciBwcm9jZWR1cmUgcmVxdWVzdCkuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGFydGljaXBhbnQiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIExpc3Qgb2YgcGFydGljaXBhbnRzIGludm9sdmVkIGluIHRoZSBlbmNvdW50ZXIiIGRlZmluaXRpb249IlRoZSBsaXN0IG9mIHBlb3BsZSByZXNwb25zaWJsZSBmb3IgcHJvdmlkaW5nIHRoZSBzZXJ2aWNlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkVuY291bnRlci5QYXJ0aWNpcGFudCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhcHBvaW50bWVudCIgZGVzY3JpcHRpb249IlRoZSBhcHBvaW50bWVudCB0aGF0IHNjaGVkdWxlZCB0aGlzIGVuY291bnRlciIgZGVmaW5pdGlvbj0iVGhlIGFwcG9pbnRtZW50IHRoYXQgc2NoZWR1bGVkIHRoaXMgZW5jb3VudGVyLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFRoZSBzdGFydCBhbmQgZW5kIHRpbWUgb2YgdGhlIGVuY291bnRlciIgZGVmaW5pdGlvbj0iVGhlIHN0YXJ0IGFuZCBlbmQgdGltZSBvZiB0aGUgZW5jb3VudGVyLiIgY29tbWVudD0iSWYgbm90ICh5ZXQpIGtub3duLCB0aGUgZW5kIG9mIHRoZSBQZXJpb2QgbWF5IGJlIG9taXR0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imxlbmd0aCIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJRdWFudGl0eSBvZiB0aW1lIHRoZSBlbmNvdW50ZXIgbGFzdGVkIChsZXNzIHRpbWUgYWJzZW50KSIgZGVmaW5pdGlvbj0iUXVhbnRpdHkgb2YgdGltZSB0aGUgZW5jb3VudGVyIGxhc3RlZC4gVGhpcyBleGNsdWRlcyB0aGUgdGltZSBkdXJpbmcgbGVhdmVzIG9mIGFic2VuY2UuIiBjb21tZW50PSJNYXkgZGlmZmVyIGZyb20gdGhlIHRpbWUgdGhlIEVuY291bnRlci5wZXJpb2QgbGFzdGVkIGJlY2F1c2Ugb2YgbGVhdmUgb2YgYWJzZW5jZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBDb2RlZCByZWFzb24gdGhlIGVuY291bnRlciB0YWtlcyBwbGFjZSIgZGVmaW5pdGlvbj0iUmVhc29uIHRoZSBlbmNvdW50ZXIgdGFrZXMgcGxhY2UsIGV4cHJlc3NlZCBhcyBhIGNvZGUuIEZvciBhZG1pc3Npb25zLCB0aGlzIGNhbiBiZSB1c2VkIGZvciBhIGNvZGVkIGFkbWlzc2lvbiBkaWFnbm9zaXMuIiBjb21tZW50PSJGb3Igc3lzdGVtcyB0aGF0IG5lZWQgdG8ga25vdyB3aGljaCB3YXMgdGhlIHByaW1hcnkgZGlhZ25vc2lzLCB0aGVzZSB3aWxsIGJlIG1hcmtlZCB3aXRoIHRoZSBzdGFuZGFyZCBleHRlbnNpb24gcHJpbWFyeURpYWdub3NpcyAod2hpY2ggaXMgYSBzZXF1ZW5jZSB2YWx1ZSByYXRoZXIgdGhhbiBhIGZsYWcsIDEgPSBwcmltYXJ5IGRpYWdub3NpcykuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJFbmNvdW50ZXJSZWFzb24iIGRlc2NyaXB0aW9uPSJSZWFzb24gd2h5IHRoZSBlbmNvdW50ZXIgdGFrZXMgcGxhY2UuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvblJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgUmVhc29uIHRoZSBlbmNvdW50ZXIgdGFrZXMgcGxhY2UgKHJlZmVyZW5jZSkiIGRlZmluaXRpb249IlJlYXNvbiB0aGUgZW5jb3VudGVyIHRha2VzIHBsYWNlLCBleHByZXNzZWQgYXMgYSBjb2RlLiBGb3IgYWRtaXNzaW9ucywgdGhpcyBjYW4gYmUgdXNlZCBmb3IgYSBjb2RlZCBhZG1pc3Npb24gZGlhZ25vc2lzLiIgY29tbWVudD0iRm9yIHN5c3RlbXMgdGhhdCBuZWVkIHRvIGtub3cgd2hpY2ggd2FzIHRoZSBwcmltYXJ5IGRpYWdub3NpcywgdGhlc2Ugd2lsbCBiZSBtYXJrZWQgd2l0aCB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIHByaW1hcnlEaWFnbm9zaXMgKHdoaWNoIGlzIGEgc2VxdWVuY2UgdmFsdWUgcmF0aGVyIHRoYW4gYSBmbGFnLCAxID0gcHJpbWFyeSBkaWFnbm9zaXMpLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaWFnbm9zaXMiIGRlc2NyaXB0aW9uPSJUaGUgbGlzdCBvZiBkaWFnbm9zaXMgcmVsZXZhbnQgdG8gdGhpcyBlbmNvdW50ZXIiIGRlZmluaXRpb249IlRoZSBsaXN0IG9mIGRpYWdub3NpcyByZWxldmFudCB0byB0aGlzIGVuY291bnRlci4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkVuY291bnRlci5EaWFnbm9zaXMiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWNjb3VudCIgZGVzY3JpcHRpb249IlRoZSBzZXQgb2YgYWNjb3VudHMgdGhhdCBtYXkgYmUgdXNlZCBmb3IgYmlsbGluZyBmb3IgdGhpcyBFbmNvdW50ZXIiIGRlZmluaXRpb249IlRoZSBzZXQgb2YgYWNjb3VudHMgdGhhdCBtYXkgYmUgdXNlZCBmb3IgYmlsbGluZyBmb3IgdGhpcyBFbmNvdW50ZXIuIiBjb21tZW50PSJUaGUgYmlsbGluZyBzeXN0ZW0gbWF5IGNob29zZSB0byBhbGxvY2F0ZSBiaWxsYWJsZSBpdGVtcyBhc3NvY2lhdGVkIHdpdGggdGhlIEVuY291bnRlciB0byBkaWZmZXJlbnQgcmVmZXJlbmNlZCBBY2NvdW50cyBiYXNlZCBvbiBpbnRlcm5hbCBidXNpbmVzcyBydWxlcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJob3NwaXRhbGl6YXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuRW5jb3VudGVyLkhvc3BpdGFsaXphdGlvbiIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgRGV0YWlscyBhYm91dCB0aGUgYWRtaXNzaW9uIHRvIGEgaGVhbHRoY2FyZSBzZXJ2aWNlIiBkZWZpbml0aW9uPSJEZXRhaWxzIGFib3V0IHRoZSBhZG1pc3Npb24gdG8gYSBoZWFsdGhjYXJlIHNlcnZpY2UuIiBjb21tZW50PSJBbiBFbmNvdW50ZXIgbWF5IGNvdmVyIG1vcmUgdGhhbiBqdXN0IHRoZSBpbnBhdGllbnQgc3RheS4gQ29udGV4dHMgc3VjaCBhcyBvdXRwYXRpZW50cywgY29tbXVuaXR5IGNsaW5pY3MsIGFuZCBhZ2VkIGNhcmUgZmFjaWxpdGllcyBhcmUgYWxzbyBpbmNsdWRlZC4mIzEzOyYjMTM7VGhlIGR1cmF0aW9uIHJlY29yZGVkIGluIHRoZSBwZXJpb2Qgb2YgdGhpcyBlbmNvdW50ZXIgY292ZXJzIHRoZSBlbnRpcmUgc2NvcGUgb2YgdGhpcyBob3NwaXRhbGl6YXRpb24gcmVjb3JkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvbiIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgTGlzdCBvZiBsb2NhdGlvbnMgd2hlcmUgdGhlIHBhdGllbnQgaGFzIGJlZW4iIGRlZmluaXRpb249Ikxpc3Qgb2YgbG9jYXRpb25zIHdoZXJlICB0aGUgcGF0aWVudCBoYXMgYmVlbiBkdXJpbmcgdGhpcyBlbmNvdW50ZXIuIiBjb21tZW50PSJWaXJ0dWFsIGVuY291bnRlcnMgY2FuIGJlIHJlY29yZGVkIGluIHRoZSBFbmNvdW50ZXIgYnkgc3BlY2lmeWluZyBhIGxvY2F0aW9uIHJlZmVyZW5jZSB0byBhIGxvY2F0aW9uIG9mIHR5cGUgJnF1b3Q7a2luZCZxdW90OyBzdWNoIGFzICZxdW90O2NsaWVudCdzIGhvbWUmcXVvdDsgYW5kIGFuIGVuY291bnRlci5jbGFzcyA9ICZxdW90O3ZpcnR1YWwmcXVvdDsuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRW5jb3VudGVyLkxvY2F0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InNlcnZpY2VQcm92aWRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFRoZSBvcmdhbml6YXRpb24gKGZhY2lsaXR5KSByZXNwb25zaWJsZSBmb3IgdGhpcyBlbmNvdW50ZXIiIGRlZmluaXRpb249IlRoZSBvcmdhbml6YXRpb24gdGhhdCBpcyBwcmltYXJpbHkgcmVzcG9uc2libGUgZm9yIHRoaXMgRW5jb3VudGVyJ3Mgc2VydmljZXMuIFRoaXMgTUFZIGJlIHRoZSBzYW1lIGFzIHRoZSBvcmdhbml6YXRpb24gb24gdGhlIFBhdGllbnQgcmVjb3JkLCBob3dldmVyIGl0IGNvdWxkIGJlIGRpZmZlcmVudCwgc3VjaCBhcyBpZiB0aGUgYWN0b3IgcGVyZm9ybWluZyB0aGUgc2VydmljZXMgd2FzIGZyb20gYW4gZXh0ZXJuYWwgb3JnYW5pemF0aW9uICh3aGljaCBtYXkgYmUgYmlsbGVkIHNlcGVyYXRlbHkpIGZvciBhbiBleHRlcm5hbCBjb25zdWx0YXRpb24uICBSZWZlciB0byB0aGUgZXhhbXBsZSBidW5kbGUgc2hvd2luZyBhbiBhYmJyZXZpYXRlZCBzZXQgb2YgRW5jb3VudGVycyBmb3IgYSBjb2xvbm9zY29weS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkFub3RoZXIgRW5jb3VudGVyIHRoaXMgZW5jb3VudGVyIGlzIHBhcnQgb2YiIGRlZmluaXRpb249IkFub3RoZXIgRW5jb3VudGVyIG9mIHdoaWNoIHRoaXMgZW5jb3VudGVyIGlzIGEgcGFydCBvZiAoYWRtaW5pc3RyYXRpdmVseSBvciBpbiB0aW1lKS4iIGNvbW1lbnQ9IlRoaXMgaXMgYWxzbyB1c2VkIGZvciBhc3NvY2lhdGluZyBhIGNoaWxkJ3MgZW5jb3VudGVyIGJhY2sgdG8gdGhlIG1vdGhlcidzIGVuY291bnRlci4mIzEzOyYjMTM7UmVmZXIgdG8gdGhlIE5vdGVzIHNlY3Rpb24gaW4gdGhlIFBhdGllbnQgcmVzb3VyY2UgZm9yIGZ1cnRoZXIgZGV0YWlscy4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9IndoZXJlKHJlc29sdmUoKSBpcyBQcmFjdGl0aW9uZXIpIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0iaW5kaXZpZHVhbCIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJwYXRpZW50Ii8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUmVsYXRlZFBlcnNvbiIgcmVsYXRlZEtleUVsZW1lbnQ9ImluZGl2aWR1YWwiLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkVuY291bnRlci5DbGFzc0hpc3RvcnkiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNsYXNzIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJpbnBhdGllbnQgfCBvdXRwYXRpZW50IHwgYW1idWxhdG9yeSB8IGVtZXJnZW5jeSArIiBkZWZpbml0aW9uPSJpbnBhdGllbnQgfCBvdXRwYXRpZW50IHwgYW1idWxhdG9yeSB8IGVtZXJnZW5jeSArLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkVuY291bnRlckNsYXNzIiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgdGhlIGVuY291bnRlci4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgdGltZSB0aGF0IHRoZSBlcGlzb2RlIHdhcyBpbiB0aGUgc3BlY2lmaWVkIGNsYXNzIiBkZWZpbml0aW9uPSJUaGUgdGltZSB0aGF0IHRoZSBlcGlzb2RlIHdhcyBpbiB0aGUgc3BlY2lmaWVkIGNsYXNzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRW5jb3VudGVyLkRpYWdub3NpcyIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29uZGl0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlRoZSBkaWFnbm9zaXMgb3IgcHJvY2VkdXJlIHJlbGV2YW50IHRvIHRoZSBlbmNvdW50ZXIiIGRlZmluaXRpb249IlJlYXNvbiB0aGUgZW5jb3VudGVyIHRha2VzIHBsYWNlLCBhcyBzcGVjaWZpZWQgdXNpbmcgaW5mb3JtYXRpb24gZnJvbSBhbm90aGVyIHJlc291cmNlLiBGb3IgYWRtaXNzaW9ucywgdGhpcyBpcyB0aGUgYWRtaXNzaW9uIGRpYWdub3Npcy4gVGhlIGluZGljYXRpb24gd2lsbCB0eXBpY2FsbHkgYmUgYSBDb25kaXRpb24gKHdpdGggb3RoZXIgcmVzb3VyY2VzIHJlZmVyZW5jZWQgaW4gdGhlIGV2aWRlbmNlLmRldGFpbCksIG9yIGEgUHJvY2VkdXJlLiIgY29tbWVudD0iRm9yIHN5c3RlbXMgdGhhdCBuZWVkIHRvIGtub3cgd2hpY2ggd2FzIHRoZSBwcmltYXJ5IGRpYWdub3NpcywgdGhlc2Ugd2lsbCBiZSBtYXJrZWQgd2l0aCB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIHByaW1hcnlEaWFnbm9zaXMgKHdoaWNoIGlzIGEgc2VxdWVuY2UgdmFsdWUgcmF0aGVyIHRoYW4gYSBmbGFnLCAxID0gcHJpbWFyeSBkaWFnbm9zaXMpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InVzZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUm9sZSB0aGF0IHRoaXMgZGlhZ25vc2lzIGhhcyB3aXRoaW4gdGhlIGVuY291bnRlciAoZS5nLiBhZG1pc3Npb24sIGJpbGxpbmcsIGRpc2NoYXJnZSDigKYpIiBkZWZpbml0aW9uPSJSb2xlIHRoYXQgdGhpcyBkaWFnbm9zaXMgaGFzIHdpdGhpbiB0aGUgZW5jb3VudGVyIChlLmcuIGFkbWlzc2lvbiwgYmlsbGluZywgZGlzY2hhcmdlIOKApikuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRGlhZ25vc2lzUm9sZSIgZGVzY3JpcHRpb249IlRoZSB0eXBlIG9mIGRpYWdub3NpcyB0aGlzIGNvbmRpdGlvbiByZXByZXNlbnRzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyYW5rIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUmFua2luZyBvZiB0aGUgZGlhZ25vc2lzIChmb3IgZWFjaCByb2xlIHR5cGUpIiBkZWZpbml0aW9uPSJSYW5raW5nIG9mIHRoZSBkaWFnbm9zaXMgKGZvciBlYWNoIHJvbGUgdHlwZSkuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJFbmNvdW50ZXIuSG9zcGl0YWxpemF0aW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcmVBZG1pc3Npb25JZGVudGlmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJQcmUtYWRtaXNzaW9uIGlkZW50aWZpZXIiIGRlZmluaXRpb249IlByZS1hZG1pc3Npb24gaWRlbnRpZmllci4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJvcmlnaW4iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iVGhlIGxvY2F0aW9uL29yZ2FuaXphdGlvbiBmcm9tIHdoaWNoIHRoZSBwYXRpZW50IGNhbWUgYmVmb3JlIGFkbWlzc2lvbiIgZGVmaW5pdGlvbj0iVGhlIGxvY2F0aW9uL29yZ2FuaXphdGlvbiBmcm9tIHdoaWNoIHRoZSBwYXRpZW50IGNhbWUgYmVmb3JlIGFkbWlzc2lvbi4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImFkbWl0U291cmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJGcm9tIHdoZXJlIHBhdGllbnQgd2FzIGFkbWl0dGVkIChwaHlzaWNpYW4gcmVmZXJyYWwsIHRyYW5zZmVyKSIgZGVmaW5pdGlvbj0iRnJvbSB3aGVyZSBwYXRpZW50IHdhcyBhZG1pdHRlZCAocGh5c2ljaWFuIHJlZmVycmFsLCB0cmFuc2ZlcikuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQWRtaXRTb3VyY2UiIGRlc2NyaXB0aW9uPSJGcm9tIHdoZXJlIHRoZSBwYXRpZW50IHdhcyBhZG1pdHRlZC4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVBZG1pc3Npb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRoZSB0eXBlIG9mIGhvc3BpdGFsIHJlLWFkbWlzc2lvbiB0aGF0IGhhcyBvY2N1cnJlZCAoaWYgYW55KS4gSWYgdGhlIHZhbHVlIGlzIGFic2VudCwgdGhlbiB0aGlzIGlzIG5vdCBpZGVudGlmaWVkIGFzIGEgcmVhZG1pc3Npb24iIGRlZmluaXRpb249IldoZXRoZXIgdGhpcyBob3NwaXRhbGl6YXRpb24gaXMgYSByZWFkbWlzc2lvbiBhbmQgd2h5IGlmIGtub3duLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlJlQWRtaXNzaW9uVHlwZSIgZGVzY3JpcHRpb249IlRoZSByZWFzb24gZm9yIHJlLWFkbWlzc2lvbiBvZiB0aGlzIGhvc3BpdGFsaXphdGlvbiBlbmNvdW50ZXIuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaWV0UHJlZmVyZW5jZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkRpZXQgcHJlZmVyZW5jZXMgcmVwb3J0ZWQgYnkgdGhlIHBhdGllbnQiIGRlZmluaXRpb249IkRpZXQgcHJlZmVyZW5jZXMgcmVwb3J0ZWQgYnkgdGhlIHBhdGllbnQuIiBjb21tZW50PSJGb3IgZXhhbXBsZSwgYSBwYXRpZW50IG1heSByZXF1ZXN0IGJvdGggYSBkYWlyeS1mcmVlIGFuZCBudXQtZnJlZSBkaWV0IHByZWZlcmVuY2UgKG5vdCBtdXR1YWxseSBleGNsdXNpdmUpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJQYXRpZW50RGlldCIgZGVzY3JpcHRpb249Ik1lZGljYWwsIGN1bHR1cmFsIG9yIGV0aGljYWwgZm9vZCBwcmVmZXJlbmNlcyB0byBoZWxwIHdpdGggY2F0ZXJpbmcgcmVxdWlyZW1lbnRzLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3BlY2lhbENvdXJ0ZXN5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU3BlY2lhbCBjb3VydGVzaWVzIChWSVAsIGJvYXJkIG1lbWJlcikiIGRlZmluaXRpb249IlNwZWNpYWwgY291cnRlc2llcyAoVklQLCBib2FyZCBtZW1iZXIpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJDb3VydGVzaWVzIiBkZXNjcmlwdGlvbj0iU3BlY2lhbCBjb3VydGVzaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaWFsQXJyYW5nZW1lbnQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaGVlbGNoYWlyLCB0cmFuc2xhdG9yLCBzdHJldGNoZXIsIGV0Yy4iIGRlZmluaXRpb249IkFueSBzcGVjaWFsIHJlcXVlc3RzIHRoYXQgaGF2ZSBiZWVuIG1hZGUgZm9yIHRoaXMgaG9zcGl0YWxpemF0aW9uIGVuY291bnRlciwgc3VjaCBhcyB0aGUgcHJvdmlzaW9uIG9mIHNwZWNpZmljIGVxdWlwbWVudCBvciBvdGhlciB0aGluZ3MuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkFycmFuZ2VtZW50cyIgZGVzY3JpcHRpb249IlNwZWNpYWwgYXJyYW5nZW1lbnRzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXN0aW5hdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJMb2NhdGlvbi9vcmdhbml6YXRpb24gdG8gd2hpY2ggdGhlIHBhdGllbnQgaXMgZGlzY2hhcmdlZCIgZGVmaW5pdGlvbj0iTG9jYXRpb24vb3JnYW5pemF0aW9uIHRvIHdoaWNoIHRoZSBwYXRpZW50IGlzIGRpc2NoYXJnZWQuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaXNjaGFyZ2VEaXNwb3NpdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBDYXRlZ29yeSBvciBraW5kIG9mIGxvY2F0aW9uIGFmdGVyIGRpc2NoYXJnZSIgZGVmaW5pdGlvbj0iQ2F0ZWdvcnkgb3Iga2luZCBvZiBsb2NhdGlvbiBhZnRlciBkaXNjaGFyZ2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRW5jb3VudGVyLkxvY2F0aW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIExvY2F0aW9uIHRoZSBlbmNvdW50ZXIgdGFrZXMgcGxhY2UiIGRlZmluaXRpb249IlRoZSBsb2NhdGlvbiB3aGVyZSB0aGUgZW5jb3VudGVyIHRha2VzIHBsYWNlLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRW5jb3VudGVyTG9jYXRpb25TdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icGxhbm5lZCB8IGFjdGl2ZSB8IHJlc2VydmVkIHwgY29tcGxldGVkIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSBwYXJ0aWNpcGFudHMnIHByZXNlbmNlIGF0IHRoZSBzcGVjaWZpZWQgbG9jYXRpb24gZHVyaW5nIHRoZSBwZXJpb2Qgc3BlY2lmaWVkLiBJZiB0aGUgcGFydGljaXBhbnQgaXMgbm8gbG9uZ2VyIGF0IHRoZSBsb2NhdGlvbiwgdGhlbiB0aGUgcGVyaW9kIHdpbGwgaGF2ZSBhbiBlbmQgZGF0ZS90aW1lLiIgY29tbWVudD0iV2hlbiB0aGUgcGF0aWVudCBpcyBubyBsb25nZXIgYWN0aXZlIGF0IGEgbG9jYXRpb24sIHRoZW4gdGhlIHBlcmlvZCBlbmQgZGF0ZSBpcyBlbnRlcmVkLCBhbmQgdGhlIHN0YXR1cyBtYXkgYmUgY2hhbmdlZCB0byBjb21wbGV0ZWQuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRW5jb3VudGVyTG9jYXRpb25TdGF0dXMiIGRlc2NyaXB0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSBsb2NhdGlvbi4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwaHlzaWNhbFR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRoZSBwaHlzaWNhbCB0eXBlIG9mIHRoZSBsb2NhdGlvbiAodXN1YWxseSB0aGUgbGV2ZWwgaW4gdGhlIGxvY2F0aW9uIGhpZXJhY2h5IC0gYmVkIHJvb20gd2FyZCBldGMuKSIgZGVmaW5pdGlvbj0iVGhpcyB3aWxsIGJlIHVzZWQgdG8gc3BlY2lmeSB0aGUgcmVxdWlyZWQgbGV2ZWxzIChiZWQvd2FyZC9yb29tL2V0Yy4pIGRlc2lyZWQgdG8gYmUgcmVjb3JkZWQgdG8gc2ltcGxpZnkgZWl0aGVyIG1lc3NhZ2luZyBvciBxdWVyeS4iIGNvbW1lbnQ9IlRoaXMgaW5mb3JtYXRpb24gaXMgZGUtbm9ybWFsaXplZCBmcm9tIHRoZSBMb2NhdGlvbiByZXNvdXJjZSB0byBzdXBwb3J0IHRoZSBlYXNpZXIgdW5kZXJzdGFuZGluZyBvZiB0aGUgZW5jb3VudGVyIHJlc291cmNlIGFuZCBwcm9jZXNzaW5nIGluIG1lc3NhZ2luZyBvciBxdWVyeS4mIzEwOyYjMTA7VGhlcmUgbWF5IGJlIG1hbnkgbGV2ZWxzIGluIHRoZSBoaWVyYWNoeSwgYW5kIHRoaXMgbWF5IG9ubHkgcGljIHNwZWNpZmljIGxldmVscyB0aGF0IGFyZSByZXF1aXJlZCBmb3IgYSBzcGVjaWZpYyB1c2FnZSBzY2VuYXJpby4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJQaHlzaWNhbFR5cGUiIGRlc2NyaXB0aW9uPSJQaHlzaWNhbCBmb3JtIG9mIHRoZSBsb2NhdGlvbi4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgVGltZSBwZXJpb2QgZHVyaW5nIHdoaWNoIHRoZSBwYXRpZW50IHdhcyBwcmVzZW50IGF0IHRoZSBsb2NhdGlvbiIgZGVmaW5pdGlvbj0iVGltZSBwZXJpb2QgZHVyaW5nIHdoaWNoIHRoZSBwYXRpZW50IHdhcyBwcmVzZW50IGF0IHRoZSBsb2NhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkVuY291bnRlci5QYXJ0aWNpcGFudCIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgUm9sZSBvZiBwYXJ0aWNpcGFudCBpbiBlbmNvdW50ZXIiIGRlZmluaXRpb249IlJvbGUgb2YgcGFydGljaXBhbnQgaW4gZW5jb3VudGVyLiIgY29tbWVudD0iVGhlIHBhcnRpY2lwYW50IHR5cGUgaW5kaWNhdGVzIGhvdyBhbiBpbmRpdmlkdWFsIHBhcnRpY2lwYXRlcyBpbiBhbiBlbmNvdW50ZXIuIEl0IGluY2x1ZGVzIG5vbi1wcmFjdGl0aW9uZXIgcGFydGljaXBhbnRzLCBhbmQgZm9yIHByYWN0aXRpb25lcnMgdGhpcyBpcyB0byBkZXNjcmliZSB0aGUgYWN0aW9uIHR5cGUgaW4gdGhlIGNvbnRleHQgb2YgdGhpcyBlbmNvdW50ZXIgKGUuZy4gQWRtaXR0aW5nIERyLCBBdHRlbmRpbmcgRHIsIFRyYW5zbGF0b3IsIENvbnN1bHRpbmcgRHIpLiBUaGlzIGlzIGRpZmZlcmVudCB0byB0aGUgcHJhY3RpdGlvbmVyIHJvbGVzIHdoaWNoIGFyZSBmdW5jdGlvbmFsIHJvbGVzLCBkZXJpdmVkIGZyb20gdGVybXMgb2YgZW1wbG95bWVudCwgZWR1Y2F0aW9uLCBsaWNlbnNpbmcsIGV0Yy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlBhcnRpY2lwYW50VHlwZSIgZGVzY3JpcHRpb249IlJvbGUgb2YgcGFydGljaXBhbnQgaW4gZW5jb3VudGVyLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyaW9kIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgUGVyaW9kIG9mIHRpbWUgZHVyaW5nIHRoZSBlbmNvdW50ZXIgdGhhdCB0aGUgcGFydGljaXBhbnQgcGFydGljaXBhdGVkIiBkZWZpbml0aW9uPSJUaGUgcGVyaW9kIG9mIHRpbWUgdGhhdCB0aGUgc3BlY2lmaWVkIHBhcnRpY2lwYW50IHBhcnRpY2lwYXRlZCBpbiB0aGUgZW5jb3VudGVyLiBUaGVzZSBjYW4gb3ZlcmxhcCBvciBiZSBzdWItc2V0cyBvZiB0aGUgb3ZlcmFsbCBlbmNvdW50ZXIncyBwZXJpb2QuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImluZGl2aWR1YWwiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBQZXJzb25zIGludm9sdmVkIGluIHRoZSBlbmNvdW50ZXIgb3RoZXIgdGhhbiB0aGUgcGF0aWVudCIgZGVmaW5pdGlvbj0iUGVyc29ucyBpbnZvbHZlZCBpbiB0aGUgZW5jb3VudGVyIG90aGVyIHRoYW4gdGhlIHBhdGllbnQuIiBjb21tZW50PSJTaG91bGQgaW5jbHVkZSBRSUNvcmUtUmVsYXRlZFBlcnNvbiBhcyBhIHBvc3NpYmxlIHBhcnRpY2lwYW50LCBidXQgVVNDb3JlLUVuY291bnRlciBvbmx5IGFsbG93cyBVU0NvcmUtUHJhY3RpdGlvbmVyLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkVuY291bnRlci5TdGF0dXNIaXN0b3J5IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRW5jb3VudGVyU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InBsYW5uZWQgfCBhcnJpdmVkIHwgdHJpYWdlZCB8IGluLXByb2dyZXNzIHwgb25sZWF2ZSB8IGZpbmlzaGVkIHwgY2FuY2VsbGVkICsiIGRlZmluaXRpb249InBsYW5uZWQgfCBhcnJpdmVkIHwgdHJpYWdlZCB8IGluLXByb2dyZXNzIHwgb25sZWF2ZSB8IGZpbmlzaGVkIHwgY2FuY2VsbGVkICsuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRW5jb3VudGVyU3RhdHVzIiBkZXNjcmlwdGlvbj0iQ3VycmVudCBzdGF0ZSBvZiB0aGUgZW5jb3VudGVyLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgdGltZSB0aGF0IHRoZSBlcGlzb2RlIHdhcyBpbiB0aGUgc3BlY2lmaWVkIHN0YXR1cyIgZGVmaW5pdGlvbj0iVGhlIHRpbWUgdGhhdCB0aGUgZXBpc29kZSB3YXMgaW4gdGhlIHNwZWNpZmllZCBzdGF0dXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJFbmNvdW50ZXJMb2NhdGlvblN0YXR1cyIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJFbmNvdW50ZXJTdGF0dXMiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRXZlbnRUaW1pbmciIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRXhwcmVzc2lvbiIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL0V4cHJlc3Npb24iIGxhYmVsPSJFeHByZXNzaW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGVzY3JpcHRpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik5hdHVyYWwgbGFuZ3VhZ2UgZGVzY3JpcHRpb24gb2YgdGhlIGNvbmRpdGlvbiIgZGVmaW5pdGlvbj0iQSBicmllZiwgbmF0dXJhbCBsYW5ndWFnZSBkZXNjcmlwdGlvbiBvZiB0aGUgY29uZGl0aW9uIHRoYXQgZWZmZWN0aXZlbHkgY29tbXVuaWNhdGVzIHRoZSBpbnRlbmRlZCBzZW1hbnRpY3MuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibmFtZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iU2hvcnQgbmFtZSBhc3NpZ25lZCB0byBleHByZXNzaW9uIGZvciByZXVzZSIgZGVmaW5pdGlvbj0iQSBzaG9ydCBuYW1lIGFzc2lnbmVkIHRvIHRoZSBleHByZXNzaW9uIHRvIGFsbG93IGZvciBtdWx0aXBsZSByZXVzZSBvZiB0aGUgZXhwcmVzc2lvbiBpbiB0aGUgY29udGV4dCB3aGVyZSBpdCBpcyBkZWZpbmVkLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Imxhbmd1YWdlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJ0ZXh0L2NxbCB8IHRleHQvZmhpcnBhdGggfCBhcHBsaWNhdGlvbi94LWZoaXItcXVlcnkgfCBldGMuIiBkZWZpbml0aW9uPSJUaGUgbWVkaWEgdHlwZSBvZiB0aGUgbGFuZ3VhZ2UgZm9yIHRoZSBleHByZXNzaW9uLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkV4cHJlc3Npb25MYW5ndWFnZSIgZGVzY3JpcHRpb249IlRoZSBtZWRpYSB0eXBlIG9mIHRoZSBleHByZXNzaW9uIGxhbmd1YWdlLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZXhwcmVzc2lvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRXhwcmVzc2lvbiBpbiBzcGVjaWZpZWQgbGFuZ3VhZ2UiIGRlZmluaXRpb249IkFuIGV4cHJlc3Npb24gaW4gdGhlIHNwZWNpZmllZCBsYW5ndWFnZSB0aGF0IHJldHVybnMgYSB2YWx1ZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZXJlIHRoZSBleHByZXNzaW9uIGlzIGZvdW5kIiBkZWZpbml0aW9uPSJBIFVSSSB0aGF0IGRlZmluZXMgd2hlcmUgdGhlIGV4cHJlc3Npb24gaXMgZm91bmQuIiBjb21tZW50PSJJZiBib3RoIGEgcmVmZXJlbmNlIGFuZCBhbiBleHByZXNzaW9uIGlzIGZvdW5kLCB0aGUgcmVmZXJlbmNlIFNIQUxMIHBvaW50IHRvIHRoZSBzYW1lIGV4cHJlc3Npb24uIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJFeHRlbnNpb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9FeHRlbnNpb24iIGxhYmVsPSJFeHRlbnNpb24iIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5FbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1cmwiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImlkZW50aWZpZXMgdGhlIG1lYW5pbmcgb2YgdGhlIGV4dGVuc2lvbiIgZGVmaW5pdGlvbj0iU291cmNlIG9mIHRoZSBkZWZpbml0aW9uIGZvciB0aGUgZXh0ZW5zaW9uIGNvZGUgLSBhIGxvZ2ljYWwgbmFtZSBvciBhIFVSTC4iIGNvbW1lbnQ9IlRoZSBkZWZpbml0aW9uIG1heSBwb2ludCBkaXJlY3RseSB0byBhIGNvbXB1dGFibGUgb3IgaHVtYW4tcmVhZGFibGUgZGVmaW5pdGlvbiBvZiB0aGUgZXh0ZW5zaWJpbGl0eSBjb2Rlcywgb3IgaXQgbWF5IGJlIGEgbG9naWNhbCBVUkkgYXMgZGVjbGFyZWQgaW4gc29tZSBvdGhlciBzcGVjaWZpY2F0aW9uLiBUaGUgZGVmaW5pdGlvbiBTSEFMTCBiZSBhIFVSSSBmb3IgdGhlIFN0cnVjdHVyZSBEZWZpbml0aW9uIGRlZmluaW5nIHRoZSBleHRlbnNpb24uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVmFsdWUgb2YgZXh0ZW5zaW9uIiBkZWZpbml0aW9uPSJWYWx1ZSBvZiBleHRlbnNpb24gLSBtdXN0IGJlIG9uZSBvZiBhIGNvbnN0cmFpbmVkIHNldCBvZiB0aGUgZGF0YSB0eXBlcyAoc2VlIFtFeHRlbnNpYmlsaXR5XShleHRlbnNpYmlsaXR5Lmh0bWwpIGZvciBhIGxpc3QpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkJvb2xlYW4iLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGVjaW1hbCIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQWRkcmVzcyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkFubm90YXRpb24iLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkF0dGFjaG1lbnQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvZGUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbnRhY3RQb2ludCIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iSHVtYW5OYW1lIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJJZGVudGlmaWVyIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEZWNpbWFsIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlJhdGlvIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlNhbXBsZWREYXRhIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTaWduYXR1cmUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRpbWluZyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ29udGFjdERldGFpbCIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iQ29udHJpYnV0b3IiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkRhdGFSZXF1aXJlbWVudCIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRXhwcmVzc2lvbiIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUGFyYW1ldGVyRGVmaW5pdGlvbiIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVsYXRlZEFydGlmYWN0Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJUcmlnZ2VyRGVmaW5pdGlvbiIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVXNhZ2VDb250ZXh0Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEb3NhZ2UiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik1ldGEiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJGSElSQWxsVHlwZXMiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRkhJUkRldmljZVN0YXR1cyIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJGSElSU3Vic3RhbmNlU3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkZhbWlseUhpc3RvcnlTdGF0dXMiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRmFtaWx5TWVtYmVySGlzdG9yeSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtZmFtaWx5bWVtYmVyaGlzdG9yeSIgbGFiZWw9IlFJQ29yZSBGYW1pbHlNZW1iZXJIaXN0b3J5IiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJyZWxhdGlvbnNoaXAiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJFeHRlcm5hbCBJZChzKSBmb3IgdGhpcyByZWNvcmQiIGRlZmluaXRpb249IkJ1c2luZXNzIGlkZW50aWZpZXJzIGFzc2lnbmVkIHRvIHRoaXMgZmFtaWx5IG1lbWJlciBoaXN0b3J5IGJ5IHRoZSBwZXJmb3JtZXIgb3Igb3RoZXIgc3lzdGVtcyB3aGljaCByZW1haW4gY29uc3RhbnQgYXMgdGhlIHJlc291cmNlIGlzIHVwZGF0ZWQgYW5kIHByb3BhZ2F0ZXMgZnJvbSBzZXJ2ZXIgdG8gc2VydmVyLiIgY29tbWVudD0iVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIgKHNlZSBbZGlzY3Vzc2lvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS5odG1sI2lkZW50aWZpZXJzKSkuICBJdCBpcyBiZXN0IHByYWN0aWNlIGZvciB0aGUgaWRlbnRpZmllciB0byBvbmx5IGFwcGVhciBvbiBhIHNpbmdsZSByZXNvdXJjZSBpbnN0YW5jZSwgaG93ZXZlciBidXNpbmVzcyBwcmFjdGljZXMgbWF5IG9jY2FzaW9uYWxseSBkaWN0YXRlIHRoYXQgbXVsdGlwbGUgcmVzb3VyY2UgaW5zdGFuY2VzIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllciBjYW4gZXhpc3QgLSBwb3NzaWJseSBldmVuIHdpdGggZGlmZmVyZW50IHJlc291cmNlIHR5cGVzLiAgRm9yIGV4YW1wbGUsIG11bHRpcGxlIFBhdGllbnQgYW5kIGEgUGVyc29uIHJlc291cmNlIGluc3RhbmNlIG1pZ2h0IHNoYXJlIHRoZSBzYW1lIHNvY2lhbCBpbnN1cmFuY2UgbnVtYmVyLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNDYW5vbmljYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIEZISVIgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhIEZISVItZGVmaW5lZCBwcm90b2NvbCwgZ3VpZGVsaW5lLCBvcmRlcnNldCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgRmFtaWx5TWVtYmVySGlzdG9yeS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNVcmkiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGFudGlhdGVzIGV4dGVybmFsIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYW4gZXh0ZXJuYWxseSBtYWludGFpbmVkIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyc2V0IG9yIG90aGVyIGRlZmluaXRpb24gdGhhdCBpcyBhZGhlcmVkIHRvIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBGYW1pbHlNZW1iZXJIaXN0b3J5LiIgY29tbWVudD0iVGhpcyBtaWdodCBiZSBhbiBIVE1MIHBhZ2UsIFBERiwgZXRjLiBvciBjb3VsZCBqdXN0IGJlIGEgbm9uLXJlc29sdmFibGUgVVJJIGlkZW50aWZpZXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLkZhbWlseUhpc3RvcnlTdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icGFydGlhbCB8IGNvbXBsZXRlZCB8IGVudGVyZWQtaW4tZXJyb3IgfCBoZWFsdGgtdW5rbm93biIgZGVmaW5pdGlvbj0iQSBjb2RlIHNwZWNpZnlpbmcgdGhlIHN0YXR1cyBvZiB0aGUgcmVjb3JkIG9mIHRoZSBmYW1pbHkgaGlzdG9yeSBvZiBhIHNwZWNpZmljIGZhbWlseSBtZW1iZXIuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRmFtaWx5SGlzdG9yeVN0YXR1cyIgZGVzY3JpcHRpb249IkEgY29kZSB0aGF0IGlkZW50aWZpZXMgdGhlIHN0YXR1cyBvZiB0aGUgZmFtaWx5IGhpc3RvcnkgcmVjb3JkLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGFBYnNlbnRSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249InN1YmplY3QtdW5rbm93biB8IHdpdGhoZWxkIHwgdW5hYmxlLXRvLW9idGFpbiB8IGRlZmVycmVkIiBkZWZpbml0aW9uPSJEZXNjcmliZXMgd2h5IHRoZSBmYW1pbHkgbWVtYmVyJ3MgaGlzdG9yeSBpcyBub3QgYXZhaWxhYmxlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkZhbWlseUhpc3RvcnlBYnNlbnRSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIHRoZSByZWFzb24gd2h5IGEgZmFtaWx5IG1lbWJlcidzIGhpc3RvcnkgaXMgbm90IGF2YWlsYWJsZS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhdGllbnQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFBhdGllbnQgaGlzdG9yeSBpcyBhYm91dCIgZGVmaW5pdGlvbj0iVGhlIHBlcnNvbiB3aG8gdGhpcyBoaXN0b3J5IGNvbmNlcm5zLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFdoZW4gaGlzdG9yeSB3YXMgcmVjb3JkZWQgb3IgbGFzdCB1cGRhdGVkIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSAoYW5kIHBvc3NpYmx5IHRpbWUpIHdoZW4gdGhlIGZhbWlseSBtZW1iZXIgaGlzdG9yeSB3YXMgcmVjb3JkZWQgb3IgbGFzdCB1cGRhdGVkLiIgY29tbWVudD0iVGhpcyBzaG91bGQgYmUgY2FwdHVyZWQgZXZlbiBpZiB0aGUgc2FtZSBhcyB0aGUgZGF0ZSBvbiB0aGUgTGlzdCBhZ2dyZWdhdGluZyB0aGUgZnVsbCBmYW1pbHkgaGlzdG9yeS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJuYW1lIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaGUgZmFtaWx5IG1lbWJlciBkZXNjcmliZWQiIGRlZmluaXRpb249IlRoaXMgd2lsbCBlaXRoZXIgYmUgYSBuYW1lIG9yIGEgZGVzY3JpcHRpb247IGUuZy4gJnF1b3Q7QXVudCBTdXNhbiZxdW90OywgJnF1b3Q7bXkgY291c2luIHdpdGggdGhlIHJlZCBoYWlyJnF1b3Q7LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlbGF0aW9uc2hpcCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFJlbGF0aW9uc2hpcCB0byB0aGUgc3ViamVjdCIgZGVmaW5pdGlvbj0iVGhlIHR5cGUgb2YgcmVsYXRpb25zaGlwIHRoaXMgcGVyc29uIGhhcyB0byB0aGUgcGF0aWVudCAoZmF0aGVyLCBtb3RoZXIsIGJyb3RoZXIgZXRjLikuIj4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzZXgiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Im1hbGUgfCBmZW1hbGUgfCBvdGhlciB8IHVua25vd24iIGRlZmluaXRpb249IlRoZSBiaXJ0aCBzZXggb2YgdGhlIGZhbWlseSBtZW1iZXIuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgc2hvdWxkIGlkZWFsbHkgcmVmbGVjdCB3aGV0aGVyIHRoZSBpbmRpdmlkdWFsIGlzIGdlbmV0aWNhbGx5IG1hbGUgb3IgZmVtYWxlLiAgSG93ZXZlciwgYXMgcmVwb3J0ZWQgaW5mb3JtYXRpb24gYmFzZWQgb24gdGhlIGtub3dsZWRnZSBvZiB0aGUgcGF0aWVudCBvciByZXBvcnRpbmcgZnJpZW5kL3JlbGF0aXZlLCB0aGVyZSBtYXkgYmUgc2l0dWF0aW9ucyB3aGVyZSB0aGUgcmVwb3J0ZWQgc2V4IG1pZ2h0IG5vdCBiZSB0b3RhbGx5IGFjY3VyYXRlLiAgRS5nLiAnQXVudCBTdWUnIG1pZ2h0IGJlIFhZIHJhdGhlciB0aGFuIFhYLiAgUXVlc3Rpb25zIHNvbGljaXRpbmcgdGhpcyBpbmZvcm1hdGlvbiBzaG91bGQgYmUgcGhyYXNlZCB0byBlbmNvdXJhZ2UgY2FwdHVyZSBvZiBnZW5ldGljIHNleCB3aGVyZSBrbm93bi4gIEhvd2V2ZXIsIHN5c3RlbXMgcGVyZm9ybWluZyBhbmFseXNpcyBzaG91bGQgYWxzbyBhbGxvdyBmb3IgdGhlIHBvc3NpYmlsaXR5IG9mIGltcHJlY2lzaW9uIHdpdGggdGhpcyBlbGVtZW50LiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlNleCIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgdGhlIHNleCBhc3NpZ25lZCBhdCBiaXJ0aCBhcyBkb2N1bWVudGVkIG9uIHRoZSBiaXJ0aCByZWdpc3RyYXRpb24uIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJib3JuIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihhcHByb3hpbWF0ZSkgZGF0ZSBvZiBiaXJ0aCIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBvciBhcHByb3hpbWF0ZSBkYXRlIG9mIGJpcnRoIG9mIHRoZSByZWxhdGl2ZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWdlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSAoYXBwcm94aW1hdGUpIGFnZSIgZGVmaW5pdGlvbj0iVGhlIGFnZSBvZiB0aGUgcmVsYXRpdmUgYXQgdGhlIHRpbWUgdGhlIGZhbWlseSBtZW1iZXIgaGlzdG9yeSBpcyByZWNvcmRlZC4iIGNvbW1lbnQ9InVzZSBlc3RpbWF0ZWRBZ2UgdG8gaW5kaWNhdGUgd2hldGhlciB0aGUgYWdlIGlzIGFjdHVhbCBvciBub3QuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlc3RpbWF0ZWRBZ2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBZ2UgaXMgZXN0aW1hdGVkPyIgZGVmaW5pdGlvbj0iSWYgdHJ1ZSwgaW5kaWNhdGVzIHRoYXQgdGhlIGFnZSB2YWx1ZSBzcGVjaWZpZWQgaXMgYW4gZXN0aW1hdGVkIHZhbHVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBmYWN0IHRoYXQgYWdlIGlzIGVzdGltYXRlZCBjYW4vc2hvdWxkIGNoYW5nZSB0aGUgcmVzdWx0cyBvZiBhbnkgYWxnb3JpdGhtIHRoYXQgY2FsY3VsYXRlcyBiYXNlZCBvbiB0aGUgc3BlY2lmaWVkIGFnZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZWNlYXNlZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgRGVhZD8gSG93IG9sZC93aGVuPyIgZGVmaW5pdGlvbj0iRGVjZWFzZWQgZmxhZyBvciB0aGUgYWN0dWFsIG9yIGFwcHJveGltYXRlIGFnZSBvZiB0aGUgcmVsYXRpdmUgYXQgdGhlIHRpbWUgb2YgZGVhdGggZm9yIHRoZSBmYW1pbHkgbWVtYmVyIGhpc3RvcnkgcmVjb3JkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJCb29sZWFuIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoeSB3YXMgZmFtaWx5IG1lbWJlciBoaXN0b3J5IHBlcmZvcm1lZD8iIGRlZmluaXRpb249IkRlc2NyaWJlcyB3aHkgdGhlIGZhbWlseSBtZW1iZXIgaGlzdG9yeSBvY2N1cnJlZCBpbiBjb2RlZCBvciB0ZXh0dWFsIGZvcm0uIiBjb21tZW50PSJUZXh0dWFsIHJlYXNvbnMgY2FuIGJlIGNhcHR1cmVkIHVzaW5nIHJlYXNvbkNvZGUudGV4dC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRmFtaWx5SGlzdG9yeVJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIGluZGljYXRpbmcgd2h5IHRoZSBmYW1pbHkgbWVtYmVyIGhpc3Rvcnkgd2FzIGRvbmUuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaHkgd2FzIGZhbWlseSBtZW1iZXIgaGlzdG9yeSBwZXJmb3JtZWQ/IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgYSBDb25kaXRpb24sIE9ic2VydmF0aW9uLCBBbGxlcmd5SW50b2xlcmFuY2UsIG9yIFF1ZXN0aW9ubmFpcmVSZXNwb25zZSB0aGF0IGp1c3RpZmllcyB0aGlzIGZhbWlseSBtZW1iZXIgaGlzdG9yeSBldmVudC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iR2VuZXJhbCBub3RlIGFib3V0IHJlbGF0ZWQgcGVyc29uIiBkZWZpbml0aW9uPSJUaGlzIHByb3BlcnR5IGFsbG93cyBhIG5vbiBjb25kaXRpb24tc3BlY2lmaWMgbm90ZSB0byB0aGUgbWFkZSBhYm91dCB0aGUgcmVsYXRlZCBwZXJzb24uIElkZWFsbHksIHRoZSBub3RlIHdvdWxkIGJlIGluIHRoZSBjb25kaXRpb24gcHJvcGVydHksIGJ1dCB0aGlzIGlzIG5vdCBhbHdheXMgcG9zc2libGUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbmRpdGlvbiIgZGVzY3JpcHRpb249IkNvbmRpdGlvbiB0aGF0IHRoZSByZWxhdGVkIHBlcnNvbiBoYWQiIGRlZmluaXRpb249IlRoZSBzaWduaWZpY2FudCBDb25kaXRpb25zIChvciBjb25kaXRpb24pIHRoYXQgdGhlIGZhbWlseSBtZW1iZXIgaGFkLiBUaGlzIGlzIGEgcmVwZWF0aW5nIHNlY3Rpb24gdG8gYWxsb3cgYSBzeXN0ZW0gdG8gcmVwcmVzZW50IG1vcmUgdGhhbiBvbmUgY29uZGl0aW9uIHBlciByZXNvdXJjZSwgdGhvdWdoIHRoZXJlIGlzIG5vdGhpbmcgc3RvcHBpbmcgbXVsdGlwbGUgcmVzb3VyY2VzIC0gb25lIHBlciBjb25kaXRpb24uIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkZhbWlseU1lbWJlckhpc3RvcnkuQ29uZGl0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJwYXRpZW50Ii8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJGYW1pbHlNZW1iZXJIaXN0b3J5LkNvbmRpdGlvbiIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIENvbmRpdGlvbiBzdWZmZXJlZCBieSByZWxhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBjb25kaXRpb24gc3BlY2lmaWVkLiBDb3VsZCBiZSBhIGNvZGVkIGNvbmRpdGlvbiAobGlrZSBNSSBvciBEaWFiZXRlcykgb3IgYSBsZXNzIHNwZWNpZmljIHN0cmluZyBsaWtlICdjYW5jZXInIGRlcGVuZGluZyBvbiBob3cgbXVjaCBpcyBrbm93biBhYm91dCB0aGUgY29uZGl0aW9uIGFuZCB0aGUgY2FwYWJpbGl0aWVzIG9mIHRoZSBjcmVhdGluZyBzeXN0ZW0uIj4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IklkZW50aWZpY2F0aW9uIG9mIHRoZSBDb25kaXRpb24gb3IgZGlhZ25vc2lzLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ib3V0Y29tZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iZGVjZWFzZWQgfCBwZXJtYW5lbnQgZGlzYWJpbGl0eSB8IGV0Yy4iIGRlZmluaXRpb249IkluZGljYXRlcyB3aGF0IGhhcHBlbmVkIGZvbGxvd2luZyB0aGUgY29uZGl0aW9uLiAgSWYgdGhlIGNvbmRpdGlvbiByZXN1bHRlZCBpbiBkZWF0aCwgZGVjZWFzZWQgZGF0ZSBpcyBjYXB0dXJlZCBvbiB0aGUgcmVsYXRpb24uIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ29uZGl0aW9uT3V0Y29tZSIgZGVzY3JpcHRpb249IlRoZSByZXN1bHQgb2YgdGhlIGNvbmRpdGlvbiBmb3IgdGhlIHBhdGllbnQ7IGUuZy4gZGVhdGgsIHBlcm1hbmVudCBkaXNhYmlsaXR5LCB0ZW1wb3JhcnkgZGlzYWJpbGl0eSwgZXRjLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29udHJpYnV0ZWRUb0RlYXRoIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hldGhlciB0aGUgY29uZGl0aW9uIGNvbnRyaWJ1dGVkIHRvIHRoZSBjYXVzZSBvZiBkZWF0aCIgZGVmaW5pdGlvbj0iVGhpcyBjb25kaXRpb24gY29udHJpYnV0ZWQgdG8gdGhlIGNhdXNlIG9mIGRlYXRoIG9mIHRoZSByZWxhdGVkIHBlcnNvbi4gSWYgY29udHJpYnV0ZWRUb0RlYXRoIGlzIG5vdCBwb3B1bGF0ZWQsIHRoZW4gaXQgaXMgdW5rbm93bi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJvbnNldCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaGVuIGNvbmRpdGlvbiBmaXJzdCBtYW5pZmVzdGVkIiBkZWZpbml0aW9uPSJFaXRoZXIgdGhlIGFnZSBvZiBvbnNldCwgcmFuZ2Ugb2YgYXBwcm94aW1hdGUgYWdlIG9yIGRlc2NyaXB0aXZlIHN0cmluZyBjYW4gYmUgcmVjb3JkZWQuICBGb3IgY29uZGl0aW9ucyB3aXRoIG11bHRpcGxlIG9jY3VycmVuY2VzLCB0aGlzIGRlc2NyaWJlcyB0aGUgZmlyc3Qga25vd24gb2NjdXJyZW5jZS4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iRXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgY29uZGl0aW9uIiBkZWZpbml0aW9uPSJBbiBhcmVhIHdoZXJlIGdlbmVyYWwgbm90ZXMgY2FuIGJlIHBsYWNlZCBhYm91dCB0aGlzIHNwZWNpZmljIGNvbmRpdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29uZGl0aW9uLWFiYXRlbWVudCIgZWxlbWVudFR5cGU9IlFJQ29yZS5hYmF0ZW1lbnQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSglcGFyZW50LmNvbmRpdGlvbi5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vZmFtaWx5bWVtYmVyaGlzdG9yeS1hYmF0ZW1lbnQnXS52YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaGVuIChvciBpZikgdGhlIGZhbWlseSBtZW1iZXIncyBjb25kaXRpb24gcmVzb2x2ZWQiIGRlZmluaXRpb249IlRoZSBhcHByb3hpbWF0ZSBkYXRlLCBhZ2UsIG9yIGZsYWcgaW5kaWNhdGluZyB0aGF0IHRoZSBjb25kaXRpb24gb2YgdGhlIGZhbWlseSBtZW1iZXIgcmVzb2x2ZWQuIFRoZSBhYmF0ZW1lbnQgc2hvdWxkIG9ubHkgYmUgc3BlY2lmaWVkIGlmIHRoZSBjb25kaXRpb24gaXMgc3RhdGVkIGluIHRoZSBwb3NpdGl2ZSBzZW5zZSwgaS5lLiwgdGhlIGRpZE5vdEhhdmUgZmxhZyBpcyBmYWxzZS4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbmRpdGlvbi1zZXZlcml0eSIgZWxlbWVudFR5cGU9IlFJQ29yZS5zZXZlcml0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXBhcmVudC5jb25kaXRpb24uZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL2ZhbWlseW1lbWJlcmhpc3Rvcnktc2V2ZXJpdHknXS52YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgc2VyaW91c25lc3Mgb2YgdGhlIGZhbWlseSBtZW1iZXIgY29uZGl0aW9uIiBkZWZpbml0aW9uPSJBIHF1YWxpZmljYXRpb24gb2YgdGhlIHNlcmlvdXNuZXNzIG9yIGltcGFjdCBvbiBoZWFsdGggb2YgdGhlIGZhbWlseSBtZW1iZXIgY29uZGl0aW9uLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJGbGFnIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1mbGFnIiBsYWJlbD0iUUlDb3JlIEZsYWciIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJCdXNpbmVzcyBpZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIGZsYWcgYnkgdGhlIHBlcmZvcm1lciBvciBvdGhlciBzeXN0ZW1zIHdoaWNoIHJlbWFpbiBjb25zdGFudCBhcyB0aGUgcmVzb3VyY2UgaXMgdXBkYXRlZCBhbmQgcHJvcGFnYXRlcyBmcm9tIHNlcnZlciB0byBzZXJ2ZXIuIiBjb21tZW50PSJUaGlzIGlzIGEgYnVzaW5lc3MgaWRlbnRpZmllciwgbm90IGEgcmVzb3VyY2UgaWRlbnRpZmllciAoc2VlIFtkaXNjdXNzaW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3Jlc291cmNlLmh0bWwjaWRlbnRpZmllcnMpKS4gIEl0IGlzIGJlc3QgcHJhY3RpY2UgZm9yIHRoZSBpZGVudGlmaWVyIHRvIG9ubHkgYXBwZWFyIG9uIGEgc2luZ2xlIHJlc291cmNlIGluc3RhbmNlLCBob3dldmVyIGJ1c2luZXNzIHByYWN0aWNlcyBtYXkgb2NjYXNpb25hbGx5IGRpY3RhdGUgdGhhdCBtdWx0aXBsZSByZXNvdXJjZSBpbnN0YW5jZXMgd2l0aCB0aGUgc2FtZSBpZGVudGlmaWVyIGNhbiBleGlzdCAtIHBvc3NpYmx5IGV2ZW4gd2l0aCBkaWZmZXJlbnQgcmVzb3VyY2UgdHlwZXMuICBGb3IgZXhhbXBsZSwgbXVsdGlwbGUgUGF0aWVudCBhbmQgYSBQZXJzb24gcmVzb3VyY2UgaW5zdGFuY2UgbWlnaHQgc2hhcmUgdGhlIHNhbWUgc29jaWFsIGluc3VyYW5jZSBudW1iZXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5GbGFnU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBhY3RpdmUgfCBpbmFjdGl2ZSB8IGVudGVyZWQtaW4tZXJyb3IiIGRlZmluaXRpb249IlN1cHBvcnRzIGJhc2ljIHdvcmtmbG93LiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkZsYWdTdGF0dXMiIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgd2hldGhlciB0aGlzIGZsYWcgaXMgYWN0aXZlIGFuZCBuZWVkcyB0byBiZSBkaXNwbGF5ZWQgdG8gYSB1c2VyLCBvciB3aGV0aGVyIGl0IGlzIG5vIGxvbmdlciBuZWVkZWQgb3Igd2FzIGVudGVyZWQgaW4gZXJyb3IuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgQ2xpbmljYWwsIGFkbWluaXN0cmF0aXZlLCBldGMuIiBkZWZpbml0aW9uPSJBbGxvd3MgYSBmbGFnIHRvIGJlIGRpdmlkZWQgaW50byBkaWZmZXJlbnQgY2F0ZWdvcmllcyBsaWtlIGNsaW5pY2FsLCBhZG1pbmlzdHJhdGl2ZSBldGMuIEludGVuZGVkIHRvIGJlIHVzZWQgYXMgYSBtZWFucyBvZiBmaWx0ZXJpbmcgd2hpY2ggZmxhZ3MgYXJlIGRpc3BsYXllZCB0byBwYXJ0aWN1bGFyIHVzZXIgb3IgaW4gYSBnaXZlbiBjb250ZXh0LiIgY29tbWVudD0iVGhlIHZhbHVlIHNldCB3aWxsIG9mdGVuIG5lZWQgdG8gYmUgYWRqdXN0ZWQgYmFzZWQgb24gbG9jYWwgYnVzaW5lc3MgcnVsZXMgYW5kIHVzYWdlIGNvbnRleHQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIENvZGVkIG9yIHRleHR1YWwgbWVzc2FnZSB0byBkaXNwbGF5IHRvIHVzZXIiIGRlZmluaXRpb249IlRoZSBjb2RlZCB2YWx1ZSBvciB0ZXh0dWFsIGNvbXBvbmVudCBvZiB0aGUgZmxhZyB0byBkaXNwbGF5IHRvIHRoZSB1c2VyLiIgY29tbWVudD0iSWYgbm9uLWNvZGVkLCB1c2UgQ29kZWFibGVDb25jZXB0LnRleHQuICBUaGlzIGVsZW1lbnQgc2hvdWxkIGFsd2F5cyBiZSBpbmNsdWRlZCBpbiB0aGUgbmFycmF0aXZlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgV2hvL1doYXQgaXMgZmxhZyBhYm91dD8iIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBsb2NhdGlvbiwgZ3JvdXAsIG9yZ2FuaXphdGlvbiwgb3IgcHJhY3RpdGlvbmVyIGV0Yy4gdGhpcyBpcyBhYm91dCByZWNvcmQgdGhpcyBmbGFnIGlzIGFzc29jaWF0ZWQgd2l0aC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJpb2QiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFRpbWUgcGVyaW9kIHdoZW4gZmxhZyBpcyBhY3RpdmUiIGRlZmluaXRpb249IlRoZSBwZXJpb2Qgb2YgdGltZSBmcm9tIHRoZSBhY3RpdmF0aW9uIG9mIHRoZSBmbGFnIHRvIGluYWN0aXZhdGlvbiBvZiB0aGUgZmxhZy4gSWYgdGhlIGZsYWcgaXMgYWN0aXZlLCB0aGUgZW5kIG9mIHRoZSBwZXJpb2Qgc2hvdWxkIGJlIHVuc3BlY2lmaWVkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJBbGVydCByZWxldmFudCBkdXJpbmcgZW5jb3VudGVyIiBkZWZpbml0aW9uPSJUaGlzIGFsZXJ0IGlzIG9ubHkgcmVsZXZhbnQgZHVyaW5nIHRoZSBlbmNvdW50ZXIuIiBjb21tZW50PSJJZiBib3RoIEZsYWcuZW5jb3VudGVyIGFuZCBGbGFnLnBlcmlvZCBhcmUgdmFsdWVkLCB0aGVuIEZsYWcucGVyaW9kLnN0YXJ0IHNoYWxsIG5vdCBiZSBiZWZvcmUgRW5jb3VudGVyLnBlcmlvZC5zdGFydCBhbmQgRmxhZy5wZXJpb2QuZW5kIHNoYWxsIG5vdCBiZSBhZnRlciBFbmNvdW50ZXIucGVyaW9kLmVuZC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhdXRob3IiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iRmxhZyBjcmVhdG9yIiBkZWZpbml0aW9uPSJUaGUgcGVyc29uLCBvcmdhbml6YXRpb24gb3IgZGV2aWNlIHRoYXQgY3JlYXRlZCB0aGUgZmxhZy4iLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJhdXRob3IiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0icGF0aWVudCIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IkRldmljZSIgcmVsYXRlZEtleUVsZW1lbnQ9ImF1dGhvciIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRmxhZ1N0YXR1cyIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJHb2FsIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1nb2FsIiBsYWJlbD0iUUlDb3JlIEdvYWwiIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNhdGVnb3J5IiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iRXh0ZXJuYWwgSWRzIGZvciB0aGlzIGdvYWwiIGRlZmluaXRpb249IkJ1c2luZXNzIGlkZW50aWZpZXJzIGFzc2lnbmVkIHRvIHRoaXMgZ29hbCBieSB0aGUgcGVyZm9ybWVyIG9yIG90aGVyIHN5c3RlbXMgd2hpY2ggcmVtYWluIGNvbnN0YW50IGFzIHRoZSByZXNvdXJjZSBpcyB1cGRhdGVkIGFuZCBwcm9wYWdhdGVzIGZyb20gc2VydmVyIHRvIHNlcnZlci4iIGNvbW1lbnQ9IlRoaXMgaXMgYSBidXNpbmVzcyBpZGVudGlmaWVyLCBub3QgYSByZXNvdXJjZSBpZGVudGlmaWVyIChzZWUgW2Rpc2N1c3Npb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcmVzb3VyY2UuaHRtbCNpZGVudGlmaWVycykpLiAgSXQgaXMgYmVzdCBwcmFjdGljZSBmb3IgdGhlIGlkZW50aWZpZXIgdG8gb25seSBhcHBlYXIgb24gYSBzaW5nbGUgcmVzb3VyY2UgaW5zdGFuY2UsIGhvd2V2ZXIgYnVzaW5lc3MgcHJhY3RpY2VzIG1heSBvY2Nhc2lvbmFsbHkgZGljdGF0ZSB0aGF0IG11bHRpcGxlIHJlc291cmNlIGluc3RhbmNlcyB3aXRoIHRoZSBzYW1lIGlkZW50aWZpZXIgY2FuIGV4aXN0IC0gcG9zc2libHkgZXZlbiB3aXRoIGRpZmZlcmVudCByZXNvdXJjZSB0eXBlcy4gIEZvciBleGFtcGxlLCBtdWx0aXBsZSBQYXRpZW50IGFuZCBhIFBlcnNvbiByZXNvdXJjZSBpbnN0YW5jZSBtaWdodCBzaGFyZSB0aGUgc2FtZSBzb2NpYWwgaW5zdXJhbmNlIG51bWJlci4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibGlmZWN5Y2xlU3RhdHVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoVVNDREkpIHByb3Bvc2VkIHwgcGxhbm5lZCB8IGFjY2VwdGVkIHwgYWN0aXZlIHwgb24taG9sZCB8IGNvbXBsZXRlZCB8IGNhbmNlbGxlZCB8IGVudGVyZWQtaW4tZXJyb3IgfCByZWplY3RlZCIgZGVmaW5pdGlvbj0iVGhlIHN0YXRlIG9mIHRoZSBnb2FsIHRocm91Z2hvdXQgaXRzIGxpZmVjeWNsZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgbGlmZWN5Y2xlU3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImFjaGlldmVtZW50U3RhdHVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJpbi1wcm9ncmVzcyB8IGltcHJvdmluZyB8IHdvcnNlbmluZyB8IG5vLWNoYW5nZSB8IGFjaGlldmVkIHwgc3VzdGFpbmluZyB8IG5vdC1hY2hpZXZlZCB8IG5vLXByb2dyZXNzIHwgbm90LWF0dGFpbmFibGUiIGRlZmluaXRpb249IkRlc2NyaWJlcyB0aGUgcHJvZ3Jlc3Npb24sIG9yIGxhY2sgdGhlcmVvZiwgdG93YXJkcyB0aGUgZ29hbCBhZ2FpbnN0IHRoZSB0YXJnZXQuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iR29hbEFjaGlldmVtZW50U3RhdHVzIiBkZXNjcmlwdGlvbj0iSW5kaWNhdGVzIHRoZSBwcm9ncmVzc2lvbiwgb3IgbGFjayB0aGVyZW9mLCB0b3dhcmRzIHRoZSBnb2FsIGFnYWluc3QgdGhlIHRhcmdldC4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJFLmcuIFRyZWF0bWVudCwgZGlldGFyeSwgYmVoYXZpb3JhbCwgZXRjLiIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGEgY2F0ZWdvcnkgdGhlIGdvYWwgZmFsbHMgd2l0aGluLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJHb2FsQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgZ3JvdXBpbmcgYW5kIHNvcnRpbmcgZ29hbHMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcmlvcml0eSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iaGlnaC1wcmlvcml0eSB8IG1lZGl1bS1wcmlvcml0eSB8IGxvdy1wcmlvcml0eSIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgbXV0dWFsbHkgYWdyZWVkIGxldmVsIG9mIGltcG9ydGFuY2UgYXNzb2NpYXRlZCB3aXRoIHJlYWNoaW5nL3N1c3RhaW5pbmcgdGhlIGdvYWwuIiBjb21tZW50PSJFeHRlbnNpb25zIGFyZSBhdmFpbGFibGUgdG8gdHJhY2sgcHJpb3JpdGllcyBhcyBlc3RhYmxpc2hlZCBieSBlYWNoIHBhcnRpY2lwYW50IChpLmUuIFByaW9yaXR5IGZyb20gdGhlIHBhdGllbnQncyBwZXJzcGVjdGl2ZSwgZGlmZmVyZW50IHByYWN0aXRpb25lcnMnIHBlcnNwZWN0aXZlcywgZmFtaWx5IG1lbWJlcidzIHBlcnNwZWN0aXZlcykmIzEzOyYjMTM7VGhlIG9yZGluYWwgZXh0ZW5zaW9uIG9uIENvZGluZyBjYW4gYmUgdXNlZCB0byBjb252ZXkgYSBudW1lcmljYWxseSBjb21wYXJhYmxlIHJhbmtpbmcgdG8gcHJpb3JpdHkuICAoS2VlcCBpbiBtaW5kIHRoYXQgZGlmZmVyZW50IGNvZGluZyBzeXN0ZW1zIG1heSB1c2UgYSAmcXVvdDtsb3cgdmFsdWU9aW1wb3J0YW50JnF1b3Q7LiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkdvYWxQcmlvcml0eSIgZGVzY3JpcHRpb249IlRoZSBsZXZlbCBvZiBpbXBvcnRhbmNlIGFzc29jaWF0ZWQgd2l0aCBhIGdvYWwuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRlc2NyaXB0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENvZGUgb3IgdGV4dCBkZXNjcmliaW5nIGdvYWwiIGRlZmluaXRpb249Ikh1bWFuLXJlYWRhYmxlIGFuZC9vciBjb2RlZCBkZXNjcmlwdGlvbiBvZiBhIHNwZWNpZmljIGRlc2lyZWQgb2JqZWN0aXZlIG9mIGNhcmUsIHN1Y2ggYXMgJnF1b3Q7Y29udHJvbCBibG9vZCBwcmVzc3VyZSZxdW90OyBvciAmcXVvdDtuZWdvdGlhdGUgYW4gb2JzdGFjbGUgY291cnNlJnF1b3Q7IG9yICZxdW90O2RhbmNlIHdpdGggY2hpbGQgYXQgd2VkZGluZyZxdW90Oy4iIGNvbW1lbnQ9IklmIG5vIGNvZGUgaXMgYXZhaWxhYmxlLCB1c2UgQ29kZWFibGVDb25jZXB0LnRleHQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJWYWx1ZSBzZXQgdG8gZGVzY3JpYmUgdGhlIEdvYWwiIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBXaG8gdGhpcyBnb2FsIGlzIGludGVuZGVkIGZvciIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgcGF0aWVudCwgZ3JvdXAgb3Igb3JnYW5pemF0aW9uIGZvciB3aG9tIHRoZSBnb2FsIGlzIGJlaW5nIGVzdGFibGlzaGVkLiIgY29tbWVudD0iU2hvdWxkIGluY2x1ZGUgUUlDb3JlLU9yZ2FuaXphdGlvbiwgYnV0IHRoZSBiYXNlIHByb2ZpbGUgb25seSBhbGxvd3MgVVNDb3JlLVBhdGllbnQgZGVyaXZhdGl2ZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXJ0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgV2hlbiBnb2FsIHB1cnN1aXQgYmVnaW5zIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBvciBldmVudCBhZnRlciB3aGljaCB0aGUgZ29hbCBzaG91bGQgYmVnaW4gYmVpbmcgcHVyc3VlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iR29hbFN0YXJ0RXZlbnQiIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGV2ZW50cyB0aGF0IGNhbiB0cmlnZ2VyIHRoZSBpbml0aWF0aW9uIG9mIGEgZ29hbC4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idGFyZ2V0IiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBUYXJnZXQgb3V0Y29tZSBmb3IgdGhlIGdvYWwiIGRlZmluaXRpb249IkluZGljYXRlcyB3aGF0IHNob3VsZCBiZSBkb25lIGJ5IHdoZW4uIiBjb21tZW50PSJXaGVuIG11bHRpcGxlIHRhcmdldHMgYXJlIHByZXNlbnQgZm9yIGEgc2luZ2xlIGdvYWwgaW5zdGFuY2UsIGFsbCB0YXJnZXRzIG11c3QgYmUgbWV0IGZvciB0aGUgb3ZlcmFsbCBnb2FsIHRvIGJlIG1ldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Hb2FsLlRhcmdldCIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJnb2wtMSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJHb2FsLnRhcmdldC5tZWFzdXJlIGlzIHJlcXVpcmVkIGlmIEdvYWwudGFyZ2V0LmRldGFpbCBpcyBwb3B1bGF0ZWQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249IihkZXRhaWwuZXhpc3RzKCkgYW5kIG1lYXN1cmUuZXhpc3RzKCkpIG9yIGRldGFpbC5leGlzdHMoKS5ub3QoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1c0RhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIGdvYWwgc3RhdHVzIHRvb2sgZWZmZWN0IiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHdoZW4gdGhlIGN1cnJlbnQgc3RhdHVzLiAgSS5lLiBXaGVuIGluaXRpYWxseSBjcmVhdGVkLCB3aGVuIGFjaGlldmVkLCB3aGVuIGNhbmNlbGxlZCwgZXRjLiIgY29tbWVudD0iVG8gc2VlIHRoZSBkYXRlIGZvciBwYXN0IHN0YXR1c2VzLCBxdWVyeSBoaXN0b3J5LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1c1JlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUmVhc29uIGZvciBjdXJyZW50IHN0YXR1cyIgZGVmaW5pdGlvbj0iQ2FwdHVyZXMgdGhlIHJlYXNvbiBmb3IgdGhlIGN1cnJlbnQgc3RhdHVzLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSBjYXB0dXJlZCBmb3Igc3RhdHVzZXMgc3VjaCBhcyByZWplY3RlZCwgb24taG9sZCBvciBjYW5jZWxsZWQsIGJ1dCBjb3VsZCBiZSBwcmVzZW50IGZvciBvdGhlcnMuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZXhwcmVzc2VkQnkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvJ3MgcmVzcG9uc2libGUgZm9yIGNyZWF0aW5nIEdvYWw/IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgd2hvc2UgZ29hbCB0aGlzIGlzIC0gcGF0aWVudCBnb2FsLCBwcmFjdGl0aW9uZXIgZ29hbCwgZXRjLiIgY29tbWVudD0iVGhpcyBpcyB0aGUgaW5kaXZpZHVhbCByZXNwb25zaWJsZSBmb3IgZXN0YWJsaXNoaW5nIHRoZSBnb2FsLCBub3QgbmVjZXNzYXJpbHkgd2hvIHJlY29yZGVkIGl0LiAgKEZvciB0aGF0LCB1c2UgdGhlIFByb3ZlbmFuY2UgcmVzb3VyY2UuKS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhZGRyZXNzZXMiIGRlc2NyaXB0aW9uPSJJc3N1ZXMgYWRkcmVzc2VkIGJ5IHRoaXMgZ29hbCIgZGVmaW5pdGlvbj0iVGhlIGlkZW50aWZpZWQgY29uZGl0aW9ucyBhbmQgb3RoZXIgaGVhbHRoIHJlY29yZCBlbGVtZW50cyB0aGF0IGFyZSBpbnRlbmRlZCB0byBiZSBhZGRyZXNzZWQgYnkgdGhlIGdvYWwuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBnb2FsIiBkZWZpbml0aW9uPSJBbnkgY29tbWVudHMgcmVsYXRlZCB0byB0aGUgZ29hbC4iIGNvbW1lbnQ9Ik1heSBiZSB1c2VkIGZvciBwcm9ncmVzcyBub3RlcywgY29uY2VybnMgb3Igb3RoZXIgcmVsYXRlZCBpbmZvcm1hdGlvbiB0aGF0IGRvZXNuJ3QgYWN0dWFsbHkgZGVzY3JpYmUgdGhlIGdvYWwgaXRzZWxmLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJvdXRjb21lQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoYXQgcmVzdWx0IHdhcyBhY2hpZXZlZCByZWdhcmRpbmcgdGhlIGdvYWw/IiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHRoZSBjaGFuZ2UgKG9yIGxhY2sgb2YgY2hhbmdlKSBhdCB0aGUgcG9pbnQgd2hlbiB0aGUgc3RhdHVzIG9mIHRoZSBnb2FsIGlzIGFzc2Vzc2VkLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgc2hvdWxkIG5vdCBkdXBsaWNhdGUgdGhlIGdvYWwgc3RhdHVzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJHb2FsT3V0Y29tZSIgZGVzY3JpcHRpb249IlRoZSByZXN1bHQgb2YgdGhlIGdvYWw7IGUuZy4gJnF1b3Q7MjUlIGluY3JlYXNlIGluIHNob3VsZGVyIG1vYmlsaXR5JnF1b3Q7LCAmcXVvdDtBbnhpZXR5IHJlZHVjZWQgdG8gbW9kZXJhdGUgbGV2ZWxzJnF1b3Q7LiAgJnF1b3Q7MTUga2cgd2VpZ2h0IGxvc3Mgc3VzdGFpbmVkIG92ZXIgNiBtb250aHMmcXVvdDsuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJvdXRjb21lUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iT2JzZXJ2YXRpb24gdGhhdCByZXN1bHRlZCBmcm9tIGdvYWwiIGRlZmluaXRpb249IkRldGFpbHMgb2Ygd2hhdCdzIGNoYW5nZWQgKG9yIG5vdCBjaGFuZ2VkKS4iIGNvbW1lbnQ9IlRoZSBnb2FsIG91dGNvbWUgaXMgaW5kZXBlbmRlbnQgb2YgdGhlIG91dGNvbWUgb2YgdGhlIHJlbGF0ZWQgYWN0aXZpdGllcy4gIEZvciBleGFtcGxlLCBpZiB0aGUgR29hbCBpcyB0byBhY2hpZXZlIGEgdGFyZ2V0IGJvZHkgd2VpZ2h0IG9mIDE1MCBsYiBhbmQgYSBjYXJlIHBsYW4gYWN0aXZpdHkgaXMgZGVmaW5lZCB0byBkaWV0LCB0aGVuIHRoZSBjYXJlIHBsYW7igJlzIGFjdGl2aXR5IG91dGNvbWUgY291bGQgYmUgY2Fsb3JpZXMgY29uc3VtZWQgd2hlcmVhcyBnb2FsIG91dGNvbWUgaXMgYW4gb2JzZXJ2YXRpb24gZm9yIHRoZSBhY3R1YWwgYm9keSB3ZWlnaHQgbWVhc3VyZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBhdGllbnQiLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkdvYWwuVGFyZ2V0IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZWFzdXJlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgcGFyYW1ldGVyIHdob3NlIHZhbHVlIGlzIGJlaW5nIHRyYWNrZWQiIGRlZmluaXRpb249IlRoZSBwYXJhbWV0ZXIgd2hvc2UgdmFsdWUgaXMgYmVpbmcgdHJhY2tlZCwgZS5nLiBib2R5IHdlaWdodCwgYmxvb2QgcHJlc3N1cmUsIG9yIGhlbW9nbG9iaW4gQTFjIGxldmVsLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkdvYWxUYXJnZXRNZWFzdXJlIiBkZXNjcmlwdGlvbj0iQ29kZXMgdG8gaWRlbnRpZnkgdGhlIHZhbHVlIGJlaW5nIHRyYWNrZWQsIGUuZy4gYm9keSB3ZWlnaHQsIGJsb29kIHByZXNzdXJlLCBvciBoZW1vZ2xvYmluIEExYyBsZXZlbC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRldGFpbCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgdGFyZ2V0IHZhbHVlIHRvIGJlIGFjaGlldmVkIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHZhbHVlIG9mIHRoZSBmb2N1cyB0byBiZSBhY2hpZXZlZCB0byBzaWduaWZ5IHRoZSBmdWxmaWxsbWVudCBvZiB0aGUgZ29hbCwgZS5nLiAxNTAgcG91bmRzLCA3LjAlLiBFaXRoZXIgdGhlIGhpZ2ggb3IgbG93IG9yIGJvdGggdmFsdWVzIG9mIHRoZSByYW5nZSBjYW4gYmUgc3BlY2lmaWVkLiBXaGVuIGEgbG93IHZhbHVlIGlzIG1pc3NpbmcsIGl0IGluZGljYXRlcyB0aGF0IHRoZSBnb2FsIGlzIGFjaGlldmVkIGF0IGFueSBmb2N1cyB2YWx1ZSBhdCBvciBiZWxvdyB0aGUgaGlnaCB2YWx1ZS4gU2ltaWxhcmx5LCBpZiB0aGUgaGlnaCB2YWx1ZSBpcyBtaXNzaW5nLCBpdCBpbmRpY2F0ZXMgdGhhdCB0aGUgZ29hbCBpcyBhY2hpZXZlZCBhdCBhbnkgZm9jdXMgdmFsdWUgYXQgb3IgYWJvdmUgdGhlIGxvdyB2YWx1ZS4iIGNvbW1lbnQ9IkEgQ29kZWFibGVDb25jZXB0IHdpdGgganVzdCBhIHRleHQgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGlmIHRoZSBmaWVsZCB3YXMgdXN1YWxseSBjb2RlZCwgb3IgaWYgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBHb2FsLnRhcmdldC5tZWFzdXJlIGRlZmluZXMgYSBjb2RlZCB2YWx1ZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJCb29sZWFuIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJJbnRlZ2VyIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJSYXRpbyIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJHb2FsVGFyZ2V0RGV0YWlsIiBkZXNjcmlwdGlvbj0iQ29kZXMgdG8gaWRlbnRpZnkgdGhlIHRhcmdldCB2YWx1ZSBvZiB0aGUgZm9jdXMgdG8gYmUgYWNoaWV2ZWQgdG8gc2lnbmlmeSB0aGUgZnVsZmlsbG1lbnQgb2YgdGhlIGdvYWwuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkdWUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBSZWFjaCBnb2FsIG9uIG9yIGJlZm9yZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGVpdGhlciB0aGUgZGF0ZSBvciB0aGUgZHVyYXRpb24gYWZ0ZXIgc3RhcnQgYnkgd2hpY2ggdGhlIGdvYWwgc2hvdWxkIGJlIG1ldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iSHVtYW5OYW1lIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vSHVtYW5OYW1lIiBsYWJlbD0iSHVtYW5OYW1lIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idXNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLk5hbWVVc2UiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0idXN1YWwgfCBvZmZpY2lhbCB8IHRlbXAgfCBuaWNrbmFtZSB8IGFub255bW91cyB8IG9sZCB8IG1haWRlbiIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgcHVycG9zZSBmb3IgdGhpcyBuYW1lLiIgY29tbWVudD0iQXBwbGljYXRpb25zIGNhbiBhc3N1bWUgdGhhdCBhIG5hbWUgaXMgY3VycmVudCB1bmxlc3MgaXQgZXhwbGljaXRseSBzYXlzIHRoYXQgaXQgaXMgdGVtcG9yYXJ5IG9yIG9sZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJOYW1lVXNlIiBkZXNjcmlwdGlvbj0iVGhlIHVzZSBvZiBhIGh1bWFuIG5hbWUuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idGV4dCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGV4dCByZXByZXNlbnRhdGlvbiBvZiB0aGUgZnVsbCBuYW1lIiBkZWZpbml0aW9uPSJTcGVjaWZpZXMgdGhlIGVudGlyZSBuYW1lIGFzIGl0IHNob3VsZCBiZSBkaXNwbGF5ZWQgZS5nLiBvbiBhbiBhcHBsaWNhdGlvbiBVSS4gVGhpcyBtYXkgYmUgcHJvdmlkZWQgaW5zdGVhZCBvZiBvciBhcyB3ZWxsIGFzIHRoZSBzcGVjaWZpYyBwYXJ0cy4iIGNvbW1lbnQ9IkNhbiBwcm92aWRlIGJvdGggYSB0ZXh0IHJlcHJlc2VudGF0aW9uIGFuZCBwYXJ0cy4gQXBwbGljYXRpb25zIHVwZGF0aW5nIGEgbmFtZSBTSEFMTCBlbnN1cmUgdGhhdCB3aGVuIGJvdGggdGV4dCBhbmQgcGFydHMgYXJlIHByZXNlbnQsICBubyBjb250ZW50IGlzIGluY2x1ZGVkIGluIHRoZSB0ZXh0IHRoYXQgaXNuJ3QgZm91bmQgaW4gYSBwYXJ0LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZhbWlseSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRmFtaWx5IG5hbWUgKG9mdGVuIGNhbGxlZCAnU3VybmFtZScpIiBkZWZpbml0aW9uPSJUaGUgcGFydCBvZiBhIG5hbWUgdGhhdCBsaW5rcyB0byB0aGUgZ2VuZWFsb2d5LiBJbiBzb21lIGN1bHR1cmVzIChlLmcuIEVyaXRyZWEpIHRoZSBmYW1pbHkgbmFtZSBvZiBhIHNvbiBpcyB0aGUgZmlyc3QgbmFtZSBvZiBoaXMgZmF0aGVyLiIgY29tbWVudD0iRmFtaWx5IE5hbWUgbWF5IGJlIGRlY29tcG9zZWQgaW50byBzcGVjaWZpYyBwYXJ0cyB1c2luZyBleHRlbnNpb25zIChkZSwgbmwsIGVzIHJlbGF0ZWQgY3VsdHVyZXMpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImdpdmVuIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkdpdmVuIG5hbWVzIChub3QgYWx3YXlzICdmaXJzdCcpLiBJbmNsdWRlcyBtaWRkbGUgbmFtZXMiIGRlZmluaXRpb249IkdpdmVuIG5hbWUuIiBjb21tZW50PSJJZiBvbmx5IGluaXRpYWxzIGFyZSByZWNvcmRlZCwgdGhleSBtYXkgYmUgdXNlZCBpbiBwbGFjZSBvZiB0aGUgZnVsbCBuYW1lIHBhcnRzLiBJbml0aWFscyBtYXkgYmUgc2VwYXJhdGVkIGludG8gbXVsdGlwbGUgZ2l2ZW4gbmFtZXMgYnV0IG9mdGVuIGFyZW4ndCBkdWUgdG8gcGFyYWN0aWNhbCBsaW1pdGF0aW9ucy4gIFRoaXMgZWxlbWVudCBpcyBub3QgY2FsbGVkICZxdW90O2ZpcnN0IG5hbWUmcXVvdDsgc2luY2UgZ2l2ZW4gbmFtZXMgZG8gbm90IGFsd2F5cyBjb21lIGZpcnN0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InByZWZpeCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQYXJ0cyB0aGF0IGNvbWUgYmVmb3JlIHRoZSBuYW1lIiBkZWZpbml0aW9uPSJQYXJ0IG9mIHRoZSBuYW1lIHRoYXQgaXMgYWNxdWlyZWQgYXMgYSB0aXRsZSBkdWUgdG8gYWNhZGVtaWMsIGxlZ2FsLCBlbXBsb3ltZW50IG9yIG5vYmlsaXR5IHN0YXR1cywgZXRjLiBhbmQgdGhhdCBhcHBlYXJzIGF0IHRoZSBzdGFydCBvZiB0aGUgbmFtZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWZmaXgiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUGFydHMgdGhhdCBjb21lIGFmdGVyIHRoZSBuYW1lIiBkZWZpbml0aW9uPSJQYXJ0IG9mIHRoZSBuYW1lIHRoYXQgaXMgYWNxdWlyZWQgYXMgYSB0aXRsZSBkdWUgdG8gYWNhZGVtaWMsIGxlZ2FsLCBlbXBsb3ltZW50IG9yIG5vYmlsaXR5IHN0YXR1cywgZXRjLiBhbmQgdGhhdCBhcHBlYXJzIGF0IHRoZSBlbmQgb2YgdGhlIG5hbWUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyaW9kIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRpbWUgcGVyaW9kIHdoZW4gbmFtZSB3YXMvaXMgaW4gdXNlIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHBlcmlvZCBvZiB0aW1lIHdoZW4gdGhpcyBuYW1lIHdhcyB2YWxpZCBmb3IgdGhlIG5hbWVkIHBlcnNvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IklkZW50aWZpZXIiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9JZGVudGlmaWVyIiBsYWJlbD0iSWRlbnRpZmllciIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InVzZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyVXNlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InVzdWFsIHwgb2ZmaWNpYWwgfCB0ZW1wIHwgc2Vjb25kYXJ5IHwgb2xkIChJZiBrbm93bikiIGRlZmluaXRpb249IlRoZSBwdXJwb3NlIG9mIHRoaXMgaWRlbnRpZmllci4iIGNvbW1lbnQ9IkFwcGxpY2F0aW9ucyBjYW4gYXNzdW1lIHRoYXQgYW4gaWRlbnRpZmllciBpcyBwZXJtYW5lbnQgdW5sZXNzIGl0IGV4cGxpY2l0bHkgc2F5cyB0aGF0IGl0IGlzIHRlbXBvcmFyeS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJJZGVudGlmaWVyVXNlIiBkZXNjcmlwdGlvbj0iSWRlbnRpZmllcyB0aGUgcHVycG9zZSBmb3IgdGhpcyBpZGVudGlmaWVyLCBpZiBrbm93biAuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRGVzY3JpcHRpb24gb2YgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iQSBjb2RlZCB0eXBlIGZvciB0aGUgaWRlbnRpZmllciB0aGF0IGNhbiBiZSB1c2VkIHRvIGRldGVybWluZSB3aGljaCBpZGVudGlmaWVyIHRvIHVzZSBmb3IgYSBzcGVjaWZpYyBwdXJwb3NlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGRlYWxzIG9ubHkgd2l0aCBnZW5lcmFsIGNhdGVnb3JpZXMgb2YgaWRlbnRpZmllcnMuICBJdCBTSE9VTEQgbm90IGJlIHVzZWQgZm9yIGNvZGVzIHRoYXQgY29ycmVzcG9uZCAxLi4xIHdpdGggdGhlIElkZW50aWZpZXIuc3lzdGVtLiBTb21lIGlkZW50aWZpZXJzIG1heSBmYWxsIGludG8gbXVsdGlwbGUgY2F0ZWdvcmllcyBkdWUgdG8gY29tbW9uIHVzYWdlLiAgIFdoZXJlIHRoZSBzeXN0ZW0gaXMga25vd24sIGEgdHlwZSBpcyB1bm5lY2Vzc2FyeSBiZWNhdXNlIHRoZSB0eXBlIGlzIGFsd2F5cyBwYXJ0IG9mIHRoZSBzeXN0ZW0gZGVmaW5pdGlvbi4gSG93ZXZlciBzeXN0ZW1zIG9mdGVuIG5lZWQgdG8gaGFuZGxlIGlkZW50aWZpZXJzIHdoZXJlIHRoZSBzeXN0ZW0gaXMgbm90IGtub3duLiBUaGVyZSBpcyBub3QgYSAxOjEgcmVsYXRpb25zaGlwIGJldHdlZW4gdHlwZSBhbmQgc3lzdGVtLCBzaW5jZSBtYW55IGRpZmZlcmVudCBzeXN0ZW1zIGhhdmUgdGhlIHNhbWUgdHlwZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJJZGVudGlmaWVyVHlwZSIgZGVzY3JpcHRpb249IkEgY29kZWQgdHlwZSBmb3IgYW4gaWRlbnRpZmllciB0aGF0IGNhbiBiZSB1c2VkIHRvIGRldGVybWluZSB3aGljaCBpZGVudGlmaWVyIHRvIHVzZSBmb3IgYSBzcGVjaWZpYyBwdXJwb3NlLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3lzdGVtIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaGUgbmFtZXNwYWNlIGZvciB0aGUgaWRlbnRpZmllciB2YWx1ZSIgZGVmaW5pdGlvbj0iRXN0YWJsaXNoZXMgdGhlIG5hbWVzcGFjZSBmb3IgdGhlIHZhbHVlIC0gdGhhdCBpcywgYSBVUkwgdGhhdCBkZXNjcmliZXMgYSBzZXQgdmFsdWVzIHRoYXQgYXJlIHVuaXF1ZS4iIGNvbW1lbnQ9IklkZW50aWZpZXIuc3lzdGVtIGlzIGFsd2F5cyBjYXNlIHNlbnNpdGl2ZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGhlIHZhbHVlIHRoYXQgaXMgdW5pcXVlIiBkZWZpbml0aW9uPSJUaGUgcG9ydGlvbiBvZiB0aGUgaWRlbnRpZmllciB0eXBpY2FsbHkgcmVsZXZhbnQgdG8gdGhlIHVzZXIgYW5kIHdoaWNoIGlzIHVuaXF1ZSB3aXRoaW4gdGhlIGNvbnRleHQgb2YgdGhlIHN5c3RlbS4iIGNvbW1lbnQ9IklmIHRoZSB2YWx1ZSBpcyBhIGZ1bGwgVVJJLCB0aGVuIHRoZSBzeXN0ZW0gU0hBTEwgYmUgdXJuOmlldGY6cmZjOjM5ODYuICBUaGUgdmFsdWUncyBwcmltYXJ5IHB1cnBvc2UgaXMgY29tcHV0YXRpb25hbCBtYXBwaW5nLiAgQXMgYSByZXN1bHQsIGl0IG1heSBiZSBub3JtYWxpemVkIGZvciBjb21wYXJpc29uIHB1cnBvc2VzIChlLmcuIHJlbW92aW5nIG5vbi1zaWduaWZpY2FudCB3aGl0ZXNwYWNlLCBkYXNoZXMsIGV0Yy4pICBBIHZhbHVlIGZvcm1hdHRlZCBmb3IgaHVtYW4gZGlzcGxheSBjYW4gYmUgY29udmV5ZWQgdXNpbmcgdGhlIFtSZW5kZXJlZCBWYWx1ZSBleHRlbnNpb25dKGV4dGVuc2lvbi1yZW5kZXJlZC12YWx1ZS5odG1sKS4gSWRlbnRpZmllci52YWx1ZSBpcyB0byBiZSB0cmVhdGVkIGFzIGNhc2Ugc2Vuc2l0aXZlIHVubGVzcyBrbm93bGVkZ2Ugb2YgdGhlIElkZW50aWZpZXIuc3lzdGVtIGFsbG93cyB0aGUgcHJvY2Vzc2VyIHRvIGJlIGNvbmZpZGVudCB0aGF0IG5vbi1jYXNlLXNlbnNpdGl2ZSBwcm9jZXNzaW5nIGlzIHNhZmUuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyaW9kIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRpbWUgcGVyaW9kIHdoZW4gaWQgaXMvd2FzIHZhbGlkIGZvciB1c2UiIGRlZmluaXRpb249IlRpbWUgcGVyaW9kIGR1cmluZyB3aGljaCBpZGVudGlmaWVyIGlzL3dhcyB2YWxpZCBmb3IgdXNlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImFzc2lnbmVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249Ik9yZ2FuaXphdGlvbiB0aGF0IGlzc3VlZCBpZCAobWF5IGJlIGp1c3QgdGV4dCkiIGRlZmluaXRpb249Ik9yZ2FuaXphdGlvbiB0aGF0IGlzc3VlZC9tYW5hZ2VzIHRoZSBpZGVudGlmaWVyLiIgY29tbWVudD0iVGhlIElkZW50aWZpZXIuYXNzaWduZXIgbWF5IG9taXQgdGhlIC5yZWZlcmVuY2UgZWxlbWVudCBhbmQgb25seSBjb250YWluIGEgLmRpc3BsYXkgZWxlbWVudCByZWZsZWN0aW5nIHRoZSBuYW1lIG9yIG90aGVyIHRleHR1YWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGFzc2lnbmluZyBvcmdhbml6YXRpb24uIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJJZGVudGlmaWVyVXNlIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkltYWdpbmdTdHVkeSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtaW1hZ2luZ3N0dWR5IiBsYWJlbD0iUUlDb3JlIEltYWdpbmdTdHVkeSIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0icHJvY2VkdXJlQ29kZSIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IklkZW50aWZpZXJzIGZvciB0aGUgd2hvbGUgc3R1ZHkiIGRlZmluaXRpb249IklkZW50aWZpZXJzIGZvciB0aGUgSW1hZ2luZ1N0dWR5IHN1Y2ggYXMgRElDT00gU3R1ZHkgSW5zdGFuY2UgVUlELCBhbmQgQWNjZXNzaW9uIE51bWJlci4iIGNvbW1lbnQ9IlNlZSBkaXNjdXNzaW9uIHVuZGVyIFtJbWFnaW5nIFN0dWR5IEltcGxlbWVudGF0aW9uIE5vdGVzXShpbWFnaW5nc3R1ZHkuaHRtbCNub3RlcykgZm9yIGVuY29kaW5nIG9mIERJQ09NIFN0dWR5IEluc3RhbmNlIFVJRC4gQWNjZXNzaW9uIE51bWJlciBzaG91bGQgdXNlIEFDU04gSWRlbnRpZmllciB0eXBlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSW1hZ2luZ1N0dWR5U3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InJlZ2lzdGVyZWQgfCBhdmFpbGFibGUgfCBjYW5jZWxsZWQgfCBlbnRlcmVkLWluLWVycm9yIHwgdW5rbm93biIgZGVmaW5pdGlvbj0iVGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIEltYWdpbmdTdHVkeS4iIGNvbW1lbnQ9IlVua25vd24gZG9lcyBub3QgcmVwcmVzZW50ICZxdW90O290aGVyJnF1b3Q7IC0gb25lIG9mIHRoZSBkZWZpbmVkIHN0YXR1c2VzIG11c3QgYXBwbHkuICBVbmtub3duIGlzIHVzZWQgd2hlbiB0aGUgYXV0aG9yaW5nIHN5c3RlbSBpcyBub3Qgc3VyZSB3aGF0IHRoZSBjdXJyZW50IHN0YXR1cyBpcy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJJbWFnaW5nU3R1ZHlTdGF0dXMiIGRlc2NyaXB0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSBJbWFnaW5nU3R1ZHkuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibW9kYWxpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBbGwgc2VyaWVzIG1vZGFsaXR5IGlmIGFjdHVhbCBhY3F1aXNpdGlvbiBtb2RhbGl0aWVzIiBkZWZpbml0aW9uPSJBIGxpc3Qgb2YgYWxsIHRoZSBzZXJpZXMubW9kYWxpdHkgdmFsdWVzIHRoYXQgYXJlIGFjdHVhbCBhY3F1aXNpdGlvbiBtb2RhbGl0aWVzLCBpLmUuIHRob3NlIGluIHRoZSBESUNPTSBDb250ZXh0IEdyb3VwIDI5ICh2YWx1ZSBzZXQgT0lEIDEuMi44NDAuMTAwMDguNi4xLjE5KS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvZGUiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iSW1hZ2luZ01vZGFsaXR5IiBkZXNjcmlwdGlvbj0iVHlwZSBvZiBhY3F1aXJlZCBkYXRhIGluIHRoZSBpbnN0YW5jZS4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFdobyBvciB3aGF0IGlzIHRoZSBzdWJqZWN0IG9mIHRoZSBzdHVkeSIgZGVmaW5pdGlvbj0iVGhlIHN1YmplY3QsIHR5cGljYWxseSBhIHBhdGllbnQsIG9mIHRoZSBpbWFnaW5nIHN0dWR5LiIgY29tbWVudD0iUUEgcGhhbnRvbXMgY2FuIGJlIHJlY29yZGVkIHdpdGggYSBEZXZpY2U7IG11bHRpcGxlIHN1YmplY3RzIChzdWNoIGFzIG1pY2UpIGNhbiBiZSByZWNvcmRlZCB3aXRoIGEgR3JvdXAuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkVuY291bnRlciB3aXRoIHdoaWNoIHRoaXMgaW1hZ2luZyBzdHVkeSBpcyBhc3NvY2lhdGVkIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAoZS5nLiBhIHBhdGllbnQgYW5kIGhlYWx0aGNhcmUgcHJvdmlkZXIgaW50ZXJhY3Rpb24pIGR1cmluZyB3aGljaCB0aGlzIEltYWdpbmdTdHVkeSBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gdGVzdCkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhcnRlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgV2hlbiB0aGUgc3R1ZHkgd2FzIHN0YXJ0ZWQiIGRlZmluaXRpb249IkRhdGUgYW5kIHRpbWUgdGhlIHN0dWR5IHN0YXJ0ZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBSZXF1ZXN0IGZ1bGZpbGxlZCIgZGVmaW5pdGlvbj0iQSBsaXN0IG9mIHRoZSBkaWFnbm9zdGljIHJlcXVlc3RzIHRoYXQgcmVzdWx0ZWQgaW4gdGhpcyBpbWFnaW5nIHN0dWR5IGJlaW5nIHBlcmZvcm1lZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcnJlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJSZWZlcnJpbmcgcGh5c2ljaWFuIiBkZWZpbml0aW9uPSJUaGUgcmVxdWVzdGluZy9yZWZlcnJpbmcgcGh5c2ljaWFuLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZXJwcmV0ZXIiIGRlc2NyaXB0aW9uPSJXaG8gaW50ZXJwcmV0ZWQgaW1hZ2VzIiBkZWZpbml0aW9uPSJXaG8gcmVhZCB0aGUgc3R1ZHkgYW5kIGludGVycHJldGVkIHRoZSBpbWFnZXMgb3Igb3RoZXIgY29udGVudC4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVuZHBvaW50IiBkZXNjcmlwdGlvbj0iU3R1ZHkgYWNjZXNzIGVuZHBvaW50IiBkZWZpbml0aW9uPSJUaGUgbmV0d29yayBzZXJ2aWNlIHByb3ZpZGluZyBhY2Nlc3MgKGUuZy4sIHF1ZXJ5LCB2aWV3LCBvciByZXRyaWV2YWwpIGZvciB0aGUgc3R1ZHkuIFNlZSBpbXBsZW1lbnRhdGlvbiBub3RlcyBmb3IgaW5mb3JtYXRpb24gYWJvdXQgdXNpbmcgRElDT00gZW5kcG9pbnRzLiBBIHN0dWR5LWxldmVsIGVuZHBvaW50IGFwcGxpZXMgdG8gZWFjaCBzZXJpZXMgaW4gdGhlIHN0dWR5LCB1bmxlc3Mgb3ZlcnJpZGRlbiBieSBhIHNlcmllcy1sZXZlbCBlbmRwb2ludCB3aXRoIHRoZSBzYW1lIEVuZHBvaW50LmNvbm5lY3Rpb25UeXBlLiIgY29tbWVudD0iVHlwaWNhbCBlbmRwb2ludCB0eXBlcyBpbmNsdWRlIERJQ09NIFdBRE8tUlMsIHdoaWNoIGlzIHVzZWQgdG8gcmV0cmlldmUgRElDT00gaW5zdGFuY2VzIGluIG5hdGl2ZSBvciByZW5kZXJlZCAoZS5nLiwgSlBHLCBQTkcpLCBmb3JtYXRzIHVzaW5nIGEgUkVTVGZ1bCBBUEk7IERJQ09NIFdBRE8tVVJJLCB3aGljaCBjYW4gc2ltaWxhcmx5IHJldHJpZXZlIG5hdGl2ZSBvciByZW5kZXJlZCBpbnN0YW5jZXMsIGV4Y2VwdCB1c2luZyBhbiBIVFRQIHF1ZXJ5LWJhc2VkIGFwcHJvYWNoOyBESUNPTSBRSURPLVJTLCB3aGljaCBhbGxvd3MgUkVTVGZ1bCBxdWVyeSBmb3IgRElDT00gaW5mb3JtYXRpb24gd2l0aG91dCByZXRyaWV2aW5nIHRoZSBhY3R1YWwgaW5zdGFuY2VzOyBvciBJSEUgSW52b2tlIEltYWdlIERpc3BsYXkgKElJRCksIHdoaWNoIHByb3ZpZGVzIHN0YW5kYXJkIGludm9jYXRpb24gb2YgYW4gaW1hZ2luZyB3ZWIgdmlld2VyLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im51bWJlck9mU2VyaWVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTnVtYmVyIG9mIFN0dWR5IFJlbGF0ZWQgU2VyaWVzIiBkZWZpbml0aW9uPSJOdW1iZXIgb2YgU2VyaWVzIGluIHRoZSBTdHVkeS4gVGhpcyB2YWx1ZSBnaXZlbiBtYXkgYmUgbGFyZ2VyIHRoYW4gdGhlIG51bWJlciBvZiBzZXJpZXMgZWxlbWVudHMgdGhpcyBSZXNvdXJjZSBjb250YWlucyBkdWUgdG8gcmVzb3VyY2UgYXZhaWxhYmlsaXR5LCBzZWN1cml0eSwgb3Igb3RoZXIgZmFjdG9ycy4gVGhpcyBlbGVtZW50IHNob3VsZCBiZSBwcmVzZW50IGlmIGFueSBzZXJpZXMgZWxlbWVudHMgYXJlIHByZXNlbnQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibnVtYmVyT2ZJbnN0YW5jZXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOdW1iZXIgb2YgU3R1ZHkgUmVsYXRlZCBJbnN0YW5jZXMiIGRlZmluaXRpb249Ik51bWJlciBvZiBTT1AgSW5zdGFuY2VzIGluIFN0dWR5LiBUaGlzIHZhbHVlIGdpdmVuIG1heSBiZSBsYXJnZXIgdGhhbiB0aGUgbnVtYmVyIG9mIGluc3RhbmNlIGVsZW1lbnRzIHRoaXMgcmVzb3VyY2UgY29udGFpbnMgZHVlIHRvIHJlc291cmNlIGF2YWlsYWJpbGl0eSwgc2VjdXJpdHksIG9yIG90aGVyIGZhY3RvcnMuIFRoaXMgZWxlbWVudCBzaG91bGQgYmUgcHJlc2VudCBpZiBhbnkgaW5zdGFuY2UgZWxlbWVudHMgYXJlIHByZXNlbnQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJvY2VkdXJlUmVmZXJlbmNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBUaGUgcGVyZm9ybWVkIFByb2NlZHVyZSByZWZlcmVuY2UiIGRlZmluaXRpb249IlRoZSBwcm9jZWR1cmUgd2hpY2ggdGhpcyBJbWFnaW5nU3R1ZHkgd2FzIHBhcnQgb2YuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJvY2VkdXJlQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRoZSBwZXJmb3JtZWQgcHJvY2VkdXJlIGNvZGUiIGRlZmluaXRpb249IlRoZSBjb2RlIGZvciB0aGUgcGVyZm9ybWVkIHByb2NlZHVyZSB0eXBlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJJbWFnaW5nUHJvY2VkdXJlQ29kZSIgZGVzY3JpcHRpb249IlRoZSBwZXJmb3JtZWQgcHJvY2VkdXJlIHR5cGUuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaGVyZSBJbWFnaW5nU3R1ZHkgb2NjdXJyZWQiIGRlZmluaXRpb249IlRoZSBwcmluY2lwYWwgcGh5c2ljYWwgbG9jYXRpb24gd2hlcmUgdGhlIEltYWdpbmdTdHVkeSB3YXMgcGVyZm9ybWVkLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvbkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgdGhlIHN0dWR5IHdhcyByZXF1ZXN0ZWQiIGRlZmluaXRpb249IkRlc2NyaXB0aW9uIG9mIGNsaW5pY2FsIGNvbmRpdGlvbiBpbmRpY2F0aW5nIHdoeSB0aGUgSW1hZ2luZ1N0dWR5IHdhcyByZXF1ZXN0ZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkltYWdpbmdSZWFzb24iIGRlc2NyaXB0aW9uPSJUaGUgcmVhc29uIGZvciB0aGUgc3R1ZHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaHkgd2FzIHN0dWR5IHBlcmZvcm1lZCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGFub3RoZXIgcmVzb3VyY2Ugd2hvc2UgZXhpc3RlbmNlIGp1c3RpZmllcyB0aGlzIFN0dWR5LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJVc2VyLWRlZmluZWQgY29tbWVudHMiIGRlZmluaXRpb249IlBlciB0aGUgcmVjb21tZW5kZWQgRElDT00gbWFwcGluZywgdGhpcyBlbGVtZW50IGlzIGRlcml2ZWQgZnJvbSB0aGUgU3R1ZHkgRGVzY3JpcHRpb24gYXR0cmlidXRlICgwMDA4LDEwMzApLiBPYnNlcnZhdGlvbnMgb3IgZmluZGluZ3MgYWJvdXQgdGhlIGltYWdpbmcgc3R1ZHkgc2hvdWxkIGJlIHJlY29yZGVkIGluIGFub3RoZXIgcmVzb3VyY2UsIGUuZy4gT2JzZXJ2YXRpb24sIGFuZCBub3QgaW4gdGhpcyBlbGVtZW50LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXNjcmlwdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdGl0dXRpb24tZ2VuZXJhdGVkIGRlc2NyaXB0aW9uIiBkZWZpbml0aW9uPSJUaGUgSW1hZ2luZyBNYW5hZ2VyIGRlc2NyaXB0aW9uIG9mIHRoZSBzdHVkeS4gSW5zdGl0dXRpb24tZ2VuZXJhdGVkIGRlc2NyaXB0aW9uIG9yIGNsYXNzaWZpY2F0aW9uIG9mIHRoZSBTdHVkeSAoY29tcG9uZW50KSBwZXJmb3JtZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic2VyaWVzIiBkZXNjcmlwdGlvbj0iRWFjaCBzdHVkeSBoYXMgb25lIG9yIG1vcmUgc2VyaWVzIG9mIGluc3RhbmNlcyIgZGVmaW5pdGlvbj0iRWFjaCBzdHVkeSBoYXMgb25lIG9yIG1vcmUgc2VyaWVzIG9mIGltYWdlcyBvciBvdGhlciBjb250ZW50LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSW1hZ2luZ1N0dWR5LlNlcmllcyIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0icGF0aWVudCIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iSW1hZ2luZ1N0dWR5LlNlcmllcyIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idWlkIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJESUNPTSBTZXJpZXMgSW5zdGFuY2UgVUlEIGZvciB0aGUgc2VyaWVzIiBkZWZpbml0aW9uPSJUaGUgRElDT00gU2VyaWVzIEluc3RhbmNlIFVJRCBmb3IgdGhlIHNlcmllcy4iIGNvbW1lbnQ9IlNlZSBbRElDT00gUFMzLjMgQy43LjNdKGh0dHA6Ly9kaWNvbS5uZW1hLm9yZy9tZWRpY2FsL2RpY29tL2N1cnJlbnQvb3V0cHV0L2NodG1sL3BhcnQwMy9zZWN0X0MuNy4zLmh0bWwpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im51bWJlciIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik51bWVyaWMgaWRlbnRpZmllciBvZiB0aGlzIHNlcmllcyIgZGVmaW5pdGlvbj0iVGhlIG51bWVyaWMgaWRlbnRpZmllciBvZiB0aGlzIHNlcmllcyBpbiB0aGUgc3R1ZHkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibW9kYWxpdHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvZGUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRoZSBtb2RhbGl0eSBvZiB0aGUgaW5zdGFuY2VzIGluIHRoZSBzZXJpZXMiIGRlZmluaXRpb249IlRoZSBtb2RhbGl0eSBvZiB0aGlzIHNlcmllcyBzZXF1ZW5jZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJJbWFnaW5nTW9kYWxpdHkiIGRlc2NyaXB0aW9uPSJUeXBlIG9mIGFjcXVpcmVkIGRhdGEgaW4gdGhlIGluc3RhbmNlLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGVzY3JpcHRpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkEgc2hvcnQgaHVtYW4gcmVhZGFibGUgc3VtbWFyeSBvZiB0aGUgc2VyaWVzIiBkZWZpbml0aW9uPSJBIGRlc2NyaXB0aW9uIG9mIHRoZSBzZXJpZXMuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibnVtYmVyT2ZJbnN0YW5jZXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOdW1iZXIgb2YgU2VyaWVzIFJlbGF0ZWQgSW5zdGFuY2VzIiBkZWZpbml0aW9uPSJOdW1iZXIgb2YgU09QIEluc3RhbmNlcyBpbiB0aGUgU3R1ZHkuIFRoZSB2YWx1ZSBnaXZlbiBtYXkgYmUgbGFyZ2VyIHRoYW4gdGhlIG51bWJlciBvZiBpbnN0YW5jZSBlbGVtZW50cyB0aGlzIHJlc291cmNlIGNvbnRhaW5zIGR1ZSB0byByZXNvdXJjZSBhdmFpbGFiaWxpdHksIHNlY3VyaXR5LCBvciBvdGhlciBmYWN0b3JzLiBUaGlzIGVsZW1lbnQgc2hvdWxkIGJlIHByZXNlbnQgaWYgYW55IGluc3RhbmNlIGVsZW1lbnRzIGFyZSBwcmVzZW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVuZHBvaW50IiBkZXNjcmlwdGlvbj0iU2VyaWVzIGFjY2VzcyBlbmRwb2ludCIgZGVmaW5pdGlvbj0iVGhlIG5ldHdvcmsgc2VydmljZSBwcm92aWRpbmcgYWNjZXNzIChlLmcuLCBxdWVyeSwgdmlldywgb3IgcmV0cmlldmFsKSBmb3IgdGhpcyBzZXJpZXMuIFNlZSBpbXBsZW1lbnRhdGlvbiBub3RlcyBmb3IgaW5mb3JtYXRpb24gYWJvdXQgdXNpbmcgRElDT00gZW5kcG9pbnRzLiBBIHNlcmllcy1sZXZlbCBlbmRwb2ludCwgaWYgcHJlc2VudCwgaGFzIHByZWNlZGVuY2Ugb3ZlciBhIHN0dWR5LWxldmVsIGVuZHBvaW50IHdpdGggdGhlIHNhbWUgRW5kcG9pbnQuY29ubmVjdGlvblR5cGUuIiBjb21tZW50PSJUeXBpY2FsIGVuZHBvaW50IHR5cGVzIGluY2x1ZGUgRElDT00gV0FETy1SUywgd2hpY2ggaXMgdXNlZCB0byByZXRyaWV2ZSBESUNPTSBpbnN0YW5jZXMgaW4gbmF0aXZlIG9yIHJlbmRlcmVkIChlLmcuLCBKUEcsIFBORykgZm9ybWF0cyB1c2luZyBhIFJFU1RmdWwgQVBJOyBESUNPTSBXQURPLVVSSSwgd2hpY2ggY2FuIHNpbWlsYXJseSByZXRyaWV2ZSBuYXRpdmUgb3IgcmVuZGVyZWQgaW5zdGFuY2VzLCBleGNlcHQgdXNpbmcgYW4gSFRUUCBxdWVyeS1iYXNlZCBhcHByb2FjaDsgYW5kIERJQ09NIFFJRE8tUlMsIHdoaWNoIGFsbG93cyBSRVNUZnVsIHF1ZXJ5IGZvciBESUNPTSBpbmZvcm1hdGlvbiB3aXRob3V0IHJldHJpZXZpbmcgdGhlIGFjdHVhbCBpbnN0YW5jZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvZGUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkJvZHkgcGFydCBleGFtaW5lZCIgZGVmaW5pdGlvbj0iVGhlIGFuYXRvbWljIHN0cnVjdHVyZXMgZXhhbWluZWQuIFNlZSBESUNPTSBQYXJ0IDE2IEFubmV4IEwgKGh0dHA6Ly9kaWNvbS5uZW1hLm9yZy9tZWRpY2FsL2RpY29tL2N1cnJlbnQvb3V0cHV0L2NodG1sL3BhcnQxNi9jaGFwdGVyX0wuaHRtbCkgZm9yIERJQ09NIHRvIFNOT01FRC1DVCBtYXBwaW5ncy4gVGhlIGJvZHlTaXRlIG1heSBpbmRpY2F0ZSB0aGUgbGF0ZXJhbGl0eSBvZiBib2R5IHBhcnQgaW1hZ2VkOyBpZiBzbywgaXQgc2hhbGwgYmUgY29uc2lzdGVudCB3aXRoIGFueSBjb250ZW50IG9mIEltYWdpbmdTdHVkeS5zZXJpZXMubGF0ZXJhbGl0eS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsYXRlcmFsaXR5IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJCb2R5IHBhcnQgbGF0ZXJhbGl0eSIgZGVmaW5pdGlvbj0iVGhlIGxhdGVyYWxpdHkgb2YgdGhlIChwb3NzaWJseSBwYWlyZWQpIGFuYXRvbWljIHN0cnVjdHVyZXMgZXhhbWluZWQuIEUuZy4sIHRoZSBsZWZ0IGtuZWUsIGJvdGggbHVuZ3MsIG9yIHVucGFpcmVkIGFiZG9tZW4uIElmIHByZXNlbnQsIHNoYWxsIGJlIGNvbnNpc3RlbnQgd2l0aCBhbnkgbGF0ZXJhbGl0eSBpbmZvcm1hdGlvbiBpbmRpY2F0ZWQgaW4gSW1hZ2luZ1N0dWR5LnNlcmllcy5ib2R5U2l0ZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJMYXRlcmFsaXR5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBib2R5IHNpdGUgbGF0ZXJhbGl0eSAobGVmdCwgcmlnaHQsIGV0Yy4pLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3BlY2ltZW4iIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiBpbWFnZWQiIGRlZmluaXRpb249IlRoZSBzcGVjaW1lbiBpbWFnZWQsIGUuZy4sIGZvciB3aG9sZSBzbGlkZSBpbWFnaW5nIG9mIGEgYmlvcHN5LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXJ0ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hlbiB0aGUgc2VyaWVzIHN0YXJ0ZWQiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoZSBzZXJpZXMgd2FzIHN0YXJ0ZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIHBlcmZvcm1lZCB0aGUgc2VyaWVzIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgd2hvIG9yIHdoYXQgcGVyZm9ybWVkIHRoZSBzZXJpZXMgYW5kIGhvdyB0aGV5IHdlcmUgaW52b2x2ZWQuIiBjb21tZW50PSJJZiB0aGUgcGVyc29uIHdobyBwZXJmb3JtZWQgdGhlIHNlcmllcyBpcyBub3Qga25vd24sIHRoZWlyIE9yZ2FuaXphdGlvbiBtYXkgYmUgcmVjb3JkZWQuIEEgcGF0aWVudCwgb3IgcmVsYXRlZCBwZXJzb24sIG1heSBiZSB0aGUgcGVyZm9ybWVyLCBlLmcuIGZvciBwYXRpZW50LWNhcHR1cmVkIGltYWdlcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkltYWdpbmdTdHVkeS5TZXJpZXMuUGVyZm9ybWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbmNlIiBkZXNjcmlwdGlvbj0iQSBzaW5nbGUgU09QIGluc3RhbmNlIGZyb20gdGhlIHNlcmllcyIgZGVmaW5pdGlvbj0iQSBzaW5nbGUgU09QIGluc3RhbmNlIHdpdGhpbiB0aGUgc2VyaWVzLCBlLmcuIGFuIGltYWdlLCBvciBwcmVzZW50YXRpb24gc3RhdGUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JbWFnaW5nU3R1ZHkuU2VyaWVzLkluc3RhbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iSW1hZ2luZ1N0dWR5LlNlcmllcy5JbnN0YW5jZSIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idWlkIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJESUNPTSBTT1AgSW5zdGFuY2UgVUlEIiBkZWZpbml0aW9uPSJUaGUgRElDT00gU09QIEluc3RhbmNlIFVJRCBmb3IgdGhpcyBpbWFnZSBvciBvdGhlciBESUNPTSBjb250ZW50LiIgY29tbWVudD0iU2VlICBbRElDT00gUFMzLjMgQy4xMi4xXShodHRwOi8vZGljb20ubmVtYS5vcmcvbWVkaWNhbC9kaWNvbS9jdXJyZW50L291dHB1dC9jaHRtbC9wYXJ0MDMvc2VjdF9DLjEyLmh0bWwjc2VjdF9DLjEyLjEpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InNvcENsYXNzIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJESUNPTSBjbGFzcyB0eXBlIiBkZWZpbml0aW9uPSJESUNPTSBpbnN0YW5jZSAgdHlwZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJzb3BDbGFzcyIgZGVzY3JpcHRpb249IlRoZSBzb3BDbGFzcyBmb3IgdGhlIGluc3RhbmNlLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibnVtYmVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGhlIG51bWJlciBvZiB0aGlzIGluc3RhbmNlIGluIHRoZSBzZXJpZXMiIGRlZmluaXRpb249IlRoZSBudW1iZXIgb2YgaW5zdGFuY2UgaW4gdGhlIHNlcmllcy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0aXRsZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGVzY3JpcHRpb24gb2YgaW5zdGFuY2UiIGRlZmluaXRpb249IlRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgaW5zdGFuY2UuIiBjb21tZW50PSJQYXJ0aWN1bGFybHkgZm9yIHBvc3QtYWNxdWlzaXRpb24gYW5hbHl0aWMgb2JqZWN0cywgc3VjaCBhcyBTUiwgcHJlc2VudGF0aW9uIHN0YXRlcywgdmFsdWUgbWFwcGluZywgZXRjLiIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iSW1hZ2luZ1N0dWR5LlNlcmllcy5QZXJmb3JtZXIiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZ1bmN0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUeXBlIG9mIHBlcmZvcm1hbmNlIiBkZWZpbml0aW9uPSJEaXN0aW5ndWlzaGVzIHRoZSB0eXBlIG9mIGludm9sdmVtZW50IG9mIHRoZSBwZXJmb3JtZXIgaW4gdGhlIHNlcmllcy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJFdmVudFBlcmZvcm1lckZ1bmN0aW9uIiBkZXNjcmlwdGlvbj0iVGhlIHR5cGUgb2YgaW52b2x2ZW1lbnQgb2YgdGhlIHBlcmZvcm1lci4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImFjdG9yIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBwZXJmb3JtZWQgdGhlIHNlcmllcyIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdobyBvciB3aGF0IHBlcmZvcm1lZCB0aGUgc2VyaWVzLiIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iSW1hZ2luZ1N0dWR5U3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkltbXVuaXphdGlvbiIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtaW1tdW5pemF0aW9uIiBsYWJlbD0iUUlDb3JlIEltbXVuaXphdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0idmFjY2luZUNvZGUiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJBIHVuaXF1ZSBpZGVudGlmaWVyIGFzc2lnbmVkIHRvIHRoaXMgaW1tdW5pemF0aW9uIHJlY29yZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIGNvbXBsZXRlZCB8IGVudGVyZWQtaW4tZXJyb3IiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgY3VycmVudCBzdGF0dXMgb2YgdGhlIGltbXVuaXphdGlvbiBldmVudC4iIGNvbW1lbnQ9IldpbGwgZ2VuZXJhbGx5IGJlIHNldCB0byBzaG93IHRoYXQgdGhlIGltbXVuaXphdGlvbiBoYXMgYmVlbiBjb21wbGV0ZWQgb3Igbm90IGRvbmUuICBUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXNSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgUmVhc29uIG5vdCBkb25lIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHJlYXNvbiB0aGUgaW1tdW5pemF0aW9uIGV2ZW50IHdhcyBub3QgcGVyZm9ybWVkLiIgY29tbWVudD0iVGhpcyBpcyBnZW5lcmFsbHkgb25seSB1c2VkIGZvciB0aGUgc3RhdHVzIG9mICZxdW90O25vdC1kb25lJnF1b3Q7LiBUaGUgcmVhc29uIGZvciBwZXJmb3JtaW5nIHRoZSBpbW11bml6YXRpb24gZXZlbnQgaXMgY2FwdHVyZWQgaW4gcmVhc29uQ29kZSwgbm90IGhlcmUuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFjY2luZUNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgVmFjY2luZSBQcm9kdWN0IFR5cGUgKGJpbmQgdG8gQ1ZYKSIgZGVmaW5pdGlvbj0iVmFjY2luZSB0aGF0IHdhcyBhZG1pbmlzdGVyZWQgb3Igd2FzIHRvIGJlIGFkbWluaXN0ZXJlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGF0aWVudCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFdobyB3YXMgaW1tdW5pemVkIiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCB3aG8gZWl0aGVyIHJlY2VpdmVkIG9yIGRpZCBub3QgcmVjZWl2ZSB0aGUgaW1tdW5pemF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iRW5jb3VudGVyIGltbXVuaXphdGlvbiB3YXMgcGFydCBvZiIgZGVmaW5pdGlvbj0iVGhlIHZpc2l0IG9yIGFkbWlzc2lvbiBvciBvdGhlciBjb250YWN0IGJldHdlZW4gcGF0aWVudCBhbmQgaGVhbHRoIGNhcmUgcHJvdmlkZXIgdGhlIGltbXVuaXphdGlvbiB3YXMgcGVyZm9ybWVkIGFzIHBhcnQgb2YuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ib2NjdXJyZW5jZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFZhY2NpbmUgYWRtaW5pc3RyYXRpb24gZGF0ZSIgZGVmaW5pdGlvbj0iRGF0ZSB2YWNjaW5lIGFkbWluaXN0ZXJlZCBvciB3YXMgdG8gYmUgYWRtaW5pc3RlcmVkLiIgY29tbWVudD0iV2hlbiBpbW11bml6YXRpb25zIGFyZSBnaXZlbiBhIHNwZWNpZmljIGRhdGUgYW5kIHRpbWUgc2hvdWxkIGFsd2F5cyBiZSBrbm93bi4gICBXaGVuIGltbXVuaXphdGlvbnMgYXJlIHBhdGllbnQgcmVwb3J0ZWQsIGEgc3BlY2lmaWMgZGF0ZSBtaWdodCBub3QgYmUga25vd24uICBBbHRob3VnaCBwYXJ0aWFsIGRhdGVzIGFyZSBhbGxvd2VkLCBhbiBhZHVsdCBwYXRpZW50IG1pZ2h0IG5vdCBiZSBhYmxlIHRvIHJlY2FsbCB0aGUgeWVhciBhIGNoaWxkaG9vZCBpbW11bml6YXRpb24gd2FzIGdpdmVuLiBBbiBleGFjdCBkYXRlIGlzIGFsd2F5cyBwcmVmZXJhYmxlLCBidXQgdGhlIHVzZSBvZiB0aGUgU3RyaW5nIGRhdGEgdHlwZSBpcyBhY2NlcHRhYmxlIHdoZW4gYW4gZXhhY3QgZGF0ZSBpcyBub3Qga25vd24uIEEgc21hbGwgbnVtYmVyIG9mIHZhY2NpbmVzIChlLmcuIGxpdmUgb3JhbCB0eXBob2lkIHZhY2NpbmUpIGFyZSBnaXZlbiBhcyBhIHNlcmllcyBvZiBwYXRpZW50IHNlbGYtYWRtaW5pc3RlcmVkIGRvc2Ugb3ZlciBhIHNwYW4gb2YgdGltZS4gSW4gY2FzZXMgbGlrZSB0aGlzLCBvZnRlbiwgb25seSB0aGUgZmlyc3QgZG9zZSAodHlwaWNhbGx5IGEgcHJvdmlkZXIgc3VwZXJ2aXNlZCBkb3NlKSBpcyByZWNvcmRlZCB3aXRoIHRoZSBvY2N1cnJlbmNlIGluZGljYXRpbmcgdGhlIGRhdGUvdGltZSBvZiB0aGUgZmlyc3QgZG9zZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVjb3JkZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFdoZW4gdGhlIGltbXVuaXphdGlvbiB3YXMgZmlyc3QgY2FwdHVyZWQgaW4gdGhlIHN1YmplY3QncyByZWNvcmQiIGRlZmluaXRpb249IlRoZSBkYXRlIHRoZSBvY2N1cnJlbmNlIG9mIHRoZSBpbW11bml6YXRpb24gd2FzIGZpcnN0IGNhcHR1cmVkIGluIHRoZSByZWNvcmQgLSBwb3RlbnRpYWxseSBzaWduaWZpY2FudGx5IGFmdGVyIHRoZSBvY2N1cnJlbmNlIG9mIHRoZSBldmVudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcmltYXJ5U291cmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBJbmRpY2F0ZXMgY29udGV4dCB0aGUgZGF0YSB3YXMgcmVjb3JkZWQgaW4iIGRlZmluaXRpb249IkluZGljYXRlcyB3aGV0aGVyIHRoZSBkYXRhIGNvbnRhaW5lZCBpbiB0aGUgcmVzb3VyY2Ugd2FzIGNhcHR1cmVkIGJ5IHRoZSBpbmRpdmlkdWFsL29yZ2FuaXphdGlvbiB3aGljaCB3YXMgcmVzcG9uc2libGUgZm9yIHRoZSBhZG1pbmlzdHJhdGlvbiBvZiB0aGUgdmFjY2luZSByYXRoZXIgdGhhbiBhcyAnc2Vjb25kYXJ5IHJlcG9ydGVkJyBkYXRhICBkb2N1bWVudGVkIGJ5IGEgdGhpcmQgcGFydHkuIEEgdmFsdWUgb2YgJ3RydWUnIG1lYW5zIHRoaXMgZGF0YSBvcmlnaW5hdGVkIHdpdGggdGhlIGluZGl2aWR1YWwvb3JnYW5pemF0aW9uIHdoaWNoIHdhcyByZXNwb25zaWJsZSBmb3IgdGhlIGFkbWluaXN0cmF0aW9uIG9mIHRoZSB2YWNjaW5lLiIgY29tbWVudD0iVGhpcyB1cGRhdGVkIGRlZmluaXRpb24gaXMgYWRvcHRlZCBmcm9tIHRoZSBGSElSIFI1IEltbXVuaXphdGlvbiByZXNvdXJjZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVwb3J0T3JpZ2luIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgdGhlIHNvdXJjZSBvZiBhIHNlY29uZGFyaWx5IHJlcG9ydGVkIHJlY29yZCIgZGVmaW5pdGlvbj0iVGhlIHNvdXJjZSBvZiB0aGUgZGF0YSB3aGVuIHRoZSByZXBvcnQgb2YgdGhlIGltbXVuaXphdGlvbiBldmVudCBpcyBub3QgYmFzZWQgb24gaW5mb3JtYXRpb24gZnJvbSB0aGUgcGVyc29uIHdobyBhZG1pbmlzdGVyZWQgdGhlIHZhY2NpbmUuIiBjb21tZW50PSJTaG91bGQgbm90IGJlIHBvcHVsYXRlZCBpZiBwcmltYXJ5U291cmNlID0gVHJ1ZSwgbm90IHJlcXVpcmVkIGV2ZW4gaWYgcHJpbWFyeVNvdXJjZSA9IEZhbHNlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkltbXVuaXphdGlvblJlcG9ydE9yaWdpbiIgZGVzY3JpcHRpb249IlRoZSBzb3VyY2Ugb2YgdGhlIGRhdGEgZm9yIGEgcmVjb3JkIHdoaWNoIGlzIG5vdCBmcm9tIGEgcHJpbWFyeSBzb3VyY2UuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaGVyZSBpbW11bml6YXRpb24gb2NjdXJyZWQiIGRlZmluaXRpb249IlRoZSBzZXJ2aWNlIGRlbGl2ZXJ5IGxvY2F0aW9uIHdoZXJlIHRoZSB2YWNjaW5lIGFkbWluaXN0cmF0aW9uIG9jY3VycmVkLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1hbnVmYWN0dXJlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJWYWNjaW5lIG1hbnVmYWN0dXJlciIgZGVmaW5pdGlvbj0iTmFtZSBvZiB2YWNjaW5lIG1hbnVmYWN0dXJlci4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsb3ROdW1iZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlZhY2NpbmUgbG90IG51bWJlciIgZGVmaW5pdGlvbj0iTG90IG51bWJlciBvZiB0aGUgIHZhY2NpbmUgcHJvZHVjdC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJleHBpcmF0aW9uRGF0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlZhY2NpbmUgZXhwaXJhdGlvbiBkYXRlIiBkZWZpbml0aW9uPSJEYXRlIHZhY2NpbmUgYmF0Y2ggZXhwaXJlcy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJCb2R5IHNpdGUgdmFjY2luZSAgd2FzIGFkbWluaXN0ZXJlZCIgZGVmaW5pdGlvbj0iQm9keSBzaXRlIHdoZXJlIHZhY2NpbmUgd2FzIGFkbWluaXN0ZXJlZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJJbW11bml6YXRpb25TaXRlIiBkZXNjcmlwdGlvbj0iVGhlIHNpdGUgYXQgd2hpY2ggdGhlIHZhY2NpbmUgd2FzIGFkbWluaXN0ZXJlZC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJvdXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIb3cgdmFjY2luZSBlbnRlcmVkIGJvZHkiIGRlZmluaXRpb249IlRoZSBwYXRoIGJ5IHdoaWNoIHRoZSB2YWNjaW5lIHByb2R1Y3QgaXMgdGFrZW4gaW50byB0aGUgYm9keS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJJbW11bml6YXRpb25Sb3V0ZSIgZGVzY3JpcHRpb249IlRoZSByb3V0ZSBieSB3aGljaCB0aGUgdmFjY2luZSB3YXMgYWRtaW5pc3RlcmVkLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZG9zZVF1YW50aXR5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFtb3VudCBvZiB2YWNjaW5lIGFkbWluaXN0ZXJlZCIgZGVmaW5pdGlvbj0iVGhlIHF1YW50aXR5IG9mIHZhY2NpbmUgcHJvZHVjdCB0aGF0IHdhcyBhZG1pbmlzdGVyZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIHBlcmZvcm1lZCBldmVudCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdobyBwZXJmb3JtZWQgdGhlIGltbXVuaXphdGlvbiBldmVudC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkltbXVuaXphdGlvbi5QZXJmb3JtZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkFkZGl0aW9uYWwgaW1tdW5pemF0aW9uIG5vdGVzIiBkZWZpbml0aW9uPSJFeHRyYSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgaW1tdW5pemF0aW9uIHRoYXQgaXMgbm90IGNvbnZleWVkIGJ5IHRoZSBvdGhlciBhdHRyaWJ1dGVzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2h5IGltbXVuaXphdGlvbiBvY2N1cnJlZCIgZGVmaW5pdGlvbj0iUmVhc29ucyB3aHkgdGhlIHZhY2NpbmUgd2FzIGFkbWluaXN0ZXJlZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iSW1tdW5pemF0aW9uUmVhc29uIiBkZXNjcmlwdGlvbj0iVGhlIHJlYXNvbiB3aHkgYSB2YWNjaW5lIHdhcyBhZG1pbmlzdGVyZWQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaHkgaW1tdW5pemF0aW9uIG9jY3VycmVkIiBkZWZpbml0aW9uPSJDb25kaXRpb24sIE9ic2VydmF0aW9uIG9yIERpYWdub3N0aWNSZXBvcnQgdGhhdCBzdXBwb3J0cyB3aHkgdGhlIGltbXVuaXphdGlvbiB3YXMgYWRtaW5pc3RlcmVkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlzU3VicG90ZW50IiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRG9zZSBwb3RlbmN5IiBkZWZpbml0aW9uPSJJbmRpY2F0aW9uIGlmIGEgZG9zZSBpcyBjb25zaWRlcmVkIHRvIGJlIHN1YnBvdGVudC4gQnkgZGVmYXVsdCwgYSBkb3NlIHNob3VsZCBiZSBjb25zaWRlcmVkIHRvIGJlIHBvdGVudC4iIGNvbW1lbnQ9IlR5cGljYWxseSwgdGhlIHJlY29nbml0aW9uIG9mIHRoZSBkb3NlIGJlaW5nIHN1Yi1wb3RlbnQgaXMgcmV0cm9zcGVjdGl2ZSwgYWZ0ZXIgdGhlIGFkbWluaXN0cmF0aW9uIChleC4gbm90aWZpY2F0aW9uIG9mIGEgbWFudWZhY3R1cmVyIHJlY2FsbCBhZnRlciBhZG1pbmlzdHJhdGlvbikuIEhvd2V2ZXIsIGluIHRoZSBjYXNlIG9mIGEgcGFydGlhbCBhZG1pbmlzdHJhdGlvbiAodGhlIHBhdGllbnQgbW92ZXMgdW5leHBlY3RlZGx5IGFuZCBvbmx5IHNvbWUgb2YgdGhlIGRvc2UgaXMgYWN0dWFsbHkgYWRtaW5pc3RlcmVkKSwgc3VicG90ZW5jeSBtYXkgYmUgcmVjb2duaXplZCBpbW1lZGlhdGVseSwgYnV0IGl0IGlzIHN0aWxsIGltcG9ydGFudCB0byByZWNvcmQgdGhlIGV2ZW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YnBvdGVudFJlYXNvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlYXNvbiBmb3IgYmVpbmcgc3VicG90ZW50IiBkZWZpbml0aW9uPSJSZWFzb24gd2h5IGEgZG9zZSBpcyBjb25zaWRlcmVkIHRvIGJlIHN1YnBvdGVudC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU3VicG90ZW50UmVhc29uIiBkZXNjcmlwdGlvbj0iVGhlIHJlYXNvbiB3aHkgYSBkb3NlIGlzIGNvbnNpZGVyZWQgdG8gYmUgc3VicG90ZW50LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZWR1Y2F0aW9uIiBkZXNjcmlwdGlvbj0iRWR1Y2F0aW9uYWwgbWF0ZXJpYWwgcHJlc2VudGVkIHRvIHBhdGllbnQiIGRlZmluaXRpb249IkVkdWNhdGlvbmFsIG1hdGVyaWFsIHByZXNlbnRlZCB0byB0aGUgcGF0aWVudCAob3IgZ3VhcmRpYW4pIGF0IHRoZSB0aW1lIG9mIHZhY2NpbmUgYWRtaW5pc3RyYXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JbW11bml6YXRpb24uRWR1Y2F0aW9uIi8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9ImltbS0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik9uZSBvZiBkb2N1bWVudFR5cGUgb3IgcmVmZXJlbmNlIFNIQUxMIGJlIHByZXNlbnQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249ImRvY3VtZW50VHlwZS5leGlzdHMoKSBvciByZWZlcmVuY2UuZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcm9ncmFtRWxpZ2liaWxpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJQYXRpZW50IGVsaWdpYmlsaXR5IGZvciBhIHZhY2NpbmF0aW9uIHByb2dyYW0iIGRlZmluaXRpb249IkluZGljYXRlcyBhIHBhdGllbnQncyBlbGlnaWJpbGl0eSBmb3IgYSBmdW5kaW5nIHByb2dyYW0uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlByb2dyYW1FbGlnaWJpbGl0eSIgZGVzY3JpcHRpb249IlRoZSBwYXRpZW50J3MgZWxpZ2liaWxpdHkgZm9yIGEgdmFjY2F0aW9uIHByb2dyYW0uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmdW5kaW5nU291cmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJGdW5kaW5nIHNvdXJjZSBmb3IgdGhlIHZhY2NpbmUiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc291cmNlIG9mIHRoZSB2YWNjaW5lIGFjdHVhbGx5IGFkbWluaXN0ZXJlZC4gVGhpcyBtYXkgYmUgZGlmZmVyZW50IHRoYW4gdGhlIHBhdGllbnQgZWxpZ2liaWxpdHkgKGUuZy4gdGhlIHBhdGllbnQgbWF5IGJlIGVsaWdpYmxlIGZvciBhIHB1YmxpY2FsbHkgcHVyY2hhc2VkIHZhY2NpbmUgYnV0IGR1ZSB0byBpbnZlbnRvcnkgaXNzdWVzLCB2YWNjaW5lIHB1cmNoYXNlZCB3aXRoIHByaXZhdGUgZnVuZHMgd2FzIGFjdHVhbGx5IGFkbWluaXN0ZXJlZCkuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRnVuZGluZ1NvdXJjZSIgZGVzY3JpcHRpb249IlRoZSBzb3VyY2Ugb2YgZnVuZGluZyB1c2VkIHRvIHB1cmNoYXNlIHRoZSB2YWNjaW5lIGFkbWluaXN0ZXJlZC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlYWN0aW9uIiBkZXNjcmlwdGlvbj0iRGV0YWlscyBvZiBhIHJlYWN0aW9uIHRoYXQgZm9sbG93cyBpbW11bml6YXRpb24iIGRlZmluaXRpb249IkNhdGVnb3JpY2FsIGRhdGEgaW5kaWNhdGluZyB0aGF0IGFuIGFkdmVyc2UgZXZlbnQgaXMgYXNzb2NpYXRlZCBpbiB0aW1lIHRvIGFuIGltbXVuaXphdGlvbi4iIGNvbW1lbnQ9IkEgcmVhY3Rpb24gbWF5IGJlIGFuIGluZGljYXRpb24gb2YgYW4gYWxsZXJneSBvciBpbnRvbGVyYW5jZSBhbmQsIGlmIHRoaXMgaXMgZGV0ZXJtaW5lZCB0byBiZSB0aGUgY2FzZSwgaXQgc2hvdWxkIGJlIHJlY29yZGVkIGFzIGEgbmV3IEFsbGVyZ3lJbnRvbGVyYW5jZSByZXNvdXJjZSBpbnN0YW5jZSBhcyBtb3N0IHN5c3RlbXMgd2lsbCBub3QgcXVlcnkgYWdhaW5zdCBwYXN0IEltbXVuaXphdGlvbi5yZWFjdGlvbiBlbGVtZW50cy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkltbXVuaXphdGlvbi5SZWFjdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcm90b2NvbEFwcGxpZWQiIGRlc2NyaXB0aW9uPSJQcm90b2NvbCBmb2xsb3dlZCBieSB0aGUgcHJvdmlkZXIiIGRlZmluaXRpb249IlRoZSBwcm90b2NvbCAoc2V0IG9mIHJlY29tbWVuZGF0aW9ucykgYmVpbmcgZm9sbG93ZWQgYnkgdGhlIHByb3ZpZGVyIHdobyBhZG1pbmlzdGVyZWQgdGhlIGRvc2UuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JbW11bml6YXRpb24uUHJvdG9jb2xBcHBsaWVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9ImFjdG9yIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBhdGllbnQiLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkltbXVuaXphdGlvbi5FZHVjYXRpb24iIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRvY3VtZW50VHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRWR1Y2F0aW9uYWwgbWF0ZXJpYWwgZG9jdW1lbnQgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iSWRlbnRpZmllciBvZiB0aGUgbWF0ZXJpYWwgcHJlc2VudGVkIHRvIHRoZSBwYXRpZW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRWR1Y2F0aW9uYWwgbWF0ZXJpYWwgcmVmZXJlbmNlIHBvaW50ZXIiIGRlZmluaXRpb249IlJlZmVyZW5jZSBwb2ludGVyIHRvIHRoZSBlZHVjYXRpb25hbCBtYXRlcmlhbCBnaXZlbiB0byB0aGUgcGF0aWVudCBpZiB0aGUgaW5mb3JtYXRpb24gd2FzIG9uIGxpbmUuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHVibGljYXRpb25EYXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkVkdWNhdGlvbmFsIG1hdGVyaWFsIHB1YmxpY2F0aW9uIGRhdGUiIGRlZmluaXRpb249IkRhdGUgdGhlIGVkdWNhdGlvbmFsIG1hdGVyaWFsIHdhcyBwdWJsaXNoZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJlc2VudGF0aW9uRGF0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJFZHVjYXRpb25hbCBtYXRlcmlhbCBwcmVzZW50YXRpb24gZGF0ZSIgZGVmaW5pdGlvbj0iRGF0ZSB0aGUgZWR1Y2F0aW9uYWwgbWF0ZXJpYWwgd2FzIGdpdmVuIHRvIHRoZSBwYXRpZW50LiIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iSW1tdW5pemF0aW9uLlBlcmZvcm1lciIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZnVuY3Rpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoYXQgdHlwZSBvZiBwZXJmb3JtYW5jZSB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iRGVzY3JpYmVzIHRoZSB0eXBlIG9mIHBlcmZvcm1hbmNlIChlLmcuIG9yZGVyaW5nIHByb3ZpZGVyLCBhZG1pbmlzdGVyaW5nIHByb3ZpZGVyLCBldGMuKS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJJbW11bml6YXRpb25GdW5jdGlvbiIgZGVzY3JpcHRpb249IlRoZSByb2xlIGEgcHJhY3RpdGlvbmVyIG9yIG9yZ2FuaXphdGlvbiBwbGF5cyBpbiB0aGUgaW1tdW5pemF0aW9uIGV2ZW50LiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWN0b3IiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSW5kaXZpZHVhbCBvciBvcmdhbml6YXRpb24gd2hvIHdhcyBwZXJmb3JtaW5nIiBkZWZpbml0aW9uPSJUaGUgcHJhY3RpdGlvbmVyIG9yIG9yZ2FuaXphdGlvbiB3aG8gcGVyZm9ybWVkIHRoZSBhY3Rpb24uIiBjb21tZW50PSJXaGVuIHRoZSBpbmRpdmlkdWFsIHByYWN0aXRpb25lciB3aG8gcGVyZm9ybWVkIHRoZSBhY3Rpb24gaXMga25vd24sIGl0IGlzIGJlc3QgdG8gc2VuZC4iLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkltbXVuaXphdGlvbi5Qcm90b2NvbEFwcGxpZWQiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InNlcmllcyIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTmFtZSBvZiB2YWNjaW5lIHNlcmllcyIgZGVmaW5pdGlvbj0iT25lIHBvc3NpYmxlIHBhdGggdG8gYWNoaWV2ZSBwcmVzdW1lZCBpbW11bml0eSBhZ2FpbnN0IGEgZGlzZWFzZSAtIHdpdGhpbiB0aGUgY29udGV4dCBvZiBhbiBhdXRob3JpdHkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yaXR5IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBpcyByZXNwb25zaWJsZSBmb3IgcHVibGlzaGluZyB0aGUgcmVjb21tZW5kYXRpb25zIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIGF1dGhvcml0eSB3aG8gcHVibGlzaGVkIHRoZSBwcm90b2NvbCAoZS5nLiBBQ0lQKSB0aGF0IGlzIGJlaW5nIGZvbGxvd2VkLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InRhcmdldERpc2Vhc2UiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJWYWNjaW5lIHByZXZlbnRhdGFibGUgZGlzZWFzZSBiZWluZyB0YXJnZXR0ZWQiIGRlZmluaXRpb249IlRoZSB2YWNjaW5lIHByZXZlbnRhYmxlIGRpc2Vhc2UgdGhlIGRvc2UgaXMgYmVpbmcgYWRtaW5pc3RlcmVkIGFnYWluc3QuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlRhcmdldERpc2Vhc2UiIGRlc2NyaXB0aW9uPSJUaGUgdmFjY2luZSBwcmV2ZW50YWJsZSBkaXNlYXNlIHRoZSBkb3NlIGlzIGJlaW5nIGFkbWluaXN0ZXJlZCBmb3IuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkb3NlTnVtYmVyIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkRvc2UgbnVtYmVyIHdpdGhpbiBzZXJpZXMiIGRlZmluaXRpb249Ik5vbWluYWwgcG9zaXRpb24gaW4gYSBzZXJpZXMuIiBjb21tZW50PSJUaGUgdXNlIG9mIGFuIGludGVnZXIgaXMgcHJlZmVycmVkIGlmIGtub3duLiBBIHN0cmluZyBzaG91bGQgb25seSBiZSB1c2VkIGluIGNhc2VzIHdoZXJlIGFuIGludGVnZXIgaXMgbm90IGF2YWlsYWJsZSAoc3VjaCBhcyB3aGVuIGRvY3VtZW50aW5nIGEgcmVjdXJyaW5nIGJvb3N0ZXIgZG9zZSkuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzZXJpZXNEb3NlcyIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZWNvbW1lbmRlZCBudW1iZXIgb2YgZG9zZXMgZm9yIGltbXVuaXR5IiBkZWZpbml0aW9uPSJUaGUgcmVjb21tZW5kZWQgbnVtYmVyIG9mIGRvc2VzIHRvIGFjaGlldmUgaW1tdW5pdHkuIiBjb21tZW50PSJUaGUgdXNlIG9mIGFuIGludGVnZXIgaXMgcHJlZmVycmVkIGlmIGtub3duLiBBIHN0cmluZyBzaG91bGQgb25seSBiZSB1c2VkIGluIGNhc2VzIHdoZXJlIGFuIGludGVnZXIgaXMgbm90IGF2YWlsYWJsZSAoc3VjaCBhcyB3aGVuIGRvY3VtZW50aW5nIGEgcmVjdXJyaW5nIGJvb3N0ZXIgZG9zZSkuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkltbXVuaXphdGlvbi5SZWFjdGlvbiIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIHJlYWN0aW9uIHN0YXJ0ZWQiIGRlZmluaXRpb249IkRhdGUgb2YgcmVhY3Rpb24gdG8gdGhlIGltbXVuaXphdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXRhaWwiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iQWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvbiByZWFjdGlvbiIgZGVmaW5pdGlvbj0iRGV0YWlscyBvZiB0aGUgcmVhY3Rpb24uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVwb3J0ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgc2VsZi1yZXBvcnRlZCByZWFjdGlvbiIgZGVmaW5pdGlvbj0iU2VsZi1yZXBvcnRlZCBpbmRpY2F0b3IuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJJbW11bml6YXRpb25FdmFsdWF0aW9uIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1pbW11bml6YXRpb25ldmFsdWF0aW9uIiBsYWJlbD0iUUlDb3JlIEltbXVuaXphdGlvbkV2YWx1YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9InRhcmdldERpc2Vhc2UiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgQnVzaW5lc3MgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIGltbXVuaXphdGlvbiBldmFsdWF0aW9uIHJlY29yZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLkltbXVuaXphdGlvbkV2YWx1YXRpb25TdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIGNvbXBsZXRlZCB8IGVudGVyZWQtaW4tZXJyb3IiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgY3VycmVudCBzdGF0dXMgb2YgdGhlIGV2YWx1YXRpb24gb2YgdGhlIHZhY2NpbmF0aW9uIGFkbWluaXN0cmF0aW9uIGV2ZW50LiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkltbXVuaXphdGlvbkV2YWx1YXRpb25TdGF0dXMiIGRlc2NyaXB0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSBldmFsdWF0aW9uIGJlaW5nIGRvbmUuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGF0aWVudCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgV2hvIHRoaXMgZXZhbHVhdGlvbiBpcyBmb3IiIGRlZmluaXRpb249IlRoZSBpbmRpdmlkdWFsIGZvciB3aG9tIHRoZSBldmFsdWF0aW9uIGlzIGJlaW5nIGRvbmUuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgRGF0ZSBldmFsdWF0aW9uIHdhcyBwZXJmb3JtZWQiIGRlZmluaXRpb249IlRoZSBkYXRlIHRoZSBldmFsdWF0aW9uIG9mIHRoZSB2YWNjaW5lIGFkbWluaXN0cmF0aW9uIGV2ZW50IHdhcyBwZXJmb3JtZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yaXR5IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBpcyByZXNwb25zaWJsZSBmb3IgcHVibGlzaGluZyB0aGUgcmVjb21tZW5kYXRpb25zIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIGF1dGhvcml0eSB3aG8gcHVibGlzaGVkIHRoZSBwcm90b2NvbCAoZS5nLiBBQ0lQKS4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InRhcmdldERpc2Vhc2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBFdmFsdWF0aW9uIHRhcmdldCBkaXNlYXNlIiBkZWZpbml0aW9uPSJUaGUgdmFjY2luZSBwcmV2ZW50YWJsZSBkaXNlYXNlIHRoZSBkb3NlIGlzIGJlaW5nIGV2YWx1YXRlZCBhZ2FpbnN0LiI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW1tdW5pemF0aW9uRXZlbnQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIEltbXVuaXphdGlvbiBiZWluZyBldmFsdWF0ZWQiIGRlZmluaXRpb249IlRoZSB2YWNjaW5lIGFkbWluaXN0cmF0aW9uIGV2ZW50IGJlaW5nIGV2YWx1YXRlZC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkb3NlU3RhdHVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgU3RhdHVzIG9mIHRoZSBkb3NlIHJlbGF0aXZlIHRvIHB1Ymxpc2hlZCByZWNvbW1lbmRhdGlvbnMiIGRlZmluaXRpb249IkluZGljYXRlcyBpZiB0aGUgZG9zZSBpcyB2YWxpZCBvciBub3QgdmFsaWQgd2l0aCByZXNwZWN0IHRvIHRoZSBwdWJsaXNoZWQgcmVjb21tZW5kYXRpb25zLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZG9zZVN0YXR1c1JlYXNvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBSZWFzb24gZm9yIHRoZSBkb3NlIHN0YXR1cyIgZGVmaW5pdGlvbj0iUHJvdmlkZXMgYW4gZXhwbGFuYXRpb24gYXMgdG8gd2h5IHRoZSB2YWNjaW5lIGFkbWluaXN0cmF0aW9uIGV2ZW50IGlzIHZhbGlkIG9yIG5vdCByZWxhdGl2ZSB0byB0aGUgcHVibGlzaGVkIHJlY29tbWVuZGF0aW9ucy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXNjcmlwdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRXZhbHVhdGlvbiBub3RlcyIgZGVmaW5pdGlvbj0iQWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZXZhbHVhdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzZXJpZXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik5hbWUgb2YgdmFjY2luZSBzZXJpZXMiIGRlZmluaXRpb249Ik9uZSBwb3NzaWJsZSBwYXRoIHRvIGFjaGlldmUgcHJlc3VtZWQgaW1tdW5pdHkgYWdhaW5zdCBhIGRpc2Vhc2UgLSB3aXRoaW4gdGhlIGNvbnRleHQgb2YgYW4gYXV0aG9yaXR5LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRvc2VOdW1iZXIiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRG9zZSBudW1iZXIgd2l0aGluIHNlcmllcyIgZGVmaW5pdGlvbj0iTm9taW5hbCBwb3NpdGlvbiBpbiBhIHNlcmllcy4iIGNvbW1lbnQ9IlRoZSB1c2Ugb2YgYW4gaW50ZWdlciBpcyBwcmVmZXJyZWQgaWYga25vd24uIEEgc3RyaW5nIHNob3VsZCBvbmx5IGJlIHVzZWQgaW4gY2FzZXMgd2hlcmUgYW4gaW50ZWdlciBpcyBub3QgYXZhaWxhYmxlIChzdWNoIGFzIHdoZW4gZG9jdW1lbnRpbmcgYSByZWN1cnJpbmcgYm9vc3RlciBkb3NlKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InNlcmllc0Rvc2VzIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlY29tbWVuZGVkIG51bWJlciBvZiBkb3NlcyBmb3IgaW1tdW5pdHkiIGRlZmluaXRpb249IlRoZSByZWNvbW1lbmRlZCBudW1iZXIgb2YgZG9zZXMgdG8gYWNoaWV2ZSBpbW11bml0eS4iIGNvbW1lbnQ9IlRoZSB1c2Ugb2YgYW4gaW50ZWdlciBpcyBwcmVmZXJyZWQgaWYga25vd24uIEEgc3RyaW5nIHNob3VsZCBvbmx5IGJlIHVzZWQgaW4gY2FzZXMgd2hlcmUgYW4gaW50ZWdlciBpcyBub3QgYXZhaWxhYmxlIChzdWNoIGFzIHdoZW4gZG9jdW1lbnRpbmcgYSByZWN1cnJpbmcgYm9vc3RlciBkb3NlKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJwYXRpZW50Ii8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJJbW11bml6YXRpb25FdmFsdWF0aW9uU3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkltbXVuaXphdGlvbk5vdERvbmUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWltbXVuaXphdGlvbm5vdGRvbmUiIGxhYmVsPSJRSUNvcmUgSW1tdW5pemF0aW9uIE5vdCBEb25lIiB0YXJnZXQ9IkltbXVuaXphdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0idmFjY2luZUNvZGUiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJBIHVuaXF1ZSBpZGVudGlmaWVyIGFzc2lnbmVkIHRvIHRoaXMgaW1tdW5pemF0aW9uIHJlY29yZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIGNvbXBsZXRlZCB8IGVudGVyZWQtaW4tZXJyb3IgfCBub3QtZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBjdXJyZW50IHN0YXR1cyBvZiB0aGUgaW1tdW5pemF0aW9uIGV2ZW50LiIgY29tbWVudD0iV2lsbCBnZW5lcmFsbHkgYmUgc2V0IHRvIHNob3cgdGhhdCB0aGUgaW1tdW5pemF0aW9uIGhhcyBiZWVuIGNvbXBsZXRlZCBvciBub3QgZG9uZS4gIFRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1c1JlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBSZWFzb24gbm90IGRvbmUiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgcmVhc29uIHRoZSBpbW11bml6YXRpb24gZXZlbnQgd2FzIG5vdCBwZXJmb3JtZWQuIiBjb21tZW50PSJUaGlzIGlzIGdlbmVyYWxseSBvbmx5IHVzZWQgZm9yIHRoZSBzdGF0dXMgb2YgJnF1b3Q7bm90LWRvbmUmcXVvdDsuIFRoZSByZWFzb24gZm9yIHBlcmZvcm1pbmcgdGhlIGltbXVuaXphdGlvbiBldmVudCBpcyBjYXB0dXJlZCBpbiByZWFzb25Db2RlLCBub3QgaGVyZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlRoZSByZWFzb24gdGhlIHNlcnZpY2Ugd2FzIG5vdCByZXF1ZXN0ZWQiIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InZhY2NpbmVDb2RlIiB0YXJnZXQ9IlN5c3RlbS5Db25jZXB0OkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpO1N5c3RlbS5WYWx1ZVNldDpGSElSSGVscGVycy5Ub1ZhbHVlU2V0KCVwYXJlbnQudmFjY2luZUNvZGUuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtbm90RG9uZVZhbHVlU2V0J10udmFsdWUudmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBWYWNjaW5lIFByb2R1Y3QgVHlwZSAoYmluZCB0byBDVlgpIiBkZWZpbml0aW9uPSJWYWNjaW5lIHRoYXQgd2FzIGFkbWluaXN0ZXJlZCBvciB3YXMgdG8gYmUgYWRtaW5pc3RlcmVkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iVmFsdWVTZXQiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGF0aWVudCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFdobyB3YXMgaW1tdW5pemVkIiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCB3aG8gZWl0aGVyIHJlY2VpdmVkIG9yIGRpZCBub3QgcmVjZWl2ZSB0aGUgaW1tdW5pemF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iRW5jb3VudGVyIGltbXVuaXphdGlvbiB3YXMgcGFydCBvZiIgZGVmaW5pdGlvbj0iVGhlIHZpc2l0IG9yIGFkbWlzc2lvbiBvciBvdGhlciBjb250YWN0IGJldHdlZW4gcGF0aWVudCBhbmQgaGVhbHRoIGNhcmUgcHJvdmlkZXIgdGhlIGltbXVuaXphdGlvbiB3YXMgcGVyZm9ybWVkIGFzIHBhcnQgb2YuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ib2NjdXJyZW5jZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFZhY2NpbmUgYWRtaW5pc3RyYXRpb24gZGF0ZSIgZGVmaW5pdGlvbj0iRGF0ZSB2YWNjaW5lIGFkbWluaXN0ZXJlZCBvciB3YXMgdG8gYmUgYWRtaW5pc3RlcmVkLiIgY29tbWVudD0iV2hlbiBpbW11bml6YXRpb25zIGFyZSBnaXZlbiBhIHNwZWNpZmljIGRhdGUgYW5kIHRpbWUgc2hvdWxkIGFsd2F5cyBiZSBrbm93bi4gICBXaGVuIGltbXVuaXphdGlvbnMgYXJlIHBhdGllbnQgcmVwb3J0ZWQsIGEgc3BlY2lmaWMgZGF0ZSBtaWdodCBub3QgYmUga25vd24uICBBbHRob3VnaCBwYXJ0aWFsIGRhdGVzIGFyZSBhbGxvd2VkLCBhbiBhZHVsdCBwYXRpZW50IG1pZ2h0IG5vdCBiZSBhYmxlIHRvIHJlY2FsbCB0aGUgeWVhciBhIGNoaWxkaG9vZCBpbW11bml6YXRpb24gd2FzIGdpdmVuLiBBbiBleGFjdCBkYXRlIGlzIGFsd2F5cyBwcmVmZXJhYmxlLCBidXQgdGhlIHVzZSBvZiB0aGUgU3RyaW5nIGRhdGEgdHlwZSBpcyBhY2NlcHRhYmxlIHdoZW4gYW4gZXhhY3QgZGF0ZSBpcyBub3Qga25vd24uIEEgc21hbGwgbnVtYmVyIG9mIHZhY2NpbmVzIChlLmcuIGxpdmUgb3JhbCB0eXBob2lkIHZhY2NpbmUpIGFyZSBnaXZlbiBhcyBhIHNlcmllcyBvZiBwYXRpZW50IHNlbGYtYWRtaW5pc3RlcmVkIGRvc2Ugb3ZlciBhIHNwYW4gb2YgdGltZS4gSW4gY2FzZXMgbGlrZSB0aGlzLCBvZnRlbiwgb25seSB0aGUgZmlyc3QgZG9zZSAodHlwaWNhbGx5IGEgcHJvdmlkZXIgc3VwZXJ2aXNlZCBkb3NlKSBpcyByZWNvcmRlZCB3aXRoIHRoZSBvY2N1cnJlbmNlIGluZGljYXRpbmcgdGhlIGRhdGUvdGltZSBvZiB0aGUgZmlyc3QgZG9zZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVjb3JkZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFdoZW4gdGhlIGltbXVuaXphdGlvbiB3YXMgZmlyc3QgY2FwdHVyZWQgaW4gdGhlIHN1YmplY3QncyByZWNvcmQiIGRlZmluaXRpb249IlRoZSBkYXRlIHRoZSBvY2N1cnJlbmNlIG9mIHRoZSBpbW11bml6YXRpb24gd2FzIGZpcnN0IGNhcHR1cmVkIGluIHRoZSByZWNvcmQgLSBwb3RlbnRpYWxseSBzaWduaWZpY2FudGx5IGFmdGVyIHRoZSBvY2N1cnJlbmNlIG9mIHRoZSBldmVudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcmltYXJ5U291cmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBJbmRpY2F0ZXMgY29udGV4dCB0aGUgZGF0YSB3YXMgcmVjb3JkZWQgaW4iIGRlZmluaXRpb249IkluZGljYXRlcyB3aGV0aGVyIHRoZSBkYXRhIGNvbnRhaW5lZCBpbiB0aGUgcmVzb3VyY2Ugd2FzIGNhcHR1cmVkIGJ5IHRoZSBpbmRpdmlkdWFsL29yZ2FuaXphdGlvbiB3aGljaCB3YXMgcmVzcG9uc2libGUgZm9yIHRoZSBhZG1pbmlzdHJhdGlvbiBvZiB0aGUgdmFjY2luZSByYXRoZXIgdGhhbiBhcyAnc2Vjb25kYXJ5IHJlcG9ydGVkJyBkYXRhICBkb2N1bWVudGVkIGJ5IGEgdGhpcmQgcGFydHkuIEEgdmFsdWUgb2YgJ3RydWUnIG1lYW5zIHRoaXMgZGF0YSBvcmlnaW5hdGVkIHdpdGggdGhlIGluZGl2aWR1YWwvb3JnYW5pemF0aW9uIHdoaWNoIHdhcyByZXNwb25zaWJsZSBmb3IgdGhlIGFkbWluaXN0cmF0aW9uIG9mIHRoZSB2YWNjaW5lLiIgY29tbWVudD0iVGhpcyB1cGRhdGVkIGRlZmluaXRpb24gaXMgYWRvcHRlZCBmcm9tIHRoZSBGSElSIFI1IEltbXVuaXphdGlvbiByZXNvdXJjZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVwb3J0T3JpZ2luIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgdGhlIHNvdXJjZSBvZiBhIHNlY29uZGFyaWx5IHJlcG9ydGVkIHJlY29yZCIgZGVmaW5pdGlvbj0iVGhlIHNvdXJjZSBvZiB0aGUgZGF0YSB3aGVuIHRoZSByZXBvcnQgb2YgdGhlIGltbXVuaXphdGlvbiBldmVudCBpcyBub3QgYmFzZWQgb24gaW5mb3JtYXRpb24gZnJvbSB0aGUgcGVyc29uIHdobyBhZG1pbmlzdGVyZWQgdGhlIHZhY2NpbmUuIiBjb21tZW50PSJTaG91bGQgbm90IGJlIHBvcHVsYXRlZCBpZiBwcmltYXJ5U291cmNlID0gVHJ1ZSwgbm90IHJlcXVpcmVkIGV2ZW4gaWYgcHJpbWFyeVNvdXJjZSA9IEZhbHNlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkltbXVuaXphdGlvblJlcG9ydE9yaWdpbiIgZGVzY3JpcHRpb249IlRoZSBzb3VyY2Ugb2YgdGhlIGRhdGEgZm9yIGEgcmVjb3JkIHdoaWNoIGlzIG5vdCBmcm9tIGEgcHJpbWFyeSBzb3VyY2UuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaGVyZSBpbW11bml6YXRpb24gb2NjdXJyZWQiIGRlZmluaXRpb249IlRoZSBzZXJ2aWNlIGRlbGl2ZXJ5IGxvY2F0aW9uIHdoZXJlIHRoZSB2YWNjaW5lIGFkbWluaXN0cmF0aW9uIG9jY3VycmVkLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1hbnVmYWN0dXJlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJWYWNjaW5lIG1hbnVmYWN0dXJlciIgZGVmaW5pdGlvbj0iTmFtZSBvZiB2YWNjaW5lIG1hbnVmYWN0dXJlci4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsb3ROdW1iZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlZhY2NpbmUgbG90IG51bWJlciIgZGVmaW5pdGlvbj0iTG90IG51bWJlciBvZiB0aGUgIHZhY2NpbmUgcHJvZHVjdC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJleHBpcmF0aW9uRGF0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlZhY2NpbmUgZXhwaXJhdGlvbiBkYXRlIiBkZWZpbml0aW9uPSJEYXRlIHZhY2NpbmUgYmF0Y2ggZXhwaXJlcy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJCb2R5IHNpdGUgdmFjY2luZSAgd2FzIGFkbWluaXN0ZXJlZCIgZGVmaW5pdGlvbj0iQm9keSBzaXRlIHdoZXJlIHZhY2NpbmUgd2FzIGFkbWluaXN0ZXJlZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJJbW11bml6YXRpb25TaXRlIiBkZXNjcmlwdGlvbj0iVGhlIHNpdGUgYXQgd2hpY2ggdGhlIHZhY2NpbmUgd2FzIGFkbWluaXN0ZXJlZC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJvdXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIb3cgdmFjY2luZSBlbnRlcmVkIGJvZHkiIGRlZmluaXRpb249IlRoZSBwYXRoIGJ5IHdoaWNoIHRoZSB2YWNjaW5lIHByb2R1Y3QgaXMgdGFrZW4gaW50byB0aGUgYm9keS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJJbW11bml6YXRpb25Sb3V0ZSIgZGVzY3JpcHRpb249IlRoZSByb3V0ZSBieSB3aGljaCB0aGUgdmFjY2luZSB3YXMgYWRtaW5pc3RlcmVkLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZG9zZVF1YW50aXR5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFtb3VudCBvZiB2YWNjaW5lIGFkbWluaXN0ZXJlZCIgZGVmaW5pdGlvbj0iVGhlIHF1YW50aXR5IG9mIHZhY2NpbmUgcHJvZHVjdCB0aGF0IHdhcyBhZG1pbmlzdGVyZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIHBlcmZvcm1lZCBldmVudCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdobyBwZXJmb3JtZWQgdGhlIGltbXVuaXphdGlvbiBldmVudC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkltbXVuaXphdGlvbi5QZXJmb3JtZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkFkZGl0aW9uYWwgaW1tdW5pemF0aW9uIG5vdGVzIiBkZWZpbml0aW9uPSJFeHRyYSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgaW1tdW5pemF0aW9uIHRoYXQgaXMgbm90IGNvbnZleWVkIGJ5IHRoZSBvdGhlciBhdHRyaWJ1dGVzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2h5IGltbXVuaXphdGlvbiBvY2N1cnJlZCIgZGVmaW5pdGlvbj0iUmVhc29ucyB3aHkgdGhlIHZhY2NpbmUgd2FzIGFkbWluaXN0ZXJlZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iSW1tdW5pemF0aW9uUmVhc29uIiBkZXNjcmlwdGlvbj0iVGhlIHJlYXNvbiB3aHkgYSB2YWNjaW5lIHdhcyBhZG1pbmlzdGVyZWQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaHkgaW1tdW5pemF0aW9uIG9jY3VycmVkIiBkZWZpbml0aW9uPSJDb25kaXRpb24sIE9ic2VydmF0aW9uIG9yIERpYWdub3N0aWNSZXBvcnQgdGhhdCBzdXBwb3J0cyB3aHkgdGhlIGltbXVuaXphdGlvbiB3YXMgYWRtaW5pc3RlcmVkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlzU3VicG90ZW50IiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRG9zZSBwb3RlbmN5IiBkZWZpbml0aW9uPSJJbmRpY2F0aW9uIGlmIGEgZG9zZSBpcyBjb25zaWRlcmVkIHRvIGJlIHN1YnBvdGVudC4gQnkgZGVmYXVsdCwgYSBkb3NlIHNob3VsZCBiZSBjb25zaWRlcmVkIHRvIGJlIHBvdGVudC4iIGNvbW1lbnQ9IlR5cGljYWxseSwgdGhlIHJlY29nbml0aW9uIG9mIHRoZSBkb3NlIGJlaW5nIHN1Yi1wb3RlbnQgaXMgcmV0cm9zcGVjdGl2ZSwgYWZ0ZXIgdGhlIGFkbWluaXN0cmF0aW9uIChleC4gbm90aWZpY2F0aW9uIG9mIGEgbWFudWZhY3R1cmVyIHJlY2FsbCBhZnRlciBhZG1pbmlzdHJhdGlvbikuIEhvd2V2ZXIsIGluIHRoZSBjYXNlIG9mIGEgcGFydGlhbCBhZG1pbmlzdHJhdGlvbiAodGhlIHBhdGllbnQgbW92ZXMgdW5leHBlY3RlZGx5IGFuZCBvbmx5IHNvbWUgb2YgdGhlIGRvc2UgaXMgYWN0dWFsbHkgYWRtaW5pc3RlcmVkKSwgc3VicG90ZW5jeSBtYXkgYmUgcmVjb2duaXplZCBpbW1lZGlhdGVseSwgYnV0IGl0IGlzIHN0aWxsIGltcG9ydGFudCB0byByZWNvcmQgdGhlIGV2ZW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YnBvdGVudFJlYXNvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlYXNvbiBmb3IgYmVpbmcgc3VicG90ZW50IiBkZWZpbml0aW9uPSJSZWFzb24gd2h5IGEgZG9zZSBpcyBjb25zaWRlcmVkIHRvIGJlIHN1YnBvdGVudC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU3VicG90ZW50UmVhc29uIiBkZXNjcmlwdGlvbj0iVGhlIHJlYXNvbiB3aHkgYSBkb3NlIGlzIGNvbnNpZGVyZWQgdG8gYmUgc3VicG90ZW50LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZWR1Y2F0aW9uIiBkZXNjcmlwdGlvbj0iRWR1Y2F0aW9uYWwgbWF0ZXJpYWwgcHJlc2VudGVkIHRvIHBhdGllbnQiIGRlZmluaXRpb249IkVkdWNhdGlvbmFsIG1hdGVyaWFsIHByZXNlbnRlZCB0byB0aGUgcGF0aWVudCAob3IgZ3VhcmRpYW4pIGF0IHRoZSB0aW1lIG9mIHZhY2NpbmUgYWRtaW5pc3RyYXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JbW11bml6YXRpb24uRWR1Y2F0aW9uIi8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9ImltbS0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik9uZSBvZiBkb2N1bWVudFR5cGUgb3IgcmVmZXJlbmNlIFNIQUxMIGJlIHByZXNlbnQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249ImRvY3VtZW50VHlwZS5leGlzdHMoKSBvciByZWZlcmVuY2UuZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcm9ncmFtRWxpZ2liaWxpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJQYXRpZW50IGVsaWdpYmlsaXR5IGZvciBhIHZhY2NpbmF0aW9uIHByb2dyYW0iIGRlZmluaXRpb249IkluZGljYXRlcyBhIHBhdGllbnQncyBlbGlnaWJpbGl0eSBmb3IgYSBmdW5kaW5nIHByb2dyYW0uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlByb2dyYW1FbGlnaWJpbGl0eSIgZGVzY3JpcHRpb249IlRoZSBwYXRpZW50J3MgZWxpZ2liaWxpdHkgZm9yIGEgdmFjY2F0aW9uIHByb2dyYW0uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmdW5kaW5nU291cmNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJGdW5kaW5nIHNvdXJjZSBmb3IgdGhlIHZhY2NpbmUiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc291cmNlIG9mIHRoZSB2YWNjaW5lIGFjdHVhbGx5IGFkbWluaXN0ZXJlZC4gVGhpcyBtYXkgYmUgZGlmZmVyZW50IHRoYW4gdGhlIHBhdGllbnQgZWxpZ2liaWxpdHkgKGUuZy4gdGhlIHBhdGllbnQgbWF5IGJlIGVsaWdpYmxlIGZvciBhIHB1YmxpY2FsbHkgcHVyY2hhc2VkIHZhY2NpbmUgYnV0IGR1ZSB0byBpbnZlbnRvcnkgaXNzdWVzLCB2YWNjaW5lIHB1cmNoYXNlZCB3aXRoIHByaXZhdGUgZnVuZHMgd2FzIGFjdHVhbGx5IGFkbWluaXN0ZXJlZCkuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRnVuZGluZ1NvdXJjZSIgZGVzY3JpcHRpb249IlRoZSBzb3VyY2Ugb2YgZnVuZGluZyB1c2VkIHRvIHB1cmNoYXNlIHRoZSB2YWNjaW5lIGFkbWluaXN0ZXJlZC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlYWN0aW9uIiBkZXNjcmlwdGlvbj0iRGV0YWlscyBvZiBhIHJlYWN0aW9uIHRoYXQgZm9sbG93cyBpbW11bml6YXRpb24iIGRlZmluaXRpb249IkNhdGVnb3JpY2FsIGRhdGEgaW5kaWNhdGluZyB0aGF0IGFuIGFkdmVyc2UgZXZlbnQgaXMgYXNzb2NpYXRlZCBpbiB0aW1lIHRvIGFuIGltbXVuaXphdGlvbi4iIGNvbW1lbnQ9IkEgcmVhY3Rpb24gbWF5IGJlIGFuIGluZGljYXRpb24gb2YgYW4gYWxsZXJneSBvciBpbnRvbGVyYW5jZSBhbmQsIGlmIHRoaXMgaXMgZGV0ZXJtaW5lZCB0byBiZSB0aGUgY2FzZSwgaXQgc2hvdWxkIGJlIHJlY29yZGVkIGFzIGEgbmV3IEFsbGVyZ3lJbnRvbGVyYW5jZSByZXNvdXJjZSBpbnN0YW5jZSBhcyBtb3N0IHN5c3RlbXMgd2lsbCBub3QgcXVlcnkgYWdhaW5zdCBwYXN0IEltbXVuaXphdGlvbi5yZWFjdGlvbiBlbGVtZW50cy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkltbXVuaXphdGlvbi5SZWFjdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcm90b2NvbEFwcGxpZWQiIGRlc2NyaXB0aW9uPSJQcm90b2NvbCBmb2xsb3dlZCBieSB0aGUgcHJvdmlkZXIiIGRlZmluaXRpb249IlRoZSBwcm90b2NvbCAoc2V0IG9mIHJlY29tbWVuZGF0aW9ucykgYmVpbmcgZm9sbG93ZWQgYnkgdGhlIHByb3ZpZGVyIHdobyBhZG1pbmlzdGVyZWQgdGhlIGRvc2UuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JbW11bml6YXRpb24uUHJvdG9jb2xBcHBsaWVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iSW1tdW5pemF0aW9uUmVjb21tZW5kYXRpb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLWltbXVuaXphdGlvbnJlY29tbWVuZGF0aW9uIiBsYWJlbD0iUUlDb3JlIEltbXVuaXphdGlvblJlY29tbWVuZGF0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJyZWNvbW1lbmRhdGlvbi52YWNjaW5lQ29kZSIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkJ1c2luZXNzIGlkZW50aWZpZXIiIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBwYXJ0aWN1bGFyIHJlY29tbWVuZGF0aW9uIHJlY29yZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGF0aWVudCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgV2hvIHRoaXMgcHJvZmlsZSBpcyBmb3IiIGRlZmluaXRpb249IlRoZSBwYXRpZW50IHRoZSByZWNvbW1lbmRhdGlvbihzKSBhcmUgZm9yLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZSByZWNvbW1lbmRhdGlvbihzKSBjcmVhdGVkIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSB0aGUgaW1tdW5pemF0aW9uIHJlY29tbWVuZGF0aW9uKHMpIHdlcmUgY3JlYXRlZC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhdXRob3JpdHkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIGlzIHJlc3BvbnNpYmxlIGZvciBwcm90b2NvbCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBhdXRob3JpdHkgd2hvIHB1Ymxpc2hlZCB0aGUgcHJvdG9jb2wgKGUuZy4gQUNJUCkuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvbW1lbmRhdGlvbiIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBWYWNjaW5lIGFkbWluaXN0cmF0aW9uIHJlY29tbWVuZGF0aW9ucyIgZGVmaW5pdGlvbj0iVmFjY2luZSBhZG1pbmlzdHJhdGlvbiByZWNvbW1lbmRhdGlvbnMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JbW11bml6YXRpb25SZWNvbW1lbmRhdGlvbi5SZWNvbW1lbmRhdGlvbiIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJpbXItMSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJPbmUgb2YgdmFjY2luZUNvZGUgb3IgdGFyZ2V0RGlzZWFzZSBTSEFMTCBiZSBwcmVzZW50Ij4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ2YWNjaW5lQ29kZS5leGlzdHMoKSBvciB0YXJnZXREaXNlYXNlLmV4aXN0cygpIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBhdGllbnQiLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkltbXVuaXphdGlvblJlY29tbWVuZGF0aW9uLlJlY29tbWVuZGF0aW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWNjaW5lQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBWYWNjaW5lIG9yIHZhY2NpbmUgZ3JvdXAgcmVjb21tZW5kYXRpb24gYXBwbGllcyB0byIgZGVmaW5pdGlvbj0iVmFjY2luZShzKSBvciB2YWNjaW5lIGdyb3VwIHRoYXQgcGVydGFpbiB0byB0aGUgcmVjb21tZW5kYXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJDVlggVmFjY2luZXMgQWRtaW5pc3RlcmVkIFZhY2NpbmUgU2V0IiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0YXJnZXREaXNlYXNlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJEaXNlYXNlIHRvIGJlIGltbXVuaXplZCBhZ2FpbnN0IiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0ZWQgZGlzZWFzZSBmb3IgdGhlIHJlY29tbWVuZGF0aW9uLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlRhcmdldERpc2Vhc2UiIGRlc2NyaXB0aW9uPSJUaGUgZGlzZWFzZSB0aGF0IHRoZSByZWNvbW1lbmRlZCB2YWNjaW5hdGlvbiB0YXJnZXRzLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29udHJhaW5kaWNhdGVkVmFjY2luZUNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJWYWNjaW5lIHdoaWNoIGlzIGNvbnRyYWluZGljYXRlZCB0byBmdWxmaWxsIHRoZSByZWNvbW1lbmRhdGlvbiIgZGVmaW5pdGlvbj0iVmFjY2luZShzKSB3aGljaCBzaG91bGQgbm90IGJlIHVzZWQgdG8gZnVsZmlsbCB0aGUgcmVjb21tZW5kYXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlZhY2NpbmVDb2RlIiBkZXNjcmlwdGlvbj0iVGhlIHR5cGUgb2YgdmFjY2luZSBhZG1pbmlzdGVyZWQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmb3JlY2FzdFN0YXR1cyIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVmFjY2luZSByZWNvbW1lbmRhdGlvbiBzdGF0dXMiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgcGF0aWVudCBzdGF0dXMgd2l0aCByZXNwZWN0IHRvIHRoZSBwYXRoIHRvIGltbXVuaXR5IGZvciB0aGUgdGFyZ2V0IGRpc2Vhc2UuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iSW1tdW5pemF0aW9uUmVjb21tZW5kYXRpb25TdGF0dXMiIGRlc2NyaXB0aW9uPSJUaGUgcGF0aWVudCdzIHN0YXR1cyB3aXRoIHJlc3BlY3QgdG8gYSB2YWNjaW5hdGlvbiBwcm90b2NvbC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZvcmVjYXN0UmVhc29uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVmFjY2luZSBhZG1pbmlzdHJhdGlvbiBzdGF0dXMgcmVhc29uIiBkZWZpbml0aW9uPSJUaGUgcmVhc29uIGZvciB0aGUgYXNzaWduZWQgZm9yZWNhc3Qgc3RhdHVzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJJbW11bml6YXRpb25SZWNvbW1lbmRhdGlvblJlYXNvbiIgZGVzY3JpcHRpb249IlRoZSByZWFzb24gZm9yIHRoZSBwYXRpZW50J3Mgc3RhdHVzIHdpdGggcmVzcGVjdCB0byBhIHZhY2NpbmF0aW9uIHByb3RvY29sLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0ZUNyaXRlcmlvbiIgZGVzY3JpcHRpb249IkRhdGVzIGdvdmVybmluZyBwcm9wb3NlZCBpbW11bml6YXRpb24iIGRlZmluaXRpb249IlZhY2NpbmUgZGF0ZSByZWNvbW1lbmRhdGlvbnMuICBGb3IgZXhhbXBsZSwgZWFybGllc3QgZGF0ZSB0byBhZG1pbmlzdGVyLCBsYXRlc3QgZGF0ZSB0byBhZG1pbmlzdGVyLCBldGMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JbW11bml6YXRpb25SZWNvbW1lbmRhdGlvbi5SZWNvbW1lbmRhdGlvbi5EYXRlQ3JpdGVyaW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRlc2NyaXB0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQcm90b2NvbCBkZXRhaWxzIiBkZWZpbml0aW9uPSJDb250YWlucyB0aGUgZGVzY3JpcHRpb24gYWJvdXQgdGhlIHByb3RvY29sIHVuZGVyIHdoaWNoIHRoZSB2YWNjaW5lIHdhcyBhZG1pbmlzdGVyZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic2VyaWVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOYW1lIG9mIHZhY2NpbmF0aW9uIHNlcmllcyIgZGVmaW5pdGlvbj0iT25lIHBvc3NpYmxlIHBhdGggdG8gYWNoaWV2ZSBwcmVzdW1lZCBpbW11bml0eSBhZ2FpbnN0IGEgZGlzZWFzZSAtIHdpdGhpbiB0aGUgY29udGV4dCBvZiBhbiBhdXRob3JpdHkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZG9zZU51bWJlciIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgUmVjb21tZW5kZWQgZG9zZSBudW1iZXIgd2l0aGluIHNlcmllcyIgZGVmaW5pdGlvbj0iTm9taW5hbCBwb3NpdGlvbiBvZiB0aGUgcmVjb21tZW5kZWQgZG9zZSBpbiBhIHNlcmllcyAoZS5nLiBkb3NlIDIgaXMgdGhlIG5leHQgcmVjb21tZW5kZWQgZG9zZSkuIiBjb21tZW50PSJUaGUgdXNlIG9mIGFuIGludGVnZXIgaXMgcHJlZmVyZWQgaWYga25vd24uIEEgc3RyaW5nIHNob3VsZCBvbmx5IGJlIHVzZWQgaW4gY2FzZXMgd2hlcmUgYW4gaW50ZXJnZXIgaXMgbm90IGF2YWlsYWJsZSAoc3VjaCBhcyB3aGVuIGRvY3VtZW50aW5nIGEgcmVjdXJyaW5nIGJvb3N0ZXIgZG9zZSkuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzZXJpZXNEb3NlcyIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZWNvbW1lbmRlZCBudW1iZXIgb2YgZG9zZXMgZm9yIGltbXVuaXR5IiBkZWZpbml0aW9uPSJUaGUgcmVjb21tZW5kZWQgbnVtYmVyIG9mIGRvc2VzIHRvIGFjaGlldmUgaW1tdW5pdHkuIiBjb21tZW50PSJUaGUgdXNlIG9mIGFuIGludGVnZXIgaXMgcHJlZmVyZWQgaWYga25vd24uIEEgc3RyaW5nIHNob3VsZCBvbmx5IGJlIHVzZWQgaW4gY2FzZXMgd2hlcmUgYW4gaW50ZXJnZXIgaXMgbm90IGF2YWlsYWJsZSAoc3VjaCBhcyB3aGVuIGRvY3VtZW50aW5nIGEgcmVjdXJyaW5nIGJvb3N0ZXIgZG9zZSkuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdXBwb3J0aW5nSW1tdW5pemF0aW9uIiBkZXNjcmlwdGlvbj0iUGFzdCBpbW11bml6YXRpb25zIHN1cHBvcnRpbmcgcmVjb21tZW5kYXRpb24iIGRlZmluaXRpb249IkltbXVuaXphdGlvbiBldmVudCBoaXN0b3J5IGFuZC9vciBldmFsdWF0aW9uIHRoYXQgc3VwcG9ydHMgdGhlIHN0YXR1cyBhbmQgcmVjb21tZW5kYXRpb24uIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdXBwb3J0aW5nUGF0aWVudEluZm9ybWF0aW9uIiBkZXNjcmlwdGlvbj0iUGF0aWVudCBvYnNlcnZhdGlvbnMgc3VwcG9ydGluZyByZWNvbW1lbmRhdGlvbiIgZGVmaW5pdGlvbj0iUGF0aWVudCBJbmZvcm1hdGlvbiB0aGF0IHN1cHBvcnRzIHRoZSBzdGF0dXMgYW5kIHJlY29tbWVuZGF0aW9uLiAgVGhpcyBpbmNsdWRlcyBwYXRpZW50IG9ic2VydmF0aW9ucywgYWR2ZXJzZSByZWFjdGlvbnMgYW5kIGFsbGVyZ3kvaW50b2xlcmFuY2UgaW5mb3JtYXRpb24uIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkltbXVuaXphdGlvblJlY29tbWVuZGF0aW9uLlJlY29tbWVuZGF0aW9uLkRhdGVDcml0ZXJpb24iIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlR5cGUgb2YgZGF0ZSIgZGVmaW5pdGlvbj0iRGF0ZSBjbGFzc2lmaWNhdGlvbiBvZiByZWNvbW1lbmRhdGlvbi4gIEZvciBleGFtcGxlLCBlYXJsaWVzdCBkYXRlIHRvIGdpdmUsIGxhdGVzdCBkYXRlIHRvIGdpdmUsIGV0Yy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJJbW11bml6YXRpb25SZWNvbW1lbmRhdGlvbkRhdGVDcml0ZXJpb24iIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWVzIGRhdGUgY3JpdGVyaW9uIHdpdGggcmVzcGVjdCB0byBjb252ZXlpbmcgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXRpZW50J3MgdmFjY2luYXRpb24gc3RhdHVzIChlLmcuIGR1ZSBkYXRlLCBsYXRlc3QgdG8gZ2l2ZSBkYXRlLCBldGMuKS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlJlY29tbWVuZGVkIGRhdGUiIGRlZmluaXRpb249IlRoZSBkYXRlIHdob3NlIG1lYW5pbmcgaXMgc3BlY2lmaWVkIGJ5IGRhdGVDcml0ZXJpb24uY29kZS4iLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkxhYm9yYXRvcnlSZXN1bHRPYnNlcnZhdGlvbiIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtb2JzZXJ2YXRpb24tbGFiIiBsYWJlbD0iUUlDb3JlIExhYm9yYXRvcnkgUmVzdWx0IE9ic2VydmF0aW9uIiB0YXJnZXQ9Ik9ic2VydmF0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IkZ1bGZpbGxzIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIiBkZWZpbml0aW9uPSJBIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBldmVudC4gIEZvciBleGFtcGxlLCBhIE1lZGljYXRpb25SZXF1ZXN0IG1heSByZXF1aXJlIGEgcGF0aWVudCB0byBoYXZlIGxhYm9yYXRvcnkgdGVzdCBwZXJmb3JtZWQgYmVmb3JlICBpdCBpcyBkaXNwZW5zZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iUGFydCBvZiByZWZlcmVuY2VkIGV2ZW50IiBkZWZpbml0aW9uPSJBIGxhcmdlciBldmVudCBvZiB3aGljaCB0aGlzIHBhcnRpY3VsYXIgT2JzZXJ2YXRpb24gaXMgYSBjb21wb25lbnQgb3Igc3RlcC4gIEZvciBleGFtcGxlLCAgYW4gb2JzZXJ2YXRpb24gYXMgcGFydCBvZiBhIHByb2NlZHVyZS4iIGNvbW1lbnQ9IlRvIGxpbmsgYW4gT2JzZXJ2YXRpb24gdG8gYW4gRW5jb3VudGVyIHVzZSBgZW5jb3VudGVyYC4gIFNlZSB0aGUgIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdyBmb3IgZ3VpZGFuY2Ugb24gcmVmZXJlbmNpbmcgYW5vdGhlciBPYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgcmVnaXN0ZXJlZCB8IHBybGltaW5hcnkgfCBmaW5hbCB8IGFtZW5kZWQgfCBjb3JyZWN0ZWQgfCBlbnRlcmVkLWluLWVycm9yIHwgdW5rbm93biIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzdWx0IHZhbHVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIENsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idXMtY29yZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iTm90ZSB0aGF0IG90aGVyIGNvZGVzIGFyZSBwZXJtaXR0ZWQsIHNlZSBbUmVxdWlyZWQgQmluZGluZ3MgV2hlbiBTbGljaW5nIGJ5IFZhbHVlIFNldHNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9nZW5lcmFsLXJlcXVpcmVtZW50cy5odG1sI3JlcXVpcmVkLWJpbmRpbmdzLXdoZW4tc2xpY2luZy1ieS12YWx1ZXNldHMpIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBMYWJvcmF0b3J5IFRlc3QgTmFtZSIgZGVmaW5pdGlvbj0iVGhlIG5hbWUgb2YgdGhlIGNsaW5pY2FsIHRlc3Qgb3IgcHJvY2VkdXJlIHBlcmZvcm1lZCBvbiBhIHBhdGllbnQuICBBIExPSU5DICoqU0hBTEwqKiBiZSB1c2VkIGlmIHRoZSBjb25jZXB0IGlzIHByZXNlbnQgaW4gTE9JTkMuIiBjb21tZW50PSJUaGUgdHlwaWNhbCBwYXR0ZXJucyBmb3IgY29kZXMgYXJlOiAgMSkgIGEgTE9JTkMgY29kZSBlaXRoZXIgYXMgYSB0cmFuc2xhdGlvbiBmcm9tIGEgJnF1b3Q7bG9jYWwmcXVvdDsgY29kZSBvciBhcyBhIHByaW1hcnkgY29kZSwgb3IgMikgIGEgbG9jYWwgY29kZSBvbmx5IGlmIG5vIHN1aXRhYmxlIExPSU5DIGV4aXN0cywgIG9yIDMpICBib3RoIHRoZSBsb2NhbCBhbmQgdGhlIExPSU5DIHRyYW5zbGF0aW9uLiAgIFN5c3RlbXMgU0hBTEwgYmUgY2FwYWJsZSBvZiBzZW5kaW5nIHRoZSBsb2NhbCBjb2RlIGlmIG9uZSBleGlzdHMuICBXaGVuIHVzaW5nIExPSU5DICwgVXNlIGVpdGhlciB0aGUgU0hPUlROQU1FIG9yIExPTkdfQ09NTU9OX05BTUUgZmllbGQgZm9yIHRoZSBkaXNwbGF5LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iTGFib3JhdG9yeSBMT0lOQyBDb2RlcyIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFdobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmb2N1cyIgZGVzY3JpcHRpb249IldoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0LCB3aGVuIGl0IGlzIG5vdCBhYm91dCB0aGUgc3ViamVjdCBvZiByZWNvcmQiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gd2hlbiBpdCBpcyBub3QgdGhlIHBhdGllbnQgb2YgcmVjb3JkIHJlcHJlc2VudGluZyBzb21ldGhpbmcgb3Igc29tZW9uZSBhc3NvY2lhdGVkIHdpdGggdGhlIHBhdGllbnQgc3VjaCBhcyBhIHNwb3VzZSwgcGFyZW50LCBmZXR1cywgb3IgZG9ub3IuIEZvciBleGFtcGxlLCBmZXR1cyBvYnNlcnZhdGlvbnMgaW4gYSBtb3RoZXIncyByZWNvcmQuICBUaGUgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gY291bGQgYWxzbyBiZSBhbiBleGlzdGluZyBjb25kaXRpb24sICBhbiBpbnRlcnZlbnRpb24sIHRoZSBzdWJqZWN0J3MgZGlldCwgIGFub3RoZXIgb2JzZXJ2YXRpb24gb2YgdGhlIHN1YmplY3QsICBvciBhIGJvZHkgc3RydWN0dXJlIHN1Y2ggYXMgdHVtb3Igb3IgaW1wbGFudGVkIGRldmljZS4gICBBbiBleGFtcGxlIHVzZSBjYXNlIHdvdWxkIGJlIHVzaW5nIHRoZSBPYnNlcnZhdGlvbiByZXNvdXJjZSB0byBjYXB0dXJlIHdoZXRoZXIgdGhlIG1vdGhlciBpcyB0cmFpbmVkIHRvIGNoYW5nZSBoZXIgY2hpbGQncyB0cmFjaGVvc3RvbXkgdHViZS4gSW4gdGhpcyBleGFtcGxlLCB0aGUgY2hpbGQgaXMgdGhlIHBhdGllbnQgb2YgcmVjb3JkIGFuZCB0aGUgbW90aGVyIGlzIHRoZSBmb2N1cy4iIGNvbW1lbnQ9IlR5cGljYWxseSwgYW4gb2JzZXJ2YXRpb24gaXMgbWFkZSBhYm91dCB0aGUgc3ViamVjdCAtIGEgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgLSBhbmQgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhlIHN1YmplY3QgYW5kIHdoYXQgaXMgZGlyZWN0bHkgbWVhc3VyZWQgZm9yIGFuIG9ic2VydmF0aW9uIGlzIHNwZWNpZmllZCBpbiB0aGUgb2JzZXJ2YXRpb24gY29kZSBpdHNlbGYgKCBlLmcuLCAmcXVvdDtCbG9vZCBHbHVjb3NlJnF1b3Q7KSBhbmQgZG9lcyBub3QgbmVlZCB0byBiZSByZXByZXNlbnRlZCBzZXBhcmF0ZWx5IHVzaW5nIHRoaXMgZWxlbWVudC4gIFVzZSBgc3BlY2ltZW5gIGlmIGEgcmVmZXJlbmNlIHRvIGEgc3BlY2ltZW4gaXMgcmVxdWlyZWQuICBJZiBhIGNvZGUgaXMgcmVxdWlyZWQgaW5zdGVhZCBvZiBhIHJlc291cmNlIHVzZSBlaXRoZXIgIGBib2R5c2l0ZWAgZm9yIGJvZHlzaXRlcyBvciB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtmb2N1c0NvZGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLW9ic2VydmF0aW9uLWZvY3VzY29kZS5odG1sKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgQ2xpbmljYWxseSByZWxldmFudCB0aW1lL3RpbWUtcGVyaW9kIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHRpbWUgb3IgdGltZS1wZXJpb2QgdGhlIG9ic2VydmVkIHZhbHVlIGlzIGFzc2VydGVkIGFzIGJlaW5nIHRydWUuIEZvciBiaW9sb2dpY2FsIHN1YmplY3RzIC0gZS5nLiBodW1hbiBwYXRpZW50cyAtIHRoaXMgaXMgdXN1YWxseSBjYWxsZWQgdGhlICZxdW90O3BoeXNpb2xvZ2ljYWxseSByZWxldmFudCB0aW1lJnF1b3Q7LiBUaGlzIGlzIHVzdWFsbHkgZWl0aGVyIHRoZSB0aW1lIG9mIHRoZSBwcm9jZWR1cmUgb3Igb2Ygc3BlY2ltZW4gY29sbGVjdGlvbiwgYnV0IHZlcnkgb2Z0ZW4gdGhlIHNvdXJjZSBvZiB0aGUgZGF0ZS90aW1lIGlzIG5vdCBrbm93biwgb25seSB0aGUgZGF0ZS90aW1lIGl0c2VsZi4iIGNvbW1lbnQ9IkF0IGxlYXN0IGEgZGF0ZSBzaG91bGQgYmUgcHJlc2VudCB1bmxlc3MgdGhpcyBvYnNlcnZhdGlvbiBpcyBhIGhpc3RvcmljYWwgcmVwb3J0LiAgRm9yIHJlY29yZGluZyBpbXByZWNpc2Ugb3IgJnF1b3Q7ZnV6enkmcXVvdDsgdGltZXMgKEZvciBleGFtcGxlLCBhIGJsb29kIGdsdWNvc2UgbWVhc3VyZW1lbnQgdGFrZW4gJnF1b3Q7YWZ0ZXIgYnJlYWtmYXN0JnF1b3Q7KSB1c2UgdGhlIFtUaW1pbmddKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZGF0YXR5cGVzLmh0bWwjdGltaW5nKSBkYXRhdHlwZSB3aGljaCBhbGxvdyB0aGUgbWVhc3VyZW1lbnQgdG8gYmUgdGllZCB0byByZWd1bGFyIGxpZmUgZXZlbnRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGltaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ1cy1jb3JlLTEiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iRGF0ZXRpbWUgbXVzdCBiZSBhdCBsZWFzdCB0byBkYXkuIj4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIkdGhpcyBpcyBEYXRlVGltZSBpbXBsaWVzICR0aGlzLnRvU3RyaW5nKCkubGVuZ3RoKCkgJmd0Oz0gMTAiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIERhdGUvVGltZSB0aGlzIHZlcnNpb24gd2FzIG1hZGUgYXZhaWxhYmxlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGlzIHZlcnNpb24gb2YgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIGF2YWlsYWJsZSB0byBwcm92aWRlcnMsIHR5cGljYWxseSBhZnRlciB0aGUgcmVzdWx0cyBoYXZlIGJlZW4gcmV2aWV3ZWQgYW5kIHZlcmlmaWVkLiIgY29tbWVudD0iRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvbuKAmXQgcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiwgaXQgbWF5IGJlIHRoZSBzYW1lIGFzIHRoZSBbYGxhc3RVcGRhdGVkYCBdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcmVzb3VyY2UtZGVmaW5pdGlvbnMuaHRtbCNNZXRhLmxhc3RVcGRhdGVkKSB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYuICBGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG8gcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiBmb3IgY2VydGFpbiB1cGRhdGVzLCBpdCBtaWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGBsYXN0VXBkYXRlZGAgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmIGR1ZSB0byBhIG5vbi1jbGluaWNhbGx5IHNpZ25pZmljYW50IHVwZGF0ZSB0aGF0IGRvZXNu4oCZdCByZXF1aXJlIHRoZSBuZXcgdmVyc2lvbiB0byBiZSByZXZpZXdlZCBhbmQgdmVyaWZpZWQgYWdhaW4uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IldobyB3YXMgcmVzcG9uc2libGUgZm9yIGFzc2VydGluZyB0aGUgb2JzZXJ2ZWQgdmFsdWUgYXMgJnF1b3Q7dHJ1ZSZxdW90Oy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFJlc3VsdCBWYWx1ZSIgZGVmaW5pdGlvbj0iVGhlIExhYm9yYXRvcnkgcmVzdWx0IHZhbHVlLiAgSWYgYSBjb2RlZCB2YWx1ZSwgIHRoZSB2YWx1ZUNvZGVhYmxlQ29uY2VwdC5jb2RlICoqU0hPVUxEKiogYmUgc2VsZWN0ZWQgZnJvbSBbU05PTUVEIENUXShodHRwOi8vaGw3Lm9yZy9maGlyL1ZhbHVlU2V0L3VzbGFiLW9icy1jb2RlZHJlc3VsdHMpIGlmIHRoZSBjb25jZXB0IGV4aXN0cy4gSWYgYSBudW1lcmljIHZhbHVlLCB2YWx1ZVF1YW50aXR5LmNvZGUgKipTSEFMTCoqIGJlIHNlbGVjdGVkIGZyb20gW1VDVU1dKGh0dHA6Ly91bml0c29mbWVhc3VyZS5vcmcpLiAgQSBGSElSIFtVQ1VNIENvZGVzIHZhbHVlIHNldF0oaHR0cDovL2hsNy5vcmcvZmhpci9TVFUzL3ZhbHVlc2V0LXVjdW0tdW5pdHMuaHRtbCkgdGhhdCBkZWZpbmVzIGFsbCBVQ1VNIGNvZGVzIGlzIGluIHRoZSBGSElSIHNwZWNpZmljYXRpb24uIiBjb21tZW50PSJBbiBvYnNlcnZhdGlvbiBtYXkgaGF2ZTsgMSkgIGEgc2luZ2xlIHZhbHVlIGhlcmUsIDIpICBib3RoIGEgdmFsdWUgYW5kIGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcywgIG9yIDMpICBvbmx5IGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcy4gSWYgYSB2YWx1ZSBpcyBwcmVzZW50LCB0aGUgZGF0YXR5cGUgZm9yIHRoaXMgZWxlbWVudCBzaG91bGQgYmUgZGV0ZXJtaW5lZCBieSBPYnNlcnZhdGlvbi5jb2RlLiAgQSBDb2RlYWJsZUNvbmNlcHQgd2l0aCBqdXN0IGEgdGV4dCB3b3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgYSBzdHJpbmcgaWYgdGhlIGZpZWxkIHdhcyB1c3VhbGx5IGNvZGVkLCBvciBpZiB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhlIE9ic2VydmF0aW9uLmNvZGUgZGVmaW5lcyBhIGNvZGVkIHZhbHVlLiAgRm9yIGFkZGl0aW9uYWwgZ3VpZGFuY2UsIHNlZSB0aGUgW05vdGVzIHNlY3Rpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJCb29sZWFuIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJJbnRlZ2VyIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlJhdGlvIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJUaW1lIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InVzLWNvcmUtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJTSEFMTCB1c2UgVUNVTSBmb3IgY29kZWQgcXVhbnRpdHkgdW5pdHMuIj4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ2YWx1ZS5vZlR5cGUoUXVhbnRpdHkpLnN5c3RlbS5lbXB0eSgpIG9yIHZhbHVlLm9mVHlwZShRdWFudGl0eSkuc3lzdGVtID0gJ2h0dHA6Ly91bml0c29mbWVhc3VyZS5vcmcnIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idXMtY29yZS00IiBzZXZlcml0eT0iV0FSTklORyIgbWVzc2FnZT0iU0hPVUxEIHVzZSBTbm9tZWQgQ1QgZm9yIGNvZGVkIFJlc3VsdHMiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InZhbHVlLm9mVHlwZShDb2RlYWJsZUNvbmNlcHQpLmNvZGluZy5zeXN0ZW0uZW1wdHkoKSBvciB2YWx1ZS5vZlR5cGUoQ29kZWFibGVDb25jZXB0KS5jb2Rpbmcuc3lzdGVtID0gJ2h0dHA6Ly9zbm9tZWQuaW5mby9zY3QnIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YUFic2VudFJlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBXaHkgdGhlIHJlc3VsdCBpcyBtaXNzaW5nIiBkZWZpbml0aW9uPSJQcm92aWRlcyBhIHJlYXNvbiB3aHkgdGhlIGV4cGVjdGVkIHZhbHVlIGluIHRoZSBlbGVtZW50IE9ic2VydmF0aW9uLnZhbHVlW3hdIGlzIG1pc3NpbmcuIiBjb21tZW50PSJOdWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcyBjYW4gYmUgcmVwcmVzZW50ZWQgdHdvIHdheXMgaW4gRkhJUiBPYnNlcnZhdGlvbnMuICBPbmUgd2F5IGlzIHRvIHNpbXBseSBpbmNsdWRlIHRoZW0gaW4gdGhlIHZhbHVlIHNldCBhbmQgcmVwcmVzZW50IHRoZSBleGNlcHRpb25zIGluIHRoZSB2YWx1ZS4gIEZvciBleGFtcGxlLCBtZWFzdXJlbWVudCB2YWx1ZXMgZm9yIGEgc2Vyb2xvZ3kgdGVzdCBjb3VsZCBiZSAgJnF1b3Q7ZGV0ZWN0ZWQmcXVvdDssICZxdW90O25vdCBkZXRlY3RlZCZxdW90OywgJnF1b3Q7aW5jb25jbHVzaXZlJnF1b3Q7LCBvciAgJnF1b3Q7c3BlY2ltZW4gdW5zYXRpc2ZhY3RvcnkmcXVvdDsuICAgJiMxMDsmIzEwO1RoZSBhbHRlcm5hdGUgd2F5IGlzIHRvIHVzZSB0aGUgdmFsdWUgZWxlbWVudCBmb3IgYWN0dWFsIG9ic2VydmF0aW9ucyBhbmQgdXNlIHRoZSBleHBsaWNpdCBkYXRhQWJzZW50UmVhc29uIGVsZW1lbnQgdG8gcmVjb3JkIGV4Y2VwdGlvbmFsIHZhbHVlcy4gIEZvciBleGFtcGxlLCB0aGUgZGF0YUFic2VudFJlYXNvbiBjb2RlICZxdW90O2Vycm9yJnF1b3Q7IGNvdWxkIGJlIHVzZWQgd2hlbiB0aGUgbWVhc3VyZW1lbnQgd2FzIG5vdCBjb21wbGV0ZWQuIE5vdGUgdGhhdCBhbiBvYnNlcnZhdGlvbiBtYXkgb25seSBiZSByZXBvcnRlZCBpZiB0aGVyZSBhcmUgdmFsdWVzIHRvIHJlcG9ydC4gRm9yIGV4YW1wbGUgZGlmZmVyZW50aWFsIGNlbGwgY291bnRzIHZhbHVlcyBtYXkgYmUgcmVwb3J0ZWQgb25seSB3aGVuICZndDsgMC4gIEJlY2F1c2Ugb2YgdGhlc2Ugb3B0aW9ucywgdXNlLWNhc2UgYWdyZWVtZW50cyBhcmUgcmVxdWlyZWQgdG8gaW50ZXJwcmV0IGdlbmVyYWwgb2JzZXJ2YXRpb25zIGZvciBudWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25WYWx1ZUFic2VudFJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIHNwZWNpZnlpbmcgd2h5IHRoZSByZXN1bHQgKGBPYnNlcnZhdGlvbi52YWx1ZVt4XWApIGlzIG1pc3NpbmcuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlcnByZXRhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBIaWdoLCBsb3csIG5vcm1hbCwgZXRjLiIgZGVmaW5pdGlvbj0iQSBjYXRlZ29yaWNhbCBhc3Nlc3NtZW50IG9mIGFuIG9ic2VydmF0aW9uIHZhbHVlLiAgRm9yIGV4YW1wbGUsIGhpZ2gsIGxvdywgbm9ybWFsLiIgY29tbWVudD0iSGlzdG9yaWNhbGx5IHVzZWQgZm9yIGxhYm9yYXRvcnkgcmVzdWx0cyAoa25vd24gYXMgJ2Fibm9ybWFsIGZsYWcnICksICBpdHMgdXNlIGV4dGVuZHMgdG8gb3RoZXIgdXNlIGNhc2VzIHdoZXJlIGNvZGVkIGludGVycHJldGF0aW9ucyAgYXJlIHJlbGV2YW50LiAgT2Z0ZW4gcmVwb3J0ZWQgYXMgb25lIG9yIG1vcmUgc2ltcGxlIGNvbXBhY3QgY29kZXMgdGhpcyBlbGVtZW50IGlzIG9mdGVuIHBsYWNlZCBhZGphY2VudCB0byB0aGUgcmVzdWx0IHZhbHVlIGluIHJlcG9ydHMgYW5kIGZsb3cgc2hlZXRzIHRvIHNpZ25hbCB0aGUgbWVhbmluZy9ub3JtYWxjeSBzdGF0dXMgb2YgdGhlIHJlc3VsdC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25JbnRlcnByZXRhdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIGludGVycHJldGF0aW9ucyBvZiBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24gb3IgdGhlIHJlc3VsdHMuIiBjb21tZW50PSJNYXkgaW5jbHVkZSBnZW5lcmFsIHN0YXRlbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uLCBvciBzdGF0ZW1lbnRzIGFib3V0IHNpZ25pZmljYW50LCB1bmV4cGVjdGVkIG9yIHVucmVsaWFibGUgcmVzdWx0cyB2YWx1ZXMsIG9yIGluZm9ybWF0aW9uIGFib3V0IGl0cyBzb3VyY2Ugd2hlbiByZWxldmFudCB0byBpdHMgaW50ZXJwcmV0YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPYnNlcnZlZCBib2R5IHBhcnQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc2l0ZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgd2hlcmUgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIChpLmUuIHRoZSB0YXJnZXQgc2l0ZSkuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gT2JzZXJ2YXRpb24uY29kZS4gIEluIG1hbnkgc3lzdGVtcywgdGhpcyBtYXkgYmUgcmVwcmVzZW50ZWQgYXMgYSByZWxhdGVkIG9ic2VydmF0aW9uIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvbXBvbmVudC4gICAmIzEwOyYjMTA7SWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvblsgYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IGl0IHdhcyBkb25lIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIG1lY2hhbmlzbSB1c2VkIHRvIHBlcmZvcm0gdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvciBPYnNlcnZhdGlvbi5jb2RlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uTWV0aG9kIiBkZXNjcmlwdGlvbj0iTWV0aG9kcyBmb3Igc2ltcGxlIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpbWVuIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihVU0NESSkgU3BlY2ltZW4gdXNlZCBmb3IgdGhpcyBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHNwZWNpbWVuIHRoYXQgd2FzIHVzZWQgd2hlbiB0aGlzIG9ic2VydmF0aW9uIHdhcyBtYWRlLiIgY29tbWVudD0iU2hvdWxkIG9ubHkgYmUgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBgT2JzZXJ2YXRpb24uY29kZWAuICBPYnNlcnZhdGlvbnMgYXJlIG5vdCBtYWRlIG9uIHNwZWNpbWVucyB0aGVtc2VsdmVzOyB0aGV5IGFyZSBtYWRlIG9uIGEgc3ViamVjdCwgYnV0IGluIG1hbnkgY2FzZXMgYnkgdGhlIG1lYW5zIG9mIGEgc3BlY2ltZW4uIE5vdGUgdGhhdCBhbHRob3VnaCBzcGVjaW1lbnMgYXJlIG9mdGVuIGludm9sdmVkLCB0aGV5IGFyZSBub3QgYWx3YXlzIHRyYWNrZWQgYW5kIHJlcG9ydGVkIGV4cGxpY2l0bHkuIEFsc28gbm90ZSB0aGF0IG9ic2VydmF0aW9uIHJlc291cmNlcyBtYXkgYmUgdXNlZCBpbiBjb250ZXh0cyB0aGF0IHRyYWNrIHRoZSBzcGVjaW1lbiBleHBsaWNpdGx5IChlLmcuIERpYWdub3N0aWMgUmVwb3J0KS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihNZWFzdXJlbWVudCkgRGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIG9ic2VydmF0aW9uIGRhdGEuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBpcyBub3QgbWVhbnQgdG8gcmVwcmVzZW50IGEgZGV2aWNlIGludm9sdmVkIGluIHRoZSB0cmFuc21pc3Npb24gb2YgdGhlIHJlc3VsdCwgZS5nLiwgYSBnYXRld2F5LiAgU3VjaCBkZXZpY2VzIG1heSBiZSBkb2N1bWVudGVkIHVzaW5nIHRoZSBQcm92ZW5hbmNlIHJlc291cmNlIHdoZXJlIHJlbGV2YW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIiBkZWZpbml0aW9uPSJHdWlkYW5jZSBvbiBob3cgdG8gaW50ZXJwcmV0IHRoZSB2YWx1ZSBieSBjb21wYXJpc29uIHRvIGEgbm9ybWFsIG9yIHJlY29tbWVuZGVkIHJhbmdlLiAgTXVsdGlwbGUgcmVmZXJlbmNlIHJhbmdlcyBhcmUgaW50ZXJwcmV0ZWQgYXMgYW4gJnF1b3Q7T1ImcXVvdDsuICAgSW4gb3RoZXIgd29yZHMsIHRvIHJlcHJlc2VudCB0d28gZGlzdGluY3QgdGFyZ2V0IHBvcHVsYXRpb25zLCB0d28gYHJlZmVyZW5jZVJhbmdlYCBlbGVtZW50cyB3b3VsZCBiZSB1c2VkLiIgY29tbWVudD0iTW9zdCBvYnNlcnZhdGlvbnMgb25seSBoYXZlIG9uZSBnZW5lcmljIHJlZmVyZW5jZSByYW5nZS4gU3lzdGVtcyBNQVkgY2hvb3NlIHRvIHJlc3RyaWN0IHRvIG9ubHkgc3VwcGx5aW5nIHRoZSByZWxldmFudCByZWZlcmVuY2UgcmFuZ2UgYmFzZWQgb24ga25vd2xlZGdlIGFib3V0IHRoZSBwYXRpZW50IChlLmcuLCBzcGVjaWZpYyB0byB0aGUgcGF0aWVudCdzIGFnZSwgZ2VuZGVyLCB3ZWlnaHQgYW5kIG90aGVyIGZhY3RvcnMpLCBidXQgdGhpcyBtaWdodCBub3QgYmUgcG9zc2libGUgb3IgYXBwcm9wcmlhdGUuIFdoZW5ldmVyIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIHJhbmdlIGlzIHN1cHBsaWVkLCB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGVtIFNIT1VMRCBiZSBwcm92aWRlZCBpbiB0aGUgcmVmZXJlbmNlIHJhbmdlIGFuZC9vciBhZ2UgcHJvcGVydGllcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIi8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Im9icy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik11c3QgaGF2ZSBhdCBsZWFzdCBhIGxvdyBvciBhIGhpZ2ggb3IgdGV4dCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0ibG93LmV4aXN0cygpIG9yIGhpZ2guZXhpc3RzKCkgb3IgdGV4dC5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imhhc01lbWJlciIgZGVzY3JpcHRpb249IlJlbGF0ZWQgcmVzb3VyY2UgdGhhdCBiZWxvbmdzIHRvIHRoZSBPYnNlcnZhdGlvbiBncm91cCIgZGVmaW5pdGlvbj0iVGhpcyBvYnNlcnZhdGlvbiBpcyBhIGdyb3VwIG9ic2VydmF0aW9uIChlLmcuIGEgYmF0dGVyeSwgYSBwYW5lbCBvZiB0ZXN0cywgYSBzZXQgb2Ygdml0YWwgc2lnbiBtZWFzdXJlbWVudHMpIHRoYXQgaW5jbHVkZXMgdGhlIHRhcmdldCBhcyBhIG1lbWJlciBvZiB0aGUgZ3JvdXAuIiBjb21tZW50PSJXaGVuIHVzaW5nIHRoaXMgZWxlbWVudCwgYW4gb2JzZXJ2YXRpb24gd2lsbCB0eXBpY2FsbHkgaGF2ZSBlaXRoZXIgYSB2YWx1ZSBvciBhIHNldCBvZiByZWxhdGVkIHJlc291cmNlcywgYWx0aG91Z2ggYm90aCBtYXkgYmUgcHJlc2VudCBpbiBzb21lIGNhc2VzLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuICBOb3RlIHRoYXQgYSBzeXN0ZW0gbWF5IGNhbGN1bGF0ZSByZXN1bHRzIGZyb20gW1F1ZXN0aW9ubmFpcmVSZXNwb25zZV0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9xdWVzdGlvbm5haXJlcmVzcG9uc2UuaHRtbCkgIGludG8gYSBmaW5hbCBzY29yZSBhbmQgcmVwcmVzZW50IHRoZSBzY29yZSBhcyBhbiBPYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXJpdmVkRnJvbSIgZGVzY3JpcHRpb249IlJlbGF0ZWQgbWVhc3VyZW1lbnRzIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGZyb20iIGRlZmluaXRpb249IlRoZSB0YXJnZXQgcmVzb3VyY2UgdGhhdCByZXByZXNlbnRzIGEgbWVhc3VyZW1lbnQgZnJvbSB3aGljaCB0aGlzIG9ic2VydmF0aW9uIHZhbHVlIGlzIGRlcml2ZWQuIEZvciBleGFtcGxlLCBhIGNhbGN1bGF0ZWQgYW5pb24gZ2FwIG9yIGEgZmV0YWwgbWVhc3VyZW1lbnQgYmFzZWQgb24gYW4gdWx0cmFzb3VuZCBpbWFnZS4iIGNvbW1lbnQ9IkFsbCB0aGUgcmVmZXJlbmNlIGNob2ljZXMgdGhhdCBhcmUgbGlzdGVkIGluIHRoaXMgZWxlbWVudCBjYW4gcmVwcmVzZW50IGNsaW5pY2FsIG9ic2VydmF0aW9ucyBhbmQgb3RoZXIgbWVhc3VyZW1lbnRzIHRoYXQgbWF5IGJlIHRoZSBzb3VyY2UgZm9yIGEgZGVyaXZlZCB2YWx1ZS4gIFRoZSBtb3N0IGNvbW1vbiByZWZlcmVuY2Ugd2lsbCBiZSBhbm90aGVyIE9ic2VydmF0aW9uLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iQ29tcG9uZW50IHJlc3VsdHMiIGRlZmluaXRpb249IlNvbWUgb2JzZXJ2YXRpb25zIGhhdmUgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucy4gIFRoZXNlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgYXJlIGV4cHJlc3NlZCBhcyBzZXBhcmF0ZSBjb2RlIHZhbHVlIHBhaXJzIHRoYXQgc2hhcmUgdGhlIHNhbWUgYXR0cmlidXRlcy4gIEV4YW1wbGVzIGluY2x1ZGUgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGZvciBibG9vZCBwcmVzc3VyZSBtZWFzdXJlbWVudCBhbmQgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucyBmb3IgZ2VuZXRpY3Mgb2JzZXJ2YXRpb25zLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkxpbmtUeXBlIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkxvY2F0aW9uIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1sb2NhdGlvbiIgbGFiZWw9IlFJQ29yZSBMb2NhdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0idHlwZSIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IlVuaXF1ZSBjb2RlIG9yIG51bWJlciBpZGVudGlmeWluZyB0aGUgbG9jYXRpb24gdG8gaXRzIHVzZXJzIiBkZWZpbml0aW9uPSJVbmlxdWUgY29kZSBvciBudW1iZXIgaWRlbnRpZnlpbmcgdGhlIGxvY2F0aW9uIHRvIGl0cyB1c2Vycy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLkxvY2F0aW9uU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImFjdGl2ZSB8IHN1c3BlbmRlZCB8IGluYWN0aXZlIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIHByb3BlcnR5IGNvdmVycyB0aGUgZ2VuZXJhbCBhdmFpbGFiaWxpdHkgb2YgdGhlIHJlc291cmNlLCBub3QgdGhlIGN1cnJlbnQgdmFsdWUgd2hpY2ggbWF5IGJlIGNvdmVyZWQgYnkgdGhlIG9wZXJhdGlvblN0YXR1cywgb3IgYnkgYSBzY2hlZHVsZS9zbG90cyBpZiB0aGV5IGFyZSBjb25maWd1cmVkIGZvciB0aGUgbG9jYXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkxvY2F0aW9uU3RhdHVzIiBkZXNjcmlwdGlvbj0iSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGxvY2F0aW9uIGlzIHN0aWxsIGluIHVzZS4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJvcGVyYXRpb25hbFN0YXR1cyIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29kZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGhlIG9wZXJhdGlvbmFsIHN0YXR1cyBvZiB0aGUgbG9jYXRpb24gKHR5cGljYWxseSBvbmx5IGZvciBhIGJlZC9yb29tKSIgZGVmaW5pdGlvbj0iVGhlIG9wZXJhdGlvbmFsIHN0YXR1cyBjb3ZlcnMgb3BlcmF0aW9uIHZhbHVlcyBtb3N0IHJlbGV2YW50IHRvIGJlZHMgKGJ1dCBjYW4gYWxzbyBhcHBseSB0byByb29tcy91bml0cy9jaGFpcnMvZXRjLiBzdWNoIGFzIGFuIGlzb2xhdGlvbiB1bml0L2RpYWx5c2lzIGNoYWlyKS4gVGhpcyB0eXBpY2FsbHkgY292ZXJzIGNvbmNlcHRzIHN1Y2ggYXMgY29udGFtaW5hdGlvbiwgaG91c2VrZWVwaW5nLCBhbmQgb3RoZXIgYWN0aXZpdGllcyBsaWtlIG1haW50ZW5hbmNlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9wZXJhdGlvbmFsU3RhdHVzIiBkZXNjcmlwdGlvbj0iVGhlIG9wZXJhdGlvbmFsIHN0YXR1cyBpZiB0aGUgbG9jYXRpb24gKHdoZXJlIHR5cGljYWxseSBhIGJlZC9yb29tKS4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibmFtZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTmFtZSBvZiB0aGUgbG9jYXRpb24gYXMgdXNlZCBieSBodW1hbnMiIGRlZmluaXRpb249Ik5hbWUgb2YgdGhlIGxvY2F0aW9uIGFzIHVzZWQgYnkgaHVtYW5zLiBEb2VzIG5vdCBuZWVkIHRvIGJlIHVuaXF1ZS4iIGNvbW1lbnQ9IklmIHRoZSBuYW1lIG9mIGEgbG9jYXRpb24gY2hhbmdlcywgY29uc2lkZXIgcHV0dGluZyB0aGUgb2xkIG5hbWUgaW4gdGhlIGFsaWFzIGNvbHVtbiBzbyB0aGF0IGl0IGNhbiBzdGlsbCBiZSBsb2NhdGVkIHRocm91Z2ggc2VhcmNoZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImFsaWFzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkEgbGlzdCBvZiBhbHRlcm5hdGUgbmFtZXMgdGhhdCB0aGUgbG9jYXRpb24gaXMga25vd24gYXMsIG9yIHdhcyBrbm93biBhcywgaW4gdGhlIHBhc3QiIGRlZmluaXRpb249IkEgbGlzdCBvZiBhbHRlcm5hdGUgbmFtZXMgdGhhdCB0aGUgbG9jYXRpb24gaXMga25vd24gYXMsIG9yIHdhcyBrbm93biBhcywgaW4gdGhlIHBhc3QuIiBjb21tZW50PSJUaGVyZSBhcmUgbm8gZGF0ZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBhbGlhcy9oaXN0b3JpYyBuYW1lcywgYXMgdGhpcyBpcyBub3QgaW50ZW5kZWQgdG8gdHJhY2sgd2hlbiBuYW1lcyB3ZXJlIHVzZWQsIGJ1dCB0byBhc3Npc3QgaW4gc2VhcmNoaW5nIHNvIHRoYXQgb2xkZXIgbmFtZXMgY2FuIHN0aWxsIHJlc3VsdCBpbiBpZGVudGlmeWluZyB0aGUgbG9jYXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGVzY3JpcHRpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkFkZGl0aW9uYWwgZGV0YWlscyBhYm91dCB0aGUgbG9jYXRpb24gdGhhdCBjb3VsZCBiZSBkaXNwbGF5ZWQgYXMgZnVydGhlciBpbmZvcm1hdGlvbiB0byBpZGVudGlmeSB0aGUgbG9jYXRpb24gYmV5b25kIGl0cyBuYW1lIiBkZWZpbml0aW9uPSJEZXNjcmlwdGlvbiBvZiB0aGUgTG9jYXRpb24sIHdoaWNoIGhlbHBzIGluIGZpbmRpbmcgb3IgcmVmZXJlbmNpbmcgdGhlIHBsYWNlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1vZGUiIGVsZW1lbnRUeXBlPSJRSUNvcmUuTG9jYXRpb25Nb2RlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Imluc3RhbmNlIHwga2luZCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdoZXRoZXIgYSByZXNvdXJjZSBpbnN0YW5jZSByZXByZXNlbnRzIGEgc3BlY2lmaWMgbG9jYXRpb24gb3IgYSBjbGFzcyBvZiBsb2NhdGlvbnMuIiBjb21tZW50PSJUaGlzIGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHdoZXRoZXIgb3Igbm90IHRoZSBsb2NhdGlvbiBpcyBhIGNsYXNzIG9mIGxvY2F0aW9ucyBjaGFuZ2VzIGhvdyBpdCBjYW4gYmUgdXNlZCBhbmQgdW5kZXJzdG9vZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJMb2NhdGlvbk1vZGUiIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgd2hldGhlciBhIHJlc291cmNlIGluc3RhbmNlIHJlcHJlc2VudHMgYSBzcGVjaWZpYyBsb2NhdGlvbiBvciBhIGNsYXNzIG9mIGxvY2F0aW9ucy4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVHlwZSBvZiBmdW5jdGlvbiBwZXJmb3JtZWQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgdHlwZSBvZiBmdW5jdGlvbiBwZXJmb3JtZWQgYXQgdGhlIGxvY2F0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJMb2NhdGlvblR5cGUiIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgdGhlIHR5cGUgb2YgZnVuY3Rpb24gcGVyZm9ybWVkIGF0IHRoZSBsb2NhdGlvbi4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InRlbGVjb20iIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgQ29udGFjdCBkZXRhaWxzIG9mIHRoZSBsb2NhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIGNvbnRhY3QgZGV0YWlscyBvZiBjb21tdW5pY2F0aW9uIGRldmljZXMgYXZhaWxhYmxlIGF0IHRoZSBsb2NhdGlvbi4gVGhpcyBjYW4gaW5jbHVkZSBwaG9uZSBudW1iZXJzLCBmYXggbnVtYmVycywgbW9iaWxlIG51bWJlcnMsIGVtYWlsIGFkZHJlc3NlcyBhbmQgd2ViIHNpdGVzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbnRhY3RQb2ludCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhZGRyZXNzIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFkZHJlc3MiIGRlc2NyaXB0aW9uPSJQaHlzaWNhbCBsb2NhdGlvbiIgZGVmaW5pdGlvbj0iUGh5c2ljYWwgbG9jYXRpb24uIiBjb21tZW50PSJBZGRpdGlvbmFsIGFkZHJlc3NlcyBzaG91bGQgYmUgcmVjb3JkZWQgdXNpbmcgYW5vdGhlciBpbnN0YW5jZSBvZiB0aGUgTG9jYXRpb24gcmVzb3VyY2UsIG9yIHZpYSB0aGUgT3JnYW5pemF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwaHlzaWNhbFR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlBoeXNpY2FsIGZvcm0gb2YgdGhlIGxvY2F0aW9uIiBkZWZpbml0aW9uPSJQaHlzaWNhbCBmb3JtIG9mIHRoZSBsb2NhdGlvbiwgZS5nLiBidWlsZGluZywgcm9vbSwgdmVoaWNsZSwgcm9hZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJQaHlzaWNhbFR5cGUiIGRlc2NyaXB0aW9uPSJQaHlzaWNhbCBmb3JtIG9mIHRoZSBsb2NhdGlvbi4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBvc2l0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLkxvY2F0aW9uLlBvc2l0aW9uIiBkZXNjcmlwdGlvbj0iVGhlIGFic29sdXRlIGdlb2dyYXBoaWMgbG9jYXRpb24iIGRlZmluaXRpb249IlRoZSBhYnNvbHV0ZSBnZW9ncmFwaGljIGxvY2F0aW9uIG9mIHRoZSBMb2NhdGlvbiwgZXhwcmVzc2VkIHVzaW5nIHRoZSBXR1M4NCBkYXR1bSAoVGhpcyBpcyB0aGUgc2FtZSBjby1vcmRpbmF0ZSBzeXN0ZW0gdXNlZCBpbiBLTUwpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1hbmFnaW5nT3JnYW5pemF0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBPcmdhbml6YXRpb24gcmVzcG9uc2libGUgZm9yIHByb3Zpc2lvbmluZyBhbmQgdXBrZWVwIiBkZWZpbml0aW9uPSJUaGUgb3JnYW5pemF0aW9uIHJlc3BvbnNpYmxlIGZvciB0aGUgcHJvdmlzaW9uaW5nIGFuZCB1cGtlZXAgb2YgdGhlIGxvY2F0aW9uLiIgY29tbWVudD0iVGhpcyBjYW4gYWxzbyBiZSB1c2VkIGFzIHRoZSBwYXJ0IG9mIHRoZSBvcmdhbml6YXRpb24gaGllcmFyY2h5IHdoZXJlIHRoaXMgbG9jYXRpb24gcHJvdmlkZXMgc2VydmljZXMuIFRoZXNlIHNlcnZpY2VzIGNhbiBiZSBkZWZpbmVkIHRocm91Z2ggdGhlIEhlYWx0aGNhcmVTZXJ2aWNlIHJlc291cmNlLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iQW5vdGhlciBMb2NhdGlvbiB0aGlzIG9uZSBpcyBwaHlzaWNhbGx5IGEgcGFydCBvZiIgZGVmaW5pdGlvbj0iQW5vdGhlciBMb2NhdGlvbiBvZiB3aGljaCB0aGlzIExvY2F0aW9uIGlzIHBoeXNpY2FsbHkgYSBwYXJ0IG9mLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaG91cnNPZk9wZXJhdGlvbiIgZGVzY3JpcHRpb249IldoYXQgZGF5cy90aW1lcyBkdXJpbmcgYSB3ZWVrIGlzIHRoaXMgbG9jYXRpb24gdXN1YWxseSBvcGVuIiBkZWZpbml0aW9uPSJXaGF0IGRheXMvdGltZXMgZHVyaW5nIGEgd2VlayBpcyB0aGlzIGxvY2F0aW9uIHVzdWFsbHkgb3Blbi4iIGNvbW1lbnQ9IlRoaXMgdHlwZSBvZiBpbmZvcm1hdGlvbiBpcyBjb21tb25seSBmb3VuZCBwdWJsaXNoZWQgaW4gZGlyZWN0b3JpZXMgYW5kIG9uIHdlYnNpdGVzIGluZm9ybWluZyBjdXN0b21lcnMgd2hlbiB0aGUgZmFjaWxpdHkgaXMgYXZhaWxhYmxlLiYjMTA7JiMxMDtTcGVjaWZpYyBzZXJ2aWNlcyB3aXRoaW4gdGhlIGxvY2F0aW9uIG1heSBoYXZlIHRoZWlyIG93biBob3VycyB3aGljaCBjb3VsZCBiZSBzaG9ydGVyIChvciBsb25nZXIpIHRoYW4gdGhlIGxvY2F0aW9ucyBob3Vycy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkxvY2F0aW9uLkhvdXJzT2ZPcGVyYXRpb24iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYXZhaWxhYmlsaXR5RXhjZXB0aW9ucyIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGVzY3JpcHRpb24gb2YgYXZhaWxhYmlsaXR5IGV4Y2VwdGlvbnMiIGRlZmluaXRpb249IkEgZGVzY3JpcHRpb24gb2Ygd2hlbiB0aGUgbG9jYXRpb25zIG9wZW5pbmcgb3VycyBhcmUgZGlmZmVyZW50IHRvIG5vcm1hbCwgZS5nLiBwdWJsaWMgaG9saWRheSBhdmFpbGFiaWxpdHkuIFN1Y2NpbmN0bHkgZGVzY3JpYmluZyBhbGwgcG9zc2libGUgZXhjZXB0aW9ucyB0byBub3JtYWwgc2l0ZSBhdmFpbGFiaWxpdHkgYXMgZGV0YWlsZWQgaW4gdGhlIG9wZW5pbmcgaG91cnMgVGltZXMuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW5kcG9pbnQiIGRlc2NyaXB0aW9uPSJUZWNobmljYWwgZW5kcG9pbnRzIHByb3ZpZGluZyBhY2Nlc3MgdG8gc2VydmljZXMgb3BlcmF0ZWQgZm9yIHRoZSBsb2NhdGlvbiIgZGVmaW5pdGlvbj0iVGVjaG5pY2FsIGVuZHBvaW50cyBwcm92aWRpbmcgYWNjZXNzIHRvIHNlcnZpY2VzIG9wZXJhdGVkIGZvciB0aGUgbG9jYXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJMb2NhdGlvbi5Ib3Vyc09mT3BlcmF0aW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkYXlzT2ZXZWVrIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Im1vbiB8IHR1ZSB8IHdlZCB8IHRodSB8IGZyaSB8IHNhdCB8IHN1biIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdoaWNoIGRheXMgb2YgdGhlIHdlZWsgYXJlIGF2YWlsYWJsZSBiZXR3ZWVuIHRoZSBzdGFydCBhbmQgZW5kIFRpbWVzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRGF5c09mV2VlayIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJEYXlzT2ZXZWVrIiBkZXNjcmlwdGlvbj0iVGhlIGRheXMgb2YgdGhlIHdlZWsuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWxsRGF5IiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGhlIExvY2F0aW9uIGlzIG9wZW4gYWxsIGRheSIgZGVmaW5pdGlvbj0iVGhlIExvY2F0aW9uIGlzIG9wZW4gYWxsIGRheS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJvcGVuaW5nVGltZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5UaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRpbWUgdGhhdCB0aGUgTG9jYXRpb24gb3BlbnMiIGRlZmluaXRpb249IlRpbWUgdGhhdCB0aGUgTG9jYXRpb24gb3BlbnMuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2xvc2luZ1RpbWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaW1lIHRoYXQgdGhlIExvY2F0aW9uIGNsb3NlcyIgZGVmaW5pdGlvbj0iVGltZSB0aGF0IHRoZSBMb2NhdGlvbiBjbG9zZXMuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJMb2NhdGlvbi5Qb3NpdGlvbiIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibG9uZ2l0dWRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRlY2ltYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTG9uZ2l0dWRlIHdpdGggV0dTODQgZGF0dW0iIGRlZmluaXRpb249IkxvbmdpdHVkZS4gVGhlIHZhbHVlIGRvbWFpbiBhbmQgdGhlIGludGVycHJldGF0aW9uIGFyZSB0aGUgc2FtZSBhcyBmb3IgdGhlIHRleHQgb2YgdGhlIGxvbmdpdHVkZSBlbGVtZW50IGluIEtNTCAoc2VlIG5vdGVzIGJlbG93KS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsYXRpdHVkZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkxhdGl0dWRlIHdpdGggV0dTODQgZGF0dW0iIGRlZmluaXRpb249IkxhdGl0dWRlLiBUaGUgdmFsdWUgZG9tYWluIGFuZCB0aGUgaW50ZXJwcmV0YXRpb24gYXJlIHRoZSBzYW1lIGFzIGZvciB0aGUgdGV4dCBvZiB0aGUgbGF0aXR1ZGUgZWxlbWVudCBpbiBLTUwgKHNlZSBub3RlcyBiZWxvdykuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWx0aXR1ZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBbHRpdHVkZSB3aXRoIFdHUzg0IGRhdHVtIiBkZWZpbml0aW9uPSJBbHRpdHVkZS4gVGhlIHZhbHVlIGRvbWFpbiBhbmQgdGhlIGludGVycHJldGF0aW9uIGFyZSB0aGUgc2FtZSBhcyBmb3IgdGhlIHRleHQgb2YgdGhlIGFsdGl0dWRlIGVsZW1lbnQgaW4gS01MIChzZWUgbm90ZXMgYmVsb3cpLiIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTG9jYXRpb25Nb2RlIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkxvY2F0aW9uU3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik1lZGljYXRpb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW1lZGljYXRpb24iIGxhYmVsPSJRSUNvcmUgTWVkaWNhdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY29kZSIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkJ1c2luZXNzIGlkZW50aWZpZXIgZm9yIHRoaXMgbWVkaWNhdGlvbiIgZGVmaW5pdGlvbj0iQnVzaW5lc3MgaWRlbnRpZmllciBmb3IgdGhpcyBtZWRpY2F0aW9uLiIgY29tbWVudD0iVGhlIHNlcmlhbCBudW1iZXIgY291bGQgYmUgaW5jbHVkZWQgYXMgYW4gaWRlbnRpZmllci4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBDb2RlcyB0aGF0IGlkZW50aWZ5IHRoaXMgbWVkaWNhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIChvciBzZXQgb2YgY29kZXMpIHRoYXQgc3BlY2lmeSB0aGlzIG1lZGljYXRpb24sIG9yIGEgdGV4dHVhbCBkZXNjcmlwdGlvbiBpZiBubyBjb2RlIGlzIGF2YWlsYWJsZS4gVXNhZ2Ugbm90ZTogVGhpcyBjb3VsZCBiZSBhIHN0YW5kYXJkIG1lZGljYXRpb24gY29kZSBzdWNoIGFzIGEgY29kZSBmcm9tIFJ4Tm9ybSwgU05PTUVEIENULCBJRE1QIGV0Yy4gSXQgY291bGQgYWxzbyBiZSBhIG5hdGlvbmFsIG9yIGxvY2FsIGZvcm11bGFyeSBjb2RlLCBvcHRpb25hbGx5IHdpdGggdHJhbnNsYXRpb25zIHRvIG90aGVyIGNvZGUgc3lzdGVtcy4iIGNvbW1lbnQ9IkRlcGVuZGluZyBvbiB0aGUgY29udGV4dCBvZiB1c2UsIHRoZSBjb2RlIHRoYXQgd2FzIGFjdHVhbGx5IHNlbGVjdGVkIGJ5IHRoZSB1c2VyIChwcmVzY3JpYmVyLCBkaXNwZW5zZXIsIGV0Yy4pIHdpbGwgaGF2ZSB0aGUgY29kaW5nLnVzZXJTZWxlY3RlZCBzZXQgdG8gdHJ1ZS4gIEFzIGRlc2NyaWJlZCBpbiB0aGUgY29kaW5nIGRhdGF0eXBlOiAmcXVvdDtBIGNvZGluZyBtYXkgYmUgbWFya2VkIGFzIGEgJnF1b3Q7dXNlclNlbGVjdGVkJnF1b3Q7IGlmIGEgdXNlciBzZWxlY3RlZCB0aGUgcGFydGljdWxhciBjb2RlZCB2YWx1ZSBpbiBhIHVzZXIgaW50ZXJmYWNlIChlLmcuIHRoZSB1c2VyIHNlbGVjdHMgYW4gaXRlbSBpbiBhIHBpY2stbGlzdCkuIElmIGEgdXNlciBzZWxlY3RlZCBjb2RpbmcgZXhpc3RzLCBpdCBpcyB0aGUgcHJlZmVycmVkIGNob2ljZSBmb3IgcGVyZm9ybWluZyB0cmFuc2xhdGlvbnMgZXRjLiBPdGhlciBjb2RlcyBjYW4gb25seSBiZSBsaXRlcmFsIHRyYW5zbGF0aW9ucyB0byBhbHRlcm5hdGl2ZSBjb2RlIHN5c3RlbXMsIG9yIGNvZGVzIGF0IGEgbG93ZXIgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgKGUuZy4gYSBnZW5lcmljIGNvZGUgZm9yIGEgdmVuZG9yLXNwZWNpZmljIHByaW1hcnkgb25lKS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLk1lZGljYXRpb25TdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iYWN0aXZlIHwgaW5hY3RpdmUgfCBlbnRlcmVkLWluLWVycm9yIiBkZWZpbml0aW9uPSJBIGNvZGUgdG8gaW5kaWNhdGUgaWYgdGhlIG1lZGljYXRpb24gaXMgaW4gYWN0aXZlIHVzZS4iIGNvbW1lbnQ9IlRoaXMgc3RhdHVzIGlzIGludGVuZGVkIHRvIGlkZW50aWZ5IGlmIHRoZSBtZWRpY2F0aW9uIGluIGEgbG9jYWwgc3lzdGVtIGlzIGluIGFjdGl2ZSB1c2Ugd2l0aGluIGEgZHJ1ZyBkYXRhYmFzZSBvciBpbnZlbnRvcnkuICBGb3IgZXhhbXBsZSwgYSBwaGFybWFjeSBzeXN0ZW0gbWF5IGNyZWF0ZSBhIG5ldyBkcnVnIGZpbGUgcmVjb3JkIGZvciBhIGNvbXBvdW5kZWQgcHJvZHVjdCAmcXVvdDtBQkMgSG9zcGl0YWwgU3BlY2lhbCBDcmVhbSZxdW90OyB3aXRoIGFuIGFjdGl2ZSBzdGF0dXMuICBBdCBzb21lIHBvaW50IGluIHRoZSBmdXR1cmUsIGl0IG1heSBiZSBkZXRlcm1pbmVkIHRoYXQgdGhlIGRydWcgcmVjb3JkIHdhcyBjcmVhdGVkIHdpdGggYW4gZXJyb3IgYW5kIHRoZSBzdGF0dXMgaXMgY2hhbmdlZCB0byAmcXVvdDtlbnRlcmVkIGluIGVycm9yJnF1b3Q7LiAgIFRoaXMgc3RhdHVzIGlzIG5vdCBpbnRlbmRlZCB0byBzcGVjaWZ5IGlmIGEgbWVkaWNhdGlvbiBpcyBwYXJ0IG9mIGEgcGFydGljdWxhciBmb3JtdWxhcnkuICBJdCBpcyBwb3NzaWJsZSB0aGF0IHRoZSBkcnVnIHJlY29yZCBtYXkgYmUgcmVmZXJlbmNlZCBieSBtdWx0aXBsZSBmb3JtdWxhcmllcyBvciBjYXRhbG9ndWVzIGFuZCBlYWNoIG9mIHRob3NlIGVudHJpZXMgd291bGQgaGF2ZSBhIHNlcGFyYXRlIHN0YXR1cy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uU3RhdHVzIiBkZXNjcmlwdGlvbj0iQSBjb2RlZCBjb25jZXB0IGRlZmluaW5nIGlmIHRoZSBtZWRpY2F0aW9uIGlzIGluIGFjdGl2ZSB1c2UuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibWFudWZhY3R1cmVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249Ik1hbnVmYWN0dXJlciBvZiB0aGUgaXRlbSIgZGVmaW5pdGlvbj0iRGVzY3JpYmVzIHRoZSBkZXRhaWxzIG9mIHRoZSBtYW51ZmFjdHVyZXIgb2YgdGhlIG1lZGljYXRpb24gcHJvZHVjdC4gIFRoaXMgaXMgbm90IGludGVuZGVkIHRvIHJlcHJlc2VudCB0aGUgZGlzdHJpYnV0b3Igb2YgYSBtZWRpY2F0aW9uIHByb2R1Y3QuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmb3JtIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJwb3dkZXIgfCB0YWJsZXRzIHwgY2Fwc3VsZSArIiBkZWZpbml0aW9uPSJEZXNjcmliZXMgdGhlIGZvcm0gb2YgdGhlIGl0ZW0uICBQb3dkZXI7IHRhYmxldHM7IGNhcHN1bGUuIiBjb21tZW50PSJXaGVuIE1lZGljYXRpb24gaXMgcmVmZXJlbmNlZCBmcm9tIE1lZGljYXRpb25SZXF1ZXN0LCB0aGlzIGlzIHRoZSBvcmRlcmVkIGZvcm0uICBXaGVuIE1lZGljYXRpb24gaXMgcmVmZXJlbmNlZCB3aXRoaW4gTWVkaWNhdGlvbkRpc3BlbnNlLCB0aGlzIGlzIHRoZSBkaXNwZW5zZWQgZm9ybS4gIFdoZW4gTWVkaWNhdGlvbiBpcyByZWZlcmVuY2VkIHdpdGhpbiBNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24sIHRoaXMgaXMgYWRtaW5pc3RlcmVkIGZvcm0uIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvbkZvcm0iIGRlc2NyaXB0aW9uPSJBIGNvZGVkIGNvbmNlcHQgZGVmaW5pbmcgdGhlIGZvcm0gb2YgYSBtZWRpY2F0aW9uLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYW1vdW50IiBlbGVtZW50VHlwZT0iU3lzdGVtLlJhdGlvIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUmF0aW8oJXZhbHVlKSIgZGVzY3JpcHRpb249IkFtb3VudCBvZiBkcnVnIGluIHBhY2thZ2UiIGRlZmluaXRpb249IlNwZWNpZmljIGFtb3VudCBvZiB0aGUgZHJ1ZyBpbiB0aGUgcGFja2FnZWQgcHJvZHVjdC4gIEZvciBleGFtcGxlLCB3aGVuIHNwZWNpZnlpbmcgYSBwcm9kdWN0IHRoYXQgaGFzIHRoZSBzYW1lIHN0cmVuZ3RoIChGb3IgZXhhbXBsZSwgSW5zdWxpbiBnbGFyZ2luZSAxMDAgdW5pdCBwZXIgbUwgc29sdXRpb24gZm9yIGluamVjdGlvbiksIHRoaXMgYXR0cmlidXRlIHByb3ZpZGVzIGFkZGl0aW9uYWwgY2xhcmlmaWNhdGlvbiBvZiB0aGUgcGFja2FnZSBhbW91bnQgKEZvciBleGFtcGxlLCAzIG1MLCAxMG1MLCBldGMuKS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbmdyZWRpZW50IiBkZXNjcmlwdGlvbj0iQWN0aXZlIG9yIGluYWN0aXZlIGluZ3JlZGllbnQiIGRlZmluaXRpb249IklkZW50aWZpZXMgYSBwYXJ0aWN1bGFyIGNvbnN0aXR1ZW50IG9mIGludGVyZXN0IGluIHRoZSBwcm9kdWN0LiIgY29tbWVudD0iVGhlIGluZ3JlZGllbnRzIG5lZWQgbm90IGJlIGEgY29tcGxldGUgbGlzdC4gIElmIGFuIGluZ3JlZGllbnQgaXMgbm90IHNwZWNpZmllZCwgdGhpcyBkb2VzIG5vdCBpbmRpY2F0ZSB3aGV0aGVyIGFuIGluZ3JlZGllbnQgaXMgcHJlc2VudCBvciBhYnNlbnQuICBJZiBhbiBpbmdyZWRpZW50IGlzIHNwZWNpZmllZCBpdCBkb2VzIG5vdCBtZWFuIHRoYXQgYWxsIGluZ3JlZGllbnRzIGFyZSBzcGVjaWZpZWQuICBJdCBpcyBwb3NzaWJsZSB0byBzcGVjaWZ5IGJvdGggaW5hY3RpdmUgYW5kIGFjdGl2ZSBpbmdyZWRpZW50cy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk1lZGljYXRpb24uSW5ncmVkaWVudCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXRjaCIgZWxlbWVudFR5cGU9IlFJQ29yZS5NZWRpY2F0aW9uLkJhdGNoIiBkZXNjcmlwdGlvbj0iRGV0YWlscyBhYm91dCBwYWNrYWdlZCBtZWRpY2F0aW9ucyIgZGVmaW5pdGlvbj0iSW5mb3JtYXRpb24gdGhhdCBvbmx5IGFwcGxpZXMgdG8gcGFja2FnZXMgKG5vdCBwcm9kdWN0cykuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZWRpY2F0aW9uLkJhdGNoIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsb3ROdW1iZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IklkZW50aWZpZXIgYXNzaWduZWQgdG8gYmF0Y2giIGRlZmluaXRpb249IlRoZSBhc3NpZ25lZCBsb3QgbnVtYmVyIG9mIGEgYmF0Y2ggb2YgdGhlIHNwZWNpZmllZCBwcm9kdWN0LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImV4cGlyYXRpb25EYXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gYmF0Y2ggd2lsbCBleHBpcmUiIGRlZmluaXRpb249IldoZW4gdGhpcyBzcGVjaWZpYyBiYXRjaCBvZiBwcm9kdWN0IHdpbGwgZXhwaXJlLiIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTWVkaWNhdGlvbi5JbmdyZWRpZW50IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpdGVtIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRoZSBhY3R1YWwgaW5ncmVkaWVudCBvciBjb250ZW50IiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGluZ3JlZGllbnQgLSBlaXRoZXIgYSBzdWJzdGFuY2UgKHNpbXBsZSBpbmdyZWRpZW50KSBvciBhbm90aGVyIG1lZGljYXRpb24gb2YgYSBtZWRpY2F0aW9uLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlZmVyZW5jZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpc0FjdGl2ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Cb29sZWFuIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkFjdGl2ZSBpbmdyZWRpZW50IGluZGljYXRvciIgZGVmaW5pdGlvbj0iSW5kaWNhdGlvbiBvZiB3aGV0aGVyIHRoaXMgaW5ncmVkaWVudCBhZmZlY3RzIHRoZSB0aGVyYXBldXRpYyBhY3Rpb24gb2YgdGhlIGRydWcuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdHJlbmd0aCIgZWxlbWVudFR5cGU9IlN5c3RlbS5SYXRpbyIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1JhdGlvKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJRdWFudGl0eSBvZiBpbmdyZWRpZW50IHByZXNlbnQiIGRlZmluaXRpb249IlNwZWNpZmllcyBob3cgbWFueSAob3IgaG93IG11Y2gpIG9mIHRoZSBpdGVtcyB0aGVyZSBhcmUgaW4gdGhpcyBNZWRpY2F0aW9uLiAgRm9yIGV4YW1wbGUsIDI1MCBtZyBwZXIgdGFibGV0LiAgVGhpcyBpcyBleHByZXNzZWQgYXMgYSByYXRpbyB3aGVyZSB0aGUgbnVtZXJhdG9yIGlzIDI1MG1nIGFuZCB0aGUgZGVub21pbmF0b3IgaXMgMSB0YWJsZXQuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW1lZGljYXRpb25hZG1pbmlzdHJhdGlvbiIgbGFiZWw9IlFJQ29yZSBNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9Im1lZGljYXRpb24iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJFeHRlcm5hbCBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJJZGVudGlmaWVycyBhc3NvY2lhdGVkIHdpdGggdGhpcyBNZWRpY2F0aW9uIEFkbWluaXN0cmF0aW9uIHRoYXQgYXJlIGRlZmluZWQgYnkgYnVzaW5lc3MgcHJvY2Vzc2VzIGFuZC9vciB1c2VkIHRvIHJlZmVyIHRvIGl0IHdoZW4gYSBkaXJlY3QgVVJMIHJlZmVyZW5jZSB0byB0aGUgcmVzb3VyY2UgaXRzZWxmIGlzIG5vdCBhcHByb3ByaWF0ZS4gVGhleSBhcmUgYnVzaW5lc3MgaWRlbnRpZmllcnMgYXNzaWduZWQgdG8gdGhpcyByZXNvdXJjZSBieSB0aGUgcGVyZm9ybWVyIG9yIG90aGVyIHN5c3RlbXMgYW5kIHJlbWFpbiBjb25zdGFudCBhcyB0aGUgcmVzb3VyY2UgaXMgdXBkYXRlZCBhbmQgcHJvcGFnYXRlcyBmcm9tIHNlcnZlciB0byBzZXJ2ZXIuIiBjb21tZW50PSJUaGlzIGlzIGEgYnVzaW5lc3MgaWRlbnRpZmllciwgbm90IGEgcmVzb3VyY2UgaWRlbnRpZmllci4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3RhbnRpYXRlcyBwcm90b2NvbCBvciBkZWZpbml0aW9uIiBkZWZpbml0aW9uPSJBIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyc2V0LCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgd2FzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IlBhcnQgb2YgcmVmZXJlbmNlZCBldmVudCIgZGVmaW5pdGlvbj0iQSBsYXJnZXIgZXZlbnQgb2Ygd2hpY2ggdGhpcyBwYXJ0aWN1bGFyIGV2ZW50IGlzIGEgY29tcG9uZW50IG9yIHN0ZXAuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgaW4tcHJvZ3Jlc3MgfCBvbi1ob2xkIHwgY29tcGxldGVkIHwgZW50ZXJlZC1pbi1lcnJvciB8IHN0b3BwZWQgfCB1bmtub3duIiBkZWZpbml0aW9uPSJXaWxsIGdlbmVyYWxseSBiZSBzZXQgdG8gc2hvdyB0aGF0IHRoZSBhZG1pbmlzdHJhdGlvbiBoYXMgYmVlbiBjb21wbGV0ZWQuICBGb3Igc29tZSBsb25nIHJ1bm5pbmcgYWRtaW5pc3RyYXRpb25zIHN1Y2ggYXMgaW5mdXNpb25zLCBpdCBpcyBwb3NzaWJsZSBmb3IgYW4gYWRtaW5pc3RyYXRpb24gdG8gYmUgc3RhcnRlZCBidXQgbm90IGNvbXBsZXRlZCBvciBpdCBtYXkgYmUgcGF1c2VkIHdoaWxlIHNvbWUgb3RoZXIgcHJvY2VzcyBpcyB1bmRlciB3YXkuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIj4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1c1JlYXNvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlYXNvbiBhZG1pbmlzdHJhdGlvbiBub3QgcGVyZm9ybWVkIiBkZWZpbml0aW9uPSJBIGNvZGUgaW5kaWNhdGluZyB3aHkgdGhlIGFkbWluaXN0cmF0aW9uIHdhcyBub3QgcGVyZm9ybWVkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25OZWdhdGlvblJlYXNvbiIgZGVzY3JpcHRpb249IkEgc2V0IG9mIGNvZGVzIGluZGljYXRpbmcgdGhlIHJlYXNvbiB3aHkgdGhlIE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiBpcyBuZWdhdGVkLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlR5cGUgb2YgbWVkaWNhdGlvbiB1c2FnZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGNvbnN1bWVkIG9yIGFkbWluaXN0ZXJlZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkEgY29kZWQgY29uY2VwdCBkZXNjcmliaW5nIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGFkbWluaXN0ZXJlZCBpcyBleHBlY3RlZCB0byBvY2N1ci4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibWVkaWNhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgV2hhdCB3YXMgYWRtaW5pc3RlcmVkIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHRoZSBtZWRpY2F0aW9uIHRoYXQgd2FzIGFkbWluaXN0ZXJlZC4gVGhpcyBpcyBlaXRoZXIgYSBsaW5rIHRvIGEgcmVzb3VyY2UgcmVwcmVzZW50aW5nIHRoZSBkZXRhaWxzIG9mIHRoZSBtZWRpY2F0aW9uIG9yIGEgc2ltcGxlIGF0dHJpYnV0ZSBjYXJyeWluZyBhIGNvZGUgdGhhdCBpZGVudGlmaWVzIHRoZSBtZWRpY2F0aW9uIGZyb20gYSBrbm93biBsaXN0IG9mIG1lZGljYXRpb25zLiIgY29tbWVudD0iSWYgb25seSBhIGNvZGUgaXMgc3BlY2lmaWVkLCB0aGVuIGl0IG5lZWRzIHRvIGJlIGEgY29kZSBmb3IgYSBzcGVjaWZpYyBwcm9kdWN0LiBJZiBtb3JlIGluZm9ybWF0aW9uIGlzIHJlcXVpcmVkLCB0aGVuIHRoZSB1c2Ugb2YgdGhlIG1lZGljYXRpb24gcmVzb3VyY2UgaXMgcmVjb21tZW5kZWQuICBGb3IgZXhhbXBsZSwgaWYgeW91IHJlcXVpcmUgZm9ybSBvciBsb3QgbnVtYmVyLCB0aGVuIHlvdSBtdXN0IHJlZmVyZW5jZSB0aGUgTWVkaWNhdGlvbiByZXNvdXJjZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGUgc2V0IG9mIFJ4Tm9ybSBjb2RlcyB0byByZXByZXNlbnQgbWVkaWNhdGlvbnMiIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgV2hvIHJlY2VpdmVkIG1lZGljYXRpb24iIGRlZmluaXRpb249IlRoZSBwZXJzb24gb3IgYW5pbWFsIG9yIGdyb3VwIHJlY2VpdmluZyB0aGUgbWVkaWNhdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb250ZXh0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBFbmNvdW50ZXIgb3IgRXBpc29kZSBvZiBDYXJlIGFkbWluaXN0ZXJlZCBhcyBwYXJ0IG9mIiBkZWZpbml0aW9uPSJUaGUgdmlzaXQsIGFkbWlzc2lvbiwgb3Igb3RoZXIgY29udGFjdCBiZXR3ZWVuIHBhdGllbnQgYW5kIGhlYWx0aCBjYXJlIHByb3ZpZGVyIGR1cmluZyB3aGljaCB0aGUgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvbiB3YXMgcGVyZm9ybWVkLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1cHBvcnRpbmdJbmZvcm1hdGlvbiIgZGVzY3JpcHRpb249IkFkZGl0aW9uYWwgaW5mb3JtYXRpb24gdG8gc3VwcG9ydCBhZG1pbmlzdHJhdGlvbiIgZGVmaW5pdGlvbj0iQWRkaXRpb25hbCBpbmZvcm1hdGlvbiAoZm9yIGV4YW1wbGUsIHBhdGllbnQgaGVpZ2h0IGFuZCB3ZWlnaHQpIHRoYXQgc3VwcG9ydHMgdGhlIGFkbWluaXN0cmF0aW9uIG9mIHRoZSBtZWRpY2F0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgU3RhcnQgYW5kIGVuZCB0aW1lIG9mIGFkbWluaXN0cmF0aW9uIiBkZWZpbml0aW9uPSJBIHNwZWNpZmljIGRhdGUvdGltZSBvciBpbnRlcnZhbCBvZiB0aW1lIGR1cmluZyB3aGljaCB0aGUgYWRtaW5pc3RyYXRpb24gdG9vayBwbGFjZSAob3IgZGlkIG5vdCB0YWtlIHBsYWNlLCB3aGVuIHRoZSAnbm90R2l2ZW4nIGF0dHJpYnV0ZSBpcyB0cnVlKS4gRm9yIG1hbnkgYWRtaW5pc3RyYXRpb25zLCBzdWNoIGFzIHN3YWxsb3dpbmcgYSB0YWJsZXQgdGhlIHVzZSBvZiBkYXRlVGltZSBpcyBtb3JlIGFwcHJvcHJpYXRlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IldobyBwZXJmb3JtZWQgdGhlIG1lZGljYXRpb24gYWRtaW5pc3RyYXRpb24gYW5kIHdoYXQgdGhleSBkaWQiIGRlZmluaXRpb249IkluZGljYXRlcyB3aG8gb3Igd2hhdCBwZXJmb3JtZWQgdGhlIG1lZGljYXRpb24gYWRtaW5pc3RyYXRpb24gYW5kIGhvdyB0aGV5IHdlcmUgaW52b2x2ZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24uUGVyZm9ybWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvbkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZWFzb24gYWRtaW5pc3RyYXRpb24gcGVyZm9ybWVkIiBkZWZpbml0aW9uPSJBIGNvZGUgaW5kaWNhdGluZyB3aHkgdGhlIG1lZGljYXRpb24gd2FzIGdpdmVuLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25SZWFzb24iIGRlc2NyaXB0aW9uPSJBIHNldCBvZiBjb2RlcyBpbmRpY2F0aW5nIHRoZSByZWFzb24gd2h5IHRoZSBNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24gd2FzIG1hZGUuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJDb25kaXRpb24gb3Igb2JzZXJ2YXRpb24gdGhhdCBzdXBwb3J0cyB3aHkgdGhlIG1lZGljYXRpb24gd2FzIGFkbWluaXN0ZXJlZCIgZGVmaW5pdGlvbj0iQ29uZGl0aW9uIG9yIG9ic2VydmF0aW9uIHRoYXQgc3VwcG9ydHMgd2h5IHRoZSBtZWRpY2F0aW9uIHdhcyBhZG1pbmlzdGVyZWQuIiBjb21tZW50PSJUaGlzIGlzIGEgcmVmZXJlbmNlIHRvIGEgY29uZGl0aW9uIHRoYXQgaXMgdGhlIHJlYXNvbiBmb3IgdGhlIG1lZGljYXRpb24gcmVxdWVzdC4gIElmIG9ubHkgYSBjb2RlIGV4aXN0cywgdXNlIHJlYXNvbkNvZGUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVxdWVzdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgUmVxdWVzdCBhZG1pbmlzdHJhdGlvbiBwZXJmb3JtZWQgYWdhaW5zdCIgZGVmaW5pdGlvbj0iVGhlIG9yaWdpbmFsIHJlcXVlc3QsIGluc3RydWN0aW9uIG9yIGF1dGhvcml0eSB0byBwZXJmb3JtIHRoZSBhZG1pbmlzdHJhdGlvbi4iIGNvbW1lbnQ9IlRoaXMgaXMgYSByZWZlcmVuY2UgdG8gdGhlIE1lZGljYXRpb25SZXF1ZXN0ICB3aGVyZSB0aGUgaW50ZW50IGlzIGVpdGhlciBvcmRlciBvciBpbnN0YW5jZS1vcmRlci4gIEl0IHNob3VsZCBub3QgcmVmZXJlbmNlIE1lZGljYXRpb25SZXF1ZXN0cyB3aGVyZSB0aGUgaW50ZW50IGlzIGFueSBvdGhlciB2YWx1ZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXZpY2UiIGRlc2NyaXB0aW9uPSJEZXZpY2UgdXNlZCB0byBhZG1pbmlzdGVyIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgaW4gYWRtaW5pc3RlcmluZyB0aGUgbWVkaWNhdGlvbiB0byB0aGUgcGF0aWVudC4gIEZvciBleGFtcGxlLCBhIHBhcnRpY3VsYXIgaW5mdXNpb24gcHVtcC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iSW5mb3JtYXRpb24gYWJvdXQgdGhlIGFkbWluaXN0cmF0aW9uIiBkZWZpbml0aW9uPSJFeHRyYSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvbiB0aGF0IGlzIG5vdCBjb252ZXllZCBieSB0aGUgb3RoZXIgYXR0cmlidXRlcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZG9zYWdlIiBlbGVtZW50VHlwZT0iUUlDb3JlLk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbi5Eb3NhZ2UiIGRlc2NyaXB0aW9uPSJEZXRhaWxzIG9mIGhvdyBtZWRpY2F0aW9uIHdhcyB0YWtlbiIgZGVmaW5pdGlvbj0iRGVzY3JpYmVzIHRoZSBtZWRpY2F0aW9uIGRvc2FnZSBpbmZvcm1hdGlvbiBkZXRhaWxzIGUuZy4gZG9zZSwgcmF0ZSwgc2l0ZSwgcm91dGUsIGV0Yy4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Im1hZC0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IlNIQUxMIGhhdmUgYXQgbGVhc3Qgb25lIG9mIGRvc2FnZS5kb3NlIG9yIGRvc2FnZS5yYXRlW3hdIj4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJkb3NlLmV4aXN0cygpIG9yIHJhdGUuZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJldmVudEhpc3RvcnkiIGRlc2NyaXB0aW9uPSJBIGxpc3Qgb2YgZXZlbnRzIG9mIGludGVyZXN0IGluIHRoZSBsaWZlY3ljbGUiIGRlZmluaXRpb249IkEgc3VtbWFyeSBvZiB0aGUgZXZlbnRzIG9mIGludGVyZXN0IHRoYXQgaGF2ZSBvY2N1cnJlZCwgc3VjaCBhcyB3aGVuIHRoZSBhZG1pbmlzdHJhdGlvbiB3YXMgdmVyaWZpZWQuIiBjb21tZW50PSJUaGlzIG1pZ2h0IG5vdCBpbmNsdWRlIHByb3ZlbmFuY2VzIGZvciBhbGwgdmVyc2lvbnMgb2YgdGhlIHJlcXVlc3Qg4oCTIG9ubHkgdGhvc2UgZGVlbWVkIOKAnHJlbGV2YW504oCdIG9yIGltcG9ydGFudC4gVGhpcyBTSEFMTCBOT1QgaW5jbHVkZSB0aGUgUHJvdmVuYW5jZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBjdXJyZW50IHZlcnNpb24gb2YgdGhlIHJlc291cmNlLiAoSWYgdGhhdCBwcm92ZW5hbmNlIGlzIGRlZW1lZCB0byBiZSBhIOKAnHJlbGV2YW504oCdIGNoYW5nZSwgaXQgd2lsbCBuZWVkIHRvIGJlIGFkZGVkIGFzIHBhcnQgb2YgYSBsYXRlciB1cGRhdGUuIFVudGlsIHRoZW4sIGl0IGNhbiBiZSBxdWVyaWVkIGRpcmVjdGx5IGFzIHRoZSBQcm92ZW5hbmNlIHRoYXQgcG9pbnRzIHRvIHRoaXMgdmVyc2lvbiB1c2luZyBfcmV2aW5jbHVkZSBBbGwgUHJvdmVuYW5jZXMgc2hvdWxkIGhhdmUgc29tZSBoaXN0b3JpY2FsIHZlcnNpb24gb2YgdGhpcyBSZXF1ZXN0IGFzIHRoZWlyIHN1YmplY3QuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0iYWN0b3IiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0icGF0aWVudCIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJhY3RvciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJzdWJqZWN0Ii8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iRW5jb3VudGVyIiByZWxhdGVkS2V5RWxlbWVudD0iY29udGV4dCIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IkRldmljZSIgcmVsYXRlZEtleUVsZW1lbnQ9ImRldmljZSIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlJlbGF0ZWRQZXJzb24iIHJlbGF0ZWRLZXlFbGVtZW50PSJhY3RvciIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uLkRvc2FnZSIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idGV4dCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRnJlZSB0ZXh0IGRvc2FnZSBpbnN0cnVjdGlvbnMgZS5nLiBTSUciIGRlZmluaXRpb249IkZyZWUgdGV4dCBkb3NhZ2UgY2FuIGJlIHVzZWQgZm9yIGNhc2VzIHdoZXJlIHRoZSBkb3NhZ2UgYWRtaW5pc3RlcmVkIGlzIHRvbyBjb21wbGV4IHRvIGNvZGUuIFdoZW4gY29kZWQgZG9zYWdlIGlzIHByZXNlbnQsIHRoZSBmcmVlIHRleHQgZG9zYWdlIG1heSBzdGlsbCBiZSBwcmVzZW50IGZvciBkaXNwbGF5IHRvIGh1bWFucy4mIzEzOyYjMTM7VGhlIGRvc2FnZSBpbnN0cnVjdGlvbnMgc2hvdWxkIHJlZmxlY3QgdGhlIGRvc2FnZSBvZiB0aGUgbWVkaWNhdGlvbiB0aGF0IHdhcyBhZG1pbmlzdGVyZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQm9keSBzaXRlIGFkbWluaXN0ZXJlZCB0byIgZGVmaW5pdGlvbj0iQSBjb2RlZCBzcGVjaWZpY2F0aW9uIG9mIHRoZSBhbmF0b21pYyBzaXRlIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGZpcnN0IGVudGVyZWQgdGhlIGJvZHkuICBGb3IgZXhhbXBsZSwgJnF1b3Q7bGVmdCBhcm0mcXVvdDsuIiBjb21tZW50PSJJZiB0aGUgdXNlIGNhc2UgcmVxdWlyZXMgYXR0cmlidXRlcyBmcm9tIHRoZSBCb2R5U2l0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiAgTWF5IGJlIGEgc3VtbWFyeSBjb2RlLCBvciBhIHJlZmVyZW5jZSB0byBhIHZlcnkgcHJlY2lzZSBkZWZpbml0aW9uIG9mIHRoZSBsb2NhdGlvbiwgb3IgYm90aC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25TaXRlIiBkZXNjcmlwdGlvbj0iQSBjb2RlZCBjb25jZXB0IGRlc2NyaWJpbmcgdGhlIHNpdGUgbG9jYXRpb24gdGhlIG1lZGljaW5lIGVudGVycyBpbnRvIG9yIG9udG8gdGhlIGJvZHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyb3V0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUGF0aCBvZiBzdWJzdGFuY2UgaW50byBib2R5IiBkZWZpbml0aW9uPSJBIGNvZGUgc3BlY2lmeWluZyB0aGUgcm91dGUgb3IgcGh5c2lvbG9naWNhbCBwYXRoIG9mIGFkbWluaXN0cmF0aW9uIG9mIGEgdGhlcmFwZXV0aWMgYWdlbnQgaW50byBvciBvbnRvIHRoZSBwYXRpZW50LiAgRm9yIGV4YW1wbGUsIHRvcGljYWwsIGludHJhdmVub3VzLCBldGMuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUm91dGVPZkFkbWluaXN0cmF0aW9uIiBkZXNjcmlwdGlvbj0iQSBjb2RlZCBjb25jZXB0IGRlc2NyaWJpbmcgdGhlIHJvdXRlIG9yIHBoeXNpb2xvZ2ljYWwgcGF0aCBvZiBhZG1pbmlzdHJhdGlvbiBvZiBhIHRoZXJhcGV1dGljIGFnZW50IGludG8gb3Igb250byB0aGUgYm9keSBvZiBhIHN1YmplY3QuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBkcnVnIHdhcyBhZG1pbmlzdGVyZWQiIGRlZmluaXRpb249IkEgY29kZWQgdmFsdWUgaW5kaWNhdGluZyB0aGUgbWV0aG9kIGJ5IHdoaWNoIHRoZSBtZWRpY2F0aW9uIGlzIGludGVuZGVkIHRvIGJlIG9yIHdhcyBpbnRyb2R1Y2VkIGludG8gb3Igb24gdGhlIGJvZHkuICBUaGlzIGF0dHJpYnV0ZSB3aWxsIG1vc3Qgb2Z0ZW4gTk9UIGJlIHBvcHVsYXRlZC4gIEl0IGlzIG1vc3QgY29tbW9ubHkgdXNlZCBmb3IgaW5qZWN0aW9ucy4gIEZvciBleGFtcGxlLCBTbG93IFB1c2gsIERlZXAgSVYuIiBjb21tZW50PSJPbmUgb2YgdGhlIHJlYXNvbnMgdGhpcyBhdHRyaWJ1dGUgaXMgbm90IHVzZWQgb2Z0ZW4sIGlzIHRoYXQgdGhlIG1ldGhvZCBpcyBvZnRlbiBwcmUtY29vcmRpbmF0ZWQgd2l0aCB0aGUgcm91dGUgYW5kL29yIGZvcm0gb2YgYWRtaW5pc3RyYXRpb24uICBUaGlzIG1lYW5zIHRoZSBjb2RlcyB1c2VkIGluIHJvdXRlIG9yIGZvcm0gbWF5IHByZS1jb29yZGluYXRlIHRoZSBtZXRob2QgaW4gdGhlIHJvdXRlIGNvZGUgb3IgdGhlIGZvcm0gY29kZS4gIFRoZSBpbXBsZW1lbnRhdGlvbiBkZWNpc2lvbiBhYm91dCB3aGF0IGNvZGluZyBzeXN0ZW0gdG8gdXNlIGZvciByb3V0ZSBvciBmb3JtIGNvZGUgd2lsbCBkZXRlcm1pbmUgaG93IGZyZXF1ZW50bHkgdGhlIG1ldGhvZCBjb2RlIHdpbGwgYmUgcG9wdWxhdGVkIGUuZy4gaWYgcm91dGUgb3IgZm9ybSBjb2RlIHByZS1jb29yZGluYXRlIG1ldGhvZCBjb2RlLCB0aGVuIHRoaXMgYXR0cmlidXRlIHdpbGwgbm90IGJlIHBvcHVsYXRlZCBvZnRlbjsgaWYgdGhlcmUgaXMgbm8gcHJlLWNvb3JkaW5hdGlvbiB0aGVuIG1ldGhvZCBjb2RlIG1heSAgYmUgdXNlZCBmcmVxdWVudGx5LiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1lZGljYXRpb25BZG1pbmlzdHJhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249IkEgY29kZWQgY29uY2VwdCBkZXNjcmliaW5nIHRoZSB0ZWNobmlxdWUgYnkgd2hpY2ggdGhlIG1lZGljaW5lIGlzIGFkbWluaXN0ZXJlZC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRvc2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQW1vdW50IG9mIG1lZGljYXRpb24gcGVyIGRvc2UiIGRlZmluaXRpb249IlRoZSBhbW91bnQgb2YgdGhlIG1lZGljYXRpb24gZ2l2ZW4gYXQgb25lIGFkbWluaXN0cmF0aW9uIGV2ZW50LiAgIFVzZSB0aGlzIHZhbHVlIHdoZW4gdGhlIGFkbWluaXN0cmF0aW9uIGlzIGVzc2VudGlhbGx5IGFuIGluc3RhbnRhbmVvdXMgZXZlbnQgc3VjaCBhcyBhIHN3YWxsb3dpbmcgYSB0YWJsZXQgb3IgZ2l2aW5nIGFuIGluamVjdGlvbi4iIGNvbW1lbnQ9IklmIHRoZSBhZG1pbmlzdHJhdGlvbiBpcyBub3QgaW5zdGFudGFuZW91cyAocmF0ZSBpcyBwcmVzZW50KSwgdGhpcyBjYW4gYmUgc3BlY2lmaWVkIHRvIGNvbnZleSB0aGUgdG90YWwgYW1vdW50IGFkbWluaXN0ZXJlZCBvdmVyIHBlcmlvZCBvZiB0aW1lIG9mIGEgc2luZ2xlIGFkbWluaXN0cmF0aW9uLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJhdGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRG9zZSBxdWFudGl0eSBwZXIgdW5pdCBvZiB0aW1lIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHRoZSBzcGVlZCB3aXRoIHdoaWNoIHRoZSBtZWRpY2F0aW9uIHdhcyBvciB3aWxsIGJlIGludHJvZHVjZWQgaW50byB0aGUgcGF0aWVudC4gIFR5cGljYWxseSwgdGhlIHJhdGUgZm9yIGFuIGluZnVzaW9uIGUuZy4gMTAwIG1sIHBlciAxIGhvdXIgb3IgMTAwIG1sL2hyLiAgTWF5IGFsc28gYmUgZXhwcmVzc2VkIGFzIGEgcmF0ZSBwZXIgdW5pdCBvZiB0aW1lLCBlLmcuIDUwMCBtbCBwZXIgMiBob3Vycy4gIE90aGVyIGV4YW1wbGVzOiAgMjAwIG1jZy9taW4gb3IgMjAwIG1jZy8xIG1pbnV0ZTsgMSBsaXRlci84IGhvdXJzLiIgY29tbWVudD0iSWYgdGhlIHJhdGUgY2hhbmdlcyBvdmVyIHRpbWUsIGFuZCB5b3Ugd2FudCB0byBjYXB0dXJlIHRoaXMgaW4gTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uLCB0aGVuIGVhY2ggY2hhbmdlIHNob3VsZCBiZSBjYXB0dXJlZCBhcyBhIGRpc3RpbmN0IE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiwgd2l0aCBhIHNwZWNpZmljIE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbi5kb3NhZ2UucmF0ZSwgYW5kIHRoZSBkYXRlIHRpbWUgd2hlbiB0aGUgcmF0ZSBjaGFuZ2Ugb2NjdXJyZWQuIFR5cGljYWxseSwgdGhlIE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbi5kb3NhZ2UucmF0ZSBlbGVtZW50IGlzIG5vdCB1c2VkIHRvIGNvbnZleSBhbiBhdmVyYWdlIHJhdGUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlJhdGlvIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik1lZGljYXRpb25BZG1pbmlzdHJhdGlvbi5QZXJmb3JtZXIiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZ1bmN0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUeXBlIG9mIHBlcmZvcm1hbmNlIiBkZWZpbml0aW9uPSJEaXN0aW5ndWlzaGVzIHRoZSB0eXBlIG9mIGludm9sdmVtZW50IG9mIHRoZSBwZXJmb3JtZXIgaW4gdGhlIG1lZGljYXRpb24gYWRtaW5pc3RyYXRpb24uIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uUGVyZm9ybWVyRnVuY3Rpb24iIGRlc2NyaXB0aW9uPSJBIGNvZGUgZGVzY3JpYmluZyB0aGUgcm9sZSBhbiBpbmRpdmlkdWFsIHBsYXllZCBpbiBhZG1pbmlzdGVyaW5nIHRoZSBtZWRpY2F0aW9uLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWN0b3IiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hvIHBlcmZvcm1lZCB0aGUgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvbiIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdobyBvciB3aGF0IHBlcmZvcm1lZCB0aGUgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvbi4iLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik1lZGljYXRpb25BZG1pbmlzdHJhdGlvbk5vdERvbmUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW1lZGljYXRpb25hZG1pbmlzdHJhdGlvbm5vdGRvbmUiIGxhYmVsPSJRSUNvcmUgTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIE5vdCBEb25lIiB0YXJnZXQ9Ik1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0ibWVkaWNhdGlvbiIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVjb3JkZWQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuTm90RG9uZVJlY29yZGVkIiB0YXJnZXQ9IiVwYXJlbnQuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtcmVjb3JkZWQnXS52YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBFeHRlbnNpb24iIGRlZmluaXRpb249IkNhcHR1cmVzIHRoZSByZWNvcmRlZCBkYXRlIG9mIHRoZSBldmVudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iRXh0ZXJuYWwgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcnMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgTWVkaWNhdGlvbiBBZG1pbmlzdHJhdGlvbiB0aGF0IGFyZSBkZWZpbmVkIGJ5IGJ1c2luZXNzIHByb2Nlc3NlcyBhbmQvb3IgdXNlZCB0byByZWZlciB0byBpdCB3aGVuIGEgZGlyZWN0IFVSTCByZWZlcmVuY2UgdG8gdGhlIHJlc291cmNlIGl0c2VsZiBpcyBub3QgYXBwcm9wcmlhdGUuIFRoZXkgYXJlIGJ1c2luZXNzIGlkZW50aWZpZXJzIGFzc2lnbmVkIHRvIHRoaXMgcmVzb3VyY2UgYnkgdGhlIHBlcmZvcm1lciBvciBvdGhlciBzeXN0ZW1zIGFuZCByZW1haW4gY29uc3RhbnQgYXMgdGhlIHJlc291cmNlIGlzIHVwZGF0ZWQgYW5kIHByb3BhZ2F0ZXMgZnJvbSBzZXJ2ZXIgdG8gc2VydmVyLiIgY29tbWVudD0iVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlcyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iQSBwcm90b2NvbCwgZ3VpZGVsaW5lLCBvcmRlcnNldCwgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IHdhcyBhZGhlcmVkIHRvIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBldmVudC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBldmVudCBpcyBhIGNvbXBvbmVudCBvciBzdGVwLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25TdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIGluLXByb2dyZXNzIHwgbm90LWRvbmUgfCBvbi1ob2xkIHwgY29tcGxldGVkIHwgZW50ZXJlZC1pbi1lcnJvciB8IHN0b3BwZWQgfCB1bmtub3duIiBkZWZpbml0aW9uPSJXaWxsIGdlbmVyYWxseSBiZSBzZXQgdG8gc2hvdyB0aGF0IHRoZSBhZG1pbmlzdHJhdGlvbiBoYXMgYmVlbiBjb21wbGV0ZWQuICBGb3Igc29tZSBsb25nIHJ1bm5pbmcgYWRtaW5pc3RyYXRpb25zIHN1Y2ggYXMgaW5mdXNpb25zLCBpdCBpcyBwb3NzaWJsZSBmb3IgYW4gYWRtaW5pc3RyYXRpb24gdG8gYmUgc3RhcnRlZCBidXQgbm90IGNvbXBsZXRlZCBvciBpdCBtYXkgYmUgcGF1c2VkIHdoaWxlIHNvbWUgb3RoZXIgcHJvY2VzcyBpcyB1bmRlciB3YXkuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uU3RhdHVzIiBkZXNjcmlwdGlvbj0iQSBzZXQgb2YgY29kZXMgaW5kaWNhdGluZyB0aGUgY3VycmVudCBzdGF0dXMgb2YgYSBNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24uIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzUmVhc29uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFJlYXNvbiBhZG1pbmlzdHJhdGlvbiBub3QgcGVyZm9ybWVkIiBkZWZpbml0aW9uPSJBIGNvZGUgaW5kaWNhdGluZyB3aHkgdGhlIGFkbWluaXN0cmF0aW9uIHdhcyBub3QgcGVyZm9ybWVkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhlIHJlYXNvbiB0aGUgZXZlbnQgZGlkIG5vdCBvY2N1ciBvciB3YXMgbm90IHBlcmZvcm1lZCIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlR5cGUgb2YgbWVkaWNhdGlvbiB1c2FnZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGNvbnN1bWVkIG9yIGFkbWluaXN0ZXJlZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkEgY29kZWQgY29uY2VwdCBkZXNjcmliaW5nIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGFkbWluaXN0ZXJlZCBpcyBleHBlY3RlZCB0byBvY2N1ci4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibWVkaWNhdGlvbiIgdGFyZ2V0PSJTeXN0ZW0uQ29uY2VwdDpGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKTtTeXN0ZW0uVmFsdWVTZXQ6RkhJUkhlbHBlcnMuVG9WYWx1ZVNldCglcGFyZW50Lm1lZGljYXRpb25beF0uZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtbm90RG9uZVZhbHVlU2V0J10udmFsdWUudmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFdoYXQgd2FzIGFkbWluaXN0ZXJlZCIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgbWVkaWNhdGlvbiB0aGF0IHdhcyBhZG1pbmlzdGVyZWQuIFRoaXMgaXMgZWl0aGVyIGEgbGluayB0byBhIHJlc291cmNlIHJlcHJlc2VudGluZyB0aGUgZGV0YWlscyBvZiB0aGUgbWVkaWNhdGlvbiBvciBhIHNpbXBsZSBhdHRyaWJ1dGUgY2FycnlpbmcgYSBjb2RlIHRoYXQgaWRlbnRpZmllcyB0aGUgbWVkaWNhdGlvbiBmcm9tIGEga25vd24gbGlzdCBvZiBtZWRpY2F0aW9ucy4iIGNvbW1lbnQ9IklmIG9ubHkgYSBjb2RlIGlzIHNwZWNpZmllZCwgdGhlbiBpdCBuZWVkcyB0byBiZSBhIGNvZGUgZm9yIGEgc3BlY2lmaWMgcHJvZHVjdC4gSWYgbW9yZSBpbmZvcm1hdGlvbiBpcyByZXF1aXJlZCwgdGhlbiB0aGUgdXNlIG9mIHRoZSBtZWRpY2F0aW9uIHJlc291cmNlIGlzIHJlY29tbWVuZGVkLiAgRm9yIGV4YW1wbGUsIGlmIHlvdSByZXF1aXJlIGZvcm0gb3IgbG90IG51bWJlciwgdGhlbiB5b3UgbXVzdCByZWZlcmVuY2UgdGhlIE1lZGljYXRpb24gcmVzb3VyY2UuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlZhbHVlU2V0Ii8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGUgc2V0IG9mIFJ4Tm9ybSBjb2RlcyB0byByZXByZXNlbnQgbWVkaWNhdGlvbnMiIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgV2hvIHJlY2VpdmVkIG1lZGljYXRpb24iIGRlZmluaXRpb249IlRoZSBwZXJzb24gb3IgYW5pbWFsIG9yIGdyb3VwIHJlY2VpdmluZyB0aGUgbWVkaWNhdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb250ZXh0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBFbmNvdW50ZXIgb3IgRXBpc29kZSBvZiBDYXJlIGFkbWluaXN0ZXJlZCBhcyBwYXJ0IG9mIiBkZWZpbml0aW9uPSJUaGUgdmlzaXQsIGFkbWlzc2lvbiwgb3Igb3RoZXIgY29udGFjdCBiZXR3ZWVuIHBhdGllbnQgYW5kIGhlYWx0aCBjYXJlIHByb3ZpZGVyIGR1cmluZyB3aGljaCB0aGUgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvbiB3YXMgcGVyZm9ybWVkLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1cHBvcnRpbmdJbmZvcm1hdGlvbiIgZGVzY3JpcHRpb249IkFkZGl0aW9uYWwgaW5mb3JtYXRpb24gdG8gc3VwcG9ydCBhZG1pbmlzdHJhdGlvbiIgZGVmaW5pdGlvbj0iQWRkaXRpb25hbCBpbmZvcm1hdGlvbiAoZm9yIGV4YW1wbGUsIHBhdGllbnQgaGVpZ2h0IGFuZCB3ZWlnaHQpIHRoYXQgc3VwcG9ydHMgdGhlIGFkbWluaXN0cmF0aW9uIG9mIHRoZSBtZWRpY2F0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgU3RhcnQgYW5kIGVuZCB0aW1lIG9mIGFkbWluaXN0cmF0aW9uIiBkZWZpbml0aW9uPSJBIHNwZWNpZmljIGRhdGUvdGltZSBvciBpbnRlcnZhbCBvZiB0aW1lIGR1cmluZyB3aGljaCB0aGUgYWRtaW5pc3RyYXRpb24gdG9vayBwbGFjZSAob3IgZGlkIG5vdCB0YWtlIHBsYWNlLCB3aGVuIHRoZSAnbm90R2l2ZW4nIGF0dHJpYnV0ZSBpcyB0cnVlKS4gRm9yIG1hbnkgYWRtaW5pc3RyYXRpb25zLCBzdWNoIGFzIHN3YWxsb3dpbmcgYSB0YWJsZXQgdGhlIHVzZSBvZiBkYXRlVGltZSBpcyBtb3JlIGFwcHJvcHJpYXRlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IldobyBwZXJmb3JtZWQgdGhlIG1lZGljYXRpb24gYWRtaW5pc3RyYXRpb24gYW5kIHdoYXQgdGhleSBkaWQiIGRlZmluaXRpb249IkluZGljYXRlcyB3aG8gb3Igd2hhdCBwZXJmb3JtZWQgdGhlIG1lZGljYXRpb24gYWRtaW5pc3RyYXRpb24gYW5kIGhvdyB0aGV5IHdlcmUgaW52b2x2ZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24uUGVyZm9ybWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvbkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZWFzb24gYWRtaW5pc3RyYXRpb24gcGVyZm9ybWVkIiBkZWZpbml0aW9uPSJBIGNvZGUgaW5kaWNhdGluZyB3aHkgdGhlIG1lZGljYXRpb24gd2FzIGdpdmVuLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25SZWFzb24iIGRlc2NyaXB0aW9uPSJBIHNldCBvZiBjb2RlcyBpbmRpY2F0aW5nIHRoZSByZWFzb24gd2h5IHRoZSBNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24gd2FzIG1hZGUuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJDb25kaXRpb24gb3Igb2JzZXJ2YXRpb24gdGhhdCBzdXBwb3J0cyB3aHkgdGhlIG1lZGljYXRpb24gd2FzIGFkbWluaXN0ZXJlZCIgZGVmaW5pdGlvbj0iQ29uZGl0aW9uIG9yIG9ic2VydmF0aW9uIHRoYXQgc3VwcG9ydHMgd2h5IHRoZSBtZWRpY2F0aW9uIHdhcyBhZG1pbmlzdGVyZWQuIiBjb21tZW50PSJUaGlzIGlzIGEgcmVmZXJlbmNlIHRvIGEgY29uZGl0aW9uIHRoYXQgaXMgdGhlIHJlYXNvbiBmb3IgdGhlIG1lZGljYXRpb24gcmVxdWVzdC4gIElmIG9ubHkgYSBjb2RlIGV4aXN0cywgdXNlIHJlYXNvbkNvZGUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVxdWVzdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgUmVxdWVzdCBhZG1pbmlzdHJhdGlvbiBwZXJmb3JtZWQgYWdhaW5zdCIgZGVmaW5pdGlvbj0iVGhlIG9yaWdpbmFsIHJlcXVlc3QsIGluc3RydWN0aW9uIG9yIGF1dGhvcml0eSB0byBwZXJmb3JtIHRoZSBhZG1pbmlzdHJhdGlvbi4iIGNvbW1lbnQ9IlRoaXMgaXMgYSByZWZlcmVuY2UgdG8gdGhlIE1lZGljYXRpb25SZXF1ZXN0ICB3aGVyZSB0aGUgaW50ZW50IGlzIGVpdGhlciBvcmRlciBvciBpbnN0YW5jZS1vcmRlci4gIEl0IHNob3VsZCBub3QgcmVmZXJlbmNlIE1lZGljYXRpb25SZXF1ZXN0cyB3aGVyZSB0aGUgaW50ZW50IGlzIGFueSBvdGhlciB2YWx1ZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXZpY2UiIGRlc2NyaXB0aW9uPSJEZXZpY2UgdXNlZCB0byBhZG1pbmlzdGVyIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgaW4gYWRtaW5pc3RlcmluZyB0aGUgbWVkaWNhdGlvbiB0byB0aGUgcGF0aWVudC4gIEZvciBleGFtcGxlLCBhIHBhcnRpY3VsYXIgaW5mdXNpb24gcHVtcC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iSW5mb3JtYXRpb24gYWJvdXQgdGhlIGFkbWluaXN0cmF0aW9uIiBkZWZpbml0aW9uPSJFeHRyYSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvbiB0aGF0IGlzIG5vdCBjb252ZXllZCBieSB0aGUgb3RoZXIgYXR0cmlidXRlcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZG9zYWdlIiBlbGVtZW50VHlwZT0iUUlDb3JlLk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbi5Eb3NhZ2UiIGRlc2NyaXB0aW9uPSJEZXRhaWxzIG9mIGhvdyBtZWRpY2F0aW9uIHdhcyB0YWtlbiIgZGVmaW5pdGlvbj0iRGVzY3JpYmVzIHRoZSBtZWRpY2F0aW9uIGRvc2FnZSBpbmZvcm1hdGlvbiBkZXRhaWxzIGUuZy4gZG9zZSwgcmF0ZSwgc2l0ZSwgcm91dGUsIGV0Yy4iPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJtYWQtMSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJTSEFMTCBoYXZlIGF0IGxlYXN0IG9uZSBvZiBkb3NhZ2UuZG9zZSBvciBkb3NhZ2UucmF0ZVt4XSI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iZG9zZS5leGlzdHMoKSBvciByYXRlLmV4aXN0cygpIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZXZlbnRIaXN0b3J5IiBkZXNjcmlwdGlvbj0iQSBsaXN0IG9mIGV2ZW50cyBvZiBpbnRlcmVzdCBpbiB0aGUgbGlmZWN5Y2xlIiBkZWZpbml0aW9uPSJBIHN1bW1hcnkgb2YgdGhlIGV2ZW50cyBvZiBpbnRlcmVzdCB0aGF0IGhhdmUgb2NjdXJyZWQsIHN1Y2ggYXMgd2hlbiB0aGUgYWRtaW5pc3RyYXRpb24gd2FzIHZlcmlmaWVkLiIgY29tbWVudD0iVGhpcyBtaWdodCBub3QgaW5jbHVkZSBwcm92ZW5hbmNlcyBmb3IgYWxsIHZlcnNpb25zIG9mIHRoZSByZXF1ZXN0IOKAkyBvbmx5IHRob3NlIGRlZW1lZCDigJxyZWxldmFudOKAnSBvciBpbXBvcnRhbnQuIFRoaXMgU0hBTEwgTk9UIGluY2x1ZGUgdGhlIFByb3ZlbmFuY2UgYXNzb2NpYXRlZCB3aXRoIHRoaXMgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSByZXNvdXJjZS4gKElmIHRoYXQgcHJvdmVuYW5jZSBpcyBkZWVtZWQgdG8gYmUgYSDigJxyZWxldmFudOKAnSBjaGFuZ2UsIGl0IHdpbGwgbmVlZCB0byBiZSBhZGRlZCBhcyBwYXJ0IG9mIGEgbGF0ZXIgdXBkYXRlLiBVbnRpbCB0aGVuLCBpdCBjYW4gYmUgcXVlcmllZCBkaXJlY3RseSBhcyB0aGUgUHJvdmVuYW5jZSB0aGF0IHBvaW50cyB0byB0aGlzIHZlcnNpb24gdXNpbmcgX3JldmluY2x1ZGUgQWxsIFByb3ZlbmFuY2VzIHNob3VsZCBoYXZlIHNvbWUgaGlzdG9yaWNhbCB2ZXJzaW9uIG9mIHRoaXMgUmVxdWVzdCBhcyB0aGVpciBzdWJqZWN0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uU3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik1lZGljYXRpb25EaXNwZW5zZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtbWVkaWNhdGlvbmRpc3BlbnNlIiBsYWJlbD0iUUlDb3JlIE1lZGljYXRpb25EaXNwZW5zZSIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0ibWVkaWNhdGlvbiIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkV4dGVybmFsIGlkZW50aWZpZXIiIGRlZmluaXRpb249IklkZW50aWZpZXJzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIE1lZGljYXRpb24gRGlzcGVuc2UgdGhhdCBhcmUgZGVmaW5lZCBieSBidXNpbmVzcyBwcm9jZXNzZXMgYW5kL29yIHVzZWQgdG8gcmVmZXIgdG8gaXQgd2hlbiBhIGRpcmVjdCBVUkwgcmVmZXJlbmNlIHRvIHRoZSByZXNvdXJjZSBpdHNlbGYgaXMgbm90IGFwcHJvcHJpYXRlLiBUaGV5IGFyZSBidXNpbmVzcyBpZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIHJlc291cmNlIGJ5IHRoZSBwZXJmb3JtZXIgb3Igb3RoZXIgc3lzdGVtcyBhbmQgcmVtYWluIGNvbnN0YW50IGFzIHRoZSByZXNvdXJjZSBpcyB1cGRhdGVkIGFuZCBwcm9wYWdhdGVzIGZyb20gc2VydmVyIHRvIHNlcnZlci4iIGNvbW1lbnQ9IlRoaXMgaXMgYSBidXNpbmVzcyBpZGVudGlmaWVyLCBub3QgYSByZXNvdXJjZSBpZGVudGlmaWVyLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJFdmVudCB0aGF0IGRpc3BlbnNlIGlzIHBhcnQgb2YiIGRlZmluaXRpb249IlRoZSBwcm9jZWR1cmUgdGhhdCB0cmlnZ2VyIHRoZSBkaXNwZW5zZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgcHJlcGFyYXRpb27igIsgfCBpbi1wcm9ncmVzc+KAiyB8IGNhbmNlbGxlZOKAiyB8IG9uLWhvbGTigIsgfCBjb21wbGV0ZWTigIsgfCBlbnRlcmVkLWluLWVycm9y4oCLIHwgc3RvcHBlZOKAiyB8IHVua25vd24iIGRlZmluaXRpb249IkEgY29kZSBzcGVjaWZ5aW5nIHRoZSBzdGF0ZSBvZiB0aGUgc2V0IG9mIGRpc3BlbnNlIGV2ZW50cy4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1c1JlYXNvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgYSBkaXNwZW5zZSB3YXMgbm90IHBlcmZvcm1lZCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSByZWFzb24gd2h5IGEgZGlzcGVuc2Ugd2FzIG5vdCBwZXJmb3JtZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlZmVyZW5jZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uRGlzcGVuc2VTdGF0dXNSZWFzb24iIGRlc2NyaXB0aW9uPSJBIGNvZGUgZGVzY3JpYmluZyB3aHkgYSBkaXNwZW5zZSB3YXMgbm90IHBlcmZvcm1lZC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUeXBlIG9mIG1lZGljYXRpb24gZGlzcGVuc2UiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgdHlwZSBvZiBtZWRpY2F0aW9uIGRpc3BlbnNlIChmb3IgZXhhbXBsZSwgd2hlcmUgdGhlIG1lZGljYXRpb24gaXMgZXhwZWN0ZWQgdG8gYmUgY29uc3VtZWQgb3IgYWRtaW5pc3RlcmVkIChpLmUuIGlucGF0aWVudCBvciBvdXRwYXRpZW50KSkuIiBjb21tZW50PSJUaGUgY2F0ZWdvcnkgY2FuIGJlIHVzZWQgdG8gaW5jbHVkZSB3aGVyZSB0aGUgbWVkaWNhdGlvbiBpcyBleHBlY3RlZCB0byBiZSBjb25zdW1lZCBvciBvdGhlciB0eXBlcyBvZiBkaXNwZW5zZXMuICBJbnZhcmlhbnRzIGNhbiBiZSB1c2VkIHRvIGJpbmQgdG8gZGlmZmVyZW50IHZhbHVlIHNldHMgd2hlbiBwcm9maWxpbmcgdG8gYmluZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uRGlzcGVuc2VDYXRlZ29yeSIgZGVzY3JpcHRpb249IkEgY29kZSBkZXNjcmliaW5nIHdoZXJlIHRoZSBkaXNwZW5zZWQgbWVkaWNhdGlvbiBpcyBleHBlY3RlZCB0byBiZSBjb25zdW1lZCBvciBhZG1pbmlzdGVyZWQuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1lZGljYXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBXaGF0IG1lZGljYXRpb24gd2FzIHN1cHBsaWVkIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHRoZSBtZWRpY2F0aW9uIGJlaW5nIGFkbWluaXN0ZXJlZC4gVGhpcyBpcyBlaXRoZXIgYSBsaW5rIHRvIGEgcmVzb3VyY2UgcmVwcmVzZW50aW5nIHRoZSBkZXRhaWxzIG9mIHRoZSBtZWRpY2F0aW9uIG9yIGEgc2ltcGxlIGF0dHJpYnV0ZSBjYXJyeWluZyBhIGNvZGUgdGhhdCBpZGVudGlmaWVzIHRoZSBtZWRpY2F0aW9uIGZyb20gYSBrbm93biBsaXN0IG9mIG1lZGljYXRpb25zLiIgY29tbWVudD0iSWYgb25seSBhIGNvZGUgaXMgc3BlY2lmaWVkLCB0aGVuIGl0IG5lZWRzIHRvIGJlIGEgY29kZSBmb3IgYSBzcGVjaWZpYyBwcm9kdWN0LiBJZiBtb3JlIGluZm9ybWF0aW9uIGlzIHJlcXVpcmVkLCB0aGVuIHRoZSB1c2Ugb2YgdGhlIG1lZGljYXRpb24gcmVzb3VyY2UgaXMgcmVjb21tZW5kZWQuICBGb3IgZXhhbXBsZSwgaWYgeW91IHJlcXVpcmUgZm9ybSBvciBsb3QgbnVtYmVyLCB0aGVuIHlvdSBtdXN0IHJlZmVyZW5jZSB0aGUgTWVkaWNhdGlvbiByZXNvdXJjZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlZmVyZW5jZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhlIHNldCBvZiBSeE5vcm0gY29kZXMgdG8gcmVwcmVzZW50IG1lZGljYXRpb25zIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgV2hvIHRoZSBkaXNwZW5zZSBpcyBmb3IiIGRlZmluaXRpb249IkEgbGluayB0byBhIHJlc291cmNlIHJlcHJlc2VudGluZyB0aGUgcGVyc29uIG9yIHRoZSBncm91cCB0byB3aG9tIHRoZSBtZWRpY2F0aW9uIHdpbGwgYmUgZ2l2ZW4uIiBjb21tZW50PSJTdWJzdGFuY2VBZG1pbmlzdHJhdGlvbi0mZ3Q7c3ViamVjdC0mZ3Q7UGF0aWVudC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29udGV4dCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJFbmNvdW50ZXIgLyBFcGlzb2RlIGFzc29jaWF0ZWQgd2l0aCBldmVudCIgZGVmaW5pdGlvbj0iVGhlIGVuY291bnRlciBvciBlcGlzb2RlIG9mIGNhcmUgdGhhdCBlc3RhYmxpc2hlcyB0aGUgY29udGV4dCBmb3IgdGhpcyBldmVudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdXBwb3J0aW5nSW5mb3JtYXRpb24iIGRlc2NyaXB0aW9uPSJJbmZvcm1hdGlvbiB0aGF0IHN1cHBvcnRzIHRoZSBkaXNwZW5zaW5nIG9mIHRoZSBtZWRpY2F0aW9uIiBkZWZpbml0aW9uPSJBZGRpdGlvbmFsIGluZm9ybWF0aW9uIHRoYXQgc3VwcG9ydHMgdGhlIG1lZGljYXRpb24gYmVpbmcgZGlzcGVuc2VkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IihVU0NESSkgV2hvIHBlcmZvcm1lZCBldmVudCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdobyBvciB3aGF0IHBlcmZvcm1lZCB0aGUgZXZlbnQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuTWVkaWNhdGlvbkRpc3BlbnNlLlBlcmZvcm1lciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaGVyZSB0aGUgZGlzcGVuc2Ugb2NjdXJyZWQiIGRlZmluaXRpb249IlRoZSBwcmluY2lwYWwgcGh5c2ljYWwgbG9jYXRpb24gd2hlcmUgdGhlIGRpc3BlbnNlIHdhcyBwZXJmb3JtZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yaXppbmdQcmVzY3JpcHRpb24iIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIE1lZGljYXRpb24gb3JkZXIgdGhhdCBhdXRob3JpemVzIHRoZSBkaXNwZW5zZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWRpY2F0aW9uIG9yZGVyIHRoYXQgaXMgYmVpbmcgZGlzcGVuc2VkIGFnYWluc3QuIiBjb21tZW50PSJNYXBzIHRvIGJhc2VkT24gaW4gRXZlbnQgbG9naWNhbCBtb2RlbC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBUcmlhbCBmaWxsLCBwYXJ0aWFsIGZpbGwsIGVtZXJnZW5jeSBmaWxsLCBldGMuIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHR5cGUgb2YgZGlzcGVuc2luZyBldmVudCB0aGF0IGlzIHBlcmZvcm1lZC4gRm9yIGV4YW1wbGUsIFRyaWFsIEZpbGwsIENvbXBsZXRpb24gb2YgVHJpYWwsIFBhcnRpYWwgRmlsbCwgRW1lcmdlbmN5IEZpbGwsIFNhbXBsZXMsIGV0Yy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icXVhbnRpdHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBBbW91bnQgZGlzcGVuc2VkIiBkZWZpbml0aW9uPSJUaGUgYW1vdW50IG9mIG1lZGljYXRpb24gdGhhdCBoYXMgYmVlbiBkaXNwZW5zZWQuIEluY2x1ZGVzIHVuaXQgb2YgbWVhc3VyZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkYXlzU3VwcGx5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBBbW91bnQgb2YgbWVkaWNhdGlvbiBleHByZXNzZWQgYXMgYSB0aW1pbmcgYW1vdW50IiBkZWZpbml0aW9uPSJUaGUgYW1vdW50IG9mIG1lZGljYXRpb24gZXhwcmVzc2VkIGFzIGEgdGltaW5nIGFtb3VudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ3aGVuUHJlcGFyZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFdoZW4gcHJvZHVjdCB3YXMgcGFja2FnZWQgYW5kIHJldmlld2VkIiBkZWZpbml0aW9uPSJUaGUgdGltZSB3aGVuIHRoZSBkaXNwZW5zZWQgcHJvZHVjdCB3YXMgcGFja2FnZWQgYW5kIHJldmlld2VkLiIgY29tbWVudD0iV2hlbiB1c2VkIGFzIHBhcnQgb2YgYSBjdW11bGF0aXZlIG1lZGljYXRpb24gZHVyYXRpb24gY2FsY3VsYXRpb24sIHRoZSB3aGVuUHJlcGFyZWQgZWxlbWVudCBpcyB1c2VkIGlmIHdoZW5IYW5kZWRPdmVyIGlzIG5vdCBhdmFpbGFibGUgdG8gZGV0ZXJtaW5lIGEgc3RhcnRpbmcgcG9pbnQgZm9yIHRoZSBwZXJpb2QgY292ZXJlZCBieSB0aGUgZGlzcGVuc2UuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0id2hlbkhhbmRlZE92ZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBXaGVuIHByb2R1Y3Qgd2FzIGdpdmVuIG91dCBvciBtYWlsZWQiIGRlZmluaXRpb249IldoZW4gdGhlIHByb2R1Y3Qgd2FzIGdpdmVuIG91dC4gRm9yIG1haWxlZCBwcmVzY3JpcHRpb25zLCB3aGVuIHRoZSBsYWJlbCB3YXMgcHJpbnRlZCIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXN0aW5hdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaGVyZSB0aGUgbWVkaWNhdGlvbiB3YXMgc2VudCIgZGVmaW5pdGlvbj0iSWRlbnRpZmljYXRpb24gb2YgdGhlIGZhY2lsaXR5L2xvY2F0aW9uIHdoZXJlIHRoZSBtZWRpY2F0aW9uIHdhcyBzaGlwcGVkIHRvLCBhcyBwYXJ0IG9mIHRoZSBkaXNwZW5zZSBldmVudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWNlaXZlciIgZGVzY3JpcHRpb249IldobyBjb2xsZWN0ZWQgdGhlIG1lZGljYXRpb24iIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIHBlcnNvbiB3aG8gcGlja2VkIHVwIHRoZSBtZWRpY2F0aW9uLiAgVGhpcyB3aWxsIHVzdWFsbHkgYmUgYSBwYXRpZW50IG9yIHRoZWlyIGNhcmVnaXZlciwgYnV0IHNvbWUgY2FzZXMgZXhpc3Qgd2hlcmUgaXQgY2FuIGJlIGEgaGVhbHRoY2FyZSBwcm9mZXNzaW9uYWwuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkluZm9ybWF0aW9uIGFib3V0IHRoZSBkaXNwZW5zZSIgZGVmaW5pdGlvbj0iRXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGRpc3BlbnNlIHRoYXQgY291bGQgbm90IGJlIGNvbnZleWVkIGluIHRoZSBvdGhlciBhdHRyaWJ1dGVzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkb3NhZ2VJbnN0cnVjdGlvbiIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgSG93IHRoZSBtZWRpY2F0aW9uIGlzIHRvIGJlIHVzZWQgYnkgdGhlIHBhdGllbnQgb3IgYWRtaW5pc3RlcmVkIGJ5IHRoZSBjYXJlZ2l2ZXIiIGRlZmluaXRpb249IkluZGljYXRlcyBob3cgdGhlIG1lZGljYXRpb24gaXMgdG8gYmUgdXNlZCBieSB0aGUgcGF0aWVudC4iIGNvbW1lbnQ9IldoZW4gdGhlIGRvc2Ugb3IgcmF0ZSBpcyBpbnRlbmRlZCB0byBjaGFuZ2Ugb3ZlciB0aGUgZW50aXJlIGFkbWluaXN0cmF0aW9uIHBlcmlvZCAoZS5nLiBUYXBlcmluZyBkb3NlIHByZXNjcmlwdGlvbnMpLCBtdWx0aXBsZSBpbnN0YW5jZXMgb2YgZG9zYWdlIGluc3RydWN0aW9ucyB3aWxsIG5lZWQgdG8gYmUgc3VwcGxpZWQgdG8gY29udmV5IHRoZSBkaWZmZXJlbnQgZG9zZXMvcmF0ZXMuJiMxMztUaGUgcGhhcm1hY2lzdCByZXZpZXdzIHRoZSBtZWRpY2F0aW9uIG9yZGVyIHByaW9yIHRvIGRpc3BlbnNlIGFuZCB1cGRhdGVzIHRoZSBkb3NhZ2VJbnN0cnVjdGlvbiBiYXNlZCBvbiB0aGUgYWN0dWFsIHByb2R1Y3QgYmVpbmcgZGlzcGVuc2VkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkRvc2FnZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJzdGl0dXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuTWVkaWNhdGlvbkRpc3BlbnNlLlN1YnN0aXR1dGlvbiIgZGVzY3JpcHRpb249IldoZXRoZXIgYSBzdWJzdGl0dXRpb24gd2FzIHBlcmZvcm1lZCBvbiB0aGUgZGlzcGVuc2UiIGRlZmluaXRpb249IkluZGljYXRlcyB3aGV0aGVyIG9yIG5vdCBzdWJzdGl0dXRpb24gd2FzIG1hZGUgYXMgcGFydCBvZiB0aGUgZGlzcGVuc2UuICBJbiBzb21lIGNhc2VzLCBzdWJzdGl0dXRpb24gd2lsbCBiZSBleHBlY3RlZCBidXQgZG9lcyBub3QgaGFwcGVuLCBpbiBvdGhlciBjYXNlcyBzdWJzdGl0dXRpb24gaXMgbm90IGV4cGVjdGVkIGJ1dCBkb2VzIGhhcHBlbi4gIFRoaXMgYmxvY2sgZXhwbGFpbnMgd2hhdCBzdWJzdGl0dXRpb24gZGlkIG9yIGRpZCBub3QgaGFwcGVuIGFuZCB3aHkuICBJZiBub3RoaW5nIGlzIHNwZWNpZmllZCwgc3Vic3RpdHV0aW9uIHdhcyBub3QgZG9uZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXRlY3RlZElzc3VlIiBkZXNjcmlwdGlvbj0iQ2xpbmljYWwgaXNzdWUgd2l0aCBhY3Rpb24iIGRlZmluaXRpb249IkluZGljYXRlcyBhbiBhY3R1YWwgb3IgcG90ZW50aWFsIGNsaW5pY2FsIGlzc3VlIHdpdGggb3IgYmV0d2VlbiBvbmUgb3IgbW9yZSBhY3RpdmUgb3IgcHJvcG9zZWQgY2xpbmljYWwgYWN0aW9ucyBmb3IgYSBwYXRpZW50OyBlLmcuIGRydWctZHJ1ZyBpbnRlcmFjdGlvbiwgZHVwbGljYXRlIHRoZXJhcHksIGRvc2FnZSBhbGVydCBldGMuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgY2FuIGluY2x1ZGUgYSBkZXRlY3RlZCBpc3N1ZSB0aGF0IGhhcyBiZWVuIGlkZW50aWZpZWQgZWl0aGVyIGJ5IGEgZGVjaXNpb24gc3VwcG9ydCBzeXN0ZW0gb3IgYnkgYSBjbGluaWNpYW4gYW5kIG1heSBpbmNsdWRlIGluZm9ybWF0aW9uIG9uIHRoZSBzdGVwcyB0aGF0IHdlcmUgdGFrZW4gdG8gYWRkcmVzcyB0aGUgaXNzdWUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZXZlbnRIaXN0b3J5IiBkZXNjcmlwdGlvbj0iQSBsaXN0IG9mIHJlbGV2YW50IGxpZmVjeWNsZSBldmVudHMiIGRlZmluaXRpb249IkEgc3VtbWFyeSBvZiB0aGUgZXZlbnRzIG9mIGludGVyZXN0IHRoYXQgaGF2ZSBvY2N1cnJlZCwgc3VjaCBhcyB3aGVuIHRoZSBkaXNwZW5zZSB3YXMgdmVyaWZpZWQuIiBjb21tZW50PSJUaGlzIG1pZ2h0IG5vdCBpbmNsdWRlIHByb3ZlbmFuY2VzIGZvciBhbGwgdmVyc2lvbnMgb2YgdGhlIHJlcXVlc3Qg4oCTIG9ubHkgdGhvc2UgZGVlbWVkIOKAnHJlbGV2YW504oCdIG9yIGltcG9ydGFudC4gVGhpcyBTSEFMTCBOT1QgaW5jbHVkZSB0aGUgUHJvdmVuYW5jZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBjdXJyZW50IHZlcnNpb24gb2YgdGhlIHJlc291cmNlLiAoSWYgdGhhdCBwcm92ZW5hbmNlIGlzIGRlZW1lZCB0byBiZSBhIOKAnHJlbGV2YW504oCdIGNoYW5nZSwgaXQgd2lsbCBuZWVkIHRvIGJlIGFkZGVkIGFzIHBhcnQgb2YgYSBsYXRlciB1cGRhdGUuIFVudGlsIHRoZW4sIGl0IGNhbiBiZSBxdWVyaWVkIGRpcmVjdGx5IGFzIHRoZSBQcm92ZW5hbmNlIHRoYXQgcG9pbnRzIHRvIHRoaXMgdmVyc2lvbiB1c2luZyBfcmV2aW5jbHVkZSBBbGwgUHJvdmVuYW5jZXMgc2hvdWxkIGhhdmUgc29tZSBoaXN0b3JpY2FsIHZlcnNpb24gb2YgdGhpcyBSZXF1ZXN0IGFzIHRoZWlyIHN1YmplY3QuKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJhY3RvciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9InJlY2VpdmVyIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InN1YmplY3QiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0icGF0aWVudCIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJyZWNlaXZlciIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTWVkaWNhdGlvbkRpc3BlbnNlLlBlcmZvcm1lciIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZnVuY3Rpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldobyBwZXJmb3JtZWQgdGhlIGRpc3BlbnNlIGFuZCB3aGF0IHRoZXkgZGlkIiBkZWZpbml0aW9uPSJEaXN0aW5ndWlzaGVzIHRoZSB0eXBlIG9mIHBlcmZvcm1lciBpbiB0aGUgZGlzcGVuc2UuICBGb3IgZXhhbXBsZSwgZGF0ZSBlbnRlcmVyLCBwYWNrYWdlciwgZmluYWwgY2hlY2tlci4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uRGlzcGVuc2VQZXJmb3JtZXJGdW5jdGlvbiIgZGVzY3JpcHRpb249IkEgY29kZSBkZXNjcmliaW5nIHRoZSByb2xlIGFuIGluZGl2aWR1YWwgcGxheWVkIGluIGRpc3BlbnNpbmcgYSBtZWRpY2F0aW9uLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWN0b3IiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBJbmRpdmlkdWFsIHdobyB3YXMgcGVyZm9ybWluZyIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSwgcHJhY3RpdGlvbmVyLCBldGMuIHdobyBwZXJmb3JtZWQgdGhlIGFjdGlvbi4gIEl0IHNob3VsZCBiZSBhc3N1bWVkIHRoYXQgdGhlIGFjdG9yIGlzIHRoZSBkaXNwZW5zZXIgb2YgdGhlIG1lZGljYXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTWVkaWNhdGlvbkRpc3BlbnNlLlN1YnN0aXR1dGlvbiIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0id2FzU3Vic3RpdHV0ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGV0aGVyIGEgc3Vic3RpdHV0aW9uIHdhcyBvciB3YXMgbm90IHBlcmZvcm1lZCBvbiB0aGUgZGlzcGVuc2UiIGRlZmluaXRpb249IlRydWUgaWYgdGhlIGRpc3BlbnNlciBkaXNwZW5zZWQgYSBkaWZmZXJlbnQgZHJ1ZyBvciBwcm9kdWN0IGZyb20gd2hhdCB3YXMgcHJlc2NyaWJlZC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb2RlIHNpZ25pZnlpbmcgd2hldGhlciBhIGRpZmZlcmVudCBkcnVnIHdhcyBkaXNwZW5zZWQgZnJvbSB3aGF0IHdhcyBwcmVzY3JpYmVkIiBkZWZpbml0aW9uPSJBIGNvZGUgc2lnbmlmeWluZyB3aGV0aGVyIGEgZGlmZmVyZW50IGRydWcgd2FzIGRpc3BlbnNlZCBmcm9tIHdoYXQgd2FzIHByZXNjcmliZWQuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvbkludGVuZGVkU3Vic3RpdHV0aW9uVHlwZSIgZGVzY3JpcHRpb249IkEgY29kZWQgY29uY2VwdCBkZXNjcmliaW5nIHdoZXRoZXIgYSBkaWZmZXJlbnQgbWVkaWNpbmFsIHByb2R1Y3QgbWF5IGJlIGRpc3BlbnNlZCBvdGhlciB0aGFuIHRoZSBwcm9kdWN0IGFzIHNwZWNpZmllZCBleGFjdGx5IGluIHRoZSBwcmVzY3JpcHRpb24uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgd2FzIHN1YnN0aXR1dGlvbiBtYWRlIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHJlYXNvbiBmb3IgdGhlIHN1YnN0aXR1dGlvbiAob3IgbGFjayBvZiBzdWJzdGl0dXRpb24pIGZyb20gd2hhdCB3YXMgcHJlc2NyaWJlZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvbkludGVuZGVkU3Vic3RpdHV0aW9uUmVhc29uIiBkZXNjcmlwdGlvbj0iQSBjb2RlZCBjb25jZXB0IGRlc2NyaWJpbmcgdGhlIHJlYXNvbiB0aGF0IGEgZGlmZmVyZW50IG1lZGljYXRpb24gc2hvdWxkIChvciBzaG91bGQgbm90KSBiZSBzdWJzdGl0dXRlZCBmcm9tIHdoYXQgd2FzIHByZXNjcmliZWQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZXNwb25zaWJsZVBhcnR5IiBkZXNjcmlwdGlvbj0iV2hvIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgc3Vic3RpdHV0aW9uIiBkZWZpbml0aW9uPSJUaGUgcGVyc29uIG9yIG9yZ2FuaXphdGlvbiB0aGF0IGhhcyBwcmltYXJ5IHJlc3BvbnNpYmlsaXR5IGZvciB0aGUgc3Vic3RpdHV0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTWVkaWNhdGlvbkRpc3BlbnNlRGVjbGluZWQiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW1lZGljYXRpb25kaXNwZW5zZWRlY2xpbmVkIiBsYWJlbD0iUUlDb3JlIE1lZGljYXRpb25EaXNwZW5zZSBEZWNsaW5lZCIgdGFyZ2V0PSJNZWRpY2F0aW9uRGlzcGVuc2UiIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9Im1lZGljYXRpb24iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlY29yZGVkIiBlbGVtZW50VHlwZT0iUUlDb3JlLk5vdERvbmVSZWNvcmRlZCIgdGFyZ2V0PSIlcGFyZW50LmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLXJlY29yZGVkJ10udmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgRXh0ZW5zaW9uIiBkZWZpbml0aW9uPSJDYXB0dXJlcyB0aGUgcmVjb3JkZWQgZGF0ZSBvZiB0aGUgZXZlbnQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkV4dGVybmFsIGlkZW50aWZpZXIiIGRlZmluaXRpb249IklkZW50aWZpZXJzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIE1lZGljYXRpb24gRGlzcGVuc2UgdGhhdCBhcmUgZGVmaW5lZCBieSBidXNpbmVzcyBwcm9jZXNzZXMgYW5kL29yIHVzZWQgdG8gcmVmZXIgdG8gaXQgd2hlbiBhIGRpcmVjdCBVUkwgcmVmZXJlbmNlIHRvIHRoZSByZXNvdXJjZSBpdHNlbGYgaXMgbm90IGFwcHJvcHJpYXRlLiBUaGV5IGFyZSBidXNpbmVzcyBpZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIHJlc291cmNlIGJ5IHRoZSBwZXJmb3JtZXIgb3Igb3RoZXIgc3lzdGVtcyBhbmQgcmVtYWluIGNvbnN0YW50IGFzIHRoZSByZXNvdXJjZSBpcyB1cGRhdGVkIGFuZCBwcm9wYWdhdGVzIGZyb20gc2VydmVyIHRvIHNlcnZlci4iIGNvbW1lbnQ9IlRoaXMgaXMgYSBidXNpbmVzcyBpZGVudGlmaWVyLCBub3QgYSByZXNvdXJjZSBpZGVudGlmaWVyLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJFdmVudCB0aGF0IGRpc3BlbnNlIGlzIHBhcnQgb2YiIGRlZmluaXRpb249IlRoZSBwcm9jZWR1cmUgdGhhdCB0cmlnZ2VyIHRoZSBkaXNwZW5zZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgcHJlcGFyYXRpb24gfCBpbi1wcm9ncmVzcyB8IGNhbmNlbGxlZCB8IG9uLWhvbGQgfCBjb21wbGV0ZWQgfCBlbnRlcmVkLWluLWVycm9yIHwgc3RvcHBlZCB8IGRlY2xpbmVkIHwgdW5rbm93biIgZGVmaW5pdGlvbj0iQSBjb2RlIHNwZWNpZnlpbmcgdGhlIHN0YXRlIG9mIHRoZSBzZXQgb2YgZGlzcGVuc2UgZXZlbnRzLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzUmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgV2h5IGEgZGlzcGVuc2Ugd2FzIG5vdCBwZXJmb3JtZWQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgcmVhc29uIHdoeSBhIGRpc3BlbnNlIHdhcyBub3QgcGVyZm9ybWVkLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGUgcmVhc29uIHRoZSBldmVudCBkaWQgbm90IG9jY3VyIG9yIHdhcyBub3QgcGVyZm9ybWVkIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVHlwZSBvZiBtZWRpY2F0aW9uIGRpc3BlbnNlIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHR5cGUgb2YgbWVkaWNhdGlvbiBkaXNwZW5zZSAoZm9yIGV4YW1wbGUsIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGNvbnN1bWVkIG9yIGFkbWluaXN0ZXJlZCAoaS5lLiBpbnBhdGllbnQgb3Igb3V0cGF0aWVudCkpLiIgY29tbWVudD0iVGhlIGNhdGVnb3J5IGNhbiBiZSB1c2VkIHRvIGluY2x1ZGUgd2hlcmUgdGhlIG1lZGljYXRpb24gaXMgZXhwZWN0ZWQgdG8gYmUgY29uc3VtZWQgb3Igb3RoZXIgdHlwZXMgb2YgZGlzcGVuc2VzLiAgSW52YXJpYW50cyBjYW4gYmUgdXNlZCB0byBiaW5kIHRvIGRpZmZlcmVudCB2YWx1ZSBzZXRzIHdoZW4gcHJvZmlsaW5nIHRvIGJpbmQuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvbkRpc3BlbnNlQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJBIGNvZGUgZGVzY3JpYmluZyB3aGVyZSB0aGUgZGlzcGVuc2VkIG1lZGljYXRpb24gaXMgZXhwZWN0ZWQgdG8gYmUgY29uc3VtZWQgb3IgYWRtaW5pc3RlcmVkLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZWRpY2F0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgV2hhdCBtZWRpY2F0aW9uIHdhcyBzdXBwbGllZCIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgbWVkaWNhdGlvbiBiZWluZyBhZG1pbmlzdGVyZWQuIFRoaXMgaXMgZWl0aGVyIGEgbGluayB0byBhIHJlc291cmNlIHJlcHJlc2VudGluZyB0aGUgZGV0YWlscyBvZiB0aGUgbWVkaWNhdGlvbiBvciBhIHNpbXBsZSBhdHRyaWJ1dGUgY2FycnlpbmcgYSBjb2RlIHRoYXQgaWRlbnRpZmllcyB0aGUgbWVkaWNhdGlvbiBmcm9tIGEga25vd24gbGlzdCBvZiBtZWRpY2F0aW9ucy4iIGNvbW1lbnQ9IklmIG9ubHkgYSBjb2RlIGlzIHNwZWNpZmllZCwgdGhlbiBpdCBuZWVkcyB0byBiZSBhIGNvZGUgZm9yIGEgc3BlY2lmaWMgcHJvZHVjdC4gSWYgbW9yZSBpbmZvcm1hdGlvbiBpcyByZXF1aXJlZCwgdGhlbiB0aGUgdXNlIG9mIHRoZSBtZWRpY2F0aW9uIHJlc291cmNlIGlzIHJlY29tbWVuZGVkLiAgRm9yIGV4YW1wbGUsIGlmIHlvdSByZXF1aXJlIGZvcm0gb3IgbG90IG51bWJlciwgdGhlbiB5b3UgbXVzdCByZWZlcmVuY2UgdGhlIE1lZGljYXRpb24gcmVzb3VyY2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlRoZSBzZXQgb2YgUnhOb3JtIGNvZGVzIHRvIHJlcHJlc2VudCBtZWRpY2F0aW9ucyIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFdobyB0aGUgZGlzcGVuc2UgaXMgZm9yIiBkZWZpbml0aW9uPSJBIGxpbmsgdG8gYSByZXNvdXJjZSByZXByZXNlbnRpbmcgdGhlIHBlcnNvbiBvciB0aGUgZ3JvdXAgdG8gd2hvbSB0aGUgbWVkaWNhdGlvbiB3aWxsIGJlIGdpdmVuLiIgY29tbWVudD0iU3Vic3RhbmNlQWRtaW5pc3RyYXRpb24tJmd0O3N1YmplY3QtJmd0O1BhdGllbnQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbnRleHQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iRW5jb3VudGVyIC8gRXBpc29kZSBhc3NvY2lhdGVkIHdpdGggZXZlbnQiIGRlZmluaXRpb249IlRoZSBlbmNvdW50ZXIgb3IgZXBpc29kZSBvZiBjYXJlIHRoYXQgZXN0YWJsaXNoZXMgdGhlIGNvbnRleHQgZm9yIHRoaXMgZXZlbnQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3VwcG9ydGluZ0luZm9ybWF0aW9uIiBkZXNjcmlwdGlvbj0iSW5mb3JtYXRpb24gdGhhdCBzdXBwb3J0cyB0aGUgZGlzcGVuc2luZyBvZiB0aGUgbWVkaWNhdGlvbiIgZGVmaW5pdGlvbj0iQWRkaXRpb25hbCBpbmZvcm1hdGlvbiB0aGF0IHN1cHBvcnRzIHRoZSBtZWRpY2F0aW9uIGJlaW5nIGRpc3BlbnNlZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFdobyBwZXJmb3JtZWQgZXZlbnQiIGRlZmluaXRpb249IkluZGljYXRlcyB3aG8gb3Igd2hhdCBwZXJmb3JtZWQgdGhlIGV2ZW50LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk1lZGljYXRpb25EaXNwZW5zZS5QZXJmb3JtZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibG9jYXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hlcmUgdGhlIGRpc3BlbnNlIG9jY3VycmVkIiBkZWZpbml0aW9uPSJUaGUgcHJpbmNpcGFsIHBoeXNpY2FsIGxvY2F0aW9uIHdoZXJlIHRoZSBkaXNwZW5zZSB3YXMgcGVyZm9ybWVkLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImF1dGhvcml6aW5nUHJlc2NyaXB0aW9uIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBNZWRpY2F0aW9uIG9yZGVyIHRoYXQgYXV0aG9yaXplcyB0aGUgZGlzcGVuc2UiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgbWVkaWNhdGlvbiBvcmRlciB0aGF0IGlzIGJlaW5nIGRpc3BlbnNlZCBhZ2FpbnN0LiIgY29tbWVudD0iTWFwcyB0byBiYXNlZE9uIGluIEV2ZW50IGxvZ2ljYWwgbW9kZWwuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgVHJpYWwgZmlsbCwgcGFydGlhbCBmaWxsLCBlbWVyZ2VuY3kgZmlsbCwgZXRjLiIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSB0eXBlIG9mIGRpc3BlbnNpbmcgZXZlbnQgdGhhdCBpcyBwZXJmb3JtZWQuIEZvciBleGFtcGxlLCBUcmlhbCBGaWxsLCBDb21wbGV0aW9uIG9mIFRyaWFsLCBQYXJ0aWFsIEZpbGwsIEVtZXJnZW5jeSBGaWxsLCBTYW1wbGVzLCBldGMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InF1YW50aXR5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgQW1vdW50IGRpc3BlbnNlZCIgZGVmaW5pdGlvbj0iVGhlIGFtb3VudCBvZiBtZWRpY2F0aW9uIHRoYXQgaGFzIGJlZW4gZGlzcGVuc2VkLiBJbmNsdWRlcyB1bml0IG9mIG1lYXN1cmUuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGF5c1N1cHBseSIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBbW91bnQgb2YgbWVkaWNhdGlvbiBleHByZXNzZWQgYXMgYSB0aW1pbmcgYW1vdW50IiBkZWZpbml0aW9uPSJUaGUgYW1vdW50IG9mIG1lZGljYXRpb24gZXhwcmVzc2VkIGFzIGEgdGltaW5nIGFtb3VudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ3aGVuUHJlcGFyZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hlbiBwcm9kdWN0IHdhcyBwYWNrYWdlZCBhbmQgcmV2aWV3ZWQiIGRlZmluaXRpb249IlRoZSB0aW1lIHdoZW4gdGhlIGRpc3BlbnNlZCBwcm9kdWN0IHdhcyBwYWNrYWdlZCBhbmQgcmV2aWV3ZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0id2hlbkhhbmRlZE92ZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBXaGVuIHByb2R1Y3Qgd2FzIGdpdmVuIG91dCBvciBtYWlsZWQiIGRlZmluaXRpb249IldoZW4gdGhlIHByb2R1Y3Qgd2FzIGdpdmVuIG91dC4gRm9yIG1haWxlZCBwcmVzY3JpcHRpb25zLCB3aGVuIHRoZSBsYWJlbCB3YXMgcHJpbnRlZCIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXN0aW5hdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaGVyZSB0aGUgbWVkaWNhdGlvbiB3YXMgc2VudCIgZGVmaW5pdGlvbj0iSWRlbnRpZmljYXRpb24gb2YgdGhlIGZhY2lsaXR5L2xvY2F0aW9uIHdoZXJlIHRoZSBtZWRpY2F0aW9uIHdhcyBzaGlwcGVkIHRvLCBhcyBwYXJ0IG9mIHRoZSBkaXNwZW5zZSBldmVudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWNlaXZlciIgZGVzY3JpcHRpb249IldobyBjb2xsZWN0ZWQgdGhlIG1lZGljYXRpb24iIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIHBlcnNvbiB3aG8gcGlja2VkIHVwIHRoZSBtZWRpY2F0aW9uLiAgVGhpcyB3aWxsIHVzdWFsbHkgYmUgYSBwYXRpZW50IG9yIHRoZWlyIGNhcmVnaXZlciwgYnV0IHNvbWUgY2FzZXMgZXhpc3Qgd2hlcmUgaXQgY2FuIGJlIGEgaGVhbHRoY2FyZSBwcm9mZXNzaW9uYWwuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkluZm9ybWF0aW9uIGFib3V0IHRoZSBkaXNwZW5zZSIgZGVmaW5pdGlvbj0iRXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGRpc3BlbnNlIHRoYXQgY291bGQgbm90IGJlIGNvbnZleWVkIGluIHRoZSBvdGhlciBhdHRyaWJ1dGVzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkb3NhZ2VJbnN0cnVjdGlvbiIgZGVzY3JpcHRpb249IihVU0NESSkgSG93IHRoZSBtZWRpY2F0aW9uIGlzIHRvIGJlIHVzZWQgYnkgdGhlIHBhdGllbnQgb3IgYWRtaW5pc3RlcmVkIGJ5IHRoZSBjYXJlZ2l2ZXIiIGRlZmluaXRpb249IkluZGljYXRlcyBob3cgdGhlIG1lZGljYXRpb24gaXMgdG8gYmUgdXNlZCBieSB0aGUgcGF0aWVudC4iIGNvbW1lbnQ9IldoZW4gdGhlIGRvc2Ugb3IgcmF0ZSBpcyBpbnRlbmRlZCB0byBjaGFuZ2Ugb3ZlciB0aGUgZW50aXJlIGFkbWluaXN0cmF0aW9uIHBlcmlvZCAoZS5nLiBUYXBlcmluZyBkb3NlIHByZXNjcmlwdGlvbnMpLCBtdWx0aXBsZSBpbnN0YW5jZXMgb2YgZG9zYWdlIGluc3RydWN0aW9ucyB3aWxsIG5lZWQgdG8gYmUgc3VwcGxpZWQgdG8gY29udmV5IHRoZSBkaWZmZXJlbnQgZG9zZXMvcmF0ZXMuJiMxMztUaGUgcGhhcm1hY2lzdCByZXZpZXdzIHRoZSBtZWRpY2F0aW9uIG9yZGVyIHByaW9yIHRvIGRpc3BlbnNlIGFuZCB1cGRhdGVzIHRoZSBkb3NhZ2VJbnN0cnVjdGlvbiBiYXNlZCBvbiB0aGUgYWN0dWFsIHByb2R1Y3QgYmVpbmcgZGlzcGVuc2VkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkRvc2FnZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJzdGl0dXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuTWVkaWNhdGlvbkRpc3BlbnNlLlN1YnN0aXR1dGlvbiIgZGVzY3JpcHRpb249IldoZXRoZXIgYSBzdWJzdGl0dXRpb24gd2FzIHBlcmZvcm1lZCBvbiB0aGUgZGlzcGVuc2UiIGRlZmluaXRpb249IkluZGljYXRlcyB3aGV0aGVyIG9yIG5vdCBzdWJzdGl0dXRpb24gd2FzIG1hZGUgYXMgcGFydCBvZiB0aGUgZGlzcGVuc2UuICBJbiBzb21lIGNhc2VzLCBzdWJzdGl0dXRpb24gd2lsbCBiZSBleHBlY3RlZCBidXQgZG9lcyBub3QgaGFwcGVuLCBpbiBvdGhlciBjYXNlcyBzdWJzdGl0dXRpb24gaXMgbm90IGV4cGVjdGVkIGJ1dCBkb2VzIGhhcHBlbi4gIFRoaXMgYmxvY2sgZXhwbGFpbnMgd2hhdCBzdWJzdGl0dXRpb24gZGlkIG9yIGRpZCBub3QgaGFwcGVuIGFuZCB3aHkuICBJZiBub3RoaW5nIGlzIHNwZWNpZmllZCwgc3Vic3RpdHV0aW9uIHdhcyBub3QgZG9uZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXRlY3RlZElzc3VlIiBkZXNjcmlwdGlvbj0iQ2xpbmljYWwgaXNzdWUgd2l0aCBhY3Rpb24iIGRlZmluaXRpb249IkluZGljYXRlcyBhbiBhY3R1YWwgb3IgcG90ZW50aWFsIGNsaW5pY2FsIGlzc3VlIHdpdGggb3IgYmV0d2VlbiBvbmUgb3IgbW9yZSBhY3RpdmUgb3IgcHJvcG9zZWQgY2xpbmljYWwgYWN0aW9ucyBmb3IgYSBwYXRpZW50OyBlLmcuIGRydWctZHJ1ZyBpbnRlcmFjdGlvbiwgZHVwbGljYXRlIHRoZXJhcHksIGRvc2FnZSBhbGVydCBldGMuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgY2FuIGluY2x1ZGUgYSBkZXRlY3RlZCBpc3N1ZSB0aGF0IGhhcyBiZWVuIGlkZW50aWZpZWQgZWl0aGVyIGJ5IGEgZGVjaXNpb24gc3VwcG9ydCBzeXN0ZW0gb3IgYnkgYSBjbGluaWNpYW4gYW5kIG1heSBpbmNsdWRlIGluZm9ybWF0aW9uIG9uIHRoZSBzdGVwcyB0aGF0IHdlcmUgdGFrZW4gdG8gYWRkcmVzcyB0aGUgaXNzdWUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZXZlbnRIaXN0b3J5IiBkZXNjcmlwdGlvbj0iQSBsaXN0IG9mIHJlbGV2YW50IGxpZmVjeWNsZSBldmVudHMiIGRlZmluaXRpb249IkEgc3VtbWFyeSBvZiB0aGUgZXZlbnRzIG9mIGludGVyZXN0IHRoYXQgaGF2ZSBvY2N1cnJlZCwgc3VjaCBhcyB3aGVuIHRoZSBkaXNwZW5zZSB3YXMgdmVyaWZpZWQuIiBjb21tZW50PSJUaGlzIG1pZ2h0IG5vdCBpbmNsdWRlIHByb3ZlbmFuY2VzIGZvciBhbGwgdmVyc2lvbnMgb2YgdGhlIHJlcXVlc3Qg4oCTIG9ubHkgdGhvc2UgZGVlbWVkIOKAnHJlbGV2YW504oCdIG9yIGltcG9ydGFudC4gVGhpcyBTSEFMTCBOT1QgaW5jbHVkZSB0aGUgUHJvdmVuYW5jZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBjdXJyZW50IHZlcnNpb24gb2YgdGhlIHJlc291cmNlLiAoSWYgdGhhdCBwcm92ZW5hbmNlIGlzIGRlZW1lZCB0byBiZSBhIOKAnHJlbGV2YW504oCdIGNoYW5nZSwgaXQgd2lsbCBuZWVkIHRvIGJlIGFkZGVkIGFzIHBhcnQgb2YgYSBsYXRlciB1cGRhdGUuIFVudGlsIHRoZW4sIGl0IGNhbiBiZSBxdWVyaWVkIGRpcmVjdGx5IGFzIHRoZSBQcm92ZW5hbmNlIHRoYXQgcG9pbnRzIHRvIHRoaXMgdmVyc2lvbiB1c2luZyBfcmV2aW5jbHVkZSBBbGwgUHJvdmVuYW5jZXMgc2hvdWxkIGhhdmUgc29tZSBoaXN0b3JpY2FsIHZlcnNpb24gb2YgdGhpcyBSZXF1ZXN0IGFzIHRoZWlyIHN1YmplY3QuKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik1lZGljYXRpb25Ob3RSZXF1ZXN0ZWQiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW1lZGljYXRpb25ub3RyZXF1ZXN0ZWQiIGxhYmVsPSJRSUNvcmUgTWVkaWNhdGlvbiBOb3QgUmVxdWVzdGVkIiB0YXJnZXQ9Ik1lZGljYXRpb25SZXF1ZXN0IiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJtZWRpY2F0aW9uIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iRXh0ZXJuYWwgaWRzIGZvciB0aGlzIHJlcXVlc3QiIGRlZmluaXRpb249IklkZW50aWZpZXJzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIG1lZGljYXRpb24gcmVxdWVzdCB0aGF0IGFyZSBkZWZpbmVkIGJ5IGJ1c2luZXNzIHByb2Nlc3NlcyBhbmQvb3IgdXNlZCB0byByZWZlciB0byBpdCB3aGVuIGEgZGlyZWN0IFVSTCByZWZlcmVuY2UgdG8gdGhlIHJlc291cmNlIGl0c2VsZiBpcyBub3QgYXBwcm9wcmlhdGUuIFRoZXkgYXJlIGJ1c2luZXNzIGlkZW50aWZpZXJzIGFzc2lnbmVkIHRvIHRoaXMgcmVzb3VyY2UgYnkgdGhlIHBlcmZvcm1lciBvciBvdGhlciBzeXN0ZW1zIGFuZCByZW1haW4gY29uc3RhbnQgYXMgdGhlIHJlc291cmNlIGlzIHVwZGF0ZWQgYW5kIHByb3BhZ2F0ZXMgZnJvbSBzZXJ2ZXIgdG8gc2VydmVyLiIgY29tbWVudD0iVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBhY3RpdmUgfCBvbi1ob2xkIHwgY2FuY2VsbGVkIHwgY29tcGxldGVkIHwgZW50ZXJlZC1pbi1lcnJvciB8IHN0b3BwZWQgfCBkcmFmdCB8IHVua25vd24iIGRlZmluaXRpb249IkEgY29kZSBzcGVjaWZ5aW5nIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBvcmRlci4gIEdlbmVyYWxseSwgdGhpcyB3aWxsIGJlIGFjdGl2ZSBvciBjb21wbGV0ZWQgc3RhdGUuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJBIGNvZGUgc3BlY2lmeWluZyB0aGUgc3RhdGUgb2YgdGhlIHByZXNjcmliaW5nIGV2ZW50LiBEZXNjcmliZXMgdGhlIGxpZmVjeWNsZSBvZiB0aGUgcHJlc2NyaXB0aW9uLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1c1JlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmVhc29uIGZvciBjdXJyZW50IHN0YXR1cyIgZGVmaW5pdGlvbj0iQ2FwdHVyZXMgdGhlIHJlYXNvbiBmb3IgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIE1lZGljYXRpb25SZXF1ZXN0LiIgY29tbWVudD0iVGhpcyBpcyBnZW5lcmFsbHkgb25seSB1c2VkIGZvciAmcXVvdDtleGNlcHRpb24mcXVvdDsgc3RhdHVzZXMgc3VjaCBhcyAmcXVvdDtzdXNwZW5kZWQmcXVvdDsgb3IgJnF1b3Q7Y2FuY2VsbGVkJnF1b3Q7LiBUaGUgcmVhc29uIHdoeSB0aGUgTWVkaWNhdGlvblJlcXVlc3Qgd2FzIGNyZWF0ZWQgYXQgYWxsIGlzIGNhcHR1cmVkIGluIHJlYXNvbkNvZGUsIG5vdCBoZXJlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1lZGljYXRpb25SZXF1ZXN0U3RhdHVzUmVhc29uIiBkZXNjcmlwdGlvbj0iSWRlbnRpZmllcyB0aGUgcmVhc29ucyBmb3IgYSBnaXZlbiBzdGF0dXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlbnQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihVU0NESSkgcHJvcG9zYWwgfCBwbGFuIHwgb3JkZXIgfCBvcmlnaW5hbC1vcmRlciB8IHJlZmxleC1vcmRlciB8IGZpbGxlci1vcmRlciB8IGluc3RhbmNlLW9yZGVyIHwgb3B0aW9uIiBkZWZpbml0aW9uPSJXaGV0aGVyIHRoZSByZXF1ZXN0IGlzIGEgcHJvcG9zYWwsIHBsYW4sIG9yIGFuIG9yaWdpbmFsIG9yZGVyLiIgY29tbWVudD0iSXQgaXMgZXhwZWN0ZWQgdGhhdCB0aGUgdHlwZSBvZiByZXF1ZXN0ZXIgd2lsbCBiZSByZXN0cmljdGVkIGZvciBkaWZmZXJlbnQgc3RhZ2VzIG9mIGEgTWVkaWNhdGlvblJlcXVlc3QuICBGb3IgZXhhbXBsZSwgUHJvcG9zYWxzIGNhbiBiZSBjcmVhdGVkIGJ5IGEgcGF0aWVudCwgcmVsYXRlZFBlcnNvbiwgUHJhY3RpdGlvbmVyIG9yIERldmljZS4gIFBsYW5zIGNhbiBiZSBjcmVhdGVkIGJ5IFByYWN0aXRpb25lcnMsIFBhdGllbnRzLCBSZWxhdGVkUGVyc29ucyBhbmQgRGV2aWNlcy4gIE9yaWdpbmFsIG9yZGVycyBjYW4gYmUgY3JlYXRlZCBieSBhIFByYWN0aXRpb25lciBvbmx5LiYjMTM7JiMxMztBbiBpbnN0YW5jZS1vcmRlciBpcyBhbiBpbnN0YW50aWF0aW9uIG9mIGEgcmVxdWVzdCBvciBvcmRlciBhbmQgbWF5IGJlIHVzZWQgdG8gcG9wdWxhdGUgTWVkaWNhdGlvbiBBZG1pbmlzdHJhdGlvbiBSZWNvcmQuJiMxMzsmIzEzO1RoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgaW50ZW50IGFsdGVycyB3aGVuIGFuZCBob3cgdGhlIHJlc291cmNlIGlzIGFjdHVhbGx5IGFwcGxpY2FibGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGUga2luZCBvZiBtZWRpY2F0aW9uIG9yZGVyLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBUeXBlIG9mIG1lZGljYXRpb24gdXNhZ2UiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgdHlwZSBvZiBtZWRpY2F0aW9uIHJlcXVlc3QgKGZvciBleGFtcGxlLCB3aGVyZSB0aGUgbWVkaWNhdGlvbiBpcyBleHBlY3RlZCB0byBiZSBjb25zdW1lZCBvciBhZG1pbmlzdGVyZWQgKGkuZS4gaW5wYXRpZW50IG9yIG91dHBhdGllbnQpKS4iIGNvbW1lbnQ9IlRoZSBjYXRlZ29yeSBjYW4gYmUgdXNlZCB0byBpbmNsdWRlIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGNvbnN1bWVkIG9yIG90aGVyIHR5cGVzIG9mIHJlcXVlc3RzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3RDYXRlZ29yeSIgZGVzY3JpcHRpb249IkEgY29kZWQgY29uY2VwdCBpZGVudGlmeWluZyB0aGUgY2F0ZWdvcnkgb2YgbWVkaWNhdGlvbiByZXF1ZXN0LiAgRm9yIGV4YW1wbGUsIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGlzIHRvIGJlIGNvbnN1bWVkIG9yIGFkbWluaXN0ZXJlZCwgb3IgdGhlIHR5cGUgb2YgbWVkaWNhdGlvbiB0cmVhdG1lbnQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1cy1jb3JlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBUeXBlIG9mIG1lZGljYXRpb24gdXNhZ2UiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgdHlwZSBvZiBtZWRpY2F0aW9uIHJlcXVlc3QgKGZvciBleGFtcGxlLCB3aGVyZSB0aGUgbWVkaWNhdGlvbiBpcyBleHBlY3RlZCB0byBiZSBjb25zdW1lZCBvciBhZG1pbmlzdGVyZWQgKGkuZS4gaW5wYXRpZW50IG9yIG91dHBhdGllbnQpKS4iIGNvbW1lbnQ9IlRoZSBjYXRlZ29yeSBjYW4gYmUgdXNlZCB0byBpbmNsdWRlIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGNvbnN1bWVkIG9yIG90aGVyIHR5cGVzIG9mIHJlcXVlc3RzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlRoZSB0eXBlIG9mIG1lZGljYXRpb24gb3JkZXIuIE5vdGUgdGhhdCBvdGhlciBjb2RlcyBhcmUgcGVybWl0dGVkLCBzZWUgW1JlcXVpcmVkIEJpbmRpbmdzIFdoZW4gU2xpY2luZyBieSBWYWx1ZSBTZXRzXShodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvZ2VuZXJhbC1yZXF1aXJlbWVudHMuaHRtbCNyZXF1aXJlZC1iaW5kaW5ncy13aGVuLXNsaWNpbmctYnktdmFsdWVzZXRzKSIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InByaW9yaXR5IiBlbGVtZW50VHlwZT0iUUlDb3JlLk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icm91dGluZSB8IHVyZ2VudCB8IGFzYXAgfCBzdGF0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgaG93IHF1aWNrbHkgdGhlIE1lZGljYXRpb24gUmVxdWVzdCBzaG91bGQgYmUgYWRkcmVzc2VkIHdpdGggcmVzcGVjdCB0byBvdGhlciByZXF1ZXN0cy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uUmVxdWVzdFByaW9yaXR5IiBkZXNjcmlwdGlvbj0iSWRlbnRpZmllcyB0aGUgbGV2ZWwgb2YgaW1wb3J0YW5jZSB0byBiZSBhc3NpZ25lZCB0byBhY3Rpb25pbmcgdGhlIHJlcXVlc3QuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZG9Ob3RQZXJmb3JtIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFRydWUgaWYgbWVkaWNhdGlvbiB3YXMgbm90IHJlcXVlc3RlZCIgZGVmaW5pdGlvbj0iSWYgdHJ1ZSBpbmRpY2F0ZXMgdGhhdCB0aGUgcHJvdmlkZXIgaXMgYXNraW5nIGZvciB0aGUgbWVkaWNhdGlvbiByZXF1ZXN0IG5vdCB0byBvY2N1ci4iIGNvbW1lbnQ9IklmIGRvIG5vdCBwZXJmb3JtIGlzIG5vdCBzcGVjaWZpZWQsIHRoZSByZXF1ZXN0IGlzIGEgcG9zaXRpdmUgcmVxdWVzdCBlLmcuICZxdW90O2RvIHBlcmZvcm0mcXVvdDsuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVwb3J0ZWQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBSZXBvcnRlZCByYXRoZXIgdGhhbiBwcmltYXJ5IHJlY29yZCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGlmIHRoaXMgcmVjb3JkIHdhcyBjYXB0dXJlZCBhcyBhIHNlY29uZGFyeSAncmVwb3J0ZWQnIHJlY29yZCByYXRoZXIgdGhhbiBhcyBhbiBvcmlnaW5hbCBwcmltYXJ5IHNvdXJjZS1vZi10cnV0aCByZWNvcmQuICBJdCBtYXkgYWxzbyBpbmRpY2F0ZSB0aGUgc291cmNlIG9mIHRoZSByZXBvcnQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1lZGljYXRpb24iIHRhcmdldD0iU3lzdGVtLkNvbmNlcHQ6RkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSk7U3lzdGVtLlZhbHVlU2V0OkZISVJIZWxwZXJzLlRvVmFsdWVTZXQoJXBhcmVudC5tZWRpY2F0aW9uW3hdLmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW5vdERvbmVWYWx1ZVNldCddLnZhbHVlLnZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgTWVkaWNhdGlvbiB0byBiZSB0YWtlbiIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgbWVkaWNhdGlvbiBiZWluZyByZXF1ZXN0ZWQuIFRoaXMgaXMgYSBsaW5rIHRvIGEgcmVzb3VyY2UgdGhhdCByZXByZXNlbnRzIHRoZSBtZWRpY2F0aW9uIHdoaWNoIG1heSBiZSB0aGUgZGV0YWlscyBvZiB0aGUgbWVkaWNhdGlvbiBvciBzaW1wbHkgYW4gYXR0cmlidXRlIGNhcnJ5aW5nIGEgY29kZSB0aGF0IGlkZW50aWZpZXMgdGhlIG1lZGljYXRpb24gZnJvbSBhIGtub3duIGxpc3Qgb2YgbWVkaWNhdGlvbnMuIiBjb21tZW50PSJJZiBvbmx5IGEgY29kZSBpcyBzcGVjaWZpZWQsIHRoZW4gaXQgbmVlZHMgdG8gYmUgYSBjb2RlIGZvciBhIHNwZWNpZmljIHByb2R1Y3QuIElmIG1vcmUgaW5mb3JtYXRpb24gaXMgcmVxdWlyZWQsIHRoZW4gdGhlIHVzZSBvZiB0aGUgTWVkaWNhdGlvbiByZXNvdXJjZSBpcyByZWNvbW1lbmRlZC4gIEZvciBleGFtcGxlLCBpZiB5b3UgcmVxdWlyZSBmb3JtIG9yIGxvdCBudW1iZXIgb3IgaWYgdGhlIG1lZGljYXRpb24gaXMgY29tcG91bmRlZCBvciBleHRlbXBvcmFuZW91c2x5IHByZXBhcmVkLCB0aGVuIHlvdSBtdXN0IHJlZmVyZW5jZSB0aGUgTWVkaWNhdGlvbiByZXNvdXJjZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlZhbHVlU2V0Ii8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFdobyBvciBncm91cCBtZWRpY2F0aW9uIHJlcXVlc3QgaXMgZm9yIiBkZWZpbml0aW9uPSJBIGxpbmsgdG8gYSByZXNvdXJjZSByZXByZXNlbnRpbmcgdGhlIHBlcnNvbiBvciBzZXQgb2YgaW5kaXZpZHVhbHMgdG8gd2hvbSB0aGUgbWVkaWNhdGlvbiB3aWxsIGJlIGdpdmVuLiIgY29tbWVudD0iVGhlIHN1YmplY3Qgb24gYSBtZWRpY2F0aW9uIHJlcXVlc3QgaXMgbWFuZGF0b3J5LiAgRm9yIHRoZSBzZWNvbmRhcnkgdXNlIGNhc2Ugd2hlcmUgdGhlIGFjdHVhbCBzdWJqZWN0IGlzIG5vdCBwcm92aWRlZCwgdGhlcmUgc3RpbGwgbXVzdCBiZSBhbiBhbm9ueW1pemVkIHN1YmplY3Qgc3BlY2lmaWVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBFbmNvdW50ZXIgY3JlYXRlZCBhcyBwYXJ0IG9mIGVuY291bnRlci9hZG1pc3Npb24vc3RheSIgZGVmaW5pdGlvbj0iVGhlIEVuY291bnRlciBkdXJpbmcgd2hpY2ggdGhpcyBbeF0gd2FzIGNyZWF0ZWQgb3IgdG8gd2hpY2ggdGhlIGNyZWF0aW9uIG9mIHRoaXMgcmVjb3JkIGlzIHRpZ2h0bHkgYXNzb2NpYXRlZC4iIGNvbW1lbnQ9IlRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgdGhlIGVuY291bnRlciB0aGUgZXZlbnQgb2NjdXJyZWQgd2l0aGluLCBidXQgc29tZSBhY3Rpdml0aWVzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIuJnF1b3Q7ICAgIElmIHRoZXJlIGlzIGEgbmVlZCB0byBsaW5rIHRvIGVwaXNvZGVzIG9mIGNhcmUgdGhleSB3aWxsIGJlIGhhbmRsZWQgd2l0aCBhbiBleHRlbnNpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1cHBvcnRpbmdJbmZvcm1hdGlvbiIgZGVzY3JpcHRpb249IkluZm9ybWF0aW9uIHRvIHN1cHBvcnQgb3JkZXJpbmcgb2YgdGhlIG1lZGljYXRpb24iIGRlZmluaXRpb249IkluY2x1ZGUgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiAoZm9yIGV4YW1wbGUsIHBhdGllbnQgaGVpZ2h0IGFuZCB3ZWlnaHQpIHRoYXQgc3VwcG9ydHMgdGhlIG9yZGVyaW5nIG9mIHRoZSBtZWRpY2F0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImF1dGhvcmVkT24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBXaGVuIHJlcXVlc3Qgd2FzIGluaXRpYWxseSBhdXRob3JlZCIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgKGFuZCBwZXJoYXBzIHRpbWUpIHdoZW4gdGhlIHByZXNjcmlwdGlvbiB3YXMgaW5pdGlhbGx5IHdyaXR0ZW4gb3IgYXV0aG9yZWQgb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlcXVlc3RlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFdoby9XaGF0IHJlcXVlc3RlZCB0aGUgUmVxdWVzdCIgZGVmaW5pdGlvbj0iVGhlIGluZGl2aWR1YWwsIG9yZ2FuaXphdGlvbiwgb3IgZGV2aWNlIHRoYXQgaW5pdGlhdGVkIHRoZSByZXF1ZXN0IGFuZCBoYXMgcmVzcG9uc2liaWxpdHkgZm9yIGl0cyBhY3RpdmF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSW50ZW5kZWQgcGVyZm9ybWVyIG9mIGFkbWluaXN0cmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2lmaWVkIGRlc2lyZWQgcGVyZm9ybWVyIG9mIHRoZSBtZWRpY2F0aW9uIHRyZWF0bWVudCAoZS5nLiB0aGUgcGVyZm9ybWVyIG9mIHRoZSBtZWRpY2F0aW9uIGFkbWluaXN0cmF0aW9uKS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXJUeXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJEZXNpcmVkIGtpbmQgb2YgcGVyZm9ybWVyIG9mIHRoZSBtZWRpY2F0aW9uIGFkbWluaXN0cmF0aW9uIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHR5cGUgb2YgcGVyZm9ybWVyIG9mIHRoZSBhZG1pbmlzdHJhdGlvbiBvZiB0aGUgbWVkaWNhdGlvbi4iIGNvbW1lbnQ9IklmIHNwZWNpZmllZCB3aXRob3V0IGluZGljYXRpbmcgYSBwZXJmb3JtZXIsIHRoaXMgaW5kaWNhdGVzIHRoYXQgdGhlIHBlcmZvcm1lciBtdXN0IGJlIG9mIHRoZSBzcGVjaWZpZWQgdHlwZS4gSWYgc3BlY2lmaWVkIHdpdGggYSBwZXJmb3JtZXIgdGhlbiBpdCBpbmRpY2F0ZXMgdGhlIHJlcXVpcmVtZW50cyBvZiB0aGUgcGVyZm9ybWVyIGlmIHRoZSBkZXNpZ25hdGVkIHBlcmZvcm1lciBpcyBub3QgYXZhaWxhYmxlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1lZGljYXRpb25SZXF1ZXN0UGVyZm9ybWVyVHlwZSIgZGVzY3JpcHRpb249IklkZW50aWZpZXMgdGhlIHR5cGUgb2YgaW5kaXZpZHVhbCB0aGF0IGlzIGRlc2lyZWQgdG8gYWRtaW5pc3RlciB0aGUgbWVkaWNhdGlvbi4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlY29yZGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlBlcnNvbiB3aG8gZW50ZXJlZCB0aGUgcmVxdWVzdCIgZGVmaW5pdGlvbj0iVGhlIHBlcnNvbiB3aG8gZW50ZXJlZCB0aGUgb3JkZXIgb24gYmVoYWxmIG9mIGFub3RoZXIgaW5kaXZpZHVhbCBmb3IgZXhhbXBsZSBpbiB0aGUgY2FzZSBvZiBhIHZlcmJhbCBvciBhIHRlbGVwaG9uZSBvcmRlci4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25Db2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFJlYXNvbiBvciBpbmRpY2F0aW9uIGZvciBvcmRlcmluZyBvciBub3Qgb3JkZXJpbmcgdGhlIG1lZGljYXRpb24iIGRlZmluaXRpb249IlRoZSByZWFzb24gb3IgdGhlIGluZGljYXRpb24gZm9yIG9yZGVyaW5nIG9yIG5vdCBvcmRlcmluZyB0aGUgbWVkaWNhdGlvbi4iIGNvbW1lbnQ9IlRoaXMgY291bGQgYmUgYSBkaWFnbm9zaXMgY29kZS4gSWYgYSBmdWxsIGNvbmRpdGlvbiByZWNvcmQgZXhpc3RzIG9yIGFkZGl0aW9uYWwgZGV0YWlsIGlzIG5lZWRlZCwgdXNlIHJlYXNvblJlZmVyZW5jZS4iPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhlIHJlYXNvbiB0aGUgbWVkaWNhdGlvbiB3YXMgbm90IHJlcXVlc3RlZCIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBVUyBDb3JlIENvbmRpdGlvbiBvciBPYnNlcnZhdGlvbiB0aGF0IHN1cHBvcnRzIHRoZSBwcmVzY3JpcHRpb24iIGRlZmluaXRpb249IkNvbmRpdGlvbiBvciBvYnNlcnZhdGlvbiB0aGF0IHN1cHBvcnRzIHdoeSB0aGUgbWVkaWNhdGlvbiB3YXMgb3JkZXJlZC4iIGNvbW1lbnQ9IlRoaXMgaXMgYSByZWZlcmVuY2UgdG8gYSBjb25kaXRpb24gb3Igb2JzZXJ2YXRpb24gdGhhdCBpcyB0aGUgcmVhc29uIGZvciB0aGUgbWVkaWNhdGlvbiBvcmRlci4gIElmIG9ubHkgYSBjb2RlIGV4aXN0cywgdXNlIHJlYXNvbkNvZGUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzQ2Fub25pY2FsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3RhbnRpYXRlcyBGSElSIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYSBwcm90b2NvbCwgZ3VpZGVsaW5lLCBvcmRlcnNldCwgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIE1lZGljYXRpb25SZXF1ZXN0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc1VyaSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgZXh0ZXJuYWwgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhbiBleHRlcm5hbGx5IG1haW50YWluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXJzZXQgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIE1lZGljYXRpb25SZXF1ZXN0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJXaGF0IHJlcXVlc3QgZnVsZmlsbHMiIGRlZmluaXRpb249IkEgcGxhbiBvciByZXF1ZXN0IHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBtZWRpY2F0aW9uIHJlcXVlc3QuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZ3JvdXBJZGVudGlmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJDb21wb3NpdGUgcmVxdWVzdCB0aGlzIGlzIHBhcnQgb2YiIGRlZmluaXRpb249IkEgc2hhcmVkIGlkZW50aWZpZXIgY29tbW9uIHRvIGFsbCByZXF1ZXN0cyB0aGF0IHdlcmUgYXV0aG9yaXplZCBtb3JlIG9yIGxlc3Mgc2ltdWx0YW5lb3VzbHkgYnkgYSBzaW5nbGUgYXV0aG9yLCByZXByZXNlbnRpbmcgdGhlIGlkZW50aWZpZXIgb2YgdGhlIHJlcXVpc2l0aW9uIG9yIHByZXNjcmlwdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb3Vyc2VPZlRoZXJhcHlUeXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPdmVyYWxsIHBhdHRlcm4gb2YgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBvdmVyYWxsIHBhdHRlM3JuIG9mIHRoZSBhZG1pbmlzdHJhdGlvbiBvZiB0aGUgbWVkaWNhdGlvbiB0byB0aGUgcGF0aWVudC4iIGNvbW1lbnQ9IlRoaXMgYXR0cmlidXRlIHNob3VsZCBub3QgYmUgY29uZnVzZWQgd2l0aCB0aGUgcHJvdG9jb2wgb2YgdGhlIG1lZGljYXRpb24uIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3RDb3Vyc2VPZlRoZXJhcHkiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVzIHRoZSBvdmVyYWxsIHBhdHRlcm4gb2YgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdXJhbmNlIiBkZXNjcmlwdGlvbj0iQXNzb2NpYXRlZCBpbnN1cmFuY2UgY292ZXJhZ2UiIGRlZmluaXRpb249Ikluc3VyYW5jZSBwbGFucywgY292ZXJhZ2UgZXh0ZW5zaW9ucywgcHJlLWF1dGhvcml6YXRpb25zIGFuZC9vciBwcmUtZGV0ZXJtaW5hdGlvbnMgdGhhdCBtYXkgYmUgcmVxdWlyZWQgZm9yIGRlbGl2ZXJpbmcgdGhlIHJlcXVlc3RlZCBzZXJ2aWNlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJJbmZvcm1hdGlvbiBhYm91dCB0aGUgcHJlc2NyaXB0aW9uIiBkZWZpbml0aW9uPSJFeHRyYSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcHJlc2NyaXB0aW9uIHRoYXQgY291bGQgbm90IGJlIGNvbnZleWVkIGJ5IHRoZSBvdGhlciBhdHRyaWJ1dGVzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkb3NhZ2VJbnN0cnVjdGlvbiIgZGVzY3JpcHRpb249IihVU0NESSkgSG93IHRoZSBtZWRpY2F0aW9uIHNob3VsZCBiZSB0YWtlbiIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGhvdyB0aGUgbWVkaWNhdGlvbiBpcyB0byBiZSB1c2VkIGJ5IHRoZSBwYXRpZW50LiIgY29tbWVudD0iVGhlcmUgYXJlIGV4YW1wbGVzIHdoZXJlIGEgbWVkaWNhdGlvbiByZXF1ZXN0IG1heSBpbmNsdWRlIHRoZSBvcHRpb24gb2YgYW4gb3JhbCBkb3NlIG9yIGFuIEludHJhdmVub3VzIG9yIEludHJhbXVzY3VsYXIgZG9zZS4gIEZvciBleGFtcGxlLCAmcXVvdDtPbmRhbnNldHJvbiA4bWcgb3JhbGx5IG9yIElWIHR3aWNlIGEgZGF5IGFzIG5lZWRlZCBmb3IgbmF1c2VhJnF1b3Q7IG9yICZxdW90O0NvbXBhemluZcKuIChwcm9jaGxvcnBlcmF6aW5lKSA1LTEwbWcgUE8gb3IgMjVtZyBQUiBiaWQgcHJuIG5hdXNlYSBvciB2b21pdGluZyZxdW90Oy4gIEluIHRoZXNlIGNhc2VzLCB0d28gbWVkaWNhdGlvbiByZXF1ZXN0cyB3b3VsZCBiZSBjcmVhdGVkIHRoYXQgY291bGQgYmUgZ3JvdXBlZCB0b2dldGhlci4gIFRoZSBkZWNpc2lvbiBvbiB3aGljaCBkb3NlIGFuZCByb3V0ZSBvZiBhZG1pbmlzdHJhdGlvbiB0byB1c2UgaXMgYmFzZWQgb24gdGhlIHBhdGllbnQncyBjb25kaXRpb24gYXQgdGhlIHRpbWUgdGhlIGRvc2UgaXMgbmVlZGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkRvc2FnZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwZW5zZVJlcXVlc3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuTWVkaWNhdGlvblJlcXVlc3QuRGlzcGVuc2VSZXF1ZXN0IiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBNZWRpY2F0aW9uIHN1cHBseSBhdXRob3JpemF0aW9uIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHNwZWNpZmljIGRldGFpbHMgZm9yIHRoZSBkaXNwZW5zZSBvciBtZWRpY2F0aW9uIHN1cHBseSBwYXJ0IG9mIGEgbWVkaWNhdGlvbiByZXF1ZXN0IChhbHNvIGtub3duIGFzIGEgTWVkaWNhdGlvbiBQcmVzY3JpcHRpb24gb3IgTWVkaWNhdGlvbiBPcmRlcikuICBOb3RlIHRoYXQgdGhpcyBpbmZvcm1hdGlvbiBpcyBub3QgYWx3YXlzIHNlbnQgd2l0aCB0aGUgb3JkZXIuICBUaGVyZSBtYXkgYmUgaW4gc29tZSBzZXR0aW5ncyAoZS5nLiBob3NwaXRhbHMpIGluc3RpdHV0aW9uYWwgb3Igc3lzdGVtIHN1cHBvcnQgZm9yIGNvbXBsZXRpbmcgdGhlIGRpc3BlbnNlIGRldGFpbHMgaW4gdGhlIHBoYXJtYWN5IGRlcGFydG1lbnQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YnN0aXR1dGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5NZWRpY2F0aW9uUmVxdWVzdC5TdWJzdGl0dXRpb24iIGRlc2NyaXB0aW9uPSJBbnkgcmVzdHJpY3Rpb25zIG9uIG1lZGljYXRpb24gc3Vic3RpdHV0aW9uIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgd2hldGhlciBvciBub3Qgc3Vic3RpdHV0aW9uIGNhbiBvciBzaG91bGQgYmUgcGFydCBvZiB0aGUgZGlzcGVuc2UuIEluIHNvbWUgY2FzZXMsIHN1YnN0aXR1dGlvbiBtdXN0IGhhcHBlbiwgaW4gb3RoZXIgY2FzZXMgc3Vic3RpdHV0aW9uIG11c3Qgbm90IGhhcHBlbi4gVGhpcyBibG9jayBleHBsYWlucyB0aGUgcHJlc2NyaWJlcidzIGludGVudC4gSWYgbm90aGluZyBpcyBzcGVjaWZpZWQgc3Vic3RpdHV0aW9uIG1heSBiZSBkb25lLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InByaW9yUHJlc2NyaXB0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkFuIG9yZGVyL3ByZXNjcmlwdGlvbiB0aGF0IGlzIGJlaW5nIHJlcGxhY2VkIiBkZWZpbml0aW9uPSJBIGxpbmsgdG8gYSByZXNvdXJjZSByZXByZXNlbnRpbmcgYW4gZWFybGllciBvcmRlciByZWxhdGVkIG9yZGVyIG9yIHByZXNjcmlwdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXRlY3RlZElzc3VlIiBkZXNjcmlwdGlvbj0iQ2xpbmljYWwgSXNzdWUgd2l0aCBhY3Rpb24iIGRlZmluaXRpb249IkluZGljYXRlcyBhbiBhY3R1YWwgb3IgcG90ZW50aWFsIGNsaW5pY2FsIGlzc3VlIHdpdGggb3IgYmV0d2VlbiBvbmUgb3IgbW9yZSBhY3RpdmUgb3IgcHJvcG9zZWQgY2xpbmljYWwgYWN0aW9ucyBmb3IgYSBwYXRpZW50OyBlLmcuIERydWctZHJ1ZyBpbnRlcmFjdGlvbiwgZHVwbGljYXRlIHRoZXJhcHksIGRvc2FnZSBhbGVydCBldGMuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgY2FuIGluY2x1ZGUgYSBkZXRlY3RlZCBpc3N1ZSB0aGF0IGhhcyBiZWVuIGlkZW50aWZpZWQgZWl0aGVyIGJ5IGEgZGVjaXNpb24gc3VwcG9ydCBzeXN0ZW0gb3IgYnkgYSBjbGluaWNpYW4gYW5kIG1heSBpbmNsdWRlIGluZm9ybWF0aW9uIG9uIHRoZSBzdGVwcyB0aGF0IHdlcmUgdGFrZW4gdG8gYWRkcmVzcyB0aGUgaXNzdWUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZXZlbnRIaXN0b3J5IiBkZXNjcmlwdGlvbj0iQSBsaXN0IG9mIGV2ZW50cyBvZiBpbnRlcmVzdCBpbiB0aGUgbGlmZWN5Y2xlIiBkZWZpbml0aW9uPSJMaW5rcyB0byBQcm92ZW5hbmNlIHJlY29yZHMgZm9yIHBhc3QgdmVyc2lvbnMgb2YgdGhpcyByZXNvdXJjZSBvciBmdWxmaWxsaW5nIHJlcXVlc3Qgb3IgZXZlbnQgcmVzb3VyY2VzIHRoYXQgaWRlbnRpZnkga2V5IHN0YXRlIHRyYW5zaXRpb25zIG9yIHVwZGF0ZXMgdGhhdCBhcmUgbGlrZWx5IHRvIGJlIHJlbGV2YW50IHRvIGEgdXNlciBsb29raW5nIGF0IHRoZSBjdXJyZW50IHZlcnNpb24gb2YgdGhlIHJlc291cmNlLiIgY29tbWVudD0iVGhpcyBtaWdodCBub3QgaW5jbHVkZSBwcm92ZW5hbmNlcyBmb3IgYWxsIHZlcnNpb25zIG9mIHRoZSByZXF1ZXN0IOKAkyBvbmx5IHRob3NlIGRlZW1lZCDigJxyZWxldmFudOKAnSBvciBpbXBvcnRhbnQuIFRoaXMgU0hBTEwgTk9UIGluY2x1ZGUgdGhlIHByb3ZlbmFuY2UgYXNzb2NpYXRlZCB3aXRoIHRoaXMgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSByZXNvdXJjZS4gKElmIHRoYXQgcHJvdmVuYW5jZSBpcyBkZWVtZWQgdG8gYmUgYSDigJxyZWxldmFudOKAnSBjaGFuZ2UsIGl0IHdpbGwgbmVlZCB0byBiZSBhZGRlZCBhcyBwYXJ0IG9mIGEgbGF0ZXIgdXBkYXRlLiBVbnRpbCB0aGVuLCBpdCBjYW4gYmUgcXVlcmllZCBkaXJlY3RseSBhcyB0aGUgcHJvdmVuYW5jZSB0aGF0IHBvaW50cyB0byB0aGlzIHZlcnNpb24gdXNpbmcgX3JldmluY2x1ZGUgQWxsIFByb3ZlbmFuY2VzIHNob3VsZCBoYXZlIHNvbWUgaGlzdG9yaWNhbCB2ZXJzaW9uIG9mIHRoaXMgUmVxdWVzdCBhcyB0aGVpciBzdWJqZWN0LikuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZWRpY2F0aW9uUmVxdWVzdCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtbWVkaWNhdGlvbnJlcXVlc3QiIGxhYmVsPSJRSUNvcmUgTWVkaWNhdGlvblJlcXVlc3QiIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9Im1lZGljYXRpb24iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJFeHRlcm5hbCBpZHMgZm9yIHRoaXMgcmVxdWVzdCIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcnMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgbWVkaWNhdGlvbiByZXF1ZXN0IHRoYXQgYXJlIGRlZmluZWQgYnkgYnVzaW5lc3MgcHJvY2Vzc2VzIGFuZC9vciB1c2VkIHRvIHJlZmVyIHRvIGl0IHdoZW4gYSBkaXJlY3QgVVJMIHJlZmVyZW5jZSB0byB0aGUgcmVzb3VyY2UgaXRzZWxmIGlzIG5vdCBhcHByb3ByaWF0ZS4gVGhleSBhcmUgYnVzaW5lc3MgaWRlbnRpZmllcnMgYXNzaWduZWQgdG8gdGhpcyByZXNvdXJjZSBieSB0aGUgcGVyZm9ybWVyIG9yIG90aGVyIHN5c3RlbXMgYW5kIHJlbWFpbiBjb25zdGFudCBhcyB0aGUgcmVzb3VyY2UgaXMgdXBkYXRlZCBhbmQgcHJvcGFnYXRlcyBmcm9tIHNlcnZlciB0byBzZXJ2ZXIuIiBjb21tZW50PSJUaGlzIGlzIGEgYnVzaW5lc3MgaWRlbnRpZmllciwgbm90IGEgcmVzb3VyY2UgaWRlbnRpZmllci4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIGFjdGl2ZSB8IG9uLWhvbGQgfCBjYW5jZWxsZWQgfCBjb21wbGV0ZWQgfCBlbnRlcmVkLWluLWVycm9yIHwgc3RvcHBlZCB8IGRyYWZ0IHwgdW5rbm93biIgZGVmaW5pdGlvbj0iQSBjb2RlIHNwZWNpZnlpbmcgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIG9yZGVyLiAgR2VuZXJhbGx5LCB0aGlzIHdpbGwgYmUgYWN0aXZlIG9yIGNvbXBsZXRlZCBzdGF0ZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkEgY29kZSBzcGVjaWZ5aW5nIHRoZSBzdGF0ZSBvZiB0aGUgcHJlc2NyaWJpbmcgZXZlbnQuIERlc2NyaWJlcyB0aGUgbGlmZWN5Y2xlIG9mIHRoZSBwcmVzY3JpcHRpb24uIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzUmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZWFzb24gZm9yIGN1cnJlbnQgc3RhdHVzIiBkZWZpbml0aW9uPSJDYXB0dXJlcyB0aGUgcmVhc29uIGZvciB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgTWVkaWNhdGlvblJlcXVlc3QuIiBjb21tZW50PSJUaGlzIGlzIGdlbmVyYWxseSBvbmx5IHVzZWQgZm9yICZxdW90O2V4Y2VwdGlvbiZxdW90OyBzdGF0dXNlcyBzdWNoIGFzICZxdW90O3N1c3BlbmRlZCZxdW90OyBvciAmcXVvdDtjYW5jZWxsZWQmcXVvdDsuIFRoZSByZWFzb24gd2h5IHRoZSBNZWRpY2F0aW9uUmVxdWVzdCB3YXMgY3JlYXRlZCBhdCBhbGwgaXMgY2FwdHVyZWQgaW4gcmVhc29uQ29kZSwgbm90IGhlcmUuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3RTdGF0dXNSZWFzb24iIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVzIHRoZSByZWFzb25zIGZvciBhIGdpdmVuIHN0YXR1cy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImludGVudCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBwcm9wb3NhbCB8IHBsYW4gfCBvcmRlciB8IG9yaWdpbmFsLW9yZGVyIHwgcmVmbGV4LW9yZGVyIHwgZmlsbGVyLW9yZGVyIHwgaW5zdGFuY2Utb3JkZXIgfCBvcHRpb24iIGRlZmluaXRpb249IldoZXRoZXIgdGhlIHJlcXVlc3QgaXMgYSBwcm9wb3NhbCwgcGxhbiwgb3IgYW4gb3JpZ2luYWwgb3JkZXIuIiBjb21tZW50PSJJdCBpcyBleHBlY3RlZCB0aGF0IHRoZSB0eXBlIG9mIHJlcXVlc3RlciB3aWxsIGJlIHJlc3RyaWN0ZWQgZm9yIGRpZmZlcmVudCBzdGFnZXMgb2YgYSBNZWRpY2F0aW9uUmVxdWVzdC4gIEZvciBleGFtcGxlLCBQcm9wb3NhbHMgY2FuIGJlIGNyZWF0ZWQgYnkgYSBwYXRpZW50LCByZWxhdGVkUGVyc29uLCBQcmFjdGl0aW9uZXIgb3IgRGV2aWNlLiAgUGxhbnMgY2FuIGJlIGNyZWF0ZWQgYnkgUHJhY3RpdGlvbmVycywgUGF0aWVudHMsIFJlbGF0ZWRQZXJzb25zIGFuZCBEZXZpY2VzLiAgT3JpZ2luYWwgb3JkZXJzIGNhbiBiZSBjcmVhdGVkIGJ5IGEgUHJhY3RpdGlvbmVyIG9ubHkuJiMxMzsmIzEzO0FuIGluc3RhbmNlLW9yZGVyIGlzIGFuIGluc3RhbnRpYXRpb24gb2YgYSByZXF1ZXN0IG9yIG9yZGVyIGFuZCBtYXkgYmUgdXNlZCB0byBwb3B1bGF0ZSBNZWRpY2F0aW9uIEFkbWluaXN0cmF0aW9uIFJlY29yZC4mIzEzOyYjMTM7VGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBpbnRlbnQgYWx0ZXJzIHdoZW4gYW5kIGhvdyB0aGUgcmVzb3VyY2UgaXMgYWN0dWFsbHkgYXBwbGljYWJsZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlRoZSBraW5kIG9mIG1lZGljYXRpb24gb3JkZXIuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFR5cGUgb2YgbWVkaWNhdGlvbiB1c2FnZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSB0eXBlIG9mIG1lZGljYXRpb24gcmVxdWVzdCAoZm9yIGV4YW1wbGUsIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGNvbnN1bWVkIG9yIGFkbWluaXN0ZXJlZCAoaS5lLiBpbnBhdGllbnQgb3Igb3V0cGF0aWVudCkpLiIgY29tbWVudD0iVGhlIGNhdGVnb3J5IGNhbiBiZSB1c2VkIHRvIGluY2x1ZGUgd2hlcmUgdGhlIG1lZGljYXRpb24gaXMgZXhwZWN0ZWQgdG8gYmUgY29uc3VtZWQgb3Igb3RoZXIgdHlwZXMgb2YgcmVxdWVzdHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uUmVxdWVzdENhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQSBjb2RlZCBjb25jZXB0IGlkZW50aWZ5aW5nIHRoZSBjYXRlZ29yeSBvZiBtZWRpY2F0aW9uIHJlcXVlc3QuICBGb3IgZXhhbXBsZSwgd2hlcmUgdGhlIG1lZGljYXRpb24gaXMgdG8gYmUgY29uc3VtZWQgb3IgYWRtaW5pc3RlcmVkLCBvciB0aGUgdHlwZSBvZiBtZWRpY2F0aW9uIHRyZWF0bWVudC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InVzLWNvcmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFR5cGUgb2YgbWVkaWNhdGlvbiB1c2FnZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSB0eXBlIG9mIG1lZGljYXRpb24gcmVxdWVzdCAoZm9yIGV4YW1wbGUsIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGNvbnN1bWVkIG9yIGFkbWluaXN0ZXJlZCAoaS5lLiBpbnBhdGllbnQgb3Igb3V0cGF0aWVudCkpLiIgY29tbWVudD0iVGhlIGNhdGVnb3J5IGNhbiBiZSB1c2VkIHRvIGluY2x1ZGUgd2hlcmUgdGhlIG1lZGljYXRpb24gaXMgZXhwZWN0ZWQgdG8gYmUgY29uc3VtZWQgb3Igb3RoZXIgdHlwZXMgb2YgcmVxdWVzdHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhlIHR5cGUgb2YgbWVkaWNhdGlvbiBvcmRlci4gTm90ZSB0aGF0IG90aGVyIGNvZGVzIGFyZSBwZXJtaXR0ZWQsIHNlZSBbUmVxdWlyZWQgQmluZGluZ3MgV2hlbiBTbGljaW5nIGJ5IFZhbHVlIFNldHNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9nZW5lcmFsLXJlcXVpcmVtZW50cy5odG1sI3JlcXVpcmVkLWJpbmRpbmdzLXdoZW4tc2xpY2luZy1ieS12YWx1ZXNldHMpIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJpb3JpdHkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuTWVkaWNhdGlvblJlcXVlc3RQcmlvcml0eSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyb3V0aW5lIHwgdXJnZW50IHwgYXNhcCB8IHN0YXQiIGRlZmluaXRpb249IkluZGljYXRlcyBob3cgcXVpY2tseSB0aGUgTWVkaWNhdGlvbiBSZXF1ZXN0IHNob3VsZCBiZSBhZGRyZXNzZWQgd2l0aCByZXNwZWN0IHRvIG90aGVyIHJlcXVlc3RzLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVzIHRoZSBsZXZlbCBvZiBpbXBvcnRhbmNlIHRvIGJlIGFzc2lnbmVkIHRvIGFjdGlvbmluZyB0aGUgcmVxdWVzdC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkb05vdFBlcmZvcm0iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgVHJ1ZSBpZiBtZWRpY2F0aW9uIHdhcyBub3QgcmVxdWVzdGVkIiBkZWZpbml0aW9uPSJJZiB0cnVlIGluZGljYXRlcyB0aGF0IHRoZSBwcm92aWRlciBpcyBhc2tpbmcgZm9yIHRoZSBtZWRpY2F0aW9uIHJlcXVlc3Qgbm90IHRvIG9jY3VyLiIgY29tbWVudD0iSWYgZG8gbm90IHBlcmZvcm0gaXMgbm90IHNwZWNpZmllZCwgdGhlIHJlcXVlc3QgaXMgYSBwb3NpdGl2ZSByZXF1ZXN0IGUuZy4gJnF1b3Q7ZG8gcGVyZm9ybSZxdW90Oy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZXBvcnRlZCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFJlcG9ydGVkIHJhdGhlciB0aGFuIHByaW1hcnkgcmVjb3JkIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgaWYgdGhpcyByZWNvcmQgd2FzIGNhcHR1cmVkIGFzIGEgc2Vjb25kYXJ5ICdyZXBvcnRlZCcgcmVjb3JkIHJhdGhlciB0aGFuIGFzIGFuIG9yaWdpbmFsIHByaW1hcnkgc291cmNlLW9mLXRydXRoIHJlY29yZC4gIEl0IG1heSBhbHNvIGluZGljYXRlIHRoZSBzb3VyY2Ugb2YgdGhlIHJlcG9ydC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibWVkaWNhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIE1lZGljYXRpb24gdG8gYmUgdGFrZW4iIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIG1lZGljYXRpb24gYmVpbmcgcmVxdWVzdGVkLiBUaGlzIGlzIGEgbGluayB0byBhIHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyB0aGUgbWVkaWNhdGlvbiB3aGljaCBtYXkgYmUgdGhlIGRldGFpbHMgb2YgdGhlIG1lZGljYXRpb24gb3Igc2ltcGx5IGFuIGF0dHJpYnV0ZSBjYXJyeWluZyBhIGNvZGUgdGhhdCBpZGVudGlmaWVzIHRoZSBtZWRpY2F0aW9uIGZyb20gYSBrbm93biBsaXN0IG9mIG1lZGljYXRpb25zLiIgY29tbWVudD0iSWYgb25seSBhIGNvZGUgaXMgc3BlY2lmaWVkLCB0aGVuIGl0IG5lZWRzIHRvIGJlIGEgY29kZSBmb3IgYSBzcGVjaWZpYyBwcm9kdWN0LiBJZiBtb3JlIGluZm9ybWF0aW9uIGlzIHJlcXVpcmVkLCB0aGVuIHRoZSB1c2Ugb2YgdGhlIE1lZGljYXRpb24gcmVzb3VyY2UgaXMgcmVjb21tZW5kZWQuICBGb3IgZXhhbXBsZSwgaWYgeW91IHJlcXVpcmUgZm9ybSBvciBsb3QgbnVtYmVyIG9yIGlmIHRoZSBtZWRpY2F0aW9uIGlzIGNvbXBvdW5kZWQgb3IgZXh0ZW1wb3JhbmVvdXNseSBwcmVwYXJlZCwgdGhlbiB5b3UgbXVzdCByZWZlcmVuY2UgdGhlIE1lZGljYXRpb24gcmVzb3VyY2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFdobyBvciBncm91cCBtZWRpY2F0aW9uIHJlcXVlc3QgaXMgZm9yIiBkZWZpbml0aW9uPSJBIGxpbmsgdG8gYSByZXNvdXJjZSByZXByZXNlbnRpbmcgdGhlIHBlcnNvbiBvciBzZXQgb2YgaW5kaXZpZHVhbHMgdG8gd2hvbSB0aGUgbWVkaWNhdGlvbiB3aWxsIGJlIGdpdmVuLiIgY29tbWVudD0iVGhlIHN1YmplY3Qgb24gYSBtZWRpY2F0aW9uIHJlcXVlc3QgaXMgbWFuZGF0b3J5LiAgRm9yIHRoZSBzZWNvbmRhcnkgdXNlIGNhc2Ugd2hlcmUgdGhlIGFjdHVhbCBzdWJqZWN0IGlzIG5vdCBwcm92aWRlZCwgdGhlcmUgc3RpbGwgbXVzdCBiZSBhbiBhbm9ueW1pemVkIHN1YmplY3Qgc3BlY2lmaWVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBFbmNvdW50ZXIgY3JlYXRlZCBhcyBwYXJ0IG9mIGVuY291bnRlci9hZG1pc3Npb24vc3RheSIgZGVmaW5pdGlvbj0iVGhlIEVuY291bnRlciBkdXJpbmcgd2hpY2ggdGhpcyBbeF0gd2FzIGNyZWF0ZWQgb3IgdG8gd2hpY2ggdGhlIGNyZWF0aW9uIG9mIHRoaXMgcmVjb3JkIGlzIHRpZ2h0bHkgYXNzb2NpYXRlZC4iIGNvbW1lbnQ9IlRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgdGhlIGVuY291bnRlciB0aGUgZXZlbnQgb2NjdXJyZWQgd2l0aGluLCBidXQgc29tZSBhY3Rpdml0aWVzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIuJnF1b3Q7ICAgIElmIHRoZXJlIGlzIGEgbmVlZCB0byBsaW5rIHRvIGVwaXNvZGVzIG9mIGNhcmUgdGhleSB3aWxsIGJlIGhhbmRsZWQgd2l0aCBhbiBleHRlbnNpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1cHBvcnRpbmdJbmZvcm1hdGlvbiIgZGVzY3JpcHRpb249IkluZm9ybWF0aW9uIHRvIHN1cHBvcnQgb3JkZXJpbmcgb2YgdGhlIG1lZGljYXRpb24iIGRlZmluaXRpb249IkluY2x1ZGUgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiAoZm9yIGV4YW1wbGUsIHBhdGllbnQgaGVpZ2h0IGFuZCB3ZWlnaHQpIHRoYXQgc3VwcG9ydHMgdGhlIG9yZGVyaW5nIG9mIHRoZSBtZWRpY2F0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImF1dGhvcmVkT24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBXaGVuIHJlcXVlc3Qgd2FzIGluaXRpYWxseSBhdXRob3JlZCIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgKGFuZCBwZXJoYXBzIHRpbWUpIHdoZW4gdGhlIHByZXNjcmlwdGlvbiB3YXMgaW5pdGlhbGx5IHdyaXR0ZW4gb3IgYXV0aG9yZWQgb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlcXVlc3RlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFdoby9XaGF0IHJlcXVlc3RlZCB0aGUgUmVxdWVzdCIgZGVmaW5pdGlvbj0iVGhlIGluZGl2aWR1YWwsIG9yZ2FuaXphdGlvbiwgb3IgZGV2aWNlIHRoYXQgaW5pdGlhdGVkIHRoZSByZXF1ZXN0IGFuZCBoYXMgcmVzcG9uc2liaWxpdHkgZm9yIGl0cyBhY3RpdmF0aW9uLiIgY29tbWVudD0iU2hvdWxkIGluY2x1ZGUgUUlDb3JlRGV2aWNlIGJ1dCB0aGUgYmFzZSBwcm9maWxlIGRvZXMgZXhjbHVkZXMgZGV2aWNlIHJlZmVyZW5jZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJJbnRlbmRlZCBwZXJmb3JtZXIgb2YgYWRtaW5pc3RyYXRpb24iIGRlZmluaXRpb249IlRoZSBzcGVjaWZpZWQgZGVzaXJlZCBwZXJmb3JtZXIgb2YgdGhlIG1lZGljYXRpb24gdHJlYXRtZW50IChlLmcuIHRoZSBwZXJmb3JtZXIgb2YgdGhlIG1lZGljYXRpb24gYWRtaW5pc3RyYXRpb24pLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lclR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkRlc2lyZWQga2luZCBvZiBwZXJmb3JtZXIgb2YgdGhlIG1lZGljYXRpb24gYWRtaW5pc3RyYXRpb24iIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgdHlwZSBvZiBwZXJmb3JtZXIgb2YgdGhlIGFkbWluaXN0cmF0aW9uIG9mIHRoZSBtZWRpY2F0aW9uLiIgY29tbWVudD0iSWYgc3BlY2lmaWVkIHdpdGhvdXQgaW5kaWNhdGluZyBhIHBlcmZvcm1lciwgdGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgcGVyZm9ybWVyIG11c3QgYmUgb2YgdGhlIHNwZWNpZmllZCB0eXBlLiBJZiBzcGVjaWZpZWQgd2l0aCBhIHBlcmZvcm1lciB0aGVuIGl0IGluZGljYXRlcyB0aGUgcmVxdWlyZW1lbnRzIG9mIHRoZSBwZXJmb3JtZXIgaWYgdGhlIGRlc2lnbmF0ZWQgcGVyZm9ybWVyIGlzIG5vdCBhdmFpbGFibGUuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3RQZXJmb3JtZXJUeXBlIiBkZXNjcmlwdGlvbj0iSWRlbnRpZmllcyB0aGUgdHlwZSBvZiBpbmRpdmlkdWFsIHRoYXQgaXMgZGVzaXJlZCB0byBhZG1pbmlzdGVyIHRoZSBtZWRpY2F0aW9uLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVjb3JkZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iUGVyc29uIHdobyBlbnRlcmVkIHRoZSByZXF1ZXN0IiBkZWZpbml0aW9uPSJUaGUgcGVyc29uIHdobyBlbnRlcmVkIHRoZSBvcmRlciBvbiBiZWhhbGYgb2YgYW5vdGhlciBpbmRpdmlkdWFsIGZvciBleGFtcGxlIGluIHRoZSBjYXNlIG9mIGEgdmVyYmFsIG9yIGEgdGVsZXBob25lIG9yZGVyLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvbkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFJlYXNvbiBvciBpbmRpY2F0aW9uIGZvciBvcmRlcmluZyBvciBub3Qgb3JkZXJpbmcgdGhlIG1lZGljYXRpb24iIGRlZmluaXRpb249IlRoZSByZWFzb24gb3IgdGhlIGluZGljYXRpb24gZm9yIG9yZGVyaW5nIG9yIG5vdCBvcmRlcmluZyB0aGUgbWVkaWNhdGlvbi4iIGNvbW1lbnQ9IlRoaXMgY291bGQgYmUgYSBkaWFnbm9zaXMgY29kZS4gSWYgYSBmdWxsIGNvbmRpdGlvbiByZWNvcmQgZXhpc3RzIG9yIGFkZGl0aW9uYWwgZGV0YWlsIGlzIG5lZWRlZCwgdXNlIHJlYXNvblJlZmVyZW5jZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBRSS1Db3JlIENvbmRpdGlvbiBvciBPYnNlcnZhdGlvbiB0aGF0IHN1cHBvcnRzIHRoZSBwcmVzY3JpcHRpb24iIGRlZmluaXRpb249IkNvbmRpdGlvbiBvciBvYnNlcnZhdGlvbiB0aGF0IHN1cHBvcnRzIHdoeSB0aGUgbWVkaWNhdGlvbiB3YXMgb3JkZXJlZC4iIGNvbW1lbnQ9IlRoaXMgaXMgYSByZWZlcmVuY2UgdG8gYSBjb25kaXRpb24gb3Igb2JzZXJ2YXRpb24gdGhhdCBpcyB0aGUgcmVhc29uIGZvciB0aGUgbWVkaWNhdGlvbiBvcmRlci4gIElmIG9ubHkgYSBjb2RlIGV4aXN0cywgdXNlIHJlYXNvbkNvZGUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzQ2Fub25pY2FsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3RhbnRpYXRlcyBGSElSIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYSBwcm90b2NvbCwgZ3VpZGVsaW5lLCBvcmRlcnNldCwgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIE1lZGljYXRpb25SZXF1ZXN0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc1VyaSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgZXh0ZXJuYWwgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhbiBleHRlcm5hbGx5IG1haW50YWluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXJzZXQgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIE1lZGljYXRpb25SZXF1ZXN0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJXaGF0IHJlcXVlc3QgZnVsZmlsbHMiIGRlZmluaXRpb249IkEgcGxhbiBvciByZXF1ZXN0IHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBtZWRpY2F0aW9uIHJlcXVlc3QuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZ3JvdXBJZGVudGlmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJDb21wb3NpdGUgcmVxdWVzdCB0aGlzIGlzIHBhcnQgb2YiIGRlZmluaXRpb249IkEgc2hhcmVkIGlkZW50aWZpZXIgY29tbW9uIHRvIGFsbCByZXF1ZXN0cyB0aGF0IHdlcmUgYXV0aG9yaXplZCBtb3JlIG9yIGxlc3Mgc2ltdWx0YW5lb3VzbHkgYnkgYSBzaW5nbGUgYXV0aG9yLCByZXByZXNlbnRpbmcgdGhlIGlkZW50aWZpZXIgb2YgdGhlIHJlcXVpc2l0aW9uIG9yIHByZXNjcmlwdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb3Vyc2VPZlRoZXJhcHlUeXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPdmVyYWxsIHBhdHRlcm4gb2YgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBvdmVyYWxsIHBhdHRlM3JuIG9mIHRoZSBhZG1pbmlzdHJhdGlvbiBvZiB0aGUgbWVkaWNhdGlvbiB0byB0aGUgcGF0aWVudC4iIGNvbW1lbnQ9IlRoaXMgYXR0cmlidXRlIHNob3VsZCBub3QgYmUgY29uZnVzZWQgd2l0aCB0aGUgcHJvdG9jb2wgb2YgdGhlIG1lZGljYXRpb24uIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3RDb3Vyc2VPZlRoZXJhcHkiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVzIHRoZSBvdmVyYWxsIHBhdHRlcm4gb2YgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdXJhbmNlIiBkZXNjcmlwdGlvbj0iQXNzb2NpYXRlZCBpbnN1cmFuY2UgY292ZXJhZ2UiIGRlZmluaXRpb249Ikluc3VyYW5jZSBwbGFucywgY292ZXJhZ2UgZXh0ZW5zaW9ucywgcHJlLWF1dGhvcml6YXRpb25zIGFuZC9vciBwcmUtZGV0ZXJtaW5hdGlvbnMgdGhhdCBtYXkgYmUgcmVxdWlyZWQgZm9yIGRlbGl2ZXJpbmcgdGhlIHJlcXVlc3RlZCBzZXJ2aWNlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJJbmZvcm1hdGlvbiBhYm91dCB0aGUgcHJlc2NyaXB0aW9uIiBkZWZpbml0aW9uPSJFeHRyYSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcHJlc2NyaXB0aW9uIHRoYXQgY291bGQgbm90IGJlIGNvbnZleWVkIGJ5IHRoZSBvdGhlciBhdHRyaWJ1dGVzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkb3NhZ2VJbnN0cnVjdGlvbiIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgSG93IG1lZGljYXRpb24gc2hvdWxkIGJlIHRha2VuIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgaG93IHRoZSBtZWRpY2F0aW9uIGlzIHRvIGJlIHVzZWQgYnkgdGhlIHBhdGllbnQuIiBjb21tZW50PSJUaGVyZSBhcmUgZXhhbXBsZXMgd2hlcmUgYSBtZWRpY2F0aW9uIHJlcXVlc3QgbWF5IGluY2x1ZGUgdGhlIG9wdGlvbiBvZiBhbiBvcmFsIGRvc2Ugb3IgYW4gSW50cmF2ZW5vdXMgb3IgSW50cmFtdXNjdWxhciBkb3NlLiAgRm9yIGV4YW1wbGUsICZxdW90O09uZGFuc2V0cm9uIDhtZyBvcmFsbHkgb3IgSVYgdHdpY2UgYSBkYXkgYXMgbmVlZGVkIGZvciBuYXVzZWEmcXVvdDsgb3IgJnF1b3Q7Q29tcGF6aW5lwq4gKHByb2NobG9ycGVyYXppbmUpIDUtMTBtZyBQTyBvciAyNW1nIFBSIGJpZCBwcm4gbmF1c2VhIG9yIHZvbWl0aW5nJnF1b3Q7LiAgSW4gdGhlc2UgY2FzZXMsIHR3byBtZWRpY2F0aW9uIHJlcXVlc3RzIHdvdWxkIGJlIGNyZWF0ZWQgdGhhdCBjb3VsZCBiZSBncm91cGVkIHRvZ2V0aGVyLiAgVGhlIGRlY2lzaW9uIG9uIHdoaWNoIGRvc2UgYW5kIHJvdXRlIG9mIGFkbWluaXN0cmF0aW9uIHRvIHVzZSBpcyBiYXNlZCBvbiB0aGUgcGF0aWVudCdzIGNvbmRpdGlvbiBhdCB0aGUgdGltZSB0aGUgZG9zZSBpcyBuZWVkZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRG9zYWdlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BlbnNlUmVxdWVzdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5NZWRpY2F0aW9uUmVxdWVzdC5EaXNwZW5zZVJlcXVlc3QiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIE1lZGljYXRpb24gc3VwcGx5IGF1dGhvcml6YXRpb24iIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc3BlY2lmaWMgZGV0YWlscyBmb3IgdGhlIGRpc3BlbnNlIG9yIG1lZGljYXRpb24gc3VwcGx5IHBhcnQgb2YgYSBtZWRpY2F0aW9uIHJlcXVlc3QgKGFsc28ga25vd24gYXMgYSBNZWRpY2F0aW9uIFByZXNjcmlwdGlvbiBvciBNZWRpY2F0aW9uIE9yZGVyKS4gIE5vdGUgdGhhdCB0aGlzIGluZm9ybWF0aW9uIGlzIG5vdCBhbHdheXMgc2VudCB3aXRoIHRoZSBvcmRlci4gIFRoZXJlIG1heSBiZSBpbiBzb21lIHNldHRpbmdzIChlLmcuIGhvc3BpdGFscykgaW5zdGl0dXRpb25hbCBvciBzeXN0ZW0gc3VwcG9ydCBmb3IgY29tcGxldGluZyB0aGUgZGlzcGVuc2UgZGV0YWlscyBpbiB0aGUgcGhhcm1hY3kgZGVwYXJ0bWVudC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3Vic3RpdHV0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLk1lZGljYXRpb25SZXF1ZXN0LlN1YnN0aXR1dGlvbiIgZGVzY3JpcHRpb249IkFueSByZXN0cmljdGlvbnMgb24gbWVkaWNhdGlvbiBzdWJzdGl0dXRpb24iIGRlZmluaXRpb249IkluZGljYXRlcyB3aGV0aGVyIG9yIG5vdCBzdWJzdGl0dXRpb24gY2FuIG9yIHNob3VsZCBiZSBwYXJ0IG9mIHRoZSBkaXNwZW5zZS4gSW4gc29tZSBjYXNlcywgc3Vic3RpdHV0aW9uIG11c3QgaGFwcGVuLCBpbiBvdGhlciBjYXNlcyBzdWJzdGl0dXRpb24gbXVzdCBub3QgaGFwcGVuLiBUaGlzIGJsb2NrIGV4cGxhaW5zIHRoZSBwcmVzY3JpYmVyJ3MgaW50ZW50LiBJZiBub3RoaW5nIGlzIHNwZWNpZmllZCBzdWJzdGl0dXRpb24gbWF5IGJlIGRvbmUuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJpb3JQcmVzY3JpcHRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iQW4gb3JkZXIvcHJlc2NyaXB0aW9uIHRoYXQgaXMgYmVpbmcgcmVwbGFjZWQiIGRlZmluaXRpb249IkEgbGluayB0byBhIHJlc291cmNlIHJlcHJlc2VudGluZyBhbiBlYXJsaWVyIG9yZGVyIHJlbGF0ZWQgb3JkZXIgb3IgcHJlc2NyaXB0aW9uLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRldGVjdGVkSXNzdWUiIGRlc2NyaXB0aW9uPSJDbGluaWNhbCBJc3N1ZSB3aXRoIGFjdGlvbiIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGFuIGFjdHVhbCBvciBwb3RlbnRpYWwgY2xpbmljYWwgaXNzdWUgd2l0aCBvciBiZXR3ZWVuIG9uZSBvciBtb3JlIGFjdGl2ZSBvciBwcm9wb3NlZCBjbGluaWNhbCBhY3Rpb25zIGZvciBhIHBhdGllbnQ7IGUuZy4gRHJ1Zy1kcnVnIGludGVyYWN0aW9uLCBkdXBsaWNhdGUgdGhlcmFweSwgZG9zYWdlIGFsZXJ0IGV0Yy4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBjYW4gaW5jbHVkZSBhIGRldGVjdGVkIGlzc3VlIHRoYXQgaGFzIGJlZW4gaWRlbnRpZmllZCBlaXRoZXIgYnkgYSBkZWNpc2lvbiBzdXBwb3J0IHN5c3RlbSBvciBieSBhIGNsaW5pY2lhbiBhbmQgbWF5IGluY2x1ZGUgaW5mb3JtYXRpb24gb24gdGhlIHN0ZXBzIHRoYXQgd2VyZSB0YWtlbiB0byBhZGRyZXNzIHRoZSBpc3N1ZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJldmVudEhpc3RvcnkiIGRlc2NyaXB0aW9uPSJBIGxpc3Qgb2YgZXZlbnRzIG9mIGludGVyZXN0IGluIHRoZSBsaWZlY3ljbGUiIGRlZmluaXRpb249IkxpbmtzIHRvIFByb3ZlbmFuY2UgcmVjb3JkcyBmb3IgcGFzdCB2ZXJzaW9ucyBvZiB0aGlzIHJlc291cmNlIG9yIGZ1bGZpbGxpbmcgcmVxdWVzdCBvciBldmVudCByZXNvdXJjZXMgdGhhdCBpZGVudGlmeSBrZXkgc3RhdGUgdHJhbnNpdGlvbnMgb3IgdXBkYXRlcyB0aGF0IGFyZSBsaWtlbHkgdG8gYmUgcmVsZXZhbnQgdG8gYSB1c2VyIGxvb2tpbmcgYXQgdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgcmVzb3VyY2UuIiBjb21tZW50PSJUaGlzIG1pZ2h0IG5vdCBpbmNsdWRlIHByb3ZlbmFuY2VzIGZvciBhbGwgdmVyc2lvbnMgb2YgdGhlIHJlcXVlc3Qg4oCTIG9ubHkgdGhvc2UgZGVlbWVkIOKAnHJlbGV2YW504oCdIG9yIGltcG9ydGFudC4gVGhpcyBTSEFMTCBOT1QgaW5jbHVkZSB0aGUgcHJvdmVuYW5jZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBjdXJyZW50IHZlcnNpb24gb2YgdGhlIHJlc291cmNlLiAoSWYgdGhhdCBwcm92ZW5hbmNlIGlzIGRlZW1lZCB0byBiZSBhIOKAnHJlbGV2YW504oCdIGNoYW5nZSwgaXQgd2lsbCBuZWVkIHRvIGJlIGFkZGVkIGFzIHBhcnQgb2YgYSBsYXRlciB1cGRhdGUuIFVudGlsIHRoZW4sIGl0IGNhbiBiZSBxdWVyaWVkIGRpcmVjdGx5IGFzIHRoZSBwcm92ZW5hbmNlIHRoYXQgcG9pbnRzIHRvIHRoaXMgdmVyc2lvbiB1c2luZyBfcmV2aW5jbHVkZSBBbGwgUHJvdmVuYW5jZXMgc2hvdWxkIGhhdmUgc29tZSBoaXN0b3JpY2FsIHZlcnNpb24gb2YgdGhpcyBSZXF1ZXN0IGFzIHRoZWlyIHN1YmplY3QuKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJyZXF1ZXN0ZXIiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0ic3ViamVjdCIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IkVuY291bnRlciIgcmVsYXRlZEtleUVsZW1lbnQ9ImVuY291bnRlciIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3QuRGlzcGVuc2VSZXF1ZXN0IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwZW5zZUludGVydmFsIiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBNaW5pbXVtIHBlcmlvZCBvZiB0aW1lIGJldHdlZW4gZGlzcGVuc2VzIiBkZWZpbml0aW9uPSJUaGUgbWluaW11bSBwZXJpb2Qgb2YgdGltZSB0aGF0IG11c3Qgb2NjdXIgYmV0d2VlbiBkaXNwZW5zZXMgb2YgdGhlIG1lZGljYXRpb24uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsaWRpdHlQZXJpb2QiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGltZSBwZXJpb2Qgc3VwcGx5IGlzIGF1dGhvcml6ZWQgZm9yIiBkZWZpbml0aW9uPSJUaGlzIGluZGljYXRlcyB0aGUgdmFsaWRpdHkgcGVyaW9kIG9mIGEgcHJlc2NyaXB0aW9uIChzdGFsZSBkYXRpbmcgdGhlIFByZXNjcmlwdGlvbikuIiBjb21tZW50PSJJdCByZWZsZWN0cyB0aGUgcHJlc2NyaWJlcnMnIHBlcnNwZWN0aXZlIGZvciB0aGUgdmFsaWRpdHkgb2YgdGhlIHByZXNjcmlwdGlvbi4gRGlzcGVuc2VzIG11c3Qgbm90IGJlIG1hZGUgYWdhaW5zdCB0aGUgcHJlc2NyaXB0aW9uIG91dHNpZGUgb2YgdGhpcyBwZXJpb2QuIFRoZSBsb3dlci1ib3VuZCBvZiB0aGUgRGlzcGVuc2luZyBXaW5kb3cgc2lnbmlmaWVzIHRoZSBlYXJsaWVzdCBkYXRlIHRoYXQgdGhlIHByZXNjcmlwdGlvbiBjYW4gYmUgZmlsbGVkIGZvciB0aGUgZmlyc3QgdGltZS4gSWYgYW4gdXBwZXItYm91bmQgaXMgbm90IHNwZWNpZmllZCB0aGVuIHRoZSBQcmVzY3JpcHRpb24gaXMgb3Blbi1lbmRlZCBvciB3aWxsIGRlZmF1bHQgdG8gYSBzdGFsZS1kYXRlIGJhc2VkIG9uIHJlZ3VsYXRpb25zLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im51bWJlck9mUmVwZWF0c0FsbG93ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIE51bWJlciBvZiByZWZpbGxzIGF1dGhvcml6ZWQiIGRlZmluaXRpb249IkFuIGludGVnZXIgaW5kaWNhdGluZyB0aGUgbnVtYmVyIG9mIHRpbWVzLCBpbiBhZGRpdGlvbiB0byB0aGUgb3JpZ2luYWwgZGlzcGVuc2UsIChha2EgcmVmaWxscyBvciByZXBlYXRzKSB0aGF0IHRoZSBwYXRpZW50IGNhbiByZWNlaXZlIHRoZSBwcmVzY3JpYmVkIG1lZGljYXRpb24uIFVzYWdlIE5vdGVzOiBUaGlzIGludGVnZXIgZG9lcyBub3QgaW5jbHVkZSB0aGUgb3JpZ2luYWwgb3JkZXIgZGlzcGVuc2UuIFRoaXMgbWVhbnMgdGhhdCBpZiBhbiBvcmRlciBpbmRpY2F0ZXMgZGlzcGVuc2UgMzAgdGFibGV0cyBwbHVzICZxdW90OzMgcmVwZWF0cyZxdW90OywgdGhlbiB0aGUgb3JkZXIgY2FuIGJlIGRpc3BlbnNlZCBhIHRvdGFsIG9mIDQgdGltZXMgYW5kIHRoZSBwYXRpZW50IGNhbiByZWNlaXZlIGEgdG90YWwgb2YgMTIwIHRhYmxldHMuICBBIHByZXNjcmliZXIgbWF5IGV4cGxpY2l0bHkgc2F5IHRoYXQgemVybyByZWZpbGxzIGFyZSBwZXJtaXR0ZWQgYWZ0ZXIgdGhlIGluaXRpYWwgZGlzcGVuc2UuIiBjb21tZW50PSJJZiBkaXNwbGF5aW5nICZxdW90O251bWJlciBvZiBhdXRob3JpemVkIGZpbGxzJnF1b3Q7LCBhZGQgMSB0byB0aGlzIG51bWJlci4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icXVhbnRpdHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBBbW91bnQgb2YgbWVkaWNhdGlvbiB0byBzdXBwbHkgcGVyIGRpc3BlbnNlIiBkZWZpbml0aW9uPSJUaGUgYW1vdW50IHRoYXQgaXMgdG8gYmUgZGlzcGVuc2VkIGZvciBvbmUgZmlsbC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZXhwZWN0ZWRTdXBwbHlEdXJhdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgTnVtYmVyIG9mIGRheXMgc3VwcGx5IHBlciBkaXNwZW5zZSIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyB0aGUgcGVyaW9kIHRpbWUgb3ZlciB3aGljaCB0aGUgc3VwcGxpZWQgcHJvZHVjdCBpcyBleHBlY3RlZCB0byBiZSB1c2VkLCBvciB0aGUgbGVuZ3RoIG9mIHRpbWUgdGhlIGRpc3BlbnNlIGlzIGV4cGVjdGVkIHRvIGxhc3QuIiBjb21tZW50PSJJbiBzb21lIHNpdHVhdGlvbnMsIHRoaXMgYXR0cmlidXRlIG1heSBiZSB1c2VkIGluc3RlYWQgb2YgcXVhbnRpdHkgdG8gaWRlbnRpZnkgdGhlIGFtb3VudCBzdXBwbGllZCBieSBob3cgbG9uZyBpdCBpcyBleHBlY3RlZCB0byBsYXN0LCByYXRoZXIgdGhhbiB0aGUgcGh5c2ljYWwgcXVhbnRpdHkgaXNzdWVkLCBlLmcuIDkwIGRheXMgc3VwcGx5IG9mIG1lZGljYXRpb24gKGJhc2VkIG9uIGFuIG9yZGVyZWQgZG9zYWdlKS4gV2hlbiBwb3NzaWJsZSwgaXQgaXMgYWx3YXlzIGJldHRlciB0byBzcGVjaWZ5IHF1YW50aXR5LCBhcyB0aGlzIHRlbmRzIHRvIGJlIG1vcmUgcHJlY2lzZS4gZXhwZWN0ZWRTdXBwbHlEdXJhdGlvbiB3aWxsIGFsd2F5cyBiZSBhbiBlc3RpbWF0ZSB0aGF0IGNhbiBiZSBpbmZsdWVuY2VkIGJ5IGV4dGVybmFsIGZhY3RvcnMuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkludGVuZGVkIGRpc3BlbnNlciIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBpbnRlbmRlZCBkaXNwZW5zaW5nIE9yZ2FuaXphdGlvbiBzcGVjaWZpZWQgYnkgdGhlIHByZXNjcmliZXIuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZWRpY2F0aW9uUmVxdWVzdC5EaXNwZW5zZVJlcXVlc3QuSW5pdGlhbEZpbGwiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InF1YW50aXR5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IkZpcnN0IGZpbGwgcXVhbnRpdHkiIGRlZmluaXRpb249IlRoZSBhbW91bnQgb3IgcXVhbnRpdHkgdG8gcHJvdmlkZSBhcyBwYXJ0IG9mIHRoZSBmaXJzdCBkaXNwZW5zZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkdXJhdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJGaXJzdCBmaWxsIGR1cmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgbGVuZ3RoIG9mIHRpbWUgdGhhdCB0aGUgZmlyc3QgZGlzcGVuc2UgaXMgZXhwZWN0ZWQgdG8gbGFzdC4iLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik1lZGljYXRpb25SZXF1ZXN0LlN1YnN0aXR1dGlvbiIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWxsb3dlZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaGV0aGVyIHN1YnN0aXR1dGlvbiBpcyBhbGxvd2VkIG9yIG5vdCIgZGVmaW5pdGlvbj0iVHJ1ZSBpZiB0aGUgcHJlc2NyaWJlciBhbGxvd3MgYSBkaWZmZXJlbnQgZHJ1ZyB0byBiZSBkaXNwZW5zZWQgZnJvbSB3aGF0IHdhcyBwcmVzY3JpYmVkLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHdoZXRoZXIgc3Vic3RpdHV0aW9uIGlzIGFsbG93IG9yIG5vdCwgaXQgY2Fubm90IGJlIGlnbm9yZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkJvb2xlYW4iLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3RTdWJzdGl0dXRpb24iIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVzIHRoZSB0eXBlIG9mIHN1YnN0aXR1dGlvbiBhbGxvd2VkLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgc2hvdWxkIChub3QpIHN1YnN0aXR1dGlvbiBiZSBtYWRlIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHJlYXNvbiBmb3IgdGhlIHN1YnN0aXR1dGlvbiwgb3Igd2h5IHN1YnN0aXR1dGlvbiBtdXN0IG9yIG11c3Qgbm90IGJlIHBlcmZvcm1lZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uSW50ZW5kZWRTdWJzdGl0dXRpb25SZWFzb24iIGRlc2NyaXB0aW9uPSJBIGNvZGVkIGNvbmNlcHQgZGVzY3JpYmluZyB0aGUgcmVhc29uIHRoYXQgYSBkaWZmZXJlbnQgbWVkaWNhdGlvbiBzaG91bGQgKG9yIHNob3VsZCBub3QpIGJlIHN1YnN0aXR1dGVkIGZyb20gd2hhdCB3YXMgcHJlc2NyaWJlZC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3RQcmlvcml0eSIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZWRpY2F0aW9uU3RhdGVtZW50IiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1tZWRpY2F0aW9uc3RhdGVtZW50IiBsYWJlbD0iUUlDb3JlIE1lZGljYXRpb25TdGF0ZW1lbnQiIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9Im1lZGljYXRpb24iIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJFeHRlcm5hbCBpZGVudGlmaWVyIiBkZWZpbml0aW9uPSJJZGVudGlmaWVycyBhc3NvY2lhdGVkIHdpdGggdGhpcyBNZWRpY2F0aW9uIFN0YXRlbWVudCB0aGF0IGFyZSBkZWZpbmVkIGJ5IGJ1c2luZXNzIHByb2Nlc3NlcyBhbmQvb3IgdXNlZCB0byByZWZlciB0byBpdCB3aGVuIGEgZGlyZWN0IFVSTCByZWZlcmVuY2UgdG8gdGhlIHJlc291cmNlIGl0c2VsZiBpcyBub3QgYXBwcm9wcmlhdGUuIFRoZXkgYXJlIGJ1c2luZXNzIGlkZW50aWZpZXJzIGFzc2lnbmVkIHRvIHRoaXMgcmVzb3VyY2UgYnkgdGhlIHBlcmZvcm1lciBvciBvdGhlciBzeXN0ZW1zIGFuZCByZW1haW4gY29uc3RhbnQgYXMgdGhlIHJlc291cmNlIGlzIHVwZGF0ZWQgYW5kIHByb3BhZ2F0ZXMgZnJvbSBzZXJ2ZXIgdG8gc2VydmVyLiIgY29tbWVudD0iVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJGdWxmaWxzIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIiBkZWZpbml0aW9uPSJBIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBldmVudC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBldmVudCBpcyBhIGNvbXBvbmVudCBvciBzdGVwLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5NZWRpY2F0aW9uU3RhdGVtZW50U3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBhY3RpdmUgfCBjb21wbGV0ZWQgfCBlbnRlcmVkLWluLWVycm9yIHwgaW50ZW5kZWQgfCBzdG9wcGVkIHwgb24taG9sZCB8IHVua25vd24gfCBub3QtdGFrZW4iIGRlZmluaXRpb249IkEgY29kZSByZXByZXNlbnRpbmcgdGhlIHBhdGllbnQgb3Igb3RoZXIgc291cmNlJ3MganVkZ21lbnQgYWJvdXQgdGhlIHN0YXRlIG9mIHRoZSBtZWRpY2F0aW9uIHVzZWQgdGhhdCB0aGlzIHN0YXRlbWVudCBpcyBhYm91dC4gIEdlbmVyYWxseSwgdGhpcyB3aWxsIGJlIGFjdGl2ZSBvciBjb21wbGV0ZWQuIiBjb21tZW50PSJNZWRpY2F0aW9uU3RhdGVtZW50IGlzIGEgc3RhdGVtZW50IGF0IGEgcG9pbnQgaW4gdGltZS4gIFRoZSBzdGF0dXMgaXMgb25seSByZXByZXNlbnRhdGl2ZSBhdCB0aGUgcG9pbnQgd2hlbiBpdCB3YXMgYXNzZXJ0ZWQuICBUaGUgdmFsdWUgc2V0IGZvciBNZWRpY2F0aW9uU3RhdGVtZW50LnN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IGFzc2VydCB0aGUgc3RhdHVzIG9mIHRoZSB1c2Ugb2YgdGhlIG1lZGljYXRpb24gYnkgdGhlIHBhdGllbnQgKGZvciBleGFtcGxlLCBzdG9wcGVkIG9yIG9uIGhvbGQpIGFzIHdlbGwgYXMgY29kZXMgdGhhdCBhc3NlcnQgdGhlIHN0YXR1cyBvZiB0aGUgbWVkaWNhdGlvbiBzdGF0ZW1lbnQgaXRzZWxmIChmb3IgZXhhbXBsZSwgZW50ZXJlZCBpbiBlcnJvcikuJiMxMzsmIzEzO1RoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uU3RhdGVtZW50U3RhdHVzIiBkZXNjcmlwdGlvbj0iQSBjb2RlZCBjb25jZXB0IGluZGljYXRpbmcgdGhlIGN1cnJlbnQgc3RhdHVzIG9mIGEgTWVkaWNhdGlvblN0YXRlbWVudC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXNSZWFzb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZWFzb24gZm9yIGN1cnJlbnQgc3RhdHVzIiBkZWZpbml0aW9uPSJDYXB0dXJlcyB0aGUgcmVhc29uIGZvciB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgTWVkaWNhdGlvblN0YXRlbWVudC4iIGNvbW1lbnQ9IlRoaXMgaXMgZ2VuZXJhbGx5IG9ubHkgdXNlZCBmb3IgJnF1b3Q7ZXhjZXB0aW9uJnF1b3Q7IHN0YXR1c2VzIHN1Y2ggYXMgJnF1b3Q7bm90LXRha2VuJnF1b3Q7LCAmcXVvdDtvbi1ob2xkJnF1b3Q7LCAmcXVvdDtjYW5jZWxsZWQmcXVvdDsgb3IgJnF1b3Q7ZW50ZXJlZC1pbi1lcnJvciZxdW90Oy4gVGhlIHJlYXNvbiBmb3IgcGVyZm9ybWluZyB0aGUgZXZlbnQgYXQgYWxsIGlzIGNhcHR1cmVkIGluIHJlYXNvbkNvZGUsIG5vdCBoZXJlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uU3RhdGVtZW50U3RhdHVzUmVhc29uIiBkZXNjcmlwdGlvbj0iQSBjb2RlZCBjb25jZXB0IGluZGljYXRpbmcgdGhlIHJlYXNvbiBmb3IgdGhlIHN0YXR1cyBvZiB0aGUgc3RhdGVtZW50LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlR5cGUgb2YgbWVkaWNhdGlvbiB1c2FnZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdoZXJlIHRoZSBtZWRpY2F0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGNvbnN1bWVkIG9yIGFkbWluaXN0ZXJlZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uU3RhdGVtZW50Q2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJBIGNvZGVkIGNvbmNlcHQgaWRlbnRpZnlpbmcgd2hlcmUgdGhlIG1lZGljYXRpb24gaW5jbHVkZWQgaW4gdGhlIE1lZGljYXRpb25TdGF0ZW1lbnQgaXMgZXhwZWN0ZWQgdG8gYmUgY29uc3VtZWQgb3IgYWRtaW5pc3RlcmVkLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZWRpY2F0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBXaGF0IG1lZGljYXRpb24gd2FzIHRha2VuIiBkZWZpbml0aW9uPSJJZGVudGlmaWVzIHRoZSBtZWRpY2F0aW9uIGJlaW5nIGFkbWluaXN0ZXJlZC4gVGhpcyBpcyBlaXRoZXIgYSBsaW5rIHRvIGEgcmVzb3VyY2UgcmVwcmVzZW50aW5nIHRoZSBkZXRhaWxzIG9mIHRoZSBtZWRpY2F0aW9uIG9yIGEgc2ltcGxlIGF0dHJpYnV0ZSBjYXJyeWluZyBhIGNvZGUgdGhhdCBpZGVudGlmaWVzIHRoZSBtZWRpY2F0aW9uIGZyb20gYSBrbm93biBsaXN0IG9mIG1lZGljYXRpb25zLiIgY29tbWVudD0iSWYgb25seSBhIGNvZGUgaXMgc3BlY2lmaWVkLCB0aGVuIGl0IG5lZWRzIHRvIGJlIGEgY29kZSBmb3IgYSBzcGVjaWZpYyBwcm9kdWN0LiBJZiBtb3JlIGluZm9ybWF0aW9uIGlzIHJlcXVpcmVkLCB0aGVuIHRoZSB1c2Ugb2YgdGhlIG1lZGljYXRpb24gcmVzb3VyY2UgaXMgcmVjb21tZW5kZWQuICBGb3IgZXhhbXBsZSwgaWYgeW91IHJlcXVpcmUgZm9ybSBvciBsb3QgbnVtYmVyLCB0aGVuIHlvdSBtdXN0IHJlZmVyZW5jZSB0aGUgTWVkaWNhdGlvbiByZXNvdXJjZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGUgc2V0IG9mIFJ4Tm9ybSBjb2RlcyB0byByZXByZXNlbnQgbWVkaWNhdGlvbnMiIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgV2hvIGlzL3dhcyB0YWtpbmcgdGhlIG1lZGljYXRpb24iIGRlZmluaXRpb249IlRoZSBwZXJzb24sIGFuaW1hbCBvciBncm91cCB3aG8gaXMvd2FzIHRha2luZyB0aGUgbWVkaWNhdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb250ZXh0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkVuY291bnRlciAvIEVwaXNvZGUgYXNzb2NpYXRlZCB3aXRoIE1lZGljYXRpb25TdGF0ZW1lbnQiIGRlZmluaXRpb249IlRoZSBlbmNvdW50ZXIgb3IgZXBpc29kZSBvZiBjYXJlIHRoYXQgZXN0YWJsaXNoZXMgdGhlIGNvbnRleHQgZm9yIHRoaXMgTWVkaWNhdGlvblN0YXRlbWVudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFRoZSBkYXRlL3RpbWUgb3IgaW50ZXJ2YWwgd2hlbiB0aGUgbWVkaWNhdGlvbiBpcy93YXMvd2lsbCBiZSB0YWtlbiIgZGVmaW5pdGlvbj0iVGhlIGludGVydmFsIG9mIHRpbWUgZHVyaW5nIHdoaWNoIGl0IGlzIGJlaW5nIGFzc2VydGVkIHRoYXQgdGhlIHBhdGllbnQgaXMvd2FzL3dpbGwgYmUgdGFraW5nIHRoZSBtZWRpY2F0aW9uIChvciB3YXMgbm90IHRha2luZywgd2hlbiB0aGUgTWVkaWNhdGlvblN0YXRlbWVudC50YWtlbiBlbGVtZW50IGlzIE5vKS4iIGNvbW1lbnQ9IlRoaXMgYXR0cmlidXRlIHJlZmxlY3RzIHRoZSBwZXJpb2Qgb3ZlciB3aGljaCB0aGUgcGF0aWVudCBjb25zdW1lZCB0aGUgbWVkaWNhdGlvbiBhbmQgaXMgZXhwZWN0ZWQgdG8gYmUgcG9wdWxhdGVkIG9uIHRoZSBtYWpvcml0eSBvZiBNZWRpY2F0aW9uIFN0YXRlbWVudHMuIElmIHRoZSBtZWRpY2F0aW9uIGlzIHN0aWxsIGJlaW5nIHRha2VuIGF0IHRoZSB0aW1lIHRoZSBzdGF0ZW1lbnQgaXMgcmVjb3JkZWQsIHRoZSAmcXVvdDtlbmQmcXVvdDsgZGF0ZSB3aWxsIGJlIG9taXR0ZWQuICBUaGUgZGF0ZS90aW1lIGF0dHJpYnV0ZSBzdXBwb3J0cyBhIHZhcmlldHkgb2YgZGF0ZXMgLSB5ZWFyLCB5ZWFyL21vbnRoIGFuZCBleGFjdCBkYXRlLiAgSWYgc29tZXRoaW5nIG1vcmUgdGhhbiB0aGlzIGlzIHJlcXVpcmVkLCB0aGlzIHNob3VsZCBiZSBjb252ZXllZCBhcyB0ZXh0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGVBc3NlcnRlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgV2hlbiB0aGUgc3RhdGVtZW50IHdhcyBhc3NlcnRlZD8iIGRlZmluaXRpb249IlRoZSBkYXRlIHdoZW4gdGhlIG1lZGljYXRpb24gc3RhdGVtZW50IHdhcyBhc3NlcnRlZCBieSB0aGUgaW5mb3JtYXRpb24gc291cmNlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImluZm9ybWF0aW9uU291cmNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBQZXJzb24gb3Igb3JnYW5pemF0aW9uIHRoYXQgcHJvdmlkZWQgdGhlIGluZm9ybWF0aW9uIGFib3V0IHRoZSB0YWtpbmcgb2YgdGhpcyBtZWRpY2F0aW9uIiBkZWZpbml0aW9uPSJUaGUgcGVyc29uIG9yIG9yZ2FuaXphdGlvbiB0aGF0IHByb3ZpZGVkIHRoZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdGFraW5nIG9mIHRoaXMgbWVkaWNhdGlvbi4gTm90ZTogVXNlIGRlcml2ZWRGcm9tIHdoZW4gYSBNZWRpY2F0aW9uU3RhdGVtZW50IGlzIGRlcml2ZWQgZnJvbSBvdGhlciByZXNvdXJjZXMsIGUuZy4gQ2xhaW0gb3IgTWVkaWNhdGlvblJlcXVlc3QuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgQWRkaXRpb25hbCBzdXBwb3J0aW5nIGluZm9ybWF0aW9uIiBkZWZpbml0aW9uPSJBbGxvd3MgbGlua2luZyB0aGUgTWVkaWNhdGlvblN0YXRlbWVudCB0byB0aGUgdW5kZXJseWluZyBNZWRpY2F0aW9uUmVxdWVzdCwgb3IgdG8gb3RoZXIgaW5mb3JtYXRpb24gdGhhdCBzdXBwb3J0cyBvciBpcyB1c2VkIHRvIGRlcml2ZSB0aGUgTWVkaWNhdGlvblN0YXRlbWVudC4iIGNvbW1lbnQ9Ikxpa2VseSByZWZlcmVuY2VzIHdvdWxkIGJlIHRvIE1lZGljYXRpb25SZXF1ZXN0LCBNZWRpY2F0aW9uRGlzcGVuc2UsIENsYWltLCBPYnNlcnZhdGlvbiBvciBRdWVzdGlvbm5haXJlQW5zd2Vycy4gIFRoZSBtb3N0IGNvbW1vbiB1c2UgY2FzZXMgZm9yIGRlcml2aW5nIGEgTWVkaWNhdGlvblN0YXRlbWVudCBjb21lcyBmcm9tIGNyZWF0aW5nIGEgTWVkaWNhdGlvblN0YXRlbWVudCBmcm9tIGEgTWVkaWNhdGlvblJlcXVlc3Qgb3IgZnJvbSBhIGxhYiBvYnNlcnZhdGlvbiBvciBhIGNsYWltLiAgaXQgc2hvdWxkIGJlIG5vdGVkIHRoYXQgdGhlIGFtb3VudCBvZiBpbmZvcm1hdGlvbiB0aGF0IGlzIGF2YWlsYWJsZSB2YXJpZXMgZnJvbSB0aGUgdHlwZSByZXNvdXJjZSB0aGF0IHlvdSBkZXJpdmUgdGhlIE1lZGljYXRpb25TdGF0ZW1lbnQgZnJvbS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmVhc29uIGZvciB3aHkgdGhlIG1lZGljYXRpb24gaXMgYmVpbmcvd2FzIHRha2VuIiBkZWZpbml0aW9uPSJBIHJlYXNvbiBmb3Igd2h5IHRoZSBtZWRpY2F0aW9uIGlzIGJlaW5nL3dhcyB0YWtlbi4iIGNvbW1lbnQ9IlRoaXMgY291bGQgYmUgYSBkaWFnbm9zaXMgY29kZS4gSWYgYSBmdWxsIGNvbmRpdGlvbiByZWNvcmQgZXhpc3RzIG9yIGFkZGl0aW9uYWwgZGV0YWlsIGlzIG5lZWRlZCwgdXNlIHJlYXNvbkZvclVzZVJlZmVyZW5jZS4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJNZWRpY2F0aW9uUmVhc29uIiBkZXNjcmlwdGlvbj0iQSBjb2RlZCBjb25jZXB0IGlkZW50aWZ5aW5nIHdoeSB0aGUgbWVkaWNhdGlvbiBpcyBiZWluZyB0YWtlbi4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvblJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkNvbmRpdGlvbiBvciBvYnNlcnZhdGlvbiB0aGF0IHN1cHBvcnRzIHdoeSB0aGUgbWVkaWNhdGlvbiBpcyBiZWluZy93YXMgdGFrZW4iIGRlZmluaXRpb249IkNvbmRpdGlvbiBvciBvYnNlcnZhdGlvbiB0aGF0IHN1cHBvcnRzIHdoeSB0aGUgbWVkaWNhdGlvbiBpcyBiZWluZy93YXMgdGFrZW4uIiBjb21tZW50PSJUaGlzIGlzIGEgcmVmZXJlbmNlIHRvIGEgY29uZGl0aW9uIHRoYXQgaXMgdGhlIHJlYXNvbiB3aHkgdGhlIG1lZGljYXRpb24gaXMgYmVpbmcvd2FzIHRha2VuLiAgSWYgb25seSBhIGNvZGUgZXhpc3RzLCB1c2UgcmVhc29uRm9yVXNlQ29kZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iRnVydGhlciBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc3RhdGVtZW50IiBkZWZpbml0aW9uPSJQcm92aWRlcyBleHRyYSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbWVkaWNhdGlvbiBzdGF0ZW1lbnQgdGhhdCBpcyBub3QgY29udmV5ZWQgYnkgdGhlIG90aGVyIGF0dHJpYnV0ZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRvc2FnZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBEZXRhaWxzIG9mIGhvdyBtZWRpY2F0aW9uIGlzL3dhcyB0YWtlbiBvciBzaG91bGQgYmUgdGFrZW4iIGRlZmluaXRpb249IkluZGljYXRlcyBob3cgdGhlIG1lZGljYXRpb24gaXMvd2FzIG9yIHNob3VsZCBiZSB0YWtlbiBieSB0aGUgcGF0aWVudC4iIGNvbW1lbnQ9IlRoZSBkYXRlcyBpbmNsdWRlZCBpbiB0aGUgZG9zYWdlIG9uIGEgTWVkaWNhdGlvbiBTdGF0ZW1lbnQgcmVmbGVjdCB0aGUgZGF0ZXMgZm9yIGEgZ2l2ZW4gZG9zZS4gIEZvciBleGFtcGxlLCAmcXVvdDtmcm9tIE5vdmVtYmVyIDEsIDIwMTYgdG8gTm92ZW1iZXIgMywgMjAxNiwgdGFrZSBvbmUgdGFibGV0IGRhaWx5IGFuZCBmcm9tIE5vdmVtYmVyIDQsIDIwMTYgdG8gTm92ZW1iZXIgNywgMjAxNiwgdGFrZSB0d28gdGFibGV0cyBkYWlseS4mcXVvdDsgIEl0IGlzIGV4cGVjdGVkIHRoYXQgdGhpcyBzcGVjaWZpY2l0eSBtYXkgb25seSBiZSBwb3B1bGF0ZWQgd2hlcmUgdGhlIHBhdGllbnQgYnJpbmdzIGluIHRoZWlyIGxhYmVsZWQgY29udGFpbmVyIG9yIHdoZXJlIHRoZSBNZWRpY2F0aW9uIFN0YXRlbWVudCBpcyBkZXJpdmVkIGZyb20gYSBNZWRpY2F0aW9uUmVxdWVzdC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkRvc2FnZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJpbmZvcm1hdGlvblNvdXJjZSIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJzdWJqZWN0Ii8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUmVsYXRlZFBlcnNvbiIgcmVsYXRlZEtleUVsZW1lbnQ9ImluZm9ybWF0aW9uU291cmNlIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZWRpY2F0aW9uU3RhdGVtZW50U3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik1lZGljYXRpb25TdGF0dXMiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTWV0YSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL01ldGEiIGxhYmVsPSJNZXRhIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idmVyc2lvbklkIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJWZXJzaW9uIHNwZWNpZmljIGlkZW50aWZpZXIiIGRlZmluaXRpb249IlRoZSB2ZXJzaW9uIHNwZWNpZmljIGlkZW50aWZpZXIsIGFzIGl0IGFwcGVhcnMgaW4gdGhlIHZlcnNpb24gcG9ydGlvbiBvZiB0aGUgVVJMLiBUaGlzIHZhbHVlIGNoYW5nZXMgd2hlbiB0aGUgcmVzb3VyY2UgaXMgY3JlYXRlZCwgdXBkYXRlZCwgb3IgZGVsZXRlZC4iIGNvbW1lbnQ9IlRoZSBzZXJ2ZXIgYXNzaWducyB0aGlzIHZhbHVlLCBhbmQgaWdub3JlcyB3aGF0IHRoZSBjbGllbnQgc3BlY2lmaWVzLCBleGNlcHQgaW4gdGhlIGNhc2UgdGhhdCB0aGUgc2VydmVyIGlzIGltcG9zaW5nIHZlcnNpb24gaW50ZWdyaXR5IG9uIHVwZGF0ZXMvZGVsZXRlcy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsYXN0VXBkYXRlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIHRoZSByZXNvdXJjZSB2ZXJzaW9uIGxhc3QgY2hhbmdlZCIgZGVmaW5pdGlvbj0iV2hlbiB0aGUgcmVzb3VyY2UgbGFzdCBjaGFuZ2VkIC0gZS5nLiB3aGVuIHRoZSB2ZXJzaW9uIGNoYW5nZWQuIiBjb21tZW50PSJUaGlzIHZhbHVlIGlzIGFsd2F5cyBwb3B1bGF0ZWQgZXhjZXB0IHdoZW4gdGhlIHJlc291cmNlIGlzIGZpcnN0IGJlaW5nIGNyZWF0ZWQuIFRoZSBzZXJ2ZXIgLyByZXNvdXJjZSBtYW5hZ2VyIHNldHMgdGhpcyB2YWx1ZTsgd2hhdCBhIGNsaWVudCBwcm92aWRlcyBpcyBpcnJlbGV2YW50LiBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gdGhlIEhUVFAgTGFzdC1Nb2RpZmllZCBhbmQgU0hPVUxEIGhhdmUgdGhlIHNhbWUgdmFsdWUgb24gYSBbcmVhZF0oaHR0cC5odG1sI3JlYWQpIGludGVyYWN0aW9uLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InNvdXJjZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSWRlbnRpZmllcyB3aGVyZSB0aGUgcmVzb3VyY2UgY29tZXMgZnJvbSIgZGVmaW5pdGlvbj0iQSB1cmkgdGhhdCBpZGVudGlmaWVzIHRoZSBzb3VyY2Ugc3lzdGVtIG9mIHRoZSByZXNvdXJjZS4gVGhpcyBwcm92aWRlcyBhIG1pbmltYWwgYW1vdW50IG9mIFtQcm92ZW5hbmNlXShwcm92ZW5hbmNlLmh0bWwjKSBpbmZvcm1hdGlvbiB0aGF0IGNhbiBiZSB1c2VkIHRvIHRyYWNrIG9yIGRpZmZlcmVudGlhdGUgdGhlIHNvdXJjZSBvZiBpbmZvcm1hdGlvbiBpbiB0aGUgcmVzb3VyY2UuIFRoZSBzb3VyY2UgbWF5IGlkZW50aWZ5IGFub3RoZXIgRkhJUiBzZXJ2ZXIsIGRvY3VtZW50LCBtZXNzYWdlLCBkYXRhYmFzZSwgZXRjLiIgY29tbWVudD0iSW4gdGhlIHByb3ZlbmFuY2UgcmVzb3VyY2UsIHRoaXMgY29ycmVzcG9uZHMgdG8gUHJvdmVuYW5jZS5lbnRpdHkud2hhdFt4XS4gVGhlIGV4YWN0IHVzZSBvZiB0aGUgc291cmNlIChhbmQgdGhlIGltcGxpZWQgUHJvdmVuYW5jZS5lbnRpdHkucm9sZSkgaXMgbGVmdCB0byBpbXBsZW1lbnRlciBkaXNjcmV0aW9uLiBPbmx5IG9uZSBub21pbmF0ZWQgc291cmNlIGlzIGFsbG93ZWQ7IGZvciBhZGRpdGlvbmFsIHByb3ZlbmFuY2UgZGV0YWlscywgYSBmdWxsIFByb3ZlbmFuY2UgcmVzb3VyY2Ugc2hvdWxkIGJlIHVzZWQuICYjMTA7JiMxMDtUaGlzIGVsZW1lbnQgY2FuIGJlIHVzZWQgdG8gaW5kaWNhdGUgd2hlcmUgdGhlIGN1cnJlbnQgbWFzdGVyIHNvdXJjZSBvZiBhIHJlc291cmNlIHRoYXQgaGFzIGEgY2Fub25pY2FsIFVSTCBpZiB0aGUgcmVzb3VyY2UgaXMgbm8gbG9uZ2VyIGhvc3RlZCBhdCB0aGUgY2Fub25pY2FsIFVSTC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcm9maWxlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlByb2ZpbGVzIHRoaXMgcmVzb3VyY2UgY2xhaW1zIHRvIGNvbmZvcm0gdG8iIGRlZmluaXRpb249IkEgbGlzdCBvZiBwcm9maWxlcyAocmVmZXJlbmNlcyB0byBbU3RydWN0dXJlRGVmaW5pdGlvbl0oc3RydWN0dXJlZGVmaW5pdGlvbi5odG1sIykgcmVzb3VyY2VzKSB0aGF0IHRoaXMgcmVzb3VyY2UgY2xhaW1zIHRvIGNvbmZvcm0gdG8uIFRoZSBVUkwgaXMgYSByZWZlcmVuY2UgdG8gW1N0cnVjdHVyZURlZmluaXRpb24udXJsXShzdHJ1Y3R1cmVkZWZpbml0aW9uLWRlZmluaXRpb25zLmh0bWwjU3RydWN0dXJlRGVmaW5pdGlvbi51cmwpLiIgY29tbWVudD0iSXQgaXMgdXAgdG8gdGhlIHNlcnZlciBhbmQvb3Igb3RoZXIgaW5mcmFzdHJ1Y3R1cmUgb2YgcG9saWN5IHRvIGRldGVybWluZSB3aGV0aGVyL2hvdyB0aGVzZSBjbGFpbXMgYXJlIHZlcmlmaWVkIGFuZC9vciB1cGRhdGVkIG92ZXIgdGltZS4gIFRoZSBsaXN0IG9mIHByb2ZpbGUgVVJMcyBpcyBhIHNldC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzZWN1cml0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvZGUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlNlY3VyaXR5IExhYmVscyBhcHBsaWVkIHRvIHRoaXMgcmVzb3VyY2UiIGRlZmluaXRpb249IlNlY3VyaXR5IGxhYmVscyBhcHBsaWVkIHRvIHRoaXMgcmVzb3VyY2UuIFRoZXNlIHRhZ3MgY29ubmVjdCBzcGVjaWZpYyByZXNvdXJjZXMgdG8gdGhlIG92ZXJhbGwgc2VjdXJpdHkgcG9saWN5IGFuZCBpbmZyYXN0cnVjdHVyZS4iIGNvbW1lbnQ9IlRoZSBzZWN1cml0eSBsYWJlbHMgY2FuIGJlIHVwZGF0ZWQgd2l0aG91dCBjaGFuZ2luZyB0aGUgc3RhdGVkIHZlcnNpb24gb2YgdGhlIHJlc291cmNlLiBUaGUgbGlzdCBvZiBzZWN1cml0eSBsYWJlbHMgaXMgYSBzZXQuIFVuaXF1ZW5lc3MgaXMgYmFzZWQgdGhlIHN5c3RlbS9jb2RlLCBhbmQgdmVyc2lvbiBhbmQgZGlzcGxheSBhcmUgaWdub3JlZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvZGUiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU2VjdXJpdHlMYWJlbHMiIGRlc2NyaXB0aW9uPSJTZWN1cml0eSBMYWJlbHMgZnJvbSB0aGUgSGVhbHRoY2FyZSBQcml2YWN5IGFuZCBTZWN1cml0eSBDbGFzc2lmaWNhdGlvbiBTeXN0ZW0uIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0YWciIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUYWdzIGFwcGxpZWQgdG8gdGhpcyByZXNvdXJjZSIgZGVmaW5pdGlvbj0iVGFncyBhcHBsaWVkIHRvIHRoaXMgcmVzb3VyY2UuIFRhZ3MgYXJlIGludGVuZGVkIHRvIGJlIHVzZWQgdG8gaWRlbnRpZnkgYW5kIHJlbGF0ZSByZXNvdXJjZXMgdG8gcHJvY2VzcyBhbmQgd29ya2Zsb3csIGFuZCBhcHBsaWNhdGlvbnMgYXJlIG5vdCByZXF1aXJlZCB0byBjb25zaWRlciB0aGUgdGFncyB3aGVuIGludGVycHJldGluZyB0aGUgbWVhbmluZyBvZiBhIHJlc291cmNlLiIgY29tbWVudD0iVGhlIHRhZ3MgY2FuIGJlIHVwZGF0ZWQgd2l0aG91dCBjaGFuZ2luZyB0aGUgc3RhdGVkIHZlcnNpb24gb2YgdGhlIHJlc291cmNlLiBUaGUgbGlzdCBvZiB0YWdzIGlzIGEgc2V0LiBVbmlxdWVuZXNzIGlzIGJhc2VkIHRoZSBzeXN0ZW0vY29kZSwgYW5kIHZlcnNpb24gYW5kIGRpc3BsYXkgYXJlIGlnbm9yZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db2RlIi8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlRhZ3MiIGRlc2NyaXB0aW9uPSJDb2RlcyB0aGF0IHJlcHJlc2VudCB2YXJpb3VzIHR5cGVzIG9mIHRhZ3MsIGNvbW1vbmx5IHdvcmtmbG93LXJlbGF0ZWQ7IGUuZy4gJnF1b3Q7TmVlZHMgcmV2aWV3IGJ5IERyLiBKb25lcyZxdW90Oy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTWltZVR5cGUiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTmFtZVVzZSIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJOYXJyYXRpdmUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9OYXJyYXRpdmUiIGxhYmVsPSJOYXJyYXRpdmUiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5FbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuTmFycmF0aXZlU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImdlbmVyYXRlZCB8IGV4dGVuc2lvbnMgfCBhZGRpdGlvbmFsIHwgZW1wdHkiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIG5hcnJhdGl2ZSAtIHdoZXRoZXIgaXQncyBlbnRpcmVseSBnZW5lcmF0ZWQgKGZyb20ganVzdCB0aGUgZGVmaW5lZCBkYXRhIG9yIHRoZSBleHRlbnNpb25zIHRvbyksIG9yIHdoZXRoZXIgYSBodW1hbiBhdXRob3JlZCBpdCBhbmQgaXQgbWF5IGNvbnRhaW4gYWRkaXRpb25hbCBkYXRhLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik5hcnJhdGl2ZVN0YXR1cyIgZGVzY3JpcHRpb249IlRoZSBzdGF0dXMgb2YgYSByZXNvdXJjZSBuYXJyYXRpdmUuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGl2IiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJMaW1pdGVkIHhodG1sIGNvbnRlbnQiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgbmFycmF0aXZlIGNvbnRlbnQsIGEgc3RyaXBwZWQgZG93biB2ZXJzaW9uIG9mIFhIVE1MLiIgY29tbWVudD0iVGhlIGNvbnRlbnRzIG9mIHRoZSBodG1sIGVsZW1lbnQgYXJlIGFuIFhIVE1MIGZyYWdtZW50IGNvbnRhaW5pbmcgb25seSB0aGUgYmFzaWMgaHRtbCBmb3JtYXR0aW5nIGVsZW1lbnRzIGRlc2NyaWJlZCBpbiBjaGFwdGVycyA3LTExIGFuZCAxNSBvZiB0aGUgSFRNTCA0LjAgc3RhbmRhcmQsICZsdDthJmd0OyBlbGVtZW50cyAoZWl0aGVyIG5hbWUgb3IgaHJlZiksIGltYWdlcyBhbmQgaW50ZXJuYWxseSBjb250YWluZWQgc3R5bGVzaGVldHMuIFRoZSBYSFRNTCBjb250ZW50IFNIQUxMIE5PVCBjb250YWluIGEgaGVhZCwgYSBib2R5LCBleHRlcm5hbCBzdHlsZXNoZWV0IHJlZmVyZW5jZXMsIHNjcmlwdHMsIGZvcm1zLCBiYXNlL2xpbmsveGxpbmssIGZyYW1lcywgaWZyYW1lcyBhbmQgb2JqZWN0cy4iPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ0eHQtMSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJUaGUgbmFycmF0aXZlIFNIQUxMIGNvbnRhaW4gb25seSB0aGUgYmFzaWMgaHRtbCBmb3JtYXR0aW5nIGVsZW1lbnRzIGFuZCBhdHRyaWJ1dGVzIGRlc2NyaWJlZCBpbiBjaGFwdGVycyA3LTExIChleGNlcHQgc2VjdGlvbiA0IG9mIGNoYXB0ZXIgOSkgYW5kIDE1IG9mIHRoZSBIVE1MIDQuMCBzdGFuZGFyZCwgJmx0O2EmZ3Q7IGVsZW1lbnRzIChlaXRoZXIgbmFtZSBvciBocmVmKSwgaW1hZ2VzIGFuZCBpbnRlcm5hbGx5IGNvbnRhaW5lZCBzdHlsZSBhdHRyaWJ1dGVzIj4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJodG1sQ2hlY2tzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ0eHQtMiIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJUaGUgbmFycmF0aXZlIFNIQUxMIGhhdmUgc29tZSBub24td2hpdGVzcGFjZSBjb250ZW50Ij4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJodG1sQ2hlY2tzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik5hcnJhdGl2ZVN0YXR1cyIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJOb25QYXRpZW50T2JzZXJ2YXRpb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW5vbnBhdGllbnQtb2JzZXJ2YXRpb24iIGxhYmVsPSJRSUNvcmUgTm9uUGF0aWVudCBPYnNlcnZhdGlvbiIgdGFyZ2V0PSJPYnNlcnZhdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY29kZSIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkJ1c2luZXNzIElkZW50aWZpZXIgZm9yIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIHVuaXF1ZSBpZGVudGlmaWVyIGFzc2lnbmVkIHRvIHRoaXMgb2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJGdWxmaWxscyBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciIgZGVmaW5pdGlvbj0iQSBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciB0aGF0IGlzIGZ1bGZpbGxlZCBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgZXZlbnQuICBGb3IgZXhhbXBsZSwgYSBNZWRpY2F0aW9uUmVxdWVzdCBtYXkgcmVxdWlyZSBhIHBhdGllbnQgdG8gaGF2ZSBsYWJvcmF0b3J5IHRlc3QgcGVyZm9ybWVkIGJlZm9yZSAgaXQgaXMgZGlzcGVuc2VkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IlBhcnQgb2YgcmVmZXJlbmNlZCBldmVudCIgZGVmaW5pdGlvbj0iQSBsYXJnZXIgZXZlbnQgb2Ygd2hpY2ggdGhpcyBwYXJ0aWN1bGFyIE9ic2VydmF0aW9uIGlzIGEgY29tcG9uZW50IG9yIHN0ZXAuICBGb3IgZXhhbXBsZSwgIGFuIG9ic2VydmF0aW9uIGFzIHBhcnQgb2YgYSBwcm9jZWR1cmUuIiBjb21tZW50PSJUbyBsaW5rIGFuIE9ic2VydmF0aW9uIHRvIGFuIEVuY291bnRlciB1c2UgYGVuY291bnRlcmAuICBTZWUgdGhlICBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cgZm9yIGd1aWRhbmNlIG9uIHJlZmVyZW5jaW5nIGFub3RoZXIgT2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgcmVnaXN0ZXJlZCB8IHBybGltaW5hcnkgfCBmaW5hbCB8IGFtZW5kZWQgfCBjb3JyZWN0ZWQgfCBlbnRlcmVkLWluLWVycm9yIHwgdW5rbm93biIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzdWx0IHZhbHVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBDbGFzc2lmaWNhdGlvbiBvZiB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgVHlwZSBvZiBvYnNlcnZhdGlvbiAoY29kZSAvIHR5cGUpIiBkZWZpbml0aW9uPSJEZXNjcmliZXMgd2hhdCB3YXMgb2JzZXJ2ZWQuIFNvbWV0aW1lcyB0aGlzIGlzIGNhbGxlZCB0aGUgb2JzZXJ2YXRpb24gJnF1b3Q7bmFtZSZxdW90Oy4iIGNvbW1lbnQ9IipBbGwqIGNvZGUtdmFsdWUgYW5kLCBpZiBwcmVzZW50LCBjb21wb25lbnQuY29kZS1jb21wb25lbnQudmFsdWUgcGFpcnMgbmVlZCB0byBiZSB0YWtlbiBpbnRvIGFjY291bnQgdG8gY29ycmVjdGx5IHVuZGVyc3RhbmQgdGhlIG1lYW5pbmcgb2YgdGhlIG9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGlzIHZhbHVlIHNldCBzcGVjaWZpZXMgdGhlIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgVGhlIGRldmljZS9sb2NhdGlvbi9pbXBsYW50YWJsZSBkZXZpY2UgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0IiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlL2xvY2F0aW9uL2ltcGxhbnRhYmxlIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZvY3VzIiBkZXNjcmlwdGlvbj0iV2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQsIHdoZW4gaXQgaXMgbm90IGFib3V0IHRoZSBzdWJqZWN0IG9mIHJlY29yZCIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiB3aGVuIGl0IGlzIG5vdCB0aGUgcGF0aWVudCBvZiByZWNvcmQgcmVwcmVzZW50aW5nIHNvbWV0aGluZyBvciBzb21lb25lIGFzc29jaWF0ZWQgd2l0aCB0aGUgcGF0aWVudCBzdWNoIGFzIGEgc3BvdXNlLCBwYXJlbnQsIGZldHVzLCBvciBkb25vci4gRm9yIGV4YW1wbGUsIGZldHVzIG9ic2VydmF0aW9ucyBpbiBhIG1vdGhlcidzIHJlY29yZC4gIFRoZSBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiBjb3VsZCBhbHNvIGJlIGFuIGV4aXN0aW5nIGNvbmRpdGlvbiwgIGFuIGludGVydmVudGlvbiwgdGhlIHN1YmplY3QncyBkaWV0LCAgYW5vdGhlciBvYnNlcnZhdGlvbiBvZiB0aGUgc3ViamVjdCwgIG9yIGEgYm9keSBzdHJ1Y3R1cmUgc3VjaCBhcyB0dW1vciBvciBpbXBsYW50ZWQgZGV2aWNlLiAgIEFuIGV4YW1wbGUgdXNlIGNhc2Ugd291bGQgYmUgdXNpbmcgdGhlIE9ic2VydmF0aW9uIHJlc291cmNlIHRvIGNhcHR1cmUgd2hldGhlciB0aGUgbW90aGVyIGlzIHRyYWluZWQgdG8gY2hhbmdlIGhlciBjaGlsZCdzIHRyYWNoZW9zdG9teSB0dWJlLiBJbiB0aGlzIGV4YW1wbGUsIHRoZSBjaGlsZCBpcyB0aGUgcGF0aWVudCBvZiByZWNvcmQgYW5kIHRoZSBtb3RoZXIgaXMgdGhlIGZvY3VzLiIgY29tbWVudD0iVHlwaWNhbGx5LCBhbiBvYnNlcnZhdGlvbiBpcyBtYWRlIGFib3V0IHRoZSBzdWJqZWN0IC0gYSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSAtIGFuZCB0aGUgZGlzdGluY3Rpb24gYmV0d2VlbiB0aGUgc3ViamVjdCBhbmQgd2hhdCBpcyBkaXJlY3RseSBtZWFzdXJlZCBmb3IgYW4gb2JzZXJ2YXRpb24gaXMgc3BlY2lmaWVkIGluIHRoZSBvYnNlcnZhdGlvbiBjb2RlIGl0c2VsZiAoIGUuZy4sICZxdW90O0Jsb29kIEdsdWNvc2UmcXVvdDspIGFuZCBkb2VzIG5vdCBuZWVkIHRvIGJlIHJlcHJlc2VudGVkIHNlcGFyYXRlbHkgdXNpbmcgdGhpcyBlbGVtZW50LiAgVXNlIGBzcGVjaW1lbmAgaWYgYSByZWZlcmVuY2UgdG8gYSBzcGVjaW1lbiBpcyByZXF1aXJlZC4gIElmIGEgY29kZSBpcyByZXF1aXJlZCBpbnN0ZWFkIG9mIGEgcmVzb3VyY2UgdXNlIGVpdGhlciAgYGJvZHlzaXRlYCBmb3IgYm9keXNpdGVzIG9yIHRoZSBzdGFuZGFyZCBleHRlbnNpb24gW2ZvY3VzQ29kZV0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9leHRlbnNpb24tb2JzZXJ2YXRpb24tZm9jdXNjb2RlLmh0bWwpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJIZWFsdGhjYXJlIGV2ZW50IGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUiIGRlZmluaXRpb249IlRoZSBoZWFsdGhjYXJlIGV2ZW50ICAoZS5nLiBhIHBhdGllbnQgYW5kIGhlYWx0aGNhcmUgcHJvdmlkZXIgaW50ZXJhY3Rpb24pIGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgZXZlbnRzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIgKGUuZy4gcHJlLWFkbWlzc2lvbiBsYWJvcmF0b3J5IHRlc3RzKS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIENsaW5pY2FsbHkgcmVsZXZhbnQgdGltZS90aW1lLXBlcmlvZCBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSB0aW1lIG9yIHRpbWUtcGVyaW9kIHRoZSBvYnNlcnZlZCB2YWx1ZSBpcyBhc3NlcnRlZCBhcyBiZWluZyB0cnVlLiBGb3IgYmlvbG9naWNhbCBzdWJqZWN0cyAtIGUuZy4gaHVtYW4gcGF0aWVudHMgLSB0aGlzIGlzIHVzdWFsbHkgY2FsbGVkIHRoZSAmcXVvdDtwaHlzaW9sb2dpY2FsbHkgcmVsZXZhbnQgdGltZSZxdW90Oy4gVGhpcyBpcyB1c3VhbGx5IGVpdGhlciB0aGUgdGltZSBvZiB0aGUgcHJvY2VkdXJlIG9yIG9mIHNwZWNpbWVuIGNvbGxlY3Rpb24sIGJ1dCB2ZXJ5IG9mdGVuIHRoZSBzb3VyY2Ugb2YgdGhlIGRhdGUvdGltZSBpcyBub3Qga25vd24sIG9ubHkgdGhlIGRhdGUvdGltZSBpdHNlbGYuIiBjb21tZW50PSJBdCBsZWFzdCBhIGRhdGUgc2hvdWxkIGJlIHByZXNlbnQgdW5sZXNzIHRoaXMgb2JzZXJ2YXRpb24gaXMgYSBoaXN0b3JpY2FsIHJlcG9ydC4gIEZvciByZWNvcmRpbmcgaW1wcmVjaXNlIG9yICZxdW90O2Z1enp5JnF1b3Q7IHRpbWVzIChGb3IgZXhhbXBsZSwgYSBibG9vZCBnbHVjb3NlIG1lYXN1cmVtZW50IHRha2VuICZxdW90O2FmdGVyIGJyZWFrZmFzdCZxdW90OykgdXNlIHRoZSBbVGltaW5nXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2RhdGF0eXBlcy5odG1sI3RpbWluZykgZGF0YXR5cGUgd2hpY2ggYWxsb3cgdGhlIG1lYXN1cmVtZW50IHRvIGJlIHRpZWQgdG8gcmVndWxhciBsaWZlIGV2ZW50cy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGltaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgV2hvIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IldobyB3YXMgcmVzcG9uc2libGUgZm9yIGFzc2VydGluZyB0aGUgb2JzZXJ2ZWQgdmFsdWUgYXMgJnF1b3Q7dHJ1ZSZxdW90Oy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIEFjdHVhbCByZXN1bHQiIGRlZmluaXRpb249IlRoZSBpbmZvcm1hdGlvbiBkZXRlcm1pbmVkIGFzIGEgcmVzdWx0IG9mIG1ha2luZyB0aGUgb2JzZXJ2YXRpb24sIGlmIHRoZSBpbmZvcm1hdGlvbiBoYXMgYSBzaW1wbGUgdmFsdWUuIiBjb21tZW50PSJBbiBvYnNlcnZhdGlvbiBtYXkgaGF2ZTsgMSkgIGEgc2luZ2xlIHZhbHVlIGhlcmUsIDIpICBib3RoIGEgdmFsdWUgYW5kIGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcywgIG9yIDMpICBvbmx5IGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcy4gSWYgYSB2YWx1ZSBpcyBwcmVzZW50LCB0aGUgZGF0YXR5cGUgZm9yIHRoaXMgZWxlbWVudCBzaG91bGQgYmUgZGV0ZXJtaW5lZCBieSBPYnNlcnZhdGlvbi5jb2RlLiAgQSBDb2RlYWJsZUNvbmNlcHQgd2l0aCBqdXN0IGEgdGV4dCB3b3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgYSBzdHJpbmcgaWYgdGhlIGZpZWxkIHdhcyB1c3VhbGx5IGNvZGVkLCBvciBpZiB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhlIE9ic2VydmF0aW9uLmNvZGUgZGVmaW5lcyBhIGNvZGVkIHZhbHVlLiAgRm9yIGFkZGl0aW9uYWwgZ3VpZGFuY2UsIHNlZSB0aGUgW05vdGVzIHNlY3Rpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YUFic2VudFJlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2h5IHRoZSByZXN1bHQgaXMgbWlzc2luZyIgZGVmaW5pdGlvbj0iUHJvdmlkZXMgYSByZWFzb24gd2h5IHRoZSBleHBlY3RlZCB2YWx1ZSBpbiB0aGUgZWxlbWVudCBPYnNlcnZhdGlvbi52YWx1ZVt4XSBpcyBtaXNzaW5nLiIgY29tbWVudD0iTnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMgY2FuIGJlIHJlcHJlc2VudGVkIHR3byB3YXlzIGluIEZISVIgT2JzZXJ2YXRpb25zLiAgT25lIHdheSBpcyB0byBzaW1wbHkgaW5jbHVkZSB0aGVtIGluIHRoZSB2YWx1ZSBzZXQgYW5kIHJlcHJlc2VudCB0aGUgZXhjZXB0aW9ucyBpbiB0aGUgdmFsdWUuICBGb3IgZXhhbXBsZSwgbWVhc3VyZW1lbnQgdmFsdWVzIGZvciBhIHNlcm9sb2d5IHRlc3QgY291bGQgYmUgICZxdW90O2RldGVjdGVkJnF1b3Q7LCAmcXVvdDtub3QgZGV0ZWN0ZWQmcXVvdDssICZxdW90O2luY29uY2x1c2l2ZSZxdW90Oywgb3IgICZxdW90O3NwZWNpbWVuIHVuc2F0aXNmYWN0b3J5JnF1b3Q7LiAgICYjMTA7JiMxMDtUaGUgYWx0ZXJuYXRlIHdheSBpcyB0byB1c2UgdGhlIHZhbHVlIGVsZW1lbnQgZm9yIGFjdHVhbCBvYnNlcnZhdGlvbnMgYW5kIHVzZSB0aGUgZXhwbGljaXQgZGF0YUFic2VudFJlYXNvbiBlbGVtZW50IHRvIHJlY29yZCBleGNlcHRpb25hbCB2YWx1ZXMuICBGb3IgZXhhbXBsZSwgdGhlIGRhdGFBYnNlbnRSZWFzb24gY29kZSAmcXVvdDtlcnJvciZxdW90OyBjb3VsZCBiZSB1c2VkIHdoZW4gdGhlIG1lYXN1cmVtZW50IHdhcyBub3QgY29tcGxldGVkLiBOb3RlIHRoYXQgYW4gb2JzZXJ2YXRpb24gbWF5IG9ubHkgYmUgcmVwb3J0ZWQgaWYgdGhlcmUgYXJlIHZhbHVlcyB0byByZXBvcnQuIEZvciBleGFtcGxlIGRpZmZlcmVudGlhbCBjZWxsIGNvdW50cyB2YWx1ZXMgbWF5IGJlIHJlcG9ydGVkIG9ubHkgd2hlbiAmZ3Q7IDAuICBCZWNhdXNlIG9mIHRoZXNlIG9wdGlvbnMsIHVzZS1jYXNlIGFncmVlbWVudHMgYXJlIHJlcXVpcmVkIHRvIGludGVycHJldCBnZW5lcmFsIG9ic2VydmF0aW9ucyBmb3IgbnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25WYWx1ZUFic2VudFJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIHNwZWNpZnlpbmcgd2h5IHRoZSByZXN1bHQgKGBPYnNlcnZhdGlvbi52YWx1ZVt4XWApIGlzIG1pc3NpbmcuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlcnByZXRhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBIaWdoLCBsb3csIG5vcm1hbCwgZXRjLiIgZGVmaW5pdGlvbj0iQSBjYXRlZ29yaWNhbCBhc3Nlc3NtZW50IG9mIGFuIG9ic2VydmF0aW9uIHZhbHVlLiAgRm9yIGV4YW1wbGUsIGhpZ2gsIGxvdywgbm9ybWFsLiIgY29tbWVudD0iSGlzdG9yaWNhbGx5IHVzZWQgZm9yIGxhYm9yYXRvcnkgcmVzdWx0cyAoa25vd24gYXMgJ2Fibm9ybWFsIGZsYWcnICksICBpdHMgdXNlIGV4dGVuZHMgdG8gb3RoZXIgdXNlIGNhc2VzIHdoZXJlIGNvZGVkIGludGVycHJldGF0aW9ucyAgYXJlIHJlbGV2YW50LiAgT2Z0ZW4gcmVwb3J0ZWQgYXMgb25lIG9yIG1vcmUgc2ltcGxlIGNvbXBhY3QgY29kZXMgdGhpcyBlbGVtZW50IGlzIG9mdGVuIHBsYWNlZCBhZGphY2VudCB0byB0aGUgcmVzdWx0IHZhbHVlIGluIHJlcG9ydHMgYW5kIGZsb3cgc2hlZXRzIHRvIHNpZ25hbCB0aGUgbWVhbmluZy9ub3JtYWxjeSBzdGF0dXMgb2YgdGhlIHJlc3VsdC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25JbnRlcnByZXRhdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIGludGVycHJldGF0aW9ucyBvZiBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24gb3IgdGhlIHJlc3VsdHMuIiBjb21tZW50PSJNYXkgaW5jbHVkZSBnZW5lcmFsIHN0YXRlbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uLCBvciBzdGF0ZW1lbnRzIGFib3V0IHNpZ25pZmljYW50LCB1bmV4cGVjdGVkIG9yIHVucmVsaWFibGUgcmVzdWx0cyB2YWx1ZXMsIG9yIGluZm9ybWF0aW9uIGFib3V0IGl0cyBzb3VyY2Ugd2hlbiByZWxldmFudCB0byBpdHMgaW50ZXJwcmV0YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPYnNlcnZlZCBib2R5IHBhcnQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc2l0ZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgd2hlcmUgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIChpLmUuIHRoZSB0YXJnZXQgc2l0ZSkuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gT2JzZXJ2YXRpb24uY29kZS4gIEluIG1hbnkgc3lzdGVtcywgdGhpcyBtYXkgYmUgcmVwcmVzZW50ZWQgYXMgYSByZWxhdGVkIG9ic2VydmF0aW9uIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvbXBvbmVudC4gICAmIzEwOyYjMTA7SWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvblsgYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IGl0IHdhcyBkb25lIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIG1lY2hhbmlzbSB1c2VkIHRvIHBlcmZvcm0gdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvciBPYnNlcnZhdGlvbi5jb2RlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uTWV0aG9kIiBkZXNjcmlwdGlvbj0iTWV0aG9kcyBmb3Igc2ltcGxlIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpbWVuIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlNwZWNpbWVuIHVzZWQgZm9yIHRoaXMgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSBzcGVjaW1lbiB0aGF0IHdhcyB1c2VkIHdoZW4gdGhpcyBvYnNlcnZhdGlvbiB3YXMgbWFkZS4iIGNvbW1lbnQ9IlNob3VsZCBvbmx5IGJlIHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gYE9ic2VydmF0aW9uLmNvZGVgLiAgT2JzZXJ2YXRpb25zIGFyZSBub3QgbWFkZSBvbiBzcGVjaW1lbnMgdGhlbXNlbHZlczsgdGhleSBhcmUgbWFkZSBvbiBhIHN1YmplY3QsIGJ1dCBpbiBtYW55IGNhc2VzIGJ5IHRoZSBtZWFucyBvZiBhIHNwZWNpbWVuLiBOb3RlIHRoYXQgYWx0aG91Z2ggc3BlY2ltZW5zIGFyZSBvZnRlbiBpbnZvbHZlZCwgdGhleSBhcmUgbm90IGFsd2F5cyB0cmFja2VkIGFuZCByZXBvcnRlZCBleHBsaWNpdGx5LiBBbHNvIG5vdGUgdGhhdCBvYnNlcnZhdGlvbiByZXNvdXJjZXMgbWF5IGJlIHVzZWQgaW4gY29udGV4dHMgdGhhdCB0cmFjayB0aGUgc3BlY2ltZW4gZXhwbGljaXRseSAoZS5nLiBEaWFnbm9zdGljIFJlcG9ydCkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihNZWFzdXJlbWVudCkgRGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIG9ic2VydmF0aW9uIGRhdGEuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBpcyBub3QgbWVhbnQgdG8gcmVwcmVzZW50IGEgZGV2aWNlIGludm9sdmVkIGluIHRoZSB0cmFuc21pc3Npb24gb2YgdGhlIHJlc3VsdCwgZS5nLiwgYSBnYXRld2F5LiAgU3VjaCBkZXZpY2VzIG1heSBiZSBkb2N1bWVudGVkIHVzaW5nIHRoZSBQcm92ZW5hbmNlIHJlc291cmNlIHdoZXJlIHJlbGV2YW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIiBkZWZpbml0aW9uPSJHdWlkYW5jZSBvbiBob3cgdG8gaW50ZXJwcmV0IHRoZSB2YWx1ZSBieSBjb21wYXJpc29uIHRvIGEgbm9ybWFsIG9yIHJlY29tbWVuZGVkIHJhbmdlLiAgTXVsdGlwbGUgcmVmZXJlbmNlIHJhbmdlcyBhcmUgaW50ZXJwcmV0ZWQgYXMgYW4gJnF1b3Q7T1ImcXVvdDsuICAgSW4gb3RoZXIgd29yZHMsIHRvIHJlcHJlc2VudCB0d28gZGlzdGluY3QgdGFyZ2V0IHBvcHVsYXRpb25zLCB0d28gYHJlZmVyZW5jZVJhbmdlYCBlbGVtZW50cyB3b3VsZCBiZSB1c2VkLiIgY29tbWVudD0iTW9zdCBvYnNlcnZhdGlvbnMgb25seSBoYXZlIG9uZSBnZW5lcmljIHJlZmVyZW5jZSByYW5nZS4gU3lzdGVtcyBNQVkgY2hvb3NlIHRvIHJlc3RyaWN0IHRvIG9ubHkgc3VwcGx5aW5nIHRoZSByZWxldmFudCByZWZlcmVuY2UgcmFuZ2UgYmFzZWQgb24ga25vd2xlZGdlIGFib3V0IHRoZSBwYXRpZW50IChlLmcuLCBzcGVjaWZpYyB0byB0aGUgcGF0aWVudCdzIGFnZSwgZ2VuZGVyLCB3ZWlnaHQgYW5kIG90aGVyIGZhY3RvcnMpLCBidXQgdGhpcyBtaWdodCBub3QgYmUgcG9zc2libGUgb3IgYXBwcm9wcmlhdGUuIFdoZW5ldmVyIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIHJhbmdlIGlzIHN1cHBsaWVkLCB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGVtIFNIT1VMRCBiZSBwcm92aWRlZCBpbiB0aGUgcmVmZXJlbmNlIHJhbmdlIGFuZC9vciBhZ2UgcHJvcGVydGllcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIi8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Im9icy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik11c3QgaGF2ZSBhdCBsZWFzdCBhIGxvdyBvciBhIGhpZ2ggb3IgdGV4dCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0ibG93LmV4aXN0cygpIG9yIGhpZ2guZXhpc3RzKCkgb3IgdGV4dC5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imhhc01lbWJlciIgZGVzY3JpcHRpb249IlJlbGF0ZWQgcmVzb3VyY2UgdGhhdCBiZWxvbmdzIHRvIHRoZSBPYnNlcnZhdGlvbiBncm91cCIgZGVmaW5pdGlvbj0iVGhpcyBvYnNlcnZhdGlvbiBpcyBhIGdyb3VwIG9ic2VydmF0aW9uIChlLmcuIGEgYmF0dGVyeSwgYSBwYW5lbCBvZiB0ZXN0cywgYSBzZXQgb2Ygdml0YWwgc2lnbiBtZWFzdXJlbWVudHMpIHRoYXQgaW5jbHVkZXMgdGhlIHRhcmdldCBhcyBhIG1lbWJlciBvZiB0aGUgZ3JvdXAuIiBjb21tZW50PSJXaGVuIHVzaW5nIHRoaXMgZWxlbWVudCwgYW4gb2JzZXJ2YXRpb24gd2lsbCB0eXBpY2FsbHkgaGF2ZSBlaXRoZXIgYSB2YWx1ZSBvciBhIHNldCBvZiByZWxhdGVkIHJlc291cmNlcywgYWx0aG91Z2ggYm90aCBtYXkgYmUgcHJlc2VudCBpbiBzb21lIGNhc2VzLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuICBOb3RlIHRoYXQgYSBzeXN0ZW0gbWF5IGNhbGN1bGF0ZSByZXN1bHRzIGZyb20gW1F1ZXN0aW9ubmFpcmVSZXNwb25zZV0ocXVlc3Rpb25uYWlyZXJlc3BvbnNlLmh0bWwpICBpbnRvIGEgZmluYWwgc2NvcmUgYW5kIHJlcHJlc2VudCB0aGUgc2NvcmUgYXMgYW4gT2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgUUkgQ29yZSBQcm9maWxlcyBvciBvdGhlciByZXNvdXJjZSB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJPYnNlcnZhdGlvbnMsIERvY3VtZW50UmVmZXJlbmNlLCBRdWVzdGlvbm5haXJlUmVzcG9uc2Ugb3Igb3RoZXIgcmVzb3VyY2UgZnJvbSB3aGljaCB0aGlzIG9ic2VydmF0aW9uIHZhbHVlIGlzIGRlcml2ZWQuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iQ29tcG9uZW50IHJlc3VsdHMiIGRlZmluaXRpb249IlNvbWUgb2JzZXJ2YXRpb25zIGhhdmUgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucy4gIFRoZXNlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgYXJlIGV4cHJlc3NlZCBhcyBzZXBhcmF0ZSBjb2RlIHZhbHVlIHBhaXJzIHRoYXQgc2hhcmUgdGhlIHNhbWUgYXR0cmlidXRlcy4gIEV4YW1wbGVzIGluY2x1ZGUgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGZvciBibG9vZCBwcmVzc3VyZSBtZWFzdXJlbWVudCBhbmQgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucyBmb3IgZ2VuZXRpY3Mgb2JzZXJ2YXRpb25zLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik5vdERvbmVSZWFzb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW5vdERvbmVSZWFzb24iIGxhYmVsPSJRSUNvcmUgTm90IERvbmUgUmVhc29uIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJOb3REb25lUmVjb3JkZWQiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLXJlY29yZGVkIiBsYWJlbD0iUUlDb3JlIE5vdCBEb25lIFJlY29yZGVkIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTm90RG9uZVZhbHVlU2V0IiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1ub3REb25lVmFsdWVTZXQiIGxhYmVsPSJRSUNvcmUgTm90IERvbmUgVmFsdWVTZXQiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTm90ZVR5cGUiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTnV0cml0aWlvbk9yZGVySW50ZW50IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik51dHJpdGlvbk9yZGVyIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1udXRyaXRpb25vcmRlciIgbGFiZWw9IlFJQ29yZSBOdXRyaXRpb25PcmRlciIgcmV0cmlldmFibGU9InRydWUiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIG9yZGVyIiBkZWZpbml0aW9uPSJJZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIG9yZGVyIGJ5IHRoZSBvcmRlciBzZW5kZXIgb3IgYnkgdGhlIG9yZGVyIHJlY2VpdmVyLiIgY29tbWVudD0iVGhlIElkZW50aWZpZXIudHlwZSBlbGVtZW50IGNhbiBiZSB0byBpbmRpY2F0ZSBmaWxsZXIgdnMuIHBsYWNlciBpZiBuZWVkZWQuICBUaGlzIGlzIGV4cGxhaW5lZCBpbiBmdXJ0aGVyIGRldGFpbCBbaGVyZV0oc2VydmljZXJlcXVlc3QuaHRtbCNub3RlcykuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzQ2Fub25pY2FsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3RhbnRpYXRlcyBGSElSIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYSBGSElSLWRlZmluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXJzZXQgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIE51dHJpdGlvbk9yZGVyLiIgY29tbWVudD0iTm90ZTogVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIgKHNlZSBbZGlzY3Vzc2lvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS5odG1sI2lkZW50aWZpZXJzKSkuICBJdCBpcyBiZXN0IHByYWN0aWNlIGZvciB0aGUgaWRlbnRpZmllciB0byBvbmx5IGFwcGVhciBvbiBhIHNpbmdsZSByZXNvdXJjZSBpbnN0YW5jZSwgaG93ZXZlciBidXNpbmVzcyBwcmFjdGljZXMgbWF5IG9jY2FzaW9uYWxseSBkaWN0YXRlIHRoYXQgbXVsdGlwbGUgcmVzb3VyY2UgaW5zdGFuY2VzIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllciBjYW4gZXhpc3QgLSBwb3NzaWJseSBldmVuIHdpdGggZGlmZmVyZW50IHJlc291cmNlIHR5cGVzLiAgRm9yIGV4YW1wbGUsIG11bHRpcGxlIFBhdGllbnQgYW5kIGEgUGVyc29uIHJlc291cmNlIGluc3RhbmNlIG1pZ2h0IHNoYXJlIHRoZSBzYW1lIHNvY2lhbCBpbnN1cmFuY2UgbnVtYmVyLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc1VyaSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgZXh0ZXJuYWwgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhbiBleHRlcm5hbGx5IG1haW50YWluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXJzZXQgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIE51dHJpdGlvbk9yZGVyLiIgY29tbWVudD0iVGhpcyBtaWdodCBiZSBhbiBIVE1MIHBhZ2UsIFBERiwgZXRjLiBvciBjb3VsZCBqdXN0IGJlIGEgbm9uLXJlc29sdmFibGUgVVJJIGlkZW50aWZpZXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3RhbnRpYXRlcyBwcm90b2NvbCBvciBkZWZpbml0aW9uIiBkZWZpbml0aW9uPSJUaGUgVVJMIHBvaW50aW5nIHRvIGEgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXJzZXQgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIE51dHJpdGlvbk9yZGVyLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5OdXRyaXRpb25PcmRlclN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJkcmFmdCB8IGFjdGl2ZSB8IG9uLWhvbGQgfCByZXZva2VkIHwgY29tcGxldGVkIHwgZW50ZXJlZC1pbi1lcnJvciB8IHVua25vd24iIGRlZmluaXRpb249IlRoZSB3b3JrZmxvdyBzdGF0dXMgb2YgdGhlIG51dHJpdGlvbiBvcmRlci9yZXF1ZXN0LiIgY29tbWVudD0iVHlwaWNhbGx5IHRoZSBzeXN0ZW0gcGxhY2luZyB0aGUgb3JkZXIgc2V0cyB0aGUgc3RhdHVzIHRvICZxdW90O3JlcXVlc3RlZCZxdW90Oy4gVGhlcmVhZnRlciwgdGhlIG9yZGVyIGlzIG1haW50YWluZWQgYnkgdGhlIHJlY2VpdmVyIHRoYXQgdXBkYXRlcyB0aGUgc3RhdHVzIGFzIHRoZSByZXF1ZXN0IGlzIGhhbmRsZWQuICBUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTnV0cml0aW9uT3JkZXJTdGF0dXMiIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyB0aGUgbGlmZWN5Y2xlIHN0YWdlIG9mIHRoZSBudXRyaXRpb24gb3JkZXIuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZW50IiBlbGVtZW50VHlwZT0iUUlDb3JlLk51dHJpdGlpb25PcmRlckludGVudCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJwcm9wb3NhbCB8IHBsYW4gfCBkaXJlY3RpdmUgfCBvcmRlciB8IG9yaWdpbmFsLW9yZGVyIHwgcmVmbGV4LW9yZGVyIHwgZmlsbGVyLW9yZGVyIHwgaW5zdGFuY2Utb3JkZXIgfCBvcHRpb24iIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgbGV2ZWwgb2YgYXV0aG9yaXR5L2ludGVudGlvbmFsaXR5IGFzc29jaWF0ZWQgd2l0aCB0aGUgTnV0cmlvbk9yZGVyIGFuZCB3aGVyZSB0aGUgcmVxdWVzdCBmaXRzIGludG8gdGhlIHdvcmtmbG93IGNoYWluLiIgY29tbWVudD0iV2hlbiByZXNvdXJjZXMgbWFwIHRvIHRoaXMgZWxlbWVudCwgdGhleSBhcmUgZnJlZSB0byBkZWZpbmUgYXMgbWFueSBjb2RlcyBhcyBuZWNlc3NhcnkgdG8gY292ZXIgdGhlaXIgc3BhY2UgYW5kIHdpbGwgbWFwIHRvICZxdW90O3Byb3Bvc2FsLCBwbGFuIG9yIG9yZGVyJnF1b3Q7LiAgQ2FuIGhhdmUgbXVsdGlwbGUgY29kZXMgdGhhdCBtYXAgdG8gb25lIG9mIHRoZXNlLiAgRS5nLiAmcXVvdDtvcmlnaW5hbCBvcmRlciZxdW90OywgJnF1b3Q7ZW5jb2RlZCBvcmRlciZxdW90OywgJnF1b3Q7cmVmbGV4IG9yZGVyJnF1b3Q7IHdvdWxkIGFsbCBtYXAgdG8gJnF1b3Q7b3JkZXImcXVvdDsuICBFeHBlY3RhdGlvbiBpcyB0aGF0IHRoZSBzZXQgb2YgY29kZXMgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIG9yIGEgc3RyaWN0IGFsbC1lbmNvbXBhc3NpbmcgaGllcmFyY2h5LiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik51dHJpdGlpb25PcmRlckludGVudCIgZGVzY3JpcHRpb249IkNvZGVzIGluZGljYXRpbmcgdGhlIGRlZ3JlZSBvZiBhdXRob3JpdHkvaW50ZW50aW9uYWxpdHkgYXNzb2NpYXRlZCB3aXRoIGEgbnV0cml0aW9uIG9yZGVyLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhdGllbnQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFRoZSBwZXJzb24gd2hvIHJlcXVpcmVzIHRoZSBkaWV0LCBmb3JtdWxhIG9yIG51dHJpdGlvbmFsIHN1cHBsZW1lbnQiIGRlZmluaXRpb249IlRoZSBwZXJzb24gKHBhdGllbnQpIHdobyBuZWVkcyB0aGUgbnV0cml0aW9uIG9yZGVyIGZvciBhbiBvcmFsIGRpZXQsIG51dHJpdGlvbmFsIHN1cHBsZW1lbnQgYW5kL29yIGVudGVyYWwgb3IgZm9ybXVsYSBmZWVkaW5nLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJUaGUgZW5jb3VudGVyIGFzc29jaWF0ZWQgd2l0aCB0aGlzIG51dHJpdGlvbiBvcmRlciIgZGVmaW5pdGlvbj0iQW4gZW5jb3VudGVyIHRoYXQgcHJvdmlkZXMgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgaGVhbHRoY2FyZSBjb250ZXh0IGluIHdoaWNoIHRoaXMgcmVxdWVzdCBpcyBtYWRlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGVUaW1lIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUgYW5kIHRpbWUgdGhlIG51dHJpdGlvbiBvcmRlciB3YXMgcmVxdWVzdGVkIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGF0IHRoaXMgbnV0cml0aW9uIG9yZGVyIHdhcyByZXF1ZXN0ZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ib3JkZXJlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaG8gb3JkZXJlZCB0aGUgZGlldCwgZm9ybXVsYSBvciBudXRyaXRpb25hbCBzdXBwbGVtZW50IiBkZWZpbml0aW9uPSJUaGUgcHJhY3RpdGlvbmVyIHRoYXQgaG9sZHMgbGVnYWwgcmVzcG9uc2liaWxpdHkgZm9yIG9yZGVyaW5nIHRoZSBkaWV0LCBudXRyaXRpb25hbCBzdXBwbGVtZW50LCBvciBmb3JtdWxhIGZlZWRpbmdzLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImFsbGVyZ3lJbnRvbGVyYW5jZSIgZGVzY3JpcHRpb249Ikxpc3Qgb2YgdGhlIHBhdGllbnQncyBmb29kIGFuZCBudXRyaXRpb24tcmVsYXRlZCBhbGxlcmdpZXMgYW5kIGludG9sZXJhbmNlcyIgZGVmaW5pdGlvbj0iQSBsaW5rIHRvIGEgcmVjb3JkIG9mIGFsbGVyZ2llcyBvciBpbnRvbGVyYW5jZXMgIHdoaWNoIHNob3VsZCBiZSBpbmNsdWRlZCBpbiB0aGUgbnV0cml0aW9uIG9yZGVyLiIgY29tbWVudD0iSW5mb3JtYXRpb24gb24gYSBwYXRpZW50J3MgZm9vZCBhbGxlcmdpZXMgYW5kIGludG9sZXJhbmNlcyB0byBpbmZvcm0gaGVhbHRoY2FyZSBwZXJzb25uZWwgYWJvdXQgdGhlIHR5cGUgb2YgZm9vZHMgdGhhdCB0aGUgcGF0aWVudCBzaG91bGRuJ3QgcmVjZWl2ZSBvciBjb25zdW1lLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZvb2RQcmVmZXJlbmNlTW9kaWZpZXIiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPcmRlci1zcGVjaWZpYyBtb2RpZmllciBhYm91dCB0aGUgdHlwZSBvZiBmb29kIHRoYXQgc2hvdWxkIGJlIGdpdmVuIiBkZWZpbml0aW9uPSJUaGlzIG1vZGlmaWVyIGlzIHVzZWQgdG8gY29udmV5IG9yZGVyLXNwZWNpZmljIG1vZGlmaWVycyBhYm91dCB0aGUgdHlwZSBvZiBmb29kIHRoYXQgc2hvdWxkIGJlIGdpdmVuLiBUaGVzZSBjYW4gYmUgZGVyaXZlZCBmcm9tIHBhdGllbnQgYWxsZXJnaWVzLCBpbnRvbGVyYW5jZXMsIG9yIHByZWZlcmVuY2VzIHN1Y2ggYXMgSGFsYWwsIFZlZ2FuIG9yIEtvc2hlci4gVGhpcyBtb2RpZmllciBhcHBsaWVzIHRvIHRoZSBlbnRpcmUgbnV0cml0aW9uIG9yZGVyIGluY2x1c2l2ZSBvZiB0aGUgb3JhbCBkaWV0LCBudXRyaXRpb25hbCBzdXBwbGVtZW50cyBhbmQgZW50ZXJhbCBmb3JtdWxhIGZlZWRpbmdzLiIgY29tbWVudD0iSW5mb3JtYXRpb24gb24gYSBwYXRpZW50J3MgZm9vZCBwcmVmZXJlbmNlcyB0aGF0IGluZm9ybSBoZWFsdGhjYXJlIHBlcnNvbm5lbCBhYm91dCB0aGUgZm9vZCB0aGF0IHRoZSBwYXRpZW50IHNob3VsZCByZWNlaXZlIG9yIGNvbnN1bWUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlBhdGllbnREaWV0IiBkZXNjcmlwdGlvbj0iTWVkaWNhbCwgY3VsdHVyYWwgb3IgZXRoaWNhbCBmb29kIHByZWZlcmVuY2VzIHRvIGhlbHAgd2l0aCBjYXRlcmluZyByZXF1aXJlbWVudHMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJleGNsdWRlRm9vZE1vZGlmaWVyIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT3JkZXItc3BlY2lmaWMgbW9kaWZpZXIgYWJvdXQgdGhlIHR5cGUgb2YgZm9vZCB0aGF0IHNob3VsZCBub3QgYmUgZ2l2ZW4iIGRlZmluaXRpb249IlRoaXMgbW9kaWZpZXIgaXMgdXNlZCB0byBjb252ZXkgT3JkZXItc3BlY2lmaWMgbW9kaWZpZXIgYWJvdXQgdGhlIHR5cGUgb2Ygb3JhbCBmb29kIG9yIG9yYWwgZmx1aWRzIHRoYXQgc2hvdWxkIG5vdCBiZSBnaXZlbi4gVGhlc2UgY2FuIGJlIGRlcml2ZWQgZnJvbSBwYXRpZW50IGFsbGVyZ2llcywgaW50b2xlcmFuY2VzLCBvciBwcmVmZXJlbmNlcyBzdWNoIGFzIE5vIFJlZCBNZWF0LCBObyBTb3kgb3IgTm8gV2hlYXQgb3IgIEdsdXRlbi1GcmVlLiAgV2hpbGUgaXQgc2hvdWxkIG5vdCBiZSBuZWNlc3NhcnkgdG8gcmVwZWF0IGFsbGVyZ3kgb3IgaW50b2xlcmFuY2UgaW5mb3JtYXRpb24gY2FwdHVyZWQgaW4gdGhlIHJlZmVyZW5jZWQgQWxsZXJneUludG9sZXJhbmNlIHJlc291cmNlIGluIHRoZSBleGNsdWRlRm9vZE1vZGlmaWVyLCB0aGlzIGVsZW1lbnQgbWF5IGJlIHVzZWQgdG8gY29udmV5IGFkZGl0aW9uYWwgc3BlY2lmaWNpdHkgcmVsYXRlZCB0byBmb29kcyB0aGF0IHNob3VsZCBiZSBlbGltaW5hdGVkIGZyb20gdGhlIHBhdGllbnTigJlzIGRpZXQgZm9yIGFueSByZWFzb24uICBUaGlzIG1vZGlmaWVyIGFwcGxpZXMgdG8gdGhlIGVudGlyZSBudXRyaXRpb24gb3JkZXIgaW5jbHVzaXZlIG9mIHRoZSBvcmFsIGRpZXQsIG51dHJpdGlvbmFsIHN1cHBsZW1lbnRzIGFuZCBlbnRlcmFsIGZvcm11bGEgZmVlZGluZ3MuIiBjb21tZW50PSJJbmZvcm1hdGlvbiBvbiBhIHBhdGllbnQncyBmb29kIGFsbGVyZ2llcywgaW50b2xlcmFuY2VzIGFuZCBwcmVmZXJlbmNlcyB0byBpbmZvcm0gaGVhbHRoY2FyZSBwZXJzb25uZWwgYWJvdXQgdGhlIHR5cGUgIG9mIGZvb2RzIHRoYXQgdGhlIHBhdGllbnQgc2hvdWxkbid0IHJlY2VpdmUgb3IgY29uc3VtZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRm9vZFR5cGUiIGRlc2NyaXB0aW9uPSJDb2RlcyB1c2VkIHRvIGluZGljYXRlIHRoZSB0eXBlIG9mIGZvb2QgdGhhdCBzaG91bGQgTk9UIGJlIGdpdmVuIHRvIHRoZSBwYXRpZW50LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ib3JhbERpZXQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuTnV0cml0aW9uT3JkZXIuT3JhbERpZXQiIGRlc2NyaXB0aW9uPSJPcmFsIGRpZXQgY29tcG9uZW50cyIgZGVmaW5pdGlvbj0iRGlldCBnaXZlbiBvcmFsbHkgaW4gY29udHJhc3QgdG8gZW50ZXJhbCAodHViZSkgZmVlZGluZy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdXBwbGVtZW50IiBkZXNjcmlwdGlvbj0iU3VwcGxlbWVudCBjb21wb25lbnRzIiBkZWZpbml0aW9uPSJPcmFsIG51dHJpdGlvbmFsIHByb2R1Y3RzIGdpdmVuIGluIG9yZGVyIHRvIGFkZCBmdXJ0aGVyIG51dHJpdGlvbmFsIHZhbHVlIHRvIHRoZSBwYXRpZW50J3MgZGlldC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk51dHJpdGlvbk9yZGVyLlN1cHBsZW1lbnQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW50ZXJhbEZvcm11bGEiIGVsZW1lbnRUeXBlPSJRSUNvcmUuTnV0cml0aW9uT3JkZXIuRW50ZXJhbEZvcm11bGEiIGRlc2NyaXB0aW9uPSJFbnRlcmFsIGZvcm11bGEgY29tcG9uZW50cyIgZGVmaW5pdGlvbj0iRmVlZGluZyBwcm92aWRlZCB0aHJvdWdoIHRoZSBnYXN0cm9pbnRlc3RpbmFsIHRyYWN0IHZpYSBhIHR1YmUsIGNhdGhldGVyLCBvciBzdG9tYSB0aGF0IGRlbGl2ZXJzIG51dHJpdGlvbiBkaXN0YWwgdG8gdGhlIG9yYWwgY2F2aXR5LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJDb21tZW50cyIgZGVmaW5pdGlvbj0iQ29tbWVudHMgbWFkZSBhYm91dCB0aGUge3t0aXRsZX19IGJ5IHRoZSByZXF1ZXN0ZXIsIHBlcmZvcm1lciwgc3ViamVjdCBvciBvdGhlciBwYXJ0aWNpcGFudHMuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgU0hBTEwgTk9UIGJlIHVzZWQgdG8gc3VwcGx5IGZyZWUgdGV4dCBpbnN0cnVjdGlvbnMgZm9yIHRoZSBkaWV0IHdoaWNoIGFyZSByZXByZXNlbnRlZCBpbiB0aGUgYC5vcmFsRGlldC5pbnN0cnVjdGlvbmAsIGBzdXBwbGVtZW50Lmluc3RydWN0aW9uYCwgb3IgYGVudGVyYWxGb3JtdWxhLmFkbWluaXN0cmF0aW9uSW5zdHJ1Y3Rpb25gIGVsZW1lbnRzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJvcmRlcmVyIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBhdGllbnQiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJFbmNvdW50ZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJlbmNvdW50ZXIiLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik51dHJpdGlvbk9yZGVyLkVudGVyYWxGb3JtdWxhIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlRm9ybXVsYVR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlR5cGUgb2YgZW50ZXJhbCBvciBpbmZhbnQgZm9ybXVsYSIgZGVmaW5pdGlvbj0iVGhlIHR5cGUgb2YgZW50ZXJhbCBvciBpbmZhbnQgZm9ybXVsYSBzdWNoIGFzIGFuIGFkdWx0IHN0YW5kYXJkIGZvcm11bGEgd2l0aCBmaWJlciBvciBhIHNveS1iYXNlZCBpbmZhbnQgZm9ybXVsYS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJFbnRlcmFsRm9ybXVsYVR5cGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgdHlwZSBvZiBlbnRlcmFsIGZvcm11bGEgdG8gYmUgYWRtaW5pc3RlcmVkIHRvIHBhdGllbnQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlRm9ybXVsYVByb2R1Y3ROYW1lIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQcm9kdWN0IG9yIGJyYW5kIG5hbWUgb2YgdGhlIGVudGVyYWwgb3IgaW5mYW50IGZvcm11bGEiIGRlZmluaXRpb249IlRoZSBwcm9kdWN0IG9yIGJyYW5kIG5hbWUgb2YgdGhlIGVudGVyYWwgb3IgaW5mYW50IGZvcm11bGEgcHJvZHVjdCBzdWNoIGFzICZxdW90O0FDTUUgQWR1bHQgU3RhbmRhcmQgRm9ybXVsYSZxdW90Oy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhZGRpdGl2ZVR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlR5cGUgb2YgbW9kdWxhciBjb21wb25lbnQgdG8gYWRkIHRvIHRoZSBmZWVkaW5nIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHR5cGUgb2YgbW9kdWxhciBjb21wb25lbnQgc3VjaCBhcyBwcm90ZWluLCBjYXJib2h5ZHJhdGUsIGZhdCBvciBmaWJlciB0byBiZSBwcm92aWRlZCBpbiBhZGRpdGlvbiB0byBvciBtaXhlZCB3aXRoIHRoZSBiYXNlIGZvcm11bGEuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRW50ZXJhbEZvcm11bGFBZGRpdGl2ZVR5cGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgdGhlIHR5cGUgb2YgbW9kdWxhciBjb21wb25lbnQgc3VjaCBhcyBwcm90ZWluLCBjYXJib2h5ZHJhdGUgb3IgZmliZXIgdG8gYmUgcHJvdmlkZWQgaW4gYWRkaXRpb24gdG8gb3IgbWl4ZWQgd2l0aCB0aGUgYmFzZSBmb3JtdWxhLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWRkaXRpdmVQcm9kdWN0TmFtZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUHJvZHVjdCBvciBicmFuZCBuYW1lIG9mIHRoZSBtb2R1bGFyIGFkZGl0aXZlIiBkZWZpbml0aW9uPSJUaGUgcHJvZHVjdCBvciBicmFuZCBuYW1lIG9mIHRoZSB0eXBlIG9mIG1vZHVsYXIgY29tcG9uZW50IHRvIGJlIGFkZGVkIHRvIHRoZSBmb3JtdWxhLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNhbG9yaWNEZW5zaXR5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFtb3VudCBvZiBlbmVyZ3kgcGVyIHNwZWNpZmllZCB2b2x1bWUgdGhhdCBpcyByZXF1aXJlZCIgZGVmaW5pdGlvbj0iVGhlIGFtb3VudCBvZiBlbmVyZ3kgKGNhbG9yaWVzKSB0aGF0IHRoZSBmb3JtdWxhIHNob3VsZCBwcm92aWRlIHBlciBzcGVjaWZpZWQgdm9sdW1lLCB0eXBpY2FsbHkgcGVyIG1MIG9yIGZsdWlkIG96LiAgRm9yIGV4YW1wbGUsIGFuIGluZmFudCBtYXkgcmVxdWlyZSBhIGZvcm11bGEgdGhhdCBwcm92aWRlcyAyNCBjYWxvcmllcyBwZXIgZmx1aWQgb3VuY2Ugb3IgYW4gYWR1bHQgbWF5IHJlcXVpcmUgYW4gZW50ZXJhbCBmb3JtdWxhIHRoYXQgcHJvdmlkZXMgMS41IGNhbG9yaWUvbUwuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icm91dGVvZkFkbWluaXN0cmF0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIb3cgdGhlIGZvcm11bGEgc2hvdWxkIGVudGVyIHRoZSBwYXRpZW50J3MgZ2FzdHJvaW50ZXN0aW5hbCB0cmFjdCIgZGVmaW5pdGlvbj0iVGhlIHJvdXRlIG9yIHBoeXNpb2xvZ2ljYWwgcGF0aCBvZiBhZG1pbmlzdHJhdGlvbiBpbnRvIHRoZSBwYXRpZW50J3MgZ2FzdHJvaW50ZXN0aW5hbCAgdHJhY3QgZm9yIHB1cnBvc2VzIG9mIHByb3ZpZGluZyB0aGUgZm9ybXVsYSBmZWVkaW5nLCBlLmcuIG5hc29nYXN0cmljIHR1YmUuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRW50ZXJhbFJvdXRlT2ZBZG1pbmlzdHJhdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIHNwZWNpZnlpbmcgdGhlIHJvdXRlIG9mIGFkbWluaXN0cmF0aW9uIG9mIGVudGVyYWwgZm9ybXVsYS4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImFkbWluaXN0cmF0aW9uIiBkZXNjcmlwdGlvbj0iRm9ybXVsYSBmZWVkaW5nIGluc3RydWN0aW9uIGFzIHN0cnVjdHVyZWQgZGF0YSIgZGVmaW5pdGlvbj0iRm9ybXVsYSBhZG1pbmlzdHJhdGlvbiBpbnN0cnVjdGlvbnMgYXMgc3RydWN0dXJlZCBkYXRhLiAgVGhpcyByZXBlYXRpbmcgc3RydWN0dXJlIGFsbG93cyBmb3IgY2hhbmdpbmcgdGhlIGFkbWluaXN0cmF0aW9uIHJhdGUgb3Igdm9sdW1lIG92ZXIgdGltZSBmb3IgYm90aCBib2x1cyBhbmQgY29udGludW91cyBmZWVkaW5nLiAgQW4gZXhhbXBsZSBvZiB0aGlzIHdvdWxkIGJlIGFuIGluc3RydWN0aW9uIHRvIGluY3JlYXNlIHRoZSByYXRlIG9mIGNvbnRpbnVvdXMgZmVlZGluZyBldmVyeSAyIGhvdXJzLiIgY29tbWVudD0iU2VlIGltcGxlbWVudGF0aW9uIG5vdGVzIGJlbG93IGZvciBmdXJ0aGVyIGRpc2N1c3Npb24gb24gaG93IHRvIG9yZGVyIGNvbnRpbnVvdXMgdnMgYm9sdXMgZW50ZXJhbCBmZWVkaW5nIHVzaW5nIHRoaXMgcmVzb3VyY2UuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5OdXRyaXRpb25PcmRlci5FbnRlcmFsRm9ybXVsYS5BZG1pbmlzdHJhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtYXhWb2x1bWVUb0RlbGl2ZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVXBwZXIgbGltaXQgb24gZm9ybXVsYSB2b2x1bWUgcGVyIHVuaXQgb2YgdGltZSIgZGVmaW5pdGlvbj0iVGhlIG1heGltdW0gdG90YWwgcXVhbnRpdHkgb2YgZm9ybXVsYSB0aGF0IG1heSBiZSBhZG1pbmlzdGVyZWQgdG8gYSBzdWJqZWN0IG92ZXIgdGhlIHBlcmlvZCBvZiB0aW1lLCBlLmcuIDE0NDAgbUwgb3ZlciAyNCBob3Vycy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhZG1pbmlzdHJhdGlvbkluc3RydWN0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJGb3JtdWxhIGZlZWRpbmcgaW5zdHJ1Y3Rpb25zIGV4cHJlc3NlZCBhcyB0ZXh0IiBkZWZpbml0aW9uPSJGcmVlIHRleHQgZm9ybXVsYSBhZG1pbmlzdHJhdGlvbiwgZmVlZGluZyBpbnN0cnVjdGlvbnMgb3IgYWRkaXRpb25hbCBpbnN0cnVjdGlvbnMgb3IgaW5mb3JtYXRpb24uIiBjb21tZW50PSJGcmVlIHRleHQgZG9zYWdlIGluc3RydWN0aW9ucyBjYW4gYmUgdXNlZCBmb3IgY2FzZXMgd2hlcmUgdGhlIGluc3RydWN0aW9ucyBhcmUgdG9vIGNvbXBsZXggdG8gY29kZS4iLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik51dHJpdGlvbk9yZGVyLkVudGVyYWxGb3JtdWxhLkFkbWluaXN0cmF0aW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzY2hlZHVsZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5UaW1pbmciIGRlc2NyaXB0aW9uPSJTY2hlZHVsZWQgZnJlcXVlbmN5IG9mIGVudGVyYWwgZmVlZGluZyIgZGVmaW5pdGlvbj0iVGhlIHRpbWUgcGVyaW9kIGFuZCBmcmVxdWVuY3kgYXQgd2hpY2ggdGhlIGVudGVyYWwgZm9ybXVsYSBzaG91bGQgYmUgZGVsaXZlcmVkIHRvIHRoZSBwYXRpZW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InF1YW50aXR5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IlRoZSB2b2x1bWUgb2YgZm9ybXVsYSB0byBwcm92aWRlIiBkZWZpbml0aW9uPSJUaGUgdm9sdW1lIG9mIGZvcm11bGEgdG8gcHJvdmlkZSB0byB0aGUgcGF0aWVudCBwZXIgdGhlIHNwZWNpZmllZCBhZG1pbmlzdHJhdGlvbiBzY2hlZHVsZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyYXRlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IlNwZWVkIHdpdGggd2hpY2ggdGhlIGZvcm11bGEgaXMgcHJvdmlkZWQgcGVyIHBlcmlvZCBvZiB0aW1lIiBkZWZpbml0aW9uPSJUaGUgcmF0ZSBvZiBhZG1pbmlzdHJhdGlvbiBvZiBmb3JtdWxhIHZpYSBhIGZlZWRpbmcgcHVtcCwgZS5nLiA2MCBtTCBwZXIgaG91ciwgYWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpZWQgc2NoZWR1bGUuIiBjb21tZW50PSJSYXRpbyBpcyB1c2VkIHdoZW4gdGhlIHF1YW50aXR5IHZhbHVlIGluIHRoZSBkZW5vbWluYXRvciBpcyBub3QgJnF1b3Q7MSZxdW90Oywgb3RoZXJ3aXNlIHVzZSBRdWFudGl0eS4gRm9yIGV4YW1wbGUsIHRoZSBSYXRpbyBkYXRhdHlwZSBpcyB1c2VkIGZvciAmcXVvdDsyMDAgbUwvNCBocnMmcXVvdDsgdmVyc3VzIHRoZSBRdWFudGl0eSBkYXRhdHlwZSBmb3IgJnF1b3Q7NTAgbUwvaHImcXVvdDsuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJSYXRpbyIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik51dHJpdGlvbk9yZGVyLk9yYWxEaWV0IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVHlwZSBvZiBvcmFsIGRpZXQgb3IgZGlldCByZXN0cmljdGlvbnMgdGhhdCBkZXNjcmliZSB3aGF0IGNhbiBiZSBjb25zdW1lZCBvcmFsbHkiIGRlZmluaXRpb249IlRoZSBraW5kIG9mIGRpZXQgb3IgZGlldGFyeSByZXN0cmljdGlvbiBzdWNoIGFzIGZpYmVyIHJlc3RyaWN0ZWQgZGlldCBvciBkaWFiZXRpYyBkaWV0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPcmFsRGlldCIgZGVzY3JpcHRpb249IkNvZGVzIHVzZWQgdG8gaW5kaWNhdGUgdGhlIHR5cGUgb2YgZGlldCBiZWluZyBvcmRlcmVkIGZvciBhIHBhdGllbnQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzY2hlZHVsZSIgZGVzY3JpcHRpb249IlNjaGVkdWxlZCBmcmVxdWVuY3kgb2YgZGlldCIgZGVmaW5pdGlvbj0iVGhlIHRpbWUgcGVyaW9kIGFuZCBmcmVxdWVuY3kgYXQgd2hpY2ggdGhlIGRpZXQgc2hvdWxkIGJlIGdpdmVuLiAgVGhlIGRpZXQgc2hvdWxkIGJlIGdpdmVuIGZvciB0aGUgY29tYmluYXRpb24gb2YgYWxsIHNjaGVkdWxlcyBpZiBtb3JlIHRoYW4gb25lIHNjaGVkdWxlIGlzIHByZXNlbnQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5UaW1pbmciLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibnV0cmllbnQiIGRlc2NyaXB0aW9uPSJSZXF1aXJlZCAgbnV0cmllbnQgbW9kaWZpY2F0aW9ucyIgZGVmaW5pdGlvbj0iQ2xhc3MgdGhhdCBkZWZpbmVzIHRoZSBxdWFudGl0eSBhbmQgdHlwZSBvZiBudXRyaWVudCBtb2RpZmljYXRpb25zIChmb3IgZXhhbXBsZSBjYXJib2h5ZHJhdGUsIGZpYmVyIG9yIHNvZGl1bSkgcmVxdWlyZWQgZm9yIHRoZSBvcmFsIGRpZXQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5OdXRyaXRpb25PcmRlci5PcmFsRGlldC5OdXRyaWVudCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0ZXh0dXJlIiBkZXNjcmlwdGlvbj0iUmVxdWlyZWQgIHRleHR1cmUgbW9kaWZpY2F0aW9ucyIgZGVmaW5pdGlvbj0iQ2xhc3MgdGhhdCBkZXNjcmliZXMgYW55IHRleHR1cmUgbW9kaWZpY2F0aW9ucyByZXF1aXJlZCBmb3IgdGhlIHBhdGllbnQgdG8gc2FmZWx5IGNvbnN1bWUgdmFyaW91cyB0eXBlcyBvZiBzb2xpZCBmb29kcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk51dHJpdGlvbk9yZGVyLk9yYWxEaWV0LlRleHR1cmUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZmx1aWRDb25zaXN0ZW5jeVR5cGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgcmVxdWlyZWQgY29uc2lzdGVuY3kgb2YgZmx1aWRzIGFuZCBsaXF1aWRzIHByb3ZpZGVkIHRvIHRoZSBwYXRpZW50IiBkZWZpbml0aW9uPSJUaGUgcmVxdWlyZWQgY29uc2lzdGVuY3kgKGUuZy4gaG9uZXktdGhpY2ssIG5lY3Rhci10aGljaywgdGhpbiwgdGhpY2tlbmVkLikgb2YgbGlxdWlkcyBvciBmbHVpZHMgc2VydmVkIHRvIHRoZSBwYXRpZW50LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJGbHVpZENvbnNpc3RlbmN5VHlwZSIgZGVzY3JpcHRpb249IkNvZGVzIHVzZWQgdG8gcmVwcmVzZW50IHRoZSBjb25zaXN0ZW5jeSBvZiBmbHVpZHMgYW5kIGxpcXVpZHMgcHJvdmlkZWQgdG8gdGhlIHBhdGllbnQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0cnVjdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iSW5zdHJ1Y3Rpb25zIG9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIG9yYWwgZGlldCIgZGVmaW5pdGlvbj0iRnJlZSB0ZXh0IG9yIGFkZGl0aW9uYWwgaW5zdHJ1Y3Rpb25zIG9yIGluZm9ybWF0aW9uIHBlcnRhaW5pbmcgdG8gdGhlIG9yYWwgZGlldC4iIGNvbW1lbnQ9IkZyZWUgdGV4dCBkb3NhZ2UgaW5zdHJ1Y3Rpb25zIGNhbiBiZSB1c2VkIGZvciBjYXNlcyB3aGVyZSB0aGUgaW5zdHJ1Y3Rpb25zIGFyZSB0b28gY29tcGxleCB0byBjb2RlLiIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTnV0cml0aW9uT3JkZXIuT3JhbERpZXQuTnV0cmllbnQiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1vZGlmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUeXBlIG9mIG51dHJpZW50IHRoYXQgaXMgYmVpbmcgbW9kaWZpZWQiIGRlZmluaXRpb249IlRoZSBudXRyaWVudCB0aGF0IGlzIGJlaW5nIG1vZGlmaWVkIHN1Y2ggYXMgY2FyYm9oeWRyYXRlIG9yIHNvZGl1bS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJOdXRyaWVudE1vZGlmaWVyIiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIHR5cGVzIG9mIG51dHJpZW50cyB0aGF0IGFyZSBiZWluZyBtb2RpZmllZCBzdWNoIGFzIGNhcmJvaHlkcmF0ZSBvciBzb2RpdW0uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhbW91bnQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUXVhbnRpdHkgb2YgdGhlIHNwZWNpZmllZCBudXRyaWVudCIgZGVmaW5pdGlvbj0iVGhlIHF1YW50aXR5IG9mIHRoZSBzcGVjaWZpZWQgbnV0cmllbnQgdG8gaW5jbHVkZSBpbiBkaWV0LiIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iTnV0cml0aW9uT3JkZXIuT3JhbERpZXQuVGV4dHVyZSIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibW9kaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvZGUgdG8gaW5kaWNhdGUgaG93IHRvIGFsdGVyIHRoZSB0ZXh0dXJlIG9mIHRoZSBmb29kcywgZS5nLiBwdXJlZWQiIGRlZmluaXRpb249IkFueSB0ZXh0dXJlIG1vZGlmaWNhdGlvbnMgKGZvciBzb2xpZCBmb29kcykgdGhhdCBzaG91bGQgYmUgbWFkZSwgZS5nLiBlYXN5IHRvIGNoZXcsIGNob3BwZWQsIGdyb3VuZCwgYW5kIHB1cmVlZC4iIGNvbW1lbnQ9IkNvdXBsZWQgd2l0aCB0aGUgZm9vZFR5cGUgKE1lYXQpLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlRleHR1cmVNb2RpZmllciIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBmb29kIGNvbnNpc3RlbmN5IHR5cGVzIG9yIHRleHR1cmUgbW9kaWZpY2F0aW9ucyB0byBhcHBseSB0byBmb29kcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZvb2RUeXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb25jZXB0cyB0aGF0IGFyZSB1c2VkIHRvIGlkZW50aWZ5IGFuIGVudGl0eSB0aGF0IGlzIGluZ2VzdGVkIGZvciBudXRyaXRpb25hbCBwdXJwb3NlcyIgZGVmaW5pdGlvbj0iVGhlIGZvb2QgdHlwZShzKSAoZS5nLiBtZWF0cywgYWxsIGZvb2RzKSAgdGhhdCB0aGUgdGV4dHVyZSBtb2RpZmljYXRpb24gYXBwbGllcyB0by4gIFRoaXMgY291bGQgYmUgYWxsIGZvb2RzIHR5cGVzLiIgY29tbWVudD0iQ291cGxlZCB3aXRoIHRoZSBgdGV4dHVyZS5tb2RpZmllcmA7IGNvdWxkIGJlIChBbGwgRm9vZHMpLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlRleHR1cmVNb2RpZmllZEZvb2RUeXBlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIHR5cGVzIG9mIGZvb2RzIHRoYXQgYXJlIHRleHR1cmUtbW9kaWZpZWQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik51dHJpdGlvbk9yZGVyLlN1cHBsZW1lbnQiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlR5cGUgb2Ygc3VwcGxlbWVudCBwcm9kdWN0IHJlcXVlc3RlZCIgZGVmaW5pdGlvbj0iVGhlIGtpbmQgb2YgbnV0cml0aW9uYWwgc3VwcGxlbWVudCBwcm9kdWN0IHJlcXVpcmVkIHN1Y2ggYXMgYSBoaWdoIHByb3RlaW4gb3IgcGVkaWF0cmljIGNsZWFyIGxpcXVpZCBzdXBwbGVtZW50LiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlN1cHBsZW1lbnRUeXBlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIG51dHJpdGlvbmFsIHN1cHBsZW1lbnRzIHRvIGJlIHByb3ZpZGVkIHRvIHRoZSBwYXRpZW50LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJvZHVjdE5hbWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlByb2R1Y3Qgb3IgYnJhbmQgbmFtZSBvZiB0aGUgbnV0cml0aW9uYWwgc3VwcGxlbWVudCIgZGVmaW5pdGlvbj0iVGhlIHByb2R1Y3Qgb3IgYnJhbmQgbmFtZSBvZiB0aGUgbnV0cml0aW9uYWwgc3VwcGxlbWVudCBzdWNoIGFzICZxdW90O0FjbWUgUHJvdGVpbiBTaGFrZSZxdW90Oy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzY2hlZHVsZSIgZGVzY3JpcHRpb249IlNjaGVkdWxlZCBmcmVxdWVuY3kgb2Ygc3VwcGxlbWVudCIgZGVmaW5pdGlvbj0iVGhlIHRpbWUgcGVyaW9kIGFuZCBmcmVxdWVuY3kgYXQgd2hpY2ggdGhlIHN1cHBsZW1lbnQocykgc2hvdWxkIGJlIGdpdmVuLiAgVGhlIHN1cHBsZW1lbnQgc2hvdWxkIGJlIGdpdmVuIGZvciB0aGUgY29tYmluYXRpb24gb2YgYWxsIHNjaGVkdWxlcyBpZiBtb3JlIHRoYW4gb25lIHNjaGVkdWxlIGlzIHByZXNlbnQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5UaW1pbmciLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icXVhbnRpdHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQW1vdW50IG9mIHRoZSBudXRyaXRpb25hbCBzdXBwbGVtZW50IiBkZWZpbml0aW9uPSJUaGUgYW1vdW50IG9mIHRoZSBudXRyaXRpb25hbCBzdXBwbGVtZW50IHRvIGJlIGdpdmVuLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RydWN0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0cnVjdGlvbnMgb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgb3JhbCBzdXBwbGVtZW50IiBkZWZpbml0aW9uPSJGcmVlIHRleHQgb3IgYWRkaXRpb25hbCBpbnN0cnVjdGlvbnMgb3IgaW5mb3JtYXRpb24gcGVydGFpbmluZyB0byB0aGUgb3JhbCBzdXBwbGVtZW50LiIgY29tbWVudD0iRnJlZSB0ZXh0IGRvc2FnZSBpbnN0cnVjdGlvbnMgY2FuIGJlIHVzZWQgZm9yIGNhc2VzIHdoZXJlIHRoZSBpbnN0cnVjdGlvbnMgYXJlIHRvbyBjb21wbGV4IHRvIGNvZGUuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJOdXRyaXRpb25PcmRlclN0YXR1cyIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJPYnNlcnZhdGlvbi5Db21wb25lbnQiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlR5cGUgb2YgY29tcG9uZW50IG9ic2VydmF0aW9uIChjb2RlIC8gdHlwZSkiIGRlZmluaXRpb249IkRlc2NyaWJlcyB3aGF0IHdhcyBvYnNlcnZlZC4gU29tZXRpbWVzIHRoaXMgaXMgY2FsbGVkIHRoZSBvYnNlcnZhdGlvbiAmcXVvdDtjb2RlJnF1b3Q7LiIgY29tbWVudD0iKkFsbCogY29kZS12YWx1ZSBhbmQgIGNvbXBvbmVudC5jb2RlLWNvbXBvbmVudC52YWx1ZSBwYWlycyBuZWVkIHRvIGJlIHRha2VuIGludG8gYWNjb3VudCB0byBjb3JyZWN0bHkgdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBvZiB0aGUgb2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25Db2RlIiBkZXNjcmlwdGlvbj0iQ29kZXMgaWRlbnRpZnlpbmcgbmFtZXMgb2Ygc2ltcGxlIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFjdHVhbCBjb21wb25lbnQgcmVzdWx0IiBkZWZpbml0aW9uPSJUaGUgaW5mb3JtYXRpb24gZGV0ZXJtaW5lZCBhcyBhIHJlc3VsdCBvZiBtYWtpbmcgdGhlIG9ic2VydmF0aW9uLCBpZiB0aGUgaW5mb3JtYXRpb24gaGFzIGEgc2ltcGxlIHZhbHVlLiIgY29tbWVudD0iVXNlZCB3aGVuIG9ic2VydmF0aW9uIGhhcyBhIHNldCBvZiBjb21wb25lbnQgb2JzZXJ2YXRpb25zLiBBbiBvYnNlcnZhdGlvbiBtYXkgaGF2ZSBib3RoIGEgdmFsdWUgKGUuZy4gYW4gIEFwZ2FyIHNjb3JlKSAgYW5kIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgKHRoZSBvYnNlcnZhdGlvbnMgZnJvbSB3aGljaCB0aGUgQXBnYXIgc2NvcmUgd2FzIGRlcml2ZWQpLiBJZiBhIHZhbHVlIGlzIHByZXNlbnQsIHRoZSBkYXRhdHlwZSBmb3IgdGhpcyBlbGVtZW50IHNob3VsZCBiZSBkZXRlcm1pbmVkIGJ5IE9ic2VydmF0aW9uLmNvZGUuIEEgQ29kZWFibGVDb25jZXB0IHdpdGgganVzdCBhIHRleHQgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGlmIHRoZSBmaWVsZCB3YXMgdXN1YWxseSBjb2RlZCwgb3IgaWYgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBPYnNlcnZhdGlvbi5jb2RlIGRlZmluZXMgYSBjb2RlZCB2YWx1ZS4gIEZvciBhZGRpdGlvbmFsIGd1aWRhbmNlLCBzZWUgdGhlIFtOb3RlcyBzZWN0aW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJCb29sZWFuIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJJbnRlZ2VyIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlJhdGlvIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTYW1wbGVkRGF0YSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgdGhlIGNvbXBvbmVudCByZXN1bHQgaXMgbWlzc2luZyIgZGVmaW5pdGlvbj0iUHJvdmlkZXMgYSByZWFzb24gd2h5IHRoZSBleHBlY3RlZCB2YWx1ZSBpbiB0aGUgZWxlbWVudCBPYnNlcnZhdGlvbi5jb21wb25lbnQudmFsdWVbeF0gaXMgbWlzc2luZy4iIGNvbW1lbnQ9IiZxdW90O051bGwmcXVvdDsgb3IgZXhjZXB0aW9uYWwgdmFsdWVzIGNhbiBiZSByZXByZXNlbnRlZCB0d28gd2F5cyBpbiBGSElSIE9ic2VydmF0aW9ucy4gIE9uZSB3YXkgaXMgdG8gc2ltcGx5IGluY2x1ZGUgdGhlbSBpbiB0aGUgdmFsdWUgc2V0IGFuZCByZXByZXNlbnQgdGhlIGV4Y2VwdGlvbnMgaW4gdGhlIHZhbHVlLiAgRm9yIGV4YW1wbGUsIG1lYXN1cmVtZW50IHZhbHVlcyBmb3IgYSBzZXJvbG9neSB0ZXN0IGNvdWxkIGJlICAmcXVvdDtkZXRlY3RlZCZxdW90OywgJnF1b3Q7bm90IGRldGVjdGVkJnF1b3Q7LCAmcXVvdDtpbmNvbmNsdXNpdmUmcXVvdDssIG9yICAmcXVvdDt0ZXN0IG5vdCBkb25lJnF1b3Q7LiAmIzEwOyYjMTA7VGhlIGFsdGVybmF0ZSB3YXkgaXMgdG8gdXNlIHRoZSB2YWx1ZSBlbGVtZW50IGZvciBhY3R1YWwgb2JzZXJ2YXRpb25zIGFuZCB1c2UgdGhlIGV4cGxpY2l0IGRhdGFBYnNlbnRSZWFzb24gZWxlbWVudCB0byByZWNvcmQgZXhjZXB0aW9uYWwgdmFsdWVzLiAgRm9yIGV4YW1wbGUsIHRoZSBkYXRhQWJzZW50UmVhc29uIGNvZGUgJnF1b3Q7ZXJyb3ImcXVvdDsgY291bGQgYmUgdXNlZCB3aGVuIHRoZSBtZWFzdXJlbWVudCB3YXMgbm90IGNvbXBsZXRlZC4gIEJlY2F1c2Ugb2YgdGhlc2Ugb3B0aW9ucywgdXNlLWNhc2UgYWdyZWVtZW50cyBhcmUgcmVxdWlyZWQgdG8gaW50ZXJwcmV0IGdlbmVyYWwgb2JzZXJ2YXRpb25zIGZvciBleGNlcHRpb25hbCB2YWx1ZXMuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25WYWx1ZUFic2VudFJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIHNwZWNpZnlpbmcgd2h5IHRoZSByZXN1bHQgKGBPYnNlcnZhdGlvbi52YWx1ZVt4XWApIGlzIG1pc3NpbmcuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlcnByZXRhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhpZ2gsIGxvdywgbm9ybWFsLCBldGMuIiBkZWZpbml0aW9uPSJBIGNhdGVnb3JpY2FsIGFzc2Vzc21lbnQgb2YgYW4gb2JzZXJ2YXRpb24gdmFsdWUuICBGb3IgZXhhbXBsZSwgaGlnaCwgbG93LCBub3JtYWwuIiBjb21tZW50PSJIaXN0b3JpY2FsbHkgdXNlZCBmb3IgbGFib3JhdG9yeSByZXN1bHRzIChrbm93biBhcyAnYWJub3JtYWwgZmxhZycgKSwgIGl0cyB1c2UgZXh0ZW5kcyB0byBvdGhlciB1c2UgY2FzZXMgd2hlcmUgY29kZWQgaW50ZXJwcmV0YXRpb25zICBhcmUgcmVsZXZhbnQuICBPZnRlbiByZXBvcnRlZCBhcyBvbmUgb3IgbW9yZSBzaW1wbGUgY29tcGFjdCBjb2RlcyB0aGlzIGVsZW1lbnQgaXMgb2Z0ZW4gcGxhY2VkIGFkamFjZW50IHRvIHRoZSByZXN1bHQgdmFsdWUgaW4gcmVwb3J0cyBhbmQgZmxvdyBzaGVldHMgdG8gc2lnbmFsIHRoZSBtZWFuaW5nL25vcm1hbGN5IHN0YXR1cyBvZiB0aGUgcmVzdWx0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkludGVycHJldGF0aW9uIiBkZXNjcmlwdGlvbj0iQ29kZXMgaWRlbnRpZnlpbmcgaW50ZXJwcmV0YXRpb25zIG9mIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIG9mIGNvbXBvbmVudCByZXN1bHQiIGRlZmluaXRpb249Ikd1aWRhbmNlIG9uIGhvdyB0byBpbnRlcnByZXQgdGhlIHZhbHVlIGJ5IGNvbXBhcmlzb24gdG8gYSBub3JtYWwgb3IgcmVjb21tZW5kZWQgcmFuZ2UuIiBjb21tZW50PSJNb3N0IG9ic2VydmF0aW9ucyBvbmx5IGhhdmUgb25lIGdlbmVyaWMgcmVmZXJlbmNlIHJhbmdlLiBTeXN0ZW1zIE1BWSBjaG9vc2UgdG8gcmVzdHJpY3QgdG8gb25seSBzdXBwbHlpbmcgdGhlIHJlbGV2YW50IHJlZmVyZW5jZSByYW5nZSBiYXNlZCBvbiBrbm93bGVkZ2UgYWJvdXQgdGhlIHBhdGllbnQgKGUuZy4sIHNwZWNpZmljIHRvIHRoZSBwYXRpZW50J3MgYWdlLCBnZW5kZXIsIHdlaWdodCBhbmQgb3RoZXIgZmFjdG9ycyksIGJ1dCB0aGlzIG1pZ2h0IG5vdCBiZSBwb3NzaWJsZSBvciBhcHByb3ByaWF0ZS4gV2hlbmV2ZXIgbW9yZSB0aGFuIG9uZSByZWZlcmVuY2UgcmFuZ2UgaXMgc3VwcGxpZWQsIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZW0gU0hPVUxEIGJlIHByb3ZpZGVkIGluIHRoZSByZWZlcmVuY2UgcmFuZ2UgYW5kL29yIGFnZSBwcm9wZXJ0aWVzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uUmVmZXJlbmNlUmFuZ2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJPYnNlcnZhdGlvbi5Db21wb25lbnQuQ29uY2VudHJhdGlvbiIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJPYnNlcnZhdGlvbi5Db21wb25lbnQuRmxvd1JhdGUiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5Db21wb25lbnQiLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iT2JzZXJ2YXRpb24uQ29tcG9uZW50LmRpYXN0b2xpYyIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJPYnNlcnZhdGlvbi5Db21wb25lbnQuaW5kdXN0cnkiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5Db21wb25lbnQiLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iT2JzZXJ2YXRpb24uQ29tcG9uZW50LnN5c3RvbGljIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50Ii8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsb3ciIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iTG93IFJhbmdlLCBpZiByZWxldmFudCIgZGVmaW5pdGlvbj0iVGhlIHZhbHVlIG9mIHRoZSBsb3cgYm91bmQgb2YgdGhlIHJlZmVyZW5jZSByYW5nZS4gIFRoZSBsb3cgYm91bmQgb2YgdGhlIHJlZmVyZW5jZSByYW5nZSBlbmRwb2ludCBpcyBpbmNsdXNpdmUgb2YgdGhlIHZhbHVlIChlLmcuICByZWZlcmVuY2UgcmFuZ2UgaXMgJmd0Oz01IC0gJmx0Oz05KS4gSWYgdGhlIGxvdyBib3VuZCBpcyBvbWl0dGVkLCAgaXQgaXMgYXNzdW1lZCB0byBiZSBtZWFuaW5nbGVzcyAoZS5nLiByZWZlcmVuY2UgcmFuZ2UgaXMgJmx0Oz0yLjMpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImhpZ2giIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGlnaCBSYW5nZSwgaWYgcmVsZXZhbnQiIGRlZmluaXRpb249IlRoZSB2YWx1ZSBvZiB0aGUgaGlnaCBib3VuZCBvZiB0aGUgcmVmZXJlbmNlIHJhbmdlLiAgVGhlIGhpZ2ggYm91bmQgb2YgdGhlIHJlZmVyZW5jZSByYW5nZSBlbmRwb2ludCBpcyBpbmNsdXNpdmUgb2YgdGhlIHZhbHVlIChlLmcuICByZWZlcmVuY2UgcmFuZ2UgaXMgJmd0Oz01IC0gJmx0Oz05KS4gSWYgdGhlIGhpZ2ggYm91bmQgaXMgb21pdHRlZCwgIGl0IGlzIGFzc3VtZWQgdG8gYmUgbWVhbmluZ2xlc3MgKGUuZy4gcmVmZXJlbmNlIHJhbmdlIGlzICZndDs9IDIuMykuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmVmZXJlbmNlIHJhbmdlIHF1YWxpZmllciIgZGVmaW5pdGlvbj0iQ29kZXMgdG8gaW5kaWNhdGUgdGhlIHdoYXQgcGFydCBvZiB0aGUgdGFyZ2V0ZWQgcmVmZXJlbmNlIHBvcHVsYXRpb24gaXQgYXBwbGllcyB0by4gRm9yIGV4YW1wbGUsIHRoZSBub3JtYWwgb3IgdGhlcmFwZXV0aWMgcmFuZ2UuIiBjb21tZW50PSJUaGlzIFNIT1VMRCBiZSBwb3B1bGF0ZWQgaWYgdGhlcmUgaXMgbW9yZSB0aGFuIG9uZSByYW5nZS4gIElmIHRoaXMgZWxlbWVudCBpcyBub3QgcHJlc2VudCB0aGVuIHRoZSBub3JtYWwgcmFuZ2UgaXMgYXNzdW1lZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblJhbmdlTWVhbmluZyIgZGVzY3JpcHRpb249IkNvZGUgZm9yIHRoZSBtZWFuaW5nIG9mIGEgcmVmZXJlbmNlIHJhbmdlLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhcHBsaWVzVG8iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZWZlcmVuY2UgcmFuZ2UgcG9wdWxhdGlvbiIgZGVmaW5pdGlvbj0iQ29kZXMgdG8gaW5kaWNhdGUgdGhlIHRhcmdldCBwb3B1bGF0aW9uIHRoaXMgcmVmZXJlbmNlIHJhbmdlIGFwcGxpZXMgdG8uICBGb3IgZXhhbXBsZSwgYSByZWZlcmVuY2UgcmFuZ2UgbWF5IGJlIGJhc2VkIG9uIHRoZSBub3JtYWwgcG9wdWxhdGlvbiBvciBhIHBhcnRpY3VsYXIgc2V4IG9yIHJhY2UuICBNdWx0aXBsZSBgYXBwbGllc1RvYCAgYXJlIGludGVycHJldGVkIGFzIGFuICZxdW90O0FORCZxdW90OyBvZiB0aGUgdGFyZ2V0IHBvcHVsYXRpb25zLiAgRm9yIGV4YW1wbGUsIHRvIHJlcHJlc2VudCBhIHRhcmdldCBwb3B1bGF0aW9uIG9mIEFmcmljYW4gQW1lcmljYW4gZmVtYWxlcywgYm90aCBhIGNvZGUgb2YgZmVtYWxlIGFuZCBhIGNvZGUgZm9yIEFmcmljYW4gQW1lcmljYW4gd291bGQgYmUgdXNlZC4iIGNvbW1lbnQ9IlRoaXMgU0hPVUxEIGJlIHBvcHVsYXRlZCBpZiB0aGVyZSBpcyBtb3JlIHRoYW4gb25lIHJhbmdlLiAgSWYgdGhpcyBlbGVtZW50IGlzIG5vdCBwcmVzZW50IHRoZW4gdGhlIG5vcm1hbCBwb3B1bGF0aW9uIGlzIGFzc3VtZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uUmFuZ2VUeXBlIiBkZXNjcmlwdGlvbj0iQ29kZXMgaWRlbnRpZnlpbmcgdGhlIHBvcHVsYXRpb24gdGhlIHJlZmVyZW5jZSByYW5nZSBhcHBsaWVzIHRvLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWdlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoJXZhbHVlKSIgZGVzY3JpcHRpb249IkFwcGxpY2FibGUgYWdlIHJhbmdlLCBpZiByZWxldmFudCIgZGVmaW5pdGlvbj0iVGhlIGFnZSBhdCB3aGljaCB0aGlzIHJlZmVyZW5jZSByYW5nZSBpcyBhcHBsaWNhYmxlLiBUaGlzIGlzIGEgbmVvbmF0YWwgYWdlIChlLmcuIG51bWJlciBvZiB3ZWVrcyBhdCB0ZXJtKSBpZiB0aGUgbWVhbmluZyBzYXlzIHNvLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InRleHQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRleHQgYmFzZWQgcmVmZXJlbmNlIHJhbmdlIGluIGFuIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUZXh0IGJhc2VkIHJlZmVyZW5jZSByYW5nZSBpbiBhbiBvYnNlcnZhdGlvbiB3aGljaCBtYXkgYmUgdXNlZCB3aGVuIGEgcXVhbnRpdGF0aXZlIHJhbmdlIGlzIG5vdCBhcHByb3ByaWF0ZSBmb3IgYW4gb2JzZXJ2YXRpb24uICBBbiBleGFtcGxlIHdvdWxkIGJlIGEgcmVmZXJlbmNlIHZhbHVlIG9mICZxdW90O05lZ2F0aXZlJnF1b3Q7IG9yIGEgbGlzdCBvciB0YWJsZSBvZiAmcXVvdDtub3JtYWxzJnF1b3Q7LiIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iT2JzZXJ2YXRpb25DYW5jZWxsZWQiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW9ic2VydmF0aW9uY2FuY2VsbGVkIiBsYWJlbD0iUUlDb3JlIE9ic2VydmF0aW9uIENhbmNlbGxlZCIgdGFyZ2V0PSJPYnNlcnZhdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY29kZSIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90RG9uZVJlYXNvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5Ob3REb25lUmVhc29uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCglcGFyZW50LmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW5vdERvbmVSZWFzb24nXS52YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgRXh0ZW5zaW9uIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHJlYXNvbiB0aGUgZXZlbnQgd2FzIG5vdCBkb25lLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBJZGVudGlmaWVyIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIG9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBPYnNlcnZhdGlvbiBpcyBhIGNvbXBvbmVudCBvciBzdGVwLiAgRm9yIGV4YW1wbGUsICBhbiBvYnNlcnZhdGlvbiBhcyBwYXJ0IG9mIGEgcHJvY2VkdXJlLiIgY29tbWVudD0iVG8gbGluayBhbiBPYnNlcnZhdGlvbiB0byBhbiBFbmNvdW50ZXIgdXNlIGBlbmNvdW50ZXJgLiAgU2VlIHRoZSAgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93IGZvciBndWlkYW5jZSBvbiByZWZlcmVuY2luZyBhbm90aGVyIE9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvblN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgcmVnaXN0ZXJlZCB8IHByZWxpbWluYXJ5IHwgZmluYWwgfCBhbWVuZGVkICsiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHJlc3VsdCB2YWx1ZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblN0YXR1cyIgZGVzY3JpcHRpb249IkNvZGVzIHByb3ZpZGluZyB0aGUgc3RhdHVzIG9mIGFuIG9ic2VydmF0aW9uLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIENsYXNzaWZpY2F0aW9uIG9mIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIHRhcmdldD0iU3lzdGVtLkNvbmNlcHQ6RkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSk7U3lzdGVtLlZhbHVlU2V0OkZISVJIZWxwZXJzLlRvVmFsdWVTZXQoJXBhcmVudC5jb2RlLmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW5vdERvbmVWYWx1ZVNldCddLnZhbHVlLnZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBUeXBlIG9mIG9ic2VydmF0aW9uIChjb2RlIC8gdHlwZSkiIGRlZmluaXRpb249IkRlc2NyaWJlcyB3aGF0IHdhcyBvYnNlcnZlZC4gU29tZXRpbWVzIHRoaXMgaXMgY2FsbGVkIHRoZSBvYnNlcnZhdGlvbiAmcXVvdDtuYW1lJnF1b3Q7LiIgY29tbWVudD0iKkFsbCogY29kZS12YWx1ZSBhbmQsIGlmIHByZXNlbnQsIGNvbXBvbmVudC5jb2RlLWNvbXBvbmVudC52YWx1ZSBwYWlycyBuZWVkIHRvIGJlIHRha2VuIGludG8gYWNjb3VudCB0byBjb3JyZWN0bHkgdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBvZiB0aGUgb2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlZhbHVlU2V0Ii8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ29kZSIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIG5hbWVzIG9mIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBXaG8gYW5kL29yIHdoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0IiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgdGhpcyBvYnNlcnZhdGlvbiBpcyBhYm91dCBhbmQgaW50byB3aG9zZSByZWNvcmQgdGhlIG9ic2VydmF0aW9uIGlzIHBsYWNlZC4gSWYgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24gaXMgZGlmZmVyZW50IGZyb20gdGhlIHN1YmplY3QgKG9yIGEgc2FtcGxlIG9mLCBwYXJ0LCBvciByZWdpb24gb2YgdGhlIHN1YmplY3QpLCB0aGUgYGZvY3VzYCBlbGVtZW50IG9yIHRoZSBgY29kZWAgaXRzZWxmIHNwZWNpZmllcyB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9uZSB3b3VsZCBleHBlY3QgdGhpcyBlbGVtZW50IHRvIGJlIGEgY2FyZGluYWxpdHkgb2YgMS4uMS4gVGhlIG9ubHkgY2lyY3Vtc3RhbmNlIGluIHdoaWNoIHRoZSBzdWJqZWN0IGNhbiBiZSBtaXNzaW5nIGlzIHdoZW4gdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgYnkgYSBkZXZpY2UgdGhhdCBkb2VzIG5vdCBrbm93IHRoZSBwYXRpZW50LiBJbiB0aGlzIGNhc2UsIHRoZSBvYnNlcnZhdGlvbiBTSEFMTCBiZSBtYXRjaGVkIHRvIGEgcGF0aWVudCB0aHJvdWdoIHNvbWUgY29udGV4dC9jaGFubmVsIG1hdGNoaW5nIHRlY2huaXF1ZSwgYW5kIGF0IHRoaXMgcG9pbnQsIHRoZSBvYnNlcnZhdGlvbiBzaG91bGQgYmUgdXBkYXRlZC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmb2N1cyIgZGVzY3JpcHRpb249IldoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0LCB3aGVuIGl0IGlzIG5vdCBhYm91dCB0aGUgc3ViamVjdCBvZiByZWNvcmQiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gd2hlbiBpdCBpcyBub3QgdGhlIHBhdGllbnQgb2YgcmVjb3JkIHJlcHJlc2VudGluZyBzb21ldGhpbmcgb3Igc29tZW9uZSBhc3NvY2lhdGVkIHdpdGggdGhlIHBhdGllbnQgc3VjaCBhcyBhIHNwb3VzZSwgcGFyZW50LCBmZXR1cywgb3IgZG9ub3IuIEZvciBleGFtcGxlLCBmZXR1cyBvYnNlcnZhdGlvbnMgaW4gYSBtb3RoZXIncyByZWNvcmQuICBUaGUgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gY291bGQgYWxzbyBiZSBhbiBleGlzdGluZyBjb25kaXRpb24sICBhbiBpbnRlcnZlbnRpb24sIHRoZSBzdWJqZWN0J3MgZGlldCwgIGFub3RoZXIgb2JzZXJ2YXRpb24gb2YgdGhlIHN1YmplY3QsICBvciBhIGJvZHkgc3RydWN0dXJlIHN1Y2ggYXMgdHVtb3Igb3IgaW1wbGFudGVkIGRldmljZS4gICBBbiBleGFtcGxlIHVzZSBjYXNlIHdvdWxkIGJlIHVzaW5nIHRoZSBPYnNlcnZhdGlvbiByZXNvdXJjZSB0byBjYXB0dXJlIHdoZXRoZXIgdGhlIG1vdGhlciBpcyB0cmFpbmVkIHRvIGNoYW5nZSBoZXIgY2hpbGQncyB0cmFjaGVvc3RvbXkgdHViZS4gSW4gdGhpcyBleGFtcGxlLCB0aGUgY2hpbGQgaXMgdGhlIHBhdGllbnQgb2YgcmVjb3JkIGFuZCB0aGUgbW90aGVyIGlzIHRoZSBmb2N1cy4iIGNvbW1lbnQ9IlR5cGljYWxseSwgYW4gb2JzZXJ2YXRpb24gaXMgbWFkZSBhYm91dCB0aGUgc3ViamVjdCAtIGEgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgLSBhbmQgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhlIHN1YmplY3QgYW5kIHdoYXQgaXMgZGlyZWN0bHkgbWVhc3VyZWQgZm9yIGFuIG9ic2VydmF0aW9uIGlzIHNwZWNpZmllZCBpbiB0aGUgb2JzZXJ2YXRpb24gY29kZSBpdHNlbGYgKCBlLmcuLCAmcXVvdDtCbG9vZCBHbHVjb3NlJnF1b3Q7KSBhbmQgZG9lcyBub3QgbmVlZCB0byBiZSByZXByZXNlbnRlZCBzZXBhcmF0ZWx5IHVzaW5nIHRoaXMgZWxlbWVudC4gIFVzZSBgc3BlY2ltZW5gIGlmIGEgcmVmZXJlbmNlIHRvIGEgc3BlY2ltZW4gaXMgcmVxdWlyZWQuICBJZiBhIGNvZGUgaXMgcmVxdWlyZWQgaW5zdGVhZCBvZiBhIHJlc291cmNlIHVzZSBlaXRoZXIgIGBib2R5c2l0ZWAgZm9yIGJvZHlzaXRlcyBvciB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtmb2N1c0NvZGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLW9ic2VydmF0aW9uLWZvY3VzY29kZS5odG1sKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNsaW5pY2FsbHkgcmVsZXZhbnQgdGltZS90aW1lLXBlcmlvZCBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSB0aW1lIG9yIHRpbWUtcGVyaW9kIHRoZSBvYnNlcnZlZCB2YWx1ZSBpcyBhc3NlcnRlZCBhcyBiZWluZyB0cnVlLiBGb3IgYmlvbG9naWNhbCBzdWJqZWN0cyAtIGUuZy4gaHVtYW4gcGF0aWVudHMgLSB0aGlzIGlzIHVzdWFsbHkgY2FsbGVkIHRoZSAmcXVvdDtwaHlzaW9sb2dpY2FsbHkgcmVsZXZhbnQgdGltZSZxdW90Oy4gVGhpcyBpcyB1c3VhbGx5IGVpdGhlciB0aGUgdGltZSBvZiB0aGUgcHJvY2VkdXJlIG9yIG9mIHNwZWNpbWVuIGNvbGxlY3Rpb24sIGJ1dCB2ZXJ5IG9mdGVuIHRoZSBzb3VyY2Ugb2YgdGhlIGRhdGUvdGltZSBpcyBub3Qga25vd24sIG9ubHkgdGhlIGRhdGUvdGltZSBpdHNlbGYuIiBjb21tZW50PSJBdCBsZWFzdCBhIGRhdGUgc2hvdWxkIGJlIHByZXNlbnQgdW5sZXNzIHRoaXMgb2JzZXJ2YXRpb24gaXMgYSBoaXN0b3JpY2FsIHJlcG9ydC4gIEZvciByZWNvcmRpbmcgaW1wcmVjaXNlIG9yICZxdW90O2Z1enp5JnF1b3Q7IHRpbWVzIChGb3IgZXhhbXBsZSwgYSBibG9vZCBnbHVjb3NlIG1lYXN1cmVtZW50IHRha2VuICZxdW90O2FmdGVyIGJyZWFrZmFzdCZxdW90OykgdXNlIHRoZSBbVGltaW5nXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2RhdGF0eXBlcy5odG1sI3RpbWluZykgZGF0YXR5cGUgd2hpY2ggYWxsb3cgdGhlIG1lYXN1cmVtZW50IHRvIGJlIHRpZWQgdG8gcmVndWxhciBsaWZlIGV2ZW50cy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGltaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIERhdGUvVGltZSB0aGlzIHZlcnNpb24gd2FzIG1hZGUgYXZhaWxhYmxlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGlzIHZlcnNpb24gb2YgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIGF2YWlsYWJsZSB0byBwcm92aWRlcnMsIHR5cGljYWxseSBhZnRlciB0aGUgcmVzdWx0cyBoYXZlIGJlZW4gcmV2aWV3ZWQgYW5kIHZlcmlmaWVkLiIgY29tbWVudD0iRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvbuKAmXQgcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiwgaXQgbWF5IGJlIHRoZSBzYW1lIGFzIHRoZSBbYGxhc3RVcGRhdGVkYCBdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcmVzb3VyY2UtZGVmaW5pdGlvbnMuaHRtbCNNZXRhLmxhc3RVcGRhdGVkKSB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYuICBGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG8gcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiBmb3IgY2VydGFpbiB1cGRhdGVzLCBpdCBtaWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGBsYXN0VXBkYXRlZGAgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmIGR1ZSB0byBhIG5vbi1jbGluaWNhbGx5IHNpZ25pZmljYW50IHVwZGF0ZSB0aGF0IGRvZXNu4oCZdCByZXF1aXJlIHRoZSBuZXcgdmVyc2lvbiB0byBiZSByZXZpZXdlZCBhbmQgdmVyaWZpZWQgYWdhaW4uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IldobyB3YXMgcmVzcG9uc2libGUgZm9yIGFzc2VydGluZyB0aGUgb2JzZXJ2ZWQgdmFsdWUgYXMgJnF1b3Q7dHJ1ZSZxdW90Oy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIEFjdHVhbCByZXN1bHQiIGRlZmluaXRpb249IlRoZSBpbmZvcm1hdGlvbiBkZXRlcm1pbmVkIGFzIGEgcmVzdWx0IG9mIG1ha2luZyB0aGUgb2JzZXJ2YXRpb24sIGlmIHRoZSBpbmZvcm1hdGlvbiBoYXMgYSBzaW1wbGUgdmFsdWUuIiBjb21tZW50PSJBbiBvYnNlcnZhdGlvbiBtYXkgaGF2ZTsgMSkgIGEgc2luZ2xlIHZhbHVlIGhlcmUsIDIpICBib3RoIGEgdmFsdWUgYW5kIGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcywgIG9yIDMpICBvbmx5IGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcy4gSWYgYSB2YWx1ZSBpcyBwcmVzZW50LCB0aGUgZGF0YXR5cGUgZm9yIHRoaXMgZWxlbWVudCBzaG91bGQgYmUgZGV0ZXJtaW5lZCBieSBPYnNlcnZhdGlvbi5jb2RlLiAgQSBDb2RlYWJsZUNvbmNlcHQgd2l0aCBqdXN0IGEgdGV4dCB3b3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgYSBzdHJpbmcgaWYgdGhlIGZpZWxkIHdhcyB1c3VhbGx5IGNvZGVkLCBvciBpZiB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhlIE9ic2VydmF0aW9uLmNvZGUgZGVmaW5lcyBhIGNvZGVkIHZhbHVlLiAgRm9yIGFkZGl0aW9uYWwgZ3VpZGFuY2UsIHNlZSB0aGUgW05vdGVzIHNlY3Rpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YUFic2VudFJlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2h5IHRoZSByZXN1bHQgaXMgbWlzc2luZyIgZGVmaW5pdGlvbj0iUHJvdmlkZXMgYSByZWFzb24gd2h5IHRoZSBleHBlY3RlZCB2YWx1ZSBpbiB0aGUgZWxlbWVudCBPYnNlcnZhdGlvbi52YWx1ZVt4XSBpcyBtaXNzaW5nLiIgY29tbWVudD0iTnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMgY2FuIGJlIHJlcHJlc2VudGVkIHR3byB3YXlzIGluIEZISVIgT2JzZXJ2YXRpb25zLiAgT25lIHdheSBpcyB0byBzaW1wbHkgaW5jbHVkZSB0aGVtIGluIHRoZSB2YWx1ZSBzZXQgYW5kIHJlcHJlc2VudCB0aGUgZXhjZXB0aW9ucyBpbiB0aGUgdmFsdWUuICBGb3IgZXhhbXBsZSwgbWVhc3VyZW1lbnQgdmFsdWVzIGZvciBhIHNlcm9sb2d5IHRlc3QgY291bGQgYmUgICZxdW90O2RldGVjdGVkJnF1b3Q7LCAmcXVvdDtub3QgZGV0ZWN0ZWQmcXVvdDssICZxdW90O2luY29uY2x1c2l2ZSZxdW90Oywgb3IgICZxdW90O3NwZWNpbWVuIHVuc2F0aXNmYWN0b3J5JnF1b3Q7LiAgICYjMTA7JiMxMDtUaGUgYWx0ZXJuYXRlIHdheSBpcyB0byB1c2UgdGhlIHZhbHVlIGVsZW1lbnQgZm9yIGFjdHVhbCBvYnNlcnZhdGlvbnMgYW5kIHVzZSB0aGUgZXhwbGljaXQgZGF0YUFic2VudFJlYXNvbiBlbGVtZW50IHRvIHJlY29yZCBleGNlcHRpb25hbCB2YWx1ZXMuICBGb3IgZXhhbXBsZSwgdGhlIGRhdGFBYnNlbnRSZWFzb24gY29kZSAmcXVvdDtlcnJvciZxdW90OyBjb3VsZCBiZSB1c2VkIHdoZW4gdGhlIG1lYXN1cmVtZW50IHdhcyBub3QgY29tcGxldGVkLiBOb3RlIHRoYXQgYW4gb2JzZXJ2YXRpb24gbWF5IG9ubHkgYmUgcmVwb3J0ZWQgaWYgdGhlcmUgYXJlIHZhbHVlcyB0byByZXBvcnQuIEZvciBleGFtcGxlIGRpZmZlcmVudGlhbCBjZWxsIGNvdW50cyB2YWx1ZXMgbWF5IGJlIHJlcG9ydGVkIG9ubHkgd2hlbiAmZ3Q7IDAuICBCZWNhdXNlIG9mIHRoZXNlIG9wdGlvbnMsIHVzZS1jYXNlIGFncmVlbWVudHMgYXJlIHJlcXVpcmVkIHRvIGludGVycHJldCBnZW5lcmFsIG9ic2VydmF0aW9ucyBmb3IgbnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25WYWx1ZUFic2VudFJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIHNwZWNpZnlpbmcgd2h5IHRoZSByZXN1bHQgKGBPYnNlcnZhdGlvbi52YWx1ZVt4XWApIGlzIG1pc3NpbmcuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlcnByZXRhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBIaWdoLCBsb3csIG5vcm1hbCwgZXRjLiIgZGVmaW5pdGlvbj0iQSBjYXRlZ29yaWNhbCBhc3Nlc3NtZW50IG9mIGFuIG9ic2VydmF0aW9uIHZhbHVlLiAgRm9yIGV4YW1wbGUsIGhpZ2gsIGxvdywgbm9ybWFsLiIgY29tbWVudD0iSGlzdG9yaWNhbGx5IHVzZWQgZm9yIGxhYm9yYXRvcnkgcmVzdWx0cyAoa25vd24gYXMgJ2Fibm9ybWFsIGZsYWcnICksICBpdHMgdXNlIGV4dGVuZHMgdG8gb3RoZXIgdXNlIGNhc2VzIHdoZXJlIGNvZGVkIGludGVycHJldGF0aW9ucyAgYXJlIHJlbGV2YW50LiAgT2Z0ZW4gcmVwb3J0ZWQgYXMgb25lIG9yIG1vcmUgc2ltcGxlIGNvbXBhY3QgY29kZXMgdGhpcyBlbGVtZW50IGlzIG9mdGVuIHBsYWNlZCBhZGphY2VudCB0byB0aGUgcmVzdWx0IHZhbHVlIGluIHJlcG9ydHMgYW5kIGZsb3cgc2hlZXRzIHRvIHNpZ25hbCB0aGUgbWVhbmluZy9ub3JtYWxjeSBzdGF0dXMgb2YgdGhlIHJlc3VsdC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25JbnRlcnByZXRhdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIGludGVycHJldGF0aW9ucyBvZiBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24gb3IgdGhlIHJlc3VsdHMuIiBjb21tZW50PSJNYXkgaW5jbHVkZSBnZW5lcmFsIHN0YXRlbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uLCBvciBzdGF0ZW1lbnRzIGFib3V0IHNpZ25pZmljYW50LCB1bmV4cGVjdGVkIG9yIHVucmVsaWFibGUgcmVzdWx0cyB2YWx1ZXMsIG9yIGluZm9ybWF0aW9uIGFib3V0IGl0cyBzb3VyY2Ugd2hlbiByZWxldmFudCB0byBpdHMgaW50ZXJwcmV0YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPYnNlcnZlZCBib2R5IHBhcnQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc2l0ZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgd2hlcmUgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIChpLmUuIHRoZSB0YXJnZXQgc2l0ZSkuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gT2JzZXJ2YXRpb24uY29kZS4gIEluIG1hbnkgc3lzdGVtcywgdGhpcyBtYXkgYmUgcmVwcmVzZW50ZWQgYXMgYSByZWxhdGVkIG9ic2VydmF0aW9uIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvbXBvbmVudC4gICAmIzEwOyYjMTA7SWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvblsgYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IGl0IHdhcyBkb25lIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIG1lY2hhbmlzbSB1c2VkIHRvIHBlcmZvcm0gdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvciBPYnNlcnZhdGlvbi5jb2RlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uTWV0aG9kIiBkZXNjcmlwdGlvbj0iTWV0aG9kcyBmb3Igc2ltcGxlIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpbWVuIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlNwZWNpbWVuIHVzZWQgZm9yIHRoaXMgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSBzcGVjaW1lbiB0aGF0IHdhcyB1c2VkIHdoZW4gdGhpcyBvYnNlcnZhdGlvbiB3YXMgbWFkZS4iIGNvbW1lbnQ9IlNob3VsZCBvbmx5IGJlIHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gYE9ic2VydmF0aW9uLmNvZGVgLiAgT2JzZXJ2YXRpb25zIGFyZSBub3QgbWFkZSBvbiBzcGVjaW1lbnMgdGhlbXNlbHZlczsgdGhleSBhcmUgbWFkZSBvbiBhIHN1YmplY3QsIGJ1dCBpbiBtYW55IGNhc2VzIGJ5IHRoZSBtZWFucyBvZiBhIHNwZWNpbWVuLiBOb3RlIHRoYXQgYWx0aG91Z2ggc3BlY2ltZW5zIGFyZSBvZnRlbiBpbnZvbHZlZCwgdGhleSBhcmUgbm90IGFsd2F5cyB0cmFja2VkIGFuZCByZXBvcnRlZCBleHBsaWNpdGx5LiBBbHNvIG5vdGUgdGhhdCBvYnNlcnZhdGlvbiByZXNvdXJjZXMgbWF5IGJlIHVzZWQgaW4gY29udGV4dHMgdGhhdCB0cmFjayB0aGUgc3BlY2ltZW4gZXhwbGljaXRseSAoZS5nLiBEaWFnbm9zdGljIFJlcG9ydCkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihNZWFzdXJlbWVudCkgRGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIG9ic2VydmF0aW9uIGRhdGEuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBpcyBub3QgbWVhbnQgdG8gcmVwcmVzZW50IGEgZGV2aWNlIGludm9sdmVkIGluIHRoZSB0cmFuc21pc3Npb24gb2YgdGhlIHJlc3VsdCwgZS5nLiwgYSBnYXRld2F5LiAgU3VjaCBkZXZpY2VzIG1heSBiZSBkb2N1bWVudGVkIHVzaW5nIHRoZSBQcm92ZW5hbmNlIHJlc291cmNlIHdoZXJlIHJlbGV2YW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIiBkZWZpbml0aW9uPSJHdWlkYW5jZSBvbiBob3cgdG8gaW50ZXJwcmV0IHRoZSB2YWx1ZSBieSBjb21wYXJpc29uIHRvIGEgbm9ybWFsIG9yIHJlY29tbWVuZGVkIHJhbmdlLiAgTXVsdGlwbGUgcmVmZXJlbmNlIHJhbmdlcyBhcmUgaW50ZXJwcmV0ZWQgYXMgYW4gJnF1b3Q7T1ImcXVvdDsuICAgSW4gb3RoZXIgd29yZHMsIHRvIHJlcHJlc2VudCB0d28gZGlzdGluY3QgdGFyZ2V0IHBvcHVsYXRpb25zLCB0d28gYHJlZmVyZW5jZVJhbmdlYCBlbGVtZW50cyB3b3VsZCBiZSB1c2VkLiIgY29tbWVudD0iTW9zdCBvYnNlcnZhdGlvbnMgb25seSBoYXZlIG9uZSBnZW5lcmljIHJlZmVyZW5jZSByYW5nZS4gU3lzdGVtcyBNQVkgY2hvb3NlIHRvIHJlc3RyaWN0IHRvIG9ubHkgc3VwcGx5aW5nIHRoZSByZWxldmFudCByZWZlcmVuY2UgcmFuZ2UgYmFzZWQgb24ga25vd2xlZGdlIGFib3V0IHRoZSBwYXRpZW50IChlLmcuLCBzcGVjaWZpYyB0byB0aGUgcGF0aWVudCdzIGFnZSwgZ2VuZGVyLCB3ZWlnaHQgYW5kIG90aGVyIGZhY3RvcnMpLCBidXQgdGhpcyBtaWdodCBub3QgYmUgcG9zc2libGUgb3IgYXBwcm9wcmlhdGUuIFdoZW5ldmVyIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIHJhbmdlIGlzIHN1cHBsaWVkLCB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGVtIFNIT1VMRCBiZSBwcm92aWRlZCBpbiB0aGUgcmVmZXJlbmNlIHJhbmdlIGFuZC9vciBhZ2UgcHJvcGVydGllcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIi8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Im9icy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik11c3QgaGF2ZSBhdCBsZWFzdCBhIGxvdyBvciBhIGhpZ2ggb3IgdGV4dCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0ibG93LmV4aXN0cygpIG9yIGhpZ2guZXhpc3RzKCkgb3IgdGV4dC5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imhhc01lbWJlciIgZGVzY3JpcHRpb249IlJlbGF0ZWQgcmVzb3VyY2UgdGhhdCBiZWxvbmdzIHRvIHRoZSBPYnNlcnZhdGlvbiBncm91cCIgZGVmaW5pdGlvbj0iVGhpcyBvYnNlcnZhdGlvbiBpcyBhIGdyb3VwIG9ic2VydmF0aW9uIChlLmcuIGEgYmF0dGVyeSwgYSBwYW5lbCBvZiB0ZXN0cywgYSBzZXQgb2Ygdml0YWwgc2lnbiBtZWFzdXJlbWVudHMpIHRoYXQgaW5jbHVkZXMgdGhlIHRhcmdldCBhcyBhIG1lbWJlciBvZiB0aGUgZ3JvdXAuIiBjb21tZW50PSJXaGVuIHVzaW5nIHRoaXMgZWxlbWVudCwgYW4gb2JzZXJ2YXRpb24gd2lsbCB0eXBpY2FsbHkgaGF2ZSBlaXRoZXIgYSB2YWx1ZSBvciBhIHNldCBvZiByZWxhdGVkIHJlc291cmNlcywgYWx0aG91Z2ggYm90aCBtYXkgYmUgcHJlc2VudCBpbiBzb21lIGNhc2VzLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuICBOb3RlIHRoYXQgYSBzeXN0ZW0gbWF5IGNhbGN1bGF0ZSByZXN1bHRzIGZyb20gW1F1ZXN0aW9ubmFpcmVSZXNwb25zZV0ocXVlc3Rpb25uYWlyZXJlc3BvbnNlLmh0bWwpICBpbnRvIGEgZmluYWwgc2NvcmUgYW5kIHJlcHJlc2VudCB0aGUgc2NvcmUgYXMgYW4gT2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIG1lYXN1cmVtZW50cyB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIG1lYXN1cmVtZW50IGZyb20gd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiB2YWx1ZSBpcyBkZXJpdmVkLiBGb3IgZXhhbXBsZSwgYSBjYWxjdWxhdGVkIGFuaW9uIGdhcCBvciBhIGZldGFsIG1lYXN1cmVtZW50IGJhc2VkIG9uIGFuIHVsdHJhc291bmQgaW1hZ2UuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iQ29tcG9uZW50IHJlc3VsdHMiIGRlZmluaXRpb249IlNvbWUgb2JzZXJ2YXRpb25zIGhhdmUgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucy4gIFRoZXNlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgYXJlIGV4cHJlc3NlZCBhcyBzZXBhcmF0ZSBjb2RlIHZhbHVlIHBhaXJzIHRoYXQgc2hhcmUgdGhlIHNhbWUgYXR0cmlidXRlcy4gIEV4YW1wbGVzIGluY2x1ZGUgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGZvciBibG9vZCBwcmVzc3VyZSBtZWFzdXJlbWVudCBhbmQgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucyBmb3IgZ2VuZXRpY3Mgb2JzZXJ2YXRpb25zLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik9ic2VydmF0aW9uQ2xpbmljYWxSZXN1bHQiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW9ic2VydmF0aW9uLWNsaW5pY2FsLXJlc3VsdCIgbGFiZWw9IlFJQ29yZSBPYnNlcnZhdGlvbiBDbGluaWNhbCBSZXN1bHQiIHRhcmdldD0iT2JzZXJ2YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBJZGVudGlmaWVyIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIG9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBPYnNlcnZhdGlvbiBpcyBhIGNvbXBvbmVudCBvciBzdGVwLiAgRm9yIGV4YW1wbGUsICBhbiBvYnNlcnZhdGlvbiBhcyBwYXJ0IG9mIGEgcHJvY2VkdXJlLiIgY29tbWVudD0iVG8gbGluayBhbiBPYnNlcnZhdGlvbiB0byBhbiBFbmNvdW50ZXIgdXNlIGBlbmNvdW50ZXJgLiAgU2VlIHRoZSAgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93IGZvciBndWlkYW5jZSBvbiByZWZlcmVuY2luZyBhbm90aGVyIE9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSByZWdpc3RlcmVkIHwgcHJsaW1pbmFyeSB8IGZpbmFsIHwgYW1lbmRlZCB8IGNvcnJlY3RlZCB8IGVudGVyZWQtaW4tZXJyb3IgfCB1bmtub3duIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSByZXN1bHQgdmFsdWUuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1cy1jb3JlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBDbGFzc2lmaWNhdGlvbiBvZiB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iTm90ZSB0aGF0IG90aGVyIGNvZGVzIGFyZSBwZXJtaXR0ZWQsIHNlZSBbUmVxdWlyZWQgQmluZGluZ3MgV2hlbiBTbGljaW5nIGJ5IFZhbHVlIFNldHNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9nZW5lcmFsLXJlcXVpcmVtZW50cy5odG1sI3JlcXVpcmVkLWJpbmRpbmdzLXdoZW4tc2xpY2luZy1ieS12YWx1ZXNldHMpIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBDbGluaWNhbCBUZXN0IG9yIFByb2NlZHVyZSBOYW1lIiBkZWZpbml0aW9uPSJUaGUgbmFtZSBvZiB0aGUgY2xpbmljYWwgdGVzdCBvciBwcm9jZWR1cmUgcGVyZm9ybWVkIG9uIGEgcGF0aWVudC4gIEEgTE9JTkMgKipTSEFMTCoqIGJlIHVzZWQgaWYgdGhlIGNvbmNlcHQgaXMgcHJlc2VudCBpbiBMT0lOQy4iIGNvbW1lbnQ9IlRoZSB0eXBpY2FsIHBhdHRlcm5zIGZvciBjb2RlcyBhcmU6ICAxKSAgYSBMT0lOQyBjb2RlIGVpdGhlciBhcyBhIHRyYW5zbGF0aW9uIGZyb20gYSAmcXVvdDtsb2NhbCZxdW90OyBjb2RlIG9yIGFzIGEgcHJpbWFyeSBjb2RlLCBvciAyKSAgYSBsb2NhbCBjb2RlIG9ubHkgaWYgbm8gc3VpdGFibGUgTE9JTkMgZXhpc3RzLCAgb3IgMykgIGJvdGggdGhlIGxvY2FsIGFuZCB0aGUgTE9JTkMgdHJhbnNsYXRpb24uICAgU3lzdGVtcyBTSEFMTCBiZSBjYXBhYmxlIG9mIHNlbmRpbmcgdGhlIGxvY2FsIGNvZGUgaWYgb25lIGV4aXN0cy4gIFdoZW4gdXNpbmcgTE9JTkMgLCBVc2UgZWl0aGVyIHRoZSBTSE9SVE5BTUUgb3IgTE9OR19DT01NT05fTkFNRSBmaWVsZCBmb3IgdGhlIGRpc3BsYXkuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFdobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmb2N1cyIgZGVzY3JpcHRpb249IldoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0LCB3aGVuIGl0IGlzIG5vdCBhYm91dCB0aGUgc3ViamVjdCBvZiByZWNvcmQiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gd2hlbiBpdCBpcyBub3QgdGhlIHBhdGllbnQgb2YgcmVjb3JkIHJlcHJlc2VudGluZyBzb21ldGhpbmcgb3Igc29tZW9uZSBhc3NvY2lhdGVkIHdpdGggdGhlIHBhdGllbnQgc3VjaCBhcyBhIHNwb3VzZSwgcGFyZW50LCBmZXR1cywgb3IgZG9ub3IuIEZvciBleGFtcGxlLCBmZXR1cyBvYnNlcnZhdGlvbnMgaW4gYSBtb3RoZXIncyByZWNvcmQuICBUaGUgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gY291bGQgYWxzbyBiZSBhbiBleGlzdGluZyBjb25kaXRpb24sICBhbiBpbnRlcnZlbnRpb24sIHRoZSBzdWJqZWN0J3MgZGlldCwgIGFub3RoZXIgb2JzZXJ2YXRpb24gb2YgdGhlIHN1YmplY3QsICBvciBhIGJvZHkgc3RydWN0dXJlIHN1Y2ggYXMgdHVtb3Igb3IgaW1wbGFudGVkIGRldmljZS4gICBBbiBleGFtcGxlIHVzZSBjYXNlIHdvdWxkIGJlIHVzaW5nIHRoZSBPYnNlcnZhdGlvbiByZXNvdXJjZSB0byBjYXB0dXJlIHdoZXRoZXIgdGhlIG1vdGhlciBpcyB0cmFpbmVkIHRvIGNoYW5nZSBoZXIgY2hpbGQncyB0cmFjaGVvc3RvbXkgdHViZS4gSW4gdGhpcyBleGFtcGxlLCB0aGUgY2hpbGQgaXMgdGhlIHBhdGllbnQgb2YgcmVjb3JkIGFuZCB0aGUgbW90aGVyIGlzIHRoZSBmb2N1cy4iIGNvbW1lbnQ9IlR5cGljYWxseSwgYW4gb2JzZXJ2YXRpb24gaXMgbWFkZSBhYm91dCB0aGUgc3ViamVjdCAtIGEgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgLSBhbmQgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhlIHN1YmplY3QgYW5kIHdoYXQgaXMgZGlyZWN0bHkgbWVhc3VyZWQgZm9yIGFuIG9ic2VydmF0aW9uIGlzIHNwZWNpZmllZCBpbiB0aGUgb2JzZXJ2YXRpb24gY29kZSBpdHNlbGYgKCBlLmcuLCAmcXVvdDtCbG9vZCBHbHVjb3NlJnF1b3Q7KSBhbmQgZG9lcyBub3QgbmVlZCB0byBiZSByZXByZXNlbnRlZCBzZXBhcmF0ZWx5IHVzaW5nIHRoaXMgZWxlbWVudC4gIFVzZSBgc3BlY2ltZW5gIGlmIGEgcmVmZXJlbmNlIHRvIGEgc3BlY2ltZW4gaXMgcmVxdWlyZWQuICBJZiBhIGNvZGUgaXMgcmVxdWlyZWQgaW5zdGVhZCBvZiBhIHJlc291cmNlIHVzZSBlaXRoZXIgIGBib2R5c2l0ZWAgZm9yIGJvZHlzaXRlcyBvciB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtmb2N1c0NvZGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLW9ic2VydmF0aW9uLWZvY3VzY29kZS5odG1sKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgQ2xpbmljYWxseSByZWxldmFudCB0aW1lL3RpbWUtcGVyaW9kIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHRpbWUgb3IgdGltZS1wZXJpb2QgdGhlIG9ic2VydmVkIHZhbHVlIGlzIGFzc2VydGVkIGFzIGJlaW5nIHRydWUuIEZvciBiaW9sb2dpY2FsIHN1YmplY3RzIC0gZS5nLiBodW1hbiBwYXRpZW50cyAtIHRoaXMgaXMgdXN1YWxseSBjYWxsZWQgdGhlICZxdW90O3BoeXNpb2xvZ2ljYWxseSByZWxldmFudCB0aW1lJnF1b3Q7LiBUaGlzIGlzIHVzdWFsbHkgZWl0aGVyIHRoZSB0aW1lIG9mIHRoZSBwcm9jZWR1cmUgb3Igb2Ygc3BlY2ltZW4gY29sbGVjdGlvbiwgYnV0IHZlcnkgb2Z0ZW4gdGhlIHNvdXJjZSBvZiB0aGUgZGF0ZS90aW1lIGlzIG5vdCBrbm93biwgb25seSB0aGUgZGF0ZS90aW1lIGl0c2VsZi4iIGNvbW1lbnQ9IkF0IGxlYXN0IGEgZGF0ZSBzaG91bGQgYmUgcHJlc2VudCB1bmxlc3MgdGhpcyBvYnNlcnZhdGlvbiBpcyBhIGhpc3RvcmljYWwgcmVwb3J0LiAgRm9yIHJlY29yZGluZyBpbXByZWNpc2Ugb3IgJnF1b3Q7ZnV6enkmcXVvdDsgdGltZXMgKEZvciBleGFtcGxlLCBhIGJsb29kIGdsdWNvc2UgbWVhc3VyZW1lbnQgdGFrZW4gJnF1b3Q7YWZ0ZXIgYnJlYWtmYXN0JnF1b3Q7KSB1c2UgdGhlIFtUaW1pbmddKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZGF0YXR5cGVzLmh0bWwjdGltaW5nKSBkYXRhdHlwZSB3aGljaCBhbGxvdyB0aGUgbWVhc3VyZW1lbnQgdG8gYmUgdGllZCB0byByZWd1bGFyIGxpZmUgZXZlbnRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGltaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ1cy1jb3JlLTEiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iRGF0ZXRpbWUgbXVzdCBiZSBhdCBsZWFzdCB0byBkYXkuIj4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIkdGhpcyBpcyBEYXRlVGltZSBpbXBsaWVzICR0aGlzLnRvU3RyaW5nKCkubGVuZ3RoKCkgJmd0Oz0gMTAiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJXaG8gaXMgcmVzcG9uc2libGUgZm9yIHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iV2hvIHdhcyByZXNwb25zaWJsZSBmb3IgYXNzZXJ0aW5nIHRoZSBvYnNlcnZlZCB2YWx1ZSBhcyAmcXVvdDt0cnVlJnF1b3Q7LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgUmVzdWx0IFZhbHVlIiBkZWZpbml0aW9uPSJUaGUgY2xpbmljYWwgdGVzdCBvciBwcm9jZWR1cmUgcmVzdWx0IHZhbHVlLiBJZiBhIG51bWVyaWMgdmFsdWUsIHZhbHVlUXVhbnRpdHkuY29kZSAqKlNIQUxMKiogYmUgc2VsZWN0ZWQgZnJvbSBbVUNVTV0oaHR0cDovL3VuaXRzb2ZtZWFzdXJlLm9yZykuICBBIEZISVIgW1VDVU0gQ29kZXMgdmFsdWUgc2V0XShodHRwOi8vaGw3Lm9yZy9maGlyL1NUVTMvdmFsdWVzZXQtdWN1bS11bml0cy5odG1sKSB0aGF0IGRlZmluZXMgYWxsIFVDVU0gY29kZXMgaXMgaW4gdGhlIEZISVIgc3BlY2lmaWNhdGlvbi4iIGNvbW1lbnQ9IkFuIG9ic2VydmF0aW9uIG1heSBoYXZlOyAxKSAgYSBzaW5nbGUgdmFsdWUgaGVyZSwgMikgIGJvdGggYSB2YWx1ZSBhbmQgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLCAgb3IgMykgIG9ubHkgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLiBJZiBhIHZhbHVlIGlzIHByZXNlbnQsIHRoZSBkYXRhdHlwZSBmb3IgdGhpcyBlbGVtZW50IHNob3VsZCBiZSBkZXRlcm1pbmVkIGJ5IE9ic2VydmF0aW9uLmNvZGUuICBBIENvZGVhYmxlQ29uY2VwdCB3aXRoIGp1c3QgYSB0ZXh0IHdvdWxkIGJlIHVzZWQgaW5zdGVhZCBvZiBhIHN0cmluZyBpZiB0aGUgZmllbGQgd2FzIHVzdWFsbHkgY29kZWQsIG9yIGlmIHRoZSB0eXBlIGFzc29jaWF0ZWQgd2l0aCB0aGUgT2JzZXJ2YXRpb24uY29kZSBkZWZpbmVzIGEgY29kZWQgdmFsdWUuICBGb3IgYWRkaXRpb25hbCBndWlkYW5jZSwgc2VlIHRoZSBbTm90ZXMgc2VjdGlvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkJvb2xlYW4iLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUmF0aW8iLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idXMtY29yZS0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IlNIQUxMIHVzZSBVQ1VNIGZvciBjb2RlZCBxdWFudGl0eSB1bml0cy4iPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InZhbHVlLm9mVHlwZShRdWFudGl0eSkuc3lzdGVtLmVtcHR5KCkgb3IgdmFsdWUub2ZUeXBlKFF1YW50aXR5KS5zeXN0ZW0gPSAnaHR0cDovL3VuaXRzb2ZtZWFzdXJlLm9yZyciLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFdoeSB0aGUgcmVzdWx0IGlzIG1pc3NpbmciIGRlZmluaXRpb249IlByb3ZpZGVzIGEgcmVhc29uIHdoeSB0aGUgZXhwZWN0ZWQgdmFsdWUgaW4gdGhlIGVsZW1lbnQgT2JzZXJ2YXRpb24udmFsdWVbeF0gaXMgbWlzc2luZy4iIGNvbW1lbnQ9Ik51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzIGNhbiBiZSByZXByZXNlbnRlZCB0d28gd2F5cyBpbiBGSElSIE9ic2VydmF0aW9ucy4gIE9uZSB3YXkgaXMgdG8gc2ltcGx5IGluY2x1ZGUgdGhlbSBpbiB0aGUgdmFsdWUgc2V0IGFuZCByZXByZXNlbnQgdGhlIGV4Y2VwdGlvbnMgaW4gdGhlIHZhbHVlLiAgRm9yIGV4YW1wbGUsIG1lYXN1cmVtZW50IHZhbHVlcyBmb3IgYSBzZXJvbG9neSB0ZXN0IGNvdWxkIGJlICAmcXVvdDtkZXRlY3RlZCZxdW90OywgJnF1b3Q7bm90IGRldGVjdGVkJnF1b3Q7LCAmcXVvdDtpbmNvbmNsdXNpdmUmcXVvdDssIG9yICAmcXVvdDtzcGVjaW1lbiB1bnNhdGlzZmFjdG9yeSZxdW90Oy4gICAmIzEwOyYjMTA7VGhlIGFsdGVybmF0ZSB3YXkgaXMgdG8gdXNlIHRoZSB2YWx1ZSBlbGVtZW50IGZvciBhY3R1YWwgb2JzZXJ2YXRpb25zIGFuZCB1c2UgdGhlIGV4cGxpY2l0IGRhdGFBYnNlbnRSZWFzb24gZWxlbWVudCB0byByZWNvcmQgZXhjZXB0aW9uYWwgdmFsdWVzLiAgRm9yIGV4YW1wbGUsIHRoZSBkYXRhQWJzZW50UmVhc29uIGNvZGUgJnF1b3Q7ZXJyb3ImcXVvdDsgY291bGQgYmUgdXNlZCB3aGVuIHRoZSBtZWFzdXJlbWVudCB3YXMgbm90IGNvbXBsZXRlZC4gTm90ZSB0aGF0IGFuIG9ic2VydmF0aW9uIG1heSBvbmx5IGJlIHJlcG9ydGVkIGlmIHRoZXJlIGFyZSB2YWx1ZXMgdG8gcmVwb3J0LiBGb3IgZXhhbXBsZSBkaWZmZXJlbnRpYWwgY2VsbCBjb3VudHMgdmFsdWVzIG1heSBiZSByZXBvcnRlZCBvbmx5IHdoZW4gJmd0OyAwLiAgQmVjYXVzZSBvZiB0aGVzZSBvcHRpb25zLCB1c2UtY2FzZSBhZ3JlZW1lbnRzIGFyZSByZXF1aXJlZCB0byBpbnRlcnByZXQgZ2VuZXJhbCBvYnNlcnZhdGlvbnMgZm9yIG51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblZhbHVlQWJzZW50UmVhc29uIiBkZXNjcmlwdGlvbj0iQ29kZXMgc3BlY2lmeWluZyB3aHkgdGhlIHJlc3VsdCAoYE9ic2VydmF0aW9uLnZhbHVlW3hdYCkgaXMgbWlzc2luZy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImludGVycHJldGF0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGlnaCwgbG93LCBub3JtYWwsIGV0Yy4iIGRlZmluaXRpb249IkEgY2F0ZWdvcmljYWwgYXNzZXNzbWVudCBvZiBhbiBvYnNlcnZhdGlvbiB2YWx1ZS4gIEZvciBleGFtcGxlLCBoaWdoLCBsb3csIG5vcm1hbC4iIGNvbW1lbnQ9Ikhpc3RvcmljYWxseSB1c2VkIGZvciBsYWJvcmF0b3J5IHJlc3VsdHMgKGtub3duIGFzICdhYm5vcm1hbCBmbGFnJyApLCAgaXRzIHVzZSBleHRlbmRzIHRvIG90aGVyIHVzZSBjYXNlcyB3aGVyZSBjb2RlZCBpbnRlcnByZXRhdGlvbnMgIGFyZSByZWxldmFudC4gIE9mdGVuIHJlcG9ydGVkIGFzIG9uZSBvciBtb3JlIHNpbXBsZSBjb21wYWN0IGNvZGVzIHRoaXMgZWxlbWVudCBpcyBvZnRlbiBwbGFjZWQgYWRqYWNlbnQgdG8gdGhlIHJlc3VsdCB2YWx1ZSBpbiByZXBvcnRzIGFuZCBmbG93IHNoZWV0cyB0byBzaWduYWwgdGhlIG1lYW5pbmcvbm9ybWFsY3kgc3RhdHVzIG9mIHRoZSByZXN1bHQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uSW50ZXJwcmV0YXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBpbnRlcnByZXRhdGlvbnMgb2Ygb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIG9yIHRoZSByZXN1bHRzLiIgY29tbWVudD0iTWF5IGluY2x1ZGUgZ2VuZXJhbCBzdGF0ZW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiwgb3Igc3RhdGVtZW50cyBhYm91dCBzaWduaWZpY2FudCwgdW5leHBlY3RlZCBvciB1bnJlbGlhYmxlIHJlc3VsdHMgdmFsdWVzLCBvciBpbmZvcm1hdGlvbiBhYm91dCBpdHMgc291cmNlIHdoZW4gcmVsZXZhbnQgdG8gaXRzIGludGVycHJldGF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2JzZXJ2ZWQgYm9keSBwYXJ0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHNpdGUgb24gdGhlIHN1YmplY3QncyBib2R5IHdoZXJlIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSAoaS5lLiB0aGUgdGFyZ2V0IHNpdGUpLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIE9ic2VydmF0aW9uLmNvZGUuICBJbiBtYW55IHN5c3RlbXMsIHRoaXMgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGEgcmVsYXRlZCBvYnNlcnZhdGlvbiBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb21wb25lbnQuICAgJiMxMDsmIzEwO0lmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBCb2R5U2l0ZSB0byBiZSBoYW5kbGVkIGFzIGEgc2VwYXJhdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb25bIGJvZHlTaXRlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBpdCB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWNoYW5pc20gdXNlZCB0byBwZXJmb3JtIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3IgT2JzZXJ2YXRpb24uY29kZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiB1c2VkIGZvciB0aGlzIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2ltZW4gdGhhdCB3YXMgdXNlZCB3aGVuIHRoaXMgb2JzZXJ2YXRpb24gd2FzIG1hZGUuIiBjb21tZW50PSJTaG91bGQgb25seSBiZSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIGBPYnNlcnZhdGlvbi5jb2RlYC4gIE9ic2VydmF0aW9ucyBhcmUgbm90IG1hZGUgb24gc3BlY2ltZW5zIHRoZW1zZWx2ZXM7IHRoZXkgYXJlIG1hZGUgb24gYSBzdWJqZWN0LCBidXQgaW4gbWFueSBjYXNlcyBieSB0aGUgbWVhbnMgb2YgYSBzcGVjaW1lbi4gTm90ZSB0aGF0IGFsdGhvdWdoIHNwZWNpbWVucyBhcmUgb2Z0ZW4gaW52b2x2ZWQsIHRoZXkgYXJlIG5vdCBhbHdheXMgdHJhY2tlZCBhbmQgcmVwb3J0ZWQgZXhwbGljaXRseS4gQWxzbyBub3RlIHRoYXQgb2JzZXJ2YXRpb24gcmVzb3VyY2VzIG1heSBiZSB1c2VkIGluIGNvbnRleHRzIHRoYXQgdHJhY2sgdGhlIHNwZWNpbWVuIGV4cGxpY2l0bHkgKGUuZy4gRGlhZ25vc3RpYyBSZXBvcnQpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRldmljZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoTWVhc3VyZW1lbnQpIERldmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBvYnNlcnZhdGlvbiBkYXRhLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgaXMgbm90IG1lYW50IHRvIHJlcHJlc2VudCBhIGRldmljZSBpbnZvbHZlZCBpbiB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoZSByZXN1bHQsIGUuZy4sIGEgZ2F0ZXdheS4gIFN1Y2ggZGV2aWNlcyBtYXkgYmUgZG9jdW1lbnRlZCB1c2luZyB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZSB3aGVyZSByZWxldmFudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2VSYW5nZSIgZGVzY3JpcHRpb249IlByb3ZpZGVzIGd1aWRlIGZvciBpbnRlcnByZXRhdGlvbiIgZGVmaW5pdGlvbj0iR3VpZGFuY2Ugb24gaG93IHRvIGludGVycHJldCB0aGUgdmFsdWUgYnkgY29tcGFyaXNvbiB0byBhIG5vcm1hbCBvciByZWNvbW1lbmRlZCByYW5nZS4gIE11bHRpcGxlIHJlZmVyZW5jZSByYW5nZXMgYXJlIGludGVycHJldGVkIGFzIGFuICZxdW90O09SJnF1b3Q7LiAgIEluIG90aGVyIHdvcmRzLCB0byByZXByZXNlbnQgdHdvIGRpc3RpbmN0IHRhcmdldCBwb3B1bGF0aW9ucywgdHdvIGByZWZlcmVuY2VSYW5nZWAgZWxlbWVudHMgd291bGQgYmUgdXNlZC4iIGNvbW1lbnQ9Ik1vc3Qgb2JzZXJ2YXRpb25zIG9ubHkgaGF2ZSBvbmUgZ2VuZXJpYyByZWZlcmVuY2UgcmFuZ2UuIFN5c3RlbXMgTUFZIGNob29zZSB0byByZXN0cmljdCB0byBvbmx5IHN1cHBseWluZyB0aGUgcmVsZXZhbnQgcmVmZXJlbmNlIHJhbmdlIGJhc2VkIG9uIGtub3dsZWRnZSBhYm91dCB0aGUgcGF0aWVudCAoZS5nLiwgc3BlY2lmaWMgdG8gdGhlIHBhdGllbnQncyBhZ2UsIGdlbmRlciwgd2VpZ2h0IGFuZCBvdGhlciBmYWN0b3JzKSwgYnV0IHRoaXMgbWlnaHQgbm90IGJlIHBvc3NpYmxlIG9yIGFwcHJvcHJpYXRlLiBXaGVuZXZlciBtb3JlIHRoYW4gb25lIHJlZmVyZW5jZSByYW5nZSBpcyBzdXBwbGllZCwgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlbSBTSE9VTEQgYmUgcHJvdmlkZWQgaW4gdGhlIHJlZmVyZW5jZSByYW5nZSBhbmQvb3IgYWdlIHByb3BlcnRpZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5SZWZlcmVuY2VSYW5nZSIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJvYnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJNdXN0IGhhdmUgYXQgbGVhc3QgYSBsb3cgb3IgYSBoaWdoIG9yIHRleHQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Imxvdy5leGlzdHMoKSBvciBoaWdoLmV4aXN0cygpIG9yIHRleHQuZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJoYXNNZW1iZXIiIGRlc2NyaXB0aW9uPSJSZWxhdGVkIHJlc291cmNlIHRoYXQgYmVsb25ncyB0byB0aGUgT2JzZXJ2YXRpb24gZ3JvdXAiIGRlZmluaXRpb249IlRoaXMgb2JzZXJ2YXRpb24gaXMgYSBncm91cCBvYnNlcnZhdGlvbiAoZS5nLiBhIGJhdHRlcnksIGEgcGFuZWwgb2YgdGVzdHMsIGEgc2V0IG9mIHZpdGFsIHNpZ24gbWVhc3VyZW1lbnRzKSB0aGF0IGluY2x1ZGVzIHRoZSB0YXJnZXQgYXMgYSBtZW1iZXIgb2YgdGhlIGdyb3VwLiIgY29tbWVudD0iV2hlbiB1c2luZyB0aGlzIGVsZW1lbnQsIGFuIG9ic2VydmF0aW9uIHdpbGwgdHlwaWNhbGx5IGhhdmUgZWl0aGVyIGEgdmFsdWUgb3IgYSBzZXQgb2YgcmVsYXRlZCByZXNvdXJjZXMsIGFsdGhvdWdoIGJvdGggbWF5IGJlIHByZXNlbnQgaW4gc29tZSBjYXNlcy4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiAgTm90ZSB0aGF0IGEgc3lzdGVtIG1heSBjYWxjdWxhdGUgcmVzdWx0cyBmcm9tIFtRdWVzdGlvbm5haXJlUmVzcG9uc2VdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcXVlc3Rpb25uYWlyZXJlc3BvbnNlLmh0bWwpICBpbnRvIGEgZmluYWwgc2NvcmUgYW5kIHJlcHJlc2VudCB0aGUgc2NvcmUgYXMgYW4gT2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIG1lYXN1cmVtZW50cyB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIG1lYXN1cmVtZW50IGZyb20gd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiB2YWx1ZSBpcyBkZXJpdmVkLiBGb3IgZXhhbXBsZSwgYSBjYWxjdWxhdGVkIGFuaW9uIGdhcCBvciBhIGZldGFsIG1lYXN1cmVtZW50IGJhc2VkIG9uIGFuIHVsdHJhc291bmQgaW1hZ2UuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbXBvbmVudCIgZGVzY3JpcHRpb249IkNvbXBvbmVudCByZXN1bHRzIiBkZWZpbml0aW9uPSJTb21lIG9ic2VydmF0aW9ucyBoYXZlIG11bHRpcGxlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMuICBUaGVzZSBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGFyZSBleHByZXNzZWQgYXMgc2VwYXJhdGUgY29kZSB2YWx1ZSBwYWlycyB0aGF0IHNoYXJlIHRoZSBzYW1lIGF0dHJpYnV0ZXMuICBFeGFtcGxlcyBpbmNsdWRlIHN5c3RvbGljIGFuZCBkaWFzdG9saWMgY29tcG9uZW50IG9ic2VydmF0aW9ucyBmb3IgYmxvb2QgcHJlc3N1cmUgbWVhc3VyZW1lbnQgYW5kIG11bHRpcGxlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgZm9yIGdlbmV0aWNzIG9ic2VydmF0aW9ucy4iIGNvbW1lbnQ9IkZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBiZSBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5Db21wb25lbnQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJPYnNlcnZhdGlvblNjcmVlbmluZ0Fzc2Vzc21lbnQiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLW9ic2VydmF0aW9uLXNjcmVlbmluZy1hc3Nlc3NtZW50IiBsYWJlbD0iUUlDb3JlIE9ic2VydmF0aW9uIFNjcmVlbmluZyBBc3Nlc3NtZW50IiB0YXJnZXQ9Ik9ic2VydmF0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IkZ1bGZpbGxzIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIiBkZWZpbml0aW9uPSJBIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBldmVudC4gIEZvciBleGFtcGxlLCBhIE1lZGljYXRpb25SZXF1ZXN0IG1heSByZXF1aXJlIGEgcGF0aWVudCB0byBoYXZlIGxhYm9yYXRvcnkgdGVzdCBwZXJmb3JtZWQgYmVmb3JlICBpdCBpcyBkaXNwZW5zZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iUGFydCBvZiByZWZlcmVuY2VkIGV2ZW50IiBkZWZpbml0aW9uPSJBIGxhcmdlciBldmVudCBvZiB3aGljaCB0aGlzIHBhcnRpY3VsYXIgT2JzZXJ2YXRpb24gaXMgYSBjb21wb25lbnQgb3Igc3RlcC4gIEZvciBleGFtcGxlLCAgYW4gb2JzZXJ2YXRpb24gYXMgcGFydCBvZiBhIHByb2NlZHVyZS4iIGNvbW1lbnQ9IlRvIGxpbmsgYW4gT2JzZXJ2YXRpb24gdG8gYW4gRW5jb3VudGVyIHVzZSBgZW5jb3VudGVyYC4gIFNlZSB0aGUgIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdyBmb3IgZ3VpZGFuY2Ugb24gcmVmZXJlbmNpbmcgYW5vdGhlciBPYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgcmVnaXN0ZXJlZCB8IHBybGltaW5hcnkgfCBmaW5hbCB8IGFtZW5kZWQgfCBjb3JyZWN0ZWQgfCBlbnRlcmVkLWluLWVycm9yIHwgdW5rbm93biIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzdWx0IHZhbHVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIENsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdXJ2ZXkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic2NyZWVuaW5nLWFzc2Vzc21lbnQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIENsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJDYXRlZ29yaWVzIHRoYXQgYSBwcm92aWRlciBtYXkgdXNlIGluIHRoZWlyIHdvcmtmbG93IHRvIGNsYXNzaWZ5IHRoYXQgdGhpcyBPYnNlcnZhdGlvbiBpcyByZWxhdGVkIHRvIGEgVVNDREkgSGVhbHRoIFN0YXR1cy9Bc3Nlc3NtZW50cyBEYXRhIENsYXNzLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJOb3RlIHRoYXQgb3RoZXIgY29kZXMgYXJlIHBlcm1pdHRlZCwgc2VlIFtSZXF1aXJlZCBCaW5kaW5ncyBXaGVuIFNsaWNpbmcgYnkgVmFsdWUgU2V0c10oaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL2dlbmVyYWwtcmVxdWlyZW1lbnRzLmh0bWwjcmVxdWlyZWQtYmluZGluZ3Mtd2hlbi1zbGljaW5nLWJ5LXZhbHVlc2V0cykiIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFR5cGUgb2Ygb2JzZXJ2YXRpb24gKGNvZGUgLyB0eXBlKSIgZGVmaW5pdGlvbj0iRGVzY3JpYmVzIHdoYXQgd2FzIG9ic2VydmVkLiBTb21ldGltZXMgdGhpcyBpcyBjYWxsZWQgdGhlIG9ic2VydmF0aW9uICZxdW90O25hbWUmcXVvdDsuIiBjb21tZW50PSIqQWxsKiBjb2RlLXZhbHVlIGFuZCwgaWYgcHJlc2VudCwgY29tcG9uZW50LmNvZGUtY29tcG9uZW50LnZhbHVlIHBhaXJzIG5lZWQgdG8gYmUgdGFrZW4gaW50byBhY2NvdW50IHRvIGNvcnJlY3RseSB1bmRlcnN0YW5kIHRoZSBtZWFuaW5nIG9mIHRoZSBvYnNlcnZhdGlvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgV2hvIGFuZC9vciB3aGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCIgZGVmaW5pdGlvbj0iVGhlIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIHRoaXMgb2JzZXJ2YXRpb24gaXMgYWJvdXQgYW5kIGludG8gd2hvc2UgcmVjb3JkIHRoZSBvYnNlcnZhdGlvbiBpcyBwbGFjZWQuIElmIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBzdWJqZWN0IChvciBhIHNhbXBsZSBvZiwgcGFydCwgb3IgcmVnaW9uIG9mIHRoZSBzdWJqZWN0KSwgdGhlIGBmb2N1c2AgZWxlbWVudCBvciB0aGUgYGNvZGVgIGl0c2VsZiBzcGVjaWZpZXMgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmUgd291bGQgZXhwZWN0IHRoaXMgZWxlbWVudCB0byBiZSBhIGNhcmRpbmFsaXR5IG9mIDEuLjEuIFRoZSBvbmx5IGNpcmN1bXN0YW5jZSBpbiB3aGljaCB0aGUgc3ViamVjdCBjYW4gYmUgbWlzc2luZyBpcyB3aGVuIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGJ5IGEgZGV2aWNlIHRoYXQgZG9lcyBub3Qga25vdyB0aGUgcGF0aWVudC4gSW4gdGhpcyBjYXNlLCB0aGUgb2JzZXJ2YXRpb24gU0hBTEwgYmUgbWF0Y2hlZCB0byBhIHBhdGllbnQgdGhyb3VnaCBzb21lIGNvbnRleHQvY2hhbm5lbCBtYXRjaGluZyB0ZWNobmlxdWUsIGFuZCBhdCB0aGlzIHBvaW50LCB0aGUgb2JzZXJ2YXRpb24gc2hvdWxkIGJlIHVwZGF0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZvY3VzIiBkZXNjcmlwdGlvbj0iV2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQsIHdoZW4gaXQgaXMgbm90IGFib3V0IHRoZSBzdWJqZWN0IG9mIHJlY29yZCIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiB3aGVuIGl0IGlzIG5vdCB0aGUgcGF0aWVudCBvZiByZWNvcmQgcmVwcmVzZW50aW5nIHNvbWV0aGluZyBvciBzb21lb25lIGFzc29jaWF0ZWQgd2l0aCB0aGUgcGF0aWVudCBzdWNoIGFzIGEgc3BvdXNlLCBwYXJlbnQsIGZldHVzLCBvciBkb25vci4gRm9yIGV4YW1wbGUsIGZldHVzIG9ic2VydmF0aW9ucyBpbiBhIG1vdGhlcidzIHJlY29yZC4gIFRoZSBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiBjb3VsZCBhbHNvIGJlIGFuIGV4aXN0aW5nIGNvbmRpdGlvbiwgIGFuIGludGVydmVudGlvbiwgdGhlIHN1YmplY3QncyBkaWV0LCAgYW5vdGhlciBvYnNlcnZhdGlvbiBvZiB0aGUgc3ViamVjdCwgIG9yIGEgYm9keSBzdHJ1Y3R1cmUgc3VjaCBhcyB0dW1vciBvciBpbXBsYW50ZWQgZGV2aWNlLiAgIEFuIGV4YW1wbGUgdXNlIGNhc2Ugd291bGQgYmUgdXNpbmcgdGhlIE9ic2VydmF0aW9uIHJlc291cmNlIHRvIGNhcHR1cmUgd2hldGhlciB0aGUgbW90aGVyIGlzIHRyYWluZWQgdG8gY2hhbmdlIGhlciBjaGlsZCdzIHRyYWNoZW9zdG9teSB0dWJlLiBJbiB0aGlzIGV4YW1wbGUsIHRoZSBjaGlsZCBpcyB0aGUgcGF0aWVudCBvZiByZWNvcmQgYW5kIHRoZSBtb3RoZXIgaXMgdGhlIGZvY3VzLiIgY29tbWVudD0iVHlwaWNhbGx5LCBhbiBvYnNlcnZhdGlvbiBpcyBtYWRlIGFib3V0IHRoZSBzdWJqZWN0IC0gYSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSAtIGFuZCB0aGUgZGlzdGluY3Rpb24gYmV0d2VlbiB0aGUgc3ViamVjdCBhbmQgd2hhdCBpcyBkaXJlY3RseSBtZWFzdXJlZCBmb3IgYW4gb2JzZXJ2YXRpb24gaXMgc3BlY2lmaWVkIGluIHRoZSBvYnNlcnZhdGlvbiBjb2RlIGl0c2VsZiAoIGUuZy4sICZxdW90O0Jsb29kIEdsdWNvc2UmcXVvdDspIGFuZCBkb2VzIG5vdCBuZWVkIHRvIGJlIHJlcHJlc2VudGVkIHNlcGFyYXRlbHkgdXNpbmcgdGhpcyBlbGVtZW50LiAgVXNlIGBzcGVjaW1lbmAgaWYgYSByZWZlcmVuY2UgdG8gYSBzcGVjaW1lbiBpcyByZXF1aXJlZC4gIElmIGEgY29kZSBpcyByZXF1aXJlZCBpbnN0ZWFkIG9mIGEgcmVzb3VyY2UgdXNlIGVpdGhlciAgYGJvZHlzaXRlYCBmb3IgYm9keXNpdGVzIG9yIHRoZSBzdGFuZGFyZCBleHRlbnNpb24gW2ZvY3VzQ29kZV0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9leHRlbnNpb24tb2JzZXJ2YXRpb24tZm9jdXNjb2RlLmh0bWwpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJIZWFsdGhjYXJlIGV2ZW50IGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUiIGRlZmluaXRpb249IlRoZSBoZWFsdGhjYXJlIGV2ZW50ICAoZS5nLiBhIHBhdGllbnQgYW5kIGhlYWx0aGNhcmUgcHJvdmlkZXIgaW50ZXJhY3Rpb24pIGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgZXZlbnRzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIgKGUuZy4gcHJlLWFkbWlzc2lvbiBsYWJvcmF0b3J5IHRlc3RzKS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBDbGluaWNhbGx5IHJlbGV2YW50IHRpbWUvdGltZS1wZXJpb2QgZm9yIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgdGltZSBvciB0aW1lLXBlcmlvZCB0aGUgb2JzZXJ2ZWQgdmFsdWUgaXMgYXNzZXJ0ZWQgYXMgYmVpbmcgdHJ1ZS4gRm9yIGJpb2xvZ2ljYWwgc3ViamVjdHMgLSBlLmcuIGh1bWFuIHBhdGllbnRzIC0gdGhpcyBpcyB1c3VhbGx5IGNhbGxlZCB0aGUgJnF1b3Q7cGh5c2lvbG9naWNhbGx5IHJlbGV2YW50IHRpbWUmcXVvdDsuIiBjb21tZW50PSJBdCBsZWFzdCBhIGRhdGUgc2hvdWxkIGJlIHByZXNlbnQgdW5sZXNzIHRoaXMgb2JzZXJ2YXRpb24gaXMgYSBoaXN0b3JpY2FsIHJlcG9ydC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRpbWluZyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idXMtY29yZS0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IkRhdGV0aW1lIG11c3QgYmUgYXQgbGVhc3QgdG8gZGF5LiI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iJHRoaXMgaXMgRGF0ZVRpbWUgaW1wbGllcyAkdGhpcy50b1N0cmluZygpLmxlbmd0aCgpICZndDs9IDEwIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaXNzdWVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUvVGltZSB0aGlzIHZlcnNpb24gd2FzIG1hZGUgYXZhaWxhYmxlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGlzIHZlcnNpb24gb2YgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIGF2YWlsYWJsZSB0byBwcm92aWRlcnMsIHR5cGljYWxseSBhZnRlciB0aGUgcmVzdWx0cyBoYXZlIGJlZW4gcmV2aWV3ZWQgYW5kIHZlcmlmaWVkLiIgY29tbWVudD0iRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvbuKAmXQgcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiwgaXQgbWF5IGJlIHRoZSBzYW1lIGFzIHRoZSBbYGxhc3RVcGRhdGVkYCBdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcmVzb3VyY2UtZGVmaW5pdGlvbnMuaHRtbCNNZXRhLmxhc3RVcGRhdGVkKSB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYuICBGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG8gcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiBmb3IgY2VydGFpbiB1cGRhdGVzLCBpdCBtaWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGBsYXN0VXBkYXRlZGAgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmIGR1ZSB0byBhIG5vbi1jbGluaWNhbGx5IHNpZ25pZmljYW50IHVwZGF0ZSB0aGF0IGRvZXNu4oCZdCByZXF1aXJlIHRoZSBuZXcgdmVyc2lvbiB0byBiZSByZXZpZXdlZCBhbmQgdmVyaWZpZWQgYWdhaW4uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBXaG8gaXMgcmVzcG9uc2libGUgZm9yIHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iV2hvIHdhcyByZXNwb25zaWJsZSBmb3IgYXNzZXJ0aW5nIHRoZSBvYnNlcnZlZCB2YWx1ZSBhcyAmcXVvdDt0cnVlJnF1b3Q7LiIgY29tbWVudD0iU29tZSBxdWVzdGlvbnMgb24gcXVlc3Rpb25uYWlyZXMgYXJlIG5vdCBhbnN3ZXJlZCBkaXJlY3RseSAoZS5nLiwgYXNzZXJ0ZWQpIGJ5IHRoZSBpbmRpdmlkdWFsIGNvbXBsZXRpbmcgdGhlIHF1ZXN0aW9ubmFpcmUsIGJ1dCBhcmUgZGVyaXZlZCBmcm9tIGFuc3dlcnMgdG8gb25lIG9yIG1vcmUgb3RoZXIgcXVlc3Rpb25zLiBGb3IgdHlwZXMgb2YgYW5zd2VycywgYE9ic2VydmF0aW9uLnBlcmZvcm1lcmAgc2hvdWxkIG5vdCBiZSBzcGVjaWZpZWQgYW5kIGBPYnNlcnZhdGlvbi5kZXJpdmVkRnJvbWAgc2hvdWxkIHJlZmVyZW5jZSB0aGUgcmVsZXZhbnQgU2NyZWVuaW5nIFJlc3BvbnNlIE9ic2VydmF0aW9uKHMpLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIEFjdHVhbCByZXN1bHQiIGRlZmluaXRpb249IlRoZSBpbmZvcm1hdGlvbiBkZXRlcm1pbmVkIGFzIGEgcmVzdWx0IG9mIG1ha2luZyB0aGUgb2JzZXJ2YXRpb24sIGlmIHRoZSBpbmZvcm1hdGlvbiBoYXMgYSBzaW1wbGUgdmFsdWUuIiBjb21tZW50PSJBbiBvYnNlcnZhdGlvbiBtYXkgaGF2ZSBhIHZhbHVlIGlmIGl0IHJlcHJlc2VudHMgYW4gaW5kaXZpZHVhbCBzdXJ2ZXkgcXVlc3Rpb24gYW5kIGFuc3dlciBwYWlyLiBBbiBvYnNlcnZhdGlvbiBzaG91bGQgbm90IGhhdmUgYSB2YWx1ZSBpZiBpdCByZXByZXNlbnRzIGEgbXVsdGktcXVlc3Rpb24gc3VydmV5IG9yIG11bHRpLXNlbGVjdCDigJxjaGVjayBhbGwgdGhhdCBhcHBseeKAnSBxdWVzdGlvbi4gSWYgYSB2YWx1ZSBpcyBwcmVzZW50LCB0aGUgZGF0YXR5cGUgZm9yIHRoaXMgZWxlbWVudCBzaG91bGQgYmUgZGV0ZXJtaW5lZCBieSBPYnNlcnZhdGlvbi5jb2RlLiAgQSBDb2RlYWJsZUNvbmNlcHQgd2l0aCBqdXN0IGEgdGV4dCB3b3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgYSBzdHJpbmcgaWYgdGhlIGZpZWxkIHdhcyB1c3VhbGx5IGNvZGVkLCBvciBpZiB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhlIE9ic2VydmF0aW9uLmNvZGUgZGVmaW5lcyBhIGNvZGVkIHZhbHVlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQm9vbGVhbiIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJSYXRpbyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFdoeSB0aGUgcmVzdWx0IGlzIG1pc3NpbmciIGRlZmluaXRpb249IlByb3ZpZGVzIGEgcmVhc29uIHdoeSB0aGUgZXhwZWN0ZWQgdmFsdWUgaW4gdGhlIGVsZW1lbnQgT2JzZXJ2YXRpb24udmFsdWVbeF0gaXMgbWlzc2luZy4iIGNvbW1lbnQ9IiZxdW90O051bGwmcXVvdDsgb3IgZXhjZXB0aW9uYWwgdmFsdWVzIGNhbiBiZSByZXByZXNlbnRlZCB0d28gd2F5cyBpbiBGSElSIE9ic2VydmF0aW9ucy4gIE9uZSB3YXkgaXMgdG8gc2ltcGx5IGluY2x1ZGUgdGhlbSBpbiB0aGUgdmFsdWUgc2V0IGFuZCByZXByZXNlbnQgdGhlIGV4Y2VwdGlvbnMgaW4gdGhlIHZhbHVlLiAgVGhlIGFsdGVybmF0ZSB3YXkgaXMgdG8gdXNlIHRoZSB2YWx1ZSBlbGVtZW50IGZvciBhY3R1YWwgb2JzZXJ2YXRpb25zIGFuZCB1c2UgdGhlIGV4cGxpY2l0IGRhdGFBYnNlbnRSZWFzb24gZWxlbWVudCB0byByZWNvcmQgZXhjZXB0aW9uYWwgdmFsdWVzLiBGb3IgYSBnaXZlbiBMT0lOQyBxdWVzdGlvbiwgaWYgdGhlIExPSU5DIGFuc3dlciBsaXN0IGluY2x1ZGVzIGNvbmNlcHRzIHN1Y2ggYXMgJ3Vua25vd24nIG9yICdub3QgYXZhaWxhYmxlJywgdGhleSBzaG91bGQgYmUgdXNlZCBmb3IgT2JzZXJ2YXRpb24udmFsdWUuIFdoZXJlIHRoZXNlIGNvbmNlcHRzIGFyZSBub3QgcGFydCBvZiB0aGUgdmFsdWUgc2V0IGZvciBPYnNlcnZhdGlvbi52YWx1ZSwgdGhlIE9ic2VydmF0aW9uLmRhdGFBYnNlbnRSZWFzb24gY2FuIGJlIHVzZWQgaWYgbmVjZXNzYXJ5IGFuZCBhcHByb3ByaWF0ZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25WYWx1ZUFic2VudFJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIHNwZWNpZnlpbmcgd2h5IHRoZSByZXN1bHQgKGBPYnNlcnZhdGlvbi52YWx1ZVt4XWApIGlzIG1pc3NpbmcuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlcnByZXRhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBIaWdoLCBsb3csIG5vcm1hbCwgZXRjLiIgZGVmaW5pdGlvbj0iQSBjYXRlZ29yaWNhbCBhc3Nlc3NtZW50IG9mIGFuIG9ic2VydmF0aW9uIHZhbHVlLiAgRm9yIGV4YW1wbGUsIGhpZ2gsIGxvdywgbm9ybWFsLiIgY29tbWVudD0iSGlzdG9yaWNhbGx5IHVzZWQgZm9yIGxhYm9yYXRvcnkgcmVzdWx0cyAoa25vd24gYXMgJ2Fibm9ybWFsIGZsYWcnICksICBpdHMgdXNlIGV4dGVuZHMgdG8gb3RoZXIgdXNlIGNhc2VzIHdoZXJlIGNvZGVkIGludGVycHJldGF0aW9ucyAgYXJlIHJlbGV2YW50LiAgT2Z0ZW4gcmVwb3J0ZWQgYXMgb25lIG9yIG1vcmUgc2ltcGxlIGNvbXBhY3QgY29kZXMgdGhpcyBlbGVtZW50IGlzIG9mdGVuIHBsYWNlZCBhZGphY2VudCB0byB0aGUgcmVzdWx0IHZhbHVlIGluIHJlcG9ydHMgYW5kIGZsb3cgc2hlZXRzIHRvIHNpZ25hbCB0aGUgbWVhbmluZy9ub3JtYWxjeSBzdGF0dXMgb2YgdGhlIHJlc3VsdC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25JbnRlcnByZXRhdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIGludGVycHJldGF0aW9ucyBvZiBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24gb3IgdGhlIHJlc3VsdHMuIiBjb21tZW50PSJNYXkgaW5jbHVkZSBnZW5lcmFsIHN0YXRlbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uLCBvciBzdGF0ZW1lbnRzIGFib3V0IHNpZ25pZmljYW50LCB1bmV4cGVjdGVkIG9yIHVucmVsaWFibGUgcmVzdWx0cyB2YWx1ZXMsIG9yIGluZm9ybWF0aW9uIGFib3V0IGl0cyBzb3VyY2Ugd2hlbiByZWxldmFudCB0byBpdHMgaW50ZXJwcmV0YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPYnNlcnZlZCBib2R5IHBhcnQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc2l0ZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgd2hlcmUgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIChpLmUuIHRoZSB0YXJnZXQgc2l0ZSkuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gT2JzZXJ2YXRpb24uY29kZS4gIEluIG1hbnkgc3lzdGVtcywgdGhpcyBtYXkgYmUgcmVwcmVzZW50ZWQgYXMgYSByZWxhdGVkIG9ic2VydmF0aW9uIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvbXBvbmVudC4gICAmIzEwOyYjMTA7SWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvblsgYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IGl0IHdhcyBkb25lIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIG1lY2hhbmlzbSB1c2VkIHRvIHBlcmZvcm0gdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvciBPYnNlcnZhdGlvbi5jb2RlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uTWV0aG9kIiBkZXNjcmlwdGlvbj0iTWV0aG9kcyBmb3Igc2ltcGxlIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpbWVuIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlNwZWNpbWVuIHVzZWQgZm9yIHRoaXMgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSBzcGVjaW1lbiB0aGF0IHdhcyB1c2VkIHdoZW4gdGhpcyBvYnNlcnZhdGlvbiB3YXMgbWFkZS4iIGNvbW1lbnQ9IlNob3VsZCBvbmx5IGJlIHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gYE9ic2VydmF0aW9uLmNvZGVgLiAgT2JzZXJ2YXRpb25zIGFyZSBub3QgbWFkZSBvbiBzcGVjaW1lbnMgdGhlbXNlbHZlczsgdGhleSBhcmUgbWFkZSBvbiBhIHN1YmplY3QsIGJ1dCBpbiBtYW55IGNhc2VzIGJ5IHRoZSBtZWFucyBvZiBhIHNwZWNpbWVuLiBOb3RlIHRoYXQgYWx0aG91Z2ggc3BlY2ltZW5zIGFyZSBvZnRlbiBpbnZvbHZlZCwgdGhleSBhcmUgbm90IGFsd2F5cyB0cmFja2VkIGFuZCByZXBvcnRlZCBleHBsaWNpdGx5LiBBbHNvIG5vdGUgdGhhdCBvYnNlcnZhdGlvbiByZXNvdXJjZXMgbWF5IGJlIHVzZWQgaW4gY29udGV4dHMgdGhhdCB0cmFjayB0aGUgc3BlY2ltZW4gZXhwbGljaXRseSAoZS5nLiBEaWFnbm9zdGljIFJlcG9ydCkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihNZWFzdXJlbWVudCkgRGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIG9ic2VydmF0aW9uIGRhdGEuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBpcyBub3QgbWVhbnQgdG8gcmVwcmVzZW50IGEgZGV2aWNlIGludm9sdmVkIGluIHRoZSB0cmFuc21pc3Npb24gb2YgdGhlIHJlc3VsdCwgZS5nLiwgYSBnYXRld2F5LiAgU3VjaCBkZXZpY2VzIG1heSBiZSBkb2N1bWVudGVkIHVzaW5nIHRoZSBQcm92ZW5hbmNlIHJlc291cmNlIHdoZXJlIHJlbGV2YW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIiBkZWZpbml0aW9uPSJHdWlkYW5jZSBvbiBob3cgdG8gaW50ZXJwcmV0IHRoZSB2YWx1ZSBieSBjb21wYXJpc29uIHRvIGEgbm9ybWFsIG9yIHJlY29tbWVuZGVkIHJhbmdlLiAgTXVsdGlwbGUgcmVmZXJlbmNlIHJhbmdlcyBhcmUgaW50ZXJwcmV0ZWQgYXMgYW4gJnF1b3Q7T1ImcXVvdDsuICAgSW4gb3RoZXIgd29yZHMsIHRvIHJlcHJlc2VudCB0d28gZGlzdGluY3QgdGFyZ2V0IHBvcHVsYXRpb25zLCB0d28gYHJlZmVyZW5jZVJhbmdlYCBlbGVtZW50cyB3b3VsZCBiZSB1c2VkLiIgY29tbWVudD0iTW9zdCBvYnNlcnZhdGlvbnMgb25seSBoYXZlIG9uZSBnZW5lcmljIHJlZmVyZW5jZSByYW5nZS4gU3lzdGVtcyBNQVkgY2hvb3NlIHRvIHJlc3RyaWN0IHRvIG9ubHkgc3VwcGx5aW5nIHRoZSByZWxldmFudCByZWZlcmVuY2UgcmFuZ2UgYmFzZWQgb24ga25vd2xlZGdlIGFib3V0IHRoZSBwYXRpZW50IChlLmcuLCBzcGVjaWZpYyB0byB0aGUgcGF0aWVudCdzIGFnZSwgZ2VuZGVyLCB3ZWlnaHQgYW5kIG90aGVyIGZhY3RvcnMpLCBidXQgdGhpcyBtaWdodCBub3QgYmUgcG9zc2libGUgb3IgYXBwcm9wcmlhdGUuIFdoZW5ldmVyIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIHJhbmdlIGlzIHN1cHBsaWVkLCB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGVtIFNIT1VMRCBiZSBwcm92aWRlZCBpbiB0aGUgcmVmZXJlbmNlIHJhbmdlIGFuZC9vciBhZ2UgcHJvcGVydGllcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIi8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Im9icy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik11c3QgaGF2ZSBhdCBsZWFzdCBhIGxvdyBvciBhIGhpZ2ggb3IgdGV4dCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0ibG93LmV4aXN0cygpIG9yIGhpZ2guZXhpc3RzKCkgb3IgdGV4dC5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imhhc01lbWJlciIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgUmVmZXJlbmNlIHRvIHBhbmVsIG9yIG11bHRpLXNlbGVjdCByZXNwb25zZXMiIGRlZmluaXRpb249IkFnZ3JlZ2F0ZSBzZXQgb2YgT2JzZXJ2YXRpb25zIHRoYXQgcmVwcmVzZW50IHF1ZXN0aW9uIGFuc3dlciBwYWlycyBmb3IgYm90aCBtdWx0aS1xdWVzdGlvbiBzdXJ2ZXlzIGFuZCBtdWx0aS1zZWxlY3QgcXVlc3Rpb25zLiIgY29tbWVudD0iVGhpcyBncm91cGluZyBlbGVtZW50IGlzIHVzZWQgdG8gcmVwcmVzZW50IHN1cnZleXMgdGhhdCBncm91cCBzZXZlcmFsIHF1ZXN0aW9ucyB0b2dldGhlciBvciBpbmRpdmlkdWFsIHF1ZXN0aW9ucyB3aXRoICDigJxjaGVjayBhbGwgdGhhdCBhcHBseeKAnSByZXNwb25zZXMuIEZvciBleGFtcGxlIGluIHRoZSBzaW1wbGVzdCBjYXNlIGEgZmxhdCBtdWx0aS1xdWVzdGlvbiBzdXJ2ZXkgd2hlcmUgdGhlICZxdW90O3BhbmVsJnF1b3Q7IG9ic2VydmF0aW9uIGlzIHRoZSBzdXJ2ZXkgaW5zdHJ1bWVudCBpdHNlbGYgYW5kIGluc3RlYWQgb2YgYW4gYE9ic2VydmF0aW9uLnZhbHVlYCB0aGUgYGhhc01lbWJlcmAgZWxlbWVudCByZWZlcmVuY2VzIG90aGVyIE9ic2VydmF0aW9uIHRoYXQgcmVwcmVzZW50IHRoZSBpbmRpdmlkdWFsIHF1ZXN0aW9ucyBhbnN3ZXIgcGFpcnMuIEluIGEgc3VydmV5IHRoYXQgaGFzIGEgaGVpcmFyY2hpY2FsIGdyb3VwaW5nIG9mIHF1ZXN0aW9ucywgdGhlIG9ic2VydmF0aW9uICZxdW90O3BhbmVscyZxdW90OyBjYW4gYmUgbmVzdGVkLiBCZWNhdXNlIHN1cnZleXMgY2FuIGJlIGFyYml0cmFyaWx5IGNvbXBsZXggc3RydWN0dXJhbGx5LCBub3QgYWxsIHN1cnZleSBzdHJ1Y3R1cmVzIGNhbiBiZSByZXByZXNlbnRlZCB1c2luZyB0aGlzIE9ic2VydmF0aW9uIGdyb3VwaW5nIHBhdHRlcm4uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRlcml2ZWRGcm9tIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBSZWxhdGVkIE9ic2VydmF0aW9ucyBvciBRdWVzdGlvbm5haXJlUmVzcG9uc2VzIHRoYXQgdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgZnJvbSIgZGVmaW5pdGlvbj0iT2JzZXJ2YXRpb25zIG9yIFF1ZXN0aW9ubmFpcmVSZXNwb25zZXMgZnJvbSB3aGljaCB0aGlzIG9ic2VydmF0aW9uIHZhbHVlIGlzIGRlcml2ZWQuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb21wb25lbnQiIGRlc2NyaXB0aW9uPSJDb21wb25lbnQgcmVzdWx0cyIgZGVmaW5pdGlvbj0iU29tZSBvYnNlcnZhdGlvbnMgaGF2ZSBtdWx0aXBsZSBjb21wb25lbnQgb2JzZXJ2YXRpb25zLiAgVGhlc2UgY29tcG9uZW50IG9ic2VydmF0aW9ucyBhcmUgZXhwcmVzc2VkIGFzIHNlcGFyYXRlIGNvZGUgdmFsdWUgcGFpcnMgdGhhdCBzaGFyZSB0aGUgc2FtZSBhdHRyaWJ1dGVzLiAgRXhhbXBsZXMgaW5jbHVkZSBzeXN0b2xpYyBhbmQgZGlhc3RvbGljIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgZm9yIGJsb29kIHByZXNzdXJlIG1lYXN1cmVtZW50IGFuZCBtdWx0aXBsZSBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGZvciBnZW5ldGljcyBvYnNlcnZhdGlvbnMuIiBjb21tZW50PSJGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYmUgYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50Ii8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iT2JzZXJ2YXRpb25TdGF0dXMiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iT3JkaW5hbCBWYWx1ZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL29yZGluYWxWYWx1ZSIgbGFiZWw9Ik9yZGluYWwgVmFsdWUiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5EZWNpbWFsIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ik9yZ2FuaXphdGlvbiIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtb3JnYW5pemF0aW9uIiBsYWJlbD0iUUlDb3JlIE9yZ2FuaXphdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0idHlwZSIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IklkZW50aWZpZXMgdGhpcyBvcmdhbml6YXRpb24gIGFjcm9zcyBtdWx0aXBsZSBzeXN0ZW1zIiBkZWZpbml0aW9uPSJJZGVudGlmaWVyIGZvciB0aGUgb3JnYW5pemF0aW9uIHRoYXQgaXMgdXNlZCB0byBpZGVudGlmeSB0aGUgb3JnYW5pemF0aW9uIGFjcm9zcyBtdWx0aXBsZSBkaXNwYXJhdGUgc3lzdGVtcy4iIGNvbW1lbnQ9Ik5QSSBwcmVmZXJyZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJOUEkiIGRlc2NyaXB0aW9uPSJOYXRpb25hbCBQcm92aWRlciBJZGVudGlmaWVyIChOUEkpIiBkZWZpbml0aW9uPSJJZGVudGlmaWVyIGZvciB0aGUgb3JnYW5pemF0aW9uIHRoYXQgaXMgdXNlZCB0byBpZGVudGlmeSB0aGUgb3JnYW5pemF0aW9uIGFjcm9zcyBtdWx0aXBsZSBkaXNwYXJhdGUgc3lzdGVtcy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InVzLWNvcmUtMTYiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iTlBJIG11c3QgYmUgMTAgZGlnaXRzIj4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ2YWx1ZS5tYXRjaGVzKCdeWzAtOV17MTB9JCcpIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idXMtY29yZS0xNyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJOUEkgY2hlY2sgZGlnaXQgbXVzdCBiZSB2YWxpZCAoTHVobiBhbGdvcml0aG0gY2hlY2spIj4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIoKChzZWxlY3QodmFsdWUuc3Vic3RyaW5nKDAsMSkudG9JbnRlZ2VyKCkpLnNlbGVjdChpaWYoJHRoaXMmbHQ7NSwgJHRoaXMqMiwgKCgkdGhpcyoyKS05KSkpKSsodmFsdWUuc3Vic3RyaW5nKDEsMSkudG9JbnRlZ2VyKCkpKyhzZWxlY3QodmFsdWUuc3Vic3RyaW5nKDIsMSkudG9JbnRlZ2VyKCkpLnNlbGVjdChpaWYoJHRoaXMmbHQ7NSwgJHRoaXMqMiwgKCgkdGhpcyoyKS05KSkpKSsodmFsdWUuc3Vic3RyaW5nKDMsMSkudG9JbnRlZ2VyKCkpKyhzZWxlY3QodmFsdWUuc3Vic3RyaW5nKDQsMSkudG9JbnRlZ2VyKCkpLnNlbGVjdChpaWYoJHRoaXMmbHQ7NSwgJHRoaXMqMiwgKCgkdGhpcyoyKS05KSkpKSsodmFsdWUuc3Vic3RyaW5nKDUsMSkudG9JbnRlZ2VyKCkpKyhzZWxlY3QodmFsdWUuc3Vic3RyaW5nKDYsMSkudG9JbnRlZ2VyKCkpLnNlbGVjdChpaWYoJHRoaXMmbHQ7NSwgJHRoaXMqMiwgKCgkdGhpcyoyKS05KSkpKSsodmFsdWUuc3Vic3RyaW5nKDcsMSkudG9JbnRlZ2VyKCkpKyhzZWxlY3QodmFsdWUuc3Vic3RyaW5nKDgsMSkudG9JbnRlZ2VyKCkpLnNlbGVjdChpaWYoJHRoaXMmbHQ7NSwgJHRoaXMqMiwgKCgkdGhpcyoyKS05KSkpKSsodmFsdWUuc3Vic3RyaW5nKDksMSkudG9JbnRlZ2VyKCkpICsgMjQpbW9kIDEwPTApIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iQ0xJQSIgZGVzY3JpcHRpb249IkNsaW5pY2FsIExhYm9yYXRvcnkgSW1wcm92ZW1lbnQgQW1lbmRtZW50cyAoQ0xJQSkgTnVtYmVyIGZvciBsYWJvcmF0b3JpZXMiIGRlZmluaXRpb249IklkZW50aWZpZXIgZm9yIHRoZSBvcmdhbml6YXRpb24gdGhhdCBpcyB1c2VkIHRvIGlkZW50aWZ5IHRoZSBvcmdhbml6YXRpb24gYWNyb3NzIG11bHRpcGxlIGRpc3BhcmF0ZSBzeXN0ZW1zLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InVzLWNvcmUtMTgiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iQ0xJQSBudW1iZXIgbXVzdCBiZSAxMCBkaWdpdHMgd2l0aCBhIGxldHRlciAmcXVvdDtEJnF1b3Q7IGluIHRoaXJkIHBvc2l0aW9uIj4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ2YWx1ZS5tYXRjaGVzKCdeWzAtOV17Mn1EWzAtOV17N30kJykiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJOQUlDIiBkZXNjcmlwdGlvbj0iTkFJQyBDb2RlIiBkZWZpbml0aW9uPSJJZGVudGlmaWVyIGZvciB0aGUgb3JnYW5pemF0aW9uIHRoYXQgaXMgdXNlZCB0byBpZGVudGlmeSB0aGUgb3JnYW5pemF0aW9uIGFjcm9zcyBtdWx0aXBsZSBkaXNwYXJhdGUgc3lzdGVtcy4iIGNvbW1lbnQ9Ik5BSUMgQ29tcGFueSBjb2RlIChzb21ldGltZXMgY2FsbGVkICZxdW90O05BSUMgTnVtYmVyJnF1b3Q7IG9yICZxdW90O2NvY29kZSZxdW90OykgZm9yIHBheWVycy4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ1cy1jb3JlLTE5IiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik5BSUMgbXVzdCBiZSA1IGRpZ2l0cyI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0idmFsdWUubWF0Y2hlcygnXlswLTldezV9JCcpIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2NuIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgQ01TIENlcnRpZmljYXRpb24gTnVtYmVyIiBkZWZpbml0aW9uPSJJZGVudGlmaWVyIGZvciB0aGUgb3JnYW5pemF0aW9uIHRoYXQgaXMgdXNlZCB0byBpZGVudGlmeSB0aGUgb3JnYW5pemF0aW9uIGFjcm9zcyBtdWx0aXBsZSBkaXNwYXJhdGUgc3lzdGVtcy4iIGNvbW1lbnQ9Ik5QSSBwcmVmZXJyZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVpbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIEVtcGxveWVyIElkZW50aWZpY2F0aW9uIE51bWJlciIgZGVmaW5pdGlvbj0iSWRlbnRpZmllciBmb3IgdGhlIG9yZ2FuaXphdGlvbiB0aGF0IGlzIHVzZWQgdG8gaWRlbnRpZnkgdGhlIG9yZ2FuaXphdGlvbiBhY3Jvc3MgbXVsdGlwbGUgZGlzcGFyYXRlIHN5c3RlbXMuIiBjb21tZW50PSJUaGVyZSBpcyBub3QgYSBnZW5lcmFsIFRheCBJZGVudGlmaWVyIE51bWVyIChUSU4pIE9JRC4gVGhlcmUgaXMgYW4gU1NOLCBhIFBUSU4sIGFuZCBhbiBJVElOLCBidXQgbm8gVElOIGdlbmVyYWxseS4gU28gdGhlIG9ubHkgc2xpY2Ugc3BlY2lmaWVkIGhlcmUgaXMgRUlOLCBpZiBjb25zdW1lcnMgZGV0ZXJtaW5lIGEgbmVlZCBmb3IgYW4gU1NOLCBzdWJtaXQgYSBjb21tZW50IHRvIHRoYXQgZWZmZWN0LiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhY3RpdmUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGV0aGVyIHRoZSBvcmdhbml6YXRpb24ncyByZWNvcmQgaXMgc3RpbGwgaW4gYWN0aXZlIHVzZSIgZGVmaW5pdGlvbj0iV2hldGhlciB0aGUgb3JnYW5pemF0aW9uJ3MgcmVjb3JkIGlzIHN0aWxsIGluIGFjdGl2ZSB1c2UuIiBjb21tZW50PSJUaGlzIGFjdGl2ZSBmbGFnIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIHRvIG1hcmsgYW4gb3JnYW5pemF0aW9uIGFzIHRlbXBvcmFyaWx5IGNsb3NlZCBvciB1bmRlciBjb25zdHJ1Y3Rpb24uIEluc3RlYWQgdGhlIExvY2F0aW9uKHMpIHdpdGhpbiB0aGUgT3JnYW5pemF0aW9uIHNob3VsZCBoYXZlIHRoZSBzdXNwZW5kZWQgc3RhdHVzLiBJZiBmdXJ0aGVyIGRldGFpbHMgb2YgdGhlIHJlYXNvbiBmb3IgdGhlIHN1c3BlbnNpb24gYXJlIHJlcXVpcmVkLCB0aGVuIGFuIGV4dGVuc2lvbiBvbiB0aGlzIGVsZW1lbnQgc2hvdWxkIGJlIHVzZWQuJiMxMDsmIzEwO1RoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSBpdCBtYXkgYmUgdXNlZCB0byBtYXJrIHRoYXQgdGhlIHJlc291cmNlIHdhcyBjcmVhdGVkIGluIGVycm9yLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iS2luZCBvZiBvcmdhbml6YXRpb24iIGRlZmluaXRpb249IlRoZSBraW5kKHMpIG9mIG9yZ2FuaXphdGlvbiB0aGF0IHRoaXMgaXMuIiBjb21tZW50PSJPcmdhbml6YXRpb25zIGNhbiBiZSBjb3Jwb3JhdGlvbnMsIHdhcmRzLCBzZWN0aW9ucywgY2xpbmljYWwgdGVhbXMsIGdvdmVybm1lbnQgZGVwYXJ0bWVudHMsIGV0Yy4gTm90ZSB0aGF0IGNvZGUgaXMgZ2VuZXJhbGx5IGEgY2xhc3NpZmllciBvZiB0aGUgdHlwZSBvZiBvcmdhbml6YXRpb247IGluIG1hbnkgYXBwbGljYXRpb25zLCBjb2RlcyBhcmUgdXNlZCB0byBpZGVudGl0eSBhIHBhcnRpY3VsYXIgb3JnYW5pemF0aW9uIChzYXksIHdhcmQpIGFzIG9wcG9zZWQgdG8gYW5vdGhlciBvZiB0aGUgc2FtZSB0eXBlIC0gdGhlc2UgYXJlIGlkZW50aWZpZXJzLCBub3QgY29kZXMmIzEwOyYjMTA7V2hlbiBjb25zaWRlcmluZyBpZiBtdWx0aXBsZSB0eXBlcyBhcmUgYXBwcm9wcmlhdGUsIHlvdSBzaG91bGQgZXZhbHVhdGUgaWYgY2hpbGQgb3JnYW5pemF0aW9ucyB3b3VsZCBiZSBhIG1vcmUgYXBwcm9wcmlhdGUgdXNlIG9mIHRoZSBjb25jZXB0LCBhcyBkaWZmZXJlbnQgdHlwZXMgbGlrZWx5IGFyZSBpbiBkaWZmZXJlbnQgc3ViLWFyZWFzIG9mIHRoZSBvcmdhbml6YXRpb24uIFRoaXMgaXMgbW9zdCBsaWtlbHkgdG8gYmUgdXNlZCB3aGVyZSB0eXBlIHZhbHVlcyBoYXZlIG9ydGhvZ29uYWwgdmFsdWVzLCBzdWNoIGFzIGEgcmVsaWdpb3VzLCBhY2FkZW1pYyBhbmQgbWVkaWNhbCBjZW50ZXIuJiMxMDsmIzEwO1dlIGV4cGVjdCB0aGF0IHNvbWUganVyaXNkaWN0aW9ucyB3aWxsIHByb2ZpbGUgdGhpcyBvcHRpb25hbGl0eSB0byBiZSBhIHNpbmdsZSBjYXJkaW5hbGl0eS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlVzZWQgdG8gY2F0ZWdvcml6ZSB0aGUgb3JnYW5pemF0aW9uIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5hbWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik5hbWUgdXNlZCBmb3IgdGhlIG9yZ2FuaXphdGlvbiIgZGVmaW5pdGlvbj0iQSBuYW1lIGFzc29jaWF0ZWQgd2l0aCB0aGUgb3JnYW5pemF0aW9uLiIgY29tbWVudD0iSWYgdGhlIG5hbWUgb2YgYW4gb3JnYW5pemF0aW9uIGNoYW5nZXMsIGNvbnNpZGVyIHB1dHRpbmcgdGhlIG9sZCBuYW1lIGluIHRoZSBhbGlhcyBjb2x1bW4gc28gdGhhdCBpdCBjYW4gc3RpbGwgYmUgbG9jYXRlZCB0aHJvdWdoIHNlYXJjaGVzLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhbGlhcyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBIGxpc3Qgb2YgYWx0ZXJuYXRlIG5hbWVzIHRoYXQgdGhlIG9yZ2FuaXphdGlvbiBpcyBrbm93biBhcywgb3Igd2FzIGtub3duIGFzIGluIHRoZSBwYXN0IiBkZWZpbml0aW9uPSJBIGxpc3Qgb2YgYWx0ZXJuYXRlIG5hbWVzIHRoYXQgdGhlIG9yZ2FuaXphdGlvbiBpcyBrbm93biBhcywgb3Igd2FzIGtub3duIGFzIGluIHRoZSBwYXN0LiIgY29tbWVudD0iVGhlcmUgYXJlIG5vIGRhdGVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgYWxpYXMvaGlzdG9yaWMgbmFtZXMsIGFzIHRoaXMgaXMgbm90IGludGVuZGVkIHRvIHRyYWNrIHdoZW4gbmFtZXMgd2VyZSB1c2VkLCBidXQgdG8gYXNzaXN0IGluIHNlYXJjaGluZyBzbyB0aGF0IG9sZGVyIG5hbWVzIGNhbiBzdGlsbCByZXN1bHQgaW4gaWRlbnRpZnlpbmcgdGhlIG9yZ2FuaXphdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0ZWxlY29tIiBkZXNjcmlwdGlvbj0iQSBjb250YWN0IGRldGFpbCBmb3IgdGhlIG9yZ2FuaXphdGlvbiIgZGVmaW5pdGlvbj0iQSBjb250YWN0IGRldGFpbCBmb3IgdGhlIG9yZ2FuaXphdGlvbi4iIGNvbW1lbnQ9IlRoZSB1c2UgY29kZSAnaG9tZScgaXMgbm90IHRvIGJlIHVzZWQuIE5vdGUgdGhhdCB0aGVzZSBjb250YWN0cyBhcmUgbm90IHRoZSBjb250YWN0IGRldGFpbHMgb2YgcGVvcGxlIHdobyBhcmUgZW1wbG95ZWQgYnkgb3IgcmVwcmVzZW50IHRoZSBvcmdhbml6YXRpb24sIGJ1dCBvZmZpY2lhbCBjb250YWN0cyBmb3IgdGhlIG9yZ2FuaXphdGlvbiBpdHNlbGYuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ29udGFjdFBvaW50Ii8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Im9yZy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IlRoZSB0ZWxlY29tIG9mIGFuIG9yZ2FuaXphdGlvbiBjYW4gbmV2ZXIgYmUgb2YgdXNlICdob21lJyI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0id2hlcmUodXNlID0gJ2hvbWUnKS5lbXB0eSgpIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWRkcmVzcyIgZGVzY3JpcHRpb249IkFuIGFkZHJlc3MgZm9yIHRoZSBvcmdhbml6YXRpb24iIGRlZmluaXRpb249IkFuIGFkZHJlc3MgZm9yIHRoZSBvcmdhbml6YXRpb24uIiBjb21tZW50PSJPcmdhbml6YXRpb24gbWF5IGhhdmUgbXVsdGlwbGUgYWRkcmVzc2VzIHdpdGggZGlmZmVyZW50IHVzZXMgb3IgYXBwbGljYWJsZSBwZXJpb2RzLiBUaGUgdXNlIGNvZGUgJ2hvbWUnIGlzIG5vdCB0byBiZSB1c2VkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFkZHJlc3MiLz4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0ib3JnLTIiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iQW4gYWRkcmVzcyBvZiBhbiBvcmdhbml6YXRpb24gY2FuIG5ldmVyIGJlIG9mIHVzZSAnaG9tZSciPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249IndoZXJlKHVzZSA9ICdob21lJykuZW1wdHkoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJUaGUgb3JnYW5pemF0aW9uIG9mIHdoaWNoIHRoaXMgb3JnYW5pemF0aW9uIGZvcm1zIGEgcGFydCIgZGVmaW5pdGlvbj0iVGhlIG9yZ2FuaXphdGlvbiBvZiB3aGljaCB0aGlzIG9yZ2FuaXphdGlvbiBmb3JtcyBhIHBhcnQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29udGFjdCIgZGVzY3JpcHRpb249IkNvbnRhY3QgZm9yIHRoZSBvcmdhbml6YXRpb24gZm9yIGEgY2VydGFpbiBwdXJwb3NlIiBkZWZpbml0aW9uPSJDb250YWN0IGZvciB0aGUgb3JnYW5pemF0aW9uIGZvciBhIGNlcnRhaW4gcHVycG9zZS4iIGNvbW1lbnQ9IldoZXJlIG11bHRpcGxlIGNvbnRhY3RzIGZvciB0aGUgc2FtZSBwdXJwb3NlIGFyZSBwcm92aWRlZCB0aGVyZSBpcyBhIHN0YW5kYXJkIGV4dGVuc2lvbiB0aGF0IGNhbiBiZSB1c2VkIHRvIGRldGVybWluZSB3aGljaCBvbmUgaXMgdGhlIHByZWZlcnJlZCBjb250YWN0IHRvIHVzZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9yZ2FuaXphdGlvbi5Db250YWN0Ii8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVuZHBvaW50IiBkZXNjcmlwdGlvbj0iVGVjaG5pY2FsIGVuZHBvaW50cyBwcm92aWRpbmcgYWNjZXNzIHRvIHNlcnZpY2VzIG9wZXJhdGVkIGZvciB0aGUgb3JnYW5pemF0aW9uIiBkZWZpbml0aW9uPSJUZWNobmljYWwgZW5kcG9pbnRzIHByb3ZpZGluZyBhY2Nlc3MgdG8gc2VydmljZXMgb3BlcmF0ZWQgZm9yIHRoZSBvcmdhbml6YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJPcmdhbml6YXRpb24uQ29udGFjdCIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHVycG9zZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGhlIHR5cGUgb2YgY29udGFjdCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGEgcHVycG9zZSBmb3Igd2hpY2ggdGhlIGNvbnRhY3QgY2FuIGJlIHJlYWNoZWQuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQ29udGFjdFBhcnR5VHlwZSIgZGVzY3JpcHRpb249IlRoZSBwdXJwb3NlIGZvciB3aGljaCB5b3Ugd291bGQgY29udGFjdCBhIGNvbnRhY3QgcGFydHkuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJuYW1lIiBlbGVtZW50VHlwZT0iUUlDb3JlLkh1bWFuTmFtZSIgZGVzY3JpcHRpb249IkEgbmFtZSBhc3NvY2lhdGVkIHdpdGggdGhlIGNvbnRhY3QiIGRlZmluaXRpb249IkEgbmFtZSBhc3NvY2lhdGVkIHdpdGggdGhlIGNvbnRhY3QuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idGVsZWNvbSIgZGVzY3JpcHRpb249IkNvbnRhY3QgZGV0YWlscyAodGVsZXBob25lLCBlbWFpbCwgZXRjLikgIGZvciBhIGNvbnRhY3QiIGRlZmluaXRpb249IkEgY29udGFjdCBkZXRhaWwgKGUuZy4gYSB0ZWxlcGhvbmUgbnVtYmVyIG9yIGFuIGVtYWlsIGFkZHJlc3MpIGJ5IHdoaWNoIHRoZSBwYXJ0eSBtYXkgYmUgY29udGFjdGVkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ29udGFjdFBvaW50Ii8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImFkZHJlc3MiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQWRkcmVzcyIgZGVzY3JpcHRpb249IlZpc2l0aW5nIG9yIHBvc3RhbCBhZGRyZXNzZXMgZm9yIHRoZSBjb250YWN0IiBkZWZpbml0aW9uPSJWaXNpdGluZyBvciBwb3N0YWwgYWRkcmVzc2VzIGZvciB0aGUgY29udGFjdC4iLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlBhcmFtZXRlckRlZmluaXRpb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9QYXJhbWV0ZXJEZWZpbml0aW9uIiBsYWJlbD0iUGFyYW1ldGVyRGVmaW5pdGlvbiIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5hbWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik5hbWUgdXNlZCB0byBhY2Nlc3MgdGhlIHBhcmFtZXRlciB2YWx1ZSIgZGVmaW5pdGlvbj0iVGhlIG5hbWUgb2YgdGhlIHBhcmFtZXRlciB1c2VkIHRvIGFsbG93IGFjY2VzcyB0byB0aGUgdmFsdWUgb2YgdGhlIHBhcmFtZXRlciBpbiBldmFsdWF0aW9uIGNvbnRleHRzLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InVzZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5QYXJhbWV0ZXJVc2UiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iaW4gfCBvdXQiIGRlZmluaXRpb249IldoZXRoZXIgdGhlIHBhcmFtZXRlciBpcyBpbnB1dCBvciBvdXRwdXQgZm9yIHRoZSBtb2R1bGUuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUGFyYW1ldGVyVXNlIiBkZXNjcmlwdGlvbj0iV2hldGhlciB0aGUgcGFyYW1ldGVyIGlzIGlucHV0IG9yIG91dHB1dC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtaW4iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJNaW5pbXVtIGNhcmRpbmFsaXR5IiBkZWZpbml0aW9uPSJUaGUgbWluaW11bSBudW1iZXIgb2YgdGltZXMgdGhpcyBwYXJhbWV0ZXIgU0hBTEwgYXBwZWFyIGluIHRoZSByZXF1ZXN0IG9yIHJlc3BvbnNlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1heCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTWF4aW11bSBjYXJkaW5hbGl0eSAoYSBudW1iZXIgb2YgKikiIGRlZmluaXRpb249IlRoZSBtYXhpbXVtIG51bWJlciBvZiB0aW1lcyB0aGlzIGVsZW1lbnQgaXMgcGVybWl0dGVkIHRvIGFwcGVhciBpbiB0aGUgcmVxdWVzdCBvciByZXNwb25zZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkb2N1bWVudGF0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBIGJyaWVmIGRlc2NyaXB0aW9uIG9mIHRoZSBwYXJhbWV0ZXIiIGRlZmluaXRpb249IkEgYnJpZWYgZGlzY3Vzc2lvbiBvZiB3aGF0IHRoZSBwYXJhbWV0ZXIgaXMgZm9yIGFuZCBob3cgaXQgaXMgdXNlZCBieSB0aGUgbW9kdWxlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRkhJUkFsbFR5cGVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoYXQgdHlwZSBvZiB2YWx1ZSIgZGVmaW5pdGlvbj0iVGhlIHR5cGUgb2YgdGhlIHBhcmFtZXRlci4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJGSElSQWxsVHlwZXMiIGRlc2NyaXB0aW9uPSJBIGxpc3Qgb2YgYWxsIHRoZSBjb25jcmV0ZSB0eXBlcyBkZWZpbmVkIGluIHRoaXMgdmVyc2lvbiBvZiB0aGUgRkhJUiBzcGVjaWZpY2F0aW9uIC0gQWJzdHJhY3QgVHlwZXMsIERhdGEgVHlwZXMgYW5kIFJlc291cmNlIFR5cGVzLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InByb2ZpbGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoYXQgcHJvZmlsZSB0aGUgdmFsdWUgaXMgZXhwZWN0ZWQgdG8gYmUiIGRlZmluaXRpb249IklmIHNwZWNpZmllZCwgdGhpcyBpbmRpY2F0ZXMgYSBwcm9maWxlIHRoYXQgdGhlIGlucHV0IGRhdGEgbXVzdCBjb25mb3JtIHRvLCBvciB0aGF0IHRoZSBvdXRwdXQgZGF0YSB3aWxsIGNvbmZvcm0gdG8uIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJQYXJhbWV0ZXJVc2UiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUGF0aWVudCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtcGF0aWVudCIgbGFiZWw9IlFJQ29yZSBQYXRpZW50IiByZXRyaWV2YWJsZT0idHJ1ZSIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmFjZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5VU0NvcmVSYWNlRXh0ZW5zaW9uIiB0YXJnZXQ9IiVwYXJlbnQuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vdXMtY29yZS1yYWNlJ10iIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFVTIENvcmUgUmFjZSBFeHRlbnNpb24iIGRlZmluaXRpb249IkNvbmNlcHRzIGNsYXNzaWZ5aW5nIHRoZSBwZXJzb24gaW50byBhIG5hbWVkIGNhdGVnb3J5IG9mIGh1bWFucyBzaGFyaW5nIGNvbW1vbiBoaXN0b3J5LCB0cmFpdHMsIGdlb2dyYXBoaWNhbCBvcmlnaW4gb3IgbmF0aW9uYWxpdHkuICBUaGUgcmFjZSBjb2RlcyB1c2VkIHRvIHJlcHJlc2VudCB0aGVzZSBjb25jZXB0cyBhcmUgYmFzZWQgdXBvbiB0aGUgW0NEQyBSYWNlIGFuZCBFdGhuaWNpdHkgQ29kZSBTZXQgVmVyc2lvbiAxLjBdKGh0dHA6Ly93d3cuY2RjLmdvdi9waGluL3Jlc291cmNlcy92b2NhYnVsYXJ5L2luZGV4Lmh0bWwpIHdoaWNoIGluY2x1ZGVzIG92ZXIgOTAwIGNvbmNlcHRzIGZvciByZXByZXNlbnRpbmcgcmFjZSBhbmQgZXRobmljaXR5IG9mIHdoaWNoIDkyMSByZWZlcmVuY2UgcmFjZS4gIFRoZSByYWNlIGNvbmNlcHRzIGFyZSBncm91cGVkIGJ5IGFuZCBwcmUtbWFwcGVkIHRvIHRoZSA1IE9NQiByYWNlIGNhdGVnb3JpZXM6JiMxMDsmIzEwOyAgIC0gQW1lcmljYW4gSW5kaWFuIG9yIEFsYXNrYSBOYXRpdmUmIzEwOyAgIC0gQXNpYW4mIzEwOyAgIC0gQmxhY2sgb3IgQWZyaWNhbiBBbWVyaWNhbiYjMTA7ICAgLSBOYXRpdmUgSGF3YWlpYW4gb3IgT3RoZXIgUGFjaWZpYyBJc2xhbmRlciYjMTA7ICAgLSBXaGl0ZS4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImV0aG5pY2l0eSIgZWxlbWVudFR5cGU9IlFJQ29yZS5VU0NvcmVFdGhuaWNpdHlFeHRlbnNpb24iIHRhcmdldD0iJXBhcmVudC5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLWV0aG5pY2l0eSddIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBVUyBDb3JlIGV0aG5pY2l0eSBFeHRlbnNpb24iIGRlZmluaXRpb249IkNvbmNlcHRzIGNsYXNzaWZ5aW5nIHRoZSBwZXJzb24gaW50byBhIG5hbWVkIGNhdGVnb3J5IG9mIGh1bWFucyBzaGFyaW5nIGNvbW1vbiBoaXN0b3J5LCB0cmFpdHMsIGdlb2dyYXBoaWNhbCBvcmlnaW4gb3IgbmF0aW9uYWxpdHkuICBUaGUgZXRobmljaXR5IGNvZGVzIHVzZWQgdG8gcmVwcmVzZW50IHRoZXNlIGNvbmNlcHRzIGFyZSBiYXNlZCB1cG9uIHRoZSBbQ0RDIGV0aG5pY2l0eSBhbmQgRXRobmljaXR5IENvZGUgU2V0IFZlcnNpb24gMS4wXShodHRwOi8vd3d3LmNkYy5nb3YvcGhpbi9yZXNvdXJjZXMvdm9jYWJ1bGFyeS9pbmRleC5odG1sKSB3aGljaCBpbmNsdWRlcyBvdmVyIDkwMCBjb25jZXB0cyBmb3IgcmVwcmVzZW50aW5nIHJhY2UgYW5kIGV0aG5pY2l0eSBvZiB3aGljaCA0MyByZWZlcmVuY2UgZXRobmljaXR5LiAgVGhlIGV0aG5pY2l0eSBjb25jZXB0cyBhcmUgZ3JvdXBlZCBieSBhbmQgcHJlLW1hcHBlZCB0byB0aGUgMiBPTUIgZXRobmljaXR5IGNhdGVnb3JpZXM6IC0gSGlzcGFuaWMgb3IgTGF0aW5vIC0gTm90IEhpc3BhbmljIG9yIExhdGluby4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InRyaWJhbEFmZmlsaWF0aW9uIiB0YXJnZXQ9IiVwYXJlbnQuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vdXMtY29yZS10cmliYWwtYWZmaWxpYXRpb24nXSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgVHJpYmFsIEFmZmlsaWF0aW9uIEV4dGVuc2lvbiIgZGVmaW5pdGlvbj0iQSB0cmliZSBvciBiYW5kIHdpdGggd2hpY2ggYSBwZXJzb24gYXNzb2NpYXRlcyB3aGV0aGVyIG9yIG5vdCB0aGV5IGFyZSBhbiBlbnJvbGxlZCBtZW1iZXIuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlVTQ29yZVRyaWJhbEFmZmlsaWF0aW9uRXh0ZW5zaW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJpcnRoc2V4IiBlbGVtZW50VHlwZT0iUUlDb3JlLlVTQ29yZUJpcnRoU2V4RXh0ZW5zaW9uIiB0YXJnZXQ9IiVwYXJlbnQuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vdXMtY29yZS1iaXJ0aHNleCddLnZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iQmlydGggU2V4IEV4dGVuc2lvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIGNsYXNzaWZ5aW5nIHRoZSBwZXJzb24ncyBzZXggYXNzaWduZWQgYXQgYmlydGggIGFzIHNwZWNpZmllZCBieSB0aGUgW09mZmljZSBvZiB0aGUgTmF0aW9uYWwgQ29vcmRpbmF0b3IgZm9yIEhlYWx0aCBJVCAoT05DKV0oaHR0cHM6Ly93d3cuaGVhbHRoaXQuZ292L25ld3Nyb29tL2Fib3V0LW9uYykuIiBjb21tZW50PSJUaGUgY29kZXMgcmVxdWlyZWQgYXJlIGludGVuZGVkIHRvIHByZXNlbnQgYmlydGggc2V4IChpLmUuLCB0aGUgc2V4IHJlY29yZGVkIG9uIHRoZSBwYXRpZW50J3MgYmlydGggY2VydGlmaWNhdGUpIGFuZCBub3QgZ2VuZGVyIGlkZW50aXR5IG9yIHJlYXNzaWduZWQgc2V4LiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic2V4IiBlbGVtZW50VHlwZT0iUUlDb3JlLlVTQ29yZVNleEV4dGVuc2lvbiIgdGFyZ2V0PSIlcGFyZW50LmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtc2V4J10udmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFNleCBFeHRlbnNpb24iIGRlZmluaXRpb249IlRoZSBVUyBDb3JlIFNleCBFeHRlbnNpb24gaXMgdXNlZCB0byByZWZsZWN0IHRoZSBkb2N1bWVudGF0aW9uIG9mIGEgcGVyc29uJ3Mgc2V4LiBJdCBhbGlnbnMgd2l0aCB0aGUgQy1DREEgU2V4IE9ic2VydmF0aW9uIChMT0lOQyA0NjA5OC0wKS4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImdlbmRlcklkZW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCglcGFyZW50LmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZ2VuZGVySWRlbnRpdHknXS52YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFRoZSBpbmRpdmlkdWFsJ3MgZ2VuZGVyIGlkZW50aXR5IiBkZWZpbml0aW9uPSJBbiBpbmRpdmlkdWFsJ3MgcGVyc29uYWwgc2Vuc2Ugb2YgYmVpbmcgYSBtYW4sIHdvbWFuLCBib3ksIGdpcmwsIG5vbmJpbmFyeSwgb3Igc29tZXRoaW5nIGVsc2UuIiBjb21tZW50PSJUaGlzIHJlcHJlc2VudHMgYW4gaW5kaXZpZHVhbCdzIGlkZW50aXR5LCBhc2NlcnRhaW5lZCBieSBhc2tpbmcgdGhlbSB3aGF0IHRoYXQgaWRlbnRpdHkgaXMuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlVTQ29yZUdlbmRlcklkZW50aXR5RXh0ZW5zaW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSIoVVNDREkpIEFuIGlkZW50aWZpZXIgZm9yIHRoaXMgcGF0aWVudCIgZGVmaW5pdGlvbj0iQW4gaWRlbnRpZmllciBmb3IgdGhpcyBwYXRpZW50LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWN0aXZlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hldGhlciB0aGlzIHBhdGllbnQncyByZWNvcmQgaXMgaW4gYWN0aXZlIHVzZSIgZGVmaW5pdGlvbj0iV2hldGhlciB0aGlzIHBhdGllbnQgcmVjb3JkIGlzIGluIGFjdGl2ZSB1c2UuICYjMTA7TWFueSBzeXN0ZW1zIHVzZSB0aGlzIHByb3BlcnR5IHRvIG1hcmsgYXMgbm9uLWN1cnJlbnQgcGF0aWVudHMsIHN1Y2ggYXMgdGhvc2UgdGhhdCBoYXZlIG5vdCBiZWVuIHNlZW4gZm9yIGEgcGVyaW9kIG9mIHRpbWUgYmFzZWQgb24gYW4gb3JnYW5pemF0aW9uJ3MgYnVzaW5lc3MgcnVsZXMuJiMxMDsmIzEwO0l0IGlzIG9mdGVuIHVzZWQgdG8gZmlsdGVyIHBhdGllbnQgbGlzdHMgdG8gZXhjbHVkZSBpbmFjdGl2ZSBwYXRpZW50cyYjMTA7JiMxMDtEZWNlYXNlZCBwYXRpZW50cyBtYXkgYWxzbyBiZSBtYXJrZWQgYXMgaW5hY3RpdmUgZm9yIHRoZSBzYW1lIHJlYXNvbnMsIGJ1dCBtYXkgYmUgYWN0aXZlIGZvciBzb21lIHRpbWUgYWZ0ZXIgZGVhdGguIiBjb21tZW50PSJJZiBhIHJlY29yZCBpcyBpbmFjdGl2ZSwgYW5kIGxpbmtlZCB0byBhbiBhY3RpdmUgcmVjb3JkLCB0aGVuIGZ1dHVyZSBwYXRpZW50L3JlY29yZCB1cGRhdGVzIHNob3VsZCBvY2N1ciBvbiB0aGUgb3RoZXIgcGF0aWVudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJuYW1lIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBBIG5hbWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYXRpZW50IiBkZWZpbml0aW9uPSJBIG5hbWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBpbmRpdmlkdWFsLiIgY29tbWVudD0iQSBwYXRpZW50IG1heSBoYXZlIG11bHRpcGxlIG5hbWVzIHdpdGggZGlmZmVyZW50IHVzZXMgb3IgYXBwbGljYWJsZSBwZXJpb2RzLiBGb3IgYW5pbWFscywgdGhlIG5hbWUgaXMgYSAmcXVvdDtIdW1hbk5hbWUmcXVvdDsgaW4gdGhlIHNlbnNlIHRoYXQgaXMgYXNzaWduZWQgYW5kIHVzZWQgYnkgaHVtYW5zIGFuZCBoYXMgdGhlIHNhbWUgcGF0dGVybnMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSHVtYW5OYW1lIi8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InVzLWNvcmUtNiIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJBdCBsZWFzdCBuYW1lLmdpdmVuIGFuZC9vciBuYW1lLmZhbWlseSBhcmUgcHJlc2VudCBvciwgaWYgbmVpdGhlciBpcyBhdmFpbGFibGUsIHRoZSBEYXRhIEFic2VudCBSZWFzb24gRXh0ZW5zaW9uIGlzIHByZXNlbnQuIj4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIoZmFtaWx5LmV4aXN0cygpIG9yIGdpdmVuLmV4aXN0cygpKSB4b3IgZXh0ZW5zaW9uLndoZXJlKHVybD0naHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL2RhdGEtYWJzZW50LXJlYXNvbicpLmV4aXN0cygpIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idGVsZWNvbSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgQSBjb250YWN0IGRldGFpbCBmb3IgdGhlIGluZGl2aWR1YWwiIGRlZmluaXRpb249IkEgY29udGFjdCBkZXRhaWwgKGUuZy4gYSB0ZWxlcGhvbmUgbnVtYmVyIG9yIGFuIGVtYWlsIGFkZHJlc3MpIGJ5IHdoaWNoIHRoZSBpbmRpdmlkdWFsIG1heSBiZSBjb250YWN0ZWQuIiBjb21tZW50PSJBIFBhdGllbnQgbWF5IGhhdmUgbXVsdGlwbGUgd2F5cyB0byBiZSBjb250YWN0ZWQgd2l0aCBkaWZmZXJlbnQgdXNlcyBvciBhcHBsaWNhYmxlIHBlcmlvZHMuICBNYXkgbmVlZCB0byBoYXZlIG9wdGlvbnMgZm9yIGNvbnRhY3RpbmcgdGhlIHBlcnNvbiB1cmdlbnRseSBhbmQgYWxzbyB0byBoZWxwIHdpdGggaWRlbnRpZmljYXRpb24uIFRoZSBhZGRyZXNzIG1pZ2h0IG5vdCBnbyBkaXJlY3RseSB0byB0aGUgaW5kaXZpZHVhbCwgYnV0IG1heSByZWFjaCBhbm90aGVyIHBhcnR5IHRoYXQgaXMgYWJsZSB0byBwcm94eSBmb3IgdGhlIHBhdGllbnQgKGkuZS4gaG9tZSBwaG9uZSwgb3IgcGV0IG93bmVyJ3MgcGhvbmUpLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5QYXRpZW50LlRlbGVjb20iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZ2VuZGVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoVVNDREkpIG1hbGUgfCBmZW1hbGUgfCBvdGhlciB8IHVua25vd24iIGRlZmluaXRpb249IkFkbWluaXN0cmF0aXZlIEdlbmRlciAtIHRoZSBnZW5kZXIgdGhhdCB0aGUgcGF0aWVudCBpcyBjb25zaWRlcmVkIHRvIGhhdmUgZm9yIGFkbWluaXN0cmF0aW9uIGFuZCByZWNvcmQga2VlcGluZyBwdXJwb3Nlcy4iIGNvbW1lbnQ9IlRoZSBnZW5kZXIgbWlnaHQgbm90IG1hdGNoIHRoZSBiaW9sb2dpY2FsIHNleCBhcyBkZXRlcm1pbmVkIGJ5IGdlbmV0aWNzIG9yIHRoZSBpbmRpdmlkdWFsJ3MgcHJlZmVycmVkIGlkZW50aWZpY2F0aW9uLiBOb3RlIHRoYXQgZm9yIGJvdGggaHVtYW5zIGFuZCBwYXJ0aWN1bGFybHkgYW5pbWFscywgdGhlcmUgYXJlIG90aGVyIGxlZ2l0aW1hdGUgcG9zc2liaWxpdGllcyB0aGFuIG1hbGUgYW5kIGZlbWFsZSwgdGhvdWdoIHRoZSB2YXN0IG1ham9yaXR5IG9mIHN5c3RlbXMgYW5kIGNvbnRleHRzIG9ubHkgc3VwcG9ydCBtYWxlIGFuZCBmZW1hbGUuICBTeXN0ZW1zIHByb3ZpZGluZyBkZWNpc2lvbiBzdXBwb3J0IG9yIGVuZm9yY2luZyBidXNpbmVzcyBydWxlcyBzaG91bGQgaWRlYWxseSBkbyB0aGlzIG9uIHRoZSBiYXNpcyBvZiBPYnNlcnZhdGlvbnMgZGVhbGluZyB3aXRoIHRoZSBzcGVjaWZpYyBzZXggb3IgZ2VuZGVyIGFzcGVjdCBvZiBpbnRlcmVzdCAoYW5hdG9taWNhbCwgY2hyb21vc29tYWwsIHNvY2lhbCwgZXRjLikgIEhvd2V2ZXIsIGJlY2F1c2UgdGhlc2Ugb2JzZXJ2YXRpb25zIGFyZSBpbmZyZXF1ZW50bHkgcmVjb3JkZWQsIGRlZmF1bHRpbmcgdG8gdGhlIGFkbWluaXN0cmF0aXZlIGdlbmRlciBpcyBjb21tb24gcHJhY3RpY2UuICBXaGVyZSBzdWNoIGRlZmF1bHRpbmcgb2NjdXJzLCBydWxlIGVuZm9yY2VtZW50IHNob3VsZCBhbGxvdyBmb3IgdGhlIHZhcmlhdGlvbiBiZXR3ZWVuIGFkbWluaXN0cmF0aXZlIGFuZCBiaW9sb2dpY2FsLCBjaHJvbW9zb21hbCBhbmQgb3RoZXIgZ2VuZGVyIGFzcGVjdHMuICBGb3IgZXhhbXBsZSwgYW4gYWxlcnQgYWJvdXQgYSBoeXN0ZXJlY3RvbXkgb24gYSBtYWxlIHNob3VsZCBiZSBoYW5kbGVkIGFzIGEgd2FybmluZyBvciBvdmVycmlkYWJsZSBlcnJvciwgbm90IGEgJnF1b3Q7aGFyZCZxdW90OyBlcnJvci4gIFNlZSB0aGUgUGF0aWVudCBHZW5kZXIgYW5kIFNleCBzZWN0aW9uIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IGNvbW11bmljYXRpbmcgcGF0aWVudCBnZW5kZXIgYW5kIHNleC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJpcnRoRGF0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgVGhlIGRhdGUgb2YgYmlydGggZm9yIHRoZSBpbmRpdmlkdWFsIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBvZiBiaXJ0aCBmb3IgdGhlIGluZGl2aWR1YWwuIiBjb21tZW50PSJBdCBsZWFzdCBhbiBlc3RpbWF0ZWQgeWVhciBzaG91bGQgYmUgcHJvdmlkZWQgYXMgYSBndWVzcyBpZiB0aGUgcmVhbCBET0IgaXMgdW5rbm93biAgVGhlcmUgaXMgYSBzdGFuZGFyZCBleHRlbnNpb24gJnF1b3Q7cGF0aWVudC1iaXJ0aFRpbWUmcXVvdDsgYXZhaWxhYmxlIHRoYXQgc2hvdWxkIGJlIHVzZWQgd2hlcmUgVGltZSBpcyByZXF1aXJlZCAoc3VjaCBhcyBpbiBtYXRlcm5pdHkvaW5mYW50IGNhcmUgc3lzdGVtcykuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRlY2Vhc2VkIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgSW5kaWNhdGVzIGlmIHRoZSBpbmRpdmlkdWFsIGlzIGRlY2Vhc2VkIG9yIG5vdCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGlmIHRoZSBpbmRpdmlkdWFsIGlzIGRlY2Vhc2VkIG9yIG5vdC4iIGNvbW1lbnQ9IlRoZSAmcXVvdDtDYXVzZSBvZiBkZWF0aCZxdW90OyBmb3IgYSBwYXRpZW50IGlzIHR5cGljYWxseSBjYXB0dXJlZCBhcyBhbiBPYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQm9vbGVhbiIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWRkcmVzcyIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgQW4gYWRkcmVzcyBmb3IgdGhlIGluZGl2aWR1YWwiIGRlZmluaXRpb249IkFuIGFkZHJlc3MgZm9yIHRoZSBpbmRpdmlkdWFsLiIgY29tbWVudD0iUGF0aWVudCBtYXkgaGF2ZSBtdWx0aXBsZSBhZGRyZXNzZXMgd2l0aCBkaWZmZXJlbnQgdXNlcyBvciBhcHBsaWNhYmxlIHBlcmlvZHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUGF0aWVudC5BZGRyZXNzIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1hcml0YWxTdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik1hcml0YWwgKGNpdmlsKSBzdGF0dXMgb2YgYSBwYXRpZW50IiBkZWZpbml0aW9uPSJUaGlzIGZpZWxkIGNvbnRhaW5zIGEgcGF0aWVudCdzIG1vc3QgcmVjZW50IG1hcml0YWwgKGNpdmlsKSBzdGF0dXMuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWFyaXRhbFN0YXR1cyIgZGVzY3JpcHRpb249IlRoZSBkb21lc3RpYyBwYXJ0bmVyc2hpcCBzdGF0dXMgb2YgYSBwZXJzb24uIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtdWx0aXBsZUJpcnRoIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoZXRoZXIgcGF0aWVudCBpcyBwYXJ0IG9mIGEgbXVsdGlwbGUgYmlydGgiIGRlZmluaXRpb249IkluZGljYXRlcyB3aGV0aGVyIHRoZSBwYXRpZW50IGlzIHBhcnQgb2YgYSBtdWx0aXBsZSAoYm9vbGVhbikgb3IgaW5kaWNhdGVzIHRoZSBhY3R1YWwgYmlydGggb3JkZXIgKGludGVnZXIpLiIgY29tbWVudD0iV2hlcmUgdGhlIHZhbHVlSW50ZWdlciBpcyBwcm92aWRlZCwgdGhlIG51bWJlciBpcyB0aGUgYmlydGggbnVtYmVyIGluIHRoZSBzZXF1ZW5jZS4gRS5nLiBUaGUgbWlkZGxlIGJpcnRoIGluIHRyaXBsZXRzIHdvdWxkIGJlIHZhbHVlSW50ZWdlcj0yIGFuZCB0aGUgdGhpcmQgYm9ybiB3b3VsZCBoYXZlIHZhbHVlSW50ZWdlcj0zIElmIGEgYm9vbGVhbiB2YWx1ZSB3YXMgcHJvdmlkZWQgZm9yIHRoaXMgdHJpcGxldHMgZXhhbXBsZSwgdGhlbiBhbGwgMyBwYXRpZW50IHJlY29yZHMgd291bGQgaGF2ZSB2YWx1ZUJvb2xlYW49dHJ1ZSAodGhlIG9yZGVyaW5nIGlzIG5vdCBpbmRpY2F0ZWQpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJCb29sZWFuIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJJbnRlZ2VyIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBob3RvIiBkZXNjcmlwdGlvbj0iSW1hZ2Ugb2YgdGhlIHBhdGllbnQiIGRlZmluaXRpb249IkltYWdlIG9mIHRoZSBwYXRpZW50LiIgY29tbWVudD0iR3VpZGVsaW5lczomIzEwOyogVXNlIGlkIHBob3Rvcywgbm90IGNsaW5pY2FsIHBob3Rvcy4mIzEwOyogTGltaXQgZGltZW5zaW9ucyB0byB0aHVtYm5haWwuJiMxMDsqIEtlZXAgYnl0ZSBjb3VudCBsb3cgdG8gZWFzZSByZXNvdXJjZSB1cGRhdGVzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQXR0YWNobWVudCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb250YWN0IiBkZXNjcmlwdGlvbj0iQSBjb250YWN0IHBhcnR5IChlLmcuIGd1YXJkaWFuLCBwYXJ0bmVyLCBmcmllbmQpIGZvciB0aGUgcGF0aWVudCIgZGVmaW5pdGlvbj0iQSBjb250YWN0IHBhcnR5IChlLmcuIGd1YXJkaWFuLCBwYXJ0bmVyLCBmcmllbmQpIGZvciB0aGUgcGF0aWVudC4iIGNvbW1lbnQ9IkNvbnRhY3QgY292ZXJzIGFsbCBraW5kcyBvZiBjb250YWN0IHBhcnRpZXM6IGZhbWlseSBtZW1iZXJzLCBidXNpbmVzcyBjb250YWN0cywgZ3VhcmRpYW5zLCBjYXJlZ2l2ZXJzLiBOb3QgYXBwbGljYWJsZSB0byByZWdpc3RlciBwZWRpZ3JlZSBhbmQgZmFtaWx5IHRpZXMgYmV5b25kIHVzZSBvZiBoYXZpbmcgY29udGFjdC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlBhdGllbnQuQ29udGFjdCIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJwYXQtMSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJTSEFMTCBhdCBsZWFzdCBjb250YWluIGEgY29udGFjdCdzIGRldGFpbHMgb3IgYSByZWZlcmVuY2UgdG8gYW4gb3JnYW5pemF0aW9uIj4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJuYW1lLmV4aXN0cygpIG9yIHRlbGVjb20uZXhpc3RzKCkgb3IgYWRkcmVzcy5leGlzdHMoKSBvciBvcmdhbml6YXRpb24uZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb21tdW5pY2F0aW9uIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBBIGxhbmd1YWdlIHdoaWNoIG1heSBiZSB1c2VkIHRvIGNvbW11bmljYXRlIHdpdGggdGhlIHBhdGllbnQgYWJvdXQgaGlzIG9yIGhlciBoZWFsdGgiIGRlZmluaXRpb249IkEgbGFuZ3VhZ2Ugd2hpY2ggbWF5IGJlIHVzZWQgdG8gY29tbXVuaWNhdGUgd2l0aCB0aGUgcGF0aWVudCBhYm91dCBoaXMgb3IgaGVyIGhlYWx0aC4iIGNvbW1lbnQ9IklmIG5vIGxhbmd1YWdlIGlzIHNwZWNpZmllZCwgdGhpcyAqaW1wbGllcyogdGhhdCB0aGUgZGVmYXVsdCBsb2NhbCBsYW5ndWFnZSBpcyBzcG9rZW4uICBJZiB5b3UgbmVlZCB0byBjb252ZXkgcHJvZmljaWVuY3kgZm9yIG11bHRpcGxlIG1vZGVzLCB0aGVuIHlvdSBuZWVkIG11bHRpcGxlIFBhdGllbnQuQ29tbXVuaWNhdGlvbiBhc3NvY2lhdGlvbnMuICAgRm9yIGFuaW1hbHMsIGxhbmd1YWdlIGlzIG5vdCBhIHJlbGV2YW50IGZpZWxkLCBhbmQgc2hvdWxkIGJlIGFic2VudCBmcm9tIHRoZSBpbnN0YW5jZS4gSWYgdGhlIFBhdGllbnQgZG9lcyBub3Qgc3BlYWsgdGhlIGRlZmF1bHQgbG9jYWwgbGFuZ3VhZ2UsIHRoZW4gdGhlIEludGVycHJldGVyIFJlcXVpcmVkIFN0YW5kYXJkIGNhbiBiZSB1c2VkIHRvIGV4cGxpY2l0bHkgZGVjbGFyZSB0aGF0IGFuIGludGVycHJldGVyIGlzIHJlcXVpcmVkLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5QYXRpZW50LkNvbW11bmljYXRpb24iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZ2VuZXJhbFByYWN0aXRpb25lciIgZGVzY3JpcHRpb249IlBhdGllbnQncyBub21pbmF0ZWQgcHJpbWFyeSBjYXJlIHByb3ZpZGVyIiBkZWZpbml0aW9uPSJQYXRpZW50J3Mgbm9taW5hdGVkIGNhcmUgcHJvdmlkZXIuIiBjb21tZW50PSJUaGlzIG1heSBiZSB0aGUgcHJpbWFyeSBjYXJlIHByb3ZpZGVyIChpbiBhIEdQIGNvbnRleHQpLCBvciBpdCBtYXkgYmUgYSBwYXRpZW50IG5vbWluYXRlZCBjYXJlIG1hbmFnZXIgaW4gYSBjb21tdW5pdHkvZGlzYWJpbGl0eSBzZXR0aW5nLCBvciBldmVuIG9yZ2FuaXphdGlvbiB0aGF0IHdpbGwgcHJvdmlkZSBwZW9wbGUgdG8gcGVyZm9ybSB0aGUgY2FyZSBwcm92aWRlciByb2xlcy4gIEl0IGlzIG5vdCB0byBiZSB1c2VkIHRvIHJlY29yZCBDYXJlIFRlYW1zLCB0aGVzZSBzaG91bGQgYmUgaW4gYSBDYXJlVGVhbSByZXNvdXJjZSB0aGF0IG1heSBiZSBsaW5rZWQgdG8gdGhlIENhcmVQbGFuIG9yIEVwaXNvZGVPZkNhcmUgcmVzb3VyY2VzLiYjMTA7TXVsdGlwbGUgR1BzIG1heSBiZSByZWNvcmRlZCBhZ2FpbnN0IHRoZSBwYXRpZW50IGZvciB2YXJpb3VzIHJlYXNvbnMsIHN1Y2ggYXMgYSBzdHVkZW50IHRoYXQgaGFzIGhpcyBob21lIEdQIGxpc3RlZCBhbG9uZyB3aXRoIHRoZSBHUCBhdCB1bml2ZXJzaXR5IGR1cmluZyB0aGUgc2Nob29sIHNlbWVzdGVycywgb3IgYSAmcXVvdDtmbHktaW4vZmx5LW91dCZxdW90OyB3b3JrZXIgdGhhdCBoYXMgdGhlIG9uc2l0ZSBHUCBhbHNvIGluY2x1ZGVkIHdpdGggaGlzIGhvbWUgR1AgdG8gcmVtYWluIGF3YXJlIG9mIG1lZGljYWwgaXNzdWVzLiYjMTA7JiMxMDtKdXJpc2RpY3Rpb25zIG1heSBkZWNpZGUgdGhhdCB0aGV5IGNhbiBwcm9maWxlIHRoaXMgZG93biB0byAxIGlmIGRlc2lyZWQsIG9yIDEgcGVyIHR5cGUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibWFuYWdpbmdPcmdhbml6YXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iT3JnYW5pemF0aW9uIHRoYXQgaXMgdGhlIGN1c3RvZGlhbiBvZiB0aGUgcGF0aWVudCByZWNvcmQiIGRlZmluaXRpb249Ik9yZ2FuaXphdGlvbiB0aGF0IGlzIHRoZSBjdXN0b2RpYW4gb2YgdGhlIHBhdGllbnQgcmVjb3JkLiIgY29tbWVudD0iVGhlcmUgaXMgb25seSBvbmUgbWFuYWdpbmcgb3JnYW5pemF0aW9uIGZvciBhIHNwZWNpZmljIHBhdGllbnQgcmVjb3JkLiBPdGhlciBvcmdhbml6YXRpb25zIHdpbGwgaGF2ZSB0aGVpciBvd24gUGF0aWVudCByZWNvcmQsIGFuZCBtYXkgdXNlIHRoZSBMaW5rIHByb3BlcnR5IHRvIGpvaW4gdGhlIHJlY29yZHMgdG9nZXRoZXIgKG9yIGEgUGVyc29uIHJlc291cmNlIHdoaWNoIGNhbiBpbmNsdWRlIGNvbmZpZGVuY2UgcmF0aW5ncyBmb3IgdGhlIGFzc29jaWF0aW9uKS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsaW5rIiBkZXNjcmlwdGlvbj0iTGluayB0byBhbm90aGVyIHBhdGllbnQgcmVzb3VyY2UgdGhhdCBjb25jZXJucyB0aGUgc2FtZSBhY3R1YWwgcGVyc29uIiBkZWZpbml0aW9uPSJMaW5rIHRvIGFub3RoZXIgcGF0aWVudCByZXNvdXJjZSB0aGF0IGNvbmNlcm5zIHRoZSBzYW1lIGFjdHVhbCBwYXRpZW50LiIgY29tbWVudD0iVGhlcmUgaXMgbm8gYXNzdW1wdGlvbiB0aGF0IGxpbmtlZCBwYXRpZW50IHJlY29yZHMgaGF2ZSBtdXR1YWwgbGlua3MuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlBhdGllbnQuTGluayIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJnZW5lcmFsUHJhY3RpdGlvbmVyIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9Im90aGVyIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUmVsYXRlZFBlcnNvbiIgcmVsYXRlZEtleUVsZW1lbnQ9Im90aGVyIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJQYXRpZW50LkFkZHJlc3MiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgICAgPGJhc2VUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBZGRyZXNzIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWRkcmVzcy1wcmVmZXJyZWQiIGVsZW1lbnRUeXBlPSJRSUNvcmUucHJlZmVycmVkIiB0YXJnZXQ9IiVwYXJlbnQuYWRkcmVzcy5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vaXNvMjEwOTAtcHJlZmVycmVkJ10udmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQcmVmZXJyZWQiIGRlZmluaXRpb249IkZsYWcgZGVub3Rpbmcgd2hldGhlciBwYXJlbnQgaXRlbSBpcyBwcmVmZXJyZWQgLSBlLmcuLCBhIHByZWZlcnJlZCBhZGRyZXNzIG9yIHRlbGVwaG9uZSBudW1iZXIuIiBjb21tZW50PSJNYWtlIGdlbmVyYWwgZXh0ZW5zaW9uLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJQYXRpZW50LkNvbW11bmljYXRpb24iIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9Imxhbmd1YWdlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFRoZSBsYW5ndWFnZSB3aGljaCBjYW4gYmUgdXNlZCB0byBjb21tdW5pY2F0ZSB3aXRoIHRoZSBwYXRpZW50IGFib3V0IGhpcyBvciBoZXIgaGVhbHRoIiBkZWZpbml0aW9uPSJUaGUgSVNPLTYzOS0xIGFscGhhIDIgY29kZSBpbiBsb3dlciBjYXNlIGZvciB0aGUgbGFuZ3VhZ2UsIG9wdGlvbmFsbHkgZm9sbG93ZWQgYnkgYSBoeXBoZW4gYW5kIHRoZSBJU08tMzE2Ni0xIGFscGhhIDIgY29kZSBmb3IgdGhlIHJlZ2lvbiBpbiB1cHBlciBjYXNlOyBlLmcuICZxdW90O2VuJnF1b3Q7IGZvciBFbmdsaXNoLCBvciAmcXVvdDtlbi1VUyZxdW90OyBmb3IgQW1lcmljYW4gRW5nbGlzaCB2ZXJzdXMgJnF1b3Q7ZW4tRU4mcXVvdDsgZm9yIEVuZ2xhbmQgRW5nbGlzaC4iIGNvbW1lbnQ9IlRoZSBzdHJ1Y3R1cmUgYWEtQkIgd2l0aCB0aGlzIGV4YWN0IGNhc2luZyBpcyBvbmUgdGhlIG1vc3Qgd2lkZWx5IHVzZWQgbm90YXRpb25zIGZvciBsb2NhbGUuIEhvd2V2ZXIgbm90IGFsbCBzeXN0ZW1zIGFjdHVhbGx5IGNvZGUgdGhpcyBidXQgaW5zdGVhZCBoYXZlIGl0IGFzIGZyZWUgdGV4dC4gSGVuY2UgQ29kZWFibGVDb25jZXB0IGluc3RlYWQgb2YgY29kZSBhcyB0aGUgZGF0YSB0eXBlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcmVmZXJyZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJMYW5ndWFnZSBwcmVmZXJlbmNlIGluZGljYXRvciIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHdoZXRoZXIgb3Igbm90IHRoZSBwYXRpZW50IHByZWZlcnMgdGhpcyBsYW5ndWFnZSAob3ZlciBvdGhlciBsYW5ndWFnZXMgaGUgbWFzdGVycyB1cCBhIGNlcnRhaW4gbGV2ZWwpLiIgY29tbWVudD0iVGhpcyBsYW5ndWFnZSBpcyBzcGVjaWZpY2FsbHkgaWRlbnRpZmllZCBmb3IgY29tbXVuaWNhdGluZyBoZWFsdGhjYXJlIGluZm9ybWF0aW9uLiIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUGF0aWVudC5Db250YWN0IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWxhdGlvbnNoaXAiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUga2luZCBvZiByZWxhdGlvbnNoaXAiIGRlZmluaXRpb249IlRoZSBuYXR1cmUgb2YgdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHRoZSBwYXRpZW50IGFuZCB0aGUgY29udGFjdCBwZXJzb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkNvbnRhY3RSZWxhdGlvbnNoaXAiIGRlc2NyaXB0aW9uPSJUaGUgbmF0dXJlIG9mIHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiBhIHBhdGllbnQgYW5kIGEgY29udGFjdCBwZXJzb24gZm9yIHRoYXQgcGF0aWVudC4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5hbWUiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSHVtYW5OYW1lIiBkZXNjcmlwdGlvbj0iQSBuYW1lIGFzc29jaWF0ZWQgd2l0aCB0aGUgY29udGFjdCBwZXJzb24iIGRlZmluaXRpb249IkEgbmFtZSBhc3NvY2lhdGVkIHdpdGggdGhlIGNvbnRhY3QgcGVyc29uLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InRlbGVjb20iIGRlc2NyaXB0aW9uPSJBIGNvbnRhY3QgZGV0YWlsIGZvciB0aGUgcGVyc29uIiBkZWZpbml0aW9uPSJBIGNvbnRhY3QgZGV0YWlsIGZvciB0aGUgcGVyc29uLCBlLmcuIGEgdGVsZXBob25lIG51bWJlciBvciBhbiBlbWFpbCBhZGRyZXNzLiIgY29tbWVudD0iQ29udGFjdCBtYXkgaGF2ZSBtdWx0aXBsZSB3YXlzIHRvIGJlIGNvbnRhY3RlZCB3aXRoIGRpZmZlcmVudCB1c2VzIG9yIGFwcGxpY2FibGUgcGVyaW9kcy4gIE1heSBuZWVkIHRvIGhhdmUgb3B0aW9ucyBmb3IgY29udGFjdGluZyB0aGUgcGVyc29uIHVyZ2VudGx5LCBhbmQgYWxzbyB0byBoZWxwIHdpdGggaWRlbnRpZmljYXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Db250YWN0UG9pbnQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWRkcmVzcyIgZWxlbWVudFR5cGU9IlFJQ29yZS5BZGRyZXNzIiBkZXNjcmlwdGlvbj0iQWRkcmVzcyBmb3IgdGhlIGNvbnRhY3QgcGVyc29uIiBkZWZpbml0aW9uPSJBZGRyZXNzIGZvciB0aGUgY29udGFjdCBwZXJzb24uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZ2VuZGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFkbWluaXN0cmF0aXZlR2VuZGVyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Im1hbGUgfCBmZW1hbGUgfCBvdGhlciB8IHVua25vd24iIGRlZmluaXRpb249IkFkbWluaXN0cmF0aXZlIEdlbmRlciAtIHRoZSBnZW5kZXIgdGhhdCB0aGUgY29udGFjdCBwZXJzb24gaXMgY29uc2lkZXJlZCB0byBoYXZlIGZvciBhZG1pbmlzdHJhdGlvbiBhbmQgcmVjb3JkIGtlZXBpbmcgcHVycG9zZXMuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQWRtaW5pc3RyYXRpdmVHZW5kZXIiIGRlc2NyaXB0aW9uPSJUaGUgZ2VuZGVyIG9mIGEgcGVyc29uIHVzZWQgZm9yIGFkbWluaXN0cmF0aXZlIHB1cnBvc2VzLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im9yZ2FuaXphdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJPcmdhbml6YXRpb24gdGhhdCBpcyBhc3NvY2lhdGVkIHdpdGggdGhlIGNvbnRhY3QiIGRlZmluaXRpb249Ik9yZ2FuaXphdGlvbiBvbiBiZWhhbGYgb2Ygd2hpY2ggdGhlIGNvbnRhY3QgaXMgYWN0aW5nIG9yIGZvciB3aGljaCB0aGUgY29udGFjdCBpcyB3b3JraW5nLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgcGVyaW9kIGR1cmluZyB3aGljaCB0aGlzIGNvbnRhY3QgcGVyc29uIG9yIG9yZ2FuaXphdGlvbiBpcyB2YWxpZCB0byBiZSBjb250YWN0ZWQgcmVsYXRpbmcgdG8gdGhpcyBwYXRpZW50IiBkZWZpbml0aW9uPSJUaGUgcGVyaW9kIGR1cmluZyB3aGljaCB0aGlzIGNvbnRhY3QgcGVyc29uIG9yIG9yZ2FuaXphdGlvbiBpcyB2YWxpZCB0byBiZSBjb250YWN0ZWQgcmVsYXRpbmcgdG8gdGhpcyBwYXRpZW50LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUGF0aWVudC5MaW5rIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJvdGhlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJUaGUgb3RoZXIgcGF0aWVudCBvciByZWxhdGVkIHBlcnNvbiByZXNvdXJjZSB0aGF0IHRoZSBsaW5rIHJlZmVycyB0byIgZGVmaW5pdGlvbj0iVGhlIG90aGVyIHBhdGllbnQgcmVzb3VyY2UgdGhhdCB0aGUgbGluayByZWZlcnMgdG8uIiBjb21tZW50PSJSZWZlcmVuY2luZyBhIFJlbGF0ZWRQZXJzb24gaGVyZSByZW1vdmVzIHRoZSBuZWVkIHRvIHVzZSBhIFBlcnNvbiByZWNvcmQgdG8gYXNzb2NpYXRlIGEgUGF0aWVudCBhbmQgUmVsYXRlZFBlcnNvbiBhcyB0aGUgc2FtZSBpbmRpdmlkdWFsLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5MaW5rVHlwZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyZXBsYWNlZC1ieSB8IHJlcGxhY2VzIHwgcmVmZXIgfCBzZWVhbHNvIiBkZWZpbml0aW9uPSJUaGUgdHlwZSBvZiBsaW5rIGJldHdlZW4gdGhpcyBwYXRpZW50IHJlc291cmNlIGFuZCBhbm90aGVyIHBhdGllbnQgcmVzb3VyY2UuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTGlua1R5cGUiIGRlc2NyaXB0aW9uPSJUaGUgdHlwZSBvZiBsaW5rIGJldHdlZW4gdGhpcyBwYXRpZW50IHJlc291cmNlIGFuZCBhbm90aGVyIHBhdGllbnQgcmVzb3VyY2UuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJQYXRpZW50LlRlbGVjb20iIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgICAgPGJhc2VUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb250YWN0UG9pbnQiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0ZWxlY29tLXByZWZlcnJlZCIgZWxlbWVudFR5cGU9IlFJQ29yZS5wcmVmZXJyZWQiIHRhcmdldD0iJXBhcmVudC50ZWxlY29tLmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9pc28yMTA5MC1wcmVmZXJyZWQnXS52YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlByZWZlcnJlZCIgZGVmaW5pdGlvbj0iRmxhZyBkZW5vdGluZyB3aGV0aGVyIHBhcmVudCBpdGVtIGlzIHByZWZlcnJlZCAtIGUuZy4sIGEgcHJlZmVycmVkIGFkZHJlc3Mgb3IgdGVsZXBob25lIG51bWJlci4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUHJhY3RpdGlvbmVyIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1wcmFjdGl0aW9uZXIiIGxhYmVsPSJRSUNvcmUgUHJhY3RpdGlvbmVyIiByZXRyaWV2YWJsZT0idHJ1ZSIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBBbiBpZGVudGlmaWVyIGZvciB0aGUgcGVyc29uIGFzIHRoaXMgYWdlbnQiIGRlZmluaXRpb249IkFuIGlkZW50aWZpZXIgdGhhdCBhcHBsaWVzIHRvIHRoaXMgcGVyc29uIGluIHRoaXMgcm9sZS4iIGNvbW1lbnQ9Ik5QSSBtdXN0IGJlIHN1cHBvcnRlZCBhcyB0aGUgaWRlbnRpZmllciBzeXN0ZW0gaW4gdGhlIFVTLCBUYXggaWQgaXMgYWxsb3dlZCwgTG9jYWwgaWQgaXMgYWxsb3dlZCBpbiBhZGRpdGlvbiB0byBhbm90aGVyIGlkZW50aWZpZXIgc3VwcGxpZWQgYnkgYSBqdXJpc2RpY3Rpb25hbCBhdXRob3JpdHkgc3VjaCBhcyBhIHByYWN0aXRpb25lcidzICpEcnVnIEVuZm9yY2VtZW50IEFkbWluaXN0cmF0aW9uIChERUEpKiBudW1iZXIuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJOUEkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgQW4gaWRlbnRpZmllciBmb3IgdGhlIHBlcnNvbiBhcyB0aGlzIGFnZW50IiBkZWZpbml0aW9uPSJBbiBpZGVudGlmaWVyIHRoYXQgYXBwbGllcyB0byB0aGlzIHBlcnNvbiBpbiB0aGlzIHJvbGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ1cy1jb3JlLTE2IiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik5QSSBtdXN0IGJlIDEwIGRpZ2l0cyI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0idmFsdWUubWF0Y2hlcygnXlswLTldezEwfSQnKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InVzLWNvcmUtMTciIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iTlBJIGNoZWNrIGRpZ2l0IG11c3QgYmUgdmFsaWQgKEx1aG4gYWxnb3JpdGhtIGNoZWNrKSI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iKCgoc2VsZWN0KHZhbHVlLnN1YnN0cmluZygwLDEpLnRvSW50ZWdlcigpKS5zZWxlY3QoaWlmKCR0aGlzJmx0OzUsICR0aGlzKjIsICgoJHRoaXMqMiktOSkpKSkrKHZhbHVlLnN1YnN0cmluZygxLDEpLnRvSW50ZWdlcigpKSsoc2VsZWN0KHZhbHVlLnN1YnN0cmluZygyLDEpLnRvSW50ZWdlcigpKS5zZWxlY3QoaWlmKCR0aGlzJmx0OzUsICR0aGlzKjIsICgoJHRoaXMqMiktOSkpKSkrKHZhbHVlLnN1YnN0cmluZygzLDEpLnRvSW50ZWdlcigpKSsoc2VsZWN0KHZhbHVlLnN1YnN0cmluZyg0LDEpLnRvSW50ZWdlcigpKS5zZWxlY3QoaWlmKCR0aGlzJmx0OzUsICR0aGlzKjIsICgoJHRoaXMqMiktOSkpKSkrKHZhbHVlLnN1YnN0cmluZyg1LDEpLnRvSW50ZWdlcigpKSsoc2VsZWN0KHZhbHVlLnN1YnN0cmluZyg2LDEpLnRvSW50ZWdlcigpKS5zZWxlY3QoaWlmKCR0aGlzJmx0OzUsICR0aGlzKjIsICgoJHRoaXMqMiktOSkpKSkrKHZhbHVlLnN1YnN0cmluZyg3LDEpLnRvSW50ZWdlcigpKSsoc2VsZWN0KHZhbHVlLnN1YnN0cmluZyg4LDEpLnRvSW50ZWdlcigpKS5zZWxlY3QoaWlmKCR0aGlzJmx0OzUsICR0aGlzKjIsICgoJHRoaXMqMiktOSkpKSkrKHZhbHVlLnN1YnN0cmluZyg5LDEpLnRvSW50ZWdlcigpKSArIDI0KW1vZCAxMD0wKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVpbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFRoZXJlIGlzIG5vdCBhIGdlbmVyYWwgVGF4IElkZW50aWZpZXIgTnVtZXIgKFRJTikgT0lELiBUaGVyZSBpcyBhbiBTU04sIGEgUFRJTiwgYW5kIGFuIElUSU4sIGJ1dCBubyBUSU4gZ2VuZXJhbGx5LiBTbyB0aGUgb25seSBzbGljZSBzcGVjaWZpZWQgaGVyZSBpcyBFSU4sIGlmIGNvbnN1bWVycyBkZXRlcm1pbmUgYSBuZWVkIGZvciBhbiBTU04sIHN1Ym1pdCBhIGNvbW1lbnQgdG8gdGhhdCBlZmZlY3QuIiBkZWZpbml0aW9uPSJBbiBpZGVudGlmaWVyIHRoYXQgYXBwbGllcyB0byB0aGlzIHBlcnNvbiBpbiB0aGlzIHJvbGUuIiBjb21tZW50PSJOUEkgbXVzdCBiZSBzdXBwb3J0ZWQgYXMgdGhlIGlkZW50aWZpZXIgc3lzdGVtIGluIHRoZSBVUywgVGF4IGlkIGlzIGFsbG93ZWQsIExvY2FsIGlkIGlzIGFsbG93ZWQgaW4gYWRkaXRpb24gdG8gYW5vdGhlciBpZGVudGlmaWVyIHN1cHBsaWVkIGJ5IGEganVyaXNkaWN0aW9uYWwgYXV0aG9yaXR5IHN1Y2ggYXMgYSBwcmFjdGl0aW9uZXIncyAqRHJ1ZyBFbmZvcmNlbWVudCBBZG1pbmlzdHJhdGlvbiAoREVBKSogbnVtYmVyLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhY3RpdmUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGV0aGVyIHRoaXMgcHJhY3RpdGlvbmVyJ3MgcmVjb3JkIGlzIGluIGFjdGl2ZSB1c2UiIGRlZmluaXRpb249IldoZXRoZXIgdGhpcyBwcmFjdGl0aW9uZXIncyByZWNvcmQgaXMgaW4gYWN0aXZlIHVzZS4iIGNvbW1lbnQ9IklmIHRoZSBwcmFjdGl0aW9uZXIgaXMgbm90IGluIHVzZSBieSBvbmUgb3JnYW5pemF0aW9uLCB0aGVuIGl0IHNob3VsZCBtYXJrIHRoZSBwZXJpb2Qgb24gdGhlIFByYWN0aXRvbmVyUm9sZSB3aXRoIGFuIGVuZCBkYXRlIChldmVuIGlmIHRoZXkgYXJlIGFjdGl2ZSkgYXMgdGhleSBtYXkgYmUgYWN0aXZlIGluIGFub3RoZXIgcm9sZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJuYW1lIiBkZXNjcmlwdGlvbj0iVGhlIG5hbWUocykgYXNzb2NpYXRlZCB3aXRoIHRoZSBwcmFjdGl0aW9uZXIiIGRlZmluaXRpb249IlRoZSBuYW1lKHMpIGFzc29jaWF0ZWQgd2l0aCB0aGUgcHJhY3RpdGlvbmVyLiIgY29tbWVudD0iVGhlIHNlbGVjdGlvbiBvZiB0aGUgdXNlIHByb3BlcnR5IHNob3VsZCBlbnN1cmUgdGhhdCB0aGVyZSBpcyBhIHNpbmdsZSB1c3VhbCBuYW1lIHNwZWNpZmllZCwgYW5kIG90aGVycyB1c2UgdGhlIG5pY2tuYW1lIChhbGlhcyksIG9sZCwgb3Igb3RoZXIgdmFsdWVzIGFzIGFwcHJvcHJpYXRlLiAgJiMxMzsmIzEzO0luIGdlbmVyYWwsIHNlbGVjdCB0aGUgdmFsdWUgdG8gYmUgdXNlZCBpbiB0aGUgUmVzb3VyY2VSZWZlcmVuY2UuZGlzcGxheSBiYXNlZCBvbiB0aGlzOiYjMTM7JiMxMzsxLiBUaGVyZSBpcyBtb3JlIHRoYW4gMSBuYW1lJiMxMzsyLiBVc2UgPSB1c3VhbCYjMTM7My4gUGVyaW9kIGlzIGN1cnJlbnQgdG8gdGhlIGRhdGUgb2YgdGhlIHVzYWdlJiMxMzs0LiBVc2UgPSBvZmZpY2lhbCYjMTM7NS4gT3RoZXIgb3JkZXIgYXMgZGVjaWRlZCBieSBpbnRlcm5hbCBidXNpbmVzcyBydWxlcy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5IdW1hbk5hbWUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idGVsZWNvbSIgZGVzY3JpcHRpb249IkEgY29udGFjdCBkZXRhaWwgZm9yIHRoZSBwcmFjdGl0aW9uZXIgKHRoYXQgYXBwbHkgdG8gYWxsIHJvbGVzKSIgZGVmaW5pdGlvbj0iQSBjb250YWN0IGRldGFpbCBmb3IgdGhlIHByYWN0aXRpb25lciwgZS5nLiBhIHRlbGVwaG9uZSBudW1iZXIgb3IgYW4gZW1haWwgYWRkcmVzcy4iIGNvbW1lbnQ9IlBlcnNvbiBtYXkgaGF2ZSBtdWx0aXBsZSB3YXlzIHRvIGJlIGNvbnRhY3RlZCB3aXRoIGRpZmZlcmVudCB1c2VzIG9yIGFwcGxpY2FibGUgcGVyaW9kcy4gIE1heSBuZWVkIHRvIGhhdmUgb3B0aW9ucyBmb3IgY29udGFjdGluZyB0aGUgcGVyc29uIHVyZ2VudGx5IGFuZCB0byBoZWxwIHdpdGggaWRlbnRpZmljYXRpb24uICBUaGVzZSB0eXBpY2FsbHkgd2lsbCBoYXZlIGhvbWUgbnVtYmVycywgb3IgbW9iaWxlIG51bWJlcnMgdGhhdCBhcmUgbm90IHJvbGUgc3BlY2lmaWMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQ29udGFjdFBvaW50Ii8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImFkZHJlc3MiIGRlc2NyaXB0aW9uPSJBZGRyZXNzKGVzKSBvZiB0aGUgcHJhY3RpdGlvbmVyIiBkZWZpbml0aW9uPSJBZGRyZXNzKGVzKSBvZiB0aGUgcHJhY3RpdGlvbmVyIiBjb21tZW50PSJUaGUgUHJhY3RpdGlvbmVyUm9sZSBkb2VzIG5vdCBoYXZlIGFuIGFkZHJlc3MgdmFsdWUgb24gaXQsIGFzIGl0IGlzIGV4cGVjdGVkIHRoYXQgdGhlIGxvY2F0aW9uIHByb3BlcnR5IGJlIHVzZWQgZm9yIHRoaXMgcHVycG9zZSAod2hpY2ggaGFzIGFuIGFkZHJlc3MpLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFkZHJlc3MiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZ2VuZGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFkbWluaXN0cmF0aXZlR2VuZGVyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Im1hbGUgfCBmZW1hbGUgfCBvdGhlciB8IHVua25vd24iIGRlZmluaXRpb249IkFkbWluaXN0cmF0aXZlIEdlbmRlciAtIHRoZSBnZW5kZXIgdGhhdCB0aGUgcGVyc29uIGlzIGNvbnNpZGVyZWQgdG8gaGF2ZSBmb3IgYWRtaW5pc3RyYXRpb24gYW5kIHJlY29yZCBrZWVwaW5nIHB1cnBvc2VzLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkFkbWluaXN0cmF0aXZlR2VuZGVyIiBkZXNjcmlwdGlvbj0iVGhlIGdlbmRlciBvZiBhIHBlcnNvbiB1c2VkIGZvciBhZG1pbmlzdHJhdGl2ZSBwdXJwb3Nlcy4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiaXJ0aERhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaGUgZGF0ZSAgb24gd2hpY2ggdGhlIHByYWN0aXRpb25lciB3YXMgYm9ybiIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgb2YgYmlydGggZm9yIHRoZSBwcmFjdGl0aW9uZXIuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGhvdG8iIGRlc2NyaXB0aW9uPSJJbWFnZSBvZiB0aGUgcGVyc29uIiBkZWZpbml0aW9uPSJJbWFnZSBvZiB0aGUgcGVyc29uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQXR0YWNobWVudCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJxdWFsaWZpY2F0aW9uIiBkZXNjcmlwdGlvbj0iQ2VydGlmaWNhdGlvbiwgbGljZW5zZXMsIG9yIHRyYWluaW5nIHBlcnRhaW5pbmcgdG8gdGhlIHByb3Zpc2lvbiBvZiBjYXJlIiBkZWZpbml0aW9uPSJUaGUgb2ZmaWNpYWwgY2VydGlmaWNhdGlvbnMsIHRyYWluaW5nLCBhbmQgbGljZW5zZXMgdGhhdCBhdXRob3JpemUgb3Igb3RoZXJ3aXNlIHBlcnRhaW4gdG8gdGhlIHByb3Zpc2lvbiBvZiBjYXJlIGJ5IHRoZSBwcmFjdGl0aW9uZXIuICBGb3IgZXhhbXBsZSwgYSBtZWRpY2FsIGxpY2Vuc2UgaXNzdWVkIGJ5IGEgbWVkaWNhbCBib2FyZCBhdXRob3JpemluZyB0aGUgcHJhY3RpdGlvbmVyIHRvIHByYWN0aWNlIG1lZGljaW5lIHdpdGhpbiBhIGNlcnRpYW4gbG9jYWxpdHkuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5QcmFjdGl0aW9uZXIuUXVhbGlmaWNhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb21tdW5pY2F0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQSBsYW5ndWFnZSB0aGUgcHJhY3RpdGlvbmVyIGNhbiB1c2UgaW4gcGF0aWVudCBjb21tdW5pY2F0aW9uIiBkZWZpbml0aW9uPSJBIGxhbmd1YWdlIHRoZSBwcmFjdGl0aW9uZXIgY2FuIHVzZSBpbiBwYXRpZW50IGNvbW11bmljYXRpb24uIiBjb21tZW50PSJUaGUgc3RydWN0dXJlIGFhLUJCIHdpdGggdGhpcyBleGFjdCBjYXNpbmcgaXMgb25lIHRoZSBtb3N0IHdpZGVseSB1c2VkIG5vdGF0aW9ucyBmb3IgbG9jYWxlLiBIb3dldmVyIG5vdCBhbGwgc3lzdGVtcyBjb2RlIHRoaXMgYnV0IGluc3RlYWQgaGF2ZSBpdCBhcyBmcmVlIHRleHQuIEhlbmNlIENvZGVhYmxlQ29uY2VwdCBpbnN0ZWFkIG9mIGNvZGUgYXMgdGhlIGRhdGEgdHlwZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTGFuZ3VhZ2UiIGRlc2NyaXB0aW9uPSJBIGh1bWFuIGxhbmd1YWdlLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlByYWN0aXRpb25lci5RdWFsaWZpY2F0aW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQW4gaWRlbnRpZmllciBmb3IgdGhpcyBxdWFsaWZpY2F0aW9uIGZvciB0aGUgcHJhY3RpdGlvbmVyIiBkZWZpbml0aW9uPSJBbiBpZGVudGlmaWVyIHRoYXQgYXBwbGllcyB0byB0aGlzIHBlcnNvbidzIHF1YWxpZmljYXRpb24gaW4gdGhpcyByb2xlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb2RlZCByZXByZXNlbnRhdGlvbiBvZiB0aGUgcXVhbGlmaWNhdGlvbiIgZGVmaW5pdGlvbj0iQ29kZWQgcmVwcmVzZW50YXRpb24gb2YgdGhlIHF1YWxpZmljYXRpb24uIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUXVhbGlmaWNhdGlvbiIgZGVzY3JpcHRpb249IlNwZWNpZmljIHF1YWxpZmljYXRpb24gdGhlIHByYWN0aXRpb25lciBoYXMgdG8gcHJvdmlkZSBhIHNlcnZpY2UuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJpb2QiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUGVyaW9kIGR1cmluZyB3aGljaCB0aGUgcXVhbGlmaWNhdGlvbiBpcyB2YWxpZCIgZGVmaW5pdGlvbj0iUGVyaW9kIGR1cmluZyB3aGljaCB0aGUgcXVhbGlmaWNhdGlvbiBpcyB2YWxpZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iT3JnYW5pemF0aW9uIHRoYXQgcmVndWxhdGVzIGFuZCBpc3N1ZXMgdGhlIHF1YWxpZmljYXRpb24iIGRlZmluaXRpb249Ik9yZ2FuaXphdGlvbiB0aGF0IHJlZ3VsYXRlcyBhbmQgaXNzdWVzIHRoZSBxdWFsaWZpY2F0aW9uLiIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUHJhY3RpdGlvbmVyUm9sZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtcHJhY3RpdGlvbmVycm9sZSIgbGFiZWw9IlFJQ29yZSBQcmFjdGl0aW9uZXJSb2xlIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIEJ1c2luZXNzIElkZW50aWZpZXJzIHRoYXQgYXJlIHNwZWNpZmljIHRvIGEgcm9sZS9sb2NhdGlvbiIgZGVmaW5pdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllcnMgdGhhdCBhcmUgc3BlY2lmaWMgdG8gYSByb2xlL2xvY2F0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhY3RpdmUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgV2hldGhlciB0aGlzIHByYWN0aXRpb25lciByb2xlIHJlY29yZCBpcyBpbiBhY3RpdmUgdXNlIiBkZWZpbml0aW9uPSJXaGV0aGVyIHRoaXMgcHJhY3RpdGlvbmVyIHJvbGUgcmVjb3JkIGlzIGluIGFjdGl2ZSB1c2UuIiBjb21tZW50PSJJZiB0aGlzIHZhbHVlIGlzIGZhbHNlLCB5b3UgbWF5IHJlZmVyIHRvIHRoZSBwZXJpb2QgdG8gc2VlIHdoZW4gdGhlIHJvbGUgd2FzIGluIGFjdGl2ZSB1c2UuIElmIHRoZXJlIGlzIG5vIHBlcmlvZCBzcGVjaWZpZWQsIG5vIGluZmVyZW5jZSBjYW4gYmUgbWFkZSBhYm91dCB3aGVuIGl0IHdhcyBhY3RpdmUuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyaW9kIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBUaGUgcGVyaW9kIGR1cmluZyB3aGljaCB0aGUgcHJhY3RpdGlvbmVyIGlzIGF1dGhvcml6ZWQgdG8gcGVyZm9ybSBpbiB0aGVzZSByb2xlKHMpIiBkZWZpbml0aW9uPSJUaGUgcGVyaW9kIGR1cmluZyB3aGljaCB0aGUgcGVyc29uIGlzIGF1dGhvcml6ZWQgdG8gYWN0IGFzIGEgcHJhY3RpdGlvbmVyIGluIHRoZXNlIHJvbGUocykgZm9yIHRoZSBvcmdhbml6YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJhY3RpdGlvbmVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBQcmFjdGl0aW9uZXIgdGhhdCBpcyBhYmxlIHRvIHByb3ZpZGUgdGhlIGRlZmluZWQgc2VydmljZXMgZm9yIHRoZSBvcmdhbml6YXRpb24iIGRlZmluaXRpb249IlByYWN0aXRpb25lciB0aGF0IGlzIGFibGUgdG8gcHJvdmlkZSB0aGUgZGVmaW5lZCBzZXJ2aWNlcyBmb3IgdGhlIG9yZ2FuaXphdGlvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ib3JnYW5pemF0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBPcmdhbml6YXRpb24gd2hlcmUgdGhlIHJvbGVzIGFyZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBvcmdhbml6YXRpb24gd2hlcmUgdGhlIFByYWN0aXRpb25lciBwZXJmb3JtcyB0aGUgcm9sZXMgYXNzb2NpYXRlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBSb2xlcyB3aGljaCB0aGlzIHByYWN0aXRpb25lciBtYXkgcGVyZm9ybSIgZGVmaW5pdGlvbj0iUm9sZXMgd2hpY2ggdGhpcyBwcmFjdGl0aW9uZXIgaXMgYXV0aG9yaXplZCB0byBwZXJmb3JtIGZvciB0aGUgb3JnYW5pemF0aW9uLiIgY29tbWVudD0iQSBwZXJzb24gbWF5IGhhdmUgbW9yZSB0aGFuIG9uZSByb2xlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkluZGljYXRlcyBzcGVjaWZpYyByZXNwb25zaWJpbGl0eSBvZiBhbiBpbmRpdmlkdWFsIHdpdGhpbiB0aGUgY2FyZSB0ZWFtLCBzdWNoIGFzIFByaW1hcnkgcGh5c2ljaWFuLCBUZWFtIGNvb3JkaW5hdG9yLCBDYXJlZ2l2ZXIsIGV0Yy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpYWx0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBTcGVjaWZpYyBzcGVjaWFsdHkgb2YgdGhlIHByYWN0aXRpb25lciIgZGVmaW5pdGlvbj0iU3BlY2lmaWMgc3BlY2lhbHR5IG9mIHRoZSBwcmFjdGl0aW9uZXIuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvbiIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBUaGUgbG9jYXRpb24ocykgYXQgd2hpY2ggdGhpcyBwcmFjdGl0aW9uZXIgcHJvdmlkZXMgY2FyZSIgZGVmaW5pdGlvbj0iVGhlIGxvY2F0aW9uKHMpIGF0IHdoaWNoIHRoaXMgcHJhY3RpdGlvbmVyIHByb3ZpZGVzIGNhcmUuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImhlYWx0aGNhcmVTZXJ2aWNlIiBkZXNjcmlwdGlvbj0iVGhlIGxpc3Qgb2YgaGVhbHRoY2FyZSBzZXJ2aWNlcyB0aGF0IHRoaXMgd29ya2VyIHByb3ZpZGVzIGZvciB0aGlzIHJvbGUncyBPcmdhbml6YXRpb24vTG9jYXRpb24ocykiIGRlZmluaXRpb249IlRoZSBsaXN0IG9mIGhlYWx0aGNhcmUgc2VydmljZXMgdGhhdCB0aGlzIHdvcmtlciBwcm92aWRlcyBmb3IgdGhpcyByb2xlJ3MgT3JnYW5pemF0aW9uL0xvY2F0aW9uKHMpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InRlbGVjb20iIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgQ29udGFjdCBkZXRhaWxzIHRoYXQgYXJlIHNwZWNpZmljIHRvIHRoZSByb2xlL2xvY2F0aW9uL3NlcnZpY2UiIGRlZmluaXRpb249IkNvbnRhY3QgZGV0YWlscyB0aGF0IGFyZSBzcGVjaWZpYyB0byB0aGUgcm9sZS9sb2NhdGlvbi9zZXJ2aWNlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbnRhY3RQb2ludCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhdmFpbGFibGVUaW1lIiBkZXNjcmlwdGlvbj0iVGltZXMgdGhlIFNlcnZpY2UgU2l0ZSBpcyBhdmFpbGFibGUiIGRlZmluaXRpb249IkEgY29sbGVjdGlvbiBvZiB0aW1lcyB0aGUgcHJhY3RpdGlvbmVyIGlzIGF2YWlsYWJsZSBvciBwZXJmb3JtaW5nIHRoaXMgcm9sZSBhdCB0aGUgbG9jYXRpb24gYW5kL29yIGhlYWx0aGNhcmVzZXJ2aWNlLiIgY29tbWVudD0iTW9yZSBkZXRhaWxlZCBhdmFpbGFiaWxpdHkgaW5mb3JtYXRpb24gbWF5IGJlIHByb3ZpZGVkIGluIGFzc29jaWF0ZWQgU2NoZWR1bGUvU2xvdCByZXNvdXJjZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5QcmFjdGl0aW9uZXJSb2xlLkF2YWlsYWJsZVRpbWUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90QXZhaWxhYmxlIiBkZXNjcmlwdGlvbj0iTm90IGF2YWlsYWJsZSBkdXJpbmcgdGhpcyB0aW1lIGR1ZSB0byBwcm92aWRlZCByZWFzb24iIGRlZmluaXRpb249IlRoZSBwcmFjdGl0aW9uZXIgaXMgbm90IGF2YWlsYWJsZSBvciBwZXJmb3JtaW5nIHRoaXMgcm9sZSBkdXJpbmcgdGhpcyBwZXJpb2Qgb2YgdGltZSBkdWUgdG8gdGhlIHByb3ZpZGVkIHJlYXNvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlByYWN0aXRpb25lclJvbGUuTm90QXZhaWxhYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImF2YWlsYWJpbGl0eUV4Y2VwdGlvbnMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRlc2NyaXB0aW9uIG9mIGF2YWlsYWJpbGl0eSBleGNlcHRpb25zIiBkZWZpbml0aW9uPSJBIGRlc2NyaXB0aW9uIG9mIHNpdGUgYXZhaWxhYmlsaXR5IGV4Y2VwdGlvbnMsIGUuZy4gcHVibGljIGhvbGlkYXkgYXZhaWxhYmlsaXR5LiBTdWNjaW5jdGx5IGRlc2NyaWJpbmcgYWxsIHBvc3NpYmxlIGV4Y2VwdGlvbnMgdG8gbm9ybWFsIHNpdGUgYXZhaWxhYmlsaXR5IGFzIGRldGFpbHMgaW4gdGhlIGF2YWlsYWJsZSBUaW1lcyBhbmQgbm90IGF2YWlsYWJsZSBUaW1lcy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmRwb2ludCIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBUZWNobmljYWwgZW5kcG9pbnRzIHByb3ZpZGluZyBhY2Nlc3MgdG8gc2VydmljZXMgb3BlcmF0ZWQgZm9yIHRoZSBwcmFjdGl0aW9uZXIgd2l0aCB0aGlzIHJvbGUiIGRlZmluaXRpb249IlRlY2huaWNhbCBlbmRwb2ludHMgcHJvdmlkaW5nIGFjY2VzcyB0byBzZXJ2aWNlcyBvcGVyYXRlZCBmb3IgdGhlIHByYWN0aXRpb25lciB3aXRoIHRoaXMgcm9sZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0icHJhY3RpdGlvbmVyIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJQcmFjdGl0aW9uZXJSb2xlLkF2YWlsYWJsZVRpbWUiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRheXNPZldlZWsiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0ibW9uIHwgdHVlIHwgd2VkIHwgdGh1IHwgZnJpIHwgc2F0IHwgc3VuIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgd2hpY2ggZGF5cyBvZiB0aGUgd2VlayBhcmUgYXZhaWxhYmxlIGJldHdlZW4gdGhlIHN0YXJ0IGFuZCBlbmQgVGltZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5EYXlzT2ZXZWVrIi8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkRheXNPZldlZWsiIGRlc2NyaXB0aW9uPSJUaGUgZGF5cyBvZiB0aGUgd2Vlay4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhbGxEYXkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJBbHdheXMgYXZhaWxhYmxlPyBlLmcuIDI0IGhvdXIgc2VydmljZSIgZGVmaW5pdGlvbj0iSXMgdGhpcyBhbHdheXMgYXZhaWxhYmxlPyAoaGVuY2UgdGltZXMgYXJlIGlycmVsZXZhbnQpIGUuZy4gMjQgaG91ciBzZXJ2aWNlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImF2YWlsYWJsZVN0YXJ0VGltZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5UaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik9wZW5pbmcgdGltZSBvZiBkYXkgKGlnbm9yZWQgaWYgYWxsRGF5ID0gdHJ1ZSkiIGRlZmluaXRpb249IlRoZSBvcGVuaW5nIHRpbWUgb2YgZGF5LiBOb3RlOiBJZiB0aGUgQWxsRGF5IGZsYWcgaXMgc2V0LCB0aGVuIHRoaXMgdGltZSBpcyBpZ25vcmVkLiIgY29tbWVudD0iVGhlIHRpbWV6b25lIGlzIGV4cGVjdGVkIHRvIGJlIGZvciB3aGVyZSB0aGlzIEhlYWx0aGNhcmVTZXJ2aWNlIGlzIHByb3ZpZGVkIGF0LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImF2YWlsYWJsZUVuZFRpbWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJDbG9zaW5nIHRpbWUgb2YgZGF5IChpZ25vcmVkIGlmIGFsbERheSA9IHRydWUpIiBkZWZpbml0aW9uPSJUaGUgY2xvc2luZyB0aW1lIG9mIGRheS4gTm90ZTogSWYgdGhlIEFsbERheSBmbGFnIGlzIHNldCwgdGhlbiB0aGlzIHRpbWUgaXMgaWdub3JlZC4iIGNvbW1lbnQ9IlRoZSB0aW1lem9uZSBpcyBleHBlY3RlZCB0byBiZSBmb3Igd2hlcmUgdGhpcyBIZWFsdGhjYXJlU2VydmljZSBpcyBwcm92aWRlZCBhdC4iLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlByYWN0aXRpb25lclJvbGUuTm90QXZhaWxhYmxlIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXNjcmlwdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUmVhc29uIHByZXNlbnRlZCB0byB0aGUgdXNlciBleHBsYWluaW5nIHdoeSB0aW1lIG5vdCBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSByZWFzb24gdGhhdCBjYW4gYmUgcHJlc2VudGVkIHRvIHRoZSB1c2VyIGFzIHRvIHdoeSB0aGlzIHRpbWUgaXMgbm90IGF2YWlsYWJsZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkdXJpbmciIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU2VydmljZSBub3QgYXZhaWxhYmxlIGZyb20gdGhpcyBkYXRlIiBkZWZpbml0aW9uPSJTZXJ2aWNlIGlzIG5vdCBhdmFpbGFibGUgKHNlYXNvbmFsbHkgb3IgZm9yIGEgcHVibGljIGhvbGlkYXkpIGZyb20gdGhpcyBkYXRlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUHJvY2VkdXJlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1wcm9jZWR1cmUiIGxhYmVsPSJRSUNvcmUgUHJvY2VkdXJlIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvcmRlZCIgZWxlbWVudFR5cGU9IlFJQ29yZS5Ob3REb25lUmVjb3JkZWQiIHRhcmdldD0iJXBhcmVudC5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1yZWNvcmRlZCddLnZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFdoZW4gdGhlIHByb2NlZHVyZSB3YXMgZmlyc3QgY2FwdHVyZWQgaW4gdGhlIHN1YmplY3QncyByZWNvcmQiIGRlZmluaXRpb249IlRoZSBkYXRlIHRoZSBvY2N1cnJlbmNlIG9mIHRoZSBwcm9jZWR1cmUgd2FzIGZpcnN0IGNhcHR1cmVkIGluIHRoZSByZWNvcmQgcmVnYXJkbGVzcyBvZiBQcm9jZWR1cmUuc3RhdHVzIChwb3RlbnRpYWxseSBhZnRlciB0aGUgb2NjdXJyZW5jZSBvZiB0aGUgZXZlbnQpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJFeHRlcm5hbCBJZGVudGlmaWVycyBmb3IgdGhpcyBwcm9jZWR1cmUiIGRlZmluaXRpb249IkJ1c2luZXNzIGlkZW50aWZpZXJzIGFzc2lnbmVkIHRvIHRoaXMgcHJvY2VkdXJlIGJ5IHRoZSBwZXJmb3JtZXIgb3Igb3RoZXIgc3lzdGVtcyB3aGljaCByZW1haW4gY29uc3RhbnQgYXMgdGhlIHJlc291cmNlIGlzIHVwZGF0ZWQgYW5kIGlzIHByb3BhZ2F0ZWQgZnJvbSBzZXJ2ZXIgdG8gc2VydmVyLiIgY29tbWVudD0iVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIgKHNlZSBbZGlzY3Vzc2lvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS5odG1sI2lkZW50aWZpZXJzKSkuICBJdCBpcyBiZXN0IHByYWN0aWNlIGZvciB0aGUgaWRlbnRpZmllciB0byBvbmx5IGFwcGVhciBvbiBhIHNpbmdsZSByZXNvdXJjZSBpbnN0YW5jZSwgaG93ZXZlciBidXNpbmVzcyBwcmFjdGljZXMgbWF5IG9jY2FzaW9uYWxseSBkaWN0YXRlIHRoYXQgbXVsdGlwbGUgcmVzb3VyY2UgaW5zdGFuY2VzIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllciBjYW4gZXhpc3QgLSBwb3NzaWJseSBldmVuIHdpdGggZGlmZmVyZW50IHJlc291cmNlIHR5cGVzLiAgRm9yIGV4YW1wbGUsIG11bHRpcGxlIFBhdGllbnQgYW5kIFBlcnNvbiByZXNvdXJjZSBpbnN0YW5jZXMgbWlnaHQgc2hhcmUgdGhlIHNhbWUgc29jaWFsIGluc3VyYW5jZSBudW1iZXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc0Nhbm9uaWNhbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgRkhJUiBwcm90b2NvbCBvciBkZWZpbml0aW9uIiBkZWZpbml0aW9uPSJUaGUgVVJMIHBvaW50aW5nIHRvIGEgRkhJUi1kZWZpbmVkIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyIHNldCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgUHJvY2VkdXJlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc1VyaSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgZXh0ZXJuYWwgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhbiBleHRlcm5hbGx5IG1haW50YWluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXIgc2V0IG9yIG90aGVyIGRlZmluaXRpb24gdGhhdCBpcyBhZGhlcmVkIHRvIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBQcm9jZWR1cmUuIiBjb21tZW50PSJUaGlzIG1pZ2h0IGJlIGFuIEhUTUwgcGFnZSwgUERGLCBldGMuIG9yIGNvdWxkIGp1c3QgYmUgYSBub24tcmVzb2x2YWJsZSBVUkkgaWRlbnRpZmllci4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBBIHJlcXVlc3QgZm9yIHRoaXMgcHJvY2VkdXJlIiBkZWZpbml0aW9uPSJBIHJlZmVyZW5jZSB0byBhIHJlc291cmNlIHRoYXQgY29udGFpbnMgZGV0YWlscyBvZiB0aGUgcmVxdWVzdCBmb3IgdGhpcyBwcm9jZWR1cmUuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBwcm9jZWR1cmUgaXMgYSBjb21wb25lbnQgb3Igc3RlcC4iIGNvbW1lbnQ9IlRoZSBNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24gcmVzb3VyY2UgaGFzIGEgcGFydE9mIHJlZmVyZW5jZSB0byBQcm9jZWR1cmUsIGJ1dCB0aGlzIGlzIG5vdCBhIGNpcmN1bGFyIHJlZmVyZW5jZS4gICBGb3IgZXhhbXBsZSwgdGhlIGFuZXN0aGVzaWEgTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIGlzIHBhcnQgb2YgdGhlIHN1cmdpY2FsIFByb2NlZHVyZSAoTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uLnBhcnRPZiA9IFByb2NlZHVyZSkuICBGb3IgZXhhbXBsZSwgdGhlIHByb2NlZHVyZSB0byBpbnNlcnQgdGhlIElWIHBvcnQgZm9yIGFuIElWIG1lZGljYXRpb24gYWRtaW5pc3RyYXRpb24gaXMgcGFydCBvZiB0aGUgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvbiAoUHJvY2VkdXJlLnBhcnRPZiA9IE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbikuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIHByZXBhcmF0aW9uIHwgaW4tcHJvZ3Jlc3MgfCDigItvbi1ob2xk4oCLIHwgc3RvcHBlZOKAiyB8IGNvbXBsZXRlZCB8IGVudGVyZWQtaW4tZXJyb3LigIsgfCB1bmtub3du4oCLIiBkZWZpbml0aW9uPSJBIGNvZGUgc3BlY2lmeWluZyB0aGUgc3RhdGUgb2YgdGhlIHByb2NlZHVyZS4gR2VuZXJhbGx5LCB0aGlzIHdpbGwgYmUgdGhlIGluLXByb2dyZXNzIG9yIGNvbXBsZXRlZCBzdGF0ZS4iIGNvbW1lbnQ9IlRoZSAmcXVvdDt1bmtub3duJnF1b3Q7IGNvZGUgaXMgbm90IHRvIGJlIHVzZWQgdG8gY29udmV5IG90aGVyIHN0YXR1c2VzLiAgVGhlICZxdW90O3Vua25vd24mcXVvdDsgY29kZSBzaG91bGQgYmUgdXNlZCB3aGVuIG9uZSBvZiB0aGUgc3RhdHVzZXMgYXBwbGllcywgYnV0IHRoZSBhdXRob3Jpbmcgc3lzdGVtIGRvZXNuJ3Qga25vdyB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgcHJvY2VkdXJlLiYjMTA7JiMxMDtUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXNSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlYXNvbiBmb3IgY3VycmVudCBzdGF0dXMiIGRlZmluaXRpb249IkNhcHR1cmVzIHRoZSByZWFzb24gZm9yIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBwcm9jZWR1cmUuIiBjb21tZW50PSJUaGlzIGlzIGdlbmVyYWxseSBvbmx5IHVzZWQgZm9yICZxdW90O2V4Y2VwdGlvbiZxdW90OyBzdGF0dXNlcyBzdWNoIGFzICZxdW90O25vdC1kb25lJnF1b3Q7LCAmcXVvdDtzdXNwZW5kZWQmcXVvdDsgb3IgJnF1b3Q7YWJvcnRlZCZxdW90Oy4gVGhlIHJlYXNvbiBmb3IgcGVyZm9ybWluZyB0aGUgZXZlbnQgYXQgYWxsIGlzIGNhcHR1cmVkIGluIHJlYXNvbkNvZGUsIG5vdCBoZXJlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlByb2NlZHVyZU5lZ2F0aW9uUmVhc29uIiBkZXNjcmlwdGlvbj0iQSBjb2RlIHRoYXQgaWRlbnRpZmllcyB0aGUgcmVhc29uIGEgcHJvY2VkdXJlIHdhcyBub3QgcGVyZm9ybWVkLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNsYXNzaWZpY2F0aW9uIG9mIHRoZSBwcm9jZWR1cmUiIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIHByb2NlZHVyZSBmb3Igc2VhcmNoaW5nLCBzb3J0aW5nIGFuZCBkaXNwbGF5IHB1cnBvc2VzIChlLmcuICZxdW90O1N1cmdpY2FsIFByb2NlZHVyZSZxdW90OykuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUHJvY2VkdXJlQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIGEgcHJvY2VkdXJlIGZvciBzZWFyY2hpbmcsIHNvcnRpbmcgYW5kIGRpc3BsYXkgcHVycG9zZXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIElkZW50aWZpY2F0aW9uIG9mIHRoZSBwcm9jZWR1cmUiIGRlZmluaXRpb249IlRoZSBzcGVjaWZpYyBwcm9jZWR1cmUgdGhhdCBpcyBwZXJmb3JtZWQuIFVzZSB0ZXh0IGlmIHRoZSBleGFjdCBuYXR1cmUgb2YgdGhlIHByb2NlZHVyZSBjYW5ub3QgYmUgY29kZWQgKGUuZy4gJnF1b3Q7TGFwYXJvc2NvcGljIEFwcGVuZGVjdG9teSZxdW90OykuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIHRoZSB0eXBlIG9mICBQcm9jZWR1cmUiIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBXaG8gdGhlIHByb2NlZHVyZSB3YXMgcGVyZm9ybWVkIG9uIiBkZWZpbml0aW9uPSJUaGUgcGVyc29uLCBhbmltYWwgb3IgZ3JvdXAgb24gd2hpY2ggdGhlIHByb2NlZHVyZSB3YXMgcGVyZm9ybWVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iRW5jb3VudGVyIGNyZWF0ZWQgYXMgcGFydCBvZiIgZGVmaW5pdGlvbj0iVGhlIEVuY291bnRlciBkdXJpbmcgd2hpY2ggdGhpcyBQcm9jZWR1cmUgd2FzIGNyZWF0ZWQgb3IgcGVyZm9ybWVkIG9yIHRvIHdoaWNoIHRoZSBjcmVhdGlvbiBvZiB0aGlzIHJlY29yZCBpcyB0aWdodGx5IGFzc29jaWF0ZWQuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgYWN0aXZpdGllcyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFdoZW4gdGhlIHByb2NlZHVyZSB3YXMgcGVyZm9ybWVkIiBkZWZpbml0aW9uPSJFc3RpbWF0ZWQgb3IgYWN0dWFsIGRhdGUsIGRhdGUtdGltZSwgcGVyaW9kLCBvciBhZ2Ugd2hlbiB0aGUgcHJvY2VkdXJlIHdhcyBwZXJmb3JtZWQuICBBbGxvd3MgYSBwZXJpb2QgdG8gc3VwcG9ydCBjb21wbGV4IHByb2NlZHVyZXMgdGhhdCBzcGFuIG1vcmUgdGhhbiBvbmUgZGF0ZSwgYW5kIGFsc28gYWxsb3dzIGZvciB0aGUgbGVuZ3RoIG9mIHRoZSBwcm9jZWR1cmUgdG8gYmUgY2FwdHVyZWQuIiBjb21tZW50PSJBZ2UgaXMgZ2VuZXJhbGx5IHVzZWQgd2hlbiB0aGUgcGF0aWVudCByZXBvcnRzIGFuIGFnZSBhdCB3aGljaCB0aGUgcHJvY2VkdXJlIHdhcyBwZXJmb3JtZWQuIFJhbmdlIGlzIGdlbmVyYWxseSB1c2VkIHdoZW4gdGhlIHBhdGllbnQgcmVwb3J0cyBhbiBhZ2UgcmFuZ2Ugd2hlbiB0aGUgcHJvY2VkdXJlIHdhcyBwZXJmb3JtZWQsIHN1Y2ggYXMgc29tZXRpbWUgYmV0d2VlbiAyMC0yNSB5ZWFycyBvbGQuICBkYXRlVGltZSBzdXBwb3J0cyBhIHJhbmdlIG9mIHByZWNpc2lvbiBkdWUgdG8gc29tZSBwcm9jZWR1cmVzIGJlaW5nIHJlcG9ydGVkIGFzIHBhc3QgcHJvY2VkdXJlcyB0aGF0IG1pZ2h0IG5vdCBoYXZlIG1pbGxpc2Vjb25kIHByZWNpc2lvbiB3aGlsZSBvdGhlciBwcm9jZWR1cmVzIHBlcmZvcm1lZCBhbmQgZG9jdW1lbnRlZCBkdXJpbmcgdGhlIGVuY291bnRlciBtaWdodCBoYXZlIG1vcmUgcHJlY2lzZSBVVEMgdGltZXN0YW1wcyB3aXRoIHRpbWV6b25lLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlY29yZGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyByZWNvcmRlZCB0aGUgcHJvY2VkdXJlIiBkZWZpbml0aW9uPSJJbmRpdmlkdWFsIHdobyByZWNvcmRlZCB0aGUgcmVjb3JkIGFuZCB0YWtlcyByZXNwb25zaWJpbGl0eSBmb3IgaXRzIGNvbnRlbnQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYXNzZXJ0ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iUGVyc29uIHdobyBhc3NlcnRzIHRoaXMgcHJvY2VkdXJlIiBkZWZpbml0aW9uPSJJbmRpdmlkdWFsIHdobyBpcyBtYWtpbmcgdGhlIHByb2NlZHVyZSBzdGF0ZW1lbnQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iVGhlIHBlb3BsZSB3aG8gcGVyZm9ybWVkIHRoZSBwcm9jZWR1cmUiIGRlZmluaXRpb249IkxpbWl0ZWQgdG8gJnF1b3Q7cmVhbCZxdW90OyBwZW9wbGUgcmF0aGVyIHRoYW4gZXF1aXBtZW50LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUHJvY2VkdXJlLlBlcmZvcm1lciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaGVyZSB0aGUgcHJvY2VkdXJlIGhhcHBlbmVkIiBkZWZpbml0aW9uPSJUaGUgbG9jYXRpb24gd2hlcmUgdGhlIHByb2NlZHVyZSBhY3R1YWxseSBoYXBwZW5lZC4gIEUuZy4gYSBuZXdib3JuIGF0IGhvbWUsIGEgdHJhY2hlb3N0b215IGF0IGEgcmVzdGF1cmFudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIENvZGVkIHJlYXNvbiBwcm9jZWR1cmUgcGVyZm9ybWVkIiBkZWZpbml0aW9uPSJUaGUgY29kZWQgcmVhc29uIHdoeSB0aGUgcHJvY2VkdXJlIHdhcyBwZXJmb3JtZWQuIFRoaXMgbWF5IGJlIGEgY29kZWQgZW50aXR5IG9mIHNvbWUgdHlwZSwgb3IgbWF5IHNpbXBseSBiZSBwcmVzZW50IGFzIHRleHQuIiBjb21tZW50PSJVc2UgUHJvY2VkdXJlLnJlYXNvbkNvZGUgd2hlbiBhIGNvZGUgc3VmZmljaWVudGx5IGRlc2NyaWJlcyB0aGUgcmVhc29uLiAgVXNlIFByb2NlZHVyZS5yZWFzb25SZWZlcmVuY2Ugd2hlbiByZWZlcmVuY2luZyBhIHJlc291cmNlLCB3aGljaCBhbGxvd3MgbW9yZSBpbmZvcm1hdGlvbiB0byBiZSBjb252ZXllZCwgc3VjaCBhcyBvbnNldCBkYXRlLiBQcm9jZWR1cmUucmVhc29uQ29kZSBhbmQgUHJvY2VkdXJlLnJlYXNvblJlZmVyZW5jZSBhcmUgbm90IG1lYW50IHRvIGJlIGR1cGxpY2F0aXZlLiAgRm9yIGEgc2luZ2xlIHJlYXNvbiwgZWl0aGVyIFByb2NlZHVyZS5yZWFzb25Db2RlIG9yIFByb2NlZHVyZS5yZWFzb25SZWZlcmVuY2UgY2FuIGJlIHVzZWQuICBQcm9jZWR1cmUucmVhc29uQ29kZSBtYXkgYmUgYSBzdW1tYXJ5IGNvZGUsIG9yIFByb2NlZHVyZS5yZWFzb25SZWZlcmVuY2UgbWF5IGJlIHVzZWQgdG8gcmVmZXJlbmNlIGEgdmVyeSBwcmVjaXNlIGRlZmluaXRpb24gb2YgdGhlIHJlYXNvbiB1c2luZyBDb25kaXRpb24gfCBPYnNlcnZhdGlvbiB8IFByb2NlZHVyZSB8IERpYWdub3N0aWNSZXBvcnQgfCBEb2N1bWVudFJlZmVyZW5jZS4gIEJvdGggUHJvY2VkdXJlLnJlYXNvbkNvZGUgYW5kIFByb2NlZHVyZS5yZWFzb25SZWZlcmVuY2UgY2FuIGJlIHVzZWQgaWYgdGhleSBhcmUgZGVzY3JpYmluZyBkaWZmZXJlbnQgcmVhc29ucyBmb3IgdGhlIHByb2NlZHVyZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkEgY29kZSB0aGF0IGlkZW50aWZpZXMgdGhlIHJlYXNvbiBhIHByb2NlZHVyZSBpcyByZXF1aXJlZC4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFRoZSBqdXN0aWZpY2F0aW9uIHRoYXQgdGhlIHByb2NlZHVyZSB3YXMgcGVyZm9ybWVkIiBkZWZpbml0aW9uPSJUaGUganVzdGlmaWNhdGlvbiBvZiB3aHkgdGhlIHByb2NlZHVyZSB3YXMgcGVyZm9ybWVkLiIgY29tbWVudD0iSXQgaXMgcG9zc2libGUgZm9yIGEgcHJvY2VkdXJlIHRvIGJlIGEgcmVhc29uIChzdWNoIGFzIEMtU2VjdGlvbikgZm9yIGFub3RoZXIgcHJvY2VkdXJlIChzdWNoIGFzIGFuIGVwaWR1cmFsKS4gT3RoZXIgZXhhbXBsZXMgaW5jbHVkZSBlbmRvc2NvcHkgZm9yIGRpbGF0YXRpb24gYW5kIGJpb3BzeSAoYSBjb21iaW5hdGlvbiBvZiBkaWFnbm9zdGljIGFuZCB0aGVyYXBldXRpYyB1c2UpLiAmIzEwO1VzZSBQcm9jZWR1cmUucmVhc29uQ29kZSB3aGVuIGEgY29kZSBzdWZmaWNpZW50bHkgZGVzY3JpYmVzIHRoZSByZWFzb24uICBVc2UgUHJvY2VkdXJlLnJlYXNvblJlZmVyZW5jZSB3aGVuIHJlZmVyZW5jaW5nIGEgcmVzb3VyY2UsIHdoaWNoIGFsbG93cyBtb3JlIGluZm9ybWF0aW9uIHRvIGJlIGNvbnZleWVkLCBzdWNoIGFzIG9uc2V0IGRhdGUuIFByb2NlZHVyZS5yZWFzb25Db2RlIGFuZCBQcm9jZWR1cmUucmVhc29uUmVmZXJlbmNlIGFyZSBub3QgbWVhbnQgdG8gYmUgZHVwbGljYXRpdmUuICBGb3IgYSBzaW5nbGUgcmVhc29uLCBlaXRoZXIgUHJvY2VkdXJlLnJlYXNvbkNvZGUgb3IgUHJvY2VkdXJlLnJlYXNvblJlZmVyZW5jZSBjYW4gYmUgdXNlZC4gIFByb2NlZHVyZS5yZWFzb25Db2RlIG1heSBiZSBhIHN1bW1hcnkgY29kZSwgb3IgUHJvY2VkdXJlLnJlYXNvblJlZmVyZW5jZSBtYXkgYmUgdXNlZCB0byByZWZlcmVuY2UgYSB2ZXJ5IHByZWNpc2UgZGVmaW5pdGlvbiBvZiB0aGUgcmVhc29uIHVzaW5nIENvbmRpdGlvbiB8IE9ic2VydmF0aW9uIHwgUHJvY2VkdXJlIHwgRGlhZ25vc3RpY1JlcG9ydCB8IERvY3VtZW50UmVmZXJlbmNlLiAgQm90aCBQcm9jZWR1cmUucmVhc29uQ29kZSBhbmQgUHJvY2VkdXJlLnJlYXNvblJlZmVyZW5jZSBjYW4gYmUgdXNlZCBpZiB0aGV5IGFyZSBkZXNjcmliaW5nIGRpZmZlcmVudCByZWFzb25zIGZvciB0aGUgcHJvY2VkdXJlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGFyZ2V0IGJvZHkgc2l0ZXMiIGRlZmluaXRpb249IkRldGFpbGVkIGFuZCBzdHJ1Y3R1cmVkIGFuYXRvbWljYWwgbG9jYXRpb24gaW5mb3JtYXRpb24uIE11bHRpcGxlIGxvY2F0aW9ucyBhcmUgYWxsb3dlZCAtIGUuZy4gbXVsdGlwbGUgcHVuY2ggYmlvcHNpZXMgb2YgYSBsZXNpb24uIiBjb21tZW50PSJJZiB0aGUgdXNlIGNhc2UgcmVxdWlyZXMgYXR0cmlidXRlcyBmcm9tIHRoZSBCb2R5U2l0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbcHJvY2VkdXJlLXRhcmdldGJvZHlzdHJ1Y3R1cmVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLXByb2NlZHVyZS10YXJnZXRib2R5c3RydWN0dXJlLmh0bWwpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJvdXRjb21lIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgcmVzdWx0IG9mIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iVGhlIG91dGNvbWUgb2YgdGhlIHByb2NlZHVyZSAtIGRpZCBpdCByZXNvbHZlIHRoZSByZWFzb25zIGZvciB0aGUgcHJvY2VkdXJlIGJlaW5nIHBlcmZvcm1lZD8iIGNvbW1lbnQ9IklmIG91dGNvbWUgY29udGFpbnMgbmFycmF0aXZlIHRleHQgb25seSwgaXQgY2FuIGJlIGNhcHR1cmVkIHVzaW5nIHRoZSBDb2RlYWJsZUNvbmNlcHQudGV4dC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJQcm9jZWR1cmVPdXRjb21lIiBkZXNjcmlwdGlvbj0iQW4gb3V0Y29tZSBvZiBhIHByb2NlZHVyZSAtIHdoZXRoZXIgaXQgd2FzIHJlc29sdmVkIG9yIG90aGVyd2lzZS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlcG9ydCIgZGVzY3JpcHRpb249IkFueSByZXBvcnQgcmVzdWx0aW5nIGZyb20gdGhlIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iVGhpcyBjb3VsZCBiZSBhIGhpc3RvbG9neSByZXN1bHQsIHBhdGhvbG9neSByZXBvcnQsIHN1cmdpY2FsIHJlcG9ydCwgZXRjLiIgY29tbWVudD0iVGhlcmUgY291bGQgcG90ZW50aWFsbHkgYmUgbXVsdGlwbGUgcmVwb3J0cyAtIGUuZy4gaWYgdGhpcyB3YXMgYSBwcm9jZWR1cmUgd2hpY2ggdG9vayBtdWx0aXBsZSBiaW9wc2llcyByZXN1bHRpbmcgaW4gYSBudW1iZXIgb2YgYW5hdG9taWNhbCBwYXRob2xvZ3kgcmVwb3J0cy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb21wbGljYXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb21wbGljYXRpb24gZm9sbG93aW5nIHRoZSBwcm9jZWR1cmUiIGRlZmluaXRpb249IkFueSBjb21wbGljYXRpb25zIHRoYXQgb2NjdXJyZWQgZHVyaW5nIHRoZSBwcm9jZWR1cmUsIG9yIGluIHRoZSBpbW1lZGlhdGUgcG9zdC1wZXJmb3JtYW5jZSBwZXJpb2QuIFRoZXNlIGFyZSBnZW5lcmFsbHkgdHJhY2tlZCBzZXBhcmF0ZWx5IGZyb20gdGhlIG5vdGVzLCB3aGljaCB3aWxsIHR5cGljYWxseSBkZXNjcmliZSB0aGUgcHJvY2VkdXJlIGl0c2VsZiByYXRoZXIgdGhhbiBhbnkgJ3Bvc3QgcHJvY2VkdXJlJyBpc3N1ZXMuIiBjb21tZW50PSJJZiBjb21wbGljYXRpb25zIGFyZSBvbmx5IGV4cHJlc3NlZCBieSB0aGUgbmFycmF0aXZlIHRleHQsIHRoZXkgY2FuIGJlIGNhcHR1cmVkIHVzaW5nIHRoZSBDb2RlYWJsZUNvbmNlcHQudGV4dC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUHJvY2VkdXJlQ29tcGxpY2F0aW9uIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBjb21wbGljYXRpb25zIHRoYXQgcmVzdWx0ZWQgZnJvbSBhIHByb2NlZHVyZS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbXBsaWNhdGlvbkRldGFpbCIgZGVzY3JpcHRpb249IkEgY29uZGl0aW9uIHRoYXQgaXMgYSByZXN1bHQgb2YgdGhlIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iQW55IGNvbXBsaWNhdGlvbnMgdGhhdCBvY2N1cnJlZCBkdXJpbmcgdGhlIHByb2NlZHVyZSwgb3IgaW4gdGhlIGltbWVkaWF0ZSBwb3N0LXBlcmZvcm1hbmNlIHBlcmlvZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmb2xsb3dVcCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ikluc3RydWN0aW9ucyBmb3IgZm9sbG93IHVwIiBkZWZpbml0aW9uPSJJZiB0aGUgcHJvY2VkdXJlIHJlcXVpcmVkIHNwZWNpZmljIGZvbGxvdyB1cCAtIGUuZy4gcmVtb3ZhbCBvZiBzdXR1cmVzLiBUaGUgZm9sbG93IHVwIG1heSBiZSByZXByZXNlbnRlZCBhcyBhIHNpbXBsZSBub3RlIG9yIGNvdWxkIHBvdGVudGlhbGx5IGJlIG1vcmUgY29tcGxleCwgaW4gd2hpY2ggY2FzZSB0aGUgQ2FyZVBsYW4gcmVzb3VyY2UgY2FuIGJlIHVzZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlByb2NlZHVyZUZvbGxvd1VwIiBkZXNjcmlwdGlvbj0iU3BlY2lmaWMgZm9sbG93IHVwIHJlcXVpcmVkIGZvciBhIHByb2NlZHVyZSBlLmcuIHJlbW92YWwgb2Ygc3V0dXJlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJBZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBwcm9jZWR1cmUiIGRlZmluaXRpb249IkFueSBvdGhlciBub3RlcyBhbmQgY29tbWVudHMgYWJvdXQgdGhlIHByb2NlZHVyZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jYWxEZXZpY2UiIGRlc2NyaXB0aW9uPSJNYW5pcHVsYXRlZCwgaW1wbGFudGVkLCBvciByZW1vdmVkIGRldmljZSIgZGVmaW5pdGlvbj0iQSBkZXZpY2UgdGhhdCBpcyBpbXBsYW50ZWQsIHJlbW92ZWQgb3Igb3RoZXJ3aXNlIG1hbmlwdWxhdGVkIChjYWxpYnJhdGlvbiwgYmF0dGVyeSByZXBsYWNlbWVudCwgZml0dGluZyBhIHByb3N0aGVzaXMsIGF0dGFjaGluZyBhIHdvdW5kLXZhYywgZXRjLikgYXMgYSBmb2NhbCBwb3J0aW9uIG9mIHRoZSBQcm9jZWR1cmUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Qcm9jZWR1cmUuRm9jYWxEZXZpY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idXNlZFJlZmVyZW5jZSIgZGVzY3JpcHRpb249Ikl0ZW1zIHVzZWQgZHVyaW5nIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyBtZWRpY2F0aW9ucywgZGV2aWNlcyBhbmQgYW55IG90aGVyIHN1YnN0YW5jZSB1c2VkIGFzIHBhcnQgb2YgdGhlIHByb2NlZHVyZS4iIGNvbW1lbnQ9IkZvciBkZXZpY2VzIGFjdHVhbGx5IGltcGxhbnRlZCBvciByZW1vdmVkLCB1c2UgUHJvY2VkdXJlLmRldmljZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1c2VkQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvZGVkIGl0ZW1zIHVzZWQgZHVyaW5nIHRoZSBwcm9jZWR1cmUiIGRlZmluaXRpb249IklkZW50aWZpZXMgY29kZWQgaXRlbXMgdGhhdCB3ZXJlIHVzZWQgYXMgcGFydCBvZiB0aGUgcHJvY2VkdXJlLiIgY29tbWVudD0iRm9yIGRldmljZXMgYWN0dWFsbHkgaW1wbGFudGVkIG9yIHJlbW92ZWQsIHVzZSBQcm9jZWR1cmUuZGV2aWNlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJQcm9jZWR1cmVVc2VkIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBpdGVtcyB1c2VkIGR1cmluZyBhIHByb2NlZHVyZS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlByYWN0aXRpb25lciIgcmVsYXRlZEtleUVsZW1lbnQ9ImFjdG9yIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InBhdGllbnQiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0iYWN0b3IiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJFbmNvdW50ZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJlbmNvdW50ZXIiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJSZWxhdGVkUGVyc29uIiByZWxhdGVkS2V5RWxlbWVudD0iYWN0b3IiLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlByb2NlZHVyZS5Gb2NhbERldmljZSIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWN0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJLaW5kIG9mIGNoYW5nZSB0byBkZXZpY2UiIGRlZmluaXRpb249IlRoZSBraW5kIG9mIGNoYW5nZSB0aGF0IGhhcHBlbmVkIHRvIHRoZSBkZXZpY2UgZHVyaW5nIHRoZSBwcm9jZWR1cmUuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRGV2aWNlQWN0aW9uS2luZCIgZGVzY3JpcHRpb249IkEga2luZCBvZiBjaGFuZ2UgdGhhdCBoYXBwZW5lZCB0byB0aGUgZGV2aWNlIGR1cmluZyB0aGUgcHJvY2VkdXJlLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtYW5pcHVsYXRlZCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJEZXZpY2UgdGhhdCB3YXMgY2hhbmdlZCIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB0aGF0IHdhcyBtYW5pcHVsYXRlZCAoY2hhbmdlZCkgZHVyaW5nIHRoZSBwcm9jZWR1cmUuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJQcm9jZWR1cmUuUGVyZm9ybWVyIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmdW5jdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVHlwZSBvZiBwZXJmb3JtYW5jZSIgZGVmaW5pdGlvbj0iRGlzdGluZ3Vpc2hlcyB0aGUgdHlwZSBvZiBpbnZvbHZlbWVudCBvZiB0aGUgcGVyZm9ybWVyIGluIHRoZSBwcm9jZWR1cmUuIEZvciBleGFtcGxlLCBzdXJnZW9uLCBhbmFlc3RoZXRpc3QsIGVuZG9zY29waXN0LiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlByb2NlZHVyZVBlcmZvcm1lclJvbGUiIGRlc2NyaXB0aW9uPSJBIGNvZGUgdGhhdCBpZGVudGlmaWVzIHRoZSByb2xlIG9mIGEgcGVyZm9ybWVyIG9mIHRoZSBwcm9jZWR1cmUuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhY3RvciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJUaGUgcmVmZXJlbmNlIHRvIHRoZSBwcmFjdGl0aW9uZXIiIGRlZmluaXRpb249IlRoZSBwcmFjdGl0aW9uZXIgd2hvIHdhcyBpbnZvbHZlZCBpbiB0aGUgcHJvY2VkdXJlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im9uQmVoYWxmT2YiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iT3JnYW5pemF0aW9uIHRoZSBkZXZpY2Ugb3IgcHJhY3RpdGlvbmVyIHdhcyBhY3RpbmcgZm9yIiBkZWZpbml0aW9uPSJUaGUgb3JnYW5pemF0aW9uIHRoZSBkZXZpY2Ugb3IgcHJhY3RpdGlvbmVyIHdhcyBhY3Rpbmcgb24gYmVoYWxmIG9mLiIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUHJvY2VkdXJlTm90RG9uZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtcHJvY2VkdXJlbm90ZG9uZSIgbGFiZWw9IlFJQ29yZSBQcm9jZWR1cmUgTm90IERvbmUiIHRhcmdldD0iUHJvY2VkdXJlIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvcmRlZCIgZWxlbWVudFR5cGU9IlFJQ29yZS5Ob3REb25lUmVjb3JkZWQiIHRhcmdldD0iJXBhcmVudC5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1yZWNvcmRlZCddLnZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFdoZW4gdGhlIHByb2NlZHVyZSB3YXMgZmlyc3QgY2FwdHVyZWQgaW4gdGhlIHN1YmplY3QncyByZWNvcmQiIGRlZmluaXRpb249IlRoZSBkYXRlIHRoZSBvY2N1cnJlbmNlIG9mIHRoZSBwcm9jZWR1cmUgd2FzIGZpcnN0IGNhcHR1cmVkIGluIHRoZSByZWNvcmQgcmVnYXJkbGVzcyBvZiBQcm9jZWR1cmUuc3RhdHVzIChwb3RlbnRpYWxseSBhZnRlciB0aGUgb2NjdXJyZW5jZSBvZiB0aGUgZXZlbnQpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJFeHRlcm5hbCBJZGVudGlmaWVycyBmb3IgdGhpcyBwcm9jZWR1cmUiIGRlZmluaXRpb249IkJ1c2luZXNzIGlkZW50aWZpZXJzIGFzc2lnbmVkIHRvIHRoaXMgcHJvY2VkdXJlIGJ5IHRoZSBwZXJmb3JtZXIgb3Igb3RoZXIgc3lzdGVtcyB3aGljaCByZW1haW4gY29uc3RhbnQgYXMgdGhlIHJlc291cmNlIGlzIHVwZGF0ZWQgYW5kIGlzIHByb3BhZ2F0ZWQgZnJvbSBzZXJ2ZXIgdG8gc2VydmVyLiIgY29tbWVudD0iVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIgKHNlZSBbZGlzY3Vzc2lvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS5odG1sI2lkZW50aWZpZXJzKSkuICBJdCBpcyBiZXN0IHByYWN0aWNlIGZvciB0aGUgaWRlbnRpZmllciB0byBvbmx5IGFwcGVhciBvbiBhIHNpbmdsZSByZXNvdXJjZSBpbnN0YW5jZSwgaG93ZXZlciBidXNpbmVzcyBwcmFjdGljZXMgbWF5IG9jY2FzaW9uYWxseSBkaWN0YXRlIHRoYXQgbXVsdGlwbGUgcmVzb3VyY2UgaW5zdGFuY2VzIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllciBjYW4gZXhpc3QgLSBwb3NzaWJseSBldmVuIHdpdGggZGlmZmVyZW50IHJlc291cmNlIHR5cGVzLiAgRm9yIGV4YW1wbGUsIG11bHRpcGxlIFBhdGllbnQgYW5kIFBlcnNvbiByZXNvdXJjZSBpbnN0YW5jZXMgbWlnaHQgc2hhcmUgdGhlIHNhbWUgc29jaWFsIGluc3VyYW5jZSBudW1iZXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc0Nhbm9uaWNhbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgRkhJUiBwcm90b2NvbCBvciBkZWZpbml0aW9uIiBkZWZpbml0aW9uPSJUaGUgVVJMIHBvaW50aW5nIHRvIGEgRkhJUi1kZWZpbmVkIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyIHNldCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgUHJvY2VkdXJlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc1VyaSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgZXh0ZXJuYWwgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhbiBleHRlcm5hbGx5IG1haW50YWluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXIgc2V0IG9yIG90aGVyIGRlZmluaXRpb24gdGhhdCBpcyBhZGhlcmVkIHRvIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBQcm9jZWR1cmUuIiBjb21tZW50PSJUaGlzIG1pZ2h0IGJlIGFuIEhUTUwgcGFnZSwgUERGLCBldGMuIG9yIGNvdWxkIGp1c3QgYmUgYSBub24tcmVzb2x2YWJsZSBVUkkgaWRlbnRpZmllci4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBBIHJlcXVlc3QgZm9yIHRoaXMgcHJvY2VkdXJlIiBkZWZpbml0aW9uPSJBIHJlZmVyZW5jZSB0byBhIHJlc291cmNlIHRoYXQgY29udGFpbnMgZGV0YWlscyBvZiB0aGUgcmVxdWVzdCBmb3IgdGhpcyBwcm9jZWR1cmUuIiBtdXN0U3VwcG9ydD0iZmFsc2UiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBwcm9jZWR1cmUgaXMgYSBjb21wb25lbnQgb3Igc3RlcC4iIGNvbW1lbnQ9IlRoZSBNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24gcmVzb3VyY2UgaGFzIGEgcGFydE9mIHJlZmVyZW5jZSB0byBQcm9jZWR1cmUsIGJ1dCB0aGlzIGlzIG5vdCBhIGNpcmN1bGFyIHJlZmVyZW5jZS4gICBGb3IgZXhhbXBsZSwgdGhlIGFuZXN0aGVzaWEgTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIGlzIHBhcnQgb2YgdGhlIHN1cmdpY2FsIFByb2NlZHVyZSAoTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uLnBhcnRPZiA9IFByb2NlZHVyZSkuICBGb3IgZXhhbXBsZSwgdGhlIHByb2NlZHVyZSB0byBpbnNlcnQgdGhlIElWIHBvcnQgZm9yIGFuIElWIG1lZGljYXRpb24gYWRtaW5pc3RyYXRpb24gaXMgcGFydCBvZiB0aGUgbWVkaWNhdGlvbiBhZG1pbmlzdHJhdGlvbiAoUHJvY2VkdXJlLnBhcnRPZiA9IE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbikuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIHByZXBhcmF0aW9uIHwgaW4tcHJvZ3Jlc3MgfCBub3QtZG9uZSB8IG9uLWhvbGQgfCBzdG9wcGVkIHwgY29tcGxldGVkIHwgZW50ZXJlZC1pbi1lcnJvciB8IHVua25vd24iIGRlZmluaXRpb249IkEgY29kZSBzcGVjaWZ5aW5nIHRoZSBzdGF0ZSBvZiB0aGUgcHJvY2VkdXJlLiBHZW5lcmFsbHksIHRoaXMgd2lsbCBiZSB0aGUgaW4tcHJvZ3Jlc3Mgb3IgY29tcGxldGVkIHN0YXRlLiIgY29tbWVudD0iVGhlICZxdW90O3Vua25vd24mcXVvdDsgY29kZSBpcyBub3QgdG8gYmUgdXNlZCB0byBjb252ZXkgb3RoZXIgc3RhdHVzZXMuICBUaGUgJnF1b3Q7dW5rbm93biZxdW90OyBjb2RlIHNob3VsZCBiZSB1c2VkIHdoZW4gb25lIG9mIHRoZSBzdGF0dXNlcyBhcHBsaWVzLCBidXQgdGhlIGF1dGhvcmluZyBzeXN0ZW0gZG9lc24ndCBrbm93IHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBwcm9jZWR1cmUuJiMxMDsmIzEwO1RoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1c1JlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFJlYXNvbiBmb3IgdGhlIGN1cnJlbnQgc3RhdHVzIiBkZWZpbml0aW9uPSJDYXB0dXJlcyB0aGUgcmVhc29uIGZvciB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgcHJvY2VkdXJlLiIgY29tbWVudD0iVGhpcyBpcyBnZW5lcmFsbHkgb25seSB1c2VkIGZvciAmcXVvdDtleGNlcHRpb24mcXVvdDsgc3RhdHVzZXMgc3VjaCBhcyAmcXVvdDtub3QtZG9uZSZxdW90OywgJnF1b3Q7c3VzcGVuZGVkJnF1b3Q7IG9yICZxdW90O2Fib3J0ZWQmcXVvdDsuIFRoZSByZWFzb24gZm9yIHBlcmZvcm1pbmcgdGhlIGV2ZW50IGF0IGFsbCBpcyBjYXB0dXJlZCBpbiByZWFzb25Db2RlLCBub3QgaGVyZS4iPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhlIHJlYXNvbiB0aGUgcHJvY2VkdXJlIHdhcyBub3QgZG9uZSIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNsYXNzaWZpY2F0aW9uIG9mIHRoZSBwcm9jZWR1cmUiIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIHByb2NlZHVyZSBmb3Igc2VhcmNoaW5nLCBzb3J0aW5nIGFuZCBkaXNwbGF5IHB1cnBvc2VzIChlLmcuICZxdW90O1N1cmdpY2FsIFByb2NlZHVyZSZxdW90OykuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUHJvY2VkdXJlQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIGEgcHJvY2VkdXJlIGZvciBzZWFyY2hpbmcsIHNvcnRpbmcgYW5kIGRpc3BsYXkgcHVycG9zZXMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiB0YXJnZXQ9IlN5c3RlbS5Db25jZXB0OkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpO1N5c3RlbS5WYWx1ZVNldDpGSElSSGVscGVycy5Ub1ZhbHVlU2V0KCVwYXJlbnQuY29kZS5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1ub3REb25lVmFsdWVTZXQnXS52YWx1ZS52YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIElkZW50aWZpY2F0aW9uIG9mIHRoZSBwcm9jZWR1cmUiIGRlZmluaXRpb249IlRoZSBzcGVjaWZpYyBwcm9jZWR1cmUgdGhhdCBpcyBwZXJmb3JtZWQuIFVzZSB0ZXh0IGlmIHRoZSBleGFjdCBuYXR1cmUgb2YgdGhlIHByb2NlZHVyZSBjYW5ub3QgYmUgY29kZWQgKGUuZy4gJnF1b3Q7TGFwYXJvc2NvcGljIEFwcGVuZGVjdG9teSZxdW90OykuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJWYWx1ZVNldCIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyB0aGUgdHlwZSBvZiAgUHJvY2VkdXJlIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgV2hvIHRoZSBwcm9jZWR1cmUgd2FzIHBlcmZvcm1lZCBvbiIgZGVmaW5pdGlvbj0iVGhlIHBlcnNvbiwgYW5pbWFsIG9yIGdyb3VwIG9uIHdoaWNoIHRoZSBwcm9jZWR1cmUgd2FzIHBlcmZvcm1lZC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkVuY291bnRlciBjcmVhdGVkIGFzIHBhcnQgb2YiIGRlZmluaXRpb249IlRoZSBFbmNvdW50ZXIgZHVyaW5nIHdoaWNoIHRoaXMgUHJvY2VkdXJlIHdhcyBjcmVhdGVkIG9yIHBlcmZvcm1lZCBvciB0byB3aGljaCB0aGUgY3JlYXRpb24gb2YgdGhpcyByZWNvcmQgaXMgdGlnaHRseSBhc3NvY2lhdGVkLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGFjdGl2aXRpZXMgbWF5IGJlIGluaXRpYXRlZCBwcmlvciB0byBvciBhZnRlciB0aGUgb2ZmaWNpYWwgY29tcGxldGlvbiBvZiBhbiBlbmNvdW50ZXIgYnV0IHN0aWxsIGJlIHRpZWQgdG8gdGhlIGNvbnRleHQgb2YgdGhlIGVuY291bnRlci4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZWQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBXaGVuIHRoZSBwcm9jZWR1cmUgd2FzIHBlcmZvcm1lZCIgZGVmaW5pdGlvbj0iRXN0aW1hdGVkIG9yIGFjdHVhbCBkYXRlLCBkYXRlLXRpbWUsIHBlcmlvZCwgb3IgYWdlIHdoZW4gdGhlIHByb2NlZHVyZSB3YXMgcGVyZm9ybWVkLiAgQWxsb3dzIGEgcGVyaW9kIHRvIHN1cHBvcnQgY29tcGxleCBwcm9jZWR1cmVzIHRoYXQgc3BhbiBtb3JlIHRoYW4gb25lIGRhdGUsIGFuZCBhbHNvIGFsbG93cyBmb3IgdGhlIGxlbmd0aCBvZiB0aGUgcHJvY2VkdXJlIHRvIGJlIGNhcHR1cmVkLiIgY29tbWVudD0iQWdlIGlzIGdlbmVyYWxseSB1c2VkIHdoZW4gdGhlIHBhdGllbnQgcmVwb3J0cyBhbiBhZ2UgYXQgd2hpY2ggdGhlIHByb2NlZHVyZSB3YXMgcGVyZm9ybWVkLiBSYW5nZSBpcyBnZW5lcmFsbHkgdXNlZCB3aGVuIHRoZSBwYXRpZW50IHJlcG9ydHMgYW4gYWdlIHJhbmdlIHdoZW4gdGhlIHByb2NlZHVyZSB3YXMgcGVyZm9ybWVkLCBzdWNoIGFzIHNvbWV0aW1lIGJldHdlZW4gMjAtMjUgeWVhcnMgb2xkLiAgZGF0ZVRpbWUgc3VwcG9ydHMgYSByYW5nZSBvZiBwcmVjaXNpb24gZHVlIHRvIHNvbWUgcHJvY2VkdXJlcyBiZWluZyByZXBvcnRlZCBhcyBwYXN0IHByb2NlZHVyZXMgdGhhdCBtaWdodCBub3QgaGF2ZSBtaWxsaXNlY29uZCBwcmVjaXNpb24gd2hpbGUgb3RoZXIgcHJvY2VkdXJlcyBwZXJmb3JtZWQgYW5kIGRvY3VtZW50ZWQgZHVyaW5nIHRoZSBlbmNvdW50ZXIgbWlnaHQgaGF2ZSBtb3JlIHByZWNpc2UgVVRDIHRpbWVzdGFtcHMgd2l0aCB0aW1lem9uZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWNvcmRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaG8gcmVjb3JkZWQgdGhlIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iSW5kaXZpZHVhbCB3aG8gcmVjb3JkZWQgdGhlIHJlY29yZCBhbmQgdGFrZXMgcmVzcG9uc2liaWxpdHkgZm9yIGl0cyBjb250ZW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImFzc2VydGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlBlcnNvbiB3aG8gYXNzZXJ0cyB0aGlzIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iSW5kaXZpZHVhbCB3aG8gaXMgbWFraW5nIHRoZSBwcm9jZWR1cmUgc3RhdGVtZW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IlRoZSBwZW9wbGUgd2hvIHBlcmZvcm1lZCB0aGUgcHJvY2VkdXJlIiBkZWZpbml0aW9uPSJMaW1pdGVkIHRvICZxdW90O3JlYWwmcXVvdDsgcGVvcGxlIHJhdGhlciB0aGFuIGVxdWlwbWVudC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlByb2NlZHVyZS5QZXJmb3JtZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibG9jYXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hlcmUgdGhlIHByb2NlZHVyZSBoYXBwZW5lZCIgZGVmaW5pdGlvbj0iVGhlIGxvY2F0aW9uIHdoZXJlIHRoZSBwcm9jZWR1cmUgYWN0dWFsbHkgaGFwcGVuZWQuICBFLmcuIGEgbmV3Ym9ybiBhdCBob21lLCBhIHRyYWNoZW9zdG9teSBhdCBhIHJlc3RhdXJhbnQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvZGVkIHJlYXNvbiBwcm9jZWR1cmUgcGVyZm9ybWVkIiBkZWZpbml0aW9uPSJUaGUgY29kZWQgcmVhc29uIHdoeSB0aGUgcHJvY2VkdXJlIHdhcyBwZXJmb3JtZWQuIFRoaXMgbWF5IGJlIGEgY29kZWQgZW50aXR5IG9mIHNvbWUgdHlwZSwgb3IgbWF5IHNpbXBseSBiZSBwcmVzZW50IGFzIHRleHQuIiBjb21tZW50PSJVc2UgUHJvY2VkdXJlLnJlYXNvbkNvZGUgd2hlbiBhIGNvZGUgc3VmZmljaWVudGx5IGRlc2NyaWJlcyB0aGUgcmVhc29uLiAgVXNlIFByb2NlZHVyZS5yZWFzb25SZWZlcmVuY2Ugd2hlbiByZWZlcmVuY2luZyBhIHJlc291cmNlLCB3aGljaCBhbGxvd3MgbW9yZSBpbmZvcm1hdGlvbiB0byBiZSBjb252ZXllZCwgc3VjaCBhcyBvbnNldCBkYXRlLiBQcm9jZWR1cmUucmVhc29uQ29kZSBhbmQgUHJvY2VkdXJlLnJlYXNvblJlZmVyZW5jZSBhcmUgbm90IG1lYW50IHRvIGJlIGR1cGxpY2F0aXZlLiAgRm9yIGEgc2luZ2xlIHJlYXNvbiwgZWl0aGVyIFByb2NlZHVyZS5yZWFzb25Db2RlIG9yIFByb2NlZHVyZS5yZWFzb25SZWZlcmVuY2UgY2FuIGJlIHVzZWQuICBQcm9jZWR1cmUucmVhc29uQ29kZSBtYXkgYmUgYSBzdW1tYXJ5IGNvZGUsIG9yIFByb2NlZHVyZS5yZWFzb25SZWZlcmVuY2UgbWF5IGJlIHVzZWQgdG8gcmVmZXJlbmNlIGEgdmVyeSBwcmVjaXNlIGRlZmluaXRpb24gb2YgdGhlIHJlYXNvbiB1c2luZyBDb25kaXRpb24gfCBPYnNlcnZhdGlvbiB8IFByb2NlZHVyZSB8IERpYWdub3N0aWNSZXBvcnQgfCBEb2N1bWVudFJlZmVyZW5jZS4gIEJvdGggUHJvY2VkdXJlLnJlYXNvbkNvZGUgYW5kIFByb2NlZHVyZS5yZWFzb25SZWZlcmVuY2UgY2FuIGJlIHVzZWQgaWYgdGhleSBhcmUgZGVzY3JpYmluZyBkaWZmZXJlbnQgcmVhc29ucyBmb3IgdGhlIHByb2NlZHVyZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUHJvY2VkdXJlUmVhc29uIiBkZXNjcmlwdGlvbj0iQSBjb2RlIHRoYXQgaWRlbnRpZmllcyB0aGUgcmVhc29uIGEgcHJvY2VkdXJlIGlzICByZXF1aXJlZC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvblJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlRoZSBqdXN0aWZpY2F0aW9uIHRoYXQgdGhlIHByb2NlZHVyZSB3YXMgcGVyZm9ybWVkIiBkZWZpbml0aW9uPSJUaGUganVzdGlmaWNhdGlvbiBvZiB3aHkgdGhlIHByb2NlZHVyZSB3YXMgcGVyZm9ybWVkLiIgY29tbWVudD0iSXQgaXMgcG9zc2libGUgZm9yIGEgcHJvY2VkdXJlIHRvIGJlIGEgcmVhc29uIChzdWNoIGFzIEMtU2VjdGlvbikgZm9yIGFub3RoZXIgcHJvY2VkdXJlIChzdWNoIGFzIGFuIGVwaWR1cmFsKS4gT3RoZXIgZXhhbXBsZXMgaW5jbHVkZSBlbmRvc2NvcHkgZm9yIGRpbGF0YXRpb24gYW5kIGJpb3BzeSAoYSBjb21iaW5hdGlvbiBvZiBkaWFnbm9zdGljIGFuZCB0aGVyYXBldXRpYyB1c2UpLiAmIzEwO1VzZSBQcm9jZWR1cmUucmVhc29uQ29kZSB3aGVuIGEgY29kZSBzdWZmaWNpZW50bHkgZGVzY3JpYmVzIHRoZSByZWFzb24uICBVc2UgUHJvY2VkdXJlLnJlYXNvblJlZmVyZW5jZSB3aGVuIHJlZmVyZW5jaW5nIGEgcmVzb3VyY2UsIHdoaWNoIGFsbG93cyBtb3JlIGluZm9ybWF0aW9uIHRvIGJlIGNvbnZleWVkLCBzdWNoIGFzIG9uc2V0IGRhdGUuIFByb2NlZHVyZS5yZWFzb25Db2RlIGFuZCBQcm9jZWR1cmUucmVhc29uUmVmZXJlbmNlIGFyZSBub3QgbWVhbnQgdG8gYmUgZHVwbGljYXRpdmUuICBGb3IgYSBzaW5nbGUgcmVhc29uLCBlaXRoZXIgUHJvY2VkdXJlLnJlYXNvbkNvZGUgb3IgUHJvY2VkdXJlLnJlYXNvblJlZmVyZW5jZSBjYW4gYmUgdXNlZC4gIFByb2NlZHVyZS5yZWFzb25Db2RlIG1heSBiZSBhIHN1bW1hcnkgY29kZSwgb3IgUHJvY2VkdXJlLnJlYXNvblJlZmVyZW5jZSBtYXkgYmUgdXNlZCB0byByZWZlcmVuY2UgYSB2ZXJ5IHByZWNpc2UgZGVmaW5pdGlvbiBvZiB0aGUgcmVhc29uIHVzaW5nIENvbmRpdGlvbiB8IE9ic2VydmF0aW9uIHwgUHJvY2VkdXJlIHwgRGlhZ25vc3RpY1JlcG9ydCB8IERvY3VtZW50UmVmZXJlbmNlLiAgQm90aCBQcm9jZWR1cmUucmVhc29uQ29kZSBhbmQgUHJvY2VkdXJlLnJlYXNvblJlZmVyZW5jZSBjYW4gYmUgdXNlZCBpZiB0aGV5IGFyZSBkZXNjcmliaW5nIGRpZmZlcmVudCByZWFzb25zIGZvciB0aGUgcHJvY2VkdXJlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGFyZ2V0IGJvZHkgc2l0ZXMiIGRlZmluaXRpb249IkRldGFpbGVkIGFuZCBzdHJ1Y3R1cmVkIGFuYXRvbWljYWwgbG9jYXRpb24gaW5mb3JtYXRpb24uIE11bHRpcGxlIGxvY2F0aW9ucyBhcmUgYWxsb3dlZCAtIGUuZy4gbXVsdGlwbGUgcHVuY2ggYmlvcHNpZXMgb2YgYSBsZXNpb24uIiBjb21tZW50PSJJZiB0aGUgdXNlIGNhc2UgcmVxdWlyZXMgYXR0cmlidXRlcyBmcm9tIHRoZSBCb2R5U2l0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbcHJvY2VkdXJlLXRhcmdldGJvZHlzdHJ1Y3R1cmVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLXByb2NlZHVyZS10YXJnZXRib2R5c3RydWN0dXJlLmh0bWwpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJvdXRjb21lIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgcmVzdWx0IG9mIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iVGhlIG91dGNvbWUgb2YgdGhlIHByb2NlZHVyZSAtIGRpZCBpdCByZXNvbHZlIHRoZSByZWFzb25zIGZvciB0aGUgcHJvY2VkdXJlIGJlaW5nIHBlcmZvcm1lZD8iIGNvbW1lbnQ9IklmIG91dGNvbWUgY29udGFpbnMgbmFycmF0aXZlIHRleHQgb25seSwgaXQgY2FuIGJlIGNhcHR1cmVkIHVzaW5nIHRoZSBDb2RlYWJsZUNvbmNlcHQudGV4dC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJQcm9jZWR1cmVPdXRjb21lIiBkZXNjcmlwdGlvbj0iQW4gb3V0Y29tZSBvZiBhIHByb2NlZHVyZSAtIHdoZXRoZXIgaXQgd2FzIHJlc29sdmVkIG9yIG90aGVyd2lzZS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlcG9ydCIgZGVzY3JpcHRpb249IkFueSByZXBvcnQgcmVzdWx0aW5nIGZyb20gdGhlIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iVGhpcyBjb3VsZCBiZSBhIGhpc3RvbG9neSByZXN1bHQsIHBhdGhvbG9neSByZXBvcnQsIHN1cmdpY2FsIHJlcG9ydCwgZXRjLiIgY29tbWVudD0iVGhlcmUgY291bGQgcG90ZW50aWFsbHkgYmUgbXVsdGlwbGUgcmVwb3J0cyAtIGUuZy4gaWYgdGhpcyB3YXMgYSBwcm9jZWR1cmUgd2hpY2ggdG9vayBtdWx0aXBsZSBiaW9wc2llcyByZXN1bHRpbmcgaW4gYSBudW1iZXIgb2YgYW5hdG9taWNhbCBwYXRob2xvZ3kgcmVwb3J0cy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb21wbGljYXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb21wbGljYXRpb24gZm9sbG93aW5nIHRoZSBwcm9jZWR1cmUiIGRlZmluaXRpb249IkFueSBjb21wbGljYXRpb25zIHRoYXQgb2NjdXJyZWQgZHVyaW5nIHRoZSBwcm9jZWR1cmUsIG9yIGluIHRoZSBpbW1lZGlhdGUgcG9zdC1wZXJmb3JtYW5jZSBwZXJpb2QuIFRoZXNlIGFyZSBnZW5lcmFsbHkgdHJhY2tlZCBzZXBhcmF0ZWx5IGZyb20gdGhlIG5vdGVzLCB3aGljaCB3aWxsIHR5cGljYWxseSBkZXNjcmliZSB0aGUgcHJvY2VkdXJlIGl0c2VsZiByYXRoZXIgdGhhbiBhbnkgJ3Bvc3QgcHJvY2VkdXJlJyBpc3N1ZXMuIiBjb21tZW50PSJJZiBjb21wbGljYXRpb25zIGFyZSBvbmx5IGV4cHJlc3NlZCBieSB0aGUgbmFycmF0aXZlIHRleHQsIHRoZXkgY2FuIGJlIGNhcHR1cmVkIHVzaW5nIHRoZSBDb2RlYWJsZUNvbmNlcHQudGV4dC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUHJvY2VkdXJlQ29tcGxpY2F0aW9uIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBjb21wbGljYXRpb25zIHRoYXQgcmVzdWx0ZWQgZnJvbSBhIHByb2NlZHVyZS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbXBsaWNhdGlvbkRldGFpbCIgZGVzY3JpcHRpb249IkEgY29uZGl0aW9uIHRoYXQgaXMgYSByZXN1bHQgb2YgdGhlIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iQW55IGNvbXBsaWNhdGlvbnMgdGhhdCBvY2N1cnJlZCBkdXJpbmcgdGhlIHByb2NlZHVyZSwgb3IgaW4gdGhlIGltbWVkaWF0ZSBwb3N0LXBlcmZvcm1hbmNlIHBlcmlvZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmb2xsb3dVcCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ikluc3RydWN0aW9ucyBmb3IgZm9sbG93IHVwIiBkZWZpbml0aW9uPSJJZiB0aGUgcHJvY2VkdXJlIHJlcXVpcmVkIHNwZWNpZmljIGZvbGxvdyB1cCAtIGUuZy4gcmVtb3ZhbCBvZiBzdXR1cmVzLiBUaGUgZm9sbG93IHVwIG1heSBiZSByZXByZXNlbnRlZCBhcyBhIHNpbXBsZSBub3RlIG9yIGNvdWxkIHBvdGVudGlhbGx5IGJlIG1vcmUgY29tcGxleCwgaW4gd2hpY2ggY2FzZSB0aGUgQ2FyZVBsYW4gcmVzb3VyY2UgY2FuIGJlIHVzZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlByb2NlZHVyZUZvbGxvd1VwIiBkZXNjcmlwdGlvbj0iU3BlY2lmaWMgZm9sbG93IHVwIHJlcXVpcmVkIGZvciBhIHByb2NlZHVyZSBlLmcuIHJlbW92YWwgb2Ygc3V0dXJlcy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJBZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBwcm9jZWR1cmUiIGRlZmluaXRpb249IkFueSBvdGhlciBub3RlcyBhbmQgY29tbWVudHMgYWJvdXQgdGhlIHByb2NlZHVyZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jYWxEZXZpY2UiIGRlc2NyaXB0aW9uPSJNYW5pcHVsYXRlZCwgaW1wbGFudGVkLCBvciByZW1vdmVkIGRldmljZSIgZGVmaW5pdGlvbj0iQSBkZXZpY2UgdGhhdCBpcyBpbXBsYW50ZWQsIHJlbW92ZWQgb3Igb3RoZXJ3aXNlIG1hbmlwdWxhdGVkIChjYWxpYnJhdGlvbiwgYmF0dGVyeSByZXBsYWNlbWVudCwgZml0dGluZyBhIHByb3N0aGVzaXMsIGF0dGFjaGluZyBhIHdvdW5kLXZhYywgZXRjLikgYXMgYSBmb2NhbCBwb3J0aW9uIG9mIHRoZSBQcm9jZWR1cmUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Qcm9jZWR1cmUuRm9jYWxEZXZpY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idXNlZFJlZmVyZW5jZSIgZGVzY3JpcHRpb249Ikl0ZW1zIHVzZWQgZHVyaW5nIHByb2NlZHVyZSIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyBtZWRpY2F0aW9ucywgZGV2aWNlcyBhbmQgYW55IG90aGVyIHN1YnN0YW5jZSB1c2VkIGFzIHBhcnQgb2YgdGhlIHByb2NlZHVyZS4iIGNvbW1lbnQ9IkZvciBkZXZpY2VzIGFjdHVhbGx5IGltcGxhbnRlZCBvciByZW1vdmVkLCB1c2UgUHJvY2VkdXJlLmRldmljZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1c2VkQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvZGVkIGl0ZW1zIHVzZWQgZHVyaW5nIHRoZSBwcm9jZWR1cmUiIGRlZmluaXRpb249IklkZW50aWZpZXMgY29kZWQgaXRlbXMgdGhhdCB3ZXJlIHVzZWQgYXMgcGFydCBvZiB0aGUgcHJvY2VkdXJlLiIgY29tbWVudD0iRm9yIGRldmljZXMgYWN0dWFsbHkgaW1wbGFudGVkIG9yIHJlbW92ZWQsIHVzZSBQcm9jZWR1cmUuZGV2aWNlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJQcm9jZWR1cmVVc2VkIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBpdGVtcyB1c2VkIGR1cmluZyBhIHByb2NlZHVyZS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUHVibGljYXRpb25TdGF0dXMiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUXVhbnRpdHlDb21wYXJhdG9yIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlF1ZXN0aW9ubmFpcmUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9RdWVzdGlvbm5haXJlIiBsYWJlbD0iUXVlc3Rpb25uYWlyZSIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0ibmFtZSIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idXJsIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJDYW5vbmljYWwgaWRlbnRpZmllciBmb3IgdGhpcyBxdWVzdGlvbm5haXJlLCByZXByZXNlbnRlZCBhcyBhIFVSSSAoZ2xvYmFsbHkgdW5pcXVlKSIgZGVmaW5pdGlvbj0iQW4gYWJzb2x1dGUgVVJJIHRoYXQgaXMgdXNlZCB0byBpZGVudGlmeSB0aGlzIHF1ZXN0aW9ubmFpcmUgd2hlbiBpdCBpcyByZWZlcmVuY2VkIGluIGEgc3BlY2lmaWNhdGlvbiwgbW9kZWwsIGRlc2lnbiBvciBhbiBpbnN0YW5jZTsgYWxzbyBjYWxsZWQgaXRzIGNhbm9uaWNhbCBpZGVudGlmaWVyLiBUaGlzIFNIT1VMRCBiZSBnbG9iYWxseSB1bmlxdWUgYW5kIFNIT1VMRCBiZSBhIGxpdGVyYWwgYWRkcmVzcyBhdCB3aGljaCBhdCB3aGljaCBhbiBhdXRob3JpdGF0aXZlIGluc3RhbmNlIG9mIHRoaXMgcXVlc3Rpb25uYWlyZSBpcyAob3Igd2lsbCBiZSkgcHVibGlzaGVkLiBUaGlzIFVSTCBjYW4gYmUgdGhlIHRhcmdldCBvZiBhIGNhbm9uaWNhbCByZWZlcmVuY2UuIEl0IFNIQUxMIHJlbWFpbiB0aGUgc2FtZSB3aGVuIHRoZSBxdWVzdGlvbm5haXJlIGlzIHN0b3JlZCBvbiBkaWZmZXJlbnQgc2VydmVycy4iIGNvbW1lbnQ9IlRoZSBuYW1lIG9mIHRoZSByZWZlcmVuY2VkIHF1ZXN0aW9ubmFpcmUgY2FuIGJlIGNvbnZleWVkIHVzaW5nIHRoZSBodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vZGlzcGxheSBleHRlbnNpb24uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkFkZGl0aW9uYWwgaWRlbnRpZmllciBmb3IgdGhlIHF1ZXN0aW9ubmFpcmUiIGRlZmluaXRpb249IkEgZm9ybWFsIGlkZW50aWZpZXIgdGhhdCBpcyB1c2VkIHRvIGlkZW50aWZ5IHRoaXMgcXVlc3Rpb25uYWlyZSB3aGVuIGl0IGlzIHJlcHJlc2VudGVkIGluIG90aGVyIGZvcm1hdHMsIG9yIHJlZmVyZW5jZWQgaW4gYSBzcGVjaWZpY2F0aW9uLCBtb2RlbCwgZGVzaWduIG9yIGFuIGluc3RhbmNlLiIgY29tbWVudD0iVHlwaWNhbGx5LCB0aGlzIGlzIHVzZWQgZm9yIGlkZW50aWZpZXJzIHRoYXQgY2FuIGdvIGluIGFuIEhMNyBWMyBJSSAoaW5zdGFuY2UgaWRlbnRpZmllcikgZGF0YSB0eXBlLCBhbmQgY2FuIHRoZW4gaWRlbnRpZnkgdGhpcyBxdWVzdGlvbm5haXJlIG91dHNpZGUgb2YgRkhJUiwgd2hlcmUgaXQgaXMgbm90IHBvc3NpYmxlIHRvIHVzZSB0aGUgbG9naWNhbCBVUkkuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InZlcnNpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkJ1c2luZXNzIHZlcnNpb24gb2YgdGhlIHF1ZXN0aW9ubmFpcmUiIGRlZmluaXRpb249IlRoZSBpZGVudGlmaWVyIHRoYXQgaXMgdXNlZCB0byBpZGVudGlmeSB0aGlzIHZlcnNpb24gb2YgdGhlIHF1ZXN0aW9ubmFpcmUgd2hlbiBpdCBpcyByZWZlcmVuY2VkIGluIGEgc3BlY2lmaWNhdGlvbiwgbW9kZWwsIGRlc2lnbiBvciBpbnN0YW5jZS4gVGhpcyBpcyBhbiBhcmJpdHJhcnkgdmFsdWUgbWFuYWdlZCBieSB0aGUgcXVlc3Rpb25uYWlyZSBhdXRob3IgYW5kIGlzIG5vdCBleHBlY3RlZCB0byBiZSBnbG9iYWxseSB1bmlxdWUuIEZvciBleGFtcGxlLCBpdCBtaWdodCBiZSBhIHRpbWVzdGFtcCAoZS5nLiB5eXl5bW1kZCkgaWYgYSBtYW5hZ2VkIHZlcnNpb24gaXMgbm90IGF2YWlsYWJsZS4gVGhlcmUgaXMgYWxzbyBubyBleHBlY3RhdGlvbiB0aGF0IHZlcnNpb25zIGNhbiBiZSBwbGFjZWQgaW4gYSBsZXhpY29ncmFwaGljYWwgc2VxdWVuY2UuIiBjb21tZW50PSJUaGVyZSBtYXkgYmUgZGlmZmVyZW50IHF1ZXN0aW9ubmFpcmUgaW5zdGFuY2VzIHRoYXQgaGF2ZSB0aGUgc2FtZSBpZGVudGlmaWVyIGJ1dCBkaWZmZXJlbnQgdmVyc2lvbnMuICBUaGUgdmVyc2lvbiBjYW4gYmUgYXBwZW5kZWQgdG8gdGhlIHVybCBpbiBhIHJlZmVyZW5jZSB0byBhbGxvdyBhIHJlZmVyZW5jZSB0byBhIHBhcnRpY3VsYXIgYnVzaW5lc3MgdmVyc2lvbiBvZiB0aGUgcXVlc3Rpb25uYWlyZSB3aXRoIHRoZSBmb3JtYXQgW3VybF18W3ZlcnNpb25dLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5hbWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik5hbWUgZm9yIHRoaXMgcXVlc3Rpb25uYWlyZSAoY29tcHV0ZXIgZnJpZW5kbHkpIiBkZWZpbml0aW9uPSJBIG5hdHVyYWwgbGFuZ3VhZ2UgbmFtZSBpZGVudGlmeWluZyB0aGUgcXVlc3Rpb25uYWlyZS4gVGhpcyBuYW1lIHNob3VsZCBiZSB1c2FibGUgYXMgYW4gaWRlbnRpZmllciBmb3IgdGhlIG1vZHVsZSBieSBtYWNoaW5lIHByb2Nlc3NpbmcgYXBwbGljYXRpb25zIHN1Y2ggYXMgY29kZSBnZW5lcmF0aW9uLiIgY29tbWVudD0iVGhlIG5hbWUgaXMgbm90IGV4cGVjdGVkIHRvIGJlIGdsb2JhbGx5IHVuaXF1ZS4gVGhlIG5hbWUgc2hvdWxkIGJlIGEgc2ltcGxlIGFscGhhbnVtZXJpYyB0eXBlIG5hbWUgdG8gZW5zdXJlIHRoYXQgaXQgaXMgbWFjaGluZS1wcm9jZXNzaW5nIGZyaWVuZGx5LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InRpdGxlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOYW1lIGZvciB0aGlzIHF1ZXN0aW9ubmFpcmUgKGh1bWFuIGZyaWVuZGx5KSIgZGVmaW5pdGlvbj0iQSBzaG9ydCwgZGVzY3JpcHRpdmUsIHVzZXItZnJpZW5kbHkgdGl0bGUgZm9yIHRoZSBxdWVzdGlvbm5haXJlLiIgY29tbWVudD0iVGhpcyBuYW1lIGRvZXMgbm90IG5lZWQgdG8gYmUgbWFjaGluZS1wcm9jZXNzaW5nIGZyaWVuZGx5IGFuZCBtYXkgY29udGFpbiBwdW5jdHVhdGlvbiwgd2hpdGUtc3BhY2UsIGV0Yy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXJpdmVkRnJvbSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBvZiBhIFF1ZXN0aW9ubmFpcmUgdGhhdCB0aGlzIFF1ZXN0aW9ubmFpcmUgaXMgYmFzZWQgb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLlB1YmxpY2F0aW9uU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImRyYWZ0IHwgYWN0aXZlIHwgcmV0aXJlZCB8IHVua25vd24iIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhpcyBxdWVzdGlvbm5haXJlLiBFbmFibGVzIHRyYWNraW5nIHRoZSBsaWZlLWN5Y2xlIG9mIHRoZSBjb250ZW50LiIgY29tbWVudD0iQWxsb3dzIGZpbHRlcmluZyBvZiBxdWVzdGlvbm5haXJlcyB0aGF0IGFyZSBhcHByb3ByaWF0ZSBmb3IgdXNlIHZlcnN1cyBub3QuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUHVibGljYXRpb25TdGF0dXMiIGRlc2NyaXB0aW9uPSJUaGUgbGlmZWN5Y2xlIHN0YXR1cyBvZiBhbiBhcnRpZmFjdC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJleHBlcmltZW50YWwiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJGb3IgdGVzdGluZyBwdXJwb3Nlcywgbm90IHJlYWwgdXNhZ2UiIGRlZmluaXRpb249IkEgQm9vbGVhbiB2YWx1ZSB0byBpbmRpY2F0ZSB0aGF0IHRoaXMgcXVlc3Rpb25uYWlyZSBpcyBhdXRob3JlZCBmb3IgdGVzdGluZyBwdXJwb3NlcyAob3IgZWR1Y2F0aW9uL2V2YWx1YXRpb24vbWFya2V0aW5nKSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZm9yIGdlbnVpbmUgdXNhZ2UuIiBjb21tZW50PSJBbGxvd3MgZmlsdGVyaW5nIG9mIHF1ZXN0aW9ubmFpcmVzIHRoYXQgYXJlIGFwcHJvcHJpYXRlIGZvciB1c2UgdmVyc3VzIG5vdC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0VHlwZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJSZXNvdXJjZSB0aGF0IGNhbiBiZSBzdWJqZWN0IG9mIFF1ZXN0aW9ubmFpcmVSZXNwb25zZSIgZGVmaW5pdGlvbj0iVGhlIHR5cGVzIG9mIHN1YmplY3RzIHRoYXQgY2FuIGJlIHRoZSBzdWJqZWN0IG9mIHJlc3BvbnNlcyBjcmVhdGVkIGZvciB0aGUgcXVlc3Rpb25uYWlyZS4iIGNvbW1lbnQ9IklmIG5vbmUgYXJlIHNwZWNpZmllZCwgdGhlbiB0aGUgc3ViamVjdCBpcyB1bmxpbWl0ZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZXNvdXJjZVR5cGUiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUmVzb3VyY2VUeXBlIiBkZXNjcmlwdGlvbj0iT25lIG9mIHRoZSByZXNvdXJjZSB0eXBlcyBkZWZpbmVkIGFzIHBhcnQgb2YgdGhpcyB2ZXJzaW9uIG9mIEZISVIuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEYXRlIGxhc3QgY2hhbmdlZCIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgIChhbmQgb3B0aW9uYWxseSB0aW1lKSB3aGVuIHRoZSBxdWVzdGlvbm5haXJlIHdhcyBwdWJsaXNoZWQuIFRoZSBkYXRlIG11c3QgY2hhbmdlIHdoZW4gdGhlIGJ1c2luZXNzIHZlcnNpb24gY2hhbmdlcyBhbmQgaXQgbXVzdCBjaGFuZ2UgaWYgdGhlIHN0YXR1cyBjb2RlIGNoYW5nZXMuIEluIGFkZGl0aW9uLCBpdCBzaG91bGQgY2hhbmdlIHdoZW4gdGhlIHN1YnN0YW50aXZlIGNvbnRlbnQgb2YgdGhlIHF1ZXN0aW9ubmFpcmUgY2hhbmdlcy4iIGNvbW1lbnQ9Ik5vdGUgdGhhdCB0aGlzIGlzIG5vdCB0aGUgc2FtZSBhcyB0aGUgcmVzb3VyY2UgbGFzdC1tb2RpZmllZC1kYXRlLCBzaW5jZSB0aGUgcmVzb3VyY2UgbWF5IGJlIGEgc2Vjb25kYXJ5IHJlcHJlc2VudGF0aW9uIG9mIHRoZSBxdWVzdGlvbm5haXJlLiBBZGRpdGlvbmFsIHNwZWNpZmljIGRhdGVzIG1heSBiZSBhZGRlZCBhcyBleHRlbnNpb25zIG9yIGJlIGZvdW5kIGJ5IGNvbnN1bHRpbmcgUHJvdmVuYW5jZXMgYXNzb2NpYXRlZCB3aXRoIHBhc3QgdmVyc2lvbnMgb2YgdGhlIHJlc291cmNlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InB1Ymxpc2hlciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTmFtZSBvZiB0aGUgcHVibGlzaGVyIChvcmdhbml6YXRpb24gb3IgaW5kaXZpZHVhbCkiIGRlZmluaXRpb249IlRoZSBuYW1lIG9mIHRoZSBvcmdhbml6YXRpb24gb3IgaW5kaXZpZHVhbCB0aGF0IHB1Ymxpc2hlZCB0aGUgcXVlc3Rpb25uYWlyZS4iIGNvbW1lbnQ9IlVzdWFsbHkgYW4gb3JnYW5pemF0aW9uIGJ1dCBtYXkgYmUgYW4gaW5kaXZpZHVhbC4gVGhlIHB1Ymxpc2hlciAob3Igc3Rld2FyZCkgb2YgdGhlIHF1ZXN0aW9ubmFpcmUgaXMgdGhlIG9yZ2FuaXphdGlvbiBvciBpbmRpdmlkdWFsIHByaW1hcmlseSByZXNwb25zaWJsZSBmb3IgdGhlIG1haW50ZW5hbmNlIGFuZCB1cGtlZXAgb2YgdGhlIHF1ZXN0aW9ubmFpcmUuIFRoaXMgaXMgbm90IG5lY2Vzc2FyaWx5IHRoZSBzYW1lIGluZGl2aWR1YWwgb3Igb3JnYW5pemF0aW9uIHRoYXQgZGV2ZWxvcGVkIGFuZCBpbml0aWFsbHkgYXV0aG9yZWQgdGhlIGNvbnRlbnQuIFRoZSBwdWJsaXNoZXIgaXMgdGhlIHByaW1hcnkgcG9pbnQgb2YgY29udGFjdCBmb3IgcXVlc3Rpb25zIG9yIGlzc3VlcyB3aXRoIHRoZSBxdWVzdGlvbm5haXJlLiBUaGlzIGl0ZW0gU0hPVUxEIGJlIHBvcHVsYXRlZCB1bmxlc3MgdGhlIGluZm9ybWF0aW9uIGlzIGF2YWlsYWJsZSBmcm9tIGNvbnRleHQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29udGFjdCIgZGVzY3JpcHRpb249IkNvbnRhY3QgZGV0YWlscyBmb3IgdGhlIHB1Ymxpc2hlciIgZGVmaW5pdGlvbj0iQ29udGFjdCBkZXRhaWxzIHRvIGFzc2lzdCBhIHVzZXIgaW4gZmluZGluZyBhbmQgY29tbXVuaWNhdGluZyB3aXRoIHRoZSBwdWJsaXNoZXIuIiBjb21tZW50PSJNYXkgYmUgYSB3ZWIgc2l0ZSwgYW4gZW1haWwgYWRkcmVzcywgYSB0ZWxlcGhvbmUgbnVtYmVyLCBldGMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Db250YWN0RGV0YWlsIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRlc2NyaXB0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOYXR1cmFsIGxhbmd1YWdlIGRlc2NyaXB0aW9uIG9mIHRoZSBxdWVzdGlvbm5haXJlIiBkZWZpbml0aW9uPSJBIGZyZWUgdGV4dCBuYXR1cmFsIGxhbmd1YWdlIGRlc2NyaXB0aW9uIG9mIHRoZSBxdWVzdGlvbm5haXJlIGZyb20gYSBjb25zdW1lcidzIHBlcnNwZWN0aXZlLiIgY29tbWVudD0iVGhpcyBkZXNjcmlwdGlvbiBjYW4gYmUgdXNlZCB0byBjYXB0dXJlIGRldGFpbHMgc3VjaCBhcyB3aHkgdGhlIHF1ZXN0aW9ubmFpcmUgd2FzIGJ1aWx0LCBjb21tZW50cyBhYm91dCBtaXN1c2UsIGluc3RydWN0aW9ucyBmb3IgY2xpbmljYWwgdXNlIGFuZCBpbnRlcnByZXRhdGlvbiwgbGl0ZXJhdHVyZSByZWZlcmVuY2VzLCBleGFtcGxlcyBmcm9tIHRoZSBwYXBlciB3b3JsZCwgZXRjLiBJdCBpcyBub3QgYSByZW5kZXJpbmcgb2YgdGhlIHF1ZXN0aW9ubmFpcmUgYXMgY29udmV5ZWQgaW4gdGhlICd0ZXh0JyBmaWVsZCBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmLiBUaGlzIGl0ZW0gU0hPVUxEIGJlIHBvcHVsYXRlZCB1bmxlc3MgdGhlIGluZm9ybWF0aW9uIGlzIGF2YWlsYWJsZSBmcm9tIGNvbnRleHQgKGUuZy4gdGhlIGxhbmd1YWdlIG9mIHRoZSBxdWVzdGlvbm5haXJlIGlzIHByZXN1bWVkIHRvIGJlIHRoZSBwcmVkb21pbmFudCBsYW5ndWFnZSBpbiB0aGUgcGxhY2UgdGhlIHF1ZXN0aW9ubmFpcmUgd2FzIGNyZWF0ZWQpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InVzZUNvbnRleHQiIGRlc2NyaXB0aW9uPSJUaGUgY29udGV4dCB0aGF0IHRoZSBjb250ZW50IGlzIGludGVuZGVkIHRvIHN1cHBvcnQiIGRlZmluaXRpb249IlRoZSBjb250ZW50IHdhcyBkZXZlbG9wZWQgd2l0aCBhIGZvY3VzIGFuZCBpbnRlbnQgb2Ygc3VwcG9ydGluZyB0aGUgY29udGV4dHMgdGhhdCBhcmUgbGlzdGVkLiBUaGVzZSBjb250ZXh0cyBtYXkgYmUgZ2VuZXJhbCBjYXRlZ29yaWVzIChnZW5kZXIsIGFnZSwgLi4uKSBvciBtYXkgYmUgcmVmZXJlbmNlcyB0byBzcGVjaWZpYyBwcm9ncmFtcyAoaW5zdXJhbmNlIHBsYW5zLCBzdHVkaWVzLCAuLi4pIGFuZCBtYXkgYmUgdXNlZCB0byBhc3Npc3Qgd2l0aCBpbmRleGluZyBhbmQgc2VhcmNoaW5nIGZvciBhcHByb3ByaWF0ZSBxdWVzdGlvbm5haXJlIGluc3RhbmNlcy4iIGNvbW1lbnQ9IldoZW4gbXVsdGlwbGUgdXNlQ29udGV4dHMgYXJlIHNwZWNpZmllZCwgdGhlcmUgaXMgbm8gZXhwZWN0YXRpb24gdGhhdCBhbGwgb3IgYW55IG9mIHRoZSBjb250ZXh0cyBhcHBseS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlVzYWdlQ29udGV4dCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJqdXJpc2RpY3Rpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJJbnRlbmRlZCBqdXJpc2RpY3Rpb24gZm9yIHF1ZXN0aW9ubmFpcmUgKGlmIGFwcGxpY2FibGUpIiBkZWZpbml0aW9uPSJBIGxlZ2FsIG9yIGdlb2dyYXBoaWMgcmVnaW9uIGluIHdoaWNoIHRoZSBxdWVzdGlvbm5haXJlIGlzIGludGVuZGVkIHRvIGJlIHVzZWQuIiBjb21tZW50PSJJdCBtYXkgYmUgcG9zc2libGUgZm9yIHRoZSBxdWVzdGlvbm5haXJlIHRvIGJlIHVzZWQgaW4ganVyaXNkaWN0aW9ucyBvdGhlciB0aGFuIHRob3NlIGZvciB3aGljaCBpdCB3YXMgb3JpZ2luYWxseSBkZXNpZ25lZCBvciBpbnRlbmRlZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iSnVyaXNkaWN0aW9uIiBkZXNjcmlwdGlvbj0iQ291bnRyaWVzIGFuZCByZWdpb25zIHdpdGhpbiB3aGljaCB0aGlzIGFydGlmYWN0IGlzIHRhcmdldGVkIGZvciB1c2UuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwdXJwb3NlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaHkgdGhpcyBxdWVzdGlvbm5haXJlIGlzIGRlZmluZWQiIGRlZmluaXRpb249IkV4cGxhbmF0aW9uIG9mIHdoeSB0aGlzIHF1ZXN0aW9ubmFpcmUgaXMgbmVlZGVkIGFuZCB3aHkgaXQgaGFzIGJlZW4gZGVzaWduZWQgYXMgaXQgaGFzLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGRvZXMgbm90IGRlc2NyaWJlIHRoZSB1c2FnZSBvZiB0aGUgcXVlc3Rpb25uYWlyZS4gSW5zdGVhZCwgaXQgcHJvdmlkZXMgdHJhY2VhYmlsaXR5IG9mICcnd2h5JycgdGhlIHJlc291cmNlIGlzIGVpdGhlciBuZWVkZWQgb3IgJyd3aHknJyBpdCBpcyBkZWZpbmVkIGFzIGl0IGlzLiAgVGhpcyBtYXkgYmUgdXNlZCB0byBwb2ludCB0byBzb3VyY2UgbWF0ZXJpYWxzIG9yIHNwZWNpZmljYXRpb25zIHRoYXQgZHJvdmUgdGhlIHN0cnVjdHVyZSBvZiB0aGlzIHF1ZXN0aW9ubmFpcmUuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29weXJpZ2h0IiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJVc2UgYW5kL29yIHB1Ymxpc2hpbmcgcmVzdHJpY3Rpb25zIiBkZWZpbml0aW9uPSJBIGNvcHlyaWdodCBzdGF0ZW1lbnQgcmVsYXRpbmcgdG8gdGhlIHF1ZXN0aW9ubmFpcmUgYW5kL29yIGl0cyBjb250ZW50cy4gQ29weXJpZ2h0IHN0YXRlbWVudHMgYXJlIGdlbmVyYWxseSBsZWdhbCByZXN0cmljdGlvbnMgb24gdGhlIHVzZSBhbmQgcHVibGlzaGluZyBvZiB0aGUgcXVlc3Rpb25uYWlyZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhcHByb3ZhbERhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIHRoZSBxdWVzdGlvbm5haXJlIHdhcyBhcHByb3ZlZCBieSBwdWJsaXNoZXIiIGRlZmluaXRpb249IlRoZSBkYXRlIG9uIHdoaWNoIHRoZSByZXNvdXJjZSBjb250ZW50IHdhcyBhcHByb3ZlZCBieSB0aGUgcHVibGlzaGVyLiBBcHByb3ZhbCBoYXBwZW5zIG9uY2Ugd2hlbiB0aGUgY29udGVudCBpcyBvZmZpY2lhbGx5IGFwcHJvdmVkIGZvciB1c2FnZS4iIGNvbW1lbnQ9IlRoZSAnZGF0ZScgZWxlbWVudCBtYXkgYmUgbW9yZSByZWNlbnQgdGhhbiB0aGUgYXBwcm92YWwgZGF0ZSBiZWNhdXNlIG9mIG1pbm9yIGNoYW5nZXMgb3IgZWRpdG9yaWFsIGNvcnJlY3Rpb25zLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Imxhc3RSZXZpZXdEYXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hlbiB0aGUgcXVlc3Rpb25uYWlyZSB3YXMgbGFzdCByZXZpZXdlZCIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgb24gd2hpY2ggdGhlIHJlc291cmNlIGNvbnRlbnQgd2FzIGxhc3QgcmV2aWV3ZWQuIFJldmlldyBoYXBwZW5zIHBlcmlvZGljYWxseSBhZnRlciBhcHByb3ZhbCBidXQgZG9lcyBub3QgY2hhbmdlIHRoZSBvcmlnaW5hbCBhcHByb3ZhbCBkYXRlLiIgY29tbWVudD0iSWYgc3BlY2lmaWVkLCB0aGlzIGRhdGUgZm9sbG93cyB0aGUgb3JpZ2luYWwgYXBwcm92YWwgZGF0ZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmVQZXJpb2QiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2hlbiB0aGUgcXVlc3Rpb25uYWlyZSBpcyBleHBlY3RlZCB0byBiZSB1c2VkIiBkZWZpbml0aW9uPSJUaGUgcGVyaW9kIGR1cmluZyB3aGljaCB0aGUgcXVlc3Rpb25uYWlyZSBjb250ZW50IHdhcyBvciBpcyBwbGFubmVkIHRvIGJlIGluIGFjdGl2ZSB1c2UuIiBjb21tZW50PSJUaGUgZWZmZWN0aXZlIHBlcmlvZCBmb3IgYSBxdWVzdGlvbm5haXJlICBkZXRlcm1pbmVzIHdoZW4gdGhlIGNvbnRlbnQgaXMgYXBwbGljYWJsZSBmb3IgdXNhZ2UgYW5kIGlzIGluZGVwZW5kZW50IG9mIHB1YmxpY2F0aW9uIGFuZCByZXZpZXcgZGF0ZXMuIEZvciBleGFtcGxlLCBhIG1lYXN1cmUgaW50ZW5kZWQgdG8gYmUgdXNlZCBmb3IgdGhlIHllYXIgMjAxNiBtaWdodCBiZSBwdWJsaXNoZWQgaW4gMjAxNS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29kZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ29uY2VwdCB0aGF0IHJlcHJlc2VudHMgdGhlIG92ZXJhbGwgcXVlc3Rpb25uYWlyZSIgZGVmaW5pdGlvbj0iQW4gaWRlbnRpZmllciBmb3IgdGhpcyBxdWVzdGlvbiBvciBncm91cCBvZiBxdWVzdGlvbnMgaW4gYSBwYXJ0aWN1bGFyIHRlcm1pbm9sb2d5IHN1Y2ggYXMgTE9JTkMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db2RlIi8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlF1ZXN0aW9ubmFpcmVDb25jZXB0IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIHF1ZXN0aW9ubmFpcmVzLCBncm91cHMgYW5kIGluZGl2aWR1YWwgcXVlc3Rpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaXRlbSIgZGVzY3JpcHRpb249IlF1ZXN0aW9ucyBhbmQgc2VjdGlvbnMgd2l0aGluIHRoZSBRdWVzdGlvbm5haXJlIiBkZWZpbml0aW9uPSJBIHBhcnRpY3VsYXIgcXVlc3Rpb24sIHF1ZXN0aW9uIGdyb3VwaW5nIG9yIGRpc3BsYXkgdGV4dCB0aGF0IGlzIHBhcnQgb2YgdGhlIHF1ZXN0aW9ubmFpcmUuIiBjb21tZW50PSJUaGUgY29udGVudCBvZiB0aGUgcXVlc3Rpb25uYWlyZSBpcyBjb25zdHJ1Y3RlZCBmcm9tIGFuIG9yZGVyZWQsIGhpZXJhcmNoaWNhbCBjb2xsZWN0aW9uIG9mIGl0ZW1zLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUXVlc3Rpb25uYWlyZS5JdGVtIi8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InF1ZS0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ikdyb3VwIGl0ZW1zIG11c3QgaGF2ZSBuZXN0ZWQgaXRlbXMsIGRpc3BsYXkgaXRlbXMgY2Fubm90IGhhdmUgbmVzdGVkIGl0ZW1zIj4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIodHlwZT0nZ3JvdXAnIGltcGxpZXMgaXRlbS5lbXB0eSgpLm5vdCgpKSBhbmQgKHR5cGUudHJhY2UoJ3R5cGUnKT0nZGlzcGxheScgaW1wbGllcyBpdGVtLnRyYWNlKCdpdGVtJykuZW1wdHkoKSkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJxdWUtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJEaXNwbGF5IGl0ZW1zIGNhbm5vdCBoYXZlIGEgJnF1b3Q7Y29kZSZxdW90OyBhc3NlcnRlZCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0idHlwZSE9J2Rpc3BsYXknIG9yIGNvZGUuZW1wdHkoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InF1ZS00IiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IkEgcXVlc3Rpb24gY2Fubm90IGhhdmUgYm90aCBhbnN3ZXJPcHRpb24gYW5kIGFuc3dlclZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJhbnN3ZXJPcHRpb24uZW1wdHkoKSBvciBhbnN3ZXJWYWx1ZVNldC5lbXB0eSgpIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0icXVlLTUiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iT25seSAnY2hvaWNlJyBhbmQgJ29wZW4tY2hvaWNlJyBpdGVtcyBjYW4gaGF2ZSBhbnN3ZXJWYWx1ZVNldCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iKHR5cGUgPSdjaG9pY2UnIG9yIHR5cGUgPSAnb3Blbi1jaG9pY2UnIG9yIHR5cGUgPSAnZGVjaW1hbCcgb3IgdHlwZSA9ICdpbnRlZ2VyJyBvciB0eXBlID0gJ2RhdGUnIG9yIHR5cGUgPSAnZGF0ZVRpbWUnIG9yIHR5cGUgPSAndGltZScgb3IgdHlwZSA9ICdzdHJpbmcnIG9yIHR5cGUgPSAncXVhbnRpdHknKSBvciAoYW5zd2VyVmFsdWVTZXQuZW1wdHkoKSBhbmQgYW5zd2VyT3B0aW9uLmVtcHR5KCkpIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0icXVlLTYiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iUmVxdWlyZWQgYW5kIHJlcGVhdCBhcmVuJ3QgcGVybWl0dGVkIGZvciBkaXNwbGF5IGl0ZW1zIj4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ0eXBlIT0nZGlzcGxheScgb3IgKHJlcXVpcmVkLmVtcHR5KCkgYW5kIHJlcGVhdHMuZW1wdHkoKSkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJxdWUtOCIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJbml0aWFsIHZhbHVlcyBjYW4ndCBiZSBzcGVjaWZpZWQgZm9yIGdyb3VwcyBvciBkaXNwbGF5IGl0ZW1zIj4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIodHlwZSE9J2dyb3VwJyBhbmQgdHlwZSE9J2Rpc3BsYXknKSBvciBpbml0aWFsLmVtcHR5KCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJxdWUtOSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJSZWFkLW9ubHkgY2FuJ3QgYmUgc3BlY2lmaWVkIGZvciAmcXVvdDtkaXNwbGF5JnF1b3Q7IGl0ZW1zIj4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ0eXBlIT0nZGlzcGxheScgb3IgcmVhZE9ubHkuZW1wdHkoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InF1ZS0xMCIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJNYXhpbXVtIGxlbmd0aCBjYW4gb25seSBiZSBkZWNsYXJlZCBmb3Igc2ltcGxlIHF1ZXN0aW9uIHR5cGVzIj4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIodHlwZSBpbiAoJ2Jvb2xlYW4nIHwgJ2RlY2ltYWwnIHwgJ2ludGVnZXInIHwgJ3N0cmluZycgfCAndGV4dCcgfCAndXJsJyB8ICdvcGVuLWNob2ljZScpKSBvciBtYXhMZW5ndGguZW1wdHkoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InF1ZS0xMSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiBvbmUgb3IgbW9yZSBhbnN3ZXJPcHRpb24gaXMgcHJlc2VudCwgaW5pdGlhbFt4XSBtdXN0IGJlIG1pc3NpbmciPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249ImFuc3dlck9wdGlvbi5lbXB0eSgpIG9yIGluaXRpYWwuZW1wdHkoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InF1ZS0xMiIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBlbmFibGVXaGVuLCBlbmFibGVCZWhhdmlvciBtdXN0IGJlIHNwZWNpZmllZCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iZW5hYmxlV2hlbi5jb3VudCgpICZndDsgMiBpbXBsaWVzIGVuYWJsZUJlaGF2aW9yLmV4aXN0cygpIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0icXVlLTEzIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IkNhbiBvbmx5IGhhdmUgbXVsdGlwbGUgaW5pdGlhbCB2YWx1ZXMgZm9yIHJlcGVhdGluZyBpdGVtcyI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0icmVwZWF0cz10cnVlIG9yIGluaXRpYWwuY291bnQoKSAmbHQ7PSAxIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJRdWVzdGlvbm5haXJlLkl0ZW0iIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImxpbmtJZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVW5pcXVlIGlkIGZvciBpdGVtIGluIHF1ZXN0aW9ubmFpcmUiIGRlZmluaXRpb249IkFuIGlkZW50aWZpZXIgdGhhdCBpcyB1bmlxdWUgd2l0aGluIHRoZSBRdWVzdGlvbm5haXJlIGFsbG93aW5nIGxpbmthZ2UgdG8gdGhlIGVxdWl2YWxlbnQgaXRlbSBpbiBhIFF1ZXN0aW9ubmFpcmVSZXNwb25zZSByZXNvdXJjZS4iIGNvbW1lbnQ9IlRoaXMgJydjYW4nJyBiZSBhIG1lYW5pbmdmdWwgaWRlbnRpZmllciAoZS5nLiBhIExPSU5DIGNvZGUpIGJ1dCBpcyBub3QgaW50ZW5kZWQgdG8gaGF2ZSBhbnkgbWVhbmluZy4gIEdVSURzIG9yIHNlcXVlbnRpYWwgbnVtYmVycyBhcmUgYXBwcm9wcmlhdGUgaGVyZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZWZpbml0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJFbGVtZW50RGVmaW5pdGlvbiAtIGRldGFpbHMgZm9yIHRoZSBpdGVtIiBkZWZpbml0aW9uPSJUaGlzIGVsZW1lbnQgaXMgYSBVUkkgdGhhdCByZWZlcnMgdG8gYW4gW0VsZW1lbnREZWZpbml0aW9uXShlbGVtZW50ZGVmaW5pdGlvbi5odG1sKSB0aGF0IHByb3ZpZGVzIGluZm9ybWF0aW9uIGFib3V0IHRoaXMgaXRlbSwgaW5jbHVkaW5nIGluZm9ybWF0aW9uIHRoYXQgbWlnaHQgb3RoZXJ3aXNlIGJlIGluY2x1ZGVkIGluIHRoZSBpbnN0YW5jZSBvZiB0aGUgUXVlc3Rpb25uYWlyZSByZXNvdXJjZS4gQSBkZXRhaWxlZCBkZXNjcmlwdGlvbiBvZiB0aGUgY29uc3RydWN0aW9uIG9mIHRoZSBVUkkgaXMgc2hvd24gaW4gQ29tbWVudHMsIGJlbG93LiBJZiB0aGlzIGVsZW1lbnQgaXMgcHJlc2VudCB0aGVuIHRoZSBmb2xsb3dpbmcgZWxlbWVudCB2YWx1ZXMgTUFZIGJlIGRlcml2ZWQgZnJvbSB0aGUgRWxlbWVudCBEZWZpbml0aW9uIGlmIHRoZSBjb3JyZXNwb25kaW5nIGVsZW1lbnRzIG9mIHRoaXMgUXVlc3Rpb25uYWlyZSByZXNvdXJjZSBpbnN0YW5jZSBoYXZlIG5vIHZhbHVlOiYjMTA7JiMxMDsqIGNvZGUgKEVsZW1lbnREZWZpbml0aW9uLmNvZGUpICYjMTA7KiB0eXBlIChFbGVtZW50RGVmaW5pdGlvbi50eXBlKSAmIzEwOyogcmVxdWlyZWQgKEVsZW1lbnREZWZpbml0aW9uLm1pbikgJiMxMDsqIHJlcGVhdHMgKEVsZW1lbnREZWZpbml0aW9uLm1heCkgJiMxMDsqIG1heExlbmd0aCAoRWxlbWVudERlZmluaXRpb24ubWF4TGVuZ3RoKSAmIzEwOyogYW5zd2VyVmFsdWVTZXQgKEVsZW1lbnREZWZpbml0aW9uLmJpbmRpbmcpJiMxMDsqIG9wdGlvbnMgKEVsZW1lbnREZWZpbml0aW9uLmJpbmRpbmcpLiIgY29tbWVudD0iVGhlIHVyaSByZWZlcnMgdG8gYW4gRWxlbWVudERlZmluaXRpb24gaW4gYSBbU3RydWN0dXJlRGVmaW5pdGlvbl0oc3RydWN0dXJlZGVmaW5pdGlvbi5odG1sIykgYW5kIGFsd2F5cyBzdGFydHMgd2l0aCB0aGUgW2Nhbm9uaWNhbCBVUkxdKHJlZmVyZW5jZXMuaHRtbCNjYW5vbmljYWwpIGZvciB0aGUgdGFyZ2V0IHJlc291cmNlLiBXaGVuIHJlZmVycmluZyB0byBhIFN0cnVjdHVyZURlZmluaXRpb24sIGEgZnJhZ21lbnQgaWRlbnRpZmllciBpcyB1c2VkIHRvIHNwZWNpZnkgdGhlIGVsZW1lbnQgZGVmaW5pdGlvbiBieSBpdHMgaWQgW0VsZW1lbnQuaWRdKGVsZW1lbnQtZGVmaW5pdGlvbnMuaHRtbCNFbGVtZW50LmlkKS4gRS5nLiBodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vT2JzZXJ2YXRpb24jT2JzZXJ2YXRpb24udmFsdWVbeF0uIEluIHRoZSBhYnNlbmNlIG9mIGEgZnJhZ21lbnQgaWRlbnRpZmllciwgdGhlIGZpcnN0L3Jvb3QgZWxlbWVudCBkZWZpbml0aW9uIGluIHRoZSB0YXJnZXQgaXMgdGhlIG1hdGNoaW5nIGVsZW1lbnQgZGVmaW5pdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29kZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQ29ycmVzcG9uZGluZyBjb25jZXB0IGZvciB0aGlzIGl0ZW0gaW4gYSB0ZXJtaW5vbG9neSIgZGVmaW5pdGlvbj0iQSB0ZXJtaW5vbG9neSBjb2RlIHRoYXQgY29ycmVzcG9uZHMgdG8gdGhpcyBncm91cCBvciBxdWVzdGlvbiAoZS5nLiBhIGNvZGUgZnJvbSBMT0lOQywgd2hpY2ggZGVmaW5lcyBtYW55IHF1ZXN0aW9ucyBhbmQgYW5zd2VycykuIiBjb21tZW50PSJUaGUgdmFsdWUgbWF5IGNvbWUgZnJvbSB0aGUgRWxlbWVudERlZmluaXRpb24gcmVmZXJyZWQgdG8gYnkgLmRlZmluaXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db2RlIi8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlF1ZXN0aW9ubmFpcmVDb25jZXB0IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIHF1ZXN0aW9ubmFpcmVzLCBncm91cHMgYW5kIGluZGl2aWR1YWwgcXVlc3Rpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJlZml4IiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJFLmcuICZxdW90OzEoYSkmcXVvdDssICZxdW90OzIuNS4zJnF1b3Q7IiBkZWZpbml0aW9uPSJBIHNob3J0IGxhYmVsIGZvciBhIHBhcnRpY3VsYXIgZ3JvdXAsIHF1ZXN0aW9uIG9yIHNldCBvZiBkaXNwbGF5IHRleHQgd2l0aGluIHRoZSBxdWVzdGlvbm5haXJlIHVzZWQgZm9yIHJlZmVyZW5jZSBieSB0aGUgaW5kaXZpZHVhbCBjb21wbGV0aW5nIHRoZSBxdWVzdGlvbm5haXJlLiIgY29tbWVudD0iVGhlc2UgYXJlIGdlbmVyYWxseSB1bmlxdWUgd2l0aGluIGEgcXVlc3Rpb25uYWlyZSwgdGhvdWdoIHRoaXMgaXMgbm90IGd1YXJhbnRlZWQuIFNvbWUgcXVlc3Rpb25uYWlyZXMgbWF5IGhhdmUgbXVsdGlwbGUgcXVlc3Rpb25zIHdpdGggdGhlIHNhbWUgbGFiZWwgd2l0aCBsb2dpYyB0byBjb250cm9sIHdoaWNoIGdldHMgZXhwb3NlZC4gIFR5cGljYWxseSwgdGhlc2Ugd29uJ3QgYmUgdXNlZCBmb3IgJnF1b3Q7ZGlzcGxheSZxdW90OyBpdGVtcywgdGhvdWdoIHN1Y2ggdXNlIGlzIG5vdCBwcm9oaWJpdGVkLiAgU3lzdGVtcyBTSE9VTEQgTk9UIGdlbmVyYXRlIHRoZWlyIG93biBwcmVmaXhlcyBpZiBwcmVmaXhlcyBhcmUgZGVmaW5lZCBmb3IgYW55IGl0ZW1zIHdpdGhpbiBhIFF1ZXN0aW9ubmFpcmUuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idGV4dCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUHJpbWFyeSB0ZXh0IGZvciB0aGUgaXRlbSIgZGVmaW5pdGlvbj0iVGhlIG5hbWUgb2YgYSBzZWN0aW9uLCB0aGUgdGV4dCBvZiBhIHF1ZXN0aW9uIG9yIHRleHQgY29udGVudCBmb3IgYSBkaXNwbGF5IGl0ZW0uIiBjb21tZW50PSJXaGVuIHVzaW5nIHRoaXMgZWxlbWVudCB0byByZXByZXNlbnQgdGhlIG5hbWUgb2YgYSBzZWN0aW9uLCB1c2UgZ3JvdXAgdHlwZSBpdGVtIGFuZCBhbHNvIG1ha2Ugc3VyZSB0byBsaW1pdCB0aGUgdGV4dCBlbGVtZW50IHRvIGEgc2hvcnQgc3RyaW5nIHN1aXRhYmxlIGZvciBkaXNwbGF5IGFzIGEgc2VjdGlvbiBoZWFkaW5nLiAgR3JvdXAgaXRlbSBpbnN0cnVjdGlvbnMgc2hvdWxkIGJlIGluY2x1ZGVkIGFzIGEgZGlzcGxheSB0eXBlIGl0ZW0gd2l0aGluIHRoZSBncm91cC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlF1ZXN0aW9ubmFpcmVJdGVtVHlwZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJncm91cCB8IGRpc3BsYXkgfCBib29sZWFuIHwgZGVjaW1hbCB8IGludGVnZXIgfCBkYXRlIHwgZGF0ZVRpbWUgKyIgZGVmaW5pdGlvbj0iVGhlIHR5cGUgb2YgcXVlc3Rpb25uYWlyZSBpdGVtIHRoaXMgaXMgLSB3aGV0aGVyIHRleHQgZm9yIGRpc3BsYXksIGEgZ3JvdXBpbmcgb2Ygb3RoZXIgaXRlbXMgb3IgYSBwYXJ0aWN1bGFyIHR5cGUgb2YgZGF0YSB0byBiZSBjYXB0dXJlZCAoc3RyaW5nLCBpbnRlZ2VyLCBjb2RlZCBjaG9pY2UsIGV0Yy4pLiIgY29tbWVudD0iQWRkaXRpb25hbCBjb25zdHJhaW50cyBvbiB0aGUgdHlwZSBvZiBhbnN3ZXIgY2FuIGJlIGNvbnZleWVkIGJ5IGV4dGVuc2lvbnMuIFRoZSB2YWx1ZSBtYXkgY29tZSBmcm9tIHRoZSBFbGVtZW50RGVmaW5pdGlvbiByZWZlcnJlZCB0byBieSAuZGVmaW5pdGlvbi4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJRdWVzdGlvbm5haXJlSXRlbVR5cGUiIGRlc2NyaXB0aW9uPSJEaXN0aW5ndWlzaGVzIGdyb3VwcyBmcm9tIHF1ZXN0aW9ucyBhbmQgZGlzcGxheSB0ZXh0IGFuZCBpbmRpY2F0ZXMgZGF0YSB0eXBlIGZvciBxdWVzdGlvbnMuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW5hYmxlV2hlbiIgZGVzY3JpcHRpb249Ik9ubHkgYWxsb3cgZGF0YSB3aGVuIiBkZWZpbml0aW9uPSJBIGNvbnN0cmFpbnQgaW5kaWNhdGluZyB0aGF0IHRoaXMgaXRlbSBzaG91bGQgb25seSBiZSBlbmFibGVkIChkaXNwbGF5ZWQvYWxsb3cgYW5zd2VycyB0byBiZSBjYXB0dXJlZCkgd2hlbiB0aGUgc3BlY2lmaWVkIGNvbmRpdGlvbiBpcyB0cnVlLiIgY29tbWVudD0iSWYgbXVsdGlwbGUgcmVwZXRpdGlvbnMgb2YgdGhpcyBleHRlbnNpb24gYXJlIHByZXNlbnQsIHRoZSBpdGVtIHNob3VsZCBiZSBlbmFibGVkIHdoZW4gdGhlIGNvbmRpdGlvbiBmb3IgKmFueSogb2YgdGhlIHJlcGV0aXRpb25zIGlzIHRydWUuICBJLmUuIHRyZWF0ICZxdW90O2VuYWJsZVdoZW4mcXVvdDtzIGFzIGJlaW5nIGpvaW5lZCBieSBhbiAmcXVvdDtvciZxdW90OyBjbGF1c2UuICBUaGlzIGVsZW1lbnQgaXMgYSBtb2RpZmllciBiZWNhdXNlIGlmIGVuYWJsZVdoZW4gaXMgcHJlc2VudCBmb3IgYW4gaXRlbSwgJnF1b3Q7cmVxdWlyZWQmcXVvdDsgaXMgaWdub3JlZCB1bmxlc3Mgb25lIG9mIHRoZSBlbmFibGVXaGVuIGNvbmRpdGlvbnMgaXMgbWV0LiBXaGVuIGFuIGl0ZW0gaXMgZGlzYWJsZWQsIGFsbCBvZiBpdHMgZGVzY2VuZGFudHMgYXJlIGRpc2FibGVkLCByZWdhcmRsZXNzIG9mIHdoYXQgdGhlaXIgb3duIGVuYWJsZVdoZW4gbG9naWMgbWlnaHQgZXZhbHVhdGUgdG8uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5RdWVzdGlvbm5haXJlLkl0ZW0uRW5hYmxlV2hlbiIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJxdWUtNyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGUgb3BlcmF0b3IgaXMgJ2V4aXN0cycsIHRoZSB2YWx1ZSBtdXN0IGJlIGEgYm9vbGVhbiI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0ib3BlcmF0b3IgPSAnZXhpc3RzJyBpbXBsaWVzIChhbnN3ZXIgaXMgQm9vbGVhbikiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmFibGVCZWhhdmlvciIgZWxlbWVudFR5cGU9IlFJQ29yZS5FbmFibGVXaGVuQmVoYXZpb3IiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iYWxsIHwgYW55IiBkZWZpbml0aW9uPSJDb250cm9scyBob3cgbXVsdGlwbGUgZW5hYmxlV2hlbiB2YWx1ZXMgYXJlIGludGVycHJldGVkIC0gIHdoZXRoZXIgYWxsIG9yIGFueSBtdXN0IGJlIHRydWUuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgbXVzdCBiZSBzcGVjaWZpZWQgaWYgbW9yZSB0aGFuIG9uZSBlbmFibGVXaGVuIHZhbHVlIGlzIHByb3ZpZGVkLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkVuYWJsZVdoZW5CZWhhdmlvciIgZGVzY3JpcHRpb249IkNvbnRyb2xzIGhvdyBtdWx0aXBsZSBlbmFibGVXaGVuIHZhbHVlcyBhcmUgaW50ZXJwcmV0ZWQgLSAgd2hldGhlciBhbGwgb3IgYW55IG11c3QgYmUgdHJ1ZS4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZXF1aXJlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Cb29sZWFuIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZXRoZXIgdGhlIGl0ZW0gbXVzdCBiZSBpbmNsdWRlZCBpbiBkYXRhIHJlc3VsdHMiIGRlZmluaXRpb249IkFuIGluZGljYXRpb24sIGlmIHRydWUsIHRoYXQgdGhlIGl0ZW0gbXVzdCBiZSBwcmVzZW50IGluIGEgJnF1b3Q7Y29tcGxldGVkJnF1b3Q7IFF1ZXN0aW9ubmFpcmVSZXNwb25zZS4gIElmIGZhbHNlLCB0aGUgaXRlbSBtYXkgYmUgc2tpcHBlZCB3aGVuIGFuc3dlcmluZyB0aGUgcXVlc3Rpb25uYWlyZS4iIGNvbW1lbnQ9IlF1ZXN0aW9ubmFpcmUuaXRlbS5yZXF1aXJlZCBvbmx5IGhhcyBtZWFuaW5nIGZvciBlbGVtZW50cyB0aGF0IGFyZSBjb25kaXRpb25hbGx5IGVuYWJsZWQgd2l0aCBlbmFibGVXaGVuIGlmIHRoZSBjb25kaXRpb24gZXZhbHVhdGVzIHRvIHRydWUuICBJZiBhbiBpdGVtIHRoYXQgY29udGFpbnMgb3RoZXIgaXRlbXMgaXMgbWFya2VkIGFzIHJlcXVpcmVkLCB0aGF0IGRvZXMgbm90IGF1dG9tYXRpY2FsbHkgbWFrZSB0aGUgY29udGFpbmVkIGVsZW1lbnRzIHJlcXVpcmVkICh0aG91Z2ggcmVxdWlyZWQgZ3JvdXBzIG11c3QgY29udGFpbiBhdCBsZWFzdCBvbmUgY2hpbGQgZWxlbWVudCkuIFRoZSB2YWx1ZSBtYXkgY29tZSBmcm9tIHRoZSBFbGVtZW50RGVmaW5pdGlvbiByZWZlcnJlZCB0byBieSAuZGVmaW5pdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZXBlYXRzIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hldGhlciB0aGUgaXRlbSBtYXkgcmVwZWF0IiBkZWZpbml0aW9uPSJBbiBpbmRpY2F0aW9uLCBpZiB0cnVlLCB0aGF0IHRoZSBpdGVtIG1heSBvY2N1ciBtdWx0aXBsZSB0aW1lcyBpbiB0aGUgcmVzcG9uc2UsIGNvbGxlY3RpbmcgbXVsdGlwbGUgYW5zd2VycyBmb3IgcXVlc3Rpb25zIG9yIG11bHRpcGxlIHNldHMgb2YgYW5zd2VycyBmb3IgZ3JvdXBzLiIgY29tbWVudD0iSWYgYSBxdWVzdGlvbiBpcyBtYXJrZWQgYXMgcmVwZWF0cz10cnVlLCB0aGVuIG11bHRpcGxlIGFuc3dlcnMgY2FuIGJlIHByb3ZpZGVkIGZvciB0aGUgcXVlc3Rpb24gaW4gdGhlIGNvcnJlc3BvbmRpbmcgUXVlc3Rpb25uYWlyZVJlc3BvbnNlLiAgV2hlbiByZW5kZXJpbmcgdGhlIHF1ZXN0aW9ubmFpcmUsIGl0IGlzIHVwIHRvIHRoZSByZW5kZXJpbmcgc29mdHdhcmUgd2hldGhlciB0byByZW5kZXIgdGhlIHF1ZXN0aW9uIHRleHQgZm9yIGVhY2ggYW5zd2VyIHJlcGV0aXRpb24gKGkuZS4gJnF1b3Q7cmVwZWF0IHRoZSBxdWVzdGlvbiZxdW90Oykgb3IgdG8gc2ltcGx5IGFsbG93IGVudHJ5L3NlbGVjdGlvbiBvZiBtdWx0aXBsZSBhbnN3ZXJzIGZvciB0aGUgcXVlc3Rpb24gKHJlcGVhdCB0aGUgYW5zd2VycykuICBXaGljaCBpcyBtb3N0IGFwcHJvcHJpYXRlIHZpc3VhbGx5IG1heSBkZXBlbmQgb24gdGhlIHR5cGUgb2YgYW5zd2VyIGFzIHdlbGwgYXMgd2hldGhlciB0aGVyZSBhcmUgbmVzdGVkIGl0ZW1zLiYjMTA7JiMxMDtUaGUgcmVzdWx0aW5nIFF1ZXN0aW9ubmFpcmVSZXNwb25zZSB3aWxsIGJlIHBvcHVsYXRlZCB0aGUgc2FtZSB3YXkgcmVnYXJkbGVzcyBvZiByZW5kZXJpbmcgLSBvbmUgJ3F1ZXN0aW9uJyBpdGVtIHdpdGggbXVsdGlwbGUgYW5zd2VyIHZhbHVlcy4mIzEwOyYjMTA7IFRoZSB2YWx1ZSBtYXkgY29tZSBmcm9tIHRoZSBFbGVtZW50RGVmaW5pdGlvbiByZWZlcnJlZCB0byBieSAuZGVmaW5pdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFkT25seSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Cb29sZWFuIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRvbid0IGFsbG93IGh1bWFuIGVkaXRpbmciIGRlZmluaXRpb249IkFuIGluZGljYXRpb24sIHdoZW4gdHJ1ZSwgdGhhdCB0aGUgdmFsdWUgY2Fubm90IGJlIGNoYW5nZWQgYnkgYSBodW1hbiByZXNwb25kZW50IHRvIHRoZSBRdWVzdGlvbm5haXJlLiIgY29tbWVudD0iVGhlIHZhbHVlIG9mIHJlYWRPbmx5IGVsZW1lbnRzIGNhbiBiZSBlc3RhYmxpc2hlZCBieSBhc3NlcnRpbmcgIGV4dGVuc2lvbnMgZm9yIGRlZmF1bHRWYWx1ZXMsIGxpbmthZ2VzIHRoYXQgc3VwcG9ydCBwcmUtcG9wdWxhdGlvbiBhbmQvb3IgZXh0ZW5zaW9ucyB0aGF0IHN1cHBvcnQgY2FsY3VsYXRpb24gYmFzZWQgb24gb3RoZXIgYW5zd2Vycy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtYXhMZW5ndGgiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJObyBtb3JlIHRoYW4gdGhpcyBtYW55IGNoYXJhY3RlcnMiIGRlZmluaXRpb249IlRoZSBtYXhpbXVtIG51bWJlciBvZiBjaGFyYWN0ZXJzIHRoYXQgYXJlIHBlcm1pdHRlZCBpbiB0aGUgYW5zd2VyIHRvIGJlIGNvbnNpZGVyZWQgYSAmcXVvdDt2YWxpZCZxdW90OyBRdWVzdGlvbm5haXJlUmVzcG9uc2UuIiBjb21tZW50PSJGb3IgYmFzZTY0YmluYXJ5LCByZWZsZWN0cyB0aGUgbnVtYmVyIG9mIGNoYXJhY3RlcnMgcmVwcmVzZW50aW5nIHRoZSBlbmNvZGVkIGRhdGEsIG5vdCB0aGUgbnVtYmVyIG9mIGJ5dGVzIG9mIHRoZSBiaW5hcnkgZGF0YS4gVGhlIHZhbHVlIG1heSBjb21lIGZyb20gdGhlIEVsZW1lbnREZWZpbml0aW9uIHJlZmVycmVkIHRvIGJ5IC5kZWZpbml0aW9uLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImFuc3dlclZhbHVlU2V0IiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJWYWx1ZXNldCBjb250YWluaW5nIHBlcm1pdHRlZCBhbnN3ZXJzIiBkZWZpbml0aW9uPSJBIHJlZmVyZW5jZSB0byBhIHZhbHVlIHNldCBjb250YWluaW5nIGEgbGlzdCBvZiBjb2RlcyByZXByZXNlbnRpbmcgcGVybWl0dGVkIGFuc3dlcnMgZm9yIGEgJnF1b3Q7Y2hvaWNlJnF1b3Q7IG9yICZxdW90O29wZW4tY2hvaWNlJnF1b3Q7IHF1ZXN0aW9uLiIgY29tbWVudD0iTE9JTkMgZGVmaW5lcyBtYW55IHVzZWZ1bCB2YWx1ZSBzZXRzIGZvciBxdWVzdGlvbm5haXJlIHJlc3BvbnNlcy4gU2VlIFtMT0lOQyBBbnN3ZXIgTGlzdHNdKGxvaW5jLmh0bWwjYWxpc3QpLiBUaGUgdmFsdWUgbWF5IGNvbWUgZnJvbSB0aGUgRWxlbWVudERlZmluaXRpb24gcmVmZXJyZWQgdG8gYnkgLmRlZmluaXRpb24uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYW5zd2VyT3B0aW9uIiBkZXNjcmlwdGlvbj0iUGVybWl0dGVkIGFuc3dlciIgZGVmaW5pdGlvbj0iT25lIG9mIHRoZSBwZXJtaXR0ZWQgYW5zd2VycyBmb3IgYSAmcXVvdDtjaG9pY2UmcXVvdDsgb3IgJnF1b3Q7b3Blbi1jaG9pY2UmcXVvdDsgcXVlc3Rpb24uIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgY2FuIGJlIHVzZWQgd2hlbiB0aGUgdmFsdWUgc2V0IG1hY2hpbmVyeSBvZiBhbnN3ZXJWYWx1ZVNldCBpcyBkZWVtZWQgdG9vIGN1bWJlcnNvbWUgb3Igd2hlbiB0aGVyZSdzIGEgbmVlZCB0byBjYXB0dXJlIHBvc3NpYmxlIGFuc3dlcnMgdGhhdCBhcmUgbm90IGNvZGVzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUXVlc3Rpb25uYWlyZS5JdGVtLkFuc3dlck9wdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbml0aWFsIiBkZXNjcmlwdGlvbj0iSW5pdGlhbCB2YWx1ZShzKSB3aGVuIGl0ZW0gaXMgZmlyc3QgcmVuZGVyZWQiIGRlZmluaXRpb249Ik9uZSBvciBtb3JlIHZhbHVlcyB0aGF0IHNob3VsZCBiZSBwcmUtcG9wdWxhdGVkIGluIHRoZSBhbnN3ZXIgd2hlbiBpbml0aWFsbHkgcmVuZGVyaW5nIHRoZSBxdWVzdGlvbm5haXJlIGZvciB1c2VyIGlucHV0LiIgY29tbWVudD0iVGhlIHVzZXIgaXMgYWxsb3dlZCB0byBjaGFuZ2UgdGhlIHZhbHVlIGFuZCBvdmVycmlkZSB0aGUgZGVmYXVsdCAodW5sZXNzIG1hcmtlZCBhcyByZWFkLW9ubHkpLiBJZiB0aGUgdXNlciBkb2Vzbid0IGNoYW5nZSB0aGUgdmFsdWUsIHRoZW4gdGhpcyBpbml0aWFsIHZhbHVlIHdpbGwgYmUgcGVyc2lzdGVkIHdoZW4gdGhlIFF1ZXN0aW9ubmFpcmVSZXNwb25zZSBpcyBpbml0aWFsbHkgY3JlYXRlZC4gIE5vdGUgdGhhdCBpbml0aWFsIHZhbHVlcyBjYW4gaW5mbHVlbmNlIHJlc3VsdHMuICBUaGUgZGF0YSB0eXBlIG9mIGluaXRpYWxbeF0gbXVzdCBhZ3JlZSB3aXRoIHRoZSBpdGVtLnR5cGUsIGFuZCBvbmx5IHJlcGVhdGluZyBpdGVtcyBjYW4gaGF2ZSBtb3JlIHRoZW4gb25lIGluaXRpYWwgdmFsdWUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5RdWVzdGlvbm5haXJlLkl0ZW0uSW5pdGlhbCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpdGVtIiBkZXNjcmlwdGlvbj0iTmVzdGVkIHF1ZXN0aW9ubmFpcmUgaXRlbXMiIGRlZmluaXRpb249IlRleHQsIHF1ZXN0aW9ucyBhbmQgb3RoZXIgZ3JvdXBzIHRvIGJlIG5lc3RlZCBiZW5lYXRoIGEgcXVlc3Rpb24gb3IgZ3JvdXAuIiBjb21tZW50PSJUaGVyZSBpcyBubyBzcGVjaWZpZWQgbGltaXQgdG8gdGhlIGRlcHRoIG9mIG5lc3RpbmcuICBIb3dldmVyLCBRdWVzdGlvbm5haXJlIGF1dGhvcnMgYXJlIGVuY291cmFnZWQgdG8gY29uc2lkZXIgdGhlIGltcGFjdCBvbiB0aGUgdXNlciBhbmQgdXNlciBpbnRlcmZhY2Ugb2Ygb3Zlcmx5IGRlZXAgbmVzdGluZy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUXVlc3Rpb25uYWlyZS5JdGVtIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUXVlc3Rpb25uYWlyZS5JdGVtLkFuc3dlck9wdGlvbiIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQW5zd2VyIHZhbHVlIiBkZWZpbml0aW9uPSJBIHBvdGVudGlhbCBhbnN3ZXIgdGhhdCdzIGFsbG93ZWQgYXMgdGhlIGFuc3dlciB0byB0aGlzIHF1ZXN0aW9uLiIgY29tbWVudD0iVGhlIGRhdGEgdHlwZSBvZiB0aGUgdmFsdWUgbXVzdCBhZ3JlZSB3aXRoIHRoZSBpdGVtLnR5cGUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29kZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlF1ZXN0aW9ubmFpcmVRdWVzdGlvbk9wdGlvbiIgZGVzY3JpcHRpb249IkFsbG93ZWQgdmFsdWVzIHRvIGFuc3dlciBxdWVzdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbml0aWFsU2VsZWN0ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQm9vbGVhbiIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGV0aGVyIG9wdGlvbiBpcyBzZWxlY3RlZCBieSBkZWZhdWx0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgd2hldGhlciB0aGUgYW5zd2VyIHZhbHVlIGlzIHNlbGVjdGVkIHdoZW4gdGhlIGxpc3Qgb2YgcG9zc2libGUgYW5zd2VycyBpcyBpbml0aWFsbHkgc2hvd24uIiBjb21tZW50PSJVc2UgdGhpcyBpbnN0ZWFkIG9mIGluaXRpYWxbdl0gaWYgYW5zd2VyVmFsdWVTZXQgaXMgcHJlc2VudC4iLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlF1ZXN0aW9ubmFpcmUuSXRlbS5FbmFibGVXaGVuIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJxdWVzdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUXVlc3Rpb24gdGhhdCBkZXRlcm1pbmVzIHdoZXRoZXIgaXRlbSBpcyBlbmFibGVkIiBkZWZpbml0aW9uPSJUaGUgbGlua0lkIGZvciB0aGUgcXVlc3Rpb24gd2hvc2UgYW5zd2VyIChvciBsYWNrIG9mIGFuc3dlcikgZ292ZXJucyB3aGV0aGVyIHRoaXMgaXRlbSBpcyBlbmFibGVkLiIgY29tbWVudD0iSWYgbXVsdGlwbGUgcXVlc3Rpb24gb2NjdXJyZW5jZXMgYXJlIHByZXNlbnQgZm9yIHRoZSBzYW1lIHF1ZXN0aW9uIChzYW1lIGxpbmtJZCksIHRoZW4gdGhpcyByZWZlcnMgdG8gdGhlIG5lYXJlc3QgcXVlc3Rpb24gb2NjdXJyZW5jZSByZWFjaGFibGUgYnkgdHJhY2luZyBmaXJzdCB0aGUgJnF1b3Q7YW5jZXN0b3ImcXVvdDsgYXhpcyBhbmQgdGhlbiB0aGUgJnF1b3Q7cHJlY2VkaW5nJnF1b3Q7IGF4aXMgYW5kIHRoZW4gdGhlICZxdW90O2ZvbGxvd2luZyZxdW90OyBheGlzLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im9wZXJhdG9yIiBlbGVtZW50VHlwZT0iUUlDb3JlLlF1ZXN0aW9ubmFpcmVJdGVtT3BlcmF0b3IiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iZXhpc3RzIHwgPSB8ICE9IHwgJmd0OyB8ICZsdDsgfCAmZ3Q7PSB8ICZsdDs9IiBkZWZpbml0aW9uPSJTcGVjaWZpZXMgdGhlIGNyaXRlcmlhIGJ5IHdoaWNoIHRoZSBxdWVzdGlvbiBpcyBlbmFibGVkLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlF1ZXN0aW9ubmFpcmVJdGVtT3BlcmF0b3IiIGRlc2NyaXB0aW9uPSJUaGUgY3JpdGVyaWEgYnkgd2hpY2ggYSBxdWVzdGlvbiBpcyBlbmFibGVkLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImFuc3dlciIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJWYWx1ZSBmb3IgcXVlc3Rpb24gY29tcGFyaXNvbiBiYXNlZCBvbiBvcGVyYXRvciIgZGVmaW5pdGlvbj0iQSB2YWx1ZSB0aGF0IHRoZSByZWZlcmVuY2VkIHF1ZXN0aW9uIGlzIHRlc3RlZCB1c2luZyB0aGUgc3BlY2lmaWVkIG9wZXJhdG9yIGluIG9yZGVyIGZvciB0aGUgaXRlbSB0byBiZSBlbmFibGVkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJCb29sZWFuIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEZWNpbWFsIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJJbnRlZ2VyIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb2RlIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlF1ZXN0aW9ubmFpcmVRdWVzdGlvbk9wdGlvbjMiIGRlc2NyaXB0aW9uPSJBbGxvd2VkIHZhbHVlcyB0byBhbnN3ZXIgcXVlc3Rpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJRdWVzdGlvbm5haXJlLkl0ZW0uSW5pdGlhbCIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQWN0dWFsIHZhbHVlIGZvciBpbml0aWFsaXppbmcgdGhlIHF1ZXN0aW9uIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIHZhbHVlIHRvIGZvciBhbiBpbml0aWFsIGFuc3dlci4iIGNvbW1lbnQ9IlRoZSB0eXBlIG9mIHRoZSBpbml0aWFsIHZhbHVlIG11c3QgYmUgY29uc2lzdGVudCB3aXRoIHRoZSB0eXBlIG9mIHRoZSBpdGVtLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJCb29sZWFuIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEZWNpbWFsIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJJbnRlZ2VyIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkF0dGFjaG1lbnQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvZGUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUXVlc3Rpb25uYWlyZVF1ZXN0aW9uT3B0aW9uMiIgZGVzY3JpcHRpb249IkFsbG93ZWQgdmFsdWVzIHRvIGFuc3dlciBxdWVzdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlF1ZXN0aW9ubmFpcmVJdGVtT3BlcmF0b3IiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUXVlc3Rpb25uYWlyZUl0ZW1UeXBlIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlF1ZXN0aW9ubmFpcmVSZXNwb25zZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtcXVlc3Rpb25uYWlyZXJlc3BvbnNlIiBsYWJlbD0iUUlDb3JlIFF1ZXN0aW9ubmFpcmVSZXNwb25zZSIgcmV0cmlldmFibGU9InRydWUiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InNpZ25hdHVyZSIgdGFyZ2V0PSIlcGFyZW50LmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9xdWVzdGlvbm5haXJlcmVzcG9uc2Utc2lnbmF0dXJlJ10iIGRlc2NyaXB0aW9uPSJBIHNpZ25hdHVyZSBhdHRlc3RpbmcgdG8gdGhlIGNvbnRlbnQiIGRlZmluaXRpb249IlJlcHJlc2VudHMgYSB3ZXQgb3IgZWxlY3Ryb25pYyBzaWduYXR1cmUgZm9yIGVpdGhlciB0aGUgZm9ybSBvdmVyYWxsIG9yIGZvciB0aGUgcXVlc3Rpb24gb3IgaXRlbSBpdCdzIGFzc29jaWF0ZWQgd2l0aC4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuc2lnbmF0dXJlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbXBsZXRpb25Nb2RlIiBlbGVtZW50VHlwZT0iUUlDb3JlLmNvbXBsZXRpb25Nb2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCglcGFyZW50LmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9xdWVzdGlvbm5haXJlcmVzcG9uc2UtY29tcGxldGlvbk1vZGUnXS52YWx1ZSkiIGRlc2NyaXB0aW9uPSJFLmcuIFZlcmJhbCwgd3JpdHRlbiwgZWxlY3Ryb25pYyIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIGhvdyB0aGUgaW5kaXZpZHVhbCBjb21wbGV0aW5nIHRoZSBRdWVzdGlvbm5haXJlUmVzcG9uc2UgcHJvdmlkZWQgdGhlaXIgcmVzcG9uc2VzLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iVW5pcXVlIGlkIGZvciB0aGlzIHNldCBvZiBhbnN3ZXJzIiBkZWZpbml0aW9uPSJBIGJ1c2luZXNzIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gYSBwYXJ0aWN1bGFyIGNvbXBsZXRlZCAob3IgcGFydGlhbGx5IGNvbXBsZXRlZCkgcXVlc3Rpb25uYWlyZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IlJlcXVlc3QgZnVsZmlsbGVkIGJ5IHRoaXMgUXVlc3Rpb25uYWlyZVJlc3BvbnNlIiBkZWZpbml0aW9uPSJUaGUgb3JkZXIsIHByb3Bvc2FsIG9yIHBsYW4gdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIFF1ZXN0aW9ubmFpcmVSZXNwb25zZS4gIEZvciBleGFtcGxlLCBhIFNlcnZpY2VSZXF1ZXN0IHNlZWtpbmcgYW4gaW50YWtlIGFzc2Vzc21lbnQgb3IgYSBkZWNpc2lvbiBzdXBwb3J0IHJlY29tbWVuZGF0aW9uIHRvIGFzc2VzcyBmb3IgcG9zdC1wYXJ0dW0gZGVwcmVzc2lvbi4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IlBhcnQgb2YgdGhpcyBhY3Rpb24iIGRlZmluaXRpb249IkEgcHJvY2VkdXJlIG9yIG9ic2VydmF0aW9uIHRoYXQgdGhpcyBxdWVzdGlvbm5haXJlIHdhcyBwZXJmb3JtZWQgYXMgcGFydCBvZiB0aGUgZXhlY3V0aW9uIG9mLiAgRm9yIGV4YW1wbGUsIHRoZSBzdXJnZXJ5IGEgY2hlY2tsaXN0IHdhcyBleGVjdXRlZCBhcyBwYXJ0IG9mLiIgY29tbWVudD0iQ29tcG9zaXRpb24gb2YgcXVlc3Rpb25uYWlyZSByZXNwb25zZXMgd2lsbCBiZSBoYW5kbGVkIGJ5IHRoZSBwYXJlbnQgcXVlc3Rpb25uYWlyZSBoYXZpbmcgYW5zd2VycyB0aGF0IHJlZmVyZW5jZSB0aGUgY2hpbGQgcXVlc3Rpb25uYWlyZS4gIEZvciByZWxhdGlvbnNoaXBzIHRvIHJlZmVycmFscywgYW5kIG90aGVyIHR5cGVzIG9mIHJlcXVlc3RzLCB1c2UgYmFzZWRPbi4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InF1ZXN0aW9ubmFpcmUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihVU0NESSkgRm9ybSBiZWluZyBhbnN3ZXJlZCIgZGVmaW5pdGlvbj0iVGhlIFF1ZXN0aW9ubmFpcmUgdGhhdCBkZWZpbmVzIGFuZCBvcmdhbml6ZXMgdGhlIHF1ZXN0aW9ucyBmb3Igd2hpY2ggYW5zd2VycyBhcmUgYmVpbmcgcHJvdmlkZWQuIiBjb21tZW50PSJGb3IgU0RDLCB0aGlzIFNIQUxMIGJlIHRoZSB2ZXJzaW9uLXNwZWNpZmljIFVSTCBvZiB0aGUgZm9ybSBhcyBob3N0ZWQgb24gdGhlIEZvcm0gTWFuYWdlci4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLlF1ZXN0aW9ubmFpcmVSZXNwb25zZVN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoVVNDREkpIGluLXByb2dyZXNzIHwgY29tcGxldGVkIHwgYW1lbmRlZCB8IGVudGVyZWQtaW4tZXJyb3IgfCBzdG9wcGVkIiBkZWZpbml0aW9uPSJUaGUgcG9zaXRpb24gb2YgdGhlIHF1ZXN0aW9ubmFpcmUgcmVzcG9uc2Ugd2l0aGluIGl0cyBvdmVyYWxsIGxpZmVjeWNsZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUXVlc3Rpb25uYWlyZVJlc3BvbnNlU3RhdHVzIiBkZXNjcmlwdGlvbj0iTGlmZWN5Y2xlIHN0YXR1cyBvZiB0aGUgcXVlc3Rpb25uYWlyZSByZXNwb25zZS4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgVGhlIHN1YmplY3Qgb2YgdGhlIHF1ZXN0aW9ucyIgZGVmaW5pdGlvbj0iVGhlIHN1YmplY3Qgb2YgdGhlIHF1ZXN0aW9ubmFpcmUgcmVzcG9uc2UuICBUaGlzIGNvdWxkIGJlIGEgcGF0aWVudCwgb3JnYW5pemF0aW9uLCBwcmFjdGl0aW9uZXIsIGRldmljZSwgZXRjLiAgVGhpcyBpcyB3aG8vd2hhdCB0aGUgYW5zd2VycyBhcHBseSB0bywgYnV0IGlzIG5vdCBuZWNlc3NhcmlseSB0aGUgc291cmNlIG9mIGluZm9ybWF0aW9uLiIgY29tbWVudD0iLSIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iRW5jb3VudGVyIGNyZWF0ZWQgYXMgcGFydCBvZiIgZGVmaW5pdGlvbj0iVGhlIEVuY291bnRlciBkdXJpbmcgd2hpY2ggdGhpcyBxdWVzdGlvbm5haXJlIHJlc3BvbnNlIHdhcyBjcmVhdGVkIG9yIHRvIHdoaWNoIHRoZSBjcmVhdGlvbiBvZiB0aGlzIHJlY29yZCBpcyB0aWdodGx5IGFzc29jaWF0ZWQuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgYWN0aXZpdGllcyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyLiBBIHF1ZXN0aW9ubmFpcmUgdGhhdCB3YXMgaW5pdGlhdGVkIGR1cmluZyBhbiBlbmNvdW50ZXIgYnV0IG5vdCBmdWxseSBjb21wbGV0ZWQgZHVyaW5nIHRoZSBlbmNvdW50ZXIgd291bGQgc3RpbGwgZ2VuZXJhbGx5IGJlIGFzc29jaWF0ZWQgd2l0aCB0aGUgZW5jb3VudGVyLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBEYXRlIHRoZSBhbnN3ZXJzIHdlcmUgZ2F0aGVyZWQiIGRlZmluaXRpb249IklkZW50aWZpZXMgd2hlbiB0aGlzIHZlcnNpb24gb2YgdGhlIGFuc3dlciBzZXQgd2FzIGNyZWF0ZWQuICBDaGFuZ2VzIHdoZW5ldmVyIHRoZSBhbnN3ZXJzIGFyZSB1cGRhdGVkLiIgY29tbWVudD0iTWF5IGJlIGRpZmZlcmVudCBmcm9tIHRoZSBsYXN0VXBkYXRlVGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmLCBiZWNhdXNlIHRoYXQgcmVmbGVjdHMgd2hlbiB0aGUgZGF0YSB3YXMga25vd24gdG8gdGhlIHNlcnZlciwgbm90IHdoZW4gdGhlIGRhdGEgd2FzIGNhcHR1cmVkLiYjMTA7JiMxMDtUaGlzIGVsZW1lbnQgaXMgb3B0aW9uYWwgdG8gYWxsb3cgZm9yIHN5c3RlbXMgdGhhdCBtaWdodCBub3Qga25vdyB0aGUgdmFsdWUsIGhvd2V2ZXIgaXQgU0hPVUxEIGJlIHBvcHVsYXRlZCBpZiBwb3NzaWJsZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgUGVyc29uIHdobyByZWNlaXZlZCBhbmQgcmVjb3JkZWQgdGhlIGFuc3dlcnMiIGRlZmluaXRpb249IlBlcnNvbiB3aG8gcmVjZWl2ZWQgdGhlIGFuc3dlcnMgdG8gdGhlIHF1ZXN0aW9ucyBpbiB0aGUgUXVlc3Rpb25uYWlyZVJlc3BvbnNlIGFuZCByZWNvcmRlZCB0aGVtIGluIHRoZSBzeXN0ZW0uIiBjb21tZW50PSJNYXBwaW5nIGEgc3ViamVjdCdzIGFuc3dlcnMgdG8gbXVsdGlwbGUgY2hvaWNlIG9wdGlvbnMgYW5kIGRldGVybWluaW5nIHdoYXQgdG8gcHV0IGluIHRoZSB0ZXh0dWFsIGFuc3dlciBpcyBhIG1hdHRlciBvZiBpbnRlcnByZXRhdGlvbi4gIEF1dGhvcmluZyBieSBkZXZpY2Ugd291bGQgaW5kaWNhdGUgdGhhdCBzb21lIHBvcnRpb24gb2YgdGhlIHF1ZXN0aW9ubmFpcmUgaGFkIGJlZW4gYXV0by1wb3B1bGF0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InNvdXJjZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJUaGUgcGVyc29uIHdobyBhbnN3ZXJlZCB0aGUgcXVlc3Rpb25zIiBkZWZpbml0aW9uPSJUaGUgcGVyc29uIHdobyBhbnN3ZXJlZCB0aGUgcXVlc3Rpb25zIGFib3V0IHRoZSBzdWJqZWN0LiIgY29tbWVudD0iSWYgbm90IHNwZWNpZmllZCwgbm8gaW5mZXJlbmNlIGNhbiBiZSBtYWRlIGFib3V0IHdobyBwcm92aWRlZCB0aGUgZGF0YS4iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Iml0ZW0iIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIEdyb3VwcyBhbmQgcXVlc3Rpb25zIiBkZWZpbml0aW9uPSJBIGdyb3VwIG9yIHF1ZXN0aW9uIGl0ZW0gZnJvbSB0aGUgb3JpZ2luYWwgcXVlc3Rpb25uYWlyZSBmb3Igd2hpY2ggYW5zd2VycyBhcmUgcHJvdmlkZWQuIiBjb21tZW50PSJHcm91cHMgY2Fubm90IGhhdmUgYW5zd2VycyBhbmQgdGhlcmVmb3JlIG11c3QgbmVzdCBkaXJlY3RseSB3aXRoaW4gaXRlbS4gV2hlbiBkZWFsaW5nIHdpdGggcXVlc3Rpb25zLCBuZXN0aW5nIG11c3Qgb2NjdXIgd2l0aGluIGVhY2ggYW5zd2VyIGJlY2F1c2Ugc29tZSBxdWVzdGlvbnMgbWF5IGhhdmUgbXVsdGlwbGUgYW5zd2VycyAoYW5kIHRoZSBuZXN0aW5nIG9jY3VycyBmb3IgZWFjaCBhbnN3ZXIpLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlF1ZXN0aW9ubmFpcmVSZXNwb25zZS5JdGVtIi8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InFycy0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik5lc3RlZCBpdGVtIGNhbid0IGJlIGJlbmVhdGggYm90aCBpdGVtIGFuZCBhbnN3ZXIiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249IihhbnN3ZXIuZXhpc3RzKCkgYW5kIGl0ZW0uZXhpc3RzKCkpLm5vdCgpIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0iYXV0aG9yIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUHJhY3RpdGlvbmVyIiByZWxhdGVkS2V5RWxlbWVudD0ic291cmNlIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUGF0aWVudCIgcmVsYXRlZEtleUVsZW1lbnQ9InN1YmplY3QiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0iYXV0aG9yIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iRW5jb3VudGVyIiByZWxhdGVkS2V5RWxlbWVudD0iZW5jb3VudGVyIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iRGV2aWNlIiByZWxhdGVkS2V5RWxlbWVudD0iYXV0aG9yIi8+CiAgICAgICAgPGNvbnRleHRSZWxhdGlvbnNoaXAgY29udGV4dD0iUmVsYXRlZFBlcnNvbiIgcmVsYXRlZEtleUVsZW1lbnQ9ImF1dGhvciIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlJlbGF0ZWRQZXJzb24iIHJlbGF0ZWRLZXlFbGVtZW50PSJzb3VyY2UiLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlF1ZXN0aW9ubmFpcmVSZXNwb25zZS5JdGVtIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsaW5rSWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgUG9pbnRlciB0byBzcGVjaWZpYyBpdGVtIGZyb20gUXVlc3Rpb25uYWlyZSIgZGVmaW5pdGlvbj0iVGhlIGl0ZW0gZnJvbSB0aGUgUXVlc3Rpb25uYWlyZSB0aGF0IGNvcnJlc3BvbmRzIHRvIHRoaXMgaXRlbSBpbiB0aGUgUXVlc3Rpb25uYWlyZVJlc3BvbnNlIHJlc291cmNlLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZWZpbml0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJFbGVtZW50RGVmaW5pdGlvbiAtIGRldGFpbHMgZm9yIHRoZSBpdGVtIiBkZWZpbml0aW9uPSJBIHJlZmVyZW5jZSB0byBhbiBbRWxlbWVudERlZmluaXRpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZWxlbWVudGRlZmluaXRpb24uaHRtbCkgdGhhdCBwcm92aWRlcyB0aGUgZGV0YWlscyBmb3IgdGhlIGl0ZW0uIiBjb21tZW50PSJUaGUgRWxlbWVudERlZmluaXRpb24gbXVzdCBiZSBpbiBhIFtTdHJ1Y3R1cmVEZWZpbml0aW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3N0cnVjdHVyZWRlZmluaXRpb24uaHRtbCMpLCBhbmQgbXVzdCBoYXZlIGEgZnJhZ21lbnQgaWRlbnRpZmllciB0aGF0IGlkZW50aWZpZXMgdGhlIHNwZWNpZmljIGRhdGEgZWxlbWVudCBieSBpdHMgaWQgKEVsZW1lbnQuaWQpLiBFLmcuIGh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9PYnNlcnZhdGlvbiNPYnNlcnZhdGlvbi52YWx1ZVt4XS4mIzEwOyYjMTA7VGhlcmUgaXMgbm8gbmVlZCBmb3IgdGhpcyBlbGVtZW50IGlmIHRoZSBpdGVtIHBvaW50ZWQgdG8gYnkgdGhlIGxpbmtJZCBoYXMgYSBkZWZpbml0aW9uIGxpc3RlZC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0ZXh0IiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOYW1lIGZvciBncm91cCBvciBxdWVzdGlvbiB0ZXh0IiBkZWZpbml0aW9uPSJUZXh0IHRoYXQgaXMgZGlzcGxheWVkIGFib3ZlIHRoZSBjb250ZW50cyBvZiB0aGUgZ3JvdXAgb3IgYXMgdGhlIHRleHQgb2YgdGhlIHF1ZXN0aW9uIGJlaW5nIGFuc3dlcmVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhbnN3ZXIiIGRlc2NyaXB0aW9uPSJUaGUgcmVzcG9uc2UocykgdG8gdGhlIHF1ZXN0aW9uIiBkZWZpbml0aW9uPSJUaGUgcmVzcG9uZGVudCdzIGFuc3dlcihzKSB0byB0aGUgcXVlc3Rpb24uIiBjb21tZW50PSJUaGUgdmFsdWUgaXMgbmVzdGVkIGJlY2F1c2Ugd2UgY2Fubm90IGhhdmUgYSByZXBlYXRpbmcgc3RydWN0dXJlIHRoYXQgaGFzIHZhcmlhYmxlIHR5cGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUXVlc3Rpb25uYWlyZVJlc3BvbnNlLkl0ZW0uQW5zd2VyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Iml0ZW0iIGRlc2NyaXB0aW9uPSJOZXN0ZWQgcXVlc3Rpb25uYWlyZSByZXNwb25zZSBpdGVtcyIgZGVmaW5pdGlvbj0iUXVlc3Rpb25zIG9yIHN1Yi1ncm91cHMgbmVzdGVkIGJlbmVhdGggYSBxdWVzdGlvbiBvciBncm91cC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5RdWVzdGlvbm5haXJlUmVzcG9uc2UuSXRlbSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpdGVtTWVkaWEiIHRhcmdldD0iJXBhcmVudC5pdGVtLmV4dGVuc2lvblt1cmw9J251bGwnXSIgZGVzY3JpcHRpb249Ik1lZGlhIHRvIGRpc3BsYXkiIGRlZmluaXRpb249Ik1lZGlhIHRvIHJlbmRlci9tYWtlIGF2YWlsYWJsZSBhcyBhbiBhY2NvbXBhbmltZW50IHRvIHRoZSBxdWVzdGlvbiBiZWluZyBhc2tlZCIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iSXRlbVNpZ25hdHVyZSIgdGFyZ2V0PSIlcGFyZW50Lml0ZW0uZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL3F1ZXN0aW9ubmFpcmVyZXNwb25zZS1zaWduYXR1cmUnXSIgZGVzY3JpcHRpb249IkEgc2lnbmF0dXJlIGF0dGVzdGluZyB0byB0aGUgY29udGVudCIgZGVmaW5pdGlvbj0iUmVwcmVzZW50cyBhIHdldCBvciBlbGVjdHJvbmljIHNpZ25hdHVyZSBmb3IgZWl0aGVyIHRoZSBmb3JtIG92ZXJhbGwgb3IgZm9yIHRoZSBxdWVzdGlvbiBvciBpdGVtIGl0J3MgYXNzb2NpYXRlZCB3aXRoLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5zaWduYXR1cmUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJRdWVzdGlvbm5haXJlUmVzcG9uc2UuSXRlbS5BbnN3ZXIiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgU2luZ2xlLXZhbHVlZCBhbnN3ZXIgdG8gdGhlIHF1ZXN0aW9uIiBkZWZpbml0aW9uPSJUaGUgYW5zd2VyIChvciBvbmUgb2YgdGhlIGFuc3dlcnMpIHByb3ZpZGVkIGJ5IHRoZSByZXNwb25kZW50IHRvIHRoZSBxdWVzdGlvbi4iIGNvbW1lbnQ9Ik1vcmUgY29tcGxleCBzdHJ1Y3R1cmVzIChBdHRhY2htZW50LCBSZXNvdXJjZSBhbmQgUXVhbnRpdHkpIHdpbGwgdHlwaWNhbGx5IGJlIGxpbWl0ZWQgdG8gZWxlY3Ryb25pYyBmb3JtcyB0aGF0IGNhbiBleHBvc2UgYW4gYXBwcm9wcmlhdGUgdXNlciBpbnRlcmZhY2UgdG8gY2FwdHVyZSB0aGUgY29tcG9uZW50cyBhbmQgZW5mb3JjZSB0aGUgY29uc3RyYWludHMgb2YgYSBjb21wbGV4IGRhdGEgdHlwZS4gIEFkZGl0aW9uYWwgY29tcGxleCB0eXBlcyBjYW4gYmUgaW50cm9kdWNlZCB0aHJvdWdoIGV4dGVuc2lvbnMuIE11c3QgbWF0Y2ggdGhlIGRhdGF0eXBlIHNwZWNpZmllZCBieSBRdWVzdGlvbm5haXJlLml0ZW0udHlwZSBpbiB0aGUgY29ycmVzcG9uZGluZyBRdWVzdGlvbm5haXJlLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29kZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEZWNpbWFsIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iUXVlc3Rpb25uYWlyZUFuc3dlciIgZGVzY3JpcHRpb249IkNvZGUgaW5kaWNhdGluZyB0aGUgcmVzcG9uc2UgcHJvdmlkZWQgZm9yIGEgcXVlc3Rpb24uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpdGVtIiBkZXNjcmlwdGlvbj0iTmVzdGVkIGdyb3VwcyBhbmQgcXVlc3Rpb25zIiBkZWZpbml0aW9uPSJOZXN0ZWQgZ3JvdXBzIGFuZC9vciBxdWVzdGlvbnMgZm91bmQgd2l0aGluIHRoaXMgcGFydGljdWxhciBhbnN3ZXIuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUXVlc3Rpb25uYWlyZVJlc3BvbnNlLkl0ZW0iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaXRlbUFuc3dlck1lZGlhIiB0YXJnZXQ9IiVwYXJlbnQuYW5zd2VyLmV4dGVuc2lvblt1cmw9J251bGwnXSIgZGVzY3JpcHRpb249IkFuc3dlciBNZWRpYSB0byBkaXNwbGF5IiBkZWZpbml0aW9uPSJNZWRpYSB0byByZW5kZXIvbWFrZSBhdmFpbGFibGUgYXMgYW4gYWNjb21wYW5pbWVudCB0byBhIHNwZWNpZmljIGFuc3dlciBvcHRpb24iIG11c3RTdXBwb3J0PSJmYWxzZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im9yZGluYWxWYWx1ZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5PcmRpbmFsIFZhbHVlIiB0YXJnZXQ9IiVwYXJlbnQuYW5zd2VyLmV4dGVuc2lvblt1cmw9J2h0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9vcmRpbmFsVmFsdWUnXS52YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkFzc2lnbmVkIE9yZGluYWwgVmFsdWUiIGRlZmluaXRpb249IkEgbnVtZXJpYyB2YWx1ZSB0aGF0IGFsbG93cyB0aGUgY29tcGFyaXNvbiAobGVzcyB0aGFuLCBncmVhdGVyIHRoYW4pIG9yIG90aGVyIG51bWVyaWNhbCAmIzEwO21hbmlwdWxhdGlvbiBvZiBhIGNvbmNlcHQgKGUuZy4gQWRkaW5nIHVwIGNvbXBvbmVudHMgb2YgYSBzY29yZSkuIFNjb3JlcyBhcmUgdXN1YWxseSBhIHdob2xlIG51bWJlciwgYnV0IG9jY2FzaW9uYWxseSBkZWNpbWFscyBhcmUgZW5jb3VudGVyZWQgaW4gc2NvcmVzLiIgY29tbWVudD0iU2NvcmVzIGFyZSBjb21tb25seSBlbmNvdW50ZXJlZCBpbiB2YXJpb3VzIGNsaW5pY2FsIGFzc2Vzc21lbnQgc2NhbGVzLiBBc3NpZ25pbmcgYSB2YWx1ZSB0byBhIGNvbmNlcHQgc2hvdWxkIGdlbmVyYWxseSBiZSBkb25lIGluIGEgZm9ybWFsIGNvZGUgc3lzdGVtIHRoYXQgZGVmaW5lcyB0aGUgdmFsdWUsIG9yIGluIGFuIGFwcGxpY2FibGUgdmFsdWUgc2V0IGZvciB0aGUgY29uY2VwdCwgYnV0IHNvbWUgY29uY2VwdHMgZG8gbm90IGhhdmUgYSBmb3JtYWwgZGVmaW5pdGlvbiAob3IgYXJlIG5vdCBldmVuIHJlcHJlc2VudGVkIGFzIGEgY29uY2VwdCBmb3JtYWxseSwgZXNwZWNpYWxseSBpbiBbUXVlc3Rpb25uYWlyZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcXVlc3Rpb25uYWlyZS5odG1sKSwgJiMxMDtzbyB0aGlzIGV4dGVuc2lvbiBpcyBhbGxvd2VkIHRvIGFwcGVhciBvdXNpZGUgdGhvc2UgcHJlZmVycmVkIGNvbnRleHRzLiAgU2NvcmVzIG1heSBldmVuIGJlIGFzc2lnbmVkIGFyYml0cmFyaWx5IGR1cmluZyB1c2UgKGhlbmNlLCBvbiBDb2RpbmcpLiBUaGUgdmFsdWUgbWF5IGJlIGNvbnN0cmFpbmVkIHRvIGFuIGludGVnZXIgaW4gc29tZSBjb250ZXh0cyBvZiB1c2UuIFRvZG86IFNjb3JpbmcgYWxnb3JpdGhtcyBtYXkgYWxzbyBiZSBkZWZpbmVkIGRpcmVjdGx5LCBidXQgaG93IHRoaXMgaXMgZG9uZSBpcyBub3QgeWV0IGRlZmluZWQuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlF1ZXN0aW9ubmFpcmVSZXNwb25zZVN0YXR1cyIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9SZWZlcmVuY2UiIGxhYmVsPSJSZWZlcmVuY2UiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5FbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkxpdGVyYWwgcmVmZXJlbmNlLCBSZWxhdGl2ZSwgaW50ZXJuYWwgb3IgYWJzb2x1dGUgVVJMIiBkZWZpbml0aW9uPSJBIHJlZmVyZW5jZSB0byBhIGxvY2F0aW9uIGF0IHdoaWNoIHRoZSBvdGhlciByZXNvdXJjZSBpcyBmb3VuZC4gVGhlIHJlZmVyZW5jZSBtYXkgYmUgYSByZWxhdGl2ZSByZWZlcmVuY2UsIGluIHdoaWNoIGNhc2UgaXQgaXMgcmVsYXRpdmUgdG8gdGhlIHNlcnZpY2UgYmFzZSBVUkwsIG9yIGFuIGFic29sdXRlIFVSTCB0aGF0IHJlc29sdmVzIHRvIHRoZSBsb2NhdGlvbiB3aGVyZSB0aGUgcmVzb3VyY2UgaXMgZm91bmQuIFRoZSByZWZlcmVuY2UgbWF5IGJlIHZlcnNpb24gc3BlY2lmaWMgb3Igbm90LiBJZiB0aGUgcmVmZXJlbmNlIGlzIG5vdCB0byBhIEZISVIgUkVTVGZ1bCBzZXJ2ZXIsIHRoZW4gaXQgc2hvdWxkIGJlIGFzc3VtZWQgdG8gYmUgdmVyc2lvbiBzcGVjaWZpYy4gSW50ZXJuYWwgZnJhZ21lbnQgcmVmZXJlbmNlcyAoc3RhcnQgd2l0aCAnIycpIHJlZmVyIHRvIGNvbnRhaW5lZCByZXNvdXJjZXMuIiBjb21tZW50PSJVc2luZyBhYnNvbHV0ZSBVUkxzIHByb3ZpZGVzIGEgc3RhYmxlIHNjYWxhYmxlIGFwcHJvYWNoIHN1aXRhYmxlIGZvciBhIGNsb3VkL3dlYiBjb250ZXh0LCB3aGlsZSB1c2luZyByZWxhdGl2ZS9sb2dpY2FsIHJlZmVyZW5jZXMgcHJvdmlkZXMgYSBmbGV4aWJsZSBhcHByb2FjaCBzdWl0YWJsZSBmb3IgdXNlIHdoZW4gdHJhZGluZyBhY3Jvc3MgY2xvc2VkIGVjby1zeXN0ZW0gYm91bmRhcmllcy4gICBBYnNvbHV0ZSBVUkxzIGRvIG5vdCBuZWVkIHRvIHBvaW50IHRvIGEgRkhJUiBSRVNUZnVsIHNlcnZlciwgdGhvdWdoIHRoaXMgaXMgdGhlIHByZWZlcnJlZCBhcHByb2FjaC4gSWYgdGhlIFVSTCBjb25mb3JtcyB0byB0aGUgc3RydWN0dXJlICZxdW90Oy9bdHlwZV0vW2lkXSZxdW90OyB0aGVuIGl0IHNob3VsZCBiZSBhc3N1bWVkIHRoYXQgdGhlIHJlZmVyZW5jZSBpcyB0byBhIEZISVIgUkVTVGZ1bCBzZXJ2ZXIuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVHlwZSB0aGUgcmVmZXJlbmNlIHJlZmVycyB0byAoZS5nLiAmcXVvdDtQYXRpZW50JnF1b3Q7KSIgZGVmaW5pdGlvbj0iVGhlIGV4cGVjdGVkIHR5cGUgb2YgdGhlIHRhcmdldCBvZiB0aGUgcmVmZXJlbmNlLiBJZiBib3RoIFJlZmVyZW5jZS50eXBlIGFuZCBSZWZlcmVuY2UucmVmZXJlbmNlIGFyZSBwb3B1bGF0ZWQgYW5kIFJlZmVyZW5jZS5yZWZlcmVuY2UgaXMgYSBGSElSIFVSTCwgYm90aCBTSEFMTCBiZSBjb25zaXN0ZW50LiYjMTA7JiMxMDtUaGUgdHlwZSBpcyB0aGUgQ2Fub25pY2FsIFVSTCBvZiBSZXNvdXJjZSBEZWZpbml0aW9uIHRoYXQgaXMgdGhlIHR5cGUgdGhpcyByZWZlcmVuY2UgcmVmZXJzIHRvLiBSZWZlcmVuY2VzIGFyZSBVUkxzIHRoYXQgYXJlIHJlbGF0aXZlIHRvIGh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi8gZS5nLiAmcXVvdDtQYXRpZW50JnF1b3Q7IGlzIGEgcmVmZXJlbmNlIHRvIGh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9QYXRpZW50LiBBYnNvbHV0ZSBVUkxzIGFyZSBvbmx5IGFsbG93ZWQgZm9yIGxvZ2ljYWwgbW9kZWxzIChhbmQgY2FuIG9ubHkgYmUgdXNlZCBpbiByZWZlcmVuY2VzIGluIGxvZ2ljYWwgbW9kZWxzLCBub3QgcmVzb3VyY2VzKS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyB1c2VkIHRvIGluZGljYXRlIHRoZSB0eXBlIG9mICB0aGUgdGFyZ2V0IG9mIHRoZSByZWZlcmVuY2UuIFRoaXMgbWF5IGJlIHVzZWQgd2hpY2ggZXZlciBvZiB0aGUgb3RoZXIgZWxlbWVudHMgYXJlIHBvcHVsYXRlZCAob3Igbm90KS4gSW4gc29tZSBjYXNlcywgdGhlIHR5cGUgb2YgdGhlIHRhcmdldCBtYXkgYmUgZGV0ZXJtaW5lZCBieSBpbnNwZWN0aW9uIG9mIHRoZSByZWZlcmVuY2UgKGUuZy4gYSBSRVNUZnVsIFVSTCkgb3IgYnkgcmVzb2x2aW5nIHRoZSB0YXJnZXQgb2YgdGhlIHJlZmVyZW5jZTsgaWYgYm90aCB0aGUgdHlwZSBhbmQgYSByZWZlcmVuY2UgaXMgcHJvdmlkZWQsIHRoZSByZWZlcmVuY2UgU0hBTEwgcmVzb2x2ZSB0byBhIHJlc291cmNlIG9mIHRoZSBzYW1lIHR5cGUgYXMgdGhhdCBzcGVjaWZpZWQuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRkhJUlJlc291cmNlVHlwZUV4dCIgZGVzY3JpcHRpb249IkFhIHJlc291cmNlIChvciwgZm9yIGxvZ2ljYWwgbW9kZWxzLCB0aGUgVVJJIG9mIHRoZSBsb2dpY2FsIG1vZGVsKS4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgZGVzY3JpcHRpb249IkxvZ2ljYWwgcmVmZXJlbmNlLCB3aGVuIGxpdGVyYWwgcmVmZXJlbmNlIGlzIG5vdCBrbm93biIgZGVmaW5pdGlvbj0iQW4gaWRlbnRpZmllciBmb3IgdGhlIHRhcmdldCByZXNvdXJjZS4gVGhpcyBpcyB1c2VkIHdoZW4gdGhlcmUgaXMgbm8gd2F5IHRvIHJlZmVyZW5jZSB0aGUgb3RoZXIgcmVzb3VyY2UgZGlyZWN0bHksIGVpdGhlciBiZWNhdXNlIHRoZSBlbnRpdHkgaXQgcmVwcmVzZW50cyBpcyBub3QgYXZhaWxhYmxlIHRocm91Z2ggYSBGSElSIHNlcnZlciwgb3IgYmVjYXVzZSB0aGVyZSBpcyBubyB3YXkgZm9yIHRoZSBhdXRob3Igb2YgdGhlIHJlc291cmNlIHRvIGNvbnZlcnQgYSBrbm93biBpZGVudGlmaWVyIHRvIGFuIGFjdHVhbCBsb2NhdGlvbi4gVGhlcmUgaXMgbm8gcmVxdWlyZW1lbnQgdGhhdCBhIFJlZmVyZW5jZS5pZGVudGlmaWVyIHBvaW50IHRvIHNvbWV0aGluZyB0aGF0IGlzIGFjdHVhbGx5IGV4cG9zZWQgYXMgYSBGSElSIGluc3RhbmNlLCBidXQgaXQgU0hBTEwgcG9pbnQgdG8gYSBidXNpbmVzcyBjb25jZXB0IHRoYXQgd291bGQgYmUgZXhwZWN0ZWQgdG8gYmUgZXhwb3NlZCBhcyBhIEZISVIgaW5zdGFuY2UsIGFuZCB0aGF0IGluc3RhbmNlIHdvdWxkIG5lZWQgdG8gYmUgb2YgYSBGSElSIHJlc291cmNlIHR5cGUgYWxsb3dlZCBieSB0aGUgcmVmZXJlbmNlLiIgY29tbWVudD0iV2hlbiBhbiBpZGVudGlmaWVyIGlzIHByb3ZpZGVkIGluIHBsYWNlIG9mIGEgcmVmZXJlbmNlLCBhbnkgc3lzdGVtIHByb2Nlc3NpbmcgdGhlIHJlZmVyZW5jZSB3aWxsIG9ubHkgYmUgYWJsZSB0byByZXNvbHZlIHRoZSBpZGVudGlmaWVyIHRvIGEgcmVmZXJlbmNlIGlmIGl0IHVuZGVyc3RhbmRzIHRoZSBidXNpbmVzcyBjb250ZXh0IGluIHdoaWNoIHRoZSBpZGVudGlmaWVyIGlzIHVzZWQuIFNvbWV0aW1lcyB0aGlzIGlzIGdsb2JhbCAoZS5nLiBhIG5hdGlvbmFsIGlkZW50aWZpZXIpIGJ1dCBvZnRlbiBpdCBpcyBub3QuIEZvciB0aGlzIHJlYXNvbiwgbm9uZSBvZiB0aGUgdXNlZnVsIG1lY2hhbmlzbXMgZGVzY3JpYmVkIGZvciB3b3JraW5nIHdpdGggcmVmZXJlbmNlcyAoZS5nLiBjaGFpbmluZywgaW5jbHVkZXMpIGFyZSBwb3NzaWJsZSwgbm9yIHNob3VsZCBzZXJ2ZXJzIGJlIGV4cGVjdGVkIHRvIGJlIGFibGUgcmVzb2x2ZSB0aGUgcmVmZXJlbmNlLiBTZXJ2ZXJzIG1heSBhY2NlcHQgYW4gaWRlbnRpZmllciBiYXNlZCByZWZlcmVuY2UgdW50b3VjaGVkLCByZXNvbHZlIGl0LCBhbmQvb3IgcmVqZWN0IGl0IC0gc2VlIENhcGFiaWxpdHlTdGF0ZW1lbnQucmVzdC5yZXNvdXJjZS5yZWZlcmVuY2VQb2xpY3kuICYjMTA7JiMxMDtXaGVuIGJvdGggYW4gaWRlbnRpZmllciBhbmQgYSBsaXRlcmFsIHJlZmVyZW5jZSBhcmUgcHJvdmlkZWQsIHRoZSBsaXRlcmFsIHJlZmVyZW5jZSBpcyBwcmVmZXJyZWQuIEFwcGxpY2F0aW9ucyBwcm9jZXNzaW5nIHRoZSByZXNvdXJjZSBhcmUgYWxsb3dlZCAtIGJ1dCBub3QgcmVxdWlyZWQgLSB0byBjaGVjayB0aGF0IHRoZSBpZGVudGlmaWVyIG1hdGNoZXMgdGhlIGxpdGVyYWwgcmVmZXJlbmNlJiMxMDsmIzEwO0FwcGxpY2F0aW9ucyBjb252ZXJ0aW5nIGEgbG9naWNhbCByZWZlcmVuY2UgdG8gYSBsaXRlcmFsIHJlZmVyZW5jZSBtYXkgY2hvb3NlIHRvIGxlYXZlIHRoZSBsb2dpY2FsIHJlZmVyZW5jZSBwcmVzZW50LCBvciByZW1vdmUgaXQuJiMxMDsmIzEwO1JlZmVyZW5jZSBpcyBpbnRlbmRlZCB0byBwb2ludCB0byBhIHN0cnVjdHVyZSB0aGF0IGNhbiBwb3RlbnRpYWxseSBiZSBleHByZXNzZWQgYXMgYSBGSElSIHJlc291cmNlLCB0aG91Z2ggdGhlcmUgaXMgbm8gbmVlZCBmb3IgaXQgdG8gZXhpc3QgYXMgYW4gYWN0dWFsIEZISVIgcmVzb3VyY2UgaW5zdGFuY2UgLSBleGNlcHQgaW4gYXMgbXVjaCBhcyBhbiBhcHBsaWNhdGlvbiB3aXNoZXMgdG8gYWN0dWFsIGZpbmQgdGhlIHRhcmdldCBvZiB0aGUgcmVmZXJlbmNlLiBUaGUgY29udGVudCByZWZlcnJlZCB0byBiZSB0aGUgaWRlbnRpZmllciBtdXN0IG1lZXQgdGhlIGxvZ2ljYWwgY29uc3RyYWludHMgaW1wbGllZCBieSBhbnkgbGltaXRhdGlvbnMgb24gd2hhdCByZXNvdXJjZSB0eXBlcyBhcmUgcGVybWl0dGVkIGZvciB0aGUgcmVmZXJlbmNlLiAgRm9yIGV4YW1wbGUsIGl0IHdvdWxkIG5vdCBiZSBsZWdpdGltYXRlIHRvIHNlbmQgdGhlIGlkZW50aWZpZXIgZm9yIGEgZHJ1ZyBwcmVzY3JpcHRpb24gaWYgdGhlIHR5cGUgd2VyZSBSZWZlcmVuY2UoT2JzZXJ2YXRpb258RGlhZ25vc3RpY1JlcG9ydCkuICBPbmUgb2YgdGhlIHVzZS1jYXNlcyBmb3IgUmVmZXJlbmNlLmlkZW50aWZpZXIgaXMgdGhlIHNpdHVhdGlvbiB3aGVyZSBubyBGSElSIHJlcHJlc2VudGF0aW9uIGV4aXN0cyAod2hlcmUgdGhlIHR5cGUgaXMgUmVmZXJlbmNlIChBbnkpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRleHQgYWx0ZXJuYXRpdmUgZm9yIHRoZSByZXNvdXJjZSIgZGVmaW5pdGlvbj0iUGxhaW4gdGV4dCBuYXJyYXRpdmUgdGhhdCBpZGVudGlmaWVzIHRoZSByZXNvdXJjZSBpbiBhZGRpdGlvbiB0byB0aGUgcmVzb3VyY2UgcmVmZXJlbmNlLiIgY29tbWVudD0iVGhpcyBpcyBnZW5lcmFsbHkgbm90IHRoZSBzYW1lIGFzIHRoZSBSZXNvdXJjZS50ZXh0IG9mIHRoZSByZWZlcmVuY2VkIHJlc291cmNlLiAgVGhlIHB1cnBvc2UgaXMgdG8gaWRlbnRpZnkgd2hhdCdzIGJlaW5nIHJlZmVyZW5jZWQsIG5vdCB0byBmdWxseSBkZXNjcmliZSBpdC4iLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlbGF0ZWRBcnRpZmFjdCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1JlbGF0ZWRBcnRpZmFjdCIgbGFiZWw9IlJlbGF0ZWRBcnRpZmFjdCIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVsYXRlZEFydGlmYWN0VHlwZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJkb2N1bWVudGF0aW9uIHwganVzdGlmaWNhdGlvbiB8IGNpdGF0aW9uIHwgcHJlZGVjZXNzb3IgfCBzdWNjZXNzb3IgfCBkZXJpdmVkLWZyb20gfCBkZXBlbmRzLW9uIHwgY29tcG9zZWQtb2YiIGRlZmluaXRpb249IlRoZSB0eXBlIG9mIHJlbGF0aW9uc2hpcCB0byB0aGUgcmVsYXRlZCBhcnRpZmFjdC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJSZWxhdGVkQXJ0aWZhY3RUeXBlIiBkZXNjcmlwdGlvbj0iVGhlIHR5cGUgb2YgcmVsYXRpb25zaGlwIHRvIHRoZSByZWxhdGVkIGFydGlmYWN0LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImxhYmVsIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJTaG9ydCBsYWJlbCIgZGVmaW5pdGlvbj0iQSBzaG9ydCBsYWJlbCB0aGF0IGNhbiBiZSB1c2VkIHRvIHJlZmVyZW5jZSB0aGUgY2l0YXRpb24gZnJvbSBlbHNld2hlcmUgaW4gdGhlIGNvbnRhaW5pbmcgYXJ0aWZhY3QsIHN1Y2ggYXMgYSBmb290bm90ZSBpbmRleC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwbGF5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJCcmllZiBkZXNjcmlwdGlvbiBvZiB0aGUgcmVsYXRlZCBhcnRpZmFjdCIgZGVmaW5pdGlvbj0iQSBicmllZiBkZXNjcmlwdGlvbiBvZiB0aGUgZG9jdW1lbnQgb3Iga25vd2xlZGdlIHJlc291cmNlIGJlaW5nIHJlZmVyZW5jZWQsIHN1aXRhYmxlIGZvciBkaXNwbGF5IHRvIGEgY29uc3VtZXIuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2l0YXRpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkJpYmxpb2dyYXBoaWMgY2l0YXRpb24gZm9yIHRoZSBhcnRpZmFjdCIgZGVmaW5pdGlvbj0iQSBiaWJsaW9ncmFwaGljIGNpdGF0aW9uIGZvciB0aGUgcmVsYXRlZCBhcnRpZmFjdC4gVGhpcyB0ZXh0IFNIT1VMRCBiZSBmb3JtYXR0ZWQgYWNjb3JkaW5nIHRvIGFuIGFjY2VwdGVkIGNpdGF0aW9uIGZvcm1hdC4iIGNvbW1lbnQ9IkFkZGl0aW9uYWwgc3RydWN0dXJlZCBpbmZvcm1hdGlvbiBhYm91dCBjaXRhdGlvbnMgc2hvdWxkIGJlIGNhcHR1cmVkIGFzIGV4dGVuc2lvbnMuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idXJsIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVyZSB0aGUgYXJ0aWZhY3QgY2FuIGJlIGFjY2Vzc2VkIiBkZWZpbml0aW9uPSJBIHVybCBmb3IgdGhlIGFydGlmYWN0IHRoYXQgY2FuIGJlIGZvbGxvd2VkIHRvIGFjY2VzcyB0aGUgYWN0dWFsIGNvbnRlbnQuIiBjb21tZW50PSJJZiBhIGRvY3VtZW50IG9yIHJlc291cmNlIGVsZW1lbnQgaXMgcHJlc2VudCwgdGhpcyBlbGVtZW50IFNIQUxMIE5PVCBiZSBwcm92aWRlZCAodXNlIHRoZSB1cmwgb3IgcmVmZXJlbmNlIGluIHRoZSBBdHRhY2htZW50IG9yIHJlc291cmNlIHJlZmVyZW5jZSkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZG9jdW1lbnQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQXR0YWNobWVudCIgZGVzY3JpcHRpb249IldoYXQgZG9jdW1lbnQgaXMgYmVpbmcgcmVmZXJlbmNlZCIgZGVmaW5pdGlvbj0iVGhlIGRvY3VtZW50IGJlaW5nIHJlZmVyZW5jZWQsIHJlcHJlc2VudGVkIGFzIGFuIGF0dGFjaG1lbnQuIFRoaXMgaXMgZXhjbHVzaXZlIHdpdGggdGhlIHJlc291cmNlIGVsZW1lbnQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVzb3VyY2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoYXQgcmVzb3VyY2UgaXMgYmVpbmcgcmVmZXJlbmNlZCIgZGVmaW5pdGlvbj0iVGhlIHJlbGF0ZWQgcmVzb3VyY2UsIHN1Y2ggYXMgYSBsaWJyYXJ5LCB2YWx1ZSBzZXQsIHByb2ZpbGUsIG9yIG90aGVyIGtub3dsZWRnZSByZXNvdXJjZS4iIGNvbW1lbnQ9IklmIHRoZSB0eXBlIGlzIHByZWRlY2Vzc29yLCB0aGlzIGlzIGEgcmVmZXJlbmNlIHRvIHRoZSBzdWNjZWVkaW5nIGtub3dsZWRnZSByZXNvdXJjZS4gSWYgdGhlIHR5cGUgaXMgc3VjY2Vzc29yLCB0aGlzIGlzIGEgcmVmZXJlbmNlIHRvIHRoZSBwcmlvciBrbm93bGVkZ2UgcmVzb3VyY2UuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWxhdGVkQXJ0aWZhY3RUeXBlIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlbGF0ZWRQZXJzb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLXJlbGF0ZWRwZXJzb24iIGxhYmVsPSJRSUNvcmUgUmVsYXRlZFBlcnNvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0icmVsYXRpb25zaGlwIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQSBodW1hbiBpZGVudGlmaWVyIGZvciB0aGlzIHBlcnNvbiIgZGVmaW5pdGlvbj0iSWRlbnRpZmllciBmb3IgYSBwZXJzb24gd2l0aGluIGEgcGFydGljdWxhciBzY29wZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWN0aXZlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkJvb2xlYW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBXaGV0aGVyIHRoaXMgcmVsYXRlZCBwZXJzb24ncyByZWNvcmQgaXMgaW4gYWN0aXZlIHVzZSIgZGVmaW5pdGlvbj0iV2hldGhlciB0aGlzIHJlbGF0ZWQgcGVyc29uIHJlY29yZCBpcyBpbiBhY3RpdmUgdXNlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIGl0IG1heSBiZSB1c2VkIHRvIG1hcmsgdGhhdCB0aGUgcmVzb3VyY2Ugd2FzIGNyZWF0ZWQgaW4gZXJyb3IuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhdGllbnQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBUaGUgcGF0aWVudCB0aGlzIHBlcnNvbiBpcyByZWxhdGVkIHRvIiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCB0aGlzIHBlcnNvbiBpcyByZWxhdGVkIHRvLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWxhdGlvbnNoaXAiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFRoZSBuYXR1cmUgb2YgdGhlIHJlbGF0aW9uc2hpcCIgZGVmaW5pdGlvbj0iVGhlIG5hdHVyZSBvZiB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gYSBwYXRpZW50IGFuZCB0aGUgcmVsYXRlZCBwZXJzb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJQYXRpZW50UmVsYXRpb25zaGlwVHlwZSIgZGVzY3JpcHRpb249IlRoZSBuYXR1cmUgb2YgdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIGEgcGF0aWVudCBhbmQgdGhlIHJlbGF0ZWQgcGVyc29uLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJuYW1lIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBBIG5hbWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwZXJzb24iIGRlZmluaXRpb249IkEgbmFtZSBhc3NvY2lhdGVkIHdpdGggdGhlIHBlcnNvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5IdW1hbk5hbWUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idGVsZWNvbSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBBIGNvbnRhY3QgZGV0YWlsIGZvciB0aGUgcGVyc29uIiBkZWZpbml0aW9uPSJBIGNvbnRhY3QgZGV0YWlsIGZvciB0aGUgcGVyc29uLCBlLmcuIGEgdGVsZXBob25lIG51bWJlciBvciBhbiBlbWFpbCBhZGRyZXNzLiIgY29tbWVudD0iUGVyc29uIG1heSBoYXZlIG11bHRpcGxlIHdheXMgdG8gYmUgY29udGFjdGVkIHdpdGggZGlmZmVyZW50IHVzZXMgb3IgYXBwbGljYWJsZSBwZXJpb2RzLiAgTWF5IG5lZWQgdG8gaGF2ZSBvcHRpb25zIGZvciBjb250YWN0aW5nIHRoZSBwZXJzb24gdXJnZW50bHksIGFuZCBhbHNvIHRvIGhlbHAgd2l0aCBpZGVudGlmaWNhdGlvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Db250YWN0UG9pbnQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZ2VuZGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFkbWluaXN0cmF0aXZlR2VuZGVyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Im1hbGUgfCBmZW1hbGUgfCBvdGhlciB8IHVua25vd24iIGRlZmluaXRpb249IkFkbWluaXN0cmF0aXZlIEdlbmRlciAtIHRoZSBnZW5kZXIgdGhhdCB0aGUgcGVyc29uIGlzIGNvbnNpZGVyZWQgdG8gaGF2ZSBmb3IgYWRtaW5pc3RyYXRpb24gYW5kIHJlY29yZCBrZWVwaW5nIHB1cnBvc2VzLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkFkbWluaXN0cmF0aXZlR2VuZGVyIiBkZXNjcmlwdGlvbj0iVGhlIGdlbmRlciBvZiBhIHBlcnNvbiB1c2VkIGZvciBhZG1pbmlzdHJhdGl2ZSBwdXJwb3Nlcy4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiaXJ0aERhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaGUgZGF0ZSBvbiB3aGljaCB0aGUgcmVsYXRlZCBwZXJzb24gd2FzIGJvcm4iIGRlZmluaXRpb249IlRoZSBkYXRlIG9uIHdoaWNoIHRoZSByZWxhdGVkIHBlcnNvbiB3YXMgYm9ybi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhZGRyZXNzIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIEFkZHJlc3Mgd2hlcmUgdGhlIHJlbGF0ZWQgcGVyc29uIGNhbiBiZSBjb250YWN0ZWQgb3IgdmlzaXRlZCIgZGVmaW5pdGlvbj0iQWRkcmVzcyB3aGVyZSB0aGUgcmVsYXRlZCBwZXJzb24gY2FuIGJlIGNvbnRhY3RlZCBvciB2aXNpdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFkZHJlc3MiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGhvdG8iIGRlc2NyaXB0aW9uPSJJbWFnZSBvZiB0aGUgcGVyc29uIiBkZWZpbml0aW9uPSJJbWFnZSBvZiB0aGUgcGVyc29uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQXR0YWNobWVudCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJpb2QiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUGVyaW9kIG9mIHRpbWUgdGhhdCB0aGlzIHJlbGF0aW9uc2hpcCBpcyBjb25zaWRlcmVkIHZhbGlkIiBkZWZpbml0aW9uPSJUaGUgcGVyaW9kIG9mIHRpbWUgZHVyaW5nIHdoaWNoIHRoaXMgcmVsYXRpb25zaGlwIGlzIG9yIHdhcyBhY3RpdmUuIElmIHRoZXJlIGFyZSBubyBkYXRlcyBkZWZpbmVkLCB0aGVuIHRoZSBpbnRlcnZhbCBpcyB1bmtub3duLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbW11bmljYXRpb24iIGRlc2NyaXB0aW9uPSJBIGxhbmd1YWdlIHdoaWNoIG1heSBiZSB1c2VkIHRvIGNvbW11bmljYXRlIHdpdGggYWJvdXQgdGhlIHBhdGllbnQncyBoZWFsdGgiIGRlZmluaXRpb249IkEgbGFuZ3VhZ2Ugd2hpY2ggbWF5IGJlIHVzZWQgdG8gY29tbXVuaWNhdGUgd2l0aCBhYm91dCB0aGUgcGF0aWVudCdzIGhlYWx0aC4iIGNvbW1lbnQ9IklmIG5vIGxhbmd1YWdlIGlzIHNwZWNpZmllZCwgdGhpcyAqaW1wbGllcyogdGhhdCB0aGUgZGVmYXVsdCBsb2NhbCBsYW5ndWFnZSBpcyBzcG9rZW4uICBJZiB5b3UgbmVlZCB0byBjb252ZXkgcHJvZmljaWVuY3kgZm9yIG11bHRpcGxlIG1vZGVzLCB0aGVuIHlvdSBuZWVkIG11bHRpcGxlIFJlbGF0ZWRQZXJzb24uQ29tbXVuaWNhdGlvbiBhc3NvY2lhdGlvbnMuICAgSWYgdGhlIFJlbGF0ZWRQZXJzb24gZG9lcyBub3Qgc3BlYWsgdGhlIGRlZmF1bHQgbG9jYWwgbGFuZ3VhZ2UsIHRoZW4gdGhlIEludGVycHJldGVyIFJlcXVpcmVkIFN0YW5kYXJkIGNhbiBiZSB1c2VkIHRvIGV4cGxpY2l0bHkgZGVjbGFyZSB0aGF0IGFuIGludGVycHJldGVyIGlzIHJlcXVpcmVkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVsYXRlZFBlcnNvbi5Db21tdW5pY2F0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJwYXRpZW50Ii8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWxhdGVkUGVyc29uLkNvbW11bmljYXRpb24iIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9Imxhbmd1YWdlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaGUgbGFuZ3VhZ2Ugd2hpY2ggY2FuIGJlIHVzZWQgdG8gY29tbXVuaWNhdGUgd2l0aCB0aGUgcGF0aWVudCBhYm91dCBoaXMgb3IgaGVyIGhlYWx0aCIgZGVmaW5pdGlvbj0iVGhlIElTTy02MzktMSBhbHBoYSAyIGNvZGUgaW4gbG93ZXIgY2FzZSBmb3IgdGhlIGxhbmd1YWdlLCBvcHRpb25hbGx5IGZvbGxvd2VkIGJ5IGEgaHlwaGVuIGFuZCB0aGUgSVNPLTMxNjYtMSBhbHBoYSAyIGNvZGUgZm9yIHRoZSByZWdpb24gaW4gdXBwZXIgY2FzZTsgZS5nLiAmcXVvdDtlbiZxdW90OyBmb3IgRW5nbGlzaCwgb3IgJnF1b3Q7ZW4tVVMmcXVvdDsgZm9yIEFtZXJpY2FuIEVuZ2xpc2ggdmVyc3VzICZxdW90O2VuLUVOJnF1b3Q7IGZvciBFbmdsYW5kIEVuZ2xpc2guIiBjb21tZW50PSJUaGUgc3RydWN0dXJlIGFhLUJCIHdpdGggdGhpcyBleGFjdCBjYXNpbmcgaXMgb25lIHRoZSBtb3N0IHdpZGVseSB1c2VkIG5vdGF0aW9ucyBmb3IgbG9jYWxlLiBIb3dldmVyIG5vdCBhbGwgc3lzdGVtcyBhY3R1YWxseSBjb2RlIHRoaXMgYnV0IGluc3RlYWQgaGF2ZSBpdCBhcyBmcmVlIHRleHQuIEhlbmNlIENvZGVhYmxlQ29uY2VwdCBpbnN0ZWFkIG9mIGNvZGUgYXMgdGhlIGRhdGEgdHlwZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJMYW5ndWFnZSIgZGVzY3JpcHRpb249IkEgaHVtYW4gbGFuZ3VhZ2UuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InByZWZlcnJlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Cb29sZWFuIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikxhbmd1YWdlIHByZWZlcmVuY2UgaW5kaWNhdG9yIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgd2hldGhlciBvciBub3QgdGhlIHBhdGllbnQgcHJlZmVycyB0aGlzIGxhbmd1YWdlIChvdmVyIG90aGVyIGxhbmd1YWdlcyBoZSBtYXN0ZXJzIHVwIGEgY2VydGFpbiBsZXZlbCkuIiBjb21tZW50PSJUaGlzIGxhbmd1YWdlIGlzIHNwZWNpZmljYWxseSBpZGVudGlmaWVkIGZvciBjb21tdW5pY2F0aW5nIGhlYWx0aGNhcmUgaW5mb3JtYXRpb24uIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZW1pdHRhbmNlT3V0Y29tZSIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZXF1ZXN0SW50ZW50IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlcXVlc3RQcmlvcml0eSIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZXNvdXJjZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1Jlc291cmNlIiBsYWJlbD0iUmVzb3VyY2UiIHJldHJpZXZhYmxlPSJ0cnVlIiBiYXNlVHlwZT0iU3lzdGVtLkFueSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkxvZ2ljYWwgaWQgb2YgdGhpcyBhcnRpZmFjdCIgZGVmaW5pdGlvbj0iVGhlIGxvZ2ljYWwgaWQgb2YgdGhlIHJlc291cmNlLCBhcyB1c2VkIGluIHRoZSBVUkwgZm9yIHRoZSByZXNvdXJjZS4gT25jZSBhc3NpZ25lZCwgdGhpcyB2YWx1ZSBuZXZlciBjaGFuZ2VzLiIgY29tbWVudD0iVGhlIG9ubHkgdGltZSB0aGF0IGEgcmVzb3VyY2UgZG9lcyBub3QgaGF2ZSBhbiBpZCBpcyB3aGVuIGl0IGlzIGJlaW5nIHN1Ym1pdHRlZCB0byB0aGUgc2VydmVyIHVzaW5nIGEgY3JlYXRlIG9wZXJhdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZXRhIiBlbGVtZW50VHlwZT0iUUlDb3JlLk1ldGEiIGRlc2NyaXB0aW9uPSJNZXRhZGF0YSBhYm91dCB0aGUgcmVzb3VyY2UiIGRlZmluaXRpb249IlRoZSBtZXRhZGF0YSBhYm91dCB0aGUgcmVzb3VyY2UuIFRoaXMgaXMgY29udGVudCB0aGF0IGlzIG1haW50YWluZWQgYnkgdGhlIGluZnJhc3RydWN0dXJlLiBDaGFuZ2VzIHRvIHRoZSBjb250ZW50IG1pZ2h0IG5vdCBhbHdheXMgYmUgYXNzb2NpYXRlZCB3aXRoIHZlcnNpb24gY2hhbmdlcyB0byB0aGUgcmVzb3VyY2UuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW1wbGljaXRSdWxlcyIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iQSBzZXQgb2YgcnVsZXMgdW5kZXIgd2hpY2ggdGhpcyBjb250ZW50IHdhcyBjcmVhdGVkIiBkZWZpbml0aW9uPSJBIHJlZmVyZW5jZSB0byBhIHNldCBvZiBydWxlcyB0aGF0IHdlcmUgZm9sbG93ZWQgd2hlbiB0aGUgcmVzb3VyY2Ugd2FzIGNvbnN0cnVjdGVkLCBhbmQgd2hpY2ggbXVzdCBiZSB1bmRlcnN0b29kIHdoZW4gcHJvY2Vzc2luZyB0aGUgY29udGVudC4gT2Z0ZW4sIHRoaXMgaXMgYSByZWZlcmVuY2UgdG8gYW4gaW1wbGVtZW50YXRpb24gZ3VpZGUgdGhhdCBkZWZpbmVzIHRoZSBzcGVjaWFsIHJ1bGVzIGFsb25nIHdpdGggb3RoZXIgcHJvZmlsZXMgZXRjLiIgY29tbWVudD0iQXNzZXJ0aW5nIHRoaXMgcnVsZSBzZXQgcmVzdHJpY3RzIHRoZSBjb250ZW50IHRvIGJlIG9ubHkgdW5kZXJzdG9vZCBieSBhIGxpbWl0ZWQgc2V0IG9mIHRyYWRpbmcgcGFydG5lcnMuIFRoaXMgaW5oZXJlbnRseSBsaW1pdHMgdGhlIHVzZWZ1bG5lc3Mgb2YgdGhlIGRhdGEgaW4gdGhlIGxvbmcgdGVybS4gSG93ZXZlciwgdGhlIGV4aXN0aW5nIGhlYWx0aCBlY28tc3lzdGVtIGlzIGhpZ2hseSBmcmFjdHVyZWQsIGFuZCBub3QgeWV0IHJlYWR5IHRvIGRlZmluZSwgY29sbGVjdCwgYW5kIGV4Y2hhbmdlIGRhdGEgaW4gYSBnZW5lcmFsbHkgY29tcHV0YWJsZSBzZW5zZS4gV2hlcmV2ZXIgcG9zc2libGUsIGltcGxlbWVudGVycyBhbmQvb3Igc3BlY2lmaWNhdGlvbiB3cml0ZXJzIHNob3VsZCBhdm9pZCB1c2luZyB0aGlzIGVsZW1lbnQuIE9mdGVuLCB3aGVuIHVzZWQsIHRoZSBVUkwgaXMgYSByZWZlcmVuY2UgdG8gYW4gaW1wbGVtZW50YXRpb24gZ3VpZGUgdGhhdCBkZWZpbmVzIHRoZXNlIHNwZWNpYWwgcnVsZXMgYXMgcGFydCBvZiBpdCdzIG5hcnJhdGl2ZSBhbG9uZyB3aXRoIG90aGVyIHByb2ZpbGVzLCB2YWx1ZSBzZXRzLCBldGMuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibGFuZ3VhZ2UiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikxhbmd1YWdlIG9mIHRoZSByZXNvdXJjZSBjb250ZW50IiBkZWZpbml0aW9uPSJUaGUgYmFzZSBsYW5ndWFnZSBpbiB3aGljaCB0aGUgcmVzb3VyY2UgaXMgd3JpdHRlbi4iIGNvbW1lbnQ9Ikxhbmd1YWdlIGlzIHByb3ZpZGVkIHRvIHN1cHBvcnQgaW5kZXhpbmcgYW5kIGFjY2Vzc2liaWxpdHkgKHR5cGljYWxseSwgc2VydmljZXMgc3VjaCBhcyB0ZXh0IHRvIHNwZWVjaCB1c2UgdGhlIGxhbmd1YWdlIHRhZykuIFRoZSBodG1sIGxhbmd1YWdlIHRhZyBpbiB0aGUgbmFycmF0aXZlIGFwcGxpZXMgIHRvIHRoZSBuYXJyYXRpdmUuIFRoZSBsYW5ndWFnZSB0YWcgb24gdGhlIHJlc291cmNlIG1heSBiZSB1c2VkIHRvIHNwZWNpZnkgdGhlIGxhbmd1YWdlIG9mIG90aGVyIHByZXNlbnRhdGlvbnMgZ2VuZXJhdGVkIGZyb20gdGhlIGRhdGEgaW4gdGhlIHJlc291cmNlLiBOb3QgYWxsIHRoZSBjb250ZW50IGhhcyB0byBiZSBpbiB0aGUgYmFzZSBsYW5ndWFnZS4gVGhlIFJlc291cmNlLmxhbmd1YWdlIHNob3VsZCBub3QgYmUgYXNzdW1lZCB0byBhcHBseSB0byB0aGUgbmFycmF0aXZlIGF1dG9tYXRpY2FsbHkuIElmIGEgbGFuZ3VhZ2UgaXMgc3BlY2lmaWVkLCBpdCBzaG91bGQgaXQgYWxzbyBiZSBzcGVjaWZpZWQgb24gdGhlIGRpdiBlbGVtZW50IGluIHRoZSBodG1sIChzZWUgcnVsZXMgaW4gSFRNTDUgZm9yIGluZm9ybWF0aW9uIGFib3V0IHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiB4bWw6bGFuZyBhbmQgdGhlIGh0bWwgbGFuZyBhdHRyaWJ1dGUpLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ikxhbmd1YWdlIiBkZXNjcmlwdGlvbj0iQSBodW1hbiBsYW5ndWFnZS4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZXNvdXJjZVR5cGUiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU2FtcGxlZERhdGEiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9TYW1wbGVkRGF0YSIgbGFiZWw9IlNhbXBsZWREYXRhIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ib3JpZ2luIiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249Ilplcm8gdmFsdWUgYW5kIHVuaXRzIiBkZWZpbml0aW9uPSJUaGUgYmFzZSBxdWFudGl0eSB0aGF0IGEgbWVhc3VyZWQgdmFsdWUgb2YgemVybyByZXByZXNlbnRzLiBJbiBhZGRpdGlvbiwgdGhpcyBwcm92aWRlcyB0aGUgdW5pdHMgb2YgdGhlIGVudGlyZSBtZWFzdXJlbWVudCBzZXJpZXMuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyaW9kIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRlY2ltYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTnVtYmVyIG9mIG1pbGxpc2Vjb25kcyBiZXR3ZWVuIHNhbXBsZXMiIGRlZmluaXRpb249IlRoZSBsZW5ndGggb2YgdGltZSBiZXR3ZWVuIHNhbXBsaW5nIHRpbWVzLCBtZWFzdXJlZCBpbiBtaWxsaXNlY29uZHMuIiBjb21tZW50PSJUaGlzIGlzIHVzdWFsbHkgYSB3aG9sZSBudW1iZXIuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZmFjdG9yIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRlY2ltYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTXVsdGlwbHkgZGF0YSBieSB0aGlzIGJlZm9yZSBhZGRpbmcgdG8gb3JpZ2luIiBkZWZpbml0aW9uPSJBIGNvcnJlY3Rpb24gZmFjdG9yIHRoYXQgaXMgYXBwbGllZCB0byB0aGUgc2FtcGxlZCBkYXRhIHBvaW50cyBiZWZvcmUgdGhleSBhcmUgYWRkZWQgdG8gdGhlIG9yaWdpbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsb3dlckxpbWl0IiBlbGVtZW50VHlwZT0iU3lzdGVtLkRlY2ltYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTG93ZXIgbGltaXQgb2YgZGV0ZWN0aW9uIiBkZWZpbml0aW9uPSJUaGUgbG93ZXIgbGltaXQgb2YgZGV0ZWN0aW9uIG9mIHRoZSBtZWFzdXJlZCBwb2ludHMuIFRoaXMgaXMgbmVlZGVkIGlmIGFueSBvZiB0aGUgZGF0YSBwb2ludHMgaGF2ZSB0aGUgdmFsdWUgJnF1b3Q7TCZxdW90OyAobG93ZXIgdGhhbiBkZXRlY3Rpb24gbGltaXQpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InVwcGVyTGltaXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJVcHBlciBsaW1pdCBvZiBkZXRlY3Rpb24iIGRlZmluaXRpb249IlRoZSB1cHBlciBsaW1pdCBvZiBkZXRlY3Rpb24gb2YgdGhlIG1lYXN1cmVkIHBvaW50cy4gVGhpcyBpcyBuZWVkZWQgaWYgYW55IG9mIHRoZSBkYXRhIHBvaW50cyBoYXZlIHRoZSB2YWx1ZSAmcXVvdDtVJnF1b3Q7IChoaWdoZXIgdGhhbiBkZXRlY3Rpb24gbGltaXQpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRpbWVuc2lvbnMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOdW1iZXIgb2Ygc2FtcGxlIHBvaW50cyBhdCBlYWNoIHRpbWUgcG9pbnQiIGRlZmluaXRpb249IlRoZSBudW1iZXIgb2Ygc2FtcGxlIHBvaW50cyBhdCBlYWNoIHRpbWUgcG9pbnQuIElmIHRoaXMgdmFsdWUgaXMgZ3JlYXRlciB0aGFuIG9uZSwgdGhlbiB0aGUgZGltZW5zaW9ucyB3aWxsIGJlIGludGVybGFjZWQgLSBhbGwgdGhlIHNhbXBsZSBwb2ludHMgZm9yIGEgcG9pbnQgaW4gdGltZSB3aWxsIGJlIHJlY29yZGVkIGF0IG9uY2UuIiBjb21tZW50PSJJZiB0aGVyZSBpcyBtb3JlIHRoYW4gb25lIGRpbWVuc2lvbiwgdGhlIGNvZGUgZm9yIHRoZSB0eXBlIG9mIGRhdGEgd2lsbCBkZWZpbmUgdGhlIG1lYW5pbmcgb2YgdGhlIGRpbWVuc2lvbnMgKHR5cGljYWxseSBFQ0cgZGF0YSkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGVjaW1hbCB2YWx1ZXMgd2l0aCBzcGFjZXMsIG9yICZxdW90O0UmcXVvdDsgfCAmcXVvdDtVJnF1b3Q7IHwgJnF1b3Q7TCZxdW90OyIgZGVmaW5pdGlvbj0iQSBzZXJpZXMgb2YgZGF0YSBwb2ludHMgd2hpY2ggYXJlIGRlY2ltYWwgdmFsdWVzIHNlcGFyYXRlZCBieSBhIHNpbmdsZSBzcGFjZSAoY2hhcmFjdGVyIHUyMCkuIFRoZSBzcGVjaWFsIHZhbHVlcyAmcXVvdDtFJnF1b3Q7IChlcnJvciksICZxdW90O0wmcXVvdDsgKGJlbG93IGRldGVjdGlvbiBsaW1pdCkgYW5kICZxdW90O1UmcXVvdDsgKGFib3ZlIGRldGVjdGlvbiBsaW1pdCkgY2FuIGFsc28gYmUgdXNlZCBpbiBwbGFjZSBvZiBhIGRlY2ltYWwgdmFsdWUuIiBjb21tZW50PSJEYXRhIG1heSBiZSBtaXNzaW5nIGlmIGl0IGlzIG9taXR0ZWQgZm9yIHN1bW1hcml6YXRpb24gcHVycG9zZXMuIEluIGdlbmVyYWwsIGRhdGEgaXMgcmVxdWlyZWQgZm9yIGFueSBhY3R1YWwgdXNlIG9mIGEgU2FtcGxlZERhdGEuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTZXJ2aWNlTm90UmVxdWVzdGVkIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1zZXJ2aWNlbm90cmVxdWVzdGVkIiBsYWJlbD0iUUlDb3JlIFNlcnZpY2UgTm90IFJlcXVlc3RlZCIgdGFyZ2V0PSJTZXJ2aWNlUmVxdWVzdCIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY29kZSIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uUmVmdXNlZCIgZWxlbWVudFR5cGU9IlFJQ29yZS5Eb05vdFBlcmZvcm1SZWFzb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCVwYXJlbnQuZXh0ZW5zaW9uW3VybD0naHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtZG9Ob3RQZXJmb3JtUmVhc29uJ10udmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIEV4dGVuc2lvbiIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSByZWFzb24gdGhlIGV2ZW50IHdhcyBub3QgcGVyZm9ybWVkLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIG9yZGVyIiBkZWZpbml0aW9uPSJJZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIG9yZGVyIGluc3RhbmNlIGJ5IHRoZSBvcmRlcmVyIGFuZC9vciB0aGUgcmVjZWl2ZXIgYW5kL29yIG9yZGVyIGZ1bGZpbGxlci4iIGNvbW1lbnQ9IlRoZSBpZGVudGlmaWVyLnR5cGUgZWxlbWVudCBpcyB1c2VkIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gdGhlIGlkZW50aWZpZXJzIGFzc2lnbmVkIGJ5IHRoZSBvcmRlcmVyIChrbm93biBhcyB0aGUgJ1BsYWNlcicgaW4gSEw3IHYyKSBhbmQgdGhlIHByb2R1Y2VyIG9mIHRoZSBvYnNlcnZhdGlvbnMgaW4gcmVzcG9uc2UgdG8gdGhlIG9yZGVyIChrbm93biBhcyB0aGUgJ0ZpbGxlcicgaW4gSEw3IHYyKS4gIEZvciBmdXJ0aGVyIGRpc2N1c3Npb24gYW5kIGV4YW1wbGVzIHNlZSB0aGUgcmVzb3VyY2Ugbm90ZXMgc2VjdGlvbiBiZWxvdy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzQ2Fub25pY2FsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3RhbnRpYXRlcyBGSElSIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYSBGSElSLWRlZmluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXJzZXQgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIFNlcnZpY2VSZXF1ZXN0LiIgY29tbWVudD0iTm90ZTogVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIgKHNlZSBbZGlzY3Vzc2lvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS5odG1sI2lkZW50aWZpZXJzKSkuICBJdCBpcyBiZXN0IHByYWN0aWNlIGZvciB0aGUgaWRlbnRpZmllciB0byBvbmx5IGFwcGVhciBvbiBhIHNpbmdsZSByZXNvdXJjZSBpbnN0YW5jZSwgaG93ZXZlciBidXNpbmVzcyBwcmFjdGljZXMgbWF5IG9jY2FzaW9uYWxseSBkaWN0YXRlIHRoYXQgbXVsdGlwbGUgcmVzb3VyY2UgaW5zdGFuY2VzIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllciBjYW4gZXhpc3QgLSBwb3NzaWJseSBldmVuIHdpdGggZGlmZmVyZW50IHJlc291cmNlIHR5cGVzLiAgRm9yIGV4YW1wbGUsIG11bHRpcGxlIFBhdGllbnQgYW5kIGEgUGVyc29uIHJlc291cmNlIGluc3RhbmNlIG1pZ2h0IHNoYXJlIHRoZSBzYW1lIHNvY2lhbCBpbnN1cmFuY2UgbnVtYmVyLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc1VyaSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgZXh0ZXJuYWwgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhbiBleHRlcm5hbGx5IG1haW50YWluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXJzZXQgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIFNlcnZpY2VSZXF1ZXN0LiIgY29tbWVudD0iVGhpcyBtaWdodCBiZSBhbiBIVE1MIHBhZ2UsIFBERiwgZXRjLiBvciBjb3VsZCBqdXN0IGJlIGEgbm9uLXJlc29sdmFibGUgVVJJIGlkZW50aWZpZXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IldoYXQgcmVxdWVzdCBmdWxmaWxscyIgZGVmaW5pdGlvbj0iUGxhbi9wcm9wb3NhbC9vcmRlciBmdWxmaWxsZWQgYnkgdGhpcyByZXF1ZXN0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlcGxhY2VzIiBkZXNjcmlwdGlvbj0iV2hhdCByZXF1ZXN0IHJlcGxhY2VzIiBkZWZpbml0aW9uPSJUaGUgcmVxdWVzdCB0YWtlcyB0aGUgcGxhY2Ugb2YgdGhlIHJlZmVyZW5jZWQgY29tcGxldGVkIG9yIHRlcm1pbmF0ZWQgcmVxdWVzdChzKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZXF1aXNpdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQ29tcG9zaXRlIFJlcXVlc3QgSUQiIGRlZmluaXRpb249IkEgc2hhcmVkIGlkZW50aWZpZXIgY29tbW9uIHRvIGFsbCBzZXJ2aWNlIHJlcXVlc3RzIHRoYXQgd2VyZSBhdXRob3JpemVkIG1vcmUgb3IgbGVzcyBzaW11bHRhbmVvdXNseSBieSBhIHNpbmdsZSBhdXRob3IsIHJlcHJlc2VudGluZyB0aGUgY29tcG9zaXRlIG9yIGdyb3VwIGlkZW50aWZpZXIuIiBjb21tZW50PSJSZXF1ZXN0cyBhcmUgbGlua2VkIGVpdGhlciBieSBhICZxdW90O2Jhc2VkT24mcXVvdDsgcmVsYXRpb25zaGlwIChpLmUuIG9uZSByZXF1ZXN0IGlzIGZ1bGZpbGxpbmcgYW5vdGhlcikgb3IgYnkgaGF2aW5nIGEgY29tbW9uIHJlcXVpc2l0aW9uLiBSZXF1ZXN0cyB0aGF0IGFyZSBwYXJ0IG9mIHRoZSBzYW1lIHJlcXVpc2l0aW9uIGFyZSBnZW5lcmFsbHkgdHJlYXRlZCBpbmRlcGVuZGVudGx5IGZyb20gdGhlIHBlcnNwZWN0aXZlIG9mIGNoYW5naW5nIHRoZWlyIHN0YXRlIG9yIG1haW50YWluaW5nIHRoZW0gYWZ0ZXIgaW5pdGlhbCBjcmVhdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuU2VydmljZVJlcXVlc3RTdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBkcmFmdCB8IGFjdGl2ZSB8IG9uLWhvbGQgfCByZXZva2VkIHwgY29tcGxldGVkIHwgZW50ZXJlZC1pbi1lcnJvciB8IHVua25vd24iIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIG9yZGVyLiIgY29tbWVudD0iVGhlIHN0YXR1cyBpcyBnZW5lcmFsbHkgZnVsbHkgaW4gdGhlIGNvbnRyb2wgb2YgdGhlIHJlcXVlc3RlciAtIHRoZXkgZGV0ZXJtaW5lIHdoZXRoZXIgdGhlIG9yZGVyIGlzIGRyYWZ0IG9yIGFjdGl2ZSBhbmQsIGFmdGVyIGl0IGhhcyBiZWVuIGFjdGl2YXRlZCwgY29tcGV0ZWQsIGNhbmNlbGxlZCBvciBzdXNwZW5kZWQuIFN0YXRlcyByZWxhdGluZyB0byB0aGUgYWN0aXZpdGllcyBvZiB0aGUgcGVyZm9ybWVyIGFyZSByZWZsZWN0ZWQgb24gZWl0aGVyIHRoZSBjb3JyZXNwb25kaW5nIGV2ZW50IChzZWUgW0V2ZW50IFBhdHRlcm5dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXZlbnQuaHRtbCkgZm9yIGdlbmVyYWwgZGlzY3Vzc2lvbikgb3IgdXNpbmcgdGhlIFtUYXNrXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3Rhc2suaHRtbCkgcmVzb3VyY2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlNlcnZpY2VSZXF1ZXN0U3RhdHVzIiBkZXNjcmlwdGlvbj0iVGhlIHN0YXR1cyBvZiBhIHNlcnZpY2Ugb3JkZXIuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZW50IiBlbGVtZW50VHlwZT0iUUlDb3JlLlNlcnZpY2VSZXF1ZXN0SW50ZW50IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihVU0NESSkgcHJvcG9zYWwgfCBwbGFuIHwgZGlyZWN0aXZlIHwgb3JkZXIgfCBvcmlnaW5hbC1vcmRlciB8IHJlZmxleC1vcmRlciB8IGZpbGxlci1vcmRlciB8IGluc3RhbmNlLW9yZGVyIHwgb3B0aW9uIiBkZWZpbml0aW9uPSJXaGV0aGVyIHRoZSByZXF1ZXN0IGlzIGEgcHJvcG9zYWwsIHBsYW4sIGFuIG9yaWdpbmFsIG9yZGVyIG9yIGEgcmVmbGV4IG9yZGVyLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBpbnRlbnQgYWx0ZXJzIHdoZW4gYW5kIGhvdyB0aGUgcmVzb3VyY2UgaXMgYWN0dWFsbHkgYXBwbGljYWJsZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU2VydmljZVJlcXVlc3RJbnRlbnQiIGRlc2NyaXB0aW9uPSJUaGUga2luZCBvZiBzZXJ2aWNlIHJlcXVlc3QuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENsYXNzaWZpY2F0aW9uIG9mIHNlcnZpY2UiIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIHNlcnZpY2UgZm9yIHNlYXJjaGluZywgc29ydGluZyBhbmQgZGlzcGxheSBwdXJwb3NlcyAoZS5nLiAmcXVvdDtTdXJnaWNhbCBQcm9jZWR1cmUmcXVvdDspLiIgY29tbWVudD0iVGhlcmUgbWF5IGJlIG11bHRpcGxlIGF4aXMgb2YgY2F0ZWdvcml6YXRpb24gZGVwZW5kaW5nIG9uIHRoZSBjb250ZXh0IG9yIHVzZSBjYXNlIGZvciByZXRyaWV2aW5nIG9yIGRpc3BsYXlpbmcgdGhlIHJlc291cmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJTZXJ2aWNlUmVxdWVzdENhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgdGhlIHJlcXVlc3RlZCBzZXJ2aWNlLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idXMtY29yZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgQ2xhc3NpZmljYXRpb24gb2Ygc2VydmljZSIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgc2VydmljZSBmb3Igc2VhcmNoaW5nLCBzb3J0aW5nIGFuZCBkaXNwbGF5IHB1cnBvc2VzIChlLmcuICZxdW90O1N1cmdpY2FsIFByb2NlZHVyZSZxdW90OykuIiBjb21tZW50PSJUaGVyZSBtYXkgYmUgbXVsdGlwbGUgYXhpcyBvZiBjYXRlZ29yaXphdGlvbiBkZXBlbmRpbmcgb24gdGhlIGNvbnRleHQgb3IgdXNlIGNhc2UgZm9yIHJldHJpZXZpbmcgb3IgZGlzcGxheWluZyB0aGUgcmVzb3VyY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJOb3RlIHRoYXQgb3RoZXIgY29kZXMgYXJlIHBlcm1pdHRlZCwgc2VlIFtSZXF1aXJlZCBCaW5kaW5ncyBXaGVuIFNsaWNpbmcgYnkgVmFsdWUgU2V0c10oaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL2dlbmVyYWwtcmVxdWlyZW1lbnRzLmh0bWwjcmVxdWlyZWQtYmluZGluZ3Mtd2hlbi1zbGljaW5nLWJ5LXZhbHVlLXNldHMpIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJpb3JpdHkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuU2VydmljZVJlcXVlc3RQcmlvcml0eSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyb3V0aW5lIHwgdXJnZW50IHwgYXNhcCB8IHN0YXQiIGRlZmluaXRpb249IkluZGljYXRlcyBob3cgcXVpY2tseSB0aGUgU2VydmljZVJlcXVlc3Qgc2hvdWxkIGJlIGFkZHJlc3NlZCB3aXRoIHJlc3BlY3QgdG8gb3RoZXIgcmVxdWVzdHMuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU2VydmljZVJlcXVlc3RQcmlvcml0eSIgZGVzY3JpcHRpb249IklkZW50aWZpZXMgdGhlIGxldmVsIG9mIGltcG9ydGFuY2UgdG8gYmUgYXNzaWduZWQgdG8gYWN0aW9uaW5nIHRoZSByZXF1ZXN0LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRvTm90UGVyZm9ybSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Cb29sZWFuIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBUcnVlIGlmIHNlcnZpY2UvcHJvY2VkdXJlIHNob3VsZCBub3QgYmUgcGVyZm9ybWVkIiBkZWZpbml0aW9uPSJTZXQgdGhpcyB0byB0cnVlIGlmIHRoZSByZWNvcmQgaXMgc2F5aW5nIHRoYXQgdGhlIHNlcnZpY2UvcHJvY2VkdXJlIHNob3VsZCBOT1QgYmUgcGVyZm9ybWVkLiIgY29tbWVudD0iSW4gZ2VuZXJhbCwgb25seSB0aGUgY29kZSBhbmQgdGltZWZyYW1lIHdpbGwgYmUgcHJlc2VudCwgdGhvdWdoIG9jY2FzaW9uYWwgYWRkaXRpb25hbCBxdWFsaWZpZXJzIHN1Y2ggYXMgYm9keSBzaXRlIG9yIGV2ZW4gcGVyZm9ybWVyIGNvdWxkIGJlIGluY2x1ZGVkIHRvIG5hcnJvdyB0aGUgc2NvcGUgb2YgdGhlIHByb2hpYml0aW9uLiAgSWYgdGhlIFNlcnZpY2VSZXF1ZXN0LmNvZGUgYW5kIFNlcnZpY2VSZXF1ZXN0LmRvTm90UGVyZm9ybSBib3RoIGNvbnRhaW4gbmVnYXRpb24sIHRoYXQgd2lsbCByZWluZm9yY2UgcHJvaGliaXRpb24gYW5kIHNob3VsZCBub3QgaGF2ZSBhIGRvdWJsZSBuZWdhdGl2ZSBpbnRlcnByZXRhdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiB0YXJnZXQ9IlN5c3RlbS5Db25jZXB0OkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpO1N5c3RlbS5WYWx1ZVNldDpGSElSSGVscGVycy5Ub1ZhbHVlU2V0KCVwYXJlbnQuY29kZS5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1ub3REb25lVmFsdWVTZXQnXS52YWx1ZS52YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFdoYXQgaXMgYmVpbmcgcmVxdWVzdGVkL29yZGVyZWQiIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGlkZW50aWZpZXMgYSBwYXJ0aWN1bGFyIHNlcnZpY2UgKGkuZS4sIHByb2NlZHVyZSwgZGlhZ25vc3RpYyBpbnZlc3RpZ2F0aW9uLCBvciBwYW5lbCBvZiBpbnZlc3RpZ2F0aW9ucykgdGhhdCBoYXZlIGJlZW4gcmVxdWVzdGVkLiIgY29tbWVudD0iTWFueSBsYWJvcmF0b3J5IGFuZCByYWRpb2xvZ3kgcHJvY2VkdXJlIGNvZGVzIGVtYmVkIHRoZSBzcGVjaW1lbi9vcmdhbiBzeXN0ZW0gaW4gdGhlIHRlc3Qgb3JkZXIgbmFtZSwgZm9yIGV4YW1wbGUsICBzZXJ1bSBvciBzZXJ1bS9wbGFzbWEgZ2x1Y29zZSwgb3IgYSBjaGVzdCB4LXJheS4gVGhlIHNwZWNpbWVuIG1pZ2h0IG5vdCBiZSByZWNvcmRlZCBzZXBhcmF0ZWx5IGZyb20gdGhlIHRlc3QgY29kZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlZhbHVlU2V0Ii8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im9yZGVyRGV0YWlsIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQWRkaXRpb25hbCBvcmRlciBpbmZvcm1hdGlvbiIgZGVmaW5pdGlvbj0iQWRkaXRpb25hbCBkZXRhaWxzIGFuZCBpbnN0cnVjdGlvbnMgYWJvdXQgdGhlIGhvdyB0aGUgc2VydmljZXMgYXJlIHRvIGJlIGRlbGl2ZXJlZC4gICBGb3IgZXhhbXBsZSwgYW5kIG9yZGVyIGZvciBhIHVyaW5hcnkgY2F0aGV0ZXIgbWF5IGhhdmUgYW4gb3JkZXIgZGV0YWlsIGZvciBhbiBleHRlcm5hbCBvciBpbmR3ZWxsaW5nIGNhdGhldGVyLCBvciBhbiBvcmRlciBmb3IgYSBiYW5kYWdlIG1heSByZXF1aXJlIGFkZGl0aW9uYWwgaW5zdHJ1Y3Rpb25zIHNwZWNpZnlpbmcgaG93IHRoZSBiYW5kYWdlIHNob3VsZCBiZSBhcHBsaWVkLiIgY29tbWVudD0iRm9yIGluZm9ybWF0aW9uIGZyb20gdGhlIG1lZGljYWwgcmVjb3JkIGludGVuZGVkIHRvIHN1cHBvcnQgdGhlIGRlbGl2ZXJ5IG9mIHRoZSByZXF1ZXN0ZWQgc2VydmljZXMsIHVzZSB0aGUgYHN1cHBvcnRpbmdJbmZvcm1hdGlvbmAgZWxlbWVudC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT3JkZXJEZXRhaWwiIGRlc2NyaXB0aW9uPSJDb2RpZmllZCBvcmRlciBlbnRyeSBkZXRhaWxzIHdoaWNoIGFyZSBiYXNlZCBvbiBvcmRlciBjb250ZXh0LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iU2VydmljZSBhbW91bnQiIGRlZmluaXRpb249IkFuIGFtb3VudCBvZiBzZXJ2aWNlIGJlaW5nIHJlcXVlc3RlZCB3aGljaCBjYW4gYmUgYSBxdWFudGl0eSAoIGZvciBleGFtcGxlICQxLDUwMCBob21lIG1vZGlmaWNhdGlvbiksIGEgcmF0aW8gKCBmb3IgZXhhbXBsZSwgMjAgaGFsZiBkYXkgdmlzaXRzIHBlciBtb250aCksIG9yIGEgcmFuZ2UgKDIuMCB0byAxLjggR3kgcGVyIGZyYWN0aW9uKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlJhdGlvIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIEluZGl2aWR1YWwgb3IgRW50aXR5IHRoZSBzZXJ2aWNlIGlzIG9yZGVyZWQgZm9yIiBkZWZpbml0aW9uPSJPbiB3aG9tIG9yIHdoYXQgdGhlIHNlcnZpY2UgaXMgdG8gYmUgcGVyZm9ybWVkLiBUaGlzIGlzIHVzdWFsbHkgYSBodW1hbiBwYXRpZW50LCBidXQgY2FuIGFsc28gYmUgcmVxdWVzdGVkIG9uIGFuaW1hbHMsIGdyb3VwcyBvZiBodW1hbnMgb3IgYW5pbWFscywgZGV2aWNlcyBzdWNoIGFzIGRpYWx5c2lzIG1hY2hpbmVzLCBvciBldmVuIGxvY2F0aW9ucyAodHlwaWNhbGx5IGZvciBlbnZpcm9ubWVudGFsIHNjYW5zKS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkVuY291bnRlciBpbiB3aGljaCB0aGUgcmVxdWVzdCB3YXMgY3JlYXRlZCIgZGVmaW5pdGlvbj0iQW4gZW5jb3VudGVyIHRoYXQgcHJvdmlkZXMgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgaGVhbHRoY2FyZSBjb250ZXh0IGluIHdoaWNoIHRoaXMgcmVxdWVzdCBpcyBtYWRlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im9jY3VycmVuY2UiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBXaGVuIHNlcnZpY2Ugc2hvdWxkIG9jY3VyIiBkZWZpbml0aW9uPSJUaGUgZGF0ZS90aW1lIGF0IHdoaWNoIHRoZSByZXF1ZXN0ZWQgc2VydmljZSBzaG91bGQgb2NjdXIuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJUaW1pbmciLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYXNOZWVkZWQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUHJlY29uZGl0aW9ucyBmb3Igc2VydmljZSIgZGVmaW5pdGlvbj0iSWYgYSBDb2RlYWJsZUNvbmNlcHQgaXMgcHJlc2VudCwgaXQgaW5kaWNhdGVzIHRoZSBwcmUtY29uZGl0aW9uIGZvciBwZXJmb3JtaW5nIHRoZSBzZXJ2aWNlLiAgRm9yIGV4YW1wbGUgJnF1b3Q7cGFpbiZxdW90OywgJnF1b3Q7b24gZmxhcmUtdXAmcXVvdDssIGV0Yy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQm9vbGVhbiIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJQcm9jZWR1cmVBc05lZWRlZFJlYXNvbiIgZGVzY3JpcHRpb249IkEgY29kZWQgY29uY2VwdCBpZGVudGlmeWluZyB0aGUgcHJlLWNvbmRpdGlvbiB0aGF0IHNob3VsZCBob2xkIHByaW9yIHRvIHBlcmZvcm1pbmcgYSBwcm9jZWR1cmUuICBGb3IgZXhhbXBsZSAmcXVvdDtwYWluJnF1b3Q7LCAmcXVvdDtvbiBmbGFyZS11cCZxdW90OywgZXRjLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYXV0aG9yZWRPbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIERhdGUgcmVxdWVzdCBzaWduZWQiIGRlZmluaXRpb249IldoZW4gdGhlIHJlcXVlc3QgdHJhbnNpdGlvbmVkIHRvIGJlaW5nIGFjdGlvbmFibGUuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlcXVlc3RlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFdoby93aGF0IGlzIHJlcXVlc3Rpbmcgc2VydmljZSIgZGVmaW5pdGlvbj0iVGhlIGluZGl2aWR1YWwgd2hvIGluaXRpYXRlZCB0aGUgcmVxdWVzdCBhbmQgaGFzIHJlc3BvbnNpYmlsaXR5IGZvciBpdHMgYWN0aXZhdGlvbi4iIGNvbW1lbnQ9IlRoaXMgbm90IHRoZSBkaXNwYXRjaGVyLCBidXQgcmF0aGVyIHdobyBpcyB0aGUgYXV0aG9yaXplci4gIFRoaXMgZWxlbWVudCBpcyBub3QgaW50ZW5kZWQgdG8gaGFuZGxlIGRlbGVnYXRpb24gd2hpY2ggd291bGQgZ2VuZXJhbGx5IGJlIG1hbmFnZWQgdGhyb3VnaCB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyVHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUGVyZm9ybWVyIHJvbGUiIGRlZmluaXRpb249IkRlc2lyZWQgdHlwZSBvZiBwZXJmb3JtZXIgZm9yIGRvaW5nIHRoZSByZXF1ZXN0ZWQgc2VydmljZS4iIGNvbW1lbnQ9IlRoaXMgaXMgYSAgcm9sZSwgbm90ICBhIHBhcnRpY2lwYXRpb24gdHlwZS4gIEluIG90aGVyIHdvcmRzLCBkb2VzIG5vdCBkZXNjcmliZSB0aGUgdGFzayBidXQgZGVzY3JpYmVzIHRoZSBjYXBhY2l0eS4gIEZvciBleGFtcGxlLCDigJxjb21wb3VuZGluZyBwaGFybWFjeeKAnSwg4oCccHN5Y2hpYXRyaXN04oCdIG9yIOKAnGludGVybmFsIHJlZmVycmFs4oCdLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlNlcnZpY2VSZXF1ZXN0UGFydGljaXBhbnRSb2xlIiBkZXNjcmlwdGlvbj0iSW5kaWNhdGVzIHNwZWNpZmljIHJlc3BvbnNpYmlsaXR5IG9mIGFuIGluZGl2aWR1YWwgd2l0aGluIHRoZSBjYXJlIHRlYW0sIHN1Y2ggYXMgJnF1b3Q7UHJpbWFyeSBwaHlzaWNpYW4mcXVvdDssICZxdW90O1RlYW0gY29vcmRpbmF0b3ImcXVvdDssICZxdW90O0NhcmVnaXZlciZxdW90OywgZXRjLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iUmVxdWVzdGVkIHBlcmZvcm1lciIgZGVmaW5pdGlvbj0iVGhlIGRlc2lyZWQgcGVyZm9ybWVyIGZvciBkb2luZyB0aGUgcmVxdWVzdGVkIHNlcnZpY2UuICBGb3IgZXhhbXBsZSwgdGhlIHN1cmdlb24sIGRlcm1hdG9wYXRob2xvZ2lzdCwgZW5kb3Njb3Bpc3QsIGV0Yy4iIGNvbW1lbnQ9IklmIG11bHRpcGxlIHBlcmZvcm1lcnMgYXJlIHByZXNlbnQsIGl0IGlzIGludGVycHJldGVkIGFzIGEgbGlzdCBvZiAqYWx0ZXJuYXRpdmUqIHBlcmZvcm1lcnMgd2l0aG91dCBhbnkgcHJlZmVyZW5jZSByZWdhcmRsZXNzIG9mIG9yZGVyLiAgSWYgb3JkZXIgb2YgcHJlZmVyZW5jZSBpcyBuZWVkZWQgdXNlIHRoZSBbcmVxdWVzdC1wZXJmb3JtZXJPcmRlciBleHRlbnNpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLXJlcXVlc3QtcGVyZm9ybWVyb3JkZXIuaHRtbCkuICBVc2UgQ2FyZVRlYW0gdG8gcmVwcmVzZW50IGEgZ3JvdXAgb2YgcGVyZm9ybWVycyAoZm9yIGV4YW1wbGUsIFByYWN0aXRpb25lciBBICphbmQqIFByYWN0aXRpb25lciBCKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvbkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZXF1ZXN0ZWQgbG9jYXRpb24iIGRlZmluaXRpb249IlRoZSBwcmVmZXJyZWQgbG9jYXRpb24ocykgd2hlcmUgdGhlIHByb2NlZHVyZSBzaG91bGQgYWN0dWFsbHkgaGFwcGVuIGluIGNvZGVkIG9yIGZyZWUgdGV4dCBmb3JtLiBFLmcuIGF0IGhvbWUgb3IgbnVyc2luZyBkYXkgY2FyZSBjZW50ZXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlNlcnZpY2VSZXF1ZXN0TG9jYXRpb24iIGRlc2NyaXB0aW9uPSJBIGxvY2F0aW9uIHR5cGUgd2hlcmUgc2VydmljZXMgYXJlIGRlbGl2ZXJlZC4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImxvY2F0aW9uUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iUmVxdWVzdGVkIGxvY2F0aW9uIiBkZWZpbml0aW9uPSJBIHJlZmVyZW5jZSB0byB0aGUgdGhlIHByZWZlcnJlZCBsb2NhdGlvbihzKSB3aGVyZSB0aGUgcHJvY2VkdXJlIHNob3VsZCBhY3R1YWxseSBoYXBwZW4uIEUuZy4gYXQgaG9tZSBvciBudXJzaW5nIGRheSBjYXJlIGNlbnRlci4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBFeHBsYW5hdGlvbi9KdXN0aWZpY2F0aW9uIGZvciBwcm9jZWR1cmUgb3Igc2VydmljZSIgZGVmaW5pdGlvbj0iQW4gZXhwbGFuYXRpb24gb3IganVzdGlmaWNhdGlvbiBmb3Igd2h5IHRoaXMgc2VydmljZSBpcyBiZWluZyByZXF1ZXN0ZWQgaW4gY29kZWQgb3IgdGV4dHVhbCBmb3JtLiAgIFRoaXMgaXMgb2Z0ZW4gZm9yIGJpbGxpbmcgcHVycG9zZXMuICBNYXkgcmVsYXRlIHRvIHRoZSByZXNvdXJjZXMgcmVmZXJyZWQgdG8gaW4gYHN1cHBvcnRpbmdJbmZvYC4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCByZXByZXNlbnRzIHdoeSB0aGUgcmVmZXJyYWwgaXMgYmVpbmcgbWFkZSBhbmQgbWF5IGJlIHVzZWQgdG8gZGVjaWRlIGhvdyB0aGUgc2VydmljZSB3aWxsIGJlIHBlcmZvcm1lZCwgb3IgZXZlbiBpZiBpdCB3aWxsIGJlIHBlcmZvcm1lZCBhdCBhbGwuICAgVXNlIGBDb2RlYWJsZUNvbmNlcHQudGV4dGAgZWxlbWVudCBpZiB0aGUgZGF0YSBpcyBmcmVlICh1bmNvZGVkKSB0ZXh0IGFzIHNob3duIGluIHRoZSBbQ1QgU2NhbiBleGFtcGxlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3NlcnZpY2VyZXF1ZXN0LWV4YW1wbGUtZGkuaHRtbCkuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvblJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgRXhwbGFuYXRpb24vSnVzdGlmaWNhdGlvbiBmb3Igc2VydmljZSBvciBzZXJ2aWNlIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgYW5vdGhlciByZXNvdXJjZSB0aGF0IHByb3ZpZGVzIGEganVzdGlmaWNhdGlvbiBmb3Igd2h5IHRoaXMgc2VydmljZSBpcyBiZWluZyByZXF1ZXN0ZWQuICAgTWF5IHJlbGF0ZSB0byB0aGUgcmVzb3VyY2VzIHJlZmVycmVkIHRvIGluIGBzdXBwb3J0aW5nSW5mb2AuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgcmVwcmVzZW50cyB3aHkgdGhlIHJlZmVycmFsIGlzIGJlaW5nIG1hZGUgYW5kIG1heSBiZSB1c2VkIHRvIGRlY2lkZSBob3cgdGhlIHNlcnZpY2Ugd2lsbCBiZSBwZXJmb3JtZWQsIG9yIGV2ZW4gaWYgaXQgd2lsbCBiZSBwZXJmb3JtZWQgYXQgYWxsLiAgICBUbyBiZSBhcyBzcGVjaWZpYyBhcyBwb3NzaWJsZSwgIGEgcmVmZXJlbmNlIHRvICAqT2JzZXJ2YXRpb24qIG9yICpDb25kaXRpb24qIHNob3VsZCBiZSB1c2VkIGlmIGF2YWlsYWJsZS4gIE90aGVyd2lzZSB3aGVuIHJlZmVyZW5jaW5nICAqRGlhZ25vc3RpY1JlcG9ydCogIGl0IHNob3VsZCBjb250YWluIGEgZmluZGluZyAgaW4gYERpYWdub3N0aWNSZXBvcnQuY29uY2x1c2lvbmAgYW5kL29yIGBEaWFnbm9zdGljUmVwb3J0LmNvbmNsdXNpb25Db2RlYC4gICBXaGVuIHVzaW5nIGEgcmVmZXJlbmNlIHRvICpEb2N1bWVudFJlZmVyZW5jZSosIHRoZSB0YXJnZXQgZG9jdW1lbnQgc2hvdWxkIGNvbnRhaW4gY2xlYXIgZmluZGluZ3MgbGFuZ3VhZ2UgcHJvdmlkaW5nIHRoZSByZWxldmFudCByZWFzb24gZm9yIHRoaXMgc2VydmljZSByZXF1ZXN0LiAgVXNlICB0aGUgQ29kZWFibGVDb25jZXB0IHRleHQgZWxlbWVudCBpbiBgU2VydmljZVJlcXVlc3QucmVhc29uQ29kZWAgaWYgdGhlIGRhdGEgaXMgZnJlZSAodW5jb2RlZCkgdGV4dCBhcyBzaG93biBpbiB0aGUgW0NUIFNjYW4gZXhhbXBsZV0oc2VydmljZXJlcXVlc3QtZXhhbXBsZS1kaS5odG1sKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnN1cmFuY2UiIGRlc2NyaXB0aW9uPSJBc3NvY2lhdGVkIGluc3VyYW5jZSBjb3ZlcmFnZSIgZGVmaW5pdGlvbj0iSW5zdXJhbmNlIHBsYW5zLCBjb3ZlcmFnZSBleHRlbnNpb25zLCBwcmUtYXV0aG9yaXphdGlvbnMgYW5kL29yIHByZS1kZXRlcm1pbmF0aW9ucyB0aGF0IG1heSBiZSBuZWVkZWQgZm9yIGRlbGl2ZXJpbmcgdGhlIHJlcXVlc3RlZCBzZXJ2aWNlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1cHBvcnRpbmdJbmZvIiBkZXNjcmlwdGlvbj0iQWRkaXRpb25hbCBjbGluaWNhbCBpbmZvcm1hdGlvbiIgZGVmaW5pdGlvbj0iQWRkaXRpb25hbCBjbGluaWNhbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcGF0aWVudCBvciBzcGVjaW1lbiB0aGF0IG1heSBpbmZsdWVuY2UgdGhlIHNlcnZpY2VzIG9yIHRoZWlyIGludGVycHJldGF0aW9ucy4gICAgIFRoaXMgaW5mb3JtYXRpb24gaW5jbHVkZXMgZGlhZ25vc2lzLCBjbGluaWNhbCBmaW5kaW5ncyBhbmQgb3RoZXIgb2JzZXJ2YXRpb25zLiAgSW4gbGFib3JhdG9yeSBvcmRlcmluZyB0aGVzZSBhcmUgdHlwaWNhbGx5IHJlZmVycmVkIHRvIGFzICZxdW90O2FzayBhdCBvcmRlciBlbnRyeSBxdWVzdGlvbnMgKEFPRXMpJnF1b3Q7LiAgVGhpcyBpbmNsdWRlcyBvYnNlcnZhdGlvbnMgZXhwbGljaXRseSByZXF1ZXN0ZWQgYnkgdGhlIHByb2R1Y2VyIChmaWxsZXIpIHRvIHByb3ZpZGUgY29udGV4dCBvciBzdXBwb3J0aW5nIGluZm9ybWF0aW9uIG5lZWRlZCB0byBjb21wbGV0ZSB0aGUgb3JkZXIuIEZvciBleGFtcGxlLCAgcmVwb3J0aW5nIHRoZSBhbW91bnQgb2YgaW5zcGlyZWQgb3h5Z2VuIGZvciBibG9vZCBnYXMgbWVhc3VyZW1lbnRzLiIgY29tbWVudD0iVG8gcmVwcmVzZW50IGluZm9ybWF0aW9uIGFib3V0IGhvdyB0aGUgc2VydmljZXMgYXJlIHRvIGJlIGRlbGl2ZXJlZCB1c2UgdGhlIGBpbnN0cnVjdGlvbnNgIGVsZW1lbnQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3BlY2ltZW4iIGRlc2NyaXB0aW9uPSJQcm9jZWR1cmUgU2FtcGxlcyIgZGVmaW5pdGlvbj0iT25lIG9yIG1vcmUgc3BlY2ltZW5zIHRoYXQgdGhlIGxhYm9yYXRvcnkgcHJvY2VkdXJlIHdpbGwgdXNlLiIgY29tbWVudD0iTWFueSBkaWFnbm9zdGljIHByb2NlZHVyZXMgbmVlZCBhIHNwZWNpbWVuLCBidXQgdGhlIHJlcXVlc3QgaXRzZWxmIGlzIG5vdCBhY3R1YWxseSBhYm91dCB0aGUgc3BlY2ltZW4uIFRoaXMgZWxlbWVudCBpcyBmb3Igd2hlbiB0aGUgZGlhZ25vc3RpYyBpcyByZXF1ZXN0ZWQgb24gYWxyZWFkeSBleGlzdGluZyBzcGVjaW1lbnMgYW5kIHRoZSByZXF1ZXN0IHBvaW50cyB0byB0aGUgc3BlY2ltZW4gaXQgYXBwbGllcyB0by4gICAgQ29udmVyc2VseSwgaWYgdGhlIHJlcXVlc3QgaXMgZW50ZXJlZCBmaXJzdCB3aXRoIGFuIHVua25vd24gc3BlY2ltZW4sIHRoZW4gdGhlIFtTcGVjaW1lbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9zcGVjaW1lbi5odG1sKSByZXNvdXJjZSBwb2ludHMgdG8gdGhlIFNlcnZpY2VSZXF1ZXN0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iTG9jYXRpb24gb24gQm9keSIgZGVmaW5pdGlvbj0iQW5hdG9taWMgbG9jYXRpb24gd2hlcmUgdGhlIHByb2NlZHVyZSBzaG91bGQgYmUgcGVyZm9ybWVkLiBUaGlzIGlzIHRoZSB0YXJnZXQgc2l0ZS4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gdGhlIGNvZGUgZm91bmQgaW4gU2VydmljZVJlcXVlc3QuY29kZS4gIElmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBCb2R5U2l0ZSB0byBiZSBoYW5kbGVkIGFzIGEgc2VwYXJhdGUgcmVzb3VyY2UgaW5zdGVhZCBvZiBhbiBpbmxpbmUgY29kZWQgZWxlbWVudCAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb24gW3Byb2NlZHVyZS10YXJnZXRCb2R5U3RydWN0dXJlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1wcm9jZWR1cmUtdGFyZ2V0Ym9keXN0cnVjdHVyZS5odG1sKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQm9keVNpdGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGFuYXRvbWljYWwgbG9jYXRpb25zLiBNYXkgaW5jbHVkZSBsYXRlcmFsaXR5LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIiBkZWZpbml0aW9uPSJBbnkgb3RoZXIgbm90ZXMgYW5kIGNvbW1lbnRzIG1hZGUgYWJvdXQgdGhlIHNlcnZpY2UgcmVxdWVzdC4gRm9yIGV4YW1wbGUsIGludGVybmFsIGJpbGxpbmcgbm90ZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhdGllbnRJbnN0cnVjdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iUGF0aWVudCBvciBjb25zdW1lci1vcmllbnRlZCBpbnN0cnVjdGlvbnMiIGRlZmluaXRpb249Ikluc3RydWN0aW9ucyBpbiB0ZXJtcyB0aGF0IGFyZSB1bmRlcnN0b29kIGJ5IHRoZSBwYXRpZW50IG9yIGNvbnN1bWVyLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlbGV2YW50SGlzdG9yeSIgZGVzY3JpcHRpb249IlJlcXVlc3QgcHJvdmVuYW5jZSIgZGVmaW5pdGlvbj0iS2V5IGV2ZW50cyBpbiB0aGUgaGlzdG9yeSBvZiB0aGUgcmVxdWVzdC4iIGNvbW1lbnQ9IlRoaXMgbWlnaHQgbm90IGluY2x1ZGUgcHJvdmVuYW5jZXMgZm9yIGFsbCB2ZXJzaW9ucyBvZiB0aGUgcmVxdWVzdCDigJMgb25seSB0aG9zZSBkZWVtZWQg4oCccmVsZXZhbnTigJ0gb3IgaW1wb3J0YW50LiYjMTM7VGhpcyBTSEFMTCBOT1QgaW5jbHVkZSB0aGUgUHJvdmVuYW5jZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBjdXJyZW50IHZlcnNpb24gb2YgdGhlIHJlc291cmNlLiAgKElmIHRoYXQgcHJvdmVuYW5jZSBpcyBkZWVtZWQgdG8gYmUgYSDigJxyZWxldmFudOKAnSBjaGFuZ2UsIGl0IHdpbGwgbmVlZCB0byBiZSBhZGRlZCBhcyBwYXJ0IG9mIGEgbGF0ZXIgdXBkYXRlLiAgVW50aWwgdGhlbiwgaXQgY2FuIGJlIHF1ZXJpZWQgZGlyZWN0bHkgYXMgdGhlIFByb3ZlbmFuY2UgdGhhdCBwb2ludHMgdG8gdGhpcyB2ZXJzaW9uIHVzaW5nIF9yZXZpbmNsdWRlJiMxMztBbGwgUHJvdmVuYW5jZXMgc2hvdWxkIGhhdmUgc29tZSBoaXN0b3JpY2FsIHZlcnNpb24gb2YgdGhpcyBSZXF1ZXN0IGFzIHRoZWlyIHN1YmplY3QuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTZXJ2aWNlUmVxdWVzdCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtc2VydmljZXJlcXVlc3QiIGxhYmVsPSJRSUNvcmUgU2VydmljZVJlcXVlc3QiIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIG9yZGVyIiBkZWZpbml0aW9uPSJJZGVudGlmaWVycyBhc3NpZ25lZCB0byB0aGlzIG9yZGVyIGluc3RhbmNlIGJ5IHRoZSBvcmRlcmVyIGFuZC9vciB0aGUgcmVjZWl2ZXIgYW5kL29yIG9yZGVyIGZ1bGZpbGxlci4iIGNvbW1lbnQ9IlRoZSBpZGVudGlmaWVyLnR5cGUgZWxlbWVudCBpcyB1c2VkIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gdGhlIGlkZW50aWZpZXJzIGFzc2lnbmVkIGJ5IHRoZSBvcmRlcmVyIChrbm93biBhcyB0aGUgJ1BsYWNlcicgaW4gSEw3IHYyKSBhbmQgdGhlIHByb2R1Y2VyIG9mIHRoZSBvYnNlcnZhdGlvbnMgaW4gcmVzcG9uc2UgdG8gdGhlIG9yZGVyIChrbm93biBhcyB0aGUgJ0ZpbGxlcicgaW4gSEw3IHYyKS4gIEZvciBmdXJ0aGVyIGRpc2N1c3Npb24gYW5kIGV4YW1wbGVzIHNlZSB0aGUgcmVzb3VyY2Ugbm90ZXMgc2VjdGlvbiBiZWxvdy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzQ2Fub25pY2FsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikluc3RhbnRpYXRlcyBGSElSIHByb3RvY29sIG9yIGRlZmluaXRpb24iIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYSBGSElSLWRlZmluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXJzZXQgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIFNlcnZpY2VSZXF1ZXN0LiIgY29tbWVudD0iTm90ZTogVGhpcyBpcyBhIGJ1c2luZXNzIGlkZW50aWZpZXIsIG5vdCBhIHJlc291cmNlIGlkZW50aWZpZXIgKHNlZSBbZGlzY3Vzc2lvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS5odG1sI2lkZW50aWZpZXJzKSkuICBJdCBpcyBiZXN0IHByYWN0aWNlIGZvciB0aGUgaWRlbnRpZmllciB0byBvbmx5IGFwcGVhciBvbiBhIHNpbmdsZSByZXNvdXJjZSBpbnN0YW5jZSwgaG93ZXZlciBidXNpbmVzcyBwcmFjdGljZXMgbWF5IG9jY2FzaW9uYWxseSBkaWN0YXRlIHRoYXQgbXVsdGlwbGUgcmVzb3VyY2UgaW5zdGFuY2VzIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllciBjYW4gZXhpc3QgLSBwb3NzaWJseSBldmVuIHdpdGggZGlmZmVyZW50IHJlc291cmNlIHR5cGVzLiAgRm9yIGV4YW1wbGUsIG11bHRpcGxlIFBhdGllbnQgYW5kIGEgUGVyc29uIHJlc291cmNlIGluc3RhbmNlIG1pZ2h0IHNoYXJlIHRoZSBzYW1lIHNvY2lhbCBpbnN1cmFuY2UgbnVtYmVyLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbnRpYXRlc1VyaSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJJbnN0YW50aWF0ZXMgZXh0ZXJuYWwgcHJvdG9jb2wgb3IgZGVmaW5pdGlvbiIgZGVmaW5pdGlvbj0iVGhlIFVSTCBwb2ludGluZyB0byBhbiBleHRlcm5hbGx5IG1haW50YWluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXJzZXQgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIFNlcnZpY2VSZXF1ZXN0LiIgY29tbWVudD0iVGhpcyBtaWdodCBiZSBhbiBIVE1MIHBhZ2UsIFBERiwgZXRjLiBvciBjb3VsZCBqdXN0IGJlIGEgbm9uLXJlc29sdmFibGUgVVJJIGlkZW50aWZpZXIuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IldoYXQgcmVxdWVzdCBmdWxmaWxscyIgZGVmaW5pdGlvbj0iUGxhbi9wcm9wb3NhbC9vcmRlciBmdWxmaWxsZWQgYnkgdGhpcyByZXF1ZXN0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlcGxhY2VzIiBkZXNjcmlwdGlvbj0iV2hhdCByZXF1ZXN0IHJlcGxhY2VzIiBkZWZpbml0aW9uPSJUaGUgcmVxdWVzdCB0YWtlcyB0aGUgcGxhY2Ugb2YgdGhlIHJlZmVyZW5jZWQgY29tcGxldGVkIG9yIHRlcm1pbmF0ZWQgcmVxdWVzdChzKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZXF1aXNpdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQ29tcG9zaXRlIFJlcXVlc3QgSUQiIGRlZmluaXRpb249IkEgc2hhcmVkIGlkZW50aWZpZXIgY29tbW9uIHRvIGFsbCBzZXJ2aWNlIHJlcXVlc3RzIHRoYXQgd2VyZSBhdXRob3JpemVkIG1vcmUgb3IgbGVzcyBzaW11bHRhbmVvdXNseSBieSBhIHNpbmdsZSBhdXRob3IsIHJlcHJlc2VudGluZyB0aGUgY29tcG9zaXRlIG9yIGdyb3VwIGlkZW50aWZpZXIuIiBjb21tZW50PSJSZXF1ZXN0cyBhcmUgbGlua2VkIGVpdGhlciBieSBhICZxdW90O2Jhc2VkT24mcXVvdDsgcmVsYXRpb25zaGlwIChpLmUuIG9uZSByZXF1ZXN0IGlzIGZ1bGZpbGxpbmcgYW5vdGhlcikgb3IgYnkgaGF2aW5nIGEgY29tbW9uIHJlcXVpc2l0aW9uLiBSZXF1ZXN0cyB0aGF0IGFyZSBwYXJ0IG9mIHRoZSBzYW1lIHJlcXVpc2l0aW9uIGFyZSBnZW5lcmFsbHkgdHJlYXRlZCBpbmRlcGVuZGVudGx5IGZyb20gdGhlIHBlcnNwZWN0aXZlIG9mIGNoYW5naW5nIHRoZWlyIHN0YXRlIG9yIG1haW50YWluaW5nIHRoZW0gYWZ0ZXIgaW5pdGlhbCBjcmVhdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuU2VydmljZVJlcXVlc3RTdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBkcmFmdCB8IGFjdGl2ZSB8IG9uLWhvbGQgfCByZXZva2VkIHwgY29tcGxldGVkIHwgZW50ZXJlZC1pbi1lcnJvciB8IHVua25vd24iIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIG9yZGVyLiIgY29tbWVudD0iVGhlIHN0YXR1cyBpcyBnZW5lcmFsbHkgZnVsbHkgaW4gdGhlIGNvbnRyb2wgb2YgdGhlIHJlcXVlc3RlciAtIHRoZXkgZGV0ZXJtaW5lIHdoZXRoZXIgdGhlIG9yZGVyIGlzIGRyYWZ0IG9yIGFjdGl2ZSBhbmQsIGFmdGVyIGl0IGhhcyBiZWVuIGFjdGl2YXRlZCwgY29tcGV0ZWQsIGNhbmNlbGxlZCBvciBzdXNwZW5kZWQuIFN0YXRlcyByZWxhdGluZyB0byB0aGUgYWN0aXZpdGllcyBvZiB0aGUgcGVyZm9ybWVyIGFyZSByZWZsZWN0ZWQgb24gZWl0aGVyIHRoZSBjb3JyZXNwb25kaW5nIGV2ZW50IChzZWUgW0V2ZW50IFBhdHRlcm5dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXZlbnQuaHRtbCkgZm9yIGdlbmVyYWwgZGlzY3Vzc2lvbikgb3IgdXNpbmcgdGhlIFtUYXNrXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3Rhc2suaHRtbCkgcmVzb3VyY2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlNlcnZpY2VSZXF1ZXN0U3RhdHVzIiBkZXNjcmlwdGlvbj0iVGhlIHN0YXR1cyBvZiBhIHNlcnZpY2Ugb3JkZXIuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZW50IiBlbGVtZW50VHlwZT0iUUlDb3JlLlNlcnZpY2VSZXF1ZXN0SW50ZW50IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihVU0NESSkgcHJvcG9zYWwgfCBwbGFuIHwgZGlyZWN0aXZlIHwgb3JkZXIgfCBvcmlnaW5hbC1vcmRlciB8IHJlZmxleC1vcmRlciB8IGZpbGxlci1vcmRlciB8IGluc3RhbmNlLW9yZGVyIHwgb3B0aW9uIiBkZWZpbml0aW9uPSJXaGV0aGVyIHRoZSByZXF1ZXN0IGlzIGEgcHJvcG9zYWwsIHBsYW4sIGFuIG9yaWdpbmFsIG9yZGVyIG9yIGEgcmVmbGV4IG9yZGVyLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBpbnRlbnQgYWx0ZXJzIHdoZW4gYW5kIGhvdyB0aGUgcmVzb3VyY2UgaXMgYWN0dWFsbHkgYXBwbGljYWJsZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU2VydmljZVJlcXVlc3RJbnRlbnQiIGRlc2NyaXB0aW9uPSJUaGUga2luZCBvZiBzZXJ2aWNlIHJlcXVlc3QuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENsYXNzaWZpY2F0aW9uIG9mIHNlcnZpY2UiIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIHNlcnZpY2UgZm9yIHNlYXJjaGluZywgc29ydGluZyBhbmQgZGlzcGxheSBwdXJwb3NlcyAoZS5nLiAmcXVvdDtTdXJnaWNhbCBQcm9jZWR1cmUmcXVvdDspLiIgY29tbWVudD0iVGhlcmUgbWF5IGJlIG11bHRpcGxlIGF4aXMgb2YgY2F0ZWdvcml6YXRpb24gZGVwZW5kaW5nIG9uIHRoZSBjb250ZXh0IG9yIHVzZSBjYXNlIGZvciByZXRyaWV2aW5nIG9yIGRpc3BsYXlpbmcgdGhlIHJlc291cmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJTZXJ2aWNlUmVxdWVzdENhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ2xhc3NpZmljYXRpb24gb2YgdGhlIHJlcXVlc3RlZCBzZXJ2aWNlLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idXMtY29yZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgQ2xhc3NpZmljYXRpb24gb2Ygc2VydmljZSIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgc2VydmljZSBmb3Igc2VhcmNoaW5nLCBzb3J0aW5nIGFuZCBkaXNwbGF5IHB1cnBvc2VzIChlLmcuICZxdW90O1N1cmdpY2FsIFByb2NlZHVyZSZxdW90OykuIiBjb21tZW50PSJUaGVyZSBtYXkgYmUgbXVsdGlwbGUgYXhpcyBvZiBjYXRlZ29yaXphdGlvbiBkZXBlbmRpbmcgb24gdGhlIGNvbnRleHQgb3IgdXNlIGNhc2UgZm9yIHJldHJpZXZpbmcgb3IgZGlzcGxheWluZyB0aGUgcmVzb3VyY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJOb3RlIHRoYXQgb3RoZXIgY29kZXMgYXJlIHBlcm1pdHRlZCwgc2VlIFtSZXF1aXJlZCBCaW5kaW5ncyBXaGVuIFNsaWNpbmcgYnkgVmFsdWUgU2V0c10oaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL2dlbmVyYWwtcmVxdWlyZW1lbnRzLmh0bWwjcmVxdWlyZWQtYmluZGluZ3Mtd2hlbi1zbGljaW5nLWJ5LXZhbHVlLXNldHMpIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJpb3JpdHkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuU2VydmljZVJlcXVlc3RQcmlvcml0eSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJyb3V0aW5lIHwgdXJnZW50IHwgYXNhcCB8IHN0YXQiIGRlZmluaXRpb249IkluZGljYXRlcyBob3cgcXVpY2tseSB0aGUgU2VydmljZVJlcXVlc3Qgc2hvdWxkIGJlIGFkZHJlc3NlZCB3aXRoIHJlc3BlY3QgdG8gb3RoZXIgcmVxdWVzdHMuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU2VydmljZVJlcXVlc3RQcmlvcml0eSIgZGVzY3JpcHRpb249IklkZW50aWZpZXMgdGhlIGxldmVsIG9mIGltcG9ydGFuY2UgdG8gYmUgYXNzaWduZWQgdG8gYWN0aW9uaW5nIHRoZSByZXF1ZXN0LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRvTm90UGVyZm9ybSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Cb29sZWFuIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBUcnVlIGlmIHNlcnZpY2UvcHJvY2VkdXJlIHNob3VsZCBub3QgYmUgcGVyZm9ybWVkIiBkZWZpbml0aW9uPSJTZXQgdGhpcyB0byB0cnVlIGlmIHRoZSByZWNvcmQgaXMgc2F5aW5nIHRoYXQgdGhlIHNlcnZpY2UvcHJvY2VkdXJlIHNob3VsZCBOT1QgYmUgcGVyZm9ybWVkLiIgY29tbWVudD0iSW4gZ2VuZXJhbCwgb25seSB0aGUgY29kZSBhbmQgdGltZWZyYW1lIHdpbGwgYmUgcHJlc2VudCwgdGhvdWdoIG9jY2FzaW9uYWwgYWRkaXRpb25hbCBxdWFsaWZpZXJzIHN1Y2ggYXMgYm9keSBzaXRlIG9yIGV2ZW4gcGVyZm9ybWVyIGNvdWxkIGJlIGluY2x1ZGVkIHRvIG5hcnJvdyB0aGUgc2NvcGUgb2YgdGhlIHByb2hpYml0aW9uLiAgSWYgdGhlIFNlcnZpY2VSZXF1ZXN0LmNvZGUgYW5kIFNlcnZpY2VSZXF1ZXN0LmRvTm90UGVyZm9ybSBib3RoIGNvbnRhaW4gbmVnYXRpb24sIHRoYXQgd2lsbCByZWluZm9yY2UgcHJvaGliaXRpb24gYW5kIHNob3VsZCBub3QgaGF2ZSBhIGRvdWJsZSBuZWdhdGl2ZSBpbnRlcnByZXRhdGlvbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFdoYXQgaXMgYmVpbmcgcmVxdWVzdGVkL29yZGVyZWQiIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGlkZW50aWZpZXMgYSBwYXJ0aWN1bGFyIHNlcnZpY2UgKGkuZS4sIHByb2NlZHVyZSwgZGlhZ25vc3RpYyBpbnZlc3RpZ2F0aW9uLCBvciBwYW5lbCBvZiBpbnZlc3RpZ2F0aW9ucykgdGhhdCBoYXZlIGJlZW4gcmVxdWVzdGVkLiIgY29tbWVudD0iTWFueSBsYWJvcmF0b3J5IGFuZCByYWRpb2xvZ3kgcHJvY2VkdXJlIGNvZGVzIGVtYmVkIHRoZSBzcGVjaW1lbi9vcmdhbiBzeXN0ZW0gaW4gdGhlIHRlc3Qgb3JkZXIgbmFtZSwgZm9yIGV4YW1wbGUsICBzZXJ1bSBvciBzZXJ1bS9wbGFzbWEgZ2x1Y29zZSwgb3IgYSBjaGVzdCB4LXJheS4gVGhlIHNwZWNpbWVuIG1pZ2h0IG5vdCBiZSByZWNvcmRlZCBzZXBhcmF0ZWx5IGZyb20gdGhlIHRlc3QgY29kZS4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ib3JkZXJEZXRhaWwiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBZGRpdGlvbmFsIG9yZGVyIGluZm9ybWF0aW9uIiBkZWZpbml0aW9uPSJBZGRpdGlvbmFsIGRldGFpbHMgYW5kIGluc3RydWN0aW9ucyBhYm91dCB0aGUgaG93IHRoZSBzZXJ2aWNlcyBhcmUgdG8gYmUgZGVsaXZlcmVkLiAgIEZvciBleGFtcGxlLCBhbmQgb3JkZXIgZm9yIGEgdXJpbmFyeSBjYXRoZXRlciBtYXkgaGF2ZSBhbiBvcmRlciBkZXRhaWwgZm9yIGFuIGV4dGVybmFsIG9yIGluZHdlbGxpbmcgY2F0aGV0ZXIsIG9yIGFuIG9yZGVyIGZvciBhIGJhbmRhZ2UgbWF5IHJlcXVpcmUgYWRkaXRpb25hbCBpbnN0cnVjdGlvbnMgc3BlY2lmeWluZyBob3cgdGhlIGJhbmRhZ2Ugc2hvdWxkIGJlIGFwcGxpZWQuIiBjb21tZW50PSJGb3IgaW5mb3JtYXRpb24gZnJvbSB0aGUgbWVkaWNhbCByZWNvcmQgaW50ZW5kZWQgdG8gc3VwcG9ydCB0aGUgZGVsaXZlcnkgb2YgdGhlIHJlcXVlc3RlZCBzZXJ2aWNlcywgdXNlIHRoZSBgc3VwcG9ydGluZ0luZm9ybWF0aW9uYCBlbGVtZW50LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPcmRlckRldGFpbCIgZGVzY3JpcHRpb249IkNvZGlmaWVkIG9yZGVyIGVudHJ5IGRldGFpbHMgd2hpY2ggYXJlIGJhc2VkIG9uIG9yZGVyIGNvbnRleHQuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJxdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJTZXJ2aWNlIGFtb3VudCIgZGVmaW5pdGlvbj0iQW4gYW1vdW50IG9mIHNlcnZpY2UgYmVpbmcgcmVxdWVzdGVkIHdoaWNoIGNhbiBiZSBhIHF1YW50aXR5ICggZm9yIGV4YW1wbGUgJDEsNTAwIGhvbWUgbW9kaWZpY2F0aW9uKSwgYSByYXRpbyAoIGZvciBleGFtcGxlLCAyMCBoYWxmIGRheSB2aXNpdHMgcGVyIG1vbnRoKSwgb3IgYSByYW5nZSAoMi4wIHRvIDEuOCBHeSBwZXIgZnJhY3Rpb24pLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUmF0aW8iLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgSW5kaXZpZHVhbCBvciBFbnRpdHkgdGhlIHNlcnZpY2UgaXMgb3JkZXJlZCBmb3IiIGRlZmluaXRpb249Ik9uIHdob20gb3Igd2hhdCB0aGUgc2VydmljZSBpcyB0byBiZSBwZXJmb3JtZWQuIFRoaXMgaXMgdXN1YWxseSBhIGh1bWFuIHBhdGllbnQsIGJ1dCBjYW4gYWxzbyBiZSByZXF1ZXN0ZWQgb24gYW5pbWFscywgZ3JvdXBzIG9mIGh1bWFucyBvciBhbmltYWxzLCBkZXZpY2VzIHN1Y2ggYXMgZGlhbHlzaXMgbWFjaGluZXMsIG9yIGV2ZW4gbG9jYXRpb25zICh0eXBpY2FsbHkgZm9yIGVudmlyb25tZW50YWwgc2NhbnMpLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iRW5jb3VudGVyIGluIHdoaWNoIHRoZSByZXF1ZXN0IHdhcyBjcmVhdGVkIiBkZWZpbml0aW9uPSJBbiBlbmNvdW50ZXIgdGhhdCBwcm92aWRlcyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBoZWFsdGhjYXJlIGNvbnRleHQgaW4gd2hpY2ggdGhpcyByZXF1ZXN0IGlzIG1hZGUuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ib2NjdXJyZW5jZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFdoZW4gc2VydmljZSBzaG91bGQgb2NjdXIiIGRlZmluaXRpb249IlRoZSBkYXRlL3RpbWUgYXQgd2hpY2ggdGhlIHJlcXVlc3RlZCBzZXJ2aWNlIHNob3VsZCBvY2N1ci4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRpbWluZyIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhc05lZWRlZCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJQcmVjb25kaXRpb25zIGZvciBzZXJ2aWNlIiBkZWZpbml0aW9uPSJJZiBhIENvZGVhYmxlQ29uY2VwdCBpcyBwcmVzZW50LCBpdCBpbmRpY2F0ZXMgdGhlIHByZS1jb25kaXRpb24gZm9yIHBlcmZvcm1pbmcgdGhlIHNlcnZpY2UuICBGb3IgZXhhbXBsZSAmcXVvdDtwYWluJnF1b3Q7LCAmcXVvdDtvbiBmbGFyZS11cCZxdW90OywgZXRjLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJCb29sZWFuIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0Ii8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlByb2NlZHVyZUFzTmVlZGVkUmVhc29uIiBkZXNjcmlwdGlvbj0iQSBjb2RlZCBjb25jZXB0IGlkZW50aWZ5aW5nIHRoZSBwcmUtY29uZGl0aW9uIHRoYXQgc2hvdWxkIGhvbGQgcHJpb3IgdG8gcGVyZm9ybWluZyBhIHByb2NlZHVyZS4gIEZvciBleGFtcGxlICZxdW90O3BhaW4mcXVvdDssICZxdW90O29uIGZsYXJlLXVwJnF1b3Q7LCBldGMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhdXRob3JlZE9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgRGF0ZSByZXF1ZXN0IHNpZ25lZCIgZGVmaW5pdGlvbj0iV2hlbiB0aGUgcmVxdWVzdCB0cmFuc2l0aW9uZWQgdG8gYmVpbmcgYWN0aW9uYWJsZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVxdWVzdGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihVU0NESSkgV2hvL3doYXQgaXMgcmVxdWVzdGluZyBzZXJ2aWNlIiBkZWZpbml0aW9uPSJUaGUgaW5kaXZpZHVhbCB3aG8gaW5pdGlhdGVkIHRoZSByZXF1ZXN0IGFuZCBoYXMgcmVzcG9uc2liaWxpdHkgZm9yIGl0cyBhY3RpdmF0aW9uLiIgY29tbWVudD0iVGhpcyBub3QgdGhlIGRpc3BhdGNoZXIsIGJ1dCByYXRoZXIgd2hvIGlzIHRoZSBhdXRob3JpemVyLiAgVGhpcyBlbGVtZW50IGlzIG5vdCBpbnRlbmRlZCB0byBoYW5kbGUgZGVsZWdhdGlvbiB3aGljaCB3b3VsZCBnZW5lcmFsbHkgYmUgbWFuYWdlZCB0aHJvdWdoIHRoZSBQcm92ZW5hbmNlIHJlc291cmNlLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXJUeXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJQZXJmb3JtZXIgcm9sZSIgZGVmaW5pdGlvbj0iRGVzaXJlZCB0eXBlIG9mIHBlcmZvcm1lciBmb3IgZG9pbmcgdGhlIHJlcXVlc3RlZCBzZXJ2aWNlLiIgY29tbWVudD0iVGhpcyBpcyBhICByb2xlLCBub3QgIGEgcGFydGljaXBhdGlvbiB0eXBlLiAgSW4gb3RoZXIgd29yZHMsIGRvZXMgbm90IGRlc2NyaWJlIHRoZSB0YXNrIGJ1dCBkZXNjcmliZXMgdGhlIGNhcGFjaXR5LiAgRm9yIGV4YW1wbGUsIOKAnGNvbXBvdW5kaW5nIHBoYXJtYWN54oCdLCDigJxwc3ljaGlhdHJpc3TigJ0gb3Ig4oCcaW50ZXJuYWwgcmVmZXJyYWzigJ0uIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU2VydmljZVJlcXVlc3RQYXJ0aWNpcGFudFJvbGUiIGRlc2NyaXB0aW9uPSJJbmRpY2F0ZXMgc3BlY2lmaWMgcmVzcG9uc2liaWxpdHkgb2YgYW4gaW5kaXZpZHVhbCB3aXRoaW4gdGhlIGNhcmUgdGVhbSwgc3VjaCBhcyAmcXVvdDtQcmltYXJ5IHBoeXNpY2lhbiZxdW90OywgJnF1b3Q7VGVhbSBjb29yZGluYXRvciZxdW90OywgJnF1b3Q7Q2FyZWdpdmVyJnF1b3Q7LCBldGMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJSZXF1ZXN0ZWQgcGVyZm9ybWVyIiBkZWZpbml0aW9uPSJUaGUgZGVzaXJlZCBwZXJmb3JtZXIgZm9yIGRvaW5nIHRoZSByZXF1ZXN0ZWQgc2VydmljZS4gIEZvciBleGFtcGxlLCB0aGUgc3VyZ2VvbiwgZGVybWF0b3BhdGhvbG9naXN0LCBlbmRvc2NvcGlzdCwgZXRjLiIgY29tbWVudD0iSWYgbXVsdGlwbGUgcGVyZm9ybWVycyBhcmUgcHJlc2VudCwgaXQgaXMgaW50ZXJwcmV0ZWQgYXMgYSBsaXN0IG9mICphbHRlcm5hdGl2ZSogcGVyZm9ybWVycyB3aXRob3V0IGFueSBwcmVmZXJlbmNlIHJlZ2FyZGxlc3Mgb2Ygb3JkZXIuICBJZiBvcmRlciBvZiBwcmVmZXJlbmNlIGlzIG5lZWRlZCB1c2UgdGhlIFtyZXF1ZXN0LXBlcmZvcm1lck9yZGVyIGV4dGVuc2lvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9leHRlbnNpb24tcmVxdWVzdC1wZXJmb3JtZXJvcmRlci5odG1sKS4gIFVzZSBDYXJlVGVhbSB0byByZXByZXNlbnQgYSBncm91cCBvZiBwZXJmb3JtZXJzIChmb3IgZXhhbXBsZSwgUHJhY3RpdGlvbmVyIEEgKmFuZCogUHJhY3RpdGlvbmVyIEIpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImxvY2F0aW9uQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlcXVlc3RlZCBsb2NhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHByZWZlcnJlZCBsb2NhdGlvbihzKSB3aGVyZSB0aGUgcHJvY2VkdXJlIHNob3VsZCBhY3R1YWxseSBoYXBwZW4gaW4gY29kZWQgb3IgZnJlZSB0ZXh0IGZvcm0uIEUuZy4gYXQgaG9tZSBvciBudXJzaW5nIGRheSBjYXJlIGNlbnRlci4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU2VydmljZVJlcXVlc3RMb2NhdGlvbiIgZGVzY3JpcHRpb249IkEgbG9jYXRpb24gdHlwZSB3aGVyZSBzZXJ2aWNlcyBhcmUgZGVsaXZlcmVkLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibG9jYXRpb25SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJSZXF1ZXN0ZWQgbG9jYXRpb24iIGRlZmluaXRpb249IkEgcmVmZXJlbmNlIHRvIHRoZSB0aGUgcHJlZmVycmVkIGxvY2F0aW9uKHMpIHdoZXJlIHRoZSBwcm9jZWR1cmUgc2hvdWxkIGFjdHVhbGx5IGhhcHBlbi4gRS5nLiBhdCBob21lIG9yIG51cnNpbmcgZGF5IGNhcmUgY2VudGVyLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlYXNvbkNvZGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIEV4cGxhbmF0aW9uL0p1c3RpZmljYXRpb24gZm9yIHByb2NlZHVyZSBvciBzZXJ2aWNlIiBkZWZpbml0aW9uPSJBbiBleHBsYW5hdGlvbiBvciBqdXN0aWZpY2F0aW9uIGZvciB3aHkgdGhpcyBzZXJ2aWNlIGlzIGJlaW5nIHJlcXVlc3RlZCBpbiBjb2RlZCBvciB0ZXh0dWFsIGZvcm0uICAgVGhpcyBpcyBvZnRlbiBmb3IgYmlsbGluZyBwdXJwb3Nlcy4gIE1heSByZWxhdGUgdG8gdGhlIHJlc291cmNlcyByZWZlcnJlZCB0byBpbiBgc3VwcG9ydGluZ0luZm9gLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IHJlcHJlc2VudHMgd2h5IHRoZSByZWZlcnJhbCBpcyBiZWluZyBtYWRlIGFuZCBtYXkgYmUgdXNlZCB0byBkZWNpZGUgaG93IHRoZSBzZXJ2aWNlIHdpbGwgYmUgcGVyZm9ybWVkLCBvciBldmVuIGlmIGl0IHdpbGwgYmUgcGVyZm9ybWVkIGF0IGFsbC4gICBVc2UgYENvZGVhYmxlQ29uY2VwdC50ZXh0YCBlbGVtZW50IGlmIHRoZSBkYXRhIGlzIGZyZWUgKHVuY29kZWQpIHRleHQgYXMgc2hvd24gaW4gdGhlIFtDVCBTY2FuIGV4YW1wbGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvc2VydmljZXJlcXVlc3QtZXhhbXBsZS1kaS5odG1sKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBFeHBsYW5hdGlvbi9KdXN0aWZpY2F0aW9uIGZvciBzZXJ2aWNlIG9yIHNlcnZpY2UiIGRlZmluaXRpb249IkluZGljYXRlcyBhbm90aGVyIHJlc291cmNlIHRoYXQgcHJvdmlkZXMgYSBqdXN0aWZpY2F0aW9uIGZvciB3aHkgdGhpcyBzZXJ2aWNlIGlzIGJlaW5nIHJlcXVlc3RlZC4gICBNYXkgcmVsYXRlIHRvIHRoZSByZXNvdXJjZXMgcmVmZXJyZWQgdG8gaW4gYHN1cHBvcnRpbmdJbmZvYC4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCByZXByZXNlbnRzIHdoeSB0aGUgcmVmZXJyYWwgaXMgYmVpbmcgbWFkZSBhbmQgbWF5IGJlIHVzZWQgdG8gZGVjaWRlIGhvdyB0aGUgc2VydmljZSB3aWxsIGJlIHBlcmZvcm1lZCwgb3IgZXZlbiBpZiBpdCB3aWxsIGJlIHBlcmZvcm1lZCBhdCBhbGwuICAgIFRvIGJlIGFzIHNwZWNpZmljIGFzIHBvc3NpYmxlLCAgYSByZWZlcmVuY2UgdG8gICpPYnNlcnZhdGlvbiogb3IgKkNvbmRpdGlvbiogc2hvdWxkIGJlIHVzZWQgaWYgYXZhaWxhYmxlLiAgT3RoZXJ3aXNlIHdoZW4gcmVmZXJlbmNpbmcgICpEaWFnbm9zdGljUmVwb3J0KiAgaXQgc2hvdWxkIGNvbnRhaW4gYSBmaW5kaW5nICBpbiBgRGlhZ25vc3RpY1JlcG9ydC5jb25jbHVzaW9uYCBhbmQvb3IgYERpYWdub3N0aWNSZXBvcnQuY29uY2x1c2lvbkNvZGVgLiAgIFdoZW4gdXNpbmcgYSByZWZlcmVuY2UgdG8gKkRvY3VtZW50UmVmZXJlbmNlKiwgdGhlIHRhcmdldCBkb2N1bWVudCBzaG91bGQgY29udGFpbiBjbGVhciBmaW5kaW5ncyBsYW5ndWFnZSBwcm92aWRpbmcgdGhlIHJlbGV2YW50IHJlYXNvbiBmb3IgdGhpcyBzZXJ2aWNlIHJlcXVlc3QuICBVc2UgIHRoZSBDb2RlYWJsZUNvbmNlcHQgdGV4dCBlbGVtZW50IGluIGBTZXJ2aWNlUmVxdWVzdC5yZWFzb25Db2RlYCBpZiB0aGUgZGF0YSBpcyBmcmVlICh1bmNvZGVkKSB0ZXh0IGFzIHNob3duIGluIHRoZSBbQ1QgU2NhbiBleGFtcGxlXShzZXJ2aWNlcmVxdWVzdC1leGFtcGxlLWRpLmh0bWwpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3VyYW5jZSIgZGVzY3JpcHRpb249IkFzc29jaWF0ZWQgaW5zdXJhbmNlIGNvdmVyYWdlIiBkZWZpbml0aW9uPSJJbnN1cmFuY2UgcGxhbnMsIGNvdmVyYWdlIGV4dGVuc2lvbnMsIHByZS1hdXRob3JpemF0aW9ucyBhbmQvb3IgcHJlLWRldGVybWluYXRpb25zIHRoYXQgbWF5IGJlIG5lZWRlZCBmb3IgZGVsaXZlcmluZyB0aGUgcmVxdWVzdGVkIHNlcnZpY2UuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3VwcG9ydGluZ0luZm8iIGRlc2NyaXB0aW9uPSJBZGRpdGlvbmFsIGNsaW5pY2FsIGluZm9ybWF0aW9uIiBkZWZpbml0aW9uPSJBZGRpdGlvbmFsIGNsaW5pY2FsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBwYXRpZW50IG9yIHNwZWNpbWVuIHRoYXQgbWF5IGluZmx1ZW5jZSB0aGUgc2VydmljZXMgb3IgdGhlaXIgaW50ZXJwcmV0YXRpb25zLiAgICAgVGhpcyBpbmZvcm1hdGlvbiBpbmNsdWRlcyBkaWFnbm9zaXMsIGNsaW5pY2FsIGZpbmRpbmdzIGFuZCBvdGhlciBvYnNlcnZhdGlvbnMuICBJbiBsYWJvcmF0b3J5IG9yZGVyaW5nIHRoZXNlIGFyZSB0eXBpY2FsbHkgcmVmZXJyZWQgdG8gYXMgJnF1b3Q7YXNrIGF0IG9yZGVyIGVudHJ5IHF1ZXN0aW9ucyAoQU9FcykmcXVvdDsuICBUaGlzIGluY2x1ZGVzIG9ic2VydmF0aW9ucyBleHBsaWNpdGx5IHJlcXVlc3RlZCBieSB0aGUgcHJvZHVjZXIgKGZpbGxlcikgdG8gcHJvdmlkZSBjb250ZXh0IG9yIHN1cHBvcnRpbmcgaW5mb3JtYXRpb24gbmVlZGVkIHRvIGNvbXBsZXRlIHRoZSBvcmRlci4gRm9yIGV4YW1wbGUsICByZXBvcnRpbmcgdGhlIGFtb3VudCBvZiBpbnNwaXJlZCBveHlnZW4gZm9yIGJsb29kIGdhcyBtZWFzdXJlbWVudHMuIiBjb21tZW50PSJUbyByZXByZXNlbnQgaW5mb3JtYXRpb24gYWJvdXQgaG93IHRoZSBzZXJ2aWNlcyBhcmUgdG8gYmUgZGVsaXZlcmVkIHVzZSB0aGUgYGluc3RydWN0aW9uc2AgZWxlbWVudC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZGVzY3JpcHRpb249IlByb2NlZHVyZSBTYW1wbGVzIiBkZWZpbml0aW9uPSJPbmUgb3IgbW9yZSBzcGVjaW1lbnMgdGhhdCB0aGUgbGFib3JhdG9yeSBwcm9jZWR1cmUgd2lsbCB1c2UuIiBjb21tZW50PSJNYW55IGRpYWdub3N0aWMgcHJvY2VkdXJlcyBuZWVkIGEgc3BlY2ltZW4sIGJ1dCB0aGUgcmVxdWVzdCBpdHNlbGYgaXMgbm90IGFjdHVhbGx5IGFib3V0IHRoZSBzcGVjaW1lbi4gVGhpcyBlbGVtZW50IGlzIGZvciB3aGVuIHRoZSBkaWFnbm9zdGljIGlzIHJlcXVlc3RlZCBvbiBhbHJlYWR5IGV4aXN0aW5nIHNwZWNpbWVucyBhbmQgdGhlIHJlcXVlc3QgcG9pbnRzIHRvIHRoZSBzcGVjaW1lbiBpdCBhcHBsaWVzIHRvLiAgICBDb252ZXJzZWx5LCBpZiB0aGUgcmVxdWVzdCBpcyBlbnRlcmVkIGZpcnN0IHdpdGggYW4gdW5rbm93biBzcGVjaW1lbiwgdGhlbiB0aGUgW1NwZWNpbWVuXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L3NwZWNpbWVuLmh0bWwpIHJlc291cmNlIHBvaW50cyB0byB0aGUgU2VydmljZVJlcXVlc3QuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJMb2NhdGlvbiBvbiBCb2R5IiBkZWZpbml0aW9uPSJBbmF0b21pYyBsb2NhdGlvbiB3aGVyZSB0aGUgcHJvY2VkdXJlIHNob3VsZCBiZSBwZXJmb3JtZWQuIFRoaXMgaXMgdGhlIHRhcmdldCBzaXRlLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiB0aGUgY29kZSBmb3VuZCBpbiBTZXJ2aWNlUmVxdWVzdC5jb2RlLiAgSWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb2RlZCBlbGVtZW50IChlLmcuIHRvIGlkZW50aWZ5IGFuZCB0cmFjayBzZXBhcmF0ZWx5KSAgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbcHJvY2VkdXJlLXRhcmdldEJvZHlTdHJ1Y3R1cmVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLXByb2NlZHVyZS10YXJnZXRib2R5c3RydWN0dXJlLmh0bWwpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMiIGRlZmluaXRpb249IkFueSBvdGhlciBub3RlcyBhbmQgY29tbWVudHMgbWFkZSBhYm91dCB0aGUgc2VydmljZSByZXF1ZXN0LiBGb3IgZXhhbXBsZSwgaW50ZXJuYWwgYmlsbGluZyBub3Rlcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGF0aWVudEluc3RydWN0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJQYXRpZW50IG9yIGNvbnN1bWVyLW9yaWVudGVkIGluc3RydWN0aW9ucyIgZGVmaW5pdGlvbj0iSW5zdHJ1Y3Rpb25zIGluIHRlcm1zIHRoYXQgYXJlIHVuZGVyc3Rvb2QgYnkgdGhlIHBhdGllbnQgb3IgY29uc3VtZXIuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVsZXZhbnRIaXN0b3J5IiBkZXNjcmlwdGlvbj0iUmVxdWVzdCBwcm92ZW5hbmNlIiBkZWZpbml0aW9uPSJLZXkgZXZlbnRzIGluIHRoZSBoaXN0b3J5IG9mIHRoZSByZXF1ZXN0LiIgY29tbWVudD0iVGhpcyBtaWdodCBub3QgaW5jbHVkZSBwcm92ZW5hbmNlcyBmb3IgYWxsIHZlcnNpb25zIG9mIHRoZSByZXF1ZXN0IOKAkyBvbmx5IHRob3NlIGRlZW1lZCDigJxyZWxldmFudOKAnSBvciBpbXBvcnRhbnQuJiMxMztUaGlzIFNIQUxMIE5PVCBpbmNsdWRlIHRoZSBQcm92ZW5hbmNlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgcmVzb3VyY2UuICAoSWYgdGhhdCBwcm92ZW5hbmNlIGlzIGRlZW1lZCB0byBiZSBhIOKAnHJlbGV2YW504oCdIGNoYW5nZSwgaXQgd2lsbCBuZWVkIHRvIGJlIGFkZGVkIGFzIHBhcnQgb2YgYSBsYXRlciB1cGRhdGUuICBVbnRpbCB0aGVuLCBpdCBjYW4gYmUgcXVlcmllZCBkaXJlY3RseSBhcyB0aGUgUHJvdmVuYW5jZSB0aGF0IHBvaW50cyB0byB0aGlzIHZlcnNpb24gdXNpbmcgX3JldmluY2x1ZGUmIzEzO0FsbCBQcm92ZW5hbmNlcyBzaG91bGQgaGF2ZSBzb21lIGhpc3RvcmljYWwgdmVyc2lvbiBvZiB0aGlzIFJlcXVlc3QgYXMgdGhlaXIgc3ViamVjdC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJwZXJmb3JtZXIiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQcmFjdGl0aW9uZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJyZXF1ZXN0ZXIiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJQYXRpZW50IiByZWxhdGVkS2V5RWxlbWVudD0ic3ViamVjdCIvPgogICAgICAgIDxjb250ZXh0UmVsYXRpb25zaGlwIGNvbnRleHQ9IlBhdGllbnQiIHJlbGF0ZWRLZXlFbGVtZW50PSJwZXJmb3JtZXIiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJFbmNvdW50ZXIiIHJlbGF0ZWRLZXlFbGVtZW50PSJlbmNvdW50ZXIiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJEZXZpY2UiIHJlbGF0ZWRLZXlFbGVtZW50PSJwZXJmb3JtZXIiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJEZXZpY2UiIHJlbGF0ZWRLZXlFbGVtZW50PSJyZXF1ZXN0ZXIiLz4KICAgICAgICA8Y29udGV4dFJlbGF0aW9uc2hpcCBjb250ZXh0PSJSZWxhdGVkUGVyc29uIiByZWxhdGVkS2V5RWxlbWVudD0icGVyZm9ybWVyIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTZXJ2aWNlUmVxdWVzdEludGVudCIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTZXJ2aWNlUmVxdWVzdFByaW9yaXR5IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlNlcnZpY2VSZXF1ZXN0U3RhdHVzIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlNpZ25hdHVyZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1NpZ25hdHVyZSIgbGFiZWw9IlNpZ25hdHVyZSIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJJbmRpY2F0aW9uIG9mIHRoZSByZWFzb24gdGhlIGVudGl0eSBzaWduZWQgdGhlIG9iamVjdChzKSIgZGVmaW5pdGlvbj0iQW4gaW5kaWNhdGlvbiBvZiB0aGUgcmVhc29uIHRoYXQgdGhlIGVudGl0eSBzaWduZWQgdGhpcyBkb2N1bWVudC4gVGhpcyBtYXkgYmUgZXhwbGljaXRseSBpbmNsdWRlZCBhcyBwYXJ0IG9mIHRoZSBzaWduYXR1cmUgaW5mb3JtYXRpb24gYW5kIGNhbiBiZSB1c2VkIHdoZW4gZGV0ZXJtaW5pbmcgYWNjb3VudGFiaWxpdHkgZm9yIHZhcmlvdXMgYWN0aW9ucyBjb25jZXJuaW5nIHRoZSBkb2N1bWVudC4iIGNvbW1lbnQ9IkV4YW1wbGVzIGluY2x1ZGUgYXR0ZXN0aW5nIHRvOiBhdXRob3JzaGlwLCBjb3JyZWN0IHRyYW5zY3JpcHRpb24sIGFuZCB3aXRuZXNzIG9mIHNwZWNpZmljIGV2ZW50LiBBbHNvIGtub3duIGFzIGEgJmFtcDtxdW90O0NvbW1pdG1lbnQgVHlwZSBJbmRpY2F0aW9uJmFtcDtxdW90Oy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvZGUiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU2lnbmF0dXJlVHlwZSIgZGVzY3JpcHRpb249IkFuIGluZGljYXRpb24gb2YgdGhlIHJlYXNvbiB0aGF0IGFuIGVudGl0eSBzaWduZWQgdGhlIG9iamVjdC4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0id2hlbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJXaGVuIHRoZSBzaWduYXR1cmUgd2FzIGNyZWF0ZWQiIGRlZmluaXRpb249IldoZW4gdGhlIGRpZ2l0YWwgc2lnbmF0dXJlIHdhcyBzaWduZWQuIiBjb21tZW50PSJUaGlzIHNob3VsZCBhZ3JlZSB3aXRoIHRoZSBpbmZvcm1hdGlvbiBpbiB0aGUgc2lnbmF0dXJlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9IndobyIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaG8gc2lnbmVkIiBkZWZpbml0aW9uPSJBIHJlZmVyZW5jZSB0byBhbiBhcHBsaWNhdGlvbi11c2FibGUgZGVzY3JpcHRpb24gb2YgdGhlIGlkZW50aXR5IHRoYXQgc2lnbmVkICAoZS5nLiB0aGUgc2lnbmF0dXJlIHVzZWQgdGhlaXIgcHJpdmF0ZSBrZXkpLiIgY29tbWVudD0iVGhpcyBzaG91bGQgYWdyZWUgd2l0aCB0aGUgaW5mb3JtYXRpb24gaW4gdGhlIHNpZ25hdHVyZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJvbkJlaGFsZk9mIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlRoZSBwYXJ0eSByZXByZXNlbnRlZCIgZGVmaW5pdGlvbj0iQSByZWZlcmVuY2UgdG8gYW4gYXBwbGljYXRpb24tdXNhYmxlIGRlc2NyaXB0aW9uIG9mIHRoZSBpZGVudGl0eSB0aGF0IGlzIHJlcHJlc2VudGVkIGJ5IHRoZSBzaWduYXR1cmUuIiBjb21tZW50PSJUaGUgcGFydHkgdGhhdCBjYW4ndCBzaWduLiBGb3IgZXhhbXBsZSBhIGNoaWxkLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InRhcmdldEZvcm1hdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5NaW1lVHlwZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaGUgdGVjaG5pY2FsIGZvcm1hdCBvZiB0aGUgc2lnbmVkIHJlc291cmNlcyIgZGVmaW5pdGlvbj0iQSBtaW1lIHR5cGUgdGhhdCBpbmRpY2F0ZXMgdGhlIHRlY2huaWNhbCBmb3JtYXQgb2YgdGhlIHRhcmdldCByZXNvdXJjZXMgc2lnbmVkIGJ5IHRoZSBzaWduYXR1cmUuIiBjb21tZW50PSImcXVvdDt4bWwmcXVvdDssICZxdW90O2pzb24mcXVvdDsgYW5kICZxdW90O3R0bCZxdW90OyBhcmUgYWxsb3dlZCwgd2hpY2ggZGVzY3JpYmUgdGhlIHNpbXBsZSBlbmNvZGluZ3MgZGVzY3JpYmVkIGluIHRoZSBzcGVjaWZpY2F0aW9uIChhbmQgaW1wbHkgYXBwcm9wcmlhdGUgYnVuZGxlIHN1cHBvcnQpLiBPdGhlcndpc2UsIG1pbWUgdHlwZXMgYXJlIGxlZ2FsIGhlcmUuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iTWltZVR5cGUiIGRlc2NyaXB0aW9uPSJUaGUgbWltZSB0eXBlIG9mIGFuIGF0dGFjaG1lbnQuIEFueSB2YWxpZCBtaW1lIHR5cGUgaXMgYWxsb3dlZC4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzaWdGb3JtYXQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuTWltZVR5cGUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGhlIHRlY2huaWNhbCBmb3JtYXQgb2YgdGhlIHNpZ25hdHVyZSIgZGVmaW5pdGlvbj0iQSBtaW1lIHR5cGUgdGhhdCBpbmRpY2F0ZXMgdGhlIHRlY2huaWNhbCBmb3JtYXQgb2YgdGhlIHNpZ25hdHVyZS4gSW1wb3J0YW50IG1pbWUgdHlwZXMgYXJlIGFwcGxpY2F0aW9uL3NpZ25hdHVyZSt4bWwgZm9yIFggTUwgRGlnU2lnLCBhcHBsaWNhdGlvbi9qb3NlIGZvciBKV1MsIGFuZCBpbWFnZS8qIGZvciBhIGdyYXBoaWNhbCBpbWFnZSBvZiBhIHNpZ25hdHVyZSwgZXRjLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik1pbWVUeXBlIiBkZXNjcmlwdGlvbj0iVGhlIG1pbWUgdHlwZSBvZiBhbiBhdHRhY2htZW50LiBBbnkgdmFsaWQgbWltZSB0eXBlIGlzIGFsbG93ZWQuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YSIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGhlIGFjdHVhbCBzaWduYXR1cmUgY29udGVudCAoWE1MIERpZ1NpZy4gSldTLCBwaWN0dXJlLCBldGMuKSIgZGVmaW5pdGlvbj0iVGhlIGJhc2U2NCBlbmNvZGluZyBvZiB0aGUgU2lnbmF0dXJlIGNvbnRlbnQuIFdoZW4gc2lnbmF0dXJlIGlzIG5vdCByZWNvcmRlZCBlbGVjdHJvbmljYWxseSB0aGlzIGVsZW1lbnQgd291bGQgYmUgZW1wdHkuIiBjb21tZW50PSJXaGVyZSB0aGUgc2lnbmF0dXJlIHR5cGUgaXMgYW4gWE1MIERpZ1NpZywgdGhlIHNpZ25lZCBjb250ZW50IGlzIGEgRkhJUiBSZXNvdXJjZShzKSwgdGhlIHNpZ25hdHVyZSBpcyBvZiB0aGUgWE1MIGZvcm0gb2YgdGhlIFJlc291cmNlKHMpIHVzaW5nICBYTUwtU2lnbmF0dXJlIChYTUxESUcpICZxdW90O0RldGFjaGVkIFNpZ25hdHVyZSZxdW90OyBmb3JtLiIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU2ltcGxlT2JzZXJ2YXRpb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcWljb3JlLXNpbXBsZS1vYnNlcnZhdGlvbiIgbGFiZWw9IlFJQ29yZSBTaW1wbGUgT2JzZXJ2YXRpb24iIHRhcmdldD0iT2JzZXJ2YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBJZGVudGlmaWVyIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIG9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBPYnNlcnZhdGlvbiBpcyBhIGNvbXBvbmVudCBvciBzdGVwLiAgRm9yIGV4YW1wbGUsICBhbiBvYnNlcnZhdGlvbiBhcyBwYXJ0IG9mIGEgcHJvY2VkdXJlLiIgY29tbWVudD0iVG8gbGluayBhbiBPYnNlcnZhdGlvbiB0byBhbiBFbmNvdW50ZXIgdXNlIGBlbmNvdW50ZXJgLiAgU2VlIHRoZSAgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93IGZvciBndWlkYW5jZSBvbiByZWZlcmVuY2luZyBhbm90aGVyIE9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSByZWdpc3RlcmVkIHwgcHJsaW1pbmFyeSB8IGZpbmFsIHwgYW1lbmRlZCB8IGNvcnJlY3RlZCB8IGVudGVyZWQtaW4tZXJyb3IgfCB1bmtub3duIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSByZXN1bHQgdmFsdWUuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgQ2xhc3NpZmljYXRpb24gb2YgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InVzLWNvcmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iTm90ZSB0aGF0IG90aGVyIGNvZGVzIGFyZSBwZXJtaXR0ZWQsIHNlZSBbUmVxdWlyZWQgQmluZGluZ3MgV2hlbiBTbGljaW5nIGJ5IFZhbHVlIFNldHNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9nZW5lcmFsLXJlcXVpcmVtZW50cy5odG1sI3JlcXVpcmVkLWJpbmRpbmdzLXdoZW4tc2xpY2luZy1ieS12YWx1ZXNldHMpIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpKFVTQ0RJKSBUeXBlIG9mIG9ic2VydmF0aW9uIChjb2RlIC8gdHlwZSkiIGRlZmluaXRpb249IkRlc2NyaWJlcyB3aGF0IHdhcyBvYnNlcnZlZC4gU29tZXRpbWVzIHRoaXMgaXMgY2FsbGVkIHRoZSBvYnNlcnZhdGlvbiAmcXVvdDtuYW1lJnF1b3Q7LiIgY29tbWVudD0iKkFsbCogY29kZS12YWx1ZSBhbmQsIGlmIHByZXNlbnQsIGNvbXBvbmVudC5jb2RlLWNvbXBvbmVudC52YWx1ZSBwYWlycyBuZWVkIHRvIGJlIHRha2VuIGludG8gYWNjb3VudCB0byBjb3JyZWN0bHkgdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGlzIHZhbHVlIHNldCBzcGVjaWZpZXMgdGhlIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFdobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmb2N1cyIgZGVzY3JpcHRpb249IldoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0LCB3aGVuIGl0IGlzIG5vdCBhYm91dCB0aGUgc3ViamVjdCBvZiByZWNvcmQiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gd2hlbiBpdCBpcyBub3QgdGhlIHBhdGllbnQgb2YgcmVjb3JkIHJlcHJlc2VudGluZyBzb21ldGhpbmcgb3Igc29tZW9uZSBhc3NvY2lhdGVkIHdpdGggdGhlIHBhdGllbnQgc3VjaCBhcyBhIHNwb3VzZSwgcGFyZW50LCBmZXR1cywgb3IgZG9ub3IuIEZvciBleGFtcGxlLCBmZXR1cyBvYnNlcnZhdGlvbnMgaW4gYSBtb3RoZXIncyByZWNvcmQuICBUaGUgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gY291bGQgYWxzbyBiZSBhbiBleGlzdGluZyBjb25kaXRpb24sICBhbiBpbnRlcnZlbnRpb24sIHRoZSBzdWJqZWN0J3MgZGlldCwgIGFub3RoZXIgb2JzZXJ2YXRpb24gb2YgdGhlIHN1YmplY3QsICBvciBhIGJvZHkgc3RydWN0dXJlIHN1Y2ggYXMgdHVtb3Igb3IgaW1wbGFudGVkIGRldmljZS4gICBBbiBleGFtcGxlIHVzZSBjYXNlIHdvdWxkIGJlIHVzaW5nIHRoZSBPYnNlcnZhdGlvbiByZXNvdXJjZSB0byBjYXB0dXJlIHdoZXRoZXIgdGhlIG1vdGhlciBpcyB0cmFpbmVkIHRvIGNoYW5nZSBoZXIgY2hpbGQncyB0cmFjaGVvc3RvbXkgdHViZS4gSW4gdGhpcyBleGFtcGxlLCB0aGUgY2hpbGQgaXMgdGhlIHBhdGllbnQgb2YgcmVjb3JkIGFuZCB0aGUgbW90aGVyIGlzIHRoZSBmb2N1cy4iIGNvbW1lbnQ9IlR5cGljYWxseSwgYW4gb2JzZXJ2YXRpb24gaXMgbWFkZSBhYm91dCB0aGUgc3ViamVjdCAtIGEgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgLSBhbmQgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhlIHN1YmplY3QgYW5kIHdoYXQgaXMgZGlyZWN0bHkgbWVhc3VyZWQgZm9yIGFuIG9ic2VydmF0aW9uIGlzIHNwZWNpZmllZCBpbiB0aGUgb2JzZXJ2YXRpb24gY29kZSBpdHNlbGYgKCBlLmcuLCAmcXVvdDtCbG9vZCBHbHVjb3NlJnF1b3Q7KSBhbmQgZG9lcyBub3QgbmVlZCB0byBiZSByZXByZXNlbnRlZCBzZXBhcmF0ZWx5IHVzaW5nIHRoaXMgZWxlbWVudC4gIFVzZSBgc3BlY2ltZW5gIGlmIGEgcmVmZXJlbmNlIHRvIGEgc3BlY2ltZW4gaXMgcmVxdWlyZWQuICBJZiBhIGNvZGUgaXMgcmVxdWlyZWQgaW5zdGVhZCBvZiBhIHJlc291cmNlIHVzZSBlaXRoZXIgIGBib2R5c2l0ZWAgZm9yIGJvZHlzaXRlcyBvciB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtmb2N1c0NvZGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLW9ic2VydmF0aW9uLWZvY3VzY29kZS5odG1sKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKShVU0NESSkgQ2xpbmljYWxseSByZWxldmFudCB0aW1lL3RpbWUtcGVyaW9kIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHRpbWUgb3IgdGltZS1wZXJpb2QgdGhlIG9ic2VydmVkIHZhbHVlIGlzIGFzc2VydGVkIGFzIGJlaW5nIHRydWUuIEZvciBiaW9sb2dpY2FsIHN1YmplY3RzIC0gZS5nLiBodW1hbiBwYXRpZW50cyAtIHRoaXMgaXMgdXN1YWxseSBjYWxsZWQgdGhlICZxdW90O3BoeXNpb2xvZ2ljYWxseSByZWxldmFudCB0aW1lJnF1b3Q7LiBUaGlzIGlzIHVzdWFsbHkgZWl0aGVyIHRoZSB0aW1lIG9mIHRoZSBwcm9jZWR1cmUgb3Igb2Ygc3BlY2ltZW4gY29sbGVjdGlvbiwgYnV0IHZlcnkgb2Z0ZW4gdGhlIHNvdXJjZSBvZiB0aGUgZGF0ZS90aW1lIGlzIG5vdCBrbm93biwgb25seSB0aGUgZGF0ZS90aW1lIGl0c2VsZi4iIGNvbW1lbnQ9IkF0IGxlYXN0IGEgZGF0ZSBzaG91bGQgYmUgcHJlc2VudCB1bmxlc3MgdGhpcyBvYnNlcnZhdGlvbiBpcyBhIGhpc3RvcmljYWwgcmVwb3J0LiAgRm9yIHJlY29yZGluZyBpbXByZWNpc2Ugb3IgJnF1b3Q7ZnV6enkmcXVvdDsgdGltZXMgKEZvciBleGFtcGxlLCBhIGJsb29kIGdsdWNvc2UgbWVhc3VyZW1lbnQgdGFrZW4gJnF1b3Q7YWZ0ZXIgYnJlYWtmYXN0JnF1b3Q7KSB1c2UgdGhlIFtUaW1pbmddKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZGF0YXR5cGVzLmh0bWwjdGltaW5nKSBkYXRhdHlwZSB3aGljaCBhbGxvdyB0aGUgbWVhc3VyZW1lbnQgdG8gYmUgdGllZCB0byByZWd1bGFyIGxpZmUgZXZlbnRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGltaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFdobyBpcyByZXNwb25zaWJsZSBmb3IgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJXaG8gd2FzIHJlc3BvbnNpYmxlIGZvciBhc3NlcnRpbmcgdGhlIG9ic2VydmVkIHZhbHVlIGFzICZxdW90O3RydWUmcXVvdDsuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIEFjdHVhbCByZXN1bHQiIGRlZmluaXRpb249IlRoZSBpbmZvcm1hdGlvbiBkZXRlcm1pbmVkIGFzIGEgcmVzdWx0IG9mIG1ha2luZyB0aGUgb2JzZXJ2YXRpb24sIGlmIHRoZSBpbmZvcm1hdGlvbiBoYXMgYSBzaW1wbGUgdmFsdWUuIiBjb21tZW50PSJBbiBvYnNlcnZhdGlvbiBtYXkgaGF2ZTsgMSkgIGEgc2luZ2xlIHZhbHVlIGhlcmUsIDIpICBib3RoIGEgdmFsdWUgYW5kIGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcywgIG9yIDMpICBvbmx5IGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcy4gSWYgYSB2YWx1ZSBpcyBwcmVzZW50LCB0aGUgZGF0YXR5cGUgZm9yIHRoaXMgZWxlbWVudCBzaG91bGQgYmUgZGV0ZXJtaW5lZCBieSBPYnNlcnZhdGlvbi5jb2RlLiAgQSBDb2RlYWJsZUNvbmNlcHQgd2l0aCBqdXN0IGEgdGV4dCB3b3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgYSBzdHJpbmcgaWYgdGhlIGZpZWxkIHdhcyB1c3VhbGx5IGNvZGVkLCBvciBpZiB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhlIE9ic2VydmF0aW9uLmNvZGUgZGVmaW5lcyBhIGNvZGVkIHZhbHVlLiAgRm9yIGFkZGl0aW9uYWwgZ3VpZGFuY2UsIHNlZSB0aGUgW05vdGVzIHNlY3Rpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGFBYnNlbnRSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoeSB0aGUgcmVzdWx0IGlzIG1pc3NpbmciIGRlZmluaXRpb249IlByb3ZpZGVzIGEgcmVhc29uIHdoeSB0aGUgZXhwZWN0ZWQgdmFsdWUgaW4gdGhlIGVsZW1lbnQgT2JzZXJ2YXRpb24udmFsdWVbeF0gaXMgbWlzc2luZy4iIGNvbW1lbnQ9Ik51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzIGNhbiBiZSByZXByZXNlbnRlZCB0d28gd2F5cyBpbiBGSElSIE9ic2VydmF0aW9ucy4gIE9uZSB3YXkgaXMgdG8gc2ltcGx5IGluY2x1ZGUgdGhlbSBpbiB0aGUgdmFsdWUgc2V0IGFuZCByZXByZXNlbnQgdGhlIGV4Y2VwdGlvbnMgaW4gdGhlIHZhbHVlLiAgRm9yIGV4YW1wbGUsIG1lYXN1cmVtZW50IHZhbHVlcyBmb3IgYSBzZXJvbG9neSB0ZXN0IGNvdWxkIGJlICAmcXVvdDtkZXRlY3RlZCZxdW90OywgJnF1b3Q7bm90IGRldGVjdGVkJnF1b3Q7LCAmcXVvdDtpbmNvbmNsdXNpdmUmcXVvdDssIG9yICAmcXVvdDtzcGVjaW1lbiB1bnNhdGlzZmFjdG9yeSZxdW90Oy4gICAmIzEwOyYjMTA7VGhlIGFsdGVybmF0ZSB3YXkgaXMgdG8gdXNlIHRoZSB2YWx1ZSBlbGVtZW50IGZvciBhY3R1YWwgb2JzZXJ2YXRpb25zIGFuZCB1c2UgdGhlIGV4cGxpY2l0IGRhdGFBYnNlbnRSZWFzb24gZWxlbWVudCB0byByZWNvcmQgZXhjZXB0aW9uYWwgdmFsdWVzLiAgRm9yIGV4YW1wbGUsIHRoZSBkYXRhQWJzZW50UmVhc29uIGNvZGUgJnF1b3Q7ZXJyb3ImcXVvdDsgY291bGQgYmUgdXNlZCB3aGVuIHRoZSBtZWFzdXJlbWVudCB3YXMgbm90IGNvbXBsZXRlZC4gTm90ZSB0aGF0IGFuIG9ic2VydmF0aW9uIG1heSBvbmx5IGJlIHJlcG9ydGVkIGlmIHRoZXJlIGFyZSB2YWx1ZXMgdG8gcmVwb3J0LiBGb3IgZXhhbXBsZSBkaWZmZXJlbnRpYWwgY2VsbCBjb3VudHMgdmFsdWVzIG1heSBiZSByZXBvcnRlZCBvbmx5IHdoZW4gJmd0OyAwLiAgQmVjYXVzZSBvZiB0aGVzZSBvcHRpb25zLCB1c2UtY2FzZSBhZ3JlZW1lbnRzIGFyZSByZXF1aXJlZCB0byBpbnRlcnByZXQgZ2VuZXJhbCBvYnNlcnZhdGlvbnMgZm9yIG51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uVmFsdWVBYnNlbnRSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBzcGVjaWZ5aW5nIHdoeSB0aGUgcmVzdWx0IChgT2JzZXJ2YXRpb24udmFsdWVbeF1gKSBpcyBtaXNzaW5nLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZXJwcmV0YXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgSGlnaCwgbG93LCBub3JtYWwsIGV0Yy4iIGRlZmluaXRpb249IkEgY2F0ZWdvcmljYWwgYXNzZXNzbWVudCBvZiBhbiBvYnNlcnZhdGlvbiB2YWx1ZS4gIEZvciBleGFtcGxlLCBoaWdoLCBsb3csIG5vcm1hbC4iIGNvbW1lbnQ9Ikhpc3RvcmljYWxseSB1c2VkIGZvciBsYWJvcmF0b3J5IHJlc3VsdHMgKGtub3duIGFzICdhYm5vcm1hbCBmbGFnJyApLCAgaXRzIHVzZSBleHRlbmRzIHRvIG90aGVyIHVzZSBjYXNlcyB3aGVyZSBjb2RlZCBpbnRlcnByZXRhdGlvbnMgIGFyZSByZWxldmFudC4gIE9mdGVuIHJlcG9ydGVkIGFzIG9uZSBvciBtb3JlIHNpbXBsZSBjb21wYWN0IGNvZGVzIHRoaXMgZWxlbWVudCBpcyBvZnRlbiBwbGFjZWQgYWRqYWNlbnQgdG8gdGhlIHJlc3VsdCB2YWx1ZSBpbiByZXBvcnRzIGFuZCBmbG93IHNoZWV0cyB0byBzaWduYWwgdGhlIG1lYW5pbmcvbm9ybWFsY3kgc3RhdHVzIG9mIHRoZSByZXN1bHQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uSW50ZXJwcmV0YXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBpbnRlcnByZXRhdGlvbnMgb2Ygb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIG9yIHRoZSByZXN1bHRzLiIgY29tbWVudD0iTWF5IGluY2x1ZGUgZ2VuZXJhbCBzdGF0ZW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiwgb3Igc3RhdGVtZW50cyBhYm91dCBzaWduaWZpY2FudCwgdW5leHBlY3RlZCBvciB1bnJlbGlhYmxlIHJlc3VsdHMgdmFsdWVzLCBvciBpbmZvcm1hdGlvbiBhYm91dCBpdHMgc291cmNlIHdoZW4gcmVsZXZhbnQgdG8gaXRzIGludGVycHJldGF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2JzZXJ2ZWQgYm9keSBwYXJ0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHNpdGUgb24gdGhlIHN1YmplY3QncyBib2R5IHdoZXJlIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSAoaS5lLiB0aGUgdGFyZ2V0IHNpdGUpLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIE9ic2VydmF0aW9uLmNvZGUuICBJbiBtYW55IHN5c3RlbXMsIHRoaXMgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGEgcmVsYXRlZCBvYnNlcnZhdGlvbiBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb21wb25lbnQuICAgJiMxMDsmIzEwO0lmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBCb2R5U2l0ZSB0byBiZSBoYW5kbGVkIGFzIGEgc2VwYXJhdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb25bIGJvZHlTaXRlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBpdCB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWNoYW5pc20gdXNlZCB0byBwZXJmb3JtIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3IgT2JzZXJ2YXRpb24uY29kZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiB1c2VkIGZvciB0aGlzIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2ltZW4gdGhhdCB3YXMgdXNlZCB3aGVuIHRoaXMgb2JzZXJ2YXRpb24gd2FzIG1hZGUuIiBjb21tZW50PSJTaG91bGQgb25seSBiZSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIGBPYnNlcnZhdGlvbi5jb2RlYC4gIE9ic2VydmF0aW9ucyBhcmUgbm90IG1hZGUgb24gc3BlY2ltZW5zIHRoZW1zZWx2ZXM7IHRoZXkgYXJlIG1hZGUgb24gYSBzdWJqZWN0LCBidXQgaW4gbWFueSBjYXNlcyBieSB0aGUgbWVhbnMgb2YgYSBzcGVjaW1lbi4gTm90ZSB0aGF0IGFsdGhvdWdoIHNwZWNpbWVucyBhcmUgb2Z0ZW4gaW52b2x2ZWQsIHRoZXkgYXJlIG5vdCBhbHdheXMgdHJhY2tlZCBhbmQgcmVwb3J0ZWQgZXhwbGljaXRseS4gQWxzbyBub3RlIHRoYXQgb2JzZXJ2YXRpb24gcmVzb3VyY2VzIG1heSBiZSB1c2VkIGluIGNvbnRleHRzIHRoYXQgdHJhY2sgdGhlIHNwZWNpbWVuIGV4cGxpY2l0bHkgKGUuZy4gRGlhZ25vc3RpYyBSZXBvcnQpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRldmljZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoTWVhc3VyZW1lbnQpIERldmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBvYnNlcnZhdGlvbiBkYXRhLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgaXMgbm90IG1lYW50IHRvIHJlcHJlc2VudCBhIGRldmljZSBpbnZvbHZlZCBpbiB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoZSByZXN1bHQsIGUuZy4sIGEgZ2F0ZXdheS4gIFN1Y2ggZGV2aWNlcyBtYXkgYmUgZG9jdW1lbnRlZCB1c2luZyB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZSB3aGVyZSByZWxldmFudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2VSYW5nZSIgZGVzY3JpcHRpb249IlByb3ZpZGVzIGd1aWRlIGZvciBpbnRlcnByZXRhdGlvbiIgZGVmaW5pdGlvbj0iR3VpZGFuY2Ugb24gaG93IHRvIGludGVycHJldCB0aGUgdmFsdWUgYnkgY29tcGFyaXNvbiB0byBhIG5vcm1hbCBvciByZWNvbW1lbmRlZCByYW5nZS4gIE11bHRpcGxlIHJlZmVyZW5jZSByYW5nZXMgYXJlIGludGVycHJldGVkIGFzIGFuICZxdW90O09SJnF1b3Q7LiAgIEluIG90aGVyIHdvcmRzLCB0byByZXByZXNlbnQgdHdvIGRpc3RpbmN0IHRhcmdldCBwb3B1bGF0aW9ucywgdHdvIGByZWZlcmVuY2VSYW5nZWAgZWxlbWVudHMgd291bGQgYmUgdXNlZC4iIGNvbW1lbnQ9Ik1vc3Qgb2JzZXJ2YXRpb25zIG9ubHkgaGF2ZSBvbmUgZ2VuZXJpYyByZWZlcmVuY2UgcmFuZ2UuIFN5c3RlbXMgTUFZIGNob29zZSB0byByZXN0cmljdCB0byBvbmx5IHN1cHBseWluZyB0aGUgcmVsZXZhbnQgcmVmZXJlbmNlIHJhbmdlIGJhc2VkIG9uIGtub3dsZWRnZSBhYm91dCB0aGUgcGF0aWVudCAoZS5nLiwgc3BlY2lmaWMgdG8gdGhlIHBhdGllbnQncyBhZ2UsIGdlbmRlciwgd2VpZ2h0IGFuZCBvdGhlciBmYWN0b3JzKSwgYnV0IHRoaXMgbWlnaHQgbm90IGJlIHBvc3NpYmxlIG9yIGFwcHJvcHJpYXRlLiBXaGVuZXZlciBtb3JlIHRoYW4gb25lIHJlZmVyZW5jZSByYW5nZSBpcyBzdXBwbGllZCwgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlbSBTSE9VTEQgYmUgcHJvdmlkZWQgaW4gdGhlIHJlZmVyZW5jZSByYW5nZSBhbmQvb3IgYWdlIHByb3BlcnRpZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5SZWZlcmVuY2VSYW5nZSIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJvYnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJNdXN0IGhhdmUgYXQgbGVhc3QgYSBsb3cgb3IgYSBoaWdoIG9yIHRleHQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Imxvdy5leGlzdHMoKSBvciBoaWdoLmV4aXN0cygpIG9yIHRleHQuZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJoYXNNZW1iZXIiIGRlc2NyaXB0aW9uPSJSZWxhdGVkIHJlc291cmNlIHRoYXQgYmVsb25ncyB0byB0aGUgT2JzZXJ2YXRpb24gZ3JvdXAiIGRlZmluaXRpb249IlRoaXMgb2JzZXJ2YXRpb24gaXMgYSBncm91cCBvYnNlcnZhdGlvbiAoZS5nLiBhIGJhdHRlcnksIGEgcGFuZWwgb2YgdGVzdHMsIGEgc2V0IG9mIHZpdGFsIHNpZ24gbWVhc3VyZW1lbnRzKSB0aGF0IGluY2x1ZGVzIHRoZSB0YXJnZXQgYXMgYSBtZW1iZXIgb2YgdGhlIGdyb3VwLiIgY29tbWVudD0iV2hlbiB1c2luZyB0aGlzIGVsZW1lbnQsIGFuIG9ic2VydmF0aW9uIHdpbGwgdHlwaWNhbGx5IGhhdmUgZWl0aGVyIGEgdmFsdWUgb3IgYSBzZXQgb2YgcmVsYXRlZCByZXNvdXJjZXMsIGFsdGhvdWdoIGJvdGggbWF5IGJlIHByZXNlbnQgaW4gc29tZSBjYXNlcy4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiAgTm90ZSB0aGF0IGEgc3lzdGVtIG1heSBjYWxjdWxhdGUgcmVzdWx0cyBmcm9tIFtRdWVzdGlvbm5haXJlUmVzcG9uc2VdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcXVlc3Rpb25uYWlyZXJlc3BvbnNlLmh0bWwpICBpbnRvIGEgZmluYWwgc2NvcmUgYW5kIHJlcHJlc2VudCB0aGUgc2NvcmUgYXMgYW4gT2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkoVVNDREkpIFVTIENvcmUgUHJvZmlsZXMgb3Igb3RoZXIgcmVzb3VyY2UgdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgZnJvbSIgZGVmaW5pdGlvbj0iVVMgQ29yZSBPYnNlcnZhdGlvbnMsIERvY3VtZW50UmVmZXJlbmNlLCBRdWVzdGlvbm5haXJlUmVzcG9uc2Ugb3Igb3RoZXIgcmVzb3VyY2UgZnJvbSB3aGljaCB0aGlzIG9ic2VydmF0aW9uIHZhbHVlIGlzIGRlcml2ZWQuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iQ29tcG9uZW50IHJlc3VsdHMiIGRlZmluaXRpb249IlNvbWUgb2JzZXJ2YXRpb25zIGhhdmUgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucy4gIFRoZXNlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgYXJlIGV4cHJlc3NlZCBhcyBzZXBhcmF0ZSBjb2RlIHZhbHVlIHBhaXJzIHRoYXQgc2hhcmUgdGhlIHNhbWUgYXR0cmlidXRlcy4gIEV4YW1wbGVzIGluY2x1ZGUgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGZvciBibG9vZCBwcmVzc3VyZSBtZWFzdXJlbWVudCBhbmQgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucyBmb3IgZ2VuZXRpY3Mgb2JzZXJ2YXRpb25zLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlNvcnREaXJlY3Rpb24iIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU3BlY2ltZW4uQ29sbGVjdGlvbiIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29sbGVjdG9yIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBjb2xsZWN0ZWQgdGhlIHNwZWNpbWVuIiBkZWZpbml0aW9uPSJQZXJzb24gd2hvIGNvbGxlY3RlZCB0aGUgc3BlY2ltZW4uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29sbGVjdGVkIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvbGxlY3Rpb24gdGltZSIgZGVmaW5pdGlvbj0iVGltZSB3aGVuIHNwZWNpbWVuIHdhcyBjb2xsZWN0ZWQgZnJvbSBzdWJqZWN0IC0gdGhlIHBoeXNpb2xvZ2ljYWxseSByZWxldmFudCB0aW1lLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImR1cmF0aW9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBsb25nIGl0IHRvb2sgdG8gY29sbGVjdCBzcGVjaW1lbiIgZGVmaW5pdGlvbj0iVGhlIHNwYW4gb2YgdGltZSBvdmVyIHdoaWNoIHRoZSBjb2xsZWN0aW9uIG9mIGEgc3BlY2ltZW4gb2NjdXJyZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icXVhbnRpdHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGhlIHF1YW50aXR5IG9mIHNwZWNpbWVuIGNvbGxlY3RlZCIgZGVmaW5pdGlvbj0iVGhlIHF1YW50aXR5IG9mIHNwZWNpbWVuIGNvbGxlY3RlZDsgZm9yIGluc3RhbmNlIHRoZSB2b2x1bWUgb2YgYSBibG9vZCBzYW1wbGUsIG9yIHRoZSBwaHlzaWNhbCBtZWFzdXJlbWVudCBvZiBhbiBhbmF0b21pYyBwYXRob2xvZ3kgc2FtcGxlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVGVjaG5pcXVlIHVzZWQgdG8gcGVyZm9ybSBjb2xsZWN0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGVkIHZhbHVlIHNwZWNpZnlpbmcgdGhlIHRlY2huaXF1ZSB0aGF0IGlzIHVzZWQgdG8gcGVyZm9ybSB0aGUgcHJvY2VkdXJlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlNwZWNpbWVuQ29sbGVjdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249IlRoZSAgdGVjaG5pcXVlIHRoYXQgaXMgdXNlZCB0byBwZXJmb3JtIHRoZSBwcm9jZWR1cmUuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQW5hdG9taWNhbCBjb2xsZWN0aW9uIHNpdGUiIGRlZmluaXRpb249IkFuYXRvbWljYWwgbG9jYXRpb24gZnJvbSB3aGljaCB0aGUgc3BlY2ltZW4gd2FzIGNvbGxlY3RlZCAoaWYgc3ViamVjdCBpcyBhIHBhdGllbnQpLiBUaGlzIGlzIHRoZSB0YXJnZXQgc2l0ZS4gIFRoaXMgZWxlbWVudCBpcyBub3QgdXNlZCBmb3IgZW52aXJvbm1lbnRhbCBzcGVjaW1lbnMuIiBjb21tZW50PSJJZiB0aGUgdXNlIGNhc2UgcmVxdWlyZXMgIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb2RlZCBlbGVtZW50IChlLmcuIHRvIGlkZW50aWZ5IGFuZCB0cmFjayBzZXBhcmF0ZWx5KSAgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZhc3RpbmdTdGF0dXMiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2hldGhlciBvciBob3cgbG9uZyBwYXRpZW50IGFic3RhaW5lZCBmcm9tIGZvb2QgYW5kL29yIGRyaW5rIiBkZWZpbml0aW9uPSJBYnN0aW5lbmNlIG9yIHJlZHVjdGlvbiBmcm9tIHNvbWUgb3IgYWxsIGZvb2QsIGRyaW5rLCBvciBib3RoLCBmb3IgYSBwZXJpb2Qgb2YgdGltZSBwcmlvciB0byBzYW1wbGUgY29sbGVjdGlvbi4iIGNvbW1lbnQ9IlJlcHJlc2VudGluZyBmYXN0aW5nIHN0YXR1cyB1c2luZyB0aGlzIGVsZW1lbnQgaXMgcHJlZmVycmVkIHRvIHJlcHJlc2VudGluZyBpdCB3aXRoIGFuIG9ic2VydmF0aW9uIHVzaW5nIGEgJ3ByZS1jb29yZGluYXRlZCBjb2RlJyAgc3VjaCBhcyAgTE9JTkMgMjAwNS03IChDYWxjaXVtIFtNb2xlcy/igIt0aW1lXSBpbiAyIGhvdXIgVXJpbmUgLS0xMiBob3VycyBmYXN0aW5nKSwgb3IgIHVzaW5nICBhIGNvbXBvbmVudCBvYnNlcnZhdGlvbiBgIHN1Y2ggYXMgYE9ic2VydmF0aW9uLmNvbXBvbmVudCBjb2RlYCAgPSBMT0lOQyA0OTU0MS02IChGYXN0aW5nIHN0YXR1cyAtIFJlcG9ydGVkKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRmFzdGluZ1N0YXR1cyIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgdGhlIGZhc3Rpbmcgc3RhdHVzIG9mIHRoZSBwYXRpZW50LiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTcGVjaW1lbi5Db250YWluZXIiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJJZCBmb3IgdGhlIGNvbnRhaW5lciIgZGVmaW5pdGlvbj0iSWQgZm9yIGNvbnRhaW5lci4gVGhlcmUgbWF5IGJlIG11bHRpcGxlOyBhIG1hbnVmYWN0dXJlcidzIGJhciBjb2RlLCBsYWIgYXNzaWduZWQgaWRlbnRpZmllciwgZXRjLiBUaGUgY29udGFpbmVyIElEIG1heSBkaWZmZXIgZnJvbSB0aGUgc3BlY2ltZW4gaWQgaW4gc29tZSBjaXJjdW1zdGFuY2VzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXNjcmlwdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGV4dHVhbCBkZXNjcmlwdGlvbiBvZiB0aGUgY29udGFpbmVyIiBkZWZpbml0aW9uPSJUZXh0dWFsIGRlc2NyaXB0aW9uIG9mIHRoZSBjb250YWluZXIuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iS2luZCBvZiBjb250YWluZXIgZGlyZWN0bHkgYXNzb2NpYXRlZCB3aXRoIHNwZWNpbWVuIiBkZWZpbml0aW9uPSJUaGUgdHlwZSBvZiBjb250YWluZXIgYXNzb2NpYXRlZCB3aXRoIHRoZSBzcGVjaW1lbiAoZS5nLiBzbGlkZSwgYWxpcXVvdCwgZXRjLikuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU3BlY2ltZW5Db250YWluZXJUeXBlIiBkZXNjcmlwdGlvbj0iVHlwZSBvZiBzcGVjaW1lbiBjb250YWluZXIuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXBhY2l0eSIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDb250YWluZXIgdm9sdW1lIG9yIHNpemUiIGRlZmluaXRpb249IlRoZSBjYXBhY2l0eSAodm9sdW1lIG9yIG90aGVyIG1lYXN1cmUpIHRoZSBjb250YWluZXIgbWF5IGNvbnRhaW4uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3BlY2ltZW5RdWFudGl0eSIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJRdWFudGl0eSBvZiBzcGVjaW1lbiB3aXRoaW4gY29udGFpbmVyIiBkZWZpbml0aW9uPSJUaGUgcXVhbnRpdHkgb2Ygc3BlY2ltZW4gaW4gdGhlIGNvbnRhaW5lcjsgbWF5IGJlIHZvbHVtZSwgZGltZW5zaW9ucywgb3Igb3RoZXIgYXBwcm9wcmlhdGUgbWVhc3VyZW1lbnRzLCBkZXBlbmRpbmcgb24gdGhlIHNwZWNpbWVuIHR5cGUuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYWRkaXRpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQWRkaXRpdmUgYXNzb2NpYXRlZCB3aXRoIGNvbnRhaW5lciIgZGVmaW5pdGlvbj0iSW50cm9kdWNlZCBzdWJzdGFuY2UgdG8gcHJlc2VydmUsIG1haW50YWluIG9yIGVuaGFuY2UgdGhlIHNwZWNpbWVuLiBFeGFtcGxlczogRm9ybWFsaW4sIENpdHJhdGUsIEVEVEEuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlZmVyZW5jZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJTcGVjaW1lbkNvbnRhaW5lckFkZGl0aXZlIiBkZXNjcmlwdGlvbj0iU3Vic3RhbmNlIGFkZGVkIHRvIHNwZWNpbWVuIGNvbnRhaW5lci4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU3BlY2ltZW4uUHJvY2Vzc2luZyIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGVzY3JpcHRpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRleHR1YWwgZGVzY3JpcHRpb24gb2YgcHJvY2VkdXJlIiBkZWZpbml0aW9uPSJUZXh0dWFsIGRlc2NyaXB0aW9uIG9mIHByb2NlZHVyZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcm9jZWR1cmUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkluZGljYXRlcyB0aGUgdHJlYXRtZW50IHN0ZXAgIGFwcGxpZWQgdG8gdGhlIHNwZWNpbWVuIiBkZWZpbml0aW9uPSJBIGNvZGVkIHZhbHVlIHNwZWNpZnlpbmcgdGhlIHByb2NlZHVyZSB1c2VkIHRvIHByb2Nlc3MgdGhlIHNwZWNpbWVuLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlNwZWNpbWVuUHJvY2Vzc2luZ1Byb2NlZHVyZSIgZGVzY3JpcHRpb249IlR5cGUgaW5kaWNhdGluZyB0aGUgdGVjaG5pcXVlIHVzZWQgdG8gcHJvY2VzcyB0aGUgc3BlY2ltZW4uIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhZGRpdGl2ZSIgZGVzY3JpcHRpb249Ik1hdGVyaWFsIHVzZWQgaW4gdGhlIHByb2Nlc3Npbmcgc3RlcCIgZGVmaW5pdGlvbj0iTWF0ZXJpYWwgdXNlZCBpbiB0aGUgcHJvY2Vzc2luZyBzdGVwLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InRpbWUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iRGF0ZSBhbmQgdGltZSBvZiBzcGVjaW1lbiBwcm9jZXNzaW5nIiBkZWZpbml0aW9uPSJBIHJlY29yZCBvZiB0aGUgdGltZSBvciBwZXJpb2Qgd2hlbiB0aGUgc3BlY2ltZW4gcHJvY2Vzc2luZyBvY2N1cnJlZC4gIEZvciBleGFtcGxlIHRoZSB0aW1lIG9mIHNhbXBsZSBmaXhhdGlvbiBvciB0aGUgcGVyaW9kIG9mIHRpbWUgdGhlIHNhbXBsZSB3YXMgaW4gZm9ybWFsaW4uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTcGVjaW1lblN0YXR1cyIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTdGF0dXMiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU3Vic3RhbmNlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1zdWJzdGFuY2UiIGxhYmVsPSJRSUNvcmUgU3Vic3RhbmNlIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iVW5pcXVlIGlkZW50aWZpZXIiIGRlZmluaXRpb249IlVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgc3Vic3RhbmNlLiIgY29tbWVudD0iVGhpcyBpZGVudGlmaWVyIGlzIGFzc29jaWF0ZWQgd2l0aCB0aGUga2luZCBvZiBzdWJzdGFuY2UgaW4gY29udHJhc3QgdG8gdGhlICBTdWJzdGFuY2UuaW5zdGFuY2UuaWRlbnRpZmllciB3aGljaCBpcyBhc3NvY2lhdGVkIHdpdGggdGhlIHBhY2thZ2UvY29udGFpbmVyLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRkhJUlN1YnN0YW5jZVN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJhY3RpdmUgfCBpbmFjdGl2ZSB8IGVudGVyZWQtaW4tZXJyb3IiIGRlZmluaXRpb249IkEgY29kZSB0byBpbmRpY2F0ZSBpZiB0aGUgc3Vic3RhbmNlIGlzIGFjdGl2ZWx5IHVzZWQuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iRkhJUlN1YnN0YW5jZVN0YXR1cyIgZGVzY3JpcHRpb249IkEgY29kZSB0byBpbmRpY2F0ZSBpZiB0aGUgc3Vic3RhbmNlIGlzIGFjdGl2ZWx5IHVzZWQuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaGF0IGNsYXNzL3R5cGUgb2Ygc3Vic3RhbmNlIHRoaXMgaXMiIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBzdWJzdGFuY2UuICBUaGlzIGlzIHVzZWQgIGZvciBzZWFyY2hpbmcsIHNvcnRpbmcgYW5kIGRpc3BsYXkgcHVycG9zZXMuIiBjb21tZW50PSJUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4gICBNb3JlIGZpbmUtZ3JhaW5lZCBmaWx0ZXJpbmcgY2FuIGJlIHBlcmZvcm1lZCB1c2luZyB0aGUgbWV0YWRhdGEgYW5kL29yIHRlcm1pbm9sb2d5IGhpZXJhcmNoeSBpbiBTdWJzdGFuY2UuY29kZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU3Vic3RhbmNlQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDYXRlZ29yeSBvciBjbGFzc2lmaWNhdGlvbiBvZiBzdWJzdGFuY2UuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgSWYgdGhpcyBkZXNjcmliZXMgYSBzcGVjaWZpYyBwYWNrYWdlL2NvbnRhaW5lciBvZiB0aGUgc3Vic3RhbmNlIiBkZWZpbml0aW9uPSJBIGNvZGUgKG9yIHNldCBvZiBjb2RlcykgdGhhdCBpZGVudGlmeSB0aGlzIHN1YnN0YW5jZS4iIGNvbW1lbnQ9IlRoaXMgY291bGQgYmUgYSByZWZlcmVuY2UgdG8gYW4gZXh0ZXJuYWxseSBkZWZpbmVkIGNvZGUuICBJdCBjb3VsZCBhbHNvIGJlIGEgbG9jYWxseSBhc3NpZ25lZCBjb2RlIChlLmcuIGEgZm9ybXVsYXJ5KSwgIG9wdGlvbmFsbHkgd2l0aCB0cmFuc2xhdGlvbnMgdG8gdGhlIHN0YW5kYXJkIGRydWcgY29kZXMuIj4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlN1YnN0YW5jZSBjb2RlcyIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXNjcmlwdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGV4dHVhbCBkZXNjcmlwdGlvbiBvZiB0aGUgc3Vic3RhbmNlLCBjb21tZW50cyIgZGVmaW5pdGlvbj0iQSBkZXNjcmlwdGlvbiBvZiB0aGUgc3Vic3RhbmNlIC0gaXRzIGFwcGVhcmFuY2UsIGhhbmRsaW5nIHJlcXVpcmVtZW50cywgYW5kIG90aGVyIHVzYWdlIG5vdGVzLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Imluc3RhbmNlIiBkZXNjcmlwdGlvbj0iSWYgdGhpcyBkZXNjcmliZXMgYSBzcGVjaWZpYyBwYWNrYWdlL2NvbnRhaW5lciBvZiB0aGUgc3Vic3RhbmNlIiBkZWZpbml0aW9uPSJTdWJzdGFuY2UgbWF5IGJlIHVzZWQgdG8gZGVzY3JpYmUgYSBraW5kIG9mIHN1YnN0YW5jZSwgb3IgYSBzcGVjaWZpYyBwYWNrYWdlL2NvbnRhaW5lciBvZiB0aGUgc3Vic3RhbmNlOiBhbiBpbnN0YW5jZS4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuU3Vic3RhbmNlLkluc3RhbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImluZ3JlZGllbnQiIGRlc2NyaXB0aW9uPSJDb21wb3NpdGlvbiBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc3Vic3RhbmNlIiBkZWZpbml0aW9uPSJBIHN1YnN0YW5jZSBjYW4gYmUgY29tcG9zZWQgb2Ygb3RoZXIgc3Vic3RhbmNlcy4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuU3Vic3RhbmNlLkluZ3JlZGllbnQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTdWJzdGFuY2UuSW5ncmVkaWVudCIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icXVhbnRpdHkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUmF0aW8iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9SYXRpbygldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIE9wdGlvbmFsIGFtb3VudCAoY29uY2VudHJhdGlvbikiIGRlZmluaXRpb249IlRoZSBhbW91bnQgb2YgdGhlIGluZ3JlZGllbnQgaW4gdGhlIHN1YnN0YW5jZSAtIGEgY29uY2VudHJhdGlvbiByYXRpby4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJzdGFuY2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIEEgY29tcG9uZW50IG9mIHRoZSBzdWJzdGFuY2UiIGRlZmluaXRpb249IkFub3RoZXIgc3Vic3RhbmNlIHRoYXQgaXMgYSBjb21wb25lbnQgb2YgdGhpcyBzdWJzdGFuY2UuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTdWJzdGFuY2UuSW5zdGFuY2UiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgZGVzY3JpcHRpb249IklkZW50aWZpZXIgb2YgdGhlIHBhY2thZ2UvY29udGFpbmVyIiBkZWZpbml0aW9uPSJJZGVudGlmaWVyIGFzc29jaWF0ZWQgd2l0aCB0aGUgcGFja2FnZS9jb250YWluZXIgKHVzdWFsbHkgYSBsYWJlbCBhZmZpeGVkIGRpcmVjdGx5KS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJleHBpcnkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iV2hlbiBubyBsb25nZXIgdmFsaWQgdG8gdXNlIiBkZWZpbml0aW9uPSJXaGVuIHRoZSBzdWJzdGFuY2UgaXMgbm8gbG9uZ2VyIHZhbGlkIHRvIHVzZS4gRm9yIHNvbWUgc3Vic3RhbmNlcywgYSBzaW5nbGUgYXJiaXRyYXJ5IGRhdGUgaXMgdXNlZCBmb3IgZXhwaXJ5LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InF1YW50aXR5IiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBBbW91bnQgb2Ygc3Vic3RhbmNlIGluIHRoZSBwYWNrYWdlIiBkZWZpbml0aW9uPSJUaGUgYW1vdW50IG9mIHRoZSBzdWJzdGFuY2UuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJUYXNrIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS10YXNrIiBsYWJlbD0iUUlDb3JlIFRhc2siIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgVGFzayBJbnN0YW5jZSBJZGVudGlmaWVyIiBkZWZpbml0aW9uPSJUaGUgYnVzaW5lc3MgaWRlbnRpZmllciBmb3IgdGhpcyB0YXNrLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNDYW5vbmljYWwiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkZvcm1hbCBkZWZpbml0aW9uIG9mIHRhc2siIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYSAqRkhJUiotZGVmaW5lZCBwcm90b2NvbCwgZ3VpZGVsaW5lLCBvcmRlcnNldCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgVGFzay4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnN0YW50aWF0ZXNVcmkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkZvcm1hbCBkZWZpbml0aW9uIG9mIHRhc2siIGRlZmluaXRpb249IlRoZSBVUkwgcG9pbnRpbmcgdG8gYW4gKmV4dGVybmFsbHkqIG1haW50YWluZWQgIHByb3RvY29sLCBndWlkZWxpbmUsIG9yZGVyc2V0IG9yIG90aGVyIGRlZmluaXRpb24gdGhhdCBpcyBhZGhlcmVkIHRvIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBUYXNrLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJSZXF1ZXN0IGZ1bGZpbGxlZCBieSB0aGlzIHRhc2siIGRlZmluaXRpb249IkJhc2VkT24gcmVmZXJzIHRvIGEgaGlnaGVyLWxldmVsIGF1dGhvcml6YXRpb24gdGhhdCB0cmlnZ2VyZWQgdGhlIGNyZWF0aW9uIG9mIHRoZSB0YXNrLiAgSXQgcmVmZXJlbmNlcyBhICZxdW90O3JlcXVlc3QmcXVvdDsgcmVzb3VyY2Ugc3VjaCBhcyBhIFNlcnZpY2VSZXF1ZXN0LCBNZWRpY2F0aW9uUmVxdWVzdCwgU2VydmljZVJlcXVlc3QsIENhcmVQbGFuLCBldGMuIHdoaWNoIGlzIGRpc3RpbmN0IGZyb20gdGhlICZxdW90O3JlcXVlc3QmcXVvdDsgcmVzb3VyY2UgdGhlIHRhc2sgaXMgc2Vla2luZyB0byBmdWxmaWxsLiAgVGhpcyBsYXR0ZXIgcmVzb3VyY2UgaXMgcmVmZXJlbmNlZCBieSBGb2N1c09uLiAgRm9yIGV4YW1wbGUsIGJhc2VkIG9uIGEgU2VydmljZVJlcXVlc3QgKD0gQmFzZWRPbiksIGEgdGFzayBpcyBjcmVhdGVkIHRvIGZ1bGZpbGwgYSBwcm9jZWR1cmVSZXF1ZXN0ICggPSBGb2N1c09uICkgdG8gY29sbGVjdCBhIHNwZWNpbWVuIGZyb20gYSBwYXRpZW50LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imdyb3VwSWRlbnRpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iUmVxdWlzaXRpb24gb3IgZ3JvdXBlciBpZCIgZGVmaW5pdGlvbj0iQW4gaWRlbnRpZmllciB0aGF0IGxpbmtzIHRvZ2V0aGVyIG11bHRpcGxlIHRhc2tzIGFuZCBvdGhlciByZXF1ZXN0cyB0aGF0IHdlcmUgY3JlYXRlZCBpbiB0aGUgc2FtZSBjb250ZXh0LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IkNvbXBvc2l0ZSB0YXNrIiBkZWZpbml0aW9uPSJUYXNrIHRoYXQgdGhpcyBwYXJ0aWN1bGFyIHRhc2sgaXMgcGFydCBvZi4iIGNvbW1lbnQ9IlRoaXMgc2hvdWxkIHVzdWFsbHkgYmUgMC4uMS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBkcmFmdOKAiyB8IHJlcXVlc3RlZOKAiyB8IHJlY2VpdmVk4oCLIHwgYWNjZXB0ZWTigIsgfCByZWFkeeKAiyB8IGNhbmNlbGxlZOKAiyB8IGluLXByb2dyZXNz4oCLIHwgb24taG9sZOKAiyB8IGZhaWxlZOKAiyB8IGNvbXBsZXRlZCB8IGVudGVyZWQtaW4tZXJyb3IiIGRlZmluaXRpb249IlRoZSBjdXJyZW50IHN0YXR1cyBvZiB0aGUgdGFzay4iPgogICAgICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzUmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZWFzb24gZm9yIGN1cnJlbnQgc3RhdHVzIiBkZWZpbml0aW9uPSJBbiBleHBsYW5hdGlvbiBhcyB0byB3aHkgdGhpcyB0YXNrIGlzIGhlbGQsIGZhaWxlZCwgd2FzIHJlZnVzZWQsIGV0Yy4iIGNvbW1lbnQ9IlRoaXMgYXBwbGllcyB0byB0aGUgY3VycmVudCBzdGF0dXMuICBMb29rIGF0IHRoZSBoaXN0b3J5IG9mIHRoZSB0YXNrIHRvIHNlZSByZWFzb25zIGZvciBwYXN0IHN0YXR1c2VzLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlRhc2tTdGF0dXNSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyB0byBpZGVudGlmeSB0aGUgcmVhc29uIGZvciBjdXJyZW50IHN0YXR1cy4gIFRoZXNlIHdpbGwgdHlwaWNhbGx5IGJlIHNwZWNpZmljIHRvIGEgcGFydGljdWxhciB3b3JrZmxvdy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJ1c2luZXNzU3RhdHVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJFLmcuICZxdW90O1NwZWNpbWVuIGNvbGxlY3RlZCZxdW90OywgJnF1b3Q7SVYgcHJlcHBlZCZxdW90OyIgZGVmaW5pdGlvbj0iQ29udGFpbnMgYnVzaW5lc3Mtc3BlY2lmaWMgbnVhbmNlcyBvZiB0aGUgYnVzaW5lc3Mgc3RhdGUuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iVGFza0J1c2luZXNzU3RhdHVzIiBkZXNjcmlwdGlvbj0iVGhlIGRvbWFpbi1zcGVjaWZpYyBidXNpbmVzcy1jb250ZXh0dWFsIHN1Yi1zdGF0ZSBvZiB0aGUgdGFzay4gIEZvciBleGFtcGxlOiAmcXVvdDtCbG9vZCBkcmF3biZxdW90OywgJnF1b3Q7SVYgaW5zZXJ0ZWQmcXVvdDssICZxdW90O0F3YWl0aW5nIHBoeXNpY2lhbiBzaWduYXR1cmUmcXVvdDssIGV0Yy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImludGVudCIgZWxlbWVudFR5cGU9IlFJQ29yZS5UYXNrSW50ZW50IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSB1bmtub3duIHwgcHJvcG9zYWwgfCBwbGFuIHwgb3JkZXIgfCBvcmlnaW5hbC1vcmRlciB8IHJlZmxleC1vcmRlciB8IGZpbGxlci1vcmRlciB8IGluc3RhbmNlIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlICZxdW90O2xldmVsJnF1b3Q7IG9mIGFjdGlvbmFiaWxpdHkgYXNzb2NpYXRlZCB3aXRoIHRoZSBUYXNrLCBpLmUuIGkrUls5XUNzIHRoaXMgYSBwcm9wb3NlZCB0YXNrLCBhIHBsYW5uZWQgdGFzaywgYW4gYWN0aW9uYWJsZSB0YXNrLCBldGMuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgaW1tdXRhYmxlLiAgUHJvcG9zZWQgdGFza3MsIHBsYW5uZWQgdGFza3MsIGV0Yy4gbXVzdCBiZSBkaXN0aW5jdCBpbnN0YW5jZXMuJiMxMDsmIzEwO0luIG1vc3QgY2FzZXMsIFRhc2tzIHdpbGwgaGF2ZSBhbiBpbnRlbnQgb2YgJnF1b3Q7b3JkZXImcXVvdDsuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iVGFza0ludGVudCIgZGVzY3JpcHRpb249IkRpc3Rpbmd1aXNoZXMgd2hldGhlciB0aGUgdGFzayBpcyBhIHByb3Bvc2FsLCBwbGFuIG9yIGZ1bGwgb3JkZXIuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJpb3JpdHkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuVGFza1ByaW9yaXR5IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSByb3V0aW5lIHwgdXJnZW50IHwgYXNhcCB8IHN0YXQiIGRlZmluaXRpb249IkluZGljYXRlcyBob3cgcXVpY2tseSB0aGUgVGFzayBzaG91bGQgYmUgYWRkcmVzc2VkIHdpdGggcmVzcGVjdCB0byBvdGhlciByZXF1ZXN0cy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJUYXNrUHJpb3JpdHkiIGRlc2NyaXB0aW9uPSJUaGUgdGFzaydzIHByaW9yaXR5LiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBUYXNrIFR5cGUiIGRlZmluaXRpb249IkEgbmFtZSBvciBjb2RlIChvciBib3RoKSBicmllZmx5IGRlc2NyaWJpbmcgd2hhdCB0aGUgdGFzayBpbnZvbHZlcy4iIGNvbW1lbnQ9IlRoZSB0aXRsZSAoZWcgJnF1b3Q7TXkgVGFza3MmcXVvdDssICZxdW90O091dHN0YW5kaW5nIFRhc2tzIGZvciBQYXRpZW50IFgmcXVvdDspIHNob3VsZCBnbyBpbnRvIHRoZSBjb2RlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJDb2RlcyB0byBpZGVudGlmeSB3aGF0IHRoZSB0YXNrIGludm9sdmVzLiBUaGVzZSB3aWxsIHR5cGljYWxseSBiZSBzcGVjaWZpYyB0byBhIHBhcnRpY3VsYXIgd29ya2Zsb3ciIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGVzY3JpcHRpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikh1bWFuLXJlYWRhYmxlIGV4cGxhbmF0aW9uIG9mIHRhc2siIGRlZmluaXRpb249IkEgZnJlZS10ZXh0IGRlc2NyaXB0aW9uIG9mIHdoYXQgaXMgdG8gYmUgcGVyZm9ybWVkLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZvY3VzIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldoYXQgdGFzayBpcyBhY3Rpbmcgb24iIGRlZmluaXRpb249IlRoZSByZXF1ZXN0IGJlaW5nIGFjdGlvbmVkIG9yIHRoZSByZXNvdXJjZSBiZWluZyBtYW5pcHVsYXRlZCBieSB0aGlzIHRhc2suIiBjb21tZW50PSJJZiBtdWx0aXBsZSByZXNvdXJjZXMgbmVlZCB0byBiZSBtYW5pcHVsYXRlZCwgdXNlIHN1Yi10YXNrcy4gIChUaGlzIGVuc3VyZXMgdGhhdCBzdGF0dXMgY2FuIGJlIHRyYWNrZWQgaW5kZXBlbmRlbnRseSBmb3IgZWFjaCByZWZlcmVuY2VkIHJlc291cmNlLikuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZm9yIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkJlbmVmaWNpYXJ5IG9mIHRoZSBUYXNrIiBkZWZpbml0aW9uPSJUaGUgZW50aXR5IHdobyBiZW5lZml0cyBmcm9tIHRoZSBwZXJmb3JtYW5jZSBvZiB0aGUgc2VydmljZSBzcGVjaWZpZWQgaW4gdGhlIHRhc2sgKGUuZy4sIHRoZSBwYXRpZW50KS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyB0YXNrIG9yaWdpbmF0ZWQiIGRlZmluaXRpb249IlRoZSBoZWFsdGhjYXJlIGV2ZW50ICAoZS5nLiBhIHBhdGllbnQgYW5kIGhlYWx0aGNhcmUgcHJvdmlkZXIgaW50ZXJhY3Rpb24pIGR1cmluZyB3aGljaCB0aGlzIHRhc2sgd2FzIGNyZWF0ZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZXhlY3V0aW9uUGVyaW9kIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoJXZhbHVlKSIgZGVzY3JpcHRpb249IlN0YXJ0IGFuZCBlbmQgdGltZSBvZiBleGVjdXRpb24iIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIHRpbWUgYWN0aW9uIHdhcyBmaXJzdCB0YWtlbiBhZ2FpbnN0IHRoZSB0YXNrIChzdGFydCkgYW5kL29yIHRoZSB0aW1lIGZpbmFsIGFjdGlvbiB3YXMgdGFrZW4gYWdhaW5zdCB0aGUgdGFzayBwcmlvciB0byBtYXJraW5nIGl0IGFzIGNvbXBsZXRlZCAoZW5kKS4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImF1dGhvcmVkT24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGFzayBDcmVhdGlvbiBEYXRlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGlzIHRhc2sgd2FzIGNyZWF0ZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibGFzdE1vZGlmaWVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRhc2sgTGFzdCBNb2RpZmllZCBEYXRlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSBvZiBsYXN0IG1vZGlmaWNhdGlvbiB0byB0aGlzIHRhc2suIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVxdWVzdGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldobyBpcyBhc2tpbmcgZm9yIHRhc2sgdG8gYmUgZG9uZSIgZGVmaW5pdGlvbj0iVGhlIGNyZWF0b3Igb2YgdGhlIHRhc2suIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyVHlwZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IlJlcXVlc3RlZCBwZXJmb3JtZXIiIGRlZmluaXRpb249IlRoZSBraW5kIG9mIHBhcnRpY2lwYW50IHRoYXQgc2hvdWxkIHBlcmZvcm0gdGhlIHRhc2suIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlRhc2tQZXJmb3JtZXJUeXBlIiBkZXNjcmlwdGlvbj0iVGhlIHR5cGUocykgb2YgdGFzayBwZXJmb3JtZXJzIGFsbG93ZWQuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im93bmVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlJlc3BvbnNpYmxlIGluZGl2aWR1YWwiIGRlZmluaXRpb249IkluZGl2aWR1YWwgb3JnYW5pemF0aW9uIG9yIERldmljZSBjdXJyZW50bHkgcmVzcG9uc2libGUgZm9yIHRhc2sgZXhlY3V0aW9uLiIgY29tbWVudD0iVGFza3MgbWF5IGJlIGNyZWF0ZWQgd2l0aCBhbiBvd25lciBub3QgeWV0IGlkZW50aWZpZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibG9jYXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2hlcmUgdGFzayBvY2N1cnMiIGRlZmluaXRpb249IlByaW5jaXBhbCBwaHlzaWNhbCBsb2NhdGlvbiB3aGVyZSB0aGUgdGhpcyB0YXNrIGlzIHBlcmZvcm1lZC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25Db2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgdGFzayBpcyBuZWVkZWQiIGRlZmluaXRpb249IkEgZGVzY3JpcHRpb24gb3IgY29kZSBpbmRpY2F0aW5nIHdoeSB0aGlzIHRhc2sgbmVlZHMgdG8gYmUgcGVyZm9ybWVkLiIgY29tbWVudD0iVGhpcyBzaG91bGQgb25seSBiZSBpbmNsdWRlZCBpZiB0aGVyZSBpcyBubyBmb2N1cyBvciBpZiBpdCBkaWZmZXJzIGZyb20gdGhlIHJlYXNvbiBpbmRpY2F0ZWQgb24gdGhlIGZvY3VzLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iVGFza1JlYXNvbiIgZGVzY3JpcHRpb249IkluZGljYXRlcyB3aHkgdGhlIHRhc2sgaXMgbmVlZGVkLiAgRS5nLiBTdXNwZW5kZWQgYmVjYXVzZSBwYXRpZW50IGFkbWl0dGVkIHRvIGhvc3BpdGFsLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uUmVmZXJlbmNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldoeSB0YXNrIGlzIG5lZWRlZCIgZGVmaW5pdGlvbj0iQSByZXNvdXJjZSByZWZlcmVuY2UgaW5kaWNhdGluZyB3aHkgdGhpcyB0YXNrIG5lZWRzIHRvIGJlIHBlcmZvcm1lZC4iIGNvbW1lbnQ9IlRhc2tzIG1pZ2h0IGJlIGp1c3RpZmllZCBiYXNlZCBvbiBhbiBPYnNlcnZhdGlvbiwgYSBDb25kaXRpb24sIGEgcGFzdCBvciBwbGFubmVkIHByb2NlZHVyZSwgZXRjLiAgIFRoaXMgc2hvdWxkIG9ubHkgYmUgaW5jbHVkZWQgaWYgdGhlcmUgaXMgbm8gZm9jdXMgb3IgaWYgaXQgZGlmZmVycyBmcm9tIHRoZSByZWFzb24gaW5kaWNhdGVkIG9uIHRoZSBmb2N1cy4gICAgVXNlIHRoZSBDb2RlYWJsZUNvbmNlcHQgdGV4dCBlbGVtZW50IGluIGBUYXNrLnJlYXNvbkNvZGVgIGlmIHRoZSBkYXRhIGlzIGZyZWUgKHVuY29kZWQpIHRleHQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdXJhbmNlIiBkZXNjcmlwdGlvbj0iQXNzb2NpYXRlZCBpbnN1cmFuY2UgY292ZXJhZ2UiIGRlZmluaXRpb249Ikluc3VyYW5jZSBwbGFucywgY292ZXJhZ2UgZXh0ZW5zaW9ucywgcHJlLWF1dGhvcml6YXRpb25zIGFuZC9vciBwcmUtZGV0ZXJtaW5hdGlvbnMgdGhhdCBtYXkgYmUgcmVsZXZhbnQgdG8gdGhlIFRhc2suIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIG1hZGUgYWJvdXQgdGhlIHRhc2siIGRlZmluaXRpb249IkZyZWUtdGV4dCBpbmZvcm1hdGlvbiBjYXB0dXJlZCBhYm91dCB0aGUgdGFzayBhcyBpdCBwcm9ncmVzc2VzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWxldmFudEhpc3RvcnkiIGRlc2NyaXB0aW9uPSJLZXkgZXZlbnRzIGluIGhpc3Rvcnkgb2YgdGhlIFRhc2siIGRlZmluaXRpb249IkxpbmtzIHRvIFByb3ZlbmFuY2UgcmVjb3JkcyBmb3IgcGFzdCB2ZXJzaW9ucyBvZiB0aGlzIFRhc2sgdGhhdCBpZGVudGlmeSBrZXkgc3RhdGUgdHJhbnNpdGlvbnMgb3IgdXBkYXRlcyB0aGF0IGFyZSBsaWtlbHkgdG8gYmUgcmVsZXZhbnQgdG8gYSB1c2VyIGxvb2tpbmcgYXQgdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgdGFzay4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBkb2VzIG5vdCBwb2ludCB0byB0aGUgUHJvdmVuYW5jZSBhc3NvY2lhdGVkIHdpdGggdGhlICpjdXJyZW50KiB2ZXJzaW9uIG9mIHRoZSByZXNvdXJjZSAtIGFzIGl0IHdvdWxkIGJlIGNyZWF0ZWQgYWZ0ZXIgdGhpcyB2ZXJzaW9uIGV4aXN0ZWQuICBUaGUgUHJvdmVuYW5jZSBmb3IgdGhlIGN1cnJlbnQgdmVyc2lvbiBjYW4gYmUgcmV0cmlldmVkIHdpdGggYSBfcmV2aW5jbHVkZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZXN0cmljdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5UYXNrLlJlc3RyaWN0aW9uIiBkZXNjcmlwdGlvbj0iQ29uc3RyYWludHMgb24gZnVsZmlsbG1lbnQgdGFza3MiIGRlZmluaXRpb249IklmIHRoZSBUYXNrLmZvY3VzIGlzIGEgcmVxdWVzdCByZXNvdXJjZSBhbmQgdGhlIHRhc2sgaXMgc2Vla2luZyBmdWxmaWxsbWVudCAoaS5lLiBpcyBhc2tpbmcgZm9yIHRoZSByZXF1ZXN0IHRvIGJlIGFjdGlvbmVkKSwgdGhpcyBlbGVtZW50IGlkZW50aWZpZXMgYW55IGxpbWl0YXRpb25zIG9uIHdoYXQgcGFydHMgb2YgdGhlIHJlZmVyZW5jZWQgcmVxdWVzdCBzaG91bGQgYmUgYWN0aW9uZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5wdXQiIGRlc2NyaXB0aW9uPSJJbmZvcm1hdGlvbiB1c2VkIHRvIHBlcmZvcm0gdGFzayIgZGVmaW5pdGlvbj0iQWRkaXRpb25hbCBpbmZvcm1hdGlvbiB0aGF0IG1heSBiZSBuZWVkZWQgaW4gdGhlIGV4ZWN1dGlvbiBvZiB0aGUgdGFzay4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlRhc2suSW5wdXQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ib3V0cHV0IiBkZXNjcmlwdGlvbj0iSW5mb3JtYXRpb24gcHJvZHVjZWQgYXMgcGFydCBvZiB0YXNrIiBkZWZpbml0aW9uPSJPdXRwdXRzIHByb2R1Y2VkIGJ5IHRoZSBUYXNrLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuVGFzay5PdXRwdXQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJUYXNrLklucHV0IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuQmFja2JvbmVFbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0eXBlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJMYWJlbCBmb3IgdGhlIGlucHV0IiBkZWZpbml0aW9uPSJBIGNvZGUgb3IgZGVzY3JpcHRpb24gaW5kaWNhdGluZyBob3cgdGhlIGlucHV0IGlzIGludGVuZGVkIHRvIGJlIHVzZWQgYXMgcGFydCBvZiB0aGUgdGFzayBleGVjdXRpb24uIiBjb21tZW50PSJJZiByZWZlcmVuY2luZyBhIEJQTU4gd29ya2Zsb3cgb3IgUHJvdG9jb2wsIHRoZSAmcXVvdDtzeXN0ZW0mcXVvdDsgaXMgdGhlIFVSTCBmb3IgdGhlIHdvcmtmbG93IGRlZmluaXRpb24gYW5kIHRoZSBjb2RlIGlzIHRoZSAmcXVvdDtuYW1lJnF1b3Q7IG9mIHRoZSByZXF1aXJlZCBpbnB1dC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJUYXNrSW5wdXRQYXJhbWV0ZXJUeXBlIiBkZXNjcmlwdGlvbj0iQ29kZXMgdG8gaWRlbnRpZnkgdHlwZXMgb2YgaW5wdXQgcGFyYW1ldGVycy4gIFRoZXNlIHdpbGwgdHlwaWNhbGx5IGJlIHNwZWNpZmljIHRvIGEgcGFydGljdWxhciB3b3JrZmxvdy4gIEUuZy4gJnF1b3Q7Q29tcGFyaXNvbiBzb3VyY2UmcXVvdDssICZxdW90O0FwcGxpY2FibGUgY29uc2VudCZxdW90OywgJnF1b3Q7Q29uY29taXRlbnQgTWVkaWNhdGlvbnMmcXVvdDssIGV0Yy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IkNvbnRlbnQgdG8gdXNlIGluIHBlcmZvcm1pbmcgdGhlIHRhc2siIGRlZmluaXRpb249IlRoZSB2YWx1ZSBvZiB0aGUgaW5wdXQgcGFyYW1ldGVyIGFzIGEgYmFzaWMgdHlwZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJCb29sZWFuIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRlY2ltYWwiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJJbnRlZ2VyIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkFkZHJlc3MiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBbm5vdGF0aW9uIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBdHRhY2htZW50Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb2RlIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb250YWN0UG9pbnQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ikh1bWFuTmFtZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iSWRlbnRpZmllciIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGVjaW1hbCIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJSYXRpbyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTYW1wbGVkRGF0YSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU2lnbmF0dXJlIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJUaW1pbmciLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbnRhY3REZXRhaWwiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbnRyaWJ1dG9yIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEYXRhUmVxdWlyZW1lbnQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkV4cHJlc3Npb24iLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlBhcmFtZXRlckRlZmluaXRpb24iLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlbGF0ZWRBcnRpZmFjdCIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVHJpZ2dlckRlZmluaXRpb24iLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVzYWdlQ29udGV4dCIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRG9zYWdlIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZXRhIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGFzay5PdXRwdXQiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkxhYmVsIGZvciBvdXRwdXQiIGRlZmluaXRpb249IlRoZSBuYW1lIG9mIHRoZSBPdXRwdXQgcGFyYW1ldGVyLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlRhc2tPdXRwdXRQYXJhbWV0ZXJUeXBlIiBkZXNjcmlwdGlvbj0iQ29kZXMgdG8gaWRlbnRpZnkgdHlwZXMgb2YgaW5wdXQgcGFyYW1ldGVycy4gIFRoZXNlIHdpbGwgdHlwaWNhbGx5IGJlIHNwZWNpZmljIHRvIGEgcGFydGljdWxhciB3b3JrZmxvdy4gIEUuZy4gJnF1b3Q7SWRlbnRpZmllZCBpc3N1ZXMmcXVvdDssICZxdW90O1ByZWxpbWluYXJ5IHJlc3VsdHMmcXVvdDssICZxdW90O0ZpbGxlciBvcmRlciZxdW90OywgJnF1b3Q7RmluYWwgcmVzdWx0cyZxdW90OywgZXRjLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmVzdWx0IG9mIG91dHB1dCIgZGVmaW5pdGlvbj0iVGhlIHZhbHVlIG9mIHRoZSBPdXRwdXQgcGFyYW1ldGVyIGFzIGEgYmFzaWMgdHlwZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJCb29sZWFuIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRlY2ltYWwiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJJbnRlZ2VyIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkFkZHJlc3MiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBbm5vdGF0aW9uIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJBdHRhY2htZW50Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb2RlIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJDb250YWN0UG9pbnQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9Ikh1bWFuTmFtZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iSWRlbnRpZmllciIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGVjaW1hbCIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJSYXRpbyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUmVmZXJlbmNlIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTYW1wbGVkRGF0YSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU2lnbmF0dXJlIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJUaW1pbmciLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbnRhY3REZXRhaWwiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkNvbnRyaWJ1dG9yIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJEYXRhUmVxdWlyZW1lbnQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkV4cHJlc3Npb24iLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlBhcmFtZXRlckRlZmluaXRpb24iLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlbGF0ZWRBcnRpZmFjdCIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVHJpZ2dlckRlZmluaXRpb24iLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVzYWdlQ29udGV4dCIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRG9zYWdlIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJNZXRhIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGFzay5SZXN0cmljdGlvbiIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkJhY2tib25lRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVwZXRpdGlvbnMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uSW50ZWdlciIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJIb3cgbWFueSB0aW1lcyB0byByZXBlYXQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgbnVtYmVyIG9mIHRpbWVzIHRoZSByZXF1ZXN0ZWQgYWN0aW9uIHNob3VsZCBvY2N1ci4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJpb2QiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2hlbiBmdWxmaWxsbWVudCBzb3VnaHQiIGRlZmluaXRpb249Ik92ZXIgd2hhdCB0aW1lLXBlcmlvZCBpcyBmdWxmaWxsbWVudCBzb3VnaHQuIiBjb21tZW50PSJOb3RlIHRoYXQgcGVyaW9kLmhpZ2ggaXMgdGhlIGR1ZSBkYXRlIHJlcHJlc2VudGluZyB0aGUgdGltZSBieSB3aGljaCB0aGUgdGFzayBzaG91bGQgYmUgY29tcGxldGVkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlY2lwaWVudCIgZGVzY3JpcHRpb249IkZvciB3aG9tIGlzIGZ1bGZpbGxtZW50IHNvdWdodD8iIGRlZmluaXRpb249IkZvciByZXF1ZXN0cyB0aGF0IGFyZSB0YXJnZXRlZCB0byBtb3JlIHRoYW4gb24gcG90ZW50aWFsIHJlY2lwaWVudC90YXJnZXQsIGZvciB3aG9tIGlzIGZ1bGZpbGxtZW50IHNvdWdodD8iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRhc2tJbnRlbnQiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGFza1ByaW9yaXR5IiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRhc2tSZWplY3RlZCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9xaWNvcmUtdGFza3JlamVjdGVkIiBsYWJlbD0iUUlDb3JlIFRhc2sgUmVqZWN0ZWQiIHRhcmdldD0iVGFzayIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY29kZSIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IlRhc2sgSW5zdGFuY2UgSWRlbnRpZmllciIgZGVmaW5pdGlvbj0iVGhlIGJ1c2luZXNzIGlkZW50aWZpZXIgZm9yIHRoaXMgdGFzay4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzQ2Fub25pY2FsIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJGb3JtYWwgZGVmaW5pdGlvbiBvZiB0YXNrIiBkZWZpbml0aW9uPSJUaGUgVVJMIHBvaW50aW5nIHRvIGEgKkZISVIqLWRlZmluZWQgcHJvdG9jb2wsIGd1aWRlbGluZSwgb3JkZXJzZXQgb3Igb3RoZXIgZGVmaW5pdGlvbiB0aGF0IGlzIGFkaGVyZWQgdG8gaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIFRhc2suIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5zdGFudGlhdGVzVXJpIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJGb3JtYWwgZGVmaW5pdGlvbiBvZiB0YXNrIiBkZWZpbml0aW9uPSJUaGUgVVJMIHBvaW50aW5nIHRvIGFuICpleHRlcm5hbGx5KiBtYWludGFpbmVkICBwcm90b2NvbCwgZ3VpZGVsaW5lLCBvcmRlcnNldCBvciBvdGhlciBkZWZpbml0aW9uIHRoYXQgaXMgYWRoZXJlZCB0byBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgVGFzay4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iUmVxdWVzdCBmdWxmaWxsZWQgYnkgdGhpcyB0YXNrIiBkZWZpbml0aW9uPSJCYXNlZE9uIHJlZmVycyB0byBhIGhpZ2hlci1sZXZlbCBhdXRob3JpemF0aW9uIHRoYXQgdHJpZ2dlcmVkIHRoZSBjcmVhdGlvbiBvZiB0aGUgdGFzay4gIEl0IHJlZmVyZW5jZXMgYSAmcXVvdDtyZXF1ZXN0JnF1b3Q7IHJlc291cmNlIHN1Y2ggYXMgYSBTZXJ2aWNlUmVxdWVzdCwgTWVkaWNhdGlvblJlcXVlc3QsIFNlcnZpY2VSZXF1ZXN0LCBDYXJlUGxhbiwgZXRjLiB3aGljaCBpcyBkaXN0aW5jdCBmcm9tIHRoZSAmcXVvdDtyZXF1ZXN0JnF1b3Q7IHJlc291cmNlIHRoZSB0YXNrIGlzIHNlZWtpbmcgdG8gZnVsZmlsbC4gIFRoaXMgbGF0dGVyIHJlc291cmNlIGlzIHJlZmVyZW5jZWQgYnkgRm9jdXNPbi4gIEZvciBleGFtcGxlLCBiYXNlZCBvbiBhIFNlcnZpY2VSZXF1ZXN0ICg9IEJhc2VkT24pLCBhIHRhc2sgaXMgY3JlYXRlZCB0byBmdWxmaWxsIGEgcHJvY2VkdXJlUmVxdWVzdCAoID0gRm9jdXNPbiApIHRvIGNvbGxlY3QgYSBzcGVjaW1lbiBmcm9tIGEgcGF0aWVudC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJncm91cElkZW50aWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIgZGVzY3JpcHRpb249IlJlcXVpc2l0aW9uIG9yIGdyb3VwZXIgaWQiIGRlZmluaXRpb249IkFuIGlkZW50aWZpZXIgdGhhdCBsaW5rcyB0b2dldGhlciBtdWx0aXBsZSB0YXNrcyBhbmQgb3RoZXIgcmVxdWVzdHMgdGhhdCB3ZXJlIGNyZWF0ZWQgaW4gdGhlIHNhbWUgY29udGV4dC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJDb21wb3NpdGUgdGFzayIgZGVmaW5pdGlvbj0iVGFzayB0aGF0IHRoaXMgcGFydGljdWxhciB0YXNrIGlzIHBhcnQgb2YuIiBjb21tZW50PSJUaGlzIHNob3VsZCB1c3VhbGx5IGJlIDAuLjEuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLlRhc2tTdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFFJLUNvcmUpIFRoZSBwb3RlbnRpYWwgcGVyZm9ybWVyIHdobyBjbGFpbWVkIG93bmVyc2hpcCBvZiB0aGUgdGFzayBoYXMgZGVjaWRlZCBub3QgdG8gZXhlY3V0ZSBpdCBwcmlvciB0byBwZXJmb3JtaW5nIGFueSBhY3Rpb24iIGRlZmluaXRpb249IlRoZSBjdXJyZW50IHN0YXR1cyBvZiB0aGUgdGFzay4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJUYXNrU3RhdHVzIiBkZXNjcmlwdGlvbj0iVGhlIGN1cnJlbnQgc3RhdHVzIG9mIHRoZSB0YXNrLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1c1JlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iUmVhc29uIGZvciBjdXJyZW50IHN0YXR1cyIgZGVmaW5pdGlvbj0iQW4gZXhwbGFuYXRpb24gYXMgdG8gd2h5IHRoaXMgdGFzayBpcyBoZWxkLCBmYWlsZWQsIHdhcyByZWZ1c2VkLCBldGMuIiBjb21tZW50PSJUaGlzIGFwcGxpZXMgdG8gdGhlIGN1cnJlbnQgc3RhdHVzLiAgTG9vayBhdCB0aGUgaGlzdG9yeSBvZiB0aGUgdGFzayB0byBzZWUgcmVhc29ucyBmb3IgcGFzdCBzdGF0dXNlcy4iIG11c3RTdXBwb3J0PSJmYWxzZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJ1c2luZXNzU3RhdHVzIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJFLmcuICZxdW90O1NwZWNpbWVuIGNvbGxlY3RlZCZxdW90OywgJnF1b3Q7SVYgcHJlcHBlZCZxdW90OyIgZGVmaW5pdGlvbj0iQ29udGFpbnMgYnVzaW5lc3Mtc3BlY2lmaWMgbnVhbmNlcyBvZiB0aGUgYnVzaW5lc3Mgc3RhdGUuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iVGFza0J1c2luZXNzU3RhdHVzIiBkZXNjcmlwdGlvbj0iVGhlIGRvbWFpbi1zcGVjaWZpYyBidXNpbmVzcy1jb250ZXh0dWFsIHN1Yi1zdGF0ZSBvZiB0aGUgdGFzay4gIEZvciBleGFtcGxlOiAmcXVvdDtCbG9vZCBkcmF3biZxdW90OywgJnF1b3Q7SVYgaW5zZXJ0ZWQmcXVvdDssICZxdW90O0F3YWl0aW5nIHBoeXNpY2lhbiBzaWduYXR1cmUmcXVvdDssIGV0Yy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImludGVudCIgZWxlbWVudFR5cGU9IlFJQ29yZS5UYXNrSW50ZW50IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InVua25vd24gfCBwcm9wb3NhbCB8IHBsYW4gfCBvcmRlciB8IG9yaWdpbmFsLW9yZGVyIHwgcmVmbGV4LW9yZGVyIHwgZmlsbGVyLW9yZGVyIHwgaW5zdGFuY2Utb3JkZXIgfCBvcHRpb24iIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgJnF1b3Q7bGV2ZWwmcXVvdDsgb2YgYWN0aW9uYWJpbGl0eSBhc3NvY2lhdGVkIHdpdGggdGhlIFRhc2ssIGkuZS4gaStSWzldQ3MgdGhpcyBhIHByb3Bvc2VkIHRhc2ssIGEgcGxhbm5lZCB0YXNrLCBhbiBhY3Rpb25hYmxlIHRhc2ssIGV0Yy4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBpbW11dGFibGUuICBQcm9wb3NlZCB0YXNrcywgcGxhbm5lZCB0YXNrcywgZXRjLiBtdXN0IGJlIGRpc3RpbmN0IGluc3RhbmNlcy4mIzEwOyYjMTA7SW4gbW9zdCBjYXNlcywgVGFza3Mgd2lsbCBoYXZlIGFuIGludGVudCBvZiAmcXVvdDtvcmRlciZxdW90Oy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJUYXNrSW50ZW50IiBkZXNjcmlwdGlvbj0iRGlzdGluZ3Vpc2hlcyB3aGV0aGVyIHRoZSB0YXNrIGlzIGEgcHJvcG9zYWwsIHBsYW4gb3IgZnVsbCBvcmRlci4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcmlvcml0eSIgZWxlbWVudFR5cGU9IlFJQ29yZS5UYXNrUHJpb3JpdHkiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0icm91dGluZSB8IHVyZ2VudCB8IGFzYXAgfCBzdGF0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgaG93IHF1aWNrbHkgdGhlIFRhc2sgc2hvdWxkIGJlIGFkZHJlc3NlZCB3aXRoIHJlc3BlY3QgdG8gb3RoZXIgcmVxdWVzdHMuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iVGFza1ByaW9yaXR5IiBkZXNjcmlwdGlvbj0iVGhlIHRhc2sncyBwcmlvcml0eS4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiB0YXJnZXQ9IlN5c3RlbS5Db25jZXB0OkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpO1N5c3RlbS5WYWx1ZVNldDpGSElSSGVscGVycy5Ub1ZhbHVlU2V0KCVwYXJlbnQuY29kZS5leHRlbnNpb25bdXJsPSdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3FpY29yZS1ub3REb25lVmFsdWVTZXQnXS52YWx1ZS52YWx1ZSkiIGRlc2NyaXB0aW9uPSIoUUktQ29yZSkgVGFzayBUeXBlIiBkZWZpbml0aW9uPSJBIG5hbWUgb3IgY29kZSAob3IgYm90aCkgYnJpZWZseSBkZXNjcmliaW5nIHdoYXQgdGhlIHRhc2sgaW52b2x2ZXMuIiBjb21tZW50PSJUaGUgdGl0bGUgKGVnICZxdW90O015IFRhc2tzJnF1b3Q7LCAmcXVvdDtPdXRzdGFuZGluZyBUYXNrcyBmb3IgUGF0aWVudCBYJnF1b3Q7KSBzaG91bGQgZ28gaW50byB0aGUgY29kZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQ29uY2VwdCIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iVmFsdWVTZXQiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkNvZGVzIHRvIGlkZW50aWZ5IHdoYXQgdGhlIHRhc2sgaW52b2x2ZXMuIFRoZXNlIHdpbGwgdHlwaWNhbGx5IGJlIHNwZWNpZmljIHRvIGEgcGFydGljdWxhciB3b3JrZmxvdy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGVzY3JpcHRpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ikh1bWFuLXJlYWRhYmxlIGV4cGxhbmF0aW9uIG9mIHRhc2siIGRlZmluaXRpb249IkEgZnJlZS10ZXh0IGRlc2NyaXB0aW9uIG9mIHdoYXQgaXMgdG8gYmUgcGVyZm9ybWVkLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZvY3VzIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldoYXQgdGFzayBpcyBhY3Rpbmcgb24iIGRlZmluaXRpb249IlRoZSByZXF1ZXN0IGJlaW5nIGFjdGlvbmVkIG9yIHRoZSByZXNvdXJjZSBiZWluZyBtYW5pcHVsYXRlZCBieSB0aGlzIHRhc2suIiBjb21tZW50PSJJZiBtdWx0aXBsZSByZXNvdXJjZXMgbmVlZCB0byBiZSBtYW5pcHVsYXRlZCwgdXNlIHN1Yi10YXNrcy4gIChUaGlzIGVuc3VyZXMgdGhhdCBzdGF0dXMgY2FuIGJlIHRyYWNrZWQgaW5kZXBlbmRlbnRseSBmb3IgZWFjaCByZWZlcmVuY2VkIHJlc291cmNlLikuIiBtdXN0U3VwcG9ydD0iZmFsc2UiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmb3IiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iQmVuZWZpY2lhcnkgb2YgdGhlIFRhc2siIGRlZmluaXRpb249IlRoZSBlbnRpdHkgd2hvIGJlbmVmaXRzIGZyb20gdGhlIHBlcmZvcm1hbmNlIG9mIHRoZSBzZXJ2aWNlIHNwZWNpZmllZCBpbiB0aGUgdGFzayAoZS5nLiwgdGhlIHBhdGllbnQpLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkhlYWx0aGNhcmUgZXZlbnQgZHVyaW5nIHdoaWNoIHRoaXMgdGFzayBvcmlnaW5hdGVkIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyB0YXNrIHdhcyBjcmVhdGVkLiIgbXVzdFN1cHBvcnQ9ImZhbHNlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZXhlY3V0aW9uUGVyaW9kIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoJXZhbHVlKSIgZGVzY3JpcHRpb249IihRSS1Db3JlKSBUaGUgdGltaW5nIHRoZSB0YXNrIHdhcyByZWplY3RlZCBhbmQgdGhlIHJlYXNvbi4iIGRlZmluaXRpb249IklkZW50aWZpZXMgdGhlIHRpbWUgYWN0aW9uIHdhcyBmaXJzdCB0YWtlbiBhZ2FpbnN0IHRoZSB0YXNrIChzdGFydCkgYW5kL29yIHRoZSB0aW1lIGZpbmFsIGFjdGlvbiB3YXMgdGFrZW4gYWdhaW5zdCB0aGUgdGFzayBwcmlvciB0byBtYXJraW5nIGl0IGFzIGNvbXBsZXRlZCAoZW5kKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhdXRob3JlZE9uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRhc2sgQ3JlYXRpb24gRGF0ZSIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgYW5kIHRpbWUgdGhpcyB0YXNrIHdhcyBjcmVhdGVkLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Imxhc3RNb2RpZmllZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUYXNrIExhc3QgTW9kaWZpZWQgRGF0ZSIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgYW5kIHRpbWUgb2YgbGFzdCBtb2RpZmljYXRpb24gdG8gdGhpcyB0YXNrLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlcXVlc3RlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaG8gaXMgYXNraW5nIGZvciB0YXNrIHRvIGJlIGRvbmUiIGRlZmluaXRpb249IlRoZSBjcmVhdG9yIG9mIHRoZSB0YXNrLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lclR5cGUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJSZXF1ZXN0ZWQgcGVyZm9ybWVyIiBkZWZpbml0aW9uPSJUaGUga2luZCBvZiBwYXJ0aWNpcGFudCB0aGF0IHNob3VsZCBwZXJmb3JtIHRoZSB0YXNrLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJUYXNrUGVyZm9ybWVyVHlwZSIgZGVzY3JpcHRpb249IlRoZSB0eXBlKHMpIG9mIHRhc2sgcGVyZm9ybWVycyBhbGxvd2VkLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJvd25lciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJSZXNwb25zaWJsZSBpbmRpdmlkdWFsIiBkZWZpbml0aW9uPSJJbmRpdmlkdWFsIG9yZ2FuaXphdGlvbiBvciBEZXZpY2UgY3VycmVudGx5IHJlc3BvbnNpYmxlIGZvciB0YXNrIGV4ZWN1dGlvbi4iIGNvbW1lbnQ9IlRhc2tzIG1heSBiZSBjcmVhdGVkIHdpdGggYW4gb3duZXIgbm90IHlldCBpZGVudGlmaWVkLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImxvY2F0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IldoZXJlIHRhc2sgb2NjdXJzIiBkZWZpbml0aW9uPSJQcmluY2lwYWwgcGh5c2ljYWwgbG9jYXRpb24gd2hlcmUgdGhlIHRoaXMgdGFzayBpcyBwZXJmb3JtZWQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVhc29uQ29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iV2h5IHRhc2sgaXMgbmVlZGVkIiBkZWZpbml0aW9uPSJBIGRlc2NyaXB0aW9uIG9yIGNvZGUgaW5kaWNhdGluZyB3aHkgdGhpcyB0YXNrIG5lZWRzIHRvIGJlIHBlcmZvcm1lZC4iIGNvbW1lbnQ9IlRoaXMgc2hvdWxkIG9ubHkgYmUgaW5jbHVkZWQgaWYgdGhlcmUgaXMgbm8gZm9jdXMgb3IgaWYgaXQgZGlmZmVycyBmcm9tIHRoZSByZWFzb24gaW5kaWNhdGVkIG9uIHRoZSBmb2N1cy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJUYXNrUmVhc29uIiBkZXNjcmlwdGlvbj0iSW5kaWNhdGVzIHdoeSB0aGUgdGFzayBpcyBuZWVkZWQuICBFLmcuIFN1c3BlbmRlZCBiZWNhdXNlIHBhdGllbnQgYWRtaXR0ZWQgdG8gaG9zcGl0YWwuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWFzb25SZWZlcmVuY2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iV2h5IHRhc2sgaXMgbmVlZGVkIiBkZWZpbml0aW9uPSJBIHJlc291cmNlIHJlZmVyZW5jZSBpbmRpY2F0aW5nIHdoeSB0aGlzIHRhc2sgbmVlZHMgdG8gYmUgcGVyZm9ybWVkLiIgY29tbWVudD0iVGFza3MgbWlnaHQgYmUganVzdGlmaWVkIGJhc2VkIG9uIGFuIE9ic2VydmF0aW9uLCBhIENvbmRpdGlvbiwgYSBwYXN0IG9yIHBsYW5uZWQgcHJvY2VkdXJlLCBldGMuICAgVGhpcyBzaG91bGQgb25seSBiZSBpbmNsdWRlZCBpZiB0aGVyZSBpcyBubyBmb2N1cyBvciBpZiBpdCBkaWZmZXJzIGZyb20gdGhlIHJlYXNvbiBpbmRpY2F0ZWQgb24gdGhlIGZvY3VzLiAgICBVc2UgdGhlIENvZGVhYmxlQ29uY2VwdCB0ZXh0IGVsZW1lbnQgaW4gYFRhc2sucmVhc29uQ29kZWAgaWYgdGhlIGRhdGEgaXMgZnJlZSAodW5jb2RlZCkgdGV4dC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnN1cmFuY2UiIGRlc2NyaXB0aW9uPSJBc3NvY2lhdGVkIGluc3VyYW5jZSBjb3ZlcmFnZSIgZGVmaW5pdGlvbj0iSW5zdXJhbmNlIHBsYW5zLCBjb3ZlcmFnZSBleHRlbnNpb25zLCBwcmUtYXV0aG9yaXphdGlvbnMgYW5kL29yIHByZS1kZXRlcm1pbmF0aW9ucyB0aGF0IG1heSBiZSByZWxldmFudCB0byB0aGUgVGFzay4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgbWFkZSBhYm91dCB0aGUgdGFzayIgZGVmaW5pdGlvbj0iRnJlZS10ZXh0IGluZm9ybWF0aW9uIGNhcHR1cmVkIGFib3V0IHRoZSB0YXNrIGFzIGl0IHByb2dyZXNzZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlbGV2YW50SGlzdG9yeSIgZGVzY3JpcHRpb249IktleSBldmVudHMgaW4gaGlzdG9yeSBvZiB0aGUgVGFzayIgZGVmaW5pdGlvbj0iTGlua3MgdG8gUHJvdmVuYW5jZSByZWNvcmRzIGZvciBwYXN0IHZlcnNpb25zIG9mIHRoaXMgVGFzayB0aGF0IGlkZW50aWZ5IGtleSBzdGF0ZSB0cmFuc2l0aW9ucyBvciB1cGRhdGVzIHRoYXQgYXJlIGxpa2VseSB0byBiZSByZWxldmFudCB0byBhIHVzZXIgbG9va2luZyBhdCB0aGUgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSB0YXNrLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGRvZXMgbm90IHBvaW50IHRvIHRoZSBQcm92ZW5hbmNlIGFzc29jaWF0ZWQgd2l0aCB0aGUgKmN1cnJlbnQqIHZlcnNpb24gb2YgdGhlIHJlc291cmNlIC0gYXMgaXQgd291bGQgYmUgY3JlYXRlZCBhZnRlciB0aGlzIHZlcnNpb24gZXhpc3RlZC4gIFRoZSBQcm92ZW5hbmNlIGZvciB0aGUgY3VycmVudCB2ZXJzaW9uIGNhbiBiZSByZXRyaWV2ZWQgd2l0aCBhIF9yZXZpbmNsdWRlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlc3RyaWN0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLlRhc2suUmVzdHJpY3Rpb24iIGRlc2NyaXB0aW9uPSJDb25zdHJhaW50cyBvbiBmdWxmaWxsbWVudCB0YXNrcyIgZGVmaW5pdGlvbj0iSWYgdGhlIFRhc2suZm9jdXMgaXMgYSByZXF1ZXN0IHJlc291cmNlIGFuZCB0aGUgdGFzayBpcyBzZWVraW5nIGZ1bGZpbGxtZW50IChpLmUuIGlzIGFza2luZyBmb3IgdGhlIHJlcXVlc3QgdG8gYmUgYWN0aW9uZWQpLCB0aGlzIGVsZW1lbnQgaWRlbnRpZmllcyBhbnkgbGltaXRhdGlvbnMgb24gd2hhdCBwYXJ0cyBvZiB0aGUgcmVmZXJlbmNlZCByZXF1ZXN0IHNob3VsZCBiZSBhY3Rpb25lZC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnB1dCIgZGVzY3JpcHRpb249IkluZm9ybWF0aW9uIHVzZWQgdG8gcGVyZm9ybSB0YXNrIiBkZWZpbml0aW9uPSJBZGRpdGlvbmFsIGluZm9ybWF0aW9uIHRoYXQgbWF5IGJlIG5lZWRlZCBpbiB0aGUgZXhlY3V0aW9uIG9mIHRoZSB0YXNrLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuVGFzay5JbnB1dCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJvdXRwdXQiIGRlc2NyaXB0aW9uPSJJbmZvcm1hdGlvbiBwcm9kdWNlZCBhcyBwYXJ0IG9mIHRhc2siIGRlZmluaXRpb249Ik91dHB1dHMgcHJvZHVjZWQgYnkgdGhlIFRhc2suIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5UYXNrLk91dHB1dCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRhc2tTdGF0dXMiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGltaW5nIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vVGltaW5nIiBsYWJlbD0iVGltaW5nIiByZXRyaWV2YWJsZT0iZmFsc2UiIHByaW1hcnlDb2RlUGF0aD0iY29kZSIgYmFzZVR5cGU9IlFJQ29yZS5CYWNrYm9uZUVsZW1lbnQiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImV2ZW50IiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IldoZW4gdGhlIGV2ZW50IG9jY3VycyIgZGVmaW5pdGlvbj0iSWRlbnRpZmllcyBzcGVjaWZpYyB0aW1lcyB3aGVuIHRoZSBldmVudCBvY2N1cnMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZXBlYXQiIGVsZW1lbnRUeXBlPSJRSUNvcmUuVGltaW5nLlJlcGVhdCIgZGVzY3JpcHRpb249IldoZW4gdGhlIGV2ZW50IGlzIHRvIG9jY3VyIiBkZWZpbml0aW9uPSJBIHNldCBvZiBydWxlcyB0aGF0IGRlc2NyaWJlIHdoZW4gdGhlIGV2ZW50IGlzIHNjaGVkdWxlZC4iPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ0aW0tMSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJpZiB0aGVyZSdzIGEgZHVyYXRpb24sIHRoZXJlIG5lZWRzIHRvIGJlIGR1cmF0aW9uIHVuaXRzIj4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJkdXJhdGlvbi5lbXB0eSgpIG9yIGR1cmF0aW9uVW5pdC5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InRpbS0yIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9ImlmIHRoZXJlJ3MgYSBwZXJpb2QsIHRoZXJlIG5lZWRzIHRvIGJlIHBlcmlvZCB1bml0cyI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0icGVyaW9kLmVtcHR5KCkgb3IgcGVyaW9kVW5pdC5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InRpbS00IiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9ImR1cmF0aW9uIFNIQUxMIGJlIGEgbm9uLW5lZ2F0aXZlIHZhbHVlIj4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJkdXJhdGlvbi5leGlzdHMoKSBpbXBsaWVzIGR1cmF0aW9uICZndDs9IDAiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ0aW0tNSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJwZXJpb2QgU0hBTEwgYmUgYSBub24tbmVnYXRpdmUgdmFsdWUiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InBlcmlvZC5leGlzdHMoKSBpbXBsaWVzIHBlcmlvZCAmZ3Q7PSAwIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idGltLTYiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iSWYgdGhlcmUncyBhIHBlcmlvZE1heCwgdGhlcmUgbXVzdCBiZSBhIHBlcmlvZCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0icGVyaW9kTWF4LmVtcHR5KCkgb3IgcGVyaW9kLmV4aXN0cygpIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idGltLTciIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iSWYgdGhlcmUncyBhIGR1cmF0aW9uTWF4LCB0aGVyZSBtdXN0IGJlIGEgZHVyYXRpb24iPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249ImR1cmF0aW9uTWF4LmVtcHR5KCkgb3IgZHVyYXRpb24uZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ0aW0tOCIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSdzIGEgY291bnRNYXgsIHRoZXJlIG11c3QgYmUgYSBjb3VudCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iY291bnRNYXguZW1wdHkoKSBvciBjb3VudC5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InRpbS05IiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IklmIHRoZXJlJ3MgYW4gb2Zmc2V0LCB0aGVyZSBtdXN0IGJlIGEgd2hlbiAoYW5kIG5vdCBDLCBDTSwgQ0QsIENWKSI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0ib2Zmc2V0LmVtcHR5KCkgb3IgKHdoZW4uZXhpc3RzKCkgYW5kICgod2hlbiBpbiAoJ0MnIHwgJ0NNJyB8ICdDRCcgfCAnQ1YnKSkubm90KCkpKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InRpbS0xMCIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSdzIGEgdGltZU9mRGF5LCB0aGVyZSBjYW5ub3QgYmUgYSB3aGVuLCBvciB2aWNlIHZlcnNhIj4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ0aW1lT2ZEYXkuZW1wdHkoKSBvciB3aGVuLmVtcHR5KCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJCSUQgfCBUSUQgfCBRSUQgfCBBTSB8IFBNIHwgUUQgfCBRT0QgfCArIiBkZWZpbml0aW9uPSJBIGNvZGUgZm9yIHRoZSB0aW1pbmcgc2NoZWR1bGUgKG9yIGp1c3QgdGV4dCBpbiBjb2RlLnRleHQpLiBTb21lIGNvZGVzIHN1Y2ggYXMgQklEIGFyZSB1YmlxdWl0b3VzLCBidXQgbWFueSBpbnN0aXR1dGlvbnMgZGVmaW5lIHRoZWlyIG93biBhZGRpdGlvbmFsIGNvZGVzLiBJZiBhIGNvZGUgaXMgcHJvdmlkZWQsIHRoZSBjb2RlIGlzIHVuZGVyc3Rvb2QgdG8gYmUgYSBjb21wbGV0ZSBzdGF0ZW1lbnQgb2Ygd2hhdGV2ZXIgaXMgc3BlY2lmaWVkIGluIHRoZSBzdHJ1Y3R1cmVkIHRpbWluZyBkYXRhLCBhbmQgZWl0aGVyIHRoZSBjb2RlIG9yIHRoZSBkYXRhIG1heSBiZSB1c2VkIHRvIGludGVycHJldCB0aGUgVGltaW5nLCB3aXRoIHRoZSBleGNlcHRpb24gdGhhdCAucmVwZWF0LmJvdW5kcyBzdGlsbCBhcHBsaWVzIG92ZXIgdGhlIGNvZGUgKGFuZCBpcyBub3QgY29udGFpbmVkIGluIHRoZSBjb2RlKS4iIGNvbW1lbnQ9IkJJRCBldGMuIGFyZSBkZWZpbmVkIGFzICdhdCBpbnN0aXR1dGlvbmFsbHkgc3BlY2lmaWVkIHRpbWVzJy4gRm9yIGV4YW1wbGUsIGFuIGluc3RpdHV0aW9uIG1heSBjaG9vc2UgdGhhdCBCSUQgaXMgJnF1b3Q7YWx3YXlzIGF0IDdhbSBhbmQgNnBtJnF1b3Q7LiAgSWYgaXQgaXMgaW5hcHByb3ByaWF0ZSBmb3IgdGhpcyBjaG9pY2UgdG8gYmUgbWFkZSwgdGhlIGNvZGUgQklEIHNob3VsZCBub3QgYmUgdXNlZC4gSW5zdGVhZCwgYSBkaXN0aW5jdCBvcmdhbml6YXRpb24tc3BlY2lmaWMgY29kZSBzaG91bGQgYmUgdXNlZCBpbiBwbGFjZSBvZiB0aGUgSEw3LWRlZmluZWQgQklEIGNvZGUgYW5kL29yIGEgc3RydWN0dXJlZCByZXByZXNlbnRhdGlvbiBzaG91bGQgYmUgdXNlZCAoaW4gdGhpcyBjYXNlLCBzcGVjaWZ5aW5nIHRoZSB0d28gZXZlbnQgdGltZXMpLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlRpbWluZ0FiYnJldmlhdGlvbiIgZGVzY3JpcHRpb249IkNvZGUgZm9yIGEga25vd24gLyBkZWZpbmVkIHRpbWluZyBwYXR0ZXJuLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlRpbWluZy5SZXBlYXQiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlFJQ29yZS5FbGVtZW50Ij4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJib3VuZHMiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iTGVuZ3RoL1JhbmdlIG9mIGxlbmd0aHMsIG9yIChTdGFydCBhbmQvb3IgZW5kKSBsaW1pdHMiIGRlZmluaXRpb249IkVpdGhlciBhIGR1cmF0aW9uIGZvciB0aGUgbGVuZ3RoIG9mIHRoZSB0aW1pbmcgc2NoZWR1bGUsIGEgcmFuZ2Ugb2YgcG9zc2libGUgbGVuZ3RoLCBvciBvdXRlciBib3VuZHMgZm9yIHN0YXJ0IGFuZC9vciBlbmQgbGltaXRzIG9mIHRoZSB0aW1pbmcgc2NoZWR1bGUuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb3VudCIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik51bWJlciBvZiB0aW1lcyB0byByZXBlYXQiIGRlZmluaXRpb249IkEgdG90YWwgY291bnQgb2YgdGhlIGRlc2lyZWQgbnVtYmVyIG9mIHJlcGV0aXRpb25zIGFjcm9zcyB0aGUgZHVyYXRpb24gb2YgdGhlIGVudGlyZSB0aW1pbmcgc3BlY2lmaWNhdGlvbi4gSWYgY291bnRNYXggaXMgcHJlc2VudCwgdGhpcyBlbGVtZW50IGluZGljYXRlcyB0aGUgbG93ZXIgYm91bmQgb2YgdGhlIGFsbG93ZWQgcmFuZ2Ugb2YgY291bnQgdmFsdWVzLiIgY29tbWVudD0iSWYgeW91IGhhdmUgYm90aCBib3VuZHMgYW5kIGNvdW50LCB0aGVuIHRoaXMgc2hvdWxkIGJlIHVuZGVyc3Rvb2QgYXMgd2l0aGluIHRoZSBib3VuZHMgcGVyaW9kLCB1bnRpbCBjb3VudCB0aW1lcyBoYXBwZW5zLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvdW50TWF4IiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gcmVwZWF0IiBkZWZpbml0aW9uPSJJZiBwcmVzZW50LCBpbmRpY2F0ZXMgdGhhdCB0aGUgY291bnQgaXMgYSByYW5nZSAtIHNvIHRvIHBlcmZvcm0gdGhlIGFjdGlvbiBiZXR3ZWVuIFtjb3VudF0gYW5kIFtjb3VudE1heF0gdGltZXMuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZHVyYXRpb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJIb3cgbG9uZyB3aGVuIGl0IGhhcHBlbnMiIGRlZmluaXRpb249IkhvdyBsb25nIHRoaXMgdGhpbmcgaGFwcGVucyBmb3Igd2hlbiBpdCBoYXBwZW5zLiBJZiBkdXJhdGlvbk1heCBpcyBwcmVzZW50LCB0aGlzIGVsZW1lbnQgaW5kaWNhdGVzIHRoZSBsb3dlciBib3VuZCBvZiB0aGUgYWxsb3dlZCByYW5nZSBvZiB0aGUgZHVyYXRpb24uIiBjb21tZW50PSJGb3Igc29tZSBldmVudHMgdGhlIGR1cmF0aW9uIGlzIHBhcnQgb2YgdGhlIGRlZmluaXRpb24gb2YgdGhlIGV2ZW50IChlLmcuIElWIGluZnVzaW9ucywgd2hlcmUgdGhlIGR1cmF0aW9uIGlzIGltcGxpY2l0IGluIHRoZSBzcGVjaWZpZWQgcXVhbnRpdHkgYW5kIHJhdGUpLiBGb3Igb3RoZXJzLCBpdCdzIHBhcnQgb2YgdGhlIHRpbWluZyBzcGVjaWZpY2F0aW9uIChlLmcuIGV4ZXJjaXNlKS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkdXJhdGlvbk1heCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EZWNpbWFsIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkhvdyBsb25nIHdoZW4gaXQgaGFwcGVucyAoTWF4KSIgZGVmaW5pdGlvbj0iSWYgcHJlc2VudCwgaW5kaWNhdGVzIHRoYXQgdGhlIGR1cmF0aW9uIGlzIGEgcmFuZ2UgLSBzbyB0byBwZXJmb3JtIHRoZSBhY3Rpb24gYmV0d2VlbiBbZHVyYXRpb25dIGFuZCBbZHVyYXRpb25NYXhdIHRpbWUgbGVuZ3RoLiIgY29tbWVudD0iRm9yIHNvbWUgZXZlbnRzIHRoZSBkdXJhdGlvbiBpcyBwYXJ0IG9mIHRoZSBkZWZpbml0aW9uIG9mIHRoZSBldmVudCAoZS5nLiBJViBpbmZ1c2lvbnMsIHdoZXJlIHRoZSBkdXJhdGlvbiBpcyBpbXBsaWNpdCBpbiB0aGUgc3BlY2lmaWVkIHF1YW50aXR5IGFuZCByYXRlKS4gRm9yIG90aGVycywgaXQncyBwYXJ0IG9mIHRoZSB0aW1pbmcgc3BlY2lmaWNhdGlvbiAoZS5nLiBleGVyY2lzZSkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZHVyYXRpb25Vbml0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlVuaXRzT2ZUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InMgfCBtaW4gfCBoIHwgZCB8IHdrIHwgbW8gfCBhIC0gdW5pdCBvZiB0aW1lIChVQ1VNKSIgZGVmaW5pdGlvbj0iVGhlIHVuaXRzIG9mIHRpbWUgZm9yIHRoZSBkdXJhdGlvbiwgaW4gVUNVTSB1bml0cy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJVbml0c09mVGltZSIgZGVzY3JpcHRpb249IkEgdW5pdCBvZiB0aW1lICh1bml0cyBmcm9tIFVDVU0pLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZyZXF1ZW5jeSIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkV2ZW50IG9jY3VycyBmcmVxdWVuY3kgdGltZXMgcGVyIHBlcmlvZCIgZGVmaW5pdGlvbj0iVGhlIG51bWJlciBvZiB0aW1lcyB0byByZXBlYXQgdGhlIGFjdGlvbiB3aXRoaW4gdGhlIHNwZWNpZmllZCBwZXJpb2QuIElmIGZyZXF1ZW5jeU1heCBpcyBwcmVzZW50LCB0aGlzIGVsZW1lbnQgaW5kaWNhdGVzIHRoZSBsb3dlciBib3VuZCBvZiB0aGUgYWxsb3dlZCByYW5nZSBvZiB0aGUgZnJlcXVlbmN5LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZyZXF1ZW5jeU1heCIgZWxlbWVudFR5cGU9IlN5c3RlbS5JbnRlZ2VyIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkV2ZW50IG9jY3VycyB1cCB0byBmcmVxdWVuY3lNYXggdGltZXMgcGVyIHBlcmlvZCIgZGVmaW5pdGlvbj0iSWYgcHJlc2VudCwgaW5kaWNhdGVzIHRoYXQgdGhlIGZyZXF1ZW5jeSBpcyBhIHJhbmdlIC0gc28gdG8gcmVwZWF0IGJldHdlZW4gW2ZyZXF1ZW5jeV0gYW5kIFtmcmVxdWVuY3lNYXhdIHRpbWVzIHdpdGhpbiB0aGUgcGVyaW9kIG9yIHBlcmlvZCByYW5nZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJpb2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGVjaW1hbCIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJFdmVudCBvY2N1cnMgZnJlcXVlbmN5IHRpbWVzIHBlciBwZXJpb2QiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgZHVyYXRpb24gb2YgdGltZSBvdmVyIHdoaWNoIHJlcGV0aXRpb25zIGFyZSB0byBvY2N1cjsgZS5nLiB0byBleHByZXNzICZxdW90OzMgdGltZXMgcGVyIGRheSZxdW90OywgMyB3b3VsZCBiZSB0aGUgZnJlcXVlbmN5IGFuZCAmcXVvdDsxIGRheSZxdW90OyB3b3VsZCBiZSB0aGUgcGVyaW9kLiBJZiBwZXJpb2RNYXggaXMgcHJlc2VudCwgdGhpcyBlbGVtZW50IGluZGljYXRlcyB0aGUgbG93ZXIgYm91bmQgb2YgdGhlIGFsbG93ZWQgcmFuZ2Ugb2YgdGhlIHBlcmlvZCBsZW5ndGguIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyaW9kTWF4IiBlbGVtZW50VHlwZT0iU3lzdGVtLkRlY2ltYWwiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVXBwZXIgbGltaXQgb2YgcGVyaW9kICgzLTQgaG91cnMpIiBkZWZpbml0aW9uPSJJZiBwcmVzZW50LCBpbmRpY2F0ZXMgdGhhdCB0aGUgcGVyaW9kIGlzIGEgcmFuZ2UgZnJvbSBbcGVyaW9kXSB0byBbcGVyaW9kTWF4XSwgYWxsb3dpbmcgZXhwcmVzc2luZyBjb25jZXB0cyBzdWNoIGFzICZxdW90O2RvIHRoaXMgb25jZSBldmVyeSAzLTUgZGF5cy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJpb2RVbml0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlVuaXRzT2ZUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249InMgfCBtaW4gfCBoIHwgZCB8IHdrIHwgbW8gfCBhIC0gdW5pdCBvZiB0aW1lIChVQ1VNKSIgZGVmaW5pdGlvbj0iVGhlIHVuaXRzIG9mIHRpbWUgZm9yIHRoZSBwZXJpb2QgaW4gVUNVTSB1bml0cy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJVbml0c09mVGltZSIgZGVzY3JpcHRpb249IkEgdW5pdCBvZiB0aW1lICh1bml0cyBmcm9tIFVDVU0pLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRheU9mV2VlayIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJtb24gfCB0dWUgfCB3ZWQgfCB0aHUgfCBmcmkgfCBzYXQgfCBzdW4iIGRlZmluaXRpb249IklmIG9uZSBvciBtb3JlIGRheXMgb2Ygd2VlayBpcyBwcm92aWRlZCwgdGhlbiB0aGUgYWN0aW9uIGhhcHBlbnMgb25seSBvbiB0aGUgc3BlY2lmaWVkIGRheShzKS4iIGNvbW1lbnQ9IklmIG5vIGRheXMgYXJlIHNwZWNpZmllZCwgdGhlIGFjdGlvbiBpcyBhc3N1bWVkIHRvIGhhcHBlbiBldmVyeSBkYXkgYXMgb3RoZXJ3aXNlIHNwZWNpZmllZC4gVGhlIGVsZW1lbnRzIGZyZXF1ZW5jeSBhbmQgcGVyaW9kIGNhbm5vdCBiZSB1c2VkIGFzIHdlbGwgYXMgZGF5T2ZXZWVrLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRGF5T2ZXZWVrIi8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkRheU9mV2VlayIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InRpbWVPZkRheSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaW1lIG9mIGRheSBmb3IgYWN0aW9uIiBkZWZpbml0aW9uPSJTcGVjaWZpZWQgdGltZSBvZiBkYXkgZm9yIGFjdGlvbiB0byB0YWtlIHBsYWNlLiIgY29tbWVudD0iV2hlbiB0aW1lIG9mIGRheSBpcyBzcGVjaWZpZWQsIGl0IGlzIGluZmVycmVkIHRoYXQgdGhlIGFjdGlvbiBoYXBwZW5zIGV2ZXJ5IGRheSAoYXMgZmlsdGVyZWQgYnkgZGF5b2ZXZWVrKSBvbiB0aGUgc3BlY2lmaWVkIHRpbWVzLiBUaGUgZWxlbWVudHMgd2hlbiwgZnJlcXVlbmN5IGFuZCBwZXJpb2QgY2Fubm90IGJlIHVzZWQgYXMgd2VsbCBhcyB0aW1lT2ZEYXkuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5UaW1lIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9IndoZW4iIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iQ29kZSBmb3IgdGltZSBwZXJpb2Qgb2Ygb2NjdXJyZW5jZSIgZGVmaW5pdGlvbj0iQW4gYXBwcm94aW1hdGUgdGltZSBwZXJpb2QgZHVyaW5nIHRoZSBkYXksIHBvdGVudGlhbGx5IGxpbmtlZCB0byBhbiBldmVudCBvZiBkYWlseSBsaXZpbmcgdGhhdCBpbmRpY2F0ZXMgd2hlbiB0aGUgYWN0aW9uIHNob3VsZCBvY2N1ci4iIGNvbW1lbnQ9IldoZW4gbW9yZSB0aGFuIG9uZSBldmVudCBpcyBsaXN0ZWQsIHRoZSBldmVudCBpcyB0aWVkIHRvIHRoZSB1bmlvbiBvZiB0aGUgc3BlY2lmaWVkIGV2ZW50cy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkV2ZW50VGltaW5nIi8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkV2ZW50VGltaW5nIiBkZXNjcmlwdGlvbj0iUmVhbCB3b3JsZCBldmVudCByZWxhdGluZyB0byB0aGUgc2NoZWR1bGUuIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ib2Zmc2V0IiBlbGVtZW50VHlwZT0iU3lzdGVtLkludGVnZXIiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iTWludXRlcyBmcm9tIGV2ZW50IChiZWZvcmUgb3IgYWZ0ZXIpIiBkZWZpbml0aW9uPSJUaGUgbnVtYmVyIG9mIG1pbnV0ZXMgZnJvbSB0aGUgZXZlbnQuIElmIHRoZSBldmVudCBjb2RlIGRvZXMgbm90IGluZGljYXRlIHdoZXRoZXIgdGhlIG1pbnV0ZXMgaXMgYmVmb3JlIG9yIGFmdGVyIHRoZSBldmVudCwgdGhlbiB0aGUgb2Zmc2V0IGlzIGFzc3VtZWQgdG8gYmUgYWZ0ZXIgdGhlIGV2ZW50LiIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVHJpZ2dlckRlZmluaXRpb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9UcmlnZ2VyRGVmaW5pdGlvbiIgbGFiZWw9IlRyaWdnZXJEZWZpbml0aW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5UcmlnZ2VyVHlwZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJuYW1lZC1ldmVudCB8IHBlcmlvZGljIHwgZGF0YS1jaGFuZ2VkIHwgZGF0YS1hZGRlZCB8IGRhdGEtbW9kaWZpZWQgfCBkYXRhLXJlbW92ZWQgfCBkYXRhLWFjY2Vzc2VkIHwgZGF0YS1hY2Nlc3MtZW5kZWQiIGRlZmluaXRpb249IlRoZSB0eXBlIG9mIHRyaWdnZXJpbmcgZXZlbnQuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iVHJpZ2dlclR5cGUiIGRlc2NyaXB0aW9uPSJUaGUgdHlwZSBvZiB0cmlnZ2VyLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5hbWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249Ik5hbWUgb3IgVVJJIHRoYXQgaWRlbnRpZmllcyB0aGUgZXZlbnQiIGRlZmluaXRpb249IkEgZm9ybWFsIG5hbWUgZm9yIHRoZSBldmVudC4gVGhpcyBtYXkgYmUgYW4gYWJzb2x1dGUgVVJJIHRoYXQgaWRlbnRpZmllcyB0aGUgZXZlbnQgZm9ybWFsbHkgKGUuZy4gZnJvbSBhIHRyaWdnZXIgcmVnaXN0cnkpLCBvciBhIHNpbXBsZSByZWxhdGl2ZSBVUkkgdGhhdCBpZGVudGlmaWVzIHRoZSBldmVudCBpbiBhIGxvY2FsIGNvbnRleHQuIiBjb21tZW50PSJBbiBldmVudCBuYW1lIGNhbiBiZSBwcm92aWRlZCBmb3IgYWxsIGV2ZW50IHR5cGVzLCBidXQgaXMgcmVxdWlyZWQgZm9yIG5hbWVkIGV2ZW50cy4gSWYgYSBuYW1lIGlzIHByb3ZpZGVkIGZvciBhIHR5cGUgb3RoZXIgdGhhbiBuYW1lZCBldmVudHMsIGl0IGlzIGNvbnNpZGVyZWQgdG8gYmUgYSBzaG9ydGhhbmQgZm9yIHRoZSBzZW1hbnRpY3MgZGVzY3JpYmVkIGJ5IHRoZSBmb3JtYWwgZGVzY3JpcHRpb24gb2YgdGhlIGV2ZW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InRpbWluZyIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJUaW1pbmcgb2YgdGhlIGV2ZW50IiBkZWZpbml0aW9uPSJUaGUgdGltaW5nIG9mIHRoZSBldmVudCAoaWYgdGhpcyBpcyBhIHBlcmlvZGljIHRyaWdnZXIpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJUaW1pbmciLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlJlZmVyZW5jZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YSIgZGVzY3JpcHRpb249IlRyaWdnZXJpbmcgZGF0YSBvZiB0aGUgZXZlbnQgKG11bHRpcGxlID0gJ2FuZCcpIiBkZWZpbml0aW9uPSJUaGUgdHJpZ2dlcmluZyBkYXRhIG9mIHRoZSBldmVudCAoaWYgdGhpcyBpcyBhIGRhdGEgdHJpZ2dlcikuIElmIG1vcmUgdGhhbiBvbmUgZGF0YSBpcyByZXF1aXJlbWVudCBpcyBzcGVjaWZpZWQsIHRoZW4gYWxsIHRoZSBkYXRhIHJlcXVpcmVtZW50cyBtdXN0IGJlIHRydWUuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgc2hhbGwgYmUgcHJlc2VudCBmb3IgYW55IGRhdGEgdHlwZSB0cmlnZ2VyLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRGF0YVJlcXVpcmVtZW50Ii8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbmRpdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5FeHByZXNzaW9uIiBkZXNjcmlwdGlvbj0iV2hldGhlciB0aGUgZXZlbnQgdHJpZ2dlcnMgKGJvb2xlYW4gZXhwcmVzc2lvbikiIGRlZmluaXRpb249IkEgYm9vbGVhbi12YWx1ZWQgZXhwcmVzc2lvbiB0aGF0IGlzIGV2YWx1YXRlZCBpbiB0aGUgY29udGV4dCBvZiB0aGUgY29udGFpbmVyIG9mIHRoZSB0cmlnZ2VyIGRlZmluaXRpb24gYW5kIHJldHVybnMgd2hldGhlciBvciBub3QgdGhlIHRyaWdnZXIgZmlyZXMuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgY2FuIGJlIG9ubHkgYmUgc3BlY2lmaWVkIGZvciBkYXRhIHR5cGUgdHJpZ2dlcnMgYW5kIHByb3ZpZGVzIGFkZGl0aW9uYWwgc2VtYW50aWNzIGZvciB0aGUgdHJpZ2dlci4gVGhlIGNvbnRleHQgYXZhaWxhYmxlIHdpdGhpbiB0aGUgY29uZGl0aW9uIGlzIGJhc2VkIG9uIHRoZSB0eXBlIG9mIGRhdGEgZXZlbnQuIEZvciBhbGwgZXZlbnRzLCB0aGUgY3VycmVudCByZXNvdXJjZSB3aWxsIGJlIGF2YWlsYWJsZSBhcyBjb250ZXh0LiBJbiBhZGRpdGlvbiwgZm9yIG1vZGlmaWNhdGlvbiBldmVudHMsIHRoZSBwcmV2aW91cyByZXNvdXJjZSB3aWxsIGFsc28gYmUgYXZhaWxhYmxlLiBUaGUgZXhwcmVzc2lvbiBtYXkgYmUgaW5saW5lZCwgb3IgbWF5IGJlIGEgc2ltcGxlIGFic29sdXRlIFVSSSwgd2hpY2ggaXMgYSByZWZlcmVuY2UgdG8gYSBuYW1lZCBleHByZXNzaW9uIHdpdGhpbiBhIGxvZ2ljIGxpYnJhcnkgcmVmZXJlbmNlZCBieSBhIGxpYnJhcnkgZWxlbWVudCBvciBleHRlbnNpb24gd2l0aGluIHRoZSBjb250YWluaW5nIHJlc291cmNlLiBJZiB0aGUgZXhwcmVzc2lvbiBpcyBhIEZISVIgUGF0aCBleHByZXNzaW9uLCBpdCBldmFsdWF0ZXMgaW4gdGhlIGNvbnRleHQgb2YgYSByZXNvdXJjZSBvZiBvbmUgb2YgdGhlIHR5cGUgaWRlbnRpZmllZCBpbiB0aGUgZGF0YSByZXF1aXJlbWVudCwgYW5kIG1heSBhbHNvIHJlZmVyIHRvIHRoZSB2YXJpYWJsZSAlcHJldmlvdXMgZm9yIGRlbHRhIGNvbXBhcmlzb25zIG9uIGV2ZW50cyBvZiB0eXBlIGRhdGEtY2hhbmdlZCwgZGF0YS1tb2RpZmllZCwgYW5kIGRhdGEtZGVsZXRlZCB3aGljaCB3aWxsIGFsd2F5cyBoYXZlIHRoZSBzYW1lIHR5cGUuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJUcmlnZ2VyVHlwZSIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJVRElFbnRyeVR5cGUiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlQk1JUHJvZmlsZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vdXMtY29yZS1ibWkiIGxhYmVsPSJVUyBDb3JlIEJNSSBQcm9maWxlIiB0YXJnZXQ9Ik9ic2VydmF0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IkZ1bGZpbGxzIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIiBkZWZpbml0aW9uPSJBIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBldmVudC4gIEZvciBleGFtcGxlLCBhIE1lZGljYXRpb25SZXF1ZXN0IG1heSByZXF1aXJlIGEgcGF0aWVudCB0byBoYXZlIGxhYm9yYXRvcnkgdGVzdCBwZXJmb3JtZWQgYmVmb3JlICBpdCBpcyBkaXNwZW5zZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iUGFydCBvZiByZWZlcmVuY2VkIGV2ZW50IiBkZWZpbml0aW9uPSJBIGxhcmdlciBldmVudCBvZiB3aGljaCB0aGlzIHBhcnRpY3VsYXIgT2JzZXJ2YXRpb24gaXMgYSBjb21wb25lbnQgb3Igc3RlcC4gIEZvciBleGFtcGxlLCAgYW4gb2JzZXJ2YXRpb24gYXMgcGFydCBvZiBhIHByb2NlZHVyZS4iIGNvbW1lbnQ9IlRvIGxpbmsgYW4gT2JzZXJ2YXRpb24gdG8gYW4gRW5jb3VudGVyIHVzZSBgZW5jb3VudGVyYC4gIFNlZSB0aGUgIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdyBmb3IgZ3VpZGFuY2Ugb24gcmVmZXJlbmNpbmcgYW5vdGhlciBPYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihVU0NESSkgcmVnaXN0ZXJlZCB8IHByZWxpbWluYXJ5IHwgZmluYWwgfCBhbWVuZGVkICsiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHJlc3VsdCB2YWx1ZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU3RhdHVzIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iVlNDYXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXBhcmVudC5jYXRlZ29yeVtjb2Rpbmcuc3lzdGVtPSdodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL29ic2VydmF0aW9uLWNhdGVnb3J5Jyxjb2RpbmcuY29kZT0ndml0YWwtc2lnbnMnXSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENvZGVkIFJlc3BvbnNlcyBmcm9tIEMtQ0RBIFZpdGFsIFNpZ24gUmVzdWx0cyIgZGVmaW5pdGlvbj0iQ29kZWQgUmVzcG9uc2VzIGZyb20gQy1DREEgVml0YWwgU2lnbiBSZXN1bHRzLiIgY29tbWVudD0iKkFsbCogY29kZS12YWx1ZSBhbmQsIGlmIHByZXNlbnQsIGNvbXBvbmVudC5jb2RlLWNvbXBvbmVudC52YWx1ZSBwYWlycyBuZWVkIHRvIGJlIHRha2VuIGludG8gYWNjb3VudCB0byBjb3JyZWN0bHkgdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGUgdml0YWwgc2lnbiBjb2RlcyBmcm9tIHRoZSBiYXNlIEZISVIgYW5kIFVTIENvcmUgVml0YWwgU2lnbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihVU0NESSkgV2hvIGFuZC9vciB3aGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCIgZGVmaW5pdGlvbj0iVGhlIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIHRoaXMgb2JzZXJ2YXRpb24gaXMgYWJvdXQgYW5kIGludG8gd2hvc2UgcmVjb3JkIHRoZSBvYnNlcnZhdGlvbiBpcyBwbGFjZWQuIElmIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBzdWJqZWN0IChvciBhIHNhbXBsZSBvZiwgcGFydCwgb3IgcmVnaW9uIG9mIHRoZSBzdWJqZWN0KSwgdGhlIGBmb2N1c2AgZWxlbWVudCBvciB0aGUgYGNvZGVgIGl0c2VsZiBzcGVjaWZpZXMgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmUgd291bGQgZXhwZWN0IHRoaXMgZWxlbWVudCB0byBiZSBhIGNhcmRpbmFsaXR5IG9mIDEuLjEuIFRoZSBvbmx5IGNpcmN1bXN0YW5jZSBpbiB3aGljaCB0aGUgc3ViamVjdCBjYW4gYmUgbWlzc2luZyBpcyB3aGVuIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGJ5IGEgZGV2aWNlIHRoYXQgZG9lcyBub3Qga25vdyB0aGUgcGF0aWVudC4gSW4gdGhpcyBjYXNlLCB0aGUgb2JzZXJ2YXRpb24gU0hBTEwgYmUgbWF0Y2hlZCB0byBhIHBhdGllbnQgdGhyb3VnaCBzb21lIGNvbnRleHQvY2hhbm5lbCBtYXRjaGluZyB0ZWNobmlxdWUsIGFuZCBhdCB0aGlzIHBvaW50LCB0aGUgb2JzZXJ2YXRpb24gc2hvdWxkIGJlIHVwZGF0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZvY3VzIiBkZXNjcmlwdGlvbj0iV2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQsIHdoZW4gaXQgaXMgbm90IGFib3V0IHRoZSBzdWJqZWN0IG9mIHJlY29yZCIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiB3aGVuIGl0IGlzIG5vdCB0aGUgcGF0aWVudCBvZiByZWNvcmQgcmVwcmVzZW50aW5nIHNvbWV0aGluZyBvciBzb21lb25lIGFzc29jaWF0ZWQgd2l0aCB0aGUgcGF0aWVudCBzdWNoIGFzIGEgc3BvdXNlLCBwYXJlbnQsIGZldHVzLCBvciBkb25vci4gRm9yIGV4YW1wbGUsIGZldHVzIG9ic2VydmF0aW9ucyBpbiBhIG1vdGhlcidzIHJlY29yZC4gIFRoZSBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiBjb3VsZCBhbHNvIGJlIGFuIGV4aXN0aW5nIGNvbmRpdGlvbiwgIGFuIGludGVydmVudGlvbiwgdGhlIHN1YmplY3QncyBkaWV0LCAgYW5vdGhlciBvYnNlcnZhdGlvbiBvZiB0aGUgc3ViamVjdCwgIG9yIGEgYm9keSBzdHJ1Y3R1cmUgc3VjaCBhcyB0dW1vciBvciBpbXBsYW50ZWQgZGV2aWNlLiAgIEFuIGV4YW1wbGUgdXNlIGNhc2Ugd291bGQgYmUgdXNpbmcgdGhlIE9ic2VydmF0aW9uIHJlc291cmNlIHRvIGNhcHR1cmUgd2hldGhlciB0aGUgbW90aGVyIGlzIHRyYWluZWQgdG8gY2hhbmdlIGhlciBjaGlsZCdzIHRyYWNoZW9zdG9teSB0dWJlLiBJbiB0aGlzIGV4YW1wbGUsIHRoZSBjaGlsZCBpcyB0aGUgcGF0aWVudCBvZiByZWNvcmQgYW5kIHRoZSBtb3RoZXIgaXMgdGhlIGZvY3VzLiIgY29tbWVudD0iVHlwaWNhbGx5LCBhbiBvYnNlcnZhdGlvbiBpcyBtYWRlIGFib3V0IHRoZSBzdWJqZWN0IC0gYSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSAtIGFuZCB0aGUgZGlzdGluY3Rpb24gYmV0d2VlbiB0aGUgc3ViamVjdCBhbmQgd2hhdCBpcyBkaXJlY3RseSBtZWFzdXJlZCBmb3IgYW4gb2JzZXJ2YXRpb24gaXMgc3BlY2lmaWVkIGluIHRoZSBvYnNlcnZhdGlvbiBjb2RlIGl0c2VsZiAoIGUuZy4sICZxdW90O0Jsb29kIEdsdWNvc2UmcXVvdDspIGFuZCBkb2VzIG5vdCBuZWVkIHRvIGJlIHJlcHJlc2VudGVkIHNlcGFyYXRlbHkgdXNpbmcgdGhpcyBlbGVtZW50LiAgVXNlIGBzcGVjaW1lbmAgaWYgYSByZWZlcmVuY2UgdG8gYSBzcGVjaW1lbiBpcyByZXF1aXJlZC4gIElmIGEgY29kZSBpcyByZXF1aXJlZCBpbnN0ZWFkIG9mIGEgcmVzb3VyY2UgdXNlIGVpdGhlciAgYGJvZHlzaXRlYCBmb3IgYm9keXNpdGVzIG9yIHRoZSBzdGFuZGFyZCBleHRlbnNpb24gW2ZvY3VzQ29kZV0oaHR0cDovL2hsNy5vcmcvZmhpci9leHRlbnNpb24tb2JzZXJ2YXRpb24tZm9jdXNjb2RlLmh0bWwpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJIZWFsdGhjYXJlIGV2ZW50IGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUiIGRlZmluaXRpb249IlRoZSBoZWFsdGhjYXJlIGV2ZW50ICAoZS5nLiBhIHBhdGllbnQgYW5kIGhlYWx0aGNhcmUgcHJvdmlkZXIgaW50ZXJhY3Rpb24pIGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgZXZlbnRzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIgKGUuZy4gcHJlLWFkbWlzc2lvbiBsYWJvcmF0b3J5IHRlc3RzKS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zIiBkZWZpbml0aW9uPSJPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zLiIgY29tbWVudD0iQXQgbGVhc3QgYSBkYXRlIHNob3VsZCBiZSBwcmVzZW50IHVubGVzcyB0aGlzIG9ic2VydmF0aW9uIGlzIGEgaGlzdG9yaWNhbCByZXBvcnQuICBGb3IgcmVjb3JkaW5nIGltcHJlY2lzZSBvciAmcXVvdDtmdXp6eSZxdW90OyB0aW1lcyAoRm9yIGV4YW1wbGUsIGEgYmxvb2QgZ2x1Y29zZSBtZWFzdXJlbWVudCB0YWtlbiAmcXVvdDthZnRlciBicmVha2Zhc3QmcXVvdDspIHVzZSB0aGUgW1RpbWluZ10oaHR0cDovL2hsNy5vcmcvZmhpci9kYXRhdHlwZXMuaHRtbCN0aW1pbmcpIGRhdGF0eXBlIHdoaWNoIGFsbG93IHRoZSBtZWFzdXJlbWVudCB0byBiZSB0aWVkIHRvIHJlZ3VsYXIgbGlmZSBldmVudHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTEiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iaWYgT2JzZXJ2YXRpb24uZWZmZWN0aXZlW3hdIGlzIGRhdGVUaW1lIGFuZCBoYXMgYSB2YWx1ZSB0aGVuIHRoYXQgdmFsdWUgc2hhbGwgYmUgcHJlY2lzZSB0byB0aGUgZGF5Ij4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIoJHRoaXMgYXMgZGF0ZVRpbWUpLnRvU3RyaW5nKCkubGVuZ3RoKCkgJmd0Oz0gOCIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imlzc3VlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEYXRlL1RpbWUgdGhpcyB2ZXJzaW9uIHdhcyBtYWRlIGF2YWlsYWJsZSIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgYW5kIHRpbWUgdGhpcyB2ZXJzaW9uIG9mIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSBhdmFpbGFibGUgdG8gcHJvdmlkZXJzLCB0eXBpY2FsbHkgYWZ0ZXIgdGhlIHJlc3VsdHMgaGF2ZSBiZWVuIHJldmlld2VkIGFuZCB2ZXJpZmllZC4iIGNvbW1lbnQ9IkZvciBPYnNlcnZhdGlvbnMgdGhhdCBkb27igJl0IHJlcXVpcmUgcmV2aWV3IGFuZCB2ZXJpZmljYXRpb24sIGl0IG1heSBiZSB0aGUgc2FtZSBhcyB0aGUgW2BsYXN0VXBkYXRlZGAgXShodHRwOi8vaGw3Lm9yZy9maGlyL3Jlc291cmNlLWRlZmluaXRpb25zLmh0bWwjTWV0YS5sYXN0VXBkYXRlZCkgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmLiAgRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvIHJlcXVpcmUgcmV2aWV3IGFuZCB2ZXJpZmljYXRpb24gZm9yIGNlcnRhaW4gdXBkYXRlcywgaXQgbWlnaHQgbm90IGJlIHRoZSBzYW1lIGFzIHRoZSBgbGFzdFVwZGF0ZWRgIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZiBkdWUgdG8gYSBub24tY2xpbmljYWxseSBzaWduaWZpY2FudCB1cGRhdGUgdGhhdCBkb2VzbuKAmXQgcmVxdWlyZSB0aGUgbmV3IHZlcnNpb24gdG8gYmUgcmV2aWV3ZWQgYW5kIHZlcmlmaWVkIGFnYWluLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IldobyBpcyByZXNwb25zaWJsZSBmb3IgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJXaG8gd2FzIHJlc3BvbnNpYmxlIGZvciBhc3NlcnRpbmcgdGhlIG9ic2VydmVkIHZhbHVlIGFzICZxdW90O3RydWUmcXVvdDsuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBWaXRhbCBTaWducyBWYWx1ZSIgZGVmaW5pdGlvbj0iVml0YWwgU2lnbnMgdmFsdWUgYXJlIHR5cGljYWxseSByZWNvcmRlZCB1c2luZyB0aGUgUXVhbnRpdHkgZGF0YSB0eXBlLiIgY29tbWVudD0iQW4gb2JzZXJ2YXRpb24gbWF5IGhhdmU7IDEpICBhIHNpbmdsZSB2YWx1ZSBoZXJlLCAyKSAgYm90aCBhIHZhbHVlIGFuZCBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMsICBvciAzKSAgb25seSBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMuIElmIGEgdmFsdWUgaXMgcHJlc2VudCwgdGhlIGRhdGF0eXBlIGZvciB0aGlzIGVsZW1lbnQgc2hvdWxkIGJlIGRldGVybWluZWQgYnkgT2JzZXJ2YXRpb24uY29kZS4gIEEgQ29kZWFibGVDb25jZXB0IHdpdGgganVzdCBhIHRleHQgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGlmIHRoZSBmaWVsZCB3YXMgdXN1YWxseSBjb2RlZCwgb3IgaWYgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBPYnNlcnZhdGlvbi5jb2RlIGRlZmluZXMgYSBjb2RlZCB2YWx1ZS4gIEZvciBhZGRpdGlvbmFsIGd1aWRhbmNlLCBzZWUgdGhlIFtOb3RlcyBzZWN0aW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQ29tbW9uIFVDVU0gdW5pdHMgZm9yIHJlY29yZGluZyBWaXRhbCBTaWducy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGFBYnNlbnRSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgV2h5IHRoZSByZXN1bHQgaXMgbWlzc2luZyIgZGVmaW5pdGlvbj0iUHJvdmlkZXMgYSByZWFzb24gd2h5IHRoZSBleHBlY3RlZCB2YWx1ZSBpbiB0aGUgZWxlbWVudCBPYnNlcnZhdGlvbi52YWx1ZVt4XSBpcyBtaXNzaW5nLiIgY29tbWVudD0iTnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMgY2FuIGJlIHJlcHJlc2VudGVkIHR3byB3YXlzIGluIEZISVIgT2JzZXJ2YXRpb25zLiAgT25lIHdheSBpcyB0byBzaW1wbHkgaW5jbHVkZSB0aGVtIGluIHRoZSB2YWx1ZSBzZXQgYW5kIHJlcHJlc2VudCB0aGUgZXhjZXB0aW9ucyBpbiB0aGUgdmFsdWUuICBGb3IgZXhhbXBsZSwgbWVhc3VyZW1lbnQgdmFsdWVzIGZvciBhIHNlcm9sb2d5IHRlc3QgY291bGQgYmUgICZxdW90O2RldGVjdGVkJnF1b3Q7LCAmcXVvdDtub3QgZGV0ZWN0ZWQmcXVvdDssICZxdW90O2luY29uY2x1c2l2ZSZxdW90Oywgb3IgICZxdW90O3NwZWNpbWVuIHVuc2F0aXNmYWN0b3J5JnF1b3Q7LiAgICYjMTA7JiMxMDtUaGUgYWx0ZXJuYXRlIHdheSBpcyB0byB1c2UgdGhlIHZhbHVlIGVsZW1lbnQgZm9yIGFjdHVhbCBvYnNlcnZhdGlvbnMgYW5kIHVzZSB0aGUgZXhwbGljaXQgZGF0YUFic2VudFJlYXNvbiBlbGVtZW50IHRvIHJlY29yZCBleGNlcHRpb25hbCB2YWx1ZXMuICBGb3IgZXhhbXBsZSwgdGhlIGRhdGFBYnNlbnRSZWFzb24gY29kZSAmcXVvdDtlcnJvciZxdW90OyBjb3VsZCBiZSB1c2VkIHdoZW4gdGhlIG1lYXN1cmVtZW50IHdhcyBub3QgY29tcGxldGVkLiBOb3RlIHRoYXQgYW4gb2JzZXJ2YXRpb24gbWF5IG9ubHkgYmUgcmVwb3J0ZWQgaWYgdGhlcmUgYXJlIHZhbHVlcyB0byByZXBvcnQuIEZvciBleGFtcGxlIGRpZmZlcmVudGlhbCBjZWxsIGNvdW50cyB2YWx1ZXMgbWF5IGJlIHJlcG9ydGVkIG9ubHkgd2hlbiAmZ3Q7IDAuICBCZWNhdXNlIG9mIHRoZXNlIG9wdGlvbnMsIHVzZS1jYXNlIGFncmVlbWVudHMgYXJlIHJlcXVpcmVkIHRvIGludGVycHJldCBnZW5lcmFsIG9ic2VydmF0aW9ucyBmb3IgbnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uVmFsdWVBYnNlbnRSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBzcGVjaWZ5aW5nIHdoeSB0aGUgcmVzdWx0IChgT2JzZXJ2YXRpb24udmFsdWVbeF1gKSBpcyBtaXNzaW5nLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZXJwcmV0YXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIaWdoLCBsb3csIG5vcm1hbCwgZXRjLiIgZGVmaW5pdGlvbj0iQSBjYXRlZ29yaWNhbCBhc3Nlc3NtZW50IG9mIGFuIG9ic2VydmF0aW9uIHZhbHVlLiAgRm9yIGV4YW1wbGUsIGhpZ2gsIGxvdywgbm9ybWFsLiIgY29tbWVudD0iSGlzdG9yaWNhbGx5IHVzZWQgZm9yIGxhYm9yYXRvcnkgcmVzdWx0cyAoa25vd24gYXMgJ2Fibm9ybWFsIGZsYWcnICksICBpdHMgdXNlIGV4dGVuZHMgdG8gb3RoZXIgdXNlIGNhc2VzIHdoZXJlIGNvZGVkIGludGVycHJldGF0aW9ucyAgYXJlIHJlbGV2YW50LiAgT2Z0ZW4gcmVwb3J0ZWQgYXMgb25lIG9yIG1vcmUgc2ltcGxlIGNvbXBhY3QgY29kZXMgdGhpcyBlbGVtZW50IGlzIG9mdGVuIHBsYWNlZCBhZGphY2VudCB0byB0aGUgcmVzdWx0IHZhbHVlIGluIHJlcG9ydHMgYW5kIGZsb3cgc2hlZXRzIHRvIHNpZ25hbCB0aGUgbWVhbmluZy9ub3JtYWxjeSBzdGF0dXMgb2YgdGhlIHJlc3VsdC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25JbnRlcnByZXRhdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIGludGVycHJldGF0aW9ucyBvZiBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24gb3IgdGhlIHJlc3VsdHMuIiBjb21tZW50PSJNYXkgaW5jbHVkZSBnZW5lcmFsIHN0YXRlbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uLCBvciBzdGF0ZW1lbnRzIGFib3V0IHNpZ25pZmljYW50LCB1bmV4cGVjdGVkIG9yIHVucmVsaWFibGUgcmVzdWx0cyB2YWx1ZXMsIG9yIGluZm9ybWF0aW9uIGFib3V0IGl0cyBzb3VyY2Ugd2hlbiByZWxldmFudCB0byBpdHMgaW50ZXJwcmV0YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPYnNlcnZlZCBib2R5IHBhcnQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc2l0ZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgd2hlcmUgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIChpLmUuIHRoZSB0YXJnZXQgc2l0ZSkuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gT2JzZXJ2YXRpb24uY29kZS4gIEluIG1hbnkgc3lzdGVtcywgdGhpcyBtYXkgYmUgcmVwcmVzZW50ZWQgYXMgYSByZWxhdGVkIG9ic2VydmF0aW9uIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvbXBvbmVudC4gICAmIzEwOyYjMTA7SWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvblsgYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IGl0IHdhcyBkb25lIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIG1lY2hhbmlzbSB1c2VkIHRvIHBlcmZvcm0gdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvciBPYnNlcnZhdGlvbi5jb2RlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uTWV0aG9kIiBkZXNjcmlwdGlvbj0iTWV0aG9kcyBmb3Igc2ltcGxlIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpbWVuIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlNwZWNpbWVuIHVzZWQgZm9yIHRoaXMgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSBzcGVjaW1lbiB0aGF0IHdhcyB1c2VkIHdoZW4gdGhpcyBvYnNlcnZhdGlvbiB3YXMgbWFkZS4iIGNvbW1lbnQ9IlNob3VsZCBvbmx5IGJlIHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gYE9ic2VydmF0aW9uLmNvZGVgLiAgT2JzZXJ2YXRpb25zIGFyZSBub3QgbWFkZSBvbiBzcGVjaW1lbnMgdGhlbXNlbHZlczsgdGhleSBhcmUgbWFkZSBvbiBhIHN1YmplY3QsIGJ1dCBpbiBtYW55IGNhc2VzIGJ5IHRoZSBtZWFucyBvZiBhIHNwZWNpbWVuLiBOb3RlIHRoYXQgYWx0aG91Z2ggc3BlY2ltZW5zIGFyZSBvZnRlbiBpbnZvbHZlZCwgdGhleSBhcmUgbm90IGFsd2F5cyB0cmFja2VkIGFuZCByZXBvcnRlZCBleHBsaWNpdGx5LiBBbHNvIG5vdGUgdGhhdCBvYnNlcnZhdGlvbiByZXNvdXJjZXMgbWF5IGJlIHVzZWQgaW4gY29udGV4dHMgdGhhdCB0cmFjayB0aGUgc3BlY2ltZW4gZXhwbGljaXRseSAoZS5nLiBEaWFnbm9zdGljIFJlcG9ydCkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihNZWFzdXJlbWVudCkgRGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIG9ic2VydmF0aW9uIGRhdGEuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBpcyBub3QgbWVhbnQgdG8gcmVwcmVzZW50IGEgZGV2aWNlIGludm9sdmVkIGluIHRoZSB0cmFuc21pc3Npb24gb2YgdGhlIHJlc3VsdCwgZS5nLiwgYSBnYXRld2F5LiAgU3VjaCBkZXZpY2VzIG1heSBiZSBkb2N1bWVudGVkIHVzaW5nIHRoZSBQcm92ZW5hbmNlIHJlc291cmNlIHdoZXJlIHJlbGV2YW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIiBkZWZpbml0aW9uPSJHdWlkYW5jZSBvbiBob3cgdG8gaW50ZXJwcmV0IHRoZSB2YWx1ZSBieSBjb21wYXJpc29uIHRvIGEgbm9ybWFsIG9yIHJlY29tbWVuZGVkIHJhbmdlLiAgTXVsdGlwbGUgcmVmZXJlbmNlIHJhbmdlcyBhcmUgaW50ZXJwcmV0ZWQgYXMgYW4gJnF1b3Q7T1ImcXVvdDsuICAgSW4gb3RoZXIgd29yZHMsIHRvIHJlcHJlc2VudCB0d28gZGlzdGluY3QgdGFyZ2V0IHBvcHVsYXRpb25zLCB0d28gYHJlZmVyZW5jZVJhbmdlYCBlbGVtZW50cyB3b3VsZCBiZSB1c2VkLiIgY29tbWVudD0iTW9zdCBvYnNlcnZhdGlvbnMgb25seSBoYXZlIG9uZSBnZW5lcmljIHJlZmVyZW5jZSByYW5nZS4gU3lzdGVtcyBNQVkgY2hvb3NlIHRvIHJlc3RyaWN0IHRvIG9ubHkgc3VwcGx5aW5nIHRoZSByZWxldmFudCByZWZlcmVuY2UgcmFuZ2UgYmFzZWQgb24ga25vd2xlZGdlIGFib3V0IHRoZSBwYXRpZW50IChlLmcuLCBzcGVjaWZpYyB0byB0aGUgcGF0aWVudCdzIGFnZSwgZ2VuZGVyLCB3ZWlnaHQgYW5kIG90aGVyIGZhY3RvcnMpLCBidXQgdGhpcyBtaWdodCBub3QgYmUgcG9zc2libGUgb3IgYXBwcm9wcmlhdGUuIFdoZW5ldmVyIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIHJhbmdlIGlzIHN1cHBsaWVkLCB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGVtIFNIT1VMRCBiZSBwcm92aWRlZCBpbiB0aGUgcmVmZXJlbmNlIHJhbmdlIGFuZC9vciBhZ2UgcHJvcGVydGllcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIi8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Im9icy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik11c3QgaGF2ZSBhdCBsZWFzdCBhIGxvdyBvciBhIGhpZ2ggb3IgdGV4dCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0ibG93LmV4aXN0cygpIG9yIGhpZ2guZXhpc3RzKCkgb3IgdGV4dC5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imhhc01lbWJlciIgZGVzY3JpcHRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cyIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyB2aXRhbCBzaWducyBwYW5lbCBjb21wb25lbnRzLiIgY29tbWVudD0iV2hlbiB1c2luZyB0aGlzIGVsZW1lbnQsIGFuIG9ic2VydmF0aW9uIHdpbGwgdHlwaWNhbGx5IGhhdmUgZWl0aGVyIGEgdmFsdWUgb3IgYSBzZXQgb2YgcmVsYXRlZCByZXNvdXJjZXMsIGFsdGhvdWdoIGJvdGggbWF5IGJlIHByZXNlbnQgaW4gc29tZSBjYXNlcy4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiAgTm90ZSB0aGF0IGEgc3lzdGVtIG1heSBjYWxjdWxhdGUgcmVzdWx0cyBmcm9tIFtRdWVzdGlvbm5haXJlUmVzcG9uc2VdKGh0dHA6Ly9obDcub3JnL2ZoaXIvcXVlc3Rpb25uYWlyZXJlc3BvbnNlLmh0bWwpICBpbnRvIGEgZmluYWwgc2NvcmUgYW5kIHJlcHJlc2VudCB0aGUgc2NvcmUgYXMgYW4gT2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIG1lYXN1cmVtZW50cyB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIG1lYXN1cmVtZW50IGZyb20gd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiB2YWx1ZSBpcyBkZXJpdmVkLiBGb3IgZXhhbXBsZSwgYSBjYWxjdWxhdGVkIGFuaW9uIGdhcCBvciBhIGZldGFsIG1lYXN1cmVtZW50IGJhc2VkIG9uIGFuIHVsdHJhc291bmQgaW1hZ2UuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbXBvbmVudCIgZGVzY3JpcHRpb249IihVU0NESSkgQ29tcG9uZW50IG9ic2VydmF0aW9ucyIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyBjb21wb25lbnQgb2JzZXJ2YXRpb24gc3VjaCBhcyBzeXN0b2xpYyBhbmQgZGlhc3RvbGljIGJsb29kIHByZXNzdXJlLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5Db21wb25lbnQiLz4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSBpcyBubyBhIHZhbHVlIGEgZGF0YSBhYnNlbnQgcmVhc29uIG11c3QgYmUgcHJlc2VudCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0idmFsdWUuZXhpc3RzKCkgb3IgZGF0YUFic2VudFJlYXNvbi5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlQmlydGhTZXhFeHRlbnNpb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtYmlydGhzZXgiIGxhYmVsPSJVUyBDb3JlIEJpcnRoIFNleCBFeHRlbnNpb24iIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlQmxvb2RQcmVzc3VyZVByb2ZpbGUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtYmxvb2QtcHJlc3N1cmUiIGxhYmVsPSJVUyBDb3JlIEJsb29kIFByZXNzdXJlIFByb2ZpbGUiIHRhcmdldD0iT2JzZXJ2YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBJZGVudGlmaWVyIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIG9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBPYnNlcnZhdGlvbiBpcyBhIGNvbXBvbmVudCBvciBzdGVwLiAgRm9yIGV4YW1wbGUsICBhbiBvYnNlcnZhdGlvbiBhcyBwYXJ0IG9mIGEgcHJvY2VkdXJlLiIgY29tbWVudD0iVG8gbGluayBhbiBPYnNlcnZhdGlvbiB0byBhbiBFbmNvdW50ZXIgdXNlIGBlbmNvdW50ZXJgLiAgU2VlIHRoZSAgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93IGZvciBndWlkYW5jZSBvbiByZWZlcmVuY2luZyBhbm90aGVyIE9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5TdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSByZWdpc3RlcmVkIHwgcHJlbGltaW5hcnkgfCBmaW5hbCB8IGFtZW5kZWQgKyIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzdWx0IHZhbHVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJTdGF0dXMiIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJWU0NhdCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCglcGFyZW50LmNhdGVnb3J5W2NvZGluZy5zeXN0ZW09J2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vb2JzZXJ2YXRpb24tY2F0ZWdvcnknLGNvZGluZy5jb2RlPSd2aXRhbC1zaWducyddKSIgZGVzY3JpcHRpb249IihVU0NESSkgQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgQmxvb2QgUHJlc3N1cmUiIGRlZmluaXRpb249IkNvZGVkIFJlc3BvbnNlcyBmcm9tIEMtQ0RBIFZpdGFsIFNpZ24gUmVzdWx0cy4iIGNvbW1lbnQ9IipBbGwqIGNvZGUtdmFsdWUgYW5kLCBpZiBwcmVzZW50LCBjb21wb25lbnQuY29kZS1jb21wb25lbnQudmFsdWUgcGFpcnMgbmVlZCB0byBiZSB0YWtlbiBpbnRvIGFjY291bnQgdG8gY29ycmVjdGx5IHVuZGVyc3RhbmQgdGhlIG1lYW5pbmcgb2YgdGhlIG9ic2VydmF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhlIHZpdGFsIHNpZ24gY29kZXMgZnJvbSB0aGUgYmFzZSBGSElSIGFuZCBVUyBDb3JlIFZpdGFsIFNpZ25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFdobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmb2N1cyIgZGVzY3JpcHRpb249IldoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0LCB3aGVuIGl0IGlzIG5vdCBhYm91dCB0aGUgc3ViamVjdCBvZiByZWNvcmQiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gd2hlbiBpdCBpcyBub3QgdGhlIHBhdGllbnQgb2YgcmVjb3JkIHJlcHJlc2VudGluZyBzb21ldGhpbmcgb3Igc29tZW9uZSBhc3NvY2lhdGVkIHdpdGggdGhlIHBhdGllbnQgc3VjaCBhcyBhIHNwb3VzZSwgcGFyZW50LCBmZXR1cywgb3IgZG9ub3IuIEZvciBleGFtcGxlLCBmZXR1cyBvYnNlcnZhdGlvbnMgaW4gYSBtb3RoZXIncyByZWNvcmQuICBUaGUgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gY291bGQgYWxzbyBiZSBhbiBleGlzdGluZyBjb25kaXRpb24sICBhbiBpbnRlcnZlbnRpb24sIHRoZSBzdWJqZWN0J3MgZGlldCwgIGFub3RoZXIgb2JzZXJ2YXRpb24gb2YgdGhlIHN1YmplY3QsICBvciBhIGJvZHkgc3RydWN0dXJlIHN1Y2ggYXMgdHVtb3Igb3IgaW1wbGFudGVkIGRldmljZS4gICBBbiBleGFtcGxlIHVzZSBjYXNlIHdvdWxkIGJlIHVzaW5nIHRoZSBPYnNlcnZhdGlvbiByZXNvdXJjZSB0byBjYXB0dXJlIHdoZXRoZXIgdGhlIG1vdGhlciBpcyB0cmFpbmVkIHRvIGNoYW5nZSBoZXIgY2hpbGQncyB0cmFjaGVvc3RvbXkgdHViZS4gSW4gdGhpcyBleGFtcGxlLCB0aGUgY2hpbGQgaXMgdGhlIHBhdGllbnQgb2YgcmVjb3JkIGFuZCB0aGUgbW90aGVyIGlzIHRoZSBmb2N1cy4iIGNvbW1lbnQ9IlR5cGljYWxseSwgYW4gb2JzZXJ2YXRpb24gaXMgbWFkZSBhYm91dCB0aGUgc3ViamVjdCAtIGEgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgLSBhbmQgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhlIHN1YmplY3QgYW5kIHdoYXQgaXMgZGlyZWN0bHkgbWVhc3VyZWQgZm9yIGFuIG9ic2VydmF0aW9uIGlzIHNwZWNpZmllZCBpbiB0aGUgb2JzZXJ2YXRpb24gY29kZSBpdHNlbGYgKCBlLmcuLCAmcXVvdDtCbG9vZCBHbHVjb3NlJnF1b3Q7KSBhbmQgZG9lcyBub3QgbmVlZCB0byBiZSByZXByZXNlbnRlZCBzZXBhcmF0ZWx5IHVzaW5nIHRoaXMgZWxlbWVudC4gIFVzZSBgc3BlY2ltZW5gIGlmIGEgcmVmZXJlbmNlIHRvIGEgc3BlY2ltZW4gaXMgcmVxdWlyZWQuICBJZiBhIGNvZGUgaXMgcmVxdWlyZWQgaW5zdGVhZCBvZiBhIHJlc291cmNlIHVzZSBlaXRoZXIgIGBib2R5c2l0ZWAgZm9yIGJvZHlzaXRlcyBvciB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtmb2N1c0NvZGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLW9ic2VydmF0aW9uLWZvY3VzY29kZS5odG1sKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgT2Z0ZW4ganVzdCBhIGRhdGVUaW1lIGZvciBWaXRhbCBTaWducyIgZGVmaW5pdGlvbj0iT2Z0ZW4ganVzdCBhIGRhdGVUaW1lIGZvciBWaXRhbCBTaWducy4iIGNvbW1lbnQ9IkF0IGxlYXN0IGEgZGF0ZSBzaG91bGQgYmUgcHJlc2VudCB1bmxlc3MgdGhpcyBvYnNlcnZhdGlvbiBpcyBhIGhpc3RvcmljYWwgcmVwb3J0LiAgRm9yIHJlY29yZGluZyBpbXByZWNpc2Ugb3IgJnF1b3Q7ZnV6enkmcXVvdDsgdGltZXMgKEZvciBleGFtcGxlLCBhIGJsb29kIGdsdWNvc2UgbWVhc3VyZW1lbnQgdGFrZW4gJnF1b3Q7YWZ0ZXIgYnJlYWtmYXN0JnF1b3Q7KSB1c2UgdGhlIFtUaW1pbmddKGh0dHA6Ly9obDcub3JnL2ZoaXIvZGF0YXR5cGVzLmh0bWwjdGltaW5nKSBkYXRhdHlwZSB3aGljaCBhbGxvdyB0aGUgbWVhc3VyZW1lbnQgdG8gYmUgdGllZCB0byByZWd1bGFyIGxpZmUgZXZlbnRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ2cy0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9ImlmIE9ic2VydmF0aW9uLmVmZmVjdGl2ZVt4XSBpcyBkYXRlVGltZSBhbmQgaGFzIGEgdmFsdWUgdGhlbiB0aGF0IHZhbHVlIHNoYWxsIGJlIHByZWNpc2UgdG8gdGhlIGRheSI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iKCR0aGlzIGFzIGRhdGVUaW1lKS50b1N0cmluZygpLmxlbmd0aCgpICZndDs9IDgiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJXaG8gaXMgcmVzcG9uc2libGUgZm9yIHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iV2hvIHdhcyByZXNwb25zaWJsZSBmb3IgYXNzZXJ0aW5nIHRoZSBvYnNlcnZlZCB2YWx1ZSBhcyAmcXVvdDt0cnVlJnF1b3Q7LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgVml0YWwgU2lnbnMgVmFsdWUiIGRlZmluaXRpb249IlZpdGFsIFNpZ25zIHZhbHVlIGFyZSB0eXBpY2FsbHkgcmVjb3JkZWQgdXNpbmcgdGhlIFF1YW50aXR5IGRhdGEgdHlwZS4iIGNvbW1lbnQ9IkFuIG9ic2VydmF0aW9uIG1heSBoYXZlOyAxKSAgYSBzaW5nbGUgdmFsdWUgaGVyZSwgMikgIGJvdGggYSB2YWx1ZSBhbmQgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLCAgb3IgMykgIG9ubHkgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLiBJZiBhIHZhbHVlIGlzIHByZXNlbnQsIHRoZSBkYXRhdHlwZSBmb3IgdGhpcyBlbGVtZW50IHNob3VsZCBiZSBkZXRlcm1pbmVkIGJ5IE9ic2VydmF0aW9uLmNvZGUuICBBIENvZGVhYmxlQ29uY2VwdCB3aXRoIGp1c3QgYSB0ZXh0IHdvdWxkIGJlIHVzZWQgaW5zdGVhZCBvZiBhIHN0cmluZyBpZiB0aGUgZmllbGQgd2FzIHVzdWFsbHkgY29kZWQsIG9yIGlmIHRoZSB0eXBlIGFzc29jaWF0ZWQgd2l0aCB0aGUgT2JzZXJ2YXRpb24uY29kZSBkZWZpbmVzIGEgY29kZWQgdmFsdWUuICBGb3IgYWRkaXRpb25hbCBndWlkYW5jZSwgc2VlIHRoZSBbTm90ZXMgc2VjdGlvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJTdHJpbmciLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkJvb2xlYW4iLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkludGVnZXIiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUmF0aW8iLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlNhbXBsZWREYXRhIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJUaW1lIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJDb21tb24gVUNVTSB1bml0cyBmb3IgcmVjb3JkaW5nIFZpdGFsIFNpZ25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YUFic2VudFJlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBXaHkgdGhlIHJlc3VsdCBpcyBtaXNzaW5nIiBkZWZpbml0aW9uPSJQcm92aWRlcyBhIHJlYXNvbiB3aHkgdGhlIGV4cGVjdGVkIHZhbHVlIGluIHRoZSBlbGVtZW50IE9ic2VydmF0aW9uLnZhbHVlW3hdIGlzIG1pc3NpbmcuIiBjb21tZW50PSJOdWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcyBjYW4gYmUgcmVwcmVzZW50ZWQgdHdvIHdheXMgaW4gRkhJUiBPYnNlcnZhdGlvbnMuICBPbmUgd2F5IGlzIHRvIHNpbXBseSBpbmNsdWRlIHRoZW0gaW4gdGhlIHZhbHVlIHNldCBhbmQgcmVwcmVzZW50IHRoZSBleGNlcHRpb25zIGluIHRoZSB2YWx1ZS4gIEZvciBleGFtcGxlLCBtZWFzdXJlbWVudCB2YWx1ZXMgZm9yIGEgc2Vyb2xvZ3kgdGVzdCBjb3VsZCBiZSAgJnF1b3Q7ZGV0ZWN0ZWQmcXVvdDssICZxdW90O25vdCBkZXRlY3RlZCZxdW90OywgJnF1b3Q7aW5jb25jbHVzaXZlJnF1b3Q7LCBvciAgJnF1b3Q7c3BlY2ltZW4gdW5zYXRpc2ZhY3RvcnkmcXVvdDsuICAgJiMxMDsmIzEwO1RoZSBhbHRlcm5hdGUgd2F5IGlzIHRvIHVzZSB0aGUgdmFsdWUgZWxlbWVudCBmb3IgYWN0dWFsIG9ic2VydmF0aW9ucyBhbmQgdXNlIHRoZSBleHBsaWNpdCBkYXRhQWJzZW50UmVhc29uIGVsZW1lbnQgdG8gcmVjb3JkIGV4Y2VwdGlvbmFsIHZhbHVlcy4gIEZvciBleGFtcGxlLCB0aGUgZGF0YUFic2VudFJlYXNvbiBjb2RlICZxdW90O2Vycm9yJnF1b3Q7IGNvdWxkIGJlIHVzZWQgd2hlbiB0aGUgbWVhc3VyZW1lbnQgd2FzIG5vdCBjb21wbGV0ZWQuIE5vdGUgdGhhdCBhbiBvYnNlcnZhdGlvbiBtYXkgb25seSBiZSByZXBvcnRlZCBpZiB0aGVyZSBhcmUgdmFsdWVzIHRvIHJlcG9ydC4gRm9yIGV4YW1wbGUgZGlmZmVyZW50aWFsIGNlbGwgY291bnRzIHZhbHVlcyBtYXkgYmUgcmVwb3J0ZWQgb25seSB3aGVuICZndDsgMC4gIEJlY2F1c2Ugb2YgdGhlc2Ugb3B0aW9ucywgdXNlLWNhc2UgYWdyZWVtZW50cyBhcmUgcmVxdWlyZWQgdG8gaW50ZXJwcmV0IGdlbmVyYWwgb2JzZXJ2YXRpb25zIGZvciBudWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25WYWx1ZUFic2VudFJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIHNwZWNpZnlpbmcgd2h5IHRoZSByZXN1bHQgKGBPYnNlcnZhdGlvbi52YWx1ZVt4XWApIGlzIG1pc3NpbmcuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlcnByZXRhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhpZ2gsIGxvdywgbm9ybWFsLCBldGMuIiBkZWZpbml0aW9uPSJBIGNhdGVnb3JpY2FsIGFzc2Vzc21lbnQgb2YgYW4gb2JzZXJ2YXRpb24gdmFsdWUuICBGb3IgZXhhbXBsZSwgaGlnaCwgbG93LCBub3JtYWwuIiBjb21tZW50PSJIaXN0b3JpY2FsbHkgdXNlZCBmb3IgbGFib3JhdG9yeSByZXN1bHRzIChrbm93biBhcyAnYWJub3JtYWwgZmxhZycgKSwgIGl0cyB1c2UgZXh0ZW5kcyB0byBvdGhlciB1c2UgY2FzZXMgd2hlcmUgY29kZWQgaW50ZXJwcmV0YXRpb25zICBhcmUgcmVsZXZhbnQuICBPZnRlbiByZXBvcnRlZCBhcyBvbmUgb3IgbW9yZSBzaW1wbGUgY29tcGFjdCBjb2RlcyB0aGlzIGVsZW1lbnQgaXMgb2Z0ZW4gcGxhY2VkIGFkamFjZW50IHRvIHRoZSByZXN1bHQgdmFsdWUgaW4gcmVwb3J0cyBhbmQgZmxvdyBzaGVldHMgdG8gc2lnbmFsIHRoZSBtZWFuaW5nL25vcm1hbGN5IHN0YXR1cyBvZiB0aGUgcmVzdWx0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkludGVycHJldGF0aW9uIiBkZXNjcmlwdGlvbj0iQ29kZXMgaWRlbnRpZnlpbmcgaW50ZXJwcmV0YXRpb25zIG9mIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiBvciB0aGUgcmVzdWx0cy4iIGNvbW1lbnQ9Ik1heSBpbmNsdWRlIGdlbmVyYWwgc3RhdGVtZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24sIG9yIHN0YXRlbWVudHMgYWJvdXQgc2lnbmlmaWNhbnQsIHVuZXhwZWN0ZWQgb3IgdW5yZWxpYWJsZSByZXN1bHRzIHZhbHVlcywgb3IgaW5mb3JtYXRpb24gYWJvdXQgaXRzIHNvdXJjZSB3aGVuIHJlbGV2YW50IHRvIGl0cyBpbnRlcnByZXRhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik9ic2VydmVkIGJvZHkgcGFydCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBzaXRlIG9uIHRoZSBzdWJqZWN0J3MgYm9keSB3aGVyZSB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgKGkuZS4gdGhlIHRhcmdldCBzaXRlKS4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBPYnNlcnZhdGlvbi5jb2RlLiAgSW4gbWFueSBzeXN0ZW1zLCB0aGlzIG1heSBiZSByZXByZXNlbnRlZCBhcyBhIHJlbGF0ZWQgb2JzZXJ2YXRpb24gaW5zdGVhZCBvZiBhbiBpbmxpbmUgY29tcG9uZW50LiAgICYjMTA7JiMxMDtJZiB0aGUgdXNlIGNhc2UgcmVxdWlyZXMgQm9keVNpdGUgdG8gYmUgaGFuZGxlZCBhcyBhIHNlcGFyYXRlIHJlc291cmNlIChlLmcuIHRvIGlkZW50aWZ5IGFuZCB0cmFjayBzZXBhcmF0ZWx5KSB0aGVuIHVzZSB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uWyBib2R5U2l0ZV0oaHR0cDovL2hsNy5vcmcvZmhpci9leHRlbnNpb24tYm9keXNpdGUuaHRtbCkuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQm9keVNpdGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGFuYXRvbWljYWwgbG9jYXRpb25zLiBNYXkgaW5jbHVkZSBsYXRlcmFsaXR5LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibWV0aG9kIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIb3cgaXQgd2FzIGRvbmUiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgbWVjaGFuaXNtIHVzZWQgdG8gcGVyZm9ybSB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm9yIE9ic2VydmF0aW9uLmNvZGUuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25NZXRob2QiIGRlc2NyaXB0aW9uPSJNZXRob2RzIGZvciBzaW1wbGUgb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3BlY2ltZW4iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iU3BlY2ltZW4gdXNlZCBmb3IgdGhpcyBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHNwZWNpbWVuIHRoYXQgd2FzIHVzZWQgd2hlbiB0aGlzIG9ic2VydmF0aW9uIHdhcyBtYWRlLiIgY29tbWVudD0iU2hvdWxkIG9ubHkgYmUgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBgT2JzZXJ2YXRpb24uY29kZWAuICBPYnNlcnZhdGlvbnMgYXJlIG5vdCBtYWRlIG9uIHNwZWNpbWVucyB0aGVtc2VsdmVzOyB0aGV5IGFyZSBtYWRlIG9uIGEgc3ViamVjdCwgYnV0IGluIG1hbnkgY2FzZXMgYnkgdGhlIG1lYW5zIG9mIGEgc3BlY2ltZW4uIE5vdGUgdGhhdCBhbHRob3VnaCBzcGVjaW1lbnMgYXJlIG9mdGVuIGludm9sdmVkLCB0aGV5IGFyZSBub3QgYWx3YXlzIHRyYWNrZWQgYW5kIHJlcG9ydGVkIGV4cGxpY2l0bHkuIEFsc28gbm90ZSB0aGF0IG9ic2VydmF0aW9uIHJlc291cmNlcyBtYXkgYmUgdXNlZCBpbiBjb250ZXh0cyB0aGF0IHRyYWNrIHRoZSBzcGVjaW1lbiBleHBsaWNpdGx5IChlLmcuIERpYWdub3N0aWMgUmVwb3J0KS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXZpY2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKE1lYXN1cmVtZW50KSBEZXZpY2UiIGRlZmluaXRpb249IlRoZSBkZXZpY2UgdXNlZCB0byBnZW5lcmF0ZSB0aGUgb2JzZXJ2YXRpb24gZGF0YS4iIGNvbW1lbnQ9Ik5vdGUgdGhhdCB0aGlzIGlzIG5vdCBtZWFudCB0byByZXByZXNlbnQgYSBkZXZpY2UgaW52b2x2ZWQgaW4gdGhlIHRyYW5zbWlzc2lvbiBvZiB0aGUgcmVzdWx0LCBlLmcuLCBhIGdhdGV3YXkuICBTdWNoIGRldmljZXMgbWF5IGJlIGRvY3VtZW50ZWQgdXNpbmcgdGhlIFByb3ZlbmFuY2UgcmVzb3VyY2Ugd2hlcmUgcmVsZXZhbnQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVmZXJlbmNlUmFuZ2UiIGRlc2NyaXB0aW9uPSJQcm92aWRlcyBndWlkZSBmb3IgaW50ZXJwcmV0YXRpb24iIGRlZmluaXRpb249Ikd1aWRhbmNlIG9uIGhvdyB0byBpbnRlcnByZXQgdGhlIHZhbHVlIGJ5IGNvbXBhcmlzb24gdG8gYSBub3JtYWwgb3IgcmVjb21tZW5kZWQgcmFuZ2UuICBNdWx0aXBsZSByZWZlcmVuY2UgcmFuZ2VzIGFyZSBpbnRlcnByZXRlZCBhcyBhbiAmcXVvdDtPUiZxdW90Oy4gICBJbiBvdGhlciB3b3JkcywgdG8gcmVwcmVzZW50IHR3byBkaXN0aW5jdCB0YXJnZXQgcG9wdWxhdGlvbnMsIHR3byBgcmVmZXJlbmNlUmFuZ2VgIGVsZW1lbnRzIHdvdWxkIGJlIHVzZWQuIiBjb21tZW50PSJNb3N0IG9ic2VydmF0aW9ucyBvbmx5IGhhdmUgb25lIGdlbmVyaWMgcmVmZXJlbmNlIHJhbmdlLiBTeXN0ZW1zIE1BWSBjaG9vc2UgdG8gcmVzdHJpY3QgdG8gb25seSBzdXBwbHlpbmcgdGhlIHJlbGV2YW50IHJlZmVyZW5jZSByYW5nZSBiYXNlZCBvbiBrbm93bGVkZ2UgYWJvdXQgdGhlIHBhdGllbnQgKGUuZy4sIHNwZWNpZmljIHRvIHRoZSBwYXRpZW50J3MgYWdlLCBnZW5kZXIsIHdlaWdodCBhbmQgb3RoZXIgZmFjdG9ycyksIGJ1dCB0aGlzIG1pZ2h0IG5vdCBiZSBwb3NzaWJsZSBvciBhcHByb3ByaWF0ZS4gV2hlbmV2ZXIgbW9yZSB0aGFuIG9uZSByZWZlcmVuY2UgcmFuZ2UgaXMgc3VwcGxpZWQsIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZW0gU0hPVUxEIGJlIHByb3ZpZGVkIGluIHRoZSByZWZlcmVuY2UgcmFuZ2UgYW5kL29yIGFnZSBwcm9wZXJ0aWVzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uUmVmZXJlbmNlUmFuZ2UiLz4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0ib2JzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iTXVzdCBoYXZlIGF0IGxlYXN0IGEgbG93IG9yIGEgaGlnaCBvciB0ZXh0Ij4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJsb3cuZXhpc3RzKCkgb3IgaGlnaC5leGlzdHMoKSBvciB0ZXh0LmV4aXN0cygpIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaGFzTWVtYmVyIiBkZXNjcmlwdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyB2aXRhbCBzaWducyBwYW5lbCBjb21wb25lbnRzIiBkZWZpbml0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIHZpdGFsIHNpZ25zIHBhbmVsIGNvbXBvbmVudHMuIiBjb21tZW50PSJXaGVuIHVzaW5nIHRoaXMgZWxlbWVudCwgYW4gb2JzZXJ2YXRpb24gd2lsbCB0eXBpY2FsbHkgaGF2ZSBlaXRoZXIgYSB2YWx1ZSBvciBhIHNldCBvZiByZWxhdGVkIHJlc291cmNlcywgYWx0aG91Z2ggYm90aCBtYXkgYmUgcHJlc2VudCBpbiBzb21lIGNhc2VzLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuICBOb3RlIHRoYXQgYSBzeXN0ZW0gbWF5IGNhbGN1bGF0ZSByZXN1bHRzIGZyb20gW1F1ZXN0aW9ubmFpcmVSZXNwb25zZV0oaHR0cDovL2hsNy5vcmcvZmhpci9xdWVzdGlvbm5haXJlcmVzcG9uc2UuaHRtbCkgIGludG8gYSBmaW5hbCBzY29yZSBhbmQgcmVwcmVzZW50IHRoZSBzY29yZSBhcyBhbiBPYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXJpdmVkRnJvbSIgZGVzY3JpcHRpb249IlJlbGF0ZWQgbWVhc3VyZW1lbnRzIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGZyb20iIGRlZmluaXRpb249IlRoZSB0YXJnZXQgcmVzb3VyY2UgdGhhdCByZXByZXNlbnRzIGEgbWVhc3VyZW1lbnQgZnJvbSB3aGljaCB0aGlzIG9ic2VydmF0aW9uIHZhbHVlIGlzIGRlcml2ZWQuIEZvciBleGFtcGxlLCBhIGNhbGN1bGF0ZWQgYW5pb24gZ2FwIG9yIGEgZmV0YWwgbWVhc3VyZW1lbnQgYmFzZWQgb24gYW4gdWx0cmFzb3VuZCBpbWFnZS4iIGNvbW1lbnQ9IkFsbCB0aGUgcmVmZXJlbmNlIGNob2ljZXMgdGhhdCBhcmUgbGlzdGVkIGluIHRoaXMgZWxlbWVudCBjYW4gcmVwcmVzZW50IGNsaW5pY2FsIG9ic2VydmF0aW9ucyBhbmQgb3RoZXIgbWVhc3VyZW1lbnRzIHRoYXQgbWF5IGJlIHRoZSBzb3VyY2UgZm9yIGEgZGVyaXZlZCB2YWx1ZS4gIFRoZSBtb3N0IGNvbW1vbiByZWZlcmVuY2Ugd2lsbCBiZSBhbm90aGVyIE9ic2VydmF0aW9uLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBDb21wb25lbnQgb2JzZXJ2YXRpb25zIiBkZWZpbml0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIGNvbXBvbmVudCBvYnNlcnZhdGlvbiBzdWNoIGFzIHN5c3RvbGljIGFuZCBkaWFzdG9saWMgYmxvb2QgcHJlc3N1cmUuIiBjb21tZW50PSJGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYmUgYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ2cy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IklmIHRoZXJlIGlzIG5vIGEgdmFsdWUgYSBkYXRhIGFic2VudCByZWFzb24gbXVzdCBiZSBwcmVzZW50Ij4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ2YWx1ZS5leGlzdHMoKSBvciBkYXRhQWJzZW50UmVhc29uLmV4aXN0cygpIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3lzdG9saWMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50IiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBTeXN0b2xpYyBCbG9vZCBQcmVzc3VyZSIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyBjb21wb25lbnQgb2JzZXJ2YXRpb24gc3VjaCBhcyBzeXN0b2xpYyBhbmQgZGlhc3RvbGljIGJsb29kIHByZXNzdXJlLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSBpcyBubyBhIHZhbHVlIGEgZGF0YSBhYnNlbnQgcmVhc29uIG11c3QgYmUgcHJlc2VudCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0idmFsdWUuZXhpc3RzKCkgb3IgZGF0YUFic2VudFJlYXNvbi5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRpYXN0b2xpYyIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5Db21wb25lbnQiIGRlc2NyaXB0aW9uPSIoVVNDREkpIERpYXN0b2xpYyBCbG9vZCBQcmVzc3VyZSIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyBjb21wb25lbnQgb2JzZXJ2YXRpb24gc3VjaCBhcyBzeXN0b2xpYyBhbmQgZGlhc3RvbGljIGJsb29kIHByZXNzdXJlLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSBpcyBubyBhIHZhbHVlIGEgZGF0YSBhYnNlbnQgcmVhc29uIG11c3QgYmUgcHJlc2VudCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0idmFsdWUuZXhpc3RzKCkgb3IgZGF0YUFic2VudFJlYXNvbi5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlQm9keUhlaWdodFByb2ZpbGUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtYm9keS1oZWlnaHQiIGxhYmVsPSJVUyBDb3JlIEJvZHkgSGVpZ2h0IFByb2ZpbGUiIHRhcmdldD0iT2JzZXJ2YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBJZGVudGlmaWVyIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIG9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBPYnNlcnZhdGlvbiBpcyBhIGNvbXBvbmVudCBvciBzdGVwLiAgRm9yIGV4YW1wbGUsICBhbiBvYnNlcnZhdGlvbiBhcyBwYXJ0IG9mIGEgcHJvY2VkdXJlLiIgY29tbWVudD0iVG8gbGluayBhbiBPYnNlcnZhdGlvbiB0byBhbiBFbmNvdW50ZXIgdXNlIGBlbmNvdW50ZXJgLiAgU2VlIHRoZSAgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93IGZvciBndWlkYW5jZSBvbiByZWZlcmVuY2luZyBhbm90aGVyIE9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5TdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSByZWdpc3RlcmVkIHwgcHJlbGltaW5hcnkgfCBmaW5hbCB8IGFtZW5kZWQgKyIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzdWx0IHZhbHVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJTdGF0dXMiIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJWU0NhdCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCglcGFyZW50LmNhdGVnb3J5W2NvZGluZy5zeXN0ZW09J2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vb2JzZXJ2YXRpb24tY2F0ZWdvcnknLGNvZGluZy5jb2RlPSd2aXRhbC1zaWducyddKSIgZGVzY3JpcHRpb249IihVU0NESSkgQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgQm9keSBIZWlnaHQiIGRlZmluaXRpb249IkNvZGVkIFJlc3BvbnNlcyBmcm9tIEMtQ0RBIFZpdGFsIFNpZ24gUmVzdWx0cy4iIGNvbW1lbnQ9IipBbGwqIGNvZGUtdmFsdWUgYW5kLCBpZiBwcmVzZW50LCBjb21wb25lbnQuY29kZS1jb21wb25lbnQudmFsdWUgcGFpcnMgbmVlZCB0byBiZSB0YWtlbiBpbnRvIGFjY291bnQgdG8gY29ycmVjdGx5IHVuZGVyc3RhbmQgdGhlIG1lYW5pbmcgb2YgdGhlIG9ic2VydmF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhlIHZpdGFsIHNpZ24gY29kZXMgZnJvbSB0aGUgYmFzZSBGSElSIGFuZCBVUyBDb3JlIFZpdGFsIFNpZ25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFdobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmb2N1cyIgZGVzY3JpcHRpb249IldoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0LCB3aGVuIGl0IGlzIG5vdCBhYm91dCB0aGUgc3ViamVjdCBvZiByZWNvcmQiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gd2hlbiBpdCBpcyBub3QgdGhlIHBhdGllbnQgb2YgcmVjb3JkIHJlcHJlc2VudGluZyBzb21ldGhpbmcgb3Igc29tZW9uZSBhc3NvY2lhdGVkIHdpdGggdGhlIHBhdGllbnQgc3VjaCBhcyBhIHNwb3VzZSwgcGFyZW50LCBmZXR1cywgb3IgZG9ub3IuIEZvciBleGFtcGxlLCBmZXR1cyBvYnNlcnZhdGlvbnMgaW4gYSBtb3RoZXIncyByZWNvcmQuICBUaGUgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gY291bGQgYWxzbyBiZSBhbiBleGlzdGluZyBjb25kaXRpb24sICBhbiBpbnRlcnZlbnRpb24sIHRoZSBzdWJqZWN0J3MgZGlldCwgIGFub3RoZXIgb2JzZXJ2YXRpb24gb2YgdGhlIHN1YmplY3QsICBvciBhIGJvZHkgc3RydWN0dXJlIHN1Y2ggYXMgdHVtb3Igb3IgaW1wbGFudGVkIGRldmljZS4gICBBbiBleGFtcGxlIHVzZSBjYXNlIHdvdWxkIGJlIHVzaW5nIHRoZSBPYnNlcnZhdGlvbiByZXNvdXJjZSB0byBjYXB0dXJlIHdoZXRoZXIgdGhlIG1vdGhlciBpcyB0cmFpbmVkIHRvIGNoYW5nZSBoZXIgY2hpbGQncyB0cmFjaGVvc3RvbXkgdHViZS4gSW4gdGhpcyBleGFtcGxlLCB0aGUgY2hpbGQgaXMgdGhlIHBhdGllbnQgb2YgcmVjb3JkIGFuZCB0aGUgbW90aGVyIGlzIHRoZSBmb2N1cy4iIGNvbW1lbnQ9IlR5cGljYWxseSwgYW4gb2JzZXJ2YXRpb24gaXMgbWFkZSBhYm91dCB0aGUgc3ViamVjdCAtIGEgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgLSBhbmQgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhlIHN1YmplY3QgYW5kIHdoYXQgaXMgZGlyZWN0bHkgbWVhc3VyZWQgZm9yIGFuIG9ic2VydmF0aW9uIGlzIHNwZWNpZmllZCBpbiB0aGUgb2JzZXJ2YXRpb24gY29kZSBpdHNlbGYgKCBlLmcuLCAmcXVvdDtCbG9vZCBHbHVjb3NlJnF1b3Q7KSBhbmQgZG9lcyBub3QgbmVlZCB0byBiZSByZXByZXNlbnRlZCBzZXBhcmF0ZWx5IHVzaW5nIHRoaXMgZWxlbWVudC4gIFVzZSBgc3BlY2ltZW5gIGlmIGEgcmVmZXJlbmNlIHRvIGEgc3BlY2ltZW4gaXMgcmVxdWlyZWQuICBJZiBhIGNvZGUgaXMgcmVxdWlyZWQgaW5zdGVhZCBvZiBhIHJlc291cmNlIHVzZSBlaXRoZXIgIGBib2R5c2l0ZWAgZm9yIGJvZHlzaXRlcyBvciB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtmb2N1c0NvZGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLW9ic2VydmF0aW9uLWZvY3VzY29kZS5odG1sKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgT2Z0ZW4ganVzdCBhIGRhdGVUaW1lIGZvciBWaXRhbCBTaWducyIgZGVmaW5pdGlvbj0iT2Z0ZW4ganVzdCBhIGRhdGVUaW1lIGZvciBWaXRhbCBTaWducy4iIGNvbW1lbnQ9IkF0IGxlYXN0IGEgZGF0ZSBzaG91bGQgYmUgcHJlc2VudCB1bmxlc3MgdGhpcyBvYnNlcnZhdGlvbiBpcyBhIGhpc3RvcmljYWwgcmVwb3J0LiAgRm9yIHJlY29yZGluZyBpbXByZWNpc2Ugb3IgJnF1b3Q7ZnV6enkmcXVvdDsgdGltZXMgKEZvciBleGFtcGxlLCBhIGJsb29kIGdsdWNvc2UgbWVhc3VyZW1lbnQgdGFrZW4gJnF1b3Q7YWZ0ZXIgYnJlYWtmYXN0JnF1b3Q7KSB1c2UgdGhlIFtUaW1pbmddKGh0dHA6Ly9obDcub3JnL2ZoaXIvZGF0YXR5cGVzLmh0bWwjdGltaW5nKSBkYXRhdHlwZSB3aGljaCBhbGxvdyB0aGUgbWVhc3VyZW1lbnQgdG8gYmUgdGllZCB0byByZWd1bGFyIGxpZmUgZXZlbnRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ2cy0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9ImlmIE9ic2VydmF0aW9uLmVmZmVjdGl2ZVt4XSBpcyBkYXRlVGltZSBhbmQgaGFzIGEgdmFsdWUgdGhlbiB0aGF0IHZhbHVlIHNoYWxsIGJlIHByZWNpc2UgdG8gdGhlIGRheSI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iKCR0aGlzIGFzIGRhdGVUaW1lKS50b1N0cmluZygpLmxlbmd0aCgpICZndDs9IDgiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJXaG8gaXMgcmVzcG9uc2libGUgZm9yIHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iV2hvIHdhcyByZXNwb25zaWJsZSBmb3IgYXNzZXJ0aW5nIHRoZSBvYnNlcnZlZCB2YWx1ZSBhcyAmcXVvdDt0cnVlJnF1b3Q7LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgVml0YWwgU2lnbnMgVmFsdWUiIGRlZmluaXRpb249IlZpdGFsIFNpZ25zIHZhbHVlIGFyZSB0eXBpY2FsbHkgcmVjb3JkZWQgdXNpbmcgdGhlIFF1YW50aXR5IGRhdGEgdHlwZS4iIGNvbW1lbnQ9IkFuIG9ic2VydmF0aW9uIG1heSBoYXZlOyAxKSAgYSBzaW5nbGUgdmFsdWUgaGVyZSwgMikgIGJvdGggYSB2YWx1ZSBhbmQgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLCAgb3IgMykgIG9ubHkgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLiBJZiBhIHZhbHVlIGlzIHByZXNlbnQsIHRoZSBkYXRhdHlwZSBmb3IgdGhpcyBlbGVtZW50IHNob3VsZCBiZSBkZXRlcm1pbmVkIGJ5IE9ic2VydmF0aW9uLmNvZGUuICBBIENvZGVhYmxlQ29uY2VwdCB3aXRoIGp1c3QgYSB0ZXh0IHdvdWxkIGJlIHVzZWQgaW5zdGVhZCBvZiBhIHN0cmluZyBpZiB0aGUgZmllbGQgd2FzIHVzdWFsbHkgY29kZWQsIG9yIGlmIHRoZSB0eXBlIGFzc29jaWF0ZWQgd2l0aCB0aGUgT2JzZXJ2YXRpb24uY29kZSBkZWZpbmVzIGEgY29kZWQgdmFsdWUuICBGb3IgYWRkaXRpb25hbCBndWlkYW5jZSwgc2VlIHRoZSBbTm90ZXMgc2VjdGlvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkNvbW1vbiBVQ1VNIHVuaXRzIGZvciByZWNvcmRpbmcgVml0YWwgU2lnbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFdoeSB0aGUgcmVzdWx0IGlzIG1pc3NpbmciIGRlZmluaXRpb249IlByb3ZpZGVzIGEgcmVhc29uIHdoeSB0aGUgZXhwZWN0ZWQgdmFsdWUgaW4gdGhlIGVsZW1lbnQgT2JzZXJ2YXRpb24udmFsdWVbeF0gaXMgbWlzc2luZy4iIGNvbW1lbnQ9Ik51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzIGNhbiBiZSByZXByZXNlbnRlZCB0d28gd2F5cyBpbiBGSElSIE9ic2VydmF0aW9ucy4gIE9uZSB3YXkgaXMgdG8gc2ltcGx5IGluY2x1ZGUgdGhlbSBpbiB0aGUgdmFsdWUgc2V0IGFuZCByZXByZXNlbnQgdGhlIGV4Y2VwdGlvbnMgaW4gdGhlIHZhbHVlLiAgRm9yIGV4YW1wbGUsIG1lYXN1cmVtZW50IHZhbHVlcyBmb3IgYSBzZXJvbG9neSB0ZXN0IGNvdWxkIGJlICAmcXVvdDtkZXRlY3RlZCZxdW90OywgJnF1b3Q7bm90IGRldGVjdGVkJnF1b3Q7LCAmcXVvdDtpbmNvbmNsdXNpdmUmcXVvdDssIG9yICAmcXVvdDtzcGVjaW1lbiB1bnNhdGlzZmFjdG9yeSZxdW90Oy4gICAmIzEwOyYjMTA7VGhlIGFsdGVybmF0ZSB3YXkgaXMgdG8gdXNlIHRoZSB2YWx1ZSBlbGVtZW50IGZvciBhY3R1YWwgb2JzZXJ2YXRpb25zIGFuZCB1c2UgdGhlIGV4cGxpY2l0IGRhdGFBYnNlbnRSZWFzb24gZWxlbWVudCB0byByZWNvcmQgZXhjZXB0aW9uYWwgdmFsdWVzLiAgRm9yIGV4YW1wbGUsIHRoZSBkYXRhQWJzZW50UmVhc29uIGNvZGUgJnF1b3Q7ZXJyb3ImcXVvdDsgY291bGQgYmUgdXNlZCB3aGVuIHRoZSBtZWFzdXJlbWVudCB3YXMgbm90IGNvbXBsZXRlZC4gTm90ZSB0aGF0IGFuIG9ic2VydmF0aW9uIG1heSBvbmx5IGJlIHJlcG9ydGVkIGlmIHRoZXJlIGFyZSB2YWx1ZXMgdG8gcmVwb3J0LiBGb3IgZXhhbXBsZSBkaWZmZXJlbnRpYWwgY2VsbCBjb3VudHMgdmFsdWVzIG1heSBiZSByZXBvcnRlZCBvbmx5IHdoZW4gJmd0OyAwLiAgQmVjYXVzZSBvZiB0aGVzZSBvcHRpb25zLCB1c2UtY2FzZSBhZ3JlZW1lbnRzIGFyZSByZXF1aXJlZCB0byBpbnRlcnByZXQgZ2VuZXJhbCBvYnNlcnZhdGlvbnMgZm9yIG51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblZhbHVlQWJzZW50UmVhc29uIiBkZXNjcmlwdGlvbj0iQ29kZXMgc3BlY2lmeWluZyB3aHkgdGhlIHJlc3VsdCAoYE9ic2VydmF0aW9uLnZhbHVlW3hdYCkgaXMgbWlzc2luZy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImludGVycHJldGF0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGlnaCwgbG93LCBub3JtYWwsIGV0Yy4iIGRlZmluaXRpb249IkEgY2F0ZWdvcmljYWwgYXNzZXNzbWVudCBvZiBhbiBvYnNlcnZhdGlvbiB2YWx1ZS4gIEZvciBleGFtcGxlLCBoaWdoLCBsb3csIG5vcm1hbC4iIGNvbW1lbnQ9Ikhpc3RvcmljYWxseSB1c2VkIGZvciBsYWJvcmF0b3J5IHJlc3VsdHMgKGtub3duIGFzICdhYm5vcm1hbCBmbGFnJyApLCAgaXRzIHVzZSBleHRlbmRzIHRvIG90aGVyIHVzZSBjYXNlcyB3aGVyZSBjb2RlZCBpbnRlcnByZXRhdGlvbnMgIGFyZSByZWxldmFudC4gIE9mdGVuIHJlcG9ydGVkIGFzIG9uZSBvciBtb3JlIHNpbXBsZSBjb21wYWN0IGNvZGVzIHRoaXMgZWxlbWVudCBpcyBvZnRlbiBwbGFjZWQgYWRqYWNlbnQgdG8gdGhlIHJlc3VsdCB2YWx1ZSBpbiByZXBvcnRzIGFuZCBmbG93IHNoZWV0cyB0byBzaWduYWwgdGhlIG1lYW5pbmcvbm9ybWFsY3kgc3RhdHVzIG9mIHRoZSByZXN1bHQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uSW50ZXJwcmV0YXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBpbnRlcnByZXRhdGlvbnMgb2Ygb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIG9yIHRoZSByZXN1bHRzLiIgY29tbWVudD0iTWF5IGluY2x1ZGUgZ2VuZXJhbCBzdGF0ZW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiwgb3Igc3RhdGVtZW50cyBhYm91dCBzaWduaWZpY2FudCwgdW5leHBlY3RlZCBvciB1bnJlbGlhYmxlIHJlc3VsdHMgdmFsdWVzLCBvciBpbmZvcm1hdGlvbiBhYm91dCBpdHMgc291cmNlIHdoZW4gcmVsZXZhbnQgdG8gaXRzIGludGVycHJldGF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2JzZXJ2ZWQgYm9keSBwYXJ0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHNpdGUgb24gdGhlIHN1YmplY3QncyBib2R5IHdoZXJlIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSAoaS5lLiB0aGUgdGFyZ2V0IHNpdGUpLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIE9ic2VydmF0aW9uLmNvZGUuICBJbiBtYW55IHN5c3RlbXMsIHRoaXMgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGEgcmVsYXRlZCBvYnNlcnZhdGlvbiBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb21wb25lbnQuICAgJiMxMDsmIzEwO0lmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBCb2R5U2l0ZSB0byBiZSBoYW5kbGVkIGFzIGEgc2VwYXJhdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb25bIGJvZHlTaXRlXShodHRwOi8vaGw3Lm9yZy9maGlyL2V4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBpdCB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWNoYW5pc20gdXNlZCB0byBwZXJmb3JtIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3IgT2JzZXJ2YXRpb24uY29kZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiB1c2VkIGZvciB0aGlzIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2ltZW4gdGhhdCB3YXMgdXNlZCB3aGVuIHRoaXMgb2JzZXJ2YXRpb24gd2FzIG1hZGUuIiBjb21tZW50PSJTaG91bGQgb25seSBiZSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIGBPYnNlcnZhdGlvbi5jb2RlYC4gIE9ic2VydmF0aW9ucyBhcmUgbm90IG1hZGUgb24gc3BlY2ltZW5zIHRoZW1zZWx2ZXM7IHRoZXkgYXJlIG1hZGUgb24gYSBzdWJqZWN0LCBidXQgaW4gbWFueSBjYXNlcyBieSB0aGUgbWVhbnMgb2YgYSBzcGVjaW1lbi4gTm90ZSB0aGF0IGFsdGhvdWdoIHNwZWNpbWVucyBhcmUgb2Z0ZW4gaW52b2x2ZWQsIHRoZXkgYXJlIG5vdCBhbHdheXMgdHJhY2tlZCBhbmQgcmVwb3J0ZWQgZXhwbGljaXRseS4gQWxzbyBub3RlIHRoYXQgb2JzZXJ2YXRpb24gcmVzb3VyY2VzIG1heSBiZSB1c2VkIGluIGNvbnRleHRzIHRoYXQgdHJhY2sgdGhlIHNwZWNpbWVuIGV4cGxpY2l0bHkgKGUuZy4gRGlhZ25vc3RpYyBSZXBvcnQpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRldmljZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoTWVhc3VyZW1lbnQpIERldmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBvYnNlcnZhdGlvbiBkYXRhLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgaXMgbm90IG1lYW50IHRvIHJlcHJlc2VudCBhIGRldmljZSBpbnZvbHZlZCBpbiB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoZSByZXN1bHQsIGUuZy4sIGEgZ2F0ZXdheS4gIFN1Y2ggZGV2aWNlcyBtYXkgYmUgZG9jdW1lbnRlZCB1c2luZyB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZSB3aGVyZSByZWxldmFudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2VSYW5nZSIgZGVzY3JpcHRpb249IlByb3ZpZGVzIGd1aWRlIGZvciBpbnRlcnByZXRhdGlvbiIgZGVmaW5pdGlvbj0iR3VpZGFuY2Ugb24gaG93IHRvIGludGVycHJldCB0aGUgdmFsdWUgYnkgY29tcGFyaXNvbiB0byBhIG5vcm1hbCBvciByZWNvbW1lbmRlZCByYW5nZS4gIE11bHRpcGxlIHJlZmVyZW5jZSByYW5nZXMgYXJlIGludGVycHJldGVkIGFzIGFuICZxdW90O09SJnF1b3Q7LiAgIEluIG90aGVyIHdvcmRzLCB0byByZXByZXNlbnQgdHdvIGRpc3RpbmN0IHRhcmdldCBwb3B1bGF0aW9ucywgdHdvIGByZWZlcmVuY2VSYW5nZWAgZWxlbWVudHMgd291bGQgYmUgdXNlZC4iIGNvbW1lbnQ9Ik1vc3Qgb2JzZXJ2YXRpb25zIG9ubHkgaGF2ZSBvbmUgZ2VuZXJpYyByZWZlcmVuY2UgcmFuZ2UuIFN5c3RlbXMgTUFZIGNob29zZSB0byByZXN0cmljdCB0byBvbmx5IHN1cHBseWluZyB0aGUgcmVsZXZhbnQgcmVmZXJlbmNlIHJhbmdlIGJhc2VkIG9uIGtub3dsZWRnZSBhYm91dCB0aGUgcGF0aWVudCAoZS5nLiwgc3BlY2lmaWMgdG8gdGhlIHBhdGllbnQncyBhZ2UsIGdlbmRlciwgd2VpZ2h0IGFuZCBvdGhlciBmYWN0b3JzKSwgYnV0IHRoaXMgbWlnaHQgbm90IGJlIHBvc3NpYmxlIG9yIGFwcHJvcHJpYXRlLiBXaGVuZXZlciBtb3JlIHRoYW4gb25lIHJlZmVyZW5jZSByYW5nZSBpcyBzdXBwbGllZCwgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlbSBTSE9VTEQgYmUgcHJvdmlkZWQgaW4gdGhlIHJlZmVyZW5jZSByYW5nZSBhbmQvb3IgYWdlIHByb3BlcnRpZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5SZWZlcmVuY2VSYW5nZSIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJvYnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJNdXN0IGhhdmUgYXQgbGVhc3QgYSBsb3cgb3IgYSBoaWdoIG9yIHRleHQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Imxvdy5leGlzdHMoKSBvciBoaWdoLmV4aXN0cygpIG9yIHRleHQuZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJoYXNNZW1iZXIiIGRlc2NyaXB0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIHZpdGFsIHNpZ25zIHBhbmVsIGNvbXBvbmVudHMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cy4iIGNvbW1lbnQ9IldoZW4gdXNpbmcgdGhpcyBlbGVtZW50LCBhbiBvYnNlcnZhdGlvbiB3aWxsIHR5cGljYWxseSBoYXZlIGVpdGhlciBhIHZhbHVlIG9yIGEgc2V0IG9mIHJlbGF0ZWQgcmVzb3VyY2VzLCBhbHRob3VnaCBib3RoIG1heSBiZSBwcmVzZW50IGluIHNvbWUgY2FzZXMuICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4gIE5vdGUgdGhhdCBhIHN5c3RlbSBtYXkgY2FsY3VsYXRlIHJlc3VsdHMgZnJvbSBbUXVlc3Rpb25uYWlyZVJlc3BvbnNlXShodHRwOi8vaGw3Lm9yZy9maGlyL3F1ZXN0aW9ubmFpcmVyZXNwb25zZS5odG1sKSAgaW50byBhIGZpbmFsIHNjb3JlIGFuZCByZXByZXNlbnQgdGhlIHNjb3JlIGFzIGFuIE9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRlcml2ZWRGcm9tIiBkZXNjcmlwdGlvbj0iUmVsYXRlZCBtZWFzdXJlbWVudHMgdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgZnJvbSIgZGVmaW5pdGlvbj0iVGhlIHRhcmdldCByZXNvdXJjZSB0aGF0IHJlcHJlc2VudHMgYSBtZWFzdXJlbWVudCBmcm9tIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gdmFsdWUgaXMgZGVyaXZlZC4gRm9yIGV4YW1wbGUsIGEgY2FsY3VsYXRlZCBhbmlvbiBnYXAgb3IgYSBmZXRhbCBtZWFzdXJlbWVudCBiYXNlZCBvbiBhbiB1bHRyYXNvdW5kIGltYWdlLiIgY29tbWVudD0iQWxsIHRoZSByZWZlcmVuY2UgY2hvaWNlcyB0aGF0IGFyZSBsaXN0ZWQgaW4gdGhpcyBlbGVtZW50IGNhbiByZXByZXNlbnQgY2xpbmljYWwgb2JzZXJ2YXRpb25zIGFuZCBvdGhlciBtZWFzdXJlbWVudHMgdGhhdCBtYXkgYmUgdGhlIHNvdXJjZSBmb3IgYSBkZXJpdmVkIHZhbHVlLiAgVGhlIG1vc3QgY29tbW9uIHJlZmVyZW5jZSB3aWxsIGJlIGFub3RoZXIgT2JzZXJ2YXRpb24uICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb21wb25lbnQiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENvbXBvbmVudCBvYnNlcnZhdGlvbnMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgY29tcG9uZW50IG9ic2VydmF0aW9uIHN1Y2ggYXMgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBibG9vZCBwcmVzc3VyZS4iIGNvbW1lbnQ9IkZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBiZSBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50Ii8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iSWYgdGhlcmUgaXMgbm8gYSB2YWx1ZSBhIGRhdGEgYWJzZW50IHJlYXNvbiBtdXN0IGJlIHByZXNlbnQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InZhbHVlLmV4aXN0cygpIG9yIGRhdGFBYnNlbnRSZWFzb24uZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVTQ29yZUJvZHlUZW1wZXJhdHVyZVByb2ZpbGUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtYm9keS10ZW1wZXJhdHVyZSIgbGFiZWw9IlVTIENvcmUgQm9keSBUZW1wZXJhdHVyZSBQcm9maWxlIiB0YXJnZXQ9Ik9ic2VydmF0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IkZ1bGZpbGxzIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIiBkZWZpbml0aW9uPSJBIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBldmVudC4gIEZvciBleGFtcGxlLCBhIE1lZGljYXRpb25SZXF1ZXN0IG1heSByZXF1aXJlIGEgcGF0aWVudCB0byBoYXZlIGxhYm9yYXRvcnkgdGVzdCBwZXJmb3JtZWQgYmVmb3JlICBpdCBpcyBkaXNwZW5zZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iUGFydCBvZiByZWZlcmVuY2VkIGV2ZW50IiBkZWZpbml0aW9uPSJBIGxhcmdlciBldmVudCBvZiB3aGljaCB0aGlzIHBhcnRpY3VsYXIgT2JzZXJ2YXRpb24gaXMgYSBjb21wb25lbnQgb3Igc3RlcC4gIEZvciBleGFtcGxlLCAgYW4gb2JzZXJ2YXRpb24gYXMgcGFydCBvZiBhIHByb2NlZHVyZS4iIGNvbW1lbnQ9IlRvIGxpbmsgYW4gT2JzZXJ2YXRpb24gdG8gYW4gRW5jb3VudGVyIHVzZSBgZW5jb3VudGVyYC4gIFNlZSB0aGUgIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdyBmb3IgZ3VpZGFuY2Ugb24gcmVmZXJlbmNpbmcgYW5vdGhlciBPYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihVU0NESSkgcmVnaXN0ZXJlZCB8IHByZWxpbWluYXJ5IHwgZmluYWwgfCBhbWVuZGVkICsiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHJlc3VsdCB2YWx1ZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU3RhdHVzIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iVlNDYXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXBhcmVudC5jYXRlZ29yeVtjb2Rpbmcuc3lzdGVtPSdodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL29ic2VydmF0aW9uLWNhdGVnb3J5Jyxjb2RpbmcuY29kZT0ndml0YWwtc2lnbnMnXSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIEJvZHkgVGVtcGVyYXR1cmUiIGRlZmluaXRpb249IkNvZGVkIFJlc3BvbnNlcyBmcm9tIEMtQ0RBIFZpdGFsIFNpZ24gUmVzdWx0cy4iIGNvbW1lbnQ9IipBbGwqIGNvZGUtdmFsdWUgYW5kLCBpZiBwcmVzZW50LCBjb21wb25lbnQuY29kZS1jb21wb25lbnQudmFsdWUgcGFpcnMgbmVlZCB0byBiZSB0YWtlbiBpbnRvIGFjY291bnQgdG8gY29ycmVjdGx5IHVuZGVyc3RhbmQgdGhlIG1lYW5pbmcgb2YgdGhlIG9ic2VydmF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhlIHZpdGFsIHNpZ24gY29kZXMgZnJvbSB0aGUgYmFzZSBGSElSIGFuZCBVUyBDb3JlIFZpdGFsIFNpZ25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFdobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmb2N1cyIgZGVzY3JpcHRpb249IldoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0LCB3aGVuIGl0IGlzIG5vdCBhYm91dCB0aGUgc3ViamVjdCBvZiByZWNvcmQiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gd2hlbiBpdCBpcyBub3QgdGhlIHBhdGllbnQgb2YgcmVjb3JkIHJlcHJlc2VudGluZyBzb21ldGhpbmcgb3Igc29tZW9uZSBhc3NvY2lhdGVkIHdpdGggdGhlIHBhdGllbnQgc3VjaCBhcyBhIHNwb3VzZSwgcGFyZW50LCBmZXR1cywgb3IgZG9ub3IuIEZvciBleGFtcGxlLCBmZXR1cyBvYnNlcnZhdGlvbnMgaW4gYSBtb3RoZXIncyByZWNvcmQuICBUaGUgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gY291bGQgYWxzbyBiZSBhbiBleGlzdGluZyBjb25kaXRpb24sICBhbiBpbnRlcnZlbnRpb24sIHRoZSBzdWJqZWN0J3MgZGlldCwgIGFub3RoZXIgb2JzZXJ2YXRpb24gb2YgdGhlIHN1YmplY3QsICBvciBhIGJvZHkgc3RydWN0dXJlIHN1Y2ggYXMgdHVtb3Igb3IgaW1wbGFudGVkIGRldmljZS4gICBBbiBleGFtcGxlIHVzZSBjYXNlIHdvdWxkIGJlIHVzaW5nIHRoZSBPYnNlcnZhdGlvbiByZXNvdXJjZSB0byBjYXB0dXJlIHdoZXRoZXIgdGhlIG1vdGhlciBpcyB0cmFpbmVkIHRvIGNoYW5nZSBoZXIgY2hpbGQncyB0cmFjaGVvc3RvbXkgdHViZS4gSW4gdGhpcyBleGFtcGxlLCB0aGUgY2hpbGQgaXMgdGhlIHBhdGllbnQgb2YgcmVjb3JkIGFuZCB0aGUgbW90aGVyIGlzIHRoZSBmb2N1cy4iIGNvbW1lbnQ9IlR5cGljYWxseSwgYW4gb2JzZXJ2YXRpb24gaXMgbWFkZSBhYm91dCB0aGUgc3ViamVjdCAtIGEgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgLSBhbmQgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhlIHN1YmplY3QgYW5kIHdoYXQgaXMgZGlyZWN0bHkgbWVhc3VyZWQgZm9yIGFuIG9ic2VydmF0aW9uIGlzIHNwZWNpZmllZCBpbiB0aGUgb2JzZXJ2YXRpb24gY29kZSBpdHNlbGYgKCBlLmcuLCAmcXVvdDtCbG9vZCBHbHVjb3NlJnF1b3Q7KSBhbmQgZG9lcyBub3QgbmVlZCB0byBiZSByZXByZXNlbnRlZCBzZXBhcmF0ZWx5IHVzaW5nIHRoaXMgZWxlbWVudC4gIFVzZSBgc3BlY2ltZW5gIGlmIGEgcmVmZXJlbmNlIHRvIGEgc3BlY2ltZW4gaXMgcmVxdWlyZWQuICBJZiBhIGNvZGUgaXMgcmVxdWlyZWQgaW5zdGVhZCBvZiBhIHJlc291cmNlIHVzZSBlaXRoZXIgIGBib2R5c2l0ZWAgZm9yIGJvZHlzaXRlcyBvciB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtmb2N1c0NvZGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLW9ic2VydmF0aW9uLWZvY3VzY29kZS5odG1sKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgT2Z0ZW4ganVzdCBhIGRhdGVUaW1lIGZvciBWaXRhbCBTaWducyIgZGVmaW5pdGlvbj0iT2Z0ZW4ganVzdCBhIGRhdGVUaW1lIGZvciBWaXRhbCBTaWducy4iIGNvbW1lbnQ9IkF0IGxlYXN0IGEgZGF0ZSBzaG91bGQgYmUgcHJlc2VudCB1bmxlc3MgdGhpcyBvYnNlcnZhdGlvbiBpcyBhIGhpc3RvcmljYWwgcmVwb3J0LiAgRm9yIHJlY29yZGluZyBpbXByZWNpc2Ugb3IgJnF1b3Q7ZnV6enkmcXVvdDsgdGltZXMgKEZvciBleGFtcGxlLCBhIGJsb29kIGdsdWNvc2UgbWVhc3VyZW1lbnQgdGFrZW4gJnF1b3Q7YWZ0ZXIgYnJlYWtmYXN0JnF1b3Q7KSB1c2UgdGhlIFtUaW1pbmddKGh0dHA6Ly9obDcub3JnL2ZoaXIvZGF0YXR5cGVzLmh0bWwjdGltaW5nKSBkYXRhdHlwZSB3aGljaCBhbGxvdyB0aGUgbWVhc3VyZW1lbnQgdG8gYmUgdGllZCB0byByZWd1bGFyIGxpZmUgZXZlbnRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ2cy0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9ImlmIE9ic2VydmF0aW9uLmVmZmVjdGl2ZVt4XSBpcyBkYXRlVGltZSBhbmQgaGFzIGEgdmFsdWUgdGhlbiB0aGF0IHZhbHVlIHNoYWxsIGJlIHByZWNpc2UgdG8gdGhlIGRheSI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iKCR0aGlzIGFzIGRhdGVUaW1lKS50b1N0cmluZygpLmxlbmd0aCgpICZndDs9IDgiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJXaG8gaXMgcmVzcG9uc2libGUgZm9yIHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iV2hvIHdhcyByZXNwb25zaWJsZSBmb3IgYXNzZXJ0aW5nIHRoZSBvYnNlcnZlZCB2YWx1ZSBhcyAmcXVvdDt0cnVlJnF1b3Q7LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgVml0YWwgU2lnbnMgVmFsdWUiIGRlZmluaXRpb249IlZpdGFsIFNpZ25zIHZhbHVlIGFyZSB0eXBpY2FsbHkgcmVjb3JkZWQgdXNpbmcgdGhlIFF1YW50aXR5IGRhdGEgdHlwZS4iIGNvbW1lbnQ9IkFuIG9ic2VydmF0aW9uIG1heSBoYXZlOyAxKSAgYSBzaW5nbGUgdmFsdWUgaGVyZSwgMikgIGJvdGggYSB2YWx1ZSBhbmQgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLCAgb3IgMykgIG9ubHkgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLiBJZiBhIHZhbHVlIGlzIHByZXNlbnQsIHRoZSBkYXRhdHlwZSBmb3IgdGhpcyBlbGVtZW50IHNob3VsZCBiZSBkZXRlcm1pbmVkIGJ5IE9ic2VydmF0aW9uLmNvZGUuICBBIENvZGVhYmxlQ29uY2VwdCB3aXRoIGp1c3QgYSB0ZXh0IHdvdWxkIGJlIHVzZWQgaW5zdGVhZCBvZiBhIHN0cmluZyBpZiB0aGUgZmllbGQgd2FzIHVzdWFsbHkgY29kZWQsIG9yIGlmIHRoZSB0eXBlIGFzc29jaWF0ZWQgd2l0aCB0aGUgT2JzZXJ2YXRpb24uY29kZSBkZWZpbmVzIGEgY29kZWQgdmFsdWUuICBGb3IgYWRkaXRpb25hbCBndWlkYW5jZSwgc2VlIHRoZSBbTm90ZXMgc2VjdGlvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkNvbW1vbiBVQ1VNIHVuaXRzIGZvciByZWNvcmRpbmcgVml0YWwgU2lnbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFdoeSB0aGUgcmVzdWx0IGlzIG1pc3NpbmciIGRlZmluaXRpb249IlByb3ZpZGVzIGEgcmVhc29uIHdoeSB0aGUgZXhwZWN0ZWQgdmFsdWUgaW4gdGhlIGVsZW1lbnQgT2JzZXJ2YXRpb24udmFsdWVbeF0gaXMgbWlzc2luZy4iIGNvbW1lbnQ9Ik51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzIGNhbiBiZSByZXByZXNlbnRlZCB0d28gd2F5cyBpbiBGSElSIE9ic2VydmF0aW9ucy4gIE9uZSB3YXkgaXMgdG8gc2ltcGx5IGluY2x1ZGUgdGhlbSBpbiB0aGUgdmFsdWUgc2V0IGFuZCByZXByZXNlbnQgdGhlIGV4Y2VwdGlvbnMgaW4gdGhlIHZhbHVlLiAgRm9yIGV4YW1wbGUsIG1lYXN1cmVtZW50IHZhbHVlcyBmb3IgYSBzZXJvbG9neSB0ZXN0IGNvdWxkIGJlICAmcXVvdDtkZXRlY3RlZCZxdW90OywgJnF1b3Q7bm90IGRldGVjdGVkJnF1b3Q7LCAmcXVvdDtpbmNvbmNsdXNpdmUmcXVvdDssIG9yICAmcXVvdDtzcGVjaW1lbiB1bnNhdGlzZmFjdG9yeSZxdW90Oy4gICAmIzEwOyYjMTA7VGhlIGFsdGVybmF0ZSB3YXkgaXMgdG8gdXNlIHRoZSB2YWx1ZSBlbGVtZW50IGZvciBhY3R1YWwgb2JzZXJ2YXRpb25zIGFuZCB1c2UgdGhlIGV4cGxpY2l0IGRhdGFBYnNlbnRSZWFzb24gZWxlbWVudCB0byByZWNvcmQgZXhjZXB0aW9uYWwgdmFsdWVzLiAgRm9yIGV4YW1wbGUsIHRoZSBkYXRhQWJzZW50UmVhc29uIGNvZGUgJnF1b3Q7ZXJyb3ImcXVvdDsgY291bGQgYmUgdXNlZCB3aGVuIHRoZSBtZWFzdXJlbWVudCB3YXMgbm90IGNvbXBsZXRlZC4gTm90ZSB0aGF0IGFuIG9ic2VydmF0aW9uIG1heSBvbmx5IGJlIHJlcG9ydGVkIGlmIHRoZXJlIGFyZSB2YWx1ZXMgdG8gcmVwb3J0LiBGb3IgZXhhbXBsZSBkaWZmZXJlbnRpYWwgY2VsbCBjb3VudHMgdmFsdWVzIG1heSBiZSByZXBvcnRlZCBvbmx5IHdoZW4gJmd0OyAwLiAgQmVjYXVzZSBvZiB0aGVzZSBvcHRpb25zLCB1c2UtY2FzZSBhZ3JlZW1lbnRzIGFyZSByZXF1aXJlZCB0byBpbnRlcnByZXQgZ2VuZXJhbCBvYnNlcnZhdGlvbnMgZm9yIG51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblZhbHVlQWJzZW50UmVhc29uIiBkZXNjcmlwdGlvbj0iQ29kZXMgc3BlY2lmeWluZyB3aHkgdGhlIHJlc3VsdCAoYE9ic2VydmF0aW9uLnZhbHVlW3hdYCkgaXMgbWlzc2luZy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImludGVycHJldGF0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGlnaCwgbG93LCBub3JtYWwsIGV0Yy4iIGRlZmluaXRpb249IkEgY2F0ZWdvcmljYWwgYXNzZXNzbWVudCBvZiBhbiBvYnNlcnZhdGlvbiB2YWx1ZS4gIEZvciBleGFtcGxlLCBoaWdoLCBsb3csIG5vcm1hbC4iIGNvbW1lbnQ9Ikhpc3RvcmljYWxseSB1c2VkIGZvciBsYWJvcmF0b3J5IHJlc3VsdHMgKGtub3duIGFzICdhYm5vcm1hbCBmbGFnJyApLCAgaXRzIHVzZSBleHRlbmRzIHRvIG90aGVyIHVzZSBjYXNlcyB3aGVyZSBjb2RlZCBpbnRlcnByZXRhdGlvbnMgIGFyZSByZWxldmFudC4gIE9mdGVuIHJlcG9ydGVkIGFzIG9uZSBvciBtb3JlIHNpbXBsZSBjb21wYWN0IGNvZGVzIHRoaXMgZWxlbWVudCBpcyBvZnRlbiBwbGFjZWQgYWRqYWNlbnQgdG8gdGhlIHJlc3VsdCB2YWx1ZSBpbiByZXBvcnRzIGFuZCBmbG93IHNoZWV0cyB0byBzaWduYWwgdGhlIG1lYW5pbmcvbm9ybWFsY3kgc3RhdHVzIG9mIHRoZSByZXN1bHQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uSW50ZXJwcmV0YXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBpbnRlcnByZXRhdGlvbnMgb2Ygb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIG9yIHRoZSByZXN1bHRzLiIgY29tbWVudD0iTWF5IGluY2x1ZGUgZ2VuZXJhbCBzdGF0ZW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiwgb3Igc3RhdGVtZW50cyBhYm91dCBzaWduaWZpY2FudCwgdW5leHBlY3RlZCBvciB1bnJlbGlhYmxlIHJlc3VsdHMgdmFsdWVzLCBvciBpbmZvcm1hdGlvbiBhYm91dCBpdHMgc291cmNlIHdoZW4gcmVsZXZhbnQgdG8gaXRzIGludGVycHJldGF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2JzZXJ2ZWQgYm9keSBwYXJ0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHNpdGUgb24gdGhlIHN1YmplY3QncyBib2R5IHdoZXJlIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSAoaS5lLiB0aGUgdGFyZ2V0IHNpdGUpLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIE9ic2VydmF0aW9uLmNvZGUuICBJbiBtYW55IHN5c3RlbXMsIHRoaXMgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGEgcmVsYXRlZCBvYnNlcnZhdGlvbiBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb21wb25lbnQuICAgJiMxMDsmIzEwO0lmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBCb2R5U2l0ZSB0byBiZSBoYW5kbGVkIGFzIGEgc2VwYXJhdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb25bIGJvZHlTaXRlXShodHRwOi8vaGw3Lm9yZy9maGlyL2V4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBpdCB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWNoYW5pc20gdXNlZCB0byBwZXJmb3JtIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3IgT2JzZXJ2YXRpb24uY29kZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiB1c2VkIGZvciB0aGlzIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2ltZW4gdGhhdCB3YXMgdXNlZCB3aGVuIHRoaXMgb2JzZXJ2YXRpb24gd2FzIG1hZGUuIiBjb21tZW50PSJTaG91bGQgb25seSBiZSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIGBPYnNlcnZhdGlvbi5jb2RlYC4gIE9ic2VydmF0aW9ucyBhcmUgbm90IG1hZGUgb24gc3BlY2ltZW5zIHRoZW1zZWx2ZXM7IHRoZXkgYXJlIG1hZGUgb24gYSBzdWJqZWN0LCBidXQgaW4gbWFueSBjYXNlcyBieSB0aGUgbWVhbnMgb2YgYSBzcGVjaW1lbi4gTm90ZSB0aGF0IGFsdGhvdWdoIHNwZWNpbWVucyBhcmUgb2Z0ZW4gaW52b2x2ZWQsIHRoZXkgYXJlIG5vdCBhbHdheXMgdHJhY2tlZCBhbmQgcmVwb3J0ZWQgZXhwbGljaXRseS4gQWxzbyBub3RlIHRoYXQgb2JzZXJ2YXRpb24gcmVzb3VyY2VzIG1heSBiZSB1c2VkIGluIGNvbnRleHRzIHRoYXQgdHJhY2sgdGhlIHNwZWNpbWVuIGV4cGxpY2l0bHkgKGUuZy4gRGlhZ25vc3RpYyBSZXBvcnQpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRldmljZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoTWVhc3VyZW1lbnQpIERldmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBvYnNlcnZhdGlvbiBkYXRhLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgaXMgbm90IG1lYW50IHRvIHJlcHJlc2VudCBhIGRldmljZSBpbnZvbHZlZCBpbiB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoZSByZXN1bHQsIGUuZy4sIGEgZ2F0ZXdheS4gIFN1Y2ggZGV2aWNlcyBtYXkgYmUgZG9jdW1lbnRlZCB1c2luZyB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZSB3aGVyZSByZWxldmFudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2VSYW5nZSIgZGVzY3JpcHRpb249IlByb3ZpZGVzIGd1aWRlIGZvciBpbnRlcnByZXRhdGlvbiIgZGVmaW5pdGlvbj0iR3VpZGFuY2Ugb24gaG93IHRvIGludGVycHJldCB0aGUgdmFsdWUgYnkgY29tcGFyaXNvbiB0byBhIG5vcm1hbCBvciByZWNvbW1lbmRlZCByYW5nZS4gIE11bHRpcGxlIHJlZmVyZW5jZSByYW5nZXMgYXJlIGludGVycHJldGVkIGFzIGFuICZxdW90O09SJnF1b3Q7LiAgIEluIG90aGVyIHdvcmRzLCB0byByZXByZXNlbnQgdHdvIGRpc3RpbmN0IHRhcmdldCBwb3B1bGF0aW9ucywgdHdvIGByZWZlcmVuY2VSYW5nZWAgZWxlbWVudHMgd291bGQgYmUgdXNlZC4iIGNvbW1lbnQ9Ik1vc3Qgb2JzZXJ2YXRpb25zIG9ubHkgaGF2ZSBvbmUgZ2VuZXJpYyByZWZlcmVuY2UgcmFuZ2UuIFN5c3RlbXMgTUFZIGNob29zZSB0byByZXN0cmljdCB0byBvbmx5IHN1cHBseWluZyB0aGUgcmVsZXZhbnQgcmVmZXJlbmNlIHJhbmdlIGJhc2VkIG9uIGtub3dsZWRnZSBhYm91dCB0aGUgcGF0aWVudCAoZS5nLiwgc3BlY2lmaWMgdG8gdGhlIHBhdGllbnQncyBhZ2UsIGdlbmRlciwgd2VpZ2h0IGFuZCBvdGhlciBmYWN0b3JzKSwgYnV0IHRoaXMgbWlnaHQgbm90IGJlIHBvc3NpYmxlIG9yIGFwcHJvcHJpYXRlLiBXaGVuZXZlciBtb3JlIHRoYW4gb25lIHJlZmVyZW5jZSByYW5nZSBpcyBzdXBwbGllZCwgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlbSBTSE9VTEQgYmUgcHJvdmlkZWQgaW4gdGhlIHJlZmVyZW5jZSByYW5nZSBhbmQvb3IgYWdlIHByb3BlcnRpZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5SZWZlcmVuY2VSYW5nZSIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJvYnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJNdXN0IGhhdmUgYXQgbGVhc3QgYSBsb3cgb3IgYSBoaWdoIG9yIHRleHQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Imxvdy5leGlzdHMoKSBvciBoaWdoLmV4aXN0cygpIG9yIHRleHQuZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJoYXNNZW1iZXIiIGRlc2NyaXB0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIHZpdGFsIHNpZ25zIHBhbmVsIGNvbXBvbmVudHMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cy4iIGNvbW1lbnQ9IldoZW4gdXNpbmcgdGhpcyBlbGVtZW50LCBhbiBvYnNlcnZhdGlvbiB3aWxsIHR5cGljYWxseSBoYXZlIGVpdGhlciBhIHZhbHVlIG9yIGEgc2V0IG9mIHJlbGF0ZWQgcmVzb3VyY2VzLCBhbHRob3VnaCBib3RoIG1heSBiZSBwcmVzZW50IGluIHNvbWUgY2FzZXMuICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4gIE5vdGUgdGhhdCBhIHN5c3RlbSBtYXkgY2FsY3VsYXRlIHJlc3VsdHMgZnJvbSBbUXVlc3Rpb25uYWlyZVJlc3BvbnNlXShodHRwOi8vaGw3Lm9yZy9maGlyL3F1ZXN0aW9ubmFpcmVyZXNwb25zZS5odG1sKSAgaW50byBhIGZpbmFsIHNjb3JlIGFuZCByZXByZXNlbnQgdGhlIHNjb3JlIGFzIGFuIE9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRlcml2ZWRGcm9tIiBkZXNjcmlwdGlvbj0iUmVsYXRlZCBtZWFzdXJlbWVudHMgdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgZnJvbSIgZGVmaW5pdGlvbj0iVGhlIHRhcmdldCByZXNvdXJjZSB0aGF0IHJlcHJlc2VudHMgYSBtZWFzdXJlbWVudCBmcm9tIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gdmFsdWUgaXMgZGVyaXZlZC4gRm9yIGV4YW1wbGUsIGEgY2FsY3VsYXRlZCBhbmlvbiBnYXAgb3IgYSBmZXRhbCBtZWFzdXJlbWVudCBiYXNlZCBvbiBhbiB1bHRyYXNvdW5kIGltYWdlLiIgY29tbWVudD0iQWxsIHRoZSByZWZlcmVuY2UgY2hvaWNlcyB0aGF0IGFyZSBsaXN0ZWQgaW4gdGhpcyBlbGVtZW50IGNhbiByZXByZXNlbnQgY2xpbmljYWwgb2JzZXJ2YXRpb25zIGFuZCBvdGhlciBtZWFzdXJlbWVudHMgdGhhdCBtYXkgYmUgdGhlIHNvdXJjZSBmb3IgYSBkZXJpdmVkIHZhbHVlLiAgVGhlIG1vc3QgY29tbW9uIHJlZmVyZW5jZSB3aWxsIGJlIGFub3RoZXIgT2JzZXJ2YXRpb24uICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb21wb25lbnQiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENvbXBvbmVudCBvYnNlcnZhdGlvbnMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgY29tcG9uZW50IG9ic2VydmF0aW9uIHN1Y2ggYXMgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBibG9vZCBwcmVzc3VyZS4iIGNvbW1lbnQ9IkZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBiZSBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50Ii8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iSWYgdGhlcmUgaXMgbm8gYSB2YWx1ZSBhIGRhdGEgYWJzZW50IHJlYXNvbiBtdXN0IGJlIHByZXNlbnQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InZhbHVlLmV4aXN0cygpIG9yIGRhdGFBYnNlbnRSZWFzb24uZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVTQ29yZUJvZHlXZWlnaHRQcm9maWxlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLWJvZHktd2VpZ2h0IiBsYWJlbD0iVVMgQ29yZSBCb2R5IFdlaWdodCBQcm9maWxlIiB0YXJnZXQ9Ik9ic2VydmF0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IkZ1bGZpbGxzIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIiBkZWZpbml0aW9uPSJBIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBldmVudC4gIEZvciBleGFtcGxlLCBhIE1lZGljYXRpb25SZXF1ZXN0IG1heSByZXF1aXJlIGEgcGF0aWVudCB0byBoYXZlIGxhYm9yYXRvcnkgdGVzdCBwZXJmb3JtZWQgYmVmb3JlICBpdCBpcyBkaXNwZW5zZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iUGFydCBvZiByZWZlcmVuY2VkIGV2ZW50IiBkZWZpbml0aW9uPSJBIGxhcmdlciBldmVudCBvZiB3aGljaCB0aGlzIHBhcnRpY3VsYXIgT2JzZXJ2YXRpb24gaXMgYSBjb21wb25lbnQgb3Igc3RlcC4gIEZvciBleGFtcGxlLCAgYW4gb2JzZXJ2YXRpb24gYXMgcGFydCBvZiBhIHByb2NlZHVyZS4iIGNvbW1lbnQ9IlRvIGxpbmsgYW4gT2JzZXJ2YXRpb24gdG8gYW4gRW5jb3VudGVyIHVzZSBgZW5jb3VudGVyYC4gIFNlZSB0aGUgIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdyBmb3IgZ3VpZGFuY2Ugb24gcmVmZXJlbmNpbmcgYW5vdGhlciBPYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihVU0NESSkgcmVnaXN0ZXJlZCB8IHByZWxpbWluYXJ5IHwgZmluYWwgfCBhbWVuZGVkICsiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHJlc3VsdCB2YWx1ZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU3RhdHVzIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iVlNDYXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXBhcmVudC5jYXRlZ29yeVtjb2Rpbmcuc3lzdGVtPSdodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL29ic2VydmF0aW9uLWNhdGVnb3J5Jyxjb2RpbmcuY29kZT0ndml0YWwtc2lnbnMnXSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIEJvZHkgV2VpZ2h0IiBkZWZpbml0aW9uPSJDb2RlZCBSZXNwb25zZXMgZnJvbSBDLUNEQSBWaXRhbCBTaWduIFJlc3VsdHMuIiBjb21tZW50PSIqQWxsKiBjb2RlLXZhbHVlIGFuZCwgaWYgcHJlc2VudCwgY29tcG9uZW50LmNvZGUtY29tcG9uZW50LnZhbHVlIHBhaXJzIG5lZWQgdG8gYmUgdGFrZW4gaW50byBhY2NvdW50IHRvIGNvcnJlY3RseSB1bmRlcnN0YW5kIHRoZSBtZWFuaW5nIG9mIHRoZSBvYnNlcnZhdGlvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IlRoZSB2aXRhbCBzaWduIGNvZGVzIGZyb20gdGhlIGJhc2UgRkhJUiBhbmQgVVMgQ29yZSBWaXRhbCBTaWducy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBXaG8gYW5kL29yIHdoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0IiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgdGhpcyBvYnNlcnZhdGlvbiBpcyBhYm91dCBhbmQgaW50byB3aG9zZSByZWNvcmQgdGhlIG9ic2VydmF0aW9uIGlzIHBsYWNlZC4gSWYgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24gaXMgZGlmZmVyZW50IGZyb20gdGhlIHN1YmplY3QgKG9yIGEgc2FtcGxlIG9mLCBwYXJ0LCBvciByZWdpb24gb2YgdGhlIHN1YmplY3QpLCB0aGUgYGZvY3VzYCBlbGVtZW50IG9yIHRoZSBgY29kZWAgaXRzZWxmIHNwZWNpZmllcyB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9uZSB3b3VsZCBleHBlY3QgdGhpcyBlbGVtZW50IHRvIGJlIGEgY2FyZGluYWxpdHkgb2YgMS4uMS4gVGhlIG9ubHkgY2lyY3Vtc3RhbmNlIGluIHdoaWNoIHRoZSBzdWJqZWN0IGNhbiBiZSBtaXNzaW5nIGlzIHdoZW4gdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgYnkgYSBkZXZpY2UgdGhhdCBkb2VzIG5vdCBrbm93IHRoZSBwYXRpZW50LiBJbiB0aGlzIGNhc2UsIHRoZSBvYnNlcnZhdGlvbiBTSEFMTCBiZSBtYXRjaGVkIHRvIGEgcGF0aWVudCB0aHJvdWdoIHNvbWUgY29udGV4dC9jaGFubmVsIG1hdGNoaW5nIHRlY2huaXF1ZSwgYW5kIGF0IHRoaXMgcG9pbnQsIHRoZSBvYnNlcnZhdGlvbiBzaG91bGQgYmUgdXBkYXRlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jdXMiIGRlc2NyaXB0aW9uPSJXaGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCwgd2hlbiBpdCBpcyBub3QgYWJvdXQgdGhlIHN1YmplY3Qgb2YgcmVjb3JkIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIHdoZW4gaXQgaXMgbm90IHRoZSBwYXRpZW50IG9mIHJlY29yZCByZXByZXNlbnRpbmcgc29tZXRoaW5nIG9yIHNvbWVvbmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYXRpZW50IHN1Y2ggYXMgYSBzcG91c2UsIHBhcmVudCwgZmV0dXMsIG9yIGRvbm9yLiBGb3IgZXhhbXBsZSwgZmV0dXMgb2JzZXJ2YXRpb25zIGluIGEgbW90aGVyJ3MgcmVjb3JkLiAgVGhlIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIGNvdWxkIGFsc28gYmUgYW4gZXhpc3RpbmcgY29uZGl0aW9uLCAgYW4gaW50ZXJ2ZW50aW9uLCB0aGUgc3ViamVjdCdzIGRpZXQsICBhbm90aGVyIG9ic2VydmF0aW9uIG9mIHRoZSBzdWJqZWN0LCAgb3IgYSBib2R5IHN0cnVjdHVyZSBzdWNoIGFzIHR1bW9yIG9yIGltcGxhbnRlZCBkZXZpY2UuICAgQW4gZXhhbXBsZSB1c2UgY2FzZSB3b3VsZCBiZSB1c2luZyB0aGUgT2JzZXJ2YXRpb24gcmVzb3VyY2UgdG8gY2FwdHVyZSB3aGV0aGVyIHRoZSBtb3RoZXIgaXMgdHJhaW5lZCB0byBjaGFuZ2UgaGVyIGNoaWxkJ3MgdHJhY2hlb3N0b215IHR1YmUuIEluIHRoaXMgZXhhbXBsZSwgdGhlIGNoaWxkIGlzIHRoZSBwYXRpZW50IG9mIHJlY29yZCBhbmQgdGhlIG1vdGhlciBpcyB0aGUgZm9jdXMuIiBjb21tZW50PSJUeXBpY2FsbHksIGFuIG9ic2VydmF0aW9uIGlzIG1hZGUgYWJvdXQgdGhlIHN1YmplY3QgLSBhIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIC0gYW5kIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRoZSBzdWJqZWN0IGFuZCB3aGF0IGlzIGRpcmVjdGx5IG1lYXN1cmVkIGZvciBhbiBvYnNlcnZhdGlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIG9ic2VydmF0aW9uIGNvZGUgaXRzZWxmICggZS5nLiwgJnF1b3Q7Qmxvb2QgR2x1Y29zZSZxdW90OykgYW5kIGRvZXMgbm90IG5lZWQgdG8gYmUgcmVwcmVzZW50ZWQgc2VwYXJhdGVseSB1c2luZyB0aGlzIGVsZW1lbnQuICBVc2UgYHNwZWNpbWVuYCBpZiBhIHJlZmVyZW5jZSB0byBhIHNwZWNpbWVuIGlzIHJlcXVpcmVkLiAgSWYgYSBjb2RlIGlzIHJlcXVpcmVkIGluc3RlYWQgb2YgYSByZXNvdXJjZSB1c2UgZWl0aGVyICBgYm9keXNpdGVgIGZvciBib2R5c2l0ZXMgb3IgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbZm9jdXNDb2RlXShodHRwOi8vaGw3Lm9yZy9maGlyL2V4dGVuc2lvbi1vYnNlcnZhdGlvbi1mb2N1c2NvZGUuaHRtbCkuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkhlYWx0aGNhcmUgZXZlbnQgZHVyaW5nIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gaXMgbWFkZSIgZGVmaW5pdGlvbj0iVGhlIGhlYWx0aGNhcmUgZXZlbnQgIChlLmcuIGEgcGF0aWVudCBhbmQgaGVhbHRoY2FyZSBwcm92aWRlciBpbnRlcmFjdGlvbikgZHVyaW5nIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gaXMgbWFkZS4iIGNvbW1lbnQ9IlRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgdGhlIGVuY291bnRlciB0aGUgZXZlbnQgb2NjdXJyZWQgd2l0aGluLCBidXQgc29tZSBldmVudHMgbWF5IGJlIGluaXRpYXRlZCBwcmlvciB0byBvciBhZnRlciB0aGUgb2ZmaWNpYWwgY29tcGxldGlvbiBvZiBhbiBlbmNvdW50ZXIgYnV0IHN0aWxsIGJlIHRpZWQgdG8gdGhlIGNvbnRleHQgb2YgdGhlIGVuY291bnRlciAoZS5nLiBwcmUtYWRtaXNzaW9uIGxhYm9yYXRvcnkgdGVzdHMpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIE9mdGVuIGp1c3QgYSBkYXRlVGltZSBmb3IgVml0YWwgU2lnbnMiIGRlZmluaXRpb249Ik9mdGVuIGp1c3QgYSBkYXRlVGltZSBmb3IgVml0YWwgU2lnbnMuIiBjb21tZW50PSJBdCBsZWFzdCBhIGRhdGUgc2hvdWxkIGJlIHByZXNlbnQgdW5sZXNzIHRoaXMgb2JzZXJ2YXRpb24gaXMgYSBoaXN0b3JpY2FsIHJlcG9ydC4gIEZvciByZWNvcmRpbmcgaW1wcmVjaXNlIG9yICZxdW90O2Z1enp5JnF1b3Q7IHRpbWVzIChGb3IgZXhhbXBsZSwgYSBibG9vZCBnbHVjb3NlIG1lYXN1cmVtZW50IHRha2VuICZxdW90O2FmdGVyIGJyZWFrZmFzdCZxdW90OykgdXNlIHRoZSBbVGltaW5nXShodHRwOi8vaGw3Lm9yZy9maGlyL2RhdGF0eXBlcy5odG1sI3RpbWluZykgZGF0YXR5cGUgd2hpY2ggYWxsb3cgdGhlIG1lYXN1cmVtZW50IHRvIGJlIHRpZWQgdG8gcmVndWxhciBsaWZlIGV2ZW50cy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJpZiBPYnNlcnZhdGlvbi5lZmZlY3RpdmVbeF0gaXMgZGF0ZVRpbWUgYW5kIGhhcyBhIHZhbHVlIHRoZW4gdGhhdCB2YWx1ZSBzaGFsbCBiZSBwcmVjaXNlIHRvIHRoZSBkYXkiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249IigkdGhpcyBhcyBkYXRlVGltZSkudG9TdHJpbmcoKS5sZW5ndGgoKSAmZ3Q7PSA4Ii8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaXNzdWVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUvVGltZSB0aGlzIHZlcnNpb24gd2FzIG1hZGUgYXZhaWxhYmxlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGlzIHZlcnNpb24gb2YgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIGF2YWlsYWJsZSB0byBwcm92aWRlcnMsIHR5cGljYWxseSBhZnRlciB0aGUgcmVzdWx0cyBoYXZlIGJlZW4gcmV2aWV3ZWQgYW5kIHZlcmlmaWVkLiIgY29tbWVudD0iRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvbuKAmXQgcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiwgaXQgbWF5IGJlIHRoZSBzYW1lIGFzIHRoZSBbYGxhc3RVcGRhdGVkYCBdKGh0dHA6Ly9obDcub3JnL2ZoaXIvcmVzb3VyY2UtZGVmaW5pdGlvbnMuaHRtbCNNZXRhLmxhc3RVcGRhdGVkKSB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYuICBGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG8gcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiBmb3IgY2VydGFpbiB1cGRhdGVzLCBpdCBtaWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGBsYXN0VXBkYXRlZGAgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmIGR1ZSB0byBhIG5vbi1jbGluaWNhbGx5IHNpZ25pZmljYW50IHVwZGF0ZSB0aGF0IGRvZXNu4oCZdCByZXF1aXJlIHRoZSBuZXcgdmVyc2lvbiB0byBiZSByZXZpZXdlZCBhbmQgdmVyaWZpZWQgYWdhaW4uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IldobyB3YXMgcmVzcG9uc2libGUgZm9yIGFzc2VydGluZyB0aGUgb2JzZXJ2ZWQgdmFsdWUgYXMgJnF1b3Q7dHJ1ZSZxdW90Oy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFZpdGFsIFNpZ25zIFZhbHVlIiBkZWZpbml0aW9uPSJWaXRhbCBTaWducyB2YWx1ZSBhcmUgdHlwaWNhbGx5IHJlY29yZGVkIHVzaW5nIHRoZSBRdWFudGl0eSBkYXRhIHR5cGUuIiBjb21tZW50PSJBbiBvYnNlcnZhdGlvbiBtYXkgaGF2ZTsgMSkgIGEgc2luZ2xlIHZhbHVlIGhlcmUsIDIpICBib3RoIGEgdmFsdWUgYW5kIGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcywgIG9yIDMpICBvbmx5IGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcy4gSWYgYSB2YWx1ZSBpcyBwcmVzZW50LCB0aGUgZGF0YXR5cGUgZm9yIHRoaXMgZWxlbWVudCBzaG91bGQgYmUgZGV0ZXJtaW5lZCBieSBPYnNlcnZhdGlvbi5jb2RlLiAgQSBDb2RlYWJsZUNvbmNlcHQgd2l0aCBqdXN0IGEgdGV4dCB3b3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgYSBzdHJpbmcgaWYgdGhlIGZpZWxkIHdhcyB1c3VhbGx5IGNvZGVkLCBvciBpZiB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhlIE9ic2VydmF0aW9uLmNvZGUgZGVmaW5lcyBhIGNvZGVkIHZhbHVlLiAgRm9yIGFkZGl0aW9uYWwgZ3VpZGFuY2UsIHNlZSB0aGUgW05vdGVzIHNlY3Rpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJDb21tb24gVUNVTSB1bml0cyBmb3IgcmVjb3JkaW5nIFZpdGFsIFNpZ25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YUFic2VudFJlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBXaHkgdGhlIHJlc3VsdCBpcyBtaXNzaW5nIiBkZWZpbml0aW9uPSJQcm92aWRlcyBhIHJlYXNvbiB3aHkgdGhlIGV4cGVjdGVkIHZhbHVlIGluIHRoZSBlbGVtZW50IE9ic2VydmF0aW9uLnZhbHVlW3hdIGlzIG1pc3NpbmcuIiBjb21tZW50PSJOdWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcyBjYW4gYmUgcmVwcmVzZW50ZWQgdHdvIHdheXMgaW4gRkhJUiBPYnNlcnZhdGlvbnMuICBPbmUgd2F5IGlzIHRvIHNpbXBseSBpbmNsdWRlIHRoZW0gaW4gdGhlIHZhbHVlIHNldCBhbmQgcmVwcmVzZW50IHRoZSBleGNlcHRpb25zIGluIHRoZSB2YWx1ZS4gIEZvciBleGFtcGxlLCBtZWFzdXJlbWVudCB2YWx1ZXMgZm9yIGEgc2Vyb2xvZ3kgdGVzdCBjb3VsZCBiZSAgJnF1b3Q7ZGV0ZWN0ZWQmcXVvdDssICZxdW90O25vdCBkZXRlY3RlZCZxdW90OywgJnF1b3Q7aW5jb25jbHVzaXZlJnF1b3Q7LCBvciAgJnF1b3Q7c3BlY2ltZW4gdW5zYXRpc2ZhY3RvcnkmcXVvdDsuICAgJiMxMDsmIzEwO1RoZSBhbHRlcm5hdGUgd2F5IGlzIHRvIHVzZSB0aGUgdmFsdWUgZWxlbWVudCBmb3IgYWN0dWFsIG9ic2VydmF0aW9ucyBhbmQgdXNlIHRoZSBleHBsaWNpdCBkYXRhQWJzZW50UmVhc29uIGVsZW1lbnQgdG8gcmVjb3JkIGV4Y2VwdGlvbmFsIHZhbHVlcy4gIEZvciBleGFtcGxlLCB0aGUgZGF0YUFic2VudFJlYXNvbiBjb2RlICZxdW90O2Vycm9yJnF1b3Q7IGNvdWxkIGJlIHVzZWQgd2hlbiB0aGUgbWVhc3VyZW1lbnQgd2FzIG5vdCBjb21wbGV0ZWQuIE5vdGUgdGhhdCBhbiBvYnNlcnZhdGlvbiBtYXkgb25seSBiZSByZXBvcnRlZCBpZiB0aGVyZSBhcmUgdmFsdWVzIHRvIHJlcG9ydC4gRm9yIGV4YW1wbGUgZGlmZmVyZW50aWFsIGNlbGwgY291bnRzIHZhbHVlcyBtYXkgYmUgcmVwb3J0ZWQgb25seSB3aGVuICZndDsgMC4gIEJlY2F1c2Ugb2YgdGhlc2Ugb3B0aW9ucywgdXNlLWNhc2UgYWdyZWVtZW50cyBhcmUgcmVxdWlyZWQgdG8gaW50ZXJwcmV0IGdlbmVyYWwgb2JzZXJ2YXRpb25zIGZvciBudWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25WYWx1ZUFic2VudFJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIHNwZWNpZnlpbmcgd2h5IHRoZSByZXN1bHQgKGBPYnNlcnZhdGlvbi52YWx1ZVt4XWApIGlzIG1pc3NpbmcuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlcnByZXRhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhpZ2gsIGxvdywgbm9ybWFsLCBldGMuIiBkZWZpbml0aW9uPSJBIGNhdGVnb3JpY2FsIGFzc2Vzc21lbnQgb2YgYW4gb2JzZXJ2YXRpb24gdmFsdWUuICBGb3IgZXhhbXBsZSwgaGlnaCwgbG93LCBub3JtYWwuIiBjb21tZW50PSJIaXN0b3JpY2FsbHkgdXNlZCBmb3IgbGFib3JhdG9yeSByZXN1bHRzIChrbm93biBhcyAnYWJub3JtYWwgZmxhZycgKSwgIGl0cyB1c2UgZXh0ZW5kcyB0byBvdGhlciB1c2UgY2FzZXMgd2hlcmUgY29kZWQgaW50ZXJwcmV0YXRpb25zICBhcmUgcmVsZXZhbnQuICBPZnRlbiByZXBvcnRlZCBhcyBvbmUgb3IgbW9yZSBzaW1wbGUgY29tcGFjdCBjb2RlcyB0aGlzIGVsZW1lbnQgaXMgb2Z0ZW4gcGxhY2VkIGFkamFjZW50IHRvIHRoZSByZXN1bHQgdmFsdWUgaW4gcmVwb3J0cyBhbmQgZmxvdyBzaGVldHMgdG8gc2lnbmFsIHRoZSBtZWFuaW5nL25vcm1hbGN5IHN0YXR1cyBvZiB0aGUgcmVzdWx0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkludGVycHJldGF0aW9uIiBkZXNjcmlwdGlvbj0iQ29kZXMgaWRlbnRpZnlpbmcgaW50ZXJwcmV0YXRpb25zIG9mIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiBvciB0aGUgcmVzdWx0cy4iIGNvbW1lbnQ9Ik1heSBpbmNsdWRlIGdlbmVyYWwgc3RhdGVtZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24sIG9yIHN0YXRlbWVudHMgYWJvdXQgc2lnbmlmaWNhbnQsIHVuZXhwZWN0ZWQgb3IgdW5yZWxpYWJsZSByZXN1bHRzIHZhbHVlcywgb3IgaW5mb3JtYXRpb24gYWJvdXQgaXRzIHNvdXJjZSB3aGVuIHJlbGV2YW50IHRvIGl0cyBpbnRlcnByZXRhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik9ic2VydmVkIGJvZHkgcGFydCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBzaXRlIG9uIHRoZSBzdWJqZWN0J3MgYm9keSB3aGVyZSB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgKGkuZS4gdGhlIHRhcmdldCBzaXRlKS4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBPYnNlcnZhdGlvbi5jb2RlLiAgSW4gbWFueSBzeXN0ZW1zLCB0aGlzIG1heSBiZSByZXByZXNlbnRlZCBhcyBhIHJlbGF0ZWQgb2JzZXJ2YXRpb24gaW5zdGVhZCBvZiBhbiBpbmxpbmUgY29tcG9uZW50LiAgICYjMTA7JiMxMDtJZiB0aGUgdXNlIGNhc2UgcmVxdWlyZXMgQm9keVNpdGUgdG8gYmUgaGFuZGxlZCBhcyBhIHNlcGFyYXRlIHJlc291cmNlIChlLmcuIHRvIGlkZW50aWZ5IGFuZCB0cmFjayBzZXBhcmF0ZWx5KSB0aGVuIHVzZSB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uWyBib2R5U2l0ZV0oaHR0cDovL2hsNy5vcmcvZmhpci9leHRlbnNpb24tYm9keXNpdGUuaHRtbCkuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQm9keVNpdGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGFuYXRvbWljYWwgbG9jYXRpb25zLiBNYXkgaW5jbHVkZSBsYXRlcmFsaXR5LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibWV0aG9kIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIb3cgaXQgd2FzIGRvbmUiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgbWVjaGFuaXNtIHVzZWQgdG8gcGVyZm9ybSB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm9yIE9ic2VydmF0aW9uLmNvZGUuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25NZXRob2QiIGRlc2NyaXB0aW9uPSJNZXRob2RzIGZvciBzaW1wbGUgb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3BlY2ltZW4iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iU3BlY2ltZW4gdXNlZCBmb3IgdGhpcyBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHNwZWNpbWVuIHRoYXQgd2FzIHVzZWQgd2hlbiB0aGlzIG9ic2VydmF0aW9uIHdhcyBtYWRlLiIgY29tbWVudD0iU2hvdWxkIG9ubHkgYmUgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBgT2JzZXJ2YXRpb24uY29kZWAuICBPYnNlcnZhdGlvbnMgYXJlIG5vdCBtYWRlIG9uIHNwZWNpbWVucyB0aGVtc2VsdmVzOyB0aGV5IGFyZSBtYWRlIG9uIGEgc3ViamVjdCwgYnV0IGluIG1hbnkgY2FzZXMgYnkgdGhlIG1lYW5zIG9mIGEgc3BlY2ltZW4uIE5vdGUgdGhhdCBhbHRob3VnaCBzcGVjaW1lbnMgYXJlIG9mdGVuIGludm9sdmVkLCB0aGV5IGFyZSBub3QgYWx3YXlzIHRyYWNrZWQgYW5kIHJlcG9ydGVkIGV4cGxpY2l0bHkuIEFsc28gbm90ZSB0aGF0IG9ic2VydmF0aW9uIHJlc291cmNlcyBtYXkgYmUgdXNlZCBpbiBjb250ZXh0cyB0aGF0IHRyYWNrIHRoZSBzcGVjaW1lbiBleHBsaWNpdGx5IChlLmcuIERpYWdub3N0aWMgUmVwb3J0KS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXZpY2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKE1lYXN1cmVtZW50KSBEZXZpY2UiIGRlZmluaXRpb249IlRoZSBkZXZpY2UgdXNlZCB0byBnZW5lcmF0ZSB0aGUgb2JzZXJ2YXRpb24gZGF0YS4iIGNvbW1lbnQ9Ik5vdGUgdGhhdCB0aGlzIGlzIG5vdCBtZWFudCB0byByZXByZXNlbnQgYSBkZXZpY2UgaW52b2x2ZWQgaW4gdGhlIHRyYW5zbWlzc2lvbiBvZiB0aGUgcmVzdWx0LCBlLmcuLCBhIGdhdGV3YXkuICBTdWNoIGRldmljZXMgbWF5IGJlIGRvY3VtZW50ZWQgdXNpbmcgdGhlIFByb3ZlbmFuY2UgcmVzb3VyY2Ugd2hlcmUgcmVsZXZhbnQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVmZXJlbmNlUmFuZ2UiIGRlc2NyaXB0aW9uPSJQcm92aWRlcyBndWlkZSBmb3IgaW50ZXJwcmV0YXRpb24iIGRlZmluaXRpb249Ikd1aWRhbmNlIG9uIGhvdyB0byBpbnRlcnByZXQgdGhlIHZhbHVlIGJ5IGNvbXBhcmlzb24gdG8gYSBub3JtYWwgb3IgcmVjb21tZW5kZWQgcmFuZ2UuICBNdWx0aXBsZSByZWZlcmVuY2UgcmFuZ2VzIGFyZSBpbnRlcnByZXRlZCBhcyBhbiAmcXVvdDtPUiZxdW90Oy4gICBJbiBvdGhlciB3b3JkcywgdG8gcmVwcmVzZW50IHR3byBkaXN0aW5jdCB0YXJnZXQgcG9wdWxhdGlvbnMsIHR3byBgcmVmZXJlbmNlUmFuZ2VgIGVsZW1lbnRzIHdvdWxkIGJlIHVzZWQuIiBjb21tZW50PSJNb3N0IG9ic2VydmF0aW9ucyBvbmx5IGhhdmUgb25lIGdlbmVyaWMgcmVmZXJlbmNlIHJhbmdlLiBTeXN0ZW1zIE1BWSBjaG9vc2UgdG8gcmVzdHJpY3QgdG8gb25seSBzdXBwbHlpbmcgdGhlIHJlbGV2YW50IHJlZmVyZW5jZSByYW5nZSBiYXNlZCBvbiBrbm93bGVkZ2UgYWJvdXQgdGhlIHBhdGllbnQgKGUuZy4sIHNwZWNpZmljIHRvIHRoZSBwYXRpZW50J3MgYWdlLCBnZW5kZXIsIHdlaWdodCBhbmQgb3RoZXIgZmFjdG9ycyksIGJ1dCB0aGlzIG1pZ2h0IG5vdCBiZSBwb3NzaWJsZSBvciBhcHByb3ByaWF0ZS4gV2hlbmV2ZXIgbW9yZSB0aGFuIG9uZSByZWZlcmVuY2UgcmFuZ2UgaXMgc3VwcGxpZWQsIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZW0gU0hPVUxEIGJlIHByb3ZpZGVkIGluIHRoZSByZWZlcmVuY2UgcmFuZ2UgYW5kL29yIGFnZSBwcm9wZXJ0aWVzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uUmVmZXJlbmNlUmFuZ2UiLz4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0ib2JzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iTXVzdCBoYXZlIGF0IGxlYXN0IGEgbG93IG9yIGEgaGlnaCBvciB0ZXh0Ij4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJsb3cuZXhpc3RzKCkgb3IgaGlnaC5leGlzdHMoKSBvciB0ZXh0LmV4aXN0cygpIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaGFzTWVtYmVyIiBkZXNjcmlwdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyB2aXRhbCBzaWducyBwYW5lbCBjb21wb25lbnRzIiBkZWZpbml0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIHZpdGFsIHNpZ25zIHBhbmVsIGNvbXBvbmVudHMuIiBjb21tZW50PSJXaGVuIHVzaW5nIHRoaXMgZWxlbWVudCwgYW4gb2JzZXJ2YXRpb24gd2lsbCB0eXBpY2FsbHkgaGF2ZSBlaXRoZXIgYSB2YWx1ZSBvciBhIHNldCBvZiByZWxhdGVkIHJlc291cmNlcywgYWx0aG91Z2ggYm90aCBtYXkgYmUgcHJlc2VudCBpbiBzb21lIGNhc2VzLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuICBOb3RlIHRoYXQgYSBzeXN0ZW0gbWF5IGNhbGN1bGF0ZSByZXN1bHRzIGZyb20gW1F1ZXN0aW9ubmFpcmVSZXNwb25zZV0oaHR0cDovL2hsNy5vcmcvZmhpci9xdWVzdGlvbm5haXJlcmVzcG9uc2UuaHRtbCkgIGludG8gYSBmaW5hbCBzY29yZSBhbmQgcmVwcmVzZW50IHRoZSBzY29yZSBhcyBhbiBPYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXJpdmVkRnJvbSIgZGVzY3JpcHRpb249IlJlbGF0ZWQgbWVhc3VyZW1lbnRzIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGZyb20iIGRlZmluaXRpb249IlRoZSB0YXJnZXQgcmVzb3VyY2UgdGhhdCByZXByZXNlbnRzIGEgbWVhc3VyZW1lbnQgZnJvbSB3aGljaCB0aGlzIG9ic2VydmF0aW9uIHZhbHVlIGlzIGRlcml2ZWQuIEZvciBleGFtcGxlLCBhIGNhbGN1bGF0ZWQgYW5pb24gZ2FwIG9yIGEgZmV0YWwgbWVhc3VyZW1lbnQgYmFzZWQgb24gYW4gdWx0cmFzb3VuZCBpbWFnZS4iIGNvbW1lbnQ9IkFsbCB0aGUgcmVmZXJlbmNlIGNob2ljZXMgdGhhdCBhcmUgbGlzdGVkIGluIHRoaXMgZWxlbWVudCBjYW4gcmVwcmVzZW50IGNsaW5pY2FsIG9ic2VydmF0aW9ucyBhbmQgb3RoZXIgbWVhc3VyZW1lbnRzIHRoYXQgbWF5IGJlIHRoZSBzb3VyY2UgZm9yIGEgZGVyaXZlZCB2YWx1ZS4gIFRoZSBtb3N0IGNvbW1vbiByZWZlcmVuY2Ugd2lsbCBiZSBhbm90aGVyIE9ic2VydmF0aW9uLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBDb21wb25lbnQgb2JzZXJ2YXRpb25zIiBkZWZpbml0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIGNvbXBvbmVudCBvYnNlcnZhdGlvbiBzdWNoIGFzIHN5c3RvbGljIGFuZCBkaWFzdG9saWMgYmxvb2QgcHJlc3N1cmUuIiBjb21tZW50PSJGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYmUgYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ2cy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IklmIHRoZXJlIGlzIG5vIGEgdmFsdWUgYSBkYXRhIGFic2VudCByZWFzb24gbXVzdCBiZSBwcmVzZW50Ij4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ2YWx1ZS5leGlzdHMoKSBvciBkYXRhQWJzZW50UmVhc29uLmV4aXN0cygpIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJVU0NvcmVFdGhuaWNpdHlFeHRlbnNpb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZXRobmljaXR5IiBsYWJlbD0iVVMgQ29yZSBFdGhuaWNpdHkgRXh0ZW5zaW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuRXh0ZW5zaW9uIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJvbWJDYXRlZ29yeSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29kZSglcGFyZW50LmV4dGVuc2lvblt1cmw9J29tYkNhdGVnb3J5J10udmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBIaXNwYW5pYyBvciBMYXRpbm98Tm90IEhpc3BhbmljIG9yIExhdGlubyIgZGVmaW5pdGlvbj0iVGhlIDIgZXRobmljaXR5IGNhdGVnb3J5IGNvZGVzIGFjY29yZGluZyB0byB0aGUgW09NQiBTdGFuZGFyZHMgZm9yIE1haW50YWluaW5nLCBDb2xsZWN0aW5nLCBhbmQgUHJlc2VudGluZyBGZWRlcmFsIERhdGEgb24gUmFjZSBhbmQgRXRobmljaXR5LCBTdGF0aXN0aWNhbCBQb2xpY3kgRGlyZWN0aXZlIE5vLiAxNSwgYXMgcmV2aXNlZCwgT2N0b2JlciAzMCwgMTk5N10oaHR0cHM6Ly93d3cuZ292aW5mby5nb3YvY29udGVudC9wa2cvRlItMTk5Ny0xMC0zMC9wZGYvOTctMjg2NTMucGRmKS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGV0YWlsZWQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCVwYXJlbnQuZXh0ZW5zaW9uW3VybD0nZGV0YWlsZWQnXS52YWx1ZSkiIGRlc2NyaXB0aW9uPSJFeHRlbmRlZCBldGhuaWNpdHkgY29kZXMiIGRlZmluaXRpb249IlRoZSA0MSBDREMgZXRobmljaXR5IGNvZGVzIHRoYXQgYXJlIGdyb3VwZWQgdW5kZXIgb25lIG9mIHRoZSAyIE9NQiBldGhuaWNpdHkgY2F0ZWdvcnkgY29kZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db2RlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InRleHQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiVwYXJlbnQuZXh0ZW5zaW9uW3VybD0ndGV4dCddLnZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBldGhuaWNpdHkgVGV4dCIgZGVmaW5pdGlvbj0iUGxhaW4gdGV4dCByZXByZXNlbnRhdGlvbiBvZiB0aGUgZXRobmljaXR5IGNvbmNlcHQocykuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InVybCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iaWRlbnRpZmllcyB0aGUgbWVhbmluZyBvZiB0aGUgZXh0ZW5zaW9uIiBkZWZpbml0aW9uPSJTb3VyY2Ugb2YgdGhlIGRlZmluaXRpb24gZm9yIHRoZSBleHRlbnNpb24gY29kZSAtIGEgbG9naWNhbCBuYW1lIG9yIGEgVVJMLiIgY29tbWVudD0iVGhlIGRlZmluaXRpb24gbWF5IHBvaW50IGRpcmVjdGx5IHRvIGEgY29tcHV0YWJsZSBvciBodW1hbi1yZWFkYWJsZSBkZWZpbml0aW9uIG9mIHRoZSBleHRlbnNpYmlsaXR5IGNvZGVzLCBvciBpdCBtYXkgYmUgYSBsb2dpY2FsIFVSSSBhcyBkZWNsYXJlZCBpbiBzb21lIG90aGVyIHNwZWNpZmljYXRpb24uIFRoZSBkZWZpbml0aW9uIFNIQUxMIGJlIGEgVVJJIGZvciB0aGUgU3RydWN0dXJlIERlZmluaXRpb24gZGVmaW5pbmcgdGhlIGV4dGVuc2lvbi4iLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVTQ29yZUV4dGVuc2lvblF1ZXN0aW9ubmFpcmVVcmkiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZXh0ZW5zaW9uLXF1ZXN0aW9ubmFpcmUtdXJpIiBsYWJlbD0iVVMgQ29yZSBFeHRlbnNpb24gUXVlc3Rpb25uYWlyZSBVUkkiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlR2VuZGVySWRlbnRpdHlFeHRlbnNpb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZ2VuZGVySWRlbnRpdHkiIGxhYmVsPSJVUyBDb3JlIEdlbmRlciBJZGVudGl0eSBFeHRlbnNpb24iIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVTQ29yZUhlYWRDaXJjdW1mZXJlbmNlUHJvZmlsZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vdXMtY29yZS1oZWFkLWNpcmN1bWZlcmVuY2UiIGxhYmVsPSJVUyBDb3JlIEhlYWQgQ2lyY3VtZmVyZW5jZSBQcm9maWxlIiB0YXJnZXQ9Ik9ic2VydmF0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IkZ1bGZpbGxzIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIiBkZWZpbml0aW9uPSJBIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBldmVudC4gIEZvciBleGFtcGxlLCBhIE1lZGljYXRpb25SZXF1ZXN0IG1heSByZXF1aXJlIGEgcGF0aWVudCB0byBoYXZlIGxhYm9yYXRvcnkgdGVzdCBwZXJmb3JtZWQgYmVmb3JlICBpdCBpcyBkaXNwZW5zZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iUGFydCBvZiByZWZlcmVuY2VkIGV2ZW50IiBkZWZpbml0aW9uPSJBIGxhcmdlciBldmVudCBvZiB3aGljaCB0aGlzIHBhcnRpY3VsYXIgT2JzZXJ2YXRpb24gaXMgYSBjb21wb25lbnQgb3Igc3RlcC4gIEZvciBleGFtcGxlLCAgYW4gb2JzZXJ2YXRpb24gYXMgcGFydCBvZiBhIHByb2NlZHVyZS4iIGNvbW1lbnQ9IlRvIGxpbmsgYW4gT2JzZXJ2YXRpb24gdG8gYW4gRW5jb3VudGVyIHVzZSBgZW5jb3VudGVyYC4gIFNlZSB0aGUgIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdyBmb3IgZ3VpZGFuY2Ugb24gcmVmZXJlbmNpbmcgYW5vdGhlciBPYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihVU0NESSkgcmVnaXN0ZXJlZCB8IHByZWxpbWluYXJ5IHwgZmluYWwgfCBhbWVuZGVkICsiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHJlc3VsdCB2YWx1ZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU3RhdHVzIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iVlNDYXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXBhcmVudC5jYXRlZ29yeVtjb2Rpbmcuc3lzdGVtPSdodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL29ic2VydmF0aW9uLWNhdGVnb3J5Jyxjb2RpbmcuY29kZT0ndml0YWwtc2lnbnMnXSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIEhlYWQgQ2lyY3VtZmVyZW5jZSIgZGVmaW5pdGlvbj0iQ29kZWQgUmVzcG9uc2VzIGZyb20gQy1DREEgVml0YWwgU2lnbiBSZXN1bHRzLiIgY29tbWVudD0iKkFsbCogY29kZS12YWx1ZSBhbmQsIGlmIHByZXNlbnQsIGNvbXBvbmVudC5jb2RlLWNvbXBvbmVudC52YWx1ZSBwYWlycyBuZWVkIHRvIGJlIHRha2VuIGludG8gYWNjb3VudCB0byBjb3JyZWN0bHkgdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGUgdml0YWwgc2lnbiBjb2RlcyBmcm9tIHRoZSBiYXNlIEZISVIgYW5kIFVTIENvcmUgVml0YWwgU2lnbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihVU0NESSkgV2hvIGFuZC9vciB3aGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCIgZGVmaW5pdGlvbj0iVGhlIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIHRoaXMgb2JzZXJ2YXRpb24gaXMgYWJvdXQgYW5kIGludG8gd2hvc2UgcmVjb3JkIHRoZSBvYnNlcnZhdGlvbiBpcyBwbGFjZWQuIElmIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBzdWJqZWN0IChvciBhIHNhbXBsZSBvZiwgcGFydCwgb3IgcmVnaW9uIG9mIHRoZSBzdWJqZWN0KSwgdGhlIGBmb2N1c2AgZWxlbWVudCBvciB0aGUgYGNvZGVgIGl0c2VsZiBzcGVjaWZpZXMgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmUgd291bGQgZXhwZWN0IHRoaXMgZWxlbWVudCB0byBiZSBhIGNhcmRpbmFsaXR5IG9mIDEuLjEuIFRoZSBvbmx5IGNpcmN1bXN0YW5jZSBpbiB3aGljaCB0aGUgc3ViamVjdCBjYW4gYmUgbWlzc2luZyBpcyB3aGVuIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGJ5IGEgZGV2aWNlIHRoYXQgZG9lcyBub3Qga25vdyB0aGUgcGF0aWVudC4gSW4gdGhpcyBjYXNlLCB0aGUgb2JzZXJ2YXRpb24gU0hBTEwgYmUgbWF0Y2hlZCB0byBhIHBhdGllbnQgdGhyb3VnaCBzb21lIGNvbnRleHQvY2hhbm5lbCBtYXRjaGluZyB0ZWNobmlxdWUsIGFuZCBhdCB0aGlzIHBvaW50LCB0aGUgb2JzZXJ2YXRpb24gc2hvdWxkIGJlIHVwZGF0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZvY3VzIiBkZXNjcmlwdGlvbj0iV2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQsIHdoZW4gaXQgaXMgbm90IGFib3V0IHRoZSBzdWJqZWN0IG9mIHJlY29yZCIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiB3aGVuIGl0IGlzIG5vdCB0aGUgcGF0aWVudCBvZiByZWNvcmQgcmVwcmVzZW50aW5nIHNvbWV0aGluZyBvciBzb21lb25lIGFzc29jaWF0ZWQgd2l0aCB0aGUgcGF0aWVudCBzdWNoIGFzIGEgc3BvdXNlLCBwYXJlbnQsIGZldHVzLCBvciBkb25vci4gRm9yIGV4YW1wbGUsIGZldHVzIG9ic2VydmF0aW9ucyBpbiBhIG1vdGhlcidzIHJlY29yZC4gIFRoZSBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiBjb3VsZCBhbHNvIGJlIGFuIGV4aXN0aW5nIGNvbmRpdGlvbiwgIGFuIGludGVydmVudGlvbiwgdGhlIHN1YmplY3QncyBkaWV0LCAgYW5vdGhlciBvYnNlcnZhdGlvbiBvZiB0aGUgc3ViamVjdCwgIG9yIGEgYm9keSBzdHJ1Y3R1cmUgc3VjaCBhcyB0dW1vciBvciBpbXBsYW50ZWQgZGV2aWNlLiAgIEFuIGV4YW1wbGUgdXNlIGNhc2Ugd291bGQgYmUgdXNpbmcgdGhlIE9ic2VydmF0aW9uIHJlc291cmNlIHRvIGNhcHR1cmUgd2hldGhlciB0aGUgbW90aGVyIGlzIHRyYWluZWQgdG8gY2hhbmdlIGhlciBjaGlsZCdzIHRyYWNoZW9zdG9teSB0dWJlLiBJbiB0aGlzIGV4YW1wbGUsIHRoZSBjaGlsZCBpcyB0aGUgcGF0aWVudCBvZiByZWNvcmQgYW5kIHRoZSBtb3RoZXIgaXMgdGhlIGZvY3VzLiIgY29tbWVudD0iVHlwaWNhbGx5LCBhbiBvYnNlcnZhdGlvbiBpcyBtYWRlIGFib3V0IHRoZSBzdWJqZWN0IC0gYSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSAtIGFuZCB0aGUgZGlzdGluY3Rpb24gYmV0d2VlbiB0aGUgc3ViamVjdCBhbmQgd2hhdCBpcyBkaXJlY3RseSBtZWFzdXJlZCBmb3IgYW4gb2JzZXJ2YXRpb24gaXMgc3BlY2lmaWVkIGluIHRoZSBvYnNlcnZhdGlvbiBjb2RlIGl0c2VsZiAoIGUuZy4sICZxdW90O0Jsb29kIEdsdWNvc2UmcXVvdDspIGFuZCBkb2VzIG5vdCBuZWVkIHRvIGJlIHJlcHJlc2VudGVkIHNlcGFyYXRlbHkgdXNpbmcgdGhpcyBlbGVtZW50LiAgVXNlIGBzcGVjaW1lbmAgaWYgYSByZWZlcmVuY2UgdG8gYSBzcGVjaW1lbiBpcyByZXF1aXJlZC4gIElmIGEgY29kZSBpcyByZXF1aXJlZCBpbnN0ZWFkIG9mIGEgcmVzb3VyY2UgdXNlIGVpdGhlciAgYGJvZHlzaXRlYCBmb3IgYm9keXNpdGVzIG9yIHRoZSBzdGFuZGFyZCBleHRlbnNpb24gW2ZvY3VzQ29kZV0oaHR0cDovL2hsNy5vcmcvZmhpci9leHRlbnNpb24tb2JzZXJ2YXRpb24tZm9jdXNjb2RlLmh0bWwpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJIZWFsdGhjYXJlIGV2ZW50IGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUiIGRlZmluaXRpb249IlRoZSBoZWFsdGhjYXJlIGV2ZW50ICAoZS5nLiBhIHBhdGllbnQgYW5kIGhlYWx0aGNhcmUgcHJvdmlkZXIgaW50ZXJhY3Rpb24pIGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgZXZlbnRzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIgKGUuZy4gcHJlLWFkbWlzc2lvbiBsYWJvcmF0b3J5IHRlc3RzKS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zIiBkZWZpbml0aW9uPSJPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zLiIgY29tbWVudD0iQXQgbGVhc3QgYSBkYXRlIHNob3VsZCBiZSBwcmVzZW50IHVubGVzcyB0aGlzIG9ic2VydmF0aW9uIGlzIGEgaGlzdG9yaWNhbCByZXBvcnQuICBGb3IgcmVjb3JkaW5nIGltcHJlY2lzZSBvciAmcXVvdDtmdXp6eSZxdW90OyB0aW1lcyAoRm9yIGV4YW1wbGUsIGEgYmxvb2QgZ2x1Y29zZSBtZWFzdXJlbWVudCB0YWtlbiAmcXVvdDthZnRlciBicmVha2Zhc3QmcXVvdDspIHVzZSB0aGUgW1RpbWluZ10oaHR0cDovL2hsNy5vcmcvZmhpci9kYXRhdHlwZXMuaHRtbCN0aW1pbmcpIGRhdGF0eXBlIHdoaWNoIGFsbG93IHRoZSBtZWFzdXJlbWVudCB0byBiZSB0aWVkIHRvIHJlZ3VsYXIgbGlmZSBldmVudHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTEiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iaWYgT2JzZXJ2YXRpb24uZWZmZWN0aXZlW3hdIGlzIGRhdGVUaW1lIGFuZCBoYXMgYSB2YWx1ZSB0aGVuIHRoYXQgdmFsdWUgc2hhbGwgYmUgcHJlY2lzZSB0byB0aGUgZGF5Ij4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIoJHRoaXMgYXMgZGF0ZVRpbWUpLnRvU3RyaW5nKCkubGVuZ3RoKCkgJmd0Oz0gOCIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imlzc3VlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEYXRlL1RpbWUgdGhpcyB2ZXJzaW9uIHdhcyBtYWRlIGF2YWlsYWJsZSIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgYW5kIHRpbWUgdGhpcyB2ZXJzaW9uIG9mIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSBhdmFpbGFibGUgdG8gcHJvdmlkZXJzLCB0eXBpY2FsbHkgYWZ0ZXIgdGhlIHJlc3VsdHMgaGF2ZSBiZWVuIHJldmlld2VkIGFuZCB2ZXJpZmllZC4iIGNvbW1lbnQ9IkZvciBPYnNlcnZhdGlvbnMgdGhhdCBkb27igJl0IHJlcXVpcmUgcmV2aWV3IGFuZCB2ZXJpZmljYXRpb24sIGl0IG1heSBiZSB0aGUgc2FtZSBhcyB0aGUgW2BsYXN0VXBkYXRlZGAgXShodHRwOi8vaGw3Lm9yZy9maGlyL3Jlc291cmNlLWRlZmluaXRpb25zLmh0bWwjTWV0YS5sYXN0VXBkYXRlZCkgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmLiAgRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvIHJlcXVpcmUgcmV2aWV3IGFuZCB2ZXJpZmljYXRpb24gZm9yIGNlcnRhaW4gdXBkYXRlcywgaXQgbWlnaHQgbm90IGJlIHRoZSBzYW1lIGFzIHRoZSBgbGFzdFVwZGF0ZWRgIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZiBkdWUgdG8gYSBub24tY2xpbmljYWxseSBzaWduaWZpY2FudCB1cGRhdGUgdGhhdCBkb2VzbuKAmXQgcmVxdWlyZSB0aGUgbmV3IHZlcnNpb24gdG8gYmUgcmV2aWV3ZWQgYW5kIHZlcmlmaWVkIGFnYWluLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IldobyBpcyByZXNwb25zaWJsZSBmb3IgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJXaG8gd2FzIHJlc3BvbnNpYmxlIGZvciBhc3NlcnRpbmcgdGhlIG9ic2VydmVkIHZhbHVlIGFzICZxdW90O3RydWUmcXVvdDsuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBWaXRhbCBTaWducyBWYWx1ZSIgZGVmaW5pdGlvbj0iVml0YWwgU2lnbnMgdmFsdWUgYXJlIHR5cGljYWxseSByZWNvcmRlZCB1c2luZyB0aGUgUXVhbnRpdHkgZGF0YSB0eXBlLiIgY29tbWVudD0iQW4gb2JzZXJ2YXRpb24gbWF5IGhhdmU7IDEpICBhIHNpbmdsZSB2YWx1ZSBoZXJlLCAyKSAgYm90aCBhIHZhbHVlIGFuZCBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMsICBvciAzKSAgb25seSBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMuIElmIGEgdmFsdWUgaXMgcHJlc2VudCwgdGhlIGRhdGF0eXBlIGZvciB0aGlzIGVsZW1lbnQgc2hvdWxkIGJlIGRldGVybWluZWQgYnkgT2JzZXJ2YXRpb24uY29kZS4gIEEgQ29kZWFibGVDb25jZXB0IHdpdGgganVzdCBhIHRleHQgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGlmIHRoZSBmaWVsZCB3YXMgdXN1YWxseSBjb2RlZCwgb3IgaWYgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBPYnNlcnZhdGlvbi5jb2RlIGRlZmluZXMgYSBjb2RlZCB2YWx1ZS4gIEZvciBhZGRpdGlvbmFsIGd1aWRhbmNlLCBzZWUgdGhlIFtOb3RlcyBzZWN0aW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQ29tbW9uIFVDVU0gdW5pdHMgZm9yIHJlY29yZGluZyBWaXRhbCBTaWducy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGFBYnNlbnRSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgV2h5IHRoZSByZXN1bHQgaXMgbWlzc2luZyIgZGVmaW5pdGlvbj0iUHJvdmlkZXMgYSByZWFzb24gd2h5IHRoZSBleHBlY3RlZCB2YWx1ZSBpbiB0aGUgZWxlbWVudCBPYnNlcnZhdGlvbi52YWx1ZVt4XSBpcyBtaXNzaW5nLiIgY29tbWVudD0iTnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMgY2FuIGJlIHJlcHJlc2VudGVkIHR3byB3YXlzIGluIEZISVIgT2JzZXJ2YXRpb25zLiAgT25lIHdheSBpcyB0byBzaW1wbHkgaW5jbHVkZSB0aGVtIGluIHRoZSB2YWx1ZSBzZXQgYW5kIHJlcHJlc2VudCB0aGUgZXhjZXB0aW9ucyBpbiB0aGUgdmFsdWUuICBGb3IgZXhhbXBsZSwgbWVhc3VyZW1lbnQgdmFsdWVzIGZvciBhIHNlcm9sb2d5IHRlc3QgY291bGQgYmUgICZxdW90O2RldGVjdGVkJnF1b3Q7LCAmcXVvdDtub3QgZGV0ZWN0ZWQmcXVvdDssICZxdW90O2luY29uY2x1c2l2ZSZxdW90Oywgb3IgICZxdW90O3NwZWNpbWVuIHVuc2F0aXNmYWN0b3J5JnF1b3Q7LiAgICYjMTA7JiMxMDtUaGUgYWx0ZXJuYXRlIHdheSBpcyB0byB1c2UgdGhlIHZhbHVlIGVsZW1lbnQgZm9yIGFjdHVhbCBvYnNlcnZhdGlvbnMgYW5kIHVzZSB0aGUgZXhwbGljaXQgZGF0YUFic2VudFJlYXNvbiBlbGVtZW50IHRvIHJlY29yZCBleGNlcHRpb25hbCB2YWx1ZXMuICBGb3IgZXhhbXBsZSwgdGhlIGRhdGFBYnNlbnRSZWFzb24gY29kZSAmcXVvdDtlcnJvciZxdW90OyBjb3VsZCBiZSB1c2VkIHdoZW4gdGhlIG1lYXN1cmVtZW50IHdhcyBub3QgY29tcGxldGVkLiBOb3RlIHRoYXQgYW4gb2JzZXJ2YXRpb24gbWF5IG9ubHkgYmUgcmVwb3J0ZWQgaWYgdGhlcmUgYXJlIHZhbHVlcyB0byByZXBvcnQuIEZvciBleGFtcGxlIGRpZmZlcmVudGlhbCBjZWxsIGNvdW50cyB2YWx1ZXMgbWF5IGJlIHJlcG9ydGVkIG9ubHkgd2hlbiAmZ3Q7IDAuICBCZWNhdXNlIG9mIHRoZXNlIG9wdGlvbnMsIHVzZS1jYXNlIGFncmVlbWVudHMgYXJlIHJlcXVpcmVkIHRvIGludGVycHJldCBnZW5lcmFsIG9ic2VydmF0aW9ucyBmb3IgbnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uVmFsdWVBYnNlbnRSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBzcGVjaWZ5aW5nIHdoeSB0aGUgcmVzdWx0IChgT2JzZXJ2YXRpb24udmFsdWVbeF1gKSBpcyBtaXNzaW5nLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZXJwcmV0YXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIaWdoLCBsb3csIG5vcm1hbCwgZXRjLiIgZGVmaW5pdGlvbj0iQSBjYXRlZ29yaWNhbCBhc3Nlc3NtZW50IG9mIGFuIG9ic2VydmF0aW9uIHZhbHVlLiAgRm9yIGV4YW1wbGUsIGhpZ2gsIGxvdywgbm9ybWFsLiIgY29tbWVudD0iSGlzdG9yaWNhbGx5IHVzZWQgZm9yIGxhYm9yYXRvcnkgcmVzdWx0cyAoa25vd24gYXMgJ2Fibm9ybWFsIGZsYWcnICksICBpdHMgdXNlIGV4dGVuZHMgdG8gb3RoZXIgdXNlIGNhc2VzIHdoZXJlIGNvZGVkIGludGVycHJldGF0aW9ucyAgYXJlIHJlbGV2YW50LiAgT2Z0ZW4gcmVwb3J0ZWQgYXMgb25lIG9yIG1vcmUgc2ltcGxlIGNvbXBhY3QgY29kZXMgdGhpcyBlbGVtZW50IGlzIG9mdGVuIHBsYWNlZCBhZGphY2VudCB0byB0aGUgcmVzdWx0IHZhbHVlIGluIHJlcG9ydHMgYW5kIGZsb3cgc2hlZXRzIHRvIHNpZ25hbCB0aGUgbWVhbmluZy9ub3JtYWxjeSBzdGF0dXMgb2YgdGhlIHJlc3VsdC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25JbnRlcnByZXRhdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIGludGVycHJldGF0aW9ucyBvZiBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24gb3IgdGhlIHJlc3VsdHMuIiBjb21tZW50PSJNYXkgaW5jbHVkZSBnZW5lcmFsIHN0YXRlbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uLCBvciBzdGF0ZW1lbnRzIGFib3V0IHNpZ25pZmljYW50LCB1bmV4cGVjdGVkIG9yIHVucmVsaWFibGUgcmVzdWx0cyB2YWx1ZXMsIG9yIGluZm9ybWF0aW9uIGFib3V0IGl0cyBzb3VyY2Ugd2hlbiByZWxldmFudCB0byBpdHMgaW50ZXJwcmV0YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPYnNlcnZlZCBib2R5IHBhcnQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc2l0ZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgd2hlcmUgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIChpLmUuIHRoZSB0YXJnZXQgc2l0ZSkuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gT2JzZXJ2YXRpb24uY29kZS4gIEluIG1hbnkgc3lzdGVtcywgdGhpcyBtYXkgYmUgcmVwcmVzZW50ZWQgYXMgYSByZWxhdGVkIG9ic2VydmF0aW9uIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvbXBvbmVudC4gICAmIzEwOyYjMTA7SWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvblsgYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IGl0IHdhcyBkb25lIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIG1lY2hhbmlzbSB1c2VkIHRvIHBlcmZvcm0gdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvciBPYnNlcnZhdGlvbi5jb2RlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uTWV0aG9kIiBkZXNjcmlwdGlvbj0iTWV0aG9kcyBmb3Igc2ltcGxlIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpbWVuIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlNwZWNpbWVuIHVzZWQgZm9yIHRoaXMgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSBzcGVjaW1lbiB0aGF0IHdhcyB1c2VkIHdoZW4gdGhpcyBvYnNlcnZhdGlvbiB3YXMgbWFkZS4iIGNvbW1lbnQ9IlNob3VsZCBvbmx5IGJlIHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gYE9ic2VydmF0aW9uLmNvZGVgLiAgT2JzZXJ2YXRpb25zIGFyZSBub3QgbWFkZSBvbiBzcGVjaW1lbnMgdGhlbXNlbHZlczsgdGhleSBhcmUgbWFkZSBvbiBhIHN1YmplY3QsIGJ1dCBpbiBtYW55IGNhc2VzIGJ5IHRoZSBtZWFucyBvZiBhIHNwZWNpbWVuLiBOb3RlIHRoYXQgYWx0aG91Z2ggc3BlY2ltZW5zIGFyZSBvZnRlbiBpbnZvbHZlZCwgdGhleSBhcmUgbm90IGFsd2F5cyB0cmFja2VkIGFuZCByZXBvcnRlZCBleHBsaWNpdGx5LiBBbHNvIG5vdGUgdGhhdCBvYnNlcnZhdGlvbiByZXNvdXJjZXMgbWF5IGJlIHVzZWQgaW4gY29udGV4dHMgdGhhdCB0cmFjayB0aGUgc3BlY2ltZW4gZXhwbGljaXRseSAoZS5nLiBEaWFnbm9zdGljIFJlcG9ydCkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihNZWFzdXJlbWVudCkgRGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIG9ic2VydmF0aW9uIGRhdGEuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBpcyBub3QgbWVhbnQgdG8gcmVwcmVzZW50IGEgZGV2aWNlIGludm9sdmVkIGluIHRoZSB0cmFuc21pc3Npb24gb2YgdGhlIHJlc3VsdCwgZS5nLiwgYSBnYXRld2F5LiAgU3VjaCBkZXZpY2VzIG1heSBiZSBkb2N1bWVudGVkIHVzaW5nIHRoZSBQcm92ZW5hbmNlIHJlc291cmNlIHdoZXJlIHJlbGV2YW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIiBkZWZpbml0aW9uPSJHdWlkYW5jZSBvbiBob3cgdG8gaW50ZXJwcmV0IHRoZSB2YWx1ZSBieSBjb21wYXJpc29uIHRvIGEgbm9ybWFsIG9yIHJlY29tbWVuZGVkIHJhbmdlLiAgTXVsdGlwbGUgcmVmZXJlbmNlIHJhbmdlcyBhcmUgaW50ZXJwcmV0ZWQgYXMgYW4gJnF1b3Q7T1ImcXVvdDsuICAgSW4gb3RoZXIgd29yZHMsIHRvIHJlcHJlc2VudCB0d28gZGlzdGluY3QgdGFyZ2V0IHBvcHVsYXRpb25zLCB0d28gYHJlZmVyZW5jZVJhbmdlYCBlbGVtZW50cyB3b3VsZCBiZSB1c2VkLiIgY29tbWVudD0iTW9zdCBvYnNlcnZhdGlvbnMgb25seSBoYXZlIG9uZSBnZW5lcmljIHJlZmVyZW5jZSByYW5nZS4gU3lzdGVtcyBNQVkgY2hvb3NlIHRvIHJlc3RyaWN0IHRvIG9ubHkgc3VwcGx5aW5nIHRoZSByZWxldmFudCByZWZlcmVuY2UgcmFuZ2UgYmFzZWQgb24ga25vd2xlZGdlIGFib3V0IHRoZSBwYXRpZW50IChlLmcuLCBzcGVjaWZpYyB0byB0aGUgcGF0aWVudCdzIGFnZSwgZ2VuZGVyLCB3ZWlnaHQgYW5kIG90aGVyIGZhY3RvcnMpLCBidXQgdGhpcyBtaWdodCBub3QgYmUgcG9zc2libGUgb3IgYXBwcm9wcmlhdGUuIFdoZW5ldmVyIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIHJhbmdlIGlzIHN1cHBsaWVkLCB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGVtIFNIT1VMRCBiZSBwcm92aWRlZCBpbiB0aGUgcmVmZXJlbmNlIHJhbmdlIGFuZC9vciBhZ2UgcHJvcGVydGllcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIi8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Im9icy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik11c3QgaGF2ZSBhdCBsZWFzdCBhIGxvdyBvciBhIGhpZ2ggb3IgdGV4dCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0ibG93LmV4aXN0cygpIG9yIGhpZ2guZXhpc3RzKCkgb3IgdGV4dC5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imhhc01lbWJlciIgZGVzY3JpcHRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cyIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyB2aXRhbCBzaWducyBwYW5lbCBjb21wb25lbnRzLiIgY29tbWVudD0iV2hlbiB1c2luZyB0aGlzIGVsZW1lbnQsIGFuIG9ic2VydmF0aW9uIHdpbGwgdHlwaWNhbGx5IGhhdmUgZWl0aGVyIGEgdmFsdWUgb3IgYSBzZXQgb2YgcmVsYXRlZCByZXNvdXJjZXMsIGFsdGhvdWdoIGJvdGggbWF5IGJlIHByZXNlbnQgaW4gc29tZSBjYXNlcy4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiAgTm90ZSB0aGF0IGEgc3lzdGVtIG1heSBjYWxjdWxhdGUgcmVzdWx0cyBmcm9tIFtRdWVzdGlvbm5haXJlUmVzcG9uc2VdKGh0dHA6Ly9obDcub3JnL2ZoaXIvcXVlc3Rpb25uYWlyZXJlc3BvbnNlLmh0bWwpICBpbnRvIGEgZmluYWwgc2NvcmUgYW5kIHJlcHJlc2VudCB0aGUgc2NvcmUgYXMgYW4gT2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIG1lYXN1cmVtZW50cyB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIG1lYXN1cmVtZW50IGZyb20gd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiB2YWx1ZSBpcyBkZXJpdmVkLiBGb3IgZXhhbXBsZSwgYSBjYWxjdWxhdGVkIGFuaW9uIGdhcCBvciBhIGZldGFsIG1lYXN1cmVtZW50IGJhc2VkIG9uIGFuIHVsdHJhc291bmQgaW1hZ2UuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbXBvbmVudCIgZGVzY3JpcHRpb249IihVU0NESSkgQ29tcG9uZW50IG9ic2VydmF0aW9ucyIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyBjb21wb25lbnQgb2JzZXJ2YXRpb24gc3VjaCBhcyBzeXN0b2xpYyBhbmQgZGlhc3RvbGljIGJsb29kIHByZXNzdXJlLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5Db21wb25lbnQiLz4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSBpcyBubyBhIHZhbHVlIGEgZGF0YSBhYnNlbnQgcmVhc29uIG11c3QgYmUgcHJlc2VudCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0idmFsdWUuZXhpc3RzKCkgb3IgZGF0YUFic2VudFJlYXNvbi5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlSGVhcnRSYXRlUHJvZmlsZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vdXMtY29yZS1oZWFydC1yYXRlIiBsYWJlbD0iVVMgQ29yZSBIZWFydCBSYXRlIFByb2ZpbGUiIHRhcmdldD0iT2JzZXJ2YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBJZGVudGlmaWVyIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIG9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBPYnNlcnZhdGlvbiBpcyBhIGNvbXBvbmVudCBvciBzdGVwLiAgRm9yIGV4YW1wbGUsICBhbiBvYnNlcnZhdGlvbiBhcyBwYXJ0IG9mIGEgcHJvY2VkdXJlLiIgY29tbWVudD0iVG8gbGluayBhbiBPYnNlcnZhdGlvbiB0byBhbiBFbmNvdW50ZXIgdXNlIGBlbmNvdW50ZXJgLiAgU2VlIHRoZSAgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93IGZvciBndWlkYW5jZSBvbiByZWZlcmVuY2luZyBhbm90aGVyIE9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5TdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSByZWdpc3RlcmVkIHwgcHJlbGltaW5hcnkgfCBmaW5hbCB8IGFtZW5kZWQgKyIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzdWx0IHZhbHVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJTdGF0dXMiIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJWU0NhdCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCglcGFyZW50LmNhdGVnb3J5W2NvZGluZy5zeXN0ZW09J2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vb2JzZXJ2YXRpb24tY2F0ZWdvcnknLGNvZGluZy5jb2RlPSd2aXRhbC1zaWducyddKSIgZGVzY3JpcHRpb249IihVU0NESSkgQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgSGVhcnQgUmF0ZSIgZGVmaW5pdGlvbj0iQ29kZWQgUmVzcG9uc2VzIGZyb20gQy1DREEgVml0YWwgU2lnbiBSZXN1bHRzLiIgY29tbWVudD0iKkFsbCogY29kZS12YWx1ZSBhbmQsIGlmIHByZXNlbnQsIGNvbXBvbmVudC5jb2RlLWNvbXBvbmVudC52YWx1ZSBwYWlycyBuZWVkIHRvIGJlIHRha2VuIGludG8gYWNjb3VudCB0byBjb3JyZWN0bHkgdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGUgdml0YWwgc2lnbiBjb2RlcyBmcm9tIHRoZSBiYXNlIEZISVIgYW5kIFVTIENvcmUgVml0YWwgU2lnbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihVU0NESSkgV2hvIGFuZC9vciB3aGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCIgZGVmaW5pdGlvbj0iVGhlIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIHRoaXMgb2JzZXJ2YXRpb24gaXMgYWJvdXQgYW5kIGludG8gd2hvc2UgcmVjb3JkIHRoZSBvYnNlcnZhdGlvbiBpcyBwbGFjZWQuIElmIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBzdWJqZWN0IChvciBhIHNhbXBsZSBvZiwgcGFydCwgb3IgcmVnaW9uIG9mIHRoZSBzdWJqZWN0KSwgdGhlIGBmb2N1c2AgZWxlbWVudCBvciB0aGUgYGNvZGVgIGl0c2VsZiBzcGVjaWZpZXMgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmUgd291bGQgZXhwZWN0IHRoaXMgZWxlbWVudCB0byBiZSBhIGNhcmRpbmFsaXR5IG9mIDEuLjEuIFRoZSBvbmx5IGNpcmN1bXN0YW5jZSBpbiB3aGljaCB0aGUgc3ViamVjdCBjYW4gYmUgbWlzc2luZyBpcyB3aGVuIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGJ5IGEgZGV2aWNlIHRoYXQgZG9lcyBub3Qga25vdyB0aGUgcGF0aWVudC4gSW4gdGhpcyBjYXNlLCB0aGUgb2JzZXJ2YXRpb24gU0hBTEwgYmUgbWF0Y2hlZCB0byBhIHBhdGllbnQgdGhyb3VnaCBzb21lIGNvbnRleHQvY2hhbm5lbCBtYXRjaGluZyB0ZWNobmlxdWUsIGFuZCBhdCB0aGlzIHBvaW50LCB0aGUgb2JzZXJ2YXRpb24gc2hvdWxkIGJlIHVwZGF0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZvY3VzIiBkZXNjcmlwdGlvbj0iV2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQsIHdoZW4gaXQgaXMgbm90IGFib3V0IHRoZSBzdWJqZWN0IG9mIHJlY29yZCIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiB3aGVuIGl0IGlzIG5vdCB0aGUgcGF0aWVudCBvZiByZWNvcmQgcmVwcmVzZW50aW5nIHNvbWV0aGluZyBvciBzb21lb25lIGFzc29jaWF0ZWQgd2l0aCB0aGUgcGF0aWVudCBzdWNoIGFzIGEgc3BvdXNlLCBwYXJlbnQsIGZldHVzLCBvciBkb25vci4gRm9yIGV4YW1wbGUsIGZldHVzIG9ic2VydmF0aW9ucyBpbiBhIG1vdGhlcidzIHJlY29yZC4gIFRoZSBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiBjb3VsZCBhbHNvIGJlIGFuIGV4aXN0aW5nIGNvbmRpdGlvbiwgIGFuIGludGVydmVudGlvbiwgdGhlIHN1YmplY3QncyBkaWV0LCAgYW5vdGhlciBvYnNlcnZhdGlvbiBvZiB0aGUgc3ViamVjdCwgIG9yIGEgYm9keSBzdHJ1Y3R1cmUgc3VjaCBhcyB0dW1vciBvciBpbXBsYW50ZWQgZGV2aWNlLiAgIEFuIGV4YW1wbGUgdXNlIGNhc2Ugd291bGQgYmUgdXNpbmcgdGhlIE9ic2VydmF0aW9uIHJlc291cmNlIHRvIGNhcHR1cmUgd2hldGhlciB0aGUgbW90aGVyIGlzIHRyYWluZWQgdG8gY2hhbmdlIGhlciBjaGlsZCdzIHRyYWNoZW9zdG9teSB0dWJlLiBJbiB0aGlzIGV4YW1wbGUsIHRoZSBjaGlsZCBpcyB0aGUgcGF0aWVudCBvZiByZWNvcmQgYW5kIHRoZSBtb3RoZXIgaXMgdGhlIGZvY3VzLiIgY29tbWVudD0iVHlwaWNhbGx5LCBhbiBvYnNlcnZhdGlvbiBpcyBtYWRlIGFib3V0IHRoZSBzdWJqZWN0IC0gYSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSAtIGFuZCB0aGUgZGlzdGluY3Rpb24gYmV0d2VlbiB0aGUgc3ViamVjdCBhbmQgd2hhdCBpcyBkaXJlY3RseSBtZWFzdXJlZCBmb3IgYW4gb2JzZXJ2YXRpb24gaXMgc3BlY2lmaWVkIGluIHRoZSBvYnNlcnZhdGlvbiBjb2RlIGl0c2VsZiAoIGUuZy4sICZxdW90O0Jsb29kIEdsdWNvc2UmcXVvdDspIGFuZCBkb2VzIG5vdCBuZWVkIHRvIGJlIHJlcHJlc2VudGVkIHNlcGFyYXRlbHkgdXNpbmcgdGhpcyBlbGVtZW50LiAgVXNlIGBzcGVjaW1lbmAgaWYgYSByZWZlcmVuY2UgdG8gYSBzcGVjaW1lbiBpcyByZXF1aXJlZC4gIElmIGEgY29kZSBpcyByZXF1aXJlZCBpbnN0ZWFkIG9mIGEgcmVzb3VyY2UgdXNlIGVpdGhlciAgYGJvZHlzaXRlYCBmb3IgYm9keXNpdGVzIG9yIHRoZSBzdGFuZGFyZCBleHRlbnNpb24gW2ZvY3VzQ29kZV0oaHR0cDovL2hsNy5vcmcvZmhpci9leHRlbnNpb24tb2JzZXJ2YXRpb24tZm9jdXNjb2RlLmh0bWwpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJIZWFsdGhjYXJlIGV2ZW50IGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUiIGRlZmluaXRpb249IlRoZSBoZWFsdGhjYXJlIGV2ZW50ICAoZS5nLiBhIHBhdGllbnQgYW5kIGhlYWx0aGNhcmUgcHJvdmlkZXIgaW50ZXJhY3Rpb24pIGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgZXZlbnRzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIgKGUuZy4gcHJlLWFkbWlzc2lvbiBsYWJvcmF0b3J5IHRlc3RzKS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zIiBkZWZpbml0aW9uPSJPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zLiIgY29tbWVudD0iQXQgbGVhc3QgYSBkYXRlIHNob3VsZCBiZSBwcmVzZW50IHVubGVzcyB0aGlzIG9ic2VydmF0aW9uIGlzIGEgaGlzdG9yaWNhbCByZXBvcnQuICBGb3IgcmVjb3JkaW5nIGltcHJlY2lzZSBvciAmcXVvdDtmdXp6eSZxdW90OyB0aW1lcyAoRm9yIGV4YW1wbGUsIGEgYmxvb2QgZ2x1Y29zZSBtZWFzdXJlbWVudCB0YWtlbiAmcXVvdDthZnRlciBicmVha2Zhc3QmcXVvdDspIHVzZSB0aGUgW1RpbWluZ10oaHR0cDovL2hsNy5vcmcvZmhpci9kYXRhdHlwZXMuaHRtbCN0aW1pbmcpIGRhdGF0eXBlIHdoaWNoIGFsbG93IHRoZSBtZWFzdXJlbWVudCB0byBiZSB0aWVkIHRvIHJlZ3VsYXIgbGlmZSBldmVudHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTEiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iaWYgT2JzZXJ2YXRpb24uZWZmZWN0aXZlW3hdIGlzIGRhdGVUaW1lIGFuZCBoYXMgYSB2YWx1ZSB0aGVuIHRoYXQgdmFsdWUgc2hhbGwgYmUgcHJlY2lzZSB0byB0aGUgZGF5Ij4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIoJHRoaXMgYXMgZGF0ZVRpbWUpLnRvU3RyaW5nKCkubGVuZ3RoKCkgJmd0Oz0gOCIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imlzc3VlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEYXRlL1RpbWUgdGhpcyB2ZXJzaW9uIHdhcyBtYWRlIGF2YWlsYWJsZSIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgYW5kIHRpbWUgdGhpcyB2ZXJzaW9uIG9mIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSBhdmFpbGFibGUgdG8gcHJvdmlkZXJzLCB0eXBpY2FsbHkgYWZ0ZXIgdGhlIHJlc3VsdHMgaGF2ZSBiZWVuIHJldmlld2VkIGFuZCB2ZXJpZmllZC4iIGNvbW1lbnQ9IkZvciBPYnNlcnZhdGlvbnMgdGhhdCBkb27igJl0IHJlcXVpcmUgcmV2aWV3IGFuZCB2ZXJpZmljYXRpb24sIGl0IG1heSBiZSB0aGUgc2FtZSBhcyB0aGUgW2BsYXN0VXBkYXRlZGAgXShodHRwOi8vaGw3Lm9yZy9maGlyL3Jlc291cmNlLWRlZmluaXRpb25zLmh0bWwjTWV0YS5sYXN0VXBkYXRlZCkgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmLiAgRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvIHJlcXVpcmUgcmV2aWV3IGFuZCB2ZXJpZmljYXRpb24gZm9yIGNlcnRhaW4gdXBkYXRlcywgaXQgbWlnaHQgbm90IGJlIHRoZSBzYW1lIGFzIHRoZSBgbGFzdFVwZGF0ZWRgIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZiBkdWUgdG8gYSBub24tY2xpbmljYWxseSBzaWduaWZpY2FudCB1cGRhdGUgdGhhdCBkb2VzbuKAmXQgcmVxdWlyZSB0aGUgbmV3IHZlcnNpb24gdG8gYmUgcmV2aWV3ZWQgYW5kIHZlcmlmaWVkIGFnYWluLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IldobyBpcyByZXNwb25zaWJsZSBmb3IgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJXaG8gd2FzIHJlc3BvbnNpYmxlIGZvciBhc3NlcnRpbmcgdGhlIG9ic2VydmVkIHZhbHVlIGFzICZxdW90O3RydWUmcXVvdDsuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBWaXRhbCBTaWducyBWYWx1ZSIgZGVmaW5pdGlvbj0iVml0YWwgU2lnbnMgdmFsdWUgYXJlIHR5cGljYWxseSByZWNvcmRlZCB1c2luZyB0aGUgUXVhbnRpdHkgZGF0YSB0eXBlLiIgY29tbWVudD0iQW4gb2JzZXJ2YXRpb24gbWF5IGhhdmU7IDEpICBhIHNpbmdsZSB2YWx1ZSBoZXJlLCAyKSAgYm90aCBhIHZhbHVlIGFuZCBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMsICBvciAzKSAgb25seSBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMuIElmIGEgdmFsdWUgaXMgcHJlc2VudCwgdGhlIGRhdGF0eXBlIGZvciB0aGlzIGVsZW1lbnQgc2hvdWxkIGJlIGRldGVybWluZWQgYnkgT2JzZXJ2YXRpb24uY29kZS4gIEEgQ29kZWFibGVDb25jZXB0IHdpdGgganVzdCBhIHRleHQgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGlmIHRoZSBmaWVsZCB3YXMgdXN1YWxseSBjb2RlZCwgb3IgaWYgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBPYnNlcnZhdGlvbi5jb2RlIGRlZmluZXMgYSBjb2RlZCB2YWx1ZS4gIEZvciBhZGRpdGlvbmFsIGd1aWRhbmNlLCBzZWUgdGhlIFtOb3RlcyBzZWN0aW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQ29tbW9uIFVDVU0gdW5pdHMgZm9yIHJlY29yZGluZyBWaXRhbCBTaWducy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGFBYnNlbnRSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgV2h5IHRoZSByZXN1bHQgaXMgbWlzc2luZyIgZGVmaW5pdGlvbj0iUHJvdmlkZXMgYSByZWFzb24gd2h5IHRoZSBleHBlY3RlZCB2YWx1ZSBpbiB0aGUgZWxlbWVudCBPYnNlcnZhdGlvbi52YWx1ZVt4XSBpcyBtaXNzaW5nLiIgY29tbWVudD0iTnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMgY2FuIGJlIHJlcHJlc2VudGVkIHR3byB3YXlzIGluIEZISVIgT2JzZXJ2YXRpb25zLiAgT25lIHdheSBpcyB0byBzaW1wbHkgaW5jbHVkZSB0aGVtIGluIHRoZSB2YWx1ZSBzZXQgYW5kIHJlcHJlc2VudCB0aGUgZXhjZXB0aW9ucyBpbiB0aGUgdmFsdWUuICBGb3IgZXhhbXBsZSwgbWVhc3VyZW1lbnQgdmFsdWVzIGZvciBhIHNlcm9sb2d5IHRlc3QgY291bGQgYmUgICZxdW90O2RldGVjdGVkJnF1b3Q7LCAmcXVvdDtub3QgZGV0ZWN0ZWQmcXVvdDssICZxdW90O2luY29uY2x1c2l2ZSZxdW90Oywgb3IgICZxdW90O3NwZWNpbWVuIHVuc2F0aXNmYWN0b3J5JnF1b3Q7LiAgICYjMTA7JiMxMDtUaGUgYWx0ZXJuYXRlIHdheSBpcyB0byB1c2UgdGhlIHZhbHVlIGVsZW1lbnQgZm9yIGFjdHVhbCBvYnNlcnZhdGlvbnMgYW5kIHVzZSB0aGUgZXhwbGljaXQgZGF0YUFic2VudFJlYXNvbiBlbGVtZW50IHRvIHJlY29yZCBleGNlcHRpb25hbCB2YWx1ZXMuICBGb3IgZXhhbXBsZSwgdGhlIGRhdGFBYnNlbnRSZWFzb24gY29kZSAmcXVvdDtlcnJvciZxdW90OyBjb3VsZCBiZSB1c2VkIHdoZW4gdGhlIG1lYXN1cmVtZW50IHdhcyBub3QgY29tcGxldGVkLiBOb3RlIHRoYXQgYW4gb2JzZXJ2YXRpb24gbWF5IG9ubHkgYmUgcmVwb3J0ZWQgaWYgdGhlcmUgYXJlIHZhbHVlcyB0byByZXBvcnQuIEZvciBleGFtcGxlIGRpZmZlcmVudGlhbCBjZWxsIGNvdW50cyB2YWx1ZXMgbWF5IGJlIHJlcG9ydGVkIG9ubHkgd2hlbiAmZ3Q7IDAuICBCZWNhdXNlIG9mIHRoZXNlIG9wdGlvbnMsIHVzZS1jYXNlIGFncmVlbWVudHMgYXJlIHJlcXVpcmVkIHRvIGludGVycHJldCBnZW5lcmFsIG9ic2VydmF0aW9ucyBmb3IgbnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uVmFsdWVBYnNlbnRSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBzcGVjaWZ5aW5nIHdoeSB0aGUgcmVzdWx0IChgT2JzZXJ2YXRpb24udmFsdWVbeF1gKSBpcyBtaXNzaW5nLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZXJwcmV0YXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIaWdoLCBsb3csIG5vcm1hbCwgZXRjLiIgZGVmaW5pdGlvbj0iQSBjYXRlZ29yaWNhbCBhc3Nlc3NtZW50IG9mIGFuIG9ic2VydmF0aW9uIHZhbHVlLiAgRm9yIGV4YW1wbGUsIGhpZ2gsIGxvdywgbm9ybWFsLiIgY29tbWVudD0iSGlzdG9yaWNhbGx5IHVzZWQgZm9yIGxhYm9yYXRvcnkgcmVzdWx0cyAoa25vd24gYXMgJ2Fibm9ybWFsIGZsYWcnICksICBpdHMgdXNlIGV4dGVuZHMgdG8gb3RoZXIgdXNlIGNhc2VzIHdoZXJlIGNvZGVkIGludGVycHJldGF0aW9ucyAgYXJlIHJlbGV2YW50LiAgT2Z0ZW4gcmVwb3J0ZWQgYXMgb25lIG9yIG1vcmUgc2ltcGxlIGNvbXBhY3QgY29kZXMgdGhpcyBlbGVtZW50IGlzIG9mdGVuIHBsYWNlZCBhZGphY2VudCB0byB0aGUgcmVzdWx0IHZhbHVlIGluIHJlcG9ydHMgYW5kIGZsb3cgc2hlZXRzIHRvIHNpZ25hbCB0aGUgbWVhbmluZy9ub3JtYWxjeSBzdGF0dXMgb2YgdGhlIHJlc3VsdC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25JbnRlcnByZXRhdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIGludGVycHJldGF0aW9ucyBvZiBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24gb3IgdGhlIHJlc3VsdHMuIiBjb21tZW50PSJNYXkgaW5jbHVkZSBnZW5lcmFsIHN0YXRlbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uLCBvciBzdGF0ZW1lbnRzIGFib3V0IHNpZ25pZmljYW50LCB1bmV4cGVjdGVkIG9yIHVucmVsaWFibGUgcmVzdWx0cyB2YWx1ZXMsIG9yIGluZm9ybWF0aW9uIGFib3V0IGl0cyBzb3VyY2Ugd2hlbiByZWxldmFudCB0byBpdHMgaW50ZXJwcmV0YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPYnNlcnZlZCBib2R5IHBhcnQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc2l0ZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgd2hlcmUgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIChpLmUuIHRoZSB0YXJnZXQgc2l0ZSkuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gT2JzZXJ2YXRpb24uY29kZS4gIEluIG1hbnkgc3lzdGVtcywgdGhpcyBtYXkgYmUgcmVwcmVzZW50ZWQgYXMgYSByZWxhdGVkIG9ic2VydmF0aW9uIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvbXBvbmVudC4gICAmIzEwOyYjMTA7SWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvblsgYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IGl0IHdhcyBkb25lIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIG1lY2hhbmlzbSB1c2VkIHRvIHBlcmZvcm0gdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvciBPYnNlcnZhdGlvbi5jb2RlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uTWV0aG9kIiBkZXNjcmlwdGlvbj0iTWV0aG9kcyBmb3Igc2ltcGxlIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpbWVuIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlNwZWNpbWVuIHVzZWQgZm9yIHRoaXMgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSBzcGVjaW1lbiB0aGF0IHdhcyB1c2VkIHdoZW4gdGhpcyBvYnNlcnZhdGlvbiB3YXMgbWFkZS4iIGNvbW1lbnQ9IlNob3VsZCBvbmx5IGJlIHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gYE9ic2VydmF0aW9uLmNvZGVgLiAgT2JzZXJ2YXRpb25zIGFyZSBub3QgbWFkZSBvbiBzcGVjaW1lbnMgdGhlbXNlbHZlczsgdGhleSBhcmUgbWFkZSBvbiBhIHN1YmplY3QsIGJ1dCBpbiBtYW55IGNhc2VzIGJ5IHRoZSBtZWFucyBvZiBhIHNwZWNpbWVuLiBOb3RlIHRoYXQgYWx0aG91Z2ggc3BlY2ltZW5zIGFyZSBvZnRlbiBpbnZvbHZlZCwgdGhleSBhcmUgbm90IGFsd2F5cyB0cmFja2VkIGFuZCByZXBvcnRlZCBleHBsaWNpdGx5LiBBbHNvIG5vdGUgdGhhdCBvYnNlcnZhdGlvbiByZXNvdXJjZXMgbWF5IGJlIHVzZWQgaW4gY29udGV4dHMgdGhhdCB0cmFjayB0aGUgc3BlY2ltZW4gZXhwbGljaXRseSAoZS5nLiBEaWFnbm9zdGljIFJlcG9ydCkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihNZWFzdXJlbWVudCkgRGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIG9ic2VydmF0aW9uIGRhdGEuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBpcyBub3QgbWVhbnQgdG8gcmVwcmVzZW50IGEgZGV2aWNlIGludm9sdmVkIGluIHRoZSB0cmFuc21pc3Npb24gb2YgdGhlIHJlc3VsdCwgZS5nLiwgYSBnYXRld2F5LiAgU3VjaCBkZXZpY2VzIG1heSBiZSBkb2N1bWVudGVkIHVzaW5nIHRoZSBQcm92ZW5hbmNlIHJlc291cmNlIHdoZXJlIHJlbGV2YW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIiBkZWZpbml0aW9uPSJHdWlkYW5jZSBvbiBob3cgdG8gaW50ZXJwcmV0IHRoZSB2YWx1ZSBieSBjb21wYXJpc29uIHRvIGEgbm9ybWFsIG9yIHJlY29tbWVuZGVkIHJhbmdlLiAgTXVsdGlwbGUgcmVmZXJlbmNlIHJhbmdlcyBhcmUgaW50ZXJwcmV0ZWQgYXMgYW4gJnF1b3Q7T1ImcXVvdDsuICAgSW4gb3RoZXIgd29yZHMsIHRvIHJlcHJlc2VudCB0d28gZGlzdGluY3QgdGFyZ2V0IHBvcHVsYXRpb25zLCB0d28gYHJlZmVyZW5jZVJhbmdlYCBlbGVtZW50cyB3b3VsZCBiZSB1c2VkLiIgY29tbWVudD0iTW9zdCBvYnNlcnZhdGlvbnMgb25seSBoYXZlIG9uZSBnZW5lcmljIHJlZmVyZW5jZSByYW5nZS4gU3lzdGVtcyBNQVkgY2hvb3NlIHRvIHJlc3RyaWN0IHRvIG9ubHkgc3VwcGx5aW5nIHRoZSByZWxldmFudCByZWZlcmVuY2UgcmFuZ2UgYmFzZWQgb24ga25vd2xlZGdlIGFib3V0IHRoZSBwYXRpZW50IChlLmcuLCBzcGVjaWZpYyB0byB0aGUgcGF0aWVudCdzIGFnZSwgZ2VuZGVyLCB3ZWlnaHQgYW5kIG90aGVyIGZhY3RvcnMpLCBidXQgdGhpcyBtaWdodCBub3QgYmUgcG9zc2libGUgb3IgYXBwcm9wcmlhdGUuIFdoZW5ldmVyIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIHJhbmdlIGlzIHN1cHBsaWVkLCB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGVtIFNIT1VMRCBiZSBwcm92aWRlZCBpbiB0aGUgcmVmZXJlbmNlIHJhbmdlIGFuZC9vciBhZ2UgcHJvcGVydGllcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIi8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Im9icy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik11c3QgaGF2ZSBhdCBsZWFzdCBhIGxvdyBvciBhIGhpZ2ggb3IgdGV4dCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0ibG93LmV4aXN0cygpIG9yIGhpZ2guZXhpc3RzKCkgb3IgdGV4dC5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imhhc01lbWJlciIgZGVzY3JpcHRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cyIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyB2aXRhbCBzaWducyBwYW5lbCBjb21wb25lbnRzLiIgY29tbWVudD0iV2hlbiB1c2luZyB0aGlzIGVsZW1lbnQsIGFuIG9ic2VydmF0aW9uIHdpbGwgdHlwaWNhbGx5IGhhdmUgZWl0aGVyIGEgdmFsdWUgb3IgYSBzZXQgb2YgcmVsYXRlZCByZXNvdXJjZXMsIGFsdGhvdWdoIGJvdGggbWF5IGJlIHByZXNlbnQgaW4gc29tZSBjYXNlcy4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiAgTm90ZSB0aGF0IGEgc3lzdGVtIG1heSBjYWxjdWxhdGUgcmVzdWx0cyBmcm9tIFtRdWVzdGlvbm5haXJlUmVzcG9uc2VdKGh0dHA6Ly9obDcub3JnL2ZoaXIvcXVlc3Rpb25uYWlyZXJlc3BvbnNlLmh0bWwpICBpbnRvIGEgZmluYWwgc2NvcmUgYW5kIHJlcHJlc2VudCB0aGUgc2NvcmUgYXMgYW4gT2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIG1lYXN1cmVtZW50cyB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIG1lYXN1cmVtZW50IGZyb20gd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiB2YWx1ZSBpcyBkZXJpdmVkLiBGb3IgZXhhbXBsZSwgYSBjYWxjdWxhdGVkIGFuaW9uIGdhcCBvciBhIGZldGFsIG1lYXN1cmVtZW50IGJhc2VkIG9uIGFuIHVsdHJhc291bmQgaW1hZ2UuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbXBvbmVudCIgZGVzY3JpcHRpb249IihVU0NESSkgQ29tcG9uZW50IG9ic2VydmF0aW9ucyIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyBjb21wb25lbnQgb2JzZXJ2YXRpb24gc3VjaCBhcyBzeXN0b2xpYyBhbmQgZGlhc3RvbGljIGJsb29kIHByZXNzdXJlLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5Db21wb25lbnQiLz4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSBpcyBubyBhIHZhbHVlIGEgZGF0YSBhYnNlbnQgcmVhc29uIG11c3QgYmUgcHJlc2VudCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0idmFsdWUuZXhpc3RzKCkgb3IgZGF0YUFic2VudFJlYXNvbi5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlSW1wbGFudGFibGVEZXZpY2VQcm9maWxlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLWltcGxhbnRhYmxlLWRldmljZSIgbGFiZWw9IlVTIENvcmUgSW1wbGFudGFibGUgRGV2aWNlIFByb2ZpbGUiIHRhcmdldD0iRGV2aWNlIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJ0eXBlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iSW5zdGFuY2UgaWRlbnRpZmllciIgZGVmaW5pdGlvbj0iVW5pcXVlIGluc3RhbmNlIGlkZW50aWZpZXJzIGFzc2lnbmVkIHRvIGEgZGV2aWNlIGJ5IG1hbnVmYWN0dXJlcnMgb3RoZXIgb3JnYW5pemF0aW9ucyBvciBvd25lcnMuIiBjb21tZW50PSJUaGUgYmFyY29kZSBzdHJpbmcgZnJvbSBhIGJhcmNvZGUgcHJlc2VudCBvbiBhIGRldmljZSBsYWJlbCBvciBwYWNrYWdlIG1heSBpZGVudGlmeSB0aGUgaW5zdGFuY2UsIGluY2x1ZGUgbmFtZXMgZ2l2ZW4gdG8gdGhlIGRldmljZSBpbiBsb2NhbCB1c2FnZSwgb3IgbWF5IGlkZW50aWZ5IHRoZSB0eXBlIG9mIGRldmljZS4gSWYgdGhlIGlkZW50aWZpZXIgaWRlbnRpZmllcyB0aGUgdHlwZSBvZiBkZXZpY2UsIERldmljZS50eXBlIGVsZW1lbnQgc2hvdWxkIGJlIHVzZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRlZmluaXRpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iVGhlIHJlZmVyZW5jZSB0byB0aGUgZGVmaW5pdGlvbiBmb3IgdGhlIGRldmljZSIgZGVmaW5pdGlvbj0iVGhlIHJlZmVyZW5jZSB0byB0aGUgZGVmaW5pdGlvbiBmb3IgdGhlIGRldmljZS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1ZGlDYXJyaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkRldmljZS5VZGlDYXJyaWVyIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBVbmlxdWUgRGV2aWNlIElkZW50aWZpZXIgKFVESSkgQmFyY29kZSBzdHJpbmciIGRlZmluaXRpb249IlVuaXF1ZSBkZXZpY2UgaWRlbnRpZmllciAoVURJKSBhc3NpZ25lZCB0byBkZXZpY2UgbGFiZWwgb3IgcGFja2FnZS4gIE5vdGUgdGhhdCB0aGUgRGV2aWNlIG1heSBpbmNsdWRlIG11bHRpcGxlIHVkaUNhcnJpZXJzIGFzIGl0IGVpdGhlciBtYXkgaW5jbHVkZSBqdXN0IHRoZSB1ZGlDYXJyaWVyIGZvciB0aGUganVyaXNkaWN0aW9uIGl0IGlzIHNvbGQsIG9yIGZvciBtdWx0aXBsZSBqdXJpc2RpY3Rpb25zIGl0IGNvdWxkIGhhdmUgYmVlbiBzb2xkLiIgY29tbWVudD0iU29tZSBkZXZpY2VzIG1heSBub3QgaGF2ZSBVREkgaW5mb3JtYXRpb24gKGZvciBleGFtcGxlLiBoaXN0b3JpY2FsIGRhdGEgb3IgcGF0aWVudCByZXBvcnRlZCBkYXRhKS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLkZISVJEZXZpY2VTdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iYWN0aXZlIHwgaW5hY3RpdmUgfCBlbnRlcmVkLWluLWVycm9yIHwgdW5rbm93biIgZGVmaW5pdGlvbj0iU3RhdHVzIG9mIHRoZSBEZXZpY2UgYXZhaWxhYmlsaXR5LiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgdGhlIGNvZGVzIGluYWN0aXZlIGFuZCBlbnRlcmVkLWluLWVycm9yIHRoYXQgbWFyayB0aGUgZGV2aWNlIChyZWNvcmQpYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJGSElSRGV2aWNlU3RhdHVzIiBkZXNjcmlwdGlvbj0iVGhlIGF2YWlsYWJpbGl0eSBzdGF0dXMgb2YgdGhlIGRldmljZS4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXNSZWFzb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJvbmxpbmUgfCBwYXVzZWQgfCBzdGFuZGJ5IHwgb2ZmbGluZSB8IG5vdC1yZWFkeSB8IHRyYW5zZHVjLWRpc2NvbiB8IGh3LWRpc2NvbiB8IG9mZiIgZGVmaW5pdGlvbj0iUmVhc29uIGZvciB0aGUgZHRhdHVzIG9mIHRoZSBEZXZpY2UgYXZhaWxhYmlsaXR5LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJGSElSRGV2aWNlU3RhdHVzUmVhc29uIiBkZXNjcmlwdGlvbj0iVGhlIGF2YWlsYWJpbGl0eSBzdGF0dXMgcmVhc29uIG9mIHRoZSBkZXZpY2UuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaXN0aW5jdElkZW50aWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihVU0NESSkgVGhlIGRpc3RpbmN0IGlkZW50aWZpY2F0aW9uIHN0cmluZyIgZGVmaW5pdGlvbj0iVGhlIGRpc3RpbmN0IGlkZW50aWZpY2F0aW9uIHN0cmluZyBhcyByZXF1aXJlZCBieSByZWd1bGF0aW9uIGZvciBhIGh1bWFuIGNlbGwsIHRpc3N1ZSwgb3IgY2VsbHVsYXIgYW5kIHRpc3N1ZS1iYXNlZCBwcm9kdWN0LiIgY29tbWVudD0iRm9yIGV4YW1wbGUsIHRoaXMgYXBwbGllcyB0byBkZXZpY2VzIGluIHRoZSBVbml0ZWQgU3RhdGVzIHJlZ3VsYXRlZCB1bmRlciAqQ29kZSBvZiBGZWRlcmFsIFJlZ3VsYXRpb24gMjFDRlLCpzEyNzEuMjkwKGMpKi4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibWFudWZhY3R1cmVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOYW1lIG9mIGRldmljZSBtYW51ZmFjdHVyZXIiIGRlZmluaXRpb249IkEgbmFtZSBvZiB0aGUgbWFudWZhY3R1cmVyLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1hbnVmYWN0dXJlRGF0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoVVNDREkpIERhdGUgd2hlbiB0aGUgZGV2aWNlIHdhcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB3aGVuIHRoZSBkZXZpY2Ugd2FzIG1hbnVmYWN0dXJlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZXhwaXJhdGlvbkRhdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBEYXRlIGFuZCB0aW1lIG9mIGV4cGlyeSBvZiB0aGlzIGRldmljZSAoaWYgYXBwbGljYWJsZSkiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIGJleW9uZCB3aGljaCB0aGlzIGRldmljZSBpcyBubyBsb25nZXIgdmFsaWQgb3Igc2hvdWxkIG5vdCBiZSB1c2VkIChpZiBhcHBsaWNhYmxlKS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibG90TnVtYmVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoVVNDREkpIExvdCBudW1iZXIgb2YgbWFudWZhY3R1cmUiIGRlZmluaXRpb249IkxvdCBudW1iZXIgYXNzaWduZWQgYnkgdGhlIG1hbnVmYWN0dXJlci4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic2VyaWFsTnVtYmVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFNlcmlhbCBudW1iZXIgYXNzaWduZWQgYnkgdGhlIG1hbnVmYWN0dXJlciIgZGVmaW5pdGlvbj0iVGhlIHNlcmlhbCBudW1iZXIgYXNzaWduZWQgYnkgdGhlIG9yZ2FuaXphdGlvbiB3aGVuIHRoZSBkZXZpY2Ugd2FzIG1hbnVmYWN0dXJlZC4iIGNvbW1lbnQ9IkFscGhhbnVtZXJpYyBNYXhpbXVtIDIwLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXZpY2VOYW1lIiBkZXNjcmlwdGlvbj0iVGhlIG5hbWUgb2YgdGhlIGRldmljZSBhcyBnaXZlbiBieSB0aGUgbWFudWZhY3R1cmVyIiBkZWZpbml0aW9uPSJUaGlzIHJlcHJlc2VudHMgdGhlIG1hbnVmYWN0dXJlcidzIG5hbWUgb2YgdGhlIGRldmljZSBhcyBwcm92aWRlZCBieSB0aGUgZGV2aWNlLCBmcm9tIGEgVURJIGxhYmVsLCBvciBieSBhIHBlcnNvbiBkZXNjcmliaW5nIHRoZSBEZXZpY2UuICBUaGlzIHR5cGljYWxseSB3b3VsZCBiZSB1c2VkIHdoZW4gYSBwZXJzb24gcHJvdmlkZXMgdGhlIG5hbWUocykgb3Igd2hlbiB0aGUgZGV2aWNlIHJlcHJlc2VudHMgb25lIG9mIHRoZSBuYW1lcyBhdmFpbGFibGUgZnJvbSBEZXZpY2VEZWZpbml0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRGV2aWNlLkRldmljZU5hbWUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibW9kZWxOdW1iZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IlRoZSBtb2RlbCBudW1iZXIgZm9yIHRoZSBkZXZpY2UiIGRlZmluaXRpb249IlRoZSBtb2RlbCBudW1iZXIgZm9yIHRoZSBkZXZpY2UuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE51bWJlciIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iVGhlIHBhcnQgbnVtYmVyIG9mIHRoZSBkZXZpY2UiIGRlZmluaXRpb249IlRoZSBwYXJ0IG51bWJlciBvZiB0aGUgZGV2aWNlLiIgY29tbWVudD0iQWxwaGFudW1lcmljIE1heGltdW0gMjAuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBUaGUga2luZCBvciB0eXBlIG9mIGRldmljZSIgZGVmaW5pdGlvbj0iVGhlIGtpbmQgb3IgdHlwZSBvZiBkZXZpY2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJDb2RlcyB0byBpZGVudGlmeSBtZWRpY2FsIGRldmljZXMiIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpYWxpemF0aW9uIiBkZXNjcmlwdGlvbj0iVGhlIGNhcGFiaWxpdGllcyBzdXBwb3J0ZWQgb24gYSAgZGV2aWNlLCB0aGUgc3RhbmRhcmRzIHRvIHdoaWNoIHRoZSBkZXZpY2UgY29uZm9ybXMgZm9yIGEgcGFydGljdWxhciBwdXJwb3NlLCBhbmQgdXNlZCBmb3IgdGhlIGNvbW11bmljYXRpb24iIGRlZmluaXRpb249IlRoZSBjYXBhYmlsaXRpZXMgc3VwcG9ydGVkIG9uIGEgIGRldmljZSwgdGhlIHN0YW5kYXJkcyB0byB3aGljaCB0aGUgZGV2aWNlIGNvbmZvcm1zIGZvciBhIHBhcnRpY3VsYXIgcHVycG9zZSwgYW5kIHVzZWQgZm9yIHRoZSBjb21tdW5pY2F0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRGV2aWNlLlNwZWNpYWxpemF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InZlcnNpb24iIGRlc2NyaXB0aW9uPSJUaGUgYWN0dWFsIGRlc2lnbiBvZiB0aGUgZGV2aWNlIG9yIHNvZnR3YXJlIHZlcnNpb24gcnVubmluZyBvbiB0aGUgZGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGRlc2lnbiBvZiB0aGUgZGV2aWNlIG9yIHNvZnR3YXJlIHZlcnNpb24gcnVubmluZyBvbiB0aGUgZGV2aWNlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuRGV2aWNlLlZlcnNpb24iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJvcGVydHkiIGRlc2NyaXB0aW9uPSJUaGUgYWN0dWFsIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3Mgb2YgYSBkZXZpY2UgYXMgaXQgYWN0dWFsbHkgb3BlcmF0ZXMsIGUuZy4sIHJlZ3VsYXRpb24gc3RhdHVzLCB0aW1lIHByb3BlcnRpZXMiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgY29uZmlndXJhdGlvbiBzZXR0aW5ncyBvZiBhIGRldmljZSBhcyBpdCBhY3R1YWxseSBvcGVyYXRlcywgZS5nLiwgcmVndWxhdGlvbiBzdGF0dXMsIHRpbWUgcHJvcGVydGllcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkRldmljZS5Qcm9wZXJ0eSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXRpZW50IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihVU0NESSkgUGF0aWVudCB0byB3aG9tIERldmljZSBpcyBhZmZpeGVkIiBkZWZpbml0aW9uPSJQYXRpZW50IGluZm9ybWF0aW9uLCBJZiB0aGUgZGV2aWNlIGlzIGFmZml4ZWQgdG8gYSBwZXJzb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9Im93bmVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249Ik9yZ2FuaXphdGlvbiByZXNwb25zaWJsZSBmb3IgZGV2aWNlIiBkZWZpbml0aW9uPSJBbiBvcmdhbml6YXRpb24gdGhhdCBpcyByZXNwb25zaWJsZSBmb3IgdGhlIHByb3Zpc2lvbiBhbmQgb25nb2luZyBtYWludGVuYW5jZSBvZiB0aGUgZGV2aWNlLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbnRhY3QiIGRlc2NyaXB0aW9uPSJEZXRhaWxzIGZvciBodW1hbi9vcmdhbml6YXRpb24gZm9yIHN1cHBvcnQiIGRlZmluaXRpb249IkNvbnRhY3QgZGV0YWlscyBmb3IgYW4gb3JnYW5pemF0aW9uIG9yIGEgcGFydGljdWxhciBodW1hbiB0aGF0IGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgZGV2aWNlLiIgY29tbWVudD0idXNlZCBmb3IgdHJvdWJsZXNob290aW5nIGV0Yy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkNvbnRhY3RQb2ludCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJsb2NhdGlvbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJXaGVyZSB0aGUgZGV2aWNlIGlzIGZvdW5kIiBkZWZpbml0aW9uPSJUaGUgcGxhY2Ugd2hlcmUgdGhlIGRldmljZSBjYW4gYmUgZm91bmQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idXJsIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJOZXR3b3JrIGFkZHJlc3MgdG8gY29udGFjdCBkZXZpY2UiIGRlZmluaXRpb249IkEgbmV0d29yayBhZGRyZXNzIG9uIHdoaWNoIHRoZSBkZXZpY2UgbWF5IGJlIGNvbnRhY3RlZCBkaXJlY3RseS4iIGNvbW1lbnQ9IklmIHRoZSBkZXZpY2UgaXMgcnVubmluZyBhIEZISVIgc2VydmVyLCB0aGUgbmV0d29yayBhZGRyZXNzIHNob3VsZCAgYmUgdGhlIEJhc2UgVVJMIGZyb20gd2hpY2ggYSBjb25mb3JtYW5jZSBzdGF0ZW1lbnQgbWF5IGJlIHJldHJpZXZlZC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iRGV2aWNlIG5vdGVzIGFuZCBjb21tZW50cyIgZGVmaW5pdGlvbj0iRGVzY3JpcHRpdmUgaW5mb3JtYXRpb24sIHVzYWdlIGluZm9ybWF0aW9uIG9yIGltcGxhbnRhdGlvbiBpbmZvcm1hdGlvbiB0aGF0IGlzIG5vdCBjYXB0dXJlZCBpbiBhbiBleGlzdGluZyBlbGVtZW50LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzYWZldHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJTYWZldHkgQ2hhcmFjdGVyaXN0aWNzIG9mIERldmljZSIgZGVmaW5pdGlvbj0iUHJvdmlkZXMgYWRkaXRpb25hbCBzYWZldHkgY2hhcmFjdGVyaXN0aWNzIGFib3V0IGEgbWVkaWNhbCBkZXZpY2UuICBGb3IgZXhhbXBsZSBkZXZpY2VzIGNvbnRhaW5pbmcgbGF0ZXguIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhcmVudCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJUaGUgcGFyZW50IGRldmljZSIgZGVmaW5pdGlvbj0iVGhlIHBhcmVudCBkZXZpY2UuIi8+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJVU0NvcmVPYnNlcnZhdGlvbk9jY3VwYXRpb25Qcm9maWxlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLW9ic2VydmF0aW9uLW9jY3VwYXRpb24iIGxhYmVsPSJVUyBDb3JlIE9ic2VydmF0aW9uIE9jY3VwYXRpb24gUHJvZmlsZSIgdGFyZ2V0PSJPYnNlcnZhdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY29kZSIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkJ1c2luZXNzIElkZW50aWZpZXIgZm9yIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIHVuaXF1ZSBpZGVudGlmaWVyIGFzc2lnbmVkIHRvIHRoaXMgb2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJGdWxmaWxscyBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciIgZGVmaW5pdGlvbj0iQSBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciB0aGF0IGlzIGZ1bGZpbGxlZCBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgZXZlbnQuICBGb3IgZXhhbXBsZSwgYSBNZWRpY2F0aW9uUmVxdWVzdCBtYXkgcmVxdWlyZSBhIHBhdGllbnQgdG8gaGF2ZSBsYWJvcmF0b3J5IHRlc3QgcGVyZm9ybWVkIGJlZm9yZSAgaXQgaXMgZGlzcGVuc2VkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IlBhcnQgb2YgcmVmZXJlbmNlZCBldmVudCIgZGVmaW5pdGlvbj0iQSBsYXJnZXIgZXZlbnQgb2Ygd2hpY2ggdGhpcyBwYXJ0aWN1bGFyIE9ic2VydmF0aW9uIGlzIGEgY29tcG9uZW50IG9yIHN0ZXAuICBGb3IgZXhhbXBsZSwgIGFuIG9ic2VydmF0aW9uIGFzIHBhcnQgb2YgYSBwcm9jZWR1cmUuIiBjb21tZW50PSJUbyBsaW5rIGFuIE9ic2VydmF0aW9uIHRvIGFuIEVuY291bnRlciB1c2UgYGVuY291bnRlcmAuICBTZWUgdGhlICBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cgZm9yIGd1aWRhbmNlIG9uIHJlZmVyZW5jaW5nIGFub3RoZXIgT2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihVU0NESSkgcmVnaXN0ZXJlZCB8IHByZWxpbWluYXJ5IHwgZmluYWwgfCBhbWVuZGVkICsiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHJlc3VsdCB2YWx1ZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25TdGF0dXMiIGRlc2NyaXB0aW9uPSJDb2RlcyBwcm92aWRpbmcgdGhlIHN0YXR1cyBvZiBhbiBvYnNlcnZhdGlvbi4iIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzb2NpYWxoaXN0b3J5IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIE9jY3VwYXRpb24gaGlzdG9yeSIgZGVmaW5pdGlvbj0iRGVzY3JpYmVzIHdoYXQgd2FzIG9ic2VydmVkLiBTb21ldGltZXMgdGhpcyBpcyBjYWxsZWQgdGhlIG9ic2VydmF0aW9uICZxdW90O25hbWUmcXVvdDsuIiBjb21tZW50PSIqQWxsKiBjb2RlLXZhbHVlIGFuZCwgaWYgcHJlc2VudCwgY29tcG9uZW50LmNvZGUtY29tcG9uZW50LnZhbHVlIHBhaXJzIG5lZWQgdG8gYmUgdGFrZW4gaW50byBhY2NvdW50IHRvIGNvcnJlY3RseSB1bmRlcnN0YW5kIHRoZSBtZWFuaW5nIG9mIHRoZSBvYnNlcnZhdGlvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25Db2RlIiBkZXNjcmlwdGlvbj0iQ29kZXMgaWRlbnRpZnlpbmcgbmFtZXMgb2Ygc2ltcGxlIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBXaG8gYW5kL29yIHdoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0IiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgdGhpcyBvYnNlcnZhdGlvbiBpcyBhYm91dCBhbmQgaW50byB3aG9zZSByZWNvcmQgdGhlIG9ic2VydmF0aW9uIGlzIHBsYWNlZC4gSWYgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24gaXMgZGlmZmVyZW50IGZyb20gdGhlIHN1YmplY3QgKG9yIGEgc2FtcGxlIG9mLCBwYXJ0LCBvciByZWdpb24gb2YgdGhlIHN1YmplY3QpLCB0aGUgYGZvY3VzYCBlbGVtZW50IG9yIHRoZSBgY29kZWAgaXRzZWxmIHNwZWNpZmllcyB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9uZSB3b3VsZCBleHBlY3QgdGhpcyBlbGVtZW50IHRvIGJlIGEgY2FyZGluYWxpdHkgb2YgMS4uMS4gVGhlIG9ubHkgY2lyY3Vtc3RhbmNlIGluIHdoaWNoIHRoZSBzdWJqZWN0IGNhbiBiZSBtaXNzaW5nIGlzIHdoZW4gdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgYnkgYSBkZXZpY2UgdGhhdCBkb2VzIG5vdCBrbm93IHRoZSBwYXRpZW50LiBJbiB0aGlzIGNhc2UsIHRoZSBvYnNlcnZhdGlvbiBTSEFMTCBiZSBtYXRjaGVkIHRvIGEgcGF0aWVudCB0aHJvdWdoIHNvbWUgY29udGV4dC9jaGFubmVsIG1hdGNoaW5nIHRlY2huaXF1ZSwgYW5kIGF0IHRoaXMgcG9pbnQsIHRoZSBvYnNlcnZhdGlvbiBzaG91bGQgYmUgdXBkYXRlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jdXMiIGRlc2NyaXB0aW9uPSJXaGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCwgd2hlbiBpdCBpcyBub3QgYWJvdXQgdGhlIHN1YmplY3Qgb2YgcmVjb3JkIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIHdoZW4gaXQgaXMgbm90IHRoZSBwYXRpZW50IG9mIHJlY29yZCByZXByZXNlbnRpbmcgc29tZXRoaW5nIG9yIHNvbWVvbmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYXRpZW50IHN1Y2ggYXMgYSBzcG91c2UsIHBhcmVudCwgZmV0dXMsIG9yIGRvbm9yLiBGb3IgZXhhbXBsZSwgZmV0dXMgb2JzZXJ2YXRpb25zIGluIGEgbW90aGVyJ3MgcmVjb3JkLiAgVGhlIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIGNvdWxkIGFsc28gYmUgYW4gZXhpc3RpbmcgY29uZGl0aW9uLCAgYW4gaW50ZXJ2ZW50aW9uLCB0aGUgc3ViamVjdCdzIGRpZXQsICBhbm90aGVyIG9ic2VydmF0aW9uIG9mIHRoZSBzdWJqZWN0LCAgb3IgYSBib2R5IHN0cnVjdHVyZSBzdWNoIGFzIHR1bW9yIG9yIGltcGxhbnRlZCBkZXZpY2UuICAgQW4gZXhhbXBsZSB1c2UgY2FzZSB3b3VsZCBiZSB1c2luZyB0aGUgT2JzZXJ2YXRpb24gcmVzb3VyY2UgdG8gY2FwdHVyZSB3aGV0aGVyIHRoZSBtb3RoZXIgaXMgdHJhaW5lZCB0byBjaGFuZ2UgaGVyIGNoaWxkJ3MgdHJhY2hlb3N0b215IHR1YmUuIEluIHRoaXMgZXhhbXBsZSwgdGhlIGNoaWxkIGlzIHRoZSBwYXRpZW50IG9mIHJlY29yZCBhbmQgdGhlIG1vdGhlciBpcyB0aGUgZm9jdXMuIiBjb21tZW50PSJUeXBpY2FsbHksIGFuIG9ic2VydmF0aW9uIGlzIG1hZGUgYWJvdXQgdGhlIHN1YmplY3QgLSBhIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIC0gYW5kIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRoZSBzdWJqZWN0IGFuZCB3aGF0IGlzIGRpcmVjdGx5IG1lYXN1cmVkIGZvciBhbiBvYnNlcnZhdGlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIG9ic2VydmF0aW9uIGNvZGUgaXRzZWxmICggZS5nLiwgJnF1b3Q7Qmxvb2QgR2x1Y29zZSZxdW90OykgYW5kIGRvZXMgbm90IG5lZWQgdG8gYmUgcmVwcmVzZW50ZWQgc2VwYXJhdGVseSB1c2luZyB0aGlzIGVsZW1lbnQuICBVc2UgYHNwZWNpbWVuYCBpZiBhIHJlZmVyZW5jZSB0byBhIHNwZWNpbWVuIGlzIHJlcXVpcmVkLiAgSWYgYSBjb2RlIGlzIHJlcXVpcmVkIGluc3RlYWQgb2YgYSByZXNvdXJjZSB1c2UgZWl0aGVyICBgYm9keXNpdGVgIGZvciBib2R5c2l0ZXMgb3IgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbZm9jdXNDb2RlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1vYnNlcnZhdGlvbi1mb2N1c2NvZGUuaHRtbCkuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkhlYWx0aGNhcmUgZXZlbnQgZHVyaW5nIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gaXMgbWFkZSIgZGVmaW5pdGlvbj0iVGhlIGhlYWx0aGNhcmUgZXZlbnQgIChlLmcuIGEgcGF0aWVudCBhbmQgaGVhbHRoY2FyZSBwcm92aWRlciBpbnRlcmFjdGlvbikgZHVyaW5nIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gaXMgbWFkZS4iIGNvbW1lbnQ9IlRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgdGhlIGVuY291bnRlciB0aGUgZXZlbnQgb2NjdXJyZWQgd2l0aGluLCBidXQgc29tZSBldmVudHMgbWF5IGJlIGluaXRpYXRlZCBwcmlvciB0byBvciBhZnRlciB0aGUgb2ZmaWNpYWwgY29tcGxldGlvbiBvZiBhbiBlbmNvdW50ZXIgYnV0IHN0aWxsIGJlIHRpZWQgdG8gdGhlIGNvbnRleHQgb2YgdGhlIGVuY291bnRlciAoZS5nLiBwcmUtYWRtaXNzaW9uIGxhYm9yYXRvcnkgdGVzdHMpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0ludGVydmFsKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGluaWNhbGx5IHJlbGV2YW50IHRpbWUvdGltZS1wZXJpb2QgZm9yIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgdGltZSBvciB0aW1lLXBlcmlvZCB0aGUgb2JzZXJ2ZWQgdmFsdWUgaXMgYXNzZXJ0ZWQgYXMgYmVpbmcgdHJ1ZS4gRm9yIGJpb2xvZ2ljYWwgc3ViamVjdHMgLSBlLmcuIGh1bWFuIHBhdGllbnRzIC0gdGhpcyBpcyB1c3VhbGx5IGNhbGxlZCB0aGUgJnF1b3Q7cGh5c2lvbG9naWNhbGx5IHJlbGV2YW50IHRpbWUmcXVvdDsuIFRoaXMgaXMgdXN1YWxseSBlaXRoZXIgdGhlIHRpbWUgb2YgdGhlIHByb2NlZHVyZSBvciBvZiBzcGVjaW1lbiBjb2xsZWN0aW9uLCBidXQgdmVyeSBvZnRlbiB0aGUgc291cmNlIG9mIHRoZSBkYXRlL3RpbWUgaXMgbm90IGtub3duLCBvbmx5IHRoZSBkYXRlL3RpbWUgaXRzZWxmLiIgY29tbWVudD0iQXQgbGVhc3QgYSBkYXRlIHNob3VsZCBiZSBwcmVzZW50IHVubGVzcyB0aGlzIG9ic2VydmF0aW9uIGlzIGEgaGlzdG9yaWNhbCByZXBvcnQuICBGb3IgcmVjb3JkaW5nIGltcHJlY2lzZSBvciAmcXVvdDtmdXp6eSZxdW90OyB0aW1lcyAoRm9yIGV4YW1wbGUsIGEgYmxvb2QgZ2x1Y29zZSBtZWFzdXJlbWVudCB0YWtlbiAmcXVvdDthZnRlciBicmVha2Zhc3QmcXVvdDspIHVzZSB0aGUgW1RpbWluZ10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9kYXRhdHlwZXMuaHRtbCN0aW1pbmcpIGRhdGF0eXBlIHdoaWNoIGFsbG93IHRoZSBtZWFzdXJlbWVudCB0byBiZSB0aWVkIHRvIHJlZ3VsYXIgbGlmZSBldmVudHMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaXNzdWVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUvVGltZSB0aGlzIHZlcnNpb24gd2FzIG1hZGUgYXZhaWxhYmxlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGlzIHZlcnNpb24gb2YgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIGF2YWlsYWJsZSB0byBwcm92aWRlcnMsIHR5cGljYWxseSBhZnRlciB0aGUgcmVzdWx0cyBoYXZlIGJlZW4gcmV2aWV3ZWQgYW5kIHZlcmlmaWVkLiIgY29tbWVudD0iRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvbuKAmXQgcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiwgaXQgbWF5IGJlIHRoZSBzYW1lIGFzIHRoZSBbYGxhc3RVcGRhdGVkYCBdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcmVzb3VyY2UtZGVmaW5pdGlvbnMuaHRtbCNNZXRhLmxhc3RVcGRhdGVkKSB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYuICBGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG8gcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiBmb3IgY2VydGFpbiB1cGRhdGVzLCBpdCBtaWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGBsYXN0VXBkYXRlZGAgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmIGR1ZSB0byBhIG5vbi1jbGluaWNhbGx5IHNpZ25pZmljYW50IHVwZGF0ZSB0aGF0IGRvZXNu4oCZdCByZXF1aXJlIHRoZSBuZXcgdmVyc2lvbiB0byBiZSByZXZpZXdlZCBhbmQgdmVyaWZpZWQgYWdhaW4uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IldobyB3YXMgcmVzcG9uc2libGUgZm9yIGFzc2VydGluZyB0aGUgb2JzZXJ2ZWQgdmFsdWUgYXMgJnF1b3Q7dHJ1ZSZxdW90Oy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQWN0dWFsIHJlc3VsdCIgZGVmaW5pdGlvbj0iVGhlIGluZm9ybWF0aW9uIGRldGVybWluZWQgYXMgYSByZXN1bHQgb2YgbWFraW5nIHRoZSBvYnNlcnZhdGlvbiwgaWYgdGhlIGluZm9ybWF0aW9uIGhhcyBhIHNpbXBsZSB2YWx1ZS4iIGNvbW1lbnQ9IkFuIG9ic2VydmF0aW9uIG1heSBoYXZlOyAxKSAgYSBzaW5nbGUgdmFsdWUgaGVyZSwgMikgIGJvdGggYSB2YWx1ZSBhbmQgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLCAgb3IgMykgIG9ubHkgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLiBJZiBhIHZhbHVlIGlzIHByZXNlbnQsIHRoZSBkYXRhdHlwZSBmb3IgdGhpcyBlbGVtZW50IHNob3VsZCBiZSBkZXRlcm1pbmVkIGJ5IE9ic2VydmF0aW9uLmNvZGUuICBBIENvZGVhYmxlQ29uY2VwdCB3aXRoIGp1c3QgYSB0ZXh0IHdvdWxkIGJlIHVzZWQgaW5zdGVhZCBvZiBhIHN0cmluZyBpZiB0aGUgZmllbGQgd2FzIHVzdWFsbHkgY29kZWQsIG9yIGlmIHRoZSB0eXBlIGFzc29jaWF0ZWQgd2l0aCB0aGUgT2JzZXJ2YXRpb24uY29kZSBkZWZpbmVzIGEgY29kZWQgdmFsdWUuICBGb3IgYWRkaXRpb25hbCBndWlkYW5jZSwgc2VlIHRoZSBbTm90ZXMgc2VjdGlvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgdGhlIHJlc3VsdCBpcyBtaXNzaW5nIiBkZWZpbml0aW9uPSJQcm92aWRlcyBhIHJlYXNvbiB3aHkgdGhlIGV4cGVjdGVkIHZhbHVlIGluIHRoZSBlbGVtZW50IE9ic2VydmF0aW9uLnZhbHVlW3hdIGlzIG1pc3NpbmcuIiBjb21tZW50PSJOdWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcyBjYW4gYmUgcmVwcmVzZW50ZWQgdHdvIHdheXMgaW4gRkhJUiBPYnNlcnZhdGlvbnMuICBPbmUgd2F5IGlzIHRvIHNpbXBseSBpbmNsdWRlIHRoZW0gaW4gdGhlIHZhbHVlIHNldCBhbmQgcmVwcmVzZW50IHRoZSBleGNlcHRpb25zIGluIHRoZSB2YWx1ZS4gIEZvciBleGFtcGxlLCBtZWFzdXJlbWVudCB2YWx1ZXMgZm9yIGEgc2Vyb2xvZ3kgdGVzdCBjb3VsZCBiZSAgJnF1b3Q7ZGV0ZWN0ZWQmcXVvdDssICZxdW90O25vdCBkZXRlY3RlZCZxdW90OywgJnF1b3Q7aW5jb25jbHVzaXZlJnF1b3Q7LCBvciAgJnF1b3Q7c3BlY2ltZW4gdW5zYXRpc2ZhY3RvcnkmcXVvdDsuICAgJiMxMDsmIzEwO1RoZSBhbHRlcm5hdGUgd2F5IGlzIHRvIHVzZSB0aGUgdmFsdWUgZWxlbWVudCBmb3IgYWN0dWFsIG9ic2VydmF0aW9ucyBhbmQgdXNlIHRoZSBleHBsaWNpdCBkYXRhQWJzZW50UmVhc29uIGVsZW1lbnQgdG8gcmVjb3JkIGV4Y2VwdGlvbmFsIHZhbHVlcy4gIEZvciBleGFtcGxlLCB0aGUgZGF0YUFic2VudFJlYXNvbiBjb2RlICZxdW90O2Vycm9yJnF1b3Q7IGNvdWxkIGJlIHVzZWQgd2hlbiB0aGUgbWVhc3VyZW1lbnQgd2FzIG5vdCBjb21wbGV0ZWQuIE5vdGUgdGhhdCBhbiBvYnNlcnZhdGlvbiBtYXkgb25seSBiZSByZXBvcnRlZCBpZiB0aGVyZSBhcmUgdmFsdWVzIHRvIHJlcG9ydC4gRm9yIGV4YW1wbGUgZGlmZmVyZW50aWFsIGNlbGwgY291bnRzIHZhbHVlcyBtYXkgYmUgcmVwb3J0ZWQgb25seSB3aGVuICZndDsgMC4gIEJlY2F1c2Ugb2YgdGhlc2Ugb3B0aW9ucywgdXNlLWNhc2UgYWdyZWVtZW50cyBhcmUgcmVxdWlyZWQgdG8gaW50ZXJwcmV0IGdlbmVyYWwgb2JzZXJ2YXRpb25zIGZvciBudWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblZhbHVlQWJzZW50UmVhc29uIiBkZXNjcmlwdGlvbj0iQ29kZXMgc3BlY2lmeWluZyB3aHkgdGhlIHJlc3VsdCAoYE9ic2VydmF0aW9uLnZhbHVlW3hdYCkgaXMgbWlzc2luZy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImludGVycHJldGF0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGlnaCwgbG93LCBub3JtYWwsIGV0Yy4iIGRlZmluaXRpb249IkEgY2F0ZWdvcmljYWwgYXNzZXNzbWVudCBvZiBhbiBvYnNlcnZhdGlvbiB2YWx1ZS4gIEZvciBleGFtcGxlLCBoaWdoLCBsb3csIG5vcm1hbC4iIGNvbW1lbnQ9Ikhpc3RvcmljYWxseSB1c2VkIGZvciBsYWJvcmF0b3J5IHJlc3VsdHMgKGtub3duIGFzICdhYm5vcm1hbCBmbGFnJyApLCAgaXRzIHVzZSBleHRlbmRzIHRvIG90aGVyIHVzZSBjYXNlcyB3aGVyZSBjb2RlZCBpbnRlcnByZXRhdGlvbnMgIGFyZSByZWxldmFudC4gIE9mdGVuIHJlcG9ydGVkIGFzIG9uZSBvciBtb3JlIHNpbXBsZSBjb21wYWN0IGNvZGVzIHRoaXMgZWxlbWVudCBpcyBvZnRlbiBwbGFjZWQgYWRqYWNlbnQgdG8gdGhlIHJlc3VsdCB2YWx1ZSBpbiByZXBvcnRzIGFuZCBmbG93IHNoZWV0cyB0byBzaWduYWwgdGhlIG1lYW5pbmcvbm9ybWFsY3kgc3RhdHVzIG9mIHRoZSByZXN1bHQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uSW50ZXJwcmV0YXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBpbnRlcnByZXRhdGlvbnMgb2Ygb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIG9yIHRoZSByZXN1bHRzLiIgY29tbWVudD0iTWF5IGluY2x1ZGUgZ2VuZXJhbCBzdGF0ZW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiwgb3Igc3RhdGVtZW50cyBhYm91dCBzaWduaWZpY2FudCwgdW5leHBlY3RlZCBvciB1bnJlbGlhYmxlIHJlc3VsdHMgdmFsdWVzLCBvciBpbmZvcm1hdGlvbiBhYm91dCBpdHMgc291cmNlIHdoZW4gcmVsZXZhbnQgdG8gaXRzIGludGVycHJldGF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2JzZXJ2ZWQgYm9keSBwYXJ0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHNpdGUgb24gdGhlIHN1YmplY3QncyBib2R5IHdoZXJlIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSAoaS5lLiB0aGUgdGFyZ2V0IHNpdGUpLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIE9ic2VydmF0aW9uLmNvZGUuICBJbiBtYW55IHN5c3RlbXMsIHRoaXMgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGEgcmVsYXRlZCBvYnNlcnZhdGlvbiBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb21wb25lbnQuICAgJiMxMDsmIzEwO0lmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBCb2R5U2l0ZSB0byBiZSBoYW5kbGVkIGFzIGEgc2VwYXJhdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb25bIGJvZHlTaXRlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBpdCB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWNoYW5pc20gdXNlZCB0byBwZXJmb3JtIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3IgT2JzZXJ2YXRpb24uY29kZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiB1c2VkIGZvciB0aGlzIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2ltZW4gdGhhdCB3YXMgdXNlZCB3aGVuIHRoaXMgb2JzZXJ2YXRpb24gd2FzIG1hZGUuIiBjb21tZW50PSJTaG91bGQgb25seSBiZSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIGBPYnNlcnZhdGlvbi5jb2RlYC4gIE9ic2VydmF0aW9ucyBhcmUgbm90IG1hZGUgb24gc3BlY2ltZW5zIHRoZW1zZWx2ZXM7IHRoZXkgYXJlIG1hZGUgb24gYSBzdWJqZWN0LCBidXQgaW4gbWFueSBjYXNlcyBieSB0aGUgbWVhbnMgb2YgYSBzcGVjaW1lbi4gTm90ZSB0aGF0IGFsdGhvdWdoIHNwZWNpbWVucyBhcmUgb2Z0ZW4gaW52b2x2ZWQsIHRoZXkgYXJlIG5vdCBhbHdheXMgdHJhY2tlZCBhbmQgcmVwb3J0ZWQgZXhwbGljaXRseS4gQWxzbyBub3RlIHRoYXQgb2JzZXJ2YXRpb24gcmVzb3VyY2VzIG1heSBiZSB1c2VkIGluIGNvbnRleHRzIHRoYXQgdHJhY2sgdGhlIHNwZWNpbWVuIGV4cGxpY2l0bHkgKGUuZy4gRGlhZ25vc3RpYyBSZXBvcnQpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRldmljZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoTWVhc3VyZW1lbnQpIERldmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBvYnNlcnZhdGlvbiBkYXRhLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgaXMgbm90IG1lYW50IHRvIHJlcHJlc2VudCBhIGRldmljZSBpbnZvbHZlZCBpbiB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoZSByZXN1bHQsIGUuZy4sIGEgZ2F0ZXdheS4gIFN1Y2ggZGV2aWNlcyBtYXkgYmUgZG9jdW1lbnRlZCB1c2luZyB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZSB3aGVyZSByZWxldmFudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2VSYW5nZSIgZGVzY3JpcHRpb249IlByb3ZpZGVzIGd1aWRlIGZvciBpbnRlcnByZXRhdGlvbiIgZGVmaW5pdGlvbj0iR3VpZGFuY2Ugb24gaG93IHRvIGludGVycHJldCB0aGUgdmFsdWUgYnkgY29tcGFyaXNvbiB0byBhIG5vcm1hbCBvciByZWNvbW1lbmRlZCByYW5nZS4gIE11bHRpcGxlIHJlZmVyZW5jZSByYW5nZXMgYXJlIGludGVycHJldGVkIGFzIGFuICZxdW90O09SJnF1b3Q7LiAgIEluIG90aGVyIHdvcmRzLCB0byByZXByZXNlbnQgdHdvIGRpc3RpbmN0IHRhcmdldCBwb3B1bGF0aW9ucywgdHdvIGByZWZlcmVuY2VSYW5nZWAgZWxlbWVudHMgd291bGQgYmUgdXNlZC4iIGNvbW1lbnQ9Ik1vc3Qgb2JzZXJ2YXRpb25zIG9ubHkgaGF2ZSBvbmUgZ2VuZXJpYyByZWZlcmVuY2UgcmFuZ2UuIFN5c3RlbXMgTUFZIGNob29zZSB0byByZXN0cmljdCB0byBvbmx5IHN1cHBseWluZyB0aGUgcmVsZXZhbnQgcmVmZXJlbmNlIHJhbmdlIGJhc2VkIG9uIGtub3dsZWRnZSBhYm91dCB0aGUgcGF0aWVudCAoZS5nLiwgc3BlY2lmaWMgdG8gdGhlIHBhdGllbnQncyBhZ2UsIGdlbmRlciwgd2VpZ2h0IGFuZCBvdGhlciBmYWN0b3JzKSwgYnV0IHRoaXMgbWlnaHQgbm90IGJlIHBvc3NpYmxlIG9yIGFwcHJvcHJpYXRlLiBXaGVuZXZlciBtb3JlIHRoYW4gb25lIHJlZmVyZW5jZSByYW5nZSBpcyBzdXBwbGllZCwgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlbSBTSE9VTEQgYmUgcHJvdmlkZWQgaW4gdGhlIHJlZmVyZW5jZSByYW5nZSBhbmQvb3IgYWdlIHByb3BlcnRpZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5SZWZlcmVuY2VSYW5nZSIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJvYnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJNdXN0IGhhdmUgYXQgbGVhc3QgYSBsb3cgb3IgYSBoaWdoIG9yIHRleHQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Imxvdy5leGlzdHMoKSBvciBoaWdoLmV4aXN0cygpIG9yIHRleHQuZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJoYXNNZW1iZXIiIGRlc2NyaXB0aW9uPSJSZWxhdGVkIHJlc291cmNlIHRoYXQgYmVsb25ncyB0byB0aGUgT2JzZXJ2YXRpb24gZ3JvdXAiIGRlZmluaXRpb249IlRoaXMgb2JzZXJ2YXRpb24gaXMgYSBncm91cCBvYnNlcnZhdGlvbiAoZS5nLiBhIGJhdHRlcnksIGEgcGFuZWwgb2YgdGVzdHMsIGEgc2V0IG9mIHZpdGFsIHNpZ24gbWVhc3VyZW1lbnRzKSB0aGF0IGluY2x1ZGVzIHRoZSB0YXJnZXQgYXMgYSBtZW1iZXIgb2YgdGhlIGdyb3VwLiIgY29tbWVudD0iV2hlbiB1c2luZyB0aGlzIGVsZW1lbnQsIGFuIG9ic2VydmF0aW9uIHdpbGwgdHlwaWNhbGx5IGhhdmUgZWl0aGVyIGEgdmFsdWUgb3IgYSBzZXQgb2YgcmVsYXRlZCByZXNvdXJjZXMsIGFsdGhvdWdoIGJvdGggbWF5IGJlIHByZXNlbnQgaW4gc29tZSBjYXNlcy4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiAgTm90ZSB0aGF0IGEgc3lzdGVtIG1heSBjYWxjdWxhdGUgcmVzdWx0cyBmcm9tIFtRdWVzdGlvbm5haXJlUmVzcG9uc2VdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcXVlc3Rpb25uYWlyZXJlc3BvbnNlLmh0bWwpICBpbnRvIGEgZmluYWwgc2NvcmUgYW5kIHJlcHJlc2VudCB0aGUgc2NvcmUgYXMgYW4gT2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIG1lYXN1cmVtZW50cyB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIG1lYXN1cmVtZW50IGZyb20gd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiB2YWx1ZSBpcyBkZXJpdmVkLiBGb3IgZXhhbXBsZSwgYSBjYWxjdWxhdGVkIGFuaW9uIGdhcCBvciBhIGZldGFsIG1lYXN1cmVtZW50IGJhc2VkIG9uIGFuIHVsdHJhc291bmQgaW1hZ2UuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbXBvbmVudCIgZGVzY3JpcHRpb249IihVU0NESSkgQ29tcG9uZW50IHJlc3VsdHMiIGRlZmluaXRpb249IlNvbWUgb2JzZXJ2YXRpb25zIGhhdmUgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucy4gIFRoZXNlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgYXJlIGV4cHJlc3NlZCBhcyBzZXBhcmF0ZSBjb2RlIHZhbHVlIHBhaXJzIHRoYXQgc2hhcmUgdGhlIHNhbWUgYXR0cmlidXRlcy4gIEV4YW1wbGVzIGluY2x1ZGUgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGZvciBibG9vZCBwcmVzc3VyZSBtZWFzdXJlbWVudCBhbmQgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucyBmb3IgZ2VuZXRpY3Mgb2JzZXJ2YXRpb25zLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5Db21wb25lbnQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5kdXN0cnkiIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50IiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBPY2N1cGF0aW9uIGluZHVzdHJ5IiBkZWZpbml0aW9uPSJTb21lIG9ic2VydmF0aW9ucyBoYXZlIG11bHRpcGxlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMuICBUaGVzZSBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGFyZSBleHByZXNzZWQgYXMgc2VwYXJhdGUgY29kZSB2YWx1ZSBwYWlycyB0aGF0IHNoYXJlIHRoZSBzYW1lIGF0dHJpYnV0ZXMuICBFeGFtcGxlcyBpbmNsdWRlIHN5c3RvbGljIGFuZCBkaWFzdG9saWMgY29tcG9uZW50IG9ic2VydmF0aW9ucyBmb3IgYmxvb2QgcHJlc3N1cmUgbWVhc3VyZW1lbnQgYW5kIG11bHRpcGxlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgZm9yIGdlbmV0aWNzIG9ic2VydmF0aW9ucy4iIGNvbW1lbnQ9IkZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBiZSBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlT2JzZXJ2YXRpb25QcmVnbmFuY3lJbnRlbnRQcm9maWxlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLW9ic2VydmF0aW9uLXByZWduYW5jeWludGVudCIgbGFiZWw9IlVTIENvcmUgT2JzZXJ2YXRpb24gUHJlZ25hbmN5IEludGVudCBQcm9maWxlIiB0YXJnZXQ9Ik9ic2VydmF0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IkZ1bGZpbGxzIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIiBkZWZpbml0aW9uPSJBIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBldmVudC4gIEZvciBleGFtcGxlLCBhIE1lZGljYXRpb25SZXF1ZXN0IG1heSByZXF1aXJlIGEgcGF0aWVudCB0byBoYXZlIGxhYm9yYXRvcnkgdGVzdCBwZXJmb3JtZWQgYmVmb3JlICBpdCBpcyBkaXNwZW5zZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iUGFydCBvZiByZWZlcmVuY2VkIGV2ZW50IiBkZWZpbml0aW9uPSJBIGxhcmdlciBldmVudCBvZiB3aGljaCB0aGlzIHBhcnRpY3VsYXIgT2JzZXJ2YXRpb24gaXMgYSBjb21wb25lbnQgb3Igc3RlcC4gIEZvciBleGFtcGxlLCAgYW4gb2JzZXJ2YXRpb24gYXMgcGFydCBvZiBhIHByb2NlZHVyZS4iIGNvbW1lbnQ9IlRvIGxpbmsgYW4gT2JzZXJ2YXRpb24gdG8gYW4gRW5jb3VudGVyIHVzZSBgZW5jb3VudGVyYC4gIFNlZSB0aGUgIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdyBmb3IgZ3VpZGFuY2Ugb24gcmVmZXJlbmNpbmcgYW5vdGhlciBPYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb25TdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSByZWdpc3RlcmVkIHwgcHJlbGltaW5hcnkgfCBmaW5hbCB8IGFtZW5kZWQgKyIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzdWx0IHZhbHVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblN0YXR1cyIgZGVzY3JpcHRpb249IkNvZGVzIHByb3ZpZGluZyB0aGUgc3RhdHVzIG9mIGFuIG9ic2VydmF0aW9uLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9IlNvY2lhbEhpc3RvcnkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgUHJlZ25hbmN5IFN0YXR1cyIgZGVmaW5pdGlvbj0iRGVzY3JpYmVzIHdoYXQgd2FzIG9ic2VydmVkLiBTb21ldGltZXMgdGhpcyBpcyBjYWxsZWQgdGhlIG9ic2VydmF0aW9uICZxdW90O25hbWUmcXVvdDsuIiBjb21tZW50PSIqQWxsKiBjb2RlLXZhbHVlIGFuZCwgaWYgcHJlc2VudCwgY29tcG9uZW50LmNvZGUtY29tcG9uZW50LnZhbHVlIHBhaXJzIG5lZWQgdG8gYmUgdGFrZW4gaW50byBhY2NvdW50IHRvIGNvcnJlY3RseSB1bmRlcnN0YW5kIHRoZSBtZWFuaW5nIG9mIHRoZSBvYnNlcnZhdGlvbi4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25Db2RlIiBkZXNjcmlwdGlvbj0iQ29kZXMgaWRlbnRpZnlpbmcgbmFtZXMgb2Ygc2ltcGxlIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBXaG8gYW5kL29yIHdoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0IiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgdGhpcyBvYnNlcnZhdGlvbiBpcyBhYm91dCBhbmQgaW50byB3aG9zZSByZWNvcmQgdGhlIG9ic2VydmF0aW9uIGlzIHBsYWNlZC4gSWYgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24gaXMgZGlmZmVyZW50IGZyb20gdGhlIHN1YmplY3QgKG9yIGEgc2FtcGxlIG9mLCBwYXJ0LCBvciByZWdpb24gb2YgdGhlIHN1YmplY3QpLCB0aGUgYGZvY3VzYCBlbGVtZW50IG9yIHRoZSBgY29kZWAgaXRzZWxmIHNwZWNpZmllcyB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9uZSB3b3VsZCBleHBlY3QgdGhpcyBlbGVtZW50IHRvIGJlIGEgY2FyZGluYWxpdHkgb2YgMS4uMS4gVGhlIG9ubHkgY2lyY3Vtc3RhbmNlIGluIHdoaWNoIHRoZSBzdWJqZWN0IGNhbiBiZSBtaXNzaW5nIGlzIHdoZW4gdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgYnkgYSBkZXZpY2UgdGhhdCBkb2VzIG5vdCBrbm93IHRoZSBwYXRpZW50LiBJbiB0aGlzIGNhc2UsIHRoZSBvYnNlcnZhdGlvbiBTSEFMTCBiZSBtYXRjaGVkIHRvIGEgcGF0aWVudCB0aHJvdWdoIHNvbWUgY29udGV4dC9jaGFubmVsIG1hdGNoaW5nIHRlY2huaXF1ZSwgYW5kIGF0IHRoaXMgcG9pbnQsIHRoZSBvYnNlcnZhdGlvbiBzaG91bGQgYmUgdXBkYXRlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jdXMiIGRlc2NyaXB0aW9uPSJXaGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCwgd2hlbiBpdCBpcyBub3QgYWJvdXQgdGhlIHN1YmplY3Qgb2YgcmVjb3JkIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIHdoZW4gaXQgaXMgbm90IHRoZSBwYXRpZW50IG9mIHJlY29yZCByZXByZXNlbnRpbmcgc29tZXRoaW5nIG9yIHNvbWVvbmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYXRpZW50IHN1Y2ggYXMgYSBzcG91c2UsIHBhcmVudCwgZmV0dXMsIG9yIGRvbm9yLiBGb3IgZXhhbXBsZSwgZmV0dXMgb2JzZXJ2YXRpb25zIGluIGEgbW90aGVyJ3MgcmVjb3JkLiAgVGhlIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIGNvdWxkIGFsc28gYmUgYW4gZXhpc3RpbmcgY29uZGl0aW9uLCAgYW4gaW50ZXJ2ZW50aW9uLCB0aGUgc3ViamVjdCdzIGRpZXQsICBhbm90aGVyIG9ic2VydmF0aW9uIG9mIHRoZSBzdWJqZWN0LCAgb3IgYSBib2R5IHN0cnVjdHVyZSBzdWNoIGFzIHR1bW9yIG9yIGltcGxhbnRlZCBkZXZpY2UuICAgQW4gZXhhbXBsZSB1c2UgY2FzZSB3b3VsZCBiZSB1c2luZyB0aGUgT2JzZXJ2YXRpb24gcmVzb3VyY2UgdG8gY2FwdHVyZSB3aGV0aGVyIHRoZSBtb3RoZXIgaXMgdHJhaW5lZCB0byBjaGFuZ2UgaGVyIGNoaWxkJ3MgdHJhY2hlb3N0b215IHR1YmUuIEluIHRoaXMgZXhhbXBsZSwgdGhlIGNoaWxkIGlzIHRoZSBwYXRpZW50IG9mIHJlY29yZCBhbmQgdGhlIG1vdGhlciBpcyB0aGUgZm9jdXMuIiBjb21tZW50PSJUeXBpY2FsbHksIGFuIG9ic2VydmF0aW9uIGlzIG1hZGUgYWJvdXQgdGhlIHN1YmplY3QgLSBhIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIC0gYW5kIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRoZSBzdWJqZWN0IGFuZCB3aGF0IGlzIGRpcmVjdGx5IG1lYXN1cmVkIGZvciBhbiBvYnNlcnZhdGlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIG9ic2VydmF0aW9uIGNvZGUgaXRzZWxmICggZS5nLiwgJnF1b3Q7Qmxvb2QgR2x1Y29zZSZxdW90OykgYW5kIGRvZXMgbm90IG5lZWQgdG8gYmUgcmVwcmVzZW50ZWQgc2VwYXJhdGVseSB1c2luZyB0aGlzIGVsZW1lbnQuICBVc2UgYHNwZWNpbWVuYCBpZiBhIHJlZmVyZW5jZSB0byBhIHNwZWNpbWVuIGlzIHJlcXVpcmVkLiAgSWYgYSBjb2RlIGlzIHJlcXVpcmVkIGluc3RlYWQgb2YgYSByZXNvdXJjZSB1c2UgZWl0aGVyICBgYm9keXNpdGVgIGZvciBib2R5c2l0ZXMgb3IgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbZm9jdXNDb2RlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1vYnNlcnZhdGlvbi1mb2N1c2NvZGUuaHRtbCkuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkhlYWx0aGNhcmUgZXZlbnQgZHVyaW5nIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gaXMgbWFkZSIgZGVmaW5pdGlvbj0iVGhlIGhlYWx0aGNhcmUgZXZlbnQgIChlLmcuIGEgcGF0aWVudCBhbmQgaGVhbHRoY2FyZSBwcm92aWRlciBpbnRlcmFjdGlvbikgZHVyaW5nIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gaXMgbWFkZS4iIGNvbW1lbnQ9IlRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgdGhlIGVuY291bnRlciB0aGUgZXZlbnQgb2NjdXJyZWQgd2l0aGluLCBidXQgc29tZSBldmVudHMgbWF5IGJlIGluaXRpYXRlZCBwcmlvciB0byBvciBhZnRlciB0aGUgb2ZmaWNpYWwgY29tcGxldGlvbiBvZiBhbiBlbmNvdW50ZXIgYnV0IHN0aWxsIGJlIHRpZWQgdG8gdGhlIGNvbnRleHQgb2YgdGhlIGVuY291bnRlciAoZS5nLiBwcmUtYWRtaXNzaW9uIGxhYm9yYXRvcnkgdGVzdHMpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJDbGluaWNhbGx5IHJlbGV2YW50IHRpbWUvdGltZS1wZXJpb2QgZm9yIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgdGltZSBvciB0aW1lLXBlcmlvZCB0aGUgb2JzZXJ2ZWQgdmFsdWUgaXMgYXNzZXJ0ZWQgYXMgYmVpbmcgdHJ1ZS4gRm9yIGJpb2xvZ2ljYWwgc3ViamVjdHMgLSBlLmcuIGh1bWFuIHBhdGllbnRzIC0gdGhpcyBpcyB1c3VhbGx5IGNhbGxlZCB0aGUgJnF1b3Q7cGh5c2lvbG9naWNhbGx5IHJlbGV2YW50IHRpbWUmcXVvdDsuIFRoaXMgaXMgdXN1YWxseSBlaXRoZXIgdGhlIHRpbWUgb2YgdGhlIHByb2NlZHVyZSBvciBvZiBzcGVjaW1lbiBjb2xsZWN0aW9uLCBidXQgdmVyeSBvZnRlbiB0aGUgc291cmNlIG9mIHRoZSBkYXRlL3RpbWUgaXMgbm90IGtub3duLCBvbmx5IHRoZSBkYXRlL3RpbWUgaXRzZWxmLiIgY29tbWVudD0iQXQgbGVhc3QgYSBkYXRlIHNob3VsZCBiZSBwcmVzZW50IHVubGVzcyB0aGlzIG9ic2VydmF0aW9uIGlzIGEgaGlzdG9yaWNhbCByZXBvcnQuICBGb3IgcmVjb3JkaW5nIGltcHJlY2lzZSBvciAmcXVvdDtmdXp6eSZxdW90OyB0aW1lcyAoRm9yIGV4YW1wbGUsIGEgYmxvb2QgZ2x1Y29zZSBtZWFzdXJlbWVudCB0YWtlbiAmcXVvdDthZnRlciBicmVha2Zhc3QmcXVvdDspIHVzZSB0aGUgW1RpbWluZ10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9kYXRhdHlwZXMuaHRtbCN0aW1pbmcpIGRhdGF0eXBlIHdoaWNoIGFsbG93IHRoZSBtZWFzdXJlbWVudCB0byBiZSB0aWVkIHRvIHJlZ3VsYXIgbGlmZSBldmVudHMuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaXNzdWVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUvVGltZSB0aGlzIHZlcnNpb24gd2FzIG1hZGUgYXZhaWxhYmxlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGlzIHZlcnNpb24gb2YgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIGF2YWlsYWJsZSB0byBwcm92aWRlcnMsIHR5cGljYWxseSBhZnRlciB0aGUgcmVzdWx0cyBoYXZlIGJlZW4gcmV2aWV3ZWQgYW5kIHZlcmlmaWVkLiIgY29tbWVudD0iRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvbuKAmXQgcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiwgaXQgbWF5IGJlIHRoZSBzYW1lIGFzIHRoZSBbYGxhc3RVcGRhdGVkYCBdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcmVzb3VyY2UtZGVmaW5pdGlvbnMuaHRtbCNNZXRhLmxhc3RVcGRhdGVkKSB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYuICBGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG8gcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiBmb3IgY2VydGFpbiB1cGRhdGVzLCBpdCBtaWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGBsYXN0VXBkYXRlZGAgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmIGR1ZSB0byBhIG5vbi1jbGluaWNhbGx5IHNpZ25pZmljYW50IHVwZGF0ZSB0aGF0IGRvZXNu4oCZdCByZXF1aXJlIHRoZSBuZXcgdmVyc2lvbiB0byBiZSByZXZpZXdlZCBhbmQgdmVyaWZpZWQgYWdhaW4uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IldobyB3YXMgcmVzcG9uc2libGUgZm9yIGFzc2VydGluZyB0aGUgb2JzZXJ2ZWQgdmFsdWUgYXMgJnF1b3Q7dHJ1ZSZxdW90Oy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iQWN0dWFsIHJlc3VsdCIgZGVmaW5pdGlvbj0iVGhlIGluZm9ybWF0aW9uIGRldGVybWluZWQgYXMgYSByZXN1bHQgb2YgbWFraW5nIHRoZSBvYnNlcnZhdGlvbiwgaWYgdGhlIGluZm9ybWF0aW9uIGhhcyBhIHNpbXBsZSB2YWx1ZS4iIGNvbW1lbnQ9IkFuIG9ic2VydmF0aW9uIG1heSBoYXZlOyAxKSAgYSBzaW5nbGUgdmFsdWUgaGVyZSwgMikgIGJvdGggYSB2YWx1ZSBhbmQgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLCAgb3IgMykgIG9ubHkgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLiBJZiBhIHZhbHVlIGlzIHByZXNlbnQsIHRoZSBkYXRhdHlwZSBmb3IgdGhpcyBlbGVtZW50IHNob3VsZCBiZSBkZXRlcm1pbmVkIGJ5IE9ic2VydmF0aW9uLmNvZGUuICBBIENvZGVhYmxlQ29uY2VwdCB3aXRoIGp1c3QgYSB0ZXh0IHdvdWxkIGJlIHVzZWQgaW5zdGVhZCBvZiBhIHN0cmluZyBpZiB0aGUgZmllbGQgd2FzIHVzdWFsbHkgY29kZWQsIG9yIGlmIHRoZSB0eXBlIGFzc29jaWF0ZWQgd2l0aCB0aGUgT2JzZXJ2YXRpb24uY29kZSBkZWZpbmVzIGEgY29kZWQgdmFsdWUuICBGb3IgYWRkaXRpb25hbCBndWlkYW5jZSwgc2VlIHRoZSBbTm90ZXMgc2VjdGlvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgdGhlIHJlc3VsdCBpcyBtaXNzaW5nIiBkZWZpbml0aW9uPSJQcm92aWRlcyBhIHJlYXNvbiB3aHkgdGhlIGV4cGVjdGVkIHZhbHVlIGluIHRoZSBlbGVtZW50IE9ic2VydmF0aW9uLnZhbHVlW3hdIGlzIG1pc3NpbmcuIiBjb21tZW50PSJOdWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcyBjYW4gYmUgcmVwcmVzZW50ZWQgdHdvIHdheXMgaW4gRkhJUiBPYnNlcnZhdGlvbnMuICBPbmUgd2F5IGlzIHRvIHNpbXBseSBpbmNsdWRlIHRoZW0gaW4gdGhlIHZhbHVlIHNldCBhbmQgcmVwcmVzZW50IHRoZSBleGNlcHRpb25zIGluIHRoZSB2YWx1ZS4gIEZvciBleGFtcGxlLCBtZWFzdXJlbWVudCB2YWx1ZXMgZm9yIGEgc2Vyb2xvZ3kgdGVzdCBjb3VsZCBiZSAgJnF1b3Q7ZGV0ZWN0ZWQmcXVvdDssICZxdW90O25vdCBkZXRlY3RlZCZxdW90OywgJnF1b3Q7aW5jb25jbHVzaXZlJnF1b3Q7LCBvciAgJnF1b3Q7c3BlY2ltZW4gdW5zYXRpc2ZhY3RvcnkmcXVvdDsuICAgJiMxMDsmIzEwO1RoZSBhbHRlcm5hdGUgd2F5IGlzIHRvIHVzZSB0aGUgdmFsdWUgZWxlbWVudCBmb3IgYWN0dWFsIG9ic2VydmF0aW9ucyBhbmQgdXNlIHRoZSBleHBsaWNpdCBkYXRhQWJzZW50UmVhc29uIGVsZW1lbnQgdG8gcmVjb3JkIGV4Y2VwdGlvbmFsIHZhbHVlcy4gIEZvciBleGFtcGxlLCB0aGUgZGF0YUFic2VudFJlYXNvbiBjb2RlICZxdW90O2Vycm9yJnF1b3Q7IGNvdWxkIGJlIHVzZWQgd2hlbiB0aGUgbWVhc3VyZW1lbnQgd2FzIG5vdCBjb21wbGV0ZWQuIE5vdGUgdGhhdCBhbiBvYnNlcnZhdGlvbiBtYXkgb25seSBiZSByZXBvcnRlZCBpZiB0aGVyZSBhcmUgdmFsdWVzIHRvIHJlcG9ydC4gRm9yIGV4YW1wbGUgZGlmZmVyZW50aWFsIGNlbGwgY291bnRzIHZhbHVlcyBtYXkgYmUgcmVwb3J0ZWQgb25seSB3aGVuICZndDsgMC4gIEJlY2F1c2Ugb2YgdGhlc2Ugb3B0aW9ucywgdXNlLWNhc2UgYWdyZWVtZW50cyBhcmUgcmVxdWlyZWQgdG8gaW50ZXJwcmV0IGdlbmVyYWwgb2JzZXJ2YXRpb25zIGZvciBudWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblZhbHVlQWJzZW50UmVhc29uIiBkZXNjcmlwdGlvbj0iQ29kZXMgc3BlY2lmeWluZyB3aHkgdGhlIHJlc3VsdCAoYE9ic2VydmF0aW9uLnZhbHVlW3hdYCkgaXMgbWlzc2luZy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImludGVycHJldGF0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGlnaCwgbG93LCBub3JtYWwsIGV0Yy4iIGRlZmluaXRpb249IkEgY2F0ZWdvcmljYWwgYXNzZXNzbWVudCBvZiBhbiBvYnNlcnZhdGlvbiB2YWx1ZS4gIEZvciBleGFtcGxlLCBoaWdoLCBsb3csIG5vcm1hbC4iIGNvbW1lbnQ9Ikhpc3RvcmljYWxseSB1c2VkIGZvciBsYWJvcmF0b3J5IHJlc3VsdHMgKGtub3duIGFzICdhYm5vcm1hbCBmbGFnJyApLCAgaXRzIHVzZSBleHRlbmRzIHRvIG90aGVyIHVzZSBjYXNlcyB3aGVyZSBjb2RlZCBpbnRlcnByZXRhdGlvbnMgIGFyZSByZWxldmFudC4gIE9mdGVuIHJlcG9ydGVkIGFzIG9uZSBvciBtb3JlIHNpbXBsZSBjb21wYWN0IGNvZGVzIHRoaXMgZWxlbWVudCBpcyBvZnRlbiBwbGFjZWQgYWRqYWNlbnQgdG8gdGhlIHJlc3VsdCB2YWx1ZSBpbiByZXBvcnRzIGFuZCBmbG93IHNoZWV0cyB0byBzaWduYWwgdGhlIG1lYW5pbmcvbm9ybWFsY3kgc3RhdHVzIG9mIHRoZSByZXN1bHQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uSW50ZXJwcmV0YXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBpbnRlcnByZXRhdGlvbnMgb2Ygb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIG9yIHRoZSByZXN1bHRzLiIgY29tbWVudD0iTWF5IGluY2x1ZGUgZ2VuZXJhbCBzdGF0ZW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiwgb3Igc3RhdGVtZW50cyBhYm91dCBzaWduaWZpY2FudCwgdW5leHBlY3RlZCBvciB1bnJlbGlhYmxlIHJlc3VsdHMgdmFsdWVzLCBvciBpbmZvcm1hdGlvbiBhYm91dCBpdHMgc291cmNlIHdoZW4gcmVsZXZhbnQgdG8gaXRzIGludGVycHJldGF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2JzZXJ2ZWQgYm9keSBwYXJ0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHNpdGUgb24gdGhlIHN1YmplY3QncyBib2R5IHdoZXJlIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSAoaS5lLiB0aGUgdGFyZ2V0IHNpdGUpLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIE9ic2VydmF0aW9uLmNvZGUuICBJbiBtYW55IHN5c3RlbXMsIHRoaXMgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGEgcmVsYXRlZCBvYnNlcnZhdGlvbiBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb21wb25lbnQuICAgJiMxMDsmIzEwO0lmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBCb2R5U2l0ZSB0byBiZSBoYW5kbGVkIGFzIGEgc2VwYXJhdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb25bIGJvZHlTaXRlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBpdCB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWNoYW5pc20gdXNlZCB0byBwZXJmb3JtIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3IgT2JzZXJ2YXRpb24uY29kZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiB1c2VkIGZvciB0aGlzIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2ltZW4gdGhhdCB3YXMgdXNlZCB3aGVuIHRoaXMgb2JzZXJ2YXRpb24gd2FzIG1hZGUuIiBjb21tZW50PSJTaG91bGQgb25seSBiZSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIGBPYnNlcnZhdGlvbi5jb2RlYC4gIE9ic2VydmF0aW9ucyBhcmUgbm90IG1hZGUgb24gc3BlY2ltZW5zIHRoZW1zZWx2ZXM7IHRoZXkgYXJlIG1hZGUgb24gYSBzdWJqZWN0LCBidXQgaW4gbWFueSBjYXNlcyBieSB0aGUgbWVhbnMgb2YgYSBzcGVjaW1lbi4gTm90ZSB0aGF0IGFsdGhvdWdoIHNwZWNpbWVucyBhcmUgb2Z0ZW4gaW52b2x2ZWQsIHRoZXkgYXJlIG5vdCBhbHdheXMgdHJhY2tlZCBhbmQgcmVwb3J0ZWQgZXhwbGljaXRseS4gQWxzbyBub3RlIHRoYXQgb2JzZXJ2YXRpb24gcmVzb3VyY2VzIG1heSBiZSB1c2VkIGluIGNvbnRleHRzIHRoYXQgdHJhY2sgdGhlIHNwZWNpbWVuIGV4cGxpY2l0bHkgKGUuZy4gRGlhZ25vc3RpYyBSZXBvcnQpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRldmljZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoTWVhc3VyZW1lbnQpIERldmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBvYnNlcnZhdGlvbiBkYXRhLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgaXMgbm90IG1lYW50IHRvIHJlcHJlc2VudCBhIGRldmljZSBpbnZvbHZlZCBpbiB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoZSByZXN1bHQsIGUuZy4sIGEgZ2F0ZXdheS4gIFN1Y2ggZGV2aWNlcyBtYXkgYmUgZG9jdW1lbnRlZCB1c2luZyB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZSB3aGVyZSByZWxldmFudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2VSYW5nZSIgZGVzY3JpcHRpb249IlByb3ZpZGVzIGd1aWRlIGZvciBpbnRlcnByZXRhdGlvbiIgZGVmaW5pdGlvbj0iR3VpZGFuY2Ugb24gaG93IHRvIGludGVycHJldCB0aGUgdmFsdWUgYnkgY29tcGFyaXNvbiB0byBhIG5vcm1hbCBvciByZWNvbW1lbmRlZCByYW5nZS4gIE11bHRpcGxlIHJlZmVyZW5jZSByYW5nZXMgYXJlIGludGVycHJldGVkIGFzIGFuICZxdW90O09SJnF1b3Q7LiAgIEluIG90aGVyIHdvcmRzLCB0byByZXByZXNlbnQgdHdvIGRpc3RpbmN0IHRhcmdldCBwb3B1bGF0aW9ucywgdHdvIGByZWZlcmVuY2VSYW5nZWAgZWxlbWVudHMgd291bGQgYmUgdXNlZC4iIGNvbW1lbnQ9Ik1vc3Qgb2JzZXJ2YXRpb25zIG9ubHkgaGF2ZSBvbmUgZ2VuZXJpYyByZWZlcmVuY2UgcmFuZ2UuIFN5c3RlbXMgTUFZIGNob29zZSB0byByZXN0cmljdCB0byBvbmx5IHN1cHBseWluZyB0aGUgcmVsZXZhbnQgcmVmZXJlbmNlIHJhbmdlIGJhc2VkIG9uIGtub3dsZWRnZSBhYm91dCB0aGUgcGF0aWVudCAoZS5nLiwgc3BlY2lmaWMgdG8gdGhlIHBhdGllbnQncyBhZ2UsIGdlbmRlciwgd2VpZ2h0IGFuZCBvdGhlciBmYWN0b3JzKSwgYnV0IHRoaXMgbWlnaHQgbm90IGJlIHBvc3NpYmxlIG9yIGFwcHJvcHJpYXRlLiBXaGVuZXZlciBtb3JlIHRoYW4gb25lIHJlZmVyZW5jZSByYW5nZSBpcyBzdXBwbGllZCwgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlbSBTSE9VTEQgYmUgcHJvdmlkZWQgaW4gdGhlIHJlZmVyZW5jZSByYW5nZSBhbmQvb3IgYWdlIHByb3BlcnRpZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5SZWZlcmVuY2VSYW5nZSIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJvYnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJNdXN0IGhhdmUgYXQgbGVhc3QgYSBsb3cgb3IgYSBoaWdoIG9yIHRleHQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Imxvdy5leGlzdHMoKSBvciBoaWdoLmV4aXN0cygpIG9yIHRleHQuZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJoYXNNZW1iZXIiIGRlc2NyaXB0aW9uPSJSZWxhdGVkIHJlc291cmNlIHRoYXQgYmVsb25ncyB0byB0aGUgT2JzZXJ2YXRpb24gZ3JvdXAiIGRlZmluaXRpb249IlRoaXMgb2JzZXJ2YXRpb24gaXMgYSBncm91cCBvYnNlcnZhdGlvbiAoZS5nLiBhIGJhdHRlcnksIGEgcGFuZWwgb2YgdGVzdHMsIGEgc2V0IG9mIHZpdGFsIHNpZ24gbWVhc3VyZW1lbnRzKSB0aGF0IGluY2x1ZGVzIHRoZSB0YXJnZXQgYXMgYSBtZW1iZXIgb2YgdGhlIGdyb3VwLiIgY29tbWVudD0iV2hlbiB1c2luZyB0aGlzIGVsZW1lbnQsIGFuIG9ic2VydmF0aW9uIHdpbGwgdHlwaWNhbGx5IGhhdmUgZWl0aGVyIGEgdmFsdWUgb3IgYSBzZXQgb2YgcmVsYXRlZCByZXNvdXJjZXMsIGFsdGhvdWdoIGJvdGggbWF5IGJlIHByZXNlbnQgaW4gc29tZSBjYXNlcy4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiAgTm90ZSB0aGF0IGEgc3lzdGVtIG1heSBjYWxjdWxhdGUgcmVzdWx0cyBmcm9tIFtRdWVzdGlvbm5haXJlUmVzcG9uc2VdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcXVlc3Rpb25uYWlyZXJlc3BvbnNlLmh0bWwpICBpbnRvIGEgZmluYWwgc2NvcmUgYW5kIHJlcHJlc2VudCB0aGUgc2NvcmUgYXMgYW4gT2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIG1lYXN1cmVtZW50cyB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIG1lYXN1cmVtZW50IGZyb20gd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiB2YWx1ZSBpcyBkZXJpdmVkLiBGb3IgZXhhbXBsZSwgYSBjYWxjdWxhdGVkIGFuaW9uIGdhcCBvciBhIGZldGFsIG1lYXN1cmVtZW50IGJhc2VkIG9uIGFuIHVsdHJhc291bmQgaW1hZ2UuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbXBvbmVudCIgZGVzY3JpcHRpb249IkNvbXBvbmVudCByZXN1bHRzIiBkZWZpbml0aW9uPSJTb21lIG9ic2VydmF0aW9ucyBoYXZlIG11bHRpcGxlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMuICBUaGVzZSBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGFyZSBleHByZXNzZWQgYXMgc2VwYXJhdGUgY29kZSB2YWx1ZSBwYWlycyB0aGF0IHNoYXJlIHRoZSBzYW1lIGF0dHJpYnV0ZXMuICBFeGFtcGxlcyBpbmNsdWRlIHN5c3RvbGljIGFuZCBkaWFzdG9saWMgY29tcG9uZW50IG9ic2VydmF0aW9ucyBmb3IgYmxvb2QgcHJlc3N1cmUgbWVhc3VyZW1lbnQgYW5kIG11bHRpcGxlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgZm9yIGdlbmV0aWNzIG9ic2VydmF0aW9ucy4iIGNvbW1lbnQ9IkZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBiZSBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5Db21wb25lbnQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJVU0NvcmVPYnNlcnZhdGlvblByZWduYW5jeVN0YXR1c1Byb2ZpbGUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtb2JzZXJ2YXRpb24tcHJlZ25hbmN5c3RhdHVzIiBsYWJlbD0iVVMgQ29yZSBPYnNlcnZhdGlvbiBQcmVnbmFuY3kgU3RhdHVzIFByb2ZpbGUiIHRhcmdldD0iT2JzZXJ2YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBJZGVudGlmaWVyIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIG9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBPYnNlcnZhdGlvbiBpcyBhIGNvbXBvbmVudCBvciBzdGVwLiAgRm9yIGV4YW1wbGUsICBhbiBvYnNlcnZhdGlvbiBhcyBwYXJ0IG9mIGEgcHJvY2VkdXJlLiIgY29tbWVudD0iVG8gbGluayBhbiBPYnNlcnZhdGlvbiB0byBhbiBFbmNvdW50ZXIgdXNlIGBlbmNvdW50ZXJgLiAgU2VlIHRoZSAgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93IGZvciBndWlkYW5jZSBvbiByZWZlcmVuY2luZyBhbm90aGVyIE9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvblN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoVVNDREkpIHJlZ2lzdGVyZWQgfCBwcmVsaW1pbmFyeSB8IGZpbmFsIHwgYW1lbmRlZCArIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSByZXN1bHQgdmFsdWUuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uU3RhdHVzIiBkZXNjcmlwdGlvbj0iQ29kZXMgcHJvdmlkaW5nIHRoZSBzdGF0dXMgb2YgYW4gb2JzZXJ2YXRpb24uIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iU29jaWFsSGlzdG9yeSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBQcmVnbmFuY3kgU3RhdHVzIiBkZWZpbml0aW9uPSJEZXNjcmliZXMgd2hhdCB3YXMgb2JzZXJ2ZWQuIFNvbWV0aW1lcyB0aGlzIGlzIGNhbGxlZCB0aGUgb2JzZXJ2YXRpb24gJnF1b3Q7bmFtZSZxdW90Oy4iIGNvbW1lbnQ9IipBbGwqIGNvZGUtdmFsdWUgYW5kLCBpZiBwcmVzZW50LCBjb21wb25lbnQuY29kZS1jb21wb25lbnQudmFsdWUgcGFpcnMgbmVlZCB0byBiZSB0YWtlbiBpbnRvIGFjY291bnQgdG8gY29ycmVjdGx5IHVuZGVyc3RhbmQgdGhlIG1lYW5pbmcgb2YgdGhlIG9ic2VydmF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNvZGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBuYW1lcyBvZiBzaW1wbGUgb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFdobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmb2N1cyIgZGVzY3JpcHRpb249IldoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0LCB3aGVuIGl0IGlzIG5vdCBhYm91dCB0aGUgc3ViamVjdCBvZiByZWNvcmQiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gd2hlbiBpdCBpcyBub3QgdGhlIHBhdGllbnQgb2YgcmVjb3JkIHJlcHJlc2VudGluZyBzb21ldGhpbmcgb3Igc29tZW9uZSBhc3NvY2lhdGVkIHdpdGggdGhlIHBhdGllbnQgc3VjaCBhcyBhIHNwb3VzZSwgcGFyZW50LCBmZXR1cywgb3IgZG9ub3IuIEZvciBleGFtcGxlLCBmZXR1cyBvYnNlcnZhdGlvbnMgaW4gYSBtb3RoZXIncyByZWNvcmQuICBUaGUgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gY291bGQgYWxzbyBiZSBhbiBleGlzdGluZyBjb25kaXRpb24sICBhbiBpbnRlcnZlbnRpb24sIHRoZSBzdWJqZWN0J3MgZGlldCwgIGFub3RoZXIgb2JzZXJ2YXRpb24gb2YgdGhlIHN1YmplY3QsICBvciBhIGJvZHkgc3RydWN0dXJlIHN1Y2ggYXMgdHVtb3Igb3IgaW1wbGFudGVkIGRldmljZS4gICBBbiBleGFtcGxlIHVzZSBjYXNlIHdvdWxkIGJlIHVzaW5nIHRoZSBPYnNlcnZhdGlvbiByZXNvdXJjZSB0byBjYXB0dXJlIHdoZXRoZXIgdGhlIG1vdGhlciBpcyB0cmFpbmVkIHRvIGNoYW5nZSBoZXIgY2hpbGQncyB0cmFjaGVvc3RvbXkgdHViZS4gSW4gdGhpcyBleGFtcGxlLCB0aGUgY2hpbGQgaXMgdGhlIHBhdGllbnQgb2YgcmVjb3JkIGFuZCB0aGUgbW90aGVyIGlzIHRoZSBmb2N1cy4iIGNvbW1lbnQ9IlR5cGljYWxseSwgYW4gb2JzZXJ2YXRpb24gaXMgbWFkZSBhYm91dCB0aGUgc3ViamVjdCAtIGEgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgLSBhbmQgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhlIHN1YmplY3QgYW5kIHdoYXQgaXMgZGlyZWN0bHkgbWVhc3VyZWQgZm9yIGFuIG9ic2VydmF0aW9uIGlzIHNwZWNpZmllZCBpbiB0aGUgb2JzZXJ2YXRpb24gY29kZSBpdHNlbGYgKCBlLmcuLCAmcXVvdDtCbG9vZCBHbHVjb3NlJnF1b3Q7KSBhbmQgZG9lcyBub3QgbmVlZCB0byBiZSByZXByZXNlbnRlZCBzZXBhcmF0ZWx5IHVzaW5nIHRoaXMgZWxlbWVudC4gIFVzZSBgc3BlY2ltZW5gIGlmIGEgcmVmZXJlbmNlIHRvIGEgc3BlY2ltZW4gaXMgcmVxdWlyZWQuICBJZiBhIGNvZGUgaXMgcmVxdWlyZWQgaW5zdGVhZCBvZiBhIHJlc291cmNlIHVzZSBlaXRoZXIgIGBib2R5c2l0ZWAgZm9yIGJvZHlzaXRlcyBvciB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtmb2N1c0NvZGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLW9ic2VydmF0aW9uLWZvY3VzY29kZS5odG1sKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkNsaW5pY2FsbHkgcmVsZXZhbnQgdGltZS90aW1lLXBlcmlvZCBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSB0aW1lIG9yIHRpbWUtcGVyaW9kIHRoZSBvYnNlcnZlZCB2YWx1ZSBpcyBhc3NlcnRlZCBhcyBiZWluZyB0cnVlLiBGb3IgYmlvbG9naWNhbCBzdWJqZWN0cyAtIGUuZy4gaHVtYW4gcGF0aWVudHMgLSB0aGlzIGlzIHVzdWFsbHkgY2FsbGVkIHRoZSAmcXVvdDtwaHlzaW9sb2dpY2FsbHkgcmVsZXZhbnQgdGltZSZxdW90Oy4gVGhpcyBpcyB1c3VhbGx5IGVpdGhlciB0aGUgdGltZSBvZiB0aGUgcHJvY2VkdXJlIG9yIG9mIHNwZWNpbWVuIGNvbGxlY3Rpb24sIGJ1dCB2ZXJ5IG9mdGVuIHRoZSBzb3VyY2Ugb2YgdGhlIGRhdGUvdGltZSBpcyBub3Qga25vd24sIG9ubHkgdGhlIGRhdGUvdGltZSBpdHNlbGYuIiBjb21tZW50PSJBdCBsZWFzdCBhIGRhdGUgc2hvdWxkIGJlIHByZXNlbnQgdW5sZXNzIHRoaXMgb2JzZXJ2YXRpb24gaXMgYSBoaXN0b3JpY2FsIHJlcG9ydC4gIEZvciByZWNvcmRpbmcgaW1wcmVjaXNlIG9yICZxdW90O2Z1enp5JnF1b3Q7IHRpbWVzIChGb3IgZXhhbXBsZSwgYSBibG9vZCBnbHVjb3NlIG1lYXN1cmVtZW50IHRha2VuICZxdW90O2FmdGVyIGJyZWFrZmFzdCZxdW90OykgdXNlIHRoZSBbVGltaW5nXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2RhdGF0eXBlcy5odG1sI3RpbWluZykgZGF0YXR5cGUgd2hpY2ggYWxsb3cgdGhlIG1lYXN1cmVtZW50IHRvIGJlIHRpZWQgdG8gcmVndWxhciBsaWZlIGV2ZW50cy4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJXaG8gaXMgcmVzcG9uc2libGUgZm9yIHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iV2hvIHdhcyByZXNwb25zaWJsZSBmb3IgYXNzZXJ0aW5nIHRoZSBvYnNlcnZlZCB2YWx1ZSBhcyAmcXVvdDt0cnVlJnF1b3Q7LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBY3R1YWwgcmVzdWx0IiBkZWZpbml0aW9uPSJUaGUgaW5mb3JtYXRpb24gZGV0ZXJtaW5lZCBhcyBhIHJlc3VsdCBvZiBtYWtpbmcgdGhlIG9ic2VydmF0aW9uLCBpZiB0aGUgaW5mb3JtYXRpb24gaGFzIGEgc2ltcGxlIHZhbHVlLiIgY29tbWVudD0iQW4gb2JzZXJ2YXRpb24gbWF5IGhhdmU7IDEpICBhIHNpbmdsZSB2YWx1ZSBoZXJlLCAyKSAgYm90aCBhIHZhbHVlIGFuZCBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMsICBvciAzKSAgb25seSBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMuIElmIGEgdmFsdWUgaXMgcHJlc2VudCwgdGhlIGRhdGF0eXBlIGZvciB0aGlzIGVsZW1lbnQgc2hvdWxkIGJlIGRldGVybWluZWQgYnkgT2JzZXJ2YXRpb24uY29kZS4gIEEgQ29kZWFibGVDb25jZXB0IHdpdGgganVzdCBhIHRleHQgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGlmIHRoZSBmaWVsZCB3YXMgdXN1YWxseSBjb2RlZCwgb3IgaWYgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBPYnNlcnZhdGlvbi5jb2RlIGRlZmluZXMgYSBjb2RlZCB2YWx1ZS4gIEZvciBhZGRpdGlvbmFsIGd1aWRhbmNlLCBzZWUgdGhlIFtOb3RlcyBzZWN0aW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGFBYnNlbnRSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoeSB0aGUgcmVzdWx0IGlzIG1pc3NpbmciIGRlZmluaXRpb249IlByb3ZpZGVzIGEgcmVhc29uIHdoeSB0aGUgZXhwZWN0ZWQgdmFsdWUgaW4gdGhlIGVsZW1lbnQgT2JzZXJ2YXRpb24udmFsdWVbeF0gaXMgbWlzc2luZy4iIGNvbW1lbnQ9Ik51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzIGNhbiBiZSByZXByZXNlbnRlZCB0d28gd2F5cyBpbiBGSElSIE9ic2VydmF0aW9ucy4gIE9uZSB3YXkgaXMgdG8gc2ltcGx5IGluY2x1ZGUgdGhlbSBpbiB0aGUgdmFsdWUgc2V0IGFuZCByZXByZXNlbnQgdGhlIGV4Y2VwdGlvbnMgaW4gdGhlIHZhbHVlLiAgRm9yIGV4YW1wbGUsIG1lYXN1cmVtZW50IHZhbHVlcyBmb3IgYSBzZXJvbG9neSB0ZXN0IGNvdWxkIGJlICAmcXVvdDtkZXRlY3RlZCZxdW90OywgJnF1b3Q7bm90IGRldGVjdGVkJnF1b3Q7LCAmcXVvdDtpbmNvbmNsdXNpdmUmcXVvdDssIG9yICAmcXVvdDtzcGVjaW1lbiB1bnNhdGlzZmFjdG9yeSZxdW90Oy4gICAmIzEwOyYjMTA7VGhlIGFsdGVybmF0ZSB3YXkgaXMgdG8gdXNlIHRoZSB2YWx1ZSBlbGVtZW50IGZvciBhY3R1YWwgb2JzZXJ2YXRpb25zIGFuZCB1c2UgdGhlIGV4cGxpY2l0IGRhdGFBYnNlbnRSZWFzb24gZWxlbWVudCB0byByZWNvcmQgZXhjZXB0aW9uYWwgdmFsdWVzLiAgRm9yIGV4YW1wbGUsIHRoZSBkYXRhQWJzZW50UmVhc29uIGNvZGUgJnF1b3Q7ZXJyb3ImcXVvdDsgY291bGQgYmUgdXNlZCB3aGVuIHRoZSBtZWFzdXJlbWVudCB3YXMgbm90IGNvbXBsZXRlZC4gTm90ZSB0aGF0IGFuIG9ic2VydmF0aW9uIG1heSBvbmx5IGJlIHJlcG9ydGVkIGlmIHRoZXJlIGFyZSB2YWx1ZXMgdG8gcmVwb3J0LiBGb3IgZXhhbXBsZSBkaWZmZXJlbnRpYWwgY2VsbCBjb3VudHMgdmFsdWVzIG1heSBiZSByZXBvcnRlZCBvbmx5IHdoZW4gJmd0OyAwLiAgQmVjYXVzZSBvZiB0aGVzZSBvcHRpb25zLCB1c2UtY2FzZSBhZ3JlZW1lbnRzIGFyZSByZXF1aXJlZCB0byBpbnRlcnByZXQgZ2VuZXJhbCBvYnNlcnZhdGlvbnMgZm9yIG51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uVmFsdWVBYnNlbnRSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBzcGVjaWZ5aW5nIHdoeSB0aGUgcmVzdWx0IChgT2JzZXJ2YXRpb24udmFsdWVbeF1gKSBpcyBtaXNzaW5nLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZXJwcmV0YXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIaWdoLCBsb3csIG5vcm1hbCwgZXRjLiIgZGVmaW5pdGlvbj0iQSBjYXRlZ29yaWNhbCBhc3Nlc3NtZW50IG9mIGFuIG9ic2VydmF0aW9uIHZhbHVlLiAgRm9yIGV4YW1wbGUsIGhpZ2gsIGxvdywgbm9ybWFsLiIgY29tbWVudD0iSGlzdG9yaWNhbGx5IHVzZWQgZm9yIGxhYm9yYXRvcnkgcmVzdWx0cyAoa25vd24gYXMgJ2Fibm9ybWFsIGZsYWcnICksICBpdHMgdXNlIGV4dGVuZHMgdG8gb3RoZXIgdXNlIGNhc2VzIHdoZXJlIGNvZGVkIGludGVycHJldGF0aW9ucyAgYXJlIHJlbGV2YW50LiAgT2Z0ZW4gcmVwb3J0ZWQgYXMgb25lIG9yIG1vcmUgc2ltcGxlIGNvbXBhY3QgY29kZXMgdGhpcyBlbGVtZW50IGlzIG9mdGVuIHBsYWNlZCBhZGphY2VudCB0byB0aGUgcmVzdWx0IHZhbHVlIGluIHJlcG9ydHMgYW5kIGZsb3cgc2hlZXRzIHRvIHNpZ25hbCB0aGUgbWVhbmluZy9ub3JtYWxjeSBzdGF0dXMgb2YgdGhlIHJlc3VsdC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25JbnRlcnByZXRhdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIGludGVycHJldGF0aW9ucyBvZiBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24gb3IgdGhlIHJlc3VsdHMuIiBjb21tZW50PSJNYXkgaW5jbHVkZSBnZW5lcmFsIHN0YXRlbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uLCBvciBzdGF0ZW1lbnRzIGFib3V0IHNpZ25pZmljYW50LCB1bmV4cGVjdGVkIG9yIHVucmVsaWFibGUgcmVzdWx0cyB2YWx1ZXMsIG9yIGluZm9ybWF0aW9uIGFib3V0IGl0cyBzb3VyY2Ugd2hlbiByZWxldmFudCB0byBpdHMgaW50ZXJwcmV0YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPYnNlcnZlZCBib2R5IHBhcnQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc2l0ZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgd2hlcmUgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIChpLmUuIHRoZSB0YXJnZXQgc2l0ZSkuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gT2JzZXJ2YXRpb24uY29kZS4gIEluIG1hbnkgc3lzdGVtcywgdGhpcyBtYXkgYmUgcmVwcmVzZW50ZWQgYXMgYSByZWxhdGVkIG9ic2VydmF0aW9uIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvbXBvbmVudC4gICAmIzEwOyYjMTA7SWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvblsgYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IGl0IHdhcyBkb25lIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIG1lY2hhbmlzbSB1c2VkIHRvIHBlcmZvcm0gdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvciBPYnNlcnZhdGlvbi5jb2RlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uTWV0aG9kIiBkZXNjcmlwdGlvbj0iTWV0aG9kcyBmb3Igc2ltcGxlIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpbWVuIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlNwZWNpbWVuIHVzZWQgZm9yIHRoaXMgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSBzcGVjaW1lbiB0aGF0IHdhcyB1c2VkIHdoZW4gdGhpcyBvYnNlcnZhdGlvbiB3YXMgbWFkZS4iIGNvbW1lbnQ9IlNob3VsZCBvbmx5IGJlIHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gYE9ic2VydmF0aW9uLmNvZGVgLiAgT2JzZXJ2YXRpb25zIGFyZSBub3QgbWFkZSBvbiBzcGVjaW1lbnMgdGhlbXNlbHZlczsgdGhleSBhcmUgbWFkZSBvbiBhIHN1YmplY3QsIGJ1dCBpbiBtYW55IGNhc2VzIGJ5IHRoZSBtZWFucyBvZiBhIHNwZWNpbWVuLiBOb3RlIHRoYXQgYWx0aG91Z2ggc3BlY2ltZW5zIGFyZSBvZnRlbiBpbnZvbHZlZCwgdGhleSBhcmUgbm90IGFsd2F5cyB0cmFja2VkIGFuZCByZXBvcnRlZCBleHBsaWNpdGx5LiBBbHNvIG5vdGUgdGhhdCBvYnNlcnZhdGlvbiByZXNvdXJjZXMgbWF5IGJlIHVzZWQgaW4gY29udGV4dHMgdGhhdCB0cmFjayB0aGUgc3BlY2ltZW4gZXhwbGljaXRseSAoZS5nLiBEaWFnbm9zdGljIFJlcG9ydCkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihNZWFzdXJlbWVudCkgRGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIG9ic2VydmF0aW9uIGRhdGEuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBpcyBub3QgbWVhbnQgdG8gcmVwcmVzZW50IGEgZGV2aWNlIGludm9sdmVkIGluIHRoZSB0cmFuc21pc3Npb24gb2YgdGhlIHJlc3VsdCwgZS5nLiwgYSBnYXRld2F5LiAgU3VjaCBkZXZpY2VzIG1heSBiZSBkb2N1bWVudGVkIHVzaW5nIHRoZSBQcm92ZW5hbmNlIHJlc291cmNlIHdoZXJlIHJlbGV2YW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIiBkZWZpbml0aW9uPSJHdWlkYW5jZSBvbiBob3cgdG8gaW50ZXJwcmV0IHRoZSB2YWx1ZSBieSBjb21wYXJpc29uIHRvIGEgbm9ybWFsIG9yIHJlY29tbWVuZGVkIHJhbmdlLiAgTXVsdGlwbGUgcmVmZXJlbmNlIHJhbmdlcyBhcmUgaW50ZXJwcmV0ZWQgYXMgYW4gJnF1b3Q7T1ImcXVvdDsuICAgSW4gb3RoZXIgd29yZHMsIHRvIHJlcHJlc2VudCB0d28gZGlzdGluY3QgdGFyZ2V0IHBvcHVsYXRpb25zLCB0d28gYHJlZmVyZW5jZVJhbmdlYCBlbGVtZW50cyB3b3VsZCBiZSB1c2VkLiIgY29tbWVudD0iTW9zdCBvYnNlcnZhdGlvbnMgb25seSBoYXZlIG9uZSBnZW5lcmljIHJlZmVyZW5jZSByYW5nZS4gU3lzdGVtcyBNQVkgY2hvb3NlIHRvIHJlc3RyaWN0IHRvIG9ubHkgc3VwcGx5aW5nIHRoZSByZWxldmFudCByZWZlcmVuY2UgcmFuZ2UgYmFzZWQgb24ga25vd2xlZGdlIGFib3V0IHRoZSBwYXRpZW50IChlLmcuLCBzcGVjaWZpYyB0byB0aGUgcGF0aWVudCdzIGFnZSwgZ2VuZGVyLCB3ZWlnaHQgYW5kIG90aGVyIGZhY3RvcnMpLCBidXQgdGhpcyBtaWdodCBub3QgYmUgcG9zc2libGUgb3IgYXBwcm9wcmlhdGUuIFdoZW5ldmVyIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIHJhbmdlIGlzIHN1cHBsaWVkLCB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGVtIFNIT1VMRCBiZSBwcm92aWRlZCBpbiB0aGUgcmVmZXJlbmNlIHJhbmdlIGFuZC9vciBhZ2UgcHJvcGVydGllcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIi8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Im9icy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik11c3QgaGF2ZSBhdCBsZWFzdCBhIGxvdyBvciBhIGhpZ2ggb3IgdGV4dCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0ibG93LmV4aXN0cygpIG9yIGhpZ2guZXhpc3RzKCkgb3IgdGV4dC5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imhhc01lbWJlciIgZGVzY3JpcHRpb249IlJlbGF0ZWQgcmVzb3VyY2UgdGhhdCBiZWxvbmdzIHRvIHRoZSBPYnNlcnZhdGlvbiBncm91cCIgZGVmaW5pdGlvbj0iVGhpcyBvYnNlcnZhdGlvbiBpcyBhIGdyb3VwIG9ic2VydmF0aW9uIChlLmcuIGEgYmF0dGVyeSwgYSBwYW5lbCBvZiB0ZXN0cywgYSBzZXQgb2Ygdml0YWwgc2lnbiBtZWFzdXJlbWVudHMpIHRoYXQgaW5jbHVkZXMgdGhlIHRhcmdldCBhcyBhIG1lbWJlciBvZiB0aGUgZ3JvdXAuIiBjb21tZW50PSJXaGVuIHVzaW5nIHRoaXMgZWxlbWVudCwgYW4gb2JzZXJ2YXRpb24gd2lsbCB0eXBpY2FsbHkgaGF2ZSBlaXRoZXIgYSB2YWx1ZSBvciBhIHNldCBvZiByZWxhdGVkIHJlc291cmNlcywgYWx0aG91Z2ggYm90aCBtYXkgYmUgcHJlc2VudCBpbiBzb21lIGNhc2VzLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuICBOb3RlIHRoYXQgYSBzeXN0ZW0gbWF5IGNhbGN1bGF0ZSByZXN1bHRzIGZyb20gW1F1ZXN0aW9ubmFpcmVSZXNwb25zZV0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9xdWVzdGlvbm5haXJlcmVzcG9uc2UuaHRtbCkgIGludG8gYSBmaW5hbCBzY29yZSBhbmQgcmVwcmVzZW50IHRoZSBzY29yZSBhcyBhbiBPYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXJpdmVkRnJvbSIgZGVzY3JpcHRpb249IlJlbGF0ZWQgbWVhc3VyZW1lbnRzIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGZyb20iIGRlZmluaXRpb249IlRoZSB0YXJnZXQgcmVzb3VyY2UgdGhhdCByZXByZXNlbnRzIGEgbWVhc3VyZW1lbnQgZnJvbSB3aGljaCB0aGlzIG9ic2VydmF0aW9uIHZhbHVlIGlzIGRlcml2ZWQuIEZvciBleGFtcGxlLCBhIGNhbGN1bGF0ZWQgYW5pb24gZ2FwIG9yIGEgZmV0YWwgbWVhc3VyZW1lbnQgYmFzZWQgb24gYW4gdWx0cmFzb3VuZCBpbWFnZS4iIGNvbW1lbnQ9IkFsbCB0aGUgcmVmZXJlbmNlIGNob2ljZXMgdGhhdCBhcmUgbGlzdGVkIGluIHRoaXMgZWxlbWVudCBjYW4gcmVwcmVzZW50IGNsaW5pY2FsIG9ic2VydmF0aW9ucyBhbmQgb3RoZXIgbWVhc3VyZW1lbnRzIHRoYXQgbWF5IGJlIHRoZSBzb3VyY2UgZm9yIGEgZGVyaXZlZCB2YWx1ZS4gIFRoZSBtb3N0IGNvbW1vbiByZWZlcmVuY2Ugd2lsbCBiZSBhbm90aGVyIE9ic2VydmF0aW9uLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iQ29tcG9uZW50IHJlc3VsdHMiIGRlZmluaXRpb249IlNvbWUgb2JzZXJ2YXRpb25zIGhhdmUgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucy4gIFRoZXNlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgYXJlIGV4cHJlc3NlZCBhcyBzZXBhcmF0ZSBjb2RlIHZhbHVlIHBhaXJzIHRoYXQgc2hhcmUgdGhlIHNhbWUgYXR0cmlidXRlcy4gIEV4YW1wbGVzIGluY2x1ZGUgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGZvciBibG9vZCBwcmVzc3VyZSBtZWFzdXJlbWVudCBhbmQgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucyBmb3IgZ2VuZXRpY3Mgb2JzZXJ2YXRpb25zLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVTQ29yZU9ic2VydmF0aW9uU2V4dWFsT3JpZW50YXRpb25Qcm9maWxlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLW9ic2VydmF0aW9uLXNleHVhbC1vcmllbnRhdGlvbiIgbGFiZWw9IlVTIENvcmUgT2JzZXJ2YXRpb24gU2V4dWFsIE9yaWVudGF0aW9uIFByb2ZpbGUiIHRhcmdldD0iT2JzZXJ2YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBJZGVudGlmaWVyIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIG9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBPYnNlcnZhdGlvbiBpcyBhIGNvbXBvbmVudCBvciBzdGVwLiAgRm9yIGV4YW1wbGUsICBhbiBvYnNlcnZhdGlvbiBhcyBwYXJ0IG9mIGEgcHJvY2VkdXJlLiIgY29tbWVudD0iVG8gbGluayBhbiBPYnNlcnZhdGlvbiB0byBhbiBFbmNvdW50ZXIgdXNlIGBlbmNvdW50ZXJgLiAgU2VlIHRoZSAgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93IGZvciBndWlkYW5jZSBvbiByZWZlcmVuY2luZyBhbm90aGVyIE9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSByZWdpc3RlcmVkIHwgcHJlbGltaW5hcnkgfCBmaW5hbCB8IGFtZW5kZWQgKyIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzdWx0IHZhbHVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBTZXh1YWwgT3JpZW50YXRpb24iIGRlZmluaXRpb249IkRlc2NyaWJlcyB3aGF0IHdhcyBvYnNlcnZlZC4gU29tZXRpbWVzIHRoaXMgaXMgY2FsbGVkIHRoZSBvYnNlcnZhdGlvbiAmcXVvdDtuYW1lJnF1b3Q7LiIgY29tbWVudD0iKkFsbCogY29kZS12YWx1ZSBhbmQsIGlmIHByZXNlbnQsIGNvbXBvbmVudC5jb2RlLWNvbXBvbmVudC52YWx1ZSBwYWlycyBuZWVkIHRvIGJlIHRha2VuIGludG8gYWNjb3VudCB0byBjb3JyZWN0bHkgdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ29kZSIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIG5hbWVzIG9mIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihVU0NESSkgV2hvIGFuZC9vciB3aGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCIgZGVmaW5pdGlvbj0iVGhlIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIHRoaXMgb2JzZXJ2YXRpb24gaXMgYWJvdXQgYW5kIGludG8gd2hvc2UgcmVjb3JkIHRoZSBvYnNlcnZhdGlvbiBpcyBwbGFjZWQuIElmIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBzdWJqZWN0IChvciBhIHNhbXBsZSBvZiwgcGFydCwgb3IgcmVnaW9uIG9mIHRoZSBzdWJqZWN0KSwgdGhlIGBmb2N1c2AgZWxlbWVudCBvciB0aGUgYGNvZGVgIGl0c2VsZiBzcGVjaWZpZXMgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmUgd291bGQgZXhwZWN0IHRoaXMgZWxlbWVudCB0byBiZSBhIGNhcmRpbmFsaXR5IG9mIDEuLjEuIFRoZSBvbmx5IGNpcmN1bXN0YW5jZSBpbiB3aGljaCB0aGUgc3ViamVjdCBjYW4gYmUgbWlzc2luZyBpcyB3aGVuIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGJ5IGEgZGV2aWNlIHRoYXQgZG9lcyBub3Qga25vdyB0aGUgcGF0aWVudC4gSW4gdGhpcyBjYXNlLCB0aGUgb2JzZXJ2YXRpb24gU0hBTEwgYmUgbWF0Y2hlZCB0byBhIHBhdGllbnQgdGhyb3VnaCBzb21lIGNvbnRleHQvY2hhbm5lbCBtYXRjaGluZyB0ZWNobmlxdWUsIGFuZCBhdCB0aGlzIHBvaW50LCB0aGUgb2JzZXJ2YXRpb24gc2hvdWxkIGJlIHVwZGF0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZvY3VzIiBkZXNjcmlwdGlvbj0iV2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQsIHdoZW4gaXQgaXMgbm90IGFib3V0IHRoZSBzdWJqZWN0IG9mIHJlY29yZCIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiB3aGVuIGl0IGlzIG5vdCB0aGUgcGF0aWVudCBvZiByZWNvcmQgcmVwcmVzZW50aW5nIHNvbWV0aGluZyBvciBzb21lb25lIGFzc29jaWF0ZWQgd2l0aCB0aGUgcGF0aWVudCBzdWNoIGFzIGEgc3BvdXNlLCBwYXJlbnQsIGZldHVzLCBvciBkb25vci4gRm9yIGV4YW1wbGUsIGZldHVzIG9ic2VydmF0aW9ucyBpbiBhIG1vdGhlcidzIHJlY29yZC4gIFRoZSBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiBjb3VsZCBhbHNvIGJlIGFuIGV4aXN0aW5nIGNvbmRpdGlvbiwgIGFuIGludGVydmVudGlvbiwgdGhlIHN1YmplY3QncyBkaWV0LCAgYW5vdGhlciBvYnNlcnZhdGlvbiBvZiB0aGUgc3ViamVjdCwgIG9yIGEgYm9keSBzdHJ1Y3R1cmUgc3VjaCBhcyB0dW1vciBvciBpbXBsYW50ZWQgZGV2aWNlLiAgIEFuIGV4YW1wbGUgdXNlIGNhc2Ugd291bGQgYmUgdXNpbmcgdGhlIE9ic2VydmF0aW9uIHJlc291cmNlIHRvIGNhcHR1cmUgd2hldGhlciB0aGUgbW90aGVyIGlzIHRyYWluZWQgdG8gY2hhbmdlIGhlciBjaGlsZCdzIHRyYWNoZW9zdG9teSB0dWJlLiBJbiB0aGlzIGV4YW1wbGUsIHRoZSBjaGlsZCBpcyB0aGUgcGF0aWVudCBvZiByZWNvcmQgYW5kIHRoZSBtb3RoZXIgaXMgdGhlIGZvY3VzLiIgY29tbWVudD0iVHlwaWNhbGx5LCBhbiBvYnNlcnZhdGlvbiBpcyBtYWRlIGFib3V0IHRoZSBzdWJqZWN0IC0gYSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSAtIGFuZCB0aGUgZGlzdGluY3Rpb24gYmV0d2VlbiB0aGUgc3ViamVjdCBhbmQgd2hhdCBpcyBkaXJlY3RseSBtZWFzdXJlZCBmb3IgYW4gb2JzZXJ2YXRpb24gaXMgc3BlY2lmaWVkIGluIHRoZSBvYnNlcnZhdGlvbiBjb2RlIGl0c2VsZiAoIGUuZy4sICZxdW90O0Jsb29kIEdsdWNvc2UmcXVvdDspIGFuZCBkb2VzIG5vdCBuZWVkIHRvIGJlIHJlcHJlc2VudGVkIHNlcGFyYXRlbHkgdXNpbmcgdGhpcyBlbGVtZW50LiAgVXNlIGBzcGVjaW1lbmAgaWYgYSByZWZlcmVuY2UgdG8gYSBzcGVjaW1lbiBpcyByZXF1aXJlZC4gIElmIGEgY29kZSBpcyByZXF1aXJlZCBpbnN0ZWFkIG9mIGEgcmVzb3VyY2UgdXNlIGVpdGhlciAgYGJvZHlzaXRlYCBmb3IgYm9keXNpdGVzIG9yIHRoZSBzdGFuZGFyZCBleHRlbnNpb24gW2ZvY3VzQ29kZV0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9leHRlbnNpb24tb2JzZXJ2YXRpb24tZm9jdXNjb2RlLmh0bWwpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJIZWFsdGhjYXJlIGV2ZW50IGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUiIGRlZmluaXRpb249IlRoZSBoZWFsdGhjYXJlIGV2ZW50ICAoZS5nLiBhIHBhdGllbnQgYW5kIGhlYWx0aGNhcmUgcHJvdmlkZXIgaW50ZXJhY3Rpb24pIGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgZXZlbnRzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIgKGUuZy4gcHJlLWFkbWlzc2lvbiBsYWJvcmF0b3J5IHRlc3RzKS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBDbGluaWNhbGx5IHJlbGV2YW50IHRpbWUvdGltZS1wZXJpb2QgZm9yIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGlzIHJlY29yZHMgdGhlIHRpbWUgZHVyaW5nIHdoaWNoIHRoZSBwYXRpZW50IGhhZCBpZGVudGlmaWVkIHRoZWlyIGVtb3Rpb25hbCwgcm9tYW50aWMsIHNleHVhbCwgb3IgYWZmZWN0aW9uYWwgYXR0cmFjdGlvbiB0byBhbm90aGVyIHBlcnNvbi4iIGNvbW1lbnQ9IkF0IGxlYXN0IGEgZGF0ZSBzaG91bGQgYmUgcHJlc2VudCB1bmxlc3MgdGhpcyBvYnNlcnZhdGlvbiBpcyBhIGhpc3RvcmljYWwgcmVwb3J0LiAgRm9yIHJlY29yZGluZyBpbXByZWNpc2Ugb3IgJnF1b3Q7ZnV6enkmcXVvdDsgdGltZXMgKEZvciBleGFtcGxlLCBhIGJsb29kIGdsdWNvc2UgbWVhc3VyZW1lbnQgdGFrZW4gJnF1b3Q7YWZ0ZXIgYnJlYWtmYXN0JnF1b3Q7KSB1c2UgdGhlIFtUaW1pbmddKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZGF0YXR5cGVzLmh0bWwjdGltaW5nKSBkYXRhdHlwZSB3aGljaCBhbGxvdyB0aGUgbWVhc3VyZW1lbnQgdG8gYmUgdGllZCB0byByZWd1bGFyIGxpZmUgZXZlbnRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVGltaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJXaG8gaXMgcmVzcG9uc2libGUgZm9yIHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iV2hvIHdhcyByZXNwb25zaWJsZSBmb3IgYXNzZXJ0aW5nIHRoZSBvYnNlcnZlZCB2YWx1ZSBhcyAmcXVvdDt0cnVlJnF1b3Q7LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJBY3R1YWwgcmVzdWx0IiBkZWZpbml0aW9uPSJUaGUgaW5mb3JtYXRpb24gZGV0ZXJtaW5lZCBhcyBhIHJlc3VsdCBvZiBtYWtpbmcgdGhlIG9ic2VydmF0aW9uLCBpZiB0aGUgaW5mb3JtYXRpb24gaGFzIGEgc2ltcGxlIHZhbHVlLiIgY29tbWVudD0iQW4gb2JzZXJ2YXRpb24gbWF5IGhhdmU7IDEpICBhIHNpbmdsZSB2YWx1ZSBoZXJlLCAyKSAgYm90aCBhIHZhbHVlIGFuZCBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMsICBvciAzKSAgb25seSBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMuIElmIGEgdmFsdWUgaXMgcHJlc2VudCwgdGhlIGRhdGF0eXBlIGZvciB0aGlzIGVsZW1lbnQgc2hvdWxkIGJlIGRldGVybWluZWQgYnkgT2JzZXJ2YXRpb24uY29kZS4gIEEgQ29kZWFibGVDb25jZXB0IHdpdGgganVzdCBhIHRleHQgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGlmIHRoZSBmaWVsZCB3YXMgdXN1YWxseSBjb2RlZCwgb3IgaWYgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBPYnNlcnZhdGlvbi5jb2RlIGRlZmluZXMgYSBjb2RlZCB2YWx1ZS4gIEZvciBhZGRpdGlvbmFsIGd1aWRhbmNlLCBzZWUgdGhlIFtOb3RlcyBzZWN0aW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGFBYnNlbnRSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IldoeSB0aGUgcmVzdWx0IGlzIG1pc3NpbmciIGRlZmluaXRpb249IlByb3ZpZGVzIGEgcmVhc29uIHdoeSB0aGUgZXhwZWN0ZWQgdmFsdWUgaW4gdGhlIGVsZW1lbnQgT2JzZXJ2YXRpb24udmFsdWVbeF0gaXMgbWlzc2luZy4iIGNvbW1lbnQ9Ik51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzIGNhbiBiZSByZXByZXNlbnRlZCB0d28gd2F5cyBpbiBGSElSIE9ic2VydmF0aW9ucy4gIE9uZSB3YXkgaXMgdG8gc2ltcGx5IGluY2x1ZGUgdGhlbSBpbiB0aGUgdmFsdWUgc2V0IGFuZCByZXByZXNlbnQgdGhlIGV4Y2VwdGlvbnMgaW4gdGhlIHZhbHVlLiAgRm9yIGV4YW1wbGUsIG1lYXN1cmVtZW50IHZhbHVlcyBmb3IgYSBzZXJvbG9neSB0ZXN0IGNvdWxkIGJlICAmcXVvdDtkZXRlY3RlZCZxdW90OywgJnF1b3Q7bm90IGRldGVjdGVkJnF1b3Q7LCAmcXVvdDtpbmNvbmNsdXNpdmUmcXVvdDssIG9yICAmcXVvdDtzcGVjaW1lbiB1bnNhdGlzZmFjdG9yeSZxdW90Oy4gICAmIzEwOyYjMTA7VGhlIGFsdGVybmF0ZSB3YXkgaXMgdG8gdXNlIHRoZSB2YWx1ZSBlbGVtZW50IGZvciBhY3R1YWwgb2JzZXJ2YXRpb25zIGFuZCB1c2UgdGhlIGV4cGxpY2l0IGRhdGFBYnNlbnRSZWFzb24gZWxlbWVudCB0byByZWNvcmQgZXhjZXB0aW9uYWwgdmFsdWVzLiAgRm9yIGV4YW1wbGUsIHRoZSBkYXRhQWJzZW50UmVhc29uIGNvZGUgJnF1b3Q7ZXJyb3ImcXVvdDsgY291bGQgYmUgdXNlZCB3aGVuIHRoZSBtZWFzdXJlbWVudCB3YXMgbm90IGNvbXBsZXRlZC4gTm90ZSB0aGF0IGFuIG9ic2VydmF0aW9uIG1heSBvbmx5IGJlIHJlcG9ydGVkIGlmIHRoZXJlIGFyZSB2YWx1ZXMgdG8gcmVwb3J0LiBGb3IgZXhhbXBsZSBkaWZmZXJlbnRpYWwgY2VsbCBjb3VudHMgdmFsdWVzIG1heSBiZSByZXBvcnRlZCBvbmx5IHdoZW4gJmd0OyAwLiAgQmVjYXVzZSBvZiB0aGVzZSBvcHRpb25zLCB1c2UtY2FzZSBhZ3JlZW1lbnRzIGFyZSByZXF1aXJlZCB0byBpbnRlcnByZXQgZ2VuZXJhbCBvYnNlcnZhdGlvbnMgZm9yIG51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uVmFsdWVBYnNlbnRSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBzcGVjaWZ5aW5nIHdoeSB0aGUgcmVzdWx0IChgT2JzZXJ2YXRpb24udmFsdWVbeF1gKSBpcyBtaXNzaW5nLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZXJwcmV0YXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIaWdoLCBsb3csIG5vcm1hbCwgZXRjLiIgZGVmaW5pdGlvbj0iQSBjYXRlZ29yaWNhbCBhc3Nlc3NtZW50IG9mIGFuIG9ic2VydmF0aW9uIHZhbHVlLiAgRm9yIGV4YW1wbGUsIGhpZ2gsIGxvdywgbm9ybWFsLiIgY29tbWVudD0iSGlzdG9yaWNhbGx5IHVzZWQgZm9yIGxhYm9yYXRvcnkgcmVzdWx0cyAoa25vd24gYXMgJ2Fibm9ybWFsIGZsYWcnICksICBpdHMgdXNlIGV4dGVuZHMgdG8gb3RoZXIgdXNlIGNhc2VzIHdoZXJlIGNvZGVkIGludGVycHJldGF0aW9ucyAgYXJlIHJlbGV2YW50LiAgT2Z0ZW4gcmVwb3J0ZWQgYXMgb25lIG9yIG1vcmUgc2ltcGxlIGNvbXBhY3QgY29kZXMgdGhpcyBlbGVtZW50IGlzIG9mdGVuIHBsYWNlZCBhZGphY2VudCB0byB0aGUgcmVzdWx0IHZhbHVlIGluIHJlcG9ydHMgYW5kIGZsb3cgc2hlZXRzIHRvIHNpZ25hbCB0aGUgbWVhbmluZy9ub3JtYWxjeSBzdGF0dXMgb2YgdGhlIHJlc3VsdC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25JbnRlcnByZXRhdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIGludGVycHJldGF0aW9ucyBvZiBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24gb3IgdGhlIHJlc3VsdHMuIiBjb21tZW50PSJNYXkgaW5jbHVkZSBnZW5lcmFsIHN0YXRlbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uLCBvciBzdGF0ZW1lbnRzIGFib3V0IHNpZ25pZmljYW50LCB1bmV4cGVjdGVkIG9yIHVucmVsaWFibGUgcmVzdWx0cyB2YWx1ZXMsIG9yIGluZm9ybWF0aW9uIGFib3V0IGl0cyBzb3VyY2Ugd2hlbiByZWxldmFudCB0byBpdHMgaW50ZXJwcmV0YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPYnNlcnZlZCBib2R5IHBhcnQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc2l0ZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgd2hlcmUgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIChpLmUuIHRoZSB0YXJnZXQgc2l0ZSkuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gT2JzZXJ2YXRpb24uY29kZS4gIEluIG1hbnkgc3lzdGVtcywgdGhpcyBtYXkgYmUgcmVwcmVzZW50ZWQgYXMgYSByZWxhdGVkIG9ic2VydmF0aW9uIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvbXBvbmVudC4gICAmIzEwOyYjMTA7SWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvblsgYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IGl0IHdhcyBkb25lIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIG1lY2hhbmlzbSB1c2VkIHRvIHBlcmZvcm0gdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvciBPYnNlcnZhdGlvbi5jb2RlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uTWV0aG9kIiBkZXNjcmlwdGlvbj0iTWV0aG9kcyBmb3Igc2ltcGxlIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpbWVuIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlNwZWNpbWVuIHVzZWQgZm9yIHRoaXMgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSBzcGVjaW1lbiB0aGF0IHdhcyB1c2VkIHdoZW4gdGhpcyBvYnNlcnZhdGlvbiB3YXMgbWFkZS4iIGNvbW1lbnQ9IlNob3VsZCBvbmx5IGJlIHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gYE9ic2VydmF0aW9uLmNvZGVgLiAgT2JzZXJ2YXRpb25zIGFyZSBub3QgbWFkZSBvbiBzcGVjaW1lbnMgdGhlbXNlbHZlczsgdGhleSBhcmUgbWFkZSBvbiBhIHN1YmplY3QsIGJ1dCBpbiBtYW55IGNhc2VzIGJ5IHRoZSBtZWFucyBvZiBhIHNwZWNpbWVuLiBOb3RlIHRoYXQgYWx0aG91Z2ggc3BlY2ltZW5zIGFyZSBvZnRlbiBpbnZvbHZlZCwgdGhleSBhcmUgbm90IGFsd2F5cyB0cmFja2VkIGFuZCByZXBvcnRlZCBleHBsaWNpdGx5LiBBbHNvIG5vdGUgdGhhdCBvYnNlcnZhdGlvbiByZXNvdXJjZXMgbWF5IGJlIHVzZWQgaW4gY29udGV4dHMgdGhhdCB0cmFjayB0aGUgc3BlY2ltZW4gZXhwbGljaXRseSAoZS5nLiBEaWFnbm9zdGljIFJlcG9ydCkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihNZWFzdXJlbWVudCkgRGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIG9ic2VydmF0aW9uIGRhdGEuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBpcyBub3QgbWVhbnQgdG8gcmVwcmVzZW50IGEgZGV2aWNlIGludm9sdmVkIGluIHRoZSB0cmFuc21pc3Npb24gb2YgdGhlIHJlc3VsdCwgZS5nLiwgYSBnYXRld2F5LiAgU3VjaCBkZXZpY2VzIG1heSBiZSBkb2N1bWVudGVkIHVzaW5nIHRoZSBQcm92ZW5hbmNlIHJlc291cmNlIHdoZXJlIHJlbGV2YW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIiBkZWZpbml0aW9uPSJHdWlkYW5jZSBvbiBob3cgdG8gaW50ZXJwcmV0IHRoZSB2YWx1ZSBieSBjb21wYXJpc29uIHRvIGEgbm9ybWFsIG9yIHJlY29tbWVuZGVkIHJhbmdlLiAgTXVsdGlwbGUgcmVmZXJlbmNlIHJhbmdlcyBhcmUgaW50ZXJwcmV0ZWQgYXMgYW4gJnF1b3Q7T1ImcXVvdDsuICAgSW4gb3RoZXIgd29yZHMsIHRvIHJlcHJlc2VudCB0d28gZGlzdGluY3QgdGFyZ2V0IHBvcHVsYXRpb25zLCB0d28gYHJlZmVyZW5jZVJhbmdlYCBlbGVtZW50cyB3b3VsZCBiZSB1c2VkLiIgY29tbWVudD0iTW9zdCBvYnNlcnZhdGlvbnMgb25seSBoYXZlIG9uZSBnZW5lcmljIHJlZmVyZW5jZSByYW5nZS4gU3lzdGVtcyBNQVkgY2hvb3NlIHRvIHJlc3RyaWN0IHRvIG9ubHkgc3VwcGx5aW5nIHRoZSByZWxldmFudCByZWZlcmVuY2UgcmFuZ2UgYmFzZWQgb24ga25vd2xlZGdlIGFib3V0IHRoZSBwYXRpZW50IChlLmcuLCBzcGVjaWZpYyB0byB0aGUgcGF0aWVudCdzIGFnZSwgZ2VuZGVyLCB3ZWlnaHQgYW5kIG90aGVyIGZhY3RvcnMpLCBidXQgdGhpcyBtaWdodCBub3QgYmUgcG9zc2libGUgb3IgYXBwcm9wcmlhdGUuIFdoZW5ldmVyIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIHJhbmdlIGlzIHN1cHBsaWVkLCB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGVtIFNIT1VMRCBiZSBwcm92aWRlZCBpbiB0aGUgcmVmZXJlbmNlIHJhbmdlIGFuZC9vciBhZ2UgcHJvcGVydGllcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIi8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Im9icy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik11c3QgaGF2ZSBhdCBsZWFzdCBhIGxvdyBvciBhIGhpZ2ggb3IgdGV4dCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0ibG93LmV4aXN0cygpIG9yIGhpZ2guZXhpc3RzKCkgb3IgdGV4dC5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imhhc01lbWJlciIgZGVzY3JpcHRpb249IlJlbGF0ZWQgcmVzb3VyY2UgdGhhdCBiZWxvbmdzIHRvIHRoZSBPYnNlcnZhdGlvbiBncm91cCIgZGVmaW5pdGlvbj0iVGhpcyBvYnNlcnZhdGlvbiBpcyBhIGdyb3VwIG9ic2VydmF0aW9uIChlLmcuIGEgYmF0dGVyeSwgYSBwYW5lbCBvZiB0ZXN0cywgYSBzZXQgb2Ygdml0YWwgc2lnbiBtZWFzdXJlbWVudHMpIHRoYXQgaW5jbHVkZXMgdGhlIHRhcmdldCBhcyBhIG1lbWJlciBvZiB0aGUgZ3JvdXAuIiBjb21tZW50PSJXaGVuIHVzaW5nIHRoaXMgZWxlbWVudCwgYW4gb2JzZXJ2YXRpb24gd2lsbCB0eXBpY2FsbHkgaGF2ZSBlaXRoZXIgYSB2YWx1ZSBvciBhIHNldCBvZiByZWxhdGVkIHJlc291cmNlcywgYWx0aG91Z2ggYm90aCBtYXkgYmUgcHJlc2VudCBpbiBzb21lIGNhc2VzLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuICBOb3RlIHRoYXQgYSBzeXN0ZW0gbWF5IGNhbGN1bGF0ZSByZXN1bHRzIGZyb20gW1F1ZXN0aW9ubmFpcmVSZXNwb25zZV0oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9xdWVzdGlvbm5haXJlcmVzcG9uc2UuaHRtbCkgIGludG8gYSBmaW5hbCBzY29yZSBhbmQgcmVwcmVzZW50IHRoZSBzY29yZSBhcyBhbiBPYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXJpdmVkRnJvbSIgZGVzY3JpcHRpb249IlJlbGF0ZWQgbWVhc3VyZW1lbnRzIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGZyb20iIGRlZmluaXRpb249IlRoZSB0YXJnZXQgcmVzb3VyY2UgdGhhdCByZXByZXNlbnRzIGEgbWVhc3VyZW1lbnQgZnJvbSB3aGljaCB0aGlzIG9ic2VydmF0aW9uIHZhbHVlIGlzIGRlcml2ZWQuIEZvciBleGFtcGxlLCBhIGNhbGN1bGF0ZWQgYW5pb24gZ2FwIG9yIGEgZmV0YWwgbWVhc3VyZW1lbnQgYmFzZWQgb24gYW4gdWx0cmFzb3VuZCBpbWFnZS4iIGNvbW1lbnQ9IkFsbCB0aGUgcmVmZXJlbmNlIGNob2ljZXMgdGhhdCBhcmUgbGlzdGVkIGluIHRoaXMgZWxlbWVudCBjYW4gcmVwcmVzZW50IGNsaW5pY2FsIG9ic2VydmF0aW9ucyBhbmQgb3RoZXIgbWVhc3VyZW1lbnRzIHRoYXQgbWF5IGJlIHRoZSBzb3VyY2UgZm9yIGEgZGVyaXZlZCB2YWx1ZS4gIFRoZSBtb3N0IGNvbW1vbiByZWZlcmVuY2Ugd2lsbCBiZSBhbm90aGVyIE9ic2VydmF0aW9uLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iQ29tcG9uZW50IHJlc3VsdHMiIGRlZmluaXRpb249IlNvbWUgb2JzZXJ2YXRpb25zIGhhdmUgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucy4gIFRoZXNlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgYXJlIGV4cHJlc3NlZCBhcyBzZXBhcmF0ZSBjb2RlIHZhbHVlIHBhaXJzIHRoYXQgc2hhcmUgdGhlIHNhbWUgYXR0cmlidXRlcy4gIEV4YW1wbGVzIGluY2x1ZGUgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGZvciBibG9vZCBwcmVzc3VyZSBtZWFzdXJlbWVudCBhbmQgbXVsdGlwbGUgY29tcG9uZW50IG9ic2VydmF0aW9ucyBmb3IgZ2VuZXRpY3Mgb2JzZXJ2YXRpb25zLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVTQ29yZVBlZGlhdHJpY0JNSWZvckFnZU9ic2VydmF0aW9uUHJvZmlsZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcGVkaWF0cmljLWJtaS1mb3ItYWdlIiBsYWJlbD0iVVMgQ29yZSBQZWRpYXRyaWMgQk1JIGZvciBBZ2UgT2JzZXJ2YXRpb24gUHJvZmlsZSIgdGFyZ2V0PSJPYnNlcnZhdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY29kZSIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkJ1c2luZXNzIElkZW50aWZpZXIgZm9yIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIHVuaXF1ZSBpZGVudGlmaWVyIGFzc2lnbmVkIHRvIHRoaXMgb2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJGdWxmaWxscyBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciIgZGVmaW5pdGlvbj0iQSBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciB0aGF0IGlzIGZ1bGZpbGxlZCBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgZXZlbnQuICBGb3IgZXhhbXBsZSwgYSBNZWRpY2F0aW9uUmVxdWVzdCBtYXkgcmVxdWlyZSBhIHBhdGllbnQgdG8gaGF2ZSBsYWJvcmF0b3J5IHRlc3QgcGVyZm9ybWVkIGJlZm9yZSAgaXQgaXMgZGlzcGVuc2VkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IlBhcnQgb2YgcmVmZXJlbmNlZCBldmVudCIgZGVmaW5pdGlvbj0iQSBsYXJnZXIgZXZlbnQgb2Ygd2hpY2ggdGhpcyBwYXJ0aWN1bGFyIE9ic2VydmF0aW9uIGlzIGEgY29tcG9uZW50IG9yIHN0ZXAuICBGb3IgZXhhbXBsZSwgIGFuIG9ic2VydmF0aW9uIGFzIHBhcnQgb2YgYSBwcm9jZWR1cmUuIiBjb21tZW50PSJUbyBsaW5rIGFuIE9ic2VydmF0aW9uIHRvIGFuIEVuY291bnRlciB1c2UgYGVuY291bnRlcmAuICBTZWUgdGhlICBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cgZm9yIGd1aWRhbmNlIG9uIHJlZmVyZW5jaW5nIGFub3RoZXIgT2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLlN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoVVNDREkpIHJlZ2lzdGVyZWQgfCBwcmVsaW1pbmFyeSB8IGZpbmFsIHwgYW1lbmRlZCArIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSByZXN1bHQgdmFsdWUuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlN0YXR1cyIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9IlZTQ2F0IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCVwYXJlbnQuY2F0ZWdvcnlbY29kaW5nLnN5c3RlbT0naHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS9vYnNlcnZhdGlvbi1jYXRlZ29yeScsY29kaW5nLmNvZGU9J3ZpdGFsLXNpZ25zJ10pIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBCTUkgcGVyY2VudGlsZSBwZXIgYWdlIGFuZCBzZXggZm9yIHlvdXRoIDItMjAiIGRlZmluaXRpb249IkNvZGVkIFJlc3BvbnNlcyBmcm9tIEMtQ0RBIFZpdGFsIFNpZ24gUmVzdWx0cy4iIGNvbW1lbnQ9IipBbGwqIGNvZGUtdmFsdWUgYW5kLCBpZiBwcmVzZW50LCBjb21wb25lbnQuY29kZS1jb21wb25lbnQudmFsdWUgcGFpcnMgbmVlZCB0byBiZSB0YWtlbiBpbnRvIGFjY291bnQgdG8gY29ycmVjdGx5IHVuZGVyc3RhbmQgdGhlIG1lYW5pbmcgb2YgdGhlIG9ic2VydmF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhlIHZpdGFsIHNpZ24gY29kZXMgZnJvbSB0aGUgYmFzZSBGSElSIGFuZCBVUyBDb3JlIFZpdGFsIFNpZ25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFdobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmb2N1cyIgZGVzY3JpcHRpb249IldoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0LCB3aGVuIGl0IGlzIG5vdCBhYm91dCB0aGUgc3ViamVjdCBvZiByZWNvcmQiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gd2hlbiBpdCBpcyBub3QgdGhlIHBhdGllbnQgb2YgcmVjb3JkIHJlcHJlc2VudGluZyBzb21ldGhpbmcgb3Igc29tZW9uZSBhc3NvY2lhdGVkIHdpdGggdGhlIHBhdGllbnQgc3VjaCBhcyBhIHNwb3VzZSwgcGFyZW50LCBmZXR1cywgb3IgZG9ub3IuIEZvciBleGFtcGxlLCBmZXR1cyBvYnNlcnZhdGlvbnMgaW4gYSBtb3RoZXIncyByZWNvcmQuICBUaGUgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gY291bGQgYWxzbyBiZSBhbiBleGlzdGluZyBjb25kaXRpb24sICBhbiBpbnRlcnZlbnRpb24sIHRoZSBzdWJqZWN0J3MgZGlldCwgIGFub3RoZXIgb2JzZXJ2YXRpb24gb2YgdGhlIHN1YmplY3QsICBvciBhIGJvZHkgc3RydWN0dXJlIHN1Y2ggYXMgdHVtb3Igb3IgaW1wbGFudGVkIGRldmljZS4gICBBbiBleGFtcGxlIHVzZSBjYXNlIHdvdWxkIGJlIHVzaW5nIHRoZSBPYnNlcnZhdGlvbiByZXNvdXJjZSB0byBjYXB0dXJlIHdoZXRoZXIgdGhlIG1vdGhlciBpcyB0cmFpbmVkIHRvIGNoYW5nZSBoZXIgY2hpbGQncyB0cmFjaGVvc3RvbXkgdHViZS4gSW4gdGhpcyBleGFtcGxlLCB0aGUgY2hpbGQgaXMgdGhlIHBhdGllbnQgb2YgcmVjb3JkIGFuZCB0aGUgbW90aGVyIGlzIHRoZSBmb2N1cy4iIGNvbW1lbnQ9IlR5cGljYWxseSwgYW4gb2JzZXJ2YXRpb24gaXMgbWFkZSBhYm91dCB0aGUgc3ViamVjdCAtIGEgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgLSBhbmQgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhlIHN1YmplY3QgYW5kIHdoYXQgaXMgZGlyZWN0bHkgbWVhc3VyZWQgZm9yIGFuIG9ic2VydmF0aW9uIGlzIHNwZWNpZmllZCBpbiB0aGUgb2JzZXJ2YXRpb24gY29kZSBpdHNlbGYgKCBlLmcuLCAmcXVvdDtCbG9vZCBHbHVjb3NlJnF1b3Q7KSBhbmQgZG9lcyBub3QgbmVlZCB0byBiZSByZXByZXNlbnRlZCBzZXBhcmF0ZWx5IHVzaW5nIHRoaXMgZWxlbWVudC4gIFVzZSBgc3BlY2ltZW5gIGlmIGEgcmVmZXJlbmNlIHRvIGEgc3BlY2ltZW4gaXMgcmVxdWlyZWQuICBJZiBhIGNvZGUgaXMgcmVxdWlyZWQgaW5zdGVhZCBvZiBhIHJlc291cmNlIHVzZSBlaXRoZXIgIGBib2R5c2l0ZWAgZm9yIGJvZHlzaXRlcyBvciB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtmb2N1c0NvZGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLW9ic2VydmF0aW9uLWZvY3VzY29kZS5odG1sKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgT2Z0ZW4ganVzdCBhIGRhdGVUaW1lIGZvciBWaXRhbCBTaWducyIgZGVmaW5pdGlvbj0iT2Z0ZW4ganVzdCBhIGRhdGVUaW1lIGZvciBWaXRhbCBTaWducy4iIGNvbW1lbnQ9IkF0IGxlYXN0IGEgZGF0ZSBzaG91bGQgYmUgcHJlc2VudCB1bmxlc3MgdGhpcyBvYnNlcnZhdGlvbiBpcyBhIGhpc3RvcmljYWwgcmVwb3J0LiAgRm9yIHJlY29yZGluZyBpbXByZWNpc2Ugb3IgJnF1b3Q7ZnV6enkmcXVvdDsgdGltZXMgKEZvciBleGFtcGxlLCBhIGJsb29kIGdsdWNvc2UgbWVhc3VyZW1lbnQgdGFrZW4gJnF1b3Q7YWZ0ZXIgYnJlYWtmYXN0JnF1b3Q7KSB1c2UgdGhlIFtUaW1pbmddKGh0dHA6Ly9obDcub3JnL2ZoaXIvZGF0YXR5cGVzLmh0bWwjdGltaW5nKSBkYXRhdHlwZSB3aGljaCBhbGxvdyB0aGUgbWVhc3VyZW1lbnQgdG8gYmUgdGllZCB0byByZWd1bGFyIGxpZmUgZXZlbnRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ2cy0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9ImlmIE9ic2VydmF0aW9uLmVmZmVjdGl2ZVt4XSBpcyBkYXRlVGltZSBhbmQgaGFzIGEgdmFsdWUgdGhlbiB0aGF0IHZhbHVlIHNoYWxsIGJlIHByZWNpc2UgdG8gdGhlIGRheSI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iKCR0aGlzIGFzIGRhdGVUaW1lKS50b1N0cmluZygpLmxlbmd0aCgpICZndDs9IDgiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJXaG8gaXMgcmVzcG9uc2libGUgZm9yIHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iV2hvIHdhcyByZXNwb25zaWJsZSBmb3IgYXNzZXJ0aW5nIHRoZSBvYnNlcnZlZCB2YWx1ZSBhcyAmcXVvdDt0cnVlJnF1b3Q7LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgVml0YWwgU2lnbnMgVmFsdWUiIGRlZmluaXRpb249IlZpdGFsIFNpZ25zIHZhbHVlIGFyZSB0eXBpY2FsbHkgcmVjb3JkZWQgdXNpbmcgdGhlIFF1YW50aXR5IGRhdGEgdHlwZS4iIGNvbW1lbnQ9IkFuIG9ic2VydmF0aW9uIG1heSBoYXZlOyAxKSAgYSBzaW5nbGUgdmFsdWUgaGVyZSwgMikgIGJvdGggYSB2YWx1ZSBhbmQgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLCAgb3IgMykgIG9ubHkgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLiBJZiBhIHZhbHVlIGlzIHByZXNlbnQsIHRoZSBkYXRhdHlwZSBmb3IgdGhpcyBlbGVtZW50IHNob3VsZCBiZSBkZXRlcm1pbmVkIGJ5IE9ic2VydmF0aW9uLmNvZGUuICBBIENvZGVhYmxlQ29uY2VwdCB3aXRoIGp1c3QgYSB0ZXh0IHdvdWxkIGJlIHVzZWQgaW5zdGVhZCBvZiBhIHN0cmluZyBpZiB0aGUgZmllbGQgd2FzIHVzdWFsbHkgY29kZWQsIG9yIGlmIHRoZSB0eXBlIGFzc29jaWF0ZWQgd2l0aCB0aGUgT2JzZXJ2YXRpb24uY29kZSBkZWZpbmVzIGEgY29kZWQgdmFsdWUuICBGb3IgYWRkaXRpb25hbCBndWlkYW5jZSwgc2VlIHRoZSBbTm90ZXMgc2VjdGlvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkNvbW1vbiBVQ1VNIHVuaXRzIGZvciByZWNvcmRpbmcgVml0YWwgU2lnbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFdoeSB0aGUgcmVzdWx0IGlzIG1pc3NpbmciIGRlZmluaXRpb249IlByb3ZpZGVzIGEgcmVhc29uIHdoeSB0aGUgZXhwZWN0ZWQgdmFsdWUgaW4gdGhlIGVsZW1lbnQgT2JzZXJ2YXRpb24udmFsdWVbeF0gaXMgbWlzc2luZy4iIGNvbW1lbnQ9Ik51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzIGNhbiBiZSByZXByZXNlbnRlZCB0d28gd2F5cyBpbiBGSElSIE9ic2VydmF0aW9ucy4gIE9uZSB3YXkgaXMgdG8gc2ltcGx5IGluY2x1ZGUgdGhlbSBpbiB0aGUgdmFsdWUgc2V0IGFuZCByZXByZXNlbnQgdGhlIGV4Y2VwdGlvbnMgaW4gdGhlIHZhbHVlLiAgRm9yIGV4YW1wbGUsIG1lYXN1cmVtZW50IHZhbHVlcyBmb3IgYSBzZXJvbG9neSB0ZXN0IGNvdWxkIGJlICAmcXVvdDtkZXRlY3RlZCZxdW90OywgJnF1b3Q7bm90IGRldGVjdGVkJnF1b3Q7LCAmcXVvdDtpbmNvbmNsdXNpdmUmcXVvdDssIG9yICAmcXVvdDtzcGVjaW1lbiB1bnNhdGlzZmFjdG9yeSZxdW90Oy4gICAmIzEwOyYjMTA7VGhlIGFsdGVybmF0ZSB3YXkgaXMgdG8gdXNlIHRoZSB2YWx1ZSBlbGVtZW50IGZvciBhY3R1YWwgb2JzZXJ2YXRpb25zIGFuZCB1c2UgdGhlIGV4cGxpY2l0IGRhdGFBYnNlbnRSZWFzb24gZWxlbWVudCB0byByZWNvcmQgZXhjZXB0aW9uYWwgdmFsdWVzLiAgRm9yIGV4YW1wbGUsIHRoZSBkYXRhQWJzZW50UmVhc29uIGNvZGUgJnF1b3Q7ZXJyb3ImcXVvdDsgY291bGQgYmUgdXNlZCB3aGVuIHRoZSBtZWFzdXJlbWVudCB3YXMgbm90IGNvbXBsZXRlZC4gTm90ZSB0aGF0IGFuIG9ic2VydmF0aW9uIG1heSBvbmx5IGJlIHJlcG9ydGVkIGlmIHRoZXJlIGFyZSB2YWx1ZXMgdG8gcmVwb3J0LiBGb3IgZXhhbXBsZSBkaWZmZXJlbnRpYWwgY2VsbCBjb3VudHMgdmFsdWVzIG1heSBiZSByZXBvcnRlZCBvbmx5IHdoZW4gJmd0OyAwLiAgQmVjYXVzZSBvZiB0aGVzZSBvcHRpb25zLCB1c2UtY2FzZSBhZ3JlZW1lbnRzIGFyZSByZXF1aXJlZCB0byBpbnRlcnByZXQgZ2VuZXJhbCBvYnNlcnZhdGlvbnMgZm9yIG51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblZhbHVlQWJzZW50UmVhc29uIiBkZXNjcmlwdGlvbj0iQ29kZXMgc3BlY2lmeWluZyB3aHkgdGhlIHJlc3VsdCAoYE9ic2VydmF0aW9uLnZhbHVlW3hdYCkgaXMgbWlzc2luZy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImludGVycHJldGF0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGlnaCwgbG93LCBub3JtYWwsIGV0Yy4iIGRlZmluaXRpb249IkEgY2F0ZWdvcmljYWwgYXNzZXNzbWVudCBvZiBhbiBvYnNlcnZhdGlvbiB2YWx1ZS4gIEZvciBleGFtcGxlLCBoaWdoLCBsb3csIG5vcm1hbC4iIGNvbW1lbnQ9Ikhpc3RvcmljYWxseSB1c2VkIGZvciBsYWJvcmF0b3J5IHJlc3VsdHMgKGtub3duIGFzICdhYm5vcm1hbCBmbGFnJyApLCAgaXRzIHVzZSBleHRlbmRzIHRvIG90aGVyIHVzZSBjYXNlcyB3aGVyZSBjb2RlZCBpbnRlcnByZXRhdGlvbnMgIGFyZSByZWxldmFudC4gIE9mdGVuIHJlcG9ydGVkIGFzIG9uZSBvciBtb3JlIHNpbXBsZSBjb21wYWN0IGNvZGVzIHRoaXMgZWxlbWVudCBpcyBvZnRlbiBwbGFjZWQgYWRqYWNlbnQgdG8gdGhlIHJlc3VsdCB2YWx1ZSBpbiByZXBvcnRzIGFuZCBmbG93IHNoZWV0cyB0byBzaWduYWwgdGhlIG1lYW5pbmcvbm9ybWFsY3kgc3RhdHVzIG9mIHRoZSByZXN1bHQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uSW50ZXJwcmV0YXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBpbnRlcnByZXRhdGlvbnMgb2Ygb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIG9yIHRoZSByZXN1bHRzLiIgY29tbWVudD0iTWF5IGluY2x1ZGUgZ2VuZXJhbCBzdGF0ZW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiwgb3Igc3RhdGVtZW50cyBhYm91dCBzaWduaWZpY2FudCwgdW5leHBlY3RlZCBvciB1bnJlbGlhYmxlIHJlc3VsdHMgdmFsdWVzLCBvciBpbmZvcm1hdGlvbiBhYm91dCBpdHMgc291cmNlIHdoZW4gcmVsZXZhbnQgdG8gaXRzIGludGVycHJldGF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2JzZXJ2ZWQgYm9keSBwYXJ0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHNpdGUgb24gdGhlIHN1YmplY3QncyBib2R5IHdoZXJlIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSAoaS5lLiB0aGUgdGFyZ2V0IHNpdGUpLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIE9ic2VydmF0aW9uLmNvZGUuICBJbiBtYW55IHN5c3RlbXMsIHRoaXMgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGEgcmVsYXRlZCBvYnNlcnZhdGlvbiBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb21wb25lbnQuICAgJiMxMDsmIzEwO0lmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBCb2R5U2l0ZSB0byBiZSBoYW5kbGVkIGFzIGEgc2VwYXJhdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb25bIGJvZHlTaXRlXShodHRwOi8vaGw3Lm9yZy9maGlyL2V4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBpdCB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWNoYW5pc20gdXNlZCB0byBwZXJmb3JtIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3IgT2JzZXJ2YXRpb24uY29kZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiB1c2VkIGZvciB0aGlzIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2ltZW4gdGhhdCB3YXMgdXNlZCB3aGVuIHRoaXMgb2JzZXJ2YXRpb24gd2FzIG1hZGUuIiBjb21tZW50PSJTaG91bGQgb25seSBiZSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIGBPYnNlcnZhdGlvbi5jb2RlYC4gIE9ic2VydmF0aW9ucyBhcmUgbm90IG1hZGUgb24gc3BlY2ltZW5zIHRoZW1zZWx2ZXM7IHRoZXkgYXJlIG1hZGUgb24gYSBzdWJqZWN0LCBidXQgaW4gbWFueSBjYXNlcyBieSB0aGUgbWVhbnMgb2YgYSBzcGVjaW1lbi4gTm90ZSB0aGF0IGFsdGhvdWdoIHNwZWNpbWVucyBhcmUgb2Z0ZW4gaW52b2x2ZWQsIHRoZXkgYXJlIG5vdCBhbHdheXMgdHJhY2tlZCBhbmQgcmVwb3J0ZWQgZXhwbGljaXRseS4gQWxzbyBub3RlIHRoYXQgb2JzZXJ2YXRpb24gcmVzb3VyY2VzIG1heSBiZSB1c2VkIGluIGNvbnRleHRzIHRoYXQgdHJhY2sgdGhlIHNwZWNpbWVuIGV4cGxpY2l0bHkgKGUuZy4gRGlhZ25vc3RpYyBSZXBvcnQpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRldmljZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoTWVhc3VyZW1lbnQpIERldmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBvYnNlcnZhdGlvbiBkYXRhLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgaXMgbm90IG1lYW50IHRvIHJlcHJlc2VudCBhIGRldmljZSBpbnZvbHZlZCBpbiB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoZSByZXN1bHQsIGUuZy4sIGEgZ2F0ZXdheS4gIFN1Y2ggZGV2aWNlcyBtYXkgYmUgZG9jdW1lbnRlZCB1c2luZyB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZSB3aGVyZSByZWxldmFudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2VSYW5nZSIgZGVzY3JpcHRpb249IlByb3ZpZGVzIGd1aWRlIGZvciBpbnRlcnByZXRhdGlvbiIgZGVmaW5pdGlvbj0iR3VpZGFuY2Ugb24gaG93IHRvIGludGVycHJldCB0aGUgdmFsdWUgYnkgY29tcGFyaXNvbiB0byBhIG5vcm1hbCBvciByZWNvbW1lbmRlZCByYW5nZS4gIE11bHRpcGxlIHJlZmVyZW5jZSByYW5nZXMgYXJlIGludGVycHJldGVkIGFzIGFuICZxdW90O09SJnF1b3Q7LiAgIEluIG90aGVyIHdvcmRzLCB0byByZXByZXNlbnQgdHdvIGRpc3RpbmN0IHRhcmdldCBwb3B1bGF0aW9ucywgdHdvIGByZWZlcmVuY2VSYW5nZWAgZWxlbWVudHMgd291bGQgYmUgdXNlZC4iIGNvbW1lbnQ9Ik1vc3Qgb2JzZXJ2YXRpb25zIG9ubHkgaGF2ZSBvbmUgZ2VuZXJpYyByZWZlcmVuY2UgcmFuZ2UuIFN5c3RlbXMgTUFZIGNob29zZSB0byByZXN0cmljdCB0byBvbmx5IHN1cHBseWluZyB0aGUgcmVsZXZhbnQgcmVmZXJlbmNlIHJhbmdlIGJhc2VkIG9uIGtub3dsZWRnZSBhYm91dCB0aGUgcGF0aWVudCAoZS5nLiwgc3BlY2lmaWMgdG8gdGhlIHBhdGllbnQncyBhZ2UsIGdlbmRlciwgd2VpZ2h0IGFuZCBvdGhlciBmYWN0b3JzKSwgYnV0IHRoaXMgbWlnaHQgbm90IGJlIHBvc3NpYmxlIG9yIGFwcHJvcHJpYXRlLiBXaGVuZXZlciBtb3JlIHRoYW4gb25lIHJlZmVyZW5jZSByYW5nZSBpcyBzdXBwbGllZCwgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlbSBTSE9VTEQgYmUgcHJvdmlkZWQgaW4gdGhlIHJlZmVyZW5jZSByYW5nZSBhbmQvb3IgYWdlIHByb3BlcnRpZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5SZWZlcmVuY2VSYW5nZSIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJvYnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJNdXN0IGhhdmUgYXQgbGVhc3QgYSBsb3cgb3IgYSBoaWdoIG9yIHRleHQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Imxvdy5leGlzdHMoKSBvciBoaWdoLmV4aXN0cygpIG9yIHRleHQuZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJoYXNNZW1iZXIiIGRlc2NyaXB0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIHZpdGFsIHNpZ25zIHBhbmVsIGNvbXBvbmVudHMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cy4iIGNvbW1lbnQ9IldoZW4gdXNpbmcgdGhpcyBlbGVtZW50LCBhbiBvYnNlcnZhdGlvbiB3aWxsIHR5cGljYWxseSBoYXZlIGVpdGhlciBhIHZhbHVlIG9yIGEgc2V0IG9mIHJlbGF0ZWQgcmVzb3VyY2VzLCBhbHRob3VnaCBib3RoIG1heSBiZSBwcmVzZW50IGluIHNvbWUgY2FzZXMuICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4gIE5vdGUgdGhhdCBhIHN5c3RlbSBtYXkgY2FsY3VsYXRlIHJlc3VsdHMgZnJvbSBbUXVlc3Rpb25uYWlyZVJlc3BvbnNlXShodHRwOi8vaGw3Lm9yZy9maGlyL3F1ZXN0aW9ubmFpcmVyZXNwb25zZS5odG1sKSAgaW50byBhIGZpbmFsIHNjb3JlIGFuZCByZXByZXNlbnQgdGhlIHNjb3JlIGFzIGFuIE9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRlcml2ZWRGcm9tIiBkZXNjcmlwdGlvbj0iUmVsYXRlZCBtZWFzdXJlbWVudHMgdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgZnJvbSIgZGVmaW5pdGlvbj0iVGhlIHRhcmdldCByZXNvdXJjZSB0aGF0IHJlcHJlc2VudHMgYSBtZWFzdXJlbWVudCBmcm9tIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gdmFsdWUgaXMgZGVyaXZlZC4gRm9yIGV4YW1wbGUsIGEgY2FsY3VsYXRlZCBhbmlvbiBnYXAgb3IgYSBmZXRhbCBtZWFzdXJlbWVudCBiYXNlZCBvbiBhbiB1bHRyYXNvdW5kIGltYWdlLiIgY29tbWVudD0iQWxsIHRoZSByZWZlcmVuY2UgY2hvaWNlcyB0aGF0IGFyZSBsaXN0ZWQgaW4gdGhpcyBlbGVtZW50IGNhbiByZXByZXNlbnQgY2xpbmljYWwgb2JzZXJ2YXRpb25zIGFuZCBvdGhlciBtZWFzdXJlbWVudHMgdGhhdCBtYXkgYmUgdGhlIHNvdXJjZSBmb3IgYSBkZXJpdmVkIHZhbHVlLiAgVGhlIG1vc3QgY29tbW9uIHJlZmVyZW5jZSB3aWxsIGJlIGFub3RoZXIgT2JzZXJ2YXRpb24uICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb21wb25lbnQiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENvbXBvbmVudCBvYnNlcnZhdGlvbnMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgY29tcG9uZW50IG9ic2VydmF0aW9uIHN1Y2ggYXMgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBibG9vZCBwcmVzc3VyZS4iIGNvbW1lbnQ9IkZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBiZSBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50Ii8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iSWYgdGhlcmUgaXMgbm8gYSB2YWx1ZSBhIGRhdGEgYWJzZW50IHJlYXNvbiBtdXN0IGJlIHByZXNlbnQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InZhbHVlLmV4aXN0cygpIG9yIGRhdGFBYnNlbnRSZWFzb24uZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVTQ29yZVBlZGlhdHJpY0hlYWRPY2NpcGl0YWxGcm9udGFsQ2lyY3VtZmVyZW5jZVBlcmNlbnRpbGVQcm9maWxlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi9oZWFkLW9jY2lwaXRhbC1mcm9udGFsLWNpcmN1bWZlcmVuY2UtcGVyY2VudGlsZSIgbGFiZWw9IlVTIENvcmUgUGVkaWF0cmljIEhlYWQgT2NjaXBpdGFsIEZyb250YWwgQ2lyY3VtZmVyZW5jZSBQZXJjZW50aWxlIFByb2ZpbGUiIHRhcmdldD0iT2JzZXJ2YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBJZGVudGlmaWVyIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIG9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBPYnNlcnZhdGlvbiBpcyBhIGNvbXBvbmVudCBvciBzdGVwLiAgRm9yIGV4YW1wbGUsICBhbiBvYnNlcnZhdGlvbiBhcyBwYXJ0IG9mIGEgcHJvY2VkdXJlLiIgY29tbWVudD0iVG8gbGluayBhbiBPYnNlcnZhdGlvbiB0byBhbiBFbmNvdW50ZXIgdXNlIGBlbmNvdW50ZXJgLiAgU2VlIHRoZSAgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93IGZvciBndWlkYW5jZSBvbiByZWZlcmVuY2luZyBhbm90aGVyIE9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5TdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSByZWdpc3RlcmVkIHwgcHJlbGltaW5hcnkgfCBmaW5hbCB8IGFtZW5kZWQgKyIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzdWx0IHZhbHVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJTdGF0dXMiIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJWU0NhdCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCglcGFyZW50LmNhdGVnb3J5W2NvZGluZy5zeXN0ZW09J2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vb2JzZXJ2YXRpb24tY2F0ZWdvcnknLGNvZGluZy5jb2RlPSd2aXRhbC1zaWducyddKSIgZGVzY3JpcHRpb249IihVU0NESSkgQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgSGVhZCBPY2NpcGl0YWwgRnJvbnRhbCBjaXJjdW1mZXJlbmNlIFBlcmNlbnRpbGUiIGRlZmluaXRpb249IkNvZGVkIFJlc3BvbnNlcyBmcm9tIEMtQ0RBIFZpdGFsIFNpZ24gUmVzdWx0cy4iIGNvbW1lbnQ9IipBbGwqIGNvZGUtdmFsdWUgYW5kLCBpZiBwcmVzZW50LCBjb21wb25lbnQuY29kZS1jb21wb25lbnQudmFsdWUgcGFpcnMgbmVlZCB0byBiZSB0YWtlbiBpbnRvIGFjY291bnQgdG8gY29ycmVjdGx5IHVuZGVyc3RhbmQgdGhlIG1lYW5pbmcgb2YgdGhlIG9ic2VydmF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhlIHZpdGFsIHNpZ24gY29kZXMgZnJvbSB0aGUgYmFzZSBGSElSIGFuZCBVUyBDb3JlIFZpdGFsIFNpZ25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFdobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmb2N1cyIgZGVzY3JpcHRpb249IldoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0LCB3aGVuIGl0IGlzIG5vdCBhYm91dCB0aGUgc3ViamVjdCBvZiByZWNvcmQiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gd2hlbiBpdCBpcyBub3QgdGhlIHBhdGllbnQgb2YgcmVjb3JkIHJlcHJlc2VudGluZyBzb21ldGhpbmcgb3Igc29tZW9uZSBhc3NvY2lhdGVkIHdpdGggdGhlIHBhdGllbnQgc3VjaCBhcyBhIHNwb3VzZSwgcGFyZW50LCBmZXR1cywgb3IgZG9ub3IuIEZvciBleGFtcGxlLCBmZXR1cyBvYnNlcnZhdGlvbnMgaW4gYSBtb3RoZXIncyByZWNvcmQuICBUaGUgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gY291bGQgYWxzbyBiZSBhbiBleGlzdGluZyBjb25kaXRpb24sICBhbiBpbnRlcnZlbnRpb24sIHRoZSBzdWJqZWN0J3MgZGlldCwgIGFub3RoZXIgb2JzZXJ2YXRpb24gb2YgdGhlIHN1YmplY3QsICBvciBhIGJvZHkgc3RydWN0dXJlIHN1Y2ggYXMgdHVtb3Igb3IgaW1wbGFudGVkIGRldmljZS4gICBBbiBleGFtcGxlIHVzZSBjYXNlIHdvdWxkIGJlIHVzaW5nIHRoZSBPYnNlcnZhdGlvbiByZXNvdXJjZSB0byBjYXB0dXJlIHdoZXRoZXIgdGhlIG1vdGhlciBpcyB0cmFpbmVkIHRvIGNoYW5nZSBoZXIgY2hpbGQncyB0cmFjaGVvc3RvbXkgdHViZS4gSW4gdGhpcyBleGFtcGxlLCB0aGUgY2hpbGQgaXMgdGhlIHBhdGllbnQgb2YgcmVjb3JkIGFuZCB0aGUgbW90aGVyIGlzIHRoZSBmb2N1cy4iIGNvbW1lbnQ9IlR5cGljYWxseSwgYW4gb2JzZXJ2YXRpb24gaXMgbWFkZSBhYm91dCB0aGUgc3ViamVjdCAtIGEgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgLSBhbmQgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhlIHN1YmplY3QgYW5kIHdoYXQgaXMgZGlyZWN0bHkgbWVhc3VyZWQgZm9yIGFuIG9ic2VydmF0aW9uIGlzIHNwZWNpZmllZCBpbiB0aGUgb2JzZXJ2YXRpb24gY29kZSBpdHNlbGYgKCBlLmcuLCAmcXVvdDtCbG9vZCBHbHVjb3NlJnF1b3Q7KSBhbmQgZG9lcyBub3QgbmVlZCB0byBiZSByZXByZXNlbnRlZCBzZXBhcmF0ZWx5IHVzaW5nIHRoaXMgZWxlbWVudC4gIFVzZSBgc3BlY2ltZW5gIGlmIGEgcmVmZXJlbmNlIHRvIGEgc3BlY2ltZW4gaXMgcmVxdWlyZWQuICBJZiBhIGNvZGUgaXMgcmVxdWlyZWQgaW5zdGVhZCBvZiBhIHJlc291cmNlIHVzZSBlaXRoZXIgIGBib2R5c2l0ZWAgZm9yIGJvZHlzaXRlcyBvciB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtmb2N1c0NvZGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLW9ic2VydmF0aW9uLWZvY3VzY29kZS5odG1sKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgT2Z0ZW4ganVzdCBhIGRhdGVUaW1lIGZvciBWaXRhbCBTaWducyIgZGVmaW5pdGlvbj0iT2Z0ZW4ganVzdCBhIGRhdGVUaW1lIGZvciBWaXRhbCBTaWducy4iIGNvbW1lbnQ9IkF0IGxlYXN0IGEgZGF0ZSBzaG91bGQgYmUgcHJlc2VudCB1bmxlc3MgdGhpcyBvYnNlcnZhdGlvbiBpcyBhIGhpc3RvcmljYWwgcmVwb3J0LiAgRm9yIHJlY29yZGluZyBpbXByZWNpc2Ugb3IgJnF1b3Q7ZnV6enkmcXVvdDsgdGltZXMgKEZvciBleGFtcGxlLCBhIGJsb29kIGdsdWNvc2UgbWVhc3VyZW1lbnQgdGFrZW4gJnF1b3Q7YWZ0ZXIgYnJlYWtmYXN0JnF1b3Q7KSB1c2UgdGhlIFtUaW1pbmddKGh0dHA6Ly9obDcub3JnL2ZoaXIvZGF0YXR5cGVzLmh0bWwjdGltaW5nKSBkYXRhdHlwZSB3aGljaCBhbGxvdyB0aGUgbWVhc3VyZW1lbnQgdG8gYmUgdGllZCB0byByZWd1bGFyIGxpZmUgZXZlbnRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ2cy0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9ImlmIE9ic2VydmF0aW9uLmVmZmVjdGl2ZVt4XSBpcyBkYXRlVGltZSBhbmQgaGFzIGEgdmFsdWUgdGhlbiB0aGF0IHZhbHVlIHNoYWxsIGJlIHByZWNpc2UgdG8gdGhlIGRheSI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iKCR0aGlzIGFzIGRhdGVUaW1lKS50b1N0cmluZygpLmxlbmd0aCgpICZndDs9IDgiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJXaG8gaXMgcmVzcG9uc2libGUgZm9yIHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iV2hvIHdhcyByZXNwb25zaWJsZSBmb3IgYXNzZXJ0aW5nIHRoZSBvYnNlcnZlZCB2YWx1ZSBhcyAmcXVvdDt0cnVlJnF1b3Q7LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgVml0YWwgU2lnbnMgVmFsdWUiIGRlZmluaXRpb249IlZpdGFsIFNpZ25zIHZhbHVlIGFyZSB0eXBpY2FsbHkgcmVjb3JkZWQgdXNpbmcgdGhlIFF1YW50aXR5IGRhdGEgdHlwZS4iIGNvbW1lbnQ9IkFuIG9ic2VydmF0aW9uIG1heSBoYXZlOyAxKSAgYSBzaW5nbGUgdmFsdWUgaGVyZSwgMikgIGJvdGggYSB2YWx1ZSBhbmQgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLCAgb3IgMykgIG9ubHkgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLiBJZiBhIHZhbHVlIGlzIHByZXNlbnQsIHRoZSBkYXRhdHlwZSBmb3IgdGhpcyBlbGVtZW50IHNob3VsZCBiZSBkZXRlcm1pbmVkIGJ5IE9ic2VydmF0aW9uLmNvZGUuICBBIENvZGVhYmxlQ29uY2VwdCB3aXRoIGp1c3QgYSB0ZXh0IHdvdWxkIGJlIHVzZWQgaW5zdGVhZCBvZiBhIHN0cmluZyBpZiB0aGUgZmllbGQgd2FzIHVzdWFsbHkgY29kZWQsIG9yIGlmIHRoZSB0eXBlIGFzc29jaWF0ZWQgd2l0aCB0aGUgT2JzZXJ2YXRpb24uY29kZSBkZWZpbmVzIGEgY29kZWQgdmFsdWUuICBGb3IgYWRkaXRpb25hbCBndWlkYW5jZSwgc2VlIHRoZSBbTm90ZXMgc2VjdGlvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkNvbW1vbiBVQ1VNIHVuaXRzIGZvciByZWNvcmRpbmcgVml0YWwgU2lnbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFdoeSB0aGUgcmVzdWx0IGlzIG1pc3NpbmciIGRlZmluaXRpb249IlByb3ZpZGVzIGEgcmVhc29uIHdoeSB0aGUgZXhwZWN0ZWQgdmFsdWUgaW4gdGhlIGVsZW1lbnQgT2JzZXJ2YXRpb24udmFsdWVbeF0gaXMgbWlzc2luZy4iIGNvbW1lbnQ9Ik51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzIGNhbiBiZSByZXByZXNlbnRlZCB0d28gd2F5cyBpbiBGSElSIE9ic2VydmF0aW9ucy4gIE9uZSB3YXkgaXMgdG8gc2ltcGx5IGluY2x1ZGUgdGhlbSBpbiB0aGUgdmFsdWUgc2V0IGFuZCByZXByZXNlbnQgdGhlIGV4Y2VwdGlvbnMgaW4gdGhlIHZhbHVlLiAgRm9yIGV4YW1wbGUsIG1lYXN1cmVtZW50IHZhbHVlcyBmb3IgYSBzZXJvbG9neSB0ZXN0IGNvdWxkIGJlICAmcXVvdDtkZXRlY3RlZCZxdW90OywgJnF1b3Q7bm90IGRldGVjdGVkJnF1b3Q7LCAmcXVvdDtpbmNvbmNsdXNpdmUmcXVvdDssIG9yICAmcXVvdDtzcGVjaW1lbiB1bnNhdGlzZmFjdG9yeSZxdW90Oy4gICAmIzEwOyYjMTA7VGhlIGFsdGVybmF0ZSB3YXkgaXMgdG8gdXNlIHRoZSB2YWx1ZSBlbGVtZW50IGZvciBhY3R1YWwgb2JzZXJ2YXRpb25zIGFuZCB1c2UgdGhlIGV4cGxpY2l0IGRhdGFBYnNlbnRSZWFzb24gZWxlbWVudCB0byByZWNvcmQgZXhjZXB0aW9uYWwgdmFsdWVzLiAgRm9yIGV4YW1wbGUsIHRoZSBkYXRhQWJzZW50UmVhc29uIGNvZGUgJnF1b3Q7ZXJyb3ImcXVvdDsgY291bGQgYmUgdXNlZCB3aGVuIHRoZSBtZWFzdXJlbWVudCB3YXMgbm90IGNvbXBsZXRlZC4gTm90ZSB0aGF0IGFuIG9ic2VydmF0aW9uIG1heSBvbmx5IGJlIHJlcG9ydGVkIGlmIHRoZXJlIGFyZSB2YWx1ZXMgdG8gcmVwb3J0LiBGb3IgZXhhbXBsZSBkaWZmZXJlbnRpYWwgY2VsbCBjb3VudHMgdmFsdWVzIG1heSBiZSByZXBvcnRlZCBvbmx5IHdoZW4gJmd0OyAwLiAgQmVjYXVzZSBvZiB0aGVzZSBvcHRpb25zLCB1c2UtY2FzZSBhZ3JlZW1lbnRzIGFyZSByZXF1aXJlZCB0byBpbnRlcnByZXQgZ2VuZXJhbCBvYnNlcnZhdGlvbnMgZm9yIG51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblZhbHVlQWJzZW50UmVhc29uIiBkZXNjcmlwdGlvbj0iQ29kZXMgc3BlY2lmeWluZyB3aHkgdGhlIHJlc3VsdCAoYE9ic2VydmF0aW9uLnZhbHVlW3hdYCkgaXMgbWlzc2luZy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImludGVycHJldGF0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGlnaCwgbG93LCBub3JtYWwsIGV0Yy4iIGRlZmluaXRpb249IkEgY2F0ZWdvcmljYWwgYXNzZXNzbWVudCBvZiBhbiBvYnNlcnZhdGlvbiB2YWx1ZS4gIEZvciBleGFtcGxlLCBoaWdoLCBsb3csIG5vcm1hbC4iIGNvbW1lbnQ9Ikhpc3RvcmljYWxseSB1c2VkIGZvciBsYWJvcmF0b3J5IHJlc3VsdHMgKGtub3duIGFzICdhYm5vcm1hbCBmbGFnJyApLCAgaXRzIHVzZSBleHRlbmRzIHRvIG90aGVyIHVzZSBjYXNlcyB3aGVyZSBjb2RlZCBpbnRlcnByZXRhdGlvbnMgIGFyZSByZWxldmFudC4gIE9mdGVuIHJlcG9ydGVkIGFzIG9uZSBvciBtb3JlIHNpbXBsZSBjb21wYWN0IGNvZGVzIHRoaXMgZWxlbWVudCBpcyBvZnRlbiBwbGFjZWQgYWRqYWNlbnQgdG8gdGhlIHJlc3VsdCB2YWx1ZSBpbiByZXBvcnRzIGFuZCBmbG93IHNoZWV0cyB0byBzaWduYWwgdGhlIG1lYW5pbmcvbm9ybWFsY3kgc3RhdHVzIG9mIHRoZSByZXN1bHQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uSW50ZXJwcmV0YXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBpbnRlcnByZXRhdGlvbnMgb2Ygb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIG9yIHRoZSByZXN1bHRzLiIgY29tbWVudD0iTWF5IGluY2x1ZGUgZ2VuZXJhbCBzdGF0ZW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiwgb3Igc3RhdGVtZW50cyBhYm91dCBzaWduaWZpY2FudCwgdW5leHBlY3RlZCBvciB1bnJlbGlhYmxlIHJlc3VsdHMgdmFsdWVzLCBvciBpbmZvcm1hdGlvbiBhYm91dCBpdHMgc291cmNlIHdoZW4gcmVsZXZhbnQgdG8gaXRzIGludGVycHJldGF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2JzZXJ2ZWQgYm9keSBwYXJ0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHNpdGUgb24gdGhlIHN1YmplY3QncyBib2R5IHdoZXJlIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSAoaS5lLiB0aGUgdGFyZ2V0IHNpdGUpLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIE9ic2VydmF0aW9uLmNvZGUuICBJbiBtYW55IHN5c3RlbXMsIHRoaXMgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGEgcmVsYXRlZCBvYnNlcnZhdGlvbiBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb21wb25lbnQuICAgJiMxMDsmIzEwO0lmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBCb2R5U2l0ZSB0byBiZSBoYW5kbGVkIGFzIGEgc2VwYXJhdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb25bIGJvZHlTaXRlXShodHRwOi8vaGw3Lm9yZy9maGlyL2V4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBpdCB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWNoYW5pc20gdXNlZCB0byBwZXJmb3JtIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3IgT2JzZXJ2YXRpb24uY29kZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiB1c2VkIGZvciB0aGlzIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2ltZW4gdGhhdCB3YXMgdXNlZCB3aGVuIHRoaXMgb2JzZXJ2YXRpb24gd2FzIG1hZGUuIiBjb21tZW50PSJTaG91bGQgb25seSBiZSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIGBPYnNlcnZhdGlvbi5jb2RlYC4gIE9ic2VydmF0aW9ucyBhcmUgbm90IG1hZGUgb24gc3BlY2ltZW5zIHRoZW1zZWx2ZXM7IHRoZXkgYXJlIG1hZGUgb24gYSBzdWJqZWN0LCBidXQgaW4gbWFueSBjYXNlcyBieSB0aGUgbWVhbnMgb2YgYSBzcGVjaW1lbi4gTm90ZSB0aGF0IGFsdGhvdWdoIHNwZWNpbWVucyBhcmUgb2Z0ZW4gaW52b2x2ZWQsIHRoZXkgYXJlIG5vdCBhbHdheXMgdHJhY2tlZCBhbmQgcmVwb3J0ZWQgZXhwbGljaXRseS4gQWxzbyBub3RlIHRoYXQgb2JzZXJ2YXRpb24gcmVzb3VyY2VzIG1heSBiZSB1c2VkIGluIGNvbnRleHRzIHRoYXQgdHJhY2sgdGhlIHNwZWNpbWVuIGV4cGxpY2l0bHkgKGUuZy4gRGlhZ25vc3RpYyBSZXBvcnQpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRldmljZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoTWVhc3VyZW1lbnQpIERldmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBvYnNlcnZhdGlvbiBkYXRhLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgaXMgbm90IG1lYW50IHRvIHJlcHJlc2VudCBhIGRldmljZSBpbnZvbHZlZCBpbiB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoZSByZXN1bHQsIGUuZy4sIGEgZ2F0ZXdheS4gIFN1Y2ggZGV2aWNlcyBtYXkgYmUgZG9jdW1lbnRlZCB1c2luZyB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZSB3aGVyZSByZWxldmFudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2VSYW5nZSIgZGVzY3JpcHRpb249IlByb3ZpZGVzIGd1aWRlIGZvciBpbnRlcnByZXRhdGlvbiIgZGVmaW5pdGlvbj0iR3VpZGFuY2Ugb24gaG93IHRvIGludGVycHJldCB0aGUgdmFsdWUgYnkgY29tcGFyaXNvbiB0byBhIG5vcm1hbCBvciByZWNvbW1lbmRlZCByYW5nZS4gIE11bHRpcGxlIHJlZmVyZW5jZSByYW5nZXMgYXJlIGludGVycHJldGVkIGFzIGFuICZxdW90O09SJnF1b3Q7LiAgIEluIG90aGVyIHdvcmRzLCB0byByZXByZXNlbnQgdHdvIGRpc3RpbmN0IHRhcmdldCBwb3B1bGF0aW9ucywgdHdvIGByZWZlcmVuY2VSYW5nZWAgZWxlbWVudHMgd291bGQgYmUgdXNlZC4iIGNvbW1lbnQ9Ik1vc3Qgb2JzZXJ2YXRpb25zIG9ubHkgaGF2ZSBvbmUgZ2VuZXJpYyByZWZlcmVuY2UgcmFuZ2UuIFN5c3RlbXMgTUFZIGNob29zZSB0byByZXN0cmljdCB0byBvbmx5IHN1cHBseWluZyB0aGUgcmVsZXZhbnQgcmVmZXJlbmNlIHJhbmdlIGJhc2VkIG9uIGtub3dsZWRnZSBhYm91dCB0aGUgcGF0aWVudCAoZS5nLiwgc3BlY2lmaWMgdG8gdGhlIHBhdGllbnQncyBhZ2UsIGdlbmRlciwgd2VpZ2h0IGFuZCBvdGhlciBmYWN0b3JzKSwgYnV0IHRoaXMgbWlnaHQgbm90IGJlIHBvc3NpYmxlIG9yIGFwcHJvcHJpYXRlLiBXaGVuZXZlciBtb3JlIHRoYW4gb25lIHJlZmVyZW5jZSByYW5nZSBpcyBzdXBwbGllZCwgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlbSBTSE9VTEQgYmUgcHJvdmlkZWQgaW4gdGhlIHJlZmVyZW5jZSByYW5nZSBhbmQvb3IgYWdlIHByb3BlcnRpZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5SZWZlcmVuY2VSYW5nZSIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJvYnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJNdXN0IGhhdmUgYXQgbGVhc3QgYSBsb3cgb3IgYSBoaWdoIG9yIHRleHQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Imxvdy5leGlzdHMoKSBvciBoaWdoLmV4aXN0cygpIG9yIHRleHQuZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJoYXNNZW1iZXIiIGRlc2NyaXB0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIHZpdGFsIHNpZ25zIHBhbmVsIGNvbXBvbmVudHMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cy4iIGNvbW1lbnQ9IldoZW4gdXNpbmcgdGhpcyBlbGVtZW50LCBhbiBvYnNlcnZhdGlvbiB3aWxsIHR5cGljYWxseSBoYXZlIGVpdGhlciBhIHZhbHVlIG9yIGEgc2V0IG9mIHJlbGF0ZWQgcmVzb3VyY2VzLCBhbHRob3VnaCBib3RoIG1heSBiZSBwcmVzZW50IGluIHNvbWUgY2FzZXMuICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4gIE5vdGUgdGhhdCBhIHN5c3RlbSBtYXkgY2FsY3VsYXRlIHJlc3VsdHMgZnJvbSBbUXVlc3Rpb25uYWlyZVJlc3BvbnNlXShodHRwOi8vaGw3Lm9yZy9maGlyL3F1ZXN0aW9ubmFpcmVyZXNwb25zZS5odG1sKSAgaW50byBhIGZpbmFsIHNjb3JlIGFuZCByZXByZXNlbnQgdGhlIHNjb3JlIGFzIGFuIE9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRlcml2ZWRGcm9tIiBkZXNjcmlwdGlvbj0iUmVsYXRlZCBtZWFzdXJlbWVudHMgdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgZnJvbSIgZGVmaW5pdGlvbj0iVGhlIHRhcmdldCByZXNvdXJjZSB0aGF0IHJlcHJlc2VudHMgYSBtZWFzdXJlbWVudCBmcm9tIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gdmFsdWUgaXMgZGVyaXZlZC4gRm9yIGV4YW1wbGUsIGEgY2FsY3VsYXRlZCBhbmlvbiBnYXAgb3IgYSBmZXRhbCBtZWFzdXJlbWVudCBiYXNlZCBvbiBhbiB1bHRyYXNvdW5kIGltYWdlLiIgY29tbWVudD0iQWxsIHRoZSByZWZlcmVuY2UgY2hvaWNlcyB0aGF0IGFyZSBsaXN0ZWQgaW4gdGhpcyBlbGVtZW50IGNhbiByZXByZXNlbnQgY2xpbmljYWwgb2JzZXJ2YXRpb25zIGFuZCBvdGhlciBtZWFzdXJlbWVudHMgdGhhdCBtYXkgYmUgdGhlIHNvdXJjZSBmb3IgYSBkZXJpdmVkIHZhbHVlLiAgVGhlIG1vc3QgY29tbW9uIHJlZmVyZW5jZSB3aWxsIGJlIGFub3RoZXIgT2JzZXJ2YXRpb24uICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb21wb25lbnQiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENvbXBvbmVudCBvYnNlcnZhdGlvbnMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgY29tcG9uZW50IG9ic2VydmF0aW9uIHN1Y2ggYXMgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBibG9vZCBwcmVzc3VyZS4iIGNvbW1lbnQ9IkZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBiZSBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50Ii8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iSWYgdGhlcmUgaXMgbm8gYSB2YWx1ZSBhIGRhdGEgYWJzZW50IHJlYXNvbiBtdXN0IGJlIHByZXNlbnQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InZhbHVlLmV4aXN0cygpIG9yIGRhdGFBYnNlbnRSZWFzb24uZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVTQ29yZVBlZGlhdHJpY1dlaWdodEZvckhlaWdodE9ic2VydmF0aW9uUHJvZmlsZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vcGVkaWF0cmljLXdlaWdodC1mb3ItaGVpZ2h0IiBsYWJlbD0iVVMgQ29yZSBQZWRpYXRyaWMgV2VpZ2h0IGZvciBIZWlnaHQgT2JzZXJ2YXRpb24gUHJvZmlsZSIgdGFyZ2V0PSJPYnNlcnZhdGlvbiIgcmV0cmlldmFibGU9InRydWUiIHByaW1hcnlDb2RlUGF0aD0iY29kZSIgYmFzZVR5cGU9IlFJQ29yZS5Eb21haW5SZXNvdXJjZSI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgZGVzY3JpcHRpb249IkJ1c2luZXNzIElkZW50aWZpZXIgZm9yIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIHVuaXF1ZSBpZGVudGlmaWVyIGFzc2lnbmVkIHRvIHRoaXMgb2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5JZGVudGlmaWVyIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJhc2VkT24iIGRlc2NyaXB0aW9uPSJGdWxmaWxscyBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciIgZGVmaW5pdGlvbj0iQSBwbGFuLCBwcm9wb3NhbCBvciBvcmRlciB0aGF0IGlzIGZ1bGZpbGxlZCBpbiB3aG9sZSBvciBpbiBwYXJ0IGJ5IHRoaXMgZXZlbnQuICBGb3IgZXhhbXBsZSwgYSBNZWRpY2F0aW9uUmVxdWVzdCBtYXkgcmVxdWlyZSBhIHBhdGllbnQgdG8gaGF2ZSBsYWJvcmF0b3J5IHRlc3QgcGVyZm9ybWVkIGJlZm9yZSAgaXQgaXMgZGlzcGVuc2VkLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhcnRPZiIgZGVzY3JpcHRpb249IlBhcnQgb2YgcmVmZXJlbmNlZCBldmVudCIgZGVmaW5pdGlvbj0iQSBsYXJnZXIgZXZlbnQgb2Ygd2hpY2ggdGhpcyBwYXJ0aWN1bGFyIE9ic2VydmF0aW9uIGlzIGEgY29tcG9uZW50IG9yIHN0ZXAuICBGb3IgZXhhbXBsZSwgIGFuIG9ic2VydmF0aW9uIGFzIHBhcnQgb2YgYSBwcm9jZWR1cmUuIiBjb21tZW50PSJUbyBsaW5rIGFuIE9ic2VydmF0aW9uIHRvIGFuIEVuY291bnRlciB1c2UgYGVuY291bnRlcmAuICBTZWUgdGhlICBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cgZm9yIGd1aWRhbmNlIG9uIHJlZmVyZW5jaW5nIGFub3RoZXIgT2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLlN0YXR1cyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSIoVVNDREkpIHJlZ2lzdGVyZWQgfCBwcmVsaW1pbmFyeSB8IGZpbmFsIHwgYW1lbmRlZCArIiBkZWZpbml0aW9uPSJUaGUgc3RhdHVzIG9mIHRoZSByZXN1bHQgdmFsdWUuIiBjb21tZW50PSJUaGlzIGVsZW1lbnQgaXMgbGFiZWxlZCBhcyBhIG1vZGlmaWVyIGJlY2F1c2UgdGhlIHN0YXR1cyBjb250YWlucyBjb2RlcyB0aGF0IG1hcmsgdGhlIHJlc291cmNlIGFzIG5vdCBjdXJyZW50bHkgdmFsaWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlN0YXR1cyIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9IlZTQ2F0IiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCVwYXJlbnQuY2F0ZWdvcnlbY29kaW5nLnN5c3RlbT0naHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS9vYnNlcnZhdGlvbi1jYXRlZ29yeScsY29kaW5nLmNvZGU9J3ZpdGFsLXNpZ25zJ10pIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBXZWlnaHQtZm9yLWxlbmd0aCBwZXIgYWdlIGFuZCBnZW5kZXIiIGRlZmluaXRpb249IkNvZGVkIFJlc3BvbnNlcyBmcm9tIEMtQ0RBIFZpdGFsIFNpZ24gUmVzdWx0cy4iIGNvbW1lbnQ9IipBbGwqIGNvZGUtdmFsdWUgYW5kLCBpZiBwcmVzZW50LCBjb21wb25lbnQuY29kZS1jb21wb25lbnQudmFsdWUgcGFpcnMgbmVlZCB0byBiZSB0YWtlbiBpbnRvIGFjY291bnQgdG8gY29ycmVjdGx5IHVuZGVyc3RhbmQgdGhlIG1lYW5pbmcgb2YgdGhlIG9ic2VydmF0aW9uLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhlIHZpdGFsIHNpZ24gY29kZXMgZnJvbSB0aGUgYmFzZSBGSElSIGFuZCBVUyBDb3JlIFZpdGFsIFNpZ25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFdobyBhbmQvb3Igd2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQiIGRlZmluaXRpb249IlRoZSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSB0aGlzIG9ic2VydmF0aW9uIGlzIGFib3V0IGFuZCBpbnRvIHdob3NlIHJlY29yZCB0aGUgb2JzZXJ2YXRpb24gaXMgcGxhY2VkLiBJZiB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3ViamVjdCAob3IgYSBzYW1wbGUgb2YsIHBhcnQsIG9yIHJlZ2lvbiBvZiB0aGUgc3ViamVjdCksIHRoZSBgZm9jdXNgIGVsZW1lbnQgb3IgdGhlIGBjb2RlYCBpdHNlbGYgc3BlY2lmaWVzIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25lIHdvdWxkIGV4cGVjdCB0aGlzIGVsZW1lbnQgdG8gYmUgYSBjYXJkaW5hbGl0eSBvZiAxLi4xLiBUaGUgb25seSBjaXJjdW1zdGFuY2UgaW4gd2hpY2ggdGhlIHN1YmplY3QgY2FuIGJlIG1pc3NpbmcgaXMgd2hlbiB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBieSBhIGRldmljZSB0aGF0IGRvZXMgbm90IGtub3cgdGhlIHBhdGllbnQuIEluIHRoaXMgY2FzZSwgdGhlIG9ic2VydmF0aW9uIFNIQUxMIGJlIG1hdGNoZWQgdG8gYSBwYXRpZW50IHRocm91Z2ggc29tZSBjb250ZXh0L2NoYW5uZWwgbWF0Y2hpbmcgdGVjaG5pcXVlLCBhbmQgYXQgdGhpcyBwb2ludCwgdGhlIG9ic2VydmF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLiIgbXVzdFN1cHBvcnQ9InRydWUiLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJmb2N1cyIgZGVzY3JpcHRpb249IldoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0LCB3aGVuIGl0IGlzIG5vdCBhYm91dCB0aGUgc3ViamVjdCBvZiByZWNvcmQiIGRlZmluaXRpb249IlRoZSBhY3R1YWwgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gd2hlbiBpdCBpcyBub3QgdGhlIHBhdGllbnQgb2YgcmVjb3JkIHJlcHJlc2VudGluZyBzb21ldGhpbmcgb3Igc29tZW9uZSBhc3NvY2lhdGVkIHdpdGggdGhlIHBhdGllbnQgc3VjaCBhcyBhIHNwb3VzZSwgcGFyZW50LCBmZXR1cywgb3IgZG9ub3IuIEZvciBleGFtcGxlLCBmZXR1cyBvYnNlcnZhdGlvbnMgaW4gYSBtb3RoZXIncyByZWNvcmQuICBUaGUgZm9jdXMgb2YgYW4gb2JzZXJ2YXRpb24gY291bGQgYWxzbyBiZSBhbiBleGlzdGluZyBjb25kaXRpb24sICBhbiBpbnRlcnZlbnRpb24sIHRoZSBzdWJqZWN0J3MgZGlldCwgIGFub3RoZXIgb2JzZXJ2YXRpb24gb2YgdGhlIHN1YmplY3QsICBvciBhIGJvZHkgc3RydWN0dXJlIHN1Y2ggYXMgdHVtb3Igb3IgaW1wbGFudGVkIGRldmljZS4gICBBbiBleGFtcGxlIHVzZSBjYXNlIHdvdWxkIGJlIHVzaW5nIHRoZSBPYnNlcnZhdGlvbiByZXNvdXJjZSB0byBjYXB0dXJlIHdoZXRoZXIgdGhlIG1vdGhlciBpcyB0cmFpbmVkIHRvIGNoYW5nZSBoZXIgY2hpbGQncyB0cmFjaGVvc3RvbXkgdHViZS4gSW4gdGhpcyBleGFtcGxlLCB0aGUgY2hpbGQgaXMgdGhlIHBhdGllbnQgb2YgcmVjb3JkIGFuZCB0aGUgbW90aGVyIGlzIHRoZSBmb2N1cy4iIGNvbW1lbnQ9IlR5cGljYWxseSwgYW4gb2JzZXJ2YXRpb24gaXMgbWFkZSBhYm91dCB0aGUgc3ViamVjdCAtIGEgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgLSBhbmQgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhlIHN1YmplY3QgYW5kIHdoYXQgaXMgZGlyZWN0bHkgbWVhc3VyZWQgZm9yIGFuIG9ic2VydmF0aW9uIGlzIHNwZWNpZmllZCBpbiB0aGUgb2JzZXJ2YXRpb24gY29kZSBpdHNlbGYgKCBlLmcuLCAmcXVvdDtCbG9vZCBHbHVjb3NlJnF1b3Q7KSBhbmQgZG9lcyBub3QgbmVlZCB0byBiZSByZXByZXNlbnRlZCBzZXBhcmF0ZWx5IHVzaW5nIHRoaXMgZWxlbWVudC4gIFVzZSBgc3BlY2ltZW5gIGlmIGEgcmVmZXJlbmNlIHRvIGEgc3BlY2ltZW4gaXMgcmVxdWlyZWQuICBJZiBhIGNvZGUgaXMgcmVxdWlyZWQgaW5zdGVhZCBvZiBhIHJlc291cmNlIHVzZSBlaXRoZXIgIGBib2R5c2l0ZWAgZm9yIGJvZHlzaXRlcyBvciB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uIFtmb2N1c0NvZGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLW9ic2VydmF0aW9uLWZvY3VzY29kZS5odG1sKS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlbmNvdW50ZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iSGVhbHRoY2FyZSBldmVudCBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlIiBkZWZpbml0aW9uPSJUaGUgaGVhbHRoY2FyZSBldmVudCAgKGUuZy4gYSBwYXRpZW50IGFuZCBoZWFsdGhjYXJlIHByb3ZpZGVyIGludGVyYWN0aW9uKSBkdXJpbmcgd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiBpcyBtYWRlLiIgY29tbWVudD0iVGhpcyB3aWxsIHR5cGljYWxseSBiZSB0aGUgZW5jb3VudGVyIHRoZSBldmVudCBvY2N1cnJlZCB3aXRoaW4sIGJ1dCBzb21lIGV2ZW50cyBtYXkgYmUgaW5pdGlhdGVkIHByaW9yIHRvIG9yIGFmdGVyIHRoZSBvZmZpY2lhbCBjb21wbGV0aW9uIG9mIGFuIGVuY291bnRlciBidXQgc3RpbGwgYmUgdGllZCB0byB0aGUgY29udGV4dCBvZiB0aGUgZW5jb3VudGVyIChlLmcuIHByZS1hZG1pc3Npb24gbGFib3JhdG9yeSB0ZXN0cykuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvVmFsdWUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgT2Z0ZW4ganVzdCBhIGRhdGVUaW1lIGZvciBWaXRhbCBTaWducyIgZGVmaW5pdGlvbj0iT2Z0ZW4ganVzdCBhIGRhdGVUaW1lIGZvciBWaXRhbCBTaWducy4iIGNvbW1lbnQ9IkF0IGxlYXN0IGEgZGF0ZSBzaG91bGQgYmUgcHJlc2VudCB1bmxlc3MgdGhpcyBvYnNlcnZhdGlvbiBpcyBhIGhpc3RvcmljYWwgcmVwb3J0LiAgRm9yIHJlY29yZGluZyBpbXByZWNpc2Ugb3IgJnF1b3Q7ZnV6enkmcXVvdDsgdGltZXMgKEZvciBleGFtcGxlLCBhIGJsb29kIGdsdWNvc2UgbWVhc3VyZW1lbnQgdGFrZW4gJnF1b3Q7YWZ0ZXIgYnJlYWtmYXN0JnF1b3Q7KSB1c2UgdGhlIFtUaW1pbmddKGh0dHA6Ly9obDcub3JnL2ZoaXIvZGF0YXR5cGVzLmh0bWwjdGltaW5nKSBkYXRhdHlwZSB3aGljaCBhbGxvdyB0aGUgbWVhc3VyZW1lbnQgdG8gYmUgdGllZCB0byByZWd1bGFyIGxpZmUgZXZlbnRzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ2cy0xIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9ImlmIE9ic2VydmF0aW9uLmVmZmVjdGl2ZVt4XSBpcyBkYXRlVGltZSBhbmQgaGFzIGEgdmFsdWUgdGhlbiB0aGF0IHZhbHVlIHNoYWxsIGJlIHByZWNpc2UgdG8gdGhlIGRheSI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0iKCR0aGlzIGFzIGRhdGVUaW1lKS50b1N0cmluZygpLmxlbmd0aCgpICZndDs9IDgiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZWQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uRGF0ZVRpbWUiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRGF0ZS9UaW1lIHRoaXMgdmVyc2lvbiB3YXMgbWFkZSBhdmFpbGFibGUiIGRlZmluaXRpb249IlRoZSBkYXRlIGFuZCB0aW1lIHRoaXMgdmVyc2lvbiBvZiB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgYXZhaWxhYmxlIHRvIHByb3ZpZGVycywgdHlwaWNhbGx5IGFmdGVyIHRoZSByZXN1bHRzIGhhdmUgYmVlbiByZXZpZXdlZCBhbmQgdmVyaWZpZWQuIiBjb21tZW50PSJGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG9u4oCZdCByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uLCBpdCBtYXkgYmUgdGhlIHNhbWUgYXMgdGhlIFtgbGFzdFVwZGF0ZWRgIF0oaHR0cDovL2hsNy5vcmcvZmhpci9yZXNvdXJjZS1kZWZpbml0aW9ucy5odG1sI01ldGEubGFzdFVwZGF0ZWQpIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZi4gIEZvciBPYnNlcnZhdGlvbnMgdGhhdCBkbyByZXF1aXJlIHJldmlldyBhbmQgdmVyaWZpY2F0aW9uIGZvciBjZXJ0YWluIHVwZGF0ZXMsIGl0IG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGxhc3RVcGRhdGVkYCB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYgZHVlIHRvIGEgbm9uLWNsaW5pY2FsbHkgc2lnbmlmaWNhbnQgdXBkYXRlIHRoYXQgZG9lc27igJl0IHJlcXVpcmUgdGhlIG5ldyB2ZXJzaW9uIHRvIGJlIHJldmlld2VkIGFuZCB2ZXJpZmllZCBhZ2Fpbi4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJmb3JtZXIiIGRlc2NyaXB0aW9uPSJXaG8gaXMgcmVzcG9uc2libGUgZm9yIHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iV2hvIHdhcyByZXNwb25zaWJsZSBmb3IgYXNzZXJ0aW5nIHRoZSBvYnNlcnZlZCB2YWx1ZSBhcyAmcXVvdDt0cnVlJnF1b3Q7LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIiBlbGVtZW50VHlwZT0iU3lzdGVtLlF1YW50aXR5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvUXVhbnRpdHkoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgVml0YWwgU2lnbnMgVmFsdWUiIGRlZmluaXRpb249IlZpdGFsIFNpZ25zIHZhbHVlIGFyZSB0eXBpY2FsbHkgcmVjb3JkZWQgdXNpbmcgdGhlIFF1YW50aXR5IGRhdGEgdHlwZS4iIGNvbW1lbnQ9IkFuIG9ic2VydmF0aW9uIG1heSBoYXZlOyAxKSAgYSBzaW5nbGUgdmFsdWUgaGVyZSwgMikgIGJvdGggYSB2YWx1ZSBhbmQgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLCAgb3IgMykgIG9ubHkgYSBzZXQgb2YgcmVsYXRlZCBvciBjb21wb25lbnQgdmFsdWVzLiBJZiBhIHZhbHVlIGlzIHByZXNlbnQsIHRoZSBkYXRhdHlwZSBmb3IgdGhpcyBlbGVtZW50IHNob3VsZCBiZSBkZXRlcm1pbmVkIGJ5IE9ic2VydmF0aW9uLmNvZGUuICBBIENvZGVhYmxlQ29uY2VwdCB3aXRoIGp1c3QgYSB0ZXh0IHdvdWxkIGJlIHVzZWQgaW5zdGVhZCBvZiBhIHN0cmluZyBpZiB0aGUgZmllbGQgd2FzIHVzdWFsbHkgY29kZWQsIG9yIGlmIHRoZSB0eXBlIGFzc29jaWF0ZWQgd2l0aCB0aGUgT2JzZXJ2YXRpb24uY29kZSBkZWZpbmVzIGEgY29kZWQgdmFsdWUuICBGb3IgYWRkaXRpb25hbCBndWlkYW5jZSwgc2VlIHRoZSBbTm90ZXMgc2VjdGlvbl0oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkNvbW1vbiBVQ1VNIHVuaXRzIGZvciByZWNvcmRpbmcgVml0YWwgU2lnbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFdoeSB0aGUgcmVzdWx0IGlzIG1pc3NpbmciIGRlZmluaXRpb249IlByb3ZpZGVzIGEgcmVhc29uIHdoeSB0aGUgZXhwZWN0ZWQgdmFsdWUgaW4gdGhlIGVsZW1lbnQgT2JzZXJ2YXRpb24udmFsdWVbeF0gaXMgbWlzc2luZy4iIGNvbW1lbnQ9Ik51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzIGNhbiBiZSByZXByZXNlbnRlZCB0d28gd2F5cyBpbiBGSElSIE9ic2VydmF0aW9ucy4gIE9uZSB3YXkgaXMgdG8gc2ltcGx5IGluY2x1ZGUgdGhlbSBpbiB0aGUgdmFsdWUgc2V0IGFuZCByZXByZXNlbnQgdGhlIGV4Y2VwdGlvbnMgaW4gdGhlIHZhbHVlLiAgRm9yIGV4YW1wbGUsIG1lYXN1cmVtZW50IHZhbHVlcyBmb3IgYSBzZXJvbG9neSB0ZXN0IGNvdWxkIGJlICAmcXVvdDtkZXRlY3RlZCZxdW90OywgJnF1b3Q7bm90IGRldGVjdGVkJnF1b3Q7LCAmcXVvdDtpbmNvbmNsdXNpdmUmcXVvdDssIG9yICAmcXVvdDtzcGVjaW1lbiB1bnNhdGlzZmFjdG9yeSZxdW90Oy4gICAmIzEwOyYjMTA7VGhlIGFsdGVybmF0ZSB3YXkgaXMgdG8gdXNlIHRoZSB2YWx1ZSBlbGVtZW50IGZvciBhY3R1YWwgb2JzZXJ2YXRpb25zIGFuZCB1c2UgdGhlIGV4cGxpY2l0IGRhdGFBYnNlbnRSZWFzb24gZWxlbWVudCB0byByZWNvcmQgZXhjZXB0aW9uYWwgdmFsdWVzLiAgRm9yIGV4YW1wbGUsIHRoZSBkYXRhQWJzZW50UmVhc29uIGNvZGUgJnF1b3Q7ZXJyb3ImcXVvdDsgY291bGQgYmUgdXNlZCB3aGVuIHRoZSBtZWFzdXJlbWVudCB3YXMgbm90IGNvbXBsZXRlZC4gTm90ZSB0aGF0IGFuIG9ic2VydmF0aW9uIG1heSBvbmx5IGJlIHJlcG9ydGVkIGlmIHRoZXJlIGFyZSB2YWx1ZXMgdG8gcmVwb3J0LiBGb3IgZXhhbXBsZSBkaWZmZXJlbnRpYWwgY2VsbCBjb3VudHMgdmFsdWVzIG1heSBiZSByZXBvcnRlZCBvbmx5IHdoZW4gJmd0OyAwLiAgQmVjYXVzZSBvZiB0aGVzZSBvcHRpb25zLCB1c2UtY2FzZSBhZ3JlZW1lbnRzIGFyZSByZXF1aXJlZCB0byBpbnRlcnByZXQgZ2VuZXJhbCBvYnNlcnZhdGlvbnMgZm9yIG51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblZhbHVlQWJzZW50UmVhc29uIiBkZXNjcmlwdGlvbj0iQ29kZXMgc3BlY2lmeWluZyB3aHkgdGhlIHJlc3VsdCAoYE9ic2VydmF0aW9uLnZhbHVlW3hdYCkgaXMgbWlzc2luZy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImludGVycHJldGF0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGlnaCwgbG93LCBub3JtYWwsIGV0Yy4iIGRlZmluaXRpb249IkEgY2F0ZWdvcmljYWwgYXNzZXNzbWVudCBvZiBhbiBvYnNlcnZhdGlvbiB2YWx1ZS4gIEZvciBleGFtcGxlLCBoaWdoLCBsb3csIG5vcm1hbC4iIGNvbW1lbnQ9Ikhpc3RvcmljYWxseSB1c2VkIGZvciBsYWJvcmF0b3J5IHJlc3VsdHMgKGtub3duIGFzICdhYm5vcm1hbCBmbGFnJyApLCAgaXRzIHVzZSBleHRlbmRzIHRvIG90aGVyIHVzZSBjYXNlcyB3aGVyZSBjb2RlZCBpbnRlcnByZXRhdGlvbnMgIGFyZSByZWxldmFudC4gIE9mdGVuIHJlcG9ydGVkIGFzIG9uZSBvciBtb3JlIHNpbXBsZSBjb21wYWN0IGNvZGVzIHRoaXMgZWxlbWVudCBpcyBvZnRlbiBwbGFjZWQgYWRqYWNlbnQgdG8gdGhlIHJlc3VsdCB2YWx1ZSBpbiByZXBvcnRzIGFuZCBmbG93IHNoZWV0cyB0byBzaWduYWwgdGhlIG1lYW5pbmcvbm9ybWFsY3kgc3RhdHVzIG9mIHRoZSByZXN1bHQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uSW50ZXJwcmV0YXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBpbnRlcnByZXRhdGlvbnMgb2Ygb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIG9yIHRoZSByZXN1bHRzLiIgY29tbWVudD0iTWF5IGluY2x1ZGUgZ2VuZXJhbCBzdGF0ZW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiwgb3Igc3RhdGVtZW50cyBhYm91dCBzaWduaWZpY2FudCwgdW5leHBlY3RlZCBvciB1bnJlbGlhYmxlIHJlc3VsdHMgdmFsdWVzLCBvciBpbmZvcm1hdGlvbiBhYm91dCBpdHMgc291cmNlIHdoZW4gcmVsZXZhbnQgdG8gaXRzIGludGVycHJldGF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2JzZXJ2ZWQgYm9keSBwYXJ0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHNpdGUgb24gdGhlIHN1YmplY3QncyBib2R5IHdoZXJlIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSAoaS5lLiB0aGUgdGFyZ2V0IHNpdGUpLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIE9ic2VydmF0aW9uLmNvZGUuICBJbiBtYW55IHN5c3RlbXMsIHRoaXMgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGEgcmVsYXRlZCBvYnNlcnZhdGlvbiBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb21wb25lbnQuICAgJiMxMDsmIzEwO0lmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBCb2R5U2l0ZSB0byBiZSBoYW5kbGVkIGFzIGEgc2VwYXJhdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb25bIGJvZHlTaXRlXShodHRwOi8vaGw3Lm9yZy9maGlyL2V4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBpdCB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWNoYW5pc20gdXNlZCB0byBwZXJmb3JtIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3IgT2JzZXJ2YXRpb24uY29kZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiB1c2VkIGZvciB0aGlzIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2ltZW4gdGhhdCB3YXMgdXNlZCB3aGVuIHRoaXMgb2JzZXJ2YXRpb24gd2FzIG1hZGUuIiBjb21tZW50PSJTaG91bGQgb25seSBiZSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIGBPYnNlcnZhdGlvbi5jb2RlYC4gIE9ic2VydmF0aW9ucyBhcmUgbm90IG1hZGUgb24gc3BlY2ltZW5zIHRoZW1zZWx2ZXM7IHRoZXkgYXJlIG1hZGUgb24gYSBzdWJqZWN0LCBidXQgaW4gbWFueSBjYXNlcyBieSB0aGUgbWVhbnMgb2YgYSBzcGVjaW1lbi4gTm90ZSB0aGF0IGFsdGhvdWdoIHNwZWNpbWVucyBhcmUgb2Z0ZW4gaW52b2x2ZWQsIHRoZXkgYXJlIG5vdCBhbHdheXMgdHJhY2tlZCBhbmQgcmVwb3J0ZWQgZXhwbGljaXRseS4gQWxzbyBub3RlIHRoYXQgb2JzZXJ2YXRpb24gcmVzb3VyY2VzIG1heSBiZSB1c2VkIGluIGNvbnRleHRzIHRoYXQgdHJhY2sgdGhlIHNwZWNpbWVuIGV4cGxpY2l0bHkgKGUuZy4gRGlhZ25vc3RpYyBSZXBvcnQpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRldmljZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoTWVhc3VyZW1lbnQpIERldmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBvYnNlcnZhdGlvbiBkYXRhLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgaXMgbm90IG1lYW50IHRvIHJlcHJlc2VudCBhIGRldmljZSBpbnZvbHZlZCBpbiB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoZSByZXN1bHQsIGUuZy4sIGEgZ2F0ZXdheS4gIFN1Y2ggZGV2aWNlcyBtYXkgYmUgZG9jdW1lbnRlZCB1c2luZyB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZSB3aGVyZSByZWxldmFudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2VSYW5nZSIgZGVzY3JpcHRpb249IlByb3ZpZGVzIGd1aWRlIGZvciBpbnRlcnByZXRhdGlvbiIgZGVmaW5pdGlvbj0iR3VpZGFuY2Ugb24gaG93IHRvIGludGVycHJldCB0aGUgdmFsdWUgYnkgY29tcGFyaXNvbiB0byBhIG5vcm1hbCBvciByZWNvbW1lbmRlZCByYW5nZS4gIE11bHRpcGxlIHJlZmVyZW5jZSByYW5nZXMgYXJlIGludGVycHJldGVkIGFzIGFuICZxdW90O09SJnF1b3Q7LiAgIEluIG90aGVyIHdvcmRzLCB0byByZXByZXNlbnQgdHdvIGRpc3RpbmN0IHRhcmdldCBwb3B1bGF0aW9ucywgdHdvIGByZWZlcmVuY2VSYW5nZWAgZWxlbWVudHMgd291bGQgYmUgdXNlZC4iIGNvbW1lbnQ9Ik1vc3Qgb2JzZXJ2YXRpb25zIG9ubHkgaGF2ZSBvbmUgZ2VuZXJpYyByZWZlcmVuY2UgcmFuZ2UuIFN5c3RlbXMgTUFZIGNob29zZSB0byByZXN0cmljdCB0byBvbmx5IHN1cHBseWluZyB0aGUgcmVsZXZhbnQgcmVmZXJlbmNlIHJhbmdlIGJhc2VkIG9uIGtub3dsZWRnZSBhYm91dCB0aGUgcGF0aWVudCAoZS5nLiwgc3BlY2lmaWMgdG8gdGhlIHBhdGllbnQncyBhZ2UsIGdlbmRlciwgd2VpZ2h0IGFuZCBvdGhlciBmYWN0b3JzKSwgYnV0IHRoaXMgbWlnaHQgbm90IGJlIHBvc3NpYmxlIG9yIGFwcHJvcHJpYXRlLiBXaGVuZXZlciBtb3JlIHRoYW4gb25lIHJlZmVyZW5jZSByYW5nZSBpcyBzdXBwbGllZCwgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlbSBTSE9VTEQgYmUgcHJvdmlkZWQgaW4gdGhlIHJlZmVyZW5jZSByYW5nZSBhbmQvb3IgYWdlIHByb3BlcnRpZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5SZWZlcmVuY2VSYW5nZSIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJvYnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJNdXN0IGhhdmUgYXQgbGVhc3QgYSBsb3cgb3IgYSBoaWdoIG9yIHRleHQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Imxvdy5leGlzdHMoKSBvciBoaWdoLmV4aXN0cygpIG9yIHRleHQuZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJoYXNNZW1iZXIiIGRlc2NyaXB0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIHZpdGFsIHNpZ25zIHBhbmVsIGNvbXBvbmVudHMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cy4iIGNvbW1lbnQ9IldoZW4gdXNpbmcgdGhpcyBlbGVtZW50LCBhbiBvYnNlcnZhdGlvbiB3aWxsIHR5cGljYWxseSBoYXZlIGVpdGhlciBhIHZhbHVlIG9yIGEgc2V0IG9mIHJlbGF0ZWQgcmVzb3VyY2VzLCBhbHRob3VnaCBib3RoIG1heSBiZSBwcmVzZW50IGluIHNvbWUgY2FzZXMuICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4gIE5vdGUgdGhhdCBhIHN5c3RlbSBtYXkgY2FsY3VsYXRlIHJlc3VsdHMgZnJvbSBbUXVlc3Rpb25uYWlyZVJlc3BvbnNlXShodHRwOi8vaGw3Lm9yZy9maGlyL3F1ZXN0aW9ubmFpcmVyZXNwb25zZS5odG1sKSAgaW50byBhIGZpbmFsIHNjb3JlIGFuZCByZXByZXNlbnQgdGhlIHNjb3JlIGFzIGFuIE9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRlcml2ZWRGcm9tIiBkZXNjcmlwdGlvbj0iUmVsYXRlZCBtZWFzdXJlbWVudHMgdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgZnJvbSIgZGVmaW5pdGlvbj0iVGhlIHRhcmdldCByZXNvdXJjZSB0aGF0IHJlcHJlc2VudHMgYSBtZWFzdXJlbWVudCBmcm9tIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gdmFsdWUgaXMgZGVyaXZlZC4gRm9yIGV4YW1wbGUsIGEgY2FsY3VsYXRlZCBhbmlvbiBnYXAgb3IgYSBmZXRhbCBtZWFzdXJlbWVudCBiYXNlZCBvbiBhbiB1bHRyYXNvdW5kIGltYWdlLiIgY29tbWVudD0iQWxsIHRoZSByZWZlcmVuY2UgY2hvaWNlcyB0aGF0IGFyZSBsaXN0ZWQgaW4gdGhpcyBlbGVtZW50IGNhbiByZXByZXNlbnQgY2xpbmljYWwgb2JzZXJ2YXRpb25zIGFuZCBvdGhlciBtZWFzdXJlbWVudHMgdGhhdCBtYXkgYmUgdGhlIHNvdXJjZSBmb3IgYSBkZXJpdmVkIHZhbHVlLiAgVGhlIG1vc3QgY29tbW9uIHJlZmVyZW5jZSB3aWxsIGJlIGFub3RoZXIgT2JzZXJ2YXRpb24uICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb21wb25lbnQiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENvbXBvbmVudCBvYnNlcnZhdGlvbnMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgY29tcG9uZW50IG9ic2VydmF0aW9uIHN1Y2ggYXMgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBibG9vZCBwcmVzc3VyZS4iIGNvbW1lbnQ9IkZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBiZSBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50Ii8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iSWYgdGhlcmUgaXMgbm8gYSB2YWx1ZSBhIGRhdGEgYWJzZW50IHJlYXNvbiBtdXN0IGJlIHByZXNlbnQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InZhbHVlLmV4aXN0cygpIG9yIGRhdGFBYnNlbnRSZWFzb24uZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVTQ29yZVB1bHNlT3hpbWV0cnlQcm9maWxlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLXB1bHNlLW94aW1ldHJ5IiBsYWJlbD0iVVMgQ29yZSBQdWxzZSBPeGltZXRyeSBQcm9maWxlIiB0YXJnZXQ9Ik9ic2VydmF0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IkZ1bGZpbGxzIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIiBkZWZpbml0aW9uPSJBIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBldmVudC4gIEZvciBleGFtcGxlLCBhIE1lZGljYXRpb25SZXF1ZXN0IG1heSByZXF1aXJlIGEgcGF0aWVudCB0byBoYXZlIGxhYm9yYXRvcnkgdGVzdCBwZXJmb3JtZWQgYmVmb3JlICBpdCBpcyBkaXNwZW5zZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iUGFydCBvZiByZWZlcmVuY2VkIGV2ZW50IiBkZWZpbml0aW9uPSJBIGxhcmdlciBldmVudCBvZiB3aGljaCB0aGlzIHBhcnRpY3VsYXIgT2JzZXJ2YXRpb24gaXMgYSBjb21wb25lbnQgb3Igc3RlcC4gIEZvciBleGFtcGxlLCAgYW4gb2JzZXJ2YXRpb24gYXMgcGFydCBvZiBhIHByb2NlZHVyZS4iIGNvbW1lbnQ9IlRvIGxpbmsgYW4gT2JzZXJ2YXRpb24gdG8gYW4gRW5jb3VudGVyIHVzZSBgZW5jb3VudGVyYC4gIFNlZSB0aGUgIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdyBmb3IgZ3VpZGFuY2Ugb24gcmVmZXJlbmNpbmcgYW5vdGhlciBPYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihVU0NESSkgcmVnaXN0ZXJlZCB8IHByZWxpbWluYXJ5IHwgZmluYWwgfCBhbWVuZGVkICsiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHJlc3VsdCB2YWx1ZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU3RhdHVzIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iVlNDYXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXBhcmVudC5jYXRlZ29yeVtjb2Rpbmcuc3lzdGVtPSdodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL29ic2VydmF0aW9uLWNhdGVnb3J5Jyxjb2RpbmcuY29kZT0ndml0YWwtc2lnbnMnXSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIE94eWdlbiBTYXR1cmF0aW9uIGJ5IFB1bHNlIE94aW1ldHJ5IiBkZWZpbml0aW9uPSJDb2RlZCBSZXNwb25zZXMgZnJvbSBDLUNEQSBWaXRhbCBTaWduIFJlc3VsdHMuIiBjb21tZW50PSJUaGUgY29kZSAoNTk0MDgtNSBPeHlnZW4gc2F0dXJhdGlvbiBpbiBBcnRlcmlhbCBibG9vZCBieSBQdWxzZSBveGltZXRyeSkgaXMgaW5jbHVkZWQgYXMgYW4gYWRkaXRpb25hbCBvYnNlcnZhdGlvbiBjb2RlIHRvIEZISVIgQ29yZSB2aXRhbCBPeHlnZW4gU2F0dXJhdGlvbiBjb2RlICgyNzA4LTYgT3h5Z2VuIHNhdHVyYXRpb24gaW4gQXJ0ZXJpYWwgYmxvb2QpLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhlIHZpdGFsIHNpZ24gY29kZXMgZnJvbSB0aGUgYmFzZSBGSElSIGFuZCBVUyBDb3JlIFZpdGFsIFNpZ25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iUHVsc2VPeCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29kZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBDb2RlIGRlZmluZWQgYnkgYSB0ZXJtaW5vbG9neSBzeXN0ZW0iIGRlZmluaXRpb249IkEgcmVmZXJlbmNlIHRvIGEgY29kZSBkZWZpbmVkIGJ5IGEgdGVybWlub2xvZ3kgc3lzdGVtLiIgY29tbWVudD0iQ29kZXMgbWF5IGJlIGRlZmluZWQgdmVyeSBjYXN1YWxseSBpbiBlbnVtZXJhdGlvbnMsIG9yIGNvZGUgbGlzdHMsIHVwIHRvIHZlcnkgZm9ybWFsIGRlZmluaXRpb25zIHN1Y2ggYXMgU05PTUVEIENUIC0gc2VlIHRoZSBITDcgdjMgQ29yZSBQcmluY2lwbGVzIGZvciBtb3JlIGluZm9ybWF0aW9uLiAgT3JkZXJpbmcgb2YgY29kaW5ncyBpcyB1bmRlZmluZWQgYW5kIFNIQUxMIE5PVCBiZSB1c2VkIHRvIGluZmVyIG1lYW5pbmcuIEdlbmVyYWxseSwgYXQgbW9zdCBvbmx5IG9uZSBvZiB0aGUgY29kaW5nIHZhbHVlcyB3aWxsIGJlIGxhYmVsZWQgYXMgVXNlclNlbGVjdGVkID0gdHJ1ZS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iTzJTYXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29kZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvZGUoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgQ29kZSBkZWZpbmVkIGJ5IGEgdGVybWlub2xvZ3kgc3lzdGVtIiBkZWZpbml0aW9uPSJBIHJlZmVyZW5jZSB0byBhIGNvZGUgZGVmaW5lZCBieSBhIHRlcm1pbm9sb2d5IHN5c3RlbS4iIGNvbW1lbnQ9IkNvZGVzIG1heSBiZSBkZWZpbmVkIHZlcnkgY2FzdWFsbHkgaW4gZW51bWVyYXRpb25zLCBvciBjb2RlIGxpc3RzLCB1cCB0byB2ZXJ5IGZvcm1hbCBkZWZpbml0aW9ucyBzdWNoIGFzIFNOT01FRCBDVCAtIHNlZSB0aGUgSEw3IHYzIENvcmUgUHJpbmNpcGxlcyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4gIE9yZGVyaW5nIG9mIGNvZGluZ3MgaXMgdW5kZWZpbmVkIGFuZCBTSEFMTCBOT1QgYmUgdXNlZCB0byBpbmZlciBtZWFuaW5nLiBHZW5lcmFsbHksIGF0IG1vc3Qgb25seSBvbmUgb2YgdGhlIGNvZGluZyB2YWx1ZXMgd2lsbCBiZSBsYWJlbGVkIGFzIFVzZXJTZWxlY3RlZCA9IHRydWUuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBXaG8gYW5kL29yIHdoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0IiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgdGhpcyBvYnNlcnZhdGlvbiBpcyBhYm91dCBhbmQgaW50byB3aG9zZSByZWNvcmQgdGhlIG9ic2VydmF0aW9uIGlzIHBsYWNlZC4gSWYgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24gaXMgZGlmZmVyZW50IGZyb20gdGhlIHN1YmplY3QgKG9yIGEgc2FtcGxlIG9mLCBwYXJ0LCBvciByZWdpb24gb2YgdGhlIHN1YmplY3QpLCB0aGUgYGZvY3VzYCBlbGVtZW50IG9yIHRoZSBgY29kZWAgaXRzZWxmIHNwZWNpZmllcyB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9uZSB3b3VsZCBleHBlY3QgdGhpcyBlbGVtZW50IHRvIGJlIGEgY2FyZGluYWxpdHkgb2YgMS4uMS4gVGhlIG9ubHkgY2lyY3Vtc3RhbmNlIGluIHdoaWNoIHRoZSBzdWJqZWN0IGNhbiBiZSBtaXNzaW5nIGlzIHdoZW4gdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgYnkgYSBkZXZpY2UgdGhhdCBkb2VzIG5vdCBrbm93IHRoZSBwYXRpZW50LiBJbiB0aGlzIGNhc2UsIHRoZSBvYnNlcnZhdGlvbiBTSEFMTCBiZSBtYXRjaGVkIHRvIGEgcGF0aWVudCB0aHJvdWdoIHNvbWUgY29udGV4dC9jaGFubmVsIG1hdGNoaW5nIHRlY2huaXF1ZSwgYW5kIGF0IHRoaXMgcG9pbnQsIHRoZSBvYnNlcnZhdGlvbiBzaG91bGQgYmUgdXBkYXRlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jdXMiIGRlc2NyaXB0aW9uPSJXaGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCwgd2hlbiBpdCBpcyBub3QgYWJvdXQgdGhlIHN1YmplY3Qgb2YgcmVjb3JkIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIHdoZW4gaXQgaXMgbm90IHRoZSBwYXRpZW50IG9mIHJlY29yZCByZXByZXNlbnRpbmcgc29tZXRoaW5nIG9yIHNvbWVvbmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYXRpZW50IHN1Y2ggYXMgYSBzcG91c2UsIHBhcmVudCwgZmV0dXMsIG9yIGRvbm9yLiBGb3IgZXhhbXBsZSwgZmV0dXMgb2JzZXJ2YXRpb25zIGluIGEgbW90aGVyJ3MgcmVjb3JkLiAgVGhlIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIGNvdWxkIGFsc28gYmUgYW4gZXhpc3RpbmcgY29uZGl0aW9uLCAgYW4gaW50ZXJ2ZW50aW9uLCB0aGUgc3ViamVjdCdzIGRpZXQsICBhbm90aGVyIG9ic2VydmF0aW9uIG9mIHRoZSBzdWJqZWN0LCAgb3IgYSBib2R5IHN0cnVjdHVyZSBzdWNoIGFzIHR1bW9yIG9yIGltcGxhbnRlZCBkZXZpY2UuICAgQW4gZXhhbXBsZSB1c2UgY2FzZSB3b3VsZCBiZSB1c2luZyB0aGUgT2JzZXJ2YXRpb24gcmVzb3VyY2UgdG8gY2FwdHVyZSB3aGV0aGVyIHRoZSBtb3RoZXIgaXMgdHJhaW5lZCB0byBjaGFuZ2UgaGVyIGNoaWxkJ3MgdHJhY2hlb3N0b215IHR1YmUuIEluIHRoaXMgZXhhbXBsZSwgdGhlIGNoaWxkIGlzIHRoZSBwYXRpZW50IG9mIHJlY29yZCBhbmQgdGhlIG1vdGhlciBpcyB0aGUgZm9jdXMuIiBjb21tZW50PSJUeXBpY2FsbHksIGFuIG9ic2VydmF0aW9uIGlzIG1hZGUgYWJvdXQgdGhlIHN1YmplY3QgLSBhIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIC0gYW5kIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRoZSBzdWJqZWN0IGFuZCB3aGF0IGlzIGRpcmVjdGx5IG1lYXN1cmVkIGZvciBhbiBvYnNlcnZhdGlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIG9ic2VydmF0aW9uIGNvZGUgaXRzZWxmICggZS5nLiwgJnF1b3Q7Qmxvb2QgR2x1Y29zZSZxdW90OykgYW5kIGRvZXMgbm90IG5lZWQgdG8gYmUgcmVwcmVzZW50ZWQgc2VwYXJhdGVseSB1c2luZyB0aGlzIGVsZW1lbnQuICBVc2UgYHNwZWNpbWVuYCBpZiBhIHJlZmVyZW5jZSB0byBhIHNwZWNpbWVuIGlzIHJlcXVpcmVkLiAgSWYgYSBjb2RlIGlzIHJlcXVpcmVkIGluc3RlYWQgb2YgYSByZXNvdXJjZSB1c2UgZWl0aGVyICBgYm9keXNpdGVgIGZvciBib2R5c2l0ZXMgb3IgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbZm9jdXNDb2RlXShodHRwOi8vaGw3Lm9yZy9maGlyL2V4dGVuc2lvbi1vYnNlcnZhdGlvbi1mb2N1c2NvZGUuaHRtbCkuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkhlYWx0aGNhcmUgZXZlbnQgZHVyaW5nIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gaXMgbWFkZSIgZGVmaW5pdGlvbj0iVGhlIGhlYWx0aGNhcmUgZXZlbnQgIChlLmcuIGEgcGF0aWVudCBhbmQgaGVhbHRoY2FyZSBwcm92aWRlciBpbnRlcmFjdGlvbikgZHVyaW5nIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gaXMgbWFkZS4iIGNvbW1lbnQ9IlRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgdGhlIGVuY291bnRlciB0aGUgZXZlbnQgb2NjdXJyZWQgd2l0aGluLCBidXQgc29tZSBldmVudHMgbWF5IGJlIGluaXRpYXRlZCBwcmlvciB0byBvciBhZnRlciB0aGUgb2ZmaWNpYWwgY29tcGxldGlvbiBvZiBhbiBlbmNvdW50ZXIgYnV0IHN0aWxsIGJlIHRpZWQgdG8gdGhlIGNvbnRleHQgb2YgdGhlIGVuY291bnRlciAoZS5nLiBwcmUtYWRtaXNzaW9uIGxhYm9yYXRvcnkgdGVzdHMpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIE9mdGVuIGp1c3QgYSBkYXRlVGltZSBmb3IgVml0YWwgU2lnbnMiIGRlZmluaXRpb249Ik9mdGVuIGp1c3QgYSBkYXRlVGltZSBmb3IgVml0YWwgU2lnbnMuIiBjb21tZW50PSJBdCBsZWFzdCBhIGRhdGUgc2hvdWxkIGJlIHByZXNlbnQgdW5sZXNzIHRoaXMgb2JzZXJ2YXRpb24gaXMgYSBoaXN0b3JpY2FsIHJlcG9ydC4gIEZvciByZWNvcmRpbmcgaW1wcmVjaXNlIG9yICZxdW90O2Z1enp5JnF1b3Q7IHRpbWVzIChGb3IgZXhhbXBsZSwgYSBibG9vZCBnbHVjb3NlIG1lYXN1cmVtZW50IHRha2VuICZxdW90O2FmdGVyIGJyZWFrZmFzdCZxdW90OykgdXNlIHRoZSBbVGltaW5nXShodHRwOi8vaGw3Lm9yZy9maGlyL2RhdGF0eXBlcy5odG1sI3RpbWluZykgZGF0YXR5cGUgd2hpY2ggYWxsb3cgdGhlIG1lYXN1cmVtZW50IHRvIGJlIHRpZWQgdG8gcmVndWxhciBsaWZlIGV2ZW50cy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMSIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJpZiBPYnNlcnZhdGlvbi5lZmZlY3RpdmVbeF0gaXMgZGF0ZVRpbWUgYW5kIGhhcyBhIHZhbHVlIHRoZW4gdGhhdCB2YWx1ZSBzaGFsbCBiZSBwcmVjaXNlIHRvIHRoZSBkYXkiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249IigkdGhpcyBhcyBkYXRlVGltZSkudG9TdHJpbmcoKS5sZW5ndGgoKSAmZ3Q7PSA4Ii8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaXNzdWVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUvVGltZSB0aGlzIHZlcnNpb24gd2FzIG1hZGUgYXZhaWxhYmxlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGlzIHZlcnNpb24gb2YgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIGF2YWlsYWJsZSB0byBwcm92aWRlcnMsIHR5cGljYWxseSBhZnRlciB0aGUgcmVzdWx0cyBoYXZlIGJlZW4gcmV2aWV3ZWQgYW5kIHZlcmlmaWVkLiIgY29tbWVudD0iRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvbuKAmXQgcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiwgaXQgbWF5IGJlIHRoZSBzYW1lIGFzIHRoZSBbYGxhc3RVcGRhdGVkYCBdKGh0dHA6Ly9obDcub3JnL2ZoaXIvcmVzb3VyY2UtZGVmaW5pdGlvbnMuaHRtbCNNZXRhLmxhc3RVcGRhdGVkKSB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYuICBGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG8gcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiBmb3IgY2VydGFpbiB1cGRhdGVzLCBpdCBtaWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGBsYXN0VXBkYXRlZGAgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmIGR1ZSB0byBhIG5vbi1jbGluaWNhbGx5IHNpZ25pZmljYW50IHVwZGF0ZSB0aGF0IGRvZXNu4oCZdCByZXF1aXJlIHRoZSBuZXcgdmVyc2lvbiB0byBiZSByZXZpZXdlZCBhbmQgdmVyaWZpZWQgYWdhaW4uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IldobyB3YXMgcmVzcG9uc2libGUgZm9yIGFzc2VydGluZyB0aGUgb2JzZXJ2ZWQgdmFsdWUgYXMgJnF1b3Q7dHJ1ZSZxdW90Oy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5RdWFudGl0eSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1F1YW50aXR5KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFZpdGFsIFNpZ25zIFZhbHVlIiBkZWZpbml0aW9uPSJWaXRhbCBTaWducyB2YWx1ZSBhcmUgdHlwaWNhbGx5IHJlY29yZGVkIHVzaW5nIHRoZSBRdWFudGl0eSBkYXRhIHR5cGUuIiBjb21tZW50PSJBbiBvYnNlcnZhdGlvbiBtYXkgaGF2ZTsgMSkgIGEgc2luZ2xlIHZhbHVlIGhlcmUsIDIpICBib3RoIGEgdmFsdWUgYW5kIGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcywgIG9yIDMpICBvbmx5IGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcy4gSWYgYSB2YWx1ZSBpcyBwcmVzZW50LCB0aGUgZGF0YXR5cGUgZm9yIHRoaXMgZWxlbWVudCBzaG91bGQgYmUgZGV0ZXJtaW5lZCBieSBPYnNlcnZhdGlvbi5jb2RlLiAgQSBDb2RlYWJsZUNvbmNlcHQgd2l0aCBqdXN0IGEgdGV4dCB3b3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgYSBzdHJpbmcgaWYgdGhlIGZpZWxkIHdhcyB1c3VhbGx5IGNvZGVkLCBvciBpZiB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhlIE9ic2VydmF0aW9uLmNvZGUgZGVmaW5lcyBhIGNvZGVkIHZhbHVlLiAgRm9yIGFkZGl0aW9uYWwgZ3VpZGFuY2UsIHNlZSB0aGUgW05vdGVzIHNlY3Rpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJDb21tb24gVUNVTSB1bml0cyBmb3IgcmVjb3JkaW5nIFZpdGFsIFNpZ25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YUFic2VudFJlYXNvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBXaHkgdGhlIHJlc3VsdCBpcyBtaXNzaW5nIiBkZWZpbml0aW9uPSJQcm92aWRlcyBhIHJlYXNvbiB3aHkgdGhlIGV4cGVjdGVkIHZhbHVlIGluIHRoZSBlbGVtZW50IE9ic2VydmF0aW9uLnZhbHVlW3hdIGlzIG1pc3NpbmcuIiBjb21tZW50PSJOdWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcyBjYW4gYmUgcmVwcmVzZW50ZWQgdHdvIHdheXMgaW4gRkhJUiBPYnNlcnZhdGlvbnMuICBPbmUgd2F5IGlzIHRvIHNpbXBseSBpbmNsdWRlIHRoZW0gaW4gdGhlIHZhbHVlIHNldCBhbmQgcmVwcmVzZW50IHRoZSBleGNlcHRpb25zIGluIHRoZSB2YWx1ZS4gIEZvciBleGFtcGxlLCBtZWFzdXJlbWVudCB2YWx1ZXMgZm9yIGEgc2Vyb2xvZ3kgdGVzdCBjb3VsZCBiZSAgJnF1b3Q7ZGV0ZWN0ZWQmcXVvdDssICZxdW90O25vdCBkZXRlY3RlZCZxdW90OywgJnF1b3Q7aW5jb25jbHVzaXZlJnF1b3Q7LCBvciAgJnF1b3Q7c3BlY2ltZW4gdW5zYXRpc2ZhY3RvcnkmcXVvdDsuICAgJiMxMDsmIzEwO1RoZSBhbHRlcm5hdGUgd2F5IGlzIHRvIHVzZSB0aGUgdmFsdWUgZWxlbWVudCBmb3IgYWN0dWFsIG9ic2VydmF0aW9ucyBhbmQgdXNlIHRoZSBleHBsaWNpdCBkYXRhQWJzZW50UmVhc29uIGVsZW1lbnQgdG8gcmVjb3JkIGV4Y2VwdGlvbmFsIHZhbHVlcy4gIEZvciBleGFtcGxlLCB0aGUgZGF0YUFic2VudFJlYXNvbiBjb2RlICZxdW90O2Vycm9yJnF1b3Q7IGNvdWxkIGJlIHVzZWQgd2hlbiB0aGUgbWVhc3VyZW1lbnQgd2FzIG5vdCBjb21wbGV0ZWQuIE5vdGUgdGhhdCBhbiBvYnNlcnZhdGlvbiBtYXkgb25seSBiZSByZXBvcnRlZCBpZiB0aGVyZSBhcmUgdmFsdWVzIHRvIHJlcG9ydC4gRm9yIGV4YW1wbGUgZGlmZmVyZW50aWFsIGNlbGwgY291bnRzIHZhbHVlcyBtYXkgYmUgcmVwb3J0ZWQgb25seSB3aGVuICZndDsgMC4gIEJlY2F1c2Ugb2YgdGhlc2Ugb3B0aW9ucywgdXNlLWNhc2UgYWdyZWVtZW50cyBhcmUgcmVxdWlyZWQgdG8gaW50ZXJwcmV0IGdlbmVyYWwgb2JzZXJ2YXRpb25zIGZvciBudWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25WYWx1ZUFic2VudFJlYXNvbiIgZGVzY3JpcHRpb249IkNvZGVzIHNwZWNpZnlpbmcgd2h5IHRoZSByZXN1bHQgKGBPYnNlcnZhdGlvbi52YWx1ZVt4XWApIGlzIG1pc3NpbmcuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbnRlcnByZXRhdGlvbiIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhpZ2gsIGxvdywgbm9ybWFsLCBldGMuIiBkZWZpbml0aW9uPSJBIGNhdGVnb3JpY2FsIGFzc2Vzc21lbnQgb2YgYW4gb2JzZXJ2YXRpb24gdmFsdWUuICBGb3IgZXhhbXBsZSwgaGlnaCwgbG93LCBub3JtYWwuIiBjb21tZW50PSJIaXN0b3JpY2FsbHkgdXNlZCBmb3IgbGFib3JhdG9yeSByZXN1bHRzIChrbm93biBhcyAnYWJub3JtYWwgZmxhZycgKSwgIGl0cyB1c2UgZXh0ZW5kcyB0byBvdGhlciB1c2UgY2FzZXMgd2hlcmUgY29kZWQgaW50ZXJwcmV0YXRpb25zICBhcmUgcmVsZXZhbnQuICBPZnRlbiByZXBvcnRlZCBhcyBvbmUgb3IgbW9yZSBzaW1wbGUgY29tcGFjdCBjb2RlcyB0aGlzIGVsZW1lbnQgaXMgb2Z0ZW4gcGxhY2VkIGFkamFjZW50IHRvIHRoZSByZXN1bHQgdmFsdWUgaW4gcmVwb3J0cyBhbmQgZmxvdyBzaGVldHMgdG8gc2lnbmFsIHRoZSBtZWFuaW5nL25vcm1hbGN5IHN0YXR1cyBvZiB0aGUgcmVzdWx0LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkludGVycHJldGF0aW9uIiBkZXNjcmlwdGlvbj0iQ29kZXMgaWRlbnRpZnlpbmcgaW50ZXJwcmV0YXRpb25zIG9mIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiIGRlc2NyaXB0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiBvciB0aGUgcmVzdWx0cy4iIGNvbW1lbnQ9Ik1heSBpbmNsdWRlIGdlbmVyYWwgc3RhdGVtZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24sIG9yIHN0YXRlbWVudHMgYWJvdXQgc2lnbmlmaWNhbnQsIHVuZXhwZWN0ZWQgb3IgdW5yZWxpYWJsZSByZXN1bHRzIHZhbHVlcywgb3IgaW5mb3JtYXRpb24gYWJvdXQgaXRzIHNvdXJjZSB3aGVuIHJlbGV2YW50IHRvIGl0cyBpbnRlcnByZXRhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLkFubm90YXRpb24iLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYm9keVNpdGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249Ik9ic2VydmVkIGJvZHkgcGFydCIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBzaXRlIG9uIHRoZSBzdWJqZWN0J3MgYm9keSB3aGVyZSB0aGUgb2JzZXJ2YXRpb24gd2FzIG1hZGUgKGkuZS4gdGhlIHRhcmdldCBzaXRlKS4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBPYnNlcnZhdGlvbi5jb2RlLiAgSW4gbWFueSBzeXN0ZW1zLCB0aGlzIG1heSBiZSByZXByZXNlbnRlZCBhcyBhIHJlbGF0ZWQgb2JzZXJ2YXRpb24gaW5zdGVhZCBvZiBhbiBpbmxpbmUgY29tcG9uZW50LiAgICYjMTA7JiMxMDtJZiB0aGUgdXNlIGNhc2UgcmVxdWlyZXMgQm9keVNpdGUgdG8gYmUgaGFuZGxlZCBhcyBhIHNlcGFyYXRlIHJlc291cmNlIChlLmcuIHRvIGlkZW50aWZ5IGFuZCB0cmFjayBzZXBhcmF0ZWx5KSB0aGVuIHVzZSB0aGUgc3RhbmRhcmQgZXh0ZW5zaW9uWyBib2R5U2l0ZV0oaHR0cDovL2hsNy5vcmcvZmhpci9leHRlbnNpb24tYm9keXNpdGUuaHRtbCkuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iQm9keVNpdGUiIGRlc2NyaXB0aW9uPSJDb2RlcyBkZXNjcmliaW5nIGFuYXRvbWljYWwgbG9jYXRpb25zLiBNYXkgaW5jbHVkZSBsYXRlcmFsaXR5LiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibWV0aG9kIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIb3cgaXQgd2FzIGRvbmUiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgbWVjaGFuaXNtIHVzZWQgdG8gcGVyZm9ybSB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm9yIE9ic2VydmF0aW9uLmNvZGUuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25NZXRob2QiIGRlc2NyaXB0aW9uPSJNZXRob2RzIGZvciBzaW1wbGUgb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3BlY2ltZW4iIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iU3BlY2ltZW4gdXNlZCBmb3IgdGhpcyBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iVGhlIHNwZWNpbWVuIHRoYXQgd2FzIHVzZWQgd2hlbiB0aGlzIG9ic2VydmF0aW9uIHdhcyBtYWRlLiIgY29tbWVudD0iU2hvdWxkIG9ubHkgYmUgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3VuZCBpbiBgT2JzZXJ2YXRpb24uY29kZWAuICBPYnNlcnZhdGlvbnMgYXJlIG5vdCBtYWRlIG9uIHNwZWNpbWVucyB0aGVtc2VsdmVzOyB0aGV5IGFyZSBtYWRlIG9uIGEgc3ViamVjdCwgYnV0IGluIG1hbnkgY2FzZXMgYnkgdGhlIG1lYW5zIG9mIGEgc3BlY2ltZW4uIE5vdGUgdGhhdCBhbHRob3VnaCBzcGVjaW1lbnMgYXJlIG9mdGVuIGludm9sdmVkLCB0aGV5IGFyZSBub3QgYWx3YXlzIHRyYWNrZWQgYW5kIHJlcG9ydGVkIGV4cGxpY2l0bHkuIEFsc28gbm90ZSB0aGF0IG9ic2VydmF0aW9uIHJlc291cmNlcyBtYXkgYmUgdXNlZCBpbiBjb250ZXh0cyB0aGF0IHRyYWNrIHRoZSBzcGVjaW1lbiBleHBsaWNpdGx5IChlLmcuIERpYWdub3N0aWMgUmVwb3J0KS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXZpY2UiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKE1lYXN1cmVtZW50KSBEZXZpY2UiIGRlZmluaXRpb249IlRoZSBkZXZpY2UgdXNlZCB0byBnZW5lcmF0ZSB0aGUgb2JzZXJ2YXRpb24gZGF0YS4iIGNvbW1lbnQ9Ik5vdGUgdGhhdCB0aGlzIGlzIG5vdCBtZWFudCB0byByZXByZXNlbnQgYSBkZXZpY2UgaW52b2x2ZWQgaW4gdGhlIHRyYW5zbWlzc2lvbiBvZiB0aGUgcmVzdWx0LCBlLmcuLCBhIGdhdGV3YXkuICBTdWNoIGRldmljZXMgbWF5IGJlIGRvY3VtZW50ZWQgdXNpbmcgdGhlIFByb3ZlbmFuY2UgcmVzb3VyY2Ugd2hlcmUgcmVsZXZhbnQuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icmVmZXJlbmNlUmFuZ2UiIGRlc2NyaXB0aW9uPSJQcm92aWRlcyBndWlkZSBmb3IgaW50ZXJwcmV0YXRpb24iIGRlZmluaXRpb249Ikd1aWRhbmNlIG9uIGhvdyB0byBpbnRlcnByZXQgdGhlIHZhbHVlIGJ5IGNvbXBhcmlzb24gdG8gYSBub3JtYWwgb3IgcmVjb21tZW5kZWQgcmFuZ2UuICBNdWx0aXBsZSByZWZlcmVuY2UgcmFuZ2VzIGFyZSBpbnRlcnByZXRlZCBhcyBhbiAmcXVvdDtPUiZxdW90Oy4gICBJbiBvdGhlciB3b3JkcywgdG8gcmVwcmVzZW50IHR3byBkaXN0aW5jdCB0YXJnZXQgcG9wdWxhdGlvbnMsIHR3byBgcmVmZXJlbmNlUmFuZ2VgIGVsZW1lbnRzIHdvdWxkIGJlIHVzZWQuIiBjb21tZW50PSJNb3N0IG9ic2VydmF0aW9ucyBvbmx5IGhhdmUgb25lIGdlbmVyaWMgcmVmZXJlbmNlIHJhbmdlLiBTeXN0ZW1zIE1BWSBjaG9vc2UgdG8gcmVzdHJpY3QgdG8gb25seSBzdXBwbHlpbmcgdGhlIHJlbGV2YW50IHJlZmVyZW5jZSByYW5nZSBiYXNlZCBvbiBrbm93bGVkZ2UgYWJvdXQgdGhlIHBhdGllbnQgKGUuZy4sIHNwZWNpZmljIHRvIHRoZSBwYXRpZW50J3MgYWdlLCBnZW5kZXIsIHdlaWdodCBhbmQgb3RoZXIgZmFjdG9ycyksIGJ1dCB0aGlzIG1pZ2h0IG5vdCBiZSBwb3NzaWJsZSBvciBhcHByb3ByaWF0ZS4gV2hlbmV2ZXIgbW9yZSB0aGFuIG9uZSByZWZlcmVuY2UgcmFuZ2UgaXMgc3VwcGxpZWQsIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZW0gU0hPVUxEIGJlIHByb3ZpZGVkIGluIHRoZSByZWZlcmVuY2UgcmFuZ2UgYW5kL29yIGFnZSBwcm9wZXJ0aWVzLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uUmVmZXJlbmNlUmFuZ2UiLz4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0ib2JzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iTXVzdCBoYXZlIGF0IGxlYXN0IGEgbG93IG9yIGEgaGlnaCBvciB0ZXh0Ij4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJsb3cuZXhpc3RzKCkgb3IgaGlnaC5leGlzdHMoKSBvciB0ZXh0LmV4aXN0cygpIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaGFzTWVtYmVyIiBkZXNjcmlwdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyB2aXRhbCBzaWducyBwYW5lbCBjb21wb25lbnRzIiBkZWZpbml0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIHZpdGFsIHNpZ25zIHBhbmVsIGNvbXBvbmVudHMuIiBjb21tZW50PSJXaGVuIHVzaW5nIHRoaXMgZWxlbWVudCwgYW4gb2JzZXJ2YXRpb24gd2lsbCB0eXBpY2FsbHkgaGF2ZSBlaXRoZXIgYSB2YWx1ZSBvciBhIHNldCBvZiByZWxhdGVkIHJlc291cmNlcywgYWx0aG91Z2ggYm90aCBtYXkgYmUgcHJlc2VudCBpbiBzb21lIGNhc2VzLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuICBOb3RlIHRoYXQgYSBzeXN0ZW0gbWF5IGNhbGN1bGF0ZSByZXN1bHRzIGZyb20gW1F1ZXN0aW9ubmFpcmVSZXNwb25zZV0oaHR0cDovL2hsNy5vcmcvZmhpci9xdWVzdGlvbm5haXJlcmVzcG9uc2UuaHRtbCkgIGludG8gYSBmaW5hbCBzY29yZSBhbmQgcmVwcmVzZW50IHRoZSBzY29yZSBhcyBhbiBPYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkZXJpdmVkRnJvbSIgZGVzY3JpcHRpb249IlJlbGF0ZWQgbWVhc3VyZW1lbnRzIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGZyb20iIGRlZmluaXRpb249IlRoZSB0YXJnZXQgcmVzb3VyY2UgdGhhdCByZXByZXNlbnRzIGEgbWVhc3VyZW1lbnQgZnJvbSB3aGljaCB0aGlzIG9ic2VydmF0aW9uIHZhbHVlIGlzIGRlcml2ZWQuIEZvciBleGFtcGxlLCBhIGNhbGN1bGF0ZWQgYW5pb24gZ2FwIG9yIGEgZmV0YWwgbWVhc3VyZW1lbnQgYmFzZWQgb24gYW4gdWx0cmFzb3VuZCBpbWFnZS4iIGNvbW1lbnQ9IkFsbCB0aGUgcmVmZXJlbmNlIGNob2ljZXMgdGhhdCBhcmUgbGlzdGVkIGluIHRoaXMgZWxlbWVudCBjYW4gcmVwcmVzZW50IGNsaW5pY2FsIG9ic2VydmF0aW9ucyBhbmQgb3RoZXIgbWVhc3VyZW1lbnRzIHRoYXQgbWF5IGJlIHRoZSBzb3VyY2UgZm9yIGEgZGVyaXZlZCB2YWx1ZS4gIFRoZSBtb3N0IGNvbW1vbiByZWZlcmVuY2Ugd2lsbCBiZSBhbm90aGVyIE9ic2VydmF0aW9uLiAgRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIsIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNvYnNncm91cGluZykgYmVsb3cuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcG9uZW50IiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBVc2VkIHdoZW4gcmVwb3J0aW5nIGZsb3cgcmF0ZXMgb3Igb3h5Z2VuIGNvbmNlbnRyYXRpb24uIiBkZWZpbml0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIGZsb3cgcmF0ZXMgb3Igb3h5Z2VuIGNvbmNlbnRyYXRpb24uIiBjb21tZW50PSJGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYmUgYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJ2cy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IklmIHRoZXJlIGlzIG5vIGEgdmFsdWUgYSBkYXRhIGFic2VudCByZWFzb24gbXVzdCBiZSBwcmVzZW50Ij4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSJ2YWx1ZS5leGlzdHMoKSBvciBkYXRhQWJzZW50UmVhc29uLmV4aXN0cygpIi8+CiAgICAgICAgICAgIDwvY29uc3RyYWludD4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iRmxvd1JhdGUiIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50IiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBJbmhhbGVkIG94eWdlbiBmbG93IHJhdGUiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgY29tcG9uZW50IG9ic2VydmF0aW9uIHN1Y2ggYXMgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBibG9vZCBwcmVzc3VyZS4iIGNvbW1lbnQ9IkZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBiZSBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iSWYgdGhlcmUgaXMgbm8gYSB2YWx1ZSBhIGRhdGEgYWJzZW50IHJlYXNvbiBtdXN0IGJlIHByZXNlbnQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InZhbHVlLmV4aXN0cygpIG9yIGRhdGFBYnNlbnRSZWFzb24uZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJDb25jZW50cmF0aW9uIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLkNvbXBvbmVudCIgZGVzY3JpcHRpb249IihVU0NESSkgSW5oYWxlZCBveHlnZW4gY29uY2VudHJhdGlvbiIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyBjb21wb25lbnQgb2JzZXJ2YXRpb24gc3VjaCBhcyBzeXN0b2xpYyBhbmQgZGlhc3RvbGljIGJsb29kIHByZXNzdXJlLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSBpcyBubyBhIHZhbHVlIGEgZGF0YSBhYnNlbnQgcmVhc29uIG11c3QgYmUgcHJlc2VudCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0idmFsdWUuZXhpc3RzKCkgb3IgZGF0YUFic2VudFJlYXNvbi5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlUmFjZUV4dGVuc2lvbiIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vdXMtY29yZS1yYWNlIiBsYWJlbD0iVVMgQ29yZSBSYWNlIEV4dGVuc2lvbiIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLkV4dGVuc2lvbiI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ib21iQ2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCVwYXJlbnQuZXh0ZW5zaW9uW3VybD0nb21iQ2F0ZWdvcnknXS52YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIEFtZXJpY2FuIEluZGlhbiBvciBBbGFza2EgTmF0aXZlfEFzaWFufEJsYWNrIG9yIEFmcmljYW4gQW1lcmljYW58TmF0aXZlIEhhd2FpaWFuIG9yIE90aGVyIFBhY2lmaWMgSXNsYW5kZXJ8V2hpdGUiIGRlZmluaXRpb249IlRoZSA1IHJhY2UgY2F0ZWdvcnkgY29kZXMgYWNjb3JkaW5nIHRvIHRoZSBbT01CIFN0YW5kYXJkcyBmb3IgTWFpbnRhaW5pbmcsIENvbGxlY3RpbmcsIGFuZCBQcmVzZW50aW5nIEZlZGVyYWwgRGF0YSBvbiBSYWNlIGFuZCBFdGhuaWNpdHksIFN0YXRpc3RpY2FsIFBvbGljeSBEaXJlY3RpdmUgTm8uIDE1LCBhcyByZXZpc2VkLCBPY3RvYmVyIDMwLCAxOTk3XShodHRwczovL3d3dy5nb3ZpbmZvLmdvdi9jb250ZW50L3BrZy9GUi0xOTk3LTEwLTMwL3BkZi85Ny0yODY1My5wZGYpLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvZGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGV0YWlsZWQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db2RlKCVwYXJlbnQuZXh0ZW5zaW9uW3VybD0nZGV0YWlsZWQnXS52YWx1ZSkiIGRlc2NyaXB0aW9uPSJFeHRlbmRlZCByYWNlIGNvZGVzIiBkZWZpbml0aW9uPSJUaGUgOTAwKyBDREMgcmFjZSBjb2RlcyB0aGF0IGFyZSBncm91cGVkIHVuZGVyIG9uZSBvZiB0aGUgNSBPTUIgcmFjZSBjYXRlZ29yeSBjb2RlczouIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db2RlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InRleHQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiVwYXJlbnQuZXh0ZW5zaW9uW3VybD0ndGV4dCddLnZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBSYWNlIFRleHQiIGRlZmluaXRpb249IlBsYWluIHRleHQgcmVwcmVzZW50YXRpb24gb2YgdGhlIHJhY2UgY29uY2VwdChzKS4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idXJsIiBlbGVtZW50VHlwZT0iU3lzdGVtLlN0cmluZyIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJpZGVudGlmaWVzIHRoZSBtZWFuaW5nIG9mIHRoZSBleHRlbnNpb24iIGRlZmluaXRpb249IlNvdXJjZSBvZiB0aGUgZGVmaW5pdGlvbiBmb3IgdGhlIGV4dGVuc2lvbiBjb2RlIC0gYSBsb2dpY2FsIG5hbWUgb3IgYSBVUkwuIiBjb21tZW50PSJUaGUgZGVmaW5pdGlvbiBtYXkgcG9pbnQgZGlyZWN0bHkgdG8gYSBjb21wdXRhYmxlIG9yIGh1bWFuLXJlYWRhYmxlIGRlZmluaXRpb24gb2YgdGhlIGV4dGVuc2liaWxpdHkgY29kZXMsIG9yIGl0IG1heSBiZSBhIGxvZ2ljYWwgVVJJIGFzIGRlY2xhcmVkIGluIHNvbWUgb3RoZXIgc3BlY2lmaWNhdGlvbi4gVGhlIGRlZmluaXRpb24gU0hBTEwgYmUgYSBVUkkgZm9yIHRoZSBTdHJ1Y3R1cmUgRGVmaW5pdGlvbiBkZWZpbmluZyB0aGUgZXh0ZW5zaW9uLiIvPgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlUmVzcGlyYXRvcnlSYXRlUHJvZmlsZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vdXMtY29yZS1yZXNwaXJhdG9yeS1yYXRlIiBsYWJlbD0iVVMgQ29yZSBSZXNwaXJhdG9yeSBSYXRlIFByb2ZpbGUiIHRhcmdldD0iT2JzZXJ2YXRpb24iIHJldHJpZXZhYmxlPSJ0cnVlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiIGJhc2VUeXBlPSJRSUNvcmUuRG9tYWluUmVzb3VyY2UiPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImlkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJCdXNpbmVzcyBJZGVudGlmaWVyIGZvciBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSB1bmlxdWUgaWRlbnRpZmllciBhc3NpZ25lZCB0byB0aGlzIG9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXNlZE9uIiBkZXNjcmlwdGlvbj0iRnVsZmlsbHMgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIiIGRlZmluaXRpb249IkEgcGxhbiwgcHJvcG9zYWwgb3Igb3JkZXIgdGhhdCBpcyBmdWxmaWxsZWQgaW4gd2hvbGUgb3IgaW4gcGFydCBieSB0aGlzIGV2ZW50LiAgRm9yIGV4YW1wbGUsIGEgTWVkaWNhdGlvblJlcXVlc3QgbWF5IHJlcXVpcmUgYSBwYXRpZW50IHRvIGhhdmUgbGFib3JhdG9yeSB0ZXN0IHBlcmZvcm1lZCBiZWZvcmUgIGl0IGlzIGRpc3BlbnNlZC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0T2YiIGRlc2NyaXB0aW9uPSJQYXJ0IG9mIHJlZmVyZW5jZWQgZXZlbnQiIGRlZmluaXRpb249IkEgbGFyZ2VyIGV2ZW50IG9mIHdoaWNoIHRoaXMgcGFydGljdWxhciBPYnNlcnZhdGlvbiBpcyBhIGNvbXBvbmVudCBvciBzdGVwLiAgRm9yIGV4YW1wbGUsICBhbiBvYnNlcnZhdGlvbiBhcyBwYXJ0IG9mIGEgcHJvY2VkdXJlLiIgY29tbWVudD0iVG8gbGluayBhbiBPYnNlcnZhdGlvbiB0byBhbiBFbmNvdW50ZXIgdXNlIGBlbmNvdW50ZXJgLiAgU2VlIHRoZSAgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93IGZvciBndWlkYW5jZSBvbiByZWZlcmVuY2luZyBhbm90aGVyIE9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN0YXR1cyIgZWxlbWVudFR5cGU9IlFJQ29yZS5TdGF0dXMiIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSByZWdpc3RlcmVkIHwgcHJlbGltaW5hcnkgfCBmaW5hbCB8IGFtZW5kZWQgKyIgZGVmaW5pdGlvbj0iVGhlIHN0YXR1cyBvZiB0aGUgcmVzdWx0IHZhbHVlLiIgY29tbWVudD0iVGhpcyBlbGVtZW50IGlzIGxhYmVsZWQgYXMgYSBtb2RpZmllciBiZWNhdXNlIHRoZSBzdGF0dXMgY29udGFpbnMgY29kZXMgdGhhdCBtYXJrIHRoZSByZXNvdXJjZSBhcyBub3QgY3VycmVudGx5IHZhbGlkLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJTdGF0dXMiIHN0cmVuZ3RoPSJSZXF1aXJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJWU0NhdCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCglcGFyZW50LmNhdGVnb3J5W2NvZGluZy5zeXN0ZW09J2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vb2JzZXJ2YXRpb24tY2F0ZWdvcnknLGNvZGluZy5jb2RlPSd2aXRhbC1zaWducyddKSIgZGVzY3JpcHRpb249IihVU0NESSkgQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgUmVzcGlyYXRvcnkgUmF0ZSIgZGVmaW5pdGlvbj0iQ29kZWQgUmVzcG9uc2VzIGZyb20gQy1DREEgVml0YWwgU2lnbiBSZXN1bHRzLiIgY29tbWVudD0iKkFsbCogY29kZS12YWx1ZSBhbmQsIGlmIHByZXNlbnQsIGNvbXBvbmVudC5jb2RlLWNvbXBvbmVudC52YWx1ZSBwYWlycyBuZWVkIHRvIGJlIHRha2VuIGludG8gYWNjb3VudCB0byBjb3JyZWN0bHkgdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGUgdml0YWwgc2lnbiBjb2RlcyBmcm9tIHRoZSBiYXNlIEZISVIgYW5kIFVTIENvcmUgVml0YWwgU2lnbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihVU0NESSkgV2hvIGFuZC9vciB3aGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCIgZGVmaW5pdGlvbj0iVGhlIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIHRoaXMgb2JzZXJ2YXRpb24gaXMgYWJvdXQgYW5kIGludG8gd2hvc2UgcmVjb3JkIHRoZSBvYnNlcnZhdGlvbiBpcyBwbGFjZWQuIElmIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBzdWJqZWN0IChvciBhIHNhbXBsZSBvZiwgcGFydCwgb3IgcmVnaW9uIG9mIHRoZSBzdWJqZWN0KSwgdGhlIGBmb2N1c2AgZWxlbWVudCBvciB0aGUgYGNvZGVgIGl0c2VsZiBzcGVjaWZpZXMgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmUgd291bGQgZXhwZWN0IHRoaXMgZWxlbWVudCB0byBiZSBhIGNhcmRpbmFsaXR5IG9mIDEuLjEuIFRoZSBvbmx5IGNpcmN1bXN0YW5jZSBpbiB3aGljaCB0aGUgc3ViamVjdCBjYW4gYmUgbWlzc2luZyBpcyB3aGVuIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGJ5IGEgZGV2aWNlIHRoYXQgZG9lcyBub3Qga25vdyB0aGUgcGF0aWVudC4gSW4gdGhpcyBjYXNlLCB0aGUgb2JzZXJ2YXRpb24gU0hBTEwgYmUgbWF0Y2hlZCB0byBhIHBhdGllbnQgdGhyb3VnaCBzb21lIGNvbnRleHQvY2hhbm5lbCBtYXRjaGluZyB0ZWNobmlxdWUsIGFuZCBhdCB0aGlzIHBvaW50LCB0aGUgb2JzZXJ2YXRpb24gc2hvdWxkIGJlIHVwZGF0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZvY3VzIiBkZXNjcmlwdGlvbj0iV2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQsIHdoZW4gaXQgaXMgbm90IGFib3V0IHRoZSBzdWJqZWN0IG9mIHJlY29yZCIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiB3aGVuIGl0IGlzIG5vdCB0aGUgcGF0aWVudCBvZiByZWNvcmQgcmVwcmVzZW50aW5nIHNvbWV0aGluZyBvciBzb21lb25lIGFzc29jaWF0ZWQgd2l0aCB0aGUgcGF0aWVudCBzdWNoIGFzIGEgc3BvdXNlLCBwYXJlbnQsIGZldHVzLCBvciBkb25vci4gRm9yIGV4YW1wbGUsIGZldHVzIG9ic2VydmF0aW9ucyBpbiBhIG1vdGhlcidzIHJlY29yZC4gIFRoZSBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiBjb3VsZCBhbHNvIGJlIGFuIGV4aXN0aW5nIGNvbmRpdGlvbiwgIGFuIGludGVydmVudGlvbiwgdGhlIHN1YmplY3QncyBkaWV0LCAgYW5vdGhlciBvYnNlcnZhdGlvbiBvZiB0aGUgc3ViamVjdCwgIG9yIGEgYm9keSBzdHJ1Y3R1cmUgc3VjaCBhcyB0dW1vciBvciBpbXBsYW50ZWQgZGV2aWNlLiAgIEFuIGV4YW1wbGUgdXNlIGNhc2Ugd291bGQgYmUgdXNpbmcgdGhlIE9ic2VydmF0aW9uIHJlc291cmNlIHRvIGNhcHR1cmUgd2hldGhlciB0aGUgbW90aGVyIGlzIHRyYWluZWQgdG8gY2hhbmdlIGhlciBjaGlsZCdzIHRyYWNoZW9zdG9teSB0dWJlLiBJbiB0aGlzIGV4YW1wbGUsIHRoZSBjaGlsZCBpcyB0aGUgcGF0aWVudCBvZiByZWNvcmQgYW5kIHRoZSBtb3RoZXIgaXMgdGhlIGZvY3VzLiIgY29tbWVudD0iVHlwaWNhbGx5LCBhbiBvYnNlcnZhdGlvbiBpcyBtYWRlIGFib3V0IHRoZSBzdWJqZWN0IC0gYSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSAtIGFuZCB0aGUgZGlzdGluY3Rpb24gYmV0d2VlbiB0aGUgc3ViamVjdCBhbmQgd2hhdCBpcyBkaXJlY3RseSBtZWFzdXJlZCBmb3IgYW4gb2JzZXJ2YXRpb24gaXMgc3BlY2lmaWVkIGluIHRoZSBvYnNlcnZhdGlvbiBjb2RlIGl0c2VsZiAoIGUuZy4sICZxdW90O0Jsb29kIEdsdWNvc2UmcXVvdDspIGFuZCBkb2VzIG5vdCBuZWVkIHRvIGJlIHJlcHJlc2VudGVkIHNlcGFyYXRlbHkgdXNpbmcgdGhpcyBlbGVtZW50LiAgVXNlIGBzcGVjaW1lbmAgaWYgYSByZWZlcmVuY2UgdG8gYSBzcGVjaW1lbiBpcyByZXF1aXJlZC4gIElmIGEgY29kZSBpcyByZXF1aXJlZCBpbnN0ZWFkIG9mIGEgcmVzb3VyY2UgdXNlIGVpdGhlciAgYGJvZHlzaXRlYCBmb3IgYm9keXNpdGVzIG9yIHRoZSBzdGFuZGFyZCBleHRlbnNpb24gW2ZvY3VzQ29kZV0oaHR0cDovL2hsNy5vcmcvZmhpci9leHRlbnNpb24tb2JzZXJ2YXRpb24tZm9jdXNjb2RlLmh0bWwpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJIZWFsdGhjYXJlIGV2ZW50IGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUiIGRlZmluaXRpb249IlRoZSBoZWFsdGhjYXJlIGV2ZW50ICAoZS5nLiBhIHBhdGllbnQgYW5kIGhlYWx0aGNhcmUgcHJvdmlkZXIgaW50ZXJhY3Rpb24pIGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgZXZlbnRzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIgKGUuZy4gcHJlLWFkbWlzc2lvbiBsYWJvcmF0b3J5IHRlc3RzKS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zIiBkZWZpbml0aW9uPSJPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zLiIgY29tbWVudD0iQXQgbGVhc3QgYSBkYXRlIHNob3VsZCBiZSBwcmVzZW50IHVubGVzcyB0aGlzIG9ic2VydmF0aW9uIGlzIGEgaGlzdG9yaWNhbCByZXBvcnQuICBGb3IgcmVjb3JkaW5nIGltcHJlY2lzZSBvciAmcXVvdDtmdXp6eSZxdW90OyB0aW1lcyAoRm9yIGV4YW1wbGUsIGEgYmxvb2QgZ2x1Y29zZSBtZWFzdXJlbWVudCB0YWtlbiAmcXVvdDthZnRlciBicmVha2Zhc3QmcXVvdDspIHVzZSB0aGUgW1RpbWluZ10oaHR0cDovL2hsNy5vcmcvZmhpci9kYXRhdHlwZXMuaHRtbCN0aW1pbmcpIGRhdGF0eXBlIHdoaWNoIGFsbG93IHRoZSBtZWFzdXJlbWVudCB0byBiZSB0aWVkIHRvIHJlZ3VsYXIgbGlmZSBldmVudHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTEiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iaWYgT2JzZXJ2YXRpb24uZWZmZWN0aXZlW3hdIGlzIGRhdGVUaW1lIGFuZCBoYXMgYSB2YWx1ZSB0aGVuIHRoYXQgdmFsdWUgc2hhbGwgYmUgcHJlY2lzZSB0byB0aGUgZGF5Ij4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIoJHRoaXMgYXMgZGF0ZVRpbWUpLnRvU3RyaW5nKCkubGVuZ3RoKCkgJmd0Oz0gOCIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imlzc3VlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEYXRlL1RpbWUgdGhpcyB2ZXJzaW9uIHdhcyBtYWRlIGF2YWlsYWJsZSIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgYW5kIHRpbWUgdGhpcyB2ZXJzaW9uIG9mIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSBhdmFpbGFibGUgdG8gcHJvdmlkZXJzLCB0eXBpY2FsbHkgYWZ0ZXIgdGhlIHJlc3VsdHMgaGF2ZSBiZWVuIHJldmlld2VkIGFuZCB2ZXJpZmllZC4iIGNvbW1lbnQ9IkZvciBPYnNlcnZhdGlvbnMgdGhhdCBkb27igJl0IHJlcXVpcmUgcmV2aWV3IGFuZCB2ZXJpZmljYXRpb24sIGl0IG1heSBiZSB0aGUgc2FtZSBhcyB0aGUgW2BsYXN0VXBkYXRlZGAgXShodHRwOi8vaGw3Lm9yZy9maGlyL3Jlc291cmNlLWRlZmluaXRpb25zLmh0bWwjTWV0YS5sYXN0VXBkYXRlZCkgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmLiAgRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvIHJlcXVpcmUgcmV2aWV3IGFuZCB2ZXJpZmljYXRpb24gZm9yIGNlcnRhaW4gdXBkYXRlcywgaXQgbWlnaHQgbm90IGJlIHRoZSBzYW1lIGFzIHRoZSBgbGFzdFVwZGF0ZWRgIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZiBkdWUgdG8gYSBub24tY2xpbmljYWxseSBzaWduaWZpY2FudCB1cGRhdGUgdGhhdCBkb2VzbuKAmXQgcmVxdWlyZSB0aGUgbmV3IHZlcnNpb24gdG8gYmUgcmV2aWV3ZWQgYW5kIHZlcmlmaWVkIGFnYWluLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IldobyBpcyByZXNwb25zaWJsZSBmb3IgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJXaG8gd2FzIHJlc3BvbnNpYmxlIGZvciBhc3NlcnRpbmcgdGhlIG9ic2VydmVkIHZhbHVlIGFzICZxdW90O3RydWUmcXVvdDsuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uUXVhbnRpdHkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBWaXRhbCBTaWducyBWYWx1ZSIgZGVmaW5pdGlvbj0iVml0YWwgU2lnbnMgdmFsdWUgYXJlIHR5cGljYWxseSByZWNvcmRlZCB1c2luZyB0aGUgUXVhbnRpdHkgZGF0YSB0eXBlLiIgY29tbWVudD0iQW4gb2JzZXJ2YXRpb24gbWF5IGhhdmU7IDEpICBhIHNpbmdsZSB2YWx1ZSBoZXJlLCAyKSAgYm90aCBhIHZhbHVlIGFuZCBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMsICBvciAzKSAgb25seSBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMuIElmIGEgdmFsdWUgaXMgcHJlc2VudCwgdGhlIGRhdGF0eXBlIGZvciB0aGlzIGVsZW1lbnQgc2hvdWxkIGJlIGRldGVybWluZWQgYnkgT2JzZXJ2YXRpb24uY29kZS4gIEEgQ29kZWFibGVDb25jZXB0IHdpdGgganVzdCBhIHRleHQgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGlmIHRoZSBmaWVsZCB3YXMgdXN1YWxseSBjb2RlZCwgb3IgaWYgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBPYnNlcnZhdGlvbi5jb2RlIGRlZmluZXMgYSBjb2RlZCB2YWx1ZS4gIEZvciBhZGRpdGlvbmFsIGd1aWRhbmNlLCBzZWUgdGhlIFtOb3RlcyBzZWN0aW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iQ29tbW9uIFVDVU0gdW5pdHMgZm9yIHJlY29yZGluZyBWaXRhbCBTaWducy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGFBYnNlbnRSZWFzb24iIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgV2h5IHRoZSByZXN1bHQgaXMgbWlzc2luZyIgZGVmaW5pdGlvbj0iUHJvdmlkZXMgYSByZWFzb24gd2h5IHRoZSBleHBlY3RlZCB2YWx1ZSBpbiB0aGUgZWxlbWVudCBPYnNlcnZhdGlvbi52YWx1ZVt4XSBpcyBtaXNzaW5nLiIgY29tbWVudD0iTnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMgY2FuIGJlIHJlcHJlc2VudGVkIHR3byB3YXlzIGluIEZISVIgT2JzZXJ2YXRpb25zLiAgT25lIHdheSBpcyB0byBzaW1wbHkgaW5jbHVkZSB0aGVtIGluIHRoZSB2YWx1ZSBzZXQgYW5kIHJlcHJlc2VudCB0aGUgZXhjZXB0aW9ucyBpbiB0aGUgdmFsdWUuICBGb3IgZXhhbXBsZSwgbWVhc3VyZW1lbnQgdmFsdWVzIGZvciBhIHNlcm9sb2d5IHRlc3QgY291bGQgYmUgICZxdW90O2RldGVjdGVkJnF1b3Q7LCAmcXVvdDtub3QgZGV0ZWN0ZWQmcXVvdDssICZxdW90O2luY29uY2x1c2l2ZSZxdW90Oywgb3IgICZxdW90O3NwZWNpbWVuIHVuc2F0aXNmYWN0b3J5JnF1b3Q7LiAgICYjMTA7JiMxMDtUaGUgYWx0ZXJuYXRlIHdheSBpcyB0byB1c2UgdGhlIHZhbHVlIGVsZW1lbnQgZm9yIGFjdHVhbCBvYnNlcnZhdGlvbnMgYW5kIHVzZSB0aGUgZXhwbGljaXQgZGF0YUFic2VudFJlYXNvbiBlbGVtZW50IHRvIHJlY29yZCBleGNlcHRpb25hbCB2YWx1ZXMuICBGb3IgZXhhbXBsZSwgdGhlIGRhdGFBYnNlbnRSZWFzb24gY29kZSAmcXVvdDtlcnJvciZxdW90OyBjb3VsZCBiZSB1c2VkIHdoZW4gdGhlIG1lYXN1cmVtZW50IHdhcyBub3QgY29tcGxldGVkLiBOb3RlIHRoYXQgYW4gb2JzZXJ2YXRpb24gbWF5IG9ubHkgYmUgcmVwb3J0ZWQgaWYgdGhlcmUgYXJlIHZhbHVlcyB0byByZXBvcnQuIEZvciBleGFtcGxlIGRpZmZlcmVudGlhbCBjZWxsIGNvdW50cyB2YWx1ZXMgbWF5IGJlIHJlcG9ydGVkIG9ubHkgd2hlbiAmZ3Q7IDAuICBCZWNhdXNlIG9mIHRoZXNlIG9wdGlvbnMsIHVzZS1jYXNlIGFncmVlbWVudHMgYXJlIHJlcXVpcmVkIHRvIGludGVycHJldCBnZW5lcmFsIG9ic2VydmF0aW9ucyBmb3IgbnVsbCBvciBleGNlcHRpb25hbCB2YWx1ZXMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uVmFsdWVBYnNlbnRSZWFzb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBzcGVjaWZ5aW5nIHdoeSB0aGUgcmVzdWx0IChgT2JzZXJ2YXRpb24udmFsdWVbeF1gKSBpcyBtaXNzaW5nLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZXJwcmV0YXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJIaWdoLCBsb3csIG5vcm1hbCwgZXRjLiIgZGVmaW5pdGlvbj0iQSBjYXRlZ29yaWNhbCBhc3Nlc3NtZW50IG9mIGFuIG9ic2VydmF0aW9uIHZhbHVlLiAgRm9yIGV4YW1wbGUsIGhpZ2gsIGxvdywgbm9ybWFsLiIgY29tbWVudD0iSGlzdG9yaWNhbGx5IHVzZWQgZm9yIGxhYm9yYXRvcnkgcmVzdWx0cyAoa25vd24gYXMgJ2Fibm9ybWFsIGZsYWcnICksICBpdHMgdXNlIGV4dGVuZHMgdG8gb3RoZXIgdXNlIGNhc2VzIHdoZXJlIGNvZGVkIGludGVycHJldGF0aW9ucyAgYXJlIHJlbGV2YW50LiAgT2Z0ZW4gcmVwb3J0ZWQgYXMgb25lIG9yIG1vcmUgc2ltcGxlIGNvbXBhY3QgY29kZXMgdGhpcyBlbGVtZW50IGlzIG9mdGVuIHBsYWNlZCBhZGphY2VudCB0byB0aGUgcmVzdWx0IHZhbHVlIGluIHJlcG9ydHMgYW5kIGZsb3cgc2hlZXRzIHRvIHNpZ25hbCB0aGUgbWVhbmluZy9ub3JtYWxjeSBzdGF0dXMgb2YgdGhlIHJlc3VsdC4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25JbnRlcnByZXRhdGlvbiIgZGVzY3JpcHRpb249IkNvZGVzIGlkZW50aWZ5aW5nIGludGVycHJldGF0aW9ucyBvZiBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJub3RlIiBkZXNjcmlwdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJDb21tZW50cyBhYm91dCB0aGUgb2JzZXJ2YXRpb24gb3IgdGhlIHJlc3VsdHMuIiBjb21tZW50PSJNYXkgaW5jbHVkZSBnZW5lcmFsIHN0YXRlbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uLCBvciBzdGF0ZW1lbnRzIGFib3V0IHNpZ25pZmljYW50LCB1bmV4cGVjdGVkIG9yIHVucmVsaWFibGUgcmVzdWx0cyB2YWx1ZXMsIG9yIGluZm9ybWF0aW9uIGFib3V0IGl0cyBzb3VyY2Ugd2hlbiByZWxldmFudCB0byBpdHMgaW50ZXJwcmV0YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImJvZHlTaXRlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJPYnNlcnZlZCBib2R5IHBhcnQiIGRlZmluaXRpb249IkluZGljYXRlcyB0aGUgc2l0ZSBvbiB0aGUgc3ViamVjdCdzIGJvZHkgd2hlcmUgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIChpLmUuIHRoZSB0YXJnZXQgc2l0ZSkuIiBjb21tZW50PSJPbmx5IHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gT2JzZXJ2YXRpb24uY29kZS4gIEluIG1hbnkgc3lzdGVtcywgdGhpcyBtYXkgYmUgcmVwcmVzZW50ZWQgYXMgYSByZWxhdGVkIG9ic2VydmF0aW9uIGluc3RlYWQgb2YgYW4gaW5saW5lIGNvbXBvbmVudC4gICAmIzEwOyYjMTA7SWYgdGhlIHVzZSBjYXNlIHJlcXVpcmVzIEJvZHlTaXRlIHRvIGJlIGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSByZXNvdXJjZSAoZS5nLiB0byBpZGVudGlmeSBhbmQgdHJhY2sgc2VwYXJhdGVseSkgdGhlbiB1c2UgdGhlIHN0YW5kYXJkIGV4dGVuc2lvblsgYm9keVNpdGVdKGh0dHA6Ly9obDcub3JnL2ZoaXIvZXh0ZW5zaW9uLWJvZHlzaXRlLmh0bWwpLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IkJvZHlTaXRlIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyBhbmF0b21pY2FsIGxvY2F0aW9ucy4gTWF5IGluY2x1ZGUgbGF0ZXJhbGl0eS4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSG93IGl0IHdhcyBkb25lIiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIG1lY2hhbmlzbSB1c2VkIHRvIHBlcmZvcm0gdGhlIG9ic2VydmF0aW9uLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvciBPYnNlcnZhdGlvbi5jb2RlLiI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uTWV0aG9kIiBkZXNjcmlwdGlvbj0iTWV0aG9kcyBmb3Igc2ltcGxlIG9ic2VydmF0aW9ucy4iIHN0cmVuZ3RoPSJFeGFtcGxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InNwZWNpbWVuIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IlNwZWNpbWVuIHVzZWQgZm9yIHRoaXMgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IlRoZSBzcGVjaW1lbiB0aGF0IHdhcyB1c2VkIHdoZW4gdGhpcyBvYnNlcnZhdGlvbiB3YXMgbWFkZS4iIGNvbW1lbnQ9IlNob3VsZCBvbmx5IGJlIHVzZWQgaWYgbm90IGltcGxpY2l0IGluIGNvZGUgZm91bmQgaW4gYE9ic2VydmF0aW9uLmNvZGVgLiAgT2JzZXJ2YXRpb25zIGFyZSBub3QgbWFkZSBvbiBzcGVjaW1lbnMgdGhlbXNlbHZlczsgdGhleSBhcmUgbWFkZSBvbiBhIHN1YmplY3QsIGJ1dCBpbiBtYW55IGNhc2VzIGJ5IHRoZSBtZWFucyBvZiBhIHNwZWNpbWVuLiBOb3RlIHRoYXQgYWx0aG91Z2ggc3BlY2ltZW5zIGFyZSBvZnRlbiBpbnZvbHZlZCwgdGhleSBhcmUgbm90IGFsd2F5cyB0cmFja2VkIGFuZCByZXBvcnRlZCBleHBsaWNpdGx5LiBBbHNvIG5vdGUgdGhhdCBvYnNlcnZhdGlvbiByZXNvdXJjZXMgbWF5IGJlIHVzZWQgaW4gY29udGV4dHMgdGhhdCB0cmFjayB0aGUgc3BlY2ltZW4gZXhwbGljaXRseSAoZS5nLiBEaWFnbm9zdGljIFJlcG9ydCkuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihNZWFzdXJlbWVudCkgRGV2aWNlIiBkZWZpbml0aW9uPSJUaGUgZGV2aWNlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIG9ic2VydmF0aW9uIGRhdGEuIiBjb21tZW50PSJOb3RlIHRoYXQgdGhpcyBpcyBub3QgbWVhbnQgdG8gcmVwcmVzZW50IGEgZGV2aWNlIGludm9sdmVkIGluIHRoZSB0cmFuc21pc3Npb24gb2YgdGhlIHJlc3VsdCwgZS5nLiwgYSBnYXRld2F5LiAgU3VjaCBkZXZpY2VzIG1heSBiZSBkb2N1bWVudGVkIHVzaW5nIHRoZSBQcm92ZW5hbmNlIHJlc291cmNlIHdoZXJlIHJlbGV2YW50LiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVyZW5jZVJhbmdlIiBkZXNjcmlwdGlvbj0iUHJvdmlkZXMgZ3VpZGUgZm9yIGludGVycHJldGF0aW9uIiBkZWZpbml0aW9uPSJHdWlkYW5jZSBvbiBob3cgdG8gaW50ZXJwcmV0IHRoZSB2YWx1ZSBieSBjb21wYXJpc29uIHRvIGEgbm9ybWFsIG9yIHJlY29tbWVuZGVkIHJhbmdlLiAgTXVsdGlwbGUgcmVmZXJlbmNlIHJhbmdlcyBhcmUgaW50ZXJwcmV0ZWQgYXMgYW4gJnF1b3Q7T1ImcXVvdDsuICAgSW4gb3RoZXIgd29yZHMsIHRvIHJlcHJlc2VudCB0d28gZGlzdGluY3QgdGFyZ2V0IHBvcHVsYXRpb25zLCB0d28gYHJlZmVyZW5jZVJhbmdlYCBlbGVtZW50cyB3b3VsZCBiZSB1c2VkLiIgY29tbWVudD0iTW9zdCBvYnNlcnZhdGlvbnMgb25seSBoYXZlIG9uZSBnZW5lcmljIHJlZmVyZW5jZSByYW5nZS4gU3lzdGVtcyBNQVkgY2hvb3NlIHRvIHJlc3RyaWN0IHRvIG9ubHkgc3VwcGx5aW5nIHRoZSByZWxldmFudCByZWZlcmVuY2UgcmFuZ2UgYmFzZWQgb24ga25vd2xlZGdlIGFib3V0IHRoZSBwYXRpZW50IChlLmcuLCBzcGVjaWZpYyB0byB0aGUgcGF0aWVudCdzIGFnZSwgZ2VuZGVyLCB3ZWlnaHQgYW5kIG90aGVyIGZhY3RvcnMpLCBidXQgdGhpcyBtaWdodCBub3QgYmUgcG9zc2libGUgb3IgYXBwcm9wcmlhdGUuIFdoZW5ldmVyIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlIHJhbmdlIGlzIHN1cHBsaWVkLCB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGVtIFNIT1VMRCBiZSBwcm92aWRlZCBpbiB0aGUgcmVmZXJlbmNlIHJhbmdlIGFuZC9vciBhZ2UgcHJvcGVydGllcy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLk9ic2VydmF0aW9uLlJlZmVyZW5jZVJhbmdlIi8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9Im9icy0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9Ik11c3QgaGF2ZSBhdCBsZWFzdCBhIGxvdyBvciBhIGhpZ2ggb3IgdGV4dCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0ibG93LmV4aXN0cygpIG9yIGhpZ2guZXhpc3RzKCkgb3IgdGV4dC5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imhhc01lbWJlciIgZGVzY3JpcHRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cyIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyB2aXRhbCBzaWducyBwYW5lbCBjb21wb25lbnRzLiIgY29tbWVudD0iV2hlbiB1c2luZyB0aGlzIGVsZW1lbnQsIGFuIG9ic2VydmF0aW9uIHdpbGwgdHlwaWNhbGx5IGhhdmUgZWl0aGVyIGEgdmFsdWUgb3IgYSBzZXQgb2YgcmVsYXRlZCByZXNvdXJjZXMsIGFsdGhvdWdoIGJvdGggbWF5IGJlIHByZXNlbnQgaW4gc29tZSBjYXNlcy4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiAgTm90ZSB0aGF0IGEgc3lzdGVtIG1heSBjYWxjdWxhdGUgcmVzdWx0cyBmcm9tIFtRdWVzdGlvbm5haXJlUmVzcG9uc2VdKGh0dHA6Ly9obDcub3JnL2ZoaXIvcXVlc3Rpb25uYWlyZXJlc3BvbnNlLmh0bWwpICBpbnRvIGEgZmluYWwgc2NvcmUgYW5kIHJlcHJlc2VudCB0aGUgc2NvcmUgYXMgYW4gT2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIG1lYXN1cmVtZW50cyB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIG1lYXN1cmVtZW50IGZyb20gd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiB2YWx1ZSBpcyBkZXJpdmVkLiBGb3IgZXhhbXBsZSwgYSBjYWxjdWxhdGVkIGFuaW9uIGdhcCBvciBhIGZldGFsIG1lYXN1cmVtZW50IGJhc2VkIG9uIGFuIHVsdHJhc291bmQgaW1hZ2UuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbXBvbmVudCIgZGVzY3JpcHRpb249IihVU0NESSkgQ29tcG9uZW50IG9ic2VydmF0aW9ucyIgZGVmaW5pdGlvbj0iVXNlZCB3aGVuIHJlcG9ydGluZyBjb21wb25lbnQgb2JzZXJ2YXRpb24gc3VjaCBhcyBzeXN0b2xpYyBhbmQgZGlhc3RvbGljIGJsb29kIHByZXNzdXJlLiIgY29tbWVudD0iRm9yIGEgZGlzY3Vzc2lvbiBvbiB0aGUgd2F5cyBPYnNlcnZhdGlvbnMgY2FuIGJlIGFzc2VtYmxlZCBpbiBncm91cHMgdG9nZXRoZXIgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI25vdGVzKSBiZWxvdy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5Db21wb25lbnQiLz4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJJZiB0aGVyZSBpcyBubyBhIHZhbHVlIGEgZGF0YSBhYnNlbnQgcmVhc29uIG11c3QgYmUgcHJlc2VudCI+CiAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsYW5ndWFnZT0idGV4dC9maGlycGF0aCIgZXhwcmVzc2lvbj0idmFsdWUuZXhpc3RzKCkgb3IgZGF0YUFic2VudFJlYXNvbi5leGlzdHMoKSIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlU2V4RXh0ZW5zaW9uIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLXNleCIgbGFiZWw9IlVTIENvcmUgU2V4IEV4dGVuc2lvbiIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLlN0cmluZyIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJVU0NvcmVTbW9raW5nU3RhdHVzUHJvZmlsZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vdXMtY29yZS1zbW9raW5nc3RhdHVzIiBsYWJlbD0iVVMgQ29yZSBTbW9raW5nIFN0YXR1cyBPYnNlcnZhdGlvbiBQcm9maWxlIiB0YXJnZXQ9Ik9ic2VydmF0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IkZ1bGZpbGxzIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIiBkZWZpbml0aW9uPSJBIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBldmVudC4gIEZvciBleGFtcGxlLCBhIE1lZGljYXRpb25SZXF1ZXN0IG1heSByZXF1aXJlIGEgcGF0aWVudCB0byBoYXZlIGxhYm9yYXRvcnkgdGVzdCBwZXJmb3JtZWQgYmVmb3JlICBpdCBpcyBkaXNwZW5zZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iUGFydCBvZiByZWZlcmVuY2VkIGV2ZW50IiBkZWZpbml0aW9uPSJBIGxhcmdlciBldmVudCBvZiB3aGljaCB0aGlzIHBhcnRpY3VsYXIgT2JzZXJ2YXRpb24gaXMgYSBjb21wb25lbnQgb3Igc3RlcC4gIEZvciBleGFtcGxlLCAgYW4gb2JzZXJ2YXRpb24gYXMgcGFydCBvZiBhIHByb2NlZHVyZS4iIGNvbW1lbnQ9IlRvIGxpbmsgYW4gT2JzZXJ2YXRpb24gdG8gYW4gRW5jb3VudGVyIHVzZSBgZW5jb3VudGVyYC4gIFNlZSB0aGUgIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdyBmb3IgZ3VpZGFuY2Ugb24gcmVmZXJlbmNpbmcgYW5vdGhlciBPYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uU3RyaW5nIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihVU0NESSkgcmVnaXN0ZXJlZCB8IHByZWxpbWluYXJ5IHwgZmluYWwgfCBhbWVuZGVkICsiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHJlc3VsdCB2YWx1ZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNhdGVnb3J5IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBDbGFzc2lmaWNhdGlvbiBvZiAgdHlwZSBvZiBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgY2xhc3NpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIG9ic2VydmF0aW9uIGJlaW5nIG1hZGUuIiBjb21tZW50PSJJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZWQgY2F0ZWdvcnkgdmFsdWVzZXQsIHRoaXMgZWxlbWVudCBhbGxvd3MgdmFyaW91cyBjYXRlZ29yaXphdGlvbiBzY2hlbWVzIGJhc2VkIG9uIHRoZSBvd25lcuKAmXMgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgYW5kIGVmZmVjdGl2ZWx5IG11bHRpcGxlIGNhdGVnb3JpZXMgY2FuIGJlIHVzZWQgYXQgb25jZS4gIFRoZSBsZXZlbCBvZiBncmFudWxhcml0eSBpcyBkZWZpbmVkIGJ5IHRoZSBjYXRlZ29yeSBjb25jZXB0cyBpbiB0aGUgdmFsdWUgc2V0LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9IlNvY2lhbEhpc3RvcnkiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgQ2xhc3NpZmljYXRpb24gb2YgIHR5cGUgb2Ygb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgY29kZSB0aGF0IGNsYXNzaWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBvYnNlcnZhdGlvbiBiZWluZyBtYWRlLiIgY29tbWVudD0iSW4gYWRkaXRpb24gdG8gdGhlIHJlcXVpcmVkIGNhdGVnb3J5IHZhbHVlc2V0LCB0aGlzIGVsZW1lbnQgYWxsb3dzIHZhcmlvdXMgY2F0ZWdvcml6YXRpb24gc2NoZW1lcyBiYXNlZCBvbiB0aGUgb3duZXLigJlzIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IGFuZCBlZmZlY3RpdmVseSBtdWx0aXBsZSBjYXRlZ29yaWVzIGNhbiBiZSB1c2VkIGF0IG9uY2UuICBUaGUgbGV2ZWwgb2YgZ3JhbnVsYXJpdHkgaXMgZGVmaW5lZCBieSB0aGUgY2F0ZWdvcnkgY29uY2VwdHMgaW4gdGhlIHZhbHVlIHNldC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iT2JzZXJ2YXRpb25DYXRlZ29yeSIgZGVzY3JpcHRpb249IkNvZGVzIGZvciBoaWdoIGxldmVsIG9ic2VydmF0aW9uIGNhdGVnb3JpZXMuIiBzdHJlbmd0aD0iUHJlZmVycmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgU21va2luZyBTdGF0dXMiIGRlZmluaXRpb249IkRlc2NyaWJlcyB3aGF0IHdhcyBvYnNlcnZlZC4gU29tZXRpbWVzIHRoaXMgaXMgY2FsbGVkIHRoZSBvYnNlcnZhdGlvbiAmcXVvdDtuYW1lJnF1b3Q7LiIgY29tbWVudD0iKkFsbCogY29kZS12YWx1ZSBhbmQsIGlmIHByZXNlbnQsIGNvbXBvbmVudC5jb2RlLWNvbXBvbmVudC52YWx1ZSBwYWlycyBuZWVkIHRvIGJlIHRha2VuIGludG8gYWNjb3VudCB0byBjb3JyZWN0bHkgdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBXaG8gYW5kL29yIHdoYXQgdGhlIG9ic2VydmF0aW9uIGlzIGFib3V0IiBkZWZpbml0aW9uPSJUaGUgcGF0aWVudCwgb3IgZ3JvdXAgb2YgcGF0aWVudHMsIGxvY2F0aW9uLCBvciBkZXZpY2UgdGhpcyBvYnNlcnZhdGlvbiBpcyBhYm91dCBhbmQgaW50byB3aG9zZSByZWNvcmQgdGhlIG9ic2VydmF0aW9uIGlzIHBsYWNlZC4gSWYgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24gaXMgZGlmZmVyZW50IGZyb20gdGhlIHN1YmplY3QgKG9yIGEgc2FtcGxlIG9mLCBwYXJ0LCBvciByZWdpb24gb2YgdGhlIHN1YmplY3QpLCB0aGUgYGZvY3VzYCBlbGVtZW50IG9yIHRoZSBgY29kZWAgaXRzZWxmIHNwZWNpZmllcyB0aGUgYWN0dWFsIGZvY3VzIG9mIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9uZSB3b3VsZCBleHBlY3QgdGhpcyBlbGVtZW50IHRvIGJlIGEgY2FyZGluYWxpdHkgb2YgMS4uMS4gVGhlIG9ubHkgY2lyY3Vtc3RhbmNlIGluIHdoaWNoIHRoZSBzdWJqZWN0IGNhbiBiZSBtaXNzaW5nIGlzIHdoZW4gdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgYnkgYSBkZXZpY2UgdGhhdCBkb2VzIG5vdCBrbm93IHRoZSBwYXRpZW50LiBJbiB0aGlzIGNhc2UsIHRoZSBvYnNlcnZhdGlvbiBTSEFMTCBiZSBtYXRjaGVkIHRvIGEgcGF0aWVudCB0aHJvdWdoIHNvbWUgY29udGV4dC9jaGFubmVsIG1hdGNoaW5nIHRlY2huaXF1ZSwgYW5kIGF0IHRoaXMgcG9pbnQsIHRoZSBvYnNlcnZhdGlvbiBzaG91bGQgYmUgdXBkYXRlZC4iIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZm9jdXMiIGRlc2NyaXB0aW9uPSJXaGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCwgd2hlbiBpdCBpcyBub3QgYWJvdXQgdGhlIHN1YmplY3Qgb2YgcmVjb3JkIiBkZWZpbml0aW9uPSJUaGUgYWN0dWFsIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIHdoZW4gaXQgaXMgbm90IHRoZSBwYXRpZW50IG9mIHJlY29yZCByZXByZXNlbnRpbmcgc29tZXRoaW5nIG9yIHNvbWVvbmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYXRpZW50IHN1Y2ggYXMgYSBzcG91c2UsIHBhcmVudCwgZmV0dXMsIG9yIGRvbm9yLiBGb3IgZXhhbXBsZSwgZmV0dXMgb2JzZXJ2YXRpb25zIGluIGEgbW90aGVyJ3MgcmVjb3JkLiAgVGhlIGZvY3VzIG9mIGFuIG9ic2VydmF0aW9uIGNvdWxkIGFsc28gYmUgYW4gZXhpc3RpbmcgY29uZGl0aW9uLCAgYW4gaW50ZXJ2ZW50aW9uLCB0aGUgc3ViamVjdCdzIGRpZXQsICBhbm90aGVyIG9ic2VydmF0aW9uIG9mIHRoZSBzdWJqZWN0LCAgb3IgYSBib2R5IHN0cnVjdHVyZSBzdWNoIGFzIHR1bW9yIG9yIGltcGxhbnRlZCBkZXZpY2UuICAgQW4gZXhhbXBsZSB1c2UgY2FzZSB3b3VsZCBiZSB1c2luZyB0aGUgT2JzZXJ2YXRpb24gcmVzb3VyY2UgdG8gY2FwdHVyZSB3aGV0aGVyIHRoZSBtb3RoZXIgaXMgdHJhaW5lZCB0byBjaGFuZ2UgaGVyIGNoaWxkJ3MgdHJhY2hlb3N0b215IHR1YmUuIEluIHRoaXMgZXhhbXBsZSwgdGhlIGNoaWxkIGlzIHRoZSBwYXRpZW50IG9mIHJlY29yZCBhbmQgdGhlIG1vdGhlciBpcyB0aGUgZm9jdXMuIiBjb21tZW50PSJUeXBpY2FsbHksIGFuIG9ic2VydmF0aW9uIGlzIG1hZGUgYWJvdXQgdGhlIHN1YmplY3QgLSBhIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIC0gYW5kIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRoZSBzdWJqZWN0IGFuZCB3aGF0IGlzIGRpcmVjdGx5IG1lYXN1cmVkIGZvciBhbiBvYnNlcnZhdGlvbiBpcyBzcGVjaWZpZWQgaW4gdGhlIG9ic2VydmF0aW9uIGNvZGUgaXRzZWxmICggZS5nLiwgJnF1b3Q7Qmxvb2QgR2x1Y29zZSZxdW90OykgYW5kIGRvZXMgbm90IG5lZWQgdG8gYmUgcmVwcmVzZW50ZWQgc2VwYXJhdGVseSB1c2luZyB0aGlzIGVsZW1lbnQuICBVc2UgYHNwZWNpbWVuYCBpZiBhIHJlZmVyZW5jZSB0byBhIHNwZWNpbWVuIGlzIHJlcXVpcmVkLiAgSWYgYSBjb2RlIGlzIHJlcXVpcmVkIGluc3RlYWQgb2YgYSByZXNvdXJjZSB1c2UgZWl0aGVyICBgYm9keXNpdGVgIGZvciBib2R5c2l0ZXMgb3IgdGhlIHN0YW5kYXJkIGV4dGVuc2lvbiBbZm9jdXNDb2RlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1vYnNlcnZhdGlvbi1mb2N1c2NvZGUuaHRtbCkuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW5jb3VudGVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IkhlYWx0aGNhcmUgZXZlbnQgZHVyaW5nIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gaXMgbWFkZSIgZGVmaW5pdGlvbj0iVGhlIGhlYWx0aGNhcmUgZXZlbnQgIChlLmcuIGEgcGF0aWVudCBhbmQgaGVhbHRoY2FyZSBwcm92aWRlciBpbnRlcmFjdGlvbikgZHVyaW5nIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gaXMgbWFkZS4iIGNvbW1lbnQ9IlRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgdGhlIGVuY291bnRlciB0aGUgZXZlbnQgb2NjdXJyZWQgd2l0aGluLCBidXQgc29tZSBldmVudHMgbWF5IGJlIGluaXRpYXRlZCBwcmlvciB0byBvciBhZnRlciB0aGUgb2ZmaWNpYWwgY29tcGxldGlvbiBvZiBhbiBlbmNvdW50ZXIgYnV0IHN0aWxsIGJlIHRpZWQgdG8gdGhlIGNvbnRleHQgb2YgdGhlIGVuY291bnRlciAoZS5nLiBwcmUtYWRtaXNzaW9uIGxhYm9yYXRvcnkgdGVzdHMpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJDbGluaWNhbGx5IHJlbGV2YW50IHRpbWUvdGltZS1wZXJpb2QgZm9yIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgdGltZSBvciB0aW1lLXBlcmlvZCB0aGUgb2JzZXJ2ZWQgdmFsdWUgaXMgYXNzZXJ0ZWQgYXMgYmVpbmcgdHJ1ZS4gRm9yIGJpb2xvZ2ljYWwgc3ViamVjdHMgLSBlLmcuIGh1bWFuIHBhdGllbnRzIC0gdGhpcyBpcyB1c3VhbGx5IGNhbGxlZCB0aGUgJnF1b3Q7cGh5c2lvbG9naWNhbGx5IHJlbGV2YW50IHRpbWUmcXVvdDsuIFRoaXMgaXMgdXN1YWxseSBlaXRoZXIgdGhlIHRpbWUgb2YgdGhlIHByb2NlZHVyZSBvciBvZiBzcGVjaW1lbiBjb2xsZWN0aW9uLCBidXQgdmVyeSBvZnRlbiB0aGUgc291cmNlIG9mIHRoZSBkYXRlL3RpbWUgaXMgbm90IGtub3duLCBvbmx5IHRoZSBkYXRlL3RpbWUgaXRzZWxmLiIgY29tbWVudD0iQXQgbGVhc3QgYSBkYXRlIHNob3VsZCBiZSBwcmVzZW50IHVubGVzcyB0aGlzIG9ic2VydmF0aW9uIGlzIGEgaGlzdG9yaWNhbCByZXBvcnQuICBGb3IgcmVjb3JkaW5nIGltcHJlY2lzZSBvciAmcXVvdDtmdXp6eSZxdW90OyB0aW1lcyAoRm9yIGV4YW1wbGUsIGEgYmxvb2QgZ2x1Y29zZSBtZWFzdXJlbWVudCB0YWtlbiAmcXVvdDthZnRlciBicmVha2Zhc3QmcXVvdDspIHVzZSB0aGUgW1RpbWluZ10oaHR0cDovL2hsNy5vcmcvZmhpci9SNC9kYXRhdHlwZXMuaHRtbCN0aW1pbmcpIGRhdGF0eXBlIHdoaWNoIGFsbG93IHRoZSBtZWFzdXJlbWVudCB0byBiZSB0aWVkIHRvIHJlZ3VsYXIgbGlmZSBldmVudHMuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaXNzdWVkIiBlbGVtZW50VHlwZT0iU3lzdGVtLkRhdGVUaW1lIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IkRhdGUvVGltZSB0aGlzIHZlcnNpb24gd2FzIG1hZGUgYXZhaWxhYmxlIiBkZWZpbml0aW9uPSJUaGUgZGF0ZSBhbmQgdGltZSB0aGlzIHZlcnNpb24gb2YgdGhlIG9ic2VydmF0aW9uIHdhcyBtYWRlIGF2YWlsYWJsZSB0byBwcm92aWRlcnMsIHR5cGljYWxseSBhZnRlciB0aGUgcmVzdWx0cyBoYXZlIGJlZW4gcmV2aWV3ZWQgYW5kIHZlcmlmaWVkLiIgY29tbWVudD0iRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvbuKAmXQgcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiwgaXQgbWF5IGJlIHRoZSBzYW1lIGFzIHRoZSBbYGxhc3RVcGRhdGVkYCBdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcmVzb3VyY2UtZGVmaW5pdGlvbnMuaHRtbCNNZXRhLmxhc3RVcGRhdGVkKSB0aW1lIG9mIHRoZSByZXNvdXJjZSBpdHNlbGYuICBGb3IgT2JzZXJ2YXRpb25zIHRoYXQgZG8gcmVxdWlyZSByZXZpZXcgYW5kIHZlcmlmaWNhdGlvbiBmb3IgY2VydGFpbiB1cGRhdGVzLCBpdCBtaWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGBsYXN0VXBkYXRlZGAgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmIGR1ZSB0byBhIG5vbi1jbGluaWNhbGx5IHNpZ25pZmljYW50IHVwZGF0ZSB0aGF0IGRvZXNu4oCZdCByZXF1aXJlIHRoZSBuZXcgdmVyc2lvbiB0byBiZSByZXZpZXdlZCBhbmQgdmVyaWZpZWQgYWdhaW4uIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGVyZm9ybWVyIiBkZXNjcmlwdGlvbj0iV2hvIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IldobyB3YXMgcmVzcG9uc2libGUgZm9yIGFzc2VydGluZyB0aGUgb2JzZXJ2ZWQgdmFsdWUgYXMgJnF1b3Q7dHJ1ZSZxdW90Oy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2YWx1ZSIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub1ZhbHVlKCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFR5cGljYWxseSBDb2RlZCBSZXNwb25zZXMgZnJvbSBTbW9raW5nIFN0YXR1cyBWYWx1ZSBTZXQiIGRlZmluaXRpb249IlRoZSBpbmZvcm1hdGlvbiBkZXRlcm1pbmVkIGFzIGEgcmVzdWx0IG9mIG1ha2luZyB0aGUgb2JzZXJ2YXRpb24sIGlmIHRoZSBpbmZvcm1hdGlvbiBoYXMgYSBzaW1wbGUgdmFsdWUuIiBjb21tZW50PSJBbiBvYnNlcnZhdGlvbiBtYXkgaGF2ZTsgMSkgIGEgc2luZ2xlIHZhbHVlIGhlcmUsIDIpICBib3RoIGEgdmFsdWUgYW5kIGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcywgIG9yIDMpICBvbmx5IGEgc2V0IG9mIHJlbGF0ZWQgb3IgY29tcG9uZW50IHZhbHVlcy4gSWYgYSB2YWx1ZSBpcyBwcmVzZW50LCB0aGUgZGF0YXR5cGUgZm9yIHRoaXMgZWxlbWVudCBzaG91bGQgYmUgZGV0ZXJtaW5lZCBieSBPYnNlcnZhdGlvbi5jb2RlLiAgQSBDb2RlYWJsZUNvbmNlcHQgd2l0aCBqdXN0IGEgdGV4dCB3b3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgYSBzdHJpbmcgaWYgdGhlIGZpZWxkIHdhcyB1c3VhbGx5IGNvZGVkLCBvciBpZiB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhlIE9ic2VydmF0aW9uLmNvZGUgZGVmaW5lcyBhIGNvZGVkIHZhbHVlLiAgRm9yIGFkZGl0aW9uYWwgZ3VpZGFuY2UsIHNlZSB0aGUgW05vdGVzIHNlY3Rpb25dKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iU3RyaW5nIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJCb29sZWFuIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJJbnRlZ2VyIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlJhdGlvIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJTYW1wbGVkRGF0YSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZVRpbWUiLz4KICAgICAgICAgICAgICAgIDwvY2hvaWNlPgogICAgICAgICAgICA8L2VsZW1lbnRUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8YmluZGluZyBkZXNjcmlwdGlvbj0iVGhpcyB2YWx1ZSBzZXQgZW51bWVyYXRlcyBjb2RlcyBTTk9NRUQgQ1QgY29kZXMgaGlzdG9yaWNhbGx5IHVzZWQgZm9yIHRoZSBjdXJyZW50IHNtb2tpbmcgc3RhdHVzIG9mIGEgcGF0aWVudCB3aXRoIGEgbWF4aW11bSByZXF1aXJlZCBiaW5kaW5nIHRvIFNub21lZCBDVCBjb2Rlcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICAgICAgPGNvbnN0cmFpbnQgbmFtZT0idXMtY29yZS0zIiBzZXZlcml0eT0iRVJST1IiIG1lc3NhZ2U9IlNIQUxMIHVzZSBVQ1VNIGZvciBjb2RlZCBxdWFudGl0eSB1bml0cy4iPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InZhbHVlLm9mVHlwZShRdWFudGl0eSkuc3lzdGVtLmVtcHR5KCkgb3IgdmFsdWUub2ZUeXBlKFF1YW50aXR5KS5zeXN0ZW0gPSAnaHR0cDovL3VuaXRzb2ZtZWFzdXJlLm9yZyciLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJXaHkgdGhlIHJlc3VsdCBpcyBtaXNzaW5nIiBkZWZpbml0aW9uPSJQcm92aWRlcyBhIHJlYXNvbiB3aHkgdGhlIGV4cGVjdGVkIHZhbHVlIGluIHRoZSBlbGVtZW50IE9ic2VydmF0aW9uLnZhbHVlW3hdIGlzIG1pc3NpbmcuIiBjb21tZW50PSJOdWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcyBjYW4gYmUgcmVwcmVzZW50ZWQgdHdvIHdheXMgaW4gRkhJUiBPYnNlcnZhdGlvbnMuICBPbmUgd2F5IGlzIHRvIHNpbXBseSBpbmNsdWRlIHRoZW0gaW4gdGhlIHZhbHVlIHNldCBhbmQgcmVwcmVzZW50IHRoZSBleGNlcHRpb25zIGluIHRoZSB2YWx1ZS4gIEZvciBleGFtcGxlLCBtZWFzdXJlbWVudCB2YWx1ZXMgZm9yIGEgc2Vyb2xvZ3kgdGVzdCBjb3VsZCBiZSAgJnF1b3Q7ZGV0ZWN0ZWQmcXVvdDssICZxdW90O25vdCBkZXRlY3RlZCZxdW90OywgJnF1b3Q7aW5jb25jbHVzaXZlJnF1b3Q7LCBvciAgJnF1b3Q7c3BlY2ltZW4gdW5zYXRpc2ZhY3RvcnkmcXVvdDsuICAgJiMxMDsmIzEwO1RoZSBhbHRlcm5hdGUgd2F5IGlzIHRvIHVzZSB0aGUgdmFsdWUgZWxlbWVudCBmb3IgYWN0dWFsIG9ic2VydmF0aW9ucyBhbmQgdXNlIHRoZSBleHBsaWNpdCBkYXRhQWJzZW50UmVhc29uIGVsZW1lbnQgdG8gcmVjb3JkIGV4Y2VwdGlvbmFsIHZhbHVlcy4gIEZvciBleGFtcGxlLCB0aGUgZGF0YUFic2VudFJlYXNvbiBjb2RlICZxdW90O2Vycm9yJnF1b3Q7IGNvdWxkIGJlIHVzZWQgd2hlbiB0aGUgbWVhc3VyZW1lbnQgd2FzIG5vdCBjb21wbGV0ZWQuIE5vdGUgdGhhdCBhbiBvYnNlcnZhdGlvbiBtYXkgb25seSBiZSByZXBvcnRlZCBpZiB0aGVyZSBhcmUgdmFsdWVzIHRvIHJlcG9ydC4gRm9yIGV4YW1wbGUgZGlmZmVyZW50aWFsIGNlbGwgY291bnRzIHZhbHVlcyBtYXkgYmUgcmVwb3J0ZWQgb25seSB3aGVuICZndDsgMC4gIEJlY2F1c2Ugb2YgdGhlc2Ugb3B0aW9ucywgdXNlLWNhc2UgYWdyZWVtZW50cyBhcmUgcmVxdWlyZWQgdG8gaW50ZXJwcmV0IGdlbmVyYWwgb2JzZXJ2YXRpb25zIGZvciBudWxsIG9yIGV4Y2VwdGlvbmFsIHZhbHVlcy4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblZhbHVlQWJzZW50UmVhc29uIiBkZXNjcmlwdGlvbj0iQ29kZXMgc3BlY2lmeWluZyB3aHkgdGhlIHJlc3VsdCAoYE9ic2VydmF0aW9uLnZhbHVlW3hdYCkgaXMgbWlzc2luZy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImludGVycHJldGF0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGlnaCwgbG93LCBub3JtYWwsIGV0Yy4iIGRlZmluaXRpb249IkEgY2F0ZWdvcmljYWwgYXNzZXNzbWVudCBvZiBhbiBvYnNlcnZhdGlvbiB2YWx1ZS4gIEZvciBleGFtcGxlLCBoaWdoLCBsb3csIG5vcm1hbC4iIGNvbW1lbnQ9Ikhpc3RvcmljYWxseSB1c2VkIGZvciBsYWJvcmF0b3J5IHJlc3VsdHMgKGtub3duIGFzICdhYm5vcm1hbCBmbGFnJyApLCAgaXRzIHVzZSBleHRlbmRzIHRvIG90aGVyIHVzZSBjYXNlcyB3aGVyZSBjb2RlZCBpbnRlcnByZXRhdGlvbnMgIGFyZSByZWxldmFudC4gIE9mdGVuIHJlcG9ydGVkIGFzIG9uZSBvciBtb3JlIHNpbXBsZSBjb21wYWN0IGNvZGVzIHRoaXMgZWxlbWVudCBpcyBvZnRlbiBwbGFjZWQgYWRqYWNlbnQgdG8gdGhlIHJlc3VsdCB2YWx1ZSBpbiByZXBvcnRzIGFuZCBmbG93IHNoZWV0cyB0byBzaWduYWwgdGhlIG1lYW5pbmcvbm9ybWFsY3kgc3RhdHVzIG9mIHRoZSByZXN1bHQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uSW50ZXJwcmV0YXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBpbnRlcnByZXRhdGlvbnMgb2Ygb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIG9yIHRoZSByZXN1bHRzLiIgY29tbWVudD0iTWF5IGluY2x1ZGUgZ2VuZXJhbCBzdGF0ZW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiwgb3Igc3RhdGVtZW50cyBhYm91dCBzaWduaWZpY2FudCwgdW5leHBlY3RlZCBvciB1bnJlbGlhYmxlIHJlc3VsdHMgdmFsdWVzLCBvciBpbmZvcm1hdGlvbiBhYm91dCBpdHMgc291cmNlIHdoZW4gcmVsZXZhbnQgdG8gaXRzIGludGVycHJldGF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2JzZXJ2ZWQgYm9keSBwYXJ0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHNpdGUgb24gdGhlIHN1YmplY3QncyBib2R5IHdoZXJlIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSAoaS5lLiB0aGUgdGFyZ2V0IHNpdGUpLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIE9ic2VydmF0aW9uLmNvZGUuICBJbiBtYW55IHN5c3RlbXMsIHRoaXMgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGEgcmVsYXRlZCBvYnNlcnZhdGlvbiBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb21wb25lbnQuICAgJiMxMDsmIzEwO0lmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBCb2R5U2l0ZSB0byBiZSBoYW5kbGVkIGFzIGEgc2VwYXJhdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb25bIGJvZHlTaXRlXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L2V4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBpdCB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWNoYW5pc20gdXNlZCB0byBwZXJmb3JtIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3IgT2JzZXJ2YXRpb24uY29kZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiB1c2VkIGZvciB0aGlzIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2ltZW4gdGhhdCB3YXMgdXNlZCB3aGVuIHRoaXMgb2JzZXJ2YXRpb24gd2FzIG1hZGUuIiBjb21tZW50PSJTaG91bGQgb25seSBiZSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIGBPYnNlcnZhdGlvbi5jb2RlYC4gIE9ic2VydmF0aW9ucyBhcmUgbm90IG1hZGUgb24gc3BlY2ltZW5zIHRoZW1zZWx2ZXM7IHRoZXkgYXJlIG1hZGUgb24gYSBzdWJqZWN0LCBidXQgaW4gbWFueSBjYXNlcyBieSB0aGUgbWVhbnMgb2YgYSBzcGVjaW1lbi4gTm90ZSB0aGF0IGFsdGhvdWdoIHNwZWNpbWVucyBhcmUgb2Z0ZW4gaW52b2x2ZWQsIHRoZXkgYXJlIG5vdCBhbHdheXMgdHJhY2tlZCBhbmQgcmVwb3J0ZWQgZXhwbGljaXRseS4gQWxzbyBub3RlIHRoYXQgb2JzZXJ2YXRpb24gcmVzb3VyY2VzIG1heSBiZSB1c2VkIGluIGNvbnRleHRzIHRoYXQgdHJhY2sgdGhlIHNwZWNpbWVuIGV4cGxpY2l0bHkgKGUuZy4gRGlhZ25vc3RpYyBSZXBvcnQpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRldmljZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoTWVhc3VyZW1lbnQpIERldmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBvYnNlcnZhdGlvbiBkYXRhLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgaXMgbm90IG1lYW50IHRvIHJlcHJlc2VudCBhIGRldmljZSBpbnZvbHZlZCBpbiB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoZSByZXN1bHQsIGUuZy4sIGEgZ2F0ZXdheS4gIFN1Y2ggZGV2aWNlcyBtYXkgYmUgZG9jdW1lbnRlZCB1c2luZyB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZSB3aGVyZSByZWxldmFudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2VSYW5nZSIgZGVzY3JpcHRpb249IlByb3ZpZGVzIGd1aWRlIGZvciBpbnRlcnByZXRhdGlvbiIgZGVmaW5pdGlvbj0iR3VpZGFuY2Ugb24gaG93IHRvIGludGVycHJldCB0aGUgdmFsdWUgYnkgY29tcGFyaXNvbiB0byBhIG5vcm1hbCBvciByZWNvbW1lbmRlZCByYW5nZS4gIE11bHRpcGxlIHJlZmVyZW5jZSByYW5nZXMgYXJlIGludGVycHJldGVkIGFzIGFuICZxdW90O09SJnF1b3Q7LiAgIEluIG90aGVyIHdvcmRzLCB0byByZXByZXNlbnQgdHdvIGRpc3RpbmN0IHRhcmdldCBwb3B1bGF0aW9ucywgdHdvIGByZWZlcmVuY2VSYW5nZWAgZWxlbWVudHMgd291bGQgYmUgdXNlZC4iIGNvbW1lbnQ9Ik1vc3Qgb2JzZXJ2YXRpb25zIG9ubHkgaGF2ZSBvbmUgZ2VuZXJpYyByZWZlcmVuY2UgcmFuZ2UuIFN5c3RlbXMgTUFZIGNob29zZSB0byByZXN0cmljdCB0byBvbmx5IHN1cHBseWluZyB0aGUgcmVsZXZhbnQgcmVmZXJlbmNlIHJhbmdlIGJhc2VkIG9uIGtub3dsZWRnZSBhYm91dCB0aGUgcGF0aWVudCAoZS5nLiwgc3BlY2lmaWMgdG8gdGhlIHBhdGllbnQncyBhZ2UsIGdlbmRlciwgd2VpZ2h0IGFuZCBvdGhlciBmYWN0b3JzKSwgYnV0IHRoaXMgbWlnaHQgbm90IGJlIHBvc3NpYmxlIG9yIGFwcHJvcHJpYXRlLiBXaGVuZXZlciBtb3JlIHRoYW4gb25lIHJlZmVyZW5jZSByYW5nZSBpcyBzdXBwbGllZCwgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlbSBTSE9VTEQgYmUgcHJvdmlkZWQgaW4gdGhlIHJlZmVyZW5jZSByYW5nZSBhbmQvb3IgYWdlIHByb3BlcnRpZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5SZWZlcmVuY2VSYW5nZSIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJvYnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJNdXN0IGhhdmUgYXQgbGVhc3QgYSBsb3cgb3IgYSBoaWdoIG9yIHRleHQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Imxvdy5leGlzdHMoKSBvciBoaWdoLmV4aXN0cygpIG9yIHRleHQuZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJoYXNNZW1iZXIiIGRlc2NyaXB0aW9uPSJSZWxhdGVkIHJlc291cmNlIHRoYXQgYmVsb25ncyB0byB0aGUgT2JzZXJ2YXRpb24gZ3JvdXAiIGRlZmluaXRpb249IlRoaXMgb2JzZXJ2YXRpb24gaXMgYSBncm91cCBvYnNlcnZhdGlvbiAoZS5nLiBhIGJhdHRlcnksIGEgcGFuZWwgb2YgdGVzdHMsIGEgc2V0IG9mIHZpdGFsIHNpZ24gbWVhc3VyZW1lbnRzKSB0aGF0IGluY2x1ZGVzIHRoZSB0YXJnZXQgYXMgYSBtZW1iZXIgb2YgdGhlIGdyb3VwLiIgY29tbWVudD0iV2hlbiB1c2luZyB0aGlzIGVsZW1lbnQsIGFuIG9ic2VydmF0aW9uIHdpbGwgdHlwaWNhbGx5IGhhdmUgZWl0aGVyIGEgdmFsdWUgb3IgYSBzZXQgb2YgcmVsYXRlZCByZXNvdXJjZXMsIGFsdGhvdWdoIGJvdGggbWF5IGJlIHByZXNlbnQgaW4gc29tZSBjYXNlcy4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiAgTm90ZSB0aGF0IGEgc3lzdGVtIG1heSBjYWxjdWxhdGUgcmVzdWx0cyBmcm9tIFtRdWVzdGlvbm5haXJlUmVzcG9uc2VdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvcXVlc3Rpb25uYWlyZXJlc3BvbnNlLmh0bWwpICBpbnRvIGEgZmluYWwgc2NvcmUgYW5kIHJlcHJlc2VudCB0aGUgc2NvcmUgYXMgYW4gT2JzZXJ2YXRpb24uIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGVyaXZlZEZyb20iIGRlc2NyaXB0aW9uPSJSZWxhdGVkIG1lYXN1cmVtZW50cyB0aGUgb2JzZXJ2YXRpb24gaXMgbWFkZSBmcm9tIiBkZWZpbml0aW9uPSJUaGUgdGFyZ2V0IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIG1lYXN1cmVtZW50IGZyb20gd2hpY2ggdGhpcyBvYnNlcnZhdGlvbiB2YWx1ZSBpcyBkZXJpdmVkLiBGb3IgZXhhbXBsZSwgYSBjYWxjdWxhdGVkIGFuaW9uIGdhcCBvciBhIGZldGFsIG1lYXN1cmVtZW50IGJhc2VkIG9uIGFuIHVsdHJhc291bmQgaW1hZ2UuIiBjb21tZW50PSJBbGwgdGhlIHJlZmVyZW5jZSBjaG9pY2VzIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGlzIGVsZW1lbnQgY2FuIHJlcHJlc2VudCBjbGluaWNhbCBvYnNlcnZhdGlvbnMgYW5kIG90aGVyIG1lYXN1cmVtZW50cyB0aGF0IG1heSBiZSB0aGUgc291cmNlIGZvciBhIGRlcml2ZWQgdmFsdWUuICBUaGUgbW9zdCBjb21tb24gcmVmZXJlbmNlIHdpbGwgYmUgYW5vdGhlciBPYnNlcnZhdGlvbi4gIEZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyLCBzZWUgW05vdGVzXShodHRwOi8vaGw3Lm9yZy9maGlyL1I0L29ic2VydmF0aW9uLmh0bWwjb2JzZ3JvdXBpbmcpIGJlbG93LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbXBvbmVudCIgZGVzY3JpcHRpb249IkNvbXBvbmVudCByZXN1bHRzIiBkZWZpbml0aW9uPSJTb21lIG9ic2VydmF0aW9ucyBoYXZlIG11bHRpcGxlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMuICBUaGVzZSBjb21wb25lbnQgb2JzZXJ2YXRpb25zIGFyZSBleHByZXNzZWQgYXMgc2VwYXJhdGUgY29kZSB2YWx1ZSBwYWlycyB0aGF0IHNoYXJlIHRoZSBzYW1lIGF0dHJpYnV0ZXMuICBFeGFtcGxlcyBpbmNsdWRlIHN5c3RvbGljIGFuZCBkaWFzdG9saWMgY29tcG9uZW50IG9ic2VydmF0aW9ucyBmb3IgYmxvb2QgcHJlc3N1cmUgbWVhc3VyZW1lbnQgYW5kIG11bHRpcGxlIGNvbXBvbmVudCBvYnNlcnZhdGlvbnMgZm9yIGdlbmV0aWNzIG9ic2VydmF0aW9ucy4iIGNvbW1lbnQ9IkZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBiZSBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvUjQvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5Db21wb25lbnQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJVU0NvcmVTcGVjaW1lblByb2ZpbGUiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtc3BlY2ltZW4iIGxhYmVsPSJVUyBDb3JlIFNwZWNpbWVuIFByb2ZpbGUiIHRhcmdldD0iU3BlY2ltZW4iIHJldHJpZXZhYmxlPSJ0cnVlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iRXh0ZXJuYWwgSWRlbnRpZmllciIgZGVmaW5pdGlvbj0iSWQgZm9yIHNwZWNpbWVuLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuSWRlbnRpZmllciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJhY2Nlc3Npb25JZGVudGlmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiIGRlc2NyaXB0aW9uPSJJZGVudGlmaWVyIGFzc2lnbmVkIGJ5IHRoZSBsYWIiIGRlZmluaXRpb249IlRoZSBpZGVudGlmaWVyIGFzc2lnbmVkIGJ5IHRoZSBsYWIgd2hlbiBhY2Nlc3Npb25pbmcgc3BlY2ltZW4ocykuIFRoaXMgaXMgbm90IG5lY2Vzc2FyaWx5IHRoZSBzYW1lIGFzIHRoZSBzcGVjaW1lbiBpZGVudGlmaWVyLCBkZXBlbmRpbmcgb24gbG9jYWwgbGFiIHByb2NlZHVyZXMuIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdHVzIiBlbGVtZW50VHlwZT0iUUlDb3JlLlNwZWNpbWVuU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249ImF2YWlsYWJsZSB8IHVuYXZhaWxhYmxlIHwgdW5zYXRpc2ZhY3RvcnkgfCBlbnRlcmVkLWluLWVycm9yIiBkZWZpbml0aW9uPSJUaGUgYXZhaWxhYmlsaXR5IG9mIHRoZSBzcGVjaW1lbi4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJTcGVjaW1lblN0YXR1cyIgZGVzY3JpcHRpb249IkNvZGVzIHByb3ZpZGluZyB0aGUgc3RhdHVzL2F2YWlsYWJpbGl0eSBvZiBhIHNwZWNpbWVuLiIgc3RyZW5ndGg9IlJlcXVpcmVkIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IihVU0NESSkgS2luZCBvZiBtYXRlcmlhbCB0aGF0IGZvcm1zIHRoZSBzcGVjaW1lbiIgZGVmaW5pdGlvbj0iVGhlIGtpbmQgb2YgbWF0ZXJpYWwgdGhhdCBmb3JtcyB0aGUgc3BlY2ltZW4uIiBjb21tZW50PSJUaGUgdHlwZSBjYW4gY2hhbmdlIHRoZSB3YXkgdGhhdCBhIHNwZWNpbWVuIGlzIGhhbmRsZWQgYW5kIGRyaXZlcyB3aGF0IGtpbmQgb2YgYW5hbHlzZXMgY2FuIHByb3Blcmx5IGJlIHBlcmZvcm1lZCBvbiB0aGUgc3BlY2ltZW4uIEl0IGlzIGZyZXF1ZW50bHkgdXNlZCBpbiBkaWFnbm9zdGljIHdvcmsgZmxvdyBkZWNpc2lvbiBtYWtpbmcgc3lzdGVtcy4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdCIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFRoZSBwYXRpZW50IHdoZXJlIHRoZSBzcGVjaW1lbiBjYW1lIGZyb20uIiBkZWZpbml0aW9uPSJXaGVyZSB0aGUgc3BlY2ltZW4gY2FtZSBmcm9tLiBUaGlzIG1heSBiZSBmcm9tIHBhdGllbnQocyksIGZyb20gYSBsb2NhdGlvbiAoZS5nLiwgdGhlIHNvdXJjZSBvZiBhbiBlbnZpcm9ubWVudGFsIHNhbXBsZSksIG9yIGEgc2FtcGxpbmcgb2YgYSBzdWJzdGFuY2Ugb3IgYSBkZXZpY2UuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InJlY2VpdmVkVGltZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJUaGUgdGltZSB3aGVuIHNwZWNpbWVuIHdhcyByZWNlaXZlZCBmb3IgcHJvY2Vzc2luZyIgZGVmaW5pdGlvbj0iVGltZSB3aGVuIHNwZWNpbWVuIHdhcyByZWNlaXZlZCBmb3IgcHJvY2Vzc2luZyBvciB0ZXN0aW5nLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InBhcmVudCIgZGVzY3JpcHRpb249IlNwZWNpbWVuIGZyb20gd2hpY2ggdGhpcyBzcGVjaW1lbiBvcmlnaW5hdGVkIiBkZWZpbml0aW9uPSJSZWZlcmVuY2UgdG8gdGhlIHBhcmVudCAoc291cmNlKSBzcGVjaW1lbiB3aGljaCBpcyB1c2VkIHdoZW4gdGhlIHNwZWNpbWVuIHdhcyBlaXRoZXIgZGVyaXZlZCBmcm9tIG9yIGEgY29tcG9uZW50IG9mIGFub3RoZXIgc3BlY2ltZW4uIiBjb21tZW50PSJUaGUgcGFyZW50IHNwZWNpbWVuIGNvdWxkIGJlIHRoZSBzb3VyY2UgZnJvbSB3aGljaCB0aGUgY3VycmVudCBzcGVjaW1lbiBpcyBkZXJpdmVkIGJ5IHNvbWUgcHJvY2Vzc2luZyBzdGVwIChlLmcuIGFuIGFsaXF1b3Qgb3IgaXNvbGF0ZSBvciBleHRyYWN0ZWQgbnVjbGVpYyBhY2lkcyBmcm9tIGNsaW5pY2FsIHNhbXBsZXMpIG9yIG9uZSBvZiBtYW55IHNwZWNpbWVucyB0aGF0IHdlcmUgY29tYmluZWQgdG8gY3JlYXRlIGEgcG9vbGVkIHNhbXBsZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZXF1ZXN0IiBkZXNjcmlwdGlvbj0iV2h5IHRoZSBzcGVjaW1lbiB3YXMgY29sbGVjdGVkIiBkZWZpbml0aW9uPSJEZXRhaWxzIGNvbmNlcm5pbmcgYSBzZXJ2aWNlIHJlcXVlc3QgdGhhdCByZXF1aXJlZCBhIHNwZWNpbWVuIHRvIGJlIGNvbGxlY3RlZC4iIGNvbW1lbnQ9IlRoZSByZXF1ZXN0IG1heSBiZSBleHBsaWNpdCBvciBpbXBsaWVkIHN1Y2ggd2l0aCBhIFNlcnZpY2VSZXF1ZXN0IHRoYXQgcmVxdWlyZXMgYSBibG9vZCBkcmF3LiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImNvbGxlY3Rpb24iIGVsZW1lbnRUeXBlPSJRSUNvcmUuU3BlY2ltZW4uQ29sbGVjdGlvbiIgZGVzY3JpcHRpb249IkNvbGxlY3Rpb24gZGV0YWlscyIgZGVmaW5pdGlvbj0iRGV0YWlscyBjb25jZXJuaW5nIHRoZSBzcGVjaW1lbiBjb2xsZWN0aW9uLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InByb2Nlc3NpbmciIGRlc2NyaXB0aW9uPSJQcm9jZXNzaW5nIGFuZCBwcm9jZXNzaW5nIHN0ZXAgZGV0YWlscyIgZGVmaW5pdGlvbj0iRGV0YWlscyBjb25jZXJuaW5nIHByb2Nlc3NpbmcgYW5kIHByb2Nlc3Npbmcgc3RlcHMgZm9yIHRoZSBzcGVjaW1lbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlNwZWNpbWVuLlByb2Nlc3NpbmciLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29udGFpbmVyIiBkZXNjcmlwdGlvbj0iRGlyZWN0IGNvbnRhaW5lciBvZiBzcGVjaW1lbiAodHViZS9zbGlkZSwgZXRjLikiIGRlZmluaXRpb249IlRoZSBjb250YWluZXIgaG9sZGluZyB0aGUgc3BlY2ltZW4uICBUaGUgcmVjdXJzaXZlIG5hdHVyZSBvZiBjb250YWluZXJzOyBpLmUuIGJsb29kIGluIHR1YmUgaW4gdHJheSBpbiByYWNrIGlzIG5vdCBhZGRyZXNzZWQgaGVyZS4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlNwZWNpbWVuLkNvbnRhaW5lciIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb25kaXRpb24iIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSJTdGF0ZSBvZiB0aGUgc3BlY2ltZW4iIGRlZmluaXRpb249IkEgbW9kZSBvciBzdGF0ZSBvZiBiZWluZyB0aGF0IGRlc2NyaWJlcyB0aGUgbmF0dXJlIG9mIHRoZSBzcGVjaW1lbi4iIGNvbW1lbnQ9IlNwZWNpbWVuIGNvbmRpdGlvbiBpcyBhbiBvYnNlcnZhdGlvbiBtYWRlIGFib3V0IHRoZSBzcGVjaW1lbi4gIEl0J3MgYSBwb2ludC1pbi10aW1lIGFzc2Vzc21lbnQuICBJdCBjYW4gYmUgdXNlZCB0byBhc3Nlc3MgaXRzIHF1YWxpdHkgb3IgYXBwcm9wcmlhdGVuZXNzIGZvciBhIHNwZWNpZmljIHRlc3QuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9IlNwZWNpbWVuQ29uZGl0aW9uIiBkZXNjcmlwdGlvbj0iQ29kZXMgZGVzY3JpYmluZyB0aGUgc3RhdGUgb2YgdGhlIHNwZWNpbWVuLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIiBkZWZpbml0aW9uPSJUbyBjb21tdW5pY2F0ZSBhbnkgZGV0YWlscyBvciBpc3N1ZXMgYWJvdXQgdGhlIHNwZWNpbWVuIG9yIGR1cmluZyB0aGUgc3BlY2ltZW4gY29sbGVjdGlvbi4gKGZvciBleGFtcGxlOiBicm9rZW4gdmlhbCwgc2VudCB3aXRoIHBhdGllbnQsIGZyb3plbikuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5Bbm5vdGF0aW9uIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgPC90eXBlSW5mbz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iVVNDb3JlVHJpYmFsQWZmaWxpYXRpb25FeHRlbnNpb24iIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtdHJpYmFsLWFmZmlsaWF0aW9uIiBsYWJlbD0iVVMgQ29yZSBUcmliYWwgQWZmaWxpYXRpb24gRXh0ZW5zaW9uIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJRSUNvcmUuRXh0ZW5zaW9uIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0cmliYWxBZmZpbGlhdGlvbiIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCglcGFyZW50LmV4dGVuc2lvblt1cmw9J3RyaWJhbEFmZmlsaWF0aW9uJ10udmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBBZmZpbGlhdGVkIHRyaWJlIG9yIGJhbmQgbmFtZSIgZGVmaW5pdGlvbj0iQWZmaWxpYXRlZCB0cmliZSBvciBiYW5kIG5hbWUiIG11c3RTdXBwb3J0PSJ0cnVlIi8+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iaXNFbnJvbGxlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5Cb29sZWFuIiB0YXJnZXQ9IiVwYXJlbnQuZXh0ZW5zaW9uW3VybD0naXNFbnJvbGxlZCddLnZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iRW5yb2xsZWQgdHJpYmUgbWVtYmVyIiBkZWZpbml0aW9uPSJXaGV0aGVyIHRoZSBpbmRpdmlkdWFsIGlzIGFuIGVucm9sbGVkIHRyaWJlIG1lbWJlciIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InVybCIgZWxlbWVudFR5cGU9IlN5c3RlbS5TdHJpbmciIHRhcmdldD0iJXZhbHVlLnZhbHVlIiBkZXNjcmlwdGlvbj0iaWRlbnRpZmllcyB0aGUgbWVhbmluZyBvZiB0aGUgZXh0ZW5zaW9uIiBkZWZpbml0aW9uPSJTb3VyY2Ugb2YgdGhlIGRlZmluaXRpb24gZm9yIHRoZSBleHRlbnNpb24gY29kZSAtIGEgbG9naWNhbCBuYW1lIG9yIGEgVVJMLiIgY29tbWVudD0iVGhlIGRlZmluaXRpb24gbWF5IHBvaW50IGRpcmVjdGx5IHRvIGEgY29tcHV0YWJsZSBvciBodW1hbi1yZWFkYWJsZSBkZWZpbml0aW9uIG9mIHRoZSBleHRlbnNpYmlsaXR5IGNvZGVzLCBvciBpdCBtYXkgYmUgYSBsb2dpY2FsIFVSSSBhcyBkZWNsYXJlZCBpbiBzb21lIG90aGVyIHNwZWNpZmljYXRpb24uIFRoZSBkZWZpbml0aW9uIFNIQUxMIGJlIGEgVVJJIGZvciB0aGUgU3RydWN0dXJlIERlZmluaXRpb24gZGVmaW5pbmcgdGhlIGV4dGVuc2lvbi4iLz4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVTQ29yZVZpdGFsU2lnbnNQcm9maWxlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLXZpdGFsLXNpZ25zIiBsYWJlbD0iVVMgQ29yZSBWaXRhbCBTaWducyBQcm9maWxlIiB0YXJnZXQ9Ik9ic2VydmF0aW9uIiByZXRyaWV2YWJsZT0idHJ1ZSIgcHJpbWFyeUNvZGVQYXRoPSJjb2RlIiBiYXNlVHlwZT0iUUlDb3JlLkRvbWFpblJlc291cmNlIj4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJpZGVudGlmaWVyIiBkZXNjcmlwdGlvbj0iQnVzaW5lc3MgSWRlbnRpZmllciBmb3Igb2JzZXJ2YXRpb24iIGRlZmluaXRpb249IkEgdW5pcXVlIGlkZW50aWZpZXIgYXNzaWduZWQgdG8gdGhpcyBvYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLklkZW50aWZpZXIiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmFzZWRPbiIgZGVzY3JpcHRpb249IkZ1bGZpbGxzIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIiBkZWZpbml0aW9uPSJBIHBsYW4sIHByb3Bvc2FsIG9yIG9yZGVyIHRoYXQgaXMgZnVsZmlsbGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgdGhpcyBldmVudC4gIEZvciBleGFtcGxlLCBhIE1lZGljYXRpb25SZXF1ZXN0IG1heSByZXF1aXJlIGEgcGF0aWVudCB0byBoYXZlIGxhYm9yYXRvcnkgdGVzdCBwZXJmb3JtZWQgYmVmb3JlICBpdCBpcyBkaXNwZW5zZWQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0icGFydE9mIiBkZXNjcmlwdGlvbj0iUGFydCBvZiByZWZlcmVuY2VkIGV2ZW50IiBkZWZpbml0aW9uPSJBIGxhcmdlciBldmVudCBvZiB3aGljaCB0aGlzIHBhcnRpY3VsYXIgT2JzZXJ2YXRpb24gaXMgYSBjb21wb25lbnQgb3Igc3RlcC4gIEZvciBleGFtcGxlLCAgYW4gb2JzZXJ2YXRpb24gYXMgcGFydCBvZiBhIHByb2NlZHVyZS4iIGNvbW1lbnQ9IlRvIGxpbmsgYW4gT2JzZXJ2YXRpb24gdG8gYW4gRW5jb3VudGVyIHVzZSBgZW5jb3VudGVyYC4gIFNlZSB0aGUgIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdyBmb3IgZ3VpZGFuY2Ugb24gcmVmZXJlbmNpbmcgYW5vdGhlciBPYnNlcnZhdGlvbi4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdGF0dXMiIGVsZW1lbnRUeXBlPSJRSUNvcmUuU3RhdHVzIiB0YXJnZXQ9IiV2YWx1ZS52YWx1ZSIgZGVzY3JpcHRpb249IihVU0NESSkgcmVnaXN0ZXJlZCB8IHByZWxpbWluYXJ5IHwgZmluYWwgfCBhbWVuZGVkICsiIGRlZmluaXRpb249IlRoZSBzdGF0dXMgb2YgdGhlIHJlc3VsdCB2YWx1ZS4iIGNvbW1lbnQ9IlRoaXMgZWxlbWVudCBpcyBsYWJlbGVkIGFzIGEgbW9kaWZpZXIgYmVjYXVzZSB0aGUgc3RhdHVzIGNvbnRhaW5zIGNvZGVzIHRoYXQgbWFyayB0aGUgcmVzb3VyY2UgYXMgbm90IGN1cnJlbnRseSB2YWxpZC4iIG11c3RTdXBwb3J0PSJ0cnVlIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iU3RhdHVzIiBzdHJlbmd0aD0iUmVxdWlyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY2F0ZWdvcnkiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbkNhdGVnb3J5IiBkZXNjcmlwdGlvbj0iQ29kZXMgZm9yIGhpZ2ggbGV2ZWwgb2JzZXJ2YXRpb24gY2F0ZWdvcmllcy4iIHN0cmVuZ3RoPSJQcmVmZXJyZWQiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iVlNDYXQiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXBhcmVudC5jYXRlZ29yeVtjb2Rpbmcuc3lzdGVtPSdodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL29ic2VydmF0aW9uLWNhdGVnb3J5Jyxjb2RpbmcuY29kZT0ndml0YWwtc2lnbnMnXSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENsYXNzaWZpY2F0aW9uIG9mICB0eXBlIG9mIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJBIGNvZGUgdGhhdCBjbGFzc2lmaWVzIHRoZSBnZW5lcmFsIHR5cGUgb2Ygb2JzZXJ2YXRpb24gYmVpbmcgbWFkZS4iIGNvbW1lbnQ9IkluIGFkZGl0aW9uIHRvIHRoZSByZXF1aXJlZCBjYXRlZ29yeSB2YWx1ZXNldCwgdGhpcyBlbGVtZW50IGFsbG93cyB2YXJpb3VzIGNhdGVnb3JpemF0aW9uIHNjaGVtZXMgYmFzZWQgb24gdGhlIG93bmVy4oCZcyBkZWZpbml0aW9uIG9mIHRoZSBjYXRlZ29yeSBhbmQgZWZmZWN0aXZlbHkgbXVsdGlwbGUgY2F0ZWdvcmllcyBjYW4gYmUgdXNlZCBhdCBvbmNlLiAgVGhlIGxldmVsIG9mIGdyYW51bGFyaXR5IGlzIGRlZmluZWQgYnkgdGhlIGNhdGVnb3J5IGNvbmNlcHRzIGluIHRoZSB2YWx1ZSBzZXQuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uQ2F0ZWdvcnkiIGRlc2NyaXB0aW9uPSJDb2RlcyBmb3IgaGlnaCBsZXZlbCBvYnNlcnZhdGlvbiBjYXRlZ29yaWVzLiIgc3RyZW5ndGg9IlByZWZlcnJlZCIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENvZGVkIFJlc3BvbnNlcyBmcm9tIEMtQ0RBIFZpdGFsIFNpZ24gUmVzdWx0cyIgZGVmaW5pdGlvbj0iQ29kZWQgUmVzcG9uc2VzIGZyb20gQy1DREEgVml0YWwgU2lnbiBSZXN1bHRzLiIgY29tbWVudD0iKkFsbCogY29kZS12YWx1ZSBhbmQsIGlmIHByZXNlbnQsIGNvbXBvbmVudC5jb2RlLWNvbXBvbmVudC52YWx1ZSBwYWlycyBuZWVkIHRvIGJlIHRha2VuIGludG8gYWNjb3VudCB0byBjb3JyZWN0bHkgdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxiaW5kaW5nIGRlc2NyaXB0aW9uPSJUaGUgdml0YWwgc2lnbiBjb2RlcyBmcm9tIHRoZSBiYXNlIEZISVIgYW5kIFVTIENvcmUgVml0YWwgU2lnbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzdWJqZWN0IiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIgZGVzY3JpcHRpb249IihVU0NESSkgV2hvIGFuZC9vciB3aGF0IHRoZSBvYnNlcnZhdGlvbiBpcyBhYm91dCIgZGVmaW5pdGlvbj0iVGhlIHBhdGllbnQsIG9yIGdyb3VwIG9mIHBhdGllbnRzLCBsb2NhdGlvbiwgb3IgZGV2aWNlIHRoaXMgb2JzZXJ2YXRpb24gaXMgYWJvdXQgYW5kIGludG8gd2hvc2UgcmVjb3JkIHRoZSBvYnNlcnZhdGlvbiBpcyBwbGFjZWQuIElmIHRoZSBhY3R1YWwgZm9jdXMgb2YgdGhlIG9ic2VydmF0aW9uIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBzdWJqZWN0IChvciBhIHNhbXBsZSBvZiwgcGFydCwgb3IgcmVnaW9uIG9mIHRoZSBzdWJqZWN0KSwgdGhlIGBmb2N1c2AgZWxlbWVudCBvciB0aGUgYGNvZGVgIGl0c2VsZiBzcGVjaWZpZXMgdGhlIGFjdHVhbCBmb2N1cyBvZiB0aGUgb2JzZXJ2YXRpb24uIiBjb21tZW50PSJPbmUgd291bGQgZXhwZWN0IHRoaXMgZWxlbWVudCB0byBiZSBhIGNhcmRpbmFsaXR5IG9mIDEuLjEuIFRoZSBvbmx5IGNpcmN1bXN0YW5jZSBpbiB3aGljaCB0aGUgc3ViamVjdCBjYW4gYmUgbWlzc2luZyBpcyB3aGVuIHRoZSBvYnNlcnZhdGlvbiBpcyBtYWRlIGJ5IGEgZGV2aWNlIHRoYXQgZG9lcyBub3Qga25vdyB0aGUgcGF0aWVudC4gSW4gdGhpcyBjYXNlLCB0aGUgb2JzZXJ2YXRpb24gU0hBTEwgYmUgbWF0Y2hlZCB0byBhIHBhdGllbnQgdGhyb3VnaCBzb21lIGNvbnRleHQvY2hhbm5lbCBtYXRjaGluZyB0ZWNobmlxdWUsIGFuZCBhdCB0aGlzIHBvaW50LCB0aGUgb2JzZXJ2YXRpb24gc2hvdWxkIGJlIHVwZGF0ZWQuIiBtdXN0U3VwcG9ydD0idHJ1ZSIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImZvY3VzIiBkZXNjcmlwdGlvbj0iV2hhdCB0aGUgb2JzZXJ2YXRpb24gaXMgYWJvdXQsIHdoZW4gaXQgaXMgbm90IGFib3V0IHRoZSBzdWJqZWN0IG9mIHJlY29yZCIgZGVmaW5pdGlvbj0iVGhlIGFjdHVhbCBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiB3aGVuIGl0IGlzIG5vdCB0aGUgcGF0aWVudCBvZiByZWNvcmQgcmVwcmVzZW50aW5nIHNvbWV0aGluZyBvciBzb21lb25lIGFzc29jaWF0ZWQgd2l0aCB0aGUgcGF0aWVudCBzdWNoIGFzIGEgc3BvdXNlLCBwYXJlbnQsIGZldHVzLCBvciBkb25vci4gRm9yIGV4YW1wbGUsIGZldHVzIG9ic2VydmF0aW9ucyBpbiBhIG1vdGhlcidzIHJlY29yZC4gIFRoZSBmb2N1cyBvZiBhbiBvYnNlcnZhdGlvbiBjb3VsZCBhbHNvIGJlIGFuIGV4aXN0aW5nIGNvbmRpdGlvbiwgIGFuIGludGVydmVudGlvbiwgdGhlIHN1YmplY3QncyBkaWV0LCAgYW5vdGhlciBvYnNlcnZhdGlvbiBvZiB0aGUgc3ViamVjdCwgIG9yIGEgYm9keSBzdHJ1Y3R1cmUgc3VjaCBhcyB0dW1vciBvciBpbXBsYW50ZWQgZGV2aWNlLiAgIEFuIGV4YW1wbGUgdXNlIGNhc2Ugd291bGQgYmUgdXNpbmcgdGhlIE9ic2VydmF0aW9uIHJlc291cmNlIHRvIGNhcHR1cmUgd2hldGhlciB0aGUgbW90aGVyIGlzIHRyYWluZWQgdG8gY2hhbmdlIGhlciBjaGlsZCdzIHRyYWNoZW9zdG9teSB0dWJlLiBJbiB0aGlzIGV4YW1wbGUsIHRoZSBjaGlsZCBpcyB0aGUgcGF0aWVudCBvZiByZWNvcmQgYW5kIHRoZSBtb3RoZXIgaXMgdGhlIGZvY3VzLiIgY29tbWVudD0iVHlwaWNhbGx5LCBhbiBvYnNlcnZhdGlvbiBpcyBtYWRlIGFib3V0IHRoZSBzdWJqZWN0IC0gYSBwYXRpZW50LCBvciBncm91cCBvZiBwYXRpZW50cywgbG9jYXRpb24sIG9yIGRldmljZSAtIGFuZCB0aGUgZGlzdGluY3Rpb24gYmV0d2VlbiB0aGUgc3ViamVjdCBhbmQgd2hhdCBpcyBkaXJlY3RseSBtZWFzdXJlZCBmb3IgYW4gb2JzZXJ2YXRpb24gaXMgc3BlY2lmaWVkIGluIHRoZSBvYnNlcnZhdGlvbiBjb2RlIGl0c2VsZiAoIGUuZy4sICZxdW90O0Jsb29kIEdsdWNvc2UmcXVvdDspIGFuZCBkb2VzIG5vdCBuZWVkIHRvIGJlIHJlcHJlc2VudGVkIHNlcGFyYXRlbHkgdXNpbmcgdGhpcyBlbGVtZW50LiAgVXNlIGBzcGVjaW1lbmAgaWYgYSByZWZlcmVuY2UgdG8gYSBzcGVjaW1lbiBpcyByZXF1aXJlZC4gIElmIGEgY29kZSBpcyByZXF1aXJlZCBpbnN0ZWFkIG9mIGEgcmVzb3VyY2UgdXNlIGVpdGhlciAgYGJvZHlzaXRlYCBmb3IgYm9keXNpdGVzIG9yIHRoZSBzdGFuZGFyZCBleHRlbnNpb24gW2ZvY3VzQ29kZV0oaHR0cDovL2hsNy5vcmcvZmhpci9leHRlbnNpb24tb2JzZXJ2YXRpb24tZm9jdXNjb2RlLmh0bWwpLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImVuY291bnRlciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJIZWFsdGhjYXJlIGV2ZW50IGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUiIGRlZmluaXRpb249IlRoZSBoZWFsdGhjYXJlIGV2ZW50ICAoZS5nLiBhIHBhdGllbnQgYW5kIGhlYWx0aGNhcmUgcHJvdmlkZXIgaW50ZXJhY3Rpb24pIGR1cmluZyB3aGljaCB0aGlzIG9ic2VydmF0aW9uIGlzIG1hZGUuIiBjb21tZW50PSJUaGlzIHdpbGwgdHlwaWNhbGx5IGJlIHRoZSBlbmNvdW50ZXIgdGhlIGV2ZW50IG9jY3VycmVkIHdpdGhpbiwgYnV0IHNvbWUgZXZlbnRzIG1heSBiZSBpbml0aWF0ZWQgcHJpb3IgdG8gb3IgYWZ0ZXIgdGhlIG9mZmljaWFsIGNvbXBsZXRpb24gb2YgYW4gZW5jb3VudGVyIGJ1dCBzdGlsbCBiZSB0aWVkIHRvIHRoZSBjb250ZXh0IG9mIHRoZSBlbmNvdW50ZXIgKGUuZy4gcHJlLWFkbWlzc2lvbiBsYWJvcmF0b3J5IHRlc3RzKS4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zIiBkZWZpbml0aW9uPSJPZnRlbiBqdXN0IGEgZGF0ZVRpbWUgZm9yIFZpdGFsIFNpZ25zLiIgY29tbWVudD0iQXQgbGVhc3QgYSBkYXRlIHNob3VsZCBiZSBwcmVzZW50IHVubGVzcyB0aGlzIG9ic2VydmF0aW9uIGlzIGEgaGlzdG9yaWNhbCByZXBvcnQuICBGb3IgcmVjb3JkaW5nIGltcHJlY2lzZSBvciAmcXVvdDtmdXp6eSZxdW90OyB0aW1lcyAoRm9yIGV4YW1wbGUsIGEgYmxvb2QgZ2x1Y29zZSBtZWFzdXJlbWVudCB0YWtlbiAmcXVvdDthZnRlciBicmVha2Zhc3QmcXVvdDspIHVzZSB0aGUgW1RpbWluZ10oaHR0cDovL2hsNy5vcmcvZmhpci9kYXRhdHlwZXMuaHRtbCN0aW1pbmcpIGRhdGF0eXBlIHdoaWNoIGFsbG93IHRoZSBtZWFzdXJlbWVudCB0byBiZSB0aWVkIHRvIHJlZ3VsYXIgbGlmZSBldmVudHMuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJEYXRlVGltZSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgIDwvZWxlbWVudFR5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTEiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iaWYgT2JzZXJ2YXRpb24uZWZmZWN0aXZlW3hdIGlzIGRhdGVUaW1lIGFuZCBoYXMgYSB2YWx1ZSB0aGVuIHRoYXQgdmFsdWUgc2hhbGwgYmUgcHJlY2lzZSB0byB0aGUgZGF5Ij4KICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxhbmd1YWdlPSJ0ZXh0L2ZoaXJwYXRoIiBleHByZXNzaW9uPSIoJHRoaXMgYXMgZGF0ZVRpbWUpLnRvU3RyaW5nKCkubGVuZ3RoKCkgJmd0Oz0gOCIvPgogICAgICAgICAgICA8L2NvbnN0cmFpbnQ+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9Imlzc3VlZCIgZWxlbWVudFR5cGU9IlN5c3RlbS5EYXRlVGltZSIgdGFyZ2V0PSIldmFsdWUudmFsdWUiIGRlc2NyaXB0aW9uPSJEYXRlL1RpbWUgdGhpcyB2ZXJzaW9uIHdhcyBtYWRlIGF2YWlsYWJsZSIgZGVmaW5pdGlvbj0iVGhlIGRhdGUgYW5kIHRpbWUgdGhpcyB2ZXJzaW9uIG9mIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSBhdmFpbGFibGUgdG8gcHJvdmlkZXJzLCB0eXBpY2FsbHkgYWZ0ZXIgdGhlIHJlc3VsdHMgaGF2ZSBiZWVuIHJldmlld2VkIGFuZCB2ZXJpZmllZC4iIGNvbW1lbnQ9IkZvciBPYnNlcnZhdGlvbnMgdGhhdCBkb27igJl0IHJlcXVpcmUgcmV2aWV3IGFuZCB2ZXJpZmljYXRpb24sIGl0IG1heSBiZSB0aGUgc2FtZSBhcyB0aGUgW2BsYXN0VXBkYXRlZGAgXShodHRwOi8vaGw3Lm9yZy9maGlyL3Jlc291cmNlLWRlZmluaXRpb25zLmh0bWwjTWV0YS5sYXN0VXBkYXRlZCkgdGltZSBvZiB0aGUgcmVzb3VyY2UgaXRzZWxmLiAgRm9yIE9ic2VydmF0aW9ucyB0aGF0IGRvIHJlcXVpcmUgcmV2aWV3IGFuZCB2ZXJpZmljYXRpb24gZm9yIGNlcnRhaW4gdXBkYXRlcywgaXQgbWlnaHQgbm90IGJlIHRoZSBzYW1lIGFzIHRoZSBgbGFzdFVwZGF0ZWRgIHRpbWUgb2YgdGhlIHJlc291cmNlIGl0c2VsZiBkdWUgdG8gYSBub24tY2xpbmljYWxseSBzaWduaWZpY2FudCB1cGRhdGUgdGhhdCBkb2VzbuKAmXQgcmVxdWlyZSB0aGUgbmV3IHZlcnNpb24gdG8gYmUgcmV2aWV3ZWQgYW5kIHZlcmlmaWVkIGFnYWluLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmZvcm1lciIgZGVzY3JpcHRpb249IldobyBpcyByZXNwb25zaWJsZSBmb3IgdGhlIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJXaG8gd2FzIHJlc3BvbnNpYmxlIGZvciBhc3NlcnRpbmcgdGhlIG9ic2VydmVkIHZhbHVlIGFzICZxdW90O3RydWUmcXVvdDsuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iKFVTQ0RJKSBWaXRhbCBTaWducyBWYWx1ZSIgZGVmaW5pdGlvbj0iVml0YWwgU2lnbnMgdmFsdWUgYXJlIHR5cGljYWxseSByZWNvcmRlZCB1c2luZyB0aGUgUXVhbnRpdHkgZGF0YSB0eXBlLiIgY29tbWVudD0iQW4gb2JzZXJ2YXRpb24gbWF5IGhhdmU7IDEpICBhIHNpbmdsZSB2YWx1ZSBoZXJlLCAyKSAgYm90aCBhIHZhbHVlIGFuZCBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMsICBvciAzKSAgb25seSBhIHNldCBvZiByZWxhdGVkIG9yIGNvbXBvbmVudCB2YWx1ZXMuIElmIGEgdmFsdWUgaXMgcHJlc2VudCwgdGhlIGRhdGF0eXBlIGZvciB0aGlzIGVsZW1lbnQgc2hvdWxkIGJlIGRldGVybWluZWQgYnkgT2JzZXJ2YXRpb24uY29kZS4gIEEgQ29kZWFibGVDb25jZXB0IHdpdGgganVzdCBhIHRleHQgd291bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGEgc3RyaW5nIGlmIHRoZSBmaWVsZCB3YXMgdXN1YWxseSBjb2RlZCwgb3IgaWYgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBPYnNlcnZhdGlvbi5jb2RlIGRlZmluZXMgYSBjb2RlZCB2YWx1ZS4gIEZvciBhZGRpdGlvbmFsIGd1aWRhbmNlLCBzZWUgdGhlIFtOb3RlcyBzZWN0aW9uXShodHRwOi8vaGw3Lm9yZy9maGlyL29ic2VydmF0aW9uLmh0bWwjbm90ZXMpIGJlbG93LiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkNvbmNlcHQiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlN0cmluZyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iQm9vbGVhbiIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iSW50ZWdlciIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJSYXRpbyIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iU2FtcGxlZERhdGEiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IlRpbWUiLz4KICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIgbmFtZXNwYWNlPSJTeXN0ZW0iIG5hbWU9IkRhdGVUaW1lIi8+CiAgICAgICAgICAgICAgICA8L2Nob2ljZT4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPGJpbmRpbmcgZGVzY3JpcHRpb249IkNvbW1vbiBVQ1VNIHVuaXRzIGZvciByZWNvcmRpbmcgVml0YWwgU2lnbnMuIiBzdHJlbmd0aD0iRXh0ZW5zaWJsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhQWJzZW50UmVhc29uIiBlbGVtZW50VHlwZT0iU3lzdGVtLkNvbmNlcHQiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9Db25jZXB0KCV2YWx1ZSkiIGRlc2NyaXB0aW9uPSIoVVNDREkpIFdoeSB0aGUgcmVzdWx0IGlzIG1pc3NpbmciIGRlZmluaXRpb249IlByb3ZpZGVzIGEgcmVhc29uIHdoeSB0aGUgZXhwZWN0ZWQgdmFsdWUgaW4gdGhlIGVsZW1lbnQgT2JzZXJ2YXRpb24udmFsdWVbeF0gaXMgbWlzc2luZy4iIGNvbW1lbnQ9Ik51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzIGNhbiBiZSByZXByZXNlbnRlZCB0d28gd2F5cyBpbiBGSElSIE9ic2VydmF0aW9ucy4gIE9uZSB3YXkgaXMgdG8gc2ltcGx5IGluY2x1ZGUgdGhlbSBpbiB0aGUgdmFsdWUgc2V0IGFuZCByZXByZXNlbnQgdGhlIGV4Y2VwdGlvbnMgaW4gdGhlIHZhbHVlLiAgRm9yIGV4YW1wbGUsIG1lYXN1cmVtZW50IHZhbHVlcyBmb3IgYSBzZXJvbG9neSB0ZXN0IGNvdWxkIGJlICAmcXVvdDtkZXRlY3RlZCZxdW90OywgJnF1b3Q7bm90IGRldGVjdGVkJnF1b3Q7LCAmcXVvdDtpbmNvbmNsdXNpdmUmcXVvdDssIG9yICAmcXVvdDtzcGVjaW1lbiB1bnNhdGlzZmFjdG9yeSZxdW90Oy4gICAmIzEwOyYjMTA7VGhlIGFsdGVybmF0ZSB3YXkgaXMgdG8gdXNlIHRoZSB2YWx1ZSBlbGVtZW50IGZvciBhY3R1YWwgb2JzZXJ2YXRpb25zIGFuZCB1c2UgdGhlIGV4cGxpY2l0IGRhdGFBYnNlbnRSZWFzb24gZWxlbWVudCB0byByZWNvcmQgZXhjZXB0aW9uYWwgdmFsdWVzLiAgRm9yIGV4YW1wbGUsIHRoZSBkYXRhQWJzZW50UmVhc29uIGNvZGUgJnF1b3Q7ZXJyb3ImcXVvdDsgY291bGQgYmUgdXNlZCB3aGVuIHRoZSBtZWFzdXJlbWVudCB3YXMgbm90IGNvbXBsZXRlZC4gTm90ZSB0aGF0IGFuIG9ic2VydmF0aW9uIG1heSBvbmx5IGJlIHJlcG9ydGVkIGlmIHRoZXJlIGFyZSB2YWx1ZXMgdG8gcmVwb3J0LiBGb3IgZXhhbXBsZSBkaWZmZXJlbnRpYWwgY2VsbCBjb3VudHMgdmFsdWVzIG1heSBiZSByZXBvcnRlZCBvbmx5IHdoZW4gJmd0OyAwLiAgQmVjYXVzZSBvZiB0aGVzZSBvcHRpb25zLCB1c2UtY2FzZSBhZ3JlZW1lbnRzIGFyZSByZXF1aXJlZCB0byBpbnRlcnByZXQgZ2VuZXJhbCBvYnNlcnZhdGlvbnMgZm9yIG51bGwgb3IgZXhjZXB0aW9uYWwgdmFsdWVzLiIgbXVzdFN1cHBvcnQ9InRydWUiPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvblZhbHVlQWJzZW50UmVhc29uIiBkZXNjcmlwdGlvbj0iQ29kZXMgc3BlY2lmeWluZyB3aHkgdGhlIHJlc3VsdCAoYE9ic2VydmF0aW9uLnZhbHVlW3hdYCkgaXMgbWlzc2luZy4iIHN0cmVuZ3RoPSJFeHRlbnNpYmxlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImludGVycHJldGF0aW9uIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iSGlnaCwgbG93LCBub3JtYWwsIGV0Yy4iIGRlZmluaXRpb249IkEgY2F0ZWdvcmljYWwgYXNzZXNzbWVudCBvZiBhbiBvYnNlcnZhdGlvbiB2YWx1ZS4gIEZvciBleGFtcGxlLCBoaWdoLCBsb3csIG5vcm1hbC4iIGNvbW1lbnQ9Ikhpc3RvcmljYWxseSB1c2VkIGZvciBsYWJvcmF0b3J5IHJlc3VsdHMgKGtub3duIGFzICdhYm5vcm1hbCBmbGFnJyApLCAgaXRzIHVzZSBleHRlbmRzIHRvIG90aGVyIHVzZSBjYXNlcyB3aGVyZSBjb2RlZCBpbnRlcnByZXRhdGlvbnMgIGFyZSByZWxldmFudC4gIE9mdGVuIHJlcG9ydGVkIGFzIG9uZSBvciBtb3JlIHNpbXBsZSBjb21wYWN0IGNvZGVzIHRoaXMgZWxlbWVudCBpcyBvZnRlbiBwbGFjZWQgYWRqYWNlbnQgdG8gdGhlIHJlc3VsdCB2YWx1ZSBpbiByZXBvcnRzIGFuZCBmbG93IHNoZWV0cyB0byBzaWduYWwgdGhlIG1lYW5pbmcvbm9ybWFsY3kgc3RhdHVzIG9mIHRoZSByZXN1bHQuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0Ii8+CiAgICAgICAgICAgIDxiaW5kaW5nIG5hbWU9Ik9ic2VydmF0aW9uSW50ZXJwcmV0YXRpb24iIGRlc2NyaXB0aW9uPSJDb2RlcyBpZGVudGlmeWluZyBpbnRlcnByZXRhdGlvbnMgb2Ygb2JzZXJ2YXRpb25zLiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0ibm90ZSIgZGVzY3JpcHRpb249IkNvbW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiIgZGVmaW5pdGlvbj0iQ29tbWVudHMgYWJvdXQgdGhlIG9ic2VydmF0aW9uIG9yIHRoZSByZXN1bHRzLiIgY29tbWVudD0iTWF5IGluY2x1ZGUgZ2VuZXJhbCBzdGF0ZW1lbnRzIGFib3V0IHRoZSBvYnNlcnZhdGlvbiwgb3Igc3RhdGVtZW50cyBhYm91dCBzaWduaWZpY2FudCwgdW5leHBlY3RlZCBvciB1bnJlbGlhYmxlIHJlc3VsdHMgdmFsdWVzLCBvciBpbmZvcm1hdGlvbiBhYm91dCBpdHMgc291cmNlIHdoZW4gcmVsZXZhbnQgdG8gaXRzIGludGVycHJldGF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuQW5ub3RhdGlvbiIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJib2R5U2l0ZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db25jZXB0IiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29uY2VwdCgldmFsdWUpIiBkZXNjcmlwdGlvbj0iT2JzZXJ2ZWQgYm9keSBwYXJ0IiBkZWZpbml0aW9uPSJJbmRpY2F0ZXMgdGhlIHNpdGUgb24gdGhlIHN1YmplY3QncyBib2R5IHdoZXJlIHRoZSBvYnNlcnZhdGlvbiB3YXMgbWFkZSAoaS5lLiB0aGUgdGFyZ2V0IHNpdGUpLiIgY29tbWVudD0iT25seSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIE9ic2VydmF0aW9uLmNvZGUuICBJbiBtYW55IHN5c3RlbXMsIHRoaXMgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGEgcmVsYXRlZCBvYnNlcnZhdGlvbiBpbnN0ZWFkIG9mIGFuIGlubGluZSBjb21wb25lbnQuICAgJiMxMDsmIzEwO0lmIHRoZSB1c2UgY2FzZSByZXF1aXJlcyBCb2R5U2l0ZSB0byBiZSBoYW5kbGVkIGFzIGEgc2VwYXJhdGUgcmVzb3VyY2UgKGUuZy4gdG8gaWRlbnRpZnkgYW5kIHRyYWNrIHNlcGFyYXRlbHkpIHRoZW4gdXNlIHRoZSBzdGFuZGFyZCBleHRlbnNpb25bIGJvZHlTaXRlXShodHRwOi8vaGw3Lm9yZy9maGlyL2V4dGVuc2lvbi1ib2R5c2l0ZS5odG1sKS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJCb2R5U2l0ZSIgZGVzY3JpcHRpb249IkNvZGVzIGRlc2NyaWJpbmcgYW5hdG9taWNhbCBsb2NhdGlvbnMuIE1heSBpbmNsdWRlIGxhdGVyYWxpdHkuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJtZXRob2QiIGVsZW1lbnRUeXBlPSJTeXN0ZW0uQ29uY2VwdCIgdGFyZ2V0PSJGSElSSGVscGVycy5Ub0NvbmNlcHQoJXZhbHVlKSIgZGVzY3JpcHRpb249IkhvdyBpdCB3YXMgZG9uZSIgZGVmaW5pdGlvbj0iSW5kaWNhdGVzIHRoZSBtZWNoYW5pc20gdXNlZCB0byBwZXJmb3JtIHRoZSBvYnNlcnZhdGlvbi4iIGNvbW1lbnQ9Ik9ubHkgdXNlZCBpZiBub3QgaW1wbGljaXQgaW4gY29kZSBmb3IgT2JzZXJ2YXRpb24uY29kZS4iPgogICAgICAgICAgICA8YmluZGluZyBuYW1lPSJPYnNlcnZhdGlvbk1ldGhvZCIgZGVzY3JpcHRpb249Ik1ldGhvZHMgZm9yIHNpbXBsZSBvYnNlcnZhdGlvbnMuIiBzdHJlbmd0aD0iRXhhbXBsZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJzcGVjaW1lbiIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSJTcGVjaW1lbiB1c2VkIGZvciB0aGlzIG9ic2VydmF0aW9uIiBkZWZpbml0aW9uPSJUaGUgc3BlY2ltZW4gdGhhdCB3YXMgdXNlZCB3aGVuIHRoaXMgb2JzZXJ2YXRpb24gd2FzIG1hZGUuIiBjb21tZW50PSJTaG91bGQgb25seSBiZSB1c2VkIGlmIG5vdCBpbXBsaWNpdCBpbiBjb2RlIGZvdW5kIGluIGBPYnNlcnZhdGlvbi5jb2RlYC4gIE9ic2VydmF0aW9ucyBhcmUgbm90IG1hZGUgb24gc3BlY2ltZW5zIHRoZW1zZWx2ZXM7IHRoZXkgYXJlIG1hZGUgb24gYSBzdWJqZWN0LCBidXQgaW4gbWFueSBjYXNlcyBieSB0aGUgbWVhbnMgb2YgYSBzcGVjaW1lbi4gTm90ZSB0aGF0IGFsdGhvdWdoIHNwZWNpbWVucyBhcmUgb2Z0ZW4gaW52b2x2ZWQsIHRoZXkgYXJlIG5vdCBhbHdheXMgdHJhY2tlZCBhbmQgcmVwb3J0ZWQgZXhwbGljaXRseS4gQWxzbyBub3RlIHRoYXQgb2JzZXJ2YXRpb24gcmVzb3VyY2VzIG1heSBiZSB1c2VkIGluIGNvbnRleHRzIHRoYXQgdHJhY2sgdGhlIHNwZWNpbWVuIGV4cGxpY2l0bHkgKGUuZy4gRGlhZ25vc3RpYyBSZXBvcnQpLiIvPgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRldmljZSIgZWxlbWVudFR5cGU9IlFJQ29yZS5SZWZlcmVuY2UiIGRlc2NyaXB0aW9uPSIoTWVhc3VyZW1lbnQpIERldmljZSIgZGVmaW5pdGlvbj0iVGhlIGRldmljZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBvYnNlcnZhdGlvbiBkYXRhLiIgY29tbWVudD0iTm90ZSB0aGF0IHRoaXMgaXMgbm90IG1lYW50IHRvIHJlcHJlc2VudCBhIGRldmljZSBpbnZvbHZlZCBpbiB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoZSByZXN1bHQsIGUuZy4sIGEgZ2F0ZXdheS4gIFN1Y2ggZGV2aWNlcyBtYXkgYmUgZG9jdW1lbnRlZCB1c2luZyB0aGUgUHJvdmVuYW5jZSByZXNvdXJjZSB3aGVyZSByZWxldmFudC4iLz4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2VSYW5nZSIgZGVzY3JpcHRpb249IlByb3ZpZGVzIGd1aWRlIGZvciBpbnRlcnByZXRhdGlvbiIgZGVmaW5pdGlvbj0iR3VpZGFuY2Ugb24gaG93IHRvIGludGVycHJldCB0aGUgdmFsdWUgYnkgY29tcGFyaXNvbiB0byBhIG5vcm1hbCBvciByZWNvbW1lbmRlZCByYW5nZS4gIE11bHRpcGxlIHJlZmVyZW5jZSByYW5nZXMgYXJlIGludGVycHJldGVkIGFzIGFuICZxdW90O09SJnF1b3Q7LiAgIEluIG90aGVyIHdvcmRzLCB0byByZXByZXNlbnQgdHdvIGRpc3RpbmN0IHRhcmdldCBwb3B1bGF0aW9ucywgdHdvIGByZWZlcmVuY2VSYW5nZWAgZWxlbWVudHMgd291bGQgYmUgdXNlZC4iIGNvbW1lbnQ9Ik1vc3Qgb2JzZXJ2YXRpb25zIG9ubHkgaGF2ZSBvbmUgZ2VuZXJpYyByZWZlcmVuY2UgcmFuZ2UuIFN5c3RlbXMgTUFZIGNob29zZSB0byByZXN0cmljdCB0byBvbmx5IHN1cHBseWluZyB0aGUgcmVsZXZhbnQgcmVmZXJlbmNlIHJhbmdlIGJhc2VkIG9uIGtub3dsZWRnZSBhYm91dCB0aGUgcGF0aWVudCAoZS5nLiwgc3BlY2lmaWMgdG8gdGhlIHBhdGllbnQncyBhZ2UsIGdlbmRlciwgd2VpZ2h0IGFuZCBvdGhlciBmYWN0b3JzKSwgYnV0IHRoaXMgbWlnaHQgbm90IGJlIHBvc3NpYmxlIG9yIGFwcHJvcHJpYXRlLiBXaGVuZXZlciBtb3JlIHRoYW4gb25lIHJlZmVyZW5jZSByYW5nZSBpcyBzdXBwbGllZCwgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlbSBTSE9VTEQgYmUgcHJvdmlkZWQgaW4gdGhlIHJlZmVyZW5jZSByYW5nZSBhbmQvb3IgYWdlIHByb3BlcnRpZXMuIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciIgZWxlbWVudFR5cGU9IlFJQ29yZS5PYnNlcnZhdGlvbi5SZWZlcmVuY2VSYW5nZSIvPgogICAgICAgICAgICA8Y29uc3RyYWludCBuYW1lPSJvYnMtMyIgc2V2ZXJpdHk9IkVSUk9SIiBtZXNzYWdlPSJNdXN0IGhhdmUgYXQgbGVhc3QgYSBsb3cgb3IgYSBoaWdoIG9yIHRleHQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249Imxvdy5leGlzdHMoKSBvciBoaWdoLmV4aXN0cygpIG9yIHRleHQuZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJoYXNNZW1iZXIiIGRlc2NyaXB0aW9uPSJVc2VkIHdoZW4gcmVwb3J0aW5nIHZpdGFsIHNpZ25zIHBhbmVsIGNvbXBvbmVudHMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgdml0YWwgc2lnbnMgcGFuZWwgY29tcG9uZW50cy4iIGNvbW1lbnQ9IldoZW4gdXNpbmcgdGhpcyBlbGVtZW50LCBhbiBvYnNlcnZhdGlvbiB3aWxsIHR5cGljYWxseSBoYXZlIGVpdGhlciBhIHZhbHVlIG9yIGEgc2V0IG9mIHJlbGF0ZWQgcmVzb3VyY2VzLCBhbHRob3VnaCBib3RoIG1heSBiZSBwcmVzZW50IGluIHNvbWUgY2FzZXMuICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4gIE5vdGUgdGhhdCBhIHN5c3RlbSBtYXkgY2FsY3VsYXRlIHJlc3VsdHMgZnJvbSBbUXVlc3Rpb25uYWlyZVJlc3BvbnNlXShodHRwOi8vaGw3Lm9yZy9maGlyL3F1ZXN0aW9ubmFpcmVyZXNwb25zZS5odG1sKSAgaW50byBhIGZpbmFsIHNjb3JlIGFuZCByZXByZXNlbnQgdGhlIHNjb3JlIGFzIGFuIE9ic2VydmF0aW9uLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuUmVmZXJlbmNlIi8+CiAgICAgICAgPC9lbGVtZW50PgogICAgICAgIDxlbGVtZW50IG5hbWU9ImRlcml2ZWRGcm9tIiBkZXNjcmlwdGlvbj0iUmVsYXRlZCBtZWFzdXJlbWVudHMgdGhlIG9ic2VydmF0aW9uIGlzIG1hZGUgZnJvbSIgZGVmaW5pdGlvbj0iVGhlIHRhcmdldCByZXNvdXJjZSB0aGF0IHJlcHJlc2VudHMgYSBtZWFzdXJlbWVudCBmcm9tIHdoaWNoIHRoaXMgb2JzZXJ2YXRpb24gdmFsdWUgaXMgZGVyaXZlZC4gRm9yIGV4YW1wbGUsIGEgY2FsY3VsYXRlZCBhbmlvbiBnYXAgb3IgYSBmZXRhbCBtZWFzdXJlbWVudCBiYXNlZCBvbiBhbiB1bHRyYXNvdW5kIGltYWdlLiIgY29tbWVudD0iQWxsIHRoZSByZWZlcmVuY2UgY2hvaWNlcyB0aGF0IGFyZSBsaXN0ZWQgaW4gdGhpcyBlbGVtZW50IGNhbiByZXByZXNlbnQgY2xpbmljYWwgb2JzZXJ2YXRpb25zIGFuZCBvdGhlciBtZWFzdXJlbWVudHMgdGhhdCBtYXkgYmUgdGhlIHNvdXJjZSBmb3IgYSBkZXJpdmVkIHZhbHVlLiAgVGhlIG1vc3QgY29tbW9uIHJlZmVyZW5jZSB3aWxsIGJlIGFub3RoZXIgT2JzZXJ2YXRpb24uICBGb3IgYSBkaXNjdXNzaW9uIG9uIHRoZSB3YXlzIE9ic2VydmF0aW9ucyBjYW4gYXNzZW1ibGVkIGluIGdyb3VwcyB0b2dldGhlciwgc2VlIFtOb3Rlc10oaHR0cDovL2hsNy5vcmcvZmhpci9vYnNlcnZhdGlvbi5odG1sI29ic2dyb3VwaW5nKSBiZWxvdy4iPgogICAgICAgICAgICA8ZWxlbWVudFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIiBlbGVtZW50VHlwZT0iUUlDb3JlLlJlZmVyZW5jZSIvPgogICAgICAgIDwvZWxlbWVudD4KICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb21wb25lbnQiIGRlc2NyaXB0aW9uPSIoVVNDREkpIENvbXBvbmVudCBvYnNlcnZhdGlvbnMiIGRlZmluaXRpb249IlVzZWQgd2hlbiByZXBvcnRpbmcgY29tcG9uZW50IG9ic2VydmF0aW9uIHN1Y2ggYXMgc3lzdG9saWMgYW5kIGRpYXN0b2xpYyBibG9vZCBwcmVzc3VyZS4iIGNvbW1lbnQ9IkZvciBhIGRpc2N1c3Npb24gb24gdGhlIHdheXMgT2JzZXJ2YXRpb25zIGNhbiBiZSBhc3NlbWJsZWQgaW4gZ3JvdXBzIHRvZ2V0aGVyIHNlZSBbTm90ZXNdKGh0dHA6Ly9obDcub3JnL2ZoaXIvb2JzZXJ2YXRpb24uaHRtbCNub3RlcykgYmVsb3cuIiBtdXN0U3VwcG9ydD0idHJ1ZSI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiIGVsZW1lbnRUeXBlPSJRSUNvcmUuT2JzZXJ2YXRpb24uQ29tcG9uZW50Ii8+CiAgICAgICAgICAgIDxjb25zdHJhaW50IG5hbWU9InZzLTMiIHNldmVyaXR5PSJFUlJPUiIgbWVzc2FnZT0iSWYgdGhlcmUgaXMgbm8gYSB2YWx1ZSBhIGRhdGEgYWJzZW50IHJlYXNvbiBtdXN0IGJlIHByZXNlbnQiPgogICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbGFuZ3VhZ2U9InRleHQvZmhpcnBhdGgiIGV4cHJlc3Npb249InZhbHVlLmV4aXN0cygpIG9yIGRhdGFBYnNlbnRSZWFzb24uZXhpc3RzKCkiLz4KICAgICAgICAgICAgPC9jb25zdHJhaW50PgogICAgICAgIDwvZWxlbWVudD4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVuaXRzT2ZUaW1lIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uU3RyaW5nIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IlVzYWdlQ29udGV4dCIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1VzYWdlQ29udGV4dCIgbGFiZWw9IlVzYWdlQ29udGV4dCIgcmV0cmlldmFibGU9ImZhbHNlIiBwcmltYXJ5Q29kZVBhdGg9ImNvZGUiIGJhc2VUeXBlPSJRSUNvcmUuRWxlbWVudCI+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSIgZWxlbWVudFR5cGU9IlN5c3RlbS5Db2RlIiB0YXJnZXQ9IkZISVJIZWxwZXJzLlRvQ29kZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVHlwZSBvZiBjb250ZXh0IGJlaW5nIHNwZWNpZmllZCIgZGVmaW5pdGlvbj0iQSBjb2RlIHRoYXQgaWRlbnRpZmllcyB0aGUgdHlwZSBvZiBjb250ZXh0IGJlaW5nIHNwZWNpZmllZCBieSB0aGlzIHVzYWdlIGNvbnRleHQuIj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iVXNhZ2VDb250ZXh0VHlwZSIgZGVzY3JpcHRpb249IkEgY29kZSB0aGF0IHNwZWNpZmllcyBhIHR5cGUgb2YgY29udGV4dCBiZWluZyBzcGVjaWZpZWQgYnkgYSB1c2FnZSBjb250ZXh0LiIgc3RyZW5ndGg9IkV4dGVuc2libGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiIHRhcmdldD0iRkhJUkhlbHBlcnMuVG9WYWx1ZSgldmFsdWUpIiBkZXNjcmlwdGlvbj0iVmFsdWUgdGhhdCBkZWZpbmVzIHRoZSBjb250ZXh0IiBkZWZpbml0aW9uPSJBIHZhbHVlIHRoYXQgZGVmaW5lcyB0aGUgY29udGV4dCBzcGVjaWZpZWQgaW4gdGhpcyBjb250ZXh0IG9mIHVzZS4gVGhlIGludGVycHJldGF0aW9uIG9mIHRoZSB2YWx1ZSBpcyBkZWZpbmVkIGJ5IHRoZSBjb2RlLiI+CiAgICAgICAgICAgIDxlbGVtZW50VHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJDb25jZXB0Ii8+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgPC9jaG9pY2U+CiAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWZlcmVuY2UiLz4KICAgICAgICAgICAgPC9lbGVtZW50VHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPGJpbmRpbmcgbmFtZT0iVXNhZ2VDb250ZXh0VmFsdWUiIGRlc2NyaXB0aW9uPSJBIGNvZGUgdGhhdCBkZWZpbmVzIHRoZSBzcGVjaWZpYyB2YWx1ZSBmb3IgdGhlIGNvbnRleHQgYmVpbmcgc3BlY2lmaWVkLiIgc3RyZW5ndGg9IkV4YW1wbGUiLz4KICAgICAgICA8L2VsZW1lbnQ+CiAgICA8L3R5cGVJbmZvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJVc2UiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5TdHJpbmciLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iYWJhdGVtZW50IiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vZmFtaWx5bWVtYmVyaGlzdG9yeS1hYmF0ZW1lbnQiIGxhYmVsPSJhYmF0ZW1lbnQiIHJldHJpZXZhYmxlPSJmYWxzZSI+CiAgICAgICAgPGJhc2VUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIiBuYW1lc3BhY2U9IlN5c3RlbSIgbmFtZT0iRGF0ZSIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJRdWFudGl0eSIvPgogICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiIG5hbWVzcGFjZT0iU3lzdGVtIiBuYW1lPSJCb29sZWFuIi8+CiAgICAgICAgPC9iYXNlVHlwZVNwZWNpZmllcj4KICAgIDwvdHlwZUluZm8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9ImFzc2VydGVkRGF0ZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL2NvbmRpdGlvbi1hc3NlcnRlZERhdGUiIGxhYmVsPSJhc3NlcnRlZERhdGUiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5EYXRlVGltZSIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJjb21wbGV0aW9uTW9kZSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL3F1ZXN0aW9ubmFpcmVyZXNwb25zZS1jb21wbGV0aW9uTW9kZSIgbGFiZWw9ImNvbXBsZXRpb25Nb2RlIiByZXRyaWV2YWJsZT0iZmFsc2UiIGJhc2VUeXBlPSJTeXN0ZW0uQ29uY2VwdCIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJwcmVmZXJyZWQiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9pc28yMTA5MC1wcmVmZXJyZWQiIGxhYmVsPSJwcmVmZXJyZWQiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5Cb29sZWFuIi8+CiAgICA8dHlwZUluZm8geHNpOnR5cGU9IkNsYXNzSW5mbyIgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9InJlc29sdXRpb25BZ2UiIGlkZW50aWZpZXI9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9hbGxlcmd5aW50b2xlcmFuY2UtcmVzb2x1dGlvbkFnZSIgbGFiZWw9InJlc29sdXRpb25BZ2UiIHJldHJpZXZhYmxlPSJmYWxzZSIgYmFzZVR5cGU9IlN5c3RlbS5RdWFudGl0eSIvPgogICAgPHR5cGVJbmZvIHhzaTp0eXBlPSJDbGFzc0luZm8iIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJzZXZlcml0eSIgaWRlbnRpZmllcj0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL2ZhbWlseW1lbWJlcmhpc3Rvcnktc2V2ZXJpdHkiIGxhYmVsPSJzZXZlcml0eSIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iU3lzdGVtLkNvbmNlcHQiLz4KICAgIDx0eXBlSW5mbyB4c2k6dHlwZT0iQ2xhc3NJbmZvIiBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0ic2lnbmF0dXJlIiBpZGVudGlmaWVyPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vcXVlc3Rpb25uYWlyZXJlc3BvbnNlLXNpZ25hdHVyZSIgbGFiZWw9InNpZ25hdHVyZSIgcmV0cmlldmFibGU9ImZhbHNlIiBiYXNlVHlwZT0iUUlDb3JlLlNpZ25hdHVyZSIvPgogICAgPGNvbnRleHRJbmZvIG5hbWU9IlByYWN0aXRpb25lciIga2V5RWxlbWVudD0iaWQiPgogICAgICAgIDxjb250ZXh0VHlwZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUHJhY3RpdGlvbmVyIi8+CiAgICA8L2NvbnRleHRJbmZvPgogICAgPGNvbnRleHRJbmZvIG5hbWU9IkRldmljZSIga2V5RWxlbWVudD0iaWQiPgogICAgICAgIDxjb250ZXh0VHlwZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iRGV2aWNlIi8+CiAgICA8L2NvbnRleHRJbmZvPgogICAgPGNvbnRleHRJbmZvIG5hbWU9IlBhdGllbnQiIGtleUVsZW1lbnQ9ImlkIiBiaXJ0aERhdGVFbGVtZW50PSJiaXJ0aERhdGUiPgogICAgICAgIDxjb250ZXh0VHlwZSBuYW1lc3BhY2U9IlFJQ29yZSIgbmFtZT0iUGF0aWVudCIvPgogICAgPC9jb250ZXh0SW5mbz4KICAgIDxjb250ZXh0SW5mbyBuYW1lPSJFbmNvdW50ZXIiIGtleUVsZW1lbnQ9ImlkIj4KICAgICAgICA8Y29udGV4dFR5cGUgbmFtZXNwYWNlPSJRSUNvcmUiIG5hbWU9IkVuY291bnRlciIvPgogICAgPC9jb250ZXh0SW5mbz4KICAgIDxjb250ZXh0SW5mbyBuYW1lPSJSZWxhdGVkUGVyc29uIiBrZXlFbGVtZW50PSJpZCI+CiAgICAgICAgPGNvbnRleHRUeXBlIG5hbWVzcGFjZT0iUUlDb3JlIiBuYW1lPSJSZWxhdGVkUGVyc29uIi8+CiAgICA8L2NvbnRleHRJbmZvPgo8L21vZGVsSW5mbz4=", + "url": "https://github.com/cqframework/clinical_quality_language/blob/master/Src/java/quick/src/main/resources/org/hl7/fhir/qicore-modelinfo-6.0.0.xml" } ] }