<?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>116287</bug_id>
          
          <creation_ts>2013-05-16 20:40:25 -0700</creation_ts>
          <short_desc>[BlackBerry] Get BlackBerry port off legacy clipboard</short_desc>
          <delta_ts>2013-05-17 19:58:25 -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>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>115980</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>mifenton</cc>
    
    <cc>rwlbuis</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>890190</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-05-16 20:40:25 -0700</bug_when>
    <thetext>[BlackBerry] Get BlackBerry port off legacy clipboard</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>890191</commentid>
    <comment_count>1</comment_count>
      <attachid>202042</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-05-16 20:41:49 -0700</bug_when>
    <thetext>Created attachment 202042
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>890195</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-05-16 20:59:49 -0700</bug_when>
    <thetext>Not sure how to test that this patch works. Do we have a BlackBerry EWS server?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>890196</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-05-16 21:01:01 -0700</bug_when>
    <thetext>Mike, could you try out this patch and see how it works?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>890499</commentid>
    <comment_count>4</comment_count>
      <attachid>202116</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-05-17 10:10:57 -0700</bug_when>
    <thetext>Created attachment 202116
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>890670</commentid>
    <comment_count>5</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2013-05-17 14:25:05 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Not sure how to test that this patch works. Do we have a BlackBerry EWS server?

Unfortunately there is no BlackBerry EWS server yet, it is on our TODO list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>890679</commentid>
    <comment_count>6</comment_count>
      <attachid>202116</attachid>
    <who name="Mike Fenton">mifenton</who>
    <bug_when>2013-05-17 14:42:18 -0700</bug_when>
    <thetext>Comment on attachment 202116
Patch

Looks good to me!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>890680</commentid>
    <comment_count>7</comment_count>
      <attachid>202116</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2013-05-17 14:42:22 -0700</bug_when>
    <thetext>Comment on attachment 202116
Patch

Looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>890801</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-05-17 19:58:25 -0700</bug_when>
    <thetext>Committed r150319: &lt;http://trac.webkit.org/changeset/150319&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>202042</attachid>
            <date>2013-05-16 20:41:49 -0700</date>
            <delta_ts>2013-05-17 10:10:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-116287-20130516204042.patch</filename>
            <type>text/plain</type>
            <size>14218</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUwMTgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDYxODI1N2ZkYmQ3ZGVh
