From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Brand Subject: Re: Tables for attendance lists - A problem understanding TBLFM? Date: Sun, 14 Apr 2013 10:04:49 +0200 Message-ID: References: <20130408235753.GC109669@gwolf.org> <20130409002519.GA3195@kuru.dyndns-at-home.com> <20130409022123.GD112475@gwolf.org> <87hajfocpu.fsf@bzg.ath.cx> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=047d7b3432941cab0d04da4d974b Return-path: Received: from eggs.gnu.org ([208.118.235.92]:40615) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1URHvi-0006kG-P6 for emacs-orgmode@gnu.org; Sun, 14 Apr 2013 04:04:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1URHvf-0003N3-MX for emacs-orgmode@gnu.org; Sun, 14 Apr 2013 04:04:54 -0400 In-Reply-To: <87hajfocpu.fsf@bzg.ath.cx> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Bastien Cc: Nick Dokos , Gunnar Wolf , Org Mode --047d7b3432941cab0d04da4d974b Content-Type: text/plain; charset=ISO-8859-1 Hi Bastien On Tue, Apr 9, 2013 at 7:06 PM, Bastien wrote: >> It is worth a small compatibility change: For a range with only empty >> fields it is now possible and necessary to choose different behaviors >> of vmean by adding the format specifiers E and/or N. > > I'll add this in the release notes. The wording of my paragraph quoted above is unfortunate, sorry. It is more that I made fail what is the same as a division by 0 instead of silently using 0 as the result for 0/0. Now one is forced to think about the mean value of an empty vector/list (it is not defined) and has to check for empty vector/list or consider EN, all explained with examples for Calc vmean in the manual now. I don't think such a detail is worth mentioning in the release notes. But in the release notes I would generally, not particularly because of the above, write: If empty fields are of interest it is recommended to reread the section "3.5.2 Formula syntax for Calc" of the manual because the description for the mode strings has been clarified and new examples have been added towards the end. > Maybe you could add a footnote in the manual for this? Do the attached patches clarify what you had in mind? And to repeat myself: I see the directory "testing" as part of the doc, in this case `test-org-table/empty-field'. ;-) Michael --047d7b3432941cab0d04da4d974b Content-Type: text/plain; charset=US-ASCII; name="0001-org.texi-Reformat-some-description-lists.patch.txt" Content-Disposition: attachment; filename="0001-org.texi-Reformat-some-description-lists.patch.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hfhxguv90 RnJvbSA1NWFiZmQxMzc0YjA3NDFhMjNkYWI2Y2ExNmQ4ODc1NmQ0NmE0YzZjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIEJyYW5kIDxtaWNoYWVsLmNoLmJyYW5kQGdtYWls LmNvbT4KRGF0ZTogU3VuLCAxNCBBcHIgMjAxMyAxMDowMjozMiArMDIwMApTdWJqZWN0OiBbUEFU Q0ggMS8yXSBvcmcudGV4aTogUmVmb3JtYXQgc29tZSBkZXNjcmlwdGlvbiBsaXN0cwoKKiBkb2Mv b3JnLnRleGkgKEZvcm11bGEgc3ludGF4IGZvciBDYWxjLCBFbWFjcyBMaXNwIGZvcm1zIGFzCmZv cm11bGFzKTogUmVmb3JtYXQgc3ByZWFkc2hlZXQgZm9ybXVsYSBtb2RlIHN0cmluZ3MgYW5kIHNv bWUgZXhhbXBsZXMKZnJvbSBAZXhhbXBsZSBibG9jayB3aXRoIHh5IEBye3l6fSB0byBAdGFibGUu Ci0tLQogZG9jL29yZy50ZXhpIHwgICA2NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZXMgY2hhbmdlZCwgMzYgaW5zZXJ0aW9u cygrKSwgMzEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL29yZy50ZXhpIGIvZG9jL29y Zy50ZXhpCmluZGV4IGM2NWJkYzEuLmM5YjFmNWIgMTAwNjQ0Ci0tLSBhL2RvYy9vcmcudGV4aQor KysgYi9kb2Mvb3JnLnRleGkKQEAgLTI2NTIsMjMgKzI2NTIsMjggQEAgZm9ybWF0LCBob3dldmVy LCBoYXMgYmVlbiBjaGFuZ2VkIHRvIEBjb2RleyhmbG9hdCA4KX0gdG8ga2VlcCB0YWJsZXMKIGNv bXBhY3QuICBUaGUgZGVmYXVsdCBzZXR0aW5ncyBjYW4gYmUgY29uZmlndXJlZCB1c2luZyB0aGUg dmFyaWFibGUKIEBjb2Rle29yZy1jYWxjLWRlZmF1bHQtbW9kZXN9LgogCi1AZXhhbXBsZQotcDIw ICAgICAgICAgICBAcntzZXQgdGhlIGludGVybmFsIENhbGMgY2FsY3VsYXRpb24gcHJlY2lzaW9u IHRvIDIwIGRpZ2l0c30KLW4zIHMzIGUyIGY0ICAgQHJ7Tm9ybWFsLCBzY2llbnRpZmljLCBlbmdp bmVlcmluZywgb3IgZml4ZWR9Ci0gICAgICAgICAgICAgIEBye2Zvcm1hdCBvZiB0aGUgcmVzdWx0 IG9mIENhbGMgcGFzc2VkIGJhY2sgdG8gT3JnLn0KLSAgICAgICAgICAgICAgQHJ7Q2FsYyBmb3Jt YXR0aW5nIGlzIHVubGltaXRlZCBpbiBwcmVjaXNpb24gYXN9Ci0gICAgICAgICAgICAgIEBye2xv bmcgYXMgdGhlIENhbGMgY2FsY3VsYXRpb24gcHJlY2lzaW9uIGlzIGdyZWF0ZXIufQotRCBSICAg ICAgICAgICBAcnthbmdsZSBtb2RlczogZGVncmVlcywgcmFkaWFuc30KLUYgUyAgICAgICAgICAg QHJ7ZnJhY3Rpb24gYW5kIHN5bWJvbGljIG1vZGVzfQotRSAgICAgICAgICAgICBAcntrZWVwIGVt cHR5IGZpZWxkcyBpbiByYW5nZXMgYW5kIHVzZSBuYW4gKG5vdCBhIG51bWJlcil9Ci0gICAgICAg ICAgICAgIEBye2luIENhbGMgZm9ybXVsYXMgZm9yIGVtcHR5IGZpZWxkcyBpbiByYW5nZSByZWZl cmVuY2VzIGFuZH0KLSAgICAgICAgICAgICAgQHJ7Zm9yIGVtcHR5IGZpZWxkIHJlZmVyZW5jZXM7 IGVsc2Ugc3VwcHJlc3MgZW1wdHkgZmllbGRzIGlufQotICAgICAgICAgICAgICBAcntyYW5nZSBy ZWZlcmVuY2VzIGFuZCB1c2UgMCBmb3IgZW1wdHkgZmllbGQgcmVmZXJlbmNlcywgc2VlfQotICAg ICAgICAgICAgICBAcnthbHNvIHRoZSBub3RlcyBmb3IgYFJhbmdlIHJlZmVyZW5jZXMnIGluIEBw eHJlZntSZWZlcmVuY2VzfX0KLU4gICAgICAgICAgICAgQHJ7aW50ZXJwcmV0IGFsbCBmaWVsZHMg YXMgbnVtYmVycywgdXNlIDAgZm9yIG5vbi1udW1iZXJzO30KLSAgICAgICAgICAgICAgQHJ7TiBo YXMgaGlnaGVyIHByZWNlZGVuY2UgdGhhbiBFIChmb3IgdGhlIHZhbHVlIG9mIHRoZSBmaWVsZCl9 Ci1MICAgICAgICAgICAgIEBye2xpdGVyYWwsIGZvciBMaXNwIGZvcm11bGFzIG9ubHl9Ci1AZW5k IGV4YW1wbGUKK0B0YWJsZSBAYXNpcworQGl0ZW0gQGNvZGV7cDIwfQorU2V0IHRoZSBpbnRlcm5h bCBDYWxjIGNhbGN1bGF0aW9uIHByZWNpc2lvbiB0byAyMCBkaWdpdHMuCitAaXRlbSBAY29kZXtu M30sIEBjb2Rle3MzfSwgQGNvZGV7ZTJ9LCBAY29kZXtmNH0KK05vcm1hbCwgc2NpZW50aWZpYywg ZW5naW5lZXJpbmcgb3IgZml4ZWQgZm9ybWF0IG9mIHRoZSByZXN1bHQgb2YgQ2FsYyBwYXNzZWQK K2JhY2sgdG8gT3JnLiAgQ2FsYyBmb3JtYXR0aW5nIGlzIHVubGltaXRlZCBpbiBwcmVjaXNpb24g YXMgbG9uZyBhcyB0aGUgQ2FsYworY2FsY3VsYXRpb24gcHJlY2lzaW9uIGlzIGdyZWF0ZXIuCitA aXRlbSBAY29kZXtEfSwgQGNvZGV7Un0KK0FuZ2xlIG1vZGVzOiBEZWdyZWUsIHJhZGlhbi4KK0Bp dGVtIEBjb2Rle0Z9LCBAY29kZXtTfQorRnJhY3Rpb24gYW5kIHN5bWJvbGljIG1vZGVzLgorQGl0 ZW0gQGNvZGV7RX0KK0tlZXAgZW1wdHkgZmllbGRzIGluIHJhbmdlcyBhbmQgdXNlIG5hbiAobm90 IGEgbnVtYmVyKSBpbiBDYWxjIGZvcm11bGFzIGZvcgorZW1wdHkgZmllbGRzIGluIHJhbmdlIHJl ZmVyZW5jZXMgYW5kIGZvciBlbXB0eSBmaWVsZCByZWZlcmVuY2VzLiAgRWxzZQorc3VwcHJlc3Mg ZW1wdHkgZmllbGRzIGluIHJhbmdlIHJlZmVyZW5jZXMgYW5kIHVzZSAwIGZvciBlbXB0eSBmaWVs ZAorcmVmZXJlbmNlcywgc2VlIGFsc28gdGhlIG5vdGVzIGZvciBgUmFuZ2UgcmVmZXJlbmNlcycg aW4gQHB4cmVme1JlZmVyZW5jZXN9LgorQGl0ZW0gQGNvZGV7Tn0KK0ludGVycHJldCBhbGwgZmll bGRzIGFzIG51bWJlcnMsIHVzZSAwIGZvciBub24tbnVtYmVycy4gIEBjb2Rle059IGhhcyBoaWdo ZXIKK3ByZWNlZGVuY2UgdGhhbiBAY29kZXtFfSAoZm9yIHRoZSB2YWx1ZSBvZiB0aGUgZmllbGQp LgorQGl0ZW0gQGNvZGV7TH0KK0xpdGVyYWwsIGZvciBMaXNwIGZvcm11bGFzIG9ubHkuCitAZW5k IHRhYmxlCiAKIEBub2luZGVudAogVW5sZXNzIHlvdSB1c2UgbGFyZ2UgaW50ZWdlciBudW1iZXJz IG9yIGhpZ2gtcHJlY2lzaW9uLWNhbGN1bGF0aW9uCkBAIC0yNjk4LDEyICsyNzAzLDEyIEBAIHRh eWxvcigkMyx4PTcsMikgICAgIEBye1RheWxvciBzZXJpZXMgb2YgJDMsIGF0IHg9Nywgc2Vjb25k IGRlZ3JlZX0KIAogQ2FsYyBhbHNvIGNvbnRhaW5zIGEgY29tcGxldGUgc2V0IG9mIGxvZ2ljYWwg b3BlcmF0aW9ucy4gIEZvciBleGFtcGxlCiAKLUBleGFtcGxlCi1pZigkMSA8IDIwLCB0ZWVuLCBz dHJpbmcoIiIpKQotICAgICAgICAgICAgICAgICAgICAgQHJ7InRlZW4iIGlmIGFnZSAkMSBpcyBs ZXNzIHRoYW4gMjAsIGVsc2UgZW1wdHl9Ci1pZigiJDEiID0gIm5hbiIgfHwgIiQyIiA9ICJuYW4i LCBzdHJpbmcoIiIpLCAkMSArICQyKTsgRQotICAgICAgICAgICAgICAgICAgICAgQHJ7c3VtIG9m IGZpcnN0IHR3byBjb2x1bW5zIHVubGVzcyBvbmUgb3IgYm90aCBlbXB0eX0KLUBlbmQgZXhhbXBs ZQorQHRhYmxlIEBjb2RlCitAaXRlbSBpZigkMSA8IDIwLCB0ZWVuLCBzdHJpbmcoIiIpKQorInRl ZW4iIGlmIGFnZSAkMSBpcyBsZXNzIHRoYW4gMjAsIGVsc2UgZW1wdHkuCitAaXRlbSBpZigiJDEi ID0gIm5hbiIgfHwgIiQyIiA9ICJuYW4iLCBzdHJpbmcoIiIpLCAkMSArICQyKTsgRQorU3VtIG9m IGZpcnN0IHR3byBjb2x1bW5zIHVubGVzcyBvbmUgb3IgYm90aCBlbXB0eS4KK0BlbmQgdGFibGUK IAogTm90ZSB0aGF0IHlvdSBjYW4gYWxzbyB1c2UgdHdvIG9yZy1zcGVjaWZpYyBmbGFncyBAY29k ZXtUfSBhbmQgQGNvZGV7dH0gZm9yCiBkdXJhdGlvbnMgY29tcHV0YXRpb25zIEByZWZ7RHVyYXRp b25zIGFuZCB0aW1lIHZhbHVlc30uCkBAIC0yNzM4LDE0ICsyNzQzLDE0IEBAIGZpZWxkcywgc28g eW91IGNhbiBlbWJlZCB0aGVtIGluIGxpc3Qgb3IgdmVjdG9yIHN5bnRheC4KIEhlcmUgYXJlIGEg ZmV3IGV4YW1wbGVzLS0tbm90ZSBob3cgdGhlIEBzYW1we059IG1vZGUgaXMgdXNlZCB3aGVuIHdl IGRvCiBjb21wdXRhdGlvbnMgaW4gTGlzcDoKIAotQGV4YW1wbGUKLUBye1N3YXAgdGhlIGZpcnN0 IHR3byBjaGFyYWN0ZXJzIG9mIHRoZSBjb250ZW50IG9mIGNvbHVtbiAxfQotICAnKGNvbmNhdCAo c3Vic3RyaW5nICQxIDEgMikgKHN1YnN0cmluZyAkMSAwIDEpIChzdWJzdHJpbmcgJDEgMikpCi1A cntBZGQgY29sdW1ucyAxIGFuZCAyLCBlcXVpdmFsZW50IHRvIENhbGMncyBAY29kZXskMSskMn19 Ci0gICcoKyAkMSAkMik7TgotQHJ7Q29tcHV0ZSB0aGUgc3VtIG9mIGNvbHVtbnMgMS0tNCwgbGlr ZSBDYWxjJ3MgQGNvZGV7dnN1bSgkMS4uJDQpfX0KLSAgJyhhcHBseSAnKyAnKCQxLi4kNCkpO04K LUBlbmQgZXhhbXBsZQorQHRhYmxlIEBjb2RlCitAaXRlbSAnKGNvbmNhdCAoc3Vic3RyaW5nICQx IDEgMikgKHN1YnN0cmluZyAkMSAwIDEpIChzdWJzdHJpbmcgJDEgMikpCitTd2FwIHRoZSBmaXJz dCB0d28gY2hhcmFjdGVycyBvZiB0aGUgY29udGVudCBvZiBjb2x1bW4gMS4KK0BpdGVtICcoKyAk MSAkMik7TgorQWRkIGNvbHVtbnMgMSBhbmQgMiwgZXF1aXZhbGVudCB0byBDYWxjJ3MgQGNvZGV7 JDErJDJ9LgorQGl0ZW0gJyhhcHBseSAnKyAnKCQxLi4kNCkpO04KK0NvbXB1dGUgdGhlIHN1bSBv ZiBjb2x1bW5zIDEgdG8gNCwgbGlrZSBDYWxjJ3MgQGNvZGV7dnN1bSgkMS4uJDQpfS4KK0BlbmQg dGFibGUKIAogQG5vZGUgRHVyYXRpb25zIGFuZCB0aW1lIHZhbHVlcywgRmllbGQgYW5kIHJhbmdl IGZvcm11bGFzLCBGb3JtdWxhIHN5bnRheCBmb3IgTGlzcCwgVGhlIHNwcmVhZHNoZWV0CiBAc3Vi c2VjdGlvbiBEdXJhdGlvbnMgYW5kIHRpbWUgdmFsdWVzCi0tIAoxLjcuNC4yCgo= --047d7b3432941cab0d04da4d974b Content-Type: text/plain; charset=US-ASCII; name="0002-Improve-doc-of-empty-fields.patch.txt" Content-Disposition: attachment; filename="0002-Improve-doc-of-empty-fields.patch.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hfhxguvr1 RnJvbSA0ODYxZjJjMzEyNDQ3NWU5YTQ4YjNhZTMyYjcwNDMyN2I1YWJlYTM5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIEJyYW5kIDxtaWNoYWVsLmNoLmJyYW5kQGdtYWls LmNvbT4KRGF0ZTogU3VuLCAxNCBBcHIgMjAxMyAxMDowMzoxNyArMDIwMApTdWJqZWN0OiBbUEFU Q0ggMi8yXSBJbXByb3ZlIGRvYyBvZiBlbXB0eSBmaWVsZHMKCiogZG9jL29yZy50ZXhpIChGb3Jt dWxhIHN5bnRheCBmb3IgQ2FsYyk6IEltcHJvdmUgdGhlIGRvY3VtZW50YXRpb24gb2YKZW1wdHkg ZmllbGRzIGluIGZvcm11bGFzIGZvciBzcHJlYWRzaGVldC4KKiB0ZXN0aW5nL2xpc3AvdGVzdC1v cmctdGFibGUuZWw6IFJlbmFtZSB3cm9uZ2x5IG5hbWVkIGZ1bmN0aW9ucy4KKiB0ZXN0aW5nL2xp c3AvdGVzdC1vcmctdGFibGUuZWw6IFVzZSB0aGUgbW9yZSBvYnZpb3VzICI9PSIgaW5zdGVhZCBv ZgoiPSIgZm9yIENhbGMgY29uZGl0aW9ucy4KKiB0ZXN0aW5nL2xpc3AvdGVzdC1vcmctdGFibGUu ZWwgKHRlc3Qtb3JnLXRhYmxlL2VtcHR5LWZpZWxkKTogSW1wcm92ZQp0aGUgZXhhbXBsZXMgZm9y IHZtZWFuIHdpdGggZW1wdHkgZmllbGRzLgotLS0KIGRvYy9vcmcudGV4aSAgICAgICAgICAgICAg ICAgICB8ICAgODQgKysrKysrKysrKysrKysrLS0tLS0tLS0tCiB0ZXN0aW5nL2xpc3AvdGVzdC1v cmctdGFibGUuZWwgfCAgMTM5ICsrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0t LS0KIDIgZmlsZXMgY2hhbmdlZCwgMTI2IGluc2VydGlvbnMoKyksIDk3IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RvYy9vcmcudGV4aSBiL2RvYy9vcmcudGV4aQppbmRleCBjOWIxZjViLi5m NWU1YzhiIDEwMDY0NAotLS0gYS9kb2Mvb3JnLnRleGkKKysrIGIvZG9jL29yZy50ZXhpCkBAIC0y NTM4LDEwICsyNTM4LDEwIEBAICQ8PDwuLiQ+PiAgICAgQHJ7c3RhcnQgaW4gdGhpcmQgY29sdW1u LCBjb250aW51ZSB0byB0aGUgb25lIGJ1dCBsYXN0fQogQGVuZCBleGFtcGxlCiAKIEBub2luZGVu dCBSYW5nZSByZWZlcmVuY2VzIHJldHVybiBhIHZlY3RvciBvZiB2YWx1ZXMgdGhhdCBjYW4gYmUg ZmVkCi1pbnRvIENhbGMgdmVjdG9yIGZ1bmN0aW9ucy4gIEVtcHR5IGZpZWxkcyBpbiByYW5nZXMg YXJlIG5vcm1hbGx5Ci1zdXBwcmVzc2VkLCBzbyB0aGF0IHRoZSB2ZWN0b3IgY29udGFpbnMgb25s eSB0aGUgbm9uLWVtcHR5IGZpZWxkcyAoYnV0Ci1zZWUgdGhlIEBzYW1we0V9IG1vZGUgc3dpdGNo IGJlbG93KS4gIElmIHRoZXJlIGFyZSBubyBub24tZW1wdHkgZmllbGRzLAotQHNhbXB7WzBdfSBp cyByZXR1cm5lZCB0byBhdm9pZCBzeW50YXggZXJyb3JzIGluIGZvcm11bGFzLgoraW50byBDYWxj IHZlY3RvciBmdW5jdGlvbnMuICBFbXB0eSBmaWVsZHMgaW4gcmFuZ2VzIGFyZSBub3JtYWxseSBz dXBwcmVzc2VkLAorc28gdGhhdCB0aGUgdmVjdG9yIGNvbnRhaW5zIG9ubHkgdGhlIG5vbi1lbXB0 eSBmaWVsZHMuICBGb3Igb3RoZXIgb3B0aW9ucword2l0aCB0aGUgbW9kZSBzd2l0Y2hlcyBAc2Ft cHtFfSwgQHNhbXB7Tn0gYW5kIGV4YW1wbGVzIEBweHJlZntGb3JtdWxhIHN5bnRheAorZm9yIENh bGN9LgogCiBAc3Vic3ViaGVhZGluZyBGaWVsZCBjb29yZGluYXRlcyBpbiBmb3JtdWxhcwogQGNp bmRleCBmaWVsZCBjb29yZGluYXRlcwpAQCAtMjY1Miw2ICsyNjUyLDggQEAgZm9ybWF0LCBob3dl dmVyLCBoYXMgYmVlbiBjaGFuZ2VkIHRvIEBjb2RleyhmbG9hdCA4KX0gdG8ga2VlcCB0YWJsZXMK IGNvbXBhY3QuICBUaGUgZGVmYXVsdCBzZXR0aW5ncyBjYW4gYmUgY29uZmlndXJlZCB1c2luZyB0 aGUgdmFyaWFibGUKIEBjb2Rle29yZy1jYWxjLWRlZmF1bHQtbW9kZXN9LgogCitAbm9pbmRlbnQg TGlzdCBvZiBtb2RlczoKKwogQHRhYmxlIEBhc2lzCiBAaXRlbSBAY29kZXtwMjB9CiBTZXQgdGhl IGludGVybmFsIENhbGMgY2FsY3VsYXRpb24gcHJlY2lzaW9uIHRvIDIwIGRpZ2l0cy4KQEAgLTI2 NjAsMzIgKzI2NjIsMzkgQEAgTm9ybWFsLCBzY2llbnRpZmljLCBlbmdpbmVlcmluZyBvciBmaXhl ZCBmb3JtYXQgb2YgdGhlIHJlc3VsdCBvZiBDYWxjIHBhc3NlZAogYmFjayB0byBPcmcuICBDYWxj IGZvcm1hdHRpbmcgaXMgdW5saW1pdGVkIGluIHByZWNpc2lvbiBhcyBsb25nIGFzIHRoZSBDYWxj CiBjYWxjdWxhdGlvbiBwcmVjaXNpb24gaXMgZ3JlYXRlci4KIEBpdGVtIEBjb2Rle0R9LCBAY29k ZXtSfQotQW5nbGUgbW9kZXM6IERlZ3JlZSwgcmFkaWFuLgorRGVncmVlIGFuZCByYWRpYW4gYW5n bGUgbW9kZXMgb2YgQ2FsYy4KIEBpdGVtIEBjb2Rle0Z9LCBAY29kZXtTfQotRnJhY3Rpb24gYW5k IHN5bWJvbGljIG1vZGVzLgorRnJhY3Rpb24gYW5kIHN5bWJvbGljIG1vZGVzIG9mIENhbGMuCitA aXRlbSBAY29kZXtUfSwgQGNvZGV7dH0KK0R1cmF0aW9uIGNvbXB1dGF0aW9ucyBpbiBDYWxjIG9y IExpc3AsIEBweHJlZntEdXJhdGlvbnMgYW5kIHRpbWUgdmFsdWVzfS4KIEBpdGVtIEBjb2Rle0V9 Ci1LZWVwIGVtcHR5IGZpZWxkcyBpbiByYW5nZXMgYW5kIHVzZSBuYW4gKG5vdCBhIG51bWJlcikg aW4gQ2FsYyBmb3JtdWxhcyBmb3IKLWVtcHR5IGZpZWxkcyBpbiByYW5nZSByZWZlcmVuY2VzIGFu ZCBmb3IgZW1wdHkgZmllbGQgcmVmZXJlbmNlcy4gIEVsc2UKLXN1cHByZXNzIGVtcHR5IGZpZWxk cyBpbiByYW5nZSByZWZlcmVuY2VzIGFuZCB1c2UgMCBmb3IgZW1wdHkgZmllbGQKLXJlZmVyZW5j ZXMsIHNlZSBhbHNvIHRoZSBub3RlcyBmb3IgYFJhbmdlIHJlZmVyZW5jZXMnIGluIEBweHJlZntS ZWZlcmVuY2VzfS4KK0lmIGFuZCBob3cgdG8gY29uc2lkZXIgZW1wdHkgZmllbGRzLiAgV2l0aG91 dCBAc2FtcHtFfSBlbXB0eSBmaWVsZHMgaW4gcmFuZ2UKK3JlZmVyZW5jZXMgYXJlIHN1cHByZXNz ZWQgc28gdGhhdCB0aGUgQ2FsYyB2ZWN0b3Igb3IgTGlzcCBsaXN0IGNvbnRhaW5zIG9ubHkKK3Ro ZSBub24tZW1wdHkgZmllbGRzLiAgV2l0aCBAc2FtcHtFfSB0aGUgZW1wdHkgZmllbGRzIGFyZSBr ZXB0LiAgRm9yIGVtcHR5CitmaWVsZHMgaW4gcmFuZ2VzIG9yIGVtcHR5IGZpZWxkIHJlZmVyZW5j ZXMgdGhlIHZhbHVlIEBzYW1we25hbn0gKG5vdCBhCitudW1iZXIpIGlzIHVzZWQgaW4gQ2FsYyBm b3JtdWxhcyBhbmQgdGhlIGVtcHR5IHN0cmluZyBpcyB1c2VkIGZvciBMaXNwCitmb3JtdWxhcy4g IEFkZCBAc2FtcHtOfSB0byB1c2UgMCBpbnN0ZWFkIGZvciBib3RoIGZvcm11bGEgdHlwZXMuICBG b3IgdGhlCit2YWx1ZSBvZiBhIGZpZWxkIHRoZSBtb2RlIEBzYW1we059IGhhcyBoaWdoZXIgcHJl Y2VkZW5jZSB0aGFuIEBzYW1we0V9LgogQGl0ZW0gQGNvZGV7Tn0KLUludGVycHJldCBhbGwgZmll bGRzIGFzIG51bWJlcnMsIHVzZSAwIGZvciBub24tbnVtYmVycy4gIEBjb2Rle059IGhhcyBoaWdo ZXIKLXByZWNlZGVuY2UgdGhhbiBAY29kZXtFfSAoZm9yIHRoZSB2YWx1ZSBvZiB0aGUgZmllbGQp LgorSW50ZXJwcmV0IGFsbCBmaWVsZHMgYXMgbnVtYmVycywgdXNlIDAgZm9yIG5vbi1udW1iZXJz LiAgU2VlIHRoZSBuZXh0IHNlY3Rpb24KK3RvIHNlZSBob3cgdGhpcyBpcyBlc3NlbnRpYWwgZm9y IGNvbXB1dGF0aW9ucyB3aXRoIExpc3AgZm9ybXVsYXMuICBJbiBDYWxjCitmb3JtdWxhcyBpdCBp cyB1c2VkIG9ubHkgb2NjYXNpb25hbGx5IGJlY2F1c2UgdGhlcmUgbnVtYmVyIHN0cmluZ3MgYXJl CithbHJlYWR5IGludGVycHJldGVkIGFzIG51bWJlcnMgd2l0aG91dCBAc2FtcHtOfS4KIEBpdGVt IEBjb2Rle0x9Ci1MaXRlcmFsLCBmb3IgTGlzcCBmb3JtdWxhcyBvbmx5LgorTGl0ZXJhbCwgZm9y IExpc3AgZm9ybXVsYXMgb25seS4gIFNlZSB0aGUgbmV4dCBzZWN0aW9uLgogQGVuZCB0YWJsZQog CiBAbm9pbmRlbnQKLVVubGVzcyB5b3UgdXNlIGxhcmdlIGludGVnZXIgbnVtYmVycyBvciBoaWdo LXByZWNpc2lvbi1jYWxjdWxhdGlvbgotYW5kIC1kaXNwbGF5IGZvciBmbG9hdGluZyBwb2ludCBu dW1iZXJzIHlvdSBtYXkgYWx0ZXJuYXRpdmVseSBwcm92aWRlIGEKLUBjb2Rle3ByaW50Zn0gZm9y bWF0IHNwZWNpZmllciB0byByZWZvcm1hdCB0aGUgQ2FsYyByZXN1bHQgYWZ0ZXIgaXQgaGFzIGJl ZW4KK1VubGVzcyB5b3UgdXNlIGxhcmdlIGludGVnZXIgbnVtYmVycyBvciBoaWdoLXByZWNpc2lv bi1jYWxjdWxhdGlvbiBhbmQKKy1kaXNwbGF5IGZvciBmbG9hdGluZyBwb2ludCBudW1iZXJzIHlv dSBtYXkgYWx0ZXJuYXRpdmVseSBwcm92aWRlIGEKK0BzYW1we3ByaW50Zn0gZm9ybWF0IHNwZWNp ZmllciB0byByZWZvcm1hdCB0aGUgQ2FsYyByZXN1bHQgYWZ0ZXIgaXQgaGFzIGJlZW4KIHBhc3Nl ZCBiYWNrIHRvIE9yZyBpbnN0ZWFkIG9mIGxldHRpbmcgQ2FsYyBhbHJlYWR5IGRvIHRoZQotZm9y bWF0dGluZ0Bmb290bm90ZXtUaGUgQGNvZGV7cHJpbnRmfSByZWZvcm1hdHRpbmcgaXMgbGltaXRl ZCBpbiBwcmVjaXNpb24KLWJlY2F1c2UgdGhlIHZhbHVlIHBhc3NlZCB0byBpdCBpcyBjb252ZXJ0 ZWQgaW50byBhbiBAY29kZXtpbnRlZ2VyfSBvcgotQGNvZGV7ZG91YmxlfS4gIFRoZSBAY29kZXtp bnRlZ2VyfSBpcyBsaW1pdGVkIGluIHNpemUgYnkgdHJ1bmNhdGluZyB0aGUKLXNpZ25lZCB2YWx1 ZSB0byAzMiBiaXRzLiAgVGhlIEBjb2Rle2RvdWJsZX0gaXMgbGltaXRlZCBpbiBwcmVjaXNpb24g dG8gNjQKLWJpdHMgb3ZlcmFsbCB3aGljaCBsZWF2ZXMgYXBwcm94aW1hdGVseSAxNiBzaWduaWZp Y2FudCBkZWNpbWFsIGRpZ2l0cy59LgotQSBmZXcgZXhhbXBsZXM6Citmb3JtYXR0aW5nQGZvb3Ru b3Rle1RoZSBAc2FtcHtwcmludGZ9IHJlZm9ybWF0dGluZyBpcyBsaW1pdGVkIGluIHByZWNpc2lv bgorYmVjYXVzZSB0aGUgdmFsdWUgcGFzc2VkIHRvIGl0IGlzIGNvbnZlcnRlZCBpbnRvIGFuIEBz YW1we2ludGVnZXJ9IG9yCitAc2FtcHtkb3VibGV9LiAgVGhlIEBzYW1we2ludGVnZXJ9IGlzIGxp bWl0ZWQgaW4gc2l6ZSBieSB0cnVuY2F0aW5nIHRoZQorc2lnbmVkIHZhbHVlIHRvIDMyIGJpdHMu ICBUaGUgQHNhbXB7ZG91YmxlfSBpcyBsaW1pdGVkIGluIHByZWNpc2lvbiB0byA2NAorYml0cyBv dmVyYWxsIHdoaWNoIGxlYXZlcyBhcHByb3hpbWF0ZWx5IDE2IHNpZ25pZmljYW50IGRlY2ltYWwg ZGlnaXRzLn0uICBBCitmZXcgZXhhbXBsZXM6CiAKIEBleGFtcGxlCiAkMSskMiAgICAgICAgICAg ICAgICBAcntTdW0gb2YgZmlyc3QgYW5kIHNlY29uZCBmaWVsZH0KQEAgLTI2OTYsMjMgKzI3MDUs MzYgQEAgJDA7JS4xZiAgICAgICAgICAgICAgQHJ7UmVmb3JtYXQgY3VycmVudCBjZWxsIHRvIDEg ZGVjaW1hbH0KICRjLyQxLyRjbSAgICAgICAgICAgIEBye0h6IC0+IGNtIGNvbnZlcnNpb24sIHVz aW5nIEBmaWxle2NvbnN0YW50cy5lbH19CiB0YW4oJDEpO0RwM3MxICAgICAgICBAcntDb21wdXRl IGluIGRlZ3JlZXMsIHByZWNpc2lvbiAzLCBkaXNwbGF5IFNDSSAxfQogc2luKCQxKTtEcDMlLjFl ICAgICAgQHJ7U2FtZSwgYnV0IHVzZSBwcmludGYgc3BlY2lmaWVyIGZvciBkaXNwbGF5fQotdm1l YW4oJDIuLiQ3KSAgICAgICAgQHJ7Q29tcHV0ZSBjb2x1bW4gcmFuZ2UgbWVhbiwgc3VwcHJlc3Mg ZW1wdHkgZmllbGRzfQotdm1lYW4oJDIuLiQ3KTtFTiAgICAgQHJ7U2FtZSwgYnV0IHRyZWF0IGVt cHR5IGZpZWxkcyBhcyAwfQogdGF5bG9yKCQzLHg9NywyKSAgICAgQHJ7VGF5bG9yIHNlcmllcyBv ZiAkMywgYXQgeD03LCBzZWNvbmQgZGVncmVlfQogQGVuZCBleGFtcGxlCiAKLUNhbGMgYWxzbyBj b250YWlucyBhIGNvbXBsZXRlIHNldCBvZiBsb2dpY2FsIG9wZXJhdGlvbnMuICBGb3IgZXhhbXBs ZQorQ2FsYyBhbHNvIGNvbnRhaW5zIGEgY29tcGxldGUgc2V0IG9mIGxvZ2ljYWwgb3BlcmF0aW9u cywgKEBweHJlZntMb2dpY2FsCitPcGVyYXRpb25zLCAsIExvZ2ljYWwgT3BlcmF0aW9ucywgY2Fs YywgR05VIEVtYWNzIENhbGMgTWFudWFsfSkuICBGb3IgZXhhbXBsZQogCiBAdGFibGUgQGNvZGUK IEBpdGVtIGlmKCQxIDwgMjAsIHRlZW4sIHN0cmluZygiIikpCi0idGVlbiIgaWYgYWdlICQxIGlz IGxlc3MgdGhhbiAyMCwgZWxzZSBlbXB0eS4KLUBpdGVtIGlmKCIkMSIgPSAibmFuIiB8fCAiJDIi ID0gIm5hbiIsIHN0cmluZygiIiksICQxICsgJDIpOyBFCi1TdW0gb2YgZmlyc3QgdHdvIGNvbHVt bnMgdW5sZXNzIG9uZSBvciBib3RoIGVtcHR5LgorInRlZW4iIGlmIGFnZSAkMSBpcyBsZXNzIHRo YW4gMjAsIGVsc2UgdGhlIE9yZyB0YWJsZSByZXN1bHQgZmllbGQgaXMgc2V0IHRvCitlbXB0eSB3 aXRoIHRoZSBlbXB0eSBzdHJpbmcuCitAaXRlbSBpZigiJDEiID09ICJuYW4iIHx8ICIkMiIgPT0g Im5hbiIsIHN0cmluZygiIiksICQxICsgJDIpOyBFCitTdW0gb2YgdGhlIGZpcnN0IHR3byBjb2x1 bW5zLiAgV2hlbiBhdCBsZWFzdCBvbmUgb2YgdGhlIGlucHV0IGZpZWxkcyBpcyBlbXB0eQordGhl IE9yZyB0YWJsZSByZXN1bHQgZmllbGQgaXMgc2V0IHRvIGVtcHR5LgorQGl0ZW0gaWYodHlwZW9m KHZtZWFuKCQxLi4kNykpID09IDEyLCBzdHJpbmcoIiIpLCB2bWVhbigkMS4uJDcpOyBFCitNZWFu IHZhbHVlIG9mIGEgcmFuZ2UgdW5sZXNzIHRoZXJlIGlzIGFueSBlbXB0eSBmaWVsZC4gIEV2ZXJ5 IGZpZWxkIGluIHRoZQorcmFuZ2UgdGhhdCBpcyBlbXB0eSBpcyByZXBsYWNlZCBieSBAc2FtcHtu YW59IHdoaWNoIGxldHMgQHNhbXB7dm1lYW59IHJlc3VsdAoraW4gQHNhbXB7bmFufS4gIFRoZW4g QHNhbXB7dHlwZW9mID09IDEyfSBkZXRlY3RzIHRoZSBAc2FtcHtuYW59IGZyb20KK0BzYW1we3Zt ZWFufSBhbmQgdGhlIE9yZyB0YWJsZSByZXN1bHQgZmllbGQgaXMgc2V0IHRvIGVtcHR5LiAgVXNl IHRoaXMgd2hlbgordGhlIHNhbXBsZSBzZXQgaXMgZXhwZWN0ZWQgdG8gbmV2ZXIgaGF2ZSBtaXNz aW5nIHZhbHVlcy4KK0BpdGVtIGlmKCIkMS4uJDciID09ICJbXSIsIHN0cmluZygiIiksIHZtZWFu KCQxLi4kNykpCitNZWFuIHZhbHVlIG9mIGEgcmFuZ2Ugd2l0aCBlbXB0eSBmaWVsZHMgc2tpcHBl ZC4gIEV2ZXJ5IGZpZWxkIGluIHRoZSByYW5nZQordGhhdCBpcyBlbXB0eSBpcyBza2lwcGVkLiAg V2hlbiBhbGwgZmllbGRzIGluIHRoZSByYW5nZSBhcmUgZW1wdHkgdGhlIG1lYW4KK3ZhbHVlIGlz IG5vdCBkZWZpbmVkIGFuZCB0aGUgT3JnIHRhYmxlIHJlc3VsdCBmaWVsZCBpcyBzZXQgdG8gZW1w dHkuICBVc2UKK3RoaXMgd2hlbiB0aGUgc2FtcGxlIHNldCBjYW4gaGF2ZSBhIHZhcmlhYmxlIHNp emUuCitAaXRlbSB2bWVhbigkMS4uJDcpOyBFTgorVG8gY29tcGxldGUgdGhlIGV4YW1wbGUgYmVm b3JlOiBNZWFuIHZhbHVlIG9mIGEgcmFuZ2Ugd2l0aCBlbXB0eSBmaWVsZHMKK2NvdW50aW5nIGFz IHNhbXBsZXMgd2l0aCB2YWx1ZSAwLiAgVXNlIHRoaXMgb25seSB3aGVuIGluY29tcGxldGUgc2Ft cGxlIHNldHMKK3Nob3VsZCBiZSBwYWRkZWQgd2l0aCAwIHRvIHRoZSBmdWxsIHNpemUuCiBAZW5k IHRhYmxlCiAKLU5vdGUgdGhhdCB5b3UgY2FuIGFsc28gdXNlIHR3byBvcmctc3BlY2lmaWMgZmxh Z3MgQGNvZGV7VH0gYW5kIEBjb2Rle3R9IGZvcgotZHVyYXRpb25zIGNvbXB1dGF0aW9ucyBAcmVm e0R1cmF0aW9ucyBhbmQgdGltZSB2YWx1ZXN9LgotCiBZb3UgY2FuIGFkZCB5b3VyIG93biBDYWxj IGZ1bmN0aW9ucyBkZWZpbmVkIGluIEVtYWNzIExpc3Agd2l0aCBAY29kZXtkZWZtYXRofQogYW5k IHVzZSB0aGVtIGluIGZvcm11bGEgc3ludGF4IGZvciBDYWxjLgogCmRpZmYgLS1naXQgYS90ZXN0 aW5nL2xpc3AvdGVzdC1vcmctdGFibGUuZWwgYi90ZXN0aW5nL2xpc3AvdGVzdC1vcmctdGFibGUu ZWwKaW5kZXggMmRkNWYzOC4uNzMyZGRiMyAxMDA2NDQKLS0tIGEvdGVzdGluZy9saXNwL3Rlc3Qt b3JnLXRhYmxlLmVsCisrKyBiL3Rlc3RpbmcvbGlzcC90ZXN0LW9yZy10YWJsZS5lbApAQCAtMTg0 LDEwICsxODQsMTAgQEAKICIKICAgIlNwZWNpYWwgbnVtYmVycyBmb3IgQ2FsYyBmb3JtdWxhLiIp CiAKLShlcnQtZGVmdGVzdCB0ZXN0LW9yZy10YWJsZS9yZWZlcmVuY2VzL2Zvcm1hdC1zcGVjaWZp ZXItRUwgKCkKKyhlcnQtZGVmdGVzdCB0ZXN0LW9yZy10YWJsZS9yZWZlcmVuY2VzL21vZGUtc3Ry aW5nLUVMICgpCiAgICJCYXNpYzogQXNzaWduIGZpZWxkIHJlZmVyZW5jZSwgc3VtIG9mIGZpZWxk IHJlZmVyZW5jZXMsIHN1bQogYW5kIGxlbiBvZiBzaW1wbGUgcmFuZ2UgcmVmZXJlbmNlIChubyBy b3cpIGFuZCBjb21wbGV4IHJhbmdlCi1yZWZlcmVuY2UgKHdpdGggcm93KS4gIEZvcm1hdCBzcGVj aWZpZXIgRUwuIgorcmVmZXJlbmNlICh3aXRoIHJvdykuICBNb2RlIHN0cmluZyBFTC4iCiAgIDs7 IEVtcHR5IGZpZWxkcyBhcmUga2VwdCBkdXJpbmcgcGFyc2luZyBmaWVsZCBidXQgbG9zdCBhcyBs aXN0CiAgIDs7IGVsZW1lbnRzIHdpdGhpbiBMaXNwIGZvcm11bGEgc3ludGFjdGljYWxseSB3aGVu IHVzZWQgbGl0ZXJhbGx5CiAgIDs7IGFuZCBub3QgZW5jbG9zZWQgd2l0aCAiIHdpdGhpbiBmaWVs ZHMsIHNlZSBsYXN0IGNvbHVtbnMgd2l0aCBsZW4uCkBAIC0yMjcsMTAgKzIyNywxMCBAQCByZWZl cmVuY2UgKHdpdGggcm93KS4gIEZvcm1hdCBzcGVjaWZpZXIgRUwuIgogICAgICAgIiQ1ID0gJygr ICQxLi4kMik7IEVMIDo6ICQ2ID0gJygrIEAwJDEuLkAwJDIpOyBFTCA6OiAiCiAgICAgICAiJDcg PSAnKGxlbmd0aCAnKCQxLi4kMikpOyBFTCA6OiAkOCA9ICcobGVuZ3RoICcoQDAkMS4uQDAkMikp OyBFTCIpKSkKIAotKGVydC1kZWZ0ZXN0IHRlc3Qtb3JnLXRhYmxlL3JlZmVyZW5jZXMvZm9ybWF0 LXNwZWNpZmllci1FICgpCisoZXJ0LWRlZnRlc3QgdGVzdC1vcmctdGFibGUvcmVmZXJlbmNlcy9t b2RlLXN0cmluZy1FICgpCiAgICJCYXNpYzogQXNzaWduIGZpZWxkIHJlZmVyZW5jZSwgc3VtIG9m IGZpZWxkIHJlZmVyZW5jZXMsIHN1bQogYW5kIGxlbiBvZiBzaW1wbGUgcmFuZ2UgcmVmZXJlbmNl IChubyByb3cpIGFuZCBjb21wbGV4IHJhbmdlCi1yZWZlcmVuY2UgKHdpdGggcm93KS4gIEZvcm1h dCBzcGVjaWZpZXIgRS4iCityZWZlcmVuY2UgKHdpdGggcm93KS4gIE1vZGUgc3RyaW5nIEUuIgog ICAobGV0ICgobGlzcAogCSAoY29uY2F0CiAJICAiIytUQkxGTTogJDMgPSAnKGlkZW50aXR5ICQx KTsgRSA6OiAkNCA9ICcoKyAkMSAkMik7IEUgOjogIgpAQCAtMjcwLDEwICsyNzAsMTAgQEAgcmVm ZXJlbmNlICh3aXRoIHJvdykuICBGb3JtYXQgc3BlY2lmaWVyIEUuIgogIgogICAgICAxIGNhbGMp KSkKIAotKGVydC1kZWZ0ZXN0IHRlc3Qtb3JnLXRhYmxlL3JlZmVyZW5jZXMvZm9ybWF0LXNwZWNp Zmllci1FTiAoKQorKGVydC1kZWZ0ZXN0IHRlc3Qtb3JnLXRhYmxlL3JlZmVyZW5jZXMvbW9kZS1z dHJpbmctRU4gKCkKICAgIkJhc2ljOiBBc3NpZ24gZmllbGQgcmVmZXJlbmNlLCBzdW0gb2YgZmll bGQgcmVmZXJlbmNlcywgc3VtCiBhbmQgbGVuIG9mIHNpbXBsZSByYW5nZSByZWZlcmVuY2UgKG5v IHJvdykgYW5kIGNvbXBsZXggcmFuZ2UKLXJlZmVyZW5jZSAod2l0aCByb3cpLiAgRm9ybWF0IHNw ZWNpZmllciBFTi4iCityZWZlcmVuY2UgKHdpdGggcm93KS4gIE1vZGUgc3RyaW5nIEVOLiIKICAg KGxldCAoKGxpc3AgKGNvbmNhdAogCSAgICAgICAiIytUQkxGTTogJDMgPSAnKGlkZW50aXR5ICQx KTsgRU4gOjogJDQgPSAnKCsgJDEgJDIpOyBFTiA6OiAiCiAJICAgICAgICIkNSA9ICcoKyAkMS4u JDIpOyBFTiA6OiAkNiA9ICcoKyBAMCQxLi5AMCQyKTsgRU4gOjogIgpAQCAtMzAyLDEwICszMDIs MTAgQEAgcmVmZXJlbmNlICh3aXRoIHJvdykuICBGb3JtYXQgc3BlY2lmaWVyIEVOLiIKICIKICAg ICAgMSBjYWxjKSkpCiAKLShlcnQtZGVmdGVzdCB0ZXN0LW9yZy10YWJsZS9yZWZlcmVuY2VzL2Zv cm1hdC1zcGVjaWZpZXItTCAoKQorKGVydC1kZWZ0ZXN0IHRlc3Qtb3JnLXRhYmxlL3JlZmVyZW5j ZXMvbW9kZS1zdHJpbmctTCAoKQogICAiQmFzaWM6IEFzc2lnbiBmaWVsZCByZWZlcmVuY2UsIHN1 bSBvZiBmaWVsZCByZWZlcmVuY2VzLCBzdW0KIGFuZCBsZW4gb2Ygc2ltcGxlIHJhbmdlIHJlZmVy ZW5jZSAobm8gcm93KSBhbmQgY29tcGxleCByYW5nZQotcmVmZXJlbmNlICh3aXRoIHJvdykuICBG b3JtYXQgc3BlY2lmaWVyIEwuIgorcmVmZXJlbmNlICh3aXRoIHJvdykuICBNb2RlIHN0cmluZyBM LiIKICAgKG9yZy10ZXN0LXRhYmxlLXRhcmdldC1leHBlY3QKICAgIHJlZmVyZW5jZXMvdGFyZ2V0 LW5vcm1hbAogICAgOzsgQWxsIHRoZSAjRVJST1Igc2hvdyB0aGF0IGZvciBMaXNwIGNhbGN1bGF0 aW9ucyBOIGhhcyB0byBiZSB1c2VkLgpAQCAtMzIwLDEwICszMjAsMTAgQEAgcmVmZXJlbmNlICh3 aXRoIHJvdykuICBGb3JtYXQgc3BlY2lmaWVyIEwuIgogICAgICAgIiQ1ID0gJygrICQxLi4kMik7 IEwgOjogJDYgPSAnKCsgQDAkMS4uQDAkMik7IEwgOjogIgogICAgICAgIiQ3ID0gJyhsZW5ndGgg JygkMS4uJDIpKTsgTCA6OiAkOCA9ICcobGVuZ3RoICcoQDAkMS4uQDAkMikpOyBMIikpKQogCi0o ZXJ0LWRlZnRlc3QgdGVzdC1vcmctdGFibGUvcmVmZXJlbmNlcy9mb3JtYXQtc3BlY2lmaWVyLW5v bmUgKCkKKyhlcnQtZGVmdGVzdCB0ZXN0LW9yZy10YWJsZS9yZWZlcmVuY2VzL21vZGUtc3RyaW5n LW5vbmUgKCkKICAgIkJhc2ljOiBBc3NpZ24gZmllbGQgcmVmZXJlbmNlLCBzdW0gb2YgZmllbGQg cmVmZXJlbmNlcywgc3VtCiBhbmQgbGVuIG9mIHNpbXBsZSByYW5nZSByZWZlcmVuY2UgKG5vIHJv dykgYW5kIGNvbXBsZXggcmFuZ2UKLXJlZmVyZW5jZSAod2l0aCByb3cpLiAgTm8gZm9ybWF0IHNw ZWNpZmllci4iCityZWZlcmVuY2UgKHdpdGggcm93KS4gIE5vIG1vZGUgc3RyaW5nLiIKICAgKGxl dCAoKGxpc3AgKGNvbmNhdAogCSAgICAgICAiIytUQkxGTTogJDMgPSAnKGlkZW50aXR5ICQxKSA6 OiAkNCA9ICcoKyAkMSAkMikgOjogIgogCSAgICAgICAiJDUgPSAnKCsgJDEuLiQyKSA6OiAkNiA9 ICcoKyBAMCQxLi5AMCQyKSA6OiAiCkBAIC0zNjEsMTAgKzM2MSwxMCBAQCByZWZlcmVuY2UgKHdp dGggcm93KS4gIE5vIGZvcm1hdCBzcGVjaWZpZXIuIgogIgogICAgICAxIGNhbGMpKSkKIAotKGVy dC1kZWZ0ZXN0IHRlc3Qtb3JnLXRhYmxlL3JlZmVyZW5jZXMvZm9ybWF0LXNwZWNpZmllci1OICgp CisoZXJ0LWRlZnRlc3QgdGVzdC1vcmctdGFibGUvcmVmZXJlbmNlcy9tb2RlLXN0cmluZy1OICgp CiAgICJCYXNpYzogQXNzaWduIGZpZWxkIHJlZmVyZW5jZSwgc3VtIG9mIGZpZWxkIHJlZmVyZW5j ZXMsIHN1bQogYW5kIGxlbiBvZiBzaW1wbGUgcmFuZ2UgcmVmZXJlbmNlIChubyByb3cpIGFuZCBj b21wbGV4IHJhbmdlCi1yZWZlcmVuY2UgKHdpdGggcm93KS4gIEZvcm1hdCBzcGVjaWZpZXIgTi4i CityZWZlcmVuY2UgKHdpdGggcm93KS4gIE1vZGUgc3RyaW5nIE4uIgogICAobGV0ICgobGlzcAog CSAoY29uY2F0CiAJICAiIytUQkxGTTogJDMgPSAnKGlkZW50aXR5ICQxKTsgTiA6OiAkNCA9ICco KyAkMSAkMik7IE4gOjogIgpAQCAtNDIxLDE2ICs0MjEsMTYgQEAgcmVmZXJlbmNlICh3aXRoIHJv dykuICBGb3JtYXQgc3BlY2lmaWVyIE4uIgogIgogICAgMQogICAgOzsgQ29tcGFyZSBmaWVsZCBy ZWZlcmVuY2UgKCQxKSB3aXRoIGZpZWxkIHJlZmVyZW5jZSAoQDEpCi0gICAiIytUQkxGTTogQEkk PDwuLkA+JD4gPSBpZihcIiQxXCIgPSBcIkAxXCIsIHgsIHN0cmluZyhcIlwiKSk7IEUiCisgICAi IytUQkxGTTogQEkkPDwuLkA+JD4gPSBpZihcIiQxXCIgPT0gXCJAMVwiLCB4LCBzdHJpbmcoXCJc IikpOyBFIgogICAgOzsgQ29tcGFyZSBmaWVsZCByZWZlcmVuY2UgKCQxKSB3aXRoIGFic29sdXRl IHRlcm0KICAgIChjb25jYXQgIiMrVEJMRk06ICIKLQkgICAiJDIgPSBpZihcIiQxXCIgPSBcIigw KVwiICAgLCB4LCBzdHJpbmcoXCJcIikpOyBFIDo6ICIKLQkgICAiJDMgPSBpZihcIiQxXCIgPSBc Iih6KVwiICAgLCB4LCBzdHJpbmcoXCJcIikpOyBFIDo6ICIKLQkgICAiJDQgPSBpZihcIiQxXCIg PSBcIm5hblwiICAgLCB4LCBzdHJpbmcoXCJcIikpOyBFIDo6ICIKLQkgICAiJDUgPSBpZihcIiQx XCIgPSBcIihuYW4pXCIgLCB4LCBzdHJpbmcoXCJcIikpOyBFIDo6ICIKLQkgICAiJDYgPSBpZihc IiQxXCIgPSBcIih1aW5mKVwiLCB4LCBzdHJpbmcoXCJcIikpOyBFIDo6ICIKLQkgICAiJDcgPSBp ZihcIiQxXCIgPSBcIigtaW5mKVwiLCB4LCBzdHJpbmcoXCJcIikpOyBFIDo6ICIKLQkgICAiJDgg PSBpZihcIiQxXCIgPSBcIihpbmYpXCIgLCB4LCBzdHJpbmcoXCJcIikpOyBFIikpCisJICAgIiQy ID0gaWYoXCIkMVwiID09IFwiKDApXCIgICAsIHgsIHN0cmluZyhcIlwiKSk7IEUgOjogIgorCSAg ICIkMyA9IGlmKFwiJDFcIiA9PSBcIih6KVwiICAgLCB4LCBzdHJpbmcoXCJcIikpOyBFIDo6ICIK KwkgICAiJDQgPSBpZihcIiQxXCIgPT0gXCJuYW5cIiAgICwgeCwgc3RyaW5nKFwiXCIpKTsgRSA6 OiAiCisJICAgIiQ1ID0gaWYoXCIkMVwiID09IFwiKG5hbilcIiAsIHgsIHN0cmluZyhcIlwiKSk7 IEUgOjogIgorCSAgICIkNiA9IGlmKFwiJDFcIiA9PSBcIih1aW5mKVwiLCB4LCBzdHJpbmcoXCJc IikpOyBFIDo6ICIKKwkgICAiJDcgPSBpZihcIiQxXCIgPT0gXCIoLWluZilcIiwgeCwgc3RyaW5n KFwiXCIpKTsgRSA6OiAiCisJICAgIiQ4ID0gaWYoXCIkMVwiID09IFwiKGluZilcIiAsIHgsIHN0 cmluZyhcIlwiKSk7IEUiKSkKIAogICA7OyBDaGVjayBmaWVsZCByZWZlcmVuY2UgY29udmVydGVk IGZyb20gYW4gZW1wdHkgZmllbGQ6IERlc3BpdGUgdGhpcwogICA7OyBmaWVsZCByZWZlcmVuY2Ug d2lsbCBub3QgZW5kIHVwIGluIGEgcmVzdWx0LCBDYWxjIGV2YWx1YXRlcyBpdC4KQEAgLTQ0OCw0 MiArNDQ4LDEwIEBAIHJlZmVyZW5jZSAod2l0aCByb3cpLiAgRm9ybWF0IHNwZWNpZmllciBOLiIK IHwgICAgIHwgICAgICAgfAogfCBuYW4gfCAgIG5hbiB8CiAiCi0gICAxICIjK1RCTEZNOiAkMiA9 IGlmKFwiJDFcIiA9IFwibmFuXCIsIHN0cmluZyhcIlwiKSwgJDEgKyAxKTsgRSIpKQorICAgMSAi IytUQkxGTTogJDIgPSBpZihcIiQxXCIgPT0gXCJuYW5cIiwgc3RyaW5nKFwiXCIpLCAkMSArIDEp OyBFIikpCiAKIChlcnQtZGVmdGVzdCB0ZXN0LW9yZy10YWJsZS9lbXB0eS1maWVsZCAoKQogICAi RXhhbXBsZXMgaG93IHRvIGRlYWwgd2l0aCBlbXB0eSBmaWVsZHMuIgotICA7OyBFbXB0eSBmaWVs ZHMgaW4gc2ltcGxlIGFuZCBjb21wbGV4IHJhbmdlIHJlZmVyZW5jZTogU3VwcHJlc3MgdGhlbQot ICA7OyAoJDUgYW5kICQ2KSBvciBrZWVwIHRoZW0gYW5kIHVzZSAwICgkNyBhbmQgJDgpCi0KLSAg KGxldCAoKGNhbGMgKGNvbmNhdAotCSAgICAgICAiIytUQkxGTTogIgotCSAgICAgICAiJDUgPSB2 bWVhbigkMS4uJDQpICAgICA6OiAiCi0JICAgICAgICIkNiA9IHZtZWFuKEAwJDEuLkAwJDQpIDo6 ICIKLQkgICAgICAgIiQ3ID0gdm1lYW4oJDEuLiQ0KTsgRU4gOjogIgotCSAgICAgICAiJDggPSB2 bWVhbihAMCQxLi5AMCQ0KTsgRU4iKSkKLQkobGlzcCAoY29uY2F0Ci0JICAgICAgICIjK1RCTEZN OiAiCi0JICAgICAgICIkNSA9ICcoLyAoKyAgICQxLi4kNCAgKSAobGVuZ3RoICcoICAkMS4uJDQg ICkpKTsgIE4gOjogIgotCSAgICAgICAiJDYgPSAnKC8gKCsgQDAkMS4uQDAkNCkgKGxlbmd0aCAn KEAwJDEuLkAwJDQpKSk7ICBOIDo6ICIKLQkgICAgICAgIiQ3ID0gJygvICgrICAgJDEuLiQ0ICAp IChsZW5ndGggJyggICQxLi4kNCAgKSkpOyBFTiA6OiAiCi0JICAgICAgICIkOCA9ICcoLyAoKyBA MCQxLi5AMCQ0KSAobGVuZ3RoICcoQDAkMS4uQDAkNCkpKTsgRU4iKSkpCi0gICAgKG9yZy10ZXN0 LXRhYmxlLXRhcmdldC1leHBlY3QKLSAgICAgIlxufCAgIHwgICB8IDUgfCA3IHwgcmVwbGFjZSB8 IHJlcGxhY2UgfCByZXBsYWNlIHwgcmVwbGFjZSB8XG4iCi0gICAgICJcbnwgICB8ICAgfCA1IHwg NyB8IDYgfCA2IHwgMyB8IDMgfFxuIgotICAgICAxIGNhbGMgbGlzcCkKLQotICAgIDs7IFRoZSBt ZWFuIHZhbHVlIG9mIGEgcmFuZ2Ugd2l0aCBvbmx5IGVtcHR5IGZpZWxkcyBpcyBub3QgZGVmaW5l ZAotICAgIChsZXQgKCh0YXJnZXQKLQkgICAiXG58ICAgfCAgIHwgICB8ICAgfCByZXBsYWNlIHwg cmVwbGFjZSB8IHJlcGxhY2UgfCByZXBsYWNlIHxcbiIpKQotICAgICAgKG9yZy10ZXN0LXRhYmxl LXRhcmdldC1leHBlY3QKLSAgICAgICB0YXJnZXQKLSAgICAgICAiXG58ICAgfCAgIHwgICB8ICAg fCB2bWVhbihbXSkgfCB2bWVhbihbXSkgfCAwIHwgMCB8XG4iCi0gICAgICAgMSBjYWxjKQotICAg ICAgKG9yZy10ZXN0LXRhYmxlLXRhcmdldC1leHBlY3QKLSAgICAgICB0YXJnZXQKLSAgICAgICAi XG58ICAgfCAgIHwgICB8ICAgfCAjRVJST1IgfCAjRVJST1IgfCAwIHwgMCB8XG4iCi0gICAgICAg MSBsaXNwKSkpCi0KICAgOzsgVGVzdCBpZiBvbmUgZmllbGQgaXMgZW1wdHksIGVsc2UgZG8gYSBj YWxjdWxhdGlvbgogICAob3JnLXRlc3QtdGFibGUtdGFyZ2V0LWV4cGVjdAogICAgIgpAQCAtNDk4 LDcgKzQ2Niw3IEBAIHJlZmVyZW5jZSAod2l0aCByb3cpLiAgRm9ybWF0IHNwZWNpZmllciBOLiIK ICIKICAgIDEKICAgIDs7IENhbGMgZm9ybXVsYQotICAgIiMrVEJMRk06ICQyID0gaWYoXCIkMVwi ID0gXCJuYW5cIiwgc3RyaW5nKFwiXCIpLCAkMSArIDEpOyBFIgorICAgIiMrVEJMRk06ICQyID0g aWYoXCIkMVwiID09IFwibmFuXCIsIHN0cmluZyhcIlwiKSwgJDEgKyAxKTsgRSIKICAgIDs7IExp c3AgZm9ybXVsYQogICAgIiMrVEJMRk06ICQyID0gJyhpZiAoZXEgXCIkMVwiIFwiXCIpIFwiXCIg KDErICQxKSk7IEwiKQogCkBAIC01MTgsNyArNDg2LDcgQEAgcmVmZXJlbmNlICh3aXRoIHJvdyku ICBGb3JtYXQgc3BlY2lmaWVyIE4uIgogIgogICAgMQogICAgOzsgQ2FsYyBmb3JtdWxhCi0gICAo Y29uY2F0ICIjK1RCTEZNOiAkMyA9IGlmKFwiJDFcIiA9IFwibmFuXCIgfHwgXCIkMlwiID0gXCJu YW5cIiwgIgorICAgKGNvbmNhdCAiIytUQkxGTTogJDMgPSBpZihcIiQxXCIgPT0gXCJuYW5cIiB8 fCBcIiQyXCIgPT0gXCJuYW5cIiwgIgogCSAgICJzdHJpbmcoXCJcIiksICQxICsgJDIpOyBFIikK ICAgIDs7IExpc3AgZm9ybXVsYQogICAgKGNvbmNhdCAiIytUQkxGTTogJDMgPSAnKGlmIChvciAo ZXEgXCIkMVwiIFwiXCIpIChlcSBcIiQyXCIgXCJcIikpICIKQEAgLTU0MCwxMCArNTA4LDQ5IEBA IHJlZmVyZW5jZSAod2l0aCByb3cpLiAgRm9ybWF0IHNwZWNpZmllciBOLiIKICIKICAgIDEKICAg IDs7IENhbGMgZm9ybXVsYQotICAgKGNvbmNhdCAiIytUQkxGTTogJDIgPSBpZihcIiQxXCIgPSBc Im5hblwiLCAiCi0JICAgImlmKFwiJDJcIiA9IFwibmFuXCIsIHN0cmluZyhcIlwiKSwgJDIgKy4w KSwgJDEgKyAwLjUpOyBFIGYtMSIpCisgICAoY29uY2F0ICIjK1RCTEZNOiAkMiA9IGlmKFwiJDFc IiA9PSBcIm5hblwiLCAiCisJICAgImlmKFwiJDJcIiA9PSBcIm5hblwiLCBzdHJpbmcoXCJcIiks ICQyICsuMCksICQxICsgMC41KTsgRSBmLTEiKQogICAgOzsgTGlzcCBmb3JtdWxhIG5vdCBpbXBs ZW1lbnRlZCB5ZXQKLSAgICkpCisgICApCisKKyAgOzsgRW1wdHkgZmllbGRzIGluIHNpbXBsZSBh bmQgY29tcGxleCByYW5nZSByZWZlcmVuY2UKKyAgKG9yZy10ZXN0LXRhYmxlLXRhcmdldC1leHBl Y3QKKyAgICIKK3wgICB8ICAgfCAgIHwgICB8IHJlcGwgfCByZXBsIHwgcmVwbCB8IHJlcGwgfCBy ZXBsIHwgcmVwbCB8Cit8ICAgfCAgIHwgNSB8IDcgfCByZXBsIHwgcmVwbCB8IHJlcGwgfCByZXBs IHwgcmVwbCB8IHJlcGwgfAorfCAxIHwgMyB8IDUgfCA3IHwgcmVwbCB8IHJlcGwgfCByZXBsIHwg cmVwbCB8IHJlcGwgfCByZXBsIHwKKyIKKyAgICIKK3wgICB8ICAgfCAgIHwgICB8ICAgfCAgIHwg ICB8ICAgfCAwIHwgMCB8Cit8ICAgfCAgIHwgNSB8IDcgfCAgIHwgICB8IDYgfCA2IHwgMyB8IDMg fAorfCAxIHwgMyB8IDUgfCA3IHwgNCB8IDQgfCA0IHwgNCB8IDQgfCA0IHwKKyIKKyAgIDEKKyAg IDs7IENhbGMgZm9ybXVsYQorICAgKGNvbmNhdAorICAgICIjK1RCTEZNOiAiCisgICAgIiQ1ID0g aWYodHlwZW9mKHZtZWFuKCQxLi4kNCkpID09IDEyLCAiCisgICAgInN0cmluZyhcIlwiKSwgdm1l YW4oJDEuLiQ0KSk7IEUgOjogIgorICAgICIkNiA9IGlmKHR5cGVvZih2bWVhbihAMCQxLi5AMCQ0 KSkgPT0gMTIsICIKKyAgICAic3RyaW5nKFwiXCIpLCB2bWVhbihAMCQxLi5AMCQ0KSk7IEUgOjog IgorICAgICIkNyA9IGlmKFwiJDEuLiQ0XCIgPT0gXCJbXVwiLCBzdHJpbmcoXCJcIiksIHZtZWFu KCQxLi4kNCkpIDo6ICIKKyAgICAiJDggPSBpZihcIkAwJDEuLkAwJDRcIiA9PSBcIltdXCIsIHN0 cmluZyhcIlwiKSwgdm1lYW4oQDAkMS4uQDAkNCkpIDo6ICIKKyAgICAiJDkgPSB2bWVhbigkMS4u JDQpOyBFTiA6OiAiCisgICAgIiQxMCA9IHZtZWFuKEAwJDEuLkAwJDQpOyBFTiIpCisgICA7OyBM aXNwIGZvcm11bGEKKyAgIChjb25jYXQKKyAgICAiIytUQkxGTTogIgorICAgICIkNSA9ICcobGV0 ICgobCAnKCQxLi4kNCkpKSAoaWYgKG1lbWJlciBcIlwiIGwpIFwiXCIgIgorICAgICIoLyAoYXBw bHkgJysgKG1hcGNhciAnc3RyaW5nLXRvLW51bWJlciBsKSkgKGxlbmd0aCBsKSkpKTsgRSA6OiAi CisgICAgIiQ2ID0gJyhsZXQgKChsICcoQDAkMS4uQDAkNCkpKSAoaWYgKG1lbWJlciBcIlwiIGwp IFwiXCIgIgorICAgICIoLyAoYXBwbHkgJysgKG1hcGNhciAnc3RyaW5nLXRvLW51bWJlciBsKSkg KGxlbmd0aCBsKSkpKTsgRSA6OiAiCisgICAgIiQ3ID0gJyhsZXQgKChsICcoJDEuLiQ0KSkpICIK KyAgICAiKGlmIGwgKC8gKGFwcGx5ICcrIGwpIChsZW5ndGggbCkpIFwiXCIpKTsgTiA6OiAiCisg ICAgIiQ4ID0gJyhsZXQgKChsICcoQDAkMS4uQDAkNCkpKSAiCisgICAgIihpZiBsICgvIChhcHBs eSAnKyBsKSAobGVuZ3RoIGwpKSBcIlwiKSk7IE4gOjogIgorICAgICIkOSA9ICcoLyAoKyAkMS4u JDQpIChsZW5ndGggJygkMS4uJDQpKSk7IEVOIDo6ICIKKyAgICAiJDEwID0gJygvICgrIEAwJDEu LkAwJDQpIChsZW5ndGggJyhAMCQxLi5AMCQ0KSkpOyBFTiIpCispKQogCiAoZXJ0LWRlZnRlc3Qg dGVzdC1vcmctdGFibGUvY29weS1maWVsZCAoKQogICAiRXhwZXJpbWVudHMgb24gaG93IHRvIGNv cHkgb25lIGZpZWxkIGludG8gYW5vdGhlciBmaWVsZC4iCkBAIC01ODAsNyArNTg3LDcgQEAgcmVm ZXJlbmNlICh3aXRoIHJvdykuICBGb3JtYXQgc3BlY2lmaWVyIE4uIgogfCAyMDEyLTEyICAgICAg ICAgIHwgMjAxMi0xMiAgICAgICAgICB8CiB8IFsyMDEyLTEyLTMxIE1vbl0gfCA8MjAxMi0xMi0z MSBNb24+IHwKICIKLSAgICAgMSAoY29uY2F0ICIjK1RCTEZNOiAkMiA9IGlmKFwiJDFcIiA9IFwi bmFuXCIsICIKKyAgICAgMSAoY29uY2F0ICIjK1RCTEZNOiAkMiA9IGlmKFwiJDFcIiA9PSBcIm5h blwiLCAiCiAJICAgICAgICJzdHJpbmcoXCJcIiksIHN0cmluZyhzdWJ2ZWMoXCIkMVwiLCAyLCB2 bGVuKFwiJDFcIikpKSk7IEUiKSkKIAogICAgIDs7IENhbGMgZm9ybXVsYSBzaW1wbGUKQEAgLTU5 NCwxMSArNjAxLDExIEBAIHJlZmVyZW5jZSAod2l0aCByb3cpLiAgRm9ybWF0IHNwZWNpZmllciBO LiIKIHwgMjAxMi0xMiAgICAgICAgICB8IDIwMDAgICAgICAgICAgICAgfAogfCBbMjAxMi0xMi0z MSBNb25dIHwgPDIwMTItMTItMzEgTW9uPiB8CiAiCi0gICAgIDEgIiMrVEJMRk06ICQyID0gaWYo XCIkMVwiID0gXCJuYW5cIiwgc3RyaW5nKFwiXCIpLCAkMSk7IEUiKSkpCisgICAgIDEgIiMrVEJM Rk06ICQyID0gaWYoXCIkMVwiID09IFwibmFuXCIsIHN0cmluZyhcIlwiKSwgJDEpOyBFIikpKQog CiA7OyBFbmQgb2YgdGFibGUgZXhhbXBsZXMgYW5kIGJlZ2lubmluZyBvZiBpbnRlcm5hbCB0ZXN0 cy4KIAotKGVydC1kZWZ0ZXN0IHRlc3Qtb3JnLXRhYmxlL29yZy10YWJsZS1tYWtlLXJlZmVyZW5j ZS9mb3JtYXQtc3BlY2lmaWVyLUVMICgpCisoZXJ0LWRlZnRlc3QgdGVzdC1vcmctdGFibGUvb3Jn LXRhYmxlLW1ha2UtcmVmZXJlbmNlL21vZGUtc3RyaW5nLUVMICgpCiAgIChmc2V0ICdmICdvcmct dGFibGUtbWFrZS1yZWZlcmVuY2UpCiAgIDs7IEZvciBMaXNwIGZvcm11bGEgb25seQogICAoc2hv dWxkIChlcXVhbCAiMCIgICAoZiAgICIwIiAgICAgIHQgbmlsICdsaXRlcmFsKSkpCkBAIC02MDks NyArNjE2LDcgQEAgcmVmZXJlbmNlICh3aXRoIHJvdykuICBGb3JtYXQgc3BlY2lmaWVyIE4uIgog ICAoc2hvdWxkIChlcXVhbCAgIiAxIiAoZiAnKCIiICAiMSIpIHQgbmlsICdsaXRlcmFsKSkpCiAg IChzaG91bGQgKGVxdWFsICAiICIgIChmICcoIiIgICIiICkgdCBuaWwgJ2xpdGVyYWwpKSkpCiAK LShlcnQtZGVmdGVzdCB0ZXN0LW9yZy10YWJsZS9vcmctdGFibGUtbWFrZS1yZWZlcmVuY2UvZm9y bWF0LXNwZWNpZmllci1FICgpCisoZXJ0LWRlZnRlc3QgdGVzdC1vcmctdGFibGUvb3JnLXRhYmxl LW1ha2UtcmVmZXJlbmNlL21vZGUtc3RyaW5nLUUgKCkKICAgKGZzZXQgJ2YgJ29yZy10YWJsZS1t YWtlLXJlZmVyZW5jZSkKICAgOzsgRm9yIExpc3AgZm9ybXVsYQogICAoc2hvdWxkIChlcXVhbCAi XCIwXCIiICAgICAgIChmICAgIjAiICAgICAgICAgdCBuaWwgdCkpKQpAQCAtNjM3LDcgKzY0NCw3 IEBAIHJlZmVyZW5jZSAod2l0aCByb3cpLiAgRm9ybWF0IHNwZWNpZmllciBOLiIKICAgKHNob3Vs ZCAoZXF1YWwgIlstaW5mLDFdIiAgICAoZiAnKCItaW5mIiAiMSIpIHQgbmlsIG5pbCkpKQogICAo c2hvdWxkIChlcXVhbCAgIltpbmYsMV0iICAgIChmICcoICJpbmYiICIxIikgdCBuaWwgbmlsKSkp KQogCi0oZXJ0LWRlZnRlc3QgdGVzdC1vcmctdGFibGUvb3JnLXRhYmxlLW1ha2UtcmVmZXJlbmNl L2Zvcm1hdC1zcGVjaWZpZXItRU4gKCkKKyhlcnQtZGVmdGVzdCB0ZXN0LW9yZy10YWJsZS9vcmct dGFibGUtbWFrZS1yZWZlcmVuY2UvbW9kZS1zdHJpbmctRU4gKCkKICAgKGZzZXQgJ2YgJ29yZy10 YWJsZS1tYWtlLXJlZmVyZW5jZSkKICAgOzsgRm9yIExpc3AgZm9ybXVsYQogICAoc2hvdWxkIChl cXVhbCAgIjAiICAgIChmICAgIjAiICAgICAgICAgdCB0IHQpKSkKQEAgLTY2NSw3ICs2NzIsNyBA QCByZWZlcmVuY2UgKHdpdGggcm93KS4gIEZvcm1hdCBzcGVjaWZpZXIgTi4iCiAgIChzaG91bGQg KGVxdWFsICJbMCwxXSIgKGYgJygiLWluZiIgIjEiKSB0IHQgbmlsKSkpCiAgIChzaG91bGQgKGVx dWFsICJbMCwxXSIgKGYgJyggImluZiIgIjEiKSB0IHQgbmlsKSkpKQogCi0oZXJ0LWRlZnRlc3Qg dGVzdC1vcmctdGFibGUvb3JnLXRhYmxlLW1ha2UtcmVmZXJlbmNlL2Zvcm1hdC1zcGVjaWZpZXIt TCAoKQorKGVydC1kZWZ0ZXN0IHRlc3Qtb3JnLXRhYmxlL29yZy10YWJsZS1tYWtlLXJlZmVyZW5j ZS9tb2RlLXN0cmluZy1MICgpCiAgIChmc2V0ICdmICdvcmctdGFibGUtbWFrZS1yZWZlcmVuY2Up CiAgIDs7IEZvciBMaXNwIGZvcm11bGEgb25seQogICAoc2hvdWxkIChlcXVhbCAiMCIgICAoZiAg ICIwIiAgICAgIG5pbCBuaWwgJ2xpdGVyYWwpKSkKQEAgLTY3Niw3ICs2ODMsNyBAQCByZWZlcmVu Y2UgKHdpdGggcm93KS4gIEZvcm1hdCBzcGVjaWZpZXIgTi4iCiAgIChzaG91bGQgKGVxdWFsICAg IjEiIChmICcoIiIgICIxIikgbmlsIG5pbCAnbGl0ZXJhbCkpKQogICAoc2hvdWxkIChlcXVhbCAg IiIgICAoZiAnKCIiICAiIiApIG5pbCBuaWwgJ2xpdGVyYWwpKSkpCiAKLShlcnQtZGVmdGVzdCB0 ZXN0LW9yZy10YWJsZS9vcmctdGFibGUtbWFrZS1yZWZlcmVuY2UvZm9ybWF0LXNwZWNpZmllci1u b25lICgpCisoZXJ0LWRlZnRlc3QgdGVzdC1vcmctdGFibGUvb3JnLXRhYmxlLW1ha2UtcmVmZXJl bmNlL21vZGUtc3RyaW5nLW5vbmUgKCkKICAgKGZzZXQgJ2YgJ29yZy10YWJsZS1tYWtlLXJlZmVy ZW5jZSkKICAgOzsgRm9yIExpc3AgZm9ybXVsYQogICAoc2hvdWxkIChlcXVhbCAiXCIwXCIiICAg ICAgIChmICAgIjAiICAgICAgICAgbmlsIG5pbCB0KSkpCkBAIC03MDQsNyArNzExLDcgQEAgcmVm ZXJlbmNlICh3aXRoIHJvdykuICBGb3JtYXQgc3BlY2lmaWVyIE4uIgogICAoc2hvdWxkIChlcXVh bCAiWy1pbmYsMV0iICAgIChmICcoIi1pbmYiICIxIikgbmlsIG5pbCBuaWwpKSkKICAgKHNob3Vs ZCAoZXF1YWwgICJbaW5mLDFdIiAgICAoZiAnKCAiaW5mIiAiMSIpIG5pbCBuaWwgbmlsKSkpKQog Ci0oZXJ0LWRlZnRlc3QgdGVzdC1vcmctdGFibGUvb3JnLXRhYmxlLW1ha2UtcmVmZXJlbmNlL2Zv cm1hdC1zcGVjaWZpZXItTiAoKQorKGVydC1kZWZ0ZXN0IHRlc3Qtb3JnLXRhYmxlL29yZy10YWJs ZS1tYWtlLXJlZmVyZW5jZS9tb2RlLXN0cmluZy1OICgpCiAgIChmc2V0ICdmICdvcmctdGFibGUt bWFrZS1yZWZlcmVuY2UpCiAgIDs7IEZvciBMaXNwIGZvcm11bGEKICAgKHNob3VsZCAoZXF1YWwg ICIwIiAgICAoZiAgICIwIiAgICAgICAgIG5pbCB0IHQpKSkKLS0gCjEuNy40LjIKCg== --047d7b3432941cab0d04da4d974b--