<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>105420</bug_id>
          
          <creation_ts>2012-12-19 05:23:21 -0800</creation_ts>
          <short_desc>[Qt] Move ImageDiff to the Tools directory root</short_desc>
          <delta_ts>2012-12-20 07:29:36 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>105303</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Thiago Marcos P. Santos">tmpsantos</reporter>
          <assigned_to name="Thiago Marcos P. Santos">tmpsantos</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>hausmann</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>ossy</cc>
    
    <cc>vestbo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>794559</commentid>
    <comment_count>0</comment_count>
    <who name="Thiago Marcos P. Santos">tmpsantos</who>
    <bug_when>2012-12-19 05:23:21 -0800</bug_when>
    <thetext>More details on the Meta bug blocked by this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>794626</commentid>
    <comment_count>1</comment_count>
      <attachid>180157</attachid>
    <who name="Thiago Marcos P. Santos">tmpsantos</who>
    <bug_when>2012-12-19 06:38:28 -0800</bug_when>
    <thetext>Created attachment 180157
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>794627</commentid>
    <comment_count>2</comment_count>
      <attachid>180158</attachid>
    <who name="Thiago Marcos P. Santos">tmpsantos</who>
    <bug_when>2012-12-19 06:39:10 -0800</bug_when>
    <thetext>Created attachment 180158
Patch

The original ImageDiff code was kept untouched for the sake of git being able to track renames. I&apos;m expecting it to fail on the style checker.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>794630</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-19 06:41:51 -0800</bug_when>
    <thetext>Attachment 180158 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Tools/ChangeLog&apos;, u&apos;Tools/DumpRenderTree/q...&quot; exit_code: 1
Tools/ImageDiff/qt/ImageDiff.cpp:21:  Alphabetical sorting problem.  [build/include_order] [4]
Tools/ImageDiff/qt/ImageDiff.cpp:57:  One line control clauses should not use braces.  [whitespace/braces] [4]
Tools/ImageDiff/qt/ImageDiff.cpp:123:  One line control clauses should not use braces.  [whitespace/braces] [4]
Tools/ImageDiff/qt/ImageDiff.cpp:140:  Missing space inside { }.  [whitespace/braces] [5]
Total errors found: 4 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>794638</commentid>
    <comment_count>4</comment_count>
      <attachid>180158</attachid>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2012-12-19 07:04:08 -0800</bug_when>
    <thetext>Comment on attachment 180158
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=180158&amp;action=review

&gt; Tools/ChangeLog:11
&gt; +        * ImageDiff/ImageDiff.pro: Renamed from Tools/DumpRenderTree/qt/ImageDiff.pro.

Perhaps we should move ImageDiff.pro under ImageDiff/qt/ as it was in the previous location under DumpRenderTree/.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>794690</commentid>
    <comment_count>5</comment_count>
      <attachid>180158</attachid>
    <who name="Thiago Marcos P. Santos">tmpsantos</who>
    <bug_when>2012-12-19 08:26:02 -0800</bug_when>
    <thetext>Comment on attachment 180158
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=180158&amp;action=review

&gt;&gt; Tools/ChangeLog:11
&gt;&gt; +        * ImageDiff/ImageDiff.pro: Renamed from Tools/DumpRenderTree/qt/ImageDiff.pro.
&gt; 
&gt; Perhaps we should move ImageDiff.pro under ImageDiff/qt/ as it was in the previous location under DumpRenderTree/.

I tried to make it consistent to WebKitTestRunner that has the .pro located at WebKitTestRunner/WebKitTestRunner.pro</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795410</commentid>
    <comment_count>6</comment_count>
      <attachid>180158</attachid>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2012-12-20 06:52:31 -0800</bug_when>
    <thetext>Comment on attachment 180158
Patch

lgtm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795427</commentid>
    <comment_count>7</comment_count>
      <attachid>180158</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-20 07:29:32 -0800</bug_when>
    <thetext>Comment on attachment 180158
Patch

Clearing flags on attachment: 180158

Committed r138253: &lt;http://trac.webkit.org/changeset/138253&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795428</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-20 07:29:36 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180157</attachid>
            <date>2012-12-19 06:38:28 -0800</date>
            <delta_ts>2012-12-19 06:39:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105420-20121219164019.patch</filename>
            <type>text/plain</type>
            <size>15991</size>
            <attacher name="Thiago Marcos P. Santos">tmpsantos</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4MTQyCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNTMwYTg4OGJmNTkwMDg5ODc2OGI2ZGViMGQxMTE4NjE4