MjU2NmFhYjI0MGFkNjcxYmVlZjhhNjE4MS4uZjYyMTVmMjVmNjVhOTJhMTllZGFmZWFmYWU2MTJj
ZDQyYzA3ZjZiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEzLTA1LTE2ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBbQmxhY2tCZXJyeV0gR2V0IEJs
YWNrQmVycnkgcG9ydCBvZmYgbGVnYWN5IGNsaXBib2FyZAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE2Mjg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBQbGF0Zm9ybUJsYWNrQmVycnkuY21ha2U6IFJl
bW92ZWQgQ2xpcGJvYXJkQmxhY2tCZXJyeS5jcHAuCisKKyAgICAgICAgKiBkb20vQ2xpcGJvYXJk
Lmg6IFJlbW92ZWQgQkxBQ0tCRVJSWSBmcm9tIHRoZSBsaXN0IG9mIHBsYXRmb3JtcyB0aGF0Cisg
ICAgICAgIHVzZSB0aGUgbGVnYWN5IGNsaXBib2FyZC4KKworICAgICAgICAqIGVkaXRpbmcvYmxh
Y2tiZXJyeS9FZGl0b3JCbGFja0JlcnJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6
bmV3R2VuZXJhbENsaXBib2FyZCk6IENoYW5nZWQgdG8ganVzdCBjcmVhdGUgYSBjb3B5CisgICAg
ICAgIGFuZCBwYXN0ZSBjbGlwYm9hcmQuCisKKyAgICAgICAgKiBwYWdlL2JsYWNrYmVycnkvRXZl
bnRIYW5kbGVyQmxhY2tCZXJyeS5jcHA6IFJlbW92ZWQgYSBkcmFnLXJlbGF0ZWQKKyAgICAgICAg
ZnVuY3Rpb24gdGhhdCB3YXNuJ3QgZG9pbmcgYW55IGdvb2QuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ibGFja2JlcnJ5L0NsaXBib2FyZEJsYWNrQmVycnkuY3BwOiBSZW1vdmVkLgorICAgICAgICAq
IHBsYXRmb3JtL2JsYWNrYmVycnkvQ2xpcGJvYXJkQmxhY2tCZXJyeS5oOiBSZW1vdmVkLgorCisg
ICAgICAgICogcGxhdGZvcm0vYmxhY2tiZXJyeS9QYXN0ZWJvYXJkQmxhY2tCZXJyeS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpQYXN0ZWJvYXJkOjpjcmVhdGVGb3JDb3B5QW5kUGFzdGUpOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OlBhc3RlYm9hcmQ6OmNyZWF0ZVByaXZhdGUpOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OlBhc3RlYm9hcmQ6Omhhc0RhdGEpOiBBZGRlZC4gTW92ZWQgY29k
ZSBoZXJlIGZyb20gQ2xpcGJvYXJkQmxhY2tCZXJyeS5jcHAuCisgICAgICAgIChXZWJDb3JlOjpQ
YXN0ZWJvYXJkOjpjbGVhcik6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UGFzdGVib2FyZDo6
cmVhZFN0cmluZyk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UGFzdGVib2FyZDo6d3JpdGVT
dHJpbmcpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlBhc3RlYm9hcmQ6OnR5cGVzKTogRGl0
dG8uCisgICAgICAgIChXZWJDb3JlOjpQYXN0ZWJvYXJkOjpyZWFkRmlsZW5hbWVzKTogRGl0dG8u
CisKIDIwMTMtMDUtMTUgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAg
IFtNYWNdIE1ha2UgQ2xpcGJvYXJkOjpjcmVhdGUgZnVuY3Rpb25zIGZvciBNYWMgcGxhdGZvcm0g
aW5kZXBlbmRlbnQgYnkgbW92aW5nIFBhc3RlYm9hcmQgY3JlYXRpb24gdG8gUGFzdGVib2FyZCBm
dW5jdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtQmxhY2tCZXJyeS5j
bWFrZSBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZQppbmRleCA0ODZk
YzMxOTk2NjJhNDk1ODc2NjcyNjZhNjc3NWUzNDUxY2QzYmNjLi4yZGEwYjhkMWE0ZWYwYmUyMTc1
ODgyZGZhNTBhNmE1N2U4N2NkOWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9y
bUJsYWNrQmVycnkuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1CbGFja0JlcnJ5
LmNtYWtlCkBAIC05OSw3ICs5OSw2IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAg
IHBhZ2UvYmxhY2tiZXJyeS9EcmFnQ29udHJvbGxlckJsYWNrQmVycnkuY3BwCiAgICAgcGFnZS9i
bGFja2JlcnJ5L0V2ZW50SGFuZGxlckJsYWNrQmVycnkuY3BwCiAgICAgcGFnZS9ibGFja2JlcnJ5
L1NldHRpbmdzQmxhY2tCZXJyeS5jcHAKLSAgICBwbGF0Zm9ybS9ibGFja2JlcnJ5L0NsaXBib2Fy
ZEJsYWNrQmVycnkuY3BwCiAgICAgcGxhdGZvcm0vYmxhY2tiZXJyeS9Db250ZXh0TWVudUJsYWNr
QmVycnkuY3BwCiAgICAgcGxhdGZvcm0vYmxhY2tiZXJyeS9Db250ZXh0TWVudUl0ZW1CbGFja0Jl
cnJ5LmNwcAogICAgIHBsYXRmb3JtL2JsYWNrYmVycnkvQ3Vyc29yQmxhY2tCZXJyeS5jcHAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DbGlwYm9hcmQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9DbGlwYm9hcmQuaAppbmRleCA4MjE0MzA3N2Q5OWFiM2E4YmUxNWYxYTM2YTEwNWU4MDhl
MWI5MTFhLi5lMzVjZGE5YTU5YTA4YmM5Y2Y1ZTQ1MjcxYjA2ZmNmYzBiMzk2MWE0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ2xpcGJvYXJkLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0NsaXBib2FyZC5oCkBAIC0zNCw3ICszNCw3IEBACiAvLyBUaGlzIERPTSBvYmplY3Qgbm93
IHdvcmtzIGJ5IGNhbGxpbmcgdGhyb3VnaCB0byBjbGFzc2VzIGluIHRoZSBwbGF0Zm9ybSBsYXll
ci4KIC8vIFNwZWNpZmljYWxseSwgdGhlIGNsYXNzIGN1cnJlbnRseSBuYW1lZCBQYXN0ZWJvYXJk
LiBUaGUgbGVnYWN5IHN0eWxlIGluc3RlYWQKIC8vIHVzZXMgdGhpcyBhcyBhbiBhYnN0cmFjdCBi
YXNlIGNsYXNzLgotI2RlZmluZSBXVEZfVVNFX0xFR0FDWV9TVFlMRV9BQlNUUkFDVF9DTElQQk9B
UkRfQ0xBU1MgKFBMQVRGT1JNKEJMQUNLQkVSUlkpIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZP
Uk0oR1RLKSB8fCBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShXSU4p
KQorI2RlZmluZSBXVEZfVVNFX0xFR0FDWV9TVFlMRV9BQlNUUkFDVF9DTElQQk9BUkRfQ0xBU1Mg
KFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShJT1MpIHx8IFBMQVRG
T1JNKFFUKSB8fCBQTEFURk9STShXSU4pKQogCiAjaWYgVVNFKExFR0FDWV9TVFlMRV9BQlNUUkFD
VF9DTElQQk9BUkRfQ0xBU1MpCiAjZGVmaW5lIExFR0FDWV9WSVJUVUFMIHZpcnR1YWwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvYmxhY2tiZXJyeS9FZGl0b3JCbGFja0JlcnJ5
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvYmxhY2tiZXJyeS9FZGl0b3JCbGFja0JlcnJ5
LmNwcAppbmRleCBmZTRjMGNmMGE5NDNhZjJkNTlkZWE5YmM1ZWEwOGJkZjUyMTYyOGVlLi4xYWRl
Y2YzYjMyMjk2ZDU5YzRlMGE1N2Q4NzIzMjAwYWIyZDZiNDkzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL2JsYWNrYmVycnkvRWRpdG9yQmxhY2tCZXJyeS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9ibGFja2JlcnJ5L0VkaXRvckJsYWNrQmVycnkuY3BwCkBAIC0y
MCwxNCArMjAsMTMgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJFZGl0b3IuaCIK
IAotI2luY2x1ZGUgIkNsaXBib2FyZEJsYWNrQmVycnkuaCIKLSNpbmNsdWRlIDx3dGYvUGFzc1Jl
ZlB0ci5oPgorI2luY2x1ZGUgIkNsaXBib2FyZC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IFBhc3NSZWZQdHI8Q2xpcGJvYXJkPiBFZGl0b3I6Om5ld0dlbmVyYWxDbGlwYm9hcmQoQ2xpcGJv
YXJkQWNjZXNzUG9saWN5IHBvbGljeSwgRnJhbWUqKQogewotICAgIHJldHVybiBDbGlwYm9hcmRC
bGFja0JlcnJ5OjpjcmVhdGUocG9saWN5KTsKKyAgICByZXR1cm4gQ2xpcGJvYXJkOjpjcmVhdGVG
b3JDb3B5QW5kUGFzdGUocG9saWN5KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ibGFja2JlcnJ5L0V2ZW50SGFuZGxlckJsYWNr
QmVycnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ibGFja2JlcnJ5L0V2ZW50SGFuZGxlckJs
YWNrQmVycnkuY3BwCmluZGV4IDhmYjcyYjgwMGUyZDNjNmM4NWJkZTlhYTZjNzA1Y2IwYThmZmFk
ZTAuLjRjZjk5ZjRkOWJlNTFiNzg4MWRlMTI4Y2Q4M2EwNWE4YTVhMDUyMjkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvYmxhY2tiZXJyeS9FdmVudEhhbmRsZXJCbGFja0JlcnJ5LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2JsYWNrYmVycnkvRXZlbnRIYW5kbGVyQmxhY2tC
ZXJyeS5jcHAKQEAgLTIwLDcgKzIwLDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJFdmVudEhhbmRsZXIuaCIKIAotI2luY2x1ZGUgIkNsaXBib2FyZEJsYWNrQmVycnkuaCIKICNp
bmNsdWRlICJGb2N1c0NvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUg
IktleWJvYXJkRXZlbnQuaCIKQEAgLTg3LDExICs4Niw0IEBAIHZvaWQgRXZlbnRIYW5kbGVyOjpm
b2N1c0RvY3VtZW50VmlldygpCiAgICAgcGFnZS0+Zm9jdXNDb250cm9sbGVyKCktPnNldEZvY3Vz
ZWRGcmFtZShtX2ZyYW1lKTsKIH0KIAotI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCi1XVEY6OlBh
c3NSZWZQdHI8Q2xpcGJvYXJkPiBFdmVudEhhbmRsZXI6OmNyZWF0ZURyYWdnaW5nQ2xpcGJvYXJk
KCkgY29uc3QKLXsKLSAgICByZXR1cm4gQ2xpcGJvYXJkQmxhY2tCZXJyeTo6Y3JlYXRlKENsaXBi
b2FyZFdyaXRhYmxlKTsKLX0KLSNlbmRpZgotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L0NsaXBib2FyZEJsYWNr
QmVycnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9DbGlwYm9hcmRC
bGFja0JlcnJ5LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTg1MWI2Nzg3NDdi
NDcxMTFlMWRiMzI4NmEyOTBjNzRlN2M2ZDVkYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L0Ns
aXBib2FyZEJsYWNrQmVycnkuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTQzICswLDAgQEAKLS8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIwMTEsIDIwMTIgUmVzZWFyY2ggSW4gTW90aW9uIExp
bWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotICogTGljZW5z
ZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0g
KiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9y
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExlc3Nl
ciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1Ymxp
YwotICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0
aGUgRnJlZSBTb2Z0d2FyZQotICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0
LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCi0gKi8KLQotI2luY2x1
ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkNsaXBib2FyZEJsYWNrQmVycnkuaCIKLQotI2luY2x1
ZGUgIkZpbGVMaXN0LmgiCi0jaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKLQotI2luY2x1ZGUg
PEJsYWNrQmVycnlQbGF0Zm9ybUNsaXBib2FyZC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0K
LVBhc3NSZWZQdHI8Q2xpcGJvYXJkPiBDbGlwYm9hcmQ6OmNyZWF0ZShDbGlwYm9hcmRBY2Nlc3NQ
b2xpY3kgcG9saWN5LCBEcmFnRGF0YSosIEZyYW1lKikKLXsKLSAgICByZXR1cm4gQ2xpcGJvYXJk
QmxhY2tCZXJyeTo6Y3JlYXRlKHBvbGljeSwgRHJhZ0FuZERyb3ApOwotfQotCi1DbGlwYm9hcmRC
bGFja0JlcnJ5OjpDbGlwYm9hcmRCbGFja0JlcnJ5KENsaXBib2FyZEFjY2Vzc1BvbGljeSBwb2xp
Y3ksIENsaXBib2FyZFR5cGUgdHlwZSkKLTogQ2xpcGJvYXJkKHBvbGljeSwgdHlwZSkKLXsKLX0K
LQotQ2xpcGJvYXJkQmxhY2tCZXJyeTo6fkNsaXBib2FyZEJsYWNrQmVycnkoKQotewotfQotCi12
b2lkIENsaXBib2FyZEJsYWNrQmVycnk6OmNsZWFyRGF0YShjb25zdCBTdHJpbmcmIHR5cGUpCi17
Ci0gICAgaWYgKCFjYW5Xcml0ZURhdGEoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgQmxhY2tC
ZXJyeTo6UGxhdGZvcm06OkNsaXBib2FyZDo6Y2xlYXJDbGlwYm9hcmRCeVR5cGUodHlwZS51dGY4
KCkuZGF0YSgpKTsKLX0KLQotdm9pZCBDbGlwYm9hcmRCbGFja0JlcnJ5OjpjbGVhckFsbERhdGEo
KQotewotICAgIGlmICghY2FuV3JpdGVEYXRhKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIEJs
YWNrQmVycnk6OlBsYXRmb3JtOjpDbGlwYm9hcmQ6OmNsZWFyQ2xpcGJvYXJkKCk7Ci19Ci0KLVN0
cmluZyBDbGlwYm9hcmRCbGFja0JlcnJ5OjpnZXREYXRhKGNvbnN0IFN0cmluZyYgdHlwZSkgY29u
c3QKLXsKLSAgICBpZiAoIWNhblJlYWREYXRhKCkpCi0gICAgICAgIHJldHVybiBTdHJpbmcoKTsK
LQotICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4KEJsYWNrQmVycnk6OlBsYXRmb3JtOjpDbGlw
Ym9hcmQ6OnJlYWRDbGlwYm9hcmRCeVR5cGUodHlwZS51dGY4KCkuZGF0YSgpKS5jX3N0cigpKTsK
LX0KLQotYm9vbCBDbGlwYm9hcmRCbGFja0JlcnJ5OjpzZXREYXRhKGNvbnN0IFN0cmluZyYgdHlw
ZSwgY29uc3QgU3RyaW5nJiB0ZXh0KQotewotICAgIGlmICghY2FuV3JpdGVEYXRhKCkpCi0gICAg
ICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmICh0eXBlID09ICJ0ZXh0L3BsYWluIikKLSAgICAg
ICAgQmxhY2tCZXJyeTo6UGxhdGZvcm06OkNsaXBib2FyZDo6d3JpdGVQbGFpblRleHQodGV4dCk7
Ci0gICAgZWxzZSBpZiAodHlwZSA9PSAidGV4dC9odG1sIikKLSAgICAgICAgQmxhY2tCZXJyeTo6
UGxhdGZvcm06OkNsaXBib2FyZDo6d3JpdGVIVE1MKHRleHQpOwotICAgIGVsc2UgaWYgKHR5cGUg
PT0gInRleHQvdXJsIikKLSAgICAgICAgQmxhY2tCZXJyeTo6UGxhdGZvcm06OkNsaXBib2FyZDo6
d3JpdGVVUkwodGV4dCk7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLUxpc3RIYXNoU2V0PFN0cmlu
Zz4gQ2xpcGJvYXJkQmxhY2tCZXJyeTo6dHlwZXMoKSBjb25zdAotewotICAgIGlmICghY2FuUmVh
ZFR5cGVzKCkpCi0gICAgICAgIHJldHVybiBMaXN0SGFzaFNldDxTdHJpbmc+KCk7Ci0KLSAgICAv
LyBXZSB1c2UgaGFyZGNvZGVkIGxpc3QgaGVyZSBzaW5jZSB0aGVyZSBzZWVtcyB0byBiZSBubyBB
UEkgdG8gZ2V0IHRoZSBsaXN0LgotICAgIExpc3RIYXNoU2V0PFN0cmluZz4gcmV0OwotICAgIHJl
dC5hZGQoInRleHQvcGxhaW4iKTsKLSAgICByZXQuYWRkKCJ0ZXh0L2h0bWwiKTsKLSAgICByZXQu
YWRkKCJ0ZXh0L3VybCIpOwotICAgIHJldHVybiByZXQ7Ci19Ci0KLVBhc3NSZWZQdHI8RmlsZUxp
c3Q+IENsaXBib2FyZEJsYWNrQmVycnk6OmZpbGVzKCkgY29uc3QKLXsKLSAgICBub3RJbXBsZW1l
bnRlZCgpOwotICAgIHJldHVybiAwOwotfQotCi1EcmFnSW1hZ2VSZWYgQ2xpcGJvYXJkQmxhY2tC
ZXJyeTo6Y3JlYXRlRHJhZ0ltYWdlKEludFBvaW50JikgY29uc3QKLXsKLSAgICBub3RJbXBsZW1l
bnRlZCgpOwotICAgIHJldHVybiAwOwotfQotCi12b2lkIENsaXBib2FyZEJsYWNrQmVycnk6OmRl
Y2xhcmVBbmRXcml0ZURyYWdJbWFnZShFbGVtZW50KiwgY29uc3QgS1VSTCYsIGNvbnN0IFN0cmlu
ZyYsIEZyYW1lKikKLXsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotfQotCi12b2lkIENsaXBib2Fy
ZEJsYWNrQmVycnk6OndyaXRlVVJMKGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiwgRnJh
bWUqKQotewotICAgIEFTU0VSVCghdXJsLmlzRW1wdHkoKSk7Ci0gICAgQmxhY2tCZXJyeTo6UGxh
dGZvcm06OkNsaXBib2FyZDo6d3JpdGVVUkwodXJsLnN0cmluZygpKTsKLX0KLQotdm9pZCBDbGlw
Ym9hcmRCbGFja0JlcnJ5Ojp3cml0ZVJhbmdlKFJhbmdlKiwgRnJhbWUqKQotewotICAgIG5vdElt
cGxlbWVudGVkKCk7Ci19Ci0KLXZvaWQgQ2xpcGJvYXJkQmxhY2tCZXJyeTo6d3JpdGVQbGFpblRl
eHQoY29uc3QgU3RyaW5nJiB0ZXh0KQotewotICAgIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpDbGlw
Ym9hcmQ6OndyaXRlUGxhaW5UZXh0KHRleHQpOwotfQotCi1ib29sIENsaXBib2FyZEJsYWNrQmVy
cnk6Omhhc0RhdGEoKQotewotICAgIHJldHVybiBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6Q2xpcGJv
YXJkOjpoYXNQbGFpblRleHQoKSB8fCBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6Q2xpcGJvYXJkOjpo
YXNIVE1MKCkKLSAgICAgICAgfHwgQmxhY2tCZXJyeTo6UGxhdGZvcm06OkNsaXBib2FyZDo6aGFz
VVJMKCk7Ci19Ci0KLXZvaWQgQ2xpcGJvYXJkQmxhY2tCZXJyeTo6c2V0RHJhZ0ltYWdlKENhY2hl
ZEltYWdlKiwgY29uc3QgSW50UG9pbnQmKQotewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci19Ci0K
LXZvaWQgQ2xpcGJvYXJkQmxhY2tCZXJyeTo6c2V0RHJhZ0ltYWdlRWxlbWVudChOb2RlKiwgY29u
c3QgSW50UG9pbnQmKQotewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci19Ci0KLX0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVy
cnkvQ2xpcGJvYXJkQmxhY2tCZXJyeS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2ti
ZXJyeS9DbGlwYm9hcmRCbGFja0JlcnJ5LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDM3ZGE1MTRiMDc1MTQwZTkzMDc0MDM4NmI3N2I2NTg3OTQ2ODZkMTQuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YmxhY2tiZXJyeS9DbGlwYm9hcmRCbGFja0JlcnJ5LmgKKysrIC9kZXYvbnVsbApAQCAtMSw2MSAr
MCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDEyIFJlc2VhcmNoIEluIE1vdGlv
biBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBm
cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSAqIExp
Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl
cgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBs
YXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ
OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElU
WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBM
ZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlv
dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQ
dWJsaWMKLSAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUg
dG8gdGhlIEZyZWUgU29mdHdhcmUKLSAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQotICovCi0KLSNp
Zm5kZWYgQ2xpcGJvYXJkQmxhY2tCZXJyeV9oCi0jZGVmaW5lIENsaXBib2FyZEJsYWNrQmVycnlf
aAotCi0jaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VDbGllbnQuaCIKLSNpbmNsdWRlICJDbGlwYm9h
cmQuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBDbGlwYm9hcmRCbGFja0JlcnJ5
IDogcHVibGljIENsaXBib2FyZCwgcHVibGljIENhY2hlZFJlc291cmNlQ2xpZW50IHsKLVdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPENsaXBi
b2FyZEJsYWNrQmVycnk+IGNyZWF0ZShDbGlwYm9hcmRBY2Nlc3NQb2xpY3kgcG9saWN5LCBDbGlw
Ym9hcmRUeXBlIGNsaXBib2FyZFR5cGUgPSBDb3B5QW5kUGFzdGUpCi0gICAgewotICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IENsaXBib2FyZEJsYWNrQmVycnkocG9saWN5LCBjbGlwYm9hcmRU
eXBlKSk7Ci0gICAgfQotICAgIHZpcnR1YWwgfkNsaXBib2FyZEJsYWNrQmVycnkoKTsKLQotICAg
IHZvaWQgY2xlYXJEYXRhKGNvbnN0IFN0cmluZyYgdHlwZSk7Ci0gICAgdm9pZCBjbGVhckFsbERh
dGEoKTsKLSAgICBTdHJpbmcgZ2V0RGF0YShjb25zdCBTdHJpbmcmIHR5cGUpIGNvbnN0OwotICAg
IGJvb2wgc2V0RGF0YShjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYgZGF0YSk7Ci0K
LSAgICAvLyBleHRlbnNpb25zIGJleW9uZCBJRSdzIEFQSQotICAgIHZpcnR1YWwgTGlzdEhhc2hT
ZXQ8U3RyaW5nPiB0eXBlcygpIGNvbnN0OwotICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxGaWxlTGlz
dD4gZmlsZXMoKSBjb25zdDsKLSAgICB2aXJ0dWFsIERyYWdJbWFnZVJlZiBjcmVhdGVEcmFnSW1h
Z2UoSW50UG9pbnQmKSBjb25zdDsKLSAgICB2aXJ0dWFsIHZvaWQgZGVjbGFyZUFuZFdyaXRlRHJh
Z0ltYWdlKEVsZW1lbnQqLCBjb25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJiB0aXRsZSwgRnJhbWUq
KTsKLSAgICB2aXJ0dWFsIHZvaWQgd3JpdGVVUkwoY29uc3QgS1VSTCYsIGNvbnN0IFN0cmluZyYs
IEZyYW1lKik7Ci0gICAgdmlydHVhbCB2b2lkIHdyaXRlUmFuZ2UoUmFuZ2UqLCBGcmFtZSopOwot
ICAgIHZpcnR1YWwgdm9pZCB3cml0ZVBsYWluVGV4dChjb25zdCBTdHJpbmcmKTsKLQotICAgIHZp
cnR1YWwgYm9vbCBoYXNEYXRhKCk7Ci0KLSAgICB2aXJ0dWFsIHZvaWQgc2V0RHJhZ0ltYWdlKENh
Y2hlZEltYWdlKiwgY29uc3QgSW50UG9pbnQmKTsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0RHJhZ0lt
YWdlRWxlbWVudChOb2RlKiwgY29uc3QgSW50UG9pbnQmKTsKLQotcHJpdmF0ZToKLSAgICBDbGlw
Ym9hcmRCbGFja0JlcnJ5KENsaXBib2FyZEFjY2Vzc1BvbGljeSwgQ2xpcGJvYXJkVHlwZSk7Ci19
OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBDbGlwYm9hcmRCbGFja0Jl
cnJ5X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvUGFz
dGVib2FyZEJsYWNrQmVycnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJy
eS9QYXN0ZWJvYXJkQmxhY2tCZXJyeS5jcHAKaW5kZXggMzVkN2QwZGM0M2YzNGVjMWVjMDYyOWRm
ZjU5Y2U4MDFkMDA4MjY1OC4uY2Q3YWNkYWY0NGYyNjkyNzJkNjgyNDhiNjk3MDg0MDJhYjVmNmU2
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9QYXN0ZWJv
YXJkQmxhY2tCZXJyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJy
eS9QYXN0ZWJvYXJkQmxhY2tCZXJyeS5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJp
Z2h0IChDKSAyMDA5LCAyMDExIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDExLCAyMDEyIFJlc2VhcmNoIElu
IE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMK
QEAgLTExMiw0ICsxMTIsNjMgQEAgUGFzc1JlZlB0cjxEb2N1bWVudEZyYWdtZW50PiBQYXN0ZWJv
YXJkOjpkb2N1bWVudEZyYWdtZW50KEZyYW1lKiBmcmFtZSwgUGFzc1JlZlAKICAgICByZXR1cm4g
MDsKIH0KIAorUGFzc093blB0cjxQYXN0ZWJvYXJkPiBQYXN0ZWJvYXJkOjpjcmVhdGVGb3JDb3B5
QW5kUGFzdGUoKQoreworICAgIHJldHVybiBhZG9wdFB0cihuZXcgUGFzdGVib2FyZCk7Cit9CisK
K1Bhc3NPd25QdHI8UGFzdGVib2FyZD4gUGFzdGVib2FyZDo6Y3JlYXRlUHJpdmF0ZSgpCit7Cisg
ICAgcmV0dXJuIGNyZWF0ZUZvckNvcHlBbmRQYXN0ZSgpOworfQorCitib29sIFBhc3RlYm9hcmQ6
Omhhc0RhdGEoKQoreworICAgIHJldHVybiBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6Q2xpcGJvYXJk
OjpoYXNQbGFpblRleHQoKSB8fCBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6Q2xpcGJvYXJkOjpoYXNI
VE1MKCkgfHwgQmxhY2tCZXJyeTo6UGxhdGZvcm06OkNsaXBib2FyZDo6aGFzVVJMKCk7Cit9CisK
K3ZvaWQgUGFzdGVib2FyZDo6Y2xlYXIoY29uc3QgU3RyaW5nJiB0eXBlKQoreworICAgIEJsYWNr
QmVycnk6OlBsYXRmb3JtOjpDbGlwYm9hcmQ6OmNsZWFyQ2xpcGJvYXJkQnlUeXBlKHR5cGUudXRm
OCgpLmRhdGEoKSk7Cit9CisKK1N0cmluZyBQYXN0ZWJvYXJkOjpyZWFkU3RyaW5nKGNvbnN0IFN0
cmluZyYgdHlwZSkKK3sKKyAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChCbGFja0JlcnJ5OjpQ
bGF0Zm9ybTo6Q2xpcGJvYXJkOjpyZWFkQ2xpcGJvYXJkQnlUeXBlKHR5cGUudXRmOCgpLmRhdGEo
KSkuY19zdHIoKSk7Cit9CisKK2Jvb2wgUGFzdGVib2FyZDo6d3JpdGVTdHJpbmcoY29uc3QgU3Ry
aW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIHRleHQpCit7CisgICAgaWYgKHR5cGUgPT0gInRleHQv
cGxhaW4iKSB7CisgICAgICAgIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpDbGlwYm9hcmQ6OndyaXRl
UGxhaW5UZXh0KHRleHQpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgaWYgKHR5
cGUgPT0gInRleHQvaHRtbCIpIHsKKyAgICAgICAgQmxhY2tCZXJyeTo6UGxhdGZvcm06OkNsaXBi
b2FyZDo6d3JpdGVIVE1MKHRleHQpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAg
aWYgKHR5cGUgPT0gInRleHQvdXJsIikgeworICAgICAgICBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6
Q2xpcGJvYXJkOjp3cml0ZVVSTCh0ZXh0KTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQor
ICAgIHJldHVybiBmYWxzZTsKK30KKworTGlzdEhhc2hTZXQ8U3RyaW5nPiBQYXN0ZWJvYXJkOjp0
eXBlcygpCit7CisgICAgLy8gV2UgdXNlIGhhcmRjb2RlZCBsaXN0IGhlcmUgc2luY2UgdGhlcmUg
c2VlbXMgdG8gYmUgbm8gQVBJIHRvIGdldCB0aGUgbGlzdC4KKyAgICAvLyBGSVhNRTogU2hvdWxk
IG9taXQgdHlwZXMgd2hlcmUgd2UgaGF2ZSBubyBkYXRhLCB1c2luZyB0aGUgc2FtZSBmdW5jdGlv
bnMgdXNlZCBhYm92ZSBpbiBQYXN0ZWJvYXJkOjpoYXNEYXRhLgorICAgIExpc3RIYXNoU2V0PFN0
cmluZz4gdHlwZXM7CisgICAgdHlwZXMuYWRkKCJ0ZXh0L3BsYWluIik7CisgICAgdHlwZXMuYWRk
KCJ0ZXh0L2h0bWwiKTsKKyAgICB0eXBlcy5hZGQoInRleHQvdXJsIik7CisgICAgcmV0dXJuIHR5
cGVzOworfQorCitWZWN0b3I8U3RyaW5nPiBQYXN0ZWJvYXJkOjpyZWFkRmlsZW5hbWVzKCkKK3sK
KyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiBWZWN0b3I8U3RyaW5nPigpOworfQor
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>202116</attachid>
            <date>2013-05-17 10:10:57 -0700</date>
            <delta_ts>2013-05-17 14:42:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-116287-20130517100950.patch</filename>
            <type>text/plain</type>
            <size>14105</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUwMjY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzM0NjJhNDFlZWJhNDJk
