<?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>146872</bug_id>
          
          <creation_ts>2015-07-10 22:14:26 -0700</creation_ts>
          <short_desc>[iOS WK2] Scrolling issues on horizontally scrollable RTL pages</short_desc>
          <delta_ts>2015-07-11 15:11:39 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>sabouhallawa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1108887</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-07-10 22:14:26 -0700</bug_when>
    <thetext>[iOS WK2] Scrolling issues on horizontally scrollable RTL pages</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1108888</commentid>
    <comment_count>1</comment_count>
      <attachid>256643</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-07-10 22:24:57 -0700</bug_when>
    <thetext>Created attachment 256643
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1108901</commentid>
    <comment_count>2</comment_count>
      <attachid>256648</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-07-10 23:41:45 -0700</bug_when>
    <thetext>Created attachment 256648
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1108935</commentid>
    <comment_count>3</comment_count>
      <attachid>256657</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-07-11 10:51:12 -0700</bug_when>
    <thetext>Created attachment 256657
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1108936</commentid>
    <comment_count>4</comment_count>
      <attachid>256657</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2015-07-11 10:58:11 -0700</bug_when>
    <thetext>Comment on attachment 256657
Patch

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

&gt; Source/WebKit2/Shared/mac/RemoteLayerTreeTransaction.mm:1250
&gt; +    dumpProperty(ts, &quot;transactionID&quot;, m_transactionID);

If we ever use this for tests, will putting the transactionID in the dump make it inconsistent. Or will we use a different dumping mechanism for testing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1108940</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-07-11 11:21:43 -0700</bug_when>
    <thetext>https://trac.webkit.org/r186712

rdar://problem/7569416</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1108981</commentid>
    <comment_count>6</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-07-11 15:11:39 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 256657 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=256657&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/Shared/mac/RemoteLayerTreeTransaction.mm:1250
&gt; &gt; +    dumpProperty(ts, &quot;transactionID&quot;, m_transactionID);
&gt; 
&gt; If we ever use this for tests, will putting the transactionID in the dump
&gt; make it inconsistent. Or will we use a different dumping mechanism for
&gt; testing.

I can&apos;t imagine that being any worse than the layer IDs, which are already in there.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256643</attachid>
            <date>2015-07-10 22:24:57 -0700</date>
            <delta_ts>2015-07-10 23:41:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146872-20150710222354.patch</filename>
            <type>text/plain</type>
            <size>23195</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg2NTQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjQ4ZjRjNWQ2MGNkNjA2
