PGgyPjxhIG5hbWU9Ik1JU0MiPjwvYT48c3Bhbj48L3NwYW4+TUlTQzwvaDI+PGg0PjxhIG5hbWU9IuS4jmFp6IGK5aSpIj48L2E+PHNwYW4+PC9zcGFuPuS4jmFp6IGK5aSpPC9oND48cD7pl67lroPkvaDljp/mnKznmoTku7vliqHmmK/llaXvvJ88aW1nIHNyYz0iaHR0cHM6Ly9uYzAuY2RuLnprYXEuY24vbWQvMTkyMzMvOTI4YjAyMDNlODVhOTZiMGNiMWZlZDk3OGJiMzE4NDZfNTQzNjUucG5nIiBhbHQ9IiI+PC9wPgo8aDQ+PGEgbmFtZT0idm1ka+WPluivgSI+PC9hPjxzcGFuPjwvc3Bhbj52bWRr5Y+W6K+BPC9oND48cD7lvIDlsYDmi7/liLDkuIDkuKp2bWRr5paH5Lu277yM6KaB5om+5a+G56CB77yM55SoN3rmiZPlvIDliLDlpoLkuIvkvY3nva48L3A+CjxwPjxpbWcgc3JjPSJodHRwczovL25jMC5jZG4uemthcS5jbi9tZC8xOTIzMy84MDZiOWMwYjlhNzE3NWY5NDA4Y2Q4NDQxNDFjMDBkMl83NDQwMS5wbmciIGFsdD0iIj48L3A+CjxwPueEtuWQjuWPluWHunN5c3RlbeWSjFNBTeeUqOS6juaPkOWPluWTiOW4jO+8jOS4ouWIsG1pbWlrYXR65Lit5Y6755yL55yLbnRsbTo8L3A+CjxwPjxpbWcgc3JjPSJodHRwczovL25jMC5jZG4uemthcS5jbi9tZC8xOTIzMy9hYmY3NmIzODMzNWJmNjFkNDEyYjk2MGRkZmRkZWM1ZV84MTg3My5wbmciIGFsdD0iIj48L3A+CjxwPuacgOWQjuS4imNtZDXmnaXop6Plr4Y8L3A+CjxoND48YSBuYW1lPSLnroDljZXnmoTlj5bor4Es5LiN6L+H5YmN5Y2B5Liq5pyJ57qi5YyFIj48L2E+PHNwYW4+PC9zcGFuPueugOWNleeahOWPluivgSzkuI3ov4fliY3ljYHkuKrmnInnuqLljIU8L2g0PjxwPuWcqOS4iuS4gOmimOeahOahjOmdouS4iuacieS4quWbvueJhzwvcD4KPHA+PGltZyBzcmM9Imh0dHBzOi8vbmMwLmNkbi56a2FxLmNuL21kLzE5MjMzL2VmOWM0ODc3ZTVjM2JiMjJlMTVhY2U0Mzc5NDFlNjdjXzExMTI5LmpwZyIgYWx0PSJodHRwczovL25jMC5jZG4uemthcS5jbi9tZC8xOTIzMy9lZjljNDg3N2U1YzNiYjIyZTE1YWNlNDM3OTQxZTY3Y18xMTEyOS5qcGciPjwvcD4KPHA+54S25ZCO5L2/55SoVmVyYUNyeXB06Kej5a+G5bCx5Ye65LqGPC9wPgo8aDQ+PGEgbmFtZT0iQmxpbmQgU3FsIEluamVjdGlvbiI+PC9hPjxzcGFuPjwvc3Bhbj5CbGluZCBTcWwgSW5qZWN0aW9uPC9oND48cD48aW1nIHNyYz0iaHR0cHM6Ly9uYzAuY2RuLnprYXEuY24vbWQvMTkyMzMvMDVjMTNiZTk4ZDkwMzUwMDk0YmU2MGI4ZmRlNmMwZDFfNjk2NzEucG5nIiBhbHQ9Imh0dHBzOi8vbmMwLmNkbi56a2FxLmNuL21kLzE5MjMzLzA1YzEzYmU5OGQ5MDM1MDA5NGJlNjBiOGZkZTZjMGQxXzY5NjcxLnBuZyI+PC9wPgo8cD7nnIvmiqXmlofmiqXplJnnm7Lms6gsZmxhZ+WwseaYr+Wvhuegge+8mjwvcD4KPHA+5qC45b+D5Luj56CBPC9wPgo8cHJlPjxjb2RlPi9zZWFyY2gucGhwP2lkPTEtKGFzY2lpKHN1YnN0cigoU2VsZWN0KHJldmVyc2UoZ3JvdXBfY29uY2F0KHBhc3N3b3JkKSkpRnJvbShGMW5hSTF5KSksNDQsMSkpJTNFNjMpCjwvY29kZT48L3ByZT4KPHA+5aaC5p6c6K+05LiK6Z2i6L+Z5Liy6KGo6L6+5byP5Li655yf77yM6YKj5LmIaWQ9MO+8jOi/meWwseS8muinpuWPkeaKpemUmeOAgjwvcD4KPHA+PGltZyBzcmM9Imh0dHBzOi8vbmMwLmNkbi56a2FxLmNuL21kLzE5MjMzL2FjZjhmOWMyNzliOTRiNTgzZTE2YjE4N2NmNmZhZmRlXzcwMzY1LnBuZyIgYWx0PSIiPjwvcD4KPHA+5Y+N5LmL5aaC5p6c6KGo6L6+5byP5LiN5ZCM5oSP5YiZ5Lya5q2j5bi45pi+56S65YaF5a6544CCPC9wPgo8cD7kuo7mmK/lsLHlj6/ku6XmjKjkuKrmjqjmlq3lh7pmbGFn5a2X56ym5Liy55qE5q+P5LiA5LiqYXNjaWnlgLzvvIzmnIDlkI7ovazmiJDlrZfnrKblkI7lj43ovazlsLHlh7rkuobjgII8L3A+CjxwPlBTOuS4jeimgeeUqGdwdOWBmuS7u+S9leaVsOWtpuebuOWFs+eahOmimOebru+8jOWPr+S7peS9v+eUqOi1m+WNmuWOqOWtkO+8jOiiq+WdkeaDqOS6hjwvcD4KPGgyPjxhIG5hbWU9IldFQiI+PC9hPjxzcGFuPjwvc3Bhbj5XRUI8L2gyPjxwPuW8gOWxgOa6kOeggeWmguS4i++8mjwvcD4KPHByZT48Y29kZT5jb25zdCBleHByZXNzID0gcmVxdWlyZSgmcXVvdDtleHByZXNzJnF1b3Q7KTsKY29uc3QgYXhpb3MgPSByZXF1aXJlKCZxdW90O2F4aW9zJnF1b3Q7KTsKY29uc3QgYm9keVBhcnNlciA9IHJlcXVpcmUoJnF1b3Q7Ym9keS1wYXJzZXImcXVvdDspOwpjb25zdCBwYXRoID0gcmVxdWlyZSgmcXVvdDtwYXRoJnF1b3Q7KTsKY29uc3QgZnMgPSByZXF1aXJlKCZxdW90O2ZzJnF1b3Q7KTsKY29uc3QgeyB2NDogdXVpZHY0IH0gPSByZXF1aXJlKCZxdW90O3V1aWQmcXVvdDspOwpjb25zdCBzZXNzaW9uID0gcmVxdWlyZSgmcXVvdDtleHByZXNzLXNlc3Npb24mcXVvdDspOwoKY29uc3QgYXBwID0gZXhwcmVzcygpOwpjb25zdCBwb3J0ID0gMzAwMDsKY29uc3Qgc2Vzc2lvbl9uYW1lID0gJnF1b3Q7bXktd2VidnBuLXNlc3Npb24taWQtJnF1b3Q7ICsgdXVpZHY0KCkudG9TdHJpbmcoKTsKCmFwcC5zZXQoJnF1b3Q7dmlldyBlbmdpbmUmcXVvdDssICZxdW90O3B1ZyZxdW90Oyk7CmFwcC5zZXQoJnF1b3Q7dHJ1c3QgcHJveHkmcXVvdDssIGZhbHNlKTsKYXBwLnVzZShleHByZXNzLnN0YXRpYyhwYXRoLmpvaW4oX19kaXJuYW1lLCAmcXVvdDtwdWJsaWMmcXVvdDspKSk7CmFwcC51c2UoCiAgc2Vzc2lvbih7CiAgICBuYW1lOiBzZXNzaW9uX25hbWUsCiAgICBzZWNyZXQ6IHV1aWR2NCgpLnRvU3RyaW5nKCksCiAgICBzZWN1cmU6IGZhbHNlLAogICAgcmVzYXZlOiBmYWxzZSwKICAgIHNhdmVVbmluaXRpYWxpemVkOiB0cnVlLAogIH0pCik7CmFwcC51c2UoYm9keVBhcnNlci5qc29uKCkpOwp2YXIgdXNlclN0b3JhZ2UgPSB7CiAgdXNlcm5hbWU6IHsKICAgIHBhc3N3b3JkOiAmcXVvdDtwYXNzd29yZCZxdW90OywKICAgIGluZm86IHsKICAgICAgYWdlOiAxOCwKICAgIH0sCiAgICBzdHJhdGVneTogewogICAgICAmcXVvdDtiYWlkdS5jb20mcXVvdDs6IHRydWUsCiAgICAgICZxdW90O2dvb2dsZS5jb20mcXVvdDs6IGZhbHNlLAogICAgfSwKICB9LAp9OwoKZnVuY3Rpb24gdXBkYXRlKGRzdCwgc3JjKSB7CiAgZm9yIChrZXkgaW4gc3JjKSB7CiAgICBpZiAoa2V5LmluZGV4T2YoJnF1b3Q7X18mcXVvdDspICE9IC0xKSB7CiAgICAgIGNvbnRpbnVlOwogICAgfQogICAgaWYgKHR5cGVvZiBzcmNba2V5XSA9PSAmcXVvdDtvYmplY3QmcXVvdDsgJmFtcDsmYW1wOyBkc3Rba2V5XSAhPT0gdW5kZWZpbmVkKSB7CiAgICAgIHVwZGF0ZShkc3Rba2V5XSwgc3JjW2tleV0pOwogICAgICBjb250aW51ZTsKICAgIH0KICAgIGRzdFtrZXldID0gc3JjW2tleV07CiAgfQp9CmFwcC51c2UoJnF1b3Q7L3Byb3h5JnF1b3Q7LCBhc3luYyAocmVxLCByZXMpID0mZ3Q7IHsKICBjb25zdCB7IHVzZXJuYW1lIH0gPSByZXEuc2Vzc2lvbjsKICBpZiAoIXVzZXJuYW1lKSB7CiAgICByZXMuc2VuZFN0YXR1cyg0MDMpOwogIH0KICBsZXQgdXJsID0gKCgpID0mZ3Q7IHsKICAgIHRyeSB7CiAgICAgIHJldHVybiBuZXcgVVJMKHJlcS5xdWVyeS51cmwpOwogICAgfSBjYXRjaCB7CiAgICAgIHJlcy5zdGF0dXMoNDAwKTsKICAgICAgcmVzLmVuZCgmcXVvdDtpbnZhbGlkIHVybC4mcXVvdDspOwogICAgICByZXR1cm4gdW5kZWZpbmVkOwogICAgfQogIH0pKCk7CgogIGlmICghdXJsKSByZXR1cm47CgogIGlmICghdXNlclN0b3JhZ2VbdXNlcm5hbWVdLnN0cmF0ZWd5W3VybC5ob3N0bmFtZV0pIHsKICAgIHJlcy5zdGF0dXMoNDAwKTsKICAgIHJlcy5lbmQoJnF1b3Q7eW91ciB1cmwgaXMgbm90IGFsbG93ZWQuJnF1b3Q7KTsKICB9CiAgdHJ5IHsKICAgIGNvbnN0IGhlYWRlcnMgPSByZXEuaGVhZGVyczsKICAgIGhlYWRlcnMuaG9zdCA9IHVybC5ob3N0OwogICAgaGVhZGVycy5jb29raWUgPSBoZWFkZXJzLmNvb2tpZS5zcGxpdCgmcXVvdDs7JnF1b3Q7KS5mb3JFYWNoKChjb29raWUpID0mZ3Q7IHsKICAgICAgdmFyIGZpbHRlcmVkX2Nvb2tpZSA9ICZxdW90OyZxdW90OzsKICAgICAgY29uc3QgW2tleSwgdmFsdWVdID0gY29va2llLnNwbGl0KCZxdW90Oz0mcXVvdDssIDEpOwogICAgICBpZiAoa2V5LnRyaW0oKSAhPT0gc2Vzc2lvbl9uYW1lKSB7CiAgICAgICAgZmlsdGVyZWRfY29va2llICs9IGAke2tleX09JHt2YWx1ZX07YDsKICAgICAgfQogICAgICByZXR1cm4gZmlsdGVyZWRfY29va2llOwogICAgfSk7CiAgICBjb25zdCByZW1vdGVfcmVzID0gYXdhaXQgKCgpID0mZ3Q7IHsKICAgICAgaWYgKHJlcS5tZXRob2QgPT0gJnF1b3Q7UE9TVCZxdW90OykgewogICAgICAgIHJldHVybiBheGlvcy5wb3N0KHVybCwgcmVxLmJvZHksIHsKICAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnMsCiAgICAgICAgfSk7CiAgICAgIH0gZWxzZSBpZiAocmVxLm1ldGhvZCA9PSAmcXVvdDtHRVQmcXVvdDspIHsKICAgICAgICByZXR1cm4gYXhpb3MuZ2V0KHVybCwgewogICAgICAgICAgaGVhZGVyczogaGVhZGVycywKICAgICAgICB9KTsKICAgICAgfSBlbHNlIHsKICAgICAgICByZXMuc3RhdHVzKDQwNSk7CiAgICAgICAgcmVzLmVuZCgmcXVvdDttZXRob2Qgbm90IGFsbG93ZWQuJnF1b3Q7KTsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgIH0pKCk7CiAgICByZXMuc3RhdHVzKHJlbW90ZV9yZXMuc3RhdHVzKTsKICAgIHJlcy5oZWFkZXIocmVtb3RlX3Jlcy5oZWFkZXJzKTsKICAgIHJlcy53cml0ZShyZW1vdGVfcmVzLmRhdGEpOwogIH0gY2F0Y2ggKGUpIHsKICAgIHJlcy5zdGF0dXMoNTAwKTsKICAgIHJlcy5lbmQoJnF1b3Q7dW5yZWFjaGFibGUgdXJsLiZxdW90Oyk7CiAgfQp9KTsKCmFwcC5wb3N0KCZxdW90Oy91c2VyL2xvZ2luJnF1b3Q7LCAocmVxLCByZXMpID0mZ3Q7IHsKICBjb25zdCB7IHVzZXJuYW1lLCBwYXNzd29yZCB9ID0gcmVxLmJvZHk7CiAgaWYgKAogICAgdHlwZW9mIHVzZXJuYW1lICE9ICZxdW90O3N0cmluZyZxdW90OyB8fAogICAgdHlwZW9mIHBhc3N3b3JkICE9ICZxdW90O3N0cmluZyZxdW90OyB8fAogICAgIXVzZXJuYW1lIHx8CiAgICAhcGFzc3dvcmQKICApIHsKICAgIHJlcy5zdGF0dXMoNDAwKTsKICAgIHJlcy5lbmQoJnF1b3Q7aW52YWxpZCB1c2VybmFtZSBvciBwYXNzd29yZCZxdW90Oyk7CiAgICByZXR1cm47CiAgfQogIGlmICghdXNlclN0b3JhZ2VbdXNlcm5hbWVdKSB7CiAgICByZXMuc3RhdHVzKDQwMyk7CiAgICByZXMuZW5kKCZxdW90O2ludmFsaWQgdXNlcm5hbWUgb3IgcGFzc3dvcmQmcXVvdDspOwogICAgcmV0dXJuOwogIH0KICBpZiAodXNlclN0b3JhZ2VbdXNlcm5hbWVdLnBhc3N3b3JkICE9PSBwYXNzd29yZCkgewogICAgcmVzLnN0YXR1cyg0MDMpOwogICAgcmVzLmVuZCgmcXVvdDtpbnZhbGlkIHVzZXJuYW1lIG9yIHBhc3N3b3JkJnF1b3Q7KTsKICAgIHJldHVybjsKICB9CiAgcmVxLnNlc3Npb24udXNlcm5hbWUgPSB1c2VybmFtZTsKICByZXMuc2VuZCgmcXVvdDtsb2dpbiBzdWNjZXNzJnF1b3Q7KTsKfSk7CgovLyB1bmRlciBkZXZlbG9wbWVudAphcHAucG9zdCgmcXVvdDsvdXNlci9pbmZvJnF1b3Q7LCAocmVxLCByZXMpID0mZ3Q7IHsKICBpZiAoIXJlcS5zZXNzaW9uLnVzZXJuYW1lKSB7CiAgICByZXMuc2VuZFN0YXR1cyg0MDMpOwogIH0KICB1cGRhdGUodXNlclN0b3JhZ2VbcmVxLnNlc3Npb24udXNlcm5hbWVdLmluZm8sIHJlcS5ib2R5KTsKICByZXMuc2VuZFN0YXR1cygyMDApOwp9KTsKCmFwcC5nZXQoJnF1b3Q7L2hvbWUmcXVvdDssIChyZXEsIHJlcykgPSZndDsgewogIGlmICghcmVxLnNlc3Npb24udXNlcm5hbWUpIHsKICAgIHJlcy5zZW5kU3RhdHVzKDQwMyk7CiAgICByZXR1cm47CiAgfQogIHJlcy5yZW5kZXIoJnF1b3Q7aG9tZSZxdW90OywgewogICAgdXNlcm5hbWU6IHJlcS5zZXNzaW9uLnVzZXJuYW1lLAogICAgc3RyYXRlZ3k6ICgobGlzdCk9Jmd0O3sKICAgICAgdmFyIHJlc3VsdCA9IFtdOwogICAgICBmb3IgKHZhciBrZXkgaW4gbGlzdCkgewogICAgICAgIHJlc3VsdC5wdXNoKHtob3N0OiBrZXksIGFsbG93OiBsaXN0W2tleV19KTsKICAgICAgfQogICAgICByZXR1cm4gcmVzdWx0OwogICAgfSkodXNlclN0b3JhZ2VbcmVxLnNlc3Npb24udXNlcm5hbWVdLnN0cmF0ZWd5KSwKICB9KTsKfSk7CgovLyBkZW1vIHNlcnZpY2UgYmVoaW5kIHdlYnZwbgphcHAuZ2V0KCZxdW90Oy9mbGFnJnF1b3Q7LCAocmVxLCByZXMpID0mZ3Q7IHsKICBpZiAoCiAgICByZXEuaGVhZGVycy5ob3N0ICE9ICZxdW90OzEyNy4wLjAuMTozMDAwJnF1b3Q7IHx8CiAgICByZXEuaG9zdG5hbWUgIT0gJnF1b3Q7MTI3LjAuMC4xJnF1b3Q7IHx8CiAgICByZXEuaXAgIT0gJnF1b3Q7MTI3LjAuMC4xJnF1b3Q7IAogICkgewogICAgcmVzLnNlbmRTdGF0dXMoNDAwKTsKICAgIHJldHVybjsKICB9CiAgY29uc3QgZGF0YSA9IGZzLnJlYWRGaWxlU3luYygmcXVvdDsvZmxhZyZxdW90Oyk7CiAgcmVzLnNlbmQoZGF0YSk7Cn0pOwoKYXBwLmxpc3Rlbihwb3J0LCAmIzM5OzAuMC4wLjAmIzM5OywgKCkgPSZndDsgewogIGNvbnNvbGUubG9nKGBhcHAgbGlzdGVuIG9uICR7cG9ydH1gKTsKfSk7CjwvY29kZT48L3ByZT4KPHA+5Y+R546w6L+Z6YeM55qEdXBkYXRl5Ye95pWw5Y+v6IO95a2Y5Zyo5Y6f5Z6L6ZO+5rGh5p+T77yI6LWL5YC877yJLOS9huaYr+i/memHjOi/h+a7pOS6hl9fPC9wPgo8cHJlPjxjb2RlPmZ1bmN0aW9uIHVwZGF0ZShkc3QsIHNyYykgewogIGZvciAoa2V5IGluIHNyYykgewogICAgaWYgKGtleS5pbmRleE9mKCZxdW90O19fJnF1b3Q7KSAhPSAtMSkgewogICAgICBjb250aW51ZTsKICAgIH0KICAgIGlmICh0eXBlb2Ygc3JjW2tleV0gPT0gJnF1b3Q7b2JqZWN0JnF1b3Q7ICZhbXA7JmFtcDsgZHN0W2tleV0gIT09IHVuZGVmaW5lZCkgewogICAgICB1cGRhdGUoZHN0W2tleV0sIHNyY1trZXldKTsKICAgICAgY29udGludWU7CiAgICB9CiAgICBkc3Rba2V5XSA9IHNyY1trZXldOwogIH0KfQovLy4uLgphcHAucG9zdCgmcXVvdDsvdXNlci9pbmZvJnF1b3Q7LCAocmVxLCByZXMpID0mZ3Q7IHsKICBpZiAoIXJlcS5zZXNzaW9uLnVzZXJuYW1lKSB7CiAgICByZXMuc2VuZFN0YXR1cyg0MDMpOwogIH0KICB1cGRhdGUodXNlclN0b3JhZ2VbcmVxLnNlc3Npb24udXNlcm5hbWVdLmluZm8sIHJlcS5ib2R5KTsKICByZXMuc2VuZFN0YXR1cygyMDApOwp9KTsKPC9jb2RlPjwvcHJlPgo8cD7kuI3og73nlKhfX3Byb3RvX1/kuZ/lj6/ku6XnlKhwcm90b3R5cGXmnoTpgKBwYXlsb2FkPC9wPgo8cD7lho3nnIvov4fmu6Top4TliJnvvJo8L3A+CjxwcmU+PGNvZGU+aWYgKCF1c2VyU3RvcmFnZVt1c2VybmFtZV0uc3RyYXRlZ3lbdXJsLmhvc3RuYW1lXSkgewogICAgcmVzLnN0YXR1cyg0MDApOwogICAgcmVzLmVuZCgmcXVvdDt5b3VyIHVybCBpcyBub3QgYWxsb3dlZC4mcXVvdDspOwogIH0KLy8uLi4KYXBwLmdldCgmcXVvdDsvZmxhZyZxdW90OywgKHJlcSwgcmVzKSA9Jmd0OyB7CiAgaWYgKAogICAgcmVxLmhlYWRlcnMuaG9zdCAhPSAmcXVvdDsxMjcuMC4wLjE6MzAwMCZxdW90OyB8fAogICAgcmVxLmhvc3RuYW1lICE9ICZxdW90OzEyNy4wLjAuMSZxdW90OyB8fAogICAgcmVxLmlwICE9ICZxdW90OzEyNy4wLjAuMSZxdW90OyAKICApIHsKICAgIHJlcy5zZW5kU3RhdHVzKDQwMCk7CiAgICByZXR1cm47CiAgfQogIGNvbnN0IGRhdGEgPSBmcy5yZWFkRmlsZVN5bmMoJnF1b3Q7L2ZsYWcmcXVvdDspOwogIHJlcy5zZW5kKGRhdGEpOwp9KTsKPC9jb2RlPjwvcHJlPgo8cD7nu5PlkIgvcHJveHnpg6jliIbnmoTku6PnoIHvvIzlsLHmmK/opoHliKnnlKjoh6rlt7HmnaXorr/pl64xMjcuMC4wLjE6MzAwMC9mbGFn77yM6L+Z5bCx6ZyA6KaB5rGh5p+TdXNlclN0b3JhZ2VbdXNlcm5hbWVdLnN0cmF0ZWd5LOa1hea1heaehOmAoOS4gOS4qnBheWxvYWQ8L3A+CjxwcmU+PGNvZGU+eyZxdW90O2NvbnN0cnVjdG9yJnF1b3Q7OnsmcXVvdDtwcm90b3R5cGUmcXVvdDs6eyZxdW90O3N0cmF0ZWd5JnF1b3Q7OnsmcXVvdDsxMjcuMC4wLjE6MzAwMC9mbGFnJnF1b3Q7OiZxdW90O3RydWUmcXVvdDt9fX19CjwvY29kZT48L3ByZT4KPHA+PGltZyBzcmM9Imh0dHBzOi8vbmMwLmNkbi56a2FxLmNuL21kLzE5MjMzL2YzNDFkOTFkMDc0OGZmZmRkZWM5OWIzMDhkMjIyYjQ5Xzg0OTEwLnBuZyIgYWx0PSJodHRwczovL25jMC5jZG4uemthcS5jbi9tZC8xOTIzMy9mMzQxZDkxZDA3NDhmZmZkZGVjOTliMzA4ZDIyMmI0OV84NDkxMC5wbmciPjwvcD4KPHA+PGltZyBzcmM9Imh0dHBzOi8vbmMwLmNkbi56a2FxLmNuL21kLzE5MjMzLzJmZTg5NmYxOTY5NTI1NmRiNjgyZTlmY2VkOWM2MDFlXzM2NzUxLnBuZyIgYWx0PSJodHRwczovL25jMC5jZG4uemthcS5jbi9tZC8xOTIzMy8yZmU4OTZmMTk2OTUyNTZkYjY4MmU5ZmNlZDljNjAxZV8zNjc1MS5wbmciPjwvcD4KPHA+5pS55pS577yaPC9wPgo8cHJlPjxjb2RlPnsmcXVvdDtjb25zdHJ1Y3RvciZxdW90Ozp7JnF1b3Q7cHJvdG90eXBlJnF1b3Q7OnsmcXVvdDsxMjcuMC4wLjEmcXVvdDs6eyZxdW90OzEyNy4wLjAuMTozMDAwL2ZsYWcmcXVvdDs6JnF1b3Q7dHJ1ZSZxdW90O319fX0KPC9jb2RlPjwvcHJlPgo8cD7lpoLmnpznm7TmjqXngrnlh7vpk77mjqXnmoTor53lsLHkvJrorr/pl648L3A+CjxwPi9wcm94eT91cmw9PGEgaHJlZj0iaHR0cDovLzEyNy4wLjAuMSI+aHR0cDovLzEyNy4wLjAuMTwvYT48L3A+CjxwPuWbnuaYvnVucmVhY2hhYmxlPC9wPgo8cD7opoHmiYvliqjooaXpvZAvcHJveHk/dXJsPTxhIGhyZWY9Imh0dHA6Ly8xMjcuMC4wLjE6MzAwMC9mbGFnIj5odHRwOi8vMTI3LjAuMC4xOjMwMDAvZmxhZzwvYT48L3A+CjxwPuWwseiDveato+W4uOiuv+mXruS6hjwvcD4KPGg0PjxhIG5hbWU9Ilplcm8gTGluayI+PC9hPjxzcGFuPjwvc3Bhbj5aZXJvIExpbms8L2g0PjxwPuS4gOmBk+WAvOW+l+e7hue7huivhOmJtOeahGdv5Y+yPC9wPgo8cD7lhYjnnItyb3V0ZS5nbzwvcD4KPHByZT48Y29kZT5wYWNrYWdlIHJvdXRlcwoKaW1wb3J0ICgKICAgICZxdW90O2ZtdCZxdW90OwogICAgJnF1b3Q7aHRtbC90ZW1wbGF0ZSZxdW90OwogICAgJnF1b3Q7bmV0L2h0dHAmcXVvdDsKICAgICZxdW90O29zJnF1b3Q7CiAgICAmcXVvdDtvcy9zaWduYWwmcXVvdDsKICAgICZxdW90O3BhdGgvZmlsZXBhdGgmcXVvdDsKICAgICZxdW90O3plcm8tbGluay9pbnRlcm5hbC9jb25maWcmcXVvdDsKICAgICZxdW90O3plcm8tbGluay9pbnRlcm5hbC9jb250cm9sbGVyL2F1dGgmcXVvdDsKICAgICZxdW90O3plcm8tbGluay9pbnRlcm5hbC9jb250cm9sbGVyL2ZpbGUmcXVvdDsKICAgICZxdW90O3plcm8tbGluay9pbnRlcm5hbC9jb250cm9sbGVyL3BpbmcmcXVvdDsKICAgICZxdW90O3plcm8tbGluay9pbnRlcm5hbC9jb250cm9sbGVyL3VzZXImcXVvdDsKICAgICZxdW90O3plcm8tbGluay9pbnRlcm5hbC9taWRkbGV3YXJlJnF1b3Q7CiAgICAmcXVvdDt6ZXJvLWxpbmsvaW50ZXJuYWwvdmlld3MmcXVvdDsKCiAgICAmcXVvdDtnaXRodWIuY29tL2dpbi1jb250cmliL3Nlc3Npb25zJnF1b3Q7CiAgICAmcXVvdDtnaXRodWIuY29tL2dpbi1jb250cmliL3Nlc3Npb25zL2Nvb2tpZSZxdW90OwogICAgJnF1b3Q7Z2l0aHViLmNvbS9naW4tZ29uaWMvZ2luJnF1b3Q7CikKCmZ1bmMgUnVuKCkgewogICAgciA6PSBnaW4uRGVmYXVsdCgpCgogICAgaHRtbCA6PSB0ZW1wbGF0ZS5NdXN0KHRlbXBsYXRlLk5ldygmcXVvdDsmcXVvdDspLlBhcnNlRlModmlld3MuRlMsICZxdW90OyomcXVvdDspKQogICAgci5TZXRIVE1MVGVtcGxhdGUoaHRtbCkKCiAgICBzZWNyZXQgOj0gY29uZmlnLlNlY3JldC5TZXNzaW9uU2VjcmV0CiAgICBzdG9yZSA6PSBjb29raWUuTmV3U3RvcmUoW11ieXRlKHNlY3JldCkpCiAgICByLlVzZShzZXNzaW9ucy5TZXNzaW9ucygmcXVvdDtzZXNzaW9uJnF1b3Q7LCBzdG9yZSkpCgogICAgYXBpIDo9IHIuR3JvdXAoJnF1b3Q7L2FwaSZxdW90OykKICAgIHsKICAgICAgICBhcGkuR0VUKCZxdW90Oy9waW5nJnF1b3Q7LCBwaW5nLlBpbmcpCiAgICAgICAgYXBpLlBPU1QoJnF1b3Q7L3VzZXImcXVvdDssIHVzZXIuR2V0VXNlckluZm8pCiAgICAgICAgYXBpLlBPU1QoJnF1b3Q7L2xvZ2luJnF1b3Q7LCBhdXRoLkFkbWluTG9naW4pCgogICAgICAgIGFwaUF1dGggOj0gYXBpLkdyb3VwKCZxdW90OyZxdW90OykKICAgICAgICBhcGlBdXRoLlVzZShtaWRkbGV3YXJlLkF1dGgoKSkKICAgICAgICB7CiAgICAgICAgICAgIGFwaUF1dGguUE9TVCgmcXVvdDsvdXBsb2FkJnF1b3Q7LCBmaWxlLlVwbG9hZEZpbGUpCiAgICAgICAgICAgIGFwaUF1dGguR0VUKCZxdW90Oy91bnppcCZxdW90OywgZmlsZS5VbnppcFBhY2thZ2UpCiAgICAgICAgICAgIGFwaUF1dGguR0VUKCZxdW90Oy9zZWNyZXQmcXVvdDssIGZpbGUuUmVhZFNlY3JldEZpbGUpCiAgICAgICAgfQogICAgfQogICAgZnJvbnRlbmQgOj0gci5Hcm91cCgmcXVvdDsvJnF1b3Q7KQogICAgewogICAgICAgIGZyb250ZW5kLkdFVCgmcXVvdDsvJnF1b3Q7LCBmdW5jKGMgKmdpbi5Db250ZXh0KSB7CiAgICAgICAgICAgIGMuSFRNTChodHRwLlN0YXR1c09LLCAmcXVvdDtpbmRleC5odG1sJnF1b3Q7LCBuaWwpCiAgICAgICAgfSkKICAgICAgICBmcm9udGVuZC5HRVQoJnF1b3Q7L2xvZ2luJnF1b3Q7LCBmdW5jKGMgKmdpbi5Db250ZXh0KSB7CiAgICAgICAgICAgIGMuSFRNTChodHRwLlN0YXR1c09LLCAmcXVvdDtsb2dpbi5odG1sJnF1b3Q7LCBuaWwpCiAgICAgICAgfSkKCiAgICAgICAgZnJvbnRlbmRBdXRoIDo9IGZyb250ZW5kLkdyb3VwKCZxdW90OyZxdW90OykKICAgICAgICBmcm9udGVuZEF1dGguVXNlKG1pZGRsZXdhcmUuQXV0aCgpKQogICAgICAgIHsKICAgICAgICAgICAgZnJvbnRlbmRBdXRoLkdFVCgmcXVvdDsvbWFuYWdlciZxdW90OywgZnVuYyhjICpnaW4uQ29udGV4dCkgewogICAgICAgICAgICAgICAgYy5IVE1MKGh0dHAuU3RhdHVzT0ssICZxdW90O21hbmFnZXIuaHRtbCZxdW90OywgbmlsKQogICAgICAgICAgICB9KQogICAgICAgIH0KICAgIH0KICAgIHF1aXQgOj0gbWFrZShjaGFuIG9zLlNpZ25hbCkKICAgIHNpZ25hbC5Ob3RpZnkocXVpdCwgb3MuSW50ZXJydXB0KQoKICAgIGdvIGZ1bmMoKSB7CgoKCiVkdGQ7ICVhbGw7IApdJmd0OyAKJmFtcDtzZW5kOwo8L2NvZGU+PC9wcmU+CjxwPui9rHV0Zi0xNjwvcD4KPHByZT48Y29kZT5jYXQgdXRmOGV4cGxvaXQueG1sIHwgaWNvbnYgLWYgVVRGLTggLXQgVVRGLTE2QkUgJmd0OyB1dGYxNmV4cGxvaXQueG1sCjwvY29kZT48L3ByZT4KPHA+5YeG5aSHZXZpbC54bWw8L3A+CjxwcmU+PGNvZGU+Jmx0OyFFTlRJVFkgJSBhbGwgJnF1b3Q7Jmx0OyFFTlRJVFkgc2VuZCBTWVNURU0gJiMzOTtodHRwOi8vVlBTLUlQL3VwbG9hZC5waHA/ZmlsZT0lZmlsZTsmIzM5OyZndDsmcXVvdDsmZ3Q7CjwvY29kZT48L3ByZT4KPHA+54S25ZCO5byA5ZCvaHR0cOacjeWKoeWPkWV2aWwueG1sPC9wPgo8cHJlPjxjb2RlPnB5dGhvbiAtbSBodHRwLnNldmVyIDgwCjwvY29kZT48L3ByZT4KPHA+5LygPGNvZGU+aHR0cDovLzEzOS4yMjQuMjMyLjE2MjozMDE0OC9iYWNrZG9vcj9mbmFtZT0uLi8uLi84LjEzNC4yMjEuMTA2L3V0ZjE2ZXhwbG9pdDwvY29kZT48L3A+CjxwPuWwseWPr+S7peaUtuWIsGZsYWfkuoY8L3A+CjxwPjxpbWcgc3JjPSJodHRwczovL25jMC5jZG4uemthcS5jbi9tZC8xOTIzMy85ZDllODcwMGEyMGNmZmFlYzRhN2JmMDBkMTNhYTVhOV85MjYzNi5wbmciIGFsdD0iIj48L3A+
| 用户名 | 金币 | 积分 | 时间 | 理由 |
| Track-魔方 |
100.00 |
0 |
2024-03-03 15:03:27 |
2月份投稿活动奖励结算 首次投稿一篇有效文章 100 |
| Track-魔方 |
400.00 |
0 |
2024-02-29 20:08:01 |
深度 100 普适 200 可读 100 |
Track-魔方
发表于 2024-2-25
评论列表
加载数据中...
Track-魔方
发表于 2024-2-25
评论列表
加载数据中...
____7n
发表于 2024-2-25
评论列表
加载数据中...
Track-魔方
发表于 2024-2-26
评论列表
加载数据中...