Memory Profile<\/strong> - shows dynamic memory information during application's lifespan.<\/p>\n<p><img src=https://samsungtizenos.com/"media//memory_profile.png/" alt=\"Memory Profile\" \/><\/p>\n<p>The chart has 3 types of the curves:<\/p>\n<ul>\n<li>Heap Allocated - allocated dynamic memory for objects.<\/li>\n<li>Heap Reserved - reserved dynamic memory for allocations.<\/li>\n<li>Unmanaged - total dynamic memory which application consumes.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Data Type Allocations<\/strong> - shows information about all allocations during application's lifespan.<\/p>\n<p><img src=https://samsungtizenos.com/"media//data_type_allocations.png/" alt=\"Data Type Allocations\" \/><\/p>\n<p>There is list of all memory allocations. A list entry has the next fields:<\/p>\n<ul>\n<li>Name - name of the data type.<\/li>\n<li>Objects Count - number of the allocated objects.<\/li>\n<li>Memory Size - total of allocated memory of the appropriate data type.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Data Type Charts<\/strong> - shows detailed information about all allocations during application's lifespan.<\/p>\n<p><img src=https://samsungtizenos.com/"media//data_type_charts.png/" alt=\"Data Type Charts\" \/><\/p>\n<p>The tab has two areas:<\/p>\n<ul>\n<li>Chart - represents allocated memory by data type during application's lifespan.<\/li>\n<li>List of the allocations - list of all allocations which can be represented in the chart. A list entry has the next fields:\n<ul>\n<li>Display - represent appropriate entry in the chart or not.<\/li>\n<li>Count Max - max number of the allocated objects at once.<\/li>\n<li>Count Avg - average number of the allocated objects.<\/li>\n<li>Size Max - max size of the allocated memory at once.<\/li>\n<li>Size Avg - average size of the allocated memory.<\/li>\n<li>Name - name of the data type.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n","table_of_content":"<ul class=\"table-of-contents\">\n<li><a href=https://samsungtizenos.com/"#content-configuring-and-running-profiling\">Configuring and running profiling<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-live-profiling\">Live profiling<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-profiling-progress-window\">Profiling Progress window<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-managing-session\">Managing session<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-analyzing-session-data\">Analyzing session data<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-profile-session-viewer\">Profile Session viewer<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-memory-profile-session-viewer\">Memory Profile Session viewer<\/a><\/li>\n<\/ul>\n","title":"Get Started with Performance Profiling","raw":null},{"class":"App\\Services\\Documentation\\Data\\RenderedMarkdown","s":"wrbl"}]},"memo":{"id":"f78otcxebF38xNa7i6Bv","name":"documentation::article","path":"docs\/sdk-tools\/dotnet\/visual-studio\/vstools\/tools\/profiler-user-manual","method":"GET","release":"a-a-a","children":[],"scripts":[],"assets":[],"lazyLoaded":false,"lazyIsolated":true,"errors":[],"locale":"en","islands":[]},"checksum":"6fa9292533c6c6513587370e00e49e72939f5cbb1fc6d9900bfd2acede10fcdd"}" wire:effects="[]" wire:id="f78otcxebF38xNa7i6Bv" wire:name="documentation::article" x-init="$wire.__lazyLoad('eyJkYXRhIjp7ImZvck1vdW50IjpbeyJtYXJrZG93biI6W3siYm9keSI6IjxoMSBpZD1cImNvbnRlbnQtZ2V0LXN0YXJ0ZWQtd2l0aC1wZXJmb3JtYW5jZS1wcm9maWxpbmdcIj48YSBocmVmPVwiI2NvbnRlbnQtZ2V0LXN0YXJ0ZWQtd2l0aC1wZXJmb3JtYW5jZS1wcm9maWxpbmdcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkdldCBTdGFydGVkIHdpdGggUGVyZm9ybWFuY2UgUHJvZmlsaW5nPFwvaDE+PGRpdiBkYXRhLWtub3dsZWRnZS1iYXNlLW1ldGFkYXRhPjxcL2Rpdj5cbjxoMiBpZD1cImNvbnRlbnQtY29uZmlndXJpbmctYW5kLXJ1bm5pbmctcHJvZmlsaW5nXCI+PGEgaHJlZj1cIiNjb250ZW50LWNvbmZpZ3VyaW5nLWFuZC1ydW5uaW5nLXByb2ZpbGluZ1wiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+Q29uZmlndXJpbmcgYW5kIHJ1bm5pbmcgcHJvZmlsaW5nPFwvaDI+XG48dWw+XG48bGk+XG48cD5UbyBzdGFydCBwcm9maWxpbmcgc2VsZWN0IGluIHRoZSBtZW51IDxzdHJvbmc+VG9vbHMgJmd0OyBUaXplbiAmZ3Q7IFByb2ZpbGVyICZndDsgUnVuIHByb2ZpbGVyPFwvc3Ryb25nPi48XC9wPlxuPHA+PGltZyBzcmM9XCJtZWRpYVwvcnVuX3Byb2ZpbGVyLnBuZ1wiIGFsdD1cIlJ1biBQcm9maWxlclwiIFwvPjxcL3A+XG48XC9saT5cbjxsaT5cbjxwPjxzdHJvbmc+UHJvZmlsZXIgU2V0dGluZzxcL3N0cm9uZz4gd2luZG93IHdpbGwgYmUgb3BlbmVkLjxcL3A+XG48cD48aW1nIHNyYz1cIm1lZGlhXC9ydW5fcHJvZmlsZXJfc2V0dGluZy5wbmdcIiBhbHQ9XCJSdW4gUHJvZmlsZXIgU2V0dGluZ1wiIFwvPjxcL3A+XG48dWw+XG48bGk+XG48cD48c3Ryb25nPlBhdGggdG8gYXBwbGljYXRpb248XC9zdHJvbmc+IHdpbGwgYmUgc2V0IHVwIGF1dG9tYXRpY2FsbHkgaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBvcGVuZWQgU29sdXRpb24uPFwvcD5cbjxcL2xpPlxuPGxpPlxuPHA+PHN0cm9uZz5Qcm9maWxpbmcgcHJlc2V0PFwvc3Ryb25nPiAtIHByZWRlZmluZWQgc2V0cyBvZiBvcHRpb25zIGZvciBkaWZmZXJlbnQgcHJvZmlsaW5nIGFzcGVjdHMgKENQVSwgTWVtb3J5IEFsbG9jYXRpb24sIFNvdXJjZSBMaW5lcykuIFRoZSBsZXNzIG9wdGlvbnMgYXJlIGluY2x1ZGVkIC0gdGhlIGxlc3Mgb3ZlcmhlYWQgYW5kIGxlc3MgZGF0YSBhcmUgY29sbGVjdGVkIGFuZCBwcm9jZXNzZWQuPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPlByb2ZpbGluZyBwcmVzZXQ8XC90aD5cbjx0aCBhbGlnbj1cImNlbnRlclwiPkNQVTxcL3RoPlxuPHRoIGFsaWduPVwiY2VudGVyXCI+TWVtb3J5IEFsbG9jYXRpb248XC90aD5cbjx0aCBhbGlnbj1cImNlbnRlclwiPlNvdXJjZSBMaW5lczxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjx0Ym9keT5cbjx0cj5cbjx0ZD5DUFUgU2FtcGxpbmc8XC90ZD5cbjx0ZCBhbGlnbj1cImNlbnRlclwiPis8XC90ZD5cbjx0ZCBhbGlnbj1cImNlbnRlclwiPi08XC90ZD5cbjx0ZCBhbGlnbj1cImNlbnRlclwiPis8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPk1lbW9yeSBBbGxvY2F0aW9uPFwvdGQ+XG48dGQgYWxpZ249XCJjZW50ZXJcIj4tPFwvdGQ+XG48dGQgYWxpZ249XCJjZW50ZXJcIj4rPFwvdGQ+XG48dGQgYWxpZ249XCJjZW50ZXJcIj4rPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5Db21wbGV4IFByb2ZpbGluZzxcL3RkPlxuPHRkIGFsaWduPVwiY2VudGVyXCI+KzxcL3RkPlxuPHRkIGFsaWduPVwiY2VudGVyXCI+KzxcL3RkPlxuPHRkIGFsaWduPVwiY2VudGVyXCI+KzxcL3RkPlxuPFwvdHI+XG48XC90Ym9keT5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxcL2xpPlxuPGxpPlxuPHA+PHN0cm9uZz5PcHRpb25zPFwvc3Ryb25nPjxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5PcHRpb248XC90aD5cbjx0aD5EZXNjcmlwdGlvbjxcL3RoPlxuPHRoIGFsaWduPVwiY2VudGVyXCI+Q1BVIFNhbXBsaW5nPFwvdGg+XG48dGggYWxpZ249XCJjZW50ZXJcIj5NZW1vcnkgQWxsb2NhdGlvbjxcL3RoPlxuPHRoIGFsaWduPVwiY2VudGVyXCI+Q29tcGxleCBQcm9maWxpbmc8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48dGJvZHk+XG48dHI+XG48dGQ+PHN0cm9uZz5TYW1wbGluZyBPcHRpb25zPFwvc3Ryb25nPjxcL3RkPlxuPHRkPjxcL3RkPlxuPHRkIGFsaWduPVwiY2VudGVyXCI+PFwvdGQ+XG48dGQgYWxpZ249XCJjZW50ZXJcIj48XC90ZD5cbjx0ZCBhbGlnbj1cImNlbnRlclwiPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+U2FtcGxpbmcgSW50ZXJ2YWw8XC90ZD5cbjx0ZD5UaW1lIGludGVydmFsIGJldHdlZW4gc2FtcGxlcyBpbiBtaWxpc2Vjb25kczxcL3RkPlxuPHRkIGFsaWduPVwiY2VudGVyXCI+MTA8XC90ZD5cbjx0ZCBhbGlnbj1cImNlbnRlclwiPjEwPFwvdGQ+XG48dGQgYWxpZ249XCJjZW50ZXJcIj4xMDxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+SGlnaCBHcmFudWxhcml0eTxcL3RkPlxuPHRkPkVuYWJsZSBoaWdoIGFjY3VyYWN5IGFuZCBzYXR1cmF0ZWQgc2FtcGxlcy4gSWYgb3B0aW9uIGlzIGRpc2FibGVkLCBzYW1wbGVzIHdpbGwgYmUgZHVtcGVkIG9ubHkgb24gYWxsb2NhdGlvbiBhbmQgc3RhY2sgY2hhbmdpbmcgZXZlbnRzPFwvdGQ+XG48dGQgYWxpZ249XCJjZW50ZXJcIj5vbjxcL3RkPlxuPHRkIGFsaWduPVwiY2VudGVyXCI+b248XC90ZD5cbjx0ZCBhbGlnbj1cImNlbnRlclwiPm9uPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48c3Ryb25nPlRyYWNlIE9wdGlvbnM8XC9zdHJvbmc+PFwvdGQ+XG48dGQ+PFwvdGQ+XG48dGQgYWxpZ249XCJjZW50ZXJcIj48XC90ZD5cbjx0ZCBhbGlnbj1cImNlbnRlclwiPjxcL3RkPlxuPHRkIGFsaWduPVwiY2VudGVyXCI+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5UcmFjZSBFeGVjdXRpb248XC90ZD5cbjx0ZD5FbmFibGUgdHJhY2tpbmcgb2YgaW5mb3JtYXRpb24gYWJvdXQgZXhlY3V0aW9uIHN0YWNrIGNoYW5nZXM8XC90ZD5cbjx0ZCBhbGlnbj1cImNlbnRlclwiPm9uPFwvdGQ+XG48dGQgYWxpZ249XCJjZW50ZXJcIj5vZmY8XC90ZD5cbjx0ZCBhbGlnbj1cImNlbnRlclwiPm9uPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5UcmFjZSBNZW1vcnk8XC90ZD5cbjx0ZD5FbmFibGUgdHJhY2tpbmcgb2YgaW5mb3JtYXRpb24gYWJvdXQgYWxsb2NhdGlvbnM8XC90ZD5cbjx0ZCBhbGlnbj1cImNlbnRlclwiPm9mZjxcL3RkPlxuPHRkIGFsaWduPVwiY2VudGVyXCI+b248XC90ZD5cbjx0ZCBhbGlnbj1cImNlbnRlclwiPm9uPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5UcmFjZSBHYXJiYWdlIENvbGxlY3Rpb248XC90ZD5cbjx0ZD5FbmFibGUgdHJhY2tpbmcgb2YgaW5mb3JtYXRpb24gYWJvdXQgR2FyYmFnZSBDb2xsZWN0b3IgZXZlbnRzPFwvdGQ+XG48dGQgYWxpZ249XCJjZW50ZXJcIj4tPFwvdGQ+XG48dGQgYWxpZ249XCJjZW50ZXJcIj5vbjxcL3RkPlxuPHRkIGFsaWduPVwiY2VudGVyXCI+b248XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPlRyYWNlIFNvdXJjZSBMaW5lczxcL3RkPlxuPHRkPkVuYWJsZSB0cmFja2luZyBvZiBpbnN0cnVjdGlvbiBwb2ludGVycyBmb3Igc2FtcGxlcy4gUHJvZmlsZXIgZ2VuZXJhdGVzIGluZm9ybWF0aW9uIGFib3V0IElMIHRvIG5hdGl2ZSBjb2RlIG1hcHBpbmcgdGhhdCBjYW4gYmUgdXNlZCBmb3IgbWF0Y2hpbmcgYmV0d2VlbiBJUCBhbmQgc291cmNlIGNvZGUgZnJhZ21lbnRzPFwvdGQ+XG48dGQgYWxpZ249XCJjZW50ZXJcIj5vbjxcL3RkPlxuPHRkIGFsaWduPVwiY2VudGVyXCI+b248XC90ZD5cbjx0ZCBhbGlnbj1cImNlbnRlclwiPm9uPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5TdGFjayBUcmFjazxcL3RkPlxuPHRkPkVuYWJsZSB0cmFja2luZyBvZiBleGVjdXRpb24gc3RhY2sgc3RhdGUgZm9yIG1lbW9yeSBhbGxvY2F0aW9uczxcL3RkPlxuPHRkIGFsaWduPVwiY2VudGVyXCI+LTxcL3RkPlxuPHRkIGFsaWduPVwiY2VudGVyXCI+b2ZmPFwvdGQ+XG48dGQgYWxpZ249XCJjZW50ZXJcIj5vbjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PHN0cm9uZz5DUFUgVHJhY2luZyBPcHRpb25zPFwvc3Ryb25nPjxcL3RkPlxuPHRkPjxcL3RkPlxuPHRkIGFsaWduPVwiY2VudGVyXCI+PFwvdGQ+XG48dGQgYWxpZ249XCJjZW50ZXJcIj48XC90ZD5cbjx0ZCBhbGlnbj1cImNlbnRlclwiPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+RW5hYmxlIENQVTxcL3RkPlxuPHRkPkVuYWJsZSB0cmFja2luZyBvZiBDUFUgdXNhZ2UgYnkgcHJvY2VzcyBhbmRcL29yIG1hbmFnZWQgdGhyZWFkczxcL3RkPlxuPHRkIGFsaWduPVwiY2VudGVyXCI+b248XC90ZD5cbjx0ZCBhbGlnbj1cImNlbnRlclwiPm9uPFwvdGQ+XG48dGQgYWxpZ249XCJjZW50ZXJcIj5vbjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+VHJhY2UgUHJvY2VzczxcL3RkPlxuPHRkPkVuYWJsZSB0cmFja2luZyBvZiBDUFUgdXNhZ2UgYnkgYXBwbGljYXRpb24gcHJvY2VzczxcL3RkPlxuPHRkIGFsaWduPVwiY2VudGVyXCI+b248XC90ZD5cbjx0ZCBhbGlnbj1cImNlbnRlclwiPm9uPFwvdGQ+XG48dGQgYWxpZ249XCJjZW50ZXJcIj5vbjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+VHJhY2UgVGhyZWFkczxcL3RkPlxuPHRkPkVuYWJsZSB0cmFja2luZyBvZiBDUFUgdXNhZ2UgYnkgYXBwbGljYXRpb24gbWFuYWdlZCB0aHJlYWRzPFwvdGQ+XG48dGQgYWxpZ249XCJjZW50ZXJcIj5vbjxcL3RkPlxuPHRkIGFsaWduPVwiY2VudGVyXCI+b248XC90ZD5cbjx0ZCBhbGlnbj1cImNlbnRlclwiPm9uPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5UcmFjZSBJbnRlcnZhbDxcL3RkPlxuPHRkPlRpbWVvdXQgYmV0d2VlbiBDUFUgdXNhZ2UgbWVhc3VyZW1lbnRzIGluIG1pbGxpc2Vjb25kczxcL3RkPlxuPHRkIGFsaWduPVwiY2VudGVyXCI+MTA8XC90ZD5cbjx0ZCBhbGlnbj1cImNlbnRlclwiPjEwPFwvdGQ+XG48dGQgYWxpZ249XCJjZW50ZXJcIj4xMDxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PHN0cm9uZz5NaXNjIE9wdGlvbnM8XC9zdHJvbmc+PFwvdGQ+XG48dGQ+PFwvdGQ+XG48dGQgYWxpZ249XCJjZW50ZXJcIj48XC90ZD5cbjx0ZCBhbGlnbj1cImNlbnRlclwiPjxcL3RkPlxuPHRkIGFsaWduPVwiY2VudGVyXCI+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5EZWxheWVkIHN0YXJ0PFwvdGQ+XG48dGQ+RGVsYXkgc3RhcnQgb2YgcHJvZmlsaW5nLiBUbyBzdGFydCBwcm9maWxpbmcgaXQgaXMgbmVlZCB0byBjbGljayA8c3Ryb25nPlN0YXJ0PFwvc3Ryb25nPiBidXR0b24gaW4gdGhlIDxzdHJvbmc+UHJvZmlsaW5nIFByb2dyZXNzPFwvc3Ryb25nPiB3aW5kb3c8XC90ZD5cbjx0ZCBhbGlnbj1cImNlbnRlclwiPm9mZjxcL3RkPlxuPHRkIGFsaWduPVwiY2VudGVyXCI+b2ZmPFwvdGQ+XG48dGQgYWxpZ249XCJjZW50ZXJcIj5vZmY8XC90ZD5cbjxcL3RyPlxuPFwvdGJvZHk+XG48XC90YWJsZT48XC9kaXY+XG48XC9saT5cbjxsaT5cbjxwPkNsaWNrIDxzdHJvbmc+T2s8XC9zdHJvbmc+IGJ1dHRvbi48XC9wPlxuPFwvbGk+XG48bGk+XG48cD48c3Ryb25nPk91dHB1dDxcL3N0cm9uZz4gd2luZG93IChoaWdobGlnaHRlZCB3aXRoIG9yYW5nZSByZWN0YW5nbGUsIGFsc28gYmUgc3VyZSB0aGF0IHdpbmRvdyBzaG93cyBvdXRwdXQgZnJvbSBUaXplbiAoZ3JlZW4gaGlnaGxpZ2h0KSkgYW5kIDxzdHJvbmc+UHJvZmlsaW5nIFByb2dyZXNzPFwvc3Ryb25nPiB3aW5kb3cgKHJlZCBoaWdobGlnaHQpIHdpbGwgYmUgYmVpbmcgc2hvd24gZHVyaW5nIHByb2ZpbGluZy48XC9wPlxuPHA+PGltZyBzcmM9XCJtZWRpYVwvcHJvZmlsZXJfd29ya3NwYWNlLnBuZ1wiIGFsdD1cIlByb2ZpbGluZyBEZWZhdWx0IFdvcmtzcGFjZVwiIFwvPjxcL3A+XG48XC9saT5cbjxsaT5cbjxwPlRvIHN0b3AgcHJvZmlsaW5nIGNsaWNrIDxzdHJvbmc+U3RvcDxcL3N0cm9uZz4gYnV0dG9uIGluIHRoZSA8c3Ryb25nPlByb2ZpbGluZyBQcm9ncmVzczxcL3N0cm9uZz4gd2luZG93LiA8c3Ryb25nPk91dHB1dDxcL3N0cm9uZz4gd2luZG93IHdpbGwgZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBzdG9wcGluZyBwcm9maWxpbmcgcHJvY2Vzcy48XC9wPlxuPHA+PGltZyBzcmM9XCJtZWRpYVwvZXhlY3V0ZV9zdG9wLnBuZ1wiIGFsdD1cIkV4ZWN1dGUgU3RvcFwiIFwvPjxcL3A+XG48XC9saT5cbjxsaT5cbjxwPkluIHRoZSByZXN1bHQgc2Vzc2lvbiBlbnRpdHkgd2lsbCBiZSBnZW5lcmF0ZWQgd2hpY2ggY2FuIGJlIG9wZW5lZCBhbmQgbWFuYWdlZCB2aWEgPHN0cm9uZz5TZXNzaW9uIEV4cGxvcmVyPFwvc3Ryb25nPiB3aW5kb3cuPFwvcD5cbjxcL2xpPlxuPFwvdWw+XG48XC9saT5cbjxcL3VsPlxuPGgyIGlkPVwiY29udGVudC1saXZlLXByb2ZpbGluZ1wiPjxhIGhyZWY9XCIjY29udGVudC1saXZlLXByb2ZpbGluZ1wiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+TGl2ZSBwcm9maWxpbmc8XC9oMj5cbjxwPjxzdHJvbmc+TGl2ZSBQcm9maWxpbmc8XC9zdHJvbmc+IGFsbG93cyB0byBwcm9maWxlIGFuIGFwcGxpY2F0aW9uIGR1cmluZyBkZWJ1Z2dpbmcuPFwvcD5cbjx1bD5cbjxsaT5cbjxwPlRvIGVuYWJsZSA8c3Ryb25nPkxpdmUgUHJvZmlsaW5nPFwvc3Ryb25nPiB0aGUgbmV4dCBhY3Rpb25zIGFyZSBuZWVkOjxcL3A+XG48dWw+XG48bGk+VG8gb3BlbiA8c3Ryb25nPlRpemVuPFwvc3Ryb25nPiBvcHRpb25zIHNlbGVjdCBpbiB0aGUgbWVudSA8c3Ryb25nPlRvb2xzICZndDsgT3B0aW9ucyAmZ3Q7IFRpemVuICZndDsgVG9vbHM8XC9zdHJvbmc+LjxcL2xpPlxuPGxpPlR1cm4gb24gb3B0aW9uIDxjb2RlPlVzZSBuZXcgZGVidWdnZXIgd2hlbiBhdmFpbGFibGU8XC9jb2RlPi48XC9saT5cbjxsaT5UdXJuIG9uIG9wdGlvbiA8Y29kZT5Vc2UgTGl2ZSBQcm9maWxlciBvbiBkZWJ1Z2dpbmc8XC9jb2RlPi48XC9saT5cbjxcL3VsPlxuPHA+PGltZyBzcmM9XCJtZWRpYVwvdGl6ZW5fb3B0aW9uc19saXZlX3Byb2ZpbGVyLnBuZ1wiIGFsdD1cIlRpemVuIG9wdGlvbnNcIiBcLz48XC9wPlxuPFwvbGk+XG48XC91bD5cbjxoMiBpZD1cImNvbnRlbnQtcHJvZmlsaW5nLXByb2dyZXNzLXdpbmRvd1wiPjxhIGhyZWY9XCIjY29udGVudC1wcm9maWxpbmctcHJvZ3Jlc3Mtd2luZG93XCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5Qcm9maWxpbmcgUHJvZ3Jlc3Mgd2luZG93PFwvaDI+XG48cD5UaGUgd2luZG93IHNob3dzIENQVSBVdGlsaXphdGlvbiBhbmQgTWVtb3J5IGNvbnN1bXB0aW9uIGJ5IGFwcGxpY2F0aW9uIGluIHRoZSByZWFsLXRpbWUgbW9kZS48XC9wPlxuPHA+PGltZyBzcmM9XCJtZWRpYVwvcHJvZmlsaW5nX3Byb2dyZXNzLnBuZ1wiIGFsdD1cIlByb2ZpbGluZyBQcm9ncmVzcyB3aW5kb3dcIiBcLz48XC9wPlxuPHVsPlxuPGxpPlxuPHA+T24gdGhlIHRvcCByaWdodCBjb3JuZXIgYnV0dG9ucyA8c3Ryb25nPlBhdXNlXC9SZXN1bWU8XC9zdHJvbmc+IGFuZCA8c3Ryb25nPlN0b3A8XC9zdHJvbmc+IGFyZSBsb2NhdGVkLiBCdXQgaWYgdGhlIHByb2ZpbGluZyB3YXMgc3RhcnRlZCBpbiB0aGUgPGNvZGU+RGVsYXllZDxcL2NvZGU+IG1vZGUgaW5zdGVhZCA8c3Ryb25nPlBhdXNlXC9SZXN1bWU8XC9zdHJvbmc+IGJ1dHRvbiA8c3Ryb25nPlN0YXJ0PFwvc3Ryb25nPiBidXR0b24gd2lsbCBiZSB0byBzdGFydCBwcm9maWxpbmcuPFwvcD5cbjxcL2xpPlxuPGxpPlxuPHA+RGVwZW5kcyBvbiB0aGUgcHJvZmlsaW5nIG9wdGlvbnMgaXQgaXMgcG9zc2libHkgdG8gdHJhY2sgSklUIGFuZCBHQyBldmVudHMgaW4gdGhlIHJlYWwtdGltZSBtb2RlLjxcL3A+XG48cD48aW1nIHNyYz1cIm1lZGlhXC9wcm9maWxpbmdfcHJvZ3Jlc3Nfaml0X2djLnBuZ1wiIGFsdD1cIlByb2ZpbGluZyBQcm9ncmVzcyB3aW5kb3c6IEpJVCBhbmQgR0MgZXZlbnRzXCIgXC8+PFwvcD5cbjxcL2xpPlxuPGxpPlxuPHA+SW4gdGhlIGRlYnVnIG1vZGUgdGhlIHdpbmRvdyBzaG93cyBkZWJ1Z2dlciBldmVudHMsIGZvciBleGFtcGxlIDogd2hlbiBhbiBhcHBsaWNhdGlvbiB3YXMgcGF1c2VkIGJ5IGJyZWFrcG9pbnQgb3IgZGVidWcgcGF1c2UgYnV0dG9uLjxcL3A+XG48cD48aW1nIHNyYz1cIm1lZGlhXC9wcm9maWxpbmdfcHJvZ3Jlc3NfZGVidWdnZXIucG5nXCIgYWx0PVwiUHJvZmlsaW5nIFByb2dyZXNzIHdpbmRvdzogRGVidWdnZXIgZXZlbnRzXCIgXC8+PFwvcD5cbjxcL2xpPlxuPGxpPlxuPHA+VG8gcGF1c2UgcHJvZmlsaW5nIGNsaWNrIDxzdHJvbmc+UGF1c2U8XC9zdHJvbmc+IGJ1dHRvbi48XC9wPlxuPFwvbGk+XG48bGk+XG48cD5UbyByZXN1bWUgcHJvZmlsaW5nIGNsaWNrIDxzdHJvbmc+UmVzdW1lPFwvc3Ryb25nPiBidXR0b24uPFwvcD5cbjxcL2xpPlxuPGxpPlxuPHA+VG8gc3RvcCBwcm9maWxpbmcgY2xpY2sgPHN0cm9uZz5TdG9wPFwvc3Ryb25nPiBidXR0b24uPFwvcD5cbjxcL2xpPlxuPGxpPlxuPHA+T24gdGhlIGxlZnQgYm90dG9tIGNvcm5lciBjdXJyZW50IHN0YXR1cyBpcyBkaXNwbGF5ZWQuPFwvcD5cbjxcL2xpPlxuPFwvdWw+XG48aDIgaWQ9XCJjb250ZW50LW1hbmFnaW5nLXNlc3Npb25cIj48YSBocmVmPVwiI2NvbnRlbnQtbWFuYWdpbmctc2Vzc2lvblwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+TWFuYWdpbmcgc2Vzc2lvbjxcL2gyPlxuPHVsPlxuPGxpPlxuPHA+VG8gb3BlbiA8c3Ryb25nPlNlc3Npb24gRXhwbG9yZXI8XC9zdHJvbmc+IHdpbmRvdyBzZWxlY3QgaW4gdGhlIG1lbnUgPHN0cm9uZz5Ub29scyAmZ3Q7IFRpemVuICZndDsgUHJvZmlsZXIgJmd0OyBTZXNzaW9uIEV4cGxvcmVyPFwvc3Ryb25nPi48XC9wPlxuPHA+PGltZyBzcmM9XCJtZWRpYVwvb3Blbl9zZXNzaW9uLnBuZ1wiIGFsdD1cIk9wZW4gU2Vzc2lvblwiIFwvPjxcL3A+XG48XC9saT5cbjxsaT5cbjxwPjxzdHJvbmc+U2Vzc2lvbiBFeHBsb3JlcjxcL3N0cm9uZz4gd2luZG93IGNvbnRhaW5zIGEgbGlzdCBvZiBwcm9maWxpbmcgc2Vzc2lvbnMgd2hpY2ggaGF2ZSBiZWVuIGNvbGxlY3RlZCB3aXRoaW4gb3BlbmVkIFNvbHV0aW9uLiBBIGxpc3QgZW50cnkgd2hpY2ggaXMgbWFwcGVkIHRvIHRoZSBzZXNzaW9uIGhhcyB0aGUgbmV4dCBkZXNjcmliaW5nIGZpZWxkczo8XC9wPlxuPHVsPlxuPGxpPlxuPHA+RGF0ZSAtIGRhdGUgYW5kIHRpbWUgb2YgcHJvZmlsaW5nIHNlc3Npb24uPFwvcD5cbjxcL2xpPlxuPGxpPlxuPHA+UHJlc2V0IC0gbmFtZSBvZiB0aGUgdXNlZCBQcm9maWxpbmcgcHJlc2V0IHRvIGNyZWF0ZSBwcm9maWxpbmcgc2Vzc2lvbi48XC9wPlxuPFwvbGk+XG48bGk+XG48cD5EZXZpY2UgLSBuYW1lIG9mIHRoZSB1c2VkIGRldmljZSBmb3IgcHJvZmlsaW5nLjxcL3A+XG48XC9saT5cbjxsaT5cbjxwPlByb2plY3QgLSBuYW1lIG9mIHRoZSBwcm9maWxsZWQgcHJvamVjdC48XC9wPlxuPFwvbGk+XG48bGk+XG48cD5Bbm5vdGF0aW9uIChvcHRpb25hbCkgLSB1c2VyIGRlZmluZWQgU2Vzc2lvbiBhbm5vdGF0aW9uLjxcL3A+XG48cD48aW1nIHNyYz1cIm1lZGlhXC9zZXNzaW9uX2V4cGxvcmVyLnBuZ1wiIGFsdD1cIlNlc3Npb24gRXhwbG9yZXJcIiBcLz48XC9wPlxuPFwvbGk+XG48XC91bD5cbjxcL2xpPlxuPGxpPlxuPHA+QWRkaXRpb25hbCBzZXNzaW9uJ3MgaW5mb3JtYXRpb24gaXMgZGlzcGxheWVkIGluIDxzdHJvbmc+UHJvcGVydGllczxcL3N0cm9uZz4gd2luZG93ICh1c3VhbGx5IGl0IGlzIHBsYWNlZCBiZWxvdyA8c3Ryb25nPlNlc3Npb24gRXhwbG9yZXI8XC9zdHJvbmc+IHdpbmRvdykuIFRoZSB3aW5kb3cgY29udGFpbnMgaW5mb3JtYXRpb24gYWJvdXQgc3BlY2lmaWMgc2Vzc2lvbidzIHBhcmFtZXRlcnMgdGhhdCBoYWQgYmVlbiB1c2VkIHRvIGNvbmZpZ3VyZSB0aGUgcHJvZmlsZXIgZm9yIHRoYXQgc2Vzc2lvbi4gQW5ub3RhdGlvbiBmaWVsZCBjYW4gYmUgZWRpdGVkIGluIHRoaXMgd2luZG93LjxcL3A+XG48cD48aW1nIHNyYz1cIm1lZGlhXC9zZXNzaW9uX3Byb3BlcnRpZXMucG5nXCIgYWx0PVwiU2Vzc2lvbiBQcm9wZXJ0aWVzXCIgXC8+PFwvcD5cbjxcL2xpPlxuPGxpPlxuPHA+VG8gb3BlbiBzZXNzaW9uIGRvdWJsZSBjbGljayBvbiB0aGUgc2Vzc2lvbidzIGVudHJ5LjxcL3A+XG48XC9saT5cbjxsaT5cbjxwPlRvIG1hbmFnZSBzZXNzaW9uIGNsaWNrIDxjb2RlPlJpZ2h0IE1vdXNlIEJ1dHRvbjxcL2NvZGU+IG9uIHRoZSBzZXNzaW9uJ3MgZW50cnkuPFwvcD5cbjxwPjxpbWcgc3JjPVwibWVkaWFcL21vdXNlX3JpZ2h0LnBuZ1wiIGFsdD1cIlNlc3Npb24ncyBlbnRyeSBDb250ZXh0IG1lbnVcIiBcLz48XC9wPlxuPHA+VGhlIG5leHQgcG9zc2libGUgb3BlcmF0aW9ucyB3aXRoIHNlc3Npb24gZW50cnkgYXJlIGF2YWlsYWJsZTo8XC9wPlxuPHVsPlxuPGxpPk9wZW4gUHJvZmlsZSBTZXNzaW9uPFwvbGk+XG48bGk+T3BlbiBNZW1vcnkgUHJvZmlsZSBTZXNzaW9uIChhdmFpbGFiaWxpdHkgZGVwZW5kcyBvbiB0aGUgc2Vzc2lvbidzIHBhcmFtZXRlcnMpPFwvbGk+XG48bGk+RWRpdCBBbm5vdGF0aW9uPFwvbGk+XG48bGk+RGVsZXRlPFwvbGk+XG48XC91bD5cbjxcL2xpPlxuPFwvdWw+XG48aDIgaWQ9XCJjb250ZW50LWFuYWx5emluZy1zZXNzaW9uLWRhdGFcIj48YSBocmVmPVwiI2NvbnRlbnQtYW5hbHl6aW5nLXNlc3Npb24tZGF0YVwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+QW5hbHl6aW5nIHNlc3Npb24gZGF0YTxcL2gyPlxuPHA+RGVwZW5kcyBvbiB0aGUgY2hvc2VuIFByb2ZpbGluZyBwcmVzZXQgdGhlcmUgYXJlIGF2YWlsYWJsZSB0d28gdHlwZXMgb2YgdGhlIHNlc3Npb24gZGF0YSdzIHZpZXdlcnM6PFwvcD5cbjx1bD5cbjxsaT5Qcm9maWxlIFNlc3Npb24gdmlld2VyIC0gaWYgPHN0cm9uZz5DUFUgU2FtcGxpbmdzPFwvc3Ryb25nPiBvciA8c3Ryb25nPkNvbXBsZXg8XC9zdHJvbmc+IHByZXNldCBoYWQgYmVlbiBjaG9zZW4uPFwvbGk+XG48bGk+TWVtb3J5IFByb2ZpbGUgU2Vzc2lvbiB2aWV3ZXIgLSBpZiA8c3Ryb25nPk1lbW9yeSBBbGxvY2F0aW9uPFwvc3Ryb25nPiBvciA8c3Ryb25nPkNvbXBsZXg8XC9zdHJvbmc+IHByZXNldCBoYWQgYmVlbiBjaG9zZW4uPFwvbGk+XG48XC91bD5cbjxwPklmIDxzdHJvbmc+Q29tcGxleDxcL3N0cm9uZz4gcHJlc2V0IGhhdmUgYmVlbiBjaG9zZW4gYm90aCB0eXBlcyBvZiBzZXNzaW9ucyB3aWxsIGJlIGF2YWlsYWJsZS48XC9wPlxuPGgzIGlkPVwiY29udGVudC1wcm9maWxlLXNlc3Npb24tdmlld2VyXCI+PGEgaHJlZj1cIiNjb250ZW50LXByb2ZpbGUtc2Vzc2lvbi12aWV3ZXJcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPlByb2ZpbGUgU2Vzc2lvbiB2aWV3ZXI8XC9oMz5cbjxwPjxpbWcgc3JjPVwibWVkaWFcL3Byb2ZpbGVfc2Vzc2lvbl92aWV3ZXIucG5nXCIgYWx0PVwiUHJvZmlsZSBTZXNzaW9uXCIgXC8+PFwvcD5cbjxwPlRoZSB3aW5kb3cgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHNob3duIGR1cmluZyBwcm9maWxpbmcgb3IgbGl2ZSBwcm9maWxpbmcuPFwvcD5cbjxwPlRvIG9wZW4gaXQgbWFudWFsbHkgc2VsZWN0IGluIHRoZSBtZW51IDxzdHJvbmc+VG9vbHMgJmd0OyBUaXplbiAmZ3Q7IFByb2ZpbGVyICZndDsgUHJvZmlsaW5nIFByb2dyZXNzPFwvc3Ryb25nPi48XC9wPlxuPHA+VGhlIHZpZXdlciBoYXMgdGhlIG5leHQgcGFuZWxzOjxcL3A+XG48dWw+XG48bGk+XG48cD48c3Ryb25nPkZpbHRlcnMgKHJlZCBoaWdobGlnaHQpPFwvc3Ryb25nPiAtIGNvbnNpc3RzIG9mIHRoZSBuZXh0IHR5cGVzIG9mIGZpbHRlcnM6PFwvcD5cbjx1bD5cbjxsaT5cbjxwPkNhbGwgVHJlZSBhbmQgbWV0aG9kczxcL3A+XG48dWw+XG48bGk+VGltZTxcL2xpPlxuPGxpPkFsbG9jYXRlZCBNZW1vcnk8XC9saT5cbjxsaT5TYW1wbGVzPFwvbGk+XG48XC91bD5cbjxwPkRlcGVuZHMgb24gdGhlIHNlbGVjdGVkIGZpbHRlciA8c3Ryb25nPlRpbWVsaW5lPFwvc3Ryb25nPiBhbmQgPHN0cm9uZz5NZXRob2RzPFwvc3Ryb25nPiBwYW5lbHMgd2lsbCBiZSBmaWx0ZXJlZC48XC9wPlxuPFwvbGk+XG48bGk+XG48cD5UaHJlYWQgVGltZWxpbmU8XC9wPlxuPHVsPlxuPGxpPkdDIChHYXJiYWdlIENvbGxlY3Rpb24pPFwvbGk+XG48bGk+SklUIChKdXN0IEluIFRpbWUgQ29tcGlsYXRpb24pPFwvbGk+XG48bGk+Q3B1IFV0aWxpemF0aW9uPFwvbGk+XG48XC91bD5cbjxwPkRlcGVuZHMgb24gdGhlIHNlbGVjdGVkIGZpbHRlciBjaGFydHMgaW4gdGhlIDxzdHJvbmc+VGltZWxpbmU8XC9zdHJvbmc+IHBhbmVsIHdpbGwgZGlzcGxheSBhcHByb3ByaWF0ZSBpbmZvcm1hdGlvbi48XC9wPlxuPFwvbGk+XG48XC91bD5cbjxcL2xpPlxuPGxpPlxuPHA+PHN0cm9uZz5UaW1lbGluZSAoZ3JlZW4gaGlnaGxpZ2h0KTxcL3N0cm9uZz4gLSBpbmNsdWRlcyB0aGUgbmV4dCB0aW1lbGluZSBjaGFydHM6PFwvcD5cbjx1bD5cbjxsaT5cbjxwPkNQVSB1dGlsaXphdGlvbiBvZiB0aGUgYXBwbGljYXRpb24gaW4gdGhlIHRvcCBvZiB0aGUgcGFuZWwuPFwvcD5cbjx1bD5cbjxsaT5cbjxwPlRvcCBsZWZ0IGNvcm5lciBkaXNwbGF5cyBjdXJyZW50IDxzdHJvbmc+VGltZSBpbnRlcnZhbDxcL3N0cm9uZz4uIEJ5IGRlZmF1bHQgdGhlIGFwcGxpY2F0aW9uJ3MgbGlmZXNwYW4gaXMgZ290IGFzIDxzdHJvbmc+VGltZSBpbnRlcnZhbDxcL3N0cm9uZz4gYW5kIGluIHRoaXMgY2FzZSB0b3AgbGVmdCBjb3JuZXIgZGlzcGxheXM6IDxjb2RlPlNlbGVjdGlvbjogJmx0O2VtcHR5Jmd0OzxcL2NvZGU+OyBpbiBvdGhlciBjYXNlIGN1cnJlbnQgPHN0cm9uZz5UaW1lIGludGVydmFsPFwvc3Ryb25nPiBpcyBzaG93biwgZm9yIGV4YW1wbGUgOiA8Y29kZT5TZWxlY3Rpb246IDIxNTU2IDogMzU4OTk8XC9jb2RlPi48XC9wPlxuPHA+PHN0cm9uZz5BbGwgcGFuZWxzIGV4Y2VwdCBGaWx0ZXJzIGRlcGVuZCBvbiB0aGUgY3VycmVudCBUaW1lIGludGVydmFsLjxcL3N0cm9uZz48XC9wPlxuPHA+SXQgaXMgcG9zc2libHkgdG8gc2V0IDxzdHJvbmc+VGltZSBpbnRlcnZhbDxcL3N0cm9uZz4gdmlhIG1vdXNlOiBjbGljayBhbmQgZHJhZyA8Y29kZT5MZWZ0IE1vdXNlIEJ1dHRvbjxcL2NvZGU+IHRvIHNldCBuZXcgPHN0cm9uZz5UaW1lIGludGVydmFsPFwvc3Ryb25nPi48XC9wPlxuPHA+PGltZyBzcmM9XCJtZWRpYVwvc2VsZWN0X2ludGVydmFsLnBuZ1wiIGFsdD1cIlNldCB1cCBuZXcgR2xvYmFsIHRpbWUgcmFuZ2VcIiBcLz48XC9wPlxuPFwvbGk+XG48bGk+XG48cD5UaGUgY2hhcnQgY2FuIGhhbmRsZSA8Y29kZT5SaWdodCBNb3VzZSBCdXR0b248XC9jb2RlPi48XC9wPlxuPHA+PGltZyBzcmM9XCJtZWRpYVwvdGltZWxpbmVfY29udGV4dF9tZW51LnBuZ1wiIGFsdD1cIlRpbWVsaW5lIENvbnRleHQgbWVudVwiIFwvPjxcL3A+XG48cD5UaW1lbGluZSBDb250ZXh0IE1lbnUgaGFzIG5leHQgZW50cmllczo8XC9wPlxuPHVsPlxuPGxpPlpvb20gdG8gU2VsZWN0aW9uPFwvbGk+XG48bGk+UmVzZXQgWm9vbTxcL2xpPlxuPGxpPlJldmVhbCBTZWxlY3Rpb248XC9saT5cbjxcL3VsPlxuPFwvbGk+XG48bGk+XG48cD5UbyByZXNldCA8c3Ryb25nPlRpbWUgaW50ZXJ2YWw8XC9zdHJvbmc+IGNsaWNrIG91dHNpZGUgc2VsZWN0ZWQgYXJlYS48XC9wPlxuPFwvbGk+XG48bGk+XG48cD5UbyBzZXQgem9vbSBpblwvb3V0IHRoZSBjb21iaW5hdGlvbiA8Y29kZT5jdHJsICsgV2hlbGwgVXBcL0Rvd24gTW91c2UgQnV0dG9uPFwvY29kZT4gc2hvdWxkIGJ1IHVzZWQuPFwvcD5cbjxcL2xpPlxuPFwvdWw+XG48XC9saT5cbjxsaT5cbjxwPkdDLCBKSVQgb3IgQ1BVIFV0aWxpemF0aW9uIGZvciBzZXBhcmF0ZSB0aHJlYWRzIGluIHRoZSByZXN0IHBhcnQgb2YgdGhlIHBhbmVsLjxcL3A+XG48cD5EZXBlbmRzIG9uIHRoZSBjdXJyZW50IDxzdHJvbmc+Q2FsbCBUcmVlIGFuZCBtZXRob2RzPFwvc3Ryb25nPiBmaWx0ZXIgZmllbGQgPHN0cm9uZz5WYWx1ZTxcL3N0cm9uZz4gb24gdGhlIGxlZnQgYmVsb3cgY2hhcnQgc2hvd3MgYXBwcm9wcmlhdGUgaW5mb3JhbXRpb246IFRpbWUgKGZvciBleGFtcGxlOiA8Y29kZT5WYWx1ZTogMDAuNTkuOTIwPFwvY29kZT4pLCBBbGxvY2F0ZWQgTWVtb3J5IChmb3IgZXhhbXBsZSA6IDxjb2RlPlZhbHVlOiA1Ni4zNiBNQjxcL2NvZGU+KSBvciBTYW1wbGVzIChmb3IgZXhhbXBsZSA6IDxjb2RlPlZhbHVlOiAzMzIwPFwvY29kZT4pLjxcL3A+XG48cD5EZXBlbmRzIG9uIHRoZSBjdXJyZW50IDxzdHJvbmc+VGhyZWFkIFRpbWVsaW5lPFwvc3Ryb25nPiBmaWx0ZXIgY2hhcnRzIHNob3dzIGFwcHJvcHJpYXRlIGluZm9ybWF0aW9uLjxcL3A+XG48dWw+XG48bGk+XG48cD5HQzxcL3A+XG48cD48aW1nIHNyYz1cIm1lZGlhXC90aW1lbGluZV9nY19maWx0ZXIucG5nXCIgYWx0PVwiVGltZWxpbmUgR0MgRmlsdGVyXCIgXC8+PFwvcD5cbjxcL2xpPlxuPGxpPlxuPHA+SklUPFwvcD5cbjxwPjxpbWcgc3JjPVwibWVkaWFcL3RpbWVsaW5lX2ppdF9maWx0ZXIucG5nXCIgYWx0PVwiVGltZWxpbmUgSklUIEZpbHRlclwiIFwvPjxcL3A+XG48XC9saT5cbjxsaT5cbjxwPkNQVSBVdGlsaXphdGlvbjxcL3A+XG48cD48aW1nIHNyYz1cIm1lZGlhXC90aW1lbGluZV9jcHVfdXRpbGl6YXRpb25fZmlsdGVyLnBuZ1wiIGFsdD1cIlRpbWVsaW5lIENwdSBVdGlsaXphdGlvbiBGaWx0ZXJcIiBcLz48XC9wPlxuPFwvbGk+XG48XC91bD5cbjxwPjxzdHJvbmc+TWV0aG9kcyBwYW5lbCBkZXBlbmRzIG9uIHRoZSBzZWxlY3RlZCB0aHJlYWQuPFwvc3Ryb25nPjxcL3A+XG48XC9saT5cbjxcL3VsPlxuPFwvbGk+XG48bGk+XG48cD48c3Ryb25nPk1ldGhvZHMgKGJsdWUgaGlnaGxpZ2h0KTxcL3N0cm9uZz48XC9wPlxuPHA+UGFuZWwgY29uc2lzdHMgb2YgMyB0YWJzOjxcL3A+XG48dWw+XG48bGk+XG48cD5Ub3AgTWV0aG9kcyBhbmQgQ2FsbCBUcmVlIC0gZGlzcGxheXMgdG9wIG1ldGhvZHMgYW5kIGNhbGwgdHJlZSBieSB0aGUgc2VsZWN0ZWQgPHN0cm9uZz5DYWxsIFRyZWUgYW5kIG1ldGhvZHM8XC9zdHJvbmc+IGZpbHRlciBvbiB0aGUgc2VsZWN0ZWQgPHN0cm9uZz5UaW1lIGludGVydmFsPFwvc3Ryb25nPiBmb3IgdGhlIHNlbGVjdGVkIHRocmVhZC48XC9wPlxuPHA+RWFjaCBlbnRyeSBpbmNsdWRlcyB0aGUgbmV4dCBmaWVsZHMgc3BsaXR0ZWQgYnkgYDxzdHJvbmc+XHUwMGI3PFwvc3Ryb25nPmAgc3ltYm9sOjxcL3A+XG48dWw+XG48bGk+UGVyY2VudGFnZSByYXRpbyAtIG1ldGhvZCdzIHBlcmNlbnRhZ2UgcmF0aW8gYmFzZWQgb24gdGhlIHNlbGVjdGVkIDxzdHJvbmc+Q2FsbCBUcmVlIGFuZCBtZXRob2RzPFwvc3Ryb25nPiBmaWx0ZXIgYmV0d2VlbiB0b3RhbCB2YWx1ZSBhbmQgbWV0aG9kJ3MgdmFsdWUuPFwvbGk+XG48bGk+TmFtZSBvZiBhIG1ldGhvZC48XC9saT5cbjxsaT5BYnNvbHV0ZSB2YWx1ZSAtIGRlcGVuZHMgb24gdGhlIHNlbGVjdGVkIDxzdHJvbmc+Q2FsbCBUcmVlIGFuZCBtZXRob2RzPFwvc3Ryb25nPiBmaWx0ZXIgc2hvd3MgdGhlIG5leHQgaW5mb3JtYXRpb246XG48dWw+XG48bGk+VGltZSAtIHNob3dzIGhvdyBtdWNoIHRpbWUgbWV0aG9kIGhhcyBvY2N1cGllZC48XC9saT5cbjxsaT5BbGxvY2F0ZWQgTWVtb3J5IC0gc2hvd3MgYW4gYW1vdW50IG9mIG1lbW9yeSBhbGxvY2F0aW9ucyB3aXRoaW4gbWV0aG9kIChpbiA8Y29kZT5LYjxcL2NvZGU+IG9yIDxjb2RlPk1iPFwvY29kZT4pLjxcL2xpPlxuPGxpPlNhbXBsZXMgLSBzaG93cyBhbW91bnQgb2Ygc2FtcGxlcyB3aXRoaW4gbWV0aG9kLjxcL2xpPlxuPFwvdWw+XG48XC9saT5cbjxsaT5TaWduYXR1cmUgb2YgYSBtZXRob2QgKG9wdGlvbmFsKS48XC9saT5cbjxcL3VsPlxuPFwvbGk+XG48bGk+XG48cD5Ib3QgUGF0aCAtIGRpc3BsYXlzIGhvdCBwYXRoIGJ5IHRoZSBzZWxlY3RlZCA8c3Ryb25nPkNhbGwgVHJlZSBhbmQgbWV0aG9kczxcL3N0cm9uZz4gZmlsdGVyIG9uIHRoZSBzZWxlY3RlZCA8c3Ryb25nPlRpbWUgaW50ZXJ2YWw8XC9zdHJvbmc+IGZvciB0aGUgc2VsZWN0ZWQgdGhyZWFkLiBJbiB0aGUgY29sbGFwc2VkIHN0YXRlIHRoZSA8c3Ryb25nPkhvdCBQYXRoPFwvc3Ryb25nPiB0YWIgZGlzcGxheXMgdGhlIGhvdHRlc3QgbWV0aG9kLiBJbiB0aGUgIGV4cGFuZGVkIHN0YXRlIHRoZSA8c3Ryb25nPkhvdCBQYXRoPFwvc3Ryb25nPiB0YWIgZGlzcGxheXMgdGhlIHdob2xlIHBhdGggZnJvbSB0aGlzIG1ldGhvZCB0byB0aGUgcm9vdCBtZXRob2QuPFwvcD5cbjxwPjxpbWcgc3JjPVwibWVkaWFcL2hvdHBhdGhfdGFiLnBuZ1wiIGFsdD1cIkV4cGFuZGVkIEhvdHBhdGggVGFiXCIgXC8+PFwvcD5cbjxwPkVhY2ggZW50cnkgaW5jbHVkZXMgdGhlIG5leHQgZmllbGRzIHNwbGl0dGVkIGJ5IGA8c3Ryb25nPlx1MDBiNzxcL3N0cm9uZz5gIHN5bWJvbDo8XC9wPlxuPHVsPlxuPGxpPlBlcmNlbnRhZ2UgcmF0aW8gLSBtZXRob2QncyBwZXJjZW50YWdlIHJhdGlvIGJhc2VkIG9uIHRoZSBzZWxlY3RlZCA8c3Ryb25nPkNhbGwgVHJlZSBhbmQgbWV0aG9kczxcL3N0cm9uZz4gZmlsdGVyIGJldHdlZW4gdG90YWwgdmFsdWUgYW5kIG1ldGhvZCdzIHZhbHVlLjxcL2xpPlxuPGxpPk5hbWUgb2YgYSBtZXRob2QuPFwvbGk+XG48bGk+QWJzb2x1dGUgdmFsdWUgLSBkZXBlbmRzIG9uIHRoZSBzZWxlY3RlZCA8c3Ryb25nPkNhbGwgVHJlZSBhbmQgbWV0aG9kczxcL3N0cm9uZz4gZmlsdGVyIHNob3dzIHRoZSBuZXh0IGluZm9ybWF0aW9uOlxuPHVsPlxuPGxpPlRpbWUgLSBzaG93cyBob3cgbXVjaCB0aW1lIG1ldGhvZCBoYXMgb2NjdXBpZWQuPFwvbGk+XG48bGk+QWxsb2NhdGVkIE1lbW9yeSAtIHNob3dzIGFuIGFtb3VudCBvZiBtZW1vcnkgYWxsb2NhdGlvbnMgd2l0aGluIG1ldGhvZCAoaW4gPGNvZGU+S2I8XC9jb2RlPiBvciA8Y29kZT5NYjxcL2NvZGU+KS48XC9saT5cbjxsaT5TYW1wbGVzIC0gc2hvd3MgYW1vdW50IG9mIHNhbXBsZXMgd2l0aGluIG1ldGhvZC48XC9saT5cbjxcL3VsPlxuPFwvbGk+XG48XC91bD5cbjxcL2xpPlxuPFwvdWw+XG48XC9saT5cbjxcL3VsPlxuPGgzIGlkPVwiY29udGVudC1tZW1vcnktcHJvZmlsZS1zZXNzaW9uLXZpZXdlclwiPjxhIGhyZWY9XCIjY29udGVudC1tZW1vcnktcHJvZmlsZS1zZXNzaW9uLXZpZXdlclwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+TWVtb3J5IFByb2ZpbGUgU2Vzc2lvbiB2aWV3ZXI8XC9oMz5cbjxwPlRoZSB2aWV3ZXIgaGFzIDQgdGFiczo8XC9wPlxuPHVsPlxuPGxpPlxuPHA+PHN0cm9uZz5IZWFwIFByb2ZpbGU8XC9zdHJvbmc+IC0gc2hvd3MgaGVhcCBpbmZvcm1hdGlvbiBkdXJpbmcgYXBwbGljYXRpb24ncyBsaWZlc3Bhbi48XC9wPlxuPHA+PGltZyBzcmM9XCJtZWRpYVwvaGVhcF9wcm9maWxlLnBuZ1wiIGFsdD1cIkhlYXAgUHJvZmlsZVwiIFwvPjxcL3A+XG48cD5UaGUgY2hhcnQgaGFzIDQgdHlwZXMgb2YgdGhlIG9wdGlvbmFsIGN1cnZlczo8XC9wPlxuPHVsPlxuPGxpPkdlbmVyYXRpb24gMCAtIHRoZSB5b3VuZ2VzdCBnZW5lcmF0aW9uIGFuZCBjb250YWlucyBzaG9ydC1saXZlZCBvYmplY3RzLiBBbiBleGFtcGxlIG9mIGEgc2hvcnQtbGl2ZWQgb2JqZWN0IGlzIGEgdGVtcG9yYXJ5IHZhcmlhYmxlLiBHYXJiYWdlIGNvbGxlY3Rpb24gb2NjdXJzIG1vc3QgZnJlcXVlbnRseSBpbiB0aGlzIGdlbmVyYXRpb24uPFwvbGk+XG48bGk+R2VuZXJhdGlvbiAxIC0gdGhlIGdlbmVyYXRpb24gY29udGFpbnMgc2hvcnQtbGl2ZWQgb2JqZWN0cyBhbmQgc2VydmVzIGFzIGEgYnVmZmVyIGJldHdlZW4gc2hvcnQtbGl2ZWQgb2JqZWN0cyBhbmQgbG9uZy1saXZlZCBvYmplY3RzLjxcL2xpPlxuPGxpPkdlbmVyYXRpb24gMiAtIHRoZSBnZW5lcmF0aW9uIGNvbnRhaW5zIGxvbmctbGl2ZWQgb2JqZWN0cy4gQW4gZXhhbXBsZSBvZiBhIGxvbmctbGl2ZWQgb2JqZWN0IGlzIGFuIG9iamVjdCBpbiBhIHNlcnZlciBhcHBsaWNhdGlvbiB0aGF0IGNvbnRhaW5zIHN0YXRpYyBkYXRhIHRoYXQgaXMgbGl2ZSBmb3IgdGhlIGR1cmF0aW9uIG9mIHRoZSBwcm9jZXNzLjxcL2xpPlxuPGxpPkxhcmdlIE9iamVjdHMgLSBjb250YWlucyB2ZXJ5IGxhcmdlIG9iamVjdHMgdGhhdCBhcmUgODUsMDAwIGJ5dGVzIGFuZCBsYXJnZXIuPFwvbGk+XG48XC91bD5cbjxwPkZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUsIDxhIGhyZWY9XCJodHRwczpcL1wvZG9jcy5taWNyb3NvZnQuY29tXC9kb3RuZXRcL3N0YW5kYXJkXC9nYXJiYWdlLWNvbGxlY3Rpb25cL2Z1bmRhbWVudGFsc1wiPmhlcmU8XC9hPi48XC9wPlxuPFwvbGk+XG48bGk+XG48cD48c3Ryb25nPk1lbW9yeSBQcm9maWxlPFwvc3Ryb25nPiAtIHNob3dzIGR5bmFtaWMgbWVtb3J5IGluZm9ybWF0aW9uIGR1cmluZyBhcHBsaWNhdGlvbidzIGxpZmVzcGFuLjxcL3A+XG48cD48aW1nIHNyYz1cIm1lZGlhXC9tZW1vcnlfcHJvZmlsZS5wbmdcIiBhbHQ9XCJNZW1vcnkgUHJvZmlsZVwiIFwvPjxcL3A+XG48cD5UaGUgY2hhcnQgaGFzIDMgdHlwZXMgb2YgdGhlIGN1cnZlczo8XC9wPlxuPHVsPlxuPGxpPkhlYXAgQWxsb2NhdGVkIC0gYWxsb2NhdGVkIGR5bmFtaWMgbWVtb3J5IGZvciBvYmplY3RzLjxcL2xpPlxuPGxpPkhlYXAgUmVzZXJ2ZWQgLSByZXNlcnZlZCBkeW5hbWljIG1lbW9yeSBmb3IgYWxsb2NhdGlvbnMuPFwvbGk+XG48bGk+VW5tYW5hZ2VkIC0gdG90YWwgZHluYW1pYyBtZW1vcnkgd2hpY2ggYXBwbGljYXRpb24gY29uc3VtZXMuPFwvbGk+XG48XC91bD5cbjxcL2xpPlxuPGxpPlxuPHA+PHN0cm9uZz5EYXRhIFR5cGUgQWxsb2NhdGlvbnM8XC9zdHJvbmc+IC0gc2hvd3MgaW5mb3JtYXRpb24gYWJvdXQgYWxsIGFsbG9jYXRpb25zIGR1cmluZyBhcHBsaWNhdGlvbidzIGxpZmVzcGFuLjxcL3A+XG48cD48aW1nIHNyYz1cIm1lZGlhXC9kYXRhX3R5cGVfYWxsb2NhdGlvbnMucG5nXCIgYWx0PVwiRGF0YSBUeXBlIEFsbG9jYXRpb25zXCIgXC8+PFwvcD5cbjxwPlRoZXJlIGlzIGxpc3Qgb2YgYWxsIG1lbW9yeSBhbGxvY2F0aW9ucy4gQSBsaXN0IGVudHJ5IGhhcyB0aGUgbmV4dCBmaWVsZHM6PFwvcD5cbjx1bD5cbjxsaT5OYW1lIC0gbmFtZSBvZiB0aGUgZGF0YSB0eXBlLjxcL2xpPlxuPGxpPk9iamVjdHMgQ291bnQgLSBudW1iZXIgb2YgdGhlIGFsbG9jYXRlZCBvYmplY3RzLjxcL2xpPlxuPGxpPk1lbW9yeSBTaXplIC0gdG90YWwgb2YgYWxsb2NhdGVkIG1lbW9yeSBvZiB0aGUgYXBwcm9wcmlhdGUgZGF0YSB0eXBlLjxcL2xpPlxuPFwvdWw+XG48XC9saT5cbjxsaT5cbjxwPjxzdHJvbmc+RGF0YSBUeXBlIENoYXJ0czxcL3N0cm9uZz4gLSBzaG93cyBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCBhbGwgYWxsb2NhdGlvbnMgZHVyaW5nIGFwcGxpY2F0aW9uJ3MgbGlmZXNwYW4uPFwvcD5cbjxwPjxpbWcgc3JjPVwibWVkaWFcL2RhdGFfdHlwZV9jaGFydHMucG5nXCIgYWx0PVwiRGF0YSBUeXBlIENoYXJ0c1wiIFwvPjxcL3A+XG48cD5UaGUgdGFiIGhhcyB0d28gYXJlYXM6PFwvcD5cbjx1bD5cbjxsaT5DaGFydCAtIHJlcHJlc2VudHMgYWxsb2NhdGVkIG1lbW9yeSBieSBkYXRhIHR5cGUgZHVyaW5nIGFwcGxpY2F0aW9uJ3MgbGlmZXNwYW4uPFwvbGk+XG48bGk+TGlzdCBvZiB0aGUgYWxsb2NhdGlvbnMgLSBsaXN0IG9mIGFsbCBhbGxvY2F0aW9ucyB3aGljaCBjYW4gYmUgcmVwcmVzZW50ZWQgaW4gdGhlIGNoYXJ0LiBBIGxpc3QgZW50cnkgaGFzIHRoZSBuZXh0IGZpZWxkczpcbjx1bD5cbjxsaT5EaXNwbGF5IC0gcmVwcmVzZW50IGFwcHJvcHJpYXRlIGVudHJ5IGluIHRoZSBjaGFydCBvciBub3QuPFwvbGk+XG48bGk+Q291bnQgTWF4IC0gbWF4IG51bWJlciBvZiB0aGUgYWxsb2NhdGVkIG9iamVjdHMgYXQgb25jZS48XC9saT5cbjxsaT5Db3VudCBBdmcgLSBhdmVyYWdlIG51bWJlciBvZiB0aGUgYWxsb2NhdGVkIG9iamVjdHMuPFwvbGk+XG48bGk+U2l6ZSBNYXggLSBtYXggc2l6ZSBvZiB0aGUgYWxsb2NhdGVkIG1lbW9yeSBhdCBvbmNlLjxcL2xpPlxuPGxpPlNpemUgQXZnIC0gYXZlcmFnZSBzaXplIG9mIHRoZSBhbGxvY2F0ZWQgbWVtb3J5LjxcL2xpPlxuPGxpPk5hbWUgLSBuYW1lIG9mIHRoZSBkYXRhIHR5cGUuPFwvbGk+XG48XC91bD5cbjxcL2xpPlxuPFwvdWw+XG48XC9saT5cbjxcL3VsPlxuIiwidGFibGVfb2ZfY29udGVudCI6Ijx1bCBjbGFzcz1cInRhYmxlLW9mLWNvbnRlbnRzXCI+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LWNvbmZpZ3VyaW5nLWFuZC1ydW5uaW5nLXByb2ZpbGluZ1wiPkNvbmZpZ3VyaW5nIGFuZCBydW5uaW5nIHByb2ZpbGluZzxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LWxpdmUtcHJvZmlsaW5nXCI+TGl2ZSBwcm9maWxpbmc8XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1wcm9maWxpbmctcHJvZ3Jlc3Mtd2luZG93XCI+UHJvZmlsaW5nIFByb2dyZXNzIHdpbmRvdzxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LW1hbmFnaW5nLXNlc3Npb25cIj5NYW5hZ2luZyBzZXNzaW9uPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtYW5hbHl6aW5nLXNlc3Npb24tZGF0YVwiPkFuYWx5emluZyBzZXNzaW9uIGRhdGE8XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1wcm9maWxlLXNlc3Npb24tdmlld2VyXCI+UHJvZmlsZSBTZXNzaW9uIHZpZXdlcjxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LW1lbW9yeS1wcm9maWxlLXNlc3Npb24tdmlld2VyXCI+TWVtb3J5IFByb2ZpbGUgU2Vzc2lvbiB2aWV3ZXI8XC9hPjxcL2xpPlxuPFwvdWw+XG4iLCJ0aXRsZSI6IkdldCBTdGFydGVkIHdpdGggUGVyZm9ybWFuY2UgUHJvZmlsaW5nIiwicmF3IjpudWxsfSx7ImNsYXNzIjoiQXBwXFxTZXJ2aWNlc1xcRG9jdW1lbnRhdGlvblxcRGF0YVxcUmVuZGVyZWRNYXJrZG93biIsInMiOiJ3cmJsIn1dfSx7InMiOiJhcnIifV19LCJtZW1vIjp7ImlkIjoib2pXb0RSQ243YVAwbjJyb3doSlkiLCJuYW1lIjoiX19tb3VudFBhcmFtc0NvbnRhaW5lciIsInBhdGgiOiJkb2NzXC9zZGstdG9vbHNcL2RvdG5ldFwvdmlzdWFsLXN0dWRpb1wvdnN0b29sc1wvdG9vbHNcL3Byb2ZpbGVyLXVzZXItbWFudWFsIiwibWV0aG9kIjoiR0VUIiwicmVsZWFzZSI6ImEtYS1hIn0sImNoZWNrc3VtIjoiZGUzOTM0ZjcxYWFiM2Q4NTdhMjU0ZWY3ZmFmNDYxMmQzMWIyYzA1NTliYmI0NDkxYjQ5N2FmOTBkMDg3YTljNSJ9')" >