PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMC8vRU4iPg0KPCEtLU5ld1BhZ2UtLT4NCjxIVE1MPg0KPEhFQUQ+DQo8IS0tIEdlbmVyYXRlZCBieSBqYXZhZG9jIG9uIFRodSBOb3YgMjIgMTc6MTI6NTUgRVNUIDIwMDcgLS0+DQo8VElUTEU+DQpYYWxhbi1KYXZhIDIuNy4xOiBDbGFzcyAgWFBhdGhQYXJzZXINCjwvVElUTEU+DQo8TElOSyBSRUwgPSJzdHlsZXNoZWV0IiBUWVBFPSJ0ZXh0L2NzcyIgSFJFRj0iLi4vLi4vLi4vLi4vLi4vc3R5bGVzaGVldC5jc3MiIFRJVExFPSJTdHlsZSI+DQo8L0hFQUQ+DQo8Qk9EWSBCR0NPTE9SPSJ3aGl0ZSI+DQoNCjwhLS0gPT09PT09PT09PSBTVEFSVCBPRiBOQVZCQVIgPT09PT09PT09PSAtLT4NCjxBIE5BTUU9Im5hdmJhcl90b3AiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIwIiBXSURUSD0iMTAwJSIgQ0VMTFBBRERJTkc9IjEiIENFTExTUEFDSU5HPSIwIj4NCjxUUj4NCjxURCBDT0xTUEFOPTIgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4NCjxBIE5BTUU9Im5hdmJhcl90b3BfZmlyc3Ryb3ciPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIwIiBDRUxMUEFERElORz0iMCIgQ0VMTFNQQUNJTkc9IjMiPg0KICA8VFIgQUxJR049ImNlbnRlciIgVkFMSUdOPSJ0b3AiPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3ZlcnZpZXctc3VtbWFyeS5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPk92ZXJ2aWV3PC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9InBhY2thZ2Utc3VtbWFyeS5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPlBhY2thZ2U8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0ZGRkZGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxUmV2Ij4gJm5ic3A7PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxUmV2Ij48Qj5DbGFzczwvQj48L0ZPTlQ+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9ImNsYXNzLXVzZS9YUGF0aFBhcnNlci5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPlVzZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJwYWNrYWdlLXRyZWUuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5UcmVlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL2RlcHJlY2F0ZWQtbGlzdC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkRlcHJlY2F0ZWQ8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vaW5kZXgtYWxsLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+SW5kZXg8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vaGVscC1kb2MuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5IZWxwPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPC9UUj4NCjwvVEFCTEU+DQo8L1REPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFJPV1NQQU49Mz48RU0+DQo8L0VNPg0KPC9URD4NCjwvVFI+DQoNCjxUUj4NCjxURCBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9Ik5hdkJhckNlbGwyIj48Rk9OVCBTSVpFPSItMiI+DQombmJzcDs8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL1RlbXBsYXRlLmh0bWwiPjxCPlBSRVYgQ0xBU1M8L0I+PC9BPiZuYnNwOw0KJm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci9YU0xUQy5odG1sIj48Qj5ORVhUIENMQVNTPC9CPjwvQT48L0ZPTlQ+PC9URD4NCjxURCBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9Ik5hdkJhckNlbGwyIj48Rk9OVCBTSVpFPSItMiI+DQogIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL2luZGV4Lmh0bWwiIFRBUkdFVD0iX3RvcCI+PEI+RlJBTUVTPC9CPjwvQT4gICZuYnNwOw0KJm5ic3A7PEEgSFJFRj0iWFBhdGhQYXJzZXIuaHRtbCIgVEFSR0VUPSJfdG9wIj48Qj5OTyBGUkFNRVM8L0I+PC9BPjwvRk9OVD48L1REPg0KPC9UUj4NCjxUUj4NCjxURCBWQUxJR049InRvcCIgQ0xBU1M9Ik5hdkJhckNlbGwzIj48Rk9OVCBTSVpFPSItMiI+DQogIFNVTU1BUlk6ICZuYnNwO0lOTkVSJm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNmaWVsZF9zdW1tYXJ5Ij5GSUVMRDwvQT4mbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI2NvbnN0cnVjdG9yX3N1bW1hcnkiPkNPTlNUUjwvQT4mbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI21ldGhvZF9zdW1tYXJ5Ij5NRVRIT0Q8L0E+PC9GT05UPjwvVEQ+DQo8VEQgVkFMSUdOPSJ0b3AiIENMQVNTPSJOYXZCYXJDZWxsMyI+PEZPTlQgU0laRT0iLTIiPg0KREVUQUlMOiAmbmJzcDs8QSBIUkVGPSIjZmllbGRfZGV0YWlsIj5GSUVMRDwvQT4mbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI2NvbnN0cnVjdG9yX2RldGFpbCI+Q09OU1RSPC9BPiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjbWV0aG9kX2RldGFpbCI+TUVUSE9EPC9BPjwvRk9OVD48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQo8IS0tID09PT09PT09PT09IEVORCBPRiBOQVZCQVIgPT09PT09PT09PT0gLS0+DQoNCjxIUj4NCjwhLS0gPT09PT09PT0gU1RBUlQgT0YgQ0xBU1MgREFUQSA9PT09PT09PSAtLT4NCjxIMj4NCjxGT05UIFNJWkU9Ii0xIj4NCm9yZy5hcGFjaGUueGFsYW4ueHNsdGMuY29tcGlsZXI8L0ZPTlQ+DQo8QlI+DQpDbGFzcyAgWFBhdGhQYXJzZXI8L0gyPg0KPFBSRT4NCmphdmEubGFuZy5PYmplY3QNCiAgfA0KICArLS1qYXZhX2N1cC5ydW50aW1lLmxyX3BhcnNlcg0KICAgICAgICB8DQogICAgICAgICstLTxCPm9yZy5hcGFjaGUueGFsYW4ueHNsdGMuY29tcGlsZXIuWFBhdGhQYXJzZXI8L0I+DQo8L1BSRT4NCjxIUj4NCjxETD4NCjxEVD5wdWJsaWMgY2xhc3MgPEI+WFBhdGhQYXJzZXI8L0I+PERUPmV4dGVuZHMgamF2YV9jdXAucnVudGltZS5scl9wYXJzZXI8L0RMPg0KDQo8UD4NCkNVUCB2MC4xMGsgZ2VuZXJhdGVkIHBhcnNlci4NCjxQPg0KPEhSPg0KDQo8UD4NCjwhLS0gPT09PT09PT0gSU5ORVIgQ0xBU1MgU1VNTUFSWSA9PT09PT09PSAtLT4NCg0KDQo8IS0tID09PT09PT09PT09IEZJRUxEIFNVTU1BUlkgPT09PT09PT09PT0gLS0+DQoNCjxBIE5BTUU9ImZpZWxkX3N1bW1hcnkiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4NCjxUUiBCR0NPTE9SPSIjQ0NDQ0ZGIiBDTEFTUz0iVGFibGVIZWFkaW5nQ29sb3IiPg0KPFREIENPTFNQQU49Mj48Rk9OVCBTSVpFPSIrMiI+DQo8Qj5GaWVsZCBTdW1tYXJ5PC9CPjwvRk9OVD48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7b3JnLmFwYWNoZS54YWxhbi54c2x0Yy5jb21waWxlci5TeW1ib2xUYWJsZTwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL1hQYXRoUGFyc2VyLmh0bWwjX3N5bWJvbFRhYmxlIj5fc3ltYm9sVGFibGU8L0E+PC9CPjwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UmVmZXJlbmNlIHRvIHRoZSBzeW1ib2wgdGFibGUuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPnN0YXRpYyZuYnNwO29yZy5hcGFjaGUueGFsYW4ueHNsdGMuY29tcGlsZXIuVmFyaWFibGVSZWY8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci9YUGF0aFBhcnNlci5odG1sI0R1bW15VmFyUmVmIj5EdW1teVZhclJlZjwvQT48L0I+PC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtSZWZlcmVuY2UgdG8gbm9uLWV4aXN0aW5nIHZhcmlhYmxlLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT5zdGF0aWMmbmJzcDtqYXZhLnV0aWwuVmVjdG9yPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvWFBhdGhQYXJzZXIuaHRtbCNFbXB0eUFyZ3MiPkVtcHR5QXJnczwvQT48L0I+PC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtVc2VkIGJ5IGZ1bmN0aW9uIGNhbGxzIHdpdGggbm8gYXJncy48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQombmJzcDsNCjwhLS0gPT09PT09PT0gQ09OU1RSVUNUT1IgU1VNTUFSWSA9PT09PT09PSAtLT4NCg0KPEEgTkFNRT0iY29uc3RydWN0b3Jfc3VtbWFyeSI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPg0KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+DQo8VEQgQ09MU1BBTj0yPjxGT05UIFNJWkU9IisyIj4NCjxCPkNvbnN0cnVjdG9yIFN1bW1hcnk8L0I+PC9GT05UPjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci9YUGF0aFBhcnNlci5odG1sI1hQYXRoUGFyc2VyKCkiPlhQYXRoUGFyc2VyPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7RGVmYXVsdCBjb25zdHJ1Y3Rvci48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvWFBhdGhQYXJzZXIuaHRtbCNYUGF0aFBhcnNlcihvcmcuYXBhY2hlLnhhbGFuLnhzbHRjLmNvbXBpbGVyLlBhcnNlcikiPlhQYXRoUGFyc2VyPC9BPjwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci9QYXJzZXIuaHRtbCI+UGFyc2VyPC9BPiZuYnNwO3BhcnNlcik8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci9YUGF0aFBhcnNlci5odG1sI1hQYXRoUGFyc2VyKGphdmFfY3VwLnJ1bnRpbWUuU2Nhbm5lcikiPlhQYXRoUGFyc2VyPC9BPjwvQj4oamF2YV9jdXAucnVudGltZS5TY2FubmVyJm5ic3A7cyk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0NvbnN0cnVjdG9yIHdoaWNoIHNldHMgdGhlIGRlZmF1bHQgc2Nhbm5lci48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQombmJzcDsNCjwhLS0gPT09PT09PT09PSBNRVRIT0QgU1VNTUFSWSA9PT09PT09PT09PSAtLT4NCg0KPEEgTkFNRT0ibWV0aG9kX3N1bW1hcnkiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4NCjxUUiBCR0NPTE9SPSIjQ0NDQ0ZGIiBDTEFTUz0iVGFibGVIZWFkaW5nQ29sb3IiPg0KPFREIENPTFNQQU49Mj48Rk9OVCBTSVpFPSIrMiI+DQo8Qj5NZXRob2QgU3VtbWFyeTwvQj48L0ZPTlQ+PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3Nob3J0W11bXTwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL1hQYXRoUGFyc2VyLmh0bWwjYWN0aW9uX3RhYmxlKCkiPmFjdGlvbl90YWJsZTwvQT48L0I+KCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0FjY2VzcyB0byBwYXJzZS1hY3Rpb24gdGFibGUuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci9YUGF0aFBhcnNlci5odG1sI2FkZEVycm9yKG9yZy5hcGFjaGUueGFsYW4ueHNsdGMuY29tcGlsZXIudXRpbC5FcnJvck1zZykiPmFkZEVycm9yPC9BPjwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci91dGlsL0Vycm9yTXNnLmh0bWwiPkVycm9yTXNnPC9BPiZuYnNwO2Vycm9yKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO29yZy5hcGFjaGUueGFsYW4ueHNsdGMuY29tcGlsZXIuU3RlcFBhdHRlcm48L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci9YUGF0aFBhcnNlci5odG1sI2NyZWF0ZVN0ZXBQYXR0ZXJuKGludCwgamF2YS5sYW5nLk9iamVjdCwgamF2YS51dGlsLlZlY3RvcikiPmNyZWF0ZVN0ZXBQYXR0ZXJuPC9BPjwvQj4oaW50Jm5ic3A7YXhpcywKICAgICAgICAgICAgICAgICAgamF2YS5sYW5nLk9iamVjdCZuYnNwO3Rlc3QsCiAgICAgICAgICAgICAgICAgIGphdmEudXRpbC5WZWN0b3ImbmJzcDtwcmVkaWNhdGVzKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7VGhpcyBtZXRob2QgaXMgc2ltaWxhciB0byBmaW5kTm9kZVR5cGUoaW50LCBPYmplY3QpIGV4Y2VwdCB0aGF0IGl0CiBjcmVhdGVzIGEgU3RlcFBhdHRlcm4gaW5zdGVhZCBvZiBqdXN0IHJldHVybmluZyBhIG5vZGUgdHlwZS48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7amF2YV9jdXAucnVudGltZS5TeW1ib2w8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci9YUGF0aFBhcnNlci5odG1sI2RvX2FjdGlvbihpbnQsIGphdmFfY3VwLnJ1bnRpbWUubHJfcGFyc2VyLCBqYXZhLnV0aWwuU3RhY2ssIGludCkiPmRvX2FjdGlvbjwvQT48L0I+KGludCZuYnNwO2FjdF9udW0sCiAgICAgICAgICBqYXZhX2N1cC5ydW50aW1lLmxyX3BhcnNlciZuYnNwO3BhcnNlciwKICAgICAgICAgIGphdmEudXRpbC5TdGFjayZuYnNwO3N0YWNrLAogICAgICAgICAgaW50Jm5ic3A7dG9wKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7SW52b2tlIGEgdXNlciBzdXBwbGllZCBwYXJzZSBhY3Rpb24uPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO2ludDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL1hQYXRoUGFyc2VyLmh0bWwjRU9GX3N5bSgpIj5FT0Zfc3ltPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGNvZGU+RU9GPC9jb2RlPiBTeW1ib2wgaW5kZXguPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO2ludDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL1hQYXRoUGFyc2VyLmh0bWwjZXJyb3Jfc3ltKCkiPmVycm9yX3N5bTwvQT48L0I+KCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxjb2RlPmVycm9yPC9jb2RlPiBTeW1ib2wgaW5kZXguPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO2ludDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL1hQYXRoUGFyc2VyLmh0bWwjZmluZE5vZGVUeXBlKGludCwgamF2YS5sYW5nLk9iamVjdCkiPmZpbmROb2RlVHlwZTwvQT48L0I+KGludCZuYnNwO2F4aXMsCiAgICAgICAgICAgICBqYXZhLmxhbmcuT2JqZWN0Jm5ic3A7dGVzdCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtpbnQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci9YUGF0aFBhcnNlci5odG1sI2dldExpbmVOdW1iZXIoKSI+Z2V0TGluZU51bWJlcjwvQT48L0I+KCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtvcmcuYXBhY2hlLnhhbGFuLnhzbHRjLmNvbXBpbGVyLlFOYW1lPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvWFBhdGhQYXJzZXIuaHRtbCNnZXRRTmFtZShqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nKSI+Z2V0UU5hbWU8L0E+PC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7bmFtZXNwYWNlLAogICAgICAgICBqYXZhLmxhbmcuU3RyaW5nJm5ic3A7cHJlZml4LAogICAgICAgICBqYXZhLmxhbmcuU3RyaW5nJm5ic3A7bG9jYWxuYW1lKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO29yZy5hcGFjaGUueGFsYW4ueHNsdGMuY29tcGlsZXIuUU5hbWU8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci9YUGF0aFBhcnNlci5odG1sI2dldFFOYW1lSWdub3JlRGVmYXVsdE5zKGphdmEubGFuZy5TdHJpbmcpIj5nZXRRTmFtZUlnbm9yZURlZmF1bHROczwvQT48L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtuYW1lKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO29yZy5hcGFjaGUueGFsYW4ueHNsdGMuY29tcGlsZXIuUmVsYXRpdmVMb2NhdGlvblBhdGg8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci9YUGF0aFBhcnNlci5odG1sI2luc2VydFN0ZXAob3JnLmFwYWNoZS54YWxhbi54c2x0Yy5jb21waWxlci5TdGVwLCBvcmcuYXBhY2hlLnhhbGFuLnhzbHRjLmNvbXBpbGVyLlJlbGF0aXZlTG9jYXRpb25QYXRoKSI+aW5zZXJ0U3RlcDwvQT48L0I+KG9yZy5hcGFjaGUueGFsYW4ueHNsdGMuY29tcGlsZXIuU3RlcCZuYnNwO3N0ZXAsCiAgICAgICAgICAgb3JnLmFwYWNoZS54YWxhbi54c2x0Yy5jb21waWxlci5SZWxhdGl2ZUxvY2F0aW9uUGF0aCZuYnNwO3JscCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtib29sZWFuPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvWFBhdGhQYXJzZXIuaHRtbCNpc0VsZW1lbnRBeGlzKGludCkiPmlzRWxlbWVudEF4aXM8L0E+PC9CPihpbnQmbmJzcDtheGlzKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UmV0dXJucyB0cnVlIGlmIHRoZSBheGlzIGFwcGxpZXMgdG8gZWxlbWVudHMgb25seS48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7amF2YV9jdXAucnVudGltZS5TeW1ib2w8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci9YUGF0aFBhcnNlci5odG1sI3BhcnNlKGphdmEubGFuZy5TdHJpbmcsIGludCkiPnBhcnNlPC9BPjwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO2V4cHJlc3Npb24sCiAgICAgIGludCZuYnNwO2xpbmVOdW1iZXIpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtQYXJzZSB0aGUgZXhwcmVzc2lvbiBwYXNzZWQgdG8gdGhlIGN1cnJlbnQgc2Nhbm5lci48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7c2hvcnRbXVtdPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvWFBhdGhQYXJzZXIuaHRtbCNwcm9kdWN0aW9uX3RhYmxlKCkiPnByb2R1Y3Rpb25fdGFibGU8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtBY2Nlc3MgdG8gcHJvZHVjdGlvbiB0YWJsZS48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7c2hvcnRbXVtdPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvWFBhdGhQYXJzZXIuaHRtbCNyZWR1Y2VfdGFibGUoKSI+cmVkdWNlX3RhYmxlPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7QWNjZXNzIHRvIDxjb2RlPnJlZHVjZV9nb3RvPC9jb2RlPiB0YWJsZS48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL1hQYXRoUGFyc2VyLmh0bWwjcmVwb3J0X2Vycm9yKGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5PYmplY3QpIj5yZXBvcnRfZXJyb3I8L0E+PC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7bWVzc2FnZSwKICAgICAgICAgICAgIGphdmEubGFuZy5PYmplY3QmbmJzcDtpbmZvKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci9YUGF0aFBhcnNlci5odG1sI3JlcG9ydF9mYXRhbF9lcnJvcihqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuT2JqZWN0KSI+cmVwb3J0X2ZhdGFsX2Vycm9yPC9BPjwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO21lc3NhZ2UsCiAgICAgICAgICAgICAgICAgICBqYXZhLmxhbmcuT2JqZWN0Jm5ic3A7aW5mbyk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvWFBhdGhQYXJzZXIuaHRtbCNzZXRDYWxsc05vZGVzZXQoYm9vbGVhbikiPnNldENhbGxzTm9kZXNldDwvQT48L0I+KGJvb2xlYW4mbmJzcDtmbGFnKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci9YUGF0aFBhcnNlci5odG1sI3NldEhhc0lkQ2FsbChib29sZWFuKSI+c2V0SGFzSWRDYWxsPC9BPjwvQj4oYm9vbGVhbiZuYnNwO2ZsYWcpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL1hQYXRoUGFyc2VyLmh0bWwjc2V0TXVsdGlEb2N1bWVudChib29sZWFuKSI+c2V0TXVsdGlEb2N1bWVudDwvQT48L0I+KGJvb2xlYW4mbmJzcDtmbGFnKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO2ludDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL1hQYXRoUGFyc2VyLmh0bWwjc3RhcnRfcHJvZHVjdGlvbigpIj5zdGFydF9wcm9kdWN0aW9uPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7SW5kaWNhdGVzIHN0YXJ0IHByb2R1Y3Rpb24uPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO2ludDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL1hQYXRoUGFyc2VyLmh0bWwjc3RhcnRfc3RhdGUoKSI+c3RhcnRfc3RhdGU8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtJbmRpY2F0ZXMgc3RhcnQgc3RhdGUuPC9URD4NCjwvVFI+DQo8L1RBQkxFPg0KJm5ic3A7PEEgTkFNRT0ibWV0aG9kc19pbmhlcml0ZWRfZnJvbV9jbGFzc19qYXZhX2N1cC5ydW50aW1lLmxyX3BhcnNlciI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPg0KPFRSIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJUYWJsZVN1YkhlYWRpbmdDb2xvciI+DQo8VEQ+PEI+TWV0aG9kcyBpbmhlcml0ZWQgZnJvbSBjbGFzcyBqYXZhX2N1cC5ydW50aW1lLmxyX3BhcnNlcjwvQj48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREPjxDT0RFPmRlYnVnX21lc3NhZ2UsIA0KZGVidWdfcGFyc2UsIA0KZGVidWdfcmVkdWNlLCANCmRlYnVnX3NoaWZ0LCANCmRlYnVnX3N0YWNrLCANCmRvbmVfcGFyc2luZywgDQpkdW1wX3N0YWNrLCANCmdldFNjYW5uZXIsIA0KcGFyc2UsIA0Kc2NhbiwgDQpzZXRTY2FubmVyLCANCnN5bnRheF9lcnJvciwgDQp1bnJlY292ZXJlZF9zeW50YXhfZXJyb3IsIA0KdXNlcl9pbml0PC9DT0RFPjwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCiZuYnNwOzxBIE5BTUU9Im1ldGhvZHNfaW5oZXJpdGVkX2Zyb21fY2xhc3NfamF2YS5sYW5nLk9iamVjdCI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPg0KPFRSIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJUYWJsZVN1YkhlYWRpbmdDb2xvciI+DQo8VEQ+PEI+TWV0aG9kcyBpbmhlcml0ZWQgZnJvbSBjbGFzcyBqYXZhLmxhbmcuT2JqZWN0PC9CPjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQ+PENPREU+ZXF1YWxzLCANCmdldENsYXNzLCANCmhhc2hDb2RlLCANCm5vdGlmeSwgDQpub3RpZnlBbGwsIA0KdG9TdHJpbmcsIA0Kd2FpdCwgDQp3YWl0LCANCndhaXQ8L0NPREU+PC9URD4NCjwvVFI+DQo8L1RBQkxFPg0KJm5ic3A7DQo8UD4NCg0KPCEtLSA9PT09PT09PT09PT0gRklFTEQgREVUQUlMID09PT09PT09PT09IC0tPg0KDQo8QSBOQU1FPSJmaWVsZF9kZXRhaWwiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4NCjxUUiBCR0NPTE9SPSIjQ0NDQ0ZGIiBDTEFTUz0iVGFibGVIZWFkaW5nQ29sb3IiPg0KPFREIENPTFNQQU49MT48Rk9OVCBTSVpFPSIrMiI+DQo8Qj5GaWVsZCBEZXRhaWw8L0I+PC9GT05UPjwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCg0KPEEgTkFNRT0iRW1wdHlBcmdzIj48IS0tIC0tPjwvQT48SDM+DQpFbXB0eUFyZ3M8L0gzPg0KPFBSRT4NCnB1YmxpYyBzdGF0aWMgZmluYWwgamF2YS51dGlsLlZlY3RvciA8Qj5FbXB0eUFyZ3M8L0I+PC9QUkU+DQo8REw+DQo8REQ+VXNlZCBieSBmdW5jdGlvbiBjYWxscyB3aXRoIG5vIGFyZ3MuPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iRHVtbXlWYXJSZWYiPjwhLS0gLS0+PC9BPjxIMz4NCkR1bW15VmFyUmVmPC9IMz4NCjxQUkU+DQpwdWJsaWMgc3RhdGljIGZpbmFsIG9yZy5hcGFjaGUueGFsYW4ueHNsdGMuY29tcGlsZXIuVmFyaWFibGVSZWYgPEI+RHVtbXlWYXJSZWY8L0I+PC9QUkU+DQo8REw+DQo8REQ+UmVmZXJlbmNlIHRvIG5vbi1leGlzdGluZyB2YXJpYWJsZS48L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJfc3ltYm9sVGFibGUiPjwhLS0gLS0+PC9BPjxIMz4NCl9zeW1ib2xUYWJsZTwvSDM+DQo8UFJFPg0KcHVibGljIG9yZy5hcGFjaGUueGFsYW4ueHNsdGMuY29tcGlsZXIuU3ltYm9sVGFibGUgPEI+X3N5bWJvbFRhYmxlPC9CPjwvUFJFPg0KPERMPg0KPEREPlJlZmVyZW5jZSB0byB0aGUgc3ltYm9sIHRhYmxlLjwvREw+DQoNCjwhLS0gPT09PT09PT09IENPTlNUUlVDVE9SIERFVEFJTCA9PT09PT09PSAtLT4NCg0KPEEgTkFNRT0iY29uc3RydWN0b3JfZGV0YWlsIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+DQo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4NCjxURCBDT0xTUEFOPTE+PEZPTlQgU0laRT0iKzIiPg0KPEI+Q29uc3RydWN0b3IgRGV0YWlsPC9CPjwvRk9OVD48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQoNCjxBIE5BTUU9IlhQYXRoUGFyc2VyKCkiPjwhLS0gLS0+PC9BPjxIMz4NClhQYXRoUGFyc2VyPC9IMz4NCjxQUkU+DQpwdWJsaWMgPEI+WFBhdGhQYXJzZXI8L0I+KCk8L1BSRT4NCjxETD4NCjxERD5EZWZhdWx0IGNvbnN0cnVjdG9yLjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9IlhQYXRoUGFyc2VyKGphdmFfY3VwLnJ1bnRpbWUuU2Nhbm5lcikiPjwhLS0gLS0+PC9BPjxIMz4NClhQYXRoUGFyc2VyPC9IMz4NCjxQUkU+DQpwdWJsaWMgPEI+WFBhdGhQYXJzZXI8L0I+KGphdmFfY3VwLnJ1bnRpbWUuU2Nhbm5lciZuYnNwO3MpPC9QUkU+DQo8REw+DQo8REQ+Q29uc3RydWN0b3Igd2hpY2ggc2V0cyB0aGUgZGVmYXVsdCBzY2FubmVyLjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9IlhQYXRoUGFyc2VyKG9yZy5hcGFjaGUueGFsYW4ueHNsdGMuY29tcGlsZXIuUGFyc2VyKSI+PCEtLSAtLT48L0E+PEgzPg0KWFBhdGhQYXJzZXI8L0gzPg0KPFBSRT4NCnB1YmxpYyA8Qj5YUGF0aFBhcnNlcjwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi94c2x0Yy9jb21waWxlci9QYXJzZXIuaHRtbCI+UGFyc2VyPC9BPiZuYnNwO3BhcnNlcik8L1BSRT4NCjxETD4NCjwvREw+DQoNCjwhLS0gPT09PT09PT09PT09IE1FVEhPRCBERVRBSUwgPT09PT09PT09PSAtLT4NCg0KPEEgTkFNRT0ibWV0aG9kX2RldGFpbCI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPg0KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+DQo8VEQgQ09MU1BBTj0xPjxGT05UIFNJWkU9IisyIj4NCjxCPk1ldGhvZCBEZXRhaWw8L0I+PC9GT05UPjwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCg0KPEEgTkFNRT0icHJvZHVjdGlvbl90YWJsZSgpIj48IS0tIC0tPjwvQT48SDM+DQpwcm9kdWN0aW9uX3RhYmxlPC9IMz4NCjxQUkU+DQpwdWJsaWMgc2hvcnRbXVtdIDxCPnByb2R1Y3Rpb25fdGFibGU8L0I+KCk8L1BSRT4NCjxETD4NCjxERD5BY2Nlc3MgdG8gcHJvZHVjdGlvbiB0YWJsZS48REQ+PERMPg0KPERUPjxCPk92ZXJyaWRlczo8L0I+PEREPnByb2R1Y3Rpb25fdGFibGUgaW4gY2xhc3MgamF2YV9jdXAucnVudGltZS5scl9wYXJzZXI8L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImFjdGlvbl90YWJsZSgpIj48IS0tIC0tPjwvQT48SDM+DQphY3Rpb25fdGFibGU8L0gzPg0KPFBSRT4NCnB1YmxpYyBzaG9ydFtdW10gPEI+YWN0aW9uX3RhYmxlPC9CPigpPC9QUkU+DQo8REw+DQo8REQ+QWNjZXNzIHRvIHBhcnNlLWFjdGlvbiB0YWJsZS48REQ+PERMPg0KPERUPjxCPk92ZXJyaWRlczo8L0I+PEREPmFjdGlvbl90YWJsZSBpbiBjbGFzcyBqYXZhX2N1cC5ydW50aW1lLmxyX3BhcnNlcjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0icmVkdWNlX3RhYmxlKCkiPjwhLS0gLS0+PC9BPjxIMz4NCnJlZHVjZV90YWJsZTwvSDM+DQo8UFJFPg0KcHVibGljIHNob3J0W11bXSA8Qj5yZWR1Y2VfdGFibGU8L0I+KCk8L1BSRT4NCjxETD4NCjxERD5BY2Nlc3MgdG8gPGNvZGU+cmVkdWNlX2dvdG88L2NvZGU+IHRhYmxlLjxERD48REw+DQo8RFQ+PEI+T3ZlcnJpZGVzOjwvQj48REQ+cmVkdWNlX3RhYmxlIGluIGNsYXNzIGphdmFfY3VwLnJ1bnRpbWUubHJfcGFyc2VyPC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJkb19hY3Rpb24oaW50LCBqYXZhX2N1cC5ydW50aW1lLmxyX3BhcnNlciwgamF2YS51dGlsLlN0YWNrLCBpbnQpIj48IS0tIC0tPjwvQT48SDM+DQpkb19hY3Rpb248L0gzPg0KPFBSRT4NCnB1YmxpYyBqYXZhX2N1cC5ydW50aW1lLlN5bWJvbCA8Qj5kb19hY3Rpb248L0I+KGludCZuYnNwO2FjdF9udW0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgamF2YV9jdXAucnVudGltZS5scl9wYXJzZXImbmJzcDtwYXJzZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgamF2YS51dGlsLlN0YWNrJm5ic3A7c3RhY2ssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50Jm5ic3A7dG9wKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb248L1BSRT4NCjxETD4NCjxERD5JbnZva2UgYSB1c2VyIHN1cHBsaWVkIHBhcnNlIGFjdGlvbi48REQ+PERMPg0KPERUPjxCPk92ZXJyaWRlczo8L0I+PEREPmRvX2FjdGlvbiBpbiBjbGFzcyBqYXZhX2N1cC5ydW50aW1lLmxyX3BhcnNlcjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0ic3RhcnRfc3RhdGUoKSI+PCEtLSAtLT48L0E+PEgzPg0Kc3RhcnRfc3RhdGU8L0gzPg0KPFBSRT4NCnB1YmxpYyBpbnQgPEI+c3RhcnRfc3RhdGU8L0I+KCk8L1BSRT4NCjxETD4NCjxERD5JbmRpY2F0ZXMgc3RhcnQgc3RhdGUuPEREPjxETD4NCjxEVD48Qj5PdmVycmlkZXM6PC9CPjxERD5zdGFydF9zdGF0ZSBpbiBjbGFzcyBqYXZhX2N1cC5ydW50aW1lLmxyX3BhcnNlcjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0ic3RhcnRfcHJvZHVjdGlvbigpIj48IS0tIC0tPjwvQT48SDM+DQpzdGFydF9wcm9kdWN0aW9uPC9IMz4NCjxQUkU+DQpwdWJsaWMgaW50IDxCPnN0YXJ0X3Byb2R1Y3Rpb248L0I+KCk8L1BSRT4NCjxETD4NCjxERD5JbmRpY2F0ZXMgc3RhcnQgcHJvZHVjdGlvbi48REQ+PERMPg0KPERUPjxCPk92ZXJyaWRlczo8L0I+PEREPnN0YXJ0X3Byb2R1Y3Rpb24gaW4gY2xhc3MgamF2YV9jdXAucnVudGltZS5scl9wYXJzZXI8L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9IkVPRl9zeW0oKSI+PCEtLSAtLT48L0E+PEgzPg0KRU9GX3N5bTwvSDM+DQo8UFJFPg0KcHVibGljIGludCA8Qj5FT0Zfc3ltPC9CPigpPC9QUkU+DQo8REw+DQo8REQ+PGNvZGU+RU9GPC9jb2RlPiBTeW1ib2wgaW5kZXguPEREPjxETD4NCjxEVD48Qj5PdmVycmlkZXM6PC9CPjxERD5FT0Zfc3ltIGluIGNsYXNzIGphdmFfY3VwLnJ1bnRpbWUubHJfcGFyc2VyPC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJlcnJvcl9zeW0oKSI+PCEtLSAtLT48L0E+PEgzPg0KZXJyb3Jfc3ltPC9IMz4NCjxQUkU+DQpwdWJsaWMgaW50IDxCPmVycm9yX3N5bTwvQj4oKTwvUFJFPg0KPERMPg0KPEREPjxjb2RlPmVycm9yPC9jb2RlPiBTeW1ib2wgaW5kZXguPEREPjxETD4NCjxEVD48Qj5PdmVycmlkZXM6PC9CPjxERD5lcnJvcl9zeW0gaW4gY2xhc3MgamF2YV9jdXAucnVudGltZS5scl9wYXJzZXI8L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldExpbmVOdW1iZXIoKSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0TGluZU51bWJlcjwvSDM+DQo8UFJFPg0KcHVibGljIGludCA8Qj5nZXRMaW5lTnVtYmVyPC9CPigpPC9QUkU+DQo8REw+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJnZXRRTmFtZUlnbm9yZURlZmF1bHROcyhqYXZhLmxhbmcuU3RyaW5nKSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0UU5hbWVJZ25vcmVEZWZhdWx0TnM8L0gzPg0KPFBSRT4NCnB1YmxpYyBvcmcuYXBhY2hlLnhhbGFuLnhzbHRjLmNvbXBpbGVyLlFOYW1lIDxCPmdldFFOYW1lSWdub3JlRGVmYXVsdE5zPC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7bmFtZSk8L1BSRT4NCjxETD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldFFOYW1lKGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcpIj48IS0tIC0tPjwvQT48SDM+DQpnZXRRTmFtZTwvSDM+DQo8UFJFPg0KcHVibGljIG9yZy5hcGFjaGUueGFsYW4ueHNsdGMuY29tcGlsZXIuUU5hbWUgPEI+Z2V0UU5hbWU8L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtuYW1lc3BhY2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGphdmEubGFuZy5TdHJpbmcmbmJzcDtwcmVmaXgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGphdmEubGFuZy5TdHJpbmcmbmJzcDtsb2NhbG5hbWUpPC9QUkU+DQo8REw+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJzZXRNdWx0aURvY3VtZW50KGJvb2xlYW4pIj48IS0tIC0tPjwvQT48SDM+DQpzZXRNdWx0aURvY3VtZW50PC9IMz4NCjxQUkU+DQpwdWJsaWMgdm9pZCA8Qj5zZXRNdWx0aURvY3VtZW50PC9CPihib29sZWFuJm5ic3A7ZmxhZyk8L1BSRT4NCjxETD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9InNldENhbGxzTm9kZXNldChib29sZWFuKSI+PCEtLSAtLT48L0E+PEgzPg0Kc2V0Q2FsbHNOb2Rlc2V0PC9IMz4NCjxQUkU+DQpwdWJsaWMgdm9pZCA8Qj5zZXRDYWxsc05vZGVzZXQ8L0I+KGJvb2xlYW4mbmJzcDtmbGFnKTwvUFJFPg0KPERMPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0ic2V0SGFzSWRDYWxsKGJvb2xlYW4pIj48IS0tIC0tPjwvQT48SDM+DQpzZXRIYXNJZENhbGw8L0gzPg0KPFBSRT4NCnB1YmxpYyB2b2lkIDxCPnNldEhhc0lkQ2FsbDwvQj4oYm9vbGVhbiZuYnNwO2ZsYWcpPC9QUkU+DQo8REw+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJjcmVhdGVTdGVwUGF0dGVybihpbnQsIGphdmEubGFuZy5PYmplY3QsIGphdmEudXRpbC5WZWN0b3IpIj48IS0tIC0tPjwvQT48SDM+DQpjcmVhdGVTdGVwUGF0dGVybjwvSDM+DQo8UFJFPg0KcHVibGljIG9yZy5hcGFjaGUueGFsYW4ueHNsdGMuY29tcGlsZXIuU3RlcFBhdHRlcm4gPEI+Y3JlYXRlU3RlcFBhdHRlcm48L0I+KGludCZuYnNwO2F4aXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGphdmEubGFuZy5PYmplY3QmbmJzcDt0ZXN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqYXZhLnV0aWwuVmVjdG9yJm5ic3A7cHJlZGljYXRlcyk8L1BSRT4NCjxETD4NCjxERD5UaGlzIG1ldGhvZCBpcyBzaW1pbGFyIHRvIGZpbmROb2RlVHlwZShpbnQsIE9iamVjdCkgZXhjZXB0IHRoYXQgaXQKIGNyZWF0ZXMgYSBTdGVwUGF0dGVybiBpbnN0ZWFkIG9mIGp1c3QgcmV0dXJuaW5nIGEgbm9kZSB0eXBlLiBJdCBhbHNvIAogZGlmZmVycyBpbiB0aGUgd2F5IGl0IGhhbmRsZXMgInt1cml9OioiIGFuZCAie3VyaX06QCoiLiBUaGUgbGFzdCB0d28gCiBwYXR0ZXJucyBhcmUgZXhwYW5kZWQgYXMgIipbbmFtZXNwYWNlLXVyaSgpID0gJ3VyaSddIiBhbmQgCiAiQCpbbmFtZXNwYWNlLXVyaSgpID0gJ3VyaSddIiwgcmVzcGVjdGl2ZWx5LiBUaGlzIGV4cGFuc2lvbiBjb25zaWRlcmFibHkgCiBzaW1wbGlmaWVzIHRoZSBncm91cGluZyBvZiBwYXR0ZXJucyBpbiB0aGUgTW9kZSBjbGFzcy4gRm9yIHRoaXMKIGV4cGFuc2lvbiB0byBiZSBjb3JyZWN0LCB0aGUgcHJpb3JpdHkgb2YgdGhlIHBhdHRlcm4vdGVtcGxhdGUgbXVzdCBiZQogc2V0IHRvIC0wLjI1ICh3aGVuIG5vIG90aGVyIHByZWRpY2F0ZXMgYXJlIHByZXNlbnQpLjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImZpbmROb2RlVHlwZShpbnQsIGphdmEubGFuZy5PYmplY3QpIj48IS0tIC0tPjwvQT48SDM+DQpmaW5kTm9kZVR5cGU8L0gzPg0KPFBSRT4NCnB1YmxpYyBpbnQgPEI+ZmluZE5vZGVUeXBlPC9CPihpbnQmbmJzcDtheGlzLAogICAgICAgICAgICAgICAgICAgICAgICBqYXZhLmxhbmcuT2JqZWN0Jm5ic3A7dGVzdCk8L1BSRT4NCjxETD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9InBhcnNlKGphdmEubGFuZy5TdHJpbmcsIGludCkiPjwhLS0gLS0+PC9BPjxIMz4NCnBhcnNlPC9IMz4NCjxQUkU+DQpwdWJsaWMgamF2YV9jdXAucnVudGltZS5TeW1ib2wgPEI+cGFyc2U8L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtleHByZXNzaW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50Jm5ic3A7bGluZU51bWJlcikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb248L1BSRT4NCjxETD4NCjxERD5QYXJzZSB0aGUgZXhwcmVzc2lvbiBwYXNzZWQgdG8gdGhlIGN1cnJlbnQgc2Nhbm5lci4gSWYgdGhpcwogZXhwcmVzc2lvbiBjb250YWlucyByZWZlcmVuY2VzIHRvIGxvY2FsIHZhcmlhYmxlcyBhbmQgaXQgd2lsbCBiZSAKIGNvbXBpbGVkIGluIGFuIGV4dGVybmFsIG1vZHVsZSAobm90IGluIHRoZSBtYWluIGNsYXNzKSByZXF1ZXN0IAogdGhlIGN1cnJlbnQgdGVtcGxhdGUgdG8gY3JlYXRlIGEgbmV3IHZhcmlhYmxlIHN0YWNrIGZyYW1lLjxERD48REw+DQo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPmxpbmVOdW1iZXI8L0NPREU+IC0gTGluZSB3aGVyZSB0aGUgY3VycmVudCBleHByZXNzaW9uIGlzIGRlZmluZWQuPEREPjxDT0RFPmV4dGVybmFsPC9DT0RFPiAtIFNldCB0byA8dHQ+dHJ1ZTwvdHQ+IGlmIHRoaXMgZXhwcmVzc2lvbiBpcwogICAgICAgICAgICAgICAgICAgY29tcGlsZWQgaW4gYSBzZXBhcmF0ZSBtb2R1bGUuPC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJhZGRFcnJvcihvcmcuYXBhY2hlLnhhbGFuLnhzbHRjLmNvbXBpbGVyLnV0aWwuRXJyb3JNc2cpIj48IS0tIC0tPjwvQT48SDM+DQphZGRFcnJvcjwvSDM+DQo8UFJFPg0KcHVibGljIGZpbmFsIHZvaWQgPEI+YWRkRXJyb3I8L0I+KDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvdXRpbC9FcnJvck1zZy5odG1sIj5FcnJvck1zZzwvQT4mbmJzcDtlcnJvcik8L1BSRT4NCjxETD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9InJlcG9ydF9lcnJvcihqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuT2JqZWN0KSI+PCEtLSAtLT48L0E+PEgzPg0KcmVwb3J0X2Vycm9yPC9IMz4NCjxQUkU+DQpwdWJsaWMgdm9pZCA8Qj5yZXBvcnRfZXJyb3I8L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDttZXNzYWdlLAogICAgICAgICAgICAgICAgICAgICAgICAgamF2YS5sYW5nLk9iamVjdCZuYnNwO2luZm8pPC9QUkU+DQo8REw+DQo8REQ+PERMPg0KPERUPjxCPk92ZXJyaWRlczo8L0I+PEREPnJlcG9ydF9lcnJvciBpbiBjbGFzcyBqYXZhX2N1cC5ydW50aW1lLmxyX3BhcnNlcjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0icmVwb3J0X2ZhdGFsX2Vycm9yKGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5PYmplY3QpIj48IS0tIC0tPjwvQT48SDM+DQpyZXBvcnRfZmF0YWxfZXJyb3I8L0gzPg0KPFBSRT4NCnB1YmxpYyB2b2lkIDxCPnJlcG9ydF9mYXRhbF9lcnJvcjwvQj4oamF2YS5sYW5nLlN0cmluZyZuYnNwO21lc3NhZ2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqYXZhLmxhbmcuT2JqZWN0Jm5ic3A7aW5mbyk8L1BSRT4NCjxETD4NCjxERD48REw+DQo8RFQ+PEI+T3ZlcnJpZGVzOjwvQj48REQ+cmVwb3J0X2ZhdGFsX2Vycm9yIGluIGNsYXNzIGphdmFfY3VwLnJ1bnRpbWUubHJfcGFyc2VyPC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJpbnNlcnRTdGVwKG9yZy5hcGFjaGUueGFsYW4ueHNsdGMuY29tcGlsZXIuU3RlcCwgb3JnLmFwYWNoZS54YWxhbi54c2x0Yy5jb21waWxlci5SZWxhdGl2ZUxvY2F0aW9uUGF0aCkiPjwhLS0gLS0+PC9BPjxIMz4NCmluc2VydFN0ZXA8L0gzPg0KPFBSRT4NCnB1YmxpYyBvcmcuYXBhY2hlLnhhbGFuLnhzbHRjLmNvbXBpbGVyLlJlbGF0aXZlTG9jYXRpb25QYXRoIDxCPmluc2VydFN0ZXA8L0I+KG9yZy5hcGFjaGUueGFsYW4ueHNsdGMuY29tcGlsZXIuU3RlcCZuYnNwO3N0ZXAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JnLmFwYWNoZS54YWxhbi54c2x0Yy5jb21waWxlci5SZWxhdGl2ZUxvY2F0aW9uUGF0aCZuYnNwO3JscCk8L1BSRT4NCjxETD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImlzRWxlbWVudEF4aXMoaW50KSI+PCEtLSAtLT48L0E+PEgzPg0KaXNFbGVtZW50QXhpczwvSDM+DQo8UFJFPg0KcHVibGljIGJvb2xlYW4gPEI+aXNFbGVtZW50QXhpczwvQj4oaW50Jm5ic3A7YXhpcyk8L1BSRT4NCjxETD4NCjxERD5SZXR1cm5zIHRydWUgaWYgdGhlIGF4aXMgYXBwbGllcyB0byBlbGVtZW50cyBvbmx5LiBUaGUgYXhlcwogY2hpbGQsIGF0dHJpYnV0ZSwgbmFtZXNwYWNlLCBkZXNjZW5kYW50IHJlc3VsdCBpbiBub24tZW1wdHkKIG5vZGVzZXRzIG9ubHkgaWYgdGhlIGNvbnRleHQgbm9kZSBpcyBvZiB0eXBlIGVsZW1lbnQuPC9ETD4NCjwhLS0gPT09PT09PT09IEVORCBPRiBDTEFTUyBEQVRBID09PT09PT09PSAtLT4NCjxIUj4NCg0KPCEtLSA9PT09PT09PT09IFNUQVJUIE9GIE5BVkJBUiA9PT09PT09PT09IC0tPg0KPEEgTkFNRT0ibmF2YmFyX2JvdHRvbSI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjAiIFdJRFRIPSIxMDAlIiBDRUxMUEFERElORz0iMSIgQ0VMTFNQQUNJTkc9IjAiPg0KPFRSPg0KPFREIENPTFNQQU49MiBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPg0KPEEgTkFNRT0ibmF2YmFyX2JvdHRvbV9maXJzdHJvdyI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjAiIENFTExQQURESU5HPSIwIiBDRUxMU1BBQ0lORz0iMyI+DQogIDxUUiBBTElHTj0iY2VudGVyIiBWQUxJR049InRvcCI+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vdmVydmlldy1zdW1tYXJ5Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+T3ZlcnZpZXc8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0icGFja2FnZS1zdW1tYXJ5Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+UGFja2FnZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRkZGRkZGIiBDTEFTUz0iTmF2QmFyQ2VsbDFSZXYiPiAmbmJzcDs8Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDFSZXYiPjxCPkNsYXNzPC9CPjwvRk9OVD4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iY2xhc3MtdXNlL1hQYXRoUGFyc2VyLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+VXNlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9InBhY2thZ2UtdHJlZS5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPlRyZWU8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vZGVwcmVjYXRlZC1saXN0Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+RGVwcmVjYXRlZDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9pbmRleC1hbGwuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5JbmRleDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9oZWxwLWRvYy5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkhlbHA8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8L1RSPg0KPC9UQUJMRT4NCjwvVEQ+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgUk9XU1BBTj0zPjxFTT4NCjwvRU0+DQo8L1REPg0KPC9UUj4NCg0KPFRSPg0KPFREIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iTmF2QmFyQ2VsbDIiPjxGT05UIFNJWkU9Ii0yIj4NCiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4veHNsdGMvY29tcGlsZXIvVGVtcGxhdGUuaHRtbCI+PEI+UFJFViBDTEFTUzwvQj48L0E+Jm5ic3A7DQombmJzcDs8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3hzbHRjL2NvbXBpbGVyL1hTTFRDLmh0bWwiPjxCPk5FWFQgQ0xBU1M8L0I+PC9BPjwvRk9OVD48L1REPg0KPFREIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iTmF2QmFyQ2VsbDIiPjxGT05UIFNJWkU9Ii0yIj4NCiAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vaW5kZXguaHRtbCIgVEFSR0VUPSJfdG9wIj48Qj5GUkFNRVM8L0I+PC9BPiAgJm5ic3A7DQombmJzcDs8QSBIUkVGPSJYUGF0aFBhcnNlci5odG1sIiBUQVJHRVQ9Il90b3AiPjxCPk5PIEZSQU1FUzwvQj48L0E+PC9GT05UPjwvVEQ+DQo8L1RSPg0KPFRSPg0KPFREIFZBTElHTj0idG9wIiBDTEFTUz0iTmF2QmFyQ2VsbDMiPjxGT05UIFNJWkU9Ii0yIj4NCiAgU1VNTUFSWTogJm5ic3A7SU5ORVImbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI2ZpZWxkX3N1bW1hcnkiPkZJRUxEPC9BPiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjY29uc3RydWN0b3Jfc3VtbWFyeSI+Q09OU1RSPC9BPiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjbWV0aG9kX3N1bW1hcnkiPk1FVEhPRDwvQT48L0ZPTlQ+PC9URD4NCjxURCBWQUxJR049InRvcCIgQ0xBU1M9Ik5hdkJhckNlbGwzIj48Rk9OVCBTSVpFPSItMiI+DQpERVRBSUw6ICZuYnNwOzxBIEhSRUY9IiNmaWVsZF9kZXRhaWwiPkZJRUxEPC9BPiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjY29uc3RydWN0b3JfZGV0YWlsIj5DT05TVFI8L0E+Jm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNtZXRob2RfZGV0YWlsIj5NRVRIT0Q8L0E+PC9GT05UPjwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCjwhLS0gPT09PT09PT09PT0gRU5EIE9GIE5BVkJBUiA9PT09PT09PT09PSAtLT4NCg0KPEhSPg0KQ29weXJpZ2h0IKkgMjAwNiBBcGFjaGUgWE1MIFByb2plY3QuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuDQo8L0JPRFk+DQo8L0hUTUw+DQo=