YWVhNjRiM2RkNTJlMWNkNWEyOTIxZjgzMy4uODc2YWQyNjQ5ZTFmMjYzZGQ0MjExYjIxNmRmMjZi
YThkY2I1MzQ1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEzLTA1LTE2ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBbQmxhY2tCZXJyeV0gR2V0IEJs
YWNrQmVycnkgcG9ydCBvZmYgbGVnYWN5IGNsaXBib2FyZAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE2Mjg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBQbGF0Zm9ybUJsYWNrQmVycnkuY21ha2U6IFJl
bW92ZWQgQ2xpcGJvYXJkQmxhY2tCZXJyeS5jcHAuCisKKyAgICAgICAgKiBkb20vQ2xpcGJvYXJk
Lmg6IFJlbW92ZWQgQkxBQ0tCRVJSWSBmcm9tIHRoZSBsaXN0IG9mIHBsYXRmb3JtcyB0aGF0Cisg
ICAgICAgIHVzZSB0aGUgbGVnYWN5IGNsaXBib2FyZC4KKworICAgICAgICAqIGVkaXRpbmcvYmxh
Y2tiZXJyeS9FZGl0b3JCbGFja0JlcnJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6
bmV3R2VuZXJhbENsaXBib2FyZCk6IENoYW5nZWQgdG8ganVzdCBjcmVhdGUgYSBjb3B5CisgICAg
ICAgIGFuZCBwYXN0ZSBjbGlwYm9hcmQuCisKKyAgICAgICAgKiBwYWdlL2JsYWNrYmVycnkvRXZl
bnRIYW5kbGVyQmxhY2tCZXJyeS5jcHA6IFJlbW92ZWQgYSBkcmFnLXJlbGF0ZWQKKyAgICAgICAg
ZnVuY3Rpb24gdGhhdCB3YXNuJ3QgZG9pbmcgYW55IGdvb2QuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ibGFja2JlcnJ5L0NsaXBib2FyZEJsYWNrQmVycnkuY3BwOiBSZW1vdmVkLgorICAgICAgICAq
IHBsYXRmb3JtL2JsYWNrYmVycnkvQ2xpcGJvYXJkQmxhY2tCZXJyeS5oOiBSZW1vdmVkLgorCisg
ICAgICAgICogcGxhdGZvcm0vYmxhY2tiZXJyeS9QYXN0ZWJvYXJkQmxhY2tCZXJyeS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpQYXN0ZWJvYXJkOjpjcmVhdGVGb3JDb3B5QW5kUGFzdGUpOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OlBhc3RlYm9hcmQ6OmNyZWF0ZVByaXZhdGUpOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OlBhc3RlYm9hcmQ6Omhhc0RhdGEpOiBBZGRlZC4gTW92ZWQgY29k
ZSBoZXJlIGZyb20gQ2xpcGJvYXJkQmxhY2tCZXJyeS5jcHAuCisgICAgICAgIChXZWJDb3JlOjpQ
YXN0ZWJvYXJkOjpjbGVhcik6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UGFzdGVib2FyZDo6
cmVhZFN0cmluZyk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UGFzdGVib2FyZDo6d3JpdGVT
dHJpbmcpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlBhc3RlYm9hcmQ6OnR5cGVzKTogRGl0
dG8uCisgICAgICAgIChXZWJDb3JlOjpQYXN0ZWJvYXJkOjpyZWFkRmlsZW5hbWVzKTogRGl0dG8u
CisKIDIwMTMtMDUtMTcgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAg
IFtFRkxdIE1vdmUgRUZMIHBvcnQgb2ZmIGxlZ2FjeSBjbGlwYm9hcmQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1Bs
YXRmb3JtQmxhY2tCZXJyeS5jbWFrZQppbmRleCA1ZTQ4ZGNhNmQ1YzhiNzZiYzJjNWI5ZGQ1YTAw
ZGU5MTNhMzUwMWQ2Li5lOTAwOWE3M2JmNTkwYTQ0NTc4NGVkMjg0NmRmOTRjMzEwYjQ2MzNkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUJsYWNrQmVycnkuY21ha2UKKysrIGIv
U291cmNlL1dlYkNvcmUvUGxhdGZvcm1CbGFja0JlcnJ5LmNtYWtlCkBAIC0xMDAsNyArMTAwLDYg
QEAgbGlzdChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGFnZS9ibGFja2JlcnJ5L0RyYWdD
b250cm9sbGVyQmxhY2tCZXJyeS5jcHAKICAgICBwYWdlL2JsYWNrYmVycnkvRXZlbnRIYW5kbGVy
QmxhY2tCZXJyeS5jcHAKICAgICBwYWdlL2JsYWNrYmVycnkvU2V0dGluZ3NCbGFja0JlcnJ5LmNw
cAotICAgIHBsYXRmb3JtL2JsYWNrYmVycnkvQ2xpcGJvYXJkQmxhY2tCZXJyeS5jcHAKICAgICBw
bGF0Zm9ybS9ibGFja2JlcnJ5L0NvbnRleHRNZW51QmxhY2tCZXJyeS5jcHAKICAgICBwbGF0Zm9y
bS9ibGFja2JlcnJ5L0NvbnRleHRNZW51SXRlbUJsYWNrQmVycnkuY3BwCiAgICAgcGxhdGZvcm0v
YmxhY2tiZXJyeS9DdXJzb3JCbGFja0JlcnJ5LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0NsaXBib2FyZC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0NsaXBib2FyZC5oCmluZGV4
IGY2MzBkZGViODY0OTQ1ZTYxNzkyMmI2NDc3YWNkZWU3MDNkYTAzNGQuLmI5YmVjZmIzZDAwZjUx
OWVlNTgxMTFhOTNlOWNjOWU4MTI1MmI3YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9DbGlwYm9hcmQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ2xpcGJvYXJkLmgKQEAgLTM0
LDcgKzM0LDcgQEAKIC8vIFRoaXMgRE9NIG9iamVjdCBub3cgd29ya3MgYnkgY2FsbGluZyB0aHJv
dWdoIHRvIGNsYXNzZXMgaW4gdGhlIHBsYXRmb3JtIGxheWVyLgogLy8gU3BlY2lmaWNhbGx5LCB0
aGUgY2xhc3MgY3VycmVudGx5IG5hbWVkIFBhc3RlYm9hcmQuIFRoZSBsZWdhY3kgc3R5bGUgaW5z
dGVhZAogLy8gdXNlcyB0aGlzIGFzIGFuIGFic3RyYWN0IGJhc2UgY2xhc3MuCi0jZGVmaW5lIFdU
Rl9VU0VfTEVHQUNZX1NUWUxFX0FCU1RSQUNUX0NMSVBCT0FSRF9DTEFTUyAoUExBVEZPUk0oQkxB
Q0tCRVJSWSkgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKFFU
KSB8fCBQTEFURk9STShXSU4pKQorI2RlZmluZSBXVEZfVVNFX0xFR0FDWV9TVFlMRV9BQlNUUkFD
VF9DTElQQk9BUkRfQ0xBU1MgKFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oSU9TKSB8fCBQTEFU
Rk9STShRVCkgfHwgUExBVEZPUk0oV0lOKSkKIAogI2lmIFVTRShMRUdBQ1lfU1RZTEVfQUJTVFJB
Q1RfQ0xJUEJPQVJEX0NMQVNTKQogI2RlZmluZSBMRUdBQ1lfVklSVFVBTCB2aXJ0dWFsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2JsYWNrYmVycnkvRWRpdG9yQmxhY2tCZXJy
eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2JsYWNrYmVycnkvRWRpdG9yQmxhY2tCZXJy
eS5jcHAKaW5kZXggZmU0YzBjZjBhOTQzYWYyZDU5ZGVhOWJjNWVhMDhiZGY1MjE2MjhlZS4uMWFk
ZWNmM2IzMjI5NmQ1OWM0ZTBhNTdkODcyMzIwMGFiMmQ2YjQ5MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9ibGFja2JlcnJ5L0VkaXRvckJsYWNrQmVycnkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvYmxhY2tiZXJyeS9FZGl0b3JCbGFja0JlcnJ5LmNwcApAQCAt
MjAsMTQgKzIwLDEzIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRWRpdG9yLmgi
CiAKLSNpbmNsdWRlICJDbGlwYm9hcmRCbGFja0JlcnJ5LmgiCi0jaW5jbHVkZSA8d3RmL1Bhc3NS
ZWZQdHIuaD4KKyNpbmNsdWRlICJDbGlwYm9hcmQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBQYXNzUmVmUHRyPENsaXBib2FyZD4gRWRpdG9yOjpuZXdHZW5lcmFsQ2xpcGJvYXJkKENsaXBi
b2FyZEFjY2Vzc1BvbGljeSBwb2xpY3ksIEZyYW1lKikKIHsKLSAgICByZXR1cm4gQ2xpcGJvYXJk
QmxhY2tCZXJyeTo6Y3JlYXRlKHBvbGljeSk7CisgICAgcmV0dXJuIENsaXBib2FyZDo6Y3JlYXRl
Rm9yQ29weUFuZFBhc3RlKHBvbGljeSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYmxhY2tiZXJyeS9FdmVudEhhbmRsZXJCbGFj
a0JlcnJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYmxhY2tiZXJyeS9FdmVudEhhbmRsZXJC
bGFja0JlcnJ5LmNwcAppbmRleCA4ZmI3MmI4MDBlMmQzYzZjODViZGU5YWE2YzcwNWNiMGE4ZmZh
ZGUwLi40Y2Y5OWY0ZDliZTUxYjc4ODFkZTEyOGNkODNhMDVhOGE1YTA1MjI5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2JsYWNrYmVycnkvRXZlbnRIYW5kbGVyQmxhY2tCZXJyeS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ibGFja2JlcnJ5L0V2ZW50SGFuZGxlckJsYWNr
QmVycnkuY3BwCkBAIC0yMCw3ICsyMCw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVk
ZSAiRXZlbnRIYW5kbGVyLmgiCiAKLSNpbmNsdWRlICJDbGlwYm9hcmRCbGFja0JlcnJ5LmgiCiAj
aW5jbHVkZSAiRm9jdXNDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRl
ICJLZXlib2FyZEV2ZW50LmgiCkBAIC04NywxMSArODYsNCBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6
Zm9jdXNEb2N1bWVudFZpZXcoKQogICAgIHBhZ2UtPmZvY3VzQ29udHJvbGxlcigpLT5zZXRGb2N1
c2VkRnJhbWUobV9mcmFtZSk7CiB9CiAKLSNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQotV1RGOjpQ
YXNzUmVmUHRyPENsaXBib2FyZD4gRXZlbnRIYW5kbGVyOjpjcmVhdGVEcmFnZ2luZ0NsaXBib2Fy
ZCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIENsaXBib2FyZEJsYWNrQmVycnk6OmNyZWF0ZShDbGlw
Ym9hcmRXcml0YWJsZSk7Ci19Ci0jZW5kaWYKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9DbGlwYm9hcmRCbGFj
a0JlcnJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvQ2xpcGJvYXJk
QmxhY2tCZXJyeS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk4NTFiNjc4NzQ3
YjQ3MTExZTFkYjMyODZhMjkwYzc0ZTdjNmQ1ZGIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9D
bGlwYm9hcmRCbGFja0JlcnJ5LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDE0MyArMCwwIEBACi0v
KgotICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDExLCAyMDEyIFJlc2VhcmNoIEluIE1vdGlvbiBM
aW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgot
ICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMZXNz
ZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBz
aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJs
aWMKLSAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8g
dGhlIEZyZWUgU29mdHdhcmUKLSAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVl
dCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQotICovCi0KLSNpbmNs
dWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJDbGlwYm9hcmRCbGFja0JlcnJ5LmgiCi0KLSNpbmNs
dWRlICJGaWxlTGlzdC5oIgotI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCi0KLSNpbmNsdWRl
IDxCbGFja0JlcnJ5UGxhdGZvcm1DbGlwYm9hcmQuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewot
Ci1QYXNzUmVmUHRyPENsaXBib2FyZD4gQ2xpcGJvYXJkOjpjcmVhdGUoQ2xpcGJvYXJkQWNjZXNz
UG9saWN5IHBvbGljeSwgRHJhZ0RhdGEqLCBGcmFtZSopCi17Ci0gICAgcmV0dXJuIENsaXBib2Fy
ZEJsYWNrQmVycnk6OmNyZWF0ZShwb2xpY3ksIERyYWdBbmREcm9wKTsKLX0KLQotQ2xpcGJvYXJk
QmxhY2tCZXJyeTo6Q2xpcGJvYXJkQmxhY2tCZXJyeShDbGlwYm9hcmRBY2Nlc3NQb2xpY3kgcG9s
aWN5LCBDbGlwYm9hcmRUeXBlIHR5cGUpCi06IENsaXBib2FyZChwb2xpY3ksIHR5cGUpCi17Ci19
Ci0KLUNsaXBib2FyZEJsYWNrQmVycnk6On5DbGlwYm9hcmRCbGFja0JlcnJ5KCkKLXsKLX0KLQot
dm9pZCBDbGlwYm9hcmRCbGFja0JlcnJ5OjpjbGVhckRhdGEoY29uc3QgU3RyaW5nJiB0eXBlKQot
ewotICAgIGlmICghY2FuV3JpdGVEYXRhKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIEJsYWNr
QmVycnk6OlBsYXRmb3JtOjpDbGlwYm9hcmQ6OmNsZWFyQ2xpcGJvYXJkQnlUeXBlKHR5cGUudXRm
OCgpLmRhdGEoKSk7Ci19Ci0KLXZvaWQgQ2xpcGJvYXJkQmxhY2tCZXJyeTo6Y2xlYXJBbGxEYXRh
KCkKLXsKLSAgICBpZiAoIWNhbldyaXRlRGF0YSgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBC
bGFja0JlcnJ5OjpQbGF0Zm9ybTo6Q2xpcGJvYXJkOjpjbGVhckNsaXBib2FyZCgpOwotfQotCi1T
dHJpbmcgQ2xpcGJvYXJkQmxhY2tCZXJyeTo6Z2V0RGF0YShjb25zdCBTdHJpbmcmIHR5cGUpIGNv
bnN0Ci17Ci0gICAgaWYgKCFjYW5SZWFkRGF0YSgpKQotICAgICAgICByZXR1cm4gU3RyaW5nKCk7
Ci0KLSAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6Q2xp
cGJvYXJkOjpyZWFkQ2xpcGJvYXJkQnlUeXBlKHR5cGUudXRmOCgpLmRhdGEoKSkuY19zdHIoKSk7
Ci19Ci0KLWJvb2wgQ2xpcGJvYXJkQmxhY2tCZXJyeTo6c2V0RGF0YShjb25zdCBTdHJpbmcmIHR5
cGUsIGNvbnN0IFN0cmluZyYgdGV4dCkKLXsKLSAgICBpZiAoIWNhbldyaXRlRGF0YSgpKQotICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAodHlwZSA9PSAidGV4dC9wbGFpbiIpCi0gICAg
ICAgIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpDbGlwYm9hcmQ6OndyaXRlUGxhaW5UZXh0KHRleHQp
OwotICAgIGVsc2UgaWYgKHR5cGUgPT0gInRleHQvaHRtbCIpCi0gICAgICAgIEJsYWNrQmVycnk6
OlBsYXRmb3JtOjpDbGlwYm9hcmQ6OndyaXRlSFRNTCh0ZXh0KTsKLSAgICBlbHNlIGlmICh0eXBl
ID09ICJ0ZXh0L3VybCIpCi0gICAgICAgIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpDbGlwYm9hcmQ6
OndyaXRlVVJMKHRleHQpOwotICAgIHJldHVybiB0cnVlOwotfQotCi1MaXN0SGFzaFNldDxTdHJp
bmc+IENsaXBib2FyZEJsYWNrQmVycnk6OnR5cGVzKCkgY29uc3QKLXsKLSAgICBpZiAoIWNhblJl
YWRUeXBlcygpKQotICAgICAgICByZXR1cm4gTGlzdEhhc2hTZXQ8U3RyaW5nPigpOwotCi0gICAg
Ly8gV2UgdXNlIGhhcmRjb2RlZCBsaXN0IGhlcmUgc2luY2UgdGhlcmUgc2VlbXMgdG8gYmUgbm8g
QVBJIHRvIGdldCB0aGUgbGlzdC4KLSAgICBMaXN0SGFzaFNldDxTdHJpbmc+IHJldDsKLSAgICBy
ZXQuYWRkKCJ0ZXh0L3BsYWluIik7Ci0gICAgcmV0LmFkZCgidGV4dC9odG1sIik7Ci0gICAgcmV0
LmFkZCgidGV4dC91cmwiKTsKLSAgICByZXR1cm4gcmV0OwotfQotCi1QYXNzUmVmUHRyPEZpbGVM
aXN0PiBDbGlwYm9hcmRCbGFja0JlcnJ5OjpmaWxlcygpIGNvbnN0Ci17Ci0gICAgbm90SW1wbGVt
ZW50ZWQoKTsKLSAgICByZXR1cm4gMDsKLX0KLQotRHJhZ0ltYWdlUmVmIENsaXBib2FyZEJsYWNr
QmVycnk6OmNyZWF0ZURyYWdJbWFnZShJbnRQb2ludCYpIGNvbnN0Ci17Ci0gICAgbm90SW1wbGVt
ZW50ZWQoKTsKLSAgICByZXR1cm4gMDsKLX0KLQotdm9pZCBDbGlwYm9hcmRCbGFja0JlcnJ5Ojpk
ZWNsYXJlQW5kV3JpdGVEcmFnSW1hZ2UoRWxlbWVudCosIGNvbnN0IEtVUkwmLCBjb25zdCBTdHJp
bmcmLCBGcmFtZSopCi17Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLX0KLQotdm9pZCBDbGlwYm9h
cmRCbGFja0JlcnJ5Ojp3cml0ZVVSTChjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYsIEZy
YW1lKikKLXsKLSAgICBBU1NFUlQoIXVybC5pc0VtcHR5KCkpOwotICAgIEJsYWNrQmVycnk6OlBs
YXRmb3JtOjpDbGlwYm9hcmQ6OndyaXRlVVJMKHVybC5zdHJpbmcoKSk7Ci19Ci0KLXZvaWQgQ2xp
cGJvYXJkQmxhY2tCZXJyeTo6d3JpdGVSYW5nZShSYW5nZSosIEZyYW1lKikKLXsKLSAgICBub3RJ
bXBsZW1lbnRlZCgpOwotfQotCi12b2lkIENsaXBib2FyZEJsYWNrQmVycnk6OndyaXRlUGxhaW5U
ZXh0KGNvbnN0IFN0cmluZyYgdGV4dCkKLXsKLSAgICBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6Q2xp
cGJvYXJkOjp3cml0ZVBsYWluVGV4dCh0ZXh0KTsKLX0KLQotYm9vbCBDbGlwYm9hcmRCbGFja0Jl
cnJ5OjpoYXNEYXRhKCkKLXsKLSAgICByZXR1cm4gQmxhY2tCZXJyeTo6UGxhdGZvcm06OkNsaXBi
b2FyZDo6aGFzUGxhaW5UZXh0KCkgfHwgQmxhY2tCZXJyeTo6UGxhdGZvcm06OkNsaXBib2FyZDo6
aGFzSFRNTCgpCi0gICAgICAgIHx8IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpDbGlwYm9hcmQ6Omhh
c1VSTCgpOwotfQotCi12b2lkIENsaXBib2FyZEJsYWNrQmVycnk6OnNldERyYWdJbWFnZShDYWNo
ZWRJbWFnZSosIGNvbnN0IEludFBvaW50JikKLXsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotfQot
Ci12b2lkIENsaXBib2FyZEJsYWNrQmVycnk6OnNldERyYWdJbWFnZUVsZW1lbnQoTm9kZSosIGNv
bnN0IEludFBvaW50JikKLXsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotfQotCi19IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2Jl
cnJ5L0NsaXBib2FyZEJsYWNrQmVycnkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNr
YmVycnkvQ2xpcGJvYXJkQmxhY2tCZXJyeS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAzN2RhNTE0YjA3NTE0MGU5MzA3NDAzODZiNzdiNjU4Nzk0Njg2ZDE0Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2JsYWNrYmVycnkvQ2xpcGJvYXJkQmxhY2tCZXJyeS5oCisrKyAvZGV2L251bGwKQEAgLTEsNjEg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxMiBSZXNlYXJjaCBJbiBNb3Rp
b24gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkg
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0gKiBM
aWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo
ZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkg
bGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhl
IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U
WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJ
VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICog
TGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwg
UHVibGljCi0gKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRl
IHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBT
dHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKLSAqLwotCi0j
aWZuZGVmIENsaXBib2FyZEJsYWNrQmVycnlfaAotI2RlZmluZSBDbGlwYm9hcmRCbGFja0JlcnJ5
X2gKLQotI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlQ2xpZW50LmgiCi0jaW5jbHVkZSAiQ2xpcGJv
YXJkLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgQ2xpcGJvYXJkQmxhY2tCZXJy
eSA6IHB1YmxpYyBDbGlwYm9hcmQsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7Ci1XVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxDbGlw
Ym9hcmRCbGFja0JlcnJ5PiBjcmVhdGUoQ2xpcGJvYXJkQWNjZXNzUG9saWN5IHBvbGljeSwgQ2xp
cGJvYXJkVHlwZSBjbGlwYm9hcmRUeXBlID0gQ29weUFuZFBhc3RlKQotICAgIHsKLSAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBDbGlwYm9hcmRCbGFja0JlcnJ5KHBvbGljeSwgY2xpcGJvYXJk
VHlwZSkpOwotICAgIH0KLSAgICB2aXJ0dWFsIH5DbGlwYm9hcmRCbGFja0JlcnJ5KCk7Ci0KLSAg
ICB2b2lkIGNsZWFyRGF0YShjb25zdCBTdHJpbmcmIHR5cGUpOwotICAgIHZvaWQgY2xlYXJBbGxE
YXRhKCk7Ci0gICAgU3RyaW5nIGdldERhdGEoY29uc3QgU3RyaW5nJiB0eXBlKSBjb25zdDsKLSAg
ICBib29sIHNldERhdGEoY29uc3QgU3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIGRhdGEpOwot
Ci0gICAgLy8gZXh0ZW5zaW9ucyBiZXlvbmQgSUUncyBBUEkKLSAgICB2aXJ0dWFsIExpc3RIYXNo
U2V0PFN0cmluZz4gdHlwZXMoKSBjb25zdDsKLSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RmlsZUxp
c3Q+IGZpbGVzKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBEcmFnSW1hZ2VSZWYgY3JlYXRlRHJhZ0lt
YWdlKEludFBvaW50JikgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIGRlY2xhcmVBbmRXcml0ZURy
YWdJbWFnZShFbGVtZW50KiwgY29uc3QgS1VSTCYsIGNvbnN0IFN0cmluZyYgdGl0bGUsIEZyYW1l
Kik7Ci0gICAgdmlydHVhbCB2b2lkIHdyaXRlVVJMKGNvbnN0IEtVUkwmLCBjb25zdCBTdHJpbmcm
LCBGcmFtZSopOwotICAgIHZpcnR1YWwgdm9pZCB3cml0ZVJhbmdlKFJhbmdlKiwgRnJhbWUqKTsK
LSAgICB2aXJ0dWFsIHZvaWQgd3JpdGVQbGFpblRleHQoY29uc3QgU3RyaW5nJik7Ci0KLSAgICB2
aXJ0dWFsIGJvb2wgaGFzRGF0YSgpOwotCi0gICAgdmlydHVhbCB2b2lkIHNldERyYWdJbWFnZShD
YWNoZWRJbWFnZSosIGNvbnN0IEludFBvaW50Jik7Ci0gICAgdmlydHVhbCB2b2lkIHNldERyYWdJ
bWFnZUVsZW1lbnQoTm9kZSosIGNvbnN0IEludFBvaW50Jik7Ci0KLXByaXZhdGU6Ci0gICAgQ2xp
cGJvYXJkQmxhY2tCZXJyeShDbGlwYm9hcmRBY2Nlc3NQb2xpY3ksIENsaXBib2FyZFR5cGUpOwot
fTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gQ2xpcGJvYXJkQmxhY2tC
ZXJyeV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1Bh
c3RlYm9hcmRCbGFja0JlcnJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVy
cnkvUGFzdGVib2FyZEJsYWNrQmVycnkuY3BwCmluZGV4IDZiYTFjMzI0OTc5ODNmMWJlMDlhYmZm
YWJmNDM2Y2ZkODNhYWM2M2UuLmEyODQzYTZmN2Y2MTMyYmFlMjVmY2ZmMTE4MGQxMzY5MDhmNTNi
OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvUGFzdGVi
b2FyZEJsYWNrQmVycnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVy
cnkvUGFzdGVib2FyZEJsYWNrQmVycnkuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHly
aWdodCAoQykgMjAwOSwgMjAxMSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZC4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMSwgMjAxMiBSZXNlYXJjaCBJ
biBNb3Rpb24gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGlj
CkBAIC0xMTgsNCArMTE4LDYzIEBAIFBhc3NSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gUGFzdGVi
b2FyZDo6ZG9jdW1lbnRGcmFnbWVudChGcmFtZSogZnJhbWUsIFBhc3NSZWZQCiAgICAgcmV0dXJu
IDA7CiB9CiAKK1Bhc3NPd25QdHI8UGFzdGVib2FyZD4gUGFzdGVib2FyZDo6Y3JlYXRlRm9yQ29w
eUFuZFBhc3RlKCkKK3sKKyAgICByZXR1cm4gYWRvcHRQdHIobmV3IFBhc3RlYm9hcmQpOworfQor
CitQYXNzT3duUHRyPFBhc3RlYm9hcmQ+IFBhc3RlYm9hcmQ6OmNyZWF0ZVByaXZhdGUoKQorewor
ICAgIHJldHVybiBjcmVhdGVGb3JDb3B5QW5kUGFzdGUoKTsKK30KKworYm9vbCBQYXN0ZWJvYXJk
OjpoYXNEYXRhKCkKK3sKKyAgICByZXR1cm4gQmxhY2tCZXJyeTo6UGxhdGZvcm06OkNsaXBib2Fy
ZDo6aGFzUGxhaW5UZXh0KCkgfHwgQmxhY2tCZXJyeTo6UGxhdGZvcm06OkNsaXBib2FyZDo6aGFz
SFRNTCgpIHx8IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpDbGlwYm9hcmQ6Omhhc1VSTCgpOworfQor
Cit2b2lkIFBhc3RlYm9hcmQ6OmNsZWFyKGNvbnN0IFN0cmluZyYgdHlwZSkKK3sKKyAgICBCbGFj
a0JlcnJ5OjpQbGF0Zm9ybTo6Q2xpcGJvYXJkOjpjbGVhckNsaXBib2FyZEJ5VHlwZSh0eXBlLnV0
ZjgoKS5kYXRhKCkpOworfQorCitTdHJpbmcgUGFzdGVib2FyZDo6cmVhZFN0cmluZyhjb25zdCBT
dHJpbmcmIHR5cGUpCit7CisgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoQmxhY2tCZXJyeTo6
UGxhdGZvcm06OkNsaXBib2FyZDo6cmVhZENsaXBib2FyZEJ5VHlwZSh0eXBlLnV0ZjgoKS5kYXRh
KCkpLmNfc3RyKCkpOworfQorCitib29sIFBhc3RlYm9hcmQ6OndyaXRlU3RyaW5nKGNvbnN0IFN0
cmluZyYgdHlwZSwgY29uc3QgU3RyaW5nJiB0ZXh0KQoreworICAgIGlmICh0eXBlID09ICJ0ZXh0
L3BsYWluIikgeworICAgICAgICBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6Q2xpcGJvYXJkOjp3cml0
ZVBsYWluVGV4dCh0ZXh0KTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIGlmICh0
eXBlID09ICJ0ZXh0L2h0bWwiKSB7CisgICAgICAgIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpDbGlw
Ym9hcmQ6OndyaXRlSFRNTCh0ZXh0KTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAg
IGlmICh0eXBlID09ICJ0ZXh0L3VybCIpIHsKKyAgICAgICAgQmxhY2tCZXJyeTo6UGxhdGZvcm06
OkNsaXBib2FyZDo6d3JpdGVVUkwodGV4dCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0K
KyAgICByZXR1cm4gZmFsc2U7Cit9CisKK0xpc3RIYXNoU2V0PFN0cmluZz4gUGFzdGVib2FyZDo6
dHlwZXMoKQoreworICAgIC8vIFdlIHVzZSBoYXJkY29kZWQgbGlzdCBoZXJlIHNpbmNlIHRoZXJl
IHNlZW1zIHRvIGJlIG5vIEFQSSB0byBnZXQgdGhlIGxpc3QuCisgICAgLy8gRklYTUU6IFNob3Vs
ZCBvbWl0IHR5cGVzIHdoZXJlIHdlIGhhdmUgbm8gZGF0YSwgdXNpbmcgdGhlIHNhbWUgZnVuY3Rp
b25zIHVzZWQgYWJvdmUgaW4gUGFzdGVib2FyZDo6aGFzRGF0YS4KKyAgICBMaXN0SGFzaFNldDxT
dHJpbmc+IHR5cGVzOworICAgIHR5cGVzLmFkZCgidGV4dC9wbGFpbiIpOworICAgIHR5cGVzLmFk
ZCgidGV4dC9odG1sIik7CisgICAgdHlwZXMuYWRkKCJ0ZXh0L3VybCIpOworICAgIHJldHVybiB0
eXBlczsKK30KKworVmVjdG9yPFN0cmluZz4gUGFzdGVib2FyZDo6cmVhZEZpbGVuYW1lcygpCit7
CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gVmVjdG9yPFN0cmluZz4oKTsKK30K
KwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>
<flag name="review"
          id="223526"
          type_id="1"
          status="+"
          setter="rwlbuis"
    />
          </attachment>
      

    </bug>

</bugzilla>