<?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>119104</bug_id>
          
          <creation_ts>2013-07-25 13:43:53 -0700</creation_ts>
          <short_desc>Add a mode where autosizing fixes the FrameView height to at least the WKView height</short_desc>
          <delta_ts>2013-07-26 13:08:45 -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>WebKit2</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="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>andersca</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>911745</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-07-25 13:43:53 -0700</bug_when>
    <thetext>If a client enables WKView autolayout, and autolayout decides to lay the view out to a size larger than the computed intrinsic content size, we currently don&apos;t stretch the FrameView to fit the WKView size, leaving an unpainted gap between the bottom of the content and the view. Also, it is very hard for clients to work around this by setting the height component of minimumSizeForAutoLayout, because content with a div that consumes 100%x100% of the view will forever grow, and the intrinsic content size reported by WKView will not be the true intrinsic content size, but instead the size based off of the minimumSizeForAutoLayout height.

In the worst case, content can consume *over* 100% of the view, which (without this patch, using minimumSizeForAutoLayout&apos;s height affixed to the WKView&apos;s height) will lead to the view growing in size every single layout.

&lt;rdar://problem/14549021&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>911746</commentid>
    <comment_count>1</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-07-25 13:46:35 -0700</bug_when>
    <thetext>I&apos;m making it a mode because it adds a potential extra layout pass (in autoSizeIfEnabled, we do the normal work to compute the intrinsic content size, and then we set the FrameView height to the max of the intrinsic height and the WKView height and do one extra layout).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>911762</commentid>
    <comment_count>2</comment_count>
      <attachid>207485</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-07-25 14:18:17 -0700</bug_when>
    <thetext>Created attachment 207485
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>911763</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-25 14:21:26 -0700</bug_when>
    <thetext>Attachment 207485 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/WebCore.exp.in&apos;, u&apos;Source/WebCore/page/FrameView.cpp&apos;, u&apos;Source/WebCore/page/FrameView.h&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit2/Shared/WebPageCreationParameters.cpp&apos;, u&apos;Source/WebKit2/Shared/WebPageCreationParameters.h&apos;, u&apos;Source/WebKit2/UIProcess/API/mac/WKView.mm&apos;, u&apos;Source/WebKit2/UIProcess/API/mac/WKViewPrivate.h&apos;, u&apos;Source/WebKit2/UIProcess/WebPageProxy.cpp&apos;, u&apos;Source/WebKit2/UIProcess/WebPageProxy.h&apos;, u&apos;Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp&apos;, u&apos;Source/WebKit2/WebProcess/WebPage/WebPage.cpp&apos;, u&apos;Source/WebKit2/WebProcess/WebPage/WebPage.h&apos;, u&apos;Source/WebKit2/WebProcess/WebPage/WebPage.messages.in&apos;, u&apos;Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm&apos;]&quot; exit_code: 1
