<?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>144704</bug_id>
          
          <creation_ts>2015-05-06 12:28:27 -0700</creation_ts>
          <short_desc>Optimize topLeftLocationOffset() addition in updateLayerPosition</short_desc>
          <delta_ts>2015-05-06 13:42:23 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dave Hyatt">hyatt</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1092280</commentid>
    <comment_count>0</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2015-05-06 12:28:27 -0700</bug_when>
    <thetext>Add a special apply function that can update the point without copies and inline it for speed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1092284</commentid>
    <comment_count>1</comment_count>
      <attachid>252511</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2015-05-06 12:32:09 -0700</bug_when>
    <thetext>Created attachment 252511
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1092286</commentid>
    <comment_count>2</comment_count>
      <attachid>252512</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2015-05-06 12:35:11 -0700</bug_when>
    <thetext>Created attachment 252512
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1092287</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-06 12:36:29 -0700</bug_when>
    <thetext>Attachment 252512 did not pass style-queue:


ERROR: Source/WebCore/rendering/RenderBox.h:557:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 1 in 8 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>1092289</commentid>
    <comment_count>4</comment_count>
      <attachid>252513</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2015-05-06 12:38:41 -0700</bug_when>
    <thetext>Created attachment 252513
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1092299</commentid>
    <comment_count>5</comment_count>
      <attachid>252513</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2015-05-06 13:39:36 -0700</bug_when>
    <thetext>Comment on attachment 252513
Patch

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

&gt; Source/WebCore/rendering/RenderBox.cpp:4866
&gt; +    containerBlock-&gt;flipForWritingMode(rect); // FIXME: This is wrong if we are an absolutely positioned object

Nit: Missing period in comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1092301</commentid>
    <comment_count>6</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2015-05-06 13:42:23 -0700</bug_when>
    <thetext>Fixed in r183885.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252511</attachid>
            <date>2015-05-06 12:32:09 -0700</date>
            <delta_ts>2015-05-06 12:35:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>11165</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4Mzg4MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ2IEBACisyMDE1LTA1LTA2ICBEYXZpZCBI
eWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KKworICAgICAgICBPcHRpbWl6ZSB0b3BMZWZ0TG9jYXRp
b25PZmZzZXQoKSBhZGRpdGlvbiBpbiB1cGRhdGVMYXllclBvc2l0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQ3MDQKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6RnJhbWVWaWV3KToKKyAgICAgICAgKiBwYWdl
L0ZyYW1lVmlldy5oOgorICAgICAgICBNb3ZlIHRoZSBoYXNGbGlwcGVkQmxvY2tzIGJpdCB0byBG
cmFtZVZpZXcgaW5zdGVhZCBvZiBSZW5kZXJWaWV3LiBXb3JrcyBiZXR0ZXIgZm9yIGlubGluaW5n
CisgICAgICAgIHRoZSBjaGVjayBpbiBhbnkgcmVuZGVyZXIgaGVhZGVyLCBhbmQgaXQgYWxzbyBt
YWtlcyBtb3JlIHNlbnNlIGNvbmNlcHR1YWxseSwgc2luY2UgdGhlIFJlbmRlclZpZXcKKyAgICAg
ICAgaXRzZWxmIGNvdWxkIGJlIGEgZmxpcHBlZCBibG9jay4KKworICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpsYXlvdXRPdmVy
Zmxvd1JlY3RGb3JQcm9wYWdhdGlvbik6CisgICAgICAgIENoYW5nZSBvdmVyIHRvIHRoZSBGcmFt
ZVZpZXcgYml0LgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5oOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQm94OjphcHBseVRvcExlZnRMb2NhdGlvbk9mZnNldCk6CisgICAgICAg
IEFkZCBhIG5ldyBpbmxpbmVkIGZ1bmN0aW9uIHRoYXQgY2FuIGFwcGx5IHRoZSB0b3AgbGVmdCBs
b2NhdGlvbiBvZmZzZXQgdG8gYSBwb2ludCB3aXRob3V0CisgICAgICAgIG11bHRpcGxlIExheW91
dFNpemUgY3JlYXRpb25zIGFuZCBjb3BpZXMuIEl0IGludm9rZXMgYSBoZWxwZXIgZm9yIGZsaXBw
aW5nIHRoYXQgaXMgbm90CisgICAgICAgIGlubGluZWQgb25seSBpbiB0aGUgY2FzZSB3aGVyZSBh
Y3R1YWwgZmxpcHBlZCBibG9ja3MgZXhpc3QgaW4gdGhlIHJlbmRlciB0cmVlLgorCisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckJveE1vZGVsT2JqZWN0Ojp1cGRhdGVGcm9tU3R5bGUpOgorICAgICAgICBTZXQgdGhl
IGJpdCBvbiB0aGUgRnJhbWVWaWV3IG5vdyBpbnN0ZWFkIG9mIHRoZSBSZW5kZXJWaWV3LgorCisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckxheWVyOjp1cGRhdGVMYXllclBvc2l0aW9uKToKKyAgICAgICAgQ2FsbCB0aGUgbmV3IGFw
cGx5VG9wTGVmdExvY2F0aW9uT2Zmc2V0IGZ1bmN0aW9uIHNvIHRoYXQgdGhlIHBvaW50IGNhbiBo
YXZlIG9mZnNldHMgYWRkZWQKKyAgICAgICAgaW4gd2l0aG91dCBhbnkgZXh0cmEgY29waWVzLgor
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6Y2FsY3VsYXRlQ2xpcFJlY3RzKToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGluZUJveExpc3QuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGluZUJveExpc3Q6OnJhbmdlSW50ZXJzZWN0c1JlY3QpOgorICAgICAgICBTd2l0
Y2ggb3ZlciB0byB0aGUgYml0IG9uIHRoZSBGcmFtZVZpZXcuCisKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3OjpSZW5kZXJW
aWV3KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVmlldy5oOgorICAgICAgICBHZXQgcmlk
IG9mIHRoZSBiaXQgb24gdGhlIFJlbmRlclZpZXcuCisKIDIwMTUtMDUtMDYgIEVyaWMgQ2FybHNv
biAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gcmVtb3ZlIHNvbWUg
dW5uZWNlc3NhcnkgaU9TLW9ubHkgbWVkaWEgY29kZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmNwcAkocmV2aXNpb24gMTgzODc0KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDAsNiArMjAwLDcgQEAgRnJhbWVWaWV3OjpGcmFt
ZVZpZXcoRnJhbWUmIGZyYW1lKQogICAgICwgbV9mb290ZXJIZWlnaHQoMCkKICAgICAsIG1fbWls
ZXN0b25lc1BlbmRpbmdQYWludCgwKQogICAgICwgbV92aXN1YWxVcGRhdGVzQWxsb3dlZEJ5Q2xp
ZW50KHRydWUpCisgICAgLCBtX2hhc0ZsaXBwZWRCbG9ja1JlbmRlcmVycyhmYWxzZSkKICAgICAs
IG1fc2Nyb2xsUGlubmluZ0JlaGF2aW9yKERvTm90UGluKQogewogICAgIGluaXQoKTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuaAkocmV2aXNpb24gMTgzODc0KQorKysgU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuaAkod29ya2luZyBjb3B5KQpAQCAtNTExLDYgKzUxMSw5IEBAIHB1
YmxpYzoKIAogICAgIFNjcm9sbEJlaGF2aW9yRm9yRml4ZWRFbGVtZW50cyBzY3JvbGxCZWhhdmlv
ckZvckZpeGVkRWxlbWVudHMoKSBjb25zdDsKIAorICAgIGJvb2wgaGFzRmxpcHBlZEJsb2NrUmVu
ZGVyZXJzKCkgY29uc3QgeyByZXR1cm4gbV9oYXNGbGlwcGVkQmxvY2tSZW5kZXJlcnM7IH0KKyAg
ICB2b2lkIHNldEhhc0ZsaXBwZWRCbG9ja1JlbmRlcmVycyhib29sIGIpIHsgbV9oYXNGbGlwcGVk
QmxvY2tSZW5kZXJlcnMgPSBiOyB9CisKICAgICB2b2lkIHVwZGF0ZVdpZGdldFBvc2l0aW9ucygp
OwogICAgIHZvaWQgZGlkQWRkV2lkZ2V0VG9SZW5kZXJUcmVlKFdpZGdldCYpOwogICAgIHZvaWQg
d2lsbFJlbW92ZVdpZGdldEZyb21SZW5kZXJUcmVlKFdpZGdldCYpOwpAQCAtNzkwLDcgKzc5Myw4
IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogICAgIGJvb2wgbV92aXN1YWxVcGRhdGVzQWxsb3dlZEJ5
Q2xpZW50OwotICAgIAorICAgIGJvb2wgbV9oYXNGbGlwcGVkQmxvY2tSZW5kZXJlcnM7CisKICAg
ICBTY3JvbGxQaW5uaW5nQmVoYXZpb3IgbV9zY3JvbGxQaW5uaW5nQmVoYXZpb3I7CiAKICAgICBJ
bnRSZWN0KiBtX2NhY2hlZFdpbmRvd0NsaXBSZWN0IHsgbnVsbHB0ciB9OwpJbmRleDogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAJKHJldmlzaW9uIDE4Mzg3NCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00ODMx
LDcgKzQ4MzEsNyBAQCB2b2lkIFJlbmRlckJveDo6ZmxpcEZvcldyaXRpbmdNb2RlKEZsb2F0CiAK
IExheW91dFBvaW50IFJlbmRlckJveDo6dG9wTGVmdExvY2F0aW9uKCkgY29uc3QKIHsKLSAgICBp
ZiAoIXZpZXcoKS5oYXNGbGlwcGVkQmxvY2tEZXNjZW5kYW50cygpKQorICAgIGlmICghdmlldygp
LmZyYW1lVmlldygpLmhhc0ZsaXBwZWRCbG9ja1JlbmRlcmVycygpKQogICAgICAgICByZXR1cm4g
bG9jYXRpb24oKTsKICAgICAKICAgICBSZW5kZXJCbG9jayogY29udGFpbmVyQmxvY2sgPSBjb250
YWluaW5nQmxvY2soKTsKQEAgLTQ4NDIsOCArNDg0Miw4IEBAIExheW91dFBvaW50IFJlbmRlckJv
eDo6dG9wTGVmdExvY2F0aW9uKCkKIAogTGF5b3V0U2l6ZSBSZW5kZXJCb3g6OnRvcExlZnRMb2Nh
dGlvbk9mZnNldCgpIGNvbnN0CiB7Ci0gICAgaWYgKCF2aWV3KCkuaGFzRmxpcHBlZEJsb2NrRGVz
Y2VuZGFudHMoKSkKLSAgICAgICAgcmV0dXJuIExheW91dFNpemUobV9mcmFtZVJlY3QueCgpLCBt
X2ZyYW1lUmVjdC55KCkpOworICAgIGlmICghdmlldygpLmZyYW1lVmlldygpLmhhc0ZsaXBwZWRC
bG9ja1JlbmRlcmVycygpKQorICAgICAgICByZXR1cm4gbG9jYXRpb25PZmZzZXQoKTsKIAogICAg
IFJlbmRlckJsb2NrKiBjb250YWluZXJCbG9jayA9IGNvbnRhaW5pbmdCbG9jaygpOwogICAgIGlm
ICghY29udGFpbmVyQmxvY2sgfHwgY29udGFpbmVyQmxvY2sgPT0gdGhpcykKQEAgLTQ4NTQsNiAr
NDg1NCwxOSBAQCBMYXlvdXRTaXplIFJlbmRlckJveDo6dG9wTGVmdExvY2F0aW9uT2ZmCiAgICAg
cmV0dXJuIExheW91dFNpemUocmVjdC54KCksIHJlY3QueSgpKTsKIH0KIAordm9pZCBSZW5kZXJC
b3g6OmFwcGx5VG9wTGVmdExvY2F0aW9uT2Zmc2V0V2l0aEZsaXBwaW5nKExheW91dFBvaW50JiBw
b2ludCkgY29uc3QKK3sKKyAgICBSZW5kZXJCbG9jayogY29udGFpbmVyQmxvY2sgPSBjb250YWlu
aW5nQmxvY2soKTsKKyAgICBpZiAoIWNvbnRhaW5lckJsb2NrIHx8IGNvbnRhaW5lckJsb2NrID09
IHRoaXMpIHsKKyAgICAgICAgcG9pbnQubW92ZShtX2ZyYW1lUmVjdC54KCksIG1fZnJhbWVSZWN0
LnkoKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgCisgICAgTGF5b3V0UmVjdCByZWN0
KGZyYW1lUmVjdCgpKTsKKyAgICBjb250YWluZXJCbG9jay0+ZmxpcEZvcldyaXRpbmdNb2RlKHJl
Y3QpOyAvLyBGSVhNRTogVGhpcyBpcyB3cm9uZyBpZiB3ZSBhcmUgYW4gYWJzb2x1dGVseSBwb3Np
dGlvbmVkIG9iamVjdAorICAgIHBvaW50Lm1vdmUocmVjdC54KCksIHJlY3QueSgpKTsKK30KKwog
Ym9vbCBSZW5kZXJCb3g6Omhhc1JlbGF0aXZlRGltZW5zaW9ucygpIGNvbnN0CiB7CiAgICAgcmV0
dXJuIHN0eWxlKCkuaGVpZ2h0KCkuaXNQZXJjZW50KCkgfHwgc3R5bGUoKS53aWR0aCgpLmlzUGVy
Y2VudCgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCShyZXZpc2lvbiAx
ODM4NzQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTIzLDYgKzIzLDcgQEAKICNpZm5kZWYgUmVuZGVyQm94X2gKICNkZWZpbmUgUmVu
ZGVyQm94X2gKIAorI2luY2x1ZGUgIkZyYW1lVmlldy5oIgogI2luY2x1ZGUgIlJlbmRlckJveE1v
ZGVsT2JqZWN0LmgiCiAjaW5jbHVkZSAiUmVuZGVyT3ZlcmZsb3cuaCIKICNpbmNsdWRlICJTY3Jv
bGxUeXBlcy5oIgpAQCAtNTUzLDYgKzU1NCwxNCBAQCBwdWJsaWM6CiAgICAgLy8gSW4gbGF5b3V0
IHJlbGF0ZWQgbWV0aG9kcyB5b3UgYWxtb3N0IGFsd2F5cyB3YW50IHRoZSBsb2dpY2FsIGxvY2F0
aW9uIChlLmcuIHgoKSBhbmQgeSgpKS4KICAgICBMYXlvdXRQb2ludCB0b3BMZWZ0TG9jYXRpb24o
KSBjb25zdDsKICAgICBMYXlvdXRTaXplIHRvcExlZnRMb2NhdGlvbk9mZnNldCgpIGNvbnN0Owor
ICAgIHZvaWQgYXBwbHlUb3BMZWZ0TG9jYXRpb25PZmZzZXQoTGF5b3V0UG9pbnQmIHBvaW50KSBj
b25zdCB7CisgICAgICAgIC8vIFRoaXMgaXMgaW5saW5lZCBmb3Igc3BlZWQsIHNpbmNlIGl0IGlz
IHVzZWQgYnkgdXBkYXRlTGF5ZXJQb3NpdGlvbigpIGR1cmluZyBzY3JvbGxpbmcuCisgICAgICAg
IGlmICghZG9jdW1lbnQoKS52aWV3KCktPmhhc0ZsaXBwZWRCbG9ja1JlbmRlcmVycygpKSB7Cisg
ICAgICAgICAgICBwb2ludC5tb3ZlKG1fZnJhbWVSZWN0LngoKSwgbV9mcmFtZVJlY3QueSgpKTsK
KyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBhcHBseVRvcExlZnRMb2Nh
dGlvbk9mZnNldFdpdGhGbGlwcGluZyhwb2ludCk7CisgICAgfQogCiAgICAgTGF5b3V0UmVjdCBs
b2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0Rm9yUHJvcGFnYXRpb24oUmVuZGVyU3R5bGUqKSBjb25z
dDsKICAgICBMYXlvdXRSZWN0IHZpc3VhbE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9uKFJlbmRl
clN0eWxlKikgY29uc3Q7CkBAIC03MDksNiArNzE4LDggQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFs
IHZvaWQgY29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKSB7IHNldFByZWZlcnJlZExvZ2lj
YWxXaWR0aHNEaXJ0eShmYWxzZSk7IH0KIAogICAgIHZpcnR1YWwgTGF5b3V0UmVjdCBmcmFtZVJl
Y3RGb3JTdGlja3lQb3NpdGlvbmluZygpIGNvbnN0IG92ZXJyaWRlIGZpbmFsIHsgcmV0dXJuIGZy
YW1lUmVjdCgpOyB9CisgICAgCisgICAgdm9pZCBhcHBseVRvcExlZnRMb2NhdGlvbk9mZnNldFdp
dGhGbGlwcGluZyhMYXlvdXRQb2ludCYpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIC8vIFRoZSB3
aWR0aC9oZWlnaHQgb2YgdGhlIGNvbnRlbnRzICsgYm9yZGVycyArIHBhZGRpbmcuICBUaGUgeC95
IGxvY2F0aW9uIGlzIHJlbGF0aXZlIHRvIG91ciBjb250YWluZXIgKHdoaWNoIGlzIG5vdCBhbHdh
eXMgb3VyIHBhcmVudCkuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94
TW9kZWxPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAJKHJldmlzaW9uIDE4Mzg3OSkKKysrIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTIyMCw3ICsyMjAsNyBAQCB2b2lkIFJlbmRlckJveE1vZGVsT2JqZWN0Ojp1cGRhdGVGcm9tU3R5
CiAgICAgc2V0UG9zaXRpb25TdGF0ZShzdHlsZVRvVXNlLnBvc2l0aW9uKCkpOwogICAgIHNldEhv
cml6b250YWxXcml0aW5nTW9kZShzdHlsZVRvVXNlLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkp
OwogICAgIGlmIChzdHlsZVRvVXNlLmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkpCi0gICAg
ICAgIHZpZXcoKS5zZXRIYXNGbGlwcGVkQmxvY2tEZXNjZW5kYW50cyh0cnVlKTsKKyAgICAgICAg
dmlldygpLmZyYW1lVmlldygpLnNldEhhc0ZsaXBwZWRCbG9ja1JlbmRlcmVycyh0cnVlKTsKIH0K
IAogc3RhdGljIExheW91dFNpemUgYWNjdW11bGF0ZUluRmxvd1Bvc2l0aW9uT2Zmc2V0cyhjb25z
dCBSZW5kZXJPYmplY3QqIGNoaWxkKQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuY3BwCShyZXZpc2lvbiAxODM4NzQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzE3LDcgKzEzMTcsNyBAQCBi
b29sIFJlbmRlckxheWVyOjp1cGRhdGVMYXllclBvc2l0aW9uKCkKICAgICB9IGVsc2UgaWYgKFJl
bmRlckJveCogYm94ID0gcmVuZGVyQm94KCkpIHsKICAgICAgICAgLy8gRklYTUU6IElzIHNuYXBw
aW5nIHRoZSBzaXplIHJlYWxseSBuZWVkZWQgaGVyZSBmb3IgdGhlIFJlbmRlckJveCBjYXNlPwog
ICAgICAgICBzZXRTaXplKGJveC0+cGl4ZWxTbmFwcGVkU2l6ZSgpKTsKLSAgICAgICAgbG9jYWxQ
b2ludCArPSBib3gtPnRvcExlZnRMb2NhdGlvbk9mZnNldCgpOworICAgICAgICBib3gtPmFwcGx5
VG9wTGVmdExvY2F0aW9uT2Zmc2V0KGxvY2FsUG9pbnQpOwogICAgIH0KIAogICAgIFJlbmRlckVs
ZW1lbnQqIGFuY2VzdG9yOwpAQCAtNTgxOSw3ICs1ODE5LDcgQEAgTGF5b3V0UmVjdCBSZW5kZXJM
YXllcjo6bG9jYWxCb3VuZGluZ0JveAogTGF5b3V0UmVjdCBSZW5kZXJMYXllcjo6Ym91bmRpbmdC
b3goY29uc3QgUmVuZGVyTGF5ZXIqIGFuY2VzdG9yTGF5ZXIsIGNvbnN0IExheW91dFNpemUmIG9m
ZnNldEZyb21Sb290LCBDYWxjdWxhdGVMYXllckJvdW5kc0ZsYWdzIGZsYWdzKSBjb25zdAogeyAg
ICAKICAgICBMYXlvdXRSZWN0IHJlc3VsdCA9IGxvY2FsQm91bmRpbmdCb3goZmxhZ3MpOwotICAg
IGlmIChyZW5kZXJlcigpLnZpZXcoKS5oYXNGbGlwcGVkQmxvY2tEZXNjZW5kYW50cygpKSB7Cisg
ICAgaWYgKHJlbmRlcmVyKCkudmlldygpLmZyYW1lVmlldygpLmhhc0ZsaXBwZWRCbG9ja1JlbmRl
cmVycygpKSB7CiAgICAgICAgIGlmIChyZW5kZXJlcigpLmlzQm94KCkpCiAgICAgICAgICAgICBy
ZW5kZXJCb3goKS0+ZmxpcEZvcldyaXRpbmdNb2RlKHJlc3VsdCk7CiAgICAgICAgIGVsc2UKQEAg
LTU5MDEsNyArNTkwMSw3IEBAIExheW91dFJlY3QgUmVuZGVyTGF5ZXI6OmNhbGN1bGF0ZUxheWVy
Qm8KIAogICAgIExheW91dFJlY3QgYm91bmRpbmdCb3hSZWN0ID0gbG9jYWxCb3VuZGluZ0JveChm
bGFncyk7CiAKLSAgICBpZiAocmVuZGVyZXIoKS52aWV3KCkuaGFzRmxpcHBlZEJsb2NrRGVzY2Vu
ZGFudHMoKSkgeworICAgIGlmIChyZW5kZXJlcigpLnZpZXcoKS5mcmFtZVZpZXcoKS5oYXNGbGlw
cGVkQmxvY2tSZW5kZXJlcnMoKSkgewogICAgICAgICBpZiAoaXM8UmVuZGVyQm94PihyZW5kZXJl
cigpKSkKICAgICAgICAgICAgIGRvd25jYXN0PFJlbmRlckJveD4ocmVuZGVyZXIoKSkuZmxpcEZv
cldyaXRpbmdNb2RlKGJvdW5kaW5nQm94UmVjdCk7CiAgICAgICAgIGVsc2UKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaW5lQm94TGlzdC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpbmVCb3hMaXN0LmNwcAkocmV2aXNpb24g
MTgzODc0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpbmVCb3hMaXN0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTU0LDcgKzE1NCw3IEBAIGJvb2wgUmVuZGVyTGluZUJveExp
c3Q6OnJhbmdlSW50ZXJzZWN0c1IKIHsKICAgICBMYXlvdXRVbml0IHBoeXNpY2FsU3RhcnQgPSBs
b2dpY2FsVG9wOwogICAgIExheW91dFVuaXQgcGh5c2ljYWxFbmQgPSBsb2dpY2FsQm90dG9tOwot
ICAgIGlmIChyZW5kZXJlci0+dmlldygpLmhhc0ZsaXBwZWRCbG9ja0Rlc2NlbmRhbnRzKCkpIHsK
KyAgICBpZiAocmVuZGVyZXItPnZpZXcoKS5mcmFtZVZpZXcoKS5oYXNGbGlwcGVkQmxvY2tSZW5k
ZXJlcnMoKSkgewogICAgICAgICBSZW5kZXJCb3gqIGJsb2NrOwogICAgICAgICBpZiAoaXM8UmVu
ZGVyQm94PigqcmVuZGVyZXIpKQogICAgICAgICAgICAgYmxvY2sgPSBkb3duY2FzdDxSZW5kZXJC
b3g+KHJlbmRlcmVyKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5j
cHAJKHJldmlzaW9uIDE4Mzg3NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJW
aWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTExLDcgKzExMSw2IEBAIFJlbmRlclZpZXc6OlJl
bmRlclZpZXcoRG9jdW1lbnQmIGRvY3VtZW4KICAgICAsIG1fcmVuZGVyQ291bnRlckNvdW50KDAp
CiAgICAgLCBtX3NlbGVjdGlvbldhc0NhcmV0KGZhbHNlKQogICAgICwgbV9oYXNTb2Z0d2FyZUZp
bHRlcnMoZmFsc2UpCi0gICAgLCBtX2hhc0ZsaXBwZWRCbG9ja0Rlc2NlbmRhbnRzKGZhbHNlKQog
I2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQogICAgICwgbV9zZWxlY3Rpb25SZWN0R2F0aGVy
ZXIoKnRoaXMpCiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJW
aWV3LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcu
aAkocmV2aXNpb24gMTgzODc0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZp
ZXcuaAkod29ya2luZyBjb3B5KQpAQCAtMTAzLDkgKzEwMyw2IEBAIHB1YmxpYzoKIAogICAgIExh
eW91dFJlY3Qgdmlld1JlY3QoKSBjb25zdDsKIAotICAgIGJvb2wgaGFzRmxpcHBlZEJsb2NrRGVz
Y2VuZGFudHMoKSBjb25zdCB7IHJldHVybiBtX2hhc0ZsaXBwZWRCbG9ja0Rlc2NlbmRhbnRzOyB9
Ci0gICAgdm9pZCBzZXRIYXNGbGlwcGVkQmxvY2tEZXNjZW5kYW50cyhib29sIGIpIHsgbV9oYXNG
bGlwcGVkQmxvY2tEZXNjZW5kYW50cyA9IGI7IH0KLQogICAgIC8vIGxheW91dERlbHRhIGlzIHVz
ZWQgdHJhbnNpZW50bHkgZHVyaW5nIGxheW91dCB0byBzdG9yZSBob3cgZmFyIGFuIG9iamVjdCBo
YXMgbW92ZWQgZnJvbSBpdHMKICAgICAvLyBsYXN0IGxheW91dCBsb2NhdGlvbiwgaW4gb3JkZXIg
dG8gcmVwYWludCBjb3JyZWN0bHkuCiAgICAgLy8gSWYgd2UncmUgZG9pbmcgYSBmdWxsIHJlcGFp
bnQgbV9sYXlvdXRTdGF0ZSB3aWxsIGJlIDAsIGJ1dCBpbiB0aGF0IGNhc2UgbGF5b3V0RGVsdGEg
ZG9lc24ndCBtYXR0ZXIuCkBAIC0zNjMsNyArMzYwLDYgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wg
bV9zZWxlY3Rpb25XYXNDYXJldDsKICAgICBib29sIG1faGFzU29mdHdhcmVGaWx0ZXJzOwotICAg
IGJvb2wgbV9oYXNGbGlwcGVkQmxvY2tEZXNjZW5kYW50czsKIAogICAgIEhhc2hTZXQ8UmVuZGVy
RWxlbWVudCo+IG1fcmVuZGVyZXJzV2l0aFBhdXNlZEltYWdlQW5pbWF0aW9uOwogICAgIFZlY3Rv
cjxSZWZQdHI8UmVuZGVyV2lkZ2V0Pj4gbV9wcm90ZWN0ZWRSZW5kZXJXaWRnZXRzOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252512</attachid>
            <date>2015-05-06 12:35:11 -0700</date>
            <delta_ts>2015-05-06 12:38:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>11149</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4Mzg4MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ2IEBACisyMDE1LTA1LTA2ICBEYXZpZCBI
eWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KKworICAgICAgICBPcHRpbWl6ZSB0b3BMZWZ0TG9jYXRp
b25PZmZzZXQoKSBhZGRpdGlvbiBpbiB1cGRhdGVMYXllclBvc2l0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQ3MDQKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6RnJhbWVWaWV3KToKKyAgICAgICAgKiBwYWdl
L0ZyYW1lVmlldy5oOgorICAgICAgICBNb3ZlIHRoZSBoYXNGbGlwcGVkQmxvY2tzIGJpdCB0byBG
cmFtZVZpZXcgaW5zdGVhZCBvZiBSZW5kZXJWaWV3LiBXb3JrcyBiZXR0ZXIgZm9yIGlubGluaW5n
CisgICAgICAgIHRoZSBjaGVjayBpbiBhbnkgcmVuZGVyZXIgaGVhZGVyLCBhbmQgaXQgYWxzbyBt
YWtlcyBtb3JlIHNlbnNlIGNvbmNlcHR1YWxseSwgc2luY2UgdGhlIFJlbmRlclZpZXcKKyAgICAg
ICAgaXRzZWxmIGNvdWxkIGJlIGEgZmxpcHBlZCBibG9jay4KKworICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpsYXlvdXRPdmVy
Zmxvd1JlY3RGb3JQcm9wYWdhdGlvbik6CisgICAgICAgIENoYW5nZSBvdmVyIHRvIHRoZSBGcmFt
ZVZpZXcgYml0LgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5oOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQm94OjphcHBseVRvcExlZnRMb2NhdGlvbk9mZnNldCk6CisgICAgICAg
IEFkZCBhIG5ldyBpbmxpbmVkIGZ1bmN0aW9uIHRoYXQgY2FuIGFwcGx5IHRoZSB0b3AgbGVmdCBs
b2NhdGlvbiBvZmZzZXQgdG8gYSBwb2ludCB3aXRob3V0CisgICAgICAgIG11bHRpcGxlIExheW91
dFNpemUgY3JlYXRpb25zIGFuZCBjb3BpZXMuIEl0IGludm9rZXMgYSBoZWxwZXIgZm9yIGZsaXBw
aW5nIHRoYXQgaXMgbm90CisgICAgICAgIGlubGluZWQgb25seSBpbiB0aGUgY2FzZSB3aGVyZSBh
Y3R1YWwgZmxpcHBlZCBibG9ja3MgZXhpc3QgaW4gdGhlIHJlbmRlciB0cmVlLgorCisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckJveE1vZGVsT2JqZWN0Ojp1cGRhdGVGcm9tU3R5bGUpOgorICAgICAgICBTZXQgdGhl
IGJpdCBvbiB0aGUgRnJhbWVWaWV3IG5vdyBpbnN0ZWFkIG9mIHRoZSBSZW5kZXJWaWV3LgorCisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckxheWVyOjp1cGRhdGVMYXllclBvc2l0aW9uKToKKyAgICAgICAgQ2FsbCB0aGUgbmV3IGFw
cGx5VG9wTGVmdExvY2F0aW9uT2Zmc2V0IGZ1bmN0aW9uIHNvIHRoYXQgdGhlIHBvaW50IGNhbiBo
YXZlIG9mZnNldHMgYWRkZWQKKyAgICAgICAgaW4gd2l0aG91dCBhbnkgZXh0cmEgY29waWVzLgor
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6Y2FsY3VsYXRlQ2xpcFJlY3RzKToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGluZUJveExpc3QuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGluZUJveExpc3Q6OnJhbmdlSW50ZXJzZWN0c1JlY3QpOgorICAgICAgICBTd2l0
Y2ggb3ZlciB0byB0aGUgYml0IG9uIHRoZSBGcmFtZVZpZXcuCisKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3OjpSZW5kZXJW
aWV3KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVmlldy5oOgorICAgICAgICBHZXQgcmlk
IG9mIHRoZSBiaXQgb24gdGhlIFJlbmRlclZpZXcuCisKIDIwMTUtMDUtMDYgIEVyaWMgQ2FybHNv
biAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gcmVtb3ZlIHNvbWUg
dW5uZWNlc3NhcnkgaU9TLW9ubHkgbWVkaWEgY29kZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmNwcAkocmV2aXNpb24gMTgzODc0KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDAsNiArMjAwLDcgQEAgRnJhbWVWaWV3OjpGcmFt
ZVZpZXcoRnJhbWUmIGZyYW1lKQogICAgICwgbV9mb290ZXJIZWlnaHQoMCkKICAgICAsIG1fbWls
ZXN0b25lc1BlbmRpbmdQYWludCgwKQogICAgICwgbV92aXN1YWxVcGRhdGVzQWxsb3dlZEJ5Q2xp
ZW50KHRydWUpCisgICAgLCBtX2hhc0ZsaXBwZWRCbG9ja1JlbmRlcmVycyhmYWxzZSkKICAgICAs
IG1fc2Nyb2xsUGlubmluZ0JlaGF2aW9yKERvTm90UGluKQogewogICAgIGluaXQoKTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuaAkocmV2aXNpb24gMTgzODc0KQorKysgU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuaAkod29ya2luZyBjb3B5KQpAQCAtNTExLDYgKzUxMSw5IEBAIHB1
YmxpYzoKIAogICAgIFNjcm9sbEJlaGF2aW9yRm9yRml4ZWRFbGVtZW50cyBzY3JvbGxCZWhhdmlv
ckZvckZpeGVkRWxlbWVudHMoKSBjb25zdDsKIAorICAgIGJvb2wgaGFzRmxpcHBlZEJsb2NrUmVu
ZGVyZXJzKCkgY29uc3QgeyByZXR1cm4gbV9oYXNGbGlwcGVkQmxvY2tSZW5kZXJlcnM7IH0KKyAg
ICB2b2lkIHNldEhhc0ZsaXBwZWRCbG9ja1JlbmRlcmVycyhib29sIGIpIHsgbV9oYXNGbGlwcGVk
QmxvY2tSZW5kZXJlcnMgPSBiOyB9CisKICAgICB2b2lkIHVwZGF0ZVdpZGdldFBvc2l0aW9ucygp
OwogICAgIHZvaWQgZGlkQWRkV2lkZ2V0VG9SZW5kZXJUcmVlKFdpZGdldCYpOwogICAgIHZvaWQg
d2lsbFJlbW92ZVdpZGdldEZyb21SZW5kZXJUcmVlKFdpZGdldCYpOwpAQCAtNzkwLDcgKzc5Myw4
IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogICAgIGJvb2wgbV92aXN1YWxVcGRhdGVzQWxsb3dlZEJ5
Q2xpZW50OwotICAgIAorICAgIGJvb2wgbV9oYXNGbGlwcGVkQmxvY2tSZW5kZXJlcnM7CisKICAg
ICBTY3JvbGxQaW5uaW5nQmVoYXZpb3IgbV9zY3JvbGxQaW5uaW5nQmVoYXZpb3I7CiAKICAgICBJ
bnRSZWN0KiBtX2NhY2hlZFdpbmRvd0NsaXBSZWN0IHsgbnVsbHB0ciB9OwpJbmRleDogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAJKHJldmlzaW9uIDE4Mzg3NCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00ODMx
LDcgKzQ4MzEsNyBAQCB2b2lkIFJlbmRlckJveDo6ZmxpcEZvcldyaXRpbmdNb2RlKEZsb2F0CiAK
IExheW91dFBvaW50IFJlbmRlckJveDo6dG9wTGVmdExvY2F0aW9uKCkgY29uc3QKIHsKLSAgICBp
ZiAoIXZpZXcoKS5oYXNGbGlwcGVkQmxvY2tEZXNjZW5kYW50cygpKQorICAgIGlmICghdmlldygp
LmZyYW1lVmlldygpLmhhc0ZsaXBwZWRCbG9ja1JlbmRlcmVycygpKQogICAgICAgICByZXR1cm4g
bG9jYXRpb24oKTsKICAgICAKICAgICBSZW5kZXJCbG9jayogY29udGFpbmVyQmxvY2sgPSBjb250
YWluaW5nQmxvY2soKTsKQEAgLTQ4NDIsOCArNDg0Miw4IEBAIExheW91dFBvaW50IFJlbmRlckJv
eDo6dG9wTGVmdExvY2F0aW9uKCkKIAogTGF5b3V0U2l6ZSBSZW5kZXJCb3g6OnRvcExlZnRMb2Nh
dGlvbk9mZnNldCgpIGNvbnN0CiB7Ci0gICAgaWYgKCF2aWV3KCkuaGFzRmxpcHBlZEJsb2NrRGVz
Y2VuZGFudHMoKSkKLSAgICAgICAgcmV0dXJuIExheW91dFNpemUobV9mcmFtZVJlY3QueCgpLCBt
X2ZyYW1lUmVjdC55KCkpOworICAgIGlmICghdmlldygpLmZyYW1lVmlldygpLmhhc0ZsaXBwZWRC
bG9ja1JlbmRlcmVycygpKQorICAgICAgICByZXR1cm4gbG9jYXRpb25PZmZzZXQoKTsKIAogICAg
IFJlbmRlckJsb2NrKiBjb250YWluZXJCbG9jayA9IGNvbnRhaW5pbmdCbG9jaygpOwogICAgIGlm
ICghY29udGFpbmVyQmxvY2sgfHwgY29udGFpbmVyQmxvY2sgPT0gdGhpcykKQEAgLTQ4NTQsNiAr
NDg1NCwxOSBAQCBMYXlvdXRTaXplIFJlbmRlckJveDo6dG9wTGVmdExvY2F0aW9uT2ZmCiAgICAg
cmV0dXJuIExheW91dFNpemUocmVjdC54KCksIHJlY3QueSgpKTsKIH0KIAordm9pZCBSZW5kZXJC
b3g6OmFwcGx5VG9wTGVmdExvY2F0aW9uT2Zmc2V0V2l0aEZsaXBwaW5nKExheW91dFBvaW50JiBw
b2ludCkgY29uc3QKK3sKKyAgICBSZW5kZXJCbG9jayogY29udGFpbmVyQmxvY2sgPSBjb250YWlu
aW5nQmxvY2soKTsKKyAgICBpZiAoIWNvbnRhaW5lckJsb2NrIHx8IGNvbnRhaW5lckJsb2NrID09
IHRoaXMpIHsKKyAgICAgICAgcG9pbnQubW92ZShtX2ZyYW1lUmVjdC54KCksIG1fZnJhbWVSZWN0
LnkoKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgCisgICAgTGF5b3V0UmVjdCByZWN0
KGZyYW1lUmVjdCgpKTsKKyAgICBjb250YWluZXJCbG9jay0+ZmxpcEZvcldyaXRpbmdNb2RlKHJl
Y3QpOyAvLyBGSVhNRTogVGhpcyBpcyB3cm9uZyBpZiB3ZSBhcmUgYW4gYWJzb2x1dGVseSBwb3Np
dGlvbmVkIG9iamVjdAorICAgIHBvaW50Lm1vdmUocmVjdC54KCksIHJlY3QueSgpKTsKK30KKwog
Ym9vbCBSZW5kZXJCb3g6Omhhc1JlbGF0aXZlRGltZW5zaW9ucygpIGNvbnN0CiB7CiAgICAgcmV0
dXJuIHN0eWxlKCkuaGVpZ2h0KCkuaXNQZXJjZW50KCkgfHwgc3R5bGUoKS53aWR0aCgpLmlzUGVy
Y2VudCgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCShyZXZpc2lvbiAx
ODM4NzQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTIzLDYgKzIzLDcgQEAKICNpZm5kZWYgUmVuZGVyQm94X2gKICNkZWZpbmUgUmVu
ZGVyQm94X2gKIAorI2luY2x1ZGUgIkZyYW1lVmlldy5oIgogI2luY2x1ZGUgIlJlbmRlckJveE1v
ZGVsT2JqZWN0LmgiCiAjaW5jbHVkZSAiUmVuZGVyT3ZlcmZsb3cuaCIKICNpbmNsdWRlICJTY3Jv
bGxUeXBlcy5oIgpAQCAtNTUzLDYgKzU1NCwxMyBAQCBwdWJsaWM6CiAgICAgLy8gSW4gbGF5b3V0
IHJlbGF0ZWQgbWV0aG9kcyB5b3UgYWxtb3N0IGFsd2F5cyB3YW50IHRoZSBsb2dpY2FsIGxvY2F0
aW9uIChlLmcuIHgoKSBhbmQgeSgpKS4KICAgICBMYXlvdXRQb2ludCB0b3BMZWZ0TG9jYXRpb24o
KSBjb25zdDsKICAgICBMYXlvdXRTaXplIHRvcExlZnRMb2NhdGlvbk9mZnNldCgpIGNvbnN0Owor
ICAgIHZvaWQgYXBwbHlUb3BMZWZ0TG9jYXRpb25PZmZzZXQoTGF5b3V0UG9pbnQmIHBvaW50KSBj
b25zdCB7CisgICAgICAgIC8vIFRoaXMgaXMgaW5saW5lZCBmb3Igc3BlZWQsIHNpbmNlIGl0IGlz
IHVzZWQgYnkgdXBkYXRlTGF5ZXJQb3NpdGlvbigpIGR1cmluZyBzY3JvbGxpbmcuCisgICAgICAg
IGlmICghZG9jdW1lbnQoKS52aWV3KCktPmhhc0ZsaXBwZWRCbG9ja1JlbmRlcmVycygpKQorICAg
ICAgICAgICAgcG9pbnQubW92ZShtX2ZyYW1lUmVjdC54KCksIG1fZnJhbWVSZWN0LnkoKSk7Cisg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgIGFwcGx5VG9wTGVmdExvY2F0aW9uT2Zmc2V0V2l0aEZs
aXBwaW5nKHBvaW50KTsKKyAgICB9CiAKICAgICBMYXlvdXRSZWN0IGxvZ2ljYWxWaXN1YWxPdmVy
Zmxvd1JlY3RGb3JQcm9wYWdhdGlvbihSZW5kZXJTdHlsZSopIGNvbnN0OwogICAgIExheW91dFJl
Y3QgdmlzdWFsT3ZlcmZsb3dSZWN0Rm9yUHJvcGFnYXRpb24oUmVuZGVyU3R5bGUqKSBjb25zdDsK
QEAgLTcwOSw2ICs3MTcsOCBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlUHJl
ZmVycmVkTG9naWNhbFdpZHRocygpIHsgc2V0UHJlZmVycmVkTG9naWNhbFdpZHRoc0RpcnR5KGZh
bHNlKTsgfQogCiAgICAgdmlydHVhbCBMYXlvdXRSZWN0IGZyYW1lUmVjdEZvclN0aWNreVBvc2l0
aW9uaW5nKCkgY29uc3Qgb3ZlcnJpZGUgZmluYWwgeyByZXR1cm4gZnJhbWVSZWN0KCk7IH0KKyAg
ICAKKyAgICB2b2lkIGFwcGx5VG9wTGVmdExvY2F0aW9uT2Zmc2V0V2l0aEZsaXBwaW5nKExheW91
dFBvaW50JikgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgLy8gVGhlIHdpZHRoL2hlaWdodCBvZiB0
aGUgY29udGVudHMgKyBib3JkZXJzICsgcGFkZGluZy4gIFRoZSB4L3kgbG9jYXRpb24gaXMgcmVs
YXRpdmUgdG8gb3VyIGNvbnRhaW5lciAod2hpY2ggaXMgbm90IGFsd2F5cyBvdXIgcGFyZW50KS4K
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2Jq
ZWN0LmNwcAkocmV2aXNpb24gMTgzODc5KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveE1vZGVsT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjIwLDcgKzIyMCw3IEBA
IHZvaWQgUmVuZGVyQm94TW9kZWxPYmplY3Q6OnVwZGF0ZUZyb21TdHkKICAgICBzZXRQb3NpdGlv
blN0YXRlKHN0eWxlVG9Vc2UucG9zaXRpb24oKSk7CiAgICAgc2V0SG9yaXpvbnRhbFdyaXRpbmdN
b2RlKHN0eWxlVG9Vc2UuaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSk7CiAgICAgaWYgKHN0eWxl
VG9Vc2UuaXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSkKLSAgICAgICAgdmlldygpLnNldEhh
c0ZsaXBwZWRCbG9ja0Rlc2NlbmRhbnRzKHRydWUpOworICAgICAgICB2aWV3KCkuZnJhbWVWaWV3
KCkuc2V0SGFzRmxpcHBlZEJsb2NrUmVuZGVyZXJzKHRydWUpOwogfQogCiBzdGF0aWMgTGF5b3V0
U2l6ZSBhY2N1bXVsYXRlSW5GbG93UG9zaXRpb25PZmZzZXRzKGNvbnN0IFJlbmRlck9iamVjdCog
Y2hpbGQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAJKHJl
dmlzaW9uIDE4Mzg3NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMTcsNyArMTMxNyw3IEBAIGJvb2wgUmVuZGVyTGF5ZXI6
OnVwZGF0ZUxheWVyUG9zaXRpb24oKQogICAgIH0gZWxzZSBpZiAoUmVuZGVyQm94KiBib3ggPSBy
ZW5kZXJCb3goKSkgewogICAgICAgICAvLyBGSVhNRTogSXMgc25hcHBpbmcgdGhlIHNpemUgcmVh
bGx5IG5lZWRlZCBoZXJlIGZvciB0aGUgUmVuZGVyQm94IGNhc2U/CiAgICAgICAgIHNldFNpemUo
Ym94LT5waXhlbFNuYXBwZWRTaXplKCkpOwotICAgICAgICBsb2NhbFBvaW50ICs9IGJveC0+dG9w
TGVmdExvY2F0aW9uT2Zmc2V0KCk7CisgICAgICAgIGJveC0+YXBwbHlUb3BMZWZ0TG9jYXRpb25P
ZmZzZXQobG9jYWxQb2ludCk7CiAgICAgfQogCiAgICAgUmVuZGVyRWxlbWVudCogYW5jZXN0b3I7
CkBAIC01ODE5LDcgKzU4MTksNyBAQCBMYXlvdXRSZWN0IFJlbmRlckxheWVyOjpsb2NhbEJvdW5k
aW5nQm94CiBMYXlvdXRSZWN0IFJlbmRlckxheWVyOjpib3VuZGluZ0JveChjb25zdCBSZW5kZXJM
YXllciogYW5jZXN0b3JMYXllciwgY29uc3QgTGF5b3V0U2l6ZSYgb2Zmc2V0RnJvbVJvb3QsIENh
bGN1bGF0ZUxheWVyQm91bmRzRmxhZ3MgZmxhZ3MpIGNvbnN0CiB7ICAgIAogICAgIExheW91dFJl
Y3QgcmVzdWx0ID0gbG9jYWxCb3VuZGluZ0JveChmbGFncyk7Ci0gICAgaWYgKHJlbmRlcmVyKCku
dmlldygpLmhhc0ZsaXBwZWRCbG9ja0Rlc2NlbmRhbnRzKCkpIHsKKyAgICBpZiAocmVuZGVyZXIo
KS52aWV3KCkuZnJhbWVWaWV3KCkuaGFzRmxpcHBlZEJsb2NrUmVuZGVyZXJzKCkpIHsKICAgICAg
ICAgaWYgKHJlbmRlcmVyKCkuaXNCb3goKSkKICAgICAgICAgICAgIHJlbmRlckJveCgpLT5mbGlw
Rm9yV3JpdGluZ01vZGUocmVzdWx0KTsKICAgICAgICAgZWxzZQpAQCAtNTkwMSw3ICs1OTAxLDcg
QEAgTGF5b3V0UmVjdCBSZW5kZXJMYXllcjo6Y2FsY3VsYXRlTGF5ZXJCbwogCiAgICAgTGF5b3V0
UmVjdCBib3VuZGluZ0JveFJlY3QgPSBsb2NhbEJvdW5kaW5nQm94KGZsYWdzKTsKIAotICAgIGlm
IChyZW5kZXJlcigpLnZpZXcoKS5oYXNGbGlwcGVkQmxvY2tEZXNjZW5kYW50cygpKSB7CisgICAg
aWYgKHJlbmRlcmVyKCkudmlldygpLmZyYW1lVmlldygpLmhhc0ZsaXBwZWRCbG9ja1JlbmRlcmVy
cygpKSB7CiAgICAgICAgIGlmIChpczxSZW5kZXJCb3g+KHJlbmRlcmVyKCkpKQogICAgICAgICAg
ICAgZG93bmNhc3Q8UmVuZGVyQm94PihyZW5kZXJlcigpKS5mbGlwRm9yV3JpdGluZ01vZGUoYm91
bmRpbmdCb3hSZWN0KTsKICAgICAgICAgZWxzZQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxpbmVCb3hMaXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGluZUJveExpc3QuY3BwCShyZXZpc2lvbiAxODM4NzQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGluZUJveExpc3QuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xNTQsNyArMTU0LDcgQEAgYm9vbCBSZW5kZXJMaW5lQm94TGlzdDo6cmFuZ2VJbnRlcnNl
Y3RzUgogewogICAgIExheW91dFVuaXQgcGh5c2ljYWxTdGFydCA9IGxvZ2ljYWxUb3A7CiAgICAg
TGF5b3V0VW5pdCBwaHlzaWNhbEVuZCA9IGxvZ2ljYWxCb3R0b207Ci0gICAgaWYgKHJlbmRlcmVy
LT52aWV3KCkuaGFzRmxpcHBlZEJsb2NrRGVzY2VuZGFudHMoKSkgeworICAgIGlmIChyZW5kZXJl
ci0+dmlldygpLmZyYW1lVmlldygpLmhhc0ZsaXBwZWRCbG9ja1JlbmRlcmVycygpKSB7CiAgICAg
ICAgIFJlbmRlckJveCogYmxvY2s7CiAgICAgICAgIGlmIChpczxSZW5kZXJCb3g+KCpyZW5kZXJl
cikpCiAgICAgICAgICAgICBibG9jayA9IGRvd25jYXN0PFJlbmRlckJveD4ocmVuZGVyZXIpOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcAkocmV2aXNpb24gMTgz
ODc0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xMTEsNyArMTExLDYgQEAgUmVuZGVyVmlldzo6UmVuZGVyVmlldyhEb2N1bWVu
dCYgZG9jdW1lbgogICAgICwgbV9yZW5kZXJDb3VudGVyQ291bnQoMCkKICAgICAsIG1fc2VsZWN0
aW9uV2FzQ2FyZXQoZmFsc2UpCiAgICAgLCBtX2hhc1NvZnR3YXJlRmlsdGVycyhmYWxzZSkKLSAg
ICAsIG1faGFzRmxpcHBlZEJsb2NrRGVzY2VuZGFudHMoZmFsc2UpCiAjaWYgRU5BQkxFKFNFUlZJ
Q0VfQ09OVFJPTFMpCiAgICAgLCBtX3NlbGVjdGlvblJlY3RHYXRoZXJlcigqdGhpcykKICNlbmRp
ZgpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCShyZXZpc2lvbiAxODM4
NzQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xMDMsOSArMTAzLDYgQEAgcHVibGljOgogCiAgICAgTGF5b3V0UmVjdCB2aWV3UmVj
dCgpIGNvbnN0OwogCi0gICAgYm9vbCBoYXNGbGlwcGVkQmxvY2tEZXNjZW5kYW50cygpIGNvbnN0
IHsgcmV0dXJuIG1faGFzRmxpcHBlZEJsb2NrRGVzY2VuZGFudHM7IH0KLSAgICB2b2lkIHNldEhh
c0ZsaXBwZWRCbG9ja0Rlc2NlbmRhbnRzKGJvb2wgYikgeyBtX2hhc0ZsaXBwZWRCbG9ja0Rlc2Nl
bmRhbnRzID0gYjsgfQotCiAgICAgLy8gbGF5b3V0RGVsdGEgaXMgdXNlZCB0cmFuc2llbnRseSBk
dXJpbmcgbGF5b3V0IHRvIHN0b3JlIGhvdyBmYXIgYW4gb2JqZWN0IGhhcyBtb3ZlZCBmcm9tIGl0
cwogICAgIC8vIGxhc3QgbGF5b3V0IGxvY2F0aW9uLCBpbiBvcmRlciB0byByZXBhaW50IGNvcnJl
Y3RseS4KICAgICAvLyBJZiB3ZSdyZSBkb2luZyBhIGZ1bGwgcmVwYWludCBtX2xheW91dFN0YXRl
IHdpbGwgYmUgMCwgYnV0IGluIHRoYXQgY2FzZSBsYXlvdXREZWx0YSBkb2Vzbid0IG1hdHRlci4K
QEAgLTM2Myw3ICszNjAsNiBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBtX3NlbGVjdGlvbldhc0Nh
cmV0OwogICAgIGJvb2wgbV9oYXNTb2Z0d2FyZUZpbHRlcnM7Ci0gICAgYm9vbCBtX2hhc0ZsaXBw
ZWRCbG9ja0Rlc2NlbmRhbnRzOwogCiAgICAgSGFzaFNldDxSZW5kZXJFbGVtZW50Kj4gbV9yZW5k
ZXJlcnNXaXRoUGF1c2VkSW1hZ2VBbmltYXRpb247CiAgICAgVmVjdG9yPFJlZlB0cjxSZW5kZXJX
aWRnZXQ+PiBtX3Byb3RlY3RlZFJlbmRlcldpZGdldHM7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252513</attachid>
            <date>2015-05-06 12:38:41 -0700</date>
            <delta_ts>2015-05-06 13:39:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>11154</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4Mzg4MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ2IEBACisyMDE1LTA1LTA2ICBEYXZpZCBI
eWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KKworICAgICAgICBPcHRpbWl6ZSB0b3BMZWZ0TG9jYXRp
b25PZmZzZXQoKSBhZGRpdGlvbiBpbiB1cGRhdGVMYXllclBvc2l0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQ3MDQKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6RnJhbWVWaWV3KToKKyAgICAgICAgKiBwYWdl
L0ZyYW1lVmlldy5oOgorICAgICAgICBNb3ZlIHRoZSBoYXNGbGlwcGVkQmxvY2tzIGJpdCB0byBG
cmFtZVZpZXcgaW5zdGVhZCBvZiBSZW5kZXJWaWV3LiBXb3JrcyBiZXR0ZXIgZm9yIGlubGluaW5n
CisgICAgICAgIHRoZSBjaGVjayBpbiBhbnkgcmVuZGVyZXIgaGVhZGVyLCBhbmQgaXQgYWxzbyBt
YWtlcyBtb3JlIHNlbnNlIGNvbmNlcHR1YWxseSwgc2luY2UgdGhlIFJlbmRlclZpZXcKKyAgICAg
ICAgaXRzZWxmIGNvdWxkIGJlIGEgZmxpcHBlZCBibG9jay4KKworICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpsYXlvdXRPdmVy
Zmxvd1JlY3RGb3JQcm9wYWdhdGlvbik6CisgICAgICAgIENoYW5nZSBvdmVyIHRvIHRoZSBGcmFt
ZVZpZXcgYml0LgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5oOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQm94OjphcHBseVRvcExlZnRMb2NhdGlvbk9mZnNldCk6CisgICAgICAg
IEFkZCBhIG5ldyBpbmxpbmVkIGZ1bmN0aW9uIHRoYXQgY2FuIGFwcGx5IHRoZSB0b3AgbGVmdCBs
b2NhdGlvbiBvZmZzZXQgdG8gYSBwb2ludCB3aXRob3V0CisgICAgICAgIG11bHRpcGxlIExheW91
dFNpemUgY3JlYXRpb25zIGFuZCBjb3BpZXMuIEl0IGludm9rZXMgYSBoZWxwZXIgZm9yIGZsaXBw
aW5nIHRoYXQgaXMgbm90CisgICAgICAgIGlubGluZWQgb25seSBpbiB0aGUgY2FzZSB3aGVyZSBh
Y3R1YWwgZmxpcHBlZCBibG9ja3MgZXhpc3QgaW4gdGhlIHJlbmRlciB0cmVlLgorCisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckJveE1vZGVsT2JqZWN0Ojp1cGRhdGVGcm9tU3R5bGUpOgorICAgICAgICBTZXQgdGhl
IGJpdCBvbiB0aGUgRnJhbWVWaWV3IG5vdyBpbnN0ZWFkIG9mIHRoZSBSZW5kZXJWaWV3LgorCisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckxheWVyOjp1cGRhdGVMYXllclBvc2l0aW9uKToKKyAgICAgICAgQ2FsbCB0aGUgbmV3IGFw
cGx5VG9wTGVmdExvY2F0aW9uT2Zmc2V0IGZ1bmN0aW9uIHNvIHRoYXQgdGhlIHBvaW50IGNhbiBo
YXZlIG9mZnNldHMgYWRkZWQKKyAgICAgICAgaW4gd2l0aG91dCBhbnkgZXh0cmEgY29waWVzLgor
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6Y2FsY3VsYXRlQ2xpcFJlY3RzKToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGluZUJveExpc3QuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGluZUJveExpc3Q6OnJhbmdlSW50ZXJzZWN0c1JlY3QpOgorICAgICAgICBTd2l0
Y2ggb3ZlciB0byB0aGUgYml0IG9uIHRoZSBGcmFtZVZpZXcuCisKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3OjpSZW5kZXJW
aWV3KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVmlldy5oOgorICAgICAgICBHZXQgcmlk
IG9mIHRoZSBiaXQgb24gdGhlIFJlbmRlclZpZXcuCisKIDIwMTUtMDUtMDYgIEVyaWMgQ2FybHNv
biAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gcmVtb3ZlIHNvbWUg
dW5uZWNlc3NhcnkgaU9TLW9ubHkgbWVkaWEgY29kZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmNwcAkocmV2aXNpb24gMTgzODc0KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDAsNiArMjAwLDcgQEAgRnJhbWVWaWV3OjpGcmFt
ZVZpZXcoRnJhbWUmIGZyYW1lKQogICAgICwgbV9mb290ZXJIZWlnaHQoMCkKICAgICAsIG1fbWls
ZXN0b25lc1BlbmRpbmdQYWludCgwKQogICAgICwgbV92aXN1YWxVcGRhdGVzQWxsb3dlZEJ5Q2xp
ZW50KHRydWUpCisgICAgLCBtX2hhc0ZsaXBwZWRCbG9ja1JlbmRlcmVycyhmYWxzZSkKICAgICAs
IG1fc2Nyb2xsUGlubmluZ0JlaGF2aW9yKERvTm90UGluKQogewogICAgIGluaXQoKTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuaAkocmV2aXNpb24gMTgzODc0KQorKysgU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuaAkod29ya2luZyBjb3B5KQpAQCAtNTExLDYgKzUxMSw5IEBAIHB1
YmxpYzoKIAogICAgIFNjcm9sbEJlaGF2aW9yRm9yRml4ZWRFbGVtZW50cyBzY3JvbGxCZWhhdmlv
ckZvckZpeGVkRWxlbWVudHMoKSBjb25zdDsKIAorICAgIGJvb2wgaGFzRmxpcHBlZEJsb2NrUmVu
ZGVyZXJzKCkgY29uc3QgeyByZXR1cm4gbV9oYXNGbGlwcGVkQmxvY2tSZW5kZXJlcnM7IH0KKyAg
ICB2b2lkIHNldEhhc0ZsaXBwZWRCbG9ja1JlbmRlcmVycyhib29sIGIpIHsgbV9oYXNGbGlwcGVk
QmxvY2tSZW5kZXJlcnMgPSBiOyB9CisKICAgICB2b2lkIHVwZGF0ZVdpZGdldFBvc2l0aW9ucygp
OwogICAgIHZvaWQgZGlkQWRkV2lkZ2V0VG9SZW5kZXJUcmVlKFdpZGdldCYpOwogICAgIHZvaWQg
d2lsbFJlbW92ZVdpZGdldEZyb21SZW5kZXJUcmVlKFdpZGdldCYpOwpAQCAtNzkwLDcgKzc5Myw4
IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogICAgIGJvb2wgbV92aXN1YWxVcGRhdGVzQWxsb3dlZEJ5
Q2xpZW50OwotICAgIAorICAgIGJvb2wgbV9oYXNGbGlwcGVkQmxvY2tSZW5kZXJlcnM7CisKICAg
ICBTY3JvbGxQaW5uaW5nQmVoYXZpb3IgbV9zY3JvbGxQaW5uaW5nQmVoYXZpb3I7CiAKICAgICBJ
bnRSZWN0KiBtX2NhY2hlZFdpbmRvd0NsaXBSZWN0IHsgbnVsbHB0ciB9OwpJbmRleDogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAJKHJldmlzaW9uIDE4Mzg3NCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00ODMx
LDcgKzQ4MzEsNyBAQCB2b2lkIFJlbmRlckJveDo6ZmxpcEZvcldyaXRpbmdNb2RlKEZsb2F0CiAK
IExheW91dFBvaW50IFJlbmRlckJveDo6dG9wTGVmdExvY2F0aW9uKCkgY29uc3QKIHsKLSAgICBp
ZiAoIXZpZXcoKS5oYXNGbGlwcGVkQmxvY2tEZXNjZW5kYW50cygpKQorICAgIGlmICghdmlldygp
LmZyYW1lVmlldygpLmhhc0ZsaXBwZWRCbG9ja1JlbmRlcmVycygpKQogICAgICAgICByZXR1cm4g
bG9jYXRpb24oKTsKICAgICAKICAgICBSZW5kZXJCbG9jayogY29udGFpbmVyQmxvY2sgPSBjb250
YWluaW5nQmxvY2soKTsKQEAgLTQ4NDIsOCArNDg0Miw4IEBAIExheW91dFBvaW50IFJlbmRlckJv
eDo6dG9wTGVmdExvY2F0aW9uKCkKIAogTGF5b3V0U2l6ZSBSZW5kZXJCb3g6OnRvcExlZnRMb2Nh
dGlvbk9mZnNldCgpIGNvbnN0CiB7Ci0gICAgaWYgKCF2aWV3KCkuaGFzRmxpcHBlZEJsb2NrRGVz
Y2VuZGFudHMoKSkKLSAgICAgICAgcmV0dXJuIExheW91dFNpemUobV9mcmFtZVJlY3QueCgpLCBt
X2ZyYW1lUmVjdC55KCkpOworICAgIGlmICghdmlldygpLmZyYW1lVmlldygpLmhhc0ZsaXBwZWRC
bG9ja1JlbmRlcmVycygpKQorICAgICAgICByZXR1cm4gbG9jYXRpb25PZmZzZXQoKTsKIAogICAg
IFJlbmRlckJsb2NrKiBjb250YWluZXJCbG9jayA9IGNvbnRhaW5pbmdCbG9jaygpOwogICAgIGlm
ICghY29udGFpbmVyQmxvY2sgfHwgY29udGFpbmVyQmxvY2sgPT0gdGhpcykKQEAgLTQ4NTQsNiAr
NDg1NCwxOSBAQCBMYXlvdXRTaXplIFJlbmRlckJveDo6dG9wTGVmdExvY2F0aW9uT2ZmCiAgICAg
cmV0dXJuIExheW91dFNpemUocmVjdC54KCksIHJlY3QueSgpKTsKIH0KIAordm9pZCBSZW5kZXJC
b3g6OmFwcGx5VG9wTGVmdExvY2F0aW9uT2Zmc2V0V2l0aEZsaXBwaW5nKExheW91dFBvaW50JiBw
b2ludCkgY29uc3QKK3sKKyAgICBSZW5kZXJCbG9jayogY29udGFpbmVyQmxvY2sgPSBjb250YWlu
aW5nQmxvY2soKTsKKyAgICBpZiAoIWNvbnRhaW5lckJsb2NrIHx8IGNvbnRhaW5lckJsb2NrID09
IHRoaXMpIHsKKyAgICAgICAgcG9pbnQubW92ZShtX2ZyYW1lUmVjdC54KCksIG1fZnJhbWVSZWN0
LnkoKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgCisgICAgTGF5b3V0UmVjdCByZWN0
KGZyYW1lUmVjdCgpKTsKKyAgICBjb250YWluZXJCbG9jay0+ZmxpcEZvcldyaXRpbmdNb2RlKHJl
Y3QpOyAvLyBGSVhNRTogVGhpcyBpcyB3cm9uZyBpZiB3ZSBhcmUgYW4gYWJzb2x1dGVseSBwb3Np
dGlvbmVkIG9iamVjdAorICAgIHBvaW50Lm1vdmUocmVjdC54KCksIHJlY3QueSgpKTsKK30KKwog
Ym9vbCBSZW5kZXJCb3g6Omhhc1JlbGF0aXZlRGltZW5zaW9ucygpIGNvbnN0CiB7CiAgICAgcmV0
dXJuIHN0eWxlKCkuaGVpZ2h0KCkuaXNQZXJjZW50KCkgfHwgc3R5bGUoKS53aWR0aCgpLmlzUGVy
Y2VudCgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCShyZXZpc2lvbiAx
ODM4NzQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTIzLDYgKzIzLDcgQEAKICNpZm5kZWYgUmVuZGVyQm94X2gKICNkZWZpbmUgUmVu
ZGVyQm94X2gKIAorI2luY2x1ZGUgIkZyYW1lVmlldy5oIgogI2luY2x1ZGUgIlJlbmRlckJveE1v
ZGVsT2JqZWN0LmgiCiAjaW5jbHVkZSAiUmVuZGVyT3ZlcmZsb3cuaCIKICNpbmNsdWRlICJTY3Jv
bGxUeXBlcy5oIgpAQCAtNTUzLDYgKzU1NCwxNCBAQCBwdWJsaWM6CiAgICAgLy8gSW4gbGF5b3V0
IHJlbGF0ZWQgbWV0aG9kcyB5b3UgYWxtb3N0IGFsd2F5cyB3YW50IHRoZSBsb2dpY2FsIGxvY2F0
aW9uIChlLmcuIHgoKSBhbmQgeSgpKS4KICAgICBMYXlvdXRQb2ludCB0b3BMZWZ0TG9jYXRpb24o
KSBjb25zdDsKICAgICBMYXlvdXRTaXplIHRvcExlZnRMb2NhdGlvbk9mZnNldCgpIGNvbnN0Owor
ICAgIHZvaWQgYXBwbHlUb3BMZWZ0TG9jYXRpb25PZmZzZXQoTGF5b3V0UG9pbnQmIHBvaW50KSBj
b25zdAorICAgIHsKKyAgICAgICAgLy8gVGhpcyBpcyBpbmxpbmVkIGZvciBzcGVlZCwgc2luY2Ug
aXQgaXMgdXNlZCBieSB1cGRhdGVMYXllclBvc2l0aW9uKCkgZHVyaW5nIHNjcm9sbGluZy4KKyAg
ICAgICAgaWYgKCFkb2N1bWVudCgpLnZpZXcoKS0+aGFzRmxpcHBlZEJsb2NrUmVuZGVyZXJzKCkp
CisgICAgICAgICAgICBwb2ludC5tb3ZlKG1fZnJhbWVSZWN0LngoKSwgbV9mcmFtZVJlY3QueSgp
KTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgYXBwbHlUb3BMZWZ0TG9jYXRpb25PZmZzZXRX
aXRoRmxpcHBpbmcocG9pbnQpOworICAgIH0KIAogICAgIExheW91dFJlY3QgbG9naWNhbFZpc3Vh
bE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9uKFJlbmRlclN0eWxlKikgY29uc3Q7CiAgICAgTGF5
b3V0UmVjdCB2aXN1YWxPdmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlvbihSZW5kZXJTdHlsZSopIGNv
bnN0OwpAQCAtNzA5LDYgKzcxOCw4IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGNvbXB1
dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKCkgeyBzZXRQcmVmZXJyZWRMb2dpY2FsV2lkdGhzRGly
dHkoZmFsc2UpOyB9CiAKICAgICB2aXJ0dWFsIExheW91dFJlY3QgZnJhbWVSZWN0Rm9yU3RpY2t5
UG9zaXRpb25pbmcoKSBjb25zdCBvdmVycmlkZSBmaW5hbCB7IHJldHVybiBmcmFtZVJlY3QoKTsg
fQorICAgIAorICAgIHZvaWQgYXBwbHlUb3BMZWZ0TG9jYXRpb25PZmZzZXRXaXRoRmxpcHBpbmco
TGF5b3V0UG9pbnQmKSBjb25zdDsKIAogcHJpdmF0ZToKICAgICAvLyBUaGUgd2lkdGgvaGVpZ2h0
IG9mIHRoZSBjb250ZW50cyArIGJvcmRlcnMgKyBwYWRkaW5nLiAgVGhlIHgveSBsb2NhdGlvbiBp
cyByZWxhdGl2ZSB0byBvdXIgY29udGFpbmVyICh3aGljaCBpcyBub3QgYWx3YXlzIG91ciBwYXJl
bnQpLgpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9k
ZWxPYmplY3QuY3BwCShyZXZpc2lvbiAxODM4NzkpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMjAsNyArMjIw
LDcgQEAgdm9pZCBSZW5kZXJCb3hNb2RlbE9iamVjdDo6dXBkYXRlRnJvbVN0eQogICAgIHNldFBv
c2l0aW9uU3RhdGUoc3R5bGVUb1VzZS5wb3NpdGlvbigpKTsKICAgICBzZXRIb3Jpem9udGFsV3Jp
dGluZ01vZGUoc3R5bGVUb1VzZS5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpKTsKICAgICBpZiAo
c3R5bGVUb1VzZS5pc0ZsaXBwZWRCbG9ja3NXcml0aW5nTW9kZSgpKQotICAgICAgICB2aWV3KCku
c2V0SGFzRmxpcHBlZEJsb2NrRGVzY2VuZGFudHModHJ1ZSk7CisgICAgICAgIHZpZXcoKS5mcmFt
ZVZpZXcoKS5zZXRIYXNGbGlwcGVkQmxvY2tSZW5kZXJlcnModHJ1ZSk7CiB9CiAKIHN0YXRpYyBM
YXlvdXRTaXplIGFjY3VtdWxhdGVJbkZsb3dQb3NpdGlvbk9mZnNldHMoY29uc3QgUmVuZGVyT2Jq
ZWN0KiBjaGlsZCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNw
cAkocmV2aXNpb24gMTgzODc0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTMxNyw3ICsxMzE3LDcgQEAgYm9vbCBSZW5kZXJM
YXllcjo6dXBkYXRlTGF5ZXJQb3NpdGlvbigpCiAgICAgfSBlbHNlIGlmIChSZW5kZXJCb3gqIGJv
eCA9IHJlbmRlckJveCgpKSB7CiAgICAgICAgIC8vIEZJWE1FOiBJcyBzbmFwcGluZyB0aGUgc2l6
ZSByZWFsbHkgbmVlZGVkIGhlcmUgZm9yIHRoZSBSZW5kZXJCb3ggY2FzZT8KICAgICAgICAgc2V0
U2l6ZShib3gtPnBpeGVsU25hcHBlZFNpemUoKSk7Ci0gICAgICAgIGxvY2FsUG9pbnQgKz0gYm94
LT50b3BMZWZ0TG9jYXRpb25PZmZzZXQoKTsKKyAgICAgICAgYm94LT5hcHBseVRvcExlZnRMb2Nh
dGlvbk9mZnNldChsb2NhbFBvaW50KTsKICAgICB9CiAKICAgICBSZW5kZXJFbGVtZW50KiBhbmNl
c3RvcjsKQEAgLTU4MTksNyArNTgxOSw3IEBAIExheW91dFJlY3QgUmVuZGVyTGF5ZXI6OmxvY2Fs
Qm91bmRpbmdCb3gKIExheW91dFJlY3QgUmVuZGVyTGF5ZXI6OmJvdW5kaW5nQm94KGNvbnN0IFJl
bmRlckxheWVyKiBhbmNlc3RvckxheWVyLCBjb25zdCBMYXlvdXRTaXplJiBvZmZzZXRGcm9tUm9v
dCwgQ2FsY3VsYXRlTGF5ZXJCb3VuZHNGbGFncyBmbGFncykgY29uc3QKIHsgICAgCiAgICAgTGF5
b3V0UmVjdCByZXN1bHQgPSBsb2NhbEJvdW5kaW5nQm94KGZsYWdzKTsKLSAgICBpZiAocmVuZGVy
ZXIoKS52aWV3KCkuaGFzRmxpcHBlZEJsb2NrRGVzY2VuZGFudHMoKSkgeworICAgIGlmIChyZW5k
ZXJlcigpLnZpZXcoKS5mcmFtZVZpZXcoKS5oYXNGbGlwcGVkQmxvY2tSZW5kZXJlcnMoKSkgewog
ICAgICAgICBpZiAocmVuZGVyZXIoKS5pc0JveCgpKQogICAgICAgICAgICAgcmVuZGVyQm94KCkt
PmZsaXBGb3JXcml0aW5nTW9kZShyZXN1bHQpOwogICAgICAgICBlbHNlCkBAIC01OTAxLDcgKzU5
MDEsNyBAQCBMYXlvdXRSZWN0IFJlbmRlckxheWVyOjpjYWxjdWxhdGVMYXllckJvCiAKICAgICBM
YXlvdXRSZWN0IGJvdW5kaW5nQm94UmVjdCA9IGxvY2FsQm91bmRpbmdCb3goZmxhZ3MpOwogCi0g
ICAgaWYgKHJlbmRlcmVyKCkudmlldygpLmhhc0ZsaXBwZWRCbG9ja0Rlc2NlbmRhbnRzKCkpIHsK
KyAgICBpZiAocmVuZGVyZXIoKS52aWV3KCkuZnJhbWVWaWV3KCkuaGFzRmxpcHBlZEJsb2NrUmVu
ZGVyZXJzKCkpIHsKICAgICAgICAgaWYgKGlzPFJlbmRlckJveD4ocmVuZGVyZXIoKSkpCiAgICAg
ICAgICAgICBkb3duY2FzdDxSZW5kZXJCb3g+KHJlbmRlcmVyKCkpLmZsaXBGb3JXcml0aW5nTW9k
ZShib3VuZGluZ0JveFJlY3QpOwogICAgICAgICBlbHNlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGluZUJveExpc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMaW5lQm94TGlzdC5jcHAJKHJldmlzaW9uIDE4Mzg3NCkKKysr
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaW5lQm94TGlzdC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTE1NCw3ICsxNTQsNyBAQCBib29sIFJlbmRlckxpbmVCb3hMaXN0OjpyYW5nZUlu
dGVyc2VjdHNSCiB7CiAgICAgTGF5b3V0VW5pdCBwaHlzaWNhbFN0YXJ0ID0gbG9naWNhbFRvcDsK
ICAgICBMYXlvdXRVbml0IHBoeXNpY2FsRW5kID0gbG9naWNhbEJvdHRvbTsKLSAgICBpZiAocmVu
ZGVyZXItPnZpZXcoKS5oYXNGbGlwcGVkQmxvY2tEZXNjZW5kYW50cygpKSB7CisgICAgaWYgKHJl
bmRlcmVyLT52aWV3KCkuZnJhbWVWaWV3KCkuaGFzRmxpcHBlZEJsb2NrUmVuZGVyZXJzKCkpIHsK
ICAgICAgICAgUmVuZGVyQm94KiBibG9jazsKICAgICAgICAgaWYgKGlzPFJlbmRlckJveD4oKnJl
bmRlcmVyKSkKICAgICAgICAgICAgIGJsb2NrID0gZG93bmNhc3Q8UmVuZGVyQm94PihyZW5kZXJl
cik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCShyZXZpc2lv
biAxODM4NzQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTExMSw3ICsxMTEsNiBAQCBSZW5kZXJWaWV3OjpSZW5kZXJWaWV3KERv
Y3VtZW50JiBkb2N1bWVuCiAgICAgLCBtX3JlbmRlckNvdW50ZXJDb3VudCgwKQogICAgICwgbV9z
ZWxlY3Rpb25XYXNDYXJldChmYWxzZSkKICAgICAsIG1faGFzU29mdHdhcmVGaWx0ZXJzKGZhbHNl
KQotICAgICwgbV9oYXNGbGlwcGVkQmxvY2tEZXNjZW5kYW50cyhmYWxzZSkKICNpZiBFTkFCTEUo
U0VSVklDRV9DT05UUk9MUykKICAgICAsIG1fc2VsZWN0aW9uUmVjdEdhdGhlcmVyKCp0aGlzKQog
I2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgJKHJldmlzaW9u
IDE4Mzg3NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgJKHdvcmtp
bmcgY29weSkKQEAgLTEwMyw5ICsxMDMsNiBAQCBwdWJsaWM6CiAKICAgICBMYXlvdXRSZWN0IHZp
ZXdSZWN0KCkgY29uc3Q7CiAKLSAgICBib29sIGhhc0ZsaXBwZWRCbG9ja0Rlc2NlbmRhbnRzKCkg
Y29uc3QgeyByZXR1cm4gbV9oYXNGbGlwcGVkQmxvY2tEZXNjZW5kYW50czsgfQotICAgIHZvaWQg
c2V0SGFzRmxpcHBlZEJsb2NrRGVzY2VuZGFudHMoYm9vbCBiKSB7IG1faGFzRmxpcHBlZEJsb2Nr
RGVzY2VuZGFudHMgPSBiOyB9Ci0KICAgICAvLyBsYXlvdXREZWx0YSBpcyB1c2VkIHRyYW5zaWVu
dGx5IGR1cmluZyBsYXlvdXQgdG8gc3RvcmUgaG93IGZhciBhbiBvYmplY3QgaGFzIG1vdmVkIGZy
b20gaXRzCiAgICAgLy8gbGFzdCBsYXlvdXQgbG9jYXRpb24sIGluIG9yZGVyIHRvIHJlcGFpbnQg
Y29ycmVjdGx5LgogICAgIC8vIElmIHdlJ3JlIGRvaW5nIGEgZnVsbCByZXBhaW50IG1fbGF5b3V0
U3RhdGUgd2lsbCBiZSAwLCBidXQgaW4gdGhhdCBjYXNlIGxheW91dERlbHRhIGRvZXNuJ3QgbWF0
dGVyLgpAQCAtMzYzLDcgKzM2MCw2IEBAIHByaXZhdGU6CiAKICAgICBib29sIG1fc2VsZWN0aW9u
V2FzQ2FyZXQ7CiAgICAgYm9vbCBtX2hhc1NvZnR3YXJlRmlsdGVyczsKLSAgICBib29sIG1faGFz
RmxpcHBlZEJsb2NrRGVzY2VuZGFudHM7CiAKICAgICBIYXNoU2V0PFJlbmRlckVsZW1lbnQqPiBt
X3JlbmRlcmVyc1dpdGhQYXVzZWRJbWFnZUFuaW1hdGlvbjsKICAgICBWZWN0b3I8UmVmUHRyPFJl
bmRlcldpZGdldD4+IG1fcHJvdGVjdGVkUmVuZGVyV2lkZ2V0czsK
</data>
<flag name="review"
          id="277354"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>