<?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>104716</bug_id>
          
          <creation_ts>2012-12-11 14:02:15 -0800</creation_ts>
          <short_desc>[BlackBerry] Shift the spell check dialog to align with text after transformation</short_desc>
          <delta_ts>2012-12-11 17:09:36 -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>WebKit BlackBerry</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Nima Ghanavatian">nima.ghanavatian</reporter>
          <assigned_to name="Nima Ghanavatian">nghanavatian</assigned_to>
          <cc>mifenton</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yong.li.webkit</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>788768</commentid>
    <comment_count>0</comment_count>
    <who name="Nima Ghanavatian">nima.ghanavatian</who>
    <bug_when>2012-12-11 14:02:15 -0800</bug_when>
    <thetext>SSIA</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788776</commentid>
    <comment_count>1</comment_count>
      <attachid>178870</attachid>
    <who name="Nima Ghanavatian">nghanavatian</who>
    <bug_when>2012-12-11 14:07:44 -0800</bug_when>
    <thetext>Created attachment 178870
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788784</commentid>
    <comment_count>2</comment_count>
      <attachid>178870</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-12-11 14:14:12 -0800</bug_when>
    <thetext>Comment on attachment 178870
Patch

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

&gt; Source/WebKit/blackberry/WebKitSupport/InputHandler.h:215
&gt; +    bool didSpellCheckWord() { return m_didSpellCheckWord; }

This could be const.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788795</commentid>
    <comment_count>3</comment_count>
      <attachid>178870</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-12-11 14:20:50 -0800</bug_when>
    <thetext>Comment on attachment 178870
Patch

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788842</commentid>
    <comment_count>4</comment_count>
      <attachid>178888</attachid>
    <who name="Nima Ghanavatian">nghanavatian</who>
    <bug_when>2012-12-11 15:10:42 -0800</bug_when>
    <thetext>Created attachment 178888
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788896</commentid>
    <comment_count>5</comment_count>
      <attachid>178903</attachid>
    <who name="Nima Ghanavatian">nghanavatian</who>
    <bug_when>2012-12-11 15:55:01 -0800</bug_when>
    <thetext>Created attachment 178903
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788900</commentid>
    <comment_count>6</comment_count>
    <who name="Nima Ghanavatian">nima.ghanavatian</who>
    <bug_when>2012-12-11 15:55:58 -0800</bug_when>
    <thetext>Repo wasn&apos;t rebased against upstream. This one should apply clean.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788906</commentid>
    <comment_count>7</comment_count>
      <attachid>178903</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-12-11 15:58:26 -0800</bug_when>
    <thetext>Comment on attachment 178903
Patch

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789007</commentid>
    <comment_count>8</comment_count>
      <attachid>178903</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-11 17:09:32 -0800</bug_when>
    <thetext>Comment on attachment 178903
Patch

Clearing flags on attachment: 178903

Committed r137392: &lt;http://trac.webkit.org/changeset/137392&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789009</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-11 17:09:36 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178870</attachid>
            <date>2012-12-11 14:07:44 -0800</date>
            <delta_ts>2012-12-11 15:10:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104716-20121211165932.patch</filename>
            <type>text/plain</type>
            <size>15892</size>
            <attacher name="Nima Ghanavatian">nghanavatian</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3MTYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwpp
