<?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>55032</bug_id>
          
          <creation_ts>2011-02-23 03:49:19 -0800</creation_ts>
          <short_desc>Deque&lt;T&gt; should support inline capacity</short_desc>
          <delta_ts>2011-02-24 03:25:47 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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>55005</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mjs</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>355999</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-02-23 03:49:19 -0800</bug_when>
    <thetext>Deque&lt;T&gt; should support inline capacity

This is a step towards solving bug 55005.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356001</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-02-23 03:51:32 -0800</bug_when>
    <thetext>This should be a very easy to review, non-controversial change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356002</commentid>
    <comment_count>2</comment_count>
      <attachid>83467</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-02-23 03:51:36 -0800</bug_when>
    <thetext>Created attachment 83467
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356004</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-23 03:53:47 -0800</bug_when>
    <thetext>Attachment 83467 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source...&quot; exit_code: 1

Source/JavaScriptCore/wtf/Deque.h:40:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 1 in 3 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>356847</commentid>
    <comment_count>4</comment_count>
      <attachid>83467</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-24 03:25:42 -0800</bug_when>
    <thetext>Comment on attachment 83467
Patch

Clearing flags on attachment: 83467

Committed r79538: &lt;http://trac.webkit.org/changeset/79538&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356848</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-24 03:25:47 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83467</attachid>
            <date>2011-02-23 03:51:36 -0800</date>
            <delta_ts>2011-02-24 03:25:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-55032-20110223035135.patch</filename>
            <type>text/plain</type>
            <size>24093</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogNzk0MzQKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGJl
MTAzMTRiMzRkNjdkZmQ5NTdlYmJlMDIzYjRjNTY2NDJjMjcxZTAuLmZhZjA1OTc1MGRiY2Q1MjQy
NDU4NTBjNDliZmRlOWI0ZTYxMDI4YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDUyIEBACisyMDExLTAyLTIyICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEZXF1ZTxUPiBz
aG91bGQgc3VwcG9ydCBpbmxpbmUgY2FwYWNpdHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTU1MDMyCisKKyAgICAgICAgVGhlIHRpdGxlIHNheXMgaXQg
YWxsLiAgVGhlcmUgYXJlIGN1cnJlbnRseSBubyBwbGFjZXMKKyAgICAgICAgd2hpY2ggdXNlIHRo
aXMgY29kZSB5ZXQsIGhvd2V2ZXIgaXQncyBiZWVuIHRlc3RlZCBpbiBjb25qdW5jdGlvbgorICAg
ICAgICB3aXRoIGNvZGUgZm9yIGJ1ZyA1NTAwNS4KKworICAgICAgICBUaGlzIGFsc28gYWRkcyBh
biBBU1NFUlQgdGhhdCBjYXBhY2l0eSBpcyBuZXZlciAxLiAgSWYgeW91IHdlcmUgYWJsZQorICAg
ICAgICB0byBzZXQgdGhlIGNhcGFjaXR5IGVxdWFsIHRvIDEsIHRoZSBEZXF1ZSB3b3VsZCBqdXN0
IGdldCBjb25mdXNlZAorICAgICAgICBhbmQgaGFwcGlseSBhcHBlbmQgeW91ciBpdGVtIGJ1dCBz
dGlsbCB0aGluayBpdCBoYWQgc2l6ZSAwLgorCisgICAgICAgICogd3RmL0RlcXVlLmg6CisgICAg
ICAgIChXVEY6OkRlcXVlSXRlcmF0b3I6OkRlcXVlSXRlcmF0b3IpOgorICAgICAgICAoV1RGOjpE
ZXF1ZUNvbnN0SXRlcmF0b3I6OkRlcXVlQ29uc3RJdGVyYXRvcik6CisgICAgICAgIChXVEY6OkRl
cXVlUmV2ZXJzZUl0ZXJhdG9yOjpEZXF1ZVJldmVyc2VJdGVyYXRvcik6CisgICAgICAgIChXVEY6
OkRlcXVlQ29uc3RSZXZlcnNlSXRlcmF0b3I6OkRlcXVlQ29uc3RSZXZlcnNlSXRlcmF0b3IpOgor
ICAgICAgICAoV1RGOjo6OmNoZWNrVmFsaWRpdHkpOgorICAgICAgICAoV1RGOjo6OmNoZWNrSW5k
ZXhWYWxpZGl0eSk6CisgICAgICAgIChXVEY6Ojo6aW52YWxpZGF0ZUl0ZXJhdG9ycyk6CisgICAg
ICAgIChXVEY6Ojo6RGVxdWUpOgorICAgICAgICAoV1RGOjpkZWxldGVBbGxWYWx1ZXMpOgorICAg
ICAgICAoV1RGOjo6Om9wZXJhdG9yKToKKyAgICAgICAgKFdURjo6OjpkZXN0cm95QWxsKToKKyAg
ICAgICAgKFdURjo6Ojp+RGVxdWUpOgorICAgICAgICAoV1RGOjo6OnN3YXApOgorICAgICAgICAo
V1RGOjo6OmNsZWFyKToKKyAgICAgICAgKFdURjo6OjpmaW5kSWYpOgorICAgICAgICAoV1RGOjo6
OmV4cGFuZENhcGFjaXR5SWZOZWVkZWQpOgorICAgICAgICAoV1RGOjo6OmV4cGFuZENhcGFjaXR5
KToKKyAgICAgICAgKFdURjo6Ojp0YWtlRmlyc3QpOgorICAgICAgICAoV1RGOjo6OmFwcGVuZCk6
CisgICAgICAgIChXVEY6Ojo6cHJlcGVuZCk6CisgICAgICAgIChXVEY6Ojo6cmVtb3ZlRmlyc3Qp
OgorICAgICAgICAoV1RGOjo6OnJlbW92ZSk6CisgICAgICAgIChXVEY6Ojo6YWRkVG9JdGVyYXRv
cnNMaXN0KToKKyAgICAgICAgKFdURjo6OjpyZW1vdmVGcm9tSXRlcmF0b3JzTGlzdCk6CisgICAg
ICAgIChXVEY6Ojo6RGVxdWVJdGVyYXRvckJhc2UpOgorICAgICAgICAoV1RGOjo6On5EZXF1ZUl0
ZXJhdG9yQmFzZSk6CisgICAgICAgIChXVEY6Ojo6aXNFcXVhbCk6CisgICAgICAgIChXVEY6Ojo6
aW5jcmVtZW50KToKKyAgICAgICAgKFdURjo6OjpkZWNyZW1lbnQpOgorICAgICAgICAoV1RGOjo6
OmFmdGVyKToKKyAgICAgICAgKFdURjo6OjpiZWZvcmUpOgorICAgICAgICAqIHd0Zi9WZWN0b3Iu
aDoKKwogMjAxMS0wMi0yMyAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93dGYvRGVxdWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRGVx
dWUuaAppbmRleCAxYjE2YWZjZTk3YmY5MGIwYmMzMWE4NGQ0ZmU5MjcyMjQzZWMxYzVhLi44YWU0
NmU5MGY5MWM2MTI4MzFjMjFlZmU3ODg0NTA3YzFkYjNlMjMwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmL0RlcXVlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9EZXF1ZS5oCkBAIC0zNywyNyArMzcsMjcgQEAKIAogbmFtZXNwYWNlIFdURiB7CiAKLSAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBEZXF1ZUl0ZXJhdG9yQmFzZTsKLSAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBUPiBjbGFzcyBEZXF1ZUl0ZXJhdG9yOwotICAgIHRlbXBsYXRlPHR5cGVuYW1l
IFQ+IGNsYXNzIERlcXVlQ29uc3RJdGVyYXRvcjsKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBj
bGFzcyBEZXF1ZVJldmVyc2VJdGVyYXRvcjsKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFz
cyBEZXF1ZUNvbnN0UmV2ZXJzZUl0ZXJhdG9yOworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHNp
emVfdCBpbmxpbmVDYXBhY2l0eT4gY2xhc3MgRGVxdWVJdGVyYXRvckJhc2U7CisgICAgdGVtcGxh
dGU8dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5PiBjbGFzcyBEZXF1ZUl0ZXJhdG9y
OworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHNpemVfdCBpbmxpbmVDYXBhY2l0eT4gY2xhc3Mg
RGVxdWVDb25zdEl0ZXJhdG9yOworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHNpemVfdCBpbmxp
bmVDYXBhY2l0eT4gY2xhc3MgRGVxdWVSZXZlcnNlSXRlcmF0b3I7CisgICAgdGVtcGxhdGU8dHlw
ZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5PiBjbGFzcyBEZXF1ZUNvbnN0UmV2ZXJzZUl0
ZXJhdG9yOwogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KKyAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBULCBzaXplX3QgaW5saW5lQ2FwYWNpdHkgPSAwPgogICAgIGNsYXNzIERlcXVlIHsKICAgICAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgotICAgICAgICB0eXBlZGVm
IERlcXVlSXRlcmF0b3I8VD4gaXRlcmF0b3I7Ci0gICAgICAgIHR5cGVkZWYgRGVxdWVDb25zdEl0
ZXJhdG9yPFQ+IGNvbnN0X2l0ZXJhdG9yOwotICAgICAgICB0eXBlZGVmIERlcXVlUmV2ZXJzZUl0
ZXJhdG9yPFQ+IHJldmVyc2VfaXRlcmF0b3I7Ci0gICAgICAgIHR5cGVkZWYgRGVxdWVDb25zdFJl
dmVyc2VJdGVyYXRvcjxUPiBjb25zdF9yZXZlcnNlX2l0ZXJhdG9yOworICAgICAgICB0eXBlZGVm
IERlcXVlSXRlcmF0b3I8VCwgaW5saW5lQ2FwYWNpdHk+IGl0ZXJhdG9yOworICAgICAgICB0eXBl
ZGVmIERlcXVlQ29uc3RJdGVyYXRvcjxULCBpbmxpbmVDYXBhY2l0eT4gY29uc3RfaXRlcmF0b3I7
CisgICAgICAgIHR5cGVkZWYgRGVxdWVSZXZlcnNlSXRlcmF0b3I8VCwgaW5saW5lQ2FwYWNpdHk+
IHJldmVyc2VfaXRlcmF0b3I7CisgICAgICAgIHR5cGVkZWYgRGVxdWVDb25zdFJldmVyc2VJdGVy
YXRvcjxULCBpbmxpbmVDYXBhY2l0eT4gY29uc3RfcmV2ZXJzZV9pdGVyYXRvcjsKIAogICAgICAg
ICBEZXF1ZSgpOwotICAgICAgICBEZXF1ZShjb25zdCBEZXF1ZTxUPiYpOwotICAgICAgICBEZXF1
ZSYgb3BlcmF0b3I9KGNvbnN0IERlcXVlPFQ+Jik7CisgICAgICAgIERlcXVlKGNvbnN0IERlcXVl
PFQsIGlubGluZUNhcGFjaXR5PiYpOworICAgICAgICBEZXF1ZSYgb3BlcmF0b3I9KGNvbnN0IERl
cXVlPFQsIGlubGluZUNhcGFjaXR5PiYpOwogICAgICAgICB+RGVxdWUoKTsKIAotICAgICAgICB2
b2lkIHN3YXAoRGVxdWU8VD4mKTsKKyAgICAgICAgdm9pZCBzd2FwKERlcXVlPFQsIGlubGluZUNh
cGFjaXR5PiYpOwogCiAgICAgICAgIHNpemVfdCBzaXplKCkgY29uc3QgeyByZXR1cm4gbV9zdGFy
dCA8PSBtX2VuZCA/IG1fZW5kIC0gbV9zdGFydCA6IG1fZW5kICsgbV9idWZmZXIuY2FwYWNpdHko
KSAtIG1fc3RhcnQ7IH0KICAgICAgICAgYm9vbCBpc0VtcHR5KCkgY29uc3QgeyByZXR1cm4gbV9z
dGFydCA9PSBtX2VuZDsgfQpAQCAtODcsMTEgKzg3LDExIEBAIG5hbWVzcGFjZSBXVEYgewogICAg
ICAgICBpdGVyYXRvciBmaW5kSWYoUHJlZGljYXRlJik7CiAKICAgICBwcml2YXRlOgotICAgICAg
ICBmcmllbmQgY2xhc3MgRGVxdWVJdGVyYXRvckJhc2U8VD47CisgICAgICAgIGZyaWVuZCBjbGFz
cyBEZXF1ZUl0ZXJhdG9yQmFzZTxULCBpbmxpbmVDYXBhY2l0eT47CiAKLSAgICAgICAgdHlwZWRl
ZiBWZWN0b3JCdWZmZXI8VCwgMD4gQnVmZmVyOworICAgICAgICB0eXBlZGVmIFZlY3RvckJ1ZmZl
cjxULCBpbmxpbmVDYXBhY2l0eT4gQnVmZmVyOwogICAgICAgICB0eXBlZGVmIFZlY3RvclR5cGVP
cGVyYXRpb25zPFQ+IFR5cGVPcGVyYXRpb25zOwotICAgICAgICB0eXBlZGVmIERlcXVlSXRlcmF0
b3JCYXNlPFQ+IEl0ZXJhdG9yQmFzZTsKKyAgICAgICAgdHlwZWRlZiBEZXF1ZUl0ZXJhdG9yQmFz
ZTxULCBpbmxpbmVDYXBhY2l0eT4gSXRlcmF0b3JCYXNlOwogCiAgICAgICAgIHZvaWQgcmVtb3Zl
KHNpemVfdCBwb3NpdGlvbik7CiAgICAgICAgIHZvaWQgaW52YWxpZGF0ZUl0ZXJhdG9ycygpOwpA
QCAtMTA5LDE0ICsxMDksMTQgQEAgbmFtZXNwYWNlIFdURiB7CiAjZW5kaWYKICAgICB9OwogCi0g
ICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCBzaXplX3Qg
aW5saW5lQ2FwYWNpdHkgPSAwPgogICAgIGNsYXNzIERlcXVlSXRlcmF0b3JCYXNlIHsKICAgICBw
cml2YXRlOgotICAgICAgICB0eXBlZGVmIERlcXVlSXRlcmF0b3JCYXNlPFQ+IEJhc2U7CisgICAg
ICAgIHR5cGVkZWYgRGVxdWVJdGVyYXRvckJhc2U8VCwgaW5saW5lQ2FwYWNpdHk+IEJhc2U7CiAK
ICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIERlcXVlSXRlcmF0b3JCYXNlKCk7Ci0gICAgICAgIERl
cXVlSXRlcmF0b3JCYXNlKGNvbnN0IERlcXVlPFQ+Kiwgc2l6ZV90KTsKKyAgICAgICAgRGVxdWVJ
dGVyYXRvckJhc2UoY29uc3QgRGVxdWU8VCwgaW5saW5lQ2FwYWNpdHk+Kiwgc2l6ZV90KTsKICAg
ICAgICAgRGVxdWVJdGVyYXRvckJhc2UoY29uc3QgQmFzZSYpOwogICAgICAgICBCYXNlJiBvcGVy
YXRvcj0oY29uc3QgQmFzZSYpOwogICAgICAgICB+RGVxdWVJdGVyYXRvckJhc2UoKTsKQEAgLTEz
NywxMCArMTM3LDEwIEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICB2b2lkIGNoZWNrVmFsaWRp
dHkoKSBjb25zdDsKICAgICAgICAgdm9pZCBjaGVja1ZhbGlkaXR5KGNvbnN0IEJhc2UmKSBjb25z
dDsKIAotICAgICAgICBEZXF1ZTxUPiogbV9kZXF1ZTsKKyAgICAgICAgRGVxdWU8VCwgaW5saW5l
Q2FwYWNpdHk+KiBtX2RlcXVlOwogICAgICAgICBzaXplX3QgbV9pbmRleDsKIAotICAgICAgICBm
cmllbmQgY2xhc3MgRGVxdWU8VD47CisgICAgICAgIGZyaWVuZCBjbGFzcyBEZXF1ZTxULCBpbmxp
bmVDYXBhY2l0eT47CiAKICNpZm5kZWYgTkRFQlVHCiAgICAgICAgIG11dGFibGUgRGVxdWVJdGVy
YXRvckJhc2UqIG1fbmV4dDsKQEAgLTE0OCwxNCArMTQ4LDE0IEBAIG5hbWVzcGFjZSBXVEYgewog
I2VuZGlmCiAgICAgfTsKIAotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgY2xhc3MgRGVx
dWVJdGVyYXRvciA6IHB1YmxpYyBEZXF1ZUl0ZXJhdG9yQmFzZTxUPiB7CisgICAgdGVtcGxhdGU8
dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gMD4KKyAgICBjbGFzcyBEZXF1ZUl0
ZXJhdG9yIDogcHVibGljIERlcXVlSXRlcmF0b3JCYXNlPFQsIGlubGluZUNhcGFjaXR5PiB7CiAg
ICAgcHJpdmF0ZToKLSAgICAgICAgdHlwZWRlZiBEZXF1ZUl0ZXJhdG9yQmFzZTxUPiBCYXNlOwot
ICAgICAgICB0eXBlZGVmIERlcXVlSXRlcmF0b3I8VD4gSXRlcmF0b3I7CisgICAgICAgIHR5cGVk
ZWYgRGVxdWVJdGVyYXRvckJhc2U8VCwgaW5saW5lQ2FwYWNpdHk+IEJhc2U7CisgICAgICAgIHR5
cGVkZWYgRGVxdWVJdGVyYXRvcjxULCBpbmxpbmVDYXBhY2l0eT4gSXRlcmF0b3I7CiAKICAgICBw
dWJsaWM6Ci0gICAgICAgIERlcXVlSXRlcmF0b3IoRGVxdWU8VD4qIGRlcXVlLCBzaXplX3QgaW5k
ZXgpIDogQmFzZShkZXF1ZSwgaW5kZXgpIHsgfQorICAgICAgICBEZXF1ZUl0ZXJhdG9yKERlcXVl
PFQsIGlubGluZUNhcGFjaXR5PiogZGVxdWUsIHNpemVfdCBpbmRleCkgOiBCYXNlKGRlcXVlLCBp
bmRleCkgeyB9CiAKICAgICAgICAgRGVxdWVJdGVyYXRvcihjb25zdCBJdGVyYXRvciYgb3RoZXIp
IDogQmFzZShvdGhlcikgeyB9CiAgICAgICAgIERlcXVlSXRlcmF0b3ImIG9wZXJhdG9yPShjb25z
dCBJdGVyYXRvciYgb3RoZXIpIHsgQmFzZTo6YXNzaWduKG90aGVyKTsgcmV0dXJuICp0aGlzOyB9
CkBAIC0xNzIsMTUgKzE3MiwxNSBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAgLy8gcG9zdGZp
eCAtLSBpbnRlbnRpb25hbGx5IG9taXR0ZWQKICAgICB9OwogCi0gICAgdGVtcGxhdGU8dHlwZW5h
bWUgVD4KLSAgICBjbGFzcyBEZXF1ZUNvbnN0SXRlcmF0b3IgOiBwdWJsaWMgRGVxdWVJdGVyYXRv
ckJhc2U8VD4geworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHNpemVfdCBpbmxpbmVDYXBhY2l0
eSA9IDA+CisgICAgY2xhc3MgRGVxdWVDb25zdEl0ZXJhdG9yIDogcHVibGljIERlcXVlSXRlcmF0
b3JCYXNlPFQsIGlubGluZUNhcGFjaXR5PiB7CiAgICAgcHJpdmF0ZToKLSAgICAgICAgdHlwZWRl
ZiBEZXF1ZUl0ZXJhdG9yQmFzZTxUPiBCYXNlOwotICAgICAgICB0eXBlZGVmIERlcXVlQ29uc3RJ
dGVyYXRvcjxUPiBJdGVyYXRvcjsKLSAgICAgICAgdHlwZWRlZiBEZXF1ZUl0ZXJhdG9yPFQ+IE5v
bkNvbnN0SXRlcmF0b3I7CisgICAgICAgIHR5cGVkZWYgRGVxdWVJdGVyYXRvckJhc2U8VCwgaW5s
aW5lQ2FwYWNpdHk+IEJhc2U7CisgICAgICAgIHR5cGVkZWYgRGVxdWVDb25zdEl0ZXJhdG9yPFQs
IGlubGluZUNhcGFjaXR5PiBJdGVyYXRvcjsKKyAgICAgICAgdHlwZWRlZiBEZXF1ZUl0ZXJhdG9y
PFQsIGlubGluZUNhcGFjaXR5PiBOb25Db25zdEl0ZXJhdG9yOwogCiAgICAgcHVibGljOgotICAg
ICAgICBEZXF1ZUNvbnN0SXRlcmF0b3IoY29uc3QgRGVxdWU8VD4qIGRlcXVlLCBzaXplX3QgaW5k
ZXgpIDogQmFzZShkZXF1ZSwgaW5kZXgpIHsgfQorICAgICAgICBEZXF1ZUNvbnN0SXRlcmF0b3Io
Y29uc3QgRGVxdWU8VCwgaW5saW5lQ2FwYWNpdHk+KiBkZXF1ZSwgc2l6ZV90IGluZGV4KSA6IEJh
c2UoZGVxdWUsIGluZGV4KSB7IH0KIAogICAgICAgICBEZXF1ZUNvbnN0SXRlcmF0b3IoY29uc3Qg
SXRlcmF0b3ImIG90aGVyKSA6IEJhc2Uob3RoZXIpIHsgfQogICAgICAgICBEZXF1ZUNvbnN0SXRl
cmF0b3IoY29uc3QgTm9uQ29uc3RJdGVyYXRvciYgb3RoZXIpIDogQmFzZShvdGhlcikgeyB9CkBA
IC0xOTksMTQgKzE5OSwxNCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAgLy8gcG9zdGZpeCAt
LSBpbnRlbnRpb25hbGx5IG9taXR0ZWQKICAgICB9OwogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUg
VD4KLSAgICBjbGFzcyBEZXF1ZVJldmVyc2VJdGVyYXRvciA6IHB1YmxpYyBEZXF1ZUl0ZXJhdG9y
QmFzZTxUPiB7CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5
ID0gMD4KKyAgICBjbGFzcyBEZXF1ZVJldmVyc2VJdGVyYXRvciA6IHB1YmxpYyBEZXF1ZUl0ZXJh
dG9yQmFzZTxULCBpbmxpbmVDYXBhY2l0eT4gewogICAgIHByaXZhdGU6Ci0gICAgICAgIHR5cGVk
ZWYgRGVxdWVJdGVyYXRvckJhc2U8VD4gQmFzZTsKLSAgICAgICAgdHlwZWRlZiBEZXF1ZVJldmVy
c2VJdGVyYXRvcjxUPiBJdGVyYXRvcjsKKyAgICAgICAgdHlwZWRlZiBEZXF1ZUl0ZXJhdG9yQmFz
ZTxULCBpbmxpbmVDYXBhY2l0eT4gQmFzZTsKKyAgICAgICAgdHlwZWRlZiBEZXF1ZVJldmVyc2VJ
dGVyYXRvcjxULCBpbmxpbmVDYXBhY2l0eT4gSXRlcmF0b3I7CiAKICAgICBwdWJsaWM6Ci0gICAg
ICAgIERlcXVlUmV2ZXJzZUl0ZXJhdG9yKGNvbnN0IERlcXVlPFQ+KiBkZXF1ZSwgc2l6ZV90IGlu
ZGV4KSA6IEJhc2UoZGVxdWUsIGluZGV4KSB7IH0KKyAgICAgICAgRGVxdWVSZXZlcnNlSXRlcmF0
b3IoY29uc3QgRGVxdWU8VCwgaW5saW5lQ2FwYWNpdHk+KiBkZXF1ZSwgc2l6ZV90IGluZGV4KSA6
IEJhc2UoZGVxdWUsIGluZGV4KSB7IH0KIAogICAgICAgICBEZXF1ZVJldmVyc2VJdGVyYXRvcihj
b25zdCBJdGVyYXRvciYgb3RoZXIpIDogQmFzZShvdGhlcikgeyB9CiAgICAgICAgIERlcXVlUmV2
ZXJzZUl0ZXJhdG9yJiBvcGVyYXRvcj0oY29uc3QgSXRlcmF0b3ImIG90aGVyKSB7IEJhc2U6OmFz
c2lnbihvdGhlcik7IHJldHVybiAqdGhpczsgfQpAQCAtMjIzLDE1ICsyMjMsMTUgQEAgbmFtZXNw
YWNlIFdURiB7CiAgICAgICAgIC8vIHBvc3RmaXggLS0gaW50ZW50aW9uYWxseSBvbWl0dGVkCiAg
ICAgfTsKIAotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgY2xhc3MgRGVxdWVDb25zdFJl
dmVyc2VJdGVyYXRvciA6IHB1YmxpYyBEZXF1ZUl0ZXJhdG9yQmFzZTxUPiB7CisgICAgdGVtcGxh
dGU8dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gMD4KKyAgICBjbGFzcyBEZXF1
ZUNvbnN0UmV2ZXJzZUl0ZXJhdG9yIDogcHVibGljIERlcXVlSXRlcmF0b3JCYXNlPFQsIGlubGlu
ZUNhcGFjaXR5PiB7CiAgICAgcHJpdmF0ZToKLSAgICAgICAgdHlwZWRlZiBEZXF1ZUl0ZXJhdG9y
QmFzZTxUPiBCYXNlOwotICAgICAgICB0eXBlZGVmIERlcXVlQ29uc3RSZXZlcnNlSXRlcmF0b3I8
VD4gSXRlcmF0b3I7Ci0gICAgICAgIHR5cGVkZWYgRGVxdWVSZXZlcnNlSXRlcmF0b3I8VD4gTm9u
Q29uc3RJdGVyYXRvcjsKKyAgICAgICAgdHlwZWRlZiBEZXF1ZUl0ZXJhdG9yQmFzZTxULCBpbmxp
bmVDYXBhY2l0eT4gQmFzZTsKKyAgICAgICAgdHlwZWRlZiBEZXF1ZUNvbnN0UmV2ZXJzZUl0ZXJh
dG9yPFQsIGlubGluZUNhcGFjaXR5PiBJdGVyYXRvcjsKKyAgICAgICAgdHlwZWRlZiBEZXF1ZVJl
dmVyc2VJdGVyYXRvcjxULCBpbmxpbmVDYXBhY2l0eT4gTm9uQ29uc3RJdGVyYXRvcjsKIAogICAg
IHB1YmxpYzoKLSAgICAgICAgRGVxdWVDb25zdFJldmVyc2VJdGVyYXRvcihjb25zdCBEZXF1ZTxU
PiogZGVxdWUsIHNpemVfdCBpbmRleCkgOiBCYXNlKGRlcXVlLCBpbmRleCkgeyB9CisgICAgICAg
IERlcXVlQ29uc3RSZXZlcnNlSXRlcmF0b3IoY29uc3QgRGVxdWU8VCwgaW5saW5lQ2FwYWNpdHk+
KiBkZXF1ZSwgc2l6ZV90IGluZGV4KSA6IEJhc2UoZGVxdWUsIGluZGV4KSB7IH0KIAogICAgICAg
ICBEZXF1ZUNvbnN0UmV2ZXJzZUl0ZXJhdG9yKGNvbnN0IEl0ZXJhdG9yJiBvdGhlcikgOiBCYXNl
KG90aGVyKSB7IH0KICAgICAgICAgRGVxdWVDb25zdFJldmVyc2VJdGVyYXRvcihjb25zdCBOb25D
b25zdEl0ZXJhdG9yJiBvdGhlcikgOiBCYXNlKG90aGVyKSB7IH0KQEAgLTI1MSwxMyArMjUxLDE3
IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIH07CiAKICNpZmRlZiBOREVCVUcKLSAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBUPiBpbmxpbmUgdm9pZCBEZXF1ZTxUPjo6Y2hlY2tWYWxpZGl0eSgpIGNvbnN0
IHsgfQotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGlubGluZSB2b2lkIERlcXVlPFQ+OjpjaGVj
a0luZGV4VmFsaWRpdHkoc2l6ZV90KSBjb25zdCB7IH0KLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBU
PiBpbmxpbmUgdm9pZCBEZXF1ZTxUPjo6aW52YWxpZGF0ZUl0ZXJhdG9ycygpIHsgfQorICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFQsIHNpemVfdCBpbmxpbmVDYXBhY2l0eT4gaW5saW5lIHZvaWQgRGVx
dWU8VCwgaW5saW5lQ2FwYWNpdHk+OjpjaGVja1ZhbGlkaXR5KCkgY29uc3QgeyB9CisgICAgdGVt
cGxhdGU8dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5PiBpbmxpbmUgdm9pZCBEZXF1
ZTxULCBpbmxpbmVDYXBhY2l0eT46OmNoZWNrSW5kZXhWYWxpZGl0eShzaXplX3QpIGNvbnN0IHsg
fQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHNpemVfdCBpbmxpbmVDYXBhY2l0eT4gaW5saW5l
IHZvaWQgRGVxdWU8VCwgaW5saW5lQ2FwYWNpdHk+OjppbnZhbGlkYXRlSXRlcmF0b3JzKCkgeyB9
CiAjZWxzZQotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgdm9pZCBEZXF1ZTxUPjo6Y2hl
Y2tWYWxpZGl0eSgpIGNvbnN0CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgc2l6ZV90IGlubGlu
ZUNhcGFjaXR5PgorICAgIHZvaWQgRGVxdWU8VCwgaW5saW5lQ2FwYWNpdHk+OjpjaGVja1ZhbGlk
aXR5KCkgY29uc3QKICAgICB7CisgICAgICAgIC8vIEluIHRoaXMgaW1wbGVtZW50YXRpb24gYSBj
YXBhY2l0eSBvZiAxIHdvdWxkIGNvbmZ1c2UgYXBwZW5kKCkgYW5kCisgICAgICAgIC8vIG90aGVy
IHBsYWNlcyB0aGF0IGFzc3VtZSB0aGUgaW5kZXggYWZ0ZXIgY2FwYWNpdHkgLSAxIGlzIDAuCisg
ICAgICAgIEFTU0VSVChtX2J1ZmZlci5jYXBhY2l0eSgpICE9IDEpOworCiAgICAgICAgIGlmICgh
bV9idWZmZXIuY2FwYWNpdHkoKSkgewogICAgICAgICAgICAgQVNTRVJUKCFtX3N0YXJ0KTsKICAg
ICAgICAgICAgIEFTU0VSVCghbV9lbmQpOwpAQCAtMjY3LDggKzI3MSw4IEBAIG5hbWVzcGFjZSBX
VEYgewogICAgICAgICB9CiAgICAgfQogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KLSAgICB2
b2lkIERlcXVlPFQ+OjpjaGVja0luZGV4VmFsaWRpdHkoc2l6ZV90IGluZGV4KSBjb25zdAorICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQsIHNpemVfdCBpbmxpbmVDYXBhY2l0eT4KKyAgICB2b2lkIERl
cXVlPFQsIGlubGluZUNhcGFjaXR5Pjo6Y2hlY2tJbmRleFZhbGlkaXR5KHNpemVfdCBpbmRleCkg
Y29uc3QKICAgICB7CiAgICAgICAgIEFTU0VSVChpbmRleCA8PSBtX2J1ZmZlci5jYXBhY2l0eSgp
KTsKICAgICAgICAgaWYgKG1fc3RhcnQgPD0gbV9lbmQpIHsKQEAgLTI3OSw4ICsyODMsOCBAQCBu
YW1lc3BhY2UgV1RGIHsKICAgICAgICAgfQogICAgIH0KIAotICAgIHRlbXBsYXRlPHR5cGVuYW1l
IFQ+Ci0gICAgdm9pZCBEZXF1ZTxUPjo6aW52YWxpZGF0ZUl0ZXJhdG9ycygpCisgICAgdGVtcGxh
dGU8dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5PgorICAgIHZvaWQgRGVxdWU8VCwg
aW5saW5lQ2FwYWNpdHk+OjppbnZhbGlkYXRlSXRlcmF0b3JzKCkKICAgICB7CiAgICAgICAgIEl0
ZXJhdG9yQmFzZSogbmV4dDsKICAgICAgICAgZm9yIChJdGVyYXRvckJhc2UqIHAgPSBtX2l0ZXJh
dG9yczsgcDsgcCA9IG5leHQpIHsKQEAgLTI5Myw4ICsyOTcsOCBAQCBuYW1lc3BhY2UgV1RGIHsK
ICAgICB9CiAjZW5kaWYKIAotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgaW5saW5lIERl
cXVlPFQ+OjpEZXF1ZSgpCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNh
cGFjaXR5PgorICAgIGlubGluZSBEZXF1ZTxULCBpbmxpbmVDYXBhY2l0eT46OkRlcXVlKCkKICAg
ICAgICAgOiBtX3N0YXJ0KDApCiAgICAgICAgICwgbV9lbmQoMCkKICNpZm5kZWYgTkRFQlVHCkBA
IC0zMDQsOCArMzA4LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAgIGNoZWNrVmFsaWRpdHko
KTsKICAgICB9CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgotICAgIGlubGluZSBEZXF1ZTxU
Pjo6RGVxdWUoY29uc3QgRGVxdWU8VD4mIG90aGVyKQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQs
IHNpemVfdCBpbmxpbmVDYXBhY2l0eT4KKyAgICBpbmxpbmUgRGVxdWU8VCwgaW5saW5lQ2FwYWNp
dHk+OjpEZXF1ZShjb25zdCBEZXF1ZTxULCBpbmxpbmVDYXBhY2l0eT4mIG90aGVyKQogICAgICAg
ICA6IG1fc3RhcnQob3RoZXIubV9zdGFydCkKICAgICAgICAgLCBtX2VuZChvdGhlci5tX2VuZCkK
ICAgICAgICAgLCBtX2J1ZmZlcihvdGhlci5tX2J1ZmZlci5jYXBhY2l0eSgpKQpAQCAtMzIyLDI1
ICszMjYsMjcgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAgIH0KICAgICB9CiAKLSAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPgotICAgIHZvaWQgZGVsZXRlQWxsVmFsdWVzKGNvbnN0IERlcXVlPFQ+
JiBjb2xsZWN0aW9uKQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHNpemVfdCBpbmxpbmVDYXBh
Y2l0eT4KKyAgICB2b2lkIGRlbGV0ZUFsbFZhbHVlcyhjb25zdCBEZXF1ZTxULCBpbmxpbmVDYXBh
Y2l0eT4mIGNvbGxlY3Rpb24pCiAgICAgewotICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIERlcXVl
PFQ+Ojpjb25zdF9pdGVyYXRvciBpdGVyYXRvcjsKKyAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBE
ZXF1ZTxULCBpbmxpbmVDYXBhY2l0eT46OmNvbnN0X2l0ZXJhdG9yIGl0ZXJhdG9yOwogICAgICAg
ICBpdGVyYXRvciBlbmQgPSBjb2xsZWN0aW9uLmVuZCgpOwogICAgICAgICBmb3IgKGl0ZXJhdG9y
IGl0ID0gY29sbGVjdGlvbi5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpCiAgICAgICAgICAgICBk
ZWxldGUgKml0OwogICAgIH0KIAotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgaW5saW5l
IERlcXVlPFQ+JiBEZXF1ZTxUPjo6b3BlcmF0b3I9KGNvbnN0IERlcXVlPFQ+JiBvdGhlcikKKyAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCBzaXplX3QgaW5saW5lQ2FwYWNpdHk+CisgICAgaW5saW5l
IERlcXVlPFQsIGlubGluZUNhcGFjaXR5PiYgRGVxdWU8VCwgaW5saW5lQ2FwYWNpdHk+OjpvcGVy
YXRvcj0oY29uc3QgRGVxdWU8VCwgaW5saW5lQ2FwYWNpdHk+JiBvdGhlcikKICAgICB7CisgICAg
ICAgIC8vIEZJWE1FOiBUaGlzIGlzIGluZWZmaWNpZW50IGlmIHdlJ3JlIHVzaW5nIGFuIGlubGlu
ZSBidWZmZXIgYW5kIFQgaXMKKyAgICAgICAgLy8gZXhwZW5zaXZlIHRvIGNvcHkgc2luY2UgaXQg
d2lsbCBjb3B5IHRoZSBidWZmZXIgdHdpY2UgaW5zdGVhZCBvZiBvbmNlLgogICAgICAgICBEZXF1
ZTxUPiBjb3B5KG90aGVyKTsKICAgICAgICAgc3dhcChjb3B5KTsKICAgICAgICAgcmV0dXJuICp0
aGlzOwogICAgIH0KIAotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgaW5saW5lIHZvaWQg
RGVxdWU8VD46OmRlc3Ryb3lBbGwoKQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHNpemVfdCBp
bmxpbmVDYXBhY2l0eT4KKyAgICBpbmxpbmUgdm9pZCBEZXF1ZTxULCBpbmxpbmVDYXBhY2l0eT46
OmRlc3Ryb3lBbGwoKQogICAgIHsKICAgICAgICAgaWYgKG1fc3RhcnQgPD0gbV9lbmQpCiAgICAg
ICAgICAgICBUeXBlT3BlcmF0aW9uczo6ZGVzdHJ1Y3QobV9idWZmZXIuYnVmZmVyKCkgKyBtX3N0
YXJ0LCBtX2J1ZmZlci5idWZmZXIoKSArIG1fZW5kKTsKQEAgLTM1MCwxNiArMzU2LDE2IEBAIG5h
bWVzcGFjZSBXVEYgewogICAgICAgICB9CiAgICAgfQogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUg
VD4KLSAgICBpbmxpbmUgRGVxdWU8VD46On5EZXF1ZSgpCisgICAgdGVtcGxhdGU8dHlwZW5hbWUg
VCwgc2l6ZV90IGlubGluZUNhcGFjaXR5PgorICAgIGlubGluZSBEZXF1ZTxULCBpbmxpbmVDYXBh
Y2l0eT46On5EZXF1ZSgpCiAgICAgewogICAgICAgICBjaGVja1ZhbGlkaXR5KCk7CiAgICAgICAg
IGludmFsaWRhdGVJdGVyYXRvcnMoKTsKICAgICAgICAgZGVzdHJveUFsbCgpOwogICAgIH0KIAot
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgaW5saW5lIHZvaWQgRGVxdWU8VD46OnN3YXAo
RGVxdWU8VD4mIG90aGVyKQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHNpemVfdCBpbmxpbmVD
YXBhY2l0eT4KKyAgICBpbmxpbmUgdm9pZCBEZXF1ZTxULCBpbmxpbmVDYXBhY2l0eT46OnN3YXAo
RGVxdWU8VCwgaW5saW5lQ2FwYWNpdHk+JiBvdGhlcikKICAgICB7CiAgICAgICAgIGNoZWNrVmFs
aWRpdHkoKTsKICAgICAgICAgb3RoZXIuY2hlY2tWYWxpZGl0eSgpOwpAQCAtMzcxLDggKzM3Nyw4
IEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICBvdGhlci5jaGVja1ZhbGlkaXR5KCk7CiAgICAg
fQogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KLSAgICBpbmxpbmUgdm9pZCBEZXF1ZTxUPjo6
Y2xlYXIoKQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHNpemVfdCBpbmxpbmVDYXBhY2l0eT4K
KyAgICBpbmxpbmUgdm9pZCBEZXF1ZTxULCBpbmxpbmVDYXBhY2l0eT46OmNsZWFyKCkKICAgICB7
CiAgICAgICAgIGNoZWNrVmFsaWRpdHkoKTsKICAgICAgICAgaW52YWxpZGF0ZUl0ZXJhdG9ycygp
OwpAQCAtMzgyLDkgKzM4OCw5IEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICBjaGVja1ZhbGlk
aXR5KCk7CiAgICAgfQogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KKyAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBULCBzaXplX3QgaW5saW5lQ2FwYWNpdHk+CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUg
UHJlZGljYXRlPgotICAgIGlubGluZSBEZXF1ZUl0ZXJhdG9yPFQ+IERlcXVlPFQ+OjpmaW5kSWYo
UHJlZGljYXRlJiBwcmVkaWNhdGUpCisgICAgaW5saW5lIERlcXVlSXRlcmF0b3I8VCwgaW5saW5l
Q2FwYWNpdHk+IERlcXVlPFQsIGlubGluZUNhcGFjaXR5Pjo6ZmluZElmKFByZWRpY2F0ZSYgcHJl
ZGljYXRlKQogICAgIHsKICAgICAgICAgaXRlcmF0b3IgZW5kX2l0ZXJhdG9yID0gZW5kKCk7CiAg
ICAgICAgIGZvciAoaXRlcmF0b3IgaXQgPSBiZWdpbigpOyBpdCAhPSBlbmRfaXRlcmF0b3I7ICsr
aXQpIHsKQEAgLTM5NCw4ICs0MDAsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAgcmV0dXJu
IGVuZF9pdGVyYXRvcjsKICAgICB9CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgotICAgIGlu
bGluZSB2b2lkIERlcXVlPFQ+OjpleHBhbmRDYXBhY2l0eUlmTmVlZGVkKCkKKyAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBULCBzaXplX3QgaW5saW5lQ2FwYWNpdHk+CisgICAgaW5saW5lIHZvaWQgRGVx
dWU8VCwgaW5saW5lQ2FwYWNpdHk+OjpleHBhbmRDYXBhY2l0eUlmTmVlZGVkKCkKICAgICB7CiAg
ICAgICAgIGlmIChtX3N0YXJ0KSB7CiAgICAgICAgICAgICBpZiAobV9lbmQgKyAxICE9IG1fc3Rh
cnQpCkBAIC00MDksOCArNDE1LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAgIGV4cGFuZENh
cGFjaXR5KCk7CiAgICAgfQogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KLSAgICB2b2lkIERl
cXVlPFQ+OjpleHBhbmRDYXBhY2l0eSgpCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgc2l6ZV90
IGlubGluZUNhcGFjaXR5PgorICAgIHZvaWQgRGVxdWU8VCwgaW5saW5lQ2FwYWNpdHk+OjpleHBh
bmRDYXBhY2l0eSgpCiAgICAgewogICAgICAgICBjaGVja1ZhbGlkaXR5KCk7CiAgICAgICAgIHNp
emVfdCBvbGRDYXBhY2l0eSA9IG1fYnVmZmVyLmNhcGFjaXR5KCk7CkBAIC00MjksMTYgKzQzNSwx
NiBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAgY2hlY2tWYWxpZGl0eSgpOwogICAgIH0KIAot
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgaW5saW5lIFQgRGVxdWU8VD46OnRha2VGaXJz
dCgpCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5PgorICAg
IGlubGluZSBUIERlcXVlPFQsIGlubGluZUNhcGFjaXR5Pjo6dGFrZUZpcnN0KCkKICAgICB7CiAg
ICAgICAgIFQgb2xkRmlyc3QgPSBmaXJzdCgpOwogICAgICAgICByZW1vdmVGaXJzdCgpOwogICAg
ICAgICByZXR1cm4gb2xkRmlyc3Q7CiAgICAgfQogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4g
dGVtcGxhdGU8dHlwZW5hbWUgVT4KLSAgICBpbmxpbmUgdm9pZCBEZXF1ZTxUPjo6YXBwZW5kKGNv
bnN0IFUmIHZhbHVlKQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHNpemVfdCBpbmxpbmVDYXBh
Y2l0eT4gdGVtcGxhdGU8dHlwZW5hbWUgVT4KKyAgICBpbmxpbmUgdm9pZCBEZXF1ZTxULCBpbmxp
bmVDYXBhY2l0eT46OmFwcGVuZChjb25zdCBVJiB2YWx1ZSkKICAgICB7CiAgICAgICAgIGNoZWNr
VmFsaWRpdHkoKTsKICAgICAgICAgZXhwYW5kQ2FwYWNpdHlJZk5lZWRlZCgpOwpAQCAtNDUwLDgg
KzQ1Niw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICBjaGVja1ZhbGlkaXR5KCk7CiAgICAg
fQogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gdGVtcGxhdGU8dHlwZW5hbWUgVT4KLSAgICBp
bmxpbmUgdm9pZCBEZXF1ZTxUPjo6cHJlcGVuZChjb25zdCBVJiB2YWx1ZSkKKyAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBULCBzaXplX3QgaW5saW5lQ2FwYWNpdHk+IHRlbXBsYXRlPHR5cGVuYW1lIFU+
CisgICAgaW5saW5lIHZvaWQgRGVxdWU8VCwgaW5saW5lQ2FwYWNpdHk+OjpwcmVwZW5kKGNvbnN0
IFUmIHZhbHVlKQogICAgIHsKICAgICAgICAgY2hlY2tWYWxpZGl0eSgpOwogICAgICAgICBleHBh
bmRDYXBhY2l0eUlmTmVlZGVkKCk7CkBAIC00NjMsOCArNDY5LDggQEAgbmFtZXNwYWNlIFdURiB7
CiAgICAgICAgIGNoZWNrVmFsaWRpdHkoKTsKICAgICB9CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPgotICAgIGlubGluZSB2b2lkIERlcXVlPFQ+OjpyZW1vdmVGaXJzdCgpCisgICAgdGVtcGxh
dGU8dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5PgorICAgIGlubGluZSB2b2lkIERl
cXVlPFQsIGlubGluZUNhcGFjaXR5Pjo6cmVtb3ZlRmlyc3QoKQogICAgIHsKICAgICAgICAgY2hl
Y2tWYWxpZGl0eSgpOwogICAgICAgICBpbnZhbGlkYXRlSXRlcmF0b3JzKCk7CkBAIC00NzcsMjIg
KzQ4MywyMiBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAgY2hlY2tWYWxpZGl0eSgpOwogICAg
IH0KIAotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgaW5saW5lIHZvaWQgRGVxdWU8VD46
OnJlbW92ZShpdGVyYXRvciYgaXQpCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgc2l6ZV90IGlu
bGluZUNhcGFjaXR5PgorICAgIGlubGluZSB2b2lkIERlcXVlPFQsIGlubGluZUNhcGFjaXR5Pjo6
cmVtb3ZlKGl0ZXJhdG9yJiBpdCkKICAgICB7CiAgICAgICAgIGl0LmNoZWNrVmFsaWRpdHkoKTsK
ICAgICAgICAgcmVtb3ZlKGl0Lm1faW5kZXgpOwogICAgIH0KIAotICAgIHRlbXBsYXRlPHR5cGVu
YW1lIFQ+Ci0gICAgaW5saW5lIHZvaWQgRGVxdWU8VD46OnJlbW92ZShjb25zdF9pdGVyYXRvciYg
aXQpCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5PgorICAg
IGlubGluZSB2b2lkIERlcXVlPFQsIGlubGluZUNhcGFjaXR5Pjo6cmVtb3ZlKGNvbnN0X2l0ZXJh
dG9yJiBpdCkKICAgICB7CiAgICAgICAgIGl0LmNoZWNrVmFsaWRpdHkoKTsKICAgICAgICAgcmVt
b3ZlKGl0Lm1faW5kZXgpOwogICAgIH0KIAotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAg
aW5saW5lIHZvaWQgRGVxdWU8VD46OnJlbW92ZShzaXplX3QgcG9zaXRpb24pCisgICAgdGVtcGxh
dGU8dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5PgorICAgIGlubGluZSB2b2lkIERl
cXVlPFQsIGlubGluZUNhcGFjaXR5Pjo6cmVtb3ZlKHNpemVfdCBwb3NpdGlvbikKICAgICB7CiAg
ICAgICAgIGlmIChwb3NpdGlvbiA9PSBtX2VuZCkKICAgICAgICAgICAgIHJldHVybjsKQEAgLTUx
NSwyOCArNTIxLDI4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIH0KIAogI2lmZGVmIE5ERUJVRwot
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGlubGluZSB2b2lkIERlcXVlSXRlcmF0b3JCYXNlPFQ+
OjpjaGVja1ZhbGlkaXR5KCkgY29uc3QgeyB9Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gaW5s
aW5lIHZvaWQgRGVxdWVJdGVyYXRvckJhc2U8VD46OmNoZWNrVmFsaWRpdHkoY29uc3QgRGVxdWVJ
dGVyYXRvckJhc2U8VD4mKSBjb25zdCB7IH0KLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBpbmxp
bmUgdm9pZCBEZXF1ZUl0ZXJhdG9yQmFzZTxUPjo6YWRkVG9JdGVyYXRvcnNMaXN0KCkgeyB9Ci0g
ICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gaW5saW5lIHZvaWQgRGVxdWVJdGVyYXRvckJhc2U8VD46
OnJlbW92ZUZyb21JdGVyYXRvcnNMaXN0KCkgeyB9CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwg
c2l6ZV90IGlubGluZUNhcGFjaXR5PiBpbmxpbmUgdm9pZCBEZXF1ZUl0ZXJhdG9yQmFzZTxULCBp
bmxpbmVDYXBhY2l0eT46OmNoZWNrVmFsaWRpdHkoKSBjb25zdCB7IH0KKyAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBULCBzaXplX3QgaW5saW5lQ2FwYWNpdHk+IGlubGluZSB2b2lkIERlcXVlSXRlcmF0
b3JCYXNlPFQsIGlubGluZUNhcGFjaXR5Pjo6Y2hlY2tWYWxpZGl0eShjb25zdCBEZXF1ZUl0ZXJh
dG9yQmFzZTxULCBpbmxpbmVDYXBhY2l0eT4mKSBjb25zdCB7IH0KKyAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBULCBzaXplX3QgaW5saW5lQ2FwYWNpdHk+IGlubGluZSB2b2lkIERlcXVlSXRlcmF0b3JC
YXNlPFQsIGlubGluZUNhcGFjaXR5Pjo6YWRkVG9JdGVyYXRvcnNMaXN0KCkgeyB9CisgICAgdGVt
cGxhdGU8dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5PiBpbmxpbmUgdm9pZCBEZXF1
ZUl0ZXJhdG9yQmFzZTxULCBpbmxpbmVDYXBhY2l0eT46OnJlbW92ZUZyb21JdGVyYXRvcnNMaXN0
KCkgeyB9CiAjZWxzZQotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgdm9pZCBEZXF1ZUl0
ZXJhdG9yQmFzZTxUPjo6Y2hlY2tWYWxpZGl0eSgpIGNvbnN0CisgICAgdGVtcGxhdGU8dHlwZW5h
bWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5PgorICAgIHZvaWQgRGVxdWVJdGVyYXRvckJhc2U8
VCwgaW5saW5lQ2FwYWNpdHk+OjpjaGVja1ZhbGlkaXR5KCkgY29uc3QKICAgICB7CiAgICAgICAg
IEFTU0VSVChtX2RlcXVlKTsKICAgICAgICAgbV9kZXF1ZS0+Y2hlY2tJbmRleFZhbGlkaXR5KG1f
aW5kZXgpOwogICAgIH0KIAotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgdm9pZCBEZXF1
ZUl0ZXJhdG9yQmFzZTxUPjo6Y2hlY2tWYWxpZGl0eShjb25zdCBCYXNlJiBvdGhlcikgY29uc3QK
KyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCBzaXplX3QgaW5saW5lQ2FwYWNpdHk+CisgICAgdm9p
ZCBEZXF1ZUl0ZXJhdG9yQmFzZTxULCBpbmxpbmVDYXBhY2l0eT46OmNoZWNrVmFsaWRpdHkoY29u
c3QgQmFzZSYgb3RoZXIpIGNvbnN0CiAgICAgewogICAgICAgICBjaGVja1ZhbGlkaXR5KCk7CiAg
ICAgICAgIG90aGVyLmNoZWNrVmFsaWRpdHkoKTsKICAgICAgICAgQVNTRVJUKG1fZGVxdWUgPT0g
b3RoZXIubV9kZXF1ZSk7CiAgICAgfQogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KLSAgICB2
b2lkIERlcXVlSXRlcmF0b3JCYXNlPFQ+OjphZGRUb0l0ZXJhdG9yc0xpc3QoKQorICAgIHRlbXBs
YXRlPHR5cGVuYW1lIFQsIHNpemVfdCBpbmxpbmVDYXBhY2l0eT4KKyAgICB2b2lkIERlcXVlSXRl
cmF0b3JCYXNlPFQsIGlubGluZUNhcGFjaXR5Pjo6YWRkVG9JdGVyYXRvcnNMaXN0KCkKICAgICB7
CiAgICAgICAgIGlmICghbV9kZXF1ZSkKICAgICAgICAgICAgIG1fbmV4dCA9IDA7CkBAIC01NDks
OCArNTU1LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAgIG1fcHJldmlvdXMgPSAwOwogICAg
IH0KIAotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgdm9pZCBEZXF1ZUl0ZXJhdG9yQmFz
ZTxUPjo6cmVtb3ZlRnJvbUl0ZXJhdG9yc0xpc3QoKQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQs
IHNpemVfdCBpbmxpbmVDYXBhY2l0eT4KKyAgICB2b2lkIERlcXVlSXRlcmF0b3JCYXNlPFQsIGlu
bGluZUNhcGFjaXR5Pjo6cmVtb3ZlRnJvbUl0ZXJhdG9yc0xpc3QoKQogICAgIHsKICAgICAgICAg
aWYgKCFtX2RlcXVlKSB7CiAgICAgICAgICAgICBBU1NFUlQoIW1fbmV4dCk7CkBAIC01NzQsMjMg
KzU4MCwyMyBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB9CiAjZW5kaWYKIAotICAgIHRlbXBsYXRl
PHR5cGVuYW1lIFQ+Ci0gICAgaW5saW5lIERlcXVlSXRlcmF0b3JCYXNlPFQ+OjpEZXF1ZUl0ZXJh
dG9yQmFzZSgpCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5
PgorICAgIGlubGluZSBEZXF1ZUl0ZXJhdG9yQmFzZTxULCBpbmxpbmVDYXBhY2l0eT46OkRlcXVl
SXRlcmF0b3JCYXNlKCkKICAgICAgICAgOiBtX2RlcXVlKDApCiAgICAgewogICAgIH0KIAotICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgaW5saW5lIERlcXVlSXRlcmF0b3JCYXNlPFQ+OjpE
ZXF1ZUl0ZXJhdG9yQmFzZShjb25zdCBEZXF1ZTxUPiogZGVxdWUsIHNpemVfdCBpbmRleCkKLSAg
ICAgICAgOiBtX2RlcXVlKGNvbnN0X2Nhc3Q8RGVxdWU8VD4qPihkZXF1ZSkpCisgICAgdGVtcGxh
dGU8dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5PgorICAgIGlubGluZSBEZXF1ZUl0
ZXJhdG9yQmFzZTxULCBpbmxpbmVDYXBhY2l0eT46OkRlcXVlSXRlcmF0b3JCYXNlKGNvbnN0IERl
cXVlPFQsIGlubGluZUNhcGFjaXR5PiogZGVxdWUsIHNpemVfdCBpbmRleCkKKyAgICAgICAgOiBt
X2RlcXVlKGNvbnN0X2Nhc3Q8RGVxdWU8VCwgaW5saW5lQ2FwYWNpdHk+Kj4oZGVxdWUpKQogICAg
ICAgICAsIG1faW5kZXgoaW5kZXgpCiAgICAgewogICAgICAgICBhZGRUb0l0ZXJhdG9yc0xpc3Qo
KTsKICAgICAgICAgY2hlY2tWYWxpZGl0eSgpOwogICAgIH0KIAotICAgIHRlbXBsYXRlPHR5cGVu
YW1lIFQ+Ci0gICAgaW5saW5lIERlcXVlSXRlcmF0b3JCYXNlPFQ+OjpEZXF1ZUl0ZXJhdG9yQmFz
ZShjb25zdCBCYXNlJiBvdGhlcikKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCBzaXplX3QgaW5s
aW5lQ2FwYWNpdHk+CisgICAgaW5saW5lIERlcXVlSXRlcmF0b3JCYXNlPFQsIGlubGluZUNhcGFj
aXR5Pjo6RGVxdWVJdGVyYXRvckJhc2UoY29uc3QgQmFzZSYgb3RoZXIpCiAgICAgICAgIDogbV9k
ZXF1ZShvdGhlci5tX2RlcXVlKQogICAgICAgICAsIG1faW5kZXgob3RoZXIubV9pbmRleCkKICAg
ICB7CkBAIC01OTgsOCArNjA0LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAgIGNoZWNrVmFs
aWRpdHkoKTsKICAgICB9CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgotICAgIGlubGluZSBE
ZXF1ZUl0ZXJhdG9yQmFzZTxUPiYgRGVxdWVJdGVyYXRvckJhc2U8VD46Om9wZXJhdG9yPShjb25z
dCBCYXNlJiBvdGhlcikKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCBzaXplX3QgaW5saW5lQ2Fw
YWNpdHk+CisgICAgaW5saW5lIERlcXVlSXRlcmF0b3JCYXNlPFQsIGlubGluZUNhcGFjaXR5PiYg
RGVxdWVJdGVyYXRvckJhc2U8VCwgaW5saW5lQ2FwYWNpdHk+OjpvcGVyYXRvcj0oY29uc3QgQmFz
ZSYgb3RoZXIpCiAgICAgewogICAgICAgICBjaGVja1ZhbGlkaXR5KCk7CiAgICAgICAgIG90aGVy
LmNoZWNrVmFsaWRpdHkoKTsKQEAgLTYxMiw4ICs2MTgsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAg
ICAgICAgcmV0dXJuICp0aGlzOwogICAgIH0KIAotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0g
ICAgaW5saW5lIERlcXVlSXRlcmF0b3JCYXNlPFQ+Ojp+RGVxdWVJdGVyYXRvckJhc2UoKQorICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQsIHNpemVfdCBpbmxpbmVDYXBhY2l0eT4KKyAgICBpbmxpbmUg
RGVxdWVJdGVyYXRvckJhc2U8VCwgaW5saW5lQ2FwYWNpdHk+Ojp+RGVxdWVJdGVyYXRvckJhc2Uo
KQogICAgIHsKICNpZm5kZWYgTkRFQlVHCiAgICAgICAgIHJlbW92ZUZyb21JdGVyYXRvcnNMaXN0
KCk7CkBAIC02MjEsMTUgKzYyNywxNSBAQCBuYW1lc3BhY2UgV1RGIHsKICNlbmRpZgogICAgIH0K
IAotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgaW5saW5lIGJvb2wgRGVxdWVJdGVyYXRv
ckJhc2U8VD46OmlzRXF1YWwoY29uc3QgQmFzZSYgb3RoZXIpIGNvbnN0CisgICAgdGVtcGxhdGU8
dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5PgorICAgIGlubGluZSBib29sIERlcXVl
SXRlcmF0b3JCYXNlPFQsIGlubGluZUNhcGFjaXR5Pjo6aXNFcXVhbChjb25zdCBCYXNlJiBvdGhl
cikgY29uc3QKICAgICB7CiAgICAgICAgIGNoZWNrVmFsaWRpdHkob3RoZXIpOwogICAgICAgICBy
ZXR1cm4gbV9pbmRleCA9PSBvdGhlci5tX2luZGV4OwogICAgIH0KIAotICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+Ci0gICAgaW5saW5lIHZvaWQgRGVxdWVJdGVyYXRvckJhc2U8VD46OmluY3JlbWVu
dCgpCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5PgorICAg
IGlubGluZSB2b2lkIERlcXVlSXRlcmF0b3JCYXNlPFQsIGlubGluZUNhcGFjaXR5Pjo6aW5jcmVt
ZW50KCkKICAgICB7CiAgICAgICAgIGNoZWNrVmFsaWRpdHkoKTsKICAgICAgICAgQVNTRVJUKG1f
aW5kZXggIT0gbV9kZXF1ZS0+bV9lbmQpOwpAQCAtNjQxLDggKzY0Nyw4IEBAIG5hbWVzcGFjZSBX
VEYgewogICAgICAgICBjaGVja1ZhbGlkaXR5KCk7CiAgICAgfQogCi0gICAgdGVtcGxhdGU8dHlw
ZW5hbWUgVD4KLSAgICBpbmxpbmUgdm9pZCBEZXF1ZUl0ZXJhdG9yQmFzZTxUPjo6ZGVjcmVtZW50
KCkKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCBzaXplX3QgaW5saW5lQ2FwYWNpdHk+CisgICAg
aW5saW5lIHZvaWQgRGVxdWVJdGVyYXRvckJhc2U8VCwgaW5saW5lQ2FwYWNpdHk+OjpkZWNyZW1l
bnQoKQogICAgIHsKICAgICAgICAgY2hlY2tWYWxpZGl0eSgpOwogICAgICAgICBBU1NFUlQobV9p
bmRleCAhPSBtX2RlcXVlLT5tX3N0YXJ0KTsKQEAgLTY1NCwxNiArNjYwLDE2IEBAIG5hbWVzcGFj
ZSBXVEYgewogICAgICAgICBjaGVja1ZhbGlkaXR5KCk7CiAgICAgfQogCi0gICAgdGVtcGxhdGU8
dHlwZW5hbWUgVD4KLSAgICBpbmxpbmUgVCogRGVxdWVJdGVyYXRvckJhc2U8VD46OmFmdGVyKCkg
Y29uc3QKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCBzaXplX3QgaW5saW5lQ2FwYWNpdHk+Cisg
ICAgaW5saW5lIFQqIERlcXVlSXRlcmF0b3JCYXNlPFQsIGlubGluZUNhcGFjaXR5Pjo6YWZ0ZXIo
KSBjb25zdAogICAgIHsKICAgICAgICAgY2hlY2tWYWxpZGl0eSgpOwogICAgICAgICBBU1NFUlQo
bV9pbmRleCAhPSBtX2RlcXVlLT5tX2VuZCk7CiAgICAgICAgIHJldHVybiAmbV9kZXF1ZS0+bV9i
dWZmZXIuYnVmZmVyKClbbV9pbmRleF07CiAgICAgfQogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUg
VD4KLSAgICBpbmxpbmUgVCogRGVxdWVJdGVyYXRvckJhc2U8VD46OmJlZm9yZSgpIGNvbnN0Cisg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5PgorICAgIGlubGlu
ZSBUKiBEZXF1ZUl0ZXJhdG9yQmFzZTxULCBpbmxpbmVDYXBhY2l0eT46OmJlZm9yZSgpIGNvbnN0
CiAgICAgewogICAgICAgICBjaGVja1ZhbGlkaXR5KCk7CiAgICAgICAgIEFTU0VSVChtX2luZGV4
ICE9IG1fZGVxdWUtPm1fc3RhcnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0Zi9WZWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVmVjdG9yLmgKaW5kZXgg
NmQ4ZGQ0YzNhMzUxN2IwNWVhNTIwNDUyYWIwZDE2NzFjOGNkZGE0My4uYzI0NTQzZTJhMWNhMjk5
OWVkNDJlZWZlZDlkYTVjNWVhNzAxZWRlNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9WZWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1ZlY3Rvci5o
CkBAIC0zOTIsNiArMzkyLDcgQEAgbmFtZXNwYWNlIFdURiB7CiAKICAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBULCBzaXplX3QgaW5saW5lQ2FwYWNpdHk+CiAgICAgY2xhc3MgVmVjdG9yQnVmZmVyIDog
cHJpdmF0ZSBWZWN0b3JCdWZmZXJCYXNlPFQ+IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoVmVjdG9yQnVmZmVyKTsKICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIFZlY3RvckJ1
ZmZlckJhc2U8VD4gQmFzZTsKICAgICBwdWJsaWM6CkBAIC00MTQsNiArNDE1LDcgQEAgbmFtZXNw
YWNlIFdURiB7CiAKICAgICAgICAgdm9pZCBhbGxvY2F0ZUJ1ZmZlcihzaXplX3QgbmV3Q2FwYWNp
dHkpCiAgICAgICAgIHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBBU1NFUlQo
IW1fYnVmZmVyKSB0byBjYXRjaCBtaXN1c2UvbGVha3MuCiAgICAgICAgICAgICBpZiAobmV3Q2Fw
YWNpdHkgPiBpbmxpbmVDYXBhY2l0eSkKICAgICAgICAgICAgICAgICBCYXNlOjphbGxvY2F0ZUJ1
ZmZlcihuZXdDYXBhY2l0eSk7CiAgICAgICAgICAgICBlbHNlIHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>