<?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>108647</bug_id>
          
          <creation_ts>2013-02-01 09:16:05 -0800</creation_ts>
          <short_desc>ScrollAnimatorMac should adopt contentAreaScrolledInDirection</short_desc>
          <delta_ts>2013-02-01 12:15:29 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>OS X 10.8</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="Beth Dakin">bdakin</reporter>
          <assigned_to name="Beth Dakin">bdakin</assigned_to>
          <cc>bdakin</cc>
    
    <cc>fmalita</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>822849</commentid>
    <comment_count>0</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2013-02-01 09:16:05 -0800</bug_when>
    <thetext>ScrollAnimatorMac should adopt contentAreaScrolledInDirection.

&lt;rdar://problem/12434779&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822863</commentid>
    <comment_count>1</comment_count>
      <attachid>186061</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2013-02-01 09:27:40 -0800</bug_when>
    <thetext>Created attachment 186061
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822930</commentid>
    <comment_count>2</comment_count>
      <attachid>186061</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-02-01 10:28:03 -0800</bug_when>
    <thetext>Comment on attachment 186061
Patch

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

&gt; Source/WebCore/platform/ScrollAnimator.h:97
&gt; +    virtual void notifyContentAreaScrolled(const FloatPoint&amp; /*delta*/) { }

I don&apos;t like the /*delta*/ - why just not name the parameter?

Also, shouldn&apos;t the delta be a FloatSize?

Also, I know that Dan hates using the term delta for this, why not offset?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822965</commentid>
    <comment_count>3</comment_count>
      <attachid>186079</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2013-02-01 10:55:08 -0800</bug_when>
    <thetext>Created attachment 186079
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822979</commentid>
    <comment_count>4</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2013-02-01 11:00:54 -0800</bug_when>
    <thetext>Thank you!

http://trac.webkit.org/changeset/141610</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>823067</commentid>
    <comment_count>5</comment_count>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2013-02-01 11:48:19 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Thank you!
&gt; 
&gt; http://trac.webkit.org/changeset/141610

This appears to have busted the Win builds (both CR &amp; Apple):

http://build.webkit.org/builders/Chromium%20Win%20Release/builds/53692/steps/compile-webkit/logs/stdio

Please take a look.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>823082</commentid>
    <comment_count>6</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2013-02-01 11:56:33 -0800</bug_when>
    <thetext>Committed a speculative fix: http://trac.webkit.org/changeset/141620</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>823115</commentid>
    <comment_count>7</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2013-02-01 12:15:29 -0800</bug_when>
    <thetext>Tried again with http://trac.webkit.org/changeset/141625</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186061</attachid>
            <date>2013-02-01 09:27:40 -0800</date>
            <delta_ts>2013-02-01 10:55:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>for-review.txt</filename>
            <type>text/plain</type>
            <size>13094</size>
            <attacher name="Beth Dakin">bdakin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0MTU5OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU4IEBACisyMDEzLTAyLTAxICBCZXRoIERh