bmRleCBjMTFkZWE1MTVhOTI4ZDFmNDJmNThhOTZhYjliZWE0OWI2ZDJjYjFkLi5jMjMwNDEwMWEw
NzBjMWVmMGMxZjJmYzZmNjJkZTNiMDgyZjY0ZGFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFu
Z2VMb2cKQEAgLTEsNSArMSw0MCBAQAogMjAxMi0xMi0xMCAgTmltYSBHaGFuYXZhdGlhbiAgPG5n
aGFuYXZhdGlhbkByaW0uY29tPgogCisgICAgICAgIFtCbGFja0JlcnJ5XSBTaGlmdCB0aGUgc3Bl
bGwgY2hlY2sgZGlhbG9nIHRvIGFsaWduIHdpdGggdGV4dCBhZnRlciB0cmFuc2Zvcm1hdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0NzE2CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUFIyNDUwMzMK
KyAgICAgICAgQXMgdGhlIHBhZ2UgaXMgdHJhbnNmb3JtZWQsIHdlIHNob3VsZCByZWRyYXcgdGhl
IGRpYWxvZyBib3ggdG8gYWxpZ24KKyAgICAgICAgd2l0aCB0aGUgbmV3IHRleHQgcG9zaXRpb24u
IFdlIHNlbmQgYSBtZXNzYWdlIHRvIG1vdmUgdGhlIGRpYWxvZworICAgICAgICBib3ggZnJvbSBk
aWZmZXJlbnQgc3BvdHMgdG8gYWNjb3VudCBmb3Igc2Nyb2xsaW5nLiBUaGlzIGluY2x1ZGVzCisg
ICAgICAgIGtleWJvYXJkIHRyYW5zaXRpb25zIGZyb20gaGlkZGVuIHRvIGRpc3BsYXllZCBhbmQg
Y2VudGVyaW5nIG9mCisgICAgICAgIGZvY3VzIGFyb3VuZCBhIG5ldyB0b3VjaCBwb2ludC4gV2Ug
ZG8gbm90IHJlcG9zaXRpb24gb24gbWFudWFsIHVzZXIKKyAgICAgICAgc2Nyb2xsaW5nIG9mIHRo
ZSBwYWdlLCBhcyB0aGlzIHNpbXBseSBkaXNtaXNzZXMgdGhlIGRpYWxvZy4KKworICAgICAgICBJ
bnRlcm5hbGx5IHJldmlld2VkIGJ5IE1pa2UgRmVudG9uIGFuZCBHZW4gTWFrLgorCisgICAgICAg
ICogQXBpL1dlYlBhZ2UuY3BwOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdl
UHJpdmF0ZTo6c2V0Vmlld3BvcnRTaXplKToKKyAgICAgICAgKiBBcGkvV2ViUGFnZUNsaWVudC5o
OgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEJsYWNrQmVycnkuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50QmxhY2tCZXJyeTo6c2Nyb2xsKToKKyAgICAg
ICAgKiBXZWJLaXRTdXBwb3J0L0lucHV0SGFuZGxlci5jcHA6CisgICAgICAgIChCbGFja0JlcnJ5
OjpXZWJLaXQ6OklucHV0SGFuZGxlcjo6SW5wdXRIYW5kbGVyKToKKyAgICAgICAgKEJsYWNrQmVy
cnk6OldlYktpdDo6SW5wdXRIYW5kbGVyOjpzaG91bGRSZXF1ZXN0U3BlbGxDaGVja2luZ09wdGlv
bnNGb3JQb2ludCk6CisgICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OklucHV0SGFuZGxlcjo6
cmVxdWVzdFNwZWxsaW5nQ2hlY2tpbmdPcHRpb25zKToKKyAgICAgICAgKEJsYWNrQmVycnk6Oldl
YktpdDo6SW5wdXRIYW5kbGVyOjpyZWRyYXdTcGVsbENoZWNrRGlhbG9nSWZSZXF1aXJlZCk6Cisg
ICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFdlYktpdFN1cHBvcnQvSW5wdXRIYW5kbGVyLmg6
CisgICAgICAgIChJbnB1dEhhbmRsZXIpOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpJ
bnB1dEhhbmRsZXI6OmNsZWFyRGlkU3BlbGxDaGVja1N0YXRlKToKKyAgICAgICAgKEJsYWNrQmVy
cnk6OldlYktpdDo6SW5wdXRIYW5kbGVyOjpkaWRTcGVsbENoZWNrV29yZCk6CisgICAgICAgICog
V2ViS2l0U3VwcG9ydC9Ub3VjaEV2ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChCbGFja0JlcnJ5
OjpXZWJLaXQ6OlRvdWNoRXZlbnRIYW5kbGVyOjpoYW5kbGVUb3VjaFBvaW50KToKKworMjAxMi0x
Mi0xMCAgTmltYSBHaGFuYXZhdGlhbiAgPG5naGFuYXZhdGlhbkByaW0uY29tPgorCiAgICAgICAg
IFtCbGFja0JlcnJ5XSBGaXggd2FybmluZyBmb3IgY29tcGFyaXNvbiBiZXR3ZWVuIHNpZ25lZCBh
bmQgdW5zaWduZWQKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwNDU2MwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dl
YlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlLmNwcAppbmRl
eCA3ZGZiYzY2NDk5ODRkODdmNzRlYmMxYTc4Mzc0Y2YxNmVhZjhkNjg0Li43ZDBlOGE1MjgxMDZm
MWM1ODgyYjJmY2RlOTNlNDhmOGQ0Y2NjYzIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvQXBpL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9B
cGkvV2ViUGFnZS5jcHAKQEAgLTM4NjUsNiArMzg2NSw3IEBAIHZvaWQgV2ViUGFnZVByaXZhdGU6
OnNldFZpZXdwb3J0U2l6ZShjb25zdCBJbnRTaXplJiB0cmFuc2Zvcm1lZEFjdHVhbFZpc2libGVT
aXplCiAgICAgfQogCiAgICAgbV9iYWNraW5nU3RvcmUtPmQtPnJlc3VtZVNjcmVlblVwZGF0ZXMo
c2NyZWVuUmVzdW1lT3BlcmF0aW9uKTsKKyAgICBtX2lucHV0SGFuZGxlci0+cmVkcmF3U3BlbGxD
aGVja0RpYWxvZ0lmUmVxdWlyZWQoKTsKIH0KIAogdm9pZCBXZWJQYWdlOjpzZXRWaWV3cG9ydFNp
emUoY29uc3QgUGxhdGZvcm06OkludFNpemUmIHZpZXdwb3J0U2l6ZSwgYm9vbCBlbnN1cmVGb2N1
c0VsZW1lbnRWaXNpYmxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0Fw
aS9XZWJQYWdlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2VD
bGllbnQuaAppbmRleCAwZjBlZTJmMDA2NmUzYWUxYTYzN2E1MDMwNjIxM2UzZDU3MzdhOWI1Li5m
YTAyYTMxODRjMDBhYjBhMmRjZjk4MDU0NjAwYWNmM2U5NGJkMjVmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2VDbGllbnQuaApAQCAtMTUwLDcgKzE1MCw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2hvd0Zvcm1Db250cm9scyhib29sIHZpc2libGUsIGJv
b2wgcHJldmlvdXNBY3RpdmUgPSBmYWxzZSwgYm9vbCBuZXh0QWN0aXZlID0gZmFsc2UpID0gMDsK
ICAgICB2aXJ0dWFsIHZvaWQgc2hvd1ZpcnR1YWxLZXlib2FyZChib29sKSA9IDA7CiAKLSAgICB2
aXJ0dWFsIHZvaWQgcmVxdWVzdFNwZWxsaW5nQ2hlY2tpbmdPcHRpb25zKGltZl9zcF90ZXh0X3Qm
LCBjb25zdCBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6SW50UmVjdCYgZG9jdW1lbnRDYXJldFJlY3Qs
IGNvbnN0IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpJbnRTaXplJiBzY3JlZW5PZmZzZXQpID0gMDsK
KyAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFNwZWxsaW5nQ2hlY2tpbmdPcHRpb25zKGltZl9zcF90
ZXh0X3QmLCBjb25zdCBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6SW50UmVjdCYgZG9jdW1lbnRDYXJl
dFJlY3QsIGNvbnN0IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpJbnRTaXplJiBzY3JlZW5PZmZzZXQs
IGNvbnN0IGJvb2wgc2hvdWxkTW92ZURpYWxvZykgPSAwOwogICAgIHZpcnR1YWwgaW50MzJfdCBj
aGVja1NwZWxsaW5nT2ZTdHJpbmdBc3luYyh3Y2hhcl90KiB0ZXh0LCBjb25zdCB1bnNpZ25lZCBs
ZW5ndGgpID0gMDsKIAogICAgIHZpcnR1YWwgdm9pZCBub3RpZnlTZWxlY3Rpb25EZXRhaWxzQ2hh
bmdlZChjb25zdCBQbGF0Zm9ybTo6SW50UmVjdCYgZG9jdW1lbnRTdGFydFJlY3QsIGNvbnN0IFBs
YXRmb3JtOjpJbnRSZWN0JiBkb2N1bWVudEVuZFJlY3QsIGNvbnN0IFBsYXRmb3JtOjpJbnRSZWN0
UmVnaW9uJiBkb2N1bWVudFJlZ2lvbiwgYm9vbCBvdmVycmlkZVRvdWNoSGFuZGxpbmcgPSBmYWxz
ZSkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBw
b3J0L0Nocm9tZUNsaWVudEJsYWNrQmVycnkuY3BwIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5
L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEJsYWNrQmVycnkuY3BwCmluZGV4IGNmZTc5NDJk
NzkzYTcxMjNiMWIxZjU2YzQwNGUwNTIxOGExZTI5NTkuLmZhYzRlNTU3N2Y1ODU0MDc5OTU1ZWFh
MzdjZDhhMDYxOWYwNzQxYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9X
ZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0JlcnJ5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5jcHAK
QEAgLTYyMiw2ICs2MjIsOSBAQCB2b2lkIENocm9tZUNsaWVudEJsYWNrQmVycnk6OnNjcm9sbChj
b25zdCBJbnRTaXplJiBkZWx0YSwgY29uc3QgSW50UmVjdCYgc2Nyb2xsVgogICAgIGJhY2tpbmdT
dG9yZUNsaWVudC0+Y2hlY2tPcmlnaW5PZkN1cnJlbnRTY3JvbGxPcGVyYXRpb24oKTsKIAogICAg
IG1fd2ViUGFnZVByaXZhdGUtPm1fYmFja2luZ1N0b3JlLT5kLT5zY3JvbGwoZGVsdGEsIHNjcm9s
bFZpZXdSZWN0LCBjbGlwUmVjdCk7CisKKyAgICAvLyBTaGlmdCB0aGUgc3BlbGwgY2hlY2sgZGlh
bG9nIGJveCBhcyB3ZSBzY3JvbGwuCisgICAgbV93ZWJQYWdlUHJpdmF0ZS0+bV9pbnB1dEhhbmRs
ZXItPnJlZHJhd1NwZWxsQ2hlY2tEaWFsb2dJZlJlcXVpcmVkKCk7CiB9CiAKIHZvaWQgQ2hyb21l
Q2xpZW50QmxhY2tCZXJyeTo6c2Nyb2xsYWJsZUFyZWFzRGlkQ2hhbmdlKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L0lucHV0SGFuZGxlci5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9JbnB1dEhhbmRsZXIuY3Bw
CmluZGV4IGZiMzFlYTdkMWU5ZWY2YTg0ODMxODkyMWIwNmUzMTk4YjU1ZDQyNTguLjliYTY2YTQ0
ZDRmNTk5MTVmMWViNzUyN2Y5NmM0MjVmYjRjNDY3YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L0lucHV0SGFuZGxlci5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvSW5wdXRIYW5kbGVyLmNwcApAQCAtMTQ2
LDYgKzE0Niw3IEBAIElucHV0SGFuZGxlcjo6SW5wdXRIYW5kbGVyKFdlYlBhZ2VQcml2YXRlKiBw
YWdlKQogICAgICwgbV9wcm9jZXNzaW5nVHJhbnNhY3Rpb25JZCgtMSkKICAgICAsIG1fcmVjZWl2
ZWRCYWNrc3BhY2VLZXlEb3duKGZhbHNlKQogICAgICwgbV9leHBlY3RlZEtleVVwQ2hhcigwKQor
ICAgICwgbV9kaWRTcGVsbENoZWNrV29yZChmYWxzZSkKIHsKIH0KIApAQCAtNzQwLDE4ICs3NDEs
MjMgQEAgYm9vbCBJbnB1dEhhbmRsZXI6OnNob3VsZFJlcXVlc3RTcGVsbENoZWNraW5nT3B0aW9u
c0ZvclBvaW50KFBsYXRmb3JtOjpJbnRQb2ludCYKICAgICBpZiAoIW1hcmtlcikKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCisgICAgbV9kaWRTcGVsbENoZWNrV29yZCA9IHRydWU7CisKICAgICAv
LyBQb3B1bGF0ZSB0aGUgbWFya2VyIGRldGFpbHMgaW4gcHJlcGFyYXRpb24gZm9yIHRoZSByZXF1
ZXN0IGFzIHRoZSBtYXJrZXIgaXMKICAgICAvLyBub3QgZ3VhcmFudGVlZCB0byBiZSB2YWxpZCBh
ZnRlciB0aGUgY3Vyc29yIGlzIHBsYWNlZC4KICAgICBzcGVsbENoZWNraW5nT3B0aW9uUmVxdWVz
dC5zdGFydFRleHRQb3NpdGlvbiA9IG1hcmtlci0+c3RhcnRPZmZzZXQoKTsKICAgICBzcGVsbENo
ZWNraW5nT3B0aW9uUmVxdWVzdC5lbmRUZXh0UG9zaXRpb24gPSBtYXJrZXItPmVuZE9mZnNldCgp
OwogCisgICAgbV9zcGVsbENoZWNraW5nT3B0aW9uc1JlcXVlc3Quc3RhcnRUZXh0UG9zaXRpb24g
PSAwOworICAgIG1fc3BlbGxDaGVja2luZ09wdGlvbnNSZXF1ZXN0LmVuZFRleHRQb3NpdGlvbiA9
IDA7CisKICAgICBTcGVsbGluZ0xvZyhMb2dMZXZlbEluZm8sICJJbnB1dEhhbmRsZXI6OnNob3Vs
ZFJlcXVlc3RTcGVsbENoZWNraW5nT3B0aW9uc0ZvclBvaW50IEZvdW5kIHNwZWxsaW5nIG1hcmtl
ciBhdCBwb2ludCAlZCwgJWRcbk1hcmtlciBzdGFydCAlZCBlbmQgJWQiLAogICAgICAgICBwb2lu
dC54KCksIHBvaW50LnkoKSwgc3BlbGxDaGVja2luZ09wdGlvblJlcXVlc3Quc3RhcnRUZXh0UG9z
aXRpb24sIHNwZWxsQ2hlY2tpbmdPcHRpb25SZXF1ZXN0LmVuZFRleHRQb3NpdGlvbik7CiAKICAg
ICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBJbnB1dEhhbmRsZXI6OnJlcXVlc3RTcGVsbGluZ0No
ZWNraW5nT3B0aW9ucyhpbWZfc3BfdGV4dF90JiBzcGVsbENoZWNraW5nT3B0aW9uUmVxdWVzdCwg
Y29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2NyZWVuT2Zmc2V0KQordm9pZCBJbnB1dEhhbmRsZXI6
OnJlcXVlc3RTcGVsbGluZ0NoZWNraW5nT3B0aW9ucyhpbWZfc3BfdGV4dF90JiBzcGVsbENoZWNr
aW5nT3B0aW9uUmVxdWVzdCwgV2ViQ29yZTo6SW50U2l6ZSYgc2NyZWVuT2Zmc2V0LCBjb25zdCBi
b29sIHNob3VsZE1vdmVEaWFsb2cpCiB7CiAgICAgLy8gSWYgdGhlIGNhcmV0IGlzIG5vIGxvbmdl
ciBhY3RpdmUsIG5vIG1lc3NhZ2Ugc2hvdWxkIGJlIHNlbnQuCiAgICAgaWYgKG1fd2ViUGFnZS0+
Zm9jdXNlZE9yTWFpbkZyYW1lKCktPnNlbGVjdGlvbigpLT5zZWxlY3Rpb25UeXBlKCkgIT0gVmlz
aWJsZVNlbGVjdGlvbjo6Q2FyZXRTZWxlY3Rpb24pCkBAIC03NjAsMzUgKzc2Niw2MCBAQCB2b2lk
IElucHV0SGFuZGxlcjo6cmVxdWVzdFNwZWxsaW5nQ2hlY2tpbmdPcHRpb25zKGltZl9zcF90ZXh0
X3QmIHNwZWxsQ2hlY2tpbmdPcAogICAgIGlmICghbV9jdXJyZW50Rm9jdXNFbGVtZW50IHx8ICFt
X2N1cnJlbnRGb2N1c0VsZW1lbnQtPmRvY3VtZW50KCkgfHwgIW1fY3VycmVudEZvY3VzRWxlbWVu
dC0+ZG9jdW1lbnQoKS0+ZnJhbWUoKSkKICAgICAgICAgcmV0dXJuOwogCisgICAgaWYgKHNob3Vs
ZE1vdmVEaWFsb2cgfHwgIShzcGVsbENoZWNraW5nT3B0aW9uUmVxdWVzdC5zdGFydFRleHRQb3Np
dGlvbiB8fCBzcGVsbENoZWNraW5nT3B0aW9uUmVxdWVzdC5zdGFydFRleHRQb3NpdGlvbikpIHsK
KyAgICAgICAgaWYgKG1fc3BlbGxDaGVja2luZ09wdGlvbnNSZXF1ZXN0LnN0YXJ0VGV4dFBvc2l0
aW9uIHx8IG1fc3BlbGxDaGVja2luZ09wdGlvbnNSZXF1ZXN0LmVuZFRleHRQb3NpdGlvbikKKyAg
ICAgICAgICAgIHNwZWxsQ2hlY2tpbmdPcHRpb25SZXF1ZXN0ID0gbV9zcGVsbENoZWNraW5nT3B0
aW9uc1JlcXVlc3Q7CisgICAgfQorCisgICAgaWYgKCFzaG91bGRNb3ZlRGlhbG9nICYmIHNwZWxs
Q2hlY2tpbmdPcHRpb25SZXF1ZXN0LnN0YXJ0VGV4dFBvc2l0aW9uID09IHNwZWxsQ2hlY2tpbmdP
cHRpb25SZXF1ZXN0LmVuZFRleHRQb3NpdGlvbikKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYg
KHNjcmVlbk9mZnNldC5pc0VtcHR5KCkpIHsKKyAgICAgICAgc2NyZWVuT2Zmc2V0LnNldFdpZHRo
KG1fc2NyZWVuT2Zmc2V0LndpZHRoKCkpOworICAgICAgICBzY3JlZW5PZmZzZXQuc2V0SGVpZ2h0
KG1fc2NyZWVuT2Zmc2V0LmhlaWdodCgpKTsKKyAgICB9IGVsc2UgeworICAgICAgICBtX3NjcmVl
bk9mZnNldC5zZXRXaWR0aChzY3JlZW5PZmZzZXQud2lkdGgoKSk7CisgICAgICAgIG1fc2NyZWVu
T2Zmc2V0LnNldEhlaWdodChzY3JlZW5PZmZzZXQuaGVpZ2h0KCkpOworICAgIH0KKwogICAgIC8v
IGltZl9zcF90ZXh0X3Qgc2hvdWxkIGJlIGdlbmVyYXRlZCBpbiBwaXhlbCB2aWV3cG9ydCBjb29y
ZGluYXRlcy4KKyAgICAvLyBDYXJldCBpcyBpbiBkb2N1bWVudCBjb29yZGluYXRlcy4KICAgICBX
ZWJDb3JlOjpJbnRSZWN0IGNhcmV0UmVjdCA9IG1fd2ViUGFnZS0+Zm9jdXNlZE9yTWFpbkZyYW1l
KCktPnNlbGVjdGlvbigpLT5zZWxlY3Rpb24oKS52aXNpYmxlU3RhcnQoKS5hYnNvbHV0ZUNhcmV0
Qm91bmRzKCk7CisKKyAgICAvLyBTaGlmdCBmcm9tIHBvc2libGUgaUZyYW1lIHRvIHJvb3Qgdmll
dy9tYWluIGZyYW1lLgogICAgIGNhcmV0UmVjdCA9IG1fd2ViUGFnZS0+Zm9jdXNlZE9yTWFpbkZy
YW1lKCktPnZpZXcoKS0+Y29udGVudHNUb1Jvb3RWaWV3KGNhcmV0UmVjdCk7CisKKyAgICAvLyBT
aGlmdCB0byBkb2N1bWVudCBzY3JvbGwgcG9zaXRpb24uCiAgICAgY29uc3QgV2ViQ29yZTo6SW50
UG9pbnQgc2Nyb2xsUG9zaXRpb24gPSBtX3dlYlBhZ2UtPm1haW5GcmFtZSgpLT52aWV3KCktPnNj
cm9sbFBvc2l0aW9uKCk7CiAgICAgY2FyZXRSZWN0Lm1vdmUoc2Nyb2xsUG9zaXRpb24ueCgpLCBz
Y3JvbGxQb3NpdGlvbi55KCkpOwogCi0gICAgLy8gQ2FsY3VsYXRlIHRoZSBvZmZzZXQgZm9yIGNv
bnRlbnRFZGl0YWJsZSBzaW5jZSB0aGUgbWFya2VyIG9mZnNldHMgYXJlIHJlbGF0aXZlIHRvIHRo
ZSBub2RlLgotICAgIC8vIEdldCBjYXJldCBwb3NpdGlvbi4gVGhvdWdoIHRoZSBzcGVsbGluZyBt
YXJrZXJzIG1pZ2h0IG5vIGxvbmdlciBleGlzdCwgaWYgdGhpcyBtZXRob2QgaXMgY2FsbGVkIHdl
IGNhbiBhc3N1bWUgdGhlIGNhcmV0IHdhcyBwbGFjZWQgb24gdG9wIG9mIGEgbWFya2VyIGVhcmxp
ZXIuCi0gICAgVmlzaWJsZVBvc2l0aW9uIGNhcmV0UG9zaXRpb24gPSBtX2N1cnJlbnRGb2N1c0Vs
ZW1lbnQtPmRvY3VtZW50KCktPmZyYW1lKCktPnNlbGVjdGlvbigpLT5zZWxlY3Rpb24oKS52aXNp
YmxlU3RhcnQoKTsKKyAgICAvLyBJZiB3ZSBhcmUgb25seSBtb3ZpbmcgdGhlIGRpYWxvZywgd2Ug
ZG9uJ3QgbmVlZCB0byBwcm92aWRlIHN0YXJ0VGV4dFBvc2l0aW9uIGFuZCBlbmRUZXh0UG9zaXRp
b24gc28gdGhpcyBsb2dpYyBjYW4gYmUgc2tpcHBlZC4KKyAgICBpZiAoIXNob3VsZE1vdmVEaWFs
b2cpIHsKKyAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBvZmZzZXQgZm9yIGNvbnRlbnRFZGl0YWJs
ZSBzaW5jZSB0aGUgbWFya2VyIG9mZnNldHMgYXJlIHJlbGF0aXZlIHRvIHRoZSBub2RlLgorICAg
ICAgICAvLyBHZXQgY2FyZXQgcG9zaXRpb24uIFRob3VnaCB0aGUgc3BlbGxpbmcgbWFya2VycyBt
aWdodCBubyBsb25nZXIgZXhpc3QsIGlmIHRoaXMgbWV0aG9kIGlzIGNhbGxlZCB3ZSBjYW4gYXNz
dW1lIHRoZSBjYXJldCB3YXMgcGxhY2VkIG9uIHRvcCBvZiBhIG1hcmtlciBlYXJsaWVyLgorICAg
ICAgICBWaXNpYmxlUG9zaXRpb24gY2FyZXRQb3NpdGlvbiA9IG1fY3VycmVudEZvY3VzRWxlbWVu
dC0+ZG9jdW1lbnQoKS0+ZnJhbWUoKS0+c2VsZWN0aW9uKCktPnNlbGVjdGlvbigpLnZpc2libGVT
dGFydCgpOwogCi0gICAgLy8gQ3JlYXRlIGEgcmFuZ2UgZnJvbSB0aGUgc3RhcnQgdG8gZW5kIG9m
IHdvcmQuCi0gICAgUmVmUHRyPFJhbmdlPiByYW5nZVNlbGVjdGlvbiA9IFZpc2libGVTZWxlY3Rp
b24oc3RhcnRPZldvcmQoY2FyZXRQb3NpdGlvbiksIGVuZE9mV29yZChjYXJldFBvc2l0aW9uKSku
dG9Ob3JtYWxpemVkUmFuZ2UoKTsKLSAgICBpZiAoIXJhbmdlU2VsZWN0aW9uKQotICAgICAgICBy
ZXR1cm47CisgICAgICAgIC8vIENyZWF0ZSBhIHJhbmdlIGZyb20gdGhlIHN0YXJ0IHRvIGVuZCBv
ZiB3b3JkLgorICAgICAgICBSZWZQdHI8UmFuZ2U+IHJhbmdlU2VsZWN0aW9uID0gVmlzaWJsZVNl
bGVjdGlvbihzdGFydE9mV29yZChjYXJldFBvc2l0aW9uKSwgZW5kT2ZXb3JkKGNhcmV0UG9zaXRp
b24pKS50b05vcm1hbGl6ZWRSYW5nZSgpOworICAgICAgICBpZiAoIXJhbmdlU2VsZWN0aW9uKQor
ICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgdW5zaWduZWQgbG9jYXRpb24gPSAwOwotICAgIHVu
c2lnbmVkIGxlbmd0aCA9IDA7Ci0gICAgVGV4dEl0ZXJhdG9yOjpnZXRMb2NhdGlvbkFuZExlbmd0
aEZyb21SYW5nZShtX2N1cnJlbnRGb2N1c0VsZW1lbnQuZ2V0KCksIHJhbmdlU2VsZWN0aW9uLmdl
dCgpLCBsb2NhdGlvbiwgbGVuZ3RoKTsKKyAgICAgICAgdW5zaWduZWQgbG9jYXRpb24gPSAwOwor
ICAgICAgICB1bnNpZ25lZCBsZW5ndGggPSAwOworICAgICAgICBUZXh0SXRlcmF0b3I6OmdldExv
Y2F0aW9uQW5kTGVuZ3RoRnJvbVJhbmdlKG1fY3VycmVudEZvY3VzRWxlbWVudC5nZXQoKSwgcmFu
Z2VTZWxlY3Rpb24uZ2V0KCksIGxvY2F0aW9uLCBsZW5ndGgpOwogCi0gICAgaWYgKGxvY2F0aW9u
ICE9IG5vdEZvdW5kICYmIGxlbmd0aCkgewotICAgICAgICBzcGVsbENoZWNraW5nT3B0aW9uUmVx
dWVzdC5zdGFydFRleHRQb3NpdGlvbiA9IGxvY2F0aW9uOwotICAgICAgICBzcGVsbENoZWNraW5n
T3B0aW9uUmVxdWVzdC5lbmRUZXh0UG9zaXRpb24gPSBsb2NhdGlvbiArIGxlbmd0aDsKKyAgICAg
ICAgaWYgKGxvY2F0aW9uICE9IG5vdEZvdW5kICYmIGxlbmd0aCkgeworICAgICAgICAgICAgc3Bl
bGxDaGVja2luZ09wdGlvblJlcXVlc3Quc3RhcnRUZXh0UG9zaXRpb24gPSBsb2NhdGlvbjsKKyAg
ICAgICAgICAgIHNwZWxsQ2hlY2tpbmdPcHRpb25SZXF1ZXN0LmVuZFRleHRQb3NpdGlvbiA9IGxv
Y2F0aW9uICsgbGVuZ3RoOworICAgICAgICB9CiAgICAgfQorICAgIG1fc3BlbGxDaGVja2luZ09w
dGlvbnNSZXF1ZXN0ID0gc3BlbGxDaGVja2luZ09wdGlvblJlcXVlc3Q7CiAKICAgICBJbnB1dExv
ZyhMb2dMZXZlbEluZm8sICJJbnB1dEhhbmRsZXI6OnJlcXVlc3RTcGVsbGluZ0NoZWNraW5nT3B0
aW9ucyBjYXJldFJlY3QgdG9wTGVmdD0oJWQsJWQpLCBib3R0b21SaWdodD0oJWQsJWQpLCBzdGFy
dFRleHRQb3NpdGlvbj0lZCwgZW5kVGV4dFBvc2l0aW9uPSVkIgogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICwgY2FyZXRSZWN0Lm1pblhNaW5ZQ29ybmVyKCkueCgpLCBjYXJldFJlY3QubWlu
WE1pbllDb3JuZXIoKS55KCksIGNhcmV0UmVjdC5tYXhYTWF4WUNvcm5lcigpLngoKSwgY2FyZXRS
ZWN0Lm1heFhNYXhZQ29ybmVyKCkueSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCBz
cGVsbENoZWNraW5nT3B0aW9uUmVxdWVzdC5zdGFydFRleHRQb3NpdGlvbiwgc3BlbGxDaGVja2lu
Z09wdGlvblJlcXVlc3QuZW5kVGV4dFBvc2l0aW9uKTsKIAotICAgIG1fd2ViUGFnZS0+bV9jbGll
bnQtPnJlcXVlc3RTcGVsbGluZ0NoZWNraW5nT3B0aW9ucyhzcGVsbENoZWNraW5nT3B0aW9uUmVx
dWVzdCwgY2FyZXRSZWN0LCBzY3JlZW5PZmZzZXQpOworICAgIG1fd2ViUGFnZS0+bV9jbGllbnQt
PnJlcXVlc3RTcGVsbGluZ0NoZWNraW5nT3B0aW9ucyhzcGVsbENoZWNraW5nT3B0aW9uUmVxdWVz
dCwgY2FyZXRSZWN0LCBzY3JlZW5PZmZzZXQsIHNob3VsZE1vdmVEaWFsb2cpOwogfQogCiB2b2lk
IElucHV0SGFuZGxlcjo6c2V0RWxlbWVudFVuZm9jdXNlZChib29sIHJlZm9jdXNPY2N1cmluZykK
QEAgLTEwMjcsNiArMTA1OCwxNyBAQCBib29sIElucHV0SGFuZGxlcjo6c2hvdWxkU3BlbGxDaGVj
a0VsZW1lbnQoY29uc3QgRWxlbWVudCogZWxlbWVudCkgY29uc3QKICAgICByZXR1cm4gdHJ1ZTsK
IH0KIAordm9pZCBJbnB1dEhhbmRsZXI6OnJlZHJhd1NwZWxsQ2hlY2tEaWFsb2dJZlJlcXVpcmVk
KGNvbnN0IGJvb2wgc2hvdWxkTW92ZURpYWxvZykKK3sKKyAgICBpZiAoZGlkU3BlbGxDaGVja1dv
cmQoKSkgeworICAgICAgICBpbWZfc3BfdGV4dF90IHNwZWxsQ2hlY2tpbmdPcHRpb25SZXF1ZXN0
OworICAgICAgICBzcGVsbENoZWNraW5nT3B0aW9uUmVxdWVzdC5zdGFydFRleHRQb3NpdGlvbiA9
IDA7CisgICAgICAgIHNwZWxsQ2hlY2tpbmdPcHRpb25SZXF1ZXN0LmVuZFRleHRQb3NpdGlvbiA9
IDA7CisgICAgICAgIFdlYkNvcmU6OkludFNpemUgc2NyZWVuT2Zmc2V0KC0xLCAtMSk7CisgICAg
ICAgIHJlcXVlc3RTcGVsbGluZ0NoZWNraW5nT3B0aW9ucyhzcGVsbENoZWNraW5nT3B0aW9uUmVx
dWVzdCwgc2NyZWVuT2Zmc2V0LCBzaG91bGRNb3ZlRGlhbG9nKTsKKyAgICB9Cit9CisKIHZvaWQg
SW5wdXRIYW5kbGVyOjpzcGVsbENoZWNrQmxvY2soVmlzaWJsZVNlbGVjdGlvbiYgdmlzaWJsZVNl
bGVjdGlvbiwgVGV4dENoZWNraW5nUHJvY2Vzc1R5cGUgdGV4dENoZWNraW5nUHJvY2Vzc1R5cGUp
CiB7CiAgICAgaWYgKCFpc0FjdGl2ZVRleHRFZGl0KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9JbnB1dEhhbmRsZXIuaCBiL1NvdXJjZS9XZWJL
aXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L0lucHV0SGFuZGxlci5oCmluZGV4IDA2OGJmM2Fk
YmU0NjczNWFmNDFiYTQ2ZmE1ZTRhOTg0ZWIwNmY0MTQuLjM3ZmE0OWUwZGMwMzY4ZGRkMDBkNjUz
NzM2OGZlMDhmMTVjZDc2OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9X
ZWJLaXRTdXBwb3J0L0lucHV0SGFuZGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJy
eS9XZWJLaXRTdXBwb3J0L0lucHV0SGFuZGxlci5oCkBAIC0xNDksNyArMTQ5LDkgQEAgcHVibGlj
OgogICAgIHZvaWQgc3BlbGxDaGVja2luZ1JlcXVlc3RDYW5jZWxsZWQoaW50MzJfdCB0cmFuc2Fj
dGlvbklkKTsKIAogICAgIGJvb2wgc2hvdWxkUmVxdWVzdFNwZWxsQ2hlY2tpbmdPcHRpb25zRm9y
UG9pbnQoUGxhdGZvcm06OkludFBvaW50JiwgY29uc3QgV2ViQ29yZTo6RWxlbWVudCosIGltZl9z
cF90ZXh0X3QmKTsKLSAgICB2b2lkIHJlcXVlc3RTcGVsbGluZ0NoZWNraW5nT3B0aW9ucyhpbWZf
c3BfdGV4dF90JiwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2NyZWVuT2Zmc2V0KTsKKyAgICB2
b2lkIHJlcXVlc3RTcGVsbGluZ0NoZWNraW5nT3B0aW9ucyhpbWZfc3BfdGV4dF90JiwgV2ViQ29y
ZTo6SW50U2l6ZSYgc2NyZWVuT2Zmc2V0LCBjb25zdCBib29sIHNob3VsZE1vdmVEaWFsb2cgPSBm
YWxzZSk7CisgICAgdm9pZCBjbGVhckRpZFNwZWxsQ2hlY2tTdGF0ZSgpIHsgbV9kaWRTcGVsbENo
ZWNrV29yZCA9IGZhbHNlOyB9CisgICAgdm9pZCByZWRyYXdTcGVsbENoZWNrRGlhbG9nSWZSZXF1
aXJlZChjb25zdCBib29sIHNob3VsZE1vdmVEaWFsb2cgPSB0cnVlKTsKIAogcHJpdmF0ZToKICAg
ICBlbnVtIFBlbmRpbmdLZXlib2FyZFN0YXRlQ2hhbmdlIHsgTm9DaGFuZ2UsIFZpc2libGUsIE5v
dFZpc2libGUgfTsKQEAgLTIxMCw2ICsyMTIsNyBAQCBwcml2YXRlOgogICAgIFBhc3NSZWZQdHI8
V2ViQ29yZTo6UmFuZ2U+IGdldFJhbmdlRm9yU3BlbGxDaGVja1dpdGhGaW5lR3JhbnVsYXJpdHko
V2ViQ29yZTo6VmlzaWJsZVBvc2l0aW9uIHN0YXJ0UG9zaXRpb24sIFdlYkNvcmU6OlZpc2libGVQ
b3NpdGlvbiBlbmRQb3NpdGlvbik7CiAgICAgV2ViQ29yZTo6U3BlbGxDaGVja2VyKiBnZXRTcGVs
bENoZWNrZXIoKTsKICAgICBib29sIHNob3VsZFNwZWxsQ2hlY2tFbGVtZW50KGNvbnN0IFdlYkNv
cmU6OkVsZW1lbnQqKSBjb25zdDsKKyAgICBib29sIGRpZFNwZWxsQ2hlY2tXb3JkKCkgeyByZXR1
cm4gbV9kaWRTcGVsbENoZWNrV29yZDsgfQogCiAgICAgdm9pZCB1cGRhdGVGb3JtU3RhdGUoKTsK
IApAQCAtMjQ1LDYgKzI0OCw5IEBAIHByaXZhdGU6CiAgICAgdW5zaWduZWQgc2hvcnQgbV9leHBl
Y3RlZEtleVVwQ2hhcjsKIAogICAgIE93blB0cjxXZWJDb3JlOjpTdWdnZXN0aW9uQm94SGFuZGxl
cj4gbV9zdWdnZXN0aW9uRHJvcGRvd25Cb3hIYW5kbGVyOworICAgIGltZl9zcF90ZXh0X3QgbV9z
cGVsbENoZWNraW5nT3B0aW9uc1JlcXVlc3Q7CisgICAgV2ViQ29yZTo6SW50U2l6ZSBtX3NjcmVl
bk9mZnNldDsKKyAgICBib29sIG1fZGlkU3BlbGxDaGVja1dvcmQ7CiB9OwogCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9Ub3VjaEV2ZW50SGFu
ZGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9Ub3VjaEV2
ZW50SGFuZGxlci5jcHAKaW5kZXggMGQ0YzJlY2Y4MzYxOTFjYTMyODA5NzkxMjE0MDI5MGU5ZjAw
ODg0MS4uMzRkNzk1ZGJiM2E1ZDgxNjg5NGI2NjlhNGJiNjA0MDgyMWI2MGRmYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvVG91Y2hFdmVudEhhbmRs
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L1RvdWNo
RXZlbnRIYW5kbGVyLmNwcApAQCAtOTAsNiArOTAsOSBAQCB2b2lkIFRvdWNoRXZlbnRIYW5kbGVy
OjpoYW5kbGVUb3VjaFBvaW50KFBsYXRmb3JtOjpUb3VjaFBvaW50JiBwb2ludCkKICAgICBzd2l0
Y2ggKHBvaW50Lm1fc3RhdGUpIHsKICAgICBjYXNlIFBsYXRmb3JtOjpUb3VjaFBvaW50OjpUb3Vj
aFByZXNzZWQ6CiAgICAgICAgIHsKKyAgICAgICAgICAgIC8vIENsZWFyIHNwZWxsY2hlY2sgc3Rh
dGUgb24gYW55IHRvdWNoIGV2ZW50CisgICAgICAgICAgICBtX3dlYlBhZ2UtPm1faW5wdXRIYW5k
bGVyLT5jbGVhckRpZFNwZWxsQ2hlY2tTdGF0ZSgpOworCiAgICAgICAgICAgICBkb0ZhdEZpbmdl
cnMocG9pbnQpOwogCiAgICAgICAgICAgICBFbGVtZW50KiBlbGVtZW50VW5kZXJGYXRGaW5nZXIg
PSBtX2xhc3RGYXRGaW5nZXJzUmVzdWx0Lm5vZGVBc0VsZW1lbnRJZkFwcGxpY2FibGUoKTsKQEAg
LTEyNCw3ICsxMjcsOSBAQCB2b2lkIFRvdWNoRXZlbnRIYW5kbGVyOjpoYW5kbGVUb3VjaFBvaW50
KFBsYXRmb3JtOjpUb3VjaFBvaW50JiBwb2ludCkKIAogICAgICAgICAgICAgaWYgKG1fc2hvdWxk
UmVxdWVzdFNwZWxsQ2hlY2tPcHRpb25zKSB7CiAgICAgICAgICAgICAgICAgSW50UG9pbnQgcGl4
ZWxQb3NpdGlvblJlbGF0aXZlVG9WaWV3cG9ydCA9IG1fd2ViUGFnZS0+bWFwVG9UcmFuc2Zvcm1l
ZChhZGp1c3RlZFBvaW50KTsKLSAgICAgICAgICAgICAgICBtX3dlYlBhZ2UtPm1faW5wdXRIYW5k
bGVyLT5yZXF1ZXN0U3BlbGxpbmdDaGVja2luZ09wdGlvbnMobV9zcGVsbENoZWNrT3B0aW9uUmVx
dWVzdCwgSW50U2l6ZShtX2xhc3RTY3JlZW5Qb2ludCAtIHBpeGVsUG9zaXRpb25SZWxhdGl2ZVRv
Vmlld3BvcnQpKTsKKyAgICAgICAgICAgICAgICBJbnRTaXplIHNjcmVlbk9mZnNldChtX2xhc3RT
Y3JlZW5Qb2ludCAtIHBpeGVsUG9zaXRpb25SZWxhdGl2ZVRvVmlld3BvcnQpOworICAgICAgICAg
ICAgICAgIG1fd2ViUGFnZS0+bV9pbnB1dEhhbmRsZXItPnJlcXVlc3RTcGVsbGluZ0NoZWNraW5n
T3B0aW9ucyhtX3NwZWxsQ2hlY2tPcHRpb25SZXF1ZXN0LCBzY3JlZW5PZmZzZXQpOworICAgICAg
ICAgICAgICAgIG1fc2hvdWxkUmVxdWVzdFNwZWxsQ2hlY2tPcHRpb25zID0gZmFsc2U7CiAgICAg
ICAgICAgICB9CiAKICAgICAgICAgICAgIG1fbGFzdEZhdEZpbmdlcnNSZXN1bHQucmVzZXQoKTsg
Ly8gUmVzZXQgdGhlIGZhdCBmaW5nZXIgcmVzdWx0IGFzIGl0cyBubyBsb25nZXIgdmFsaWQgd2hl
biBhIHVzZXIncyBmaW5nZXIgaXMgbm90IG9uIHRoZSBzY3JlZW4uCkBAIC0xMzIsNiArMTM3LDkg
QEAgdm9pZCBUb3VjaEV2ZW50SGFuZGxlcjo6aGFuZGxlVG91Y2hQb2ludChQbGF0Zm9ybTo6VG91
Y2hQb2ludCYgcG9pbnQpCiAgICAgICAgIH0KICAgICBjYXNlIFBsYXRmb3JtOjpUb3VjaFBvaW50
OjpUb3VjaE1vdmVkOgogICAgICAgICB7CisgICAgICAgICAgICAvLyBDbGVhciBzcGVsbGNoZWNr
IHN0YXRlIG9uIGFueSB0b3VjaCBldmVudAorICAgICAgICAgICAgbV93ZWJQYWdlLT5tX2lucHV0
SGFuZGxlci0+Y2xlYXJEaWRTcGVsbENoZWNrU3RhdGUoKTsKKwogICAgICAgICAgICAgLy8gWW91
IGNhbiBzdGlsbCBzZW5kIG1vdXNlIG1vdmUgZXZlbnRzCiAgICAgICAgICAgICBQbGF0Zm9ybU1v
dXNlRXZlbnQgbW91c2VFdmVudChwb2ludC5tX3BvcywgbV9sYXN0U2NyZWVuUG9pbnQsIFBsYXRm
b3JtRXZlbnQ6Ok1vdXNlTW92ZWQsIDEsIExlZnRCdXR0b24sIFRvdWNoU2NyZWVuKTsKICAgICAg
ICAgICAgIG1fbGFzdFNjcmVlblBvaW50ID0gcG9pbnQubV9zY3JlZW5Qb3M7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178888</attachid>
            <date>2012-12-11 15:10:42 -0800</date>
            <delta_ts>2012-12-11 15:54:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104716-20121211180231.patch</filename>
            <type>text/plain</type>
            <size>15768</size>
            <attacher name="Nima Ghanavatian">nghanavatian</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3MzQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwpp
