Re: Makecode Arcade, pybricks/pybricksdev, LEGO PF/PU, open source Robots with docs, wokwi

Wes Turner <[email protected]> Mon, 11 Dec 2023 17:07:27 -0500
Newsgroups gmane.comp.python.education
Message-ID <CACfEFw-F8YSSKwbhvGrzfEcNg7er5TmRWXBsZi=63Aj=oEFahg@mail.gmail.com>
QWRkJ2wgUm9ib3RpY3Mga2l0cyBmb3IgU1RFTSB3aXRoIHB5dGhvbiBDb2RlIGluIGdpdCwgYW5k
IERvY3M6DQoNCiMjIEhpd29uZGVyDQotIFNyYzogaHR0cHM6Ly9naXRodWIuY29tL0hpd29uZGVy
DQotIERvY3M6IGh0dHBzOi8vd3d3Lmhpd29uZGVyLmNvbS5jbi9zdG9yZS9sZWFybj9rZXk9bWlj
cm9iaXQNCi0gRG9jczogaHR0cHM6Ly93d3cuaGl3b25kZXIuY29tLmNuL3N0b3JlL2xlYXJuP2tl
eT1yYXNwYmVycnkNCi0gRG9jczogaHR0cHM6Ly93d3cuaGl3b25kZXIuY29tLmNuL3N0b3JlL2xl
YXJuLzYuaHRtbA0KDQoNCiMjIGV4ZWN1dGFibGVib29rcy8sIE15U1QtTWFya2Rvd24sIG5iZGV2
DQotIFNyYzogaHR0cHM6Ly9naXRodWIuY29tL2V4ZWN1dGFibGVib29rcw0KDQojIyMgTXlTVA0K
LSBEb2NzOiBodHRwczovL215c3QtcGFyc2VyLnJlYWR0aGVkb2NzLmlvL2VuL2xhdGVzdC9zeW50
YXgvcm9sZXMtYW5kLWRpcmVjdGl2ZXMuaHRtbA0KDQoNCiMjIyBKdXB5dGVyLUJvb2sgKFNwaGlu
eCwgTXlTVC1QYXJzZXIsKQ0KLSBXZWI6IGh0dHBzOi8vanVweXRlcmJvb2sub3JnLw0KDQoNCiMj
IyBuYmRldg0KLSBTcmM6IGh0dHBzOi8vZ2l0aHViLmNvbS9mYXN0YWkvbmJkZXYNCg0KDQojIyMg
U3BsaXQgYW4gbmIgY2VsbCBhdCBjdXJzb3I6DQotIEN0cmwtU2hpZnQtRGFzaA0KLSBDdHJsLW0g
RGFzaCAoQ29sYWIgZW1hY3MgbW9kZSkNCi0gQ3VzdG9tIHNwbGl0IGNlbGwgc2hvcnRjdXQ6DQog
IC0gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNDk0ODU3NTMvanVweXRlci1u
b3RlYm9vay1jdHJsc2hpZnQtc3BsaXR0aW5nLWNlbGwtZG9lcy1ub3Qtd29yaw0KDQoNCiMjIyBS
dW4gb25lIGNlbGwgb2YgYSBub3RlYm9vaw0KLSBDdHJsLUVudGVyIC0tIFJ1biBvbmUgaW5wdXQg
Y2VsbCBhdCBhIHRpbWUgKHBvdGVudGlhbGx5IG91dC1vZi1zZXF1ZW5jZSkNCi0gQ3RybC1TaGlm
dC1FbnRlciAtLSBSdW4gYSBjZWxsIGFuZA0KDQpUaGUgJ1J1biBDZWxsJyBhbmQgJ1J1biBDZWxs
IGFuZCBBcHBlbmQgYSBOZXcgQ2VsbCcgS2V5Ym9hcmQgc2hvcnRjdXRzDQphcmUgZGlmZmVyZW50
IGluIG90aGVyIEp1cHl0ZXIgTm90ZWJvb2sgaW1wbGVtZW50YXRpb25zIGxpa2UgVlNjb2RlDQph
bmQgQ29sYWIgSUlSQy4NCg0KDQojIyMgdGhlIHBlcmNlbnQgZm9ybWF0LCBmb3IgLnB5IGZpbGVz
DQoiXiMgJSUiIGlzIHRoZSBub3RlYm9vayBpbnB1dCBjZWxsIGRlbGltaXRlciBwcmVmaXggaW4g
dGhlIGBwZXJjZW50YA0KZm9ybWF0IHJlcHJlc2VudGF0aW9uIG9mIEp1cHl0ZXIgTm90ZWJvb2tz
JyAoaW5wdXQgY2VsbHMganVzdCkuDQoNCmBgYHB5dGhvbg0KDQojICUlIFttYXJrZG93bl0NCiMg
VGhpcyBpcyBhIG11bHRpbGluZQ0KIyBNYXJrZG93biBjZWxsDQoNCiMgJSUgW21hcmtkb3duXQ0K
IyBBbm90aGVyIE1hcmtkb3duIGNlbGwNCg0KDQojICUlDQojIFRoaXMgaXMgYSBjb2RlIGNlbGwN
CmNsYXNzIEEoKToNCiAgICBkZWYgb25lKCk6DQogICAgICAgIHJldHVybiAxDQoNCiAgICBkZWYg
dHdvKCk6DQogICAgICAgIHJldHVybiAyDQoNCmBgYA0KDQouLi4gT3BlbiBTb3VyY2UgQ29kZSwg
RG9jdW1lbnRhdGlvbiBxdWFsaXR5IChhbmQgRHVyYWJpbGl0eSBvZiBjYWJsZXMNCmFuZCBjb25u
ZWN0b3JzKQ0KDQpPbiBNb24sIERlYyAxMSwgMjAyMyBhdCAzOjQw4oCvUE0gV2VzIFR1cm5lciA8
d2VzLnR1cm5lckBnbWFpbC5jb20+IHdyb3RlOg0KPg0KPiBBIGZldyBjb29sIHRvb2xzIGZvciBQ
eXRob24gKGFuZCBTVEVNKSBpbiBhcHBsaWNhdGlvbiwgT1RPSDoNCj4NCj4gIyMgTWFrZWNvZGUN
Cj4gTWFrZWNvZGUgQXJjYWRlIGhhcyBCbG9ja3MgPC0+IFB5dGhvbiA8LT4gSlMNCj4gLSBOZXcg
UHJvamVjdCA+IEJsb2NrcyA+ICtFeHRlbnNpb25zID4gUm9ib3RpY3MgPiB+TGlzdCBhbGwNCj4g
W01ha2Vjb2RlLWNvbXBhdGlibGUgZGV2aWNlc10NCj4NCj4gIyMjIHZzY29kZS5kZXYNCj4gLSBo
dHRwczovL3ZzY29kZS5kZXYvDQo+IC0gSW5zdGFsbCAicHl0aG9uIiBleHRlbnNpb24NCj4gLSBJ
bnN0YWxsICJweW9kaWRlIiBleHRlbnNpb24NCj4gLSBJbnN0YWxsICJqdXB5dGVyIiBleHRlbnNp
b24NCj4gLSBPcGVuIGZyb20gR2l0SHViDQo+IC0gUnVuIHRoZSBQeXRob24gaW4gdGhlIEp1cHl0
ZXIgbm90ZWJvb2sgbG9jYWxseQ0KPiAtIFNhdmUgdG8gR2l0SHViDQo+DQo+DQo+ICMjIFB5YnJp
Y2tzDQo+IC0gV2ViOiBodHRwczovL3B5YnJpY2tzLmNvbS8NCj4gLSBTcmM6IGh0dHBzOi8vZ2l0
aHViLmNvbS9weWJyaWNrcw0KPiAtIENvZGUgYW5kIEZsYXNoIExFR08gc21hcnQgaHVicyB3aXRo
IFB5dGhvbg0KPiAgIC0gRmxhc2hlcyBQeXRob24gdG8gdGhlIGRldmljZSBXZWJCbHVldG9vdGgN
Cj4NCj4gIyMgUHlicmlja3NkZXYNCj4gLSBEb2NzOiBodHRwczovL2RvY3MucHlicmlja3MuY29t
L2VuL2xhdGVzdC8NCj4gLSBTcmM6IGh0dHBzOi8vZ2l0aHViLmNvbS9weWJyaWNrcy9weWJyaWNr
c2Rldg0KPiAtIEZsYXNoIExFR08gc21hcnQgaHVicyB3aXRoIFB5dGhvbg0KPiAgIC0gVVNCLA0K
Pg0KPiAjIyBweWxnYnN0DQo+IC0gU3JjOiBodHRwczovL2dpdGh1Yi5jb20vdW5kZXJhL3B5bGdi
c3QNCj4gLSBodHRwczovL2dpdGh1Yi5jb20vdW5kZXJhL3B5bGdic3QvYmxvYi9tYXN0ZXIvZG9j
cy9Nb3ZlSHViLm1kDQo+IC0gaHR0cHM6Ly9naXRodWIuY29tL3VuZGVyYS9weWxnYnN0L2Jsb2Iv
bWFzdGVyL2V4YW1wbGVzL3Zlcm5pZS9nb190b3dhcmRzX2xpZ2h0LnB5DQo+DQo+DQo+ICMjIyBM
RUdPcyB3aXRoIHZvbHRhZ2U7IFBVLCBFVjMvTlhULCBQVQ0KPiAtIGh0dHBzOi8vcHYtcHJvZHVj
dGlvbnMuY29tL3Byb2R1Y3QvcG93ZXJlZC11cC10by1ldjMtbnh0LWFkYXB0ZXIvDQo+IC0gaHR0
cHM6Ly9wdi1wcm9kdWN0aW9ucy5jb20vcHJvZHVjdC9wb3dlcmVkLXVwLXRvLXBvd2VyLWZ1bmN0
aW9ucy1hZGFwdGVyLw0KPiAtIGh0dHBzOi8vcHYtcHJvZHVjdGlvbnMuY29tL3Byb2R1Y3QvcG93
ZXItZnVuY3Rpb25zLXRvLXBvd2VyZWQtdXAtYWRhcHRlci8NCj4gLSBodHRwczovL3d3dy5iaWFz
ZWRsb2dpYy5jb20vaW5kZXgucGhwL2xlZ28tcG93ZXJlZC11cC1jb25uZWN0b3IvDQo+ICAgLSAt
PiAiUGluIiwgIkJyZWFkYm9hcmQiLCAiQnJlYWtvdXQgYm9hcmQiLCAiSEFUIg0KPiAtIGh0dHBz
Oi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1VMXyhzYWZldHlfb3JnYW5pemF0aW9uKSNTdGFuZGFy
ZHNfZm9yX0VsZWN0cmljYWxfYW5kX0VsZWN0cm9uaWNfUHJvZHVjdHMNCj4NCj4NCj4gIyMgTW9k
YWxpdHkgSW50ZWdyYXRlZCBMZWFybmluZw0KPiAtIExpZ2h0cyAoQml0cyBhcyBWb2x0YWdlIHRv
IFBob3RvbnMpDQo+IC0gU2Vuc29ycyAoUGh5c2ljYWwgcGhlbm9tZW5hIHRvIEJpdHMpDQo+IC0g
U2Vydm9zIChSb3RhdGlvbnMgaW4gcmFkaWFucyBvciBkZWdyZWVzLCkNCj4gLSBNb3RvcnMgKFJQ
TXMpDQo+ICAgLSBUaGluZ3MgdGhhdCBzcGluOyB0aGluZ3MgdGhhdCBoYXZlIG1lY2hhbmljYWwg
YW5ndWxhciBtb21lbnR1bQ0KPiAgICAgLSBBbGwgcG93ZXIgdG9vbHMsIGJhc2ljYWxseQ0KPiAg
ICAgLSBodHRwczovL3d3dy55b3V0dWJlLmNvbS9yZXN1bHRzP3NlYXJjaF9xdWVyeT1sZWdvK21h
Y2hpbmVzDQo+ICAgICAgIC0gaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1NMS1ZZXFH
eW5sdw0KPiAgICAgICAtIGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9eWtJWVA0ei1l
TWsNCj4gICAgICAgICA+IEkgUHV0IDQ0IE1lY2hhbmlzbXMgSW4gMSBMRUdPwq4gTWFjaGluZSEg
WW91J2xsIHNlZSB0aGUNCj4gdGVzdGluZyBvZiBtb3JlIHRoYW4gNDAgTWVjaGFuaWNhbCBQcmlu
Y2lwbGVzL01lY2hhbmlzbXMgdXNpbmcgTEVHT8KuDQo+IFRlY2huaWMgcGFydHMNCj4NCj4NCj4g
IyMjIExFR09zIHdpdGggdm9sdGFnZTsgUEYsIEVWMy9OWFQsIFBVDQo+DQo+IElJVUM6DQo+DQo+
IC0gVGhlcmUgYXJlIGF0IGxlYXN0IDMgY29ubmVjdG9yIHNwZWNzIGluIHRoZSBMRUdPKFIpIGVj
b3N5c3RlbToNCj4gICAtIFBGOiBQb3dlciBGdW5jdGlvbnMgKDIwMDkrKQ0KPiAgICAgLSBMUEYy
OiBMRUdPIFBvd2VyIEZ1bmN0aW9ucyAyDQo+ICAgICAgIC0gVGVjaG5pYw0KPiAgICAgICAtIFdl
RG8gMi4wLCBTUElLRSBQcmltZQ0KPiAgIC0gTlhUL0VWMyAoMjAwNi8yMDEzKQ0KPiAgIC0gUFU6
IFBvd2VyZWQgVXAgKDIwMTYrKQ0KPiAgICAgLSBCb29zdA0KPiAgICAgICAtIE1vdmUgSHViIHdp
dGggMnggUG9ydHMsIDJ4IGVtYmVkZGVkIG1vdG9ycywgYW5kIEJMRQ0KPiAgICAgLSBDaXR5IFRy
YWlucw0KPiAgICAgICAtIEh1YiB3aXRoIDJ4IFBvcnRzLCBhbmQgQkxFDQo+DQo+IC0gaHR0cHM6
Ly9wdi1wcm9kdWN0aW9ucy5jb20vcHJvZHVjdC9wb3dlcmVkLXVwLXRvLWV2My1ueHQtYWRhcHRl
ci8NCj4gLSBodHRwczovL3B2LXByb2R1Y3Rpb25zLmNvbS9wcm9kdWN0L3Bvd2VyZWQtdXAtdG8t
cG93ZXItZnVuY3Rpb25zLWFkYXB0ZXIvDQo+IC0gaHR0cHM6Ly9wdi1wcm9kdWN0aW9ucy5jb20v
cHJvZHVjdC9wb3dlci1mdW5jdGlvbnMtdG8tcG93ZXJlZC11cC1hZGFwdGVyLw0KPiAtIGh0dHBz
Oi8vcHYtcHJvZHVjdGlvbnMuY29tL3Byb2R1Y3QvcG93ZXJlZC11cC1zcGxpdHRlci1jYWJsZS8N
Cj4gICA+DQo+IC0gaHR0cHM6Ly93d3cuYmlhc2VkbG9naWMuY29tL2luZGV4LnBocC9sZWdvLXBv
d2VyZWQtdXAtY29ubmVjdG9yLw0KPiAgIC0gLT4gIlBpbiIsICJCcmVhZGJvYXJkIiwgIkJyZWFr
b3V0IGJvYXJkIiwgIkhBVCINCj4gLSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9VTF8o
c2FmZXR5X29yZ2FuaXphdGlvbikjU3RhbmRhcmRzX2Zvcl9FbGVjdHJpY2FsX2FuZF9FbGVjdHJv
bmljX1Byb2R1Y3RzDQo+IC0gaHR0cHM6Ly93d3cubGVnby5jb20vZW4tdXMvdGhlbWVzL3Bvd2Vy
ZWQtdXAvYWJvdXQNCj4NCj4gLSAoZS5nLikgTEVHTyBCb29zdCBDcmVhdGl2ZSBUb29sYm94IGhh
cyAxeCBMRUdPIE1vdmUgSHViICh3aGljaCB3b3Jrcw0KPiB3aXRoIHRoZWlyIGFwcHMsIHB5YnJp
Y2tzLCBhbmQgcHlsZ2JzdCwpLCBoYXMgMiBwb3J0cywgYW5kIDINCj4gaW50ZWdyYXRlZCBtb3Rv
cnMNCj4gICAtIGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vc2VhcmNoP3E9YnVpbGRpbmcraW5zdHJ1
Y3Rpb25zK2ZvcitsZWdvKzE3MTAxDQo+ICAgICAtIFNvbWV0aW1lcywgUERGIEJ1aWxkaW5nIElu
c3RydWN0aW9ucyBhcmUgZWFzaWVyIHRvIHdvcmsgd2l0aA0KPiB0aGFuIGFuIGFwcCBvbiBhIHRh
YmxldCB0aGF0IGtlZXBzIGdvaW5nIHRvIHNsZWVwLg0KPiAgICAgICAtIGh0dHBzOi8vdHJldm9y
c2FuZHkuZ2l0aHViLmlvL2xwdWIzZC8NCj4gICAgICAgICAtIFRoaXMgbG9va3MgbGlrZSBhIGdv
b2Qgd2F5IHRvIGRvY3VtZW50IDNkIGJ1aWxkaW5nIGluc3RydWN0aW9ucy4NCj4NCj4gLSBJcyB0
aGVyZSBhIHdheSB0byBjb25uZWN0IExFR08gUFUgbW90b3JzIGFuZCBzZW5zb3JzIHRvIGEgUGkg
d2l0aCBhDQo+IDJ4MjAgUGluICh+SURFKSBIQVQNCj4gICAtIGh0dHBzOi8vd3d3LnJhc3BiZXJy
eXBpLmNvbS9wcm9kdWN0cy9idWlsZC1oYXQvDQo+ICAgICA+IFRoZSBCdWlsZCBIQVQgYWxzbyBz
dXBwb3J0cyBtb3RvcnMgYW5kIHNlbnNvcnMgZnJvbSB0aGUgTEVHT8KuDQo+IE1JTkRTVE9STVPC
riBSb2JvdCBJbnZlbnRvciBraXQsIGFzIHdlbGwgYXMgbW9zdCBvdGhlciBMRUdPIGRldmljZXMN
Cj4gdGhhdCB1c2UgYW4gTFBGMiBjb25uZWN0b3IuDQo+ICAgICAtIERvZXMgdGhhdCBtZWFuIGl0
IHdvcmtzIHdpdGggUFUsDQo+ICAgICAgIG9yIGlzIHRoZXJlIG5vIHByb2R1Y3QgdG8gY29ubmVj
dCBMRUdPIFBVIG1vdG9ycyBmcm9tIG91ciBvbmUNCj4ga2l0IHRvIG91ciBvbmUgUGkgPw0KPg0K
PiAgICAgICAtIGh0dHBzOi8vdWsucGktc3VwcGx5LmNvbS9jb2xsZWN0aW9ucy9hbGwtcmFzcGJl
cnJ5LXBpLWhhdHMtYW5kLXBoYXRzL3Byb2R1Y3RzL3J5YW50ZWNrLXJ0ay1ncGlvLXBjLWdwaW8t
aW50ZXJmYWNlDQo+ICAgICAgICAgLSBVU0IgdG8gMngyMCBQaW4gR1BJTw0KPg0KPg0KPiAjIyMg
U3VuRm91bmRlcg0KPiAtIFNyYzogaHR0cHM6Ly9naXRodWIuY29tL3N1bmZvdW5kZXINCj4gLSBE
b2NzOiBodHRwczovL2RvY3Muc3VuZm91bmRlci5jb20vcHJvamVjdHMvdGhhbGVzLWtpdC9lbi9s
YXRlc3QvY29tcG9uZW50cy9yZXNpc3Rvci5odG1sDQo+IC0gRG9jczogaHR0cHM6Ly9kb2NzLnN1
bmZvdW5kZXIuY29tL3Byb2plY3RzL3RoYWxlcy1raXQvZW4vbGF0ZXN0L21pY3JvcHl0aG9uL2Zv
cl9taWNyb3B5dGhvbl91c2VyLmh0bWwNCj4NCj4NCj4gIyMjIEVsZWNmcmVha3MNCj4gLSBTcmM6
IGh0dHBzOi8vZ2l0aHViLmNvbS9lbGVjZnJlYWtzDQo+IC0gRG9jczogaHR0cHM6Ly93d3cuZWxl
Y2ZyZWFrcy5jb20vbGVhcm4vZW4vDQo+DQo+IC0gaHR0cHM6Ly9zaG9wLmVsZWNmcmVha3MuY29t
L3Byb2R1Y3RzL2VsZWNmcmVha3MtbWljcm8tYml0LTMyLWluLTEtd29uZGVyLWJ1aWxkaW5nLWtp
dC13aXRob3V0LW1pY3JvLWJpdC1ib2FyZA0KPiAgIC0gTWljcm9iaXQgdG8gMnggbW90b3JzIGFu
ZCAxNiBQV01zDQo+IC0gaHR0cHM6Ly93d3cuYW1hem9uLmNvbS9TRUVNRVktUG93ZXItRnVuY3Rp
b24tS2l0LVBpbnMtR2VhcnMtQXhsZXMtQ29tcGF0aWJsZS1MZWdvLVRlY2huaWMtUGFydHMvZHAv
QjBCWkw1VENLTg0KPiAtIGh0dHBzOi8vd3d3LmFsaWV4cHJlc3MudXMvdy93aG9sZXNhbGUtbGVn
by10ZWNobmljLmh0bWwNCj4NCj4NCj4gIyMjIFlhaGJvb20NCj4gLSBTcmM6IGh0dHBzOi8vZ2l0
aHViLmNvbS9ZYWhib29tVGVjaG5vbG9neQ0KPiAtIERvY3M6IGh0dHA6Ly93d3cueWFoYm9vbS5u
ZXQvZG93bmxvYWQNCj4gLSBEb2NzOiBpbnVybDpodHRwOi8vd3d3LnlhaGJvb20ubmV0L3N0dWR5
Lw0KPg0KPg0KPiAjIyMgRnJlZW5vdmUNCj4gLSBTcmM6IGh0dHBzOi8vZ2l0aHViLmNvbS9GcmVl
bm92ZQ0KPiAtIERvY3M6IGh0dHBzOi8vd3d3LmZyZWVub3ZlLmNvbS90dXRvcmlhbA0KPg0KPg0K
PiAjIyMgV29rd2kgU2ltdWxhdG9yDQo+IC0gaHR0cHM6Ly93b2t3aS5jb20vDQo+IC0gaHR0cHM6
Ly93b2t3aS5jb20vcHJvamVjdHMvbmV3L21pY3JvcHl0aG9uLXBpLXBpY28NCj4gLSBXaGF0IGlz
IFBXTT8gSG93IHRvIGZhZGUgYW4gTEVEIG9uIGFuZCBvZmYsIGNvbnRyb2wgYSBzZXJ2bywgY29u
dHJvbA0KPiBhIGNhc2UgZmFuIHdpdGggdmFyaWFibGUgc3BlZWQNCj4gLSBJbiB0aGUgV29rd2kg
c2ltdWxhdG9yLCB3aGVuIHlvdSBwYXVzZSB8fCB0aGUgY2lyY3VpdCB0aGF0IHJ1bnMgeW91cg0K
PiB7UHl0aG9uLH0gY29kZSwgYW5kIHRoZW4gaG92ZXIgb3ZlciBhIHBpbiwgaXQgc2hvd3MgdGhl
IHBpbiBzdGF0ZTsNCj4gaGlnaCwgbG93LA0KPiAtIE1ha2Vjb2RlIEFyY2FkZSBhbmQgVGlua2Vy
Q29kZSBhcmUgYWxzbyBhIHNpbXVsYXRvcnMgdGhhdCBkb24ndA0KPiByZXF1aXJlIGFjdHVhbCBk
ZXZpY2VzDQo+DQo+DQo+ICMjIEFjdHVhbCB3b3JrIHRobywNCj4NCj4gLSBodHRwczovL2dpdGh1
Yi5jb20vbWFya2V0cGxhY2UvYWN0aW9ucy9zZXR1cC1taWNyb21hbWJhDQo+ICAgLSBbIF0gV3Jp
dGUgYSBEb2NrZXJmaWxlIHRoYXQgaW5zdGFsbHMgeW91ciBzdHVmZg0KPiAgIC0gWyBdIE1ha2Ug
c3VyZSB0aGF0IHlvdXIgcmVwbyB3aXRoIGFuIC9lbnZpcm9ubWVudC55bWwgd29ya3Mgd2l0aDoN
Cj4gICAgIGBgYHNoDQo+ICAgICBwaXAgaW5zdGFsbCBwaXB4OyBwaXB4IGluc3RhbGwganVweXRl
ci1yZXBvMmRvY2tlciAgIyBvciBqdXN0OiBwaXANCj4gaW5zdGFsbCBqdXB5dGVyLXJlcG8yZG9j
a2VyDQo+ICAgICBqdXB5dGVyLXJlcG8yZG9ja2VyIC0tbm8tYnVpbGQgLS1kZWJ1ZyAuDQo+ICAg
ICBqdXB5dGVyLXJlcG8yZG9ja2VyIC0tbm8tYnVpbGQgLS1kZWJ1Zw0KPiBodHRwczovL2dpdGh1
Yi5jb20vYmluZGVyLWV4YW1wbGVzL2NvbmRhDQo+ICAgICBgYGANCj4gICAtIGh0dHBzOi8vcmVw
bzJkb2NrZXIucmVhZHRoZWRvY3MuaW8vZW4vbGF0ZXN0L3VzYWdlLmh0bWwNCj4gICAtIGh0dHBz
Oi8vbXliaW5kZXIucmVhZHRoZWRvY3MuaW8vZW4vbGF0ZXN0L2V4YW1wbGVzL3NhbXBsZV9yZXBv
cy5odG1sDQo+ICAgICAtIGh0dHBzOi8vZ2l0aHViLmNvbS9iaW5kZXItZXhhbXBsZXMvY29uZGEN
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkVkdS1zaWcg
bWFpbGluZyBsaXN0IC0tIGVkdS1zaWdAcHl0aG9uLm9yZwpUbyB1bnN1YnNjcmliZSBzZW5kIGFu
IGVtYWlsIHRvIGVkdS1zaWctbGVhdmVAcHl0aG9uLm9yZwpodHRwczovL21haWwucHl0aG9uLm9y
Zy9tYWlsbWFuMy9saXN0cy9lZHUtc2lnLnB5dGhvbi5vcmcvCk1lbWJlciBhZGRyZXNzOiBweXRo
b24tZWR1LXNpZ0BtLmdtYW5lLW14Lm9yZwo=