MjY3ZTI1ZDE2OWYyMTgxOWRhNWYwM2U3NS4uOTZiZDk0YjU2MjNiZDIzZTA3MWU4YzQ5MTIxMGE3
MTA2ZmU1MzRhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE1LTA3LTEwICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1MgV0syXSBT
Y3JvbGxpbmcgaXNzdWVzIG9uIGhvcml6b250YWxseSBzY3JvbGxhYmxlIFJUTCBwYWdlcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ2ODcyCisgICAg
ICAgIHJkYXI6Ly9wcm9ibGVtLzc1Njk0MTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBIb3Jpem9udGFsbHkgc2Nyb2xsYWJsZSBSVEwgcGFnZXMgaW4g
V2ViS2l0MiBoYWQgYSB2YXJpZXR5IG9mIGlzc3VlczogdGhleSBoYWQKKyAgICAgICAgYSBnYXAg
ZG93biB0aGUgcmlnaHQgZWRnZSwgYW5kIHVucmVhY2hhYmxlIGNvbnRlbnQgb24gdGhlIGxlZnQg
c2lkZSwgZm9jdXNzaW5nCisgICAgICAgIGZvcm0gZmllbGRzIHNjcm9sbGVkIHRvIHRoZSB3cm9u
ZyBsb2NhdGlvbiwgYW5kIHByb2dyYW1tYXRpYyBzY3JvbGxzIHNjcm9sbGVkCisgICAgICAgIHRv
IHRoZSB3cm9uZyBwbGFjZS4KKyAgICAgICAgCisgICAgICAgIEZpeCBieSBwbHVtYmluZyB0aGUg
V2ViQ29yZSBub3Rpb24gb2Ygc2Nyb2xsT3JpZ2luIHRocm91Z2ggdG8gdGhlIFVJIHByb2Nlc3Ms
CisgICAgICAgIGFuZCB1c2luZyBpdCBpbiB2YXJpb3VzIHBsYWNlcy4gVGhlcmUgYXJlIHRocmVl
IG1haW4gYXNwZWN0cyB0byB0aGUgcGF0Y2g6CisgICAgICAgIAorICAgICAgICAxLiBzY3JvbGwg
b3JpZ2luIGlzIGluY2x1ZGVkIGluIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLCBhbmQgcGx1
bWJlZCB0aHJvdWdoCisgICAgICAgICAgIHRvIC1bV0tXZWJWaWV3IF9zY3JvbGxUb0NvbnRlbnRP
ZmZzZXQ6XSBmb3IgY29ycmVjdCBwcm9ncmFtbWF0aWMgc2Nyb2xsaW5nLAorICAgICAgICAgICBp
bmNsdWRpbmcgem9vbWluZyB0byBmb2N1c3NlZCBmb3JtIGVsZW1lbnRzLgorICAgICAgICAyLiBX
ZWJQYWdlUHJveHk6OmNvbXB1dGVDdXN0b21GaXhlZFBvc2l0aW9uUmVjdCgpIHVzZXMgdGhlIGFj
dHVhbCBkb2N1bWVudFJlY3QoKQorICAgICAgICAgICByYXRoZXIgdGhhbiBqdXN0IGNvbmp1cmlu
ZyB1cCBhIHJlY3Qgd2l0aCBhIHplcm8gb3JpZ2luLCB3aGljaCBtYWtlcyBwb3NpdGlvbjpmaXhl
ZAorICAgICAgICAgICB3b3JrIGNvcnJlY3RseS4KKyAgICAgICAgMy4gX2ludGVyYWN0aW9uVmll
d3NDb250YWluZXJWaWV3ICh3aGljaCBob3N0cyB0YXAgaGlnaGxpZ2h0cykgaXMgcG9zaXRpb25l
ZCB0byAKKyAgICAgICAgICAgY29pbmNpZGUgd2l0aCB0aGUgb3JpZ2luIG9mIHRoZSBkb2N1bWVu
dFJlY3QgKGkuZS4gYXQgdGhlIHNjcm9sbCBvcmlnaW4sIHdoaWNoCisgICAgICAgICAgIG1heSBu
b3QgYmUgdG9wLWxlZnQpLiBUaGlzIGFsbG93cyB0YXAgaGlnaGxpZ2h0cyB0byBzaG93IGluIHRo
ZSBjb3JyZWN0IGxvY2F0aW9uLgorICAgICAgICA0LiBTY3JvbGxWaWV3Ojp1bm9ic2N1cmVkQ29u
dGVudFJlY3QoKSBpcyBmaXhlZCB0byB0YWtlIHNjcm9sbCBvcmlnaW4gaW50byBhY2NvdW50Owor
ICAgICAgICAgICBpZiB0aGUgcmV0dXJuZWQgcmVjdCBpcyB3cm9uZywgUmVuZGVyTGF5ZXI6Omhp
dFRlc3QoKSBpbmNvcnJlY3RseSBjbGlwcyB0aGUgaGl0CisgICAgICAgICAgIHRlc3RpbmcgYXJl
YS4KKworICAgICAgICAqIHBsYXRmb3JtL2lvcy9TY3JvbGxWaWV3SU9TLm1tOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsVmlldzo6dW5vYnNjdXJlZENvbnRlbnRSZWN0KToKKwogMjAxNS0wNy0w
OCAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgQXVkaW8gZWxlbWVu
dHMgd2l0aCBjb250cm9scyBmb3JjZSB0aGVpciBlbmNsb3Npbmcgc3RhY2tpbmcgY29udGV4dCB0
byBjb21wb3NpdGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBlY2UxYjQwOTE5NDYyMjBkZTQwNDdkZGVkMTIzOTdj
YzgxOTkwOGJhLi5kMTczYzRjY2ZjODFmNjY3ZDVjYjU5ZDBiYjgyMWM3MDcwMWY3NzczIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNjMgQEAKKzIwMTUtMDctMTAgIFNpbW9uIEZyYXNlciAgPHNpbW9u
LmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPUyBXSzJdIFNjcm9sbGluZyBpc3N1ZXMg
b24gaG9yaXpvbnRhbGx5IHNjcm9sbGFibGUgUlRMIHBhZ2VzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDY4NzIKKyAgICAgICAgcmRhcjovL3Byb2Js
ZW0vNzU2OTQxNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAg
ICAKKyAgICAgICAgSG9yaXpvbnRhbGx5IHNjcm9sbGFibGUgUlRMIHBhZ2VzIGluIFdlYktpdDIg
aGFkIGEgdmFyaWV0eSBvZiBpc3N1ZXM6IHRoZXkgaGFkCisgICAgICAgIGEgZ2FwIGRvd24gdGhl
IHJpZ2h0IGVkZ2UsIGFuZCB1bnJlYWNoYWJsZSBjb250ZW50IG9uIHRoZSBsZWZ0IHNpZGUsIGZv
Y3Vzc2luZworICAgICAgICBmb3JtIGZpZWxkcyBzY3JvbGxlZCB0byB0aGUgd3JvbmcgbG9jYXRp
b24sIGFuZCBwcm9ncmFtbWF0aWMgc2Nyb2xscyBzY3JvbGxlZAorICAgICAgICB0byB0aGUgd3Jv
bmcgcGxhY2UuCisgICAgICAgIAorICAgICAgICBGaXggYnkgcGx1bWJpbmcgdGhlIFdlYkNvcmUg
bm90aW9uIG9mIHNjcm9sbE9yaWdpbiB0aHJvdWdoIHRvIHRoZSBVSSBwcm9jZXNzLAorICAgICAg
ICBhbmQgdXNpbmcgaXQgaW4gdmFyaW91cyBwbGFjZXMuIFRoZXJlIGFyZSB0aHJlZSBtYWluIGFz
cGVjdHMgdG8gdGhlIHBhdGNoOgorICAgICAgICAKKyAgICAgICAgMS4gc2Nyb2xsIG9yaWdpbiBp
cyBpbmNsdWRlZCBpbiBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbiwgYW5kIHBsdW1iZWQgdGhy
b3VnaAorICAgICAgICAgICB0byAtW1dLV2ViVmlldyBfc2Nyb2xsVG9Db250ZW50T2Zmc2V0Ol0g
Zm9yIGNvcnJlY3QgcHJvZ3JhbW1hdGljIHNjcm9sbGluZywKKyAgICAgICAgICAgaW5jbHVkaW5n
IHpvb21pbmcgdG8gZm9jdXNzZWQgZm9ybSBlbGVtZW50cy4KKyAgICAgICAgMi4gV2ViUGFnZVBy
b3h5Ojpjb21wdXRlQ3VzdG9tRml4ZWRQb3NpdGlvblJlY3QoKSB1c2VzIHRoZSBhY3R1YWwgZG9j
dW1lbnRSZWN0KCkKKyAgICAgICAgICAgcmF0aGVyIHRoYW4ganVzdCBjb25qdXJpbmcgdXAgYSBy
ZWN0IHdpdGggYSB6ZXJvIG9yaWdpbiwgd2hpY2ggbWFrZXMgcG9zaXRpb246Zml4ZWQKKyAgICAg
ICAgICAgd29yayBjb3JyZWN0bHkuCisgICAgICAgIDMuIF9pbnRlcmFjdGlvblZpZXdzQ29udGFp
bmVyVmlldyAod2hpY2ggaG9zdHMgdGFwIGhpZ2hsaWdodHMpIGlzIHBvc2l0aW9uZWQgdG8gCisg
ICAgICAgICAgIGNvaW5jaWRlIHdpdGggdGhlIG9yaWdpbiBvZiB0aGUgZG9jdW1lbnRSZWN0IChp
LmUuIGF0IHRoZSBzY3JvbGwgb3JpZ2luLCB3aGljaAorICAgICAgICAgICBtYXkgbm90IGJlIHRv
cC1sZWZ0KS4gVGhpcyBhbGxvd3MgdGFwIGhpZ2hsaWdodHMgdG8gc2hvdyBpbiB0aGUgY29ycmVj
dCBsb2NhdGlvbi4KKyAgICAgICAgNC4gU2Nyb2xsVmlldzo6dW5vYnNjdXJlZENvbnRlbnRSZWN0
KCkgaXMgZml4ZWQgdG8gdGFrZSBzY3JvbGwgb3JpZ2luIGludG8gYWNjb3VudDsKKyAgICAgICAg
ICAgaWYgdGhlIHJldHVybmVkIHJlY3QgaXMgd3JvbmcsIFJlbmRlckxheWVyOjpoaXRUZXN0KCkg
aW5jb3JyZWN0bHkgY2xpcHMgdGhlIGhpdAorICAgICAgICAgICB0ZXN0aW5nIGFyZWEuCisKKyAg
ICAgICAgKiBTaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLmg6CisgICAgICAg
IChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpzY3JvbGxPcmlnaW4pOgorICAg
ICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6c2V0U2Nyb2xsT3JpZ2lu
KToKKyAgICAgICAgKiBTaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLm1tOgor
ICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6ZW5jb2RlKToKKyAg
ICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246OmRlY29kZSk6CisgICAg
ICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpkZXNjcmlwdGlvbik6IER1
bXAgYSBiaXQgbW9yZSBkYXRhLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgX3Njcm9sbFRvQ29udGVudE9mZnNldDpzY3Jv
bGxPcmlnaW46XSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfc2Nyb2xsVG9Db250ZW50T2Zmc2V0
Ol0pOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50
ZXJuYWwuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6
OnJlcXVlc3RTY3JvbGwpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmg6CisgICAgICAgICogVUlQ
cm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNs
aWVudEltcGw6OnJlcXVlc3RTY3JvbGwpOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1w
bDo6ZG9jdW1lbnRSZWN0KToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OmNvbnRl
bnRzU2l6ZSk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3
Lm1tOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9kaWRDb21taXRMYXllclRyZWU6XSk6Cisg
ICAgICAgICogVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW06CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2VQcm94eTo6Y29tcHV0ZUN1c3RvbUZpeGVkUG9zaXRpb25SZWN0KToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tOgorICAgICAgICAoV2ViS2l0OjpQ
YWdlQ2xpZW50SW1wbDo6cmVxdWVzdFNjcm9sbCk6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9S
ZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1v
dGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Ojpjb21taXRMYXllclRyZWUpOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZTo6d2lsbENvbW1pdExheWVyVHJlZSk6CisKIDIwMTUtMDctMDggIE1hdHQgUmFqY2EgIDxtcmFq
Y2FAYXBwbGUuY29tPgogCiAgICAgICAgIE1lZGlhIFNlc3Npb246IGluZGljYXRlIHRvIGNsaWVu
dHMgd2hldGhlciBhIG1lZGlhIHNlc3Npb24gaGFzIGFjdGl2ZSBtZWRpYSBlbGVtZW50cwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Njcm9sbFZpZXdJT1MubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsVmlld0lPUy5tbQppbmRleCBkNjdmNTlk
NTdiYWExOGM5ZDMzYWExZTUxYmVkYzZkNzdlYWI0YTc5Li44ZTRlYTlmZDExNGJmODUwZDg1OWUx
OGY3YzRmOGIwNmUyYzRlMzQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
b3MvU2Nyb2xsVmlld0lPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Ny
b2xsVmlld0lPUy5tbQpAQCAtMTA4LDcgKzEwOCw3IEBAIEludFJlY3QgU2Nyb2xsVmlldzo6dW5v
YnNjdXJlZENvbnRlbnRSZWN0KFZpc2libGVDb250ZW50UmVjdEluY2x1ZGVzU2Nyb2xsYmFycykK
ICAgICB9CiAKICAgICBpZiAoIW1fdW5vYnNjdXJlZENvbnRlbnRTaXplLmlzRW1wdHkoKSkKLSAg
ICAgICAgcmV0dXJuIEludFJlY3QoSW50UG9pbnQobV9zY3JvbGxPZmZzZXQpLCByb3VuZGVkSW50
U2l6ZShtX3Vub2JzY3VyZWRDb250ZW50U2l6ZSkpOworICAgICAgICByZXR1cm4gSW50UmVjdChz
Y3JvbGxPcmlnaW4oKSArIG1fc2Nyb2xsT2Zmc2V0LCByb3VuZGVkSW50U2l6ZShtX3Vub2JzY3Vy
ZWRDb250ZW50U2l6ZSkpOwogCiAgICAgcmV0dXJuIHVub2JzY3VyZWRDb250ZW50UmVjdEludGVy
bmFsKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxh
eWVyVHJlZVRyYW5zYWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxh
eWVyVHJlZVRyYW5zYWN0aW9uLmgKaW5kZXggYWI4NjMxNTZkOWI1Y2YwZDNhMzY0N2Y4MzZlNTU2
YzUxMDUxZmQxMi4uZWRiNGQ4NzdhMTI5ODM5OTg1MTkwZjMzMjc5ODMxMzVjODFjMjZiMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllclRyZWVUcmFuc2Fj
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlVHJh
bnNhY3Rpb24uaApAQCAtMTk1LDYgKzE5NSw5IEBAIHB1YmxpYzoKIAogICAgIFdlYkNvcmU6Oklu
dFNpemUgY29udGVudHNTaXplKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50c1NpemU7IH0KICAg
ICB2b2lkIHNldENvbnRlbnRzU2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBzaXplKSB7IG1f
Y29udGVudHNTaXplID0gc2l6ZTsgfTsKKworICAgIFdlYkNvcmU6OkludFBvaW50IHNjcm9sbE9y
aWdpbigpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsT3JpZ2luOyB9CisgICAgdm9pZCBzZXRTY3Jv
bGxPcmlnaW4oY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIG9yaWdpbikgeyBtX3Njcm9sbE9yaWdp
biA9IG9yaWdpbjsgfTsKICAgICAKICAgICBXZWJDb3JlOjpDb2xvciBwYWdlRXh0ZW5kZWRCYWNr
Z3JvdW5kQ29sb3IoKSBjb25zdCB7IHJldHVybiBtX3BhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xv
cjsgfQogICAgIHZvaWQgc2V0UGFnZUV4dGVuZGVkQmFja2dyb3VuZENvbG9yKFdlYkNvcmU6OkNv
bG9yIGNvbG9yKSB7IG1fcGFnZUV4dGVuZGVkQmFja2dyb3VuZENvbG9yID0gY29sb3I7IH0KQEAg
LTI0Miw2ICsyNDUsNyBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxUcmFuc2FjdGlvbkNhbGxiYWNr
SUQ+IG1fY2FsbGJhY2tJRHM7CiAKICAgICBXZWJDb3JlOjpJbnRTaXplIG1fY29udGVudHNTaXpl
OworICAgIFdlYkNvcmU6OkludFBvaW50IG1fc2Nyb2xsT3JpZ2luOwogI2lmIFBMQVRGT1JNKE1B
QykKICAgICBXZWJDb3JlOjpJbnRQb2ludCBtX3Njcm9sbFBvc2l0aW9uOwogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0
aW9uLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllclRyZWVUcmFuc2Fj
dGlvbi5tbQppbmRleCAyNzYwNzY4MDY5ZTFjNWVlODExMWVmYjQ4YjY5ZGMyMTcxNzFmYTRkLi5m
NjhhY2ExZDhmYTIzMDMzMTRmMjM4MzQ3NDg2MWJlZmU2OWNhYzZmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24ubW0K
QEAgLTUxNiw2ICs1MTYsNyBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjplbmNv
ZGUoSVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgZW5jb2RlciA8PCBt
X2xheWVySURzV2l0aE5ld2x5VW5yZWFjaGFibGVCYWNraW5nU3RvcmU7CiAKICAgICBlbmNvZGVy
IDw8IG1fY29udGVudHNTaXplOworICAgIGVuY29kZXIgPDwgbV9zY3JvbGxPcmlnaW47CiAjaWYg
UExBVEZPUk0oTUFDKQogICAgIGVuY29kZXIgPDwgbV9zY3JvbGxQb3NpdGlvbjsKICNlbmRpZgpA
QCAtNTgxLDYgKzU4Miw5IEBAIGJvb2wgUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246OmRlY29k
ZShJUEM6OkFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgUmVtb3RlTGF5CiAgICAgaWYgKCFkZWNv
ZGVyLmRlY29kZShyZXN1bHQubV9jb250ZW50c1NpemUpKQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5tX3Njcm9sbE9yaWdpbikpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKwogI2lmIFBMQVRGT1JNKE1BQykKICAgICBpZiAoIWRlY29kZXIu
ZGVjb2RlKHJlc3VsdC5tX3Njcm9sbFBvc2l0aW9uKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpA
QCAtMTI0Miw2ICsxMjQ2LDE1IEBAIENTdHJpbmcgUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246
OmRlc2NyaXB0aW9uKCkgY29uc3QKIHsKICAgICBSZW1vdGVMYXllclRyZWVUZXh0U3RyZWFtIHRz
OwogCisgICAgdHMgPDwgIigiOworICAgIGR1bXBQcm9wZXJ0eSh0cywgInRyYW5zYWN0aW9uSUQi
LCBtX3RyYW5zYWN0aW9uSUQpOworICAgIGR1bXBQcm9wZXJ0eSh0cywgImNvbnRlbnRzU2l6ZSIs
IG1fY29udGVudHNTaXplKTsKKyAgICBpZiAobV9zY3JvbGxPcmlnaW4gIT0gSW50UG9pbnQ6Onpl
cm8oKSkKKyAgICAgICAgZHVtcFByb3BlcnR5KHRzLCAic2Nyb2xsT3JpZ2luIiwgbV9zY3JvbGxP
cmlnaW4pOworCisgICAgaWYgKG1fcGFnZVNjYWxlRmFjdG9yICE9IDEpCisgICAgICAgIGR1bXBQ
cm9wZXJ0eSh0cywgInBhZ2VTY2FsZUZhY3RvciIsIG1fcGFnZVNjYWxlRmFjdG9yKTsKKwogICAg
IHRzIDw8ICIoXG4iOwogICAgIHRzLmluY3JlYXNlSW5kZW50KCk7CiAgICAgdHMud3JpdGVJbmRl
bnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcu
bW0KaW5kZXggNWNlNzU1MTMyZTAyNGFjMDM4ODNjZmUzM2E3OTk4MmUzODVjYTVmMy4uNjY1NmI3
ZGUzNzExNDg3OTgzZThjYjA0ZjZhZWNmZDIwYzhmZDQ1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTExNDMsMTIgKzExNDMsMTQg
QEAgc3RhdGljIFdlYkNvcmU6OkZsb2F0UG9pbnQgY29uc3RyYWluQ29udGVudE9mZnNldChXZWJD
b3JlOjpGbG9hdFBvaW50IGNvbnRlbnRPZmYKICAgICByZXR1cm4gY29udGVudE9mZnNldDsKIH0K
IAotLSAodm9pZClfc2Nyb2xsVG9Db250ZW50T2Zmc2V0OihXZWJDb3JlOjpGbG9hdFBvaW50KWNv
bnRlbnRPZmZzZXRJblBhZ2VDb29yZGluYXRlcworLSAodm9pZClfc2Nyb2xsVG9Db250ZW50T2Zm
c2V0OihXZWJDb3JlOjpGbG9hdFBvaW50KWNvbnRlbnRPZmZzZXRJblBhZ2VDb29yZGluYXRlcyBz
Y3JvbGxPcmlnaW46KFdlYkNvcmU6OkludFBvaW50KXNjcm9sbE9yaWdpbgogewogICAgIGlmIChf
ZHluYW1pY1ZpZXdwb3J0VXBkYXRlTW9kZSAhPSBEeW5hbWljVmlld3BvcnRVcGRhdGVNb2RlOjpO
b3RSZXNpemluZykKICAgICAgICAgcmV0dXJuOwogCi0gICAgV2ViQ29yZTo6RmxvYXRQb2ludCBz
Y2FsZWRPZmZzZXQgPSBjb250ZW50T2Zmc2V0SW5QYWdlQ29vcmRpbmF0ZXM7CisgICAgV2ViQ29y
ZTo6RmxvYXRQb2ludCBjb250ZW50T2Zmc2V0UmVzcGVjdGluZ09yaWdpbiA9IHNjcm9sbE9yaWdp
biArIHRvRmxvYXRTaXplKGNvbnRlbnRPZmZzZXRJblBhZ2VDb29yZGluYXRlcyk7CisKKyAgICBX
ZWJDb3JlOjpGbG9hdFBvaW50IHNjYWxlZE9mZnNldCA9IGNvbnRlbnRPZmZzZXRSZXNwZWN0aW5n
T3JpZ2luOwogICAgIENHRmxvYXQgem9vbVNjYWxlID0gY29udGVudFpvb21TY2FsZShzZWxmKTsK
ICAgICBzY2FsZWRPZmZzZXQuc2NhbGUoem9vbVNjYWxlLCB6b29tU2NhbGUpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFs
LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFs
LmgKaW5kZXggOWMxZTU5MTAwMTcwYWE5ZTU4MmIwZjc1NjE5ZWM4NjYwNmQxYWI0ZC4uZDJkZWYy
M2ZkNTIwOWQ0OTk0MGFhYjRhZWU4OTU4MDUzZjQyZDQ4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRlcm5hbC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaApAQCAtODEs
NyArODEsNyBAQCBzdHJ1Y3QgUHJpbnRJbmZvOwogCiAtIChQYXNzUmVmUHRyPFdlYktpdDo6Vmll
d1NuYXBzaG90PilfdGFrZVZpZXdTbmFwc2hvdDsKIAotLSAodm9pZClfc2Nyb2xsVG9Db250ZW50
T2Zmc2V0OihXZWJDb3JlOjpGbG9hdFBvaW50KWNvbnRlbnRPZmZzZXQ7CistICh2b2lkKV9zY3Jv
bGxUb0NvbnRlbnRPZmZzZXQ6KFdlYkNvcmU6OkZsb2F0UG9pbnQpY29udGVudE9mZnNldCBzY3Jv
bGxPcmlnaW46KFdlYkNvcmU6OkludFBvaW50KXNjcm9sbE9yaWdpbjsKIC0gKEJPT0wpX3Njcm9s
bFRvUmVjdDooV2ViQ29yZTo6RmxvYXRSZWN0KXRhcmdldFJlY3Qgb3JpZ2luOihXZWJDb3JlOjpG
bG9hdFBvaW50KW9yaWdpbiBtaW5pbXVtU2Nyb2xsRGlzdGFuY2U6KGZsb2F0KW1pbmltdW1TY3Jv
bGxEaXN0YW5jZTsKIC0gKHZvaWQpX3Njcm9sbEJ5T2Zmc2V0OihXZWJDb3JlOjpGbG9hdFBvaW50
KW9mZnNldDsKIC0gKHZvaWQpX3pvb21Ub0ZvY3VzUmVjdDooV2ViQ29yZTo6RmxvYXRSZWN0KWZv
Y3VzZWRFbGVtZW50UmVjdCBzZWxlY3Rpb25SZWN0OihXZWJDb3JlOjpGbG9hdFJlY3Qpc2VsZWN0
aW9uUmVjdEluRG9jdW1lbnRDb29yZGluYXRlcyBmb250U2l6ZTooZmxvYXQpZm9udFNpemUgbWlu
aW11bVNjYWxlOihkb3VibGUpbWluaW11bVNjYWxlIG1heGltdW1TY2FsZTooZG91YmxlKW1heGlt
dW1TY2FsZSBhbGxvd1NjYWxpbmc6KEJPT0wpYWxsb3dTY2FsaW5nIGZvcmNlU2Nyb2xsOihCT09M
KWZvcmNlU2Nyb2xsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VD
bGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKaW5kZXggZjJm
MTZmMWU2YzJmYjkxNzE2MWE4NDQyZDMyYzlmNzMxN2Q3MzhjZS4uZTVkMDVjYzJiNDhlODczYjc5
MGYwZGQ0MmZkNDMwMDFhMzA3YmVhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVu
dC5oCkBAIC05Nyw3ICs5Nyw3IEBAIHB1YmxpYzoKICAgICAvLyBUZWxsIHRoZSB2aWV3IHRvIHNj
cm9sbCBzY3JvbGxSZWN0IGJ5IHNjcm9sbE9mZnNldC4KICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xs
Vmlldyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBzY3JvbGxSZWN0LCBjb25zdCBXZWJDb3JlOjpJ
bnRTaXplJiBzY3JvbGxPZmZzZXQpID0gMDsKICAgICAvLyBUZWxsIHRoZSB2aWV3IHRvIHNjcm9s
bCB0byB0aGUgZ2l2ZW4gcG9zaXRpb24sIGFuZCB3aGV0aGVyIHRoaXMgd2FzIGEgcHJvZ3JhbW1h
dGljIHNjcm9sbC4KLSAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFNjcm9sbChjb25zdCBXZWJDb3Jl
OjpGbG9hdFBvaW50JiBzY3JvbGxQb3NpdGlvbiwgYm9vbCBpc1Byb2dyYW1tYXRpY1Njcm9sbCkg
PSAwOworICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0U2Nyb2xsKGNvbnN0IFdlYkNvcmU6OkZsb2F0
UG9pbnQmIHNjcm9sbFBvc2l0aW9uLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgc2Nyb2xsT3Jp
Z2luLCBib29sIGlzUHJvZ3JhbW1hdGljU2Nyb2xsKSA9IDA7CiAKICAgICAvLyBSZXR1cm4gdGhl
IHNpemUgb2YgdGhlIHZpZXcgdGhlIHBhZ2UgaXMgYXNzb2NpYXRlZCB3aXRoLgogICAgIHZpcnR1
YWwgV2ViQ29yZTo6SW50U2l6ZSB2aWV3U2l6ZSgpID0gMDsKQEAgLTI3OSw3ICsyNzksNyBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHpvb21Ub1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0LCBk
b3VibGUgbWluaW11bVNjYWxlLCBkb3VibGUgbWF4aW11bVNjYWxlKSA9IDA7CiAgICAgdmlydHVh
bCB2b2lkIGRpZENoYW5nZVZpZXdwb3J0TWV0YVRhZ1dpZHRoKGZsb2F0KSA9IDA7CiAgICAgdmly
dHVhbCBkb3VibGUgbWluaW11bVpvb21TY2FsZSgpIGNvbnN0ID0gMDsKLSAgICB2aXJ0dWFsIFdl
YkNvcmU6OkZsb2F0U2l6ZSBjb250ZW50c1NpemUoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBX
ZWJDb3JlOjpGbG9hdFJlY3QgZG9jdW1lbnRSZWN0KCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwg
dm9pZCBvdmVyZmxvd1Njcm9sbFZpZXdXaWxsU3RhcnRQYW5HZXN0dXJlKCkgPSAwOwogICAgIHZp
cnR1YWwgdm9pZCBvdmVyZmxvd1Njcm9sbFZpZXdEaWRTY3JvbGwoKSA9IDA7CiAgICAgdmlydHVh
bCB2b2lkIG92ZXJmbG93U2Nyb2xsV2lsbFN0YXJ0U2Nyb2xsKCkgPSAwOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBiM2RmYmRlMDI3NGRmMmVmOTdjNzY2
ZjE1ZTIyMWZlZGM2ZjVjYmJmLi4zNTFjMmEzN2UyYzQyMmYzMDY3ZWQ4ZGIwNmM1NDUzNzcyZTFm
MDIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMTI3
NSw5ICsxMjc1LDkgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnNjcm9sbFZpZXcoY29uc3QgSW50UmVj
dCYgc2Nyb2xsUmVjdCwgY29uc3QgSW50U2l6ZSYgc2Nyb2xsT2YKICAgICBtX3BhZ2VDbGllbnQu
c2Nyb2xsVmlldyhzY3JvbGxSZWN0LCBzY3JvbGxPZmZzZXQpOwogfQogCi12b2lkIFdlYlBhZ2VQ
cm94eTo6cmVxdWVzdFNjcm9sbChjb25zdCBGbG9hdFBvaW50JiBzY3JvbGxQb3NpdGlvbiwgYm9v
bCBpc1Byb2dyYW1tYXRpY1Njcm9sbCkKK3ZvaWQgV2ViUGFnZVByb3h5OjpyZXF1ZXN0U2Nyb2xs
KGNvbnN0IEZsb2F0UG9pbnQmIHNjcm9sbFBvc2l0aW9uLCBjb25zdCBJbnRQb2ludCYgc2Nyb2xs
T3JpZ2luLCBib29sIGlzUHJvZ3JhbW1hdGljU2Nyb2xsKQogewotICAgIG1fcGFnZUNsaWVudC5y
ZXF1ZXN0U2Nyb2xsKHNjcm9sbFBvc2l0aW9uLCBpc1Byb2dyYW1tYXRpY1Njcm9sbCk7CisgICAg
bV9wYWdlQ2xpZW50LnJlcXVlc3RTY3JvbGwoc2Nyb2xsUG9zaXRpb24sIHNjcm9sbE9yaWdpbiwg
aXNQcm9ncmFtbWF0aWNTY3JvbGwpOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6c2V0U3VwcHJl
c3NWaXNpYmlsaXR5VXBkYXRlcyhib29sIGZsYWcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmgKaW5kZXggNDkxMmFiOTBkMDgyZjAzMzEzNDk3MGZiNzk1MjZjNTJjOWMxYzU2
ZS4uYTYyMGM1MDRhMDY4MzBjOTU4MmVkNTM0MWNmOGM4ODlkZjMyMzVmYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtNDE4LDcgKzQxOCw3IEBAIHB1YmxpYzoK
ICAgICB2b2lkIGRpc3BsYXlWaWV3KCk7CiAgICAgYm9vbCBjYW5TY3JvbGxWaWV3KCk7CiAgICAg
dm9pZCBzY3JvbGxWaWV3KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHNjcm9sbFJlY3QsIGNvbnN0
IFdlYkNvcmU6OkludFNpemUmIHNjcm9sbE9mZnNldCk7IC8vIEZJWE1FOiBDb29yZGluYXRlZEdy
YXBoaWNzIHNob3VsZCB1c2UgcmVxdWVzdFNjcm9sbCgpLgotICAgIHZvaWQgcmVxdWVzdFNjcm9s
bChjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBzY3JvbGxQb3NpdGlvbiwgYm9vbCBpc1Byb2dy
YW1tYXRpY1Njcm9sbCk7CisgICAgdm9pZCByZXF1ZXN0U2Nyb2xsKGNvbnN0IFdlYkNvcmU6OkZs
b2F0UG9pbnQmIHNjcm9sbFBvc2l0aW9uLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgc2Nyb2xs
T3JpZ2luLCBib29sIGlzUHJvZ3JhbW1hdGljU2Nyb2xsKTsKICAgICAKICAgICB2b2lkIHNldERl
bGVnYXRlc1Njcm9sbGluZyhib29sIGRlbGVnYXRlc1Njcm9sbGluZykgeyBtX2RlbGVnYXRlc1Nj
cm9sbGluZyA9IGRlbGVnYXRlc1Njcm9sbGluZzsgfQogICAgIGJvb2wgZGVsZWdhdGVzU2Nyb2xs
aW5nKCkgY29uc3QgeyByZXR1cm4gbV9kZWxlZ2F0ZXNTY3JvbGxpbmc7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAppbmRleCA4N2FiN2Ey
NDU1Y2Q1OTM3Njg2MDUzMWU2ZDkzMmU4ZTA0YWVjYmViLi44MThlZDJlZTNlMjgxZWNkMmQyZThi
NzRiZGEyM2JjNjFiNjRlNWY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
aW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lv
cy9QYWdlQ2xpZW50SW1wbElPUy5oCkBAIC01Niw3ICs1Niw3IEBAIHByaXZhdGU6CiAgICAgdmly
dHVhbCB2b2lkIGRpc3BsYXlWaWV3KCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBib29sIGNhblNj
cm9sbFZpZXcoKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsVmlldyhjb25zdCBX
ZWJDb3JlOjpJbnRSZWN0JiBzY3JvbGxSZWN0LCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBzY3Jv
bGxPZmZzZXQpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0U2Nyb2xsKGNvbnN0
IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHNjcm9sbFBvc2l0aW9uLCBib29sIGlzUHJvZ3JhbW1hdGlj
U2Nyb2xsKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFNjcm9sbChjb25zdCBX
ZWJDb3JlOjpGbG9hdFBvaW50JiBzY3JvbGxQb3NpdGlvbiwgY29uc3QgV2ViQ29yZTo6SW50UG9p
bnQmIHNjcm9sbE9yaWdpbiwgYm9vbCBpc1Byb2dyYW1tYXRpY1Njcm9sbCkgb3ZlcnJpZGU7CiAg
ICAgdmlydHVhbCBXZWJDb3JlOjpJbnRTaXplIHZpZXdTaXplKCkgb3ZlcnJpZGU7CiAgICAgdmly
dHVhbCBib29sIGlzVmlld1dpbmRvd0FjdGl2ZSgpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgYm9v
bCBpc1ZpZXdGb2N1c2VkKCkgb3ZlcnJpZGU7CkBAIC0xMzUsNyArMTM1LDcgQEAgcHJpdmF0ZToK
ICAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlUnVuT3BlblBhbmVsKFdlYlBhZ2VQcm94eSosIFdlYkZy
YW1lUHJveHkqLCBXZWJPcGVuUGFuZWxQYXJhbWV0ZXJzKiwgV2ViT3BlblBhbmVsUmVzdWx0TGlz
dGVuZXJQcm94eSopIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VWaWV3cG9y
dE1ldGFUYWdXaWR0aChmbG9hdCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBkb3VibGUgbWluaW11
bVpvb21TY2FsZSgpIGNvbnN0IG92ZXJyaWRlOwotICAgIHZpcnR1YWwgV2ViQ29yZTo6RmxvYXRT
aXplIGNvbnRlbnRzU2l6ZSgpIGNvbnN0IG92ZXJyaWRlOworICAgIHZpcnR1YWwgV2ViQ29yZTo6
RmxvYXRSZWN0IGRvY3VtZW50UmVjdCgpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgdmlydHVhbCB2
b2lkIHNob3dJbnNwZWN0b3JIaWdobGlnaHQoY29uc3QgV2ViQ29yZTo6SGlnaGxpZ2h0Jikgb3Zl
cnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGhpZGVJbnNwZWN0b3JIaWdobGlnaHQoKSBvdmVycmlk
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudElt
cGxJT1MubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9T
Lm1tCmluZGV4IDIzOGIyNzU4MzQwMThjY2VlNmM2YWM4MDY3NDVhMGYxNGJmMGU5YTguLjVmMDNm
MGJkZDM0M2Q4OWY5NTc2YmEzMTU3ZjdkZWVlOWExYmQzMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQpAQCAtMTU0LDEwICsxNTQs
MTAgQEAgdm9pZCBQYWdlQ2xpZW50SW1wbDo6c2Nyb2xsVmlldyhjb25zdCBJbnRSZWN0JiwgY29u
c3QgSW50U2l6ZSYpCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKLXZvaWQgUGFnZUNs
aWVudEltcGw6OnJlcXVlc3RTY3JvbGwoY29uc3QgRmxvYXRQb2ludCYgc2Nyb2xsUG9zaXRpb24s
IGJvb2wgaXNQcm9ncmFtbWF0aWNTY3JvbGwpCit2b2lkIFBhZ2VDbGllbnRJbXBsOjpyZXF1ZXN0
U2Nyb2xsKGNvbnN0IEZsb2F0UG9pbnQmIHNjcm9sbFBvc2l0aW9uLCBjb25zdCBJbnRQb2ludCYg
c2Nyb2xsT3JpZ2luLCBib29sIGlzUHJvZ3JhbW1hdGljU2Nyb2xsKQogewogICAgIFVOVVNFRF9Q
QVJBTShpc1Byb2dyYW1tYXRpY1Njcm9sbCk7Ci0gICAgW21fd2ViVmlldyBfc2Nyb2xsVG9Db250
ZW50T2Zmc2V0OnNjcm9sbFBvc2l0aW9uXTsKKyAgICBbbV93ZWJWaWV3IF9zY3JvbGxUb0NvbnRl
bnRPZmZzZXQ6c2Nyb2xsUG9zaXRpb24gc2Nyb2xsT3JpZ2luOnNjcm9sbE9yaWdpbl07CiB9CiAK
IEludFNpemUgUGFnZUNsaWVudEltcGw6OnZpZXdTaXplKCkKQEAgLTI3OCw5ICsyNzgsOSBAQCBk
b3VibGUgUGFnZUNsaWVudEltcGw6Om1pbmltdW1ab29tU2NhbGUoKSBjb25zdAogICAgIHJldHVy
biAxOwogfQogCi1XZWJDb3JlOjpGbG9hdFNpemUgUGFnZUNsaWVudEltcGw6OmNvbnRlbnRzU2l6
ZSgpIGNvbnN0CitXZWJDb3JlOjpGbG9hdFJlY3QgUGFnZUNsaWVudEltcGw6OmRvY3VtZW50UmVj
dCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIEZsb2F0U2l6ZShbbV9jb250ZW50VmlldyBib3VuZHNd
LnNpemUpOworICAgIHJldHVybiBbbV9jb250ZW50VmlldyBib3VuZHNdOwogfQogCiB2b2lkIFBh
Z2VDbGllbnRJbXBsOjpzZXRDdXJzb3IoY29uc3QgQ3Vyc29yJikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5tbSBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5tbQppbmRleCA0MDdjZDdmMWVhNmJhZjliODU3
ZTJmNTJiZWI2N2M2OTNhNDZiMDEyLi4yNDkyM2E2NmVjOGM2MjcwNDllMGQ5NWVmMGY4M2QwMDNh
MGU5M2NkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVu
dFZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3
Lm1tCkBAIC00NzksMTQgKzQ3OSwyMSBAQCAtICh2b2lkKV9kaWRDb21taXRMb2FkRm9yTWFpbkZy
YW1lCiAtICh2b2lkKV9kaWRDb21taXRMYXllclRyZWU6KGNvbnN0IFdlYktpdDo6UmVtb3RlTGF5
ZXJUcmVlVHJhbnNhY3Rpb24mKWxheWVyVHJlZVRyYW5zYWN0aW9uCiB7CiAgICAgQ0dTaXplIGNv
bnRlbnRzU2l6ZSA9IGxheWVyVHJlZVRyYW5zYWN0aW9uLmNvbnRlbnRzU2l6ZSgpOwotICAgIENH
UmVjdCBjb250ZW50Qm91bmRzID0geyBDR1BvaW50WmVybywgY29udGVudHNTaXplIH07Ci0gICAg
Q0dSZWN0IG9sZEJvdW5kcyA9IFtzZWxmIGJvdW5kc107CisgICAgQ0dQb2ludCBzY3JvbGxPcmln
aW4gPSAtbGF5ZXJUcmVlVHJhbnNhY3Rpb24uc2Nyb2xsT3JpZ2luKCk7CisgICAgQ0dSZWN0IGNv
bnRlbnRCb3VuZHMgPSB7IHNjcm9sbE9yaWdpbiwgY29udGVudHNTaXplIH07CiAKLSAgICBCT09M
IGJvdW5kc0NoYW5nZWQgPSAhQ0dSZWN0RXF1YWxUb1JlY3Qob2xkQm91bmRzLCBjb250ZW50Qm91
bmRzKTsKKyAgICBCT09MIGJvdW5kc0NoYW5nZWQgPSAhQ0dSZWN0RXF1YWxUb1JlY3QoW3NlbGYg
Ym91bmRzXSwgY29udGVudEJvdW5kcyk7CiAgICAgaWYgKGJvdW5kc0NoYW5nZWQpCiAgICAgICAg
IFtzZWxmIHNldEJvdW5kczpjb250ZW50Qm91bmRzXTsKIAogICAgIFtfd2ViVmlldyBfZGlkQ29t
bWl0TGF5ZXJUcmVlOmxheWVyVHJlZVRyYW5zYWN0aW9uXTsKKworICAgIGlmIChfaW50ZXJhY3Rp
b25WaWV3c0NvbnRhaW5lclZpZXcpIHsKKyAgICAgICAgRmxvYXRQb2ludCBzY2FsZWRPcmlnaW4g
PSBsYXllclRyZWVUcmFuc2FjdGlvbi5zY3JvbGxPcmlnaW4oKTsKKyAgICAgICAgZmxvYXQgc2Nh
bGUgPSBbW193ZWJWaWV3IHNjcm9sbFZpZXddIHpvb21TY2FsZV07CisgICAgICAgIHNjYWxlZE9y
aWdpbi5zY2FsZShzY2FsZSwgc2NhbGUpOworICAgICAgICBbX2ludGVyYWN0aW9uVmlld3NDb250
YWluZXJWaWV3IHNldFBvc2l0aW9uOnNjYWxlZE9yaWdpbl07CisgICAgfQogICAgIAogICAgIGlm
IChib3VuZHNDaGFuZ2VkKSB7CiAgICAgICAgIEZsb2F0UmVjdCBmaXhlZFBvc2l0aW9uUmVjdCA9
IF9wYWdlLT5jb21wdXRlQ3VzdG9tRml4ZWRQb3NpdGlvblJlY3QoX3BhZ2UtPnVub2JzY3VyZWRD
b250ZW50UmVjdCgpLCBbW193ZWJWaWV3IHNjcm9sbFZpZXddIHpvb21TY2FsZV0pOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0gYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQppbmRleCA4NGEw
ZDEyMWU2ODU2MGQ2ZWVjZDAzY2VlMzBlNTg5NjNkY2Y4OGYwLi5hYWRkMGE2NTcyN2UwYzIwMWJh
ZmMyMzAyYTU2Y2MzZGRhOWQzMjFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
aW9zL1dlYlBhZ2VQcm94eUlPUy5tbQpAQCAtMjE3LDggKzIxNyw3IEBAIHN0YXRpYyBpbmxpbmUg
ZmxvYXQgYWRqdXN0ZWRVbmV4cG9zZWRNYXhFZGdlKGZsb2F0IGRvY3VtZW50RWRnZSwgZmxvYXQg
ZXhwb3NlZFJlCiBXZWJDb3JlOjpGbG9hdFJlY3QgV2ViUGFnZVByb3h5Ojpjb21wdXRlQ3VzdG9t
Rml4ZWRQb3NpdGlvblJlY3QoY29uc3QgRmxvYXRSZWN0JiB1bm9ic2N1cmVkQ29udGVudFJlY3Qs
IGRvdWJsZSBkaXNwbGF5ZWRDb250ZW50U2NhbGUsIFVub2JzY3VyZWRSZWN0Q29uc3RyYWludCBj
b25zdHJhaW50KSBjb25zdAogewogICAgIEZsb2F0UmVjdCBjb25zdHJhaW5lZFVub2JzY3VyZWRS
ZWN0ID0gdW5vYnNjdXJlZENvbnRlbnRSZWN0OwotICAgIEZsb2F0U2l6ZSBjb250ZW50c1NpemUg
PSBtX3BhZ2VDbGllbnQuY29udGVudHNTaXplKCk7Ci0gICAgRmxvYXRSZWN0IGRvY3VtZW50UmVj
dCA9IEZsb2F0UmVjdChGbG9hdFBvaW50KCksIGNvbnRlbnRzU2l6ZSk7CisgICAgRmxvYXRSZWN0
IGRvY3VtZW50UmVjdCA9IG1fcGFnZUNsaWVudC5kb2N1bWVudFJlY3QoKTsKIAogICAgIGlmICht
X3BhZ2VDbGllbnQuaXNBc3Npc3RpbmdOb2RlKCkpCiAgICAgICAgIHJldHVybiBkb2N1bWVudFJl
Y3Q7CkBAIC0yMzgsNyArMjM3LDcgQEAgV2ViQ29yZTo6RmxvYXRSZWN0IFdlYlBhZ2VQcm94eTo6
Y29tcHV0ZUN1c3RvbUZpeGVkUG9zaXRpb25SZWN0KGNvbnN0IEZsb2F0UmVjdCYKICAgICAgICAg
Y29uc3RyYWluZWRVbm9ic2N1cmVkUmVjdC5zZXRIZWlnaHQoYWRqdXN0ZWRVbmV4cG9zZWRNYXhF
ZGdlKGRvY3VtZW50UmVjdC5tYXhZKCksIGNvbnN0cmFpbmVkVW5vYnNjdXJlZFJlY3QubWF4WSgp
LCBmYWN0b3IpIC0gY29uc3RyYWluZWRVbm9ic2N1cmVkUmVjdC55KCkpOwogICAgIH0KICAgICAK
LSAgICByZXR1cm4gRnJhbWVWaWV3OjpyZWN0Rm9yVmlld3BvcnRDb25zdHJhaW5lZE9iamVjdHMo
ZW5jbG9zaW5nTGF5b3V0UmVjdChjb25zdHJhaW5lZFVub2JzY3VyZWRSZWN0KSwgTGF5b3V0U2l6
ZShjb250ZW50c1NpemUpLCBkaXNwbGF5ZWRDb250ZW50U2NhbGUsIGZhbHNlLCBTdGlja1RvVmll
d3BvcnRCb3VuZHMpOworICAgIHJldHVybiBGcmFtZVZpZXc6OnJlY3RGb3JWaWV3cG9ydENvbnN0
cmFpbmVkT2JqZWN0cyhlbmNsb3NpbmdMYXlvdXRSZWN0KGNvbnN0cmFpbmVkVW5vYnNjdXJlZFJl
Y3QpLCBMYXlvdXRTaXplKGRvY3VtZW50UmVjdC5zaXplKCkpLCBkaXNwbGF5ZWRDb250ZW50U2Nh
bGUsIGZhbHNlLCBTdGlja1RvVmlld3BvcnRCb3VuZHMpOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94
eTo6b3ZlcmZsb3dTY3JvbGxWaWV3V2lsbFN0YXJ0UGFuR2VzdHVyZSgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbQppbmRleCBjZWEzMzBkZjAxNGZl
NTJkOGUxYjlkNzEzYWE3NjEyYTU3N2I3N2YxLi45YTY1NDY2NTgwNDkxOTQ0YWVhYWZhYjEzMDk1
NmNkYjBlYTVkZmJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1Bh
Z2VDbGllbnRJbXBsLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNs
aWVudEltcGwubW0KQEAgLTE4MSw3ICsxODEsNyBAQCB2b2lkIFBhZ2VDbGllbnRJbXBsOjpzY3Jv
bGxWaWV3KGNvbnN0IEludFJlY3QmIHNjcm9sbFJlY3QsIGNvbnN0IEludFNpemUmIHNjcm9sbAog
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQogCi12b2lkIFBhZ2VDbGllbnRJbXBsOjpyZXF1
ZXN0U2Nyb2xsKGNvbnN0IEZsb2F0UG9pbnQmIHNjcm9sbFBvc2l0aW9uLCBib29sIGlzUHJvZ3Jh
bW1hdGljU2Nyb2xsKQordm9pZCBQYWdlQ2xpZW50SW1wbDo6cmVxdWVzdFNjcm9sbChjb25zdCBG
bG9hdFBvaW50JiBzY3JvbGxQb3NpdGlvbiwgY29uc3QgSW50UG9pbnQmIHNjcm9sbE9yaWdpbiwg
Ym9vbCBpc1Byb2dyYW1tYXRpY1Njcm9sbCkKIHsKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJU
cmVlRHJhd2luZ0FyZWFQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVt
b3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5tbQppbmRleCA5NWZiYTA0MDY4YWJiODI4YTBi
YjJiMjZlMjhkNWFmZjVkZjgzZWRkLi4xZTMwYmRlYTM1MWM0ODIxNmExNmRmMmQ5OTk1ZTc3NzNk
ODE2OGFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1JlbW90ZUxh
eWVyVHJlZURyYXdpbmdBcmVhUHJveHkubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1tCkBAIC0yMTgsNyArMjE4LDcg
QEAgdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Ojpjb21taXRMYXllclRyZWUo
Y29uc3QgUmVtb3RlTGF5ZXJUcmVlVHJhbnMKICAgICAvLyBIYW5kbGUgcmVxdWVzdGVkIHNjcm9s
bCBwb3NpdGlvbiB1cGRhdGVzIGZyb20gdGhlIHNjcm9sbGluZyB0cmVlIHRyYW5zYWN0aW9uIGFm
dGVyIGRpZENvbW1pdExheWVyVHJlZSgpCiAgICAgLy8gaGFzIHVwZGF0ZWQgdGhlIHZpZXcgc2l6
ZSBiYXNlZCBvbiB0aGUgY29udGVudCBzaXplLgogICAgIGlmIChyZXF1ZXN0ZWRTY3JvbGxJbmZv
LnJlcXVlc3RzU2Nyb2xsUG9zaXRpb25VcGRhdGUpCi0gICAgICAgIG1fd2ViUGFnZVByb3h5LnJl
cXVlc3RTY3JvbGwocmVxdWVzdGVkU2Nyb2xsSW5mby5yZXF1ZXN0ZWRTY3JvbGxQb3NpdGlvbiwg
cmVxdWVzdGVkU2Nyb2xsSW5mby5yZXF1ZXN0SXNQcm9ncmFtbWF0aWNTY3JvbGwpOworICAgICAg
ICBtX3dlYlBhZ2VQcm94eS5yZXF1ZXN0U2Nyb2xsKHJlcXVlc3RlZFNjcm9sbEluZm8ucmVxdWVz
dGVkU2Nyb2xsUG9zaXRpb24sIGxheWVyVHJlZVRyYW5zYWN0aW9uLnNjcm9sbE9yaWdpbigpLCBy
ZXF1ZXN0ZWRTY3JvbGxJbmZvLnJlcXVlc3RJc1Byb2dyYW1tYXRpY1Njcm9sbCk7CiAjZW5kaWYg
Ly8gRU5BQkxFKEFTWU5DX1NDUk9MTElORykKIAogICAgIGlmIChtX2RlYnVnSW5kaWNhdG9yTGF5
ZXJUcmVlSG9zdCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCmluZGV4IDRkZTgxNjQwZWIzMDE5NTYxYzBmN2VjMTg5N2YxODE1NzkyZjU3MmIuLjAx
ODM2MDNjNDA1ZDEwZDBjYWJlNDZiOWEwOTgzY2IxODFhZWJmNGMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTI5NDgsNiArMjk0OCw3IEBA
IHZvaWQgV2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9y
ZSYgc3RvcmUpCiB2b2lkIFdlYlBhZ2U6OndpbGxDb21taXRMYXllclRyZWUoUmVtb3RlTGF5ZXJU
cmVlVHJhbnNhY3Rpb24mIGxheWVyVHJhbnNhY3Rpb24pCiB7CiAgICAgbGF5ZXJUcmFuc2FjdGlv
bi5zZXRDb250ZW50c1NpemUoY29yZVBhZ2UoKS0+bWFpbkZyYW1lKCkudmlldygpLT5jb250ZW50
c1NpemUoKSk7CisgICAgbGF5ZXJUcmFuc2FjdGlvbi5zZXRTY3JvbGxPcmlnaW4oY29yZVBhZ2Uo
KS0+bWFpbkZyYW1lKCkudmlldygpLT5zY3JvbGxPcmlnaW4oKSk7CiAgICAgbGF5ZXJUcmFuc2Fj
dGlvbi5zZXRQYWdlU2NhbGVGYWN0b3IoY29yZVBhZ2UoKS0+cGFnZVNjYWxlRmFjdG9yKCkpOwog
ICAgIGxheWVyVHJhbnNhY3Rpb24uc2V0UmVuZGVyVHJlZVNpemUoY29yZVBhZ2UoKS0+cmVuZGVy
VHJlZVNpemUoKSk7CiAgICAgbGF5ZXJUcmFuc2FjdGlvbi5zZXRQYWdlRXh0ZW5kZWRCYWNrZ3Jv
dW5kQ29sb3IoY29yZVBhZ2UoKS0+cGFnZUV4dGVuZGVkQmFja2dyb3VuZENvbG9yKCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256648</attachid>
            <date>2015-07-10 23:41:45 -0700</date>
            <delta_ts>2015-07-11 10:51:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146872-20150710234042.patch</filename>
            <type>text/plain</type>
            <size>27617</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg2NTQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjQ4ZjRjNWQ2MGNkNjA2
