<?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>43633</bug_id>
          
          <creation_ts>2010-08-06 11:58:21 -0700</creation_ts>
          <short_desc>Factor an AsyncScriptRunner out of Document</short_desc>
          <delta_ts>2010-08-06 15:10: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>Other</rep_platform>
          <op_sys>OS X 10.5</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>
          
          <blocked>20710</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Tony Gentilcore">tonyg</reporter>
          <assigned_to name="Tony Gentilcore">tonyg</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>261381</commentid>
    <comment_count>0</comment_count>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2010-08-06 11:58:21 -0700</bug_when>
    <thetext>Factor an AsyncScriptRunner out of Document</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261385</commentid>
    <comment_count>1</comment_count>
      <attachid>63749</attachid>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2010-08-06 12:05:14 -0700</bug_when>
    <thetext>Created attachment 63749
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261387</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-06 12:06:45 -0700</bug_when>
    <thetext>Attachment 63749 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebCore/dom/Document.h:51:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 1 in 14 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>261388</commentid>
    <comment_count>3</comment_count>
      <attachid>63749</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-08-06 12:08:46 -0700</bug_when>
    <thetext>Comment on attachment 63749
Patch

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261389</commentid>
    <comment_count>4</comment_count>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2010-08-06 12:09:11 -0700</bug_when>
    <thetext>&gt; WebCore/dom/Document.h:51:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
This is unavoidable. I added a forward decl in Document.h which is already indented.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261472</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-08-06 14:35:45 -0700</bug_when>
    <thetext>&gt; This is unavoidable. I added a forward decl in Document.h which is already indented.

At some point we should bit the bullet and reformat this header.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261479</commentid>
    <comment_count>6</comment_count>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2010-08-06 14:38:32 -0700</bug_when>
    <thetext>&gt; At some point we should bit the bullet and reformat this header.

After this lands I&apos;ll put together a patch to fix all the style violations in Document.h.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261514</commentid>
    <comment_count>7</comment_count>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2010-08-06 15:10:51 -0700</bug_when>
    <thetext>Committed r64873: &lt;http://trac.webkit.org/changeset/64873&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63749</attachid>
            <date>2010-08-06 12:05:14 -0700</date>
            <delta_ts>2010-08-06 12:08:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-43633-20100806120512.patch</filename>
            <type>text/plain</type>
            <size>21538</size>
            <attacher name="Tony Gentilcore">tonyg</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5tayBiL1dlYkNvcmUvQW5kcm9pZC5tawppbmRl
