• Re: Relatively prime integers in NumPy

    From Popov, Dmitry Yu@21:1/5 to All on Sat Jul 13 03:10:12 2024
    VGhhbmsgeW91IHZlcnkgbXVjaC4gTGlzdCBjb21wcmVoZW5zaW9ucyBtYWtlIGNvZGUgbXVjaCBt b3JlIGNvbmNpc2UgaW5kZWVkLiBEbyBsaXN0IGNvbXByZWhlbnNpb25zIGFsc28gaW1wcm92ZSB0 aGUgc3BlZWQgb2YgY2FsY3VsYXRpb25zPw0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18NCkZyb206IGF2aS5lLmdyb3NzQGdtYWlsLmNvbSA8YXZpLmUuZ3Jvc3NAZ21haWwuY29tPg0K U2VudDogRnJpZGF5LCBKdWx5IDEyLCAyMDI0IDY6NTcgUE0NClRvOiBQb3BvdiwgRG1pdHJ5IFl1 IDxkcG9wb3ZAYW5sLmdvdj47ICdQb3BvdiwgRG1pdHJ5IFl1IHZpYSBQeXRob24tbGlzdCcgPHB5 dGhvbi1saXN0QHB5dGhvbi5vcmc+OyBvc2Nhci5qLmJlbmphbWluQGdtYWlsLmNvbSA8b3NjYXIu ai5iZW5qYW1pbkBnbWFpbC5jb20+DQpTdWJqZWN0OiBSRTogUmVsYXRpdmVseSBwcmltZSBpbnRl Z2VycyBpbiBOdW1QeQ0KDQpEbWl0cnksIEkgY2xlYXJseSBkaWQgbm90IHVuZGVyc3RhbmQgd2hh dCB5b3Ugd2FudGVkIGVhcmxpZXIgYXMgeW91IGhhZCBub3QgbWFkZSBjbGVhciB0aGF0IGluIHlv dXIgZXhhbXBsZSwgeW91IGFscmVhZHkgaGFkIHByb2dyZXNzZWQgdG8gc29tZSBsZXZlbCB3aGVy ZSB5b3UgaGFkIHRoZSBkYXRhIGFuZCB3ZXJlIG5vdyBkb2luZyBhIHNlY29uZCBzdGVwLiBTbywg SSBoZXNpdGF0ZSB0byBzYXkgbXVjaCB1bnRpbA0KWmpRY21RUllGcGZwdEJhbm5lclN0YXJ0DQpU aGlzIE1lc3NhZ2UgSXMgRnJvbSBhbiBFeHRlcm5hbCBTZW5kZXINClRoaXMgbWVzc2FnZSBjYW1l IGZyb20gb3V0c2lkZSB5b3VyIG9yZ2FuaXphdGlvbi4NCg0KWmpRY21RUllGcGZwdEJhbm5lckVu ZA0KDQpEbWl0cnksDQoNCg0KDQpJIGNsZWFybHkgZGlkIG5vdCB1bmRlcnN0YW5kIHdoYXQgeW91 IHdhbnRlZCBlYXJsaWVyIGFzIHlvdSBoYWQgbm90IG1hZGUgY2xlYXIgdGhhdCBpbiB5b3VyIGV4 YW1wbGUsIHlvdSBhbHJlYWR5IGhhZCBwcm9ncmVzc2VkIHRvIHNvbWUgbGV2ZWwgd2hlcmUgeW91 IGhhZCB0aGUgZGF0YSBhbmQgd2VyZSBub3cgZG9pbmcgYSBzZWNvbmQgc3RlcC4gU28sIEkgaGVz aXRhdGUgdG8gc2F5IG11Y2ggdW50aWwgZWl0aGVyIG5vYm9keSBlbHNlIGFkZHJlc3NlZCB0aGUg aXNzdWUgKGFzIGNsZWFybHkgc29tZSBoYXZlKSBvciB5b3UgZXhwbGFpbiB3ZWxsIGVub3VnaC4N Cg0KDQoNCkkgYW0gZ3Vlc3NpbmcgeW91IGhhdmUgcHJvZ3JhbW1pbmcgZXhwZXJpZW5jZSBpbiBv dGhlciBsYW5ndWFnZXMgYW5kIGFyZSBub3QgYXMg4oCccHl0aG9uaWPigJ0gYXMgc29tZS4gVGhl IGNvZGUgeW91IHNob3cgbWF5IG5vdCBiZSBxdWl0ZSBob3cgb3RoZXJzIG1pZ2h0IGRvIGl0LiBT b21lIG1heSB3cml0ZSBtY2ggb2YgeW91ciBjb2RlIGFzIGEgc2luZ2xlIGxpbmUgb2YgcHl0aG9u IHVzaW5nIGEgbGlzdCBjb21wcmVoZW5zaW9uIHN1Y2ggYXM6DQoNCg0KDQpoa2xfbGlzdCA9IFsg W2gsIGssIGxdIGZvciBTT01FVEhJTkcgaW4gUkFOR0UgIGZvciBTT01FVEhJTkcyICBpbiBSQU5H RTIgZm9yIFNPTUVUSElORzMgaW4gUkFOR0UzXQ0KDQoNCg0KV2hlcmUgaCwgay4gbCBjb21lIGZy b20gdGhlIHNvbWV0aGluZ3MuDQoNCg0KDQpCYWNrIHRvIHRoZSByZWFsIHdvcmxkLg0KDQoNCg0K DQoNCkZyb206IFBvcG92LCBEbWl0cnkgWXUgPGRwb3BvdkBhbmwuZ292Pg0KU2VudDogRnJpZGF5 LCBKdWx5IDEyLCAyMDI0IDE6MTMgUE0NClRvOiBhdmkuZS5ncm9zc0BnbWFpbC5jb207ICdQb3Bv diwgRG1pdHJ5IFl1IHZpYSBQeXRob24tbGlzdCcgPHB5dGhvbi1saXN0QHB5dGhvbi5vcmc+OyBv c2Nhci5qLmJlbmphbWluQGdtYWlsLmNvbTsgUG9wb3YsIERtaXRyeSBZdSA8ZHBvcG92QGFubC5n b3Y+DQpTdWJqZWN0OiBSZTogUmVsYXRpdmVseSBwcmltZSBpbnRlZ2VycyBpbiBOdW1QeQ0KDQoN Cg0KVGhhbmsgeW91IHZlcnkgbXVjaCwgT3NjYXIuDQoNCg0KDQpVc2luZyB0aGUgZm9sbG93aW5n IGNvZGUgbG9va3MgbGlrZSBhIG11Y2ggYmV0dGVyIHNvbHV0aW9uIHRoYW4gbXkgY3VycmVudCBQ eXRob24gY29kZSBpbmRlZWQuDQoNCm5wLmdjZC5yZWR1Y2UobnAudHJhbnNwb3NlKGEpKQ0KDQpv cg0KDQpucC5nY2QucmVkdWNlKGEsMSkNCg0KDQoNClRoZSBuZXh0IHF1ZXN0aW9uIGlzIGhvdyBJ IGNhbiBnZW5lcmF0ZSBuZGFycmF5IG9mIGgsayxsIGluZGljZXMuIFRoaXMgY2FuIGJlIGVhc2ls eSBkb25lIGZyb20gYSBQeXRob24gbGlzdCBieSB1c2luZyB0aGUgZm9sbG93aW5nIGNvZGUuDQoN Cg0KDQppbXBvcnQgbnVtcHkgYXMgbnANCg0KaGtsX2xpc3Q9W10NCg0KZm9yIGggaW4gcmFuZ2Uo MCwgbWF4X2gpOg0KDQrigILigILigILigILigILigIJmb3IgayBpbiByYW5nZSgwLCBtYXhfayk6 DQoNCuKAguKAguKAguKAguKAguKAguKAguKAguKAguKAguKAguKAgmZvciBsIGluIHJhbmdlKDAs IG1heF9sKToNCg0K4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC 4oCC4oCC4oCCaGtsX2xvY2FsPVtdDQoNCuKAguKAguKAguKAguKAguKAguKAguKAguKAguKAguKA guKAguKAguKAguKAguKAguKAguKAgmhrbF9sb2NhbC5hcHBlbmQoaCkNCg0K4oCC4oCC4oCC4oCC 4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCCaGtsX2xvY2FsLmFwcGVu ZChrKQ0KDQrigILigILigILigILigILigILigILigILigILigILigILigILigILigILigILigILi gILigIJoa2xfbG9jYWwuYXBwZW5kKGwpDQoNCuKAguKAguKAguKAguKAguKAguKAguKAguKAguKA guKAguKAguKAguKAguKAguKAguKAguKAgmhrbF9saXN0LmFwcGVuZChoa2xfbG9jYWwpDQoNCmhr bD1ucC5hcnJheShoa2xfbGlzdCwgZHR5cGU9bnAuaW50NjQpDQoNClRoaXMgY29kZSB3aWxsIGdl bmVyYXRlIGEgdHdvLWRpbWVuc2lvbmFsIG5kYXJyYXkgb2YgaCxrLGwgaW5kaWNlcyBidXQgaXMg aXQgcG9zc2libGUgdG8gbWFrZSBhIGZhc3RlciByb3V0aW5lIHdpdGggTnVtUHk/DQoNCg0KDQpS ZWdhcmRzLA0KDQpEbWl0cnkNCg0KDQoNCg0KDQoNCg0KX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18NCg0KRnJvbTogUHl0aG9uLWxpc3QgPHB5dGhvbi1saXN0LWJvdW5jZXMrZHBvcG92 PWFubC5nb3ZAcHl0aG9uLm9yZzxtYWlsdG86cHl0aG9uLWxpc3QtYm91bmNlcytkcG9wb3Y9YW5s LmdvdkBweXRob24ub3JnPj4gb24gYmVoYWxmIG9mIFBvcG92LCBEbWl0cnkgWXUgdmlhIFB5dGhv bi1saXN0IDxweXRob24tbGlzdEBweXRob24ub3JnPG1haWx0bzpweXRob24tbGlzdEBweXRob24u b3JnPj4NClNlbnQ6IFRodXJzZGF5LCBKdWx5IDExLCAyMDI0IDI6MjUgUE0NClRvOiBhdmkuZS5n cm9zc0BnbWFpbC5jb208bWFpbHRvOmF2aS5lLmdyb3NzQGdtYWlsLmNvbT4gPGF2aS5lLmdyb3Nz QGdtYWlsLmNvbTxtYWlsdG86YXZpLmUuZ3Jvc3NAZ21haWwuY29tPj47ICdQb3BvdiwgRG1pdHJ5 IFl1IHZpYSBQeXRob24tbGlzdCcgPHB5dGhvbi1saXN0QHB5dGhvbi5vcmc8bWFpbHRvOnB5dGhv bi1saXN0QHB5dGhvbi5vcmc+Pg0KU3ViamVjdDogUmU6IFJlbGF0aXZlbHkgcHJpbWUgaW50ZWdl cnMgaW4gTnVtUHkNCg0KDQoNClRoYW5rIHlvdSBmb3IgeW91ciBpbnRlcmVzdC4gTXkgZXhwbGFu YXRpb24gaXMgdG9vIGNvbmNpc2UgaW5kZWVkLCBzb3JyeS4gU28gZmFyLCBJIGhhdmUgdXNlZCBQ eXRob24gY29kZSB3aXRoIHRocmVlIGVuY2xvc2VkICdmb3InIGxvb3BzIGZvciB0aGlzIHB1cnBv c2Ugd2hpY2ggaXMgcHJldHR5IHRpbWUgY29uc3VtaW5nLiBJJ20gdHJ5aW5nIHRvIGRldmVsb3Ag YSBOdW1QeSBiYXNlZCBjb2RlIHRvIG1ha2UgdGhpcw0KDQpaalFjbVFSWUZwZnB0QmFubmVyU3Rh cnQNCg0KVGhpcyBNZXNzYWdlIElzIEZyb20gYW4gRXh0ZXJuYWwgU2VuZGVyDQoNClRoaXMgbWVz c2FnZSBjYW1lIGZyb20gb3V0c2lkZSB5b3VyIG9yZ2FuaXphdGlvbi4NCg0KDQoNClpqUWNtUVJZ RnBmcHRCYW5uZXJFbmQNCg0KVGhhbmsgeW91IGZvciB5b3VyIGludGVyZXN0LiBNeSBleHBsYW5h dGlvbiBpcyB0b28gY29uY2lzZSBpbmRlZWQsIHNvcnJ5LiBTbyBmYXIsIEkgaGF2ZSB1c2VkIFB5 dGhvbiBjb2RlIHdpdGggdGhyZWUgZW5jbG9zZWQgJ2ZvcicgbG9vcHMgZm9yIHRoaXMgcHVycG9z ZSB3aGljaCBpcyBwcmV0dHkgdGltZSBjb25zdW1pbmcuIEknbSB0cnlpbmcgdG8gZGV2ZWxvcCBh IE51bVB5IGJhc2VkIGNvZGUgdG8gbWFrZSB0aGlzIHByb2NlZHVyZSBmYXN0ZXIuIFRoaXMgcm91 dGluZSBpcyBraW5kIG9mICdoZWFydCcgb2YgdGhlIGFsZ29yaXRobSB0byBpbmRleCBvZiBYLXJh eSBMYXVlIGRpZmZyYWN0aW9uIHBhdHRlcm5zLiBJbiBvdXIgZ3JvdXAgd2UgaGF2ZSB0byBwcm9j ZXNzIGh1Z2UgYW1vdW50IG9mIHN1Y2ggcGF0dGVybnMuIFRoZXkgYXJlIGNvbGxlY3RlZCBhdCBh IHN5bmNocm90cm9uIHJhZGlhdGlvbiBmYWNpbGl0eS4gRmFzdGVyIGluZGV4YXRpb24gcm91dGlu ZSB3b3VsZCBoZWxwIGEgbG90Lg0KDQoNCg0KVGhpcyBpcyB0aGUgY29kZSBJJ20gY3VycmVudGx5 IHVzaW5nLiBBbnkgcHJvbXB0cyBob3cgdG8gaW1wbGVtZW50IGl0IGluIE51bVB5IHdvdWxkIGJl IGhpZ2hseSBhcHByZWNpYXRlZC4NCg0KDQoNCmZvciBoIGluIHJhbmdlKDAsIG1heF9oKToNCg0K 4oCC4oCC4oCC4oCC4oCC4oCCZm9yIGsgaW4gcmFuZ2UoMCwgbWF4X2spOg0KDQrigILigILigILi gILigILigILigILigILigILigILigILigIJmb3IgbCBpbiByYW5nZSgwLCBtYXhfbCk6DQoNCuKA guKAguKAguKAguKAguKAguKAguKAguKAguKAguKAguKAguKAguKAguKAguKAguKAguKAgmNodmVj PTENCg0K4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC 4oCCbWF4bXVsdD0yDQoNCuKAguKAguKAguKAguKAguKAguKAguKAguKAguKAguKAguKAguKAguKA guKAguKAguKAguKAgmlmIGggPiAxOuKAguKAguKAguKAguKAguKAguKAguKAguKAguKAguKAguKA guKAguKAguKAguKAguKAguKAguKAguKAguKAgg0KDQrigILigILigILigILigILigILigILigILi gILigILigILigILigILigILigILigILigILigILigILigILigILigILigILigIJtYXhtdWx0PWgN Cg0K4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC aWYgayA+IDE6DQoNCuKAguKAguKAguKAguKAguKAguKAguKAguKAguKAguKAguKAguKAguKAguKA guKAguKAguKAguKAguKAguKAguKAguKAguKAgm1heG11bHQ9aw0KDQrigILigILigILigILigILi gILigILigILigILigILigILigILigILigILigILigILigILigIJpZiBsID4gMToNCg0K4oCC4oCC 4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC 4oCC4oCC4oCCbWF4bXVsdD1sDQoNCuKAguKAguKAguKAguKAguKAguKAguKAguKAguKAguKAguKA guKAguKAguKAguKAguKAguKAgmlmIGggPiAxOg0KDQrigILigILigILigILigILigILigILigILi gILigILigILigILigILigILigILigILigILigILigILigILigILigILigILigIJpZiBtYXhtdWx0 ID4gaDoNCg0K4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC 4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCCbWF4bXVsdD1oDQoNCuKA guKAguKAguKAguKAguKAguKAguKAguKAguKAguKAguKAguKAguKAguKAguKAguKAguKAgmlmIGsg PiAxOg0KDQrigILigILigILigILigILigILigILigILigILigILigILigILigILigILigILigILi gILigILigILigILigILigILigILigIJpZiBtYXhtdWx0ID4gazoNCg0K4oCC4oCC4oCC4oCC4oCC 4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC 4oCC4oCC4oCC4oCC4oCC4oCCbWF4bXVsdD1rDQoNCuKAguKAguKAguKAguKAguKAguKAguKAguKA guKAguKAguKAguKAguKAguKAguKAguKAguKAgmlmIGwgPiAxOg0KDQrigILigILigILigILigILi gILigILigILigILigILigILigILigILigILigILigILigILigILigILigILigILigILigILigIJp ZiBtYXhtdWx0ID4gbDoNCg0K4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC 4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCCbWF4bXVs dD1sDQoNCuKAguKAguKAguKAguKAguKAguKAguKAguKAguKAguKAguKAguKAguKAguKAguKAguKA guKAgm1heG11bHQ9bWF4bXVsdCsxDQoNCuKAguKAguKAguKAguKAguKAguKAguKAguKAguKAguKA guKAguKAguKAguKAguKAguKAguKAgmZvciBpbm5lbiBpbiByYW5nZSgyLCBtYXhtdWx0KToNCg0K 4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC 4oCC4oCC4oCC4oCC4oCCaWYgaCBpbiByYW5nZSgwLCAobWF4X2grMSksIGlubmVuKToNCg0K4oCC 4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC 4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCCaWYgayBpbiByYW5nZSgwLCAobWF4X2srMSks IGlubmVuKToNCg0K4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC 4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC 4oCC4oCCaWYgbCBpbiByYW5nZSgwLCAobWF4X2wrMSksIGlubmVuKToNCg0K4oCC4oCC4oCC4oCC 4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC 4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC Y2h2ZWM9MA0KDQrigILigILigILigILigILigILigILigILigILigILigILigILigILigILigILi gILigILigIJpZiBjaHZlYz09MToNCg0K4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC 4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCCIyBPbmx5IHJlbGF0aXZlbHkg cHJpbWUgaW50ZWdlcnMgaCxrLGwgcGFzcyB0byB0aGlzIGJsb2NrIG9mIHRoZSBjb2RlDQoNCg0K DQoNCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCg0KRnJvbTogYXZpLmUuZ3Jv c3NAZ21haWwuY29tPG1haWx0bzphdmkuZS5ncm9zc0BnbWFpbC5jb20+IDxhdmkuZS5ncm9zc0Bn bWFpbC5jb208bWFpbHRvOmF2aS5lLmdyb3NzQGdtYWlsLmNvbT4+DQoNClNlbnQ6IFRodXJzZGF5 LCBKdWx5IDExLCAyMDI0IDE6MjIgUE0NCg0KVG86IFBvcG92LCBEbWl0cnkgWXUgPGRwb3BvdkBh bmwuZ292PG1haWx0bzpkcG9wb3ZAYW5sLmdvdj4+OyAnUG9wb3YsIERtaXRyeSBZdSB2aWEgUHl0 aG9uLWxpc3QnIDxweXRob24tbGlzdEBweXRob24ub3JnPG1haWx0bzpweXRob24tbGlzdEBweXRo b24ub3JnPj4NCg0KU3ViamVjdDogUkU6IFJlbGF0aXZlbHkgcHJpbWUgaW50ZWdlcnMgaW4gTnVt UHkNCg0KDQoNCtCU0LzQuNGC0YDQuNC5LCBZb3UgbWF5IHRoaW5rIHlvdSBleHBsYWluZWQgd2hh dCB5b3Ugd2FudGVkIGJ1dCBJIGRvIG5vdCBzZWUgd2hhdCByZXN1bHQgeW91IGV4cGVjdCBmcm9t IHlvdXIgZXhhbXBsZXMuIFlvdXIgcmVxdWVzdCBpcyBhIGJpdCB0b28gZXNvdGVyaWMgdG8gYmUg YSBncmVhdCBjYW5kaWRhdGUgZm9yIGJlaW5nIGJ1aWx0IGludG8gYSBtb2R1bGUgbGlrZSBudW1w eSBmb3IgZ2VuZXJhbCBwdXJwb3NlIHNlIGJ1dA0KDQpaalFjbVFSWUZwZnB0QmFubmVyU3RhcnQN Cg0KVGhpcyBNZXNzYWdlIElzIEZyb20gYW4gRXh0ZXJuYWwgU2VuZGVyDQoNClRoaXMgbWVzc2Fn ZSBjYW1lIGZyb20gb3V0c2lkZSB5b3VyIG9yZ2FuaXphdGlvbi4NCg0KDQoNClpqUWNtUVJZRnBm cHRCYW5uZXJFbmQNCg0KDQoNCtCU0LzQuNGC0YDQuNC5LA0KDQoNCg0KWW91IG1heSB0aGluayB5 b3UgZXhwbGFpbmVkIHdoYXQgeW91IHdhbnRlZCBidXQgSSBkbyBub3Qgc2VlIHdoYXQgcmVzdWx0 IHlvdQ0KDQpleHBlY3QgZnJvbSB5b3VyIGV4YW1wbGVzLg0KDQoNCg0KWW91ciByZXF1ZXN0IGlz IGEgYml0IHRvbyBlc290ZXJpYyB0byBiZSBhIGdyZWF0IGNhbmRpZGF0ZSBmb3IgYmVpbmcgYnVp bHQNCg0KaW50byBhIG1vZHVsZSBsaWtlIG51bXB5IGZvciBnZW5lcmFsIHB1cnBvc2Ugc2UgYnV0 IEkgY2FuIGltYWdpbmUgaXQgY291bGQNCg0KYmUgYXZhaWxhYmxlIGluIG1vZHVsZXMgYnVpbGQg b24gdG9wIG9mIG51bXB5Lg0KDQoNCg0KSXMgdGhlcmUgYSByZWFzb24geW91IGNhbm5vdCBzb2x2 ZSB0aGlzIG1vc3RseSBvdXRzaWRlIG51bXB5Pw0KDQoNCg0KSXQgbG9va3MgbGlrZSB5b3UgY291 bGQgdXNlIG51bXB5IHRvIHNlbGVjdCB0aGUgbnVtYmVycyB5b3Ugd2FudCB0byBjb21wYXJlLA0K DQp0aGVuIGNhbGwgb25lIG9mIG1hbnkgbWV0aG9kcyB5b3UgY2FuIGVhc2lseSBzZWFyY2ggZm9y IHRvIHNlZSAgaG93IHRvIHVzZQ0KDQpweXRob24gdG8gbWFrZSBzb21lIGxpc3Qgb3Igb3RoZXIg ZGF0YSBzdHJ1Y3R1cmUgZm9yIGRpdmlzb3JzIG9mIGVhY2ggbnVtYmVyDQoNCmludm9sdmVkIGFu ZCB0aGVuIHVzZSBzdGFuZGFyZCBtZXRob2RzIHRvIGNvbXBhcmUgdGhlIGxpc3RzIGFuZCBleGFj dCBjb21tb24NCg0KZGl2aXNvcnMuIElmIG5lZWRlZCwgeW91IGNvdWxkIHRoZW4gcHV0IHRoZSBy ZXN1bHRzIGJhY2sgaW50byB5b3VyIG9yaWdpbmFsDQoNCmRhdGEgc3RydWN0dXJlIHVzaW5nIG51 bXB5IGFsYmVpdCB0aGUgbnVtYmVyIG9mIG1hdGNoZXMgY2FuIHZhcnkuDQoNCg0KDQpNYXliZSBh IGJldHRlciBleHBsYW5hdGlvbiBpcyBuZWVkZWQgYXMgSSBjYW5ub3Qgc2VlIHdoYXQgeW91ciBs YXR0ZXIgd29yZHMNCg0KYWJvdXQgLTEgYW5kIDEgYXJlIGFib3V0LiBQZXJoYXBzIHNvbWVvbmUg ZWxzZSBrbm93cy4NCg0KDQoNCg0KDQoNCg0KDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t DQoNCkZyb206IFB5dGhvbi1saXN0IDxweXRob24tbGlzdC1ib3VuY2VzK2F2aS5lLmdyb3NzPWdt YWlsLmNvbUBweXRob24ub3JnPG1haWx0bzpweXRob24tbGlzdC1ib3VuY2VzK2F2aS5lLmdyb3Nz PWdtYWlsLmNvbUBweXRob24ub3JnPj4gT24NCg0KQmVoYWxmIE9mIFBvcG92LCBEbWl0cnkgWXUg dmlhIFB5dGhvbi1saXN0DQoNClNlbnQ6IE1vbmRheSwgSnVseSA4LCAyMDI0IDM6MTAgUE0NCg0K VG86IFBvcG92LCBEbWl0cnkgWXUgdmlhIFB5dGhvbi1saXN0IDxweXRob24tbGlzdEBweXRob24u b3JnPG1haWx0bzpweXRob24tbGlzdEBweXRob24ub3JnPj4NCg0KU3ViamVjdDogUmVsYXRpdmVs eSBwcmltZSBpbnRlZ2VycyBpbiBOdW1QeQ0KDQoNCg0KRGVhciBTaXJzLg0KDQoNCg0KRG9lcyBO dW1QeSBwcm92aWRlIGEgc2ltcGxlIG1lY2hhbmlzbSB0byBpZGVudGlmeSByZWxhdGl2ZWx5IHBy aW1lIGludGVnZXJzLA0KDQppLmUuIGludGVnZXJzIHdoaWNoIGRvbid0IGhhdmUgYSBjb21tb24g ZmFjdG9yIG90aGVyIHRoYW4gKzEgb3IgLTE/IEZvcg0KDQpleGFtcGxlLCBpbiBjYXNlIG9mIHRo aXMgYXJyYXk6DQoNCltbMSw1LDhdLA0KDQogIFsyLDQsOF0sDQoNCiAgWzMsMyw5XV0NCg0KSSBj YW4gaW1hZ2luZSBhIGZ1bmN0aW9uIHdoaWNoIHdvdWxkIHJldHVybiBhcnJheSBvZiBjb21tb24g ZmFjdG9ycyBhbG9uZw0KDQpheGlzIDA6IFsxLDIsM10uIFRob3NlIHRyaXBsZXMgb2YgbnVtYmVy cyBhbG9uZyBheGlzIDEgd2l0aCB0aGUgZmFjdG9yIG9mMQ0KDQpvciAtMSB3b3VsZCBiZSByZWxh dGl2ZWx5IHByaW1lIGludGVnZXJzLg0KDQoNCg0KUmVnYXJkcywNCg0KRG1pdHJ5IFBvcG92DQoN Cg0KDQpBcmdvbm5lLCBJTA0KDQpVU0ENCg0KDQoNCi0tDQoNCmh0dHBzOi8vdXJsZGVmZW5zZS51 cy92My9fX2h0dHBzOi8vbWFpbC5weXRob24ub3JnL21haWxtYW4vbGlzdGluZm8vcHl0aG9uLWxp c3RfXzshIUdfdUNmc2NmN2VXUyFaR0sxWlhZZ21DNmNwTmExeFRYVlROa2xodW5qWWlpbndhRGVf eEUzc0p5VnM0WmNWZ1VCX3YyRkt2RHpEc3B4N0l6RkNaSTdKcEZzaVY1aUg1OFAkPGh0dHBzOi8v dXJsZGVmZW5zZS51cy92My9fX2h0dHBzOi9tYWlsLnB5dGhvbi5vcmcvbWFpbG1hbi9saXN0aW5m by9weXRob24tbGlzdF9fOyEhR191Q2ZzY2Y3ZVdTIVpHSzFaWFlnbUM2Y3BOYTF4VFhWVE5rbGh1 bmpZaWlud2FEZV94RTNzSnlWczRaY1ZnVUJfdjJGS3ZEekRzcHg3SXpGQ1pJN0pwRnNpVjVpSDU4 UCQtLT4NCg0KIDxodHRwczovL3VybGRlZmVuc2UudXMvdjMvX19odHRwczovbWFpbC5weXRob24u b3JnL21haWxtYW4vbGlzdGluZm8vcHl0aG9uLWxpc3RfXzshIUdfdUNmc2NmN2VXUyFaR0sxWlhZ Z21DNmNwTmExeFRYVlROa2xodW5qWWlpbndhRGVfeEUzc0p5VnM0WmNWZ1VCX3YyRkt2RHpEc3B4 N0l6RkNaSTdKcEZzaVY1aUg1OFAkLS0+DQoNCiA8aHR0cHM6Ly91cmxkZWZlbnNlLnVzL3YzL19f aHR0cHM6L21haWwucHl0aG9uLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3B5dGhvbi1saXN0X187ISFH X3VDZnNjZjdlV1MhWkdLMVpYWWdtQzZjcE5hMXhUWFZUTmtsaHVuallpaW53YURlX3hFM3NKeVZz NFpjVmdVQl92MkZLdkR6RHNweDdJekZDWkk3SnBGc2lWNWlINThQJC0tPg0KDQotLTxodHRwczov L3VybGRlZmVuc2UudXMvdjMvX19odHRwczovbWFpbC5weXRob24ub3JnL21haWxtYW4vbGlzdGlu Zm8vcHl0aG9uLWxpc3RfXzshIUdfdUNmc2NmN2VXUyFaR0sxWlhZZ21DNmNwTmExeFRYVlROa2xo dW5qWWlpbndhRGVfeEUzc0p5VnM0WmNWZ1VCX3YyRkt2RHpEc3B4N0l6RkNaSTdKcEZzaVY1aUg1 OFAkLS0+DQoNCmh0dHBzOi8vdXJsZGVmZW5zZS51cy92My9fX2h0dHBzOi8vbWFpbC5weXRob24u b3JnL21haWxtYW4vbGlzdGluZm8vcHl0aG9uLWxpc3RfXzshIUdfdUNmc2NmN2VXUyFhdlpBX1JO SG5JMmFCeTJFMloza3dQQ1kzQjRhRHRveE9iaXQ1NDBQekhlSVdfNHMxVGtrcTVOYXBYTDNLekdY djJCVFdiWVFKSGY2QXNrZVRDLUlFQSQ8aHR0cHM6Ly91cmxkZWZlbnNlLnVzL3YzL19faHR0cHM6 L21haWwucHl0aG9uLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3B5dGhvbi1saXN0X187ISFHX3VDZnNj ZjdlV1MhYXZaQV9STkhuSTJhQnkyRTJaM2t3UENZM0I0YUR0b3hPYml0NTQwUHpIZUlXXzRzMVRr a3E1TmFwWEwzS3pHWHYyQlRXYllRSkhmNkFza2VUQy1JRUEkPg0K

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)