Celeste design (was Re: [ENH] Celeste attachments/displaying a thingie)

danielv at netvision.net.il danielv at netvision.net.il
Mon May 1 23:31:21 UTC 2000


Lex, 
Sorry if this is a bad time to mention it, but it seemed to me that
MIMEDocument is a clear candidate for unification with MIMEPart, while
leaving MailMessage as a (mostly) dumb container.
This partitioning seemed natural because the structured content might
not arrive via mail, though it doesn't seem critical.

Either way, do you agree that MIMEDoc should go? (I'm feeling the woes
of postponing my refactoring... ;-)

About giving MailMessage content-sensitive behavior, I'd propose a
Strategy pattern. Have a dictionary from some combination of
content-type and disposition to appropriate strategy classes, and have
every MailMessage choose it's own, and delegate content-type sensitive
actions to it. This would include it's favorite display, a menu of
appropriate actions and so forth.

This solution uses classes to allow extendability per package.

BTW, I skimmed the code and saw various cosmetic change (names and
stuff) which I liked... way to go.

"Lex Spoon" <lex at cc.gatech.edu> wrote:
> 
> --==CelesteAttachment35733==
> Content-Type: text/plain; charset="us-ascii"
> 
> Below is a single changeset that incorporates Daniel Vainsencher's
> recent posts into Celeste, allowing Celeste to deal with attachments
> when sending, receiving, and forwarding.  It files cleanly into the most
> recent 2.8a, and in fact that's where I'm sending this message from.
> 
> This is mostly Daniel's code, but it has several small adjustments by
> me, including:
> 
> 	- MIMEPart is merged into MailMessage, to try and simplify things
> 
> 	- the UI is uses clickable text, instead of an extra menu item.
> 
> 	- the "message/rfc822" type is handled now, and so recursive messages
> work.
> 
> 	- forwarding uses a multipart format, so that attachments are
> preserved.
> 
> 
> Unless I've missed something important, or this thing starts crashing
> people's images, I wholeheartedly suggest we get this changeset into the
> main system.  Or heck, put it out anyway, and let someone send in a bug
> fix.  Attachments have been Celeste's biggest weakness, and due to the
> combined effort of a lot of people each spending a tiny amount of time,
> that weakness is finally removed.
> 
> 
> -Lex
> 
> 
> --==CelesteAttachment35733==
> Content-Type: application/octet-stream; name="attachments-dvf.5.cs"
> Content-Disposition: attachment; filename="attachments-dvf.5.cs"
> Content-Transfer-Encoding: base64
> 
> J0Zyb20gU3F1ZWFrMi44YWxwaGEgb2YgOSBNYXJjaCAyMDAwIFtsYXRlc3QgdXBkYXRlOiAj
> MjAwNV0gb24gMzAgQXByaWwgMjAwMCBhdCAxMTo0OTo1NiBwbSchDSJDaGFuZ2UgU2V0OgkJ
> Q2VsZXN0ZTMNRGF0ZToJCQlBcHJpbCAyMDAwDUF1dGhvcjoJCQlEYW5pZWwgVmFpbnNlbmNo
> ZXIgYW5kIExleCBTcG9vbg0NQWxsb3dzIHNlbmRpbmcgYW5kIHJlY2VpdmluZyBhdHRhY2ht
> ZW50cyBpbiBDZWxlc3RlLiIhDQ1Nb2RlbCBzdWJjbGFzczogI0NlbGVzdGUNCWluc3RhbmNl
> VmFyaWFibGVOYW1lczogJ21haWxEQiBjdXJyZW50Q2F0ZWdvcnkgY3VycmVudE1lc3NhZ2Vz
> IGN1cnJlbnRUT0MgY3VycmVudE1zZ0lEIGxhc3RDYXRlZ29yeSBzdWJqZWN0RmlsdGVyIGZy
> b21GaWx0ZXIgZGF0ZUZpbHRlciBjdXN0b21GaWx0ZXJCbG9jayBmb3JtYXRNZXNzYWdlcyBs
> YXN0Q2F0ZWdvcnlMaXN0IGxhc3RDYXRlZ29yeU1lbnUgbWVzc2FnZVRleHRWaWV3IHVzZXJQ
> YXNzd29yZCBzdGF0dXMgJw0JY2xhc3NWYXJpYWJsZU5hbWVzOiAnQ0NMaXN0IEN1c3RvbUZp
> bHRlcnMgRGVsZXRlSW5ib3hBZnRlckZldGNoaW5nIEZvcm1hdFdoZW5GZXRjaGluZyBQb3BT
> ZXJ2ZXIgUG9wVXNlck5hbWUgU210cFNlcnZlciBTdXBwcmVzc1dvcnRobGVzc0hlYWRlckZp
> ZWxkcyBVc2VyTmFtZSAnDQlwb29sRGljdGlvbmFyaWVzOiAnJw0JY2F0ZWdvcnk6ICdOZXR3
> b3JrLU1haWwgUmVhZGVyJyENTW9kZWwgc3ViY2xhc3M6ICNDZWxlc3RlQ29tcG9zaXRpb24N
> CWluc3RhbmNlVmFyaWFibGVOYW1lczogJ2NlbGVzdGUgbWVzc2FnZVRleHQgdGV4dEVkaXRv
> ciBtb3JwaGljV2luZG93IG12Y1dpbmRvdyBhdHRhY2htZW50U2VwYXJhdG9yICcNCWNsYXNz
> VmFyaWFibGVOYW1lczogJycNCXBvb2xEaWN0aW9uYXJpZXM6ICcnDQljYXRlZ29yeTogJ05l
> dHdvcmstTWFpbCBSZWFkZXInIQ1PYmplY3Qgc3ViY2xhc3M6ICNNSU1FSGVhZGVyVmFsdWUN
> CWluc3RhbmNlVmFyaWFibGVOYW1lczogJ21haW5WYWx1ZSBwYXJhbWV0ZXJzICcNCWNsYXNz
> VmFyaWFibGVOYW1lczogJycNCXBvb2xEaWN0aW9uYXJpZXM6ICcnDQljYXRlZ29yeTogJ05l
> dHdvcmstTWFpbCBSZWFkZXInIQ1PYmplY3Qgc3ViY2xhc3M6ICNNYWlsTWVzc2FnZQ0JaW5z
> dGFuY2VWYXJpYWJsZU5hbWVzOiAndGltZSBmcm9tIHRvIGNjIHN1YmplY3QgdGV4dCBib2R5
> IHNlcGFyYXRvciBmaWVsZHMgcGFydHMgJw0JY2xhc3NWYXJpYWJsZU5hbWVzOiAnJw0JcG9v
> bERpY3Rpb25hcmllczogJycNCWNhdGVnb3J5OiAnTmV0d29yay1NYWlsIFJlYWRlcichDVRl
> eHRBdHRyaWJ1dGUgc3ViY2xhc3M6ICNUZXh0TWVzc2FnZUxpbmsNCWluc3RhbmNlVmFyaWFi
> bGVOYW1lczogJ21lc3NhZ2UgJw0JY2xhc3NWYXJpYWJsZU5hbWVzOiAnJw0JcG9vbERpY3Rp
> b25hcmllczogJycNCWNhdGVnb3J5OiAnTmV0d29yay1NYWlsIFJlYWRlcichDQ0hVGV4dE1l
> c3NhZ2VMaW5rIGNvbW1lbnRTdGFtcDogJ2xzIDQvMzAvMjAwMCAxODo1NCcgcHJpb3I6IDAh
> DUEgbGluayB0byBhIGhpZGRlbiBtYWlsIG1lc3NhZ2UuICBDbGlja2luZyBvbiBpdCBhbGxv
> d3MgdGhlIG1lc3NhZ2UgdG8gYmUgdmlld2VkIG9yIHNhdmVkIHRvIGRpc2suIQ0NIUNlbGVz
> dGUgbWV0aG9kc0ZvcjogJ2NhdGVnb3JpZXMgcGFuZScgc3RhbXA6ICdkdmYgNC8yNy8yMDAw
> IDIxOjA0JyENbWVzc2FnZXM6IGFjdHVhbGx5U2hvd24gZnJvbTogcG9zc2libGUgDQlzdGF0
> dXMgXyAnU2hvd2luZyAnICwgYWN0dWFsbHlTaG93biBwcmludFN0cmluZyAsICcgb2YgJyAs
> IHBvc3NpYmxlIHByaW50U3RyaW5nICwgJyBtZXNzYWdlcyBpbiAnLCBzZWxmIGNhdGVnb3J5
> Lg0Jc2VsZiBjaGFuZ2VkOiBzdGF0dXMhICENDSFDZWxlc3RlIG1ldGhvZHNGb3I6ICd0YWJs
> ZSBvZiBjb250ZW50cyBwYW5lJyBzdGFtcDogJ2R2ZiA0LzI3LzIwMDAgMDA6MTQnIQ1zYXZl
> TWVzc2FnZQ0JInNhdmUgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBtZXNzYWdlIHRvIGEgZmls
> ZSINCXwgZmlsZU5hbWUgZmlsZSB8DQljdXJyZW50TXNnSUQgaWZOaWw6IFteIHNlbGZdLg0J
> ZmlsZU5hbWUgXyBGaWxsSW5UaGVCbGFuayByZXF1ZXN0OiAnZmlsZSB0byBzYXZlIGluJy4N
> CWZpbGVOYW1lIGlzRW1wdHkgaWZUcnVlOiBbXiBzZWxmXS4NCWZpbGUgXyBGaWxlU3RyZWFt
> IGZpbGVOYW1lZDogZmlsZU5hbWUuDQlmaWxlIG5leHRQdXRBbGw6IChzZWxmIGN1cnJlbnRN
> ZXNzYWdlKSB0ZXh0Lg0JZmlsZSBjbG9zZSEgIQ0NIUNlbGVzdGUgbWV0aG9kc0ZvcjogJ21l
> c3NhZ2UgdGV4dCBwYW5lJyBzdGFtcDogJ2xzIDQvMzAvMjAwMCAxODozMychDW1lc3NhZ2VU
> ZXh0DQkiQW5zd2VyIHRoZSB0ZXh0IHdoaWNoIG1ha2VzIHVwIHRoZSBjb21wbGV0ZSBtZXNz
> YWdlIChoZWFkZXIrYm9keSkiDQ0JKGN1cnJlbnRNc2dJRCBpc05pbCkgaWZUcnVlOiBbXicn
> XS4NDQkiQWx3YXlzIHNob3cgdGhlIGZ1bGwgbWVzc2FnZSBoZWFkZXIgZm9yIG1lc3NhZ2Vz
> IGluIHRoZSBjYXRlZ29yeSAudG9zZW5kLiBzbyB0aGF0IGFsbCBzcGVjaWFsIGhlYWRlciBs
> aW5lcyBhcmUgcHJlc2VydmVkLCBzaG93biBhbmQgY2FuIGJlIGVkaXRlZC4iDQkoY3VycmVu
> dENhdGVnb3J5ID0gJy50b3NlbmQuJykNCQlpZlRydWU6IFteIG1haWxEQiBnZXRUZXh0OiBj
> dXJyZW50TXNnSURdLg0NCVN1cHByZXNzV29ydGhsZXNzSGVhZGVyRmllbGRzDQkJaWZUcnVl
> OiBbXiBzZWxmIGN1cnJlbnRNZXNzYWdlIGZvcm1hdHRlZFRleHRdDQkJaWZGYWxzZTogW14g
> bWFpbERCIGdldFRleHQ6IGN1cnJlbnRNc2dJRF0uDSEgIQ0NIUNlbGVzdGUgbWV0aG9kc0Zv
> cjogJ290aGVyJyBzdGFtcDogJ2R2ZiA0LzI3LzIwMDAgMDA6MTInIQ1jdXJyZW50TWVzc2Fn
> ZQ0JXm1haWxEQiBnZXRNZXNzYWdlOiBjdXJyZW50TXNnSUQhICENDSFDZWxlc3RlIG1ldGhv
> ZHNGb3I6ICdzZW5kaW5nIG1haWwnIHN0YW1wOiAnbHMgNC8zMC8yMDAwIDIzOjEyJyENZm9y
> d2FyZFRleHRGb3I6IG1zZ0lEDQkiQW5zd2VyIHRoZSB0ZW1wbGF0ZSBmb3IgZm9yd2FyZGlu
> ZyB0aGUgbWVzc2FnZSB3aXRoIHRoZSBnaXZlbiBJRC4iDQl8IG1zZyBzZXBhcmF0b3IgfA0J
> bXNnIDo9IHNlbGYgY3VycmVudE1lc3NhZ2UuDQ0JXlN0cmluZyBzdHJlYW1Db250ZW50czog
> WyA6c3RyIHwNCQkiRnJvbSBoZWFkZXIiDQkJc3RyIG5leHRQdXRBbGw6ICdGcm9tOiAnOw0J
> CW5leHRQdXRBbGw6IENlbGVzdGUgdXNlck5hbWU7IGNyLg0NCQkiUHV0IGEgYmxhbmsgVG8i
> DQkJc3RyIG5leHRQdXRBbGw6ICdUbzogJzsgY3IuDQ0JCSJBZGQgYSBzdWJqZWN0IG1vZGlm
> aWVkIGZyb20gdGhlIG9yaWdpbmFsIg0JCXN0ciBuZXh0UHV0QWxsOiAnU3ViamVjdDogKGZ3
> ZCkgJy4NCQlzdHIgbmV4dFB1dEFsbDogbXNnIHN1YmplY3QuDQkJc3RyIGNyLg0NDQkJIkFk
> ZCBhdXRvLWNjIGlmIGl0J3MgYmVlbiBzZXQiDQkJQ2VsZXN0ZSBjY0xpc3QgaXNFbXB0eSBp
> ZkZhbHNlOiBbDQkJCXN0ciBuZXh0UHV0QWxsOiAnQ2M6ICcuDQkJCXN0ciBuZXh0UHV0QWxs
> OiBDZWxlc3RlIGNjTGlzdDsgY3JdLg0NCQkiYWRkIHRoZSBtaW1lIGhlYWRlcnMgdG8gbWFr
> ZSBpdCBtdWx0aS1wYXJ0Ig0JCXNlcGFyYXRvciA6PSBNYWlsTWVzc2FnZSBnZW5lcmF0ZVNl
> cGFyYXRvci4NCQlzdHIgbmV4dFB1dEFsbDogJ01JTUUtVmVyc2lvbjogMS4wJzsgY3IuDQkJ
> c3RyIG5leHRQdXRBbGw6ICdDb250ZW50LXR5cGU6IG11bHRpcGFydC9taXhlZDsgc2VwYXJh
> dG9yPScuDQkJc3RyIG5leHRQdXRBbGw6IHNlcGFyYXRvci4NCQlzdHIgY3IuDQ0JCSJza2lw
> IGRvd24gdG8gdGhlIG1haW4gcGFydCBvZiB0aGUgbWVzc2FnZSINCQlzdHIgY3IuDQkJc3Ry
> IG5leHRQdXRBbGw6ICctLSc7IG5leHRQdXRBbGw6IHNlcGFyYXRvcjsgY3IuDQkJc3RyIG5l
> eHRQdXRBbGw6ICdDb250ZW50LXR5cGU6IHRleHQvcGxhaW4nOyBjcjsgY3IuDQ0JCSJpbnNl
> cnQgdGhlIGZvcndhcmRlZCBtZXNzYWdlIg0JCXN0ciBjcjsgY3I7IG5leHRQdXRBbGw6ICc9
> PT09Zm9yd2FyZGVkPT09PSc7IGNyOyBjci4NCQlzdHIgbmV4dFB1dEFsbDogJy0tJzsgbmV4
> dFB1dEFsbDogc2VwYXJhdG9yOyBjci4NCQlzdHIgbmV4dFB1dEFsbDogJ0NvbnRlbnQtdHlw
> ZTogbWVzc2FnZS9yZmM4MjInOyBjcjsgY3IuDQkJc3RyIG5leHRQdXRBbGw6IG1zZyB0ZXh0
> OyBjci4NDQkJImZpbmFsIHNlcGFyYXRvciINCQlzdHIgbmV4dFB1dEFsbDogJy0tJzsgbmV4
> dFB1dEFsbDogc2VwYXJhdG9yOyBuZXh0UHV0QWxsOiAnLS0nOyBjci4NCV0uISAhDQ0NIUNl
> bGVzdGVDb21wb3NpdGlvbiBtZXRob2RzRm9yOiAncHJpdmF0ZScgc3RhbXA6ICdkdmYgNC8y
> OC8yMDAwIDAyOjE5JyENaGFzQXR0YWNobWVudHMNCV4gYXR0YWNobWVudFNlcGFyYXRvciBu
> b3ROaWwhICENDSFDZWxlc3RlQ29tcG9zaXRpb24gbWV0aG9kc0ZvcjogJ2ludGVyZmFjZScg
> c3RhbXA6ICdkdmYgNC8yOC8yMDAwIDAzOjIxJyENYWRkQXR0YWNobWVudA0JfCBmaWxlIGZp
> bGVSZXN1bHQgZmlsZU5hbWUgc3RybSB8DQl0ZXh0RWRpdG9yDQkJaWZOb3ROaWw6IFtzZWxm
> IGhhc1VuYWNjZXB0ZWRFZGl0cyBpZlRydWU6IFt0ZXh0RWRpdG9yIGFjY2VwdF1dLg0JInRy
> YW5zZm9ybSBpbnRvIG11bHRpcGFydCBpZiBuZWVkZWQiDQlzZWxmIGhhc0F0dGFjaG1lbnRz
> IGlmRmFsc2U6IFtzZWxmIHRyYW5zZm9ybVRvTXVsdGlwYXJ0XS4NCSJ0aGVuIHNpbXBseSBh
> cHBlbmQgYW5vdGhlciBhdHRhY2htZW50IHNlY3Rpb24iDQkoZmlsZVJlc3VsdCBfIFN0YW5k
> YXJkRmlsZU1lbnUgb2xkRmlsZSkNCQlpZk5vdE5pbDogDQkJCVtmaWxlTmFtZSBfIGZpbGVS
> ZXN1bHQgZGlyZWN0b3J5IGZ1bGxOYW1lRm9yOiBmaWxlUmVzdWx0IG5hbWUuDQkJCWZpbGUg
> XyBGaWxlU3RyZWFtIG9sZEZpbGVOYW1lZDogZmlsZU5hbWUuDQkJCWZpbGUNCQkJCWlmTm90
> TmlsOiANCQkJCQlbc3RybSBfIFdyaXRlU3RyZWFtIG9uOiAoU3RyaW5nIG5ldzogMTAwKS4N
> CQkJCQlzdHJtIG5leHRQdXRBbGw6ICdDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL29jdGV0
> LXN0cmVhbTsgbmFtZT0iJyAsIGZpbGVSZXN1bHQgbmFtZSAsICciJzsNCQkJCQkgY3I7DQkJ
> CQkJIG5leHRQdXRBbGw6ICdDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxl
> bmFtZT0iJyAsIGZpbGVSZXN1bHQgbmFtZSAsICciJzsNCQkJCQkgY3I7DQkJCQkJIG5leHRQ
> dXRBbGw6ICdDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBiYXNlNjQnOw0JCQkJCSBjcjsN
> CQkJCQkgY3IuDQkJCQkJQmFzZTY0TWltZUNvbnZlcnRlciBuZXcgZGF0YVN0cmVhbTogZmls
> ZTsNCQkJCQkgbWltZVN0cmVhbTogc3RybTsNCQkJCQkgbWltZUVuY29kZS4NCQkJCQlzdHJt
> IGNyOyBuZXh0UHV0QWxsOiAnLS0nICwgYXR0YWNobWVudFNlcGFyYXRvcjsgY3IuIHNlbGYg
> bWVzc2FnZVRleHQ6IChzZWxmIG1lc3NhZ2VUZXh0LCBzdHJtIGNvbnRlbnRzKV1dISAhDQ0h
> Q2VsZXN0ZUNvbXBvc2l0aW9uIG1ldGhvZHNGb3I6ICdpbnRlcmZhY2UnIHN0YW1wOiAnZHZm
> IDQvMjgvMjAwMCAwMjowNichDW9wZW5Jbk1vcnBoaWMNCSJvcGVuIGFuIGludGVyZmFjZSBm
> b3Igc2VuZGluZyBhIG1haWwgbWVzc2FnZSB3aXRoIHRoZSBnaXZlbiBpbml0aWFsIA0JdGV4
> dCAiDQl8IHRleHRNb3JwaCBidXR0b25zTGlzdCBzZW5kQnV0dG9uIGF0dGFjaG1lbnRCdXR0
> b24gfA0JbW9ycGhpY1dpbmRvdyBfIFN5c3RlbVdpbmRvdyBsYWJlbGxlZDogJ01pc3RlciBQ
> b3N0bWFuJy4NCW1vcnBoaWNXaW5kb3cgbW9kZWw6IHNlbGYuDQl0ZXh0RWRpdG9yIF8gdGV4
> dE1vcnBoIF8gUGx1Z2dhYmxlVGV4dE1vcnBoDQkJCQkJCW9uOiBzZWxmDQkJCQkJCXRleHQ6
> ICNtZXNzYWdlVGV4dA0JCQkJCQlhY2NlcHQ6ICNtZXNzYWdlVGV4dDouDQltb3JwaGljV2lu
> ZG93IGFkZE1vcnBoOiB0ZXh0TW9ycGggZnJhbWU6ICgwIEAgMC4xIGNvcm5lcjogMSBAIDEp
> Lg0JYnV0dG9uc0xpc3QgXyBBbGlnbm1lbnRNb3JwaCBuZXdSb3cuDQlzZW5kQnV0dG9uIF8g
> UGx1Z2dhYmxlQnV0dG9uTW9ycGgNCQkJCW9uOiBzZWxmDQkJCQlnZXRTdGF0ZTogbmlsDQkJ
> CQlhY3Rpb246ICNzdWJtaXQuDQlzZW5kQnV0dG9uIGxhYmVsOiAnc2VuZCBtZXNzYWdlJy4N
> CXNlbmRCdXR0b24gc2V0QmFsbG9vblRleHQ6ICdhZGQgdGhpcyB0byB0aGUgcXVldWUgb2Yg
> bWVzc2FnZXMgdG8gYmUgc2VudCcuDQlzZW5kQnV0dG9uIG9uQ29sb3I6IENvbG9yIHdoaXRl
> IG9mZkNvbG9yOiBDb2xvciB3aGl0ZS4NCWJ1dHRvbnNMaXN0IGFkZE1vcnBoQmFjazogc2Vu
> ZEJ1dHRvbi4NCQ0JYXR0YWNobWVudEJ1dHRvbiBfIFBsdWdnYWJsZUJ1dHRvbk1vcnBoDQkJ
> CQlvbjogc2VsZg0JCQkJZ2V0U3RhdGU6IG5pbA0JCQkJYWN0aW9uOiAjYWRkQXR0YWNobWVu
> dC4NCWF0dGFjaG1lbnRCdXR0b24gbGFiZWw6ICdhZGQgYXR0YWNobWVudCcuDQlhdHRhY2ht
> ZW50QnV0dG9uIHNldEJhbGxvb25UZXh0OiAnU2VuZCBhIGZpbGUgd2l0aCB0aGUgbWVzc2Fn
> ZScuDQlhdHRhY2htZW50QnV0dG9uIG9uQ29sb3I6IENvbG9yIHdoaXRlIG9mZkNvbG9yOiBD
> b2xvciB3aGl0ZS4NCWJ1dHRvbnNMaXN0IGFkZE1vcnBoQmFjazogYXR0YWNobWVudEJ1dHRv
> bi4NCQ0JbW9ycGhpY1dpbmRvdyBhZGRNb3JwaDogYnV0dG9uc0xpc3QgZnJhbWU6ICgwIEAg
> MCBleHRlbnQ6IDEgQCAwLjEpLg0JbW9ycGhpY1dpbmRvdyBvcGVuSW5NVkMhICENDSFDZWxl
> c3RlQ29tcG9zaXRpb24gbWV0aG9kc0ZvcjogJ2ludGVyZmFjZScgc3RhbXA6ICdscyA0LzMw
> LzIwMDAgMjI6NTgnIQ10cmFuc2Zvcm1Ub011bHRpcGFydA0JfCBvbGRQYXJ0IG5ld1RleHQg
> c3RybSB8DQlvbGRQYXJ0IF8gTWFpbE1lc3NhZ2UgZnJvbTogc2VsZiBtZXNzYWdlVGV4dCBh
> c1N0cmluZy4NCWF0dGFjaG1lbnRTZXBhcmF0b3IgXyBNYWlsTWVzc2FnZSBnZW5lcmF0ZVNl
> cGFyYXRvci4NCW5ld1RleHQgXyBTdHJpbmcgbmV3OiAyMDAuDQlzdHJtIF8gV3JpdGVTdHJl
> YW0gb246IG5ld1RleHQuDQlzdHJtIG5leHRQdXRBbGw6ICdNaW1lLVZlcnNpb246IDEuMCc7
> DQkgY3I7DQkgbmV4dFB1dEFsbDogJ0NvbnRlbnQtVHlwZTogbXVsdGlwYXJ0L21peGVkOyBi
> b3VuZGFyeT0iJzsNCSBuZXh0UHV0QWxsOiBhdHRhY2htZW50U2VwYXJhdG9yOw0JIG5leHRQ
> dXQ6ICQiOw0JIGNyOw0JIG5leHRQdXRBbGw6IG9sZFBhcnQgZmllbGRzQXNNaW1lSGVhZGVy
> Ow0JIGNyO2NyOw0JIG5leHRQdXRBbGw6ICctLScgLCBhdHRhY2htZW50U2VwYXJhdG9yOw0J
> IGNyOw0JIG5leHRQdXRBbGw6ICdDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9
> InVzLWFzY2lpIic7DQkgY3I7DQkgY3I7DQkgbmV4dFB1dEFsbDogb2xkUGFydCBjb250ZW50
> Ow0JIGNyOw0JIG5leHRQdXRBbGw6ICctLScgLCBhdHRhY2htZW50U2VwYXJhdG9yOw0JIGNy
> Lg0Jc2VsZiBtZXNzYWdlVGV4dDogc3RybSBjb250ZW50cyEgIQ0NDSFNSU1FRG9jdW1lbnQg
> bWV0aG9kc0ZvcjogJ2FzIHlldCB1bmNsYXNzaWZpZWQnIHN0YW1wOiAnbHMgNC8zMC8yMDAw
> IDE4OjA3JyENaXNNdWx0aXBhcnQNCV5zZWxmIG1haW5UeXBlID0gJ211bHRpcGFydCchICEN
> DSFNSU1FRG9jdW1lbnQgbWV0aG9kc0ZvcjogJ2FzIHlldCB1bmNsYXNzaWZpZWQnIHN0YW1w
> OiAnbHMgNC8zMC8yMDAwIDE4OjQ1JyENaXNNdWx0aXBhcnRBbHRlcm5hdGl2ZQ0JIndoZXRo
> ZXIgdGhlIGRvY3VtZW50IGlzIGluIGEgbXVsdGlwYXJ0IGZvcm1hdCB3aGVyZSB0aGUgcGFy
> dHMgYXJlIGFsdGVybmF0ZXMiDQleIHNlbGYgY29udGVudFR5cGUgPSAnbXVsdGlwYXJ0L2Fs
> dGVybmF0aXZlJw0hICENDQ0hTUlNRUhlYWRlclZhbHVlIG1ldGhvZHNGb3I6ICdhY2Nlc3Np
> bmcnIHN0YW1wOiAnZHZmIDQvMjcvMjAwMCAxODo1NSchDW1haW5WYWx1ZQ0JXm1haW5WYWx1
> ZSEgIQ0NIU1JTUVIZWFkZXJWYWx1ZSBtZXRob2RzRm9yOiAnYWNjZXNzaW5nJyBzdGFtcDog
> J2R2ZiA0LzI3LzIwMDAgMTg6MTMnIQ1tYWluVmFsdWU6IGFuT2JqZWN0DQltYWluVmFsdWUg
> XyBhbk9iamVjdCEgIQ0NIU1JTUVIZWFkZXJWYWx1ZSBtZXRob2RzRm9yOiAnYWNjZXNzaW5n
> JyBzdGFtcDogJ2R2ZiA0LzI3LzIwMDAgMTg6MTgnIQ1wYXJhbWV0ZXJzDQlecGFyYW1ldGVy
> cyEgIQ0NIU1JTUVIZWFkZXJWYWx1ZSBtZXRob2RzRm9yOiAnYWNjZXNzaW5nJyBzdGFtcDog
> J2R2ZiA0LzI3LzIwMDAgMTg6MTEnIQ1wYXJhbWV0ZXJzOiBhbk9iamVjdA0JcGFyYW1ldGVy
> cyBfIGFuT2JqZWN0ISAhDQ0hTUlNRUhlYWRlclZhbHVlIG1ldGhvZHNGb3I6ICdwcmludGlu
> Zycgc3RhbXA6ICdkdmYgNC8yOC8yMDAwIDAyOjQ4JyENYXNIZWFkZXJWYWx1ZQ0JfCBzdHJt
> IHwNCXN0cm0gXyBXcml0ZVN0cmVhbSBvbjogKFN0cmluZyBuZXc6IDIwKS4NCXN0cm0gbmV4
> dFB1dEFsbDogbWFpblZhbHVlLg0JcGFyYW1ldGVycyBhc3NvY2lhdGlvbnNEbzogWzplIHwg
> c3RybSBuZXh0UHV0OiAkOyA7IG5leHRQdXRBbGw6IGUga2V5Ow0JCSBuZXh0UHV0QWxsOiAn
> PSInOw0JCSBuZXh0UHV0QWxsOiBlIHZhbHVlICwgJyInXS4NCV4gc3RybSBjb250ZW50cyEg
> IQ0NDSFNSU1FSGVhZGVyVmFsdWUgY2xhc3MgbWV0aG9kc0ZvcjogJ2FzIHlldCB1bmNsYXNz
> aWZpZWQnIHN0YW1wOiAnbHMgNC8zMC8yMDAwIDE5OjIxJyENZnJvbVN0cmluZzogYVN0cmlu
> ZyANCXwgcGFydHMgbmV3VmFsdWUgcGFybXMgdGVtcCB8DQ0JcGFydHMgXyBSZWFkU3RyZWFt
> IG9uOiAoYVN0cmluZyBmaW5kVG9rZW5zOiAnOycpLg0JbmV3VmFsdWUgXyBzZWxmIG5ldyBt
> YWluVmFsdWU6IHBhcnRzIG5leHQuDQlwYXJtcyBfIERpY3Rpb25hcnkgbmV3Lg0JcGFydHMg
> ZG86IA0JCVs6ZSB8IA0JCXRlbXAgXyBlIHdpdGhCbGFua3NUcmltbWVkIGZpbmRUb2tlbnM6
> ICc9IicuDQkJdGVtcCBzaXplID0gMiBpZlRydWU6IFsNCQkJcGFybXMgYXQ6IHRlbXAgZmly
> c3QgYXNMb3dlcmNhc2UgcHV0OiB0ZW1wIHNlY29uZF1dLg0JbmV3VmFsdWUgcGFyYW1ldGVy
> czogcGFybXMuDQleIG5ld1ZhbHVlISAhDQ0NIU1haWxNZXNzYWdlIG1ldGhvZHNGb3I6ICdp
> bml0aWFsaXplLXJlbGVhc2UnIHN0YW1wOiAnbHMgNC8zMC8yMDAwIDIyOjQ3JyENZnJvbTog
> YVN0cmluZyANCSJQYXJzZSBhU3RyaW5nIHRvIGluaXRpYWxpemUgbXlzZWxmLiINCXwgcGFy
> c2VTdHJlYW0gaXNNaW1lIGNvbnRlbnRUeXBlIGJvZHlUZXh0IGNvbnRlbnRUcmFuc2ZlckVu
> Y29kaW5nIHwNCXRpbWUgXyAwLg0JZnJvbSBfIHRvIF8gY2MgXyBzdWJqZWN0IF8gJycgY29w
> eS4NCXRleHQgXyBhU3RyaW5nIHdpdGhvdXRUcmFpbGluZ0JsYW5rcy4NCXBhcnNlU3RyZWFt
> IF8gUmVhZFN0cmVhbSBvbjogdGV4dC4NCWlzTWltZSBfIGZhbHNlLg0JIm1kcjogdGhpcyBk
> b2VzIG5vdCBhcHBlYXIgdG8gYmUgdXNlZCINCWNvbnRlbnRUeXBlIF8gJ3RleHQvcGxhaW4n
> Lg0JY29udGVudFRyYW5zZmVyRW5jb2RpbmcgXyBuaWwuDQlmaWVsZHMgOj0gRGljdGlvbmFy
> eSBuZXcuDQ0Jc2VsZiBmaWVsZHNGcm9tOiBwYXJzZVN0cmVhbSBkbzogDQkJWzpmTmFtZSA6
> ZlZhbHVlIHwgDQkJZk5hbWUgPSAnZGF0ZScgaWZUcnVlOiBbdGltZSBfIChzZWxmIHRpbWVG
> cm9tOiBmVmFsdWUpIGlmTmlsOiBbIDAgXV0uDQkJZk5hbWUgPSAnZnJvbScgaWZUcnVlOiBb
> ZnJvbSBfIGZWYWx1ZV0uDQkJZk5hbWUgPSAndG8nDQkJCWlmVHJ1ZTogW3RvIGlzRW1wdHkN
> CQkJCQlpZlRydWU6IFt0byBfIGZWYWx1ZV0NCQkJCQlpZkZhbHNlOiBbdG8gXyB0byAsICcs
> ICcgLCBmVmFsdWVdXS4NCQlmTmFtZSA9ICdjYycNCQkJaWZUcnVlOiBbY2MgaXNFbXB0eQ0J
> CQkJCWlmVHJ1ZTogW2NjIF8gZlZhbHVlXQ0JCQkJCWlmRmFsc2U6IFtjYyBfIGNjICwgJywg
> JyAsIGZWYWx1ZV1dLg0JCWZOYW1lID0gJ3N1YmplY3QnIGlmVHJ1ZTogW3N1YmplY3QgXyBm
> VmFsdWVdLg0JCWZOYW1lID0gJ21pbWUtdmVyc2lvbicgaWZUcnVlOiBbaXNNaW1lIF8gdHJ1
> ZV0uDQkJZk5hbWUgPSAnY29udGVudC10eXBlJyBpZlRydWU6IFtjb250ZW50VHlwZSBfIChm
> VmFsdWUgY29weVVwVG86ICQ7KSBhc0xvd2VyY2FzZV0uDQkJZk5hbWUgPSAnY29udGVudC10
> cmFuc2Zlci1lbmNvZGluZycgaWZUcnVlOiBbY29udGVudFRyYW5zZmVyRW5jb2RpbmcgXyBm
> VmFsdWUgYXNMb3dlcmNhc2VdLg0NCQlmaWVsZHMgYXQ6IGZOYW1lIHB1dDogKE1JTUVIZWFk
> ZXJWYWx1ZSBmcm9tU3RyaW5nOiBmVmFsdWUpXS4NCWJvZHlUZXh0IF8gcGFyc2VTdHJlYW0g
> dXBUb0VuZC4NCWNvbnRlbnRUcmFuc2ZlckVuY29kaW5nID0gJ2Jhc2U2NCcNCQlpZlRydWU6
> IA0JCQlbYm9keVRleHQgXyBCYXNlNjRNaW1lQ29udmVydGVyIG1pbWVEZWNvZGVUb0NoYXJz
> OiAoUmVhZFN0cmVhbSBvbjogYm9keVRleHQpLg0JCQlib2R5VGV4dCBfIGJvZHlUZXh0IGNv
> bnRlbnRzXS4NCWNvbnRlbnRUcmFuc2ZlckVuY29kaW5nID0gJ3F1b3RlZC1wcmludGFibGUn
> IGlmVHJ1ZTogW2JvZHlUZXh0IF8gYm9keVRleHQgZGVjb2RlUXVvdGVkUHJpbnRhYmxlXS4N
> CWJvZHkgXyBNSU1FRG9jdW1lbnQgY29udGVudFR5cGU6IGNvbnRlbnRUeXBlIGNvbnRlbnQ6
> IGJvZHlUZXh0ISAhDQ0hTWFpbE1lc3NhZ2UgbWV0aG9kc0ZvcjogJ2FjY2Vzcycgc3RhbXA6
> ICdscyA0LzMwLzIwMDAgMTg6MTUnIQ1maWVsZHMNCV4gZmllbGRzISAhDQ0hTWFpbE1lc3Nh
> Z2UgbWV0aG9kc0ZvcjogJ2FjY2Vzcycgc3RhbXA6ICdscyA0LzMwLzIwMDAgMTg6MjEnIQ1u
> YW1lDQkicmV0dXJuIGEgZGVmYXVsdCBuYW1lIGZvciB0aGlzIHBhcnQsIGlmIGFueSB3YXMg
> c3BlY2lmaWVkLiAgSWYgbm90LCByZXR1cm4gbmlsIg0JfCB0eXBlIG5hbWVGaWVsZCBkaXNw
> b3NpdGlvbiB8DQ0JInRyeSBpbiB0aGUgY29udGVudC10eXBlOiBoZWFkZXIiDQl0eXBlIF8g
> c2VsZiBmaWVsZHMgYXQ6ICdjb250ZW50LXR5cGUnIGlmQWJzZW50OiBbbmlsXS4NCSh0eXBl
> IG5vdE5pbCBhbmQ6IFsobmFtZUZpZWxkIF8gdHlwZSBwYXJhbWV0ZXJzIGF0OiAnbmFtZScg
> aWZBYnNlbnQ6IFtuaWxdKSBub3ROaWxdKQ0JCWlmVHJ1ZTogW14gbmFtZUZpZWxkXS4NDQki
> dHJ5IGluIGNvbnRlbnQtZGlzcG9zaXRpb246Ig0JZGlzcG9zaXRpb24gXyBzZWxmIGZpZWxk
> cyBhdDogJ2NvbnRlbnQtZGlzcG9zaXRpb24nIGlmQWJzZW50OiBbbmlsXS4NCShkaXNwb3Np
> dGlvbiBub3ROaWwgYW5kOiBbKG5hbWVGaWVsZCBfIGRpc3Bvc2l0aW9uIHBhcmFtZXRlcnMg
> YXQ6ICdmaWxlbmFtZScgaWZBYnNlbnQ6IFtuaWxdKSBub3ROaWxdKQ0JCWlmVHJ1ZTogW14g
> bmFtZUZpZWxkXS4NDQkiZ2l2ZSB1cCINCV4gbmlsISAhDQ0hTWFpbE1lc3NhZ2UgbWV0aG9k
> c0ZvcjogJ3ByaW50aW5nL2Zvcm1hdHRpbmcnIHN0YW1wOiAnbHMgNC8zMC8yMDAwIDIzOjM3
> JyENYm9keVRleHRGb3JtYXR0ZWQNCSJBbnN3ZXIgYSB2ZXJzaW9uIG9mIHRoZSB0ZXh0IGlu
> IG15IGJvZHkgc3VpdGFibGUgZm9yIGRpc3BsYXkuICBUaGlzIHdpbGwgcGFyc2UgbXVsdGlw
> YXJ0IGZvcm1zLCBkZWNvZGUgSFRNTCwgYW5kIG90aGVyIHN1Y2ggdGhpbmdzIg0NCSJjaGVj
> ayBmb3IgbXVsdGlwYXJ0Ig0Jc2VsZiBib2R5IGlzTXVsdGlwYXJ0IGlmVHJ1ZTogWw0JCSJj
> aGVjayBmb3IgYWx0ZXJuYXRpdmUgZm9ybXMiDQkJc2VsZiBib2R5IGlzTXVsdGlwYXJ0QWx0
> ZXJuYXRpdmUgaWZUcnVlOiBbDQkJCSJpdCdzIG11bHRpcGFydC9hbHRlcm5hdGl2ZS4gIHNl
> YXJjaCBmb3IgYSBwYXJ0IHRoYXQgd2UgY2FuIGRpc3BsYXksIGJpYXNpbmcgdG93YXJkcyBu
> aWNlciBmb3JtYXRzIg0JCQkjKCd0ZXh0L2h0bWwnICd0ZXh0L3BsYWluJykgZG86IFsgOmZv
> cm1hdCB8DQkJCQlzZWxmIHBhcnRzIGRvOiBbIDpwYXJ0IHwNCQkJCQlwYXJ0IGJvZHkgY29u
> dGVudFR5cGUgPSBmb3JtYXQgaWZUcnVlOiBbIF5wYXJ0IGJvZHlUZXh0Rm9ybWF0dGVkIF0g
> XSBdLg0NCQkJImNvdWxkbid0IGZpbmQgYSBkZXNpcmFibGUgcGFydCB0byBkaXNwbGF5OyBq
> dXN0IGRpc3BsYXkgdGhlIGZpcnN0IHBhcnQiDQkJCV5zZWxmIHBhcnRzIGZpcnN0IGJvZHlU
> ZXh0Rm9ybWF0dGVkIF0uDQ0JCSJub3QgYWx0ZXJuYXRpdmUgcGFydHMuICBwdXQgc29tZXRo
> aW5nIGZvciBlYWNoIHBhcnQiDQkJXlRleHQgc3RyZWFtQ29udGVudHM6IFsgOnN0ciB8DQkJ
> CXNlbGYgcGFydHMgZG86IFsgOnBhcnQgfA0JCQkJKCgjKCd0ZXh0JyAnbXVsdGlwYXJ0Jykg
> aW5jbHVkZXM6IHBhcnQgYm9keSBtYWluVHlwZSkgb3I6IA0JCQkJCVsgcGFydCBib2R5IGNv
> bnRlbnRUeXBlID0gJ21lc3NhZ2UvcmZjODIyJ10pDQkJCQlpZlRydWU6IFsNCQkJCQkidHJ5
> IHRvIGlubGluZSB0aGUgbWVzc2FnZSBwYXJ0Ig0JCQkJCXN0ciBuZXh0UHV0QWxsOiBwYXJ0
> IGJvZHlUZXh0Rm9ybWF0dGVkLiBdDQkJCQlpZkZhbHNlOiBbIA0JCQkJCXxkZXNjcmlwdCB8
> DQkJCQkJc3RyIGNyLg0JCQkJCWRlc2NyaXB0IDo9IHBhcnQgbmFtZSBpZk5pbDogWyAnYXR0
> YWNobWVudCcgXS4NCQkJCQlzdHIgbmV4dFB1dEFsbDogKFRleHQgc3RyaW5nOiAnWycsIGRl
> c2NyaXB0LCAnXScgIGF0dHJpYnV0ZTogKFRleHRNZXNzYWdlTGluayBtZXNzYWdlOiBwYXJ0
> KSkuIF0gXSBdLiBdLg0NDQkiY2hlY2sgZm9yIEhUTUwiDQlzZWxmIGJvZHkgY29udGVudFR5
> cGUgPSAndGV4dC9odG1sJw0JCWlmVHJ1ZTogW14oSHRtbFBhcnNlciBwYXJzZTogKFJlYWRT
> dHJlYW0gb246IGJvZHkgY29udGVudCkpIGZvcm1hdHRlZFRleHRdLg0NCSJjaGVjayBmb3Ig
> YW4gZW1iZWRkZWQgbWVzc2FnZSINCXNlbGYgYm9keSBjb250ZW50VHlwZSA9ICdtZXNzYWdl
> L3JmYzgyMicgaWZUcnVlOiBbDQkJXihNYWlsTWVzc2FnZSBmcm9tOiBzZWxmIGJvZHkgY29u
> dGVudCkgZm9ybWF0dGVkVGV4dCBdLg0NCSJub3RoaW5nIHNwZWNpYWwtLWp1c3QgcmV0dXJu
> IHRoZSB0ZXh0Ig0JXmJvZHkgY29udGVudC4NDSEgIQ0NIU1haWxNZXNzYWdlIG1ldGhvZHNG
> b3I6ICdwcmludGluZy9mb3JtYXR0aW5nJyBzdGFtcDogJ2xzIDQvMzAvMjAwMCAxODoxOSch
> DWZpZWxkc0FzTWltZUhlYWRlcg0JInJldHVybiB0aGUgZW50aXJlIGhlYWRlciBpbiBwcm9w
> ZXIgTUlNRSBmb3JtYXQiDQl8IHN0cm0gfA0Jc3RybSBfIFdyaXRlU3RyZWFtIG9uOiAoU3Ry
> aW5nIG5ldzogMTAwKS4NCXNlbGYgZmllbGRzIGFzc29jaWF0aW9uc0RvOiBbOmUgfCBzdHJt
> IG5leHRQdXRBbGw6IGUga2V5Ow0JCSBuZXh0UHV0QWxsOiAnOiAnOw0JCSBuZXh0UHV0QWxs
> OiBlIHZhbHVlIGFzSGVhZGVyVmFsdWU7DQkJIGNyXS4gDQleIHN0cm0gY29udGVudHMhICEN
> DSFNYWlsTWVzc2FnZSBtZXRob2RzRm9yOiAncHJpbnRpbmcvZm9ybWF0dGluZycgc3RhbXA6
> ICdscyA0LzMwLzIwMDAgMTg6NTInIQ1mb3JtYXR0ZWRUZXh0DQkiQW5zd2VyIGEgdmVyc2lv
> biBvZiBteSB0ZXh0IHN1aXRhYmxlIGZvciBkaXNwbGF5LiAgVGhpcyBjbGVhbnMgdXAgdGhl
> IGhlYWRlciwgZGVjb2RlcyBIVE1MLCBhbmQgdGhpbmdzIGxpa2UgdGhhdCINDQkNCV4gc2Vs
> ZiBjbGVhbmVkSGVhZGVyIGFzVGV4dCwgU3RyaW5nIGNyICwgc2VsZiBib2R5VGV4dEZvcm1h
> dHRlZCEgIQ0NIU1haWxNZXNzYWdlIG1ldGhvZHNGb3I6ICdwcmludGluZy9mb3JtYXR0aW5n
> JyBzdGFtcDogJ2xzIDQvMzAvMjAwMCAyMDozMichDXZpZXdCb2R5DQkib3BlbiBhIHZpZXdl
> ciBvbiB0aGUgYm9keSBvZiB0aGlzIG1lc3NhZ2UiDQkoU3RyaW5nSG9sZGVyIG5ldyBjb250
> ZW50czogc2VsZiBib2R5VGV4dEZvcm1hdHRlZDsgeW91cnNlbGYpIA0JCW9wZW5MYWJlbDog
> KHNlbGYgbmFtZSBpZk5pbDogWycoYSBtZXNzYWdlIHBhcnQpJ10pICEgIQ0NIU1haWxNZXNz
> YWdlIG1ldGhvZHNGb3I6ICdtdWx0aXBhcnQnIHN0YW1wOiAnbHMgNC8zMC8yMDAwIDE4OjQ3
> JyENY29udGVudA0JInJldHVybnMgdGhlIHRleHQsIHN0aWxsIGVuY29kZWQiDQlec2VsZiBi
> b2R5VGV4dCEgIQ0NIU1haWxNZXNzYWdlIG1ldGhvZHNGb3I6ICdtdWx0aXBhcnQnIHN0YW1w
> OiAnbHMgNC8zMC8yMDAwIDE4OjEzJyENZGVjb2RlckNsYXNzDQl8IGVuY29kaW5nIHwNCWVu
> Y29kaW5nIF8gc2VsZiBmaWVsZHMgYXQ6ICdjb250ZW50LXRyYW5zZmVyLWVuY29kaW5nJyBp
> ZkFic2VudDogW14gbmlsXS4NCWVuY29kaW5nIF8gZW5jb2RpbmcgbWFpblZhbHVlLg0JZW5j
> b2RpbmcgYXNMb3dlcmNhc2UgPSAnYmFzZTY0JyBpZlRydWU6IFteIEJhc2U2NE1pbWVDb252
> ZXJ0ZXJdLg0JZW5jb2RpbmcgYXNMb3dlcmNhc2UgPSAncXVvdGVkLXByaW50YWJsZScgaWZU
> cnVlOiBbXiBRdW90ZWRQcmludGFibGVNaW1lQ29udmVydGVyXS4NCV4gbmlsISAhDQ0hTWFp
> bE1lc3NhZ2UgbWV0aG9kc0ZvcjogJ211bHRpcGFydCcgc3RhbXA6ICdscyA0LzMwLzIwMDAg
> MTg6MTQnIQ1leGNlcnB0DQkiZ2l2ZSBhIHZlcnkgYnJpZWYgZXhjZXJwdCBmcm9tIHRoZSB0
> ZXh0Ig0JXiBzZWxmIGNvbnRlbnQgd2l0aFNlcGFyYXRvcnNDb21wYWN0ZWQgdHJ1bmNhdGVX
> aXRoRWxpcHNpc1RvOiAzMCEgIQ0NIU1haWxNZXNzYWdlIG1ldGhvZHNGb3I6ICdtdWx0aXBh
> cnQnIHN0YW1wOiAnbHMgNC8zMC8yMDAwIDIyOjM3JyENcGFyc2VQYXJ0cw0JInByaXZhdGUg
> LS0gcGFyc2UgdGhlIHBhcnRzIG9mIHRoZSBtZXNzYWdlIGFuZCBwdXQgdGhlbSBpbiB0aGUg
> cGFydHMgaXZhci4gIElmIHRoaXMgaXMgbm90IGEgbXVsdGlwYXJ0IG1lc3NhZ2UsIHB1dCAj
> KCkgaW50byB0aGUgaXZhciINCXwgcGFyc2VTdHJlYW0gY3VyckxpbmUgbXNnU3RyZWFtIG1l
> c3NhZ2VzIHwNCXNlbGYgYm9keSBpc011bHRpcGFydCBpZkZhbHNlOiBbXiBwYXJ0cyBfICMo
> KV0uDQlwYXJzZVN0cmVhbSBfIFJlYWRTdHJlYW0gb246IHNlbGYgY29udGVudC4NCWN1cnJM
> aW5lIF8gJycuDQlbJy0tKicgbWF0Y2g6IGN1cnJMaW5lXQ0JCXdoaWxlRmFsc2U6IFtjdXJy
> TGluZSBfIHBhcnNlU3RyZWFtIG5leHRMaW5lXS4NCXNlcGFyYXRvciBfIGN1cnJMaW5lIGNv
> cHkuDQltc2dTdHJlYW0gXyBMaW1pdGluZ0xpbmVTdHJlYW1XcmFwcGVyIG9uOiBwYXJzZVN0
> cmVhbSBkZWxpbWl0ZXI6IHNlcGFyYXRvci4NCW1lc3NhZ2VzIF8gT3JkZXJlZENvbGxlY3Rp
> b24gbmV3Lg0JW3BhcnNlU3RyZWFtIGF0RW5kXQ0JCXdoaWxlRmFsc2U6IA0JCQlbbWVzc2Fn
> ZXMgYWRkOiBtc2dTdHJlYW0gdXBUb0VuZC4NCQkJbXNnU3RyZWFtIHNraXBUaGlzTGluZV0u
> DQlwYXJ0cyBfIG1lc3NhZ2VzIGNvbGxlY3Q6IFs6ZSB8IE1haWxNZXNzYWdlIGZyb206IGVd
> ISAhDQ0hTWFpbE1lc3NhZ2UgbWV0aG9kc0ZvcjogJ211bHRpcGFydCcgc3RhbXA6ICdscyA0
> LzMwLzIwMDAgMTg6MjInIQ1wYXJ0cw0JcGFydHMgaWZOaWw6IFtzZWxmIHBhcnNlUGFydHNd
> Lg0JXiBwYXJ0cyEgIQ0NIU1haWxNZXNzYWdlIG1ldGhvZHNGb3I6ICdtdWx0aXBhcnQnIHN0
> YW1wOiAnbHMgNC8zMC8yMDAwIDIwOjMxJyENc2F2ZQ0JInNhdmUgdGhlIHBhcnQgdG8gYSBm
> aWxlIg0JfCBmaWxlTmFtZSBmaWxlIHwNCWZpbGVOYW1lIF8gc2VsZiBuYW1lIGlmTmlsOiBb
> J2F0dGFjaG1lbnQnICwgVXRpbGl0aWVzIGRhdGVUaW1lU3VmZml4XS4NCWZpbGVOYW1lIF8g
> RmlsbEluVGhlQmxhbmsgcmVxdWVzdDogJ0ZpbGUgbmFtZSBmb3Igc2F2ZT8nIGluaXRpYWxB
> bnN3ZXI6IGZpbGVOYW1lLg0NCWZpbGVOYW1lIGlzRW1wdHkgaWZUcnVlOiBbIF5uaWwgXS4N
> DQlmaWxlIF8gRmlsZVN0cmVhbSBuZXdGaWxlTmFtZWQ6IGZpbGVOYW1lLg0JZmlsZSBuZXh0
> UHV0QWxsOiBzZWxmIGNvbnRlbnQuISAhDQ0NIU1haWxNZXNzYWdlIGNsYXNzIG1ldGhvZHNG
> b3I6ICd1dGlsaXRpZXMnIHN0YW1wOiAnbHMgNC8zMC8yMDAwIDIyOjU4JyENZ2VuZXJhdGVT
> ZXBhcmF0b3INCSJnZW5lcmF0ZSBhIHNlcGFyYXRvciB1c2FibGUgZm9yIG1ha2luZyBNSU1F
> IG11bHRpcGFydCBkb2N1bWVudHMuICBBIGxlYWRpbmcgLS0gd2lsbCAqbm90KiBiZSBpbmNs
> dWRlZCINCV4nPT1DZWxlc3RlQXR0YWNobWVudCcgLCAoMTAwMDAgdG86IDk5OTk5KSBhdFJh
> bmRvbSBhc1N0cmluZyAsICc9PScuISAhDQ0NIVNlcXVlbmNlYWJsZUNvbGxlY3Rpb24gbWV0
> aG9kc0ZvcjogJ2NvcHlpbmcnIHN0YW1wOiAnbHMgNC8zMC8yMDAwIDE4OjU5JyENY29weVdp
> dGhvdXRGaXJzdA0JInJldHVybiBhIGNvcHkgb2YgdGhlIHJlY2VpdmVyIHdoaWNoIGRvZXNu
> J3QgaW5jbHVkZSB0aGUgZmlyc3QgZWxlbWVudCINCV5zZWxmIGNvcHlGcm9tOiAyIHRvOiBz
> ZWxmIHNpemUNISAhDQ0NIVRleHRNZXNzYWdlTGluayBtZXRob2RzRm9yOiAnaW5pdGlhbGl6
> YXRpb24nIHN0YW1wOiAnbHMgNC8zMC8yMDAwIDE4OjU0JyENaW5pdGlhbGl6ZTogbWVzc2Fn
> ZTANCW1lc3NhZ2UgOj0gbWVzc2FnZTAhICENDSFUZXh0TWVzc2FnZUxpbmsgbWV0aG9kc0Zv
> cjogJ2FjdGluZycgc3RhbXA6ICdscyA0LzMwLzIwMDAgMjA6MzUnIQ1hY3RPbkNsaWNrRm9y
> OiBldnQNCXwgY2hvaWNlIHwNCWNob2ljZSA6PSAoUG9wVXBNZW51IGxhYmVsczogJ3ZpZXcg
> dGhpcyBhdHRhY2htZW50XHNhdmUgdGhpcyBhdHRhY2htZW50JyB3aXRoQ1JzKSBzdGFydFVw
> Lg0NCWNob2ljZSA9IDEgaWZUcnVlOiBbDQkJIm9wZW4gYSBuZXcgdmlld2VyIg0JCW1lc3Nh
> Z2Ugdmlld0JvZHldLg0NCWNob2ljZSA9IDIgaWZUcnVlOiBbDQkJInNhdmUgdGhlIG1lc2Fz
> Z2UiDQkJbWVzc2FnZSBzYXZlIF0uDQ0JXnRydWUhICENDSFUZXh0TWVzc2FnZUxpbmsgbWV0
> aG9kc0ZvcjogJ2FjdGluZycgc3RhbXA6ICdscyA0LzMwLzIwMDAgMTk6MDMnIQ1tYXlBY3RP
> bkNsaWNrDQledHJ1ZSEgIQ0NIVRleHRNZXNzYWdlTGluayBtZXRob2RzRm9yOiAnYXBwZWFy
> YW5jZScgc3RhbXA6ICdscyA0LzMwLzIwMDAgMjA6MzQnIQ1lbXBoYXNpemVTY2FubmVyOiBz
> Y2FubmVyDQlzY2FubmVyIHRleHRDb2xvcjogQ29sb3IgYnJvd24hICENDQ0hVGV4dE1lc3Nh
> Z2VMaW5rIGNsYXNzIG1ldGhvZHNGb3I6ICdpbnN0YW5jZSBjcmVhdGlvbicgc3RhbXA6ICds
> cyA0LzMwLzIwMDAgMTk6MDAnIQ1tZXNzYWdlOiBhTWVzc2FnZQ0JXnN1cGVyIG5ldyBpbml0
> aWFsaXplOiBhTWVzc2FnZSEgIQ0NT2JqZWN0IHN1YmNsYXNzOiAjTWFpbE1lc3NhZ2UNCWlu
> c3RhbmNlVmFyaWFibGVOYW1lczogJ3RpbWUgZnJvbSB0byBjYyBzdWJqZWN0IHRleHQgYm9k
> eSBmaWVsZHMgcGFydHMgc2VwYXJhdG9yICcNCWNsYXNzVmFyaWFibGVOYW1lczogJycNCXBv
> b2xEaWN0aW9uYXJpZXM6ICcnDQljYXRlZ29yeTogJ05ldHdvcmstTWFpbCBSZWFkZXInIQ1N
> b2RlbCBzdWJjbGFzczogI0NlbGVzdGVDb21wb3NpdGlvbg0JaW5zdGFuY2VWYXJpYWJsZU5h
> bWVzOiAnY2VsZXN0ZSBtZXNzYWdlVGV4dCB0ZXh0RWRpdG9yIGF0dGFjaG1lbnRTZXBhcmF0
> b3IgbW9ycGhpY1dpbmRvdyBtdmNXaW5kb3cgJw0JY2xhc3NWYXJpYWJsZU5hbWVzOiAnJw0J
> cG9vbERpY3Rpb25hcmllczogJycNCWNhdGVnb3J5OiAnTmV0d29yay1NYWlsIFJlYWRlcich
> DQ==
> --==CelesteAttachment35733==





More information about the Squeak-dev mailing list