<?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>138685</bug_id>
          
          <creation_ts>2014-11-12 22:20:12 -0800</creation_ts>
          <short_desc>Adjust the WKBundlePageOverlay Data Detectors SPI</short_desc>
          <delta_ts>2014-11-13 13:21:13 -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>New Bugs</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="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>andersca</cc>
    
    <cc>bdakin</cc>
    
    <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1048346</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-11-12 22:20:12 -0800</bug_when>
    <thetext>Adjust the WKBundlePageOverlay Data Detectors SPI</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048347</commentid>
    <comment_count>1</comment_count>
      <attachid>241468</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-11-12 22:20:40 -0800</bug_when>
    <thetext>Created attachment 241468
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048348</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-11-12 22:22:48 -0800</bug_when>
    <thetext>Attachment 241468 did not pass style-queue:


ERROR: Source/WebKit2/WebProcess/WebPage/WebPageOverlay.cpp:122:  Declaration has space between type name and * in DDActionContext *WebPageOverlay  [whitespace/declaration] [3]
ERROR: Source/WebKit2/WebProcess/WebPage/WebPageOverlay.h:83:  The parameter name &quot;range&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 2 in 10 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048452</commentid>
    <comment_count>3</comment_count>
      <attachid>241468</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-11-13 11:50:52 -0800</bug_when>
    <thetext>Comment on attachment 241468
Patch

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

&gt; Source/WebKit2/UIProcess/mac/WKActionMenuController.mm:588
&gt; +        RefPtr&lt;WebPageProxy&gt; retainedPage = _page;

I&apos;d just call this &quot;page&quot;, and add a comment specifying what it&apos;s used for.

&gt; Source/WebKit2/WebProcess/WebPage/WebPage.messages.in:403
&gt; +    DataDetectorsPresentedUI()

DidPresentUI.

&gt; Source/WebKit2/WebProcess/WebPage/WebPage.messages.in:404
&gt; +    DataDetectorsChangedUI()

DidChangeUI.

&gt; Source/WebKit2/WebProcess/WebPage/WebPage.messages.in:405
&gt; +    DataDetectorsHidUI()

DidHideUI.

