PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMC8vRU4iPg0KPCEtLU5ld1BhZ2UtLT4NCjxIVE1MPg0KPEhFQUQ+DQo8IS0tIEdlbmVyYXRlZCBieSBqYXZhZG9jIG9uIFRodSBOb3YgMjIgMTc6MTI6NTQgRVNUIDIwMDcgLS0+DQo8VElUTEU+DQpYYWxhbi1KYXZhIDIuNy4xOiBDbGFzcyAgRWxlbVRlbXBsYXRlDQo8L1RJVExFPg0KPExJTksgUkVMID0ic3R5bGVzaGVldCIgVFlQRT0idGV4dC9jc3MiIEhSRUY9Ii4uLy4uLy4uLy4uL3N0eWxlc2hlZXQuY3NzIiBUSVRMRT0iU3R5bGUiPg0KPC9IRUFEPg0KPEJPRFkgQkdDT0xPUj0id2hpdGUiPg0KDQo8IS0tID09PT09PT09PT0gU1RBUlQgT0YgTkFWQkFSID09PT09PT09PT0gLS0+DQo8QSBOQU1FPSJuYXZiYXJfdG9wIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMCIgV0lEVEg9IjEwMCUiIENFTExQQURESU5HPSIxIiBDRUxMU1BBQ0lORz0iMCI+DQo8VFI+DQo8VEQgQ09MU1BBTj0yIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+DQo8QSBOQU1FPSJuYXZiYXJfdG9wX2ZpcnN0cm93Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMCIgQ0VMTFBBRERJTkc9IjAiIENFTExTUEFDSU5HPSIzIj4NCiAgPFRSIEFMSUdOPSJjZW50ZXIiIFZBTElHTj0idG9wIj4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL292ZXJ2aWV3LXN1bW1hcnkuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5PdmVydmlldzwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJwYWNrYWdlLXN1bW1hcnkuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5QYWNrYWdlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNGRkZGRkYiIENMQVNTPSJOYXZCYXJDZWxsMVJldiI+ICZuYnNwOzxGT05UIENMQVNTPSJOYXZCYXJGb250MVJldiI+PEI+Q2xhc3M8L0I+PC9GT05UPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJjbGFzcy11c2UvRWxlbVRlbXBsYXRlLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+VXNlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9InBhY2thZ2UtdHJlZS5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPlRyZWU8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vZGVwcmVjYXRlZC1saXN0Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+RGVwcmVjYXRlZDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9pbmRleC1hbGwuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5JbmRleDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9oZWxwLWRvYy5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkhlbHA8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8L1RSPg0KPC9UQUJMRT4NCjwvVEQ+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgUk9XU1BBTj0zPjxFTT4NCjwvRU0+DQo8L1REPg0KPC9UUj4NCg0KPFRSPg0KPFREIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iTmF2QmFyQ2VsbDIiPjxGT05UIFNJWkU9Ii0yIj4NCiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1Tb3J0Lmh0bWwiPjxCPlBSRVYgQ0xBU1M8L0I+PC9BPiZuYnNwOw0KJm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sIj48Qj5ORVhUIENMQVNTPC9CPjwvQT48L0ZPTlQ+PC9URD4NCjxURCBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9Ik5hdkJhckNlbGwyIj48Rk9OVCBTSVpFPSItMiI+DQogIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL2luZGV4Lmh0bWwiIFRBUkdFVD0iX3RvcCI+PEI+RlJBTUVTPC9CPjwvQT4gICZuYnNwOw0KJm5ic3A7PEEgSFJFRj0iRWxlbVRlbXBsYXRlLmh0bWwiIFRBUkdFVD0iX3RvcCI+PEI+Tk8gRlJBTUVTPC9CPjwvQT48L0ZPTlQ+PC9URD4NCjwvVFI+DQo8VFI+DQo8VEQgVkFMSUdOPSJ0b3AiIENMQVNTPSJOYXZCYXJDZWxsMyI+PEZPTlQgU0laRT0iLTIiPg0KICBTVU1NQVJZOiAmbmJzcDtJTk5FUiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjZmllbGRfc3VtbWFyeSI+RklFTEQ8L0E+Jm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNjb25zdHJ1Y3Rvcl9zdW1tYXJ5Ij5DT05TVFI8L0E+Jm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNtZXRob2Rfc3VtbWFyeSI+TUVUSE9EPC9BPjwvRk9OVD48L1REPg0KPFREIFZBTElHTj0idG9wIiBDTEFTUz0iTmF2QmFyQ2VsbDMiPjxGT05UIFNJWkU9Ii0yIj4NCkRFVEFJTDogJm5ic3A7PEEgSFJFRj0iI2ZpZWxkX2RldGFpbCI+RklFTEQ8L0E+Jm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNjb25zdHJ1Y3Rvcl9kZXRhaWwiPkNPTlNUUjwvQT4mbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI21ldGhvZF9kZXRhaWwiPk1FVEhPRDwvQT48L0ZPTlQ+PC9URD4NCjwvVFI+DQo8L1RBQkxFPg0KPCEtLSA9PT09PT09PT09PSBFTkQgT0YgTkFWQkFSID09PT09PT09PT09IC0tPg0KDQo8SFI+DQo8IS0tID09PT09PT09IFNUQVJUIE9GIENMQVNTIERBVEEgPT09PT09PT0gLS0+DQo8SDI+DQo8Rk9OVCBTSVpFPSItMSI+DQpvcmcuYXBhY2hlLnhhbGFuLnRlbXBsYXRlczwvRk9OVD4NCjxCUj4NCkNsYXNzICBFbGVtVGVtcGxhdGU8L0gyPg0KPFBSRT4NCmphdmEubGFuZy5PYmplY3QNCiAgfA0KICArLS08QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwiPm9yZy5hcGFjaGUueG1sLnV0aWxzLlVuSW1wbE5vZGU8L0E+DQogICAgICAgIHwNCiAgICAgICAgKy0tPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sIj5vcmcuYXBhY2hlLnhhbGFuLnRlbXBsYXRlcy5FbGVtVGVtcGxhdGVFbGVtZW50PC9BPg0KICAgICAgICAgICAgICB8DQogICAgICAgICAgICAgICstLTxCPm9yZy5hcGFjaGUueGFsYW4udGVtcGxhdGVzLkVsZW1UZW1wbGF0ZTwvQj4NCjwvUFJFPg0KPERMPg0KPERUPjxCPkRpcmVjdCBLbm93biBTdWJjbGFzc2VzOjwvQj4gPEREPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1FeHNsdEZ1bmN0aW9uLmh0bWwiPkVsZW1FeHNsdEZ1bmN0aW9uPC9BPiwgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvV2hpdGVTcGFjZUluZm8uaHRtbCI+V2hpdGVTcGFjZUluZm88L0E+PC9ERD4NCjwvREw+DQo8SFI+DQo8REw+DQo8RFQ+cHVibGljIGNsYXNzIDxCPkVsZW1UZW1wbGF0ZTwvQj48RFQ+ZXh0ZW5kcyA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwiPkVsZW1UZW1wbGF0ZUVsZW1lbnQ8L0E+PC9ETD4NCg0KPFA+DQpJbXBsZW1lbnQgeHNsOnRlbXBsYXRlLgogPHByZT4KIDwhRUxFTUVOVCB4c2w6dGVtcGxhdGUKICAoI1BDREFUQQogICAlaW5zdHJ1Y3Rpb25zOwogICAlcmVzdWx0LWVsZW1lbnRzOwogICB8IHhzbDpwYXJhbSkKID4KCiA8IUFUVExJU1QgeHNsOnRlbXBsYXRlCiAgIG1hdGNoICVwYXR0ZXJuOyAjSU1QTElFRAogICBuYW1lICVxbmFtZTsgI0lNUExJRUQKICAgcHJpb3JpdHkgJXByaW9yaXR5OyAjSU1QTElFRAogICBtb2RlICVxbmFtZTsgI0lNUExJRUQKICAgJXNwYWNlLWF0dDsKID4KIDwvcHJlPg0KPFA+DQo8REw+DQo8RFQ+PEI+U2VlIEFsc286IDwvQj48REQ+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIveHNsdCNzZWN0aW9uLURlZmluaW5nLVRlbXBsYXRlLVJ1bGVzIj5zZWN0aW9uLURlZmluaW5nLVRlbXBsYXRlLVJ1bGVzIGluIFhTTFQgU3BlY2lmaWNhdGlvbjwvYT4sIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL3NlcmlhbGl6ZWQtZm9ybS5odG1sI29yZy5hcGFjaGUueGFsYW4udGVtcGxhdGVzLkVsZW1UZW1wbGF0ZSI+U2VyaWFsaXplZCBGb3JtPC9BPjxEVD48Qj5Vc2FnZTo8L0I+PEREPjxpPjxmb250IHNpemU9Ii0xIiBjb2xvcj0iIzAwRkYwMCI+ICoqRm9yIGFkdmFuY2VkIHVzZSBvbmx5Kio8L2ZvbnQ+PC9pPjwvREQ+CjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8UD4NCjwhLS0gPT09PT09PT0gSU5ORVIgQ0xBU1MgU1VNTUFSWSA9PT09PT09PSAtLT4NCg0KDQo8IS0tID09PT09PT09PT09IEZJRUxEIFNVTU1BUlkgPT09PT09PT09PT0gLS0+DQoNCjxBIE5BTUU9ImZpZWxkX3N1bW1hcnkiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4NCjxUUiBCR0NPTE9SPSIjQ0NDQ0ZGIiBDTEFTUz0iVGFibGVIZWFkaW5nQ29sb3IiPg0KPFREIENPTFNQQU49Mj48Rk9OVCBTSVpFPSIrMiI+DQo8Qj5GaWVsZCBTdW1tYXJ5PC9CPjwvRk9OVD48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7aW50PC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZS5odG1sI21fZnJhbWVTaXplIj5tX2ZyYW1lU2l6ZTwvQT48L0I+PC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtUaGUgc3RhY2sgZnJhbWUgc2l6ZSBmb3IgdGhpcyB0ZW1wbGF0ZSwgd2hpY2ggaXMgZXF1YWwgdG8gdGhlIG1heGltdW0gbnVtYmVyIAogb2YgcGFyYW1zIGFuZCB2YXJpYWJsZXMgdGhhdCBjYW4gYmUgZGVjbGFyZWQgaW4gdGhlIHRlbXBsYXRlIGF0IG9uZSB0aW1lLjwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCiZuYnNwOw0KPCEtLSA9PT09PT09PSBDT05TVFJVQ1RPUiBTVU1NQVJZID09PT09PT09IC0tPg0KDQo8QSBOQU1FPSJjb25zdHJ1Y3Rvcl9zdW1tYXJ5Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+DQo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4NCjxURCBDT0xTUEFOPTI+PEZPTlQgU0laRT0iKzIiPg0KPEI+Q29uc3RydWN0b3IgU3VtbWFyeTwvQj48L0ZPTlQ+PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGUuaHRtbCNFbGVtVGVtcGxhdGUoKSI+RWxlbVRlbXBsYXRlPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9URD4NCjwvVFI+DQo8L1RBQkxFPg0KJm5ic3A7DQo8IS0tID09PT09PT09PT0gTUVUSE9EIFNVTU1BUlkgPT09PT09PT09PT0gLS0+DQoNCjxBIE5BTUU9Im1ldGhvZF9zdW1tYXJ5Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+DQo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4NCjxURCBDT0xTUEFOPTI+PEZPTlQgU0laRT0iKzIiPg0KPEI+TWV0aG9kIFN1bW1hcnk8L0I+PC9GT05UPjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZS5odG1sI2NvbXBvc2Uob3JnLmFwYWNoZS54YWxhbi50ZW1wbGF0ZXMuU3R5bGVzaGVldFJvb3QpIj5jb21wb3NlPC9BPjwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvU3R5bGVzaGVldFJvb3QuaHRtbCI+U3R5bGVzaGVldFJvb3Q8L0E+Jm5ic3A7c3Jvb3QpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBhZnRlciBldmVyeXRoaW5nIGVsc2UgaGFzIGJlZW4KIHJlY29tcG9zZWQsIGFuZCBhbGxvd3MgdGhlIHRlbXBsYXRlIHRvIHNldCByZW1haW5pbmcKIHZhbHVlcyB0aGF0IG1heSBiZSBiYXNlZCBvbiBzb21lIG90aGVyIHByb3BlcnR5IHRoYXQKIGRlcGVuZHMgb24gcmVjb21wb3NpdGlvbi48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGUuaHRtbCNlbmRDb21wb3NlKG9yZy5hcGFjaGUueGFsYW4udGVtcGxhdGVzLlN0eWxlc2hlZXRSb290KSI+ZW5kQ29tcG9zZTwvQT48L0I+KDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL1N0eWxlc2hlZXRSb290Lmh0bWwiPlN0eWxlc2hlZXRSb290PC9BPiZuYnNwO3Nyb290KTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7VGhpcyBhZnRlciB0aGUgdGVtcGxhdGUncyBjaGlsZHJlbiBoYXZlIGJlZW4gY29tcG9zZWQuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlLmh0bWwjZXhlY3V0ZShvcmcuYXBhY2hlLnhhbGFuLnRyYW5zZm9ybWVyLlRyYW5zZm9ybWVySW1wbCkiPmV4ZWN1dGU8L0E+PC9CPig8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RyYW5zZm9ybWVyL1RyYW5zZm9ybWVySW1wbC5odG1sIj5UcmFuc2Zvcm1lckltcGw8L0E+Jm5ic3A7dHJhbnNmb3JtZXIpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtDb3B5IHRoZSB0ZW1wbGF0ZSBjb250ZW50cyBpbnRvIHRoZSByZXN1bHQgdHJlZS48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94cGF0aC9YUGF0aC5odG1sIj5YUGF0aDwvQT48L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlLmh0bWwjZ2V0TWF0Y2goKSI+Z2V0TWF0Y2g8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtHZXQgdGhlICJtYXRjaCIgYXR0cmlidXRlLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDs8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9RTmFtZS5odG1sIj5RTmFtZTwvQT48L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlLmh0bWwjZ2V0TW9kZSgpIj5nZXRNb2RlPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7R2V0IHRoZSAibW9kZSIgYXR0cmlidXRlLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDs8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9RTmFtZS5odG1sIj5RTmFtZTwvQT48L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlLmh0bWwjZ2V0TmFtZSgpIj5nZXROYW1lPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7R2V0IHRoZSAibmFtZSIgYXR0cmlidXRlLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDtqYXZhLmxhbmcuU3RyaW5nPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZS5odG1sI2dldE5vZGVOYW1lKCkiPmdldE5vZGVOYW1lPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UmV0dXJuIHRoZSBub2RlIG5hbWUuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO2RvdWJsZTwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGUuaHRtbCNnZXRQcmlvcml0eSgpIj5nZXRQcmlvcml0eTwvQT48L0I+KCk8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0dldCB0aGUgInByaW9yaXR5IiBhdHRyaWJ1dGUuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO2phdmEubGFuZy5TdHJpbmc8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlLmh0bWwjZ2V0UHVibGljSWQoKSI+Z2V0UHVibGljSWQ8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtSZXR1cm4gdGhlIHB1YmxpYyBpZGVudGlmaWVyIGZvciB0aGUgY3VycmVudCBkb2N1bWVudCBldmVudC48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvU3R5bGVzaGVldC5odG1sIj5TdHlsZXNoZWV0PC9BPjwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGUuaHRtbCNnZXRTdHlsZXNoZWV0KCkiPmdldFN0eWxlc2hlZXQ8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtHZXQgdGhlIG93bmluZyBzdHlsZXNoZWV0LjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDs8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9TdHlsZXNoZWV0Q29tcG9zZWQuaHRtbCI+U3R5bGVzaGVldENvbXBvc2VkPC9BPjwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGUuaHRtbCNnZXRTdHlsZXNoZWV0Q29tcG9zZWQoKSI+Z2V0U3R5bGVzaGVldENvbXBvc2VkPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7R2V0IHRoZSBzdHlsZXNoZWV0IGNvbXBvc2VkIChyZXNvbHZlcyBpbmNsdWRlcyBhbmQKIGltcG9ydHMgYW5kIGhhcyBtZXRob2RzIG9uIGl0IHRoYXQgcmV0dXJuICJjb21wb3NlZCIgcHJvcGVydGllcy48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvU3R5bGVzaGVldFJvb3QuaHRtbCI+U3R5bGVzaGVldFJvb3Q8L0E+PC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZS5odG1sI2dldFN0eWxlc2hlZXRSb290KCkiPmdldFN0eWxlc2hlZXRSb290PC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7R2V0IHRoZSByb290IHN0eWxlc2hlZXQuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO2phdmEubGFuZy5TdHJpbmc8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlLmh0bWwjZ2V0U3lzdGVtSWQoKSI+Z2V0U3lzdGVtSWQ8L0E+PC9CPigpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtSZXR1cm4gdGhlIHN5c3RlbSBpZGVudGlmaWVyIGZvciB0aGUgY3VycmVudCBkb2N1bWVudCBldmVudC48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7aW50PC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZS5odG1sI2dldFhTTFRva2VuKCkiPmdldFhTTFRva2VuPC9BPjwvQj4oKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7R2V0IGFuIGludCBjb25zdGFudCBpZGVudGlmeWluZyB0aGUgdHlwZSBvZiBlbGVtZW50LjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZS5odG1sI3JlY29tcG9zZShvcmcuYXBhY2hlLnhhbGFuLnRlbXBsYXRlcy5TdHlsZXNoZWV0Um9vdCkiPnJlY29tcG9zZTwvQT48L0I+KDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL1N0eWxlc2hlZXRSb290Lmh0bWwiPlN0eWxlc2hlZXRSb290PC9BPiZuYnNwO3Jvb3QpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBkdXJpbmcgcmVjb21wb3NpdGlvbiB0bwogY29udHJvbCBob3cgdGhpcyBlbGVtZW50IGlzIGNvbXBvc2VkLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZS5odG1sI3NldExvY2F0ZXJJbmZvKGphdmF4LnhtbC50cmFuc2Zvcm0uU291cmNlTG9jYXRvcikiPnNldExvY2F0ZXJJbmZvPC9BPjwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vamF2YXgveG1sL3RyYW5zZm9ybS9Tb3VyY2VMb2NhdG9yLmh0bWwiPlNvdXJjZUxvY2F0b3I8L0E+Jm5ic3A7bG9jYXRvcik8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1NldCB0aGUgbG9jYXRpb24gaW5mb3JtYXRpb24gZm9yIHRoaXMgZWxlbWVudC48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGUuaHRtbCNzZXRNYXRjaChvcmcuYXBhY2hlLnhwYXRoLlhQYXRoKSI+c2V0TWF0Y2g8L0E+PC9CPig8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL1hQYXRoLmh0bWwiPlhQYXRoPC9BPiZuYnNwO3YpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtTZXQgdGhlICJtYXRjaCIgYXR0cmlidXRlLjwvVEQ+DQo8L1RSPg0KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+DQo8Q09ERT4mbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPg0KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZS5odG1sI3NldE1vZGUob3JnLmFwYWNoZS54bWwudXRpbHMuUU5hbWUpIj5zZXRNb2RlPC9BPjwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvUU5hbWUuaHRtbCI+UU5hbWU8L0E+Jm5ic3A7dik8L0NPREU+DQoNCjxCUj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1NldCB0aGUgIm1vZGUiIGF0dHJpYnV0ZS48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGUuaHRtbCNzZXROYW1lKG9yZy5hcGFjaGUueG1sLnV0aWxzLlFOYW1lKSI+c2V0TmFtZTwvQT48L0I+KDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1FOYW1lLmh0bWwiPlFOYW1lPC9BPiZuYnNwO3YpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtTZXQgdGhlICJuYW1lIiBhdHRyaWJ1dGUuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO3ZvaWQ8L0NPREU+PC9GT05UPjwvVEQ+DQo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlLmh0bWwjc2V0UHJpb3JpdHkoZG91YmxlKSI+c2V0UHJpb3JpdHk8L0E+PC9CPihkb3VibGUmbmJzcDt2KTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7U2V0IHRoZSAicHJpb3JpdHkiIGF0dHJpYnV0ZS48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGUuaHRtbCNzZXRTdHlsZXNoZWV0KG9yZy5hcGFjaGUueGFsYW4udGVtcGxhdGVzLlN0eWxlc2hlZXQpIj5zZXRTdHlsZXNoZWV0PC9BPjwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvU3R5bGVzaGVldC5odG1sIj5TdHlsZXNoZWV0PC9BPiZuYnNwO3NoZWV0KTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7U2V0IHRoZSBvd25pbmcgc3R5bGVzaGVldC48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQombmJzcDs8QSBOQU1FPSJtZXRob2RzX2luaGVyaXRlZF9mcm9tX2NsYXNzX29yZy5hcGFjaGUueGFsYW4udGVtcGxhdGVzLkVsZW1UZW1wbGF0ZUVsZW1lbnQiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4NCjxUUiBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iVGFibGVTdWJIZWFkaW5nQ29sb3IiPg0KPFREPjxCPk1ldGhvZHMgaW5oZXJpdGVkIGZyb20gY2xhc3Mgb3JnLmFwYWNoZS54YWxhbi50ZW1wbGF0ZXMuPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sIj5FbGVtVGVtcGxhdGVFbGVtZW50PC9BPjwvQj48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREPjxDT0RFPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNhcHBlbmRDaGlsZChvcmcuYXBhY2hlLnhhbGFuLnRlbXBsYXRlcy5FbGVtVGVtcGxhdGVFbGVtZW50KSI+YXBwZW5kQ2hpbGQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNhcHBlbmRDaGlsZChvcmcudzNjLmRvbS5Ob2RlKSI+YXBwZW5kQ2hpbGQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNjYWxsVmlzaXRvcnMob3JnLmFwYWNoZS54YWxhbi50ZW1wbGF0ZXMuWFNMVFZpc2l0b3IpIj5jYWxsVmlzaXRvcnM8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNjYW5BY2NlcHRWYXJpYWJsZXMoKSI+Y2FuQWNjZXB0VmFyaWFibGVzPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjY2FuU3RyaXBXaGl0ZVNwYWNlKCkiPmNhblN0cmlwV2hpdGVTcGFjZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2NvbXBhcmVUbyhqYXZhLmxhbmcuT2JqZWN0KSI+Y29tcGFyZVRvPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjY29udGFpbnNFeGNsdWRlUmVzdWx0UHJlZml4KGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcpIj5jb250YWluc0V4Y2x1ZGVSZXN1bHRQcmVmaXg8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNlcnJvcihqYXZhLmxhbmcuU3RyaW5nKSI+ZXJyb3I8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNlcnJvcihqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuT2JqZWN0W10pIj5lcnJvcjwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2V4cHJBZGRDaGlsZChvcmcuYXBhY2hlLnhwYXRoLkV4cHJlc3Npb25Ob2RlLCBpbnQpIj5leHByQWRkQ2hpbGQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNleHByR2V0Q2hpbGQoaW50KSI+ZXhwckdldENoaWxkPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjZXhwckdldE51bUNoaWxkcmVuKCkiPmV4cHJHZXROdW1DaGlsZHJlbjwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2V4cHJHZXRQYXJlbnQoKSI+ZXhwckdldFBhcmVudDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2V4cHJTZXRQYXJlbnQob3JnLmFwYWNoZS54cGF0aC5FeHByZXNzaW9uTm9kZSkiPmV4cHJTZXRQYXJlbnQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNnZXRCYXNlSWRlbnRpZmllcigpIj5nZXRCYXNlSWRlbnRpZmllcjwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2dldENoaWxkTm9kZXMoKSI+Z2V0Q2hpbGROb2RlczwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2dldENvbHVtbk51bWJlcigpIj5nZXRDb2x1bW5OdW1iZXI8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNnZXREZWNsYXJlZFByZWZpeGVzKCkiPmdldERlY2xhcmVkUHJlZml4ZXM8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNnZXRET01CYWNrUG9pbnRlcigpIj5nZXRET01CYWNrUG9pbnRlcjwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2dldEVuZENvbHVtbk51bWJlcigpIj5nZXRFbmRDb2x1bW5OdW1iZXI8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNnZXRFbmRMaW5lTnVtYmVyKCkiPmdldEVuZExpbmVOdW1iZXI8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNnZXRGaXJzdENoaWxkKCkiPmdldEZpcnN0Q2hpbGQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNnZXRGaXJzdENoaWxkRWxlbSgpIj5nZXRGaXJzdENoaWxkRWxlbTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2dldExhc3RDaGlsZCgpIj5nZXRMYXN0Q2hpbGQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNnZXRMYXN0Q2hpbGRFbGVtKCkiPmdldExhc3RDaGlsZEVsZW08L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNnZXRMZW5ndGgoKSI+Z2V0TGVuZ3RoPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjZ2V0TGluZU51bWJlcigpIj5nZXRMaW5lTnVtYmVyPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjZ2V0TG9jYWxOYW1lKCkiPmdldExvY2FsTmFtZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2dldE5hbWVzcGFjZUZvclByZWZpeChqYXZhLmxhbmcuU3RyaW5nKSI+Z2V0TmFtZXNwYWNlRm9yUHJlZml4PC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjZ2V0TmFtZXNwYWNlRm9yUHJlZml4KGphdmEubGFuZy5TdHJpbmcsIG9yZy53M2MuZG9tLk5vZGUpIj5nZXROYW1lc3BhY2VGb3JQcmVmaXg8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNnZXROZXh0U2libGluZygpIj5nZXROZXh0U2libGluZzwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2dldE5leHRTaWJsaW5nRWxlbSgpIj5nZXROZXh0U2libGluZ0VsZW08L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNnZXROb2RlVHlwZSgpIj5nZXROb2RlVHlwZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2dldE93bmVyRG9jdW1lbnQoKSI+Z2V0T3duZXJEb2N1bWVudDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2dldE93bmVyWFNMVGVtcGxhdGUoKSI+Z2V0T3duZXJYU0xUZW1wbGF0ZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2dldFBhcmVudEVsZW0oKSI+Z2V0UGFyZW50RWxlbTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2dldFBhcmVudE5vZGUoKSI+Z2V0UGFyZW50Tm9kZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2dldFBhcmVudE5vZGVFbGVtKCkiPmdldFBhcmVudE5vZGVFbGVtPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjZ2V0UHJldmlvdXNTaWJsaW5nKCkiPmdldFByZXZpb3VzU2libGluZzwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2dldFByZXZpb3VzU2libGluZ0VsZW0oKSI+Z2V0UHJldmlvdXNTaWJsaW5nRWxlbTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2dldFRhZ05hbWUoKSI+Z2V0VGFnTmFtZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2dldFVpZCgpIj5nZXRVaWQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNnZXRYbWxTcGFjZSgpIj5nZXRYbWxTcGFjZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2hhbmRsZXNOdWxsUHJlZml4ZXMoKSI+aGFuZGxlc051bGxQcmVmaXhlczwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2hhc0NoaWxkTm9kZXMoKSI+aGFzQ2hpbGROb2RlczwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2hhc1RleHRMaXRPbmx5KCkiPmhhc1RleHRMaXRPbmx5PC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjaGFzVmFyaWFibGVEZWNsKCkiPmhhc1ZhcmlhYmxlRGVjbDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2luc2VydEJlZm9yZShvcmcudzNjLmRvbS5Ob2RlLCBvcmcudzNjLmRvbS5Ob2RlKSI+aW5zZXJ0QmVmb3JlPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjaXNDb21waWxlZFRlbXBsYXRlKCkiPmlzQ29tcGlsZWRUZW1wbGF0ZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2l0ZW0oaW50KSI+aXRlbTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI3JlbW92ZUNoaWxkKG9yZy5hcGFjaGUueGFsYW4udGVtcGxhdGVzLkVsZW1UZW1wbGF0ZUVsZW1lbnQpIj5yZW1vdmVDaGlsZDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI3JlcGxhY2VDaGlsZChvcmcuYXBhY2hlLnhhbGFuLnRlbXBsYXRlcy5FbGVtVGVtcGxhdGVFbGVtZW50LCBvcmcuYXBhY2hlLnhhbGFuLnRlbXBsYXRlcy5FbGVtVGVtcGxhdGVFbGVtZW50KSI+cmVwbGFjZUNoaWxkPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjcmVwbGFjZUNoaWxkKG9yZy53M2MuZG9tLk5vZGUsIG9yZy53M2MuZG9tLk5vZGUpIj5yZXBsYWNlQ2hpbGQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNyZXNvbHZlUHJlZml4VGFibGVzKCkiPnJlc29sdmVQcmVmaXhUYWJsZXM8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNydW50aW1lSW5pdChvcmcuYXBhY2hlLnhhbGFuLnRyYW5zZm9ybWVyLlRyYW5zZm9ybWVySW1wbCkiPnJ1bnRpbWVJbml0PC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjc2V0RE9NQmFja1BvaW50ZXIob3JnLnczYy5kb20uTm9kZSkiPnNldERPTUJhY2tQb2ludGVyPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjc2V0RW5kTG9jYXRlckluZm8oamF2YXgueG1sLnRyYW5zZm9ybS5Tb3VyY2VMb2NhdG9yKSI+c2V0RW5kTG9jYXRlckluZm88L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNzZXRQYXJlbnRFbGVtKG9yZy5hcGFjaGUueGFsYW4udGVtcGxhdGVzLkVsZW1UZW1wbGF0ZUVsZW1lbnQpIj5zZXRQYXJlbnRFbGVtPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjc2V0UHJlZml4ZXMob3JnLnhtbC5zYXguaGVscGVycy5OYW1lc3BhY2VTdXBwb3J0KSI+c2V0UHJlZml4ZXM8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNzZXRQcmVmaXhlcyhvcmcueG1sLnNheC5oZWxwZXJzLk5hbWVzcGFjZVN1cHBvcnQsIGJvb2xlYW4pIj5zZXRQcmVmaXhlczwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI3NldFVpZChpbnQpIj5zZXRVaWQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNzZXRYbWxTcGFjZShpbnQpIj5zZXRYbWxTcGFjZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI3Nob3VsZFN0cmlwV2hpdGVTcGFjZShvcmcuYXBhY2hlLnhwYXRoLlhQYXRoQ29udGV4dCwgb3JnLnczYy5kb20uRWxlbWVudCkiPnNob3VsZFN0cmlwV2hpdGVTcGFjZTwvQT48L0NPREU+PC9URD4NCjwvVFI+DQo8L1RBQkxFPg0KJm5ic3A7PEEgTkFNRT0ibWV0aG9kc19pbmhlcml0ZWRfZnJvbV9jbGFzc19vcmcuYXBhY2hlLnhtbC51dGlscy5VbkltcGxOb2RlIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+DQo8VFIgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9IlRhYmxlU3ViSGVhZGluZ0NvbG9yIj4NCjxURD48Qj5NZXRob2RzIGluaGVyaXRlZCBmcm9tIGNsYXNzIG9yZy5hcGFjaGUueG1sLnV0aWxzLjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCI+VW5JbXBsTm9kZTwvQT48L0I+PC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURD48Q09ERT48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjYWRvcHROb2RlKG9yZy53M2MuZG9tLk5vZGUpIj5hZG9wdE5vZGU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNhcHBlbmREYXRhKGphdmEubGFuZy5TdHJpbmcpIj5hcHBlbmREYXRhPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjY2xvbmVOb2RlKGJvb2xlYW4pIj5jbG9uZU5vZGU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNjb21wYXJlRG9jdW1lbnRQb3NpdGlvbihvcmcudzNjLmRvbS5Ob2RlKSI+Y29tcGFyZURvY3VtZW50UG9zaXRpb248L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNjcmVhdGVBdHRyaWJ1dGUoamF2YS5sYW5nLlN0cmluZykiPmNyZWF0ZUF0dHJpYnV0ZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2NyZWF0ZUF0dHJpYnV0ZU5TKGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcpIj5jcmVhdGVBdHRyaWJ1dGVOUzwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2NyZWF0ZUNEQVRBU2VjdGlvbihqYXZhLmxhbmcuU3RyaW5nKSI+Y3JlYXRlQ0RBVEFTZWN0aW9uPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjY3JlYXRlQ29tbWVudChqYXZhLmxhbmcuU3RyaW5nKSI+Y3JlYXRlQ29tbWVudDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2NyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSI+Y3JlYXRlRG9jdW1lbnRGcmFnbWVudDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2NyZWF0ZUVsZW1lbnQoamF2YS5sYW5nLlN0cmluZykiPmNyZWF0ZUVsZW1lbnQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNjcmVhdGVFbGVtZW50TlMoamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZykiPmNyZWF0ZUVsZW1lbnROUzwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2NyZWF0ZUVudGl0eVJlZmVyZW5jZShqYXZhLmxhbmcuU3RyaW5nKSI+Y3JlYXRlRW50aXR5UmVmZXJlbmNlPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjY3JlYXRlUHJvY2Vzc2luZ0luc3RydWN0aW9uKGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcpIj5jcmVhdGVQcm9jZXNzaW5nSW5zdHJ1Y3Rpb248L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNjcmVhdGVUZXh0Tm9kZShqYXZhLmxhbmcuU3RyaW5nKSI+Y3JlYXRlVGV4dE5vZGU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNkZWxldGVEYXRhKGludCwgaW50KSI+ZGVsZXRlRGF0YTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2dldEFjdHVhbEVuY29kaW5nKCkiPmdldEFjdHVhbEVuY29kaW5nPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjZ2V0QXR0cmlidXRlKGphdmEubGFuZy5TdHJpbmcpIj5nZXRBdHRyaWJ1dGU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNnZXRBdHRyaWJ1dGVOb2RlKGphdmEubGFuZy5TdHJpbmcpIj5nZXRBdHRyaWJ1dGVOb2RlPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjZ2V0QXR0cmlidXRlTm9kZU5TKGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcpIj5nZXRBdHRyaWJ1dGVOb2RlTlM8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNnZXRBdHRyaWJ1dGVOUyhqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nKSI+Z2V0QXR0cmlidXRlTlM8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNnZXRBdHRyaWJ1dGVzKCkiPmdldEF0dHJpYnV0ZXM8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNnZXRCYXNlVVJJKCkiPmdldEJhc2VVUkk8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNnZXREb2N0eXBlKCkiPmdldERvY3R5cGU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNnZXREb2N1bWVudEVsZW1lbnQoKSI+Z2V0RG9jdW1lbnRFbGVtZW50PC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjZ2V0RG9jdW1lbnRVUkkoKSI+Z2V0RG9jdW1lbnRVUkk8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNnZXREb21Db25maWcoKSI+Z2V0RG9tQ29uZmlnPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjZ2V0RWxlbWVudEJ5SWQoamF2YS5sYW5nLlN0cmluZykiPmdldEVsZW1lbnRCeUlkPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjZ2V0RWxlbWVudHNCeVRhZ05hbWUoamF2YS5sYW5nLlN0cmluZykiPmdldEVsZW1lbnRzQnlUYWdOYW1lPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nKSI+Z2V0RWxlbWVudHNCeVRhZ05hbWVOUzwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2dldEZlYXR1cmUoamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZykiPmdldEZlYXR1cmU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNnZXRJbXBsZW1lbnRhdGlvbigpIj5nZXRJbXBsZW1lbnRhdGlvbjwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2dldElucHV0RW5jb2RpbmcoKSI+Z2V0SW5wdXRFbmNvZGluZzwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2dldE5hbWVzcGFjZVVSSSgpIj5nZXROYW1lc3BhY2VVUkk8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNnZXROb2RlVmFsdWUoKSI+Z2V0Tm9kZVZhbHVlPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjZ2V0T3duZXJFbGVtZW50KCkiPmdldE93bmVyRWxlbWVudDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2dldFByZWZpeCgpIj5nZXRQcmVmaXg8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNnZXRTY2hlbWFUeXBlSW5mbygpIj5nZXRTY2hlbWFUeXBlSW5mbzwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2dldFNwZWNpZmllZCgpIj5nZXRTcGVjaWZpZWQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNnZXRTdHJpY3RFcnJvckNoZWNraW5nKCkiPmdldFN0cmljdEVycm9yQ2hlY2tpbmc8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNnZXRUZXh0Q29udGVudCgpIj5nZXRUZXh0Q29udGVudDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2dldFVzZXJEYXRhKGphdmEubGFuZy5TdHJpbmcpIj5nZXRVc2VyRGF0YTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2dldFdob2xlVGV4dCgpIj5nZXRXaG9sZVRleHQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNnZXRYbWxFbmNvZGluZygpIj5nZXRYbWxFbmNvZGluZzwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2dldFhtbFN0YW5kYWxvbmUoKSI+Z2V0WG1sU3RhbmRhbG9uZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2dldFhtbFZlcnNpb24oKSI+Z2V0WG1sVmVyc2lvbjwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2hhc0F0dHJpYnV0ZShqYXZhLmxhbmcuU3RyaW5nKSI+aGFzQXR0cmlidXRlPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjaGFzQXR0cmlidXRlTlMoamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZykiPmhhc0F0dHJpYnV0ZU5TPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjaGFzQXR0cmlidXRlcygpIj5oYXNBdHRyaWJ1dGVzPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjaW1wb3J0Tm9kZShvcmcudzNjLmRvbS5Ob2RlLCBib29sZWFuKSI+aW1wb3J0Tm9kZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2luc2VydERhdGEoaW50LCBqYXZhLmxhbmcuU3RyaW5nKSI+aW5zZXJ0RGF0YTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2lzRGVmYXVsdE5hbWVzcGFjZShqYXZhLmxhbmcuU3RyaW5nKSI+aXNEZWZhdWx0TmFtZXNwYWNlPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjaXNFcXVhbE5vZGUob3JnLnczYy5kb20uTm9kZSkiPmlzRXF1YWxOb2RlPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjaXNJZCgpIj5pc0lkPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjaXNTYW1lTm9kZShvcmcudzNjLmRvbS5Ob2RlKSI+aXNTYW1lTm9kZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2lzU3VwcG9ydGVkKGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcpIj5pc1N1cHBvcnRlZDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2lzV2hpdGVzcGFjZUluRWxlbWVudENvbnRlbnQoKSI+aXNXaGl0ZXNwYWNlSW5FbGVtZW50Q29udGVudDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI2xvb2t1cE5hbWVzcGFjZVVSSShqYXZhLmxhbmcuU3RyaW5nKSI+bG9va3VwTmFtZXNwYWNlVVJJPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjbG9va3VwUHJlZml4KGphdmEubGFuZy5TdHJpbmcpIj5sb29rdXBQcmVmaXg8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNub3JtYWxpemUoKSI+bm9ybWFsaXplPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjbm9ybWFsaXplRG9jdW1lbnQoKSI+bm9ybWFsaXplRG9jdW1lbnQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNyZW1vdmVBdHRyaWJ1dGUoamF2YS5sYW5nLlN0cmluZykiPnJlbW92ZUF0dHJpYnV0ZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI3JlbW92ZUF0dHJpYnV0ZU5vZGUob3JnLnczYy5kb20uQXR0cikiPnJlbW92ZUF0dHJpYnV0ZU5vZGU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNyZW1vdmVBdHRyaWJ1dGVOUyhqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuU3RyaW5nKSI+cmVtb3ZlQXR0cmlidXRlTlM8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNyZW1vdmVDaGlsZChvcmcudzNjLmRvbS5Ob2RlKSI+cmVtb3ZlQ2hpbGQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNyZW5hbWVOb2RlKG9yZy53M2MuZG9tLk5vZGUsIGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcpIj5yZW5hbWVOb2RlPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjcmVwbGFjZURhdGEoaW50LCBpbnQsIGphdmEubGFuZy5TdHJpbmcpIj5yZXBsYWNlRGF0YTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI3JlcGxhY2VXaG9sZVRleHQoamF2YS5sYW5nLlN0cmluZykiPnJlcGxhY2VXaG9sZVRleHQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNzZXRBY3R1YWxFbmNvZGluZyhqYXZhLmxhbmcuU3RyaW5nKSI+c2V0QWN0dWFsRW5jb2Rpbmc8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNzZXRBdHRyaWJ1dGUoamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZykiPnNldEF0dHJpYnV0ZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI3NldEF0dHJpYnV0ZU5vZGUob3JnLnczYy5kb20uQXR0cikiPnNldEF0dHJpYnV0ZU5vZGU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNzZXRBdHRyaWJ1dGVOb2RlTlMob3JnLnczYy5kb20uQXR0cikiPnNldEF0dHJpYnV0ZU5vZGVOUzwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI3NldEF0dHJpYnV0ZU5TKGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5TdHJpbmcpIj5zZXRBdHRyaWJ1dGVOUzwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI3NldERhdGEoamF2YS5sYW5nLlN0cmluZykiPnNldERhdGE8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNzZXREb2N1bWVudFVSSShqYXZhLmxhbmcuU3RyaW5nKSI+c2V0RG9jdW1lbnRVUkk8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNzZXRJZEF0dHJpYnV0ZShib29sZWFuKSI+c2V0SWRBdHRyaWJ1dGU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNzZXRJZEF0dHJpYnV0ZShqYXZhLmxhbmcuU3RyaW5nLCBib29sZWFuKSI+c2V0SWRBdHRyaWJ1dGU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNzZXRJZEF0dHJpYnV0ZU5vZGUob3JnLnczYy5kb20uQXR0ciwgYm9vbGVhbikiPnNldElkQXR0cmlidXRlTm9kZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI3NldElkQXR0cmlidXRlTlMoamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLlN0cmluZywgYm9vbGVhbikiPnNldElkQXR0cmlidXRlTlM8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNzZXRJbnB1dEVuY29kaW5nKGphdmEubGFuZy5TdHJpbmcpIj5zZXRJbnB1dEVuY29kaW5nPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjc2V0Tm9kZVZhbHVlKGphdmEubGFuZy5TdHJpbmcpIj5zZXROb2RlVmFsdWU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNzZXRQcmVmaXgoamF2YS5sYW5nLlN0cmluZykiPnNldFByZWZpeDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI3NldFN0cmljdEVycm9yQ2hlY2tpbmcoYm9vbGVhbikiPnNldFN0cmljdEVycm9yQ2hlY2tpbmc8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNzZXRUZXh0Q29udGVudChqYXZhLmxhbmcuU3RyaW5nKSI+c2V0VGV4dENvbnRlbnQ8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNzZXRVc2VyRGF0YShqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuT2JqZWN0LCBvcmcudzNjLmRvbS5Vc2VyRGF0YUhhbmRsZXIpIj5zZXRVc2VyRGF0YTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI3NldFZhbHVlKGphdmEubGFuZy5TdHJpbmcpIj5zZXRWYWx1ZTwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI3NldFhtbEVuY29kaW5nKGphdmEubGFuZy5TdHJpbmcpIj5zZXRYbWxFbmNvZGluZzwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI3NldFhtbFN0YW5kYWxvbmUoYm9vbGVhbikiPnNldFhtbFN0YW5kYWxvbmU8L0E+LCANCjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1VuSW1wbE5vZGUuaHRtbCNzZXRYbWxWZXJzaW9uKGphdmEubGFuZy5TdHJpbmcpIj5zZXRYbWxWZXJzaW9uPC9BPiwgDQo8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3htbC91dGlscy9VbkltcGxOb2RlLmh0bWwjc3BsaXRUZXh0KGludCkiPnNwbGl0VGV4dDwvQT4sIA0KPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvVW5JbXBsTm9kZS5odG1sI3N1YnN0cmluZ0RhdGEoaW50LCBpbnQpIj5zdWJzdHJpbmdEYXRhPC9BPjwvQ09ERT48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQombmJzcDs8QSBOQU1FPSJtZXRob2RzX2luaGVyaXRlZF9mcm9tX2NsYXNzX2phdmEubGFuZy5PYmplY3QiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4NCjxUUiBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iVGFibGVTdWJIZWFkaW5nQ29sb3IiPg0KPFREPjxCPk1ldGhvZHMgaW5oZXJpdGVkIGZyb20gY2xhc3MgamF2YS5sYW5nLk9iamVjdDwvQj48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREPjxDT0RFPmVxdWFscywgDQpnZXRDbGFzcywgDQpoYXNoQ29kZSwgDQpub3RpZnksIA0Kbm90aWZ5QWxsLCANCnRvU3RyaW5nLCANCndhaXQsIA0Kd2FpdCwgDQp3YWl0PC9DT0RFPjwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCiZuYnNwOw0KPFA+DQoNCjwhLS0gPT09PT09PT09PT09IEZJRUxEIERFVEFJTCA9PT09PT09PT09PSAtLT4NCg0KPEEgTkFNRT0iZmllbGRfZGV0YWlsIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+DQo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4NCjxURCBDT0xTUEFOPTE+PEZPTlQgU0laRT0iKzIiPg0KPEI+RmllbGQgRGV0YWlsPC9CPjwvRk9OVD48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQoNCjxBIE5BTUU9Im1fZnJhbWVTaXplIj48IS0tIC0tPjwvQT48SDM+DQptX2ZyYW1lU2l6ZTwvSDM+DQo8UFJFPg0KcHVibGljIGludCA8Qj5tX2ZyYW1lU2l6ZTwvQj48L1BSRT4NCjxETD4NCjxERD5UaGUgc3RhY2sgZnJhbWUgc2l6ZSBmb3IgdGhpcyB0ZW1wbGF0ZSwgd2hpY2ggaXMgZXF1YWwgdG8gdGhlIG1heGltdW0gbnVtYmVyIAogb2YgcGFyYW1zIGFuZCB2YXJpYWJsZXMgdGhhdCBjYW4gYmUgZGVjbGFyZWQgaW4gdGhlIHRlbXBsYXRlIGF0IG9uZSB0aW1lLjwvREw+DQoNCjwhLS0gPT09PT09PT09IENPTlNUUlVDVE9SIERFVEFJTCA9PT09PT09PSAtLT4NCg0KPEEgTkFNRT0iY29uc3RydWN0b3JfZGV0YWlsIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+DQo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4NCjxURCBDT0xTUEFOPTE+PEZPTlQgU0laRT0iKzIiPg0KPEI+Q29uc3RydWN0b3IgRGV0YWlsPC9CPjwvRk9OVD48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQoNCjxBIE5BTUU9IkVsZW1UZW1wbGF0ZSgpIj48IS0tIC0tPjwvQT48SDM+DQpFbGVtVGVtcGxhdGU8L0gzPg0KPFBSRT4NCnB1YmxpYyA8Qj5FbGVtVGVtcGxhdGU8L0I+KCk8L1BSRT4NCjxETD4NCjwvREw+DQoNCjwhLS0gPT09PT09PT09PT09IE1FVEhPRCBERVRBSUwgPT09PT09PT09PSAtLT4NCg0KPEEgTkFNRT0ibWV0aG9kX2RldGFpbCI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPg0KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+DQo8VEQgQ09MU1BBTj0xPjxGT05UIFNJWkU9IisyIj4NCjxCPk1ldGhvZCBEZXRhaWw8L0I+PC9GT05UPjwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCg0KPEEgTkFNRT0iZ2V0UHVibGljSWQoKSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0UHVibGljSWQ8L0gzPg0KPFBSRT4NCnB1YmxpYyBqYXZhLmxhbmcuU3RyaW5nIDxCPmdldFB1YmxpY0lkPC9CPigpPC9QUkU+DQo8REw+DQo8REQ+UmV0dXJuIHRoZSBwdWJsaWMgaWRlbnRpZmllciBmb3IgdGhlIGN1cnJlbnQgZG9jdW1lbnQgZXZlbnQuCiA8cD5UaGlzIHdpbGwgYmUgdGhlIHB1YmxpYyBpZGVudGlmaWVyPEREPjxETD4NCjxEVD48Qj5SZXR1cm5zOjwvQj48REQ+QSBzdHJpbmcgY29udGFpbmluZyB0aGUgcHVibGljIGlkZW50aWZpZXIsIG9yCiAgICAgICAgIG51bGwgaWYgbm9uZSBpcyBhdmFpbGFibGUuPERUPjxCPk92ZXJyaWRlczo8L0I+PEREPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNnZXRQdWJsaWNJZCgpIj5nZXRQdWJsaWNJZDwvQT4gaW4gY2xhc3MgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sIj5FbGVtVGVtcGxhdGVFbGVtZW50PC9BPjxEVD48Qj5TZWUgQWxzbzogPC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGUuaHRtbCNnZXRTeXN0ZW1JZCgpIj48Q09ERT5nZXRTeXN0ZW1JZCgpPC9DT0RFPjwvQT48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldFN5c3RlbUlkKCkiPjwhLS0gLS0+PC9BPjxIMz4NCmdldFN5c3RlbUlkPC9IMz4NCjxQUkU+DQpwdWJsaWMgamF2YS5sYW5nLlN0cmluZyA8Qj5nZXRTeXN0ZW1JZDwvQj4oKTwvUFJFPg0KPERMPg0KPEREPlJldHVybiB0aGUgc3lzdGVtIGlkZW50aWZpZXIgZm9yIHRoZSBjdXJyZW50IGRvY3VtZW50IGV2ZW50LgoKIDxwPklmIHRoZSBzeXN0ZW0gaWRlbnRpZmllciBpcyBhIFVSTCwgdGhlIHBhcnNlciBtdXN0IHJlc29sdmUgaXQKIGZ1bGx5IGJlZm9yZSBwYXNzaW5nIGl0IHRvIHRoZSBhcHBsaWNhdGlvbi48L3A+PEREPjxETD4NCjxEVD48Qj5SZXR1cm5zOjwvQj48REQ+QSBzdHJpbmcgY29udGFpbmluZyB0aGUgc3lzdGVtIGlkZW50aWZpZXIsIG9yIG51bGwKICAgICAgICAgaWYgbm9uZSBpcyBhdmFpbGFibGUuPERUPjxCPk92ZXJyaWRlczo8L0I+PEREPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNnZXRTeXN0ZW1JZCgpIj5nZXRTeXN0ZW1JZDwvQT4gaW4gY2xhc3MgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sIj5FbGVtVGVtcGxhdGVFbGVtZW50PC9BPjxEVD48Qj5TZWUgQWxzbzogPC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGUuaHRtbCNnZXRQdWJsaWNJZCgpIj48Q09ERT5nZXRQdWJsaWNJZCgpPC9DT0RFPjwvQT48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9InNldExvY2F0ZXJJbmZvKGphdmF4LnhtbC50cmFuc2Zvcm0uU291cmNlTG9jYXRvcikiPjwhLS0gLS0+PC9BPjxIMz4NCnNldExvY2F0ZXJJbmZvPC9IMz4NCjxQUkU+DQpwdWJsaWMgdm9pZCA8Qj5zZXRMb2NhdGVySW5mbzwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vamF2YXgveG1sL3RyYW5zZm9ybS9Tb3VyY2VMb2NhdG9yLmh0bWwiPlNvdXJjZUxvY2F0b3I8L0E+Jm5ic3A7bG9jYXRvcik8L1BSRT4NCjxETD4NCjxERD5TZXQgdGhlIGxvY2F0aW9uIGluZm9ybWF0aW9uIGZvciB0aGlzIGVsZW1lbnQuPEREPjxETD4NCjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+bG9jYXRvcjwvQ09ERT4gLSBTb3VyY2VMb2NhdG9yIGhvbGRpbmcgbG9jYXRpb24gaW5mb3JtYXRpb248RFQ+PEI+T3ZlcnJpZGVzOjwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI3NldExvY2F0ZXJJbmZvKGphdmF4LnhtbC50cmFuc2Zvcm0uU291cmNlTG9jYXRvcikiPnNldExvY2F0ZXJJbmZvPC9BPiBpbiBjbGFzcyA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwiPkVsZW1UZW1wbGF0ZUVsZW1lbnQ8L0E+PC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJnZXRTdHlsZXNoZWV0Q29tcG9zZWQoKSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0U3R5bGVzaGVldENvbXBvc2VkPC9IMz4NCjxQUkU+DQpwdWJsaWMgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvU3R5bGVzaGVldENvbXBvc2VkLmh0bWwiPlN0eWxlc2hlZXRDb21wb3NlZDwvQT4gPEI+Z2V0U3R5bGVzaGVldENvbXBvc2VkPC9CPigpPC9QUkU+DQo8REw+DQo8REQ+R2V0IHRoZSBzdHlsZXNoZWV0IGNvbXBvc2VkIChyZXNvbHZlcyBpbmNsdWRlcyBhbmQKIGltcG9ydHMgYW5kIGhhcyBtZXRob2RzIG9uIGl0IHRoYXQgcmV0dXJuICJjb21wb3NlZCIgcHJvcGVydGllcy48REQ+PERMPg0KPERUPjxCPlJldHVybnM6PC9CPjxERD5UaGUgc3R5bGVzaGVldCBjb21wb3NlZC48RFQ+PEI+T3ZlcnJpZGVzOjwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2dldFN0eWxlc2hlZXRDb21wb3NlZCgpIj5nZXRTdHlsZXNoZWV0Q29tcG9zZWQ8L0E+IGluIGNsYXNzIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCI+RWxlbVRlbXBsYXRlRWxlbWVudDwvQT48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldFN0eWxlc2hlZXQoKSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0U3R5bGVzaGVldDwvSDM+DQo8UFJFPg0KcHVibGljIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL1N0eWxlc2hlZXQuaHRtbCI+U3R5bGVzaGVldDwvQT4gPEI+Z2V0U3R5bGVzaGVldDwvQj4oKTwvUFJFPg0KPERMPg0KPEREPkdldCB0aGUgb3duaW5nIHN0eWxlc2hlZXQuPEREPjxETD4NCjxEVD48Qj5SZXR1cm5zOjwvQj48REQ+VGhlIG93bmluZyBzdHlsZXNoZWV0LjxEVD48Qj5PdmVycmlkZXM6PC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjZ2V0U3R5bGVzaGVldCgpIj5nZXRTdHlsZXNoZWV0PC9BPiBpbiBjbGFzcyA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwiPkVsZW1UZW1wbGF0ZUVsZW1lbnQ8L0E+PC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJzZXRTdHlsZXNoZWV0KG9yZy5hcGFjaGUueGFsYW4udGVtcGxhdGVzLlN0eWxlc2hlZXQpIj48IS0tIC0tPjwvQT48SDM+DQpzZXRTdHlsZXNoZWV0PC9IMz4NCjxQUkU+DQpwdWJsaWMgdm9pZCA8Qj5zZXRTdHlsZXNoZWV0PC9CPig8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9TdHlsZXNoZWV0Lmh0bWwiPlN0eWxlc2hlZXQ8L0E+Jm5ic3A7c2hlZXQpPC9QUkU+DQo8REw+DQo8REQ+U2V0IHRoZSBvd25pbmcgc3R5bGVzaGVldC48REQ+PERMPg0KPERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT5zaGVldDwvQ09ERT4gLSBUaGUgb3duaW5nIHN0eWxlc2hlZXQgZm9yIHRoaXMgZWxlbWVudDwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iZ2V0U3R5bGVzaGVldFJvb3QoKSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0U3R5bGVzaGVldFJvb3Q8L0gzPg0KPFBSRT4NCnB1YmxpYyA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9TdHlsZXNoZWV0Um9vdC5odG1sIj5TdHlsZXNoZWV0Um9vdDwvQT4gPEI+Z2V0U3R5bGVzaGVldFJvb3Q8L0I+KCk8L1BSRT4NCjxETD4NCjxERD5HZXQgdGhlIHJvb3Qgc3R5bGVzaGVldC48REQ+PERMPg0KPERUPjxCPlJldHVybnM6PC9CPjxERD5UaGUgcm9vdCBzdHlsZXNoZWV0IGZvciB0aGlzIGVsZW1lbnQ8RFQ+PEI+T3ZlcnJpZGVzOjwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2dldFN0eWxlc2hlZXRSb290KCkiPmdldFN0eWxlc2hlZXRSb290PC9BPiBpbiBjbGFzcyA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwiPkVsZW1UZW1wbGF0ZUVsZW1lbnQ8L0E+PC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJzZXRNYXRjaChvcmcuYXBhY2hlLnhwYXRoLlhQYXRoKSI+PCEtLSAtLT48L0E+PEgzPg0Kc2V0TWF0Y2g8L0gzPg0KPFBSRT4NCnB1YmxpYyB2b2lkIDxCPnNldE1hdGNoPC9CPig8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL1hQYXRoLmh0bWwiPlhQYXRoPC9BPiZuYnNwO3YpPC9QUkU+DQo8REw+DQo8REQ+U2V0IHRoZSAibWF0Y2giIGF0dHJpYnV0ZS4KIFRoZSBtYXRjaCBhdHRyaWJ1dGUgaXMgYSBQYXR0ZXJuIHRoYXQgaWRlbnRpZmllcyB0aGUgc291cmNlCiBub2RlIG9yIG5vZGVzIHRvIHdoaWNoIHRoZSBydWxlIGFwcGxpZXMuIFRoZSBtYXRjaCBhdHRyaWJ1dGUKIGlzIHJlcXVpcmVkIHVubGVzcyB0aGUgeHNsOnRlbXBsYXRlIGVsZW1lbnQgaGFzIGEgbmFtZQogYXR0cmlidXRlIChzZWUgWzYgTmFtZWQgVGVtcGxhdGVzXSkuIEl0IGlzIGFuIGVycm9yIGZvciB0aGUKIHZhbHVlIG9mIHRoZSBtYXRjaCBhdHRyaWJ1dGUgdG8gY29udGFpbiBhIFZhcmlhYmxlUmVmZXJlbmNlLjxERD48REw+DQo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPnY8L0NPREU+IC0gVmFsdWUgdG8gc2V0IGZvciB0aGUgIm1hdGNoIiBhdHRyaWJ1dGU8RFQ+PEI+U2VlIEFsc286IDwvQj48REQ+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIveHNsdCNwYXR0ZXJucyI+cGF0dGVybnMgaW4gWFNMVCBTcGVjaWZpY2F0aW9uPC9hPjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iZ2V0TWF0Y2goKSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0TWF0Y2g8L0gzPg0KPFBSRT4NCnB1YmxpYyA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hwYXRoL1hQYXRoLmh0bWwiPlhQYXRoPC9BPiA8Qj5nZXRNYXRjaDwvQj4oKTwvUFJFPg0KPERMPg0KPEREPkdldCB0aGUgIm1hdGNoIiBhdHRyaWJ1dGUuCiBUaGUgbWF0Y2ggYXR0cmlidXRlIGlzIGEgUGF0dGVybiB0aGF0IGlkZW50aWZpZXMgdGhlIHNvdXJjZQogbm9kZSBvciBub2RlcyB0byB3aGljaCB0aGUgcnVsZSBhcHBsaWVzLiBUaGUgbWF0Y2ggYXR0cmlidXRlCiBpcyByZXF1aXJlZCB1bmxlc3MgdGhlIHhzbDp0ZW1wbGF0ZSBlbGVtZW50IGhhcyBhIG5hbWUKIGF0dHJpYnV0ZSAoc2VlIFs2IE5hbWVkIFRlbXBsYXRlc10pLiBJdCBpcyBhbiBlcnJvciBmb3IgdGhlCiB2YWx1ZSBvZiB0aGUgbWF0Y2ggYXR0cmlidXRlIHRvIGNvbnRhaW4gYSBWYXJpYWJsZVJlZmVyZW5jZS48REQ+PERMPg0KPERUPjxCPlJldHVybnM6PC9CPjxERD5WYWx1ZSBvZiB0aGUgIm1hdGNoIiBhdHRyaWJ1dGU8RFQ+PEI+U2VlIEFsc286IDwvQj48REQ+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIveHNsdCNwYXR0ZXJucyI+cGF0dGVybnMgaW4gWFNMVCBTcGVjaWZpY2F0aW9uPC9hPjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0ic2V0TmFtZShvcmcuYXBhY2hlLnhtbC51dGlscy5RTmFtZSkiPjwhLS0gLS0+PC9BPjxIMz4NCnNldE5hbWU8L0gzPg0KPFBSRT4NCnB1YmxpYyB2b2lkIDxCPnNldE5hbWU8L0I+KDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveG1sL3V0aWxzL1FOYW1lLmh0bWwiPlFOYW1lPC9BPiZuYnNwO3YpPC9QUkU+DQo8REw+DQo8REQ+U2V0IHRoZSAibmFtZSIgYXR0cmlidXRlLgogQW4geHNsOnRlbXBsYXRlIGVsZW1lbnQgd2l0aCBhIG5hbWUgYXR0cmlidXRlIHNwZWNpZmllcyBhIG5hbWVkIHRlbXBsYXRlLgogSWYgYW4geHNsOnRlbXBsYXRlIGVsZW1lbnQgaGFzIGEgbmFtZSBhdHRyaWJ1dGUsIGl0IG1heSwgYnV0IG5lZWQgbm90LAogYWxzbyBoYXZlIGEgbWF0Y2ggYXR0cmlidXRlLjxERD48REw+DQo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPnY8L0NPREU+IC0gVmFsdWUgdG8gc2V0IHRoZSAibmFtZSIgYXR0cmlidXRlPERUPjxCPlNlZSBBbHNvOiA8L0I+PEREPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hzbHQjbmFtZWQtdGVtcGxhdGVzIj5uYW1lZC10ZW1wbGF0ZXMgaW4gWFNMVCBTcGVjaWZpY2F0aW9uPC9hPjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iZ2V0TmFtZSgpIj48IS0tIC0tPjwvQT48SDM+DQpnZXROYW1lPC9IMz4NCjxQUkU+DQpwdWJsaWMgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvUU5hbWUuaHRtbCI+UU5hbWU8L0E+IDxCPmdldE5hbWU8L0I+KCk8L1BSRT4NCjxETD4NCjxERD5HZXQgdGhlICJuYW1lIiBhdHRyaWJ1dGUuCiBBbiB4c2w6dGVtcGxhdGUgZWxlbWVudCB3aXRoIGEgbmFtZSBhdHRyaWJ1dGUgc3BlY2lmaWVzIGEgbmFtZWQgdGVtcGxhdGUuCiBJZiBhbiB4c2w6dGVtcGxhdGUgZWxlbWVudCBoYXMgYSBuYW1lIGF0dHJpYnV0ZSwgaXQgbWF5LCBidXQgbmVlZCBub3QsCiBhbHNvIGhhdmUgYSBtYXRjaCBhdHRyaWJ1dGUuPEREPjxETD4NCjxEVD48Qj5SZXR1cm5zOjwvQj48REQ+VmFsdWUgb2YgdGhlICJuYW1lIiBhdHRyaWJ1dGU8RFQ+PEI+U2VlIEFsc286IDwvQj48REQ+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIveHNsdCNuYW1lZC10ZW1wbGF0ZXMiPm5hbWVkLXRlbXBsYXRlcyBpbiBYU0xUIFNwZWNpZmljYXRpb248L2E+PC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJzZXRNb2RlKG9yZy5hcGFjaGUueG1sLnV0aWxzLlFOYW1lKSI+PCEtLSAtLT48L0E+PEgzPg0Kc2V0TW9kZTwvSDM+DQo8UFJFPg0KcHVibGljIHZvaWQgPEI+c2V0TW9kZTwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvUU5hbWUuaHRtbCI+UU5hbWU8L0E+Jm5ic3A7dik8L1BSRT4NCjxETD4NCjxERD5TZXQgdGhlICJtb2RlIiBhdHRyaWJ1dGUuCiBNb2RlcyBhbGxvdyBhbiBlbGVtZW50IHRvIGJlIHByb2Nlc3NlZCBtdWx0aXBsZSB0aW1lcywKIGVhY2ggdGltZSBwcm9kdWNpbmcgYSBkaWZmZXJlbnQgcmVzdWx0LiAgSWYgeHNsOnRlbXBsYXRlCiBkb2VzIG5vdCBoYXZlIGEgbWF0Y2ggYXR0cmlidXRlLCBpdCBtdXN0IG5vdCBoYXZlIGEgbW9kZSBhdHRyaWJ1dGUuPEREPjxETD4NCjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+djwvQ09ERT4gLSBWYWx1ZSB0byBzZXQgdGhlICJtb2RlIiBhdHRyaWJ1dGU8RFQ+PEI+U2VlIEFsc286IDwvQj48REQ+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIveHNsdCNtb2RlcyI+bW9kZXMgaW4gWFNMVCBTcGVjaWZpY2F0aW9uPC9hPjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iZ2V0TW9kZSgpIj48IS0tIC0tPjwvQT48SDM+DQpnZXRNb2RlPC9IMz4NCjxQUkU+DQpwdWJsaWMgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94bWwvdXRpbHMvUU5hbWUuaHRtbCI+UU5hbWU8L0E+IDxCPmdldE1vZGU8L0I+KCk8L1BSRT4NCjxETD4NCjxERD5HZXQgdGhlICJtb2RlIiBhdHRyaWJ1dGUuCiBNb2RlcyBhbGxvdyBhbiBlbGVtZW50IHRvIGJlIHByb2Nlc3NlZCBtdWx0aXBsZSB0aW1lcywKIGVhY2ggdGltZSBwcm9kdWNpbmcgYSBkaWZmZXJlbnQgcmVzdWx0LiAgSWYgeHNsOnRlbXBsYXRlCiBkb2VzIG5vdCBoYXZlIGEgbWF0Y2ggYXR0cmlidXRlLCBpdCBtdXN0IG5vdCBoYXZlIGEgbW9kZSBhdHRyaWJ1dGUuPEREPjxETD4NCjxEVD48Qj5SZXR1cm5zOjwvQj48REQ+VmFsdWUgb2YgdGhlICJtb2RlIiBhdHRyaWJ1dGU8RFQ+PEI+U2VlIEFsc286IDwvQj48REQ+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIveHNsdCNtb2RlcyI+bW9kZXMgaW4gWFNMVCBTcGVjaWZpY2F0aW9uPC9hPjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0ic2V0UHJpb3JpdHkoZG91YmxlKSI+PCEtLSAtLT48L0E+PEgzPg0Kc2V0UHJpb3JpdHk8L0gzPg0KPFBSRT4NCnB1YmxpYyB2b2lkIDxCPnNldFByaW9yaXR5PC9CPihkb3VibGUmbmJzcDt2KTwvUFJFPg0KPERMPg0KPEREPlNldCB0aGUgInByaW9yaXR5IiBhdHRyaWJ1dGUuCiBUaGUgcHJpb3JpdHkgb2YgYSB0ZW1wbGF0ZSBydWxlIGlzIHNwZWNpZmllZCBieSB0aGUgcHJpb3JpdHkKIGF0dHJpYnV0ZSBvbiB0aGUgdGVtcGxhdGUgcnVsZS4gVGhlIHZhbHVlIG9mIHRoaXMgbXVzdCBiZSBhCiByZWFsIG51bWJlciAocG9zaXRpdmUgb3IgbmVnYXRpdmUpLCBtYXRjaGluZyB0aGUgcHJvZHVjdGlvbgogTnVtYmVyIHdpdGggYW4gb3B0aW9uYWwgbGVhZGluZyBtaW51cyBzaWduICgtKS48REQ+PERMPg0KPERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT52PC9DT0RFPiAtIFRoZSB2YWx1ZSB0byBzZXQgZm9yIHRoZSAicHJpb3JpdHkiIGF0dHJpYnV0ZTxEVD48Qj5TZWUgQWxzbzogPC9CPjxERD48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi94c2x0I2NvbmZsaWN0Ij5jb25mbGljdCBpbiBYU0xUIFNwZWNpZmljYXRpb248L2E+PC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJnZXRQcmlvcml0eSgpIj48IS0tIC0tPjwvQT48SDM+DQpnZXRQcmlvcml0eTwvSDM+DQo8UFJFPg0KcHVibGljIGRvdWJsZSA8Qj5nZXRQcmlvcml0eTwvQj4oKTwvUFJFPg0KPERMPg0KPEREPkdldCB0aGUgInByaW9yaXR5IiBhdHRyaWJ1dGUuCiBUaGUgcHJpb3JpdHkgb2YgYSB0ZW1wbGF0ZSBydWxlIGlzIHNwZWNpZmllZCBieSB0aGUgcHJpb3JpdHkKIGF0dHJpYnV0ZSBvbiB0aGUgdGVtcGxhdGUgcnVsZS4gVGhlIHZhbHVlIG9mIHRoaXMgbXVzdCBiZSBhCiByZWFsIG51bWJlciAocG9zaXRpdmUgb3IgbmVnYXRpdmUpLCBtYXRjaGluZyB0aGUgcHJvZHVjdGlvbgogTnVtYmVyIHdpdGggYW4gb3B0aW9uYWwgbGVhZGluZyBtaW51cyBzaWduICgtKS48REQ+PERMPg0KPERUPjxCPlJldHVybnM6PC9CPjxERD5UaGUgdmFsdWUgb2YgdGhlICJwcmlvcml0eSIgYXR0cmlidXRlPERUPjxCPlNlZSBBbHNvOiA8L0I+PEREPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hzbHQjY29uZmxpY3QiPmNvbmZsaWN0IGluIFhTTFQgU3BlY2lmaWNhdGlvbjwvYT48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldFhTTFRva2VuKCkiPjwhLS0gLS0+PC9BPjxIMz4NCmdldFhTTFRva2VuPC9IMz4NCjxQUkU+DQpwdWJsaWMgaW50IDxCPmdldFhTTFRva2VuPC9CPigpPC9QUkU+DQo8REw+DQo8REQ+R2V0IGFuIGludCBjb25zdGFudCBpZGVudGlmeWluZyB0aGUgdHlwZSBvZiBlbGVtZW50LjxERD48REw+DQo8RFQ+PEI+UmV0dXJuczo8L0I+PEREPlRoZSB0b2tlbiBJRCBmb3IgdGhlIGVsZW1lbnQ8RFQ+PEI+T3ZlcnJpZGVzOjwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2dldFhTTFRva2VuKCkiPmdldFhTTFRva2VuPC9BPiBpbiBjbGFzcyA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwiPkVsZW1UZW1wbGF0ZUVsZW1lbnQ8L0E+PERUPjxCPlNlZSBBbHNvOiA8L0I+PEREPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0NvbnN0YW50cy5odG1sIj48Q09ERT5Db25zdGFudHM8L0NPREU+PC9BPjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iZ2V0Tm9kZU5hbWUoKSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0Tm9kZU5hbWU8L0gzPg0KPFBSRT4NCnB1YmxpYyBqYXZhLmxhbmcuU3RyaW5nIDxCPmdldE5vZGVOYW1lPC9CPigpPC9QUkU+DQo8REw+DQo8REQ+UmV0dXJuIHRoZSBub2RlIG5hbWUuPEREPjxETD4NCjxEVD48Qj5SZXR1cm5zOjwvQj48REQ+VGhlIGVsZW1lbnQncyBuYW1lPERUPjxCPk92ZXJyaWRlczo8L0I+PEREPjxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCNnZXROb2RlTmFtZSgpIj5nZXROb2RlTmFtZTwvQT4gaW4gY2xhc3MgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sIj5FbGVtVGVtcGxhdGVFbGVtZW50PC9BPjwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iY29tcG9zZShvcmcuYXBhY2hlLnhhbGFuLnRlbXBsYXRlcy5TdHlsZXNoZWV0Um9vdCkiPjwhLS0gLS0+PC9BPjxIMz4NCmNvbXBvc2U8L0gzPg0KPFBSRT4NCnB1YmxpYyB2b2lkIDxCPmNvbXBvc2U8L0I+KDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL1N0eWxlc2hlZXRSb290Lmh0bWwiPlN0eWxlc2hlZXRSb290PC9BPiZuYnNwO3Nyb290KQogICAgICAgICAgICAgdGhyb3dzIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL2phdmF4L3htbC90cmFuc2Zvcm0vVHJhbnNmb3JtZXJFeGNlcHRpb24uaHRtbCI+VHJhbnNmb3JtZXJFeGNlcHRpb248L0E+PC9QUkU+DQo8REw+DQo8REQ+VGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgYWZ0ZXIgZXZlcnl0aGluZyBlbHNlIGhhcyBiZWVuCiByZWNvbXBvc2VkLCBhbmQgYWxsb3dzIHRoZSB0ZW1wbGF0ZSB0byBzZXQgcmVtYWluaW5nCiB2YWx1ZXMgdGhhdCBtYXkgYmUgYmFzZWQgb24gc29tZSBvdGhlciBwcm9wZXJ0eSB0aGF0CiBkZXBlbmRzIG9uIHJlY29tcG9zaXRpb24uPEREPjxETD4NCjxEVD48Qj5PdmVycmlkZXM6PC9CPjxERD48QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwjY29tcG9zZShvcmcuYXBhY2hlLnhhbGFuLnRlbXBsYXRlcy5TdHlsZXNoZWV0Um9vdCkiPmNvbXBvc2U8L0E+IGluIGNsYXNzIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCI+RWxlbVRlbXBsYXRlRWxlbWVudDwvQT48L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImVuZENvbXBvc2Uob3JnLmFwYWNoZS54YWxhbi50ZW1wbGF0ZXMuU3R5bGVzaGVldFJvb3QpIj48IS0tIC0tPjwvQT48SDM+DQplbmRDb21wb3NlPC9IMz4NCjxQUkU+DQpwdWJsaWMgdm9pZCA8Qj5lbmRDb21wb3NlPC9CPig8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9TdHlsZXNoZWV0Um9vdC5odG1sIj5TdHlsZXNoZWV0Um9vdDwvQT4mbmJzcDtzcm9vdCkKICAgICAgICAgICAgICAgIHRocm93cyA8QSBIUkVGPSIuLi8uLi8uLi8uLi9qYXZheC94bWwvdHJhbnNmb3JtL1RyYW5zZm9ybWVyRXhjZXB0aW9uLmh0bWwiPlRyYW5zZm9ybWVyRXhjZXB0aW9uPC9BPjwvUFJFPg0KPERMPg0KPEREPlRoaXMgYWZ0ZXIgdGhlIHRlbXBsYXRlJ3MgY2hpbGRyZW4gaGF2ZSBiZWVuIGNvbXBvc2VkLjxERD48REw+DQo8RFQ+PEI+T3ZlcnJpZGVzOjwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2VuZENvbXBvc2Uob3JnLmFwYWNoZS54YWxhbi50ZW1wbGF0ZXMuU3R5bGVzaGVldFJvb3QpIj5lbmRDb21wb3NlPC9BPiBpbiBjbGFzcyA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwiPkVsZW1UZW1wbGF0ZUVsZW1lbnQ8L0E+PC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJleGVjdXRlKG9yZy5hcGFjaGUueGFsYW4udHJhbnNmb3JtZXIuVHJhbnNmb3JtZXJJbXBsKSI+PCEtLSAtLT48L0E+PEgzPg0KZXhlY3V0ZTwvSDM+DQo8UFJFPg0KcHVibGljIHZvaWQgPEI+ZXhlY3V0ZTwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90cmFuc2Zvcm1lci9UcmFuc2Zvcm1lckltcGwuaHRtbCI+VHJhbnNmb3JtZXJJbXBsPC9BPiZuYnNwO3RyYW5zZm9ybWVyKQogICAgICAgICAgICAgdGhyb3dzIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL2phdmF4L3htbC90cmFuc2Zvcm0vVHJhbnNmb3JtZXJFeGNlcHRpb24uaHRtbCI+VHJhbnNmb3JtZXJFeGNlcHRpb248L0E+PC9QUkU+DQo8REw+DQo8REQ+Q29weSB0aGUgdGVtcGxhdGUgY29udGVudHMgaW50byB0aGUgcmVzdWx0IHRyZWUuCiBUaGUgY29udGVudCBvZiB0aGUgeHNsOnRlbXBsYXRlIGVsZW1lbnQgaXMgdGhlIHRlbXBsYXRlCiB0aGF0IGlzIGluc3RhbnRpYXRlZCB3aGVuIHRoZSB0ZW1wbGF0ZSBydWxlIGlzIGFwcGxpZWQuPEREPjxETD4NCjxEVD48Qj5QYXJhbWV0ZXJzOjwvQj48REQ+PENPREU+dHJhbnNmb3JtZXI8L0NPREU+IC0gbm9uLW51bGwgcmVmZXJlbmNlIHRvIHRoZSB0aGUgY3VycmVudCB0cmFuc2Zvcm0tdGltZSBzdGF0ZS48RFQ+PEI+VGhyb3dzOjwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vamF2YXgveG1sL3RyYW5zZm9ybS9UcmFuc2Zvcm1lckV4Y2VwdGlvbi5odG1sIj5UcmFuc2Zvcm1lckV4Y2VwdGlvbjwvQT4gLSAmbmJzcDs8RFQ+PEI+T3ZlcnJpZGVzOjwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI2V4ZWN1dGUob3JnLmFwYWNoZS54YWxhbi50cmFuc2Zvcm1lci5UcmFuc2Zvcm1lckltcGwpIj5leGVjdXRlPC9BPiBpbiBjbGFzcyA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtVGVtcGxhdGVFbGVtZW50Lmh0bWwiPkVsZW1UZW1wbGF0ZUVsZW1lbnQ8L0E+PC9ETD4NCjwvREQ+DQo8L0RMPg0KPEhSPg0KDQo8QSBOQU1FPSJyZWNvbXBvc2Uob3JnLmFwYWNoZS54YWxhbi50ZW1wbGF0ZXMuU3R5bGVzaGVldFJvb3QpIj48IS0tIC0tPjwvQT48SDM+DQpyZWNvbXBvc2U8L0gzPg0KPFBSRT4NCnB1YmxpYyB2b2lkIDxCPnJlY29tcG9zZTwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvU3R5bGVzaGVldFJvb3QuaHRtbCI+U3R5bGVzaGVldFJvb3Q8L0E+Jm5ic3A7cm9vdCk8L1BSRT4NCjxETD4NCjxERD5UaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBkdXJpbmcgcmVjb21wb3NpdGlvbiB0bwogY29udHJvbCBob3cgdGhpcyBlbGVtZW50IGlzIGNvbXBvc2VkLjxERD48REw+DQo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPnJvb3Q8L0NPREU+IC0gVGhlIHJvb3Qgc3R5bGVzaGVldCBmb3IgdGhpcyB0cmFuc2Zvcm1hdGlvbi48RFQ+PEI+T3ZlcnJpZGVzOjwvQj48REQ+PEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sI3JlY29tcG9zZShvcmcuYXBhY2hlLnhhbGFuLnRlbXBsYXRlcy5TdHlsZXNoZWV0Um9vdCkiPnJlY29tcG9zZTwvQT4gaW4gY2xhc3MgPEEgSFJFRj0iLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS94YWxhbi90ZW1wbGF0ZXMvRWxlbVRlbXBsYXRlRWxlbWVudC5odG1sIj5FbGVtVGVtcGxhdGVFbGVtZW50PC9BPjwvREw+DQo8L0REPg0KPC9ETD4NCjwhLS0gPT09PT09PT09IEVORCBPRiBDTEFTUyBEQVRBID09PT09PT09PSAtLT4NCjxIUj4NCg0KPCEtLSA9PT09PT09PT09IFNUQVJUIE9GIE5BVkJBUiA9PT09PT09PT09IC0tPg0KPEEgTkFNRT0ibmF2YmFyX2JvdHRvbSI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjAiIFdJRFRIPSIxMDAlIiBDRUxMUEFERElORz0iMSIgQ0VMTFNQQUNJTkc9IjAiPg0KPFRSPg0KPFREIENPTFNQQU49MiBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPg0KPEEgTkFNRT0ibmF2YmFyX2JvdHRvbV9maXJzdHJvdyI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjAiIENFTExQQURESU5HPSIwIiBDRUxMU1BBQ0lORz0iMyI+DQogIDxUUiBBTElHTj0iY2VudGVyIiBWQUxJR049InRvcCI+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9vdmVydmlldy1zdW1tYXJ5Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+T3ZlcnZpZXc8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0icGFja2FnZS1zdW1tYXJ5Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+UGFja2FnZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRkZGRkZGIiBDTEFTUz0iTmF2QmFyQ2VsbDFSZXYiPiAmbmJzcDs8Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDFSZXYiPjxCPkNsYXNzPC9CPjwvRk9OVD4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iY2xhc3MtdXNlL0VsZW1UZW1wbGF0ZS5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPlVzZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJwYWNrYWdlLXRyZWUuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5UcmVlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uL2RlcHJlY2F0ZWQtbGlzdC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkRlcHJlY2F0ZWQ8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vaW5kZXgtYWxsLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+SW5kZXg8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vaGVscC1kb2MuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5IZWxwPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPC9UUj4NCjwvVEFCTEU+DQo8L1REPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFJPV1NQQU49Mz48RU0+DQo8L0VNPg0KPC9URD4NCjwvVFI+DQoNCjxUUj4NCjxURCBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9Ik5hdkJhckNlbGwyIj48Rk9OVCBTSVpFPSItMiI+DQombmJzcDs8QSBIUkVGPSIuLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3hhbGFuL3RlbXBsYXRlcy9FbGVtU29ydC5odG1sIj48Qj5QUkVWIENMQVNTPC9CPjwvQT4mbmJzcDsNCiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vdGVtcGxhdGVzL0VsZW1UZW1wbGF0ZUVsZW1lbnQuaHRtbCI+PEI+TkVYVCBDTEFTUzwvQj48L0E+PC9GT05UPjwvVEQ+DQo8VEQgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJOYXZCYXJDZWxsMiI+PEZPTlQgU0laRT0iLTIiPg0KICA8QSBIUkVGPSIuLi8uLi8uLi8uLi9pbmRleC5odG1sIiBUQVJHRVQ9Il90b3AiPjxCPkZSQU1FUzwvQj48L0E+ICAmbmJzcDsNCiZuYnNwOzxBIEhSRUY9IkVsZW1UZW1wbGF0ZS5odG1sIiBUQVJHRVQ9Il90b3AiPjxCPk5PIEZSQU1FUzwvQj48L0E+PC9GT05UPjwvVEQ+DQo8L1RSPg0KPFRSPg0KPFREIFZBTElHTj0idG9wIiBDTEFTUz0iTmF2QmFyQ2VsbDMiPjxGT05UIFNJWkU9Ii0yIj4NCiAgU1VNTUFSWTogJm5ic3A7SU5ORVImbmJzcDt8Jm5ic3A7PEEgSFJFRj0iI2ZpZWxkX3N1bW1hcnkiPkZJRUxEPC9BPiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjY29uc3RydWN0b3Jfc3VtbWFyeSI+Q09OU1RSPC9BPiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjbWV0aG9kX3N1bW1hcnkiPk1FVEhPRDwvQT48L0ZPTlQ+PC9URD4NCjxURCBWQUxJR049InRvcCIgQ0xBU1M9Ik5hdkJhckNlbGwzIj48Rk9OVCBTSVpFPSItMiI+DQpERVRBSUw6ICZuYnNwOzxBIEhSRUY9IiNmaWVsZF9kZXRhaWwiPkZJRUxEPC9BPiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjY29uc3RydWN0b3JfZGV0YWlsIj5DT05TVFI8L0E+Jm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNtZXRob2RfZGV0YWlsIj5NRVRIT0Q8L0E+PC9GT05UPjwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCjwhLS0gPT09PT09PT09PT0gRU5EIE9GIE5BVkJBUiA9PT09PT09PT09PSAtLT4NCg0KPEhSPg0KQ29weXJpZ2h0IKkgMjAwNiBBcGFjaGUgWE1MIFByb2plY3QuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuDQo8L0JPRFk+DQo8L0hUTUw+DQo=