探索
Genaiscript

Genaiscript

5分
2,558
内容详情
安装
复制以下命令到你的Client进行配置
注意:您的密钥属于敏感信息,请勿与任何人分享。

IVtBIHllbGxvdyBzcXVhcmUgd2l0aCB0aGUgd29yZCAiZ2VuIiBpbiBsb3dlcmNhc2UgYmxhY2sgbGV0dGVycyBhYm92ZSB0aGUgdXBwZXJjYXNlIGJsYWNrIGxldHRlcnMgIkFJLiJdKC4vZG9jcy9wdWJsaWMvaW1hZ2VzL2Zhdmljb24ucG5nKQoKIyBHZW5BSVNjcmlwdAoKIyMgUHJvbXB0aW5nIGlzIENvZGluZwoKUHJvZ3JhbW1hdGljYWxseSBhc3NlbWJsZSBwcm9tcHRzIGZvciBMTE1zIHVzaW5nIEphdmFTY3JpcHQuIE9yY2hlc3RyYXRlIExMTXMsIHRvb2xzLCBhbmQgZGF0YSBpbiBjb2RlLgoKLSBKYXZhU2NyaXB0IHRvb2xib3ggdG8gd29yayB3aXRoIHByb21wdHMKLSBBYnN0cmFjdGlvbiB0byBtYWtlIGl0IGVhc3kgYW5kIHByb2R1Y3RpdmUKLSBTZWFtbGVzcyBWaXN1YWwgU3R1ZGlvIENvZGUgaW50ZWdyYXRpb24gb3IgZmxleGlibGUgY29tbWFuZCBsaW5lCi0gQnVpbHQtaW4gc3VwcG9ydCBmb3IgR2l0SHViIENvcGlsb3QgYW5kIEdpdEh1YiBNb2RlbHMsIE9wZW5BSSwgQXp1cmUgT3BlbkFJLCBBbnRocm9waWMsIGFuZCBtb3JlCgotIPCfk4QgKipSZWFkIHRoZSBPTkxJTkUgRE9DVU1FTlRBVElPTiBhdCBbbWljcm9zb2Z0LmdpdGh1Yi5pby9nZW5haXNjcmlwdF0oaHR0cHM6Ly9taWNyb3NvZnQuZ2l0aHViLmlvL2dlbmFpc2NyaXB0LykqKgotIPCfk7ogV2F0Y2ggW01yLiBNYWVkYSdzIENvenkgQUkgS2l0Y2hlbl0oaHR0cHM6Ly95b3V0dS5iZS9hakViQW02a2pJNCkKLSDwn5O6IFdhdGNoIGFuIFtpbnRlcnZpZXcgb24gWW91VHViZSB3aXRoIG5pY2t5dF0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1hZVhRMk1KMFllMCkKCi0tLQoKIyMgSGVsbG8gd29ybGQKClNheSB0byB5b3Ugd2FudCB0byBjcmVhdGUgYW4gTExNIHNjcmlwdCB0aGF0IGdlbmVyYXRlcyBhICdoZWxsbyB3b3JsZCcgcG9lbS4gWW91IGNhbiB3cml0ZSB0aGUgZm9sbG93aW5nIHNjcmlwdDoKCmBgYGpzCiRgV3JpdGUgYSAnaGVsbG8gd29ybGQnIHBvZW0uYApgYGAKClRoZSBgJGAgZnVuY3Rpb24gaXMgYSB0ZW1wbGF0ZSB0YWcgdGhhdCBjcmVhdGVzIGEgcHJvbXB0LiBUaGUgcHJvbXB0IGlzIHRoZW4gc2VudCB0byB0aGUgTExNICh5b3UgY29uZmlndXJlZCksIHdoaWNoIGdlbmVyYXRlcyB0aGUgcG9lbS4KCkxldCdzIG1ha2UgaXQgbW9yZSBpbnRlcmVzdGluZyBieSBhZGRpbmcgZmlsZXMsIGRhdGEgYW5kIHN0cnVjdHVyZWQgb3V0cHV0LiBTYXkgeW91IHdhbnQgdG8gaW5jbHVkZSBhIGZpbGUgaW4gdGhlIHByb21wdCwgYW5kIHRoZW4gc2F2ZSB0aGUgb3V0cHV0IGluIGEgZmlsZS4gWW91IGNhbiB3cml0ZSB0aGUgZm9sbG93aW5nIHNjcmlwdDoKCmBgYGpzCi8vIHJlYWQgZmlsZXMKY29uc3QgZmlsZSA9IGF3YWl0IHdvcmtzcGFjZS5yZWFkVGV4dCgiZGF0YS50eHQiKQovLyBpbmNsdWRlIHRoZSBmaWxlIGNvbnRlbnQgaW4gdGhlIHByb21wdCBpbiBhIGNvbnRleHQtZnJpZW5kbHkgd2F5CmRlZigiREFUQSIsIGZpbGUpCi8vIHRoZSB0YXNrCiRgQW5hbHl6ZSBEQVRBIGFuZCBleHRyYWN0IGRhdGEgaW4gSlNPTiBpbiBkYXRhLmpzb24uYApgYGAKClRoZSBgZGVmYCBmdW5jdGlvbiBpbmNsdWRlcyB0aGUgY29udGVudCBvZiB0aGUgZmlsZSwgYW5kIG9wdGltaXplcyBpdCBpZiBuZWNlc3NhcnkgZm9yIHRoZSB0YXJnZXQgTExNLiBHZW5BSVNjcmlwdCBzY3JpcHQgYWxzbyBwYXJzZXMgdGhlIExMTSBvdXRwdXQKYW5kIHdpbGwgZXh0cmFjdCB0aGUgYGRhdGEuanNvbmAgZmlsZSBhdXRvbWF0aWNhbGx5LgoKLS0tCgojIyDwn5qAIFF1aWNrc3RhcnQgR3VpZGUKCkdldCBzdGFydGVkIHF1aWNrbHkgYnkgaW5zdGFsbGluZyB0aGUgW1Zpc3VhbCBTdHVkaW8gQ29kZSBFeHRlbnNpb25dKGh0dHBzOi8vbWljcm9zb2Z0LmdpdGh1Yi5pby9nZW5haXNjcmlwdC9nZXR0aW5nLXN0YXJ0ZWQvaW5zdGFsbGF0aW9uLykgb3IgdXNpbmcgdGhlIFtjb21tYW5kIGxpbmVdKGh0dHBzOi8vbWljcm9zb2Z0LmdpdGh1Yi5pby9nZW5haXNjcmlwdC9nZXR0aW5nLXN0YXJ0ZWQvaW5zdGFsbGF0aW9uKS4KCi0tLQoKIyMg4pyoIEZlYXR1cmVzCgojIyMg8J+OqCBTdHlsaXplZCBKYXZhU2NyaXB0ICYgVHlwZVNjcmlwdAoKQnVpbGQgcHJvbXB0cyBwcm9ncmFtbWF0aWNhbGx5IHVzaW5nIFtKYXZhU2NyaXB0XShodHRwczovL21pY3Jvc29mdC5naXRodWIuaW8vZ2VuYWlzY3JpcHQvcmVmZXJlbmNlL3NjcmlwdHMvKSBvciBbVHlwZVNjcmlwdF0oaHR0cHM6Ly9taWNyb3NvZnQuZ2l0aHViLmlvL2dlbmFpc2NyaXB0L3JlZmVyZW5jZS9zY3JpcHRzL3R5cGVzY3JpcHQpLgoKYGBganMKZGVmKCJGSUxFIiwgZW52LmZpbGVzLCB7IGVuZHNXaXRoOiAiLnBkZiIgfSkKJGBTdW1tYXJpemUgRklMRS4gVG9kYXkgaXMgJHtuZXcgRGF0ZSgpfS5gCmBgYAoKLS0tCgojIyMg8J+agCBGYXN0IERldmVsb3BtZW50IExvb3AKCkVkaXQsIFtEZWJ1Z10oaHR0cHM6Ly9taWNyb3NvZnQuZ2l0aHViLmlvL2dlbmFpc2NyaXB0L2dldHRpbmctc3RhcnRlZC9kZWJ1Z2dpbmctc2NyaXB0cy8pLCBbUnVuXShodHRwczovL21pY3Jvc29mdC5naXRodWIuaW8vZ2VuYWlzY3JpcHQvZ2V0dGluZy1zdGFydGVkL3J1bm5pbmctc2NyaXB0cy8pLCBhbmQgW1Rlc3RdKGh0dHBzOi8vbWljcm9zb2Z0LmdpdGh1Yi5pby9nZW5haXNjcmlwdC9nZXR0aW5nLXN0YXJ0ZWQvdGVzdGluZy1zY3JpcHRzLykgeW91ciBzY3JpcHRzIGluIFtWaXN1YWwgU3R1ZGlvIENvZGVdKGh0dHBzOi8vbWljcm9zb2Z0LmdpdGh1Yi5pby9nZW5haXNjcmlwdC9nZXR0aW5nLXN0YXJ0ZWQvaW5zdGFsbGF0aW9uKSBvciB3aXRoIHRoZSBbY29tbWFuZCBsaW5lXShodHRwczovL21pY3Jvc29mdC5naXRodWIuaW8vZ2VuYWlzY3JpcHQvZ2V0dGluZy1zdGFydGVkL2luc3RhbGxhdGlvbikuCgotLS0KCiMjIyDwn5SXIFJldXNlIGFuZCBTaGFyZSBTY3JpcHRzCgpTY3JpcHRzIGFyZSBbZmlsZXNdKGh0dHBzOi8vbWljcm9zb2Z0LmdpdGh1Yi5pby9nZW5haXNjcmlwdC9yZWZlcmVuY2Uvc2NyaXB0cy8pISBUaGV5IGNhbiBiZSB2ZXJzaW9uZWQsIHNoYXJlZCwgYW5kIGZvcmtlZC4KCmBgYGpzCi8vIGRlZmluZSB0aGUgY29udGV4dApkZWYoIkZJTEUiLCBlbnYuZmlsZXMsIHsgZW5kc1dpdGg6ICIucGRmIiB9KQovLyBzdHJ1Y3R1cmUgdGhlIGRhdGEKY29uc3Qgc2NoZW1hID0gZGVmU2NoZW1hKCJEQVRBIiwgeyB0eXBlOiAiYXJyYXkiLCBpdGVtczogeyB0eXBlOiAic3RyaW5nIiB9IH0pCi8vIGFzc2lnbiB0aGUgdGFzawokYEFuYWx5emUgRklMRSBhbmQgZXh0cmFjdCBkYXRhIHRvIEpTT04gdXNpbmcgdGhlICR7c2NoZW1hfSBzY2hlbWEuYApgYGAKCi0tLQoKIyMjIPCfk4sgRGF0YSBTY2hlbWFzCgpEZWZpbmUsIHZhbGlkYXRlLCBhbmQgcmVwYWlyIGRhdGEgdXNpbmcgW3NjaGVtYXNdKGh0dHBzOi8vbWljcm9zb2Z0LmdpdGh1Yi5pby9nZW5haXNjcmlwdC9yZWZlcmVuY2Uvc2NyaXB0cy9zY2hlbWFzKS4gWm9kIHN1cHBvcnQgYnVpbHRpbi4KCmBgYGpzCmNvbnN0IGRhdGEgPSBkZWZTY2hlbWEoIk1ZX0RBVEEiLCB7IHR5cGU6ICJhcnJheSIsIGl0ZW1zOiB7IC4uLiB9IH0pCiRgRXh0cmFjdCBkYXRhIGZyb20gZmlsZXMgdXNpbmcgJHtkYXRhfSBzY2hlbWEuYApgYGAKCi0tLQoKIyMjIPCfk4QgSW5nZXN0IFRleHQgZnJvbSBQREZzLCBET0NYLCAuLi4KCk1hbmlwdWxhdGUgW1BERnNdKGh0dHBzOi8vbWljcm9zb2Z0LmdpdGh1Yi5pby9nZW5haXNjcmlwdC9yZWZlcmVuY2Uvc2NyaXB0cy9wZGYpLCBbRE9DWF0oaHR0cHM6Ly9taWNyb3NvZnQuZ2l0aHViLmlvL2dlbmFpc2NyaXB0L3JlZmVyZW5jZS9zY3JpcHRzL2RvY3gpLCAuLi4KCmBgYGpzCmRlZigiUERGIiwgZW52LmZpbGVzLCB7IGVuZHNXaXRoOiAiLnBkZiIgfSkKY29uc3QgeyBwYWdlcyB9ID0gYXdhaXQgcGFyc2Vycy5QREYoZW52LmZpbGVzWzBdKQpgYGAKCi0tLQoKIyMjIPCfk4ogSW5nZXN0IFRhYmxlcyBmcm9tIENTViwgWExTWCwgLi4uCgpNYW5pcHVsYXRlIHRhYnVsYXIgZGF0YSBmcm9tIFtDU1ZdKGh0dHBzOi8vbWljcm9zb2Z0LmdpdGh1Yi5pby9nZW5haXNjcmlwdC9yZWZlcmVuY2Uvc2NyaXB0cy9jc3YpLCBbWExTWF0oaHR0cHM6Ly9taWNyb3NvZnQuZ2l0aHViLmlvL2dlbmFpc2NyaXB0L3JlZmVyZW5jZS9zY3JpcHRzL3hsc3gpLCAuLi4KCmBgYGpzCmRlZigiREFUQSIsIGVudi5maWxlcywgeyBlbmRzV2l0aDogIi5jc3YiLCBzbGljZUhlYWQ6IDEwMCB9KQpjb25zdCByb3dzID0gYXdhaXQgcGFyc2Vycy5DU1YoZW52LmZpbGVzWzBdKQpkZWZEYXRhKCJST1dTIiwgcm93cywgeyBzbGljZUhlYWQ6IDEwMCB9KQpgYGAKCi0tLQoKIyMjIPCfk50gR2VuZXJhdGUgRmlsZXMKCkV4dHJhY3QgZmlsZXMgYW5kIGRpZmYgZnJvbSB0aGUgTExNIG91dHB1dC4gUHJldmlldyBjaGFuZ2VzIGluIFJlZmFjdG9yaW5nIFVJLgoKYGBganMKJGBTYXZlIHRoZSByZXN1bHQgaW4gcG9lbS50eHQuYApgYGAKCmBgYHR4dApGSUxFIC4vcG9lbS50eHQKVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZy4KYGBgCgotLS0KCiMjIyDwn5SNIEZpbGUgU2VhcmNoCgpHcmVwIG9yIGZ1enogc2VhcmNoIFtmaWxlc10oaHR0cHM6Ly9taWNyb3NvZnQuZ2l0aHViLmlvL2dlbmFpc2NyaXB0L3JlZmVyZW5jZS9zY3JpcHRzL2ZpbGVzKS4KCmBgYGpzCmNvbnN0IHsgZmlsZXMgfSA9IGF3YWl0IHdvcmtzcGFjZS5ncmVwKC9bYS16XVthLXowLTldKy8sIHsgZ2xvYnM6ICIqLm1kIiB9KQpgYGAKCi0tLQoKIyMgQ2xhc3NpZnkKCkNsYXNzaWZ5IHRleHQsIGltYWdlcyBvciBhIG1peCBvZiBhbGwuCgpgYGBqcwpjb25zdCBqb2tlID0gYXdhaXQgY2xhc3NpZnkoCiAgICAiV2h5IGRpZCB0aGUgY2hpY2tlbiBjcm9zcyB0aGUgcm9hcmQ/IFRvIGZyeSBpbiB0aGUgc3VuLiIsCiAgICB7CiAgICAgICAgeWVzOiAiZnVubnkiLAogICAgICAgIG5vOiAibm90IGZ1bm55IiwKICAgIH0KKQpgYGAKCiMjIyBMTE0gVG9vbHMKClJlZ2lzdGVyIEphdmFTY3JpcHQgZnVuY3Rpb25zIGFzIFt0b29sc10oaHR0cHM6Ly9taWNyb3NvZnQuZ2l0aHViLmlvL2dlbmFpc2NyaXB0L3JlZmVyZW5jZS9zY3JpcHRzL3Rvb2xzKQood2l0aCBmYWxsYmFjayBmb3IgbW9kZWxzIHRoYXQgRG8gbm90IHN1cHBvcnQgdG9vbHMpLiBbTW9kZWwgQ29udGV4dCBQcm90b2NvbCAoTUNQKSB0b29sc10oaHR0cHM6Ly9taWNyb3NvZnQuZ2l0aHViLmlvL2dlbmFpc2NyaXB0L3JlZmVyZW5jZS9zY3JpcHRzL21jcC10b29scykgYXJlIGFsc28gc3VwcG9ydGVkLgoKYGBganMKZGVmVG9vbCgKICAgICJ3ZWF0aGVyIiwKICAgICJxdWVyeSBhIHdlYXRoZXIgd2ViIGFwaSIsCiAgICB7IGxvY2F0aW9uOiAic3RyaW5nIiB9LAogICAgYXN5bmMgKGFyZ3MpID0+CiAgICAgICAgYXdhaXQgZmV0Y2goYGh0dHBzOi8vd2VhdGhlci5hcGkuYXBpLz9sb2NhdGlvbj0ke2FyZ3MubG9jYXRpb259YCkKKQpgYGAKCi0tLQoKIyMjIExMTSBBZ2VudHMKClJlZ2lzdGVyIEphdmFTY3JpcHQgZnVuY3Rpb25zIGFzICoqdG9vbHMqKiBhbmQgY29tYmluZSB0b29scyArIHByb21wdCBpbnRvIGFnZW50cy4KCmBgYGpzCmRlZkFnZW50KAogICAgImdpdCIsCiAgICAiUXVlcnkgYSByZXBvc2l0b3J5IHVzaW5nIEdpdCB0byBhY2NvbXBsaXNoIHRhc2tzLiIsCiAgICBgWW91ciBhcmUgYSBoZWxwZnVsIExMTSBhZ2VudCB0aGF0IGNhbiB1c2UgdGhlIGdpdCB0b29scyB0byBxdWVyeSB0aGUgY3VycmVudCByZXBvc2l0b3J5LgogICAgQW5zd2VyIHRoZSBxdWVzdGlvbiBpbiBRVUVSWS4KICAgIC0gVGhlIGN1cnJlbnQgcmVwb3NpdG9yeSBpcyB0aGUgc2FtZSBhcyBnaXRodWIgcmVwb3NpdG9yeS5gLAogICAgeyBtb2RlbCwgc3lzdGVtOiBbInN5c3RlbS5naXRodWJfaW5mbyJdLCB0b29sczogWyJnaXQiXSB9CikKYGBgCgp0aGVuIHVzZSBpdCBhcyBhIHRvb2wKCmBgYGpzCnNjcmlwdCh7IHRvb2xzOiAiYWdlbnRfZ2l0IiB9KQoKJGBEbyBhIHN0YXRpc3RpY2FsIGFuYWx5c2lzIG9mIHRoZSBsYXN0IGNvbW1pdHNgCmBgYAoKU2VlIHRoZSBbZ2l0IGFnZW50IHNvdXJjZV0oaHR0cHM6Ly9naXRodWIuY29tL21pY3Jvc29mdC9nZW5haXNjcmlwdC9ibG9iL21haW4vcGFja2FnZXMvY2xpL2dlbmFpc3JjL3N5c3RlbS5hZ2VudF9naXQuZ2VuYWkubXRzKS4KCi0tLQoKIyMjIPCflI0gUkFHIEJ1aWx0LWluCgpbVmVjdG9yIHNlYXJjaF0oaHR0cHM6Ly9taWNyb3NvZnQuZ2l0aHViLmlvL2dlbmFpc2NyaXB0L3JlZmVyZW5jZS9zY3JpcHRzL3ZlY3Rvci1zZWFyY2gvKS4KCmBgYGpzCmNvbnN0IHsgZmlsZXMgfSA9IGF3YWl0IHJldHJpZXZhbC52ZWN0b3JTZWFyY2goImNhdHMiLCAiKiovKi5tZCIpCmBgYAoKLS0tCgojIyMg8J+QmSBHaXRIdWIgTW9kZWxzIGFuZCBHaXRIdWIgQ29waWxvdAoKUnVuIG1vZGVscyB0aHJvdWdoIFtHaXRIdWIgTW9kZWxzXShodHRwczovL21pY3Jvc29mdC5naXRodWIuaW8vZ2VuYWlzY3JpcHQvZ2V0dGluZy1zdGFydGVkL2NvbmZpZ3VyYXRpb24jZ2l0aHViKSBvciBbR2l0SHViIENvcGlsb3RdKGh0dHBzOi8vbWljcm9zb2Z0LmdpdGh1Yi5pby9nZW5haXNjcmlwdC9nZXR0aW5nLXN0YXJ0ZWQvY29uZmlndXJhdGlvbi8jZ2l0aHViX2NvcGlsb3RfY2hhdCkuCgpgYGBqcwpzY3JpcHQoeyAuLi4sIG1vZGVsOiAiZ2l0aHViOmdwdC00byIgfSkKYGBgCgotLS0KCiMjIyDwn5K7IExvY2FsIE1vZGVscwoKUnVuIHlvdXIgc2NyaXB0cyB3aXRoIFtPcGVuIFNvdXJjZSBtb2RlbHNdKGh0dHBzOi8vbWljcm9zb2Z0LmdpdGh1Yi5pby9nZW5haXNjcmlwdC9nZXR0aW5nLXN0YXJ0ZWQvY29uZmlndXJhdGlvbi8pLCBsaWtlIFtQaGktM10oaHR0cHM6Ly9henVyZS5taWNyb3NvZnQuY29tL2VuLXVzL2Jsb2cvaW50cm9kdWNpbmctcGhpLTMtcmVkZWZpbmluZy13aGF0cy1wb3NzaWJsZS13aXRoLXNsbXMvKSwgdXNpbmcgW09sbGFtYV0oaHR0cHM6Ly9vbGxhbWEuY29tLyksIFtMb2NhbEFJXShodHRwczovL2xvY2FsYWkuaW8vKS4KCmBgYGpzCnNjcmlwdCh7IC4uLiwgbW9kZWw6ICJvbGxhbWE6cGhpMyIgfSkKYGBgCgotLS0KCiMjIyDwn5CNIENvZGUgSW50ZXJwcmV0ZXIKCkxldCB0aGUgTExNIHJ1biBjb2RlIGluIGEgc2FuZGJveGVkIGV4ZWN1dGlvbiBlbnZpcm9ubWVudC4KCmBgYGpzCnNjcmlwdCh7IHRvb2xzOiBbInB5dGhvbl9jb2RlX2ludGVycHJldGVyIl0gfSkKYGBgCgotLS0KCiMjIyDwn5CzIENvbnRhaW5lcnMKClJ1biBjb2RlIGluIERvY2tlciBbY29udGFpbmVyc10oaHR0cHM6Ly9taWNyb3NvZnQuZ2l0aHViLmlvL2dlbmFpc2NyaXB0L3JlZmVyZW5jZS9zY3JpcHRzL2NvbnRhaW5lcikuCgpgYGBqcwpjb25zdCBjID0gYXdhaXQgaG9zdC5jb250YWluZXIoeyBpbWFnZTogInB5dGhvbjphbHBpbmUiIH0pCmNvbnN0IHJlcyA9IGF3YWl0IGMuZXhlYygicHl0aG9uIC0tdmVyc2lvbiIpCmBgYAoKLS0tCgojIyMgVmlkZW8gcHJvY2Vzc2luZwoKVHJhbnNjcmliZSBhbmQgc2NyZWVuc2hvdCB5b3VyIHZpZGVvcyBzbyB0aGF0IHlvdSBjYW4gZmVlZCB0aGVtIGVmZmljaWVudGx5IGluIHlvdXIgTExNcyByZXF1ZXN0cy4KCmBgYGpzCi8vIHRyYW5zY3JpYmUKY29uc3QgdHJhbnNjcmlwdCA9IGF3YWl0IHRyYW5zY3JpcHQoInBhdGgvdG8vYXVkaW8ubXAzIikKLy8gc2NyZWVuc2hvdHMgYXQgc2VnbWVudHMKY29uc3QgZnJhbWVzID0gYXdhaXQgZmZtcGVnLmV4dHJhY3RGcmFtZXMoInBhdGhfdXJsX3RvX3ZpZGVvIiwgeyB0cmFuc2NyaXB0IH0pCmRlZigiVFJBTlNDUklQVCIsIHRyYW5zY3JpcHQpCmRlZigiRlJBTUVTIiwgZnJhbWVzKQpgYGAKCiMjIyDwn6epIExMTSBDb21wb3NpdGlvbgoKW1J1biBMTE1zXShodHRwczovL21pY3Jvc29mdC5naXRodWIuaW8vZ2VuYWlzY3JpcHQvcmVmZXJlbmNlL3NjcmlwdHMvaW5saW5lLXByb21wdHMvKSB0byBidWlsZCB5b3VyIExMTSBwcm9tcHRzLgoKYGBganMKZm9yIChjb25zdCBmaWxlIG9mIGVudi5maWxlcykgewogICAgY29uc3QgeyB0ZXh0IH0gPSBhd2FpdCBydW5Qcm9tcHQoKF8pID0+IHsKICAgICAgICBfLmRlZigiRklMRSIsIGZpbGUpCiAgICAgICAgXy4kYFN1bW1hcml6ZSB0aGUgRklMRS5gCiAgICB9KQogICAgZGVmKCJTVU1NQVJZIiwgdGV4dCkKfQokYFN1bW1hcml6ZSBhbGwgdGhlIHN1bW1hcmllcy5gCmBgYAoKLS0tCgojIyMg8J+Fv++4jyBQcm9tcHR5IHN1cHBvcnQKClJ1biB5b3VyIFtQcm9tcHR5XShodHRwczovL3Byb21wdHkuYWkpIGZpbGVzIGFzIHdlbGwhCgpgYGBtYXJrZG93bgotLS0KbmFtZTogcG9lbQotLS0KCldyaXRlIG1lIGEgcG9lbQpgYGAKCi0tLQoKIyMjIFBsdWdnYWJsZSBTZWNyZXQgU2Nhbm5pbmcKClNjYW4geW91ciBjaGF0cyBmb3Igc2VjcmV0cyB1c2luZyBbc2VjcmV0IHNjYW5uaW5nXSgvZ2VuYWlzY3JpcHQvcmVmZXJlbmNlL3NjcmlwdHMvc2VjcmV0LXNjYW5uaW5nKS4KCmBgYGpzb24KewogICAgInNlY3JldFBhdHRlcm5zIjogewogICAgICAgIC4uLiwKICAgICAgICAiT3BlbkFJIEFQSSBLZXkiOiAic2stW0EtWmEtejAtOV17MzIsNDh9IgogICAgfQp9CmBgYAoKIyMjIOKamSBBdXRvbWF0ZSB3aXRoIENMSSBvciBBUEkKCkF1dG9tYXRlIHVzaW5nIHRoZSBbQ0xJXShodHRwczovL21pY3Jvc29mdC5naXRodWIuaW8vZ2VuYWlzY3JpcHQvcmVmZXJlbmNlL2NsaSkgb3IgW0FQSV0oaHR0cHM6Ly9taWNyb3NvZnQuZ2l0aHViLmlvL2dlbmFpc2NyaXB0L3JlZmVyZW5jZS9jbGkvYXBpKS4KCmBgYGJhc2gKbnB4IGdlbmFpc2NyaXB0IHJ1biB0bGFwbHVzLWxpbnRlciAiKi50bGEiCmBgYAoKYGBganMKaW1wb3J0IHsgcnVuIH0gZnJvbSAiZ2VuYWlzY3JpcHQvYXBpIgoKY29uc3QgcmVzID0gYXdhaXQgcnVuKCJ0bGFwbHVzLWxpbnRlciIsICIqLnRsYSIpCmBgYAoKLS0tCgojIyMgU2FmZXR5IEZpcnN0IQoKR2VuQUlTY3JpcHQgcHJvdmlkZXMgYnVpbHQtaW4gUmVzcG9uc2libGUgQUkgc3lzdGVtIHByb21wdHMgYW5kIEF6dXJlIENvbnRlbnQgU2FmZXR5IHN1cHBvcnRzCnRvIHZhbGlkYXRlIFtjb250ZW50IHNhZmV0eV0oaHR0cHM6Ly9taWNyb3NvZnQuZ2l0aHViLmlvL2dlbmFpc2NyaXB0L3JlZmVyZW5jZS9zY3JpcHRzL2NvbnRlbnQtc2FmZXR5KS4KCmBgYGpzIHdyYXAKc2NyaXB0KHsgLi4uLAogICAgc3lzdGVtOiBbInN5c3RlbS5zYWZldHlfaGFybWZ1bF9jb250ZW50IiwgLi4uXSwKICAgIGNvbnRlbnRTYWZldHk6ICJhenVyZSIgLy8gdXNlIGF6dXJlIGNvbnRlbnQgc2FmZXR5Cn0pCgpjb25zdCBzYWZldHkgPSBhd2FpdCBob3N0LmNvbnRlbnRTYWZldHkoKQpjb25zdCByZXMgPSBhd2FpdCBzYWZldHkuZGV0ZWN0UHJvbXB0SW5qZWN0aW9uKGVudi52YXJzLmlucHV0KQpgYGAKCi0tLQoKIyMjIPCfkqwgUHVsbCBSZXF1ZXN0IFJldmlld3MKCkludGVncmF0ZSBpbnRvIHlvdXIgW1B1bGwgUmVxdWVzdHMgY2hlY2tzXShodHRwczovL21pY3Jvc29mdC5naXRodWIuaW8vZ2VuYWlzY3JpcHQvcmVmZXJlbmNlL2NsaS9ydW4vI3B1bGwtcmVxdWVzdHMpIHRocm91Z2ggY29tbWVudHMsIHJldmlld3MsIG9yIGRlc2NyaXB0aW9uIHVwZGF0ZXMuIFN1cHBvcnRzIEdpdEh1YiBBY3Rpb25zIGFuZCBBenVyZSBEZXZPcHMgcGlwZWxpbmVzLgoKYGBgYmFzaCB3cmFwCm5weCBnZW5haXNjcmlwdCAuLi4gLS1wdWxsLXJlcXVlc3QtcmV2aWV3cwpgYGAKCi0tLQoKIyMjIOKtkCBUZXN0cyBhbmQgRXZhbHMKCkJ1aWxkIHJlbGlhYmxlIHByb21wdHMgdXNpbmcgW3Rlc3RzIGFuZCBldmFsc10oaHR0cHM6Ly9taWNyb3NvZnQuZ2l0aHViLmlvL2dlbmFpc2NyaXB0L3JlZmVyZW5jZS9zY3JpcHRzL3Rlc3RzKSBwb3dlcmVkIGJ5IFtwcm9tcHRmb29dKGh0dHBzOi8vcHJvbXB0Zm9vLmRldi8pLgoKYGBganMgd3JhcApzY3JpcHQoeyAuLi4sIHRlc3RzOiB7CiAgZmlsZXM6ICJwZW5ndWlucy5jc3YiLAogIHJ1YnJpYzogImlzIGEgZGF0YSBhbmFseXNpcyByZXBvcnQiLAogIGZhY3RzOiAiVGhlIGRhdGEgcmVmZXJzIGFib3V0IHBlbmd1aW4gcG9wdWxhdGlvbiBpbiBBbnRhcmN0aWNhLiIsCn19KQpgYGAKCi0tLQoKIyMjIExMTSBmcmllbmRseSBkb2NzCgpUaGUgZW50aXJlIGNvbnRlbnQgb2YgdGhlIGRvY3MgaXMgcmVuZGVyZWQgYXQgaHR0cHM6Ly9taWNyb3NvZnQuZ2l0aHViLmlvL2dlbmFpc2NyaXB0L2xsbXMtZnVsbC50eHQgaW4gbWFya2Rvd24uIEZlZWQgaXQgZGlyZWN0bHkgaW50byB5b3VyIGZhdm9yaXRlIFJBRyBzeXN0ZW0uCgpJZiB5b3UgYXJlIGFuIExMTSBjcmF3bGVyLCBhZGQgdGhlIGAubWRgIHN1ZmZpeCB0byBhbnkgZG9jdW1lbnRhdGlvbiBVUkxzIHRvIGdldCBhIHJhdyBtYXJrZG93biBjb250ZW50LiBGb3IgZXhhbXBsZSwgaHR0cHM6Ly9taWNyb3NvZnQuZ2l0aHViLmlvL2dlbmFpc2NyaXB0L2d1aWRlcy9wcm9tcHQtYXMtY29kZS5tZCAobm90ZSB0aGUgLm1kIGV4dGVuc2lvbikKCiMjIENvbnRyaWJ1dGluZwoKV2UgYWNjZXB0IGNvbnRyaWJ1dGlvbnMhIENoZWNrb3V0IHRoZSBbQ09OVFJJQlVUSU5HXSguL0NPTlRSSUJVVElORy5tZCkgcGFnZSBmb3IgZGV0YWlscyBhbmQgZGV2ZWxvcGVyIHNldHVwLgoKLS0tCgojIyBUcmFkZW1hcmtzCgpUaGlzIHByb2plY3QgbWF5IGNvbnRhaW4gdHJhZGVtYXJrcyBvciBsb2dvcyBmb3IgcHJvamVjdHMsIHByb2R1Y3RzLCBvciBzZXJ2aWNlcy4gQXV0aG9yaXplZCB1c2Ugb2YgTWljcm9zb2Z0CnRyYWRlbWFya3Mgb3IgbG9nb3MgaXMgc3ViamVjdCB0byBhbmQgbXVzdCBmb2xsb3cKW01pY3Jvc29mdCdzIFRyYWRlbWFyayAmIEJyYW5kIEd1aWRlbGluZXNdKGh0dHBzOi8vd3d3Lm1pY3Jvc29mdC5jb20vZW4tdXMvbGVnYWwvaW50ZWxsZWN0dWFscHJvcGVydHkvdHJhZGVtYXJrcy91c2FnZS9nZW5lcmFsKS4KVXNlIG9mIE1pY3Jvc29mdCB0cmFkZW1hcmtzIG9yIGxvZ29zIGluIG1vZGlmaWVkIHZlcnNpb25zIG9mIHRoaXMgcHJvamVjdCBtdXN0IG5vdCBjYXVzZSBjb25mdXNpb24gb3IgaW1wbHkgTWljcm9zb2Z0IHNwb25zb3JzaGlwLgpBbnkgdXNlIG9mIHRoaXJkLXBhcnR5IHRyYWRlbWFya3Mgb3IgbG9nb3MgYXJlIHN1YmplY3QgdG8gdGhvc2UgdGhpcmQtcGFydHkncyBwb2xpY2llcy4K