From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from [87.239.111.99] (localhost [127.0.0.1]) by dev.tarantool.org (Postfix) with ESMTP id 144F56EC40; Thu, 19 Aug 2021 14:18:24 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 144F56EC40 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1629371904; bh=4Y4TaojIlOEXSEH7W9Y8gugxY0YKHm3f3axgG/k+Lhg=; h=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=JURIJnMuEjqa2OzmTPbdTFwYJIxVG924sXlwtL00QjSL93oLAC4P/uyHgboDAv0oo MxeLpvJaHLXq4A5LEQiJ6PXhu51b5Ek85GKLGpgtjMVRNo07KN1BYwmbwznjnjRKCU 1OK1Y7pHRSRjt3It8NanACVlqOc4C44fBs18FzaM= Received: from f106.i.mail.ru (f106.i.mail.ru [94.100.186.237]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 4369D6EC40 for ; Thu, 19 Aug 2021 14:18:23 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 4369D6EC40 Received: by f106.i.mail.ru with local (envelope-from ) id 1mGg3u-0007Un-1n; Thu, 19 Aug 2021 14:18:19 +0300 Received: by e.mail.ru with HTTP; Thu, 19 Aug 2021 14:18:17 +0300 To: =?UTF-8?B?VGltdXIgU2FmaW4=?= MIME-Version: 1.0 X-Mailer: Mail.Ru Mailer 1.0 X-SenderField-ReMsg: 16293419320499136407 X-SenderField-Remind: 0 Date: Thu, 19 Aug 2021 14:18:17 +0300 X-Priority: 3 (Normal) Message-ID: <1629371897.227277377@f106.i.mail.ru> Content-Type: multipart/alternative; boundary="--ALT--e3EdEfDf75a698aA12F2F034fC24f8401629371897" In-Reply-To: <1e9be2a14c934c0597c519a3cb72f30e2ce9e76a.1629341071.git.tsafin@tarantool.org> References: <1e9be2a14c934c0597c519a3cb72f30e2ce9e76a.1629341071.git.tsafin@tarantool.org> X-7564579A: 646B95376F6C166E X-77F55803: 119C1F4DF6A9251C771EFB8797C310D1B08EF6086F53992A2C38B16F9CBF83238FD872164937FA4CDFB125A5AC53E5C927F6562EB42A10318A47E795BDEB4FB6FCEDA841F6D0E8BD X-7FA49CB5: 70AAF3C13DB7016878DA827A17800CE77027EBDF63D78FE3D82A6BABE6F325AC08BE7437D75B48FABCF491FFA38154B613377AFFFEAFD2691661749BA6B97735922FDBD9EBA3C5B4B287FD4696A6DC2FA8DF7F3B2552694A4E2F5AFA99E116B42401471946AA11AF0E30A4C9C8E338DA8D182E101C1D80758F08D7030A58E5AD1A62830130A00468AEEEE3FBA3A834EE7353EFBB55337566F160826E4E1956AE94EBA7D9BC849089F7AC66896E5B5B16A471835C12D1D9774AD6D5ED66289B5259CC434672EE6371117882F4460429724CE54428C33FAD30A8DF7F3B2552694AC26CFBAC0749D213D2E47CDBA5A9658359CC434672EE6371117882F4460429728AD0CFFFB425014E868A13BD56FB6657E2021AF6380DFAD1A18204E546F3947CB11811A4A51E3B096D1867E19FE1407959CC434672EE6371089D37D7C0E48F6C8AA50765F79006377AD8C0A31FFD7ED5EFF80C71ABB335746BA297DBC24807EABDAD6C7F3747799A X-C1DE0DAB: 0D63561A33F958A56056D4226E78046B5A7805C7BB06C238954096B1A73EBB05BDC6A1CF3F042BAD6DF99611D93F60EF836F5ADB0B4F9314699F904B3F4130E343918A1A30D5E7FCCB5012B2E24CD356 X-C8649E89: 4E36BF7865823D7055A7F0CF078B5EC49A30900B95165D3455AC8BF8E3153BA09D00C492385ABA2C5BE2963B46F2D76DF0AC7161785F9282A86529B97DCC5D431D7E09C32AA3244C820995FF5281CFDFA918D1F9F38FA22F4DBEAD0ED6C55A8083B48618A63566E0 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5+wYjsrrSY/u8Y3PrTqANeitKFiSd6Yd7yPpbiiZ/d5BsxIjK0jGQgCHUM3Ry2Lt2G3MDkMauH3h0dBdQGj+BB/iPzQYh7XS329fgu+/vnDh+TTF3TZQq75wt4eoanPRSQ== X-Mailru-MI: 800 X-Mailru-Sender: 11C2EC085EDE56FA38FD4C59F7EFE4075E12C1A8CEDC9ED942FCD0A791FF6622B0297780F001F70F76E149BFDDB39AAE29380EAE0A631D0E53C3BEF94815A89B45A05CD46037708D093DA5C00B83CE840C9F151FA54E57A1AFFEEB0FABBF54C967EA787935ED9F1B X-Mras: Ok X-Spam: undefined Subject: Re: [Tarantool-patches] =?utf-8?q?=5BPATCH_v6_3/5=5D_box=2C_datetime?= =?utf-8?q?=3A_datetime_comparison_for_indices?= X-BeenThere: tarantool-patches@dev.tarantool.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: UNera via Tarantool-patches Reply-To: unera@tarantool.org Cc: tarantool-patches@dev.tarantool.org, v.shpilevoy@tarantool.org Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" ----ALT--e3EdEfDf75a698aA12F2F034fC24f8401629371897 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 CkhpIQrCoApJIGxvb2tlZCB0cmhvdWdoIHRoZSBwYXRjaHNldC4KwqAKSSBhbHNvIGNvbXBpbGVk IHRoZSBicmFjbmNoIGFuZCB0ZXN0ZWQgYnkgaGFuZC4KwqAKRXhhbXBsZToKwqAKdGFyYW50b29s PiBkYXRldGltZSA9IHJlcXVpcmUoJ2RhdGV0aW1lJykKLS0tCi4uLgp0YXJhbnRvb2w+IGRhdGV0 aW1lLm5ldygnMjAyMC0wMS0wMiAwMjowMCcpCi0tLQotIDE5NzAtMDEtMDFUMDA6MDBaCi4uLgp0 YXJhbnRvb2w+IGRhdGV0aW1lLm5ldygnMjAyMC0wMS0wMiAwMjowMCswMzAwJykKLS0tCi0gMTk3 MC0wMS0wMVQwMDowMFoKLi4uCnRhcmFudG9vbD4gZGF0ZXRpbWUubmV3KCcyMDIwLTAxLTAyIDAy OjAwOjExKzAzMDAnKQotLS0KLSAxOTcwLTAxLTAxVDAwOjAwWgouLi4KdGFyYW50b29sPiBkYXRl dGltZS5uZXcoJzIwMjAtMDEtMDJUMDI6MDA6MTErMDMwMCcpCi0tLQotIDE5NzAtMDEtMDFUMDA6 MDBaCi4uLgrCoArCoApUaGUgY29kZSBsb29rcyBsaWtlIGFzIGJyb2tlbi4KwqAKQWxzbyBteSBu b3RlczoKwqAKKiAgdG9zdHJpbmcgaGFzIHRvIHJldHVybiBkYXRldGltZSBzdHJpbmcgd2l0aCBz ZWNvbmRzIGFuZCB0aW1lem9uZQoqICBhbHNvIHRoZSBvdGhlciBkYXRhYmFzZXMgdHJ5IHRvIGF2 b2lkIHRvIHVzZSDCq1rCuyBzeW1ib2wgaW4gZGF0ZXRpbWUtZm9ybWF0LCBzbyBJIHRoaW5nIHdl IHNob3VsZCB1c2UgwqsrMDA6MDDCuyBpbnN0ZWFkIMKrWsK7CsKgClllc3RlcmRheSB3ZSBhcHBy b3ZlZCB0aGUgZm9sbG93aW5nIEFQSToKwqAKVDphZGR7eWVhcj1YWFgsIG1vbnRoPVlZWSwgLi4u fQpUOnN1Ynt5ZWFyPVhYWCwgbW9udGg9WVlZLCAuLi59ClQ6c2V0e3llYXI9WFhYLCDigKYsIHR6 PeKAmSswMzowMOKAmX0KVDpzdHJmdGltZSjigJglRiAlRCAleuKAmSkKwqAKSSB3YW50IHRvIHNl ZSBhIHRlc3Qgc2V0IGZvciB0aGUgQVBJLgoKQWxzbyB3ZSBhcHByb3ZlZCB0aGUgZm9sbG93aW5n IG1ldGhvZHM6CsKgIFQ6c2VjKCkg4oCUIDM1ClQ6bWluKCkg4oCUIDEyClQ6ZGF5KCkg4oCUIDE5 ClQ6d2RheSgpIOKAlCA1ClQ6eWRheSgpIOKAlCAyMzEKVDp5ZWFyKCkg4oCUIDIwMjEKVDptb250 aCgpIOKAlCA4ClQ6aG91cigpIOKAlCAyMwpUOnR6KCkg4oCUIOKAmCswMzowMOKAmQrCoApJdCB3 b3VsZCBiZSBuaWNlIHRvIHNlZSB0ZXN0IHNldCBmb3IgZWFjaCBvZiB0aGUgZnVuY3Rpb25zLgrC oApBbHNvIGl0IHdvdWxkIGJlIG5pY2UgdG8gcmVuYW1lIGFtYmlnb3VvcyBpdGVtcyDCq3NlY3PC uyB0byDCq2Vwb2Nowrsgb3Igwqt0aW1lc3RhbXDCuwpEYXRldGltZSBvYmplY3QgbXVzdCBoYXZl IG1ldGhvZHMgdG8gcmV0dXJuIGludGVnZXIgYW5kIGZsb2F0IHRpbWVzdGFtcDoKwqAKVDplcG9j aCgpClQ6dGltZXN0YW1wKCkKwqAgCj7Qp9C10YLQstC10YDQsywgMTkg0LDQstCz0YPRgdGC0LAg MjAyMSwgNTo1OCArMDM6MDAg0L7RgiBUaW11ciBTYWZpbiB2aWEgVGFyYW50b29sLXBhdGNoZXMg PHRhcmFudG9vbC1wYXRjaGVzQGRldi50YXJhbnRvb2wub3JnPjoKPsKgCj4qIHN0b3JhZ2UgaGlu dHMgaW1wbGVtZW50ZWQgZm9yIGRhdGV0aW1lX3QgdmFsdWVzOwo+KiBwcm9wZXIgY29tcGFyaXNv biBmb3IgaW5kaWNlcyBvZiBkYXRldGltZSB0eXBlLgo+Cj5QYXJ0IG9mICM1OTQxCj5QYXJ0IG9m ICM1OTQ2Cj4KPkBUYXJhbnRvb2xCb3QgZG9jdW1lbnQKPgo+VGl0bGU6IFN0b3JhZ2Ugc3VwcG9y dCBmb3IgZGF0ZXRpbWUgdmFsdWVzCj4KPkl0J3Mgbm93IHBvc3NpYmxlIHRvIHN0b3JlIGRhdGV0 aW1lIHZhbHVlcyBpbiBzcGFjZXMgYW5kIGNyZWF0ZQo+aW5kZXhlZCBkYXRldGltZSBmaWVsZHMu Cj4KPlBsZWFzZSByZWZlciB0byAgaHR0cHM6Ly9naXRodWIuY29tL3RhcmFudG9vbC90YXJhbnRv b2wvZGlzY3Vzc2lvbnMvNjI0NAo+Zm9yIG1vcmUgZGV0YWlsZWQgZGVzY3JpcHRpb24gb2YgYSBz dG9yYWdlIHNjaGVtYS4KPi0tLQo+wqBzcmMvYm94L2ZpZWxkX2RlZi5jIHwgMzUgKysrKysrKysr LS0tLS0tLQo+wqBzcmMvYm94L2ZpZWxkX2RlZi5oIHwgMSArCj7CoHNyYy9ib3gvdHVwbGVfY29t cGFyZS5jYyB8IDc3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj7CoHNyYy9s aWIvY29yZS9kYXRldGltZS5jIHwgOSArKysrCj7CoHNyYy9saWIvY29yZS9kYXRldGltZS5oIHwg MTEgKysrKysKPsKgdGVzdC9lbmdpbmUvZGF0ZXRpbWUucmVzdWx0IHwgNzcgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysKPsKgdGVzdC9lbmdpbmUvZGF0ZXRpbWUudGVzdC5sdWEg fCAzNSArKysrKysrKysrKysrKysrCj7CoHRlc3QvdW5pdC9kYXRldGltZS5jIHwgMyArLQo+wqA4 IGZpbGVzIGNoYW5nZWQsIDIzMiBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKPsKgY3Jl YXRlIG1vZGUgMTAwNjQ0IHRlc3QvZW5naW5lL2RhdGV0aW1lLnJlc3VsdAo+wqBjcmVhdGUgbW9k ZSAxMDA2NDQgdGVzdC9lbmdpbmUvZGF0ZXRpbWUudGVzdC5sdWEKPgo+ZGlmZiAtLWdpdCBhL3Ny Yy9ib3gvZmllbGRfZGVmLmMgYi9zcmMvYm94L2ZpZWxkX2RlZi5jCj5pbmRleCA1MWFjYjgwMjUu LmNkNWRiOTQyZSAxMDA2NDQKPi0tLSBhL3NyYy9ib3gvZmllbGRfZGVmLmMKPisrKyBiL3NyYy9i b3gvZmllbGRfZGVmLmMKPkBAIC03MCw2ICs3MCw3IEBAIGNvbnN0IHVpbnQzMl90IGZpZWxkX21w X3R5cGVbXSA9IHsKPsKgICgxVSA8PCBNUF9CSU4pIHwgKDFVIDw8IE1QX0JPT0wpLAo+wqAgLyog W0ZJRUxEX1RZUEVfREVDSU1BTF0gPSAqLyAwLCAvKiBvbmx5IE1QX0RFQ0lNQUwgaXMgc3VwcG9y dGVkICovCj7CoCAvKiBbRklFTERfVFlQRV9VVUlEXSA9ICovIDAsIC8qIG9ubHkgTVBfVVVJRCBp cyBzdXBwb3J0ZWQgKi8KPisgLyogW0ZJRUxEX1RZUEVfREFURVRJTUVdID0gKi8gMCwgLyogb25s eSBNUF9EQVRFVElNRSBpcyBzdXBwb3J0ZWQgKi8KPsKgIC8qIFtGSUVMRF9UWVBFX0FSUkFZXSA9 ICovIDFVIDw8IE1QX0FSUkFZLAo+wqAgLyogW0ZJRUxEX1RZUEVfTUFQXSA9ICovICgxVSA8PCBN UF9NQVApLAo+wqB9Owo+QEAgLTgzLDkgKzg0LDExIEBAIGNvbnN0IHVpbnQzMl90IGZpZWxkX2V4 dF90eXBlW10gPSB7Cj7CoCAvKiBbRklFTERfVFlQRV9JTlRFR0VSXSA9ICovIDAsCj7CoCAvKiBb RklFTERfVFlQRV9CT09MRUFOXSA9ICovIDAsCj7CoCAvKiBbRklFTERfVFlQRV9WQVJCSU5BUlld ID0gKi8gMCwKPi0gLyogW0ZJRUxEX1RZUEVfU0NBTEFSXSA9ICovICgxVSA8PCBNUF9ERUNJTUFM KSB8ICgxVSA8PCBNUF9VVUlEKSwKPisgLyogW0ZJRUxEX1RZUEVfU0NBTEFSXSA9ICovICgxVSA8 PCBNUF9ERUNJTUFMKSB8ICgxVSA8PCBNUF9VVUlEKSB8Cj4rICgxVSA8PCBNUF9EQVRFVElNRSks Cj7CoCAvKiBbRklFTERfVFlQRV9ERUNJTUFMXSA9ICovIDFVIDw8IE1QX0RFQ0lNQUwsCj7CoCAv KiBbRklFTERfVFlQRV9VVUlEXSA9ICovIDFVIDw8IE1QX1VVSUQsCj4rIC8qIFtGSUVMRF9UWVBF X0RBVEVUSU1FXSA9ICovIDFVIDw8IE1QX0RBVEVUSU1FLAo+wqAgLyogW0ZJRUxEX1RZUEVfQVJS QVldID0gKi8gMCwKPsKgIC8qIFtGSUVMRF9UWVBFX01BUF0gPSAqLyAwLAo+wqB9Owo+QEAgLTEw Miw2ICsxMDUsNyBAQCBjb25zdCBjaGFyICpmaWVsZF90eXBlX3N0cnNbXSA9IHsKPsKgIC8qIFtG SUVMRF9UWVBFX1NDQUxBUl0gPSAqLyAic2NhbGFyIiwKPsKgIC8qIFtGSUVMRF9UWVBFX0RFQ0lN QUxdID0gKi8gImRlY2ltYWwiLAo+wqAgLyogW0ZJRUxEX1RZUEVfVVVJRF0gPSAqLyAidXVpZCIs Cj4rIC8qIFtGSUVMRF9UWVBFX0RBVEVUSU1FXSA9ICovICJkYXRldGltZSIsCj7CoCAvKiBbRklF TERfVFlQRV9BUlJBWV0gPSAqLyAiYXJyYXkiLAo+wqAgLyogW0ZJRUxEX1RZUEVfTUFQXSA9ICov ICJtYXAiLAo+wqB9Owo+QEAgLTEyOCwyMCArMTMyLDIxIEBAIGZpZWxkX3R5cGVfYnlfbmFtZV93 cmFwcGVyKGNvbnN0IGNoYXIgKnN0ciwgdWludDMyX3QgbGVuKQo+wqDCoCogdmFsdWVzIGNhbiBi ZSBzdG9yZWQgaW4gdGhlIGogdHlwZS4KPsKgwqAqLwo+wqBzdGF0aWMgY29uc3QgYm9vbCBmaWVs ZF90eXBlX2NvbXBhdGliaWxpdHlbXSA9IHsKPi0gLyogQU5ZIFVOU0lHTkVEIFNUUklORyBOVU1C RVIgRE9VQkxFIElOVEVHRVIgQk9PTEVBTiBWQVJCSU5BUlkgU0NBTEFSIERFQ0lNQUwgVVVJRCBB UlJBWSBNQVAgKi8KPi0vKiBBTlkgKi8gdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2Us IGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwK Pi0vKiBVTlNJR05FRCAqLyB0cnVlLCB0cnVlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIHRydWUsIGZh bHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsCj4tLyogU1RSSU5H ICovIHRydWUsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2Us IHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLAo+LS8qIE5VTUJFUiAqLyB0cnVlLCBm YWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxz ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwKPi0vKiBET1VCTEUgKi8gdHJ1ZSwgZmFsc2UsIGZhbHNl LCB0cnVlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIGZh bHNlLCBmYWxzZSwKPi0vKiBJTlRFR0VSICovIHRydWUsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFs c2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2Us Cj4tLyogQk9PTEVBTiAqLyB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2Us IHRydWUsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwKPi0vKiBWQVJC SU5BUlkqLyB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCB0 cnVlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwKPi0vKiBTQ0FMQVIgKi8gdHJ1 ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUs IGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLAo+LS8qIERFQ0lNQUwgKi8gdHJ1ZSwgZmFsc2Us IGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSwgZmFs c2UsIGZhbHNlLCBmYWxzZSwKPi0vKiBVVUlEICovIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2Us IGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBm YWxzZSwKPi0vKiBBUlJBWSAqLyB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFs c2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsCj4tLyog TUFQICovIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZh bHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwKPisgLyogQU5ZIFVOU0lHTkVE IFNUUklORyBOVU1CRVIgRE9VQkxFIElOVEVHRVIgQk9PTEVBTiBWQVJCSU5BUlkgU0NBTEFSIERF Q0lNQUwgVVVJRCBEQVRFVElNRSBBUlJBWSBNQVAgKi8KPisvKiBBTlkgKi8gdHJ1ZSwgZmFsc2Us IGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwg ZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsCj4rLyogVU5TSUdORUQgKi8gdHJ1ZSwgdHJ1ZSwg ZmFsc2UsIHRydWUsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxz ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwKPisvKiBTVFJJTkcgKi8gdHJ1ZSwgZmFsc2UsIHRydWUs IGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBm YWxzZSwgZmFsc2UsIGZhbHNlLAo+Ky8qIE5VTUJFUiAqLyB0cnVlLCBmYWxzZSwgZmFsc2UsIHRy dWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNl LCBmYWxzZSwgZmFsc2UsCj4rLyogRE9VQkxFICovIHRydWUsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwg dHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFs c2UsIGZhbHNlLAo+Ky8qIElOVEVHRVIgKi8gdHJ1ZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxz ZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwg ZmFsc2UsCj4rLyogQk9PTEVBTiAqLyB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwg ZmFsc2UsIHRydWUsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFs c2UsCj4rLyogVkFSQklOQVJZKi8gdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZh bHNlLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNl LAo+Ky8qIFNDQUxBUiAqLyB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2Us IGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLAo+ Ky8qIERFQ0lNQUwgKi8gdHJ1ZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIGZh bHNlLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsCj4rLyog VVVJRCAqLyB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBm YWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLAo+Ky8qIERBVEVU SU1FICovIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZh bHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwKPisvKiBBUlJBWSAq LyB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwg ZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLAo+Ky8qIE1BUCAqLyB0cnVl LCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2Us IGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlLAo+wqB9Owo+wqAKPsKgYm9vbAo+ZGlm ZiAtLWdpdCBhL3NyYy9ib3gvZmllbGRfZGVmLmggYi9zcmMvYm94L2ZpZWxkX2RlZi5oCj5pbmRl eCBjNWNmZTVlODYuLjYxOWVhMTlmZSAxMDA2NDQKPi0tLSBhL3NyYy9ib3gvZmllbGRfZGVmLmgK PisrKyBiL3NyYy9ib3gvZmllbGRfZGVmLmgKPkBAIC02MSw2ICs2MSw3IEBAIGVudW0gZmllbGRf dHlwZSB7Cj7CoCBGSUVMRF9UWVBFX1NDQUxBUiwKPsKgIEZJRUxEX1RZUEVfREVDSU1BTCwKPsKg IEZJRUxEX1RZUEVfVVVJRCwKPisgRklFTERfVFlQRV9EQVRFVElNRSwKPsKgIEZJRUxEX1RZUEVf QVJSQVksCj7CoCBGSUVMRF9UWVBFX01BUCwKPsKgIGZpZWxkX3R5cGVfTUFYCj5kaWZmIC0tZ2l0 IGEvc3JjL2JveC90dXBsZV9jb21wYXJlLmNjIGIvc3JjL2JveC90dXBsZV9jb21wYXJlLmNjCj5p bmRleCA0M2NkMjljZTkuLjI0Nzg0OThiYSAxMDA2NDQKPi0tLSBhL3NyYy9ib3gvdHVwbGVfY29t cGFyZS5jYwo+KysrIGIvc3JjL2JveC90dXBsZV9jb21wYXJlLmNjCj5AQCAtMzYsNiArMzYsNyBA QAo+wqAjaW5jbHVkZSAibGliL2NvcmUvZGVjaW1hbC5oIgo+wqAjaW5jbHVkZSAibGliL2NvcmUv bXBfZGVjaW1hbC5oIgo+wqAjaW5jbHVkZSAidXVpZC9tcF91dWlkLmgiCj4rI2luY2x1ZGUgImxp Yi9jb3JlL21wX2RhdGV0aW1lLmgiCj7CoCNpbmNsdWRlICJsaWIvY29yZS9tcF9leHRlbnNpb25f dHlwZXMuaCIKPsKgCj7CoC8qIHt7eyB0dXBsZV9jb21wYXJlICovCj5AQCAtNzYsNiArNzcsNyBA QCBlbnVtIG1wX2NsYXNzIHsKPsKgIE1QX0NMQVNTX1NUUiwKPsKgIE1QX0NMQVNTX0JJTiwKPsKg IE1QX0NMQVNTX1VVSUQsCj4rIE1QX0NMQVNTX0RBVEVUSU1FLAo+wqAgTVBfQ0xBU1NfQVJSQVks Cj7CoCBNUF9DTEFTU19NQVAsCj7CoCBtcF9jbGFzc19tYXgsCj5AQCAtOTksNiArMTAxLDggQEAg c3RhdGljIGVudW0gbXBfY2xhc3MgbXBfZXh0X2NsYXNzZXNbXSA9IHsKPsKgIC8qIC5NUF9VTktO T1dOX0VYVEVOU0lPTiA9ICovIG1wX2NsYXNzX21heCwgLyogdW5zdXBwb3J0ZWQgKi8KPsKgIC8q IC5NUF9ERUNJTUFMID0gKi8gTVBfQ0xBU1NfTlVNQkVSLAo+wqAgLyogLk1QX1VVSUQgPSAqLyBN UF9DTEFTU19VVUlELAo+KyAvKiAuTVBfRVJST1IgPSAqLyBtcF9jbGFzc19tYXgsCj4rIC8qIC5N UF9EQVRFVElNRSA9ICovIE1QX0NMQVNTX0RBVEVUSU1FLAo+wqB9Owo+wqAKPsKgc3RhdGljIGVu dW0gbXBfY2xhc3MKPkBAIC0zOTAsNiArMzk0LDE5IEBAIG1wX2NvbXBhcmVfdXVpZChjb25zdCBj aGFyICpmaWVsZF9hLCBjb25zdCBjaGFyICpmaWVsZF9iKQo+wqAgcmV0dXJuIG1lbWNtcChmaWVs ZF9hICsgMiwgZmllbGRfYiArIDIsIFVVSURfUEFDS0VEX0xFTik7Cj7CoH0KPsKgCj4rc3RhdGlj IGludAo+K21wX2NvbXBhcmVfZGF0ZXRpbWUoY29uc3QgY2hhciAqbGhzLCBjb25zdCBjaGFyICpy aHMpCj4rewo+KyBzdHJ1Y3QgZGF0ZXRpbWUgbGhzX2R0LCByaHNfZHQ7Cj4rIHN0cnVjdCBkYXRl dGltZSAqcmV0Owo+KyByZXQgPSBtcF9kZWNvZGVfZGF0ZXRpbWUoJmxocywgJmxoc19kdCk7Cj4r IGFzc2VydChyZXQgIT0gTlVMTCk7Cj4rIHJldCA9IG1wX2RlY29kZV9kYXRldGltZSgmcmhzLCAm cmhzX2R0KTsKPisgYXNzZXJ0KHJldCAhPSBOVUxMKTsKPisgKHZvaWQpcmV0Owo+KyByZXR1cm4g ZGF0ZXRpbWVfY29tcGFyZSgmbGhzX2R0LCAmcmhzX2R0KTsKPit9Cj4rCj7CoHR5cGVkZWYgaW50 ICgqbXBfY29tcGFyZV9mKShjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7Cj7CoHN0YXRpYyBt cF9jb21wYXJlX2YgbXBfY2xhc3NfY29tcGFyYXRvcnNbXSA9IHsKPsKgIC8qIC5NUF9DTEFTU19O SUwgPSAqLyBOVUxMLAo+QEAgLTM5OCw2ICs0MTUsNyBAQCBzdGF0aWMgbXBfY29tcGFyZV9mIG1w X2NsYXNzX2NvbXBhcmF0b3JzW10gPSB7Cj7CoCAvKiAuTVBfQ0xBU1NfU1RSID0gKi8gbXBfY29t cGFyZV9zdHIsCj7CoCAvKiAuTVBfQ0xBU1NfQklOID0gKi8gbXBfY29tcGFyZV9iaW4sCj7CoCAv KiAuTVBfQ0xBU1NfVVVJRCA9ICovIG1wX2NvbXBhcmVfdXVpZCwKPisgLyogLk1QX0NMQVNTX0RB VEVUSU1FPSovIG1wX2NvbXBhcmVfZGF0ZXRpbWUsCj7CoCAvKiAuTVBfQ0xBU1NfQVJSQVkgPSAq LyBOVUxMLAo+wqAgLyogLk1QX0NMQVNTX01BUCA9ICovIE5VTEwsCj7CoH07Cj5AQCAtNDc4LDYg KzQ5Niw4IEBAIHR1cGxlX2NvbXBhcmVfZmllbGQoY29uc3QgY2hhciAqZmllbGRfYSwgY29uc3Qg Y2hhciAqZmllbGRfYiwKPsKgIHJldHVybiBtcF9jb21wYXJlX2RlY2ltYWwoZmllbGRfYSwgZmll bGRfYik7Cj7CoCBjYXNlIEZJRUxEX1RZUEVfVVVJRDoKPsKgIHJldHVybiBtcF9jb21wYXJlX3V1 aWQoZmllbGRfYSwgZmllbGRfYik7Cj4rIGNhc2UgRklFTERfVFlQRV9EQVRFVElNRToKPisgcmV0 dXJuIG1wX2NvbXBhcmVfZGF0ZXRpbWUoZmllbGRfYSwgZmllbGRfYik7Cj7CoCBkZWZhdWx0Ogo+ wqAgdW5yZWFjaGFibGUoKTsKPsKgIHJldHVybiAwOwo+QEAgLTUxOCw2ICs1MzgsOCBAQCB0dXBs ZV9jb21wYXJlX2ZpZWxkX3dpdGhfdHlwZShjb25zdCBjaGFyICpmaWVsZF9hLCBlbnVtIG1wX3R5 cGUgYV90eXBlLAo+wqAgZmllbGRfYiwgYl90eXBlKTsKPsKgIGNhc2UgRklFTERfVFlQRV9VVUlE Ogo+wqAgcmV0dXJuIG1wX2NvbXBhcmVfdXVpZChmaWVsZF9hLCBmaWVsZF9iKTsKPisgY2FzZSBG SUVMRF9UWVBFX0RBVEVUSU1FOgo+KyByZXR1cm4gbXBfY29tcGFyZV9kYXRldGltZShmaWVsZF9h LCBmaWVsZF9iKTsKPsKgIGRlZmF1bHQ6Cj7CoCB1bnJlYWNoYWJsZSgpOwo+wqAgcmV0dXJuIDA7 Cj5AQCAtMTUxOCw2ICsxNTQwLDIxIEBAIGZ1bmNfaW5kZXhfY29tcGFyZV93aXRoX2tleShzdHJ1 Y3QgdHVwbGUgKnR1cGxlLCBoaW50X3QgdHVwbGVfaGludCwKPsKgI2RlZmluZSBISU5UX1ZBTFVF X0RPVUJMRV9NQVggKGV4cDIoSElOVF9WQUxVRV9CSVRTIC0gMSkgLSAxKQo+wqAjZGVmaW5lIEhJ TlRfVkFMVUVfRE9VQkxFX01JTiAoLWV4cDIoSElOVF9WQUxVRV9CSVRTIC0gMSkpCj7CoAo+Ky8q Kgo+KyAqIFdlIG5lZWQgdG8gc3F1ZWV6ZSA2NCBiaXRzIG9mIHNlY29uZHMgYW5kIDMyIGJpdHMg b2YgbmFub3NlY29uZHMKPisgKiBpbnRvIDYwIGJpdHMgb2YgaGludCB2YWx1ZS4gVGhlIGlkZWEg aXMgdG8gcmVwcmVzZW50IHdpZGUgZW5vdWdoCj4rICogeWVhcnMgcmFuZ2UsIGFuZCBsZWF2ZSB0 aGUgcmVzdCBvZiBiaXRzIG9jY3VwaWVkIGZyb20gbmFub3NlY29uZHMgcGFydDoKPisgKiAtIDM2 IGJpdHMgaXMgZW5vdWdoIGZvciB0aW1lIHJhbmdlIG9mIFsyMDhCQy4uNDE0N10KPisgKiAtIGZv ciBuYW5vc2Vjb25kcyB0aGVyZSBpcyBsZWZ0IDI0IGJpdHMsIHdoaWNoIGFyZSBNU0IgcGFydCBv Zgo+KyAqIDMyLWJpdCB2YWx1ZQo+KyAqLwo+KyNkZWZpbmUgSElOVF9WQUxVRV9TRUNTX0JJVFMg MzYKPisjZGVmaW5lIEhJTlRfVkFMVUVfTlNFQ19CSVRTIChISU5UX1ZBTFVFX0JJVFMgLSBISU5U X1ZBTFVFX1NFQ1NfQklUUykKPisjZGVmaW5lIEhJTlRfVkFMVUVfU0VDU19NQVggKCgxTEwgPDwg KEhJTlRfVkFMVUVfU0VDU19CSVRTIC0gMSkpIC0gMSkKPisjZGVmaW5lIEhJTlRfVkFMVUVfU0VD U19NSU4gKC0oMUxMIDw8IChISU5UX1ZBTFVFX1NFQ1NfQklUUyAtIDEpKSkKPisjZGVmaW5lIEhJ TlRfVkFMVUVfTlNFQ19TSElGVCAoc2l6ZW9mKGludCkgKiBDSEFSX0JJVCAtIEhJTlRfVkFMVUVf TlNFQ19CSVRTKQo+KyNkZWZpbmUgSElOVF9WQUxVRV9OU0VDX01BWCAoKDFVTEwgPDwgSElOVF9W QUxVRV9OU0VDX0JJVFMpIC0gMSkKPisKPsKgLyoKPsKgwqAqIEhJTlRfQ0xBU1NfQklUUyBzaG91 bGQgYmUgYmlnIGVub3VnaCB0byBzdG9yZSBhbnkgbXBfY2xhc3MgdmFsdWUuCj7CoMKgKiBOb3Rl LCAoKDEgPDwgSElOVF9DTEFTU19CSVRTKSAtIDEpIGlzIHJlc2VydmVkIGZvciBISU5UX05PTkUu Cj5AQCAtMTYxMCw2ICsxNjQ3LDI1IEBAIGhpbnRfdXVpZF9yYXcoY29uc3QgY2hhciAqZGF0YSkK PsKgIHJldHVybiBoaW50X2NyZWF0ZShNUF9DTEFTU19VVUlELCB2YWwpOwo+wqB9Cj7CoAo+K3N0 YXRpYyBpbmxpbmUgaGludF90Cj4raGludF9kYXRldGltZShzdHJ1Y3QgZGF0ZXRpbWUgKmRhdGUp Cj4rewo+KyAvKgo+KyAqIFVzZSBhdCBtb3N0IEhJTlRfVkFMVUVfU0VDU19CSVRTIGZyb20gZGF0 ZXRpbWUKPisgKiBzZWNvbmRzIGZpZWxkIGFzIGEgaGludCB2YWx1ZSwgYW5kIGF0IE1TQiBwYXJ0 Cj4rICogb2YgSElOVF9WQUxVRV9OU0VDX0JJVFMgZnJvbSBuYW5vc2Vjb25kcy4KPisgKi8KPisg aW50NjRfdCBzZWNzID0gZGF0ZS0+c2VjczsKPisgaW50MzJfdCBuc2VjID0gZGF0ZS0+bnNlYzsK PisgdWludDY0X3QgdmFsID0gc2VjcyA8PSBISU5UX1ZBTFVFX1NFQ1NfTUlOID8gMCA6Cj4rIHNl Y3MgLSBISU5UX1ZBTFVFX1NFQ1NfTUlOOwo+KyBpZiAodmFsID49IEhJTlRfVkFMVUVfU0VDU19N QVgpCj4rIHZhbCA9IEhJTlRfVkFMVUVfU0VDU19NQVg7Cj4rIHZhbCA8PD0gSElOVF9WQUxVRV9O U0VDX0JJVFM7Cj4rIHZhbCB8PSAobnNlYyA+PiBISU5UX1ZBTFVFX05TRUNfU0hJRlQpICYgSElO VF9WQUxVRV9OU0VDX01BWDsKPisgcmV0dXJuIGhpbnRfY3JlYXRlKE1QX0NMQVNTX0RBVEVUSU1F LCB2YWwpOwo+K30KPisKPsKgc3RhdGljIGlubGluZSB1aW50NjRfdAo+wqBoaW50X3N0cl9yYXco Y29uc3QgY2hhciAqcywgdWludDMyX3QgbGVuKQo+wqB7Cj5AQCAtMTc0MSw2ICsxNzk3LDE3IEBA IGZpZWxkX2hpbnRfdXVpZChjb25zdCBjaGFyICpmaWVsZCkKPsKgIHJldHVybiBoaW50X3V1aWRf cmF3KGRhdGEpOwo+wqB9Cj7CoAo+K3N0YXRpYyBpbmxpbmUgaGludF90Cj4rZmllbGRfaGludF9k YXRldGltZShjb25zdCBjaGFyICpmaWVsZCkKPit7Cj4rIGFzc2VydChtcF90eXBlb2YoKmZpZWxk KSA9PSBNUF9FWFQpOwo+KyBpbnQ4X3QgZXh0X3R5cGU7Cj4rIHVpbnQzMl90IGxlbiA9IG1wX2Rl Y29kZV9leHRsKCZmaWVsZCwgJmV4dF90eXBlKTsKPisgYXNzZXJ0KGV4dF90eXBlID09IE1QX0RB VEVUSU1FKTsKPisgc3RydWN0IGRhdGV0aW1lIGRhdGU7Cj4rIHJldHVybiBoaW50X2RhdGV0aW1l KGRhdGV0aW1lX3VucGFjaygmZmllbGQsIGxlbiwgJmRhdGUpKTsKPit9Cj4rCj7CoHN0YXRpYyBp bmxpbmUgaGludF90Cj7CoGZpZWxkX2hpbnRfc3RyaW5nKGNvbnN0IGNoYXIgKmZpZWxkLCBzdHJ1 Y3QgY29sbCAqY29sbCkKPsKgewo+QEAgLTE3OTIsNiArMTg1OSwxMSBAQCBmaWVsZF9oaW50X3Nj YWxhcihjb25zdCBjaGFyICpmaWVsZCwgc3RydWN0IGNvbGwgKmNvbGwpCj7CoCB9Cj7CoCBjYXNl IE1QX1VVSUQ6Cj7CoCByZXR1cm4gaGludF91dWlkX3JhdyhmaWVsZCk7Cj4rIGNhc2UgTVBfREFU RVRJTUU6Cj4rIHsKPisgc3RydWN0IGRhdGV0aW1lIGRhdGU7Cj4rIHJldHVybiBoaW50X2RhdGV0 aW1lKGRhdGV0aW1lX3VucGFjaygmZmllbGQsIGxlbiwgJmRhdGUpKTsKPisgfQo+wqAgZGVmYXVs dDoKPsKgIHVucmVhY2hhYmxlKCk7Cj7CoCB9Cj5AQCAtMTgyOSw2ICsxOTAxLDggQEAgZmllbGRf aGludChjb25zdCBjaGFyICpmaWVsZCwgc3RydWN0IGNvbGwgKmNvbGwpCj7CoCByZXR1cm4gZmll bGRfaGludF9kZWNpbWFsKGZpZWxkKTsKPsKgIGNhc2UgRklFTERfVFlQRV9VVUlEOgo+wqAgcmV0 dXJuIGZpZWxkX2hpbnRfdXVpZChmaWVsZCk7Cj4rIGNhc2UgRklFTERfVFlQRV9EQVRFVElNRToK PisgcmV0dXJuIGZpZWxkX2hpbnRfZGF0ZXRpbWUoZmllbGQpOwo+wqAgZGVmYXVsdDoKPsKgIHVu cmVhY2hhYmxlKCk7Cj7CoCB9Cj5AQCAtMTk0Myw2ICsyMDE3LDkgQEAga2V5X2RlZl9zZXRfaGlu dF9mdW5jKHN0cnVjdCBrZXlfZGVmICpkZWYpCj7CoCBjYXNlIEZJRUxEX1RZUEVfVVVJRDoKPsKg IGtleV9kZWZfc2V0X2hpbnRfZnVuYzxGSUVMRF9UWVBFX1VVSUQ+KGRlZik7Cj7CoCBicmVhazsK PisgY2FzZSBGSUVMRF9UWVBFX0RBVEVUSU1FOgo+KyBrZXlfZGVmX3NldF9oaW50X2Z1bmM8RklF TERfVFlQRV9EQVRFVElNRT4oZGVmKTsKPisgYnJlYWs7Cj7CoCBkZWZhdWx0Ogo+wqAgLyogSW52 YWxpZCBrZXkgZGVmaW5pdGlvbi4gKi8KPsKgIGRlZi0+a2V5X2hpbnQgPSBOVUxMOwo+ZGlmZiAt LWdpdCBhL3NyYy9saWIvY29yZS9kYXRldGltZS5jIGIvc3JjL2xpYi9jb3JlL2RhdGV0aW1lLmMK PmluZGV4IDcxMjUwOTBlNi4uZWJjMDVlMjljIDEwMDY0NAo+LS0tIGEvc3JjL2xpYi9jb3JlL2Rh dGV0aW1lLmMKPisrKyBiL3NyYy9saWIvY29yZS9kYXRldGltZS5jCj5AQCAtMTIzLDMgKzEyMywx MiBAQCBkYXRldGltZV90b19zdHJpbmcoY29uc3Qgc3RydWN0IGRhdGV0aW1lICpkYXRlLCBjaGFy ICpidWYsIGludCBsZW4pCj7CoCByZXR1cm4gc3o7Cj7CoH0KPsKgCj4raW50Cj4rZGF0ZXRpbWVf Y29tcGFyZShjb25zdCBzdHJ1Y3QgZGF0ZXRpbWUgKmxocywgY29uc3Qgc3RydWN0IGRhdGV0aW1l ICpyaHMpCj4rewo+KyBpbnQgcmVzdWx0ID0gQ09NUEFSRV9SRVNVTFQobGhzLT5zZWNzLCByaHMt PnNlY3MpOwo+KyBpZiAocmVzdWx0ICE9IDApCj4rIHJldHVybiByZXN1bHQ7Cj4rCj4rIHJldHVy biBDT01QQVJFX1JFU1VMVChsaHMtPm5zZWMsIHJocy0+bnNlYyk7Cj4rfQo+ZGlmZiAtLWdpdCBh L3NyYy9saWIvY29yZS9kYXRldGltZS5oIGIvc3JjL2xpYi9jb3JlL2RhdGV0aW1lLmgKPmluZGV4 IGZiNTM3ZTM3Mi4uZmM1NzE3MTE1IDEwMDY0NAo+LS0tIGEvc3JjL2xpYi9jb3JlL2RhdGV0aW1l LmgKPisrKyBiL3NyYy9saWIvY29yZS9kYXRldGltZS5oCj5AQCAtODEsNiArODEsMTcgQEAgc3Ry dWN0IGRhdGV0aW1lX2ludGVydmFsIHsKPsKgwqAqLwo+wqAjZGVmaW5lIERUX1RPX1NUUklOR19C VUZTSVpFIDQ4Cj7CoAo+Ky8qCj4rICogQ29tcGFyZSBhcmd1bWVudHMgb2YgYSBkYXRldGltZSB0 eXBlCj4rICogQHBhcmFtIGxocyBsZWZ0IGRhdGV0aW1lIGFyZ3VtZW50Cj4rICogQHBhcmFtIHJo cyByaWdodCBkYXRldGltZSBhcmd1bWVudAo+KyAqIEByZXR2YWwgPCAwIGlmIGxocyBsZXNzIHRo YW4gcmhzCj4rICogQHJldHZhbCA9IDAgaWYgbGhzIGFuZCByaHMgZXF1YWwKPisgKiBAcmV0dmFs ID4gMCBpZiBsaHMgZ3JlYXRlciB0aGFuIHJocwo+KyAqLwo+K2ludAo+K2RhdGV0aW1lX2NvbXBh cmUoY29uc3Qgc3RydWN0IGRhdGV0aW1lICpsaHMsIGNvbnN0IHN0cnVjdCBkYXRldGltZSAqcmhz KTsKPisKPsKgLyoqCj7CoMKgKiBDb252ZXJ0IGRhdGV0aW1lIHRvIHN0cmluZyB1c2luZyBkZWZh dWx0IGZvcm1hdAo+wqDCoCogQHBhcmFtIGRhdGUgc291cmNlIGRhdGV0aW1lIHZhbHVlCj5kaWZm IC0tZ2l0IGEvdGVzdC9lbmdpbmUvZGF0ZXRpbWUucmVzdWx0IGIvdGVzdC9lbmdpbmUvZGF0ZXRp bWUucmVzdWx0Cj5uZXcgZmlsZSBtb2RlIDEwMDY0NAo+aW5kZXggMDAwMDAwMDAwLi44NDhhMGFh ZWMKPi0tLSAvZGV2L251bGwKPisrKyBiL3Rlc3QvZW5naW5lL2RhdGV0aW1lLnJlc3VsdAo+QEAg LTAsMCArMSw3NyBAQAo+Ky0tIHRlc3QtcnVuIHJlc3VsdCBmaWxlIHZlcnNpb24gMgo+K2VudiA9 IHJlcXVpcmUoJ3Rlc3RfcnVuJykKPisgfCAtLS0KPisgfCAuLi4KPit0ZXN0X3J1biA9IGVudi5u ZXcoKQo+KyB8IC0tLQo+KyB8IC4uLgo+K2VuZ2luZSA9IHRlc3RfcnVuOmdldF9jZmcoJ2VuZ2lu ZScpCj4rIHwgLS0tCj4rIHwgLi4uCj4rCj4rZGF0ZSA9IHJlcXVpcmUoJ2RhdGV0aW1lJykKPisg fCAtLS0KPisgfCAuLi4KPisKPitfID0gYm94LnNjaGVtYS5zcGFjZS5jcmVhdGUoJ1QnLCB7ZW5n aW5lID0gZW5naW5lfSkKPisgfCAtLS0KPisgfCAuLi4KPitfID0gYm94LnNwYWNlLlQ6Y3JlYXRl X2luZGV4KCdwaycsIHtwYXJ0cz17MSwnZGF0ZXRpbWUnfX0pCj4rIHwgLS0tCj4rIHwgLi4uCj4r Cj4rYm94LnNwYWNlLlQ6aW5zZXJ0e2RhdGUoJzE5NzAtMDEtMDEnKX1cCj4rYm94LnNwYWNlLlQ6 aW5zZXJ0e2RhdGUoJzE5NzAtMDEtMDInKX1cCj4rYm94LnNwYWNlLlQ6aW5zZXJ0e2RhdGUoJzE5 NzAtMDEtMDMnKX1cCj4rYm94LnNwYWNlLlQ6aW5zZXJ0e2RhdGUoJzIwMDAtMDEtMDEnKX0KPisg fCAtLS0KPisgfCAuLi4KPisKPitvID0gYm94LnNwYWNlLlQ6c2VsZWN0e30KPisgfCAtLS0KPisg fCAuLi4KPithc3NlcnQodG9zdHJpbmcob1sxXVsxXSkgPT0gJzE5NzAtMDEtMDFUMDA6MDBaJykK PisgfCAtLS0KPisgfCAtIHRydWUKPisgfCAuLi4KPithc3NlcnQodG9zdHJpbmcob1syXVsxXSkg PT0gJzE5NzAtMDEtMDJUMDA6MDBaJykKPisgfCAtLS0KPisgfCAtIHRydWUKPisgfCAuLi4KPith c3NlcnQodG9zdHJpbmcob1szXVsxXSkgPT0gJzE5NzAtMDEtMDNUMDA6MDBaJykKPisgfCAtLS0K PisgfCAtIHRydWUKPisgfCAuLi4KPithc3NlcnQodG9zdHJpbmcob1s0XVsxXSkgPT0gJzIwMDAt MDEtMDFUMDA6MDBaJykKPisgfCAtLS0KPisgfCAtIHRydWUKPisgfCAuLi4KPisKPitmb3IgaSA9 IDEsMTYgZG9cCj4rIGJveC5zcGFjZS5UOmluc2VydHtkYXRlLm5vdygpfVwKPitlbmQKPisgfCAt LS0KPisgfCAuLi4KPisKPithID0gYm94LnNwYWNlLlQ6c2VsZWN0e30KPisgfCAtLS0KPisgfCAu Li4KPitlcnIgPSB7fQo+KyB8IC0tLQo+KyB8IC4uLgo+K2ZvciBpID0gMSwgI2EgLSAxIGRvXAo+ KyBpZiBhW2ldWzFdID49IGFbaSsxXVsxXSB0aGVuXAo+KyB0YWJsZS5pbnNlcnQoZXJyLCB7YVtp XVsxXSwgYVtpKzFdWzFdfSlcCj4rIGJyZWFrXAo+KyBlbmRcCj4rZW5kCj4rIHwgLS0tCj4rIHwg Li4uCj4rCj4rZXJyCj4rIHwgLS0tCj4rIHwgLSBbXQo+KyB8IC4uLgo+K2JveC5zcGFjZS5UOmRy b3AoKQo+KyB8IC0tLQo+KyB8IC4uLgo+ZGlmZiAtLWdpdCBhL3Rlc3QvZW5naW5lL2RhdGV0aW1l LnRlc3QubHVhIGIvdGVzdC9lbmdpbmUvZGF0ZXRpbWUudGVzdC5sdWEKPm5ldyBmaWxlIG1vZGUg MTAwNjQ0Cj5pbmRleCAwMDAwMDAwMDAuLjM2ODVlNGQ0Ygo+LS0tIC9kZXYvbnVsbAo+KysrIGIv dGVzdC9lbmdpbmUvZGF0ZXRpbWUudGVzdC5sdWEKPkBAIC0wLDAgKzEsMzUgQEAKPitlbnYgPSBy ZXF1aXJlKCd0ZXN0X3J1bicpCj4rdGVzdF9ydW4gPSBlbnYubmV3KCkKPitlbmdpbmUgPSB0ZXN0 X3J1bjpnZXRfY2ZnKCdlbmdpbmUnKQo+Kwo+K2RhdGUgPSByZXF1aXJlKCdkYXRldGltZScpCj4r Cj4rXyA9IGJveC5zY2hlbWEuc3BhY2UuY3JlYXRlKCdUJywge2VuZ2luZSA9IGVuZ2luZX0pCj4r XyA9IGJveC5zcGFjZS5UOmNyZWF0ZV9pbmRleCgncGsnLCB7cGFydHM9ezEsJ2RhdGV0aW1lJ319 KQo+Kwo+K2JveC5zcGFjZS5UOmluc2VydHtkYXRlKCcxOTcwLTAxLTAxJyl9XAo+K2JveC5zcGFj ZS5UOmluc2VydHtkYXRlKCcxOTcwLTAxLTAyJyl9XAo+K2JveC5zcGFjZS5UOmluc2VydHtkYXRl KCcxOTcwLTAxLTAzJyl9XAo+K2JveC5zcGFjZS5UOmluc2VydHtkYXRlKCcyMDAwLTAxLTAxJyl9 Cj4rCj4rbyA9IGJveC5zcGFjZS5UOnNlbGVjdHt9Cj4rYXNzZXJ0KHRvc3RyaW5nKG9bMV1bMV0p ID09ICcxOTcwLTAxLTAxVDAwOjAwWicpCj4rYXNzZXJ0KHRvc3RyaW5nKG9bMl1bMV0pID09ICcx OTcwLTAxLTAyVDAwOjAwWicpCj4rYXNzZXJ0KHRvc3RyaW5nKG9bM11bMV0pID09ICcxOTcwLTAx LTAzVDAwOjAwWicpCj4rYXNzZXJ0KHRvc3RyaW5nKG9bNF1bMV0pID09ICcyMDAwLTAxLTAxVDAw OjAwWicpCj4rCj4rZm9yIGkgPSAxLDE2IGRvXAo+KyBib3guc3BhY2UuVDppbnNlcnR7ZGF0ZS5u b3coKX1cCj4rZW5kCj4rCj4rYSA9IGJveC5zcGFjZS5UOnNlbGVjdHt9Cj4rZXJyID0ge30KPitm b3IgaSA9IDEsICNhIC0gMSBkb1wKPisgaWYgYVtpXVsxXSA+PSBhW2krMV1bMV0gdGhlblwKPisg dGFibGUuaW5zZXJ0KGVyciwge2FbaV1bMV0sIGFbaSsxXVsxXX0pXAo+KyBicmVha1wKPisgZW5k XAo+K2VuZAo+Kwo+K2Vycgo+K2JveC5zcGFjZS5UOmRyb3AoKQo+ZGlmZiAtLWdpdCBhL3Rlc3Qv dW5pdC9kYXRldGltZS5jIGIvdGVzdC91bml0L2RhdGV0aW1lLmMKPmluZGV4IGM2YmE0NDRmNS4u NjFlYmZlNzZiIDEwMDY0NAo+LS0tIGEvdGVzdC91bml0L2RhdGV0aW1lLmMKPisrKyBiL3Rlc3Qv dW5pdC9kYXRldGltZS5jCj5AQCAtMjgxLDcgKzI4MSw3IEBAIG1wX2RhdGV0aW1lX3Rlc3QoKQo+ wqAgfTsKPsKgIHNpemVfdCBpbmRleDsKPsKgCj4tIHBsYW4oNjgpOwo+KyBwbGFuKDg1KTsKPsKg IGZvciAoaW5kZXggPSAwOyBpbmRleCA8IGxlbmd0aG9mKHRlc3RzKTsgaW5kZXgrKykgewo+wqAg c3RydWN0IGRhdGV0aW1lIGRhdGUgPSB7Cj7CoCB0ZXN0c1tpbmRleF0uc2VjcywKPkBAIC0zMDMs NiArMzAzLDcgQEAgbXBfZGF0ZXRpbWVfdGVzdCgpCj7CoCBzdHJ1Y3QgZGF0ZXRpbWUgKnJjID0g bXBfZGVjb2RlX2RhdGV0aW1lKCZkYXRhMSwgJnJldCk7Cj7CoCBpcyhyYywgJnJldCwgIm1wX2Rl Y29kZV9kYXRldGltZSgpIHJldHVybiBjb2RlIik7Cj7CoCBpcyhkYXRhMSwgZW5kLCAibXBfc2l6 ZW9mX3V1aWQoKSA9PSBkZWNvZGVkIGxlbmd0aCIpOwo+KyBpcyhkYXRldGltZV9jb21wYXJlKCZk YXRlLCAmcmV0KSwgMCwgImRhdGV0aW1lX2NvbXBhcmUoJmRhdGUsICZyZXQpIik7Cj7CoCB9Cj7C oCBjaGVja19wbGFuKCk7Cj7CoH0KPi0tCj4yLjI5LjIgCsKgCsKgCi0tCkRtaXRyeSBFLiBPYm91 a2hvdgrCoA== ----ALT--e3EdEfDf75a698aA12F2F034fC24f8401629371897 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 CjxIVE1MPjxCT0RZPjxkaXY+PGRpdj5IaSE8L2Rpdj48ZGl2PiZuYnNwOzwvZGl2PjxkaXY+SSBs b29rZWQgdHJob3VnaCB0aGUgcGF0Y2hzZXQuPC9kaXY+PGRpdj4mbmJzcDs8L2Rpdj48ZGl2Pkkg YWxzbyBjb21waWxlZCB0aGUgYnJhY25jaCBhbmQgdGVzdGVkIGJ5IGhhbmQuPC9kaXY+PGRpdj4m bmJzcDs8L2Rpdj48ZGl2PkV4YW1wbGU6PC9kaXY+PGRpdj4mbmJzcDs8L2Rpdj48ZGl2PjxkaXY+ PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O0FuZGFsZSBNb25vJnF1b3Q7LCZxdW90O0x1 Y2lkYSBDb25zb2xlJnF1b3Q7LE1vbmFjbyxtb25vc3BhY2U7Ij50YXJhbnRvb2wmZ3Q7IGRhdGV0 aW1lID0gcmVxdWlyZSgnZGF0ZXRpbWUnKTxicj4tLS08YnI+Li4uPC9zcGFuPjwvZGl2PjxkaXY+ PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O0FuZGFsZSBNb25vJnF1b3Q7LCZxdW90O0x1 Y2lkYSBDb25zb2xlJnF1b3Q7LE1vbmFjbyxtb25vc3BhY2U7Ij50YXJhbnRvb2wmZ3Q7IGRhdGV0 aW1lLm5ldygnMjAyMC0wMS0wMiAwMjowMCcpPGJyPi0tLTxicj4tIDE5NzAtMDEtMDFUMDA6MDBa PGJyPi4uLjwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtB bmRhbGUgTW9ubyZxdW90OywmcXVvdDtMdWNpZGEgQ29uc29sZSZxdW90OyxNb25hY28sbW9ub3Nw YWNlOyI+dGFyYW50b29sJmd0OyBkYXRldGltZS5uZXcoJzIwMjAtMDEtMDIgMDI6MDArMDMwMCcp PGJyPi0tLTxicj4tIDE5NzAtMDEtMDFUMDA6MDBaPGJyPi4uLjwvc3Bhbj48L2Rpdj48ZGl2Pjxz cGFuIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtBbmRhbGUgTW9ubyZxdW90OywmcXVvdDtMdWNp ZGEgQ29uc29sZSZxdW90OyxNb25hY28sbW9ub3NwYWNlOyI+dGFyYW50b29sJmd0OyBkYXRldGlt ZS5uZXcoJzIwMjAtMDEtMDIgMDI6MDA6MTErMDMwMCcpPGJyPi0tLTxicj4tIDE5NzAtMDEtMDFU MDA6MDBaPGJyPi4uLjwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTom cXVvdDtBbmRhbGUgTW9ubyZxdW90OywmcXVvdDtMdWNpZGEgQ29uc29sZSZxdW90OyxNb25hY28s bW9ub3NwYWNlOyI+dGFyYW50b29sJmd0OyBkYXRldGltZS5uZXcoJzIwMjAtMDEtMDJUMDI6MDA6 MTErMDMwMCcpPGJyPi0tLTxicj4tIDE5NzAtMDEtMDFUMDA6MDBaPGJyPi4uLjwvc3Bhbj48L2Rp dj48ZGl2PiZuYnNwOzwvZGl2PjxkaXY+Jm5ic3A7PC9kaXY+PGRpdj5UaGUgY29kZSBsb29rcyBs aWtlIGFzIGJyb2tlbi48L2Rpdj48ZGl2PiZuYnNwOzwvZGl2PjxkaXY+QWxzbyBteSBub3Rlczo8 L2Rpdj48ZGl2PiZuYnNwOzwvZGl2PjxvbD48bGk+dG9zdHJpbmcgaGFzIHRvIHJldHVybiBkYXRl dGltZSBzdHJpbmcgd2l0aCBzZWNvbmRzIGFuZCB0aW1lem9uZTwvbGk+PGxpPmFsc28gdGhlIG90 aGVyIGRhdGFiYXNlcyB0cnkgdG8gYXZvaWQgdG8gdXNlIMKrWsK7IHN5bWJvbCBpbiBkYXRldGlt ZS1mb3JtYXQsIHNvIEkgdGhpbmcgd2Ugc2hvdWxkIHVzZSDCqyswMDowMMK7IGluc3RlYWQgwqta wrs8L2xpPjwvb2w+PGRpdj4mbmJzcDs8L2Rpdj48ZGl2Plllc3RlcmRheSB3ZSBhcHByb3ZlZCB0 aGUgZm9sbG93aW5nIEFQSTo8L2Rpdj48ZGl2PiZuYnNwOzwvZGl2PjxkaXY+PHNwYW4gc3R5bGU9 ImZvbnQtZmFtaWx5OiZxdW90O0FuZGFsZSBNb25vJnF1b3Q7LCZxdW90O0x1Y2lkYSBDb25zb2xl JnF1b3Q7LE1vbmFjbyxtb25vc3BhY2U7Ij5UOmFkZHt5ZWFyPVhYWCwgbW9udGg9WVlZLCAuLi59 PC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O0FuZGFsZSBN b25vJnF1b3Q7LCZxdW90O0x1Y2lkYSBDb25zb2xlJnF1b3Q7LE1vbmFjbyxtb25vc3BhY2U7Ij5U OnN1Ynt5ZWFyPVhYWCwgbW9udGg9WVlZLCAuLi59PC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4gc3R5 bGU9ImZvbnQtZmFtaWx5OiZxdW90O0FuZGFsZSBNb25vJnF1b3Q7LCZxdW90O0x1Y2lkYSBDb25z b2xlJnF1b3Q7LE1vbmFjbyxtb25vc3BhY2U7Ij5UOnNldHt5ZWFyPVhYWCwg4oCmLCB0ej3igJkr MDM6MDDigJl9PGJyPlQ6c3RyZnRpbWUo4oCYJUYgJUQgJXrigJkpPC9zcGFuPjwvZGl2PjxkaXY+ Jm5ic3A7PC9kaXY+PGRpdj5JIHdhbnQgdG8gc2VlIGEgdGVzdCBzZXQgZm9yIHRoZSBBUEkuPGJy Pjxicj5BbHNvIHdlIGFwcHJvdmVkIHRoZSBmb2xsb3dpbmcgbWV0aG9kczo8L2Rpdj48ZGl2PiZu YnNwOzwvZGl2PjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtBbmRhbGUgTW9ubyZxdW90 OywmcXVvdDtMdWNpZGEgQ29uc29sZSZxdW90OyxNb25hY28sbW9ub3NwYWNlOyI+VDpzZWMoKSDi gJQgMzU8L3NwYW4+PGRpdj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7QW5kYWxlIE1v bm8mcXVvdDssJnF1b3Q7THVjaWRhIENvbnNvbGUmcXVvdDssTW9uYWNvLG1vbm9zcGFjZTsiPlQ6 bWluKCkg4oCUIDEyPGJyPlQ6ZGF5KCkg4oCUIDE5PGJyPlQ6d2RheSgpIOKAlCA1PGJyPlQ6eWRh eSgpIOKAlCAyMzE8YnI+VDp5ZWFyKCkg4oCUIDIwMjE8YnI+VDptb250aCgpIOKAlCA4PGJyPlQ6 aG91cigpIOKAlCAyMzwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTom cXVvdDtBbmRhbGUgTW9ubyZxdW90OywmcXVvdDtMdWNpZGEgQ29uc29sZSZxdW90OyxNb25hY28s bW9ub3NwYWNlOyI+VDp0eigpIOKAlCDigJgrMDM6MDDigJk8L3NwYW4+PC9kaXY+PGRpdj4mbmJz cDs8L2Rpdj48ZGl2Pkl0IHdvdWxkIGJlIG5pY2UgdG8gc2VlIHRlc3Qgc2V0IGZvciBlYWNoIG9m IHRoZSBmdW5jdGlvbnMuPC9kaXY+PGRpdj4mbmJzcDs8L2Rpdj48ZGl2PkFsc28gaXQgd291bGQg YmUgbmljZSB0byByZW5hbWUgYW1iaWdvdW9zIGl0ZW1zIMKrc2Vjc8K7IHRvIMKrZXBvY2jCuyBv ciDCq3RpbWVzdGFtcMK7PC9kaXY+PGRpdj5EYXRldGltZSBvYmplY3QgbXVzdCBoYXZlIG1ldGhv ZHMgdG8gcmV0dXJuIGludGVnZXIgYW5kIGZsb2F0IHRpbWVzdGFtcDo8L2Rpdj48ZGl2PiZuYnNw OzwvZGl2PjxkaXY+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O0FuZGFsZSBNb25vJnF1 b3Q7LCZxdW90O0x1Y2lkYSBDb25zb2xlJnF1b3Q7LE1vbmFjbyxtb25vc3BhY2U7Ij5UOmVwb2No KCk8L3NwYW4+PC9kaXY+PGRpdj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7QW5kYWxl IE1vbm8mcXVvdDssJnF1b3Q7THVjaWRhIENvbnNvbGUmcXVvdDssTW9uYWNvLG1vbm9zcGFjZTsi PlQ6dGltZXN0YW1wKCk8L3NwYW4+PC9kaXY+PGRpdj4mbmJzcDs8L2Rpdj48L2Rpdj48YmxvY2tx dW90ZSBzdHlsZT0iYm9yZGVyLWxlZnQ6MXB4IHNvbGlkICMwODU3QTY7IG1hcmdpbjoxMHB4OyBw YWRkaW5nOjAgMCAwIDEwcHg7Ij7Qp9C10YLQstC10YDQsywgMTkg0LDQstCz0YPRgdGC0LAgMjAy MSwgNTo1OCArMDM6MDAg0L7RgiBUaW11ciBTYWZpbiB2aWEgVGFyYW50b29sLXBhdGNoZXMgJmx0 O3RhcmFudG9vbC1wYXRjaGVzQGRldi50YXJhbnRvb2wub3JnJmd0Ozo8YnI+Jm5ic3A7PGRpdiBp ZD0iIj48ZGl2IGNsYXNzPSJqcy1oZWxwZXIganMtcmVhZG1zZy1tc2ciPjxkaXY+PGRpdiBpZD0i c3R5bGVfMTYyOTM0MTkzMjA0OTkxMzY0MDdfQk9EWSI+KiBzdG9yYWdlIGhpbnRzIGltcGxlbWVu dGVkIGZvciBkYXRldGltZV90IHZhbHVlczs8YnI+KiBwcm9wZXIgY29tcGFyaXNvbiBmb3IgaW5k aWNlcyBvZiBkYXRldGltZSB0eXBlLjxicj48YnI+UGFydCBvZiAjNTk0MTxicj5QYXJ0IG9mICM1 OTQ2PGJyPjxicj5AVGFyYW50b29sQm90IGRvY3VtZW50PGJyPjxicj5UaXRsZTogU3RvcmFnZSBz dXBwb3J0IGZvciBkYXRldGltZSB2YWx1ZXM8YnI+PGJyPkl0J3Mgbm93IHBvc3NpYmxlIHRvIHN0 b3JlIGRhdGV0aW1lIHZhbHVlcyBpbiBzcGFjZXMgYW5kIGNyZWF0ZTxicj5pbmRleGVkIGRhdGV0 aW1lIGZpZWxkcy48YnI+PGJyPlBsZWFzZSByZWZlciB0byA8YSBocmVmPSJodHRwczovL2dpdGh1 Yi5jb20vdGFyYW50b29sL3RhcmFudG9vbC9kaXNjdXNzaW9ucy82MjQ0IiB0YXJnZXQ9Il9ibGFu ayI+aHR0cHM6Ly9naXRodWIuY29tL3RhcmFudG9vbC90YXJhbnRvb2wvZGlzY3Vzc2lvbnMvNjI0 NDwvYT48YnI+Zm9yIG1vcmUgZGV0YWlsZWQgZGVzY3JpcHRpb24gb2YgYSBzdG9yYWdlIHNjaGVt YS48YnI+LS0tPGJyPiZuYnNwO3NyYy9ib3gvZmllbGRfZGVmLmMgfCAzNSArKysrKysrKystLS0t LS0tPGJyPiZuYnNwO3NyYy9ib3gvZmllbGRfZGVmLmggfCAxICs8YnI+Jm5ic3A7c3JjL2JveC90 dXBsZV9jb21wYXJlLmNjIHwgNzcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKys8 YnI+Jm5ic3A7c3JjL2xpYi9jb3JlL2RhdGV0aW1lLmMgfCA5ICsrKys8YnI+Jm5ic3A7c3JjL2xp Yi9jb3JlL2RhdGV0aW1lLmggfCAxMSArKysrKzxicj4mbmJzcDt0ZXN0L2VuZ2luZS9kYXRldGlt ZS5yZXN1bHQgfCA3NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKzxicj4mbmJz cDt0ZXN0L2VuZ2luZS9kYXRldGltZS50ZXN0Lmx1YSB8IDM1ICsrKysrKysrKysrKysrKys8YnI+ Jm5ic3A7dGVzdC91bml0L2RhdGV0aW1lLmMgfCAzICstPGJyPiZuYnNwOzggZmlsZXMgY2hhbmdl ZCwgMjMyIGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKTxicj4mbmJzcDtjcmVhdGUgbW9k ZSAxMDA2NDQgdGVzdC9lbmdpbmUvZGF0ZXRpbWUucmVzdWx0PGJyPiZuYnNwO2NyZWF0ZSBtb2Rl IDEwMDY0NCB0ZXN0L2VuZ2luZS9kYXRldGltZS50ZXN0Lmx1YTxicj48YnI+ZGlmZiAtLWdpdCBh L3NyYy9ib3gvZmllbGRfZGVmLmMgYi9zcmMvYm94L2ZpZWxkX2RlZi5jPGJyPmluZGV4IDUxYWNi ODAyNS4uY2Q1ZGI5NDJlIDEwMDY0NDxicj4tLS0gYS9zcmMvYm94L2ZpZWxkX2RlZi5jPGJyPisr KyBiL3NyYy9ib3gvZmllbGRfZGVmLmM8YnI+QEAgLTcwLDYgKzcwLDcgQEAgY29uc3QgdWludDMy X3QgZmllbGRfbXBfdHlwZVtdID0gezxicj4mbmJzcDsgKDFVICZsdDsmbHQ7IE1QX0JJTikgfCAo MVUgJmx0OyZsdDsgTVBfQk9PTCksPGJyPiZuYnNwOyAvKiBbRklFTERfVFlQRV9ERUNJTUFMXSA9 ICovIDAsIC8qIG9ubHkgTVBfREVDSU1BTCBpcyBzdXBwb3J0ZWQgKi88YnI+Jm5ic3A7IC8qIFtG SUVMRF9UWVBFX1VVSURdID0gKi8gMCwgLyogb25seSBNUF9VVUlEIGlzIHN1cHBvcnRlZCAqLzxi cj4rIC8qIFtGSUVMRF9UWVBFX0RBVEVUSU1FXSA9ICovIDAsIC8qIG9ubHkgTVBfREFURVRJTUUg aXMgc3VwcG9ydGVkICovPGJyPiZuYnNwOyAvKiBbRklFTERfVFlQRV9BUlJBWV0gPSAqLyAxVSAm bHQ7Jmx0OyBNUF9BUlJBWSw8YnI+Jm5ic3A7IC8qIFtGSUVMRF9UWVBFX01BUF0gPSAqLyAoMVUg Jmx0OyZsdDsgTVBfTUFQKSw8YnI+Jm5ic3A7fTs8YnI+QEAgLTgzLDkgKzg0LDExIEBAIGNvbnN0 IHVpbnQzMl90IGZpZWxkX2V4dF90eXBlW10gPSB7PGJyPiZuYnNwOyAvKiBbRklFTERfVFlQRV9J TlRFR0VSXSA9ICovIDAsPGJyPiZuYnNwOyAvKiBbRklFTERfVFlQRV9CT09MRUFOXSA9ICovIDAs PGJyPiZuYnNwOyAvKiBbRklFTERfVFlQRV9WQVJCSU5BUlldID0gKi8gMCw8YnI+LSAvKiBbRklF TERfVFlQRV9TQ0FMQVJdID0gKi8gKDFVICZsdDsmbHQ7IE1QX0RFQ0lNQUwpIHwgKDFVICZsdDsm bHQ7IE1QX1VVSUQpLDxicj4rIC8qIFtGSUVMRF9UWVBFX1NDQUxBUl0gPSAqLyAoMVUgJmx0OyZs dDsgTVBfREVDSU1BTCkgfCAoMVUgJmx0OyZsdDsgTVBfVVVJRCkgfDxicj4rICgxVSAmbHQ7Jmx0 OyBNUF9EQVRFVElNRSksPGJyPiZuYnNwOyAvKiBbRklFTERfVFlQRV9ERUNJTUFMXSA9ICovIDFV ICZsdDsmbHQ7IE1QX0RFQ0lNQUwsPGJyPiZuYnNwOyAvKiBbRklFTERfVFlQRV9VVUlEXSA9ICov IDFVICZsdDsmbHQ7IE1QX1VVSUQsPGJyPisgLyogW0ZJRUxEX1RZUEVfREFURVRJTUVdID0gKi8g MVUgJmx0OyZsdDsgTVBfREFURVRJTUUsPGJyPiZuYnNwOyAvKiBbRklFTERfVFlQRV9BUlJBWV0g PSAqLyAwLDxicj4mbmJzcDsgLyogW0ZJRUxEX1RZUEVfTUFQXSA9ICovIDAsPGJyPiZuYnNwO307 PGJyPkBAIC0xMDIsNiArMTA1LDcgQEAgY29uc3QgY2hhciAqZmllbGRfdHlwZV9zdHJzW10gPSB7 PGJyPiZuYnNwOyAvKiBbRklFTERfVFlQRV9TQ0FMQVJdID0gKi8gInNjYWxhciIsPGJyPiZuYnNw OyAvKiBbRklFTERfVFlQRV9ERUNJTUFMXSA9ICovICJkZWNpbWFsIiw8YnI+Jm5ic3A7IC8qIFtG SUVMRF9UWVBFX1VVSURdID0gKi8gInV1aWQiLDxicj4rIC8qIFtGSUVMRF9UWVBFX0RBVEVUSU1F XSA9ICovICJkYXRldGltZSIsPGJyPiZuYnNwOyAvKiBbRklFTERfVFlQRV9BUlJBWV0gPSAqLyAi YXJyYXkiLDxicj4mbmJzcDsgLyogW0ZJRUxEX1RZUEVfTUFQXSA9ICovICJtYXAiLDxicj4mbmJz cDt9Ozxicj5AQCAtMTI4LDIwICsxMzIsMjEgQEAgZmllbGRfdHlwZV9ieV9uYW1lX3dyYXBwZXIo Y29uc3QgY2hhciAqc3RyLCB1aW50MzJfdCBsZW4pPGJyPiZuYnNwOyZuYnNwOyogdmFsdWVzIGNh biBiZSBzdG9yZWQgaW4gdGhlIGogdHlwZS48YnI+Jm5ic3A7Jm5ic3A7Ki88YnI+Jm5ic3A7c3Rh dGljIGNvbnN0IGJvb2wgZmllbGRfdHlwZV9jb21wYXRpYmlsaXR5W10gPSB7PGJyPi0gLyogQU5Z IFVOU0lHTkVEIFNUUklORyBOVU1CRVIgRE9VQkxFIElOVEVHRVIgQk9PTEVBTiBWQVJCSU5BUlkg U0NBTEFSIERFQ0lNQUwgVVVJRCBBUlJBWSBNQVAgKi88YnI+LS8qIEFOWSAqLyB0cnVlLCBmYWxz ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNl LCBmYWxzZSwgZmFsc2UsIGZhbHNlLDxicj4tLyogVU5TSUdORUQgKi8gdHJ1ZSwgdHJ1ZSwgZmFs c2UsIHRydWUsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwg ZmFsc2UsIGZhbHNlLDxicj4tLyogU1RSSU5HICovIHRydWUsIGZhbHNlLCB0cnVlLCBmYWxzZSwg ZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZh bHNlLDxicj4tLyogTlVNQkVSICovIHRydWUsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZh bHNlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLDxicj4t LyogRE9VQkxFICovIHRydWUsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSwgZmFsc2UsIGZhbHNl LCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsPGJyPi0vKiBJTlRFR0VS ICovIHRydWUsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwg dHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsPGJyPi0vKiBCT09MRUFOICovIHRydWUs IGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIHRydWUsIGZh bHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLDxicj4tLyogVkFSQklOQVJZKi8gdHJ1ZSwgZmFsc2Us IGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSwgZmFsc2UsIGZh bHNlLCBmYWxzZSwgZmFsc2UsPGJyPi0vKiBTQ0FMQVIgKi8gdHJ1ZSwgZmFsc2UsIGZhbHNlLCBm YWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFs c2UsIGZhbHNlLDxicj4tLyogREVDSU1BTCAqLyB0cnVlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZh bHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNl LDxicj4tLyogVVVJRCAqLyB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2Us IGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UsPGJyPi0vKiBB UlJBWSAqLyB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBm YWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsPGJyPi0vKiBNQVAgKi8gdHJ1 ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNl LCBmYWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlLDxicj4rIC8qIEFOWSBVTlNJR05FRCBTVFJJTkcg TlVNQkVSIERPVUJMRSBJTlRFR0VSIEJPT0xFQU4gVkFSQklOQVJZIFNDQUxBUiBERUNJTUFMIFVV SUQgREFURVRJTUUgQVJSQVkgTUFQICovPGJyPisvKiBBTlkgKi8gdHJ1ZSwgZmFsc2UsIGZhbHNl LCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2Us IGZhbHNlLCBmYWxzZSwgZmFsc2UsPGJyPisvKiBVTlNJR05FRCAqLyB0cnVlLCB0cnVlLCBmYWxz ZSwgdHJ1ZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBm YWxzZSwgZmFsc2UsIGZhbHNlLDxicj4rLyogU1RSSU5HICovIHRydWUsIGZhbHNlLCB0cnVlLCBm YWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFs c2UsIGZhbHNlLCBmYWxzZSw8YnI+Ky8qIE5VTUJFUiAqLyB0cnVlLCBmYWxzZSwgZmFsc2UsIHRy dWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNl LCBmYWxzZSwgZmFsc2UsPGJyPisvKiBET1VCTEUgKi8gdHJ1ZSwgZmFsc2UsIGZhbHNlLCB0cnVl LCB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBm YWxzZSwgZmFsc2UsPGJyPisvKiBJTlRFR0VSICovIHRydWUsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwg ZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFs c2UsIGZhbHNlLDxicj4rLyogQk9PTEVBTiAqLyB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBm YWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxz ZSwgZmFsc2UsPGJyPisvKiBWQVJCSU5BUlkqLyB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBm YWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxz ZSwgZmFsc2UsPGJyPisvKiBTQ0FMQVIgKi8gdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFs c2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNl LCBmYWxzZSw8YnI+Ky8qIERFQ0lNQUwgKi8gdHJ1ZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxz ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwg ZmFsc2UsPGJyPisvKiBVVUlEICovIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBm YWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFs c2UsPGJyPisvKiBEQVRFVElNRSAqLyB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwg ZmFsc2UsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFs c2UsPGJyPisvKiBBUlJBWSAqLyB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFs c2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNl LDxicj4rLyogTUFQICovIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwg ZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUsPGJy PiZuYnNwO307PGJyPiZuYnNwOzxicj4mbmJzcDtib29sPGJyPmRpZmYgLS1naXQgYS9zcmMvYm94 L2ZpZWxkX2RlZi5oIGIvc3JjL2JveC9maWVsZF9kZWYuaDxicj5pbmRleCBjNWNmZTVlODYuLjYx OWVhMTlmZSAxMDA2NDQ8YnI+LS0tIGEvc3JjL2JveC9maWVsZF9kZWYuaDxicj4rKysgYi9zcmMv Ym94L2ZpZWxkX2RlZi5oPGJyPkBAIC02MSw2ICs2MSw3IEBAIGVudW0gZmllbGRfdHlwZSB7PGJy PiZuYnNwOyBGSUVMRF9UWVBFX1NDQUxBUiw8YnI+Jm5ic3A7IEZJRUxEX1RZUEVfREVDSU1BTCw8 YnI+Jm5ic3A7IEZJRUxEX1RZUEVfVVVJRCw8YnI+KyBGSUVMRF9UWVBFX0RBVEVUSU1FLDxicj4m bmJzcDsgRklFTERfVFlQRV9BUlJBWSw8YnI+Jm5ic3A7IEZJRUxEX1RZUEVfTUFQLDxicj4mbmJz cDsgZmllbGRfdHlwZV9NQVg8YnI+ZGlmZiAtLWdpdCBhL3NyYy9ib3gvdHVwbGVfY29tcGFyZS5j YyBiL3NyYy9ib3gvdHVwbGVfY29tcGFyZS5jYzxicj5pbmRleCA0M2NkMjljZTkuLjI0Nzg0OThi YSAxMDA2NDQ8YnI+LS0tIGEvc3JjL2JveC90dXBsZV9jb21wYXJlLmNjPGJyPisrKyBiL3NyYy9i b3gvdHVwbGVfY29tcGFyZS5jYzxicj5AQCAtMzYsNiArMzYsNyBAQDxicj4mbmJzcDsjaW5jbHVk ZSAibGliL2NvcmUvZGVjaW1hbC5oIjxicj4mbmJzcDsjaW5jbHVkZSAibGliL2NvcmUvbXBfZGVj aW1hbC5oIjxicj4mbmJzcDsjaW5jbHVkZSAidXVpZC9tcF91dWlkLmgiPGJyPisjaW5jbHVkZSAi bGliL2NvcmUvbXBfZGF0ZXRpbWUuaCI8YnI+Jm5ic3A7I2luY2x1ZGUgImxpYi9jb3JlL21wX2V4 dGVuc2lvbl90eXBlcy5oIjxicj4mbmJzcDs8YnI+Jm5ic3A7Lyoge3t7IHR1cGxlX2NvbXBhcmUg Ki88YnI+QEAgLTc2LDYgKzc3LDcgQEAgZW51bSBtcF9jbGFzcyB7PGJyPiZuYnNwOyBNUF9DTEFT U19TVFIsPGJyPiZuYnNwOyBNUF9DTEFTU19CSU4sPGJyPiZuYnNwOyBNUF9DTEFTU19VVUlELDxi cj4rIE1QX0NMQVNTX0RBVEVUSU1FLDxicj4mbmJzcDsgTVBfQ0xBU1NfQVJSQVksPGJyPiZuYnNw OyBNUF9DTEFTU19NQVAsPGJyPiZuYnNwOyBtcF9jbGFzc19tYXgsPGJyPkBAIC05OSw2ICsxMDEs OCBAQCBzdGF0aWMgZW51bSBtcF9jbGFzcyBtcF9leHRfY2xhc3Nlc1tdID0gezxicj4mbmJzcDsg LyogLk1QX1VOS05PV05fRVhURU5TSU9OID0gKi8gbXBfY2xhc3NfbWF4LCAvKiB1bnN1cHBvcnRl ZCAqLzxicj4mbmJzcDsgLyogLk1QX0RFQ0lNQUwgPSAqLyBNUF9DTEFTU19OVU1CRVIsPGJyPiZu YnNwOyAvKiAuTVBfVVVJRCA9ICovIE1QX0NMQVNTX1VVSUQsPGJyPisgLyogLk1QX0VSUk9SID0g Ki8gbXBfY2xhc3NfbWF4LDxicj4rIC8qIC5NUF9EQVRFVElNRSA9ICovIE1QX0NMQVNTX0RBVEVU SU1FLDxicj4mbmJzcDt9Ozxicj4mbmJzcDs8YnI+Jm5ic3A7c3RhdGljIGVudW0gbXBfY2xhc3M8 YnI+QEAgLTM5MCw2ICszOTQsMTkgQEAgbXBfY29tcGFyZV91dWlkKGNvbnN0IGNoYXIgKmZpZWxk X2EsIGNvbnN0IGNoYXIgKmZpZWxkX2IpPGJyPiZuYnNwOyByZXR1cm4gbWVtY21wKGZpZWxkX2Eg KyAyLCBmaWVsZF9iICsgMiwgVVVJRF9QQUNLRURfTEVOKTs8YnI+Jm5ic3A7fTxicj4mbmJzcDs8 YnI+K3N0YXRpYyBpbnQ8YnI+K21wX2NvbXBhcmVfZGF0ZXRpbWUoY29uc3QgY2hhciAqbGhzLCBj b25zdCBjaGFyICpyaHMpPGJyPit7PGJyPisgc3RydWN0IGRhdGV0aW1lIGxoc19kdCwgcmhzX2R0 Ozxicj4rIHN0cnVjdCBkYXRldGltZSAqcmV0Ozxicj4rIHJldCA9IG1wX2RlY29kZV9kYXRldGlt ZSgmYW1wO2xocywgJmFtcDtsaHNfZHQpOzxicj4rIGFzc2VydChyZXQgIT0gTlVMTCk7PGJyPisg cmV0ID0gbXBfZGVjb2RlX2RhdGV0aW1lKCZhbXA7cmhzLCAmYW1wO3Joc19kdCk7PGJyPisgYXNz ZXJ0KHJldCAhPSBOVUxMKTs8YnI+KyAodm9pZClyZXQ7PGJyPisgcmV0dXJuIGRhdGV0aW1lX2Nv bXBhcmUoJmFtcDtsaHNfZHQsICZhbXA7cmhzX2R0KTs8YnI+K308YnI+Kzxicj4mbmJzcDt0eXBl ZGVmIGludCAoKm1wX2NvbXBhcmVfZikoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopOzxicj4m bmJzcDtzdGF0aWMgbXBfY29tcGFyZV9mIG1wX2NsYXNzX2NvbXBhcmF0b3JzW10gPSB7PGJyPiZu YnNwOyAvKiAuTVBfQ0xBU1NfTklMID0gKi8gTlVMTCw8YnI+QEAgLTM5OCw2ICs0MTUsNyBAQCBz dGF0aWMgbXBfY29tcGFyZV9mIG1wX2NsYXNzX2NvbXBhcmF0b3JzW10gPSB7PGJyPiZuYnNwOyAv KiAuTVBfQ0xBU1NfU1RSID0gKi8gbXBfY29tcGFyZV9zdHIsPGJyPiZuYnNwOyAvKiAuTVBfQ0xB U1NfQklOID0gKi8gbXBfY29tcGFyZV9iaW4sPGJyPiZuYnNwOyAvKiAuTVBfQ0xBU1NfVVVJRCA9 ICovIG1wX2NvbXBhcmVfdXVpZCw8YnI+KyAvKiAuTVBfQ0xBU1NfREFURVRJTUU9Ki8gbXBfY29t cGFyZV9kYXRldGltZSw8YnI+Jm5ic3A7IC8qIC5NUF9DTEFTU19BUlJBWSA9ICovIE5VTEwsPGJy PiZuYnNwOyAvKiAuTVBfQ0xBU1NfTUFQID0gKi8gTlVMTCw8YnI+Jm5ic3A7fTs8YnI+QEAgLTQ3 OCw2ICs0OTYsOCBAQCB0dXBsZV9jb21wYXJlX2ZpZWxkKGNvbnN0IGNoYXIgKmZpZWxkX2EsIGNv bnN0IGNoYXIgKmZpZWxkX2IsPGJyPiZuYnNwOyByZXR1cm4gbXBfY29tcGFyZV9kZWNpbWFsKGZp ZWxkX2EsIGZpZWxkX2IpOzxicj4mbmJzcDsgY2FzZSBGSUVMRF9UWVBFX1VVSUQ6PGJyPiZuYnNw OyByZXR1cm4gbXBfY29tcGFyZV91dWlkKGZpZWxkX2EsIGZpZWxkX2IpOzxicj4rIGNhc2UgRklF TERfVFlQRV9EQVRFVElNRTo8YnI+KyByZXR1cm4gbXBfY29tcGFyZV9kYXRldGltZShmaWVsZF9h LCBmaWVsZF9iKTs8YnI+Jm5ic3A7IGRlZmF1bHQ6PGJyPiZuYnNwOyB1bnJlYWNoYWJsZSgpOzxi cj4mbmJzcDsgcmV0dXJuIDA7PGJyPkBAIC01MTgsNiArNTM4LDggQEAgdHVwbGVfY29tcGFyZV9m aWVsZF93aXRoX3R5cGUoY29uc3QgY2hhciAqZmllbGRfYSwgZW51bSBtcF90eXBlIGFfdHlwZSw8 YnI+Jm5ic3A7IGZpZWxkX2IsIGJfdHlwZSk7PGJyPiZuYnNwOyBjYXNlIEZJRUxEX1RZUEVfVVVJ RDo8YnI+Jm5ic3A7IHJldHVybiBtcF9jb21wYXJlX3V1aWQoZmllbGRfYSwgZmllbGRfYik7PGJy PisgY2FzZSBGSUVMRF9UWVBFX0RBVEVUSU1FOjxicj4rIHJldHVybiBtcF9jb21wYXJlX2RhdGV0 aW1lKGZpZWxkX2EsIGZpZWxkX2IpOzxicj4mbmJzcDsgZGVmYXVsdDo8YnI+Jm5ic3A7IHVucmVh Y2hhYmxlKCk7PGJyPiZuYnNwOyByZXR1cm4gMDs8YnI+QEAgLTE1MTgsNiArMTU0MCwyMSBAQCBm dW5jX2luZGV4X2NvbXBhcmVfd2l0aF9rZXkoc3RydWN0IHR1cGxlICp0dXBsZSwgaGludF90IHR1 cGxlX2hpbnQsPGJyPiZuYnNwOyNkZWZpbmUgSElOVF9WQUxVRV9ET1VCTEVfTUFYIChleHAyKEhJ TlRfVkFMVUVfQklUUyAtIDEpIC0gMSk8YnI+Jm5ic3A7I2RlZmluZSBISU5UX1ZBTFVFX0RPVUJM RV9NSU4gKC1leHAyKEhJTlRfVkFMVUVfQklUUyAtIDEpKTxicj4mbmJzcDs8YnI+Ky8qKjxicj4r ICogV2UgbmVlZCB0byBzcXVlZXplIDY0IGJpdHMgb2Ygc2Vjb25kcyBhbmQgMzIgYml0cyBvZiBu YW5vc2Vjb25kczxicj4rICogaW50byA2MCBiaXRzIG9mIGhpbnQgdmFsdWUuIFRoZSBpZGVhIGlz IHRvIHJlcHJlc2VudCB3aWRlIGVub3VnaDxicj4rICogeWVhcnMgcmFuZ2UsIGFuZCBsZWF2ZSB0 aGUgcmVzdCBvZiBiaXRzIG9jY3VwaWVkIGZyb20gbmFub3NlY29uZHMgcGFydDo8YnI+KyAqIC0g MzYgYml0cyBpcyBlbm91Z2ggZm9yIHRpbWUgcmFuZ2Ugb2YgWzIwOEJDLi40MTQ3XTxicj4rICog LSBmb3IgbmFub3NlY29uZHMgdGhlcmUgaXMgbGVmdCAyNCBiaXRzLCB3aGljaCBhcmUgTVNCIHBh cnQgb2Y8YnI+KyAqIDMyLWJpdCB2YWx1ZTxicj4rICovPGJyPisjZGVmaW5lIEhJTlRfVkFMVUVf U0VDU19CSVRTIDM2PGJyPisjZGVmaW5lIEhJTlRfVkFMVUVfTlNFQ19CSVRTIChISU5UX1ZBTFVF X0JJVFMgLSBISU5UX1ZBTFVFX1NFQ1NfQklUUyk8YnI+KyNkZWZpbmUgSElOVF9WQUxVRV9TRUNT X01BWCAoKDFMTCAmbHQ7Jmx0OyAoSElOVF9WQUxVRV9TRUNTX0JJVFMgLSAxKSkgLSAxKTxicj4r I2RlZmluZSBISU5UX1ZBTFVFX1NFQ1NfTUlOICgtKDFMTCAmbHQ7Jmx0OyAoSElOVF9WQUxVRV9T RUNTX0JJVFMgLSAxKSkpPGJyPisjZGVmaW5lIEhJTlRfVkFMVUVfTlNFQ19TSElGVCAoc2l6ZW9m KGludCkgKiBDSEFSX0JJVCAtIEhJTlRfVkFMVUVfTlNFQ19CSVRTKTxicj4rI2RlZmluZSBISU5U X1ZBTFVFX05TRUNfTUFYICgoMVVMTCAmbHQ7Jmx0OyBISU5UX1ZBTFVFX05TRUNfQklUUykgLSAx KTxicj4rPGJyPiZuYnNwOy8qPGJyPiZuYnNwOyZuYnNwOyogSElOVF9DTEFTU19CSVRTIHNob3Vs ZCBiZSBiaWcgZW5vdWdoIHRvIHN0b3JlIGFueSBtcF9jbGFzcyB2YWx1ZS48YnI+Jm5ic3A7Jm5i c3A7KiBOb3RlLCAoKDEgJmx0OyZsdDsgSElOVF9DTEFTU19CSVRTKSAtIDEpIGlzIHJlc2VydmVk IGZvciBISU5UX05PTkUuPGJyPkBAIC0xNjEwLDYgKzE2NDcsMjUgQEAgaGludF91dWlkX3Jhdyhj b25zdCBjaGFyICpkYXRhKTxicj4mbmJzcDsgcmV0dXJuIGhpbnRfY3JlYXRlKE1QX0NMQVNTX1VV SUQsIHZhbCk7PGJyPiZuYnNwO308YnI+Jm5ic3A7PGJyPitzdGF0aWMgaW5saW5lIGhpbnRfdDxi cj4raGludF9kYXRldGltZShzdHJ1Y3QgZGF0ZXRpbWUgKmRhdGUpPGJyPit7PGJyPisgLyo8YnI+ KyAqIFVzZSBhdCBtb3N0IEhJTlRfVkFMVUVfU0VDU19CSVRTIGZyb20gZGF0ZXRpbWU8YnI+KyAq IHNlY29uZHMgZmllbGQgYXMgYSBoaW50IHZhbHVlLCBhbmQgYXQgTVNCIHBhcnQ8YnI+KyAqIG9m IEhJTlRfVkFMVUVfTlNFQ19CSVRTIGZyb20gbmFub3NlY29uZHMuPGJyPisgKi88YnI+KyBpbnQ2 NF90IHNlY3MgPSBkYXRlLSZndDtzZWNzOzxicj4rIGludDMyX3QgbnNlYyA9IGRhdGUtJmd0O25z ZWM7PGJyPisgdWludDY0X3QgdmFsID0gc2VjcyAmbHQ7PSBISU5UX1ZBTFVFX1NFQ1NfTUlOID8g MCA6PGJyPisgc2VjcyAtIEhJTlRfVkFMVUVfU0VDU19NSU47PGJyPisgaWYgKHZhbCAmZ3Q7PSBI SU5UX1ZBTFVFX1NFQ1NfTUFYKTxicj4rIHZhbCA9IEhJTlRfVkFMVUVfU0VDU19NQVg7PGJyPisg dmFsICZsdDsmbHQ7PSBISU5UX1ZBTFVFX05TRUNfQklUUzs8YnI+KyB2YWwgfD0gKG5zZWMgJmd0 OyZndDsgSElOVF9WQUxVRV9OU0VDX1NISUZUKSAmYW1wOyBISU5UX1ZBTFVFX05TRUNfTUFYOzxi cj4rIHJldHVybiBoaW50X2NyZWF0ZShNUF9DTEFTU19EQVRFVElNRSwgdmFsKTs8YnI+K308YnI+ Kzxicj4mbmJzcDtzdGF0aWMgaW5saW5lIHVpbnQ2NF90PGJyPiZuYnNwO2hpbnRfc3RyX3Jhdyhj b25zdCBjaGFyICpzLCB1aW50MzJfdCBsZW4pPGJyPiZuYnNwO3s8YnI+QEAgLTE3NDEsNiArMTc5 NywxNyBAQCBmaWVsZF9oaW50X3V1aWQoY29uc3QgY2hhciAqZmllbGQpPGJyPiZuYnNwOyByZXR1 cm4gaGludF91dWlkX3JhdyhkYXRhKTs8YnI+Jm5ic3A7fTxicj4mbmJzcDs8YnI+K3N0YXRpYyBp bmxpbmUgaGludF90PGJyPitmaWVsZF9oaW50X2RhdGV0aW1lKGNvbnN0IGNoYXIgKmZpZWxkKTxi cj4rezxicj4rIGFzc2VydChtcF90eXBlb2YoKmZpZWxkKSA9PSBNUF9FWFQpOzxicj4rIGludDhf dCBleHRfdHlwZTs8YnI+KyB1aW50MzJfdCBsZW4gPSBtcF9kZWNvZGVfZXh0bCgmYW1wO2ZpZWxk LCAmYW1wO2V4dF90eXBlKTs8YnI+KyBhc3NlcnQoZXh0X3R5cGUgPT0gTVBfREFURVRJTUUpOzxi cj4rIHN0cnVjdCBkYXRldGltZSBkYXRlOzxicj4rIHJldHVybiBoaW50X2RhdGV0aW1lKGRhdGV0 aW1lX3VucGFjaygmYW1wO2ZpZWxkLCBsZW4sICZhbXA7ZGF0ZSkpOzxicj4rfTxicj4rPGJyPiZu YnNwO3N0YXRpYyBpbmxpbmUgaGludF90PGJyPiZuYnNwO2ZpZWxkX2hpbnRfc3RyaW5nKGNvbnN0 IGNoYXIgKmZpZWxkLCBzdHJ1Y3QgY29sbCAqY29sbCk8YnI+Jm5ic3A7ezxicj5AQCAtMTc5Miw2 ICsxODU5LDExIEBAIGZpZWxkX2hpbnRfc2NhbGFyKGNvbnN0IGNoYXIgKmZpZWxkLCBzdHJ1Y3Qg Y29sbCAqY29sbCk8YnI+Jm5ic3A7IH08YnI+Jm5ic3A7IGNhc2UgTVBfVVVJRDo8YnI+Jm5ic3A7 IHJldHVybiBoaW50X3V1aWRfcmF3KGZpZWxkKTs8YnI+KyBjYXNlIE1QX0RBVEVUSU1FOjxicj4r IHs8YnI+KyBzdHJ1Y3QgZGF0ZXRpbWUgZGF0ZTs8YnI+KyByZXR1cm4gaGludF9kYXRldGltZShk YXRldGltZV91bnBhY2soJmFtcDtmaWVsZCwgbGVuLCAmYW1wO2RhdGUpKTs8YnI+KyB9PGJyPiZu YnNwOyBkZWZhdWx0Ojxicj4mbmJzcDsgdW5yZWFjaGFibGUoKTs8YnI+Jm5ic3A7IH08YnI+QEAg LTE4MjksNiArMTkwMSw4IEBAIGZpZWxkX2hpbnQoY29uc3QgY2hhciAqZmllbGQsIHN0cnVjdCBj b2xsICpjb2xsKTxicj4mbmJzcDsgcmV0dXJuIGZpZWxkX2hpbnRfZGVjaW1hbChmaWVsZCk7PGJy PiZuYnNwOyBjYXNlIEZJRUxEX1RZUEVfVVVJRDo8YnI+Jm5ic3A7IHJldHVybiBmaWVsZF9oaW50 X3V1aWQoZmllbGQpOzxicj4rIGNhc2UgRklFTERfVFlQRV9EQVRFVElNRTo8YnI+KyByZXR1cm4g ZmllbGRfaGludF9kYXRldGltZShmaWVsZCk7PGJyPiZuYnNwOyBkZWZhdWx0Ojxicj4mbmJzcDsg dW5yZWFjaGFibGUoKTs8YnI+Jm5ic3A7IH08YnI+QEAgLTE5NDMsNiArMjAxNyw5IEBAIGtleV9k ZWZfc2V0X2hpbnRfZnVuYyhzdHJ1Y3Qga2V5X2RlZiAqZGVmKTxicj4mbmJzcDsgY2FzZSBGSUVM RF9UWVBFX1VVSUQ6PGJyPiZuYnNwOyBrZXlfZGVmX3NldF9oaW50X2Z1bmMmbHQ7RklFTERfVFlQ RV9VVUlEJmd0OyhkZWYpOzxicj4mbmJzcDsgYnJlYWs7PGJyPisgY2FzZSBGSUVMRF9UWVBFX0RB VEVUSU1FOjxicj4rIGtleV9kZWZfc2V0X2hpbnRfZnVuYyZsdDtGSUVMRF9UWVBFX0RBVEVUSU1F Jmd0OyhkZWYpOzxicj4rIGJyZWFrOzxicj4mbmJzcDsgZGVmYXVsdDo8YnI+Jm5ic3A7IC8qIElu dmFsaWQga2V5IGRlZmluaXRpb24uICovPGJyPiZuYnNwOyBkZWYtJmd0O2tleV9oaW50ID0gTlVM TDs8YnI+ZGlmZiAtLWdpdCBhL3NyYy9saWIvY29yZS9kYXRldGltZS5jIGIvc3JjL2xpYi9jb3Jl L2RhdGV0aW1lLmM8YnI+aW5kZXggNzEyNTA5MGU2Li5lYmMwNWUyOWMgMTAwNjQ0PGJyPi0tLSBh L3NyYy9saWIvY29yZS9kYXRldGltZS5jPGJyPisrKyBiL3NyYy9saWIvY29yZS9kYXRldGltZS5j PGJyPkBAIC0xMjMsMyArMTIzLDEyIEBAIGRhdGV0aW1lX3RvX3N0cmluZyhjb25zdCBzdHJ1Y3Qg ZGF0ZXRpbWUgKmRhdGUsIGNoYXIgKmJ1ZiwgaW50IGxlbik8YnI+Jm5ic3A7IHJldHVybiBzejs8 YnI+Jm5ic3A7fTxicj4mbmJzcDs8YnI+K2ludDxicj4rZGF0ZXRpbWVfY29tcGFyZShjb25zdCBz dHJ1Y3QgZGF0ZXRpbWUgKmxocywgY29uc3Qgc3RydWN0IGRhdGV0aW1lICpyaHMpPGJyPit7PGJy PisgaW50IHJlc3VsdCA9IENPTVBBUkVfUkVTVUxUKGxocy0mZ3Q7c2VjcywgcmhzLSZndDtzZWNz KTs8YnI+KyBpZiAocmVzdWx0ICE9IDApPGJyPisgcmV0dXJuIHJlc3VsdDs8YnI+Kzxicj4rIHJl dHVybiBDT01QQVJFX1JFU1VMVChsaHMtJmd0O25zZWMsIHJocy0mZ3Q7bnNlYyk7PGJyPit9PGJy PmRpZmYgLS1naXQgYS9zcmMvbGliL2NvcmUvZGF0ZXRpbWUuaCBiL3NyYy9saWIvY29yZS9kYXRl dGltZS5oPGJyPmluZGV4IGZiNTM3ZTM3Mi4uZmM1NzE3MTE1IDEwMDY0NDxicj4tLS0gYS9zcmMv bGliL2NvcmUvZGF0ZXRpbWUuaDxicj4rKysgYi9zcmMvbGliL2NvcmUvZGF0ZXRpbWUuaDxicj5A QCAtODEsNiArODEsMTcgQEAgc3RydWN0IGRhdGV0aW1lX2ludGVydmFsIHs8YnI+Jm5ic3A7Jm5i c3A7Ki88YnI+Jm5ic3A7I2RlZmluZSBEVF9UT19TVFJJTkdfQlVGU0laRSA0ODxicj4mbmJzcDs8 YnI+Ky8qPGJyPisgKiBDb21wYXJlIGFyZ3VtZW50cyBvZiBhIGRhdGV0aW1lIHR5cGU8YnI+KyAq IEBwYXJhbSBsaHMgbGVmdCBkYXRldGltZSBhcmd1bWVudDxicj4rICogQHBhcmFtIHJocyByaWdo dCBkYXRldGltZSBhcmd1bWVudDxicj4rICogQHJldHZhbCAmbHQ7IDAgaWYgbGhzIGxlc3MgdGhh biByaHM8YnI+KyAqIEByZXR2YWwgPSAwIGlmIGxocyBhbmQgcmhzIGVxdWFsPGJyPisgKiBAcmV0 dmFsICZndDsgMCBpZiBsaHMgZ3JlYXRlciB0aGFuIHJoczxicj4rICovPGJyPitpbnQ8YnI+K2Rh dGV0aW1lX2NvbXBhcmUoY29uc3Qgc3RydWN0IGRhdGV0aW1lICpsaHMsIGNvbnN0IHN0cnVjdCBk YXRldGltZSAqcmhzKTs8YnI+Kzxicj4mbmJzcDsvKio8YnI+Jm5ic3A7Jm5ic3A7KiBDb252ZXJ0 IGRhdGV0aW1lIHRvIHN0cmluZyB1c2luZyBkZWZhdWx0IGZvcm1hdDxicj4mbmJzcDsmbmJzcDsq IEBwYXJhbSBkYXRlIHNvdXJjZSBkYXRldGltZSB2YWx1ZTxicj5kaWZmIC0tZ2l0IGEvdGVzdC9l bmdpbmUvZGF0ZXRpbWUucmVzdWx0IGIvdGVzdC9lbmdpbmUvZGF0ZXRpbWUucmVzdWx0PGJyPm5l dyBmaWxlIG1vZGUgMTAwNjQ0PGJyPmluZGV4IDAwMDAwMDAwMC4uODQ4YTBhYWVjPGJyPi0tLSAv ZGV2L251bGw8YnI+KysrIGIvdGVzdC9lbmdpbmUvZGF0ZXRpbWUucmVzdWx0PGJyPkBAIC0wLDAg KzEsNzcgQEA8YnI+Ky0tIHRlc3QtcnVuIHJlc3VsdCBmaWxlIHZlcnNpb24gMjxicj4rZW52ID0g cmVxdWlyZSgndGVzdF9ydW4nKTxicj4rIHwgLS0tPGJyPisgfCAuLi48YnI+K3Rlc3RfcnVuID0g ZW52Lm5ldygpPGJyPisgfCAtLS08YnI+KyB8IC4uLjxicj4rZW5naW5lID0gdGVzdF9ydW46Z2V0 X2NmZygnZW5naW5lJyk8YnI+KyB8IC0tLTxicj4rIHwgLi4uPGJyPis8YnI+K2RhdGUgPSByZXF1 aXJlKCdkYXRldGltZScpPGJyPisgfCAtLS08YnI+KyB8IC4uLjxicj4rPGJyPitfID0gYm94LnNj aGVtYS5zcGFjZS5jcmVhdGUoJ1QnLCB7ZW5naW5lID0gZW5naW5lfSk8YnI+KyB8IC0tLTxicj4r IHwgLi4uPGJyPitfID0gYm94LnNwYWNlLlQ6Y3JlYXRlX2luZGV4KCdwaycsIHtwYXJ0cz17MSwn ZGF0ZXRpbWUnfX0pPGJyPisgfCAtLS08YnI+KyB8IC4uLjxicj4rPGJyPitib3guc3BhY2UuVDpp bnNlcnR7ZGF0ZSgnMTk3MC0wMS0wMScpfVw8YnI+K2JveC5zcGFjZS5UOmluc2VydHtkYXRlKCcx OTcwLTAxLTAyJyl9XDxicj4rYm94LnNwYWNlLlQ6aW5zZXJ0e2RhdGUoJzE5NzAtMDEtMDMnKX1c PGJyPitib3guc3BhY2UuVDppbnNlcnR7ZGF0ZSgnMjAwMC0wMS0wMScpfTxicj4rIHwgLS0tPGJy PisgfCAuLi48YnI+Kzxicj4rbyA9IGJveC5zcGFjZS5UOnNlbGVjdHt9PGJyPisgfCAtLS08YnI+ KyB8IC4uLjxicj4rYXNzZXJ0KHRvc3RyaW5nKG9bMV1bMV0pID09ICcxOTcwLTAxLTAxVDAwOjAw WicpPGJyPisgfCAtLS08YnI+KyB8IC0gdHJ1ZTxicj4rIHwgLi4uPGJyPithc3NlcnQodG9zdHJp bmcob1syXVsxXSkgPT0gJzE5NzAtMDEtMDJUMDA6MDBaJyk8YnI+KyB8IC0tLTxicj4rIHwgLSB0 cnVlPGJyPisgfCAuLi48YnI+K2Fzc2VydCh0b3N0cmluZyhvWzNdWzFdKSA9PSAnMTk3MC0wMS0w M1QwMDowMFonKTxicj4rIHwgLS0tPGJyPisgfCAtIHRydWU8YnI+KyB8IC4uLjxicj4rYXNzZXJ0 KHRvc3RyaW5nKG9bNF1bMV0pID09ICcyMDAwLTAxLTAxVDAwOjAwWicpPGJyPisgfCAtLS08YnI+ KyB8IC0gdHJ1ZTxicj4rIHwgLi4uPGJyPis8YnI+K2ZvciBpID0gMSwxNiBkb1w8YnI+KyBib3gu c3BhY2UuVDppbnNlcnR7ZGF0ZS5ub3coKX1cPGJyPitlbmQ8YnI+KyB8IC0tLTxicj4rIHwgLi4u PGJyPis8YnI+K2EgPSBib3guc3BhY2UuVDpzZWxlY3R7fTxicj4rIHwgLS0tPGJyPisgfCAuLi48 YnI+K2VyciA9IHt9PGJyPisgfCAtLS08YnI+KyB8IC4uLjxicj4rZm9yIGkgPSAxLCAjYSAtIDEg ZG9cPGJyPisgaWYgYVtpXVsxXSAmZ3Q7PSBhW2krMV1bMV0gdGhlblw8YnI+KyB0YWJsZS5pbnNl cnQoZXJyLCB7YVtpXVsxXSwgYVtpKzFdWzFdfSlcPGJyPisgYnJlYWtcPGJyPisgZW5kXDxicj4r ZW5kPGJyPisgfCAtLS08YnI+KyB8IC4uLjxicj4rPGJyPitlcnI8YnI+KyB8IC0tLTxicj4rIHwg LSBbXTxicj4rIHwgLi4uPGJyPitib3guc3BhY2UuVDpkcm9wKCk8YnI+KyB8IC0tLTxicj4rIHwg Li4uPGJyPmRpZmYgLS1naXQgYS90ZXN0L2VuZ2luZS9kYXRldGltZS50ZXN0Lmx1YSBiL3Rlc3Qv ZW5naW5lL2RhdGV0aW1lLnRlc3QubHVhPGJyPm5ldyBmaWxlIG1vZGUgMTAwNjQ0PGJyPmluZGV4 IDAwMDAwMDAwMC4uMzY4NWU0ZDRiPGJyPi0tLSAvZGV2L251bGw8YnI+KysrIGIvdGVzdC9lbmdp bmUvZGF0ZXRpbWUudGVzdC5sdWE8YnI+QEAgLTAsMCArMSwzNSBAQDxicj4rZW52ID0gcmVxdWly ZSgndGVzdF9ydW4nKTxicj4rdGVzdF9ydW4gPSBlbnYubmV3KCk8YnI+K2VuZ2luZSA9IHRlc3Rf cnVuOmdldF9jZmcoJ2VuZ2luZScpPGJyPis8YnI+K2RhdGUgPSByZXF1aXJlKCdkYXRldGltZScp PGJyPis8YnI+K18gPSBib3guc2NoZW1hLnNwYWNlLmNyZWF0ZSgnVCcsIHtlbmdpbmUgPSBlbmdp bmV9KTxicj4rXyA9IGJveC5zcGFjZS5UOmNyZWF0ZV9pbmRleCgncGsnLCB7cGFydHM9ezEsJ2Rh dGV0aW1lJ319KTxicj4rPGJyPitib3guc3BhY2UuVDppbnNlcnR7ZGF0ZSgnMTk3MC0wMS0wMScp fVw8YnI+K2JveC5zcGFjZS5UOmluc2VydHtkYXRlKCcxOTcwLTAxLTAyJyl9XDxicj4rYm94LnNw YWNlLlQ6aW5zZXJ0e2RhdGUoJzE5NzAtMDEtMDMnKX1cPGJyPitib3guc3BhY2UuVDppbnNlcnR7 ZGF0ZSgnMjAwMC0wMS0wMScpfTxicj4rPGJyPitvID0gYm94LnNwYWNlLlQ6c2VsZWN0e308YnI+ K2Fzc2VydCh0b3N0cmluZyhvWzFdWzFdKSA9PSAnMTk3MC0wMS0wMVQwMDowMFonKTxicj4rYXNz ZXJ0KHRvc3RyaW5nKG9bMl1bMV0pID09ICcxOTcwLTAxLTAyVDAwOjAwWicpPGJyPithc3NlcnQo dG9zdHJpbmcob1szXVsxXSkgPT0gJzE5NzAtMDEtMDNUMDA6MDBaJyk8YnI+K2Fzc2VydCh0b3N0 cmluZyhvWzRdWzFdKSA9PSAnMjAwMC0wMS0wMVQwMDowMFonKTxicj4rPGJyPitmb3IgaSA9IDEs MTYgZG9cPGJyPisgYm94LnNwYWNlLlQ6aW5zZXJ0e2RhdGUubm93KCl9XDxicj4rZW5kPGJyPis8 YnI+K2EgPSBib3guc3BhY2UuVDpzZWxlY3R7fTxicj4rZXJyID0ge308YnI+K2ZvciBpID0gMSwg I2EgLSAxIGRvXDxicj4rIGlmIGFbaV1bMV0gJmd0Oz0gYVtpKzFdWzFdIHRoZW5cPGJyPisgdGFi bGUuaW5zZXJ0KGVyciwge2FbaV1bMV0sIGFbaSsxXVsxXX0pXDxicj4rIGJyZWFrXDxicj4rIGVu ZFw8YnI+K2VuZDxicj4rPGJyPitlcnI8YnI+K2JveC5zcGFjZS5UOmRyb3AoKTxicj5kaWZmIC0t Z2l0IGEvdGVzdC91bml0L2RhdGV0aW1lLmMgYi90ZXN0L3VuaXQvZGF0ZXRpbWUuYzxicj5pbmRl eCBjNmJhNDQ0ZjUuLjYxZWJmZTc2YiAxMDA2NDQ8YnI+LS0tIGEvdGVzdC91bml0L2RhdGV0aW1l LmM8YnI+KysrIGIvdGVzdC91bml0L2RhdGV0aW1lLmM8YnI+QEAgLTI4MSw3ICsyODEsNyBAQCBt cF9kYXRldGltZV90ZXN0KCk8YnI+Jm5ic3A7IH07PGJyPiZuYnNwOyBzaXplX3QgaW5kZXg7PGJy PiZuYnNwOzxicj4tIHBsYW4oNjgpOzxicj4rIHBsYW4oODUpOzxicj4mbmJzcDsgZm9yIChpbmRl eCA9IDA7IGluZGV4ICZsdDsgbGVuZ3Rob2YodGVzdHMpOyBpbmRleCsrKSB7PGJyPiZuYnNwOyBz dHJ1Y3QgZGF0ZXRpbWUgZGF0ZSA9IHs8YnI+Jm5ic3A7IHRlc3RzW2luZGV4XS5zZWNzLDxicj5A QCAtMzAzLDYgKzMwMyw3IEBAIG1wX2RhdGV0aW1lX3Rlc3QoKTxicj4mbmJzcDsgc3RydWN0IGRh dGV0aW1lICpyYyA9IG1wX2RlY29kZV9kYXRldGltZSgmYW1wO2RhdGExLCAmYW1wO3JldCk7PGJy PiZuYnNwOyBpcyhyYywgJmFtcDtyZXQsICJtcF9kZWNvZGVfZGF0ZXRpbWUoKSByZXR1cm4gY29k ZSIpOzxicj4mbmJzcDsgaXMoZGF0YTEsIGVuZCwgIm1wX3NpemVvZl91dWlkKCkgPT0gZGVjb2Rl ZCBsZW5ndGgiKTs8YnI+KyBpcyhkYXRldGltZV9jb21wYXJlKCZhbXA7ZGF0ZSwgJmFtcDtyZXQp LCAwLCAiZGF0ZXRpbWVfY29tcGFyZSgmYW1wO2RhdGUsICZhbXA7cmV0KSIpOzxicj4mbmJzcDsg fTxicj4mbmJzcDsgY2hlY2tfcGxhbigpOzxicj4mbmJzcDt9PGJyPi0tPGJyPjIuMjkuMjwvZGl2 PjwvZGl2PjwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT4mbmJzcDs8ZGl2PiZuYnNwOzwvZGl2Pjxk aXYgZGF0YS1zaWduYXR1cmUtd2lkZ2V0PSJjb250YWluZXIiPjxkaXYgZGF0YS1zaWduYXR1cmUt d2lkZ2V0PSJjb250ZW50Ij48ZGl2Pi0tPGJyPkRtaXRyeSBFLiBPYm91a2hvdjwvZGl2PjwvZGl2 PjwvZGl2PjxkaXY+Jm5ic3A7PC9kaXY+PC9kaXY+PC9CT0RZPjwvSFRNTD4K ----ALT--e3EdEfDf75a698aA12F2F034fC24f8401629371897--