Message from discussion
"Validating against...." output in com/adobe/epubchcecker/ocf/OCF Checker.java
Received: by 10.42.120.196 with SMTP id g4mr1301378icr.13.1347008017161;
Fri, 07 Sep 2012 01:53:37 -0700 (PDT)
X-BeenThere: epubcheck@googlegroups.com
Received: by 10.231.3.207 with SMTP id 15ls590135ibo.2.gmail; Fri, 07 Sep 2012
01:53:36 -0700 (PDT)
Received: by 10.50.163.106 with SMTP id yh10mr2632724igb.0.1347008016623;
Fri, 07 Sep 2012 01:53:36 -0700 (PDT)
Received: by 10.50.163.106 with SMTP id yh10mr2632723igb.0.1347008016602;
Fri, 07 Sep 2012 01:53:36 -0700 (PDT)
Return-Path: <ali.asad.lo...@gmail.com>
Received: from mail-iy0-f180.google.com (mail-iy0-f180.google.com [209.85.210.180])
by gmr-mx.google.com with ESMTPS id mb9si1799250igc.1.2012.09.07.01.53.36
(version=TLSv1/SSLv3 cipher=OTHER);
Fri, 07 Sep 2012 01:53:36 -0700 (PDT)
Received-SPF: pass (google.com: domain of ali.asad.lo...@gmail.com designates 209.85.210.180 as permitted sender) client-ip=209.85.210.180;
Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of ali.asad.lo...@gmail.com designates 209.85.210.180 as permitted sender) smtp.mail=ali.asad.lo...@gmail.com; dkim=pass header...@gmail.com
Received: by iafj25 with SMTP id j25so2770986iaf.11
for <epubcheck@googlegroups.com>; Fri, 07 Sep 2012 01:53:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20120113;
h=mime-version:in-reply-to:references:date:message-id:subject:from:to
:content-type;
bh=XuyyDGNO5DlNanfHENNOp41mUDcwy8qz7tvRwFpcnFY=;
b=eDnh4R1YKFEoKvHWeadZI1UbGGu7BZNjs59d1Y6+PoPFmTGDmS4CUa4eO5LOivSPv3
+N3+6H2wMvXZn0yrqJW7tBThdFRJnZXk+NYDdJygisIK9tv8jAq5Tuj9NUocOCbdU2S5
dFcJvy9LiieypZAcyuC8y+fCh7nQVeBUa+Xlbr22IWOiwRbMv823BMyQtj4whyDVEmay
4Yqz7jJtoC5x5XI6pwINZ6cQczI9BxkhnW3YFbYCCrO5A4i6cDF8x1ZwAKdIvj3wejqw
JAaAohneoBfVeN9Zeh+MrSucdAECXFv+KBm0liutwY/zDCDjSHbfNq9wot0cMwgiuXKU
SL7Q==
MIME-Version: 1.0
Received: by 10.50.237.34 with SMTP id uz2mr7498841igc.5.1347008016195; Fri,
07 Sep 2012 01:53:36 -0700 (PDT)
Received: by 10.64.23.145 with HTTP; Fri, 7 Sep 2012 01:53:35 -0700 (PDT)
In-Reply-To: <962CD0D6-2752-4030-B768-C1A5BDB15...@gmail.com>
References: <CAGdiRnf-KoAn39Z=4UVnVCAcY5W-g_5B_V+mJRghBfw51Xx...@mail.gmail.com>
<1D031599-0451-4EB4-BD44-F26783F30...@gmail.com>
<3ccf1dab-8e30-4775-adbf-41243cdf214d@googlegroups.com>
<CAGdiRnfKfaHdw-BVsBocqFa0AHOZHtev7DMsyZ2Mv4Hw4=e...@mail.gmail.com>
<CAGdiRneqHCqvCEOGfzS35iudhPkSk+cTzx_zbUzD57OkDJU...@mail.gmail.com>
<962CD0D6-2752-4030-B768-C1A5BDB15...@gmail.com>
Date: Fri, 7 Sep 2012 09:53:35 +0100
Message-ID: <CAGdiRncb7-uq9qDfWdd+PxmUpP=KgT79=Pi4oD1x1XkbPyv...@mail.gmail.com>
Subject: Re: "Validating against...." output in com/adobe/epubchcecker/ocf/OCFChecker.java
From: Ali Asad Lotia <ali.asad.lo...@gmail.com>
To: epubcheck@googlegroups.com
Content-Type: multipart/mixed; boundary=f46d0447951150a0a104c918be8b
--f46d0447951150a0a104c918be8b
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable
Thanks for these. Worked and have tested to see that version output is
printed when running on the CLI. The attached patch should apply
cleanly if applied from the branches/epub3 directory.
Any estimates on how far away it is from being mavenised itself? I'm
aware that you are waiting to have your Jing patches accepted, any
progress on that front?
I have a project that uses epubcheck that uses maven and it would be
fantastic if I didn't have to install epubcheck and jing to my local
maven repo.
Best,
Ali Asad
On Thu, Sep 6, 2012 at 12:46 PM, Markus Gylling
<markus.gyll...@gmail.com> wrote:
> Hi Ali,
> thanks for your work and input!
>
> The compilation is still done using Ant. So invoke Ant on build.xml (for =
example in Eclipse, right click on build.xml, select "Run As=85")
>
> Hope this helps, and let me know if you run into problems.
>
> /markus
>
>
>
>
> On Sep 6, 2012, at 12:16 PM, Ali Asad Lotia wrote:
>
>> As a follow up, if folks could share build instructions, or add a
>> readme that would be great. At present the maven script is disabled,
>> so is there another way to compile a jar?
>> Thanks,
>> Ali
>>
>> On Thu, Sep 6, 2012 at 11:12 AM, Ali Asad Lotia
>> <ali.asad.lo...@gmail.com> wrote:
>>> Hi Folks,
>>> Please find attached a patch that is much less elegant than the one
>>> Thomas has attached with issue 207.
>>>
>>> I have added a couple of unit tests in an attempt to confirm that
>>> things are working as expected.
>>>
>>> I have to admit somewhat sheepishly that I'm not currently entirely
>>> sure how to compile a new jar so I can test the CLI util in a terminal
>>> to see if the output is as expected.
>>>
>>> Additionally, would there be any benefit to printing out the version
>>> of the checker that has been invoked with the report that goes to
>>> StdOut. Currently the CLI output shouldn't change, it's just that the
>>> printing to console is done in the checker class instead of within the
>>> OCFChecker. The motivation behind this change being that the library
>>> no longer causes a side effect, instead it sets a parameter that can
>>> be retrieved.
>>>
>>> I don't normally write a great deal of Java, so any and all criticism
>>> is most welcome.
>>>
>>> Best,
>>> Ali Asad
>>>
>>>
>>> On Wed, Sep 5, 2012 at 1:21 PM, Thomas <tledou...@gmail.com> wrote:
>>>> Hello,
>>>>
>>>> I just add a new issue 207 and a proposed patch in order to be able to
>>>> retrieve not only errors and warnings but also information out of the
>>>> parsing of an epub file.
>>>>
>>>> The patch proposed a XMLReportImpl to output all the information in a =
XML
>>>> structure format.
>>>>
>>>> Hope this helps
>>>> Thomas
>>>>
>>>>
>>>> On Tuesday, September 4, 2012 12:19:44 PM UTC+2, mgylling wrote:
>>>>>
>>>>> Hi Ali,
>>>>>
>>>>>> Before offering a patch, I wanted to float the idea with the communi=
ty
>>>>>> to see if it had any merit. Thoughts?
>>>>>
>>>>> This sounds like a very useful feature indeed. Patch warmly welcomed!
>>>>>
>>>>> /markus
>>>>>
>>>>> On Sep 3, 2012, at 7:33 PM, Ali Asad Lotia wrote:
>>>>>
>>>>>> Hello All,
>>>>>> Thanks for producing such a useful library. It's been a great tool f=
or
>>>>>> us at my current job.
>>>>>> I've checked out the epub3 branch of the SVN repo which is at r324 a=
t
>>>>>> the time I'm writing this post to the list.
>>>>>>
>>>>>> I was wondering if instead of printing the version the passed file
>>>>>> being evaluated against to stdout on line 118 of
>>>>>>
>>>>>> epubcheck/com.adobe.epubcheck/src/com/adobe/epubcheck/ocf/OCFChecker=
.java
>>>>>> (listing below)
>>>>>>
>>>>>> System.out.println("Validatin=
g
>>>>>> against EPUB version " +
>>>>>> opfHandler.getVersion());
>>>>>>
>>>>>> it could be set as an property which can then be retrieved by the
>>>>>> caller?
>>>>>>
>>>>>> When using it as a library, it would be very handy to know which
>>>>>> version of the epub spec a particular file is being checked against
>>>>>> which doesn't currently appear to be exposed in
>>>>>> epubcheck/com.adobe.epubcheck/src/com/adobe/epubcheck/api/EpubCheck.=
java
>>>>>>
>>>>>> Currently the verify method results in output to stdout which may no=
t
>>>>>> work when being used as a library.
>>>>>>
>>>>>> Before offering a patch, I wanted to float the idea with the communi=
ty
>>>>>> to see if it had any merit. Thoughts?
>>>>>>
>>>>>> Thanks,
>>>>>> Ali
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "epubcheck" group.
>>>>>> To post to this group, send email to epub...@googlegroups.com.
>>>>>> To unsubscribe from this group, send email to
>>>>>> epubcheck+...@googlegroups.com.
>>>>>> For more options, visit this group at
>>>>>> http://groups.google.com/group/epubcheck?hl=3Den.
>>>>>>
>>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google Gro=
ups
>>>> "epubcheck" group.
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msg/epubcheck/-/7dJOxRfw9TAJ.
>>>>
>>>> To post to this group, send email to epubcheck@googlegroups.com.
>>>> To unsubscribe from this group, send email to
>>>> epubcheck+unsubscribe@googlegroups.com.
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/epubcheck?hl=3Den.
>>
>> --
>> You received this message because you are subscribed to the Google Group=
s "epubcheck" group.
>> To post to this group, send email to epubcheck@googlegroups.com.
>> To unsubscribe from this group, send email to epubcheck+unsubscribe@goog=
legroups.com.
>> For more options, visit this group at http://groups.google.com/group/epu=
bcheck?hl=3Den.
>>
>
> --
> You received this message because you are subscribed to the Google Groups=
"epubcheck" group.
> To post to this group, send email to epubcheck@googlegroups.com.
> To unsubscribe from this group, send email to epubcheck+unsubscribe@googl=
egroups.com.
> For more options, visit this group at http://groups.google.com/group/epub=
check?hl=3Den.
>
--f46d0447951150a0a104c918be8b
Content-Type: application/octet-stream;
name="epubcheck3_branch_epub_version_is_returned.patch"
Content-Disposition: attachment;
filename="epubcheck3_branch_epub_version_is_returned.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h6t1s45o0
SW5kZXg6IGNvbS5hZG9iZS5lcHViY2hlY2svc3JjL2NvbS9hZG9iZS9lcHViY2hlY2svdXRpbC9N
ZXNzYWdlcy5qYXZhCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGNvbS5hZG9iZS5lcHViY2hlY2svc3JjL2NvbS9h
ZG9iZS9lcHViY2hlY2svdXRpbC9NZXNzYWdlcy5qYXZhCShyZXZpc2lvbiAzMjUpCisrKyBjb20u
YWRvYmUuZXB1YmNoZWNrL3NyYy9jb20vYWRvYmUvZXB1YmNoZWNrL3V0aWwvTWVzc2FnZXMuamF2
YQkod29ya2luZyBjb3B5KQpAQCAtMTAwLDQgKzEwMCw2IEBACiAJcHVibGljIHN0YXRpYyBTdHJp
bmcgRVhURVJOQUxfRU5USVRJRVNfTk9UX0FMTE9XRUQgPSAiRXh0ZXJuYWwgZW50aXRpZXMgYXJl
IG5vdCBhbGxvd2VkIGluIFhNTC4gRXh0ZXJuYWwgZW50aXR5IGRlY2xhcmF0aW9uIGZvdW5kOiAi
Ow0KIAkNCiAJcHVibGljIHN0YXRpYyBTdHJpbmcgQ1NTX1NUUklOR19QQVJTRV9FUlJPUiA9ICJB
biBlcnJvciBvY2N1cnJlZCB3aGlsZSBwYXJzaW5nIENTUyBmb3IgJTEkcy4iOw0KKwkNCisJcHVi
bGljIHN0YXRpYyBTdHJpbmcgVkFMSURBVElOR19WRVJTSU9OX01FU1NBR0UgPSAiVmFsaWRhdGlu
ZyBhZ2FpbnN0IEVQVUIgdmVyc2lvbiAlMSRzIjsNCiB9DQpJbmRleDogY29tLmFkb2JlLmVwdWJj
aGVjay9zcmMvY29tL2Fkb2JlL2VwdWJjaGVjay9hcGkvRXB1YkNoZWNrLmphdmEKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gY29tLmFkb2JlLmVwdWJjaGVjay9zcmMvY29tL2Fkb2JlL2VwdWJjaGVjay9hcGkvRXB1
YkNoZWNrLmphdmEJKHJldmlzaW9uIDMyNSkKKysrIGNvbS5hZG9iZS5lcHViY2hlY2svc3JjL2Nv
bS9hZG9iZS9lcHViY2hlY2svYXBpL0VwdWJDaGVjay5qYXZhCSh3b3JraW5nIGNvcHkpCkBAIC0z
Niw2ICszNiw3IEBACiBpbXBvcnQgY29tLmFkb2JlLmVwdWJjaGVjay5vcGYuRG9jdW1lbnRWYWxp
ZGF0b3I7DQogaW1wb3J0IGNvbS5hZG9iZS5lcHViY2hlY2sudXRpbC5DaGVja1V0aWw7DQogaW1w
b3J0IGNvbS5hZG9iZS5lcHViY2hlY2sudXRpbC5EZWZhdWx0UmVwb3J0SW1wbDsNCitpbXBvcnQg
Y29tLmFkb2JlLmVwdWJjaGVjay51dGlsLkVQVUJWZXJzaW9uOw0KIGltcG9ydCBjb20uYWRvYmUu
ZXB1YmNoZWNrLnV0aWwuTWVzc2FnZXM7DQogaW1wb3J0IGNvbS5hZG9iZS5lcHViY2hlY2sudXRp
bC5SZXNvdXJjZVV0aWw7DQogaW1wb3J0IGNvbS5hZG9iZS5lcHViY2hlY2sudXRpbC5Xcml0ZXJS
ZXBvcnRJbXBsOw0KQEAgLTU0LDYgKzU1LDggQEAKIAlGaWxlIGVwdWJGaWxlOw0KIA0KIAlSZXBv
cnQgcmVwb3J0Ow0KKwkNCisJcHVibGljIEVQVUJWZXJzaW9uIGVwdWJWZXJzaW9uOw0KIA0KIAkv
Kg0KIAkgKiBDcmVhdGUgYW4gZXB1YiB2YWxpZGF0b3IgdG8gdmFsaWRhdGUgdGhlIGdpdmVuIGZp
bGUuIElzc3VlcyB3aWxsIGJlDQpAQCAtMTc5LDYgKzE4Miw4IEBACiANCiAJCQljaGVja2VyLnJ1
bkNoZWNrcygpOw0KIAkJCQ0KKwkJCXRoaXMuZXB1YlZlcnNpb24gPSBjaGVja2VyLmdldEVwdWJW
ZXJzaW9uKCk7DQorCQkJDQogCQl9IGNhdGNoIChJT0V4Y2VwdGlvbiBlKSB7DQogCQkJcmVwb3J0
LmVycm9yKG51bGwsIDAsIDAsDQogCQkJCQlTdHJpbmcuZm9ybWF0KE1lc3NhZ2VzLklPX0VSUk9S
LCBlLmdldE1lc3NhZ2UoKSkpOw0KSW5kZXg6IGNvbS5hZG9iZS5lcHViY2hlY2svc3JjL2NvbS9h
ZG9iZS9lcHViY2hlY2svb2NmL09DRkNoZWNrZXIuamF2YQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBjb20uYWRv
YmUuZXB1YmNoZWNrL3NyYy9jb20vYWRvYmUvZXB1YmNoZWNrL29jZi9PQ0ZDaGVja2VyLmphdmEJ
KHJldmlzaW9uIDMyNSkKKysrIGNvbS5hZG9iZS5lcHViY2hlY2svc3JjL2NvbS9hZG9iZS9lcHVi
Y2hlY2svb2NmL09DRkNoZWNrZXIuamF2YQkod29ya2luZyBjb3B5KQpAQCAtNDYsNyArNDYsNyBA
QAogDQogCS8vIEhhc2h0YWJsZSBlbmNyeXB0ZWRJdGVtczsNCiANCi0JLy8gcHJpdmF0ZSBFUFVC
VmVyc2lvbiB2ZXJzaW9uID0gRVBVQlZlcnNpb24uVkVSU0lPTl8zOw0KKwlwcml2YXRlIEVQVUJW
ZXJzaW9uIGVwdWJWZXJzaW9uOw0KIA0KIAlzdGF0aWMgWE1MVmFsaWRhdG9yIGNvbnRhaW5lclZh
bGlkYXRvciA9IG5ldyBYTUxWYWxpZGF0b3IoDQogCQkJInNjaGVtYS8yMC9ybmcvY29udGFpbmVy
LnJuZyIpOw0KQEAgLTExNSw3ICsxMTUsNyBAQAogCQkJCQlPUEZEYXRhIG9wZkhhbmRsZXIgPSBv
Y2YuZ2V0T3BmRGF0YShjb250YWluZXJIYW5kbGVyLA0KIAkJCQkJCQlyZXBvcnQpOw0KIA0KLQkJ
CQkJU3lzdGVtLm91dC5wcmludGxuKCJWYWxpZGF0aW5nIGFnYWluc3QgRVBVQiB2ZXJzaW9uICIg
KyBvcGZIYW5kbGVyLmdldFZlcnNpb24oKSk7DQorCQkJCQl0aGlzLmVwdWJWZXJzaW9uID0gb3Bm
SGFuZGxlci5nZXRWZXJzaW9uKCk7DQogCQkJCQkNCiAJCQkJCS8vIGNoZWNraW5nIG1pbWVUeXBl
IGZpbGUgZm9yIHRyYWlsaW5nIHNwYWNlcw0KIAkJCQkJbWltZXR5cGUgPSBvY2YuZ2V0SW5wdXRT
dHJlYW0oIm1pbWV0eXBlIik7DQpAQCAtMjM2LDQgKzIzNiwyMSBAQAogCQl9DQogCX0NCiANCisJ
LyoqDQorCSAqIEByZXR1cm4gdGhlIGVwdWJWZXJzaW9uDQorCSAqLw0KKwlwdWJsaWMgRVBVQlZl
cnNpb24gZ2V0RXB1YlZlcnNpb24oKSB7DQorCQlyZXR1cm4gZXB1YlZlcnNpb247DQorCX0NCisN
CisJLyoqDQorCSAqIEByZXR1cm4gdGhlIGVwdWJWZXJzaW9uIGFzIGEgU3RyaW5nDQorCSAqLw0K
KwlwdWJsaWMgU3RyaW5nIGdldEVwdWJWZXJzaW9uQXNTdHJpbmcoKSB7DQorCQlpZiAoZXB1YlZl
cnNpb24gIT0gbnVsbCkgew0KKwkJCXJldHVybiBlcHViVmVyc2lvbi50b1N0cmluZygpOw0KKwkJ
fSBlbHNlIHsNCisJCQlyZXR1cm4gIiI7DQorCQl9DQorCX0NCiB9DQpJbmRleDogY29tLmFkb2Jl
LmVwdWJjaGVjay9zcmMvY29tL2Fkb2JlL2VwdWJjaGVjay90b29sL0NoZWNrZXIuamF2YQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBjb20uYWRvYmUuZXB1YmNoZWNrL3NyYy9jb20vYWRvYmUvZXB1YmNoZWNrL3Rv
b2wvQ2hlY2tlci5qYXZhCShyZXZpc2lvbiAzMjUpCisrKyBjb20uYWRvYmUuZXB1YmNoZWNrL3Ny
Yy9jb20vYWRvYmUvZXB1YmNoZWNrL3Rvb2wvQ2hlY2tlci5qYXZhCSh3b3JraW5nIGNvcHkpCkBA
IC0xMjEsMTEgKzEyMSwxMyBAQAogCQkJdGhyb3cgbmV3IFJ1bnRpbWVFeGNlcHRpb24oU3RyaW5n
LmZvcm1hdCgNCiAJCQkJCU1lc3NhZ2VzLk1PREVfVkVSU0lPTl9OT1RfU1VQUE9SVEVELCBtb2Rl
LCB2ZXJzaW9uKSk7DQogCQl9DQotDQorCQkNCisJCWRpc3BsYXlFcHViVmVyc2lvbih2ZXJzaW9u
KTsNCisJCQ0KIAkJRG9jdW1lbnRWYWxpZGF0b3IgY2hlY2sgPSBmYWN0b3J5Lm5ld0luc3RhbmNl
KHJlcG9ydCwgcGF0aCwNCiAJCQkJcmVzb3VyY2VQcm92aWRlciwgKFN0cmluZykgbW9kZU1pbWVU
eXBlTWFwLmdldChvcHNUeXBlKSwNCiAJCQkJdmVyc2lvbik7DQotDQorCQkNCiAJCWlmIChjaGVj
ay52YWxpZGF0ZSgpKSB7DQogCQkJU3lzdGVtLm91dC5wcmludGxuKE1lc3NhZ2VzLk5PX0VSUk9S
U19fT1JfV0FSTklOR1MpOw0KIAkJCXJldHVybiAwOw0KQEAgLTE2MCw2ICsxNjIsOCBAQAogCQkJ
CQlNZXNzYWdlcy5NT0RFX1ZFUlNJT05fTk9UX1NVUFBPUlRFRCwgbW9kZSwgdmVyc2lvbikpOw0K
IAkJfQ0KIA0KKwkJZGlzcGxheUVwdWJWZXJzaW9uKHZlcnNpb24pOw0KKwkJDQogCQlEb2N1bWVu
dFZhbGlkYXRvciBjaGVjayA9IGZhY3RvcnkubmV3SW5zdGFuY2UocmVwb3J0LCBwYXRoLA0KIAkJ
CQlyZXNvdXJjZVByb3ZpZGVyLCAoU3RyaW5nKSBtb2RlTWltZVR5cGVNYXAuZ2V0KG9wc1R5cGUp
LA0KIAkJCQl2ZXJzaW9uKTsNCkBAIC0zNDMsNCArMzQ3LDggQEAKIAlwdWJsaWMgc3RhdGljIHZv
aWQgZGlzcGxheVZlcnNpb24oKSB7DQogCQlTeXN0ZW0ub3V0LnByaW50bG4oIkVwdWJjaGVjayBW
ZXJzaW9uICIgKyBFcHViQ2hlY2suVkVSU0lPTiArICJcbiIpOw0KIAl9DQorCQ0KKwlwcml2YXRl
IHN0YXRpYyB2b2lkIGRpc3BsYXlFcHViVmVyc2lvbihFUFVCVmVyc2lvbiB2ZXJzaW9uKSB7DQor
CQlTeXN0ZW0ub3V0LnByaW50bG4oU3RyaW5nLmZvcm1hdChNZXNzYWdlcy5WQUxJREFUSU5HX1ZF
UlNJT05fTUVTU0FHRSwgdmVyc2lvbikpOw0KKwl9DQogfQ0KSW5kZXg6IGNvbS5hZG9iZS5lcHVi
Y2hlY2sudGVzdC9zcmMvY29tL2Fkb2JlL2VwdWJjaGVjay9vY2YvT0NGQ2hlY2tlclRlc3QuamF2
YQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBjb20uYWRvYmUuZXB1YmNoZWNrLnRlc3Qvc3JjL2NvbS9hZG9iZS9l
cHViY2hlY2svb2NmL09DRkNoZWNrZXJUZXN0LmphdmEJKHJldmlzaW9uIDMyNSkKKysrIGNvbS5h
ZG9iZS5lcHViY2hlY2sudGVzdC9zcmMvY29tL2Fkb2JlL2VwdWJjaGVjay9vY2YvT0NGQ2hlY2tl
clRlc3QuamF2YQkod29ya2luZyBjb3B5KQpAQCAtNDUsNiArNDUsNyBAQAogICAgICAgICBPQ0ZD
aGVja2VyIGNoZWNrZXIgPSBuZXcgT0NGQ2hlY2tlciggb2NmLCB0ZXN0UmVwb3J0ICk7DQogICAN
CiAgICAgICAgIGNoZWNrZXIucnVuQ2hlY2tzKCk7DQorICAgICAgICB0ZXN0UmVwb3J0LnNldEVw
dWJWZXJzaW9uKGNoZWNrZXIuZ2V0RXB1YlZlcnNpb24oKSk7DQogICAgICAgICANCiAgICAgICAg
IHJldHVybiB0ZXN0UmVwb3J0Ow0KICAgICB9DQpAQCAtMzU2LDUgKzM1NywyMiBAQAogICAgICAg
ICBhc3NlcnRFcXVhbHMoMCwgdGVzdFJlcG9ydC5nZXRXYXJuaW5nQ291bnQoKSk7DQogICAgICAg
ICBhc3NlcnRFcXVhbHMoMCwgdGVzdFJlcG9ydC5nZXRFeGNlcHRpb25Db3VudCgpKTsNCiAgICAg
fQ0KKyAgICANCisgICAgQFRlc3QNCisgICAgcHVibGljIHZvaWQgdGVzdEVwdWIzRGV0ZWN0ZWRW
ZXJzaW9uKCkNCisgICAgew0KKyAgICAJVmFsaWRhdGlvblJlcG9ydCB0ZXN0UmVwb3J0ID0gdGVz
dE9jZlBhY2thZ2UoICIvMzAvZXhwYW5kZWQvdmFsaWQvbG9yZW0tYmFzaWMiLA0KKyAgICAJCQkJ
CQkJCQkJRVBVQlZlcnNpb24uVkVSU0lPTl8zICk7DQorICAgIAlFUFVCVmVyc2lvbiB2ZXJzaW9u
ID0gdGVzdFJlcG9ydC5nZXRFcHViVmVyc2lvbigpOw0KKyAgICAJYXNzZXJ0RXF1YWxzKCIzLjAi
LCB2ZXJzaW9uLnRvU3RyaW5nKCkpOw0KKyAgICB9DQogDQorICAgIEBUZXN0DQorICAgIHB1Ymxp
YyB2b2lkIHRlc3RFcHViMkRldGVjdGVkVmVyc2lvbigpDQorICAgIHsNCisgICAgCVZhbGlkYXRp
b25SZXBvcnQgdGVzdFJlcG9ydCA9IHRlc3RPY2ZQYWNrYWdlICggIi8yMC9leHBhbmRlZC92YWxp
ZC9sb3JlbS9sb3JlbS1iYXNpYyIsIA0KKyAgICAJCQkJCQkJCQkJRVBVQlZlcnNpb24uVkVSU0lP
Tl8yKTsNCisgICAgCUVQVUJWZXJzaW9uIHZlcnNpb24gPSB0ZXN0UmVwb3J0LmdldEVwdWJWZXJz
aW9uKCk7DQorICAgIAlhc3NlcnRFcXVhbHMoIjIuMCIsIHZlcnNpb24udG9TdHJpbmcoKSk7DQor
ICAgIH0NCiB9DQpJbmRleDogY29tLmFkb2JlLmVwdWJjaGVjay50ZXN0L3NyYy9jb20vYWRvYmUv
ZXB1YmNoZWNrL3V0aWwvVmFsaWRhdGlvblJlcG9ydC5qYXZhCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGNvbS5h
ZG9iZS5lcHViY2hlY2sudGVzdC9zcmMvY29tL2Fkb2JlL2VwdWJjaGVjay91dGlsL1ZhbGlkYXRp
b25SZXBvcnQuamF2YQkocmV2aXNpb24gMzI1KQorKysgY29tLmFkb2JlLmVwdWJjaGVjay50ZXN0
L3NyYy9jb20vYWRvYmUvZXB1YmNoZWNrL3V0aWwvVmFsaWRhdGlvblJlcG9ydC5qYXZhCSh3b3Jr
aW5nIGNvcHkpCkBAIC00NCw2ICs0NCw4IEBACiAJfQ0KIA0KIAlwcml2YXRlIGludCBlcnJvckNv
dW50LCB3YXJuaW5nQ291bnQsIGV4Y2VwdGlvbkNvdW50Ow0KKwlwcml2YXRlIEVQVUJWZXJzaW9u
IGVwdWJWZXJzaW9uOw0KKwkNCiAJcHVibGljIEFycmF5TGlzdDxJdGVtUmVwb3J0PiBlcnJvckxp
c3QsIHdhcm5pbmdMaXN0LCBleGNlcHRpb25MaXN0Ow0KIAlwdWJsaWMgU3RyaW5nIGZpbGVOYW1l
Ow0KIAlTdHJpbmcgaW5mbyA9ICIiOw0KQEAgLTEzOSw0ICsxNDEsMTEgQEAKIAkJcmV0dXJuIGV4
Y2VwdGlvbkNvdW50Ow0KIAl9DQogDQorCXB1YmxpYyBFUFVCVmVyc2lvbiBnZXRFcHViVmVyc2lv
bigpIHsNCisJCXJldHVybiBlcHViVmVyc2lvbjsNCisJfQ0KKw0KKwlwdWJsaWMgdm9pZCBzZXRF
cHViVmVyc2lvbihFUFVCVmVyc2lvbiBlcHViVmVyc2lvbikgew0KKwkJdGhpcy5lcHViVmVyc2lv
biA9IGVwdWJWZXJzaW9uOw0KKwl9DQogfQ0K
--f46d0447951150a0a104c918be8b--