From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web10.259.1663036561150797896 for ; Mon, 12 Sep 2022 19:36:02 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: loongson.cn, ip: 114.242.206.163, mailfrom: lixianglai@loongson.cn) Received: from lixianglai$loongson.cn ( [10.20.42.66] ) by ajax-webmail-localhost.localdomain (Coremail) ; Tue, 13 Sep 2022 10:35:56 +0800 (GMT+08:00) X-Originating-IP: [10.20.42.66] Date: Tue, 13 Sep 2022 10:35:56 +0800 (GMT+08:00) X-CM-HeaderCharset: UTF-8 From: "xianglai" To: devel@edk2.groups.io, michael.d.kinney@intel.com Cc: "maobibo@loongson.cn" Subject: Re: [edk2-devel] [edk2-platforms][PATCH V1 06/16] Platform/Loongson: Add StableTimerLib. X-Priority: 3 X-Mailer: Coremail Webmail Server Version XT5.0.14 build 20220411(feba7c69) Copyright (c) 2002-2022 www.mailtech.cn .loongson.cn In-Reply-To: References: <9a53979093043d4da800cab803be9791e9af463c.1662691771.git.lixianglai@loongson.cn> X-CM-CTRLDATA: Ws40BWZvb3Rlcl90eHQ9MTY2MjM6NjEy MIME-Version: 1.0 Message-ID: <6c69d4c6.7ce1.18334b4049f.Coremail.lixianglai@loongson.cn> X-Coremail-Locale: zh_CN X-CM-TRANSID: AQAAf8Ax1OGM7B9jiNAXAA--.4967W X-CM-SenderInfo: 5ol0xt5qjotxo6or00hjvr0hdfq/1tbiAQAICGMfIVwLAQAAsK X-Coremail-Antispam: 1Ur529EdanIXcx71UUUUU7IcSsGvfJ3iIAIbVAYjsxI4VWxJw CS07vEb4IE77IF4wCS07vE1I0E4x80FVAKz4kxMIAIbVAFxVCaYxvI4VCIwcAKzIAtYxBI daVFxhVjvjDU= Content-Transfer-Encoding: base64 Content-Type: text/plain; charset=UTF-8 CkhpLE1pa2U6CiAgVGhhbmsgeW91IGZvciBoZWxwaW5nIHRvIHJldmlldyB0aGUgY29kZS4KICBJ IGZlZWwgc29ycnkgZm9yIHRoZSBsYXRlIHJlcGx5LCBTZXB0ZW1iZXIgMTAgdG8gU2VwdGVtYmVy IDEyIGlzIG91ciBNaWQtQXV0dW1uIEZlc3RpdmFsIGhvbGlkYXksIAogIEhhcHB5IE1pZC1BdXR1 bW4gRmVzdGl2YWwuCgoxLlRoZSBsaXN0IG9mIHMgZmlsZXMgaW4gYWxsIHBhdGNoZXMgaXMg77ya Ci4vTGlicmFyeS9NbXVMaWIvTW11LlMgICAgICAgICAgICAgICAgICAgVGhpcyBmaWxlIGlzIHJl bGF0ZWQgdG8gbW11IGFuZCBpbXBsZW1lbnRzIHRoZSBwYWdlIHRhYmxlIHJlZmlsbCBleGNlcHRp b24uCi4vTGlicmFyeS9TdGFibGVUaW1lckxpYi9Db3VudC5TICAgICAgICAgVGhpcyBmaWxlIGlt cGxlbWVudHMgdGhlIGludGVycnVwdCBlbmFibGUgZnVuY3Rpb24uCi4vU2VjL0xvb25nQXJjaDY0 L1N0YXJ0LlMgICAgICAgICAgICAgICAgVGhpcyBmaWxlIGltcGxlbWVudHMgdGhlIGluaXRpYWxp emF0aW9uIG9mIHRoZSBTRUMgcGhhc2UgYWZ0ZXIgdGhlIGNwdSBzdGFydHMKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgdGhlIGNvZGUgcmVsYXRlZCB0byBzd2l0 Y2hpbmcgZnJvbSB0aGUgYXNzZW1ibHkgZW52aXJvbm1lbnQgdG8gdGhlIEMgZW52aXJvbm1lbnQg Zm9yIGV4ZWN1dGlvbi4KLi9Ecml2ZXJzL0NwdUR4ZS9Mb29uZ0FyY2g2NC9GcHUuUyAgICAgICBU aGlzIGZpbGUgaW1wbGVtZW50cyB0aGUgZnB1IGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uLgouL0Ry aXZlcnMvQ3B1RHhlL0xvb25nQXJjaDY0L0xvb25nQXJjaC5TIFRoaXMgZmlsZSBpcyByZWxhdGVk IHRvIGV4Y2VwdGlvbnMsIGluY2x1ZGluZyB0aGUgaW1wbGVtZW50YXRpb24gb2YgdGhlIGV4Y2Vw dGlvbiBlbnRyeSBmdW5jdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzYXZpbmcgYW5kIHJlcGx5aW5nIHRvIHRoZSBzY2VuZSwgYW5kIHNldHRpbmcgdGhlIGV4 Y2VwdGlvbiBlbnRyeSBhZGRyZXNzLgoKbG9vbmdhcmNoIHN0cnVjdHVyZSBjcHUgZGVmaW5lcyBh IHNlcmllcyBvZiBjb250cm9sIHN0YXR1cyByZWdpc3RlcnMgKENTUiksIAp0aGVpciByZWFkIGFu ZCB3cml0ZSBvcGVyYXRpb25zIG5lZWQgdG8gYmUgY29tcGxldGVkIHRocm91Z2ggdGhlIGNzcnJk IGFuZCBjc3J3ciBpbnN0cnVjdGlvbnMsIApjYW4gbm90IGJlIGFjY2Vzc2VkIGRpcmVjdGx5IHRo cm91Z2ggdGhlIGFkZHJlc3MsIHNvIHRoZXNlIGFzc2VtYmxpZXMgYXJlIG5vdCBvcHRpbWl6ZWQu CgoKMi4gSSBkaWRuJ3QgZmluZCB0aGUgVGFiIGNoYXJhY3RlciBpbiB0aGlzIHBhdGNoLgpJIGhh dmUgdHJpZWQgc2V2ZXJhbCBzZWFyY2ggbWV0aG9kczoKZ3JlcCAkJ1x0JyAtbnIgIC4vCmdyZXAg JwknICAtbnIgLi8KL15JICAgaW4gdmltCgpCZXN0IHdpc2hlcy4KeGlhbmdsYWkuCgo+IC0tLS0t 5Y6f5aeL6YKu5Lu2LS0tLS0KPiDlj5Hku7bkuro6ICJNaWNoYWVsIEQgS2lubmV5IiA8bWljaGFl bC5kLmtpbm5leUBpbnRlbC5jb20+Cj4g5Y+R6YCB5pe26Ze0OjIwMjItMDktMTAgMDA6NDk6MDAg KOaYn+acn+WFrSkKPiDmlLbku7bkuro6ICJkZXZlbEBlZGsyLmdyb3Vwcy5pbyIgPGRldmVsQGVk azIuZ3JvdXBzLmlvPiwgImxpeGlhbmdsYWlAbG9vbmdzb24uY24iIDxsaXhpYW5nbGFpQGxvb25n c29uLmNuPiwgIktpbm5leSwgTWljaGFlbCBEIiA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+ Cj4g5oqE6YCBOiAibWFvYmlib0Bsb29uZ3Nvbi5jbiIgPG1hb2JpYm9AbG9vbmdzb24uY24+Cj4g 5Li76aKYOiBSZTogW2VkazItZGV2ZWxdIFtlZGsyLXBsYXRmb3Jtc11bUEFUQ0ggVjEgMDYvMTZd IFBsYXRmb3JtL0xvb25nc29uOiBBZGQgU3RhYmxlVGltZXJMaWIuCj4gCj4gSSBzZWUgYSBtaXgg b2YgaW5saW5lIGFzc2VtYmx5IGFuZCAuUyBmaWxlcy4gIFJlY29tbWVuZCBhdm9pZGluZyBpbmxp bmUgYXNzZW1ibHkuCj4gCj4gQWxzbyBhcHBlYXJzIHRvIGJlIHNvbWUgVEFCIGNoYXJhY3RlcnMg aW4gdGhpcyBwYXRjaC4gIENvbnZlcnQgdGFicyB0byBzcGFjZXMuCj4gCj4gTWlrZQo+IAo+ID4g LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPiA+IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlv IDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9mIHhpYW5nbGFpCj4gPiBTZW50OiBU aHVyc2RheSwgU2VwdGVtYmVyIDgsIDIwMjIgODoxMiBQTQo+ID4gVG86IGRldmVsQGVkazIuZ3Jv dXBzLmlvCj4gPiBDYzogbWFvYmlib0Bsb29uZ3Nvbi5jbgo+ID4gU3ViamVjdDogW2VkazItZGV2 ZWxdIFtlZGsyLXBsYXRmb3Jtc11bUEFUQ0ggVjEgMDYvMTZdIFBsYXRmb3JtL0xvb25nc29uOiBB ZGQgU3RhYmxlVGltZXJMaWIuCj4gPiAKPiA+IFRoaXMgbGlicmFyeSBwcm92aWRlcyBhIGRlbGF5 IGludGVyZmFjZSBhbmQgYSB0aW1pbmcgaW50ZXJmYWNlLgo+ID4gCj4gPiBTaWduZWQtb2ZmLWJ5 OiB4aWFuZ2xhaSBsaSA8bGl4aWFuZ2xhaUBsb29uZ3Nvbi5jbj4KPiA+IC0tLQo+ID4gIC4uLi9J bmNsdWRlL0xpYnJhcnkvU3RhYmxlVGltZXIuaCAgICAgICAgICAgICB8ICA0MiArKysKPiA+ICAu Li4vTGlicmFyeS9TdGFibGVUaW1lckxpYi9Db3VudC5TICAgICAgICAgICAgfCAgMjYgKysKPiA+ ICAuLi4vTGlicmFyeS9TdGFibGVUaW1lckxpYi9UaW1lckxpYi5jICAgICAgICAgfCAyNjIgKysr KysrKysrKysrKysrKysrCj4gPiAgLi4uL0xpYnJhcnkvU3RhYmxlVGltZXJMaWIvVGltZXJMaWIu aW5mICAgICAgIHwgIDI4ICsrCj4gPiAgNCBmaWxlcyBjaGFuZ2VkLCAzNTggaW5zZXJ0aW9ucygr KQo+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBQbGF0Zm9ybS9Mb29uZ3Nvbi9Mb29uZ0FyY2hRZW11 UGtnL0luY2x1ZGUvTGlicmFyeS9TdGFibGVUaW1lci5oCj4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0 IFBsYXRmb3JtL0xvb25nc29uL0xvb25nQXJjaFFlbXVQa2cvTGlicmFyeS9TdGFibGVUaW1lckxp Yi9Db3VudC5TCj4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IFBsYXRmb3JtL0xvb25nc29uL0xvb25n QXJjaFFlbXVQa2cvTGlicmFyeS9TdGFibGVUaW1lckxpYi9UaW1lckxpYi5jCj4gPiAgY3JlYXRl IG1vZGUgMTAwNjQ0IFBsYXRmb3JtL0xvb25nc29uL0xvb25nQXJjaFFlbXVQa2cvTGlicmFyeS9T dGFibGVUaW1lckxpYi9UaW1lckxpYi5pbmYKPiA+IAo+ID4gZGlmZiAtLWdpdCBhL1BsYXRmb3Jt L0xvb25nc29uL0xvb25nQXJjaFFlbXVQa2cvSW5jbHVkZS9MaWJyYXJ5L1N0YWJsZVRpbWVyLmgK PiA+IGIvUGxhdGZvcm0vTG9vbmdzb24vTG9vbmdBcmNoUWVtdVBrZy9JbmNsdWRlL0xpYnJhcnkv U3RhYmxlVGltZXIuaAo+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiA+IGluZGV4IDAwMDAwMDAw MDAuLmJkNmExZWI5MGYKPiA+IC0tLSAvZGV2L251bGwKPiA+ICsrKyBiL1BsYXRmb3JtL0xvb25n c29uL0xvb25nQXJjaFFlbXVQa2cvSW5jbHVkZS9MaWJyYXJ5L1N0YWJsZVRpbWVyLmgKPiA+IEBA IC0wLDAgKzEsNDIgQEAKPiA+ICsvKiogQGZpbGUKPiA+IAo+ID4gKwo+ID4gCj4gPiArICBDb3B5 cmlnaHQgKGMpIDIwMjEgTG9vbmdzb24gVGVjaG5vbG9neSBDb3Jwb3JhdGlvbiBMaW1pdGVkLiBB bGwgcmlnaHRzIHJlc2VydmVkLjxCUj4KPiA+IAo+ID4gKwo+ID4gCj4gPiArICBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudAo+ID4gCj4gPiArCj4gPiAKPiA+ICsg IEBwYXIgR2xvc3Nhcnk6Cj4gPiAKPiA+ICsgICAgLSBDc3IgICAgLSBDcHUgU3RhdHVzIFJlZ2lz dGVyCj4gPiAKPiA+ICsgICAgLSBDYWxjICAgLSBDYWxjdWxhdGlvbgo+ID4gCj4gPiArICAgIC0g RnJlcSAgIC0gZnJlcXVlbmN5Cj4gPiAKPiA+ICsqKi8KPiA+IAo+ID4gKwo+ID4gCj4gPiArI2lm bmRlZiBTVEFCTEVfVElNRVJfSF8KPiA+IAo+ID4gKyNkZWZpbmUgU1RBQkxFX1RJTUVSX0hfCj4g PiAKPiA+ICsjaW5jbHVkZSAiTGlicmFyeS9DcHUuaCIKPiA+IAo+ID4gKwo+ID4gCj4gPiArLyoq Cj4gPiAKPiA+ICsgIEdldHMgdGhlIHRpbWVyIGNvdW50IHZhbHVlLgo+ID4gCj4gPiArCj4gPiAK PiA+ICsgIEBwYXJhbVtdIFZPSUQKPiA+IAo+ID4gKwo+ID4gCj4gPiArICBAcmV0dmFsICB0aW1l ciBjb3VudCB2YWx1ZS4KPiA+IAo+ID4gKyoqLwo+ID4gCj4gPiArVUlOVE4KPiA+IAo+ID4gK0VG SUFQSQo+ID4gCj4gPiArQ3NyUmVhZFRpbWUgKAo+ID4gCj4gPiArICBWT0lECj4gPiAKPiA+ICsg ICk7Cj4gPiAKPiA+ICsKPiA+IAo+ID4gKy8qKgo+ID4gCj4gPiArICBDYWxjdWxhdGUgdGhlIHRp bWVyIGZyZXF1ZW5jeS4KPiA+IAo+ID4gKwo+ID4gCj4gPiArICBAcGFyYW1bXSBWT0lECj4gPiAK PiA+ICsKPiA+IAo+ID4gKyAgQHJldHZhbCAgVGltZXIgZnJlcXVlbmN5Lgo+ID4gCj4gPiArKiov Cj4gPiAKPiA+ICtVSU5UMzIKPiA+IAo+ID4gK0VGSUFQSQo+ID4gCj4gPiArQ2FsY0NvbnN0RnJl cSAoCj4gPiAKPiA+ICsgIFZPSUQKPiA+IAo+ID4gKyAgKTsKPiA+IAo+ID4gKyNlbmRpZgo+ID4g Cj4gPiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0vTG9vbmdzb24vTG9vbmdBcmNoUWVtdVBrZy9MaWJy YXJ5L1N0YWJsZVRpbWVyTGliL0NvdW50LlMKPiA+IGIvUGxhdGZvcm0vTG9vbmdzb24vTG9vbmdB cmNoUWVtdVBrZy9MaWJyYXJ5L1N0YWJsZVRpbWVyTGliL0NvdW50LlMKPiA+IG5ldyBmaWxlIG1v ZGUgMTAwNjQ0Cj4gPiBpbmRleCAwMDAwMDAwMDAwLi40MmY4NzhjYWY4Cj4gPiAtLS0gL2Rldi9u dWxsCj4gPiArKysgYi9QbGF0Zm9ybS9Mb29uZ3Nvbi9Mb29uZ0FyY2hRZW11UGtnL0xpYnJhcnkv U3RhYmxlVGltZXJMaWIvQ291bnQuUwo+ID4gQEAgLTAsMCArMSwyNiBAQAo+ID4gKyMtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KPiA+IAo+ID4gKyMKPiA+IAo+ID4gKyMgQ291bnQgZm9yIExvb25nQXJj aAo+ID4gCj4gPiArIwo+ID4gCj4gPiArIyBDb3B5cmlnaHQgKGMpIDIwMjEgTG9vbmdzb24gVGVj aG5vbG9neSBDb3Jwb3JhdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4KPiA+ IAo+ID4gKyMKPiA+IAo+ID4gKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVz ZS1QYXRlbnQKPiA+IAo+ID4gKyMKPiA+IAo+ID4gKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiA+ IAo+ID4gKwo+ID4gCj4gPiArI2lmbmRlZiBfX0FTU0VNQkxZX18KPiA+IAo+ID4gKyNkZWZpbmUg IF9fQVNTRU1CTFlfXwo+ID4gCj4gPiArI2VuZGlmCj4gPiAKPiA+ICsKPiA+IAo+ID4gKyNpbmNs dWRlICJMaWJyYXJ5L0NwdS5oIgo+ID4gCj4gPiArI2luY2x1ZGUgIkxvb25nQXJjaEFzbU1hY3Jv LmgiCj4gPiAKPiA+ICsjCj4gPiAKPiA+ICsjIFNldCBjcHUgaW50ZXJydXB0cwo+ID4gCj4gPiAr IyBAcGFyYW0gQTAgVGhlIGludGVycnVwdCBudW1iZXIKPiA+IAo+ID4gKyMKPiA+IAo+ID4gK0FT TV9GVU5DKENwdVNldElQKQo+ID4gCj4gPiArICAgIGNzcnJkICAgVDAsIExPT05HQVJDSF9DU1Jf RUNGRwo+ID4gCj4gPiArICAgIG9yICAgICAgVDAsIFQwLCBBMAo+ID4gCj4gPiArICAgIGNzcndy ICAgVDAsIExPT05HQVJDSF9DU1JfRUNGRwo+ID4gCj4gPiArICAgIGppcmwgICAgWkVSTywgUkEs MAo+ID4gCj4gPiArCj4gPiAKPiA+IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9Mb29uZ3Nvbi9Mb29u Z0FyY2hRZW11UGtnL0xpYnJhcnkvU3RhYmxlVGltZXJMaWIvVGltZXJMaWIuYwo+ID4gYi9QbGF0 Zm9ybS9Mb29uZ3Nvbi9Mb29uZ0FyY2hRZW11UGtnL0xpYnJhcnkvU3RhYmxlVGltZXJMaWIvVGlt ZXJMaWIuYwo+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiA+IGluZGV4IDAwMDAwMDAwMDAuLjIx ZTM3NDllZTYKPiA+IC0tLSAvZGV2L251bGwKPiA+ICsrKyBiL1BsYXRmb3JtL0xvb25nc29uL0xv b25nQXJjaFFlbXVQa2cvTGlicmFyeS9TdGFibGVUaW1lckxpYi9UaW1lckxpYi5jCj4gPiBAQCAt MCwwICsxLDI2MiBAQAo+ID4gKy8qKiBAZmlsZQo+ID4gCj4gPiArICBHZW5lcmljIExvb25nQXJj aCBpbXBsZW1lbnRhdGlvbiBvZiBUaW1lckxpYi5oCj4gPiAKPiA+ICsKPiA+IAo+ID4gKyAgQ29w eXJpZ2h0IChjKSAyMDIxIExvb25nc29uIFRlY2hub2xvZ3kgQ29ycG9yYXRpb24gTGltaXRlZC4g QWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+Cj4gPiAKPiA+ICsKPiA+IAo+ID4gKyAgU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQKPiA+IAo+ID4gKwo+ID4gCj4gPiAr ICBAcGFyIEdsb3NzYXJ5Ogo+ID4gCj4gPiArICAgIC0gRnJlcSAtIEZyZXF1ZW5jeQo+ID4gCj4g PiArICAgIC0gQ3NyICAtIENwdSBTdGF0dXMgUmVnaXN0ZXIKPiA+IAo+ID4gKyAgICAtIGNhbGMg LSBjYWxjdWxhdGUKPiA+IAo+ID4gKyoqLwo+ID4gCj4gPiArCj4gPiAKPiA+ICsjaW5jbHVkZSA8 QmFzZS5oPgo+ID4gCj4gPiArI2luY2x1ZGUgPExpYnJhcnkvVGltZXJMaWIuaD4KPiA+IAo+ID4g KyNpbmNsdWRlIDxMaWJyYXJ5L0Jhc2VMaWIuaD4KPiA+IAo+ID4gKyNpbmNsdWRlIDxMaWJyYXJ5 L0RlYnVnTGliLmg+Cj4gPiAKPiA+ICsjaW5jbHVkZSAiTGlicmFyeS9TdGFibGVUaW1lci5oIgo+ ID4gCj4gPiArI2luY2x1ZGUgIkxpYnJhcnkvQ3B1LmgiCj4gPiAKPiA+ICsKPiA+IAo+ID4gK1VJ TlQzMiBTdGFibGVUaW1lckZyZXEgPSAwOwo+ID4gCj4gPiArCj4gPiAKPiA+ICsvKioKPiA+IAo+ ID4gKyAgR2V0cyB0aGUgdGltZXIgY291bnQgdmFsdWUuCj4gPiAKPiA+ICsKPiA+IAo+ID4gKyAg QHBhcmFtW10gVk9JRAo+ID4gCj4gPiArCj4gPiAKPiA+ICsgIEByZXR2YWwgIHRpbWVyIGNvdW50 IHZhbHVlLgo+ID4gCj4gPiArKiovCj4gPiAKPiA+ICtVSU5UTgo+ID4gCj4gPiArRUZJQVBJCj4g PiAKPiA+ICtDc3JSZWFkVGltZSAoCj4gPiAKPiA+ICsgIFZPSUQKPiA+IAo+ID4gKyAgKQo+ID4g Cj4gPiArewo+ID4gCj4gPiArICBVSU5UTiBWYWx1ZSA9IDA7Cj4gPiAKPiA+ICsgIF9fYXNtX18g X192b2xhdGlsZV9fKAo+ID4gCj4gPiArICAgICAgIiByZHRpbWUuZCAgICUwLCAkcjBcbiIKPiA+ IAo+ID4gKyAgICAgIDogIj1yIiAoVmFsdWUpKTsKPiA+IAo+ID4gKyAgcmV0dXJuIFZhbHVlOwo+ ID4gCj4gPiArfQo+ID4gCj4gPiArCj4gPiAKPiA+ICsvKioKPiA+IAo+ID4gKyAgQ2FsY3VsYXRl IHRoZSB0aW1lciBmcmVxdWVuY3kuCj4gPiAKPiA+ICsKPiA+IAo+ID4gKyAgQHBhcmFtW10gVk9J RAo+ID4gCj4gPiArCj4gPiAKPiA+ICsgIEByZXR2YWwgIFRpbWVyIGZyZXF1ZW5jeS4KPiA+IAo+ ID4gKyoqLwo+ID4gCj4gPiArVUlOVDMyCj4gPiAKPiA+ICtFRklBUEkKPiA+IAo+ID4gK0NhbGND b25zdEZyZXEgKAo+ID4gCj4gPiArICBWT0lECj4gPiAKPiA+ICsgICkKPiA+IAo+ID4gK3sKPiA+ IAo+ID4gKyAgVUlOVDMyIFJlc3VsdDsKPiA+IAo+ID4gKyAgVUlOVDMyIEJhc2VGcmVxOwo+ID4g Cj4gPiArICBVSU5UMzIgQ2xvY2tNdWx0aXBsaWVyOwo+ID4gCj4gPiArICBVSU5UMzIgQ2xvY2tE aXZpZGU7Cj4gPiAKPiA+ICsKPiA+IAo+ID4gKyAgTE9PTkdBUkNIX0dFVF9DUFVDRkcgKEJhc2VG cmVxLCBMT09OR0FSQ0hfQ1BVQ0ZHNCk7Cj4gPiAKPiA+ICsgIExPT05HQVJDSF9HRVRfQ1BVQ0ZH IChSZXN1bHQsIExPT05HQVJDSF9DUFVDRkc1KTsKPiA+IAo+ID4gKyAgQ2xvY2tNdWx0aXBsaWVy ID0gUmVzdWx0ICYgMHhmZmZmOwo+ID4gCj4gPiArICBDbG9ja0RpdmlkZSA9IChSZXN1bHQgPj4g MTYpICYgMHhmZmZmOwo+ID4gCj4gPiArCj4gPiAKPiA+ICsgIGlmICgoIUJhc2VGcmVxKQo+ID4g Cj4gPiArICAgIHx8ICghQ2xvY2tNdWx0aXBsaWVyKQo+ID4gCj4gPiArICAgIHx8ICghQ2xvY2tE aXZpZGUpKQo+ID4gCj4gPiArICB7Cj4gPiAKPiA+ICsgICAgcmV0dXJuIDA7Cj4gPiAKPiA+ICsg IH0KPiA+IAo+ID4gKyAgZWxzZSB7Cj4gPiAKPiA+ICsgICAgcmV0dXJuIChCYXNlRnJlcSAqIENs b2NrTXVsdGlwbGllciAvIENsb2NrRGl2aWRlKTsKPiA+IAo+ID4gKyAgfQo+ID4gCj4gPiArfQo+ ID4gCj4gPiArLyoqCj4gPiAKPiA+ICsgIEdldCB0aGUgdGltZXIgZnJlcXVlbmN5Lgo+ID4gCj4g PiArCj4gPiAKPiA+ICsgIEBwYXJhbVtdIFZPSUQKPiA+IAo+ID4gKwo+ID4gCj4gPiArICBAcmV0 dmFsICBUaW1lciBmcmVxdWVuY3kuCj4gPiAKPiA+ICsqKi8KPiA+IAo+ID4gK1VJTlQzMgo+ID4g Cj4gPiArRUZJQVBJCj4gPiAKPiA+ICtHZXRGcmVxICgKPiA+IAo+ID4gKyAgVk9JRAo+ID4gCj4g PiArICApCj4gPiAKPiA+ICt7Cj4gPiAKPiA+ICsgIGlmIChTdGFibGVUaW1lckZyZXEpIHsKPiA+ IAo+ID4gKyAgfSBlbHNlIHsKPiA+IAo+ID4gKyAgICBTdGFibGVUaW1lckZyZXEgPSBDYWxjQ29u c3RGcmVxICgpOwo+ID4gCj4gPiArICB9Cj4gPiAKPiA+ICsKPiA+IAo+ID4gKyAgcmV0dXJuIFN0 YWJsZVRpbWVyRnJlcTsKPiA+IAo+ID4gK30KPiA+IAo+ID4gKwo+ID4gCj4gPiArLyoqCj4gPiAK PiA+ICsgIFN0YWxscyB0aGUgQ1BVIGZvciBhdCBsZWFzdCB0aGUgZ2l2ZW4gbnVtYmVyIG9mIG1p Y3Jvc2Vjb25kcy4KPiA+IAo+ID4gKwo+ID4gCj4gPiArICBTdGFsbHMgdGhlIENQVSBmb3IgdGhl IG51bWJlciBvZiBtaWNyb3NlY29uZHMgc3BlY2lmaWVkIGJ5IE1pY3JvU2Vjb25kcy4KPiA+IAo+ ID4gKwo+ID4gCj4gPiArICBAcGFyYW0gIE1pY3JvU2Vjb25kcyAgVGhlIG1pbmltdW0gbnVtYmVy IG9mIG1pY3Jvc2Vjb25kcyB0byBkZWxheS4KPiA+IAo+ID4gKwo+ID4gCj4gPiArICBAcmV0dXJu IE1pY3JvU2Vjb25kcwo+ID4gCj4gPiArCj4gPiAKPiA+ICsqKi8KPiA+IAo+ID4gK1VJTlROCj4g PiAKPiA+ICtFRklBUEkKPiA+IAo+ID4gK01pY3JvU2Vjb25kRGVsYXkgKAo+ID4gCj4gPiArICBJ TiAgVUlOVE4gTWljcm9TZWNvbmRzCj4gPiAKPiA+ICsgICkKPiA+IAo+ID4gK3sKPiA+IAo+ID4g Kwo+ID4gCj4gPiArICBVSU5UTiBDb3VudDsKPiA+IAo+ID4gKyAgVUlOVE4gVGlja3M7Cj4gPiAK PiA+ICsgIFVJTlROIFN0YXJ0Owo+ID4gCj4gPiArICBVSU5UTiBFbmQ7Cj4gPiAKPiA+ICsKPiA+ IAo+ID4gKyAgQ291bnQgPSBHZXRGcmVxICgpOwo+ID4gCj4gPiArICBDb3VudCA9IChDb3VudCAq IE1pY3JvU2Vjb25kcykgLyAxMDAwMDAwOwo+ID4gCj4gPiArICBTdGFydCA9IENzclJlYWRUaW1l ICgpOwo+ID4gCj4gPiArICBFbmQgPSBTdGFydCArIENvdW50Owo+ID4gCj4gPiArCj4gPiAKPiA+ ICsgIGRvIHsKPiA+IAo+ID4gKyAgICBUaWNrcyA9IENzclJlYWRUaW1lICgpOwo+ID4gCj4gPiAr ICB9IHdoaWxlIChUaWNrcyA8IEVuZCk7Cj4gPiAKPiA+ICsKPiA+IAo+ID4gKyAgcmV0dXJuIE1p Y3JvU2Vjb25kczsKPiA+IAo+ID4gK30KPiA+IAo+ID4gKwo+ID4gCj4gPiArLyoqCj4gPiAKPiA+ ICsgIFN0YWxscyB0aGUgQ1BVIGZvciBhdCBsZWFzdCB0aGUgZ2l2ZW4gbnVtYmVyIG9mIG5hbm9z ZWNvbmRzLgo+ID4gCj4gPiArCj4gPiAKPiA+ICsgIFN0YWxscyB0aGUgQ1BVIGZvciB0aGUgbnVt YmVyIG9mIG5hbm9zZWNvbmRzIHNwZWNpZmllZCBieSBOYW5vU2Vjb25kcy4KPiA+IAo+ID4gKwo+ ID4gCj4gPiArICBAcGFyYW0gIE5hbm9TZWNvbmRzIFRoZSBtaW5pbXVtIG51bWJlciBvZiBuYW5v c2Vjb25kcyB0byBkZWxheS4KPiA+IAo+ID4gKwo+ID4gCj4gPiArICBAcmV0dXJuIE5hbm9TZWNv bmRzCj4gPiAKPiA+ICsKPiA+IAo+ID4gKyoqLwo+ID4gCj4gPiArVUlOVE4KPiA+IAo+ID4gK0VG SUFQSQo+ID4gCj4gPiArTmFub1NlY29uZERlbGF5ICgKPiA+IAo+ID4gKyAgSU4gICAgICBVSU5U TiAgICAgICAgICAgICAgICAgICAgIE5hbm9TZWNvbmRzCj4gPiAKPiA+ICsgICkKPiA+IAo+ID4g K3sKPiA+IAo+ID4gKyAgVUlOVDMyICBNaWNyb1NlY29uZHM7Cj4gPiAKPiA+ICsKPiA+IAo+ID4g KyAgaWYgKE5hbm9TZWNvbmRzICUgMTAwMCA9PSAwKSB7Cj4gPiAKPiA+ICsgICAgTWljcm9TZWNv bmRzID0gTmFub1NlY29uZHMvMTAwMDsKPiA+IAo+ID4gKyAgfWVsc2Ugewo+ID4gCj4gPiArICAg IE1pY3JvU2Vjb25kcyA9IE5hbm9TZWNvbmRzLzEwMDAgKyAxOwo+ID4gCj4gPiArICB9Cj4gPiAK PiA+ICsgIE1pY3JvU2Vjb25kRGVsYXkgKE1pY3JvU2Vjb25kcyk7Cj4gPiAKPiA+ICsKPiA+IAo+ ID4gKyAgcmV0dXJuIE5hbm9TZWNvbmRzOwo+ID4gCj4gPiArfQo+ID4gCj4gPiArCj4gPiAKPiA+ ICsvKioKPiA+IAo+ID4gKyAgUmV0cmlldmVzIHRoZSBjdXJyZW50IHZhbHVlIG9mIGEgNjQtYml0 IGZyZWUgcnVubmluZyBwZXJmb3JtYW5jZSBjb3VudGVyLgo+ID4gCj4gPiArCj4gPiAKPiA+ICsg IFJldHJpZXZlcyB0aGUgY3VycmVudCB2YWx1ZSBvZiBhIDY0LWJpdCBmcmVlIHJ1bm5pbmcgcGVy Zm9ybWFuY2UgY291bnRlci4gVGhlCj4gPiAKPiA+ICsgIGNvdW50ZXIgY2FuIGVpdGhlciBjb3Vu dCB1cCBieSAxIG9yIGNvdW50IGRvd24gYnkgMS4gSWYgdGhlIHBoeXNpY2FsCj4gPiAKPiA+ICsg IHBlcmZvcm1hbmNlIGNvdW50ZXIgY291bnRzIGJ5IGEgbGFyZ2VyIGluY3JlbWVudCwgdGhlbiB0 aGUgY291bnRlciB2YWx1ZXMKPiA+IAo+ID4gKyAgbXVzdCBiZSB0cmFuc2xhdGVkLiBUaGUgcHJv cGVydGllcyBvZiB0aGUgY291bnRlciBjYW4gYmUgcmV0cmlldmVkIGZyb20KPiA+IAo+ID4gKyAg R2V0UGVyZm9ybWFuY2VDb3VudGVyUHJvcGVydGllcyAoKS4KPiA+IAo+ID4gKwo+ID4gCj4gPiAr ICBAcmV0dXJuIFRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBmcmVlIHJ1bm5pbmcgcGVyZm9ybWFu Y2UgY291bnRlci4KPiA+IAo+ID4gKwo+ID4gCj4gPiArKiovCj4gPiAKPiA+ICtVSU5UNjQKPiA+ IAo+ID4gK0VGSUFQSQo+ID4gCj4gPiArR2V0UGVyZm9ybWFuY2VDb3VudGVyICgKPiA+IAo+ID4g KyAgVk9JRAo+ID4gCj4gPiArICApCj4gPiAKPiA+ICt7Cj4gPiAKPiA+ICsgIHJldHVybiBDc3JS ZWFkVGltZSAoKTsKPiA+IAo+ID4gK30KPiA+IAo+ID4gKy8qKgo+ID4gCj4gPiArICBSZXRyaWV2 ZXMgdGhlIDY0LWJpdCBmcmVxdWVuY3kgaW4gSHogYW5kIHRoZSByYW5nZSBvZiBwZXJmb3JtYW5j ZSBjb3VudGVyCj4gPiAKPiA+ICsgIHZhbHVlcy4KPiA+IAo+ID4gKwo+ID4gCj4gPiArICBJZiBT dGFydFZhbHVlIGlzIG5vdCBOVUxMLCB0aGVuIHRoZSB2YWx1ZSB0aGF0IHRoZSBwZXJmb3JtYW5j ZSBjb3VudGVyIHN0YXJ0cwo+ID4gCj4gPiArICB3aXRoIGltbWVkaWF0ZWx5IGFmdGVyIGlzIGl0 IHJvbGxzIG92ZXIgaXMgcmV0dXJuZWQgaW4gU3RhcnRWYWx1ZS4gSWYKPiA+IAo+ID4gKyAgRW5k VmFsdWUgaXMgbm90IE5VTEwsIHRoZW4gdGhlIHZhbHVlIHRoYXQgdGhlIHBlcmZvcm1hbmNlIGNv dW50ZXIgZW5kIHdpdGgKPiA+IAo+ID4gKyAgaW1tZWRpYXRlbHkgYmVmb3JlIGl0IHJvbGxzIG92 ZXIgaXMgcmV0dXJuZWQgaW4gRW5kVmFsdWUuIFRoZSA2NC1iaXQKPiA+IAo+ID4gKyAgZnJlcXVl bmN5IG9mIHRoZSBwZXJmb3JtYW5jZSBjb3VudGVyIGluIEh6IGlzIGFsd2F5cyByZXR1cm5lZC4g SWYgU3RhcnRWYWx1ZQo+ID4gCj4gPiArICBpcyBsZXNzIHRoYW4gRW5kVmFsdWUsIHRoZW4gdGhl IHBlcmZvcm1hbmNlIGNvdW50ZXIgY291bnRzIHVwLiBJZiBTdGFydFZhbHVlCj4gPiAKPiA+ICsg IGlzIGdyZWF0ZXIgdGhhbiBFbmRWYWx1ZSwgdGhlbiB0aGUgcGVyZm9ybWFuY2UgY291bnRlciBj b3VudHMgZG93bi4gRm9yCj4gPiAKPiA+ICsgIGV4YW1wbGUsIGEgNjQtYml0IGZyZWUgcnVubmlu ZyBjb3VudGVyIHRoYXQgY291bnRzIHVwIHdvdWxkIGhhdmUgYSBTdGFydFZhbHVlCj4gPiAKPiA+ ICsgIG9mIDAgYW5kIGFuIEVuZFZhbHVlIG9mIDB4RkZGRkZGRkZGRkZGRkZGRi4gQSAyNC1iaXQg ZnJlZSBydW5uaW5nIGNvdW50ZXIKPiA+IAo+ID4gKyAgdGhhdCBjb3VudHMgZG93biB3b3VsZCBo YXZlIGEgU3RhcnRWYWx1ZSBvZiAweEZGRkZGRiBhbmQgYW4gRW5kVmFsdWUgb2YgMC4KPiA+IAo+ ID4gKwo+ID4gCj4gPiArICBAcGFyYW0gIFN0YXJ0VmFsdWUgIFRoZSB2YWx1ZSB0aGUgcGVyZm9y bWFuY2UgY291bnRlciBzdGFydHMgd2l0aCB3aGVuIGl0Cj4gPiAKPiA+ICsgICAgICAgICAgICAg ICAgICAgICAgcm9sbHMgb3Zlci4KPiA+IAo+ID4gKyAgQHBhcmFtICBFbmRWYWx1ZSAgICBUaGUg dmFsdWUgdGhhdCB0aGUgcGVyZm9ybWFuY2UgY291bnRlciBlbmRzIHdpdGggYmVmb3JlCj4gPiAK PiA+ICsgICAgICAgICAgICAgICAgICAgICAgaXQgcm9sbHMgb3Zlci4KPiA+IAo+ID4gKwo+ID4g Cj4gPiArICBAcmV0dXJuIFRoZSBmcmVxdWVuY3kgaW4gSHouCj4gPiAKPiA+ICsKPiA+IAo+ID4g KyoqLwo+ID4gCj4gPiArVUlOVDY0Cj4gPiAKPiA+ICtFRklBUEkKPiA+IAo+ID4gK0dldFBlcmZv cm1hbmNlQ291bnRlclByb3BlcnRpZXMgKAo+ID4gCj4gPiArICBPVVQgICAgICBVSU5UNjQgICAg ICAgICAgICAgICAgICAgICpTdGFydFZhbHVlLCAgT1BUSU9OQUwKPiA+IAo+ID4gKyAgT1VUICAg ICAgVUlOVDY0ICAgICAgICAgICAgICAgICAgICAqRW5kVmFsdWUgICAgIE9QVElPTkFMCj4gPiAK PiA+ICsgICkKPiA+IAo+ID4gK3sKPiA+IAo+ID4gKyAgaWYgKFN0YXJ0VmFsdWUgIT0gTlVMTCkg ewo+ID4gCj4gPiArICAgICpTdGFydFZhbHVlID0gQklUMjsKPiA+IAo+ID4gKyAgfQo+ID4gCj4g PiArCj4gPiAKPiA+ICsgIGlmIChFbmRWYWx1ZSAhPSBOVUxMKSB7Cj4gPiAKPiA+ICsgICAgKkVu ZFZhbHVlID0gQklUNDggLSAxOwo+ID4gCj4gPiArICB9Cj4gPiAKPiA+ICsKPiA+IAo+ID4gKyAg cmV0dXJuIEdldEZyZXEgKCk7Cj4gPiAKPiA+ICt9Cj4gPiAKPiA+ICsKPiA+IAo+ID4gKy8qKgo+ ID4gCj4gPiArICBDb252ZXJ0cyBlbGFwc2VkIHRpY2tzIG9mIHBlcmZvcm1hbmNlIGNvdW50ZXIg dG8gdGltZSBpbiBuYW5vc2Vjb25kcy4KPiA+IAo+ID4gKwo+ID4gCj4gPiArICBUaGlzIGZ1bmN0 aW9uIGNvbnZlcnRzIHRoZSBlbGFwc2VkIHRpY2tzIG9mIHJ1bm5pbmcgcGVyZm9ybWFuY2UgY291 bnRlciB0bwo+ID4gCj4gPiArICB0aW1lIHZhbHVlIGluIHVuaXQgb2YgbmFub3NlY29uZHMuCj4g PiAKPiA+ICsKPiA+IAo+ID4gKyAgQHBhcmFtICBUaWNrcyAgICAgVGhlIG51bWJlciBvZiBlbGFw c2VkIHRpY2tzIG9mIHJ1bm5pbmcgcGVyZm9ybWFuY2UgY291bnRlci4KPiA+IAo+ID4gKwo+ID4g Cj4gPiArICBAcmV0dXJuIFRoZSBlbGFwc2VkIHRpbWUgaW4gbmFub3NlY29uZHMuCj4gPiAKPiA+ ICsKPiA+IAo+ID4gKyoqLwo+ID4gCj4gPiArVUlOVDY0Cj4gPiAKPiA+ICtFRklBUEkKPiA+IAo+ ID4gK0dldFRpbWVJbk5hbm9TZWNvbmQgKAo+ID4gCj4gPiArICBJTiAgICAgIFVJTlQ2NCAgICAg ICAgICAgICAgICAgICAgIFRpY2tzCj4gPiAKPiA+ICsgICkKPiA+IAo+ID4gK3sKPiA+IAo+ID4g KyAgVUlOVDY0ICBGcmVxdWVuY3k7Cj4gPiAKPiA+ICsgIFVJTlQ2NCAgTmFub1NlY29uZHM7Cj4g PiAKPiA+ICsgIFVJTlQ2NCAgUmVtYWluZGVyOwo+ID4gCj4gPiArICBJTlROICAgIFNoaWZ0Owo+ ID4gCj4gPiArCj4gPiAKPiA+ICsgIEZyZXF1ZW5jeSA9IEdldFBlcmZvcm1hbmNlQ291bnRlclBy b3BlcnRpZXMgKE5VTEwsIE5VTEwpOwo+ID4gCj4gPiArCj4gPiAKPiA+ICsgIC8vCj4gPiAKPiA+ ICsgIC8vICAgICAgICAgIFRpY2tzCj4gPiAKPiA+ICsgIC8vIFRpbWUgPSAtLS0tLS0tLS0geCAx LDAwMCwwMDAsMDAwCj4gPiAKPiA+ICsgIC8vICAgICAgICBGcmVxdWVuY3kKPiA+IAo+ID4gKyAg Ly8KPiA+IAo+ID4gKyAgTmFub1NlY29uZHMgPSBNdWx0VTY0eDMyIChEaXZVNjR4NjRSZW1haW5k ZXIgKFRpY2tzLCBGcmVxdWVuY3ksICZSZW1haW5kZXIpLCAxMDAwMDAwMDAwdSk7Cj4gPiAKPiA+ ICsKPiA+IAo+ID4gKyAgLy8KPiA+IAo+ID4gKyAgLy8gRW5zdXJlIChSZW1haW5kZXIgKiAxLDAw MCwwMDAsMDAwKSB3aWxsIG5vdCBvdmVyZmxvdyA2NC1iaXQuCj4gPiAKPiA+ICsgIC8vIFNpbmNl IDJeMjkgPCAxLDAwMCwwMDAsMDAwID0gMHgzQjlBQ0EwMCA8IDJeMzAsIFJlbWFpbmRlciBzaG91 bGQgPCAyXig2NC0zMCkgPSAyXjM0LAo+ID4gCj4gPiArICAvLyBpLmUuIGhpZ2hlc3QgYml0IHNl dCBpbiBSZW1haW5kZXIgc2hvdWxkIDw9IDMzLgo+ID4gCj4gPiArICAvLwo+ID4gCj4gPiArICBT aGlmdCA9IE1BWCAoMCwgSGlnaEJpdFNldDY0IChSZW1haW5kZXIpIC0gMzMpOwo+ID4gCj4gPiAr ICBSZW1haW5kZXIgPSBSU2hpZnRVNjQgKFJlbWFpbmRlciwgKFVJTlROKSBTaGlmdCk7Cj4gPiAK PiA+ICsgIEZyZXF1ZW5jeSA9IFJTaGlmdFU2NCAoRnJlcXVlbmN5LCAoVUlOVE4pIFNoaWZ0KTsK PiA+IAo+ID4gKyAgTmFub1NlY29uZHMgKz0gRGl2VTY0eDY0UmVtYWluZGVyIChNdWx0VTY0eDMy IChSZW1haW5kZXIsIDEwMDAwMDAwMDB1KSwgRnJlcXVlbmN5LCBOVUxMKTsKPiA+IAo+ID4gKwo+ ID4gCj4gPiArICByZXR1cm4gTmFub1NlY29uZHM7Cj4gPiAKPiA+ICt9Cj4gPiAKPiA+IGRpZmYg LS1naXQgYS9QbGF0Zm9ybS9Mb29uZ3Nvbi9Mb29uZ0FyY2hRZW11UGtnL0xpYnJhcnkvU3RhYmxl VGltZXJMaWIvVGltZXJMaWIuaW5mCj4gPiBiL1BsYXRmb3JtL0xvb25nc29uL0xvb25nQXJjaFFl bXVQa2cvTGlicmFyeS9TdGFibGVUaW1lckxpYi9UaW1lckxpYi5pbmYKPiA+IG5ldyBmaWxlIG1v ZGUgMTAwNjQ0Cj4gPiBpbmRleCAwMDAwMDAwMDAwLi5mZWYwZmFjMDhjCj4gPiAtLS0gL2Rldi9u dWxsCj4gPiArKysgYi9QbGF0Zm9ybS9Mb29uZ3Nvbi9Mb29uZ0FyY2hRZW11UGtnL0xpYnJhcnkv U3RhYmxlVGltZXJMaWIvVGltZXJMaWIuaW5mCj4gPiBAQCAtMCwwICsxLDI4IEBACj4gPiArIyMg QGZpbGUKPiA+IAo+ID4gKyMgIEdlbmVyaWMgTG9vbmdBcmNoIGltcGxlbWVudGF0aW9uIG9mIFRp bWVyTGliLmgKPiA+IAo+ID4gKyMKPiA+IAo+ID4gKyMgIENvcHlyaWdodCAoYykgMjAyMSBMb29u Z3NvbiBUZWNobm9sb2d5IENvcnBvcmF0aW9uIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQu PEJSPgo+ID4gCj4gPiArIwo+ID4gCj4gPiArIyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJT RC0yLUNsYXVzZS1QYXRlbnQKPiA+IAo+ID4gKyMKPiA+IAo+ID4gKyMjCj4gPiAKPiA+ICsKPiA+ IAo+ID4gK1tEZWZpbmVzXQo+ID4gCj4gPiArICBJTkZfVkVSU0lPTiAgICAgICAgICAgICAgICAg ICAgICAgPSAweDAwMDEwMDA1Cj4gPiAKPiA+ICsgIEJBU0VfTkFNRSAgICAgICAgICAgICAgICAg ICAgICAgICA9IFRpbWVyTGliCj4gPiAKPiA+ICsgIEZJTEVfR1VJRCAgICAgICAgICAgICAgICAg ICAgICAgICA9IDc0MDM4OUM3LUNDNDQtNEEyRi04OERDLTg5RDk3RDMxMkU3Qwo+ID4gCj4gPiAr ICBNT0RVTEVfVFlQRSAgICAgICAgICAgICAgICAgICAgICAgPSBCQVNFCj4gPiAKPiA+ICsgIFZF UlNJT05fU1RSSU5HICAgICAgICAgICAgICAgICAgICA9IDEuMAo+ID4gCj4gPiArICBMSUJSQVJZ X0NMQVNTICAgICAgICAgICAgICAgICAgICAgPSBUaW1lckxpYgo+ID4gCj4gPiArCj4gPiAKPiA+ ICtbU291cmNlcy5jb21tb25dCj4gPiAKPiA+ICsgIFRpbWVyTGliLmMKPiA+IAo+ID4gKyAgQ291 bnQuUwo+ID4gCj4gPiArCj4gPiAKPiA+ICtbUGFja2FnZXNdCj4gPiAKPiA+ICsgIFBsYXRmb3Jt L0xvb25nc29uL0xvb25nQXJjaFFlbXVQa2cvTG9vbmdzb24uZGVjCj4gPiAKPiA+ICsgIE1kZVBr Zy9NZGVQa2cuZGVjCj4gPiAKPiA+ICsKPiA+IAo+ID4gK1tMaWJyYXJ5Q2xhc3Nlc10KPiA+IAo+ ID4gKyAgRGVidWdMaWIKPiA+IAo+ID4gKyAgSW9MaWIKPiA+IAo+ID4gLS0KPiA+IDIuMzEuMQo+ ID4gCj4gPiAKPiA+IAo+ID4gLT0tPS09LT0tPS09Cj4gPiBHcm91cHMuaW8gTGlua3M6IFlvdSBy ZWNlaXZlIGFsbCBtZXNzYWdlcyBzZW50IHRvIHRoaXMgZ3JvdXAuCj4gPiBWaWV3L1JlcGx5IE9u bGluZSAoIzkzNTYwKTogaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL21lc3NhZ2UvOTM1 NjAKPiA+IE11dGUgVGhpcyBUb3BpYzogaHR0cHM6Ly9ncm91cHMuaW8vbXQvOTM1NjU1ODIvMTY0 MzQ5Ngo+ID4gR3JvdXAgT3duZXI6IGRldmVsK293bmVyQGVkazIuZ3JvdXBzLmlvCj4gPiBVbnN1 YnNjcmliZTogaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL3Vuc3ViIFttaWNoYWVsLmQu a2lubmV5QGludGVsLmNvbV0KPiA+IC09LT0tPS09LT0tPQo+ID4gCj4gCj4gCj4gCj4gCj4gCj4g Cg0KDQrmnKzpgq7ku7blj4rlhbbpmYTku7blkKvmnInpvpnoiq/kuK3np5HnmoTllYbkuJrnp5jl r4bkv6Hmga/vvIzku4XpmZDkuo7lj5HpgIHnu5nkuIrpnaLlnLDlnYDkuK3liJflh7rnmoTkuKrk urrmiJbnvqTnu4TjgILnpoHmraLku7vkvZXlhbbku5bkurrku6Xku7vkvZXlvaLlvI/kvb/nlKjv vIjljIXmi6zkvYbkuI3pmZDkuo7lhajpg6jmiJbpg6jliIblnLDms4TpnLLjgIHlpI3liLbmiJbm laPlj5HvvInmnKzpgq7ku7blj4rlhbbpmYTku7bkuK3nmoTkv6Hmga/jgILlpoLmnpzmgqjplJnm lLbmnKzpgq7ku7bvvIzor7fmgqjnq4vljbPnlLXor53miJbpgq7ku7bpgJrnn6Xlj5Hku7bkurrl ubbliKDpmaTmnKzpgq7ku7bjgIIgDQpUaGlzIGVtYWlsIGFuZCBpdHMgYXR0YWNobWVudHMgY29u dGFpbiBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gZnJvbSBMb29uZ3NvbiBUZWNobm9sb2d5ICwg d2hpY2ggaXMgaW50ZW5kZWQgb25seSBmb3IgdGhlIHBlcnNvbiBvciBlbnRpdHkgd2hvc2UgYWRk cmVzcyBpcyBsaXN0ZWQgYWJvdmUuIEFueSB1c2Ugb2YgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5l ZCBoZXJlaW4gaW4gYW55IHdheSAoaW5jbHVkaW5nLCBidXQgbm90IGxpbWl0ZWQgdG8sIHRvdGFs IG9yIHBhcnRpYWwgZGlzY2xvc3VyZSwgcmVwcm9kdWN0aW9uIG9yIGRpc3NlbWluYXRpb24pIGJ5 IHBlcnNvbnMgb3RoZXIgdGhhbiB0aGUgaW50ZW5kZWQgcmVjaXBpZW50KHMpIGlzIHByb2hpYml0 ZWQuIElmIHlvdSByZWNlaXZlIHRoaXMgZW1haWwgaW4gZXJyb3IsIHBsZWFzZSBub3RpZnkgdGhl IHNlbmRlciBieSBwaG9uZSBvciBlbWFpbCBpbW1lZGlhdGVseSBhbmQgZGVsZXRlIGl0LiA=