From mboxrd@z Thu Jan 1 00:00:00 1970 From: B Grobauer Subject: [PATCH] New clocktable-feature: Structure clocktable by tags rather than by hierarchy Date: Sun, 20 Jun 2010 12:24:44 +0200 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=0016e6497e96ce3d3e0489739892 Return-path: Received: from [140.186.70.92] (port=45992 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OQHhp-00012L-0V for Emacs-orgmode@gnu.org; Sun, 20 Jun 2010 06:24:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OQHhn-0003o2-LH for Emacs-orgmode@gnu.org; Sun, 20 Jun 2010 06:24:48 -0400 Received: from mail-ww0-f41.google.com ([74.125.82.41]:51635) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OQHhn-0003nn-3R for Emacs-orgmode@gnu.org; Sun, 20 Jun 2010 06:24:47 -0400 Received: by wwc33 with SMTP id 33so356535wwc.0 for ; Sun, 20 Jun 2010 03:24:45 -0700 (PDT) List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Emacs-orgmode@gnu.org --0016e6497e96ce3d3e0489739892 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Hi, at work I am required to specify what I have spent my time on by assigning clocked time to one of several projects/accounts. To do so, the clocktable-feature of org-mode already is a tremendous help, but I found that I still had to do quite a bit of manual work, because the structure of my org-files does not correspond 1:1 with my projects. The attached patch allows me to tag headings with project/account names and then have clocktable generate a table that structures the clocked time by these project names rather than by the hierarchical layout of the org-files. Here is what a clock-table for the attached clocktags_test.org looks like without the new feature: | L | Headline=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0 |=A0=A0=A0=A0=A0=A0=A0 Time |=A0=A0=A0=A0=A0=A0=A0 |= =A0=A0=A0=A0=A0 | |---+-------------------------------------+-------------+--------+------| |=A0=A0 | *Total time*=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0 |=A0=A0=A0=A0 *17:30* |=A0=A0=A0=A0=A0=A0=A0 |=A0=A0=A0= =A0=A0 | |---+-------------------------------------+-------------+--------+------| |=A0=A0 |=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 | *FILE time* | *0:00* |=A0=A0= =A0=A0=A0 | | 1 | Todos=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0 |=A0=A0=A0=A0=A0=A0=A0 7:00 |=A0=A0=A0=A0=A0=A0= =A0 |=A0=A0=A0=A0=A0 | | 2 | DONE Unallocated Task=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 |=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 |=A0=A0 1:00 |=A0=A0=A0=A0=A0 | | 2 | DONE Some Task=A0 for Project A=A0=A0=A0=A0=A0=A0 |=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0 |=A0=A0 1:00 |=A0=A0=A0=A0=A0 | | 2 | DONE Some Task for Project B=A0=A0=A0=A0=A0=A0=A0 |=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0 |=A0=A0 1:00 |=A0=A0=A0=A0=A0 | | 2 | DONE Another Task for Project A=A0=A0=A0=A0 |=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0 |=A0=A0 1:00 |=A0=A0=A0=A0=A0 | | 2 | DONE Antother Task for Project B=A0=A0=A0 |=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0 |=A0=A0 1:00 |=A0=A0=A0=A0=A0 | | 2 | DONE Yet another Task for Project A |=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0 |=A0=A0 1:00 |=A0=A0=A0=A0=A0 | | 2 | DONE Yet antoher Task for Project B |=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0 |=A0=A0 1:00 |=A0=A0=A0=A0=A0 | | 1 | Project A=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0 |=A0=A0=A0=A0=A0=A0=A0 7:30 |=A0=A0=A0=A0=A0=A0=A0 |=A0= =A0=A0=A0=A0 | | 2 | Subproject A1=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0 |=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 |=A0=A0 4:30 |=A0=A0=A0= =A0=A0 | | 3 | Task 1 for Subproject A1=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 |=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0 |=A0=A0=A0=A0=A0=A0=A0 | 2:00 | | 3 | Task 2 for Subproject A1=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 |=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0 |=A0=A0=A0=A0=A0=A0=A0 | 1:00 | | 3 | Task 3 for Subproject A1=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 |=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0 |=A0=A0=A0=A0=A0=A0=A0 | 1:00 | | 2 | Subproject A2=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0 |=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 |=A0=A0 3:00 |=A0=A0=A0= =A0=A0 | | 3 | Task 1 for Subproject A2=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 |=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0 |=A0=A0=A0=A0=A0=A0=A0 | 1:00 | | 3 | Task 2 for Subproject A2=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 |=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0 |=A0=A0=A0=A0=A0=A0=A0 | 1:00 | | 3 | Task 3 for Subproject A2=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 |=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0 |=A0=A0=A0=A0=A0=A0=A0 | 1:00 | | 1 | Project B=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0 |=A0=A0=A0=A0=A0=A0=A0 3:00 |=A0=A0=A0=A0=A0=A0=A0 |=A0= =A0=A0=A0=A0 | | 2 | Task 1 for Project B=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 |= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 |=A0=A0 1:00 |=A0=A0=A0=A0=A0 | | 2 | Task 2 for Project B=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 |= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 |=A0=A0 1:00 |=A0=A0=A0=A0=A0 | | 2 | Task 3 for Project B=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 |= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 |=A0=A0 1:00 |=A0=A0=A0=A0=A0 | Below is what it looks like with the new "clocktags" feature, assuming that - all tasks that pertain to project A have been tagged with "00Project_A" (possibly using tag inheritance) - all tasks that pertain to project B have been tagged with "01Project_B" (possibly using tag inheritance) - the clocktable is called with parameter ':clocktable "[0-9][0-9]"' where the parameter value specifies a regular expression which a tag has to match in order to be used for structuring the clocktable | ClockTag | L | Headline | Time | |-------------+---+---------------------------------------+---------| | | | *Total time* | *17:30* | |-------------+---+---------------------------------------+---------| |-------------+---+---------------------------------------+---------| | UNALLOCATED | | *Total* | *1:00* | |-------------+---+---------------------------------------+---------| | | 2 | DONE Unallocated Task | 1:00 | |-------------+---+---------------------------------------+---------| | 00Project_A | | *Total* | *10:30* | |-------------+---+---------------------------------------+---------| | | 2 | DONE Some Task for Project A | 1:00 | | | 2 | DONE Another Task for Project A | 1:00 | | | 2 | DONE Yet another Task for Project A | 1:00 | | | 2 | Subproject A1 | 0:30 | | | 3 | Task 1 for Subproject A1 | 1:00 | | | 4 | Subtask 1 of Task 1 for Subproject A1 | 1:00 | | | 3 | Task 2 for Subproject A1 | 1:00 | | | 3 | Task 3 for Subproject A1 | 1:00 | | | 3 | Task 1 for Subproject A2 | 1:00 | | | 3 | Task 2 for Subproject A2 | 1:00 | | | 3 | Task 3 for Subproject A2 | 1:00 | |-------------+---+---------------------------------------+---------| | 01Project_B | | *Total* | *6:00* | |-------------+---+---------------------------------------+---------| | | 2 | DONE Some Task for Project B | 1:00 | | | 2 | DONE Antother Task for Project B | 1:00 | | | 2 | DONE Yet antoher Task for Project B | 1:00 | | | 2 | Task 1 for Project B | 1:00 | | | 2 | Task 2 for Project B | 1:00 | | | 2 | Task 3 for Project B | 1:00 | Note that the hierarchical structure of the table is gone -- it does not make sense here, because the times of children are not necessarily added to the time of the parent: the hierarchical structure does not have meaning anymore as far as clocking is concerned. Having said that, of course in many instances one will use the hierarchy by tagging a top-level name with a project/account tag and then use inheritance to have all children attributed to that project. The feature also works for scope=3Dagenda and pulls together clocked times from all files for each "clocktag". The patch is not a small one, because I had to factor out the printing of the table into a function of its own and construct the table information as an association list rather than directly as a string. As a result, you now also have the possibility to receive the collected information of the clocktable as list structure when setting the parameter "to_alist" to a non-nil value. This may be interesting if you want to use the function org-dblock-write:clocktable from another function rather than through the inteface for dynamic blocks. I have tried to extensively comment the changes I made to org-clock.el in order to facilitate evaluation whether the patch is fit for inclusion into the distribution. The attached clocktags_test.org contains also examles for using the step parameter and the output of clocktable results as list structure for further use in other functions. Let me close with expressing my deep gratitude to Carsten Dominik and all contributors to orgmode for the fantastic orgmode project: I have been using org-mode for two years now and don't quite know how I managed without it before that... Best regards, Bernd --0016e6497e96ce3d3e0489739892 Content-Type: application/vnd.lotus-organizer; name="clocktags_test.org" Content-Disposition: attachment; filename="clocktags_test.org" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ganpnpbw1 TVlfUFJPSkVDVCAtKi0gbW9kZTogb3JnOyAtKi0NCiMrU1RBUlRVUDogb3ZlcnZpZXcNCiMrVEFH UzogMDBQcm9qZWN0X0EgMDFQcm9qZWN0X0INCiMrU1RBUlRVUDogaGlkZXN0YXJzIG9kZA0KDQoj K1RpdGxlOiBDbG9ja3RhZyBUZXN0IE9yZ2ZpbGUNCg0KDQoNCg0KKiBUb2Rvcw0KKioqIERPTkUg VW5hbGxvY2F0ZWQgVGFzaw0KICAgIDpMT0dCT09LOg0KICAgIENMT0NLOiBbMjAxMC0wNi0xOSBT YXQgMDg6MDBdLS1bMjAxMC0wNi0xOSBTYXQgMDk6MDBdID0+ICAxOjAwDQogICAgOkVORDoNCg0K KioqIERPTkUgU29tZSBUYXNrICBmb3IgUHJvamVjdCBBICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDowMFByb2plY3RfQToNCiAgICA6TE9HQk9PSzoNCiAgICBDTE9DSzogWzIwMTAtMDYt MTkgU2F0IDAxOjAwXS0tWzIwMTAtMDYtMTkgU2F0IDAyOjAwXSA9PiAgMTowMA0KICAgIDpFTkQ6 DQoqKiogRE9ORSBTb21lIFRhc2sgZm9yIFByb2plY3QgQiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgOjAxUHJvamVjdF9COg0KICAgIDpMT0dCT09LOg0KICAgIENMT0NLOiBbMjAxMC0w Ni0xOSBTYXQgMDI6MDBdLS1bMjAxMC0wNi0xOSBTYXQgMDM6MDBdID0+ICAxOjAwDQogICAgOkVO RDoNCioqKiBET05FIEFub3RoZXIgVGFzayBmb3IgUHJvamVjdCBBICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA6MDBQcm9qZWN0X0E6DQogICAgOkxPR0JPT0s6DQogICAgQ0xPQ0s6IFsyMDEw LTA2LTE5IFNhdCAwMzowMF0tLVsyMDEwLTA2LTE5IFNhdCAwNDowMF0gPT4gIDE6MDANCiAgICA6 RU5EOg0KKioqIERPTkUgQW50b3RoZXIgVGFzayBmb3IgUHJvamVjdCBCICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDowMVByb2plY3RfQjoNCiAgICA6TE9HQk9PSzoNCiAgICBDTE9DSzogWzIw MTAtMDYtMTkgU2F0IDA0OjAwXS0tWzIwMTAtMDYtMTkgU2F0IDA1OjAwXSA9PiAgMTowMA0KICAg IDpFTkQ6DQoqKiogRE9ORSBZZXQgYW5vdGhlciBUYXNrIGZvciBQcm9qZWN0IEEgICAgICAgICAg ICAgICAgICAgICAgICAgOjAwUHJvamVjdF9BOg0KICAgIDpMT0dCT09LOg0KICAgIENMT0NLOiBb MjAxMC0wNi0xOSBTYXQgMDU6MDBdLS1bMjAxMC0wNi0xOSBTYXQgMDY6MDBdID0+ICAxOjAwDQog ICAgOkVORDoNCioqKiBET05FIFlldCBhbnRvaGVyIFRhc2sgZm9yIFByb2plY3QgQiAgICAgICAg ICAgICAgICAgICAgICAgICA6MDFQcm9qZWN0X0I6DQogICAgOkxPR0JPT0s6DQogICAgQ0xPQ0s6 IFsyMDEwLTA2LTE5IFNhdCAwNjowMF0tLVsyMDEwLTA2LTE5IFNhdCAwNzowMF0gPT4gIDE6MDAN CiAgICA6RU5EOg0KDQoNCg0KKiBQcm9qZWN0IEEgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDowMFByb2plY3RfQToNCioqKiBTdWJwcm9qZWN0IEEx DQogICAgOkxPR0JPT0s6DQogICAgQ0xPQ0s6IFsyMDEwLTA2LTE4IEZyaSAxODowMF0tLVsyMDEw LTA2LTE4IEZyaSAxODozMF0gPT4gIDA6MzANCiAgICA6RU5EOg0KDQoqKioqKiBUYXNrIDEgZm9y IFN1YnByb2plY3QgQTENCiAgICAgIDpMT0dCT09LOg0KICAgICAgQ0xPQ0s6IFsyMDEwLTA2LTE4 IEZyaSAwMDowMF0tLVsyMDEwLTA2LTE4IEZyaSAwMTowMF0gPT4gIDE6MDANCiAgICAgIDpFTkQ6 DQogICAgICANCioqKioqKiogU3VidGFzayAxIG9mIFRhc2sgMSBmb3IgU3VicHJvamVjdCBBMQ0K ICAgICAgICA6TE9HQk9PSzoNCiAgICAgICAgQ0xPQ0s6IFsyMDEwLTA2LTE4IEZyaSAxMzowMF0t LVsyMDEwLTA2LTE4IEZyaSAxNDowMF0gPT4gIDE6MDANCiAgICAgICAgOkVORDoNCiAgICAgICAg DQoNCioqKioqIFRhc2sgMiBmb3IgU3VicHJvamVjdCBBMQ0KICAgICAgOkxPR0JPT0s6DQogICAg ICBDTE9DSzogWzIwMTAtMDYtMTggRnJpIDAxOjAwXS0tWzIwMTAtMDYtMTggRnJpIDAyOjAwXSA9 PiAgMTowMA0KICAgICAgOkVORDoNCioqKioqIFRhc2sgMyBmb3IgU3VicHJvamVjdCBBMQ0KICAg ICAgOkxPR0JPT0s6DQogICAgICBDTE9DSzogWzIwMTAtMDYtMTggRnJpIDAyOjAwXS0tWzIwMTAt MDYtMTggRnJpIDAzOjAwXSA9PiAgMTowMA0KICAgICAgOkVORDoNCg0KKioqIFN1YnByb2plY3Qg QTINCioqKioqIFRhc2sgMSBmb3IgU3VicHJvamVjdCBBMg0KICAgICAgOkxPR0JPT0s6DQogICAg ICBDTE9DSzogWzIwMTAtMDYtMTcgVGh1IDAwOjAwXS0tWzIwMTAtMDYtMTcgVGh1IDAxOjAwXSA9 PiAgMTowMA0KICAgICAgOkVORDoNCiAgICAgIA0KKioqKiogVGFzayAyIGZvciBTdWJwcm9qZWN0 IEEyDQogICAgICA6TE9HQk9PSzoNCiAgICAgIENMT0NLOiBbMjAxMC0wNi0xNyBUaHUgMDE6MDBd LS1bMjAxMC0wNi0xNyBUaHUgMDI6MDBdID0+ICAxOjAwDQogICAgICA6RU5EOg0KKioqKiogVGFz ayAzIGZvciBTdWJwcm9qZWN0IEEyDQogICAgICA6TE9HQk9PSzoNCiAgICAgIENMT0NLOiBbMjAx MC0wNi0xNyBUaHUgMDI6MDBdLS1bMjAxMC0wNi0xNyBUaHUgMDM6MDBdID0+ICAxOjAwDQogICAg ICA6RU5EOg0KDQoNCiogUHJvamVjdCBCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA6MDFQcm9qZWN0X0I6DQoqKiogVGFzayAxIGZvciBQcm9qZWN0 IEINCiAgICA6TE9HQk9PSzoNCiAgICBDTE9DSzogWzIwMTAtMDYtMTYgV2VkIDAwOjAwXS0tWzIw MTAtMDYtMTYgV2VkIDAxOjAwXSA9PiAgMTowMA0KICAgIDpFTkQ6DQogICAgDQoqKiogVGFzayAy IGZvciBQcm9qZWN0IEINCiAgICA6TE9HQk9PSzoNCiAgICBDTE9DSzogWzIwMTAtMDYtMTYgV2Vk IDAxOjAwXS0tWzIwMTAtMDYtMTYgV2VkIDAyOjAwXSA9PiAgMTowMA0KICAgIDpFTkQ6DQoqKiog VGFzayAzIGZvciBQcm9qZWN0IEINCiAgICA6TE9HQk9PSzoNCiAgICBDTE9DSzogWzIwMTAtMDYt MTYgV2VkIDAyOjAwXS0tWzIwMTAtMDYtMTYgV2VkIDAzOjAwXSA9PiAgMTowMA0KICAgIDpFTkQ6 DQoNCg0KKiBDbG9ja3RhYmxlcw0KDQoqKiogVGFibGUgd2l0aCBjbG9ja3RhZyBmZWF0dXJlDQoj K0JFR0lOOiBjbG9ja3RhYmxlIDpzY29wZSBmaWxlIDp0c3RhcnQgIlsyMDEwLTA2LTE2IFdlZCAw MDowMF0iIDp0ZW5kICJbMjAxMC0wNi0yMCBTdW4gMDA6MDBdIiA6Y2xvY2t0YWdzICJbMC05XVsw LTldIg0KQ2xvY2sgc3VtbWFyeSBhdCBbMjAxMC0wNi0xOSBTYXQgMjM6NTFdDQoNCnwgQ2xvY2tU YWcgICAgfCBMIHwgSGVhZGxpbmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIFRp bWUgfA0KfC0tLS0tLS0tLS0tLS0rLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS18DQp8ICAgICAgICAgICAgIHwgICB8ICpUb3RhbCB0aW1lKiAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAqMTc6MzAqIHwNCnwtLS0tLS0tLS0tLS0tKy0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tfA0KfC0tLS0tLS0t LS0tLS0rLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS18DQp8IFVOQUxMT0NBVEVEIHwgICB8ICpUb3RhbCogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgKjE6MDAqIHwNCnwtLS0tLS0tLS0tLS0tKy0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tfA0KfCAgICAgICAgICAgICB8IDIgfCBET05F IFVuYWxsb2NhdGVkIFRhc2sgICAgICAgICAgICAgICAgIHwgICAgMTowMCB8DQp8LS0tLS0tLS0t LS0tLSstLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LXwNCnwgMDBQcm9qZWN0X0EgfCAgIHwgKlRvdGFsKiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICoxMDozMCogfA0KfC0tLS0tLS0tLS0tLS0rLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS18DQp8ICAgICAgICAgICAgIHwgMiB8IERPTkUg U29tZSBUYXNrICBmb3IgUHJvamVjdCBBICAgICAgICAgfCAgICAxOjAwIHwNCnwgICAgICAgICAg ICAgfCAyIHwgRE9ORSBBbm90aGVyIFRhc2sgZm9yIFByb2plY3QgQSAgICAgICB8ICAgIDE6MDAg fA0KfCAgICAgICAgICAgICB8IDIgfCBET05FIFlldCBhbm90aGVyIFRhc2sgZm9yIFByb2plY3Qg QSAgIHwgICAgMTowMCB8DQp8ICAgICAgICAgICAgIHwgMiB8IFN1YnByb2plY3QgQTEgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgICAwOjMwIHwNCnwgICAgICAgICAgICAgfCAzIHwgVGFzayAx IGZvciBTdWJwcm9qZWN0IEExICAgICAgICAgICAgICB8ICAgIDE6MDAgfA0KfCAgICAgICAgICAg ICB8IDQgfCBTdWJ0YXNrIDEgb2YgVGFzayAxIGZvciBTdWJwcm9qZWN0IEExIHwgICAgMTowMCB8 DQp8ICAgICAgICAgICAgIHwgMyB8IFRhc2sgMiBmb3IgU3VicHJvamVjdCBBMSAgICAgICAgICAg ICAgfCAgICAxOjAwIHwNCnwgICAgICAgICAgICAgfCAzIHwgVGFzayAzIGZvciBTdWJwcm9qZWN0 IEExICAgICAgICAgICAgICB8ICAgIDE6MDAgfA0KfCAgICAgICAgICAgICB8IDMgfCBUYXNrIDEg Zm9yIFN1YnByb2plY3QgQTIgICAgICAgICAgICAgIHwgICAgMTowMCB8DQp8ICAgICAgICAgICAg IHwgMyB8IFRhc2sgMiBmb3IgU3VicHJvamVjdCBBMiAgICAgICAgICAgICAgfCAgICAxOjAwIHwN CnwgICAgICAgICAgICAgfCAzIHwgVGFzayAzIGZvciBTdWJwcm9qZWN0IEEyICAgICAgICAgICAg ICB8ICAgIDE6MDAgfA0KfC0tLS0tLS0tLS0tLS0rLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS18DQp8IDAxUHJvamVjdF9CIHwgICB8ICpUb3RhbCog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgKjY6MDAqIHwNCnwtLS0tLS0tLS0tLS0t Ky0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tfA0K fCAgICAgICAgICAgICB8IDIgfCBET05FIFNvbWUgVGFzayBmb3IgUHJvamVjdCBCICAgICAgICAg IHwgICAgMTowMCB8DQp8ICAgICAgICAgICAgIHwgMiB8IERPTkUgQW50b3RoZXIgVGFzayBmb3Ig UHJvamVjdCBCICAgICAgfCAgICAxOjAwIHwNCnwgICAgICAgICAgICAgfCAyIHwgRE9ORSBZZXQg YW50b2hlciBUYXNrIGZvciBQcm9qZWN0IEIgICB8ICAgIDE6MDAgfA0KfCAgICAgICAgICAgICB8 IDIgfCBUYXNrIDEgZm9yIFByb2plY3QgQiAgICAgICAgICAgICAgICAgIHwgICAgMTowMCB8DQp8 ICAgICAgICAgICAgIHwgMiB8IFRhc2sgMiBmb3IgUHJvamVjdCBCICAgICAgICAgICAgICAgICAg fCAgICAxOjAwIHwNCnwgICAgICAgICAgICAgfCAyIHwgVGFzayAzIGZvciBQcm9qZWN0IEIgICAg ICAgICAgICAgICAgICB8ICAgIDE6MDAgfA0KIytFTkQ6DQoNCioqKiBUYWJsZSB3aXRob3V0IGNs b2NrdGFnIGZlYXR1cmUNCg0KIytCRUdJTjogY2xvY2t0YWJsZSA6c2NvcGUgZmlsZSA6dHN0YXJ0 ICJbMjAxMC0wNi0xNiBXZWQgMDA6MDBdIiA6dGVuZCAiWzIwMTAtMDYtMjAgU3VuIDAwOjAwXSIg DQpDbG9jayBzdW1tYXJ5IGF0IFsyMDEwLTA2LTE5IFNhdCAyMzo1MV0NCg0KfCBMIHwgSGVhZGxp bmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgVGltZSB8ICAgICAgICB8ICAg ICAgfA0KfC0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0rLS0tLS0tLS0rLS0tLS0tfA0KfCAgIHwgKlRvdGFsIHRpbWUqICAgICAgICAgICAgICAg ICAgICAgICAgfCAgICAgKjE3OjMwKiB8ICAgICAgICB8ICAgICAgfA0KfC0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0t fA0KfCAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAqRklMRSB0aW1l KiB8ICowOjAwKiB8ICAgICAgfA0KfCAxIHwgVG9kb3MgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgICAgICAgNzowMCB8ICAgICAgICB8ICAgICAgfA0KfCAyIHwgRE9ORSBVbmFsbG9j YXRlZCBUYXNrICAgICAgICAgICAgICAgfCAgICAgICAgICAgICB8ICAgMTowMCB8ICAgICAgfA0K fCAyIHwgRE9ORSBTb21lIFRhc2sgIGZvciBQcm9qZWN0IEEgICAgICAgfCAgICAgICAgICAgICB8 ICAgMTowMCB8ICAgICAgfA0KfCAyIHwgRE9ORSBTb21lIFRhc2sgZm9yIFByb2plY3QgQiAgICAg ICAgfCAgICAgICAgICAgICB8ICAgMTowMCB8ICAgICAgfA0KfCAyIHwgRE9ORSBBbm90aGVyIFRh c2sgZm9yIFByb2plY3QgQSAgICAgfCAgICAgICAgICAgICB8ICAgMTowMCB8ICAgICAgfA0KfCAy IHwgRE9ORSBBbnRvdGhlciBUYXNrIGZvciBQcm9qZWN0IEIgICAgfCAgICAgICAgICAgICB8ICAg MTowMCB8ICAgICAgfA0KfCAyIHwgRE9ORSBZZXQgYW5vdGhlciBUYXNrIGZvciBQcm9qZWN0IEEg fCAgICAgICAgICAgICB8ICAgMTowMCB8ICAgICAgfA0KfCAyIHwgRE9ORSBZZXQgYW50b2hlciBU YXNrIGZvciBQcm9qZWN0IEIgfCAgICAgICAgICAgICB8ICAgMTowMCB8ICAgICAgfA0KfCAxIHwg UHJvamVjdCBBICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgNzozMCB8ICAgICAg ICB8ICAgICAgfA0KfCAyIHwgU3VicHJvamVjdCBBMSAgICAgICAgICAgICAgICAgICAgICAgfCAg ICAgICAgICAgICB8ICAgNDozMCB8ICAgICAgfA0KfCAzIHwgVGFzayAxIGZvciBTdWJwcm9qZWN0 IEExICAgICAgICAgICAgfCAgICAgICAgICAgICB8ICAgICAgICB8IDI6MDAgfA0KfCAzIHwgVGFz ayAyIGZvciBTdWJwcm9qZWN0IEExICAgICAgICAgICAgfCAgICAgICAgICAgICB8ICAgICAgICB8 IDE6MDAgfA0KfCAzIHwgVGFzayAzIGZvciBTdWJwcm9qZWN0IEExICAgICAgICAgICAgfCAgICAg ICAgICAgICB8ICAgICAgICB8IDE6MDAgfA0KfCAyIHwgU3VicHJvamVjdCBBMiAgICAgICAgICAg ICAgICAgICAgICAgfCAgICAgICAgICAgICB8ICAgMzowMCB8ICAgICAgfA0KfCAzIHwgVGFzayAx IGZvciBTdWJwcm9qZWN0IEEyICAgICAgICAgICAgfCAgICAgICAgICAgICB8ICAgICAgICB8IDE6 MDAgfA0KfCAzIHwgVGFzayAyIGZvciBTdWJwcm9qZWN0IEEyICAgICAgICAgICAgfCAgICAgICAg ICAgICB8ICAgICAgICB8IDE6MDAgfA0KfCAzIHwgVGFzayAzIGZvciBTdWJwcm9qZWN0IEEyICAg ICAgICAgICAgfCAgICAgICAgICAgICB8ICAgICAgICB8IDE6MDAgfA0KfCAxIHwgUHJvamVjdCBC ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgMzowMCB8ICAgICAgICB8ICAgICAg fA0KfCAyIHwgVGFzayAxIGZvciBQcm9qZWN0IEIgICAgICAgICAgICAgICAgfCAgICAgICAgICAg ICB8ICAgMTowMCB8ICAgICAgfA0KfCAyIHwgVGFzayAyIGZvciBQcm9qZWN0IEIgICAgICAgICAg ICAgICAgfCAgICAgICAgICAgICB8ICAgMTowMCB8ICAgICAgfA0KfCAyIHwgVGFzayAzIGZvciBQ cm9qZWN0IEIgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICB8ICAgMTowMCB8ICAgICAgfA0K IytFTkQ6DQoNCioqKiBTdGVwcGVkIHRhYmxlIHdpdGhvdXQgY2xvY2t0YWcgZmVhdHVyZQ0KIytC RUdJTjogY2xvY2t0YWJsZSA6c3RlcCBkYXkgOnNjb3BlIGZpbGUgOnRzdGFydCAiWzIwMTAtMDYt MTYgV2VkIDAwOjAwXSIgOnRlbmQgIlsyMDEwLTA2LTIwIFN1biAwMDowMF0iIA0KDQpEYWlseSBy ZXBvcnQ6IFsyMDEwLTA2LTE2IFdlZF0NCnwgTCB8IEhlYWRsaW5lICAgICAgICAgICAgIHwgVGlt ZSAgICAgICAgfCAgICAgICAgfA0KfC0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0rLS0tLS0tLS18DQp8ICAgfCAqVG90YWwgdGltZSogICAgICAgICB8ICozOjAwKiAgICAg IHwgICAgICAgIHwNCnwtLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0t LS0tLS0tfA0KfCAgIHwgICAgICAgICAgICAgICAgICAgICAgfCAqRklMRSB0aW1lKiB8ICowOjAw KiB8DQp8IDEgfCBQcm9qZWN0IEIgICAgICAgICAgICB8IDM6MDAgICAgICAgIHwgICAgICAgIHwN CnwgMiB8IFRhc2sgMSBmb3IgUHJvamVjdCBCIHwgICAgICAgICAgICAgfCAgIDE6MDAgfA0KfCAy IHwgVGFzayAyIGZvciBQcm9qZWN0IEIgfCAgICAgICAgICAgICB8ICAgMTowMCB8DQp8IDIgfCBU YXNrIDMgZm9yIFByb2plY3QgQiB8ICAgICAgICAgICAgIHwgICAxOjAwIHwNCg0KRGFpbHkgcmVw b3J0OiBbMjAxMC0wNi0xNyBUaHVdDQp8IEwgfCBIZWFkbGluZSAgICAgICAgICAgICAgICAgfCBU aW1lICAgICAgICB8ICAgICAgICB8ICAgICAgfA0KfC0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLXwNCnwgICB8ICpUb3RhbCB0aW1lKiAg ICAgICAgICAgICB8ICozOjAwKiAgICAgIHwgICAgICAgIHwgICAgICB8DQp8LS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tfA0KfCAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKkZJTEUgdGltZSogfCAqMDowMCogfCAgICAgIHwN CnwgMSB8IFByb2plY3QgQSAgICAgICAgICAgICAgICB8IDM6MDAgICAgICAgIHwgICAgICAgIHwg ICAgICB8DQp8IDIgfCBTdWJwcm9qZWN0IEEyICAgICAgICAgICAgfCAgICAgICAgICAgICB8ICAg MzowMCB8ICAgICAgfA0KfCAzIHwgVGFzayAxIGZvciBTdWJwcm9qZWN0IEEyIHwgICAgICAgICAg ICAgfCAgICAgICAgfCAxOjAwIHwNCnwgMyB8IFRhc2sgMiBmb3IgU3VicHJvamVjdCBBMiB8ICAg ICAgICAgICAgIHwgICAgICAgIHwgMTowMCB8DQp8IDMgfCBUYXNrIDMgZm9yIFN1YnByb2plY3Qg QTIgfCAgICAgICAgICAgICB8ICAgICAgICB8IDE6MDAgfA0KDQpEYWlseSByZXBvcnQ6IFsyMDEw LTA2LTE4IEZyaV0NCnwgTCB8IEhlYWRsaW5lICAgICAgICAgICAgICAgICB8IFRpbWUgICAgICAg IHwgICAgICAgIHwgICAgICB8DQp8LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tfA0KfCAgIHwgKlRvdGFsIHRpbWUqICAgICAgICAgICAg IHwgKjQ6MzAqICAgICAgfCAgICAgICAgfCAgICAgIHwNCnwtLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS18DQp8ICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAqRklMRSB0aW1lKiB8ICowOjAwKiB8ICAgICAgfA0KfCAxIHwgUHJv amVjdCBBICAgICAgICAgICAgICAgIHwgNDozMCAgICAgICAgfCAgICAgICAgfCAgICAgIHwNCnwg MiB8IFN1YnByb2plY3QgQTEgICAgICAgICAgICB8ICAgICAgICAgICAgIHwgICA0OjMwIHwgICAg ICB8DQp8IDMgfCBUYXNrIDEgZm9yIFN1YnByb2plY3QgQTEgfCAgICAgICAgICAgICB8ICAgICAg ICB8IDI6MDAgfA0KfCAzIHwgVGFzayAyIGZvciBTdWJwcm9qZWN0IEExIHwgICAgICAgICAgICAg fCAgICAgICAgfCAxOjAwIHwNCnwgMyB8IFRhc2sgMyBmb3IgU3VicHJvamVjdCBBMSB8ICAgICAg ICAgICAgIHwgICAgICAgIHwgMTowMCB8DQoNCkRhaWx5IHJlcG9ydDogWzIwMTAtMDYtMTkgU2F0 XQ0KfCBMIHwgSGVhZGxpbmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBUaW1lICAgICAg ICB8ICAgICAgICB8DQp8LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLSstLS0tLS0tLXwNCnwgICB8ICpUb3RhbCB0aW1lKiAgICAgICAgICAgICAg ICAgICAgICAgIHwgKjc6MDAqICAgICAgfCAgICAgICAgfA0KfC0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS18DQp8ICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICpGSUxFIHRpbWUqIHwgKjA6MDAqIHwN CnwgMSB8IFRvZG9zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgNzowMCAgICAgICAg fCAgICAgICAgfA0KfCAyIHwgRE9ORSBVbmFsbG9jYXRlZCBUYXNrICAgICAgICAgICAgICAgfCAg ICAgICAgICAgICB8ICAgMTowMCB8DQp8IDIgfCBET05FIFNvbWUgVGFzayAgZm9yIFByb2plY3Qg QSAgICAgICB8ICAgICAgICAgICAgIHwgICAxOjAwIHwNCnwgMiB8IERPTkUgU29tZSBUYXNrIGZv ciBQcm9qZWN0IEIgICAgICAgIHwgICAgICAgICAgICAgfCAgIDE6MDAgfA0KfCAyIHwgRE9ORSBB bm90aGVyIFRhc2sgZm9yIFByb2plY3QgQSAgICAgfCAgICAgICAgICAgICB8ICAgMTowMCB8DQp8 IDIgfCBET05FIEFudG90aGVyIFRhc2sgZm9yIFByb2plY3QgQiAgICB8ICAgICAgICAgICAgIHwg ICAxOjAwIHwNCnwgMiB8IERPTkUgWWV0IGFub3RoZXIgVGFzayBmb3IgUHJvamVjdCBBIHwgICAg ICAgICAgICAgfCAgIDE6MDAgfA0KfCAyIHwgRE9ORSBZZXQgYW50b2hlciBUYXNrIGZvciBQcm9q ZWN0IEIgfCAgICAgICAgICAgICB8ICAgMTowMCB8DQojK0VORDoNCg0KKioqIFN0ZXBwZWQgdGFi bGUgd2l0aCBjbG9ja3RhZyBmZWF0dXJlDQojK0JFR0lOOiBjbG9ja3RhYmxlIDpzdGVwIGRheSA6 c2NvcGUgZmlsZSA6dHN0YXJ0ICJbMjAxMC0wNi0xNiBXZWQgMDA6MDBdIiA6dGVuZCAiWzIwMTAt MDYtMjAgU3VuIDAwOjAwXSIgOmNsb2NrdGFncyAiWzAtOV1bMC05XSINCg0KRGFpbHkgcmVwb3J0 OiBbMjAxMC0wNi0xNiBXZWRdDQp8IENsb2NrVGFnICAgIHwgTCB8IEhlYWRsaW5lICAgICAgICAg ICAgIHwgICBUaW1lIHwNCnwtLS0tLS0tLS0tLS0tKy0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tfA0KfCAgICAgICAgICAgICB8ICAgfCAqVG90YWwgdGltZSogICAgICAgICB8ICoz OjAwKiB8DQp8LS0tLS0tLS0tLS0tLSstLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LXwNCnwtLS0tLS0tLS0tLS0tKy0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tfA0K fCAwMVByb2plY3RfQiB8ICAgfCAqVG90YWwqICAgICAgICAgICAgICB8ICozOjAwKiB8DQp8LS0t LS0tLS0tLS0tLSstLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLXwNCnwgICAgICAg ICAgICAgfCAyIHwgVGFzayAxIGZvciBQcm9qZWN0IEIgfCAgIDE6MDAgfA0KfCAgICAgICAgICAg ICB8IDIgfCBUYXNrIDIgZm9yIFByb2plY3QgQiB8ICAgMTowMCB8DQp8ICAgICAgICAgICAgIHwg MiB8IFRhc2sgMyBmb3IgUHJvamVjdCBCIHwgICAxOjAwIHwNCg0KRGFpbHkgcmVwb3J0OiBbMjAx MC0wNi0xNyBUaHVdDQp8IENsb2NrVGFnICAgIHwgTCB8IEhlYWRsaW5lICAgICAgICAgICAgICAg ICB8ICAgVGltZSB8DQp8LS0tLS0tLS0tLS0tLSstLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS18DQp8ICAgICAgICAgICAgIHwgICB8ICpUb3RhbCB0aW1lKiAgICAgICAgICAg ICB8ICozOjAwKiB8DQp8LS0tLS0tLS0tLS0tLSstLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS18DQp8LS0tLS0tLS0tLS0tLSstLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS18DQp8IDAwUHJvamVjdF9BIHwgICB8ICpUb3RhbCogICAgICAgICAgICAgICAg ICB8ICozOjAwKiB8DQp8LS0tLS0tLS0tLS0tLSstLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS18DQp8ICAgICAgICAgICAgIHwgMyB8IFRhc2sgMSBmb3IgU3VicHJvamVjdCBB MiB8ICAgMTowMCB8DQp8ICAgICAgICAgICAgIHwgMyB8IFRhc2sgMiBmb3IgU3VicHJvamVjdCBB MiB8ICAgMTowMCB8DQp8ICAgICAgICAgICAgIHwgMyB8IFRhc2sgMyBmb3IgU3VicHJvamVjdCBB MiB8ICAgMTowMCB8DQoNCkRhaWx5IHJlcG9ydDogWzIwMTAtMDYtMTggRnJpXQ0KfCBDbG9ja1Rh ZyAgICB8IEwgfCBIZWFkbGluZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICBUaW1l IHwNCnwtLS0tLS0tLS0tLS0tKy0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS18DQp8ICAgICAgICAgICAgIHwgICB8ICpUb3RhbCB0aW1lKiAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAqNDozMCogfA0KfC0tLS0tLS0tLS0tLS0rLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLXwNCnwtLS0tLS0tLS0tLS0t Ky0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS18DQp8 IDAwUHJvamVjdF9BIHwgICB8ICpUb3RhbCogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAqNDozMCogfA0KfC0tLS0tLS0tLS0tLS0rLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLXwNCnwgICAgICAgICAgICAgfCAyIHwgU3VicHJvamVjdCBB MSAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMDozMCB8DQp8ICAgICAgICAgICAgIHwgMyB8 IFRhc2sgMSBmb3IgU3VicHJvamVjdCBBMSAgICAgICAgICAgICAgfCAgIDE6MDAgfA0KfCAgICAg ICAgICAgICB8IDQgfCBTdWJ0YXNrIDEgb2YgVGFzayAxIGZvciBTdWJwcm9qZWN0IEExIHwgICAx OjAwIHwNCnwgICAgICAgICAgICAgfCAzIHwgVGFzayAyIGZvciBTdWJwcm9qZWN0IEExICAgICAg ICAgICAgICB8ICAgMTowMCB8DQp8ICAgICAgICAgICAgIHwgMyB8IFRhc2sgMyBmb3IgU3VicHJv amVjdCBBMSAgICAgICAgICAgICAgfCAgIDE6MDAgfA0KDQpEYWlseSByZXBvcnQ6IFsyMDEwLTA2 LTE5IFNhdF0NCnwgQ2xvY2tUYWcgICAgfCBMIHwgSGVhZGxpbmUgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgIFRpbWUgfA0KfC0tLS0tLS0tLS0tLS0rLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS18DQp8ICAgICAgICAgICAgIHwgICB8ICpUb3Rh bCB0aW1lKiAgICAgICAgICAgICAgICAgICAgICAgIHwgKjc6MDAqIHwNCnwtLS0tLS0tLS0tLS0t Ky0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tfA0KfC0t LS0tLS0tLS0tLS0rLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS18DQp8IFVOQUxMT0NBVEVEIHwgICB8ICpUb3RhbCogICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgKjE6MDAqIHwNCnwtLS0tLS0tLS0tLS0tKy0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tfA0KfCAgICAgICAgICAgICB8IDIgfCBET05FIFVu YWxsb2NhdGVkIFRhc2sgICAgICAgICAgICAgICB8ICAgMTowMCB8DQp8LS0tLS0tLS0tLS0tLSst LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLXwNCnwgMDBQ cm9qZWN0X0EgfCAgIHwgKlRvdGFsKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAqMzow MCogfA0KfC0tLS0tLS0tLS0tLS0rLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS18DQp8ICAgICAgICAgICAgIHwgMiB8IERPTkUgU29tZSBUYXNrICBmb3Ig UHJvamVjdCBBICAgICAgIHwgICAxOjAwIHwNCnwgICAgICAgICAgICAgfCAyIHwgRE9ORSBBbm90 aGVyIFRhc2sgZm9yIFByb2plY3QgQSAgICAgfCAgIDE6MDAgfA0KfCAgICAgICAgICAgICB8IDIg fCBET05FIFlldCBhbm90aGVyIFRhc2sgZm9yIFByb2plY3QgQSB8ICAgMTowMCB8DQp8LS0tLS0t LS0tLS0tLSstLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LXwNCnwgMDFQcm9qZWN0X0IgfCAgIHwgKlRvdGFsKiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAqMzowMCogfA0KfC0tLS0tLS0tLS0tLS0rLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS18DQp8ICAgICAgICAgICAgIHwgMiB8IERPTkUgU29tZSBU YXNrIGZvciBQcm9qZWN0IEIgICAgICAgIHwgICAxOjAwIHwNCnwgICAgICAgICAgICAgfCAyIHwg RE9ORSBBbnRvdGhlciBUYXNrIGZvciBQcm9qZWN0IEIgICAgfCAgIDE6MDAgfA0KfCAgICAgICAg ICAgICB8IDIgfCBET05FIFlldCBhbnRvaGVyIFRhc2sgZm9yIFByb2plY3QgQiB8ICAgMTowMCB8 DQojK0VORDoNCg0KKioqIEFsaXN0IG91dHB1dCBvZiBjbG9ja3RhYmxlIGZlYXR1cmUNCiMrYmVn aW5fc3JjIGVtYWNzLWxpc3AgOnJlc3VsdHMgb3V0cHV0IHBwDQooc2F2ZS1leGN1cnNpb24NCiAo b3JnLWRibG9jay13cml0ZTpjbG9ja3RhYmxlIA0KICAgJyg6dG9fYWxpc3QgMSANCiAgICAgOnNj b3BlIGZpbGUgDQogICAgIDp0c3RhcnQgIlsyMDEwLTA2LTE2IFdlZCAwMDowMF0iIA0KICAgICA6 dGVuZCAiWzIwMTAtMDYtMjAgU3VuIDAwOjAwXSIgDQogICAgIDpjbG9ja3RhZ3MgIlswLTldWzAt OV0iKSkNCg0KKQ0KIytlbmRfc3JjDQoNClJlc3VsdHMgaW46DQoNCiMrYmVnaW5fc3JjIGVtYWNz LWxpc3ANCigoKChsZXZlbCAuIDIpDQogICAodHNwIC4gIiIpDQogICAodGl0bGUgLg0KICAgICAg ICAgICMoIlRhc2sgMyBmb3IgUHJvamVjdCBCIiAwIDIwDQogICAgICAgICAgICAoOm9yZy1jbG9j ay1taW51dGVzIDYwIDpvcmctY2xvY2staC1taW51dGVzIDYwIGZhY2Ugb3JnLWxldmVsLTIgb3Jn LWNhdGVnb3J5ICJjbG9ja3RhZ3NfdGVzdCIgZm9udGlmaWVkIG5pbCkpKQ0KICAgKGhsYyAuICIi KQ0KICAgKHRhZyAuDQogICAgICAgICMoIjAxUHJvamVjdF9CIiAwIDExDQogICAgICAgICAgKGlu aGVyaXRlZCB0KSkpDQogICAodGltZSAuIDYwKSkNCiAgKChsZXZlbCAuIDIpDQogICAodHNwIC4g IiIpDQogICAodGl0bGUgLg0KICAgICAgICAgICMoIlRhc2sgMiBmb3IgUHJvamVjdCBCIiAwIDIw DQogICAgICAgICAgICAoOm9yZy1jbG9jay1taW51dGVzIDYwIDpvcmctY2xvY2staC1taW51dGVz IDYwIGZhY2Ugb3JnLWxldmVsLTIgb3JnLWNhdGVnb3J5ICJjbG9ja3RhZ3NfdGVzdCIgZm9udGlm aWVkIG5pbCkpKQ0KICAgKGhsYyAuICIiKQ0KICAgKHRhZyAuDQogICAgICAgICMoIjAxUHJvamVj dF9CIiAwIDExDQogICAgICAgICAgKGluaGVyaXRlZCB0KSkpDQogICAodGltZSAuIDYwKSkNCiAg KChsZXZlbCAuIDIpDQogICAodHNwIC4gIiIpDQogICAodGl0bGUgLg0KICAgICAgICAgICMoIlRh c2sgMSBmb3IgUHJvamVjdCBCIiAwIDIwDQogICAgICAgICAgICAoOm9yZy1jbG9jay1taW51dGVz IDYwIDpvcmctY2xvY2staC1taW51dGVzIDYwIGZhY2Ugb3JnLWxldmVsLTIgb3JnLWNhdGVnb3J5 ICJjbG9ja3RhZ3NfdGVzdCIgZm9udGlmaWVkIG5pbCkpKQ0KICAgKGhsYyAuICIiKQ0KICAgKHRh ZyAuDQogICAgICAgICMoIjAxUHJvamVjdF9CIiAwIDExDQogICAgICAgICAgKGluaGVyaXRlZCB0 KSkpDQogICAodGltZSAuIDYwKSkNCiAgKChsZXZlbCAuIDEpDQogICAodHNwIC4gIiIpDQogICAo dGl0bGUgLg0KICAgICAgICAgICMoIlByb2plY3QgQiIgMCA5DQogICAgICAgICAgICAoOm9yZy1j bG9jay1taW51dGVzIDE4MCA6b3JnLWNsb2NrLWgtbWludXRlcyAwIGZhY2Ugb3JnLWxldmVsLTEg b3JnLWNhdGVnb3J5ICJjbG9ja3RhZ3NfdGVzdCIgZm9udGlmaWVkIG5pbCkpKQ0KICAgKGhsYyAu ICIiKQ0KICAgKHRhZyAuICIwMVByb2plY3RfQiIpDQogICAodGltZSAuIDApKQ0KICAoKGxldmVs IC4gMykNCiAgICh0c3AgLiAiIikNCiAgICh0aXRsZSAuDQogICAgICAgICAgIygiVGFzayAzIGZv ciBTdWJwcm9qZWN0IEEyIiAwIDI0DQogICAgICAgICAgICAoOm9yZy1jbG9jay1taW51dGVzIDYw IDpvcmctY2xvY2staC1taW51dGVzIDYwIGZhY2Ugb3JnLWxldmVsLTMgb3JnLWNhdGVnb3J5ICJj bG9ja3RhZ3NfdGVzdCIgZm9udGlmaWVkIG5pbCkpKQ0KICAgKGhsYyAuICIiKQ0KICAgKHRhZyAu DQogICAgICAgICMoIjAwUHJvamVjdF9BIiAwIDExDQogICAgICAgICAgKGluaGVyaXRlZCB0KSkp DQogICAodGltZSAuIDYwKSkNCiAgKChsZXZlbCAuIDMpDQogICAodHNwIC4gIiIpDQogICAodGl0 bGUgLg0KICAgICAgICAgICMoIlRhc2sgMiBmb3IgU3VicHJvamVjdCBBMiIgMCAyNA0KICAgICAg ICAgICAgKDpvcmctY2xvY2stbWludXRlcyA2MCA6b3JnLWNsb2NrLWgtbWludXRlcyA2MCBmYWNl IG9yZy1sZXZlbC0zIG9yZy1jYXRlZ29yeSAiY2xvY2t0YWdzX3Rlc3QiIGZvbnRpZmllZCBuaWwp KSkNCiAgIChobGMgLiAiIikNCiAgICh0YWcgLg0KICAgICAgICAjKCIwMFByb2plY3RfQSIgMCAx MQ0KICAgICAgICAgIChpbmhlcml0ZWQgdCkpKQ0KICAgKHRpbWUgLiA2MCkpDQogICgobGV2ZWwg LiAzKQ0KICAgKHRzcCAuICIiKQ0KICAgKHRpdGxlIC4NCiAgICAgICAgICAjKCJUYXNrIDEgZm9y IFN1YnByb2plY3QgQTIiIDAgMjQNCiAgICAgICAgICAgICg6b3JnLWNsb2NrLW1pbnV0ZXMgNjAg Om9yZy1jbG9jay1oLW1pbnV0ZXMgNjAgZmFjZSBvcmctbGV2ZWwtMyBvcmctY2F0ZWdvcnkgImNs b2NrdGFnc190ZXN0IiBmb250aWZpZWQgbmlsKSkpDQogICAoaGxjIC4gIiIpDQogICAodGFnIC4N CiAgICAgICAgIygiMDBQcm9qZWN0X0EiIDAgMTENCiAgICAgICAgICAoaW5oZXJpdGVkIHQpKSkN CiAgICh0aW1lIC4gNjApKQ0KICAoKGxldmVsIC4gMikNCiAgICh0c3AgLiAiIikNCiAgICh0aXRs ZSAuDQogICAgICAgICAgIygiU3VicHJvamVjdCBBMiIgMCAxMw0KICAgICAgICAgICAgKDpvcmct Y2xvY2stbWludXRlcyAxODAgOm9yZy1jbG9jay1oLW1pbnV0ZXMgMCBmYWNlIG9yZy1sZXZlbC0y IG9yZy1jYXRlZ29yeSAiY2xvY2t0YWdzX3Rlc3QiIGZvbnRpZmllZCBuaWwpKSkNCiAgIChobGMg LiAiIikNCiAgICh0YWcgLg0KICAgICAgICAjKCIwMFByb2plY3RfQSIgMCAxMQ0KICAgICAgICAg IChpbmhlcml0ZWQgdCkpKQ0KICAgKHRpbWUgLiAwKSkNCiAgKChsZXZlbCAuIDMpDQogICAodHNw IC4gIiIpDQogICAodGl0bGUgLg0KICAgICAgICAgICMoIlRhc2sgMyBmb3IgU3VicHJvamVjdCBB MSIgMCAyNA0KICAgICAgICAgICAgKDpvcmctY2xvY2stbWludXRlcyA2MCA6b3JnLWNsb2NrLWgt bWludXRlcyA2MCBmYWNlIG9yZy1sZXZlbC0zIG9yZy1jYXRlZ29yeSAiY2xvY2t0YWdzX3Rlc3Qi IGZvbnRpZmllZCBuaWwpKSkNCiAgIChobGMgLiAiIikNCiAgICh0YWcgLg0KICAgICAgICAjKCIw MFByb2plY3RfQSIgMCAxMQ0KICAgICAgICAgIChpbmhlcml0ZWQgdCkpKQ0KICAgKHRpbWUgLiA2 MCkpDQogICgobGV2ZWwgLiAzKQ0KICAgKHRzcCAuICIiKQ0KICAgKHRpdGxlIC4NCiAgICAgICAg ICAjKCJUYXNrIDIgZm9yIFN1YnByb2plY3QgQTEiIDAgMjQNCiAgICAgICAgICAgICg6b3JnLWNs b2NrLW1pbnV0ZXMgNjAgOm9yZy1jbG9jay1oLW1pbnV0ZXMgNjAgZmFjZSBvcmctbGV2ZWwtMyBv cmctY2F0ZWdvcnkgImNsb2NrdGFnc190ZXN0IiBmb250aWZpZWQgbmlsKSkpDQogICAoaGxjIC4g IiIpDQogICAodGFnIC4NCiAgICAgICAgIygiMDBQcm9qZWN0X0EiIDAgMTENCiAgICAgICAgICAo aW5oZXJpdGVkIHQpKSkNCiAgICh0aW1lIC4gNjApKQ0KICAoKGxldmVsIC4gNCkNCiAgICh0c3Ag LiAiIikNCiAgICh0aXRsZSAuDQogICAgICAgICAgIygiU3VidGFzayAxIG9mIFRhc2sgMSBmb3Ig U3VicHJvamVjdCBBMSIgMCAxMw0KICAgICAgICAgICAgKDpvcmctY2xvY2stbWludXRlcyA2MCA6 b3JnLWNsb2NrLWgtbWludXRlcyA2MCBmYWNlIG9yZy1sZXZlbC00IG9yZy1jYXRlZ29yeSAiY2xv Y2t0YWdzX3Rlc3QiIGZvbnRpZmllZCBuaWwpDQogICAgICAgICAgICAxMyAzNw0KICAgICAgICAg ICAgKDpvcmctY2xvY2stbWludXRlcyA2MCA6b3JnLWNsb2NrLWgtbWludXRlcyA2MCBmYWNlIG9y Zy1sZXZlbC00IGZvbnRpZmllZCBuaWwgb3JnLWNhdGVnb3J5ICJjbG9ja3RhZ3NfdGVzdCIpKSkN CiAgIChobGMgLiAiIikNCiAgICh0YWcgLg0KICAgICAgICAjKCIwMFByb2plY3RfQSIgMCAxMQ0K ICAgICAgICAgIChpbmhlcml0ZWQgdCkpKQ0KICAgKHRpbWUgLiA2MCkpDQogICgobGV2ZWwgLiAz KQ0KICAgKHRzcCAuICIiKQ0KICAgKHRpdGxlIC4NCiAgICAgICAgICAjKCJUYXNrIDEgZm9yIFN1 YnByb2plY3QgQTEiIDAgMjQNCiAgICAgICAgICAgICg6b3JnLWNsb2NrLW1pbnV0ZXMgMTIwIDpv cmctY2xvY2staC1taW51dGVzIDYwIGZhY2Ugb3JnLWxldmVsLTMgZm9udGlmaWVkIG5pbCBvcmct Y2F0ZWdvcnkgImNsb2NrdGFnc190ZXN0IikpKQ0KICAgKGhsYyAuICIiKQ0KICAgKHRhZyAuDQog ICAgICAgICMoIjAwUHJvamVjdF9BIiAwIDExDQogICAgICAgICAgKGluaGVyaXRlZCB0KSkpDQog ICAodGltZSAuIDYwKSkNCiAgKChsZXZlbCAuIDIpDQogICAodHNwIC4gIiIpDQogICAodGl0bGUg Lg0KICAgICAgICAgICMoIlN1YnByb2plY3QgQTEiIDAgMTMNCiAgICAgICAgICAgICg6b3JnLWNs b2NrLW1pbnV0ZXMgMjcwIDpvcmctY2xvY2staC1taW51dGVzIDMwIGZhY2Ugb3JnLWxldmVsLTIg b3JnLWNhdGVnb3J5ICJjbG9ja3RhZ3NfdGVzdCIgZm9udGlmaWVkIG5pbCkpKQ0KICAgKGhsYyAu ICIiKQ0KICAgKHRhZyAuDQogICAgICAgICMoIjAwUHJvamVjdF9BIiAwIDExDQogICAgICAgICAg KGluaGVyaXRlZCB0KSkpDQogICAodGltZSAuIDMwKSkNCiAgKChsZXZlbCAuIDEpDQogICAodHNw IC4gIiIpDQogICAodGl0bGUgLg0KICAgICAgICAgICMoIlByb2plY3QgQSIgMCA5DQogICAgICAg ICAgICAoOm9yZy1jbG9jay1taW51dGVzIDQ1MCA6b3JnLWNsb2NrLWgtbWludXRlcyAwIGZhY2Ug b3JnLWxldmVsLTEgb3JnLWNhdGVnb3J5ICJjbG9ja3RhZ3NfdGVzdCIgZm9udGlmaWVkIG5pbCkp KQ0KICAgKGhsYyAuICIiKQ0KICAgKHRhZyAuICIwMFByb2plY3RfQSIpDQogICAodGltZSAuIDAp KQ0KICAoKGxldmVsIC4gMikNCiAgICh0c3AgLiAiIikNCiAgICh0aXRsZSAuDQogICAgICAgICAg IygiRE9ORSBZZXQgYW50b2hlciBUYXNrIGZvciBQcm9qZWN0IEIiIDAgNA0KICAgICAgICAgICAg KDpvcmctY2xvY2stbWludXRlcyA2MCA6b3JnLWNsb2NrLWgtbWludXRlcyA2MCBmYWNlIG9yZy1k b25lIG9yZy1jYXRlZ29yeSAiY2xvY2t0YWdzX3Rlc3QiIGZvbnRpZmllZCBuaWwpDQogICAgICAg ICAgICA0IDM1DQogICAgICAgICAgICAoOm9yZy1jbG9jay1taW51dGVzIDYwIDpvcmctY2xvY2st aC1taW51dGVzIDYwIGZhY2Ugb3JnLWxldmVsLTIgb3JnLWNhdGVnb3J5ICJjbG9ja3RhZ3NfdGVz dCIgZm9udGlmaWVkIG5pbCkpKQ0KICAgKGhsYyAuICIiKQ0KICAgKHRhZyAuICIwMVByb2plY3Rf QiIpDQogICAodGltZSAuIDYwKSkNCiAgKChsZXZlbCAuIDIpDQogICAodHNwIC4gIiIpDQogICAo dGl0bGUgLg0KICAgICAgICAgICMoIkRPTkUgWWV0IGFub3RoZXIgVGFzayBmb3IgUHJvamVjdCBB IiAwIDQNCiAgICAgICAgICAgICg6b3JnLWNsb2NrLW1pbnV0ZXMgNjAgOm9yZy1jbG9jay1oLW1p bnV0ZXMgNjAgZmFjZSBvcmctZG9uZSBvcmctY2F0ZWdvcnkgImNsb2NrdGFnc190ZXN0IiBmb250 aWZpZWQgbmlsKQ0KICAgICAgICAgICAgNCAzNA0KICAgICAgICAgICAgKDpvcmctY2xvY2stbWlu dXRlcyA2MCA6b3JnLWNsb2NrLWgtbWludXRlcyA2MCBmYWNlIG9yZy1sZXZlbC0yIG9yZy1jYXRl Z29yeSAiY2xvY2t0YWdzX3Rlc3QiIGZvbnRpZmllZCBuaWwpDQogICAgICAgICAgICAzNCAzNQ0K ICAgICAgICAgICAgKDpvcmctY2xvY2stbWludXRlcyA2MCA6b3JnLWNsb2NrLWgtbWludXRlcyA2 MCBmYWNlIG9yZy1sZXZlbC0yIG9yZy1jYXRlZ29yeSAiY2xvY2t0YWdzX3Rlc3QiIHJlYXItbm9u c3RpY2t5IHQgZm9udGlmaWVkIG5pbCkpKQ0KICAgKGhsYyAuICIiKQ0KICAgKHRhZyAuICIwMFBy b2plY3RfQSIpDQogICAodGltZSAuIDYwKSkNCiAgKChsZXZlbCAuIDIpDQogICAodHNwIC4gIiIp DQogICAodGl0bGUgLg0KICAgICAgICAgICMoIkRPTkUgQW50b3RoZXIgVGFzayBmb3IgUHJvamVj dCBCIiAwIDQNCiAgICAgICAgICAgICg6b3JnLWNsb2NrLW1pbnV0ZXMgNjAgOm9yZy1jbG9jay1o LW1pbnV0ZXMgNjAgZmFjZSBvcmctZG9uZSBvcmctY2F0ZWdvcnkgImNsb2NrdGFnc190ZXN0IiBm b250aWZpZWQgbmlsKQ0KICAgICAgICAgICAgNCAzMg0KICAgICAgICAgICAgKDpvcmctY2xvY2st bWludXRlcyA2MCA6b3JnLWNsb2NrLWgtbWludXRlcyA2MCBmYWNlIG9yZy1sZXZlbC0yIG9yZy1j YXRlZ29yeSAiY2xvY2t0YWdzX3Rlc3QiIGZvbnRpZmllZCBuaWwpKSkNCiAgIChobGMgLiAiIikN CiAgICh0YWcgLiAiMDFQcm9qZWN0X0IiKQ0KICAgKHRpbWUgLiA2MCkpDQogICgobGV2ZWwgLiAy KQ0KICAgKHRzcCAuICIiKQ0KICAgKHRpdGxlIC4NCiAgICAgICAgICAjKCJET05FIEFub3RoZXIg VGFzayBmb3IgUHJvamVjdCBBIiAwIDQNCiAgICAgICAgICAgICg6b3JnLWNsb2NrLW1pbnV0ZXMg NjAgOm9yZy1jbG9jay1oLW1pbnV0ZXMgNjAgZmFjZSBvcmctZG9uZSBvcmctY2F0ZWdvcnkgImNs b2NrdGFnc190ZXN0IiBmb250aWZpZWQgbmlsKQ0KICAgICAgICAgICAgNCAzMA0KICAgICAgICAg ICAgKDpvcmctY2xvY2stbWludXRlcyA2MCA6b3JnLWNsb2NrLWgtbWludXRlcyA2MCBmYWNlIG9y Zy1sZXZlbC0yIG9yZy1jYXRlZ29yeSAiY2xvY2t0YWdzX3Rlc3QiIGZvbnRpZmllZCBuaWwpDQog ICAgICAgICAgICAzMCAzMQ0KICAgICAgICAgICAgKDpvcmctY2xvY2stbWludXRlcyA2MCA6b3Jn LWNsb2NrLWgtbWludXRlcyA2MCBmYWNlIG9yZy1sZXZlbC0yIG9yZy1jYXRlZ29yeSAiY2xvY2t0 YWdzX3Rlc3QiIHJlYXItbm9uc3RpY2t5IHQgZm9udGlmaWVkIG5pbCkpKQ0KICAgKGhsYyAuICIi KQ0KICAgKHRhZyAuICIwMFByb2plY3RfQSIpDQogICAodGltZSAuIDYwKSkNCiAgKChsZXZlbCAu IDIpDQogICAodHNwIC4gIiIpDQogICAodGl0bGUgLg0KICAgICAgICAgICMoIkRPTkUgU29tZSBU YXNrIGZvciBQcm9qZWN0IEIiIDAgNA0KICAgICAgICAgICAgKDpvcmctY2xvY2stbWludXRlcyA2 MCA6b3JnLWNsb2NrLWgtbWludXRlcyA2MCBmYWNlIG9yZy1kb25lIG9yZy1jYXRlZ29yeSAiY2xv Y2t0YWdzX3Rlc3QiIGZvbnRpZmllZCBuaWwpDQogICAgICAgICAgICA0IDI4DQogICAgICAgICAg ICAoOm9yZy1jbG9jay1taW51dGVzIDYwIDpvcmctY2xvY2staC1taW51dGVzIDYwIGZhY2Ugb3Jn LWxldmVsLTIgb3JnLWNhdGVnb3J5ICJjbG9ja3RhZ3NfdGVzdCIgZm9udGlmaWVkIG5pbCkpKQ0K ICAgKGhsYyAuICIiKQ0KICAgKHRhZyAuICIwMVByb2plY3RfQiIpDQogICAodGltZSAuIDYwKSkN CiAgKChsZXZlbCAuIDIpDQogICAodHNwIC4gIiIpDQogICAodGl0bGUgLg0KICAgICAgICAgICMo IkRPTkUgU29tZSBUYXNrICBmb3IgUHJvamVjdCBBIiAwIDQNCiAgICAgICAgICAgICg6b3JnLWNs b2NrLW1pbnV0ZXMgNjAgOm9yZy1jbG9jay1oLW1pbnV0ZXMgNjAgZmFjZSBvcmctZG9uZSBvcmct Y2F0ZWdvcnkgImNsb2NrdGFnc190ZXN0IiBmb250aWZpZWQgbmlsKQ0KICAgICAgICAgICAgNCAy OA0KICAgICAgICAgICAgKDpvcmctY2xvY2stbWludXRlcyA2MCA6b3JnLWNsb2NrLWgtbWludXRl cyA2MCBmYWNlIG9yZy1sZXZlbC0yIG9yZy1jYXRlZ29yeSAiY2xvY2t0YWdzX3Rlc3QiIGZvbnRp ZmllZCBuaWwpDQogICAgICAgICAgICAyOCAyOQ0KICAgICAgICAgICAgKDpvcmctY2xvY2stbWlu dXRlcyA2MCA6b3JnLWNsb2NrLWgtbWludXRlcyA2MCBmYWNlIG9yZy1sZXZlbC0yIG9yZy1jYXRl Z29yeSAiY2xvY2t0YWdzX3Rlc3QiIHJlYXItbm9uc3RpY2t5IHQgZm9udGlmaWVkIG5pbCkpKQ0K ICAgKGhsYyAuICIiKQ0KICAgKHRhZyAuICIwMFByb2plY3RfQSIpDQogICAodGltZSAuIDYwKSkN CiAgKChsZXZlbCAuIDIpDQogICAodHNwIC4gIiIpDQogICAodGl0bGUgLg0KICAgICAgICAgICMo IkRPTkUgVW5hbGxvY2F0ZWQgVGFzayIgMCA0DQogICAgICAgICAgICAoOm9yZy1jbG9jay1taW51 dGVzIDYwIDpvcmctY2xvY2staC1taW51dGVzIDYwIGZhY2Ugb3JnLWRvbmUgb3JnLWNhdGVnb3J5 ICJjbG9ja3RhZ3NfdGVzdCIgZm9udGlmaWVkIG5pbCkNCiAgICAgICAgICAgIDQgMjENCiAgICAg ICAgICAgICg6b3JnLWNsb2NrLW1pbnV0ZXMgNjAgOm9yZy1jbG9jay1oLW1pbnV0ZXMgNjAgZmFj ZSBvcmctbGV2ZWwtMiBvcmctY2F0ZWdvcnkgImNsb2NrdGFnc190ZXN0IiBmb250aWZpZWQgbmls KSkpDQogICAoaGxjIC4gIiIpDQogICAodGFnIC4gIiIpDQogICAodGltZSAuIDYwKSkNCiAgKChs ZXZlbCAuIDEpDQogICAodHNwIC4gIiIpDQogICAodGl0bGUgLg0KICAgICAgICAgICMoIlRvZG9z IiAwIDUNCiAgICAgICAgICAgICg6b3JnLWNsb2NrLW1pbnV0ZXMgNDIwIDpvcmctY2xvY2staC1t aW51dGVzIDAgZmFjZSBvcmctbGV2ZWwtMSBvcmctY2F0ZWdvcnkgImNsb2NrdGFnc190ZXN0IiBm b250aWZpZWQgbmlsKSkpDQogICAoaGxjIC4gIiIpDQogICAodGFnIC4gIiIpDQogICAodGltZSAu IDApKSkNCiAoKCMoIjAxUHJvamVjdF9CIiAwIDExDQogICAgIChpbmhlcml0ZWQgdCkpDQogICAu IDM2MCkNCiAgKCMoIjAwUHJvamVjdF9BIiAwIDExDQogICAgIChpbmhlcml0ZWQgdCkpDQogICAu IDYzMCkNCiAgKCIiIC4gNjApKSkNCiMrZW5kX3NyYw0KDQoNCg0KDQoNCioqKiBBbGlzdCBvdXRw dXQgb2YgY2xvY2t0YWJsZSBmZWF0dXJlIChzdGVwcGVkKQ0KIytiZWdpbl9zcmMgZW1hY3MtbGlz cCA6cmVzdWx0cyB2YWx1ZSBwcA0KKHNhdmUtZXhjdXJzaW9uDQogKG9yZy1kYmxvY2std3JpdGU6 Y2xvY2t0YWJsZSANCiAgICcoOnRvX2FsaXN0IDENCiAgICAgOnN0ZXAgZGF5DQogICAgIDpzY29w ZSBmaWxlIA0KICAgICA6dHN0YXJ0ICJbMjAxMC0wNi0xNiBXZWQgMDA6MDBdIiANCiAgICAgOnRl bmQgIlsyMDEwLTA2LTIwIFN1biAwMDowMF0iIA0KICAgICA6Y2xvY2t0YWdzICJbMC05XVswLTld IikpDQopDQojK2VuZF9zcmMNCg0KUmVzdWx0cyBpbjoNCg0KIytiZWdpbl9zcmMgZW1hY3NfbGlz cA0KKCgiWzIwMTAtMDYtMTkgU2F0XSINCiAgKCgobGV2ZWwgLiAyKQ0KICAgICh0c3AgLiAiIikN CiAgICAodGl0bGUgLg0KICAgICAgICAgICAjKCJET05FIFlldCBhbnRvaGVyIFRhc2sgZm9yIFBy b2plY3QgQiIgMCA0DQogICAgICAgICAgICAgKDpvcmctY2xvY2stbWludXRlcyA2MCA6b3JnLWNs b2NrLWgtbWludXRlcyA2MCBmYWNlIG9yZy1kb25lIG9yZy1jYXRlZ29yeSAiY2xvY2t0YWdzX3Rl c3QiIGZvbnRpZmllZCBuaWwpDQogICAgICAgICAgICAgNCAzNQ0KICAgICAgICAgICAgICg6b3Jn LWNsb2NrLW1pbnV0ZXMgNjAgOm9yZy1jbG9jay1oLW1pbnV0ZXMgNjAgZmFjZSBvcmctbGV2ZWwt MiBvcmctY2F0ZWdvcnkgImNsb2NrdGFnc190ZXN0IiBmb250aWZpZWQgbmlsKSkpDQogICAgKGhs YyAuICIiKQ0KICAgICh0YWcgLiAiMDFQcm9qZWN0X0IiKQ0KICAgICh0aW1lIC4gNjApKQ0KICAg KChsZXZlbCAuIDIpDQogICAgKHRzcCAuICIiKQ0KICAgICh0aXRsZSAuDQogICAgICAgICAgICMo IkRPTkUgWWV0IGFub3RoZXIgVGFzayBmb3IgUHJvamVjdCBBIiAwIDQNCiAgICAgICAgICAgICAo Om9yZy1jbG9jay1taW51dGVzIDYwIDpvcmctY2xvY2staC1taW51dGVzIDYwIGZhY2Ugb3JnLWRv bmUgb3JnLWNhdGVnb3J5ICJjbG9ja3RhZ3NfdGVzdCIgZm9udGlmaWVkIG5pbCkNCiAgICAgICAg ICAgICA0IDM0DQogICAgICAgICAgICAgKDpvcmctY2xvY2stbWludXRlcyA2MCA6b3JnLWNsb2Nr LWgtbWludXRlcyA2MCBmYWNlIG9yZy1sZXZlbC0yIG9yZy1jYXRlZ29yeSAiY2xvY2t0YWdzX3Rl c3QiIGZvbnRpZmllZCBuaWwpDQogICAgICAgICAgICAgMzQgMzUNCiAgICAgICAgICAgICAoOm9y Zy1jbG9jay1taW51dGVzIDYwIDpvcmctY2xvY2staC1taW51dGVzIDYwIGZhY2Ugb3JnLWxldmVs LTIgb3JnLWNhdGVnb3J5ICJjbG9ja3RhZ3NfdGVzdCIgcmVhci1ub25zdGlja3kgdCBmb250aWZp ZWQgbmlsKSkpDQogICAgKGhsYyAuICIiKQ0KICAgICh0YWcgLiAiMDBQcm9qZWN0X0EiKQ0KICAg ICh0aW1lIC4gNjApKQ0KICAgKChsZXZlbCAuIDIpDQogICAgKHRzcCAuICIiKQ0KICAgICh0aXRs ZSAuDQogICAgICAgICAgICMoIkRPTkUgQW50b3RoZXIgVGFzayBmb3IgUHJvamVjdCBCIiAwIDQN CiAgICAgICAgICAgICAoOm9yZy1jbG9jay1taW51dGVzIDYwIDpvcmctY2xvY2staC1taW51dGVz IDYwIGZhY2Ugb3JnLWRvbmUgb3JnLWNhdGVnb3J5ICJjbG9ja3RhZ3NfdGVzdCIgZm9udGlmaWVk IG5pbCkNCiAgICAgICAgICAgICA0IDMyDQogICAgICAgICAgICAgKDpvcmctY2xvY2stbWludXRl cyA2MCA6b3JnLWNsb2NrLWgtbWludXRlcyA2MCBmYWNlIG9yZy1sZXZlbC0yIG9yZy1jYXRlZ29y eSAiY2xvY2t0YWdzX3Rlc3QiIGZvbnRpZmllZCBuaWwpKSkNCiAgICAoaGxjIC4gIiIpDQogICAg KHRhZyAuICIwMVByb2plY3RfQiIpDQogICAgKHRpbWUgLiA2MCkpDQogICAoKGxldmVsIC4gMikN CiAgICAodHNwIC4gIiIpDQogICAgKHRpdGxlIC4NCiAgICAgICAgICAgIygiRE9ORSBBbm90aGVy IFRhc2sgZm9yIFByb2plY3QgQSIgMCA0DQogICAgICAgICAgICAgKDpvcmctY2xvY2stbWludXRl cyA2MCA6b3JnLWNsb2NrLWgtbWludXRlcyA2MCBmYWNlIG9yZy1kb25lIG9yZy1jYXRlZ29yeSAi Y2xvY2t0YWdzX3Rlc3QiIGZvbnRpZmllZCBuaWwpDQogICAgICAgICAgICAgNCAzMA0KICAgICAg ICAgICAgICg6b3JnLWNsb2NrLW1pbnV0ZXMgNjAgOm9yZy1jbG9jay1oLW1pbnV0ZXMgNjAgZmFj ZSBvcmctbGV2ZWwtMiBvcmctY2F0ZWdvcnkgImNsb2NrdGFnc190ZXN0IiBmb250aWZpZWQgbmls KQ0KICAgICAgICAgICAgIDMwIDMxDQogICAgICAgICAgICAgKDpvcmctY2xvY2stbWludXRlcyA2 MCA6b3JnLWNsb2NrLWgtbWludXRlcyA2MCBmYWNlIG9yZy1sZXZlbC0yIG9yZy1jYXRlZ29yeSAi Y2xvY2t0YWdzX3Rlc3QiIHJlYXItbm9uc3RpY2t5IHQgZm9udGlmaWVkIG5pbCkpKQ0KICAgICho bGMgLiAiIikNCiAgICAodGFnIC4gIjAwUHJvamVjdF9BIikNCiAgICAodGltZSAuIDYwKSkNCiAg ICgobGV2ZWwgLiAyKQ0KICAgICh0c3AgLiAiIikNCiAgICAodGl0bGUgLg0KICAgICAgICAgICAj KCJET05FIFNvbWUgVGFzayBmb3IgUHJvamVjdCBCIiAwIDQNCiAgICAgICAgICAgICAoOm9yZy1j bG9jay1taW51dGVzIDYwIDpvcmctY2xvY2staC1taW51dGVzIDYwIGZhY2Ugb3JnLWRvbmUgb3Jn LWNhdGVnb3J5ICJjbG9ja3RhZ3NfdGVzdCIgZm9udGlmaWVkIG5pbCkNCiAgICAgICAgICAgICA0 IDI4DQogICAgICAgICAgICAgKDpvcmctY2xvY2stbWludXRlcyA2MCA6b3JnLWNsb2NrLWgtbWlu dXRlcyA2MCBmYWNlIG9yZy1sZXZlbC0yIG9yZy1jYXRlZ29yeSAiY2xvY2t0YWdzX3Rlc3QiIGZv bnRpZmllZCBuaWwpKSkNCiAgICAoaGxjIC4gIiIpDQogICAgKHRhZyAuICIwMVByb2plY3RfQiIp DQogICAgKHRpbWUgLiA2MCkpDQogICAoKGxldmVsIC4gMikNCiAgICAodHNwIC4gIiIpDQogICAg KHRpdGxlIC4NCiAgICAgICAgICAgIygiRE9ORSBTb21lIFRhc2sgIGZvciBQcm9qZWN0IEEiIDAg NA0KICAgICAgICAgICAgICg6b3JnLWNsb2NrLW1pbnV0ZXMgNjAgOm9yZy1jbG9jay1oLW1pbnV0 ZXMgNjAgZmFjZSBvcmctZG9uZSBvcmctY2F0ZWdvcnkgImNsb2NrdGFnc190ZXN0IiBmb250aWZp ZWQgbmlsKQ0KICAgICAgICAgICAgIDQgMjgNCiAgICAgICAgICAgICAoOm9yZy1jbG9jay1taW51 dGVzIDYwIDpvcmctY2xvY2staC1taW51dGVzIDYwIGZhY2Ugb3JnLWxldmVsLTIgb3JnLWNhdGVn b3J5ICJjbG9ja3RhZ3NfdGVzdCIgZm9udGlmaWVkIG5pbCkNCiAgICAgICAgICAgICAyOCAyOQ0K ICAgICAgICAgICAgICg6b3JnLWNsb2NrLW1pbnV0ZXMgNjAgOm9yZy1jbG9jay1oLW1pbnV0ZXMg NjAgZmFjZSBvcmctbGV2ZWwtMiBvcmctY2F0ZWdvcnkgImNsb2NrdGFnc190ZXN0IiByZWFyLW5v bnN0aWNreSB0IGZvbnRpZmllZCBuaWwpKSkNCiAgICAoaGxjIC4gIiIpDQogICAgKHRhZyAuICIw MFByb2plY3RfQSIpDQogICAgKHRpbWUgLiA2MCkpDQogICAoKGxldmVsIC4gMikNCiAgICAodHNw IC4gIiIpDQogICAgKHRpdGxlIC4NCiAgICAgICAgICAgIygiRE9ORSBVbmFsbG9jYXRlZCBUYXNr IiAwIDQNCiAgICAgICAgICAgICAoOm9yZy1jbG9jay1taW51dGVzIDYwIDpvcmctY2xvY2staC1t aW51dGVzIDYwIGZhY2Ugb3JnLWRvbmUgb3JnLWNhdGVnb3J5ICJjbG9ja3RhZ3NfdGVzdCIgZm9u dGlmaWVkIG5pbCkNCiAgICAgICAgICAgICA0IDIxDQogICAgICAgICAgICAgKDpvcmctY2xvY2st bWludXRlcyA2MCA6b3JnLWNsb2NrLWgtbWludXRlcyA2MCBmYWNlIG9yZy1sZXZlbC0yIG9yZy1j YXRlZ29yeSAiY2xvY2t0YWdzX3Rlc3QiIGZvbnRpZmllZCBuaWwpKSkNCiAgICAoaGxjIC4gIiIp DQogICAgKHRhZyAuICIiKQ0KICAgICh0aW1lIC4gNjApKQ0KICAgKChsZXZlbCAuIDEpDQogICAg KHRzcCAuICIiKQ0KICAgICh0aXRsZSAuDQogICAgICAgICAgICMoIlRvZG9zIiAwIDUNCiAgICAg ICAgICAgICAoOm9yZy1jbG9jay1taW51dGVzIDQyMCA6b3JnLWNsb2NrLWgtbWludXRlcyAwIGZh Y2Ugb3JnLWxldmVsLTEgb3JnLWNhdGVnb3J5ICJjbG9ja3RhZ3NfdGVzdCIgZm9udGlmaWVkIG5p bCkpKQ0KICAgIChobGMgLiAiIikNCiAgICAodGFnIC4gIiIpDQogICAgKHRpbWUgLiAwKSkpDQog ICgoIjAxUHJvamVjdF9CIiAuIDE4MCkNCiAgICgiMDBQcm9qZWN0X0EiIC4gMTgwKQ0KICAgKCIi IC4gNjApKSkNCiAoIlsyMDEwLTA2LTE4IEZyaV0iDQogICgoKGxldmVsIC4gMykNCiAgICAodHNw IC4gIiIpDQogICAgKHRpdGxlIC4NCiAgICAgICAgICAgIygiVGFzayAzIGZvciBTdWJwcm9qZWN0 IEExIiAwIDI0DQogICAgICAgICAgICAgKDpvcmctY2xvY2stbWludXRlcyA2MCA6b3JnLWNsb2Nr LWgtbWludXRlcyA2MCBmYWNlIG9yZy1sZXZlbC0zIG9yZy1jYXRlZ29yeSAiY2xvY2t0YWdzX3Rl c3QiIGZvbnRpZmllZCBuaWwpKSkNCiAgICAoaGxjIC4gIiIpDQogICAgKHRhZyAuDQogICAgICAg ICAjKCIwMFByb2plY3RfQSIgMCAxMQ0KICAgICAgICAgICAoaW5oZXJpdGVkIHQpKSkNCiAgICAo dGltZSAuIDYwKSkNCiAgICgobGV2ZWwgLiAzKQ0KICAgICh0c3AgLiAiIikNCiAgICAodGl0bGUg Lg0KICAgICAgICAgICAjKCJUYXNrIDIgZm9yIFN1YnByb2plY3QgQTEiIDAgMjQNCiAgICAgICAg ICAgICAoOm9yZy1jbG9jay1taW51dGVzIDYwIDpvcmctY2xvY2staC1taW51dGVzIDYwIGZhY2Ug b3JnLWxldmVsLTMgb3JnLWNhdGVnb3J5ICJjbG9ja3RhZ3NfdGVzdCIgZm9udGlmaWVkIG5pbCkp KQ0KICAgIChobGMgLiAiIikNCiAgICAodGFnIC4NCiAgICAgICAgICMoIjAwUHJvamVjdF9BIiAw IDExDQogICAgICAgICAgIChpbmhlcml0ZWQgdCkpKQ0KICAgICh0aW1lIC4gNjApKQ0KICAgKChs ZXZlbCAuIDQpDQogICAgKHRzcCAuICIiKQ0KICAgICh0aXRsZSAuDQogICAgICAgICAgICMoIlN1 YnRhc2sgMSBvZiBUYXNrIDEgZm9yIFN1YnByb2plY3QgQTEiIDAgMTMNCiAgICAgICAgICAgICAo Om9yZy1jbG9jay1taW51dGVzIDYwIDpvcmctY2xvY2staC1taW51dGVzIDYwIGZhY2Ugb3JnLWxl dmVsLTQgb3JnLWNhdGVnb3J5ICJjbG9ja3RhZ3NfdGVzdCIgZm9udGlmaWVkIG5pbCkNCiAgICAg ICAgICAgICAxMyAzNw0KICAgICAgICAgICAgICg6b3JnLWNsb2NrLW1pbnV0ZXMgNjAgOm9yZy1j bG9jay1oLW1pbnV0ZXMgNjAgZmFjZSBvcmctbGV2ZWwtNCBmb250aWZpZWQgbmlsIG9yZy1jYXRl Z29yeSAiY2xvY2t0YWdzX3Rlc3QiKSkpDQogICAgKGhsYyAuICIiKQ0KICAgICh0YWcgLg0KICAg ICAgICAgIygiMDBQcm9qZWN0X0EiIDAgMTENCiAgICAgICAgICAgKGluaGVyaXRlZCB0KSkpDQog ICAgKHRpbWUgLiA2MCkpDQogICAoKGxldmVsIC4gMykNCiAgICAodHNwIC4gIiIpDQogICAgKHRp dGxlIC4NCiAgICAgICAgICAgIygiVGFzayAxIGZvciBTdWJwcm9qZWN0IEExIiAwIDI0DQogICAg ICAgICAgICAgKDpvcmctY2xvY2stbWludXRlcyAxMjAgOm9yZy1jbG9jay1oLW1pbnV0ZXMgNjAg ZmFjZSBvcmctbGV2ZWwtMyBmb250aWZpZWQgbmlsIG9yZy1jYXRlZ29yeSAiY2xvY2t0YWdzX3Rl c3QiKSkpDQogICAgKGhsYyAuICIiKQ0KICAgICh0YWcgLg0KICAgICAgICAgIygiMDBQcm9qZWN0 X0EiIDAgMTENCiAgICAgICAgICAgKGluaGVyaXRlZCB0KSkpDQogICAgKHRpbWUgLiA2MCkpDQog ICAoKGxldmVsIC4gMikNCiAgICAodHNwIC4gIiIpDQogICAgKHRpdGxlIC4NCiAgICAgICAgICAg IygiU3VicHJvamVjdCBBMSIgMCAxMw0KICAgICAgICAgICAgICg6b3JnLWNsb2NrLW1pbnV0ZXMg MjcwIDpvcmctY2xvY2staC1taW51dGVzIDMwIGZhY2Ugb3JnLWxldmVsLTIgb3JnLWNhdGVnb3J5 ICJjbG9ja3RhZ3NfdGVzdCIgZm9udGlmaWVkIG5pbCkpKQ0KICAgIChobGMgLiAiIikNCiAgICAo dGFnIC4NCiAgICAgICAgICMoIjAwUHJvamVjdF9BIiAwIDExDQogICAgICAgICAgIChpbmhlcml0 ZWQgdCkpKQ0KICAgICh0aW1lIC4gMzApKQ0KICAgKChsZXZlbCAuIDEpDQogICAgKHRzcCAuICIi KQ0KICAgICh0aXRsZSAuDQogICAgICAgICAgICMoIlByb2plY3QgQSIgMCA5DQogICAgICAgICAg ICAgKDpvcmctY2xvY2stbWludXRlcyAyNzAgOm9yZy1jbG9jay1oLW1pbnV0ZXMgMCBmYWNlIG9y Zy1sZXZlbC0xIG9yZy1jYXRlZ29yeSAiY2xvY2t0YWdzX3Rlc3QiIGZvbnRpZmllZCBuaWwpKSkN CiAgICAoaGxjIC4gIiIpDQogICAgKHRhZyAuICIwMFByb2plY3RfQSIpDQogICAgKHRpbWUgLiAw KSkpDQogICgoIygiMDBQcm9qZWN0X0EiIDAgMTENCiAgICAgIChpbmhlcml0ZWQgdCkpDQogICAg LiAyNzApKSkNCiAoIlsyMDEwLTA2LTE3IFRodV0iDQogICgoKGxldmVsIC4gMykNCiAgICAodHNw IC4gIiIpDQogICAgKHRpdGxlIC4NCiAgICAgICAgICAgIygiVGFzayAzIGZvciBTdWJwcm9qZWN0 IEEyIiAwIDI0DQogICAgICAgICAgICAgKDpvcmctY2xvY2stbWludXRlcyA2MCA6b3JnLWNsb2Nr LWgtbWludXRlcyA2MCBmYWNlIG9yZy1sZXZlbC0zIG9yZy1jYXRlZ29yeSAiY2xvY2t0YWdzX3Rl c3QiIGZvbnRpZmllZCBuaWwpKSkNCiAgICAoaGxjIC4gIiIpDQogICAgKHRhZyAuDQogICAgICAg ICAjKCIwMFByb2plY3RfQSIgMCAxMQ0KICAgICAgICAgICAoaW5oZXJpdGVkIHQpKSkNCiAgICAo dGltZSAuIDYwKSkNCiAgICgobGV2ZWwgLiAzKQ0KICAgICh0c3AgLiAiIikNCiAgICAodGl0bGUg Lg0KICAgICAgICAgICAjKCJUYXNrIDIgZm9yIFN1YnByb2plY3QgQTIiIDAgMjQNCiAgICAgICAg ICAgICAoOm9yZy1jbG9jay1taW51dGVzIDYwIDpvcmctY2xvY2staC1taW51dGVzIDYwIGZhY2Ug b3JnLWxldmVsLTMgb3JnLWNhdGVnb3J5ICJjbG9ja3RhZ3NfdGVzdCIgZm9udGlmaWVkIG5pbCkp KQ0KICAgIChobGMgLiAiIikNCiAgICAodGFnIC4NCiAgICAgICAgICMoIjAwUHJvamVjdF9BIiAw IDExDQogICAgICAgICAgIChpbmhlcml0ZWQgdCkpKQ0KICAgICh0aW1lIC4gNjApKQ0KICAgKChs ZXZlbCAuIDMpDQogICAgKHRzcCAuICIiKQ0KICAgICh0aXRsZSAuDQogICAgICAgICAgICMoIlRh c2sgMSBmb3IgU3VicHJvamVjdCBBMiIgMCAyNA0KICAgICAgICAgICAgICg6b3JnLWNsb2NrLW1p bnV0ZXMgNjAgOm9yZy1jbG9jay1oLW1pbnV0ZXMgNjAgZmFjZSBvcmctbGV2ZWwtMyBvcmctY2F0 ZWdvcnkgImNsb2NrdGFnc190ZXN0IiBmb250aWZpZWQgbmlsKSkpDQogICAgKGhsYyAuICIiKQ0K ICAgICh0YWcgLg0KICAgICAgICAgIygiMDBQcm9qZWN0X0EiIDAgMTENCiAgICAgICAgICAgKGlu aGVyaXRlZCB0KSkpDQogICAgKHRpbWUgLiA2MCkpDQogICAoKGxldmVsIC4gMikNCiAgICAodHNw IC4gIiIpDQogICAgKHRpdGxlIC4NCiAgICAgICAgICAgIygiU3VicHJvamVjdCBBMiIgMCAxMw0K ICAgICAgICAgICAgICg6b3JnLWNsb2NrLW1pbnV0ZXMgMTgwIDpvcmctY2xvY2staC1taW51dGVz IDAgZmFjZSBvcmctbGV2ZWwtMiBvcmctY2F0ZWdvcnkgImNsb2NrdGFnc190ZXN0IiBmb250aWZp ZWQgbmlsKSkpDQogICAgKGhsYyAuICIiKQ0KICAgICh0YWcgLg0KICAgICAgICAgIygiMDBQcm9q ZWN0X0EiIDAgMTENCiAgICAgICAgICAgKGluaGVyaXRlZCB0KSkpDQogICAgKHRpbWUgLiAwKSkN CiAgICgobGV2ZWwgLiAxKQ0KICAgICh0c3AgLiAiIikNCiAgICAodGl0bGUgLg0KICAgICAgICAg ICAjKCJQcm9qZWN0IEEiIDAgOQ0KICAgICAgICAgICAgICg6b3JnLWNsb2NrLW1pbnV0ZXMgMTgw IDpvcmctY2xvY2staC1taW51dGVzIDAgZmFjZSBvcmctbGV2ZWwtMSBvcmctY2F0ZWdvcnkgImNs b2NrdGFnc190ZXN0IiBmb250aWZpZWQgbmlsKSkpDQogICAgKGhsYyAuICIiKQ0KICAgICh0YWcg LiAiMDBQcm9qZWN0X0EiKQ0KICAgICh0aW1lIC4gMCkpKQ0KICAoKCMoIjAwUHJvamVjdF9BIiAw IDExDQogICAgICAoaW5oZXJpdGVkIHQpKQ0KICAgIC4gMTgwKSkpDQogKCJbMjAxMC0wNi0xNiBX ZWRdIg0KICAoKChsZXZlbCAuIDIpDQogICAgKHRzcCAuICIiKQ0KICAgICh0aXRsZSAuDQogICAg ICAgICAgICMoIlRhc2sgMyBmb3IgUHJvamVjdCBCIiAwIDIwDQogICAgICAgICAgICAgKDpvcmct Y2xvY2stbWludXRlcyA2MCA6b3JnLWNsb2NrLWgtbWludXRlcyA2MCBmYWNlIG9yZy1sZXZlbC0y IG9yZy1jYXRlZ29yeSAiY2xvY2t0YWdzX3Rlc3QiIGZvbnRpZmllZCBuaWwpKSkNCiAgICAoaGxj IC4gIiIpDQogICAgKHRhZyAuDQogICAgICAgICAjKCIwMVByb2plY3RfQiIgMCAxMQ0KICAgICAg ICAgICAoaW5oZXJpdGVkIHQpKSkNCiAgICAodGltZSAuIDYwKSkNCiAgICgobGV2ZWwgLiAyKQ0K ICAgICh0c3AgLiAiIikNCiAgICAodGl0bGUgLg0KICAgICAgICAgICAjKCJUYXNrIDIgZm9yIFBy b2plY3QgQiIgMCAyMA0KICAgICAgICAgICAgICg6b3JnLWNsb2NrLW1pbnV0ZXMgNjAgOm9yZy1j bG9jay1oLW1pbnV0ZXMgNjAgZmFjZSBvcmctbGV2ZWwtMiBvcmctY2F0ZWdvcnkgImNsb2NrdGFn c190ZXN0IiBmb250aWZpZWQgbmlsKSkpDQogICAgKGhsYyAuICIiKQ0KICAgICh0YWcgLg0KICAg ICAgICAgIygiMDFQcm9qZWN0X0IiIDAgMTENCiAgICAgICAgICAgKGluaGVyaXRlZCB0KSkpDQog ICAgKHRpbWUgLiA2MCkpDQogICAoKGxldmVsIC4gMikNCiAgICAodHNwIC4gIiIpDQogICAgKHRp dGxlIC4NCiAgICAgICAgICAgIygiVGFzayAxIGZvciBQcm9qZWN0IEIiIDAgMjANCiAgICAgICAg ICAgICAoOm9yZy1jbG9jay1taW51dGVzIDYwIDpvcmctY2xvY2staC1taW51dGVzIDYwIGZhY2Ug b3JnLWxldmVsLTIgb3JnLWNhdGVnb3J5ICJjbG9ja3RhZ3NfdGVzdCIgZm9udGlmaWVkIG5pbCkp KQ0KICAgIChobGMgLiAiIikNCiAgICAodGFnIC4NCiAgICAgICAgICMoIjAxUHJvamVjdF9CIiAw IDExDQogICAgICAgICAgIChpbmhlcml0ZWQgdCkpKQ0KICAgICh0aW1lIC4gNjApKQ0KICAgKChs ZXZlbCAuIDEpDQogICAgKHRzcCAuICIiKQ0KICAgICh0aXRsZSAuDQogICAgICAgICAgICMoIlBy b2plY3QgQiIgMCA5DQogICAgICAgICAgICAgKDpvcmctY2xvY2stbWludXRlcyAxODAgOm9yZy1j bG9jay1oLW1pbnV0ZXMgMCBmYWNlIG9yZy1sZXZlbC0xIG9yZy1jYXRlZ29yeSAiY2xvY2t0YWdz X3Rlc3QiIGZvbnRpZmllZCBuaWwpKSkNCiAgICAoaGxjIC4gIiIpDQogICAgKHRhZyAuICIwMVBy b2plY3RfQiIpDQogICAgKHRpbWUgLiAwKSkpDQogICgoIygiMDFQcm9qZWN0X0IiIDAgMTENCiAg ICAgIChpbmhlcml0ZWQgdCkpDQogICAgLiAxODApKSkpDQojK2VuZF9zcmMNCg0KDQo= --0016e6497e96ce3d3e0489739892 Content-Type: application/octet-stream; name="clocktags.patch" Content-Disposition: attachment; filename="clocktags.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ganq87902 ZGlmZiAtLWdpdCBhL2xpc3Avb3JnLWNsb2NrLmVsIGIvbGlzcC9vcmctY2xvY2suZWwKaW5kZXgg ODQ3N2IyYy4uOWI2OTUzZSAxMDA2NDQKLS0tIGEvbGlzcC9vcmctY2xvY2suZWwKKysrIGIvbGlz cC9vcmctY2xvY2suZWwKQEAgLTEzNzQsNiArMTM3NCw3IEBAIG5pbCBhcmUgZXhjbHVkZWQgZnJv bSB0aGUgY2xvY2sgc3VtbWF0aW9uLiIKICAgICAoaWYgKGNvbnNwIHRlbmQpIChzZXRxIHRlbmQg KG9yZy1mbG9hdC10aW1lIHRlbmQpKSkKICAgICAocmVtb3ZlLXRleHQtcHJvcGVydGllcyAocG9p bnQtbWluKSAocG9pbnQtbWF4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICcoOm9yZy1j bG9jay1taW51dGVzIHQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpvcmctY2xvY2st aC1taW51dGVzIHQgOyBiZzogcHJvcGVydHkgZm9yIHN0b3JpbmcgcGVyLWhlYWRpbmcgbWludXRl cwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOm9yZy1jbG9jay1mb3JjZS1oZWFkbGlu ZS1pbmNsdXNpb24gdCkpCiAgICAgKHNhdmUtZXhjdXJzaW9uCiAgICAgICAoZ290by1jaGFyIChw b2ludC1tYXgpKQpAQCAtMTQxNyw2ICsxNDE4LDggQEAgbmlsIGFyZSBleGNsdWRlZCBmcm9tIHRo ZSBjbG9jayBzdW1tYXRpb24uIgogCSAgICAoc2V0cSBsZXZlbCAoLSAobWF0Y2gtZW5kIDEpICht YXRjaC1iZWdpbm5pbmcgMSkpKQogCSAgICAod2hlbiAob3IgKD4gdDEgMCkgKD4gKGFyZWYgbHRp bWVzIGxldmVsKSAwKSkKIAkgICAgICAod2hlbiAob3IgaGVhZGxpbmUtaW5jbHVkZWQgaGVhZGxp bmUtZm9yY2VkKQorICAgICAgICAgICAgICAgIDs7IGJnOiBzdG9yZSBjbG9ja2VkIHRpbWUgb2Yg aGVhZGluZyAod2l0aG91dCBzdWJoZWFkaW5ncworICAgICAgICAgICAgICAgIChwdXQtdGV4dC1w cm9wZXJ0eSAocG9pbnQpIChwb2ludC1hdC1lb2wpIDpvcmctY2xvY2staC1taW51dGVzIHQxKQog ICAgICAgICAgICAgICAgIChpZiBoZWFkbGluZS1pbmNsdWRlZAogICAgICAgICAgICAgICAgICAg ICAobG9vcCBmb3IgbCBmcm9tIDAgdG8gbGV2ZWwgZG8KICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGFzZXQgbHRpbWVzIGwgKCsgKGFyZWYgbHRpbWVzIGwpIHQxKSkpKQpAQCAtMTczNiwxNCAr MTczOSw2MCBAQCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIGludGVydmFsIHNpemUuIgogCSAgKG9y Zy11cGRhdGUtZGJsb2NrKQogCSAgdCkpKSkpCiAKKworCisKKzs7IGJnOiBoZWxwZXIgZnVuY3Rp b247IHVzZWQgZm9yIG1haW50YWluaW5nIGFzc29jIGxpc3QgbWFwcGluZyB0YWdzIHRvIGNsb2Nr ZWQgdGltZQorKGRlZnVuIGFzc29jLWRlbGV0ZS1hbGwgKGtleSBhbGlzdCkKKyAgIkRlbGV0ZSBm cm9tIEFMSVNUIGFsbCBlbGVtZW50cyB3aG9zZSBjYXIgaXMgYGVxJyB0byBLRVkuCisgICBSZXR1 cm4gdGhlIG1vZGlmaWVkIGFsaXN0LgorICAgRWxlbWVudHMgb2YgQUxJU1QgdGhhdCBhcmUgbm90 IGNvbnNlcyBhcmUgaWdub3JlZC4iCisgICh3aGlsZSAoYW5kIChjb25zcCAoY2FyIGFsaXN0KSkK KwkgICAgICAoZXF1YWwgKGNhciAoY2FyIGFsaXN0KSkga2V5KSkKKyAgICAoc2V0cSBhbGlzdCAo Y2RyIGFsaXN0KSkpCisgIChsZXQgKCh0YWlsIGFsaXN0KSB0YWlsLWNkcikKKyAgICAod2hpbGUg KHNldHEgdGFpbC1jZHIgKGNkciB0YWlsKSkKKyAgICAgIChpZiAoYW5kIChjb25zcCAoY2FyIHRh aWwtY2RyKSkKKwkgICAgICAgKGVxdWFsIChjYXIgKGNhciB0YWlsLWNkcikpIGtleSkpCisJICAo c2V0Y2RyIHRhaWwgKGNkciB0YWlsLWNkcikpCisJKHNldHEgdGFpbCB0YWlsLWNkcikpKSkKKyAg YWxpc3QpCisKKworCiAoZGVmdW4gb3JnLWRibG9jay13cml0ZTpjbG9ja3RhYmxlIChwYXJhbXMp Ci0gICJXcml0ZSB0aGUgc3RhbmRhcmQgY2xvY2t0YWJsZS4iCisgICJXcml0ZSB0aGUgc3RhbmRh cmQgY2xvY2t0YWJsZS4gSWYgdGhlIHBhcmFtZXRlcgorICAgdG9fYWxpc3QgaXMgc2V0IHRvIGEg bm9uLW5pbCB2YWx1ZSwgaW5zdGVhZCBvZgorICAgcHJpbnRpbmcgdGhlIHRhYmxlLCB0aGUgZm9s bG93aW5nIHJlc3VsdCBpcworICAgcmV0dXJuZWQ6CisgICAgKGxpc3QgdGJsIHRhZ190aW1lcykK KyAgIHdoZXJlCisgICAtIHRibCBpcyBhIGxpc3Qgb2YgYXNzb2NpYXRpb24gbGlzdHMgb2YgdGhl IGZvbGxvd2luZyBmb3JtOgorICAgICAgIChmaWxlIC4gKEZpbGVuYW1lIC4gQWNjdW11bGF0ZWRf RmlsZXRpbWUpKSAob25seSBpZiBzY29wZSA9IGFnZW5kYQorICAgICAgIChsZXZlbCAuIExldmVs KQorICAgICAgICh0c3AgLiBUaW1lc3RhbXApCisgICAgICAgKHRpdGxlIC4gVGl0bGUpCisgICAg ICAgKGhsYyAuIEVtcGhhc2lzIGNoYXJhY3RlciBvciAiIikKKyAgICAgICAodGFnIC4gQ2xvY2t0 YWcgb3IgIiIpCisgICAgICAgKHRpbWUgLiBDbG9ja2VkIHRpbWUgCisgICAgICAgICAgIGN1bXVs YXRpdmUgYWRkaW5nIHVwIGxvd2VyIGxldmVscyBpZiBjbG9ja3RhZ3MgaXMgbm90IHNldCkKKyAg IC0gdGFnX3RpbWVzIGlzIGFuIGFzc29jaWF0aW9uIGxpc3QgbWFwcGluZyBjbG9ja3RhZ3MKKyAg ICAgdG8gY2xvY2tlZCB0aW1lIGZvciBlYWNoIHRhZyAoaWYgcGFyYW1ldGVyIGNsb2NrX3RhZ3Mg aXMgbm9uLW5pbCkKKworICBJZiBhZGRpdGlvbmFsbHkgdGhlICdzdGVwJyBwYXJhbWV0ZXIgaXMg dXNlZCwgdGhlbgorICB0aGUgcmV0dXJuZWQgYXNzb2NpYXRpb24gbGlzdCBtYXBzIGVhY2ggZGF0 ZSBzdHJpbmcgZGVub3RpbmcgdGhlCisgIHN0YXJ0IHRpbWUgb2YgZWFjaCBzdGVwIHRvIHRoZSBs aXN0IHN0cnVjdHVyZSBhcyBleHBsYWluZWQgYWJvdmUuIAorICAiCiAgIChjYXRjaCAnZXhpdAog ICAgIChsZXQqICgoaGxjaGFycyAnKCgxIC4gIioiKSAoMiAuICIvIikpKQogCSAgIChpbnMgKG1h a2UtbWFya2VyKSkKIAkgICAodG90YWwtdGltZSBuaWwpCiAJICAgKHNjb3BlIChwbGlzdC1nZXQg cGFyYW1zIDpzY29wZSkpCiAJICAgKHRvc3RyaW5nIChwbGlzdC1nZXQgIHBhcmFtcyA6dG9zdHJp bmcpKQorICAgICAgICAgICA7OyBiZzogcGFyYW1ldGVyIHRvX2FsaXN0IHJlcXVpcmVkIGZvciBy ZWN1cnNpdmUgY2FsbAorCSAgICh0b19hbGlzdCAocGxpc3QtZ2V0ICBwYXJhbXMgOnRvX2FsaXN0 KSkKKyAgICAgICAgICAgOzsgYmc6IFBhcmFtZXRlciBmb3IgY2xvY2sgdGFncworICAgICAgICAg ICAoY2xvY2t0YWdzIChwbGlzdC1nZXQgcGFyYW1zIDpjbG9ja3RhZ3MpKQogCSAgIChtdWx0aWZp bGUgKHBsaXN0LWdldCAgcGFyYW1zIDptdWx0aWZpbGUpKQogCSAgIChoZWFkZXIgKHBsaXN0LWdl dCAgcGFyYW1zIDpoZWFkZXIpKQogCSAgIChtYXhsZXZlbCAob3IgKHBsaXN0LWdldCBwYXJhbXMg Om1heGxldmVsKSAzKSkKQEAgLTE3NTQsMTYgKzE4MDMsMTEzIEBAIHRoZSBjdXJyZW50bHkgc2Vs ZWN0ZWQgaW50ZXJ2YWwgc2l6ZS4iCiAJICAgKHRlIChwbGlzdC1nZXQgcGFyYW1zIDp0ZW5kKSkK IAkgICAoYmxvY2sgKHBsaXN0LWdldCBwYXJhbXMgOmJsb2NrKSkKIAkgICAobGluayAocGxpc3Qt Z2V0IHBhcmFtcyA6bGluaykpCisgICAgICAgICAgIDs7IGJnOiBhZGRlZCBwYXJhbWV0ZXIgdGFn X3RpbWVzIHRvIHBhc3MgY29sbGVjdGVkIHRhZ190aW1lcyBiZXR3ZWVuIHJlY3Vyc2l2ZSBjYWxs cworCSAgICh0YWdfdGltZXMgKHBsaXN0LWdldCBwYXJhbXMgOnRhZ190aW1lcykpCiAJICAgKHRh Z3MgKHBsaXN0LWdldCBwYXJhbXMgOnRhZ3MpKQogCSAgIChtYXRjaGVyIChpZiB0YWdzIChjZHIg KG9yZy1tYWtlLXRhZ3MtbWF0Y2hlciB0YWdzKSkpKQogCSAgIGlwb3MgdGltZSBwIGxldmVsIGhs YyBoZGwgdHNwIHByb3BzIGNvbnRlbnQgcmVjYWxjIGZvcm11bGEgcGNvbAotCSAgIGNjIGJlZyBl bmQgcG9zIHRibCB0YmwxIHJhbmdlLXRleHQgcm0tZmlsZS1jb2x1bW4gc2NvcGUtaXMtbGlzdCBz dCkKKwkgICBjYyBiZWcgZW5kIHBvcyB0YmwgdGJsMSByYW5nZS10ZXh0IHJtLWZpbGUtY29sdW1u IHNjb3BlLWlzLWxpc3Qgc3QKKyAgICAgICAgICAgdGltZV9mb3VuZCkKICAgICAgIChzZXRxIG9y Zy1jbG9jay1maWxlLXRvdGFsLW1pbnV0ZXMgbmlsKQorICAgICAgKHdoZW4gY2xvY2t0YWdzIAor ICAgICAgICA7OyBiZzoKKyAgICAgICAgOzsgaWYgdGhlIGNsb2NrdGFncyBmZWF0dXJlIGlzIHNl dCwgd2UgaGF2ZSB0byBsb29rIGF0IGFsbAorICAgICAgICA7OyBsZXZlbHMsIGJlY2F1c2UgdGhl IHRpbWUgZnJvbSB0aGUgbG93ZXIgbGV2ZWwgaXMgbm90CisgICAgICAgIDs7IHN1bW1lZC11cCBm b3IgaGlnaGVyIGxldmVscworICAgICAgICAoc2V0cSBtYXhsZXZlbCAxMDAwKSkKKworICAgICAg KGRlZnVuIHByaW50X3RhYmxlICh0YmwgdGFnX3RpbWVzKQorICAgICAgICAiRnVuY3Rpb24gdG8g cHJpbnQgdGhlIGNsb2NrdGFibGUuIEl0IHRha2VzIHR3byBhcmd1bWVuczoKKyAgICAgICAgIHRi bCBpcyBhIGxpc3Qgd2l0aCBlbGVtZW50cyB0aGF0IGFyZSBhbiBhc3NvY2lhdGlvbgorICAgICAg ICAgbGlzdCBvZiB0aGUgZm9sbG93aW5nIGZvcm06CisgICAgICAgICAgICAgICAoZmlsZSAuIChG aWxlbmFtZSAuIEFjY3VtdWxhdGVkX0ZpbGV0aW1lKSkgIChvbmx5LCBpZiBzY29wZSA9IGFnZW5k YSkKKyAgICAgICAgICAgICAgIChsZXZlbCAuIExldmVsKQorICAgICAgICAgICAgICAgKHRzcCAu IFRpbWVzdGFtcCkKKyAgICAgICAgICAgICAgICh0aXRsZSAuIFRpdGxlKQorICAgICAgICAgICAg ICAgKGhsYyAuIEVtcGhhc2lzIGNoYXJhY3RlciBvciAiIikKKyAgICAgICAgICAgICAgICh0YWcg LiBDbG9ja3RhZyBvciAiIikKKyAgICAgICAgICAgICAgICh0aW1lIC4gQ2xvY2tlZCB0aW1lIAor ICAgICAgICAgICAgICAgICAgICAgICAgY3VtdWxhdGl2ZSBhZGRpbmcgdXAgbG93ZXIgbGV2ZWxz IGlmIGNsb2NrdGFncyBpcyBub3Qgc2V0KQorCisgICAgICAgICB0YWdfdGltZXMgaXMgYW4gYXNz b2NpYXRpb24gbGlzdCBtYXBwaW5nIGNsb2NrdGFncworICAgICAgICAgdG8gYWRkZWQgdGltZSBm b3IgdGhlIGNsb2NrdGFnLgorCisgICAgICAgICBJZiB0YWdfdGltZXMgaXMgbmlsLCB0aGUgZnVu Y3Rpb24gdXNlcyBwZXJmb3JtcyB0aGUgbm9ybWFsCisgICAgICAgICB3YXkgb2YgcHJpbnRpbmcg dGhlIHRhYmxlOyBpdCBpcyBub3QgbmlsLCBpdCBzdHJ1Y3R1cmVzIHRoZQorICAgICAgICAgdGFi bGUgYnkgY2xvY2t0YWdzLgorICAgICAgICAiCisKKyAgICAgICAgKGxldCAoY3VycmVudF9maWxl IAorICAgICAgICAgICAgICAoZmlsZV90aW1lIDApIAorICAgICAgICAgICAgICAoYWxsdGFnc190 aW1lIDApCisgICAgICAgICAgICAgIHJlc3VsdCAKKyAgICAgICAgICAgICAgaGxjCisgICAgICAg ICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgKGlmIChub3QgdGFnX3RpbWVzKSAKKyAg ICAgICAgICAgICAgOzsgYmc6IHdlIHVzZSBvcmlnaW5hbCBjb2RlIGZyb20gb3JnLWNsb2NrLCB3 cmFwcGVkCisgICAgICAgICAgICAgIDs7IGludG8gYSBsb29wIG9wZXJhdGluZyBvbiB0aGUgdGFi bGUgInRibCIKKyAgICAgICAgICAgICAgKHByb2duCisgICAgICAgICAgICAgICAgKGxvb3AgZm9y IGxpbmUgaW4gdGJsIGRvCisgICAgICAgICAgICAgICAgICAgICAgKHNldHEgaGxjIChjZHIgKGFz c29jICdobGMgbGluZSkpKQorICAgICAgICAgICAgICAgICAgICAgICh3aGVuIChub3QgKGVxdWFs IChjYWRyIChhc3NvYyAnZmlsZSBsaW5lKSkgY3VycmVudF9maWxlKSkKKyAgICAgICAgICAgICAg ICAgICAgICAgICh3aGVuIGN1cnJlbnRfZmlsZQorICAgICAgICAgICAgICAgICAgICAgICAgICAo cHVzaCAoY29uY2F0ICJ8ICIgKGZpbGUtbmFtZS1ub25kaXJlY3RvcnkgKG9yIGN1cnJlbnRfZmls ZSAiIikpIChpZiB0aW1lc3RhbXAgInwiICIiKSAifCB8KkZJTEUgdGltZSp8KiIKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob3JnLW1pbnV0ZXMtdG8taGg6bW0tc3Ry aW5nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVfdGltZSkK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiKnwiKQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQpCisgICAgICAgICAgICAgICAgICAgICAgICAg IChwdXNoICJ8LSIgcmVzdWx0KSkKKyAgICAgICAgICAgICAgICAgICAgICAgIChzZXRxIGN1cnJl bnRfZmlsZSAgICAoY2FkciAoYXNzb2MgJ2ZpbGUgbGluZSkpCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBmaWxlX3RpbWUgKGNhZGRyIChhc3NvYyAnZmlsZSBsaW5lKSkpKQorICAgICAg ICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgIChwdXNoIChjb25jYXQgCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZiAoYXNzb2MgJ2ZpbGUgbGluZSkgKGZvcm1h dCAifCAlcyIgKGZpbGUtbmFtZS1ub25kaXJlY3RvcnkgY3VycmVudF9maWxlKSkgIiIpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICJ8ICIgKGludC10by1zdHJpbmcgKGNkciAoYXNzb2Mg J2xldmVsIGxpbmUpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInwiIChpZiB0aW1l c3RhbXAgKGNvbmNhdCAoY2RyIChhc3NvYyAndHNwIGxpbmUpKSAifCIpICIiKQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBobGMgKGNkciAgKGFzc29jICd0aXRsZSBsaW5lKSkgaGxjICIg fCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1ha2Utc3RyaW5nICgxLSAoY2RyIChh c3NvYyAnbGV2ZWwgbGluZSkpKSA/fCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNv bmNhdCBobGMgKG9yZy1taW51dGVzLXRvLWhoOm1tLXN0cmluZyAoY2RyIChhc3NvYyAndGltZSBs aW5lKSkpIGhsYykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiB8IiApIHJlc3VsdCkK KyAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAg ICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgIChwdXNoIChjb25jYXQgInwgIiAoZmlsZS1u YW1lLW5vbmRpcmVjdG9yeSAob3IgY3VycmVudF9maWxlICIiKSkgKGlmIHRpbWVzdGFtcCAifCIg IiIpICJ8IHwqRklMRSB0aW1lKnwqIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9y Zy1taW51dGVzLXRvLWhoOm1tLXN0cmluZworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGZpbGVfdGltZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIqfCIpCisgICAgICAg ICAgICAgICAgICAgICAgcmVzdWx0KSkKKyAgICAgICAgICAgIDs7IGJnOiB3ZSBzb3J0IHRoZSBl bnRyaWVzIGJ5IHRhZ3MKKyAgICAgICAgICAgIChzZXRxIHRhZ190aW1lcyAoc29ydCB0YWdfdGlt ZXMgKGxhbWJkYSAoeSB4KSAoc3RyaW5nLWxlc3NwIChjYXIgeCkgKGNhciB5KSkpKSkKKyAgICAg ICAgICAgIChsb29wIGZvciB0YWdfdGltZSBpbiB0YWdfdGltZXMgZG8KKyAgICAgICAgICAgICAg ICAgIChzZXRxIGFsbHRhZ3NfdGltZSAoKyBhbGx0YWdzX3RpbWUgKGNkciB0YWdfdGltZSkpKQor ICAgICAgICAgICAgICAgICAgKGxvb3AgZm9yIGxpbmUgaW4gdGJsIGRvCisgICAgICAgICAgICAg ICAgICAgICAgKHdoZW4gKGFuZCAoc3RyaW5nLWVxdWFsIChjZHIgKGFzc29jICd0YWcgbGluZSkp IChjYXIgdGFnX3RpbWUpKSAobm90IChlcXVhbCAoY2RyIChhc3NvYyAndGltZSBsaW5lKSkgMCkp KQorCisgICAgICAgICAgICAgICAgICAgICAgICAocHVzaCAoY29uY2F0IAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChpZiAoYXNzb2MgJ2ZpbGUgbGluZSkgKGZvcm1hdCAifCAlcyIg KGZpbGUtbmFtZS1ub25kaXJlY3RvcnkgKGNhZHIgKGFzc29jICdmaWxlIGxpbmUpKSkpICJ8ICIp CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInwgIiAoaW50LXRvLXN0cmluZyAoY2Ry IChhc3NvYyAnbGV2ZWwgbGluZSkpKSAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi fCIgKGlmIHRpbWVzdGFtcCAoY29uY2F0IChjZHIgKGFzc29jICd0c3AgbGluZSkpICJ8IikgIiIp CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGxjIChjZHIgIChhc3NvYyAndGl0bGUg bGluZSkpIGhsYyAiIHwiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbmNhdCBo bGMgKG9yZy1taW51dGVzLXRvLWhoOm1tLXN0cmluZyAoY2RyIChhc3NvYyAndGltZSBsaW5lKSkp IGhsYykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIHwiICkgcmVzdWx0KSkpCisg ICAgICAgICAgICAgICAgICAocHVzaCAifC0iIHJlc3VsdCkKKyAgICAgICAgICAgICAgICAgIChw dXNoIChjb25jYXQgInwgIiAoaWYgKGVxdWFsICIiIChjYXIgdGFnX3RpbWUpKSAiVU5BTExPQ0FU RUQiIChjYXIgdGFnX3RpbWUpKSAoaWYgdGltZXN0YW1wICJ8IiAiIikgInwgfCpUb3RhbCp8KiIK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9yZy1taW51dGVzLXRvLWho Om1tLXN0cmluZworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNkciB0 YWdfdGltZSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIqfCIpCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQpCisgICAgICAgICAgICAgICAgICAo cHVzaCAifC0iIHJlc3VsdCkKKyAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICkKKyAg ICAgICAgICAobWFwY29uY2F0ICdpZGVudGl0eSByZXN1bHQgIlxuIikKKyAgICAgICAgICApCisg ICAgICAgICkKKyAgICAgIAogICAgICAgKHdoZW4gc3RlcAogCSh1bmxlc3MgKG9yIGJsb2NrIChh bmQgdHMgdGUpKQogCSAgKGVycm9yICJDbG9ja3RhYmxlIGA6c3RlcCcgY2FuIG9ubHkgYmUgdXNl ZCB3aXRoIGA6YmxvY2snIG9yIGA6dHN0YXJ0LDplbmQnIikpCi0JKG9yZy1jbG9ja3RhYmxlLXN0 ZXBzIHBhcmFtcykKLQkodGhyb3cgJ2V4aXQgbmlsKSkKKwkKKwkodGhyb3cgJ2V4aXQgKG9yZy1j bG9ja3RhYmxlLXN0ZXBzIHBhcmFtcykpKQogICAgICAgKHdoZW4gYmxvY2sKIAkoc2V0cSBjYyAo b3JnLWNsb2NrLXNwZWNpYWwtcmFuZ2UgYmxvY2sgbmlsIHQpCiAJICAgICAgdHMgKGNhciBjYykg dGUgKG50aCAxIGNjKSByYW5nZS10ZXh0IChudGggMiBjYykpKQpAQCAtMTgxNywzNCArMTk2Myw0 MiBAQCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIGludGVydmFsIHNpemUuIgogCQkgKHNjb3BlICdh Z2VuZGEpCiAJCSAocDEgKGNvcHktc2VxdWVuY2UgcGFyYW1zKSkKIAkJIGZpbGUpCi0JICAgIChz ZXRxIHAxIChwbGlzdC1wdXQgcDEgOnRvc3RyaW5nIHQpKQorICAgICAgICAgICAgOzsgYmc6IGZv ciByZWN1cnNpb24gd2UgbXVzdCBjb2xsZWN0IHRoZSByZXN1bHRzCisgICAgICAgICAgICA7OyBy YXRoZXIgdGhhbiBwcmludCB0aGUgdGFibGUgYW5kIG1hbmlwdWxhdGUgdGhlCisgICAgICAgICAg ICA7OyB0aGUgcmVzdWx0aW5nIHN0cmluZworCSAgICAoc2V0cSBwMSAocGxpc3QtcHV0IHAxIDp0 b19hbGlzdCB0KSkgCiAJICAgIChzZXRxIHAxIChwbGlzdC1wdXQgcDEgOm11bHRpZmlsZSB0KSkK IAkgICAgKHNldHEgcDEgKHBsaXN0LXB1dCBwMSA6c2NvcGUgJ2ZpbGUpKQogCSAgICAob3JnLXBy ZXBhcmUtYWdlbmRhLWJ1ZmZlcnMgZmlsZXMpCiAJICAgICh3aGlsZSAoc2V0cSBmaWxlIChwb3Ag ZmlsZXMpKQogCSAgICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyIChmaW5kLWJ1ZmZlci12aXNpdGlu ZyBmaWxlKQotCQkoc2V0cSB0YmwxIChvcmctZGJsb2NrLXdyaXRlOmNsb2NrdGFibGUgcDEpKQor ICAgICAgICAgICAgICAgIChzZXRxIHAxIChwbGlzdC1wdXQgcDEgOnRhZ190aW1lcyB0YWdfdGlt ZXMpKQorCQkoc2V0cSB0YmxfdGFncyAob3JnLWRibG9jay13cml0ZTpjbG9ja3RhYmxlIHAxKQor ICAgICAgICAgICAgICAgICAgICAgIHRibDEgKGNhciB0YmxfdGFncykKKyAgICAgICAgICAgICAg ICAgICAgICB0YWdfdGltZXMgKGNhZHIgdGJsX3RhZ3MpKQogCQkod2hlbiB0YmwxCi0JCSAgKHB1 c2ggKG9yZy1jbG9ja3RhYmxlLWFkZC1maWxlCi0JCQkgZmlsZQotCQkJIChjb25jYXQgInwgfCpG aWxlIHRpbWUqfCoiCi0JCQkJIChvcmctbWludXRlcy10by1oaDptbS1zdHJpbmcKLQkJCQkgIG9y Zy1jbG9jay1maWxlLXRvdGFsLW1pbnV0ZXMpCi0JCQkJICIqfFxuIgotCQkJCSB0YmwxKSkgdGJs KQorICAgICAgICAgICAgICAgICAgOzsgYmc6IGF1Z21lbnQgZWFjaCBsaW5lIHdpdGggaW5mb3Jt YXRpb24gYWJvdXQgdGhlIGZpbGUgYW5kIHRvdGFsIGZpbGUtdGltZQorICAgICAgICAgICAgICAg ICAgKHNldHEgdGJsCisgICAgICAgICAgICAgICAgICAgICAgICAoYXBwZW5kCisgICAgICAgICAg ICAgICAgICAgICAgICAgKG1hcGNhciAobGFtYmRhICh4KSAoY29ucyBgKGZpbGUgLiAsKGxpc3Qg ZmlsZSBvcmctY2xvY2stZmlsZS10b3RhbC1taW51dGVzKSkgeCkpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB0YmwxKSAKKworICAgICAgICAgICAgICAgICAgICAgICAgIHRibCkp CisKIAkJICAoc2V0cSB0b3RhbC10aW1lICgrIChvciB0b3RhbC10aW1lIDApCiAJCQkJICAgICAg b3JnLWNsb2NrLWZpbGUtdG90YWwtbWludXRlcykpKSkpKSkpCiAJKGdvdG8tY2hhciBwb3MpCiAK IAkodW5sZXNzIHNjb3BlLWlzLWxpc3QKLQkgIChvcmctY2xvY2stc3VtIHRzIHRlCi0JCQkgKHVu bGVzcyAobnVsbCBtYXRjaGVyKQotCQkJICAgKGxhbWJkYSAoKQotCQkJICAgICAobGV0ICgodGFn cy1saXN0Ci0JCQkJICAgIChvcmctc3BsaXQtc3RyaW5nCi0JCQkJICAgICAob3IgKG9yZy1lbnRy eS1nZXQgKHBvaW50KSAiQUxMVEFHUyIpICIiKQotCQkJCSAgICAgIjoiKSkpCi0JCQkgICAgICAg KGV2YWwgbWF0Y2hlcikpKSkpCisgICAgICAgICAgICAoaWYgdGFncyAKKyAgICAgICAgICAgICAg ICAob3JnLWNsb2NrLXN1bSB0cyB0ZSAobGFtYmRhICgpCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAobGV0ICgodGFncy1saXN0CisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9yZy1zcGxpdC1zdHJpbmcKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9yIChvcmctZW50cnkt Z2V0IChwb2ludCkgIkFMTFRBR1MiKSAiIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIjoiKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChldmFsIG1hdGNoZXIpKSkpCisgICAgICAgICAgICAgIChvcmctY2xv Y2stc3VtIHRzIHRlICkKKyAgICAgICAgICAgICkKIAkgIChnb3RvLWNoYXIgKHBvaW50LW1pbikp CiAJICAoc2V0cSBzdCB0KQogCSAgKHdoaWxlIChvciAoYW5kIChib2JwKSAocHJvZzEgc3QgKHNl dHEgc3QgbmlsKSkKQEAgLTE4NTIsNyArMjAwNiwxNCBAQCB0aGUgY3VycmVudGx5IHNlbGVjdGVk IGludGVydmFsIHNpemUuIgogCQkJICAoc2V0cSBwIChwb2ludC1taW4pKSkKIAkJICAgICAoc2V0 cSBwIChuZXh0LXNpbmdsZS1wcm9wZXJ0eS1jaGFuZ2UgKHBvaW50KSA6b3JnLWNsb2NrLW1pbnV0 ZXMpKSkKIAkgICAgKGdvdG8tY2hhciBwKQotCSAgICAod2hlbiAoc2V0cSB0aW1lIChnZXQtdGV4 dC1wcm9wZXJ0eSBwIDpvcmctY2xvY2stbWludXRlcykpCisgICAgICAgICAgICAoc2V0cSB0aW1l X2ZvdW5kCisgICAgICAgICAgICAgICAgICA7OyBkZXBlbmRpbmcgb24gd2hldGhlciBjbG9ja3Rp bWVzIGlzIHNldCwgd2UgY29sbGVjdCB0aGUKKyAgICAgICAgICAgICAgICAgIDs7IGNsb2NrZWQg dGltZSBmb3IgdGhlIGhlYWRpbmcgb25seSBvciB0aGUgY3VtdWxhdGl2ZSB0aW1lIGZvcgorICAg ICAgICAgICAgICAgICAgOzsgdGhlIGhlYWRpbmcKKyAgICAgICAgICAgICAgICAgIChpZiBjbG9j a3RhZ3MgKHNldHEgdGltZSAoZ2V0LXRleHQtcHJvcGVydHkgcCA6b3JnLWNsb2NrLWgtbWludXRl cykpCisgICAgICAgICAgICAgICAgICAgIChzZXRxIHRpbWUgKGdldC10ZXh0LXByb3BlcnR5IHAg Om9yZy1jbG9jay1taW51dGVzKSkpKQorCSAgICAod2hlbiAKKyAgICAgICAgICAgICAgICB0aW1l X2ZvdW5kCiAJICAgICAgKHNhdmUtZXhjdXJzaW9uCiAJCShiZWdpbm5pbmctb2YtbGluZSAxKQog CQkod2hlbiAoYW5kIChsb29raW5nLWF0IChvcmctcmUgIlxcKFxcKitcXClbIFx0XStcXCguKj9c XClcXChbIFx0XSs6W1s6YWxudW06XV9AOl0rOlxcKT9bIFx0XSokIikpCkBAIC0xODc0LDE4ICsy MDM1LDUxIEBAIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgaW50ZXJ2YWwgc2l6ZS4iCiAJCQkgICAg ICAob3IgKGNkciAoYXNzb2MgIlNDSEVEVUxFRCIgcHJvcHMpKQogCQkJCSAgKGNkciAoYXNzb2Mg IlRJTUVTVEFNUCIgcHJvcHMpKQogCQkJCSAgKGNkciAoYXNzb2MgIkRFQURMSU5FIiBwcm9wcykp Ci0JCQkJICAoY2RyIChhc3NvYyAiVElNRVNUQU1QX0lBIiBwcm9wcykpKSkpCi0JCSAgKGlmIChh bmQgKG5vdCBtdWx0aWZpbGUpICg9IGxldmVsIDEpKSAocHVzaCAifC0iIHRibCkpCi0JCSAgKHB1 c2ggKGNvbmNhdAotCQkJICJ8ICIgKGludC10by1zdHJpbmcgbGV2ZWwpICJ8IgotCQkJIChpZiB0 aW1lc3RhbXAgKGNvbmNhdCB0c3AgInwiKSAiIikKLQkJCSBobGMgaGRsIGhsYyAiIHwiCi0JCQkg KG1ha2Utc3RyaW5nICgxLSBsZXZlbCkgP3wpCi0JCQkgaGxjIChvcmctbWludXRlcy10by1oaDpt bS1zdHJpbmcgdGltZSkgaGxjCi0JCQkgIiB8IikgdGJsKSkpKSkpCi0JKHNldHEgdGJsIChucmV2 ZXJzZSB0YmwpKQotCShpZiB0b3N0cmluZwotCSAgICAoaWYgdGJsIChtYXBjb25jYXQgJ2lkZW50 aXR5IHRibCAiXG4iKSBuaWwpCisJCQkJICAoY2RyIChhc3NvYyAiVElNRVNUQU1QX0lBIiBwcm9w cykpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIDs7IGRldGVybWluZSB0aGUgY2xvY2t0YWcg KHRha2UgdGhlIGZpcnN0IG9uZSBpZgorICAgICAgICAgICAgICAgICAgICAgICAgOzsgbW9yZSB0 aGFuIG9uZSBtYXRjaAorICAgICAgICAgICAgICAgICAgICAgICAgdGFnIChpZiBjbG9ja3RhZ3MK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHByb2duIChzZXRxIHByb3BzIChvcmct ZW50cnktcHJvcGVydGllcyAocG9pbnQpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChvciAoY2FyLXNhZmUgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChyZW1vdmUtaWYtbm90IAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKGxhbWJkYSAoeCkgKHN0cmluZy1tYXRjaCAoZm9ybWF0ICJeJXMu KiIgY2xvY2t0YWdzKSB4KSApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAod2hlbiAoY2RyIChhc3NvYyAiQUxMVEFHUyIgcHJvcHMpKQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3BsaXQtc3RyaW5nIChjZHIgKGFz c29jICJBTExUQUdTIiBwcm9wcykpICI6IiAxKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICApKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAiIikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIikKKworICAg ICAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgKHdoZW4gY2xvY2t0YWdz CisgICAgICAgICAgICAgICAgICAgIChsZXQgKAorICAgICAgICAgICAgICAgICAgICAgICAgICAo YWNjdW11bGF0ZWRfdGltZSAob3IgKGNkci1zYWZlIChhc3NvYyB0YWcgdGFnX3RpbWVzKSkgMCkp CisgICAgICAgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICAgICAgICA7OyBi ZzogCisgICAgICAgICAgICAgICAgICAgICAgOzsgd2UgYnVpbGQgYW4gYXNzb2NpYXRpb24gbGlz dCB0aGF0IG1hcHMgZWFjaCBjbG9ja3RhZworICAgICAgICAgICAgICAgICAgICAgIDs7IHRvIHRo ZSBhZGRlZCBjbG9ja2VkIHRpbWUuIFdlIG5lZWQgdG8gZGVsZXRlIG9sZAorICAgICAgICAgICAg ICAgICAgICAgIDs7IGVudHJpZXMgcmF0aGVyIHRoYW4ganVzdCBjb25zaW5nIG5ldyBrZXktdmFs dWUgcGFpcnMsCisgICAgICAgICAgICAgICAgICAgICAgOzsgYmVjYXVzZSB3ZSBsYXRlciB3YW50 IHRvIHNvcnQgd2l0aCByZXNwZWN0IHRvIHRhZ3MKKyAgICAgICAgICAgICAgICAgICAgICAoc2V0 cSB0YWdfdGltZXMgKGNvbnMgYCgsdGFnIC4gLCgrIHRpbWUgYWNjdW11bGF0ZWRfdGltZSkpIAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYXNzb2MtZGVsZXRl LWFsbCB0YWcgdGFnX3RpbWVzKSkpCisKKyAgICAgICAgICAgICAgICAgICAgICApKQorCisKKyAg ICAgICAgICAgICAgICAgIChwdXNoIGAoICAgIChsZXZlbCAuICxsZXZlbCkKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICh0c3AgLiAsKGlmIHRpbWVzdGFtcCB0c3AgIiIpKQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKHRpdGxlIC4gLGhkbCkKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChobGMgLiAsaGxjKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KHRhZyAuICx0YWcpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodGltZSAuICx0aW1l KSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHRibCkKKworICAgICAgICAgICAgICAgICAgKSkp KSkKKwkoaWYgKG9yIHRvc3RyaW5nIHRvX2FsaXN0KQorICAgICAgICAgICAgKHByb2duCisgICAg ICAgICAgICAgIDs7IGJnOiAgd2UgcmV0dXJuIHRoZSB0YWJsZSwgZWl0aGVyIHByaW50ZWQgb3Ig YXMgYWxpc3QKKyAgICAgICAgICAgICAgKGlmIChhbmQgdGJsIHRvc3RyaW5nKSAocHJpbnRfdGFi bGUgdGJsIHRhZ190aW1lcykgCisgICAgICAgICAgICAgICAgKGxpc3QgdGJsIHRhZ190aW1lcykp KQorCiAJICAoZ290by1jaGFyIGlucykKIAkgIChpbnNlcnQtYmVmb3JlLW1hcmtlcnMKIAkgICAo b3IgaGVhZGVyCkBAIC0xODk3LDIzICsyMDkxLDE3IEBAIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg aW50ZXJ2YWwgc2l6ZS4iCiAJCSJdIgogCQkoaWYgYmxvY2sgKGNvbmNhdCAiLCBmb3IgIiByYW5n ZS10ZXh0ICIuIikgIiIpCiAJCSJcblxuIikpCi0JICAgKGlmIHNjb3BlLWlzLWxpc3QgInxGaWxl IiAiIikKKwkgICAoaWYgKG9yIGNsb2NrdGFncyBzY29wZS1pcy1saXN0KSAoaWYgY2xvY2t0YWdz ICJ8Q2xvY2tUYWciICJ8RmlsZSIpICIiKQogCSAgICJ8THwiIChpZiB0aW1lc3RhbXAgIlRpbWVz dGFtcHwiICIiKSAiSGVhZGxpbmV8VGltZXxcbiIpCiAJICAoc2V0cSB0b3RhbC10aW1lIChvciB0 b3RhbC10aW1lIG9yZy1jbG9jay1maWxlLXRvdGFsLW1pbnV0ZXMpKQogCSAgKGluc2VydC1iZWZv cmUtbWFya2VycwogCSAgICJ8LVxufCIKLQkgICAoaWYgc2NvcGUtaXMtbGlzdCAifCIgIiIpCisJ ICAgKGlmIChvciBjbG9ja3RhZ3Mgc2NvcGUtaXMtbGlzdCkgInwiICIiKQogCSAgIChpZiB0aW1l c3RhbXAgInxUaW1lc3RhbXB8IiAifCIpCiAJICAgIipUb3RhbCB0aW1lKnwgKiIKIAkgICAob3Jn LW1pbnV0ZXMtdG8taGg6bW0tc3RyaW5nIChvciB0b3RhbC10aW1lIDApKQogCSAgICIqfFxufC1c biIpCi0JICAoc2V0cSB0YmwgKGRlbHEgbmlsIHRibCkpCi0JICAoaWYgKGFuZCAoc3RyaW5ncCAo Y2FyIHRibCkpICg+IChsZW5ndGggKGNhciB0YmwpKSAxKQotCQkgICAoZXF1YWwgKHN1YnN0cmlu ZyAoY2FyIHRibCkgMCAyKSAifC0iKSkKLQkgICAgICAocG9wIHRibCkpCi0JICAoaW5zZXJ0LWJl Zm9yZS1tYXJrZXJzIChtYXBjb25jYXQKLQkJCQkgICdpZGVudGl0eSAoZGVscSBuaWwgdGJsKQot CQkJCSAgKGlmIHNjb3BlLWlzLWxpc3QgIlxufC1cbiIgIlxuIikpKQorICAgICAgICAgIChpbnNl cnQtYmVmb3JlLW1hcmtlcnMgKHByaW50X3RhYmxlIHRibCB0YWdfdGltZXMpKQogCSAgKGJhY2t3 YXJkLWRlbGV0ZS1jaGFyIDEpCiAJICAoaWYgKHNldHEgZm9ybXVsYSAocGxpc3QtZ2V0IHBhcmFt cyA6Zm9ybXVsYSkpCiAJICAgICAgKGNvbmQKQEAgLTE5NTMsMTMgKzIxNDEsMTQgQEAgdGhlIGN1 cnJlbnRseSBzZWxlY3RlZCBpbnRlcnZhbCBzaXplLiIKIAogKGRlZnVuIG9yZy1jbG9ja3RhYmxl LXN0ZXBzIChwYXJhbXMpCiAgIChsZXQqICgocDEgKGNvcHktc2VxdWVuY2UgcGFyYW1zKSkKKyAg ICAgICAgICh0b19hbGlzdCAocGxpc3QtZ2V0IHAxIDp0b19hbGlzdCkpCiAJICh0cyAocGxpc3Qt Z2V0IHAxIDp0c3RhcnQpKQogCSAodGUgKHBsaXN0LWdldCBwMSA6dGVuZCkpCiAJIChzdGVwMCAo cGxpc3QtZ2V0IHAxIDpzdGVwKSkKIAkgKHN0ZXAgKGNkciAoYXNzb2Mgc3RlcDAgJygoZGF5IC4g ODY0MDApICh3ZWVrIC4gNjA0ODAwKSkpKSkKIAkgKHN0ZXBza2lwMCAocGxpc3QtZ2V0IHAxIDpz dGVwc2tpcDApKQogCSAoYmxvY2sgKHBsaXN0LWdldCBwMSA6YmxvY2spKQotCSBjYyByYW5nZS10 ZXh0IHN0ZXAtdGltZSkKKwkgY2MgcmFuZ2UtdGV4dCBzdGVwLXRpbWUgcmVzdWx0KQogICAgICh3 aGVuIGJsb2NrCiAgICAgICAoc2V0cSBjYyAob3JnLWNsb2NrLXNwZWNpYWwtcmFuZ2UgYmxvY2sg bmlsIHQpCiAJICAgIHRzIChjYXIgY2MpIHRlIChudGggMSBjYykgcmFuZ2UtdGV4dCAobnRoIDIg Y2MpKSkKQEAgLTE5NzAsMzcgKzIxNTksMzggQEAgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBpbnRl cnZhbCBzaXplLiIKICAgICAoc2V0cSBwMSAocGxpc3QtcHV0IHAxIDpoZWFkZXIgIiIpKQogICAg IChzZXRxIHAxIChwbGlzdC1wdXQgcDEgOnN0ZXAgbmlsKSkKICAgICAoc2V0cSBwMSAocGxpc3Qt cHV0IHAxIDpibG9jayBuaWwpKQorICAgIChzZXRxIHAxIChwbGlzdC1wdXQgcDEgOnRvX2FsaXN0 IHRvX2FsaXN0KSkKICAgICAod2hpbGUgKDwgdHMgdGUpCi0gICAgICAob3IgKGJvbHApIChpbnNl cnQgIlxuIikpCisgICAgICAob3IgdG9fYWxpc3QgKGJvbHApIChpbnNlcnQgIlxuIikpCiAgICAg ICAoc2V0cSBwMSAocGxpc3QtcHV0IHAxIDp0c3RhcnQgKGZvcm1hdC10aW1lLXN0cmluZwogCQkJ CSAgICAgIChvcmctdGltZS1zdGFtcC1mb3JtYXQgbmlsIHQpCiAJCQkJICAgICAgKHNlY29uZHMt dG8tdGltZSB0cykpKSkKICAgICAgIChzZXRxIHAxIChwbGlzdC1wdXQgcDEgOnRlbmQgKGZvcm1h dC10aW1lLXN0cmluZwogCQkJCSAgICAob3JnLXRpbWUtc3RhbXAtZm9ybWF0IG5pbCB0KQogCQkJ CSAgICAoc2Vjb25kcy10by10aW1lIChzZXRxIHRzICgrIHRzIHN0ZXApKSkpKSkKLSAgICAgIChp bnNlcnQgIlxuIiAoaWYgKGVxIHN0ZXAwICdkYXkpICJEYWlseSByZXBvcnQ6ICIgIldlZWtseSBy ZXBvcnQgc3RhcnRpbmcgb246ICIpCi0JICAgICAgKHBsaXN0LWdldCBwMSA6dHN0YXJ0KSAiXG4i KQotICAgICAgKHNldHEgc3RlcC10aW1lIChvcmctZGJsb2NrLXdyaXRlOmNsb2NrdGFibGUgcDEp KQotICAgICAgKHJlLXNlYXJjaC1mb3J3YXJkICIjXFwrRU5EOiIpCi0gICAgICAod2hlbiAoYW5k IChlcXVhbCBzdGVwLXRpbWUgMCkgc3RlcHNraXAwKQotCTs7IFJlbW92ZSB0aGUgZW1wdHkgdGFi bGUKLQkoZGVsZXRlLXJlZ2lvbiAocG9pbnQtYXQtYm9sKQotCQkgICAgICAgKHNhdmUtZXhjdXJz aW9uCi0JCQkgKHJlLXNlYXJjaC1iYWNrd2FyZCAiXlxcKERhaWx5XFx8V2Vla2x5XFwpIHJlcG9y dCIgbmlsIHQpCi0JCQkgKHBvaW50KSkpKQotICAgICAgKGVuZC1vZi1saW5lIDApKSkpCi0KLShk ZWZ1biBvcmctY2xvY2t0YWJsZS1hZGQtZmlsZSAoZmlsZSB0YWJsZSkKLSAgKGlmIHRhYmxlCi0g ICAgICAobGV0ICgobGluZXMgKG9yZy1zcGxpdC1zdHJpbmcgdGFibGUgIlxuIikpCi0JICAgIChm ZiAoZmlsZS1uYW1lLW5vbmRpcmVjdG9yeSBmaWxlKSkpCi0JKG1hcGNvbmNhdCAnaWRlbnRpdHkK LQkJICAgKG1hcGNhciAobGFtYmRhICh4KQotCQkJICAgICAoaWYgKHN0cmluZy1tYXRjaCBvcmct dGFibGUtZGF0YWxpbmUtcmVnZXhwIHgpCi0JCQkJIChjb25jYXQgInwiIGZmIHgpCi0JCQkgICAg ICAgeCkpCi0JCQkgICBsaW5lcykKLQkJICAgIlxuIikpKSkKKyAgICAgICh3aGVuIChub3QgdG9f YWxpc3QpCisgICAgICAgIChpbnNlcnQgIlxuIiAoaWYgKGVxIHN0ZXAwICdkYXkpICJEYWlseSBy ZXBvcnQ6ICIgIldlZWtseSByZXBvcnQgc3RhcnRpbmcgb246ICIpCisJICAgICAgKHBsaXN0LWdl dCBwMSA6dHN0YXJ0KSAiXG4iKSkKKyAgICAgIDs7IGJnOiAKKyAgICAgIDs7IHJldHVybiB2YWx1 ZSBpcyBlaXRoZXIgYW4gYXNzb2NpYXRpb24gbGlzdCB3aXRoIGNsb2NraW5nIGluZm8KKyAgICAg IDs7IChpZiB0b19hbGlzdCBpcyBzZXQpIG9yIHRoZSB0b3RhbCB0aW1lIG9mIHRoZSBzdGVwIChp ZiB0b19hbGlzdAorICAgICAgOzsgaXMgbm90IHNldCkKKyAgICAgIChzZXRxIHN0ZXAtdGltZV9v cl9hbGlzdCAob3JnLWRibG9jay13cml0ZTpjbG9ja3RhYmxlIHAxKSkKKyAgICAgIChpZiB0b19h bGlzdCAKKyAgICAgICAgICAoc2V0cSByZXN1bHQgKGNvbnMgKGNvbnMgKHBsaXN0LWdldCBwMSA6 dHN0YXJ0KSBzdGVwLXRpbWVfb3JfYWxpc3QpIHJlc3VsdCkpCisgICAgICAgIChyZS1zZWFyY2gt Zm9yd2FyZCAiI1xcK0VORDoiKQorICAgICAgICAod2hlbiAoYW5kIChlcXVhbCBzdGVwLXRpbWUg MCkgc3RlcHNraXAwKQorICAgICAgICAgIDs7IFJlbW92ZSB0aGUgZW1wdHkgdGFibGUKKyAgICAg ICAgICAoZGVsZXRlLXJlZ2lvbiAocG9pbnQtYXQtYm9sKQorICAgICAgICAgICAgICAgICAgICAg ICAgIChzYXZlLWV4Y3Vyc2lvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlLXNlYXJj aC1iYWNrd2FyZCAiXlxcKERhaWx5XFx8V2Vla2x5XFwpIHJlcG9ydCIgbmlsIHQpCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAocG9pbnQpKSkpKQorICAgICAgICAod2hlbiAobm90IHRvX2Fs aXN0KSAoZW5kLW9mLWxpbmUgMCkpCisgICAgICAgICkKKyAgICByZXN1bHQKKyAgICApCisgICkK KwogCiAoZGVmdW4gb3JnLWNsb2NrLXRpbWUlICh0b3RhbCAmcmVzdCBzdHJpbmdzKQogICAiQ29t cHV0ZSBhIHRpbWUgZnJhY3Rpb24gaW4gcGVyY2VudC4K --0016e6497e96ce3d3e0489739892 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode --0016e6497e96ce3d3e0489739892--