&gt; Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm:1099
&gt; +        if (DDActionContext *actionContext = webOverlay-&gt;actionContextForResultAtPoint(locationInContentCoordinates, mainResultRange)) {

Can this use a continue instead of a big nested if statement?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048470</commentid>
    <comment_count>4</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-11-13 13:21:13 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/176086</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241468</attachid>
            <date>2014-11-12 22:20:40 -0800</date>
            <delta_ts>2014-11-13 11:50:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138685-20141112222046.patch</filename>
            <type>text/plain</type>
            <size>19940</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc2MDM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOTNlNDM0NzdlN2E3NDE1
MDkzMDZkYjI1MTQ1ZDg2Yzg1ZjljZjljMi4uZTc1YjU4OTNkOGI4NGYyODUwYWMxNDAzOThmMWE2
NGQxNDE4ZmUwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDUzIEBACiAyMDE0LTExLTEyICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCisgICAgICAgIEFkanVzdCB0aGUg
V0tCdW5kbGVQYWdlT3ZlcmxheSBEYXRhIERldGVjdG9ycyBTUEkKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzODY4NQorICAgICAgICA8cmRhcjovL3By
b2JsZW0vMTg5NDcxNTY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dLQWN0aW9uTWVudUNvbnRyb2xsZXIubW06CisgICAg
ICAgICgtW1dLQWN0aW9uTWVudUNvbnRyb2xsZXIgX2RlZmF1bHRNZW51SXRlbXNGb3JEYXRhRGV0
ZWN0ZWRUZXh0XSk6CisgICAgICAgIEZvcndhcmQgRERBY3Rpb25Db250ZXh0IGNhbGxiYWNrcyB0
byB0aGUgV2ViIHByb2Nlc3MuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9jL1dLQnVuZGxlUGFnZU92ZXJsYXkuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlT3ZlcmxheS5oOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlT3ZlcmxheS5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2VPdmVybGF5Lmg6CisgICAgICAgIEFkZCBmb3VyIERhdGFEZXRlY3RvcnMt
cmVsYXRlZCBXZWJLaXQyLW9ubHkgcGFnZSBvdmVybGF5IGNhbGxiYWNrczoKKworICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlT3ZlcmxheTo6YWN0aW9uQ29udGV4dEZvclJlc3VsdEF0UG9pbnQpOgor
ICAgICAgICBDYWxsZWQgZHVyaW5nIHRoZSBhY3Rpb24gbWVudSBoaXQgdGVzdDsgY2xpZW50cyBj
YW4gcmVwbHkgd2l0aCBhIEREQWN0aW9uQ29udGV4dAorICAgICAgICBhbmQgYSBET00gcmFuZ2Us
IGFuZCBXZWJLaXQgd2lsbCB0cmVhdCB0aGF0IHJlc3VsdCBhbmQgcmFuZ2UgYXMgaWYgaXQgaGFk
CisgICAgICAgIGRldGVjdGVkIGl0IGl0c2VsZiwgYnVpbGRpbmcgdGhlIGFjdGlvbiBtZW51IGFu
ZCBzaG93aW5nIHRoZSB5ZWxsb3cgaGlnaGxpZ2h0IGFzIHVzdWFsLgorCisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2VPdmVybGF5OjpkYXRhRGV0ZWN0b3JzUHJlc2VudGVkVUkpOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlT3ZlcmxheTo6ZGF0YURldGVjdG9yc0NoYW5nZWRVSSk6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2VPdmVybGF5OjpkYXRhRGV0ZWN0b3JzSGlkVUkpOgorICAgICAgICBU
aGVzZSBjb3JyZXNwb25kIHRvIHRoZSBEREFjdGlvbkNvbnRleHQgY2FsbGJhY2tzLCBhbmQgY2Fu
IGJlIHVzZWQgYnkgY2xpZW50cworICAgICAgICB0byBzaG93L2hpZGUgY29ycmVzcG9uZGluZyBV
SSB3aGlsZSBEYXRhRGV0ZWN0b3JzIGluIHRoZSBVSSBwcm9jZXNzIGlzIHByZXNlbnRpbmcgVUku
CisKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZU92ZXJsYXk6OnByZXBhcmVGb3JBY3Rpb25NZW51
KTogRGVsZXRlZC4KKyAgICAgICAgR2V0IHJpZCBvZiBwcmVwYXJlRm9yQWN0aW9uTWVudSwgYXMg
bm9ib2R5IGV2ZXIgdXNlZCBpdC4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcDoKKyAgICAgICAgQWRkIFdlYlBhZ2VPdmVybGF5Lmggc28gdGhhdCB3ZSBjYW4gYnVp
bGQsIGJlY2F1c2UgdGhlIGRlc3RydWN0b3IgbGl2ZXMgaGVyZS4KKworICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UubWVzc2FnZXMuaW46CisgICAgICAgIAorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9tYWMvV2ViUGFnZU1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cGVyZm9ybUFj
dGlvbk1lbnVIaXRUZXN0QXRMb2NhdGlvbik6CisgICAgICAgIEdpdmUgYWxsIG9mIHRoZSBXZWJQ
YWdlT3ZlcmxheXMgdGhlIGZpcnN0IHNob3QgYXQgZGF0YSBkZXRlY3Rpb247IGlmIG5vbmUgb2Yg
dGhlbQorICAgICAgICByZXBseSB3aXRoIGEgdmFsaWQgRERBY3Rpb25Db250ZXh0L0RPTSByYW5n
ZSwgd2UnbGwgZ28gYWhlYWQgYW5kIGRvIG91ciBub3JtYWwgZGV0ZWN0aW9uLgorCisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2U6OmRhdGFEZXRlY3RvcnNQcmVzZW50ZWRVSSk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2U6OmRhdGFEZXRlY3RvcnNDaGFuZ2VkVUkpOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlOjpkYXRhRGV0ZWN0b3JzSGlkVUkpOgorICAgICAgICBGb3J3YXJkIHRoZXNlIGFs
b25nIHRvIHRoZSBhY3RpdmUgV2ViUGFnZU92ZXJsYXkuCisKKzIwMTQtMTEtMTIgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKICAgICAgICAgVHdvIGFjdGlvbiBtZW51
IGl0ZW0gdGl0bGVzIGFyZSBzd2FwcGVkCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMzg2NjcKICAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzE4OTYwNDA5
PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XS0FjdGlvbk1lbnVD
b250cm9sbGVyLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XS0FjdGlvbk1lbnVD
b250cm9sbGVyLm1tCmluZGV4IGM2OWVkZDZlZjYwMjViNmRiZTRiM2I4NGY1ZmJmOTVhNzU1OWQ2
YWYuLjg4YmFiNTIyZjVkMGY0ZGE1YTcxZDVlNTZhMmEwNGY0OTIzYzk5OGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV0tBY3Rpb25NZW51Q29udHJvbGxlci5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dLQWN0aW9uTWVudUNvbnRyb2xsZXIu
bW0KQEAgLTU4NSwxMSArNTg1LDE1IEBAIHN0YXRpYyBOU1N0cmluZyAqcGF0aFRvUGhvdG9PbkRp
c2soTlNTdHJpbmcgKnN1Z2dlc3RlZEZpbGVuYW1lKQogICAgICAgICByZXR1cm4gQFsgXTsKIAog
ICAgIGlmIChoYXNEYXRhRGV0ZWN0b3JzQ29tcGxldGlvbkFQSSgpKSB7CisgICAgICAgIFJlZlB0
cjxXZWJQYWdlUHJveHk+IHJldGFpbmVkUGFnZSA9IF9wYWdlOwogICAgICAgICBfY3VycmVudEFj
dGlvbkNvbnRleHQgPSBbYWN0aW9uQ29udGV4dCBjb250ZXh0Rm9yVmlldzpfd2tWaWV3IGFsdE1v
ZGU6WUVTIGludGVyYWN0aW9uU3RhcnRlZEhhbmRsZXI6XigpIHsKKyAgICAgICAgICAgIHJldGFp
bmVkUGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6RGF0YURldGVjdG9yc1ByZXNlbnRlZFVJ
KCkpOwogICAgICAgICB9IGludGVyYWN0aW9uQ2hhbmdlZEhhbmRsZXI6XigpIHsKICAgICAgICAg
ICAgIFtzZWxmIF9zaG93VGV4dEluZGljYXRvcl07CisgICAgICAgICAgICByZXRhaW5lZFBhZ2Ut
PnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkRhdGFEZXRlY3RvcnNDaGFuZ2VkVUkoKSk7CiAgICAg
ICAgIH0gaW50ZXJhY3Rpb25TdG9wcGVkSGFuZGxlcjpeKCkgewogICAgICAgICAgICAgW3NlbGYg
X2hpZGVUZXh0SW5kaWNhdG9yXTsKKyAgICAgICAgICAgIHJldGFpbmVkUGFnZS0+c2VuZChNZXNz
YWdlczo6V2ViUGFnZTo6RGF0YURldGVjdG9yc0hpZFVJKCkpOwogICAgICAgICB9XTsKICAgICB9
IGVsc2UgewogICAgICAgICBfY3VycmVudEFjdGlvbkNvbnRleHQgPSBhY3Rpb25Db250ZXh0Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Yy9XS0J1bmRsZVBhZ2VPdmVybGF5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlT3ZlcmxheS5jcHAKaW5kZXggODA5YWUwYjI4
YmM4NWJhYzJlYWM5OWU5MmViMTYyNjA0NDdjNGVlYi4uYzc3ZDk0ZDhjYWRlZDMzNTI0OGJmM2Yx
NThmNDFhNTllNWRhNzViYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VPdmVybGF5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZU92ZXJs
YXkuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiV0tCdW5kbGVQYWdlT3ZlcmxheS5o
IgogCiAjaW5jbHVkZSAiQVBJQ2xpZW50LmgiCisjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVSYW5n
ZUhhbmRsZS5oIgogI2luY2x1ZGUgIldLQVBJQ2FzdC5oIgogI2luY2x1ZGUgIldLQXJyYXkuaCIK
ICNpbmNsdWRlICJXS0J1bmRsZUFQSUNhc3QuaCIKQEAgLTEzMiwyMCArMTMzLDQ2IEBAIHByaXZh
dGU6CiAgICAgICAgIH0KICAgICB9CiAKLSAgICB2aXJ0dWFsIGJvb2wgcHJlcGFyZUZvckFjdGlv
bk1lbnUoV2ViUGFnZU92ZXJsYXkmIHBhZ2VPdmVybGF5LCBSZWZQdHI8QVBJOjpPYmplY3Q+JiB1
c2VyRGF0YSkgb3ZlcnJpZGUKKyNpZiBQTEFURk9STShNQUMpCisgICAgdmlydHVhbCBEREFjdGlv
bkNvbnRleHQgKmFjdGlvbkNvbnRleHRGb3JSZXN1bHRBdFBvaW50KFdlYlBhZ2VPdmVybGF5JiBw
YWdlT3ZlcmxheSwgV2ViQ29yZTo6RmxvYXRQb2ludCBsb2NhdGlvbiwgUmVmUHRyPFdlYkNvcmU6
OlJhbmdlPiYgcmFuZ2VIYW5kbGUpCiAgICAgewotICAgICAgICBpZiAoIW1fY2xpZW50LnByZXBh
cmVGb3JBY3Rpb25NZW51KQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBpZiAo
IW1fY2xpZW50LmFjdGlvbkNvbnRleHRGb3JSZXN1bHRBdFBvaW50KQorICAgICAgICAgICAgcmV0
dXJuIG5pbDsKIAotICAgICAgICBXS1R5cGVSZWYgdXNlckRhdGFUb1Bhc3MgPSBudWxscHRyOwot
ICAgICAgICBpZiAobV9jbGllbnQucHJlcGFyZUZvckFjdGlvbk1lbnUodG9BUEkoJnBhZ2VPdmVy
bGF5KSwgJnVzZXJEYXRhVG9QYXNzLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pKSB7Ci0gICAg
ICAgICAgICB1c2VyRGF0YSA9IGFkb3B0UmVmKHRvSW1wbCh1c2VyRGF0YVRvUGFzcykpOwotICAg
ICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIH0KKyAgICAgICAgV0tCdW5kbGVSYW5nZUhh
bmRsZVJlZiBhcGlSYW5nZTsKKyAgICAgICAgRERBY3Rpb25Db250ZXh0ICphY3Rpb25Db250ZXh0
ID0gKEREQWN0aW9uQ29udGV4dCAqKW1fY2xpZW50LmFjdGlvbkNvbnRleHRGb3JSZXN1bHRBdFBv
aW50KHRvQVBJKCZwYWdlT3ZlcmxheSksIFdLUG9pbnRNYWtlKGxvY2F0aW9uLngoKSwgbG9jYXRp
b24ueSgpKSwgJmFwaVJhbmdlLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOworCisgICAgICAg
IGlmIChhcGlSYW5nZSkKKyAgICAgICAgICAgIHJhbmdlSGFuZGxlID0gdG9JbXBsKGFwaVJhbmdl
KS0+Y29yZVJhbmdlKCk7CiAKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXR1cm4g
YWN0aW9uQ29udGV4dDsKICAgICB9Ci0gICAgCisKKyAgICB2aXJ0dWFsIHZvaWQgZGF0YURldGVj
dG9yc1ByZXNlbnRlZFVJKFdlYlBhZ2VPdmVybGF5JiBwYWdlT3ZlcmxheSkKKyAgICB7CisgICAg
ICAgIGlmICghbV9jbGllbnQuZGF0YURldGVjdG9yc1ByZXNlbnRlZFVJKQorICAgICAgICAgICAg
cmV0dXJuOworCisgICAgICAgIG1fY2xpZW50LmRhdGFEZXRlY3RvcnNQcmVzZW50ZWRVSSh0b0FQ
SSgmcGFnZU92ZXJsYXkpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOworICAgIH0KKworICAg
IHZpcnR1YWwgdm9pZCBkYXRhRGV0ZWN0b3JzQ2hhbmdlZFVJKFdlYlBhZ2VPdmVybGF5JiBwYWdl
T3ZlcmxheSkKKyAgICB7CisgICAgICAgIGlmICghbV9jbGllbnQuZGF0YURldGVjdG9yc0NoYW5n
ZWRVSSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBtX2NsaWVudC5kYXRhRGV0ZWN0
b3JzQ2hhbmdlZFVJKHRvQVBJKCZwYWdlT3ZlcmxheSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5m
byk7CisgICAgfQorCisgICAgdmlydHVhbCB2b2lkIGRhdGFEZXRlY3RvcnNIaWRVSShXZWJQYWdl
T3ZlcmxheSYgcGFnZU92ZXJsYXkpCisgICAgeworICAgICAgICBpZiAoIW1fY2xpZW50LmRhdGFE
ZXRlY3RvcnNIaWRVSSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBtX2NsaWVudC5k
YXRhRGV0ZWN0b3JzSGlkVUkodG9BUEkoJnBhZ2VPdmVybGF5KSwgbV9jbGllbnQuYmFzZS5jbGll
bnRJbmZvKTsKKyAgICB9CisjZW5kaWYgLy8gUExBVEZPUk0oTUFDKQorCiAgICAgdmlydHVhbCBi
b29sIGNvcHlBY2Nlc3NpYmlsaXR5QXR0cmlidXRlU3RyaW5nVmFsdWVGb3JQb2ludChXZWJQYWdl
T3ZlcmxheSYgcGFnZU92ZXJsYXksIFN0cmluZyBhdHRyaWJ1dGUsIFdlYkNvcmU6OkZsb2F0UG9p
bnQgcGFyYW1ldGVyLCBTdHJpbmcmIHZhbHVlKSBvdmVycmlkZQogICAgIHsKICAgICAgICAgaWYg
KCFtX2FjY2Vzc2liaWxpdHlDbGllbnQuY2xpZW50KCkuY29weUFjY2Vzc2liaWxpdHlBdHRyaWJ1
dGVWYWx1ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlT3ZlcmxheS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VPdmVybGF5LmgKaW5kZXggMWM3
ZmQxMDNlYzFmZjlmZmIwNzU1ZWUzMTJjNmQwM2NhZjAyMzVhZC4uOTkyNTM3OWNmNWI1ODhkZTc3
NjA5YmFhNDk4NmM1NGQwYTQzMjI4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VPdmVybGF5LmgKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VP
dmVybGF5LmgKQEAgLTQ4LDcgKzQ4LDExIEBAIHR5cGVkZWYgYm9vbCAoKldLQnVuZGxlUGFnZU92
ZXJsYXlNb3VzZURvd25DYWxsYmFjaykoV0tCdW5kbGVQYWdlT3ZlcmxheVJlZiBwYWdlCiB0eXBl
ZGVmIGJvb2wgKCpXS0J1bmRsZVBhZ2VPdmVybGF5TW91c2VVcENhbGxiYWNrKShXS0J1bmRsZVBh
Z2VPdmVybGF5UmVmIHBhZ2VPdmVybGF5LCBXS1BvaW50IHBvc2l0aW9uLCBXS0V2ZW50TW91c2VC
dXR0b24gbW91c2VCdXR0b24sIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogdHlwZWRlZiBib29s
ICgqV0tCdW5kbGVQYWdlT3ZlcmxheU1vdXNlTW92ZWRDYWxsYmFjaykoV0tCdW5kbGVQYWdlT3Zl
cmxheVJlZiBwYWdlT3ZlcmxheSwgV0tQb2ludCBwb3NpdGlvbiwgY29uc3Qgdm9pZCogY2xpZW50
SW5mbyk7CiB0eXBlZGVmIGJvb2wgKCpXS0J1bmRsZVBhZ2VPdmVybGF5TW91c2VEcmFnZ2VkQ2Fs
bGJhY2spKFdLQnVuZGxlUGFnZU92ZXJsYXlSZWYgcGFnZU92ZXJsYXksIFdLUG9pbnQgcG9zaXRp
b24sIFdLRXZlbnRNb3VzZUJ1dHRvbiBtb3VzZUJ1dHRvbiwgY29uc3Qgdm9pZCogY2xpZW50SW5m
byk7Ci10eXBlZGVmIGJvb2wgKCpXS0J1bmRsZVBhZ2VPdmVybGF5UHJlcGFyZUZvckFjdGlvbk1l
bnVDYWxsYmFjaykoV0tCdW5kbGVQYWdlT3ZlcmxheVJlZiBwYWdlT3ZlcmxheSwgV0tUeXBlUmVm
KiB1c2VyRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CisKK3R5cGVkZWYgdm9pZCogKCpX
S0J1bmRsZVBhZ2VPdmVybGF5QWN0aW9uQ29udGV4dEZvclJlc3VsdEF0UG9pbnRDYWxsYmFjayko
V0tCdW5kbGVQYWdlT3ZlcmxheVJlZiBwYWdlT3ZlcmxheSwgV0tQb2ludCBwb3NpdGlvbiwgV0tC
dW5kbGVSYW5nZUhhbmRsZVJlZiogcmFuZ2VIYW5kbGUsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8p
OwordHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlT3ZlcmxheURhdGFEZXRlY3RvcnNQcmVzZW50
ZWRVSSkoV0tCdW5kbGVQYWdlT3ZlcmxheVJlZiBwYWdlT3ZlcmxheSwgY29uc3Qgdm9pZCogY2xp
ZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VPdmVybGF5RGF0YURldGVjdG9y
c0NoYW5nZWRVSSkoV0tCdW5kbGVQYWdlT3ZlcmxheVJlZiBwYWdlT3ZlcmxheSwgY29uc3Qgdm9p
ZCogY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZVBhZ2VPdmVybGF5RGF0YURl
dGVjdG9yc0hpZFVJKShXS0J1bmRsZVBhZ2VPdmVybGF5UmVmIHBhZ2VPdmVybGF5LCBjb25zdCB2
b2lkKiBjbGllbnRJbmZvKTsKIAogdHlwZWRlZiBzdHJ1Y3QgV0tCdW5kbGVQYWdlT3ZlcmxheUNs
aWVudEJhc2UgewogICAgIGludCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbjsKQEAgLTc4LDcgKzgyLDEwIEBAIHR5
cGVkZWYgc3RydWN0IFdLQnVuZGxlUGFnZU92ZXJsYXlDbGllbnRWMSB7CiAgICAgV0tCdW5kbGVQ
YWdlT3ZlcmxheU1vdXNlTW92ZWRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBtb3VzZU1vdmVkOwogICAgIFdLQnVuZGxlUGFnZU92ZXJsYXlNb3VzZURyYWdnZWRDYWxsYmFj
ayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW91c2VEcmFnZ2VkOwogCi0gICAgV0tCdW5k
bGVQYWdlT3ZlcmxheVByZXBhcmVGb3JBY3Rpb25NZW51Q2FsbGJhY2sgICAgICAgICAgICAgICAg
ICAgICBwcmVwYXJlRm9yQWN0aW9uTWVudTsKKyAgICBXS0J1bmRsZVBhZ2VPdmVybGF5QWN0aW9u
Q29udGV4dEZvclJlc3VsdEF0UG9pbnRDYWxsYmFjayAgICAgICAgICAgIGFjdGlvbkNvbnRleHRG
b3JSZXN1bHRBdFBvaW50OworICAgIFdLQnVuZGxlUGFnZU92ZXJsYXlEYXRhRGV0ZWN0b3JzUHJl
c2VudGVkVUkgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YURldGVjdG9yc1ByZXNlbnRlZFVJ
OworICAgIFdLQnVuZGxlUGFnZU92ZXJsYXlEYXRhRGV0ZWN0b3JzQ2hhbmdlZFVJICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZGF0YURldGVjdG9yc0NoYW5nZWRVSTsKKyAgICBXS0J1bmRsZVBh
Z2VPdmVybGF5RGF0YURldGVjdG9yc0hpZFVJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGRhdGFEZXRlY3RvcnNIaWRVSTsKIH0gV0tCdW5kbGVQYWdlT3ZlcmxheUNsaWVudFYxOwogCiBl
bnVtIHsga1dLQnVuZGxlUGFnZU92ZXJsYXlDbGllbnRDdXJyZW50VmVyc2lvbiBXS19FTlVNX0RF
UFJFQ0FURUQoIlVzZSBhbiBleHBsaWNpdCB2ZXJzaW9uIG51bWJlciBpbnN0ZWFkIikgPSAwIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXgg
N2U4MDU1MGUxNmQ2MzVkOGQ0NTdkOGZkMWU2MGE2YzQ3ZWRkY2NhYi4uZjJhYTQ5NzA5MGQ1Y2Rh
MDdkYjc1YzEyYzMwYzY5ODBmMDQwMTNiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtODcsNiArODcsNyBAQAogI2luY2x1ZGUgIldlYlBh
Z2VDcmVhdGlvblBhcmFtZXRlcnMuaCIKICNpbmNsdWRlICJXZWJQYWdlR3JvdXBQcm94eS5oIgog
I2luY2x1ZGUgIldlYlBhZ2VNZXNzYWdlcy5oIgorI2luY2x1ZGUgIldlYlBhZ2VPdmVybGF5Lmgi
CiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJQbHVnSW5D
bGllbnQuaCIKICNpbmNsdWRlICJXZWJQb3B1cE1lbnUuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IDFiNzI3MThjZGZjN2JiM2E1ZGQ0N2JmNjg1
ODI1OTBkZjA2NGZmNmUuLmQ2NzJmODQ2MTk3NjNkMDkzN2ZhMzNmOGRhODQ2Nzc5OWJkNWI2M2Qg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtMTU4
LDYgKzE1OCw3IEBAIGNsYXNzIFdlYk1vdXNlRXZlbnQ7CiBjbGFzcyBXZWJOb3RpZmljYXRpb25D
bGllbnQ7CiBjbGFzcyBXZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lcjsKIGNsYXNzIFdlYlBhZ2VH
cm91cFByb3h5OworY2xhc3MgV2ViUGFnZU92ZXJsYXk7CiBjbGFzcyBXZWJQb3B1cE1lbnU7CiBj
bGFzcyBXZWJVbmRvU3RlcDsKIGNsYXNzIFdlYlVzZXJDb250ZW50Q29udHJvbGxlcjsKQEAgLTEw
NTgsNiArMTA1OSwxMCBAQCBwcml2YXRlOgogICAgIHZvaWQgcGVyZm9ybUFjdGlvbk1lbnVIaXRU
ZXN0QXRMb2NhdGlvbihXZWJDb3JlOjpGbG9hdFBvaW50KTsKICAgICBQYXNzUmVmUHRyPFdlYkNv
cmU6OlJhbmdlPiBsb29rdXBUZXh0QXRMb2NhdGlvbihXZWJDb3JlOjpGbG9hdFBvaW50KTsKICAg
ICB2b2lkIHNlbGVjdExhc3RBY3Rpb25NZW51UmFuZ2UoKTsKKworICAgIHZvaWQgZGF0YURldGVj
dG9yc1ByZXNlbnRlZFVJKCk7CisgICAgdm9pZCBkYXRhRGV0ZWN0b3JzQ2hhbmdlZFVJKCk7Cisg
ICAgdm9pZCBkYXRhRGV0ZWN0b3JzSGlkVUkoKTsKICNlbmRpZgogCiAgICAgdWludDY0X3QgbV9w
YWdlSUQ7CkBAIC0xMjg5LDYgKzEyOTQsNyBAQCBwcml2YXRlOgogCiAjaWYgUExBVEZPUk0oTUFD
KQogICAgIFJlZlB0cjxXZWJDb3JlOjpSYW5nZT4gbV9sYXN0QWN0aW9uTWVudVJhbmdlRm9yU2Vs
ZWN0aW9uOworICAgIFJlZlB0cjxXZWJQYWdlT3ZlcmxheT4gbV9sYXN0QWN0aW9uTWVudUhpdFBh
Z2VPdmVybGF5OwogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCmluZGV4IDUwOGM0ZGUzNTRhNWViZjRl
Y2NlOWZmMDM2ZTI1MmJiNjczZDA4YWYuLjkwYjU3MzYxMDk3MjE2MDEyNjY2ODAzYzNjOTJmNzJk
YWQyYjU3ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC00MDAsNSArNDAwLDggQEAgbWVzc2FnZXMgLT4gV2Vi
UGFnZSBMZWdhY3lSZWNlaXZlciB7CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIFBlcmZvcm1BY3Rp
b25NZW51SGl0VGVzdEF0TG9jYXRpb24oV2ViQ29yZTo6RmxvYXRQb2ludCBsb2NhdGlvbikKICAg
ICBTZWxlY3RMYXN0QWN0aW9uTWVudVJhbmdlKCkKKyAgICBEYXRhRGV0ZWN0b3JzUHJlc2VudGVk
VUkoKQorICAgIERhdGFEZXRlY3RvcnNDaGFuZ2VkVUkoKQorICAgIERhdGFEZXRlY3RvcnNIaWRV
SSgpCiAjZW5kaWYKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlT3ZlcmxheS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZU92ZXJsYXkuY3BwCmluZGV4IGU2ODA1MjhlNTM0MTg0MGFiMjdjMzNmNTNiYWJk
MGI1NzU5MzYyODEuLjIyNTcxZjJkNmMxNmRiOTI4Njk2YWQ0M2Q1OTE5MzcyN2JkM2E5ZjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlT3Zlcmxh
eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2VPdmVy
bGF5LmNwcApAQCAtMTE4LDExICsxMTgsMjggQEAgdm9pZCBXZWJQYWdlT3ZlcmxheTo6ZGlkU2Ny
b2xsRnJhbWUoUGFnZU92ZXJsYXkmLCBGcmFtZSYgZnJhbWUpCiAgICAgbV9jbGllbnQuZGlkU2Ny
b2xsRnJhbWUoKnRoaXMsIFdlYkZyYW1lOjpmcm9tQ29yZUZyYW1lKGZyYW1lKSk7CiB9CiAKLWJv
b2wgV2ViUGFnZU92ZXJsYXk6OnByZXBhcmVGb3JBY3Rpb25NZW51KFJlZlB0cjxBUEk6Ok9iamVj
dD4mIHVzZXJEYXRhKQorI2lmIFBMQVRGT1JNKE1BQykKK0REQWN0aW9uQ29udGV4dCAqV2ViUGFn
ZU92ZXJsYXk6OmFjdGlvbkNvbnRleHRGb3JSZXN1bHRBdFBvaW50KEZsb2F0UG9pbnQgbG9jYXRp
b24sIFJlZlB0cjxXZWJDb3JlOjpSYW5nZT4mIHJhbmdlSGFuZGxlKQogewotICAgIHJldHVybiBt
X2NsaWVudC5wcmVwYXJlRm9yQWN0aW9uTWVudSgqdGhpcywgdXNlckRhdGEpOworICAgIHJldHVy
biBtX2NsaWVudC5hY3Rpb25Db250ZXh0Rm9yUmVzdWx0QXRQb2ludCgqdGhpcywgbG9jYXRpb24s
IHJhbmdlSGFuZGxlKTsKIH0KIAordm9pZCBXZWJQYWdlT3ZlcmxheTo6ZGF0YURldGVjdG9yc1By
ZXNlbnRlZFVJKCkKK3sKKyAgICBtX2NsaWVudC5kYXRhRGV0ZWN0b3JzUHJlc2VudGVkVUkoKnRo
aXMpOworfQorCit2b2lkIFdlYlBhZ2VPdmVybGF5OjpkYXRhRGV0ZWN0b3JzQ2hhbmdlZFVJKCkK
K3sKKyAgICBtX2NsaWVudC5kYXRhRGV0ZWN0b3JzQ2hhbmdlZFVJKCp0aGlzKTsKK30KKwordm9p
ZCBXZWJQYWdlT3ZlcmxheTo6ZGF0YURldGVjdG9yc0hpZFVJKCkKK3sKKyAgICBtX2NsaWVudC5k
YXRhRGV0ZWN0b3JzSGlkVUkoKnRoaXMpOworfQorI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKKwog
Ym9vbCBXZWJQYWdlT3ZlcmxheTo6Y29weUFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVTdHJpbmdWYWx1
ZUZvclBvaW50KFBhZ2VPdmVybGF5JiwgU3RyaW5nIGF0dHJpYnV0ZSwgRmxvYXRQb2ludCBwYXJh
bWV0ZXIsIFN0cmluZyYgdmFsdWUpCiB7CiAgICAgcmV0dXJuIG1fY2xpZW50LmNvcHlBY2Nlc3Np
YmlsaXR5QXR0cmlidXRlU3RyaW5nVmFsdWVGb3JQb2ludCgqdGhpcywgYXR0cmlidXRlLCBwYXJh
bWV0ZXIsIHZhbHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlT3ZlcmxheS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2VPdmVybGF5LmgKaW5kZXggZDg0MGMyYWZiNGNjNGE3N2UzMWIzNjBiZTlkNTRlZDU4
ZGE5NGZmNy4uMmRjMGE4OWU3MTljYWQ0MGExYWRkNGJkNDkxMjQyMmJiOGI3NjhlYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2VPdmVybGF5LmgK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2VPdmVybGF5LmgK
QEAgLTMwLDcgKzMwLDExIEBACiAjaW5jbHVkZSA8V2ViQ29yZS9GbG9hdFBvaW50Lmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9JbnRSZWN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QYWdlT3ZlcmxheS5o
PgorI2luY2x1ZGUgPFdlYkNvcmUvUmFuZ2UuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5o
PgorI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KKworT0JKQ19DTEFTUyBEREFjdGlvbkNvbnRl
eHQ7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBAIC01MCw3ICs1NCwxMyBAQCBwdWJsaWM6CiAg
ICAgICAgIHZpcnR1YWwgdm9pZCBkcmF3UmVjdChXZWJQYWdlT3ZlcmxheSYsIFdlYkNvcmU6Okdy
YXBoaWNzQ29udGV4dCYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGRpcnR5UmVjdCkgPSAwOwog
ICAgICAgICB2aXJ0dWFsIGJvb2wgbW91c2VFdmVudChXZWJQYWdlT3ZlcmxheSYsIGNvbnN0IFdl
YkNvcmU6OlBsYXRmb3JtTW91c2VFdmVudCYpID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIGRp
ZFNjcm9sbEZyYW1lKFdlYlBhZ2VPdmVybGF5JiwgV2ViRnJhbWUqKSB7IH0KLSAgICAgICAgdmly
dHVhbCBib29sIHByZXBhcmVGb3JBY3Rpb25NZW51KFdlYlBhZ2VPdmVybGF5JiwgUmVmUHRyPEFQ
STo6T2JqZWN0PiYpIHsgcmV0dXJuIGZhbHNlOyB9CisKKyNpZiBQTEFURk9STShNQUMpCisgICAg
ICAgIHZpcnR1YWwgRERBY3Rpb25Db250ZXh0ICphY3Rpb25Db250ZXh0Rm9yUmVzdWx0QXRQb2lu
dChXZWJQYWdlT3ZlcmxheSYsIFdlYkNvcmU6OkZsb2F0UG9pbnQgbG9jYXRpb24sIFJlZlB0cjxX
ZWJDb3JlOjpSYW5nZT4mIHJhbmdlSGFuZGxlKSB7IHJldHVybiBudWxscHRyOyB9CisgICAgICAg
IHZpcnR1YWwgdm9pZCBkYXRhRGV0ZWN0b3JzUHJlc2VudGVkVUkoV2ViUGFnZU92ZXJsYXkmKSB7
IH0KKyAgICAgICAgdmlydHVhbCB2b2lkIGRhdGFEZXRlY3RvcnNDaGFuZ2VkVUkoV2ViUGFnZU92
ZXJsYXkmKSB7IH0KKyAgICAgICAgdmlydHVhbCB2b2lkIGRhdGFEZXRlY3RvcnNIaWRVSShXZWJQ
YWdlT3ZlcmxheSYpIHsgfQorI2VuZGlmCiAKICAgICAgICAgdmlydHVhbCBib29sIGNvcHlBY2Nl
c3NpYmlsaXR5QXR0cmlidXRlU3RyaW5nVmFsdWVGb3JQb2ludChXZWJQYWdlT3ZlcmxheSYsIFN0
cmluZyAvKiBhdHRyaWJ1dGUgKi8sIFdlYkNvcmU6OkZsb2F0UG9pbnQgLyogcGFyYW1ldGVyICov
LCBTdHJpbmcmIC8qIHZhbHVlICovKSB7IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFs
IGJvb2wgY29weUFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVCb29sVmFsdWVGb3JQb2ludChXZWJQYWdl
T3ZlcmxheSYsIFN0cmluZyAvKiBhdHRyaWJ1dGUgKi8sIFdlYkNvcmU6OkZsb2F0UG9pbnQgLyog
cGFyYW1ldGVyICovLCBib29sJiAvKiB2YWx1ZSAqLykgeyByZXR1cm4gZmFsc2U7IH0KQEAgLTY5
LDcgKzc5LDEyIEBAIHB1YmxpYzoKICAgICBXZWJDb3JlOjpQYWdlT3ZlcmxheSogY29yZU92ZXJs
YXkoKSBjb25zdCB7IHJldHVybiBtX292ZXJsYXkuZ2V0KCk7IH0KICAgICBDbGllbnQmIGNsaWVu
dCgpIGNvbnN0IHsgcmV0dXJuIG1fY2xpZW50OyB9CiAKLSAgICBib29sIHByZXBhcmVGb3JBY3Rp
b25NZW51KFJlZlB0cjxBUEk6Ok9iamVjdD4mIHVzZXJEYXRhKTsKKyNpZiBQTEFURk9STShNQUMp
CisgICAgRERBY3Rpb25Db250ZXh0ICphY3Rpb25Db250ZXh0Rm9yUmVzdWx0QXRQb2ludChXZWJD
b3JlOjpGbG9hdFBvaW50IGxvY2F0aW9uLCBSZWZQdHI8V2ViQ29yZTo6UmFuZ2U+JiByYW5nZSk7
CisgICAgdm9pZCBkYXRhRGV0ZWN0b3JzUHJlc2VudGVkVUkoKTsKKyAgICB2b2lkIGRhdGFEZXRl
Y3RvcnNDaGFuZ2VkVUkoKTsKKyAgICB2b2lkIGRhdGFEZXRlY3RvcnNIaWRVSSgpOworI2VuZGlm
CiAKIHByaXZhdGU6CiAgICAgV2ViUGFnZU92ZXJsYXkoQ2xpZW50JiwgV2ViQ29yZTo6UGFnZU92
ZXJsYXk6Ok92ZXJsYXlUeXBlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQppbmRleCBkZTViZWZlZDUyYzYxOTg5NGQ3ZDg4ZjMy
Yzg5ZjA2Nzk1MDQyMWEwLi5iOTEyOGI0YTVkOTMwN2YyMWNiMTVkY2Q0YjU1ZWNiNWUxYjkzMDdm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBh
Z2VNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQ
YWdlTWFjLm1tCkBAIC0xMDQ5LDYgKzEwNDksOCBAQCBzdGF0aWMgUGFzc1JlZlB0cjxUZXh0SW5k
aWNhdG9yPiB0ZXh0SW5kaWNhdG9yRm9yUmFuZ2UoUmFuZ2UqIHJhbmdlKQogCiB2b2lkIFdlYlBh
Z2U6OnBlcmZvcm1BY3Rpb25NZW51SGl0VGVzdEF0TG9jYXRpb24oV2ViQ29yZTo6RmxvYXRQb2lu
dCBsb2NhdGlvbkluVmlld0Nvb29yZGluYXRlcykKIHsKKyAgICBtX2xhc3RBY3Rpb25NZW51SGl0
UGFnZU92ZXJsYXkgPSBudWxscHRyOworCiAgICAgbGF5b3V0SWZOZWVkZWQoKTsKIAogICAgIE1h
aW5GcmFtZSYgbWFpbkZyYW1lID0gY29yZVBhZ2UoKS0+bWFpbkZyYW1lKCk7CkBAIC0xMDg4LDgg
KzEwOTAsMzcgQEAgdm9pZCBXZWJQYWdlOjpwZXJmb3JtQWN0aW9uTWVudUhpdFRlc3RBdExvY2F0
aW9uKFdlYkNvcmU6OkZsb2F0UG9pbnQgbG9jYXRpb25JblYKICAgICAgICAgICAgIGFjdGlvbk1l
bnVSZXN1bHQuaW1hZ2UtPmNyZWF0ZUdyYXBoaWNzQ29udGV4dCgpLT5kcmF3SW1hZ2UoaW1hZ2Us
IENvbG9yU3BhY2VEZXZpY2VSR0IsIEludFBvaW50KCkpOwogICAgIH0KIAorICAgIGJvb2wgcGFn
ZU92ZXJsYXlEaWRPdmVycmlkZURhdGFEZXRlY3RvcnMgPSBmYWxzZTsKKyAgICBmb3IgKGNvbnN0
IGF1dG8mIG92ZXJsYXkgOiBtYWluRnJhbWUucGFnZU92ZXJsYXlDb250cm9sbGVyKCkucGFnZU92
ZXJsYXlzKCkpIHsKKyAgICAgICAgV2ViUGFnZU92ZXJsYXkqIHdlYk92ZXJsYXkgPSBXZWJQYWdl
T3ZlcmxheTo6ZnJvbUNvcmVPdmVybGF5KCpvdmVybGF5KTsKKyAgICAgICAgaWYgKCF3ZWJPdmVy
bGF5KQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIFJlZlB0cjxSYW5nZT4gbWFpblJl
c3VsdFJhbmdlOworICAgICAgICBpZiAoRERBY3Rpb25Db250ZXh0ICphY3Rpb25Db250ZXh0ID0g
d2ViT3ZlcmxheS0+YWN0aW9uQ29udGV4dEZvclJlc3VsdEF0UG9pbnQobG9jYXRpb25JbkNvbnRl
bnRDb29yZGluYXRlcywgbWFpblJlc3VsdFJhbmdlKSkgeworICAgICAgICAgICAgaWYgKCFtYWlu
UmVzdWx0UmFuZ2UpCisgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgIHBh
Z2VPdmVybGF5RGlkT3ZlcnJpZGVEYXRhRGV0ZWN0b3JzID0gdHJ1ZTsKKyAgICAgICAgICAgIGFj
dGlvbk1lbnVSZXN1bHQuYWN0aW9uQ29udGV4dCA9IGFjdGlvbkNvbnRleHQ7CisKKyAgICAgICAg
ICAgIFZlY3RvcjxGbG9hdFF1YWQ+IHF1YWRzOworICAgICAgICAgICAgbWFpblJlc3VsdFJhbmdl
LT50ZXh0UXVhZHMocXVhZHMpOworICAgICAgICAgICAgRmxvYXRSZWN0IGRldGVjdGVkRGF0YUJv
dW5kaW5nQm94OworICAgICAgICAgICAgRnJhbWVWaWV3KiBmcmFtZVZpZXcgPSBtYWluUmVzdWx0
UmFuZ2UtPm93bmVyRG9jdW1lbnQoKS52aWV3KCk7CisgICAgICAgICAgICBmb3IgKGNvbnN0IGF1
dG8mIHF1YWQgOiBxdWFkcykKKyAgICAgICAgICAgICAgICBkZXRlY3RlZERhdGFCb3VuZGluZ0Jv
eC51bml0ZShmcmFtZVZpZXctPmNvbnRlbnRzVG9XaW5kb3cocXVhZC5lbmNsb3NpbmdCb3VuZGlu
Z0JveCgpKSk7CisKKyAgICAgICAgICAgIGFjdGlvbk1lbnVSZXN1bHQuZGV0ZWN0ZWREYXRhQm91
bmRpbmdCb3ggPSBkZXRlY3RlZERhdGFCb3VuZGluZ0JveDsKKyAgICAgICAgICAgIGFjdGlvbk1l
bnVSZXN1bHQuZGV0ZWN0ZWREYXRhVGV4dEluZGljYXRvciA9IHRleHRJbmRpY2F0b3JGb3JSYW5n
ZShtYWluUmVzdWx0UmFuZ2UuZ2V0KCkpOworICAgICAgICAgICAgbV9sYXN0QWN0aW9uTWVudVJh
bmdlRm9yU2VsZWN0aW9uID0gbWFpblJlc3VsdFJhbmdlOworICAgICAgICAgICAgbV9sYXN0QWN0
aW9uTWVudUhpdFBhZ2VPdmVybGF5ID0gd2ViT3ZlcmxheTsKKworICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIH0KKyAgICB9CisKICAgICAvLyBGSVhNRTogQXZvaWQgc2Nhbm5pbmcgaWYgd2Ug
d2lsbCBqdXN0IHRocm93IGF3YXkgdGhlIHJlc3VsdCAoZS5nLiB3ZSdyZSBvdmVyIGEgbGluayku
Ci0gICAgaWYgKGhpdFRlc3RSZXN1bHQuaW5uZXJOb2RlKCkgJiYgaGl0VGVzdFJlc3VsdC5pbm5l
ck5vZGUoKS0+aXNUZXh0Tm9kZSgpKSB7CisgICAgaWYgKCFwYWdlT3ZlcmxheURpZE92ZXJyaWRl
RGF0YURldGVjdG9ycyAmJiBoaXRUZXN0UmVzdWx0LmlubmVyTm9kZSgpICYmIGhpdFRlc3RSZXN1
bHQuaW5uZXJOb2RlKCktPmlzVGV4dE5vZGUoKSkgewogICAgICAgICBGbG9hdFJlY3QgZGV0ZWN0
ZWREYXRhQm91bmRpbmdCb3g7CiAgICAgICAgIFJlZlB0cjxSYW5nZT4gZGV0ZWN0ZWREYXRhUmFu
Z2U7CiAgICAgICAgIGFjdGlvbk1lbnVSZXN1bHQuYWN0aW9uQ29udGV4dCA9IHNjYW5Gb3JEYXRh
RGV0ZWN0ZWRJdGVtcyhoaXRUZXN0UmVzdWx0LCBkZXRlY3RlZERhdGFCb3VuZGluZ0JveCwgZGV0
ZWN0ZWREYXRhUmFuZ2UpOwpAQCAtMTEwMSwyMiArMTEzMiw4IEBAIHZvaWQgV2ViUGFnZTo6cGVy
Zm9ybUFjdGlvbk1lbnVIaXRUZXN0QXRMb2NhdGlvbihXZWJDb3JlOjpGbG9hdFBvaW50IGxvY2F0
aW9uSW5WCiAgICAgfQogCiAgICAgUmVmUHRyPEFQSTo6T2JqZWN0PiB1c2VyRGF0YTsKLQotICAg
IGJvb2wgaGFuZGxlZCA9IGZhbHNlOwotICAgIGZvciAoY29uc3QgYXV0byYgb3ZlcmxheSA6IG1h
aW5GcmFtZS5wYWdlT3ZlcmxheUNvbnRyb2xsZXIoKS5wYWdlT3ZlcmxheXMoKSkgewotICAgICAg
ICBXZWJQYWdlT3ZlcmxheSogd2ViT3ZlcmxheSA9IFdlYlBhZ2VPdmVybGF5Ojpmcm9tQ29yZU92
ZXJsYXkoKm92ZXJsYXkpOwotICAgICAgICBpZiAoIXdlYk92ZXJsYXkpCi0gICAgICAgICAgICBj
b250aW51ZTsKLSAgICAgICAgaWYgKHdlYk92ZXJsYXktPnByZXBhcmVGb3JBY3Rpb25NZW51KHVz
ZXJEYXRhKSkgewotICAgICAgICAgICAgaGFuZGxlZCA9IHRydWU7Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmICghaGFuZGxlZCkgewotICAgICAgICBSZWZQ
dHI8SW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0PiBpbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1
bHQgPSBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQ6OmNyZWF0ZShoaXRUZXN0UmVzdWx0KTsK
LSAgICAgICAgaW5qZWN0ZWRCdW5kbGVDb250ZXh0TWVudUNsaWVudCgpLnByZXBhcmVGb3JBY3Rp
b25NZW51KHRoaXMsIGluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdC5nZXQoKSwgdXNlckRhdGEp
OwotICAgIH0KKyAgICBSZWZQdHI8SW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0PiBpbmplY3Rl
ZEJ1bmRsZUhpdFRlc3RSZXN1bHQgPSBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQ6OmNyZWF0
ZShoaXRUZXN0UmVzdWx0KTsKKyAgICBpbmplY3RlZEJ1bmRsZUNvbnRleHRNZW51Q2xpZW50KCku
cHJlcGFyZUZvckFjdGlvbk1lbnUodGhpcywgaW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0Lmdl
dCgpLCB1c2VyRGF0YSk7CiAKICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZFBl
cmZvcm1BY3Rpb25NZW51SGl0VGVzdChhY3Rpb25NZW51UmVzdWx0LCBJbmplY3RlZEJ1bmRsZVVz
ZXJNZXNzYWdlRW5jb2Rlcih1c2VyRGF0YS5nZXQoKSkpKTsKIH0KQEAgLTExMzksNiArMTE1Niwy
NSBAQCB2b2lkIFdlYlBhZ2U6OnNlbGVjdExhc3RBY3Rpb25NZW51UmFuZ2UoKQogICAgICAgICBj
b3JlUGFnZSgpLT5tYWluRnJhbWUoKS5zZWxlY3Rpb24oKS5zZXRTZWxlY3RlZFJhbmdlKG1fbGFz
dEFjdGlvbk1lbnVSYW5nZUZvclNlbGVjdGlvbi5nZXQoKSwgRE9XTlNUUkVBTSwgdHJ1ZSk7CiB9
CiAKK3ZvaWQgV2ViUGFnZTo6ZGF0YURldGVjdG9yc1ByZXNlbnRlZFVJKCkKK3sKKyAgICBpZiAo
bV9sYXN0QWN0aW9uTWVudUhpdFBhZ2VPdmVybGF5KQorICAgICAgICBtX2xhc3RBY3Rpb25NZW51
SGl0UGFnZU92ZXJsYXktPmRhdGFEZXRlY3RvcnNQcmVzZW50ZWRVSSgpOworfQorCit2b2lkIFdl
YlBhZ2U6OmRhdGFEZXRlY3RvcnNDaGFuZ2VkVUkoKQoreworICAgIGlmIChtX2xhc3RBY3Rpb25N
ZW51SGl0UGFnZU92ZXJsYXkpCisgICAgICAgIG1fbGFzdEFjdGlvbk1lbnVIaXRQYWdlT3Zlcmxh
eS0+ZGF0YURldGVjdG9yc0NoYW5nZWRVSSgpOworfQorCit2b2lkIFdlYlBhZ2U6OmRhdGFEZXRl
Y3RvcnNIaWRVSSgpCit7CisgICAgaWYgKG1fbGFzdEFjdGlvbk1lbnVIaXRQYWdlT3ZlcmxheSkK
KyAgICAgICAgbV9sYXN0QWN0aW9uTWVudUhpdFBhZ2VPdmVybGF5LT5kYXRhRGV0ZWN0b3JzSGlk
VUkoKTsKKyAgICBtX2xhc3RBY3Rpb25NZW51SGl0UGFnZU92ZXJsYXkgPSBuaWw7Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gUExBVEZPUk0oTUFDKQo=
</data>
<flag name="review"
          id="266335"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>