LlwiKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgouXCIKLlwiIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIHdpdGggcG80YS4gVHJhbnNsYXRlIHRoZSBzb3VyY2UgZmlsZS4KLlwiCi5cIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLlRIIGRwa2dcLXF1ZXJ5IDEgMjAxMVwtMDhcLTE0IERlYmlhbnByb2pla3RldCBEcGtnXC1zdml0ZW4KLlNIIE5BTU4KZHBrZ1wtcXVlcnkgXC0gZXR0IHZlcmt0eWcgZvZyIGF0dCBmcuVnYSBkcGtnXC1kYXRhYmFzZW4KLgouU0ggU1lOT1BTClxmQmRwa2dcLXF1ZXJ5XGZQIFtcZklmbGFnZ29yXGZQLi4uXSBcZknldGfkcmRcZlAKLgouU0ggQkVTS1JJVk5JTkcKXGZCZHBrZ1wtcXVlcnlcZlAg5HIgZXR0IHZlcmt0eWcgZvZyIGF0dCB2aXNhIGluZm9ybWF0aW9uIG9tIHBha2V0IGkKXGZCZHBrZ1xmUFwtZGF0YWJhc2VuLgouCi5TSCBLT01NQU5ET04KLlRQIApcZkJcLWxcZlAsIFxmQlwtXC1saXN0XGZQIFtcZklwYWtldG5hbW5zbfZuc3RlclxmUCAuLi5dCkxpc3RhIHBha2V0IHNvbSBtYXRjaGFyIGRldCBnaXZuYSBt9m5zdHJldC4gT20gaW5nZXQgXGZJcGFrZXRuYW1uc232bnN0ZXJcZlAKYW5nZXMgbGlzdGFzIGFsbGEgcGFrZXQgaSBcZkkvdmFyL2xpYi9kcGtnL3N0YXR1c1xmUCwgZvZydXRvbSBkZSBwYWtldCBzb20KbWFya2VyYXRzIHNvbSBlaiBpbnN0YWxsZXJhZGUgKGR2cy4gZGUgc29tIHRpZGlnYXJlIGhhciBoZWx0IHRhZ2l0cwpib3J0KS4gU2thbGV0cyBub3JtYWxhIGpva2VydGVja2VuIHRpbGzldHMgaSBcZklwYWtldG5hbW5zbfZuc3RlclxmUC4gT2JzZXJ2ZXJhCmF0dCBkdSBzYW5ub2xpa3QgbeVzdGUgc2tyaXZhIFxmSXBha2V0bmFtbnNt9m5zdGVyXGZQIGlub20gY2l0YXRpb25zdGVja2VuIGb2cgphdHQgZvZyaGluZHJhIGF0dCBza2FsZXQgZXhwYW5kZXJhciBmaWxuYW1uZXQuIFRpbGwgZXhlbXBlbCBrb21tZXIgZvZsamFuZGUKbGlzdGEgYWxsYSBwYWtldCB2YXJzIG5hbW4gYvZyamFyIHDlICJsaWJjNiI6CgoubmYKICBcZkJkcGtnXC1xdWVyeSBcLWwgXChhcWxpYmM2KlwoYXFcZlAKLmZpCgpEZSBm9nJzdGEgdHJlIGtvbHVtbmVybmEgaSB1dGRhdGEgdmlzYXIg9m5za2FkIOV0Z+RyZCwgcGFrZXRzdGF0dXMgb2NoIGZlbCwKaSBkZW4gb3JkbmluZ2VuLgoK1m5za2FkIOV0Z+RyZAoubmYKICB1ID0gT2vkbmQKICBpID0gSW5zdGFsbGVyYQogIGggPSBI5WxsCiAgciA9IFRhIGJvcnQKICBwID0gUmVuc2EKLmZpCgpQYWtldHN0YXR1czoKLm5mCiAgbiA9IEVqIGluc3RhbGxlcmF0CiAgYyA9IEtvbmZpZ3VyYXRpb25zZmlsZXIKICBIID0gSGFsdmluc3RhbGxlcmF0CiAgVSA9IFVwcGFja2F0CiAgRiA9IEhhbHZrb25maWd1cmVyYXQKICBXID0gVXRs9nNhcmUgduRudGFkCiAgdCA9IFV0bPZzYXJlIGb2cmVzdOVlbmRlCiAgaSA9IEluc3RhbGxlcmFkCi5maQoKRmVsZmxhZ2dvcjoKLm5mCiAgPHRvbT4gPSAoaW5nZW4pCiAgUiA9IE9taW5zdGFsbGF0aW9uIGty5HZzCi5maQoKRW4gdmVyc2FsIHN0YXR1c1wtIGVsbGVyIGZlbGJva3N0YXYgYW5nZXIgYXR0IHBha2V0ZXQgdHJvbGlnZW4ga29tbWVyIG9yc2FrYQphbGx2YXJsaWdhIHByb2JsZW0uIFNlIFxmQmRwa2dcZlAoMSkgZvZyIGluZm9ybWF0aW9uIG9tIHN0YXR1cyBvY2ggZmxhZ2dvcgpvdmFuLgoKVXRkYXRhZm9ybWF0ZXQgZvZyIGRlbiBo5HIgZmxhZ2dhbiBrYW4gaW50ZSBqdXN0ZXJhcywgbWVuIHZhcmllcmFzCmF1dG9tYXRpc2t0IGb2ciBhdHQgcGFzc2EgdGVybWluYWxicmVkZGVuLiBEZXQg5HIgYXZzZXR0IGb2ciBt5G5za2xpZ2EKbORzYXJlLCBvY2gg5HIgaW50ZSBlbmtlbHQgbWFza2lubORzYmFydC4gU2UgXGZCXC1XXGZQIChcZkJcLVwtc2hvd1xmUCkgb2NoClxmQlwtXC1zaG93Zm9ybWF0XGZQIGb2ciBodXIgZHUga29uZmlndXJlcmFyIHV0ZGF0YWZvcm1hdGV0LgouVFAgClxmQlwtV1xmUCwgXGZCXC1cLXNob3dcZlAgW1xmSXBha2V0bmFtbnNt9m5zdGVyXGZQIC4uLl0KUHJlY2lzIHNvbSBmbGFnZ2FuIFxmQlwtXC1saXN0XGZQIGtvbW1lciBhdHQgcGFrZXQgc29tIG1hdGNoYXIgZGV0IGdpdm5hIG32bnN0cmV0CmF0dCB2aXNhcy4gVXRkYXRhdCBrYW4gZG9jayBza3LkZGRhcnN5cyBtZWQgZmxhZ2dhbgpcZkJcLVwtc2hvd2Zvcm1hdFxmUC4gU3RhbmRhcmR1dGRhdGFmb3JtYXRldCDkciBlbiByYWQgcGVyIHBha2V0IHNvbSB0cuRmZmFzLCBk5HIKdmFyamUgcmFkIGlubmVo5WxsZXIgbmFtbiBvY2ggaW5zdGFsbGVyYWQgdmVyc2lvbiBhdiBwYWtldGV0LCBhdmRlbGF0IG1lZApldHQgdGFidWxhdG9ydGVja2VuLgouVFAgClxmQlwtc1xmUCwgXGZCXC1cLXN0YXR1c1xmUCBcZklwYWtldG5hbW5cZlAgLi4uClJhcHBvcnRlcmEgc3RhdHVzIG9tIGRldCBhbmdpdm5hIHBha2V0ZXQuICBEZXR0YSBhbHRlcm5hdGl2IHZpc2FyIGhlbHQKZW5rZWx0IHBvc3RlbiBpIHN0YXR1c2RhdGFiYXNlbiBm9nIgaW5zdGFsbGVyYWRlIHBha2V0LiBPbSBmbGVyYQpcZklwYWtldG5hbW5cZlAgYW5nZXMgYXZkZWxhcyBkZSBlZnRlcmZy5WdhZGUgc3RhdHVzcG9zdGVybmEgbWVkIGVuIHRvbXJhZC4KLlRQIApcZkJcLUxcZlAsIFxmQlwtXC1saXN0ZmlsZXNcZlAgXGZJcGFrZXRuYW1uXGZQIC4uLgpMaXN0YXIgZmlsZXIgc29tIGluc3RhbGxlcmF0cyBw5SBkaXR0IHN5c3RlbSBmcuVuIFxmSXBha2V0bmFtblxmUC4gT20gZmxlcmEKXGZJcGFrZXRuYW1uXGZQIGFuZ2VzIGF2ZGVsYXMgZGVuIGVmdGVyZnLlZ2FkZSBmaWxsaXN0YW4gbWVkIGVuCnRvbXJhZC4gT2JzZXJ2ZXJhIGF0dCBmaWxlciBzb20gc2thcGF0cyBhdiBwYWtldHNwZWNpZmlrYQppbnN0YWxsYXRpb25zc2tyaXB0IGludGUgdmlzYXMKLlRQIApcZkJcLWNcZlAsIFxmQlwtXC1jb250cm9sXC1wYXRoXGZQIFxmSXBha2V0bmFtblxmUCBbXGZJY29udHJvbFwtZmlsbmFtblxmUF0KVmlzYXIgc/ZrduRnYXJuYSB0aWxsIGNvbnRyb2xcLWZpbGVybmEgc29tIGluc3RhbGxlcmF0cyBw5SBkaXR0IHN5c3RlbSBm9nIKXGZJcGFrZXRuYW1uXGZQLiBPbSBcZkljb250cm9sXC1maWxcZlAgYW5nZXMgdmlzYXMgZW5kYXN0IHP2a3bkZ2VuIGb2ciBkZW4KY29udHJvbFwtZmlsZW4sIG9tIGRlbiBmaW5ucy4gXGZCVmFybmluZ1xmUDoga29tbWFuZG90IORyIGhhbHb2cHBldCwgZGV0IGL2cgphbnbkbmRhcyBlbmRhc3Qgc29tIGVuIHNpc3RhIGRlc3BlcmF0IOV0Z+RyZCBvbSBkZXQgaW50ZSBmaW5ucyBu5WdvdCBhbm5hdApncuRuc3NuaXR0LiBEZXQga2FuIGF2cuVkYXMgZnLlbiBzZW5hcmUgb20gYuR0dHJlIGdy5G5zc25pdHQgZWxsZXIgZGUKbnV2YXJhbmRlIGFya2l0ZWt0b25pc2thIGJlZ3LkbnNuaW5nYXJuYSBoYXIgbPZzdHMuCi5UUCAKXGZCXC1TXGZQLCBcZkJcLVwtc2VhcmNoXGZQIFxmSWZpbG5hbW5zc/ZrbfZuc3RlclxmUCAuLi4KU/ZrIGVmdGVyIHBha2V0IHNvbSDkZ2VyIGZpbGVyIHNvbSBtb3RzdmFyYXIgZGV0IGFuZ2l2bmEgbfZuc3RyZXQuIEFsbGEKc2thbGV0cyB2YW5saWdhIGpva2VydGVja2VuIGthbiBhbnbkbmRhcyBpIG32bnN0cmV0LiBLb21tYW5kb3Qga29tbWVyIGludGUKYXR0IHZpc2EgZXh0cmFmaWxlciBzb20gc2thcGFzIGF2IHBha2V0c2tyaXB0LCBlaiBoZWxsZXIga29tbWVyIGRldCBhdHQgdmlzYQphbHRlcm5hdGl2LgouVFAgClxmQlwtcFxmUCwgXGZCXC1cLXByaW50XC1hdmFpbFxmUCBcZklwYWtldG5hbW5cZlAKVmlzYXIgaW5mb3JtYXRpb24gb20gXGZJcGFrZXRuYW1uXGZQLCBlbmxpZ3QgdmFkIHNvbSBmaW5ucyBpClxmSS92YXIvbGliL2Rwa2cvYXZhaWxhYmxlXGZQLiBPbSBmbGVyYSBcZklwYWtldG5hbW5cZlAgYW5nZXMgYXZkZWxhcyBkZQplZnRlcmZy5WdhZGUgcG9zdGVybmEgdXIgXGZJYXZhaWxhYmxlXGZQXC1maWxlbiBtZWQgZW4gdG9tcmFkLgoKQW525G5kZXIgZHUgZXR0IEFQVFwtYmFzZXJhdCBza2FsIGL2ciBkdSBpc3TkbGxldCBhbnbkbmRhIFxmQmFwdFwtY2FjaGUgc2hvd1xmUApcZklwYWtldG5hbW5cZlAsIGTlIFxmSWF2YWlsYWJsZVxmUFwtZmlsZW4gZW5kYXN0IOBqb3VyZvZycyBvbSBcZkJkc2VsZWN0XGZQIGFuduRuZHMuCi5UUCAKXGZCXC1oXGZQLCBcZkJcLVwtaGVscFxmUApWaXNhciBoauRscHNr5HJtIG9jaCBhdnNsdXRhci4KLlRQIApcZkJcLVwtdmVyc2lvblxmUApWaXNhciB2ZXJzaW9uIG9jaCBhdnNsdXRhci4KLgouU0ggRkxBR0dPUgouVFAgClxmQlwtXC1hZG1pbmRpcj1cZlBcZklrYXRcZlAKxG5kcmEgcGxhdHNlbiBm9nIgXGZCZHBrZ1xmUFwtZGF0YWJhc2VuLiBG9nJ2YWwg5HIgXGZJL3Zhci9saWIvZHBrZ1xmUC4KLlRQIApcZkJcLWZcZlAsIFxmQlwtXC1zaG93Zm9ybWF0PVxmUFxmSWZvcm1hdFxmUApGbGFnZ2FuIGFuduRuZHMgZvZyIGF0dCBhbmdlIGZvcm1hdGV0IHDlIHV0ZGF0YSBzb20gc2thcGFzIGF2ClxmQlwtXC1zaG93XGZQLiBGb3JtYXRldCDkciBlbiBzdHLkbmcgc29tIG1hdGFzIHV0IGb2ciB2YXJqZSBwYWtldCBpIGxpc3Rhbi4KCkkgZm9ybWF0c3Ry5G5nZW4gaW5sZWRzIGb2bGphbmRlIHN0eXJzZWt2ZW5zZXIgbWVkIFwobHFcZkJcZVxmUFwocnE6CgoubmYKICAgIFxmQlxlblxmUCAgcmFkbWF0bmluZwogICAgXGZCXGVyXGZQICB2YWducmV0dXIKICAgIFxmQlxldFxmUCAgdGFidWxhdG9yCi5maQoKXChscVxmQlxlXGZQXChycSBm9nJlIGV0dCBhbm5hdCB0ZWNrZW4gdW5kZXJ0cnlja2VuIGVuIHNwZWNpZWxsIGJldHlkZWxzZSBm9nIKZGV0IGVmdGVyZvZsamFuZGUgdGVja25ldCwgdmlsa2V0IORyIGthbiBhbnbkbmRhcyBm9nIgXChscVxmQlxlXGZQXChycSBvY2gKXChscVxmQiRcZlBcKHJxLgoKUGFrZXRpbmZvcm1hdGlvbiBrYW4gbORnZ2FzIGluIGdlbm9tIGF0dCBz5HR0YSBpbiB2YXJpYWJlbHJlZmVyZW5zZXIgdGlsbApwYWtldGbkbHQsIHDlIHN5bnRheGVuIFwobHFcZkIke1xmUFxmSWZpZWxkXGZQW1xmQjtcZlBcZkl3aWR0aFxmUF1cZkJ9XGZQXChycS4gRuRsdCBza3JpdnMKaPZnZXJqdXN0ZXJhZGUgc+V2aWRhIGludGUgYnJlZGRlbiDkciBuZWdhdGl2IGkgdmlsa2V0IGZhbGwgduRuc3Rlcmp1c3RlcmluZwprb21tZXIgYXR0IGFuduRuZGFzLiBG9mxqYW5kZSBcZklm5Gx0XGZQIHN09mRzLCBtZW4gZGUg5HIgaW50ZSBu9mR25G5kaWd0dmlzCnRpbGxn5G5nbGlnYSBpIHN0YXR1c2ZpbGVuIChlbmRhc3QgaW50ZXJuYSBm5Gx0IG9jaCBm5Gx0IHNvbSBmaW5ucyBpCmJpbuRycGFrZXRldCBoYW1uYXIgZORyKToKCi5uZgogICAgXGZCQXJjaGl0ZWN0dXJlXGZQCiAgICBcZkJCdWdzXGZQCiAgICBcZkJDb25mZmlsZXNcZlAgKGludGVybnQpCiAgICBcZkJDb25maWdcLVZlcnNpb25cZlAgKGludGVybnQpCiAgICBcZkJDb25mbGljdHNcZlAKICAgIFxmQkJyZWFrc1xmUAogICAgXGZCRGVwZW5kc1xmUAogICAgXGZCRGVzY3JpcHRpb25cZlAKICAgIFxmQkVuaGFuY2VzXGZQCiAgICBcZkJFc3NlbnRpYWxcZlAKICAgIFxmQkZpbGVuYW1lXGZQIChpbnRlcm50LCBza2FscmVsYXRlcmF0KQogICAgXGZCSG9tZXBhZ2VcZlAKICAgIFxmQkluc3RhbGxlZFwtU2l6ZVxmUAogICAgXGZCTUQ1c3VtXGZQIChpbnRlcm50LCBza2FscmVsYXRlcmF0KQogICAgXGZCTVNET1NcLUZpbGVuYW1lXGZQIChpbnRlcm50LCBza2FscmVsYXRlcmF0KQogICAgXGZCTWFpbnRhaW5lclxmUAogICAgXGZCT3JpZ2luXGZQCiAgICBcZkJQYWNrYWdlXGZQCiAgICBcZkJQcmVcLURlcGVuZHNcZlAKICAgIFxmQlByaW9yaXR5XGZQCiAgICBcZkJQcm92aWRlc1xmUAogICAgXGZCUmVjb21tZW5kc1xmUAogICAgXGZCUmVwbGFjZXNcZlAKICAgIFxmQlJldmlzaW9uXGZQIChm9nLlbGRyYXQpCiAgICBcZkJTZWN0aW9uXGZQCiAgICBcZkJTaXplXGZQICAoaW50ZXJudCwgc2thbHJlbGF0ZXJhdCkKICAgIFxmQlNvdXJjZVxmUAogICAgXGZCU3RhdHVzXGZQIChpbnRlcm50KQogICAgXGZCU3VnZ2VzdHNcZlAKICAgIFxmQlRhZ1xmUCAobm9ybWFsdCBpbnRlIGkgLmRlYiwgdXRhbiBpIGFya2l2ZXRzIFBhY2thZ2VzXC1maWxlcikKICAgIFxmQlRyaWdnZXJzXC1Bd2FpdGVkXGZQIChpbnRlcm50KSAgICBcZkJUcmlnZ2Vyc1wtUGVuZGluZ1xmUCAoaW50ZXJudCkgICAgXGZCVmVyc2lvblxmUAouZmkKClN0YW5kYXJkZm9ybWF0ZXQg5HIgXChscVxmQiR7UGFja2FnZX1cZXQke1ZlcnNpb259XGVuXGZQXChycS4gQWxsYSBhbmRyYSBm5Gx0CnNvbSBmaW5ucyBpIHN0YXR1c2ZpbGVuICjkdmVuIGFuduRuZGFyZGVmaW5pZXJhZGUgZuRsdCkga2FuIG9ja3PlIGjkbXRhcy4gRGUKdmlzYXMgZG9jayBzb20gZGUg5HIsIGluZ2VuIGtvbnZlcnRlcmluZyBlbGxlciBmZWxrb3JyaWdlcmluZyBn9nJzIHDlCmRlbS4gRvZyIGF0dCBo5G10YSBuYW1uZXQgcOUgcGFrZXRhbnN2YXJpZyBvY2ggaW5zdGFsbGVyYWQgdmVyc2lvbiBhdiBkcGtnCm9jaCBrYW4gZHUga/ZyYToKCi5uZgogIFxmQmRwa2dcLXF1ZXJ5IFwtVyBcLWY9XChhcSR7UGFja2FnZX0gJHtWZXJzaW9ufVxldCR7TWFpbnRhaW5lcn1cZW5cKGFxIGRwa2dcZlAKLmZpCi4KLlNIIFJFVFVSVsRSREUKLlRQIApcZkIwXGZQCkRlbiD2bnNrYWRlIGZy5WdhbiB1dGb2cmRlcyB1dGFuIGZlbC4KLlRQIApcZkIxXGZQClByb2JsZW0gdXBwc3RvZCB2aWQgdG9sa25pbmcgYXYga29tbWFuZG9yYWRlbiBlbGxlciBu5HIgZnLlZ2FuIHNrdWxsZQp1dGb2cmFzLCB0aWxsIGV4ZW1wZWwgYXR0IGluZ2VuIGZpbCBlbGxlciBwYWtldCBoaXR0YWRlcyAoZvZydXRvbSBm9nIKXC1cLWNvbnRyb2xcLXBhdGgpLgouCi5TSCBNSUxK1lZBUklBQkxFUgouVFAgClxmQkRQS0dfQURNSU5ESVJcZlAKT20gc2F0dCwgb2NoIGZsYWdnYW4gXGZCXC1cLWFkbWluZGlyXGZQIGludGUgaGFyIGFuZ2l2aXRzLCBhbnbkbmRzIHbkcmRldCBzb20KZGF0YWthdGFsb2cgZvZyIGRwa2cuCi5UUCAKXGZCQ09MVU1OU1xmUApJbnN05GxsbmluZ2VuIHDldmVya2FyIHV0ZGF0YSBmcuVuIGtvbW1hbmRvdCBcZkJcLVwtbGlzdFxmUCBnZW5vbSBhdHQg5G5kcmEKYnJlZGRlbiBw5SBkZXNzIHV0ZGF0YS4KLgouU0ggRtZSRkFUVEFSRQpVcHBob3ZzcuR0dHNza3lkZGF0IKkgMjAwMSBXaWNoZXJ0IEFra2VybWFuCi5zcApEZXR0YSDkciBmcmkgcHJvZ3JhbXZhcmE7IHNlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBlbGxlcgpzZW5hcmUgZvZyIGtvcGllcmluZ3N2aWxsa29yLiBEZXQgZmlubnMgSU5HRU4gR0FSQU5USS4KLgouU0ggIlNFIMRWRU4iClxmQmRwa2dcZlAoMSkuCgouU0ggItZWRVJTxFRUTklORyIKUGV0ZXIgS3JlZnRpbmcgb2NoIERhbmllbCBOeWxhbmRlci4K