Re: Are there real use cases with the Java access modes?

Gregg Wonderly via Concurrency-interest <[email protected]> Fri, 23 Jul 2021 10:24:05 -0500
Newsgroups gmane.comp.java.jsr.166-concurrency
Message-ID <[email protected]>
Cgo+IE9uIEp1bCAyMywgMjAyMSwgYXQgNDoxNCBBTSwgQW5kcmV3IERpbm4gdmlhIENvbmN1cnJl
bmN5LWludGVyZXN0IDxjb25jdXJyZW5jeS1pbnRlcmVzdEBjcy5vc3dlZ28uZWR1PiB3cm90ZToK
PiAKPiBPbiAyMy8wNy8yMDIxIDA0OjM2LCBHcmVnZyBXb25kZXJseSB2aWEgQ29uY3VycmVuY3kt
aW50ZXJlc3QKPiAKPj4gVHJ1bHksIGl0IHRha2VzIHByZXR0eSBleHRyZW1lIGV4cGVydGlzZSBh
bmQgZXhwZXJpZW5jZSB0byB0cnVseQo+PiB1bmRlcnN0YW5kIGhvdyB0byBbdXNlIEphdmEgdG9d
IGRvIGNvbmN1cnJlbnQgcHJvZ3JhbW1pbmcuCj4gCj4gTGV0J3MganVzdCBub3RlIHRoYXQgaWYg
eW91IHRha2Ugb3V0IHRoZSBicmFja2V0ZWQgcGhyYXNlIHRoYXQgc3RhdGVtZW50IHN0aWxsIHJl
bWFpbnMgdHJ1ZS4KCkkgYWRkZWQgdGhhdCBwaHJhc2UgYmVjYXVzZSBteSBleHBlcmllbmNlIHdp
dGggY29uY3VycmVuY3kgaW5zaWRlIG9mIEphdmEgcHJvZ3JhbXMgaXMgdGhlIGxhcmdlc3QgZXhw
b3N1cmUgSSBoYXZlLiAgQnV0IHRoYXQgaXMgZGF0ZWQgY29tcGFyZWQgdG8gbXkgdXNlIG9mIG11
bHRpLXRocmVhZGVkIGFwcGxpY2F0aW9uIGluIEMvQysrIHRoYXQgSeKAmXZlIHJlY2VudGx5IGJl
ZW4gaW52b2x2ZWQgaW4uICBJbiB0aG9zZSBjYXNlcywgdGhlcmUgaXMgbm8gd29ycnkgYWJvdXQg
bm9uLXZvbGF0aWxlIGhvaXN0aW5nIGRvZXNu4oCZdCBvY2N1ciBhdCBhbGwuICBEYXRhIHJhY2Vz
IGFyZSBzcGVjaWZpY2FsbHkgYmVjYXVzZSBvZiBsYWNrIG9mIGludGVyLXRocmVhZCBtZWRpYXRp
b24gb2YgYWNjZXNzLiAgVGhlIGxhbmd1YWdlIGp1c3QgZG9lc27igJl0IHNwZWNpZnkgdGhhdCB0
aGlzIGlzIHBvc3NpYmxlLiAgSW5zdHJ1Y3Rpb24gc2NoZWR1bGluZyBjb21waWxlcnMgZG8gZXhp
c3QsIGFuZCBoYXZlIGZvciBzb21lIHRpbWUgZm9yIHRob3NlIGxhbmd1YWdlcy4gIEkgdXNlZCBv
bmUgb24gbXkgQW1pZ2Egd2l0aCBhIE1vdG9yb2xsYSA2ODA0MCBpbiB0aGUgZWFybHkgMTk5MOKA
mXMuICBUaGF04oCZcyBhIGFnZWQgYW5kIGV2ZXItcHJlc2VudCB0ZWNobm9sb2d5IHRvZGF5LCBi
dXQgYmVjYXVzZSBvZiBzbWFsbCBibG9jayBjb25zdHJ1Y3Rpb24gb2YgbXVjaCBzb2Z0d2FyZSwg
aXQgcmFyZWx5IGhhcyBhbiBvcHBvcnR1bml0eSB0byBmdWxseSB1dGlsaXplIGFuIGV4dHJhIEFM
VSwgYnV0IHN0aWxsIHdlIGhhdmUgaHlwZXIgdGhyZWFkZWQgcHJvY2Vzc29ycyB0cnlpbmcgdG8g
cHJvdmlkZSB0aGF0IGNhcGFiaWxpdHkuCgo+IEkgdGhpbmsgdGhlIHJlYWwgcG9pbnQgeW91IGFy
ZSB0cnlpbmcgdG8gbWFrZSBoZXJlIGlzIHRoYXQgaW5zZXJ0aW9uIG9mIHRoYXQgcXVhbGlmeWlu
ZyBwaHJhc2UgcmVmZXJlbmNpbmcgSmF2YSBtYWtlcyBhIC9zaWduaWZpY2FudC8gZGlmZmVyZW5j
ZSwgd2hldGhlciB0aGF0J3MganVzdCBtb2R1bG8gdGhlIGdlbmVyYWwgcHJvYmxlbSBvciBtb2R1
bG8gc29tZSBzcGVjaWZpYyBhbHRlcm5hdGl2ZSBsYW5ndWFnZSAob3IgSmF2YSB2YXJpYW50KSB0
aGF0IHlvdSB3YW50IHRvIG9mZmVyIGFzIGFuIGlucHJvdmVtZW50LiBPdmVyIHRoZSB5ZWFycyBJ
IGhhdmUgd3JpdHRlbiBhIGxvdCBvZiBjb25jdXJyZW50IGFuZCBwYXJhbGxlbCBjb2RlIGluIGEg
bG90IG9mIGRpZmZlcmVudCBsYW5ndWFnZXMgYW5kIEkgaGF2ZSB0byBkaXNhZ3JlZSB3aXRoIHlv
dXIgY29udGVudGlvbiBvbiB0d28gZ3JvdW5kcy4KCk5vbi12b2xhdGlsZSBieSBkZWZhdWx0IHdp
dGggaG9pc3RpbmcgYmVpbmcgcGVyZm9ybWVkIG1ha2VzIGEgc2lnbmlmaWNhbnQgZGlmZmVyZW5j
ZSBpbiBob3cgeW91ciBjb2RlIGlzIGNvbXBpbGVkIGFuZCB0aHVzIGhvdyBpdCBpcyBleGVjdXRl
ZCBhbmQgdGhlIGxvY2FsaXR5IG9mIGxvZ2ljIGNoYW5nZXMgdGhhdCB5b3UgbWF5IG5vdCBiZSBk
aXJlY3RseSBhd2FyZSBvZiBkdWUgdG8gdGhlIGxvZ2ljIG9mIHRoZSBzb2Z0d2FyZSBhcyB2aXNp
Ymx5IGNvZGVkLgoKPiAKPiAxKSBJIGhhdmUgaW52YXJpYWJseSBmb3VuZCB0aGF0IGFsbW9zdCBh
bGwgb2YgdGhlIGRpZmZpY3VsdHkgaW4gY29uY3VycmVudC9wYXJhbGxlbCBwcm9ncmFtbWluZyBp
cyB0byBkbyB3aXRoIHRoZSBjb25jdXJyZW5jeSBub3QgdGhlIGxhbmd1YWdlIGluIHdoaWNoIHRo
ZSBwcm9ncmFtIGlzIGVuY29kZWQuIEZpeGF0aW5nIG9uIHRoZSBkZXRhaWxzIG9mIGEgbGFuZ3Vh
Z2UgZW5jb2RpbmcgaXMgc29tZXRoaW5nIGJlZ2lubmVycyBkbyBiZWNhdXNlIHRoZXkgZG9uJ3Qg
a25vdyBob3cgdG8gdGhpbmsgYWJvdXQgY29uY3VycmVuY3kgcHJvYmxlbXMgaW4gdGhlIGFic3Ry
YWN0LCBpbmRlcGVuZGVudCBvZiB0aGUgbGFuZ3VhZ2UgdGhleSBhcmUgdXNpbmcuIEhvd2V2ZXIs
IHRoZXkgYXJlIHNlcmlvdXNseSBtaXNzaW5nIHRoZSBwb2ludCBpbiBiZWluZyBzbyBmaXhhdGVk
IGJlY2F1c2UgdGhlIGxlc3NvbiB0byBiZSBsZWFybnQgZnJvbSB3cml0aW5nIGEgcGFyYWxsZWwv
Y29uY3VycmVudCBwcm9ncmFtIGlzIG5vdCBob3cgdG8gZW5jb2RlIGl0IGluIGxhbmd1YWdlIFgg
YnV0IGhvdyBhbnkgZW5jb2Rpbmcgb25lIGNvbWVzIHVwIHdpdGggZW1ib2RpZXMgYSBzb2x1dGlv
biB0aGF0IChhcyBpcyBhbG1vc3QgaW52YXJpYWJseSB0aGUgY2FzZSkgdHJhbnNjZW5kcyB0aGUg
c3BlY2lmaWNzIG9mIGxhbmd1YWdlIFguCgpZZXMsIGJ1dCBhcyB3ZSBhbGwgbWF5IGhhdmUgbGVh
cm5lZCBpbiBjb2xsZWdlIGNsYXNzZXMsIHRoZXJlIGFyZSB3ZWxsIGtub3duIGFsZ29yaXRobXMg
KGNvZGlmaWVkIGluIGphdmEudXRpbC5jb25jdXJyZW50KSBmb3IgbWFuYWdpbmcgZGF0YSBzaGFy
aW5nIGFjcm9zcyB0aHJlYWRzLiAgVGhhdOKAmXMgZmluZSBhbmQgZGFuZHkgc3R1ZmYuICBIb3dl
dmVyIHRoZSBtZXJlIHByZXNlbmNlIG9mIOKAnHZvbGF0aWxl4oCdIHZzIOKAnG5vbi12b2xhdGls
ZeKAnSByZWZlcmVuY2VzIGhhcyBsaXR0bGUgdG8gZG8gd2l0aCBjb25jdXJyZW5jeSwgYnV0IHJh
dGhlciBhc3luY2hyb25vdXMgYmVoYXZpb3JzLCBubyBtYXR0ZXIgaG93IHRoZXkgYXJlIGNvbnRy
b2xsZWQvaW5pdGlhdGVkLiBXaGF0IEkgbWVhbiwgaXMgdGhhdCBpZiB5b3UgaGFkIGEgYm9vbGVh
biBpbiBhIGNsYXNzLCBhbmQgcHJvdmlkZWQgYSBKTkkgbWV0aG9kIHRvIHBhc3MgdGhlIGNsYXNz
IHJlZmVyZW5jZSBpbnRvIHNvbWUgQy1sYW5ndWFnZSBzb2Z0d2FyZSB0aGF0IHNldHVwIGEgaGFy
ZHdhcmUgaW50ZXJydXB0IHRoYXQgd291bGQgZGlzcGF0Y2ggaW50byB0aGF0IEMgY29kZSwgYW5k
IHRoZSBDIGNvZGUgdGhlbiBjYWxsZWQgYmFjayB0aHJvdWdoIEpOSSB0byBzZXQgdGhlIGJvb2xl
YW4sIGFuZCB5b3UgYXJlIG9uIGEgc2luZ2xlIGNvcmUgcHJvY2Vzc29yLCB0aGF04oCZcyBhIOKA
nHRocmVhZCBvZiBleGVjdXRpb27igJ0gYW5kIGNvbmN1cnJlbnQgYmVoYXZpb3IsIGJ1dCBpdOKA
mXMgdGhlIHN0dWZmIHRoYXQgaGFzIGJlZW4gZG9uZSBmb3IgYWdlcywgYW5kIGluIEMgYW5kIEMr
KyB0aGVyZSBoYXMgbmV2ZXIgYmVlbiBob2lzdGluZyBhbmQgdGhlIGNoYW5nZXMgdGhhdCBKYXZh
4oCZcyBub24tdm9sYXRpbGUgZGVmYXVsdCBwcmVzZW50cywgaXMgYSBjb21wbGV0ZWx5IGRpZmZl
cmVudCBiZWhhdmlvci4gIFRoaXMgaXMgdGhlIHN1cnByaXNlLiAgSXTigJlzIG5vdCBzb21ldGhp
bmcgZXhwbGljaXRseSByZXF1ZXN0ZWQsIGJ1dCByYXRoZXIgc29tZXRoaW5nIGltcGxpY2l0bHkg
cGFydCBvZiB0aGUgbGFuZ3VhZ2UgYW5kIGl04oCZcyBjb21wbGV0ZWx5IGRpZmZlcmVudCB0byB3
aGF0IG1vc3QgcGVvcGxlIGhhdmUgZXhwZXJpZW5jZWQgaW4gb3RoZXIgbGFuZ3VhZ2VzLgoKQ29u
Y3VycmVuY3kgdGhyb3VnaCB0aGUgdXNlIG9mIHdlbGwga25vd24gcGF0dGVybnMgYWxsb3dzIGFs
bCBraW5kcyBvZiBzaGFyaW5nIGFuZCBub3Qtc2hhcmluZyByZWZlcmVuY2VzIHRvIGJlIG1hbmFn
ZWQuICBUaGUgZmFjdCB0aGF0IEphdmEsIGFzIGEgY29uY3VycmVudCBsYW5ndWFnZSwgY2hvc2Ug
dG8gbm90IHNoYXJlIGRhdGEgYnkgZGVmYXVsdCBpcyB0aGUgZGV0YWlsLiAgVGhlIFNQQVJDIGhh
cmR3YXJlIG1lbW9yeSBtb2RlbCB3YXMgdGhlIHdlYWtlc3QuICBJdCBoYWQgYmV0dGVyIHRocm91
Z2hwdXQgYmVjYXVzZSBTdW4gb3B0aW1pemVkIHRoZSBKVk0gdG8gYWxsb3cgdGhhdCB0byBoYXBw
ZW4uICBUaGUgSk1NICBsYXJnZWx5IHJlZmxlY3RzIHRoZSBuZWVkIHRvIGhhdmUgYSB3ZWFrIG1l
bW9yeSBtb2RlbCBpbiB0aGUgcHJvY2Vzc29yLiAgVGhlIEpNTSBwcmVzc2VzIHBhcnRzIG9mIGhh
cmR3YXJlIGRlc2lnbiB1cCBpbnRvIHRoZSBzb2Z0d2FyZSBzeXN0ZW1zIGRlc2lnbiB3aGVyZSB0
aGUgY29uY3VycmVuY3kgbGlicmFyaWVzIGhhdmUgdG8gbWFuaXB1bGF0ZSBoYXJkd2FyZSBmZWF0
dXJlcyAoaGFwcGVucyBiZWZvcmUgcmVxdWlyZW1lbnRzKSB0byBtYWtlIG1lbW9yeSByZWZlcmVu
Y2VzIHdvcmsgY29ycmVjdGx5LgoKPiAyKSBIb3JzZXMgZm9yIGNvdXJzZXMgaXMgYWxzbyBhbiBl
ZGdlIGVmZmVjdC4gV2hpbGUgc29tZSBsYW5ndWFnZXMgZG8gaW5kZWVkIG1ha2UgbWFuYWdlbWVu
dCBvZiB0aGUgY29uY3VycmVuY3kvcGFyYWxsZWxpc20gZWFzaWVyIHRoZXkgb2Z0ZW4gZG8gc28g
YXQgdGhlIGNvc3Qgb2YgbWFraW5nIG90aGVyIGdvYWxzIG11Y2ggaGFyZGVyLiBJbiB0aGUgd29y
c3QgY2FzZSBhIGNsZWFyIGNvbmN1cnJlbmN5IG1vZGVsIGNhbiBjb3N0IGFsIG9mIHRoZSBwZXJm
b3JtYW5jZSBnYWlucyB0aGUgY29uY3VycmVuY3kgcHJpbWl0aXZlcyBhcmUgdGhlcmUgdG8gcHJv
dmlkZS4KClRoaXMgaXMgdGhlIHJlYXNvbiB3aHkgdGhlIEpNTSB3YXMgYW4gaW1wb3J0YW50IHRo
aW5nIHRvIGhhdmUuICBJdCBwcm92aWRlcyBhIGJlaGF2aW9yIHNwZWNpZmljYXRpb24gdGhhdCBp
cyBpbmRlcGVuZGVudCBvZiB0aGUgaGFyZHdhcmUgaW1wbGVtZW50YXRpb24gbW9zdGx5LCBidXQg
ZG9lcyByZXF1aXJlIHNvbWUgbWVtb3J5IGNvbnNpc3RlbmN5IGNvbnN0cmFpbnRzIG5lY2Vzc2Fy
eSBmb3IgaGFwcGVucy1iZWZvcmUgdG8gd29yay4KCj4gRm9yIGV4YW1wbGUsIEkgd29ya2VkIG9u
IHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBhIHBhcmFsbGVsIGxvZ2ljIGxhbmd1YWdlIDMwIHllYXJz
IGFnbyB0aGF0IHdhcyB3b25kZXJmdWxseSB0cmFuc3BhcmVudCBhcyBmYXIgYXMgbW9kZWxsaW5n
IGNvbmN1cnJlbmN5IHdhcyBjb25jZXJuZWQsIG1vc3QgZXNwZWNpYWxseSBmb3IgcHJvYmxlbXMg
d2l0aCBpcnJlZ3VsYXIgcGFyYWxsZWwgZGVjb21wb3NpdG9ucy4gVW5mb3J0dW5hdGVseSwgYWNo
aWV2aW5nIGhpZ2ggc3BlZWQtdXAgb24gbXVsdGktY29yZSBtYWNoaW5lcyB3YXMgZXh0cmVtZWx5
IGRpZmZpY3VsdCBiZWNhdXNlIHRoZSBsYW5ndWFnZSB3YXMgL3Rvby8gcGFyYWxsZWwuIEVmZmlj
aWVudCBsb2NhbCBzY2hlZHVsaW5nIG9mIG9wZXJhdGlvbnMgd2l0aCBnb29kIGRhdGEgbG9jYWxp
dHkgd2FzIGV4dHJlbWVseSBoYXJkIHRvIGFjaGlldmUuIEJ5IGNvbnRyYXN0LCBwYXJhbGxlbCBG
b3J0cmFuIGVuYWJsZXMgdmVyeSBnb29kIGxvY2FsaXphdGlvbiBvZiBjb21wdXRhdGlvbiBhbmQg
ZGF0YSBhY2Nlc3NlcyBidXQgb25seSBmb3IgdGFza3MgdGhhdCBkZWNvbXBvc2UgKGFuZCByZWNv
bXBvc2UpIHJlZ3VsYXJseS4KCk9uZSBvZiB0aGUgaW50ZXJlc3RpbmcgdGhpbmdzIGFib3V0IEZv
cnRyYW4gaXMgdGhlIHR5cGUgb2YgYXBwbGljYXRpb24gdGhhdCBpdCB1c3VhbGx5IGlzIHVzZWQg
Zm9yLiAgTG90cyBvZiBtYXRoIG9wZXJhdGlvbnMgZG8gYWxsb3cgaW5zdHJ1Y3Rpb24gc2NoZWR1
bGluZyB0byBiZSB0YWtlbiBjYXJlIG9mIG1vcmUgcmVhZGlseS4gIFdoZW4gSSB3b3JrZWQgYXQg
QmVsbCBMYWJzIG9uIHRoZSA1RVNTIHNvZnR3YXJlIHByb2plY3QsIGluIHRoZSBlYXJseSAxOTkw
cywgdGhlaXIgY29tcGlsZXIgdGVhbSB3YXMgdGhpbmtpbmcgYWJvdXQgYWRkaW5nIGluc3RydWN0
aW9uIHNjaGVkdWxpbmcgd2hlbiB0aGV5IHdlcmUgc3dpdGNoaW5nIHRvIHVzZSB0aGUgNjgwNDAu
ICBJIGhhZCB0YWxrZWQgdG8gdGhlbSBhYm91dCBoYXZpbmcgYW4gQW1pZ2Egd2l0aCBhIDY4MDQw
IGFuZCBhIHNjaGVkdWxpbmcgY29tcGlsZXIuICBUaGV5IGFza2VkIG1lIHRvIGNvbXBpbGUgc29t
ZSBvZiB0aGUgNUVTUyBjb2RlIHRvIHNlZSB3aGF0IHRoZSBjb21waWxlciBjb3VsZCBkbyB3aXRo
IGl0LiAgVGhleSB3ZXJlIGNvbmNlcm5lZCB0aGF0IHRoZSBudW1iZXIgb2Yg4oCcaWbigJ0gc3Rh
dGVtZW50cyBhbmQgb3RoZXIgY29uZGl0aW9uYWwgbG9naWMgYXJvdW5kIHRoZSDigJxhdWRpdOKA
nSBzdWJzeXN0ZW0gaW1wbGVtZW50YXRpb24gd291bGQgbm90IHJlYWxseSBhbGxvdyBzY2hlZHVs
aW5nIHRvIGJlIHZlcnkgZWZmZWN0aXZlLiAgSXQgd2FzIGNsZWFyIGFmdGVyIHNob3dpbmcgdGhl
bSBkaWZmcywgdGhhdCBpdCB3YXMgaGFyZCB0byBzY2hlZHVsZSB0aGluZ3MuICBCdXQsIEkgZGlk
IGZpbmQgYW4gYXNzZW1ibHkgc3RhdGVtZW50IGluIHRoZSBtZW1vcnkgY2hlY2tzdW1taW5nIGNv
ZGUgd2hlcmUgdGhleSBoYWQgdXNlZCBMRCBSMSwwIGluc3RlYWQgb2YgQ0xSIFIxLiAgTWFraW5n
IHRoYXQgY2hhbmdlIHdhcyBhIGh1Z2UgcmVkdWN0aW9uIGluIENQVSDigJxidXN54oCdIHdvcmsg
YWxvbmUuCgpJIGNvbXBsZXRlbHkgdW5kZXJzdGFuZCBhbGwgdGhlIGRlc2lyZXMgYXJvdW5kIHBl
cmZvcm1hbmNlIG5vdCBiZWluZyBpbXBhY3RlZC4gIFNvIHJlYWxpc3RpY2FsbHksIHJlbW92aW5n
IG5vbi12b2xhdGlsZSBhcyBhIGRlZmF1bHQgaXMgbm90IGFuIGlkZWFsIHRoaW5nLiAgSeKAmXZl
IGJlZW4gc3VnZ2VzdGluZyBhdCBsZWFzdCBjb250ZXh0IHNlbnNpdGl2ZSB3YXJuaW5ncyBhYm91
dCB0aGUgaG9pc3RpbmcgYWN0dWFsbHkgaW52YWxpZGF0aW5nIHRoZSBzb2Z0d2FyZSBhcyBjb2Rl
ZC4gIFRoaXMgaXMgbm90IGEgc2ltcGxlIGRlYWwsIHRoYW5rcyBmb3IgeW91ciBpbnNpZ2h0cyBp
bnRvIHRoaXMgYW5kIHByb3ZpZGluZyBzb21lIHByb2RkaW5nIHRvIHRoaW5rIGFib3V0IHRoZSBi
aWdnZXIgcGljdHVyZS4gIAoKSSBhbSBzdGlsbCBpbnRlcmVzdGVkIGluIGZpZ3VyaW5nIG91dCB3
aGV0aGVyIHRoZXJlIGlzIHNvbWUgdXNlZnVsIHN0cmF0ZWd5IG9mIGluc3BlY3Rpb24gdGhhdCBj
YW4gYWxsb3cgZGV2ZWxvcGVycyB0byBiZSB3YXJuZWQgcmVhZGlseSBvZiB0aGUgbWlzdXNlIG9m
IG5vbi12b2xhdGlsZSB2YWx1ZXMgd2hlbiB0aGVpciBpbnRlbnRpb24gaXMgdm9sYXRpbGUvc2hh
cmluZyBvZiByZWZlcmVuY2VzLgoKR3JlZ2cgV29uZGVybHkKCj4gCj4gWW91ciBtaWxlYWdlIG1h
eSB2YXJ5LCBuYXR1cmFsbHkuCj4gCj4gcmVnYXJkcywKPiAKPiAKPiBBbmRyZXcgRGlubgo+IC0t
LS0tLS0tLS0tCj4gUmVkIEhhdCBEaXN0aW5ndWlzaGVkIEVuZ2luZWVyCj4gUmVkIEhhdCBVSyBM
dGQKPiBSZWdpc3RlcmVkIGluIEVuZ2xhbmQgYW5kIFdhbGVzIHVuZGVyIENvbXBhbnkgUmVnaXN0
cmF0aW9uIE5vLiAwMzc5ODkwMwo+IERpcmVjdG9yczogTWljaGFlbCBDdW5uaW5naGFtLCBNaWNo
YWVsICgiTWlrZSIpIE8nTmVpbGwKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwo+IENvbmN1cnJlbmN5LWludGVyZXN0IG1haWxpbmcgbGlzdAo+IENv
bmN1cnJlbmN5LWludGVyZXN0QGNzLm9zd2Vnby5lZHUKPiBodHRwOi8vY3Mub3N3ZWdvLmVkdS9t
YWlsbWFuL2xpc3RpbmZvL2NvbmN1cnJlbmN5LWludGVyZXN0CgpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpDb25jdXJyZW5jeS1pbnRlcmVzdCBtYWlsaW5n
IGxpc3QKQ29uY3VycmVuY3ktaW50ZXJlc3RAY3Mub3N3ZWdvLmVkdQpodHRwOi8vY3Mub3N3ZWdv
LmVkdS9tYWlsbWFuL2xpc3RpbmZvL2NvbmN1cnJlbmN5LWludGVyZXN0Cg==