MzM1ZTk3Ny4uNzRiZTAwNDgwMDRlNTg0ODAxYzk4NTA5M2Q3MWNhNjgxNzY2ZjJjYyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE5
IEBACiAyMDEyLTEyLTE5ICBUaGlhZ28gTWFyY29zIFAuIFNhbnRvcyAgPHRoaWFnby5zYW50b3NA
aW50ZWwuY29tPgogCisgICAgICAgIFtRdF0gTW92ZSBJbWFnZURpZmYgdG8gdGhlIFRvb2xzIGRp
cmVjdG9yeSByb290CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDU0MjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBNb3ZlZCBJbWFnZURpZmYgZnJvbSBvdXRzaWRlIER1bXBSZW5kZXJUcmVlIGJlY2F1c2Ug
aXQgaXMgYWxzbyBhCisgICAgICAgIGRlcGVuZGVuY3kgd2hlbiBydW5uaW5nIHBpeGVsIHRlc3Rz
IGZvciBXZWJLaXQyLgorCisgICAgICAgICogSW1hZ2VEaWZmL0ltYWdlRGlmZi5wcm86IFJlbmFt
ZWQgZnJvbSBUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9JbWFnZURpZmYucHJvLgorICAgICAgICAq
IEltYWdlRGlmZi9xdC9JbWFnZURpZmYuY3BwOiBSZW5hbWVkIGZyb20gVG9vbHMvRHVtcFJlbmRl
clRyZWUvcXQvSW1hZ2VEaWZmLmNwcC4KKyAgICAgICAgKiBUb29scy5wcm86CisKKzIwMTItMTIt
MTkgIFRoaWFnbyBNYXJjb3MgUC4gU2FudG9zICA8dGhpYWdvLnNhbnRvc0BpbnRlbC5jb20+CisK
ICAgICAgICAgW0VGTF0gTW92ZSBJbWFnZURpZmYgdG8gdGhlIFRvb2xzIGRpcmVjdG9yeSByb290
CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDUzMDUK
IApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvSW1hZ2VEaWZmLmNwcCBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL3F0L0ltYWdlRGlmZi5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDUzN2I2M2Q3MDE0YTU2MzA4Njc0YjY5MWY0MWIxM2ZiYmVmOTdhZjMuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvcXQvSW1hZ2VEaWZmLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDE1MyArMCwwIEBACi0v
KgotICAgIENvcHlyaWdodCAoQykgMjAwOSBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1
YnNpZGlhcnkoLWllcykKLQotICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICAgIExpY2Vuc2UgYXMgcHVibGlz
aGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICAgIHZlcnNpb24g
MiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K
LQotICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp
bGwgYmUgdXNlZnVsLAotICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu
IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAgICBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAgIFlvdSBzaG91bGQgaGF2
ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UKLSAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElC
LiAgSWYgbm90LCB3cml0ZSB0bwotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gICAgQm9zdG9uLCBNQSAwMjEx
MC0xMzAxLCBVU0EuCi0qLwotCi0jaW5jbHVkZSA8UXRDb3JlL3FtYXRoLmg+Ci0KLSNpbmNsdWRl
IDxRQXBwbGljYXRpb24+Ci0jaW5jbHVkZSA8UUJ1ZmZlcj4KLSNpbmNsdWRlIDxRQnl0ZUFycmF5
PgotI2luY2x1ZGUgPFFJbWFnZT4KLSNpbmNsdWRlIDxRU3RyaW5nTGlzdD4KLQotI2luY2x1ZGUg
PHN0ZGlvLmg+Ci0KLWludCBtYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pCi17Ci0gICAgUUNv
cmVBcHBsaWNhdGlvbiBhcHAoYXJnYywgYXJndik7Ci0KLSAgICBxcmVhbCB0b2xlcmFuY2UgPSAw
OwotCi0gICAgUVN0cmluZ0xpc3QgYXJncyA9IGFwcC5hcmd1bWVudHMoKTsKLSAgICBmb3IgKGlu
dCBpID0gMDsgaSA8IGFyZ2M7ICsraSkKLSAgICAgICAgaWYgKGFyZ3NbaV0gPT0gIi10IiB8fCBh
cmdzW2ldID09ICItLXRvbGVyYW5jZSIpCi0gICAgICAgICAgICB0b2xlcmFuY2UgPSBhcmdzW2kg
KyAxXS50b0RvdWJsZSgpOwotCi0gICAgY2hhciBidWZmZXJbMjA0OF07Ci0gICAgUUltYWdlIGFj
dHVhbEltYWdlOwotICAgIFFJbWFnZSBiYXNlbGluZUltYWdlOwotCi0gICAgd2hpbGUgKGZnZXRz
KGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlciksIHN0ZGluKSkgewotICAgICAgICAvLyByZW1vdmUgdGhl
IENSCi0gICAgICAgIGNoYXIqIG5ld0xpbmVDaGFyYWN0ZXIgPSBzdHJjaHIoYnVmZmVyLCAnXG4n
KTsKLSAgICAgICAgaWYgKG5ld0xpbmVDaGFyYWN0ZXIpCi0gICAgICAgICAgICAqbmV3TGluZUNo
YXJhY3RlciA9ICdcMCc7Ci0KLSAgICAgICAgaWYgKCFzdHJuY21wKCJDb250ZW50LUxlbmd0aDog
IiwgYnVmZmVyLCAxNikpIHsKLSAgICAgICAgICAgIHN0cnRvayhidWZmZXIsICIgIik7Ci0gICAg
ICAgICAgICBpbnQgaW1hZ2VTaXplID0gc3RydG9sKHN0cnRvaygwLCAiICIpLCAwLCAxMCk7Ci0K
LSAgICAgICAgICAgIGlmIChpbWFnZVNpemUgPD0gMCkgewotICAgICAgICAgICAgICAgIGZwdXRz
KCJlcnJvciwgaW1hZ2Ugc2l6ZSBtdXN0IGJlIHNwZWNpZmllZC5cbiIsIHN0ZG91dCk7Ci0gICAg
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgYnVmZmVyWzIw
NDhdOwotICAgICAgICAgICAgICAgIFFCdWZmZXIgZGF0YTsKLQotICAgICAgICAgICAgICAgIC8v
IFJlYWQgYWxsIHRoZSBpbmNvbWluZyBjaHVua3MKLSAgICAgICAgICAgICAgICBkYXRhLm9wZW4o
UUJ1ZmZlcjo6V3JpdGVPbmx5KTsKLSAgICAgICAgICAgICAgICB3aGlsZSAoaW1hZ2VTaXplID4g
MCkgewotICAgICAgICAgICAgICAgICAgICBzaXplX3QgYnl0ZXNUb1JlYWQgPSBxTWluKGltYWdl
U2l6ZSwgMjA0OCk7Ci0gICAgICAgICAgICAgICAgICAgIHNpemVfdCBieXRlc1JlYWQgPSBmcmVh
ZChidWZmZXIsIDEsIGJ5dGVzVG9SZWFkLCBzdGRpbik7Ci0gICAgICAgICAgICAgICAgICAgIGRh
dGEud3JpdGUocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oYnVmZmVyKSwgYnl0ZXNSZWFk
KTsKLSAgICAgICAgICAgICAgICAgICAgaW1hZ2VTaXplIC09IHN0YXRpY19jYXN0PGludD4oYnl0
ZXNSZWFkKTsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICAvLyBDb252ZXJ0
IGludG8gUUltYWdlCi0gICAgICAgICAgICAgICAgUUltYWdlIGRlY29kZWRJbWFnZTsKLSAgICAg
ICAgICAgICAgICBkZWNvZGVkSW1hZ2UubG9hZEZyb21EYXRhKGRhdGEuZGF0YSgpLCAiUE5HIik7
Ci0gICAgICAgICAgICAgICAgZGVjb2RlZEltYWdlLmNvbnZlcnRUb0Zvcm1hdChRSW1hZ2U6OkZv
cm1hdF9BUkdCMzIpOwotCi0gICAgICAgICAgICAgICAgLy8gUGxhY2UgaXQgaW4gdGhlIHJpZ2h0
IHBsYWNlCi0gICAgICAgICAgICAgICAgaWYgKGFjdHVhbEltYWdlLmlzTnVsbCgpKQotICAgICAg
ICAgICAgICAgICAgICBhY3R1YWxJbWFnZSA9IGRlY29kZWRJbWFnZTsKLSAgICAgICAgICAgICAg
ICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIGJhc2VsaW5lSW1hZ2UgPSBkZWNvZGVkSW1hZ2U7
Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAoIWFjdHVhbEltYWdlLmlz
TnVsbCgpICYmICFiYXNlbGluZUltYWdlLmlzTnVsbCgpKSB7Ci0KLSAgICAgICAgICAgIGlmIChh
Y3R1YWxJbWFnZS5zaXplKCkgIT0gYmFzZWxpbmVJbWFnZS5zaXplKCkpIHsKLSAgICAgICAgICAg
ICAgICBmcHJpbnRmKHN0ZG91dCwgImRpZmY6IDEwMCUlIGZhaWxlZFxuIik7Ci0gICAgICAgICAg
ICAgICAgZnByaW50ZihzdGRlcnIsICJlcnJvciwgdGVzdCBhbmQgcmVmZXJlbmNlIGltYWdlIGhh
dmUgZGlmZmVyZW50IHByb3BlcnRpZXMuXG4iKTsKLSAgICAgICAgICAgICAgICBmZmx1c2goc3Rk
ZXJyKTsKLSAgICAgICAgICAgICAgICBmZmx1c2goc3Rkb3V0KTsKLSAgICAgICAgICAgIH0gZWxz
ZSB7Ci0KLSAgICAgICAgICAgICAgICBpbnQgdyA9IGFjdHVhbEltYWdlLndpZHRoKCk7Ci0gICAg
ICAgICAgICAgICAgaW50IGggPSBhY3R1YWxJbWFnZS5oZWlnaHQoKTsKLSAgICAgICAgICAgICAg
ICBRSW1hZ2UgZGlmZkltYWdlKHcsIGgsIFFJbWFnZTo6Rm9ybWF0X0FSR0IzMik7Ci0KLSAgICAg
ICAgICAgICAgICBpbnQgY291bnQgPSAwOwotICAgICAgICAgICAgICAgIHFyZWFsIHN1bSA9IDA7
Ci0gICAgICAgICAgICAgICAgcXJlYWwgbWF4RGlzdGFuY2UgPSAwOwotCi0gICAgICAgICAgICAg
ICAgZm9yIChpbnQgeCA9IDA7IHggPCB3OyArK3gpCi0gICAgICAgICAgICAgICAgICAgIGZvciAo
aW50IHkgPSAwOyB5IDwgaDsgKyt5KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBRUmdiIHBp
eGVsID0gYWN0dWFsSW1hZ2UucGl4ZWwoeCwgeSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBR
UmdiIGJhc2VQaXhlbCA9IGJhc2VsaW5lSW1hZ2UucGl4ZWwoeCwgeSk7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBxcmVhbCByZWQgPSAocVJlZChwaXhlbCkgLSBxUmVkKGJhc2VQaXhlbCkpIC8g
c3RhdGljX2Nhc3Q8ZmxvYXQ+KHFNYXgoMjU1IC0gcVJlZChiYXNlUGl4ZWwpLCBxUmVkKGJhc2VQ
aXhlbCkpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHFyZWFsIGdyZWVuID0gKHFHcmVlbihw
aXhlbCkgLSBxR3JlZW4oYmFzZVBpeGVsKSkgLyBzdGF0aWNfY2FzdDxmbG9hdD4ocU1heCgyNTUg
LSBxR3JlZW4oYmFzZVBpeGVsKSwgcUdyZWVuKGJhc2VQaXhlbCkpKTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHFyZWFsIGJsdWUgPSAocUJsdWUocGl4ZWwpIC0gcUJsdWUoYmFzZVBpeGVsKSkg
LyBzdGF0aWNfY2FzdDxmbG9hdD4ocU1heCgyNTUgLSBxQmx1ZShiYXNlUGl4ZWwpLCBxQmx1ZShi
YXNlUGl4ZWwpKSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBxcmVhbCBhbHBoYSA9IChxQWxw
aGEocGl4ZWwpIC0gcUFscGhhKGJhc2VQaXhlbCkpIC8gc3RhdGljX2Nhc3Q8ZmxvYXQ+KHFNYXgo
MjU1IC0gcUFscGhhKGJhc2VQaXhlbCksIHFBbHBoYShiYXNlUGl4ZWwpKSk7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBxcmVhbCBkaXN0YW5jZSA9IHFTcXJ0KHJlZCAqIHJlZCArIGdyZWVuICog
Z3JlZW4gKyBibHVlICogYmx1ZSArIGFscGhhICogYWxwaGEpIC8gMi4wZjsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBncmF5ID0gZGlzdGFuY2UgKiBxcmVhbCgyNTUpOwotICAgICAgICAg
ICAgICAgICAgICAgICAgZGlmZkltYWdlLnNldFBpeGVsKHgsIHksIHFSZ2IoZ3JheSwgZ3JheSwg
Z3JheSkpOwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRpc3RhbmNlID49IDEgLyBxcmVh
bCgyNTUpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY291bnQrKzsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdW0gKz0gZGlzdGFuY2U7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbWF4RGlzdGFuY2UgPSBxTWF4KG1heERpc3RhbmNlLCBkaXN0YW5jZSk7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAg
ICAgcXJlYWwgZGlmZmVyZW5jZSA9IDA7Ci0gICAgICAgICAgICAgICAgaWYgKGNvdW50KQotICAg
ICAgICAgICAgICAgICAgICBkaWZmZXJlbmNlID0gMTAwICogc3VtIC8gc3RhdGljX2Nhc3Q8cXJl
YWw+KHcgKiBoKTsKLSAgICAgICAgICAgICAgICBpZiAoZGlmZmVyZW5jZSA8PSB0b2xlcmFuY2Up
IHsKLSAgICAgICAgICAgICAgICAgICAgZGlmZmVyZW5jZSA9IDA7Ci0gICAgICAgICAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgZGlmZmVyZW5jZSA9IHFSb3VuZChkaWZmZXJl
bmNlICogMTAwKSAvIDEwMC4wZjsKLSAgICAgICAgICAgICAgICAgICAgZGlmZmVyZW5jZSA9IHFN
YXgoZGlmZmVyZW5jZSwgcXJlYWwoMC4wMSkpOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAg
ICAgICAgICAgIGlmICghZGlmZmVyZW5jZSkKLSAgICAgICAgICAgICAgICAgICAgZnByaW50Zihz
dGRvdXQsICJkaWZmOiAlMDEuMmYlJSBwYXNzZWRcbiIsIGRpZmZlcmVuY2UpOwotICAgICAgICAg
ICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgICAgICBRQnVmZmVyIGJ1ZmZlcjsKLSAgICAg
ICAgICAgICAgICAgICAgYnVmZmVyLm9wZW4oUUJ1ZmZlcjo6V3JpdGVPbmx5KTsKLSAgICAgICAg
ICAgICAgICAgICAgZGlmZkltYWdlLnNhdmUoJmJ1ZmZlciwgIlBORyIpOwotICAgICAgICAgICAg
ICAgICAgICBidWZmZXIuY2xvc2UoKTsKLSAgICAgICAgICAgICAgICAgICAgY29uc3QgUUJ5dGVB
cnJheSAmZGF0YSA9IGJ1ZmZlci5kYXRhKCk7Ci0gICAgICAgICAgICAgICAgICAgIHByaW50Zigi
Q29udGVudC1MZW5ndGg6ICVsdVxuIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZz4oZGF0YS5s
ZW5ndGgoKSkpOwotCi0gICAgICAgICAgICAgICAgICAgIC8vIFdlIGhhdmUgdG8gdXNlIHRoZSBy
ZXR1cm4gdmFsdWUgb2YgZndyaXRlIHRvIGF2b2lkICJpZ25vcmluZyByZXR1cm4gdmFsdWUiIGdj
YyB3YXJuaW5nCi0gICAgICAgICAgICAgICAgICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUzODQgZm9yIGRldGFpbHMuCi0gICAgICAgICAgICAgICAg
ICAgIGlmIChmd3JpdGUoZGF0YS5jb25zdERhdGEoKSwgMSwgZGF0YS5sZW5ndGgoKSwgc3Rkb3V0
KSkge30KLQotICAgICAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZG91dCwgImRpZmY6ICUwMS4y
ZiUlIGZhaWxlZFxuIiwgZGlmZmVyZW5jZSk7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAg
ICAgICAgICAgZmZsdXNoKHN0ZG91dCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBhY3R1
YWxJbWFnZSA9IFFJbWFnZSgpOwotICAgICAgICAgICAgYmFzZWxpbmVJbWFnZSA9IFFJbWFnZSgp
OwotICAgICAgICB9Ci0gICAgfQotCi0gICAgcmV0dXJuIDA7Ci19CmRpZmYgLS1naXQgYS9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9xdC9JbWFnZURpZmYucHJvIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
cXQvSW1hZ2VEaWZmLnBybwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDBiY2RmYjNj
MWYxYTU2OTkxMDkzYTU3ODJiOTFmNDQ0NTEzYjVhNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9JbWFnZURpZmYu
cHJvCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotIyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIFByb2pl
Y3QgZmlsZSBmb3IgdGhlIEltYWdlRGlmZiBiaW5hcnkKLSMKLSMgU2VlICdUb29scy9xbWFrZS9S
RUFETUUnIGZvciBhbiBvdmVydmlldyBvZiB0aGUgYnVpbGQgc3lzdGVtCi0jIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
LQotVEVNUExBVEUgPSBhcHAKLQotVEFSR0VUID0gSW1hZ2VEaWZmCi1ERVNURElSID0gJCRST09U
X0JVSUxEX0RJUi9iaW4KLQotUVQgPSBjb3JlIGd1aSB3aWRnZXRzCi0KLVNPVVJDRVMgPSBJbWFn
ZURpZmYuY3BwCmRpZmYgLS1naXQgYS9Ub29scy9JbWFnZURpZmYvSW1hZ2VEaWZmLnBybyBiL1Rv
b2xzL0ltYWdlRGlmZi9JbWFnZURpZmYucHJvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzZThhNDkxMDIzNWVhYTdh
MTQ4MDEzMDA3ZDYxYmQ0ZDFkNjNhM2MKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9JbWFnZURp
ZmYvSW1hZ2VEaWZmLnBybwpAQCAtMCwwICsxLDE0IEBACisjIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUHJvamVj
dCBmaWxlIGZvciB0aGUgSW1hZ2VEaWZmIGJpbmFyeQorIworIyBTZWUgJ1Rvb2xzL3FtYWtlL1JF
QURNRScgZm9yIGFuIG92ZXJ2aWV3IG9mIHRoZSBidWlsZCBzeXN0ZW0KKyMgLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor
CitURU1QTEFURSA9IGFwcAorCitUQVJHRVQgPSBJbWFnZURpZmYKK0RFU1RESVIgPSAkJFJPT1Rf
QlVJTERfRElSL2JpbgorCitRVCA9IGNvcmUgZ3VpIHdpZGdldHMKKworU09VUkNFUyA9IHF0L0lt
YWdlRGlmZi5jcHAKZGlmZiAtLWdpdCBhL1Rvb2xzL0ltYWdlRGlmZi9xdC9JbWFnZURpZmYuY3Bw
IGIvVG9vbHMvSW1hZ2VEaWZmL3F0L0ltYWdlRGlmZi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTM3YjYzZDcw
MTRhNTYzMDg2NzRiNjkxZjQxYjEzZmJiZWY5N2FmMwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xz
L0ltYWdlRGlmZi9xdC9JbWFnZURpZmYuY3BwCkBAIC0wLDAgKzEsMTUzIEBACisvKgorICAgIENv
cHlyaWdodCAoQykgMjAwOSBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnko
LWllcykKKworICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKKyAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICAgIHZlcnNpb24gMiBvZiB0aGUg
TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgIFRo
aXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLAorICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs
aWVkIHdhcnJhbnR5IG9mCisgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl
ZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgICBh
bG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90
LCB3cml0ZSB0bworICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBV
U0EuCisqLworCisjaW5jbHVkZSA8UXRDb3JlL3FtYXRoLmg+CisKKyNpbmNsdWRlIDxRQXBwbGlj
YXRpb24+CisjaW5jbHVkZSA8UUJ1ZmZlcj4KKyNpbmNsdWRlIDxRQnl0ZUFycmF5PgorI2luY2x1
ZGUgPFFJbWFnZT4KKyNpbmNsdWRlIDxRU3RyaW5nTGlzdD4KKworI2luY2x1ZGUgPHN0ZGlvLmg+
CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pCit7CisgICAgUUNvcmVBcHBsaWNh
dGlvbiBhcHAoYXJnYywgYXJndik7CisKKyAgICBxcmVhbCB0b2xlcmFuY2UgPSAwOworCisgICAg
UVN0cmluZ0xpc3QgYXJncyA9IGFwcC5hcmd1bWVudHMoKTsKKyAgICBmb3IgKGludCBpID0gMDsg
aSA8IGFyZ2M7ICsraSkKKyAgICAgICAgaWYgKGFyZ3NbaV0gPT0gIi10IiB8fCBhcmdzW2ldID09
ICItLXRvbGVyYW5jZSIpCisgICAgICAgICAgICB0b2xlcmFuY2UgPSBhcmdzW2kgKyAxXS50b0Rv
dWJsZSgpOworCisgICAgY2hhciBidWZmZXJbMjA0OF07CisgICAgUUltYWdlIGFjdHVhbEltYWdl
OworICAgIFFJbWFnZSBiYXNlbGluZUltYWdlOworCisgICAgd2hpbGUgKGZnZXRzKGJ1ZmZlciwg
c2l6ZW9mKGJ1ZmZlciksIHN0ZGluKSkgeworICAgICAgICAvLyByZW1vdmUgdGhlIENSCisgICAg
ICAgIGNoYXIqIG5ld0xpbmVDaGFyYWN0ZXIgPSBzdHJjaHIoYnVmZmVyLCAnXG4nKTsKKyAgICAg
ICAgaWYgKG5ld0xpbmVDaGFyYWN0ZXIpCisgICAgICAgICAgICAqbmV3TGluZUNoYXJhY3RlciA9
ICdcMCc7CisKKyAgICAgICAgaWYgKCFzdHJuY21wKCJDb250ZW50LUxlbmd0aDogIiwgYnVmZmVy
LCAxNikpIHsKKyAgICAgICAgICAgIHN0cnRvayhidWZmZXIsICIgIik7CisgICAgICAgICAgICBp
bnQgaW1hZ2VTaXplID0gc3RydG9sKHN0cnRvaygwLCAiICIpLCAwLCAxMCk7CisKKyAgICAgICAg
ICAgIGlmIChpbWFnZVNpemUgPD0gMCkgeworICAgICAgICAgICAgICAgIGZwdXRzKCJlcnJvciwg
aW1hZ2Ugc2l6ZSBtdXN0IGJlIHNwZWNpZmllZC5cbiIsIHN0ZG91dCk7CisgICAgICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgYnVmZmVyWzIwNDhdOworICAg
ICAgICAgICAgICAgIFFCdWZmZXIgZGF0YTsKKworICAgICAgICAgICAgICAgIC8vIFJlYWQgYWxs
IHRoZSBpbmNvbWluZyBjaHVua3MKKyAgICAgICAgICAgICAgICBkYXRhLm9wZW4oUUJ1ZmZlcjo6
V3JpdGVPbmx5KTsKKyAgICAgICAgICAgICAgICB3aGlsZSAoaW1hZ2VTaXplID4gMCkgeworICAg
ICAgICAgICAgICAgICAgICBzaXplX3QgYnl0ZXNUb1JlYWQgPSBxTWluKGltYWdlU2l6ZSwgMjA0
OCk7CisgICAgICAgICAgICAgICAgICAgIHNpemVfdCBieXRlc1JlYWQgPSBmcmVhZChidWZmZXIs
IDEsIGJ5dGVzVG9SZWFkLCBzdGRpbik7CisgICAgICAgICAgICAgICAgICAgIGRhdGEud3JpdGUo
cmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oYnVmZmVyKSwgYnl0ZXNSZWFkKTsKKyAgICAg
ICAgICAgICAgICAgICAgaW1hZ2VTaXplIC09IHN0YXRpY19jYXN0PGludD4oYnl0ZXNSZWFkKTsK
KyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAvLyBDb252ZXJ0IGludG8gUUlt
YWdlCisgICAgICAgICAgICAgICAgUUltYWdlIGRlY29kZWRJbWFnZTsKKyAgICAgICAgICAgICAg
ICBkZWNvZGVkSW1hZ2UubG9hZEZyb21EYXRhKGRhdGEuZGF0YSgpLCAiUE5HIik7CisgICAgICAg
ICAgICAgICAgZGVjb2RlZEltYWdlLmNvbnZlcnRUb0Zvcm1hdChRSW1hZ2U6OkZvcm1hdF9BUkdC
MzIpOworCisgICAgICAgICAgICAgICAgLy8gUGxhY2UgaXQgaW4gdGhlIHJpZ2h0IHBsYWNlCisg
ICAgICAgICAgICAgICAgaWYgKGFjdHVhbEltYWdlLmlzTnVsbCgpKQorICAgICAgICAgICAgICAg
ICAgICBhY3R1YWxJbWFnZSA9IGRlY29kZWRJbWFnZTsKKyAgICAgICAgICAgICAgICBlbHNlCisg
ICAgICAgICAgICAgICAgICAgIGJhc2VsaW5lSW1hZ2UgPSBkZWNvZGVkSW1hZ2U7CisgICAgICAg
ICAgICB9CisgICAgICAgIH0KKworICAgICAgICBpZiAoIWFjdHVhbEltYWdlLmlzTnVsbCgpICYm
ICFiYXNlbGluZUltYWdlLmlzTnVsbCgpKSB7CisKKyAgICAgICAgICAgIGlmIChhY3R1YWxJbWFn
ZS5zaXplKCkgIT0gYmFzZWxpbmVJbWFnZS5zaXplKCkpIHsKKyAgICAgICAgICAgICAgICBmcHJp
bnRmKHN0ZG91dCwgImRpZmY6IDEwMCUlIGZhaWxlZFxuIik7CisgICAgICAgICAgICAgICAgZnBy
aW50ZihzdGRlcnIsICJlcnJvciwgdGVzdCBhbmQgcmVmZXJlbmNlIGltYWdlIGhhdmUgZGlmZmVy
ZW50IHByb3BlcnRpZXMuXG4iKTsKKyAgICAgICAgICAgICAgICBmZmx1c2goc3RkZXJyKTsKKyAg
ICAgICAgICAgICAgICBmZmx1c2goc3Rkb3V0KTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisKKyAg
ICAgICAgICAgICAgICBpbnQgdyA9IGFjdHVhbEltYWdlLndpZHRoKCk7CisgICAgICAgICAgICAg
ICAgaW50IGggPSBhY3R1YWxJbWFnZS5oZWlnaHQoKTsKKyAgICAgICAgICAgICAgICBRSW1hZ2Ug
ZGlmZkltYWdlKHcsIGgsIFFJbWFnZTo6Rm9ybWF0X0FSR0IzMik7CisKKyAgICAgICAgICAgICAg
ICBpbnQgY291bnQgPSAwOworICAgICAgICAgICAgICAgIHFyZWFsIHN1bSA9IDA7CisgICAgICAg
ICAgICAgICAgcXJlYWwgbWF4RGlzdGFuY2UgPSAwOworCisgICAgICAgICAgICAgICAgZm9yIChp
bnQgeCA9IDA7IHggPCB3OyArK3gpCisgICAgICAgICAgICAgICAgICAgIGZvciAoaW50IHkgPSAw
OyB5IDwgaDsgKyt5KSB7CisgICAgICAgICAgICAgICAgICAgICAgICBRUmdiIHBpeGVsID0gYWN0
dWFsSW1hZ2UucGl4ZWwoeCwgeSk7CisgICAgICAgICAgICAgICAgICAgICAgICBRUmdiIGJhc2VQ
aXhlbCA9IGJhc2VsaW5lSW1hZ2UucGl4ZWwoeCwgeSk7CisgICAgICAgICAgICAgICAgICAgICAg
ICBxcmVhbCByZWQgPSAocVJlZChwaXhlbCkgLSBxUmVkKGJhc2VQaXhlbCkpIC8gc3RhdGljX2Nh
c3Q8ZmxvYXQ+KHFNYXgoMjU1IC0gcVJlZChiYXNlUGl4ZWwpLCBxUmVkKGJhc2VQaXhlbCkpKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIHFyZWFsIGdyZWVuID0gKHFHcmVlbihwaXhlbCkgLSBx
R3JlZW4oYmFzZVBpeGVsKSkgLyBzdGF0aWNfY2FzdDxmbG9hdD4ocU1heCgyNTUgLSBxR3JlZW4o
YmFzZVBpeGVsKSwgcUdyZWVuKGJhc2VQaXhlbCkpKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IHFyZWFsIGJsdWUgPSAocUJsdWUocGl4ZWwpIC0gcUJsdWUoYmFzZVBpeGVsKSkgLyBzdGF0aWNf
Y2FzdDxmbG9hdD4ocU1heCgyNTUgLSBxQmx1ZShiYXNlUGl4ZWwpLCBxQmx1ZShiYXNlUGl4ZWwp
KSk7CisgICAgICAgICAgICAgICAgICAgICAgICBxcmVhbCBhbHBoYSA9IChxQWxwaGEocGl4ZWwp
IC0gcUFscGhhKGJhc2VQaXhlbCkpIC8gc3RhdGljX2Nhc3Q8ZmxvYXQ+KHFNYXgoMjU1IC0gcUFs
cGhhKGJhc2VQaXhlbCksIHFBbHBoYShiYXNlUGl4ZWwpKSk7CisgICAgICAgICAgICAgICAgICAg
ICAgICBxcmVhbCBkaXN0YW5jZSA9IHFTcXJ0KHJlZCAqIHJlZCArIGdyZWVuICogZ3JlZW4gKyBi
bHVlICogYmx1ZSArIGFscGhhICogYWxwaGEpIC8gMi4wZjsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBncmF5ID0gZGlzdGFuY2UgKiBxcmVhbCgyNTUpOworICAgICAgICAgICAgICAgICAg
ICAgICAgZGlmZkltYWdlLnNldFBpeGVsKHgsIHksIHFSZ2IoZ3JheSwgZ3JheSwgZ3JheSkpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRpc3RhbmNlID49IDEgLyBxcmVhbCgyNTUpKSB7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY291bnQrKzsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzdW0gKz0gZGlzdGFuY2U7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bWF4RGlzdGFuY2UgPSBxTWF4KG1heERpc3RhbmNlLCBkaXN0YW5jZSk7CisgICAgICAgICAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgcXJlYWwg
ZGlmZmVyZW5jZSA9IDA7CisgICAgICAgICAgICAgICAgaWYgKGNvdW50KQorICAgICAgICAgICAg
ICAgICAgICBkaWZmZXJlbmNlID0gMTAwICogc3VtIC8gc3RhdGljX2Nhc3Q8cXJlYWw+KHcgKiBo
KTsKKyAgICAgICAgICAgICAgICBpZiAoZGlmZmVyZW5jZSA8PSB0b2xlcmFuY2UpIHsKKyAgICAg
ICAgICAgICAgICAgICAgZGlmZmVyZW5jZSA9IDA7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgICAgICAgICAgZGlmZmVyZW5jZSA9IHFSb3VuZChkaWZmZXJlbmNlICogMTAw
KSAvIDEwMC4wZjsKKyAgICAgICAgICAgICAgICAgICAgZGlmZmVyZW5jZSA9IHFNYXgoZGlmZmVy
ZW5jZSwgcXJlYWwoMC4wMSkpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAg
IGlmICghZGlmZmVyZW5jZSkKKyAgICAgICAgICAgICAgICAgICAgZnByaW50ZihzdGRvdXQsICJk
aWZmOiAlMDEuMmYlJSBwYXNzZWRcbiIsIGRpZmZlcmVuY2UpOworICAgICAgICAgICAgICAgIGVs
c2UgeworICAgICAgICAgICAgICAgICAgICBRQnVmZmVyIGJ1ZmZlcjsKKyAgICAgICAgICAgICAg
ICAgICAgYnVmZmVyLm9wZW4oUUJ1ZmZlcjo6V3JpdGVPbmx5KTsKKyAgICAgICAgICAgICAgICAg
ICAgZGlmZkltYWdlLnNhdmUoJmJ1ZmZlciwgIlBORyIpOworICAgICAgICAgICAgICAgICAgICBi
dWZmZXIuY2xvc2UoKTsKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgUUJ5dGVBcnJheSAmZGF0
YSA9IGJ1ZmZlci5kYXRhKCk7CisgICAgICAgICAgICAgICAgICAgIHByaW50ZigiQ29udGVudC1M
ZW5ndGg6ICVsdVxuIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZz4oZGF0YS5sZW5ndGgoKSkp
OworCisgICAgICAgICAgICAgICAgICAgIC8vIFdlIGhhdmUgdG8gdXNlIHRoZSByZXR1cm4gdmFs
dWUgb2YgZndyaXRlIHRvIGF2b2lkICJpZ25vcmluZyByZXR1cm4gdmFsdWUiIGdjYyB3YXJuaW5n
CisgICAgICAgICAgICAgICAgICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDUzODQgZm9yIGRldGFpbHMuCisgICAgICAgICAgICAgICAgICAgIGlmIChm
d3JpdGUoZGF0YS5jb25zdERhdGEoKSwgMSwgZGF0YS5sZW5ndGgoKSwgc3Rkb3V0KSkge30KKwor
ICAgICAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZG91dCwgImRpZmY6ICUwMS4yZiUlIGZhaWxl
ZFxuIiwgZGlmZmVyZW5jZSk7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAg
ZmZsdXNoKHN0ZG91dCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBhY3R1YWxJbWFnZSA9
IFFJbWFnZSgpOworICAgICAgICAgICAgYmFzZWxpbmVJbWFnZSA9IFFJbWFnZSgpOworICAgICAg
ICB9CisgICAgfQorCisgICAgcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9Ub29scy9Ub29scy5w
cm8gYi9Ub29scy9Ub29scy5wcm8KaW5kZXggMjg2OGY4YzlkZDkyOGQ2YWIyMGE5ZWM3YWI5MTg2
OGYxMzM5NDRlYi4uM2FkOTMyZWQwYjczOWFkOGNkMjgzNTdjNGRmMWU2ZWVjNzRjZDJkZCAxMDA2
NDQKLS0tIGEvVG9vbHMvVG9vbHMucHJvCisrKyBiL1Rvb2xzL1Rvb2xzLnBybwpAQCAtMTAsNyAr
MTAsNiBAQCBDT05GSUcgKz0gb3JkZXJlZAogYnVpbGQ/KHdlYmtpdDEpIHsKICAgICBidWlsZD8o
dGVzdGJyb3dzZXIpOiBTVUJESVJTICs9IFF0VGVzdEJyb3dzZXIvUXRUZXN0QnJvd3Nlci5wcm8K
ICAgICBidWlsZD8oZHJ0KTogU1VCRElSUyArPSBEdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVy
VHJlZS5wcm8KLSAgICBidWlsZD8oaW1hZ2VkaWZmKTogU1VCRElSUyArPSBEdW1wUmVuZGVyVHJl
ZS9xdC9JbWFnZURpZmYucHJvCiB9CiAKIGJ1aWxkPyh3ZWJraXQyKSB7CkBAIC0yMyw2ICsyMiw4
IEBAIGJ1aWxkPyh3ZWJraXQyKSB7CiAgICAgfQogfQogCitidWlsZD8oaW1hZ2VkaWZmKTogU1VC
RElSUyArPSBJbWFnZURpZmYvSW1hZ2VEaWZmLnBybworCiBidWlsZD8odGVzdF9ucGFwaSk6IFNV
QkRJUlMgKz0gRHVtcFJlbmRlclRyZWUvcXQvVGVzdE5ldHNjYXBlUGx1Z2luL1Rlc3ROZXRzY2Fw
ZVBsdWdpbi5wcm8KIAogT1RIRVJfRklMRVMgPSBcCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180158</attachid>
            <date>2012-12-19 06:39:10 -0800</date>
            <delta_ts>2012-12-20 07:29:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105420-20121219164102.patch</filename>
            <type>text/plain</type>
            <size>15991</size>
            <attacher name="Thiago Marcos P. Santos">tmpsantos</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4MTQyCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNTMwYTg4OGJmNTkwMDg5ODc2OGI2ZGViMGQxMTE4NjE4