Source/WebKit2/UIProcess/API/mac/WKViewPrivate.h:65:  Extra space before ( in function call  [whitespace/parens] [4]
Source/WebCore/page/FrameView.h:301:  The parameter name &quot;fixedMinimumHeight&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit2/WebProcess/WebPage/WebPage.h:642:  The parameter name &quot;shouldExpand&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 3 in 16 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>912065</commentid>
    <comment_count>4</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-07-26 13:08:45 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/153378</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>207485</attachid>
            <date>2013-07-25 14:18:17 -0700</date>
            <delta_ts>2013-07-25 14:20:07 -0700</delta_ts>
            <desc>patch</desc>
            <filename>autosize-height.diff</filename>
            <type>text/plain</type>
            <size>18781</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBkZTA2MzNiLi4yY2RjOGE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUg
QEAKKzIwMTMtMDctMjUgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgQWRkIGEgbW9kZSB3aGVyZSBhdXRvc2l6aW5nIGZpeGVzIHRoZSBGcmFtZVZpZXcg
aGVpZ2h0IHRvIGF0IGxlYXN0IHRoZSBXS1ZpZXcgaGVpZ2h0CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTkxMDQKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzE0NTQ5MDIxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogV2ViQ29yZS5leHAuaW46IEV4cG9ydCBGcmFtZVZpZXc6OnNldEF1dG9TaXplRml4
ZWRNaW5pbXVtSGVpZ2h0LgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lVmlldzo6RnJhbWVWaWV3KToKKyAgICAgICAgSW5pdGlhbGl6ZSBtX2F1
dG9TaXplRml4ZWRNaW5pbXVtSGVpZ2h0IHRvIDAuCisKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1l
Vmlldzo6YXV0b1NpemVJZkVuYWJsZWQpOgorICAgICAgICBJbmNyZWFzZSB0aGUgRnJhbWVWaWV3
IGhlaWdodCB0byBtX2F1dG9TaXplRml4ZWRNaW5pbXVtSGVpZ2h0IGlmIG5lY2Vzc2FyeSwKKyAg
ICAgICAgYW5kIGRvIGFub3RoZXIgbGF5b3V0LiBTdG9yZSB0aGUgY29tcHV0ZWQgaW50cmluc2lj
IGNvbnRlbnQgc2l6ZS4KKworICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzZXRBdXRvU2l6
ZUZpeGVkTWluaW11bUhlaWdodCk6IEFkZGVkLgorCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6YXV0b1NpemluZ0ludHJpbnNpY0NvbnRl
bnRTaXplKTogQWRkZWQuCisKIDIwMTMtMDctMjQgIEZyw6lkw6lyaWMgV2FuZyAgPGZyZWQud2Fu
Z0BmcmVlLmZyPgogCiAgICAgICAgIEdyYXBoaWNhbCBlbGVtZW50cyBpbnNpZGUgbXBoYW50b20g
c2hvdWxkIG5vdCBiZSB2aXNpYmxlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCAwZmI0MmFjLi40
MDYzMjAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtMTE3Nyw2ICsxMTc3LDcgQEAgX19aTjdX
ZWJDb3JlOUZyYW1lVmlldzI0c2V0U2Nyb2xsUGlubmluZ0JlaGF2aW9yRU5TXzIxU2Nyb2xsUGlu
bmluZ0JlaGF2aW9yRQogX19aTjdXZWJDb3JlOUZyYW1lVmlldzI2YWRqdXN0UGFnZUhlaWdodERl
cHJlY2F0ZWRFUGZmZmYKIF9fWk43V2ViQ29yZTlGcmFtZVZpZXcyNmFkanVzdFRpbGVkQmFja2lu
Z0NvdmVyYWdlRXYKIF9fWk43V2ViQ29yZTlGcmFtZVZpZXcyOXNldFNob3VsZFVwZGF0ZVdoaWxl
T2Zmc2NyZWVuRWIKK19fWk43V2ViQ29yZTlGcmFtZVZpZXcyOXNldEF1dG9TaXplRml4ZWRNaW5p
bXVtSGVpZ2h0RWkKIF9fWk43V2ViQ29yZTlGcmFtZVZpZXczMXNldFZpc3VhbFVwZGF0ZXNBbGxv
d2VkQnlDbGllbnRFYgogX19aTjdXZWJDb3JlOUZyYW1lVmlldzM3c2V0U2Nyb2xsaW5nUGVyZm9y
bWFuY2VMb2dnaW5nRW5hYmxlZEViCiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3Mzd1cGRhdGVMYXlv
dXRBbmRTdHlsZUlmTmVlZGVkUmVjdXJzaXZlRXYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApp
bmRleCAzNDA4MTU3Li5lNWNlMzQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0x
OTUsNiArMTk1LDcgQEAgRnJhbWVWaWV3OjpGcmFtZVZpZXcoRnJhbWUqIGZyYW1lKQogICAgICwg
bV9zaG91bGRBdXRvU2l6ZShmYWxzZSkKICAgICAsIG1faW5BdXRvU2l6ZShmYWxzZSkKICAgICAs
IG1fZGlkUnVuQXV0b3NpemUoZmFsc2UpCisgICAgLCBtX2F1dG9TaXplRml4ZWRNaW5pbXVtSGVp
Z2h0KDApCiAgICAgLCBtX2hlYWRlckhlaWdodCgwKQogICAgICwgbV9mb290ZXJIZWlnaHQoMCkK
ICAgICAsIG1fbWlsZXN0b25lc1BlbmRpbmdQYWludCgwKQpAQCAtMjk2Nyw5ICsyOTY4LDI3IEBA
IHZvaWQgRnJhbWVWaWV3OjphdXRvU2l6ZUlmRW5hYmxlZCgpCiAgICAgICAgIHNldEhvcml6b250
YWxTY3JvbGxiYXJMb2NrKGZhbHNlKTsKICAgICAgICAgc2V0U2Nyb2xsYmFyTW9kZXMoaG9yaXpv
bmFsU2Nyb2xsYmFyTW9kZSwgdmVydGljYWxTY3JvbGxiYXJNb2RlLCB0cnVlLCB0cnVlKTsKICAg
ICB9CisKKyAgICBtX2F1dG9TaXplQ29udGVudFNpemUgPSBjb250ZW50c1NpemUoKTsKKworICAg
IGlmIChtX2F1dG9TaXplRml4ZWRNaW5pbXVtSGVpZ2h0KSB7CisgICAgICAgIHJlc2l6ZShtX2F1
dG9TaXplQ29udGVudFNpemUud2lkdGgoKSwgbWF4KG1fYXV0b1NpemVGaXhlZE1pbmltdW1IZWln
aHQsIG1fYXV0b1NpemVDb250ZW50U2l6ZS5oZWlnaHQoKSkpOworICAgICAgICBkb2N1bWVudC0+
dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CisgICAgfQorCiAgICAgbV9k
aWRSdW5BdXRvc2l6ZSA9IHRydWU7CiB9CiAKK3ZvaWQgRnJhbWVWaWV3OjpzZXRBdXRvU2l6ZUZp
eGVkTWluaW11bUhlaWdodChpbnQgZml4ZWRNaW5pbXVtSGVpZ2h0KQoreworICAgIGlmIChtX2F1
dG9TaXplRml4ZWRNaW5pbXVtSGVpZ2h0ID09IGZpeGVkTWluaW11bUhlaWdodCkKKyAgICAgICAg
cmV0dXJuOworCisgICAgbV9hdXRvU2l6ZUZpeGVkTWluaW11bUhlaWdodCA9IGZpeGVkTWluaW11
bUhlaWdodDsKKworICAgIHNldE5lZWRzTGF5b3V0KCk7Cit9CisKIHZvaWQgRnJhbWVWaWV3Ojp1
cGRhdGVPdmVyZmxvd1N0YXR1cyhib29sIGhvcml6b250YWxPdmVyZmxvdywgYm9vbCB2ZXJ0aWNh
bE92ZXJmbG93KQogewogICAgIGlmICghbV92aWV3cG9ydFJlbmRlcmVyKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJh
bWVWaWV3LmgKaW5kZXggZDZlZjAyZS4uYjk4NTI3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5o
CkBAIC0yOTgsNiArMjk4LDggQEAgcHVibGljOgogICAgIHZvaWQgdXBkYXRlSXNWaXN1YWxseU5v
bkVtcHR5KCk7CiAgICAgYm9vbCBpc1Zpc3VhbGx5Tm9uRW1wdHkoKSBjb25zdCB7IHJldHVybiBt
X2lzVmlzdWFsbHlOb25FbXB0eTsgfQogICAgIHZvaWQgZW5hYmxlQXV0b1NpemVNb2RlKGJvb2wg
ZW5hYmxlLCBjb25zdCBJbnRTaXplJiBtaW5TaXplLCBjb25zdCBJbnRTaXplJiBtYXhTaXplKTsK
KyAgICB2b2lkIHNldEF1dG9TaXplRml4ZWRNaW5pbXVtSGVpZ2h0KGludCBmaXhlZE1pbmltdW1I
ZWlnaHQpOworICAgIEludFNpemUgYXV0b1NpemluZ0ludHJpbnNpY0NvbnRlbnRTaXplKCkgY29u
c3QgeyByZXR1cm4gbV9hdXRvU2l6ZUNvbnRlbnRTaXplOyB9CiAKICAgICB2b2lkIGZvcmNlTGF5
b3V0KGJvb2wgYWxsb3dTdWJ0cmVlID0gZmFsc2UpOwogICAgIHZvaWQgZm9yY2VMYXlvdXRGb3JQ
YWdpbmF0aW9uKGNvbnN0IEZsb2F0U2l6ZSYgcGFnZVNpemUsIGNvbnN0IEZsb2F0U2l6ZSYgb3Jp
Z2luYWxQYWdlU2l6ZSwgZmxvYXQgbWF4aW11bVNocmlua0ZhY3RvciwgQWRqdXN0Vmlld1NpemVP
ck5vdCk7CkBAIC02MzYsNiArNjM4LDEwIEBAIHByaXZhdGU6CiAgICAgSW50U2l6ZSBtX21pbkF1
dG9TaXplOwogICAgIC8vIFRoZSB1cHBlciBib3VuZCBvbiB0aGUgc2l6ZSB3aGVuIGF1dG9zaXpp
bmcuCiAgICAgSW50U2l6ZSBtX21heEF1dG9TaXplOworICAgIC8vIFRoZSBmaXhlZCBoZWlnaHQg
dG8gcmVzaXplIHRoZSB2aWV3IHRvIGFmdGVyIGF1dG9zaXppbmcgaXMgY29tcGxldGUuCisgICAg
aW50IG1fYXV0b1NpemVGaXhlZE1pbmltdW1IZWlnaHQ7CisgICAgLy8gVGhlIGludHJpbnNpYyBj
b250ZW50IHNpemUgZGVjaWRlZCBieSBhdXRvc2l6aW5nLgorICAgIEludFNpemUgbV9hdXRvU2l6
ZUNvbnRlbnRTaXplOwogCiAgICAgT3duUHRyPFNjcm9sbGFibGVBcmVhU2V0PiBtX3Njcm9sbGFi
bGVBcmVhczsKICAgICBPd25QdHI8Vmlld3BvcnRDb25zdHJhaW5lZE9iamVjdFNldD4gbV92aWV3
cG9ydENvbnN0cmFpbmVkT2JqZWN0czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA5M2VkNTQzLi41MjgzNzdmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsNTcgQEAKKzIwMTMtMDctMjUgIFRpbSBIb3J0b24gIDx0aW1v
dGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgbW9kZSB3aGVyZSBhdXRvc2l6
aW5nIGZpeGVzIHRoZSBGcmFtZVZpZXcgaGVpZ2h0IHRvIGF0IGxlYXN0IHRoZSBXS1ZpZXcgaGVp
Z2h0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTkx
MDQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzE0NTQ5MDIxPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBh
cmFtZXRlcnMuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJz
OjplbmNvZGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzOjpk
ZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmg6Cisg
ICAgICAgIEFkZCBhdXRvU2l6aW5nU2hvdWxkRXhwYW5kVG9WaWV3SGVpZ2h0IHBhcmFtZXRlci4K
KworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbToKKyAgICAgICAgKC1bV0tW
aWV3IG1pbmltdW1XaWR0aEZvckF1dG9MYXlvdXRdKToKKyAgICAgICAgKC1bV0tWaWV3IHNldE1p
bmltdW1XaWR0aEZvckF1dG9MYXlvdXQ6XSk6CisgICAgICAgIFVuLWRlcHJlY2F0ZSB0aGVzZSBh
cyB0aGV5J3JlIHN0aWxsIHVzZWZ1bCBpZiBub3Qgc2VuZGluZyBhIGhlaWdodC4KKworICAgICAg
ICAoLVtXS1ZpZXcgc2hvdWxkRXhwYW5kVG9WaWV3SGVpZ2h0Rm9yQXV0b0xheW91dF0pOgorICAg
ICAgICAoLVtXS1ZpZXcgc2V0U2hvdWxkRXhwYW5kVG9WaWV3SGVpZ2h0Rm9yQXV0b0xheW91dDpd
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXdQcml2YXRlLmg6CisgICAgICAg
IE5ldyBwcm9wZXJ0eSwgZm9yd2FyZCB0byBXZWJQYWdlUHJveHkuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpX
ZWJQYWdlUHJveHkpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmNyZWF0aW9uUGFy
YW1ldGVycyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c2V0QXV0b1NpemluZ1No
b3VsZEV4cGFuZFRvVmlld0hlaWdodCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmF1dG9TaXppbmdTaG91bGRFeHBh
bmRUb1ZpZXdIZWlnaHQpOgorICAgICAgICBOZXcgcHJvcGVydHksIGZvcndhcmQgdG8gV2ViUGFn
ZS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJD
bGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUxvYWRlckNsaWVudDo6dHJhbnNp
dGlvblRvQ29tbWl0dGVkRm9yTmV3UGFnZSk6CisgICAgICAgIElmIGVuYWJsZWQsIHVwZGF0ZSB0
aGUgRnJhbWVWaWV3J3MgYXV0b1NpemVGaXhlZE1pbmltdW1IZWlnaHQuCisKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6
OldlYlBhZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpzZXRBdXRvU2l6aW5nU2hvdWxk
RXhwYW5kVG9WaWV3SGVpZ2h0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5oOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjphdXRvU2l6aW5nU2hvdWxkRXhwYW5kVG9W
aWV3SGVpZ2h0KToKKyAgICAgICAgTmV3IHByb3BlcnR5OyBpZiBlbmFibGVkLCBzZXQgRnJhbWVW
aWV3J3MgYXV0b1NpemVGaXhlZE1pbmltdW1IZWlnaHQsCisgICAgICAgIG90aGVyd2lzZSByZXNl
dCBpdCB0byAwLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2Fn
ZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRp
b25EcmF3aW5nQXJlYS5tbToKKyAgICAgICAgKFdlYktpdDo6VGlsZWRDb3JlQW5pbWF0aW9uRHJh
d2luZ0FyZWE6OnVwZGF0ZUludHJpbnNpY0NvbnRlbnRTaXplVGltZXJGaXJlZCk6CisgICAgICAg
IChXZWJLaXQ6OlRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjp1cGRhdGVHZW9tZXRyeSk6
CisgICAgICAgIFJldHJpZXZlIGludHJpbnNpYyBjb250ZW50IHNpemUgZXhwbGljaXRseSBmcm9t
IHRoZSBGcmFtZVZpZXcsIGFzCisgICAgICAgIGl0IG1heSBub3QgaGF2ZSB1c2VkIGl0IGFzIGl0
cyBmaW5hbCBjb250ZW50c1NpemUgaWYKKyAgICAgICAgYXV0b1NpemVGaXhlZE1pbmltdW1IZWln
aHQgaXMgc2V0LgorCisgICAgICAgIFVwZGF0ZSBhdXRvU2l6ZUZpeGVkTWluaW11bUhlaWdodCBp
ZiBlbmFibGVkIHdoZW4gdGhlIHZpZXcgc2l6ZSBjaGFuZ2VzLgorCiAyMDEzLTA3LTI0ICBBbnRv
biBPYnpoaXJvdiAgPGEub2J6aGlyb3ZAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0dUS10gVGVz
dEluc3BlY3RvclNlcnZlciB1bml0IHRlc3QgaXMgdGltaW5nIG91dApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuY3BwIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuY3BwCmluZGV4IDliMDZi
NTEuLjg1OWU3ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQYWdlQ3Jl
YXRpb25QYXJhbWV0ZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUGFnZUNy
ZWF0aW9uUGFyYW1ldGVycy5jcHAKQEAgLTYwLDYgKzYwLDcgQEAgdm9pZCBXZWJQYWdlQ3JlYXRp
b25QYXJhbWV0ZXJzOjplbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBj
b25zdAogICAgIGVuY29kZXIgPDwgbWVkaWFWb2x1bWU7CiAgICAgZW5jb2RlciA8PCBtYXlTdGFy
dE1lZGlhV2hlbkluV2luZG93OwogICAgIGVuY29kZXIgPDwgbWluaW11bUxheW91dFNpemU7Cisg
ICAgZW5jb2RlciA8PCBhdXRvU2l6aW5nU2hvdWxkRXhwYW5kVG9WaWV3SGVpZ2h0OwogICAgIGVu
Y29kZXIuZW5jb2RlRW51bShzY3JvbGxQaW5uaW5nQmVoYXZpb3IpOwogCiAjaWYgUExBVEZPUk0o
TUFDKQpAQCAtMTI0LDYgKzEyNSw4IEBAIGJvb2wgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVyczo6
ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgV2ViUGFnCiAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMubWluaW11
bUxheW91dFNpemUpKQogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLmRl
Y29kZShwYXJhbWV0ZXJzLmF1dG9TaXppbmdTaG91bGRFeHBhbmRUb1ZpZXdIZWlnaHQpKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZUVudW0ocGFyYW1ldGVy
cy5zY3JvbGxQaW5uaW5nQmVoYXZpb3IpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVy
cy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuaApp
bmRleCBmNWQ5MjkzLi5kZDc2NWU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9X
ZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmgKQEAgLTkwLDYgKzkwLDcgQEAgc3RydWN0IFdlYlBh
Z2VDcmVhdGlvblBhcmFtZXRlcnMgewogICAgIGJvb2wgbWF5U3RhcnRNZWRpYVdoZW5JbldpbmRv
dzsKIAogICAgIFdlYkNvcmU6OkludFNpemUgbWluaW11bUxheW91dFNpemU7CisgICAgYm9vbCBh
dXRvU2l6aW5nU2hvdWxkRXhwYW5kVG9WaWV3SGVpZ2h0OwogICAgIAogICAgIFdlYkNvcmU6OlNj
cm9sbFBpbm5pbmdCZWhhdmlvciBzY3JvbGxQaW5uaW5nQmVoYXZpb3I7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbSBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbQppbmRleCAxZDg3NjA5Li43ZjBmM2Y3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0KKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCkBAIC0zMjI5LDI1
ICszMjI5LDExIEBAIHN0YXRpYyBOU1N0cmluZyAqcGF0aFdpdGhVbmlxdWVGaWxlbmFtZUZvclBh
dGgoTlNTdHJpbmcgKnBhdGgpCiAKIC0gKENHRmxvYXQpbWluaW11bVdpZHRoRm9yQXV0b0xheW91
dAogewotICAgIHN0YXRpYyBCT09MIGxvZ2dlZERlcHJlY2F0aW9uV2FybmluZyA9IE5POwotCi0g
ICAgaWYgKCFsb2dnZWREZXByZWNhdGlvbldhcm5pbmcpIHsKLSAgICAgICAgTlNMb2coQCJQbGVh
c2UgdXNlIG1pbmltdW1TaXplRm9yQXV0b0xheW91dCBpbnN0ZWFkIG9mIG1pbmltdW1XaWR0aEZv
ckF1dG9MYXlvdXQuIik7Ci0gICAgICAgIGxvZ2dlZERlcHJlY2F0aW9uV2FybmluZyA9IFlFUzsK
LSAgICB9Ci0KICAgICByZXR1cm4gc2VsZi5taW5pbXVtU2l6ZUZvckF1dG9MYXlvdXQud2lkdGg7
CiB9CiAKIC0gKHZvaWQpc2V0TWluaW11bVdpZHRoRm9yQXV0b0xheW91dDooQ0dGbG9hdCltaW5p
bXVtTGF5b3V0V2lkdGgKIHsKLSAgICBzdGF0aWMgQk9PTCBsb2dnZWREZXByZWNhdGlvbldhcm5p
bmcgPSBOTzsKLQotICAgIGlmICghbG9nZ2VkRGVwcmVjYXRpb25XYXJuaW5nKSB7Ci0gICAgICAg
IE5TTG9nKEAiUGxlYXNlIHVzZSBzZXRNaW5pbXVtU2l6ZUZvckF1dG9MYXlvdXQ6IGluc3RlYWQg
b2Ygc2V0TWluaW11bVdpZHRoRm9yQXV0b0xheW91dDoiKTsKLSAgICAgICAgbG9nZ2VkRGVwcmVj
YXRpb25XYXJuaW5nID0gWUVTOwotICAgIH0KLQogICAgIHNlbGYubWluaW11bVNpemVGb3JBdXRv
TGF5b3V0ID0gTlNNYWtlU2l6ZShtaW5pbXVtTGF5b3V0V2lkdGgsIHNlbGYubWluaW11bVNpemVG
b3JBdXRvTGF5b3V0LmhlaWdodCk7CiB9CiAKQEAgLTMyNjYsNiArMzI1MiwxNiBAQCBzdGF0aWMg
TlNTdHJpbmcgKnBhdGhXaXRoVW5pcXVlRmlsZW5hbWVGb3JQYXRoKE5TU3RyaW5nICpwYXRoKQog
ICAgIFtzZWxmIHNldFNob3VsZENsaXBUb1Zpc2libGVSZWN0OmV4cGFuZHNUb0ZpdF07CiB9CiAK
Ky0gKEJPT0wpc2hvdWxkRXhwYW5kVG9WaWV3SGVpZ2h0Rm9yQXV0b0xheW91dAoreworICAgIHJl
dHVybiBfZGF0YS0+X3BhZ2UtPmF1dG9TaXppbmdTaG91bGRFeHBhbmRUb1ZpZXdIZWlnaHQoKTsK
K30KKworLSAodm9pZClzZXRTaG91bGRFeHBhbmRUb1ZpZXdIZWlnaHRGb3JBdXRvTGF5b3V0OihC
T09MKXNob3VsZEV4cGFuZAoreworICAgIHJldHVybiBfZGF0YS0+X3BhZ2UtPnNldEF1dG9TaXpp
bmdTaG91bGRFeHBhbmRUb1ZpZXdIZWlnaHQoc2hvdWxkRXhwYW5kKTsKK30KKwogLSAoQk9PTClz
aG91bGRDbGlwVG9WaXNpYmxlUmVjdAogewogICAgIHJldHVybiBfZGF0YS0+X2NsaXBzVG9WaXNp
YmxlUmVjdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dL
Vmlld1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlld1By
aXZhdGUuaAppbmRleCBhOWZmOWQzLi5iZmU1NGFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXdQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3UHJpdmF0ZS5oCkBAIC02Miw2ICs2Miw3IEBAIHR5cGVk
ZWYgZW51bSB7CiBAcHJvcGVydHkgKHJlYWR3cml0ZSkgQ0dGbG9hdCBtaW5pbXVtV2lkdGhGb3JB
dXRvTGF5b3V0OwogQHByb3BlcnR5IChyZWFkd3JpdGUpIE5TU2l6ZSBtaW5pbXVtU2l6ZUZvckF1
dG9MYXlvdXQ7CiBAcHJvcGVydHkgKHJlYWR3cml0ZSkgQk9PTCBzaG91bGRDbGlwVG9WaXNpYmxl
UmVjdDsKK0Bwcm9wZXJ0eSAocmVhZHdyaXRlKSBCT09MIHNob3VsZEV4cGFuZFRvVmlld0hlaWdo
dEZvckF1dG9MYXlvdXQ7CiAKIEBwcm9wZXJ0eShjb3B5LCBub25hdG9taWMpIE5TQ29sb3IgKnVu
ZGVybGF5Q29sb3I7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAK
aW5kZXggNTkyYjhhZC4uOTQ0ZjU0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAKQEAgLTMwNiw2ICszMDYsNyBAQCBXZWJQYWdlUHJveHk6OldlYlBhZ2VQcm94
eShQYWdlQ2xpZW50KiBwYWdlQ2xpZW50LCBQYXNzUmVmUHRyPFdlYlByb2Nlc3NQcm94eT4gcAog
ICAgICwgbV9yZW5kZXJUcmVlU2l6ZSgwKQogICAgICwgbV9zaG91bGRTZW5kRXZlbnRzU3luY2hy
b25vdXNseShmYWxzZSkKICAgICAsIG1fc3VwcHJlc3NWaXNpYmlsaXR5VXBkYXRlcyhmYWxzZSkK
KyAgICAsIG1fYXV0b1NpemluZ1Nob3VsZEV4cGFuZFRvVmlld0hlaWdodChmYWxzZSkKICAgICAs
IG1fbWVkaWFWb2x1bWUoMSkKICAgICAsIG1fbWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdyh0cnVl
KQogICAgICwgbV93YWl0aW5nRm9yRGlkVXBkYXRlSW5XaW5kb3dTdGF0ZShmYWxzZSkKQEAgLTM5
NTgsNiArMzk1OSw3IEBAIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMgV2ViUGFnZVByb3h5Ojpj
cmVhdGlvblBhcmFtZXRlcnMoKSBjb25zdAogICAgIHBhcmFtZXRlcnMubWVkaWFWb2x1bWUgPSBt
X21lZGlhVm9sdW1lOwogICAgIHBhcmFtZXRlcnMubWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdyA9
IG1fbWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdzsKICAgICBwYXJhbWV0ZXJzLm1pbmltdW1MYXlv
dXRTaXplID0gbV9taW5pbXVtTGF5b3V0U2l6ZTsKKyAgICBwYXJhbWV0ZXJzLmF1dG9TaXppbmdT
aG91bGRFeHBhbmRUb1ZpZXdIZWlnaHQgPSBtX2F1dG9TaXppbmdTaG91bGRFeHBhbmRUb1ZpZXdI
ZWlnaHQ7CiAgICAgcGFyYW1ldGVycy5zY3JvbGxQaW5uaW5nQmVoYXZpb3IgPSBtX3Njcm9sbFBp
bm5pbmdCZWhhdmlvcjsKIAogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTQzNTIsNiArNDM1NCwxOSBA
QCB2b2lkIFdlYlBhZ2VQcm94eTo6c2V0TWluaW11bUxheW91dFNpemUoY29uc3QgSW50U2l6ZSYg
bWluaW11bUxheW91dFNpemUpCiAjZW5kaWYKIH0KIAordm9pZCBXZWJQYWdlUHJveHk6OnNldEF1
dG9TaXppbmdTaG91bGRFeHBhbmRUb1ZpZXdIZWlnaHQoYm9vbCBzaG91bGRFeHBhbmQpCit7Cisg
ICAgaWYgKG1fYXV0b1NpemluZ1Nob3VsZEV4cGFuZFRvVmlld0hlaWdodCA9PSBzaG91bGRFeHBh
bmQpCisgICAgICAgIHJldHVybjsKKworICAgIG1fYXV0b1NpemluZ1Nob3VsZEV4cGFuZFRvVmll
d0hlaWdodCA9IHNob3VsZEV4cGFuZDsKKworICAgIGlmICghaXNWYWxpZCgpKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNldEF1dG9T
aXppbmdTaG91bGRFeHBhbmRUb1ZpZXdIZWlnaHQoc2hvdWxkRXhwYW5kKSwgbV9wYWdlSUQsIDAp
OworfQorCiAjaWYgUExBVEZPUk0oTUFDKQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6c3Vic3RpdHV0
aW9uc1BhbmVsSXNTaG93aW5nKGJvb2wmIGlzU2hvd2luZykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaAppbmRleCA1NWE3YTY5Li43ZmNjOTVhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC03NjAsNiArNzYwLDkgQEAgcHVibGljOgogICAg
IFdlYkNvcmU6OkludFNpemUgbWluaW11bUxheW91dFNpemUoKSBjb25zdCB7IHJldHVybiBtX21p
bmltdW1MYXlvdXRTaXplOyB9CiAgICAgdm9pZCBzZXRNaW5pbXVtTGF5b3V0U2l6ZShjb25zdCBX
ZWJDb3JlOjpJbnRTaXplJik7CiAKKyAgICBib29sIGF1dG9TaXppbmdTaG91bGRFeHBhbmRUb1Zp
ZXdIZWlnaHQoKSBjb25zdCB7IHJldHVybiBtX2F1dG9TaXppbmdTaG91bGRFeHBhbmRUb1ZpZXdI
ZWlnaHQ7IH0KKyAgICB2b2lkIHNldEF1dG9TaXppbmdTaG91bGRFeHBhbmRUb1ZpZXdIZWlnaHQo
Ym9vbCk7CisKICAgICBib29sIG1haW5GcmFtZUluVmlld1NvdXJjZU1vZGUoKSBjb25zdCB7IHJl
dHVybiBtX21haW5GcmFtZUluVmlld1NvdXJjZU1vZGU7IH0KICAgICB2b2lkIHNldE1haW5GcmFt
ZUluVmlld1NvdXJjZU1vZGUoYm9vbCk7CiAKQEAgLTEyNTksNiArMTI2Miw3IEBAIHByaXZhdGU6
CiAgICAgYm9vbCBtX3Nob3VsZFNlbmRFdmVudHNTeW5jaHJvbm91c2x5OwogCiAgICAgYm9vbCBt
X3N1cHByZXNzVmlzaWJpbGl0eVVwZGF0ZXM7CisgICAgYm9vbCBtX2F1dG9TaXppbmdTaG91bGRF
eHBhbmRUb1ZpZXdIZWlnaHQ7CiAgICAgV2ViQ29yZTo6SW50U2l6ZSBtX21pbmltdW1MYXlvdXRT
aXplOwogCiAgICAgZmxvYXQgbV9tZWRpYVZvbHVtZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNs
aWVudC5jcHAKaW5kZXggM2JjODVkYi4uYmY1NjFmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRl
ckNsaWVudC5jcHAKQEAgLTEyMTIsNiArMTIxMiw5IEBAIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGll
bnQ6OnRyYW5zaXRpb25Ub0NvbW1pdHRlZEZvck5ld1BhZ2UoKQogICAgICAgICBpbnQgbWluaW11
bUxheW91dEhlaWdodCA9IHN0ZDo6bWF4KHdlYlBhZ2UtPm1pbmltdW1MYXlvdXRTaXplKCkuaGVp
Z2h0KCksIDEpOwogICAgICAgICBpbnQgbWF4aW11bVNpemUgPSBzdGQ6Om51bWVyaWNfbGltaXRz
PGludD46Om1heCgpOwogICAgICAgICBtX2ZyYW1lLT5jb3JlRnJhbWUoKS0+dmlldygpLT5lbmFi
bGVBdXRvU2l6ZU1vZGUodHJ1ZSwgSW50U2l6ZShtaW5pbXVtTGF5b3V0V2lkdGgsIG1pbmltdW1M
YXlvdXRIZWlnaHQpLCBJbnRTaXplKG1heGltdW1TaXplLCBtYXhpbXVtU2l6ZSkpOworCisgICAg
ICAgIGlmICh3ZWJQYWdlLT5hdXRvU2l6aW5nU2hvdWxkRXhwYW5kVG9WaWV3SGVpZ2h0KCkpCisg
ICAgICAgICAgICBtX2ZyYW1lLT5jb3JlRnJhbWUoKS0+dmlldygpLT5zZXRBdXRvU2l6ZUZpeGVk
TWluaW11bUhlaWdodCh3ZWJQYWdlLT5zaXplKCkuaGVpZ2h0KCkpOwogICAgIH0KIAogICAgIG1f
ZnJhbWUtPmNvcmVGcmFtZSgpLT52aWV3KCktPnNldFByb2hpYml0c1Njcm9sbGluZyhzaG91bGRE
aXNhYmxlU2Nyb2xsaW5nKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmNwcAppbmRleCA3MDNjZGI2Li4zODM3MDZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0yNzgsNiArMjc4LDcgQEAgV2ViUGFn
ZTo6V2ViUGFnZSh1aW50NjRfdCBwYWdlSUQsIGNvbnN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRl
cnMmIHBhcmFtZXRlcnMpCiAgICAgLCBtX2NhblNob3J0Q2lyY3VpdEhvcml6b250YWxXaGVlbEV2
ZW50cyhmYWxzZSkKICAgICAsIG1fbnVtV2hlZWxFdmVudEhhbmRsZXJzKDApCiAgICAgLCBtX2Nh
Y2hlZFBhZ2VDb3VudCgwKQorICAgICwgbV9hdXRvU2l6aW5nU2hvdWxkRXhwYW5kVG9WaWV3SGVp
Z2h0KGZhbHNlKQogI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQogICAgICwgbV9pc1Nob3dpbmdD
b250ZXh0TWVudShmYWxzZSkKICNlbmRpZgpAQCAtMzgwLDYgKzM4MSw3IEBAIFdlYlBhZ2U6Oldl
YlBhZ2UodWludDY0X3QgcGFnZUlELCBjb25zdCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJiBw
YXJhbWV0ZXJzKQogICAgIHNldElzSW5XaW5kb3cocGFyYW1ldGVycy5pc0luV2luZG93KTsKIAog
ICAgIHNldE1pbmltdW1MYXlvdXRTaXplKHBhcmFtZXRlcnMubWluaW11bUxheW91dFNpemUpOwor
ICAgIHNldEF1dG9TaXppbmdTaG91bGRFeHBhbmRUb1ZpZXdIZWlnaHQocGFyYW1ldGVycy5hdXRv
U2l6aW5nU2hvdWxkRXhwYW5kVG9WaWV3SGVpZ2h0KTsKICAgICAKICAgICBzZXRTY3JvbGxQaW5u
aW5nQmVoYXZpb3IocGFyYW1ldGVycy5zY3JvbGxQaW5uaW5nQmVoYXZpb3IpOwogCkBAIC0zOTAw
LDYgKzM5MDIsMTYgQEAgdm9pZCBXZWJQYWdlOjpzZXRNaW5pbXVtTGF5b3V0U2l6ZShjb25zdCBJ
bnRTaXplJiBtaW5pbXVtTGF5b3V0U2l6ZSkKICAgICBjb3JlUGFnZSgpLT5tYWluRnJhbWUoKS0+
dmlldygpLT5lbmFibGVBdXRvU2l6ZU1vZGUodHJ1ZSwgSW50U2l6ZShtaW5pbXVtTGF5b3V0V2lk
dGgsIG1pbmltdW1MYXlvdXRIZWlnaHQpLCBJbnRTaXplKG1heGltdW1TaXplLCBtYXhpbXVtU2l6
ZSkpOwogfQogCit2b2lkIFdlYlBhZ2U6OnNldEF1dG9TaXppbmdTaG91bGRFeHBhbmRUb1ZpZXdI
ZWlnaHQoYm9vbCBzaG91bGRFeHBhbmQpCit7CisgICAgaWYgKG1fYXV0b1NpemluZ1Nob3VsZEV4
cGFuZFRvVmlld0hlaWdodCA9PSBzaG91bGRFeHBhbmQpCisgICAgICAgIHJldHVybjsKKworICAg
IG1fYXV0b1NpemluZ1Nob3VsZEV4cGFuZFRvVmlld0hlaWdodCA9IHNob3VsZEV4cGFuZDsKKwor
ICAgIGNvcmVQYWdlKCktPm1haW5GcmFtZSgpLT52aWV3KCktPnNldEF1dG9TaXplRml4ZWRNaW5p
bXVtSGVpZ2h0KHNob3VsZEV4cGFuZCA/IG1fdmlld1NpemUuaGVpZ2h0KCkgOiAwKTsKK30KKwog
Ym9vbCBXZWJQYWdlOjppc1NtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZCgpCiB7CiAgICAgcmV0dXJu
IG1fcGFnZS0+c2V0dGluZ3MoKS0+c21hcnRJbnNlcnREZWxldGVFbmFibGVkKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCAzYTI1Y2ExLi5iMzQ1
ZDBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAg
LTY0MSw2ICs2NDEsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRNaW5pbXVtTGF5b3V0U2l6ZShj
b25zdCBXZWJDb3JlOjpJbnRTaXplJik7CiAgICAgV2ViQ29yZTo6SW50U2l6ZSBtaW5pbXVtTGF5
b3V0U2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWluaW11bUxheW91dFNpemU7IH0KIAorICAgIHZv
aWQgc2V0QXV0b1NpemluZ1Nob3VsZEV4cGFuZFRvVmlld0hlaWdodChib29sIHNob3VsZEV4cGFu
ZCk7CisgICAgYm9vbCBhdXRvU2l6aW5nU2hvdWxkRXhwYW5kVG9WaWV3SGVpZ2h0KCkgeyByZXR1
cm4gbV9hdXRvU2l6aW5nU2hvdWxkRXhwYW5kVG9WaWV3SGVpZ2h0OyB9CisKICAgICBib29sIGNh
blNob3dNSU1FVHlwZShjb25zdCBTdHJpbmcmIE1JTUVUeXBlKSBjb25zdDsKIAogICAgIHZvaWQg
YWRkVGV4dENoZWNraW5nUmVxdWVzdCh1aW50NjRfdCByZXF1ZXN0SUQsIFBhc3NSZWZQdHI8V2Vi
Q29yZTo6VGV4dENoZWNraW5nUmVxdWVzdD4pOwpAQCAtMTAwNSw2ICsxMDA4LDcgQEAgcHJpdmF0
ZToKICAgICB1bnNpZ25lZCBtX2NhY2hlZFBhZ2VDb3VudDsKIAogICAgIFdlYkNvcmU6OkludFNp
emUgbV9taW5pbXVtTGF5b3V0U2l6ZTsKKyAgICBib29sIG1fYXV0b1NpemluZ1Nob3VsZEV4cGFu
ZFRvVmlld0hlaWdodDsKIAogI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQogICAgIGJvb2wgbV9p
c1Nob3dpbmdDb250ZXh0TWVudTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5kZXggOGE2YjU3NC4uMmFkMjJkYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2Fn
ZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVz
c2FnZXMuaW4KQEAgLTI5MSw2ICsyOTEsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlIExlZ2FjeVJl
Y2VpdmVyIHsKICNlbmRpZgogCiAgICAgU2V0TWluaW11bUxheW91dFNpemUoV2ViQ29yZTo6SW50
U2l6ZSBtaW5pbXVtTGF5b3V0U2l6ZSkKKyAgICBTZXRBdXRvU2l6aW5nU2hvdWxkRXhwYW5kVG9W
aWV3SGVpZ2h0KGJvb2wgc2hvdWxkRXhwYW5kKQogCiAjaWYgUExBVEZPUk0oRUZMKQogICAgIENv
bmZpcm1Db21wb3NpdGlvbihXVEY6OlN0cmluZyBjb21wb3NpdGlvblN0cmluZykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0
aW9uRHJhd2luZ0FyZWEubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFj
L1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tCmluZGV4IDk2NzNmZTIuLmMxMDQ4NDEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRD
b3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbQpAQCAtMjc1LDcg
KzI3NSw3IEBAIHZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OnVwZGF0ZUludHJp
bnNpY0NvbnRlbnRTaXplVGltZXJGaXJlZChUaW1lcjxUCiAgICAgaWYgKCFmcmFtZVZpZXcpCiAg
ICAgICAgIHJldHVybjsKIAotICAgIEludFNpemUgY29udGVudFNpemUgPSBmcmFtZVZpZXctPmNv
bnRlbnRzU2l6ZSgpOworICAgIEludFNpemUgY29udGVudFNpemUgPSBmcmFtZVZpZXctPmF1dG9T
aXppbmdJbnRyaW5zaWNDb250ZW50U2l6ZSgpOwogCiAgICAgaWYgKG1fbGFzdFNlbnRJbnRyaW5z
aWNDb250ZW50U2l6ZSA9PSBjb250ZW50U2l6ZSkKICAgICAgICAgcmV0dXJuOwpAQCAtNDUyLDEw
ICs0NTIsMTUgQEAgdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6dXBkYXRlR2Vv
bWV0cnkoY29uc3QgSW50U2l6ZSYgdmlld1NpemUsIGNvbnMKICAgICBpZiAoIW1fd2ViUGFnZS0+
bWluaW11bUxheW91dFNpemUoKS53aWR0aCgpKQogICAgICAgICBtX3dlYlBhZ2UtPnNldFNpemUo
c2l6ZSk7CiAKKyAgICBGcmFtZVZpZXcqIGZyYW1lVmlldyA9IG1fd2ViUGFnZS0+bWFpbkZyYW1l
VmlldygpOworCisgICAgaWYgKG1fd2ViUGFnZS0+YXV0b1NpemluZ1Nob3VsZEV4cGFuZFRvVmll
d0hlaWdodCgpICYmIGZyYW1lVmlldykKKyAgICAgICAgZnJhbWVWaWV3LT5zZXRBdXRvU2l6ZUZp
eGVkTWluaW11bUhlaWdodCh2aWV3U2l6ZS5oZWlnaHQoKSk7CisKICAgICBtX3dlYlBhZ2UtPmxh
eW91dElmTmVlZGVkKCk7CiAKLSAgICBpZiAobV93ZWJQYWdlLT5taW5pbXVtTGF5b3V0U2l6ZSgp
LndpZHRoKCkpIHsKLSAgICAgICAgY29udGVudFNpemUgPSBtX3dlYlBhZ2UtPm1haW5XZWJGcmFt
ZSgpLT5jb250ZW50Qm91bmRzKCkuc2l6ZSgpOworICAgIGlmIChtX3dlYlBhZ2UtPm1pbmltdW1M
YXlvdXRTaXplKCkud2lkdGgoKSAmJiBmcmFtZVZpZXcpIHsKKyAgICAgICAgY29udGVudFNpemUg
PSBmcmFtZVZpZXctPmF1dG9TaXppbmdJbnRyaW5zaWNDb250ZW50U2l6ZSgpOwogICAgICAgICBz
aXplID0gY29udGVudFNpemU7CiAgICAgfQogCg==
</data>
<flag name="review"
          id="229289"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>