a2luICA8YmRha2luQGFwcGxlLmNvbT4KKworICAgICAgICBTY3JvbGxBbmltYXRvck1hYyBzaG91
bGQgYWRvcHQgY29udGVudEFyZWFTY3JvbGxlZEluRGlyZWN0aW9uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDg2NDcKKyAgICAgICAgLWFuZCBjb3Jy
ZXNwb25kaW5nLQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTI0MzQ3Nzk+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBtYWtlcyBu
b3RpZnlDb250ZW50QXJlYVNjcm9sbGVkKCkgYW5kIG5vdGlmeVBvc2l0aW9uQ2hhbmdlZCgpIHRh
a2UgYSAKKyAgICAgICAgRmxvYXRQb2ludCBwYXJhbWV0ZXIgdGhhdCByZXByZXNlbnRzIHRoZSBz
Y3JvbGwgZGVsdGEgc28gdGhhdCBpdCBjYW4gYmUgcGFzc2VkIAorICAgICAgICBhbG9uZyB0byBj
b250ZW50QXJlYVNjcm9sbGVkSW5EaXJlY3Rpb246LiAKKworICAgICAgICBQYXNzIGFsb25nIHRo
ZSBzY3JvbGwgZGVsdGEuCisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3I6OnNjcm9sbCk6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxBbmltYXRvcjo6c2Nyb2xsVG9PZmZzZXRXaXRob3V0QW5pbWF0aW9uKToKKwor
ICAgICAgICBUaGUgZGVsdGEgaXMgbm90IG5lZWRlZCBpbiB0aGlzIGJhc2UtY2xhc3MgaW1wbGVt
ZW50YXRpb24uIEl0IHdpbGwgb25seSBiZSBuZWVkZWQgCisgICAgICAgIGluIHRoZSBTY3JvbGxB
bmltYXRvck1hYyBvdmVycmlkZS4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yOjpu
b3RpZnlQb3NpdGlvbkNoYW5nZWQpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbEFuaW1hdG9y
Lmg6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvcjo6bm90aWZ5Q29udGVudEFyZWFT
Y3JvbGxlZCk6CisKKyAgICAgICAgUGFzcyBhbG9uZyB0aGUgZGVsdGEuCisgICAgICAgICogcGxh
dGZvcm0vU2Nyb2xsQW5pbWF0b3JOb25lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFu
aW1hdG9yTm9uZTo6c2Nyb2xsVG9PZmZzZXRXaXRob3V0QW5pbWF0aW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbEFuaW1hdG9yTm9uZTo6YW5pbWF0aW9uVGltZXJGaXJlZCk6CisgICAgICAg
ICogcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
YWJsZUFyZWE6OnNjcm9sbFBvc2l0aW9uQ2hhbmdlZCk6CisKKyAgICAgICAgQWRkIGNvbnRlbnRB
cmVhU2Nyb2xsZWRJbkRpcmVjdGlvbjogdG8gdGhlIE5TU2Nyb2xsZXJJbXBEZXRhaWxzLgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy9OU1Njcm9sbGVySW1wRGV0YWlscy5oOgorCisgICAgICAgIE5l
dyBtZW1iZXIgdmFyaWFibGUgbV9jb250ZW50QXJlYVNjcm9sbGVkVGltZXJTY3JvbGxEZWx0YSBz
dG9yZXMgdGhlIGN1cnJlbnQgCisgICAgICAgIHNjcm9sbCBkZWx0YSB3aGlsZSB3ZSBhcmUgd2Fp
dGluZyBmb3IgbV9zZW5kQ29udGVudEFyZWFTY3JvbGxlZFRpbWVyIHRvIGZpcmUuCisgICAgICAg
ICogcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLmg6CisKKyAgICAgICAgV2UgbmVlZCB0
aGlzIHNvIHRoYXQgd2UgY2FuIGNhbGwganVzdCBjb250ZW50QXJlYVNjcm9sbGVkIGlmIAorICAg
ICAgICBjb250ZW50QXJlYVNjcm9sbGVkSW5EaXJlY3Rpb246IGlzIG5vdCBhdmFpbGFibGUuCisg
ICAgICAgICogcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tOgorICAgICAgICAoc3Vw
cG9ydHNDb250ZW50QXJlYVNjcm9sbGVkSW5EaXJlY3Rpb24pOgorCisgICAgICAgIFBhc3MgYWxv
bmcgdGhlIGRlbHRhLgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JNYWM6OmltbWVk
aWF0ZVNjcm9sbFRvKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yTWFjOjpub3Rp
ZnlQb3NpdGlvbkNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JNYWM6
Om1heUJlZ2luU2Nyb2xsR2VzdHVyZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRv
ck1hYzo6bm90aWZ5Q29udGVudEFyZWFTY3JvbGxlZCk6CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxBbmltYXRvck1hYzo6aW1tZWRpYXRlU2Nyb2xsQnkpOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsQW5pbWF0b3JNYWM6OnNlbmRDb250ZW50QXJlYVNjcm9sbGVkU29vbik6CisKKyAgICAgICAg
SWYgY29udGVudEFyZWFTY3JvbGxlZEluRGlyZWN0aW9uOiBpcyBhdmFpbGFibGUsIGNhbGwgaXQg
d2l0aCB0aGUgZGVsdGEsIGFuZCB0aGVuIAorICAgICAgICByZXNldCBvdXIgZGVsdGEuIE90aGVy
d2lzZSwgc3RpbGwgY2FsbCBjb250ZW50QXJlYVNjcm9sbGVkLgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsQW5pbWF0b3JNYWM6OnNlbmRDb250ZW50QXJlYVNjcm9sbGVkVGltZXJGaXJlZCk6CisK
IDIwMTMtMDItMDEgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgV2ViIEluc3BlY3RvcjogcmVsYXggZ290byBmaWxlIG1hdGNoaW5nIGFnYWluLgpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcAkocmV2aXNpb24g
MTQxNTk5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC02MywyMCArNjMsMjIgQEAgYm9vbCBTY3JvbGxBbmltYXRvcjo6c2Ny
b2xsKFNjcm9sbGJhck9yaQogewogICAgIGZsb2F0KiBjdXJyZW50UG9zID0gKG9yaWVudGF0aW9u
ID09IEhvcml6b250YWxTY3JvbGxiYXIpID8gJm1fY3VycmVudFBvc1ggOiAmbV9jdXJyZW50UG9z
WTsKICAgICBmbG9hdCBuZXdQb3MgPSBzdGQ6Om1heChzdGQ6Om1pbigqY3VycmVudFBvcyArIChz
dGVwICogbXVsdGlwbGllciksIHN0YXRpY19jYXN0PGZsb2F0PihtX3Njcm9sbGFibGVBcmVhLT5z
Y3JvbGxTaXplKG9yaWVudGF0aW9uKSkpLCAwLjBmKTsKKyAgICBmbG9hdCBkZWx0YSA9ICpjdXJy
ZW50UG9zIC0gbmV3UG9zOwogICAgIGlmICgqY3VycmVudFBvcyA9PSBuZXdQb3MpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICAqY3VycmVudFBvcyA9IG5ld1BvczsKIAotICAgIG5vdGlmeVBv
c2l0aW9uQ2hhbmdlZCgpOworICAgIG5vdGlmeVBvc2l0aW9uQ2hhbmdlZChvcmllbnRhdGlvbiA9
PSBIb3Jpem9udGFsU2Nyb2xsYmFyID8gSW50UG9pbnQoZGVsdGEsIDApIDogSW50UG9pbnQoMCwg
ZGVsdGEpKTsKIAogICAgIHJldHVybiB0cnVlOwogfQogCiB2b2lkIFNjcm9sbEFuaW1hdG9yOjpz
Y3JvbGxUb09mZnNldFdpdGhvdXRBbmltYXRpb24oY29uc3QgRmxvYXRQb2ludCYgb2Zmc2V0KQog
eworICAgIEZsb2F0UG9pbnQgZGVsdGEgPSBJbnRQb2ludChvZmZzZXQueCgpIC0gbV9jdXJyZW50
UG9zWCwgb2Zmc2V0LnkoKSAtIG1fY3VycmVudFBvc1kpOwogICAgIG1fY3VycmVudFBvc1ggPSBv
ZmZzZXQueCgpOwogICAgIG1fY3VycmVudFBvc1kgPSBvZmZzZXQueSgpOwotICAgIG5vdGlmeVBv
c2l0aW9uQ2hhbmdlZCgpOworICAgIG5vdGlmeVBvc2l0aW9uQ2hhbmdlZChkZWx0YSk7CiB9CiAK
IGJvb2wgU2Nyb2xsQW5pbWF0b3I6OmhhbmRsZVdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVl
bEV2ZW50JiBlKQpAQCAtMTM5LDggKzE0MSw5IEBAIEZsb2F0UG9pbnQgU2Nyb2xsQW5pbWF0b3I6
OmN1cnJlbnRQb3NpdGkKICAgICByZXR1cm4gRmxvYXRQb2ludChtX2N1cnJlbnRQb3NYLCBtX2N1
cnJlbnRQb3NZKTsKIH0KIAotdm9pZCBTY3JvbGxBbmltYXRvcjo6bm90aWZ5UG9zaXRpb25DaGFu
Z2VkKCkKK3ZvaWQgU2Nyb2xsQW5pbWF0b3I6Om5vdGlmeVBvc2l0aW9uQ2hhbmdlZChjb25zdCBG
bG9hdFBvaW50JiBkZWx0YSkKIHsKKyAgICBVTlVTRURfUEFSQU0oZGVsdGEpOwogICAgIG1fc2Ny
b2xsYWJsZUFyZWEtPnNldFNjcm9sbE9mZnNldEZyb21BbmltYXRpb24oSW50UG9pbnQobV9jdXJy
ZW50UG9zWCwgbV9jdXJyZW50UG9zWSkpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TY3JvbGxBbmltYXRvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbEFuaW1hdG9yLmgJKHJldmlzaW9uIDE0MTU5OSkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTk0LDE0ICs5NCwx
NCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkU2Nyb2xsYmFyUGFydGljaXBh
dGVJbkhpdFRlc3RpbmcoU2Nyb2xsYmFyKikgeyByZXR1cm4gdHJ1ZTsgfQogCi0gICAgdmlydHVh
bCB2b2lkIG5vdGlmeUNvbnRlbnRBcmVhU2Nyb2xsZWQoKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQg
bm90aWZ5Q29udGVudEFyZWFTY3JvbGxlZChjb25zdCBGbG9hdFBvaW50JiAvKmRlbHRhKi8pIHsg
fQogCiAgICAgdmlydHVhbCBib29sIGlzUnViYmVyQmFuZEluUHJvZ3Jlc3MoKSBjb25zdCB7IHJl
dHVybiBmYWxzZTsgfQogCiBwcm90ZWN0ZWQ6CiAgICAgZXhwbGljaXQgU2Nyb2xsQW5pbWF0b3Io
U2Nyb2xsYWJsZUFyZWEqKTsKIAotICAgIHZpcnR1YWwgdm9pZCBub3RpZnlQb3NpdGlvbkNoYW5n
ZWQoKTsKKyAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5UG9zaXRpb25DaGFuZ2VkKGNvbnN0IEZsb2F0
UG9pbnQmIGRlbHRhKTsKIAogICAgIFNjcm9sbGFibGVBcmVhKiBtX3Njcm9sbGFibGVBcmVhOwog
ICAgIGZsb2F0IG1fY3VycmVudFBvc1g7IC8vIFdlIGF2b2lkIHVzaW5nIGEgRmxvYXRQb2ludCBp
biBvcmRlciB0byByZWR1Y2UKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFu
aW1hdG9yTm9uZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsQW5pbWF0b3JOb25lLmNwcAkocmV2aXNpb24gMTQxNTk5KQorKysgU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3JOb25lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDc1LDYg
KzQ3NSw4IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JOb25lOjpzY3JvbGxUb09mZnNldFcKIHsKICAg
ICBzdG9wQW5pbWF0aW9uVGltZXJJZk5lZWRlZCgpOwogCisgICAgRmxvYXRQb2ludCBkZWx0YSA9
IEZsb2F0UG9pbnQob2Zmc2V0LngoKSAtICptX2hvcml6b250YWxEYXRhLm1fY3VycmVudFBvc2l0
aW9uLCBvZmZzZXQueSgpIC0gKm1fdmVydGljYWxEYXRhLm1fY3VycmVudFBvc2l0aW9uKTsKKwog
ICAgIG1faG9yaXpvbnRhbERhdGEucmVzZXQoKTsKICAgICAqbV9ob3Jpem9udGFsRGF0YS5tX2N1
cnJlbnRQb3NpdGlvbiA9IG9mZnNldC54KCk7CiAgICAgbV9ob3Jpem9udGFsRGF0YS5tX2Rlc2ly
ZWRQb3NpdGlvbiA9IG9mZnNldC54KCk7CkBAIC00ODMsNyArNDg1LDcgQEAgdm9pZCBTY3JvbGxB
bmltYXRvck5vbmU6OnNjcm9sbFRvT2Zmc2V0VwogICAgICptX3ZlcnRpY2FsRGF0YS5tX2N1cnJl
bnRQb3NpdGlvbiA9IG9mZnNldC55KCk7CiAgICAgbV92ZXJ0aWNhbERhdGEubV9kZXNpcmVkUG9z
aXRpb24gPSBvZmZzZXQueSgpOwogCi0gICAgbm90aWZ5UG9zaXRpb25DaGFuZ2VkKCk7CisgICAg
bm90aWZ5UG9zaXRpb25DaGFuZ2VkKGRlbHRhKTsKIH0KIAogI2lmICFVU0UoUkVRVUVTVF9BTklN
QVRJT05fRlJBTUVfVElNRVIpCkBAIC01NTUsNyArNTU3LDcgQEAgdm9pZCBTY3JvbGxBbmltYXRv
ck5vbmU6OmFuaW1hdGlvblRpbWVyRgogI2lmIFBMQVRGT1JNKENIUk9NSVVNKQogICAgIFRSQUNF
X0VWRU5UMCgid2Via2l0IiwgIlNjcm9sbEFuaW1hdG9yTm9uZTo6bm90aWZ5UG9zaXRpb25DaGFu
Z2VkIik7CiAjZW5kaWYKLSAgICBub3RpZnlQb3NpdGlvbkNoYW5nZWQoKTsKKyAgICBub3RpZnlQ
b3NpdGlvbkNoYW5nZWQoRmxvYXRQb2ludCgpKTsKIAogICAgIGlmICghY29udGludWVBbmltYXRp
b24pCiAgICAgICAgIGFuaW1hdGlvbkRpZEZpbmlzaCgpOwpJbmRleDogU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcAkocmV2aXNpb24gMTQxNTk5KQorKysgU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
NzcsNyArMTc3LDcgQEAgdm9pZCBTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsUG9zaXRpb25DaGFuZwog
ICAgIH0KIAogICAgIGlmIChzY3JvbGxQb3NpdGlvbigpICE9IG9sZFBvc2l0aW9uKQotICAgICAg
ICBzY3JvbGxBbmltYXRvcigpLT5ub3RpZnlDb250ZW50QXJlYVNjcm9sbGVkKCk7CisgICAgICAg
IHNjcm9sbEFuaW1hdG9yKCktPm5vdGlmeUNvbnRlbnRBcmVhU2Nyb2xsZWQoRmxvYXRQb2ludChz
Y3JvbGxQb3NpdGlvbigpIC0gb2xkUG9zaXRpb24pKTsKIH0KIAogYm9vbCBTY3JvbGxhYmxlQXJl
YTo6aGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHdoZWVsRXZlbnQp
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTlNTY3JvbGxlckltcERldGFpbHMu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTlNTY3JvbGxlcklt
cERldGFpbHMuaAkocmV2aXNpb24gMTQxNTk5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL05TU2Nyb2xsZXJJbXBEZXRhaWxzLmgJKHdvcmtpbmcgY29weSkKQEAgLTk0LDYgKzk0LDcg
QEAgQGludGVyZmFjZSBOU09iamVjdCAoU2Nyb2xsYmFyUGFpbnRlckNvbgogLSAoTlNTY3JvbGxl
clN0eWxlKXNjcm9sbGVyU3R5bGU7CiAtICh2b2lkKXNldFNjcm9sbGVyU3R5bGU6KE5TU2Nyb2xs
ZXJTdHlsZSlzY3JvbGxlclN0eWxlOwogLSAodm9pZCljb250ZW50QXJlYVNjcm9sbGVkOworLSAo
dm9pZCljb250ZW50QXJlYVNjcm9sbGVkSW5EaXJlY3Rpb246KE5TUG9pbnQpZGlyZWN0aW9uOwog
LSAodm9pZCljb250ZW50QXJlYVdpbGxEcmF3OwogLSAodm9pZCltb3VzZUVudGVyZWRDb250ZW50
QXJlYTsKIC0gKHZvaWQpbW91c2VFeGl0ZWRDb250ZW50QXJlYTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5oCShyZXZpc2lvbiAxNDE1
OTkpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMuaAko
d29ya2luZyBjb3B5KQpAQCAtNjUsNyArNjUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzdGFydFNj
cm9sbGJhclBhaW50VGltZXIoKTsKICAgICB2b2lkIHN0b3BTY3JvbGxiYXJQYWludFRpbWVyKCk7
CiAKLSAgICB2b2lkIHNlbmRDb250ZW50QXJlYVNjcm9sbGVkU29vbigpOworICAgIHZvaWQgc2Vu
ZENvbnRlbnRBcmVhU2Nyb2xsZWRTb29uKGNvbnN0IEZsb2F0UG9pbnQmIHNjcm9sbERlbHRhKTsK
IAogICAgIHZvaWQgc2V0VmlzaWJsZVNjcm9sbGVyVGh1bWJSZWN0KGNvbnN0IEludFJlY3QmKTsK
IApAQCAtODMsNiArODMsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBzZW5kQ29udGVudEFyZWFT
Y3JvbGxlZFRpbWVyRmlyZWQoVGltZXI8U2Nyb2xsQW5pbWF0b3JNYWM+Kik7CiAgICAgVGltZXI8
U2Nyb2xsQW5pbWF0b3JNYWM+IG1fc2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lcjsKKyAgICBG
bG9hdFBvaW50IG1fY29udGVudEFyZWFTY3JvbGxlZFRpbWVyU2Nyb2xsRGVsdGE7CiAKICAgICB2
aXJ0dWFsIGJvb2wgc2Nyb2xsKFNjcm9sbGJhck9yaWVudGF0aW9uLCBTY3JvbGxHcmFudWxhcml0
eSwgZmxvYXQgc3RlcCwgZmxvYXQgbXVsdGlwbGllcik7CiAgICAgdmlydHVhbCB2b2lkIHNjcm9s
bFRvT2Zmc2V0V2l0aG91dEFuaW1hdGlvbihjb25zdCBGbG9hdFBvaW50Jik7CkBAIC05Niw3ICs5
Nyw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGNhbmNlbEFuaW1hdGlvbnMoKTsKICAg
ICB2aXJ0dWFsIHZvaWQgc2V0SXNBY3RpdmUoKTsKICAgICAKLSAgICB2aXJ0dWFsIHZvaWQgbm90
aWZ5UG9zaXRpb25DaGFuZ2VkKCk7CisgICAgdmlydHVhbCB2b2lkIG5vdGlmeVBvc2l0aW9uQ2hh
bmdlZChjb25zdCBGbG9hdFBvaW50JiBkZWx0YSk7CiAgICAgdmlydHVhbCB2b2lkIGNvbnRlbnRB
cmVhV2lsbFBhaW50KCkgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIG1vdXNlRW50ZXJlZENvbnRl
bnRBcmVhKCkgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIG1vdXNlRXhpdGVkQ29udGVudEFyZWEo
KSBjb25zdDsKQEAgLTEyMSw3ICsxMjIsNyBAQCBwcml2YXRlOgogCiAgICAgdmlydHVhbCBib29s
IHNob3VsZFNjcm9sbGJhclBhcnRpY2lwYXRlSW5IaXRUZXN0aW5nKFNjcm9sbGJhciopOwogCi0g
ICAgdmlydHVhbCB2b2lkIG5vdGlmeUNvbnRlbnRBcmVhU2Nyb2xsZWQoKSBPVkVSUklERTsKKyAg
ICB2aXJ0dWFsIHZvaWQgbm90aWZ5Q29udGVudEFyZWFTY3JvbGxlZChjb25zdCBGbG9hdFBvaW50
JiBkZWx0YSkgT1ZFUlJJREU7CiAKICAgICBGbG9hdFBvaW50IGFkanVzdFNjcm9sbFBvc2l0aW9u
SWZOZWNlc3NhcnkoY29uc3QgRmxvYXRQb2ludCYpIGNvbnN0OwogCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tCShyZXZpc2lvbiAx
NDE1OTkpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTU5LDYgKzU5LDEyIEBAIHN0YXRpYyBib29sIHN1cHBvcnRz
RXhwYW5zaW9uVHJhbnNpdGlvblAKICAgICByZXR1cm4gZ2xvYmFsU3VwcG9ydHNFeHBhbnNpb25U
cmFuc2l0aW9uUHJvZ3Jlc3M7CiB9CiAKK3N0YXRpYyBib29sIHN1cHBvcnRzQ29udGVudEFyZWFT
Y3JvbGxlZEluRGlyZWN0aW9uKCkKK3sKKyAgICBzdGF0aWMgYm9vbCBnbG9iYWxTdXBwb3J0c0Nv
bnRlbnRBcmVhU2Nyb2xsZWRJbkRpcmVjdGlvbiA9IFtOU0NsYXNzRnJvbVN0cmluZyhAIk5TU2Ny
b2xsZXJJbXBQYWlyIikgaW5zdGFuY2VzUmVzcG9uZFRvU2VsZWN0b3I6QHNlbGVjdG9yKGNvbnRl
bnRBcmVhU2Nyb2xsZWRJbkRpcmVjdGlvbjopXTsKKyAgICByZXR1cm4gZ2xvYmFsU3VwcG9ydHND
b250ZW50QXJlYVNjcm9sbGVkSW5EaXJlY3Rpb247Cit9CisKIHN0YXRpYyBTY3JvbGxiYXJUaGVt
ZU1hYyogbWFjU2Nyb2xsYmFyVGhlbWUoKQogewogICAgIFNjcm9sbGJhclRoZW1lKiBzY3JvbGxi
YXJUaGVtZSA9IFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpOwpAQCAtNzE0LDkgKzcyMCwxMSBAQCB2
b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjppbW1lZGlhdGVTY3JvbGxUCiAgICAgaWYgKCFwb3NpdGlv
bkNoYW5nZWQgJiYgIXNjcm9sbGFibGVBcmVhKCktPnNjcm9sbE9yaWdpbkNoYW5nZWQoKSkKICAg
ICAgICAgcmV0dXJuOwogCisgICAgRmxvYXRQb2ludCBkZWx0YSA9IEludFBvaW50KGFkanVzdGVk
UG9zaXRpb24ueCgpIC0gbV9jdXJyZW50UG9zWCwgYWRqdXN0ZWRQb3NpdGlvbi55KCkgLSBtX2N1
cnJlbnRQb3NZKTsKKwogICAgIG1fY3VycmVudFBvc1ggPSBhZGp1c3RlZFBvc2l0aW9uLngoKTsK
ICAgICBtX2N1cnJlbnRQb3NZID0gYWRqdXN0ZWRQb3NpdGlvbi55KCk7Ci0gICAgbm90aWZ5UG9z
aXRpb25DaGFuZ2VkKCk7CisgICAgbm90aWZ5UG9zaXRpb25DaGFuZ2VkKGRlbHRhKTsKIH0KIAog
Ym9vbCBTY3JvbGxBbmltYXRvck1hYzo6aXNSdWJiZXJCYW5kSW5Qcm9ncmVzcygpIGNvbnN0CkBA
IC03MzQsMTAgKzc0MiwxMCBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjppbW1lZGlhdGVTY3Jv
bGxUCiAgICAgaW1tZWRpYXRlU2Nyb2xsVG8obmV3UG9zaXRpb24pOwogfQogCi12b2lkIFNjcm9s
bEFuaW1hdG9yTWFjOjpub3RpZnlQb3NpdGlvbkNoYW5nZWQoKQordm9pZCBTY3JvbGxBbmltYXRv
ck1hYzo6bm90aWZ5UG9zaXRpb25DaGFuZ2VkKGNvbnN0IEZsb2F0UG9pbnQmIGRlbHRhKQogewot
ICAgIG5vdGlmeUNvbnRlbnRBcmVhU2Nyb2xsZWQoKTsKLSAgICBTY3JvbGxBbmltYXRvcjo6bm90
aWZ5UG9zaXRpb25DaGFuZ2VkKCk7CisgICAgbm90aWZ5Q29udGVudEFyZWFTY3JvbGxlZChkZWx0
YSk7CisgICAgU2Nyb2xsQW5pbWF0b3I6Om5vdGlmeVBvc2l0aW9uQ2hhbmdlZChkZWx0YSk7CiB9
CiAKIHZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6OmNvbnRlbnRBcmVhV2lsbFBhaW50KCkgY29uc3QK
QEAgLTk2OSw3ICs5NzcsNyBAQCBib29sIFNjcm9sbEFuaW1hdG9yTWFjOjpzaG91bGRTY3JvbGxi
YXJQCiAgICAgcmV0dXJuIFtwYWludGVyIGtub2JBbHBoYV0gPiAwOwogfQogCi12b2lkIFNjcm9s
bEFuaW1hdG9yTWFjOjpub3RpZnlDb250ZW50QXJlYVNjcm9sbGVkKCkKK3ZvaWQgU2Nyb2xsQW5p
bWF0b3JNYWM6Om5vdGlmeUNvbnRlbnRBcmVhU2Nyb2xsZWQoY29uc3QgRmxvYXRQb2ludCYgZGVs
dGEpCiB7CiAgICAgaWYgKCFpc1Njcm9sbGJhck92ZXJsYXlBUElBdmFpbGFibGUoKSkKICAgICAg
ICAgcmV0dXJuOwpAQCAtOTc4LDcgKzk4Niw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6Om5v
dGlmeUNvbnRlbnRBcmUKICAgICAvLyBpc24ndCByZWFsbHkgc2Nyb2xsaW5nIGluIHRoYXQgY2Fz
ZS4gV2Ugc2hvdWxkIG9ubHkgcGFzcyB0aGUgbWVzc2FnZSBvbiB0byB0aGUKICAgICAvLyBTY3Jv
bGxiYXJQYWludGVyQ29udHJvbGxlciB3aGVuIHdlJ3JlIHJlYWxseSBzY3JvbGxpbmcgb24gYW4g
YWN0aXZlIHBhZ2UuCiAgICAgaWYgKHNjcm9sbGFibGVBcmVhKCktPnNjcm9sbGJhcnNDYW5CZUFj
dGl2ZSgpKQotICAgICAgICBzZW5kQ29udGVudEFyZWFTY3JvbGxlZFNvb24oKTsKKyAgICAgICAg
c2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRTb29uKGRlbHRhKTsKIH0KIAogdm9pZCBTY3JvbGxBbmlt
YXRvck1hYzo6Y2FuY2VsQW5pbWF0aW9ucygpCkBAIC0xMTQ2LDkgKzExNTQsMTEgQEAgdm9pZCBT
Y3JvbGxBbmltYXRvck1hYzo6aW1tZWRpYXRlU2Nyb2xsQgogICAgIGlmIChuZXdQb3MueCgpID09
IG1fY3VycmVudFBvc1ggJiYgbmV3UG9zLnkoKSA9PSBtX2N1cnJlbnRQb3NZKQogICAgICAgICBy
ZXR1cm47CiAKKyAgICBGbG9hdFBvaW50IGFkanVzdGVkRGVsdGEgPSBJbnRQb2ludChuZXdQb3Mu
eCgpIC0gbV9jdXJyZW50UG9zWCwgbmV3UG9zLnkoKSAtIG1fY3VycmVudFBvc1kpOworCiAgICAg
bV9jdXJyZW50UG9zWCA9IG5ld1Bvcy54KCk7CiAgICAgbV9jdXJyZW50UG9zWSA9IG5ld1Bvcy55
KCk7Ci0gICAgbm90aWZ5UG9zaXRpb25DaGFuZ2VkKCk7CisgICAgbm90aWZ5UG9zaXRpb25DaGFu
Z2VkKGFkanVzdGVkRGVsdGEpOwogfQogCiB2b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjpzdGFydFNu
YXBSdWJiZXJiYW5kVGltZXIoKQpAQCAtMTI2NCwxNSArMTI3NCwyMSBAQCB2b2lkIFNjcm9sbEFu
aW1hdG9yTWFjOjppbml0aWFsU2Nyb2xsYmFyCiAgICAgfQogfQogCi12b2lkIFNjcm9sbEFuaW1h
dG9yTWFjOjpzZW5kQ29udGVudEFyZWFTY3JvbGxlZFNvb24oKQordm9pZCBTY3JvbGxBbmltYXRv
ck1hYzo6c2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRTb29uKGNvbnN0IEZsb2F0UG9pbnQmIGRlbHRh
KQogeworICAgIG1fY29udGVudEFyZWFTY3JvbGxlZFRpbWVyU2Nyb2xsRGVsdGEgPSBkZWx0YTsK
KwogICAgIGlmICghbV9zZW5kQ29udGVudEFyZWFTY3JvbGxlZFRpbWVyLmlzQWN0aXZlKCkpCiAg
ICAgICAgIG1fc2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lci5zdGFydE9uZVNob3QoMCk7CiB9
CiAKIHZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6OnNlbmRDb250ZW50QXJlYVNjcm9sbGVkVGltZXJG
aXJlZChUaW1lcjxTY3JvbGxBbmltYXRvck1hYz4qKQogewotICAgIFttX3Njcm9sbGJhclBhaW50
ZXJDb250cm9sbGVyLmdldCgpIGNvbnRlbnRBcmVhU2Nyb2xsZWRdOworICAgIGlmIChzdXBwb3J0
c0NvbnRlbnRBcmVhU2Nyb2xsZWRJbkRpcmVjdGlvbigpKSB7CisgICAgICAgIFttX3Njcm9sbGJh
clBhaW50ZXJDb250cm9sbGVyLmdldCgpIGNvbnRlbnRBcmVhU2Nyb2xsZWRJbkRpcmVjdGlvbjpt
X2NvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lclNjcm9sbERlbHRhXTsKKyAgICAgICAgbV9jb250ZW50
QXJlYVNjcm9sbGVkVGltZXJTY3JvbGxEZWx0YSA9IEZsb2F0UG9pbnQoKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgW21fc2Nyb2xsYmFyUGFpbnRlckNvbnRyb2xsZXIuZ2V0KCkgY29udGVudEFyZWFT
Y3JvbGxlZF07CiB9CiAKIHZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6OnNldFZpc2libGVTY3JvbGxl
clRodW1iUmVjdChjb25zdCBJbnRSZWN0JiBzY3JvbGxlclRodW1iKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186079</attachid>
            <date>2013-02-01 10:55:08 -0800</date>
            <delta_ts>2013-02-01 10:56:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>for-review-2.txt</filename>
            <type>text/plain</type>
            <size>13312</size>
            <attacher name="Beth Dakin">bdakin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0MTU5OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU4IEBACisyMDEzLTAyLTAxICBCZXRoIERh