MzM1ZTk3Ny4uNzRiZTAwNDgwMDRlNTg0ODAxYzk4NTA5M2Q3MWNhNjgxNzY2ZjJjYyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE5
IEBACiAyMDEyLTEyLTE5ICBUaGlhZ28gTWFyY29zIFAuIFNhbnRvcyAgPHRoaWFnby5zYW50b3NA
aW50ZWwuY29tPgogCisgICAgICAgIFtRdF0gTW92ZSBJbWFnZURpZmYgdG8gdGhlIFRvb2xzIGRp
cmVjdG9yeSByb290CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDU0MjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBNb3ZlZCBJbWFnZURpZmYgZnJvbSBvdXRzaWRlIER1bXBSZW5kZXJUcmVlIGJlY2F1c2Ug
aXQgaXMgYWxzbyBhCisgICAgICAgIGRlcGVuZGVuY3kgd2hlbiBydW5uaW5nIHBpeGVsIHRlc3Rz
IGZvciBXZWJLaXQyLgorCisgICAgICAgICogSW1hZ2VEaWZmL0ltYWdlRGlmZi5wcm86IFJlbmFt
ZWQgZnJvbSBUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9JbWFnZURpZmYucHJvLgorICAgICAgICAq
IEltYWdlRGlmZi9xdC9JbWFnZURpZmYuY3BwOiBSZW5hbWVkIGZyb20gVG9vbHMvRHVtcFJlbmRl
clRyZWUvcXQvSW1hZ2VEaWZmLmNwcC4KKyAgICAgICAgKiBUb29scy5wcm86CisKKzIwMTItMTIt
MTkgIFRoaWFnbyBNYXJjb3MgUC4gU2FudG9zICA8dGhpYWdvLnNhbnRvc0BpbnRlbC5jb20+CisK
ICAgICAgICAgW0VGTF0gTW92ZSBJbWFnZURpZmYgdG8gdGhlIFRvb2xzIGRpcmVjdG9yeSByb290
CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDUzMDUK
IApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvSW1hZ2VEaWZmLmNwcCBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL3F0L0ltYWdlRGlmZi5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDUzN2I2M2Q3MDE0YTU2MzA4Njc0YjY5MWY0MWIxM2ZiYmVmOTdhZjMuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvcXQvSW1hZ2VEaWZmLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDE1MyArMCwwIEBACi0v
KgotICAgIENvcHlyaWdodCAoQykgMjAwOSBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1
YnNpZGlhcnkoLWllcykKLQotICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICAgIExpY2Vuc2UgYXMgcHVibGlz
aGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICAgIHZlcnNpb24g
MiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K
LQotICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp
bGwgYmUgdXNlZnVsLAotICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu
IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAgICBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAgIFlvdSBzaG91bGQgaGF2
ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UKLSAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElC
LiAgSWYgbm90LCB3cml0ZSB0bwotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gICAgQm9zdG9uLCBNQSAwMjEx
MC0xMzAxLCBVU0EuCi0qLwotCi0jaW5jbHVkZSA8UXRDb3JlL3FtYXRoLmg+Ci0KLSNpbmNsdWRl
IDxRQXBwbGljYXRpb24+Ci0jaW5jbHVkZSA8UUJ1ZmZlcj4KLSNpbmNsdWRlIDxRQnl0ZUFycmF5
PgotI2luY2x1ZGUgPFFJbWFnZT4KLSNpbmNsdWRlIDxRU3RyaW5nTGlzdD4KLQotI2luY2x1ZGUg
PHN0ZGlvLmg+Ci0KLWludCBtYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pCi17Ci0gICAgUUNv
cmVBcHBsaWNhdGlvbiBhcHAoYXJnYywgYXJndik7Ci0KLSAgICBxcmVhbCB0b2xlcmFuY2UgPSAw
OwotCi0gICAgUVN0cmluZ0xpc3QgYXJncyA9IGFwcC5hcmd1bWVudHMoKTsKLSAgICBmb3IgKGlu
dCBpID0gMDsgaSA8IGFyZ2M7ICsraSkKLSAgICAgICAgaWYgKGFyZ3NbaV0gPT0gIi10IiB8fCBh
cmdzW2ldID09ICItLXRvbGVyYW5jZSIpCi0gICAgICAgICAgICB0b2xlcmFuY2UgPSBhcmdzW2kg
KyAxXS50b0RvdWJsZSgpOwotCi0gICAgY2hhciBidWZmZXJbMjA0OF07Ci0gICAgUUltYWdlIGFj
dHVhbEltYWdlOwotICAgIFFJbWFnZSBiYXNlbGluZUltYWdlOwotCi0gICAgd2hpbGUgKGZnZXRz
KGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlciksIHN0ZGluKSkgewotICAgICAgICAvLyByZW1vdmUgdGhl
IENSCi0gICAgICAgIGNoYXIqIG5ld0xpbmVDaGFyYWN0ZXIgPSBzdHJjaHIoYnVmZmVyLCAnXG4n
KTsKLSAgICAgICAgaWYgKG5ld0xpbmVDaGFyYWN0ZXIpCi0gICAgICAgICAgICAqbmV3TGluZUNo
YXJhY3RlciA9ICdcMCc7Ci0KLSAgICAgICAgaWYgKCFzdHJuY21wKCJDb250ZW50LUxlbmd0aDog
IiwgYnVmZmVyLCAxNikpIHsKLSAgICAgICAgICAgIHN0cnRvayhidWZmZXIsICIgIik7Ci0gICAg
ICAgICAgICBpbnQgaW1hZ2VTaXplID0gc3RydG9sKHN0cnRvaygwLCAiICIpLCAwLCAxMCk7Ci0K
LSAgICAgICAgICAgIGlmIChpbWFnZVNpemUgPD0gMCkgewotICAgICAgICAgICAgICAgIGZwdXRz
KCJlcnJvciwgaW1hZ2Ugc2l6ZSBtdXN0IGJlIHNwZWNpZmllZC5cbiIsIHN0ZG91dCk7Ci0gICAg
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgYnVmZmVyWzIw
NDhdOwotICAgICAgICAgICAgICAgIFFCdWZmZXIgZGF0YTsKLQotICAgICAgICAgICAgICAgIC8v
IFJlYWQgYWxsIHRoZSBpbmNvbWluZyBjaHVua3MKLSAgICAgICAgICAgICAgICBkYXRhLm9wZW4o
UUJ1ZmZlcjo6V3JpdGVPbmx5KTsKLSAgICAgICAgICAgICAgICB3aGlsZSAoaW1hZ2VTaXplID4g
MCkgewotICAgICAgICAgICAgICAgICAgICBzaXplX3QgYnl0ZXNUb1JlYWQgPSBxTWluKGltYWdl
U2l6ZSwgMjA0OCk7Ci0gICAgICAgICAgICAgICAgICAgIHNpemVfdCBieXRlc1JlYWQgPSBmcmVh
ZChidWZmZXIsIDEsIGJ5dGVzVG9SZWFkLCBzdGRpbik7Ci0gICAgICAgICAgICAgICAgICAgIGRh
dGEud3JpdGUocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oYnVmZmVyKSwgYnl0ZXNSZWFk
KTsKLSAgICAgICAgICAgICAgICAgICAgaW1hZ2VTaXplIC09IHN0YXRpY19jYXN0PGludD4oYnl0
ZXNSZWFkKTsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICAvLyBDb252ZXJ0
IGludG8gUUltYWdlCi0gICAgICAgICAgICAgICAgUUltYWdlIGRlY29kZWRJbWFnZTsKLSAgICAg
ICAgICAgICAgICBkZWNvZGVkSW1hZ2UubG9hZEZyb21EYXRhKGRhdGEuZGF0YSgpLCAiUE5HIik7
Ci0gICAgICAgICAgICAgICAgZGVjb2RlZEltYWdlLmNvbnZlcnRUb0Zvcm1hdChRSW1hZ2U6OkZv
cm1hdF9BUkdCMzIpOwotCi0gICAgICAgICAgICAgICAgLy8gUGxhY2UgaXQgaW4gdGhlIHJpZ2h0
IHBsYWNlCi0gICAgICAgICAgICAgICAgaWYgKGFjdHVhbEltYWdlLmlzTnVsbCgpKQotICAgICAg
ICAgICAgICAgICAgICBhY3R1YWxJbWFnZSA9IGRlY29kZWRJbWFnZTsKLSAgICAgICAgICAgICAg
ICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIGJhc2VsaW5lSW1hZ2UgPSBkZWNvZGVkSW1hZ2U7
Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAoIWFjdHVhbEltYWdlLmlz
TnVsbCgpICYmICFiYXNlbGluZUltYWdlLmlzTnVsbCgpKSB7Ci0KLSAgICAgICAgICAgIGlmIChh
Y3R1YWxJbWFnZS5zaXplKCkgIT0gYmFzZWxpbmVJbWFnZS5zaXplKCkpIHsKLSAgICAgICAgICAg
ICAgICBmcHJpbnRmKHN0ZG91dCwgImRpZmY6IDEwMCUlIGZhaWxlZFxuIik7Ci0gICAgICAgICAg
ICAgICAgZnByaW50ZihzdGRlcnIsICJlcnJvciwgdGVzdCBhbmQgcmVmZXJlbmNlIGltYWdlIGhh
dmUgZGlmZmVyZW50IHByb3BlcnRpZXMuXG4iKTsKLSAgICAgICAgICAgICAgICBmZmx1c2goc3Rk
ZXJyKTsKLSAgICAgICAgICAgICAgICBmZmx1c2goc3Rkb3V0KTsKLSAgICAgICAgICAgIH0gZWxz
ZSB7Ci0KLSAgICAgICAgICAgICAgICBpbnQgdyA9IGFjdHVhbEltYWdlLndpZHRoKCk7Ci0gICAg
ICAgICAgICAgICAgaW50IGggPSBhY3R1YWxJbWFnZS5oZWlnaHQoKTsKLSAgICAgICAgICAgICAg
ICBRSW1hZ2UgZGlmZkltYWdlKHcsIGgsIFFJbWFnZTo6Rm9ybWF0X0FSR0IzMik7Ci0KLSAgICAg
ICAgICAgICAgICBpbnQgY291bnQgPSAwOwotICAgICAgICAgICAgICAgIHFyZWFsIHN1bSA9IDA7
Ci0gICAgICAgICAgICAgICAgcXJlYWwgbWF4RGlzdGFuY2UgPSAwOwotCi0gICAgICAgICAgICAg
ICAgZm9yIChpbnQgeCA9IDA7IHggPCB3OyArK3gpCi0gICAgICAgICAgICAgICAgICAgIGZvciAo
aW50IHkgPSAwOyB5IDwgaDsgKyt5KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBRUmdiIHBp
eGVsID0gYWN0dWFsSW1hZ2UucGl4ZWwoeCwgeSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBR
UmdiIGJhc2VQaXhlbCA9IGJhc2VsaW5lSW1hZ2UucGl4ZWwoeCwgeSk7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBxcmVhbCByZWQgPSAocVJlZChwaXhlbCkgLSBxUmVkKGJhc2VQaXhlbCkpIC8g
c3RhdGljX2Nhc3Q8ZmxvYXQ+KHFNYXgoMjU1IC0gcVJlZChiYXNlUGl4ZWwpLCBxUmVkKGJhc2VQ
aXhlbCkpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHFyZWFsIGdyZWVuID0gKHFHcmVlbihw
aXhlbCkgLSBxR3JlZW4oYmFzZVBpeGVsKSkgLyBzdGF0aWNfY2FzdDxmbG9hdD4ocU1heCgyNTUg
LSBxR3JlZW4oYmFzZVBpeGVsKSwgcUdyZWVuKGJhc2VQaXhlbCkpKTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHFyZWFsIGJsdWUgPSAocUJsdWUocGl4ZWwpIC0gcUJsdWUoYmFzZVBpeGVsKSkg
LyBzdGF0aWNfY2FzdDxmbG9hdD4ocU1heCgyNTUgLSBxQmx1ZShiYXNlUGl4ZWwpLCBxQmx1ZShi
YXNlUGl4ZWwpKSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBxcmVhbCBhbHBoYSA9IChxQWxw
aGEocGl4ZWwpIC0gcUFscGhhKGJhc2VQaXhlbCkpIC8gc3RhdGljX2Nhc3Q8ZmxvYXQ+KHFNYXgo
MjU1IC0gcUFscGhhKGJhc2VQaXhlbCksIHFBbHBoYShiYXNlUGl4ZWwpKSk7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBxcmVhbCBkaXN0YW5jZSA9IHFTcXJ0KHJlZCAqIHJlZCArIGdyZWVuICog
Z3JlZW4gKyBibHVlICogYmx1ZSArIGFscGhhICogYWxwaGEpIC8gMi4wZjsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBncmF5ID0gZGlzdGFuY2UgKiBxcmVhbCgyNTUpOwotICAgICAgICAg
ICAgICAgICAgICAgICAgZGlmZkltYWdlLnNldFBpeGVsKHgsIHksIHFSZ2IoZ3JheSwgZ3JheSwg
Z3JheSkpOwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRpc3RhbmNlID49IDEgLyBxcmVh
bCgyNTUpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY291bnQrKzsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdW0gKz0gZGlzdGFuY2U7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbWF4RGlzdGFuY2UgPSBxTWF4KG1heERpc3RhbmNlLCBkaXN0YW5jZSk7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAg
ICAgcXJlYWwgZGlmZmVyZW5jZSA9IDA7Ci0gICAgICAgICAgICAgICAgaWYgKGNvdW50KQotICAg
ICAgICAgICAgICAgICAgICBkaWZmZXJlbmNlID0gMTAwICogc3VtIC8gc3RhdGljX2Nhc3Q8cXJl
YWw+KHcgKiBoKTsKLSAgICAgICAgICAgICAgICBpZiAoZGlmZmVyZW5jZSA8PSB0b2xlcmFuY2Up
IHsKLSAgICAgICAgICAgICAgICAgICAgZGlmZmVyZW5jZSA9IDA7Ci0gICAgICAgICAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgZGlmZmVyZW5jZSA9IHFSb3VuZChkaWZmZXJl
bmNlICogMTAwKSAvIDEwMC4wZjsKLSAgICAgICAgICAgICAgICAgICAgZGlmZmVyZW5jZSA9IHFN
YXgoZGlmZmVyZW5jZSwgcXJlYWwoMC4wMSkpOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAg
ICAgICAgICAgIGlmICghZGlmZmVyZW5jZSkKLSAgICAgICAgICAgICAgICAgICAgZnByaW50Zihz
dGRvdXQsICJkaWZmOiAlMDEuMmYlJSBwYXNzZWRcbiIsIGRpZmZlcmVuY2UpOwotICAgICAgICAg
ICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgICAgICBRQnVmZmVyIGJ1ZmZlcjsKLSAgICAg
ICAgICAgICAgICAgICAgYnVmZmVyLm9wZW4oUUJ1ZmZlcjo6V3JpdGVPbmx5KTsKLSAgICAgICAg
ICAgICAgICAgICAgZGlmZkltYWdlLnNhdmUoJmJ1ZmZlciwgIlBORyIpOwotICAgICAgICAgICAg
ICAgICAgICBidWZmZXIuY2xvc2UoKTsKLSAgICAgICAgICAgICAgICAgICAgY29uc3QgUUJ5dGVB
cnJheSAmZGF0YSA9IGJ1ZmZlci5kYXRhKCk7Ci0gICAgICAgICAgICAgICAgICAgIHByaW50Zigi
Q29udGVudC1MZW5ndGg6ICVsdVxuIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZz4oZGF0YS5s
ZW5ndGgoKSkpOwotCi0gICAgICAgICAgICAgICAgICAgIC8vIFdlIGhhdmUgdG8gdXNlIHRoZSBy
ZXR1cm4gdmFsdWUgb2YgZndyaXRlIHRvIGF2b2lkICJpZ25vcmluZyByZXR1cm4gdmFsdWUiIGdj
YyB3YXJuaW5nCi0gICAgICAgICAgICAgICAgICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUzODQgZm9yIGRldGFpbHMuCi0gICAgICAgICAgICAgICAg
ICAgIGlmIChmd3JpdGUoZGF0YS5jb25zdERhdGEoKSwgMSwgZGF0YS5sZW5ndGgoKSwgc3Rkb3V0
KSkge30KLQotICAgICAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZG91dCwgImRpZmY6ICUwMS4y
ZiUlIGZhaWxlZFxuIiwgZGlmZmVyZW5jZSk7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAg
ICAgICAgICAgZmZsdXNoKHN0ZG91dCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBhY3R1
YWxJbWFnZSA9IFFJbWFnZSgpOwotICAgICAgICAgICAgYmFzZWxpbmVJbWFnZSA9IFFJbWFnZSgp
OwotICAgICAgICB9Ci0gICAgfQotCi0gICAgcmV0dXJuIDA7Ci19CmRpZmYgLS1naXQgYS9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9xdC9JbWFnZURpZmYucHJvIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
cXQvSW1hZ2VEaWZmLnBybwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDBiY2RmYjNj
MWYxYTU2OTkxMDkzYTU3ODJiOTFmNDQ0NTEzYjVhNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9JbWFnZURpZmYu
cHJvCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotIyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIFByb2pl
Y3QgZmlsZSBmb3IgdGhlIEltYWdlRGlmZiBiaW5hcnkKLSMKLSMgU2VlICdUb29scy9xbWFrZS9S
RUFETUUnIGZvciBhbiBvdmVydmlldyBvZiB0aGUgYnVpbGQgc3lzdGVtCi0jIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
LQotVEVNUExBVEUgPSBhcHAKLQotVEFSR0VUID0gSW1hZ2VEaWZmCi1ERVNURElSID0gJCRST09U
X0JVSUxEX0RJUi9iaW4KLQotUVQgPSBjb3JlIGd1aSB3aWRnZXRzCi0KLVNPVVJDRVMgPSBJbWFn
ZURpZmYuY3BwCmRpZmYgLS1naXQgYS9Ub29scy9JbWFnZURpZmYvSW1hZ2VEaWZmLnBybyBiL1Rv
b2xzL0ltYWdlRGlmZi9JbWFnZURpZmYucHJvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzZThhNDkxMDIzNWVhYTdh
MTQ4MDEzMDA3ZDYxYmQ0ZDFkNjNhM2MKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9JbWFnZURp
ZmYvSW1hZ2VEaWZmLnBybwpAQCAtMCwwICsxLDE0IEBACisjIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUHJvamVj
dCBmaWxlIGZvciB0aGUgSW1hZ2VEaWZmIGJpbmFyeQorIworIyBTZWUgJ1Rvb2xzL3FtYWtlL1JF
QURNRScgZm9yIGFuIG92ZXJ2aWV3IG9mIHRoZSBidWlsZCBzeXN0ZW0KKyMgLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor
CitURU1QTEFURSA9IGFwcAorCitUQVJHRVQgPSBJbWFnZURpZmYKK0RFU1RESVIgPSAkJFJPT1Rf
QlVJTERfRElSL2JpbgorCitRVCA9IGNvcmUgZ3VpIHdpZGdldHMKKworU09VUkNFUyA9IHF0L0lt
YWdlRGlmZi5jcHAKZGlmZiAtLWdpdCBhL1Rvb2xzL0ltYWdlRGlmZi9xdC9JbWFnZURpZmYuY3Bw
IGIvVG9vbHMvSW1hZ2VEaWZmL3F0L0ltYWdlRGlmZi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTM3YjYzZDcw
MTRhNTYzMDg2NzRiNjkxZjQxYjEzZmJiZWY5N2FmMwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xz
L0ltYWdlRGlmZi9xdC9JbWFnZURpZmYuY3BwCkBAIC0wLDAgKzEsMTUzIEBACisvKgorICAgIENv
cHlyaWdodCAoQykgMjAwOSBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnko
LWllcykKKworICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKKyAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICAgIHZlcnNpb24gMiBvZiB0aGUg
TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgIFRo
aXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLAorICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs
aWVkIHdhcnJhbnR5IG9mCisgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl
ZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgICBh
bG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90
LCB3cml0ZSB0bworICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBV
U0EuCisqLworCisjaW5jbHVkZSA8UXRDb3JlL3FtYXRoLmg+CisKKyNpbmNsdWRlIDxRQXBwbGlj
YXRpb24+CisjaW5jbHVkZSA8UUJ1ZmZlcj4KKyNpbmNsdWRlIDxRQnl0ZUFycmF5PgorI2luY2x1
ZGUgPFFJbWFnZT4KKyNpbmNsdWRlIDxRU3RyaW5nTGlzdD4KKworI2luY2x1ZGUgPHN0ZGlvLmg+
CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pCit7CisgICAgUUNvcmVBcHBsaWNh
dGlvbiBhcHAoYXJnYywgYXJndik7CisKKyAgICBxcmVhbCB0b2xlcmFuY2UgPSAwOworCisgICAg
UVN0cmluZ0xpc3QgYXJncyA9IGFwcC5hcmd1bWVudHMoKTsKKyAgICBmb3IgKGludCBpID0gMDsg
aSA8IGFyZ2M7ICsraSkKKyAgICAgICAgaWYgKGFyZ3NbaV0gPT0gIi10IiB8fCBhcmdzW2ldID09
ICItLXRvbGVyYW5jZSIpCisgICAgICAgICAgICB0b2xlcmFuY2UgPSBhcmdzW2kgKyAxXS50b0Rv
dWJsZSgpOworCisgICAgY2hhciBidWZmZXJbMjA0OF07CisgICAgUUltYWdlIGFjdHVhbEltYWdl
OworICAgIFFJbWFnZSBiYXNlbGluZUltYWdlOworCisgICAgd2hpbGUgKGZnZXRzKGJ1ZmZlciwg
c2l6ZW9mKGJ1ZmZlciksIHN0ZGluKSkgeworICAgICAgICAvLyByZW1vdmUgdGhlIENSCisgICAg
ICAgIGNoYXIqIG5ld0xpbmVDaGFyYWN0ZXIgPSBzdHJjaHIoYnVmZmVyLCAnXG4nKTsKKyAgICAg
ICAgaWYgKG5ld0xpbmVDaGFyYWN0ZXIpCisgICAgICAgICAgICAqbmV3TGluZUNoYXJhY3RlciA9
ICdcMCc7CisKKyAgICAgICAgaWYgKCFzdHJuY21wKCJDb250ZW50LUxlbmd0aDogIiwgYnVmZmVy
LCAxNikpIHsKKyAgICAgICAgICAgIHN0cnRvayhidWZmZXIsICIgIik7CisgICAgICAgICAgICBp
bnQgaW1hZ2VTaXplID0gc3RydG9sKHN0cnRvaygwLCAiICIpLCAwLCAxMCk7CisKKyAgICAgICAg
ICAgIGlmIChpbWFnZVNpemUgPD0gMCkgeworICAgICAgICAgICAgICAgIGZwdXRzKCJlcnJvciwg
aW1hZ2Ugc2l6ZSBtdXN0IGJlIHNwZWNpZmllZC5cbiIsIHN0ZG91dCk7CisgICAgICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgYnVmZmVyWzIwNDhdOworICAg
ICAgICAgICAgICAgIFFCdWZmZXIgZGF0YTsKKworICAgICAgICAgICAgICAgIC8vIFJlYWQgYWxs
IHRoZSBpbmNvbWluZyBjaHVua3MKKyAgICAgICAgICAgICAgICBkYXRhLm9wZW4oUUJ1ZmZlcjo6
V3JpdGVPbmx5KTsKKyAgICAgICAgICAgICAgICB3aGlsZSAoaW1hZ2VTaXplID4gMCkgeworICAg
ICAgICAgICAgICAgICAgICBzaXplX3QgYnl0ZXNUb1JlYWQgPSBxTWluKGltYWdlU2l6ZSwgMjA0
OCk7CisgICAgICAgICAgICAgICAgICAgIHNpemVfdCBieXRlc1JlYWQgPSBmcmVhZChidWZmZXIs
IDEsIGJ5dGVzVG9SZWFkLCBzdGRpbik7CisgICAgICAgICAgICAgICAgICAgIGRhdGEud3JpdGUo
cmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oYnVmZmVyKSwgYnl0ZXNSZWFkKTsKKyAgICAg
ICAgICAgICAgICAgICAgaW1hZ2VTaXplIC09IHN0YXRpY19jYXN0PGludD4oYnl0ZXNSZWFkKTsK
KyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAvLyBDb252ZXJ0IGludG8gUUlt
YWdlCisgICAgICAgICAgICAgICAgUUltYWdlIGRlY29kZWRJbWFnZTsKKyAgICAgICAgICAgICAg
ICBkZWNvZGVkSW1hZ2UubG9hZEZyb21EYXRhKGRhdGEuZGF0YSgpLCAiUE5HIik7CisgICAgICAg
ICAgICAgICAgZGVjb2RlZEltYWdlLmNvbnZlcnRUb0Zvcm1hdChRSW1hZ2U6OkZvcm1hdF9BUkdC
MzIpOworCisgICAgICAgICAgICAgICAgLy8gUGxhY2UgaXQgaW4gdGhlIHJpZ2h0IHBsYWNlCisg
ICAgICAgICAgICAgICAgaWYgKGFjdHVhbEltYWdlLmlzTnVsbCgpKQorICAgICAgICAgICAgICAg
ICAgICBhY3R1YWxJbWFnZSA9IGRlY29kZWRJbWFnZTsKKyAgICAgICAgICAgICAgICBlbHNlCisg
ICAgICAgICAgICAgICAgICAgIGJhc2VsaW5lSW1hZ2UgPSBkZWNvZGVkSW1hZ2U7CisgICAgICAg
ICAgICB9CisgICAgICAgIH0KKworICAgICAgICBpZiAoIWFjdHVhbEltYWdlLmlzTnVsbCgpICYm
ICFiYXNlbGluZUltYWdlLmlzTnVsbCgpKSB7CisKKyAgICAgICAgICAgIGlmIChhY3R1YWxJbWFn
ZS5zaXplKCkgIT0gYmFzZWxpbmVJbWFnZS5zaXplKCkpIHsKKyAgICAgICAgICAgICAgICBmcHJp
bnRmKHN0ZG91dCwgImRpZmY6IDEwMCUlIGZhaWxlZFxuIik7CisgICAgICAgICAgICAgICAgZnBy
aW50ZihzdGRlcnIsICJlcnJvciwgdGVzdCBhbmQgcmVmZXJlbmNlIGltYWdlIGhhdmUgZGlmZmVy
ZW50IHByb3BlcnRpZXMuXG4iKTsKKyAgICAgICAgICAgICAgICBmZmx1c2goc3RkZXJyKTsKKyAg
ICAgICAgICAgICAgICBmZmx1c2goc3Rkb3V0KTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisKKyAg
ICAgICAgICAgICAgICBpbnQgdyA9IGFjdHVhbEltYWdlLndpZHRoKCk7CisgICAgICAgICAgICAg
ICAgaW50IGggPSBhY3R1YWxJbWFnZS5oZWlnaHQoKTsKKyAgICAgICAgICAgICAgICBRSW1hZ2Ug
ZGlmZkltYWdlKHcsIGgsIFFJbWFnZTo6Rm9ybWF0X0FSR0IzMik7CisKKyAgICAgICAgICAgICAg
ICBpbnQgY291bnQgPSAwOworICAgICAgICAgICAgICAgIHFyZWFsIHN1bSA9IDA7CisgICAgICAg
ICAgICAgICAgcXJlYWwgbWF4RGlzdGFuY2UgPSAwOworCisgICAgICAgICAgICAgICAgZm9yIChp
bnQgeCA9IDA7IHggPCB3OyArK3gpCisgICAgICAgICAgICAgICAgICAgIGZvciAoaW50IHkgPSAw
OyB5IDwgaDsgKyt5KSB7CisgICAgICAgICAgICAgICAgICAgICAgICBRUmdiIHBpeGVsID0gYWN0
dWFsSW1hZ2UucGl4ZWwoeCwgeSk7CisgICAgICAgICAgICAgICAgICAgICAgICBRUmdiIGJhc2VQ
aXhlbCA9IGJhc2VsaW5lSW1hZ2UucGl4ZWwoeCwgeSk7CisgICAgICAgICAgICAgICAgICAgICAg
ICBxcmVhbCByZWQgPSAocVJlZChwaXhlbCkgLSBxUmVkKGJhc2VQaXhlbCkpIC8gc3RhdGljX2Nh
c3Q8ZmxvYXQ+KHFNYXgoMjU1IC0gcVJlZChiYXNlUGl4ZWwpLCBxUmVkKGJhc2VQaXhlbCkpKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIHFyZWFsIGdyZWVuID0gKHFHcmVlbihwaXhlbCkgLSBx
R3JlZW4oYmFzZVBpeGVsKSkgLyBzdGF0aWNfY2FzdDxmbG9hdD4ocU1heCgyNTUgLSBxR3JlZW4o
YmFzZVBpeGVsKSwgcUdyZWVuKGJhc2VQaXhlbCkpKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IHFyZWFsIGJsdWUgPSAocUJsdWUocGl4ZWwpIC0gcUJsdWUoYmFzZVBpeGVsKSkgLyBzdGF0aWNf
Y2FzdDxmbG9hdD4ocU1heCgyNTUgLSBxQmx1ZShiYXNlUGl4ZWwpLCBxQmx1ZShiYXNlUGl4ZWwp
KSk7CisgICAgICAgICAgICAgICAgICAgICAgICBxcmVhbCBhbHBoYSA9IChxQWxwaGEocGl4ZWwp
IC0gcUFscGhhKGJhc2VQaXhlbCkpIC8gc3RhdGljX2Nhc3Q8ZmxvYXQ+KHFNYXgoMjU1IC0gcUFs
cGhhKGJhc2VQaXhlbCksIHFBbHBoYShiYXNlUGl4ZWwpKSk7CisgICAgICAgICAgICAgICAgICAg
ICAgICBxcmVhbCBkaXN0YW5jZSA9IHFTcXJ0KHJlZCAqIHJlZCArIGdyZWVuICogZ3JlZW4gKyBi
bHVlICogYmx1ZSArIGFscGhhICogYWxwaGEpIC8gMi4wZjsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBncmF5ID0gZGlzdGFuY2UgKiBxcmVhbCgyNTUpOworICAgICAgICAgICAgICAgICAg
ICAgICAgZGlmZkltYWdlLnNldFBpeGVsKHgsIHksIHFSZ2IoZ3JheSwgZ3JheSwgZ3JheSkpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRpc3RhbmNlID49IDEgLyBxcmVhbCgyNTUpKSB7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY291bnQrKzsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzdW0gKz0gZGlzdGFuY2U7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bWF4RGlzdGFuY2UgPSBxTWF4KG1heERpc3RhbmNlLCBkaXN0YW5jZSk7CisgICAgICAgICAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgcXJlYWwg
ZGlmZmVyZW5jZSA9IDA7CisgICAgICAgICAgICAgICAgaWYgKGNvdW50KQorICAgICAgICAgICAg
ICAgICAgICBkaWZmZXJlbmNlID0gMTAwICogc3VtIC8gc3RhdGljX2Nhc3Q8cXJlYWw+KHcgKiBo
KTsKKyAgICAgICAgICAgICAgICBpZiAoZGlmZmVyZW5jZSA8PSB0b2xlcmFuY2UpIHsKKyAgICAg
ICAgICAgICAgICAgICAgZGlmZmVyZW5jZSA9IDA7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgICAgICAgICAgZGlmZmVyZW5jZSA9IHFSb3VuZChkaWZmZXJlbmNlICogMTAw
KSAvIDEwMC4wZjsKKyAgICAgICAgICAgICAgICAgICAgZGlmZmVyZW5jZSA9IHFNYXgoZGlmZmVy
ZW5jZSwgcXJlYWwoMC4wMSkpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAg
IGlmICghZGlmZmVyZW5jZSkKKyAgICAgICAgICAgICAgICAgICAgZnByaW50ZihzdGRvdXQsICJk
aWZmOiAlMDEuMmYlJSBwYXNzZWRcbiIsIGRpZmZlcmVuY2UpOworICAgICAgICAgICAgICAgIGVs
c2UgeworICAgICAgICAgICAgICAgICAgICBRQnVmZmVyIGJ1ZmZlcjsKKyAgICAgICAgICAgICAg
ICAgICAgYnVmZmVyLm9wZW4oUUJ1ZmZlcjo6V3JpdGVPbmx5KTsKKyAgICAgICAgICAgICAgICAg
ICAgZGlmZkltYWdlLnNhdmUoJmJ1ZmZlciwgIlBORyIpOworICAgICAgICAgICAgICAgICAgICBi
dWZmZXIuY2xvc2UoKTsKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgUUJ5dGVBcnJheSAmZGF0
YSA9IGJ1ZmZlci5kYXRhKCk7CisgICAgICAgICAgICAgICAgICAgIHByaW50ZigiQ29udGVudC1M
ZW5ndGg6ICVsdVxuIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZz4oZGF0YS5sZW5ndGgoKSkp
OworCisgICAgICAgICAgICAgICAgICAgIC8vIFdlIGhhdmUgdG8gdXNlIHRoZSByZXR1cm4gdmFs
dWUgb2YgZndyaXRlIHRvIGF2b2lkICJpZ25vcmluZyByZXR1cm4gdmFsdWUiIGdjYyB3YXJuaW5n
CisgICAgICAgICAgICAgICAgICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDUzODQgZm9yIGRldGFpbHMuCisgICAgICAgICAgICAgICAgICAgIGlmIChm
d3JpdGUoZGF0YS5jb25zdERhdGEoKSwgMSwgZGF0YS5sZW5ndGgoKSwgc3Rkb3V0KSkge30KKwor
ICAgICAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZG91dCwgImRpZmY6ICUwMS4yZiUlIGZhaWxl
ZFxuIiwgZGlmZmVyZW5jZSk7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAg
ZmZsdXNoKHN0ZG91dCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBhY3R1YWxJbWFnZSA9
IFFJbWFnZSgpOworICAgICAgICAgICAgYmFzZWxpbmVJbWFnZSA9IFFJbWFnZSgpOworICAgICAg
ICB9CisgICAgfQorCisgICAgcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9Ub29scy9Ub29scy5w
cm8gYi9Ub29scy9Ub29scy5wcm8KaW5kZXggMjg2OGY4YzlkZDkyOGQ2YWIyMGE5ZWM3YWI5MTg2
OGYxMzM5NDRlYi4uM2FkOTMyZWQwYjczOWFkOGNkMjgzNTdjNGRmMWU2ZWVjNzRjZDJkZCAxMDA2
NDQKLS0tIGEvVG9vbHMvVG9vbHMucHJvCisrKyBiL1Rvb2xzL1Rvb2xzLnBybwpAQCAtMTAsNyAr
MTAsNiBAQCBDT05GSUcgKz0gb3JkZXJlZAogYnVpbGQ/KHdlYmtpdDEpIHsKICAgICBidWlsZD8o
dGVzdGJyb3dzZXIpOiBTVUJESVJTICs9IFF0VGVzdEJyb3dzZXIvUXRUZXN0QnJvd3Nlci5wcm8K
ICAgICBidWlsZD8oZHJ0KTogU1VCRElSUyArPSBEdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVy
VHJlZS5wcm8KLSAgICBidWlsZD8oaW1hZ2VkaWZmKTogU1VCRElSUyArPSBEdW1wUmVuZGVyVHJl
ZS9xdC9JbWFnZURpZmYucHJvCiB9CiAKIGJ1aWxkPyh3ZWJraXQyKSB7CkBAIC0yMyw2ICsyMiw4
IEBAIGJ1aWxkPyh3ZWJraXQyKSB7CiAgICAgfQogfQogCitidWlsZD8oaW1hZ2VkaWZmKTogU1VC
RElSUyArPSBJbWFnZURpZmYvSW1hZ2VEaWZmLnBybworCiBidWlsZD8odGVzdF9ucGFwaSk6IFNV
QkRJUlMgKz0gRHVtcFJlbmRlclRyZWUvcXQvVGVzdE5ldHNjYXBlUGx1Z2luL1Rlc3ROZXRzY2Fw
ZVBsdWdpbi5wcm8KIAogT1RIRVJfRklMRVMgPSBcCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>