Re: Managing long/complicated plot commands?
Ethan Merritt <[email protected]> Sun, 29 Mar 2026 16:34:52 -0700
| Newsgroups | gmane.comp.graphics.gnuplot.user |
|---|---|
| Message-ID | <2916172.atdPhlSkOF@lioncub> |
T24gU3VuZGF5LCAyOSBNYXJjaCAyMDI2IDEwOjI1OjE2IFBEVCBCam9ybiBCdWNrd2FsdGVyIHdy b3RlOgo+IEhpIFBoaWxpcHAgYW5kIGFsbCwKPiAKPiBTbywgdHJ5aW5nIHRvIG1pbmltaXplIGEg Yml0IG1vcmUsIEkgcmVhbGl6ZWQgdGhhdCBhIGtleSBwaWVjZSBvZgo+IGluZm9ybWF0aW9uIHRo YXQgd2FzIG9taXR0ZWQgc2VlbXMgdG8gYmUgdGhhdCB0aGUgcGxvdCBjb21tYW5kIGlzIGluc2lk ZSBhCj4gZnVuY3Rpb24gYmxvY2suIEJlbG93IGlzIGEgY2FzZSB0aGF0IHJlcHJvZHVjZXMgdGhl IGVycm9yIGZvciBtZSB0aGF0IHlvdQo+IGNvdWxkIHRlc3QuIEkgcmVhbGlzZWQgdGhhdCBpZiBJ IHRha2UgdGhlIGNvbW1hbmQgb3V0IG9mIHRoZSBmdW5jdGlvbiBpdAo+IHdvcmtzIHByb3Blcmx5 Lgo+IAo+IEJ5IHRoZSB3YXkgSSBhbSBvbiBtYWNvcyBhbmQgYGdudXBsb3QgLS12ZXJzaW9uYCBz YXlzIGBnbnVwbG90IDYuMAo+IHBhdGNobGV2ZWwgNGAuCj4gCj4gSGVyZSBpcyB0aGUgY2FzZSB0 aGF0IGZhaWxzIHdpdGggdGhlIGVycm9yIGluIHF1ZXN0aW9uLiBTaW5jZSBpdCBmYWlscwo+IGVh cmx5IChhdCBsZWFzdCBmb3IgbWUpIHlvdSB3aWxsIG5vdCBhY3R1YWxseSBuZWVkIHRoZSBkYXRh IGZpbGVzOgo+IAo+IGBgYAo+IGxvY2FsIGxvbih4KSA9IHgKPiBsb2NhbCBsYXQoeCkgPSB4Cj4g bG9jYWwgZmlsdGVyX2xhdCh4KSA9IHgKPiBsb2NhbCBuZXh0X2NvbG9yKHgpID0gIiMwMEZGMDAi Cj4gbG9jYWwgbmV4dF9jb2xvcl90KHgsIHkpID0gIiMwMEZGMDAiCj4gCj4gbG9jYWwgbGF0MSA9 IDAKPiAKPiBmdW5jdGlvbiAkcGxvdF9wb2xhcihvcmJpdHMpIDw8RU9GCj4gICBwbG90IFwKPiAg ICAgJ3dvcmxkXzExMG0udHh0JyB1c2luZyAobG9uKCQxKSk6KGZpbHRlcl9sYXQoJDIpKSBsaW5l Y29sb3IgImdyYXkiCj4gbm90aXRsZSAsIFwKPiAgICAgbGF0KDApIGJsYWNrIGR0IDIgdGl0bGUg IkVxdWF0b3IiICwgXAo+ICAgICBsYXQoNjYuNikgYmxhY2sgZHQgNSB0aXRsZSAiQXJjdGljL0Fu dGFyY3RpYyBjaXJjbGUiLCBcCj4gICAgIGxhdCgtNjYuNikgYmxhY2sgZHQgNSBub3RpdGxlICwg XAo+ICAgICBmb3IgW29yYml0IGluIG9yYml0c10gXAo+ICAgICAgICdkYXRhL1JlcG9ydCcub3Ji aXQuJy50eHQnIHVzaW5nIChsb24oJDcpKTooZmlsdGVyX2xhdCgkNikpIFwKPiAgICAgICAgIGxj IHJnYiBuZXh0X2NvbG9yX3QoMSwgJ2NjJykgbm90aXRsZSwgXAo+ICAgICBmb3IgW29yYml0IGlu IG9yYml0c10gXAo+ICAgICAgICdkYXRhL1JlcG9ydCcub3JiaXQuJy50eHQnIHVzaW5nIChsb24o JDcpKTooJDMgPT0gMjAzMCA/Cj4gZmlsdGVyX2xhdCgkNikgOiBOYU4pIFwKPiAgICAgICAgIGxj IHJnYiBuZXh0X2NvbG9yKG4pIHRpdGxlIG9yYml0LCBcCj4gICAgIDAsIFwKPiAgICAgMQo+IEVP Rgo+IAo+IF8gPSAkcGxvdF9wb2xhcigiQSIpCj4gYGBgCj4gCj4gVGhlIGVycm9yIG1lc3NhZ2U6 Cj4gCj4gYGBgCj4gICBwbG90ICAgICAnd29ybGRfMTEwbS50eHQnIHVzaW5nIChsb24oJDEpKToo ZmlsdGVyX2xhdCgkMikpIGxpbmVjb2xvcgo+ICJncmF5IiBub3RpdGxlICwgICAgIGxhdCgwKSBi bGFjayBkdCAyIHRpdGxlICJFcXVhdG9yIiAsICAgICBsYXQoNjYuNikKPiBibGFjayBkdCA1IHRp dGxlICJBcmN0aWMvQW50YXJjdGljIGNpcmNsZSIsICAgICBsYXQoLTY2LjYpIGJsYWNrIGR0IDUK PiBub3RpdGxlICwgICAgIGZvciBbb3JiaXQgaW4gb3JiaXRzXSAgICAgICAnZGF0YS9SZXBvcnQn Lm9yYml0LicudHh0JyB1c2luZwo+IChsb24oJDcpKTooZmlsdGVyX2xhdCgkNikpICAgICAgICAg bGMgcmdiIG5leHRfY29sb3JfdCgxLCAnY2MnKSBub3RpdGxlLAo+ICAgZm9yIFtvcmJpdCBpbiBv cmJpdHNdICAgICAgICdkYXRhL1JlcG9ydCcub3JiaXQuJy50eHQnIHVzaW5nCj4gKGxvbigkNykp OigkMyA9PSAyMDMwID8gZmlsdGVyX2xhdCgkNikgOiBOYU4pICAgICAgICAgbGMgcmdiIG5leHRf Y29sb3IobikKPiB0aXRsZSBvcmJpdCwgICAgIDAsIFwgICAgMQo+IAo+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCj4gIiRw bG90X3BvbGFyIiBsaW5lIDEzOiBpbnZhbGlkIGNoYXJhY3RlciBcCj4gYGBgCj4gCj4gSWYgSSBj aGFuZ2UgdGhlIGBsaW5lY29sb3JgIGluIHRoZSBmaXJzdCBsaW5lIG9mIGBwbG90YCB0byBgbGNg LCBUaGUgZXJyb3IKPiBkb2VzIG5vdCBvY2N1ci4KClRoaXMgaXMgYSBzdHJhbmdlIG9uZS4KCkkg YmVsaWV2ZSBJIGhhdmUgdHJhY2tlZCBpdCBkb3duIHRvIGEgcHJvZ3JhbSBidWcgdGhhdCBoYXMg aGFzIG5vdGhpbmcgaW4KcGFydGljdWxhciB0byBkbyB3aXRoIHRoZSBkZXRhaWxzIG9mIHlvdXIg c2NyaXB0LCBhbHRob3VnaCBhcyB5b3Ugbm90ZWQgaXQgaXMKbW9yZSBsaWtlbHkgdG8gYmUgdHJp Z2dlcmVkIGJ5IGEgZnVuY3Rpb24gYmxvY2sgdGhhbiBieSBpbnB1dCBmcm9tIGEgZmlsZS4KWW91 IGp1c3QgZ290IHVubHVja3kuCgpUaGUgcHJvZ3JhbSBoYXMgbm8gZml4ZWQgbGltaXQgb24gaW5w dXQgbGluZSBsZW5ndGggb3IgY29tbWFuZCBsZW5ndGguClRoZSBzaXplIG9mIHRoZSBjb21tYW5k IGJ1ZmZlciBpcyBleHBhbmRlZCBpZiBuZWNlc3NhcnkgdG8gaG9sZCB0aGUKbmV4dCBiaXQgb2Yg aW5wdXQuICAgVGhlIG5ldyBpbnB1dCBpcyBhcHBlbmRlZCB0byB0aGUgY3VycmVudCBjb250ZW50 IG9mCnRoZSBidWZmZXIsIGV4Y2VwdCB0aGF0IGlmIHRoZSBjdXJyZW50IGJ1ZmZlciBlbmRzIGlu IGEgYmFja3NsYXNoIGl0IGlzCmFwcGVuZGVkIG9uIHRvcCBvZiB0aGUgYmFja3NsYXNoIHJhdGhl ciB0aGFuIGFmdGVyIGl0LgoKVGhlIGJ1ZyBpcyB0aGF0IHRoZSBjaGVjayBmb3IgYSB0cmFpbGlu ZyBiYWNrc2xhc2ggZ2V0cyBza2lwcGVkIGlmIHRoZSBuZXh0CmNodW5rIG9mIGlucHV0IGlzIHRo ZSBvbmUgdGhhdCBjYXVzZXMgdGhlIGNvbW1hbmQgYnVmZmVyIHRvIGJlIGV4cGFuZGVkLApzbyB0 aGUgY29tbWFuZCBidWZmZXIgaXMgbGVmdCB3aXRoIGEgc3B1cmlvdXMgYmFja3NsYXNoIGNoYXJh Y3Rlci4KCkkgZG9uJ3QgaGF2ZSBhbiBpbW1lZGlhdGVseSB3b3JrLWFyb3VuZCBmb3IgZXhpc3Rp bmcgYmluYXJpZXMgb3RoZXIgdGhhbgp0byBub3RlIHRoYXQgb25jZSB0aGUgY29tbWFuZCBidWZm ZXIgaGFzIGJlZW4gZXhwYW5kZWQsIHRoZSBidWcgd2lsbApub3QgdHJpZ2dlciBhZ2Fpbi4gICBT byBldmVuIHRob3VnaCB0aGUgZmlyc3QgaW52b2NhdGlvbiBvZiB0aGUgZnVuY3Rpb24KYmxvY2sg ZmFpbHMsIGEgc3Vic2VxdWVudCBpbnZvY2F0aW9uIHdpbGwgc3VjY2VlZCBiZWNhdXNlIHRoaXMg dGltZSB0aGUKYnVmZmVyIGRvZXMgbm90IG5lZWQgdG8gYmUgZXhwYW5kZWQgYW5kIHRoZSBjaGVj ayBmb3IgYSBiYWNrc2xhc2ggaXMKbWFkZSBjb3JyZWN0bHkuCgpPciBJIHN1cHBvc2UgeW91IGNv dWxkIHByZWZpeCB0aGUgc2NyaXB0IHdpdGggYSB1c2VsZXNzIGJpdCBvZiBjb2RlIHRoYXQKY29u c3RydWN0cyBhbmQgZXhlY3V0ZXMgYSB2ZXJ5IGxvbmcgY29tbWFuZCBzbyB0aGF0IHRoZSBjb21t YW5kCmJ1ZmZlciBnZXRzIGV4cGFuZGVkOgoKICBqdW5rID0gImdhcmJhZ2UgZ2FyYmFnZSBnYXJi YWdlICIKICBkbyBmb3IgW2k9MTo4XSB7IGp1bmsgPSBqdW5rIC4ganVuayB9CiAgY29tbWFuZCA9 ICdwcmludCAiJyAuIGp1bmsgLiAnIiBbMTo4XScKICBwcmludCAicmVmZXJlbmNlIGEgc3RyaW5n IG9mIGxlbmd0aCAiLCBzdHJsZW4oanVuaykKICBldmFsKGNvbW1hbmQpCiAgLi4uCiAgc3RhcnQg eW91ciByZWFsIHNjcmlwdCBoZXJlCgogLSBFdGhhbgoKCgo+IElmIHlvdSB0ZXN0LCB5b3UgbWF5 IGluc3RlYWQgZ2V0Ogo+IAo+IGBgYAo+ICIkcGxvdF9wb2xhciIgbGluZSAxMzogd2FybmluZzog Q2Fubm90IGZpbmQgb3Igb3BlbiBmaWxlICJ3b3JsZF8xMTBtLnR4dCIKPiAiJHBsb3RfcG9sYXIi IGxpbmUgMTM6IHdhcm5pbmc6IENhbm5vdCBmaW5kIG9yIG9wZW4gZmlsZSAiZGF0YS9SZXBvcnRB LnR4dCIKPiAiJHBsb3RfcG9sYXIiIGxpbmUgMTM6IHdhcm5pbmc6IENhbm5vdCBmaW5kIG9yIG9w ZW4gZmlsZSAiZGF0YS9SZXBvcnRBLnR4dCIKPiAiJHBsb3RfcG9sYXIiIGxpbmUgMTM6IHVuZGVm aW5lZCB2YXJpYWJsZTogb3JiaXQKPiBgYGAKPiAKPiBCeSB0aGUgd2F5LCB0aGUgbGFzdCBtZXNz YWdlIGlzIHJhdGhlciBjdXJpb3VzLiBJIGhhdmUgaGFkIHRyb3VibGUgd2hlcmUKPiB0aGlzIHBv cHMgdXAgc29tZXRpbWVzIGFuZCBJIGhhdmVuJ3QgYmVlbiBhYmxlIHRvIG5haWwgZG93biB0aGUg ZXhhY3QKPiBjaXJjdW1zdGFuY2VzLiBJIGJlbGlldmUgaW4gdGhpcyBjYXNlIHRoYXQgaXQgcmVm ZXJzIHRvIGB0aXRsZSBvcmJpdGAuIElmIEkKPiBjaGFuZ2UgdGhhdCB0byBgbm90aXRsZWAgaXQg ZGlzYXBwZWFycy4gQW5kIGNoYW5naW5nIGZyb20gYG5vdGl0bGVgIHRvCj4gYHRpdGxlIG9yYml0 YCBpbiB0aGUgcHJlY2VkaW5nIGxpbmUgZG9lcyBub3QgdHJpZ2dlciB0aGUgbWVzc2FnZS4gVGhp cwo+IHNlZW1zIGFsc28gc29tZWhvdyByZWxhdGVkIHRvIHRoZSBsZW5ndGggb2YgdGhlIGNvbW1h bmQuCj4gCj4gSSBndWVzcyBIZXJuw6FuJ3Mgc3VnZ2VzdGlvbiB0byBnZW5lcmF0ZSBhIOKAnGZs YXTigJ0gZ251cGxvdCBzY3JpcHQgd2l0aCBhCj4gbm9uLWdudXBsb3Qgc2NyaXB0IGNvdWxkIGFs bG93IG1lIHRvIGF2b2lkIHVzaW5nIGZ1bmN0aW9uIGJsb2Nrcy4gKEF0IGxlYXN0Cj4gdGhhdCBp cyBob3cgSSBpbnRlcnByZXRlZCB0aGUgc3VnZ2VzdGlvbikuCj4gCj4gVGhhbmtzLAo+IEJqb3Ju Cj4gCj4gCj4gT24gU3VuLCBNYXIgMjksIDIwMjYgYXQgMjoyNOKAr1BNIFBoaWxpcHAgSy4gSmFu ZXJ0IDxwaGlsaXBwQGphbmVydC5tZT4gd3JvdGU6Cj4gCj4gPiBPbiBTdW4sIDI5IE1hciAyMDI2 IDExOjQ5OjAxICswMjAwCj4gPiBCam9ybiBCdWNrd2FsdGVyIDxiam9ybi5idWNrd2FsdGVyQGdt YWlsLmNvbT4gd3JvdGU6Cj4gPgo+ID4gPiBUaGFua3MgSmVzcGVyIGFuZCBQaGlscHAuIEplc3Bl cnMgc3VnZ2VzdGlvbiB3aXRoIHZhcmlhYmxlcyBjYW4KPiA+ID4gbGlrZWx5IGhlbHAg4oCTIEkg d2lsbCB0cnkgaXQhCj4gPgo+ID4gSXQncyBub3Qgc28gZWFzeSBmb3IgbWUgdG8gcmVwcm9kdWNl IHlvdXIKPiA+IHByb2JsZW0sIGJlY2F1c2UgSSBkb24ndCBoYXZlIGFjY2VzcyB0byB0aGUKPiA+ IGRhdGEgZmlsZXMsIGV0Yy4KPiA+Cj4gPiBUaGUgY21kIGRvZXMgbm90IHNlZW0gb3Zlcmx5IGxv bmcuIEkgc3RpbGwKPiA+IHN1c3BlY3QgdGhhdCB0aGVyZSBpcyBhIHByb2JsZW0gd2l0aCBvbmUg b2YKPiA+IHRoZSBDUnMgbm90IGJlaW5nIHByb3Blcmx5IGVzY2FwZWQgLSBzdWNoCj4gPiBhcyBo YXZpbmcgYSBibGFuayBhZnRlciBhIGJhY2tzbGFzaCwgYnV0Cj4gPiBiZWZvcmUgdGhlIGFjdHVh bCBDUi4gVGhlIGVycm9yIG1zZyBpbiB5b3VyCj4gPiBvcmlnaW5hbCBlbWFpbCBwb2ludHMgdG8g dGhhdCwgdG9vLgo+ID4KPiA+IEkgZGlkIG5vdCBkaWcgaW50byB0aGUgY29kZSB0byBzZWUgd2hl dGhlcgo+ID4gdGhlcmUgaXMgYW4gYWN0dWFsIGxpbWl0IHRvIHRoZSBsZW5ndGggb2YKPiA+IHRo ZSBjbWQgbGluZS4gRXRoYW4gd291bGQga25vdy4KPiA+Cj4gPiBEbyB5b3UgZW50ZXIgdGhlIGNt ZCBpbnRlcmFjdGl2ZWx5LCBvciBkbwo+ID4geW91IGhhdmUgaXQgaW4gYSBmaWxlLCB3aGljaCB5 b3UgbG9hZD8KPiA+Cj4gPiA+Cj4gPiA+IEZZSSBoZXJlIGlzIGFuIGV4YW1wbGUgcGxvdCBjb21t YW5kIHRoYXQgZmFpbHM6Cj4gPiA+Cj4gPiA+IGBgYAo+ID4gPiAgIHBsb3QgXAo+ID4gPiAgICAg J3dvcmxkXzExMG0udHh0JyB1c2luZyAobG9uKCQxKSk6KGZpbHRlcl9sYXQoJDIpKSB3aXRoIGxp bmVzCj4gPiA+IGxpbmVjb2xvciAiZ3JheSIgbm90aXRsZSAsIFwKPiA+ID4gICAgIGxhdCgwKSB3 aXRoIGxpbmVzIGJsYWNrIGRhc2h0eXBlIDIgdGl0bGUgIkVxdWF0b3IiICwgXAo+ID4gPiAgICAg bGF0KDY2LjYpIHdpdGggbGluZXMgYmxhY2sgZGFzaHR5cGUgNSB0aXRsZSAiQXJjdGljL0FudGFy Y3RpYwo+ID4gPiBjaXJjbGUiLCBcIGxhdCgtNjYuNikgd2l0aCBsaW5lcyBibGFjayBkYXNodHlw ZSA1IG5vdGl0bGUgLCBcCj4gPiA+ICAgICBmb3IgW29yYml0IGluIG9yYml0c10gXAo+ID4gPiAg ICAgICAnZGF0YS9SZXBvcnQnLm9yYml0LicudHh0JyB1c2luZyAobG9uKCQ3KSk6KGZpbHRlcl9s YXQoJDYpKSBcCj4gPiA+ICAgICAgICAgd2l0aCBsaW5lcyBsaW5lY29sb3IgcmdiIG5leHRfY29s b3JfdChuLCAnY2MnKSBub3RpdGxlLCBcCj4gPiA+ICAgICBmb3IgW29yYml0IGluIG9yYml0c10g XAo+ID4gPiAgICAgICAnZGF0YS9SZXBvcnQnLm9yYml0LicudHh0JyB1c2luZyAobG9uKCQ3KSk6 KCQzID09IDIwMzAgPwo+ID4gPiBmaWx0ZXJfbGF0KCQ2KSA6IE5hTikgXAo+ID4gPiAgICAgICAg IHdpdGggbGluZXMgbGluZWNvbG9yIHJnYiBuZXh0X2NvbG9yKG4pIHRpdGxlIG9yYml0LCBcCj4g PiA+ICAgICBsYXQobGF0MSkgYmxhY2sgbm90aXRsZSAgIyBlZGdlIG9mIHBsb3QKPiA+ID4gYGBg Cj4gPiA+Cj4gPiA+IFRoZXJlIGlzIEEgTE9UIGdvaW5nIG9uIHRoZXJlIHdpdGggdmFyaW91cyBj dXN0b20gZnVuY3Rpb25zLCBldGMuIEkKPiA+ID4gdHJpZWQgdG8gbWFrZSBhIG1pbmltYWwgYW5k IOKAnGRlcGVuZGVuY3ktZnJlZeKAnSBleGFtcGxlIGJ1dCBmYWlsZWQgdG8KPiA+ID4gcmVwcm9k dWNlIHRoZSBiZWhhdmlvci4gSSBjb3VsZCBtYXliZSB0cnkgaGFyZGVyLgo+ID4gPgo+ID4gPiBI ZXJlIGlzIGluIGFueSBjYXNlIHRoZSBlcnJvciBmcm9tIGdudXBsb3QuIFRoZSBjb21tYW5kIGhh cyBiZWVuCj4gPiA+IGNvbmNhdGVuYXRlZCBhdCBhbGwgYmFza3NsYXNoZXMgZXhjZXB0IHRoZSBs YXN0Ogo+ID4gPgo+ID4gPiBgYGAKPiA+ID4gICBwbG90ICAgICAnd29ybGRfMTEwbS50eHQnIHVz aW5nIChsb24oJDEpKTooZmlsdGVyX2xhdCgkMikpIHdpdGgKPiA+ID4gbGluZXMgbGluZWNvbG9y ICJncmF5IiBub3RpdGxlICwgICAgIGxhdCgwKSB3aXRoIGxpbmVzIGJsYWNrIGRhc2h0eXBlCj4g PiA+IDIgdGl0bGUgIkVxdWF0b3IiICwgICAgIGxhdCg2Ni42KSB3aXRoIGxpbmVzIGJsYWNrIGRh c2h0eXBlIDUgdGl0bGUKPiA+ID4gIkFyY3RpYy9BbnRhcmN0aWMgY2lyY2xlIiwgICAgIGxhdCgt NjYuNikgd2l0aCBsaW5lcyBibGFjayBkYXNodHlwZSA1Cj4gPiA+IG5vdGl0bGUgLCAgICAgZm9y IFtvcmJpdCBpbiBvcmJpdHNdICAgICAgICdkYXRhL1JlcG9ydCcub3JiaXQuJy50eHQnCj4gPiA+ IHVzaW5nIChsb24oJDcpKTooZmlsdGVyX2xhdCgkNikpICAgICAgICAgd2l0aCBsaW5lcyBsaW5l Y29sb3IgcmdiCj4gPiA+IG5leHRfY29sb3JfdChuLCAnY2MnKSBub3RpdGxlLCAgICAgZm9yIFtv cmJpdCBpbiBvcmJpdHNdCj4gPiA+ICdkYXRhL1JlcG9ydCcub3JiaXQuJy50eHQnIHVzaW5nIChs b24oJDcpKTooJDMgPT0gMjAzMCA/Cj4gPiA+IGZpbHRlcl9sYXQoJDYpIDogTmFOKSAgICAgICAg IHdpdGggbGluZXMgbGluZWNvbG9yIHJnYiBuZXh0X2NvbG9yKG4pCj4gPiA+IHRpdGxlIG9yYml0 LCBcICAgIGxhdChsYXQxKSBibGFjayBub3RpdGxlICAjIGVkZ2Ugb2YgcGxvdAo+ID4gPgo+ID4g Pgo+ID4gPgo+ID4gPgo+ID4gPgo+ID4gPgo+ID4gPgo+ID4gPgo+ID4gPiAgICBeCj4gPiA+ICIk cGxvdF9wb2xhciIgbGluZSAxNTogaW52YWxpZCBjaGFyYWN0ZXIgXAo+ID4gPiBgYGAKPiA+ID4K PiA+ID4gVGhlcmUgaXMgbm90aGluZyB3cm9uZyB3aXRoIHRoZSBiYWNrc2xhc2ggKG5vIHRyYWls aW5nIHNwYWNlcywgZXRjLikuCj4gPiA+Cj4gPiA+IElmIEkgY2hhbmdlIGl0IGFzIHNvIChqdXN0 IHNob3J0ZW5pbmcgc3R5bGUgZGVmaW5pdGlvbnMpIGl0IHdvcmtzOgo+ID4gPgo+ID4gPiBgYGAK PiA+ID4gICBzZXQgc3R5bGUgZGF0YSBsaW5lcwo+ID4gPiAgIHBsb3QgXAo+ID4gPiAgICAgJ3dv cmxkXzExMG0udHh0JyB1c2luZyAobG9uKCQxKSk6KGZpbHRlcl9sYXQoJDIpKSBsYyAiZ3JheSIK PiA+ID4gbm90aXRsZSAsIFwgbGF0KDApIGJsYWNrIGR0IDIgdGl0bGUgIkVxdWF0b3IiICwgXAo+ ID4gPiAgICAgbGF0KDY2LjYpIGJsYWNrIGR0IDUgdGl0bGUgIkFyY3RpYy9BbnRhcmN0aWMgY2ly Y2xlIiwgXAo+ID4gPiAgICAgbGF0KC02Ni42KSBibGFjayBkdCA1IG5vdGl0bGUgLCBcCj4gPiA+ ICAgICBmb3IgW29yYml0IGluIG9yYml0c10gXAo+ID4gPiAgICAgICAnZGF0YS9SZXBvcnQnLm9y Yml0LicudHh0JyB1c2luZyAobG9uKCQ3KSk6KGZpbHRlcl9sYXQoJDYpKSBcCj4gPiA+ICAgICAg ICAgbGMgcmdiIG5leHRfY29sb3JfdChuLCAnY2MnKSBub3RpdGxlLCBcCj4gPiA+ICAgICBmb3Ig W29yYml0IGluIG9yYml0c10gXAo+ID4gPiAgICAgICAnZGF0YS9SZXBvcnQnLm9yYml0LicudHh0 JyB1c2luZyAobG9uKCQ3KSk6KCQzID09IDIwMzAgPwo+ID4gPiBmaWx0ZXJfbGF0KCQ2KSA6IE5h TikgXAo+ID4gPiAgICAgICAgIGxjIHJnYiBuZXh0X2NvbG9yKG4pIHRpdGxlIG9yYml0LCBcCj4g PiA+ICAgICBsYXQobGF0MSkgYmxhY2sgbm90aXRsZSAgIyBlZGdlIG9mIHBsb3QKPiA+ID4gYGBg Cj4gPiA+Cj4gPiA+IEFsbCBJIGRpZCB3YXMgcmVtb3ZlIGB3aXRoIGxpbmVzYCAodXNpbmcgYHNl dCBzdHlsZSBkYXRhIGxpbmVzYAo+ID4gPiBpbnN0ZWFkIGFuZCByZXBsYWNlIGBsaW5lY29sb3Jg IGFuZCBgZGFzaHR5cGVgIHdpdGggYGxjYCBhbmQgYGR0YCwKPiA+ID4gcmVzcGVjdGl2ZWx5LiBU aGlzIGlzIHdoeSBJIHNheSBpdCBzZWVtcyB0byBiZSBzb21laG93IHJlbGF0ZWQgdG8gdGhlCj4g PiA+IGxlbmd0aC9udW1iZXIgb2YgY2hhcmFjdGVycyBvZiBhIGNvbW1hbmQuCj4gPiA+Cj4gPiA+ IFRoYW5rcywKPiA+ID4gQmpvcm4KPiA+ID4KPiA+ID4KPiA+ID4gT24gU3VuLCBNYXIgMjksIDIw MjYgYXQgNToyOOKAr0FNIFBoaWxpcHAgSy4gSmFuZXJ0IDxwaGlsaXBwQGphbmVydC5tZT4KPiA+ ID4gd3JvdGU6Cj4gPiA+Cj4gPiA+ID4gT24gU2F0LCAyOCBNYXIgMjAyNiAyMjoxMzo0MCArMDEw MAo+ID4gPiA+IEJqb3JuIEJ1Y2t3YWx0ZXIgPGJqb3JuLmJ1Y2t3YWx0ZXJAZ21haWwuY29tPiB3 cm90ZToKPiA+ID4gPgo+ID4gPiA+ID4gSEkgYWxsLAo+ID4gPiA+Cj4gPiA+ID4gSG93IGxvbmcg KGluIGNoYXJhY3RlcnMpIGFyZSB0aGUgY29tbWFuZCBsaW5lcyB0aGF0Cj4gPiA+ID4geW91IGFy ZSB1c2luZz8gTWluZSBmcmVxdWVudGx5IHJ1biBsb25nLCBhbmQgaXQgaGFzCj4gPiA+ID4gbmV2 ZXIgYmVlbiBhIHByb2JsZW0uCj4gPiA+ID4KPiA+ID4gPiBJcyBpdCBwb3NzaWJsZSB0aGF0IHlv dSBoYXZlIHByb2JsZW1zIHdpdGggZW1iZWRkZWQKPiA+ID4gPiBuZXdsaW5lcywgb3IgdGhhdCBz b21ldGhpbmcgZ29lcyBhd3J5IGlmIHlvdXIgY29tbWFuZAo+ID4gPiA+IGxpbmUgcnVucyBpbnRv IGEgbmV3IGxpbmUgaW4geW91ciB0ZXJtaW5hbD8KPiA+ID4gPgo+ID4gPiA+IEJlc3QsCj4gPiA+ ID4KPiA+ID4gPiAgICAgICAgICAgICAgICAgUGguCj4gPiA+ID4KPiA+ID4gPiA+Cj4gPiA+ID4g PiBJIHJhdGhlciBvZnRlbiBydW4gaW50byBhIHByb2JsZW0gb2YgbXkgcGxvdCBjb21tYW5kcyBi ZWluZyB0b28KPiA+ID4gPiA+IGxvbmcsIHR5cGljYWxseSByZXN1bHRpbmcgaW4gYSBub3QtdmVy eS1oZWxwZnVsIGVycm9yIG1lc3NhZ2UKPiA+ID4gPiA+IHN1Y2ggYXM6Cj4gPiA+ID4gPgo+ID4g PiA+ID4gIiRwbG90X3BvbGFyIiBsaW5lIDIxOiBpbnZhbGlkIGNoYXJhY3RlciBcCj4gPiA+ID4g Pgo+ID4gPiA+ID4gSXQgdG9vayBhIGxvdCBvZiBoZWFkIHNjcmF0Y2hpbmcgdG8gcmVhbGl6ZSB0 aGUgcm9vdCBvZiB0aGUKPiA+ID4gPiA+IHByb2JsZW0uIEkgYXNzdW1lIHRoZXJlIGFyZSBzdHJv bmcgcmVhc29ucyBmb3IgYm90aCB0aGUKPiA+ID4gPiA+IGxpbWl0YXRpb24gb24gY29tbWFuZCBs ZW5ndGggYW5kIHRoZSBwb29yIGVycm9yIG1lc3NhZ2UuCj4gPiA+ID4gPgo+ID4gPiA+ID4gSSBj YW5ub3QgYmUgdGhlIG9ubHkgb25lIHJ1bm5pbmcgaW50byB0aGlzIHByb2JsZW0uIFRoZSBzaXR1 YXRpb24KPiA+ID4gPiA+IGJlaW5nIHdoYXQgaXQgaXMsIHdoYXQgYXJlIHRoZSByZXN0IG9mIHlv dSBkb2luZyB0byBtYW5hZ2Ugd2hlbgo+ID4gPiA+ID4geW91IHJ1biB1cCBhZ2FpbnN0IHRoaXMg bGltaXQ/IFJlcGxhY2luZyBgbGluZWNvbG9yYCB3aXRoIGBsY2AsCj4gPiA+ID4gPiBldGMsIHdp bGwgb25seSBnZXQgbWUgc28gZmFyIGFuZCBhdCB0aGUgZXhwZW5zZSBvZiByZWFkYWJpbGl0eS4K PiA+ID4gPiA+Cj4gPiA+ID4gPiBNYW55IHRoYW5rcywKPiA+ID4gPiA+IEJqb3JuCj4gPiA+ID4g Pgo+ID4gPiA+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KPiA+ID4gPiA+IGdudXBsb3QtaW5mbyBtYWlsaW5nIGxpc3QKPiA+ID4gPiA+IGdudXBsb3Qt aW5mb0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKPiA+ID4gPiA+IE1lbWJlcnNoaXAgbWFuYWdlbWVu dCB2aWE6Cj4gPiA+ID4gPiBodHRwczovL2xpc3RzLnNvdXJjZWZvcmdlLm5ldC9saXN0cy9saXN0 aW5mby9nbnVwbG90LWluZm8KPiA+ID4gPgo+ID4gPiA+Cj4gPiA+ID4KPiA+ID4gPiAtLQo+ID4g PiA+Cj4gPiA+ID4gUGhpbGlwcCBLLiBKYW5lcnQKPiA+ID4gPiB3d3cuamFuZXJ0Lm1lCj4gPiA+ ID4KPiA+ID4gPgo+ID4gPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCj4gPiA+ID4gZ251cGxvdC1pbmZvIG1haWxpbmcgbGlzdAo+ID4gPiA+IGdudXBs b3QtaW5mb0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKPiA+ID4gPiBNZW1iZXJzaGlwIG1hbmFnZW1l bnQgdmlhOgo+ID4gPiA+IGh0dHBzOi8vbGlzdHMuc291cmNlZm9yZ2UubmV0L2xpc3RzL2xpc3Rp bmZvL2dudXBsb3QtaW5mbwo+ID4gPiA+Cj4gPgo+ID4KPiA+Cj4gPiAtLQo+ID4KPiA+IFBoaWxp cHAgSy4gSmFuZXJ0Cj4gPiB3d3cuamFuZXJ0Lm1lCj4gPgo+ID4KPiA+IF9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiBnbnVwbG90LWluZm8gbWFpbGlu ZyBsaXN0Cj4gPiBnbnVwbG90LWluZm9AbGlzdHMuc291cmNlZm9yZ2UubmV0Cj4gPiBNZW1iZXJz aGlwIG1hbmFnZW1lbnQgdmlhOgo+ID4gaHR0cHM6Ly9saXN0cy5zb3VyY2Vmb3JnZS5uZXQvbGlz dHMvbGlzdGluZm8vZ251cGxvdC1pbmZvCj4gPgo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCj4gZ251cGxvdC1pbmZvIG1haWxpbmcgbGlzdAo+IGdu dXBsb3QtaW5mb0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKPiBNZW1iZXJzaGlwIG1hbmFnZW1lbnQg dmlhOiBodHRwczovL2xpc3RzLnNvdXJjZWZvcmdlLm5ldC9saXN0cy9saXN0aW5mby9nbnVwbG90 LWluZm8KPiAKCgoKCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KZ251cGxvdC1pbmZvIG1haWxpbmcgbGlzdApnbnVwbG90LWluZm9AbGlzdHMuc291cmNl Zm9yZ2UubmV0Ck1lbWJlcnNoaXAgbWFuYWdlbWVudCB2aWE6IGh0dHBzOi8vbGlzdHMuc291cmNl Zm9yZ2UubmV0L2xpc3RzL2xpc3RpbmZvL2dudXBsb3QtaW5mbwo=