<?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>50185</bug_id>
          
          <creation_ts>2010-11-29 14:23:43 -0800</creation_ts>
          <short_desc>Should be able to pause and resume downloads</short_desc>
          <delta_ts>2010-11-29 15:34:55 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>314647</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-11-29 14:23:43 -0800</bug_when>
    <thetext>Should be able to pause and resume downloads</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314648</commentid>
    <comment_count>1</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-11-29 14:24:04 -0800</bug_when>
    <thetext>&lt;rdar://problem/8691135&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314653</commentid>
    <comment_count>2</comment_count>
      <attachid>75062</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-11-29 14:30:45 -0800</bug_when>
    <thetext>Created attachment 75062
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314660</commentid>
    <comment_count>3</comment_count>
      <attachid>75062</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-11-29 14:37:13 -0800</bug_when>
    <thetext>Comment on attachment 75062
Patch

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

Might be better to name this resumptionData rather than resumeData so it doesn’t sound like a verb phrase. But I guess the NSURLDownload method is already named resumeData?

&gt; WebKit2/UIProcess/Downloads/DownloadProxy.cpp:153
&gt; +    if (!resumeData.isEmpty())
&gt; +        m_resumeData = WebData::create(resumeData.data(), resumeData.size());

Would be nice to share this code instead of writing it twice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314662</commentid>
    <comment_count>4</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-11-29 14:41:04 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 75062 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=75062&amp;action=review
&gt; 
&gt; Might be better to name this resumptionData rather than resumeData so it doesn’t sound like a verb phrase. But I guess the NSURLDownload method is already named resumeData?

Yeah.

&gt; 
&gt; &gt; WebKit2/UIProcess/Downloads/DownloadProxy.cpp:153
&gt; &gt; +    if (!resumeData.isEmpty())
&gt; &gt; +        m_resumeData = WebData::create(resumeData.data(), resumeData.size());
&gt; 
&gt; Would be nice to share this code instead of writing it twice.

Fixed.

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314688</commentid>
    <comment_count>5</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-11-29 15:34:55 -0800</bug_when>
    <thetext>Committed r72841: &lt;http://trac.webkit.org/changeset/72841&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75062</attachid>
            <date>2010-11-29 14:30:45 -0800</date>
            <delta_ts>2010-11-29 14:37:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-50185-20101129143044.patch</filename>
            <type>text/plain</type>
            <size>19489</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdDIvQ2hhbmdlTG9nIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXgg
Mjc4MTlhMDQ3YjM4Njk3NzA2MzViNGM0YWMyNjkzYjMyNDdlODEyZS4uYWUzNjMzMzBmODU3N2Q3
MTBiM2UzZTU3NmVjNjY2Y2I4YWJjMTNjYSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsNSArMSw3NyBAQAogMjAxMC0xMS0yOSAgQW5k
ZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNob3VsZCBiZSBhYmxlIHRvIHBhdXNlIGFuZCBy
ZXN1bWUgZG93bmxvYWRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD01MDE4NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODY5MTEzNT4KKworICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuaDoKKyAgICAgICAgQWRkIGRpZENhbmNlbCBj
YWxsYmFjay4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0Rvd25sb2FkLmNwcDoKKyAg
ICAgICAgKFdLRG93bmxvYWRHZXRSZXN1bWVEYXRhKToKKyAgICAgICAgKFdLRG93bmxvYWRDYW5j
ZWwpOgorICAgICAgICBDYWxsIHRoZSByZXNwZWN0aXZlIERvd25sb2FkUHJveHkgbWVtYmVyIGZ1
bmN0aW9ucy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0Rvd25sb2FkLmg6CisgICAg
ICAgICogVUlQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZFByb3h5LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6RG93bmxvYWRQcm94eTo6Y2FuY2VsKToKKyAgICAgICAgU2VuZCBDYW5jZWwgdG8gdGhl
IFdlYlByb2Nlc3MuCisKKyAgICAgICAgKFdlYktpdDo6RG93bmxvYWRQcm94eTo6ZGlkRmFpbCk6
CisgICAgICAgIFRoaXMgbm93IHRha2VzIGEgcmVzdW1lRGF0YSByZWZlcmVuY2UuCisKKyAgICAg
ICAgKFdlYktpdDo6RG93bmxvYWRQcm94eTo6ZGlkQ2FuY2VsKToKKyAgICAgICAgU2V0IHRoZSBy
ZXN1bWUgZGF0YSBhbmQgY2FsbCBkaWRDYW5jZWwuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvRG93
bmxvYWRzL0Rvd25sb2FkUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6RG93bmxvYWRQcm94eTo6
cmVzdW1lRGF0YSk6CisgICAgICAgIFJldHVybiB0aGUgcmVzdW1lIGRhdGEuCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkUHJveHkubWVzc2FnZXMuaW46CisgICAgICAg
IEFkZCBEaWRDYW5jZWwgbWVzc2FnZSwgQWRkIHJlc3VtZSBkYXRhIHRvIERpZEZhaWwuCisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViRG93bmxvYWRDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJEb3dubG9hZENsaWVudDo6ZGlkQ2FuY2VsKToKKyAgICAgICAgQ2FsbCB0aGUgZGlkQ2Fu
Y2VsIGNvbnRleHQgY2xpZW50IGZ1bmN0aW9uLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9Eb3du
bG9hZHMvRG93bmxvYWQuY3BwOgorICAgICAgICAoV2ViS2l0OjpEb3dubG9hZDo6ZGlkRmFpbCk6
CisgICAgICAgIFRoaXMgbm93IHRha2VzIGEgcmVzdW1lIGRhdGEgYXJndW1lbnQgYXMgd2VsbC4K
KyAgICAgICAgCisgICAgICAgIChXZWJLaXQ6OkRvd25sb2FkOjpkaWRDYW5jZWwpOgorICAgICAg
ICBTZW5kIERpZENhbmNlbC4KKworICAgICAgICAqIFdlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25s
b2FkTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRvd25sb2FkTWFuYWdlcjo6Y2FuY2Vs
RG93bmxvYWQpOgorICAgICAgICBMb29rIHVwIHRoZSBkb3dubG9hZCBhbmQgY2FuY2VsIGl0Lgor
CisgICAgICAgICogV2ViUHJvY2Vzcy9Eb3dubG9hZHMvY2YvRG93bmxvYWRDRk5ldC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OkRvd25sb2FkOjpjYW5jZWwpOgorICAgICAgICBBZGQgc3R1Yi4KKwor
ICAgICAgICAqIFdlYlByb2Nlc3MvRG93bmxvYWRzL21hYy9Eb3dubG9hZE1hYy5tbToKKyAgICAg
ICAgKFdlYktpdDo6RG93bmxvYWQ6OmNhbmNlbCk6CisgICAgICAgIENhbmNlbCB0aGUgZG93bmxv
YWQuCisKKyAgICAgICAgKC1bV0tEb3dubG9hZEFzRGVsZWdhdGUgZG93bmxvYWQ6ZGlkRmFpbFdp
dGhFcnJvcjpdKToKKyAgICAgICAgUGFzcyB0aGUgcmVzdW1lIGRhdGEgYWxvbmcuCisKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0Rvd25sb2Fkcy9xdC9Eb3dubG9hZFF0LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6RG93bmxvYWQ6OmNhbmNlbCk6CisgICAgICAgIEFkZCBzdHViLgorCisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6
Y2FuY2VsRG93bmxvYWQpOgorICAgICAgICBBc2sgdGhlIGRvd25sb2FkIG1hbmFnZXIgdG8gY2Fu
Y2VsIHRoZSBkb3dubG9hZC4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgQWRk
IENhbmNlbERvd25sb2FkIG1lc3NhZ2UuCisKKzIwMTAtMTEtMjkgIEFuZGVycyBDYXJsc3NvbiAg
PGFuZGVyc2NhQGFwcGxlLmNvbT4KKwogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgog
CiAgICAgICAgIERvd25sb2FkczogV2hlbiB0aGUgd2ViIHByb2Nlc3MgY3Jhc2hlcywgY2FsbCBl
cnJvciBjYWxsYmFja3MgZm9yIHBlbmRpbmcgZG93bmxvYWRzCmRpZmYgLS1naXQgYS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuaCBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
Q29udGV4dC5oCmluZGV4IDNjZDJiMmVkMTRmZTE4ZGJhMWU4MjU3ZDI3ZDk1ODg3ODgxMWI1NDEu
LjI5NzBhNmFjYWU3OTljNGVlYzFjNzFkYTNhZWI2NTJiZjAwMTQ4ZDMgMTAwNjQ0Ci0tLSBhL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5oCisrKyBiL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLQ29udGV4dC5oCkBAIC03OCw2ICs3OCw3IEBAIHR5cGVkZWYgV0tTdHJpbmdSZWYg
KCpXS0NvbnRleHREb3dubG9hZERlY2lkZURlc3RpbmF0aW9uV2l0aFN1Z2dlc3RlZEZpbGVuYW1l
Q2FsCiB0eXBlZGVmIHZvaWQgKCpXS0NvbnRleHREb3dubG9hZERpZENyZWF0ZURlc3RpbmF0aW9u
Q2FsbGJhY2spKFdLQ29udGV4dFJlZiBjb250ZXh0LCBXS0Rvd25sb2FkUmVmIGRvd25sb2FkLCBX
S1N0cmluZ1JlZiBwYXRoLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKIHR5cGVkZWYgdm9pZCAo
KldLQ29udGV4dERvd25sb2FkRGlkRmluaXNoQ2FsbGJhY2spKFdLQ29udGV4dFJlZiBjb250ZXh0
LCBXS0Rvd25sb2FkUmVmIGRvd25sb2FkLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKIHR5cGVk
ZWYgdm9pZCAoKldLQ29udGV4dERvd25sb2FkRGlkRmFpbENhbGxiYWNrKShXS0NvbnRleHRSZWYg
Y29udGV4dCwgV0tEb3dubG9hZFJlZiBkb3dubG9hZCwgV0tFcnJvclJlZiBlcnJvciwgY29uc3Qg
dm9pZCAqY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS0NvbnRleHREb3dubG9hZERpZENh
bmNlbCkoV0tDb250ZXh0UmVmIGNvbnRleHQsIFdLRG93bmxvYWRSZWYgZG93bmxvYWQsIGNvbnN0
IHZvaWQgKmNsaWVudEluZm8pOwogdHlwZWRlZiB2b2lkICgqV0tDb250ZXh0RG93bmxvYWRQcm9j
ZXNzRGlkQ3Jhc2hDYWxsYmFjaykoV0tDb250ZXh0UmVmIGNvbnRleHQsIFdLRG93bmxvYWRSZWYg
ZG93bmxvYWQsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwogCiBzdHJ1Y3QgV0tDb250ZXh0RG93
bmxvYWRDbGllbnQgewpAQCAtOTEsNiArOTIsNyBAQCBzdHJ1Y3QgV0tDb250ZXh0RG93bmxvYWRD
bGllbnQgewogICAgIFdLQ29udGV4dERvd25sb2FkRGlkQ3JlYXRlRGVzdGluYXRpb25DYWxsYmFj
ayAgICAgICAgICAgICAgICAgICAgICAgZGlkQ3JlYXRlRGVzdGluYXRpb247CiAgICAgV0tDb250
ZXh0RG93bmxvYWREaWRGaW5pc2hDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBkaWRGaW5pc2g7CiAgICAgV0tDb250ZXh0RG93bmxvYWREaWRGYWlsQ2FsbGJhY2sgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWRGYWlsOworICAgIFdLQ29udGV4dERv
d25sb2FkRGlkQ2FuY2VsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZGlkQ2FuY2VsOwogICAgIFdLQ29udGV4dERvd25sb2FkUHJvY2Vzc0RpZENyYXNoQ2FsbGJhY2sg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc0RpZENyYXNoOwogfTsKIHR5cGVkZWYg
c3RydWN0IFdLQ29udGV4dERvd25sb2FkQ2xpZW50IFdLQ29udGV4dERvd25sb2FkQ2xpZW50Owpk
aWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tEb3dubG9hZC5jcHAgYi9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0Rvd25sb2FkLmNwcAppbmRleCA2ZjNiNTM2YTMyNzM1NGZj
OGIyMDQ3ZWMzYzQ5Y2M0ZTkwNDA4YTUwLi44OTYwZTJhM2IwYzBhMzczMjI1NzFiNjI0YTdiNjY0
NGMzZTM5YzkxIDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0Rvd25sb2Fk
LmNwcAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0Rvd25sb2FkLmNwcApAQCAtNDAs
MyArNDAsMTMgQEAgV0tVUkxSZXF1ZXN0UmVmIFdLRG93bmxvYWRDb3B5UmVxdWVzdChXS0Rvd25s
b2FkUmVmIGRvd25sb2FkKQogewogICAgIHJldHVybiB0b0FQSShXZWJVUkxSZXF1ZXN0OjpjcmVh
dGUodG9JbXBsKGRvd25sb2FkKS0+cmVxdWVzdCgpKS5sZWFrUmVmKCkpOwogfQorCitXS0RhdGFS
ZWYgV0tEb3dubG9hZEdldFJlc3VtZURhdGEoV0tEb3dubG9hZFJlZiBkb3dubG9hZCkKK3sKKyAg
ICByZXR1cm4gdG9BUEkodG9JbXBsKGRvd25sb2FkKS0+cmVzdW1lRGF0YSgpKTsKK30KKwordm9p
ZCBXS0Rvd25sb2FkQ2FuY2VsKFdLRG93bmxvYWRSZWYgZG93bmxvYWQpCit7CisgICAgcmV0dXJu
IHRvSW1wbChkb3dubG9hZCktPmNhbmNlbCgpOworfQpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tEb3dubG9hZC5oIGIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tEb3du
bG9hZC5oCmluZGV4IGI5NGY2Nzg4NGRhNDYyM2RkOTY4YjRiNjczNzcwNmU2OWRjODJhYTMuLmI4
MTI2ODE1NjA3MzVlMWUzOGQ3YjFkZjVlNTBlMjM2OWFlMGE5OWUgMTAwNjQ0Ci0tLSBhL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL1dLRG93bmxvYWQuaAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS0Rvd25sb2FkLmgKQEAgLTM5LDYgKzM5LDggQEAgZXh0ZXJuICJDIiB7CiBXS19FWFBP
UlQgV0tUeXBlSUQgV0tEb3dubG9hZEdldFR5cGVJRCgpOwogCiBXS19FWFBPUlQgV0tVUkxSZXF1
ZXN0UmVmIFdLRG93bmxvYWRDb3B5UmVxdWVzdChXS0Rvd25sb2FkUmVmIGRvd25sb2FkKTsKK1dL
X0VYUE9SVCBXS0RhdGFSZWYgV0tEb3dubG9hZEdldFJlc3VtZURhdGEoV0tEb3dubG9hZFJlZiBk
b3dubG9hZCk7CitXS19FWFBPUlQgdm9pZCBXS0Rvd25sb2FkQ2FuY2VsKFdLRG93bmxvYWRSZWYg
ZG93bmxvYWQpOwogCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KZGlmZiAtLWdpdCBhL1dlYktpdDIv
VUlQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZFByb3h5LmNwcCBiL1dlYktpdDIvVUlQcm9jZXNz
L0Rvd25sb2Fkcy9Eb3dubG9hZFByb3h5LmNwcAppbmRleCAxYWZjYTRiNjJhZTcwYjIwMmFiZmYx
OWIwZDI5Mzc4MWZmN2UyZjI3Li5kZjJiNDIzYWNhMDFiODczNmQ0ZDgyYTAyYWE2ZjJkNmJiODNl
NzdkIDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94
eS5jcHAKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkUHJveHkuY3Bw
CkBAIC0yNSw4ICsyNSwxMCBAQAogCiAjaW5jbHVkZSAiRG93bmxvYWRQcm94eS5oIgogCi0jaW5j
bHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5j
bHVkZSAiV2ViQ29udGV4dC5oIgorI2luY2x1ZGUgIldlYkRhdGEuaCIKKyNpbmNsdWRlICJXZWJQ
cm9jZXNzTWVzc2FnZXMuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTU2LDYgKzU4LDE0IEBAIERvd25sb2FkUHJv
eHk6On5Eb3dubG9hZFByb3h5KCkKICAgICBBU1NFUlQoIW1fd2ViQ29udGV4dCk7CiB9CiAKK3Zv
aWQgRG93bmxvYWRQcm94eTo6Y2FuY2VsKCkKK3sKKyAgICBpZiAoIW1fd2ViQ29udGV4dCkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgbV93ZWJDb250ZXh0LT5wcm9jZXNzKCktPnNlbmQoTWVzc2Fn
ZXM6OldlYlByb2Nlc3M6OkNhbmNlbERvd25sb2FkKG1fZG93bmxvYWRJRCksIDApOworfQorCiB2
b2lkIERvd25sb2FkUHJveHk6OmludmFsaWRhdGUoKQogewogICAgIEFTU0VSVChtX3dlYkNvbnRl
eHQpOwpAQCAtMTM0LDE2ICsxNDQsMzAgQEAgdm9pZCBEb3dubG9hZFByb3h5OjpkaWRGaW5pc2go
KQogICAgIG1fd2ViQ29udGV4dC0+ZG93bmxvYWRGaW5pc2hlZCh0aGlzKTsKIH0KIAotdm9pZCBE
b3dubG9hZFByb3h5OjpkaWRGYWlsKGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQordm9pZCBE
b3dubG9hZFByb3h5OjpkaWRGYWlsKGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yLCBjb25zdCBD
b3JlSVBDOjpEYXRhUmVmZXJlbmNlJiByZXN1bWVEYXRhKQogewogICAgIGlmICghbV93ZWJDb250
ZXh0KQogICAgICAgICByZXR1cm47CiAKKyAgICBpZiAoIXJlc3VtZURhdGEuaXNFbXB0eSgpKQor
ICAgICAgICBtX3Jlc3VtZURhdGEgPSBXZWJEYXRhOjpjcmVhdGUocmVzdW1lRGF0YS5kYXRhKCks
IHJlc3VtZURhdGEuc2l6ZSgpKTsKKwogICAgIG1fd2ViQ29udGV4dC0+ZG93bmxvYWRDbGllbnQo
KS5kaWRGYWlsKG1fd2ViQ29udGV4dCwgdGhpcywgZXJyb3IpOwogCiAgICAgLy8gVGhpcyBjYW4g
Y2F1c2UgdGhlIERvd25sb2FkUHJveHkgb2JqZWN0IHRvIGJlIGRlbGV0ZWQuCiAgICAgbV93ZWJD
b250ZXh0LT5kb3dubG9hZEZpbmlzaGVkKHRoaXMpOwogfQogCit2b2lkIERvd25sb2FkUHJveHk6
OmRpZENhbmNlbChjb25zdCBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlJiByZXN1bWVEYXRhKQorewor
ICAgIGlmICghcmVzdW1lRGF0YS5pc0VtcHR5KCkpCisgICAgICAgIG1fcmVzdW1lRGF0YSA9IFdl
YkRhdGE6OmNyZWF0ZShyZXN1bWVEYXRhLmRhdGEoKSwgcmVzdW1lRGF0YS5zaXplKCkpOworCisg
ICAgbV93ZWJDb250ZXh0LT5kb3dubG9hZENsaWVudCgpLmRpZENhbmNlbChtX3dlYkNvbnRleHQs
IHRoaXMpOworCisgICAgLy8gVGhpcyBjYW4gY2F1c2UgdGhlIERvd25sb2FkUHJveHkgb2JqZWN0
IHRvIGJlIGRlbGV0ZWQuCisgICAgbV93ZWJDb250ZXh0LT5kb3dubG9hZEZpbmlzaGVkKHRoaXMp
OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVBy
b2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkUHJveHkuaCBiL1dlYktpdDIvVUlQcm9jZXNzL0Rvd25s
b2Fkcy9Eb3dubG9hZFByb3h5LmgKaW5kZXggYWFlMzJlMmE1ZjQwZDViZjU3OTg2MjUxYmRkNWEw
MzRjNzRkODBjOC4uYTE1NWQ3MjRiZjhlMzU2YjlkMzA2NWQ2NTA5MTEwZmFlZWE2MDQwZSAxMDA2
NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkUHJveHkuaAorKysg
Yi9XZWJLaXQyL1VJUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94eS5oCkBAIC00MSw2ICs0
MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBX
ZWJDb250ZXh0OworY2xhc3MgV2ViRGF0YTsKIAogY2xhc3MgRG93bmxvYWRQcm94eSA6IHB1Ymxp
YyBBUElPYmplY3QgewogcHVibGljOgpAQCAtNTEsNiArNTIsOSBAQCBwdWJsaWM6CiAKICAgICB1
aW50NjRfdCBkb3dubG9hZElEKCkgY29uc3QgeyByZXR1cm4gbV9kb3dubG9hZElEOyB9CiAgICAg
Y29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KCkgY29uc3QgeyByZXR1cm4g
bV9yZXF1ZXN0OyB9CisgICAgV2ViRGF0YSogcmVzdW1lRGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1f
cmVzdW1lRGF0YS5nZXQoKTsgfQorCisgICAgdm9pZCBjYW5jZWwoKTsKIAogICAgIHZvaWQgaW52
YWxpZGF0ZSgpOwogICAgIHZvaWQgcHJvY2Vzc0RpZENsb3NlKCk7CkBAIC03MSwxMCArNzUsMTMg
QEAgcHJpdmF0ZToKICAgICB2b2lkIGRlY2lkZURlc3RpbmF0aW9uV2l0aFN1Z2dlc3RlZEZpbGVu
YW1lKGNvbnN0IFN0cmluZyYgZmlsZW5hbWUsIFN0cmluZyYgZGVzdGluYXRpb24sIGJvb2wmIGFs
bG93T3ZlcndyaXRlLCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmIHNhbmRib3hFeHRlbnNpb25I
YW5kbGUpOwogICAgIHZvaWQgZGlkQ3JlYXRlRGVzdGluYXRpb24oY29uc3QgU3RyaW5nJiBwYXRo
KTsKICAgICB2b2lkIGRpZEZpbmlzaCgpOwotICAgIHZvaWQgZGlkRmFpbChjb25zdCBXZWJDb3Jl
OjpSZXNvdXJjZUVycm9yJik7CisgICAgdm9pZCBkaWRGYWlsKGNvbnN0IFdlYkNvcmU6OlJlc291
cmNlRXJyb3ImLCBjb25zdCBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlJiByZXN1bWVEYXRhKTsKKyAg
ICB2b2lkIGRpZENhbmNlbChjb25zdCBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlJiByZXN1bWVEYXRh
KTsKIAogICAgIFdlYkNvbnRleHQqIG1fd2ViQ29udGV4dDsKICAgICB1aW50NjRfdCBtX2Rvd25s
b2FkSUQ7CisKKyAgICBSZWZQdHI8V2ViRGF0YT4gbV9yZXN1bWVEYXRhOwogICAgIFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdCBtX3JlcXVlc3Q7CiB9OwogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94eS5tZXNzYWdlcy5pbiBiL1dlYktpdDIvVUlQ
cm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZFByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDI0M2RlYjc2
NGZiZjlhNmJmODc3ZmY0MGNkOTg1YjgzYWMyMjdmY2EuLjk5OTA4MGI3ZTI2YzcwNzM0OGM1ZTg4
NzMwYjIyMzkwNDg5ODhkOTMgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL0Rvd25sb2Fk
cy9Eb3dubG9hZFByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL0Rvd25s
b2Fkcy9Eb3dubG9hZFByb3h5Lm1lc3NhZ2VzLmluCkBAIC0yOCw1ICsyOCw2IEBAIG1lc3NhZ2Vz
IC0+IERvd25sb2FkUHJveHkgewogICAgIERlY2lkZURlc3RpbmF0aW9uV2l0aFN1Z2dlc3RlZEZp
bGVuYW1lKFN0cmluZyBmaWxlbmFtZSkgLT4gKFN0cmluZyBkZXN0aW5hdGlvbiwgYm9vbCBhbGxv
d092ZXJ3cml0ZSwgV2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgc2FuZGJveEV4dGVu
c2lvbkhhbmRsZSkKICAgICBEaWRDcmVhdGVEZXN0aW5hdGlvbihXVEY6OlN0cmluZyBwYXRoKQog
ICAgIERpZEZpbmlzaCgpCi0gICAgRGlkRmFpbChXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGVycm9y
KQorICAgIERpZEZhaWwoV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJvciwgQ29yZUlQQzo6RGF0
YVJlZmVyZW5jZSByZXN1bWVEYXRhKQorICAgIERpZENhbmNlbChDb3JlSVBDOjpEYXRhUmVmZXJl
bmNlIHJlc3VtZURhdGEpCiB9CmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJEb3du
bG9hZENsaWVudC5jcHAgYi9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJEb3dubG9hZENsaWVudC5jcHAK
aW5kZXggYmE1MzU4OGI2NGQ1MTdjZTk2NTk4ZjNmZjVkNTgwMGJmOGYwN2JhOS4uZDZhN2JjYjQz
ZDY0MTE2M2Y2MjM5NmQxNDQyMGQyNDQyNWZlMjU1NyAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViRG93bmxvYWRDbGllbnQuY3BwCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL1dlYkRv
d25sb2FkQ2xpZW50LmNwcApAQCAtOTgsNiArOTgsMTQgQEAgdm9pZCBXZWJEb3dubG9hZENsaWVu
dDo6ZGlkRmFpbChXZWJDb250ZXh0KiB3ZWJDb250ZXh0LCBEb3dubG9hZFByb3h5KiBkb3dubG9h
ZFAKICAgICBtX2NsaWVudC5kaWRGYWlsKHRvQVBJKHdlYkNvbnRleHQpLCB0b0FQSShkb3dubG9h
ZFByb3h5KSwgdG9BUEkoZXJyb3IpLCBtX2NsaWVudC5jbGllbnRJbmZvKTsKIH0KIAordm9pZCBX
ZWJEb3dubG9hZENsaWVudDo6ZGlkQ2FuY2VsKFdlYkNvbnRleHQqIHdlYkNvbnRleHQsIERvd25s
b2FkUHJveHkqIGRvd25sb2FkUHJveHkpCit7CisgICAgaWYgKCFtX2NsaWVudC5kaWRDYW5jZWwp
CisgICAgICAgIHJldHVybjsKKworICAgIG1fY2xpZW50LmRpZENhbmNlbCh0b0FQSSh3ZWJDb250
ZXh0KSwgdG9BUEkoZG93bmxvYWRQcm94eSksIG1fY2xpZW50LmNsaWVudEluZm8pOworfQorCiB2
b2lkIFdlYkRvd25sb2FkQ2xpZW50Ojpwcm9jZXNzRGlkQ3Jhc2goV2ViQ29udGV4dCogd2ViQ29u
dGV4dCwgRG93bmxvYWRQcm94eSogZG93bmxvYWRQcm94eSkKIHsKICAgICBpZiAoIW1fY2xpZW50
LnByb2Nlc3NEaWRDcmFzaCkKZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL1dlYkRvd25s
b2FkQ2xpZW50LmggYi9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJEb3dubG9hZENsaWVudC5oCmluZGV4
IGY1YzIyMTFjN2FhZWUxZGZlOGRlNzRlNWIyNGVmODY3MjQzZDNiZWQuLjkwMmM4NzAzZDNkNjgx
NDc1MWNkYmNmMTQ1ZTYyNDJhNWNmNzg5MjQgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNz
L1dlYkRvd25sb2FkQ2xpZW50LmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRG93bmxvYWRD
bGllbnQuaApAQCAtNTAsNiArNTAsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRDcmVhdGVEZXN0
aW5hdGlvbihXZWJDb250ZXh0KiwgRG93bmxvYWRQcm94eSosIGNvbnN0IFN0cmluZyYgcGF0aCk7
CiAgICAgdm9pZCBkaWRGaW5pc2goV2ViQ29udGV4dCosIERvd25sb2FkUHJveHkqKTsKICAgICB2
b2lkIGRpZEZhaWwoV2ViQ29udGV4dCosIERvd25sb2FkUHJveHkqLCBjb25zdCBXZWJDb3JlOjpS
ZXNvdXJjZUVycm9yJik7CisgICAgdm9pZCBkaWRDYW5jZWwoV2ViQ29udGV4dCosIERvd25sb2Fk
UHJveHkqKTsKICAgICB2b2lkIHByb2Nlc3NEaWRDcmFzaChXZWJDb250ZXh0KiwgRG93bmxvYWRQ
cm94eSopOwogfTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9E
b3dubG9hZC5jcHAgYi9XZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmNwcApp
bmRleCBlNzBkOTI3ZmYwMDdhNjcwM2M1NTE0YzIyNjJjYTY5NTdjY2VlMjEzLi4zY2I1NTg4NWE1
ZTZmNWZhNGJmOTM2NjM2OTE4YmQzMjc5YTA5NGVlIDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlBy
b2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmNwcAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvRG93
bmxvYWRzL0Rvd25sb2FkLmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgIkRvd25sb2Fk
LmgiCiAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5o
IgogI2luY2x1ZGUgIkRvd25sb2FkUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIkRvd25sb2Fk
TWFuYWdlci5oIgogI2luY2x1ZGUgIlNhbmRib3hFeHRlbnNpb24uaCIKQEAgLTExMCw5ICsxMTEs
MTggQEAgdm9pZCBEb3dubG9hZDo6ZGlkRmluaXNoKCkKICAgICBEb3dubG9hZE1hbmFnZXI6OnNo
YXJlZCgpLmRvd25sb2FkRmluaXNoZWQodGhpcyk7CiB9CiAKLXZvaWQgRG93bmxvYWQ6OmRpZEZh
aWwoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYgZXJyb3IpCit2b2lkIERvd25sb2FkOjpk
aWRGYWlsKGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yLCBjb25zdCBDb3JlSVBDOjpEYXRhUmVm
ZXJlbmNlJiByZXN1bWVEYXRhKQogewotICAgIHNlbmQoTWVzc2FnZXM6OkRvd25sb2FkUHJveHk6
OkRpZEZhaWwoZXJyb3IpKTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpEb3dubG9hZFByb3h5OjpEaWRG
YWlsKGVycm9yLCByZXN1bWVEYXRhKSk7CisKKyAgICBpZiAobV9zYW5kYm94RXh0ZW5zaW9uKQor
ICAgICAgICBtX3NhbmRib3hFeHRlbnNpb24tPmludmFsaWRhdGUoKTsKKyAgICBEb3dubG9hZE1h
bmFnZXI6OnNoYXJlZCgpLmRvd25sb2FkRmluaXNoZWQodGhpcyk7Cit9CisKK3ZvaWQgRG93bmxv
YWQ6OmRpZENhbmNlbChjb25zdCBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlJiByZXN1bWVEYXRhKQor
eworICAgIHNlbmQoTWVzc2FnZXM6OkRvd25sb2FkUHJveHk6OkRpZENhbmNlbChyZXN1bWVEYXRh
KSk7CiAKICAgICBpZiAobV9zYW5kYm94RXh0ZW5zaW9uKQogICAgICAgICBtX3NhbmRib3hFeHRl
bnNpb24tPmludmFsaWRhdGUoKTsKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3du
bG9hZHMvRG93bmxvYWQuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWQu
aAppbmRleCAzN2ZhY2E4NDE4NjlmYzdlZmViNTc5MGE2NTVlMTE2N2RmMTIwMDg0Li41NGYzMjVh
ZDc4ZjI5ZDVmYTA2YTE0OWZkMzU2OTg0YTliNmMwZjU1IDEwMDY0NAotLS0gYS9XZWJLaXQyL1dl
YlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmgKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rv
d25sb2Fkcy9Eb3dubG9hZC5oCkBAIC00Miw2ICs0MiwxMCBAQCBjbGFzcyBXS0Rvd25sb2FkQXNE
ZWxlZ2F0ZTsKICNlbmRpZgogI2VuZGlmCiAKK25hbWVzcGFjZSBDb3JlSVBDIHsKKyAgICBjbGFz
cyBEYXRhUmVmZXJlbmNlOworfQorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgUmVz
b3VyY2VFcnJvcjsKICAgICBjbGFzcyBSZXNvdXJjZUhhbmRsZTsKQEAgLTY2LDYgKzcwLDcgQEAg
cHVibGljOgogCiAgICAgdm9pZCBzdGFydChXZWJQYWdlKiBpbml0aWF0aW5nV2ViUGFnZSk7CiAg
ICAgdm9pZCBzdGFydFdpdGhIYW5kbGUoV2ViUGFnZSogaW5pdGlhdGluZ1BhZ2UsIFdlYkNvcmU6
OlJlc291cmNlSGFuZGxlKiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiBpbml0aWFs
UmVxdWVzdCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpOworICAgIHZvaWQgY2Fu
Y2VsKCk7CiAKICAgICB1aW50NjRfdCBkb3dubG9hZElEKCkgY29uc3QgeyByZXR1cm4gbV9kb3du
bG9hZElEOyB9CiAKQEAgLTc2LDcgKzgxLDggQEAgcHVibGljOgogICAgIFN0cmluZyBkZWNpZGVE
ZXN0aW5hdGlvbldpdGhTdWdnZXN0ZWRGaWxlbmFtZShjb25zdCBTdHJpbmcmIGZpbGVuYW1lLCBi
b29sJiBhbGxvd092ZXJ3cml0ZSk7CiAgICAgdm9pZCBkaWRDcmVhdGVEZXN0aW5hdGlvbihjb25z
dCBTdHJpbmcmIHBhdGgpOwogICAgIHZvaWQgZGlkRmluaXNoKCk7Ci0gICAgdm9pZCBkaWRGYWls
KGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImKTsKKyAgICB2b2lkIGRpZEZhaWwoY29uc3Qg
V2ViQ29yZTo6UmVzb3VyY2VFcnJvciYsIGNvbnN0IENvcmVJUEM6OkRhdGFSZWZlcmVuY2UmIHJl
c3VtZURhdGEpOworICAgIHZvaWQgZGlkQ2FuY2VsKGNvbnN0IENvcmVJUEM6OkRhdGFSZWZlcmVu
Y2UmIHJlc3VtZURhdGEpOwogCiBwcml2YXRlOgogICAgIERvd25sb2FkKHVpbnQ2NF90IGRvd25s
b2FkSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpOwpkaWZmIC0tZ2l0IGEvV2Vi
S2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuY3BwIGIvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuY3BwCmluZGV4IGIzYWNhZDVhZTI0
NmMzZDg0MjdmOGIyMjllMWQ0NDQ5YjA3Nzg1MGYuLmU2NTg4M2EwMjBiNmNkMTFiMDlmZmJkZmFk
MDdjNjllYjIyNTMzM2EgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMv
RG93bmxvYWRNYW5hZ2VyLmNwcAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rv
d25sb2FkTWFuYWdlci5jcHAKQEAgLTYxLDYgKzYxLDE1IEBAIHZvaWQgRG93bmxvYWRNYW5hZ2Vy
Ojpjb252ZXJ0SGFuZGxlVG9Eb3dubG9hZCh1aW50NjRfdCBkb3dubG9hZElELCBXZWJQYWdlKiBp
bml0CiAgICAgbV9kb3dubG9hZHMuc2V0KGRvd25sb2FkSUQsIGRvd25sb2FkLmxlYWtQdHIoKSk7
CiB9CiAKK3ZvaWQgRG93bmxvYWRNYW5hZ2VyOjpjYW5jZWxEb3dubG9hZCh1aW50NjRfdCBkb3du
bG9hZElEKQoreworICAgIERvd25sb2FkKiBkb3dubG9hZCA9IG1fZG93bmxvYWRzLmdldChkb3du
bG9hZElEKTsKKyAgICBpZiAoIWRvd25sb2FkKQorICAgICAgICByZXR1cm47CisKKyAgICBkb3du
bG9hZC0+Y2FuY2VsKCk7Cit9CisKIHZvaWQgRG93bmxvYWRNYW5hZ2VyOjpkb3dubG9hZEZpbmlz
aGVkKERvd25sb2FkKiBkb3dubG9hZCkKIHsKICAgICBBU1NFUlQobV9kb3dubG9hZHMuY29udGFp
bnMoZG93bmxvYWQtPmRvd25sb2FkSUQoKSkpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3du
bG9hZHMvRG93bmxvYWRNYW5hZ2VyLmgKaW5kZXggMDI0NWJiNjA1MDA3NTdjYjhlYzAzOTcxMTU0
ODI5MGYyNjBiMGQ1ZC4uMWYyN2I4NjdhZWQ1NThmYmI3NTNiYzY1MmYxOGIwYWNiNjlhMDAyMyAx
MDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIu
aAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5oCkBA
IC00OSw2ICs0OSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHN0YXJ0RG93bmxvYWQodWludDY0X3Qg
ZG93bmxvYWRJRCwgV2ViUGFnZSogaW5pdGlhdGluZ1BhZ2UsIGNvbnN0IFdlYkNvcmU6OlJlc291
cmNlUmVxdWVzdCYpOwogICAgIHZvaWQgY29udmVydEhhbmRsZVRvRG93bmxvYWQodWludDY0X3Qg
ZG93bmxvYWRJRCwgV2ViUGFnZSogaW5pdGlhdGluZ1BhZ2UsIFdlYkNvcmU6OlJlc291cmNlSGFu
ZGxlKiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgV2ViQ29yZTo6UmVz
b3VyY2VSZXF1ZXN0JiBpbml0aWFsUmVxdWVzdCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNw
b25zZSYpOwogCisgICAgdm9pZCBjYW5jZWxEb3dubG9hZCh1aW50NjRfdCBkb3dubG9hZElEKTsK
KwogICAgIHZvaWQgZG93bmxvYWRGaW5pc2hlZChEb3dubG9hZCopOwogICAgIGJvb2wgaXNEb3du
bG9hZGluZygpIGNvbnN0IHsgcmV0dXJuICFtX2Rvd25sb2Fkcy5pc0VtcHR5KCk7IH0KIApkaWZm
IC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9jZi9Eb3dubG9hZENGTmV0LmNw
cCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvY2YvRG93bmxvYWRDRk5ldC5jcHAKaW5k
ZXggNGY1NmUzNWIxNTVkNjVkM2Q4NzM2ZDM3NzRkZTNhZDBkZGNjNWYwNS4uMzRmZDYwZWQ4OGEw
YWI0ZmE4YjAyM2UzYmIxNGZjMWNmN2ZmZWQ5MCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0Rvd25sb2Fkcy9jZi9Eb3dubG9hZENGTmV0LmNwcAorKysgYi9XZWJLaXQyL1dlYlByb2Nl
c3MvRG93bmxvYWRzL2NmL0Rvd25sb2FkQ0ZOZXQuY3BwCkBAIC00MSw2ICs0MSwxMSBAQCB2b2lk
IERvd25sb2FkOjpzdGFydFdpdGhIYW5kbGUoV2ViUGFnZSogaW5pdGlhdGluZ1BhZ2UsIFJlc291
cmNlSGFuZGxlKiwgY29uc3QgUgogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKK3ZvaWQgRG93
bmxvYWQ6OmNhbmNlbCgpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwogdm9pZCBEb3du
bG9hZDo6cGxhdGZvcm1JbnZhbGlkYXRlKCkKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwpkaWZm
IC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9tYWMvRG93bmxvYWRNYWMubW0g
Yi9XZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL21hYy9Eb3dubG9hZE1hYy5tbQppbmRleCA2
Y2E0OWFkM2UyNTlhMzExZjkwZmY2NzM5OGM0MGVmMmUyNTNkN2VkLi5jN2FiMTlkMGJiOWMyZGI2
NjU3MWNlYjEyZTM1YWI0ZWFlNmQxZDIyIDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3Mv
RG93bmxvYWRzL21hYy9Eb3dubG9hZE1hYy5tbQorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvRG93
bmxvYWRzL21hYy9Eb3dubG9hZE1hYy5tbQpAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgPFdl
YkNvcmUvUGFnZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VIYW5kbGUuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNl
LmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJXZWJQYWdlLmgiCiAK
QEAgLTE0NSw2ICsxNDYsMTUgQEAgdm9pZCBEb3dubG9hZDo6c3RhcnRXaXRoSGFuZGxlKFdlYlBh
Z2UqIGluaXRpYXRpbmdQYWdlLCBSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCAKICAgICBzZXRPcmln
aW5hbFVSTEZvckRvd25sb2FkKGluaXRpYXRpbmdQYWdlLCBtX25zVVJMRG93bmxvYWQuZ2V0KCks
IGluaXRpYWxSZXF1ZXN0KTsKIH0KIAordm9pZCBEb3dubG9hZDo6Y2FuY2VsKCkKK3sKKyAgICBb
bV9uc1VSTERvd25sb2FkLmdldCgpIGNhbmNlbF07CisKKyAgICBSZXRhaW5QdHI8TlNEYXRhPiBy
ZXN1bWVEYXRhID0gW21fbnNVUkxEb3dubG9hZC5nZXQoKSByZXN1bWVEYXRhXTsKKworICAgIGRp
ZENhbmNlbChDb3JlSVBDOjpEYXRhUmVmZXJlbmNlKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWlu
dDhfdCo+KFtyZXN1bWVEYXRhLmdldCgpIGJ5dGVzXSksIFtyZXN1bWVEYXRhLmdldCgpIGxlbmd0
aF0pKTsKK30KKwogdm9pZCBEb3dubG9hZDo6cGxhdGZvcm1JbnZhbGlkYXRlKCkKIHsKICAgICBB
U1NFUlQobV9uc1VSTERvd25sb2FkKTsKQEAgLTI2Miw4ICsyNzIsMTMgQEAgLSAodm9pZClkb3du
bG9hZERpZEZpbmlzaDooTlNVUkxEb3dubG9hZCAqKWRvd25sb2FkCiAKIC0gKHZvaWQpZG93bmxv
YWQ6KE5TVVJMRG93bmxvYWQgKilkb3dubG9hZCBkaWRGYWlsV2l0aEVycm9yOihOU0Vycm9yICop
ZXJyb3IKIHsKLSAgICBpZiAoX2Rvd25sb2FkKQotICAgICAgICBfZG93bmxvYWQtPmRpZEZhaWwo
ZXJyb3IpOworICAgIGlmICghX2Rvd25sb2FkKQorICAgICAgICByZXR1cm47CisKKyAgICBSZXRh
aW5QdHI8TlNEYXRhPiByZXN1bWVEYXRhID0gW2Rvd25sb2FkIHJlc3VtZURhdGFdOworICAgIENv
cmVJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YVJlZmVyZW5jZShyZWludGVycHJldF9jYXN0PGNvbnN0
IHVpbnQ4X3QqPihbcmVzdW1lRGF0YS5nZXQoKSBieXRlc10pLCBbcmVzdW1lRGF0YS5nZXQoKSBs
ZW5ndGhdKTsKKworICAgIF9kb3dubG9hZC0+ZGlkRmFpbChlcnJvciwgZGF0YVJlZmVyZW5jZSk7
CiB9CiAKIEBlbmQKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvcXQv
RG93bmxvYWRRdC5jcHAgYi9XZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL3F0L0Rvd25sb2Fk
UXQuY3BwCmluZGV4IDRmNTZlMzViMTU1ZDY1ZDNkODczNmQzNzc0ZGUzYWQwZGRjYzVmMDUuLjM0
ZmQ2MGVkODhhMGFiNGZhOGIwMjNlM2JiMTRmYzFjZjdmZmVkOTAgMTAwNjQ0Ci0tLSBhL1dlYktp
dDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvcXQvRG93bmxvYWRRdC5jcHAKKysrIGIvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0Rvd25sb2Fkcy9xdC9Eb3dubG9hZFF0LmNwcApAQCAtNDEsNiArNDEsMTEgQEAg
dm9pZCBEb3dubG9hZDo6c3RhcnRXaXRoSGFuZGxlKFdlYlBhZ2UqIGluaXRpYXRpbmdQYWdlLCBS
ZXNvdXJjZUhhbmRsZSosIGNvbnN0IFIKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCit2b2lk
IERvd25sb2FkOjpjYW5jZWwoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKIHZvaWQg
RG93bmxvYWQ6OnBsYXRmb3JtSW52YWxpZGF0ZSgpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsK
ZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAppbmRleCA4MTkwNzUwYTVkOWM2ZWVkZGU5Zjg1Zjgy
NDcyNmVjMzg5ZDRhMjA5Li5hNGJiMGJiMDg2Mzg2NTc3N2JlMTFlODc1YTc4NzJkNTUzYmJhOWY4
IDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKKysrIGIvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC01NDgsNCArNTQ4LDkgQEAgdm9pZCBX
ZWJQcm9jZXNzOjpjbGVhckFwcGxpY2F0aW9uQ2FjaGUoKQogI2VuZGlmCiB9CiAKK3ZvaWQgV2Vi
UHJvY2Vzczo6Y2FuY2VsRG93bmxvYWQodWludDY0X3QgZG93bmxvYWRJRCkKK3sKKyAgICBEb3du
bG9hZE1hbmFnZXI6OnNoYXJlZCgpLmNhbmNlbERvd25sb2FkKGRvd25sb2FkSUQpOworfQorCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4IGFjMGU1MmY5
Yjc1YzJiZTczMjNhZmIyYjc1ZWE0YmVkNDNjNTgwMWQuLmNiYzhiOGY5ZTAyNDgzNTdlZWIwNzA1
MDUwN2JhZTYxY2M4NTEzM2YgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmgKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaApAQCAtMTEyLDYgKzEx
Miw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBwbGF0Zm9ybUNsZWFyUmVzb3VyY2VDYWNoZXMoKTsK
ICAgICB2b2lkIGNsZWFyQXBwbGljYXRpb25DYWNoZSgpOwogCisgICAgdm9pZCBjYW5jZWxEb3du
bG9hZCh1aW50NjRfdCBkb3dubG9hZElEKTsKKwogICAgIC8vIENvcmVJUEM6OkNvbm5lY3Rpb246
OkNsaWVudAogICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbios
IENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKik7CiAgICAgdm9p
ZCBkaWRDbG9zZShDb3JlSVBDOjpDb25uZWN0aW9uKik7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IGE0NjI2YzU5MzI0MTljNTJhYjk5M2I0NGUzNzQ0NDk1
OGM5MzMzZjAuLjFiNjM0OTZiMzVhNjUwZmNjZWY0NzFlNzk1NDEzMjEwOWM2ZGU3YjEgMTAwNjQ0
Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC00NSw0ICs0NSw4IEBA
IG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3MgewogCiAgICAgQ2xlYXJSZXNvdXJjZUNhY2hlcygpOwog
ICAgIENsZWFyQXBwbGljYXRpb25DYWNoZSgpOworCisgICAgIyBEb3dubG9hZHMuIFRoaXMgc2hv
dWxkIHJlYWxseSBiZSBpbiBhIERvd25sb2FkLm1lc3NhZ2VzLmluLCBidXQgaXQgc2VlbWVkIHVu
bmVjZXNzYXJ5IHRvIGNyZWF0ZSBhIG5ldyBmaWxlIGp1c3QgZm9yCisgICAgIyBhIHNpbmdsZSBt
ZXNzYWdlLgorICAgIENhbmNlbERvd25sb2FkKHVpbnQ2NF90IGRvd25sb2FkSUQpCiB9Cg==
</data>
<flag name="review"
          id="65790"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>