MjY3ZTI1ZDE2OWYyMTgxOWRhNWYwM2U3NS4uOTZiZDk0YjU2MjNiZDIzZTA3MWU4YzQ5MTIxMGE3
MTA2ZmU1MzRhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE1LTA3LTEwICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1MgV0syXSBT
Y3JvbGxpbmcgaXNzdWVzIG9uIGhvcml6b250YWxseSBzY3JvbGxhYmxlIFJUTCBwYWdlcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ2ODcyCisgICAg
ICAgIHJkYXI6Ly9wcm9ibGVtLzc1Njk0MTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBIb3Jpem9udGFsbHkgc2Nyb2xsYWJsZSBSVEwgcGFnZXMgaW4g
V2ViS2l0MiBoYWQgYSB2YXJpZXR5IG9mIGlzc3VlczogdGhleSBoYWQKKyAgICAgICAgYSBnYXAg
ZG93biB0aGUgcmlnaHQgZWRnZSwgYW5kIHVucmVhY2hhYmxlIGNvbnRlbnQgb24gdGhlIGxlZnQg
c2lkZSwgZm9jdXNzaW5nCisgICAgICAgIGZvcm0gZmllbGRzIHNjcm9sbGVkIHRvIHRoZSB3cm9u
ZyBsb2NhdGlvbiwgYW5kIHByb2dyYW1tYXRpYyBzY3JvbGxzIHNjcm9sbGVkCisgICAgICAgIHRv
IHRoZSB3cm9uZyBwbGFjZS4KKyAgICAgICAgCisgICAgICAgIEZpeCBieSBwbHVtYmluZyB0aGUg
V2ViQ29yZSBub3Rpb24gb2Ygc2Nyb2xsT3JpZ2luIHRocm91Z2ggdG8gdGhlIFVJIHByb2Nlc3Ms
CisgICAgICAgIGFuZCB1c2luZyBpdCBpbiB2YXJpb3VzIHBsYWNlcy4gVGhlcmUgYXJlIHRocmVl
IG1haW4gYXNwZWN0cyB0byB0aGUgcGF0Y2g6CisgICAgICAgIAorICAgICAgICAxLiBzY3JvbGwg
b3JpZ2luIGlzIGluY2x1ZGVkIGluIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLCBhbmQgcGx1
bWJlZCB0aHJvdWdoCisgICAgICAgICAgIHRvIC1bV0tXZWJWaWV3IF9zY3JvbGxUb0NvbnRlbnRP
ZmZzZXQ6XSBmb3IgY29ycmVjdCBwcm9ncmFtbWF0aWMgc2Nyb2xsaW5nLAorICAgICAgICAgICBp
bmNsdWRpbmcgem9vbWluZyB0byBmb2N1c3NlZCBmb3JtIGVsZW1lbnRzLgorICAgICAgICAyLiBX
ZWJQYWdlUHJveHk6OmNvbXB1dGVDdXN0b21GaXhlZFBvc2l0aW9uUmVjdCgpIHVzZXMgdGhlIGFj
dHVhbCBkb2N1bWVudFJlY3QoKQorICAgICAgICAgICByYXRoZXIgdGhhbiBqdXN0IGNvbmp1cmlu
ZyB1cCBhIHJlY3Qgd2l0aCBhIHplcm8gb3JpZ2luLCB3aGljaCBtYWtlcyBwb3NpdGlvbjpmaXhl
ZAorICAgICAgICAgICB3b3JrIGNvcnJlY3RseS4KKyAgICAgICAgMy4gX2ludGVyYWN0aW9uVmll
d3NDb250YWluZXJWaWV3ICh3aGljaCBob3N0cyB0YXAgaGlnaGxpZ2h0cykgaXMgcG9zaXRpb25l
ZCB0byAKKyAgICAgICAgICAgY29pbmNpZGUgd2l0aCB0aGUgb3JpZ2luIG9mIHRoZSBkb2N1bWVu
dFJlY3QgKGkuZS4gYXQgdGhlIHNjcm9sbCBvcmlnaW4sIHdoaWNoCisgICAgICAgICAgIG1heSBu
b3QgYmUgdG9wLWxlZnQpLiBUaGlzIGFsbG93cyB0YXAgaGlnaGxpZ2h0cyB0byBzaG93IGluIHRo
ZSBjb3JyZWN0IGxvY2F0aW9uLgorICAgICAgICA0LiBTY3JvbGxWaWV3Ojp1bm9ic2N1cmVkQ29u
dGVudFJlY3QoKSBpcyBmaXhlZCB0byB0YWtlIHNjcm9sbCBvcmlnaW4gaW50byBhY2NvdW50Owor
ICAgICAgICAgICBpZiB0aGUgcmV0dXJuZWQgcmVjdCBpcyB3cm9uZywgUmVuZGVyTGF5ZXI6Omhp
dFRlc3QoKSBpbmNvcnJlY3RseSBjbGlwcyB0aGUgaGl0CisgICAgICAgICAgIHRlc3RpbmcgYXJl
YS4KKworICAgICAgICAqIHBsYXRmb3JtL2lvcy9TY3JvbGxWaWV3SU9TLm1tOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsVmlldzo6dW5vYnNjdXJlZENvbnRlbnRSZWN0KToKKwogMjAxNS0wNy0w
OCAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgQXVkaW8gZWxlbWVu
dHMgd2l0aCBjb250cm9scyBmb3JjZSB0aGVpciBlbmNsb3Npbmcgc3RhY2tpbmcgY29udGV4dCB0
byBjb21wb3NpdGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBlY2UxYjQwOTE5NDYyMjBkZTQwNDdkZGVkMTIzOTdj
YzgxOTkwOGJhLi42NzI4MjlhZTcyZDdlZTk4MWIzNjUzYTM3YTJlYzUwOTcyMTgyN2Q4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNzEgQEAKKzIwMTUtMDctMTAgIFNpbW9uIEZyYXNlciAgPHNpbW9u
LmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPUyBXSzJdIFNjcm9sbGluZyBpc3N1ZXMg
b24gaG9yaXpvbnRhbGx5IHNjcm9sbGFibGUgUlRMIHBhZ2VzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDY4NzIKKyAgICAgICAgcmRhcjovL3Byb2Js
ZW0vNzU2OTQxNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAg
ICAKKyAgICAgICAgSG9yaXpvbnRhbGx5IHNjcm9sbGFibGUgUlRMIHBhZ2VzIGluIFdlYktpdDIg
aGFkIGEgdmFyaWV0eSBvZiBpc3N1ZXM6IHRoZXkgaGFkCisgICAgICAgIGEgZ2FwIGRvd24gdGhl
IHJpZ2h0IGVkZ2UsIGFuZCB1bnJlYWNoYWJsZSBjb250ZW50IG9uIHRoZSBsZWZ0IHNpZGUsIGZv
Y3Vzc2luZworICAgICAgICBmb3JtIGZpZWxkcyBzY3JvbGxlZCB0byB0aGUgd3JvbmcgbG9jYXRp
b24sIGFuZCBwcm9ncmFtbWF0aWMgc2Nyb2xscyBzY3JvbGxlZAorICAgICAgICB0byB0aGUgd3Jv
bmcgcGxhY2UuCisgICAgICAgIAorICAgICAgICBGaXggYnkgcGx1bWJpbmcgdGhlIFdlYkNvcmUg
bm90aW9uIG9mIHNjcm9sbE9yaWdpbiB0aHJvdWdoIHRvIHRoZSBVSSBwcm9jZXNzLAorICAgICAg
ICBhbmQgdXNpbmcgaXQgaW4gdmFyaW91cyBwbGFjZXMuIFRoZXJlIGFyZSB0aHJlZSBtYWluIGFz
cGVjdHMgdG8gdGhlIHBhdGNoOgorICAgICAgICAKKyAgICAgICAgMS4gc2Nyb2xsIG9yaWdpbiBp
cyBpbmNsdWRlZCBpbiBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbiwgYW5kIHBsdW1iZWQgdGhy
b3VnaAorICAgICAgICAgICB0byAtW1dLV2ViVmlldyBfc2Nyb2xsVG9Db250ZW50T2Zmc2V0Ol0g
Zm9yIGNvcnJlY3QgcHJvZ3JhbW1hdGljIHNjcm9sbGluZywKKyAgICAgICAgICAgaW5jbHVkaW5n
IHpvb21pbmcgdG8gZm9jdXNlZCBmb3JtIGVsZW1lbnRzLiBUaGUgV0tDb250ZW50VmlldydzIGJv
dW5kc09yaWdpbgorICAgICAgICAgICBpcyBzZXQgdG8gdGhlIHNjcm9sbCBvcmlnaW4gc28gdGhh
dCB0aGUgdmlldyBjb29yZGluYXRlcyBtYXRjaCBkb2N1bWVudCBjb29yZGluYXRlcy4KKyAgICAg
ICAgMi4gV2ViUGFnZVByb3h5Ojpjb21wdXRlQ3VzdG9tRml4ZWRQb3NpdGlvblJlY3QoKSB1c2Vz
IHRoZSBhY3R1YWwgZG9jdW1lbnRSZWN0KCkKKyAgICAgICAgICAgcmF0aGVyIHRoYW4ganVzdCBj
b25qdXJpbmcgdXAgYSByZWN0IHdpdGggYSB6ZXJvIG9yaWdpbiwgd2hpY2ggbWFrZXMgcG9zaXRp
b246Zml4ZWQKKyAgICAgICAgICAgd29yayBjb3JyZWN0bHkuCisgICAgICAgIDMuIF9pbnRlcmFj
dGlvblZpZXdzQ29udGFpbmVyVmlldyAod2hpY2ggaG9zdHMgdGFwIGhpZ2hsaWdodHMpIGlzIHBv
c2l0aW9uZWQgdG8gCisgICAgICAgICAgIGNvaW5jaWRlIHdpdGggdGhlIG9yaWdpbiBvZiB0aGUg
ZG9jdW1lbnRSZWN0IChpLmUuIGF0IHRoZSBzY3JvbGwgb3JpZ2luLCB3aGljaAorICAgICAgICAg
ICBtYXkgbm90IGJlIHRvcC1sZWZ0KS4gVGhpcyBhbGxvd3MgdGFwIGhpZ2hsaWdodHMgdG8gc2hv
dyBpbiB0aGUgY29ycmVjdCBsb2NhdGlvbi4KKyAgICAgICAgNC4gU2Nyb2xsVmlldzo6dW5vYnNj
dXJlZENvbnRlbnRSZWN0KCkgaXMgZml4ZWQgdG8gdGFrZSBzY3JvbGwgb3JpZ2luIGludG8gYWNj
b3VudDsKKyAgICAgICAgICAgaWYgdGhlIHJldHVybmVkIHJlY3QgaXMgd3JvbmcsIFJlbmRlckxh
eWVyOjpoaXRUZXN0KCkgaW5jb3JyZWN0bHkgY2xpcHMgdGhlIGhpdAorICAgICAgICAgICB0ZXN0
aW5nIGFyZWEuCisKKyAgICAgICAgKiBTaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0
aW9uLmg6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpzY3Jv
bGxPcmlnaW4pOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6
c2V0U2Nyb2xsT3JpZ2luKToKKyAgICAgICAgKiBTaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRy
YW5zYWN0aW9uLm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlv
bjo6ZW5jb2RlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246
OmRlY29kZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpk
ZXNjcmlwdGlvbik6IER1bXAgc29tZSBtb3JlIGluZm8uCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBfc2Nyb2xsVG9Db250
ZW50T2Zmc2V0OnNjcm9sbE9yaWdpbjpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9zY3JvbGxU
b0NvbnRlbnRPZmZzZXQ6XSk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXdJbnRlcm5hbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VD
bGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OnJlcXVlc3RT
Y3JvbGwpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmlldy5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlZpZXc6OnJlcXVlc3RTY3JvbGwpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFn
ZUNsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnJlcXVlc3RTY3JvbGwpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJ
bXBsSU9TLmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbToK
KyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OnJlcXVlc3RTY3JvbGwpOgorICAgICAg
ICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6ZG9jdW1lbnRSZWN0KToKKyAgICAgICAgKFdlYktp
dDo6UGFnZUNsaWVudEltcGw6OmNvbnRlbnRzU2l6ZSk6IERlbGV0ZWQuCisgICAgICAgICogVUlQ
cm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9k
aWRDb21taXRMYXllclRyZWU6XSk6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJv
eHlJT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y29tcHV0ZUN1c3RvbUZp
eGVkUG9zaXRpb25SZWN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBs
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbToKKyAgICAgICAg
KFdlYktpdDo6UGFnZUNsaWVudEltcGw6OnJlcXVlc3RTY3JvbGwpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5tbToKKyAgICAgICAgKFdl
YktpdDo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eTo6Y29tbWl0TGF5ZXJUcmVlKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2U6OndpbGxDb21taXRMYXllclRyZWUpOgorCiAyMDE1LTA3LTA4ICBNYXR0IFJh
amNhICA8bXJhamNhQGFwcGxlLmNvbT4KIAogICAgICAgICBNZWRpYSBTZXNzaW9uOiBpbmRpY2F0
ZSB0byBjbGllbnRzIHdoZXRoZXIgYSBtZWRpYSBzZXNzaW9uIGhhcyBhY3RpdmUgbWVkaWEgZWxl
bWVudHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxWaWV3
SU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Njcm9sbFZpZXdJT1MubW0KaW5k
ZXggZDY3ZjU5ZDU3YmFhMThjOWQzM2FhMWU1MWJlZGM2ZDc3ZWFiNGE3OS4uOGU0ZWE5ZmQxMTRi
Zjg1MGQ4NTllMThmN2M0ZjhiMDZlMmM0ZTM0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vaW9zL1Njcm9sbFZpZXdJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW9zL1Njcm9sbFZpZXdJT1MubW0KQEAgLTEwOCw3ICsxMDgsNyBAQCBJbnRSZWN0IFNjcm9s
bFZpZXc6OnVub2JzY3VyZWRDb250ZW50UmVjdChWaXNpYmxlQ29udGVudFJlY3RJbmNsdWRlc1Nj
cm9sbGJhcnMpCiAgICAgfQogCiAgICAgaWYgKCFtX3Vub2JzY3VyZWRDb250ZW50U2l6ZS5pc0Vt
cHR5KCkpCi0gICAgICAgIHJldHVybiBJbnRSZWN0KEludFBvaW50KG1fc2Nyb2xsT2Zmc2V0KSwg
cm91bmRlZEludFNpemUobV91bm9ic2N1cmVkQ29udGVudFNpemUpKTsKKyAgICAgICAgcmV0dXJu
IEludFJlY3Qoc2Nyb2xsT3JpZ2luKCkgKyBtX3Njcm9sbE9mZnNldCwgcm91bmRlZEludFNpemUo
bV91bm9ic2N1cmVkQ29udGVudFNpemUpKTsKIAogICAgIHJldHVybiB1bm9ic2N1cmVkQ29udGVu
dFJlY3RJbnRlcm5hbCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21h
Yy9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21h
Yy9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5oCmluZGV4IGFiODYzMTU2ZDliNWNmMGQzYTM2
NDdmODM2ZTU1NmM1MTA1MWZkMTIuLmVkYjRkODc3YTEyOTgzOTk4NTE5MGYzMzI3OTgzMTM1Yzgx
YzI2YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJU
cmVlVHJhbnNhY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxh
eWVyVHJlZVRyYW5zYWN0aW9uLmgKQEAgLTE5NSw2ICsxOTUsOSBAQCBwdWJsaWM6CiAKICAgICBX
ZWJDb3JlOjpJbnRTaXplIGNvbnRlbnRzU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVudHNT
aXplOyB9CiAgICAgdm9pZCBzZXRDb250ZW50c1NpemUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYg
c2l6ZSkgeyBtX2NvbnRlbnRzU2l6ZSA9IHNpemU7IH07CisKKyAgICBXZWJDb3JlOjpJbnRQb2lu
dCBzY3JvbGxPcmlnaW4oKSBjb25zdCB7IHJldHVybiBtX3Njcm9sbE9yaWdpbjsgfQorICAgIHZv
aWQgc2V0U2Nyb2xsT3JpZ2luKGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBvcmlnaW4pIHsgbV9z
Y3JvbGxPcmlnaW4gPSBvcmlnaW47IH07CiAgICAgCiAgICAgV2ViQ29yZTo6Q29sb3IgcGFnZUV4
dGVuZGVkQmFja2dyb3VuZENvbG9yKCkgY29uc3QgeyByZXR1cm4gbV9wYWdlRXh0ZW5kZWRCYWNr
Z3JvdW5kQ29sb3I7IH0KICAgICB2b2lkIHNldFBhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvcihX
ZWJDb3JlOjpDb2xvciBjb2xvcikgeyBtX3BhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvciA9IGNv
bG9yOyB9CkBAIC0yNDIsNiArMjQ1LDcgQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8VHJhbnNhY3Rp
b25DYWxsYmFja0lEPiBtX2NhbGxiYWNrSURzOwogCiAgICAgV2ViQ29yZTo6SW50U2l6ZSBtX2Nv
bnRlbnRzU2l6ZTsKKyAgICBXZWJDb3JlOjpJbnRQb2ludCBtX3Njcm9sbE9yaWdpbjsKICNpZiBQ
TEFURk9STShNQUMpCiAgICAgV2ViQ29yZTo6SW50UG9pbnQgbV9zY3JvbGxQb3NpdGlvbjsKICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllclRy
ZWVUcmFuc2FjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJU
cmVlVHJhbnNhY3Rpb24ubW0KaW5kZXggMjc2MDc2ODA2OWUxYzVlZTgxMTFlZmI0OGI2OWRjMjE3
MTcxZmE0ZC4uZjY4YWNhMWQ4ZmEyMzAzMzE0ZjIzODM0NzQ4NjFiZWZlNjljYWM2ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlv
bi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRyYW5z
YWN0aW9uLm1tCkBAIC01MTYsNiArNTE2LDcgQEAgdm9pZCBSZW1vdGVMYXllclRyZWVUcmFuc2Fj
dGlvbjo6ZW5jb2RlKElQQzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVu
Y29kZXIgPDwgbV9sYXllcklEc1dpdGhOZXdseVVucmVhY2hhYmxlQmFja2luZ1N0b3JlOwogCiAg
ICAgZW5jb2RlciA8PCBtX2NvbnRlbnRzU2l6ZTsKKyAgICBlbmNvZGVyIDw8IG1fc2Nyb2xsT3Jp
Z2luOwogI2lmIFBMQVRGT1JNKE1BQykKICAgICBlbmNvZGVyIDw8IG1fc2Nyb2xsUG9zaXRpb247
CiAjZW5kaWYKQEAgLTU4MSw2ICs1ODIsOSBAQCBib29sIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0
aW9uOjpkZWNvZGUoSVBDOjpBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFJlbW90ZUxheQogICAg
IGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0Lm1fY29udGVudHNTaXplKSkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogCisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQubV9zY3JvbGxPcmln
aW4pKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICNpZiBQTEFURk9STShNQUMpCiAgICAgaWYg
KCFkZWNvZGVyLmRlY29kZShyZXN1bHQubV9zY3JvbGxQb3NpdGlvbikpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKQEAgLTEyNDIsNiArMTI0NiwxNSBAQCBDU3RyaW5nIFJlbW90ZUxheWVyVHJlZVRy
YW5zYWN0aW9uOjpkZXNjcmlwdGlvbigpIGNvbnN0CiB7CiAgICAgUmVtb3RlTGF5ZXJUcmVlVGV4
dFN0cmVhbSB0czsKIAorICAgIHRzIDw8ICIoIjsKKyAgICBkdW1wUHJvcGVydHkodHMsICJ0cmFu
c2FjdGlvbklEIiwgbV90cmFuc2FjdGlvbklEKTsKKyAgICBkdW1wUHJvcGVydHkodHMsICJjb250
ZW50c1NpemUiLCBtX2NvbnRlbnRzU2l6ZSk7CisgICAgaWYgKG1fc2Nyb2xsT3JpZ2luICE9IElu
dFBvaW50Ojp6ZXJvKCkpCisgICAgICAgIGR1bXBQcm9wZXJ0eSh0cywgInNjcm9sbE9yaWdpbiIs
IG1fc2Nyb2xsT3JpZ2luKTsKKworICAgIGlmIChtX3BhZ2VTY2FsZUZhY3RvciAhPSAxKQorICAg
ICAgICBkdW1wUHJvcGVydHkodHMsICJwYWdlU2NhbGVGYWN0b3IiLCBtX3BhZ2VTY2FsZUZhY3Rv
cik7CisKICAgICB0cyA8PCAiKFxuIjsKICAgICB0cy5pbmNyZWFzZUluZGVudCgpOwogICAgIHRz
LndyaXRlSW5kZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Lm1tCmluZGV4IDVjZTc1NTEzMmUwMjRhYzAzODgzY2ZlMzNhNzk5ODJlMzg1Y2E1
ZjMuLjY2NTZiN2RlMzcxMTQ4Nzk4M2U4Y2IwNGY2YWVjZmQyMGM4ZmQ0NWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0xMTQzLDEy
ICsxMTQzLDE0IEBAIHN0YXRpYyBXZWJDb3JlOjpGbG9hdFBvaW50IGNvbnN0cmFpbkNvbnRlbnRP
ZmZzZXQoV2ViQ29yZTo6RmxvYXRQb2ludCBjb250ZW50T2ZmCiAgICAgcmV0dXJuIGNvbnRlbnRP
ZmZzZXQ7CiB9CiAKLS0gKHZvaWQpX3Njcm9sbFRvQ29udGVudE9mZnNldDooV2ViQ29yZTo6Rmxv
YXRQb2ludCljb250ZW50T2Zmc2V0SW5QYWdlQ29vcmRpbmF0ZXMKKy0gKHZvaWQpX3Njcm9sbFRv
Q29udGVudE9mZnNldDooV2ViQ29yZTo6RmxvYXRQb2ludCljb250ZW50T2Zmc2V0SW5QYWdlQ29v
cmRpbmF0ZXMgc2Nyb2xsT3JpZ2luOihXZWJDb3JlOjpJbnRQb2ludClzY3JvbGxPcmlnaW4KIHsK
ICAgICBpZiAoX2R5bmFtaWNWaWV3cG9ydFVwZGF0ZU1vZGUgIT0gRHluYW1pY1ZpZXdwb3J0VXBk
YXRlTW9kZTo6Tm90UmVzaXppbmcpCiAgICAgICAgIHJldHVybjsKIAotICAgIFdlYkNvcmU6OkZs
b2F0UG9pbnQgc2NhbGVkT2Zmc2V0ID0gY29udGVudE9mZnNldEluUGFnZUNvb3JkaW5hdGVzOwor
ICAgIFdlYkNvcmU6OkZsb2F0UG9pbnQgY29udGVudE9mZnNldFJlc3BlY3RpbmdPcmlnaW4gPSBz
Y3JvbGxPcmlnaW4gKyB0b0Zsb2F0U2l6ZShjb250ZW50T2Zmc2V0SW5QYWdlQ29vcmRpbmF0ZXMp
OworCisgICAgV2ViQ29yZTo6RmxvYXRQb2ludCBzY2FsZWRPZmZzZXQgPSBjb250ZW50T2Zmc2V0
UmVzcGVjdGluZ09yaWdpbjsKICAgICBDR0Zsb2F0IHpvb21TY2FsZSA9IGNvbnRlbnRab29tU2Nh
bGUoc2VsZik7CiAgICAgc2NhbGVkT2Zmc2V0LnNjYWxlKHpvb21TY2FsZSwgem9vbVNjYWxlKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXdJbnRlcm5hbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXdJbnRlcm5hbC5oCmluZGV4IDljMWU1OTEwMDE3MGFhOWU1ODJiMGY3NTYxOWVjODY2MDZkMWFi
NGQuLmQyZGVmMjNmZDUyMDlkNDk5NDBhYWI0YWVlODk1ODA1M2Y0MmQ0ODIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFs
LmgKQEAgLTgxLDcgKzgxLDcgQEAgc3RydWN0IFByaW50SW5mbzsKIAogLSAoUGFzc1JlZlB0cjxX
ZWJLaXQ6OlZpZXdTbmFwc2hvdD4pX3Rha2VWaWV3U25hcHNob3Q7CiAKLS0gKHZvaWQpX3Njcm9s
bFRvQ29udGVudE9mZnNldDooV2ViQ29yZTo6RmxvYXRQb2ludCljb250ZW50T2Zmc2V0OworLSAo
dm9pZClfc2Nyb2xsVG9Db250ZW50T2Zmc2V0OihXZWJDb3JlOjpGbG9hdFBvaW50KWNvbnRlbnRP
ZmZzZXQgc2Nyb2xsT3JpZ2luOihXZWJDb3JlOjpJbnRQb2ludClzY3JvbGxPcmlnaW47CiAtIChC
T09MKV9zY3JvbGxUb1JlY3Q6KFdlYkNvcmU6OkZsb2F0UmVjdCl0YXJnZXRSZWN0IG9yaWdpbjoo
V2ViQ29yZTo6RmxvYXRQb2ludClvcmlnaW4gbWluaW11bVNjcm9sbERpc3RhbmNlOihmbG9hdClt
aW5pbXVtU2Nyb2xsRGlzdGFuY2U7CiAtICh2b2lkKV9zY3JvbGxCeU9mZnNldDooV2ViQ29yZTo6
RmxvYXRQb2ludClvZmZzZXQ7CiAtICh2b2lkKV96b29tVG9Gb2N1c1JlY3Q6KFdlYkNvcmU6OkZs
b2F0UmVjdClmb2N1c2VkRWxlbWVudFJlY3Qgc2VsZWN0aW9uUmVjdDooV2ViQ29yZTo6RmxvYXRS
ZWN0KXNlbGVjdGlvblJlY3RJbkRvY3VtZW50Q29vcmRpbmF0ZXMgZm9udFNpemU6KGZsb2F0KWZv
bnRTaXplIG1pbmltdW1TY2FsZTooZG91YmxlKW1pbmltdW1TY2FsZSBtYXhpbXVtU2NhbGU6KGRv
dWJsZSltYXhpbXVtU2NhbGUgYWxsb3dTY2FsaW5nOihCT09MKWFsbG93U2NhbGluZyBmb3JjZVNj
cm9sbDooQk9PTClmb3JjZVNjcm9sbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmNwcAppbmRleCA5YmJjZjBmOWI4NTlmMDliYzFjYjA4
YjYyNTJmYzM2ZmI4NWYwMGJlLi5iNTJmZjk1YWYzNDk0ZmMyZjhiNGZmMTcyNjZkZjNhNTA1MTlh
OWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xp
ZW50SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNs
aWVudEltcGwuY3BwCkBAIC03Nyw3ICs3Nyw3IEBAIHZvaWQgUGFnZUNsaWVudEltcGw6OnNjcm9s
bFZpZXcoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgc2Nyb2xsUmVjdCwgY29uc3QgV2ViQ29yCiAg
ICAgc2V0Vmlld05lZWRzRGlzcGxheShzY3JvbGxSZWN0KTsKIH0KIAotdm9pZCBQYWdlQ2xpZW50
SW1wbDo6cmVxdWVzdFNjcm9sbChjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiwgYm9vbCkKK3Zv
aWQgUGFnZUNsaWVudEltcGw6OnJlcXVlc3RTY3JvbGwoY29uc3QgV2ViQ29yZTo6RmxvYXRQb2lu
dCYsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiwgYm9vbCkKIHsKICAgICBub3RJbXBsZW1lbnRl
ZCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvUGFn
ZUNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGll
bnRJbXBsLmgKaW5kZXggMGMyNzRlYmY3ODFiZWUyNmExN2MxMDQ1ODNlZGNlZjRhNjk5ZDZhMC4u
OTI5OTcwODk4MzQ4MjRkNWI4MDFjZmMwOWJkODAxMGEyOGU5OTE4ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5oCkBAIC01OCw3ICs1
OCw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGRpc3BsYXlWaWV3KCkgb3ZlcnJpZGU7
CiAgICAgdmlydHVhbCBib29sIGNhblNjcm9sbFZpZXcoKSBvdmVycmlkZSB7IHJldHVybiBmYWxz
ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxWaWV3KGNvbnN0IFdlYkNvcmU6OkludFJlY3Qm
IHNjcm9sbFJlY3QsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHNjcm9sbE9mZnNldCkgb3ZlcnJp
ZGU7Ci0gICAgdmlydHVhbCB2b2lkIHJlcXVlc3RTY3JvbGwoY29uc3QgV2ViQ29yZTo6RmxvYXRQ
b2ludCYgc2Nyb2xsUG9zaXRpb24sIGJvb2wgaXNQcm9ncmFtbWF0aWNTY3JvbGwpIG92ZXJyaWRl
OworICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0U2Nyb2xsKGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9p
bnQmIHNjcm9sbFBvc2l0aW9uLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgc2Nyb2xsT3JpZ2lu
LCBib29sIGlzUHJvZ3JhbW1hdGljU2Nyb2xsKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIFdlYkNv
cmU6OkludFNpemUgdmlld1NpemUoKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGJvb2wgaXNWaWV3
V2luZG93QWN0aXZlKCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBib29sIGlzVmlld0ZvY3VzZWQo
KSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGlu
YXRlZEdyYXBoaWNzL1dlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvV2ViVmlldy5jcHAKaW5kZXggYWQzNTU2NGE2YjcyNzgxMzBmOTYxOGE4
Y2Q5MzlkMjE2YmM4Mjk4NC4uYTc3MGZlYzQ2YzRiMjdlZjE5ODExMDA4YjE1OWJkODM2MzBiYWM1
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvV2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvV2ViVmlldy5jcHAKQEAgLTMwNCw3ICszMDQsNyBAQCB2b2lkIFdlYlZpZXc6OnNj
cm9sbFZpZXcoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgc2Nyb2xsUmVjdCwgY29uc3QgV2ViQ29y
ZTo6SW50UwogICAgIHNldFZpZXdOZWVkc0Rpc3BsYXkoc2Nyb2xsUmVjdCk7CiB9CiAKLXZvaWQg
V2ViVmlldzo6cmVxdWVzdFNjcm9sbChjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiwgYm9vbCkK
K3ZvaWQgV2ViVmlldzo6cmVxdWVzdFNjcm9sbChjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50Jiwg
Y29uc3QgSW50UG9pbnQmLCBib29sKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJW
aWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJW
aWV3LmgKaW5kZXggM2ZiODI5YzhmODE3ZWM3Y2UyZTQ3NWQyZjliNTIxMzhmMjg4NmQ5OC4uMTE4
YWE2OTg1YWRhNmY5Njc5OTZjM2I1ZjA2MmEyNmUzMzg1NTI0ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmlldy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuaApAQCAt
MTI4LDcgKzEyOCw3IEBAIHByb3RlY3RlZDoKIAogICAgIHZpcnR1YWwgYm9vbCBjYW5TY3JvbGxW
aWV3KCkgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xs
Vmlldyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpIG92
ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0U2Nyb2xsKGNvbnN0IFdlYkNvcmU6OkZs
b2F0UG9pbnQmLCBib29sKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFNjcm9s
bChjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiwgY29uc3QgSW50UG9pbnQmLCBib29sKSBvdmVy
cmlkZTsKIAogICAgIHZpcnR1YWwgV2ViQ29yZTo6SW50U2l6ZSB2aWV3U2l6ZSgpIG92ZXJyaWRl
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAppbmRleCBmMmYxNmYxZTZjMmZi
OTE3MTYxYTg0NDJkMzJjOWY3MzE3ZDczOGNlLi5lNWQwNWNjMmI0OGU4NzNiNzkwZjBkZDQyZmQ0
MzAwMWEzMDdiZWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNs
aWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKQEAgLTk3
LDcgKzk3LDcgQEAgcHVibGljOgogICAgIC8vIFRlbGwgdGhlIHZpZXcgdG8gc2Nyb2xsIHNjcm9s
bFJlY3QgYnkgc2Nyb2xsT2Zmc2V0LgogICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxWaWV3KGNvbnN0
IFdlYkNvcmU6OkludFJlY3QmIHNjcm9sbFJlY3QsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHNj
cm9sbE9mZnNldCkgPSAwOwogICAgIC8vIFRlbGwgdGhlIHZpZXcgdG8gc2Nyb2xsIHRvIHRoZSBn
aXZlbiBwb3NpdGlvbiwgYW5kIHdoZXRoZXIgdGhpcyB3YXMgYSBwcm9ncmFtbWF0aWMgc2Nyb2xs
LgotICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0U2Nyb2xsKGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9p
bnQmIHNjcm9sbFBvc2l0aW9uLCBib29sIGlzUHJvZ3JhbW1hdGljU2Nyb2xsKSA9IDA7CisgICAg
dmlydHVhbCB2b2lkIHJlcXVlc3RTY3JvbGwoY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgc2Ny
b2xsUG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBzY3JvbGxPcmlnaW4sIGJvb2wg
aXNQcm9ncmFtbWF0aWNTY3JvbGwpID0gMDsKIAogICAgIC8vIFJldHVybiB0aGUgc2l6ZSBvZiB0
aGUgdmlldyB0aGUgcGFnZSBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgdmlydHVhbCBXZWJDb3Jl
OjpJbnRTaXplIHZpZXdTaXplKCkgPSAwOwpAQCAtMjc5LDcgKzI3OSw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgem9vbVRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QsIGRvdWJsZSBtaW5p
bXVtU2NhbGUsIGRvdWJsZSBtYXhpbXVtU2NhbGUpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlk
Q2hhbmdlVmlld3BvcnRNZXRhVGFnV2lkdGgoZmxvYXQpID0gMDsKICAgICB2aXJ0dWFsIGRvdWJs
ZSBtaW5pbXVtWm9vbVNjYWxlKCkgY29uc3QgPSAwOwotICAgIHZpcnR1YWwgV2ViQ29yZTo6Rmxv
YXRTaXplIGNvbnRlbnRzU2l6ZSgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OkZs
b2F0UmVjdCBkb2N1bWVudFJlY3QoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCB2b2lkIG92ZXJm
bG93U2Nyb2xsVmlld1dpbGxTdGFydFBhbkdlc3R1cmUoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lk
IG92ZXJmbG93U2Nyb2xsVmlld0RpZFNjcm9sbCgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgb3Zl
cmZsb3dTY3JvbGxXaWxsU3RhcnRTY3JvbGwoKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IGIzZGZiZGUwMjc0ZGYyZWY5N2M3NjZmMTVlMjIxZmVk
YzZmNWNiYmYuLjM1MWMyYTM3ZTJjNDIyZjMwNjdlZDhkYjA2YzU0NTM3NzJlMWYwMjEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0xMjc1LDkgKzEyNzUs
OSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c2Nyb2xsVmlldyhjb25zdCBJbnRSZWN0JiBzY3JvbGxS
ZWN0LCBjb25zdCBJbnRTaXplJiBzY3JvbGxPZgogICAgIG1fcGFnZUNsaWVudC5zY3JvbGxWaWV3
KHNjcm9sbFJlY3QsIHNjcm9sbE9mZnNldCk7CiB9CiAKLXZvaWQgV2ViUGFnZVByb3h5OjpyZXF1
ZXN0U2Nyb2xsKGNvbnN0IEZsb2F0UG9pbnQmIHNjcm9sbFBvc2l0aW9uLCBib29sIGlzUHJvZ3Jh
bW1hdGljU2Nyb2xsKQordm9pZCBXZWJQYWdlUHJveHk6OnJlcXVlc3RTY3JvbGwoY29uc3QgRmxv
YXRQb2ludCYgc2Nyb2xsUG9zaXRpb24sIGNvbnN0IEludFBvaW50JiBzY3JvbGxPcmlnaW4sIGJv
b2wgaXNQcm9ncmFtbWF0aWNTY3JvbGwpCiB7Ci0gICAgbV9wYWdlQ2xpZW50LnJlcXVlc3RTY3Jv
bGwoc2Nyb2xsUG9zaXRpb24sIGlzUHJvZ3JhbW1hdGljU2Nyb2xsKTsKKyAgICBtX3BhZ2VDbGll
bnQucmVxdWVzdFNjcm9sbChzY3JvbGxQb3NpdGlvbiwgc2Nyb2xsT3JpZ2luLCBpc1Byb2dyYW1t
YXRpY1Njcm9sbCk7CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5OjpzZXRTdXBwcmVzc1Zpc2liaWxp
dHlVcGRhdGVzKGJvb2wgZmxhZykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aAppbmRleCA0OTEyYWI5MGQwODJmMDMzMTM0OTcwZmI3OTUyNmM1MmM5YzFjNTZlLi5hNjIwYzUw
NGEwNjgzMGM5NTgyZWQ1MzQxY2Y4Yzg4OWRmMzIzNWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC00MTgsNyArNDE4LDcgQEAgcHVibGljOgogICAgIHZvaWQg
ZGlzcGxheVZpZXcoKTsKICAgICBib29sIGNhblNjcm9sbFZpZXcoKTsKICAgICB2b2lkIHNjcm9s
bFZpZXcoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgc2Nyb2xsUmVjdCwgY29uc3QgV2ViQ29yZTo6
SW50U2l6ZSYgc2Nyb2xsT2Zmc2V0KTsgLy8gRklYTUU6IENvb3JkaW5hdGVkR3JhcGhpY3Mgc2hv
dWxkIHVzZSByZXF1ZXN0U2Nyb2xsKCkuCi0gICAgdm9pZCByZXF1ZXN0U2Nyb2xsKGNvbnN0IFdl
YkNvcmU6OkZsb2F0UG9pbnQmIHNjcm9sbFBvc2l0aW9uLCBib29sIGlzUHJvZ3JhbW1hdGljU2Ny
b2xsKTsKKyAgICB2b2lkIHJlcXVlc3RTY3JvbGwoY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYg
c2Nyb2xsUG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBzY3JvbGxPcmlnaW4sIGJv
b2wgaXNQcm9ncmFtbWF0aWNTY3JvbGwpOwogICAgIAogICAgIHZvaWQgc2V0RGVsZWdhdGVzU2Ny
b2xsaW5nKGJvb2wgZGVsZWdhdGVzU2Nyb2xsaW5nKSB7IG1fZGVsZWdhdGVzU2Nyb2xsaW5nID0g
ZGVsZWdhdGVzU2Nyb2xsaW5nOyB9CiAgICAgYm9vbCBkZWxlZ2F0ZXNTY3JvbGxpbmcoKSBjb25z
dCB7IHJldHVybiBtX2RlbGVnYXRlc1Njcm9sbGluZzsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCmluZGV4IDg3YWI3YTI0NTVjZDU5Mzc2
ODYwNTMxZTZkOTMyZThlMDRhZWNiZWIuLjgxOGVkMmVlM2UyODFlY2QyZDJlOGI3NGJkYTIzYmM2
MWI2NGU1ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNs
aWVudEltcGxJT1MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGll
bnRJbXBsSU9TLmgKQEAgLTU2LDcgKzU2LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQg
ZGlzcGxheVZpZXcoKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGJvb2wgY2FuU2Nyb2xsVmlldygp
IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxWaWV3KGNvbnN0IFdlYkNvcmU6Oklu
dFJlY3QmIHNjcm9sbFJlY3QsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHNjcm9sbE9mZnNldCkg
b3ZlcnJpZGU7Ci0gICAgdmlydHVhbCB2b2lkIHJlcXVlc3RTY3JvbGwoY29uc3QgV2ViQ29yZTo6
RmxvYXRQb2ludCYgc2Nyb2xsUG9zaXRpb24sIGJvb2wgaXNQcm9ncmFtbWF0aWNTY3JvbGwpIG92
ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0U2Nyb2xsKGNvbnN0IFdlYkNvcmU6OkZs
b2F0UG9pbnQmIHNjcm9sbFBvc2l0aW9uLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgc2Nyb2xs
T3JpZ2luLCBib29sIGlzUHJvZ3JhbW1hdGljU2Nyb2xsKSBvdmVycmlkZTsKICAgICB2aXJ0dWFs
IFdlYkNvcmU6OkludFNpemUgdmlld1NpemUoKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGJvb2wg
aXNWaWV3V2luZG93QWN0aXZlKCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBib29sIGlzVmlld0Zv
Y3VzZWQoKSBvdmVycmlkZTsKQEAgLTEzNSw3ICsxMzUsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1
YWwgYm9vbCBoYW5kbGVSdW5PcGVuUGFuZWwoV2ViUGFnZVByb3h5KiwgV2ViRnJhbWVQcm94eSos
IFdlYk9wZW5QYW5lbFBhcmFtZXRlcnMqLCBXZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclByb3h5
Kikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZVZpZXdwb3J0TWV0YVRhZ1dp
ZHRoKGZsb2F0KSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGRvdWJsZSBtaW5pbXVtWm9vbVNjYWxl
KCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCBXZWJDb3JlOjpGbG9hdFNpemUgY29udGVu
dHNTaXplKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBXZWJDb3JlOjpGbG9hdFJlY3Qg
ZG9jdW1lbnRSZWN0KCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFsIHZvaWQgc2hvd0lu
c3BlY3RvckhpZ2hsaWdodChjb25zdCBXZWJDb3JlOjpIaWdobGlnaHQmKSBvdmVycmlkZTsKICAg
ICB2aXJ0dWFsIHZvaWQgaGlkZUluc3BlY3RvckhpZ2hsaWdodCgpIG92ZXJyaWRlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbSBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KaW5kZXgg
MjM4YjI3NTgzNDAxOGNjZWU2YzZhYzgwNjc0NWEwZjE0YmYwZTlhOC4uNWYwM2YwYmRkMzQzZDg5
Zjk1NzZiYTMxNTdmN2RlZWU5YTFiZDMwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCkBAIC0xNTQsMTAgKzE1NCwxMCBAQCB2b2lk
IFBhZ2VDbGllbnRJbXBsOjpzY3JvbGxWaWV3KGNvbnN0IEludFJlY3QmLCBjb25zdCBJbnRTaXpl
JikKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAotdm9pZCBQYWdlQ2xpZW50SW1wbDo6
cmVxdWVzdFNjcm9sbChjb25zdCBGbG9hdFBvaW50JiBzY3JvbGxQb3NpdGlvbiwgYm9vbCBpc1By
b2dyYW1tYXRpY1Njcm9sbCkKK3ZvaWQgUGFnZUNsaWVudEltcGw6OnJlcXVlc3RTY3JvbGwoY29u
c3QgRmxvYXRQb2ludCYgc2Nyb2xsUG9zaXRpb24sIGNvbnN0IEludFBvaW50JiBzY3JvbGxPcmln
aW4sIGJvb2wgaXNQcm9ncmFtbWF0aWNTY3JvbGwpCiB7CiAgICAgVU5VU0VEX1BBUkFNKGlzUHJv
Z3JhbW1hdGljU2Nyb2xsKTsKLSAgICBbbV93ZWJWaWV3IF9zY3JvbGxUb0NvbnRlbnRPZmZzZXQ6
c2Nyb2xsUG9zaXRpb25dOworICAgIFttX3dlYlZpZXcgX3Njcm9sbFRvQ29udGVudE9mZnNldDpz
Y3JvbGxQb3NpdGlvbiBzY3JvbGxPcmlnaW46c2Nyb2xsT3JpZ2luXTsKIH0KIAogSW50U2l6ZSBQ
YWdlQ2xpZW50SW1wbDo6dmlld1NpemUoKQpAQCAtMjc4LDkgKzI3OCw5IEBAIGRvdWJsZSBQYWdl
Q2xpZW50SW1wbDo6bWluaW11bVpvb21TY2FsZSgpIGNvbnN0CiAgICAgcmV0dXJuIDE7CiB9CiAK
LVdlYkNvcmU6OkZsb2F0U2l6ZSBQYWdlQ2xpZW50SW1wbDo6Y29udGVudHNTaXplKCkgY29uc3QK
K1dlYkNvcmU6OkZsb2F0UmVjdCBQYWdlQ2xpZW50SW1wbDo6ZG9jdW1lbnRSZWN0KCkgY29uc3QK
IHsKLSAgICByZXR1cm4gRmxvYXRTaXplKFttX2NvbnRlbnRWaWV3IGJvdW5kc10uc2l6ZSk7Cisg
ICAgcmV0dXJuIFttX2NvbnRlbnRWaWV3IGJvdW5kc107CiB9CiAKIHZvaWQgUGFnZUNsaWVudElt
cGw6OnNldEN1cnNvcihjb25zdCBDdXJzb3ImKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2lvcy9XS0NvbnRlbnRWaWV3Lm1tCmluZGV4IDQwN2NkN2YxZWE2YmFmOWI4NTdlMmY1MmJlYjY3
YzY5M2E0NmIwMTIuLjI0OTIzYTY2ZWM4YzYyNzA0OWUwZDk1ZWYwZjgzZDAwM2EwZTkzY2QgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW0KQEAgLTQ3
OSwxNCArNDc5LDIxIEBAIC0gKHZvaWQpX2RpZENvbW1pdExvYWRGb3JNYWluRnJhbWUKIC0gKHZv
aWQpX2RpZENvbW1pdExheWVyVHJlZTooY29uc3QgV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFu
c2FjdGlvbiYpbGF5ZXJUcmVlVHJhbnNhY3Rpb24KIHsKICAgICBDR1NpemUgY29udGVudHNTaXpl
ID0gbGF5ZXJUcmVlVHJhbnNhY3Rpb24uY29udGVudHNTaXplKCk7Ci0gICAgQ0dSZWN0IGNvbnRl
bnRCb3VuZHMgPSB7IENHUG9pbnRaZXJvLCBjb250ZW50c1NpemUgfTsKLSAgICBDR1JlY3Qgb2xk
Qm91bmRzID0gW3NlbGYgYm91bmRzXTsKKyAgICBDR1BvaW50IHNjcm9sbE9yaWdpbiA9IC1sYXll
clRyZWVUcmFuc2FjdGlvbi5zY3JvbGxPcmlnaW4oKTsKKyAgICBDR1JlY3QgY29udGVudEJvdW5k
cyA9IHsgc2Nyb2xsT3JpZ2luLCBjb250ZW50c1NpemUgfTsKIAotICAgIEJPT0wgYm91bmRzQ2hh
bmdlZCA9ICFDR1JlY3RFcXVhbFRvUmVjdChvbGRCb3VuZHMsIGNvbnRlbnRCb3VuZHMpOworICAg
IEJPT0wgYm91bmRzQ2hhbmdlZCA9ICFDR1JlY3RFcXVhbFRvUmVjdChbc2VsZiBib3VuZHNdLCBj
b250ZW50Qm91bmRzKTsKICAgICBpZiAoYm91bmRzQ2hhbmdlZCkKICAgICAgICAgW3NlbGYgc2V0
Qm91bmRzOmNvbnRlbnRCb3VuZHNdOwogCiAgICAgW193ZWJWaWV3IF9kaWRDb21taXRMYXllclRy
ZWU6bGF5ZXJUcmVlVHJhbnNhY3Rpb25dOworCisgICAgaWYgKF9pbnRlcmFjdGlvblZpZXdzQ29u
dGFpbmVyVmlldykgeworICAgICAgICBGbG9hdFBvaW50IHNjYWxlZE9yaWdpbiA9IGxheWVyVHJl
ZVRyYW5zYWN0aW9uLnNjcm9sbE9yaWdpbigpOworICAgICAgICBmbG9hdCBzY2FsZSA9IFtbX3dl
YlZpZXcgc2Nyb2xsVmlld10gem9vbVNjYWxlXTsKKyAgICAgICAgc2NhbGVkT3JpZ2luLnNjYWxl
KHNjYWxlLCBzY2FsZSk7CisgICAgICAgIFtfaW50ZXJhY3Rpb25WaWV3c0NvbnRhaW5lclZpZXcg
c2V0UG9zaXRpb246c2NhbGVkT3JpZ2luXTsKKyAgICB9CiAgICAgCiAgICAgaWYgKGJvdW5kc0No
YW5nZWQpIHsKICAgICAgICAgRmxvYXRSZWN0IGZpeGVkUG9zaXRpb25SZWN0ID0gX3BhZ2UtPmNv
bXB1dGVDdXN0b21GaXhlZFBvc2l0aW9uUmVjdChfcGFnZS0+dW5vYnNjdXJlZENvbnRlbnRSZWN0
KCksIFtbX3dlYlZpZXcgc2Nyb2xsVmlld10gem9vbVNjYWxlXSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbSBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tCmluZGV4IDg0YTBkMTIxZTY4NTYw
ZDZlZWNkMDNjZWUzMGU1ODk2M2RjZjg4ZjAuLmFhZGQwYTY1NzI3ZTBjMjAxYmFmYzIzMDJhNTZj
YzNkZGE5ZDMyMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2Vi
UGFnZVByb3h5SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViUGFn
ZVByb3h5SU9TLm1tCkBAIC0yMTcsOCArMjE3LDcgQEAgc3RhdGljIGlubGluZSBmbG9hdCBhZGp1
c3RlZFVuZXhwb3NlZE1heEVkZ2UoZmxvYXQgZG9jdW1lbnRFZGdlLCBmbG9hdCBleHBvc2VkUmUK
IFdlYkNvcmU6OkZsb2F0UmVjdCBXZWJQYWdlUHJveHk6OmNvbXB1dGVDdXN0b21GaXhlZFBvc2l0
aW9uUmVjdChjb25zdCBGbG9hdFJlY3QmIHVub2JzY3VyZWRDb250ZW50UmVjdCwgZG91YmxlIGRp
c3BsYXllZENvbnRlbnRTY2FsZSwgVW5vYnNjdXJlZFJlY3RDb25zdHJhaW50IGNvbnN0cmFpbnQp
IGNvbnN0CiB7CiAgICAgRmxvYXRSZWN0IGNvbnN0cmFpbmVkVW5vYnNjdXJlZFJlY3QgPSB1bm9i
c2N1cmVkQ29udGVudFJlY3Q7Ci0gICAgRmxvYXRTaXplIGNvbnRlbnRzU2l6ZSA9IG1fcGFnZUNs
aWVudC5jb250ZW50c1NpemUoKTsKLSAgICBGbG9hdFJlY3QgZG9jdW1lbnRSZWN0ID0gRmxvYXRS
ZWN0KEZsb2F0UG9pbnQoKSwgY29udGVudHNTaXplKTsKKyAgICBGbG9hdFJlY3QgZG9jdW1lbnRS
ZWN0ID0gbV9wYWdlQ2xpZW50LmRvY3VtZW50UmVjdCgpOwogCiAgICAgaWYgKG1fcGFnZUNsaWVu
dC5pc0Fzc2lzdGluZ05vZGUoKSkKICAgICAgICAgcmV0dXJuIGRvY3VtZW50UmVjdDsKQEAgLTIz
OCw3ICsyMzcsNyBAQCBXZWJDb3JlOjpGbG9hdFJlY3QgV2ViUGFnZVByb3h5Ojpjb21wdXRlQ3Vz
dG9tRml4ZWRQb3NpdGlvblJlY3QoY29uc3QgRmxvYXRSZWN0JgogICAgICAgICBjb25zdHJhaW5l
ZFVub2JzY3VyZWRSZWN0LnNldEhlaWdodChhZGp1c3RlZFVuZXhwb3NlZE1heEVkZ2UoZG9jdW1l
bnRSZWN0Lm1heFkoKSwgY29uc3RyYWluZWRVbm9ic2N1cmVkUmVjdC5tYXhZKCksIGZhY3Rvcikg
LSBjb25zdHJhaW5lZFVub2JzY3VyZWRSZWN0LnkoKSk7CiAgICAgfQogICAgIAotICAgIHJldHVy
biBGcmFtZVZpZXc6OnJlY3RGb3JWaWV3cG9ydENvbnN0cmFpbmVkT2JqZWN0cyhlbmNsb3NpbmdM
YXlvdXRSZWN0KGNvbnN0cmFpbmVkVW5vYnNjdXJlZFJlY3QpLCBMYXlvdXRTaXplKGNvbnRlbnRz
U2l6ZSksIGRpc3BsYXllZENvbnRlbnRTY2FsZSwgZmFsc2UsIFN0aWNrVG9WaWV3cG9ydEJvdW5k
cyk7CisgICAgcmV0dXJuIEZyYW1lVmlldzo6cmVjdEZvclZpZXdwb3J0Q29uc3RyYWluZWRPYmpl
Y3RzKGVuY2xvc2luZ0xheW91dFJlY3QoY29uc3RyYWluZWRVbm9ic2N1cmVkUmVjdCksIExheW91
dFNpemUoZG9jdW1lbnRSZWN0LnNpemUoKSksIGRpc3BsYXllZENvbnRlbnRTY2FsZSwgZmFsc2Us
IFN0aWNrVG9WaWV3cG9ydEJvdW5kcyk7CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5OjpvdmVyZmxv
d1Njcm9sbFZpZXdXaWxsU3RhcnRQYW5HZXN0dXJlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9tYWMvUGFnZUNsaWVudEltcGwuaAppbmRleCA3MmJhMGJmZmYwYjlhNTJlNzAzOGZlYzZi
YTJkYjA0ZDBiZDliMWIwLi5jZWUxZGYwMDEwYTUzZTE2NTI1MWUyZGQ4Njk2MzdlNGY0MTMwOThl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBs
LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5oCkBA
IC02MSw3ICs2MSw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGRpc3BsYXlWaWV3KCkg
b3ZlcnJpZGU7CiAgICAgdmlydHVhbCBib29sIGNhblNjcm9sbFZpZXcoKSBvdmVycmlkZTsKICAg
ICB2aXJ0dWFsIHZvaWQgc2Nyb2xsVmlldyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBzY3JvbGxS
ZWN0LCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBzY3JvbGxPZmZzZXQpIG92ZXJyaWRlOwotICAg
IHZpcnR1YWwgdm9pZCByZXF1ZXN0U2Nyb2xsKGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHNj
cm9sbFBvc2l0aW9uLCBib29sIGlzUHJvZ3JhbW1hdGljU2Nyb2xsKSBvdmVycmlkZTsKKyAgICB2
aXJ0dWFsIHZvaWQgcmVxdWVzdFNjcm9sbChjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBzY3Jv
bGxQb3NpdGlvbiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHNjcm9sbE9yaWdpbiwgYm9vbCBp
c1Byb2dyYW1tYXRpY1Njcm9sbCkgb3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFsIFdlYkNvcmU6Oklu
dFNpemUgdmlld1NpemUoKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGJvb2wgaXNWaWV3V2luZG93
QWN0aXZlKCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
bWFjL1BhZ2VDbGllbnRJbXBsLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdl
Q2xpZW50SW1wbC5tbQppbmRleCBjZWEzMzBkZjAxNGZlNTJkOGUxYjlkNzEzYWE3NjEyYTU3N2I3
N2YxLi45YTY1NDY2NTgwNDkxOTQ0YWVhYWZhYjEzMDk1NmNkYjBlYTVkZmJhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW0KQEAgLTE4MSw3ICsx
ODEsNyBAQCB2b2lkIFBhZ2VDbGllbnRJbXBsOjpzY3JvbGxWaWV3KGNvbnN0IEludFJlY3QmIHNj
cm9sbFJlY3QsIGNvbnN0IEludFNpemUmIHNjcm9sbAogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwogfQogCi12b2lkIFBhZ2VDbGllbnRJbXBsOjpyZXF1ZXN0U2Nyb2xsKGNvbnN0IEZsb2F0UG9p
bnQmIHNjcm9sbFBvc2l0aW9uLCBib29sIGlzUHJvZ3JhbW1hdGljU2Nyb2xsKQordm9pZCBQYWdl
Q2xpZW50SW1wbDo6cmVxdWVzdFNjcm9sbChjb25zdCBGbG9hdFBvaW50JiBzY3JvbGxQb3NpdGlv
biwgY29uc3QgSW50UG9pbnQmIHNjcm9sbE9yaWdpbiwgYm9vbCBpc1Byb2dyYW1tYXRpY1Njcm9s
bCkKIHsKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5tbSBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQ
cm94eS5tbQppbmRleCA5NWZiYTA0MDY4YWJiODI4YTBiYjJiMjZlMjhkNWFmZjVkZjgzZWRkLi4x
ZTMwYmRlYTM1MWM0ODIxNmExNmRmMmQ5OTk1ZTc3NzNkODE2OGFhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHku
bW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVEcmF3
aW5nQXJlYVByb3h5Lm1tCkBAIC0yMTgsNyArMjE4LDcgQEAgdm9pZCBSZW1vdGVMYXllclRyZWVE
cmF3aW5nQXJlYVByb3h5Ojpjb21taXRMYXllclRyZWUoY29uc3QgUmVtb3RlTGF5ZXJUcmVlVHJh
bnMKICAgICAvLyBIYW5kbGUgcmVxdWVzdGVkIHNjcm9sbCBwb3NpdGlvbiB1cGRhdGVzIGZyb20g
dGhlIHNjcm9sbGluZyB0cmVlIHRyYW5zYWN0aW9uIGFmdGVyIGRpZENvbW1pdExheWVyVHJlZSgp
CiAgICAgLy8gaGFzIHVwZGF0ZWQgdGhlIHZpZXcgc2l6ZSBiYXNlZCBvbiB0aGUgY29udGVudCBz
aXplLgogICAgIGlmIChyZXF1ZXN0ZWRTY3JvbGxJbmZvLnJlcXVlc3RzU2Nyb2xsUG9zaXRpb25V
cGRhdGUpCi0gICAgICAgIG1fd2ViUGFnZVByb3h5LnJlcXVlc3RTY3JvbGwocmVxdWVzdGVkU2Ny
b2xsSW5mby5yZXF1ZXN0ZWRTY3JvbGxQb3NpdGlvbiwgcmVxdWVzdGVkU2Nyb2xsSW5mby5yZXF1
ZXN0SXNQcm9ncmFtbWF0aWNTY3JvbGwpOworICAgICAgICBtX3dlYlBhZ2VQcm94eS5yZXF1ZXN0
U2Nyb2xsKHJlcXVlc3RlZFNjcm9sbEluZm8ucmVxdWVzdGVkU2Nyb2xsUG9zaXRpb24sIGxheWVy
VHJlZVRyYW5zYWN0aW9uLnNjcm9sbE9yaWdpbigpLCByZXF1ZXN0ZWRTY3JvbGxJbmZvLnJlcXVl
c3RJc1Byb2dyYW1tYXRpY1Njcm9sbCk7CiAjZW5kaWYgLy8gRU5BQkxFKEFTWU5DX1NDUk9MTElO
RykKIAogICAgIGlmIChtX2RlYnVnSW5kaWNhdG9yTGF5ZXJUcmVlSG9zdCkgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDRkZTgxNjQwZWIz
MDE5NTYxYzBmN2VjMTg5N2YxODE1NzkyZjU3MmIuLjAxODM2MDNjNDA1ZDEwZDBjYWJlNDZiOWEw
OTgzY2IxODFhZWJmNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHAKQEAgLTI5NDgsNiArMjk0OCw3IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlUHJl
ZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiB2b2lkIFdlYlBhZ2U6
OndpbGxDb21taXRMYXllclRyZWUoUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24mIGxheWVyVHJh
bnNhY3Rpb24pCiB7CiAgICAgbGF5ZXJUcmFuc2FjdGlvbi5zZXRDb250ZW50c1NpemUoY29yZVBh
Z2UoKS0+bWFpbkZyYW1lKCkudmlldygpLT5jb250ZW50c1NpemUoKSk7CisgICAgbGF5ZXJUcmFu
c2FjdGlvbi5zZXRTY3JvbGxPcmlnaW4oY29yZVBhZ2UoKS0+bWFpbkZyYW1lKCkudmlldygpLT5z
Y3JvbGxPcmlnaW4oKSk7CiAgICAgbGF5ZXJUcmFuc2FjdGlvbi5zZXRQYWdlU2NhbGVGYWN0b3Io
Y29yZVBhZ2UoKS0+cGFnZVNjYWxlRmFjdG9yKCkpOwogICAgIGxheWVyVHJhbnNhY3Rpb24uc2V0
UmVuZGVyVHJlZVNpemUoY29yZVBhZ2UoKS0+cmVuZGVyVHJlZVNpemUoKSk7CiAgICAgbGF5ZXJU
cmFuc2FjdGlvbi5zZXRQYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3IoY29yZVBhZ2UoKS0+cGFn
ZUV4dGVuZGVkQmFja2dyb3VuZENvbG9yKCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256657</attachid>
            <date>2015-07-11 10:51:12 -0700</date>
            <delta_ts>2015-07-11 10:58:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146872-20150711105009.patch</filename>
            <type>text/plain</type>
            <size>27672</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg2NTQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjQ4ZjRjNWQ2MGNkNjA2
