LyoqCiAqIEBmaWxlIG90aGVyX21zZy5oCiAqIEBicmllZiDM4bmpwcvGvcyoxNqyv9ChxKO/6bXEz/vPoklEo6zI50RNoaJGT1RBoaJTTlRQtcijrGF0X2N0bKGibWFpbmN0bNXiwb249tfuu/mxvrXEuabE3LXEz/vPoklE0c+9+9TatMu2qNLlCiAqCiAqIENvcHlyaWdodCAoQykgMjAxNyBTYW5lY2hpcHMgVGVjaG5vbG9neSBDby4sIEx0ZC4KICogQGF1dGhvcgogKgogKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcwogKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KICoKICovCiNpZm5kZWYgX19PVEhFUl9NU0dfSF9fCiNkZWZpbmUgX19PVEhFUl9NU0dfSF9fCgovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgIEluY2x1ZGUgaGVhZGVyIGZpbGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwojaW5jbHVkZSJtZXNzYWdlLmgiCgovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFjcm8gZGVmaW5pdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUeXBlIGRlZmluaXRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgovKioKICogQGJyaWVmCiAqLwplbnVtIG90aGVyX21zZ19jbWQgewoKCU1TR19DTURfRU1CTVNfQ1RSTF9DTE9TRV9TT0NLRVQgPSBNU0dfQ01EX09USEVSX0JBU0UsCglNU0dfQ01EX0xJTktVUF9FTkQsICAgIC8venRlX21haW5jdHJs1rTQ0Gxpbmt1cL3Fsb6686Ost6LLzc/7z6K4+GF0X2N0bAoJTVNHX0NNRF9MSU5LRE9XTl9FTkQsICAvL3p0ZV9tYWluY3RybNa00NBsaW5rZG93br3Fsb6686Ost6LLzc/7z6K4+GF0X2N0bAoJLy9NU0dfQ01EX1Y2QUREUl9JTkQsLy+21NOmveG5uczlVjZBRERSX0lORk9STaOsSVB2NiBQRFC8pLvuyrGjrHNsYWFju/HIobW9aXB2NrXY1rezybmmu/LKp7DcuvOjrLeiy83P+8+iuPhhdF9jdGwKCU1TR19DTURfREFUQV9TVEFSVCwgIC8vwffBv82zvMYKCU1TR19DTURfREFUQV9FTkQsICAgICAvL8H3wb/Ns7zGCglNU0dfQ01EX1BBUkVOVF9DT05UUk9MX1NFVCwgLy/J6NbDvNKzpL/Y1sYKCU1TR19DTURfUEFSRU5UX0NPTlRST0xfQ0xPU0UsICAgICAgICAgICAgICAgIC8vILnYsdW80rOkv9jWxgoJTVNHX0NNRF9TT0ZUVElNRVJfQ1JFQVRFLAoJTVNHX0NNRF9TT0ZUVElNRVJfREVMRVRFLAoJTVNHX0NNRF9TT0ZUVElNRVJfVElNRU9VVCwKCU1TR19DTURfTE9DQUxVUERBVEVfU1RBUlQsCglNU0dfQ01EX0xPQ0FMVVBEQVRFX0dFVF9SRVNVTFQsCglNU0dfQ01EX1NOVFBfU0VUX01PREUsICAgICAgICAgICAgICAgICAgLy/J6NbDU05UUMSjyr06IMrWtq+hotfUtq8KCU1TR19DTURfU05UUF9TRVRfVElNRSwgICAgICAgICAgICAgICAgICAvL8no1sNTTlRQyrG85AoJTVNHX0NNRF9TTlRQX1NUQVJULAoJTVNHX0NNRF9TTlRQX1JFR0lTVEVSLCAvL9Do0qrXvMi3yrG85LXE06bTw8/yc250cNeisuEKCU1TR19DTURfU05UUF9VTlJFR0lTVEVSLAoJTVNHX0NNRF9TTlRQX1NVQ0NFU1MsCgoJLyq/7MvZv6q7+i+52Lv6zajWqs/7z6KjrMO2vtm21NOmtsu/2iovCglNU0dfQ01EX0ZBU1RQT1dFUl9JTkQsCgkvKsSjxOJVU0Ky5cjrL7DOs/YqLwoJTVNHX0NNRF9VU0JNT0RfU0VUUkVRLAoKCS8v0tTPws6q0L7GrMjP1qTP+8+iCglNU0dfQ01EX1NFTkRfQVRDTURfU1RSRUFNX1JFUSwKCU1TR19DTURfU0VORF9BVENNRF9TVFJFQU1fUlNQLAoKCS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqSVNNUyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCglNU0dfQ01EX0lTTVNTVEFSVF9SRVEsCSAgICAgICAgICAgICAgLy/G9Lav1sfE3LbM0MW9+LPMCglNU0dfQ01EX0lTTVNSRUFEWV9SU1AsICAgICAgICAgICAgICAJLy/Wx8TctszQxcb0tq/N6rPJzajWqgoJTVNHX0NNRF9JU01TSU5GT19SRVEsICAgICAgICAgICAgICAgICAgIC8v1sfE3LbM0MWy6dGvx+vH8woJTVNHX0NNRF9JU01TREVMX1JFUSwgICAgICAgICAgICAgICAgICAgIC8vyb6z/da4tqjWx8TctszQxcfrx/MKCU1TR19DTURfSVNNU0NMRUFOX1JFUSwgICAgICAgICAgICAgICAgICAvL8fls/3Iq7K/1sfE3LbM0MXH68fzCglNU0dfQ01EX0lTTVNJTkZPX1JTUCwgICAgICAgICAgICAgICAgICAvL9bY1sPWx8TctszQxcfrx/Mo0+vH5bP9stnX99K70fkpCglNU0dfQ01EX0lTTVNVRF9SRVEsICAgICAgICAgICAgICAgICAgICAgLy8gyc+0q9bVtsvQxc+itcTH68fzCgoJLyoqKioqKioqKioqKioqKioqKioqKioqKioqKkRNKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoJTVNHX0NNRF9ETV9DT05GSUdfUkVRLCAgICAgICAgICAgICAgICAgIC8vyejWw2Rtsr+31r/Y1sbQxc+iCgoJLyoqKioqKioqKioqKioqKioqKioqKioqKirK2LuksaZTQUZFQ0FSRSoqKioqKioqKioqKioqKioqKioqKioqKiovCglNU0dfQ01EX1NBRkVDQVJFX09OT0ZGX1JFUSwgICAgICAgICAgICAgLy+/qsb0u/K52LHVyti7pLGmuabE3Mfrx/MKCU1TR19DTURfU0FGRUNBUkVfT05PRkZfUlNQLCAgICAgICAgICAgICAvL7+qxvS78rnYsdXK2Luksaa5psTcz+zTpgoJTVNHX0NNRF9TQUZFQ0FSRV9BQ0NPVU5UX1JFUSwgICAgICAgICAgIC8vv6q7p8frx/MKCU1TR19DTURfU0FGRUNBUkVfQUNDT1VOVF9SU1AsICAgICAgICAgICAvL7+qu6fP7NOmCglNU0dfQ01EX1NBRkVDQVJFX01PQlNJVEVfUkVRLCAgICAgICAgICAgLy+3/s7x0K3S6bXY1rfH68fzCglNU0dfQ01EX1NBRkVDQVJFX01PQlNJVEVfUlNQLCAgICAgICAgICAgLy+3/s7x0K3S6bXY1rfP7NOmCglNU0dfQ01EX1NBRkVDQVJFX1BMQVRMT0NBVElPTl9SRVEsICAgICAgLy/GvcyotqjOu8frx/MKCU1TR19DTURfU0FGRUNBUkVfUExBVExPQ0FUSU9OX1JTUCwgICAgICAvL8a9zKi2qM67z+zTpgoJTVNHX0NNRF9TQUZFQ0FSRV9QRVJJT0RfTE9DQVRJT05fUkVRLCAgIC8v1tzG2raozrvH68fzCglNU0dfQ01EX1NBRkVDQVJFX1BFUklPRF9MT0NBVElPTl9SU1AsICAgLy/W3MbatqjOu8/s06YKCU1TR19DTURfU0FGRUNBUkVfU01TTlVNX1JFUSwgICAgICAgICAgICAvL8nP0NC2zNDFusXC67vxyKHH68fzCglNU0dfQ01EX1NBRkVDQVJFX1NNU05VTV9SU1AsICAgICAgICAgICAgLy/Jz9DQtszQxbrFwuu78cihz+zTpgoJTVNHX0NNRF9TQUZFQ0FSRV9MT0NBVElPTl9SRVEsICAgICAgICAgIC8vtqjOu8frx/MKCU1TR19DTURfU0FGRUNBUkVfTE9DQVRJT05fUlNQLCAgICAgICAgICAvL7aozrvP7NOmCgoJTVNHX0NNRF9TQUZFQ0FSRV9EQVRBVVBEQVRFX1JFUSwgICAgICAgIC8vuPzQwsirvtbK/b7dx+vH8woJTVNHX0NNRF9TQUZFQ0FSRV9EQVRBVVBEQVRFX1JTUCwgICAgICAgIC8vuPzQwsirvtbK/b7dz+zTpgoKCU1TR19DTURfU0FGRUNBUkVfU09TX0xPQ0FUSU9OX1JFUSwgICAgICAvL1NPU7aozrvH68fzCglNU0dfQ01EX1NBRkVDQVJFX1NPU19MT0NBVElPTl9SU1AsICAgICAgLy9TT1O2qM67z+zTpgoKCU1TR19DTURfU0FGRUNBUkVfU0VOREtIU01TX1JFUSwgICAgICAgICAvL8frx/O3osvNv6q7p7bM0MUKCglNU0dfQ01EX1NBRkVDQVJFX1BPV0VSX09OT0ZGX1JFUSwgICAgICAgLy+/qsb0u/K52LHV1tW2y8frx/MKCU1TR19DTURfU0FGRUNBUkVfUE9XRVJfT05PRkZfUlNQLCAgICAgICAvL7+qxvS78rnYsdXW1bbLz+zTpgoKCS8qSzMxOCBUv6jH0Lu7yrnTw7XEz/vPomJlZ2luKi8KCU1TR19DTURfVURJU0tTVEFUX1NFVF9SRVEsICAgICAgICAgICAgIC8vyejWw8frx/PD/MHuo6zH0Lu7s8lVxczEo8q9L732s+S158Sjyr0KCU1TR19DTURfVURJU0tTVEFUX1NFVF9SU1AsICAgICAgICAgICAgIC8vyejWw8P8we61xLvYuLSjrMfQu7uzyVXFzMSjyr0vvfaz5LXnxKPKvQoJTVNHX0NNRF9VU0JGTEFHX1NUQVRfUkVRLCAgICAgICAgICAgICAgLy+y5cjrL7DOs/ZVU0LP37XEzajWqs/7z6IKCS8qSzMxOCBUv6jH0Lu7yrnTw7XEz/vPomVuZCovCgoJLyoqKioqKioqKioqKioqKioqKmZvdGHP4LnYKioqKioqKioqKioqKioqKioqKioqKioqKi8KCU1TR19DTURfRk9UQU1BTlVBTF9SRVEsCglNU0dfQ01EX0ZPVEFETF9SRVEsCglNU0dfQ01EX0ZPVEFEWV9SRVEsCglNU0dfQ01EX0ZPVEFWRVJTSU9OX0lORCwKCU1TR19DTURfRk9UQVBLR19JTkQsCglNU0dfQ01EX0ZPVEFSTFRfSU5ELAoJTVNHX0NNRF9GT1RBRExSRVNVTUVfSU5ELAoJTVNHX0NNRF9GT1RBVVBSRVNVTUVfSU5ELAoKCS8qKioqKioqKioqKioqKioqKipmb3Rhz+C52CoqKioqKioqKioqKioqKioqKioqKioqKiovCgoJTVNHX0dFVF9IT1NUX0JZX05BTUVfU1VDQ0VTUywgLy+78cihaG9zdNDFz6KzybmmCglNU0dfR0VUX0hPU1RfQllfTkFNRV9USU1FT1VULCAvL2dlaG9zdGJ5bmFtZdDFz6KzrMqxCgkKCS8qKioqKioqKioqKioqKioqKioqKioqKioqucy2qMyoV2lGaSoqKioqKioqKioqKioqKioqKioqKioqKiovCglNU0dfQ01EX1dJRklfR0VUX1NUQVRFX1JFUSwJCQkJLy+78cihV2lGade0zKwov6q52CnH68fzCglNU0dfQ01EX1dJRklfR0VUX1NUQVRFX1JTUCwJCQkJLy+78cihV2lGade0zKwov6q52Cm72NOmCglNU0dfQ01EX1dJRklfR0VUX0lORk9fUkVRLAkJCQkvL7vxyKFXaUZp0MXPoihTU0lEoaLD3MLroaKwssirxKPKvSnH68fzCglNU0dfQ01EX1dJRklfR0VUX0lORk9fUlNQLAkJCQkvL7vxyKFXaUZp0MXPoihTU0lEoaLD3MLroaKwssirxKPKvSm72NOmCglNU0dfQ01EX1dJRklfR0VUX1VTRVJfTElTVF9SRVEsCQkJLy+78cihV2lGadPDu6fB0LHtx+vH8woJTVNHX0NNRF9XSUZJX0dFVF9VU0VSX0xJU1RfUlNQLAkJCS8vu/HIoVdpRmnTw7unwdCx7bvY06YKCQoJTVNHX0NNRF9XSUZJX1NFVF9PTl9SRVEsCQkJCS8vtPK/qldpRmnH5cfzCglNU0dfQ01EX1dJRklfU0VUX09OX1JTUCwJCQkJLy+08r+qV2lGabvY06YKCU1TR19DTURfV0lGSV9TRVRfT0ZGX1JFUSwJCQkJLy+52LHVV2lGacflx/MKCU1TR19DTURfV0lGSV9TRVRfT0ZGX1JTUCwJCQkJLy+52LHVV2lGabvY06YKCU1TR19DTURfV0lGSV9TRVRfU0VDVVJJVFlfUkVRLAkJCS8vyejWw1dpRmmwssirxKPKvaGiU1NJRKGiw9zC68frx/MKCU1TR19DTURfV0lGSV9TRVRfU0VDVVJJVFlfUlNQLAkJCS8vyejWw1dpRmmwssirxKPKvaGiU1NJRKGiw9zC67vY06YKCU1TR19DTURfV0lGSV9OT1RJRllfQ0hBUkdFUl9TVEFUVVMsCglNU0dfQ01EX1dJRklfSVNfUkVBRFksCgoJLyoqKioqKioqKioqKioqKioqKioqKioqKiq5zLaozKjB98G/udzA7SoqKioqKioqKioqKioqKioqKioqKioqKiovCglNU0dfQ01EX0RBVEFNQU5BR0VSX1NFVF9TV0lUQ0hfUkVRLAkJIC8vyejWw8H3wb+53MDtv6q52LTyv6rH68fzCglNU0dfQ01EX0RBVEFNQU5BR0VSX1NFVF9TV0lUQ0hfUlNQLCAgICAgLy/J6NbDwffBv7ncwO2/qrnYtPK/qrvY06YKCU1TR19DTURfREFUQU1BTkFHRVJfR0VUX0lORk9fUkVRLAkJLy+78cih0tHKudPDwffBv6Gi19zB98G/oaK45r6v1rXH68fzCglNU0dfQ01EX0RBVEFNQU5BR0VSX0dFVF9JTkZPX1JTUCwJCS8vu/HIodLRyrnTw8H3wb+hotfcwffBv6GiuOa+r9a1u9jTpgoJTVNHX0NNRF9EQVRBTUFOQUdFUl9TRVRfVE9UQUxfUkVRLAkJLy/J6NbD19zB98G/x+vH8woJTVNHX0NNRF9EQVRBTUFOQUdFUl9TRVRfVE9UQUxfUlNQLAkJLy/J6NbD19zB98G/u9jTpgoJTVNHX0NNRF9EQVRBTUFOQUdFUl9TRVRfV0FSTlZBTFVFX1JFUSwJLy/J6NbDwffBv7jmvq/Wtcfrx/MKCU1TR19DTURfREFUQU1BTkFHRVJfU0VUX1dBUk5WQUxVRV9SU1AsCS8vyejWw8H3wb+45r6v1rW72NOmCglNU0dfQ01EX0RBVEFNQU5BR0VSX1JFQUNIX1dBUk5WQUxVRSwJLy/B98G/yrnTw7Tvtb3X3MG/CglNU0dfQ01EX0RBVEFNQU5BR0VSX1JFQUNIX0xJTUlULAkJLy/B98G/yrnTw7Tvtb3X3MG/CglNU0dfQ01EX0RBVEFNQU5BR0VSX0ZMVVhTVEFUX1JFQURZLAkJLy/B98G/xKO/6cb0tq/N6rPJCglNU0dfQ01EX1BEUFNUQVRVU19TRVRfU1dJVENIX1JFUSwgICAgICAgLy/J6NbDzfjC58GsvdO/qrnYzajWqgoJTVNHX0NNRF9QRFBTVEFUVVNfU0VUX1NXSVRDSF9SU1AsICAgICAgIC8vyejWw834wufBrL3Tv6q52M/s06YKICAgIC8qQklQz+C52CxCSVDE2rK/19S8usrVt6K1xM/7z6IqLwogICAgTVNHX0NNRF9JRF9CSVBfQVRfUkNWLCAKICAgIC8qy/jN+M/gudi1xM/7z6IqLwoJTVNHX0NNRF9MT0NLTElTVEFVVEhfUkVRLAoJTVNHX0NNRF9MT0NLTkVUTElTVF9TRVRfUkVRLAoJTVNHX0NNRF9MT0NLTkVUS0VZX1JFUSwKCU1TR19DTURfTE9DS05FVEFNVFNUQVRVU19HRVRfUkVRLAoJTVNHX0NNRF9MT0NLTkVURElHRVNUX0dFVF9SRVEsCglNU0dfQ01EX0xPQ0tORVRTSUdOX1NFVF9SRVEsCglNU0dfQ01EX0xPQ0tORVRMRVZFTF9HRVRfUkVRLAoJTVNHX0NNRF9MT0NLTkVUTElTVF9HRVRfUkVRLAoJTVNHX0NNRF9MT0NLTkVUQVVUSF9SRVEsCglNU0dfQ01EX0xPQ0tORVRVTkxPQ0tUSU1FU19HRVRfUkVRLAoJTVNHX0NNRF9MT0NLTkVUU1RBVFVTX0dFVF9SRVEsCglNU0dfQ01EX0xPQ0tORVRVTkxPQ0tfUkVRLAoJTVNHX0NNRF9aVVJEWV9MT0NLQVVUSF9SRVEsCn07CgovKioKICogQGJyaWVmIERNxKO/6b3TytXP+8+itcTA4NDNCiAqLwplbnVtIGRtX21zZ19jbWQgewoJTVNHX0NNRF9ETVJFR19JTkZPID0gTVNHX0NNRF9ETV9CQVNFLAoJTVNHX0NNRF9ETVJFR19GTEFHLAoJTVNHX0NNRF9TRU5EX1JFR01TRwp9OwoKLyoqCiAqIEBicmllZiBGT1RBxKO/6b3TytXP+8+itcTA4NDNCiAqLwp0eXBlZGVmIGVudW0gewoKCU1TR19DTURfRk9UQV9ETV9FVkVOVF9TVEFSVCA9IE1TR19DTURfRk9UQV9CQVNFLAoJTVNHX0NNRF9GT1RBX0RNX0NJX1BPTExJTkcsCglNU0dfQ01EX0ZPVEFfRE1fQ0lfUkVQT1JUSU5HLCAgICAgICAgLy/J/by2uvPJz7GoCglNU0dfQ01EX0ZPVEFfRE1fVUlfSU5JVF9GT1RBLAoJTVNHX0NNRF9GT1RBX0RNX1VJX0NIQU5HRV9QQVJBLCAgLy9XRUJVSc2o1qpETcno1sOyzsr9KNL+stiyy7WlKQoJTVNHX0NNRF9GT1RBX0RNX05JX05JQSwKCU1TR19DTURfRk9UQV9ETV9OSV9CT09UU1RSQVAsCglNU0dfQ01EX0ZPVEFfRE1fTUNfQ0hBTkdFX0FQTl9TVUNDRUVELCAgICAgICAvL9b3v9jNqNaqRE3H0Lu7QVBOs8m5ps/7z6IKCU1TR19DTURfRk9UQV9ETV9NQ19DSEFOR0VfQVBOX0ZBSUwsICAvL9b3v9jNqNaqRE3H0Lu7QVBOyqew3M/7z6IKCU1TR19DTURfRk9UQV9ETV9NQ19EQVRBX1NUQVRVUywgICAgICAvL9b3v9jNqNaqRE3T0Mr9vt3Stc7xCglNU0dfQ01EX0ZPVEFfRE1fTUNfTk9EQVRBX1NUQVRVUywgICAgLy/W97/YzajWqkRNzt7K/b7d0rXO8QoJTVNHX0NNRF9GT1RBX0RNX0JTUF9QUk9DX09LLCAgICAgICAgIC8vYnNwzajWqkRNtKbA7c3qs8kKCU1TR19DTURfRk9UQV9ETV9CU1BfUFJPQ19GQUlMRUQsICAgICAvL2JzcM2o1qpETbSmwO3Kp7DcCglNU0dfQ01EX0ZPVEFfRE1fV0FLRV9VUF9PSywvL7u90NHJ6LG4s8m5pgoJTVNHX0NNRF9GT1RBX0RNX0ZBTExfQVNMRUVQX09LLC8vyeixuNDdw98KCU1TR19DTURfRk9UQV9ETV9QT1dFUl9PTiwvL7Htyr5kbcSjv+m1xMb0tq8KCU1TR19DTURfRk9UQV9ETV9ERVZJQ0VfSVNfUE9XRVJfT04sLy/J6LG4tNO52Lv6u/Kz5LXnxKPKvb34yOvV/bOjv6q7+goJTVNHX0NNRF9GT1RBX0RNX0RFVklDRV9JU19QT1dFUl9PRkYsLy/J6LG41f3U2r340NCz5LXntci3x9X9s6PXtMysCglNU0dfQ01EX0ZPVEFfRE1fUVVFUllfU0xFRVBfRlJPTV9TTEVFUF9NT0RVTEUsLy/Lr8PfxKO/6dPDuMPP+8+isunRr2ZvdGHE3Lm7y6/D3woJTVNHX0NNRF9GT1RBX0RNX0lGX0dFVF9WRVJTSU9OX1NUQVRVUywKCU1TR19DTURfRk9UQV9ETV9JRl9HRVRfQ1VSX09QUywKCU1TR19DTURfRk9UQV9ETV9JRl9HRVRfVVBEQVRFX0NNRCwKCU1TR19DTURfRk9UQV9ETV9JRl9TRVRfVVBEQVRFX0NNRCwKCU1TR19DTURfRk9UQV9ETV9JRl9HRVRfRExfUFJPR1JFU1MsCglNU0dfQ01EX0ZPVEFfRE1fSUZfR0VUX0ZPVEFfUEtHX0lORk8sCglNU0dfQ01EX0ZPVEFfRE1fSUZfR0VUX1VQREFURV9SRVNVTFQsCglNU0dfQ01EX0ZPVEFfRE1fSUZfR0VUX1VQREFURV9TRVRUSU5HUywKCU1TR19DTURfRk9UQV9ETV9JRl9TRVRfVVBEQVRFX1NFVFRJTkdTLAoKCU1TR19DTURfRk9UQV9XRUJVSV9TVEFSVF9GT1RBLAoJTVNHX0NNRF9GT1RBX1dFQlVJX1NUQVJUX0RPV05MT0FELAoJTVNHX0NNRF9GT1RBX1dFQlVJX0NIQU5HRV9QQVJBTUVURVIsCglNU0dfQ01EX0ZPVEFfRE1fU1RBUlRfVVBEQVRFLAoKCU1TR19DTURfRk9UQV9ETV9WRVJJRlksCglNU0dfQ01EX0ZPVEFfRE1fRE9fVVBEQVRFLAoKCU1TR19DTURfRk9UQV9ETV9FTkVWVF9FTkQKCn0gRV9ETV9FdmVudF9UeXBlOwoKZW51bSBhbXRfZGV2aWNlX3Rlc3RfbXNnX2NtZCAgewoJTVNHX0NNRF9BTVRfS0VZX1RFU1RfU1RBUlRfUkVRICAgPSBNU0dfQ01EX0FNVF9ERVZJQ0VfVEVTVF9CQVNFLAkJCS8vv6rKvLC0vPyy4srUz/vPosfrx/MKCU1TR19DTURfQU1UX0tFWV9URVNUX1NUQVJUX1JTUCwJCQkJLy+/qsq8sLS8/LLiytTP+8+iu9jTpgoJTVNHX0NNRF9BTVRfS0VZX1RFU1RfU1RPUF9SRVEsCQkJCS8vzaPWubC0vPyy4srUz/vPosfrx/MKCU1TR19DTURfQU1UX0tFWV9URVNUX1NUT1BfUlNQLAkJCQkvL82j1rmwtLz8suLK1M/7z6K72NOmCglNU0dfQ01EX0FNVF9MQ0RfVEVTVF9TVEFSVF9SRVEsCQkJCS8vv6rKvExDRMbBxLuy4srUz/vPosfrx/MKCU1TR19DTURfQU1UX0xDRF9URVNUX1NUQVJUX1JTUCwJCQkJLy+/qsq8TENExsHEu7LiytTP+8+iu9jTpgoJTVNHX0NNRF9BTVRfTENEX1RFU1RfU1RPUF9SRVEsCQkJCS8vzaPWuUxDRMbBxLuy4srUz/vPosfrx/MKCU1TR19DTURfQU1UX0xDRF9URVNUX1NUT1BfUlNQLAkJCQkvL82j1rlMQ0TGwcS7suLK1M/7z6K72NOmCglNU0dfQ01EX0FNVF9CQVRURVJZX1ZPTFRBR0VfVEVTVF9SRVEsCQkvL7Xns9i159G5suLK1M/7z6LH68fzCglNU0dfQ01EX0FNVF9CQVRURVJZX1ZPTFRBR0VfVEVTVF9SU1AsCQkvL7Xns9i159G5suLK1M/7z6K72NOmCglNU0dfQ01EX0FNVF9MQ0RfQkFDS0xJR0hUX1RFU1RfU1RBUlRfUkVRLAkJLy+/qsq8TENEsbO54rLiytTP+8+ix+vH8woJTVNHX0NNRF9BTVRfTENEX0JBQ0tMSUdIVF9URVNUX1NUQVJUX1JTUCwJCS8vv6rKvExDRLGzueKy4srUz/vPorvY06YKCU1TR19DTURfQU1UX0xDRF9CQUNLTElHSFRfVEVTVF9TVE9QX1JFUSwJCS8vzaPWuUxDRLGzueKy4srUz/vPosfrx/MKCU1TR19DTURfQU1UX0xDRF9CQUNLTElHSFRfVEVTVF9TVE9QX1JTUCwJCS8vzaPWuUxDRLGzueKy4srUz/vPorvY06YKCU1TR19DTURfQU1UX1ZJQlJBVE9SX1RFU1RfU1RBUlRfUkVRLAkJLy+/qsq8wu2077LiytTP+8+ix+vH8woJTVNHX0NNRF9BTVRfVklCUkFUT1JfVEVTVF9TVEFSVF9SU1AsCQkvL7+qyrzC7bTvsuLK1M/7z6K72NOmCglNU0dfQ01EX0FNVF9WSUJSQVRPUl9URVNUX1NUT1BfUkVRLAkJLy/No9a5wu2077LiytTP+8+ix+vH8woJTVNHX0NNRF9BTVRfVklCUkFUT1JfVEVTVF9TVE9QX1JTUCwJCS8vzaPWucLttO+y4srUz/vPorvY06YKCU1TR19DTURfQU1UX0NBTUVSQV9URVNUX1NUQVJUX1JFUSwJCS8vv6rKvMnjz/HNt7LiytTP+8+ix+vH8woJTVNHX0NNRF9BTVRfQ0FNRVJBX1RFU1RfU1RBUlRfUlNQLAkJLy+/qsq8yePP8c23suLK1M/7z6K72NOmCglNU0dfQ01EX0FNVF9DQU1FUkFfVEVTVF9TVE9QX1JFUSwJCS8vzaPWucnjz/HNt7LiytTP+8+ix+vH8woJTVNHX0NNRF9BTVRfQ0FNRVJBX1RFU1RfU1RPUF9SU1AsCQkvL82j1rnJ48/xzbey4srUz/vPorvY06YKCU1TR19DTURfQU1UX1NQRUFLRVJfVEVTVF9SRVEsCQkvL8Lzv8stwK6wyLvYwrey4srUz/vPosfrx/MKCU1TR19DTURfQU1UX1NQRUFLRVJfVEVTVF9SU1AsCQkvL8Lzv8stwK6wyLvYwrey4srUz/vPorvY06YKCU1TR19DTURfQU1UX1NQRUFLRVJfVEVTVF9TVE9QX1JFUSwJCS8vwvO/yy3ArrDIu9jCt7LiytTNo9a5z/vPosfrx/MKCU1TR19DTURfQU1UX1NQRUFLRVJfVEVTVF9TVE9QX1JTUCwJCS8vwvO/yy3ArrDIu9jCt7LiytTNo9a5z/vPorvY06YKCU1TR19DTURfQU1UX1JFQ0VJVkVSX1RFU1RfUkVRLAkJLy/R78n5xvey4srUz/vPosfrx/MKCU1TR19DTURfQU1UX1JFQ0VJVkVSX1RFU1RfUlNQLAkJLy/R78n5xvey4srUz/vPorvY06YKCU1TR19DTURfQU1UX1JFQ0VJVkVSX1RFU1RfU1RPUF9SRVEsCQkvL9HvyfnG97LiytTNo9a5z/vPosfrx/MKCU1TR19DTURfQU1UX1JFQ0VJVkVSX1RFU1RfU1RPUF9SU1AsCQkvL9HvyfnG97LiytTNo9a5z/vPorvY06YKCU1TR19DTURfQU1UX1RQX1RFU1RfU1RBUlRfUkVRLAkJLy+/qsq8tKXD/sbBsuLK1M/7z6LH68fzCglNU0dfQ01EX0FNVF9UUF9URVNUX1NUQVJUX1JTUCwJCS8vv6rKvLSlw/7GwbLiytTP+8+iu9jTpgoJTVNHX0NNRF9BTVRfVFBfVEVTVF9TVE9QX1JFUSwJCS8vzaPWubSlw/7GwbLiytTP+8+ix+vH8woJTVNHX0NNRF9BTVRfVFBfVEVTVF9TVE9QX1JTUCwJCS8vzaPWubSlw/7GwbLiytTP+8+iu9jTpgoJTVNHX0NNRF9BTVRfR1NFTlNPUl9URVNUX1NUQVJUX1JFUSwJCS8vv6rKvEctU2Vuc29ysuLK1M/7z6LH68fzCglNU0dfQ01EX0FNVF9HU0VOU09SX1RFU1RfU1RBUlRfUlNQLAkJLy+/qsq8Ry1TZW5zb3Ky4srUz/vPorvY06YKCU1TR19DTURfQU1UX0dTRU5TT1JfVEVTVF9TVE9QX1JFUSwJCS8vzaPWuUctU2Vuc29ysuLK1M/7z6LH68fzCglNU0dfQ01EX0FNVF9HU0VOU09SX1RFU1RfU1RPUF9SU1AsCQkvL82j1rlHLVNlbnNvcrLiytTP+8+iu9jTpgoJTVNHX0NNRF9BTVRfV0lGSV9URVNUX1NUQVJUX1JFUSwJCS8vv6rKvHdpZmmy4srUz/vPosfrx/MKCU1TR19DTURfQU1UX1dJRklfVEVTVF9TVEFSVF9SU1AsCQkvL7+qyrx3aWZpsuLK1M/7z6K72NOmCglNU0dfQ01EX0FNVF9GTEFTSExJR0hUX1NUQVJUX1JFUSwgICAgICAgLy+/qsq8yta1582ysuLK1M/7z6LH68fzCglNU0dfQ01EX0FNVF9GTEFTSExJR0hUX1NUQVJUX1JTUCwgICAgICAgLy+/qsq8yta1582ysuLK1M/7z6K72NOmCn07CgovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgkJCbzSs6S/2NbGxKO/6c/7z6LM5QoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwp0eXBlZGVmIHN0cnVjdCB7CgljaGFyIHN0ckF0Q21kWzEyOF07CglpbnQgZGV2aWNlSUQ7Cn0gUENTX01TRzsKCnR5cGVkZWYgc3RydWN0ewoJaW50IGNpZDsKCWludCBpcHR5cGU7ICAvL2VudW0gaXB2NHY2X2ZsYWcKfVRTY3JpcHRNU0c7CiNlbmRpZgo=