<?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>84301</bug_id>
          
          <creation_ts>2012-04-18 16:35:22 -0700</creation_ts>
          <short_desc>[chromium] Add canBeginFrame state to CCSchedulerStateMachine to suppress initialization before our surface is available</short_desc>
          <delta_ts>2012-04-18 18:30:51 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="James Robinson">jamesr</reporter>
          <assigned_to name="James Robinson">jamesr</assigned_to>
          <cc>cc-bugs</cc>
    
    <cc>enne</cc>
    
    <cc>nduca</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>605218</commentid>
    <comment_count>0</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-04-18 16:35:22 -0700</bug_when>
    <thetext>[chromium] Add canBeginFrame state to CCSchedulerStateMachine to suppress initialization before our surface is available</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605219</commentid>
    <comment_count>1</comment_count>
      <attachid>137802</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-04-18 16:38:02 -0700</bug_when>
    <thetext>Created attachment 137802
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605220</commentid>
    <comment_count>2</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-04-18 16:38:20 -0700</bug_when>
    <thetext>This is the first part of the fixes for http://code.google.com/p/chromium/issues/detail?id=123356</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605227</commentid>
    <comment_count>3</comment_count>
      <attachid>137802</attachid>
    <who name="Nat Duca">nduca</who>
    <bug_when>2012-04-18 16:56:33 -0700</bug_when>
    <thetext>Comment on attachment 137802
Patch

Neat. LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605232</commentid>
    <comment_count>4</comment_count>
      <attachid>137802</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-04-18 17:00:47 -0700</bug_when>
    <thetext>Comment on attachment 137802
Patch

How does canBeginFrame differ from canDraw? Is there ever a point where we want to begin a frame but can&apos;t draw?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605237</commentid>
    <comment_count>5</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-04-18 17:04:45 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 137802 [details])
&gt; How does canBeginFrame differ from canDraw? Is there ever a point where we want to begin a frame but can&apos;t draw?

canDraw doesn&apos;t block commit, this does.  The reason is that if the surface isn&apos;t ready yet, then the first makeContextCurrent() will fail so we can&apos;t even start the commit.  There are situations where we don&apos;t want to swap an actual frame but we can usefully do other things (do a commit, enqueue texture uploads, etc).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605255</commentid>
    <comment_count>6</comment_count>
      <attachid>137802</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-04-18 17:16:48 -0700</bug_when>
    <thetext>Comment on attachment 137802
Patch

Ok, thanks for the explanation.  R=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605263</commentid>
    <comment_count>7</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-04-18 17:41:42 -0700</bug_when>
    <thetext>Here&apos;s the rest with a longer explanation in the WebKit/chromium/ChangeLog: https://bugs.webkit.org/show_bug.cgi?id=84305</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605281</commentid>
    <comment_count>8</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-04-18 18:30:51 -0700</bug_when>
    <thetext>Committed r114599: &lt;http://trac.webkit.org/changeset/114599&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137802</attachid>
            <date>2012-04-18 16:38:02 -0700</date>
            <delta_ts>2012-04-18 17:16:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84301-20120418163801.patch</filename>
            <type>text/plain</type>
            <size>18498</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE0NDMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDVjZjBhZDZlNGUzYmEy
NDliNjk2ZDg2YTg4N2MwN2I2M2Y0N2U0NC4uMzk4NzFiNzMzYmVjOTJhNTQ1YmQ4ZGZkY2JjNDNl
MWJjODA3NDI0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTA0LTE4ICBKYW1l
cyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBB
ZGQgY2FuQmVnaW5GcmFtZSBzdGF0ZSB0byBDQ1NjaGVkdWxlclN0YXRlTWFjaGluZSB0byBzdXBw
cmVzcyBpbml0aWFsaXphdGlvbiBiZWZvcmUgb3VyIHN1cmZhY2UgaXMgYXZhaWxhYmxlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDMwMQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElmIG91ciBjb21wb3Np
dGVkIHN1cmZhY2UgaXNuJ3QgcmVhZHkgeWV0LCB0aGVuIHRoZSBjb21wb3NpdG9yIG1heSBpbml0
aWFsaXplIGluIGEgc3RhdGUgd2hlcmUgdGhlIGZpcnN0CisgICAgICAgIG1ha2VDb250ZXh0Q3Vy
cmVudCgpIGZhaWxzLiBUaGlzIGFkZHMgYSBuZXcgc3RhdGUgdG8gdGhlIHNjaGVkdWxlciB0aGF0
IHdlIGNhbiB1c2UgdG8gc3VwcHJlc3MgaW5pdGlhbGl6YXRpb24KKyAgICAgICAgdW50aWwgd2Ug
Z2V0IG5vdGlmaWVkIHRoYXQgdGhlIHN1cmZhY2UgaXMgcmVhZHkuIEknbGwgYWRkIHRoZSBwbHVt
YmluZyBmb3IgYWN0dWFsbHkgbm90aWZ5aW5nIGluIGEgZm9sbG93LXVwLgorCisgICAgICAgIFVw
ZGF0ZWQgQ0NTY2hlZHVsZXJUZXN0IC8gQ0NTY2hlZHVsZXJTdGF0ZU1hY2hpbmVUZXN0IHVuaXQg
dGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NjaGVk
dWxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQ1NjaGVkdWxlcjo6c2V0Q2FuQmVnaW5GcmFt
ZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ1NjaGVkdWxlci5oOgorICAgICAgICAoQ0NTY2hlZHVsZXIpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2NoZWR1bGVyU3RhdGVNYWNoaW5lLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkNDU2NoZWR1bGVyU3RhdGVNYWNoaW5lOjpDQ1NjaGVkdWxl
clN0YXRlTWFjaGluZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ1NjaGVkdWxlclN0YXRlTWFjaGlu
ZTo6bmV4dEFjdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NTY2hlZHVsZXJTdGF0ZU1hY2hpbmUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNDU2NoZWR1bGVy
U3RhdGVNYWNoaW5lOjpzZXRDYW5CZWdpbkZyYW1lKToKKyAgICAgICAgKENDU2NoZWR1bGVyU3Rh
dGVNYWNoaW5lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Ro
cmVhZFByb3h5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNDVGhyZWFkUHJveHk6OmluaXRpYWxp
emVJbXBsT25JbXBsVGhyZWFkKToKKwogMjAxMi0wNC0xNyAgRW1pbCBBIEVrbHVuZCAgPGVhZUBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUm9sbG91dCByMTE0NDA0IGFzIGl0IGJyb2tlIGEgY291
cGxlIG9mIGNocm9taXVtIGJ1aWxkcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggNDY3
ZDQ1ODYxZmI5ZGZlM2I3YWY2MTViOGFlM2RhYWJkYWJjYzAwZC4uN2MxZjIzMDNiYmI2NzgzYzli
ZTVlNmU2YTdlNTkyYzc1MjA5MzkwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxMi0wNC0xOCAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gQWRkIGNhbkJlZ2luRnJhbWUgc3RhdGUgdG8gQ0NT
Y2hlZHVsZXJTdGF0ZU1hY2hpbmUgdG8gc3VwcHJlc3MgaW5pdGlhbGl6YXRpb24gYmVmb3JlIG91
ciBzdXJmYWNlIGlzIGF2YWlsYWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODQzMDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBVcGRhdGUgdW5pdCB0ZXN0cyBmb3IgbmV3IGNhbkJlZ2luRnJhbWUgYml0
LgorCisgICAgICAgICogdGVzdHMvQ0NTY2hlZHVsZXJTdGF0ZU1hY2hpbmVUZXN0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlRFU1QpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogdGVz
dHMvQ0NTY2hlZHVsZXJUZXN0LmNwcDoKKyAgICAgICAgKFdlYktpdFRlc3RzOjpURVNUKToKKwog
MjAxMi0wNC0xNyAgQWxlYyBGbGV0dCAgPGFsZWNmbGV0dEBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgSW5kZXhlZERCOiBzdHViIGdldEtleS9nZXRPYmplY3QgaW50ZXJmYWNlcyBmb3IgSURCS2V5
UmFuZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDU2NoZWR1bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDU2NoZWR1bGVyLmNwcAppbmRleCAzZDA5ZTQ0YjEyZGE0ZDFmM2U2ZmMx
MjdhMDM2ZDUyZDgzZDcxZTg0Li4zNjFhNGUxN2ZiZjI5YTk0MjI2YTZjOTUzYTAxYjBhYmM2MGFj
NDdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ1NjaGVkdWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NTY2hlZHVsZXIuY3BwCkBAIC00NCw2ICs0NCwxMiBAQCBDQ1NjaGVk
dWxlcjo6fkNDU2NoZWR1bGVyKCkKICAgICBtX2ZyYW1lUmF0ZUNvbnRyb2xsZXItPnNldEFjdGl2
ZShmYWxzZSk7CiB9CiAKK3ZvaWQgQ0NTY2hlZHVsZXI6OnNldENhbkJlZ2luRnJhbWUoYm9vbCBj
YW4pCit7CisgICAgbV9zdGF0ZU1hY2hpbmUuc2V0Q2FuQmVnaW5GcmFtZShjYW4pOworICAgIHBy
b2Nlc3NTY2hlZHVsZWRBY3Rpb25zKCk7Cit9CisKIHZvaWQgQ0NTY2hlZHVsZXI6OnNldFZpc2li
bGUoYm9vbCB2aXNpYmxlKQogewogICAgIG1fc3RhdGVNYWNoaW5lLnNldFZpc2libGUodmlzaWJs
ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ1NjaGVkdWxlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NTY2hlZHVsZXIuaAppbmRleCA1ZmIxZmU3ODZkZDg2NTY0MDJiYzBhNGMxNTUz
YjFmYTA4MzJkNGMxLi44OTJlZjJkMjJiMDQ1MjU2ZDQ4MzkzMmZiMmJhMjcxNGI4MWNkYTU4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q1NjaGVkdWxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDU2NoZWR1bGVyLmgKQEAgLTc2LDYgKzc2LDggQEAgcHVibGljOgogCiAgICAgdmly
dHVhbCB+Q0NTY2hlZHVsZXIoKTsKIAorICAgIHZvaWQgc2V0Q2FuQmVnaW5GcmFtZShib29sKTsK
KwogICAgIHZvaWQgc2V0VmlzaWJsZShib29sKTsKIAogICAgIHZvaWQgc2V0TmVlZHNDb21taXQo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDU2NoZWR1bGVyU3RhdGVNYWNoaW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2NoZWR1bGVyU3RhdGVNYWNoaW5lLmNwcAppbmRleCAx
Yzk0MmUzNDNjNzc3MTliNjNlNmQzZjA5YjEyYjA1ZGVlMDAxYmRhLi5jZTNjODFjNzQ3ZWQ0ZjIy
MzRjOWQzNDcxNDUzMDI4NThhMTQyMzVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NjaGVkdWxlclN0YXRlTWFjaGluZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTY2hlZHVs
ZXJTdGF0ZU1hY2hpbmUuY3BwCkBAIC0zOSw2ICszOSw3IEBAIENDU2NoZWR1bGVyU3RhdGVNYWNo
aW5lOjpDQ1NjaGVkdWxlclN0YXRlTWFjaGluZSgpCiAgICAgLCBtX3VwZGF0ZU1vcmVSZXNvdXJj
ZXNQZW5kaW5nKGZhbHNlKQogICAgICwgbV9pbnNpZGVWU3luYyhmYWxzZSkKICAgICAsIG1fdmlz
aWJsZShmYWxzZSkKKyAgICAsIG1fY2FuQmVnaW5GcmFtZShmYWxzZSkKICAgICAsIG1fY2FuRHJh
dyh0cnVlKQogICAgICwgbV9kcmF3SWZQb3NzaWJsZUZhaWxlZChmYWxzZSkKICAgICAsIG1fY29u
dGV4dFN0YXRlKENPTlRFWFRfQUNUSVZFKQpAQCAtODQsNyArODUsNyBAQCBDQ1NjaGVkdWxlclN0
YXRlTWFjaGluZTo6QWN0aW9uIENDU2NoZWR1bGVyU3RhdGVNYWNoaW5lOjpuZXh0QWN0aW9uKCkg
Y29uc3QKICAgICAgICAgICAgIHJldHVybiBBQ1RJT05fTk9ORTsKICAgICAgICAgaWYgKHNob3Vs
ZERyYXcoKSkKICAgICAgICAgICAgIHJldHVybiBtX25lZWRzRm9yY2VkUmVkcmF3ID8gQUNUSU9O
X0RSQVdfRk9SQ0VEIDogQUNUSU9OX0RSQVdfSUZfUE9TU0lCTEU7Ci0gICAgICAgIGlmIChtX25l
ZWRzQ29tbWl0ICYmIChtX3Zpc2libGUgfHwgbV9uZWVkc0ZvcmNlZENvbW1pdCkpCisgICAgICAg
IGlmIChtX25lZWRzQ29tbWl0ICYmICgobV92aXNpYmxlICYmIG1fY2FuQmVnaW5GcmFtZSkgfHwg
bV9uZWVkc0ZvcmNlZENvbW1pdCkpCiAgICAgICAgICAgICByZXR1cm4gQUNUSU9OX0JFR0lOX0ZS
QU1FOwogICAgICAgICByZXR1cm4gQUNUSU9OX05PTkU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2NoZWR1bGVyU3RhdGVNYWNo
aW5lLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Nj
aGVkdWxlclN0YXRlTWFjaGluZS5oCmluZGV4IDJlY2ZkMWNkMDZkNTA4YWUxZmU2MWY2ODM5MjE2
ODFhZmRjZWI4NjYuLjU1MjU1MTJiZGMyMWMzMWE1ZGZkY2IyNGI5YzA2NGNkOGJiM2NkOWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
U2NoZWR1bGVyU3RhdGVNYWNoaW5lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vY2MvQ0NTY2hlZHVsZXJTdGF0ZU1hY2hpbmUuaApAQCAtMTE3LDYgKzEx
Nyw5IEBAIHB1YmxpYzoKICAgICAvLyBmcm9tIG5leHRTdGF0ZS4gSW5kaWNhdGVzIHRoYXQgdGhl
IHNwZWNpZmljIHVwZGF0ZSByZXF1ZXN0IGNvbXBsZXRlZC4KICAgICB2b2lkIGJlZ2luVXBkYXRl
TW9yZVJlc291cmNlc0NvbXBsZXRlKGJvb2wgbW9yZVBlbmRpbmcpOwogCisgICAgLy8gSW5kaWNh
dGVzIHdoZXRoZXIgd2UgY2FuIHN1Y2Nlc3NmdWxseSBiZWdpbiBhIGZyYW1lIGF0IHRoaXMgdGlt
ZS4KKyAgICB2b2lkIHNldENhbkJlZ2luRnJhbWUoYm9vbCBjYW4pIHsgbV9jYW5CZWdpbkZyYW1l
ID0gY2FuOyB9CisKICAgICAvLyBJbmRpY2F0ZXMgd2hldGhlciBkcmF3aW5nIHdvdWxkLCBhdCB0
aGlzIHRpbWUsIG1ha2Ugc2Vuc2UuCiAgICAgLy8gY2FuRHJhdyBjYW4gYmUgdXNlZCB0byBzdXBy
ZXNzIGZsYXNoZXMgb3IgY2hlY2tlcmJvYXJkaW5nCiAgICAgLy8gd2hlbiBzdWNoIGJlaGF2aW9y
IHdvdWxkIGJlIHVuZGVzaXJhYmxlLgpAQCAtMTQxLDYgKzE0NCw3IEBAIHByb3RlY3RlZDoKICAg
ICBib29sIG1fdXBkYXRlTW9yZVJlc291cmNlc1BlbmRpbmc7CiAgICAgYm9vbCBtX2luc2lkZVZT
eW5jOwogICAgIGJvb2wgbV92aXNpYmxlOworICAgIGJvb2wgbV9jYW5CZWdpbkZyYW1lOwogICAg
IGJvb2wgbV9jYW5EcmF3OwogICAgIGJvb2wgbV9kcmF3SWZQb3NzaWJsZUZhaWxlZDsKICAgICBD
b250ZXh0U3RhdGUgbV9jb250ZXh0U3RhdGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuY3BwCmlu
ZGV4IDdlOTk3MjQxYmM3N2M4M2JlMGUyNzkwMmI2M2M3NmU1N2VjNjE5MDAuLmMzOTZkNGQ4ZDgw
Y2ExZjY2YjM3MjdhZWJiYTJiNjRlYmI4MzRiMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHku
Y3BwCkBAIC02OTYsNiArNjk2LDcgQEAgdm9pZCBDQ1RocmVhZFByb3h5Ojppbml0aWFsaXplSW1w
bE9uSW1wbFRocmVhZChDQ0NvbXBsZXRpb25FdmVudCogY29tcGxldGlvbikKICAgICBjb25zdCBk
b3VibGUgZGlzcGxheVJlZnJlc2hJbnRlcnZhbCA9IDEuMCAvIDYwLjA7CiAgICAgT3duUHRyPEND
RnJhbWVSYXRlQ29udHJvbGxlcj4gZnJhbWVSYXRlQ29udHJvbGxlciA9IGFkb3B0UHRyKG5ldyBD
Q0ZyYW1lUmF0ZUNvbnRyb2xsZXIoQ0NEZWxheUJhc2VkVGltZVNvdXJjZTo6Y3JlYXRlKGRpc3Bs
YXlSZWZyZXNoSW50ZXJ2YWwsIENDUHJveHk6OmltcGxUaHJlYWQoKSkpKTsKICAgICBtX3NjaGVk
dWxlck9uSW1wbFRocmVhZCA9IENDU2NoZWR1bGVyOjpjcmVhdGUodGhpcywgZnJhbWVSYXRlQ29u
dHJvbGxlci5yZWxlYXNlKCkpOworICAgIG1fc2NoZWR1bGVyT25JbXBsVGhyZWFkLT5zZXRDYW5C
ZWdpbkZyYW1lKHRydWUpOyAvLyBGSVhNRTogU2V0IHRoaXMgd2hlbiB3ZSBhY3R1YWxseSBjYW4g
YmVnaW4gYSBmcmFtZS4KICAgICBtX3NjaGVkdWxlck9uSW1wbFRocmVhZC0+c2V0VmlzaWJsZSht
X2xheWVyVHJlZUhvc3RJbXBsLT52aXNpYmxlKCkpOwogCiAgICAgbV9pbnB1dEhhbmRsZXJPbklt
cGxUaHJlYWQgPSBDQ0lucHV0SGFuZGxlcjo6Y3JlYXRlKG1fbGF5ZXJUcmVlSG9zdEltcGwuZ2V0
KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ1NjaGVkdWxl
clN0YXRlTWFjaGluZVRlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ1Nj
aGVkdWxlclN0YXRlTWFjaGluZVRlc3QuY3BwCmluZGV4IGU0YTVkN2M5NTk0NGI5NGQ2NTNjMTQx
MTk1NmI5YzI5Y2NlZDQ2YmYuLjI3MzFjNzZmZGUzMTAwZjA2YmNjOTY4Nzg4NmM3ZWJjN2EyZGYz
YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NTY2hlZHVsZXJT
dGF0ZU1hY2hpbmVUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0ND
U2NoZWR1bGVyU3RhdGVNYWNoaW5lVGVzdC5jcHAKQEAgLTc1LDYgKzc1LDcgQEAgVEVTVChDQ1Nj
aGVkdWxlclN0YXRlTWFjaGluZVRlc3QsIFRlc3ROZXh0QWN0aW9uQmVnaW5zRnJhbWVJZk5lZWRl
ZCkKICAgICB7CiAgICAgICAgIFN0YXRlTWFjaGluZSBzdGF0ZTsKICAgICAgICAgc3RhdGUuc2V0
Q29tbWl0U3RhdGUoQ0NTY2hlZHVsZXJTdGF0ZU1hY2hpbmU6OkNPTU1JVF9TVEFURV9JRExFKTsK
KyAgICAgICAgc3RhdGUuc2V0Q2FuQmVnaW5GcmFtZSh0cnVlKTsKICAgICAgICAgc3RhdGUuc2V0
TmVlZHNSZWRyYXcoZmFsc2UpOwogICAgICAgICBzdGF0ZS5zZXROZWVkc0NvbW1pdChmYWxzZSk7
CiAgICAgICAgIHN0YXRlLnNldFVwZGF0ZU1vcmVSZXNvdXJjZXNQZW5kaW5nKGZhbHNlKTsKQEAg
LTg5LDEwICs5MCwzMCBAQCBURVNUKENDU2NoZWR1bGVyU3RhdGVNYWNoaW5lVGVzdCwgVGVzdE5l
eHRBY3Rpb25CZWdpbnNGcmFtZUlmTmVlZGVkKQogICAgICAgICBFWFBFQ1RfRVEoQ0NTY2hlZHVs
ZXJTdGF0ZU1hY2hpbmU6OkFDVElPTl9OT05FLCBzdGF0ZS5uZXh0QWN0aW9uKCkpOwogICAgIH0K
IAorICAgIC8vIElmIGNvbW1pdCByZXF1ZXN0ZWQgYnV0IGNhbkJlZ2luRnJhbWUgaXMgc3RpbGwg
ZmFsc2UsIGRvIG5vdGhpbmcuCisgICAgeworICAgICAgICBTdGF0ZU1hY2hpbmUgc3RhdGU7Cisg
ICAgICAgIHN0YXRlLnNldENvbW1pdFN0YXRlKENDU2NoZWR1bGVyU3RhdGVNYWNoaW5lOjpDT01N
SVRfU1RBVEVfSURMRSk7CisgICAgICAgIHN0YXRlLnNldE5lZWRzUmVkcmF3KGZhbHNlKTsKKyAg
ICAgICAgc3RhdGUuc2V0TmVlZHNDb21taXQoZmFsc2UpOworICAgICAgICBzdGF0ZS5zZXRVcGRh
dGVNb3JlUmVzb3VyY2VzUGVuZGluZyhmYWxzZSk7CisgICAgICAgIHN0YXRlLnNldFZpc2libGUo
dHJ1ZSk7CisKKyAgICAgICAgRVhQRUNUX0ZBTFNFKHN0YXRlLnZzeW5jQ2FsbGJhY2tOZWVkZWQo
KSk7CisKKyAgICAgICAgc3RhdGUuZGlkTGVhdmVWU3luYygpOworICAgICAgICBFWFBFQ1RfRVEo
Q0NTY2hlZHVsZXJTdGF0ZU1hY2hpbmU6OkFDVElPTl9OT05FLCBzdGF0ZS5uZXh0QWN0aW9uKCkp
OworICAgICAgICBFWFBFQ1RfRkFMU0Uoc3RhdGUudnN5bmNDYWxsYmFja05lZWRlZCgpKTsKKyAg
ICAgICAgc3RhdGUuZGlkRW50ZXJWU3luYygpOworICAgICAgICBFWFBFQ1RfRVEoQ0NTY2hlZHVs
ZXJTdGF0ZU1hY2hpbmU6OkFDVElPTl9OT05FLCBzdGF0ZS5uZXh0QWN0aW9uKCkpOworICAgIH0K
KworCiAgICAgLy8gSWYgY29tbWl0IHJlcXVlc3RlZCwgYmVnaW4gYSBmcmFtZQogICAgIHsKICAg
ICAgICAgU3RhdGVNYWNoaW5lIHN0YXRlOwogICAgICAgICBzdGF0ZS5zZXRDb21taXRTdGF0ZShD
Q1NjaGVkdWxlclN0YXRlTWFjaGluZTo6Q09NTUlUX1NUQVRFX0lETEUpOworICAgICAgICBzdGF0
ZS5zZXRDYW5CZWdpbkZyYW1lKHRydWUpOwogICAgICAgICBzdGF0ZS5zZXROZWVkc1JlZHJhdyhm
YWxzZSk7CiAgICAgICAgIHN0YXRlLnNldE5lZWRzQ29tbWl0KHRydWUpOwogICAgICAgICBzdGF0
ZS5zZXRVcGRhdGVNb3JlUmVzb3VyY2VzUGVuZGluZyhmYWxzZSk7CkBAIC0xMDMsNiArMTI0LDcg
QEAgVEVTVChDQ1NjaGVkdWxlclN0YXRlTWFjaGluZVRlc3QsIFRlc3ROZXh0QWN0aW9uQmVnaW5z
RnJhbWVJZk5lZWRlZCkKICAgICAvLyBCZWdpbiB0aGUgZnJhbWUsIG1ha2Ugc3VyZSBuZWVkc0Nv
bW1pdCBhbmQgY29tbWl0U3RhdGUgdXBkYXRlIGNvcnJlY3RseS4KICAgICB7CiAgICAgICAgIFN0
YXRlTWFjaGluZSBzdGF0ZTsKKyAgICAgICAgc3RhdGUuc2V0Q2FuQmVnaW5GcmFtZSh0cnVlKTsK
ICAgICAgICAgc3RhdGUuc2V0VmlzaWJsZSh0cnVlKTsKICAgICAgICAgc3RhdGUudXBkYXRlU3Rh
dGUoQ0NTY2hlZHVsZXJTdGF0ZU1hY2hpbmU6OkFDVElPTl9CRUdJTl9GUkFNRSk7CiAgICAgICAg
IEVYUEVDVF9FUShDQ1NjaGVkdWxlclN0YXRlTWFjaGluZTo6Q09NTUlUX1NUQVRFX0ZSQU1FX0lO
X1BST0dSRVNTLCBzdGF0ZS5jb21taXRTdGF0ZSgpKTsKQEAgLTEyMiw2ICsxNDQsNyBAQCBURVNU
KENDU2NoZWR1bGVyU3RhdGVNYWNoaW5lVGVzdCwgVGVzdFNldEZvcmNlZFJlZHJhd0RvZXNOb3RT
ZXRzTm9ybWFsUmVkcmF3KQogVEVTVChDQ1NjaGVkdWxlclN0YXRlTWFjaGluZVRlc3QsIFRlc3RG
YWlsZWREcmF3U2V0c05lZWRzQ29tbWl0QW5kRG9lc05vdERyYXdBZ2FpbikKIHsKICAgICBDQ1Nj
aGVkdWxlclN0YXRlTWFjaGluZSBzdGF0ZTsKKyAgICBzdGF0ZS5zZXRDYW5CZWdpbkZyYW1lKHRy
dWUpOwogICAgIHN0YXRlLnNldFZpc2libGUodHJ1ZSk7CiAgICAgc3RhdGUuc2V0TmVlZHNSZWRy
YXcoKTsKICAgICBFWFBFQ1RfVFJVRShzdGF0ZS5yZWRyYXdQZW5kaW5nKCkpOwpAQCAtMTQ2LDYg
KzE2OSw3IEBAIFRFU1QoQ0NTY2hlZHVsZXJTdGF0ZU1hY2hpbmVUZXN0LCBUZXN0RmFpbGVkRHJh
d1NldHNOZWVkc0NvbW1pdEFuZERvZXNOb3REcmF3QWdhCiBURVNUKENDU2NoZWR1bGVyU3RhdGVN
YWNoaW5lVGVzdCwgVGVzdFNldE5lZWRzUmVkcmF3RHVyaW5nRmFpbGVkRHJhd0RvZXNOb3RSZW1v
dmVOZWVkc1JlZHJhdykKIHsKICAgICBDQ1NjaGVkdWxlclN0YXRlTWFjaGluZSBzdGF0ZTsKKyAg
ICBzdGF0ZS5zZXRDYW5CZWdpbkZyYW1lKHRydWUpOwogICAgIHN0YXRlLnNldFZpc2libGUodHJ1
ZSk7CiAgICAgc3RhdGUuc2V0TmVlZHNSZWRyYXcoKTsKICAgICBFWFBFQ1RfVFJVRShzdGF0ZS5y
ZWRyYXdQZW5kaW5nKCkpOwpAQCAtMTczLDYgKzE5Nyw3IEBAIFRFU1QoQ0NTY2hlZHVsZXJTdGF0
ZU1hY2hpbmVUZXN0LCBUZXN0U2V0TmVlZHNSZWRyYXdEdXJpbmdGYWlsZWREcmF3RG9lc05vdFJl
bW92CiBURVNUKENDU2NoZWR1bGVyU3RhdGVNYWNoaW5lVGVzdCwgVGVzdENvbW1pdEFmdGVyRmFp
bGVkRHJhd0FsbG93c0RyYXdJblNhbWVGcmFtZSkKIHsKICAgICBDQ1NjaGVkdWxlclN0YXRlTWFj
aGluZSBzdGF0ZTsKKyAgICBzdGF0ZS5zZXRDYW5CZWdpbkZyYW1lKHRydWUpOwogICAgIHN0YXRl
LnNldFZpc2libGUodHJ1ZSk7CiAKICAgICAvLyBTdGFydCBhIGNvbW1pdC4KQEAgLTIxMiw2ICsy
MzcsNyBAQCBURVNUKENDU2NoZWR1bGVyU3RhdGVNYWNoaW5lVGVzdCwgVGVzdENvbW1pdEFmdGVy
RmFpbGVkRHJhd0FsbG93c0RyYXdJblNhbWVGcmFtZQogVEVTVChDQ1NjaGVkdWxlclN0YXRlTWFj
aGluZVRlc3QsIFRlc3RDb21taXRBZnRlckZhaWxlZEFuZFN1Y2Nlc3NmdWxEcmF3RG9lc05vdEFs
bG93RHJhd0luU2FtZUZyYW1lKQogewogICAgIENDU2NoZWR1bGVyU3RhdGVNYWNoaW5lIHN0YXRl
OworICAgIHN0YXRlLnNldENhbkJlZ2luRnJhbWUodHJ1ZSk7CiAgICAgc3RhdGUuc2V0VmlzaWJs
ZSh0cnVlKTsKIAogICAgIC8vIFN0YXJ0IGEgY29tbWl0LgpAQCAtMjYyLDYgKzI4OCw3IEBAIFRF
U1QoQ0NTY2hlZHVsZXJTdGF0ZU1hY2hpbmVUZXN0LCBUZXN0Q29tbWl0QWZ0ZXJGYWlsZWRBbmRT
dWNjZXNzZnVsRHJhd0RvZXNOb3RBCiBURVNUKENDU2NoZWR1bGVyU3RhdGVNYWNoaW5lVGVzdCwg
VGVzdEZhaWxlZERyYXdJc1JldHJpZWROZXh0VlN5bmMpCiB7CiAgICAgQ0NTY2hlZHVsZXJTdGF0
ZU1hY2hpbmUgc3RhdGU7CisgICAgc3RhdGUuc2V0Q2FuQmVnaW5GcmFtZSh0cnVlKTsKICAgICBz
dGF0ZS5zZXRWaXNpYmxlKHRydWUpOwogCiAgICAgLy8gU3RhcnQgYSBkcmF3LgpAQCAtNDQ3LDYg
KzQ3NCw3IEBAIFRFU1QoQ0NTY2hlZHVsZXJTdGF0ZU1hY2hpbmVUZXN0LCBUZXN0Q2FuUmVkcmF3
V2l0aFdhaXRpbmdGb3JGaXJzdERyYXdNYWtlc1Byb2dyCiB7CiAgICAgU3RhdGVNYWNoaW5lIHN0
YXRlOwogICAgIHN0YXRlLnNldENvbW1pdFN0YXRlKENDU2NoZWR1bGVyU3RhdGVNYWNoaW5lOjpD
T01NSVRfU1RBVEVfV0FJVElOR19GT1JfRklSU1RfRFJBVyk7CisgICAgc3RhdGUuc2V0Q2FuQmVn
aW5GcmFtZSh0cnVlKTsKICAgICBzdGF0ZS5zZXROZWVkc0NvbW1pdCh0cnVlKTsKICAgICBzdGF0
ZS5zZXROZWVkc1JlZHJhdyh0cnVlKTsKICAgICBzdGF0ZS5zZXRVcGRhdGVNb3JlUmVzb3VyY2Vz
UGVuZGluZyhmYWxzZSk7CkBAIC01OTAsNiArNjE4LDcgQEAgVEVTVChDQ1NjaGVkdWxlclN0YXRl
TWFjaGluZVRlc3QsIFRlc3RVcGRhdGVzX1dpdGhSZWRyYXdfT25lUm91bmRPZlVwZGF0ZXMpCiBU
RVNUKENDU2NoZWR1bGVyU3RhdGVNYWNoaW5lVGVzdCwgVGVzdFNldE5lZWRzQ29tbWl0SXNOb3RM
b3N0KQogewogICAgIFN0YXRlTWFjaGluZSBzdGF0ZTsKKyAgICBzdGF0ZS5zZXRDYW5CZWdpbkZy
YW1lKHRydWUpOwogICAgIHN0YXRlLnNldE5lZWRzQ29tbWl0KHRydWUpOwogICAgIHN0YXRlLnNl
dFZpc2libGUodHJ1ZSk7CiAKQEAgLTYzMiw2ICs2NjEsNyBAQCBURVNUKENDU2NoZWR1bGVyU3Rh
dGVNYWNoaW5lVGVzdCwgVGVzdFNldE5lZWRzQ29tbWl0SXNOb3RMb3N0KQogVEVTVChDQ1NjaGVk
dWxlclN0YXRlTWFjaGluZVRlc3QsIFRlc3RGdWxsQ3ljbGUpCiB7CiAgICAgU3RhdGVNYWNoaW5l
IHN0YXRlOworICAgIHN0YXRlLnNldENhbkJlZ2luRnJhbWUodHJ1ZSk7CiAgICAgc3RhdGUuc2V0
VmlzaWJsZSh0cnVlKTsKIAogICAgIC8vIFN0YXJ0IGNsZWFuIGFuZCBzZXQgY29tbWl0LgpAQCAt
Njc5LDYgKzcwOSw3IEBAIFRFU1QoQ0NTY2hlZHVsZXJTdGF0ZU1hY2hpbmVUZXN0LCBUZXN0RnVs
bEN5Y2xlKQogVEVTVChDQ1NjaGVkdWxlclN0YXRlTWFjaGluZVRlc3QsIFRlc3RGdWxsQ3ljbGVX
aXRoQ29tbWl0UmVxdWVzdEluYmV0d2VlbikKIHsKICAgICBTdGF0ZU1hY2hpbmUgc3RhdGU7Cisg
ICAgc3RhdGUuc2V0Q2FuQmVnaW5GcmFtZSh0cnVlKTsKICAgICBzdGF0ZS5zZXRWaXNpYmxlKHRy
dWUpOwogCiAgICAgLy8gU3RhcnQgY2xlYW4gYW5kIHNldCBjb21taXQuCkBAIC03MzcsNiArNzY4
LDcgQEAgVEVTVChDQ1NjaGVkdWxlclN0YXRlTWFjaGluZVRlc3QsIFRlc3RSZXF1ZXN0Q29tbWl0
SW52aXNpYmxlKQogVEVTVChDQ1NjaGVkdWxlclN0YXRlTWFjaGluZVRlc3QsIFRlc3RHb2VzSW52
aXNpYmxlTWlkQ29tbWl0KQogewogICAgIFN0YXRlTWFjaGluZSBzdGF0ZTsKKyAgICBzdGF0ZS5z
ZXRDYW5CZWdpbkZyYW1lKHRydWUpOwogICAgIHN0YXRlLnNldFZpc2libGUodHJ1ZSk7CiAKICAg
ICAvLyBTdGFydCBjbGVhbiBhbmQgc2V0IGNvbW1pdC4KQEAgLTc4Miw2ICs4MTQsNyBAQCBURVNU
KENDU2NoZWR1bGVyU3RhdGVNYWNoaW5lVGVzdCwgVGVzdEdvZXNJbnZpc2libGVNaWRDb21taXQp
CiBURVNUKENDU2NoZWR1bGVyU3RhdGVNYWNoaW5lVGVzdCwgVGVzdENvbnRleHRMb3N0V2hlbkNv
bXBsZXRlbHlJZGxlKQogewogICAgIFN0YXRlTWFjaGluZSBzdGF0ZTsKKyAgICBzdGF0ZS5zZXRD
YW5CZWdpbkZyYW1lKHRydWUpOwogICAgIHN0YXRlLnNldFZpc2libGUodHJ1ZSk7CiAKICAgICBz
dGF0ZS5kaWRMb3NlQ29udGV4dCgpOwpAQCAtODAzLDYgKzgzNiw3IEBAIFRFU1QoQ0NTY2hlZHVs
ZXJTdGF0ZU1hY2hpbmVUZXN0LCBUZXN0Q29udGV4dExvc3RXaGVuQ29tcGxldGVseUlkbGUpCiBU
RVNUKENDU2NoZWR1bGVyU3RhdGVNYWNoaW5lVGVzdCwgVGVzdENvbnRleHRMb3N0V2hlbklkbGVB
bmRDb21taXRSZXF1ZXN0ZWRXaGlsZVJlY3JlYXRpbmcpCiB7CiAgICAgU3RhdGVNYWNoaW5lIHN0
YXRlOworICAgIHN0YXRlLnNldENhbkJlZ2luRnJhbWUodHJ1ZSk7CiAgICAgc3RhdGUuc2V0Vmlz
aWJsZSh0cnVlKTsKIAogICAgIHN0YXRlLmRpZExvc2VDb250ZXh0KCk7CkBAIC04MzgsNiArODcy
LDcgQEAgVEVTVChDQ1NjaGVkdWxlclN0YXRlTWFjaGluZVRlc3QsIFRlc3RDb250ZXh0TG9zdFdo
ZW5JZGxlQW5kQ29tbWl0UmVxdWVzdGVkV2hpbGUKIFRFU1QoQ0NTY2hlZHVsZXJTdGF0ZU1hY2hp
bmVUZXN0LCBUZXN0Q29udGV4dExvc3RXaGlsZUNvbW1pdEluUHJvZ3Jlc3MpCiB7CiAgICAgU3Rh
dGVNYWNoaW5lIHN0YXRlOworICAgIHN0YXRlLnNldENhbkJlZ2luRnJhbWUodHJ1ZSk7CiAgICAg
c3RhdGUuc2V0VmlzaWJsZSh0cnVlKTsKIAogICAgIC8vIEdldCBhIGNvbW1pdCBpbiBmbGlnaHQu
CkBAIC04NzgsNiArOTEzLDcgQEAgVEVTVChDQ1NjaGVkdWxlclN0YXRlTWFjaGluZVRlc3QsIFRl
c3RDb250ZXh0TG9zdFdoaWxlQ29tbWl0SW5Qcm9ncmVzcykKIFRFU1QoQ0NTY2hlZHVsZXJTdGF0
ZU1hY2hpbmVUZXN0LCBUZXN0Q29udGV4dExvc3RXaGlsZUNvbW1pdEluUHJvZ3Jlc3NBbmRBbm90
aGVyQ29tbWl0UmVxdWVzdGVkKQogewogICAgIFN0YXRlTWFjaGluZSBzdGF0ZTsKKyAgICBzdGF0
ZS5zZXRDYW5CZWdpbkZyYW1lKHRydWUpOwogICAgIHN0YXRlLnNldFZpc2libGUodHJ1ZSk7CiAK
ICAgICAvLyBHZXQgYSBjb21taXQgaW4gZmxpZ2h0LgpAQCAtOTU2LDYgKzk5MiwxNiBAQCBURVNU
KENDU2NoZWR1bGVyU3RhdGVNYWNoaW5lVGVzdCwgVGVzdEZpbmlzaEFsbFJlbmRlcmluZ1doaWxl
Q29udGV4dExvc3QpCiBURVNUKENDU2NoZWR1bGVyU3RhdGVNYWNoaW5lVGVzdCwgVGVzdEJlZ2lu
RnJhbWVXaGVuSW52aXNpYmxlQW5kRm9yY2VDb21taXQpCiB7CiAgICAgU3RhdGVNYWNoaW5lIHN0
YXRlOworICAgIHN0YXRlLnNldENhbkJlZ2luRnJhbWUodHJ1ZSk7CisgICAgc3RhdGUuc2V0Vmlz
aWJsZShmYWxzZSk7CisgICAgc3RhdGUuc2V0TmVlZHNDb21taXQodHJ1ZSk7CisgICAgc3RhdGUu
c2V0TmVlZHNGb3JjZWRDb21taXQodHJ1ZSk7CisgICAgRVhQRUNUX0VRKENDU2NoZWR1bGVyU3Rh
dGVNYWNoaW5lOjpBQ1RJT05fQkVHSU5fRlJBTUUsIHN0YXRlLm5leHRBY3Rpb24oKSk7Cit9CisK
K1RFU1QoQ0NTY2hlZHVsZXJTdGF0ZU1hY2hpbmVUZXN0LCBUZXN0QmVnaW5GcmFtZVdoZW5DYW5C
ZWdpbkZyYW1lRmFsc2VBbmRGb3JjZUNvbW1pdCkKK3sKKyAgICBTdGF0ZU1hY2hpbmUgc3RhdGU7
CiAgICAgc3RhdGUuc2V0VmlzaWJsZSh0cnVlKTsKICAgICBzdGF0ZS5zZXROZWVkc0NvbW1pdCh0
cnVlKTsKICAgICBzdGF0ZS5zZXROZWVkc0ZvcmNlZENvbW1pdCh0cnVlKTsKQEAgLTk2NSw2ICsx
MDExLDcgQEAgVEVTVChDQ1NjaGVkdWxlclN0YXRlTWFjaGluZVRlc3QsIFRlc3RCZWdpbkZyYW1l
V2hlbkludmlzaWJsZUFuZEZvcmNlQ29tbWl0KQogVEVTVChDQ1NjaGVkdWxlclN0YXRlTWFjaGlu
ZVRlc3QsIFRlc3RCZWdpbkZyYW1lV2hlbkNvbW1pdEluUHJvZ3Jlc3MpCiB7CiAgICAgU3RhdGVN
YWNoaW5lIHN0YXRlOworICAgIHN0YXRlLnNldENhbkJlZ2luRnJhbWUodHJ1ZSk7CiAgICAgc3Rh
dGUuc2V0VmlzaWJsZShmYWxzZSk7CiAgICAgc3RhdGUuc2V0Q29tbWl0U3RhdGUoQ0NTY2hlZHVs
ZXJTdGF0ZU1hY2hpbmU6OkNPTU1JVF9TVEFURV9GUkFNRV9JTl9QUk9HUkVTUyk7CiAgICAgc3Rh
dGUuc2V0TmVlZHNDb21taXQodHJ1ZSk7CkBAIC05ODYsNiArMTAzMyw3IEBAIFRFU1QoQ0NTY2hl
ZHVsZXJTdGF0ZU1hY2hpbmVUZXN0LCBUZXN0QmVnaW5GcmFtZVdoZW5Db21taXRJblByb2dyZXNz
KQogVEVTVChDQ1NjaGVkdWxlclN0YXRlTWFjaGluZVRlc3QsIFRlc3RCZWdpbkZyYW1lV2hlbkNv
bnRleHRMb3N0KQogewogICAgIFN0YXRlTWFjaGluZSBzdGF0ZTsKKyAgICBzdGF0ZS5zZXRDYW5C
ZWdpbkZyYW1lKHRydWUpOwogICAgIHN0YXRlLnNldFZpc2libGUodHJ1ZSk7CiAgICAgc3RhdGUu
c2V0TmVlZHNDb21taXQodHJ1ZSk7CiAgICAgc3RhdGUuc2V0TmVlZHNGb3JjZWRDb21taXQodHJ1
ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDU2NoZWR1bGVy
VGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDU2NoZWR1bGVyVGVzdC5j
cHAKaW5kZXggMTEyODJiNGVlZDkxZThjODY0ZDFmYjMyNzJiOTQ3MjBjODJjYWQzMy4uMmMzMTE4
ZDFlYjAyMWI0ZWQxZTk5OTg3MDdiMDJlZTdiNzdhY2Q5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS90ZXN0cy9DQ1NjaGVkdWxlclRlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vdGVzdHMvQ0NTY2hlZHVsZXJUZXN0LmNwcApAQCAtMTAyLDYgKzEwMiw3IEBA
IFRFU1QoQ0NTY2hlZHVsZXJUZXN0LCBSZXF1ZXN0Q29tbWl0KQogICAgIEZha2VDQ1NjaGVkdWxl
ckNsaWVudCBjbGllbnQ7CiAgICAgUmVmUHRyPEZha2VDQ1RpbWVTb3VyY2U+IHRpbWVTb3VyY2Ug
PSBhZG9wdFJlZihuZXcgRmFrZUNDVGltZVNvdXJjZSgpKTsKICAgICBPd25QdHI8Q0NTY2hlZHVs
ZXI+IHNjaGVkdWxlciA9IENDU2NoZWR1bGVyOjpjcmVhdGUoJmNsaWVudCwgYWRvcHRQdHIobmV3
IENDRnJhbWVSYXRlQ29udHJvbGxlcih0aW1lU291cmNlKSkpOworICAgIHNjaGVkdWxlci0+c2V0
Q2FuQmVnaW5GcmFtZSh0cnVlKTsKICAgICBzY2hlZHVsZXItPnNldFZpc2libGUodHJ1ZSk7CiAK
ICAgICAvLyBTZXROZWVkc0NvbW1pdCBzaG91bGQgYmVnaW4gdGhlIGZyYW1lLgpAQCAtMTM3LDYg
KzEzOCw3IEBAIFRFU1QoQ0NTY2hlZHVsZXJUZXN0LCBSZXF1ZXN0Q29tbWl0QWZ0ZXJCZWdpbkZy
YW1lKQogICAgIEZha2VDQ1NjaGVkdWxlckNsaWVudCBjbGllbnQ7CiAgICAgUmVmUHRyPEZha2VD
Q1RpbWVTb3VyY2U+IHRpbWVTb3VyY2UgPSBhZG9wdFJlZihuZXcgRmFrZUNDVGltZVNvdXJjZSgp
KTsKICAgICBPd25QdHI8Q0NTY2hlZHVsZXI+IHNjaGVkdWxlciA9IENDU2NoZWR1bGVyOjpjcmVh
dGUoJmNsaWVudCwgYWRvcHRQdHIobmV3IENDRnJhbWVSYXRlQ29udHJvbGxlcih0aW1lU291cmNl
KSkpOworICAgIHNjaGVkdWxlci0+c2V0Q2FuQmVnaW5GcmFtZSh0cnVlKTsKICAgICBzY2hlZHVs
ZXItPnNldFZpc2libGUodHJ1ZSk7CiAKICAgICAvLyBTZXROZWRzQ29tbWl0IHNob3VsZCBiZWdp
biB0aGUgZnJhbWUuCkBAIC0yMDYsNiArMjA4LDcgQEAgVEVTVChDQ1NjaGVkdWxlclRlc3QsIFJl
cXVlc3RSZWRyYXdJbnNpZGVEcmF3KQogICAgIFJlZlB0cjxGYWtlQ0NUaW1lU291cmNlPiB0aW1l
U291cmNlID0gYWRvcHRSZWYobmV3IEZha2VDQ1RpbWVTb3VyY2UoKSk7CiAgICAgT3duUHRyPEND
U2NoZWR1bGVyPiBzY2hlZHVsZXIgPSBDQ1NjaGVkdWxlcjo6Y3JlYXRlKCZjbGllbnQsIGFkb3B0
UHRyKG5ldyBDQ0ZyYW1lUmF0ZUNvbnRyb2xsZXIodGltZVNvdXJjZSkpKTsKICAgICBjbGllbnQu
c2V0U2NoZWR1bGVyKHNjaGVkdWxlci5nZXQoKSk7CisgICAgc2NoZWR1bGVyLT5zZXRDYW5CZWdp
bkZyYW1lKHRydWUpOwogICAgIHNjaGVkdWxlci0+c2V0VmlzaWJsZSh0cnVlKTsKIAogICAgIHNj
aGVkdWxlci0+c2V0TmVlZHNSZWRyYXcoKTsKQEAgLTIzMSw2ICsyMzQsNyBAQCBURVNUKENDU2No
ZWR1bGVyVGVzdCwgUmVxdWVzdFJlZHJhd0luc2lkZUZhaWxlZERyYXcpCiAgICAgUmVmUHRyPEZh
a2VDQ1RpbWVTb3VyY2U+IHRpbWVTb3VyY2UgPSBhZG9wdFJlZihuZXcgRmFrZUNDVGltZVNvdXJj
ZSgpKTsKICAgICBPd25QdHI8Q0NTY2hlZHVsZXI+IHNjaGVkdWxlciA9IENDU2NoZWR1bGVyOjpj
cmVhdGUoJmNsaWVudCwgYWRvcHRQdHIobmV3IENDRnJhbWVSYXRlQ29udHJvbGxlcih0aW1lU291
cmNlKSkpOwogICAgIGNsaWVudC5zZXRTY2hlZHVsZXIoc2NoZWR1bGVyLmdldCgpKTsKKyAgICBz
Y2hlZHVsZXItPnNldENhbkJlZ2luRnJhbWUodHJ1ZSk7CiAgICAgc2NoZWR1bGVyLT5zZXRWaXNp
YmxlKHRydWUpOwogICAgIGNsaWVudC5zZXREcmF3V2lsbEhhcHBlbihmYWxzZSk7CiAKQEAgLTMw
Miw2ICszMDYsNyBAQCBURVNUKENDU2NoZWR1bGVyVGVzdCwgUmVxdWVzdENvbW1pdEluc2lkZURy
YXcpCiAgICAgUmVmUHRyPEZha2VDQ1RpbWVTb3VyY2U+IHRpbWVTb3VyY2UgPSBhZG9wdFJlZihu
ZXcgRmFrZUNDVGltZVNvdXJjZSgpKTsKICAgICBPd25QdHI8Q0NTY2hlZHVsZXI+IHNjaGVkdWxl
ciA9IENDU2NoZWR1bGVyOjpjcmVhdGUoJmNsaWVudCwgYWRvcHRQdHIobmV3IENDRnJhbWVSYXRl
Q29udHJvbGxlcih0aW1lU291cmNlKSkpOwogICAgIGNsaWVudC5zZXRTY2hlZHVsZXIoc2NoZWR1
bGVyLmdldCgpKTsKKyAgICBzY2hlZHVsZXItPnNldENhbkJlZ2luRnJhbWUodHJ1ZSk7CiAgICAg
c2NoZWR1bGVyLT5zZXRWaXNpYmxlKHRydWUpOwogCiAgICAgc2NoZWR1bGVyLT5zZXROZWVkc1Jl
ZHJhdygpOwpAQCAtMzI4LDYgKzMzMyw3IEBAIFRFU1QoQ0NTY2hlZHVsZXJUZXN0LCBSZXF1ZXN0
Q29tbWl0SW5zaWRlRmFpbGVkRHJhdykKICAgICBSZWZQdHI8RmFrZUNDVGltZVNvdXJjZT4gdGlt
ZVNvdXJjZSA9IGFkb3B0UmVmKG5ldyBGYWtlQ0NUaW1lU291cmNlKCkpOwogICAgIE93blB0cjxD
Q1NjaGVkdWxlcj4gc2NoZWR1bGVyID0gQ0NTY2hlZHVsZXI6OmNyZWF0ZSgmY2xpZW50LCBhZG9w
dFB0cihuZXcgQ0NGcmFtZVJhdGVDb250cm9sbGVyKHRpbWVTb3VyY2UpKSk7CiAgICAgY2xpZW50
LnNldFNjaGVkdWxlcihzY2hlZHVsZXIuZ2V0KCkpOworICAgIHNjaGVkdWxlci0+c2V0Q2FuQmVn
aW5GcmFtZSh0cnVlKTsKICAgICBzY2hlZHVsZXItPnNldFZpc2libGUodHJ1ZSk7CiAgICAgY2xp
ZW50LnNldERyYXdXaWxsSGFwcGVuKGZhbHNlKTsKIApAQCAtMzY5LDYgKzM3NSw3IEBAIFRFU1Qo
Q0NTY2hlZHVsZXJUZXN0LCBOb0JlZ2luRnJhbWVXaGVuRHJhd0ZhaWxzKQogICAgIEZha2VDQ0Zy
YW1lUmF0ZUNvbnRyb2xsZXIqIGNvbnRyb2xsZXJQdHIgPSBjb250cm9sbGVyLmdldCgpOwogICAg
IE93blB0cjxDQ1NjaGVkdWxlcj4gc2NoZWR1bGVyID0gQ0NTY2hlZHVsZXI6OmNyZWF0ZSgmY2xp
ZW50LCBjb250cm9sbGVyLnJlbGVhc2UoKSk7CiAgICAgY2xpZW50LnNldFNjaGVkdWxlcihzY2hl
ZHVsZXIuZ2V0KCkpOworICAgIHNjaGVkdWxlci0+c2V0Q2FuQmVnaW5GcmFtZSh0cnVlKTsKICAg
ICBzY2hlZHVsZXItPnNldFZpc2libGUodHJ1ZSk7CiAKICAgICBFWFBFQ1RfRVEoMCwgY29udHJv
bGxlclB0ci0+bnVtRnJhbWVzUGVuZGluZygpKTsK
</data>
<flag name="review"
          id="142975"
          type_id="1"
          status="+"
          setter="enne"
    />
          </attachment>
      

    </bug>

</bugzilla>