![]() ![]() |
||
![]() |
![]() |
|
![]() |
[wingide-users] Problems with Wing 1.1.5Stephan R.A. Deibel sdeibel@wingide.comWed, 26 Jun 2002 11:06:04 -0400 (EDT)
This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ---1463760895-1414624310-1025103964=:1367 Content-Type: TEXT/PLAIN; charset=US-ASCII On 26 Jun 2002, Fredrik Juhlin wrote: > I just installed the 1.1.5 release of Wing, but ran into trouble when I > tried to use the debugger. It seems that sys.argv contains the path of > the file twice, like so (from the debug probe): We're rebuilding the release to fix this (will be 1.1.5-2). If you're in a rush, the attached copy of wingdb.py can be tossed into 'bin' inside your Wing IDE installation. Sorry about that. - Stephan ------------------------------------------------------------------------ Wing IDE for Python Archaeopteryx Software, Inc www.wingide.com Take Flight! ---1463760895-1414624310-1025103964=:1367 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="wingdb.py" Content-Transfer-Encoding: BASE64 Content-ID: <Pine.LNX.4.30.0206261106040.1367@pangolin.wingide.com> Content-Description: Content-Disposition: attachment; filename="wingdb.py" IyEvdXNyL2Jpbi9lbnYgcHl0aG9uDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjDQoiIiIgd2luZ2RiLnB5ICAgIC0tIFRvcC1sZXZlbCBjb21tYW5k IGxpbmUgZm9yIG5ldHdvcmtlZCBkZWJ1ZyBzZXJ2ZXIgDQogICAgICAgICAg ICAgICAgICAgIHRoYXQgc3VwcG9ydHMgcmVtb3RlIGludm9jYXRpb24gYW5k IGNvbnRyb2wgDQogICAgICAgICAgICAgICAgICAgIG9mIGEgZGVidWcgcHJv Y2Vzcy4gIE9yaWdpbmFsbHkgZGVzaWduZWQgdG8gYmUNCiAgICAgICAgICAg ICAgICAgICAgaW52b2tlZCBmcm9tIHRoZSBjb21tYW5kIGxpbmUgYnkgdGhl IHVzZXIsIHRoaXMNCiAgICAgICAgICAgICAgICAgICAgaXMgbm93IG9ubHkg dXNlZCBpbnRlcm5hbGx5LiAgVXNlIHdpbmdkYnN0dWIgaWYNCiAgICAgICAg ICAgICAgICAgICAgeW91IHdhbnQgdG8gc3RhcnQgYSBkZWJ1ZyBwcm9jZXNz IG91dHNpZGUgb2YNCiAgICAgICAgICAgICAgICAgICAgV2luZyBJREUuDQoN CkNvcHlyaWdodCAoYykgMjAwMC0yMDAxLCBBcmNoYWVvcHRlcnl4IFNvZnR3 YXJlLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLg0KDQpXcml0dGVuIGJ5 IFN0ZXBoYW4gUi5BLiBEZWliZWwgYW5kIEpvaG4gUC4gRWhyZXNtYW4NCg0K IiIiDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQoNCmltcG9ydCBv cw0KaW1wb3J0IHN5cw0KaW1wb3J0IHN0cmluZw0KDQojIFNldCB0byB0cnVl IHRvIGFsd2F5cyBwcmludCB0cmFjZWJhY2tzIHRvIHN5cy5fX3N0ZGVycl9f DQprUHJpbnRBbGxUcmFjZWJhY2tzID0gMA0KDQojIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjDQojIFRlbXBvcmFyeSwgaW4tbWVtb3J5IGxvZ2dlcjsg dXNlZCB1bnRpbCB3ZSBrbm93IHdoZXJlIHRvIHNlbmQgdGhlIG1lc3NhZ2Vz DQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQpjbGFzcyBDVGVtcExv ZzoNCiAgIiIiIFRlbXBvcmFyaWx5IGxvZyBtZXNzYWdlcyB0byBhIGxpc3Qu ICIiIg0KDQogIGRlZiBfX2luaXRfXyhzZWxmKToNCiAgICBzZWxmLmZFbnRy aWVzID0gW10NCiAgICANCiAgZGVmIG91dChzZWxmLCAqYXJncyk6DQogICAg IiIiIFNhdmUgbXNnIGluIGZFbnRyaWVzICIiIg0KICAgIA0KICAgIGFyZ3Mg PSBtYXAoc3RyLCBhcmdzKQ0KICAgIHNlbGYud3JpdGUoc3RyaW5nLmpvaW4o YXJncykpDQogICAgDQogIGRlZiB3cml0ZShzZWxmLCBtc2cpOg0KICAgICIi IiBTYXZlIG1zZyBpbiBmRW50cmllcyAiIiINCiAgICANCiAgICBpZiBtc2db LTE6XSA9PSAnXG4nOg0KICAgICAgbXNnID0gbXNnWzotMV0NCiAgICBzZWxm LmZFbnRyaWVzLmFwcGVuZChtc2cpDQogICAgDQogIGRlZiB3cml0ZV9lbnRy aWVzKHNlbGYsIGxvZyk6DQogICAgIiIiIFdyaXRlIGZFbnRyaWVzIHRvIG91 dCBvYmplY3QgdmlhIGl0J3Mgb3V0IG1ldGhvZC4gIiIiDQogICAgDQogICAg Zm9yIGVudHJ5IGluIHNlbGYuZkVudHJpZXM6DQogICAgICBsb2cub3V0KGVu dHJ5KQ0KDQogIGRlZiBjbGVhcihzZWxmKToNCiAgICAiIiIgQ2xlYXIgYWxs IGVudHJpZXMuICIiIg0KICAgIA0KICAgIHNlbGYuZkVudHJpZXMgPSBbXQ0K ICANCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiMgQXJndW1lbnQg cGFyc2luZw0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KDQprQXJn cyA9ICgnaG9zdDpwb3J0JywgICc8YXR0YWNocG9ydD4nLCAnPHN0b3AgYXJn PicgLCc8c2lsZW50IGFyZz4nLCAnPGxvZ2ZpbGU+JywNCiAgICAgICAgICc8 d2FpdCBhcmc+JywgJzxwcm9ncmFtPicsICdbYXJnXSonKQ0Ka1VzYWdlUHJl Zml4ID0gIlVzYWdlOiB3aW5nZGIucHkiDQojIE1lc3NhZ2Ugb2YgaG93IHRv IGdldCBoZWxwDQpnZXRfaGVscF9tc2cgPSAid2luZ2RiLnB5OiBUeXBlICd3 aW5nZGIucHkgaGVscCcgZm9yIHVzYWdlIGluZm9cbiINCg0KZGVmIF9HZXRV c2FnZUFyZ1BvcyhhcmdfaW5kZXgpOg0KICAiIiIgUmV0dXJucyAoc3RhcnQs IGVuZCkgdHVwbGUgY29udGFpbmluZyBzdGFydCAmIGVuZCBwb3NpdGlvbnMg Zm9yIGFyZ3VtZW50DQogIGluIHVzYWdlIHN0cmluZy4gIiIiDQogIA0KICBp ZiBhcmdfaW5kZXggPT0gMToNCiAgICBzdGFydF9wb3MgPSBsZW4oa1VzYWdl UHJlZml4KSArIDENCiAgZWxzZToNCiAgICBzdGFydF9wb3MgPSBsZW4oa1Vz YWdlUHJlZml4KSArIDEgKyBsZW4oc3RyaW5nLmpvaW4oa0FyZ3NbOmFyZ19p bmRleCAtIDFdKSkgKyAxDQogIGVuZF9wb3MgPSBzdGFydF9wb3MgKyBsZW4o a0FyZ3NbYXJnX2luZGV4IC0gMV0pDQogIHJldHVybiBzdGFydF9wb3MsIGVu ZF9wb3MNCiAgDQpkZWYgX1ByaW50VXNhZ2UoZXJyLCBhcmdfaW5kZXggPSBO b25lLCBnZXRfaGVscCA9IDEpOg0KDQogIHVzYWdlX3N0ciA9IGtVc2FnZVBy ZWZpeCArICcgJyArIHN0cmluZy5qb2luZmllbGRzKGtBcmdzLCAnICcpDQog IGVyci53cml0ZSh1c2FnZV9zdHIgKyAnXG4nKQ0KICBpZiBhcmdfaW5kZXgg IT0gTm9uZToNCiAgICBzdGFydF9wb3MsIGVuZF9wb3MgPSBfR2V0VXNhZ2VB cmdQb3MoYXJnX2luZGV4KQ0KICAgIGlmIGxlbihzeXMuYXJndikgPD0gYXJn X2luZGV4Og0KICAgICAgcHJlZml4ID0gJ1JlcXVpcmVkIGFyZ3MnDQogICAg ICBlbmRfcG9zID0gbGVuKHVzYWdlX3N0cikNCiAgICBlbHNlOg0KICAgICAg cHJlZml4ID0gJ0ludmFsaWQgYXJnJw0KDQogICAgYXJnX3N0ciA9IHByZWZp eCArICgnICcgKiAoc3RhcnRfcG9zIC0gbGVuKHByZWZpeCkpKSArICgnXicg KiAoZW5kX3BvcyAtIHN0YXJ0X3BvcykpDQogICAgZXJyLndyaXRlKGFyZ19z dHIgKyAnXG4nKQ0KICAgICAgDQogIGlmIGdldF9oZWxwOg0KICAgIGVyci53 cml0ZShnZXRfaGVscF9tc2cpDQogICAgICAgICAgDQpkZWYgX1ByaW50SGVs cChlcnIpOg0KICBlcnIud3JpdGUoIiIiDQpUaGlzIGlzIHRoZSBzYW1lIGFz IGV4ZWN1dGluZyAnPHByb2dyYW0+IFthcmddKicgb24gdGhlIGNvbW1hbmQg bGluZQ0KZXhjZXB0IHRoYXQgdGhlIHByb2dyYW0gaXMgcnVuIGluIHRoZSBB cmNoYWVvcHRlcnl4IFdpbmcgZGVidWdnZXIuDQoNCkhvc3Q6cG9ydCBpbmRp Y2F0ZSBsb2NhdGlvbiB3aGVyZSB0aGUgcHJldmlvdXNseSBzdGFydGVkIGRl YnVnIGNsaWVudCANCihXaW5nIElERSkgaXMgbGlzdGVuaW5nIGZvciByZXZl cnNlIGNvbm5lY3Rpb24gZnJvbSB0aGlzIHNlcnZlci4NCg0KPGF0dGFjaHBv cnQ+IGlzIHRoZSBwb3J0IG9uIHdoaWNoIHRoZSBkZWJ1ZyBzZXJ2ZXIgd2ls bCBsaXN0ZW4gZm9yIGNsaWVudA0KcmVxdWVzdHMgdG8gYXR0YWNoIHRvIGFu IGFscmVhZHktcnVubmluZyBwcm9jZXNzIHdoZW4gaXQgZmFpbHMgdG8NCmF0 dGFjaCBpbml0aWFsbHkgdG8gdGhlIGdpdmVuIGRlYnVnIGhvc3QvcG9ydC4g IE5vdGUgdGhhdCB0aGlzIHJlcXVpcmVzDQp0aGF0IHRoZSAud2luZ2RlYnVn cHcgZmlsZSBpcyBwcmVzZW50LCBvciBhbGwgYXR0YWNoIHJlcXVlc3RzIHdp bGwNCmJlIHJlZnVzZWQuDQoNCjxzdG9wIGFyZz4gaXMgb25lIG9mIC0tZmly c3Qtc3RvcCB0byBzdG9wIG9uIHRoZSBmaXJzdCBsaW5lIG9mIHRoZQ0KZGVi dWcgcHJvZ3JhbSwgb3IgLS1uby1maXJzdC1zdG9wIHRvIHJ1biB0byBmaXJz dCBicmVha3BvaW50IG9yDQpjb21wbGV0aW9uLg0KDQo8c2lsZW50IGFyZz4g aXMgb25lIG9mIC0tc2lsZW50IHRvIHJ1biBzaWxlbnRseSB3aXRob3V0IGFu eSBleHRyYQ0Kb3V0cHV0IChvdGhlciB0aGFuIHRoYXQgd2hpY2ggeW91ciBw cm9ncmFtIHByb2R1Y2VzKSwgLS12ZXJib3NlDQp0byBpbmNsdWRlIGRlYnVn Z2VyIHN0YXR1cyBtZXNzYWdlcy4NCg0KPGxvZ2ZpbGU+IGlzIGEgZmlsZSBu YW1lIGluIHdoaWNoIHRvIGxvZyBleHRyYSBlcnJvciBvdXRwdXQuICBQYXNz DQotIG5vdCB0byBsb2cgdG8gYSBmaWxlLiAgT3RoZXJ3aXNlIHBhc3MgYSBQ eXRob24gZXhwcmVzc2lvbiB0aGF0IGNhbg0KYmUgcGFyc2VkIGJ5IGV2YWwo KS4gIFRoaXMgYXZvaWRzIHByb2JsZW1zIHdpdGggc3BlY2lhbCBjaGFycw0K aW4gZmlsZSBuYW1lcy4gIEZvciBleGFtcGxlLCAicidteWxvZyciIGlzIGEg dmFsaWQgdmFsdWUuICBUaGUgZmlsZSANCmlzIG5vdCBjcmVhdGVkIGlmIGl0 IGRvZXNuJ3QgZXhpc3QgYWxyZWFkeS4gIElmIC0tc2lsZW50IHdhcyBnaXZl biANCmluIHRoZSBwcmV2aW91cyBhcmd1bWVudCwgbG9nZ2luZyB3aWxsIHN0 aWxsIG9jY3VyIHRvIGZpbGUgaWYgb25lIGlzIGdpdmVuLg0KDQo8d2FpdCBh cmc+IGlzIG9uZSBvZiAtLXdhaXQtb24tZXhpdCBvciAtLW5vd2FpdC1vbi1l eGl0LiAgV2hlbiBzZXQgdG8NCndhaXQtb24tZXhpdCwgdGhlIGRlYnVnZ2Vy IHdpbGwgd2FpdCBmb3IgdXNlciB0byBoaXQgYSBrZXkgYmVmb3JlIGV4aXRp bmcNCmVudGlyZWx5ICh0aGlzIGlzIHVzZWZ1bCBzbyBvdXRwdXQgZG9lc24n dCBkaXNhcHBlYXIgaW1tZWRpYXRlbHkpLg0KDQo8cHJvZ3JhbT4gbXVzdCBi ZSBhIFB5dGhvbiBleHByZXNzaW9uIHRoYXQgY2FuIGJlIHBhc3NlZCB0byBl dmFsKCkgKHRoaXMgDQppcyB1c2VkIHRvIGF2b2lkIHByb2JsZW1zIHdpdGgg c3BlY2lhbCBjaGFyYWN0ZXJzIGluIGZpbGUgbmFtZXMpLiBGb3INCmV4YW1w bGUsICJyJ3Byb2dyYW0ucHknIiBpcyBhIHZhbGlkIHZhbHVlLg0KDQpUaGUg cHJvZ3JhbSBpcyBzdGFydGVkIGltbWVkaWF0ZWx5IHdpdGggZ2l2ZW4gYXJn dW1lbnRzIGFuZCB0aGUNCmRlYnVnIHNlc3Npb24gd2lsbCBiZSBlbmRlZCBh cyBzb29uIGFzIHRoZSBzY3JpcHQgaGFzIGV4aXRlZC4gIFRoaXMgbW9kZQ0K aXMgYXBwcm9wcmlhdGUgZm9yIGRlYnVnZ2luZyBleHRlcm5hbGx5IHRyaWdn ZXJlZCBwcm9ncmFtcywgc3VjaCBhcyBDR0kNCnNjcmlwdHMgZm9yIHdlYiBz ZXJ2aWNlcy4gIE5vdGUgdGhhdCBmYWlsdXJlIHRvIGNvbm5lY3QgdG8gdGhl IElERSBpbiB0aGlzDQptb2RlIHdpbGwgcmVzdWx0IGluIHJ1bm5pbmcgdGhl IHByb2dyYW0gc3RhbmQtYWxvbmUgd2l0aG91dCBkZWJ1Z2dpbmcgaXQuDQog ICIiIikNCiAgDQpkZWYgX1BhcnNlU2luZ2xlQXJnKGVyciwgYXJnX2luZGV4 LCBmdW5jID0gTm9uZSwgY2hvaWNlcyA9IE5vbmUpOg0KICAiIiIgUGFyc2Ug YSBzaW5nbGUgYXJnIGZyb20gYXJndjsgcHJpbnQgdXNhZ2UgaWYgYXJnIGlz IGluY29ycmVjdC4gIEFwcGxpZXMNCiAgZnVuYyB0byB0aGUgdmFsdWUgaWYg ZnVuYyBpcyBub3QgTm9uZSBhbmQgbG9vayB1cCB2YWx1ZSBpbiBjaG9pY2Vz IG1hcA0KICBpZiBjaG9pY2VzIGlzIG5vdCBOb25lLiAiIiINCg0KICB0cnk6 DQogICAgdmFsdWUgPSBzeXMuYXJndlthcmdfaW5kZXhdDQoNCiAgICAjIFRy YW5zZm9ybSB2YWx1ZSBpZiBmdW5jdGlvbiBpcyBwcm92aWRlZCANCiAgICBp ZiBmdW5jICE9IE5vbmU6DQogICAgICB2YWx1ZSA9IGZ1bmModmFsdWUpDQog ICAgICAgIA0KICAgICMgTG9vayB1cCB2YWx1ZSBpbiBjaG9pY2VzIGlmIGNo b2ljZXMgaXMgbm90IE5vbmUNCiAgICBpZiBjaG9pY2VzICE9IE5vbmU6DQog ICAgICB2YWx1ZSA9IGNob2ljZXNbdmFsdWVdDQoNCiAgICByZXR1cm4gdmFs dWUNCg0KICBleGNlcHQ6DQogICAgaWYga1ByaW50QWxsVHJhY2ViYWNrczoN CiAgICAgIGltcG9ydCB0cmFjZWJhY2sNCiAgICAgIHRyYWNlYmFjay5wcmlu dF9leGMoZmlsZSA9IGVycikNCiAgICBfUHJpbnRVc2FnZShlcnIsIGFyZ19p bmRleCkNCiAgICBzeXMuZXhpdCgyKQ0KICAgIA0KZGVmIF9Mb2dmaWxlVHJh bnNmb3JtKHZhbHVlKToNCiAgIiIiIFRyYW5zZm9ybWF0aW9uIGZ1bmN0aW9u IGZvciBsb2dmaWxlIGFyZy4gIiIiDQogIA0KICBpZiB2YWx1ZSA9PSAnLSc6 DQogICAgcmV0dXJuIE5vbmUNCiAgZWxzZToNCiAgICByZXR1cm4gZXZhbCh2 YWx1ZSkNCiAgDQpkZWYgX0hvc3Rwb3J0VHJhbnNmb3JtKGhvc3Rwb3J0KToN CiAgIiIiIFRyYW5zZm9ybWF0aW9uIGZ1bmN0aW9uIGZvciBob3N0OnBvcnQg YXJnLiAiIiINCiAgDQogIGNvbG9ucG9zID0gc3RyaW5nLmluZGV4KGhvc3Rw b3J0LCAnOicpDQogIGhvc3QgPSBob3N0cG9ydFswOmNvbG9ucG9zXQ0KICBp ZiBob3N0ID09ICcnOg0KICAgIGhvc3QgPSAnMTI3LjAuMC4xJw0KICBwb3J0 ID0gaW50KGhvc3Rwb3J0W2NvbG9ucG9zKzE6XSkNCiAgcmV0dXJuIGhvc3Qs IHBvcnQNCiANCiAgDQpkZWYgX1BhcnNlQXJndihlcnIpOg0KICAiIiIgUGFy c2VzIHN5cy5hcmd2IGFuZCByZXR1cm5zIGRpY3Rpb25hcnkgd2l0aCBmb2xs b3dpbmcga2V5czoNCiAgaG9zdDogaG9zdCB0byBjb25uZWN0IGJhY2sgdG8N CiAgcG9ydDogcG9ydCB0byBjb25uZWN0IGJhY2sgdG8NCiAgYXR0YWNocG9y dDogcG9ydCAjIHRvIGxpc3RlbiBmYXIgYXR0YWNoIHJlcXVlc3RzIG9uDQog IGZpcnN0c3RvcDogd2hldGhlciB0byBzdG9wIG9uIGZpcnN0IGxpbmUNCiAg c2lsZW50OiB3aGV0aGVyIHRvIHJ1biBzaWxlbnRseSBvciBwcmludCBkZWJ1 ZyB0cmFjZSBpbmZvcm1hdGlvbg0KICBsb2dmaWxlOiBuYW1lIG9mIGZpbGUg dG8gbG9nIHRvDQogIHdhaXRvbmV4aXQ6IHdoZXRoZXIgdG8gd2FpdCBmb3Ig YSBrZXlzdHJva2Ugd2hlbiB0aGUgcHJvZ3JhbSBleGl0cw0KICBmaWxlbmFt ZTogbmFtZSBvZiB0aGUgcHl0aG9uIGZpbGUgdG8gZGVidWcNCiAgd2luZ2hv bWUgKG9wdGlvbmFsKTogZGlyIHRvIHVzZSBhcyB3aW5naG9tZSBpZiAtLXVz ZS13aW5naG9tZSBpcyBzcGVjaWZpZWQNCiAgIiIiDQoNCiAgYXJncyA9IHt9 DQoNCiAgIyBDaGVjayBmb3IgaGVscA0KICBpZiBsZW4oc3lzLmFyZ3YpID4g MSBhbmQgc3lzLmFyZ3ZbMV0gPT0gJ2hlbHAnOg0KICAgIF9QcmludFVzYWdl KGVycikNCiAgICBfUHJpbnRIZWxwKGVycikNCiAgICBzeXMuZXhpdCgwKQ0K DQogICMgRmluZCAtLXVzZS13aW5naG9tZSBpZiBpdCdzIHNwZWNpZmllZA0K ICBpZiAnLS11c2Utd2luZ2hvbWUnIGluIHN5cy5hcmd2Og0KICAgIGkgPSBz eXMuYXJndi5pbmRleCgnLS11c2Utd2luZ2hvbWUnKQ0KICAgIGFyZ3NbJ3dp bmdob21lJ10gPSBzeXMuYXJndltpICsgMV0NCiAgICBkZWwgc3lzLmFyZ3Zb aTppICsgMl0NCg0KICAjIFBhcnNlIGFyZ3MgYW5kIHN0b3JlIHZhbHVlIGlu IGRpY3Rpb25hcnkgdG8gcmV0dXJuDQogIGFyZ3NbJ2hvc3QnXSwgYXJnc1sn cG9ydCddID0gX1BhcnNlU2luZ2xlQXJnKGVyciwgMSwgX0hvc3Rwb3J0VHJh bnNmb3JtKQ0KICBhcmdzWydhdHRhY2hwb3J0J10gPSBfUGFyc2VTaW5nbGVB cmcoZXJyLCAyLCBpbnQpDQogIGFyZ3NbJ2ZpcnN0c3RvcCddID0gX1BhcnNl U2luZ2xlQXJnKGVyciwgMywgY2hvaWNlcyA9IHsiLS1uby1maXJzdC1zdG9w IjogMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICItLWZpcnN0LXN0b3AiOiAxfSkNCiAgYXJn c1snc2lsZW50J10gPSBfUGFyc2VTaW5nbGVBcmcoZXJyLCA0LCBjaG9pY2Vz ID0geyItLXNpbGVudCI6IDEsICItLXZlcmJvc2UiOiAwfSkNCiAgYXJnc1sn bG9nZmlsZSddID0gX1BhcnNlU2luZ2xlQXJnKGVyciwgNSwgX0xvZ2ZpbGVU cmFuc2Zvcm0pDQogIGFyZ3NbJ3dhaXRvbmV4aXQnXSA9IF9QYXJzZVNpbmds ZUFyZyhlcnIsIDYsIGNob2ljZXMgPSB7Ii0tbm93YWl0LW9uLWV4aXQiOiAw LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICItLXdhaXQtb24tZXhpdCI6IDF9KQ0KICBhcmdz WydmaWxlbmFtZSddID0gZmlsZW5hbWUgPSBfUGFyc2VTaW5nbGVBcmcoZXJy LCA3LCBldmFsKQ0KDQogICMgQ2hlY2sgaWYgZGVidWcgZmlsZSBleGlzdHMg YW5kIGlzIGEgZmlsZQ0KICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZmlsZW5h bWUpOg0KICAgIGVyci53cml0ZSgnd2luZ2RiLnB5OiBFcnJvcjogRGVidWcg ZmlsZSAiJXMiIGRvZXMgbm90IGV4aXN0JyAlIGZpbGVuYW1lKQ0KICAgIGVy ci53cml0ZShnZXRfaGVscF9tc2cpDQogICAgc3lzLmV4aXQoMSkNCiAgaWYg bm90IG9zLnBhdGguaXNmaWxlKGZpbGVuYW1lKToNCiAgICBlcnIud3JpdGUo J3dpbmdkYi5weTogRXJyb3I6IERlYnVnIGZpbGUgIiVzIiBpcyBub3QgYSBm aWxlJywgZmlsZW5hbWUpDQogICAgZXJyLndyaXRlKGdldF9oZWxwX21zZykN CiAgICBzeXMuZXhpdCgxKQ0KICAgIA0KICAjIFBydW5lIGFyZ3MgZG93biB0 byBqdXN0IGFyZ3MgZm9yIHRoZSBkZWJ1Z2dlZCBwcm9ncmFtDQogICNwcmlu dCAiSU5JVElBTCBBUkdTIiwgc3lzLmFyZ3YNCiAgZGVsIHN5cy5hcmd2Wzps ZW4oa0FyZ3MpXQ0KICAjcHJpbnQgIkZJTkFMIEFSR1MiLCBzeXMuYXJndg0K ICByZXR1cm4gYXJncw0KDQoNCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMNCiMgRGVidWcgc2VydmVyIGFjY2Vzcw0KIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIw0KICANCmRlZiBGaW5kTmV0U2VydmVyTW9kdWxlKHdpbmdo b21lKToNCiAgIiIiIEZpbmRzIHdpbmcncyBuZXRzZXJ2ZXIgbW9kdWxlIGdp dmVuIHdpbmdob21lIHBhdGggbmFtZS4gIERvZXMgbm90IHdyaXRlDQogIHRv IGxvZyBzbyBpdCBjYW4gYmUgY2FsbGVkIGZyb20gd2luZ2Ric3R1Yi4gIiIi DQogIA0KICAjIFdvcmsgYXJvdW5kIHdpbjMyIHBhdGggam9pbmluZyBwcm9i bGVtcw0KICBpZiBzeXMucGxhdGZvcm0gPT0gJ3dpbjMyJyBhbmQgd2luZ2hv bWVbLTFdID09ICdcXCc6DQogICAgd2luZ2hvbWUgPSB3aW5naG9tZVs6LTFd DQoNCiAgIyBTb21lIGludGVybmFsIGNvZGUgc3RpbGwgZGVwZW5kcyBvbiB0 aGlzIGJlaW5nIHNldCBpbiB0aGUgZW52aXJvbm1lbnQNCiAgb3MuZW52aXJv blsnV0lOR0hPTUUnXSA9IHdpbmdob21lDQogIA0KICBpbXBvcnQgY29weV9y ZWcgIyBjUGlja2xlIGlzIHNjcmV3ZWQgdXAgaWYgd2UgZG9uJ3QgaG9sZCBv bnRvIHRoaXMNCiAgcHJldl9tb2RzID0gc3lzLm1vZHVsZXMua2V5cygpDQog IG9yaWdfcGF0aCA9IHR1cGxlKHN5cy5wYXRoKQ0KICB0cnk6DQogICAgIA0K ICAgICMgR2V0IHB5dGhvbiB2ZXJzaW9uIGluZm8NCiAgICBtYWpvciA9IChz eXMuaGV4dmVyc2lvbiAmIDB4ZmYwMDAwMDApID4+IDI0DQogICAgbWlub3Ig PSAoc3lzLmhleHZlcnNpb24gJiAweDAwZmYwMDAwKSA+PiAxNg0KICAgIHJl bGVhc2UgPSAoc3lzLmhleHZlcnNpb24gJiAweDAwMDBmZjAwKSA+PiA4DQog IA0KICAgICMgVHJ5IHRvIGxvY2F0ZSB0aGUgZGVidWdnZXIgbW9kdWxlcyBp biBiaW5hcnkgZm9ybSBmaXJzdDogIFdlIGxvb2sNCiAgICAjIGluIGRpcmVj dG9yeSBhY2NvcmRpbmcgdG8gdGhlIFB5dGhvbiB2ZXJzaW9uIHRoYXQncyBy dW5uaW5nLCBhbmQNCiAgICAjIHRyeSBhbGwgbGVzc2VyIHJlbGVhc2VzIHdp dGggc2FtZSBtYWpvci5taW5vciBudW1iZXIgaWYgd2UgZG9uJ3QNCiAgICAj IGhhdmUgYW4gZXhhY3QgbWF0Y2gNCiAgICBzdWNjZXNzID0gMA0KICAgIHIg PSByZWxlYXNlDQogICAgd2hpbGUgbm90IHN1Y2Nlc3MgYW5kIHIgPj0gMDoN CiAgICAgIHZlcnNpb25faWQgPSAnJWQuJWQuJWQnICUgKG1ham9yLCBtaW5v ciwgcikNCiAgICAgIHN5cy5wYXRoWzBdID0gb3MucGF0aC5qb2luKHdpbmdo b21lLCAnYmluJywgIHZlcnNpb25faWQsICdzcmMnLCAnZGVidWcnLCAnc2Vy dmVyJykNCiAgICAgIHRyeToNCiAgICAgICAgaW1wb3J0IG5ldHNlcnZlcg0K ICAgICAgICBzdWNjZXNzID0gMQ0KICAgICAgZXhjZXB0IEltcG9ydEVycm9y Og0KICAgICAgICByID0gciAtIDENCiAgDQogICAgIyBUcnkgdG8gbG9jYXRl IHRoZSBkZWJ1Z2dlciBtb2R1bGVzIGluIHNvdXJjZSBmb3JtIGlmIHRoZSBi aW5hcnkNCiAgICAjIGZvcm0gY291bGQgbm90IGJlIGZvdW5kDQogICAgaWYg bm90IHN1Y2Nlc3M6DQogICAgICBzeXMucGF0aFswXSA9IG9zLnBhdGguam9p bih3aW5naG9tZSwgJ3NyYycsICdkZWJ1ZycsICdzZXJ2ZXInKQ0KICAgICAg dHJ5Og0KICAgICAgICBpbXBvcnQgbmV0c2VydmVyDQogICAgICBleGNlcHQg SW1wb3J0RXJyb3I6DQogICAgICAgIHJhaXNlDQogICAgICANCiAgIyBVbmxv YWQgbW9kdWxlcyBsb2FkZWQgZnJvbSBzeXMubW9kdWxlcyBhbmQgcmVzdG9y ZSBzeXMucGF0aA0KICBmaW5hbGx5Og0KICAgIGZvciBrZXkgaW4gc3lzLm1v ZHVsZXMua2V5cygpOg0KICAgICAgaWYgbm90IGtleSBpbiBwcmV2X21vZHM6 DQogICAgICAgIGRlbCBzeXMubW9kdWxlc1trZXldDQogICAgc3lzLnBhdGgg PSBsaXN0KG9yaWdfcGF0aCkNCg0KICByZXR1cm4gbmV0c2VydmVyDQoNCmRl ZiBDcmVhdGVTZXJ2ZXIoaG9zdCwgcG9ydCwgYXR0YWNocG9ydCwgZmlyc3Rz dG9wLCBlcnIsIG5ldHNlcnZlciwgDQogICAgICAgICAgICAgICAgIHB3Zmls ZV9wYXRoKToNCiAgIiIiIENyZWF0ZXMgc2VydmVyLiBXcml0ZXMgdHJhY2Vi YWNrIHRvIGVyciBhbmQgcmV0dXJucyBOb25lIGlmIGNyZWF0aW9uDQogIGZh aWxzLiAiIiINCg0KICAjIENyZWF0ZSB0aGUgc2VydmVyDQogIHRyeTogIA0K ICAgIGVyci5vdXQoIk5ldHdvcmsgcGVlciBpcyAiLCBob3N0LCAicG9ydCIs IHBvcnQpDQogICAgZXJyLm91dCgiQXR0YWNoIHBvcnQgPSAiLCBhdHRhY2hw b3J0KQ0KICAgIGVyci5vdXQoIkluaXRpYWwgc3RvcCA9ICIsIGZpcnN0c3Rv cCkNCiAgICANCiAgICByZXR1cm4gbmV0c2VydmVyLkNOZXR3b3JrU2VydmVy KGhvc3QsIHBvcnQsIGF0dGFjaHBvcnQsIGVyciwgZmlyc3RzdG9wLCANCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB3ZmlsZV9wYXRo KQ0KDQogICMgQ29vayBleGNlcHRpb25zIGZvciBiZXR0ZXIgZGlzcGxheQ0K ICBleGNlcHQ6DQogICAgaW1wb3J0IHRyYWNlYmFjaw0KICAgIG50LCB2YWws IHRiID0gc3lzLmV4Y19pbmZvKCkNCiAgICBlcnIub3V0KCJ3aW5nZGIucHk6 IENvdWxkIG5vdCBjcmVhdGUgZGVidWcgc2VydmVyIikNCiAgICBlcnIub3V0 KCJ3aW5nZGIucHk6IEV4Y2VwdGlvbjoiLCBudCkNCiAgICBlcnIub3V0KCJ3 aW5nZGIucHk6IFZhbHVlczoiLCB2YWwpDQogICAgdGJmID0gdHJhY2ViYWNr LmZvcm1hdF90Yih0YikNCiAgICBmb3IgaXRlbSBpbiB0YmY6DQogICAgICBl cnIub3V0KCJ3aW5nZGIucHk6IiwgaXRlbSkNCiAgICBkZWwgdGIsIHZhbA0K ICANCmRlZiBEZWJ1Z0ZpbGUoc2VydmVyLCBmaWxlbmFtZSwgZXJyKToNCiAg IiIiIERlYnVnIHRoZSBnaXZlbiBmaWxlLiBXcml0ZXMgYW55IGV4Y2VwdGlv biB0byBlcnIuICIiIg0KICANCiAgIyBSdW4gdGhlIHNlc3Npb24NCiAgdHJ5 Og0KICAgIGZpbGVuYW1lID0gb3MucGF0aC5hYnNwYXRoKGZpbGVuYW1lKQ0K ICAgIGVyci5vdXQoIndpbmdkYi5weTogUnVubmluZyAlcyIgJSBmaWxlbmFt ZSkNCiAgICBvcy5lbnZpcm9uWydXSU5HREJfQUNUSVZFJ10gPSAiMSINCiAg ICBzZXJ2ZXIuUnVuKGZpbGVuYW1lLCBzeXMuYXJndikNCg0KICAjIENvb2sg ZXhjZXB0aW9ucyBmb3IgYmV0dGVyIGRpc3BsYXkNCiAgZXhjZXB0Og0KICAg IGltcG9ydCB0cmFjZWJhY2sNCiAgICBudCwgdmFsLCB0YiA9IHN5cy5leGNf aW5mbygpDQogICAgZXJyLm91dCgid2luZ2RiLnB5OiBTZXJ2ZXIgZXhpdGlu ZyBhYm5vcm1hbGx5IG9uIGV4Y2VwdGlvbiIpDQogICAgZXJyLm91dCgid2lu Z2RiLnB5OiBFeGNlcHRpb246IiwgbnQpDQogICAgZXJyLm91dCgid2luZ2Ri LnB5OiBWYWx1ZXM6IiwgdmFsKQ0KICAgIHRiZiA9IHRyYWNlYmFjay5mb3Jt YXRfdGIodGIpDQogICAgZm9yIGl0ZW0gaW4gdGJmOg0KICAgICAgZXJyLm91 dCgid2luZ2RiLnB5OiIsIGl0ZW0pDQogICAgZGVsIHZhbCwgdGINCiAgICAN CmRlZiBDcmVhdGVFcnJTdHJlYW0obmV0c2VydmVyLCBsb2dmaWxlLCBzaWxl bnQgPSAxKToNCiAgIiIiIENyZWF0ZXMgZXJyb3Igc3RyZWFtIGZvciBkZWJ1 Z2dlci4gIElmIHNpbGVudCBpcyBmYWxzZSwgZW50cmllcyB3aWxsIGFsc28g YmUNCiAgd3JpdHRlbiB0byBzeXMuX19zdGRlcnJfXyAod2hpY2ggY2FuIGNh dXNlIHByb2JsZW1zIG9uIHdpbjMyKSAiIiINCiAgDQogIGZpbGVfbGlzdCA9 IFtdDQogIGlmIG5vdCBzaWxlbnQ6DQogICAgZmlsZV9saXN0LmFwcGVuZChz eXMuX19zdGRlcnJfXykNCg0KICBpZiBsb2dmaWxlICE9IE5vbmU6DQogICAg ZmlsZV9saXN0LmFwcGVuZChsb2dmaWxlKQ0KICBlcnIgPSBuZXRzZXJ2ZXIu YWJzdHJhY3QuQ0VyclN0cmVhbShmaWxlX2xpc3QpDQoNCiAgcmV0dXJuIGVy cg0KDQpkZWYgbWFpbigpOg0KICAiIiIgUGFyc2UgYXJncyBhbmQgdGhlbiBy dW4gcHJvZ3JhbS4gIiIiDQogIA0KICAjIE1ha2Ugc3VyZSB3ZSBhbHdheXMg Z2l2ZSBvcHBvcnR1bml0eSB0byBzZWUgb3V0cHV0IHdoZW4gd2FpdC1vbi1l eGl0IGlzIHRydWUhDQogIHdhaXRvbmV4aXQgPSAwDQogIHNlcnZlciA9IE5v bmUNCiAgZXJyID0gTm9uZQ0KICB0bXBfbG9nID0gQ1RlbXBMb2coKQ0KICB0 cnk6DQoNCiAgICAjIFBpY2sgdXAgZXhjZXB0aW9ucw0KICAgIGFyZ3MgPSB7 fQ0KICAgIHRyeToNCiAgICAgIA0KICAgICAgIyBEZWxldGUgc3lzLnBhdGhb MF0gYmVjYXVzZSBpdCByZWZlcnMgdG8gdGhpcyBmaWxlJ3MgZGlyZWN0b3J5 DQogICAgICBkZWwgc3lzLnBhdGhbMF0NCiAgICAgICAgDQogICAgICAjIFdJ TkdIT01FIGRlZmF1bHRzIHRvIHRoZSBwYXJlbnQgZGlyIG9mIHRoZSBkaXIg d2luZ2RiIGlzIGluDQogICAgICB3aW5naG9tZSA9IG9zLnBhdGguZGlybmFt ZShvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5hYnNwYXRoKHN5cy5hcmd2WzBd KSkpDQogICAgICANCiAgICAgICMgUGFyc2UgYXJncyBhbmQgcGljayB1cCBh bnkgb3ZlcnJpZGVzDQogICAgICBhcmdzID0gX1BhcnNlQXJndih0bXBfbG9n KQ0KICAgICAgd2FpdG9uZXhpdCA9IGFyZ3MuZ2V0KCd3YWl0b25leGl0Jywg d2FpdG9uZXhpdCkNCiAgICAgIHdpbmdob21lID0gYXJncy5nZXQoJ3dpbmdo b21lJywgd2luZ2hvbWUpDQogIA0KICAgICAgIyBGaW5kIG5ldHNlcnZlcg0K ICAgICAgdHJ5Og0KICAgICAgICBuZXRzZXJ2ZXIgPSBGaW5kTmV0U2VydmVy TW9kdWxlKHdpbmdob21lKQ0KICAgICAgZXhjZXB0Og0KICAgICAgICBpbXBv cnQgdHJhY2ViYWNrDQogICAgICAgIHRyYWNlYmFjay5wcmludF9leGMoc3lz LmV4Y19pbmZvKCksIHRtcF9sb2cpDQogICAgICAgIHRtcF9sb2cub3V0KCJ3 aW5nZGIucHk6IEVycm9yOiBGYWlsZWQgdG8gc3RhcnQgdGhlIGRlYnVnIHNl cnZlciIpDQogICAgICAgIGlmIG9zLmVudmlyb24uaGFzX2tleSgnREVWRUxf V0lOR0hPTUUnKToNCiAgICAgICAgICB0bXBfbG9nLm91dCgid2luZ2RiLnB5 OiBFcnJvcjogWW91IG1heSBuZWVkIHRvIHVuZGVmaW5lIG9yIGFsdGVyIHRo ZSBERVZFTF9XSU5HSE9NRSBlbnYiKQ0KICAgICAgICB0bXBfbG9nLm91dCgi d2luZ2RiLnB5OiBFcnJvcjogWW91IG1heSBiZSBydW5uaW5nIGFuIHVuc3Vw cG9ydGVkIHZlcnNpb24gb2YgUHl0aG9uIikNCiAgICAgICAgdG1wX2xvZy5v dXQoIndpbmdkYi5weTogUHl0aG9uIHZlcnNpb24gPSAlZC4lZC4lZCIgJSAo bWFqb3IsIG1pbm9yLCByZWxlYXNlKSkNCiAgICAgICAgdG1wX2xvZy5vdXQo IndpbmdkYi5weTogV0lOR0hPTUU9JXMiICUgc3RyKHdpbmdob21lKSkNCiAg ICAgICAgc3lzLmV4aXQoLTEpDQogICAgICANCiAgICAgICMgU2FuaXR5IGNo ZWNrOiAgRGVidWdnaW5nIGluIG9wdGltaXplZCBtb2RlIG1ha2VzIG5vIHNl bnNlDQogICAgICBpZiBfX2RlYnVnX18gPT0gMDoNCiAgICAgICAgdG1wX2xv Zy5vdXQoIndpbmdkYi5weTogRXJyb3I6IENhbm5vdCBydW4gYSBkZWJ1ZyBw cm9jZXNzIHdpdGggb3B0aW1pemVkIHB5dGhvbiIpDQogICAgICAgIHRtcF9s b2cub3V0KCJ3aW5nZGIucHk6IEVycm9yOiBZb3UgbXVzdCBvbWl0IHRoZSAt TyBvciAtT08gY29tbWFuZCBsaW5lIG9wdGlvbiwgb3IiKQ0KICAgICAgICB0 bXBfbG9nLm91dCgid2luZ2RiLnB5OiBFcnJvcjogdW5kZWZpbmUgZW52aXJv bm1lbnQgdmFyaWFibGUgUFlUSE9OT1BUSU1JWkUiKQ0KICAgICAgICBzeXMu ZXhpdCgtMSkNCiAgICAgIA0KICAgICAgIyBDcmVhdGUgZXJyb3IgbG9nIGFu ZCB3cml0ZSB0bXAgZW50cmllcyB0byBpdA0KICAgICAgZXJyID0gQ3JlYXRl RXJyU3RyZWFtKG5ldHNlcnZlciwgYXJnc1snbG9nZmlsZSddLCBzaWxlbnQg PSBhcmdzWydzaWxlbnQnXSkNCiAgICAgIHRtcF9sb2cud3JpdGVfZW50cmll cyhlcnIpDQogICAgICB0bXBfbG9nLmNsZWFyKCkNCiAgICAgIA0KICAgICAg IyBDcmVhdGUgdGhlIHNlcnZlciBhbmQgcnVuDQogICAgICBlcnIub3V0KCJz eXMucGF0aD0lcyIgJSBzdHIoc3lzLnBhdGgpKQ0KICAgICAgZXJyLm91dCgi c3lzLmFyZ3Y9JXMiICUgc3RyKHN5cy5hcmd2KSkNCiAgICAgIHB3ZmlsZV9w YXRoID0gW25ldHNlcnZlci5hYnN0cmFjdC5rUFdGaWxlUGF0aFVzZXJQcm9m aWxlRGlyXQ0KICAgICAgc2VydmVyID0gQ3JlYXRlU2VydmVyKGFyZ3NbJ2hv c3QnXSwgYXJnc1sncG9ydCddLCBhcmdzWydhdHRhY2hwb3J0J10sIA0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3NbJ2ZpcnN0c3RvcCddLCBl cnIsIG5ldHNlcnZlciwgcHdmaWxlX3BhdGgpDQogICAgICBEZWJ1Z0ZpbGUo c2VydmVyLCBhcmdzWydmaWxlbmFtZSddLCBlcnIpDQoNCiAgICBleGNlcHQ6 DQogICAgICAjIFdyaXRlIGFueSBlbnRyaWVzIHRvIHN0ZGVyciBpZiBub3Qg bm8gd2luMzINCiAgICAgIGlmIHN5cy5wbGF0Zm9ybSAhPSAnd2luMzInOg0K ICAgICAgICBmb3IgZW50cnkgaW4gdG1wX2xvZy5mRW50cmllczoNCiAgICAg ICAgICBzeXMuX19zdGRlcnJfXy53cml0ZShlbnRyeSArICdcbicpDQogICAg ICAgICAgDQogICAgICAjIElmIGxvZ2ZpbGUgd2FzIHNwZWNpZmllZCwgYWxz byB3cml0ZSBlbnRyaWVzIHRoZXJlDQogICAgICBpZiBhcmdzLmdldCgnbG9n ZmlsZScpICE9IE5vbmUgYW5kIGxlbih0bXBfbG9nLmZFbnRyaWVzKSAhPSAw Og0KICAgICAgICBsb2dmaWxlID0gYXJnc1snbG9nZmlsZSddDQogICAgICAg IGlmIGxvZ2ZpbGUgPT0gJzxzdGRvdXQ+JzoNCiAgICAgICAgICBmaWxlID0g c3lzLl9fc3Rkb3V0X18NCiAgICAgICAgZWxpZiBsb2dmaWxlID09ICc8c3Rk ZXJyPic6DQogICAgICAgICAgZmlsZSA9IE5vbmUgIyBXZSB3cm90ZSB0byBo ZXJlIGFib3ZlDQogICAgICAgIGVsc2U6DQogICAgICAgICAgdHJ5Og0KICAg ICAgICAgICAgZmlsZSA9IG9wZW4obG9nZmlsZSwgImEiKQ0KICAgICAgICAg IGV4Y2VwdCBJT0Vycm9yLCBPU0Vycm9yOg0KICAgICAgICAgICAgZmlsZSA9 IE5vbmUNCiAgICAgICAgaWYgZmlsZSAhPSBOb25lOg0KICAgICAgICAgIGZv ciBlbnRyeSBpbiB0bXBfbG9nLmZFbnRyaWVzOg0KICAgICAgICAgICAgZmls ZS53cml0ZShlbnRyeSArICdcbicpDQogICAgICAgICAgaWYgZmlsZSAhPSBz eXMuX19zdGRvdXRfXzoNCiAgICAgICAgICAgIGZpbGUuY2xvc2UoKQ0KDQog ICAgIyBBbHdheXMgcHJpbnQgdHJhY2ViYWNrcyBpZiBrUHJpbnRUcmFjZWJh Y2tzIGlzIHRydWUNCiAgICBpZiBrUHJpbnRBbGxUcmFjZWJhY2tzOg0KICAg ICAgaW1wb3J0IHRyYWNlYmFjaw0KICAgICAgdHJhY2ViYWNrLnByaW50X2V4 YyhmaWxlID0gc3lzLl9fc3RkZXJyX18pDQogICAgICANCiAgIyBBbHdheXMg c3RvcCBzZXJ2ZXIgYW5kIHdhaXQgZm9yIHVzZXIgdG8gZXhpdCBpZiByZXF1 ZXN0ZWQNCiAgZmluYWxseToNCiAgICBpZiBzZXJ2ZXIgIT0gTm9uZToNCiAg ICAgIHRyeTogc2VydmVyLlN0b3AoKQ0KICAgICAgZXhjZXB0OiBwYXNzDQoN CiAgICBpZiB3YWl0b25leGl0Og0KICAgICAgbGluZSA9IHJhd19pbnB1dCgi LS0gVHlwZSByZXR1cm4gb3IgZW50ZXIgdG8gZXhpdCAtLVxuIikNCiAgICAN CiAgDQoNCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiMgRXhlY3V0 aW9uIHN0YXJ0cyBoZXJlDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj DQoNCmlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6DQogIG1haW4oKQ0K ---1463760895-1414624310-1025103964=:1367--
Run by Mailman v 2.0.8 |
|
|
Copyright (c) 2000-2002, Archaeopteryx Software, Inc. Legal Statements | ||