CjwhLS0gIFByZXNlbnRhdGlvbiBnZW5lcmF0ZWQgYnkgSW50ZXJuZXQgQXNzaXN0YW50IGZvciBNaWNyb3NvZnQgUG93ZXJQb2ludCA5NyAtLT4KCjxIVE1MPgo8SEVBRD4KPE1FVEEgSFRUUC1FUVVJVj0iQ29udGVudC1UeXBlIiBDT05URU5UPSJ0ZXh0L2h0bWw7Y2hhcnNldD13aW5kb3dzLTEyNTIiPgo8bWV0YSBuYW1lPSJHRU5FUkFUT1IiIGNvbnRlbnQ9Ik1pY3Jvc29mdCBJbnRlcm5ldCBBc3Npc3RhbnQgZm9yIE1pY3Jvc29mdCBQb3dlclBvaW50IDk3Ij4KIDxUSVRMRT5NRVJBTlQgYW5kIGVjbGlwc2Uub3JnPC9USVRMRT4gCjwvSEVBRD4KCjxCT0RZICAgICA+Cgo8Q0VOVEVSPgo8VEFCTEUgV0lEVEg9MTAwJT4gCiAgICAgPFRSPiA8VEQgV0lEVEg9MTAwJSBBTElHTj1DRU5URVI+CiAgICAgICAgIDxBIEhSRUY9InNsZDAwMS5odG0iPjxJTUcgU1JDPSJmaXJzdC5naWYiIEJPUkRFUj0wIEFMVD0iRmlyc3QiPjwvQT4KICAgICAgICAgPEEgSFJFRj0ic2xkMDAyLmh0bSI+PElNRyBTUkM9InByZXYuZ2lmIiBCT1JERVI9MCBBTFQ9IlByZXZpb3VzIj48L0E+CiAgICAgICAgIDxJTUcgU1JDPSJuZXh0LmdpZiIgQk9SREVSPTA+CiAgICAgICAgIDxJTUcgU1JDPSJsYXN0LmdpZiIgQk9SREVSPTA+CiAgICAgICAgIDxJTUcgU1JDPSJzcGFjZS5naWYiIEJPUkRFUj0wPgogICAgICAgICA8QSBIUkVGPSJpbmRleC5odG0iPjxJTUcgU1JDPSJpbmZvLmdpZiIgQk9SREVSPTAgQUxUPSJJbmRleCI+PC9BPgogICAgICAgICA8QSBIUkVGPSIuLi9tYWluLmh0bWwiPjxJTUcgU1JDPSJob21lLmdpZiIgQk9SREVSPTAgQUxUPSJIb21lIj48L0E+CiAgICAgICAgIDxBIEhSRUY9InRzbGQwMDMuaHRtIj48SU1HIFNSQz0idGV4dC5naWYiIEJPUkRFUj0wIEFMVD0iVGV4dCI+PC9BPgogICAgIDwvVEQ+IDwvVFI+CiAgICAgPFRSPiA8VEQgV0lEVEg9MTAwJSBBTElHTj1DRU5URVI+CiAgICAgICAgIDxJTUcgU1JDPSJpbWcwMDMuZ2lmIiB1c2VtYXA9IiNPYmptYXAiIFdJRFRIPTUxMiBIRUlHSFQ9Mzg0IEJPUkRFUj0wPgogICAgIDwvVEQ+IDwvVFI+CjwvVEFCTEU+CjxQPlNsaWRlIDMgb2YgMzwvUD4KPC9DRU5URVI+CjwhLS0gPFVMPgo8SDI+TUVSQU5UIGFuZCBlY2xpcHNlLm9yZzwvSDI+CjwvVUw+PC9QPgo8UD48VUw+CkVjbGlwc2UgaXMgdHJ1bHkgYSB1bmlxdWUgcGxhdGZvcm0gaW4gdGhhdCBpdCBhbGxvd3MgY3VzdG9tZXJzIHRvIGluZGVwZW5kZW50bHkgZGV2ZWxvcCBhcHBsaWNhdGlvbnMgd2l0aCBiZXN0LW9mLWJyZWVkIHRlY2hub2xvZ3ksIHdpdGhvdXQgd29ycnlpbmcgYWJvdXQgY29tcGF0aWJpbGl0eS4KPC9VTD48VUw+Cgo8L1VMPjxVTD4KVGhpcyBpcyBjb25zaXN0ZW50IHdpdGggdGhlIHN0cmF0ZWd5IHRoYXQgaGFzIGRyaXZlbiB0aGUgUFZDUyBwcm9kdWN0IHN1aXRlIG92ZXIgdGhlIHllYXJzIJYgdG8gZW1wb3dlciBjdXN0b21lcnMgdG8gbWFuYWdlIGRldmVsb3BtZW50IGluIGFzIGNvc3QtZWZmZWN0aXZlIGFuZCBzaW1wbGlmaWVkIG1hbm5lciBhcyBwb3NzaWJsZS4KPC9VTD48VUw+Cgo8L1VMPjxVTD4KV2l0aCBpdHMgc3Ryb25nIHN1cHBvcnQgb2YgZWNsaXBzZS5vcmcsIE1FUkFOVCBpcyBjb250aW51aW5nIGl0cyBhcHByb2FjaCB0byBwcm92aWRpbmcgY3VzdG9tZXJzIHdpdGggZnJlZWRvbSBvZiBjaG9pY2UuCjwvVUw+PC9QPgo8UD4gIC0tPgo8L0JvZHk+CjwvSFRNTD4K