<?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>157660</bug_id>
          
          <creation_ts>2016-05-12 20:27:45 -0700</creation_ts>
          <short_desc>[NetworkCache] Avoid having to re-parse URLs after deserializing them</short_desc>
          <delta_ts>2016-05-13 19:25:38 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Bindings</component>
          <version>WebKit 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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>koivisto</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1192607</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-05-12 20:27:45 -0700</bug_when>
    <thetext>Avoid having to re-parse URLs after deserializing them. This impacts both our IPC and our disk cache storage code.
We currently serialize URLs as Strings, which means that we have the re-parse them upon deserialization.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1192608</commentid>
    <comment_count>1</comment_count>
      <attachid>278807</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-05-12 20:35:15 -0700</bug_when>
    <thetext>Created attachment 278807
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1192641</commentid>
    <comment_count>2</comment_count>
      <attachid>278807</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-05-12 21:56:34 -0700</bug_when>
    <thetext>Comment on attachment 278807
Patch

One encoder is better than the two we had before.  r=me for correctness, but is this really faster?
Also, why are all the member variables signed integers?  I think they should be unsigned.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1192644</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-05-12 22:03:55 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 278807 [details]
&gt; Patch
&gt; 
&gt; One encoder is better than the two we had before.  r=me for correctness, but
&gt; is this really faster?
&gt; Also, why are all the member variables signed integers?  I think they should
&gt; be unsigned.

Do you mind if I change the type of those members in a follow up?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1192663</commentid>
    <comment_count>4</comment_count>
      <attachid>278807</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2016-05-12 22:50:34 -0700</bug_when>
    <thetext>Comment on attachment 278807
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        Avoid having to re-parse URLs after deserializing them. This impacts
&gt; +        both our WK2 IPC and our WK2 network cache storage code.

Is this good when handling untrusted URLs from WebContent in UI process?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1192675</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-05-12 23:53:54 -0700</bug_when>
    <thetext>I agree with Alexey that it in theory would be a problem trusting data from the web process. Worth talking over Anders and Sam at some point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1192767</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-05-13 09:09:57 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; I agree with Alexey that it in theory would be a problem trusting data from
&gt; the web process. Worth talking over Anders and Sam at some point.

Ok, based on Alexey and Darin&apos;s feedback, I think I&apos;ll restrict the optimization to the disk cache for now and not the IPC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1192831</commentid>
    <comment_count>7</comment_count>
      <attachid>278858</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-05-13 12:02:20 -0700</bug_when>
    <thetext>Created attachment 278858
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1193016</commentid>
    <comment_count>8</comment_count>
      <attachid>278858</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-13 19:25:31 -0700</bug_when>
    <thetext>Comment on attachment 278858
Patch

Clearing flags on attachment: 278858

Committed r200909: &lt;http://trac.webkit.org/changeset/200909&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1193017</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-13 19:25:38 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>278807</attachid>
            <date>2016-05-12 20:35:15 -0700</date>
            <delta_ts>2016-05-13 12:02:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-157660-20160512203606.patch</filename>
            <type>text/plain</type>
            <size>11959</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwNzk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGJlYWQ3ZjQxNGU1ZjA1
