Re: Problems accessing host from docker container running on host

Jeffrey Goh via Shorewall-users <[email protected]> Fri, 21 Mar 2025 10:08:12 +0800
Newsgroups gmane.comp.security.shorewall
Message-ID <[email protected]>
VGhpcyBpcyBhIHdvcmtpbmcgY29uZmlnIGZvciBwb2RtYW4sIHdoaWNoIGlzIFJlZEhhdCdzIHBy
ZWZlcnJlZCBtb3JlIG9yIApsZXNzIGRyb3AgaW4gZGFlbW9ubGVzcyByZXBsYWNlbWVudCBmb3Ig
ZG9ja2VyLgoKRG9ja2VyIGlzIHdoYXQgd2UgdXNlZCB0byBiZSBvbiwgYnV0IEknZCBoYXZlIHRv
IGRpZyBzb21lIHllYXJzIGJhY2sgaW4gCmFuIG9sZCBtYWNoaW5lIHRvIGZpbmQgdGhlIFJDUyB2
ZXJzaW9uIGZvciBhIGRvY2tlciBjb25maWcuIElmIG1lbW9yeSAKc2VydmVzIG1lIHJpZ2h0LCB0
aGUgb25seSBjaGFuZ2Ugd2FzIGludGVyZmFjZSBuYW1lLiAgQXMgeW91IGNhbiBzZWUsIG15IAp6
b25lIG5hbWUgaXMgc3RpbGwgZG9jay4KCiMgJElkOiBpbnRlcmZhY2VzLHYgMS40IDIwMjMvMDEv
MDUgMjM6NTU6NDUgcm9vdCBFeHAgJAojIGh0dHA6Ly93d3cuc2hvcmV3YWxsLm5ldC9tYW5wYWdl
cy9zaG9yZXdhbGwtaW50ZXJmYWNlcy5odG1sCiMgaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vbHVr
YXNuZWxsZW4vMjA3NjFhMjAyODZmMzJlZmMzOTZlMjA3ZDk4NjI5NWQKP0ZPUk1BVCAyCiNaT05F
ICAgSU5URVJGQUNFICAgICAgIE9QVElPTlMKbmV0ICAgICBlbm8xCmxvYyAgICAgZW5vMgojIHBv
ZG1hbiA0IGlzIHBvZG1hbissIHBvZG1hbiAzIHVzZXMgY25pLXBvZG1hbisKZG9jayAgICBwb2Rt
YW4rICAgICAgICAgcm91dGViYWNrPTEKI0xBU1QgTElORSAtLSBBREQgWU9VUiBFTlRSSUVTIEJF
Rk9SRSBUSElTIE9ORSAtLSBETyBOT1QgUkVNT1ZFCj09PQojICRJZDogcG9saWN5LHYgMS4zIDIw
MjUvMDMvMjEgMDI6MDU6MDAgcm9vdCBFeHAgcm9vdCAkCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK
I1NPVVJDRSAgICAgICAgIERFU1QgICAgICAgICAgICBQT0xJQ1kgICAgICAgICAgTE9HICAgICAg
ICAgICAgIApMSU1JVDpCVVJTVAojICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBMRVZFTApmdyAgICAgICAgICAgICAgYWxsICAgICAgICAgICAgIEFDQ0VQVApk
b2NrICAgICAgICAgICAgYWxsICAgICAgICAgICAgIEFDQ0VQVApsb2MgICAgICAgICAgICAgJEZX
ICAgICAgICAgICAgIEFDQ0VQVApuZXQgICAgICAgICAgICAgZncgICAgICAgICAgICAgIERST1Ag
ICAgICAgICAgICAjIGluZm8gIyB0b28gbXVjaCBub2lzZQphbGwgICAgICAgICAgICAgYWxsICAg
ICAgICAgICAgIFJFSkVDVCAgICAgICAgICBpbmZvCiNMQVNUIExJTkUgLS0gRE8gTk9UIFJFTU9W
RQo9PT0KCi0tLQogIEplZmZyZXkgR29oLApMaWdodHNwZWVkIFRlY2hub2xvZ2llcyBQdGUgTHRk
CjcgU3RyYWl0cyBWaWV3LCAjMDUtMDIgTWFyaW5hIE9uZSBFYXN0IFRvd2VyIFNpbmdhcG9yZSAw
MTg5MzYKcGhvbmU6ICs2NS02NDY4LTU1MzYgd2Vic2l0ZTogbGlnaHRzcGVlZC5jb20uc2cKaHR0
cHM6Ly93d3cuZmFjZWJvb2suY29tL2xpZ2h0c3BlZWQuc2cvIGh0dHBzOi8vbS5tZS9saWdodHNw
ZWVkc2cvCgpPbiAyMDI1LTAzLTIxIDAxOjEyLCBXaW5zdG9uIFNvcmZsZWV0IHdyb3RlOgo+IEl0
IG1heSBzZWVtIGxpa2UgYSBzdHVwaWQgcXVlc3Rpb24gKGFnYWluLCBJIGRvbid0IGtub3cgZG9j
a2VyKSBidXQsIAo+IGFyZSB0aGUgVk1zJyB2aXJ0dWFsIG5ldHdvcmsgaW50ZXJmYWNlcywgYW5k
IHRoZSBob3N0J3MgbmV0d29yayAKPiBpbnRlcmZhY2UsIGluIHRoZSBzYW1lIHpvbmU/Cj4gCj4g
T24gMjAyNS0wMy0yMCA0OjE5IGEubS4sIFNlYW4gTXVycGh5IHZpYSBTaG9yZXdhbGwtdXNlcnMg
d3JvdGU6Cj4+IFRoYW5rcyBXaW5zdG9uIC0gSSBoYWQgaG9wZWQgdG8gYXZvaWQgZ2V0dGluZyBt
eSBoYW5kcyBkaXJ0eSB3aXRoIAo+PiB0Y3BkdW1wIGJ1dCBpdAo+PiBsb29rcyBsaWtlIEkgbWln
aHQgaGF2ZSB0by4gRG8geW91IGZpbmQgaXQgc3RyYWlnaHRmb3J3YXJkIHRvIHRyYWNrIAo+PiBt
b3ZlbWVudHMgdGhyb3VnaAo+PiB0aGUgY2hhaW5zIGFuZCB0YWJsZXMgd2l0aCB0Y3BkdW1wPwo+
PiAKPj4gVGhlIGNsaWVudCBydW5zIGluIGEgZG9ja2VyIGNvbnRhaW5lciAtIG15IG1haW4gb2Jq
ZWN0aXZlIGlzIHRvIHVzZSAKPj4gY3VybCBmcm9tIHdpdGhpbiBhIGRvY2tlcgo+PiBjb250YWlu
ZXIgYXMgdGhlIGNsaWVudCBhbmQgYSBodHRwIHNlcnZlciBydW5uaW5nIG9uIHRoZSBob3N0IGJ1
dCBJJ3ZlIAo+PiBhbHNvIGJlZW4gdHJ5aW5nIGl0Cj4+IG91dCB3aXRoIGFuZCBzc2ggY2xpZW50
IGFuZCBhIHBpbmcgY2xpZW50IChib3RoIHdvcmtpbmcgaW5zaWRlIHRoZSAKPj4gY29udGFpbmVy
KS4KPj4gCj4+IFdlIGhhdmUgYmFzaWNhbGx5IDMgem9uZXM6IHRoZSBmaXJld2FsbCB6b25lLCB0
aGUgbmV0d29yayB6b25lIGFuZCB0aGUgCj4+IGRvY2tlciB6b25lLgo+PiBUaGUgZmlyZXdhbGwg
em9uZSBpcyBhcyBkZWZpbmVkIGJ5IHNob3Jld2FsbC4gVGhlIG5ldHdvcmsgem9uZSByZWZlcnMg
Cj4+IHRvIHRyYWZmaWMgb24gdGhlCj4+IChzaW5nbGUpIG5ldHdvcmsgaW50ZXJmYWNlIGFuZCB0
aGUgZG9ja2VyIHpvbmUgcmVmZXIgdG8gdHJhZmZpYyAKPj4gb3JpZ2luYXRpbmcgYW5kIHRlcm1p
bmF0aW5nCj4+IG9uIHRoZSBkb2NrZXIgYnJpZGdlLgo+PiAKPj4gVGhhbmtzIGZvciBhbnkgaW5z
aWdodHMuCj4+IAo+PiBCUiwKPj4gU2Vhbi4KPj4gCj4+IAo+PiBfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCj4+IFNlYW4gTXVycGh5Cj4+IFNlbmlvciBQbGF0Zm9ybSBFbmdpbmVl
cgo+PiBzZWFuLm11cnBoeUBkYXRhaG91c2UuY2gKPj4gVCArNDEgNDTCoCAyODktODQtMjIKPj4g
d3d3LmRhdGFob3VzZS5jaAo+PiBMaW5rZWRpbjogCj4+IGh0dHBzOi8vd3d3LmxpbmtlZGluLmNv
bS9jb21wYW55L3d1ZXN0cGFydG5lci9wb3N0cy8/ZmVlZFZpZXc9YWxsJnZpZXdBc01lbWJlcj10
cnVlCj4+IFlvdVR1YmU6IGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2NoYW5uZWwvVUM0RXNpdTVO
X3pnMkpSRVJ1Znc1SHZBCj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPj4g
Cj4+IAo+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+IEZyb206
wqBXaW5zdG9uIFNvcmZsZWV0IDx3bHNAcm9tYW51cy5jYT4KPj4gU2VudDrCoFdlZG5lc2RheSwg
TWFyY2ggMTksIDIwMjUgNzoxNiBQTQo+PiBUbzrCoHNob3Jld2FsbC11c2Vyc0BsaXN0cy5zb3Vy
Y2Vmb3JnZS5uZXQgCj4+IDxzaG9yZXdhbGwtdXNlcnNAbGlzdHMuc291cmNlZm9yZ2UubmV0Pgo+
PiBTdWJqZWN0OsKgUmU6IFtTaG9yZXdhbGwtdXNlcnNdIFByb2JsZW1zIGFjY2Vzc2luZyBob3N0
IGZyb20gZG9ja2VyIAo+PiBjb250YWluZXIgcnVubmluZyBvbiBob3N0Cj4+ICAgW1lvdSBkb24n
dCBvZnRlbiBnZXQgZW1haWwgZnJvbSB3bHNAcm9tYW51cy5jYS4gTGVhcm4gd2h5IHRoaXMgaXMg
Cj4+IGltcG9ydGFudCBhdCBodHRwczovL2FrYS5tcy9MZWFybkFib3V0U2VuZGVySWRlbnRpZmlj
YXRpb27CoF0KPj4gCj4+IE5vcm1hbGx5IEknZCBzdGFydCB3aXRoIHRjcGR1bXAgYXMgdGhlIGxv
d2VzdC1sZXZlbCB0cmFjaW5nIHRvb2wsIGJ1dAo+PiBmaXJzdCBJJ2Qgd2FudCB0byBrbm93IGEg
Yml0IG1vcmUgYWJvdXQgeW91ciBzY2VuYXJpby4gSW5zdGVhZCBvZiAKPj4gdXNpbmcKPj4gImhv
c3QiIGFuZCAiZG9ja2VyIiB0ZXJtaW5vbG9neSAoSSBhbSBub3QgZmFtaWxpYXIgd2l0aCBkb2Nr
ZXIsIHNvIEkgCj4+IGFtCj4+IG5vdCBzdXJlIGlmIHlvdSBhcmUgaW1wbHlpbmcgYSBWTSB0cnlp
bmcgdG8gY29tbXVuaWNhdGUgd2l0aCB0aGUKPj4gdW5kZXJseWluZyBob3N0KSwgY291bGQgeW91
IHBlcmhhcHMgcmUtZnJhbWUgeW91ciBxdWVzdGlvbiB3aXRoIAo+PiAiY2xpZW50Igo+PiBhbmQg
InNlcnZlciIgYW5kIGV4cGxhaW4gd2hpY2ggYXJlIGluIHdoaWNoIHpvbmVzIChhbmQgbmV0d29y
a3MpP8KgIE9yCj4+IGFyZSB0aGUgY2xpZW50IGFuZCBzZXJ2ZXIgb24gdGhlIHNhbWUgaG9zdD8K
Pj4gCj4+IE9uIDIwMjUtMDMtMTkgMDU6NDksIFNlYW4gTXVycGh5IHZpYSBTaG9yZXdhbGwtdXNl
cnMgd3JvdGU6Cj4+PiBIaSBhbGwsLAo+Pj4gCj4+PiBXZSBoYXZlIGJlZW4gKGFiKXVzaW5nIHNo
b3Jld2FsbCBmb3Igc29tZSB5ZWFycyBub3cgYW5kIHdlJ3JlIHYgaGFwcHkgCj4+PiB3aXRoIGl0
IC0KPj4+IHRoYW5rcyBldmVyeW9uZSBhbmQgVG9tIGluIHBhcnRpY3VsYXIgZm9yIHN1Y2ggYSBn
cmVhdCB0b29sLgo+Pj4gCj4+PiBXZSBoYXZlIGJlZW4gdXNpbmcgaXQgdG8gbWFuYWdlIHNlY3Vy
aXR5IGZvciBhIHNldCBvZiBWTXMgcnVubmluZyAKPj4+IGFwcGxpY2F0aW9ucwo+Pj4gd2l0aCBk
b2NrZXItY29tcG9zZS4gQWxtb3N0IGFsbCBvZiBvdXIgaG9zdHMgaGF2ZSBhIHNpbmdsZSBleHRl
cm5hbCAKPj4+IG5ldHdvcmsKPj4+IGludGVyZmFjZTsgdGhpcyBpcyBwZXJoYXBzIG5vdCB0aGUg
dXNlIGNhc2UgZm9yIHdoaWNoIHNob3Jld2FsbCB3YXMgCj4+PiBkZXNpZ25lZAo+Pj4gYnV0IGl0
IGhhcyBiZWVuIHdvcmtpbmcgZm9yIHVzIHNvIGZhci4KPj4+IAo+Pj4gV2Ugbm93IGhhdmUgYSBz
Y2VuYXJpbyB3aGljaCBpcyBwcm92aW5nIG1vcmUgZGlmZmljdWx0OiB3ZSB3YW50IHRvIAo+Pj4g
YWNjZXNzIGEKPj4+IHNlcnZpY2UgcnVubmluZyBvbiBhIGhvc3QgZnJvbSB3aXRoaW4gYSBjb250
YWluZXIuCj4+PiAKPj4+IFdlIGhhdmUgdHJpZWQgdGhlIG1vc3Qgb3BlbiBjb25maWd1cmF0aW9u
IHBvc3NpYmxlIC0gYSBwb2xpY3kgd2l0aCAKPj4+IGFsbDphbGwKPj4+IEFDQ0VQVCBhbmQgbm8g
cnVsZXM7IGl0IHNlZW1zIHRoZSBzZXJ2aWNlIGlzIGFjY2Vzc2libGUgZnJvbSBhbnl3aGVyZSAK
Pj4+IGV4Y2VwdAo+Pj4gaW5zaWRlIHRoZSBkb2NrZXIgY29udGFpbmVyLgo+Pj4gCj4+PiBBY2Nl
c3NpbmcgdGhlIHNlcnZpY2UgZnJvbSBpbnNpZGUgdGhlIGNvbnRhaW5lciByZXN1bHRzIGluIHRp
bWVvdXRzLCAKPj4+IHNvIHByZXN1bWFibHkKPj4+IHRoZSBwYWNrZXRzIGFyZSBiZWluZyBkcm9w
cGVkIHNvbWV3aGVyZS4gV2UgdHJpZWQgcGluZywgc3NoIChvbiAKPj4+IHN0YW5kYXJkIHBvcnRz
KQo+Pj4gYW5kIGFuIGh0dHAgc2VydmljZSBydW5uaW5nIG9uIGEgaGlnaCBwb3J0IG51bWJlci4K
Pj4+IAo+Pj4gWm9uZSBjb25maWd1cmF0aW9uOgo+Pj4gcm9vdEBkaGl0LWRpc3Bvc2FibGUwMTov
ZXRjL3Nob3Jld2FsbCMgY2F0IHpvbmVzCj4+PiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCj4+PiAj
Wk9ORcKgwqDCoMKgwqDCoMKgwqDCoMKgIFRZUEXCoMKgwqDCoMKgIE9QVElPTlPCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAKPj4+IElOwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgIE9VVAo+Pj4gI8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCAKPj4+IE9QVElPTlPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBPUFRJ
T05TCj4+PiBmd8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZpcmV3YWxsCj4+PiBuZXTCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgaXB2NAo+Pj4gZG9ja8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAg
aXB2NAo+Pj4gCj4+PiBJbnRlcmZhY2UgY29uZmlndXJhdGlvbjoKPj4+IHJvb3RAZGhpdC1kaXNw
b3NhYmxlMDE6L2V0Yy9zaG9yZXdhbGwjIGNhdCBpbnRlcmZhY2VzCj4+PiAjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjCj4+PiA/Rk9STUFUIDIKPj4+ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKPj4+ICNa
T05FwqDCoCBJTlRFUkZBQ0XCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBPUFRJT05T
Cj4+PiBuZXTCoMKgwqDCoCBldGjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCBwaHlzaWNhbD1ldGgrLGRoY3Asbm9zbXVyZnMKPj4+IG5ldMKgwqDCoMKgIGVuwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwaHlzaWNhbD1lbiss
ZGhjcCxub3NtdXJmcwo+Pj4gZG9ja8KgwqDCoCBkb2NrZXIwwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgIHBoeXNpY2FsPWRvY2tlcisscm91dGViYWNrPTEKPj4+IGRvY2vCoMKg
wqAgYnLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHBoeXNp
Y2FsPWJyLSsscm91dGViYWNrPTEKPj4+IAo+Pj4gUG9saWN5IGNvbmZpZ3VyYXRpb246Cj4+PiBy
b290QGRoaXQtZGlzcG9zYWJsZTAxOi9ldGMvc2hvcmV3YWxsIyBjYXQgcG9saWN5Cj4+PiAjU09V
UkNFwqDCoMKgwqDCoMKgwqAgREVTVMKgwqDCoMKgwqDCoMKgIFBPTElDWcKgwqDCoMKgwqAgTE9H
TEVWRUzCoMKgwqAgTElNSVQKPj4+IGFsbMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYWxswqDCoMKg
wqDCoMKgwqDCoCBBQ0NFUFQKPj4+IAo+Pj4gUnVsZXMgY29uZmlndXJhdGlvbjoKPj4+IHJvb3RA
ZGhpdC1kaXNwb3NhYmxlMDE6L2V0Yy9zaG9yZXdhbGwjIGNhdCBydWxlcwo+Pj4gI0FDVElPTsKg
wqDCoMKgwqAgU09VUkNFwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBERVNUwqDC
oMKgwqDCoMKgIFBST1RPwqDCoMKgwqDCoCBEUE9SVAo+Pj4gIyBObyBydWxlcwo+Pj4gCj4+PiBE
b2NrZXIgY29uZmlndXJhdGlvbiBhcyBwZXIgc2hvcmV3YWxsLmNvbmYKPj4+IHJvb3RAZGhpdC1k
aXNwb3NhYmxlMDE6L2V0Yy9zaG9yZXdhbGwjIGdyZXAgLWkgZG9ja2VyIHNob3Jld2FsbC5jb25m
Cj4+PiAjIERlZmF1bHQgc2hvcmV3YWxsIGNvbmZpZywgZXhjZXB0IGZvciBET0NLRVI9WWVzIChh
bmQgdGhpcyBjb21tZW50KS4KPj4+IERPQ0tFUj1ZZXMKPj4+IERPQ0tFUl9CUklER0U9ZG9ja2Vy
MAo+Pj4gCj4+PiBJIGRpZCBzaG9yZXdhbGwgY29tcGlsZSwgc2FmZS1yZWxvYWQgYW5kIHRoZW4g
cmVzdGFydGVkIHRoZSBkb2NrZXIgCj4+PiBkZWFtb24gYnV0Cj4+PiB0aGUgcGFja2V0cyBzdGls
bCBzZWVtIHRvIGJlIGJlaW5nIGRyb3BwZWQuIEkgdHJpZWQgaXB0YWJsZXMtdHJhY2VyIAo+Pj4g
WzFdIHRvIGdldCBzb21lCj4+PiBpbmZvIG9uIHdoZXJlIHRoZXkgZGlzYXBwZWFyIGFuZCBpdCBz
ZWVtcyBwYWNrZXRzIGFyZSBiZWluZyBkcm9wcGVkIAo+Pj4gb24gdGhlCj4+PiByZXR1cm4gcGF0
aC4KPj4+IAo+Pj4gSSBjaGVja2VkIHRoZSBkb2N1bWVudGF0aW9uIGFuZCBjb3VsZCBub3QgZmlu
ZCBhbnkgYW5zd2VyIGluIHRoZSAKPj4+IEZBUXMuIEkKPj4+IGNvdWxkIG5vdCBnZW5lcmF0ZSBh
IHNob3Jld2FsbCBkdW1wIGFzIHdlIGFyZSB1c2luZyBqb3VybmFsZCByYXRoZXIgCj4+PiB0aGFu
Cj4+PiBzeXNsb2cgYW5kIGl0J3MgdW5jbGVhciB0byBtZSBob3cgc3VjaCBhIGR1bXAgY2FuIGJl
IGdlbmVyYXRlZCBpbiAKPj4+IHRoaXMgY2FzZS4KPj4+IAo+Pj4gSGFwcHkgdG8gcHJvdmlkZSBm
dXJ0aGVyIGluZm9ybWF0aW9uIGFzIHJlcXVpcmVkLgo+Pj4gCj4+PiBBbnkgdGhvdWdodHMvcG9p
bnRlcnMgYXBwcmVjaWF0ZWQuLi4KPj4+IAo+Pj4gQmVzdCByZ2RzLAo+Pj4gU2Vhbi4KPj4+IAo+
Pj4gWzFdIGh0dHBzOi8vZ2l0aHViLmNvbS94LXdheS9pcHRhYmxlcy10cmFjZXIKPj4+IAo+Pj4g
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+Pj4gU2VhbiBNdXJwaHkKPj4+IFNl
bmlvciBQbGF0Zm9ybSBFbmdpbmVlcgo+Pj4gc2Vhbi5tdXJwaHlAZGF0YWhvdXNlLmNoCj4+PiBU
ICs0MSA0NMKgIDI4OS04NC0yMgo+Pj4gd3d3LmRhdGFob3VzZS5jaAo+Pj4gTGlua2VkaW46IAo+
Pj4gaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2NvbXBhbnkvd3Vlc3RwYXJ0bmVyL3Bvc3RzLz9m
ZWVkVmlldz1hbGwmdmlld0FzTWVtYmVyPXRydWUKPj4+IFlvdVR1YmU6IGh0dHBzOi8vd3d3Lnlv
dXR1YmUuY29tL2NoYW5uZWwvVUM0RXNpdTVOX3pnMkpSRVJ1Znc1SHZBCj4+PiBfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCj4+PiAKPj4+IAo+Pj4gX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPj4+IFNob3Jld2FsbC11c2VycyBtYWlsaW5n
IGxpc3QKPj4+IFNob3Jld2FsbC11c2Vyc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKPj4+IGh0dHBz
Oi8vbGlzdHMuc291cmNlZm9yZ2UubmV0L2xpc3RzL2xpc3RpbmZvL3Nob3Jld2FsbC11c2Vycwo+
Pj4gCj4+IAo+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
Xwo+PiBTaG9yZXdhbGwtdXNlcnMgbWFpbGluZyBsaXN0Cj4+IFNob3Jld2FsbC11c2Vyc0BsaXN0
cy5zb3VyY2Vmb3JnZS5uZXQKPj4gaHR0cHM6Ly9saXN0cy5zb3VyY2Vmb3JnZS5uZXQvbGlzdHMv
bGlzdGluZm8vc2hvcmV3YWxsLXVzZXJzCj4+IAo+PiBfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwo+PiBTaG9yZXdhbGwtdXNlcnMgbWFpbGluZyBsaXN0Cj4+
IFNob3Jld2FsbC11c2Vyc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKPj4gaHR0cHM6Ly9saXN0cy5z
b3VyY2Vmb3JnZS5uZXQvbGlzdHMvbGlzdGluZm8vc2hvcmV3YWxsLXVzZXJzCj4+IAo+IAo+IAo+
IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gU2hvcmV3
YWxsLXVzZXJzIG1haWxpbmcgbGlzdAo+IFNob3Jld2FsbC11c2Vyc0BsaXN0cy5zb3VyY2Vmb3Jn
ZS5uZXQKPiBodHRwczovL2xpc3RzLnNvdXJjZWZvcmdlLm5ldC9saXN0cy9saXN0aW5mby9zaG9y
ZXdhbGwtdXNlcnMKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpTaG9yZXdhbGwtdXNlcnMgbWFpbGluZyBsaXN0ClNob3Jld2FsbC11c2Vyc0BsaXN0cy5z
b3VyY2Vmb3JnZS5uZXQKaHR0cHM6Ly9saXN0cy5zb3VyY2Vmb3JnZS5uZXQvbGlzdHMvbGlzdGlu
Zm8vc2hvcmV3YWxsLXVzZXJzCg==