a2luICA8YmRha2luQGFwcGxlLmNvbT4KKworICAgICAgICBTY3JvbGxBbmltYXRvck1hYyBzaG91
bGQgYWRvcHQgY29udGVudEFyZWFTY3JvbGxlZEluRGlyZWN0aW9uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDg2NDcKKyAgICAgICAgLWFuZCBjb3Jy
ZXNwb25kaW5nLQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTI0MzQ3Nzk+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBtYWtlcyBu
b3RpZnlDb250ZW50QXJlYVNjcm9sbGVkKCkgYW5kIG5vdGlmeVBvc2l0aW9uQ2hhbmdlZCgpIHRh
a2UgYSAKKyAgICAgICAgRmxvYXRTaXplIHBhcmFtZXRlciB0aGF0IHJlcHJlc2VudHMgdGhlIHNj
cm9sbCBkZWx0YSBzbyB0aGF0IGl0IGNhbiBiZSBwYXNzZWQgCisgICAgICAgIGFsb25nIHRvIGNv
bnRlbnRBcmVhU2Nyb2xsZWRJbkRpcmVjdGlvbjouIAorCisgICAgICAgIFBhc3MgYWxvbmcgdGhl
IHNjcm9sbCBkZWx0YS4KKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvcjo6c2Nyb2xsKToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbEFuaW1hdG9yOjpzY3JvbGxUb09mZnNldFdpdGhvdXRBbmltYXRpb24pOgorCisg
ICAgICAgIFRoZSBkZWx0YSBpcyBub3QgbmVlZGVkIGluIHRoaXMgYmFzZS1jbGFzcyBpbXBsZW1l
bnRhdGlvbi4gSXQgd2lsbCBvbmx5IGJlIG5lZWRlZCAKKyAgICAgICAgaW4gdGhlIFNjcm9sbEFu
aW1hdG9yTWFjIG92ZXJyaWRlLgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3I6Om5v
dGlmeVBvc2l0aW9uQ2hhbmdlZCk6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3Iu
aDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yOjpub3RpZnlDb250ZW50QXJlYVNj
cm9sbGVkKToKKworICAgICAgICBQYXNzIGFsb25nIHRoZSBkZWx0YS4KKyAgICAgICAgKiBwbGF0
Zm9ybS9TY3JvbGxBbmltYXRvck5vbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5p
bWF0b3JOb25lOjpzY3JvbGxUb09mZnNldFdpdGhvdXRBbmltYXRpb24pOgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsQW5pbWF0b3JOb25lOjphbmltYXRpb25UaW1lckZpcmVkKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxh
YmxlQXJlYTo6c2Nyb2xsUG9zaXRpb25DaGFuZ2VkKToKKworICAgICAgICBBZGQgY29udGVudEFy
ZWFTY3JvbGxlZEluRGlyZWN0aW9uOiB0byB0aGUgTlNTY3JvbGxlckltcERldGFpbHMuCisgICAg
ICAgICogcGxhdGZvcm0vbWFjL05TU2Nyb2xsZXJJbXBEZXRhaWxzLmg6CisKKyAgICAgICAgTmV3
IG1lbWJlciB2YXJpYWJsZSBtX2NvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lclNjcm9sbERlbHRhIHN0
b3JlcyB0aGUgY3VycmVudCAKKyAgICAgICAgc2Nyb2xsIGRlbHRhIHdoaWxlIHdlIGFyZSB3YWl0
aW5nIGZvciBtX3NlbmRDb250ZW50QXJlYVNjcm9sbGVkVGltZXIgdG8gZmlyZS4KKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMuaDoKKworICAgICAgICBXZSBuZWVkIHRo
aXMgc28gdGhhdCB3ZSBjYW4gY2FsbCBqdXN0IGNvbnRlbnRBcmVhU2Nyb2xsZWQgaWYgCisgICAg
ICAgIGNvbnRlbnRBcmVhU2Nyb2xsZWRJbkRpcmVjdGlvbjogaXMgbm90IGF2YWlsYWJsZS4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW06CisgICAgICAgIChzdXBw
b3J0c0NvbnRlbnRBcmVhU2Nyb2xsZWRJbkRpcmVjdGlvbik6CisKKyAgICAgICAgUGFzcyBhbG9u
ZyB0aGUgZGVsdGEuCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvck1hYzo6aW1tZWRp
YXRlU2Nyb2xsVG8pOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JNYWM6Om5vdGlm
eVBvc2l0aW9uQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvck1hYzo6
bWF5QmVnaW5TY3JvbGxHZXN0dXJlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9y
TWFjOjpub3RpZnlDb250ZW50QXJlYVNjcm9sbGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bEFuaW1hdG9yTWFjOjppbW1lZGlhdGVTY3JvbGxCeSk6CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxBbmltYXRvck1hYzo6c2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRTb29uKToKKworICAgICAgICBJ
ZiBjb250ZW50QXJlYVNjcm9sbGVkSW5EaXJlY3Rpb246IGlzIGF2YWlsYWJsZSwgY2FsbCBpdCB3
aXRoIHRoZSBkZWx0YSwgYW5kIHRoZW4gCisgICAgICAgIHJlc2V0IG91ciBkZWx0YS4gT3RoZXJ3
aXNlLCBzdGlsbCBjYWxsIGNvbnRlbnRBcmVhU2Nyb2xsZWQuCisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxBbmltYXRvck1hYzo6c2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lckZpcmVkKToKKwog
MjAxMy0wMi0wMSAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBXZWIgSW5zcGVjdG9yOiByZWxheCBnb3RvIGZpbGUgbWF0Y2hpbmcgYWdhaW4uCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCShyZXZpc2lvbiAx
NDE1OTkpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTYzLDIwICs2MywyMiBAQCBib29sIFNjcm9sbEFuaW1hdG9yOjpzY3Jv
bGwoU2Nyb2xsYmFyT3JpCiB7CiAgICAgZmxvYXQqIGN1cnJlbnRQb3MgPSAob3JpZW50YXRpb24g
PT0gSG9yaXpvbnRhbFNjcm9sbGJhcikgPyAmbV9jdXJyZW50UG9zWCA6ICZtX2N1cnJlbnRQb3NZ
OwogICAgIGZsb2F0IG5ld1BvcyA9IHN0ZDo6bWF4KHN0ZDo6bWluKCpjdXJyZW50UG9zICsgKHN0
ZXAgKiBtdWx0aXBsaWVyKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG1fc2Nyb2xsYWJsZUFyZWEtPnNj
cm9sbFNpemUob3JpZW50YXRpb24pKSksIDAuMGYpOworICAgIGZsb2F0IGRlbHRhID0gKmN1cnJl
bnRQb3MgLSBuZXdQb3M7CiAgICAgaWYgKCpjdXJyZW50UG9zID09IG5ld1BvcykKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgICpjdXJyZW50UG9zID0gbmV3UG9zOwogCi0gICAgbm90aWZ5UG9z
aXRpb25DaGFuZ2VkKCk7CisgICAgbm90aWZ5UG9zaXRpb25DaGFuZ2VkKG9yaWVudGF0aW9uID09
IEhvcml6b250YWxTY3JvbGxiYXIgPyBGbG9hdFNpemUoZGVsdGEsIDApIDogRmxvYXRTaXplKDAs
IGRlbHRhKSk7CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAogdm9pZCBTY3JvbGxBbmltYXRvcjo6
c2Nyb2xsVG9PZmZzZXRXaXRob3V0QW5pbWF0aW9uKGNvbnN0IEZsb2F0UG9pbnQmIG9mZnNldCkK
IHsKKyAgICBGbG9hdFNpemUgZGVsdGEgPSBGbG9hdFNpemUob2Zmc2V0LngoKSAtIG1fY3VycmVu
dFBvc1gsIG9mZnNldC55KCkgLSBtX2N1cnJlbnRQb3NZKTsKICAgICBtX2N1cnJlbnRQb3NYID0g
b2Zmc2V0LngoKTsKICAgICBtX2N1cnJlbnRQb3NZID0gb2Zmc2V0LnkoKTsKLSAgICBub3RpZnlQ
b3NpdGlvbkNoYW5nZWQoKTsKKyAgICBub3RpZnlQb3NpdGlvbkNoYW5nZWQoZGVsdGEpOwogfQog
CiBib29sIFNjcm9sbEFuaW1hdG9yOjpoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hl
ZWxFdmVudCYgZSkKQEAgLTEzOSw4ICsxNDEsOSBAQCBGbG9hdFBvaW50IFNjcm9sbEFuaW1hdG9y
OjpjdXJyZW50UG9zaXRpCiAgICAgcmV0dXJuIEZsb2F0UG9pbnQobV9jdXJyZW50UG9zWCwgbV9j
dXJyZW50UG9zWSk7CiB9CiAKLXZvaWQgU2Nyb2xsQW5pbWF0b3I6Om5vdGlmeVBvc2l0aW9uQ2hh
bmdlZCgpCit2b2lkIFNjcm9sbEFuaW1hdG9yOjpub3RpZnlQb3NpdGlvbkNoYW5nZWQoY29uc3Qg
RmxvYXRTaXplJiBkZWx0YSkKIHsKKyAgICBVTlVTRURfUEFSQU0oZGVsdGEpOwogICAgIG1fc2Ny
b2xsYWJsZUFyZWEtPnNldFNjcm9sbE9mZnNldEZyb21BbmltYXRpb24oSW50UG9pbnQobV9jdXJy
ZW50UG9zWCwgbV9jdXJyZW50UG9zWSkpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TY3JvbGxBbmltYXRvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbEFuaW1hdG9yLmgJKHJldmlzaW9uIDE0MTU5OSkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTM1LDYgKzM1LDcg
QEAKICNpbmNsdWRlICJTY3JvbGxUeXBlcy5oIgogI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNl
Lmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvVW51c2VkUGFyYW0u
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC05NCwxNCArOTUsMTQgQEAgcHVibGljOgog
CiAgICAgdmlydHVhbCBib29sIHNob3VsZFNjcm9sbGJhclBhcnRpY2lwYXRlSW5IaXRUZXN0aW5n
KFNjcm9sbGJhciopIHsgcmV0dXJuIHRydWU7IH0KIAotICAgIHZpcnR1YWwgdm9pZCBub3RpZnlD
b250ZW50QXJlYVNjcm9sbGVkKCkgeyB9CisgICAgdmlydHVhbCB2b2lkIG5vdGlmeUNvbnRlbnRB
cmVhU2Nyb2xsZWQoY29uc3QgRmxvYXRTaXplJiBkZWx0YSkgeyBVTlVTRURfUEFSQU0oZGVsdGEp
OyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNSdWJiZXJCYW5kSW5Qcm9ncmVzcygpIGNvbnN0IHsg
cmV0dXJuIGZhbHNlOyB9CiAKIHByb3RlY3RlZDoKICAgICBleHBsaWNpdCBTY3JvbGxBbmltYXRv
cihTY3JvbGxhYmxlQXJlYSopOwogCi0gICAgdmlydHVhbCB2b2lkIG5vdGlmeVBvc2l0aW9uQ2hh
bmdlZCgpOworICAgIHZpcnR1YWwgdm9pZCBub3RpZnlQb3NpdGlvbkNoYW5nZWQoY29uc3QgRmxv
YXRTaXplJiBkZWx0YSk7CiAKICAgICBTY3JvbGxhYmxlQXJlYSogbV9zY3JvbGxhYmxlQXJlYTsK
ICAgICBmbG9hdCBtX2N1cnJlbnRQb3NYOyAvLyBXZSBhdm9pZCB1c2luZyBhIEZsb2F0UG9pbnQg
aW4gb3JkZXIgdG8gcmVkdWNlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxB
bmltYXRvck5vbmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbEFuaW1hdG9yTm9uZS5jcHAJKHJldmlzaW9uIDE0MTU5OSkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yTm9uZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ3NSw2
ICs0NzUsOCBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yTm9uZTo6c2Nyb2xsVG9PZmZzZXRXCiB7CiAg
ICAgc3RvcEFuaW1hdGlvblRpbWVySWZOZWVkZWQoKTsKIAorICAgIEZsb2F0U2l6ZSBkZWx0YSA9
IEZsb2F0U2l6ZShvZmZzZXQueCgpIC0gKm1faG9yaXpvbnRhbERhdGEubV9jdXJyZW50UG9zaXRp
b24sIG9mZnNldC55KCkgLSAqbV92ZXJ0aWNhbERhdGEubV9jdXJyZW50UG9zaXRpb24pOworCiAg
ICAgbV9ob3Jpem9udGFsRGF0YS5yZXNldCgpOwogICAgICptX2hvcml6b250YWxEYXRhLm1fY3Vy
cmVudFBvc2l0aW9uID0gb2Zmc2V0LngoKTsKICAgICBtX2hvcml6b250YWxEYXRhLm1fZGVzaXJl
ZFBvc2l0aW9uID0gb2Zmc2V0LngoKTsKQEAgLTQ4Myw3ICs0ODUsNyBAQCB2b2lkIFNjcm9sbEFu
aW1hdG9yTm9uZTo6c2Nyb2xsVG9PZmZzZXRXCiAgICAgKm1fdmVydGljYWxEYXRhLm1fY3VycmVu
dFBvc2l0aW9uID0gb2Zmc2V0LnkoKTsKICAgICBtX3ZlcnRpY2FsRGF0YS5tX2Rlc2lyZWRQb3Np
dGlvbiA9IG9mZnNldC55KCk7CiAKLSAgICBub3RpZnlQb3NpdGlvbkNoYW5nZWQoKTsKKyAgICBu
b3RpZnlQb3NpdGlvbkNoYW5nZWQoZGVsdGEpOwogfQogCiAjaWYgIVVTRShSRVFVRVNUX0FOSU1B
VElPTl9GUkFNRV9USU1FUikKQEAgLTU1NSw3ICs1NTcsNyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9y
Tm9uZTo6YW5pbWF0aW9uVGltZXJGCiAjaWYgUExBVEZPUk0oQ0hST01JVU0pCiAgICAgVFJBQ0Vf
RVZFTlQwKCJ3ZWJraXQiLCAiU2Nyb2xsQW5pbWF0b3JOb25lOjpub3RpZnlQb3NpdGlvbkNoYW5n
ZWQiKTsKICNlbmRpZgotICAgIG5vdGlmeVBvc2l0aW9uQ2hhbmdlZCgpOworICAgIG5vdGlmeVBv
c2l0aW9uQ2hhbmdlZChGbG9hdFNpemUoKSk7CiAKICAgICBpZiAoIWNvbnRpbnVlQW5pbWF0aW9u
KQogICAgICAgICBhbmltYXRpb25EaWRGaW5pc2goKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAJKHJldmlzaW9uIDE0MTU5OSkKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTc3
LDcgKzE3Nyw3IEBAIHZvaWQgU2Nyb2xsYWJsZUFyZWE6OnNjcm9sbFBvc2l0aW9uQ2hhbmcKICAg
ICB9CiAKICAgICBpZiAoc2Nyb2xsUG9zaXRpb24oKSAhPSBvbGRQb3NpdGlvbikKLSAgICAgICAg
c2Nyb2xsQW5pbWF0b3IoKS0+bm90aWZ5Q29udGVudEFyZWFTY3JvbGxlZCgpOworICAgICAgICBz
Y3JvbGxBbmltYXRvcigpLT5ub3RpZnlDb250ZW50QXJlYVNjcm9sbGVkKHNjcm9sbFBvc2l0aW9u
KCkgLSBvbGRQb3NpdGlvbik7CiB9CiAKIGJvb2wgU2Nyb2xsYWJsZUFyZWE6OmhhbmRsZVdoZWVs
RXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiB3aGVlbEV2ZW50KQpJbmRleDogU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWFjL05TU2Nyb2xsZXJJbXBEZXRhaWxzLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL05TU2Nyb2xsZXJJbXBEZXRhaWxzLmgJKHJl
dmlzaW9uIDE0MTU5OSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9OU1Njcm9sbGVy
SW1wRGV0YWlscy5oCSh3b3JraW5nIGNvcHkpCkBAIC05NCw2ICs5NCw3IEBAIEBpbnRlcmZhY2Ug
TlNPYmplY3QgKFNjcm9sbGJhclBhaW50ZXJDb24KIC0gKE5TU2Nyb2xsZXJTdHlsZSlzY3JvbGxl
clN0eWxlOwogLSAodm9pZClzZXRTY3JvbGxlclN0eWxlOihOU1Njcm9sbGVyU3R5bGUpc2Nyb2xs
ZXJTdHlsZTsKIC0gKHZvaWQpY29udGVudEFyZWFTY3JvbGxlZDsKKy0gKHZvaWQpY29udGVudEFy
ZWFTY3JvbGxlZEluRGlyZWN0aW9uOihOU1BvaW50KWRpcmVjdGlvbjsKIC0gKHZvaWQpY29udGVu
dEFyZWFXaWxsRHJhdzsKIC0gKHZvaWQpbW91c2VFbnRlcmVkQ29udGVudEFyZWE7CiAtICh2b2lk
KW1vdXNlRXhpdGVkQ29udGVudEFyZWE7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
YWMvU2Nyb2xsQW5pbWF0b3JNYWMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMuaAkocmV2aXNpb24gMTQxNTk5KQorKysgU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLmgJKHdvcmtpbmcgY29weSkK
QEAgLTY1LDcgKzY1LDcgQEAgcHVibGljOgogICAgIHZvaWQgc3RhcnRTY3JvbGxiYXJQYWludFRp
bWVyKCk7CiAgICAgdm9pZCBzdG9wU2Nyb2xsYmFyUGFpbnRUaW1lcigpOwogCi0gICAgdm9pZCBz
ZW5kQ29udGVudEFyZWFTY3JvbGxlZFNvb24oKTsKKyAgICB2b2lkIHNlbmRDb250ZW50QXJlYVNj
cm9sbGVkU29vbihjb25zdCBGbG9hdFNpemUmIHNjcm9sbERlbHRhKTsKIAogICAgIHZvaWQgc2V0
VmlzaWJsZVNjcm9sbGVyVGh1bWJSZWN0KGNvbnN0IEludFJlY3QmKTsKIApAQCAtODMsNiArODMs
NyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBzZW5kQ29udGVudEFyZWFTY3JvbGxlZFRpbWVyRmly
ZWQoVGltZXI8U2Nyb2xsQW5pbWF0b3JNYWM+Kik7CiAgICAgVGltZXI8U2Nyb2xsQW5pbWF0b3JN
YWM+IG1fc2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lcjsKKyAgICBGbG9hdFNpemUgbV9jb250
ZW50QXJlYVNjcm9sbGVkVGltZXJTY3JvbGxEZWx0YTsKIAogICAgIHZpcnR1YWwgYm9vbCBzY3Jv
bGwoU2Nyb2xsYmFyT3JpZW50YXRpb24sIFNjcm9sbEdyYW51bGFyaXR5LCBmbG9hdCBzdGVwLCBm
bG9hdCBtdWx0aXBsaWVyKTsKICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsVG9PZmZzZXRXaXRob3V0
QW5pbWF0aW9uKGNvbnN0IEZsb2F0UG9pbnQmKTsKQEAgLTk2LDcgKzk3LDcgQEAgcHJpdmF0ZToK
ICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsQW5pbWF0aW9ucygpOwogICAgIHZpcnR1YWwgdm9pZCBz
ZXRJc0FjdGl2ZSgpOwogICAgIAotICAgIHZpcnR1YWwgdm9pZCBub3RpZnlQb3NpdGlvbkNoYW5n
ZWQoKTsKKyAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5UG9zaXRpb25DaGFuZ2VkKGNvbnN0IEZsb2F0
U2l6ZSYgZGVsdGEpOwogICAgIHZpcnR1YWwgdm9pZCBjb250ZW50QXJlYVdpbGxQYWludCgpIGNv
bnN0OwogICAgIHZpcnR1YWwgdm9pZCBtb3VzZUVudGVyZWRDb250ZW50QXJlYSgpIGNvbnN0Owog
ICAgIHZpcnR1YWwgdm9pZCBtb3VzZUV4aXRlZENvbnRlbnRBcmVhKCkgY29uc3Q7CkBAIC0xMjEs
NyArMTIyLDcgQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRTY3JvbGxiYXJQ
YXJ0aWNpcGF0ZUluSGl0VGVzdGluZyhTY3JvbGxiYXIqKTsKIAotICAgIHZpcnR1YWwgdm9pZCBu
b3RpZnlDb250ZW50QXJlYVNjcm9sbGVkKCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIG5v
dGlmeUNvbnRlbnRBcmVhU2Nyb2xsZWQoY29uc3QgRmxvYXRTaXplJiBkZWx0YSkgT1ZFUlJJREU7
CiAKICAgICBGbG9hdFBvaW50IGFkanVzdFNjcm9sbFBvc2l0aW9uSWZOZWNlc3NhcnkoY29uc3Qg
RmxvYXRQb2ludCYpIGNvbnN0OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
U2Nyb2xsQW5pbWF0b3JNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tCShyZXZpc2lvbiAxNDE1OTkpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0JKHdvcmtpbmcgY29weSkK
QEAgLTU5LDYgKzU5LDEyIEBAIHN0YXRpYyBib29sIHN1cHBvcnRzRXhwYW5zaW9uVHJhbnNpdGlv
blAKICAgICByZXR1cm4gZ2xvYmFsU3VwcG9ydHNFeHBhbnNpb25UcmFuc2l0aW9uUHJvZ3Jlc3M7
CiB9CiAKK3N0YXRpYyBib29sIHN1cHBvcnRzQ29udGVudEFyZWFTY3JvbGxlZEluRGlyZWN0aW9u
KCkKK3sKKyAgICBzdGF0aWMgYm9vbCBnbG9iYWxTdXBwb3J0c0NvbnRlbnRBcmVhU2Nyb2xsZWRJ
bkRpcmVjdGlvbiA9IFtOU0NsYXNzRnJvbVN0cmluZyhAIk5TU2Nyb2xsZXJJbXBQYWlyIikgaW5z
dGFuY2VzUmVzcG9uZFRvU2VsZWN0b3I6QHNlbGVjdG9yKGNvbnRlbnRBcmVhU2Nyb2xsZWRJbkRp
cmVjdGlvbjopXTsKKyAgICByZXR1cm4gZ2xvYmFsU3VwcG9ydHNDb250ZW50QXJlYVNjcm9sbGVk
SW5EaXJlY3Rpb247Cit9CisKIHN0YXRpYyBTY3JvbGxiYXJUaGVtZU1hYyogbWFjU2Nyb2xsYmFy
VGhlbWUoKQogewogICAgIFNjcm9sbGJhclRoZW1lKiBzY3JvbGxiYXJUaGVtZSA9IFNjcm9sbGJh
clRoZW1lOjp0aGVtZSgpOwpAQCAtNzE0LDkgKzcyMCwxMSBAQCB2b2lkIFNjcm9sbEFuaW1hdG9y
TWFjOjppbW1lZGlhdGVTY3JvbGxUCiAgICAgaWYgKCFwb3NpdGlvbkNoYW5nZWQgJiYgIXNjcm9s
bGFibGVBcmVhKCktPnNjcm9sbE9yaWdpbkNoYW5nZWQoKSkKICAgICAgICAgcmV0dXJuOwogCisg
ICAgRmxvYXRTaXplIGRlbHRhID0gRmxvYXRTaXplKGFkanVzdGVkUG9zaXRpb24ueCgpIC0gbV9j
dXJyZW50UG9zWCwgYWRqdXN0ZWRQb3NpdGlvbi55KCkgLSBtX2N1cnJlbnRQb3NZKTsKKwogICAg
IG1fY3VycmVudFBvc1ggPSBhZGp1c3RlZFBvc2l0aW9uLngoKTsKICAgICBtX2N1cnJlbnRQb3NZ
ID0gYWRqdXN0ZWRQb3NpdGlvbi55KCk7Ci0gICAgbm90aWZ5UG9zaXRpb25DaGFuZ2VkKCk7Cisg
ICAgbm90aWZ5UG9zaXRpb25DaGFuZ2VkKGRlbHRhKTsKIH0KIAogYm9vbCBTY3JvbGxBbmltYXRv
ck1hYzo6aXNSdWJiZXJCYW5kSW5Qcm9ncmVzcygpIGNvbnN0CkBAIC03MzQsMTAgKzc0MiwxMCBA
QCB2b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjppbW1lZGlhdGVTY3JvbGxUCiAgICAgaW1tZWRpYXRl
U2Nyb2xsVG8obmV3UG9zaXRpb24pOwogfQogCi12b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjpub3Rp
ZnlQb3NpdGlvbkNoYW5nZWQoKQordm9pZCBTY3JvbGxBbmltYXRvck1hYzo6bm90aWZ5UG9zaXRp
b25DaGFuZ2VkKGNvbnN0IEZsb2F0U2l6ZSYgZGVsdGEpCiB7Ci0gICAgbm90aWZ5Q29udGVudEFy
ZWFTY3JvbGxlZCgpOwotICAgIFNjcm9sbEFuaW1hdG9yOjpub3RpZnlQb3NpdGlvbkNoYW5nZWQo
KTsKKyAgICBub3RpZnlDb250ZW50QXJlYVNjcm9sbGVkKGRlbHRhKTsKKyAgICBTY3JvbGxBbmlt
YXRvcjo6bm90aWZ5UG9zaXRpb25DaGFuZ2VkKGRlbHRhKTsKIH0KIAogdm9pZCBTY3JvbGxBbmlt
YXRvck1hYzo6Y29udGVudEFyZWFXaWxsUGFpbnQoKSBjb25zdApAQCAtOTY5LDcgKzk3Nyw3IEBA
IGJvb2wgU2Nyb2xsQW5pbWF0b3JNYWM6OnNob3VsZFNjcm9sbGJhclAKICAgICByZXR1cm4gW3Bh
aW50ZXIga25vYkFscGhhXSA+IDA7CiB9CiAKLXZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6Om5vdGlm
eUNvbnRlbnRBcmVhU2Nyb2xsZWQoKQordm9pZCBTY3JvbGxBbmltYXRvck1hYzo6bm90aWZ5Q29u
dGVudEFyZWFTY3JvbGxlZChjb25zdCBGbG9hdFNpemUmIGRlbHRhKQogewogICAgIGlmICghaXNT
Y3JvbGxiYXJPdmVybGF5QVBJQXZhaWxhYmxlKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTk3OCw3
ICs5ODYsNyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjpub3RpZnlDb250ZW50QXJlCiAgICAg
Ly8gaXNuJ3QgcmVhbGx5IHNjcm9sbGluZyBpbiB0aGF0IGNhc2UuIFdlIHNob3VsZCBvbmx5IHBh
c3MgdGhlIG1lc3NhZ2Ugb24gdG8gdGhlCiAgICAgLy8gU2Nyb2xsYmFyUGFpbnRlckNvbnRyb2xs
ZXIgd2hlbiB3ZSdyZSByZWFsbHkgc2Nyb2xsaW5nIG9uIGFuIGFjdGl2ZSBwYWdlLgogICAgIGlm
IChzY3JvbGxhYmxlQXJlYSgpLT5zY3JvbGxiYXJzQ2FuQmVBY3RpdmUoKSkKLSAgICAgICAgc2Vu
ZENvbnRlbnRBcmVhU2Nyb2xsZWRTb29uKCk7CisgICAgICAgIHNlbmRDb250ZW50QXJlYVNjcm9s
bGVkU29vbihkZWx0YSk7CiB9CiAKIHZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6OmNhbmNlbEFuaW1h
dGlvbnMoKQpAQCAtMTE0Niw5ICsxMTU0LDExIEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6Omlt
bWVkaWF0ZVNjcm9sbEIKICAgICBpZiAobmV3UG9zLngoKSA9PSBtX2N1cnJlbnRQb3NYICYmIG5l
d1Bvcy55KCkgPT0gbV9jdXJyZW50UG9zWSkKICAgICAgICAgcmV0dXJuOwogCisgICAgRmxvYXRT
aXplIGFkanVzdGVkRGVsdGEgPSBGbG9hdFNpemUobmV3UG9zLngoKSAtIG1fY3VycmVudFBvc1gs
IG5ld1Bvcy55KCkgLSBtX2N1cnJlbnRQb3NZKTsKKwogICAgIG1fY3VycmVudFBvc1ggPSBuZXdQ
b3MueCgpOwogICAgIG1fY3VycmVudFBvc1kgPSBuZXdQb3MueSgpOwotICAgIG5vdGlmeVBvc2l0
aW9uQ2hhbmdlZCgpOworICAgIG5vdGlmeVBvc2l0aW9uQ2hhbmdlZChhZGp1c3RlZERlbHRhKTsK
IH0KIAogdm9pZCBTY3JvbGxBbmltYXRvck1hYzo6c3RhcnRTbmFwUnViYmVyYmFuZFRpbWVyKCkK
QEAgLTEyNjQsMTUgKzEyNzQsMjEgQEAgdm9pZCBTY3JvbGxBbmltYXRvck1hYzo6aW5pdGlhbFNj
cm9sbGJhcgogICAgIH0KIH0KIAotdm9pZCBTY3JvbGxBbmltYXRvck1hYzo6c2VuZENvbnRlbnRB
cmVhU2Nyb2xsZWRTb29uKCkKK3ZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6OnNlbmRDb250ZW50QXJl
YVNjcm9sbGVkU29vbihjb25zdCBGbG9hdFNpemUmIGRlbHRhKQogeworICAgIG1fY29udGVudEFy
ZWFTY3JvbGxlZFRpbWVyU2Nyb2xsRGVsdGEgPSBkZWx0YTsKKwogICAgIGlmICghbV9zZW5kQ29u
dGVudEFyZWFTY3JvbGxlZFRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIG1fc2VuZENvbnRlbnRB
cmVhU2Nyb2xsZWRUaW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKIHZvaWQgU2Nyb2xsQW5pbWF0
b3JNYWM6OnNlbmRDb250ZW50QXJlYVNjcm9sbGVkVGltZXJGaXJlZChUaW1lcjxTY3JvbGxBbmlt
YXRvck1hYz4qKQogewotICAgIFttX3Njcm9sbGJhclBhaW50ZXJDb250cm9sbGVyLmdldCgpIGNv
bnRlbnRBcmVhU2Nyb2xsZWRdOworICAgIGlmIChzdXBwb3J0c0NvbnRlbnRBcmVhU2Nyb2xsZWRJ
bkRpcmVjdGlvbigpKSB7CisgICAgICAgIFttX3Njcm9sbGJhclBhaW50ZXJDb250cm9sbGVyLmdl
dCgpIGNvbnRlbnRBcmVhU2Nyb2xsZWRJbkRpcmVjdGlvbjpOU01ha2VQb2ludChtX2NvbnRlbnRB
cmVhU2Nyb2xsZWRUaW1lclNjcm9sbERlbHRhLndpZHRoKCksIG1fY29udGVudEFyZWFTY3JvbGxl
ZFRpbWVyU2Nyb2xsRGVsdGEuaGVpZ2h0KCkpXTsKKyAgICAgICAgbV9jb250ZW50QXJlYVNjcm9s
bGVkVGltZXJTY3JvbGxEZWx0YSA9IEZsb2F0U2l6ZSgpOworICAgIH0gZWxzZQorICAgICAgICBb
bV9zY3JvbGxiYXJQYWludGVyQ29udHJvbGxlci5nZXQoKSBjb250ZW50QXJlYVNjcm9sbGVkXTsK
IH0KIAogdm9pZCBTY3JvbGxBbmltYXRvck1hYzo6c2V0VmlzaWJsZVNjcm9sbGVyVGh1bWJSZWN0
KGNvbnN0IEludFJlY3QmIHNjcm9sbGVyVGh1bWIpCg==
</data>
<flag name="review"
          id="205384"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>