YjViMDhiY2NmZTEwOGFjZGMzNWJmM2M4MC4uYmFjZTQ1NzY2Y2Q1NGYxMDY5NzVkMzk4ZTFmMGM0
ODc3MzgwMDQxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE2LTA1LTEyICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQXZvaWQgaGF2aW5nIHRvIHJl
LXBhcnNlIFVSTHMgYWZ0ZXIgZGVzZXJpYWxpemluZyB0aGVtCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTc2NjAKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBdm9pZCBoYXZpbmcgdG8gcmUtcGFyc2UgVVJM
cyBhZnRlciBkZXNlcmlhbGl6aW5nIHRoZW0uIFRoaXMgaW1wYWN0cworICAgICAgICBib3RoIG91
ciBXSzIgSVBDIGFuZCBvdXIgV0syIG5ldHdvcmsgY2FjaGUgc3RvcmFnZSBjb2RlLgorCisgICAg
ICAgIFdlIHByZXZpb3VzbHkgc2VyaWFsaXplZCBVUkxzIGFzIFN0cmluZ3MsIHdoaWNoIG1lYW50
IHRoYXQgd2UgaGFkIHRoZQorICAgICAgICByZS1wYXJzZSB0aGVtIHVwb24gZGVzZXJpYWxpemF0
aW9uLiBXZSBub3cgc2VyaWFsaXplIGFsbCBvZiB0aGUgVVJMCisgICAgICAgIGRhdGEgbWVtYmVy
cyB0byBhdm9pZCBoYXZpbmcgdG8gcGFyc2UgdGhlIFN0cmluZyBhZ2Fpbi4KKworICAgICAgICAq
IHBsYXRmb3JtL1VSTC5oOgorICAgICAgICAoV2ViQ29yZTo6VVJMOjplbmNvZGUpOgorICAgICAg
ICAoV2ViQ29yZTo6VVJMOjpkZWNvZGUpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VSZXF1ZXN0QmFzZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFz
ZTo6ZW5jb2RlV2l0aG91dFBsYXRmb3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJj
ZVJlcXVlc3RCYXNlOjpkZWNvZGVXaXRob3V0UGxhdGZvcm1EYXRhKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmg6CisgICAgICAgIChXZWJDb3JlOjpS
ZXNvdXJjZVJlc3BvbnNlQmFzZTo6ZW5jb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNl
UmVzcG9uc2VCYXNlOjpkZWNvZGUpOgorCiAyMDE2LTA1LTEyICBBZGEgQ2hhbiAgPGFkYWNoYW5A
YXBwbGUuY29tPgogCiAgICAgICAgIFByZXZlbnQgY2xpY2tzIGluIHRoZSBwbGFjZWhvbGRlciBm
cm9tIHBsYXlpbmcgb3IgcGF1c2luZyB0aGUgdmlkZW8gaW4gYSBNZWRpYURvY3VtZW50LgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCmluZGV4IDE0MDc1ODU5OGM4ODdiM2RhNjU4YTQ0MTM5YjhmNWI4Yjg2NGE3MmEuLmM3OTE3
MTJjZDZjMTIzMTI2MWZiNTJmZWIzZDYyZTgzZjE5MWM3ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwzMSBAQAorMjAxNi0wNS0xMiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisg
ICAgICAgIEF2b2lkIGhhdmluZyB0byByZS1wYXJzZSBVUkxzIGFmdGVyIGRlc2VyaWFsaXppbmcg
dGhlbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU3
NjYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVDb2RlcnMuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpOZXR3b3JrQ2FjaGU6OkNvZGVyPFdlYkNvcmU6OlVSTD46OmVuY29kZSk6IERlbGV0ZWQu
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6Q29kZXI8V2ViQ29yZTo6VVJMPjo6ZGVj
b2RlKTogRGVsZXRlZC4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2Fj
aGVDb2RlcnMuaDoKKyAgICAgICAgRHJvcCB0ZW1wbGF0ZSBzcGVjaWFsaXphdGlvbnMgdXNlZCBi
eSBvdXIgbmV0d29yayBjYWNoZSBmb3IgZW5jb2RpbmcKKyAgICAgICAgLyBkZWNvZGluZyBVUkxz
IGFzIFN0cmluZ3MuIFRoaXMgY2F1c2VzIHVzIHRvIG5vdyByZWx5IG9uCisgICAgICAgIFVSTDo6
ZW5jb2RlKCkgLyBVUkw6OmRlY29kZSgpIGluc3RlYWQuCisKKyAgICAgICAgKiBTaGFyZWQvV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzLmNwcDoKKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxCbG9i
UGFydD46OmRlY29kZSk6CisgICAgICAgIEZpeCBidWcgaW4gQmxvYlBhcnQgZGVjb2RpbmcgdGhh
dCBiZWNhbWUgdmlzaWJsZSBhZnRlciBteSBjaGFuZ2UuCisgICAgICAgIFRoZSB0ZW1wbGF0ZSBz
cGVjaWFsaXphdGlvbiB3YXMgZW5jb2RpbmcgdGhlIFVSTCBhcyBhbiBVUkwgYW5kCisgICAgICAg
IHRoZW4gZGVjb2RpbmcgaXQgYXMgYSBTdHJpbmcuCisKKyAgICAgICAgKElQQzo6QXJndW1lbnRD
b2RlcjxVUkw+OjplbmNvZGUpOiBEZWxldGVkLgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVy
PFVSTD46OmRlY29kZSk6IERlbGV0ZWQuCisgICAgICAgICogU2hhcmVkL1dlYkNvcmVBcmd1bWVu
dENvZGVycy5oOgorICAgICAgICBEcm9wIHRlbXBsYXRlIHNwZWNpYWxpemF0aW9ucyB1c2VkIGJ5
IG91ciBJUEMgZm9yIGVuY29kaW5nCisgICAgICAgIC8gZGVjb2RpbmcgVVJMcyBhcyBTdHJpbmdz
LiBUaGlzIGNhdXNlcyB1cyB0byBub3cgcmVseSBvbgorICAgICAgICBVUkw6OmVuY29kZSgpIC8g
VVJMOjpkZWNvZGUoKSBpbnN0ZWFkLgorCiAyMDE2LTA1LTEyICBEYW5pZWwgQmF0ZXMgIDxkYWJh
dGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBVc2UgU2VjVGFzayBTUEkgdG8gcmV0cmlldmUgY29k
ZSBzaWduaW5nIGlkZW50aWZpZXIgZm9yIHVzZXIgZGlyZWN0b3J5IHN1ZmZpeApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVVJMLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9VUkwuaAppbmRleCA1YTUyMTY4MDNlNjY0N2U2OTFjYWZlZGUzOGJlMzkxNzQ1YzcyMmVjLi40
MjU4YWFkYzhiZTgyYjNjN2YxODEyZjA4OTRkYjBkOWVmMzU2YmU1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9VUkwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9V
UkwuaApAQCAtMTk1LDYgKzE5NSw5IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaXNTYWZlVG9TZW5k
VG9Bbm90aGVyVGhyZWFkKCkgY29uc3Q7CiAKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgRW5jb2Rlcj4g
dm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OworICAgIHRlbXBsYXRlIDxjbGFzcyBEZWNvZGVy
PiBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIFVSTCYpOworCiBwcml2YXRlOgogICAgIFdF
QkNPUkVfRVhQT1JUIHZvaWQgaW52YWxpZGF0ZSgpOwogICAgIHN0YXRpYyBib29sIHByb3RvY29s
SXMoY29uc3QgU3RyaW5nJiwgY29uc3QgY2hhciopOwpAQCAtMjI1LDYgKzIyOCw2NCBAQCBwcml2
YXRlOgogICAgIGludCBtX2ZyYWdtZW50RW5kOwogfTsKIAordGVtcGxhdGUgPGNsYXNzIEVuY29k
ZXI+Cit2b2lkIFVSTDo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5j
b2RlciA8PCBtX3N0cmluZzsKKyAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PGJvb2w+KG1faXNW
YWxpZCk7CisgICAgaWYgKCFtX2lzVmFsaWQpCisgICAgICAgIHJldHVybjsKKyAgICBlbmNvZGVy
IDw8IHN0YXRpY19jYXN0PGJvb2w+KG1fcHJvdG9jb2xJc0luSFRUUEZhbWlseSk7CisgICAgZW5j
b2RlciA8PCBtX3NjaGVtZUVuZDsKKyAgICBlbmNvZGVyIDw8IG1fdXNlclN0YXJ0OworICAgIGVu
Y29kZXIgPDwgbV91c2VyRW5kOworICAgIGVuY29kZXIgPDwgbV9wYXNzd29yZEVuZDsKKyAgICBl
bmNvZGVyIDw8IG1faG9zdEVuZDsKKyAgICBlbmNvZGVyIDw8IG1fcG9ydEVuZDsKKyAgICBlbmNv
ZGVyIDw8IG1fcGF0aEFmdGVyTGFzdFNsYXNoOworICAgIGVuY29kZXIgPDwgbV9wYXRoRW5kOwor
ICAgIGVuY29kZXIgPDwgbV9xdWVyeUVuZDsKKyAgICBlbmNvZGVyIDw8IG1fZnJhZ21lbnRFbmQ7
Cit9CisKK3RlbXBsYXRlIDxjbGFzcyBEZWNvZGVyPgorYm9vbCBVUkw6OmRlY29kZShEZWNvZGVy
JiBkZWNvZGVyLCBVUkwmIHVybCkKK3sKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHVybC5tX3N0
cmluZykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBib29sIGlzVmFsaWQ7CisgICAgaWYg
KCFkZWNvZGVyLmRlY29kZShpc1ZhbGlkKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHVy
bC5tX2lzVmFsaWQgPSBpc1ZhbGlkOworICAgIGlmICghaXNWYWxpZCkKKyAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgYm9vbCBwcm90b2NvbElzSW5IVFRQRmFtaWx5OworICAgIGlmICghZGVjb2Rl
ci5kZWNvZGUocHJvdG9jb2xJc0luSFRUUEZhbWlseSkpCisgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICB1cmwubV9wcm90b2NvbElzSW5IVFRQRmFtaWx5ID0gcHJvdG9jb2xJc0luSFRUUEZhbWls
eTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHVybC5tX3NjaGVtZUVuZCkpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHVybC5tX3VzZXJTdGFydCkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHVybC5tX3VzZXJF
bmQpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh1cmwu
bV9wYXNzd29yZEVuZCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWRlY29kZXIu
ZGVjb2RlKHVybC5tX2hvc3RFbmQpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFk
ZWNvZGVyLmRlY29kZSh1cmwubV9wb3J0RW5kKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
IGlmICghZGVjb2Rlci5kZWNvZGUodXJsLm1fcGF0aEFmdGVyTGFzdFNsYXNoKSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUodXJsLm1fcGF0aEVuZCkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHVybC5tX3F1ZXJ5
RW5kKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUodXJs
Lm1fZnJhZ21lbnRFbmQpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIHRydWU7
Cit9CisKIGJvb2wgb3BlcmF0b3I9PShjb25zdCBVUkwmLCBjb25zdCBVUkwmKTsKIGJvb2wgb3Bl
cmF0b3I9PShjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmKTsKIGJvb2wgb3BlcmF0b3I9PShjb25z
dCBTdHJpbmcmLCBjb25zdCBVUkwmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKaW5kZXggODRjZmJiYWZmY2E1ODg3ZjI1
Y2I3NjZjZTgxZTU1YjQ1N2RkOWUxYS4uMjg1ZmRhY2I3YjNiOTU4NDIxY2VmMzU1N2E1MzMyMTE5
MDcxOGVkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZVJlcXVlc3RCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZVJlcXVlc3RCYXNlLmgKQEAgLTI1Nyw3ICsyNTcsNyBAQCB2b2lkIFJlc291cmNlUmVx
dWVzdEJhc2U6OmVuY29kZVdpdGhvdXRQbGF0Zm9ybURhdGEoRW5jb2RlciYgZW5jb2RlcikgY29u
c3QKIHsKICAgICBBU1NFUlQoIW1faHR0cEJvZHkpOwogICAgIEFTU0VSVCghbV9wbGF0Zm9ybVJl
cXVlc3RVcGRhdGVkKTsKLSAgICBlbmNvZGVyIDw8IG1fdXJsLnN0cmluZygpOworICAgIGVuY29k
ZXIgPDwgbV91cmw7CiAgICAgZW5jb2RlciA8PCBtX3RpbWVvdXRJbnRlcnZhbDsKICAgICBlbmNv
ZGVyIDw8IG1fZmlyc3RQYXJ0eUZvckNvb2tpZXMuc3RyaW5nKCk7CiAgICAgZW5jb2RlciA8PCBt
X2h0dHBNZXRob2Q7CkBAIC0yNzIsMTAgKzI3Miw4IEBAIHZvaWQgUmVzb3VyY2VSZXF1ZXN0QmFz
ZTo6ZW5jb2RlV2l0aG91dFBsYXRmb3JtRGF0YShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogdGVt
cGxhdGU8Y2xhc3MgRGVjb2Rlcj4KIGJvb2wgUmVzb3VyY2VSZXF1ZXN0QmFzZTo6ZGVjb2RlV2l0
aG91dFBsYXRmb3JtRGF0YShEZWNvZGVyJiBkZWNvZGVyKQogewotICAgIFN0cmluZyB1cmw7Ci0g
ICAgaWYgKCFkZWNvZGVyLmRlY29kZSh1cmwpKQorICAgIGlmICghZGVjb2Rlci5kZWNvZGUobV91
cmwpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgbV91cmwgPSBVUkwoUGFyc2VkVVJMU3Ry
aW5nLCB1cmwpOwogCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShtX3RpbWVvdXRJbnRlcnZhbCkp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaAppbmRleCBlMDRlNTViZDk2MGJiZTdm
YWNlNTljMzg5MmM5ZjBjYzAxZTFhYmIxLi4xYzg4NDU4MWQwNzNkMGY2ODA5YTkwYWUyYmZiMjdh
ZTI5ZjAzZTJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlUmVzcG9uc2VCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oCkBAIC0yMDIsNyArMjAyLDcgQEAgdm9pZCBSZXNvdXJj
ZVJlc3BvbnNlQmFzZTo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgICAgIHJl
dHVybjsKICAgICBsYXp5SW5pdChBbGxGaWVsZHMpOwogCi0gICAgZW5jb2RlciA8PCBtX3VybC5z
dHJpbmcoKTsKKyAgICBlbmNvZGVyIDw8IG1fdXJsOwogICAgIGVuY29kZXIgPDwgbV9taW1lVHlw
ZTsKICAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PGludDY0X3Q+KG1fZXhwZWN0ZWRDb250ZW50
TGVuZ3RoKTsKICAgICBlbmNvZGVyIDw8IG1fdGV4dEVuY29kaW5nTmFtZTsKQEAgLTIyNywxMCAr
MjI3LDggQEAgYm9vbCBSZXNvdXJjZVJlc3BvbnNlQmFzZTo6ZGVjb2RlKERlY29kZXImIGRlY29k
ZXIsIFJlc291cmNlUmVzcG9uc2VCYXNlJiByZXNwb24KICAgICBpZiAocmVzcG9uc2VJc051bGwp
CiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgU3RyaW5nIHVybDsKLSAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlKHVybCkpCisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXNwb25zZS5tX3VybCkp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICByZXNwb25zZS5tX3VybCA9IFVSTChVUkwoKSwg
dXJsKTsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3BvbnNlLm1fbWltZVR5cGUpKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgaW50NjRfdCBleHBlY3RlZENvbnRlbnRMZW5ndGg7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2Fj
aGVDb2RlcnMuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29y
a0NhY2hlQ29kZXJzLmNwcAppbmRleCAxMDlmZGEyMzFjZmE1NjQyNGFlMjUzNGE0YTZkMmI3ZmQx
YWIyMWJiLi4zODAzYTIxNmFiOWFmNjNiODY1ZWNiMDdkMDI1MTdjMjc0YTdkMDcxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVDb2Rl
cnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtD
YWNoZUNvZGVycy5jcHAKQEAgLTE0NSwyMCArMTQ1LDYgQEAgYm9vbCBDb2RlcjxTdHJpbmc+Ojpk
ZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgU3RyaW5nJiByZXN1bHQpCiAgICAgcmV0dXJuIGRlY29k
ZVN0cmluZ1RleHQ8VUNoYXI+KGRlY29kZXIsIGxlbmd0aCwgcmVzdWx0KTsKIH0KIAotdm9pZCBD
b2RlcjxXZWJDb3JlOjpVUkw+OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgV2ViQ29y
ZTo6VVJMJiB1cmwpCi17Ci0gICAgZW5jb2RlciA8PCB1cmwuc3RyaW5nKCk7Ci19Ci0KLWJvb2wg
Q29kZXI8V2ViQ29yZTo6VVJMPjo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFdlYkNvcmU6OlVS
TCYgdXJsKQotewotICAgIFN0cmluZyB1cmxBc1N0cmluZzsKLSAgICBpZiAoIWRlY29kZXIuZGVj
b2RlKHVybEFzU3RyaW5nKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHVybCA9IFdlYkNv
cmU6OlVSTChXZWJDb3JlOjpQYXJzZWRVUkxTdHJpbmcsIHVybEFzU3RyaW5nKTsKLSAgICByZXR1
cm4gdHJ1ZTsKLX0KLQogdm9pZCBDb2RlcjxXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8+OjplbmNv
ZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJiBjZXJ0
aWZpY2F0ZUluZm8pCiB7CiAgICAgLy8gRklYTUU6IENvY29hIENlcnRpZmljYXRlSW5mbyBpcyBh
IENGIG9iamVjdCB0cmVlLiBHZW5lcmFsaXplIENGIHR5cGUgY29kaW5nIHNvIHdlIGRvbid0IG5l
ZWQgdG8gdXNlIEFyZ3VtZW50Q29kZXIgaGVyZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUNvZGVycy5oIGIvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlQ29kZXJzLmgKaW5kZXggMmQ5MWI4
ZWU2NzU0YmFhN2JlZDlhODZlNGI3MjE0ZTVmYzk2MjA0Ny4uMGZjNTAzOTY1OWUzNDU2MzgzOGJl
NjU2YjE1NzFhZGNkMTlmMzI4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlQ29kZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlQ29kZXJzLmgKQEAgLTMyLDcgKzMyLDYgQEAK
ICNpbmNsdWRlICJOZXR3b3JrQ2FjaGVFbmNvZGVyLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0
aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0hUVFBIZWFkZXJNYXAuaD4KLSNpbmNs
dWRlIDxXZWJDb3JlL1VSTC5oPgogI2luY2x1ZGUgPHV0aWxpdHk+CiAjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgpAQCAtMjUwLDExICsyNDksNiBAQCB0
ZW1wbGF0ZTw+IHN0cnVjdCBDb2RlcjxTdHJpbmc+IHsKICAgICBzdGF0aWMgYm9vbCBkZWNvZGUo
RGVjb2RlciYsIFN0cmluZyYpOwogfTsKIAotdGVtcGxhdGU8PiBzdHJ1Y3QgQ29kZXI8V2ViQ29y
ZTo6VVJMPiB7Ci0gICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBjb25zdCBXZWJDb3Jl
OjpVUkwmKTsKLSAgICBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIFdlYkNvcmU6OlVSTCYp
OwotfTsKLQogdGVtcGxhdGU8PiBzdHJ1Y3QgQ29kZXI8V2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZv
PiB7CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpDZXJ0
aWZpY2F0ZUluZm8mKTsKICAgICBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIFdlYkNvcmU6
OkNlcnRpZmljYXRlSW5mbyYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
YkNvcmVBcmd1bWVudENvZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzLmNwcAppbmRleCAwNDkwZmVmNDMwYzBkMWEzOGMyNGU2ZWY5YmMyNWQyMDM1
ZmU3OTI3Li40MzNiZWE1MDAyZTdlNGZiNmIyOGZjZTZlNzU4YTljNDAwODA5NmE1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcApAQCAtMTQx
OSwyMCArMTQxOSw2IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxUZXh0Q2hlY2tpbmdSZXN1bHQ+Ojpk
ZWNvZGUoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBUZXh0Q2hlCiAgICAgcmV0dXJuIHRydWU7
CiB9CiAKLXZvaWQgQXJndW1lbnRDb2RlcjxVUkw+OjplbmNvZGUoQXJndW1lbnRFbmNvZGVyJiBl
bmNvZGVyLCBjb25zdCBVUkwmIHJlc3VsdCkKLXsKLSAgICBlbmNvZGVyIDw8IHJlc3VsdC5zdHJp
bmcoKTsKLX0KLSAgICAKLWJvb2wgQXJndW1lbnRDb2RlcjxVUkw+OjpkZWNvZGUoQXJndW1lbnRE
ZWNvZGVyJiBkZWNvZGVyLCBVUkwmIHJlc3VsdCkKLXsKLSAgICBTdHJpbmcgdXJsQXNTdHJpbmc7
Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZSh1cmxBc1N0cmluZykpCi0gICAgICAgIHJldHVybiBm
YWxzZTsKLSAgICByZXN1bHQgPSBVUkwoUGFyc2VkVVJMU3RyaW5nLCB1cmxBc1N0cmluZyk7Ci0g
ICAgcmV0dXJuIHRydWU7Ci19Ci0KIHZvaWQgQXJndW1lbnRDb2RlcjxVc2VyU3R5bGVTaGVldD46
OmVuY29kZShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFVzZXJTdHlsZVNoZWV0JiB1
c2VyU3R5bGVTaGVldCkKIHsKICAgICBlbmNvZGVyIDw8IHVzZXJTdHlsZVNoZWV0LnNvdXJjZSgp
OwpAQCAtMTg2OCwxMCArMTg1NCwxMCBAQCBib29sIEFyZ3VtZW50Q29kZXI8QmxvYlBhcnQ+Ojpk
ZWNvZGUoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBCbG9iUGFydCYgYmxvYlBhcgogICAgICAg
ICBicmVhazsKICAgICB9CiAgICAgY2FzZSBCbG9iUGFydDo6QmxvYjogewotICAgICAgICBTdHJp
bmcgdXJsOworICAgICAgICBVUkwgdXJsOwogICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHVy
bCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIGJsb2JQYXJ0ID0gQmxvYlBh
cnQoVVJMKFVSTCgpLCB1cmwpKTsKKyAgICAgICAgYmxvYlBhcnQgPSBCbG9iUGFydCh1cmwpOwog
ICAgICAgICBicmVhazsKICAgICB9CiAgICAgZGVmYXVsdDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAppbmRleCBiZjFlZGQ2MDBiZTFjMjU2YjNiOGIw
ZTRhYTgyZTFmMmFlNDMyNTExLi5iNTRkN2Q4ZGViMGRhMmU4MjAwNzMzZGE0NDc0ZWEyMWNiMmI4
NTIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5o
CkBAIC0zNjAsMTEgKzM2MCw2IEBAIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2Vi
Q29yZTo6VGV4dENoZWNraW5nUmVzdWx0PiB7CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEFyZ3Vt
ZW50RW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OlRleHRDaGVja2luZ1Jlc3VsdCYpOwogICAgIHN0
YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXImLCBXZWJDb3JlOjpUZXh0Q2hlY2tpbmdS
ZXN1bHQmKTsKIH07Ci0gICAgCi10ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNv
cmU6OlVSTD4gewotICAgIHN0YXRpYyB2b2lkIGVuY29kZShBcmd1bWVudEVuY29kZXImLCBjb25z
dCBXZWJDb3JlOjpVUkwmKTsKLSAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJndW1lbnREZWNvZGVy
JiwgV2ViQ29yZTo6VVJMJik7Ci19OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVy
PFdlYkNvcmU6OlVzZXJTdHlsZVNoZWV0PiB7CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEFyZ3Vt
ZW50RW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OlVzZXJTdHlsZVNoZWV0Jik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>278858</attachid>
            <date>2016-05-13 12:02:20 -0700</date>
            <delta_ts>2016-05-13 19:25:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-157660-20160513120312.patch</filename>
            <type>text/plain</type>
            <size>10082</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwODY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTdmMDI2ZTY0NDE2YzAw
