[ruby-core:76002] [Ruby trunk Feature#12361] Proposal: add Geo::Coord class to standard library

From: zverok.offline@...
Date: 2016-06-13 15:20:23 UTC
List: ruby-core #76002
SXNzdWUgIzEyMzYxIGhhcyBiZWVuIHVwZGF0ZWQgYnkgVmljdG9yIFNoZXBlbGV2LgoKCj4gQWx0
aG91Z2ggSSBmZWVsIGl0J3MgZ29vZCB0byBoYXZlIGNvbW1vbiBjb29yZGluYXRpb24gY2xhc3Ms
IEkgZG9uJ3QgdGhpbmsgaXQncyB3aXNlIHRvIHBpY2sgb25lIGltcGxlbWVudGF0aW9uIG92ZXIg
bWFueSBhbmQgYWRkIGl0IHRvIHRoZSBzdGFuZGFyZCBsaWJyYXJ5LiBJdCBzaG91bGQgYmUgZG9u
ZSB0aHJvdWdoIHNvdW5kIGNvbXBldGl0aW9uLgoKVG8gYmUgaG9uZXN0LCBhdCBmaXJzdCAoaXQg
d2FzIH5GZWJydWFyeSksIEkndmUganVzdCB3YW50ZWQgdG8gcG9zdCBoZXJlIGEgbWVyZSBwcm9w
b3NhbCBsaWtlICJsZXQncyBjcmVhdGUgYSBjb21tb24gY2xhc3MgaW4gc3RkbGliIiBhbmQgY2Fs
bCBpdCBhIGRheS4gCgpUaGVuLCBJJ3ZlIHRob3VnaHQgdGhhdCBzb21lIGtpbmQgb2YgInJlZmVy
ZW5jZSBpbXBsZW1lbnRhdGlvbiIgKHdoaWNoIGNhbiBiZSBjaGVja2VkIGFuZCBkaXNjdXNzZWQg
cHJhY3RpY2FsbHkpIHdpbGwgaGVscCB0byBtb3ZlIGludG8gcHJhZ21hdGljIG1hdHRlcnMgYXMg
c29vbiBhcyBwb3NzaWJsZS4KClRoZW4sIEkndmUgc3BlbnQgc29tZSB0aW1lIHRvIGNyZWF0ZSBh
biBpbXBsZW1lbnRhdGlvbiB0byBnbyB3aXRoIHRoZSBwcm9wb3NhbC4KCkFuZCB0aGVuLCBwcm9w
b3NhbCB3YXMgZmFpbGVkIGFuZCByZWplY3RlZCBiZWNhdXNlIGl0IGlzIGltcGxlbWVudGVkIDop
IFRoYXQncyBraW5kIG9mIGZ1bm55LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQpGZWF0dXJlICMxMjM2MTogUHJvcG9zYWw6IGFkZCBHZW86OkNvb3JkIGNsYXNzIHRv
IHN0YW5kYXJkIGxpYnJhcnkKaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzEyMzYx
I2NoYW5nZS01OTIwMAoKKiBBdXRob3I6IFZpY3RvciBTaGVwZWxldgoqIFN0YXR1czogUmVqZWN0
ZWQKKiBQcmlvcml0eTogTm9ybWFsCiogQXNzaWduZWU6IAotLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCiMjIFByb3Bvc2FsCgpBZGQgYEdlbzo6Q29vcmRgIGNsYXNzIHRv
IFJ1Ynkgc3RhbmRhcmQgbGlicmFyeSwgcmVwcmVzZW50aW5nIGBbbGF0aXR1ZGUsIGxvbmdpdHVk
ZV1gIHBhaXIgKyBjb252ZW5pZW5jZSBtZXRob2RzLiBBZGQgYEdlb2Agc3RhbmRhcmQgbGlicmFy
eSB3aXRoIGFkZGl0aW9uYWwgY2FsY3VsYXRpb25zIGFuZCBjb252ZW5pZW5jZSBtZXRob2RzLgoK
IyMgUmF0aW9uYWxlCgpJbiBtb2Rlcm4gYXBwbGljYXRpb25zLCB3b3JraW5nIHdpdGggZ2VvZ3Jh
cGhpY2FsIGNvb3JkaW5hdGVzIGlzIGZyZXF1ZW50LiBXZSBwcm9wb3NlIHRvIHRoaW5rIG9mIHN1
Y2ggY29vcmRpbmF0ZXMgKG5hbWVseSwgYGxhdGl0dWRlLCBsb25naXR1ZGVgIHBhaXIpIGFzIG9m
ICJiYXNpYyIgdHlwZSB0aGF0IHNob3VsZCBiZSBzdXBwb3J0ZWQgYnkgc3RhbmRhcmQgbGlicmFy
eSAtIHRoZSBzYW1lIHdheSBhcyB3ZSBzdXBwb3J0IGBUaW1lYC9gRGF0ZWAvYERhdGVUaW1lYCBp
bnN0ZWFkIG9mIGhhdmluZyBpdCBkZWZpbmVkCmJ5IHVzZXIvZ2Vtcy4KClRoaXMgdHlwZSBpcyB0
b28gInNtYWxsIiB0byBiZSBkZWZpbmVkIGJ5IHNlcGFyYXRlIGdlbSwgc28sIGFsbCBvZiBleGlz
dGluZyBnZW8gZ2VtcyAoR2VvS2l0LCBSR2VvLCBHZW9SdWJ5LCBHcmF0aWN1bGUgZXRjLikgZGVm
aW5lIHRoZWlyIG93biBgTGF0TG5nYCwgb3IgYExvY2F0aW9uYCwgb3IgYFBvaW50YCwgd2hhdGV2
ZXIuCgpPbiBvdGhlciBoYW5kLCBBUEkgZGVzaWduIGZvciB0aGlzICJzbWFsbCIgdHlwZSBpcyB2
YWd1ZSBlbm91Z2ggZm9yIGFsbCB0aG9zZSBzaW1pbGFyIHR5cGVzIHRvIGJlIGluY29tcGF0aWJs
ZSBhbmQgYnJlYWsgc21hbGwgaGFiaXRzIGFuZCBjb252ZW50aW9ucyB3aGVuIHlvdSBjaGFuZ2Ug
ZnJvbSBvbmUgZ2VvIGxpYnJhcnkgdG8gYW5vdGhlciwgb3IgdHJ5IHRvIHVzZSBzZXZlcmFsCnNp
bXVsdGFuZW91c2x5LgoKQWRkaXRpb25hbHksIG1hbnkgZ2VtcyBzb21laG93IHdvcmtpbmcgd2l0
aCBnZW8gY29vcmRpbmF0ZXMgKGZvciB3ZWF0aGVyLCBvciB0aW1lem9uZSwgb3IgYW5vdGhlciB0
YXNrcykgZ2VuZXJhbGx5IHByZWZlciBub3QgdG8gaW50cm9kdWNlIHR5cGUsIGFuZCBqdXN0IHdv
cmsgd2l0aCBgW2xhdCwgbG5nXWAgYXJyYXksIHdoaWNoIGlzIG5vdCB2ZXJ5IGNvbnZlbmllbnQs
IGZhaXRoZnVsbHkuCgpTbywgaGF2aW5nICJnZW8gY29vcmRpbmF0ZXMiIGZ1bmN0aW9uYWxpdHkg
aW4gc3RhbmRhcmQgbGlicmFyeSBzZWVtcyByZWFzb25hYmxlIGFuZCB2YWx1YWJsZS4KCiMjIEV4
aXN0aW5nL3JlZmVyZW5jZSBzb2x1dGlvbnMKClJ1Ynk6CgoqIFtHZW9LaXQ6OkxhdExuZ10oaHR0
cDovL3d3dy5ydWJ5ZG9jLmluZm8vZ2l0aHViL2dlb2tpdC9nZW9raXQvbWFzdGVyL0dlb2tpdC9M
YXRMbmcpOwoqIFtSR2VvOjpGZWF0dXJlOjpQb2ludF0oaHR0cDovL3d3dy5ydWJ5ZG9jLmluZm8v
Z2Vtcy9yZ2VvL1JHZW8vRmVhdHVyZS9Qb2ludCkgKHdpdGggc2V2ZXJhbCAicHJpdmF0ZSIgaW1w
bGVtZW50YXRpb24gY2xhc3Nlcyk7IFJHZW8gaW1wbGVtZW50cyBmdWxsIFtPR0MgU2ltcGxlIEZl
YXR1cmVzXShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9TaW1wbGVfRmVhdHVyZXMpIHNw
ZWNpZmljYXRpb24sIHNvLCBpdHMgcG9pbnRzIGhhdmUgYHpgIGFuZCBgbWAgY29vcmRpbmF0ZXMs
IHByb2plY3Rpb24gYW5kIG11Y2ggbW9yZTsKKiBbR3JhdGljdWxlOjpMb2NhdGlvbl0oaHR0cDov
L3d3dy5ydWJ5ZG9jLmluZm8vZ2l0aHViL2NvbGxlY3RpdmVpZGVhL2dyYXRpY3VsZS9HcmF0aWN1
bGUvTG9jYXRpb24pIChub3Qgc3RyaWN0bHkgYSBgW2xhdCxsbmddYCB3cmFwcGVyKTsKKiBbUm9z
YW1hcnk6Ok5vZGVdKGh0dHA6Ly93d3cucnVieWRvYy5pbmZvL2dlbXMvcm9zZW1hcnkvMC40LjQv
Um9zZW1hcnkvTm9kZSkgKGZvbGxvd3MgbmFtaW5nIGNvbnZlbnRpb24gb2YgdW5kZXJseWluZyBP
cGVuU3RyZWV0TWFwIEFQSSk7CgpPdGhlciBzb3VyY2VzOgoKKiBQeXRob246IFtnZW9weS5Qb2lu
dF0oaHR0cDovL2dlb3B5LnJlYWR0aGVkb2NzLm9yZy9lbi9sYXRlc3QvI2dlb3B5LnBvaW50LlBv
aW50KTsKKiBbRWxhc3RpY1NlYXJjaF0oaHR0cHM6Ly93d3cuZWxhc3RpYy5jby9ibG9nL2dlby1s
b2NhdGlvbi1hbmQtc2VhcmNoKSB1c2VzIGhhc2ggd2l0aCAibGF0IiBhbmQgImxvbiIga2V5czsK
KiBHb29nbGUgTWFwcyBbR2VvY29kaW5nIEFQSV0oaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5j
b20vbWFwcy9kb2N1bWVudGF0aW9uL2dlb2NvZGluZy9pbnRybyNHZW9jb2RpbmdSZXNwb25zZXMp
IHVzZXMgaGFzaCB3aXRoICJsYXQiIGFuZCAibG5nIiBrZXlzOwoqIFBvc3RHSVM6IFtwcmV0dHkg
Y29tcGxpY2F0ZWRdKGh0dHA6Ly9wb3N0Z2lzLm5ldC9kb2NzL21hbnVhbC0yLjIvdXNpbmdfcG9z
dGdpc19kYm1hbmFnZW1lbnQuaHRtbCNSZWZPYmplY3QpICBoYXMgX2dlb21ldHJpY2FsXyAocHJv
amVjdGVkKSBhbmQgX2dlb2dyYXBoaWNhbF8gKGxhdCwgbG5nKSBwb2ludHMgYW5kIHN0dWZmLgoK
IyMgRGVzaWduIGRlY2lzaW9ucwoKV2hpbGUgZGVzaWduaW5nIGBHZW9gIGxpYnJhcnksIG91ciBy
ZWZlcmVuY2UgcG9pbnQgd2FzIHN0YW5kYXJkIGBUaW1lYCBjbGFzcyAoYW5kLCB0byBsZXNzZXIg
ZXh0ZW50LCBgRGF0ZWAvYERhdGVUaW1lYCkuIEl0IGhhcyB0aGlzIHJlc3BvbnNpYmlsaXRpZXM6
CgoqIHN0b3JlcyBkYXRhIGluIHNpbXBsZSBpbnRlcm5hbCBmb3JtOwoqIGhlbHBzIHRvIHBhcnNl
IGFuZCBmb3JtYXQgZGF0YSB0byBhbmQgZnJvbSBzdHJpbmdzOwoqIHByb3ZpZGVzIGVhc3kgYWNj
ZXNzIHRvIGxvZ2ljYWwgY29tcG9uZW50cyBvZiBkYXRhOwoqIGFsbG93cyBtb3N0IHNpbXBsZSBh
bmQgdW5hbWJpZ3VvdXMgY2FsY3VsYXRpb25zLgoKKipNYWluIHR5cGUgbmFtZSoqOiBhcyBmYXIg
YXMgd2UgY2FuIHNlZSwgdGhlcmUncyBubyBnb29kIHNpbmd1bGFyIG5hbWUgZm9yIGAobGF0LCBs
bmcpYCBwYWlyIGNvbmNlcHQuIEFzIG1lbnRpb25lZCBhYm92ZSwgdGhlcmUgY2FuIGJlIHNlZW4g
bmFtZXMgbGlrZSBgTGF0TG5nYCwgb3IgYExvY2F0aW9uYCwgb3IgYFBvaW50YDsgYW5kIGluIG5h
dHVyYWwgbGFuZ3VhZ2UKanVzdCAiY29vcmRpbmF0ZXMiIHVzZWQgZnJlcXVlbnRseS4gV2UgcHJv
cG9zZSB0aGUgbmFtZSBgQ29vcmRgLCB3aGljaCBpcyBwcmV0dHkgc2hvcnQsIGVhc3kgdG8gcmVt
ZW1iZXIsIGRlbW9uc3RyYXRlcyBpbnRlbnRpb25zIChhbmQgbG9va3MgbGlrZSBzaW5ndWxhciwg
c28geW91IGNhbiBoYXZlICJvbmUgY29vcmQgb2JqZWN0IiBhbmQgImFycmF5IG9mIGNvb3JkcyIs
CndoaWNoIGlzIG5vdCAxMDAlIGxpbmd1aXN0aWNhbGx5IGNvcnJlY3QsIHlldCBjb252ZW5pZW50
KS4gQWx0ZXJuYXRpdmUgYFBvaW50YCBuYW1lIHNlZW1zIHRvIGJlIHRvbyBhbWJpZ291cywgYmVp
bmcgdXNlZCBpbiBtYW55IGNvbnRleHRzLgoKYEdlbzo6Q29vcmRgIG9iamVjdCBpcyAqKmltbXV0
YWJsZSoqLCB0aGVyZSdzIG5vIHNlbWFudGljYWwgc2Vuc2UgaW4gYGxvY2F0aW9uLmxhdGl0dWRl
ID0gLi4uYCBvciBzb21ldGhpbmcgbGlrZSB0aGlzLgoKKipVbml0cyoqOiBgR2VvYCBjYWxjdWxh
dGlvbnMgKGp1c3QgbGlrZSBgVGltZWAgY2FsY3VsYXRpb25zKSBwcm92aWRlIG5vIHVuaXRzIG9w
dGlvbnMsIGp1c3QgcmV0dXJuaW5nIG51bWJlcnMgbWVhc3VyZWQgaW4gImRlZmF1bHQiIHVuaXRz
OiBtZXRyZXMgZm9yIGRpc3RhbmNlcyAoYXMgdGhleSBhcmUgU0kgdW5pdCkgYW5kIGRlZ3JlZXMg
Zm9yIGF6aW11dGguIExhdGl0dWRlIGFuZCBsb25naXR1ZGUgYXJlIHN0b3JlZCBpbiBkZWdyZWVz
LCBidXQgcmFkaWFucyB2YWx1ZXMgYWNjZXNzb3JzIGFyZSBwcm92aWRlZCAoYmVpbmcgd2lkZWx5
IHVzZWQgaW4gZ2VvZGVzeSBtYXRoKS4KCkFsbCBjb29yZGluYXRlcyBhbmQgY2FsY3VsYXRpb25z
IGFyZSB0aG91Z2h0IHRvIGJlIGluIFdHUyA4NCBjb29yZGluYXRlcyByZWZlcmVuY2Ugc3lzdGVt
LCBiZWluZyBjdXJyZW50IHN0YW5kYXJkIGZvciBtYXBzIGFuZCBHUFMuCgpUaGVyZSdzIGludHJv
ZHVjZWQgKipjb25jZXB0IG9mIGdsb2JlKiogdXNlZCBpbnRlcm5hbGx5IGZvciBjYWxjdWxhdGlv
bnMuIE9ubHkgZ2VuZXJpYyAoc3BoZXJlKSBhbmQgRWFydGggZ2xvYmVzIGFyZSBpbXBsZW1lbnRl
ZCwgYnV0IGZvciAyMDE2IHdlIGZlZWwgbGlrZSBjdXJyZW50IGRlc2lnbiBvZiBiYXNpYyB0eXBl
cyBzaG91bGQgdGFrZSBpbiBjb25zaWRlcmF0aW9uCnBvc3NpYmlsaXR5IG9mIHdyaXRpbmcgUnVi
eSBzY3JpcHRzIGZvciBNYXJzIG1hcHMgYW5hbHlzaXMuIE9ubHkgb25lIGdlb2Rlc3kgZm9ybXVs
YSBpcyBpbXBsZW1lbnRlZCAoVmluY2VudHksIGdlbmVyYWxseSBjb25zaWRlcmVkIG9uZSBvZiB0
aGUgbW9zdCBwcmVjaXNlKSwgYXMgZm9yIHN0YW5kYXJkIGxpYnJhcnkgY2xhc3MgaXQgY29uc2lk
ZXJlZCB1bm5lY2Vzc2FyeSB0byBwcm92aWRlIHVzZXIgd2l0aCBnZW9kZXN5IGZvcm11bGFlIG9w
dGlvbnMuCgpObyAqKm1hcCBwcm9qZWN0aW9uKiogbWF0aCB3YXMgYWRkZWQgaW50byBjdXJyZW50
IHByb3Bvc2FsLCBidXQgaXQgbWF5IGJlIGEgZ29vZCBkaXJlY3Rpb24gZm9yIGZ1cnRoZXIgd29y
ay4gTm8gKiplbGV2YXRpb24qKiBkYXRhIGNvbnNpZGVyZWQgZWl0aGVyLgoKIyMgUHJvcG9zYWwg
ZGV0YWlscwoKIyMjIGBHZW86OkNvb3JkYCBjbGFzcwoKUmVwcmVzZW50cyBgW2xhdGl0dWRlLCBs
b25naXR1ZGVdYCBwYWlyLiBMYXRpdHVkZSBpcyAtOTAgdG8gKzkwIChkZWdyZWVzKS4gTG9uZ2l0
dWRlIGlzIC0xODAgdG8gKzE4MC4KCkNsYXNzIG1ldGhvZHM6CgoqIGBuZXcobGF0LCBsbmcpYCBj
cmVhdGVzIGluc3RhbmNlIGZyb20gdHdvIE51bWVyaWNzIChpbiBkZWdyZWVzKTsKKiBgbmV3KGxh
dDosIGxuZzopYCBrZXl3b3JkIGFyZ3VtZW50cyBmb3JtIG9mIGFib3ZlOwoqIGBuZXcobGF0ZDos
IGxhdG06LCBsYXRzOiwgbGF0aDosIGxuZ2Q6IGxuZ206LCBsbmdzOiBsbmdoOilgIGNyZWF0ZXMg
aW5zdGFuY2UgZnJvbSBjb29yZGluYXRlcyBpbiAoZGVnLCBtaW4sIHNlYywgaGVtaXNwaGVyZSkg
Zm9ybTsgaGVtaXNwaGVyZXMgYXJlICJOIi8iUyIgZm9yIGxhdGl0dWRlIGFuZCAiVyIvRSIgZm9y
IGxvbmdpdHVkZTsgYW55IGNvbXBvbmVudCBleGNlcHQgZm9yIGRlZ3JlZXMgY2FuIGJlIG9taXR0
ZWQ7IGlmIGhlbWlzcGhlcmUgaXMgb21pdHRlZCwgaXQgaXMgZGVjaWRlZCBieSBkZWdyZWVzIHNp
Z24gKGxhdDogcG9zaXRpdmUgaXMgIk4iLCBsbmc6IHBvc2l0aXZlIGlzICJFIik7CiogYGZyb21f
aChoYXNoKWAgY3JlYXRlcyBpbnN0YW5jZSBmcm9tIGhhc2ggd2l0aCBgImxhdCJgIG9yIGAibGF0
aXR1ZGUiYCBrZXkgYW5kIGAibG9uImAgb3IgYCJsbmciYCBvciBgImxvbmdpdHVkZSJgIGtleSAo
Y2FzZS1pbmRlcGVuZGVudCk7CiogYGZyb21fcmFkaWFucyhwaGksIGxhKWAgY3JlYXRlcyBpbnN0
YW5jZSBmcm9tIHJhZGlhbiB2YWx1ZXM7CiogYHN0cnBjb29yZGAgcGFyc2VzIHN0cmluZyBpbnRv
IGNvb3JkaW5hdGVzIGJ5IHByb3ZpZGVkIHBhdHRlcm4gKHNlZSBiZWxvdyBmb3IgcGF0dGVybiBk
ZXNjcmlwdGlvbik7CiogYHBhcnNlX2xsYCBwYXJzZXMgY29vcmRpbmF0ZXMgc3RyaW5nIGluIGAi
ZmxvYXQsIGZsb2F0ImAgZm9ybTsKKiBgcGFyc2VfZG1zYCBwYXJzZXMgY29vcmRpbmF0ZXMgc3Ry
aW5nIGluIGBkIG0gcyBoLCBkIG0gcyBoYCBmb3JtYXQgKGNvbnNpZGVyaW5nIHNldmVyYWwgd2lk
ZWx5IHVzZWQgc3ltYm9scyBmb3IgZGVncmVlcywgbWludXRlcyBhbmQgc2Vjb25kcyk7CiogYHBh
cnNlYCB0cmllcyB0byBwYXJzZSBzdHJpbmcgaW50byBjb29yZGluYXRlcyBmcm9tIHZhcmlvdXMg
Zm9ybWF0cy4KCkluc3RhbmNlIG1ldGhvZHM6CgoqIGBsYXRgIGFuZCBgbG5nYCwgcmV0dXJuaW5n
IGBGbG9hdGBzLCBzaWduZWQ7CiogYGxhdGl0dWRlYCBhbmQgYGxvbmdpdHVkZWAgYXMgYW4gYWxp
YXNlczsgYGxvbmAgYXMgYW4gYWRkaXRpb25hbCBhbGlhc2VzIGZvciBsb25naXR1ZGU7CiogYGxh
dGRgLCBgbGF0bWAsIGBsYXRzYCwgYGxhdGhgOiBkZWdyZWUsIG1pbnV0ZSwgc2Vjb25kLCBoZW1p
c3BoZXJlOyBgbGF0ZGAgYW5kIGBsYXRtYCBhcmUgYEZpeG51bWAsIGBsYXRzYCBpcyBgRmxvYXRg
LCBgbGF0aGAgaXMgIk4iLyJTIjsgYWxsIG51bWJlcnMgYXJlIHVuc2lnbmVkOwoqIGBsbmdkYCwg
YGxuZ21gLCBgbG5nc2AsIGBsbmdoYDogdGhlIHNhbWUgZm9yIGxvbmdpdHVkZSAoaGVtaXNwaGVy
ZSBpcyAiVyIvIkUiKTsKKiBgbGF0ZG1zKG5vaGVtaXNwaGVyZSA9IGZhbHNlKWAgcmV0dXJucyBg
W2xhdGQsIGxhdG0sIGxhdHMsIGxhdGhdYCB3aXRoIGBub2hlbWlzcGhlcmVgIHBhcmFtIGVxdWFs
IHRvIGBmYWxzZWAsIGFuZCBgW8KxbGF0ZCwgbGF0bSwgbGF0c11gIHdpdGggYHRydWVgOyBzYW1l
IHdpdGggYGxuZ2Rtc2AgZm9yIGxvbmdpdHVkZTsKKiBgcGhpYCBhbmQgYM+GYCBpcyBsYXRpdHVk
ZSBpbiByYWRpYW5zIChoZWxwZnVsIGZvciBtYXRoKSwgYGxhYCBvciBgzrtgIGlzIGxvbmdpdHVk
ZSBpbiByYWRpYW5zIChub3QgYGxhbWJkYWAgdG8gbm90IGNvbmZ1c2Ugd2l0aCBLZXJuZWwgbWV0
aG9kKTsKKiBgdG9fc2AgcmV0dXJuaW5nIHN0cmluZyBsaWtlICI1MC4wMDQ0NDQsMzYuMjMxMzg5
IiAoZ29vZCBmb3IgbWFwIFVSTHMgY29uc3RydWN0aW9uLCBmb3IgZXhhbXBsZSk7CiogYHRvX2go
bGF0OiA6bGF0LCBsbmc6IDpsbmcpYCBjb252ZXJ0cyBjb29yZCB0byBoYXNoICh3aXRoIGRlc2ly
ZWQga2V5IG5hbWVzKTsKKiBgdG9fYWAgY29udmVydHMgY29vcmQgdG8gc2ltcGxlIGBbbGF0LCBs
bmddYCBwYWlyOwoqIGBzdHJmY29vcmQoZm9ybWF0c3RyKWAgZm9yIGNvbXBsZXggY29vcmRpbmF0
ZSBmb3JtYXR0aW5nIChzZWUgYmVsb3cgZm9yIGZvcm1hdCBzdHJpbmcgZGVzY3JpcHRpb24pOwoq
IGBkaXN0YW5jZShvdGhlcilgIGNhbGN1bGF0ZXMgZGlzdGFuY2UgdG8gYW5vdGhlciBwb2ludCAo
aW4gbWV0cmVzKTsKKiBgYXppbXV0aChvdGhlcilgIGNhbGN1bGF0ZXMgZGlyZWN0aW9uIHRvIHRh
cmdldCAoaW4gZGVncmVlcyk7CiogYGVuZHBvaW50KGRpcmVjdGlvbiwgYXppbXV0aClgIGNhbGN1
bGF0ZXMgZmluYWwgcG9pbnQgb2YgdGhlIGxpbmUgb2YgYGRpc3RhbmNlYCBtZXRyZXMgZ29pbmcg
aW4gYGF6aW11dGhgIGRpcmVjdGlvbiBmcm9tIGN1cnJlbnQgcG9pbnQuCgojIyMjIGBzdHJwY29v
cmRgL2BzdHJmY29vcmRgCgpFeGFtcGxlOgoKfn5+cnVieQpraGFya2l2LnN0cmZjb29yZCgnJWxh
dGR1wrAlbGF0beKAsiVsYXRz4oCzICVsYXRoLCAlbG5nZHXCsCVsbmdt4oCyJWxuZ3PigLMgJWxu
Z2gnKQojID0+ICI1MMKwMOKAsjE24oCzIE4sIDM2wrAxM+KAsjUz4oCzIEUiCn5+fgoKRGlyZWN0
aXZlczoKCiogYCVsYXRgIC0gZnVsbCBsYXRpdHVkZSwgZmxvYXQ7IGNhbiBiZSBmb3JtYXR0ZWQg
d2l0aCBtb3JlIGNvbnRyb2wgbGlrZSBgJS40bGF0YCAoZm91ciBkaWdpdHMgYWZ0ZXIgcG9pbnQp
IG9yIGAlK2xhdGAgKGV4cGxpY2l0IHBsdXMgc2lnbiBmb3IgcG9zaXRpdmUgbGF0aXR1ZGVzKTsK
KiBgJWxhdGRgIC0gbGF0aXR1ZGUgZGVncmVlcywgdW5zaWduZWQsIGludGVnZXIKKiBgJWxhdGRz
YCAtIGxhdGl0dWRlIGRlZ3JlZXMsIHNpZ25lZAoqIGAlbGF0bWAgLSBsYXRpdHVkZSBtaW51dGVz
LCB1bnNpZ25lZCwgaW50ZWdlcgoqIGAlbGF0c2AgLSBsYXRpdHVkZSBzZWNvbmRzLCB1bnNpZ25l
ZCwgaW50ZWdlciwgYnV0IGNhbiBiZSBmb3JtYXR0ZWQgYXMgZmxvYXQ6IGAlLjJsYXRzYAoqIGAl
bGF0aGAgLSBsYXRpdHVkZSBoZW1pc3BoZXJlLCBvbmUgbGV0dGVyICgiTiIvIlMiKQoqIGAlbG5n
YCwgYCVsbmdkYCwgYCVsbmdkc2AsIGAlbG5nc2AsIGAlbG5naGAsIGAlbG5nSGAgLSBzYW1lIGZv
ciBsb25naXR1ZGUKKiBgJSVgIGxpdGVyYWwgYCVgIHNpZ24KCiMjIyBDdXJyZW50IGltcGxlbWVu
dGF0aW9uCgpQcm9wb3NlZCBpbXBsZW1lbnRhdGlvbiBjYW4gYmUgZm91bmQgYXQgaHR0cHM6Ly9n
aXRodWIuY29tL3p2ZXJvay9nZW9fY29vcmQuCgpJdCB3YXMgY3JlYXRlZCB3aXRoIHRob3VnaHRz
IG9mIHN0YW5kYXJkIGxpYnJhcnksIHNvLCBhbGwgZG9jcyBhcmUgaW4gUkRvYyBmb3JtYXQsIGFu
ZCB0ZXN0cy9zcGVjcyBhcmUgaW4gbXNwZWMtY29tcGF0aWJsZSByc3BlYyBmbGF2b3VyLgoKCgoK
LS0gCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnLwoKVW5zdWJzY3JpYmU6IDxtYWlsdG86cnVi
eS1jb3JlLXJlcXVlc3RAcnVieS1sYW5nLm9yZz9zdWJqZWN0PXVuc3Vic2NyaWJlPgo8aHR0cDov
L2xpc3RzLnJ1YnktbGFuZy5vcmcvY2dpLWJpbi9tYWlsbWFuL29wdGlvbnMvcnVieS1jb3JlPgo=

In This Thread

Prev Next