bmRleCBlMWZiM2E0MzZiMjkwMjBmM2VkYjg0YmI2ZjVlYmU5ZjM5ZWMzZGI1Li5hNmQ0NTlmNzUy
N2Y3ZTA2ZTQxNTZkNDI2MTljMmE3YTZiYTk3NDk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwzOCBAQAorMjAxMi0xMi0xMCAgTmltYSBHaGFuYXZhdGlhbiAgPG5n
aGFuYXZhdGlhbkByaW0uY29tPgorCisgICAgICAgIFtCbGFja0JlcnJ5XSBTaGlmdCB0aGUgc3Bl
bGwgY2hlY2sgZGlhbG9nIHRvIGFsaWduIHdpdGggdGV4dCBhZnRlciB0cmFuc2Zvcm1hdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0NzE2CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUFIyNDUwMzMK
KyAgICAgICAgQXMgdGhlIHBhZ2UgaXMgdHJhbnNmb3JtZWQsIHdlIHNob3VsZCByZWRyYXcgdGhl
IGRpYWxvZyBib3ggdG8gYWxpZ24KKyAgICAgICAgd2l0aCB0aGUgbmV3IHRleHQgcG9zaXRpb24u
IFdlIHNlbmQgYSBtZXNzYWdlIHRvIG1vdmUgdGhlIGRpYWxvZworICAgICAgICBib3ggZnJvbSBk
aWZmZXJlbnQgc3BvdHMgdG8gYWNjb3VudCBmb3Igc2Nyb2xsaW5nLiBUaGlzIGluY2x1ZGVzCisg
ICAgICAgIGtleWJvYXJkIHRyYW5zaXRpb25zIGZyb20gaGlkZGVuIHRvIGRpc3BsYXllZCBhbmQg
Y2VudGVyaW5nIG9mCisgICAgICAgIGZvY3VzIGFyb3VuZCBhIG5ldyB0b3VjaCBwb2ludC4gV2Ug
ZG8gbm90IHJlcG9zaXRpb24gb24gbWFudWFsIHVzZXIKKyAgICAgICAgc2Nyb2xsaW5nIG9mIHRo
ZSBwYWdlLCBhcyB0aGlzIHNpbXBseSBkaXNtaXNzZXMgdGhlIGRpYWxvZy4KKworICAgICAgICBJ
bnRlcm5hbGx5IHJldmlld2VkIGJ5IE1pa2UgRmVudG9uIGFuZCBHZW4gTWFrLgorCisgICAgICAg
ICogQXBpL1dlYlBhZ2UuY3BwOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdl
UHJpdmF0ZTo6c2V0Vmlld3BvcnRTaXplKToKKyAgICAgICAgKiBBcGkvV2ViUGFnZUNsaWVudC5o
OgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEJsYWNrQmVycnkuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50QmxhY2tCZXJyeTo6c2Nyb2xsKToKKyAgICAg
ICAgKiBXZWJLaXRTdXBwb3J0L0lucHV0SGFuZGxlci5jcHA6CisgICAgICAgIChCbGFja0JlcnJ5
OjpXZWJLaXQ6OklucHV0SGFuZGxlcjo6SW5wdXRIYW5kbGVyKToKKyAgICAgICAgKEJsYWNrQmVy
cnk6OldlYktpdDo6SW5wdXRIYW5kbGVyOjpzaG91bGRSZXF1ZXN0U3BlbGxDaGVja2luZ09wdGlv
bnNGb3JQb2ludCk6CisgICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OklucHV0SGFuZGxlcjo6
cmVxdWVzdFNwZWxsaW5nQ2hlY2tpbmdPcHRpb25zKToKKyAgICAgICAgKEJsYWNrQmVycnk6Oldl
YktpdDo6SW5wdXRIYW5kbGVyOjpyZWRyYXdTcGVsbENoZWNrRGlhbG9nSWZSZXF1aXJlZCk6Cisg
ICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFdlYktpdFN1cHBvcnQvSW5wdXRIYW5kbGVyLmg6
CisgICAgICAgIChJbnB1dEhhbmRsZXIpOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpJ
bnB1dEhhbmRsZXI6OmNsZWFyRGlkU3BlbGxDaGVja1N0YXRlKToKKyAgICAgICAgKEJsYWNrQmVy
cnk6OldlYktpdDo6SW5wdXRIYW5kbGVyOjpkaWRTcGVsbENoZWNrV29yZCk6CisgICAgICAgICog
V2ViS2l0U3VwcG9ydC9Ub3VjaEV2ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChCbGFja0JlcnJ5
OjpXZWJLaXQ6OlRvdWNoRXZlbnRIYW5kbGVyOjpoYW5kbGVUb3VjaFBvaW50KToKKwogMjAxMi0x
Mi0xMSAgR2VuZXZpZXZlIE1hayAgPGdtYWtAcmltLmNvbT4KIAogICAgICAgICBbQmxhY2tCZXJy
eV0gQXZvaWQgbXVsdGlwbGUgY2FsbHMgdG8gZmF0IGZpbmdlcnMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2JsYWNr
YmVycnkvQXBpL1dlYlBhZ2UuY3BwCmluZGV4IDdkZmJjNjY0OTk4NGQ4N2Y3NGViYzFhNzgzNzRj
ZjE2ZWFmOGQ2ODQuLjdkMGU4YTUyODEwNmYxYzU4ODJiMmZjZGU5M2U0OGY4ZDRjY2NjMjIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlLmNwcApAQCAtMzg2NSw2ICszODY1
LDcgQEAgdm9pZCBXZWJQYWdlUHJpdmF0ZTo6c2V0Vmlld3BvcnRTaXplKGNvbnN0IEludFNpemUm
IHRyYW5zZm9ybWVkQWN0dWFsVmlzaWJsZVNpemUKICAgICB9CiAKICAgICBtX2JhY2tpbmdTdG9y
ZS0+ZC0+cmVzdW1lU2NyZWVuVXBkYXRlcyhzY3JlZW5SZXN1bWVPcGVyYXRpb24pOworICAgIG1f
aW5wdXRIYW5kbGVyLT5yZWRyYXdTcGVsbENoZWNrRGlhbG9nSWZSZXF1aXJlZCgpOwogfQogCiB2
b2lkIFdlYlBhZ2U6OnNldFZpZXdwb3J0U2l6ZShjb25zdCBQbGF0Zm9ybTo6SW50U2l6ZSYgdmll
d3BvcnRTaXplLCBib29sIGVuc3VyZUZvY3VzRWxlbWVudFZpc2libGUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJL
aXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZUNsaWVudC5oCmluZGV4IDBmMGVlMmYwMDY2ZTNhZTFh
NjM3YTUwMzA2MjEzZTNkNTczN2E5YjUuLmZhMDJhMzE4NGMwMGFiMGEyZGNmOTgwNTQ2MDBhY2Yz
ZTk0YmQyNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFn
ZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZUNsaWVu
dC5oCkBAIC0xNTAsNyArMTUwLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzaG93Rm9y
bUNvbnRyb2xzKGJvb2wgdmlzaWJsZSwgYm9vbCBwcmV2aW91c0FjdGl2ZSA9IGZhbHNlLCBib29s
IG5leHRBY3RpdmUgPSBmYWxzZSkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzaG93VmlydHVhbEtl
eWJvYXJkKGJvb2wpID0gMDsKIAotICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0U3BlbGxpbmdDaGVj
a2luZ09wdGlvbnMoaW1mX3NwX3RleHRfdCYsIGNvbnN0IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpJ
bnRSZWN0JiBkb2N1bWVudENhcmV0UmVjdCwgY29uc3QgQmxhY2tCZXJyeTo6UGxhdGZvcm06Oklu
dFNpemUmIHNjcmVlbk9mZnNldCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0U3BlbGxp
bmdDaGVja2luZ09wdGlvbnMoaW1mX3NwX3RleHRfdCYsIGNvbnN0IEJsYWNrQmVycnk6OlBsYXRm
b3JtOjpJbnRSZWN0JiBkb2N1bWVudENhcmV0UmVjdCwgY29uc3QgQmxhY2tCZXJyeTo6UGxhdGZv
cm06OkludFNpemUmIHNjcmVlbk9mZnNldCwgY29uc3QgYm9vbCBzaG91bGRNb3ZlRGlhbG9nKSA9
IDA7CiAgICAgdmlydHVhbCBpbnQzMl90IGNoZWNrU3BlbGxpbmdPZlN0cmluZ0FzeW5jKHdjaGFy
X3QqIHRleHQsIGNvbnN0IHVuc2lnbmVkIGxlbmd0aCkgPSAwOwogCiAgICAgdmlydHVhbCB2b2lk
IG5vdGlmeVNlbGVjdGlvbkRldGFpbHNDaGFuZ2VkKGNvbnN0IFBsYXRmb3JtOjpJbnRSZWN0JiBk
b2N1bWVudFN0YXJ0UmVjdCwgY29uc3QgUGxhdGZvcm06OkludFJlY3QmIGRvY3VtZW50RW5kUmVj
dCwgY29uc3QgUGxhdGZvcm06OkludFJlY3RSZWdpb24mIGRvY3VtZW50UmVnaW9uLCBib29sIG92
ZXJyaWRlVG91Y2hIYW5kbGluZyA9IGZhbHNlKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50Qmxh
Y2tCZXJyeS5jcHAKaW5kZXggY2ZlNzk0MmQ3OTNhNzEyM2IxYjFmNTZjNDA0ZTA1MjE4YTFlMjk1
OS4uZmFjNGU1NTc3ZjU4NTQwNzk5NTVlYWEzN2NkOGEwNjE5ZjA3NDFhMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEJsYWNr
QmVycnkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRCbGFja0JlcnJ5LmNwcApAQCAtNjIyLDYgKzYyMiw5IEBAIHZvaWQgQ2hyb21l
Q2xpZW50QmxhY2tCZXJyeTo6c2Nyb2xsKGNvbnN0IEludFNpemUmIGRlbHRhLCBjb25zdCBJbnRS
ZWN0JiBzY3JvbGxWCiAgICAgYmFja2luZ1N0b3JlQ2xpZW50LT5jaGVja09yaWdpbk9mQ3VycmVu
dFNjcm9sbE9wZXJhdGlvbigpOwogCiAgICAgbV93ZWJQYWdlUHJpdmF0ZS0+bV9iYWNraW5nU3Rv
cmUtPmQtPnNjcm9sbChkZWx0YSwgc2Nyb2xsVmlld1JlY3QsIGNsaXBSZWN0KTsKKworICAgIC8v
IFNoaWZ0IHRoZSBzcGVsbCBjaGVjayBkaWFsb2cgYm94IGFzIHdlIHNjcm9sbC4KKyAgICBtX3dl
YlBhZ2VQcml2YXRlLT5tX2lucHV0SGFuZGxlci0+cmVkcmF3U3BlbGxDaGVja0RpYWxvZ0lmUmVx
dWlyZWQoKTsKIH0KIAogdm9pZCBDaHJvbWVDbGllbnRCbGFja0JlcnJ5OjpzY3JvbGxhYmxlQXJl
YXNEaWRDaGFuZ2UoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktp
dFN1cHBvcnQvSW5wdXRIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJL
aXRTdXBwb3J0L0lucHV0SGFuZGxlci5jcHAKaW5kZXggZmIzMWVhN2QxZTllZjZhODQ4MzE4OTIx
YjA2ZTMxOThiNTVkNDI1OC4uOWJhNjZhNDRkNGY1OTkxNWYxZWI3NTI3Zjk2YzQyNWZiNGM0Njdi
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvSW5w
dXRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9y
dC9JbnB1dEhhbmRsZXIuY3BwCkBAIC0xNDYsNiArMTQ2LDcgQEAgSW5wdXRIYW5kbGVyOjpJbnB1
dEhhbmRsZXIoV2ViUGFnZVByaXZhdGUqIHBhZ2UpCiAgICAgLCBtX3Byb2Nlc3NpbmdUcmFuc2Fj
dGlvbklkKC0xKQogICAgICwgbV9yZWNlaXZlZEJhY2tzcGFjZUtleURvd24oZmFsc2UpCiAgICAg
LCBtX2V4cGVjdGVkS2V5VXBDaGFyKDApCisgICAgLCBtX2RpZFNwZWxsQ2hlY2tXb3JkKGZhbHNl
KQogewogfQogCkBAIC03NDAsMTggKzc0MSwyMyBAQCBib29sIElucHV0SGFuZGxlcjo6c2hvdWxk
UmVxdWVzdFNwZWxsQ2hlY2tpbmdPcHRpb25zRm9yUG9pbnQoUGxhdGZvcm06OkludFBvaW50Jgog
ICAgIGlmICghbWFya2VyKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBtX2RpZFNwZWxs
Q2hlY2tXb3JkID0gdHJ1ZTsKKwogICAgIC8vIFBvcHVsYXRlIHRoZSBtYXJrZXIgZGV0YWlscyBp
biBwcmVwYXJhdGlvbiBmb3IgdGhlIHJlcXVlc3QgYXMgdGhlIG1hcmtlciBpcwogICAgIC8vIG5v
dCBndWFyYW50ZWVkIHRvIGJlIHZhbGlkIGFmdGVyIHRoZSBjdXJzb3IgaXMgcGxhY2VkLgogICAg
IHNwZWxsQ2hlY2tpbmdPcHRpb25SZXF1ZXN0LnN0YXJ0VGV4dFBvc2l0aW9uID0gbWFya2VyLT5z
dGFydE9mZnNldCgpOwogICAgIHNwZWxsQ2hlY2tpbmdPcHRpb25SZXF1ZXN0LmVuZFRleHRQb3Np
dGlvbiA9IG1hcmtlci0+ZW5kT2Zmc2V0KCk7CiAKKyAgICBtX3NwZWxsQ2hlY2tpbmdPcHRpb25z
UmVxdWVzdC5zdGFydFRleHRQb3NpdGlvbiA9IDA7CisgICAgbV9zcGVsbENoZWNraW5nT3B0aW9u
c1JlcXVlc3QuZW5kVGV4dFBvc2l0aW9uID0gMDsKKwogICAgIFNwZWxsaW5nTG9nKExvZ0xldmVs
SW5mbywgIklucHV0SGFuZGxlcjo6c2hvdWxkUmVxdWVzdFNwZWxsQ2hlY2tpbmdPcHRpb25zRm9y
UG9pbnQgRm91bmQgc3BlbGxpbmcgbWFya2VyIGF0IHBvaW50ICVkLCAlZFxuTWFya2VyIHN0YXJ0
ICVkIGVuZCAlZCIsCiAgICAgICAgIHBvaW50LngoKSwgcG9pbnQueSgpLCBzcGVsbENoZWNraW5n
T3B0aW9uUmVxdWVzdC5zdGFydFRleHRQb3NpdGlvbiwgc3BlbGxDaGVja2luZ09wdGlvblJlcXVl
c3QuZW5kVGV4dFBvc2l0aW9uKTsKIAogICAgIHJldHVybiB0cnVlOwogfQogCi12b2lkIElucHV0
SGFuZGxlcjo6cmVxdWVzdFNwZWxsaW5nQ2hlY2tpbmdPcHRpb25zKGltZl9zcF90ZXh0X3QmIHNw
ZWxsQ2hlY2tpbmdPcHRpb25SZXF1ZXN0LCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBzY3JlZW5P
ZmZzZXQpCit2b2lkIElucHV0SGFuZGxlcjo6cmVxdWVzdFNwZWxsaW5nQ2hlY2tpbmdPcHRpb25z
KGltZl9zcF90ZXh0X3QmIHNwZWxsQ2hlY2tpbmdPcHRpb25SZXF1ZXN0LCBXZWJDb3JlOjpJbnRT
aXplJiBzY3JlZW5PZmZzZXQsIGNvbnN0IGJvb2wgc2hvdWxkTW92ZURpYWxvZykKIHsKICAgICAv
LyBJZiB0aGUgY2FyZXQgaXMgbm8gbG9uZ2VyIGFjdGl2ZSwgbm8gbWVzc2FnZSBzaG91bGQgYmUg
c2VudC4KICAgICBpZiAobV93ZWJQYWdlLT5mb2N1c2VkT3JNYWluRnJhbWUoKS0+c2VsZWN0aW9u
KCktPnNlbGVjdGlvblR5cGUoKSAhPSBWaXNpYmxlU2VsZWN0aW9uOjpDYXJldFNlbGVjdGlvbikK
QEAgLTc2MCwzNSArNzY2LDYwIEBAIHZvaWQgSW5wdXRIYW5kbGVyOjpyZXF1ZXN0U3BlbGxpbmdD
aGVja2luZ09wdGlvbnMoaW1mX3NwX3RleHRfdCYgc3BlbGxDaGVja2luZ09wCiAgICAgaWYgKCFt
X2N1cnJlbnRGb2N1c0VsZW1lbnQgfHwgIW1fY3VycmVudEZvY3VzRWxlbWVudC0+ZG9jdW1lbnQo
KSB8fCAhbV9jdXJyZW50Rm9jdXNFbGVtZW50LT5kb2N1bWVudCgpLT5mcmFtZSgpKQogICAgICAg
ICByZXR1cm47CiAKKyAgICBpZiAoc2hvdWxkTW92ZURpYWxvZyB8fCAhKHNwZWxsQ2hlY2tpbmdP
cHRpb25SZXF1ZXN0LnN0YXJ0VGV4dFBvc2l0aW9uIHx8IHNwZWxsQ2hlY2tpbmdPcHRpb25SZXF1
ZXN0LnN0YXJ0VGV4dFBvc2l0aW9uKSkgeworICAgICAgICBpZiAobV9zcGVsbENoZWNraW5nT3B0
aW9uc1JlcXVlc3Quc3RhcnRUZXh0UG9zaXRpb24gfHwgbV9zcGVsbENoZWNraW5nT3B0aW9uc1Jl
cXVlc3QuZW5kVGV4dFBvc2l0aW9uKQorICAgICAgICAgICAgc3BlbGxDaGVja2luZ09wdGlvblJl
cXVlc3QgPSBtX3NwZWxsQ2hlY2tpbmdPcHRpb25zUmVxdWVzdDsKKyAgICB9CisKKyAgICBpZiAo
IXNob3VsZE1vdmVEaWFsb2cgJiYgc3BlbGxDaGVja2luZ09wdGlvblJlcXVlc3Quc3RhcnRUZXh0
UG9zaXRpb24gPT0gc3BlbGxDaGVja2luZ09wdGlvblJlcXVlc3QuZW5kVGV4dFBvc2l0aW9uKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpZiAoc2NyZWVuT2Zmc2V0LmlzRW1wdHkoKSkgeworICAg
ICAgICBzY3JlZW5PZmZzZXQuc2V0V2lkdGgobV9zY3JlZW5PZmZzZXQud2lkdGgoKSk7CisgICAg
ICAgIHNjcmVlbk9mZnNldC5zZXRIZWlnaHQobV9zY3JlZW5PZmZzZXQuaGVpZ2h0KCkpOworICAg
IH0gZWxzZSB7CisgICAgICAgIG1fc2NyZWVuT2Zmc2V0LnNldFdpZHRoKHNjcmVlbk9mZnNldC53
aWR0aCgpKTsKKyAgICAgICAgbV9zY3JlZW5PZmZzZXQuc2V0SGVpZ2h0KHNjcmVlbk9mZnNldC5o
ZWlnaHQoKSk7CisgICAgfQorCiAgICAgLy8gaW1mX3NwX3RleHRfdCBzaG91bGQgYmUgZ2VuZXJh
dGVkIGluIHBpeGVsIHZpZXdwb3J0IGNvb3JkaW5hdGVzLgorICAgIC8vIENhcmV0IGlzIGluIGRv
Y3VtZW50IGNvb3JkaW5hdGVzLgogICAgIFdlYkNvcmU6OkludFJlY3QgY2FyZXRSZWN0ID0gbV93
ZWJQYWdlLT5mb2N1c2VkT3JNYWluRnJhbWUoKS0+c2VsZWN0aW9uKCktPnNlbGVjdGlvbigpLnZp
c2libGVTdGFydCgpLmFic29sdXRlQ2FyZXRCb3VuZHMoKTsKKworICAgIC8vIFNoaWZ0IGZyb20g
cG9zaWJsZSBpRnJhbWUgdG8gcm9vdCB2aWV3L21haW4gZnJhbWUuCiAgICAgY2FyZXRSZWN0ID0g
bV93ZWJQYWdlLT5mb2N1c2VkT3JNYWluRnJhbWUoKS0+dmlldygpLT5jb250ZW50c1RvUm9vdFZp
ZXcoY2FyZXRSZWN0KTsKKworICAgIC8vIFNoaWZ0IHRvIGRvY3VtZW50IHNjcm9sbCBwb3NpdGlv
bi4KICAgICBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCBzY3JvbGxQb3NpdGlvbiA9IG1fd2ViUGFn
ZS0+bWFpbkZyYW1lKCktPnZpZXcoKS0+c2Nyb2xsUG9zaXRpb24oKTsKICAgICBjYXJldFJlY3Qu
bW92ZShzY3JvbGxQb3NpdGlvbi54KCksIHNjcm9sbFBvc2l0aW9uLnkoKSk7CiAKLSAgICAvLyBD
YWxjdWxhdGUgdGhlIG9mZnNldCBmb3IgY29udGVudEVkaXRhYmxlIHNpbmNlIHRoZSBtYXJrZXIg
b2Zmc2V0cyBhcmUgcmVsYXRpdmUgdG8gdGhlIG5vZGUuCi0gICAgLy8gR2V0IGNhcmV0IHBvc2l0
aW9uLiBUaG91Z2ggdGhlIHNwZWxsaW5nIG1hcmtlcnMgbWlnaHQgbm8gbG9uZ2VyIGV4aXN0LCBp
ZiB0aGlzIG1ldGhvZCBpcyBjYWxsZWQgd2UgY2FuIGFzc3VtZSB0aGUgY2FyZXQgd2FzIHBsYWNl
ZCBvbiB0b3Agb2YgYSBtYXJrZXIgZWFybGllci4KLSAgICBWaXNpYmxlUG9zaXRpb24gY2FyZXRQ
b3NpdGlvbiA9IG1fY3VycmVudEZvY3VzRWxlbWVudC0+ZG9jdW1lbnQoKS0+ZnJhbWUoKS0+c2Vs
ZWN0aW9uKCktPnNlbGVjdGlvbigpLnZpc2libGVTdGFydCgpOworICAgIC8vIElmIHdlIGFyZSBv
bmx5IG1vdmluZyB0aGUgZGlhbG9nLCB3ZSBkb24ndCBuZWVkIHRvIHByb3ZpZGUgc3RhcnRUZXh0
UG9zaXRpb24gYW5kIGVuZFRleHRQb3NpdGlvbiBzbyB0aGlzIGxvZ2ljIGNhbiBiZSBza2lwcGVk
LgorICAgIGlmICghc2hvdWxkTW92ZURpYWxvZykgeworICAgICAgICAvLyBDYWxjdWxhdGUgdGhl
IG9mZnNldCBmb3IgY29udGVudEVkaXRhYmxlIHNpbmNlIHRoZSBtYXJrZXIgb2Zmc2V0cyBhcmUg
cmVsYXRpdmUgdG8gdGhlIG5vZGUuCisgICAgICAgIC8vIEdldCBjYXJldCBwb3NpdGlvbi4gVGhv
dWdoIHRoZSBzcGVsbGluZyBtYXJrZXJzIG1pZ2h0IG5vIGxvbmdlciBleGlzdCwgaWYgdGhpcyBt
ZXRob2QgaXMgY2FsbGVkIHdlIGNhbiBhc3N1bWUgdGhlIGNhcmV0IHdhcyBwbGFjZWQgb24gdG9w
IG9mIGEgbWFya2VyIGVhcmxpZXIuCisgICAgICAgIFZpc2libGVQb3NpdGlvbiBjYXJldFBvc2l0
aW9uID0gbV9jdXJyZW50Rm9jdXNFbGVtZW50LT5kb2N1bWVudCgpLT5mcmFtZSgpLT5zZWxlY3Rp
b24oKS0+c2VsZWN0aW9uKCkudmlzaWJsZVN0YXJ0KCk7CiAKLSAgICAvLyBDcmVhdGUgYSByYW5n
ZSBmcm9tIHRoZSBzdGFydCB0byBlbmQgb2Ygd29yZC4KLSAgICBSZWZQdHI8UmFuZ2U+IHJhbmdl
U2VsZWN0aW9uID0gVmlzaWJsZVNlbGVjdGlvbihzdGFydE9mV29yZChjYXJldFBvc2l0aW9uKSwg
ZW5kT2ZXb3JkKGNhcmV0UG9zaXRpb24pKS50b05vcm1hbGl6ZWRSYW5nZSgpOwotICAgIGlmICgh
cmFuZ2VTZWxlY3Rpb24pCi0gICAgICAgIHJldHVybjsKKyAgICAgICAgLy8gQ3JlYXRlIGEgcmFu
Z2UgZnJvbSB0aGUgc3RhcnQgdG8gZW5kIG9mIHdvcmQuCisgICAgICAgIFJlZlB0cjxSYW5nZT4g
cmFuZ2VTZWxlY3Rpb24gPSBWaXNpYmxlU2VsZWN0aW9uKHN0YXJ0T2ZXb3JkKGNhcmV0UG9zaXRp
b24pLCBlbmRPZldvcmQoY2FyZXRQb3NpdGlvbikpLnRvTm9ybWFsaXplZFJhbmdlKCk7CisgICAg
ICAgIGlmICghcmFuZ2VTZWxlY3Rpb24pCisgICAgICAgICAgICByZXR1cm47CiAKLSAgICB1bnNp
Z25lZCBsb2NhdGlvbiA9IDA7Ci0gICAgdW5zaWduZWQgbGVuZ3RoID0gMDsKLSAgICBUZXh0SXRl
cmF0b3I6OmdldExvY2F0aW9uQW5kTGVuZ3RoRnJvbVJhbmdlKG1fY3VycmVudEZvY3VzRWxlbWVu
dC5nZXQoKSwgcmFuZ2VTZWxlY3Rpb24uZ2V0KCksIGxvY2F0aW9uLCBsZW5ndGgpOworICAgICAg
ICB1bnNpZ25lZCBsb2NhdGlvbiA9IDA7CisgICAgICAgIHVuc2lnbmVkIGxlbmd0aCA9IDA7Cisg
ICAgICAgIFRleHRJdGVyYXRvcjo6Z2V0TG9jYXRpb25BbmRMZW5ndGhGcm9tUmFuZ2UobV9jdXJy
ZW50Rm9jdXNFbGVtZW50LmdldCgpLCByYW5nZVNlbGVjdGlvbi5nZXQoKSwgbG9jYXRpb24sIGxl
bmd0aCk7CiAKLSAgICBpZiAobG9jYXRpb24gIT0gbm90Rm91bmQgJiYgbGVuZ3RoKSB7Ci0gICAg
ICAgIHNwZWxsQ2hlY2tpbmdPcHRpb25SZXF1ZXN0LnN0YXJ0VGV4dFBvc2l0aW9uID0gbG9jYXRp
b247Ci0gICAgICAgIHNwZWxsQ2hlY2tpbmdPcHRpb25SZXF1ZXN0LmVuZFRleHRQb3NpdGlvbiA9
IGxvY2F0aW9uICsgbGVuZ3RoOworICAgICAgICBpZiAobG9jYXRpb24gIT0gbm90Rm91bmQgJiYg
bGVuZ3RoKSB7CisgICAgICAgICAgICBzcGVsbENoZWNraW5nT3B0aW9uUmVxdWVzdC5zdGFydFRl
eHRQb3NpdGlvbiA9IGxvY2F0aW9uOworICAgICAgICAgICAgc3BlbGxDaGVja2luZ09wdGlvblJl
cXVlc3QuZW5kVGV4dFBvc2l0aW9uID0gbG9jYXRpb24gKyBsZW5ndGg7CisgICAgICAgIH0KICAg
ICB9CisgICAgbV9zcGVsbENoZWNraW5nT3B0aW9uc1JlcXVlc3QgPSBzcGVsbENoZWNraW5nT3B0
aW9uUmVxdWVzdDsKIAogICAgIElucHV0TG9nKExvZ0xldmVsSW5mbywgIklucHV0SGFuZGxlcjo6
cmVxdWVzdFNwZWxsaW5nQ2hlY2tpbmdPcHRpb25zIGNhcmV0UmVjdCB0b3BMZWZ0PSglZCwlZCks
IGJvdHRvbVJpZ2h0PSglZCwlZCksIHN0YXJ0VGV4dFBvc2l0aW9uPSVkLCBlbmRUZXh0UG9zaXRp
b249JWQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCBjYXJldFJlY3QubWluWE1pbllD
b3JuZXIoKS54KCksIGNhcmV0UmVjdC5taW5YTWluWUNvcm5lcigpLnkoKSwgY2FyZXRSZWN0Lm1h
eFhNYXhZQ29ybmVyKCkueCgpLCBjYXJldFJlY3QubWF4WE1heFlDb3JuZXIoKS55KCkKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAsIHNwZWxsQ2hlY2tpbmdPcHRpb25SZXF1ZXN0LnN0YXJ0
VGV4dFBvc2l0aW9uLCBzcGVsbENoZWNraW5nT3B0aW9uUmVxdWVzdC5lbmRUZXh0UG9zaXRpb24p
OwogCi0gICAgbV93ZWJQYWdlLT5tX2NsaWVudC0+cmVxdWVzdFNwZWxsaW5nQ2hlY2tpbmdPcHRp
b25zKHNwZWxsQ2hlY2tpbmdPcHRpb25SZXF1ZXN0LCBjYXJldFJlY3QsIHNjcmVlbk9mZnNldCk7
CisgICAgbV93ZWJQYWdlLT5tX2NsaWVudC0+cmVxdWVzdFNwZWxsaW5nQ2hlY2tpbmdPcHRpb25z
KHNwZWxsQ2hlY2tpbmdPcHRpb25SZXF1ZXN0LCBjYXJldFJlY3QsIHNjcmVlbk9mZnNldCwgc2hv
dWxkTW92ZURpYWxvZyk7CiB9CiAKIHZvaWQgSW5wdXRIYW5kbGVyOjpzZXRFbGVtZW50VW5mb2N1
c2VkKGJvb2wgcmVmb2N1c09jY3VyaW5nKQpAQCAtMTAyNyw2ICsxMDU4LDE3IEBAIGJvb2wgSW5w
dXRIYW5kbGVyOjpzaG91bGRTcGVsbENoZWNrRWxlbWVudChjb25zdCBFbGVtZW50KiBlbGVtZW50
KSBjb25zdAogICAgIHJldHVybiB0cnVlOwogfQogCit2b2lkIElucHV0SGFuZGxlcjo6cmVkcmF3
U3BlbGxDaGVja0RpYWxvZ0lmUmVxdWlyZWQoY29uc3QgYm9vbCBzaG91bGRNb3ZlRGlhbG9nKQor
eworICAgIGlmIChkaWRTcGVsbENoZWNrV29yZCgpKSB7CisgICAgICAgIGltZl9zcF90ZXh0X3Qg
c3BlbGxDaGVja2luZ09wdGlvblJlcXVlc3Q7CisgICAgICAgIHNwZWxsQ2hlY2tpbmdPcHRpb25S
ZXF1ZXN0LnN0YXJ0VGV4dFBvc2l0aW9uID0gMDsKKyAgICAgICAgc3BlbGxDaGVja2luZ09wdGlv
blJlcXVlc3QuZW5kVGV4dFBvc2l0aW9uID0gMDsKKyAgICAgICAgV2ViQ29yZTo6SW50U2l6ZSBz
Y3JlZW5PZmZzZXQoLTEsIC0xKTsKKyAgICAgICAgcmVxdWVzdFNwZWxsaW5nQ2hlY2tpbmdPcHRp
b25zKHNwZWxsQ2hlY2tpbmdPcHRpb25SZXF1ZXN0LCBzY3JlZW5PZmZzZXQsIHNob3VsZE1vdmVE
aWFsb2cpOworICAgIH0KK30KKwogdm9pZCBJbnB1dEhhbmRsZXI6OnNwZWxsQ2hlY2tCbG9jayhW
aXNpYmxlU2VsZWN0aW9uJiB2aXNpYmxlU2VsZWN0aW9uLCBUZXh0Q2hlY2tpbmdQcm9jZXNzVHlw
ZSB0ZXh0Q2hlY2tpbmdQcm9jZXNzVHlwZSkKIHsKICAgICBpZiAoIWlzQWN0aXZlVGV4dEVkaXQo
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L0lu
cHV0SGFuZGxlci5oIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvSW5w
dXRIYW5kbGVyLmgKaW5kZXggMDY4YmYzYWRiZTQ2NzM1YWY0MWJhNDZmYTVlNGE5ODRlYjA2ZjQx
NC4uNzA1MTBjZTE2MDIwODJiMDUxNmM4ODA0MjhjOGVkNjM2OWM3ZjgzYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvSW5wdXRIYW5kbGVyLmgKKysr
IGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvSW5wdXRIYW5kbGVyLmgK
QEAgLTE0OSw3ICsxNDksOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzcGVsbENoZWNraW5nUmVxdWVz
dENhbmNlbGxlZChpbnQzMl90IHRyYW5zYWN0aW9uSWQpOwogCiAgICAgYm9vbCBzaG91bGRSZXF1
ZXN0U3BlbGxDaGVja2luZ09wdGlvbnNGb3JQb2ludChQbGF0Zm9ybTo6SW50UG9pbnQmLCBjb25z
dCBXZWJDb3JlOjpFbGVtZW50KiwgaW1mX3NwX3RleHRfdCYpOwotICAgIHZvaWQgcmVxdWVzdFNw
ZWxsaW5nQ2hlY2tpbmdPcHRpb25zKGltZl9zcF90ZXh0X3QmLCBjb25zdCBXZWJDb3JlOjpJbnRT
aXplJiBzY3JlZW5PZmZzZXQpOworICAgIHZvaWQgcmVxdWVzdFNwZWxsaW5nQ2hlY2tpbmdPcHRp
b25zKGltZl9zcF90ZXh0X3QmLCBXZWJDb3JlOjpJbnRTaXplJiBzY3JlZW5PZmZzZXQsIGNvbnN0
IGJvb2wgc2hvdWxkTW92ZURpYWxvZyA9IGZhbHNlKTsKKyAgICB2b2lkIGNsZWFyRGlkU3BlbGxD
aGVja1N0YXRlKCkgeyBtX2RpZFNwZWxsQ2hlY2tXb3JkID0gZmFsc2U7IH0KKyAgICB2b2lkIHJl
ZHJhd1NwZWxsQ2hlY2tEaWFsb2dJZlJlcXVpcmVkKGNvbnN0IGJvb2wgc2hvdWxkTW92ZURpYWxv
ZyA9IHRydWUpOwogCiBwcml2YXRlOgogICAgIGVudW0gUGVuZGluZ0tleWJvYXJkU3RhdGVDaGFu
Z2UgeyBOb0NoYW5nZSwgVmlzaWJsZSwgTm90VmlzaWJsZSB9OwpAQCAtMjEwLDYgKzIxMiw3IEBA
IHByaXZhdGU6CiAgICAgUGFzc1JlZlB0cjxXZWJDb3JlOjpSYW5nZT4gZ2V0UmFuZ2VGb3JTcGVs
bENoZWNrV2l0aEZpbmVHcmFudWxhcml0eShXZWJDb3JlOjpWaXNpYmxlUG9zaXRpb24gc3RhcnRQ
b3NpdGlvbiwgV2ViQ29yZTo6VmlzaWJsZVBvc2l0aW9uIGVuZFBvc2l0aW9uKTsKICAgICBXZWJD
b3JlOjpTcGVsbENoZWNrZXIqIGdldFNwZWxsQ2hlY2tlcigpOwogICAgIGJvb2wgc2hvdWxkU3Bl
bGxDaGVja0VsZW1lbnQoY29uc3QgV2ViQ29yZTo6RWxlbWVudCopIGNvbnN0OworICAgIGJvb2wg
ZGlkU3BlbGxDaGVja1dvcmQoKSBjb25zdCB7IHJldHVybiBtX2RpZFNwZWxsQ2hlY2tXb3JkOyB9
CiAKICAgICB2b2lkIHVwZGF0ZUZvcm1TdGF0ZSgpOwogCkBAIC0yNDUsNiArMjQ4LDkgQEAgcHJp
dmF0ZToKICAgICB1bnNpZ25lZCBzaG9ydCBtX2V4cGVjdGVkS2V5VXBDaGFyOwogCiAgICAgT3du
UHRyPFdlYkNvcmU6OlN1Z2dlc3Rpb25Cb3hIYW5kbGVyPiBtX3N1Z2dlc3Rpb25Ecm9wZG93bkJv
eEhhbmRsZXI7CisgICAgaW1mX3NwX3RleHRfdCBtX3NwZWxsQ2hlY2tpbmdPcHRpb25zUmVxdWVz
dDsKKyAgICBXZWJDb3JlOjpJbnRTaXplIG1fc2NyZWVuT2Zmc2V0OworICAgIGJvb2wgbV9kaWRT
cGVsbENoZWNrV29yZDsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2ti
ZXJyeS9XZWJLaXRTdXBwb3J0L1RvdWNoRXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQv
YmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L1RvdWNoRXZlbnRIYW5kbGVyLmNwcAppbmRleCBhZTVj
ZDZlOGVhMjQ4ZGJlNmVlZmQ0NTA5NDkzMTkyZDE0N2I5YTE3Li4xM2UzMzU0M2JiM2M1MjVhNGFk
Y2E5M2ViOGZlZTdiMjQ0NDg0N2JjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVy
cnkvV2ViS2l0U3VwcG9ydC9Ub3VjaEV2ZW50SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvVG91Y2hFdmVudEhhbmRsZXIuY3BwCkBAIC05MCw2
ICs5MCw5IEBAIHZvaWQgVG91Y2hFdmVudEhhbmRsZXI6OmhhbmRsZVRvdWNoUG9pbnQoUGxhdGZv
cm06OlRvdWNoUG9pbnQmIHBvaW50KQogICAgIHN3aXRjaCAocG9pbnQubV9zdGF0ZSkgewogICAg
IGNhc2UgUGxhdGZvcm06OlRvdWNoUG9pbnQ6OlRvdWNoUHJlc3NlZDoKICAgICAgICAgeworICAg
ICAgICAgICAgLy8gQ2xlYXIgc3BlbGxjaGVjayBzdGF0ZSBvbiBhbnkgdG91Y2ggZXZlbnQKKyAg
ICAgICAgICAgIG1fd2ViUGFnZS0+bV9pbnB1dEhhbmRsZXItPmNsZWFyRGlkU3BlbGxDaGVja1N0
YXRlKCk7CisKICAgICAgICAgICAgIGlmICghbV9sYXN0RmF0RmluZ2Vyc1Jlc3VsdC5pc1ZhbGlk
KCkpCiAgICAgICAgICAgICAgICAgZG9GYXRGaW5nZXJzKHBvaW50KTsKIApAQCAtMTI1LDcgKzEy
OCw5IEBAIHZvaWQgVG91Y2hFdmVudEhhbmRsZXI6OmhhbmRsZVRvdWNoUG9pbnQoUGxhdGZvcm06
OlRvdWNoUG9pbnQmIHBvaW50KQogCiAgICAgICAgICAgICBpZiAobV9zaG91bGRSZXF1ZXN0U3Bl
bGxDaGVja09wdGlvbnMpIHsKICAgICAgICAgICAgICAgICBJbnRQb2ludCBwaXhlbFBvc2l0aW9u
UmVsYXRpdmVUb1ZpZXdwb3J0ID0gbV93ZWJQYWdlLT5tYXBUb1RyYW5zZm9ybWVkKGFkanVzdGVk
UG9pbnQpOwotICAgICAgICAgICAgICAgIG1fd2ViUGFnZS0+bV9pbnB1dEhhbmRsZXItPnJlcXVl
c3RTcGVsbGluZ0NoZWNraW5nT3B0aW9ucyhtX3NwZWxsQ2hlY2tPcHRpb25SZXF1ZXN0LCBJbnRT
aXplKG1fbGFzdFNjcmVlblBvaW50IC0gcGl4ZWxQb3NpdGlvblJlbGF0aXZlVG9WaWV3cG9ydCkp
OworICAgICAgICAgICAgICAgIEludFNpemUgc2NyZWVuT2Zmc2V0KG1fbGFzdFNjcmVlblBvaW50
IC0gcGl4ZWxQb3NpdGlvblJlbGF0aXZlVG9WaWV3cG9ydCk7CisgICAgICAgICAgICAgICAgbV93
ZWJQYWdlLT5tX2lucHV0SGFuZGxlci0+cmVxdWVzdFNwZWxsaW5nQ2hlY2tpbmdPcHRpb25zKG1f
c3BlbGxDaGVja09wdGlvblJlcXVlc3QsIHNjcmVlbk9mZnNldCk7CisgICAgICAgICAgICAgICAg
bV9zaG91bGRSZXF1ZXN0U3BlbGxDaGVja09wdGlvbnMgPSBmYWxzZTsKICAgICAgICAgICAgIH0K
IAogICAgICAgICAgICAgbV9sYXN0RmF0RmluZ2Vyc1Jlc3VsdC5yZXNldCgpOyAvLyBSZXNldCB0
aGUgZmF0IGZpbmdlciByZXN1bHQgYXMgaXRzIG5vIGxvbmdlciB2YWxpZCB3aGVuIGEgdXNlcidz
IGZpbmdlciBpcyBub3Qgb24gdGhlIHNjcmVlbi4KQEAgLTEzMyw2ICsxMzgsOSBAQCB2b2lkIFRv
dWNoRXZlbnRIYW5kbGVyOjpoYW5kbGVUb3VjaFBvaW50KFBsYXRmb3JtOjpUb3VjaFBvaW50JiBw
b2ludCkKICAgICAgICAgfQogICAgIGNhc2UgUGxhdGZvcm06OlRvdWNoUG9pbnQ6OlRvdWNoTW92
ZWQ6CiAgICAgICAgIHsKKyAgICAgICAgICAgIC8vIENsZWFyIHNwZWxsY2hlY2sgc3RhdGUgb24g
YW55IHRvdWNoIGV2ZW50CisgICAgICAgICAgICBtX3dlYlBhZ2UtPm1faW5wdXRIYW5kbGVyLT5j
bGVhckRpZFNwZWxsQ2hlY2tTdGF0ZSgpOworCiAgICAgICAgICAgICAvLyBZb3UgY2FuIHN0aWxs
IHNlbmQgbW91c2UgbW92ZSBldmVudHMKICAgICAgICAgICAgIFBsYXRmb3JtTW91c2VFdmVudCBt
b3VzZUV2ZW50KHBvaW50Lm1fcG9zLCBtX2xhc3RTY3JlZW5Qb2ludCwgUGxhdGZvcm1FdmVudDo6
TW91c2VNb3ZlZCwgMSwgTGVmdEJ1dHRvbiwgVG91Y2hTY3JlZW4pOwogICAgICAgICAgICAgbV9s
YXN0U2NyZWVuUG9pbnQgPSBwb2ludC5tX3NjcmVlblBvczsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178903</attachid>
            <date>2012-12-11 15:55:01 -0800</date>
            <delta_ts>2012-12-11 17:09:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104716-20121211184649.patch</filename>
            <type>text/plain</type>
            <size>15629</size>
            <attacher name="Nima Ghanavatian">nghanavatian</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3MzY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwpp
