<?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>73283</bug_id>
          
          <creation_ts>2011-11-28 21:59:15 -0800</creation_ts>
          <short_desc>Upstream the BlackBerry porting of SocketStream</short_desc>
          <delta_ts>2011-11-28 22:33:25 -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>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>73144</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Leo Yang">leo.yang</reporter>
          <assigned_to name="Leo Yang">leo.yang</assigned_to>
          <cc>charles.wei</cc>
    
    <cc>dbates</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>staikos</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>510484</commentid>
    <comment_count>0</comment_count>
    <who name="Leo Yang">leo.yang</who>
    <bug_when>2011-11-28 21:59:15 -0800</bug_when>
    <thetext>This bug is to upstream the BlackBerry porting of SocketStream.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>510491</commentid>
    <comment_count>1</comment_count>
      <attachid>116896</attachid>
    <who name="Leo Yang">leo.yang</who>
    <bug_when>2011-11-28 22:12:23 -0800</bug_when>
    <thetext>Created attachment 116896
Patch for review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>510507</commentid>
    <comment_count>2</comment_count>
    <who name="Leo Yang">leo.yang</who>
    <bug_when>2011-11-28 22:33:25 -0800</bug_when>
    <thetext>Committed r101328: &lt;http://trac.webkit.org/changeset/101328&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116896</attachid>
            <date>2011-11-28 22:12:23 -0800</date>
            <delta_ts>2011-11-28 22:16:25 -0800</delta_ts>
            <desc>Patch for review</desc>
            <filename>0001-Upstream-the-BlackBerry-porting-of-SocketStream.patch</filename>
            <type>text/plain</type>
            <size>15832</size>
            <attacher name="Leo Yang">leo.yang</attacher>
            
              <data encoding="base64">RnJvbSAwMDdhNzk2ZmNjMjNjMDk2Y2E5MWE3YjE3MzkzOGQ5ZDhhNmI3MGYyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMZW8gWWFuZyA8bGVvLnlhbmdAdG9yY2htb2JpbGUuY29tLmNu