eCBkN2M3MDI5ZWEzODQwZjZkMGJhYjY1MDNiMTEzMTQ3NDIyN2E4ZDU1Li5lM2VhYmJlYjgwOWU5
MTQzZDg2OTY4OWE0NTlhYzQ4YWRmNjhhZDI4IDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQu
bWsKKysrIGIvV2ViQ29yZS9BbmRyb2lkLm1rCkBAIC05OCw2ICs5OCw3IEBAIExPQ0FMX1NSQ19G
SUxFUyA6PSAkKExPQ0FMX1NSQ19GSUxFUykgXAogCWNzcy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1
ZS5jcHAgXAogCVwKIAlkb20vQWN0aXZlRE9NT2JqZWN0LmNwcCBcCisJZG9tL0FzeW5jU2NyaXB0
UnVubmVyLmNwcCBcCiAJZG9tL0F0dHIuY3BwIFwKIAlkb20vQXR0cmlidXRlLmNwcCBcCiAJZG9t
L0JlZm9yZVRleHRJbnNlcnRlZEV2ZW50LmNwcCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0IGIvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAwNDE2MWJjYjg2ZTVhODc4
ZDNmNjdhMWU2NTg3NmI2YzM5OTkxNzgwLi4xYjE0ODk5ODI2MDJiZjY1Yzg3OGM4ZDVmZGI2NzFi
NDliMTEyZDk0IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKQEAgLTc3Myw2ICs3NzMsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VT
CiAgICAgY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcAogCiAgICAgZG9tL0FjdGl2ZURP
TU9iamVjdC5jcHAKKyAgICBkb20vQXN5bmNTY3JpcHRSdW5uZXIuY3BwCiAgICAgZG9tL0F0dHIu
Y3BwCiAgICAgZG9tL0F0dHJpYnV0ZS5jcHAKICAgICBkb20vQmVmb3JlVGV4dEluc2VydGVkRXZl
bnQuY3BwCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9n
CmluZGV4IGM5YjZlMzYwMmYzNjQyODFjN2M0YjBhZWJhZDM3MjUyZGJlN2E5ZGQuLmU1ZTcwMWYx
ZTJhMjM5MzEzZjhiZWIyMDBhMTg3M2UyZDgwNTAzMGIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDYgQEAKKzIwMTAtMDgt
MDYgIFRvbnkgR2VudGlsY29yZSAgPHRvbnlnQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGYWN0b3IgYW4gQXN5bmNTY3JpcHRS
dW5uZXIgb3V0IG9mIERvY3VtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD00MzYzMworCisgICAgICAgIFRoaXMgY29waWVzIHRoZSBleGlzdGluZyBp
bXBsZW1lbnRhdGlvbiBleGFjdGx5LiBJbiB0aGUgZnV0dXJlCisgICAgICAgIHRoaXMgd2lsbCB1
c2UgUGVuZGluZ1NjcmlwdCB3aGljaCBoYW5kbGVzIHJlZiBjb3VudGluZyB3aXRob3V0CisgICAg
ICAgIHRoZSBuZWVkIGZvciB0aG9zZSBtYW51YWwgcmVmKCkvZGVyZWYoKXMuIFRoaXMgaXMgYWxz
byBjdXJyZW50bHkKKyAgICAgICAgYSB0cml2aWFsIGNsYXNzLCBidXQgYSBsaXR0bGUgbW9yZSBs
b2dpYyB3aWxsIGJlIGFkZGVkIHRvIGl0IHRvCisgICAgICAgIHN1cHBvcnQgPHNjcmlwdCBhc3lu
Yz4uCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2Ugbm8gbmV3IGZ1bmN0aW9uYWxpdHku
CisKKyAgICAgICAgKiBBbmRyb2lkLm1rOgorICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAg
ICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAg
KiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoK
KyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
ZG9tL0FzeW5jU2NyaXB0UnVubmVyLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpBc3lu
Y1NjcmlwdFJ1bm5lcjo6QXN5bmNTY3JpcHRSdW5uZXIpOgorICAgICAgICAoV2ViQ29yZTo6QXN5
bmNTY3JpcHRSdW5uZXI6On5Bc3luY1NjcmlwdFJ1bm5lcik6CisgICAgICAgIChXZWJDb3JlOjpB
c3luY1NjcmlwdFJ1bm5lcjo6ZXhlY3V0ZVNjcmlwdFNvb24pOgorICAgICAgICAoV2ViQ29yZTo6
QXN5bmNTY3JpcHRSdW5uZXI6OnN1c3BlbmQpOgorICAgICAgICAoV2ViQ29yZTo6QXN5bmNTY3Jp
cHRSdW5uZXI6OnJlc3VtZSk6CisgICAgICAgIChXZWJDb3JlOjpBc3luY1NjcmlwdFJ1bm5lcjo6
dGltZXJGaXJlZCk6CisgICAgICAgICogZG9tL0FzeW5jU2NyaXB0UnVubmVyLmg6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6QXN5bmNTY3JpcHRSdW5uZXI6OmNyZWF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpBc3luY1NjcmlwdFJ1bm5lcjo6aGFzUGVuZGluZ1NjcmlwdHMpOgorICAgICAgICAq
IGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6RG9jdW1lbnQp
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6On5Eb2N1bWVudCk6CisgICAgICAgICogZG9t
L0RvY3VtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6YXN5bmNTY3JpcHRSdW5u
ZXIpOgorICAgICAgICAqIGRvbS9TY3JpcHRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNjcmlwdEVsZW1lbnREYXRhOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgICogcGFnZS9QYWdl
R3JvdXBMb2FkRGVmZXJyZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUdyb3VwTG9hZERl
ZmVycmVyOjpQYWdlR3JvdXBMb2FkRGVmZXJyZXIpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUdy
b3VwTG9hZERlZmVycmVyOjp+UGFnZUdyb3VwTG9hZERlZmVycmVyKToKKwogMjAxMC0wOC0wNCAg
WmhlbnlhbyBNbyAgPHptb0Bnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERpbWl0
cmkgR2xhemtvdi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmFtCmluZGV4IDRhZTU5YWNjOTNjZmQ5OGI2NjJiMjVlMTgyZmVlNjA1YjUx
OTNiMjguLmJlN2E3OTFhYTYyMzExNmMzZDMxMzBiZmVmOGE4OWUxOGIwZGY0OGQgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpA
QCAtOTY5LDYgKzk2OSw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9jc3MvV2Vi
S2l0Q1NTVHJhbnNmb3JtVmFsdWUuaCBcCiAJV2ViQ29yZS9kb20vQWN0aXZlRE9NT2JqZWN0LmNw
cCBcCiAJV2ViQ29yZS9kb20vQWN0aXZlRE9NT2JqZWN0LmggXAorCVdlYkNvcmUvZG9tL0FzeW5j
U2NyaXB0UnVubmVyLmNwcCBcCisJV2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuaCBcCiAJ
V2ViQ29yZS9kb20vQXR0ci5jcHAgXAogCVdlYkNvcmUvZG9tL0F0dHIuaCBcCiAJV2ViQ29yZS9k
b20vQXR0cmlidXRlLmNwcCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1dl
YkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDk2ODRjNjJhNDVkZjM4YzdmMDU1ZTRiMGY1ZjQ1OGYz
ODhiZTEwY2MuLjMwYWI3NWY2ZjFkZjg0NDgxMDA1YzI4YjY0YjFmZDVlN2JhNjhlM2QgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBA
IC0xMDc1LDYgKzEwNzUsOCBAQAogICAgICAgICAgICAgJ2RvbS9kZWZhdWx0L1BsYXRmb3JtTWVz
c2FnZVBvcnRDaGFubmVsLmgnLAogICAgICAgICAgICAgJ2RvbS9BY3RpdmVET01PYmplY3QuY3Bw
JywKICAgICAgICAgICAgICdkb20vQWN0aXZlRE9NT2JqZWN0LmgnLAorICAgICAgICAgICAgJ2Rv
bS9Bc3luY1NjcmlwdFJ1bm5lci5jcHAnLAorICAgICAgICAgICAgJ2RvbS9Bc3luY1NjcmlwdFJ1
bm5lci5oJywKICAgICAgICAgICAgICdkb20vQXR0ci5jcHAnLAogICAgICAgICAgICAgJ2RvbS9B
dHRyLmgnLAogICAgICAgICAgICAgJ2RvbS9BdHRyaWJ1dGUuY3BwJywKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvV2ViQ29yZS5wcm8gYi9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IDdhZGRmYTFkZGI5
NTc1YzA0YzcxYmYxNzg2NzcyOTU0OGU3YzkxMDguLjZlMWE3OWJjN2ZlOWRhZGQzZGRiYmM1NjYy
NDA5ZjYyN2Y3OGI4YjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvV2Vi
Q29yZS9XZWJDb3JlLnBybwpAQCAtNDU5LDYgKzQ1OSw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGNz
cy9XZWJLaXRDU1NNYXRyaXguY3BwIFwKICAgICBjc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUu
Y3BwIFwKICAgICBkb20vQWN0aXZlRE9NT2JqZWN0LmNwcCBcCisgICAgZG9tL0FzeW5jU2NyaXB0
UnVubmVyLmNwcCBcCiAgICAgZG9tL0F0dHIuY3BwIFwKICAgICBkb20vQXR0cmlidXRlLmNwcCBc
CiAgICAgZG9tL0JlZm9yZVByb2Nlc3NFdmVudC5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2oKaW5kZXggYmI5YTJjOTJjODg2OGFjMmY2YmFiYTg5NjU0NmY4NGUwNWY0MTU3
Mi4uOTk1YTNkNWJkZjZjYzdkMTdmZTRiMWM5MDU1YTY4MGZmMGM2MDI0YyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9XZWJDb3JlL1dlYkNv
cmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0zMjUyOSw2ICszMjUyOSwxNCBAQAogCQkJCT4N
CiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cQXN5bmNT
Y3JpcHRSdW5uZXIuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJl
bGF0aXZlUGF0aD0iLi5cZG9tXEFzeW5jU2NyaXB0UnVubmVyLmgiDQorCQkJCT4NCisJCQk8L0Zp
bGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cQXR0ci5jcHAiDQogCQkJ
CT4NCiAJCQk8L0ZpbGU+DQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCA0MzdmNzEzMDYyNDNlOGVlZjBhNzU1ZWZmNDBmZDQ5M2VjODc5YzAzLi5hY2M4YjEz
NWYyZGUxZDhmNDY1YTA5ODZmNjgxN2EzOTg5OWNhNTU4IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjM1Niw2ICsyMzU2LDggQEAKIAkJODlDRDAyOTMx
MUM4NUI4NzAwNzBCNzkxIC8qIEpTQmxvYkJ1aWxkZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODlDRDAyOTExMUM4NUI4NzAwNzBCNzkxIC8qIEpT
QmxvYkJ1aWxkZXIuY3BwICovOyB9OwogCQk4OUNEMDI5NDExQzg1Qjg3MDA3MEI3OTEgLyogSlNC
bG9iQnVpbGRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gODlDRDAyOTIxMUM4NUI4NzAwNzBCNzkxIC8qIEpTQmxvYkJ1aWxkZXIuaCAqLzsgfTsKIAkJ
OEExMkUzNUQxMUZBMzMyODAwMjU4MzZBIC8qIERvY3VtZW50TG9hZFRpbWluZy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEExMkUzNUMxMUZBMzMyODAw
MjU4MzZBIC8qIERvY3VtZW50TG9hZFRpbWluZy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCThBNDEzQUUwMTIwN0JCQTUwMDgyMDE2RSAvKiBBc3lu
Y1NjcmlwdFJ1bm5lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOEE0MTNBREUxMjA3QkJBNTAwODIwMTZFIC8qIEFzeW5jU2NyaXB0UnVubmVyLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOEE0MTNBRTEx
MjA3QkJBNTAwODIwMTZFIC8qIEFzeW5jU2NyaXB0UnVubmVyLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhBNDEzQURGMTIwN0JCQTUwMDgyMDE2RSAv
KiBBc3luY1NjcmlwdFJ1bm5lci5jcHAgKi87IH07CiAJCThBN0NDOTZCMTIwNzZENzMwMDFENDU4
OCAvKiBQZW5kaW5nU2NyaXB0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4QTdDQzk2QTEyMDc2RDczMDAxRDQ1ODggLyogUGVuZGluZ1NjcmlwdC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCThBN0NDOTcw
MTIwNzZGOEEwMDFENDU4OCAvKiBQZW5kaW5nU2NyaXB0LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhBN0NDOTZGMTIwNzZGOEEwMDFENDU4OCAvKiBQ
ZW5kaW5nU2NyaXB0LmNwcCAqLzsgfTsKIAkJOEE4MUJGODUxMURDRkQ5MDAwREEyQjk4IC8qIFJl
c291cmNlTG9hZFRpbWluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOEE4MUJGODQxMURDRkQ5MDAwREEyQjk4IC8qIFJlc291cmNlTG9hZFRpbWluZy5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC04MTU5
LDYgKzgxNjEsOCBAQAogCQk4OUNEMDI5MTExQzg1Qjg3MDA3MEI3OTEgLyogSlNCbG9iQnVpbGRl
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Jsb2JCdWlsZGVy
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODlDRDAyOTIxMUM4NUI4NzAwNzBC
NzkxIC8qIEpTQmxvYkJ1aWxkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNCbG9iQnVpbGRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4QTEyRTM1QzEx
RkEzMzI4MDAyNTgzNkEgLyogRG9jdW1lbnRMb2FkVGltaW5nLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IERvY3VtZW50TG9hZFRpbWluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk4QTQxM0FERTEyMDdCQkE1MDA4MjAxNkUgLyogQXN5bmNTY3JpcHRSdW5uZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXN5bmNTY3JpcHRSdW5uZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOEE0MTNBREYxMjA3QkJBNTAwODIwMTZFIC8q
IEFzeW5jU2NyaXB0UnVubmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEFzeW5jU2NyaXB0UnVubmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
OEE3Q0M5NkExMjA3NkQ3MzAwMUQ0NTg4IC8qIFBlbmRpbmdTY3JpcHQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUGVuZGluZ1NjcmlwdC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk4QTdDQzk2RjEyMDc2RjhBMDAxRDQ1ODggLyogUGVuZGluZ1NjcmlwdC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZW5kaW5nU2NyaXB0LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOEE4MUJGODQxMURDRkQ5MDAwREEyQjk4IC8q
IFJlc291cmNlTG9hZFRpbWluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBS
ZXNvdXJjZUxvYWRUaW1pbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3MDgx
LDYgKzE3MDg1LDggQEAKIAkJCWNoaWxkcmVuID0gKAogCQkJCUUxQzRERTZEMEVBNzVDNjUwMDIz
Q0NENiAvKiBBY3RpdmVET01PYmplY3QuY3BwICovLAogCQkJCUUxQzRERTY4MEVBNzVDMUUwMDIz
Q0NENiAvKiBBY3RpdmVET01PYmplY3QuaCAqLywKKwkJCQk4QTQxM0FERTEyMDdCQkE1MDA4MjAx
NkUgLyogQXN5bmNTY3JpcHRSdW5uZXIuaCAqLywKKwkJCQk4QTQxM0FERjEyMDdCQkE1MDA4MjAx
NkUgLyogQXN5bmNTY3JpcHRSdW5uZXIuY3BwICovLAogCQkJCUE4QzRBN0ZDMDlENTYzMjcwMDAz
QUM4RCAvKiBBdHRyLmNwcCAqLywKIAkJCQlBOEM0QTdGQjA5RDU2MzI3MDAwM0FDOEQgLyogQXR0
ci5oICovLAogCQkJCTkzRUVDMUU1MDlDMjg3NzcwMEM1MTVEMSAvKiBBdHRyLmlkbCAqLywKQEAg
LTIwMDgyLDYgKzIwMDg4LDcgQEAKIAkJCQkzMUZCMUE1RDEyMEE1RDA2MDBEQzAyQTAgLyogRGV2
aWNlTW90aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxRkIxQTY2MTIwQTVEM0YwMERD
MDJBMCAvKiBKU0RldmljZU1vdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk4QTdDQzk2
QjEyMDc2RDczMDAxRDQ1ODggLyogUGVuZGluZ1NjcmlwdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
OEE0MTNBRTAxMjA3QkJBNTAwODIwMTZFIC8qIEFzeW5jU2NyaXB0UnVubmVyLmggaW4gSGVhZGVy
cyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsK
IAkJfTsKQEAgLTIyNDk4LDYgKzIyNTA1LDcgQEAKIAkJCQkzMUZCMUE2NTEyMEE1RDNGMDBEQzAy
QTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMUZCMUE2
QzEyMEE1RDY5MDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk4QTdDQzk3MDEyMDc2RjhBMDAxRDQ1ODggLyogUGVuZGluZ1NjcmlwdC5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQk4QTQxM0FFMTEyMDdCQkE1MDA4MjAxNkUgLyogQXN5bmNT
Y3JpcHRSdW5uZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxv
eW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9B
c3luY1NjcmlwdFJ1bm5lci5jcHAgYi9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOTYwMzZhMWJiOTczYmM2ODM2ODM2ZGYzODg4MTQ4ZDVkNzVmNmNlZQotLS0g
L2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmNwcApAQCAtMCww
ICsxLDg0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSwgSW5jLiBBbGwgUmln
aHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkFzeW5jU2NyaXB0UnVubmVyLmgiCisK
KyNpbmNsdWRlICJDYWNoZWRTY3JpcHQuaCIKKyNpbmNsdWRlICJFbGVtZW50LmgiCisjaW5jbHVk
ZSAiU2NyaXB0RWxlbWVudC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0FzeW5jU2NyaXB0
UnVubmVyOjpBc3luY1NjcmlwdFJ1bm5lcigpCisgICAgOiBtX3RpbWVyKHRoaXMsICZBc3luY1Nj
cmlwdFJ1bm5lcjo6dGltZXJGaXJlZCkKK3sKK30KKworQXN5bmNTY3JpcHRSdW5uZXI6On5Bc3lu
Y1NjcmlwdFJ1bm5lcigpCit7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX3NjcmlwdHNU
b0V4ZWN1dGVTb29uLnNpemUoKTsgKytpKQorICAgICAgICAgbV9zY3JpcHRzVG9FeGVjdXRlU29v
bltpXS5maXJzdC0+ZWxlbWVudCgpLT5kZXJlZigpOyAvLyBCYWxhbmNlcyByZWYoKSBpbiBleGVj
dXRlU2NyaXB0U29vbigpLgorfQorCit2b2lkIEFzeW5jU2NyaXB0UnVubmVyOjpleGVjdXRlU2Ny
aXB0U29vbihTY3JpcHRFbGVtZW50RGF0YSogZGF0YSwgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2Fj
aGVkU2NyaXB0PiBjYWNoZWRTY3JpcHQpCit7CisgICAgQVNTRVJUX0FSRyhkYXRhLCBkYXRhKTsK
KworICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBkYXRhLT5lbGVtZW50KCk7CisgICAgQVNTRVJUKGVs
ZW1lbnQpOworICAgIEFTU0VSVChlbGVtZW50LT5pbkRvY3VtZW50KCkpOworCisgICAgbV9zY3Jp
cHRzVG9FeGVjdXRlU29vbi5hcHBlbmQobWFrZV9wYWlyKGRhdGEsIGNhY2hlZFNjcmlwdCkpOwor
ICAgIGVsZW1lbnQtPnJlZigpOyAvLyBCYWxhbmNlZCBieSBkZXJlZigpcyBpbiB0aW1lckZpcmVk
KCkgYW5kIGR0b3IuCisgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCisgICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KDApOworfQorCit2b2lkIEFzeW5jU2NyaXB0UnVubmVyOjpzdXNwZW5k
KCkKK3sKKyAgICBtX3RpbWVyLnN0b3AoKTsKK30KKwordm9pZCBBc3luY1NjcmlwdFJ1bm5lcjo6
cmVzdW1lKCkKK3sKKyAgICBpZiAoaGFzUGVuZGluZ1NjcmlwdHMoKSkKKyAgICAgICAgbV90aW1l
ci5zdGFydE9uZVNob3QoMCk7Cit9CisKK3ZvaWQgQXN5bmNTY3JpcHRSdW5uZXI6OnRpbWVyRmly
ZWQoVGltZXI8QXN5bmNTY3JpcHRSdW5uZXI+KiB0aW1lcikKK3sKKyAgICBBU1NFUlRfVU5VU0VE
KHRpbWVyLCB0aW1lciA9PSAmbV90aW1lcik7CisKKyAgICBWZWN0b3I8cGFpcjxTY3JpcHRFbGVt
ZW50RGF0YSosIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNjcmlwdD4gPiA+IHNjcmlwdHM7
CisgICAgc2NyaXB0cy5zd2FwKG1fc2NyaXB0c1RvRXhlY3V0ZVNvb24pOworICAgIHNpemVfdCBz
aXplID0gc2NyaXB0cy5zaXplKCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzaXplOyAr
K2kpIHsKKyAgICAgICAgc2NyaXB0c1tpXS5maXJzdC0+ZXhlY3V0ZShzY3JpcHRzW2ldLnNlY29u
ZC5nZXQoKSk7CisgICAgICAgIHNjcmlwdHNbaV0uZmlyc3QtPmVsZW1lbnQoKS0+ZGVyZWYoKTsg
Ly8gQmFsYW5jZXMgcmVmKCkgaW4gZXhlY3V0ZVNjcmlwdFNvb24oKS4KKyAgICB9Cit9CisKK30K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmggYi9XZWJDb3JlL2Rv
bS9Bc3luY1NjcmlwdFJ1bm5lci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhiNzVlMDY5NDk2ODY4YWYzN2MzNjRm
NGFlNzc1ZWFiYjFiNmRkMjYKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2RvbS9Bc3luY1Nj
cmlwdFJ1bm5lci5oCkBAIC0wLDAgKzEsNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAg
R29vZ2xlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIEFzeW5jU2NyaXB0UnVubmVyX2gKKyNkZWZp
bmUgQXN5bmNTY3JpcHRSdW5uZXJfaAorCisjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUu
aCIKKyNpbmNsdWRlICJUaW1lci5oIgorI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorI2lu
Y2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIENhY2hlZFNjcmlwdDsKK2NsYXNzIFNjcmlwdEVsZW1l
bnREYXRhOworICAgIAorY2xhc3MgQXN5bmNTY3JpcHRSdW5uZXIgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzT3duUHRyPEFzeW5jU2NyaXB0UnVubmVyPiBj
cmVhdGUoKSB7IHJldHVybiBuZXcgQXN5bmNTY3JpcHRSdW5uZXIoKTsgfQorICAgIH5Bc3luY1Nj
cmlwdFJ1bm5lcigpOworCisgICAgdm9pZCBleGVjdXRlU2NyaXB0U29vbihTY3JpcHRFbGVtZW50
RGF0YSosIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNjcmlwdD4pOworICAgIGJvb2wgaGFz
UGVuZGluZ1NjcmlwdHMoKSBjb25zdCB7IHJldHVybiAhbV9zY3JpcHRzVG9FeGVjdXRlU29vbi5p
c0VtcHR5KCk7IH0KKyAgICB2b2lkIHN1c3BlbmQoKTsKKyAgICB2b2lkIHJlc3VtZSgpOworCitw
cml2YXRlOgorICAgIEFzeW5jU2NyaXB0UnVubmVyKCk7CisKKyAgICB2b2lkIHRpbWVyRmlyZWQo
VGltZXI8QXN5bmNTY3JpcHRSdW5uZXI+Kik7CisKKyAgICBWZWN0b3I8c3RkOjpwYWlyPFNjcmlw
dEVsZW1lbnREYXRhKiwgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkU2NyaXB0PiA+ID4gbV9z
Y3JpcHRzVG9FeGVjdXRlU29vbjsKKyAgICBUaW1lcjxBc3luY1NjcmlwdFJ1bm5lcj4gbV90aW1l
cjsKK307CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggODQ5M2IwZmJlM2FjM2M1Y2UxMTBj
ZDU0YTk1Njg3MDQ0NDNkZWFmMS4uODZmMzI5Yjc5MWE1ZjcwYjdkNGJjYWFlZjI1NmRhZmViNDE3
OGVmOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiQVhPYmplY3RD
YWNoZS5oIgogI2luY2x1ZGUgIkFuaW1hdGlvbkNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJBc3lu
Y1NjcmlwdFJ1bm5lci5oIgogI2luY2x1ZGUgIkF0dHIuaCIKICNpbmNsdWRlICJBdHRyaWJ1dGUu
aCIKICNpbmNsdWRlICJDREFUQVNlY3Rpb24uaCIKQEAgLTM3Myw3ICszNzQsNyBAQCBEb2N1bWVu
dDo6RG9jdW1lbnQoRnJhbWUqIGZyYW1lLCBjb25zdCBLVVJMJiB1cmwsIGJvb2wgaXNYSFRNTCwg
Ym9vbCBpc0hUTUwpCiAgICAgLCBtX3N0YXJ0VGltZShjdXJyZW50VGltZSgpKQogICAgICwgbV9v
dmVyTWluaW11bUxheW91dFRocmVzaG9sZChmYWxzZSkKICAgICAsIG1fZXh0cmFMYXlvdXREZWxh
eSgwKQotICAgICwgbV9leGVjdXRlU2NyaXB0U29vblRpbWVyKHRoaXMsICZEb2N1bWVudDo6ZXhl
Y3V0ZVNjcmlwdFNvb25UaW1lckZpcmVkKQorICAgICwgbV9hc3luY1NjcmlwdFJ1bm5lcihBc3lu
Y1NjcmlwdFJ1bm5lcjo6Y3JlYXRlKCkpCiAgICAgLCBtX3htbFZlcnNpb24oIjEuMCIpCiAgICAg
LCBtX3htbFN0YW5kYWxvbmUoZmFsc2UpCiAjaWYgRU5BQkxFKFhCTCkKQEAgLTUyMiw5ICs1MjMs
NiBAQCBEb2N1bWVudDo6fkRvY3VtZW50KCkKICAgICBBU1NFUlQobV9yYW5nZXMuaXNFbXB0eSgp
KTsKICAgICBBU1NFUlQoIW1fc3R5bGVSZWNhbGNUaW1lci5pc0FjdGl2ZSgpKTsKIAotICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9zY3JpcHRzVG9FeGVjdXRlU29vbi5zaXplKCk7ICsraSkK
LSAgICAgICAgbV9zY3JpcHRzVG9FeGVjdXRlU29vbltpXS5maXJzdC0+ZWxlbWVudCgpLT5kZXJl
ZigpOyAvLyBCYWxhbmNlcyByZWYoKSBpbiBleGVjdXRlU2NyaXB0U29vbigpLgotCiAgICAgcmVt
b3ZlQWxsRXZlbnRMaXN0ZW5lcnMoKTsKIAogI2lmIFVTRShKU0MpCkBAIC00ODMxLDQ1ICs0ODI5
LDYgQEAgdm9pZCBEb2N1bWVudDo6dXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXJGaXJlZChUaW1l
cjxEb2N1bWVudD4qKQogICAgICAgICBlbGVtZW50LT51cGRhdGVGb2N1c0FwcGVhcmFuY2UobV91
cGRhdGVGb2N1c0FwcGVhcmFuY2VSZXN0b3Jlc1NlbGVjdGlvbik7CiB9CiAKLXZvaWQgRG9jdW1l
bnQ6OmV4ZWN1dGVTY3JpcHRTb29uVGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4qIHRpbWVyKQot
ewotICAgIEFTU0VSVF9VTlVTRUQodGltZXIsIHRpbWVyID09ICZtX2V4ZWN1dGVTY3JpcHRTb29u
VGltZXIpOwotCi0gICAgVmVjdG9yPHBhaXI8U2NyaXB0RWxlbWVudERhdGEqLCBDYWNoZWRSZXNv
dXJjZUhhbmRsZTxDYWNoZWRTY3JpcHQ+ID4gPiBzY3JpcHRzOwotICAgIHNjcmlwdHMuc3dhcCht
X3NjcmlwdHNUb0V4ZWN1dGVTb29uKTsKLSAgICBzaXplX3Qgc2l6ZSA9IHNjcmlwdHMuc2l6ZSgp
OwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc2l6ZTsgKytpKSB7Ci0gICAgICAgIHNjcmlw
dHNbaV0uZmlyc3QtPmV4ZWN1dGUoc2NyaXB0c1tpXS5zZWNvbmQuZ2V0KCkpOwotICAgICAgICBz
Y3JpcHRzW2ldLmZpcnN0LT5lbGVtZW50KCktPmRlcmVmKCk7IC8vIEJhbGFuY2VzIHJlZigpIGlu
IGV4ZWN1dGVTY3JpcHRTb29uKCkuCi0gICAgfQotfQotCi12b2lkIERvY3VtZW50OjpleGVjdXRl
U2NyaXB0U29vbihTY3JpcHRFbGVtZW50RGF0YSogZGF0YSwgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8
Q2FjaGVkU2NyaXB0PiBjYWNoZWRTY3JpcHQpCi17Ci0gICAgQVNTRVJUX0FSRyhkYXRhLCBkYXRh
KTsKLQotICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBkYXRhLT5lbGVtZW50KCk7Ci0gICAgQVNTRVJU
KGVsZW1lbnQpOwotICAgIEFTU0VSVChlbGVtZW50LT5kb2N1bWVudCgpID09IHRoaXMpOwotICAg
IEFTU0VSVChlbGVtZW50LT5pbkRvY3VtZW50KCkpOwotCi0gICAgbV9zY3JpcHRzVG9FeGVjdXRl
U29vbi5hcHBlbmQobWFrZV9wYWlyKGRhdGEsIGNhY2hlZFNjcmlwdCkpOwotICAgIGVsZW1lbnQt
PnJlZigpOyAvLyBCYWxhbmNlZCBieSBkZXJlZigpcyBpbiBleGVjdXRlU2NyaXB0U29vblRpbWVy
RmlyZWQoKSBhbmQgfkRvY3VtZW50KCkuCi0gICAgaWYgKCFtX2V4ZWN1dGVTY3JpcHRTb29uVGlt
ZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9leGVjdXRlU2NyaXB0U29vblRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKLX0KLQotdm9pZCBEb2N1bWVudDo6c3VzcGVuZEV4ZWN1dGVTY3JpcHRTb29uVGlt
ZXIoKQotewotICAgIG1fZXhlY3V0ZVNjcmlwdFNvb25UaW1lci5zdG9wKCk7Ci19Ci0KLXZvaWQg
RG9jdW1lbnQ6OnJlc3VtZUV4ZWN1dGVTY3JpcHRTb29uVGltZXIoKQotewotICAgIGlmICghbV9z
Y3JpcHRzVG9FeGVjdXRlU29vbi5pc0VtcHR5KCkpCi0gICAgICAgIG1fZXhlY3V0ZVNjcmlwdFNv
b25UaW1lci5zdGFydE9uZVNob3QoMCk7Ci19Ci0KIC8vIEZGIG1ldGhvZCBmb3IgYWNjZXNzaW5n
IHRoZSBzZWxlY3Rpb24gYWRkZWQgZm9yIGNvbXBhdGliaWxpdHkuCiBET01TZWxlY3Rpb24qIERv
Y3VtZW50OjpnZXRTZWxlY3Rpb24oKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20v
RG9jdW1lbnQuaCBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggOGU0MmFhZDA5ZDI1Mjc0
Yjk1NDY5ZmNlZDFjNTA1ZTdiNGVlNzdiNy4uNDYzY2VjMzY2NmY1MjJjMTMyYzhkNjYzYjE1YWJj
ZDFiOTk0OWQ4NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5oCkBAIC00OCw2ICs0OCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAorICAgIGNsYXNzIEFzeW5jU2NyaXB0UnVubmVyOwogICAgIGNsYXNzIEF0dHI7CiAgICAg
Y2xhc3MgQVhPYmplY3RDYWNoZTsKICAgICBjbGFzcyBDREFUQVNlY3Rpb247CkBAIC04NDEsMTEg
Kzg0Miw4IEBAIHB1YmxpYzoKICAgICBEb2N1bWVudCogdG9wRG9jdW1lbnQoKSBjb25zdDsKIAog
ICAgIGludCBkb2NJRCgpIGNvbnN0IHsgcmV0dXJuIG1fZG9jSUQ7IH0KLQotICAgIHZvaWQgZXhl
Y3V0ZVNjcmlwdFNvb24oU2NyaXB0RWxlbWVudERhdGEqLCBDYWNoZWRSZXNvdXJjZUhhbmRsZTxD
YWNoZWRTY3JpcHQ+KTsKLQotICAgIHZvaWQgc3VzcGVuZEV4ZWN1dGVTY3JpcHRTb29uVGltZXIo
KTsKLSAgICB2b2lkIHJlc3VtZUV4ZWN1dGVTY3JpcHRTb29uVGltZXIoKTsKKyAgICAKKyAgICBB
c3luY1NjcmlwdFJ1bm5lciogYXN5bmNTY3JpcHRSdW5uZXIoKSB7IHJldHVybiBtX2FzeW5jU2Ny
aXB0UnVubmVyLmdldCgpOyB9CiAKICNpZiBFTkFCTEUoWFNMVCkKICAgICB2b2lkIGFwcGx5WFNM
VHJhbnNmb3JtKFByb2Nlc3NpbmdJbnN0cnVjdGlvbiogcGkpOwpAQCAtMTA1MCw4ICsxMDQ4LDYg
QEAgcHJpdmF0ZToKIAogICAgIFN0cmluZyBlbmNvZGluZygpIGNvbnN0OwogCi0gICAgdm9pZCBl
eGVjdXRlU2NyaXB0U29vblRpbWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+Kik7Ci0KICAgICB2b2lk
IHVwZGF0ZVRpdGxlKCk7CiAgICAgdm9pZCB1cGRhdGVGb2N1c0FwcGVhcmFuY2VUaW1lckZpcmVk
KFRpbWVyPERvY3VtZW50PiopOwogICAgIHZvaWQgdXBkYXRlQmFzZVVSTCgpOwpAQCAtMTIwMSwx
MCArMTE5Nyw5IEBAIHByaXZhdGU6CiAgICAgLy8gdXNpbmcgc2V0RXh0cmFMYXlvdXREZWxheSB0
byBtb2RpZnkgdGhlIG1pbmltdW0gZGVsYXkgdXNlZCBhdCBkaWZmZXJlbnQKICAgICAvLyBwb2lu
dHMgZHVyaW5nIHRoZSBsaWZldGltZSBvZiB0aGUgRG9jdW1lbnQuCiAgICAgaW50IG1fZXh0cmFM
YXlvdXREZWxheTsKLQotICAgIFZlY3RvcjxzdGQ6OnBhaXI8U2NyaXB0RWxlbWVudERhdGEqLCBD
YWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRTY3JpcHQ+ID4gPiBtX3NjcmlwdHNUb0V4ZWN1dGVT
b29uOwotICAgIFRpbWVyPERvY3VtZW50PiBtX2V4ZWN1dGVTY3JpcHRTb29uVGltZXI7CiAgICAg
CisgICAgT3duUHRyPEFzeW5jU2NyaXB0UnVubmVyPiBtX2FzeW5jU2NyaXB0UnVubmVyOworCiAj
aWYgRU5BQkxFKFhTTFQpCiAgICAgT3duUHRyPFRyYW5zZm9ybVNvdXJjZT4gbV90cmFuc2Zvcm1T
b3VyY2U7CiAgICAgUmVmUHRyPERvY3VtZW50PiBtX3RyYW5zZm9ybVNvdXJjZURvY3VtZW50Owpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAgYi9XZWJDb3JlL2RvbS9T
Y3JpcHRFbGVtZW50LmNwcAppbmRleCBkYWI4ZjhjZjcyODk0MjYzMjZhODBkZTg0YjA5Yzg2Y2Q3
YzkzZjA2Li4wMjYyZTQ4YTYxZDU4N2QzOWE1MDZkYjg2N2M5MTY3YjhlNGNkNjI3IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcAorKysgYi9XZWJDb3JlL2RvbS9TY3Jp
cHRFbGVtZW50LmNwcApAQCAtMjQsNiArMjQsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2lu
Y2x1ZGUgIlNjcmlwdEVsZW1lbnQuaCIKIAorI2luY2x1ZGUgIkFzeW5jU2NyaXB0UnVubmVyLmgi
CiAjaW5jbHVkZSAiQ2FjaGVkU2NyaXB0LmgiCiAjaW5jbHVkZSAiRG9jTG9hZGVyLmgiCiAjaW5j
bHVkZSAiRG9jdW1lbnQuaCIKQEAgLTI0Niw3ICsyNDcsNyBAQCB2b2lkIFNjcmlwdEVsZW1lbnRE
YXRhOjpleGVjdXRlKENhY2hlZFNjcmlwdCogY2FjaGVkU2NyaXB0KQogdm9pZCBTY3JpcHRFbGVt
ZW50RGF0YTo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UqIG8pCiB7CiAgICAgQVNTRVJU
X1VOVVNFRChvLCBvID09IG1fY2FjaGVkU2NyaXB0KTsKLSAgICBtX2VsZW1lbnQtPmRvY3VtZW50
KCktPmV4ZWN1dGVTY3JpcHRTb29uKHRoaXMsIG1fY2FjaGVkU2NyaXB0KTsKKyAgICBtX2VsZW1l
bnQtPmRvY3VtZW50KCktPmFzeW5jU2NyaXB0UnVubmVyKCktPmV4ZWN1dGVTY3JpcHRTb29uKHRo
aXMsIG1fY2FjaGVkU2NyaXB0KTsKICAgICBtX2NhY2hlZFNjcmlwdCA9IDA7CiB9CiAKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuY3BwIGIvV2ViQ29yZS9w
YWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5jcHAKaW5kZXggY2VkOGYzNjk1MmE1MGYwYzY1NmU1
MDViMjBkNTgxNjdlNGRhM2Q0OC4uYTAxNDIyZmRlZjhhYzU1ZDQzMzI4YmUyYjhhMjc3NjA3OTY5
NGU0YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5jcHAK
KysrIGIvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5jcHAKQEAgLTIxLDYgKzIx
LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJQYWdlR3JvdXBMb2FkRGVmZXJy
ZXIuaCIKIAorI2luY2x1ZGUgIkFzeW5jU2NyaXB0UnVubmVyLmgiCiAjaW5jbHVkZSAiRnJhbWUu
aCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGFnZUdyb3VwLmgiCkBAIC00NSw3ICs0
Niw3IEBAIFBhZ2VHcm91cExvYWREZWZlcnJlcjo6UGFnZUdyb3VwTG9hZERlZmVycmVyKFBhZ2Uq
IHBhZ2UsIGJvb2wgZGVmZXJTZWxmKQogICAgICAgICAgICAgLy8gd2luZG93cyBvciBzaGVldHMs
IHdoaWNoIGlzIGV4YWN0bHkgd2hlbiBQYWdlR3JvdXBMb2FkRGVmZXJyZXIgaXMgdXNlZC4KICAg
ICAgICAgICAgIGZvciAoRnJhbWUqIGZyYW1lID0gb3RoZXJQYWdlLT5tYWluRnJhbWUoKTsgZnJh
bWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS0+dHJhdmVyc2VOZXh0KCkpIHsKICAgICAgICAgICAg
ICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+c3VzcGVuZEFjdGl2ZURPTU9iamVjdHMoKTsKLSAgICAg
ICAgICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+c3VzcGVuZEV4ZWN1dGVTY3JpcHRTb29uVGlt
ZXIoKTsKKyAgICAgICAgICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YXN5bmNTY3JpcHRSdW5u
ZXIoKS0+c3VzcGVuZCgpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQpAQCAtNjQs
NyArNjUsNyBAQCBQYWdlR3JvdXBMb2FkRGVmZXJyZXI6On5QYWdlR3JvdXBMb2FkRGVmZXJyZXIo
KQogCiAgICAgICAgICAgICBmb3IgKEZyYW1lKiBmcmFtZSA9IHBhZ2UtPm1haW5GcmFtZSgpOyBm
cmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLT50cmF2ZXJzZU5leHQoKSkgewogICAgICAgICAg
ICAgICAgIGZyYW1lLT5kb2N1bWVudCgpLT5yZXN1bWVBY3RpdmVET01PYmplY3RzKCk7Ci0gICAg
ICAgICAgICAgICAgZnJhbWUtPmRvY3VtZW50KCktPnJlc3VtZUV4ZWN1dGVTY3JpcHRTb29uVGlt
ZXIoKTsKKyAgICAgICAgICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YXN5bmNTY3JpcHRSdW5u
ZXIoKS0+cmVzdW1lKCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9Cg==
</data>
<flag name="review"
          id="52160"
          type_id="1"
          status="+"
          setter="eric"
    />
    <flag name="commit-queue"
          id="52161"
          type_id="3"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>