bmRleCBjMDgzODI0NjU4ZjczMmQxMGZmMTMwYzUzNzFlNTg1MTVmMWI4MGI1Li4yMjNlY2M0MGI1
NDBlZDBjZmUwNDRmMzFjNDZmMTMwMmQxNGNiMzRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwzOCBAQAorMjAxMi0xMi0xMCAgTmltYSBHaGFuYXZhdGlhbiAgPG5n
aGFuYXZhdGlhbkByaW0uY29tPgorCisgICAgICAgIFtCbGFja0JlcnJ5XSBTaGlmdCB0aGUgc3Bl
bGwgY2hlY2sgZGlhbG9nIHRvIGFsaWduIHdpdGggdGV4dCBhZnRlciB0cmFuc2Zvcm1hdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0NzE2CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUFIyNDUwMzMK
KyAgICAgICAgQXMgdGhlIHBhZ2UgaXMgdHJhbnNmb3JtZWQsIHdlIHNob3VsZCByZWRyYXcgdGhl
IGRpYWxvZyBib3ggdG8gYWxpZ24KKyAgICAgICAgd2l0aCB0aGUgbmV3IHRleHQgcG9zaXRpb24u
IFdlIHNlbmQgYSBtZXNzYWdlIHRvIG1vdmUgdGhlIGRpYWxvZworICAgICAgICBib3ggZnJvbSBk
aWZmZXJlbnQgc3BvdHMgdG8gYWNjb3VudCBmb3Igc2Nyb2xsaW5nLiBUaGlzIGluY2x1ZGVzCisg
ICAgICAgIGtleWJvYXJkIHRyYW5zaXRpb25zIGZyb20gaGlkZGVuIHRvIGRpc3BsYXllZCBhbmQg
Y2VudGVyaW5nIG9mCisgICAgICAgIGZvY3VzIGFyb3VuZCBhIG5ldyB0b3VjaCBwb2ludC4gV2Ug
ZG8gbm90IHJlcG9zaXRpb24gb24gbWFudWFsIHVzZXIKKyAgICAgICAgc2Nyb2xsaW5nIG9mIHRo
ZSBwYWdlLCBhcyB0aGlzIHNpbXBseSBkaXNtaXNzZXMgdGhlIGRpYWxvZy4KKworICAgICAgICBJ
bnRlcm5hbGx5IHJldmlld2VkIGJ5IE1pa2UgRmVudG9uIGFuZCBHZW4gTWFrLgorCisgICAgICAg
ICogQXBpL1dlYlBhZ2UuY3BwOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdl
UHJpdmF0ZTo6c2V0Vmlld3BvcnRTaXplKToKKyAgICAgICAgKiBBcGkvV2ViUGFnZUNsaWVudC5o
OgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEJsYWNrQmVycnkuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50QmxhY2tCZXJyeTo6c2Nyb2xsKToKKyAgICAg
ICAgKiBXZWJLaXRTdXBwb3J0L0lucHV0SGFuZGxlci5jcHA6CisgICAgICAgIChCbGFja0JlcnJ5
OjpXZWJLaXQ6OklucHV0SGFuZGxlcjo6SW5wdXRIYW5kbGVyKToKKyAgICAgICAgKEJsYWNrQmVy
cnk6OldlYktpdDo6SW5wdXRIYW5kbGVyOjpzaG91bGRSZXF1ZXN0U3BlbGxDaGVja2luZ09wdGlv
bnNGb3JQb2ludCk6CisgICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OklucHV0SGFuZGxlcjo6
cmVxdWVzdFNwZWxsaW5nQ2hlY2tpbmdPcHRpb25zKToKKyAgICAgICAgKEJsYWNrQmVycnk6Oldl
YktpdDo6SW5wdXRIYW5kbGVyOjpyZWRyYXdTcGVsbENoZWNrRGlhbG9nSWZSZXF1aXJlZCk6Cisg
ICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFdlYktpdFN1cHBvcnQvSW5wdXRIYW5kbGVyLmg6
CisgICAgICAgIChJbnB1dEhhbmRsZXIpOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpJ
bnB1dEhhbmRsZXI6OmNsZWFyRGlkU3BlbGxDaGVja1N0YXRlKToKKyAgICAgICAgKEJsYWNrQmVy
cnk6OldlYktpdDo6SW5wdXRIYW5kbGVyOjpkaWRTcGVsbENoZWNrV29yZCk6CisgICAgICAgICog
V2ViS2l0U3VwcG9ydC9Ub3VjaEV2ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChCbGFja0JlcnJ5
OjpXZWJLaXQ6OlRvdWNoRXZlbnRIYW5kbGVyOjpoYW5kbGVUb3VjaFBvaW50KToKKwogMjAxMi0x
Mi0xMSAgR2VuZXZpZXZlIE1hayAgPGdtYWtAcmltLmNvbT4KIAogICAgICAgICBbQmxhY2tCZXJy
eV0gQXZvaWQgbXVsdGlwbGUgY2FsbHMgdG8gZmF0IGZpbmdlcnMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2JsYWNr
YmVycnkvQXBpL1dlYlBhZ2UuY3BwCmluZGV4IGFhNTIxMzM5NjQ5MjBhYzVmOWNjYjkxMDFlNmNk
MzYzNjdkODdlZTcuLjUwM2MzNDQ2NDlhMjY5ODRjY2FiZDgwMjM4ZDNhNzU3YzQ5MTQ4NDkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlLmNwcApAQCAtMzgzNyw2ICszODM3
LDcgQEAgdm9pZCBXZWJQYWdlUHJpdmF0ZTo6c2V0Vmlld3BvcnRTaXplKGNvbnN0IEludFNpemUm
IHRyYW5zZm9ybWVkQWN0dWFsVmlzaWJsZVNpemUKICAgICB9CiAKICAgICBtX2JhY2tpbmdTdG9y
ZS0+ZC0+cmVzdW1lU2NyZWVuVXBkYXRlcyhzY3JlZW5SZXN1bWVPcGVyYXRpb24pOworICAgIG1f
aW5wdXRIYW5kbGVyLT5yZWRyYXdTcGVsbENoZWNrRGlhbG9nSWZSZXF1aXJlZCgpOwogfQogCiB2
b2lkIFdlYlBhZ2U6OnNldFZpZXdwb3J0U2l6ZShjb25zdCBQbGF0Zm9ybTo6SW50U2l6ZSYgdmll
d3BvcnRTaXplLCBib29sIGVuc3VyZUZvY3VzRWxlbWVudFZpc2libGUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJL
aXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZUNsaWVudC5oCmluZGV4IGY5YWRhNGQ1ZjNkNWI4NmEz
NWIyYmNkMTI3MjU5N2ZmZTczNmU5ZGYuLjRhMjAwZjExMDVjNTY1MTAwYmRlN2QwMGNmOGM2YWU4
YjZiMTk0NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFn
ZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZUNsaWVu
dC5oCkBAIC0xNDksNyArMTQ5LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHNob3dW
aXJ0dWFsS2V5Ym9hcmQoYm9vbCkgPSAwOwogCi0gICAgdmlydHVhbCB2b2lkIHJlcXVlc3RTcGVs
bGluZ0NoZWNraW5nT3B0aW9ucyhpbWZfc3BfdGV4dF90JiwgY29uc3QgQmxhY2tCZXJyeTo6UGxh
dGZvcm06OkludFJlY3QmIGRvY3VtZW50Q2FyZXRSZWN0LCBjb25zdCBCbGFja0JlcnJ5OjpQbGF0
Zm9ybTo6SW50U2l6ZSYgc2NyZWVuT2Zmc2V0KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHJlcXVl
c3RTcGVsbGluZ0NoZWNraW5nT3B0aW9ucyhpbWZfc3BfdGV4dF90JiwgY29uc3QgQmxhY2tCZXJy
eTo6UGxhdGZvcm06OkludFJlY3QmIGRvY3VtZW50Q2FyZXRSZWN0LCBjb25zdCBCbGFja0JlcnJ5
OjpQbGF0Zm9ybTo6SW50U2l6ZSYgc2NyZWVuT2Zmc2V0LCBjb25zdCBib29sIHNob3VsZE1vdmVE
aWFsb2cpID0gMDsKICAgICB2aXJ0dWFsIGludDMyX3QgY2hlY2tTcGVsbGluZ09mU3RyaW5nQXN5
bmMod2NoYXJfdCogdGV4dCwgY29uc3QgdW5zaWduZWQgbGVuZ3RoKSA9IDA7CiAKICAgICB2aXJ0
dWFsIHZvaWQgbm90aWZ5U2VsZWN0aW9uRGV0YWlsc0NoYW5nZWQoY29uc3QgUGxhdGZvcm06Oklu
dFJlY3QmIGRvY3VtZW50U3RhcnRSZWN0LCBjb25zdCBQbGF0Zm9ybTo6SW50UmVjdCYgZG9jdW1l
bnRFbmRSZWN0LCBjb25zdCBQbGF0Zm9ybTo6SW50UmVjdFJlZ2lvbiYgZG9jdW1lbnRSZWdpb24s
IGJvb2wgb3ZlcnJpZGVUb3VjaEhhbmRsaW5nID0gZmFsc2UpID0gMDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0Jl
cnJ5LmNwcCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRCbGFja0JlcnJ5LmNwcAppbmRleCA0MDM5NjkyMGJkYjhkNmJkMDY4ZGRlM2RlYjg5ODcw
YzE2MDc1MTNkLi44NzA1ZmYzNTQ2Yzk5ZmI5NWU0M2M1ODU3NDhhMTJjZTkyOGY4MDM5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50QmxhY2tCZXJyeS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVT
dXBwb3J0L0Nocm9tZUNsaWVudEJsYWNrQmVycnkuY3BwCkBAIC02MTUsNiArNjE1LDkgQEAgdm9p
ZCBDaHJvbWVDbGllbnRCbGFja0JlcnJ5OjpzY3JvbGwoY29uc3QgSW50U2l6ZSYgZGVsdGEsIGNv
bnN0IEludFJlY3QmIHNjcm9sbFYKICAgICBiYWNraW5nU3RvcmVDbGllbnQtPmNoZWNrT3JpZ2lu
T2ZDdXJyZW50U2Nyb2xsT3BlcmF0aW9uKCk7CiAKICAgICBtX3dlYlBhZ2VQcml2YXRlLT5tX2Jh
Y2tpbmdTdG9yZS0+ZC0+c2Nyb2xsKGRlbHRhLCBzY3JvbGxWaWV3UmVjdCwgY2xpcFJlY3QpOwor
CisgICAgLy8gU2hpZnQgdGhlIHNwZWxsIGNoZWNrIGRpYWxvZyBib3ggYXMgd2Ugc2Nyb2xsLgor
ICAgIG1fd2ViUGFnZVByaXZhdGUtPm1faW5wdXRIYW5kbGVyLT5yZWRyYXdTcGVsbENoZWNrRGlh
bG9nSWZSZXF1aXJlZCgpOwogfQogCiB2b2lkIENocm9tZUNsaWVudEJsYWNrQmVycnk6OnNjcm9s
bGFibGVBcmVhc0RpZENoYW5nZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVy
cnkvV2ViS2l0U3VwcG9ydC9JbnB1dEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYktpdC9ibGFja2Jl
cnJ5L1dlYktpdFN1cHBvcnQvSW5wdXRIYW5kbGVyLmNwcAppbmRleCBlOTgxMzVmYzQzMWI1MTVi
NGY0MDFiOGViMWE0YTA5NTAzNzU1ZTI4Li45ZDBhMTczZDFmYWFiOTY5MDgzYmRmNDU2NTFhYmUx
Nzg0NTllMTQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3Vw
cG9ydC9JbnB1dEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJL
aXRTdXBwb3J0L0lucHV0SGFuZGxlci5jcHAKQEAgLTE0MSw2ICsxNDEsNyBAQCBJbnB1dEhhbmRs
ZXI6OklucHV0SGFuZGxlcihXZWJQYWdlUHJpdmF0ZSogcGFnZSkKICAgICAsIG1fcHJvY2Vzc2lu
Z1RyYW5zYWN0aW9uSWQoLTEpCiAgICAgLCBtX3JlY2VpdmVkQmFja3NwYWNlS2V5RG93bihmYWxz
ZSkKICAgICAsIG1fZXhwZWN0ZWRLZXlVcENoYXIoMCkKKyAgICAsIG1fZGlkU3BlbGxDaGVja1dv
cmQoZmFsc2UpCiB7CiB9CiAKQEAgLTczMSwxOCArNzMyLDIzIEBAIGJvb2wgSW5wdXRIYW5kbGVy
OjpzaG91bGRSZXF1ZXN0U3BlbGxDaGVja2luZ09wdGlvbnNGb3JQb2ludChQbGF0Zm9ybTo6SW50
UG9pbnQmCiAgICAgaWYgKCFtYXJrZXIpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIG1f
ZGlkU3BlbGxDaGVja1dvcmQgPSB0cnVlOworCiAgICAgLy8gUG9wdWxhdGUgdGhlIG1hcmtlciBk
ZXRhaWxzIGluIHByZXBhcmF0aW9uIGZvciB0aGUgcmVxdWVzdCBhcyB0aGUgbWFya2VyIGlzCiAg
ICAgLy8gbm90IGd1YXJhbnRlZWQgdG8gYmUgdmFsaWQgYWZ0ZXIgdGhlIGN1cnNvciBpcyBwbGFj
ZWQuCiAgICAgc3BlbGxDaGVja2luZ09wdGlvblJlcXVlc3Quc3RhcnRUZXh0UG9zaXRpb24gPSBt
YXJrZXItPnN0YXJ0T2Zmc2V0KCk7CiAgICAgc3BlbGxDaGVja2luZ09wdGlvblJlcXVlc3QuZW5k
VGV4dFBvc2l0aW9uID0gbWFya2VyLT5lbmRPZmZzZXQoKTsKIAorICAgIG1fc3BlbGxDaGVja2lu
Z09wdGlvbnNSZXF1ZXN0LnN0YXJ0VGV4dFBvc2l0aW9uID0gMDsKKyAgICBtX3NwZWxsQ2hlY2tp
bmdPcHRpb25zUmVxdWVzdC5lbmRUZXh0UG9zaXRpb24gPSAwOworCiAgICAgU3BlbGxpbmdMb2co
TG9nTGV2ZWxJbmZvLCAiSW5wdXRIYW5kbGVyOjpzaG91bGRSZXF1ZXN0U3BlbGxDaGVja2luZ09w
dGlvbnNGb3JQb2ludCBGb3VuZCBzcGVsbGluZyBtYXJrZXIgYXQgcG9pbnQgJWQsICVkXG5NYXJr
ZXIgc3RhcnQgJWQgZW5kICVkIiwKICAgICAgICAgcG9pbnQueCgpLCBwb2ludC55KCksIHNwZWxs
Q2hlY2tpbmdPcHRpb25SZXF1ZXN0LnN0YXJ0VGV4dFBvc2l0aW9uLCBzcGVsbENoZWNraW5nT3B0
aW9uUmVxdWVzdC5lbmRUZXh0UG9zaXRpb24pOwogCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZv
aWQgSW5wdXRIYW5kbGVyOjpyZXF1ZXN0U3BlbGxpbmdDaGVja2luZ09wdGlvbnMoaW1mX3NwX3Rl
eHRfdCYgc3BlbGxDaGVja2luZ09wdGlvblJlcXVlc3QsIGNvbnN0IFdlYkNvcmU6OkludFNpemUm
IHNjcmVlbk9mZnNldCkKK3ZvaWQgSW5wdXRIYW5kbGVyOjpyZXF1ZXN0U3BlbGxpbmdDaGVja2lu
Z09wdGlvbnMoaW1mX3NwX3RleHRfdCYgc3BlbGxDaGVja2luZ09wdGlvblJlcXVlc3QsIFdlYkNv
cmU6OkludFNpemUmIHNjcmVlbk9mZnNldCwgY29uc3QgYm9vbCBzaG91bGRNb3ZlRGlhbG9nKQog
ewogICAgIC8vIElmIHRoZSBjYXJldCBpcyBubyBsb25nZXIgYWN0aXZlLCBubyBtZXNzYWdlIHNo
b3VsZCBiZSBzZW50LgogICAgIGlmIChtX3dlYlBhZ2UtPmZvY3VzZWRPck1haW5GcmFtZSgpLT5z
ZWxlY3Rpb24oKS0+c2VsZWN0aW9uVHlwZSgpICE9IFZpc2libGVTZWxlY3Rpb246OkNhcmV0U2Vs
ZWN0aW9uKQpAQCAtNzUxLDM1ICs3NTcsNjAgQEAgdm9pZCBJbnB1dEhhbmRsZXI6OnJlcXVlc3RT
cGVsbGluZ0NoZWNraW5nT3B0aW9ucyhpbWZfc3BfdGV4dF90JiBzcGVsbENoZWNraW5nT3AKICAg
ICBpZiAoIW1fY3VycmVudEZvY3VzRWxlbWVudCB8fCAhbV9jdXJyZW50Rm9jdXNFbGVtZW50LT5k
b2N1bWVudCgpIHx8ICFtX2N1cnJlbnRGb2N1c0VsZW1lbnQtPmRvY3VtZW50KCktPmZyYW1lKCkp
CiAgICAgICAgIHJldHVybjsKIAorICAgIGlmIChzaG91bGRNb3ZlRGlhbG9nIHx8ICEoc3BlbGxD
aGVja2luZ09wdGlvblJlcXVlc3Quc3RhcnRUZXh0UG9zaXRpb24gfHwgc3BlbGxDaGVja2luZ09w
dGlvblJlcXVlc3Quc3RhcnRUZXh0UG9zaXRpb24pKSB7CisgICAgICAgIGlmIChtX3NwZWxsQ2hl
Y2tpbmdPcHRpb25zUmVxdWVzdC5zdGFydFRleHRQb3NpdGlvbiB8fCBtX3NwZWxsQ2hlY2tpbmdP
cHRpb25zUmVxdWVzdC5lbmRUZXh0UG9zaXRpb24pCisgICAgICAgICAgICBzcGVsbENoZWNraW5n
T3B0aW9uUmVxdWVzdCA9IG1fc3BlbGxDaGVja2luZ09wdGlvbnNSZXF1ZXN0OworICAgIH0KKwor
ICAgIGlmICghc2hvdWxkTW92ZURpYWxvZyAmJiBzcGVsbENoZWNraW5nT3B0aW9uUmVxdWVzdC5z
dGFydFRleHRQb3NpdGlvbiA9PSBzcGVsbENoZWNraW5nT3B0aW9uUmVxdWVzdC5lbmRUZXh0UG9z
aXRpb24pCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChzY3JlZW5PZmZzZXQuaXNFbXB0eSgp
KSB7CisgICAgICAgIHNjcmVlbk9mZnNldC5zZXRXaWR0aChtX3NjcmVlbk9mZnNldC53aWR0aCgp
KTsKKyAgICAgICAgc2NyZWVuT2Zmc2V0LnNldEhlaWdodChtX3NjcmVlbk9mZnNldC5oZWlnaHQo
KSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgbV9zY3JlZW5PZmZzZXQuc2V0V2lkdGgoc2NyZWVu
T2Zmc2V0LndpZHRoKCkpOworICAgICAgICBtX3NjcmVlbk9mZnNldC5zZXRIZWlnaHQoc2NyZWVu
T2Zmc2V0LmhlaWdodCgpKTsKKyAgICB9CisKICAgICAvLyBpbWZfc3BfdGV4dF90IHNob3VsZCBi
ZSBnZW5lcmF0ZWQgaW4gcGl4ZWwgdmlld3BvcnQgY29vcmRpbmF0ZXMuCisgICAgLy8gQ2FyZXQg
aXMgaW4gZG9jdW1lbnQgY29vcmRpbmF0ZXMuCiAgICAgV2ViQ29yZTo6SW50UmVjdCBjYXJldFJl
Y3QgPSBtX3dlYlBhZ2UtPmZvY3VzZWRPck1haW5GcmFtZSgpLT5zZWxlY3Rpb24oKS0+c2VsZWN0
aW9uKCkudmlzaWJsZVN0YXJ0KCkuYWJzb2x1dGVDYXJldEJvdW5kcygpOworCisgICAgLy8gU2hp
ZnQgZnJvbSBwb3NpYmxlIGlGcmFtZSB0byByb290IHZpZXcvbWFpbiBmcmFtZS4KICAgICBjYXJl
dFJlY3QgPSBtX3dlYlBhZ2UtPmZvY3VzZWRPck1haW5GcmFtZSgpLT52aWV3KCktPmNvbnRlbnRz
VG9Sb290VmlldyhjYXJldFJlY3QpOworCisgICAgLy8gU2hpZnQgdG8gZG9jdW1lbnQgc2Nyb2xs
IHBvc2l0aW9uLgogICAgIGNvbnN0IFdlYkNvcmU6OkludFBvaW50IHNjcm9sbFBvc2l0aW9uID0g
bV93ZWJQYWdlLT5tYWluRnJhbWUoKS0+dmlldygpLT5zY3JvbGxQb3NpdGlvbigpOwogICAgIGNh
cmV0UmVjdC5tb3ZlKHNjcm9sbFBvc2l0aW9uLngoKSwgc2Nyb2xsUG9zaXRpb24ueSgpKTsKIAot
ICAgIC8vIENhbGN1bGF0ZSB0aGUgb2Zmc2V0IGZvciBjb250ZW50RWRpdGFibGUgc2luY2UgdGhl
IG1hcmtlciBvZmZzZXRzIGFyZSByZWxhdGl2ZSB0byB0aGUgbm9kZS4KLSAgICAvLyBHZXQgY2Fy
ZXQgcG9zaXRpb24uIFRob3VnaCB0aGUgc3BlbGxpbmcgbWFya2VycyBtaWdodCBubyBsb25nZXIg
ZXhpc3QsIGlmIHRoaXMgbWV0aG9kIGlzIGNhbGxlZCB3ZSBjYW4gYXNzdW1lIHRoZSBjYXJldCB3
YXMgcGxhY2VkIG9uIHRvcCBvZiBhIG1hcmtlciBlYXJsaWVyLgotICAgIFZpc2libGVQb3NpdGlv
biBjYXJldFBvc2l0aW9uID0gbV9jdXJyZW50Rm9jdXNFbGVtZW50LT5kb2N1bWVudCgpLT5mcmFt
ZSgpLT5zZWxlY3Rpb24oKS0+c2VsZWN0aW9uKCkudmlzaWJsZVN0YXJ0KCk7CisgICAgLy8gSWYg
d2UgYXJlIG9ubHkgbW92aW5nIHRoZSBkaWFsb2csIHdlIGRvbid0IG5lZWQgdG8gcHJvdmlkZSBz
dGFydFRleHRQb3NpdGlvbiBhbmQgZW5kVGV4dFBvc2l0aW9uIHNvIHRoaXMgbG9naWMgY2FuIGJl
IHNraXBwZWQuCisgICAgaWYgKCFzaG91bGRNb3ZlRGlhbG9nKSB7CisgICAgICAgIC8vIENhbGN1
bGF0ZSB0aGUgb2Zmc2V0IGZvciBjb250ZW50RWRpdGFibGUgc2luY2UgdGhlIG1hcmtlciBvZmZz
ZXRzIGFyZSByZWxhdGl2ZSB0byB0aGUgbm9kZS4KKyAgICAgICAgLy8gR2V0IGNhcmV0IHBvc2l0
aW9uLiBUaG91Z2ggdGhlIHNwZWxsaW5nIG1hcmtlcnMgbWlnaHQgbm8gbG9uZ2VyIGV4aXN0LCBp
ZiB0aGlzIG1ldGhvZCBpcyBjYWxsZWQgd2UgY2FuIGFzc3VtZSB0aGUgY2FyZXQgd2FzIHBsYWNl
ZCBvbiB0b3Agb2YgYSBtYXJrZXIgZWFybGllci4KKyAgICAgICAgVmlzaWJsZVBvc2l0aW9uIGNh
cmV0UG9zaXRpb24gPSBtX2N1cnJlbnRGb2N1c0VsZW1lbnQtPmRvY3VtZW50KCktPmZyYW1lKCkt
PnNlbGVjdGlvbigpLT5zZWxlY3Rpb24oKS52aXNpYmxlU3RhcnQoKTsKIAotICAgIC8vIENyZWF0
ZSBhIHJhbmdlIGZyb20gdGhlIHN0YXJ0IHRvIGVuZCBvZiB3b3JkLgotICAgIFJlZlB0cjxSYW5n
ZT4gcmFuZ2VTZWxlY3Rpb24gPSBWaXNpYmxlU2VsZWN0aW9uKHN0YXJ0T2ZXb3JkKGNhcmV0UG9z
aXRpb24pLCBlbmRPZldvcmQoY2FyZXRQb3NpdGlvbikpLnRvTm9ybWFsaXplZFJhbmdlKCk7Ci0g
ICAgaWYgKCFyYW5nZVNlbGVjdGlvbikKLSAgICAgICAgcmV0dXJuOworICAgICAgICAvLyBDcmVh
dGUgYSByYW5nZSBmcm9tIHRoZSBzdGFydCB0byBlbmQgb2Ygd29yZC4KKyAgICAgICAgUmVmUHRy
PFJhbmdlPiByYW5nZVNlbGVjdGlvbiA9IFZpc2libGVTZWxlY3Rpb24oc3RhcnRPZldvcmQoY2Fy
ZXRQb3NpdGlvbiksIGVuZE9mV29yZChjYXJldFBvc2l0aW9uKSkudG9Ob3JtYWxpemVkUmFuZ2Uo
KTsKKyAgICAgICAgaWYgKCFyYW5nZVNlbGVjdGlvbikKKyAgICAgICAgICAgIHJldHVybjsKIAot
ICAgIHVuc2lnbmVkIGxvY2F0aW9uID0gMDsKLSAgICB1bnNpZ25lZCBsZW5ndGggPSAwOwotICAg
IFRleHRJdGVyYXRvcjo6Z2V0TG9jYXRpb25BbmRMZW5ndGhGcm9tUmFuZ2UobV9jdXJyZW50Rm9j
dXNFbGVtZW50LmdldCgpLCByYW5nZVNlbGVjdGlvbi5nZXQoKSwgbG9jYXRpb24sIGxlbmd0aCk7
CisgICAgICAgIHVuc2lnbmVkIGxvY2F0aW9uID0gMDsKKyAgICAgICAgdW5zaWduZWQgbGVuZ3Ro
ID0gMDsKKyAgICAgICAgVGV4dEl0ZXJhdG9yOjpnZXRMb2NhdGlvbkFuZExlbmd0aEZyb21SYW5n
ZShtX2N1cnJlbnRGb2N1c0VsZW1lbnQuZ2V0KCksIHJhbmdlU2VsZWN0aW9uLmdldCgpLCBsb2Nh
dGlvbiwgbGVuZ3RoKTsKIAotICAgIGlmIChsb2NhdGlvbiAhPSBub3RGb3VuZCAmJiBsZW5ndGgp
IHsKLSAgICAgICAgc3BlbGxDaGVja2luZ09wdGlvblJlcXVlc3Quc3RhcnRUZXh0UG9zaXRpb24g
PSBsb2NhdGlvbjsKLSAgICAgICAgc3BlbGxDaGVja2luZ09wdGlvblJlcXVlc3QuZW5kVGV4dFBv
c2l0aW9uID0gbG9jYXRpb24gKyBsZW5ndGg7CisgICAgICAgIGlmIChsb2NhdGlvbiAhPSBub3RG
b3VuZCAmJiBsZW5ndGgpIHsKKyAgICAgICAgICAgIHNwZWxsQ2hlY2tpbmdPcHRpb25SZXF1ZXN0
LnN0YXJ0VGV4dFBvc2l0aW9uID0gbG9jYXRpb247CisgICAgICAgICAgICBzcGVsbENoZWNraW5n
T3B0aW9uUmVxdWVzdC5lbmRUZXh0UG9zaXRpb24gPSBsb2NhdGlvbiArIGxlbmd0aDsKKyAgICAg
ICAgfQogICAgIH0KKyAgICBtX3NwZWxsQ2hlY2tpbmdPcHRpb25zUmVxdWVzdCA9IHNwZWxsQ2hl
Y2tpbmdPcHRpb25SZXF1ZXN0OwogCiAgICAgSW5wdXRMb2coTG9nTGV2ZWxJbmZvLCAiSW5wdXRI
YW5kbGVyOjpyZXF1ZXN0U3BlbGxpbmdDaGVja2luZ09wdGlvbnMgY2FyZXRSZWN0IHRvcExlZnQ9
KCVkLCVkKSwgYm90dG9tUmlnaHQ9KCVkLCVkKSwgc3RhcnRUZXh0UG9zaXRpb249JWQsIGVuZFRl
eHRQb3NpdGlvbj0lZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsIGNhcmV0UmVjdC5t
aW5YTWluWUNvcm5lcigpLngoKSwgY2FyZXRSZWN0Lm1pblhNaW5ZQ29ybmVyKCkueSgpLCBjYXJl
dFJlY3QubWF4WE1heFlDb3JuZXIoKS54KCksIGNhcmV0UmVjdC5tYXhYTWF4WUNvcm5lcigpLnko
KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgc3BlbGxDaGVja2luZ09wdGlvblJlcXVl
c3Quc3RhcnRUZXh0UG9zaXRpb24sIHNwZWxsQ2hlY2tpbmdPcHRpb25SZXF1ZXN0LmVuZFRleHRQ
b3NpdGlvbik7CiAKLSAgICBtX3dlYlBhZ2UtPm1fY2xpZW50LT5yZXF1ZXN0U3BlbGxpbmdDaGVj
a2luZ09wdGlvbnMoc3BlbGxDaGVja2luZ09wdGlvblJlcXVlc3QsIGNhcmV0UmVjdCwgc2NyZWVu
T2Zmc2V0KTsKKyAgICBtX3dlYlBhZ2UtPm1fY2xpZW50LT5yZXF1ZXN0U3BlbGxpbmdDaGVja2lu
Z09wdGlvbnMoc3BlbGxDaGVja2luZ09wdGlvblJlcXVlc3QsIGNhcmV0UmVjdCwgc2NyZWVuT2Zm
c2V0LCBzaG91bGRNb3ZlRGlhbG9nKTsKIH0KIAogdm9pZCBJbnB1dEhhbmRsZXI6OnNldEVsZW1l
bnRVbmZvY3VzZWQoYm9vbCByZWZvY3VzT2NjdXJpbmcpCkBAIC05MTYsNiArOTQ3LDE3IEBAIGJv
b2wgSW5wdXRIYW5kbGVyOjpzaG91bGRTcGVsbENoZWNrRWxlbWVudChjb25zdCBFbGVtZW50KiBl
bGVtZW50KSBjb25zdAogICAgIHJldHVybiB0cnVlOwogfQogCit2b2lkIElucHV0SGFuZGxlcjo6
cmVkcmF3U3BlbGxDaGVja0RpYWxvZ0lmUmVxdWlyZWQoY29uc3QgYm9vbCBzaG91bGRNb3ZlRGlh
bG9nKQoreworICAgIGlmIChkaWRTcGVsbENoZWNrV29yZCgpKSB7CisgICAgICAgIGltZl9zcF90
ZXh0X3Qgc3BlbGxDaGVja2luZ09wdGlvblJlcXVlc3Q7CisgICAgICAgIHNwZWxsQ2hlY2tpbmdP
cHRpb25SZXF1ZXN0LnN0YXJ0VGV4dFBvc2l0aW9uID0gMDsKKyAgICAgICAgc3BlbGxDaGVja2lu
Z09wdGlvblJlcXVlc3QuZW5kVGV4dFBvc2l0aW9uID0gMDsKKyAgICAgICAgV2ViQ29yZTo6SW50
U2l6ZSBzY3JlZW5PZmZzZXQoLTEsIC0xKTsKKyAgICAgICAgcmVxdWVzdFNwZWxsaW5nQ2hlY2tp
bmdPcHRpb25zKHNwZWxsQ2hlY2tpbmdPcHRpb25SZXF1ZXN0LCBzY3JlZW5PZmZzZXQsIHNob3Vs
ZE1vdmVEaWFsb2cpOworICAgIH0KK30KKwogdm9pZCBJbnB1dEhhbmRsZXI6OnNwZWxsQ2hlY2tC
bG9jayhWaXNpYmxlU2VsZWN0aW9uJiB2aXNpYmxlU2VsZWN0aW9uLCBUZXh0Q2hlY2tpbmdQcm9j
ZXNzVHlwZSB0ZXh0Q2hlY2tpbmdQcm9jZXNzVHlwZSkKIHsKICAgICBpZiAoIWlzQWN0aXZlVGV4
dEVkaXQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBw
b3J0L0lucHV0SGFuZGxlci5oIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBv
cnQvSW5wdXRIYW5kbGVyLmgKaW5kZXggM2Q4ZDBhMmUxODYzOTAxOWEyNjEzODBkNzUzM2M1ODQ3
MGY2MTUxZi4uYmRiM2FlZmJmMDBhMGYwYmZhM2Q2Nzc4YjdhMjFhMmU1MTc3ZDkwMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvSW5wdXRIYW5kbGVy
LmgKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvSW5wdXRIYW5k
bGVyLmgKQEAgLTE0NCw3ICsxNDQsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzcGVsbENoZWNraW5n
UmVxdWVzdENhbmNlbGxlZChpbnQzMl90IHRyYW5zYWN0aW9uSWQpOwogCiAgICAgYm9vbCBzaG91
bGRSZXF1ZXN0U3BlbGxDaGVja2luZ09wdGlvbnNGb3JQb2ludChQbGF0Zm9ybTo6SW50UG9pbnQm
LCBjb25zdCBXZWJDb3JlOjpFbGVtZW50KiwgaW1mX3NwX3RleHRfdCYpOwotICAgIHZvaWQgcmVx
dWVzdFNwZWxsaW5nQ2hlY2tpbmdPcHRpb25zKGltZl9zcF90ZXh0X3QmLCBjb25zdCBXZWJDb3Jl
OjpJbnRTaXplJiBzY3JlZW5PZmZzZXQpOworICAgIHZvaWQgcmVxdWVzdFNwZWxsaW5nQ2hlY2tp
bmdPcHRpb25zKGltZl9zcF90ZXh0X3QmLCBXZWJDb3JlOjpJbnRTaXplJiBzY3JlZW5PZmZzZXQs
IGNvbnN0IGJvb2wgc2hvdWxkTW92ZURpYWxvZyA9IGZhbHNlKTsKKyAgICB2b2lkIGNsZWFyRGlk
U3BlbGxDaGVja1N0YXRlKCkgeyBtX2RpZFNwZWxsQ2hlY2tXb3JkID0gZmFsc2U7IH0KKyAgICB2
b2lkIHJlZHJhd1NwZWxsQ2hlY2tEaWFsb2dJZlJlcXVpcmVkKGNvbnN0IGJvb2wgc2hvdWxkTW92
ZURpYWxvZyA9IHRydWUpOwogCiBwcml2YXRlOgogICAgIGVudW0gUGVuZGluZ0tleWJvYXJkU3Rh
dGVDaGFuZ2UgeyBOb0NoYW5nZSwgVmlzaWJsZSwgTm90VmlzaWJsZSB9OwpAQCAtMjA1LDYgKzIw
Nyw3IEBAIHByaXZhdGU6CiAgICAgUGFzc1JlZlB0cjxXZWJDb3JlOjpSYW5nZT4gZ2V0UmFuZ2VG
b3JTcGVsbENoZWNrV2l0aEZpbmVHcmFudWxhcml0eShXZWJDb3JlOjpWaXNpYmxlUG9zaXRpb24g
c3RhcnRQb3NpdGlvbiwgV2ViQ29yZTo6VmlzaWJsZVBvc2l0aW9uIGVuZFBvc2l0aW9uKTsKICAg
ICBXZWJDb3JlOjpTcGVsbENoZWNrZXIqIGdldFNwZWxsQ2hlY2tlcigpOwogICAgIGJvb2wgc2hv
dWxkU3BlbGxDaGVja0VsZW1lbnQoY29uc3QgV2ViQ29yZTo6RWxlbWVudCopIGNvbnN0OworICAg
IGJvb2wgZGlkU3BlbGxDaGVja1dvcmQoKSBjb25zdCB7IHJldHVybiBtX2RpZFNwZWxsQ2hlY2tX
b3JkOyB9CiAKICAgICBXZWJQYWdlUHJpdmF0ZSogbV93ZWJQYWdlOwogCkBAIC0yMjgsNiArMjMx
LDEwIEBAIHByaXZhdGU6CiAKICAgICBib29sIG1fcmVjZWl2ZWRCYWNrc3BhY2VLZXlEb3duOwog
ICAgIHVuc2lnbmVkIHNob3J0IG1fZXhwZWN0ZWRLZXlVcENoYXI7CisKKyAgICBpbWZfc3BfdGV4
dF90IG1fc3BlbGxDaGVja2luZ09wdGlvbnNSZXF1ZXN0OworICAgIFdlYkNvcmU6OkludFNpemUg
bV9zY3JlZW5PZmZzZXQ7CisgICAgYm9vbCBtX2RpZFNwZWxsQ2hlY2tXb3JkOwogfTsKIAogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvVG91Y2hF
dmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQv
VG91Y2hFdmVudEhhbmRsZXIuY3BwCmluZGV4IGFlNWNkNmU4ZWEyNDhkYmU2ZWVmZDQ1MDk0OTMx
OTJkMTQ3YjlhMTcuLjEzZTMzNTQzYmIzYzUyNWE0YWRjYTkzZWI4ZmVlN2IyNDQ0ODQ3YmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L1RvdWNoRXZl
bnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9y
dC9Ub3VjaEV2ZW50SGFuZGxlci5jcHAKQEAgLTkwLDYgKzkwLDkgQEAgdm9pZCBUb3VjaEV2ZW50
SGFuZGxlcjo6aGFuZGxlVG91Y2hQb2ludChQbGF0Zm9ybTo6VG91Y2hQb2ludCYgcG9pbnQpCiAg
ICAgc3dpdGNoIChwb2ludC5tX3N0YXRlKSB7CiAgICAgY2FzZSBQbGF0Zm9ybTo6VG91Y2hQb2lu
dDo6VG91Y2hQcmVzc2VkOgogICAgICAgICB7CisgICAgICAgICAgICAvLyBDbGVhciBzcGVsbGNo
ZWNrIHN0YXRlIG9uIGFueSB0b3VjaCBldmVudAorICAgICAgICAgICAgbV93ZWJQYWdlLT5tX2lu
cHV0SGFuZGxlci0+Y2xlYXJEaWRTcGVsbENoZWNrU3RhdGUoKTsKKwogICAgICAgICAgICAgaWYg
KCFtX2xhc3RGYXRGaW5nZXJzUmVzdWx0LmlzVmFsaWQoKSkKICAgICAgICAgICAgICAgICBkb0Zh
dEZpbmdlcnMocG9pbnQpOwogCkBAIC0xMjUsNyArMTI4LDkgQEAgdm9pZCBUb3VjaEV2ZW50SGFu
ZGxlcjo6aGFuZGxlVG91Y2hQb2ludChQbGF0Zm9ybTo6VG91Y2hQb2ludCYgcG9pbnQpCiAKICAg
ICAgICAgICAgIGlmIChtX3Nob3VsZFJlcXVlc3RTcGVsbENoZWNrT3B0aW9ucykgewogICAgICAg
ICAgICAgICAgIEludFBvaW50IHBpeGVsUG9zaXRpb25SZWxhdGl2ZVRvVmlld3BvcnQgPSBtX3dl
YlBhZ2UtPm1hcFRvVHJhbnNmb3JtZWQoYWRqdXN0ZWRQb2ludCk7Ci0gICAgICAgICAgICAgICAg
bV93ZWJQYWdlLT5tX2lucHV0SGFuZGxlci0+cmVxdWVzdFNwZWxsaW5nQ2hlY2tpbmdPcHRpb25z
KG1fc3BlbGxDaGVja09wdGlvblJlcXVlc3QsIEludFNpemUobV9sYXN0U2NyZWVuUG9pbnQgLSBw
aXhlbFBvc2l0aW9uUmVsYXRpdmVUb1ZpZXdwb3J0KSk7CisgICAgICAgICAgICAgICAgSW50U2l6
ZSBzY3JlZW5PZmZzZXQobV9sYXN0U2NyZWVuUG9pbnQgLSBwaXhlbFBvc2l0aW9uUmVsYXRpdmVU
b1ZpZXdwb3J0KTsKKyAgICAgICAgICAgICAgICBtX3dlYlBhZ2UtPm1faW5wdXRIYW5kbGVyLT5y
ZXF1ZXN0U3BlbGxpbmdDaGVja2luZ09wdGlvbnMobV9zcGVsbENoZWNrT3B0aW9uUmVxdWVzdCwg
c2NyZWVuT2Zmc2V0KTsKKyAgICAgICAgICAgICAgICBtX3Nob3VsZFJlcXVlc3RTcGVsbENoZWNr
T3B0aW9ucyA9IGZhbHNlOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBtX2xhc3RGYXRG
aW5nZXJzUmVzdWx0LnJlc2V0KCk7IC8vIFJlc2V0IHRoZSBmYXQgZmluZ2VyIHJlc3VsdCBhcyBp
dHMgbm8gbG9uZ2VyIHZhbGlkIHdoZW4gYSB1c2VyJ3MgZmluZ2VyIGlzIG5vdCBvbiB0aGUgc2Ny
ZWVuLgpAQCAtMTMzLDYgKzEzOCw5IEBAIHZvaWQgVG91Y2hFdmVudEhhbmRsZXI6OmhhbmRsZVRv
dWNoUG9pbnQoUGxhdGZvcm06OlRvdWNoUG9pbnQmIHBvaW50KQogICAgICAgICB9CiAgICAgY2Fz
ZSBQbGF0Zm9ybTo6VG91Y2hQb2ludDo6VG91Y2hNb3ZlZDoKICAgICAgICAgeworICAgICAgICAg
ICAgLy8gQ2xlYXIgc3BlbGxjaGVjayBzdGF0ZSBvbiBhbnkgdG91Y2ggZXZlbnQKKyAgICAgICAg
ICAgIG1fd2ViUGFnZS0+bV9pbnB1dEhhbmRsZXItPmNsZWFyRGlkU3BlbGxDaGVja1N0YXRlKCk7
CisKICAgICAgICAgICAgIC8vIFlvdSBjYW4gc3RpbGwgc2VuZCBtb3VzZSBtb3ZlIGV2ZW50cwog
ICAgICAgICAgICAgUGxhdGZvcm1Nb3VzZUV2ZW50IG1vdXNlRXZlbnQocG9pbnQubV9wb3MsIG1f
bGFzdFNjcmVlblBvaW50LCBQbGF0Zm9ybUV2ZW50OjpNb3VzZU1vdmVkLCAxLCBMZWZ0QnV0dG9u
LCBUb3VjaFNjcmVlbik7CiAgICAgICAgICAgICBtX2xhc3RTY3JlZW5Qb2ludCA9IHBvaW50Lm1f
c2NyZWVuUG9zOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>