PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIiJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwL2xvb3NlLmR0ZCI+CjwhLS1OZXdQYWdlLS0+CjxIVE1MPgo8SEVBRD4KPCEtLSBHZW5lcmF0ZWQgYnkgamF2YWRvYyBvbiBGcmkgQXVnIDIyIDAzOjQzOjQ4IEVEVCAyMDAzIC0tPgo8VElUTEU+ClVzZXMgb2YgQ2xhc3Mgb3JnLmFwYWNoZS5zdHJ1dHMuYWN0aW9uLkFjdGlvbkZvcm0gKEFwYWNoZSBTdHJ1dHMgQVBJIERvY3VtZW50YXRpb24pCjwvVElUTEU+CjxMSU5LIFJFTCA9InN0eWxlc2hlZXQiIFRZUEU9InRleHQvY3NzIiBIUkVGPSIuLi8uLi8uLi8uLi8uLi9zdHlsZXNoZWV0LmNzcyIgVElUTEU9IlN0eWxlIj4KPC9IRUFEPgo8U0NSSVBUPgpmdW5jdGlvbiBhc2QoKQp7CnBhcmVudC5kb2N1bWVudC50aXRsZT0iVXNlcyBvZiBDbGFzcyBvcmcuYXBhY2hlLnN0cnV0cy5hY3Rpb24uQWN0aW9uRm9ybSAoQXBhY2hlIFN0cnV0cyBBUEkgRG9jdW1lbnRhdGlvbikiOwp9CjwvU0NSSVBUPgo8Qk9EWSBCR0NPTE9SPSJ3aGl0ZSIgb25sb2FkPSJhc2QoKTsiPgoKPCEtLSA9PT09PT09PT09IFNUQVJUIE9GIE5BVkJBUiA9PT09PT09PT09IC0tPgo8QSBOQU1FPSJuYXZiYXJfdG9wIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMCIgV0lEVEg9IjEwMCUiIENFTExQQURESU5HPSIxIiBDRUxMU1BBQ0lORz0iMCI+CjxUUj4KPFREIENPTFNQQU49MyBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPgo8QSBOQU1FPSJuYXZiYXJfdG9wX2ZpcnN0cm93Ij48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMCIgQ0VMTFBBRERJTkc9IjAiIENFTExTUEFDSU5HPSIzIj4KICA8VFIgQUxJR049ImNlbnRlciIgVkFMSUdOPSJ0b3AiPgogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vdmVydmlldy1zdW1tYXJ5Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+T3ZlcnZpZXc8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPgogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi9wYWNrYWdlLXN1bW1hcnkuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5QYWNrYWdlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbkZvcm0uaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5DbGFzczwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPFREIEJHQ09MT1I9IiNGRkZGRkYiIENMQVNTPSJOYXZCYXJDZWxsMVJldiI+ICZuYnNwOzxGT05UIENMQVNTPSJOYXZCYXJGb250MVJldiI+PEI+VXNlPC9CPjwvRk9OVD4mbmJzcDs8L1REPgogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi9wYWNrYWdlLXRyZWUuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5UcmVlPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vZGVwcmVjYXRlZC1saXN0Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+RGVwcmVjYXRlZDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL2luZGV4LWFsbC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkluZGV4PC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vaGVscC1kb2MuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5IZWxwPC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4KICA8L1RSPgo8L1RBQkxFPgo8L1REPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgUk9XU1BBTj0zPjxFTT4KPC9FTT4KPC9URD4KPC9UUj4KCjxUUj4KPFREIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iTmF2QmFyQ2VsbDIiPjxGT05UIFNJWkU9Ii0yIj4KJm5ic3A7UFJFViZuYnNwOwombmJzcDtORVhUPC9GT05UPjwvVEQ+CjxURCBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9Ik5hdkJhckNlbGwyIj48Rk9OVCBTSVpFPSItMiI+CiAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vaW5kZXguaHRtbCIgVEFSR0VUPSJfdG9wIj48Qj5GUkFNRVM8L0I+PC9BPiAgJm5ic3A7CiZuYnNwOzxBIEhSRUY9IkFjdGlvbkZvcm0uaHRtbCIgVEFSR0VUPSJfdG9wIj48Qj5OTyBGUkFNRVM8L0I+PC9BPiAgJm5ic3A7CiZuYnNwOwo8U0NSSVBUPgogIDwhLS0KICBpZih3aW5kb3c9PXRvcCkgewogICAgZG9jdW1lbnQud3JpdGVsbignPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vYWxsY2xhc3Nlcy1ub2ZyYW1lLmh0bWwiIFRBUkdFVD0iIj48Qj5BbGwgQ2xhc3NlczwvQj48L0E+Jyk7CiAgfQogIC8vLS0+CjwvU0NSSVBUPgo8Tk9TQ1JJUFQ+CjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL2FsbGNsYXNzZXMtbm9mcmFtZS5odG1sIiBUQVJHRVQ9IiI+PEI+QWxsIENsYXNzZXM8L0I+PC9BPgo8L05PU0NSSVBUPgo8L0ZPTlQ+PC9URD4KPC9UUj4KPC9UQUJMRT4KPCEtLSA9PT09PT09PT09PSBFTkQgT0YgTkFWQkFSID09PT09PT09PT09IC0tPgoKPEhSPgo8Q0VOVEVSPgo8SDI+CjxCPlVzZXMgb2YgQ2xhc3M8YnI+b3JnLmFwYWNoZS5zdHJ1dHMuYWN0aW9uLkFjdGlvbkZvcm08L0I+PC9IMj4KPC9DRU5URVI+Cgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+CjxURCBDT0xTUEFOPTI+PEZPTlQgU0laRT0iKzIiPgpQYWNrYWdlcyB0aGF0IHVzZSA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vQWN0aW9uRm9ybS5odG1sIj5BY3Rpb25Gb3JtPC9BPjwvRk9OVD48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREPjxBIEhSRUY9IiNvcmcuYXBhY2hlLnN0cnV0cy5hY3Rpb24iPjxCPm9yZy5hcGFjaGUuc3RydXRzLmFjdGlvbjwvQj48L0E+PC9URD4KPFREPiBUaGUgYWN0aW9uIHBhY2thZ2UgaXMgdGhlIGNvcmUgb2YgdGhlIHN0cnV0cyBmcmFtZXdvcmssCiAgICBwcm92aWRpbmcgdGhlICJDb250cm9sbGVyIiBhc3BlY3Qgb2YgYSBNVkMgbW9kZWwuJm5ic3A7PC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURD48QSBIUkVGPSIjb3JnLmFwYWNoZS5zdHJ1dHMuYWN0aW9ucyI+PEI+b3JnLmFwYWNoZS5zdHJ1dHMuYWN0aW9uczwvQj48L0E+PC9URD4KPFREPiBUaGUgYWN0aW9ucyBwYWNrYWdlIHByb3ZpZGVzIHNwZWNpYWwgYWRhcHRlcnMgYmV0d2VlbiB0aGUgaW5jb21pbmcgIEhUVFAKIHJlcXVlc3QgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGJ1c2luZXNzIGxvZ2ljLiZuYnNwOzwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQ+PEEgSFJFRj0iI29yZy5hcGFjaGUuc3RydXRzLmNvbmZpZyI+PEI+b3JnLmFwYWNoZS5zdHJ1dHMuY29uZmlnPC9CPjwvQT48L1REPgo8VEQ+VGhlICJjb25maWciIHBhY2thZ2UgY29udGFpbnMgY29uZmlndXJhdGlvbiBvYmplY3RzIHRoYXQgY29ycmVzcG9uZCB0bwplbGVtZW50cyB0aGF0IG1heSBiZSBzcGVjaWZpZWQgaW4gdGhlIDxjb2RlPnN0cnV0cy1jb25maWcueG1sPC9jb2RlPgptb2R1bGUgY29uZmlndXJhdGlvbiBmaWxlLiZuYnNwOzwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQ+PEEgSFJFRj0iI29yZy5hcGFjaGUuc3RydXRzLnRpbGVzIj48Qj5vcmcuYXBhY2hlLnN0cnV0cy50aWxlczwvQj48L0E+PC9URD4KPFREPjxkaXYgY2xhc3M9Im1haW5Db250ZW50Ij4KICAgIFRoZSBUaWxlcyB0YWdsaWIgYW5kIGZyYW1ld29yayBhbGxvd3MgYnVpbGRpbmcgd2ViIHBhZ2VzIGJ5IGFzc2VtYmxpbmcgcmV1c2FibGUgCiAgICBwaWVjZXMgb2YgcGFnZXMsIGNhbGxlZCBUaWxlcy4mbmJzcDs8L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREPjxBIEhSRUY9IiNvcmcuYXBhY2hlLnN0cnV0cy50aWxlcy5hY3Rpb25zIj48Qj5vcmcuYXBhY2hlLnN0cnV0cy50aWxlcy5hY3Rpb25zPC9CPjwvQT48L1REPgo8VEQ+Jm5ic3A7Jm5ic3A7PC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURD48QSBIUkVGPSIjb3JnLmFwYWNoZS5zdHJ1dHMudXRpbCI+PEI+b3JnLmFwYWNoZS5zdHJ1dHMudXRpbDwvQj48L0E+PC9URD4KPFREPlRoZSBVdGlsaXRpZXMgcGFja2FnZSBwcm92aWRlcyBhIHZhcmlldHkgb2YgZmFtaWxpZXMgb2YgY2xhc3NlcywKdG8gc29sdmUgcHJvYmxlbXMgdGhhdCBhcmUgY29tbW9ubHkgZW5jb3VudGVyZWQgaW4gYnVpbGRpbmcgd2ViIGFwcGxpY2F0aW9ucy4mbmJzcDs8L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREPjxBIEhSRUY9IiNvcmcuYXBhY2hlLnN0cnV0cy52YWxpZGF0b3IiPjxCPm9yZy5hcGFjaGUuc3RydXRzLnZhbGlkYXRvcjwvQj48L0E+PC9URD4KPFREPiBUaGUgdmFsaWRhdG9yIHBhY2thZ2UgcHJvdmlkZXMgYSBzZXJpZXMgb2YgY2xhc3NlcyB0byB2YWxpZGF0ZSAKICAgPGNvZGU+QWN0aW9uRm9ybTwvY29kZT4gdHlwZSBvZiBpbnB1dC4mbmJzcDs8L1REPgo8L1RSPgo8L1RBQkxFPgombmJzcDsKPFA+CjxBIE5BTUU9Im9yZy5hcGFjaGUuc3RydXRzLmFjdGlvbiI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPgo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4KPFREIENPTFNQQU49Mj48Rk9OVCBTSVpFPSIrMiI+ClVzZXMgb2YgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbkZvcm0uaHRtbCI+QWN0aW9uRm9ybTwvQT4gaW4gPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL3BhY2thZ2Utc3VtbWFyeS5odG1sIj5vcmcuYXBhY2hlLnN0cnV0cy5hY3Rpb248L0E+PC9GT05UPjwvVEQ+CjwvVFI+CjwvVEFCTEU+CiZuYnNwOwo8UD4KCjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPgo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlU3ViSGVhZGluZ0NvbG9yIj4KPFREIENPTFNQQU49Mj5TdWJjbGFzc2VzIG9mIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25Gb3JtLmh0bWwiPkFjdGlvbkZvcm08L0E+IGluIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9wYWNrYWdlLXN1bW1hcnkuaHRtbCI+b3JnLmFwYWNoZS5zdHJ1dHMuYWN0aW9uPC9BPjwvRk9OVD48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT4mbmJzcDtjbGFzczwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9EeW5hQWN0aW9uRm9ybS5odG1sIj5EeW5hQWN0aW9uRm9ybTwvQT48L0I+PC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtTcGVjaWFsaXplZCBzdWJjbGFzcyBvZiA8Y29kZT5BY3Rpb25Gb3JtPC9jb2RlPiB0aGF0IGFsbG93cyB0aGUgY3JlYXRpb24KIG9mIGZvcm0gYmVhbnMgd2l0aCBkeW5hbWljIHNldHMgb2YgcHJvcGVydGllcywgd2l0aG91dCByZXF1aXJpbmcgdGhlCiBkZXZlbG9wZXIgdG8gY3JlYXRlIGEgSmF2YSBjbGFzcyBmb3IgZWFjaCB0eXBlIG9mIGZvcm0gYmVhbi48L1REPgo8L1RSPgo8L1RBQkxFPgombmJzcDsKPFA+Cgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZVN1YkhlYWRpbmdDb2xvciI+CjxURCBDT0xTUEFOPTI+TWV0aG9kcyBpbiA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vcGFja2FnZS1zdW1tYXJ5Lmh0bWwiPm9yZy5hcGFjaGUuc3RydXRzLmFjdGlvbjwvQT4gdGhhdCByZXR1cm4gPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbkZvcm0uaHRtbCI+QWN0aW9uRm9ybTwvQT48L0ZPTlQ+PC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+cHJvdGVjdGVkICZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25Gb3JtLmh0bWwiPkFjdGlvbkZvcm08L0E+PC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+UmVxdWVzdFByb2Nlc3Nvci48L0I+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL1JlcXVlc3RQcm9jZXNzb3IuaHRtbCNwcm9jZXNzQWN0aW9uRm9ybShqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXF1ZXN0LCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXNwb25zZSwgb3JnLmFwYWNoZS5zdHJ1dHMuYWN0aW9uLkFjdGlvbk1hcHBpbmcpIj5wcm9jZXNzQWN0aW9uRm9ybTwvQT48L0I+KGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldFJlcXVlc3QmbmJzcDtyZXF1ZXN0LAogICAgICAgICAgICAgICAgICBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXNwb25zZSZuYnNwO3Jlc3BvbnNlLAogICAgICAgICAgICAgICAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vQWN0aW9uTWFwcGluZy5odG1sIj5BY3Rpb25NYXBwaW5nPC9BPiZuYnNwO21hcHBpbmcpPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtSZXRyaWV2ZSBhbmQgcmV0dXJuIHRoZSA8Y29kZT5BY3Rpb25Gb3JtPC9jb2RlPiBiZWFuIGFzc29jaWF0ZWQgd2l0aAogdGhpcyBtYXBwaW5nLCBjcmVhdGluZyBhbmQgc3Rhc2hpbmcgb25lIGlmIG5lY2Vzc2FyeS48L1REPgo8L1RSPgo8L1RBQkxFPgombmJzcDsKPFA+Cgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZVN1YkhlYWRpbmdDb2xvciI+CjxURCBDT0xTUEFOPTI+TWV0aG9kcyBpbiA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vcGFja2FnZS1zdW1tYXJ5Lmh0bWwiPm9yZy5hcGFjaGUuc3RydXRzLmFjdGlvbjwvQT4gd2l0aCBwYXJhbWV0ZXJzIG9mIHR5cGUgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbkZvcm0uaHRtbCI+QWN0aW9uRm9ybTwvQT48L0ZPTlQ+PC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+cHJvdGVjdGVkICZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25Gb3J3YXJkLmh0bWwiPkFjdGlvbkZvcndhcmQ8L0E+PC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+UmVxdWVzdFByb2Nlc3Nvci48L0I+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL1JlcXVlc3RQcm9jZXNzb3IuaHRtbCNwcm9jZXNzQWN0aW9uUGVyZm9ybShqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXF1ZXN0LCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXNwb25zZSwgb3JnLmFwYWNoZS5zdHJ1dHMuYWN0aW9uLkFjdGlvbiwgb3JnLmFwYWNoZS5zdHJ1dHMuYWN0aW9uLkFjdGlvbkZvcm0sIG9yZy5hcGFjaGUuc3RydXRzLmFjdGlvbi5BY3Rpb25NYXBwaW5nKSI+cHJvY2Vzc0FjdGlvblBlcmZvcm08L0E+PC9CPihqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXF1ZXN0Jm5ic3A7cmVxdWVzdCwKICAgICAgICAgICAgICAgICAgICAgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVzcG9uc2UmbmJzcDtyZXNwb25zZSwKICAgICAgICAgICAgICAgICAgICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbi5odG1sIj5BY3Rpb248L0E+Jm5ic3A7YWN0aW9uLAogICAgICAgICAgICAgICAgICAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vQWN0aW9uRm9ybS5odG1sIj5BY3Rpb25Gb3JtPC9BPiZuYnNwO2Zvcm0sCiAgICAgICAgICAgICAgICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25NYXBwaW5nLmh0bWwiPkFjdGlvbk1hcHBpbmc8L0E+Jm5ic3A7bWFwcGluZyk8L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0FzayB0aGUgc3BlY2lmaWVkIDxjb2RlPkFjdGlvbjwvY29kZT4gaW5zdGFuY2UgdG8gaGFuZGxlIHRoaXMKIHJlcXVlc3QuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+cHJvdGVjdGVkICZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25Gb3J3YXJkLmh0bWwiPkFjdGlvbkZvcndhcmQ8L0E+PC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+UmVxdWVzdFByb2Nlc3Nvci48L0I+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL1JlcXVlc3RQcm9jZXNzb3IuaHRtbCNwcm9jZXNzRXhjZXB0aW9uKGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldFJlcXVlc3QsIGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldFJlc3BvbnNlLCBqYXZhLmxhbmcuRXhjZXB0aW9uLCBvcmcuYXBhY2hlLnN0cnV0cy5hY3Rpb24uQWN0aW9uRm9ybSwgb3JnLmFwYWNoZS5zdHJ1dHMuYWN0aW9uLkFjdGlvbk1hcHBpbmcpIj5wcm9jZXNzRXhjZXB0aW9uPC9BPjwvQj4oamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVxdWVzdCZuYnNwO3JlcXVlc3QsCiAgICAgICAgICAgICAgICAgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVzcG9uc2UmbmJzcDtyZXNwb25zZSwKICAgICAgICAgICAgICAgICBqYXZhLmxhbmcuRXhjZXB0aW9uJm5ic3A7ZXhjZXB0aW9uLAogICAgICAgICAgICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25Gb3JtLmh0bWwiPkFjdGlvbkZvcm08L0E+Jm5ic3A7Zm9ybSwKICAgICAgICAgICAgICAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vQWN0aW9uTWFwcGluZy5odG1sIj5BY3Rpb25NYXBwaW5nPC9BPiZuYnNwO21hcHBpbmcpPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtBc2sgb3VyIGV4Y2VwdGlvbiBoYW5kbGVyIHRvIGhhbmRsZSB0aGUgZXhjZXB0aW9uLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPnByb3RlY3RlZCAmbmJzcDt2b2lkPC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+UmVxdWVzdFByb2Nlc3Nvci48L0I+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL1JlcXVlc3RQcm9jZXNzb3IuaHRtbCNwcm9jZXNzUG9wdWxhdGUoamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVxdWVzdCwgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVzcG9uc2UsIG9yZy5hcGFjaGUuc3RydXRzLmFjdGlvbi5BY3Rpb25Gb3JtLCBvcmcuYXBhY2hlLnN0cnV0cy5hY3Rpb24uQWN0aW9uTWFwcGluZykiPnByb2Nlc3NQb3B1bGF0ZTwvQT48L0I+KGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldFJlcXVlc3QmbmJzcDtyZXF1ZXN0LAogICAgICAgICAgICAgICAgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVzcG9uc2UmbmJzcDtyZXNwb25zZSwKICAgICAgICAgICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25Gb3JtLmh0bWwiPkFjdGlvbkZvcm08L0E+Jm5ic3A7Zm9ybSwKICAgICAgICAgICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25NYXBwaW5nLmh0bWwiPkFjdGlvbk1hcHBpbmc8L0E+Jm5ic3A7bWFwcGluZyk8L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1BvcHVsYXRlIHRoZSBwcm9wZXJ0aWVzIG9mIHRoZSBzcGVjaWZpZWQgQWN0aW9uRm9ybSBpbnN0YW5jZSBmcm9tCiB0aGUgcmVxdWVzdCBwYXJhbWV0ZXJzIGluY2x1ZGVkIHdpdGggdGhpcyByZXF1ZXN0LjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPnByb3RlY3RlZCAmbmJzcDtib29sZWFuPC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+UmVxdWVzdFByb2Nlc3Nvci48L0I+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL1JlcXVlc3RQcm9jZXNzb3IuaHRtbCNwcm9jZXNzVmFsaWRhdGUoamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVxdWVzdCwgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVzcG9uc2UsIG9yZy5hcGFjaGUuc3RydXRzLmFjdGlvbi5BY3Rpb25Gb3JtLCBvcmcuYXBhY2hlLnN0cnV0cy5hY3Rpb24uQWN0aW9uTWFwcGluZykiPnByb2Nlc3NWYWxpZGF0ZTwvQT48L0I+KGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldFJlcXVlc3QmbmJzcDtyZXF1ZXN0LAogICAgICAgICAgICAgICAgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVzcG9uc2UmbmJzcDtyZXNwb25zZSwKICAgICAgICAgICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25Gb3JtLmh0bWwiPkFjdGlvbkZvcm08L0E+Jm5ic3A7Zm9ybSwKICAgICAgICAgICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25NYXBwaW5nLmh0bWwiPkFjdGlvbk1hcHBpbmc8L0E+Jm5ic3A7bWFwcGluZyk8L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0lmIHRoaXMgcmVxdWVzdCB3YXMgbm90IGNhbmNlbGxlZCwgYW5kIHRoZSByZXF1ZXN0J3MKIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25NYXBwaW5nLmh0bWwiPjxDT0RFPkFjdGlvbk1hcHBpbmc8L0NPREU+PC9BPiBoYXMgbm90IGRpc2FibGVkIHZhbGlkYXRpb24sIGNhbGwgdGhlCiA8Y29kZT52YWxpZGF0ZSgpPC9jb2RlPiBtZXRob2Qgb2YgdGhlIHNwZWNpZmllZCA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vQWN0aW9uRm9ybS5odG1sIj48Q09ERT5BY3Rpb25Gb3JtPC9DT0RFPjwvQT4sCiBhbmQgZm9yd2FyZCBiYWNrIHRvIHRoZSBpbnB1dCBmb3JtIGlmIHRoZXJlIHdlcmUgYW55IGVycm9ycy48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT4mbmJzcDs8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vQWN0aW9uRm9yd2FyZC5odG1sIj5BY3Rpb25Gb3J3YXJkPC9BPjwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPkFjdGlvbi48L0I+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbi5odG1sI2V4ZWN1dGUob3JnLmFwYWNoZS5zdHJ1dHMuYWN0aW9uLkFjdGlvbk1hcHBpbmcsIG9yZy5hcGFjaGUuc3RydXRzLmFjdGlvbi5BY3Rpb25Gb3JtLCBqYXZheC5zZXJ2bGV0LlNlcnZsZXRSZXF1ZXN0LCBqYXZheC5zZXJ2bGV0LlNlcnZsZXRSZXNwb25zZSkiPmV4ZWN1dGU8L0E+PC9CPig8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vQWN0aW9uTWFwcGluZy5odG1sIj5BY3Rpb25NYXBwaW5nPC9BPiZuYnNwO21hcHBpbmcsCiAgICAgICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbkZvcm0uaHRtbCI+QWN0aW9uRm9ybTwvQT4mbmJzcDtmb3JtLAogICAgICAgIGphdmF4LnNlcnZsZXQuU2VydmxldFJlcXVlc3QmbmJzcDtyZXF1ZXN0LAogICAgICAgIGphdmF4LnNlcnZsZXQuU2VydmxldFJlc3BvbnNlJm5ic3A7cmVzcG9uc2UpPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtQcm9jZXNzIHRoZSBzcGVjaWZpZWQgbm9uLUhUVFAgcmVxdWVzdCwgYW5kIGNyZWF0ZSB0aGUKIGNvcnJlc3BvbmRpbmcgbm9uLUhUVFAgcmVzcG9uc2UgKG9yIGZvcndhcmQgdG8gYW5vdGhlciB3ZWIKIGNvbXBvbmVudCB0aGF0IHdpbGwgY3JlYXRlIGl0KSwgd2l0aCBwcm92aXNpb24gZm9yIGhhbmRsaW5nCiBleGNlcHRpb25zIHRocm93biBieSB0aGUgYnVzaW5lc3MgbG9naWMuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+Jm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbkZvcndhcmQuaHRtbCI+QWN0aW9uRm9yd2FyZDwvQT48L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj5BY3Rpb24uPC9CPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb24uaHRtbCNleGVjdXRlKG9yZy5hcGFjaGUuc3RydXRzLmFjdGlvbi5BY3Rpb25NYXBwaW5nLCBvcmcuYXBhY2hlLnN0cnV0cy5hY3Rpb24uQWN0aW9uRm9ybSwgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVxdWVzdCwgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVzcG9uc2UpIj5leGVjdXRlPC9BPjwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbk1hcHBpbmcuaHRtbCI+QWN0aW9uTWFwcGluZzwvQT4mbmJzcDttYXBwaW5nLAogICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25Gb3JtLmh0bWwiPkFjdGlvbkZvcm08L0E+Jm5ic3A7Zm9ybSwKICAgICAgICBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXF1ZXN0Jm5ic3A7cmVxdWVzdCwKICAgICAgICBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXNwb25zZSZuYnNwO3Jlc3BvbnNlKTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UHJvY2VzcyB0aGUgc3BlY2lmaWVkIEhUVFAgcmVxdWVzdCwgYW5kIGNyZWF0ZSB0aGUgY29ycmVzcG9uZGluZyBIVFRQCiByZXNwb25zZSAob3IgZm9yd2FyZCB0byBhbm90aGVyIHdlYiBjb21wb25lbnQgdGhhdCB3aWxsIGNyZWF0ZSBpdCksCiB3aXRoIHByb3Zpc2lvbiBmb3IgaGFuZGxpbmcgZXhjZXB0aW9ucyB0aHJvd24gYnkgdGhlIGJ1c2luZXNzIGxvZ2ljLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25Gb3J3YXJkLmh0bWwiPkFjdGlvbkZvcndhcmQ8L0E+PC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+QWN0aW9uLjwvQj48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vQWN0aW9uLmh0bWwjcGVyZm9ybShvcmcuYXBhY2hlLnN0cnV0cy5hY3Rpb24uQWN0aW9uTWFwcGluZywgb3JnLmFwYWNoZS5zdHJ1dHMuYWN0aW9uLkFjdGlvbkZvcm0sIGphdmF4LnNlcnZsZXQuU2VydmxldFJlcXVlc3QsIGphdmF4LnNlcnZsZXQuU2VydmxldFJlc3BvbnNlKSI+cGVyZm9ybTwvQT48L0I+KDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25NYXBwaW5nLmh0bWwiPkFjdGlvbk1hcHBpbmc8L0E+Jm5ic3A7bWFwcGluZywKICAgICAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vQWN0aW9uRm9ybS5odG1sIj5BY3Rpb25Gb3JtPC9BPiZuYnNwO2Zvcm0sCiAgICAgICAgamF2YXguc2VydmxldC5TZXJ2bGV0UmVxdWVzdCZuYnNwO3JlcXVlc3QsCiAgICAgICAgamF2YXguc2VydmxldC5TZXJ2bGV0UmVzcG9uc2UmbmJzcDtyZXNwb25zZSk8L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxCPkRlcHJlY2F0ZWQuPC9CPiZuYnNwOzxJPlVzZSB0aGUgPGNvZGU+ZXhlY3V0ZSgpPC9jb2RlPiBtZXRob2QgaW5zdGVhZDwvST48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT4mbmJzcDs8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vQWN0aW9uRm9yd2FyZC5odG1sIj5BY3Rpb25Gb3J3YXJkPC9BPjwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPkFjdGlvbi48L0I+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbi5odG1sI3BlcmZvcm0ob3JnLmFwYWNoZS5zdHJ1dHMuYWN0aW9uLkFjdGlvbk1hcHBpbmcsIG9yZy5hcGFjaGUuc3RydXRzLmFjdGlvbi5BY3Rpb25Gb3JtLCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXF1ZXN0LCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXNwb25zZSkiPnBlcmZvcm08L0E+PC9CPig8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vQWN0aW9uTWFwcGluZy5odG1sIj5BY3Rpb25NYXBwaW5nPC9BPiZuYnNwO21hcHBpbmcsCiAgICAgICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbkZvcm0uaHRtbCI+QWN0aW9uRm9ybTwvQT4mbmJzcDtmb3JtLAogICAgICAgIGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldFJlcXVlc3QmbmJzcDtyZXF1ZXN0LAogICAgICAgIGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldFJlc3BvbnNlJm5ic3A7cmVzcG9uc2UpPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8Qj5EZXByZWNhdGVkLjwvQj4mbmJzcDs8ST5Vc2UgdGhlIDxjb2RlPmV4ZWN1dGUoKTwvY29kZT4gbWV0aG9kIGluc3RlYWQ8L0k+PC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+Jm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbkZvcndhcmQuaHRtbCI+QWN0aW9uRm9yd2FyZDwvQT48L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj5FeGNlcHRpb25IYW5kbGVyLjwvQj48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vRXhjZXB0aW9uSGFuZGxlci5odG1sI2V4ZWN1dGUoamF2YS5sYW5nLkV4Y2VwdGlvbiwgb3JnLmFwYWNoZS5zdHJ1dHMuY29uZmlnLkV4Y2VwdGlvbkNvbmZpZywgb3JnLmFwYWNoZS5zdHJ1dHMuYWN0aW9uLkFjdGlvbk1hcHBpbmcsIG9yZy5hcGFjaGUuc3RydXRzLmFjdGlvbi5BY3Rpb25Gb3JtLCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXF1ZXN0LCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXNwb25zZSkiPmV4ZWN1dGU8L0E+PC9CPihqYXZhLmxhbmcuRXhjZXB0aW9uJm5ic3A7ZXgsCiAgICAgICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvY29uZmlnL0V4Y2VwdGlvbkNvbmZpZy5odG1sIj5FeGNlcHRpb25Db25maWc8L0E+Jm5ic3A7YWUsCiAgICAgICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbk1hcHBpbmcuaHRtbCI+QWN0aW9uTWFwcGluZzwvQT4mbmJzcDttYXBwaW5nLAogICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25Gb3JtLmh0bWwiPkFjdGlvbkZvcm08L0E+Jm5ic3A7Zm9ybUluc3RhbmNlLAogICAgICAgIGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldFJlcXVlc3QmbmJzcDtyZXF1ZXN0LAogICAgICAgIGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldFJlc3BvbnNlJm5ic3A7cmVzcG9uc2UpPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtIYW5kbGUgdGhlIGV4Y2VwdGlvbi48L1REPgo8L1RSPgo8L1RBQkxFPgombmJzcDsKPFA+CjxBIE5BTUU9Im9yZy5hcGFjaGUuc3RydXRzLmFjdGlvbnMiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+CjxURCBDT0xTUEFOPTI+PEZPTlQgU0laRT0iKzIiPgpVc2VzIG9mIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25Gb3JtLmh0bWwiPkFjdGlvbkZvcm08L0E+IGluIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbnMvcGFja2FnZS1zdW1tYXJ5Lmh0bWwiPm9yZy5hcGFjaGUuc3RydXRzLmFjdGlvbnM8L0E+PC9GT05UPjwvVEQ+CjwvVFI+CjwvVEFCTEU+CiZuYnNwOwo8UD4KCjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPgo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlU3ViSGVhZGluZ0NvbG9yIj4KPFREIENPTFNQQU49Mj5NZXRob2RzIGluIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbnMvcGFja2FnZS1zdW1tYXJ5Lmh0bWwiPm9yZy5hcGFjaGUuc3RydXRzLmFjdGlvbnM8L0E+IHdpdGggcGFyYW1ldGVycyBvZiB0eXBlIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25Gb3JtLmh0bWwiPkFjdGlvbkZvcm08L0E+PC9GT05UPjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25Gb3J3YXJkLmh0bWwiPkFjdGlvbkZvcndhcmQ8L0E+PC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+TG9va3VwRGlzcGF0Y2hBY3Rpb24uPC9CPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbnMvTG9va3VwRGlzcGF0Y2hBY3Rpb24uaHRtbCNleGVjdXRlKG9yZy5hcGFjaGUuc3RydXRzLmFjdGlvbi5BY3Rpb25NYXBwaW5nLCBvcmcuYXBhY2hlLnN0cnV0cy5hY3Rpb24uQWN0aW9uRm9ybSwgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVxdWVzdCwgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVzcG9uc2UpIj5leGVjdXRlPC9BPjwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbk1hcHBpbmcuaHRtbCI+QWN0aW9uTWFwcGluZzwvQT4mbmJzcDttYXBwaW5nLAogICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25Gb3JtLmh0bWwiPkFjdGlvbkZvcm08L0E+Jm5ic3A7Zm9ybSwKICAgICAgICBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXF1ZXN0Jm5ic3A7cmVxdWVzdCwKICAgICAgICBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXNwb25zZSZuYnNwO3Jlc3BvbnNlKTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UHJvY2VzcyB0aGUgc3BlY2lmaWVkIEhUVFAgcmVxdWVzdCwgYW5kIGNyZWF0ZSB0aGUgY29ycmVzcG9uZGluZyBIVFRQCiAgcmVzcG9uc2UgKG9yIGZvcndhcmQgdG8gYW5vdGhlciB3ZWIgY29tcG9uZW50IHRoYXQgd2lsbCBjcmVhdGUgaXQpLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25Gb3J3YXJkLmh0bWwiPkFjdGlvbkZvcndhcmQ8L0E+PC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+Rm9yd2FyZEFjdGlvbi48L0I+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9ucy9Gb3J3YXJkQWN0aW9uLmh0bWwjZXhlY3V0ZShvcmcuYXBhY2hlLnN0cnV0cy5hY3Rpb24uQWN0aW9uTWFwcGluZywgb3JnLmFwYWNoZS5zdHJ1dHMuYWN0aW9uLkFjdGlvbkZvcm0sIGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldFJlcXVlc3QsIGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldFJlc3BvbnNlKSI+ZXhlY3V0ZTwvQT48L0I+KDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25NYXBwaW5nLmh0bWwiPkFjdGlvbk1hcHBpbmc8L0E+Jm5ic3A7bWFwcGluZywKICAgICAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vQWN0aW9uRm9ybS5odG1sIj5BY3Rpb25Gb3JtPC9BPiZuYnNwO2Zvcm0sCiAgICAgICAgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVxdWVzdCZuYnNwO3JlcXVlc3QsCiAgICAgICAgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVzcG9uc2UmbmJzcDtyZXNwb25zZSk8L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1Byb2Nlc3MgdGhlIHNwZWNpZmllZCBIVFRQIHJlcXVlc3QsIGFuZCBjcmVhdGUgdGhlIGNvcnJlc3BvbmRpbmcgSFRUUAogcmVzcG9uc2UgKG9yIGZvcndhcmQgdG8gYW5vdGhlciB3ZWIgY29tcG9uZW50IHRoYXQgd2lsbCBjcmVhdGUgaXQpLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25Gb3J3YXJkLmh0bWwiPkFjdGlvbkZvcndhcmQ8L0E+PC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+RGlzcGF0Y2hBY3Rpb24uPC9CPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbnMvRGlzcGF0Y2hBY3Rpb24uaHRtbCNleGVjdXRlKG9yZy5hcGFjaGUuc3RydXRzLmFjdGlvbi5BY3Rpb25NYXBwaW5nLCBvcmcuYXBhY2hlLnN0cnV0cy5hY3Rpb24uQWN0aW9uRm9ybSwgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVxdWVzdCwgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVzcG9uc2UpIj5leGVjdXRlPC9BPjwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbk1hcHBpbmcuaHRtbCI+QWN0aW9uTWFwcGluZzwvQT4mbmJzcDttYXBwaW5nLAogICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25Gb3JtLmh0bWwiPkFjdGlvbkZvcm08L0E+Jm5ic3A7Zm9ybSwKICAgICAgICBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXF1ZXN0Jm5ic3A7cmVxdWVzdCwKICAgICAgICBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXNwb25zZSZuYnNwO3Jlc3BvbnNlKTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UHJvY2VzcyB0aGUgc3BlY2lmaWVkIEhUVFAgcmVxdWVzdCwgYW5kIGNyZWF0ZSB0aGUgY29ycmVzcG9uZGluZyBIVFRQCiByZXNwb25zZSAob3IgZm9yd2FyZCB0byBhbm90aGVyIHdlYiBjb21wb25lbnQgdGhhdCB3aWxsIGNyZWF0ZSBpdCkuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+cHJvdGVjdGVkICZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25Gb3J3YXJkLmh0bWwiPkFjdGlvbkZvcndhcmQ8L0E+PC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+RGlzcGF0Y2hBY3Rpb24uPC9CPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbnMvRGlzcGF0Y2hBY3Rpb24uaHRtbCN1bnNwZWNpZmllZChvcmcuYXBhY2hlLnN0cnV0cy5hY3Rpb24uQWN0aW9uTWFwcGluZywgb3JnLmFwYWNoZS5zdHJ1dHMuYWN0aW9uLkFjdGlvbkZvcm0sIGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldFJlcXVlc3QsIGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldFJlc3BvbnNlKSI+dW5zcGVjaWZpZWQ8L0E+PC9CPig8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vQWN0aW9uTWFwcGluZy5odG1sIj5BY3Rpb25NYXBwaW5nPC9BPiZuYnNwO21hcHBpbmcsCiAgICAgICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25Gb3JtLmh0bWwiPkFjdGlvbkZvcm08L0E+Jm5ic3A7Zm9ybSwKICAgICAgICAgICAgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVxdWVzdCZuYnNwO3JlcXVlc3QsCiAgICAgICAgICAgIGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldFJlc3BvbnNlJm5ic3A7cmVzcG9uc2UpPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtNZXRob2Qgd2hpY2ggaXMgZGlzcGF0Y2hlZCB0byB3aGVuIHRoZXJlIGlzIG5vIHZhbHVlIGZvciBzcGVjaWZpZWQKIHJlcXVlc3QgcGFyYW1ldGVyIGluY2x1ZGVkIGluIHRoZSByZXF1ZXN0LjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPnByb3RlY3RlZCAmbmJzcDs8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vQWN0aW9uRm9yd2FyZC5odG1sIj5BY3Rpb25Gb3J3YXJkPC9BPjwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPkRpc3BhdGNoQWN0aW9uLjwvQj48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb25zL0Rpc3BhdGNoQWN0aW9uLmh0bWwjZGlzcGF0Y2hNZXRob2Qob3JnLmFwYWNoZS5zdHJ1dHMuYWN0aW9uLkFjdGlvbk1hcHBpbmcsIG9yZy5hcGFjaGUuc3RydXRzLmFjdGlvbi5BY3Rpb25Gb3JtLCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXF1ZXN0LCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXNwb25zZSwgamF2YS5sYW5nLlN0cmluZykiPmRpc3BhdGNoTWV0aG9kPC9BPjwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbk1hcHBpbmcuaHRtbCI+QWN0aW9uTWFwcGluZzwvQT4mbmJzcDttYXBwaW5nLAogICAgICAgICAgICAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vQWN0aW9uRm9ybS5odG1sIj5BY3Rpb25Gb3JtPC9BPiZuYnNwO2Zvcm0sCiAgICAgICAgICAgICAgIGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldFJlcXVlc3QmbmJzcDtyZXF1ZXN0LAogICAgICAgICAgICAgICBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXNwb25zZSZuYnNwO3Jlc3BvbnNlLAogICAgICAgICAgICAgICBqYXZhLmxhbmcuU3RyaW5nJm5ic3A7bmFtZSk8L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO0Rpc3BhdGNoIHRvIHRoZSBzcGVjaWZpZWQgbWV0aG9kLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25Gb3J3YXJkLmh0bWwiPkFjdGlvbkZvcndhcmQ8L0E+PC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+U3dpdGNoQWN0aW9uLjwvQj48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb25zL1N3aXRjaEFjdGlvbi5odG1sI2V4ZWN1dGUob3JnLmFwYWNoZS5zdHJ1dHMuYWN0aW9uLkFjdGlvbk1hcHBpbmcsIG9yZy5hcGFjaGUuc3RydXRzLmFjdGlvbi5BY3Rpb25Gb3JtLCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXF1ZXN0LCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXNwb25zZSkiPmV4ZWN1dGU8L0E+PC9CPig8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vQWN0aW9uTWFwcGluZy5odG1sIj5BY3Rpb25NYXBwaW5nPC9BPiZuYnNwO21hcHBpbmcsCiAgICAgICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbkZvcm0uaHRtbCI+QWN0aW9uRm9ybTwvQT4mbmJzcDtmb3JtLAogICAgICAgIGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldFJlcXVlc3QmbmJzcDtyZXF1ZXN0LAogICAgICAgIGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldFJlc3BvbnNlJm5ic3A7cmVzcG9uc2UpPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtQcm9jZXNzIHRoZSBzcGVjaWZpZWQgSFRUUCByZXF1ZXN0LCBhbmQgY3JlYXRlIHRoZSBjb3JyZXNwb25kaW5nIEhUVFAKIHJlc3BvbnNlIChvciBmb3J3YXJkIHRvIGFub3RoZXIgd2ViIGNvbXBvbmVudCB0aGF0IHdpbGwgY3JlYXRlIGl0KSwKIHdpdGggcHJvdmlzaW9uIGZvciBoYW5kbGluZyBleGNlcHRpb25zIHRocm93biBieSB0aGUgYnVzaW5lc3MgbG9naWMuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+Jm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbkZvcndhcmQuaHRtbCI+QWN0aW9uRm9yd2FyZDwvQT48L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj5JbmNsdWRlQWN0aW9uLjwvQj48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb25zL0luY2x1ZGVBY3Rpb24uaHRtbCNleGVjdXRlKG9yZy5hcGFjaGUuc3RydXRzLmFjdGlvbi5BY3Rpb25NYXBwaW5nLCBvcmcuYXBhY2hlLnN0cnV0cy5hY3Rpb24uQWN0aW9uRm9ybSwgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVxdWVzdCwgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVzcG9uc2UpIj5leGVjdXRlPC9BPjwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbk1hcHBpbmcuaHRtbCI+QWN0aW9uTWFwcGluZzwvQT4mbmJzcDttYXBwaW5nLAogICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25Gb3JtLmh0bWwiPkFjdGlvbkZvcm08L0E+Jm5ic3A7Zm9ybSwKICAgICAgICBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXF1ZXN0Jm5ic3A7cmVxdWVzdCwKICAgICAgICBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXNwb25zZSZuYnNwO3Jlc3BvbnNlKTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UHJvY2VzcyB0aGUgc3BlY2lmaWVkIEhUVFAgcmVxdWVzdCwgYW5kIGNyZWF0ZSB0aGUgY29ycmVzcG9uZGluZyBIVFRQCiByZXNwb25zZSAob3IgZm9yd2FyZCB0byBhbm90aGVyIHdlYiBjb21wb25lbnQgdGhhdCB3aWxsIGNyZWF0ZSBpdCkuPC9URD4KPC9UUj4KPC9UQUJMRT4KJm5ic3A7CjxQPgo8QSBOQU1FPSJvcmcuYXBhY2hlLnN0cnV0cy5jb25maWciPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+CjxURCBDT0xTUEFOPTI+PEZPTlQgU0laRT0iKzIiPgpVc2VzIG9mIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25Gb3JtLmh0bWwiPkFjdGlvbkZvcm08L0E+IGluIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2NvbmZpZy9wYWNrYWdlLXN1bW1hcnkuaHRtbCI+b3JnLmFwYWNoZS5zdHJ1dHMuY29uZmlnPC9BPjwvRk9OVD48L1REPgo8L1RSPgo8L1RBQkxFPgombmJzcDsKPFA+Cgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZVN1YkhlYWRpbmdDb2xvciI+CjxURCBDT0xTUEFOPTI+TWV0aG9kcyBpbiA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9jb25maWcvcGFja2FnZS1zdW1tYXJ5Lmh0bWwiPm9yZy5hcGFjaGUuc3RydXRzLmNvbmZpZzwvQT4gdGhhdCByZXR1cm4gPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbkZvcm0uaHRtbCI+QWN0aW9uRm9ybTwvQT48L0ZPTlQ+PC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+Jm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbkZvcm0uaHRtbCI+QWN0aW9uRm9ybTwvQT48L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj5Db25maWdIZWxwZXIuPC9CPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2NvbmZpZy9Db25maWdIZWxwZXIuaHRtbCNnZXRBY3Rpb25Gb3JtKCkiPmdldEFjdGlvbkZvcm08L0E+PC9CPigpPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT4mbmJzcDs8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vQWN0aW9uRm9ybS5odG1sIj5BY3Rpb25Gb3JtPC9BPjwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPkNvbmZpZ0hlbHBlckludGVyZmFjZS48L0I+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvY29uZmlnL0NvbmZpZ0hlbHBlckludGVyZmFjZS5odG1sI2dldEFjdGlvbkZvcm0oKSI+Z2V0QWN0aW9uRm9ybTwvQT48L0I+KCk8L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzwvVEQ+CjwvVFI+CjwvVEFCTEU+CiZuYnNwOwo8UD4KPEEgTkFNRT0ib3JnLmFwYWNoZS5zdHJ1dHMudGlsZXMiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+CjxURCBDT0xTUEFOPTI+PEZPTlQgU0laRT0iKzIiPgpVc2VzIG9mIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25Gb3JtLmh0bWwiPkFjdGlvbkZvcm08L0E+IGluIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL3BhY2thZ2Utc3VtbWFyeS5odG1sIj5vcmcuYXBhY2hlLnN0cnV0cy50aWxlczwvQT48L0ZPTlQ+PC9URD4KPC9UUj4KPC9UQUJMRT4KJm5ic3A7CjxQPgoKPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+CjxUUiBCR0NPTE9SPSIjQ0NDQ0ZGIiBDTEFTUz0iVGFibGVTdWJIZWFkaW5nQ29sb3IiPgo8VEQgQ09MU1BBTj0yPk1ldGhvZHMgaW4gPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGlsZXMvcGFja2FnZS1zdW1tYXJ5Lmh0bWwiPm9yZy5hcGFjaGUuc3RydXRzLnRpbGVzPC9BPiB3aXRoIHBhcmFtZXRlcnMgb2YgdHlwZSA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vQWN0aW9uRm9ybS5odG1sIj5BY3Rpb25Gb3JtPC9BPjwvRk9OVD48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT5wcm90ZWN0ZWQgJm5ic3A7dm9pZDwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPkFjdGlvbkNvbXBvbmVudFNlcnZsZXQuPC9CPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL0FjdGlvbkNvbXBvbmVudFNlcnZsZXQuaHRtbCNwcm9jZXNzQWN0aW9uRm9yd2FyZChvcmcuYXBhY2hlLnN0cnV0cy5hY3Rpb24uQWN0aW9uRm9yd2FyZCwgb3JnLmFwYWNoZS5zdHJ1dHMuYWN0aW9uLkFjdGlvbk1hcHBpbmcsIG9yZy5hcGFjaGUuc3RydXRzLmFjdGlvbi5BY3Rpb25Gb3JtLCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXF1ZXN0LCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXNwb25zZSkiPnByb2Nlc3NBY3Rpb25Gb3J3YXJkPC9BPjwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbkZvcndhcmQuaHRtbCI+QWN0aW9uRm9yd2FyZDwvQT4mbmJzcDtmb3J3YXJkLAogICAgICAgICAgICAgICAgICAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vQWN0aW9uTWFwcGluZy5odG1sIj5BY3Rpb25NYXBwaW5nPC9BPiZuYnNwO21hcHBpbmcsCiAgICAgICAgICAgICAgICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25Gb3JtLmh0bWwiPkFjdGlvbkZvcm08L0E+Jm5ic3A7Zm9ybUluc3RhbmNlLAogICAgICAgICAgICAgICAgICAgICBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXF1ZXN0Jm5ic3A7cmVxdWVzdCwKICAgICAgICAgICAgICAgICAgICAgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVzcG9uc2UmbmJzcDtyZXNwb25zZSk8L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxCPkRlcHJlY2F0ZWQuPC9CPiZuYnNwO092ZXJsb2FkIHN0cnV0czEuMCBjb3VudGVycGFydCBpbiBvcmRlciB0byBjYXRjaCBmb3J3YXJkIGNhbGxzLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPnByb3RlY3RlZCAmbmJzcDtib29sZWFuPC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+QWN0aW9uQ29tcG9uZW50U2VydmxldC48L0I+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGlsZXMvQWN0aW9uQ29tcG9uZW50U2VydmxldC5odG1sI3Byb2Nlc3NWYWxpZGF0ZShvcmcuYXBhY2hlLnN0cnV0cy5hY3Rpb24uQWN0aW9uTWFwcGluZywgb3JnLmFwYWNoZS5zdHJ1dHMuYWN0aW9uLkFjdGlvbkZvcm0sIGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldFJlcXVlc3QsIGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldFJlc3BvbnNlKSI+cHJvY2Vzc1ZhbGlkYXRlPC9BPjwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbk1hcHBpbmcuaHRtbCI+QWN0aW9uTWFwcGluZzwvQT4mbmJzcDttYXBwaW5nLAogICAgICAgICAgICAgICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbkZvcm0uaHRtbCI+QWN0aW9uRm9ybTwvQT4mbmJzcDtmb3JtSW5zdGFuY2UsCiAgICAgICAgICAgICAgICBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXF1ZXN0Jm5ic3A7cmVxdWVzdCwKICAgICAgICAgICAgICAgIGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldFJlc3BvbnNlJm5ic3A7cmVzcG9uc2UpPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8Qj5EZXByZWNhdGVkLjwvQj4mbmJzcDtPdmVybG9hZCBzdHJ1dHMxLjAgY291bnRlcnBhcnQgaW4gb3JkZXIgdG8gY2F0Y2ggZm9yd2FyZCBjYWxscy48L1REPgo8L1RSPgo8L1RBQkxFPgombmJzcDsKPFA+CjxBIE5BTUU9Im9yZy5hcGFjaGUuc3RydXRzLnRpbGVzLmFjdGlvbnMiPjwhLS0gLS0+PC9BPgo8VEFCTEUgQk9SREVSPSIxIiBDRUxMUEFERElORz0iMyIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSIxMDAlIj4KPFRSIEJHQ09MT1I9IiNDQ0NDRkYiIENMQVNTPSJUYWJsZUhlYWRpbmdDb2xvciI+CjxURCBDT0xTUEFOPTI+PEZPTlQgU0laRT0iKzIiPgpVc2VzIG9mIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25Gb3JtLmh0bWwiPkFjdGlvbkZvcm08L0E+IGluIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL2FjdGlvbnMvcGFja2FnZS1zdW1tYXJ5Lmh0bWwiPm9yZy5hcGFjaGUuc3RydXRzLnRpbGVzLmFjdGlvbnM8L0E+PC9GT05UPjwvVEQ+CjwvVFI+CjwvVEFCTEU+CiZuYnNwOwo8UD4KCjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPgo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlU3ViSGVhZGluZ0NvbG9yIj4KPFREIENPTFNQQU49Mj5NZXRob2RzIGluIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL2FjdGlvbnMvcGFja2FnZS1zdW1tYXJ5Lmh0bWwiPm9yZy5hcGFjaGUuc3RydXRzLnRpbGVzLmFjdGlvbnM8L0E+IHdpdGggcGFyYW1ldGVycyBvZiB0eXBlIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25Gb3JtLmh0bWwiPkFjdGlvbkZvcm08L0E+PC9GT05UPjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25Gb3J3YXJkLmh0bWwiPkFjdGlvbkZvcndhcmQ8L0E+PC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+UmVsb2FkRGVmaW5pdGlvbnNBY3Rpb24uPC9CPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL2FjdGlvbnMvUmVsb2FkRGVmaW5pdGlvbnNBY3Rpb24uaHRtbCNleGVjdXRlKG9yZy5hcGFjaGUuc3RydXRzLmFjdGlvbi5BY3Rpb25NYXBwaW5nLCBvcmcuYXBhY2hlLnN0cnV0cy5hY3Rpb24uQWN0aW9uRm9ybSwgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVxdWVzdCwgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVzcG9uc2UpIj5leGVjdXRlPC9BPjwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbk1hcHBpbmcuaHRtbCI+QWN0aW9uTWFwcGluZzwvQT4mbmJzcDttYXBwaW5nLAogICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25Gb3JtLmh0bWwiPkFjdGlvbkZvcm08L0E+Jm5ic3A7Zm9ybSwKICAgICAgICBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXF1ZXN0Jm5ic3A7cmVxdWVzdCwKICAgICAgICBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXNwb25zZSZuYnNwO3Jlc3BvbnNlKTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UHJvY2VzcyB0aGUgc3BlY2lmaWVkIEhUVFAgcmVxdWVzdCwgYW5kIGNyZWF0ZSB0aGUgY29ycmVzcG9uZGluZyBIVFRQCiByZXNwb25zZSAob3IgZm9yd2FyZCB0byBhbm90aGVyIHdlYiBjb21wb25lbnQgdGhhdCB3aWxsIGNyZWF0ZSBpdCksCiB3aXRoIHByb3Zpc2lvbiBmb3IgaGFuZGxpbmcgZXhjZXB0aW9ucyB0aHJvd24gYnkgdGhlIGJ1c2luZXNzIGxvZ2ljLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25Gb3J3YXJkLmh0bWwiPkFjdGlvbkZvcndhcmQ8L0E+PC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+RGVmaW5pdGlvbkRpc3BhdGNoZXJBY3Rpb24uPC9CPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL2FjdGlvbnMvRGVmaW5pdGlvbkRpc3BhdGNoZXJBY3Rpb24uaHRtbCNleGVjdXRlKG9yZy5hcGFjaGUuc3RydXRzLmFjdGlvbi5BY3Rpb25NYXBwaW5nLCBvcmcuYXBhY2hlLnN0cnV0cy5hY3Rpb24uQWN0aW9uRm9ybSwgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVxdWVzdCwgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVzcG9uc2UpIj5leGVjdXRlPC9BPjwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbk1hcHBpbmcuaHRtbCI+QWN0aW9uTWFwcGluZzwvQT4mbmJzcDttYXBwaW5nLAogICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25Gb3JtLmh0bWwiPkFjdGlvbkZvcm08L0E+Jm5ic3A7Zm9ybSwKICAgICAgICBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXF1ZXN0Jm5ic3A7cmVxdWVzdCwKICAgICAgICBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXNwb25zZSZuYnNwO3Jlc3BvbnNlKTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UHJvY2VzcyB0aGUgc3BlY2lmaWVkIEhUVFAgcmVxdWVzdCwgYW5kIGNyZWF0ZSB0aGUgY29ycmVzcG9uZGluZyBIVFRQCiByZXNwb25zZSAob3IgZm9yd2FyZCB0byBhbm90aGVyIHdlYiBjb21wb25lbnQgdGhhdCB3aWxsIGNyZWF0ZSBpdCksCiB3aXRoIHByb3Zpc2lvbiBmb3IgaGFuZGxpbmcgZXhjZXB0aW9ucyB0aHJvd24gYnkgdGhlIGJ1c2luZXNzIGxvZ2ljLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25Gb3J3YXJkLmh0bWwiPkFjdGlvbkZvcndhcmQ8L0E+PC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+Vmlld0RlZmluaXRpb25zQWN0aW9uLjwvQj48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90aWxlcy9hY3Rpb25zL1ZpZXdEZWZpbml0aW9uc0FjdGlvbi5odG1sI2V4ZWN1dGUob3JnLmFwYWNoZS5zdHJ1dHMuYWN0aW9uLkFjdGlvbk1hcHBpbmcsIG9yZy5hcGFjaGUuc3RydXRzLmFjdGlvbi5BY3Rpb25Gb3JtLCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXF1ZXN0LCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXNwb25zZSkiPmV4ZWN1dGU8L0E+PC9CPig8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vQWN0aW9uTWFwcGluZy5odG1sIj5BY3Rpb25NYXBwaW5nPC9BPiZuYnNwO21hcHBpbmcsCiAgICAgICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbkZvcm0uaHRtbCI+QWN0aW9uRm9ybTwvQT4mbmJzcDtmb3JtLAogICAgICAgIGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldFJlcXVlc3QmbmJzcDtyZXF1ZXN0LAogICAgICAgIGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldFJlc3BvbnNlJm5ic3A7cmVzcG9uc2UpPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtQcm9jZXNzIHRoZSBzcGVjaWZpZWQgSFRUUCByZXF1ZXN0LCBhbmQgY3JlYXRlIHRoZSBjb3JyZXNwb25kaW5nIEhUVFAKIHJlc3BvbnNlIChvciBmb3J3YXJkIHRvIGFub3RoZXIgd2ViIGNvbXBvbmVudCB0aGF0IHdpbGwgY3JlYXRlIGl0KSwKIHdpdGggcHJvdmlzaW9uIGZvciBoYW5kbGluZyBleGNlcHRpb25zIHRocm93biBieSB0aGUgYnVzaW5lc3MgbG9naWMuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+Jm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbkZvcndhcmQuaHRtbCI+QWN0aW9uRm9yd2FyZDwvQT48L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj5UaWxlc0FjdGlvbi48L0I+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGlsZXMvYWN0aW9ucy9UaWxlc0FjdGlvbi5odG1sI2V4ZWN1dGUob3JnLmFwYWNoZS5zdHJ1dHMuYWN0aW9uLkFjdGlvbk1hcHBpbmcsIG9yZy5hcGFjaGUuc3RydXRzLmFjdGlvbi5BY3Rpb25Gb3JtLCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXF1ZXN0LCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXNwb25zZSkiPmV4ZWN1dGU8L0E+PC9CPig8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vQWN0aW9uTWFwcGluZy5odG1sIj5BY3Rpb25NYXBwaW5nPC9BPiZuYnNwO21hcHBpbmcsCiAgICAgICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbkZvcm0uaHRtbCI+QWN0aW9uRm9ybTwvQT4mbmJzcDtmb3JtLAogICAgICAgIGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldFJlcXVlc3QmbmJzcDtyZXF1ZXN0LAogICAgICAgIGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldFJlc3BvbnNlJm5ic3A7cmVzcG9uc2UpPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtPcmlnaW5hbCBTdHJ1dHMgQWN0aW9uJ3MgbWV0aG9kLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPiZuYnNwOzxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25Gb3J3YXJkLmh0bWwiPkFjdGlvbkZvcndhcmQ8L0E+PC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+VGlsZXNBY3Rpb24uPC9CPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3RpbGVzL2FjdGlvbnMvVGlsZXNBY3Rpb24uaHRtbCNleGVjdXRlKG9yZy5hcGFjaGUuc3RydXRzLnRpbGVzLkNvbXBvbmVudENvbnRleHQsIG9yZy5hcGFjaGUuc3RydXRzLmFjdGlvbi5BY3Rpb25NYXBwaW5nLCBvcmcuYXBhY2hlLnN0cnV0cy5hY3Rpb24uQWN0aW9uRm9ybSwgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVxdWVzdCwgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVzcG9uc2UpIj5leGVjdXRlPC9BPjwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGlsZXMvQ29tcG9uZW50Q29udGV4dC5odG1sIj5Db21wb25lbnRDb250ZXh0PC9BPiZuYnNwO2NvbnRleHQsCiAgICAgICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbk1hcHBpbmcuaHRtbCI+QWN0aW9uTWFwcGluZzwvQT4mbmJzcDttYXBwaW5nLAogICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25Gb3JtLmh0bWwiPkFjdGlvbkZvcm08L0E+Jm5ic3A7Zm9ybSwKICAgICAgICBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXF1ZXN0Jm5ic3A7cmVxdWVzdCwKICAgICAgICBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXNwb25zZSZuYnNwO3Jlc3BvbnNlKTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7UHJvY2VzcyB0aGUgc3BlY2lmaWVkIEhUVFAgcmVxdWVzdCBhbmQgY3JlYXRlIHRoZSBjb3JyZXNwb25kaW5nIEhUVFAKIHJlc3BvbnNlIChvciBmb3J3YXJkIHRvIGFub3RoZXIgd2ViIGNvbXBvbmVudCB0aGF0IHdpbGwgY3JlYXRlIGl0KSwKIHdpdGggcHJvdmlzaW9uIGZvciBoYW5kbGluZyBleGNlcHRpb25zIHRocm93biBieSB0aGUgYnVzaW5lc3MgbG9naWMuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+Jm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbkZvcndhcmQuaHRtbCI+QWN0aW9uRm9yd2FyZDwvQT48L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj5UaWxlc0FjdGlvbi48L0I+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdGlsZXMvYWN0aW9ucy9UaWxlc0FjdGlvbi5odG1sI3BlcmZvcm0ob3JnLmFwYWNoZS5zdHJ1dHMudGlsZXMuQ29tcG9uZW50Q29udGV4dCwgb3JnLmFwYWNoZS5zdHJ1dHMuYWN0aW9uLkFjdGlvbk1hcHBpbmcsIG9yZy5hcGFjaGUuc3RydXRzLmFjdGlvbi5BY3Rpb25Gb3JtLCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXF1ZXN0LCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXNwb25zZSkiPnBlcmZvcm08L0E+PC9CPig8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90aWxlcy9Db21wb25lbnRDb250ZXh0Lmh0bWwiPkNvbXBvbmVudENvbnRleHQ8L0E+Jm5ic3A7Y29udGV4dCwKICAgICAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vQWN0aW9uTWFwcGluZy5odG1sIj5BY3Rpb25NYXBwaW5nPC9BPiZuYnNwO21hcHBpbmcsCiAgICAgICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbkZvcm0uaHRtbCI+QWN0aW9uRm9ybTwvQT4mbmJzcDtmb3JtLAogICAgICAgIGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldFJlcXVlc3QmbmJzcDtyZXF1ZXN0LAogICAgICAgIGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldFJlc3BvbnNlJm5ic3A7cmVzcG9uc2UpPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8Qj5EZXByZWNhdGVkLjwvQj4mbmJzcDs8ST5Vc2UgdGhlIDxjb2RlPmV4ZWN1dGUoKTwvY29kZT4gbWV0aG9kIGluc3RlYWQ8L0k+PC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+Jm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbkZvcndhcmQuaHRtbCI+QWN0aW9uRm9yd2FyZDwvQT48L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj5Ob09wQWN0aW9uLjwvQj48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy90aWxlcy9hY3Rpb25zL05vT3BBY3Rpb24uaHRtbCNleGVjdXRlKG9yZy5hcGFjaGUuc3RydXRzLmFjdGlvbi5BY3Rpb25NYXBwaW5nLCBvcmcuYXBhY2hlLnN0cnV0cy5hY3Rpb24uQWN0aW9uRm9ybSwgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVxdWVzdCwgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVzcG9uc2UpIj5leGVjdXRlPC9BPjwvQj4oPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbk1hcHBpbmcuaHRtbCI+QWN0aW9uTWFwcGluZzwvQT4mbmJzcDttYXBwaW5nLAogICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25Gb3JtLmh0bWwiPkFjdGlvbkZvcm08L0E+Jm5ic3A7Zm9ybSwKICAgICAgICBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXF1ZXN0Jm5ic3A7cmVxdWVzdCwKICAgICAgICBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXNwb25zZSZuYnNwO3Jlc3BvbnNlKTwvQ09ERT4KCjxCUj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PEI+RGVwcmVjYXRlZC48L0I+Jm5ic3A7UHJvY2VzcyB0aGUgc3BlY2lmaWVkIEhUVFAgcmVxdWVzdCwgYW5kIGNyZWF0ZSB0aGUgY29ycmVzcG9uZGluZyBIVFRQCiByZXNwb25zZSAob3IgZm9yd2FyZCB0byBhbm90aGVyIHdlYiBjb21wb25lbnQgdGhhdCB3aWxsIGNyZWF0ZSBpdCksCiB3aXRoIHByb3Zpc2lvbiBmb3IgaGFuZGxpbmcgZXhjZXB0aW9ucyB0aHJvd24gYnkgdGhlIGJ1c2luZXNzIGxvZ2ljLjwvVEQ+CjwvVFI+CjwvVEFCTEU+CiZuYnNwOwo8UD4KPEEgTkFNRT0ib3JnLmFwYWNoZS5zdHJ1dHMudXRpbCI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjEiIENFTExQQURESU5HPSIzIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiPgo8VFIgQkdDT0xPUj0iI0NDQ0NGRiIgQ0xBU1M9IlRhYmxlSGVhZGluZ0NvbG9yIj4KPFREIENPTFNQQU49Mj48Rk9OVCBTSVpFPSIrMiI+ClVzZXMgb2YgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbkZvcm0uaHRtbCI+QWN0aW9uRm9ybTwvQT4gaW4gPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdXRpbC9wYWNrYWdlLXN1bW1hcnkuaHRtbCI+b3JnLmFwYWNoZS5zdHJ1dHMudXRpbDwvQT48L0ZPTlQ+PC9URD4KPC9UUj4KPC9UQUJMRT4KJm5ic3A7CjxQPgoKPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+CjxUUiBCR0NPTE9SPSIjQ0NDQ0ZGIiBDTEFTUz0iVGFibGVTdWJIZWFkaW5nQ29sb3IiPgo8VEQgQ09MU1BBTj0yPk1ldGhvZHMgaW4gPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdXRpbC9wYWNrYWdlLXN1bW1hcnkuaHRtbCI+b3JnLmFwYWNoZS5zdHJ1dHMudXRpbDwvQT4gdGhhdCByZXR1cm4gPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbkZvcm0uaHRtbCI+QWN0aW9uRm9ybTwvQT48L0ZPTlQ+PC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+c3RhdGljJm5ic3A7PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbkZvcm0uaHRtbCI+QWN0aW9uRm9ybTwvQT48L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj5SZXF1ZXN0VXRpbHMuPC9CPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3V0aWwvUmVxdWVzdFV0aWxzLmh0bWwjY3JlYXRlQWN0aW9uRm9ybShqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXF1ZXN0LCBvcmcuYXBhY2hlLnN0cnV0cy5hY3Rpb24uQWN0aW9uTWFwcGluZywgb3JnLmFwYWNoZS5zdHJ1dHMuY29uZmlnLk1vZHVsZUNvbmZpZywgb3JnLmFwYWNoZS5zdHJ1dHMuYWN0aW9uLkFjdGlvblNlcnZsZXQpIj5jcmVhdGVBY3Rpb25Gb3JtPC9BPjwvQj4oamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVxdWVzdCZuYnNwO3JlcXVlc3QsCiAgICAgICAgICAgICAgICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbk1hcHBpbmcuaHRtbCI+QWN0aW9uTWFwcGluZzwvQT4mbmJzcDttYXBwaW5nLAogICAgICAgICAgICAgICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2NvbmZpZy9Nb2R1bGVDb25maWcuaHRtbCI+TW9kdWxlQ29uZmlnPC9BPiZuYnNwO21vZHVsZUNvbmZpZywKICAgICAgICAgICAgICAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vQWN0aW9uU2VydmxldC5odG1sIj5BY3Rpb25TZXJ2bGV0PC9BPiZuYnNwO3NlcnZsZXQpPC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtDcmVhdGUgKGlmIG5lY2Vzc2FyeSkgYW5kIHJldHVybiBhbiBBY3Rpb25Gb3JtIGluc3RhbmNlIGFwcHJvcHJpYXRlCiBmb3IgdGhpcyByZXF1ZXN0LjwvVEQ+CjwvVFI+CjwvVEFCTEU+CiZuYnNwOwo8UD4KPEEgTkFNRT0ib3JnLmFwYWNoZS5zdHJ1dHMudmFsaWRhdG9yIj48IS0tIC0tPjwvQT4KPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+CjxUUiBCR0NPTE9SPSIjQ0NDQ0ZGIiBDTEFTUz0iVGFibGVIZWFkaW5nQ29sb3IiPgo8VEQgQ09MU1BBTj0yPjxGT05UIFNJWkU9IisyIj4KVXNlcyBvZiA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy9hY3Rpb24vQWN0aW9uRm9ybS5odG1sIj5BY3Rpb25Gb3JtPC9BPiBpbiA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy92YWxpZGF0b3IvcGFja2FnZS1zdW1tYXJ5Lmh0bWwiPm9yZy5hcGFjaGUuc3RydXRzLnZhbGlkYXRvcjwvQT48L0ZPTlQ+PC9URD4KPC9UUj4KPC9UQUJMRT4KJm5ic3A7CjxQPgoKPFRBQkxFIEJPUkRFUj0iMSIgQ0VMTFBBRERJTkc9IjMiIENFTExTUEFDSU5HPSIwIiBXSURUSD0iMTAwJSI+CjxUUiBCR0NPTE9SPSIjQ0NDQ0ZGIiBDTEFTUz0iVGFibGVTdWJIZWFkaW5nQ29sb3IiPgo8VEQgQ09MU1BBTj0yPlN1YmNsYXNzZXMgb2YgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvYWN0aW9uL0FjdGlvbkZvcm0uaHRtbCI+QWN0aW9uRm9ybTwvQT4gaW4gPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdmFsaWRhdG9yL3BhY2thZ2Utc3VtbWFyeS5odG1sIj5vcmcuYXBhY2hlLnN0cnV0cy52YWxpZGF0b3I8L0E+PC9GT05UPjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPiZuYnNwO2NsYXNzPC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdmFsaWRhdG9yL0R5bmFWYWxpZGF0b3JBY3Rpb25Gb3JtLmh0bWwiPkR5bmFWYWxpZGF0b3JBY3Rpb25Gb3JtPC9BPjwvQj48L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1RoaXMgY2xhc3MgZXh0ZW5kcyA8c3Ryb25nPkR5bmFWYWxpZGF0b3JGb3JtPC9zdHJvbmc+IGFuZCBwcm92aWRlcwogYmFzaWMgZmllbGQgdmFsaWRhdGlvbiBiYXNlZCBvbiBhbiBYTUwgZmlsZS48L1REPgo8L1RSPgo8VFIgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJUYWJsZVJvd0NvbG9yIj4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFdJRFRIPSIxJSI+PEZPTlQgU0laRT0iLTEiPgo8Q09ERT4mbmJzcDtjbGFzczwvQ09ERT48L0ZPTlQ+PC9URD4KPFREPjxDT0RFPjxCPjxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL3ZhbGlkYXRvci9EeW5hVmFsaWRhdG9yRm9ybS5odG1sIj5EeW5hVmFsaWRhdG9yRm9ybTwvQT48L0I+PC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtUaGlzIGNsYXNzIGV4dGVuZHMgPHN0cm9uZz5EeW5hQWN0aW9uRm9ybTwvc3Ryb25nPiBhbmQgcHJvdmlkZXMKIGJhc2ljIGZpZWxkIHZhbGlkYXRpb24gYmFzZWQgb24gYW4gWE1MIGZpbGUuPC9URD4KPC9UUj4KPFRSIEJHQ09MT1I9IndoaXRlIiBDTEFTUz0iVGFibGVSb3dDb2xvciI+CjxURCBBTElHTj0icmlnaHQiIFZBTElHTj0idG9wIiBXSURUSD0iMSUiPjxGT05UIFNJWkU9Ii0xIj4KPENPREU+Jm5ic3A7Y2xhc3M8L0NPREU+PC9GT05UPjwvVEQ+CjxURD48Q09ERT48Qj48QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9vcmcvYXBhY2hlL3N0cnV0cy92YWxpZGF0b3IvVmFsaWRhdG9yQWN0aW9uRm9ybS5odG1sIj5WYWxpZGF0b3JBY3Rpb25Gb3JtPC9BPjwvQj48L0NPREU+Cgo8QlI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1RoaXMgY2xhc3MgZXh0ZW5kcyA8c3Ryb25nPlZhbGlkYXRvckZvcm08L3N0cm9uZz4gYW5kIHByb3ZpZGVzCiBiYXNpYyBmaWVsZCB2YWxpZGF0aW9uIGJhc2VkIG9uIGFuIFhNTCBmaWxlLjwvVEQ+CjwvVFI+CjxUUiBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9IlRhYmxlUm93Q29sb3IiPgo8VEQgQUxJR049InJpZ2h0IiBWQUxJR049InRvcCIgV0lEVEg9IjElIj48Rk9OVCBTSVpFPSItMSI+CjxDT0RFPiZuYnNwO2NsYXNzPC9DT0RFPjwvRk9OVD48L1REPgo8VEQ+PENPREU+PEI+PEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3JnL2FwYWNoZS9zdHJ1dHMvdmFsaWRhdG9yL1ZhbGlkYXRvckZvcm0uaHRtbCI+VmFsaWRhdG9yRm9ybTwvQT48L0I+PC9DT0RFPgoKPEJSPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtUaGlzIGNsYXNzIGV4dGVuZHMgPHN0cm9uZz5BY3Rpb25Gb3JtPC9zdHJvbmc+IGFuZCBwcm92aWRlcwogYmFzaWMgZmllbGQgdmFsaWRhdGlvbiBiYXNlZCBvbiBhbiBYTUwgZmlsZS48L1REPgo8L1RSPgo8L1RBQkxFPgombmJzcDsKPFA+CjxIUj4KCjwhLS0gPT09PT09PT09PSBTVEFSVCBPRiBOQVZCQVIgPT09PT09PT09PSAtLT4KPEEgTkFNRT0ibmF2YmFyX2JvdHRvbSI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjAiIFdJRFRIPSIxMDAlIiBDRUxMUEFERElORz0iMSIgQ0VMTFNQQUNJTkc9IjAiPgo8VFI+CjxURCBDT0xTUEFOPTMgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4KPEEgTkFNRT0ibmF2YmFyX2JvdHRvbV9maXJzdHJvdyI+PCEtLSAtLT48L0E+CjxUQUJMRSBCT1JERVI9IjAiIENFTExQQURESU5HPSIwIiBDRUxMU1BBQ0lORz0iMyI+CiAgPFRSIEFMSUdOPSJjZW50ZXIiIFZBTElHTj0idG9wIj4KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vLi4vLi4vLi4vLi4vb3ZlcnZpZXctc3VtbWFyeS5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPk92ZXJ2aWV3PC9CPjwvRk9OVD48L0E+Jm5ic3A7PC9URD4KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vcGFja2FnZS1zdW1tYXJ5Lmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+UGFja2FnZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL29yZy9hcGFjaGUvc3RydXRzL2FjdGlvbi9BY3Rpb25Gb3JtLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+Q2xhc3M8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPgogIDxURCBCR0NPTE9SPSIjRkZGRkZGIiBDTEFTUz0iTmF2QmFyQ2VsbDFSZXYiPiAmbmJzcDs8Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDFSZXYiPjxCPlVzZTwvQj48L0ZPTlQ+Jm5ic3A7PC9URD4KICA8VEQgQkdDT0xPUj0iI0VFRUVGRiIgQ0xBU1M9Ik5hdkJhckNlbGwxIj4gICAgPEEgSFJFRj0iLi4vcGFja2FnZS10cmVlLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+VHJlZTwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL2RlcHJlY2F0ZWQtbGlzdC5odG1sIj48Rk9OVCBDTEFTUz0iTmF2QmFyRm9udDEiPjxCPkRlcHJlY2F0ZWQ8L0I+PC9GT05UPjwvQT4mbmJzcDs8L1REPgogIDxURCBCR0NPTE9SPSIjRUVFRUZGIiBDTEFTUz0iTmF2QmFyQ2VsbDEiPiAgICA8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9pbmRleC1hbGwuaHRtbCI+PEZPTlQgQ0xBU1M9Ik5hdkJhckZvbnQxIj48Qj5JbmRleDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPFREIEJHQ09MT1I9IiNFRUVFRkYiIENMQVNTPSJOYXZCYXJDZWxsMSI+ICAgIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL2hlbHAtZG9jLmh0bWwiPjxGT05UIENMQVNTPSJOYXZCYXJGb250MSI+PEI+SGVscDwvQj48L0ZPTlQ+PC9BPiZuYnNwOzwvVEQ+CiAgPC9UUj4KPC9UQUJMRT4KPC9URD4KPFREIEFMSUdOPSJyaWdodCIgVkFMSUdOPSJ0b3AiIFJPV1NQQU49Mz48RU0+CjwvRU0+CjwvVEQ+CjwvVFI+Cgo8VFI+CjxURCBCR0NPTE9SPSJ3aGl0ZSIgQ0xBU1M9Ik5hdkJhckNlbGwyIj48Rk9OVCBTSVpFPSItMiI+CiZuYnNwO1BSRVYmbmJzcDsKJm5ic3A7TkVYVDwvRk9OVD48L1REPgo8VEQgQkdDT0xPUj0id2hpdGUiIENMQVNTPSJOYXZCYXJDZWxsMiI+PEZPTlQgU0laRT0iLTIiPgogIDxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL2luZGV4Lmh0bWwiIFRBUkdFVD0iX3RvcCI+PEI+RlJBTUVTPC9CPjwvQT4gICZuYnNwOwombmJzcDs8QSBIUkVGPSJBY3Rpb25Gb3JtLmh0bWwiIFRBUkdFVD0iX3RvcCI+PEI+Tk8gRlJBTUVTPC9CPjwvQT4gICZuYnNwOwombmJzcDsKPFNDUklQVD4KICA8IS0tCiAgaWYod2luZG93PT10b3ApIHsKICAgIGRvY3VtZW50LndyaXRlbG4oJzxBIEhSRUY9Ii4uLy4uLy4uLy4uLy4uL2FsbGNsYXNzZXMtbm9mcmFtZS5odG1sIiBUQVJHRVQ9IiI+PEI+QWxsIENsYXNzZXM8L0I+PC9BPicpOwogIH0KICAvLy0tPgo8L1NDUklQVD4KPE5PU0NSSVBUPgo8QSBIUkVGPSIuLi8uLi8uLi8uLi8uLi9hbGxjbGFzc2VzLW5vZnJhbWUuaHRtbCIgVEFSR0VUPSIiPjxCPkFsbCBDbGFzc2VzPC9CPjwvQT4KPC9OT1NDUklQVD4KPC9GT05UPjwvVEQ+CjwvVFI+CjwvVEFCTEU+CjwhLS0gPT09PT09PT09PT0gRU5EIE9GIE5BVkJBUiA9PT09PT09PT09PSAtLT4KCjxIUj4KQ29weXJpZ2h0IKkgMjAwMC0yMDAzIC0gQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24KPC9CT0RZPgo8L0hUTUw+Cg==