OTRhZTE4OWEwYTNiMzY5ZjQ4ZGQ0NjAzMC4uOTU0ZGM3ZjI0OTdhNTFhNzJiOTY5MGMxNzFhYTVl
NGEwY2QwNTExZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE2LTA1LTEzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW05ldHdvcmtDYWNoZV0gQXZv
aWQgaGF2aW5nIHRvIHJlLXBhcnNlIFVSTHMgYWZ0ZXIgZGVzZXJpYWxpemluZyB0aGVtCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTc2NjAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBdm9pZCBoYXZpbmcg
dG8gcmUtcGFyc2UgVVJMcyBhZnRlciBkZXNlcmlhbGl6aW5nIHRoZW0gaW4gdGhlIFdlYktpdDIK
KyAgICAgICAgbmV0d29yayBjYWNoZSBzdG9yYWdlIGltcGxlbWVudGF0aW9uLgorCisgICAgICAg
IFdlIHByZXZpb3VzbHkgc2VyaWFsaXplZCBVUkxzIGFzIFN0cmluZ3MsIHdoaWNoIG1lYW50IHRo
YXQgd2UgaGFkIHRoZQorICAgICAgICByZS1wYXJzZSB0aGVtIHVwb24gZGVzZXJpYWxpemF0aW9u
LiBXZSBub3cgc2VyaWFsaXplIGFsbCBvZiB0aGUgVVJMCisgICAgICAgIGRhdGEgbWVtYmVycyB0
byBhdm9pZCBoYXZpbmcgdG8gcGFyc2UgdGhlIFN0cmluZyBhZ2Fpbi4KKworICAgICAgICAqIHBs
YXRmb3JtL1VSTC5oOgorICAgICAgICAoV2ViQ29yZTo6VVJMOjplbmNvZGUpOgorICAgICAgICAo
V2ViQ29yZTo6VVJMOjpkZWNvZGUpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3Vy
Y2VSZXF1ZXN0QmFzZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZTo6
ZW5jb2RlV2l0aG91dFBsYXRmb3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJl
cXVlc3RCYXNlOjpkZWNvZGVXaXRob3V0UGxhdGZvcm1EYXRhKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmg6CisgICAgICAgIChXZWJDb3JlOjpSZXNv
dXJjZVJlc3BvbnNlQmFzZTo6ZW5jb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVz
cG9uc2VCYXNlOjpkZWNvZGUpOgorCiAyMDE2LTA1LTEzICBCZXRoIERha2luICA8YmRha2luQGFw
cGxlLmNvbT4KIAogICAgICAgICBBZGQgZHlsZFNQSS5oIGZvciBsaW5rZWQgb24gb3IgYWZ0ZXIg
Y2hlY2tzLCBhbmQgYWRkIG9uZSBmb3IgbGluayBwcmV2aWV3CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZDJiNmRk
MTJiNTVjNjEyYTEzM2E1ZmY2YmVlOTQzOWNhNzgxN2JhYi4uMWQyYmEyZjBmZGM2NjZkOGEyNmJk
MjUxOGY3OWM0MGNiMWI3OWJlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE2LTA1
LTEzICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW05ldHdvcmtD
YWNoZV0gQXZvaWQgaGF2aW5nIHRvIHJlLXBhcnNlIFVSTHMgYWZ0ZXIgZGVzZXJpYWxpemluZyB0
aGVtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTc2
NjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUNvZGVycy5jcHA6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtDYWNoZTo6Q29kZXI8V2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvPjo6ZW5jb2Rl
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpDb2RlcjxXZWJDb3Jl
OjpDZXJ0aWZpY2F0ZUluZm8+OjpkZWNvZGUpOiBEZWxldGVkLgorICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUNvZGVycy5oOgorICAgICAgICBEcm9wIHRlbXBsYXRl
IHNwZWNpYWxpemF0aW9ucyB1c2VkIGJ5IG91ciBuZXR3b3JrIGNhY2hlIGZvciBlbmNvZGluZwor
ICAgICAgICAvIGRlY29kaW5nIFVSTHMgYXMgU3RyaW5ncy4gVGhpcyBjYXVzZXMgdXMgdG8gbm93
IHJlbHkgb24KKyAgICAgICAgVVJMOjplbmNvZGUoKSAvIFVSTDo6ZGVjb2RlKCkgaW5zdGVhZC4K
KworICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAo
SVBDOjpBcmd1bWVudENvZGVyPEJsb2JQYXJ0Pjo6ZGVjb2RlKToKKyAgICAgICAgRml4IGJ1ZyBp
biBCbG9iUGFydCBlbmNvZGluZyAvIGRlY29kaW5nLiBJdCB3YXMgZW5jb2RpbmcgdGhlIHVybCBt
ZW1iZXIKKyAgICAgICAgYXMgYSBVUkwgYnV0IGRlY29kaW5nIGl0IGFzIGEgU3RyaW5nLgorCiAy
MDE2LTA1LTEzICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQg
ZHlsZFNQSS5oIGZvciBsaW5rZWQgb24gb3IgYWZ0ZXIgY2hlY2tzLCBhbmQgYWRkIG9uZSBmb3Ig
bGluayBwcmV2aWV3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9VUkwuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VSTC5oCmluZGV4IDVhNTIxNjgwM2U2NjQ3ZTY5MWNh
ZmVkZTM4YmUzOTE3NDVjNzIyZWMuLjQyNThhYWRjOGJlODJiM2M3ZjE4MTJmMDg5NGRiMGQ5ZWYz
NTZiZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VSTC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VSTC5oCkBAIC0xOTUsNiArMTk1LDkgQEAgcHVibGljOgog
CiAgICAgYm9vbCBpc1NhZmVUb1NlbmRUb0Fub3RoZXJUaHJlYWQoKSBjb25zdDsKIAorICAgIHRl
bXBsYXRlIDxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CisgICAg
dGVtcGxhdGUgPGNsYXNzIERlY29kZXI+IHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwgVVJM
Jik7CisKIHByaXZhdGU6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBpbnZhbGlkYXRlKCk7CiAg
ICAgc3RhdGljIGJvb2wgcHJvdG9jb2xJcyhjb25zdCBTdHJpbmcmLCBjb25zdCBjaGFyKik7CkBA
IC0yMjUsNiArMjI4LDY0IEBAIHByaXZhdGU6CiAgICAgaW50IG1fZnJhZ21lbnRFbmQ7CiB9Owog
Cit0ZW1wbGF0ZSA8Y2xhc3MgRW5jb2Rlcj4KK3ZvaWQgVVJMOjplbmNvZGUoRW5jb2RlciYgZW5j
b2RlcikgY29uc3QKK3sKKyAgICBlbmNvZGVyIDw8IG1fc3RyaW5nOworICAgIGVuY29kZXIgPDwg
c3RhdGljX2Nhc3Q8Ym9vbD4obV9pc1ZhbGlkKTsKKyAgICBpZiAoIW1faXNWYWxpZCkKKyAgICAg
ICAgcmV0dXJuOworICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8Ym9vbD4obV9wcm90b2NvbElz
SW5IVFRQRmFtaWx5KTsKKyAgICBlbmNvZGVyIDw8IG1fc2NoZW1lRW5kOworICAgIGVuY29kZXIg
PDwgbV91c2VyU3RhcnQ7CisgICAgZW5jb2RlciA8PCBtX3VzZXJFbmQ7CisgICAgZW5jb2RlciA8
PCBtX3Bhc3N3b3JkRW5kOworICAgIGVuY29kZXIgPDwgbV9ob3N0RW5kOworICAgIGVuY29kZXIg
PDwgbV9wb3J0RW5kOworICAgIGVuY29kZXIgPDwgbV9wYXRoQWZ0ZXJMYXN0U2xhc2g7CisgICAg
ZW5jb2RlciA8PCBtX3BhdGhFbmQ7CisgICAgZW5jb2RlciA8PCBtX3F1ZXJ5RW5kOworICAgIGVu
Y29kZXIgPDwgbV9mcmFnbWVudEVuZDsKK30KKwordGVtcGxhdGUgPGNsYXNzIERlY29kZXI+Citi
b29sIFVSTDo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFVSTCYgdXJsKQoreworICAgIGlmICgh
ZGVjb2Rlci5kZWNvZGUodXJsLm1fc3RyaW5nKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
IGJvb2wgaXNWYWxpZDsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGlzVmFsaWQpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgdXJsLm1faXNWYWxpZCA9IGlzVmFsaWQ7CisgICAgaWYgKCFp
c1ZhbGlkKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBib29sIHByb3RvY29sSXNJbkhUVFBG
YW1pbHk7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShwcm90b2NvbElzSW5IVFRQRmFtaWx5KSkK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHVybC5tX3Byb3RvY29sSXNJbkhUVFBGYW1pbHkg
PSBwcm90b2NvbElzSW5IVFRQRmFtaWx5OworICAgIGlmICghZGVjb2Rlci5kZWNvZGUodXJsLm1f
c2NoZW1lRW5kKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghZGVjb2Rlci5kZWNv
ZGUodXJsLm1fdXNlclN0YXJ0KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghZGVj
b2Rlci5kZWNvZGUodXJsLm1fdXNlckVuZCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBp
ZiAoIWRlY29kZXIuZGVjb2RlKHVybC5tX3Bhc3N3b3JkRW5kKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUodXJsLm1faG9zdEVuZCkpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHVybC5tX3BvcnRFbmQpKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh1cmwubV9wYXRoQWZ0
ZXJMYXN0U2xhc2gpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLmRl
Y29kZSh1cmwubV9wYXRoRW5kKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghZGVj
b2Rlci5kZWNvZGUodXJsLm1fcXVlcnlFbmQpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
aWYgKCFkZWNvZGVyLmRlY29kZSh1cmwubV9mcmFnbWVudEVuZCkpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogYm9vbCBvcGVyYXRvcj09KGNvbnN0IFVSTCYs
IGNvbnN0IFVSTCYpOwogYm9vbCBvcGVyYXRvcj09KGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYp
OwogYm9vbCBvcGVyYXRvcj09KGNvbnN0IFN0cmluZyYsIGNvbnN0IFVSTCYpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaApp
bmRleCA4NGNmYmJhZmZjYTU4ODdmMjVjYjc2NmNlODFlNTViNDU3ZGQ5ZTFhLi4yODVmZGFjYjdi
M2I5NTg0MjFjZWYzNTU3YTUzMzIxMTkwNzE4ZWRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaApAQCAtMjU3LDcgKzI1
Nyw3IEBAIHZvaWQgUmVzb3VyY2VSZXF1ZXN0QmFzZTo6ZW5jb2RlV2l0aG91dFBsYXRmb3JtRGF0
YShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogewogICAgIEFTU0VSVCghbV9odHRwQm9keSk7CiAg
ICAgQVNTRVJUKCFtX3BsYXRmb3JtUmVxdWVzdFVwZGF0ZWQpOwotICAgIGVuY29kZXIgPDwgbV91
cmwuc3RyaW5nKCk7CisgICAgZW5jb2RlciA8PCBtX3VybDsKICAgICBlbmNvZGVyIDw8IG1fdGlt
ZW91dEludGVydmFsOwogICAgIGVuY29kZXIgPDwgbV9maXJzdFBhcnR5Rm9yQ29va2llcy5zdHJp
bmcoKTsKICAgICBlbmNvZGVyIDw8IG1faHR0cE1ldGhvZDsKQEAgLTI3MiwxMCArMjcyLDggQEAg
dm9pZCBSZXNvdXJjZVJlcXVlc3RCYXNlOjplbmNvZGVXaXRob3V0UGxhdGZvcm1EYXRhKEVuY29k
ZXImIGVuY29kZXIpIGNvbnN0CiB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgogYm9vbCBSZXNvdXJj
ZVJlcXVlc3RCYXNlOjpkZWNvZGVXaXRob3V0UGxhdGZvcm1EYXRhKERlY29kZXImIGRlY29kZXIp
CiB7Ci0gICAgU3RyaW5nIHVybDsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHVybCkpCisgICAg
aWYgKCFkZWNvZGVyLmRlY29kZShtX3VybCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBt
X3VybCA9IFVSTChQYXJzZWRVUkxTdHJpbmcsIHVybCk7CiAKICAgICBpZiAoIWRlY29kZXIuZGVj
b2RlKG1fdGltZW91dEludGVydmFsKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5o
CmluZGV4IGUwNGU1NWJkOTYwYmJlN2ZhY2U1OWMzODkyYzlmMGNjMDFlMWFiYjEuLjFjODg0NTgx
ZDA3M2QwZjY4MDlhOTBhZTJiZmIyN2FlMjlmMDNlMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKQEAgLTIwMiw3
ICsyMDIsNyBAQCB2b2lkIFJlc291cmNlUmVzcG9uc2VCYXNlOjplbmNvZGUoRW5jb2RlciYgZW5j
b2RlcikgY29uc3QKICAgICAgICAgcmV0dXJuOwogICAgIGxhenlJbml0KEFsbEZpZWxkcyk7CiAK
LSAgICBlbmNvZGVyIDw8IG1fdXJsLnN0cmluZygpOworICAgIGVuY29kZXIgPDwgbV91cmw7CiAg
ICAgZW5jb2RlciA8PCBtX21pbWVUeXBlOwogICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8aW50
NjRfdD4obV9leHBlY3RlZENvbnRlbnRMZW5ndGgpOwogICAgIGVuY29kZXIgPDwgbV90ZXh0RW5j
b2RpbmdOYW1lOwpAQCAtMjI3LDEwICsyMjcsOCBAQCBib29sIFJlc291cmNlUmVzcG9uc2VCYXNl
OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgUmVzb3VyY2VSZXNwb25zZUJhc2UmIHJlc3Bvbgog
ICAgIGlmIChyZXNwb25zZUlzTnVsbCkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICBTdHJp
bmcgdXJsOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUodXJsKSkKKyAgICBpZiAoIWRlY29kZXIu
ZGVjb2RlKHJlc3BvbnNlLm1fdXJsKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJlc3Bv
bnNlLm1fdXJsID0gVVJMKFVSTCgpLCB1cmwpOwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVz
cG9uc2UubV9taW1lVHlwZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpbnQ2NF90IGV4
cGVjdGVkQ29udGVudExlbmd0aDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUNvZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVDb2RlcnMuY3BwCmluZGV4IDEwOWZkYTIzMWNm
YTU2NDI0YWUyNTM0YTRhNmQyYjdmZDFhYjIxYmIuLjM4MDNhMjE2YWI5YWY2M2I4NjVlY2IwN2Qw
MjUxN2MyNzRhN2QwNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZUNvZGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlQ29kZXJzLmNwcApAQCAtMTQ1LDIwICsxNDUsNiBA
QCBib29sIENvZGVyPFN0cmluZz46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBTdHJpbmcmIHJl
c3VsdCkKICAgICByZXR1cm4gZGVjb2RlU3RyaW5nVGV4dDxVQ2hhcj4oZGVjb2RlciwgbGVuZ3Ro
LCByZXN1bHQpOwogfQogCi12b2lkIENvZGVyPFdlYkNvcmU6OlVSTD46OmVuY29kZShFbmNvZGVy
JiBlbmNvZGVyLCBjb25zdCBXZWJDb3JlOjpVUkwmIHVybCkKLXsKLSAgICBlbmNvZGVyIDw8IHVy
bC5zdHJpbmcoKTsKLX0KLQotYm9vbCBDb2RlcjxXZWJDb3JlOjpVUkw+OjpkZWNvZGUoRGVjb2Rl
ciYgZGVjb2RlciwgV2ViQ29yZTo6VVJMJiB1cmwpCi17Ci0gICAgU3RyaW5nIHVybEFzU3RyaW5n
OwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUodXJsQXNTdHJpbmcpKQotICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0gICAgdXJsID0gV2ViQ29yZTo6VVJMKFdlYkNvcmU6OlBhcnNlZFVSTFN0cmluZywg
dXJsQXNTdHJpbmcpOwotICAgIHJldHVybiB0cnVlOwotfQotCiB2b2lkIENvZGVyPFdlYkNvcmU6
OkNlcnRpZmljYXRlSW5mbz46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBXZWJDb3Jl
OjpDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKIHsKICAgICAvLyBGSVhNRTogQ29j
b2EgQ2VydGlmaWNhdGVJbmZvIGlzIGEgQ0Ygb2JqZWN0IHRyZWUuIEdlbmVyYWxpemUgQ0YgdHlw
ZSBjb2Rpbmcgc28gd2UgZG9uJ3QgbmVlZCB0byB1c2UgQXJndW1lbnRDb2RlciBoZXJlLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hl
Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2Fj
aGVDb2RlcnMuaAppbmRleCAyZDkxYjhlZTY3NTRiYWE3YmVkOWE4NmU0YjcyMTRlNWZjOTYyMDQ3
Li4wZmM1MDM5NjU5ZTM0NTYzODM4YmU2NTZiMTU3MWFkY2QxOWYzMjhkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVDb2RlcnMuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVDb2Rl
cnMuaApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIk5ldHdvcmtDYWNoZUVuY29kZXIuaCIK
ICNpbmNsdWRlIDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
SFRUUEhlYWRlck1hcC5oPgotI2luY2x1ZGUgPFdlYkNvcmUvVVJMLmg+CiAjaW5jbHVkZSA8dXRp
bGl0eT4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+
CkBAIC0yNTAsMTEgKzI0OSw2IEBAIHRlbXBsYXRlPD4gc3RydWN0IENvZGVyPFN0cmluZz4gewog
ICAgIHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwgU3RyaW5nJik7CiB9OwogCi10ZW1wbGF0
ZTw+IHN0cnVjdCBDb2RlcjxXZWJDb3JlOjpVUkw+IHsKLSAgICBzdGF0aWMgdm9pZCBlbmNvZGUo
RW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OlVSTCYpOwotICAgIHN0YXRpYyBib29sIGRlY29kZShE
ZWNvZGVyJiwgV2ViQ29yZTo6VVJMJik7Ci19OwotCiB0ZW1wbGF0ZTw+IHN0cnVjdCBDb2RlcjxX
ZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8+IHsKICAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2Rl
ciYsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYpOwogICAgIHN0YXRpYyBib29sIGRl
Y29kZShEZWNvZGVyJiwgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCmluZGV4IDA0OTBmZWY0MzBj
MGQxYTM4YzI0ZTZlZjliYzI1ZDIwMzVmZTc5MjcuLmMzZTA0MzcyZmUzZDU1MWYzNjM1NWIyM2Jj
ZDBkYjRhZDEyYjMxNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3Jl
QXJndW1lbnRDb2RlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJn
dW1lbnRDb2RlcnMuY3BwCkBAIC0xODY4LDEwICsxODY4LDEwIEBAIGJvb2wgQXJndW1lbnRDb2Rl
cjxCbG9iUGFydD46OmRlY29kZShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIEJsb2JQYXJ0JiBi
bG9iUGFyCiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBjYXNlIEJsb2JQYXJ0OjpCbG9iOiB7
Ci0gICAgICAgIFN0cmluZyB1cmw7CisgICAgICAgIFVSTCB1cmw7CiAgICAgICAgIGlmICghZGVj
b2Rlci5kZWNvZGUodXJsKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgYmxv
YlBhcnQgPSBCbG9iUGFydChVUkwoVVJMKCksIHVybCkpOworICAgICAgICBibG9iUGFydCA9IEJs
b2JQYXJ0KHVybCk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBkZWZhdWx0Ogo=
</data>

          </attachment>
      

    </bug>

</bugzilla>