• TriLUG Digest, Vol 4263, Issue 1

    From via TriLUG@trilug@trilug.org to trilug@trilug.org on Tue Mar 4 12:00:01 2025
    U2VuZCBUcmlMVUcgbWFpbGluZyBsaXN0IHN1Ym1pc3Npb25zIHRvCgl0cmlsdWdAdHJpbHVnLm9y ZwoKVG8gc3Vic2NyaWJlIG9yIHVuc3Vic2NyaWJlIHZpYSB0aGUgV29ybGQgV2lkZSBXZWIsIHZp c2l0CglodHRwczovL3d3dy50cmlsdWcub3JnL21haWxtYW4vbGlzdGluZm8vdHJpbHVnCm9yLCB2 aWEgZW1haWwsIHNlbmQgYSBtZXNzYWdlIHdpdGggc3ViamVjdCBvciBib2R5ICdoZWxwJyB0bwoJ dHJpbHVnLXJlcXVlc3RAdHJpbHVnLm9yZwoKWW91IGNhbiByZWFjaCB0aGUgcGVyc29uIG1hbmFn aW5nIHRoZSBsaXN0IGF0Cgl0cmlsdWctb3duZXJAdHJpbHVnLm9yZwoKV2hlbiByZXBseWluZywg cGxlYXNlIGVkaXQgeW91ciBTdWJqZWN0IGxpbmUgc28gaXQgaXMgbW9yZSBzcGVjaWZpYwp0aGFu ICJSZTogQ29udGVudHMgb2YgVHJpTFVHIGRpZ2VzdC4uLiIKCgpUb2RheSdzIFRvcGljczoKCiAg IDEuIFJlOiBMaW51eCBGcm9tIFNjcmF0Y2ggKFNjb3R0IEJsYXlkZXMgdmlhIFRyaUxVRykKICAg Mi4gUmU6IExpbnV4IEZyb20gU2NyYXRjaCAoSm9obiBWYXVnaHRlcnMgdmlhIFRyaUxVRykKICAg My4gUmU6IExpbnV4IEZyb20gU2NyYXRjaCAoU2NvdHQgQmxheWRlcyB2aWEgVHJpTFVHKQogICA0 LiBSZTogTGludXggRnJvbSBTY3JhdGNoIChKb2huIFZhdWdodGVycyB2aWEgVHJpTFVHKQogICA1 LiBSZTogTGludXggRnJvbSBTY3JhdGNoIChTdGVwaGVuIFdpbGV5IHZpYSBUcmlMVUcpCiAgIDYu IFJlOiBMaW51eCBGcm9tIFNjcmF0Y2ggKFNjb3R0IEJsYXlkZXMgdmlhIFRyaUxVRykKICAgNy4g UmU6IExpbnV4IEZyb20gU2NyYXRjaCAoU2NvdHQgQmxheWRlcyB2aWEgVHJpTFVHKQogICA4LiAg UGlwaW5nLCByZWRpcmVjdGlvbiBhbmQgc2hlbGxzY2lwdHM6IDMvNS8yMDI1IDdwbSBFYXN0ZXJu CiAgICAgIFN0YW5kYXJkIHRpbWUgKGJyaWFuIG11bGxhbiB2aWEgVHJpTFVHKQogICA5LiBSZTog QWR2aWNlIFBsZWFzZSAoRWQgQmxhY2ttYW4gdmlhIFRyaUxVRykKICAxMC4gUmU6IEFkdmljZSBQ bGVhc2UgKEpvc2VwaCBNYWNrIE5BM1QgdmlhIFRyaUxVRykKICAxMS4gW1RhbmdlbnRdIFJlOiAg TGludXggRnJvbSBTY3JhdGNoIChCcmlhbiB2aWEgVHJpTFVHKQogIDEyLiBSZTogQUkgYmFzaGlu ZyAtIHdhcyBMaW51eCBGcm9tIFNjcmF0Y2ggKEJyaWFuIHZpYSBUcmlMVUcpCgoKLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQoKTWVzc2FnZTogMQpEYXRlOiBNb24sIDMgTWFyIDIwMjUgMTE6MTU6NDcgLTA2MDAKRnJv bTogU2NvdHQgQmxheWRlcyB2aWEgVHJpTFVHIDx0cmlsdWdAdHJpbHVnLm9yZz4KVG86IEpvaG4g VmF1Z2h0ZXJzIDxqdmF1Z2h0ZXJzMDRAeWFob28uY29tPiwgVHJpYW5nbGUgTGludXggVXNlcnMK CUdyb3VwIEdlbmVyYWwgRGlzY3Vzc2lvbiA8dHJpbHVnQHRyaWx1Zy5vcmc+ClN1YmplY3Q6IFJl OiBbVHJpTFVHXSBMaW51eCBGcm9tIFNjcmF0Y2gKTWVzc2FnZS1JRDogPFo4WGp3OWgyZTFwRWdp dTVAZmlubi5uZXR0ZWsuaW8+CkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1pc28t ODg1OS0xCgpPbiBGcmksIEZlYiAyOCwgMjAyNSBhdCAwOToxNDoyOFBNICswMDAwLCBKb2huIFZh dWdodGVycyB2aWEgVHJpTFVHIHdyb3RlOgo+ID5PSy7CoCBJJ2xsIGNvbmNlZGUgdGhhdCBBSSBz dWNrcyBmb3IgY3JlYXRpdml0eSB0b28gOi0pCj4gCj4gPkV2ZXJ5b25lIHVuaGFwcHkgbm93PyA6 LSkKPiAKPiA+V2lsbGlhbSBTdXR0b24KPiAKPiBMT0whIEkgdGhpbmsgSSBhbSBqdXN0IHN0cnVj ayBieSB0aGUgbGFjayBvZiB1dGlsaXR5IGJlaW5nIG1pc3NlZC4gSXQncyBnb29kIGZvciBnZW5l cmF0aW5nIHJldmVudWUgYnkgZG9pbmcgd2hhdCBwZW9wbGUgd2lsbCB0byBwYXkgZm9yIGFjdGlv biBvciBjb250ZW50LiBJZiBJIGNhbiBnZXQgcGFpZCBmb3IgaXQuIEl0J3MgR29vZCEhIQo+IAo+ IH5Kb2huIFZhdWdodGVycwoKCkkgd291bGQgaGF2ZSB0byBkaXNhZ3JlZS4gTWFueSBwZW9wbGUg YXJlIG1ha2luZyBtb25leSBvZiB0ZXJyaWJsZSB0aGluZ3MsIHNvIGl0IGlzbid0ICJHb29kIi4g CgpTaGl0dHkgY29udGVudCB0aGF0IGNhbid0IGJlIHRydXN0ZWQgaXMgZmxvb2Rpbmcgb3VyIHNl YXJjaCBlbmdpbmVzLiBXaGVuIHdlIHJlYWQgc29tZXRoaW5nIHdlIGhhdmUgdG8gYXNrICJEb2Vz IHRoaXMgbG9vayBsaWtlIGl0IGlzIGZyb20gYSB0cnV0aGZ1bCB3ZWIgc2l0ZT8iCgpKdXN0aWZ5 aW5nIHRoaW5ncyBieSAiSWYgSSBjYW4gZ2V0IHBhaWQgZm9yIGl0IiBpcyB3aGF0IGNhdXNlZCB0 aGlzIHByb2JsZW0gaW4gdGhlIGZpcnN0IHBsYWNlLgoKSSBtaXNzIHRoZSBvbGQgaW50ZXJuZXQu Li4KClRoYW5rIHlvdSwKU2NvdHQgQmxheWRlcwogCj4gLS0gCj4gVGhpcyBtZXNzYWdlIHdhcyBz ZW50IHRvOiBTY290dCBCbGF5ZGVzIDxzY290dEBuZXR0ZWsuaW8+Cj4gVG8gdW5zdWJzY3JpYmUs IHNlbmQgYSBibGFuayBtZXNzYWdlIHRvIHRyaWx1Zy1sZWF2ZUB0cmlsdWcub3JnIGZyb20gdGhh dCBhZGRyZXNzLgo+IFRyaUxVRyBtYWlsaW5nIGxpc3QgOiBodHRwczovL3d3dy50cmlsdWcub3Jn L21haWxtYW4vbGlzdGluZm8vdHJpbHVnCj4gVW5zdWJzY3JpYmUgb3IgZWRpdCBvcHRpb25zIG9u IHRoZSB3ZWIJOiBodHRwczovL3d3dy50cmlsdWcub3JnL21haWxtYW4vb3B0aW9ucy90cmlsdWcv c2NvdHQlNDBuZXR0ZWsuaW8KPiBXZWxjb21lIHRvIFRyaUxVRzogaHR0cHM6Ly90cmlsdWcub3Jn L3dlbGNvbWUKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCk1lc3NhZ2U6IDIKRGF0 ZTogTW9uLCAzIE1hciAyMDI1IDE3OjQ3OjU1ICswMDAwIChVVEMpCkZyb206IEpvaG4gVmF1Z2h0 ZXJzIHZpYSBUcmlMVUcgPHRyaWx1Z0B0cmlsdWcub3JnPgpUbzogVHJpYW5nbGUgTGludXggVXNl cnMgR3JvdXAgR2VuZXJhbCBEaXNjdXNzaW9uIDx0cmlsdWdAdHJpbHVnLm9yZz4sCglTY290dCBC bGF5ZGVzIDxzY290dEBuZXR0ZWsuaW8+ClN1YmplY3Q6IFJlOiBbVHJpTFVHXSBMaW51eCBGcm9t IFNjcmF0Y2gKTWVzc2FnZS1JRDogPDg1MzA1OTI1MS41NzAwNjM5LjE3NDEwMjQwNzU5MjBAbWFp bC55YWhvby5jb20+CkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAoKPldo ZW4gd2UgcmVhZCBzb21ldGhpbmcgd2UgaGF2ZSB0byBhc2sgIkRvZXMgdGhpcyBsb29rIGxpa2Ug aXQgaXMgZnJvbSBhIHRydXRoZnVsIHdlYiBzaXRlPyIKClRoYXQgaXMgYSB2YWxpZCBwb2ludCBh bmQgSSBhZ3JlZSB3aXRoIHlvdS4gSG93ZXZlciwgdGhhdCBkb2Vzbid0IGNoYW5nZSB0aGUgdmFs dWUgZXF1YXRpb24uIElmIHBlb3BsZSBmaW5kIHRoZSB0ZWNoIHZhbHVhYmxlIHRvIHRoZW0sIHRo ZXkgd2lsbCB1c2UgaXQuIEZvciBzdXJlIHdlIGFyZSB3aXRuZXNzaW5nIHF1YW50aXR5IG92ZXIg cXVhbGl0eSBpc3N1ZXMsIGJ1dCB0aGF0IGlzIG5vdCBuZXcsIGl0J3MgYmVlbiBoYXBwZW5pbmcg YSBsb25nIHRpbWUuIE9yLi4uLiBXZSBhcmUgZ2V0dGluZyBvbGQgYW5kICJUaGV5IGRvbid0IG1h a2UgdGhlbSBsaWtlIHRoZXkgdXNlZCB0byIgaXMgaW4gcGxheS4gQW5kIEkgYXNzdXJlIHlvdSB0 aGF0IG15IGdyYW5ka2lkcyB3b3VsZCBhY2N1c2UgbWUgb2YgdGhhdCBhdHRpdHVkZS4gYCx+KQoK fkpvaG4gVmF1Z2h0ZXJzCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpNZXNzYWdl OiAzCkRhdGU6IE1vbiwgMyBNYXIgMjAyNSAxODoyNDo0NSAtMDYwMApGcm9tOiBTY290dCBCbGF5 ZGVzIHZpYSBUcmlMVUcgPHRyaWx1Z0B0cmlsdWcub3JnPgpUbzogSm9obiBWYXVnaHRlcnMgPGp2 YXVnaHRlcnMwNEB5YWhvby5jb20+CkNjOiBUcmlhbmdsZSBMaW51eCBVc2VycyBHcm91cCBHZW5l cmFsIERpc2N1c3Npb24gPHRyaWx1Z0B0cmlsdWcub3JnPgpTdWJqZWN0OiBSZTogW1RyaUxVR10g TGludXggRnJvbSBTY3JhdGNoCk1lc3NhZ2UtSUQ6IDxaOFpJVFU0M3lDYlZFY0RWQGZpbm4ubmV0 dGVrLmlvPgpDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9dXMtYXNjaWkKCk9uIE1v biwgTWFyIDAzLCAyMDI1IGF0IDA1OjQ3OjU1UE0gKzAwMDAsIEpvaG4gVmF1Z2h0ZXJzIHdyb3Rl Ogo+ID5XaGVuIHdlIHJlYWQgc29tZXRoaW5nIHdlIGhhdmUgdG8gYXNrICJEb2VzIHRoaXMgbG9v ayBsaWtlIGl0IGlzIGZyb20gYSB0cnV0aGZ1bCB3ZWIgc2l0ZT8iCj4gCj4gVGhhdCBpcyBhIHZh bGlkIHBvaW50IGFuZCBJIGFncmVlIHdpdGggeW91LiBIb3dldmVyLCB0aGF0IGRvZXNuJ3QgY2hh bmdlIHRoZSB2YWx1ZSBlcXVhdGlvbi4gSWYgcGVvcGxlIGZpbmQgdGhlIHRlY2ggdmFsdWFibGUg dG8gdGhlbSwgdGhleSB3aWxsIHVzZSBpdC4gRm9yIHN1cmUgd2UgYXJlIHdpdG5lc3NpbmcgcXVh bnRpdHkgb3ZlciBxdWFsaXR5IGlzc3VlcywgYnV0IHRoYXQgaXMgbm90IG5ldywgaXQncyBiZWVu IGhhcHBlbmluZyBhIGxvbmcgdGltZS4gT3IuLi4uIFdlIGFyZSBnZXR0aW5nIG9sZCBhbmQgIlRo ZXkgZG9uJ3QgbWFrZSB0aGVtIGxpa2UgdGhleSB1c2VkIHRvIiBpcyBpbiBwbGF5LiBBbmQgSSBh c3N1cmUgeW91IHRoYXQgbXkgZ3JhbmRraWRzIHdvdWxkIGFjY3VzZSBtZSBvZiB0aGF0IGF0dGl0 dWRlLiBgLH4pCj4gCj4gfkpvaG4gVmF1Z2h0ZXJzCj4gCgpJIGFtIG5vdCBrbm93biBmb3IgbWlu Y2luZyB3b3Jkcy4gTm90IHRyeWluZyB0byBiZSBhbiBhc3Nob2xlLCBidXQgbm90IGdvaW5nIHRv IHN1Z2FyIGNvYXQgaXQganVzdCB0byBuaWNlIG9uIHRoZSBsaXN0LgoKSWYgdGhhdCBpcyB0aGUg YXR0aXR1ZGUgb2YgeW91ciBncmFuZGtpZHMsIHlvdSBoYXZlIHJhaXNlZCBzb21lIHRlcnJpYmxl IGtpZHMvZ3JhbmRraWRzLiAKClRoZSBpZGVhIHRoYXQgbW9uZXkganVzdGlmaWVzIGJhZCBpbmZv cm1hdGlvbiBpcyB3cm9uZy4gVGhpbmdzIGFyZSBlaXRoZXIgdHJ1ZSBvciBmYWxzZS4gVGhlIGVu ZCBkb2Vzbid0IGp1c3RpZnkgdGhlIG1lYW5zLiAgIAoKR28gdGhvdWdoIG1ham9yIG1lZGljYWwg aXNzdWVzIChjYW5jZXIvc3Ryb2tlIGFzIGV4YW1wbGUpIGFuZCB5b3UgZmluZCBpbXBvcnRhbnQg dGhpbmdzIGJleW9uZCBtb25leSBvciBjYXJlZXIuIAoKVGhhbmsgeW91LApTY290dCBCbGF5ZGVz CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpNZXNzYWdlOiA0CkRhdGU6IFR1ZSwg NCBNYXIgMjAyNSAwMDo0MzoxMiArMDAwMCAoVVRDKQpGcm9tOiBKb2huIFZhdWdodGVycyB2aWEg VHJpTFVHIDx0cmlsdWdAdHJpbHVnLm9yZz4KVG86IFNjb3R0IEJsYXlkZXMgPHNjb3R0QG5ldHRl ay5pbz4KQ2M6IFRyaWFuZ2xlIExpbnV4IFVzZXJzIEdyb3VwIEdlbmVyYWwgRGlzY3Vzc2lvbiA8 dHJpbHVnQHRyaWx1Zy5vcmc+ClN1YmplY3Q6IFJlOiBbVHJpTFVHXSBMaW51eCBGcm9tIFNjcmF0 Y2gKTWVzc2FnZS1JRDogPDIwNzEyNzYxMDQuNTgwNjIuMTc0MTA0ODk5MjMxNkBtYWlsLnlhaG9v LmNvbT4KQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CgpTY290dCwKTm8g d29ycmllcyBhdCBhbGwsIEkgcmVhbGx5IG1pc3MgdGhlIGRheXMgd2hlbiB0aGUgSVQgdHlwZXMg d291bGQgcmVndWxhcmx5IGRlbmlncmF0ZSBlYWNoIG90aGVyIGFuZCBub2JvZHkgcmVhbGx5IGdv dCBvZmZlbmRlZC4gSnVzdCBwYXJ0IG9mIHRoZSByZWd1bGFyIGxleGljb24uIEluIHRoYXQgc2Ft ZSBzcGlyaXQsIEkgd2lsbCByZXNwb25kLiBJIHJlYWxseSBjb3VsZCBnaXZlIGEgZmx5aW5nIGZ1 Y2sgd2hhdCB5b3UgdGhpbmsuIExPTCEgQW5kIGFzIGEgZm9sbG93IHVwIEkgY291bGQgY2FyZSBs ZXNzIHdobyB0aGlua3MgSSdtIGFuZCBhc3Nob2xlLiBCZWNhdXNlLCBJIHRvbywgc2F5IGl0IGxp a2UgaXQgaXMgYW5kIEkgc3RhbmQgYnkgYWJzb2x1dGVseSBldmVyeXRoaW5nIEkgc3RhdGVkIGlu IHRoZSBzdHJpbmcgYXMgbXkgb3BpbmlvbnMgYW5kIGV4cGVyaWVuY2VzLiBZb3UgY2FuIHByb2Nl c3MgaG93ZXZlciB5b3Ugd2FudCBvciBub3QgYXQgYWxsLgoKSGVyZSBpcyB0aGUgYmVzdCBwYXJ0 LiBJbiB0aGlzIGV4Y2hhbmdlIEkgaG9sZCBubyBpbGwgd2lsbCB0b3dhcmRzIHlvdSBmb3IgYmVp bmcgZm9yd2FyZCwgSSBhY3R1YWxseSByZXNwZWN0IGl0LgoKVGhhbmtzIGZvciByZXNwb25kaW5n LgoKfkpvaG4gVmF1Z2h0ZXJzCgoKCgoKCk9uIE1vbmRheSwgTWFyY2ggMywgMjAyNSBhdCAwNzoy NDo0NyBQTSBFU1QsIFNjb3R0IEJsYXlkZXMgPHNjb3R0QG5ldHRlay5pbz4gd3JvdGU6IAoKCgoK Ck9uIE1vbiwgTWFyIDAzLCAyMDI1IGF0IDA1OjQ3OjU1UE0gKzAwMDAsIEpvaG4gVmF1Z2h0ZXJz IHdyb3RlOgo+ID5XaGVuIHdlIHJlYWQgc29tZXRoaW5nIHdlIGhhdmUgdG8gYXNrICJEb2VzIHRo aXMgbG9vayBsaWtlIGl0IGlzIGZyb20gYSB0cnV0aGZ1bCB3ZWIgc2l0ZT8iCj4gCj4gVGhhdCBp cyBhIHZhbGlkIHBvaW50IGFuZCBJIGFncmVlIHdpdGggeW91LiBIb3dldmVyLCB0aGF0IGRvZXNu J3QgY2hhbmdlIHRoZSB2YWx1ZSBlcXVhdGlvbi4gSWYgcGVvcGxlIGZpbmQgdGhlIHRlY2ggdmFs dWFibGUgdG8gdGhlbSwgdGhleSB3aWxsIHVzZSBpdC4gRm9yIHN1cmUgd2UgYXJlIHdpdG5lc3Np bmcgcXVhbnRpdHkgb3ZlciBxdWFsaXR5IGlzc3VlcywgYnV0IHRoYXQgaXMgbm90IG5ldywgaXQn cyBiZWVuIGhhcHBlbmluZyBhIGxvbmcgdGltZS4gT3IuLi4uIFdlIGFyZSBnZXR0aW5nIG9sZCBh bmQgIlRoZXkgZG9uJ3QgbWFrZSB0aGVtIGxpa2UgdGhleSB1c2VkIHRvIiBpcyBpbiBwbGF5LiBB bmQgSSBhc3N1cmUgeW91IHRoYXQgbXkgZ3JhbmRraWRzIHdvdWxkIGFjY3VzZSBtZSBvZiB0aGF0 IGF0dGl0dWRlLiBgLH4pCj4gCj4gfkpvaG4gVmF1Z2h0ZXJzCj4gCgpJIGFtIG5vdCBrbm93biBm b3IgbWluY2luZyB3b3Jkcy4gTm90IHRyeWluZyB0byBiZSBhbiBhc3Nob2xlLCBidXQgbm90IGdv aW5nIHRvIHN1Z2FyIGNvYXQgaXQganVzdCB0byBuaWNlIG9uIHRoZSBsaXN0LgoKSWYgdGhhdCBp cyB0aGUgYXR0aXR1ZGUgb2YgeW91ciBncmFuZGtpZHMsIHlvdSBoYXZlIHJhaXNlZCBzb21lIHRl cnJpYmxlIGtpZHMvZ3JhbmRraWRzLiAKClRoZSBpZGVhIHRoYXQgbW9uZXkganVzdGlmaWVzIGJh ZCBpbmZvcm1hdGlvbiBpcyB3cm9uZy4gVGhpbmdzIGFyZSBlaXRoZXIgdHJ1ZSBvciBmYWxzZS4g VGhlIGVuZCBkb2Vzbid0IGp1c3RpZnkgdGhlIG1lYW5zLsKgIAoKR28gdGhvdWdoIG1ham9yIG1l ZGljYWwgaXNzdWVzIChjYW5jZXIvc3Ryb2tlIGFzIGV4YW1wbGUpIGFuZCB5b3UgZmluZCBpbXBv cnRhbnQgdGhpbmdzIGJleW9uZCBtb25leSBvciBjYXJlZXIuIAoKVGhhbmsgeW91LApTY290dCBC bGF5ZGVzCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpNZXNzYWdlOiA1CkRhdGU6 IE1vbiwgMyBNYXIgMjAyNSAxOTo1Mzo0MCAtMDUwMApGcm9tOiBTdGVwaGVuIFdpbGV5IHZpYSBU cmlMVUcgPHRyaWx1Z0B0cmlsdWcub3JnPgpUbzogU2NvdHQgQmxheWRlcyA8c2NvdHRAbmV0dGVr LmlvPgpDYzogVHJpYW5nbGUgTGludXggVXNlcnMgR3JvdXAgR2VuZXJhbCBEaXNjdXNzaW9uIDx0 cmlsdWdAdHJpbHVnLm9yZz4KU3ViamVjdDogUmU6IFtUcmlMVUddIExpbnV4IEZyb20gU2NyYXRj aApNZXNzYWdlLUlEOiA8WjhaUEZJTzBvbUljMkJOR0BnZHAuc3dpbGV5Lm5ldD4KQ29udGVudC1U eXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PXVzLWFzY2lpCgpTb3JyeSwgbWVhbnQgdG8gc2VuZCB0 aGlzIHRvIHRoZSBsaXN0LgpJIHRoaW5rIHlvdSBndXlzIGFyZSBiZWluZyBhIGxpdHRsZSBkcmFt YXRpYy4gSXQncyBub3QgbGlrZSB0aGUgaW50ZXJuZXQKd2FzIHNvbWUgb3JhY2xlIG9mIFRydXRo IGJlZm9yZSBMTE1zLgoKLS1TdGVwaGVuCgpPbiBNb24sIE1hciAwMywgMjAyNSBhdCAwNjoyNDo0 NVBNIC0wNjAwLCBTY290dCBCbGF5ZGVzIHdyb3RlOgo+IE9uIE1vbiwgTWFyIDAzLCAyMDI1IGF0 IDA1OjQ3OjU1UE0gKzAwMDAsIEpvaG4gVmF1Z2h0ZXJzIHdyb3RlOgo+ID4gPldoZW4gd2UgcmVh ZCBzb21ldGhpbmcgd2UgaGF2ZSB0byBhc2sgIkRvZXMgdGhpcyBsb29rIGxpa2UgaXQgaXMgZnJv bSBhIHRydXRoZnVsIHdlYiBzaXRlPyIKPiA+IAo+ID4gVGhhdCBpcyBhIHZhbGlkIHBvaW50IGFu ZCBJIGFncmVlIHdpdGggeW91LiBIb3dldmVyLCB0aGF0IGRvZXNuJ3QgY2hhbmdlIHRoZSB2YWx1 ZSBlcXVhdGlvbi4gSWYgcGVvcGxlIGZpbmQgdGhlIHRlY2ggdmFsdWFibGUgdG8gdGhlbSwgdGhl eSB3aWxsIHVzZSBpdC4gRm9yIHN1cmUgd2UgYXJlIHdpdG5lc3NpbmcgcXVhbnRpdHkgb3ZlciBx dWFsaXR5IGlzc3VlcywgYnV0IHRoYXQgaXMgbm90IG5ldywgaXQncyBiZWVuIGhhcHBlbmluZyBh IGxvbmcgdGltZS4gT3IuLi4uIFdlIGFyZSBnZXR0aW5nIG9sZCBhbmQgIlRoZXkgZG9uJ3QgbWFr ZSB0aGVtIGxpa2UgdGhleSB1c2VkIHRvIiBpcyBpbiBwbGF5LiBBbmQgSSBhc3N1cmUgeW91IHRo YXQgbXkgZ3JhbmRraWRzIHdvdWxkIGFjY3VzZSBtZSBvZiB0aGF0IGF0dGl0dWRlLiBgLH4pCj4g PiAKPiA+IH5Kb2huIFZhdWdodGVycwo+ID4gCj4gCj4gSSBhbSBub3Qga25vd24gZm9yIG1pbmNp bmcgd29yZHMuIE5vdCB0cnlpbmcgdG8gYmUgYW4gYXNzaG9sZSwgYnV0IG5vdCBnb2luZyB0byBz dWdhciBjb2F0IGl0IGp1c3QgdG8gbmljZSBvbiB0aGUgbGlzdC4KPiAKPiBJZiB0aGF0IGlzIHRo ZSBhdHRpdHVkZSBvZiB5b3VyIGdyYW5ka2lkcywgeW91IGhhdmUgcmFpc2VkIHNvbWUgdGVycmli bGUga2lkcy9ncmFuZGtpZHMuIAo+IAo+IFRoZSBpZGVhIHRoYXQgbW9uZXkganVzdGlmaWVzIGJh ZCBpbmZvcm1hdGlvbiBpcyB3cm9uZy4gVGhpbmdzIGFyZSBlaXRoZXIgdHJ1ZSBvciBmYWxzZS4g VGhlIGVuZCBkb2Vzbid0IGp1c3RpZnkgdGhlIG1lYW5zLiAgIAo+IAo+IEdvIHRob3VnaCBtYWpv ciBtZWRpY2FsIGlzc3VlcyAoY2FuY2VyL3N0cm9rZSBhcyBleGFtcGxlKSBhbmQgeW91IGZpbmQg aW1wb3J0YW50IHRoaW5ncyBiZXlvbmQgbW9uZXkgb3IgY2FyZWVyLiAKPiAKPiBUaGFuayB5b3Us Cj4gU2NvdHQgQmxheWRlcwoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCk1lc3Nh Z2U6IDYKRGF0ZTogTW9uLCAzIE1hciAyMDI1IDE5OjE2OjQxIC0wNjAwCkZyb206IFNjb3R0IEJs YXlkZXMgdmlhIFRyaUxVRyA8dHJpbHVnQHRyaWx1Zy5vcmc+ClRvOiBKb2huIFZhdWdodGVycyA8 anZhdWdodGVyczA0QHlhaG9vLmNvbT4KQ2M6IFRyaWFuZ2xlIExpbnV4IFVzZXJzIEdyb3VwIEdl bmVyYWwgRGlzY3Vzc2lvbiA8dHJpbHVnQHRyaWx1Zy5vcmc+ClN1YmplY3Q6IFJlOiBbVHJpTFVH XSBMaW51eCBGcm9tIFNjcmF0Y2gKTWVzc2FnZS1JRDogPFo4WlVlYjI5T1lPakFKd3RAZmlubi5u ZXR0ZWsuaW8+CkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1pc28tODg1OS0xCgpP biBUdWUsIE1hciAwNCwgMjAyNSBhdCAxMjo0MzoxMkFNICswMDAwLCBKb2huIFZhdWdodGVycyB3 cm90ZToKPiBTY290dCwKPiBObyB3b3JyaWVzIGF0IGFsbCwgSSByZWFsbHkgbWlzcyB0aGUgZGF5 cyB3aGVuIHRoZSBJVCB0eXBlcyB3b3VsZCByZWd1bGFybHkgZGVuaWdyYXRlIGVhY2ggb3RoZXIg YW5kIG5vYm9keSByZWFsbHkgZ290IG9mZmVuZGVkLiBKdXN0IHBhcnQgb2YgdGhlIHJlZ3VsYXIg bGV4aWNvbi4gSW4gdGhhdCBzYW1lIHNwaXJpdCwgSSB3aWxsIHJlc3BvbmQuIEkgcmVhbGx5IGNv dWxkIGdpdmUgYSBmbHlpbmcgZnVjayB3aGF0IHlvdSB0aGluay4gTE9MISBBbmQgYXMgYSBmb2xs b3cgdXAgSSBjb3VsZCBjYXJlIGxlc3Mgd2hvIHRoaW5rcyBJJ20gYW5kIGFzc2hvbGUuIEJlY2F1 c2UsIEkgdG9vLCBzYXkgaXQgbGlrZSBpdCBpcyBhbmQgSSBzdGFuZCBieSBhYnNvbHV0ZWx5IGV2 ZXJ5dGhpbmcgSSBzdGF0ZWQgaW4gdGhlIHN0cmluZyBhcyBteSBvcGluaW9ucyBhbmQgZXhwZXJp ZW5jZXMuIFlvdSBjYW4gcHJvY2VzcyBob3dldmVyIHlvdSB3YW50IG9yIG5vdCBhdCBhbGwuCj4g Cj4gSGVyZSBpcyB0aGUgYmVzdCBwYXJ0LiBJbiB0aGlzIGV4Y2hhbmdlIEkgaG9sZCBubyBpbGwg d2lsbCB0b3dhcmRzIHlvdSBmb3IgYmVpbmcgZm9yd2FyZCwgSSBhY3R1YWxseSByZXNwZWN0IGl0 Lgo+IAo+IFRoYW5rcyBmb3IgcmVzcG9uZGluZy4KPiAKPiB+Sm9obiBWYXVnaHRlcnMKPiAKCk5v IHdvcnJpZXMsIEkgd291bGRuJ3QgZXhwZWN0IHlvdSB0byBjYXJlIGFib3V0IG15IG9waW5pb24u CgpIb25lc3RseSwgSSBiZWxpZXZlIHRoZSBiaWcgcHJvYmxlbSBpcyBhIHNvY2lldGFsIGlzc3Vl IHRoYXQgd2UgYXJlIGV4cGVjdGluZyB0byBmaXggd2l0aCB0ZWNobm9sb2d5LgoKRG9uJ3QgdGhp bmsgaXQgY2FuIGJlIGZpeGVkIGJ5IHRlY2hub2xvZ3kuCgpUaGFuayB5b3UsClNjb3R0IEJsYXlk ZXMKCj4gCj4gCj4gCj4gCj4gCj4gT24gTW9uZGF5LCBNYXJjaCAzLCAyMDI1IGF0IDA3OjI0OjQ3 IFBNIEVTVCwgU2NvdHQgQmxheWRlcyA8c2NvdHRAbmV0dGVrLmlvPiB3cm90ZTogCj4gCj4gCj4g Cj4gCj4gCj4gT24gTW9uLCBNYXIgMDMsIDIwMjUgYXQgMDU6NDc6NTVQTSArMDAwMCwgSm9obiBW YXVnaHRlcnMgd3JvdGU6Cj4gPiA+V2hlbiB3ZSByZWFkIHNvbWV0aGluZyB3ZSBoYXZlIHRvIGFz ayAiRG9lcyB0aGlzIGxvb2sgbGlrZSBpdCBpcyBmcm9tIGEgdHJ1dGhmdWwgd2ViIHNpdGU/Igo+ ID4gCj4gPiBUaGF0IGlzIGEgdmFsaWQgcG9pbnQgYW5kIEkgYWdyZWUgd2l0aCB5b3UuIEhvd2V2 ZXIsIHRoYXQgZG9lc24ndCBjaGFuZ2UgdGhlIHZhbHVlIGVxdWF0aW9uLiBJZiBwZW9wbGUgZmlu ZCB0aGUgdGVjaCB2YWx1YWJsZSB0byB0aGVtLCB0aGV5IHdpbGwgdXNlIGl0LiBGb3Igc3VyZSB3 ZSBhcmUgd2l0bmVzc2luZyBxdWFudGl0eSBvdmVyIHF1YWxpdHkgaXNzdWVzLCBidXQgdGhhdCBp cyBub3QgbmV3LCBpdCdzIGJlZW4gaGFwcGVuaW5nIGEgbG9uZyB0aW1lLiBPci4uLi4gV2UgYXJl IGdldHRpbmcgb2xkIGFuZCAiVGhleSBkb24ndCBtYWtlIHRoZW0gbGlrZSB0aGV5IHVzZWQgdG8i IGlzIGluIHBsYXkuIEFuZCBJIGFzc3VyZSB5b3UgdGhhdCBteSBncmFuZGtpZHMgd291bGQgYWNj dXNlIG1lIG9mIHRoYXQgYXR0aXR1ZGUuIGAsfikKPiA+IAo+ID4gfkpvaG4gVmF1Z2h0ZXJzCj4g PiAKPiAKPiBJIGFtIG5vdCBrbm93biBmb3IgbWluY2luZyB3b3Jkcy4gTm90IHRyeWluZyB0byBi ZSBhbiBhc3Nob2xlLCBidXQgbm90IGdvaW5nIHRvIHN1Z2FyIGNvYXQgaXQganVzdCB0byBuaWNl IG9uIHRoZSBsaXN0Lgo+IAo+IElmIHRoYXQgaXMgdGhlIGF0dGl0dWRlIG9mIHlvdXIgZ3JhbmRr aWRzLCB5b3UgaGF2ZSByYWlzZWQgc29tZSB0ZXJyaWJsZSBraWRzL2dyYW5ka2lkcy4gCj4gCj4g VGhlIGlkZWEgdGhhdCBtb25leSBqdXN0aWZpZXMgYmFkIGluZm9ybWF0aW9uIGlzIHdyb25nLiBU aGluZ3MgYXJlIGVpdGhlciB0cnVlIG9yIGZhbHNlLiBUaGUgZW5kIGRvZXNuJ3QganVzdGlmeSB0 aGUgbWVhbnMuwqAgCj4gCj4gR28gdGhvdWdoIG1ham9yIG1lZGljYWwgaXNzdWVzIChjYW5jZXIv c3Ryb2tlIGFzIGV4YW1wbGUpIGFuZCB5b3UgZmluZCBpbXBvcnRhbnQgdGhpbmdzIGJleW9uZCBt b25leSBvciBjYXJlZXIuIAo+IAo+IFRoYW5rIHlvdSwKPiBTY290dCBCbGF5ZGVzCj4gCgoKLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpNZXNzYWdlOiA3CkRhdGU6IE1vbiwgMyBNYXIg MjAyNSAxOToyNjozMSAtMDYwMApGcm9tOiBTY290dCBCbGF5ZGVzIHZpYSBUcmlMVUcgPHRyaWx1 Z0B0cmlsdWcub3JnPgpUbzogU3RlcGhlbiBXaWxleSA8c3dpbGV5QHN3aWxleS5uZXQ+CkNjOiBU cmlhbmdsZSBMaW51eCBVc2VycyBHcm91cCBHZW5lcmFsIERpc2N1c3Npb24gPHRyaWx1Z0B0cmls dWcub3JnPgpTdWJqZWN0OiBSZTogW1RyaUxVR10gTGludXggRnJvbSBTY3JhdGNoCk1lc3NhZ2Ut SUQ6IDxaOFpXeDFmeUVva19BNTF0QGZpbm4ubmV0dGVrLmlvPgpDb250ZW50LVR5cGU6IHRleHQv cGxhaW47IGNoYXJzZXQ9dXMtYXNjaWkKCk9uIE1vbiwgTWFyIDAzLCAyMDI1IGF0IDA3OjUzOjQw UE0gLTA1MDAsIFN0ZXBoZW4gV2lsZXkgd3JvdGU6Cj4gU29ycnksIG1lYW50IHRvIHNlbmQgdGhp cyB0byB0aGUgbGlzdC4KPiBJIHRoaW5rIHlvdSBndXlzIGFyZSBiZWluZyBhIGxpdHRsZSBkcmFt YXRpYy4gSXQncyBub3QgbGlrZSB0aGUgaW50ZXJuZXQKPiB3YXMgc29tZSBvcmFjbGUgb2YgVHJ1 dGggYmVmb3JlIExMTXMuCj4gCj4gLS1TdGVwaGVuCj4gCgpNYXliZSB0aGF0IGlzIHRoZSBwcm9i bGVtLCBJIGZpbmQgdGhlIGludGVyZW50IHRvIGJlIHNhY3JlZC4gCgpXZSBzaG91bGRuJ3QgZW5j b3VyYWdlIHRoaW5ncyB0aGF0IGFyZSBpbmFjY3VyYXRlIGp1c3QgYmVjYXVzZSBzb21lb25lIGNh biBtYWtlIG1vbmV5IG9mZiBvZiBpdC4gCgpUaGFuayB5b3UsClNjb3R0IEJsYXlkZXMKCgoKPiBP biBNb24sIE1hciAwMywgMjAyNSBhdCAwNjoyNDo0NVBNIC0wNjAwLCBTY290dCBCbGF5ZGVzIHdy b3RlOgo+ID4gT24gTW9uLCBNYXIgMDMsIDIwMjUgYXQgMDU6NDc6NTVQTSArMDAwMCwgSm9obiBW YXVnaHRlcnMgd3JvdGU6Cj4gPiA+ID5XaGVuIHdlIHJlYWQgc29tZXRoaW5nIHdlIGhhdmUgdG8g YXNrICJEb2VzIHRoaXMgbG9vayBsaWtlIGl0IGlzIGZyb20gYSB0cnV0aGZ1bCB3ZWIgc2l0ZT8i Cj4gPiA+IAo+ID4gPiBUaGF0IGlzIGEgdmFsaWQgcG9pbnQgYW5kIEkgYWdyZWUgd2l0aCB5b3Uu IEhvd2V2ZXIsIHRoYXQgZG9lc24ndCBjaGFuZ2UgdGhlIHZhbHVlIGVxdWF0aW9uLiBJZiBwZW9w bGUgZmluZCB0aGUgdGVjaCB2YWx1YWJsZSB0byB0aGVtLCB0aGV5IHdpbGwgdXNlIGl0LiBGb3Ig c3VyZSB3ZSBhcmUgd2l0bmVzc2luZyBxdWFudGl0eSBvdmVyIHF1YWxpdHkgaXNzdWVzLCBidXQg dGhhdCBpcyBub3QgbmV3LCBpdCdzIGJlZW4gaGFwcGVuaW5nIGEgbG9uZyB0aW1lLiBPci4uLi4g V2UgYXJlIGdldHRpbmcgb2xkIGFuZCAiVGhleSBkb24ndCBtYWtlIHRoZW0gbGlrZSB0aGV5IHVz ZWQgdG8iIGlzIGluIHBsYXkuIEFuZCBJIGFzc3VyZSB5b3UgdGhhdCBteSBncmFuZGtpZHMgd291 bGQgYWNjdXNlIG1lIG9mIHRoYXQgYXR0aXR1ZGUuIGAsfikKPiA+ID4gCj4gPiA+IH5Kb2huIFZh dWdodGVycwo+ID4gPiAKPiA+IAo+ID4gSSBhbSBub3Qga25vd24gZm9yIG1pbmNpbmcgd29yZHMu IE5vdCB0cnlpbmcgdG8gYmUgYW4gYXNzaG9sZSwgYnV0IG5vdCBnb2luZyB0byBzdWdhciBjb2F0 IGl0IGp1c3QgdG8gbmljZSBvbiB0aGUgbGlzdC4KPiA+IAo+ID4gSWYgdGhhdCBpcyB0aGUgYXR0 aXR1ZGUgb2YgeW91ciBncmFuZGtpZHMsIHlvdSBoYXZlIHJhaXNlZCBzb21lIHRlcnJpYmxlIGtp ZHMvZ3JhbmRraWRzLiAKPiA+IAo+ID4gVGhlIGlkZWEgdGhhdCBtb25leSBqdXN0aWZpZXMgYmFk IGluZm9ybWF0aW9uIGlzIHdyb25nLiBUaGluZ3MgYXJlIGVpdGhlciB0cnVlIG9yIGZhbHNlLiBU aGUgZW5kIGRvZXNuJ3QganVzdGlmeSB0aGUgbWVhbnMuICAgCj4gPiAKPiA+IEdvIHRob3VnaCBt YWpvciBtZWRpY2FsIGlzc3VlcyAoY2FuY2VyL3N0cm9rZSBhcyBleGFtcGxlKSBhbmQgeW91IGZp bmQgaW1wb3J0YW50IHRoaW5ncyBiZXlvbmQgbW9uZXkgb3IgY2FyZWVyLiAKPiA+IAo+ID4gVGhh bmsgeW91LAo+ID4gU2NvdHQgQmxheWRlcwo+IAo+IAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQoKTWVzc2FnZTogOApEYXRlOiBNb24sIDMgTWFyIDIwMjUgMjE6MTI6MTAgLTA1MDAK RnJvbTogYnJpYW4gbXVsbGFuIHZpYSBUcmlMVUcgPHRyaWx1Z0B0cmlsdWcub3JnPgpUbzogdHJp bHVnQHRyaWx1Zy5vcmcKQ2M6IGJyaWFuIG11bGxhbiA8Ym11bGxhbi5tYWlsQGdtYWlsLmNvbT4K U3ViamVjdDogW1RyaUxVR10gIFBpcGluZywgcmVkaXJlY3Rpb24gYW5kIHNoZWxsc2NpcHRzOiAz LzUvMjAyNSA3cG0KCUVhc3Rlcm4gU3RhbmRhcmQgdGltZQpNZXNzYWdlLUlEOgoJPENBRlgtYzR0 V19QZlRSYjIwdnNFYU1oWjlmZzFvWWp6aGhCWm1NZU9wRi1VaVBUYVdFd0BtYWlsLmdtYWlsLmNv bT4KQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PSJVVEYtOCIKCkkgdXNlIEJhc2gg YSBsb3Qgd29ya2luZyB3aXRoIGFwcGxpY2F0aW9ucywgc3lzdGVtcywgY29udGFpbmVycyBvcgpu ZXR3b3JrcywgbWdtdCAmIGludGVncmF0aW9uLgoKSSd2ZSBmb3VuZCBhbmQgZnJlcXVlbnRseSB1 c2UgYSBmZXcgcmVhbGx5IHVzZWZ1bCBCYXNoIEdpdGh1YiByZXBvc2l0b3JpZXMKd2l0aCBjb2xs ZWN0aW9ucyBvZiBCYXNoIEZ1bmN0aW9ucwp0aGF0IHlvdSBjYW4gdXNlIGluIHlvdXIgb3duIEJh c2ggc2NyaXB0cy4gICBJJ3ZlIGxlYXJuZWQgIGEgbG90IGZyb20gdGhlbQphbmQgaGF2ZSB0byBz YXkgbXkgQmFzaApzY3JpcHRzIG5vdyBoYXZlIGNhcGFiaWxpdGllcyBJJ2QgcHJvYmFibHkgbmV2 ZXIgYmVlbiBzbWFydCBlbm91Z2ggdG8KY3JlYXRlIG15c2VsZi4KCipJbiB5b3VyIHNjcmlwdChz KSB5b3UganVzdCAic291cmNlIiB0aGUgZmlsZSB5b3UgY3JlYXRlIG9yIGRvd25sb2FkICpmcm9t CnRoZSBmb2xsb3dpbmcgVVJMczoKClNoYXJpbmcgdGhlc2UgaW4gY2FzZSBzb21lb25lIGVsc2Ug ZmluZHMgdGhlbSB1c2VmdWwuCgoqQ29sbGVjdGlvbnMgb2YgRnVuY3Rpb25zIGZvciBCYXNoIEdV SSdzKgoKCipFYXN5QmFzaEdVSToqCgoqaHR0cHM6Ly9naXRodWIuY29tL0Jhc2hHdWkvZWFzeWJh c2hndWkvYmxvYi9tYXN0ZXIvZG9jcy9pbnN0YWxsLm1kCjxodHRwczovL2dpdGh1Yi5jb20vQmFz aEd1aS9lYXN5YmFzaGd1aS9ibG9iL21hc3Rlci9kb2NzL2luc3RhbGwubWQ+KgoKU2ltcGxpZmll ZCB3YXkgdG8gY29kZSBiYXNoIG1hZGUgR1VJIGZyb250ZW5kIGRpYWxvZ3MhCgoKKlNjcmlwdC1E aWFsb2c6KgoKCipodHRwczovL2dpdGh1Yi5jb20vbHVuYXJjbG91ZC9zY3JpcHQtZGlhbG9nP3Rh Yj1yZWFkbWUtb3YtZmlsZQo8aHR0cHM6Ly9naXRodWIuY29tL2x1bmFyY2xvdWQvc2NyaXB0LWRp YWxvZz90YWI9cmVhZG1lLW92LWZpbGU+KgoKPiBDcmVhdGUgYmFzaCBzY3JpcHRzIHRoYXQgdXRp bGl6ZSB0aGUgYmVzdCBkaWFsb2cgc3lzdGVtIHRoYXQgaXMgYXZhaWxhYmxlLgo+IEludGVuZGVk IGZvciBMaW51eCwKPiBidXQgaGFzIGJlZW4gdGVzdGVkIG9uIG1hY09TIGFuZCBXaW5kb3dzLCBh bmQgc2hvdWxkIHdvcmsgb24gb3RoZXIKPiB1bml4LWxpa2UgT1NzLgo+Cj4gKklmIGl0J3MgbGF1 bmNoZWQgZnJvbSBhIEdVSSAqKGxpa2UgYSAuZGVza3RvcCBzaG9ydGN1dCBvciB0aGUgZG9scGhp bgo+IGZpbGUgbWFuYWdlciksIGl0IHdpbGwgcHJlZmVyICprZGlhbG9nKiBpbiBRdC1iYXNlZCBk ZXNrdG9wcwo+IGFuZCAqemVuaXR5KiBpbiBvdGhlciBlbnZpcm9ubWVudHMuCj4KPiBJZiBuZWl0 aGVyIG9mIHRob3NlIGFyZSBhdmFpbGFibGUsIHRoZW4gcmVsYXVuY2gtaWYtbm90LXZpc2libGUg d2lsbAo+IHJlbGF1bmNoIHRoZSBhcHAgaW4gYSB0ZXJtaW5hbCBzbyB0aGF0IGEgdGVybWluYWwg VUkgY2FuCj4gYmUgdXNlZC4KPgo+ICpJZiBpdCdzIGxhdW5jaGVkIGluIGEgKgo+ICp0ZXJtaW5h bCpJdCB3aWxsIHVzZSAqd2hpcHRhaWwqIG9yCj4gKmRpYWxvZyoKPiBJZiBuZWl0aGVyIG9mIHRo b3NlIGFyZSBhdmFpbGFibGUsIHRoZW4gaXQgd2lsbCBmYWxsYmFjayB0byBiYXNpYyB0ZXJtaW5h bAo+IGlucHV0L291dHB1dCB3aXRoIHRvb2xzIGxpa2UgcmVhZCBhbmQgZWNobwoKCipDb2xsZWN0 aW9ucyBvZiBHZW5lcmFsIEJhc2ggRnVuY3Rpb25zKgoKKkJhc2hNYXRpYzoqCipodHRwczovL2dp dGh1Yi5jb20va2lnc3Rlci9iYXNobWF0aWMKPGh0dHBzOi8vZ2l0aHViLmNvbS9raWdzdGVyL2Jh c2htYXRpYz4qCgoqQmFzaG1hdGljKiBpcyBhIEJBU0ggZnJhbWV3b3JrLCBtZWFuaW5nIGl0cyBh ICpjb2xsZWN0aW9uIG9mIEJBU0gKZnVuY3Rpb25zIChhbG1vc3QgOTAwIG9mIHRoZW0pKiB0aGF0 LCB3ZSBob3BlLAptYWtlIEJBU0ggcHJvZ3JhbW1pbmcgKmVhc2llciwgbW9yZSBlbmpveWFibGUs IGFuZCBtb3JlIGltcG9ydGFudGx5LCBmdW4qIC0KZHVlIHRvIHRoZSBsaWJyYXJ54oCZcyBmb2N1 cyBvbiBwcm92aWRpbmcKdGhlIGRldmVsb3BlciB3aXRoIGEgY29uc3RhbnQgZmVlZGJhY2sgYWJv dXQgd2hhdCBpcyBoYXBwZW5pbmcsIHdoaWxlIGEKc2NyaXB0IHRoYXQgdXNlcyBCYXNobWF0aWPi gJlzIGhlbHBlcnMgaXMgcnVubmluZy4KCgoqQmFzaC1Db25jdXJyZW50OioKKmh0dHBzOi8vZ2l0 aHViLmNvbS90aGVtYXR0cml4L2Jhc2gtY29uY3VycmVudAo8aHR0cHM6Ly9naXRodWIuY29tL3Ro ZW1hdHRyaXgvYmFzaC1jb25jdXJyZW50PioKCkEgKkJhc2ggZnVuY3Rpb24gdG8gcnVuIHRhc2tz IGluIHBhcmFsbGVsICphbmQgZGlzcGxheSBwcmV0dHkgb3V0cHV0IGFzCnRoZXkgY29tcGxldGUu CgoKQnJpYW4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCk1lc3NhZ2U6IDkKRGF0 ZTogTW9uLCAzIE1hciAyMDI1IDIyOjM5OjQzIC0wNTAwCkZyb206IEVkIEJsYWNrbWFuIHZpYSBU cmlMVUcgPHRyaWx1Z0B0cmlsdWcub3JnPgpUbzogdHJpbHVnQHRyaWx1Zy5vcmcKU3ViamVjdDog UmU6IFtUcmlMVUddIEFkdmljZSBQbGVhc2UKTWVzc2FnZS1JRDogPDE3NDEwNTkxNDYuYWNkYmQ5 QHN0cmFiby5nYXJyZXR0PgpDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgK Ck9uIEZyaSwgRmViIDIxLCAyMDI1IGF0IDAzOjIxOjIzUE0gKzAwMDAsIEpvc2VwaCBNYWNrIE5B M1QgdmlhIFRyaUxVRyB3cm90ZToKPiBvIEkgaGF2ZSBhIERlbGwgbGFwdG9wIG5vdy4gSXQncyBP SywgYnV0IEkgZG9udCBuZWVkIGEgd2lkZSBzY3JlZW4gKDE0NDAKPiBwaXhlbHMpIG9uIGEgbGFw dG9wIGFuZCBJJ2QgcmF0aGVyIGhhdmUgdGhlIHNtYWxsZXIgZm9ybWF0IG9mIHRoZSBUaGlua3Bh ZAo+ICgxMDI0Kjc2OCkgYW5kIHRoZSBzbWFsbGVyIHNpemUgb2YgdGhlIGxhcHRvcC4gQXMgd2Vs bCB0aGUgbGFyZ2UgYnVpbHQtaW4KPiBEZWxsIG1vdXNlcGFkLCBpbiB0aGUgY2VudGVyIG9mIHRo ZSBrZXlib2FyZCBhcmVhLCBpcyB1bmRlciBteSBoYW5kcyB3aGVuIEkKPiB0eXBlIGFuZCBJIGhh dmUgdG8gbWFudWFsbHkgdHVybiBpdCBvZmYgKHdoaWNoIEkgY2FuIG9ubHkgZG8gYWZ0ZXIgYm9v dHVwKQo+IGFuZCB1c2UgYW4gZXh0ZXJuYWwgbW91c2UsIHdoaWNoIG5lZ2F0ZXMgdGhlIHBvaW50 IG9mIGhhdmluZyBhIGJ1aWx0LWluCj4gbW91c2VwYWQuIFRoZSBvbmx5IHdheSB5b3UgY2FuIHR5 cGUgd2l0aCB0aGUgRGVsbCBtb3VzZXBhZCBvbiwgaXMgdG8gaG9sZAo+IHlvdXIgaGFuZHMgaW4g dGhlIGFpci4gVGhlIFRoaW5rcGFkcyBoYWQgYSBzbWFsbCBudWJiaW4gaW4gdGhlIG1pZGRsZSBv ZiB0aGUKPiBrZXlib2FyZCwgZm9yIHRoZSBtb3VzZSwgd2hpY2ggZGlkbid0IGdldCBhY3RpdmF0 ZWQgd2hlbiB5b3UgdHlwZWQuCgpTb3JyeSBmb3IgdGhlIGxhdGUgcmVwbHksIGJ1dCBJIGhhdmUg YSBzb2x1dGlvbiBmb3IgRGVsbCB0b3VjaHBhZHMgdGhhdCBJIHRob3VnaHQgeW91IG1pZ2h0IGJl IGludGVyZXN0ZWQgaW4uICBJIHRvbyBwcmVmZXIgdG8gdXNlIHdoYXRldmVyIERlbGwgY2FsbHMg aXRzIFRyYWNrcG9pbnQsIGFuZCB3YXMgZnJ1c3RyYXRlZCB0byBiZSB0b3VjaGluZyB0aGUgdG91 Y2hwYWQuCgpJIGNyZWF0ZWQgfi8uY29uZmlnL2F1dG9zdGFydC90b3VjaHBhZC1kaXNhYmxlLmRl c2t0b3Agd2l0aCB0aGlzIGNvbnRlbnQ6CltEZXNrdG9wIEVudHJ5XQpUeXBlPUFwcGxpY2F0aW9u Ck5hbWU9VG91Y2hwYWQgRGlzYWJsZQpDb21tZW50PURpc2FibGUgbGFwdG9wIHRvdWNocGFkCkV4 ZWM9c2ggLWMgJ3hpbnB1dCBkaXNhYmxlICIkKHhpbnB1dCBsaXN0IC0tbmFtZS1vbmx5IHwgZ3Jl cCAtaSB0b3VjaHBhZCkiJwoKT24gYm9vdCwgaXQgbGlzdHMgdGhlIHhpbnB1dCBkZXZpY2VzLCBn cmVwcyBmb3IgdGhlIHRvdWNocGFkIGRldmljZSwgYW5kIHBhc3NlcyBpdCB0byAieGlucHV0IGRp c2FibGUiLiAgQ3J1ZGUsIGJ1dCBlZmZlY3RpdmUuCgpUaGF0IG9ubHkgcnVucyB3aGVuIGhhdmUg ZnVsbHkgbG9nZ2VkIGluIGZvciB0aGUgZmlyc3QgdGltZSwgc28gSSBoYXZlIHRvIGF2b2lkIHRo ZSB0b3VjaHBhZCBiZXR3ZWVuIHJlYm9vdCBhbmQgZnVsbCBsb2dpbiwgYnV0IGl0IHN0YXlzIGRp c2FibGVkIHVudGlsIGFub3RoZXIgcmVib290LCB3aGljaCBhcmVuJ3QgZnJlcXVlbnQuCgpJIGhv cGUgdGhhdCBtYWtlcyB5b3VyIERlbGwgZXhwZXJpZW5jZSBsZXNzIGZydXN0cmF0aW5nIQoKLS0g CkVkwqBCbGFja21hbgoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCk1lc3NhZ2U6 IDEwCkRhdGU6IFR1ZSwgNCBNYXIgMjAyNSAxMTowOTowNyArMDAwMCAoR01UKQpGcm9tOiBKb3Nl cGggTWFjayBOQTNUIHZpYSBUcmlMVUcgPHRyaWx1Z0B0cmlsdWcub3JnPgpUbzogRWQgQmxhY2tt YW4gPGVkQGVkZ2V3b29kLnRvPiwgIFRyaWFuZ2xlIExpbnV4IFVzZXJzIEdyb3VwIEdlbmVyYWwK CURpc2N1c3Npb24gPHRyaWx1Z0B0cmlsdWcub3JnPgpTdWJqZWN0OiBSZTogW1RyaUxVR10gQWR2 aWNlIFBsZWFzZQpNZXNzYWdlLUlEOiA8YWxwaW5lLkRFQi4yLjAyLjI1MDMwNDExMDA0NjAuMjgy MjBAcGlsb3QudHJpbHVnLm9yZz4KQ29udGVudC1UeXBlOiBURVhUL1BMQUlOOyBjaGFyc2V0PVVT LUFTQ0lJOyBmb3JtYXQ9Zmxvd2VkCgpPbiBNb24sIDMgTWFyIDIwMjUsIEVkIEJsYWNrbWFuIHZp YSBUcmlMVUcgd3JvdGU6Cgo+IFNvcnJ5IGZvciB0aGUgbGF0ZSByZXBseSwgYnV0IEkgaGF2ZSBh IHNvbHV0aW9uIGZvciBEZWxsIHRvdWNocGFkcyB0aGF0IAo+IEkgdGhvdWdodCB5b3UgbWlnaHQg YmUgaW50ZXJlc3RlZCBpbi4gIEkgdG9vIHByZWZlciB0byB1c2Ugd2hhdGV2ZXIgRGVsbCAKPiBj YWxscyBpdHMgVHJhY2twb2ludCwgYW5kIHdhcyBmcnVzdHJhdGVkIHRvIGJlIHRvdWNoaW5nIHRo ZSB0b3VjaHBhZC4KPgo+IEkgY3JlYXRlZCB+Ly5jb25maWcvYXV0b3N0YXJ0L3RvdWNocGFkLWRp c2FibGUuZGVza3RvcCB3aXRoIHRoaXMgY29udGVudDoKPiBbRGVza3RvcCBFbnRyeV0KPiBUeXBl PUFwcGxpY2F0aW9uCj4gTmFtZT1Ub3VjaHBhZCBEaXNhYmxlCj4gQ29tbWVudD1EaXNhYmxlIGxh cHRvcCB0b3VjaHBhZAo+IEV4ZWM9c2ggLWMgJ3hpbnB1dCBkaXNhYmxlICIkKHhpbnB1dCBsaXN0 IC0tbmFtZS1vbmx5IHwgZ3JlcCAtaSB0b3VjaHBhZCkiJwoKdGhhbmtzLgoKbXkgcmMgZmlsZSBp cwoKeGlucHV0IGRpc2FibGUgMTUKCmJ1dCBJIGhhZCB0byBydW4gaXQgbWFudWFsbHkgYWZ0ZXIg c3RhcnRpbmcgWC4KCk9uIG15IG1hY2hpbmUgIjE1IiBpcyB0aGUgbW91c2VwYWQgKGEgdG91Y2hw YWQgaXMgbm90IGxpc3RlZCkuIFRoaXMgCmRpc2FibGVzIGJvdGggdGhlIHRvdWNocGFkIGFuZCB0 aGUgbW91c2UgbnViaW4uIEkgY2FuJ3QgZGlzYWJsZSB0aGVtIApzZXBhcmF0ZWx5ICh0aGV5IGFy ZW4ndCBsaXN0ZWQgc2VwYXJhdGVseSkuCgpJIGNyZWF0ZWQgYSB0b3VjaHBhZC1kaXNhYmxlLmRl c2t0b3AgZmlsZSBhcyBhYm92ZSwgYnV0IGl0IGRpZG4ndCBkbyAKYW55dGhpbmcuIEkgZGlkbid0 IGhhdmUgYW4gYXV0b3N0YXJ0IGRpcmVjdG9yeSwgc28gSSBhc3N1bWUgd2hhdGV2ZXIgbG9va3Mg CmZvciBhbiBhdXRvc3RhcnQgZGlyZWN0b3J5IGlzIG5vdCBydW5uaW5nIG9uIG15IG1hY2hpbmUu IFdoYXQgbG9va3MgaW4gCmF1dG9zdGFydD8KClRoYW5rcyBKb2UKCi0tIApKb3NlcGggTWFjayBO QTNUIEVNRShCLEQpLCBGTTA1bHcgTm9ydGggQ2Fyb2xpbmEKRG9uJ3QgdXBncmFkZSBhIHdvcmtp bmcgbWFjaGluZSAtIGl0IHdvbid0IHdvcmsgYW55CmJldHRlciAtIGl0IGNvdWxkIHdvcmsgd29y c2U7IGl0IG1heSBub3Qgd29yayBhdCBhbGwuCkhvbWVwYWdlIGh0dHA6Ly93d3cuYXVzdGludGVr LmNvbS8gSXQncyBHTlUvTGludXghCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoK TWVzc2FnZTogMTEKRGF0ZTogVHVlLCA0IE1hciAyMDI1IDEwOjQxOjMwIC0wNTAwCkZyb206IEJy aWFuIHZpYSBUcmlMVUcgPHRyaWx1Z0B0cmlsdWcub3JnPgpUbzogdHJpbHVnQHRyaWx1Zy5vcmcK U3ViamVjdDogW1RyaUxVR10gW1RhbmdlbnRdIFJlOiAgTGludXggRnJvbSBTY3JhdGNoCk1lc3Nh Z2UtSUQ6IDxmZTRiMTI3ZS1lN2M2LTRiZGUtYjdjMC0yOTIyNzQ0M2I1YzhAdW5kZWNpZGVkZ2Ft ZXMuY29tPgpDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTg7IGZvcm1hdD1m bG93ZWQKCk9uIDIvMjcvMjUgMTY6NDIsIERhdmlkIEJvdGggdmlhIFRyaUxVRyB3cm90ZToKPiBJ IHRoaW5rIHRoZSBvbmx5IHdheSB0aGF0IHdvdWxkIGJlIG1vcmUgdGhhbiBtYXJnaW5hbGx5IHVz ZWZ1bCwgd291bGQgYmUKPiBpZiB5b3Ugd2VyZSBnb2luZyB0byBiZSBhIGRpc3Ryby1idWlsZGVy Lgo+IAo+IExpa2UgdGhlIHRpbWVzIEkgaGFkIHRvIGJ1aWxkIHRoZSBrZXJuZWwgaW4gUkggY2xh c3NlcywgaXQgd2FzCj4gaW50ZXJlc3RpbmcgYnV0IEknbGwgbmV2ZXIgdXNlIGl0IGluIHJlYWwg bGlmZSB1bmxlc3MgSSBiZWNvbWUgYSBrZXJuZWwKPiBkZXZlbG9wZXIuCgpUYW5nZW50IQoKR3Jh bnRlZCwgcGFja2FnZWQgdGhpbmdzIGFyZSBhbHdheXMgZ2V0dGluZyBiZXR0ZXIgYW5kIGdlbmVy YWxseSBjYXRjaCAKdXAgdG8gYmxlZWRpbmctZWRnZSBoYXJkd2FyZSBwcmV0dHkgcXVpY2tseSwg YnV0IGFuZWNkb3RhbGx5IHRoZXJlIGlzIApzb21lIHV0aWxpdHkgdG8gYmVpbmcgZmFtaWxpYXIg d2l0aCAob3IsIGF0IGxlYXN0LCBub3QgYWZyYWlkIG9mKSB0aGUgCmtlcm5lbCBjb25maWd1cmF0 aW9uIGFuZCBidWlsZCBwcm9jZXNzLiAgSSByYW4gYSBjdXN0b20ga2VybmVsIG9uIG15IApkYWls eS1kcml2ZXIgZm9yIHNvbWUgdGltZSB3aGlsZSB3YWl0aW5nIGZvciB0aGUgdXBzdHJlYW0gbWFp bnRhaW5lcnMgdG8gCmJ1aWxkIHN1cHBvcnQgZm9yIFVTQi0zIGluIGl0cyBlYXJsaWVyIGRheXMu ICBDdXN0b21pemluZyBhIGtlcm5lbCBvbiBhbiAKZW1iZWRkZWQgcGxhdGZvcm0gc3VjaCBhcyBS YXNwYmVycnkgUGkgY2FuIGFsc28gYmUgcXVpdGUgaGFuZHkgd2hlbiB5b3UgCndhbnQgdG8gbWF4 aW1pemUgYSBjZXJ0YWluIGFyZWEgb2YgcGVyZm9ybWFuY2UuICBJIHRoaW5rIGV2ZXJ5IHNlcmlv dXMgCkxpbnV4IHBvd2VyLXVzZXIgc2hvdWxkIGJ1aWxkIGEga2VybmVsIGF0IGxlYXN0IG9uY2Uh IDotKQoKLUIKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCk1lc3NhZ2U6IDEyCkRh dGU6IFR1ZSwgNCBNYXIgMjAyNSAxMDo0MzowOSAtMDUwMApGcm9tOiBCcmlhbiB2aWEgVHJpTFVH IDx0cmlsdWdAdHJpbHVnLm9yZz4KVG86IHRyaWx1Z0B0cmlsdWcub3JnClN1YmplY3Q6IFJlOiBb VHJpTFVHXSBBSSBiYXNoaW5nIC0gd2FzIExpbnV4IEZyb20gU2NyYXRjaApNZXNzYWdlLUlEOiA8 ZTMwM2Y0MWUtYmNhYy00NWYxLWJiNzQtYmRhOWRjZjMwZDUyQHVuZGVjaWRlZGdhbWVzLmNvbT4K Q29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04OyBmb3JtYXQ9Zmxvd2VkCgpP biAyLzI4LzI1IDIwOjQzLCBKb3NlcGggTWFjayBOQTNUIHZpYSBUcmlMVUcgd3JvdGU6Cj4gT24g RnJpLCAyOCBGZWIgMjAyNSwgSm9obiBCcm9vbWUgdmlhIFRyaUxVRyB3cm90ZToKPiAKPj4gQ2Fu IEkgY29weSBzb21lb25lIGVsc2UncyB0aWNrZXQgYW5kIGNsYWltIGl0IGFzIG15IG93bj8KPiAK PiB0aGUgYmxvY2tjaGFpbiB3aWxsIHNlZSBpdCBhcyBkb3VibGUgc3BlbmRpbmcKCkl0IHdvcmtl ZCBmb3IgTm9ydGggS29yZWEhCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKU3Vi amVjdDogRGlnZXN0IEZvb3RlcgoKLS0gClRyaUxVRyBtYWlsaW5nIGxpc3QKVHJpTFVHQHRyaWx1 Zy5vcmcKaHR0cHM6Ly93d3cudHJpbHVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3RyaWx1ZwpUcmlM VUcgT3JnYW5pemF0aW9uYWwgRkFRICA6IC0tClRyaUxVRyBtYWlsaW5nIGxpc3QgICAgICAgIDog aHR0cHM6Ly93d3cudHJpbHVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3RyaWx1ZwpUcmlMVUcgRkFR ICA6IGh0dHBzOi8vd3d3LnRyaWx1Zy5vcmcvd2lraS9GcmVxdWVudGx5X0Fza2VkX1F1ZXN0aW9u cwpUcmlMVUcgTWVtYmVyIFNlcnZpY2VzIEZBUSA6IGh0dHBzOi8vdHJpbHVnLm9yZy93aWtpL0Zy ZXF1ZW50bHlfQXNrZWRfUXVlc3Rpb25zI1RyaUxVR19TZXJ2aWNlcwoKLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCgpFbmQgb2YgVHJpTFVHIERpZ2VzdCwgVm9sIDQyNjMsIElzc3VlIDEK KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCg==