PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIj4KPCEtLSBzYXZlZCBmcm9tIHVybD0oMDA1MSlodHRwczovL2J1Z3MuZWNsaXBzZS5vcmcvYnVncy9zaG93X2J1Zy5jZ2k/aWQ9NzYzODggLS0+CjwhLS0gMS4wQGJ1Z3ppbGxhLm9yZyAtLT48IS0tIDEuMEBidWd6aWxsYS5vcmcgLS0+PEhUTUw+PEhFQUQ+PFRJVExFPkJ1ZyA3NjM4OCAtIEFzc2VydGlvbiBmYWlsZWQgZHVyaW5nIHB1bGwgdXAgcmVmYWN0b3Jpbmc8L1RJVExFPgo8TUVUQSBodHRwLWVxdWl2PUNvbnRlbnQtVHlwZSBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9aXNvLTg4NTktMSI+PExJTksgCmhyZWY9InNob3dfYnVnLmNnaT9pZD0zNjMxMCIgcmVsPU5leHQ+PExJTksgaHJlZj0ic2hvd19idWcuY2dpP2lkPTc2MTAxIiAKcmVsPUxhc3Q+PExJTksgaHJlZj0iYnVnbGlzdC5jZ2k/cmVnZXRsYXN0bGlzdD0xIiByZWw9VXA+PExJTksgCmhyZWY9ImJ1Z2xpc3QuY2dpP3JlZ2V0bGFzdGxpc3Q9MSIgcmVsPUNvbnRlbnRzPgo8TUVUQSBjb250ZW50PSJNU0hUTUwgNi4wMC4yODAwLjE0NzYiIG5hbWU9R0VORVJBVE9SPjwvSEVBRD4KPEJPRFkgdGV4dD0jMDAwMDAwIHZMaW5rPSM1NTFhOGIgYUxpbms9I2ZmMDAwMCBsaW5rPSMwMDAwZWUgYmdDb2xvcj0jZmZmZmZmIApvbmxvYWQ9IiI+PCEtLSAxLjBAYnVnemlsbGEub3JnIC0tPgo8VEFCTEUgY2VsbFNwYWNpbmc9MCBjZWxsUGFkZGluZz0wIHdpZHRoPSIxMDAlIiBib3JkZXI9MD4KICA8VEJPRFk+CiAgPFRSPgogICAgPFREIHdpZHRoPSIxMDAlIj4KICAgICAgPFRBQkxFIGNlbGxTcGFjaW5nPTAgY2VsbFBhZGRpbmc9MCB3aWR0aD0iMTAwJSIgYmdDb2xvcj0jMDA2Njk5IAogICAgICAgIGJvcmRlcj0wPjxUQk9EWT4KICAgICAgICA8VFI+CiAgICAgICAgICA8VEQgd2lkdGg9MTE2IGJnQ29sb3I9IzAwMDAwMD48SU1HIGhlaWdodD01MCAKICAgICAgICAgICAgc3JjPSI3NjM4OF9maWxlcy9FY2xpcHNlQmFubmVyUGljLmpwZyIgd2lkdGg9MTE1PjwvVEQ+CiAgICAgICAgICA8VEQgd2lkdGg9NjM3PjxBIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvIj48SU1HIGhlaWdodD01MCAKICAgICAgICAgICAgc3JjPSI3NjM4OF9maWxlcy9ncmFkaWVudC5qcGciIHdpZHRoPTI4MiBib3JkZXI9MD48L0E+PC9URD4KICAgICAgICAgIDxURCB3aWR0aD0yNTA+PElNRyBoZWlnaHQ9NDggc3JjPSI3NjM4OF9maWxlcy9lcHJvamVjdC1zaW1wbGUuZ2lmIiAKICAgICAgICAgICAgd2lkdGg9MjUwPjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+PC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT4KPFRBQkxFIGNlbGxTcGFjaW5nPTAgYm9yZGVyPTA+CiAgPFRCT0RZPgogIDxUUj4KICAgIDxURCB2QWxpZ249dG9wIGFsaWduPWxlZnQ+CiAgICAgIDxUQUJMRSBjZWxsU3BhY2luZz0yIGNlbGxQYWRkaW5nPTAgYm9yZGVyPTA+CiAgICAgICAgPFRCT0RZPgogICAgICAgIDxUUj4KICAgICAgICAgIDxURCB2QWxpZ249dG9wIG5vV3JhcCBhbGlnbj1sZWZ0PjxGT05UIHNpemU9KzE+PEI+QnVnemlsbGEgQnVnIAogICAgICAgICAgICA3NjM4ODwvQj48L0ZPTlQ+IDwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+PC9URD4KICAgIDxURCB2QWxpZ249Y2VudGVyPiZuYnNwOzwvVEQ+CiAgICA8VEQgdkFsaWduPWNlbnRlciBhbGlnbj1sZWZ0PkFzc2VydGlvbiBmYWlsZWQgZHVyaW5nIHB1bGwgdXAgCiAgcmVmYWN0b3Jpbmc8L1REPjwvVFI+PC9UQk9EWT48L1RBQkxFPjwhLS0gMS4wQGJ1Z3ppbGxhLm9yZyAtLT48Qj5CdWcgTGlzdDo8L0I+IAo8QSBocmVmPSJodHRwczovL2J1Z3MuZWNsaXBzZS5vcmcvYnVncy9zaG93X2J1Zy5jZ2k/aWQ9MzYzMTAiPkZpcnN0PC9BPiA8QSAKaHJlZj0iaHR0cHM6Ly9idWdzLmVjbGlwc2Uub3JnL2J1Z3Mvc2hvd19idWcuY2dpP2lkPTc2MTAxIj5MYXN0PC9BPiAoVGhpcyBidWcgaXMgCm5vdCBpbiB5b3VyIGxpc3QpICZuYnNwOyZuYnNwOzxBIApocmVmPSJodHRwczovL2J1Z3MuZWNsaXBzZS5vcmcvYnVncy9idWdsaXN0LmNnaT9yZWdldGxhc3RsaXN0PTEiPlNob3cgbGlzdDwvQT4gCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxBIApocmVmPSJodHRwczovL2J1Z3MuZWNsaXBzZS5vcmcvYnVncy9xdWVyeS5jZ2kiPlF1ZXJ5IHBhZ2U8L0E+IAombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8QSAKaHJlZj0iaHR0cHM6Ly9idWdzLmVjbGlwc2Uub3JnL2J1Z3MvZW50ZXJfYnVnLmNnaSI+RW50ZXIgbmV3IGJ1ZzwvQT4gCjxIUj4KCjxGT1JNIG5hbWU9Y2hhbmdlZm9ybSBhY3Rpb249cHJvY2Vzc19idWcuY2dpIG1ldGhvZD1wb3N0PjxJTlBVVCB0eXBlPWhpZGRlbiAKdmFsdWU9MjAwNDEwMTkwODU3MjUgbmFtZT1kZWx0YV90cz4gPElOUFVUIHR5cGU9aGlkZGVuIHZhbHVlPTMgCm5hbWU9bG9uZ2Rlc2NsZW5ndGg+IDxJTlBVVCB0eXBlPWhpZGRlbiB2YWx1ZT03NjM4OCBuYW1lPWlkPiAKPFRBQkxFIGNlbGxTcGFjaW5nPTEgY2VsbFBhZGRpbmc9MSBib3JkZXI9MD4KICA8VEJPRFk+CiAgPFRSPgogICAgPFREIGFsaWduPXJpZ2h0PjxCPkJ1ZyM6PC9CPiA8L1REPgogICAgPFREPjxBIAogICAgICBocmVmPSJodHRwczovL2J1Z3MuZWNsaXBzZS5vcmcvYnVncy9zaG93X2J1Zy5jZ2k/aWQ9NzYzODgiPjc2Mzg4PC9BPiA8L1REPgogICAgPFREPiZuYnNwOzwvVEQ+CiAgICA8VEQgYWxpZ249cmlnaHQ+PEI+UGxhdGZvcm06PC9CPiA8L1REPgogICAgPFREPjxTRUxFQ1QgbmFtZT1yZXBfcGxhdGZvcm0+IDxPUFRJT04gdmFsdWU9QWxsPkFsbDwvT1BUSU9OPiA8T1BUSU9OIAogICAgICAgIHZhbHVlPU1hY2ludG9zaD5NYWNpbnRvc2g8L09QVElPTj4gPE9QVElPTiB2YWx1ZT1QQyBzZWxlY3RlZD5QQzwvT1BUSU9OPiAKICAgICAgICA8T1BUSU9OIHZhbHVlPSJQb3dlciBQQyI+UG93ZXIgUEM8L09QVElPTj4gPE9QVElPTiAKICAgICAgICB2YWx1ZT1TdW4+U3VuPC9PUFRJT04+IDxPUFRJT04gdmFsdWU9T3RoZXI+T3RoZXI8L09QVElPTj48L1NFTEVDVD4gPC9URD4KICAgIDxURD4mbmJzcDs8L1REPgogICAgPFREIGFsaWduPXJpZ2h0PjxCPlJlcG9ydGVyOjwvQj4gPC9URD4KICAgIDxURD5zaWx2aW9fYm9laGxlckBjYS5pYm0uY29tIChTaWx2aW8gQvZobGVyKSA8L1REPjwvVFI+CiAgPFRSPgogICAgPFREIGFsaWduPXJpZ2h0PjxCPlByb2R1Y3Q6PC9CPiA8L1REPgogICAgPFREPjxTRUxFQ1QgbmFtZT1wcm9kdWN0PiA8T1BUSU9OIHZhbHVlPUFKRFQ+QUpEVDwvT1BUSU9OPiA8T1BUSU9OIAogICAgICAgIHZhbHVlPUFzcGVjdEo+QXNwZWN0SjwvT1BUSU9OPiA8T1BUSU9OIHZhbHVlPUJpcnQ+QmlydDwvT1BUSU9OPiA8T1BUSU9OIAogICAgICAgIHZhbHVlPUNEVD5DRFQ8L09QVElPTj4gPE9QVElPTiB2YWx1ZT1DTUU+Q01FPC9PUFRJT04+IDxPUFRJT04gCiAgICAgICAgdmFsdWU9Q29tbXVuaXR5PkNvbW11bml0eTwvT1BUSU9OPiA8T1BUSU9OIHZhbHVlPUVDRVNJUz5FQ0VTSVM8L09QVElPTj4gCiAgICAgICAgPE9QVElPTiB2YWx1ZT1FQ0Y+RUNGPC9PUFRJT04+IDxPUFRJT04gdmFsdWU9RU1GPkVNRjwvT1BUSU9OPiA8T1BUSU9OIAogICAgICAgIHZhbHVlPUVxdWlub3g+RXF1aW5veDwvT1BUSU9OPiA8T1BUSU9OIHZhbHVlPUVSQ1A+RVJDUDwvT1BUSU9OPiA8T1BUSU9OIAogICAgICAgIHZhbHVlPUdFRj5HRUY8L09QVElPTj4gPE9QVElPTiB2YWx1ZT1HTVQ+R01UPC9PUFRJT04+IDxPUFRJT04gCiAgICAgICAgdmFsdWU9SHlhZGVzPkh5YWRlczwvT1BUSU9OPiA8T1BUSU9OIHZhbHVlPUpEVCBzZWxlY3RlZD5KRFQ8L09QVElPTj4gCiAgICAgICAgPE9QVElPTiB2YWx1ZT1PTUVMRVQ+T01FTEVUPC9PUFRJT04+IDxPUFRJT04gdmFsdWU9UERFPlBERTwvT1BUSU9OPiAKICAgICAgICA8T1BUSU9OIHZhbHVlPVBsYXRmb3JtPlBsYXRmb3JtPC9PUFRJT04+IDxPUFRJT04gCiAgICAgICAgdmFsdWU9UG9sbGluYXRlPlBvbGxpbmF0ZTwvT1BUSU9OPiA8T1BUSU9OIAogICAgICAgIHZhbHVlPVN0ZWxsYXRpb24+U3RlbGxhdGlvbjwvT1BUSU9OPiA8T1BUSU9OIHZhbHVlPVVNTDI+VU1MMjwvT1BUSU9OPiAKICAgICAgICA8T1BUSU9OIHZhbHVlPVZFPlZFPC9PUFRJT04+IDxPUFRJT04gdmFsdWU9IldlYiBUb29scyI+V2ViIAogICAgICAgIFRvb2xzPC9PUFRJT04+IDxPUFRJT04gdmFsdWU9V1NWVD5XU1ZUPC9PUFRJT04+IDxPUFRJT04gCiAgICAgICAgdmFsdWU9WFNEPlhTRDwvT1BUSU9OPjwvU0VMRUNUPiA8L1REPgogICAgPFREPiZuYnNwOzwvVEQ+CiAgICA8VEQgYWxpZ249cmlnaHQ+PEI+T1M6PC9CPiA8L1REPgogICAgPFREPjxTRUxFQ1QgbmFtZT1vcF9zeXM+IDxPUFRJT04gdmFsdWU9QWxsPkFsbDwvT1BUSU9OPiA8T1BUSU9OIAogICAgICAgIHZhbHVlPSJBSVggTW90aWYiPkFJWCBNb3RpZjwvT1BUSU9OPiA8T1BUSU9OIHZhbHVlPSJXaW5kb3dzIDk1Ij5XaW5kb3dzIAogICAgICAgIDk1PC9PUFRJT04+IDxPUFRJT04gdmFsdWU9IldpbmRvd3MgOTgiPldpbmRvd3MgOTg8L09QVElPTj4gPE9QVElPTiAKICAgICAgICB2YWx1ZT0iV2luZG93cyBDRSI+V2luZG93cyBDRTwvT1BUSU9OPiA8T1BUSU9OIAogICAgICAgIHZhbHVlPSJXaW5kb3dzIE1FIj5XaW5kb3dzIE1FPC9PUFRJT04+IDxPUFRJT04gCiAgICAgICAgdmFsdWU9IldpbmRvd3MgMjAwMCI+V2luZG93cyAyMDAwPC9PUFRJT04+IDxPUFRJT04gCiAgICAgICAgdmFsdWU9IldpbmRvd3MgTlQiPldpbmRvd3MgTlQ8L09QVElPTj4gPE9QVElPTiB2YWx1ZT0iV2luZG93cyBYUCIgCiAgICAgICAgc2VsZWN0ZWQ+V2luZG93cyBYUDwvT1BUSU9OPiA8T1BUSU9OIHZhbHVlPSJXaW5kb3dzIEFsbCI+V2luZG93cyAKICAgICAgICBBbGw8L09QVElPTj4gPE9QVElPTiB2YWx1ZT0iTWFjT1MgWCI+TWFjT1MgWDwvT1BUSU9OPiA8T1BUSU9OIAogICAgICAgIHZhbHVlPUxpbnV4PkxpbnV4PC9PUFRJT04+IDxPUFRJT04gdmFsdWU9TGludXgtR1RLPkxpbnV4LUdUSzwvT1BUSU9OPiAKICAgICAgICA8T1BUSU9OIHZhbHVlPUxpbnV4LU1vdGlmPkxpbnV4LU1vdGlmPC9PUFRJT04+IDxPUFRJT04gCiAgICAgICAgdmFsdWU9SFAtVVg+SFAtVVg8L09QVElPTj4gPE9QVElPTiB2YWx1ZT1OZXV0cmlubz5OZXV0cmlubzwvT1BUSU9OPiAKICAgICAgICA8T1BUSU9OIHZhbHVlPVFOWC1QaG90b24+UU5YLVBob3RvbjwvT1BUSU9OPiA8T1BUSU9OIAogICAgICAgIHZhbHVlPVNvbGFyaXM+U29sYXJpczwvT1BUSU9OPiA8T1BUSU9OIAogICAgICAgIHZhbHVlPVNvbGFyaXMtR1RLPlNvbGFyaXMtR1RLPC9PUFRJT04+IDxPUFRJT04gCiAgICAgICAgdmFsdWU9U29sYXJpcy1Nb3RpZj5Tb2xhcmlzLU1vdGlmPC9PUFRJT04+IDxPUFRJT04gdmFsdWU9IlVuaXggQWxsIj5Vbml4IAogICAgICAgIEFsbDwvT1BUSU9OPiA8T1BUSU9OIHZhbHVlPW90aGVyPm90aGVyPC9PUFRJT04+PC9TRUxFQ1Q+IDwvVEQ+CiAgICA8VEQ+Jm5ic3A7PC9URD4KICAgIDxURCBhbGlnbj1yaWdodD48Qj5BZGQmbmJzcDtDQzo8L0I+IDwvVEQ+CiAgICA8VEQ+PElOUFVUIHNpemU9MzAgbmFtZT1uZXdjYz4gPC9URD48L1RSPgogIDxUUj4KICAgIDxURCBhbGlnbj1yaWdodD48Qj48QSAKICAgICAgaHJlZj0iaHR0cHM6Ly9idWdzLmVjbGlwc2Uub3JnL2J1Z3MvZGVzY3JpYmVjb21wb25lbnRzLmNnaT9wcm9kdWN0PUpEVCI+Q29tcG9uZW50PC9BPjogCiAgICAgIDwvQj48L1REPgogICAgPFREPjxTRUxFQ1QgbmFtZT1jb21wb25lbnQ+IDxPUFRJT04gdmFsdWU9Q29yZT5Db3JlPC9PUFRJT04+IDxPUFRJT04gCiAgICAgICAgdmFsdWU9RGVidWc+RGVidWc8L09QVElPTj4gPE9QVElPTiB2YWx1ZT1Eb2M+RG9jPC9PUFRJT04+IDxPUFRJT04gCiAgICAgICAgdmFsdWU9VGV4dD5UZXh0PC9PUFRJT04+IDxPUFRJT04gdmFsdWU9VUkgc2VsZWN0ZWQ+VUk8L09QVElPTj48L1NFTEVDVD4gCjwvVEQ+CiAgICA8VEQ+Jm5ic3A7PC9URD4KICAgIDxURCBhbGlnbj1yaWdodD48Qj5WZXJzaW9uOjwvQj4gPC9URD4KICAgIDxURD48U0VMRUNUIG5hbWU9dmVyc2lvbj4gPE9QVElPTiB2YWx1ZT0xLjA+MS4wPC9PUFRJT04+IDxPUFRJT04gCiAgICAgICAgdmFsdWU9Mi4wPjIuMDwvT1BUSU9OPiA8T1BUSU9OIHZhbHVlPTIuMC4xPjIuMC4xPC9PUFRJT04+IDxPUFRJT04gCiAgICAgICAgdmFsdWU9Mi4wLjI+Mi4wLjI8L09QVElPTj4gPE9QVElPTiB2YWx1ZT0yLjE+Mi4xPC9PUFRJT04+IDxPUFRJT04gCiAgICAgICAgdmFsdWU9Mi4xLjE+Mi4xLjE8L09QVElPTj4gPE9QVElPTiB2YWx1ZT0yLjEuMj4yLjEuMjwvT1BUSU9OPiA8T1BUSU9OIAogICAgICAgIHZhbHVlPTMuMCBzZWxlY3RlZD4zLjA8L09QVElPTj4gPE9QVElPTiB2YWx1ZT0zLjAuMT4zLjAuMTwvT1BUSU9OPiAKICAgICAgICA8T1BUSU9OIHZhbHVlPTMuMT4zLjE8L09QVElPTj48L1NFTEVDVD4gPC9URD4KICAgIDxURD4mbmJzcDs8L1REPgogICAgPFREIHZBbGlnbj10b3AgYWxpZ249cmlnaHQgcm93U3Bhbj00PjxCPkNDOjwvQj4gPC9URD4KICAgIDxURCB2QWxpZ249dG9wIHJvd1NwYW49ND48SU5QVVQgdHlwZT1oaWRkZW4gbmFtZT1jYz4gPC9URD48L1RSPgogIDxUUj4KICAgIDxURCBhbGlnbj1yaWdodD48Qj48QSAKICAgICAgaHJlZj0iaHR0cHM6Ly9idWdzLmVjbGlwc2Uub3JnL2J1Z3MvYnVnX3N0YXR1cy5odG1sIj5TdGF0dXM8L0E+OiA8L0I+PC9URD4KICAgIDxURD5ORVc8L1REPgogICAgPFREPiZuYnNwOzwvVEQ+CiAgICA8VEQgYWxpZ249cmlnaHQ+PEI+PEEgCiAgICAgIGhyZWY9Imh0dHBzOi8vYnVncy5lY2xpcHNlLm9yZy9idWdzL2J1Z19zdGF0dXMuaHRtbCNwcmlvcml0eSI+UHJpb3JpdHk8L0E+OjwvQj4gCiAgICA8L1REPgogICAgPFREPjxTRUxFQ1QgbmFtZT1wcmlvcml0eT4gPE9QVElPTiB2YWx1ZT1QMT5QMTwvT1BUSU9OPiA8T1BUSU9OIAogICAgICAgIHZhbHVlPVAyPlAyPC9PUFRJT04+IDxPUFRJT04gdmFsdWU9UDMgc2VsZWN0ZWQ+UDM8L09QVElPTj4gPE9QVElPTiAKICAgICAgICB2YWx1ZT1QND5QNDwvT1BUSU9OPiA8T1BUSU9OIHZhbHVlPVA1PlA1PC9PUFRJT04+PC9TRUxFQ1Q+IDwvVEQ+CiAgICA8VEQ+Jm5ic3A7PC9URD48L1RSPgogIDxUUj4KICAgIDxURCBhbGlnbj1yaWdodD48Qj48QSAKICAgICAgaHJlZj0iaHR0cHM6Ly9idWdzLmVjbGlwc2Uub3JnL2J1Z3MvYnVnX3N0YXR1cy5odG1sIj5SZXNvbHV0aW9uPC9BPjogCiAgICA8L0I+PC9URD4KICAgIDxURD48L1REPgogICAgPFREPiZuYnNwOzwvVEQ+CiAgICA8VEQgYWxpZ249cmlnaHQ+PEI+PEEgCiAgICAgIGhyZWY9Imh0dHBzOi8vYnVncy5lY2xpcHNlLm9yZy9idWdzL2J1Z19zdGF0dXMuaHRtbCNzZXZlcml0eSI+U2V2ZXJpdHk8L0E+OjwvQj4gCiAgICA8L1REPgogICAgPFREPjxTRUxFQ1QgbmFtZT1idWdfc2V2ZXJpdHk+IDxPUFRJT04gdmFsdWU9YmxvY2tlcj5ibG9ja2VyPC9PUFRJT04+IAogICAgICAgIDxPUFRJT04gdmFsdWU9Y3JpdGljYWw+Y3JpdGljYWw8L09QVElPTj4gPE9QVElPTiAKICAgICAgICB2YWx1ZT1tYWpvcj5tYWpvcjwvT1BUSU9OPiA8T1BUSU9OIHZhbHVlPW5vcm1hbCBzZWxlY3RlZD5ub3JtYWw8L09QVElPTj4gCiAgICAgICAgPE9QVElPTiB2YWx1ZT1taW5vcj5taW5vcjwvT1BUSU9OPiA8T1BUSU9OIAogICAgICAgIHZhbHVlPXRyaXZpYWw+dHJpdmlhbDwvT1BUSU9OPiA8T1BUSU9OIAogICAgICAgIHZhbHVlPWVuaGFuY2VtZW50PmVuaGFuY2VtZW50PC9PUFRJT04+PC9TRUxFQ1Q+IDwvVEQ+CiAgICA8VEQ+Jm5ic3A7PC9URD48L1RSPgogIDxUUj4KICAgIDxURCBhbGlnbj1yaWdodD48Qj48QSAKICAgICAgaHJlZj0iaHR0cHM6Ly9idWdzLmVjbGlwc2Uub3JnL2J1Z3MvYnVnX3N0YXR1cy5odG1sI2Fzc2lnbmVkX3RvIj5Bc3NpZ25lZCZuYnNwO1RvPC9BPjogCiAgICAgIDwvQj48L1REPgogICAgPFREPmRpcmtfYmFldW1lckBjaC5pYm0uY29tIChEaXJrIEJhZXVtZXIpPC9URD4KICAgIDxURD4mbmJzcDs8L1REPgogICAgPFREIGFsaWduPXJpZ2h0PjxCPjxBIAogICAgICBocmVmPSJodHRwczovL2J1Z3MuZWNsaXBzZS5vcmcvYnVncy9ub3RhcmdldG1pbGVzdG9uZS5odG1sIj5UYXJnZXQgCiAgICAgIE1pbGVzdG9uZTwvQT46IDwvQj48L1REPgogICAgPFREPjxTRUxFQ1QgbmFtZT10YXJnZXRfbWlsZXN0b25lPiA8T1BUSU9OIHZhbHVlPSIyLjAgTTEiPjIuMCAKICAgICAgICBNMTwvT1BUSU9OPiA8T1BUSU9OIHZhbHVlPSIyLjAgTTIiPjIuMCBNMjwvT1BUSU9OPiA8T1BUSU9OIAogICAgICAgIHZhbHVlPSIyLjAgTTMiPjIuMCBNMzwvT1BUSU9OPiA8T1BUSU9OIHZhbHVlPSIyLjAgTTQiPjIuMCBNNDwvT1BUSU9OPiAKICAgICAgICA8T1BUSU9OIHZhbHVlPSIyLjAgTTUiPjIuMCBNNTwvT1BUSU9OPiA8T1BUSU9OIHZhbHVlPSIyLjAgTTYiPjIuMCAKICAgICAgICBNNjwvT1BUSU9OPiA8T1BUSU9OIHZhbHVlPSIyLjAgRjEiPjIuMCBGMTwvT1BUSU9OPiA8T1BUSU9OIAogICAgICAgIHZhbHVlPSIyLjAgRjIiPjIuMCBGMjwvT1BUSU9OPiA8T1BUSU9OIHZhbHVlPSIyLjAgRjMiPjIuMCBGMzwvT1BUSU9OPiAKICAgICAgICA8T1BUSU9OIHZhbHVlPSIyLjAgRjQiPjIuMCBGNDwvT1BUSU9OPiA8T1BUSU9OIAogICAgICAgIHZhbHVlPTIuMC4xPjIuMC4xPC9PUFRJT04+IDxPUFRJT04gdmFsdWU9Mi4wLjI+Mi4wLjI8L09QVElPTj4gPE9QVElPTiAKICAgICAgICB2YWx1ZT0yLjE+Mi4xPC9PUFRJT04+IDxPUFRJT04gdmFsdWU9IjIuMSBNMSI+Mi4xIE0xPC9PUFRJT04+IDxPUFRJT04gCiAgICAgICAgdmFsdWU9IjIuMSBNMiI+Mi4xIE0yPC9PUFRJT04+IDxPUFRJT04gdmFsdWU9IjIuMSBNMyI+Mi4xIE0zPC9PUFRJT04+IAogICAgICAgIDxPUFRJT04gdmFsdWU9IjIuMSBNNCI+Mi4xIE00PC9PUFRJT04+IDxPUFRJT04gdmFsdWU9IjIuMSBNNSI+Mi4xIAogICAgICAgIE01PC9PUFRJT04+IDxPUFRJT04gdmFsdWU9IjIuMSBSQzEiPjIuMSBSQzE8L09QVElPTj4gPE9QVElPTiAKICAgICAgICB2YWx1ZT0iMi4xIFJDMiI+Mi4xIFJDMjwvT1BUSU9OPiA8T1BUSU9OIHZhbHVlPSIyLjEgUkMzIj4yLjEgCiAgICAgICAgUkMzPC9PUFRJT04+IDxPUFRJT04gdmFsdWU9IjIuMSBSQzQiPjIuMSBSQzQ8L09QVElPTj4gPE9QVElPTiAKICAgICAgICB2YWx1ZT0yLjEuMT4yLjEuMTwvT1BUSU9OPiA8T1BUSU9OIHZhbHVlPTIuMS4yPjIuMS4yPC9PUFRJT04+IDxPUFRJT04gCiAgICAgICAgdmFsdWU9Mi4xLjM+Mi4xLjM8L09QVElPTj4gPE9QVElPTiB2YWx1ZT0zLjA+My4wPC9PUFRJT04+IDxPUFRJT04gCiAgICAgICAgdmFsdWU9IjMuMCBNMSI+My4wIE0xPC9PUFRJT04+IDxPUFRJT04gdmFsdWU9IjMuMCBNMiI+My4wIE0yPC9PUFRJT04+IAogICAgICAgIDxPUFRJT04gdmFsdWU9IjMuMCBNMyI+My4wIE0zPC9PUFRJT04+IDxPUFRJT04gdmFsdWU9IjMuMCBNNCI+My4wIAogICAgICAgIE00PC9PUFRJT04+IDxPUFRJT04gdmFsdWU9IjMuMCBNNSI+My4wIE01PC9PUFRJT04+IDxPUFRJT04gCiAgICAgICAgdmFsdWU9IjMuMCBNNiI+My4wIE02PC9PUFRJT04+IDxPUFRJT04gdmFsdWU9IjMuMCBNNyI+My4wIE03PC9PUFRJT04+IAogICAgICAgIDxPUFRJT04gdmFsdWU9IjMuMCBNOCI+My4wIE04PC9PUFRJT04+IDxPUFRJT04gdmFsdWU9IjMuMCBNOSI+My4wIAogICAgICAgIE05PC9PUFRJT04+IDxPUFRJT04gdmFsdWU9IjMuMCBSQzEiPjMuMCBSQzE8L09QVElPTj4gPE9QVElPTiAKICAgICAgICB2YWx1ZT0iMy4wIFJDMiI+My4wIFJDMjwvT1BUSU9OPiA8T1BUSU9OIHZhbHVlPSIzLjAgUkMzIj4zLjAgCiAgICAgICAgUkMzPC9PUFRJT04+IDxPUFRJT04gdmFsdWU9IjMuMCBSQzQiPjMuMCBSQzQ8L09QVElPTj4gPE9QVElPTiAKICAgICAgICB2YWx1ZT0zLjAuMT4zLjAuMTwvT1BUSU9OPiA8T1BUSU9OIHZhbHVlPTMuMC4yPjMuMC4yPC9PUFRJT04+IDxPUFRJT04gCiAgICAgICAgdmFsdWU9My4xPjMuMTwvT1BUSU9OPiA8T1BUSU9OIHZhbHVlPSIzLjEgTTEiPjMuMSBNMTwvT1BUSU9OPiA8T1BUSU9OIAogICAgICAgIHZhbHVlPSIzLjEgTTIiPjMuMSBNMjwvT1BUSU9OPiA8T1BUSU9OIHZhbHVlPSIzLjEgTTMiPjMuMSBNMzwvT1BUSU9OPiAKICAgICAgICA8T1BUSU9OIHZhbHVlPSIzLjEgTTQiPjMuMSBNNDwvT1BUSU9OPiA8T1BUSU9OIHZhbHVlPSIzLjEgTTUiPjMuMSAKICAgICAgICBNNTwvT1BUSU9OPiA8T1BUSU9OIHZhbHVlPSIzLjEgTTYiPjMuMSBNNjwvT1BUSU9OPiA8T1BUSU9OIHZhbHVlPS0tLSAKICAgICAgICBzZWxlY3RlZD4tLS08L09QVElPTj48L1NFTEVDVD4gPC9URD4KICAgIDxURD4mbmJzcDs8L1REPjwvVFI+CiAgPFRSPgogICAgPFREIGFsaWduPXJpZ2h0PjxCPlVSTDogPC9CPjwvVEQ+CiAgICA8VEQgY29sU3Bhbj03PjxJTlBVVCBzaXplPTYwIG5hbWU9YnVnX2ZpbGVfbG9jPiA8L1REPjwvVFI+CiAgPFRSPgogICAgPFREIGFsaWduPXJpZ2h0PjxCPlN1bW1hcnk6PC9CPiA8L1REPgogICAgPFREIGNvbFNwYW49Nz48SU5QVVQgc2l6ZT02MCAKICAgICAgdmFsdWU9IkFzc2VydGlvbiBmYWlsZWQgZHVyaW5nIHB1bGwgdXAgcmVmYWN0b3JpbmciIG5hbWU9c2hvcnRfZGVzYz4gCjwvVEQ+PC9UUj4KICA8VFI+CiAgICA8VEQgYWxpZ249cmlnaHQ+PEI+PEEgCiAgICAgIGhyZWY9Imh0dHBzOi8vYnVncy5lY2xpcHNlLm9yZy9idWdzL2Rlc2NyaWJla2V5d29yZHMuY2dpIj5LZXl3b3JkczwvQT46IAogICAgICA8L0I+CiAgICA8VEQgY29sU3Bhbj03PjxJTlBVVCBzaXplPTYwIG5hbWU9a2V5d29yZHM+IDwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+PCEtLSAxLjBAYnVnemlsbGEub3JnIC0tPjxCUj4KPFRBQkxFIGNlbGxTcGFjaW5nPTAgY2VsbFBhZGRpbmc9NCBib3JkZXI9MT4KICA8VEJPRFk+CiAgPFRSPgogICAgPFRIIGFsaWduPWxlZnQgYmdDb2xvcj0jY2NjY2NjPkF0dGFjaG1lbnQ8L1RIPgogICAgPFRIIGFsaWduPWxlZnQgYmdDb2xvcj0jY2NjY2NjPlR5cGU8L1RIPgogICAgPFRIIGFsaWduPWxlZnQgYmdDb2xvcj0jY2NjY2NjPk1vZGlmaWVkPC9USD4KICAgIDxUSCBhbGlnbj1sZWZ0IGJnQ29sb3I9I2NjY2NjYz5TdGF0dXM8L1RIPgogICAgPFRIIGFsaWduPWxlZnQgYmdDb2xvcj0jY2NjY2NjPkFjdGlvbnM8L1RIPjwvVFI+CiAgPFRSPgogICAgPFREIGNvbFNwYW49ND48QSAKICAgICAgaHJlZj0iaHR0cHM6Ly9idWdzLmVjbGlwc2Uub3JnL2J1Z3MvYXR0YWNobWVudC5jZ2k/YnVnaWQ9NzYzODgmYW1wO2FjdGlvbj1lbnRlciI+Q3JlYXRlIAogICAgICBhIE5ldyBBdHRhY2htZW50PC9BPiAocHJvcG9zZWQgcGF0Y2gsIHRlc3RjYXNlLCBldGMuKSA8L1REPgogICAgPFREPjxBIAogICAgICBocmVmPSJodHRwczovL2J1Z3MuZWNsaXBzZS5vcmcvYnVncy9hdHRhY2htZW50LmNnaT9idWdpZD03NjM4OCZhbXA7YWN0aW9uPXZpZXdhbGwiPlZpZXcgCiAgICAgIEFsbDwvQT4gPC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT48QlI+CjxUQUJMRT4KICA8VEJPRFk+CiAgPFRSPgogICAgPFRIIGFsaWduPXJpZ2h0PkJ1ZyA3NjM4OCBkZXBlbmRzIG9uOjwvVEg+CiAgICA8VEQ+PC9URD4KICAgIDxURD48SU5QVVQgbmFtZT1kZXBlbmRzb24+IDwvVEQ+CiAgICA8VEQgcm93U3Bhbj0yPjxBIAogICAgICBocmVmPSJodHRwczovL2J1Z3MuZWNsaXBzZS5vcmcvYnVncy9zaG93ZGVwZW5kZW5jeXRyZWUuY2dpP2lkPTc2Mzg4Ij5TaG93IAogICAgICBkZXBlbmRlbmN5IHRyZWU8L0E+IDwvVEQ+PC9UUj4KICA8VFI+CiAgICA8VEggYWxpZ249cmlnaHQ+QnVnIDc2Mzg4IGJsb2Nrczo8L1RIPgogICAgPFREPjwvVEQ+CiAgICA8VEQ+PElOUFVUIG5hbWU9YmxvY2tlZD4gPC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT4KPFRBQkxFPgogIDxUQk9EWT4KICA8VFI+CiAgICA8VEg+PEEgaHJlZj0iaHR0cHM6Ly9idWdzLmVjbGlwc2Uub3JnL2J1Z3Mvdm90ZWhlbHAuaHRtbCI+Vm90ZXM8L0E+OiA8L1RIPgogICAgPFREPjAmbmJzcDsmbmJzcDsmbmJzcDsgPEEgCiAgICAgIGhyZWY9Imh0dHBzOi8vYnVncy5lY2xpcHNlLm9yZy9idWdzL3ZvdGVzLmNnaT9hY3Rpb249c2hvd19idWcmYW1wO2J1Z19pZD03NjM4OCI+U2hvdyAKICAgICAgdm90ZXMgZm9yIHRoaXMgYnVnPC9BPiZuYnNwOyZuYnNwOyZuYnNwOyA8QSAKICAgICAgaHJlZj0iaHR0cHM6Ly9idWdzLmVjbGlwc2Uub3JnL2J1Z3Mvdm90ZXMuY2dpP2FjdGlvbj1zaG93X3VzZXImYW1wO2J1Z19pZD03NjM4OCI+Vm90ZSAKICAgICAgZm9yIHRoaXMgYnVnPC9BPiA8L1REPjwvVFI+PC9UQk9EWT48L1RBQkxFPjxCUj48Qj5BZGRpdGlvbmFsIENvbW1lbnRzOjwvQj4gPEJSPjxURVhUQVJFQSBhY2Nlc3NLZXk9YyBuYW1lPWNvbW1lbnQgcm93cz0xMCB3cmFwPWhhcmQgY29scz04MD48L1RFWFRBUkVBPiAKPEJSPjxCUj48SU5QVVQgdHlwZT1yYWRpbyBDSEVDS0VEIHZhbHVlPW5vbmUgbmFtZT1rbm9iPiBMZWF2ZSBhcyAKPEI+TkVXJm5ic3A7PC9CPiA8QlI+PElOUFVUIHR5cGU9cmFkaW8gdmFsdWU9YWNjZXB0IG5hbWU9a25vYj4gQWNjZXB0IGJ1ZyAKKGNoYW5nZSBzdGF0dXMgdG8gPEI+QVNTSUdORUQ8L0I+KSA8QlI+PElOUFVUIHR5cGU9cmFkaW8gdmFsdWU9cmVzb2x2ZSAKbmFtZT1rbm9iPiBSZXNvbHZlIGJ1ZywgY2hhbmdpbmcgPEEgCmhyZWY9Imh0dHBzOi8vYnVncy5lY2xpcHNlLm9yZy9idWdzL2J1Z19zdGF0dXMuaHRtbCI+cmVzb2x1dGlvbjwvQT4gdG8gPFNFTEVDVCAKb25jaGFuZ2U9ZG9jdW1lbnQuY2hhbmdlZm9ybS5rbm9iWzJdLmNoZWNrZWQ9dHJ1ZSBuYW1lPXJlc29sdXRpb24+IDxPUFRJT04gCiAgdmFsdWU9RklYRUQgc2VsZWN0ZWQ+RklYRUQ8L09QVElPTj4gPE9QVElPTiB2YWx1ZT1JTlZBTElEPklOVkFMSUQ8L09QVElPTj4gCiAgPE9QVElPTiB2YWx1ZT1XT05URklYPldPTlRGSVg8L09QVElPTj4gPE9QVElPTiB2YWx1ZT1MQVRFUj5MQVRFUjwvT1BUSU9OPiAKICA8T1BUSU9OIHZhbHVlPVJFTUlORD5SRU1JTkQ8L09QVElPTj4gPE9QVElPTiAKICB2YWx1ZT1XT1JLU0ZPUk1FPldPUktTRk9STUU8L09QVElPTj48L1NFTEVDVD4gPEJSPjxJTlBVVCB0eXBlPXJhZGlvIAp2YWx1ZT1kdXBsaWNhdGUgbmFtZT1rbm9iPiBSZXNvbHZlIGJ1ZywgbWFyayBpdCBhcyBkdXBsaWNhdGUgb2YgYnVnICMgPElOUFVUIApvbmNoYW5nZT0iaWYgKHRoaXMudmFsdWUgIT0gJycpJiMxMDsgICAgICAgICAgICAgICAgICAgICAgIHtkb2N1bWVudC5jaGFuZ2Vmb3JtLmtub2JbM10uY2hlY2tlZD10cnVlfSIgCnNpemU9NiBuYW1lPWR1cF9pZD4gPEJSPjxJTlBVVCB0eXBlPXJhZGlvIHZhbHVlPXJlYXNzaWduIG5hbWU9a25vYj4gPEEgCmhyZWY9Imh0dHBzOi8vYnVncy5lY2xpcHNlLm9yZy9idWdzL2J1Z19zdGF0dXMuaHRtbCNhc3NpZ25lZF90byI+UmVhc3NpZ248L0E+IApidWcgdG8gPElOUFVUIApvbmNoYW5nZT0iaWYgKCh0aGlzLnZhbHVlICE9ICdkaXJrX2JhZXVtZXJAY2guaWJtLmNvbScpICZhbXA7JmFtcDsgJiMxMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHRoaXMudmFsdWUgIT0gJycpKSB7JiMxMDsgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuY2hhbmdlZm9ybS5rbm9iWzRdLmNoZWNrZWQ9dHJ1ZTsgJiMxMDsgICAgICAgICAgICAgICAgICAgICAgIH0iIApzaXplPTMyIHZhbHVlPWRpcmtfYmFldW1lckBjaC5pYm0uY29tIG5hbWU9YXNzaWduZWRfdG8+IDxCUj48SU5QVVQgdHlwZT1yYWRpbyAKdmFsdWU9cmVhc3NpZ25ieWNvbXBvbmVudCBuYW1lPWtub2I+IFJlYXNzaWduIGJ1ZyB0byBvd25lciBvZiBzZWxlY3RlZCBjb21wb25lbnQgCjxCUj48SU5QVVQgdHlwZT1zdWJtaXQgdmFsdWU9Q29tbWl0PiA8SU5QVVQgdHlwZT1oaWRkZW4gdmFsdWU9cHJvY2Vzc19idWcgCm5hbWU9Zm9ybV9uYW1lPiAKPFA+PEZPTlQgc2l6ZT0rMT48Qj48QSAKaHJlZj0iaHR0cHM6Ly9idWdzLmVjbGlwc2Uub3JnL2J1Z3Mvc2hvd19hY3Rpdml0eS5jZ2k/aWQ9NzYzODgiPlZpZXcgQnVnIApBY3Rpdml0eTwvQT4gJm5ic3A7IHwgJm5ic3A7IDxBIApocmVmPSJodHRwczovL2J1Z3MuZWNsaXBzZS5vcmcvYnVncy9sb25nX2xpc3QuY2dpP2J1Z2xpc3Q9NzYzODgiPkZvcm1hdCBGb3IgClByaW50aW5nPC9BPiA8L0I+PC9GT05UPjwvUD48L0ZPUk0+CjxUQUJMRT4KICA8VEJPRFk+CiAgPFRSPgogICAgPFREIGFsaWduPWxlZnQ+PEI+PEEgCiAgICAgIGhyZWY9Imh0dHBzOi8vYnVncy5lY2xpcHNlLm9yZy9idWdzL3Nob3dfYnVnLmNnaT9pZD03NjM4OCNjMCIgCiAgICAgIG5hbWU9YzA+RGVzY3JpcHRpb248L0E+OiA8L0I+PC9URD4KICAgIDxURCBhbGlnbj1yaWdodCB3aWR0aD0iMTAwJSI+T3BlbmVkOiAyMDA0LTEwLTE1IDE1OjMwIDwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+CjxIUj4KPCEtLSAxLjBAYnVnemlsbGEub3JnIC0tPjxQUkU+SSB3YXMgZG9pbmcgc29tZSBwdWxsIHVwIHJlZmFjdG9yaW5ncy4KCiFTRVNTSU9OIE9jdCAxNSwgMjAwNCAxNTowODo0Mi41NzIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmVjbGlwc2UuYnVpbGRJZD1JMjAwNDEwMTMwODAwCmphdmEuZnVsbHZlcnNpb249SjJSRSAxLjQuMiBJQk0gSjkgMi4yIFdpbmRvd3MgWFAgeDg2LTMyIGo5bjE0Mi0yMDA0MDgzMSAoSklUCmVuYWJsZWQpCko5Vk0gLSAyMDA0MDgyN18yMTM2X2xIZFNNUgpKSVQgIC0gcjdfbGV2ZWwyMDA0MDgyN18xODAxCkJvb3RMb2FkZXIgY29uc3RhbnRzOiBPUz13aW4zMiwgQVJDSD14ODYsIFdTPXdpbjMyLCBOTD1lbl9VUwoKIUVOVFJZIG9yZy5lY2xpcHNlLmNvcmUucnVudGltZSA0IDIgT2N0IDE1LCAyMDA0IDE1OjA4OjQyLjU3MgohTUVTU0FHRSBQcm9ibGVtcyBvY2N1cnJlZCB3aGVuIGludm9raW5nIGNvZGUgZnJvbSBwbHVnLWluOgoib3JnLmVjbGlwc2UuY29yZS5ydW50aW1lIi4KIVNUQUNLIDAKb3JnLmVjbGlwc2UuamZhY2UudGV4dC5Bc3NlcnQkQXNzZXJ0aW9uRmFpbGVkRXhjZXB0aW9uOiBBc3NlcnRpb24gZmFpbGVkOiAKCWF0IG9yZy5lY2xpcHNlLmpmYWNlLnRleHQuQXNzZXJ0LmlzVHJ1ZShBc3NlcnQuamF2YToxNzcpCglhdCBvcmcuZWNsaXBzZS5qZmFjZS50ZXh0LkFzc2VydC5pc1RydWUoQXNzZXJ0LmphdmE6MTYyKQoJYXQgb3JnLmVjbGlwc2UudGV4dC5lZGl0cy5UZXh0RWRpdC5pbnRlcm5hbFNldExlbmd0aChUZXh0RWRpdC5qYXZhOjcxMikKCWF0IG9yZy5lY2xpcHNlLnRleHQuZWRpdHMuTXVsdGlUZXh0RWRpdC5kZWZpbmVSZWdpb24oTXVsdGlUZXh0RWRpdC5qYXZhOjE5NCkKCWF0IG9yZy5lY2xpcHNlLnRleHQuZWRpdHMuVGV4dEVkaXRQcm9jZXNzb3IuJmx0O2luaXQmZ3Q7KFRleHRFZGl0UHJvY2Vzc29yLmphdmE6NjUpCglhdCBvcmcuZWNsaXBzZS50ZXh0LmVkaXRzLlRleHRFZGl0UHJvY2Vzc29yLiZsdDtpbml0Jmd0OyhUZXh0RWRpdFByb2Nlc3Nvci5qYXZhOjU2KQoJYXQKb3JnLmVjbGlwc2UubHRrLmNvcmUucmVmYWN0b3JpbmcuVGV4dENoYW5nZS5jcmVhdGVUZXh0RWRpdFByb2Nlc3NvcihUZXh0Q2hhbmdlLmphdmE6NjM4KQoJYXQKb3JnLmVjbGlwc2UubHRrLmNvcmUucmVmYWN0b3JpbmcuVGV4dENoYW5nZS5nZXRQcmV2aWV3RG9jdW1lbnQoVGV4dENoYW5nZS5qYXZhOjYxMSkKCWF0Cm9yZy5lY2xpcHNlLmx0ay5jb3JlLnJlZmFjdG9yaW5nLlRleHRDaGFuZ2UuZ2V0UHJldmlld0RvY3VtZW50KFRleHRDaGFuZ2UuamF2YTo1MzgpCglhdApvcmcuZWNsaXBzZS5sdGsuY29yZS5yZWZhY3RvcmluZy5UZXh0Q2hhbmdlLmdldFByZXZpZXdDb250ZW50KFRleHRDaGFuZ2UuamF2YTo1NTMpCglhdApvcmcuZWNsaXBzZS5sdGsuaW50ZXJuYWwudWkucmVmYWN0b3JpbmcuVGV4dENoYW5nZVByZXZpZXdWaWV3ZXIuc2V0SW5wdXQoVGV4dENoYW5nZVByZXZpZXdWaWV3ZXIuamF2YToxOTApCglhdApvcmcuZWNsaXBzZS5sdGsuaW50ZXJuYWwudWkucmVmYWN0b3JpbmcuRGVmYXVsdENoYW5nZUVsZW1lbnQuZmVlZElucHV0KERlZmF1bHRDaGFuZ2VFbGVtZW50LmphdmE6NTcpCglhdApvcmcuZWNsaXBzZS5sdGsuaW50ZXJuYWwudWkucmVmYWN0b3JpbmcuUHJldmlld1dpemFyZFBhZ2Uuc2hvd1ByZXZpZXcoUHJldmlld1dpemFyZFBhZ2UuamF2YTozNzApCglhdApvcmcuZWNsaXBzZS5sdGsuaW50ZXJuYWwudWkucmVmYWN0b3JpbmcuUHJldmlld1dpemFyZFBhZ2UuYWNjZXNzJDIoUHJldmlld1dpemFyZFBhZ2UuamF2YTozNTUpCglhdApvcmcuZWNsaXBzZS5sdGsuaW50ZXJuYWwudWkucmVmYWN0b3JpbmcuUHJldmlld1dpemFyZFBhZ2UkMi5zZWxlY3Rpb25DaGFuZ2VkKFByZXZpZXdXaXphcmRQYWdlLmphdmE6MzQ2KQoJYXQgb3JnLmVjbGlwc2UuamZhY2Uudmlld2Vycy5WaWV3ZXIkMi5ydW4oVmlld2VyLmphdmE6MTYzKQoJYXQKb3JnLmVjbGlwc2UuY29yZS5pbnRlcm5hbC5ydW50aW1lLkludGVybmFsUGxhdGZvcm0ucnVuKEludGVybmFsUGxhdGZvcm0uamF2YTo2MTYpCglhdCBvcmcuZWNsaXBzZS5jb3JlLnJ1bnRpbWUuUGxhdGZvcm0ucnVuKFBsYXRmb3JtLmphdmE6NzQ3KQoJYXQgb3JnLmVjbGlwc2UuamZhY2Uudmlld2Vycy5WaWV3ZXIuZmlyZVNlbGVjdGlvbkNoYW5nZWQoVmlld2VyLmphdmE6MTYxKQoJYXQKb3JnLmVjbGlwc2UuamZhY2Uudmlld2Vycy5TdHJ1Y3R1cmVkVmlld2VyLnVwZGF0ZVNlbGVjdGlvbihTdHJ1Y3R1cmVkVmlld2VyLmphdmE6MTYxMykKCWF0Cm9yZy5lY2xpcHNlLmpmYWNlLnZpZXdlcnMuU3RydWN0dXJlZFZpZXdlci5zZXRTZWxlY3Rpb24oU3RydWN0dXJlZFZpZXdlci5qYXZhOjEzMDQpCglhdCBvcmcuZWNsaXBzZS5qZmFjZS52aWV3ZXJzLlZpZXdlci5zZXRTZWxlY3Rpb24oVmlld2VyLmphdmE6MzgwKQoJYXQKb3JnLmVjbGlwc2UubHRrLmludGVybmFsLnVpLnJlZmFjdG9yaW5nLlByZXZpZXdXaXphcmRQYWdlLnNldFZpc2libGUoUHJldmlld1dpemFyZFBhZ2UuamF2YToyODMpCglhdCBvcmcuZWNsaXBzZS5qZmFjZS53aXphcmQuV2l6YXJkRGlhbG9nLnVwZGF0ZUZvclBhZ2UoV2l6YXJkRGlhbG9nLmphdmE6MTAyNCkKCWF0IG9yZy5lY2xpcHNlLmpmYWNlLndpemFyZC5XaXphcmREaWFsb2cuYWNjZXNzJDIoV2l6YXJkRGlhbG9nLmphdmE6MTAwNykKCWF0IG9yZy5lY2xpcHNlLmpmYWNlLndpemFyZC5XaXphcmREaWFsb2ckNC5ydW4oV2l6YXJkRGlhbG9nLmphdmE6OTk3KQoJYXQgb3JnLmVjbGlwc2Uuc3d0LmN1c3RvbS5CdXN5SW5kaWNhdG9yLnNob3dXaGlsZShCdXN5SW5kaWNhdG9yLmphdmE6NjkpCglhdCBvcmcuZWNsaXBzZS5qZmFjZS53aXphcmQuV2l6YXJkRGlhbG9nLnNob3dQYWdlKFdpemFyZERpYWxvZy5qYXZhOjk5NSkKCWF0IG9yZy5lY2xpcHNlLmpmYWNlLndpemFyZC5XaXphcmREaWFsb2cubmV4dFByZXNzZWQoV2l6YXJkRGlhbG9nLmphdmE6NzQ3KQoJYXQgb3JnLmVjbGlwc2UuamZhY2Uud2l6YXJkLldpemFyZERpYWxvZy5idXR0b25QcmVzc2VkKFdpemFyZERpYWxvZy5qYXZhOjMzOCkKCWF0IG9yZy5lY2xpcHNlLmpmYWNlLmRpYWxvZ3MuRGlhbG9nJDIud2lkZ2V0U2VsZWN0ZWQoRGlhbG9nLmphdmE6NTQzKQoJYXQgb3JnLmVjbGlwc2Uuc3d0LndpZGdldHMuVHlwZWRMaXN0ZW5lci5oYW5kbGVFdmVudChUeXBlZExpc3RlbmVyLmphdmE6ODkpCglhdCBvcmcuZWNsaXBzZS5zd3Qud2lkZ2V0cy5FdmVudFRhYmxlLnNlbmRFdmVudChFdmVudFRhYmxlLmphdmE6ODIpCglhdCBvcmcuZWNsaXBzZS5zd3Qud2lkZ2V0cy5XaWRnZXQuc2VuZEV2ZW50KFdpZGdldC5qYXZhOjgwMCkKCWF0IG9yZy5lY2xpcHNlLnN3dC53aWRnZXRzLkRpc3BsYXkucnVuRGVmZXJyZWRFdmVudHMoRGlzcGxheS5qYXZhOjI3ODQpCglhdCBvcmcuZWNsaXBzZS5zd3Qud2lkZ2V0cy5EaXNwbGF5LnJlYWRBbmREaXNwYXRjaChEaXNwbGF5LmphdmE6MjQ0MykKCWF0IG9yZy5lY2xpcHNlLmpmYWNlLndpbmRvdy5XaW5kb3cucnVuRXZlbnRMb29wKFdpbmRvdy5qYXZhOjcwNikKCWF0IG9yZy5lY2xpcHNlLmpmYWNlLndpbmRvdy5XaW5kb3cub3BlbihXaW5kb3cuamF2YTo2ODQpCglhdApvcmcuZWNsaXBzZS5sdGsudWkucmVmYWN0b3JpbmcuUmVmYWN0b3JpbmdXaXphcmRPcGVuT3BlcmF0aW9uJDEucnVuKFJlZmFjdG9yaW5nV2l6YXJkT3Blbk9wZXJhdGlvbi5qYXZhOjEyNSkKCWF0IG9yZy5lY2xpcHNlLnN3dC5jdXN0b20uQnVzeUluZGljYXRvci5zaG93V2hpbGUoQnVzeUluZGljYXRvci5qYXZhOjY5KQoJYXQKb3JnLmVjbGlwc2UubHRrLnVpLnJlZmFjdG9yaW5nLlJlZmFjdG9yaW5nV2l6YXJkT3Blbk9wZXJhdGlvbi5ydW4oUmVmYWN0b3JpbmdXaXphcmRPcGVuT3BlcmF0aW9uLmphdmE6MTM4KQoJYXQKb3JnLmVjbGlwc2UuamR0LmludGVybmFsLnVpLnJlZmFjdG9yaW5nLmFjdGlvbnMuUmVmYWN0b3JpbmdTdGFydGVyLmFjdGl2YXRlKFJlZmFjdG9yaW5nU3RhcnRlci5qYXZhOjQwKQoJYXQgb3JnLmVjbGlwc2UuamR0LnVpLmFjdGlvbnMuUHVsbFVwQWN0aW9uLnN0YXJ0UmVmYWN0b3JpbmcoUHVsbFVwQWN0aW9uLmphdmE6MjA5KQoJYXQgb3JnLmVjbGlwc2UuamR0LnVpLmFjdGlvbnMuUHVsbFVwQWN0aW9uLnJ1bihQdWxsVXBBY3Rpb24uamF2YToxNTEpCglhdApvcmcuZWNsaXBzZS5qZHQudWkuYWN0aW9ucy5TZWxlY3Rpb25EaXNwYXRjaEFjdGlvbi5kaXNwYXRjaFJ1bihTZWxlY3Rpb25EaXNwYXRjaEFjdGlvbi5qYXZhOjIxNikKCWF0Cm9yZy5lY2xpcHNlLmpkdC51aS5hY3Rpb25zLlNlbGVjdGlvbkRpc3BhdGNoQWN0aW9uLnJ1bihTZWxlY3Rpb25EaXNwYXRjaEFjdGlvbi5qYXZhOjE4OCkKCWF0IG9yZy5lY2xpcHNlLmpmYWNlLmFjdGlvbi5BY3Rpb24ucnVuV2l0aEV2ZW50KEFjdGlvbi5qYXZhOjk4OCkKCWF0Cm9yZy5lY2xpcHNlLmpmYWNlLmFjdGlvbi5BY3Rpb25Db250cmlidXRpb25JdGVtLmhhbmRsZVdpZGdldFNlbGVjdGlvbihBY3Rpb25Db250cmlidXRpb25JdGVtLmphdmE6OTQ2KQoJYXQKb3JnLmVjbGlwc2UuamZhY2UuYWN0aW9uLkFjdGlvbkNvbnRyaWJ1dGlvbkl0ZW0uYWNjZXNzJDIoQWN0aW9uQ29udHJpYnV0aW9uSXRlbS5qYXZhOjg5NikKCWF0Cm9yZy5lY2xpcHNlLmpmYWNlLmFjdGlvbi5BY3Rpb25Db250cmlidXRpb25JdGVtJDcuaGFuZGxlRXZlbnQoQWN0aW9uQ29udHJpYnV0aW9uSXRlbS5qYXZhOjgxMCkKCWF0IG9yZy5lY2xpcHNlLnN3dC53aWRnZXRzLkV2ZW50VGFibGUuc2VuZEV2ZW50KEV2ZW50VGFibGUuamF2YTo4MikKCWF0IG9yZy5lY2xpcHNlLnN3dC53aWRnZXRzLldpZGdldC5zZW5kRXZlbnQoV2lkZ2V0LmphdmE6ODAwKQoJYXQgb3JnLmVjbGlwc2Uuc3d0LndpZGdldHMuRGlzcGxheS5ydW5EZWZlcnJlZEV2ZW50cyhEaXNwbGF5LmphdmE6Mjc4NCkKCWF0IG9yZy5lY2xpcHNlLnN3dC53aWRnZXRzLkRpc3BsYXkucmVhZEFuZERpc3BhdGNoKERpc3BsYXkuamF2YToyNDQzKQoJYXQgb3JnLmVjbGlwc2UudWkuaW50ZXJuYWwuV29ya2JlbmNoLnJ1bkV2ZW50TG9vcChXb3JrYmVuY2guamF2YToxNDQzKQoJYXQgb3JnLmVjbGlwc2UudWkuaW50ZXJuYWwuV29ya2JlbmNoLnJ1blVJKFdvcmtiZW5jaC5qYXZhOjE0MTQpCglhdCBvcmcuZWNsaXBzZS51aS5pbnRlcm5hbC5Xb3JrYmVuY2guY3JlYXRlQW5kUnVuV29ya2JlbmNoKFdvcmtiZW5jaC5qYXZhOjI3MSkKCWF0IG9yZy5lY2xpcHNlLnVpLlBsYXRmb3JtVUkuY3JlYXRlQW5kUnVuV29ya2JlbmNoKFBsYXRmb3JtVUkuamF2YToxNDQpCglhdCBvcmcuZWNsaXBzZS51aS5pbnRlcm5hbC5pZGUuSURFQXBwbGljYXRpb24ucnVuKElERUFwcGxpY2F0aW9uLmphdmE6MTAyKQoJYXQKb3JnLmVjbGlwc2UuY29yZS5pbnRlcm5hbC5ydW50aW1lLlBsYXRmb3JtQWN0aXZhdG9yJDEucnVuKFBsYXRmb3JtQWN0aXZhdG9yLmphdmE6MzM1KQoJYXQgb3JnLmVjbGlwc2UuY29yZS5ydW50aW1lLmFkYXB0b3IuRWNsaXBzZVN0YXJ0ZXIucnVuKEVjbGlwc2VTdGFydGVyLmphdmE6MjczKQoJYXQgb3JnLmVjbGlwc2UuY29yZS5ydW50aW1lLmFkYXB0b3IuRWNsaXBzZVN0YXJ0ZXIucnVuKEVjbGlwc2VTdGFydGVyLmphdmE6MTI5KQoJYXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZTAoTmF0aXZlIE1ldGhvZCkKCWF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6ODUpCglhdCBzdW4ucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKE5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjU4KQoJYXQKc3VuLnJlZmxlY3QuRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjYwKQoJYXQgamF2YS5sYW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZShNZXRob2QuamF2YTozOTEpCglhdCBvcmcuZWNsaXBzZS5jb3JlLmxhdW5jaGVyLk1haW4uYmFzaWNSdW4oTWFpbi5qYXZhOjE4NSkKCWF0IG9yZy5lY2xpcHNlLmNvcmUubGF1bmNoZXIuTWFpbi5ydW4oTWFpbi5qYXZhOjcwNCkKCWF0IG9yZy5lY2xpcHNlLmNvcmUubGF1bmNoZXIuTWFpbi5tYWluKE1haW4uamF2YTo2ODgpPC9QUkU+PEJSPjxJPi0tLS0tLS0gCkFkZGl0aW9uYWwgQ29tbWVudCA8QSAKaHJlZj0iaHR0cHM6Ly9idWdzLmVjbGlwc2Uub3JnL2J1Z3Mvc2hvd19idWcuY2dpP2lkPTc2Mzg4I2MxIiBuYW1lPWMxPiMxPC9BPiAKRnJvbSA8QSBocmVmPSJtYWlsdG86ZGlya19iYWV1bWVyQGNoLmlibS5jb20iPkRpcmsgQmFldW1lcjwvQT4gMjAwNC0xMC0xOSAwNjowNiAKLS0tLS0tLSA8L0k+PFBSRT5TaWx2aW8sIGFueSBzdGVwcyB0byByZXByb2R1Y2Ugb3IgYW55IGFkZGl0aW9uYWwgZW50cmllcyBpbiB0aGUgbG9nIHRoYXQgCmNvbnRhaW4gZXhjZXB0aW9ucyBmcm9tIHRleHQgZWRpdHMgPzwvUFJFPjxCUj48ST4tLS0tLS0tIEFkZGl0aW9uYWwgQ29tbWVudCA8QSAKaHJlZj0iaHR0cHM6Ly9idWdzLmVjbGlwc2Uub3JnL2J1Z3Mvc2hvd19idWcuY2dpP2lkPTc2Mzg4I2MyIiBuYW1lPWMyPiMyPC9BPiAKRnJvbSA8QSBocmVmPSJtYWlsdG86c2lsdmlvX2JvZWhsZXJAY2EuaWJtLmNvbSI+U2lsdmlvIEL2aGxlcjwvQT4gMjAwNC0xMC0xOSAKMDg6NTcgLS0tLS0tLSA8L0k+PFBSRT5ObyBmdXJ0aGVyIGVudHJpZXMgYW5kIG5vIHJlcHJvZHVjYWJsZSBzdGVwcyB1bmZvcnR1bmF0ZWx5LCBzb3JyeS48L1BSRT4KPEhSPgo8IS0tIDEuMEBidWd6aWxsYS5vcmcgLS0+PEI+QnVnIExpc3Q6PC9CPiA8QSAKaHJlZj0iaHR0cHM6Ly9idWdzLmVjbGlwc2Uub3JnL2J1Z3Mvc2hvd19idWcuY2dpP2lkPTM2MzEwIj5GaXJzdDwvQT4gPEEgCmhyZWY9Imh0dHBzOi8vYnVncy5lY2xpcHNlLm9yZy9idWdzL3Nob3dfYnVnLmNnaT9pZD03NjEwMSI+TGFzdDwvQT4gKFRoaXMgYnVnIGlzIApub3QgaW4geW91ciBsaXN0KSAmbmJzcDsmbmJzcDs8QSAKaHJlZj0iaHR0cHM6Ly9idWdzLmVjbGlwc2Uub3JnL2J1Z3MvYnVnbGlzdC5jZ2k/cmVnZXRsYXN0bGlzdD0xIj5TaG93IGxpc3Q8L0E+IAombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8QSAKaHJlZj0iaHR0cHM6Ly9idWdzLmVjbGlwc2Uub3JnL2J1Z3MvcXVlcnkuY2dpIj5RdWVyeSBwYWdlPC9BPiAKJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PEEgCmhyZWY9Imh0dHBzOi8vYnVncy5lY2xpcHNlLm9yZy9idWdzL2VudGVyX2J1Zy5jZ2kiPkVudGVyIG5ldyBidWc8L0E+IDxCUj48IS0tIDEuMEBidWd6aWxsYS5vcmcgLS0+CjxUQUJMRSBib3JkZXI9MD4KICA8VEJPRFk+CiAgPFRSPgogICAgPFREIHZBbGlnbj10b3AgYmdDb2xvcj0jMDAwMDAwPgogICAgICA8VEFCTEUgY2VsbFNwYWNpbmc9MCBjZWxsUGFkZGluZz0xMCB3aWR0aD0iMTAwJSIgYmdDb2xvcj1saWdodHllbGxvdyAKICAgICAgYm9yZGVyPTA+CiAgICAgICAgPFRCT0RZPgogICAgICAgIDxUUj4KICAgICAgICAgIDxURD5UaGlzIGlzIDxCPkJ1Z3ppbGxhPC9CPjogdGhlIE1vemlsbGEgYnVnIHN5c3RlbS4gRm9yIG1vcmUgCiAgICAgICAgICAgIGluZm9ybWF0aW9uIGFib3V0IHdoYXQgQnVnemlsbGEgaXMgYW5kIHdoYXQgaXQgY2FuIGRvLCBzZWUgPEEgCiAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly93d3cuYnVnemlsbGEub3JnLyI+YnVnemlsbGEub3JnPC9BPi4gPEJSPjwhLS0gMS4wQGJ1Z3ppbGxhLm9yZyAtLT4KICAgICAgICAgICAgPEZPUk0gYWN0aW9uPXNob3dfYnVnLmNnaSBtZXRob2Q9Z2V0PgogICAgICAgICAgICA8VEFCTEUgd2lkdGg9IjEwMCUiPgogICAgICAgICAgICAgIDxUQk9EWT4KICAgICAgICAgICAgICA8VFI+CiAgICAgICAgICAgICAgICA8VEQ+QWN0aW9uczogPC9URD4KICAgICAgICAgICAgICAgIDxURCB2QWxpZ249Y2VudGVyIG5vV3JhcD48QSAKICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9idWdzLmVjbGlwc2Uub3JnL2J1Z3MvZW50ZXJfYnVnLmNnaSI+TmV3PC9BPiB8IAogICAgICAgICAgICAgICAgICA8QSBocmVmPSJodHRwczovL2J1Z3MuZWNsaXBzZS5vcmcvYnVncy9xdWVyeS5jZ2kiPlF1ZXJ5PC9BPiB8IDxJTlBVVCB0eXBlPXN1Ym1pdCB2YWx1ZT1GaW5kPiBidWcgIyA8SU5QVVQgc2l6ZT02IG5hbWU9aWQ+IHwgCiAgICAgICAgICAgICAgICAgIDxBIAogICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2J1Z3MuZWNsaXBzZS5vcmcvYnVncy9yZXBvcnRzLmNnaSI+UmVwb3J0czwvQT4gCiAgICAgICAgICAgICAgICA8L1REPgogICAgICAgICAgICAgICAgPFREPiZuYnNwOzwvVEQ+CiAgICAgICAgICAgICAgICA8VEQgdkFsaWduPWNlbnRlciBhbGlnbj1yaWdodD48QSAKICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9idWdzLmVjbGlwc2Uub3JnL2J1Z3MvY3JlYXRlYWNjb3VudC5jZ2kiPk5ldyZuYnNwO0FjY291bnQ8L0E+IAogICAgICAgICAgICAgICAgICB8IDxBIAogICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2J1Z3MuZWNsaXBzZS5vcmcvYnVncy9xdWVyeS5jZ2k/R29BaGVhZEFuZExvZ0luPTEiPkxvZyZuYnNwO0luPC9BPiAKICAgICAgICAgICAgICAgIDwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+PC9GT1JNPjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+PC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT48L0JPRFk+PC9IVE1MPgo=