PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMC8vRU4iPg0KPCEtLU5ld1BhZ2UtLT4NCjxIVE1MPg0KPEhFQUQ+DQo8IS0tIEdlbmVyYXRlZCBieSBqYXZhZG9jIG9uIFRodSBOb3YgMjIgMTc6MTI6NTMgRVNUIDIwMDcgLS0+DQo8VElUTEU+DQpYYWxhbi1KYXZhIDIuNy4xOiBJbnRlcmZhY2UgIE5hbWVzcGFjZUNvbnRleHQNCjwvVElUTEU+DQo8TElOSyBSRUwgPSJzdHlsZXNoZWV0IiBUWVBFPSJ0ZXh0L2NzcyIgSFJFRj0iLi4vLi4vLi4vc3R5bGVzaGVldC5jc3MiIFRJVExFPSJTdHlsZSI+DQo8L0hFQUQ+DQo8Qk9EWSBCR0NPTE9SPSJ3aGl0ZSI+DQoNCjwhLS0gPT09PT09PT09PSBTVEFSVCBPRiBOQVZCQVIgPT09PT09PT09PSAtLT4NCjxBIE5BTUU9Im5hdmJhcl90b3AiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIwIiBXSURUSD0iMTAwJSIgQ0VMTFBBRERJTkc9IjEiIENFTExTUEFDSU5HPSIwIj4NCjxUUj4NCjxURCBDT0xTUEFOPTIgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4NCjxBIE5BTUU9Im5hdmJhcl90b3BfZmlyc3Ryb3ciPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIwIiBDRUxMUEFERElORz0iMCIgQ0VMTFNQQUNJTkc9IjMiPg0KICA8VFIgQUxJR049ImNlbnRlciIgVkFMSUdOPSJ0b3AiPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vb3ZlcnZpZXctc3VtbWFyeS5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPk92ZXJ2aWV3PC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9InBhY2thZ2Utc3VtbWFyeS5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPlBhY2thZ2U8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0ZGRkZGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxUmV2Ij4gJm5ic3A7PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxUmV2Ij48Qj5DbGFzczwvQj48L0ZPTlQ+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9ImNsYXNzLXVzZS9OYW1lc3BhY2VDb250ZXh0Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+VXNlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9InBhY2thZ2UtdHJlZS5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPlRyZWU8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vZGVwcmVjYXRlZC1saXN0Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+RGVwcmVjYXRlZDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi9pbmRleC1hbGwuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5JbmRleDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi9oZWxwLWRvYy5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkhlbHA8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8L1RSPg0KPC9UQUJMRT4NCjwvVEQ+DQo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgUk9XU1BBTj0zPjxFTT4NCjwvRU0+DQo8L1REPg0KPC9UUj4NCg0KPFRSPg0KPFREIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iTmF2QmFyQ2VsbDIiPjxGT05UIFNJWkU9Ii0yIj4NCiZuYnNwO1BSRVYgQ0xBU1MmbmJzcDsNCiZuYnNwO05FWFQgQ0xBU1M8L0ZPTlQ+PC9URD4NCjxURCBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9Ik5hdkJhckNlbGwyIj48Rk9OVCBTSVpFPSItMiI+DQogIDxBIEhSRUY9Ii4uLy4uLy4uL2luZGV4Lmh0bWwiIFRBUkdFVD0iX3RvcCI+PEI+RlJBTUVTPC9CPjwvQT4gICZuYnNwOw0KJm5ic3A7PEEgSFJFRj0iTmFtZXNwYWNlQ29udGV4dC5odG1sIiBUQVJHRVQ9Il90b3AiPjxCPk5PIEZSQU1FUzwvQj48L0E+PC9GT05UPjwvVEQ+DQo8L1RSPg0KPFRSPg0KPFREIFZBTElHTj0idG9wIiBDTEFTUz0iTmF2QmFyQ2VsbDMiPjxGT05UIFNJWkU9Ii0yIj4NCiAgU1VNTUFSWTogJm5ic3A7SU5ORVImbmJzcDt8Jm5ic3A7RklFTEQmbmJzcDt8Jm5ic3A7Q09OU1RSJm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNtZXRob2Rfc3VtbWFyeSI+TUVUSE9EPC9BPjwvRk9OVD48L1REPg0KPFREIFZBTElHTj0idG9wIiBDTEFTUz0iTmF2QmFyQ2VsbDMiPjxGT05UIFNJWkU9Ii0yIj4NCkRFVEFJTDogJm5ic3A7RklFTEQmbmJzcDt8Jm5ic3A7Q09OU1RSJm5ic3A7fCZuYnNwOzxBIEhSRUY9IiNtZXRob2RfZGV0YWlsIj5NRVRIT0Q8L0E+PC9GT05UPjwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCjwhLS0gPT09PT09PT09PT0gRU5EIE9GIE5BVkJBUiA9PT09PT09PT09PSAtLT4NCg0KPEhSPg0KPCEtLSA9PT09PT09PSBTVEFSVCBPRiBDTEFTUyBEQVRBID09PT09PT09IC0tPg0KPEgyPg0KPEZPTlQgU0laRT0iLTEiPg0KamF2YXgueG1sLm5hbWVzcGFjZTwvRk9OVD4NCjxCUj4NCkludGVyZmFjZSAgTmFtZXNwYWNlQ29udGV4dDwvSDI+DQo8REw+DQo8RFQ+PEI+QWxsIEtub3duIEltcGxlbWVudGluZyBDbGFzc2VzOjwvQj4gPEREPjxBIEhSRUY9Ii4uLy4uLy4uL29yZy9hcGFjaGUveGFsYW4vZXh0ZW5zaW9ucy9FeHRlbnNpb25OYW1lc3BhY2VDb250ZXh0Lmh0bWwiPkV4dGVuc2lvbk5hbWVzcGFjZUNvbnRleHQ8L0E+PC9ERD4NCjwvREw+DQo8SFI+DQo8REw+DQo8RFQ+cHVibGljIGludGVyZmFjZSA8Qj5OYW1lc3BhY2VDb250ZXh0PC9CPjwvREw+DQoNCjxQPg0KPHA+SW50ZXJmYWNlIGZvciByZWFkIG9ubHkgWE1MIE5hbWVzcGFjZSBjb250ZXh0IHByb2Nlc3NpbmcuPC9wPgoKIDxwPkFuIFhNTCBOYW1lc3BhY2UgaGFzIHRoZSBwcm9wZXJ0aWVzOjwvcD4KIDx1bD4KICAgPGxpPk5hbWVzcGFjZSBVUkk6CiAgICAgICBOYW1lc3BhY2UgbmFtZSBleHByZXNzZWQgYXMgYSBVUkkgdG8gd2hpY2ggdGhlIHByZWZpeCBpcyBib3VuZDwvbGk+CiAgIDxsaT5wcmVmaXg6IHN5bnRhY3RpY2FsbHksIHRoaXMgaXMgdGhlIHBhcnQgb2YgdGhlIGF0dHJpYnV0ZSBuYW1lCiAgICAgICBmb2xsb3dpbmcgdGhlIDxjb2RlPlhNTENvbnN0YW50cy5YTUxOU19BVFRSSUJVVEU8L2NvZGU+CiAgICAgICAoInhtbG5zIikgaW4gdGhlIE5hbWVzcGFjZSBkZWNsYXJhdGlvbjwvbGk+CiA8L3VsPgogPHA+IGV4YW1wbGU6IDxjb2RlPiZsdDtlbGVtZW50IHhtbG5zOnByZWZpeD0iaHR0cDovL05hbWVzcGFjZS1uYW1lLVVSSSImZ3Q7PC9jb2RlPjwvcD4KCiA8cD5BbGwgPGNvZGU+Z2V0KigqKTwvY29kZT4gbWV0aG9kcyBvcGVyYXRlIGluIHRoZSBjdXJyZW50IHNjb3BlCiBmb3IgTmFtZXNwYWNlIFVSSSBhbmQgcHJlZml4IHJlc29sdXRpb24uPC9wPgoKIDxwPk5vdGUgdGhhdCBhIE5hbWVzcGFjZSBVUkkgY2FuIGJlIGJvdW5kIHRvCiA8c3Ryb25nPm11bHRpcGxlPC9zdHJvbmc+IHByZWZpeGVzIGluIHRoZSBjdXJyZW50IHNjb3BlLiAgVGhpcyBjYW4KIG9jY3VyIHdoZW4gbXVsdGlwbGUgPGNvZGU+WE1MQ29uc3RhbnRzLlhNTE5TX0FUVFJJQlVURTwvY29kZT4KICgieG1sbnMiKSBOYW1lc3BhY2UgZGVjbGFyYXRpb25zIG9jY3VyIGluIHRoZSBzYW1lIFN0YXJ0LVRhZyBhbmQKIHJlZmVyIHRvIHRoZSBzYW1lIE5hbWVzcGFjZSBVUkkuIGUuZy48YnIgLz4KIDxwcmU+CiAmbHQ7ZWxlbWVudCB4bWxuczpwcmVmaXgxPSJodHRwOi8vTmFtZXNwYWNlLW5hbWUtVVJJIgogICAgICAgICAgeG1sbnM6cHJlZml4Mj0iaHR0cDovL05hbWVzcGFjZS1uYW1lLVVSSSImZ3Q7CiA8L3ByZT4KIFRoaXMgY2FuIGFsc28gb2NjdXIgd2hlbiB0aGUgc2FtZSBOYW1lc3BhY2UgVVJJIGlzIHVzZWQgaW4gbXVsdGlwbGUKIDxjb2RlPlhNTENvbnN0YW50cy5YTUxOU19BVFRSSUJVVEU8L2NvZGU+ICgieG1sbnMiKSBOYW1lc3BhY2UKIGRlY2xhcmF0aW9ucyBpbiB0aGUgbG9naWNhbCBwYXJlbnQgZWxlbWVudCBoaWVyYXJjaHkuICBlLmcuPGJyIC8+CiA8cHJlPgogJmx0O3BhcmVudCB4bWxuczpwcmVmaXgxPSJodHRwOi8vTmFtZXNwYWNlLW5hbWUtVVJJIj4KICAgJmx0O2NoaWxkIHhtbG5zOnByZWZpeDI9Imh0dHA6Ly9OYW1lc3BhY2UtbmFtZS1VUkkiJmd0OwogICAgIC4uLgogICAmbHQ7L2NoaWxkJmd0OwogJmx0Oy9wYXJlbnQmZ3Q7CiA8L3ByZT48L3A+CgogPHA+QSBwcmVmaXggY2FuIG9ubHkgYmUgYm91bmQgdG8gYSA8c3Ryb25nPnNpbmdsZTwvc3Ryb25nPgogTmFtZXNwYWNlIFVSSSBpbiB0aGUgY3VycmVudCBzY29wZS48L3A+DQo8UD4NCjxETD4NCjxEVD48Qj5TaW5jZTogPC9CPjxERD4xLjU8L0REPg0KPERUPjxCPlNlZSBBbHNvOiA8L0I+PEREPjxBIEhSRUY9Ii4uLy4uLy4uL2phdmF4L3htbC9YTUxDb25zdGFudHMuaHRtbCI+amF2YXguWE1MQ29uc3RhbnRzIGZvciBkZWNsYXJhdGlvbnMgb2YgY29tbW9uIFhNTCB2YWx1ZXM8L0E+LCANCjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3htbHNjaGVtYS0yLyNRTmFtZSI+WE1MIFNjaGVtYSBQYXJ0MjogRGF0YXR5cGVzPC9hPiwgDQo8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMteG1sLW5hbWVzLyNucy1xdWFsbmFtZXMiPk5hbWVzcGFjZXMgaW4gWE1MPC9hPiwgDQo8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9YTUwveG1sLW5hbWVzLTE5OTkwMTE0LWVycmF0YSI+TmFtZXNwYWNlcyBpbiBYTUwgRXJyYXRhPC9hPjwvREw+DQo8SFI+DQoNCjxQPg0KPCEtLSA9PT09PT09PSBJTk5FUiBDTEFTUyBTVU1NQVJZID09PT09PT09IC0tPg0KDQoNCjwhLS0gPT09PT09PT09PT0gRklFTEQgU1VNTUFSWSA9PT09PT09PT09PSAtLT4NCg0KDQo8IS0tID09PT09PT09IENPTlNUUlVDVE9SIFNVTU1BUlkgPT09PT09PT0gLS0+DQoNCg0KPCEtLSA9PT09PT09PT09IE1FVEhPRCBTVU1NQVJZID09PT09PT09PT09IC0tPg0KDQo8QSBOQU1FPSJtZXRob2Rfc3VtbWFyeSI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPg0KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+DQo8VEQgQ09MU1BBTj0yPjxGT05UIFNJWkU9IisyIj4NCjxCPk1ldGhvZCBTdW1tYXJ5PC9CPjwvRk9OVD48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7amF2YS5sYW5nLlN0cmluZzwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi9qYXZheC94bWwvbmFtZXNwYWNlL05hbWVzcGFjZUNvbnRleHQuaHRtbCNnZXROYW1lc3BhY2VVUkkoamF2YS5sYW5nLlN0cmluZykiPmdldE5hbWVzcGFjZVVSSTwvQT48L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtwcmVmaXgpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtHZXQgTmFtZXNwYWNlIFVSSSBib3VuZCB0byBhIHByZWZpeCBpbiB0aGUgY3VycmVudCBzY29wZS48L1REPg0KPC9UUj4NCjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPg0KPENPREU+Jm5ic3A7amF2YS5sYW5nLlN0cmluZzwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi9qYXZheC94bWwvbmFtZXNwYWNlL05hbWVzcGFjZUNvbnRleHQuaHRtbCNnZXRQcmVmaXgoamF2YS5sYW5nLlN0cmluZykiPmdldFByZWZpeDwvQT48L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtuYW1lc3BhY2VVUkkpPC9DT0RFPg0KDQo8QlI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtHZXQgcHJlZml4IGJvdW5kIHRvIE5hbWVzcGFjZSBVUkkgaW4gdGhlIGN1cnJlbnQgc2NvcGUuPC9URD4NCjwvVFI+DQo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4NCjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4NCjxDT0RFPiZuYnNwO2phdmEudXRpbC5JdGVyYXRvcjwvQ09ERT48L0ZPTlQ+PC9URD4NCjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi9qYXZheC94bWwvbmFtZXNwYWNlL05hbWVzcGFjZUNvbnRleHQuaHRtbCNnZXRQcmVmaXhlcyhqYXZhLmxhbmcuU3RyaW5nKSI+Z2V0UHJlZml4ZXM8L0E+PC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7bmFtZXNwYWNlVVJJKTwvQ09ERT4NCg0KPEJSPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7R2V0IGFsbCBwcmVmaXhlcyBib3VuZCB0byBhIE5hbWVzcGFjZSBVUkkgaW4gdGhlIGN1cnJlbnQKIHNjb3BlLjwvVEQ+DQo8L1RSPg0KPC9UQUJMRT4NCiZuYnNwOw0KPFA+DQoNCjwhLS0gPT09PT09PT09PT09IEZJRUxEIERFVEFJTCA9PT09PT09PT09PSAtLT4NCg0KDQo8IS0tID09PT09PT09PSBDT05TVFJVQ1RPUiBERVRBSUwgPT09PT09PT0gLS0+DQoNCg0KPCEtLSA9PT09PT09PT09PT0gTUVUSE9EIERFVEFJTCA9PT09PT09PT09IC0tPg0KDQo8QSBOQU1FPSJtZXRob2RfZGV0YWlsIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+DQo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4NCjxURCBDT0xTUEFOPTE+PEZPTlQgU0laRT0iKzIiPg0KPEI+TWV0aG9kIERldGFpbDwvQj48L0ZPTlQ+PC9URD4NCjwvVFI+DQo8L1RBQkxFPg0KDQo8QSBOQU1FPSJnZXROYW1lc3BhY2VVUkkoamF2YS5sYW5nLlN0cmluZykiPjwhLS0gLS0+PC9BPjxIMz4NCmdldE5hbWVzcGFjZVVSSTwvSDM+DQo8UFJFPg0KcHVibGljIGphdmEubGFuZy5TdHJpbmcgPEI+Z2V0TmFtZXNwYWNlVVJJPC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7cHJlZml4KTwvUFJFPg0KPERMPg0KPEREPjxwPkdldCBOYW1lc3BhY2UgVVJJIGJvdW5kIHRvIGEgcHJlZml4IGluIHRoZSBjdXJyZW50IHNjb3BlLjwvcD4KCiA8cD5XaGVuIHJlcXVlc3RpbmcgYSBOYW1lc3BhY2UgVVJJIGJ5IHByZWZpeCwgdGhlIGZvbGxvd2luZwogdGFibGUgZGVzY3JpYmVzIHRoZSByZXR1cm5lZCBOYW1lc3BhY2UgVVJJIHZhbHVlIGZvciBhbGwKIHBvc3NpYmxlIHByZWZpeCB2YWx1ZXM6PC9wPgoKIDx0YWJsZSBib3JkZXI9IjIiIHJ1bGVzPSJhbGwiIGNlbGxwYWRkaW5nPSI0Ij4gCiAgIDx0aGVhZD4KICAgICA8dHI+CiAgICAgICA8dGQgYWxpZ249ImNlbnRlciIgY29sc3Bhbj0iMiI+CiAgICAgICAgIDxjb2RlPmdldE5hbWVzcGFjZVVSSShwcmVmaXgpPC9jb2RlPgogICAgICAgICByZXR1cm4gdmFsdWUgZm9yIHNwZWNpZmllZCBwcmVmaXhlcwogICAgICAgPC90ZD4KICAgICA8L3RyPgogICAgIDx0cj4KICAgICAgIDx0ZD5wcmVmaXggcGFyYW1ldGVyPC90ZD4KICAgICAgIDx0ZD5OYW1lc3BhY2UgVVJJIHJldHVybiB2YWx1ZTwvdGQ+CiAgICAgPC90cj4KICAgPC90aGVhZD4KICAgPHRib2R5PgogICAgIDx0cj4KICAgICAgIDx0ZD48Y29kZT5ERUZBVUxUX05TX1BSRUZJWDwvY29kZT4gKCIiKTwvdGQ+CiAgICAgICA8dGQ+ZGVmYXVsdCBOYW1lc3BhY2UgVVJJIGluIHRoZSBjdXJyZW50IHNjb3BlIG9yCiAgICAgICAgIDxjb2RlPjxBIEhSRUY9Ii4uLy4uLy4uL2phdmF4L3htbC9YTUxDb25zdGFudHMuaHRtbCNOVUxMX05TX1VSSSI+WE1MQ29uc3RhbnRzLk5VTExfTlNfVVJJKCIiKTwvQT48L2NvZGU+ICAgCiAgICAgICAgIHdoZW4gdGhlcmUgaXMgbm8gZGVmYXVsdCBOYW1lc3BhY2UgVVJJIGluIHRoZSBjdXJyZW50IHNjb3BlPC90ZD4KICAgICA8L3RyPgogICAgIDx0cj4KICAgICAgIDx0ZD5ib3VuZCBwcmVmaXg8L3RkPgogICAgICAgPHRkPk5hbWVzcGFjZSBVUkkgYm91bmQgdG8gcHJlZml4IGluIGN1cnJlbnQgc2NvcGU8L3RkPgogICAgIDwvdHI+CiAgICAgPHRyPgogICAgICAgPHRkPnVuYm91bmQgcHJlZml4PC90ZD4KICAgICAgIDx0ZD48Y29kZT48QSBIUkVGPSIuLi8uLi8uLi9qYXZheC94bWwvWE1MQ29uc3RhbnRzLmh0bWwjTlVMTF9OU19VUkkiPlhNTENvbnN0YW50cy5OVUxMX05TX1VSSSgiIik8L0E+PC9jb2RlPiA8L3RkPgogICAgIDwvdHI+CiAgICAgPHRyPgogICAgICAgPHRkPjxjb2RlPlhNTENvbnN0YW50cy5YTUxfTlNfUFJFRklYPC9jb2RlPiAoInhtbCIpPC90ZD4KICAgICAgIDx0ZD48Y29kZT5YTUxDb25zdGFudHMuWE1MX05TX1VSSTwvY29kZT4KICAgICAgICAgICAoImh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIpPC90ZD4KICAgICA8L3RyPgogICAgIDx0cj4KICAgICAgIDx0ZD48Y29kZT5YTUxDb25zdGFudHMuWE1MTlNfQVRUUklCVVRFPC9jb2RlPiAoInhtbG5zIik8L3RkPgogICAgICAgPHRkPjxjb2RlPlhNTENvbnN0YW50cy5YTUxOU19BVFRSSUJVVEVfTlNfVVJJPC9jb2RlPgogICAgICAgICAoImh0dHA6Ly93d3cudzMub3JnLzIwMDAveG1sbnMvIik8L3RkPgogICAgIDwvdHI+CiAgICAgPHRyPgogICAgICAgPHRkPjxjb2RlPm51bGw8L2NvZGU+PC90ZD4KICAgICAgIDx0ZD48Y29kZT5JbGxlZ2FsQXJndW1lbnRFeGNlcHRpb248L2NvZGU+IGlzIHRocm93bjwvdGQ+CiAgICAgPC90cj4KICAgIDwvdGJvZHk+CiA8L3RhYmxlPjxERD48REw+DQo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPnByZWZpeDwvQ09ERT4gLSBwcmVmaXggdG8gbG9vayB1cDxEVD48Qj5SZXR1cm5zOjwvQj48REQ+TmFtZXNwYWNlIFVSSSBib3VuZCB0byBwcmVmaXggaW4gdGhlIGN1cnJlbnQgc2NvcGU8L0RMPg0KPC9ERD4NCjwvREw+DQo8SFI+DQoNCjxBIE5BTUU9ImdldFByZWZpeChqYXZhLmxhbmcuU3RyaW5nKSI+PCEtLSAtLT48L0E+PEgzPg0KZ2V0UHJlZml4PC9IMz4NCjxQUkU+DQpwdWJsaWMgamF2YS5sYW5nLlN0cmluZyA8Qj5nZXRQcmVmaXg8L0I+KGphdmEubGFuZy5TdHJpbmcmbmJzcDtuYW1lc3BhY2VVUkkpPC9QUkU+DQo8REw+DQo8REQ+PHA+R2V0IHByZWZpeCBib3VuZCB0byBOYW1lc3BhY2UgVVJJIGluIHRoZSBjdXJyZW50IHNjb3BlLjwvcD4KCiA8cD5UbyBnZXQgYWxsIHByZWZpeGVzIGJvdW5kIHRvIGEgTmFtZXNwYWNlIFVSSSBpbiB0aGUgY3VycmVudAogc2NvcGUsIHVzZSA8QSBIUkVGPSIuLi8uLi8uLi9qYXZheC94bWwvbmFtZXNwYWNlL05hbWVzcGFjZUNvbnRleHQuaHRtbCNnZXRQcmVmaXhlcyhqYXZhLmxhbmcuU3RyaW5nKSI+PENPREU+Z2V0UHJlZml4ZXMoU3RyaW5nIG5hbWVzcGFjZVVSSSk8L0NPREU+PC9BPi48L3A+CgogPHA+V2hlbiByZXF1ZXN0aW5nIGEgcHJlZml4IGJ5IE5hbWVzcGFjZSBVUkksIHRoZSBmb2xsb3dpbmcKIHRhYmxlIGRlc2NyaWJlcyB0aGUgcmV0dXJuZWQgcHJlZml4IHZhbHVlIGZvciBhbGwgTmFtZXNwYWNlIFVSSQogdmFsdWVzOjwvcD4KCiA8dGFibGUgYm9yZGVyPSIyIiBydWxlcz0iYWxsIiBjZWxscGFkZGluZz0iNCI+CiAgIDx0aGVhZD4KICAgICA8dHI+CiAgICAgICA8dGQgYWxpZ249ImNlbnRlciIgY29sc3Bhbj0iMiI+CiAgICAgICAgIDxjb2RlPmdldFByZWZpeChuYW1lc3BhY2VVUkkpPC9jb2RlPiByZXR1cm4gdmFsdWUgZm9yCiAgICAgICAgIHNwZWNpZmllZCBOYW1lc3BhY2UgVVJJcwogICAgICAgPC90ZD4KICAgICA8L3RyPgogICAgIDx0cj4KICAgICAgIDx0ZD5OYW1lc3BhY2UgVVJJIHBhcmFtZXRlcjwvdGQ+CiAgICAgICA8dGQ+cHJlZml4IHZhbHVlIHJldHVybmVkPC90ZD4KICAgICA8L3RyPgogICA8L3RoZWFkPgogICA8dGJvZHk+CiAgICAgPHRyPgogICAgICAgPHRkPiZsdDtkZWZhdWx0IE5hbWVzcGFjZSBVUkkmZ3Q7PC90ZD4KICAgICAgIDx0ZD48Y29kZT5YTUxDb25zdGFudHMuREVGQVVMVF9OU19QUkVGSVg8L2NvZGU+ICgiIikKICAgICAgIDwvdGQ+CiAgICAgPC90cj4KICAgICA8dHI+CiAgICAgICA8dGQ+Ym91bmQgTmFtZXNwYWNlIFVSSTwvdGQ+CiAgICAgICA8dGQ+cHJlZml4IGJvdW5kIHRvIE5hbWVzcGFjZSBVUkkgaW4gdGhlIGN1cnJlbnQgc2NvcGUsCiAgICAgICAgICAgaWYgbXVsdGlwbGUgcHJlZml4ZXMgYXJlIGJvdW5kIHRvIHRoZSBOYW1lc3BhY2UgVVJJIGluCiAgICAgICAgICAgdGhlIGN1cnJlbnQgc2NvcGUsIGEgc2luZ2xlIGFyYml0cmFyeSBwcmVmaXgsIHdob3NlCiAgICAgICAgICAgY2hvaWNlIGlzIGltcGxlbWVudGF0aW9uIGRlcGVuZGVudCwgaXMgcmV0dXJuZWQ8L3RkPgogICAgIDwvdHI+CiAgICAgPHRyPgogICAgICAgPHRkPnVuYm91bmQgTmFtZXNwYWNlIFVSSTwvdGQ+CiAgICAgICA8dGQ+PGNvZGU+bnVsbDwvY29kZT48L3RkPgogICAgIDwvdHI+CiAgICAgPHRyPgogICAgICAgPHRkPjxjb2RlPlhNTENvbnN0YW50cy5YTUxfTlNfVVJJPC9jb2RlPgogICAgICAgICAgICgiaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlIik8L3RkPgogICAgICAgPHRkPjxjb2RlPlhNTENvbnN0YW50cy5YTUxfTlNfUFJFRklYPC9jb2RlPiAoInhtbCIpPC90ZD4KICAgICA8L3RyPgogICAgIDx0cj4KICAgICAgIDx0ZD48Y29kZT5YTUxDb25zdGFudHMuWE1MTlNfQVRUUklCVVRFX05TX1VSSTwvY29kZT4KICAgICAgICAgICAoImh0dHA6Ly93d3cudzMub3JnLzIwMDAveG1sbnMvIik8L3RkPgogICAgICAgPHRkPjxjb2RlPlhNTENvbnN0YW50cy5YTUxOU19BVFRSSUJVVEU8L2NvZGU+ICgieG1sbnMiKTwvdGQ+CiAgICAgPC90cj4KICAgICA8dHI+CiAgICAgICA8dGQ+PGNvZGU+bnVsbDwvY29kZT48L3RkPgogICAgICAgPHRkPjxjb2RlPklsbGVnYWxBcmd1bWVudEV4Y2VwdGlvbjwvY29kZT4gaXMgdGhyb3duPC90ZD4KICAgICA8L3RyPgogICA8L3Rib2R5PgogPC90YWJsZT48REQ+PERMPg0KPERUPjxCPlBhcmFtZXRlcnM6PC9CPjxERD48Q09ERT5uYW1lc3BhY2VVUkk8L0NPREU+IC0gVVJJIG9mIE5hbWVzcGFjZSB0byBsb29rdXA8RFQ+PEI+UmV0dXJuczo8L0I+PEREPnByZWZpeCBib3VuZCB0byBOYW1lc3BhY2UgVVJJIGluIGN1cnJlbnQgY29udGV4dDwvREw+DQo8L0REPg0KPC9ETD4NCjxIUj4NCg0KPEEgTkFNRT0iZ2V0UHJlZml4ZXMoamF2YS5sYW5nLlN0cmluZykiPjwhLS0gLS0+PC9BPjxIMz4NCmdldFByZWZpeGVzPC9IMz4NCjxQUkU+DQpwdWJsaWMgamF2YS51dGlsLkl0ZXJhdG9yIDxCPmdldFByZWZpeGVzPC9CPihqYXZhLmxhbmcuU3RyaW5nJm5ic3A7bmFtZXNwYWNlVVJJKTwvUFJFPg0KPERMPg0KPEREPjxwPkdldCBhbGwgcHJlZml4ZXMgYm91bmQgdG8gYSBOYW1lc3BhY2UgVVJJIGluIHRoZSBjdXJyZW50CiBzY29wZS48L3A+CgogPHA+QW4gSXRlcmF0b3Igb3ZlciBTdHJpbmcgZWxlbWVudHMgaXMgcmV0dXJuZWQgaW4gYW4gYXJiaXRyYXJ5LCA8c3Ryb25nPmltcGxlbWVudGF0aW9uIGRlcGVuZGVudDwvc3Ryb25nPiwgb3JkZXIuPC9wPgoKIDxwPjxzdHJvbmc+VGhlIDxjb2RlPkl0ZXJhdG9yPC9jb2RlPiBpcwogPGVtPm5vdDwvZW0+IG1vZGlmaWFibGUuICBlLmcuIHRoZQogPGNvZGU+cmVtb3ZlKCk8L2NvZGU+IG1ldGhvZCB3aWxsIHRocm93CiA8Y29kZT5VbnN1cHBvcnRlZE9wZXJhdGlvbkV4Y2VwdGlvbjwvY29kZT4uPC9zdHJvbmc+PC9wPgoKIDxwPldoZW4gcmVxdWVzdGluZyBwcmVmaXhlcyBieSBOYW1lc3BhY2UgVVJJLCB0aGUgZm9sbG93aW5nCiB0YWJsZSBkZXNjcmliZXMgdGhlIHJldHVybmVkIHByZWZpeGVzIHZhbHVlIGZvciBhbGwgTmFtZXNwYWNlCiBVUkkgdmFsdWVzOjwvcD4KCiA8dGFibGUgYm9yZGVyPSIyIiBydWxlcz0iYWxsIiBjZWxscGFkZGluZz0iNCI+CiAgIDx0aGVhZD4KICAgICA8dHI+CiAgICAgICA8dGQgYWxpZ249ImNlbnRlciIgY29sc3Bhbj0iMiI+PGNvZGU+CiAgICAgICAgIGdldFByZWZpeGVzKG5hbWVzcGFjZVVSSSk8L2NvZGU+IHJldHVybiB2YWx1ZSBmb3IKICAgICAgICAgc3BlY2lmaWVkIE5hbWVzcGFjZSBVUklzPC90ZD4KICAgICA8L3RyPgogICAgIDx0cj4KICAgICAgIDx0ZD5OYW1lc3BhY2UgVVJJIHBhcmFtZXRlcjwvdGQ+CiAgICAgICA8dGQ+cHJlZml4ZXMgdmFsdWUgcmV0dXJuZWQ8L3RkPgogICAgIDwvdHI+CiAgIDwvdGhlYWQ+CiAgIDx0Ym9keT4KICAgICA8dHI+CiAgICAgICA8dGQ+Ym91bmQgTmFtZXNwYWNlIFVSSSwKICAgICAgICAgaW5jbHVkaW5nIHRoZSAmbHQ7ZGVmYXVsdCBOYW1lc3BhY2UgVVJJJmd0OzwvdGQ+CiAgICAgICA8dGQ+PGNvZGU+SXRlcmF0b3I8L2NvZGU+IG92ZXIgcHJlZml4ZXMgYm91bmQgdG8gTmFtZXNwYWNlIFVSSSBpbgogICAgICAgICB0aGUgY3VycmVudCBzY29wZSBpbiBhbiBhcmJpdHJhcnksIDxzdHJvbmc+aW1wbGVtZW50YXRpb24gZGVwZW5kZW50PC9zdHJvbmc+LAogICAgICAgICBvcmRlcjwvdGQ+CiAgICAgPC90cj4KICAgICA8dHI+CiAgICAgICA8dGQ+dW5ib3VuZCBOYW1lc3BhY2UgVVJJPC90ZD4KICAgICAgIDx0ZD5lbXB0eSA8Y29kZT5JdGVyYXRvcjwvY29kZT48L3RkPgogICAgIDwvdHI+CiAgICAgPHRyPgogICAgICAgPHRkPjxjb2RlPlhNTENvbnN0YW50cy5YTUxfTlNfVVJJPC9jb2RlPgogICAgICAgICAgICgiaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlIik8L3RkPgogICAgICAgPHRkPjxjb2RlPkl0ZXJhdG9yPC9jb2RlPiB3aXRoIG9uZSBlbGVtZW50IHNldCB0bwogICAgICAgICA8Y29kZT5YTUxDb25zdGFudHMuWE1MX05TX1BSRUZJWDwvY29kZT4gKCJ4bWwiKTwvdGQ+CiAgICAgPC90cj4KICAgICA8dHI+CiAgICAgICA8dGQ+PGNvZGU+WE1MQ29uc3RhbnRzLlhNTE5TX0FUVFJJQlVURV9OU19VUkk8L2NvZGU+CiAgICAgICAgICAgKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3htbG5zLyIpPC90ZD4KICAgICAgIDx0ZD48Y29kZT5JdGVyYXRvcjwvY29kZT4gd2l0aCBvbmUgZWxlbWVudCBzZXQgdG8KICAgICAgICAgPGNvZGU+WE1MQ29uc3RhbnRzLlhNTE5TX0FUVFJJQlVURTwvY29kZT4gKCJ4bWxucyIpPC90ZD4KICAgICA8L3RyPgogICAgIDx0cj4KICAgICAgIDx0ZD48Y29kZT5udWxsPC9jb2RlPjwvdGQ+CiAgICAgICA8dGQ+PGNvZGU+SWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uPC9jb2RlPiBpcyB0aHJvd248L3RkPgogICAgIDwvdHI+CiAgIDwvdGJvZHk+CiA8L3RhYmxlPjxERD48REw+DQo8RFQ+PEI+UGFyYW1ldGVyczo8L0I+PEREPjxDT0RFPm5hbWVzcGFjZVVSSTwvQ09ERT4gLSBVUkkgb2YgTmFtZXNwYWNlIHRvIGxvb2t1cDxEVD48Qj5SZXR1cm5zOjwvQj48REQ+PGNvZGU+SXRlcmF0b3I8L2NvZGU+IGZvciBhbGwgcHJlZml4ZXMgYm91bmQgdG8gdGhlCiBOYW1lc3BhY2UgVVJJIGluIHRoZSBjdXJyZW50IHNjb3BlPC9ETD4NCjwvREQ+DQo8L0RMPg0KPCEtLSA9PT09PT09PT0gRU5EIE9GIENMQVNTIERBVEEgPT09PT09PT09IC0tPg0KPEhSPg0KDQo8IS0tID09PT09PT09PT0gU1RBUlQgT0YgTkFWQkFSID09PT09PT09PT0gLS0+DQo8QSBOQU1FPSJuYXZiYXJfYm90dG9tIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMCIgV0lEVEg9IjEwMCUiIENFTExQQURESU5HPSIxIiBDRUxMU1BBQ0lORz0iMCI+DQo8VFI+DQo8VEQgQ09MU1BBTj0yIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+DQo8QSBOQU1FPSJuYXZiYXJfYm90dG9tX2ZpcnN0cm93Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMCIgQ0VMTFBBRERJTkc9IjAiIENFTExTUEFDSU5HPSIzIj4NCiAgPFRSIEFMSUdOPSJjZW50ZXIiIFZBTElHTj0idG9wIj4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uL292ZXJ2aWV3LXN1bW1hcnkuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5PdmVydmlldzwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJwYWNrYWdlLXN1bW1hcnkuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5QYWNrYWdlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNGRkZGRkYiIENMQVNTPSJOYXZCYXJDZWxsMVJldiI+ICZuYnNwOzxGT05UIENMQVNTPSJOYXZCYXJGb250MVJldiI+PEI+Q2xhc3M8L0I+PC9GT05UPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJjbGFzcy11c2UvTmFtZXNwYWNlQ29udGV4dC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPlVzZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+DQogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSJwYWNrYWdlLXRyZWUuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5UcmVlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uL2RlcHJlY2F0ZWQtbGlzdC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkRlcHJlY2F0ZWQ8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vaW5kZXgtYWxsLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+SW5kZXg8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPg0KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vaGVscC1kb2MuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5IZWxwPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4NCiAgPC9UUj4NCjwvVEFCTEU+DQo8L1REPg0KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFJPV1NQQU49Mz48RU0+DQo8L0VNPg0KPC9URD4NCjwvVFI+DQoNCjxUUj4NCjxURCBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9Ik5hdkJhckNlbGwyIj48Rk9OVCBTSVpFPSItMiI+DQombmJzcDtQUkVWIENMQVNTJm5ic3A7DQombmJzcDtORVhUIENMQVNTPC9GT05UPjwvVEQ+DQo8VEQgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJOYXZCYXJDZWxsMiI+PEZPTlQgU0laRT0iLTIiPg0KICA8QSBIUkVGPSIuLi8uLi8uLi9pbmRleC5odG1sIiBUQVJHRVQ9Il90b3AiPjxCPkZSQU1FUzwvQj48L0E+ICAmbmJzcDsNCiZuYnNwOzxBIEhSRUY9Ik5hbWVzcGFjZUNvbnRleHQuaHRtbCIgVEFSR0VUPSJfdG9wIj48Qj5OTyBGUkFNRVM8L0I+PC9BPjwvRk9OVD48L1REPg0KPC9UUj4NCjxUUj4NCjxURCBWQUxJR049InRvcCIgQ0xBU1M9Ik5hdkJhckNlbGwzIj48Rk9OVCBTSVpFPSItMiI+DQogIFNVTU1BUlk6ICZuYnNwO0lOTkVSJm5ic3A7fCZuYnNwO0ZJRUxEJm5ic3A7fCZuYnNwO0NPTlNUUiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjbWV0aG9kX3N1bW1hcnkiPk1FVEhPRDwvQT48L0ZPTlQ+PC9URD4NCjxURCBWQUxJR049InRvcCIgQ0xBU1M9Ik5hdkJhckNlbGwzIj48Rk9OVCBTSVpFPSItMiI+DQpERVRBSUw6ICZuYnNwO0ZJRUxEJm5ic3A7fCZuYnNwO0NPTlNUUiZuYnNwO3wmbmJzcDs8QSBIUkVGPSIjbWV0aG9kX2RldGFpbCI+TUVUSE9EPC9BPjwvRk9OVD48L1REPg0KPC9UUj4NCjwvVEFCTEU+DQo8IS0tID09PT09PT09PT09IEVORCBPRiBOQVZCQVIgPT09PT09PT09PT0gLS0+DQoNCjxIUj4NCkNvcHlyaWdodCCpIDIwMDYgQXBhY2hlIFhNTCBQcm9qZWN0LiBBbGwgUmlnaHRzIFJlc2VydmVkLg0KPC9CT0RZPg0KPC9IVE1MPg0K