PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMC8vRU4iPg0KPCEtLU5ld1BhZ2UtLT4NCjxIVE1MPg0KPEhFQUQ+DQo8IS0tIEdlbmVyYXRlZCBieSBqYXZhZG9jIG9uIFRodSBOb3YgMjIgMTc6MTI6NTUgRVNUIDIwMDcgLS0+DQo8VElUTEU+DQpYYWxhbi1KYXZhIDIuNy4xOiBDbGFzcyAgRW52aXJvbm1lbnRDaGVjaw0KPC9USVRMRT4NCjxMSU5LIFJFTCA9InN0eWxlc2hlZXQiIFRZUEU9InRleHQvY3NzIiBIUkVGPSIuLi8uLi8uLi8uLi9zdHlsZXNoZWV0LmNzcyIgVElUTEU9IlN0eWxlIj4NCjwvSEVBRD4NCjxCT0RZIEJHQ09MT1I9IndoaXRlIj4NCg0KPCEtLSA9PT09PT09PT09IFNUQVJUIE9GIE5BVkJBUiA9PT09PT09PT09IC0tPg0KPEEgTkFNRT0ibmF2YmFyX3RvcCI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjAiIFdJRFRIPSIxMDAlIiBDRUxMUEFERElORz0iMSIgQ0VMTFNQQUNJTkc9IjAiPg0KPFRSPg0KPFREIENPTFNQQU49MiBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPg0KPEEgTkFNRT0ibmF2YmFyX3RvcF9maXJzdHJvdyI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjAiIENFTExQQURESU5HPSIwIiBDRUxMU1BBQ0lORz0iMyI+DQogIDxUUiBBTElHTj0iY2VudGVyIiBWQUxJR049InRvcCI+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vdmVydmlldy1zdW1tYXJ5Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+T3ZlcnZpZXc8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0icGFja2FnZS1zdW1tYXJ5Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+UGFja2FnZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRkZGRkZGIiBDTEFTUz0iTmF2QmFyQ2VsbDFSZXYiPiAmbmJzcDs8Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDFSZXYiPjxCPkNsYXNzPC9CPjwvRk9OVD4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iY2xhc3MtdXNlL0Vudmlyb25tZW50Q2hlY2suaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5Vc2U8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0icGFja2FnZS10cmVlLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+VHJlZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9kZXByZWNhdGVkLWxpc3QuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5EZXByZWNhdGVkPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL2luZGV4LWFsbC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkluZGV4PC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL2hlbHAtZG9jLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+SGVscDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDwvVFI+DQo8L1RBQkxFPg0KPC9URD4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBST1dTUEFOPTM+PEVNPg0KPC9FTT4NCjwvVEQ+DQo8L1RSPg0KDQo8VFI+DQo8VEQgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJOYXZCYXJDZWxsMiI+PEZPTlQgU0laRT0iLTIiPg0KJm5ic3A7UFJFViBDTEFTUyZuYnNwOw0KJm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0L1Byb2Nlc3MuaHRtbCI+PEI+TkVYVCBDTEFTUzwvQj48L0E+PC9GT05UPjwvVEQ+DQo8VEQgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJOYXZCYXJDZWxsMiI+PEZPTlQgU0laRT0iLTIiPg0KICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9pbmRleC5odG1sIiBUQVJHRVQ9Il90b3AiPjxCPkZSQU1FUzwvQj48L0E+ICAmbmJzcDsNCiZuYnNwOzxBIEhSRUY9IkVudmlyb25tZW50Q2hlY2suaHRtbCIgVEFSR0VUPSJfdG9wIj48Qj5OTyBGUkFNRVM8L0I+PC9BPjwvRk9OVD48L1REPg0KPC9UUj4NCjxUUj4NCjxURCBWQUxJR049InRvcCIgQ0xBU1M9Ik5hdkJhckNlbGwzIj48Rk9OVCBTSVpFPSItMiI+DQogIFNVTU1BUlk6ICZuYnNwO0lOTkVSJm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNmaWVsZF9zdW1tYXJ5Ij5GSUVMRDwvQT4mbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI2NvbnN0cnVjdG9yX3N1bW1hcnkiPkNPTlNUUjwvQT4mbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI21ldGhvZF9zdW1tYXJ5Ij5NRVRIT0Q8L0E+PC9GT05UPjwvVEQ+DQo8VEQgVkFMSUdOPSJ0b3AiIENMQVNTPSJOYXZCYXJDZWxsMyI+PEZPTlQgU0laRT0iLTIiPg0KREVUQUlMOiAmbmJzcDs8QSBIUkVGPSIjZmllbGRfZGV0YWlsIj5GSUVMRDwvQT4mbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI2NvbnN0cnVjdG9yX2RldGFpbCI+Q09OU1RSPC9BPiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjbWV0aG9kX2RldGFpbCI+TUVUSE9EPC9BPjwvRk9OVD48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQo8IS0tID09PT09PT09PT09IEVORCBPRiBOQVZCQVIgPT09PT09PT09PT0gLS0+DQoNCjxIUj4NCjwhLS0gPT09PT09PT0gU1RBUlQgT0YgQ0xBU1MgREFUQSA9PT09PT09PSAtLT4NCjxIMj4NCjxGT05UIFNJWkU9Ii0xIj4NCm9yZy5hcGFjaGUueGFsYW4ueHNsdDwvRk9OVD4NCjxCUj4NCkNsYXNzICBFbnZpcm9ubWVudENoZWNrPC9IMj4NCjxQUkU+DQpqYXZhLmxhbmcuT2JqZWN0DQogIHwNCiAgKy0tPEI+b3JnLmFwYWNoZS54YWxhbi54c2x0LkVudmlyb25tZW50Q2hlY2s8L0I+DQo8L1BSRT4NCjxIUj4NCjxETD4NCjxEVD5wdWJsaWMgY2xhc3MgPEI+RW52aXJvbm1lbnRDaGVjazwvQj48RFQ+ZXh0ZW5kcyBqYXZhLmxhbmcuT2JqZWN0PC9ETD4NCg0KPFA+DQpVdGlsaXR5IGNsYXNzIHRvIHJlcG9ydCBzaW1wbGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGVudmlyb25tZW50LgogU2ltcGxpc3RpYyByZXBvcnRpbmcgYWJvdXQgY2VydGFpbiBjbGFzc2VzIGZvdW5kIGluIHlvdXIgSlZNIG1heSAKIGhlbHAgYW5zd2VyIHNvbWUgRkFRcyBmb3Igc2ltcGxlIHByb2JsZW1zLgoKIDxwPlVzYWdlLWNvbW1hbmQgbGluZTogIAogPGNvZGU+CiBqYXZhIG9yZy5hcGFjaGUueGFsYW4ueHNsdC5FbnZpcm9ubWVudENoZWNrIFstb3V0IG91dEZpbGVdCiA8L2NvZGU+PC9wPgogCiA8cD5Vc2FnZS1mcm9tIHByb2dyYW06ICAKIDxjb2RlPgogYm9vbGVhbiBlbnZpcm9ubWVudE9LID0gCiAobmV3IEVudmlyb25tZW50Q2hlY2soKSkuY2hlY2tFbnZpcm9ubWVudCh5b3VyUHJpbnRXcml0ZXIpOwogPC9jb2RlPjwvcD4KCiA8cD5Vc2FnZS1mcm9tIHN0eWxlc2hlZXQ6ICAKIDxjb2RlPjxwcmU+CiAgICAmbHQ7P3htbCB2ZXJzaW9uPSIxLjAiPyZndDsKICAgICZsdDt4c2w6c3R5bGVzaGVldCB4bWxuczp4c2w9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvWFNML1RyYW5zZm9ybSIgdmVyc2lvbj0iMS4wIgogICAgICAgIHhtbG5zOnhhbGFuPSJodHRwOi8veG1sLmFwYWNoZS5vcmcveGFsYW4iCiAgICAgICAgZXhjbHVkZS1yZXN1bHQtcHJlZml4ZXM9InhhbGFuIiZndDsKICAgICZsdDt4c2w6b3V0cHV0IGluZGVudD0ieWVzIi8mZ3Q7CiAgICAmbHQ7eHNsOnRlbXBsYXRlIG1hdGNoPSIvIiZndDsKICAgICAgJmx0O3hzbDpjb3B5LW9mIHNlbGVjdD0ieGFsYW46Y2hlY2tFbnZpcm9ubWVudCgpIi8mZ3Q7CiAgICAmbHQ7L3hzbDp0ZW1wbGF0ZSZndDsKICAgICZsdDsveHNsOnN0eWxlc2hlZXQmZ3Q7CiA8L3ByZT48L2NvZGU+PC9wPgogIAogPHA+WGFsYW4gdXNlcnMgcmVwb3J0aW5nIHByb2JsZW1zIGFyZSBlbmNvdXJhZ2VkIHRvIHVzZSB0aGlzIGNsYXNzIAogdG8gc2VlIGlmIHRoZXJlIGFyZSBwb3RlbnRpYWwgcHJvYmxlbXMgd2l0aCB0aGVpciBhY3R1YWwgCiBKYXZhIGVudmlyb25tZW50IDxiPmJlZm9yZTwvYj4gcmVwb3J0aW5nIGEgYnVnLiAgTm90ZSB0aGF0IHlvdSAKIHNob3VsZCBib3RoIGNoZWNrIGZyb20gdGhlIEpWTS9KUkUncyBjb21tYW5kIGxpbmUgYXMgd2VsbCBhcyAKIHRlbXBvcmFyaWx5IGNhbGxpbmcgY2hlY2tFbnZpcm9ubWVudCgpIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLCAKIHNpbmNlIHRoZSBjbGFzc3BhdGggbWF5IGRpZmZlciAoZXNwZWNpYWxseSBmb3Igc2VydmxldHMsIGV0YykuPC9wPgoKIDxwPkFsc28gc2VlIGh0dHA6Ly94bWwuYXBhY2hlLm9yZy94YWxhbi1qL2ZhcS5odG1sPC9wPgoKIDxwPk5vdGU6IFRoaXMgY2xhc3MgaXMgcHJldHR5IHNpbXBsaXN0aWM6IAogcmVzdWx0cyBhcmUgbm90IG5lY2Vzc2FyaWx5IGRlZmluaXRpdmUgbm9yIHdpbGwgaXQgZmluZCBhbGwgCiBwcm9ibGVtcyByZWxhdGVkIHRvIGVudmlyb25tZW50IHNldHVwLiAgQWxzbywgeW91IHNob3VsZCBhdm9pZCAKIGNhbGxpbmcgdGhpcyBpbiBkZXBsb3llZCBwcm9kdWN0aW9uIGNvZGUsIGJvdGggYmVjYXVzZSBpdCBpcyAKIHF1aXRlIHNsb3cgYW5kIGJlY2F1c2UgaXQgZm9yY2VzIGNsYXNzZXMgdG8gZ2V0IGxvYWRlZC48L3A+CgogPHA+Tm90ZTogVGhpcyBjbGFzcyBleHBsaWNpdGx5IGhhcyB2ZXJ5IGxpbWl0ZWQgY29tcGlsZS10aW1lIAogZGVwZW5kZW5jaWVzIHRvIGVuYWJsZSBlYXN5IGNvbXBpbGF0aW9uIGFuZCB1c2FnZSBldmVuIHdoZW4gCiBYYWxhbiwgRE9NL1NBWC9KQVhQLCBldGMuIGFyZSBub3QgcHJlc2VudC48L3A+CiAKIDxwPk5vdGU6IGZvciBhbiBpbXByb3ZlZCB2ZXJzaW9uIG9mIHRoaXMgdXRpbGl0eSwgcGxlYXNlIHNlZSAKIHRoZSB4bWwtY29tbW9ucycgcHJvamVjdCBXaGljaCB1dGlsaXR5IHdoaWNoIGRvZXMgdGhlIHNhbWUga2luZCAKIG9mIHRoaW5nIGJ1dCBpbiBhIG11Y2ggc2ltcGxlciBtYW5uZXIuPC9wPg0KPFA+DQo8SFI+DQoNCjxQPg0KPCEtLSA9PT09PT09PSBJTk5FUiBDTEFTUyBTVU1NQVJZID09PT09PT09IC0tPg0KDQoNCjwhLS0gPT09PT09PT09PT0gRklFTEQgU1VNTUFSWSA9PT09PT09PT09PSAtLT4NCg0KPEEgTkFNRT0iZmllbGRfc3VtbWFyeSI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPg0KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+DQo8VEQgQ09MU1BBTj0yPjxGT05UIFNJWkU9IisyIj4NCjxCPkZpZWxkIFN1bW1hcnk8L0I+PC9GT05UPjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT5zdGF0aWMmbmJzcDtqYXZhLmxhbmcuU3RyaW5nPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdC9FbnZpcm9ubWVudENoZWNrLmh0bWwjQ0xBU1NfTk9UUFJFU0VOVCI+Q0xBU1NfTk9UUFJFU0VOVDwvQT48L0I+PC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtNYXJrZXIgdGhhdCBhIGNsYXNzIG9yIC5qYXIgd2FzIG5vdCBmb3VuZC48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+c3RhdGljJm5ic3A7amF2YS5sYW5nLlN0cmluZzwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHQvRW52aXJvbm1lbnRDaGVjay5odG1sI0NMQVNTX1BSRVNFTlQiPkNMQVNTX1BSRVNFTlQ8L0E+PC9CPjwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7TWFya2VyIHRoYXQgYSBjbGFzcyBvciAuamFyIHdhcyBmb3VuZC48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+c3RhdGljJm5ic3A7amF2YS5sYW5nLlN0cmluZzwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHQvRW52aXJvbm1lbnRDaGVjay5odG1sI0VSUk9SIj5FUlJPUjwvQT48L0I+PC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtQcmVmaXhlZCB0byBoYXNoIGtleXMgdGhhdCBzaWduaWZ5IHNlcmlvdXMgcHJvYmxlbXMuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPnN0YXRpYyZuYnNwO2phdmEubGFuZy5TdHJpbmc8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0L0Vudmlyb25tZW50Q2hlY2suaHRtbCNFUlJPUl9GT1VORCI+RVJST1JfRk9VTkQ8L0E+PC9CPjwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7VmFsdWUgZm9yIGFueSBlcnJvciBmb3VuZC48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+c3RhdGljJm5ic3A7amF2YS5sYW5nLlN0cmluZzwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHQvRW52aXJvbm1lbnRDaGVjay5odG1sI0ZPVU5EQ0xBU1NFUyI+Rk9VTkRDTEFTU0VTPC9BPjwvQj48L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1ByZWZpeGVkIHRvIGhhc2gga2V5cyB0aGF0IHNpZ25pZnkgLmphcnMgZm91bmQgaW4gY2xhc3NwYXRoLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtqYXZhLmxhbmcuU3RyaW5nW108L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0L0Vudmlyb25tZW50Q2hlY2suaHRtbCNqYXJOYW1lcyI+amFyTmFtZXM8L0E+PC9CPjwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7TGlzdGluZyBvZiBjb21tb24gLmphciBmaWxlcyB0aGF0IGluY2x1ZGUgWGFsYW4tcmVsYXRlZCBjbGFzc2VzLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT5zdGF0aWMmbmJzcDtqYXZhLmxhbmcuU3RyaW5nPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdC9FbnZpcm9ubWVudENoZWNrLmh0bWwjVkVSU0lPTiI+VkVSU0lPTjwvQT48L0I+PC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtQcmVmaXhlZCB0byBoYXNoIGtleXMgdGhhdCBzaWduaWZ5IHZlcnNpb24gbnVtYmVycy48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+c3RhdGljJm5ic3A7amF2YS5sYW5nLlN0cmluZzwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHQvRW52aXJvbm1lbnRDaGVjay5odG1sI1dBUk5JTkciPldBUk5JTkc8L0E+PC9CPjwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7QWRkZWQgdG8gZGVzY3JpcHRpb25zIHRoYXQgc2lnbmlmeSBwb3RlbnRpYWwgcHJvYmxlbXMuPC9URD4NCjwvVFI+DQo8L1RBQkxFPg0KJm5ic3A7DQo8IS0tID09PT09PT09IENPTlNUUlVDVE9SIFNVTU1BUlkgPT09PT09PT0gLS0+DQoNCjxBIE5BTUU9ImNvbnN0cnVjdG9yX3N1bW1hcnkiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4NCjxUUiBCR0NPTE9SPSIjQ0NDQ0ZGIiBDTEFTUz0iVGFibGVIZWFkaW5nQ29sb3IiPg0KPFREIENPTFNQQU49Mj48Rk9OVCBTSVpFPSIrMiI+DQo8Qj5Db25zdHJ1Y3RvciBTdW1tYXJ5PC9CPjwvRk9OVD48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdC9FbnZpcm9ubWVudENoZWNrLmh0bWwjRW52aXJvbm1lbnRDaGVjaygpIj5FbnZpcm9ubWVudENoZWNrPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9URD4NCjwvVFI+DQo8L1RBQkxFPg0KJm5ic3A7DQo8IS0tID09PT09PT09PT0gTUVUSE9EIFNVTU1BUlkgPT09PT09PT09PT0gLS0+DQoNCjxBIE5BTUU9Im1ldGhvZF9zdW1tYXJ5Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+DQo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4NCjxURCBDT0xTUEFOPTI+PEZPTlQgU0laRT0iKzIiPg0KPEI+TWV0aG9kIFN1bW1hcnk8L0I+PC9GT05UPjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdC9FbnZpcm9ubWVudENoZWNrLmh0bWwjYXBwZW5kRW52aXJvbm1lbnRSZXBvcnQob3JnLnczYy5kb20uTm9kZSwgb3JnLnczYy5kb20uRG9jdW1lbnQsIGphdmEudXRpbC5IYXNodGFibGUpIj5hcHBlbmRFbnZpcm9ubWVudFJlcG9ydDwvQT48L0I+KDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy93M2MvZG9tL05vZGUuaHRtbCI+Tm9kZTwvQT4mbmJzcDtjb250YWluZXIsCiAgICAgICAgICAgICAgICAgICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy93M2MvZG9tL0RvY3VtZW50Lmh0bWwiPkRvY3VtZW50PC9BPiZuYnNwO2ZhY3RvcnksCiAgICAgICAgICAgICAgICAgICAgICAgIGphdmEudXRpbC5IYXNodGFibGUmbmJzcDtoKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7U3R5bGVzaGVldCBleHRlbnNpb24gZW50cnlwb2ludDogRHVtcCBhIGJhc2ljIFhhbGFuIAogZW52aXJvbm1lbnQgcmVwb3J0IGZyb20gZ2V0RW52aXJvbm1lbnRIYXNoKCkgdG8gYSBOb2RlLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtib29sZWFuPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdC9FbnZpcm9ubWVudENoZWNrLmh0bWwjY2hlY2tFbnZpcm9ubWVudChqYXZhLmlvLlByaW50V3JpdGVyKSI+Y2hlY2tFbnZpcm9ubWVudDwvQT48L0I+KGphdmEuaW8uUHJpbnRXcml0ZXImbmJzcDtwdyk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1Byb2dyYW1tYXRpYyBlbnRyeXBvaW50OiBSZXBvcnQgb24gYmFzaWMgSmF2YSBlbnZpcm9ubWVudCAKIGFuZCBDTEFTU1BBVEggc2V0dGluZ3MgdGhhdCBhZmZlY3QgWGFsYW4uPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO2phdmEudXRpbC5IYXNodGFibGU8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0L0Vudmlyb25tZW50Q2hlY2suaHRtbCNnZXRFbnZpcm9ubWVudEhhc2goKSI+Z2V0RW52aXJvbm1lbnRIYXNoPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7RmlsbCBhIGhhc2ggd2l0aCBiYXNpYyBlbnZpcm9ubWVudCBzZXR0aW5ncyB0aGF0IGFmZmVjdCBYYWxhbi48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+c3RhdGljJm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHQvRW52aXJvbm1lbnRDaGVjay5odG1sI21haW4oamF2YS5sYW5nLlN0cmluZ1tdKSI+bWFpbjwvQT48L0I+KGphdmEubGFuZy5TdHJpbmdbXSZuYnNwO2FyZ3MpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtDb21tYW5kIGxpbmUgcnVubmFiaWxpdHk6IGNoZWNrcyBmb3IgWy1vdXQgb3V0RmlsZW5hbWVdIGFyZy48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQombmJzcDs8QSBOQU1FPSJtZXRob2RzX2luaGVyaXRlZF9mcm9tX2NsYXNzX2phdmEubGFuZy5PYmplY3QiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4NCjxUUiBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iVGFibGVTdWJIZWFkaW5nQ29sb3IiPg0KPFREPjxCPk1ldGhvZHMgaW5oZXJpdGVkIGZyb20gY2xhc3MgamF2YS5sYW5nLk9iamVjdDwvQj48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREPjxDT0RFPmVxdWFscywgDQpnZXRDbGFzcywgDQpoYXNoQ29kZSwgDQpub3RpZnksIA0Kbm90aWZ5QWxsLCANCnRvU3RyaW5nLCANCndhaXQsIA0Kd2FpdCwgDQp3YWl0PC9DT0RFPjwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCiZuYnNwOw0KPFA+DQoNCjwhLS0gPT09PT09PT09PT09IEZJRUxEIERFVEFJTCA9PT09PT09PT09PSAtLT4NCg0KPEEgTkFNRT0iZmllbGRfZGV0YWlsIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+DQo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4NCjxURCBDT0xTUEFOPTE+PEZPTlQgU0laRT0iKzIiPg0KPEI+RmllbGQgRGV0YWlsPC9CPjwvRk9OVD48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQoNCjxBIE5BTUU9IkVSUk9SIj48IS0tIC0tPjwvQT48SDM+DQpFUlJPUjwvSDM+DQo8UFJFPg0KcHVibGljIHN0YXRpYyBmaW5hbCBqYXZhLmxhbmcuU3RyaW5nIDxCPkVSUk9SPC9CPjwvUFJFPg0KPERMPg0KPEREPlByZWZpeGVkIHRvIGhhc2gga2V5cyB0aGF0IHNpZ25pZnkgc2VyaW91cyBwcm9ibGVtcy48L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJXQVJOSU5HIj48IS0tIC0tPjwvQT48SDM+DQpXQVJOSU5HPC9IMz4NCjxQUkU+DQpwdWJsaWMgc3RhdGljIGZpbmFsIGphdmEubGFuZy5TdHJpbmcgPEI+V0FSTklORzwvQj48L1BSRT4NCjxETD4NCjxERD5BZGRlZCB0byBkZXNjcmlwdGlvbnMgdGhhdCBzaWduaWZ5IHBvdGVudGlhbCBwcm9ibGVtcy48L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJFUlJPUl9GT1VORCI+PCEtLSAtLT48L0E+PEgzPg0KRVJST1JfRk9VTkQ8L0gzPg0KPFBSRT4NCnB1YmxpYyBzdGF0aWMgZmluYWwgamF2YS5sYW5nLlN0cmluZyA8Qj5FUlJPUl9GT1VORDwvQj48L1BSRT4NCjxETD4NCjxERD5WYWx1ZSBmb3IgYW55IGVycm9yIGZvdW5kLjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9IlZFUlNJT04iPjwhLS0gLS0+PC9BPjxIMz4NClZFUlNJT048L0gzPg0KPFBSRT4NCnB1YmxpYyBzdGF0aWMgZmluYWwgamF2YS5sYW5nLlN0cmluZyA8Qj5WRVJTSU9OPC9CPjwvUFJFPg0KPERMPg0KPEREPlByZWZpeGVkIHRvIGhhc2gga2V5cyB0aGF0IHNpZ25pZnkgdmVyc2lvbiBudW1iZXJzLjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9IkZPVU5EQ0xBU1NFUyI+PCEtLSAtLT48L0E+PEgzPg0KRk9VTkRDTEFTU0VTPC9IMz4NCjxQUkU+DQpwdWJsaWMgc3RhdGljIGZpbmFsIGphdmEubGFuZy5TdHJpbmcgPEI+Rk9VTkRDTEFTU0VTPC9CPjwvUFJFPg0KPERMPg0KPEREPlByZWZpeGVkIHRvIGhhc2gga2V5cyB0aGF0IHNpZ25pZnkgLmphcnMgZm91bmQgaW4gY2xhc3NwYXRoLjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9IkNMQVNTX1BSRVNFTlQiPjwhLS0gLS0+PC9BPjxIMz4NCkNMQVNTX1BSRVNFTlQ8L0gzPg0KPFBSRT4NCnB1YmxpYyBzdGF0aWMgZmluYWwgamF2YS5sYW5nLlN0cmluZyA8Qj5DTEFTU19QUkVTRU5UPC9CPjwvUFJFPg0KPERMPg0KPEREPk1hcmtlciB0aGF0IGEgY2xhc3Mgb3IgLmphciB3YXMgZm91bmQuPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iQ0xBU1NfTk9UUFJFU0VOVCI+PCEtLSAtLT48L0E+PEgzPg0KQ0xBU1NfTk9UUFJFU0VOVDwvSDM+DQo8UFJFPg0KcHVibGljIHN0YXRpYyBmaW5hbCBqYXZhLmxhbmcuU3RyaW5nIDxCPkNMQVNTX05PVFBSRVNFTlQ8L0I+PC9QUkU+DQo8REw+DQo8REQ+TWFya2VyIHRoYXQgYSBjbGFzcyBvciAuamFyIHdhcyBub3QgZm91bmQuPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iamFyTmFtZXMiPjwhLS0gLS0+PC9BPjxIMz4NCmphck5hbWVzPC9IMz4NCjxQUkU+DQpwdWJsaWMgamF2YS5sYW5nLlN0cmluZ1tdIDxCPmphck5hbWVzPC9CPjwvUFJFPg0KPERMPg0KPEREPkxpc3Rpbmcgb2YgY29tbW9uIC5qYXIgZmlsZXMgdGhhdCBpbmNsdWRlIFhhbGFuLXJlbGF0ZWQgY2xhc3Nlcy48L0RMPg0KDQo8IS0tID09PT09PT09PSBDT05TVFJVQ1RPUiBERVRBSUwgPT09PT09PT0gLS0+DQoNCjxBIE5BTUU9ImNvbnN0cnVjdG9yX2RldGFpbCI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPg0KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+DQo8VEQgQ09MU1BBTj0xPjxGT05UIFNJWkU9IisyIj4NCjxCPkNvbnN0cnVjdG9yIERldGFpbDwvQj48L0ZPTlQ+PC9URD4NCjwvVFI+DQo8L1RBQkxFPg0KDQo8QSBOQU1FPSJFbnZpcm9ubWVudENoZWNrKCkiPjwhLS0gLS0+PC9BPjxIMz4NCkVudmlyb25tZW50Q2hlY2s8L0gzPg0KPFBSRT4NCnB1YmxpYyA8Qj5FbnZpcm9ubWVudENoZWNrPC9CPigpPC9QUkU+DQo8REw+DQo8L0RMPg0KDQo8IS0tID09PT09PT09PT09PSBNRVRIT0QgREVUQUlMID09PT09PT09PT0gLS0+DQoNCjxBIE5BTUU9Im1ldGhvZF9kZXRhaWwiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4NCjxUUiBCR0NPTE9SPSIjQ0NDQ0ZGIiBDTEFTUz0iVGFibGVIZWFkaW5nQ29sb3IiPg0KPFREIENPTFNQQU49MT48Rk9OVCBTSVpFPSIrMiI+DQo8Qj5NZXRob2QgRGV0YWlsPC9CPjwvRk9OVD48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQoNCjxBIE5BTUU9Im1haW4oamF2YS5sYW5nLlN0cmluZ1tdKSI+PCEtLSAtLT48L0E+PEgzPg0KbWFpbjwvSDM+DQo8UFJFPg0KcHVibGljIHN0YXRpYyB2b2lkIDxCPm1haW48L0I+KGphdmEubGFuZy5TdHJpbmdbXSZuYnNwO2FyZ3MpPC9QUkU+DQo8REw+DQo8REQ+Q29tbWFuZCBsaW5lIHJ1bm5hYmlsaXR5OiBjaGVja3MgZm9yIFstb3V0IG91dEZpbGVuYW1lXSBhcmcuCiA8cD5Db21tYW5kIGxpbmUgZW50cnlwb2ludDsgU2V0cyBvdXRwdXQgYW5kIGNhbGxzIAogPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0L0Vudmlyb25tZW50Q2hlY2suaHRtbCNjaGVja0Vudmlyb25tZW50KGphdmEuaW8uUHJpbnRXcml0ZXIpIj48Q09ERT5jaGVja0Vudmlyb25tZW50KFByaW50V3JpdGVyKTwvQ09ERT48L0E+LjwvcD48REQ+PERMPg0KPERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT5hcmdzPC9DT0RFPiAtIGNvbW1hbmQgbGluZSBhcmdzPC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJjaGVja0Vudmlyb25tZW50KGphdmEuaW8uUHJpbnRXcml0ZXIpIj48IS0tIC0tPjwvQT48SDM+DQpjaGVja0Vudmlyb25tZW50PC9IMz4NCjxQUkU+DQpwdWJsaWMgYm9vbGVhbiA8Qj5jaGVja0Vudmlyb25tZW50PC9CPihqYXZhLmlvLlByaW50V3JpdGVyJm5ic3A7cHcpPC9QUkU+DQo8REw+DQo8REQ+UHJvZ3JhbW1hdGljIGVudHJ5cG9pbnQ6IFJlcG9ydCBvbiBiYXNpYyBKYXZhIGVudmlyb25tZW50IAogYW5kIENMQVNTUEFUSCBzZXR0aW5ncyB0aGF0IGFmZmVjdCBYYWxhbi4KCiA8cD5Ob3RlIHRoYXQgdGhpcyBjbGFzcyBpcyBub3QgYWR2YW5jZWQgZW5vdWdoIHRvIHRlbGwgeW91IAogZXZlcnl0aGluZyBhYm91dCB0aGUgZW52aXJvbm1lbnQgdGhhdCBhZmZlY3RzIFhhbGFuLCBhbmQgCiBzb21ldGltZXMgcmVwb3J0cyBlcnJvcnMgdGhhdCB3aWxsIG5vdCBhY3R1YWxseSBhZmZlY3QgCiBYYWxhbidzIGJlaGF2aW9yLiAgQ3VycmVudGx5LCBpdCB2ZXJ5IHNpbXBsaXN0aWNhbGx5IAogY2hlY2tzIHRoZSBKVk0ncyBlbnZpcm9ubWVudCBmb3Igc29tZSBiYXNpYyBwcm9wZXJ0aWVzIGFuZCAKIGxvZ3MgdGhlbSBvdXQ7IGl0IHdpbGwgcmVwb3J0IGEgcHJvYmxlbSBpZiBpdCBmaW5kcyBhIHNldHRpbmcgCiBvciAuamFyIGZpbGUgdGhhdCBpcyA8aT5saWtlbHk8L2k+IHRvIGNhdXNlIHByb2JsZW1zLjwvcD4KCiA8cD5BZHZhbmNlZCB1c2VycyBjYW4gcGVydXNlIHRoZSBjb2RlIGhlcmVpbiB0byBoZWxwIHRoZW0gCiBpbnZlc3RpZ2F0ZSBwb3RlbnRpYWwgZW52aXJvbm1lbnQgcHJvYmxlbXMgZm91bmQ7IG90aGVyIHVzZXJzIAogbWF5IHNpbXBseSBzZW5kIHRoZSBvdXRwdXQgZnJvbSB0aGlzIHRvb2wgYWxvbmcgd2l0aCBhbnkgYnVncyAKIHRoZXkgc3VibWl0IHRvIGhlbHAgdXMgaW4gdGhlIGRlYnVnZ2luZyBwcm9jZXNzLjwvcD48REQ+PERMPg0KPERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT5wdzwvQ09ERT4gLSBQcmludFdyaXRlciB0byBzZW5kIG91dHB1dCB0bzsgY2FuIGJlIHNlbnQgdG8gYSAKIGZpbGUgdGhhdCB3aWxsIGxvb2sgc2ltaWxhciB0byBhIFByb3BlcnRpZXMgZmlsZTsgZGVmYXVsdHMgCiB0byBTeXN0ZW0ub3V0IGlmIG51bGw8RFQ+PEI+UmV0dXJuczo8L0I+PEREPnRydWUgaWYgeW91ciBlbnZpcm9ubWVudCBhcHBlYXJzIHRvIGhhdmUgbm8gbWFqb3IgCiBwcm9ibGVtczsgZmFsc2UgaWYgcG90ZW50aWFsIGVudmlyb25tZW50IHByb2JsZW1zIGZvdW5kPERUPjxCPlNlZSBBbHNvOiA8L0I+PEREPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdC9FbnZpcm9ubWVudENoZWNrLmh0bWwjZ2V0RW52aXJvbm1lbnRIYXNoKCkiPjxDT0RFPmdldEVudmlyb25tZW50SGFzaCgpPC9DT0RFPjwvQT48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldEVudmlyb25tZW50SGFzaCgpIj48IS0tIC0tPjwvQT48SDM+DQpnZXRFbnZpcm9ubWVudEhhc2g8L0gzPg0KPFBSRT4NCnB1YmxpYyBqYXZhLnV0aWwuSGFzaHRhYmxlIDxCPmdldEVudmlyb25tZW50SGFzaDwvQj4oKTwvUFJFPg0KPERMPg0KPEREPkZpbGwgYSBoYXNoIHdpdGggYmFzaWMgZW52aXJvbm1lbnQgc2V0dGluZ3MgdGhhdCBhZmZlY3QgWGFsYW4uCgogPHA+V29ya2VyIG1ldGhvZCBjYWxsZWQgZnJvbSB2YXJpb3VzIHBsYWNlcy48L3A+CiA8cD5WYXJpb3VzIHN5c3RlbSBhbmQgQ0xBU1NQQVRILCBldGMuIHByb3BlcnRpZXMgYXJlIHB1dCBpbnRvIAogdGhlIGhhc2ggYXMga2V5cyB3aXRoIGEgYnJpZWYgZGVzY3JpcHRpb24gb2YgdGhlIGN1cnJlbnQgc3RhdGUgCiBvZiB0aGF0IGl0ZW0gYXMgdGhlIHZhbHVlLiAgQW55IHNlcmlvdXMgcHJvYmxlbXMgd2lsbCBiZSBwdXQgaW4gCiB3aXRoIGEga2V5IHRoYXQgaXMgcHJlZml4ZWQgd2l0aCA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHQvRW52aXJvbm1lbnRDaGVjay5odG1sI0VSUk9SIj4nRVJST1IuJzwvQT4gc28gaXQKIHN0YW5kcyBvdXQgaW4gYW55IHJlc3VsdGluZyByZXBvcnQ7IGFsc28gYSBrZXkgd2l0aCBqdXN0IHRoYXQgCiBjb25zdGFudCB3aWxsIGJlIHNldCBhcyB3ZWxsIGZvciBhbnkgZXJyb3IuPC9wPgogPHA+Tm90ZSB0aGF0IHNvbWUgbGVnaXRpbWF0ZSBjYXNlcyBhcmUgZmxhZ2VkIGFzIHBvdGVudGlhbCAKIGVycm9ycyAtIG5hbWVseSB3aGVuIGEgZGV2ZWxvcGVyIHJlY29tcGlsZXMgeGFsYW4uamFyIG9uIHRoZWlyIAogb3duIC0gYW5kIGV2ZW4gYSBub24tZXJyb3Igc3RhdGUgZG9lc24ndCBndWFydW50ZWUgdGhhdCAKIGV2ZXJ5dGhpbmcgaW4gdGhlIGVudmlyb25tZW50IGlzIGNvcnJlY3QuICBCdXQgdGhpcyB3aWxsIGhlbHAgCiBwb2ludCBvdXQgdGhlIG1vc3QgY29tbW9uIGNsYXNzcGF0aCBhbmQgc3lzdGVtIHByb3BlcnR5CiBwcm9ibGVtcyB0aGF0IHdlJ3ZlIHNlZW4uPC9wPjxERD48REw+DQo8RFQ+PEI+UmV0dXJuczo8L0I+PEREPkhhc2h0YWJsZSBmdWxsIG9mIHVzZWZ1bCBlbnZpcm9ubWVudCBpbmZvIGFib3V0IFhhbGFuIAogYW5kIHJlbGF0ZWQgc3lzdGVtIHByb3BlcnRpZXMsIGV0Yy48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImFwcGVuZEVudmlyb25tZW50UmVwb3J0KG9yZy53M2MuZG9tLk5vZGUsIG9yZy53M2MuZG9tLkRvY3VtZW50LCBqYXZhLnV0aWwuSGFzaHRhYmxlKSI+PCEtLSAtLT48L0E+PEgzPg0KYXBwZW5kRW52aXJvbm1lbnRSZXBvcnQ8L0gzPg0KPFBSRT4NCnB1YmxpYyB2b2lkIDxCPmFwcGVuZEVudmlyb25tZW50UmVwb3J0PC9CPig8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvdzNjL2RvbS9Ob2RlLmh0bWwiPk5vZGU8L0E+Jm5ic3A7Y29udGFpbmVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvdzNjL2RvbS9Eb2N1bWVudC5odG1sIj5Eb2N1bWVudDwvQT4mbmJzcDtmYWN0b3J5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqYXZhLnV0aWwuSGFzaHRhYmxlJm5ic3A7aCk8L1BSRT4NCjxETD4NCjxERD5TdHlsZXNoZWV0IGV4dGVuc2lvbiBlbnRyeXBvaW50OiBEdW1wIGEgYmFzaWMgWGFsYW4gCiBlbnZpcm9ubWVudCByZXBvcnQgZnJvbSBnZXRFbnZpcm9ubWVudEhhc2goKSB0byBhIE5vZGUuICAKIAogPHA+Q29weSBvZiB3cml0ZUVudmlyb25tZW50UmVwb3J0IHRoYXQgY3JlYXRlcyBhIE5vZGUgc3VpdGFibGUgCiBmb3Igb3RoZXIgcHJvY2Vzc2luZyBpbnN0ZWFkIG9mIGEgcHJvcGVydGllcy1saWtlIHRleHQgb3V0cHV0LgogPC9wPjxERD48REw+DQo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPmNvbnRhaW5lcjwvQ09ERT4gLSBOb2RlIHRvIGFwcGVuZCBvdXIgcmVwb3J0IHRvPEREPjxDT0RFPmZhY3Rvcnk8L0NPREU+IC0gRG9jdW1lbnQgcHJvdmlkaW5nIGNyZWF0ZUVsZW1lbnQsIGV0Yy4gc2VydmljZXM8REQ+PENPREU+aDwvQ09ERT4gLSBIYXNoIHByZXN1bWFibHkgZnJvbSA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHQvRW52aXJvbm1lbnRDaGVjay5odG1sI2dldEVudmlyb25tZW50SGFzaCgpIj48Q09ERT5nZXRFbnZpcm9ubWVudEhhc2goKTwvQ09ERT48L0E+PERUPjxCPlNlZSBBbHNvOiA8L0I+PEREPmZvciBhbiBlcXVpdmFsZW50IHRoYXQgd3JpdGVzIHRvIGEgUHJpbnRXcml0ZXIgaW5zdGVhZDwvREw+DQo8L0REPg0KPC9ETD4NCjwhLS0gPT09PT09PT09IEVORCBPRiBDTEFTUyBEQVRBID09PT09PT09PSAtLT4NCjxIUj4NCg0KPCEtLSA9PT09PT09PT09IFNUQVJUIE9GIE5BVkJBUiA9PT09PT09PT09IC0tPg0KPEEgTkFNRT0ibmF2YmFyX2JvdHRvbSI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjAiIFdJRFRIPSIxMDAlIiBDRUxMUEFERElORz0iMSIgQ0VMTFNQQUNJTkc9IjAiPg0KPFRSPg0KPFREIENPTFNQQU49MiBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPg0KPEEgTkFNRT0ibmF2YmFyX2JvdHRvbV9maXJzdHJvdyI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjAiIENFTExQQURESU5HPSIwIiBDRUxMU1BBQ0lORz0iMyI+DQogIDxUUiBBTElHTj0iY2VudGVyIiBWQUxJR049InRvcCI+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vdmVydmlldy1zdW1tYXJ5Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+T3ZlcnZpZXc8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0icGFja2FnZS1zdW1tYXJ5Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+UGFja2FnZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRkZGRkZGIiBDTEFTUz0iTmF2QmFyQ2VsbDFSZXYiPiAmbmJzcDs8Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDFSZXYiPjxCPkNsYXNzPC9CPjwvRk9OVD4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iY2xhc3MtdXNlL0Vudmlyb25tZW50Q2hlY2suaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5Vc2U8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0icGFja2FnZS10cmVlLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+VHJlZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9kZXByZWNhdGVkLWxpc3QuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5EZXByZWNhdGVkPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL2luZGV4LWFsbC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkluZGV4PC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL2hlbHAtZG9jLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+SGVscDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDwvVFI+DQo8L1RBQkxFPg0KPC9URD4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBST1dTUEFOPTM+PEVNPg0KPC9FTT4NCjwvVEQ+DQo8L1RSPg0KDQo8VFI+DQo8VEQgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJOYXZCYXJDZWxsMiI+PEZPTlQgU0laRT0iLTIiPg0KJm5ic3A7UFJFViBDTEFTUyZuYnNwOw0KJm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0L1Byb2Nlc3MuaHRtbCI+PEI+TkVYVCBDTEFTUzwvQj48L0E+PC9GT05UPjwvVEQ+DQo8VEQgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJOYXZCYXJDZWxsMiI+PEZPTlQgU0laRT0iLTIiPg0KICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9pbmRleC5odG1sIiBUQVJHRVQ9Il90b3AiPjxCPkZSQU1FUzwvQj48L0E+ICAmbmJzcDsNCiZuYnNwOzxBIEhSRUY9IkVudmlyb25tZW50Q2hlY2suaHRtbCIgVEFSR0VUPSJfdG9wIj48Qj5OTyBGUkFNRVM8L0I+PC9BPjwvRk9OVD48L1REPg0KPC9UUj4NCjxUUj4NCjxURCBWQUxJR049InRvcCIgQ0xBU1M9Ik5hdkJhckNlbGwzIj48Rk9OVCBTSVpFPSItMiI+DQogIFNVTU1BUlk6ICZuYnNwO0lOTkVSJm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNmaWVsZF9zdW1tYXJ5Ij5GSUVMRDwvQT4mbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI2NvbnN0cnVjdG9yX3N1bW1hcnkiPkNPTlNUUjwvQT4mbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI21ldGhvZF9zdW1tYXJ5Ij5NRVRIT0Q8L0E+PC9GT05UPjwvVEQ+DQo8VEQgVkFMSUdOPSJ0b3AiIENMQVNTPSJOYXZCYXJDZWxsMyI+PEZPTlQgU0laRT0iLTIiPg0KREVUQUlMOiAmbmJzcDs8QSBIUkVGPSIjZmllbGRfZGV0YWlsIj5GSUVMRDwvQT4mbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI2NvbnN0cnVjdG9yX2RldGFpbCI+Q09OU1RSPC9BPiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjbWV0aG9kX2RldGFpbCI+TUVUSE9EPC9BPjwvRk9OVD48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQo8IS0tID09PT09PT09PT09IEVORCBPRiBOQVZCQVIgPT09PT09PT09PT0gLS0+DQoNCjxIUj4NCkNvcHlyaWdodCCpIDIwMDYgQXBhY2hlIFhNTCBQcm9qZWN0LiBBbGwgUmlnaHRzIFJlc2VydmVkLg0KPC9CT0RZPg0KPC9IVE1MPg0K