PgpEYXRlOiBUdWUsIDI5IE5vdiAyMDExIDE0OjEwOjE5ICswODAwClN1YmplY3Q6IFtQQVRDSF0g
VXBzdHJlYW0gdGhlIEJsYWNrQmVycnkgcG9ydGluZyBvZiBTb2NrZXRTdHJlYW0KIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI4MwoKUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCgpPdGhlciBtYWluIGNvbnRyaWJ1dG9yczoKSm9lIE1hc29uIDxqbWFzb25Acmlt
LmNvbT4KTHlvbiBDaGVuIDxsaWFjaGVuQHJpbS5jb20+CgpJbml0aWFsIHVwc3RyZWFtLCBjYW4n
dCBiZSBidWlsdCB5ZXQsIG5vIG5ldyB0ZXN0cy4KCiogcGxhdGZvcm0vbmV0d29yay9ibGFja2Jl
cnJ5L1NvY2tldFN0cmVhbUVycm9yLmg6IEFkZGVkLgooV2ViQ29yZTo6U29ja2V0U3RyZWFtRXJy
b3I6OlNvY2tldFN0cmVhbUVycm9yKToKKiBwbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvU29j
a2V0U3RyZWFtSGFuZGxlLmg6IEFkZGVkLgooV2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxlOjpj
cmVhdGUpOgoqIHBsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9Tb2NrZXRTdHJlYW1IYW5kbGVC
bGFja0JlcnJ5LmNwcDogQWRkZWQuCihXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGU6OlNvY2tl
dFN0cmVhbUhhbmRsZSk6CihXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGU6On5Tb2NrZXRTdHJl
YW1IYW5kbGUpOgooV2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxlOjpwbGF0Zm9ybVNlbmQpOgoo
V2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxlOjpwbGF0Zm9ybUNsb3NlKToKKFdlYkNvcmU6OlNv
Y2tldFN0cmVhbUhhbmRsZTo6ZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKToKKFdl
YkNvcmU6OlNvY2tldFN0cmVhbUhhbmRsZTo6cmVjZWl2ZWRDcmVkZW50aWFsKToKKFdlYkNvcmU6
OlNvY2tldFN0cmVhbUhhbmRsZTo6cmVjZWl2ZWRSZXF1ZXN0VG9Db250aW51ZVdpdGhvdXRDcmVk
ZW50aWFsKToKKFdlYkNvcmU6OlNvY2tldFN0cmVhbUhhbmRsZTo6cmVjZWl2ZWRDYW5jZWxsYXRp
b24pOgooV2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxlOjpub3RpZnlTdGF0dXNSZWNlaXZlZCk6
CihXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGU6Om5vdGlmeURhdGFSZWNlaXZlZCk6CihXZWJD
b3JlOjpTb2NrZXRTdHJlYW1IYW5kbGU6Om5vdGlmeVJlYWR5VG9TZW5kRGF0YSk6CihXZWJDb3Jl
OjpTb2NrZXRTdHJlYW1IYW5kbGU6Om5vdGlmeUNsb3NlKToKLS0tCiBTb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMzEgKysrKwogLi4uL25ldHdv
cmsvYmxhY2tiZXJyeS9Tb2NrZXRTdHJlYW1FcnJvci5oICAgICAgICAgfCAgIDUwICsrKysrKwog
Li4uL25ldHdvcmsvYmxhY2tiZXJyeS9Tb2NrZXRTdHJlYW1IYW5kbGUuaCAgICAgICAgfCAgIDc5
ICsrKysrKysrKysKIC4uLi9ibGFja2JlcnJ5L1NvY2tldFN0cmVhbUhhbmRsZUJsYWNrQmVycnku
Y3BwICAgIHwgIDE2NSArKysrKysrKysrKysrKysrKysrKwogNCBmaWxlcyBjaGFuZ2VkLCAzMjUg
aW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvU29ja2V0U3RyZWFtRXJyb3IuaAog
Y3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2ti
ZXJyeS9Tb2NrZXRTdHJlYW1IYW5kbGUuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9Tb2NrZXRTdHJlYW1IYW5kbGVCbGFja0Jl
cnJ5LmNwcAoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1YzEyYTZkLi4yOWMyZTA5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzQgQEAKKzIwMTEtMTEtMjggIExlbyBZYW5nICA8bGVvLnlhbmdAdG9yY2htb2JpbGUu
Y29tLmNuPgorCisgICAgICAgIFVwc3RyZWFtIHRoZSBCbGFja0JlcnJ5IHBvcnRpbmcgb2YgU29j
a2V0U3RyZWFtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03MzI4MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IE90aGVyIG1haW4gY29udHJpYnV0b3JzOgorICAgICAgICBKb2UgTWFzb24gPGptYXNvbkByaW0u
Y29tPgorICAgICAgICBMeW9uIENoZW4gPGxpYWNoZW5AcmltLmNvbT4KKworICAgICAgICBJbml0
aWFsIHVwc3RyZWFtLCBjYW4ndCBiZSBidWlsdCB5ZXQsIG5vIG5ldyB0ZXN0cy4KKworICAgICAg
ICAqIHBsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9Tb2NrZXRTdHJlYW1FcnJvci5oOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OlNvY2tldFN0cmVhbUVycm9yOjpTb2NrZXRTdHJlYW1FcnJv
cik6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L1NvY2tldFN0cmVhbUhh
bmRsZS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNvY2tldFN0cmVhbUhhbmRsZTo6Y3Jl
YXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvU29ja2V0U3RyZWFt
SGFuZGxlQmxhY2tCZXJyeS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U29ja2V0U3Ry
ZWFtSGFuZGxlOjpTb2NrZXRTdHJlYW1IYW5kbGUpOgorICAgICAgICAoV2ViQ29yZTo6U29ja2V0
U3RyZWFtSGFuZGxlOjp+U29ja2V0U3RyZWFtSGFuZGxlKToKKyAgICAgICAgKFdlYkNvcmU6OlNv
Y2tldFN0cmVhbUhhbmRsZTo6cGxhdGZvcm1TZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlNvY2tl
dFN0cmVhbUhhbmRsZTo6cGxhdGZvcm1DbG9zZSk6CisgICAgICAgIChXZWJDb3JlOjpTb2NrZXRT
dHJlYW1IYW5kbGU6OmRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSk6CisgICAgICAg
IChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGU6OnJlY2VpdmVkQ3JlZGVudGlhbCk6CisgICAg
ICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGU6OnJlY2VpdmVkUmVxdWVzdFRvQ29udGlu
dWVXaXRob3V0Q3JlZGVudGlhbCk6CisgICAgICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5k
bGU6OnJlY2VpdmVkQ2FuY2VsbGF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNvY2tldFN0cmVh
bUhhbmRsZTo6bm90aWZ5U3RhdHVzUmVjZWl2ZWQpOgorICAgICAgICAoV2ViQ29yZTo6U29ja2V0
U3RyZWFtSGFuZGxlOjpub3RpZnlEYXRhUmVjZWl2ZWQpOgorICAgICAgICAoV2ViQ29yZTo6U29j
a2V0U3RyZWFtSGFuZGxlOjpub3RpZnlSZWFkeVRvU2VuZERhdGEpOgorICAgICAgICAoV2ViQ29y
ZTo6U29ja2V0U3RyZWFtSGFuZGxlOjpub3RpZnlDbG9zZSk6CisKIDIwMTEtMTEtMjggIFN0ZXBo
ZW4gV2hpdGUgIDxzZW5vcmJsYW5jb0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVt
XSBGaXggU1ZHIGZpbHRlcnMgd2hlbiBydW5uaW5nIGluIGFjY2VsZXJhdGVkIGRyYXdpbmcgbW9k
ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJy
eS9Tb2NrZXRTdHJlYW1FcnJvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9i
bGFja2JlcnJ5L1NvY2tldFN0cmVhbUVycm9yLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uODBkZmEzOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvYmxhY2tiZXJyeS9Tb2NrZXRTdHJlYW1FcnJvci5oCkBAIC0wLDAgKzEsNTAg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xl
IEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisg
KiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2lmbmRlZiBTb2NrZXRTdHJlYW1FcnJvcl9oCisjZGVmaW5lIFNvY2tldFN0cmVhbUVycm9y
X2gKKworI2luY2x1ZGUgIlNvY2tldFN0cmVhbUVycm9yQmFzZS5oIgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2NsYXNzIFNvY2tldFN0cmVhbUVycm9yIDogcHVibGljIFNvY2tldFN0cmVhbUVy
cm9yQmFzZSB7CitwdWJsaWM6CisgICAgU29ja2V0U3RyZWFtRXJyb3IoKSB7IH0KKyAgICBleHBs
aWNpdCBTb2NrZXRTdHJlYW1FcnJvcihpbnQgZXJyb3JDb2RlKQorICAgICAgICA6IFNvY2tldFN0
cmVhbUVycm9yQmFzZShlcnJvckNvZGUpCisgICAgeworICAgIH0KKworfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gU29ja2V0U3RyZWFtRXJyb3JfaApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L1NvY2tldFN0cmVh
bUhhbmRsZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L1Nv
Y2tldFN0cmVhbUhhbmRsZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNj
M2VkN2IKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L2JsYWNrYmVycnkvU29ja2V0U3RyZWFtSGFuZGxlLmgKQEAgLTAsMCArMSw3OSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTAgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6Cisg
KgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAq
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29v
Z2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
CisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2lmbmRlZiBTb2NrZXRTdHJlYW1IYW5kbGVfaAorI2RlZmluZSBTb2NrZXRTdHJlYW1I
YW5kbGVfaAorCisjaW5jbHVkZSAiU29ja2V0U3RyZWFtSGFuZGxlQmFzZS5oIgorCisjaW5jbHVk
ZSA8bmV0d29yay9GaWx0ZXJTdHJlYW0uaD4KKyNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CisjaW5j
bHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOworY2xh
c3MgQ3JlZGVudGlhbDsKK2NsYXNzIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudDsKKworY2xhc3Mg
U29ja2V0U3RyZWFtSGFuZGxlIDogcHVibGljIFJlZkNvdW50ZWQ8U29ja2V0U3RyZWFtSGFuZGxl
PiwgcHVibGljIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpGaWx0ZXJTdHJlYW0sIHB1YmxpYyBTb2Nr
ZXRTdHJlYW1IYW5kbGVCYXNlIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTb2Nr
ZXRTdHJlYW1IYW5kbGU+IGNyZWF0ZShjb25zdCBTdHJpbmcmIGdyb3VwTmFtZSwgY29uc3QgS1VS
TCYgdXJsLCBTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQqIGNsaWVudCkgeyByZXR1cm4gYWRvcHRS
ZWYobmV3IFNvY2tldFN0cmVhbUhhbmRsZShncm91cE5hbWUsIHVybCwgY2xpZW50KSk7IH0KKwor
ICAgIHZpcnR1YWwgflNvY2tldFN0cmVhbUhhbmRsZSgpOworCisgICAgLy8gRmlsdGVyU3RyZWFt
IGludGVyZmFjZQorICAgIHZpcnR1YWwgdm9pZCBub3RpZnlTdGF0dXNSZWNlaXZlZChpbnQgc3Rh
dHVzLCBjb25zdCBjaGFyKiBtZXNzYWdlKTsKKyAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5RGF0YVJl
Y2VpdmVkKEJsYWNrQmVycnk6OlBsYXRmb3JtOjpOZXR3b3JrQnVmZmVyKik7CisgICAgdmlydHVh
bCB2b2lkIG5vdGlmeVJlYWR5VG9TZW5kRGF0YSgpOworICAgIHZpcnR1YWwgdm9pZCBub3RpZnlD
bG9zZShpbnQgc3RhdHVzKTsKKworcHJvdGVjdGVkOgorICAgIHZpcnR1YWwgaW50IHBsYXRmb3Jt
U2VuZChjb25zdCBjaGFyKiBkYXRhLCBpbnQgbGVuZ3RoKTsKKyAgICB2aXJ0dWFsIHZvaWQgcGxh
dGZvcm1DbG9zZSgpOworCitwcml2YXRlOgorICAgIFNvY2tldFN0cmVhbUhhbmRsZShjb25zdCBT
dHJpbmcmIGdyb3VwTmFtZSwgY29uc3QgS1VSTCYsIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCop
OworCisgICAgLy8gTm8gYXV0aGVudGljYXRpb24gZm9yIHN0cmVhbXMgcGVyIHNlLCBidXQgcHJv
eHkgbWF5IGFzayBmb3IgY3JlZGVudGlhbHMuCisgICAgdm9pZCBkaWRSZWNlaXZlQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2UoY29uc3QgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKTsKKyAgICB2b2lk
IHJlY2VpdmVkQ3JlZGVudGlhbChjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYsIGNvbnN0
IENyZWRlbnRpYWwmKTsKKyAgICB2b2lkIHJlY2VpdmVkUmVxdWVzdFRvQ29udGludWVXaXRob3V0
Q3JlZGVudGlhbChjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpOworICAgIHZvaWQgcmVj
ZWl2ZWRDYW5jZWxsYXRpb24oY29uc3QgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKTsKKworICAg
IE93blB0cjxCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6RmlsdGVyU3RyZWFtPiBtX3NvY2tldFN0cmVh
bTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIFNvY2tldFN0cmVh
bUhhbmRsZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2Js
YWNrYmVycnkvU29ja2V0U3RyZWFtSGFuZGxlQmxhY2tCZXJyeS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvU29ja2V0U3RyZWFtSGFuZGxlQmxhY2tCZXJy
eS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2UyMGUxNwotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9T
b2NrZXRTdHJlYW1IYW5kbGVCbGFja0JlcnJ5LmNwcApAQCAtMCwwICsxLDE2NSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAxMCBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZC4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoK
KyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgor
ICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiU29ja2V0U3RyZWFtSGFuZGxl
LmgiCisKKyNpbmNsdWRlICJDaHJvbWUuaCIKKyNpbmNsdWRlICJGcmFtZUxvYWRlckNsaWVudEJs
YWNrQmVycnkuaCIKKyNpbmNsdWRlICJLVVJMLmgiCisjaW5jbHVkZSAiTG9nZ2luZy5oIgorI2lu
Y2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisjaW5jbHVkZSAiUGFnZS5oIgorI2luY2x1ZGUgIlBh
Z2VDbGllbnRCbGFja0JlcnJ5LmgiCisjaW5jbHVkZSAiUGFnZUdyb3VwLmgiCisjaW5jbHVkZSAi
U29ja2V0U3RyZWFtRXJyb3IuaCIKKyNpbmNsdWRlICJTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQu
aCIKKworI2luY2x1ZGUgPG5ldHdvcmsvTmV0d29ya1N0cmVhbUZhY3RvcnkuaD4KKyNpbmNsdWRl
IDx3dGYvdGV4dC9DU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworU29ja2V0U3Ry
ZWFtSGFuZGxlOjpTb2NrZXRTdHJlYW1IYW5kbGUoY29uc3QgU3RyaW5nJiBncm91cE5hbWUsIGNv
bnN0IEtVUkwmIHVybCwgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50KiBjbGllbnQpCisgICAgOiBT
b2NrZXRTdHJlYW1IYW5kbGVCYXNlKHVybCwgY2xpZW50KQoreworICAgIExPRyhOZXR3b3JrLCAi
U29ja2V0U3RyZWFtSGFuZGxlICVwIG5ldyBjbGllbnQgJXAiLCB0aGlzLCBtX2NsaWVudCk7CisK
KyAgICAvLyBGaW5kIGEgcGxheWVySWQgdG8gcGFzcyB0byB0aGUgcGxhdGZvcm0gY2xpZW50LiBJ
dCBjYW4gYmUgZnJvbSBhbnkgcGFnZQorICAgIC8vIGluIHRoZSBQYWdlR3JvdXAsIHNpbmNlIHRo
ZXkgYWxsIHNoYXJlIHRoZSBzYW1lIG5ldHdvcmsgcHJvZmlsZSBhbmQKKyAgICAvLyByZXNvdXJj
ZXMuCisgICAgUGFnZUdyb3VwKiBwYWdlR3JvdXAgPSBQYWdlR3JvdXA6OnBhZ2VHcm91cChncm91
cE5hbWUpOworICAgIEFTU0VSVChwYWdlR3JvdXAgJiYgIXBhZ2VHcm91cC0+cGFnZXMoKS5pc0Vt
cHR5KCkpOworICAgIFBhZ2UqIHBhZ2UgPSAqKHBhZ2VHcm91cC0+cGFnZXMoKS5iZWdpbigpKTsK
KyAgICBBU1NFUlQocGFnZSAmJiBwYWdlLT5tYWluRnJhbWUoKSk7CisgICAgaW50IHBsYXllcklk
ID0gc3RhdGljX2Nhc3Q8RnJhbWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5Kj4ocGFnZS0+bWFpbkZy
YW1lKCktPmxvYWRlcigpLT5jbGllbnQoKSktPnBsYXllcklkKCk7CisKKyAgICAvLyBDcmVhdGUg
YSBwbGF0Zm9ybSBzb2NrZXQgc3RyZWFtCisgICAgQmxhY2tCZXJyeTo6UGxhdGZvcm06Ok5ldHdv
cmtTdHJlYW1GYWN0b3J5KiBmYWN0b3J5ID0gcGFnZS0+Y2hyb21lKCktPnBsYXRmb3JtUGFnZUNs
aWVudCgpLT5uZXR3b3JrU3RyZWFtRmFjdG9yeSgpOworICAgIEFTU0VSVChmYWN0b3J5KTsKKyAg
ICBtX3NvY2tldFN0cmVhbSA9IGFkb3B0UHRyKGZhY3RvcnktPmNyZWF0ZVNvY2tldFN0cmVhbShw
bGF5ZXJJZCkpOworICAgIEFTU0VSVChtX3NvY2tldFN0cmVhbSk7CisgICAgbV9zb2NrZXRTdHJl
YW0tPnNldExpc3RlbmVyKHRoaXMpOworCisgICAgLy8gT3BlbiB0aGUgc29ja2V0CisgICAgQmxh
Y2tCZXJyeTo6UGxhdGZvcm06Ok5ldHdvcmtSZXF1ZXN0IHJlcXVlc3Q7CisgICAgcmVxdWVzdC5z
ZXRSZXF1ZXN0VXJsKHVybC5zdHJpbmcoKS5sYXRpbjEoKS5kYXRhKCksICJDT05ORUNUIik7CisK
KyAgICBtX3NvY2tldFN0cmVhbS0+c2V0UmVxdWVzdChyZXF1ZXN0KTsKKworICAgIG1fc29ja2V0
U3RyZWFtLT5zdHJlYW1PcGVuKCk7Cit9CisKK1NvY2tldFN0cmVhbUhhbmRsZTo6flNvY2tldFN0
cmVhbUhhbmRsZSgpCit7CisgICAgTE9HKE5ldHdvcmssICJTb2NrZXRTdHJlYW1IYW5kbGUgJXAg
ZGVsZXRlIiwgdGhpcyk7CisgICAgc2V0Q2xpZW50KDApOworfQorCitpbnQgU29ja2V0U3RyZWFt
SGFuZGxlOjpwbGF0Zm9ybVNlbmQoY29uc3QgY2hhciogYnVmLCBpbnQgbGVuZ3RoKQoreworICAg
IExPRyhOZXR3b3JrLCAiU29ja2V0U3RyZWFtSGFuZGxlICVwIHBsYXRmb3JtU2VuZCIsIHRoaXMp
OworICAgIEFTU0VSVChtX3NvY2tldFN0cmVhbSk7CisgICAgcmV0dXJuIG1fc29ja2V0U3RyZWFt
LT5zdHJlYW1TZW5kRGF0YShidWYsIGxlbmd0aCk7Cit9CisKK3ZvaWQgU29ja2V0U3RyZWFtSGFu
ZGxlOjpwbGF0Zm9ybUNsb3NlKCkKK3sKKyAgICBMT0coTmV0d29yaywgIlNvY2tldFN0cmVhbUhh
bmRsZSAlcCBwbGF0Zm9ybUNsb3NlIiwgdGhpcyk7CisgICAgQVNTRVJUKG1fc29ja2V0U3RyZWFt
KTsKKyAgICBtX3NvY2tldFN0cmVhbS0+c3RyZWFtQ2xvc2UoKTsKK30KKwordm9pZCBTb2NrZXRT
dHJlYW1IYW5kbGU6OmRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShjb25zdCBBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZSYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwordm9p
ZCBTb2NrZXRTdHJlYW1IYW5kbGU6OnJlY2VpdmVkQ3JlZGVudGlhbChjb25zdCBBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZSYsIGNvbnN0IENyZWRlbnRpYWwmKQoreworICAgIG5vdEltcGxlbWVudGVk
KCk7Cit9CisKK3ZvaWQgU29ja2V0U3RyZWFtSGFuZGxlOjpyZWNlaXZlZFJlcXVlc3RUb0NvbnRp
bnVlV2l0aG91dENyZWRlbnRpYWwoY29uc3QgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKQorewor
ICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgU29ja2V0U3RyZWFtSGFuZGxlOjpyZWNl
aXZlZENhbmNlbGxhdGlvbihjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpCit7CisgICAg
bm90SW1wbGVtZW50ZWQoKTsKK30KKworLy8gRmlsdGVyU3RyZWFtIGludGVyZmFjZQorCit2b2lk
IFNvY2tldFN0cmVhbUhhbmRsZTo6bm90aWZ5U3RhdHVzUmVjZWl2ZWQoaW50IHN0YXR1cywgY29u
c3QgY2hhciogbWVzc2FnZSkKK3sKKyAgICBBU1NFUlQobV9jbGllbnQpOworCisgICAgLy8gVGhl
IGNsaWVudCBjYW4gY2xvc2UgdGhlIGhhbmRsZSwgcG90ZW50aWFsbHkgcmVtb3ZpbmcgdGhlIGxh
c3QgcmVmZXJlbmNlLgorICAgIFJlZlB0cjxTb2NrZXRTdHJlYW1IYW5kbGU+IHByb3RlY3QodGhp
cyk7CisKKyAgICBpZiAoRmlsdGVyU3RyZWFtOjpTdGF0dXNTdWNjZXNzICE9IHN0YXR1cykKKyAg
ICAgICAgbV9jbGllbnQtPmRpZEZhaWxTb2NrZXRTdHJlYW0odGhpcywgU29ja2V0U3RyZWFtRXJy
b3Ioc3RhdHVzKSk7CisgICAgZWxzZSB7CisgICAgICAgIG1fc3RhdGUgPSBPcGVuOworICAgICAg
ICBtX2NsaWVudC0+ZGlkT3BlblNvY2tldFN0cmVhbSh0aGlzKTsKKyAgICB9Cit9CisKK3ZvaWQg
U29ja2V0U3RyZWFtSGFuZGxlOjpub3RpZnlEYXRhUmVjZWl2ZWQoQmxhY2tCZXJyeTo6UGxhdGZv
cm06Ok5ldHdvcmtCdWZmZXIqIGJ1ZmZlcikKK3sKKyAgICBBU1NFUlQobV9jbGllbnQpOworCisg
ICAgLy8gVGhlIGNsaWVudCBjYW4gY2xvc2UgdGhlIGhhbmRsZSwgcG90ZW50aWFsbHkgcmVtb3Zp
bmcgdGhlIGxhc3QgcmVmZXJlbmNlLgorICAgIFJlZlB0cjxTb2NrZXRTdHJlYW1IYW5kbGU+IHBy
b3RlY3QodGhpcyk7CisgICAgbV9jbGllbnQtPmRpZFJlY2VpdmVTb2NrZXRTdHJlYW1EYXRhKHRo
aXMsIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpuZXR3b3JrQnVmZmVyRGF0YShidWZmZXIpLCBCbGFj
a0JlcnJ5OjpQbGF0Zm9ybTo6bmV0d29ya0J1ZmZlckRhdGFMZW5ndGgoYnVmZmVyKSk7Cit9CisK
K3ZvaWQgU29ja2V0U3RyZWFtSGFuZGxlOjpub3RpZnlSZWFkeVRvU2VuZERhdGEoKQoreworICAg
IHNlbmRQZW5kaW5nRGF0YSgpOworfQorCit2b2lkIFNvY2tldFN0cmVhbUhhbmRsZTo6bm90aWZ5
Q2xvc2UoaW50IHN0YXR1cykKK3sKKyAgICBBU1NFUlQobV9jbGllbnQpOworCisgICAgLy8gVGhl
IGNsaWVudCBjYW4gY2xvc2UgdGhlIGhhbmRsZSwgcG90ZW50aWFsbHkgcmVtb3ZpbmcgdGhlIGxh
c3QgcmVmZXJlbmNlLgorICAgIFJlZlB0cjxTb2NrZXRTdHJlYW1IYW5kbGU+IHByb3RlY3QodGhp
cyk7CisKKyAgICBpZiAoRmlsdGVyU3RyZWFtOjpTdGF0dXNTdWNjZXNzICE9IHN0YXR1cykKKyAg
ICAgICAgbV9jbGllbnQtPmRpZEZhaWxTb2NrZXRTdHJlYW0odGhpcywgU29ja2V0U3RyZWFtRXJy
b3Ioc3RhdHVzKSk7CisKKyAgICBtX2NsaWVudC0+ZGlkQ2xvc2VTb2NrZXRTdHJlYW0odGhpcyk7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLS0gCjEuNy41LjQKCg==
</data>
<flag name="review"
          id="116185"
          type_id="1"
          status="+"
          setter="dbates"
    />
          </attachment>
      

    </bug>

</bugzilla>