MjY3ZTI1ZDE2OWYyMTgxOWRhNWYwM2U3NS4uOTZiZDk0YjU2MjNiZDIzZTA3MWU4YzQ5MTIxMGE3
MTA2ZmU1MzRhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE1LTA3LTEwICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1MgV0syXSBT
Y3JvbGxpbmcgaXNzdWVzIG9uIGhvcml6b250YWxseSBzY3JvbGxhYmxlIFJUTCBwYWdlcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ2ODcyCisgICAg
ICAgIHJkYXI6Ly9wcm9ibGVtLzc1Njk0MTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBIb3Jpem9udGFsbHkgc2Nyb2xsYWJsZSBSVEwgcGFnZXMgaW4g
V2ViS2l0MiBoYWQgYSB2YXJpZXR5IG9mIGlzc3VlczogdGhleSBoYWQKKyAgICAgICAgYSBnYXAg
ZG93biB0aGUgcmlnaHQgZWRnZSwgYW5kIHVucmVhY2hhYmxlIGNvbnRlbnQgb24gdGhlIGxlZnQg
c2lkZSwgZm9jdXNzaW5nCisgICAgICAgIGZvcm0gZmllbGRzIHNjcm9sbGVkIHRvIHRoZSB3cm9u
ZyBsb2NhdGlvbiwgYW5kIHByb2dyYW1tYXRpYyBzY3JvbGxzIHNjcm9sbGVkCisgICAgICAgIHRv
IHRoZSB3cm9uZyBwbGFjZS4KKyAgICAgICAgCisgICAgICAgIEZpeCBieSBwbHVtYmluZyB0aGUg
V2ViQ29yZSBub3Rpb24gb2Ygc2Nyb2xsT3JpZ2luIHRocm91Z2ggdG8gdGhlIFVJIHByb2Nlc3Ms
CisgICAgICAgIGFuZCB1c2luZyBpdCBpbiB2YXJpb3VzIHBsYWNlcy4gVGhlcmUgYXJlIHRocmVl
IG1haW4gYXNwZWN0cyB0byB0aGUgcGF0Y2g6CisgICAgICAgIAorICAgICAgICAxLiBzY3JvbGwg
b3JpZ2luIGlzIGluY2x1ZGVkIGluIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLCBhbmQgcGx1
bWJlZCB0aHJvdWdoCisgICAgICAgICAgIHRvIC1bV0tXZWJWaWV3IF9zY3JvbGxUb0NvbnRlbnRP
ZmZzZXQ6XSBmb3IgY29ycmVjdCBwcm9ncmFtbWF0aWMgc2Nyb2xsaW5nLAorICAgICAgICAgICBp
bmNsdWRpbmcgem9vbWluZyB0byBmb2N1c3NlZCBmb3JtIGVsZW1lbnRzLgorICAgICAgICAyLiBX
ZWJQYWdlUHJveHk6OmNvbXB1dGVDdXN0b21GaXhlZFBvc2l0aW9uUmVjdCgpIHVzZXMgdGhlIGFj
dHVhbCBkb2N1bWVudFJlY3QoKQorICAgICAgICAgICByYXRoZXIgdGhhbiBqdXN0IGNvbmp1cmlu
ZyB1cCBhIHJlY3Qgd2l0aCBhIHplcm8gb3JpZ2luLCB3aGljaCBtYWtlcyBwb3NpdGlvbjpmaXhl
ZAorICAgICAgICAgICB3b3JrIGNvcnJlY3RseS4KKyAgICAgICAgMy4gX2ludGVyYWN0aW9uVmll
d3NDb250YWluZXJWaWV3ICh3aGljaCBob3N0cyB0YXAgaGlnaGxpZ2h0cykgaXMgcG9zaXRpb25l
ZCB0byAKKyAgICAgICAgICAgY29pbmNpZGUgd2l0aCB0aGUgb3JpZ2luIG9mIHRoZSBkb2N1bWVu
dFJlY3QgKGkuZS4gYXQgdGhlIHNjcm9sbCBvcmlnaW4sIHdoaWNoCisgICAgICAgICAgIG1heSBu
b3QgYmUgdG9wLWxlZnQpLiBUaGlzIGFsbG93cyB0YXAgaGlnaGxpZ2h0cyB0byBzaG93IGluIHRo
ZSBjb3JyZWN0IGxvY2F0aW9uLgorICAgICAgICA0LiBTY3JvbGxWaWV3Ojp1bm9ic2N1cmVkQ29u
dGVudFJlY3QoKSBpcyBmaXhlZCB0byB0YWtlIHNjcm9sbCBvcmlnaW4gaW50byBhY2NvdW50Owor
ICAgICAgICAgICBpZiB0aGUgcmV0dXJuZWQgcmVjdCBpcyB3cm9uZywgUmVuZGVyTGF5ZXI6Omhp
dFRlc3QoKSBpbmNvcnJlY3RseSBjbGlwcyB0aGUgaGl0CisgICAgICAgICAgIHRlc3RpbmcgYXJl
YS4KKworICAgICAgICAqIHBsYXRmb3JtL2lvcy9TY3JvbGxWaWV3SU9TLm1tOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsVmlldzo6dW5vYnNjdXJlZENvbnRlbnRSZWN0KToKKwogMjAxNS0wNy0w
OCAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgQXVkaW8gZWxlbWVu
dHMgd2l0aCBjb250cm9scyBmb3JjZSB0aGVpciBlbmNsb3Npbmcgc3RhY2tpbmcgY29udGV4dCB0
byBjb21wb3NpdGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBlY2UxYjQwOTE5NDYyMjBkZTQwNDdkZGVkMTIzOTdj
YzgxOTkwOGJhLi42NzI4MjlhZTcyZDdlZTk4MWIzNjUzYTM3YTJlYzUwOTcyMTgyN2Q4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNzEgQEAKKzIwMTUtMDctMTAgIFNpbW9uIEZyYXNlciAgPHNpbW9u
LmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPUyBXSzJdIFNjcm9sbGluZyBpc3N1ZXMg
b24gaG9yaXpvbnRhbGx5IHNjcm9sbGFibGUgUlRMIHBhZ2VzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDY4NzIKKyAgICAgICAgcmRhcjovL3Byb2Js
ZW0vNzU2OTQxNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAg
ICAKKyAgICAgICAgSG9yaXpvbnRhbGx5IHNjcm9sbGFibGUgUlRMIHBhZ2VzIGluIFdlYktpdDIg
aGFkIGEgdmFyaWV0eSBvZiBpc3N1ZXM6IHRoZXkgaGFkCisgICAgICAgIGEgZ2FwIGRvd24gdGhl
IHJpZ2h0IGVkZ2UsIGFuZCB1bnJlYWNoYWJsZSBjb250ZW50IG9uIHRoZSBsZWZ0IHNpZGUsIGZv
Y3Vzc2luZworICAgICAgICBmb3JtIGZpZWxkcyBzY3JvbGxlZCB0byB0aGUgd3JvbmcgbG9jYXRp
b24sIGFuZCBwcm9ncmFtbWF0aWMgc2Nyb2xscyBzY3JvbGxlZAorICAgICAgICB0byB0aGUgd3Jv
bmcgcGxhY2UuCisgICAgICAgIAorICAgICAgICBGaXggYnkgcGx1bWJpbmcgdGhlIFdlYkNvcmUg
bm90aW9uIG9mIHNjcm9sbE9yaWdpbiB0aHJvdWdoIHRvIHRoZSBVSSBwcm9jZXNzLAorICAgICAg
ICBhbmQgdXNpbmcgaXQgaW4gdmFyaW91cyBwbGFjZXMuIFRoZXJlIGFyZSB0aHJlZSBtYWluIGFz
cGVjdHMgdG8gdGhlIHBhdGNoOgorICAgICAgICAKKyAgICAgICAgMS4gc2Nyb2xsIG9yaWdpbiBp
cyBpbmNsdWRlZCBpbiBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbiwgYW5kIHBsdW1iZWQgdGhy
b3VnaAorICAgICAgICAgICB0byAtW1dLV2ViVmlldyBfc2Nyb2xsVG9Db250ZW50T2Zmc2V0Ol0g
Zm9yIGNvcnJlY3QgcHJvZ3JhbW1hdGljIHNjcm9sbGluZywKKyAgICAgICAgICAgaW5jbHVkaW5n
IHpvb21pbmcgdG8gZm9jdXNlZCBmb3JtIGVsZW1lbnRzLiBUaGUgV0tDb250ZW50VmlldydzIGJv
dW5kc09yaWdpbgorICAgICAgICAgICBpcyBzZXQgdG8gdGhlIHNjcm9sbCBvcmlnaW4gc28gdGhh
dCB0aGUgdmlldyBjb29yZGluYXRlcyBtYXRjaCBkb2N1bWVudCBjb29yZGluYXRlcy4KKyAgICAg
ICAgMi4gV2ViUGFnZVByb3h5Ojpjb21wdXRlQ3VzdG9tRml4ZWRQb3NpdGlvblJlY3QoKSB1c2Vz
IHRoZSBhY3R1YWwgZG9jdW1lbnRSZWN0KCkKKyAgICAgICAgICAgcmF0aGVyIHRoYW4ganVzdCBj
b25qdXJpbmcgdXAgYSByZWN0IHdpdGggYSB6ZXJvIG9yaWdpbiwgd2hpY2ggbWFrZXMgcG9zaXRp
b246Zml4ZWQKKyAgICAgICAgICAgd29yayBjb3JyZWN0bHkuCisgICAgICAgIDMuIF9pbnRlcmFj
dGlvblZpZXdzQ29udGFpbmVyVmlldyAod2hpY2ggaG9zdHMgdGFwIGhpZ2hsaWdodHMpIGlzIHBv
c2l0aW9uZWQgdG8gCisgICAgICAgICAgIGNvaW5jaWRlIHdpdGggdGhlIG9yaWdpbiBvZiB0aGUg
ZG9jdW1lbnRSZWN0IChpLmUuIGF0IHRoZSBzY3JvbGwgb3JpZ2luLCB3aGljaAorICAgICAgICAg
ICBtYXkgbm90IGJlIHRvcC1sZWZ0KS4gVGhpcyBhbGxvd3MgdGFwIGhpZ2hsaWdodHMgdG8gc2hv
dyBpbiB0aGUgY29ycmVjdCBsb2NhdGlvbi4KKyAgICAgICAgNC4gU2Nyb2xsVmlldzo6dW5vYnNj
dXJlZENvbnRlbnRSZWN0KCkgaXMgZml4ZWQgdG8gdGFrZSBzY3JvbGwgb3JpZ2luIGludG8gYWNj
b3VudDsKKyAgICAgICAgICAgaWYgdGhlIHJldHVybmVkIHJlY3QgaXMgd3JvbmcsIFJlbmRlckxh
eWVyOjpoaXRUZXN0KCkgaW5jb3JyZWN0bHkgY2xpcHMgdGhlIGhpdAorICAgICAgICAgICB0ZXN0
aW5nIGFyZWEuCisKKyAgICAgICAgKiBTaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0
aW9uLmg6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpzY3Jv
bGxPcmlnaW4pOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6
c2V0U2Nyb2xsT3JpZ2luKToKKyAgICAgICAgKiBTaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRy
YW5zYWN0aW9uLm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlv
bjo6ZW5jb2RlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246
OmRlY29kZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpk
ZXNjcmlwdGlvbik6IER1bXAgc29tZSBtb3JlIGluZm8uCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBfc2Nyb2xsVG9Db250
ZW50T2Zmc2V0OnNjcm9sbE9yaWdpbjpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9zY3JvbGxU
b0NvbnRlbnRPZmZzZXQ6XSk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXdJbnRlcm5hbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VD
bGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OnJlcXVlc3RT
Y3JvbGwpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmlldy5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlZpZXc6OnJlcXVlc3RTY3JvbGwpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFn
ZUNsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnJlcXVlc3RTY3JvbGwpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJ
bXBsSU9TLmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbToK
KyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OnJlcXVlc3RTY3JvbGwpOgorICAgICAg
ICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6ZG9jdW1lbnRSZWN0KToKKyAgICAgICAgKFdlYktp
dDo6UGFnZUNsaWVudEltcGw6OmNvbnRlbnRzU2l6ZSk6IERlbGV0ZWQuCisgICAgICAgICogVUlQ
cm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9k
aWRDb21taXRMYXllclRyZWU6XSk6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJv
eHlJT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y29tcHV0ZUN1c3RvbUZp
eGVkUG9zaXRpb25SZWN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBs
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbToKKyAgICAgICAg
KFdlYktpdDo6UGFnZUNsaWVudEltcGw6OnJlcXVlc3RTY3JvbGwpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5tbToKKyAgICAgICAgKFdl
YktpdDo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eTo6Y29tbWl0TGF5ZXJUcmVlKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2U6OndpbGxDb21taXRMYXllclRyZWUpOgorCiAyMDE1LTA3LTA4ICBNYXR0IFJh
amNhICA8bXJhamNhQGFwcGxlLmNvbT4KIAogICAgICAgICBNZWRpYSBTZXNzaW9uOiBpbmRpY2F0
ZSB0byBjbGllbnRzIHdoZXRoZXIgYSBtZWRpYSBzZXNzaW9uIGhhcyBhY3RpdmUgbWVkaWEgZWxl
bWVudHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxWaWV3
SU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Njcm9sbFZpZXdJT1MubW0KaW5k
ZXggZDY3ZjU5ZDU3YmFhMThjOWQzM2FhMWU1MWJlZGM2ZDc3ZWFiNGE3OS4uOGU0ZWE5ZmQxMTRi
Zjg1MGQ4NTllMThmN2M0ZjhiMDZlMmM0ZTM0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vaW9zL1Njcm9sbFZpZXdJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW9zL1Njcm9sbFZpZXdJT1MubW0KQEAgLTEwOCw3ICsxMDgsNyBAQCBJbnRSZWN0IFNjcm9s
bFZpZXc6OnVub2JzY3VyZWRDb250ZW50UmVjdChWaXNpYmxlQ29udGVudFJlY3RJbmNsdWRlc1Nj
cm9sbGJhcnMpCiAgICAgfQogCiAgICAgaWYgKCFtX3Vub2JzY3VyZWRDb250ZW50U2l6ZS5pc0Vt
cHR5KCkpCi0gICAgICAgIHJldHVybiBJbnRSZWN0KEludFBvaW50KG1fc2Nyb2xsT2Zmc2V0KSwg
cm91bmRlZEludFNpemUobV91bm9ic2N1cmVkQ29udGVudFNpemUpKTsKKyAgICAgICAgcmV0dXJu
IEludFJlY3Qoc2Nyb2xsT3JpZ2luKCkgKyBtX3Njcm9sbE9mZnNldCwgcm91bmRlZEludFNpemUo
bV91bm9ic2N1cmVkQ29udGVudFNpemUpKTsKIAogICAgIHJldHVybiB1bm9ic2N1cmVkQ29udGVu
dFJlY3RJbnRlcm5hbCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21h
Yy9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21h
Yy9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5oCmluZGV4IGFiODYzMTU2ZDliNWNmMGQzYTM2
NDdmODM2ZTU1NmM1MTA1MWZkMTIuLmVkYjRkODc3YTEyOTgzOTk4NTE5MGYzMzI3OTgzMTM1Yzgx
YzI2YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJU
cmVlVHJhbnNhY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxh
eWVyVHJlZVRyYW5zYWN0aW9uLmgKQEAgLTE5NSw2ICsxOTUsOSBAQCBwdWJsaWM6CiAKICAgICBX
ZWJDb3JlOjpJbnRTaXplIGNvbnRlbnRzU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVudHNT
aXplOyB9CiAgICAgdm9pZCBzZXRDb250ZW50c1NpemUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYg
c2l6ZSkgeyBtX2NvbnRlbnRzU2l6ZSA9IHNpemU7IH07CisKKyAgICBXZWJDb3JlOjpJbnRQb2lu
dCBzY3JvbGxPcmlnaW4oKSBjb25zdCB7IHJldHVybiBtX3Njcm9sbE9yaWdpbjsgfQorICAgIHZv
aWQgc2V0U2Nyb2xsT3JpZ2luKGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBvcmlnaW4pIHsgbV9z
Y3JvbGxPcmlnaW4gPSBvcmlnaW47IH07CiAgICAgCiAgICAgV2ViQ29yZTo6Q29sb3IgcGFnZUV4
dGVuZGVkQmFja2dyb3VuZENvbG9yKCkgY29uc3QgeyByZXR1cm4gbV9wYWdlRXh0ZW5kZWRCYWNr
Z3JvdW5kQ29sb3I7IH0KICAgICB2b2lkIHNldFBhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvcihX
ZWJDb3JlOjpDb2xvciBjb2xvcikgeyBtX3BhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvciA9IGNv
bG9yOyB9CkBAIC0yNDIsNiArMjQ1LDcgQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8VHJhbnNhY3Rp
b25DYWxsYmFja0lEPiBtX2NhbGxiYWNrSURzOwogCiAgICAgV2ViQ29yZTo6SW50U2l6ZSBtX2Nv
bnRlbnRzU2l6ZTsKKyAgICBXZWJDb3JlOjpJbnRQb2ludCBtX3Njcm9sbE9yaWdpbjsKICNpZiBQ
TEFURk9STShNQUMpCiAgICAgV2ViQ29yZTo6SW50UG9pbnQgbV9zY3JvbGxQb3NpdGlvbjsKICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllclRy
ZWVUcmFuc2FjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJU
cmVlVHJhbnNhY3Rpb24ubW0KaW5kZXggMjc2MDc2ODA2OWUxYzVlZTgxMTFlZmI0OGI2OWRjMjE3
MTcxZmE0ZC4uZjY4YWNhMWQ4ZmEyMzAzMzE0ZjIzODM0NzQ4NjFiZWZlNjljYWM2ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlv
bi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRyYW5z
YWN0aW9uLm1tCkBAIC01MTYsNiArNTE2LDcgQEAgdm9pZCBSZW1vdGVMYXllclRyZWVUcmFuc2Fj
dGlvbjo6ZW5jb2RlKElQQzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVu
Y29kZXIgPDwgbV9sYXllcklEc1dpdGhOZXdseVVucmVhY2hhYmxlQmFja2luZ1N0b3JlOwogCiAg
ICAgZW5jb2RlciA8PCBtX2NvbnRlbnRzU2l6ZTsKKyAgICBlbmNvZGVyIDw8IG1fc2Nyb2xsT3Jp
Z2luOwogI2lmIFBMQVRGT1JNKE1BQykKICAgICBlbmNvZGVyIDw8IG1fc2Nyb2xsUG9zaXRpb247
CiAjZW5kaWYKQEAgLTU4MSw2ICs1ODIsOSBAQCBib29sIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0
aW9uOjpkZWNvZGUoSVBDOjpBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFJlbW90ZUxheQogICAg
IGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0Lm1fY29udGVudHNTaXplKSkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogCisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQubV9zY3JvbGxPcmln
aW4pKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICNpZiBQTEFURk9STShNQUMpCiAgICAgaWYg
KCFkZWNvZGVyLmRlY29kZShyZXN1bHQubV9zY3JvbGxQb3NpdGlvbikpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKQEAgLTEyNDIsNiArMTI0NiwxNSBAQCBDU3RyaW5nIFJlbW90ZUxheWVyVHJlZVRy
YW5zYWN0aW9uOjpkZXNjcmlwdGlvbigpIGNvbnN0CiB7CiAgICAgUmVtb3RlTGF5ZXJUcmVlVGV4
dFN0cmVhbSB0czsKIAorICAgIHRzIDw8ICIoIjsKKyAgICBkdW1wUHJvcGVydHkodHMsICJ0cmFu
c2FjdGlvbklEIiwgbV90cmFuc2FjdGlvbklEKTsKKyAgICBkdW1wUHJvcGVydHkodHMsICJjb250
ZW50c1NpemUiLCBtX2NvbnRlbnRzU2l6ZSk7CisgICAgaWYgKG1fc2Nyb2xsT3JpZ2luICE9IElu
dFBvaW50Ojp6ZXJvKCkpCisgICAgICAgIGR1bXBQcm9wZXJ0eSh0cywgInNjcm9sbE9yaWdpbiIs
IG1fc2Nyb2xsT3JpZ2luKTsKKworICAgIGlmIChtX3BhZ2VTY2FsZUZhY3RvciAhPSAxKQorICAg
ICAgICBkdW1wUHJvcGVydHkodHMsICJwYWdlU2NhbGVGYWN0b3IiLCBtX3BhZ2VTY2FsZUZhY3Rv
cik7CisKICAgICB0cyA8PCAiKFxuIjsKICAgICB0cy5pbmNyZWFzZUluZGVudCgpOwogICAgIHRz
LndyaXRlSW5kZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Lm1tCmluZGV4IDVjZTc1NTEzMmUwMjRhYzAzODgzY2ZlMzNhNzk5ODJlMzg1Y2E1
ZjMuLjY2NTZiN2RlMzcxMTQ4Nzk4M2U4Y2IwNGY2YWVjZmQyMGM4ZmQ0NWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0xMTQzLDEy
ICsxMTQzLDE0IEBAIHN0YXRpYyBXZWJDb3JlOjpGbG9hdFBvaW50IGNvbnN0cmFpbkNvbnRlbnRP
ZmZzZXQoV2ViQ29yZTo6RmxvYXRQb2ludCBjb250ZW50T2ZmCiAgICAgcmV0dXJuIGNvbnRlbnRP
ZmZzZXQ7CiB9CiAKLS0gKHZvaWQpX3Njcm9sbFRvQ29udGVudE9mZnNldDooV2ViQ29yZTo6Rmxv
YXRQb2ludCljb250ZW50T2Zmc2V0SW5QYWdlQ29vcmRpbmF0ZXMKKy0gKHZvaWQpX3Njcm9sbFRv
Q29udGVudE9mZnNldDooV2ViQ29yZTo6RmxvYXRQb2ludCljb250ZW50T2Zmc2V0SW5QYWdlQ29v
cmRpbmF0ZXMgc2Nyb2xsT3JpZ2luOihXZWJDb3JlOjpJbnRQb2ludClzY3JvbGxPcmlnaW4KIHsK
ICAgICBpZiAoX2R5bmFtaWNWaWV3cG9ydFVwZGF0ZU1vZGUgIT0gRHluYW1pY1ZpZXdwb3J0VXBk
YXRlTW9kZTo6Tm90UmVzaXppbmcpCiAgICAgICAgIHJldHVybjsKIAotICAgIFdlYkNvcmU6OkZs
b2F0UG9pbnQgc2NhbGVkT2Zmc2V0ID0gY29udGVudE9mZnNldEluUGFnZUNvb3JkaW5hdGVzOwor
ICAgIFdlYkNvcmU6OkZsb2F0UG9pbnQgY29udGVudE9mZnNldFJlc3BlY3RpbmdPcmlnaW4gPSBz
Y3JvbGxPcmlnaW4gKyB0b0Zsb2F0U2l6ZShjb250ZW50T2Zmc2V0SW5QYWdlQ29vcmRpbmF0ZXMp
OworCisgICAgV2ViQ29yZTo6RmxvYXRQb2ludCBzY2FsZWRPZmZzZXQgPSBjb250ZW50T2Zmc2V0
UmVzcGVjdGluZ09yaWdpbjsKICAgICBDR0Zsb2F0IHpvb21TY2FsZSA9IGNvbnRlbnRab29tU2Nh
bGUoc2VsZik7CiAgICAgc2NhbGVkT2Zmc2V0LnNjYWxlKHpvb21TY2FsZSwgem9vbVNjYWxlKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXdJbnRlcm5hbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXdJbnRlcm5hbC5oCmluZGV4IDljMWU1OTEwMDE3MGFhOWU1ODJiMGY3NTYxOWVjODY2MDZkMWFi
NGQuLmQyZGVmMjNmZDUyMDlkNDk5NDBhYWI0YWVlODk1ODA1M2Y0MmQ0ODIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFs
LmgKQEAgLTgxLDcgKzgxLDcgQEAgc3RydWN0IFByaW50SW5mbzsKIAogLSAoUGFzc1JlZlB0cjxX
ZWJLaXQ6OlZpZXdTbmFwc2hvdD4pX3Rha2VWaWV3U25hcHNob3Q7CiAKLS0gKHZvaWQpX3Njcm9s
bFRvQ29udGVudE9mZnNldDooV2ViQ29yZTo6RmxvYXRQb2ludCljb250ZW50T2Zmc2V0OworLSAo
dm9pZClfc2Nyb2xsVG9Db250ZW50T2Zmc2V0OihXZWJDb3JlOjpGbG9hdFBvaW50KWNvbnRlbnRP
ZmZzZXQgc2Nyb2xsT3JpZ2luOihXZWJDb3JlOjpJbnRQb2ludClzY3JvbGxPcmlnaW47CiAtIChC
T09MKV9zY3JvbGxUb1JlY3Q6KFdlYkNvcmU6OkZsb2F0UmVjdCl0YXJnZXRSZWN0IG9yaWdpbjoo
V2ViQ29yZTo6RmxvYXRQb2ludClvcmlnaW4gbWluaW11bVNjcm9sbERpc3RhbmNlOihmbG9hdClt
aW5pbXVtU2Nyb2xsRGlzdGFuY2U7CiAtICh2b2lkKV9zY3JvbGxCeU9mZnNldDooV2ViQ29yZTo6
RmxvYXRQb2ludClvZmZzZXQ7CiAtICh2b2lkKV96b29tVG9Gb2N1c1JlY3Q6KFdlYkNvcmU6OkZs
b2F0UmVjdClmb2N1c2VkRWxlbWVudFJlY3Qgc2VsZWN0aW9uUmVjdDooV2ViQ29yZTo6RmxvYXRS
ZWN0KXNlbGVjdGlvblJlY3RJbkRvY3VtZW50Q29vcmRpbmF0ZXMgZm9udFNpemU6KGZsb2F0KWZv
bnRTaXplIG1pbmltdW1TY2FsZTooZG91YmxlKW1pbmltdW1TY2FsZSBtYXhpbXVtU2NhbGU6KGRv
dWJsZSltYXhpbXVtU2NhbGUgYWxsb3dTY2FsaW5nOihCT09MKWFsbG93U2NhbGluZyBmb3JjZVNj
cm9sbDooQk9PTClmb3JjZVNjcm9sbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmNwcAppbmRleCA5YmJjZjBmOWI4NTlmMDliYzFjYjA4
YjYyNTJmYzM2ZmI4NWYwMGJlLi5iNTJmZjk1YWYzNDk0ZmMyZjhiNGZmMTcyNjZkZjNhNTA1MTlh
OWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xp
ZW50SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNs
aWVudEltcGwuY3BwCkBAIC03Nyw3ICs3Nyw3IEBAIHZvaWQgUGFnZUNsaWVudEltcGw6OnNjcm9s
bFZpZXcoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgc2Nyb2xsUmVjdCwgY29uc3QgV2ViQ29yCiAg
ICAgc2V0Vmlld05lZWRzRGlzcGxheShzY3JvbGxSZWN0KTsKIH0KIAotdm9pZCBQYWdlQ2xpZW50
SW1wbDo6cmVxdWVzdFNjcm9sbChjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiwgYm9vbCkKK3Zv
aWQgUGFnZUNsaWVudEltcGw6OnJlcXVlc3RTY3JvbGwoY29uc3QgV2ViQ29yZTo6RmxvYXRQb2lu
dCYsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiwgYm9vbCkKIHsKICAgICBub3RJbXBsZW1lbnRl
ZCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvUGFn
ZUNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGll
bnRJbXBsLmgKaW5kZXggMGMyNzRlYmY3ODFiZWUyNmExN2MxMDQ1ODNlZGNlZjRhNjk5ZDZhMC4u
OTI5OTcwODk4MzQ4MjRkNWI4MDFjZmMwOWJkODAxMGEyOGU5OTE4ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5oCkBAIC01OCw3ICs1
OCw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGRpc3BsYXlWaWV3KCkgb3ZlcnJpZGU7
CiAgICAgdmlydHVhbCBib29sIGNhblNjcm9sbFZpZXcoKSBvdmVycmlkZSB7IHJldHVybiBmYWxz
ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxWaWV3KGNvbnN0IFdlYkNvcmU6OkludFJlY3Qm
IHNjcm9sbFJlY3QsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHNjcm9sbE9mZnNldCkgb3ZlcnJp
ZGU7Ci0gICAgdmlydHVhbCB2b2lkIHJlcXVlc3RTY3JvbGwoY29uc3QgV2ViQ29yZTo6RmxvYXRQ
b2ludCYgc2Nyb2xsUG9zaXRpb24sIGJvb2wgaXNQcm9ncmFtbWF0aWNTY3JvbGwpIG92ZXJyaWRl
OworICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0U2Nyb2xsKGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9p
bnQmIHNjcm9sbFBvc2l0aW9uLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgc2Nyb2xsT3JpZ2lu
LCBib29sIGlzUHJvZ3JhbW1hdGljU2Nyb2xsKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIFdlYkNv
cmU6OkludFNpemUgdmlld1NpemUoKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGJvb2wgaXNWaWV3
V2luZG93QWN0aXZlKCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBib29sIGlzVmlld0ZvY3VzZWQo
KSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGlu
YXRlZEdyYXBoaWNzL1dlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvV2ViVmlldy5jcHAKaW5kZXggYWQzNTU2NGE2YjcyNzgxMzBmOTYxOGE4
Y2Q5MzlkMjE2YmM4Mjk4NC4uNTk5YjYzMzgwMjk1YWM5MjNkMjExZTdiY2NiOWIzYjM5NGUyZGNh
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvV2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvV2ViVmlldy5jcHAKQEAgLTMwNCw3ICszMDQsNyBAQCB2b2lkIFdlYlZpZXc6OnNj
cm9sbFZpZXcoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgc2Nyb2xsUmVjdCwgY29uc3QgV2ViQ29y
ZTo6SW50UwogICAgIHNldFZpZXdOZWVkc0Rpc3BsYXkoc2Nyb2xsUmVjdCk7CiB9CiAKLXZvaWQg
V2ViVmlldzo6cmVxdWVzdFNjcm9sbChjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiwgYm9vbCkK
K3ZvaWQgV2ViVmlldzo6cmVxdWVzdFNjcm9sbChjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50Jiwg
Y29uc3QgV2ViQ29yZTo6SW50UG9pbnQmLCBib29sKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFw
aGljcy9XZWJWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFw
aGljcy9XZWJWaWV3LmgKaW5kZXggM2ZiODI5YzhmODE3ZWM3Y2UyZTQ3NWQyZjliNTIxMzhmMjg4
NmQ5OC4uMmZjZDY0MGFlOTg4ZWM0NzYzNzAwYTg3ZGFiNGNjMDAzOTQ3OWJlOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmlldy5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZp
ZXcuaApAQCAtMTI4LDcgKzEyOCw3IEBAIHByb3RlY3RlZDoKIAogICAgIHZpcnR1YWwgYm9vbCBj
YW5TY3JvbGxWaWV3KCkgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIHZv
aWQgc2Nyb2xsVmlldyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgY29uc3QgV2ViQ29yZTo6SW50
U2l6ZSYpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0U2Nyb2xsKGNvbnN0IFdl
YkNvcmU6OkZsb2F0UG9pbnQmLCBib29sKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVx
dWVzdFNjcm9sbChjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiwgY29uc3QgV2ViQ29yZTo6SW50
UG9pbnQmLCBib29sKSBvdmVycmlkZTsKIAogICAgIHZpcnR1YWwgV2ViQ29yZTo6SW50U2l6ZSB2
aWV3U2l6ZSgpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvUGFnZUNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaApp
bmRleCBmMmYxNmYxZTZjMmZiOTE3MTYxYTg0NDJkMzJjOWY3MzE3ZDczOGNlLi5lNWQwNWNjMmI0
OGU4NzNiNzkwZjBkZDQyZmQ0MzAwMWEzMDdiZWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Q
YWdlQ2xpZW50LmgKQEAgLTk3LDcgKzk3LDcgQEAgcHVibGljOgogICAgIC8vIFRlbGwgdGhlIHZp
ZXcgdG8gc2Nyb2xsIHNjcm9sbFJlY3QgYnkgc2Nyb2xsT2Zmc2V0LgogICAgIHZpcnR1YWwgdm9p
ZCBzY3JvbGxWaWV3KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHNjcm9sbFJlY3QsIGNvbnN0IFdl
YkNvcmU6OkludFNpemUmIHNjcm9sbE9mZnNldCkgPSAwOwogICAgIC8vIFRlbGwgdGhlIHZpZXcg
dG8gc2Nyb2xsIHRvIHRoZSBnaXZlbiBwb3NpdGlvbiwgYW5kIHdoZXRoZXIgdGhpcyB3YXMgYSBw
cm9ncmFtbWF0aWMgc2Nyb2xsLgotICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0U2Nyb2xsKGNvbnN0
IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHNjcm9sbFBvc2l0aW9uLCBib29sIGlzUHJvZ3JhbW1hdGlj
U2Nyb2xsKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RTY3JvbGwoY29uc3QgV2ViQ29y
ZTo6RmxvYXRQb2ludCYgc2Nyb2xsUG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBz
Y3JvbGxPcmlnaW4sIGJvb2wgaXNQcm9ncmFtbWF0aWNTY3JvbGwpID0gMDsKIAogICAgIC8vIFJl
dHVybiB0aGUgc2l6ZSBvZiB0aGUgdmlldyB0aGUgcGFnZSBpcyBhc3NvY2lhdGVkIHdpdGguCiAg
ICAgdmlydHVhbCBXZWJDb3JlOjpJbnRTaXplIHZpZXdTaXplKCkgPSAwOwpAQCAtMjc5LDcgKzI3
OSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgem9vbVRvUmVjdChXZWJDb3JlOjpGbG9h
dFJlY3QsIGRvdWJsZSBtaW5pbXVtU2NhbGUsIGRvdWJsZSBtYXhpbXVtU2NhbGUpID0gMDsKICAg
ICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlVmlld3BvcnRNZXRhVGFnV2lkdGgoZmxvYXQpID0gMDsK
ICAgICB2aXJ0dWFsIGRvdWJsZSBtaW5pbXVtWm9vbVNjYWxlKCkgY29uc3QgPSAwOwotICAgIHZp
cnR1YWwgV2ViQ29yZTo6RmxvYXRTaXplIGNvbnRlbnRzU2l6ZSgpIGNvbnN0ID0gMDsKKyAgICB2
aXJ0dWFsIFdlYkNvcmU6OkZsb2F0UmVjdCBkb2N1bWVudFJlY3QoKSBjb25zdCA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIG92ZXJmbG93U2Nyb2xsVmlld1dpbGxTdGFydFBhbkdlc3R1cmUoKSA9IDA7
CiAgICAgdmlydHVhbCB2b2lkIG92ZXJmbG93U2Nyb2xsVmlld0RpZFNjcm9sbCgpID0gMDsKICAg
ICB2aXJ0dWFsIHZvaWQgb3ZlcmZsb3dTY3JvbGxXaWxsU3RhcnRTY3JvbGwoKSA9IDA7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IGIzZGZiZGUwMjc0ZGYy
ZWY5N2M3NjZmMTVlMjIxZmVkYzZmNWNiYmYuLjM1MWMyYTM3ZTJjNDIyZjMwNjdlZDhkYjA2YzU0
NTM3NzJlMWYwMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
CkBAIC0xMjc1LDkgKzEyNzUsOSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c2Nyb2xsVmlldyhjb25z
dCBJbnRSZWN0JiBzY3JvbGxSZWN0LCBjb25zdCBJbnRTaXplJiBzY3JvbGxPZgogICAgIG1fcGFn
ZUNsaWVudC5zY3JvbGxWaWV3KHNjcm9sbFJlY3QsIHNjcm9sbE9mZnNldCk7CiB9CiAKLXZvaWQg
V2ViUGFnZVByb3h5OjpyZXF1ZXN0U2Nyb2xsKGNvbnN0IEZsb2F0UG9pbnQmIHNjcm9sbFBvc2l0
aW9uLCBib29sIGlzUHJvZ3JhbW1hdGljU2Nyb2xsKQordm9pZCBXZWJQYWdlUHJveHk6OnJlcXVl
c3RTY3JvbGwoY29uc3QgRmxvYXRQb2ludCYgc2Nyb2xsUG9zaXRpb24sIGNvbnN0IEludFBvaW50
JiBzY3JvbGxPcmlnaW4sIGJvb2wgaXNQcm9ncmFtbWF0aWNTY3JvbGwpCiB7Ci0gICAgbV9wYWdl
Q2xpZW50LnJlcXVlc3RTY3JvbGwoc2Nyb2xsUG9zaXRpb24sIGlzUHJvZ3JhbW1hdGljU2Nyb2xs
KTsKKyAgICBtX3BhZ2VDbGllbnQucmVxdWVzdFNjcm9sbChzY3JvbGxQb3NpdGlvbiwgc2Nyb2xs
T3JpZ2luLCBpc1Byb2dyYW1tYXRpY1Njcm9sbCk7CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5Ojpz
ZXRTdXBwcmVzc1Zpc2liaWxpdHlVcGRhdGVzKGJvb2wgZmxhZykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCA0OTEyYWI5MGQwODJmMDMzMTM0OTcwZmI3OTUyNmM1
MmM5YzFjNTZlLi5hNjIwYzUwNGEwNjgzMGM5NTgyZWQ1MzQxY2Y4Yzg4OWRmMzIzNWZhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC00MTgsNyArNDE4LDcgQEAg
cHVibGljOgogICAgIHZvaWQgZGlzcGxheVZpZXcoKTsKICAgICBib29sIGNhblNjcm9sbFZpZXco
KTsKICAgICB2b2lkIHNjcm9sbFZpZXcoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgc2Nyb2xsUmVj
dCwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2Nyb2xsT2Zmc2V0KTsgLy8gRklYTUU6IENvb3Jk
aW5hdGVkR3JhcGhpY3Mgc2hvdWxkIHVzZSByZXF1ZXN0U2Nyb2xsKCkuCi0gICAgdm9pZCByZXF1
ZXN0U2Nyb2xsKGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHNjcm9sbFBvc2l0aW9uLCBib29s
IGlzUHJvZ3JhbW1hdGljU2Nyb2xsKTsKKyAgICB2b2lkIHJlcXVlc3RTY3JvbGwoY29uc3QgV2Vi
Q29yZTo6RmxvYXRQb2ludCYgc2Nyb2xsUG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6OkludFBvaW50
JiBzY3JvbGxPcmlnaW4sIGJvb2wgaXNQcm9ncmFtbWF0aWNTY3JvbGwpOwogICAgIAogICAgIHZv
aWQgc2V0RGVsZWdhdGVzU2Nyb2xsaW5nKGJvb2wgZGVsZWdhdGVzU2Nyb2xsaW5nKSB7IG1fZGVs
ZWdhdGVzU2Nyb2xsaW5nID0gZGVsZWdhdGVzU2Nyb2xsaW5nOyB9CiAgICAgYm9vbCBkZWxlZ2F0
ZXNTY3JvbGxpbmcoKSBjb25zdCB7IHJldHVybiBtX2RlbGVnYXRlc1Njcm9sbGluZzsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCmluZGV4
IDg3YWI3YTI0NTVjZDU5Mzc2ODYwNTMxZTZkOTMyZThlMDRhZWNiZWIuLjgxOGVkMmVlM2UyODFl
Y2QyZDJlOGI3NGJkYTIzYmM2MWI2NGU1ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKQEAgLTU2LDcgKzU2LDcgQEAgcHJpdmF0ZToK
ICAgICB2aXJ0dWFsIHZvaWQgZGlzcGxheVZpZXcoKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGJv
b2wgY2FuU2Nyb2xsVmlldygpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxWaWV3
KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHNjcm9sbFJlY3QsIGNvbnN0IFdlYkNvcmU6OkludFNp
emUmIHNjcm9sbE9mZnNldCkgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCB2b2lkIHJlcXVlc3RTY3Jv
bGwoY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgc2Nyb2xsUG9zaXRpb24sIGJvb2wgaXNQcm9n
cmFtbWF0aWNTY3JvbGwpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0U2Nyb2xs
KGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHNjcm9sbFBvc2l0aW9uLCBjb25zdCBXZWJDb3Jl
OjpJbnRQb2ludCYgc2Nyb2xsT3JpZ2luLCBib29sIGlzUHJvZ3JhbW1hdGljU2Nyb2xsKSBvdmVy
cmlkZTsKICAgICB2aXJ0dWFsIFdlYkNvcmU6OkludFNpemUgdmlld1NpemUoKSBvdmVycmlkZTsK
ICAgICB2aXJ0dWFsIGJvb2wgaXNWaWV3V2luZG93QWN0aXZlKCkgb3ZlcnJpZGU7CiAgICAgdmly
dHVhbCBib29sIGlzVmlld0ZvY3VzZWQoKSBvdmVycmlkZTsKQEAgLTEzNSw3ICsxMzUsNyBAQCBw
cml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVSdW5PcGVuUGFuZWwoV2ViUGFnZVByb3h5
KiwgV2ViRnJhbWVQcm94eSosIFdlYk9wZW5QYW5lbFBhcmFtZXRlcnMqLCBXZWJPcGVuUGFuZWxS
ZXN1bHRMaXN0ZW5lclByb3h5Kikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5n
ZVZpZXdwb3J0TWV0YVRhZ1dpZHRoKGZsb2F0KSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGRvdWJs
ZSBtaW5pbXVtWm9vbVNjYWxlKCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCBXZWJDb3Jl
OjpGbG9hdFNpemUgY29udGVudHNTaXplKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBX
ZWJDb3JlOjpGbG9hdFJlY3QgZG9jdW1lbnRSZWN0KCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICB2
aXJ0dWFsIHZvaWQgc2hvd0luc3BlY3RvckhpZ2hsaWdodChjb25zdCBXZWJDb3JlOjpIaWdobGln
aHQmKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgaGlkZUluc3BlY3RvckhpZ2hsaWdodCgp
IG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdl
Q2xpZW50SW1wbElPUy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVu
dEltcGxJT1MubW0KaW5kZXggMjM4YjI3NTgzNDAxOGNjZWU2YzZhYzgwNjc0NWEwZjE0YmYwZTlh
OC4uNWYwM2YwYmRkMzQzZDg5Zjk1NzZiYTMxNTdmN2RlZWU5YTFiZDMwOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCkBAIC0xNTQs
MTAgKzE1NCwxMCBAQCB2b2lkIFBhZ2VDbGllbnRJbXBsOjpzY3JvbGxWaWV3KGNvbnN0IEludFJl
Y3QmLCBjb25zdCBJbnRTaXplJikKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAotdm9p
ZCBQYWdlQ2xpZW50SW1wbDo6cmVxdWVzdFNjcm9sbChjb25zdCBGbG9hdFBvaW50JiBzY3JvbGxQ
b3NpdGlvbiwgYm9vbCBpc1Byb2dyYW1tYXRpY1Njcm9sbCkKK3ZvaWQgUGFnZUNsaWVudEltcGw6
OnJlcXVlc3RTY3JvbGwoY29uc3QgRmxvYXRQb2ludCYgc2Nyb2xsUG9zaXRpb24sIGNvbnN0IElu
dFBvaW50JiBzY3JvbGxPcmlnaW4sIGJvb2wgaXNQcm9ncmFtbWF0aWNTY3JvbGwpCiB7CiAgICAg
VU5VU0VEX1BBUkFNKGlzUHJvZ3JhbW1hdGljU2Nyb2xsKTsKLSAgICBbbV93ZWJWaWV3IF9zY3Jv
bGxUb0NvbnRlbnRPZmZzZXQ6c2Nyb2xsUG9zaXRpb25dOworICAgIFttX3dlYlZpZXcgX3Njcm9s
bFRvQ29udGVudE9mZnNldDpzY3JvbGxQb3NpdGlvbiBzY3JvbGxPcmlnaW46c2Nyb2xsT3JpZ2lu
XTsKIH0KIAogSW50U2l6ZSBQYWdlQ2xpZW50SW1wbDo6dmlld1NpemUoKQpAQCAtMjc4LDkgKzI3
OCw5IEBAIGRvdWJsZSBQYWdlQ2xpZW50SW1wbDo6bWluaW11bVpvb21TY2FsZSgpIGNvbnN0CiAg
ICAgcmV0dXJuIDE7CiB9CiAKLVdlYkNvcmU6OkZsb2F0U2l6ZSBQYWdlQ2xpZW50SW1wbDo6Y29u
dGVudHNTaXplKCkgY29uc3QKK1dlYkNvcmU6OkZsb2F0UmVjdCBQYWdlQ2xpZW50SW1wbDo6ZG9j
dW1lbnRSZWN0KCkgY29uc3QKIHsKLSAgICByZXR1cm4gRmxvYXRTaXplKFttX2NvbnRlbnRWaWV3
IGJvdW5kc10uc2l6ZSk7CisgICAgcmV0dXJuIFttX2NvbnRlbnRWaWV3IGJvdW5kc107CiB9CiAK
IHZvaWQgUGFnZUNsaWVudEltcGw6OnNldEN1cnNvcihjb25zdCBDdXJzb3ImKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCmluZGV4IDQwN2NkN2YxZWE2
YmFmOWI4NTdlMmY1MmJlYjY3YzY5M2E0NmIwMTIuLjUxZjU2OGExODgxZTVmOGM4NjE1MmVhZTA0
YzcyZmVmYWFlNzY1YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3Mv
V0tDb250ZW50Vmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29u
dGVudFZpZXcubW0KQEAgLTQ3OSwxNCArNDc5LDIxIEBAIC0gKHZvaWQpX2RpZENvbW1pdExvYWRG
b3JNYWluRnJhbWUKIC0gKHZvaWQpX2RpZENvbW1pdExheWVyVHJlZTooY29uc3QgV2ViS2l0OjpS
ZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbiYpbGF5ZXJUcmVlVHJhbnNhY3Rpb24KIHsKICAgICBD
R1NpemUgY29udGVudHNTaXplID0gbGF5ZXJUcmVlVHJhbnNhY3Rpb24uY29udGVudHNTaXplKCk7
Ci0gICAgQ0dSZWN0IGNvbnRlbnRCb3VuZHMgPSB7IENHUG9pbnRaZXJvLCBjb250ZW50c1NpemUg
fTsKLSAgICBDR1JlY3Qgb2xkQm91bmRzID0gW3NlbGYgYm91bmRzXTsKKyAgICBDR1BvaW50IHNj
cm9sbE9yaWdpbiA9IC1sYXllclRyZWVUcmFuc2FjdGlvbi5zY3JvbGxPcmlnaW4oKTsKKyAgICBD
R1JlY3QgY29udGVudEJvdW5kcyA9IHsgc2Nyb2xsT3JpZ2luLCBjb250ZW50c1NpemUgfTsKIAot
ICAgIEJPT0wgYm91bmRzQ2hhbmdlZCA9ICFDR1JlY3RFcXVhbFRvUmVjdChvbGRCb3VuZHMsIGNv
bnRlbnRCb3VuZHMpOworICAgIEJPT0wgYm91bmRzQ2hhbmdlZCA9ICFDR1JlY3RFcXVhbFRvUmVj
dChbc2VsZiBib3VuZHNdLCBjb250ZW50Qm91bmRzKTsKICAgICBpZiAoYm91bmRzQ2hhbmdlZCkK
ICAgICAgICAgW3NlbGYgc2V0Qm91bmRzOmNvbnRlbnRCb3VuZHNdOwogCiAgICAgW193ZWJWaWV3
IF9kaWRDb21taXRMYXllclRyZWU6bGF5ZXJUcmVlVHJhbnNhY3Rpb25dOworCisgICAgaWYgKF9p
bnRlcmFjdGlvblZpZXdzQ29udGFpbmVyVmlldykgeworICAgICAgICBGbG9hdFBvaW50IHNjYWxl
ZE9yaWdpbiA9IGxheWVyVHJlZVRyYW5zYWN0aW9uLnNjcm9sbE9yaWdpbigpOworICAgICAgICBm
bG9hdCBzY2FsZSA9IFtbX3dlYlZpZXcgc2Nyb2xsVmlld10gem9vbVNjYWxlXTsKKyAgICAgICAg
c2NhbGVkT3JpZ2luLnNjYWxlKHNjYWxlLCBzY2FsZSk7CisgICAgICAgIFtfaW50ZXJhY3Rpb25W
aWV3c0NvbnRhaW5lclZpZXcgc2V0RnJhbWU6Q0dSZWN0TWFrZShzY2FsZWRPcmlnaW4ueCgpLCBz
Y2FsZWRPcmlnaW4ueSgpLCAwLCAwKV07CisgICAgfQogICAgIAogICAgIGlmIChib3VuZHNDaGFu
Z2VkKSB7CiAgICAgICAgIEZsb2F0UmVjdCBmaXhlZFBvc2l0aW9uUmVjdCA9IF9wYWdlLT5jb21w
dXRlQ3VzdG9tRml4ZWRQb3NpdGlvblJlY3QoX3BhZ2UtPnVub2JzY3VyZWRDb250ZW50UmVjdCgp
LCBbW193ZWJWaWV3IHNjcm9sbFZpZXddIHpvb21TY2FsZV0pOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0gYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQppbmRleCA4NGEwZDEyMWU2ODU2MGQ2
ZWVjZDAzY2VlMzBlNTg5NjNkY2Y4OGYwLi5hYWRkMGE2NTcyN2UwYzIwMWJhZmMyMzAyYTU2Y2Mz
ZGRhOWQzMjFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlBh
Z2VQcm94eUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQ
cm94eUlPUy5tbQpAQCAtMjE3LDggKzIxNyw3IEBAIHN0YXRpYyBpbmxpbmUgZmxvYXQgYWRqdXN0
ZWRVbmV4cG9zZWRNYXhFZGdlKGZsb2F0IGRvY3VtZW50RWRnZSwgZmxvYXQgZXhwb3NlZFJlCiBX
ZWJDb3JlOjpGbG9hdFJlY3QgV2ViUGFnZVByb3h5Ojpjb21wdXRlQ3VzdG9tRml4ZWRQb3NpdGlv
blJlY3QoY29uc3QgRmxvYXRSZWN0JiB1bm9ic2N1cmVkQ29udGVudFJlY3QsIGRvdWJsZSBkaXNw
bGF5ZWRDb250ZW50U2NhbGUsIFVub2JzY3VyZWRSZWN0Q29uc3RyYWludCBjb25zdHJhaW50KSBj
b25zdAogewogICAgIEZsb2F0UmVjdCBjb25zdHJhaW5lZFVub2JzY3VyZWRSZWN0ID0gdW5vYnNj
dXJlZENvbnRlbnRSZWN0OwotICAgIEZsb2F0U2l6ZSBjb250ZW50c1NpemUgPSBtX3BhZ2VDbGll
bnQuY29udGVudHNTaXplKCk7Ci0gICAgRmxvYXRSZWN0IGRvY3VtZW50UmVjdCA9IEZsb2F0UmVj
dChGbG9hdFBvaW50KCksIGNvbnRlbnRzU2l6ZSk7CisgICAgRmxvYXRSZWN0IGRvY3VtZW50UmVj
dCA9IG1fcGFnZUNsaWVudC5kb2N1bWVudFJlY3QoKTsKIAogICAgIGlmIChtX3BhZ2VDbGllbnQu
aXNBc3Npc3RpbmdOb2RlKCkpCiAgICAgICAgIHJldHVybiBkb2N1bWVudFJlY3Q7CkBAIC0yMzgs
NyArMjM3LDcgQEAgV2ViQ29yZTo6RmxvYXRSZWN0IFdlYlBhZ2VQcm94eTo6Y29tcHV0ZUN1c3Rv
bUZpeGVkUG9zaXRpb25SZWN0KGNvbnN0IEZsb2F0UmVjdCYKICAgICAgICAgY29uc3RyYWluZWRV
bm9ic2N1cmVkUmVjdC5zZXRIZWlnaHQoYWRqdXN0ZWRVbmV4cG9zZWRNYXhFZGdlKGRvY3VtZW50
UmVjdC5tYXhZKCksIGNvbnN0cmFpbmVkVW5vYnNjdXJlZFJlY3QubWF4WSgpLCBmYWN0b3IpIC0g
Y29uc3RyYWluZWRVbm9ic2N1cmVkUmVjdC55KCkpOwogICAgIH0KICAgICAKLSAgICByZXR1cm4g
RnJhbWVWaWV3OjpyZWN0Rm9yVmlld3BvcnRDb25zdHJhaW5lZE9iamVjdHMoZW5jbG9zaW5nTGF5
b3V0UmVjdChjb25zdHJhaW5lZFVub2JzY3VyZWRSZWN0KSwgTGF5b3V0U2l6ZShjb250ZW50c1Np
emUpLCBkaXNwbGF5ZWRDb250ZW50U2NhbGUsIGZhbHNlLCBTdGlja1RvVmlld3BvcnRCb3VuZHMp
OworICAgIHJldHVybiBGcmFtZVZpZXc6OnJlY3RGb3JWaWV3cG9ydENvbnN0cmFpbmVkT2JqZWN0
cyhlbmNsb3NpbmdMYXlvdXRSZWN0KGNvbnN0cmFpbmVkVW5vYnNjdXJlZFJlY3QpLCBMYXlvdXRT
aXplKGRvY3VtZW50UmVjdC5zaXplKCkpLCBkaXNwbGF5ZWRDb250ZW50U2NhbGUsIGZhbHNlLCBT
dGlja1RvVmlld3BvcnRCb3VuZHMpOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6b3ZlcmZsb3dT
Y3JvbGxWaWV3V2lsbFN0YXJ0UGFuR2VzdHVyZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvbWFjL1BhZ2VDbGllbnRJbXBsLmgKaW5kZXggNzJiYTBiZmZmMGI5YTUyZTcwMzhmZWM2YmEy
ZGIwNGQwYmQ5YjFiMC4uY2VlMWRmMDAxMGE1M2UxNjUyNTFlMmRkODY5NjM3ZTRmNDEzMDk4ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwuaApAQCAt
NjEsNyArNjEsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBkaXNwbGF5VmlldygpIG92
ZXJyaWRlOwogICAgIHZpcnR1YWwgYm9vbCBjYW5TY3JvbGxWaWV3KCkgb3ZlcnJpZGU7CiAgICAg
dmlydHVhbCB2b2lkIHNjcm9sbFZpZXcoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgc2Nyb2xsUmVj
dCwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2Nyb2xsT2Zmc2V0KSBvdmVycmlkZTsKLSAgICB2
aXJ0dWFsIHZvaWQgcmVxdWVzdFNjcm9sbChjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBzY3Jv
bGxQb3NpdGlvbiwgYm9vbCBpc1Byb2dyYW1tYXRpY1Njcm9sbCkgb3ZlcnJpZGU7CisgICAgdmly
dHVhbCB2b2lkIHJlcXVlc3RTY3JvbGwoY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgc2Nyb2xs
UG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBzY3JvbGxPcmlnaW4sIGJvb2wgaXNQ
cm9ncmFtbWF0aWNTY3JvbGwpIG92ZXJyaWRlOwogCiAgICAgdmlydHVhbCBXZWJDb3JlOjpJbnRT
aXplIHZpZXdTaXplKCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBib29sIGlzVmlld1dpbmRvd0Fj
dGl2ZSgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21h
Yy9QYWdlQ2xpZW50SW1wbC5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNs
aWVudEltcGwubW0KaW5kZXggY2VhMzMwZGYwMTRmZTUyZDhlMWI5ZDcxM2FhNzYxMmE1NzdiNzdm
MS4uOWE2NTQ2NjU4MDQ5MTk0NGFlYWFmYWIxMzA5NTZjZGIwZWE1ZGZiYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCkBAIC0xODEsNyArMTgx
LDcgQEAgdm9pZCBQYWdlQ2xpZW50SW1wbDo6c2Nyb2xsVmlldyhjb25zdCBJbnRSZWN0JiBzY3Jv
bGxSZWN0LCBjb25zdCBJbnRTaXplJiBzY3JvbGwKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
IH0KIAotdm9pZCBQYWdlQ2xpZW50SW1wbDo6cmVxdWVzdFNjcm9sbChjb25zdCBGbG9hdFBvaW50
JiBzY3JvbGxQb3NpdGlvbiwgYm9vbCBpc1Byb2dyYW1tYXRpY1Njcm9sbCkKK3ZvaWQgUGFnZUNs
aWVudEltcGw6OnJlcXVlc3RTY3JvbGwoY29uc3QgRmxvYXRQb2ludCYgc2Nyb2xsUG9zaXRpb24s
IGNvbnN0IEludFBvaW50JiBzY3JvbGxPcmlnaW4sIGJvb2wgaXNQcm9ncmFtbWF0aWNTY3JvbGwp
CiB7CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkubW0gYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJv
eHkubW0KaW5kZXggOTVmYmEwNDA2OGFiYjgyOGEwYmIyYjI2ZTI4ZDVhZmY1ZGY4M2VkZC4uMWUz
MGJkZWEzNTFjNDgyMTZhMTZkZjJkOTk5NWU3NzczZDgxNjhhYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2lu
Z0FyZWFQcm94eS5tbQpAQCAtMjE4LDcgKzIxOCw3IEBAIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJh
d2luZ0FyZWFQcm94eTo6Y29tbWl0TGF5ZXJUcmVlKGNvbnN0IFJlbW90ZUxheWVyVHJlZVRyYW5z
CiAgICAgLy8gSGFuZGxlIHJlcXVlc3RlZCBzY3JvbGwgcG9zaXRpb24gdXBkYXRlcyBmcm9tIHRo
ZSBzY3JvbGxpbmcgdHJlZSB0cmFuc2FjdGlvbiBhZnRlciBkaWRDb21taXRMYXllclRyZWUoKQog
ICAgIC8vIGhhcyB1cGRhdGVkIHRoZSB2aWV3IHNpemUgYmFzZWQgb24gdGhlIGNvbnRlbnQgc2l6
ZS4KICAgICBpZiAocmVxdWVzdGVkU2Nyb2xsSW5mby5yZXF1ZXN0c1Njcm9sbFBvc2l0aW9uVXBk
YXRlKQotICAgICAgICBtX3dlYlBhZ2VQcm94eS5yZXF1ZXN0U2Nyb2xsKHJlcXVlc3RlZFNjcm9s
bEluZm8ucmVxdWVzdGVkU2Nyb2xsUG9zaXRpb24sIHJlcXVlc3RlZFNjcm9sbEluZm8ucmVxdWVz
dElzUHJvZ3JhbW1hdGljU2Nyb2xsKTsKKyAgICAgICAgbV93ZWJQYWdlUHJveHkucmVxdWVzdFNj
cm9sbChyZXF1ZXN0ZWRTY3JvbGxJbmZvLnJlcXVlc3RlZFNjcm9sbFBvc2l0aW9uLCBsYXllclRy
ZWVUcmFuc2FjdGlvbi5zY3JvbGxPcmlnaW4oKSwgcmVxdWVzdGVkU2Nyb2xsSW5mby5yZXF1ZXN0
SXNQcm9ncmFtbWF0aWNTY3JvbGwpOwogI2VuZGlmIC8vIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcp
CiAKICAgICBpZiAobV9kZWJ1Z0luZGljYXRvckxheWVyVHJlZUhvc3QpIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCA0ZGU4MTY0MGViMzAx
OTU2MWMwZjdlYzE4OTdmMTgxNTc5MmY1NzJiLi4wMTgzNjAzYzQwNWQxMGQwY2FiZTQ2YjlhMDk4
M2NiMTgxYWViZjRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwCkBAIC0yOTQ4LDYgKzI5NDgsNyBAQCB2b2lkIFdlYlBhZ2U6OnVwZGF0ZVByZWZl
cmVuY2VzKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmIHN0b3JlKQogdm9pZCBXZWJQYWdlOjp3
aWxsQ29tbWl0TGF5ZXJUcmVlKFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uJiBsYXllclRyYW5z
YWN0aW9uKQogewogICAgIGxheWVyVHJhbnNhY3Rpb24uc2V0Q29udGVudHNTaXplKGNvcmVQYWdl
KCktPm1haW5GcmFtZSgpLnZpZXcoKS0+Y29udGVudHNTaXplKCkpOworICAgIGxheWVyVHJhbnNh
Y3Rpb24uc2V0U2Nyb2xsT3JpZ2luKGNvcmVQYWdlKCktPm1haW5GcmFtZSgpLnZpZXcoKS0+c2Ny
b2xsT3JpZ2luKCkpOwogICAgIGxheWVyVHJhbnNhY3Rpb24uc2V0UGFnZVNjYWxlRmFjdG9yKGNv
cmVQYWdlKCktPnBhZ2VTY2FsZUZhY3RvcigpKTsKICAgICBsYXllclRyYW5zYWN0aW9uLnNldFJl
bmRlclRyZWVTaXplKGNvcmVQYWdlKCktPnJlbmRlclRyZWVTaXplKCkpOwogICAgIGxheWVyVHJh
bnNhY3Rpb24uc2V0UGFnZUV4dGVuZGVkQmFja2dyb3VuZENvbG9yKGNvcmVQYWdlKCktPnBhZ2VF
eHRlbmRlZEJhY2tncm91bmRDb2xvcigpKTsK
</data>
<flag name="review"
          id="281763"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>