PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMC8vRU4iPg0KPCEtLU5ld1BhZ2UtLT4NCjxIVE1MPg0KPEhFQUQ+DQo8IS0tIEdlbmVyYXRlZCBieSBqYXZhZG9jIG9uIFRodSBOb3YgMjIgMTc6MTM6MDAgRVNUIDIwMDcgLS0+DQo8VElUTEU+DQpYYWxhbi1KYXZhIDIuNy4xOiBDbGFzcyAgWE1MUmVhZGVyQWRhcHRlcg0KPC9USVRMRT4NCjxMSU5LIFJFTCA9InN0eWxlc2hlZXQiIFRZUEU9InRleHQvY3NzIiBIUkVGPSIuLi8uLi8uLi8uLi9zdHlsZXNoZWV0LmNzcyIgVElUTEU9IlN0eWxlIj4NCjwvSEVBRD4NCjxCT0RZIEJHQ09MT1I9IndoaXRlIj4NCg0KPCEtLSA9PT09PT09PT09IFNUQVJUIE9GIE5BVkJBUiA9PT09PT09PT09IC0tPg0KPEEgTkFNRT0ibmF2YmFyX3RvcCI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjAiIFdJRFRIPSIxMDAlIiBDRUxMUEFERElORz0iMSIgQ0VMTFNQQUNJTkc9IjAiPg0KPFRSPg0KPFREIENPTFNQQU49MiBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPg0KPEEgTkFNRT0ibmF2YmFyX3RvcF9maXJzdHJvdyI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjAiIENFTExQQURESU5HPSIwIiBDRUxMU1BBQ0lORz0iMyI+DQogIDxUUiBBTElHTj0iY2VudGVyIiBWQUxJR049InRvcCI+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vdmVydmlldy1zdW1tYXJ5Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+T3ZlcnZpZXc8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0icGFja2FnZS1zdW1tYXJ5Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+UGFja2FnZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRkZGRkZGIiBDTEFTUz0iTmF2QmFyQ2VsbDFSZXYiPiAmbmJzcDs8Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDFSZXYiPjxCPkNsYXNzPC9CPjwvRk9OVD4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iY2xhc3MtdXNlL1hNTFJlYWRlckFkYXB0ZXIuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5Vc2U8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0icGFja2FnZS10cmVlLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+VHJlZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9kZXByZWNhdGVkLWxpc3QuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5EZXByZWNhdGVkPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL2luZGV4LWFsbC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkluZGV4PC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL2hlbHAtZG9jLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+SGVscDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDwvVFI+DQo8L1RBQkxFPg0KPC9URD4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBST1dTUEFOPTM+PEVNPg0KPC9FTT4NCjwvVEQ+DQo8L1RSPg0KDQo8VFI+DQo8VEQgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJOYXZCYXJDZWxsMiI+PEZPTlQgU0laRT0iLTIiPg0KJm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvaGVscGVycy9YTUxGaWx0ZXJJbXBsLmh0bWwiPjxCPlBSRVYgQ0xBU1M8L0I+PC9BPiZuYnNwOw0KJm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvaGVscGVycy9YTUxSZWFkZXJGYWN0b3J5Lmh0bWwiPjxCPk5FWFQgQ0xBU1M8L0I+PC9BPjwvRk9OVD48L1REPg0KPFREIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iTmF2QmFyQ2VsbDIiPjxGT05UIFNJWkU9Ii0yIj4NCiAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vaW5kZXguaHRtbCIgVEFSR0VUPSJfdG9wIj48Qj5GUkFNRVM8L0I+PC9BPiAgJm5ic3A7DQombmJzcDs8QSBIUkVGPSJYTUxSZWFkZXJBZGFwdGVyLmh0bWwiIFRBUkdFVD0iX3RvcCI+PEI+Tk8gRlJBTUVTPC9CPjwvQT48L0ZPTlQ+PC9URD4NCjwvVFI+DQo8VFI+DQo8VEQgVkFMSUdOPSJ0b3AiIENMQVNTPSJOYXZCYXJDZWxsMyI+PEZPTlQgU0laRT0iLTIiPg0KICBTVU1NQVJZOiAmbmJzcDtJTk5FUiZuYnNwO3wmbmJzcDtGSUVMRCZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjY29uc3RydWN0b3Jfc3VtbWFyeSI+Q09OU1RSPC9BPiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjbWV0aG9kX3N1bW1hcnkiPk1FVEhPRDwvQT48L0ZPTlQ+PC9URD4NCjxURCBWQUxJR049InRvcCIgQ0xBU1M9Ik5hdkJhckNlbGwzIj48Rk9OVCBTSVpFPSItMiI+DQpERVRBSUw6ICZuYnNwO0ZJRUxEJm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNjb25zdHJ1Y3Rvcl9kZXRhaWwiPkNPTlNUUjwvQT4mbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI21ldGhvZF9kZXRhaWwiPk1FVEhPRDwvQT48L0ZPTlQ+PC9URD4NCjwvVFI+DQo8L1RBQkxFPg0KPCEtLSA9PT09PT09PT09PSBFTkQgT0YgTkFWQkFSID09PT09PT09PT09IC0tPg0KDQo8SFI+DQo8IS0tID09PT09PT09IFNUQVJUIE9GIENMQVNTIERBVEEgPT09PT09PT0gLS0+DQo8SDI+DQo8Rk9OVCBTSVpFPSItMSI+DQpvcmcueG1sLnNheC5oZWxwZXJzPC9GT05UPg0KPEJSPg0KQ2xhc3MgIFhNTFJlYWRlckFkYXB0ZXI8L0gyPg0KPFBSRT4NCmphdmEubGFuZy5PYmplY3QNCiAgfA0KICArLS08Qj5vcmcueG1sLnNheC5oZWxwZXJzLlhNTFJlYWRlckFkYXB0ZXI8L0I+DQo8L1BSRT4NCjxIUj4NCjxETD4NCjxEVD5wdWJsaWMgY2xhc3MgPEI+WE1MUmVhZGVyQWRhcHRlcjwvQj48RFQ+ZXh0ZW5kcyBqYXZhLmxhbmcuT2JqZWN0PERUPmltcGxlbWVudHMgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvUGFyc2VyLmh0bWwiPlBhcnNlcjwvQT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L0NvbnRlbnRIYW5kbGVyLmh0bWwiPkNvbnRlbnRIYW5kbGVyPC9BPjwvREw+DQoNCjxQPg0KQWRhcHQgYSBTQVgyIFhNTFJlYWRlciBhcyBhIFNBWDEgUGFyc2VyLgoKIDxibG9ja3F1b3RlPgogPGVtPlRoaXMgbW9kdWxlLCBib3RoIHNvdXJjZSBjb2RlIGFuZCBkb2N1bWVudGF0aW9uLCBpcyBpbiB0aGUKIFB1YmxpYyBEb21haW4sIGFuZCBjb21lcyB3aXRoIDxzdHJvbmc+Tk8gV0FSUkFOVFk8L3N0cm9uZz4uPC9lbT4KIFNlZSA8YSBocmVmPSdodHRwOi8vd3d3LnNheHByb2plY3Qub3JnJz5odHRwOi8vd3d3LnNheHByb2plY3Qub3JnPC9hPgogZm9yIGZ1cnRoZXIgaW5mb3JtYXRpb24uCiA8L2Jsb2NrcXVvdGU+CgogPHA+VGhpcyBjbGFzcyB3cmFwcyBhIFNBWDIgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvWE1MUmVhZGVyLmh0bWwiPlhNTFJlYWRlcjwvQT4KIGFuZCBtYWtlcyBpdCBhY3QgYXMgYSBTQVgxIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L1BhcnNlci5odG1sIj5QYXJzZXI8L0E+LiAgVGhlIFhNTFJlYWRlciAKIG11c3Qgc3VwcG9ydCBhIHRydWUgdmFsdWUgZm9yIHRoZSAKIGh0dHA6Ly94bWwub3JnL3NheC9mZWF0dXJlcy9uYW1lc3BhY2UtcHJlZml4ZXMgcHJvcGVydHkgb3IgcGFyc2luZyB3aWxsIGZhaWwKIHdpdGggYSA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9TQVhFeGNlcHRpb24uaHRtbCI+U0FYRXhjZXB0aW9uPC9BPjsgaWYgdGhlIFhNTFJlYWRlciAKIHN1cHBvcnRzIGEgZmFsc2UgdmFsdWUgZm9yIHRoZSBodHRwOi8veG1sLm9yZy9zYXgvZmVhdHVyZXMvbmFtZXNwYWNlcyAKIHByb3BlcnR5LCB0aGF0IHdpbGwgYWxzbyBiZSB1c2VkIHRvIGltcHJvdmUgZWZmaWNpZW5jeS48L3A+DQo8UD4NCjxETD4NCjxEVD48Qj5TaW5jZTogPC9CPjxERD5TQVggMi4wPC9ERD4NCjxEVD48Qj5TZWUgQWxzbzogPC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9QYXJzZXIuaHRtbCI+PENPREU+UGFyc2VyPC9DT0RFPjwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvWE1MUmVhZGVyLmh0bWwiPjxDT0RFPlhNTFJlYWRlcjwvQ09ERT48L0E+PC9ETD4NCjxIUj4NCg0KPFA+DQo8IS0tID09PT09PT09IElOTkVSIENMQVNTIFNVTU1BUlkgPT09PT09PT0gLS0+DQoNCg0KPCEtLSA9PT09PT09PT09PSBGSUVMRCBTVU1NQVJZID09PT09PT09PT09IC0tPg0KDQoNCjwhLS0gPT09PT09PT0gQ09OU1RSVUNUT1IgU1VNTUFSWSA9PT09PT09PSAtLT4NCg0KPEEgTkFNRT0iY29uc3RydWN0b3Jfc3VtbWFyeSI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPg0KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+DQo8VEQgQ09MU1BBTj0yPjxGT05UIFNJWkU9IisyIj4NCjxCPkNvbnN0cnVjdG9yIFN1bW1hcnk8L0I+PC9GT05UPjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvaGVscGVycy9YTUxSZWFkZXJBZGFwdGVyLmh0bWwjWE1MUmVhZGVyQWRhcHRlcigpIj5YTUxSZWFkZXJBZGFwdGVyPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Q3JlYXRlIGEgbmV3IGFkYXB0ZXIuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9oZWxwZXJzL1hNTFJlYWRlckFkYXB0ZXIuaHRtbCNYTUxSZWFkZXJBZGFwdGVyKG9yZy54bWwuc2F4LlhNTFJlYWRlcikiPlhNTFJlYWRlckFkYXB0ZXI8L0E+PC9CPig8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9YTUxSZWFkZXIuaHRtbCI+WE1MUmVhZGVyPC9BPiZuYnNwO3htbFJlYWRlcik8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0NyZWF0ZSBhIG5ldyBhZGFwdGVyLjwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCiZuYnNwOw0KPCEtLSA9PT09PT09PT09IE1FVEhPRCBTVU1NQVJZID09PT09PT09PT09IC0tPg0KDQo8QSBOQU1FPSJtZXRob2Rfc3VtbWFyeSI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPg0KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+DQo8VEQgQ09MU1BBTj0yPjxGT05UIFNJWkU9IisyIj4NCjxCPk1ldGhvZCBTdW1tYXJ5PC9CPjwvRk9OVD48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9oZWxwZXJzL1hNTFJlYWRlckFkYXB0ZXIuaHRtbCNjaGFyYWN0ZXJzKGNoYXJbXSwgaW50LCBpbnQpIj5jaGFyYWN0ZXJzPC9BPjwvQj4oY2hhcltdJm5ic3A7Y2gsCiAgICAgICAgICAgaW50Jm5ic3A7c3RhcnQsCiAgICAgICAgICAgaW50Jm5ic3A7bGVuZ3RoKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7QWRhcHQgYSBTQVgyIGNoYXJhY3RlcnMgZXZlbnQuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvaGVscGVycy9YTUxSZWFkZXJBZGFwdGVyLmh0bWwjZW5kRG9jdW1lbnQoKSI+ZW5kRG9jdW1lbnQ8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtFbmQgZG9jdW1lbnQgZXZlbnQuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvaGVscGVycy9YTUxSZWFkZXJBZGFwdGVyLmh0bWwjZW5kRWxlbWVudChqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nKSI+ZW5kRWxlbWVudDwvQT48L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDt1cmksCiAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO2xvY2FsTmFtZSwKICAgICAgICAgICBqYXZhLmxhbmcuU3RyaW5nJm5ic3A7cU5hbWUpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtBZGFwdCBhIFNBWDIgZW5kIGVsZW1lbnQgZXZlbnQuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvaGVscGVycy9YTUxSZWFkZXJBZGFwdGVyLmh0bWwjZW5kUHJlZml4TWFwcGluZyhqYXZhLmxhbmcuU3RyaW5nKSI+ZW5kUHJlZml4TWFwcGluZzwvQT48L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtwcmVmaXgpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtBZGFwdCBhIFNBWDIgZW5kIHByZWZpeCBtYXBwaW5nIGV2ZW50LjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L2hlbHBlcnMvWE1MUmVhZGVyQWRhcHRlci5odG1sI2lnbm9yYWJsZVdoaXRlc3BhY2UoY2hhcltdLCBpbnQsIGludCkiPmlnbm9yYWJsZVdoaXRlc3BhY2U8L0E+PC9CPihjaGFyW10mbmJzcDtjaCwKICAgICAgICAgICAgICAgICAgICBpbnQmbmJzcDtzdGFydCwKICAgICAgICAgICAgICAgICAgICBpbnQmbmJzcDtsZW5ndGgpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtBZGFwdCBhIFNBWDIgaWdub3JhYmxlIHdoaXRlc3BhY2UgZXZlbnQuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvaGVscGVycy9YTUxSZWFkZXJBZGFwdGVyLmh0bWwjcGFyc2Uob3JnLnhtbC5zYXguSW5wdXRTb3VyY2UpIj5wYXJzZTwvQT48L0I+KDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L0lucHV0U291cmNlLmh0bWwiPklucHV0U291cmNlPC9BPiZuYnNwO2lucHV0KTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UGFyc2UgdGhlIGRvY3VtZW50LjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L2hlbHBlcnMvWE1MUmVhZGVyQWRhcHRlci5odG1sI3BhcnNlKGphdmEubGFuZy5TdHJpbmcpIj5wYXJzZTwvQT48L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtzeXN0ZW1JZCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1BhcnNlIHRoZSBkb2N1bWVudC48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9oZWxwZXJzL1hNTFJlYWRlckFkYXB0ZXIuaHRtbCNwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZykiPnByb2Nlc3NpbmdJbnN0cnVjdGlvbjwvQT48L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDt0YXJnZXQsCiAgICAgICAgICAgICAgICAgICAgICBqYXZhLmxhbmcuU3RyaW5nJm5ic3A7ZGF0YSk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0FkYXB0IGEgU0FYMiBwcm9jZXNzaW5nIGluc3RydWN0aW9uIGV2ZW50LjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L2hlbHBlcnMvWE1MUmVhZGVyQWRhcHRlci5odG1sI3NldERvY3VtZW50SGFuZGxlcihvcmcueG1sLnNheC5Eb2N1bWVudEhhbmRsZXIpIj5zZXREb2N1bWVudEhhbmRsZXI8L0E+PC9CPig8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9Eb2N1bWVudEhhbmRsZXIuaHRtbCI+RG9jdW1lbnRIYW5kbGVyPC9BPiZuYnNwO2hhbmRsZXIpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtSZWdpc3RlciB0aGUgU0FYMSBkb2N1bWVudCBldmVudCBoYW5kbGVyLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L2hlbHBlcnMvWE1MUmVhZGVyQWRhcHRlci5odG1sI3NldERvY3VtZW50TG9jYXRvcihvcmcueG1sLnNheC5Mb2NhdG9yKSI+c2V0RG9jdW1lbnRMb2NhdG9yPC9BPjwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvTG9jYXRvci5odG1sIj5Mb2NhdG9yPC9BPiZuYnNwO2xvY2F0b3IpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtTZXQgYSBkb2N1bWVudCBsb2NhdG9yLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L2hlbHBlcnMvWE1MUmVhZGVyQWRhcHRlci5odG1sI3NldERUREhhbmRsZXIob3JnLnhtbC5zYXguRFRESGFuZGxlcikiPnNldERUREhhbmRsZXI8L0E+PC9CPig8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9EVERIYW5kbGVyLmh0bWwiPkRUREhhbmRsZXI8L0E+Jm5ic3A7aGFuZGxlcik8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1JlZ2lzdGVyIHRoZSBEVEQgZXZlbnQgaGFuZGxlci48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9oZWxwZXJzL1hNTFJlYWRlckFkYXB0ZXIuaHRtbCNzZXRFbnRpdHlSZXNvbHZlcihvcmcueG1sLnNheC5FbnRpdHlSZXNvbHZlcikiPnNldEVudGl0eVJlc29sdmVyPC9BPjwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvRW50aXR5UmVzb2x2ZXIuaHRtbCI+RW50aXR5UmVzb2x2ZXI8L0E+Jm5ic3A7cmVzb2x2ZXIpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtSZWdpc3RlciB0aGUgZW50aXR5IHJlc29sdmVyLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L2hlbHBlcnMvWE1MUmVhZGVyQWRhcHRlci5odG1sI3NldEVycm9ySGFuZGxlcihvcmcueG1sLnNheC5FcnJvckhhbmRsZXIpIj5zZXRFcnJvckhhbmRsZXI8L0E+PC9CPig8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9FcnJvckhhbmRsZXIuaHRtbCI+RXJyb3JIYW5kbGVyPC9BPiZuYnNwO2hhbmRsZXIpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtSZWdpc3RlciB0aGUgZXJyb3IgZXZlbnQgaGFuZGxlci48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9oZWxwZXJzL1hNTFJlYWRlckFkYXB0ZXIuaHRtbCNzZXRMb2NhbGUoamF2YS51dGlsLkxvY2FsZSkiPnNldExvY2FsZTwvQT48L0I+KGphdmEudXRpbC5Mb2NhbGUmbmJzcDtsb2NhbGUpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtTZXQgdGhlIGxvY2FsZSBmb3IgZXJyb3IgcmVwb3J0aW5nLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L2hlbHBlcnMvWE1MUmVhZGVyQWRhcHRlci5odG1sI3NraXBwZWRFbnRpdHkoamF2YS5sYW5nLlN0cmluZykiPnNraXBwZWRFbnRpdHk8L0E+PC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7bmFtZSk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0FkYXB0IGEgU0FYMiBza2lwcGVkIGVudGl0eSBldmVudC48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9oZWxwZXJzL1hNTFJlYWRlckFkYXB0ZXIuaHRtbCNzdGFydERvY3VtZW50KCkiPnN0YXJ0RG9jdW1lbnQ8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtTdGFydCBkb2N1bWVudCBldmVudC48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9oZWxwZXJzL1hNTFJlYWRlckFkYXB0ZXIuaHRtbCNzdGFydEVsZW1lbnQoamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZywgb3JnLnhtbC5zYXguQXR0cmlidXRlcykiPnN0YXJ0RWxlbWVudDwvQT48L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDt1cmksCiAgICAgICAgICAgICBqYXZhLmxhbmcuU3RyaW5nJm5ic3A7bG9jYWxOYW1lLAogICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO3FOYW1lLAogICAgICAgICAgICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvQXR0cmlidXRlcy5odG1sIj5BdHRyaWJ1dGVzPC9BPiZuYnNwO2F0dHMpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtBZGFwdCBhIFNBWDIgc3RhcnQgZWxlbWVudCBldmVudC48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9oZWxwZXJzL1hNTFJlYWRlckFkYXB0ZXIuaHRtbCNzdGFydFByZWZpeE1hcHBpbmcoamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZykiPnN0YXJ0UHJlZml4TWFwcGluZzwvQT48L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtwcmVmaXgsCiAgICAgICAgICAgICAgICAgICBqYXZhLmxhbmcuU3RyaW5nJm5ic3A7dXJpKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7QWRhcHQgYSBTQVgyIHN0YXJ0IHByZWZpeCBtYXBwaW5nIGV2ZW50LjwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCiZuYnNwOzxBIE5BTUU9Im1ldGhvZHNfaW5oZXJpdGVkX2Zyb21fY2xhc3NfamF2YS5sYW5nLk9iamVjdCI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPg0KPFRSIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJUYWJsZVN1YkhlYWRpbmdDb2xvciI+DQo8VEQ+PEI+TWV0aG9kcyBpbmhlcml0ZWQgZnJvbSBjbGFzcyBqYXZhLmxhbmcuT2JqZWN0PC9CPjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQ+PENPREU+ZXF1YWxzLCANCmdldENsYXNzLCANCmhhc2hDb2RlLCANCm5vdGlmeSwgDQpub3RpZnlBbGwsIA0KdG9TdHJpbmcsIA0Kd2FpdCwgDQp3YWl0LCANCndhaXQ8L0NPREU+PC9URD4NCjwvVFI+DQo8L1RBQkxFPg0KJm5ic3A7DQo8UD4NCg0KPCEtLSA9PT09PT09PT09PT0gRklFTEQgREVUQUlMID09PT09PT09PT09IC0tPg0KDQoNCjwhLS0gPT09PT09PT09IENPTlNUUlVDVE9SIERFVEFJTCA9PT09PT09PSAtLT4NCg0KPEEgTkFNRT0iY29uc3RydWN0b3JfZGV0YWlsIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+DQo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4NCjxURCBDT0xTUEFOPTE+PEZPTlQgU0laRT0iKzIiPg0KPEI+Q29uc3RydWN0b3IgRGV0YWlsPC9CPjwvRk9OVD48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQoNCjxBIE5BTUU9IlhNTFJlYWRlckFkYXB0ZXIoKSI+PCEtLSAtLT48L0E+PEgzPg0KWE1MUmVhZGVyQWRhcHRlcjwvSDM+DQo8UFJFPg0KcHVibGljIDxCPlhNTFJlYWRlckFkYXB0ZXI8L0I+KCkKICAgICAgICAgICAgICAgICB0aHJvd3MgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvU0FYRXhjZXB0aW9uLmh0bWwiPlNBWEV4Y2VwdGlvbjwvQT48L1BSRT4NCjxETD4NCjxERD5DcmVhdGUgYSBuZXcgYWRhcHRlci4KCiA8cD5Vc2UgdGhlICJvcmcueG1sLnNheC5kcml2ZXIiIHByb3BlcnR5IHRvIGxvY2F0ZSB0aGUgU0FYMgogZHJpdmVyIHRvIGVtYmVkLjwvcD48REQ+PERMPg0KPERUPjxCPlRocm93czo8L0I+PEREPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L1NBWEV4Y2VwdGlvbi5odG1sIj5TQVhFeGNlcHRpb248L0E+IC0gSWYgdGhlIGVtYmVkZGVkIGRyaXZlcgogICAgICAgICAgICBjYW5ub3QgYmUgaW5zdGFudGlhdGVkIG9yIGlmIHRoZQogICAgICAgICAgICBvcmcueG1sLnNheC5kcml2ZXIgcHJvcGVydHkgaXMgbm90IHNwZWNpZmllZC48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9IlhNTFJlYWRlckFkYXB0ZXIob3JnLnhtbC5zYXguWE1MUmVhZGVyKSI+PCEtLSAtLT48L0E+PEgzPg0KWE1MUmVhZGVyQWRhcHRlcjwvSDM+DQo8UFJFPg0KcHVibGljIDxCPlhNTFJlYWRlckFkYXB0ZXI8L0I+KDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L1hNTFJlYWRlci5odG1sIj5YTUxSZWFkZXI8L0E+Jm5ic3A7eG1sUmVhZGVyKTwvUFJFPg0KPERMPg0KPEREPkNyZWF0ZSBhIG5ldyBhZGFwdGVyLgoKIDxwPkNyZWF0ZSBhIG5ldyBhZGFwdGVyLCB3cmFwcGVkIGFyb3VuZCBhIFNBWDIgWE1MUmVhZGVyLgogVGhlIGFkYXB0ZXIgd2lsbCBtYWtlIHRoZSBYTUxSZWFkZXIgYWN0IGxpa2UgYSBTQVgxCiBQYXJzZXIuPC9wPjxERD48REw+DQo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPnhtbFJlYWRlcjwvQ09ERT4gLSBUaGUgU0FYMiBYTUxSZWFkZXIgdG8gd3JhcC48RFQ+PEI+VGhyb3dzOjwvQj48REQ+amF2YS5sYW5nLk51bGxQb2ludGVyRXhjZXB0aW9uIC0gSWYgdGhlIGFyZ3VtZW50IGlzIG51bGwuPC9ETD4NCjwvREQ+DQo8L0RMPg0KDQo8IS0tID09PT09PT09PT09PSBNRVRIT0QgREVUQUlMID09PT09PT09PT0gLS0+DQoNCjxBIE5BTUU9Im1ldGhvZF9kZXRhaWwiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4NCjxUUiBCR0NPTE9SPSIjQ0NDQ0ZGIiBDTEFTUz0iVGFibGVIZWFkaW5nQ29sb3IiPg0KPFREIENPTFNQQU49MT48Rk9OVCBTSVpFPSIrMiI+DQo8Qj5NZXRob2QgRGV0YWlsPC9CPjwvRk9OVD48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQoNCjxBIE5BTUU9InNldExvY2FsZShqYXZhLnV0aWwuTG9jYWxlKSI+PCEtLSAtLT48L0E+PEgzPg0Kc2V0TG9jYWxlPC9IMz4NCjxQUkU+DQpwdWJsaWMgdm9pZCA8Qj5zZXRMb2NhbGU8L0I+KGphdmEudXRpbC5Mb2NhbGUmbmJzcDtsb2NhbGUpCiAgICAgICAgICAgICAgIHRocm93cyA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9TQVhFeGNlcHRpb24uaHRtbCI+U0FYRXhjZXB0aW9uPC9BPjwvUFJFPg0KPERMPg0KPEREPlNldCB0aGUgbG9jYWxlIGZvciBlcnJvciByZXBvcnRpbmcuCgogPHA+VGhpcyBpcyBub3Qgc3VwcG9ydGVkIGluIFNBWDIsIGFuZCB3aWxsIGFsd2F5cyB0aHJvdwogYW4gZXhjZXB0aW9uLjwvcD48REQ+PERMPg0KPERUPjxCPlNwZWNpZmllZCBieTogPC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9QYXJzZXIuaHRtbCNzZXRMb2NhbGUoamF2YS51dGlsLkxvY2FsZSkiPnNldExvY2FsZTwvQT4gaW4gaW50ZXJmYWNlIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L1BhcnNlci5odG1sIj5QYXJzZXI8L0E+PERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT5sb2NhbGU8L0NPREU+IC0gdGhlIGxvY2FsZSBmb3IgZXJyb3IgcmVwb3J0aW5nLjxEVD48Qj5UaHJvd3M6PC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9TQVhFeGNlcHRpb24uaHRtbCI+U0FYRXhjZXB0aW9uPC9BPiAtIFRocm93biB1bmxlc3Mgb3ZlcnJpZGRlbi48RFQ+PEI+U2VlIEFsc286IDwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvUGFyc2VyLmh0bWwjc2V0TG9jYWxlKGphdmEudXRpbC5Mb2NhbGUpIj48Q09ERT5QYXJzZXIuc2V0TG9jYWxlKGphdmEudXRpbC5Mb2NhbGUpPC9DT0RFPjwvQT48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9InNldEVudGl0eVJlc29sdmVyKG9yZy54bWwuc2F4LkVudGl0eVJlc29sdmVyKSI+PCEtLSAtLT48L0E+PEgzPg0Kc2V0RW50aXR5UmVzb2x2ZXI8L0gzPg0KPFBSRT4NCnB1YmxpYyB2b2lkIDxCPnNldEVudGl0eVJlc29sdmVyPC9CPig8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9FbnRpdHlSZXNvbHZlci5odG1sIj5FbnRpdHlSZXNvbHZlcjwvQT4mbmJzcDtyZXNvbHZlcik8L1BSRT4NCjxETD4NCjxERD5SZWdpc3RlciB0aGUgZW50aXR5IHJlc29sdmVyLjxERD48REw+DQo8RFQ+PEI+U3BlY2lmaWVkIGJ5OiA8L0I+PEREPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L1BhcnNlci5odG1sI3NldEVudGl0eVJlc29sdmVyKG9yZy54bWwuc2F4LkVudGl0eVJlc29sdmVyKSI+c2V0RW50aXR5UmVzb2x2ZXI8L0E+IGluIGludGVyZmFjZSA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9QYXJzZXIuaHRtbCI+UGFyc2VyPC9BPjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+cmVzb2x2ZXI8L0NPREU+IC0gVGhlIG5ldyByZXNvbHZlci48RFQ+PEI+U2VlIEFsc286IDwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvUGFyc2VyLmh0bWwjc2V0RW50aXR5UmVzb2x2ZXIob3JnLnhtbC5zYXguRW50aXR5UmVzb2x2ZXIpIj48Q09ERT5QYXJzZXIuc2V0RW50aXR5UmVzb2x2ZXIob3JnLnhtbC5zYXguRW50aXR5UmVzb2x2ZXIpPC9DT0RFPjwvQT48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9InNldERUREhhbmRsZXIob3JnLnhtbC5zYXguRFRESGFuZGxlcikiPjwhLS0gLS0+PC9BPjxIMz4NCnNldERUREhhbmRsZXI8L0gzPg0KPFBSRT4NCnB1YmxpYyB2b2lkIDxCPnNldERUREhhbmRsZXI8L0I+KDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L0RUREhhbmRsZXIuaHRtbCI+RFRESGFuZGxlcjwvQT4mbmJzcDtoYW5kbGVyKTwvUFJFPg0KPERMPg0KPEREPlJlZ2lzdGVyIHRoZSBEVEQgZXZlbnQgaGFuZGxlci48REQ+PERMPg0KPERUPjxCPlNwZWNpZmllZCBieTogPC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9QYXJzZXIuaHRtbCNzZXREVERIYW5kbGVyKG9yZy54bWwuc2F4LkRUREhhbmRsZXIpIj5zZXREVERIYW5kbGVyPC9BPiBpbiBpbnRlcmZhY2UgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvUGFyc2VyLmh0bWwiPlBhcnNlcjwvQT48RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPmhhbmRsZXI8L0NPREU+IC0gVGhlIG5ldyBEVEQgZXZlbnQgaGFuZGxlci48RFQ+PEI+U2VlIEFsc286IDwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvUGFyc2VyLmh0bWwjc2V0RFRESGFuZGxlcihvcmcueG1sLnNheC5EVERIYW5kbGVyKSI+PENPREU+UGFyc2VyLnNldERUREhhbmRsZXIob3JnLnhtbC5zYXguRFRESGFuZGxlcik8L0NPREU+PC9BPjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0ic2V0RG9jdW1lbnRIYW5kbGVyKG9yZy54bWwuc2F4LkRvY3VtZW50SGFuZGxlcikiPjwhLS0gLS0+PC9BPjxIMz4NCnNldERvY3VtZW50SGFuZGxlcjwvSDM+DQo8UFJFPg0KcHVibGljIHZvaWQgPEI+c2V0RG9jdW1lbnRIYW5kbGVyPC9CPig8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9Eb2N1bWVudEhhbmRsZXIuaHRtbCI+RG9jdW1lbnRIYW5kbGVyPC9BPiZuYnNwO2hhbmRsZXIpPC9QUkU+DQo8REw+DQo8REQ+UmVnaXN0ZXIgdGhlIFNBWDEgZG9jdW1lbnQgZXZlbnQgaGFuZGxlci4KCiA8cD5Ob3RlIHRoYXQgdGhlIFNBWDEgZG9jdW1lbnQgaGFuZGxlciBoYXMgbm8gTmFtZXNwYWNlCiBzdXBwb3J0LjwvcD48REQ+PERMPg0KPERUPjxCPlNwZWNpZmllZCBieTogPC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9QYXJzZXIuaHRtbCNzZXREb2N1bWVudEhhbmRsZXIob3JnLnhtbC5zYXguRG9jdW1lbnRIYW5kbGVyKSI+c2V0RG9jdW1lbnRIYW5kbGVyPC9BPiBpbiBpbnRlcmZhY2UgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvUGFyc2VyLmh0bWwiPlBhcnNlcjwvQT48RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPmhhbmRsZXI8L0NPREU+IC0gVGhlIG5ldyBTQVgxIGRvY3VtZW50IGV2ZW50IGhhbmRsZXIuPERUPjxCPlNlZSBBbHNvOiA8L0I+PEREPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L1BhcnNlci5odG1sI3NldERvY3VtZW50SGFuZGxlcihvcmcueG1sLnNheC5Eb2N1bWVudEhhbmRsZXIpIj48Q09ERT5QYXJzZXIuc2V0RG9jdW1lbnRIYW5kbGVyKG9yZy54bWwuc2F4LkRvY3VtZW50SGFuZGxlcik8L0NPREU+PC9BPjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0ic2V0RXJyb3JIYW5kbGVyKG9yZy54bWwuc2F4LkVycm9ySGFuZGxlcikiPjwhLS0gLS0+PC9BPjxIMz4NCnNldEVycm9ySGFuZGxlcjwvSDM+DQo8UFJFPg0KcHVibGljIHZvaWQgPEI+c2V0RXJyb3JIYW5kbGVyPC9CPig8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9FcnJvckhhbmRsZXIuaHRtbCI+RXJyb3JIYW5kbGVyPC9BPiZuYnNwO2hhbmRsZXIpPC9QUkU+DQo8REw+DQo8REQ+UmVnaXN0ZXIgdGhlIGVycm9yIGV2ZW50IGhhbmRsZXIuPEREPjxETD4NCjxEVD48Qj5TcGVjaWZpZWQgYnk6IDwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvUGFyc2VyLmh0bWwjc2V0RXJyb3JIYW5kbGVyKG9yZy54bWwuc2F4LkVycm9ySGFuZGxlcikiPnNldEVycm9ySGFuZGxlcjwvQT4gaW4gaW50ZXJmYWNlIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L1BhcnNlci5odG1sIj5QYXJzZXI8L0E+PERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT5oYW5kbGVyPC9DT0RFPiAtIFRoZSBuZXcgZXJyb3IgZXZlbnQgaGFuZGxlci48RFQ+PEI+U2VlIEFsc286IDwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvUGFyc2VyLmh0bWwjc2V0RXJyb3JIYW5kbGVyKG9yZy54bWwuc2F4LkVycm9ySGFuZGxlcikiPjxDT0RFPlBhcnNlci5zZXRFcnJvckhhbmRsZXIob3JnLnhtbC5zYXguRXJyb3JIYW5kbGVyKTwvQ09ERT48L0E+PC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJwYXJzZShqYXZhLmxhbmcuU3RyaW5nKSI+PCEtLSAtLT48L0E+PEgzPg0KcGFyc2U8L0gzPg0KPFBSRT4NCnB1YmxpYyB2b2lkIDxCPnBhcnNlPC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7c3lzdGVtSWQpCiAgICAgICAgICAgdGhyb3dzIGphdmEuaW8uSU9FeGNlcHRpb24sCiAgICAgICAgICAgICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L1NBWEV4Y2VwdGlvbi5odG1sIj5TQVhFeGNlcHRpb248L0E+PC9QUkU+DQo8REw+DQo8REQ+UGFyc2UgdGhlIGRvY3VtZW50LgoKIDxwPlRoaXMgbWV0aG9kIHdpbGwgdGhyb3cgYW4gZXhjZXB0aW9uIGlmIHRoZSBlbWJlZGRlZAogWE1MUmVhZGVyIGRvZXMgbm90IHN1cHBvcnQgdGhlIAogaHR0cDovL3htbC5vcmcvc2F4L2ZlYXR1cmVzL25hbWVzcGFjZS1wcmVmaXhlcyBwcm9wZXJ0eS48L3A+PEREPjxETD4NCjxEVD48Qj5TcGVjaWZpZWQgYnk6IDwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvUGFyc2VyLmh0bWwjcGFyc2UoamF2YS5sYW5nLlN0cmluZykiPnBhcnNlPC9BPiBpbiBpbnRlcmZhY2UgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvUGFyc2VyLmh0bWwiPlBhcnNlcjwvQT48RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPnN5c3RlbUlkPC9DT0RFPiAtIFRoZSBhYnNvbHV0ZSBVUkwgb2YgdGhlIGRvY3VtZW50LjxEVD48Qj5UaHJvd3M6PC9CPjxERD5qYXZhLmlvLklPRXhjZXB0aW9uIC0gSWYgdGhlcmUgaXMgYSBwcm9ibGVtIHJlYWRpbmcKICAgICAgICAgICAgdGhlIHJhdyBjb250ZW50IG9mIHRoZSBkb2N1bWVudC48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvU0FYRXhjZXB0aW9uLmh0bWwiPlNBWEV4Y2VwdGlvbjwvQT4gLSBJZiB0aGVyZSBpcyBhIHByb2JsZW0KICAgICAgICAgICAgcHJvY2Vzc2luZyB0aGUgZG9jdW1lbnQuPERUPjxCPlNlZSBBbHNvOiA8L0I+PEREPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L2hlbHBlcnMvWE1MUmVhZGVyQWRhcHRlci5odG1sI3BhcnNlKG9yZy54bWwuc2F4LklucHV0U291cmNlKSI+PENPREU+cGFyc2Uob3JnLnhtbC5zYXguSW5wdXRTb3VyY2UpPC9DT0RFPjwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvUGFyc2VyLmh0bWwjcGFyc2UoamF2YS5sYW5nLlN0cmluZykiPjxDT0RFPlBhcnNlci5wYXJzZShqYXZhLmxhbmcuU3RyaW5nKTwvQ09ERT48L0E+PC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJwYXJzZShvcmcueG1sLnNheC5JbnB1dFNvdXJjZSkiPjwhLS0gLS0+PC9BPjxIMz4NCnBhcnNlPC9IMz4NCjxQUkU+DQpwdWJsaWMgdm9pZCA8Qj5wYXJzZTwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvSW5wdXRTb3VyY2UuaHRtbCI+SW5wdXRTb3VyY2U8L0E+Jm5ic3A7aW5wdXQpCiAgICAgICAgICAgdGhyb3dzIGphdmEuaW8uSU9FeGNlcHRpb24sCiAgICAgICAgICAgICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L1NBWEV4Y2VwdGlvbi5odG1sIj5TQVhFeGNlcHRpb248L0E+PC9QUkU+DQo8REw+DQo8REQ+UGFyc2UgdGhlIGRvY3VtZW50LgoKIDxwPlRoaXMgbWV0aG9kIHdpbGwgdGhyb3cgYW4gZXhjZXB0aW9uIGlmIHRoZSBlbWJlZGRlZAogWE1MUmVhZGVyIGRvZXMgbm90IHN1cHBvcnQgdGhlIAogaHR0cDovL3htbC5vcmcvc2F4L2ZlYXR1cmVzL25hbWVzcGFjZS1wcmVmaXhlcyBwcm9wZXJ0eS48L3A+PEREPjxETD4NCjxEVD48Qj5TcGVjaWZpZWQgYnk6IDwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvUGFyc2VyLmh0bWwjcGFyc2Uob3JnLnhtbC5zYXguSW5wdXRTb3VyY2UpIj5wYXJzZTwvQT4gaW4gaW50ZXJmYWNlIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L1BhcnNlci5odG1sIj5QYXJzZXI8L0E+PERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT5pbnB1dDwvQ09ERT4gLSBBbiBpbnB1dCBzb3VyY2UgZm9yIHRoZSBkb2N1bWVudC48RFQ+PEI+VGhyb3dzOjwvQj48REQ+amF2YS5pby5JT0V4Y2VwdGlvbiAtIElmIHRoZXJlIGlzIGEgcHJvYmxlbSByZWFkaW5nCiAgICAgICAgICAgIHRoZSByYXcgY29udGVudCBvZiB0aGUgZG9jdW1lbnQuPEREPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L1NBWEV4Y2VwdGlvbi5odG1sIj5TQVhFeGNlcHRpb248L0E+IC0gSWYgdGhlcmUgaXMgYSBwcm9ibGVtCiAgICAgICAgICAgIHByb2Nlc3NpbmcgdGhlIGRvY3VtZW50LjxEVD48Qj5TZWUgQWxzbzogPC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9oZWxwZXJzL1hNTFJlYWRlckFkYXB0ZXIuaHRtbCNwYXJzZShqYXZhLmxhbmcuU3RyaW5nKSI+PENPREU+cGFyc2UoamF2YS5sYW5nLlN0cmluZyk8L0NPREU+PC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9QYXJzZXIuaHRtbCNwYXJzZShvcmcueG1sLnNheC5JbnB1dFNvdXJjZSkiPjxDT0RFPlBhcnNlci5wYXJzZShvcmcueG1sLnNheC5JbnB1dFNvdXJjZSk8L0NPREU+PC9BPjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0ic2V0RG9jdW1lbnRMb2NhdG9yKG9yZy54bWwuc2F4LkxvY2F0b3IpIj48IS0tIC0tPjwvQT48SDM+DQpzZXREb2N1bWVudExvY2F0b3I8L0gzPg0KPFBSRT4NCnB1YmxpYyB2b2lkIDxCPnNldERvY3VtZW50TG9jYXRvcjwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvTG9jYXRvci5odG1sIj5Mb2NhdG9yPC9BPiZuYnNwO2xvY2F0b3IpPC9QUkU+DQo8REw+DQo8REQ+U2V0IGEgZG9jdW1lbnQgbG9jYXRvci48REQ+PERMPg0KPERUPjxCPlNwZWNpZmllZCBieTogPC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9Db250ZW50SGFuZGxlci5odG1sI3NldERvY3VtZW50TG9jYXRvcihvcmcueG1sLnNheC5Mb2NhdG9yKSI+c2V0RG9jdW1lbnRMb2NhdG9yPC9BPiBpbiBpbnRlcmZhY2UgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvQ29udGVudEhhbmRsZXIuaHRtbCI+Q29udGVudEhhbmRsZXI8L0E+PERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT5sb2NhdG9yPC9DT0RFPiAtIFRoZSBkb2N1bWVudCBsb2NhdG9yLjxEVD48Qj5TZWUgQWxzbzogPC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9Db250ZW50SGFuZGxlci5odG1sI3NldERvY3VtZW50TG9jYXRvcihvcmcueG1sLnNheC5Mb2NhdG9yKSI+PENPREU+Q29udGVudEhhbmRsZXIuc2V0RG9jdW1lbnRMb2NhdG9yKG9yZy54bWwuc2F4LkxvY2F0b3IpPC9DT0RFPjwvQT48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9InN0YXJ0RG9jdW1lbnQoKSI+PCEtLSAtLT48L0E+PEgzPg0Kc3RhcnREb2N1bWVudDwvSDM+DQo8UFJFPg0KcHVibGljIHZvaWQgPEI+c3RhcnREb2N1bWVudDwvQj4oKQogICAgICAgICAgICAgICAgICAgdGhyb3dzIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L1NBWEV4Y2VwdGlvbi5odG1sIj5TQVhFeGNlcHRpb248L0E+PC9QUkU+DQo8REw+DQo8REQ+U3RhcnQgZG9jdW1lbnQgZXZlbnQuPEREPjxETD4NCjxEVD48Qj5TcGVjaWZpZWQgYnk6IDwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvQ29udGVudEhhbmRsZXIuaHRtbCNzdGFydERvY3VtZW50KCkiPnN0YXJ0RG9jdW1lbnQ8L0E+IGluIGludGVyZmFjZSA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9Db250ZW50SGFuZGxlci5odG1sIj5Db250ZW50SGFuZGxlcjwvQT48RFQ+PEI+VGhyb3dzOjwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvU0FYRXhjZXB0aW9uLmh0bWwiPlNBWEV4Y2VwdGlvbjwvQT4gLSBUaGUgY2xpZW50IG1heSByYWlzZSBhCiAgICAgICAgICAgIHByb2Nlc3NpbmcgZXhjZXB0aW9uLjxEVD48Qj5TZWUgQWxzbzogPC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9Db250ZW50SGFuZGxlci5odG1sI3N0YXJ0RG9jdW1lbnQoKSI+PENPREU+Q29udGVudEhhbmRsZXIuc3RhcnREb2N1bWVudCgpPC9DT0RFPjwvQT48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImVuZERvY3VtZW50KCkiPjwhLS0gLS0+PC9BPjxIMz4NCmVuZERvY3VtZW50PC9IMz4NCjxQUkU+DQpwdWJsaWMgdm9pZCA8Qj5lbmREb2N1bWVudDwvQj4oKQogICAgICAgICAgICAgICAgIHRocm93cyA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9TQVhFeGNlcHRpb24uaHRtbCI+U0FYRXhjZXB0aW9uPC9BPjwvUFJFPg0KPERMPg0KPEREPkVuZCBkb2N1bWVudCBldmVudC48REQ+PERMPg0KPERUPjxCPlNwZWNpZmllZCBieTogPC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9Db250ZW50SGFuZGxlci5odG1sI2VuZERvY3VtZW50KCkiPmVuZERvY3VtZW50PC9BPiBpbiBpbnRlcmZhY2UgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvQ29udGVudEhhbmRsZXIuaHRtbCI+Q29udGVudEhhbmRsZXI8L0E+PERUPjxCPlRocm93czo8L0I+PEREPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L1NBWEV4Y2VwdGlvbi5odG1sIj5TQVhFeGNlcHRpb248L0E+IC0gVGhlIGNsaWVudCBtYXkgcmFpc2UgYQogICAgICAgICAgICBwcm9jZXNzaW5nIGV4Y2VwdGlvbi48RFQ+PEI+U2VlIEFsc286IDwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvQ29udGVudEhhbmRsZXIuaHRtbCNlbmREb2N1bWVudCgpIj48Q09ERT5Db250ZW50SGFuZGxlci5lbmREb2N1bWVudCgpPC9DT0RFPjwvQT48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9InN0YXJ0UHJlZml4TWFwcGluZyhqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nKSI+PCEtLSAtLT48L0E+PEgzPg0Kc3RhcnRQcmVmaXhNYXBwaW5nPC9IMz4NCjxQUkU+DQpwdWJsaWMgdm9pZCA8Qj5zdGFydFByZWZpeE1hcHBpbmc8L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtwcmVmaXgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqYXZhLmxhbmcuU3RyaW5nJm5ic3A7dXJpKTwvUFJFPg0KPERMPg0KPEREPkFkYXB0IGEgU0FYMiBzdGFydCBwcmVmaXggbWFwcGluZyBldmVudC48REQ+PERMPg0KPERUPjxCPlNwZWNpZmllZCBieTogPC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9Db250ZW50SGFuZGxlci5odG1sI3N0YXJ0UHJlZml4TWFwcGluZyhqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nKSI+c3RhcnRQcmVmaXhNYXBwaW5nPC9BPiBpbiBpbnRlcmZhY2UgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvQ29udGVudEhhbmRsZXIuaHRtbCI+Q29udGVudEhhbmRsZXI8L0E+PERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT5wcmVmaXg8L0NPREU+IC0gVGhlIHByZWZpeCBiZWluZyBtYXBwZWQuPEREPjxDT0RFPnVyaTwvQ09ERT4gLSBUaGUgTmFtZXNwYWNlIFVSSSBiZWluZyBtYXBwZWQgdG8uPERUPjxCPlNlZSBBbHNvOiA8L0I+PEREPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L0NvbnRlbnRIYW5kbGVyLmh0bWwjc3RhcnRQcmVmaXhNYXBwaW5nKGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcpIj48Q09ERT5Db250ZW50SGFuZGxlci5zdGFydFByZWZpeE1hcHBpbmcoamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZyk8L0NPREU+PC9BPjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iZW5kUHJlZml4TWFwcGluZyhqYXZhLmxhbmcuU3RyaW5nKSI+PCEtLSAtLT48L0E+PEgzPg0KZW5kUHJlZml4TWFwcGluZzwvSDM+DQo8UFJFPg0KcHVibGljIHZvaWQgPEI+ZW5kUHJlZml4TWFwcGluZzwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO3ByZWZpeCk8L1BSRT4NCjxETD4NCjxERD5BZGFwdCBhIFNBWDIgZW5kIHByZWZpeCBtYXBwaW5nIGV2ZW50LjxERD48REw+DQo8RFQ+PEI+U3BlY2lmaWVkIGJ5OiA8L0I+PEREPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L0NvbnRlbnRIYW5kbGVyLmh0bWwjZW5kUHJlZml4TWFwcGluZyhqYXZhLmxhbmcuU3RyaW5nKSI+ZW5kUHJlZml4TWFwcGluZzwvQT4gaW4gaW50ZXJmYWNlIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L0NvbnRlbnRIYW5kbGVyLmh0bWwiPkNvbnRlbnRIYW5kbGVyPC9BPjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+cHJlZml4PC9DT0RFPiAtIFRoZSBwcmVmaXggYmVpbmcgbWFwcGVkLjxEVD48Qj5TZWUgQWxzbzogPC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9Db250ZW50SGFuZGxlci5odG1sI2VuZFByZWZpeE1hcHBpbmcoamF2YS5sYW5nLlN0cmluZykiPjxDT0RFPkNvbnRlbnRIYW5kbGVyLmVuZFByZWZpeE1hcHBpbmcoamF2YS5sYW5nLlN0cmluZyk8L0NPREU+PC9BPjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0ic3RhcnRFbGVtZW50KGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcsIG9yZy54bWwuc2F4LkF0dHJpYnV0ZXMpIj48IS0tIC0tPjwvQT48SDM+DQpzdGFydEVsZW1lbnQ8L0gzPg0KPFBSRT4NCnB1YmxpYyB2b2lkIDxCPnN0YXJ0RWxlbWVudDwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO3VyaSwKICAgICAgICAgICAgICAgICAgICAgICAgIGphdmEubGFuZy5TdHJpbmcmbmJzcDtsb2NhbE5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICBqYXZhLmxhbmcuU3RyaW5nJm5ic3A7cU5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9BdHRyaWJ1dGVzLmh0bWwiPkF0dHJpYnV0ZXM8L0E+Jm5ic3A7YXR0cykKICAgICAgICAgICAgICAgICAgdGhyb3dzIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L1NBWEV4Y2VwdGlvbi5odG1sIj5TQVhFeGNlcHRpb248L0E+PC9QUkU+DQo8REw+DQo8REQ+QWRhcHQgYSBTQVgyIHN0YXJ0IGVsZW1lbnQgZXZlbnQuPEREPjxETD4NCjxEVD48Qj5TcGVjaWZpZWQgYnk6IDwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvQ29udGVudEhhbmRsZXIuaHRtbCNzdGFydEVsZW1lbnQoamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZywgb3JnLnhtbC5zYXguQXR0cmlidXRlcykiPnN0YXJ0RWxlbWVudDwvQT4gaW4gaW50ZXJmYWNlIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L0NvbnRlbnRIYW5kbGVyLmh0bWwiPkNvbnRlbnRIYW5kbGVyPC9BPjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+dXJpPC9DT0RFPiAtIFRoZSBOYW1lc3BhY2UgVVJJLjxERD48Q09ERT5sb2NhbE5hbWU8L0NPREU+IC0gVGhlIE5hbWVzcGFjZSBsb2NhbCBuYW1lLjxERD48Q09ERT5xTmFtZTwvQ09ERT4gLSBUaGUgcXVhbGlmaWVkIChwcmVmaXhlZCkgbmFtZS48REQ+PENPREU+YXR0czwvQ09ERT4gLSBUaGUgU0FYMiBhdHRyaWJ1dGVzLjxEVD48Qj5UaHJvd3M6PC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9TQVhFeGNlcHRpb24uaHRtbCI+U0FYRXhjZXB0aW9uPC9BPiAtIFRoZSBjbGllbnQgbWF5IHJhaXNlIGEKICAgICAgICAgICAgcHJvY2Vzc2luZyBleGNlcHRpb24uPERUPjxCPlNlZSBBbHNvOiA8L0I+PEREPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L0NvbnRlbnRIYW5kbGVyLmh0bWwjZW5kRG9jdW1lbnQoKSI+PENPREU+Q29udGVudEhhbmRsZXIuZW5kRG9jdW1lbnQoKTwvQ09ERT48L0E+PC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJlbmRFbGVtZW50KGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcpIj48IS0tIC0tPjwvQT48SDM+DQplbmRFbGVtZW50PC9IMz4NCjxQUkU+DQpwdWJsaWMgdm9pZCA8Qj5lbmRFbGVtZW50PC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7dXJpLAogICAgICAgICAgICAgICAgICAgICAgIGphdmEubGFuZy5TdHJpbmcmbmJzcDtsb2NhbE5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgamF2YS5sYW5nLlN0cmluZyZuYnNwO3FOYW1lKQogICAgICAgICAgICAgICAgdGhyb3dzIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L1NBWEV4Y2VwdGlvbi5odG1sIj5TQVhFeGNlcHRpb248L0E+PC9QUkU+DQo8REw+DQo8REQ+QWRhcHQgYSBTQVgyIGVuZCBlbGVtZW50IGV2ZW50LjxERD48REw+DQo8RFQ+PEI+U3BlY2lmaWVkIGJ5OiA8L0I+PEREPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L0NvbnRlbnRIYW5kbGVyLmh0bWwjZW5kRWxlbWVudChqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nKSI+ZW5kRWxlbWVudDwvQT4gaW4gaW50ZXJmYWNlIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L0NvbnRlbnRIYW5kbGVyLmh0bWwiPkNvbnRlbnRIYW5kbGVyPC9BPjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+dXJpPC9DT0RFPiAtIFRoZSBOYW1lc3BhY2UgVVJJLjxERD48Q09ERT5sb2NhbE5hbWU8L0NPREU+IC0gVGhlIE5hbWVzcGFjZSBsb2NhbCBuYW1lLjxERD48Q09ERT5xTmFtZTwvQ09ERT4gLSBUaGUgcXVhbGlmaWVkIChwcmVmaXhlZCkgbmFtZS48RFQ+PEI+VGhyb3dzOjwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvU0FYRXhjZXB0aW9uLmh0bWwiPlNBWEV4Y2VwdGlvbjwvQT4gLSBUaGUgY2xpZW50IG1heSByYWlzZSBhCiAgICAgICAgICAgIHByb2Nlc3NpbmcgZXhjZXB0aW9uLjxEVD48Qj5TZWUgQWxzbzogPC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9Db250ZW50SGFuZGxlci5odG1sI2VuZEVsZW1lbnQoamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZykiPjxDT0RFPkNvbnRlbnRIYW5kbGVyLmVuZEVsZW1lbnQoamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZyk8L0NPREU+PC9BPjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iY2hhcmFjdGVycyhjaGFyW10sIGludCwgaW50KSI+PCEtLSAtLT48L0E+PEgzPg0KY2hhcmFjdGVyczwvSDM+DQo8UFJFPg0KcHVibGljIHZvaWQgPEI+Y2hhcmFjdGVyczwvQj4oY2hhcltdJm5ic3A7Y2gsCiAgICAgICAgICAgICAgICAgICAgICAgaW50Jm5ic3A7c3RhcnQsCiAgICAgICAgICAgICAgICAgICAgICAgaW50Jm5ic3A7bGVuZ3RoKQogICAgICAgICAgICAgICAgdGhyb3dzIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L1NBWEV4Y2VwdGlvbi5odG1sIj5TQVhFeGNlcHRpb248L0E+PC9QUkU+DQo8REw+DQo8REQ+QWRhcHQgYSBTQVgyIGNoYXJhY3RlcnMgZXZlbnQuPEREPjxETD4NCjxEVD48Qj5TcGVjaWZpZWQgYnk6IDwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvQ29udGVudEhhbmRsZXIuaHRtbCNjaGFyYWN0ZXJzKGNoYXJbXSwgaW50LCBpbnQpIj5jaGFyYWN0ZXJzPC9BPiBpbiBpbnRlcmZhY2UgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvQ29udGVudEhhbmRsZXIuaHRtbCI+Q29udGVudEhhbmRsZXI8L0E+PERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT5jaDwvQ09ERT4gLSBBbiBhcnJheSBvZiBjaGFyYWN0ZXJzLjxERD48Q09ERT5zdGFydDwvQ09ERT4gLSBUaGUgc3RhcnRpbmcgcG9zaXRpb24gaW4gdGhlIGFycmF5LjxERD48Q09ERT5sZW5ndGg8L0NPREU+IC0gVGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzIHRvIHVzZS48RFQ+PEI+VGhyb3dzOjwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvU0FYRXhjZXB0aW9uLmh0bWwiPlNBWEV4Y2VwdGlvbjwvQT4gLSBUaGUgY2xpZW50IG1heSByYWlzZSBhCiAgICAgICAgICAgIHByb2Nlc3NpbmcgZXhjZXB0aW9uLjxEVD48Qj5TZWUgQWxzbzogPC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9Db250ZW50SGFuZGxlci5odG1sI2NoYXJhY3RlcnMoY2hhcltdLCBpbnQsIGludCkiPjxDT0RFPkNvbnRlbnRIYW5kbGVyLmNoYXJhY3RlcnMoY2hhcltdLCBpbnQsIGludCk8L0NPREU+PC9BPjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iaWdub3JhYmxlV2hpdGVzcGFjZShjaGFyW10sIGludCwgaW50KSI+PCEtLSAtLT48L0E+PEgzPg0KaWdub3JhYmxlV2hpdGVzcGFjZTwvSDM+DQo8UFJFPg0KcHVibGljIHZvaWQgPEI+aWdub3JhYmxlV2hpdGVzcGFjZTwvQj4oY2hhcltdJm5ic3A7Y2gsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50Jm5ic3A7c3RhcnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50Jm5ic3A7bGVuZ3RoKQogICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3dzIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L1NBWEV4Y2VwdGlvbi5odG1sIj5TQVhFeGNlcHRpb248L0E+PC9QUkU+DQo8REw+DQo8REQ+QWRhcHQgYSBTQVgyIGlnbm9yYWJsZSB3aGl0ZXNwYWNlIGV2ZW50LjxERD48REw+DQo8RFQ+PEI+U3BlY2lmaWVkIGJ5OiA8L0I+PEREPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L0NvbnRlbnRIYW5kbGVyLmh0bWwjaWdub3JhYmxlV2hpdGVzcGFjZShjaGFyW10sIGludCwgaW50KSI+aWdub3JhYmxlV2hpdGVzcGFjZTwvQT4gaW4gaW50ZXJmYWNlIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L0NvbnRlbnRIYW5kbGVyLmh0bWwiPkNvbnRlbnRIYW5kbGVyPC9BPjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+Y2g8L0NPREU+IC0gQW4gYXJyYXkgb2YgY2hhcmFjdGVycy48REQ+PENPREU+c3RhcnQ8L0NPREU+IC0gVGhlIHN0YXJ0aW5nIHBvc2l0aW9uIGluIHRoZSBhcnJheS48REQ+PENPREU+bGVuZ3RoPC9DT0RFPiAtIFRoZSBudW1iZXIgb2YgY2hhcmFjdGVycyB0byB1c2UuPERUPjxCPlRocm93czo8L0I+PEREPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L1NBWEV4Y2VwdGlvbi5odG1sIj5TQVhFeGNlcHRpb248L0E+IC0gVGhlIGNsaWVudCBtYXkgcmFpc2UgYQogICAgICAgICAgICBwcm9jZXNzaW5nIGV4Y2VwdGlvbi48RFQ+PEI+U2VlIEFsc286IDwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvQ29udGVudEhhbmRsZXIuaHRtbCNpZ25vcmFibGVXaGl0ZXNwYWNlKGNoYXJbXSwgaW50LCBpbnQpIj48Q09ERT5Db250ZW50SGFuZGxlci5pZ25vcmFibGVXaGl0ZXNwYWNlKGNoYXJbXSwgaW50LCBpbnQpPC9DT0RFPjwvQT48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9InByb2Nlc3NpbmdJbnN0cnVjdGlvbihqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nKSI+PCEtLSAtLT48L0E+PEgzPg0KcHJvY2Vzc2luZ0luc3RydWN0aW9uPC9IMz4NCjxQUkU+DQpwdWJsaWMgdm9pZCA8Qj5wcm9jZXNzaW5nSW5zdHJ1Y3Rpb248L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDt0YXJnZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqYXZhLmxhbmcuU3RyaW5nJm5ic3A7ZGF0YSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3dzIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L1NBWEV4Y2VwdGlvbi5odG1sIj5TQVhFeGNlcHRpb248L0E+PC9QUkU+DQo8REw+DQo8REQ+QWRhcHQgYSBTQVgyIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb24gZXZlbnQuPEREPjxETD4NCjxEVD48Qj5TcGVjaWZpZWQgYnk6IDwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvQ29udGVudEhhbmRsZXIuaHRtbCNwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZykiPnByb2Nlc3NpbmdJbnN0cnVjdGlvbjwvQT4gaW4gaW50ZXJmYWNlIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L0NvbnRlbnRIYW5kbGVyLmh0bWwiPkNvbnRlbnRIYW5kbGVyPC9BPjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+dGFyZ2V0PC9DT0RFPiAtIFRoZSBwcm9jZXNzaW5nIGluc3RydWN0aW9uIHRhcmdldC48REQ+PENPREU+ZGF0YTwvQ09ERT4gLSBUaGUgcmVtYWluZGVyIG9mIHRoZSBwcm9jZXNzaW5nIGluc3RydWN0aW9uPERUPjxCPlRocm93czo8L0I+PEREPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy94bWwvc2F4L1NBWEV4Y2VwdGlvbi5odG1sIj5TQVhFeGNlcHRpb248L0E+IC0gVGhlIGNsaWVudCBtYXkgcmFpc2UgYQogICAgICAgICAgICBwcm9jZXNzaW5nIGV4Y2VwdGlvbi48RFQ+PEI+U2VlIEFsc286IDwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvQ29udGVudEhhbmRsZXIuaHRtbCNwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZykiPjxDT0RFPkNvbnRlbnRIYW5kbGVyLnByb2Nlc3NpbmdJbnN0cnVjdGlvbihqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nKTwvQ09ERT48L0E+PC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJza2lwcGVkRW50aXR5KGphdmEubGFuZy5TdHJpbmcpIj48IS0tIC0tPjwvQT48SDM+DQpza2lwcGVkRW50aXR5PC9IMz4NCjxQUkU+DQpwdWJsaWMgdm9pZCA8Qj5za2lwcGVkRW50aXR5PC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7bmFtZSkKICAgICAgICAgICAgICAgICAgIHRocm93cyA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9TQVhFeGNlcHRpb24uaHRtbCI+U0FYRXhjZXB0aW9uPC9BPjwvUFJFPg0KPERMPg0KPEREPkFkYXB0IGEgU0FYMiBza2lwcGVkIGVudGl0eSBldmVudC48REQ+PERMPg0KPERUPjxCPlNwZWNpZmllZCBieTogPC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9Db250ZW50SGFuZGxlci5odG1sI3NraXBwZWRFbnRpdHkoamF2YS5sYW5nLlN0cmluZykiPnNraXBwZWRFbnRpdHk8L0E+IGluIGludGVyZmFjZSA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9Db250ZW50SGFuZGxlci5odG1sIj5Db250ZW50SGFuZGxlcjwvQT48RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPm5hbWU8L0NPREU+IC0gVGhlIG5hbWUgb2YgdGhlIHNraXBwZWQgZW50aXR5LjxEVD48Qj5UaHJvd3M6PC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9TQVhFeGNlcHRpb24uaHRtbCI+U0FYRXhjZXB0aW9uPC9BPiAtIFRocm93YWJsZSBieSBzdWJjbGFzc2VzLjxEVD48Qj5TZWUgQWxzbzogPC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcveG1sL3NheC9Db250ZW50SGFuZGxlci5odG1sI3NraXBwZWRFbnRpdHkoamF2YS5sYW5nLlN0cmluZykiPjxDT0RFPkNvbnRlbnRIYW5kbGVyLnNraXBwZWRFbnRpdHkoamF2YS5sYW5nLlN0cmluZyk8L0NPREU+PC9BPjwvREw+DQo8L0REPg0KPC9ETD4NCjwhLS0gPT09PT09PT09IEVORCBPRiBDTEFTUyBEQVRBID09PT09PT09PSAtLT4NCjxIUj4NCg0KPCEtLSA9PT09PT09PT09IFNUQVJUIE9GIE5BVkJBUiA9PT09PT09PT09IC0tPg0KPEEgTkFNRT0ibmF2YmFyX2JvdHRvbSI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjAiIFdJRFRIPSIxMDAlIiBDRUxMUEFERElORz0iMSIgQ0VMTFNQQUNJTkc9IjAiPg0KPFRSPg0KPFREIENPTFNQQU49MiBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPg0KPEEgTkFNRT0ibmF2YmFyX2JvdHRvbV9maXJzdHJvdyI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjAiIENFTExQQURESU5HPSIwIiBDRUxMU1BBQ0lORz0iMyI+DQogIDxUUiBBTElHTj0iY2VudGVyIiBWQUxJR049InRvcCI+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vdmVydmlldy1zdW1tYXJ5Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+T3ZlcnZpZXc8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0icGFja2FnZS1zdW1tYXJ5Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+UGFja2FnZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRkZGRkZGIiBDTEFTUz0iTmF2QmFyQ2VsbDFSZXYiPiAmbmJzcDs8Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDFSZXYiPjxCPkNsYXNzPC9CPjwvRk9OVD4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iY2xhc3MtdXNlL1hNTFJlYWRlckFkYXB0ZXIuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5Vc2U8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0icGFja2FnZS10cmVlLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+VHJlZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9kZXByZWNhdGVkLWxpc3QuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5EZXByZWNhdGVkPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL2luZGV4LWFsbC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkluZGV4PC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL2hlbHAtZG9jLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+SGVscDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDwvVFI+DQo8L1RBQkxFPg0KPC9URD4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBST1dTUEFOPTM+PEVNPg0KPC9FTT4NCjwvVEQ+DQo8L1RSPg0KDQo8VFI+DQo8VEQgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJOYXZCYXJDZWxsMiI+PEZPTlQgU0laRT0iLTIiPg0KJm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvaGVscGVycy9YTUxGaWx0ZXJJbXBsLmh0bWwiPjxCPlBSRVYgQ0xBU1M8L0I+PC9BPiZuYnNwOw0KJm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL3htbC9zYXgvaGVscGVycy9YTUxSZWFkZXJGYWN0b3J5Lmh0bWwiPjxCPk5FWFQgQ0xBU1M8L0I+PC9BPjwvRk9OVD48L1REPg0KPFREIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iTmF2QmFyQ2VsbDIiPjxGT05UIFNJWkU9Ii0yIj4NCiAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vaW5kZXguaHRtbCIgVEFSR0VUPSJfdG9wIj48Qj5GUkFNRVM8L0I+PC9BPiAgJm5ic3A7DQombmJzcDs8QSBIUkVGPSJYTUxSZWFkZXJBZGFwdGVyLmh0bWwiIFRBUkdFVD0iX3RvcCI+PEI+Tk8gRlJBTUVTPC9CPjwvQT48L0ZPTlQ+PC9URD4NCjwvVFI+DQo8VFI+DQo8VEQgVkFMSUdOPSJ0b3AiIENMQVNTPSJOYXZCYXJDZWxsMyI+PEZPTlQgU0laRT0iLTIiPg0KICBTVU1NQVJZOiAmbmJzcDtJTk5FUiZuYnNwO3wmbmJzcDtGSUVMRCZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjY29uc3RydWN0b3Jfc3VtbWFyeSI+Q09OU1RSPC9BPiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjbWV0aG9kX3N1bW1hcnkiPk1FVEhPRDwvQT48L0ZPTlQ+PC9URD4NCjxURCBWQUxJR049InRvcCIgQ0xBU1M9Ik5hdkJhckNlbGwzIj48Rk9OVCBTSVpFPSItMiI+DQpERVRBSUw6ICZuYnNwO0ZJRUxEJm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNjb25zdHJ1Y3Rvcl9kZXRhaWwiPkNPTlNUUjwvQT4mbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI21ldGhvZF9kZXRhaWwiPk1FVEhPRDwvQT48L0ZPTlQ+PC9URD4NCjwvVFI+DQo8L1RBQkxFPg0KPCEtLSA9PT09PT09PT09PSBFTkQgT0YgTkFWQkFSID09PT09PT09PT09IC0tPg0KDQo8SFI+DQpDb3B5cmlnaHQgqSAyMDA2IEFwYWNoZSBYTUwgUHJvamVjdC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4NCjwvQk9EWT4NCjwvSFRNTD4NCg==