<?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>102733</bug_id>
          
          <creation_ts>2012-11-19 16:13:08 -0800</creation_ts>
          <short_desc>IndexedDB: remove IDBDatabaseBackendInterface::transaction()</short_desc>
          <delta_ts>2012-12-03 11:37:46 -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>WebCore Misc.</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>
          <dependson>102732</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alec Flett">alecflett</reporter>
          <assigned_to name="Alec Flett">alecflett</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dgrogan</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>jsbell</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>771157</commentid>
    <comment_count>0</comment_count>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-11-19 16:13:08 -0800</bug_when>
    <thetext>Once the backend is passing transaction ids all the way through to the backend, remove supporting code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771930</commentid>
    <comment_count>1</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-11-20 09:31:09 -0800</bug_when>
    <thetext>This issue should be about IDBDatabaseBackendInterface::transaction(), right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777060</commentid>
    <comment_count>2</comment_count>
      <attachid>176315</attachid>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-11-27 11:57:01 -0800</bug_when>
    <thetext>Created attachment 176315
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777070</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-27 12:00:51 -0800</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777089</commentid>
    <comment_count>4</comment_count>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-11-27 12:08:46 -0800</bug_when>
    <thetext>fishd@ - r? The other half of bug 102730 that you reviewed on monday</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>779483</commentid>
    <comment_count>5</comment_count>
      <attachid>176827</attachid>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-11-29 15:10:09 -0800</bug_when>
    <thetext>Created attachment 176827
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>779533</commentid>
    <comment_count>6</comment_count>
      <attachid>176835</attachid>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-11-29 15:42:00 -0800</bug_when>
    <thetext>Created attachment 176835
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780200</commentid>
    <comment_count>7</comment_count>
      <attachid>176988</attachid>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-11-30 10:12:43 -0800</bug_when>
    <thetext>Created attachment 176988
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780902</commentid>
    <comment_count>8</comment_count>
      <attachid>176988</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-02 03:10:49 -0800</bug_when>
    <thetext>Comment on attachment 176988
Patch for landing

Rejecting attachment 176988 from commit-queue.

New failing tests:
inspector-protocol/debugger-terminate-dedicated-worker-while-paused.html
Full output: http://queues.webkit.org/results/15100139</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>781685</commentid>
    <comment_count>9</comment_count>
      <attachid>177292</attachid>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-12-03 11:19:25 -0800</bug_when>
    <thetext>Created attachment 177292
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>781688</commentid>
    <comment_count>10</comment_count>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-12-03 11:19:53 -0800</bug_when>
    <thetext>I think the last test failure was a fluke. trying again..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>781710</commentid>
    <comment_count>11</comment_count>
      <attachid>177292</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-03 11:37:42 -0800</bug_when>
    <thetext>Comment on attachment 177292
Patch for landing

Clearing flags on attachment: 177292

Committed r136423: &lt;http://trac.webkit.org/changeset/136423&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>781712</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-03 11:37:46 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176315</attachid>
            <date>2012-11-27 11:57:01 -0800</date>
            <delta_ts>2012-11-29 15:10:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102733-20121127115438.patch</filename>
            <type>text/plain</type>
            <size>10469</size>
            <attacher name="Alec Flett">alecflett</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1NzIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGNhOTJkMGViNzEyMDk4
ZWQyZjg3ZDIxYjcyNTRiZTA0NDIwNmU5Ny4uY2Y0NzU0NmZkMjBjNDlhMGYyNWIwNGYzODU3ODEz
MGY4NTdmZGFhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE5IEBACiAyMDEyLTExLTI3ICBBbGVj
IEZsZXR0ICA8YWxlY2ZsZXR0QGNocm9taXVtLm9yZz4KIAorICAgICAgICBJbmRleGVkREI6IHJl
bW92ZSBJREJEYXRhYmFzZUJhY2tlbmRJbnRlcmZhY2U6OnRyYW5zYWN0aW9uKCkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjczMworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBhcnQgMyBvZiBhIHJlZmFj
dG9yLCByZW1vdmUgdGhlIG9sZCB0cmFuc2FjdGlvbigpIG1ldGhvZC4KKworICAgICAgICBObyBu
ZXcgdGVzdHMgYXMgdGhpcyBpcyBqdXN0IHBvc3QtcmVmYWN0b3IgY2xlYW51cC4KKworICAgICAg
ICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEludGVyZmFjZS5oOgorICAg
ICAgICAoSURCRGF0YWJhc2VCYWNrZW5kSW50ZXJmYWNlKToKKworMjAxMi0xMS0yNyAgQWxlYyBG
bGV0dCAgPGFsZWNmbGV0dEBjaHJvbWl1bS5vcmc+CisKICAgICAgICAgSW5kZXhlZERCOiBDaGFu
Z2UgZnJvbnRlbmQgdG8gY2FsbCBJREJEYXRhYmFzZUJhY2tlbmRJbnRlcmZhY2U6OmNyZWF0ZVRy
YW5zYWN0aW9uKCkKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwMjczMgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDg1NmIwNzFjZGE3ZTFi
ZjhmY2ZhYTRmMWMzNGUyNWEzNTQ1NWNkZWIuLmU0N2NkYWNmNjI0OGEyYTgyNjBlZDBlYTA1YTkz
ZmIxMThmODBlZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAK
KzIwMTItMTEtMjcgIEFsZWMgRmxldHQgIDxhbGVjZmxldHRAY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIEluZGV4ZWREQjogcmVtb3ZlIElEQkRhdGFiYXNlQmFja2VuZEludGVyZmFjZTo6dHJhbnNh
Y3Rpb24oKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTAyNzMzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
UGFydCAzIG9mIGEgcmVmYWN0b3IgLSBqdXN0IHJlbW92ZSB0aGUgcHJveHkgY29kZSBmb3IgdGhl
IG5vdworICAgICAgICBkZWZ1bmN0IHRyYW5zYWN0aW9uIG1ldGhvZC4KKworICAgICAgICAqIHB1
YmxpYy9XZWJJREJEYXRhYmFzZS5oOgorICAgICAgICAqIHNyYy9JREJEYXRhYmFzZUJhY2tlbmRQ
cm94eS5jcHA6CisgICAgICAgICogc3JjL0lEQkRhdGFiYXNlQmFja2VuZFByb3h5Lmg6CisgICAg
ICAgIChJREJEYXRhYmFzZUJhY2tlbmRQcm94eSk6CisgICAgICAgICogc3JjL1dlYklEQkRhdGFi
YXNlSW1wbC5jcHA6CisgICAgICAgICogc3JjL1dlYklEQkRhdGFiYXNlSW1wbC5oOgorICAgICAg
ICAoV2ViSURCRGF0YWJhc2VJbXBsKToKKyAgICAgICAgKiB0ZXN0cy9JREJEYXRhYmFzZUJhY2tl
bmRUZXN0LmNwcDoKKwogMjAxMi0xMS0xOSAgQWxlYyBGbGV0dCAgPGFsZWNmbGV0dEBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgSW5kZXhlZERCOiBzdHViIG91dCBJREJEYXRhYmFzZUJhY2tlbmRJ
bnRlcmZhY2U6OmNyZWF0ZVRyYW5zYWN0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZUJhY2tlbmRJbnRlcmZhY2UuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEludGVyZmFjZS5oCmlu
ZGV4IGViMzU4MmI2ZWY0MDcyNTNhOWQ3M2I3OGYyOTIyYTA1ZTFkN2I5NDguLjU1NWM2OWNhYjY2
MjliMjBlMTc5ZjU1NTcxMWRjYWZiODE4MmIwOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEludGVyZmFjZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEludGVyZmFj
ZS5oCkBAIC01Niw4ICs1Niw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8SURC
T2JqZWN0U3RvcmVCYWNrZW5kSW50ZXJmYWNlPiBjcmVhdGVPYmplY3RTdG9yZShpbnQ2NF90LCBj
b25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IElEQktleVBhdGgmLCBib29sIGF1dG9JbmNyZW1lbnQs
IElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSosIEV4Y2VwdGlvbkNvZGUmKSA9IDA7CiAg
ICAgdmlydHVhbCB2b2lkIGRlbGV0ZU9iamVjdFN0b3JlKGludDY0X3QsIElEQlRyYW5zYWN0aW9u
QmFja2VuZEludGVyZmFjZSosIEV4Y2VwdGlvbkNvZGUmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lk
IHNldFZlcnNpb24oY29uc3QgU3RyaW5nJiB2ZXJzaW9uLCBQYXNzUmVmUHRyPElEQkNhbGxiYWNr
cz4sIFBhc3NSZWZQdHI8SURCRGF0YWJhc2VDYWxsYmFja3M+LCBFeGNlcHRpb25Db2RlJikgPSAw
OwotICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhpcyBhcyBwYXJ0IG9mIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDI3MzMuCi0gICAgdmlydHVhbCBQYXNzUmVmUHRyPElE
QlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZT4gdHJhbnNhY3Rpb24oY29uc3QgVmVjdG9yPGlu
dDY0X3Q+JiBvYmplY3RTdG9yZUlkcywgdW5zaWduZWQgc2hvcnQgbW9kZSkgPSAwOwogICAgIHZp
cnR1YWwgUGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+IGNyZWF0ZVRy
YW5zYWN0aW9uKGludDY0X3QgdHJhbnNhY3Rpb25JZCwgY29uc3QgVmVjdG9yPGludDY0X3Q+JiBv
YmplY3RTdG9yZUlkcywgdW5zaWduZWQgc2hvcnQgbW9kZSkgPSAwOwogICAgIHZpcnR1YWwgdm9p
ZCBjbG9zZShQYXNzUmVmUHRyPElEQkRhdGFiYXNlQ2FsbGJhY2tzPikgPSAwOwogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYklEQkRhdGFiYXNlLmggYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJREJEYXRhYmFzZS5oCmluZGV4IGJiZjVh
ZjRjMzYxNTcyZDEzNTdhYmYzMDg2YThiMjZjNzRjZTIzYjEuLjhjN2ViNWQ1MzdkOWYxOWUwMmFm
OTE0OWQ4NzhkYzM0NjE1MDkyZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYklEQkRhdGFiYXNlLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViSURCRGF0YWJhc2UuaApAQCAtNTcsMTQgKzU3LDYgQEAgcHVibGljOgogICAgIH0KICAg
ICB2aXJ0dWFsIHZvaWQgZGVsZXRlT2JqZWN0U3RvcmUobG9uZyBsb25nIG9iamVjdFN0b3JlSWQs
IGNvbnN0IFdlYklEQlRyYW5zYWN0aW9uJiB0cmFuc2FjdGlvbiwgV2ViRXhjZXB0aW9uQ29kZSYg
ZWMpIHsgV0VCS0lUX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9CiAgICAgdmlydHVhbCB2b2lkIHNl
dFZlcnNpb24oY29uc3QgV2ViU3RyaW5nJiB2ZXJzaW9uLCBXZWJJREJDYWxsYmFja3MqIGNhbGxi
YWNrcywgV2ViRXhjZXB0aW9uQ29kZSYpIHsgV0VCS0lUX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9
Ci0gICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIGFzIHBhcnQgb2YgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjczMy4KLSAgICAvLyBUcmFuc2ZlcnMgb3duZXJzaGlw
IG9mIHRoZSBXZWJJREJUcmFuc2FjdGlvbiB0byB0aGUgY2FsbGVyLgotICAgIHZpcnR1YWwgV2Vi
SURCVHJhbnNhY3Rpb24qIHRyYW5zYWN0aW9uKGNvbnN0IFdlYlZlY3Rvcjxsb25nIGxvbmc+Jiwg
dW5zaWduZWQgc2hvcnQgbW9kZSkKLSAgICB7Ci0gICAgICAgIFdFQktJVF9BU1NFUlRfTk9UX1JF
QUNIRUQoKTsKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgfQotICAgIC8vIFRyYW5zZmVycyBvd25l
cnNoaXAgb2YgdGhlIFdlYklEQlRyYW5zYWN0aW9uIHRvIHRoZSBjYWxsZXIuCiAgICAgdmlydHVh
bCBXZWJJREJUcmFuc2FjdGlvbiogY3JlYXRlVHJhbnNhY3Rpb24obG9uZyBsb25nIGlkLCBjb25z
dCBXZWJWZWN0b3I8bG9uZyBsb25nPiYsIHVuc2lnbmVkIHNob3J0IG1vZGUpIHsgV0VCS0lUX0FT
U0VSVF9OT1RfUkVBQ0hFRCgpOyByZXR1cm4gMDsgfQogICAgIHZpcnR1YWwgdm9pZCBjbG9zZSgp
IHsgV0VCS0lUX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9CiAgICAgdmlydHVhbCB2b2lkIGZvcmNl
Q2xvc2UoKSB7IFdFQktJVF9BU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCRGF0YWJhc2VCYWNrZW5kUHJveHkuY3BwIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCRGF0YWJhc2VCYWNrZW5kUHJveHkuY3BwCmluZGV4
IGEwMzU1MTA0YWYwNWZjMTgwNjBiMDNhNzIxOTc3NGY5OTcyMDQ2ZWIuLjA3NzM0MzdiNmZmN2Uw
ZWQyZWUxNWMzY2Q4YTcwNDczYzYyNGViZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL0lEQkRhdGFiYXNlQmFja2VuZFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9JREJEYXRhYmFzZUJhY2tlbmRQcm94eS5jcHAKQEAgLTkxLDE2ICs5MSw2
IEBAIHZvaWQgSURCRGF0YWJhc2VCYWNrZW5kUHJveHk6OnNldFZlcnNpb24oY29uc3QgU3RyaW5n
JiB2ZXJzaW9uLCBQYXNzUmVmUHRyPElEQkNhCiAgICAgbV93ZWJJREJEYXRhYmFzZS0+c2V0VmVy
c2lvbih2ZXJzaW9uLCBuZXcgV2ViSURCQ2FsbGJhY2tzSW1wbChjYWxsYmFja3MpLCBlYyk7CiB9
CiAKLS8vIEZJWE1FOiBSZW1vdmUgdGhpcyBhcyBwYXJ0IG9mIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDI3MzMuCi1QYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFj
a2VuZEludGVyZmFjZT4gSURCRGF0YWJhc2VCYWNrZW5kUHJveHk6OnRyYW5zYWN0aW9uKGNvbnN0
IFZlY3RvcjxpbnQ2NF90PiYgb2JqZWN0U3RvcmVJZHMsIHVuc2lnbmVkIHNob3J0IG1vZGUpCi17
Ci0gICAgT3duUHRyPFdlYklEQlRyYW5zYWN0aW9uPiB0cmFuc2FjdGlvbiA9IGFkb3B0UHRyKG1f
d2ViSURCRGF0YWJhc2UtPnRyYW5zYWN0aW9uKG9iamVjdFN0b3JlSWRzLCBtb2RlKSk7Ci0gICAg
aWYgKCF0cmFuc2FjdGlvbikKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICByZXR1cm4gSURCVHJh
bnNhY3Rpb25CYWNrZW5kUHJveHk6OmNyZWF0ZSh0cmFuc2FjdGlvbi5yZWxlYXNlKCkpOwotfQot
CiBQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZT4gSURCRGF0YWJhc2VC
YWNrZW5kUHJveHk6OmNyZWF0ZVRyYW5zYWN0aW9uKGludDY0X3QgaWQsIGNvbnN0IFZlY3Rvcjxp
bnQ2NF90PiYgb2JqZWN0U3RvcmVJZHMsIHVuc2lnbmVkIHNob3J0IG1vZGUpCiB7CiAgICAgT3du
UHRyPFdlYklEQlRyYW5zYWN0aW9uPiB0cmFuc2FjdGlvbiA9IGFkb3B0UHRyKG1fd2ViSURCRGF0
YWJhc2UtPmNyZWF0ZVRyYW5zYWN0aW9uKGlkLCBvYmplY3RTdG9yZUlkcywgbW9kZSkpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCRGF0YWJhc2VCYWNrZW5kUHJv
eHkuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQkRhdGFiYXNlQmFja2VuZFByb3h5
LmgKaW5kZXggZjE0OTgwYmQ1OGRjMTQ1Mjk3MWM2YzIwNGYzYzVkMTY4MjlmNTYyOC4uZGVjMGU0
YzJkOWVjOWRkMTcyODQ2MGJjMTZkNTBjN2IzNWUwMzZkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvSURCRGF0YWJhc2VCYWNrZW5kUHJveHkuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9JREJEYXRhYmFzZUJhY2tlbmRQcm94eS5oCkBAIC00Nyw4ICs0
Nyw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViQ29yZTo6SURCT2JqZWN0
U3RvcmVCYWNrZW5kSW50ZXJmYWNlPiBjcmVhdGVPYmplY3RTdG9yZShpbnQ2NF90LCBjb25zdCBT
dHJpbmcmIG5hbWUsIGNvbnN0IFdlYkNvcmU6OklEQktleVBhdGgmLCBib29sIGF1dG9JbmNyZW1l
bnQsIFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSosIFdlYkNvcmU6OkV4
Y2VwdGlvbkNvZGUmKTsKICAgICB2aXJ0dWFsIHZvaWQgZGVsZXRlT2JqZWN0U3RvcmUoaW50NjRf
dCwgV2ViQ29yZTo6SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKiwgV2ViQ29yZTo6RXhj
ZXB0aW9uQ29kZSYpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRWZXJzaW9uKGNvbnN0IFN0cmluZyYg
dmVyc2lvbiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpJREJDYWxsYmFja3M+LCBQYXNzUmVmUHRyPFdl
YkNvcmU6OklEQkRhdGFiYXNlQ2FsbGJhY2tzPiwgV2ViQ29yZTo6RXhjZXB0aW9uQ29kZSYpOwot
ICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhpcyBhcyBwYXJ0IG9mIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDI3MzMuCi0gICAgdmlydHVhbCBQYXNzUmVmUHRyPFdlYkNv
cmU6OklEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZT4gdHJhbnNhY3Rpb24oY29uc3QgVmVj
dG9yPGludDY0X3Q+JiwgdW5zaWduZWQgc2hvcnQgbW9kZSk7CiAgICAgdmlydHVhbCBQYXNzUmVm
UHRyPFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZT4gY3JlYXRlVHJhbnNh
Y3Rpb24oaW50NjRfdCwgY29uc3QgVmVjdG9yPGludDY0X3Q+JiwgdW5zaWduZWQgc2hvcnQgbW9k
ZSk7CiAgICAgdmlydHVhbCB2b2lkIGNsb3NlKFBhc3NSZWZQdHI8V2ViQ29yZTo6SURCRGF0YWJh
c2VDYWxsYmFja3M+KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViSURCRGF0YWJhc2VJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklE
QkRhdGFiYXNlSW1wbC5jcHAKaW5kZXggNTM5YTQ4OGM5MzNlMWNhNjNjZTA3MDczNzkyMjdlYjBh
YmQ2MjI0YS4uNmMyMThjZmMzMWY5MjE5NWNmMjZhZjUyZTQ4MWZjZWY2OGJiMDkwYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCRGF0YWJhc2VJbXBsLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJEYXRhYmFzZUltcGwuY3BwCkBA
IC05MSwxOCArOTEsNiBAQCBXZWJJREJUcmFuc2FjdGlvbiogV2ViSURCRGF0YWJhc2VJbXBsOjpj
cmVhdGVUcmFuc2FjdGlvbihsb25nIGxvbmcgaWQsIGNvbnN0IFdlYgogICAgIHJldHVybiBuZXcg
V2ViSURCVHJhbnNhY3Rpb25JbXBsKHRyYW5zYWN0aW9uKTsKIH0KIAotLy8gRklYTUU6IFJlbW92
ZSB0aGlzIGFzIHBhcnQgb2YgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEwMjczMy4KLVdlYklEQlRyYW5zYWN0aW9uKiBXZWJJREJEYXRhYmFzZUltcGw6OnRyYW5zYWN0
aW9uKGNvbnN0IFdlYlZlY3Rvcjxsb25nIGxvbmc+JiBvYmplY3RTdG9yZUlkcywgdW5zaWduZWQg
c2hvcnQgbW9kZSkKLXsKLSAgICBWZWN0b3I8aW50NjRfdD4gb2JqZWN0U3RvcmVJZExpc3Qob2Jq
ZWN0U3RvcmVJZHMuc2l6ZSgpKTsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG9iamVjdFN0
b3JlSWRzLnNpemUoKTsgKytpKQotICAgICAgICBvYmplY3RTdG9yZUlkTGlzdFtpXSA9IG9iamVj
dFN0b3JlSWRzW2ldOwotICAgIFJlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+
IHRyYW5zYWN0aW9uID0gbV9kYXRhYmFzZUJhY2tlbmQtPnRyYW5zYWN0aW9uKG9iamVjdFN0b3Jl
SWRMaXN0LCBtb2RlKTsKLSAgICBpZiAoIXRyYW5zYWN0aW9uKQotICAgICAgICByZXR1cm4gMDsK
LSAgICByZXR1cm4gbmV3IFdlYklEQlRyYW5zYWN0aW9uSW1wbCh0cmFuc2FjdGlvbik7Ci19Ci0K
IHZvaWQgV2ViSURCRGF0YWJhc2VJbXBsOjpjbG9zZSgpCiB7CiAgICAgLy8gVXNlIHRoZSBjYWxs
YmFja3MgcGFzc2VkIGluIHRvIHRoZSBjb25zdHJ1Y3RvciBzbyB0aGF0IHRoZSBiYWNrZW5kIGlu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJEYXRhYmFzZUlt
cGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQkRhdGFiYXNlSW1wbC5oCmlu
ZGV4IGVlZjY0OTNmZGMyODM2M2E0MzBlODJkMjJkNTk0OTdmYTA5YTFjM2EuLjQxMDM5MjMzZGU0
ODRhYWFiNWY5YzE1MTUyZWVmNWNkMTJmN2M2OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYklEQkRhdGFiYXNlSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYklEQkRhdGFiYXNlSW1wbC5oCkBAIC01NSw4ICs1NSw2IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIFdlYklEQk9iamVjdFN0b3JlKiBjcmVhdGVPYmplY3RTdG9yZShsb25nIGxv
bmcsIGNvbnN0IFdlYlN0cmluZyYgbmFtZSwgY29uc3QgV2ViSURCS2V5UGF0aCYsIGJvb2wgYXV0
b0luY3JlbWVudCwgY29uc3QgV2ViSURCVHJhbnNhY3Rpb24mLCBXZWJFeGNlcHRpb25Db2RlJik7
CiAgICAgdmlydHVhbCB2b2lkIGRlbGV0ZU9iamVjdFN0b3JlKGxvbmcgbG9uZyBvYmplY3RTdG9y
ZUlkLCBjb25zdCBXZWJJREJUcmFuc2FjdGlvbiYsIFdlYkV4Y2VwdGlvbkNvZGUmKTsKICAgICB2
aXJ0dWFsIHZvaWQgc2V0VmVyc2lvbihjb25zdCBXZWJTdHJpbmcmIHZlcnNpb24sIFdlYklEQkNh
bGxiYWNrcyosIFdlYkV4Y2VwdGlvbkNvZGUmKTsKLSAgICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMg
YXMgcGFydCBvZiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyNzMz
LgotICAgIHZpcnR1YWwgV2ViSURCVHJhbnNhY3Rpb24qIHRyYW5zYWN0aW9uKGNvbnN0IFdlYlZl
Y3Rvcjxsb25nIGxvbmc+JiBuYW1lcywgdW5zaWduZWQgc2hvcnQgbW9kZSk7CiAgICAgdmlydHVh
bCBXZWJJREJUcmFuc2FjdGlvbiogY3JlYXRlVHJhbnNhY3Rpb24obG9uZyBsb25nIGlkLCBjb25z
dCBXZWJWZWN0b3I8bG9uZyBsb25nPiYsIHVuc2lnbmVkIHNob3J0IG1vZGUpOwogICAgIHZpcnR1
YWwgdm9pZCBmb3JjZUNsb3NlKCk7CiAgICAgdmlydHVhbCB2b2lkIGNsb3NlKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0lEQkRhdGFiYXNlQmFja2VuZFRlc3Qu
Y3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9JREJEYXRhYmFzZUJhY2tlbmRUZXN0
LmNwcAppbmRleCBhOGJhZjA0ZDRlMDY4ZThhZDZiYzNiOWJiMjljN2MzOWVkYzU5MDk3Li4zZmM1
MmNmZDY3Yzc0NzRlZTUwOTYxMDRjODQzZTRlM2U4NTUzMjA2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3Rlc3RzL0lEQkRhdGFiYXNlQmFja2VuZFRlc3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvSURCRGF0YWJhc2VCYWNrZW5kVGVzdC5jcHAKQEAg
LTE1NCw4ICsxNTQsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRlbGV0ZU9iamVjdFN0
b3JlKGNvbnN0IFN0cmluZyYgbmFtZSwgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKiwg
RXhjZXB0aW9uQ29kZSYpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkZWxldGVPYmplY3RTdG9yZShp
bnQ2NF90LCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqLCBFeGNlcHRpb25Db2RlJikg
eyB9CiAgICAgdmlydHVhbCB2b2lkIHNldFZlcnNpb24oY29uc3QgU3RyaW5nJiB2ZXJzaW9uLCBQ
YXNzUmVmUHRyPElEQkNhbGxiYWNrcz4sIFBhc3NSZWZQdHI8SURCRGF0YWJhc2VDYWxsYmFja3M+
LCBFeGNlcHRpb25Db2RlJikgeyB9Ci0gICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIGFzIHBhcnQg
b2YgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjczMy4KLSAgICB2
aXJ0dWFsIFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlPiB0cmFuc2Fj
dGlvbihjb25zdCBWZWN0b3I8aW50NjRfdD4mLCB1bnNpZ25lZCBzaG9ydCBtb2RlKSB7IHJldHVy
biAwOyB9CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVy
ZmFjZT4gY3JlYXRlVHJhbnNhY3Rpb24oaW50NjRfdCwgY29uc3QgVmVjdG9yPGludDY0X3Q+Jiwg
dW5zaWduZWQgc2hvcnQgbW9kZSkgeyByZXR1cm4gMDsgfQogCiAgICAgdmlydHVhbCB2b2lkIGNs
b3NlKFBhc3NSZWZQdHI8SURCRGF0YWJhc2VDYWxsYmFja3M+KQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176827</attachid>
            <date>2012-11-29 15:10:09 -0800</date>
            <delta_ts>2012-11-29 15:41:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102733-20121129150742.patch</filename>
            <type>text/plain</type>
            <size>13940</size>
            <attacher name="Alec Flett">alecflett</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2MTI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmQ5MmYwZTRlOGUwZmRm
YTFmYTE5ZmNiOGU4MDgzZjdjNDk2NjBhNi4uYmJjYWJkNjk5OTRmMDJkOWVmYWZhZmQ4ZjFkOWQ1
NTUzMTQ2MTdjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDEyLTExLTI3ICBBbGVj
IEZsZXR0ICA8YWxlY2ZsZXR0QGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IHJl
bW92ZSBJREJEYXRhYmFzZUJhY2tlbmRJbnRlcmZhY2U6OnRyYW5zYWN0aW9uKCkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjczMworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBhcnQgMyBvZiBhIHJlZmFj
dG9yLCByZW1vdmUgdGhlIG9sZCB0cmFuc2FjdGlvbigpIG1ldGhvZC4KKworICAgICAgICBObyBu
ZXcgdGVzdHMgYXMgdGhpcyBpcyBqdXN0IHBvc3QtcmVmYWN0b3IgY2xlYW51cC4KKworICAgICAg
ICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEludGVyZmFjZS5oOgorICAg
ICAgICAoSURCRGF0YWJhc2VCYWNrZW5kSW50ZXJmYWNlKToKKworMjAxMi0xMS0yNyAgQWxlYyBG
bGV0dCAgPGFsZWNmbGV0dEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW5kZXhlZERCOiBDaGFu
Z2UgZnJvbnRlbmQgdG8gY2FsbCBJREJEYXRhYmFzZUJhY2tlbmRJbnRlcmZhY2U6OmNyZWF0ZVRy
YW5zYWN0aW9uKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwMjczMgorCisgICAgICAgIFJldmlld2VkIGJ5IFRvbnkgQ2hhbmcuCisKKyAgICAgICAg
VXNlIHRoZSBuZXcgY3JlYXRlVHJhbnNhY3Rpb24sIG5vdyB0aGF0IGl0IGhhcyBiZWVuIHN0dWJi
ZWQKKyAgICAgICAgb3V0LiBUaGlzIGlzIHBhcnQgMiBvZiAzIG9mIGEgcmVmYWN0b3IuIFNlZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyNzMzIGZv
ciBwYXJ0IDMuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGFzIHRoaXMgcmVmYWN0b3Igc2ltcGx5
IGtlZXBzIGFuZCBwcm9wYWdhdGVzIGEKKyAgICAgICAgY291bnRlciB0aGF0IGlzIGN1cnJlbnRs
eSB1bnVzZWQuCisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZTo6bmV4dFRyYW5zYWN0aW9uSWQpOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZTo6dHJhbnNhY3Rp
b24pOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlLmg6CisgICAgICAg
IChJREJEYXRhYmFzZSk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCT3BlbkRCUmVx
dWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJPcGVuREJSZXF1ZXN0OjpvblVwZ3JhZGVO
ZWVkZWQpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SURCUmVxdWVzdDo6b25TdWNjZXNzKToKKyAgICAgICAgKiBNb2R1bGVz
L2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFu
c2FjdGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjpJREJU
cmFuc2FjdGlvbik6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24u
aDoKKyAgICAgICAgKElEQlRyYW5zYWN0aW9uKToKKwogMjAxMi0xMS0yOSAgQW5keSBTaGF3ICA8
YW5keS5zaGF3QGRpZ2lhLmNvbT4KIAogICAgICAgICBbUXRdIEltcGxlbWVudCBzdXBwb3J0IGZv
ciBDb2NvYSBiYXNlZCBOUEFQSSBwbHVnaW5zIG9uIE1hYwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZwppbmRleCAyOTNmNmYxMWI4YTBmYzY1ODZiZmRmODAyYTY4ZmQ4NWNlNDQ4MzAxLi42YTliN2E2
Y2M1ZDM1MmJmZGYzMjRhY2M2YzJjNTJlMGUxN2QwMTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTExLTI3ICBBbGVjIEZsZXR0ICA8YWxlY2ZsZXR0
QGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IHJlbW92ZSBJREJEYXRhYmFzZUJh
Y2tlbmRJbnRlcmZhY2U6OnRyYW5zYWN0aW9uKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjczMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFBhcnQgMyBvZiBhIHJlZmFjdG9yIC0ganVzdCByZW1vdmUg
dGhlIHByb3h5IGNvZGUgZm9yIHRoZSBub3cKKyAgICAgICAgZGVmdW5jdCB0cmFuc2FjdGlvbiBt
ZXRob2QuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViSURCRGF0YWJhc2UuaDoKKyAgICAgICAgKiBz
cmMvSURCRGF0YWJhc2VCYWNrZW5kUHJveHkuY3BwOgorICAgICAgICAqIHNyYy9JREJEYXRhYmFz
ZUJhY2tlbmRQcm94eS5oOgorICAgICAgICAoSURCRGF0YWJhc2VCYWNrZW5kUHJveHkpOgorICAg
ICAgICAqIHNyYy9XZWJJREJEYXRhYmFzZUltcGwuY3BwOgorICAgICAgICAqIHNyYy9XZWJJREJE
YXRhYmFzZUltcGwuaDoKKyAgICAgICAgKFdlYklEQkRhdGFiYXNlSW1wbCk6CisgICAgICAgICog
dGVzdHMvSURCRGF0YWJhc2VCYWNrZW5kVGVzdC5jcHA6CisKIDIwMTItMTEtMjkgIE1pZ3VlbCBH
YXJjaWEgIDxtaWd1ZWxnQGNocm9taXVtLm9yZz4KIAogICAgICAgICBGaXggdHlwbyBpbiBkZXNj
cmlwdGlvbiBvZiBvcGVuRGF0ZVRpbWVDaG9vc2VyIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEltcGwu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2VCYWNrZW5k
SW1wbC5jcHAKaW5kZXggMmNiZjliM2M4MWJiZjEwN2E5NWI3ZTliYzI2YjllOGRmMTg1MDgwOS4u
ZTYzZGY5MGI2Nzg0NDlmMjg5NmU1ZjVjMzlkYzIwNDMxZDQwNzY2ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2VCYWNrZW5k
SW1wbC5jcHAKQEAgLTMyMSwxMiArMzIxLDYgQEAgdm9pZCBJREJEYXRhYmFzZUJhY2tlbmRJbXBs
Ojpwcm9jZXNzUGVuZGluZ0NhbGxzKCkKICAgICB9CiB9CiAKLS8vIEZJWE1FOiBSZW1vdmUgdGhp
cyBhcyBwYXJ0IG9mIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDI3
MzMuCi1QYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZT4gSURCRGF0YWJh
c2VCYWNrZW5kSW1wbDo6dHJhbnNhY3Rpb24oY29uc3QgVmVjdG9yPGludDY0X3Q+JiBvYmplY3RT
dG9yZUlkcywgdW5zaWduZWQgc2hvcnQgbW9kZSkKLXsKLSAgICByZXR1cm4gY3JlYXRlVHJhbnNh
Y3Rpb24oMCwgb2JqZWN0U3RvcmVJZHMsIG1vZGUpOwotfQotCiBQYXNzUmVmUHRyPElEQlRyYW5z
YWN0aW9uQmFja2VuZEludGVyZmFjZT4gSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6Y3JlYXRlVHJh
bnNhY3Rpb24oaW50NjRfdCB0cmFuc2FjdGlvbklkLCBjb25zdCBWZWN0b3I8aW50NjRfdD4mIG9i
amVjdFN0b3JlSWRzLCB1bnNpZ25lZCBzaG9ydCBtb2RlKQogewogICAgIFJlZlB0cjxJREJUcmFu
c2FjdGlvbkJhY2tlbmRJbXBsPiB0cmFuc2FjdGlvbiA9IElEQlRyYW5zYWN0aW9uQmFja2VuZElt
cGw6OmNyZWF0ZSh0cmFuc2FjdGlvbklkLCBvYmplY3RTdG9yZUlkcywgbW9kZSwgdGhpcyk7CkBA
IC0zODIsNyArMzc2LDggQEAgdm9pZCBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpydW5JbnRWZXJz
aW9uQ2hhbmdlVHJhbnNhY3Rpb24oaW50NjRfdCByZXF1ZXN0ZWRWZXIKICAgICB9CiAKICAgICBW
ZWN0b3I8aW50NjRfdD4gb2JqZWN0U3RvcmVJZHM7Ci0gICAgUmVmUHRyPElEQlRyYW5zYWN0aW9u
QmFja2VuZEludGVyZmFjZT4gdHJhbnNhY3Rpb25JbnRlcmZhY2UgPSB0cmFuc2FjdGlvbihvYmpl
Y3RTdG9yZUlkcywgSURCVHJhbnNhY3Rpb246OlZFUlNJT05fQ0hBTkdFKTsKKyAgICAvLyBGSVhN
RTogVGhlIHRyYW5zYWN0aW9uSWQgbmVlZHMgdG8gYmUgcGlwZWQgaW4gdGhyb3VnaCBJREJEYXRh
YmFzZUJhY2tlbmRJbnRlcmZhY2U6Om9wZW4oKS4KKyAgICBSZWZQdHI8SURCVHJhbnNhY3Rpb25C
YWNrZW5kSW50ZXJmYWNlPiB0cmFuc2FjdGlvbkludGVyZmFjZSA9IGNyZWF0ZVRyYW5zYWN0aW9u
KDAsIG9iamVjdFN0b3JlSWRzLCBJREJUcmFuc2FjdGlvbjo6VkVSU0lPTl9DSEFOR0UpOwogICAg
IFJlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsPiB0cmFuc2FjdGlvbiA9IElEQlRyYW5z
YWN0aW9uQmFja2VuZEltcGw6OmZyb20odHJhbnNhY3Rpb25JbnRlcmZhY2UuZ2V0KCkpOwogCiAg
ICAgUmVmUHRyPElEQkRhdGFiYXNlQmFja2VuZEltcGw+IGRhdGFiYXNlID0gdGhpczsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2Vu
ZEltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFj
a2VuZEltcGwuaAppbmRleCBhMzM5NjdjZmQ5NWUyNTM1MDkxYzIyMTJlYmQ1MDg5OTVkMmE2M2I1
Li40YmJmNGJlYTY2YzM5ZTE1NDg1NzVkODY4MWM2MzgzZGRmZjkxMzkyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2VCYWNrZW5k
SW1wbC5oCkBAIC02Myw4ICs2Myw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIElEQkRhdGFiYXNl
TWV0YWRhdGEgbWV0YWRhdGEoKSBjb25zdDsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8SURCT2Jq
ZWN0U3RvcmVCYWNrZW5kSW50ZXJmYWNlPiBjcmVhdGVPYmplY3RTdG9yZShpbnQ2NF90IGlkLCBj
b25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IElEQktleVBhdGgmLCBib29sIGF1dG9JbmNyZW1lbnQs
IElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSosIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2
aXJ0dWFsIHZvaWQgZGVsZXRlT2JqZWN0U3RvcmUoaW50NjRfdCwgSURCVHJhbnNhY3Rpb25CYWNr
ZW5kSW50ZXJmYWNlKiwgRXhjZXB0aW9uQ29kZSYpOwotICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhp
cyBhcyBwYXJ0IG9mIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDI3
MzMuCi0gICAgdmlydHVhbCBQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFj
ZT4gdHJhbnNhY3Rpb24oY29uc3QgVmVjdG9yPGludDY0X3Q+JiwgdW5zaWduZWQgc2hvcnQpOwog
ICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+IGNy
ZWF0ZVRyYW5zYWN0aW9uKGludDY0X3QgdHJhbnNhY3Rpb25JZCwgY29uc3QgVmVjdG9yPGludDY0
X3Q+JiBvYmplY3RTdG9yZUlkcywgdW5zaWduZWQgc2hvcnQgbW9kZSk7CiAgICAgdmlydHVhbCB2
b2lkIGNsb3NlKFBhc3NSZWZQdHI8SURCRGF0YWJhc2VDYWxsYmFja3M+KTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2VCYWNrZW5kSW50
ZXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZUJh
Y2tlbmRJbnRlcmZhY2UuaAppbmRleCAwYWUzNmRhMzdhZmZmZDhhNGQ0YmE1ZWMzN2I3MjJmMjdj
NDM2MmM2Li44NTAwNjJjMjkxODczMmJhMzRhOTI3YzdiMDdlOTk1ZWE5MDM2NGRmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZUJhY2tlbmRJ
bnRlcmZhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRh
YmFzZUJhY2tlbmRJbnRlcmZhY2UuaApAQCAtNTUsOCArNTUsNiBAQCBwdWJsaWM6CiAKICAgICB2
aXJ0dWFsIFBhc3NSZWZQdHI8SURCT2JqZWN0U3RvcmVCYWNrZW5kSW50ZXJmYWNlPiBjcmVhdGVP
YmplY3RTdG9yZShpbnQ2NF90LCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IElEQktleVBhdGgm
LCBib29sIGF1dG9JbmNyZW1lbnQsIElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSosIEV4
Y2VwdGlvbkNvZGUmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRlbGV0ZU9iamVjdFN0b3JlKGlu
dDY0X3QsIElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSosIEV4Y2VwdGlvbkNvZGUmKSA9
IDA7Ci0gICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIGFzIHBhcnQgb2YgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjczMy4KLSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8
SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlPiB0cmFuc2FjdGlvbihjb25zdCBWZWN0b3I8
aW50NjRfdD4mIG9iamVjdFN0b3JlSWRzLCB1bnNpZ25lZCBzaG9ydCBtb2RlKSA9IDA7CiAgICAg
dmlydHVhbCBQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZT4gY3JlYXRl
VHJhbnNhY3Rpb24oaW50NjRfdCB0cmFuc2FjdGlvbklkLCBjb25zdCBWZWN0b3I8aW50NjRfdD4m
IG9iamVjdFN0b3JlSWRzLCB1bnNpZ25lZCBzaG9ydCBtb2RlKSA9IDA7CiAgICAgdmlydHVhbCB2
b2lkIGNsb3NlKFBhc3NSZWZQdHI8SURCRGF0YWJhc2VDYWxsYmFja3M+KSA9IDA7CiB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSURCRGF0YWJhc2UuaCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYklEQkRhdGFiYXNlLmgKaW5kZXggM2Fl
ZjdiZGIwNWNlYzY3OWQyM2YzOWJkNzIwYmM4MjI0MjEwYjg0Ni4uOTViYWY2NmI2NTE4Yzk4YTBm
YTU3OGJiMjY0ZjNmYzE5ZWNkNWRmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9wdWJsaWMvV2ViSURCRGF0YWJhc2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJJREJEYXRhYmFzZS5oCkBAIC01NiwxNCArNTYsNiBAQCBwdWJsaWM6CiAgICAgICAg
IHJldHVybiAwOwogICAgIH0KICAgICB2aXJ0dWFsIHZvaWQgZGVsZXRlT2JqZWN0U3RvcmUobG9u
ZyBsb25nIG9iamVjdFN0b3JlSWQsIGNvbnN0IFdlYklEQlRyYW5zYWN0aW9uJiB0cmFuc2FjdGlv
biwgV2ViRXhjZXB0aW9uQ29kZSYgZWMpIHsgV0VCS0lUX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9
Ci0gICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIGFzIHBhcnQgb2YgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjczMy4KLSAgICAvLyBUcmFuc2ZlcnMgb3duZXJzaGlw
IG9mIHRoZSBXZWJJREJUcmFuc2FjdGlvbiB0byB0aGUgY2FsbGVyLgotICAgIHZpcnR1YWwgV2Vi
SURCVHJhbnNhY3Rpb24qIHRyYW5zYWN0aW9uKGNvbnN0IFdlYlZlY3Rvcjxsb25nIGxvbmc+Jiwg
dW5zaWduZWQgc2hvcnQgbW9kZSkKLSAgICB7Ci0gICAgICAgIFdFQktJVF9BU1NFUlRfTk9UX1JF
QUNIRUQoKTsKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgfQotICAgIC8vIFRyYW5zZmVycyBvd25l
cnNoaXAgb2YgdGhlIFdlYklEQlRyYW5zYWN0aW9uIHRvIHRoZSBjYWxsZXIuCiAgICAgdmlydHVh
bCBXZWJJREJUcmFuc2FjdGlvbiogY3JlYXRlVHJhbnNhY3Rpb24obG9uZyBsb25nIGlkLCBjb25z
dCBXZWJWZWN0b3I8bG9uZyBsb25nPiYsIHVuc2lnbmVkIHNob3J0IG1vZGUpIHsgV0VCS0lUX0FT
U0VSVF9OT1RfUkVBQ0hFRCgpOyByZXR1cm4gMDsgfQogICAgIHZpcnR1YWwgdm9pZCBjbG9zZSgp
IHsgV0VCS0lUX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9CiAgICAgdmlydHVhbCB2b2lkIGZvcmNl
Q2xvc2UoKSB7IFdFQktJVF9BU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCRGF0YWJhc2VCYWNrZW5kUHJveHkuY3BwIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCRGF0YWJhc2VCYWNrZW5kUHJveHkuY3BwCmluZGV4
IDkxYTQxOWEzZWMyZmY5NjA3OGFjZGFkY2ZmZDg1ZWZmYjA5NTZjOWUuLmU5YzgwZDBjZjYyOWVj
MjQ3N2FkYTEzYjg4ZjQ0N2ZhOTU5MmRhNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL0lEQkRhdGFiYXNlQmFja2VuZFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9JREJEYXRhYmFzZUJhY2tlbmRQcm94eS5jcHAKQEAgLTg1LDE2ICs4NSw2
IEBAIHZvaWQgSURCRGF0YWJhc2VCYWNrZW5kUHJveHk6OmRlbGV0ZU9iamVjdFN0b3JlKGludDY0
X3Qgb2JqZWN0U3RvcmVJZCwgSURCVHJhbnNhCiAgICAgbV93ZWJJREJEYXRhYmFzZS0+ZGVsZXRl
T2JqZWN0U3RvcmUob2JqZWN0U3RvcmVJZCwgKnRyYW5zYWN0aW9uUHJveHktPmdldFdlYklEQlRy
YW5zYWN0aW9uKCksIGVjKTsKIH0KIAotLy8gRklYTUU6IFJlbW92ZSB0aGlzIGFzIHBhcnQgb2Yg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjczMy4KLVBhc3NSZWZQ
dHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlPiBJREJEYXRhYmFzZUJhY2tlbmRQcm94
eTo6dHJhbnNhY3Rpb24oY29uc3QgVmVjdG9yPGludDY0X3Q+JiBvYmplY3RTdG9yZUlkcywgdW5z
aWduZWQgc2hvcnQgbW9kZSkKLXsKLSAgICBPd25QdHI8V2ViSURCVHJhbnNhY3Rpb24+IHRyYW5z
YWN0aW9uID0gYWRvcHRQdHIobV93ZWJJREJEYXRhYmFzZS0+dHJhbnNhY3Rpb24ob2JqZWN0U3Rv
cmVJZHMsIG1vZGUpKTsKLSAgICBpZiAoIXRyYW5zYWN0aW9uKQotICAgICAgICByZXR1cm4gMDsK
LQotICAgIHJldHVybiBJREJUcmFuc2FjdGlvbkJhY2tlbmRQcm94eTo6Y3JlYXRlKHRyYW5zYWN0
aW9uLnJlbGVhc2UoKSk7Ci19Ci0KIFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50
ZXJmYWNlPiBJREJEYXRhYmFzZUJhY2tlbmRQcm94eTo6Y3JlYXRlVHJhbnNhY3Rpb24oaW50NjRf
dCBpZCwgY29uc3QgVmVjdG9yPGludDY0X3Q+JiBvYmplY3RTdG9yZUlkcywgdW5zaWduZWQgc2hv
cnQgbW9kZSkKIHsKICAgICBPd25QdHI8V2ViSURCVHJhbnNhY3Rpb24+IHRyYW5zYWN0aW9uID0g
YWRvcHRQdHIobV93ZWJJREJEYXRhYmFzZS0+Y3JlYXRlVHJhbnNhY3Rpb24oaWQsIG9iamVjdFN0
b3JlSWRzLCBtb2RlKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9J
REJEYXRhYmFzZUJhY2tlbmRQcm94eS5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSURC
RGF0YWJhc2VCYWNrZW5kUHJveHkuaAppbmRleCA0ZTdjY2UyOWU5Y2ZhNDNiYTIxMTRhN2UxYzAw
YTgwNzgxYzI2ZDVjLi4wM2QwNWQ5MmIxNmU0OGMyOWU5MzM3YmFmZTNmOTAwMzYyYmQ5NjA5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJEYXRhYmFzZUJhY2tlbmRQ
cm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQkRhdGFiYXNlQmFja2Vu
ZFByb3h5LmgKQEAgLTQ2LDggKzQ2LDYgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBQYXNzUmVm
UHRyPFdlYkNvcmU6OklEQk9iamVjdFN0b3JlQmFja2VuZEludGVyZmFjZT4gY3JlYXRlT2JqZWN0
U3RvcmUoaW50NjRfdCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBXZWJDb3JlOjpJREJLZXlQ
YXRoJiwgYm9vbCBhdXRvSW5jcmVtZW50LCBXZWJDb3JlOjpJREJUcmFuc2FjdGlvbkJhY2tlbmRJ
bnRlcmZhY2UqLCBXZWJDb3JlOjpFeGNlcHRpb25Db2RlJik7CiAgICAgdmlydHVhbCB2b2lkIGRl
bGV0ZU9iamVjdFN0b3JlKGludDY0X3QsIFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uQmFja2VuZElu
dGVyZmFjZSosIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGUmKTsKLSAgICAvLyBGSVhNRTogUmVtb3Zl
IHRoaXMgYXMgcGFydCBvZiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTAyNzMzLgotICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxXZWJDb3JlOjpJREJUcmFuc2FjdGlvbkJh
Y2tlbmRJbnRlcmZhY2U+IHRyYW5zYWN0aW9uKGNvbnN0IFZlY3RvcjxpbnQ2NF90PiYsIHVuc2ln
bmVkIHNob3J0IG1vZGUpOwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxXZWJDb3JlOjpJREJUcmFu
c2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+IGNyZWF0ZVRyYW5zYWN0aW9uKGludDY0X3QsIGNvbnN0
IFZlY3RvcjxpbnQ2NF90PiYsIHVuc2lnbmVkIHNob3J0IG1vZGUpOwogICAgIHZpcnR1YWwgdm9p
ZCBjbG9zZShQYXNzUmVmUHRyPFdlYkNvcmU6OklEQkRhdGFiYXNlQ2FsbGJhY2tzPik7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQkRhdGFiYXNlSW1wbC5j
cHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJEYXRhYmFzZUltcGwuY3BwCmlu
ZGV4IDYyMjQ2NWRlNDE0OWE5YTk0MzQyNTY3NDUwN2E4OTExNjcxYTQwMjAuLjQwM2EzMGJlZTUx
MDc2MzA3NmFkMTZmNmE5ZDM4NDJiYmE5ZmJkNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYklEQkRhdGFiYXNlSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViSURCRGF0YWJhc2VJbXBsLmNwcApAQCAtODYsMTcgKzg2LDYgQEAgV2Vi
SURCVHJhbnNhY3Rpb24qIFdlYklEQkRhdGFiYXNlSW1wbDo6Y3JlYXRlVHJhbnNhY3Rpb24obG9u
ZyBsb25nIGlkLCBjb25zdCBXZWIKICAgICByZXR1cm4gbmV3IFdlYklEQlRyYW5zYWN0aW9uSW1w
bCh0cmFuc2FjdGlvbik7CiB9CiAKLVdlYklEQlRyYW5zYWN0aW9uKiBXZWJJREJEYXRhYmFzZUlt
cGw6OnRyYW5zYWN0aW9uKGNvbnN0IFdlYlZlY3Rvcjxsb25nIGxvbmc+JiBvYmplY3RTdG9yZUlk
cywgdW5zaWduZWQgc2hvcnQgbW9kZSkKLXsKLSAgICBWZWN0b3I8aW50NjRfdD4gb2JqZWN0U3Rv
cmVJZExpc3Qob2JqZWN0U3RvcmVJZHMuc2l6ZSgpKTsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IG9iamVjdFN0b3JlSWRzLnNpemUoKTsgKytpKQotICAgICAgICBvYmplY3RTdG9yZUlkTGlz
dFtpXSA9IG9iamVjdFN0b3JlSWRzW2ldOwotICAgIFJlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tl
bmRJbnRlcmZhY2U+IHRyYW5zYWN0aW9uID0gbV9kYXRhYmFzZUJhY2tlbmQtPnRyYW5zYWN0aW9u
KG9iamVjdFN0b3JlSWRMaXN0LCBtb2RlKTsKLSAgICBpZiAoIXRyYW5zYWN0aW9uKQotICAgICAg
ICByZXR1cm4gMDsKLSAgICByZXR1cm4gbmV3IFdlYklEQlRyYW5zYWN0aW9uSW1wbCh0cmFuc2Fj
dGlvbik7Ci19Ci0KIHZvaWQgV2ViSURCRGF0YWJhc2VJbXBsOjpjbG9zZSgpCiB7CiAgICAgLy8g
VXNlIHRoZSBjYWxsYmFja3MgcGFzc2VkIGluIHRvIHRoZSBjb25zdHJ1Y3RvciBzbyB0aGF0IHRo
ZSBiYWNrZW5kIGluCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJ
REJEYXRhYmFzZUltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQkRhdGFi
YXNlSW1wbC5oCmluZGV4IGViZDRkNDhmOTM4ZjYwNWU1ZmQxM2FjMmJjMjk3YTdiMmU1ZWVhYzYu
LjY2YWE4NGRiYThhODNjOTgxOGFkYzk2MmUzY2I3MjAyNTdkYTcyYWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQkRhdGFiYXNlSW1wbC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQkRhdGFiYXNlSW1wbC5oCkBAIC01NCw4ICs1NCw2
IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgV2ViSURCT2JqZWN0U3RvcmUqIGNyZWF0ZU9iamVj
dFN0b3JlKGxvbmcgbG9uZywgY29uc3QgV2ViU3RyaW5nJiBuYW1lLCBjb25zdCBXZWJJREJLZXlQ
YXRoJiwgYm9vbCBhdXRvSW5jcmVtZW50LCBjb25zdCBXZWJJREJUcmFuc2FjdGlvbiYsIFdlYkV4
Y2VwdGlvbkNvZGUmKTsKICAgICB2aXJ0dWFsIHZvaWQgZGVsZXRlT2JqZWN0U3RvcmUobG9uZyBs
b25nIG9iamVjdFN0b3JlSWQsIGNvbnN0IFdlYklEQlRyYW5zYWN0aW9uJiwgV2ViRXhjZXB0aW9u
Q29kZSYpOwotICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhpcyBhcyBwYXJ0IG9mIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDI3MzMuCi0gICAgdmlydHVhbCBXZWJJREJU
cmFuc2FjdGlvbiogdHJhbnNhY3Rpb24oY29uc3QgV2ViVmVjdG9yPGxvbmcgbG9uZz4mIG5hbWVz
LCB1bnNpZ25lZCBzaG9ydCBtb2RlKTsKICAgICB2aXJ0dWFsIFdlYklEQlRyYW5zYWN0aW9uKiBj
cmVhdGVUcmFuc2FjdGlvbihsb25nIGxvbmcgaWQsIGNvbnN0IFdlYlZlY3Rvcjxsb25nIGxvbmc+
JiwgdW5zaWduZWQgc2hvcnQgbW9kZSk7CiAgICAgdmlydHVhbCB2b2lkIGZvcmNlQ2xvc2UoKTsK
ICAgICB2aXJ0dWFsIHZvaWQgY2xvc2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vdGVzdHMvSURCRGF0YWJhc2VCYWNrZW5kVGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3Rlc3RzL0lEQkRhdGFiYXNlQmFja2VuZFRlc3QuY3BwCmluZGV4IDBlYjdmYWU2NmE2
YzBiZGZmM2IyMjQ4OGNiODZiNjdkZmFkMDJjNzcuLjBkMjYyMjQ2NjUzODE0YTQ3ZGM5OGZhOGIz
YzlmYTBiOWEyMTJiYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMv
SURCRGF0YWJhc2VCYWNrZW5kVGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90
ZXN0cy9JREJEYXRhYmFzZUJhY2tlbmRUZXN0LmNwcApAQCAtMTUyLDggKzE1Miw2IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8SURCT2JqZWN0U3RvcmVCYWNrZW5kSW50ZXJmYWNl
PiBjcmVhdGVPYmplY3RTdG9yZShpbnQ2NF90LCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IElE
QktleVBhdGgmLCBib29sIGF1dG9JbmNyZW1lbnQsIElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVy
ZmFjZSosIEV4Y2VwdGlvbkNvZGUmKSB7IHJldHVybiAwOyB9CiAgICAgdmlydHVhbCB2b2lkIGRl
bGV0ZU9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYgbmFtZSwgSURCVHJhbnNhY3Rpb25CYWNrZW5k
SW50ZXJmYWNlKiwgRXhjZXB0aW9uQ29kZSYpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkZWxldGVP
YmplY3RTdG9yZShpbnQ2NF90LCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqLCBFeGNl
cHRpb25Db2RlJikgeyB9Ci0gICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIGFzIHBhcnQgb2YgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjczMy4KLSAgICB2aXJ0dWFs
IFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlPiB0cmFuc2FjdGlvbihj
b25zdCBWZWN0b3I8aW50NjRfdD4mLCB1bnNpZ25lZCBzaG9ydCBtb2RlKSB7IHJldHVybiAwOyB9
CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZT4g
Y3JlYXRlVHJhbnNhY3Rpb24oaW50NjRfdCwgY29uc3QgVmVjdG9yPGludDY0X3Q+JiwgdW5zaWdu
ZWQgc2hvcnQgbW9kZSkgeyByZXR1cm4gMDsgfQogCiAgICAgdmlydHVhbCB2b2lkIGNsb3NlKFBh
c3NSZWZQdHI8SURCRGF0YWJhc2VDYWxsYmFja3M+KQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176835</attachid>
            <date>2012-11-29 15:42:00 -0800</date>
            <delta_ts>2012-11-30 10:12:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102733-20121129153933.patch</filename>
            <type>text/plain</type>
            <size>13936</size>
            <attacher name="Alec Flett">alecflett</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2MTI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmQ5MmYwZTRlOGUwZmRm
YTFmYTE5ZmNiOGU4MDgzZjdjNDk2NjBhNi4uNDQ3MWVmN2YwZGI0OTM4NDg4YTgxYzJjOGU5MWJm
OTA2NzZjNjUzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDEyLTExLTI3ICBBbGVj
IEZsZXR0ICA8YWxlY2ZsZXR0QGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IHJl
bW92ZSBJREJEYXRhYmFzZUJhY2tlbmRJbnRlcmZhY2U6OnRyYW5zYWN0aW9uKCkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjczMworCisgICAgICAg
IFJldmlld2VkIGJ5IERhcmluIEZpc2hlci4KKworICAgICAgICBQYXJ0IDMgb2YgYSByZWZhY3Rv
ciwgcmVtb3ZlIHRoZSBvbGQgdHJhbnNhY3Rpb24oKSBtZXRob2QuCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzIGFzIHRoaXMgaXMganVzdCBwb3N0LXJlZmFjdG9yIGNsZWFudXAuCisKKyAgICAgICAg
KiBNb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZUJhY2tlbmRJbnRlcmZhY2UuaDoKKyAgICAg
ICAgKElEQkRhdGFiYXNlQmFja2VuZEludGVyZmFjZSk6CisKKzIwMTItMTEtMjcgIEFsZWMgRmxl
dHQgIDxhbGVjZmxldHRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEluZGV4ZWREQjogQ2hhbmdl
IGZyb250ZW5kIHRvIGNhbGwgSURCRGF0YWJhc2VCYWNrZW5kSW50ZXJmYWNlOjpjcmVhdGVUcmFu
c2FjdGlvbigpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDI3MzIKKworICAgICAgICBSZXZpZXdlZCBieSBUb255IENoYW5nLgorCisgICAgICAgIFVz
ZSB0aGUgbmV3IGNyZWF0ZVRyYW5zYWN0aW9uLCBub3cgdGhhdCBpdCBoYXMgYmVlbiBzdHViYmVk
CisgICAgICAgIG91dC4gVGhpcyBpcyBwYXJ0IDIgb2YgMyBvZiBhIHJlZmFjdG9yLiBTZWUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjczMyBmb3Ig
cGFydCAzLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBhcyB0aGlzIHJlZmFjdG9yIHNpbXBseSBr
ZWVwcyBhbmQgcHJvcGFnYXRlcyBhCisgICAgICAgIGNvdW50ZXIgdGhhdCBpcyBjdXJyZW50bHkg
dW51c2VkLgorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2U6Om5leHRUcmFuc2FjdGlvbklkKToKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2U6OnRyYW5zYWN0aW9u
KToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZS5oOgorICAgICAgICAo
SURCRGF0YWJhc2UpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQk9wZW5EQlJlcXVl
c3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCT3BlbkRCUmVxdWVzdDo6b25VcGdyYWRlTmVl
ZGVkKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OklEQlJlcXVlc3Q6Om9uU3VjY2Vzcyk6CisgICAgICAgICogTW9kdWxlcy9p
bmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNh
Y3Rpb246OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6SURCVHJh
bnNhY3Rpb24pOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmg6
CisgICAgICAgIChJREJUcmFuc2FjdGlvbik6CisKIDIwMTItMTEtMjkgIEFuZHkgU2hhdyAgPGFu
ZHkuc2hhd0BkaWdpYS5jb20+CiAKICAgICAgICAgW1F0XSBJbXBsZW1lbnQgc3VwcG9ydCBmb3Ig
Q29jb2EgYmFzZWQgTlBBUEkgcGx1Z2lucyBvbiBNYWMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cK
aW5kZXggMjkzZjZmMTFiOGEwZmM2NTg2YmZkZjgwMmE2OGZkODVjZTQ0ODMwMS4uOWI3NmM0NTA2
MGI0NmVlMDdjMDUxZTU2YzlhMDcyMzU0MzJmYWI3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMi0xMS0yNyAgQWxlYyBGbGV0dCAgPGFsZWNmbGV0dEBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW5kZXhlZERCOiByZW1vdmUgSURCRGF0YWJhc2VCYWNr
ZW5kSW50ZXJmYWNlOjp0cmFuc2FjdGlvbigpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDI3MzMKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBG
aXNoZXIuCisKKyAgICAgICAgUGFydCAzIG9mIGEgcmVmYWN0b3IgLSBqdXN0IHJlbW92ZSB0aGUg
cHJveHkgY29kZSBmb3IgdGhlIG5vdworICAgICAgICBkZWZ1bmN0IHRyYW5zYWN0aW9uIG1ldGhv
ZC4KKworICAgICAgICAqIHB1YmxpYy9XZWJJREJEYXRhYmFzZS5oOgorICAgICAgICAqIHNyYy9J
REJEYXRhYmFzZUJhY2tlbmRQcm94eS5jcHA6CisgICAgICAgICogc3JjL0lEQkRhdGFiYXNlQmFj
a2VuZFByb3h5Lmg6CisgICAgICAgIChJREJEYXRhYmFzZUJhY2tlbmRQcm94eSk6CisgICAgICAg
ICogc3JjL1dlYklEQkRhdGFiYXNlSW1wbC5jcHA6CisgICAgICAgICogc3JjL1dlYklEQkRhdGFi
YXNlSW1wbC5oOgorICAgICAgICAoV2ViSURCRGF0YWJhc2VJbXBsKToKKyAgICAgICAgKiB0ZXN0
cy9JREJEYXRhYmFzZUJhY2tlbmRUZXN0LmNwcDoKKwogMjAxMi0xMS0yOSAgTWlndWVsIEdhcmNp
YSAgPG1pZ3VlbGdAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEZpeCB0eXBvIGluIGRlc2NyaXB0
aW9uIG9mIG9wZW5EYXRlVGltZUNob29zZXIgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZUJhY2tlbmRJbXBs
LmNwcAppbmRleCAyY2JmOWIzYzgxYmJmMTA3YTk1YjdlOWJjMjZiOWU4ZGYxODUwODA5Li5lNjNk
ZjkwYjY3ODQ0OWYyODk2ZTVmNWMzOWRjMjA0MzFkNDA3NjZmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZUJhY2tlbmRJbXBs
LmNwcApAQCAtMzIxLDEyICszMjEsNiBAQCB2b2lkIElEQkRhdGFiYXNlQmFja2VuZEltcGw6OnBy
b2Nlc3NQZW5kaW5nQ2FsbHMoKQogICAgIH0KIH0KIAotLy8gRklYTUU6IFJlbW92ZSB0aGlzIGFz
IHBhcnQgb2YgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjczMy4K
LVBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlPiBJREJEYXRhYmFzZUJh
Y2tlbmRJbXBsOjp0cmFuc2FjdGlvbihjb25zdCBWZWN0b3I8aW50NjRfdD4mIG9iamVjdFN0b3Jl
SWRzLCB1bnNpZ25lZCBzaG9ydCBtb2RlKQotewotICAgIHJldHVybiBjcmVhdGVUcmFuc2FjdGlv
bigwLCBvYmplY3RTdG9yZUlkcywgbW9kZSk7Ci19Ci0KIFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rp
b25CYWNrZW5kSW50ZXJmYWNlPiBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpjcmVhdGVUcmFuc2Fj
dGlvbihpbnQ2NF90IHRyYW5zYWN0aW9uSWQsIGNvbnN0IFZlY3RvcjxpbnQ2NF90PiYgb2JqZWN0
U3RvcmVJZHMsIHVuc2lnbmVkIHNob3J0IG1vZGUpCiB7CiAgICAgUmVmUHRyPElEQlRyYW5zYWN0
aW9uQmFja2VuZEltcGw+IHRyYW5zYWN0aW9uID0gSURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbDo6
Y3JlYXRlKHRyYW5zYWN0aW9uSWQsIG9iamVjdFN0b3JlSWRzLCBtb2RlLCB0aGlzKTsKQEAgLTM4
Miw3ICszNzYsOCBAQCB2b2lkIElEQkRhdGFiYXNlQmFja2VuZEltcGw6OnJ1bkludFZlcnNpb25D
aGFuZ2VUcmFuc2FjdGlvbihpbnQ2NF90IHJlcXVlc3RlZFZlcgogICAgIH0KIAogICAgIFZlY3Rv
cjxpbnQ2NF90PiBvYmplY3RTdG9yZUlkczsKLSAgICBSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNr
ZW5kSW50ZXJmYWNlPiB0cmFuc2FjdGlvbkludGVyZmFjZSA9IHRyYW5zYWN0aW9uKG9iamVjdFN0
b3JlSWRzLCBJREJUcmFuc2FjdGlvbjo6VkVSU0lPTl9DSEFOR0UpOworICAgIC8vIEZJWE1FOiBU
aGUgdHJhbnNhY3Rpb25JZCBuZWVkcyB0byBiZSBwaXBlZCBpbiB0aHJvdWdoIElEQkRhdGFiYXNl
QmFja2VuZEludGVyZmFjZTo6b3BlbigpLgorICAgIFJlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tl
bmRJbnRlcmZhY2U+IHRyYW5zYWN0aW9uSW50ZXJmYWNlID0gY3JlYXRlVHJhbnNhY3Rpb24oMCwg
b2JqZWN0U3RvcmVJZHMsIElEQlRyYW5zYWN0aW9uOjpWRVJTSU9OX0NIQU5HRSk7CiAgICAgUmVm
UHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEltcGw+IHRyYW5zYWN0aW9uID0gSURCVHJhbnNhY3Rp
b25CYWNrZW5kSW1wbDo6ZnJvbSh0cmFuc2FjdGlvbkludGVyZmFjZS5nZXQoKSk7CiAKICAgICBS
ZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5kSW1wbD4gZGF0YWJhc2UgPSB0aGlzOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2VCYWNrZW5kSW1w
bC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2VCYWNrZW5k
SW1wbC5oCmluZGV4IGEzMzk2N2NmZDk1ZTI1MzUwOTFjMjIxMmViZDUwODk5NWQyYTYzYjUuLjRi
YmY0YmVhNjZjMzllMTU0ODU3NWQ4NjgxYzYzODNkZGZmOTEzOTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZUJhY2tlbmRJbXBs
LmgKQEAgLTYzLDggKzYzLDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgSURCRGF0YWJhc2VNZXRh
ZGF0YSBtZXRhZGF0YSgpIGNvbnN0OwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxJREJPYmplY3RT
dG9yZUJhY2tlbmRJbnRlcmZhY2U+IGNyZWF0ZU9iamVjdFN0b3JlKGludDY0X3QgaWQsIGNvbnN0
IFN0cmluZyYgbmFtZSwgY29uc3QgSURCS2V5UGF0aCYsIGJvb2wgYXV0b0luY3JlbWVudCwgSURC
VHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZpcnR1
YWwgdm9pZCBkZWxldGVPYmplY3RTdG9yZShpbnQ2NF90LCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJ
bnRlcmZhY2UqLCBFeGNlcHRpb25Db2RlJik7Ci0gICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIGFz
IHBhcnQgb2YgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjczMy4K
LSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlPiB0
cmFuc2FjdGlvbihjb25zdCBWZWN0b3I8aW50NjRfdD4mLCB1bnNpZ25lZCBzaG9ydCk7CiAgICAg
dmlydHVhbCBQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZT4gY3JlYXRl
VHJhbnNhY3Rpb24oaW50NjRfdCB0cmFuc2FjdGlvbklkLCBjb25zdCBWZWN0b3I8aW50NjRfdD4m
IG9iamVjdFN0b3JlSWRzLCB1bnNpZ25lZCBzaG9ydCBtb2RlKTsKICAgICB2aXJ0dWFsIHZvaWQg
Y2xvc2UoUGFzc1JlZlB0cjxJREJEYXRhYmFzZUNhbGxiYWNrcz4pOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZUJhY2tlbmRJbnRlcmZh
Y2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2Vu
ZEludGVyZmFjZS5oCmluZGV4IDBhZTM2ZGEzN2FmZmZkOGE0ZDRiYTVlYzM3YjcyMmYyN2M0MzYy
YzYuLjg1MDA2MmMyOTE4NzMyYmEzNGE5MjdjN2IwN2U5OTVlYTkwMzY0ZGYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEludGVy
ZmFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNl
QmFja2VuZEludGVyZmFjZS5oCkBAIC01NSw4ICs1NSw2IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1
YWwgUGFzc1JlZlB0cjxJREJPYmplY3RTdG9yZUJhY2tlbmRJbnRlcmZhY2U+IGNyZWF0ZU9iamVj
dFN0b3JlKGludDY0X3QsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgSURCS2V5UGF0aCYsIGJv
b2wgYXV0b0luY3JlbWVudCwgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKiwgRXhjZXB0
aW9uQ29kZSYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGVsZXRlT2JqZWN0U3RvcmUoaW50NjRf
dCwgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKiwgRXhjZXB0aW9uQ29kZSYpID0gMDsK
LSAgICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgYXMgcGFydCBvZiBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyNzMzLgotICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxJREJU
cmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+IHRyYW5zYWN0aW9uKGNvbnN0IFZlY3RvcjxpbnQ2
NF90PiYgb2JqZWN0U3RvcmVJZHMsIHVuc2lnbmVkIHNob3J0IG1vZGUpID0gMDsKICAgICB2aXJ0
dWFsIFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlPiBjcmVhdGVUcmFu
c2FjdGlvbihpbnQ2NF90IHRyYW5zYWN0aW9uSWQsIGNvbnN0IFZlY3RvcjxpbnQ2NF90PiYgb2Jq
ZWN0U3RvcmVJZHMsIHVuc2lnbmVkIHNob3J0IG1vZGUpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQg
Y2xvc2UoUGFzc1JlZlB0cjxJREJEYXRhYmFzZUNhbGxiYWNrcz4pID0gMDsKIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJREJEYXRhYmFzZS5oIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSURCRGF0YWJhc2UuaAppbmRleCAzYWVmN2Jk
YjA1Y2VjNjc5ZDIzZjM5YmQ3MjBiYzgyMjQyMTBiODQ2Li45NWJhZjY2YjY1MThjOThhMGZhNTc4
YmIyNjRmM2ZjMTllY2Q1ZGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJJREJEYXRhYmFzZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYklEQkRhdGFiYXNlLmgKQEAgLTU2LDE0ICs1Niw2IEBAIHB1YmxpYzoKICAgICAgICAgcmV0
dXJuIDA7CiAgICAgfQogICAgIHZpcnR1YWwgdm9pZCBkZWxldGVPYmplY3RTdG9yZShsb25nIGxv
bmcgb2JqZWN0U3RvcmVJZCwgY29uc3QgV2ViSURCVHJhbnNhY3Rpb24mIHRyYW5zYWN0aW9uLCBX
ZWJFeGNlcHRpb25Db2RlJiBlYykgeyBXRUJLSVRfQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KLSAg
ICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgYXMgcGFydCBvZiBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTAyNzMzLgotICAgIC8vIFRyYW5zZmVycyBvd25lcnNoaXAgb2Yg
dGhlIFdlYklEQlRyYW5zYWN0aW9uIHRvIHRoZSBjYWxsZXIuCi0gICAgdmlydHVhbCBXZWJJREJU
cmFuc2FjdGlvbiogdHJhbnNhY3Rpb24oY29uc3QgV2ViVmVjdG9yPGxvbmcgbG9uZz4mLCB1bnNp
Z25lZCBzaG9ydCBtb2RlKQotICAgIHsKLSAgICAgICAgV0VCS0lUX0FTU0VSVF9OT1RfUkVBQ0hF
RCgpOwotICAgICAgICByZXR1cm4gMDsKLSAgICB9Ci0gICAgLy8gVHJhbnNmZXJzIG93bmVyc2hp
cCBvZiB0aGUgV2ViSURCVHJhbnNhY3Rpb24gdG8gdGhlIGNhbGxlci4KICAgICB2aXJ0dWFsIFdl
YklEQlRyYW5zYWN0aW9uKiBjcmVhdGVUcmFuc2FjdGlvbihsb25nIGxvbmcgaWQsIGNvbnN0IFdl
YlZlY3Rvcjxsb25nIGxvbmc+JiwgdW5zaWduZWQgc2hvcnQgbW9kZSkgeyBXRUJLSVRfQVNTRVJU
X05PVF9SRUFDSEVEKCk7IHJldHVybiAwOyB9CiAgICAgdmlydHVhbCB2b2lkIGNsb3NlKCkgeyBX
RUJLSVRfQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KICAgICB2aXJ0dWFsIHZvaWQgZm9yY2VDbG9z
ZSgpIHsgV0VCS0lUX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9JREJEYXRhYmFzZUJhY2tlbmRQcm94eS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9JREJEYXRhYmFzZUJhY2tlbmRQcm94eS5jcHAKaW5kZXggOTFh
NDE5YTNlYzJmZjk2MDc4YWNkYWRjZmZkODVlZmZiMDk1NmM5ZS4uZTljODBkMGNmNjI5ZWMyNDc3
YWRhMTNiODhmNDQ3ZmE5NTkyZGE0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvSURCRGF0YWJhc2VCYWNrZW5kUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL0lEQkRhdGFiYXNlQmFja2VuZFByb3h5LmNwcApAQCAtODUsMTYgKzg1LDYgQEAg
dm9pZCBJREJEYXRhYmFzZUJhY2tlbmRQcm94eTo6ZGVsZXRlT2JqZWN0U3RvcmUoaW50NjRfdCBv
YmplY3RTdG9yZUlkLCBJREJUcmFuc2EKICAgICBtX3dlYklEQkRhdGFiYXNlLT5kZWxldGVPYmpl
Y3RTdG9yZShvYmplY3RTdG9yZUlkLCAqdHJhbnNhY3Rpb25Qcm94eS0+Z2V0V2ViSURCVHJhbnNh
Y3Rpb24oKSwgZWMpOwogfQogCi0vLyBGSVhNRTogUmVtb3ZlIHRoaXMgYXMgcGFydCBvZiBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyNzMzLgotUGFzc1JlZlB0cjxJ
REJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+IElEQkRhdGFiYXNlQmFja2VuZFByb3h5Ojp0
cmFuc2FjdGlvbihjb25zdCBWZWN0b3I8aW50NjRfdD4mIG9iamVjdFN0b3JlSWRzLCB1bnNpZ25l
ZCBzaG9ydCBtb2RlKQotewotICAgIE93blB0cjxXZWJJREJUcmFuc2FjdGlvbj4gdHJhbnNhY3Rp
b24gPSBhZG9wdFB0cihtX3dlYklEQkRhdGFiYXNlLT50cmFuc2FjdGlvbihvYmplY3RTdG9yZUlk
cywgbW9kZSkpOwotICAgIGlmICghdHJhbnNhY3Rpb24pCi0gICAgICAgIHJldHVybiAwOwotCi0g
ICAgcmV0dXJuIElEQlRyYW5zYWN0aW9uQmFja2VuZFByb3h5OjpjcmVhdGUodHJhbnNhY3Rpb24u
cmVsZWFzZSgpKTsKLX0KLQogUGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZh
Y2U+IElEQkRhdGFiYXNlQmFja2VuZFByb3h5OjpjcmVhdGVUcmFuc2FjdGlvbihpbnQ2NF90IGlk
LCBjb25zdCBWZWN0b3I8aW50NjRfdD4mIG9iamVjdFN0b3JlSWRzLCB1bnNpZ25lZCBzaG9ydCBt
b2RlKQogewogICAgIE93blB0cjxXZWJJREJUcmFuc2FjdGlvbj4gdHJhbnNhY3Rpb24gPSBhZG9w
dFB0cihtX3dlYklEQkRhdGFiYXNlLT5jcmVhdGVUcmFuc2FjdGlvbihpZCwgb2JqZWN0U3RvcmVJ
ZHMsIG1vZGUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQkRh
dGFiYXNlQmFja2VuZFByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJEYXRh
YmFzZUJhY2tlbmRQcm94eS5oCmluZGV4IDRlN2NjZTI5ZTljZmE0M2JhMjExNGE3ZTFjMDBhODA3
ODFjMjZkNWMuLjAzZDA1ZDkyYjE2ZTQ4YzI5ZTkzMzdiYWZlM2Y5MDAzNjJiZDk2MDkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQkRhdGFiYXNlQmFja2VuZFByb3h5
LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCRGF0YWJhc2VCYWNrZW5kUHJv
eHkuaApAQCAtNDYsOCArNDYsNiBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8
V2ViQ29yZTo6SURCT2JqZWN0U3RvcmVCYWNrZW5kSW50ZXJmYWNlPiBjcmVhdGVPYmplY3RTdG9y
ZShpbnQ2NF90LCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFdlYkNvcmU6OklEQktleVBhdGgm
LCBib29sIGF1dG9JbmNyZW1lbnQsIFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uQmFja2VuZEludGVy
ZmFjZSosIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGUmKTsKICAgICB2aXJ0dWFsIHZvaWQgZGVsZXRl
T2JqZWN0U3RvcmUoaW50NjRfdCwgV2ViQ29yZTo6SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJm
YWNlKiwgV2ViQ29yZTo6RXhjZXB0aW9uQ29kZSYpOwotICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhp
cyBhcyBwYXJ0IG9mIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDI3
MzMuCi0gICAgdmlydHVhbCBQYXNzUmVmUHRyPFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uQmFja2Vu
ZEludGVyZmFjZT4gdHJhbnNhY3Rpb24oY29uc3QgVmVjdG9yPGludDY0X3Q+JiwgdW5zaWduZWQg
c2hvcnQgbW9kZSk7CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdlYkNvcmU6OklEQlRyYW5zYWN0
aW9uQmFja2VuZEludGVyZmFjZT4gY3JlYXRlVHJhbnNhY3Rpb24oaW50NjRfdCwgY29uc3QgVmVj
dG9yPGludDY0X3Q+JiwgdW5zaWduZWQgc2hvcnQgbW9kZSk7CiAgICAgdmlydHVhbCB2b2lkIGNs
b3NlKFBhc3NSZWZQdHI8V2ViQ29yZTo6SURCRGF0YWJhc2VDYWxsYmFja3M+KTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCRGF0YWJhc2VJbXBsLmNwcCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQkRhdGFiYXNlSW1wbC5jcHAKaW5kZXgg
NjIyNDY1ZGU0MTQ5YTlhOTQzNDI1Njc0NTA3YTg5MTE2NzFhNDAyMC4uNDAzYTMwYmVlNTEwNzYz
MDc2YWQxNmY2YTlkMzg0MmJiYTlmYmQ0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViSURCRGF0YWJhc2VJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJJREJEYXRhYmFzZUltcGwuY3BwCkBAIC04NiwxNyArODYsNiBAQCBXZWJJREJU
cmFuc2FjdGlvbiogV2ViSURCRGF0YWJhc2VJbXBsOjpjcmVhdGVUcmFuc2FjdGlvbihsb25nIGxv
bmcgaWQsIGNvbnN0IFdlYgogICAgIHJldHVybiBuZXcgV2ViSURCVHJhbnNhY3Rpb25JbXBsKHRy
YW5zYWN0aW9uKTsKIH0KIAotV2ViSURCVHJhbnNhY3Rpb24qIFdlYklEQkRhdGFiYXNlSW1wbDo6
dHJhbnNhY3Rpb24oY29uc3QgV2ViVmVjdG9yPGxvbmcgbG9uZz4mIG9iamVjdFN0b3JlSWRzLCB1
bnNpZ25lZCBzaG9ydCBtb2RlKQotewotICAgIFZlY3RvcjxpbnQ2NF90PiBvYmplY3RTdG9yZUlk
TGlzdChvYmplY3RTdG9yZUlkcy5zaXplKCkpOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
b2JqZWN0U3RvcmVJZHMuc2l6ZSgpOyArK2kpCi0gICAgICAgIG9iamVjdFN0b3JlSWRMaXN0W2ld
ID0gb2JqZWN0U3RvcmVJZHNbaV07Ci0gICAgUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZElu
dGVyZmFjZT4gdHJhbnNhY3Rpb24gPSBtX2RhdGFiYXNlQmFja2VuZC0+dHJhbnNhY3Rpb24ob2Jq
ZWN0U3RvcmVJZExpc3QsIG1vZGUpOwotICAgIGlmICghdHJhbnNhY3Rpb24pCi0gICAgICAgIHJl
dHVybiAwOwotICAgIHJldHVybiBuZXcgV2ViSURCVHJhbnNhY3Rpb25JbXBsKHRyYW5zYWN0aW9u
KTsKLX0KLQogdm9pZCBXZWJJREJEYXRhYmFzZUltcGw6OmNsb3NlKCkKIHsKICAgICAvLyBVc2Ug
dGhlIGNhbGxiYWNrcyBwYXNzZWQgaW4gdG8gdGhlIGNvbnN0cnVjdG9yIHNvIHRoYXQgdGhlIGJh
Y2tlbmQgaW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQkRh
dGFiYXNlSW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCRGF0YWJhc2VJ
bXBsLmgKaW5kZXggZWJkNGQ0OGY5MzhmNjA1ZTVmZDEzYWMyYmMyOTdhN2IyZTVlZWFjNi4uNjZh
YTg0ZGJhOGE4M2M5ODE4YWRjOTYyZTNjYjcyMDI1N2RhNzJhZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCRGF0YWJhc2VJbXBsLmgKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViSURCRGF0YWJhc2VJbXBsLmgKQEAgLTU0LDggKzU0LDYgQEAg
cHVibGljOgogCiAgICAgdmlydHVhbCBXZWJJREJPYmplY3RTdG9yZSogY3JlYXRlT2JqZWN0U3Rv
cmUobG9uZyBsb25nLCBjb25zdCBXZWJTdHJpbmcmIG5hbWUsIGNvbnN0IFdlYklEQktleVBhdGgm
LCBib29sIGF1dG9JbmNyZW1lbnQsIGNvbnN0IFdlYklEQlRyYW5zYWN0aW9uJiwgV2ViRXhjZXB0
aW9uQ29kZSYpOwogICAgIHZpcnR1YWwgdm9pZCBkZWxldGVPYmplY3RTdG9yZShsb25nIGxvbmcg
b2JqZWN0U3RvcmVJZCwgY29uc3QgV2ViSURCVHJhbnNhY3Rpb24mLCBXZWJFeGNlcHRpb25Db2Rl
Jik7Ci0gICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIGFzIHBhcnQgb2YgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjczMy4KLSAgICB2aXJ0dWFsIFdlYklEQlRyYW5z
YWN0aW9uKiB0cmFuc2FjdGlvbihjb25zdCBXZWJWZWN0b3I8bG9uZyBsb25nPiYgbmFtZXMsIHVu
c2lnbmVkIHNob3J0IG1vZGUpOwogICAgIHZpcnR1YWwgV2ViSURCVHJhbnNhY3Rpb24qIGNyZWF0
ZVRyYW5zYWN0aW9uKGxvbmcgbG9uZyBpZCwgY29uc3QgV2ViVmVjdG9yPGxvbmcgbG9uZz4mLCB1
bnNpZ25lZCBzaG9ydCBtb2RlKTsKICAgICB2aXJ0dWFsIHZvaWQgZm9yY2VDbG9zZSgpOwogICAg
IHZpcnR1YWwgdm9pZCBjbG9zZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS90ZXN0cy9JREJEYXRhYmFzZUJhY2tlbmRUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vdGVzdHMvSURCRGF0YWJhc2VCYWNrZW5kVGVzdC5jcHAKaW5kZXggMGViN2ZhZTY2YTZjMGJk
ZmYzYjIyNDg4Y2I4NmI2N2RmYWQwMmM3Ny4uMGQyNjIyNDY2NTM4MTRhNDdkYzk4ZmE4YjNjOWZh
MGI5YTIxMmJhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9JREJE
YXRhYmFzZUJhY2tlbmRUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3Rz
L0lEQkRhdGFiYXNlQmFja2VuZFRlc3QuY3BwCkBAIC0xNTIsOCArMTUyLDYgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxJREJPYmplY3RTdG9yZUJhY2tlbmRJbnRlcmZhY2U+IGNy
ZWF0ZU9iamVjdFN0b3JlKGludDY0X3QsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgSURCS2V5
UGF0aCYsIGJvb2wgYXV0b0luY3JlbWVudCwgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNl
KiwgRXhjZXB0aW9uQ29kZSYpIHsgcmV0dXJuIDA7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGVsZXRl
T2JqZWN0U3RvcmUoY29uc3QgU3RyaW5nJiBuYW1lLCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRl
cmZhY2UqLCBFeGNlcHRpb25Db2RlJikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRlbGV0ZU9iamVj
dFN0b3JlKGludDY0X3QsIElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSosIEV4Y2VwdGlv
bkNvZGUmKSB7IH0KLSAgICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgYXMgcGFydCBvZiBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyNzMzLgotICAgIHZpcnR1YWwgUGFz
c1JlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+IHRyYW5zYWN0aW9uKGNvbnN0
IFZlY3RvcjxpbnQ2NF90PiYsIHVuc2lnbmVkIHNob3J0IG1vZGUpIHsgcmV0dXJuIDA7IH0KICAg
ICB2aXJ0dWFsIFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlPiBjcmVh
dGVUcmFuc2FjdGlvbihpbnQ2NF90LCBjb25zdCBWZWN0b3I8aW50NjRfdD4mLCB1bnNpZ25lZCBz
aG9ydCBtb2RlKSB7IHJldHVybiAwOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgY2xvc2UoUGFzc1Jl
ZlB0cjxJREJEYXRhYmFzZUNhbGxiYWNrcz4pCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176988</attachid>
            <date>2012-11-30 10:12:43 -0800</date>
            <delta_ts>2012-12-03 11:19:22 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-102733-20121130101015.patch</filename>
            <type>text/plain</type>
            <size>12714</size>
            <attacher name="Alec Flett">alecflett</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2MTM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGMyMzk2YWY2YTk0YzNh
Nzc0ZjcxY2Q5OGNmMzYzOTBiMzU3MmI3Yy4uZjk1MjQ3MDA1MWYxOTEzYzJmZDAwMWI3OGFjZDE3
NmQzYjEyNzBkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTExLTI3ICBBbGVj
IEZsZXR0ICA8YWxlY2ZsZXR0QGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IHJl
bW92ZSBJREJEYXRhYmFzZUJhY2tlbmRJbnRlcmZhY2U6OnRyYW5zYWN0aW9uKCkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjczMworCisgICAgICAg
IFJldmlld2VkIGJ5IERhcmluIEZpc2hlci4KKworICAgICAgICBQYXJ0IDMgb2YgYSByZWZhY3Rv
ciwgcmVtb3ZlIHRoZSBvbGQgdHJhbnNhY3Rpb24oKSBtZXRob2QuCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzIGFzIHRoaXMgaXMganVzdCBwb3N0LXJlZmFjdG9yIGNsZWFudXAuCisKKyAgICAgICAg
KiBNb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZUJhY2tlbmRJbnRlcmZhY2UuaDoKKyAgICAg
ICAgKElEQkRhdGFiYXNlQmFja2VuZEludGVyZmFjZSk6CisKIDIwMTItMTEtMjkgIFRpYW5jaGVu
ZyBKaWFuZyAgPHRpamlhbmdAcmltLmNvbT4KIAogICAgICAgICBbQmxhY2tCZXJyeV0gVXBkYXRl
IEJCMTAgZm9ybSB0aGVtZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggZDQyMGFiYjAz
YjlhMTg1MDMwZThkMTBmZTc0MDI2Y2Y1OTlkZDA0MC4uODQ0MzY5ZDVkZTdlZWZhMGVhY2UzNmFk
OGFiYTE4ZTQ1Yzc4MmQ2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
MiBAQAorMjAxMi0xMS0yNyAgQWxlYyBGbGV0dCAgPGFsZWNmbGV0dEBjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgSW5kZXhlZERCOiByZW1vdmUgSURCRGF0YWJhc2VCYWNrZW5kSW50ZXJmYWNlOjp0
cmFuc2FjdGlvbigpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDI3MzMKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBGaXNoZXIuCisKKyAgICAg
ICAgUGFydCAzIG9mIGEgcmVmYWN0b3IgLSBqdXN0IHJlbW92ZSB0aGUgcHJveHkgY29kZSBmb3Ig
dGhlIG5vdworICAgICAgICBkZWZ1bmN0IHRyYW5zYWN0aW9uIG1ldGhvZC4KKworICAgICAgICAq
IHB1YmxpYy9XZWJJREJEYXRhYmFzZS5oOgorICAgICAgICAqIHNyYy9JREJEYXRhYmFzZUJhY2tl
bmRQcm94eS5jcHA6CisgICAgICAgICogc3JjL0lEQkRhdGFiYXNlQmFja2VuZFByb3h5Lmg6Cisg
ICAgICAgIChJREJEYXRhYmFzZUJhY2tlbmRQcm94eSk6CisgICAgICAgICogc3JjL1dlYklEQkRh
dGFiYXNlSW1wbC5jcHA6CisgICAgICAgICogc3JjL1dlYklEQkRhdGFiYXNlSW1wbC5oOgorICAg
ICAgICAoV2ViSURCRGF0YWJhc2VJbXBsKToKKyAgICAgICAgKiB0ZXN0cy9JREJEYXRhYmFzZUJh
Y2tlbmRUZXN0LmNwcDoKKwogMjAxMi0xMS0yOSAgRmxvcmluIE1hbGl0YSAgPGZtYWxpdGFAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFtTa2lhXSBBZGQgbWlzc2luZyBPcGFxdWVSZWdpb25Ta2lh
IG5vdGlmaWVyIGNhbGxzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwCmluZGV4IDJjYmY5YjNjODFiYmYx
MDdhOTViN2U5YmMyNmI5ZThkZjE4NTA4MDkuLmU2M2RmOTBiNjc4NDQ5ZjI4OTZlNWY1YzM5ZGMy
MDQzMWQ0MDc2NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwCkBAIC0zMjEsMTIgKzMyMSw2IEBA
IHZvaWQgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6cHJvY2Vzc1BlbmRpbmdDYWxscygpCiAgICAg
fQogfQogCi0vLyBGSVhNRTogUmVtb3ZlIHRoaXMgYXMgcGFydCBvZiBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyNzMzLgotUGFzc1JlZlB0cjxJREJUcmFuc2FjdGlv
bkJhY2tlbmRJbnRlcmZhY2U+IElEQkRhdGFiYXNlQmFja2VuZEltcGw6OnRyYW5zYWN0aW9uKGNv
bnN0IFZlY3RvcjxpbnQ2NF90PiYgb2JqZWN0U3RvcmVJZHMsIHVuc2lnbmVkIHNob3J0IG1vZGUp
Ci17Ci0gICAgcmV0dXJuIGNyZWF0ZVRyYW5zYWN0aW9uKDAsIG9iamVjdFN0b3JlSWRzLCBtb2Rl
KTsKLX0KLQogUGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+IElEQkRh
dGFiYXNlQmFja2VuZEltcGw6OmNyZWF0ZVRyYW5zYWN0aW9uKGludDY0X3QgdHJhbnNhY3Rpb25J
ZCwgY29uc3QgVmVjdG9yPGludDY0X3Q+JiBvYmplY3RTdG9yZUlkcywgdW5zaWduZWQgc2hvcnQg
bW9kZSkKIHsKICAgICBSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbD4gdHJhbnNhY3Rp
b24gPSBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsOjpjcmVhdGUodHJhbnNhY3Rpb25JZCwgb2Jq
ZWN0U3RvcmVJZHMsIG1vZGUsIHRoaXMpOwpAQCAtMzgyLDcgKzM3Niw4IEBAIHZvaWQgSURCRGF0
YWJhc2VCYWNrZW5kSW1wbDo6cnVuSW50VmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9uKGludDY0X3Qg
cmVxdWVzdGVkVmVyCiAgICAgfQogCiAgICAgVmVjdG9yPGludDY0X3Q+IG9iamVjdFN0b3JlSWRz
OwotICAgIFJlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+IHRyYW5zYWN0aW9u
SW50ZXJmYWNlID0gdHJhbnNhY3Rpb24ob2JqZWN0U3RvcmVJZHMsIElEQlRyYW5zYWN0aW9uOjpW
RVJTSU9OX0NIQU5HRSk7CisgICAgLy8gRklYTUU6IFRoZSB0cmFuc2FjdGlvbklkIG5lZWRzIHRv
IGJlIHBpcGVkIGluIHRocm91Z2ggSURCRGF0YWJhc2VCYWNrZW5kSW50ZXJmYWNlOjpvcGVuKCku
CisgICAgUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZT4gdHJhbnNhY3Rpb25J
bnRlcmZhY2UgPSBjcmVhdGVUcmFuc2FjdGlvbigwLCBvYmplY3RTdG9yZUlkcywgSURCVHJhbnNh
Y3Rpb246OlZFUlNJT05fQ0hBTkdFKTsKICAgICBSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5k
SW1wbD4gdHJhbnNhY3Rpb24gPSBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsOjpmcm9tKHRyYW5z
YWN0aW9uSW50ZXJmYWNlLmdldCgpKTsKIAogICAgIFJlZlB0cjxJREJEYXRhYmFzZUJhY2tlbmRJ
bXBsPiBkYXRhYmFzZSA9IHRoaXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmgKaW5kZXggYTMzOTY3Y2ZkOTVl
MjUzNTA5MWMyMjEyZWJkNTA4OTk1ZDJhNjNiNS4uNGJiZjRiZWE2NmMzOWUxNTQ4NTc1ZDg2ODFj
NjM4M2RkZmY5MTM5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuaApAQCAtNjMsOCArNjMsNiBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCBJREJEYXRhYmFzZU1ldGFkYXRhIG1ldGFkYXRhKCkgY29uc3Q7CiAg
ICAgdmlydHVhbCBQYXNzUmVmUHRyPElEQk9iamVjdFN0b3JlQmFja2VuZEludGVyZmFjZT4gY3Jl
YXRlT2JqZWN0U3RvcmUoaW50NjRfdCBpZCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBJREJL
ZXlQYXRoJiwgYm9vbCBhdXRvSW5jcmVtZW50LCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZh
Y2UqLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdmlydHVhbCB2b2lkIGRlbGV0ZU9iamVjdFN0b3Jl
KGludDY0X3QsIElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSosIEV4Y2VwdGlvbkNvZGUm
KTsKLSAgICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgYXMgcGFydCBvZiBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyNzMzLgotICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxJ
REJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+IHRyYW5zYWN0aW9uKGNvbnN0IFZlY3Rvcjxp
bnQ2NF90PiYsIHVuc2lnbmVkIHNob3J0KTsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8SURCVHJh
bnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlPiBjcmVhdGVUcmFuc2FjdGlvbihpbnQ2NF90IHRyYW5z
YWN0aW9uSWQsIGNvbnN0IFZlY3RvcjxpbnQ2NF90PiYgb2JqZWN0U3RvcmVJZHMsIHVuc2lnbmVk
IHNob3J0IG1vZGUpOwogICAgIHZpcnR1YWwgdm9pZCBjbG9zZShQYXNzUmVmUHRyPElEQkRhdGFi
YXNlQ2FsbGJhY2tzPik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEludGVyZmFjZS5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2VCYWNrZW5kSW50ZXJmYWNlLmgKaW5kZXggMGFlMzZk
YTM3YWZmZmQ4YTRkNGJhNWVjMzdiNzIyZjI3YzQzNjJjNi4uODUwMDYyYzI5MTg3MzJiYTM0YTky
N2M3YjA3ZTk5NWVhOTAzNjRkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvSURCRGF0YWJhc2VCYWNrZW5kSW50ZXJmYWNlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2VCYWNrZW5kSW50ZXJmYWNlLmgKQEAgLTU1
LDggKzU1LDYgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPElEQk9iamVjdFN0
b3JlQmFja2VuZEludGVyZmFjZT4gY3JlYXRlT2JqZWN0U3RvcmUoaW50NjRfdCwgY29uc3QgU3Ry
aW5nJiBuYW1lLCBjb25zdCBJREJLZXlQYXRoJiwgYm9vbCBhdXRvSW5jcmVtZW50LCBJREJUcmFu
c2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqLCBFeGNlcHRpb25Db2RlJikgPSAwOwogICAgIHZpcnR1
YWwgdm9pZCBkZWxldGVPYmplY3RTdG9yZShpbnQ2NF90LCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJ
bnRlcmZhY2UqLCBFeGNlcHRpb25Db2RlJikgPSAwOwotICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhp
cyBhcyBwYXJ0IG9mIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDI3
MzMuCi0gICAgdmlydHVhbCBQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFj
ZT4gdHJhbnNhY3Rpb24oY29uc3QgVmVjdG9yPGludDY0X3Q+JiBvYmplY3RTdG9yZUlkcywgdW5z
aWduZWQgc2hvcnQgbW9kZSkgPSAwOwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxJREJUcmFuc2Fj
dGlvbkJhY2tlbmRJbnRlcmZhY2U+IGNyZWF0ZVRyYW5zYWN0aW9uKGludDY0X3QgdHJhbnNhY3Rp
b25JZCwgY29uc3QgVmVjdG9yPGludDY0X3Q+JiBvYmplY3RTdG9yZUlkcywgdW5zaWduZWQgc2hv
cnQgbW9kZSkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBjbG9zZShQYXNzUmVmUHRyPElEQkRhdGFi
YXNlQ2FsbGJhY2tzPikgPSAwOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYklEQkRhdGFiYXNlLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9XZWJJREJEYXRhYmFzZS5oCmluZGV4IDNhZWY3YmRiMDVjZWM2NzlkMjNmMzliZDcyMGJjODIy
NDIxMGI4NDYuLjk1YmFmNjZiNjUxOGM5OGEwZmE1NzhiYjI2NGYzZmMxOWVjZDVkZjQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYklEQkRhdGFiYXNlLmgKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSURCRGF0YWJhc2UuaApAQCAtNTYs
MTQgKzU2LDYgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAgICAgdmlydHVh
bCB2b2lkIGRlbGV0ZU9iamVjdFN0b3JlKGxvbmcgbG9uZyBvYmplY3RTdG9yZUlkLCBjb25zdCBX
ZWJJREJUcmFuc2FjdGlvbiYgdHJhbnNhY3Rpb24sIFdlYkV4Y2VwdGlvbkNvZGUmIGVjKSB7IFdF
QktJVF9BU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQotICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhpcyBh
cyBwYXJ0IG9mIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDI3MzMu
Ci0gICAgLy8gVHJhbnNmZXJzIG93bmVyc2hpcCBvZiB0aGUgV2ViSURCVHJhbnNhY3Rpb24gdG8g
dGhlIGNhbGxlci4KLSAgICB2aXJ0dWFsIFdlYklEQlRyYW5zYWN0aW9uKiB0cmFuc2FjdGlvbihj
b25zdCBXZWJWZWN0b3I8bG9uZyBsb25nPiYsIHVuc2lnbmVkIHNob3J0IG1vZGUpCi0gICAgewot
ICAgICAgICBXRUJLSVRfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVybiAwOwot
ICAgIH0KLSAgICAvLyBUcmFuc2ZlcnMgb3duZXJzaGlwIG9mIHRoZSBXZWJJREJUcmFuc2FjdGlv
biB0byB0aGUgY2FsbGVyLgogICAgIHZpcnR1YWwgV2ViSURCVHJhbnNhY3Rpb24qIGNyZWF0ZVRy
YW5zYWN0aW9uKGxvbmcgbG9uZyBpZCwgY29uc3QgV2ViVmVjdG9yPGxvbmcgbG9uZz4mLCB1bnNp
Z25lZCBzaG9ydCBtb2RlKSB7IFdFQktJVF9BU1NFUlRfTk9UX1JFQUNIRUQoKTsgcmV0dXJuIDA7
IH0KICAgICB2aXJ0dWFsIHZvaWQgY2xvc2UoKSB7IFdFQktJVF9BU1NFUlRfTk9UX1JFQUNIRUQo
KTsgfQogICAgIHZpcnR1YWwgdm9pZCBmb3JjZUNsb3NlKCkgeyBXRUJLSVRfQVNTRVJUX05PVF9S
RUFDSEVEKCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQkRh
dGFiYXNlQmFja2VuZFByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQkRh
dGFiYXNlQmFja2VuZFByb3h5LmNwcAppbmRleCA5MWE0MTlhM2VjMmZmOTYwNzhhY2RhZGNmZmQ4
NWVmZmIwOTU2YzllLi5lOWM4MGQwY2Y2MjllYzI0NzdhZGExM2I4OGY0NDdmYTk1OTJkYTQ4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJEYXRhYmFzZUJhY2tlbmRQ
cm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCRGF0YWJhc2VCYWNr
ZW5kUHJveHkuY3BwCkBAIC04NSwxNiArODUsNiBAQCB2b2lkIElEQkRhdGFiYXNlQmFja2VuZFBy
b3h5OjpkZWxldGVPYmplY3RTdG9yZShpbnQ2NF90IG9iamVjdFN0b3JlSWQsIElEQlRyYW5zYQog
ICAgIG1fd2ViSURCRGF0YWJhc2UtPmRlbGV0ZU9iamVjdFN0b3JlKG9iamVjdFN0b3JlSWQsICp0
cmFuc2FjdGlvblByb3h5LT5nZXRXZWJJREJUcmFuc2FjdGlvbigpLCBlYyk7CiB9CiAKLS8vIEZJ
WE1FOiBSZW1vdmUgdGhpcyBhcyBwYXJ0IG9mIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDI3MzMuCi1QYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVy
ZmFjZT4gSURCRGF0YWJhc2VCYWNrZW5kUHJveHk6OnRyYW5zYWN0aW9uKGNvbnN0IFZlY3Rvcjxp
bnQ2NF90PiYgb2JqZWN0U3RvcmVJZHMsIHVuc2lnbmVkIHNob3J0IG1vZGUpCi17Ci0gICAgT3du
UHRyPFdlYklEQlRyYW5zYWN0aW9uPiB0cmFuc2FjdGlvbiA9IGFkb3B0UHRyKG1fd2ViSURCRGF0
YWJhc2UtPnRyYW5zYWN0aW9uKG9iamVjdFN0b3JlSWRzLCBtb2RlKSk7Ci0gICAgaWYgKCF0cmFu
c2FjdGlvbikKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICByZXR1cm4gSURCVHJhbnNhY3Rpb25C
YWNrZW5kUHJveHk6OmNyZWF0ZSh0cmFuc2FjdGlvbi5yZWxlYXNlKCkpOwotfQotCiBQYXNzUmVm
UHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZT4gSURCRGF0YWJhc2VCYWNrZW5kUHJv
eHk6OmNyZWF0ZVRyYW5zYWN0aW9uKGludDY0X3QgaWQsIGNvbnN0IFZlY3RvcjxpbnQ2NF90PiYg
b2JqZWN0U3RvcmVJZHMsIHVuc2lnbmVkIHNob3J0IG1vZGUpCiB7CiAgICAgT3duUHRyPFdlYklE
QlRyYW5zYWN0aW9uPiB0cmFuc2FjdGlvbiA9IGFkb3B0UHRyKG1fd2ViSURCRGF0YWJhc2UtPmNy
ZWF0ZVRyYW5zYWN0aW9uKGlkLCBvYmplY3RTdG9yZUlkcywgbW9kZSkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCRGF0YWJhc2VCYWNrZW5kUHJveHkuaCBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQkRhdGFiYXNlQmFja2VuZFByb3h5LmgKaW5kZXgg
NGU3Y2NlMjllOWNmYTQzYmEyMTE0YTdlMWMwMGE4MDc4MWMyNmQ1Yy4uMDNkMDVkOTJiMTZlNDhj
MjllOTMzN2JhZmUzZjkwMDM2MmJkOTYwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvSURCRGF0YWJhc2VCYWNrZW5kUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9JREJEYXRhYmFzZUJhY2tlbmRQcm94eS5oCkBAIC00Niw4ICs0Niw2IEBAIHB1
YmxpYzoKIAogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxXZWJDb3JlOjpJREJPYmplY3RTdG9yZUJh
Y2tlbmRJbnRlcmZhY2U+IGNyZWF0ZU9iamVjdFN0b3JlKGludDY0X3QsIGNvbnN0IFN0cmluZyYg
bmFtZSwgY29uc3QgV2ViQ29yZTo6SURCS2V5UGF0aCYsIGJvb2wgYXV0b0luY3JlbWVudCwgV2Vi
Q29yZTo6SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKiwgV2ViQ29yZTo6RXhjZXB0aW9u
Q29kZSYpOwogICAgIHZpcnR1YWwgdm9pZCBkZWxldGVPYmplY3RTdG9yZShpbnQ2NF90LCBXZWJD
b3JlOjpJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqLCBXZWJDb3JlOjpFeGNlcHRpb25D
b2RlJik7Ci0gICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIGFzIHBhcnQgb2YgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjczMy4KLSAgICB2aXJ0dWFsIFBhc3NSZWZQ
dHI8V2ViQ29yZTo6SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlPiB0cmFuc2FjdGlvbihj
b25zdCBWZWN0b3I8aW50NjRfdD4mLCB1bnNpZ25lZCBzaG9ydCBtb2RlKTsKICAgICB2aXJ0dWFs
IFBhc3NSZWZQdHI8V2ViQ29yZTo6SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlPiBjcmVh
dGVUcmFuc2FjdGlvbihpbnQ2NF90LCBjb25zdCBWZWN0b3I8aW50NjRfdD4mLCB1bnNpZ25lZCBz
aG9ydCBtb2RlKTsKICAgICB2aXJ0dWFsIHZvaWQgY2xvc2UoUGFzc1JlZlB0cjxXZWJDb3JlOjpJ
REJEYXRhYmFzZUNhbGxiYWNrcz4pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJJREJEYXRhYmFzZUltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViSURCRGF0YWJhc2VJbXBsLmNwcAppbmRleCA2MjI0NjVkZTQxNDlhOWE5NDM0MjU2NzQ1
MDdhODkxMTY3MWE0MDIwLi40MDNhMzBiZWU1MTA3NjMwNzZhZDE2ZjZhOWQzODQyYmJhOWZiZDQw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJEYXRhYmFzZUlt
cGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQkRhdGFiYXNlSW1w
bC5jcHAKQEAgLTg2LDE3ICs4Niw2IEBAIFdlYklEQlRyYW5zYWN0aW9uKiBXZWJJREJEYXRhYmFz
ZUltcGw6OmNyZWF0ZVRyYW5zYWN0aW9uKGxvbmcgbG9uZyBpZCwgY29uc3QgV2ViCiAgICAgcmV0
dXJuIG5ldyBXZWJJREJUcmFuc2FjdGlvbkltcGwodHJhbnNhY3Rpb24pOwogfQogCi1XZWJJREJU
cmFuc2FjdGlvbiogV2ViSURCRGF0YWJhc2VJbXBsOjp0cmFuc2FjdGlvbihjb25zdCBXZWJWZWN0
b3I8bG9uZyBsb25nPiYgb2JqZWN0U3RvcmVJZHMsIHVuc2lnbmVkIHNob3J0IG1vZGUpCi17Ci0g
ICAgVmVjdG9yPGludDY0X3Q+IG9iamVjdFN0b3JlSWRMaXN0KG9iamVjdFN0b3JlSWRzLnNpemUo
KSk7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBvYmplY3RTdG9yZUlkcy5zaXplKCk7ICsr
aSkKLSAgICAgICAgb2JqZWN0U3RvcmVJZExpc3RbaV0gPSBvYmplY3RTdG9yZUlkc1tpXTsKLSAg
ICBSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlPiB0cmFuc2FjdGlvbiA9IG1f
ZGF0YWJhc2VCYWNrZW5kLT50cmFuc2FjdGlvbihvYmplY3RTdG9yZUlkTGlzdCwgbW9kZSk7Ci0g
ICAgaWYgKCF0cmFuc2FjdGlvbikKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJuIG5ldyBX
ZWJJREJUcmFuc2FjdGlvbkltcGwodHJhbnNhY3Rpb24pOwotfQotCiB2b2lkIFdlYklEQkRhdGFi
YXNlSW1wbDo6Y2xvc2UoKQogewogICAgIC8vIFVzZSB0aGUgY2FsbGJhY2tzIHBhc3NlZCBpbiB0
byB0aGUgY29uc3RydWN0b3Igc28gdGhhdCB0aGUgYmFja2VuZCBpbgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCRGF0YWJhc2VJbXBsLmggYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJJREJEYXRhYmFzZUltcGwuaAppbmRleCBlYmQ0ZDQ4ZjkzOGY2
MDVlNWZkMTNhYzJiYzI5N2E3YjJlNWVlYWM2Li42NmFhODRkYmE4YTgzYzk4MThhZGM5NjJlM2Ni
NzIwMjU3ZGE3MmFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJ
REJEYXRhYmFzZUltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJE
YXRhYmFzZUltcGwuaApAQCAtNTQsOCArNTQsNiBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIFdl
YklEQk9iamVjdFN0b3JlKiBjcmVhdGVPYmplY3RTdG9yZShsb25nIGxvbmcsIGNvbnN0IFdlYlN0
cmluZyYgbmFtZSwgY29uc3QgV2ViSURCS2V5UGF0aCYsIGJvb2wgYXV0b0luY3JlbWVudCwgY29u
c3QgV2ViSURCVHJhbnNhY3Rpb24mLCBXZWJFeGNlcHRpb25Db2RlJik7CiAgICAgdmlydHVhbCB2
b2lkIGRlbGV0ZU9iamVjdFN0b3JlKGxvbmcgbG9uZyBvYmplY3RTdG9yZUlkLCBjb25zdCBXZWJJ
REJUcmFuc2FjdGlvbiYsIFdlYkV4Y2VwdGlvbkNvZGUmKTsKLSAgICAvLyBGSVhNRTogUmVtb3Zl
IHRoaXMgYXMgcGFydCBvZiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTAyNzMzLgotICAgIHZpcnR1YWwgV2ViSURCVHJhbnNhY3Rpb24qIHRyYW5zYWN0aW9uKGNvbnN0
IFdlYlZlY3Rvcjxsb25nIGxvbmc+JiBuYW1lcywgdW5zaWduZWQgc2hvcnQgbW9kZSk7CiAgICAg
dmlydHVhbCBXZWJJREJUcmFuc2FjdGlvbiogY3JlYXRlVHJhbnNhY3Rpb24obG9uZyBsb25nIGlk
LCBjb25zdCBXZWJWZWN0b3I8bG9uZyBsb25nPiYsIHVuc2lnbmVkIHNob3J0IG1vZGUpOwogICAg
IHZpcnR1YWwgdm9pZCBmb3JjZUNsb3NlKCk7CiAgICAgdmlydHVhbCB2b2lkIGNsb3NlKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0lEQkRhdGFiYXNlQmFja2Vu
ZFRlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9JREJEYXRhYmFzZUJhY2tl
bmRUZXN0LmNwcAppbmRleCAwZWI3ZmFlNjZhNmMwYmRmZjNiMjI0ODhjYjg2YjY3ZGZhZDAyYzc3
Li4wZDI2MjI0NjY1MzgxNGE0N2RjOThmYThiM2M5ZmEwYjlhMjEyYmEzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0lEQkRhdGFiYXNlQmFja2VuZFRlc3QuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvSURCRGF0YWJhc2VCYWNrZW5kVGVzdC5j
cHAKQEAgLTE1Miw4ICsxNTIsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPElE
Qk9iamVjdFN0b3JlQmFja2VuZEludGVyZmFjZT4gY3JlYXRlT2JqZWN0U3RvcmUoaW50NjRfdCwg
Y29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBJREJLZXlQYXRoJiwgYm9vbCBhdXRvSW5jcmVtZW50
LCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqLCBFeGNlcHRpb25Db2RlJikgeyByZXR1
cm4gMDsgfQogICAgIHZpcnR1YWwgdm9pZCBkZWxldGVPYmplY3RTdG9yZShjb25zdCBTdHJpbmcm
IG5hbWUsIElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSosIEV4Y2VwdGlvbkNvZGUmKSB7
IH0KICAgICB2aXJ0dWFsIHZvaWQgZGVsZXRlT2JqZWN0U3RvcmUoaW50NjRfdCwgSURCVHJhbnNh
Y3Rpb25CYWNrZW5kSW50ZXJmYWNlKiwgRXhjZXB0aW9uQ29kZSYpIHsgfQotICAgIC8vIEZJWE1F
OiBSZW1vdmUgdGhpcyBhcyBwYXJ0IG9mIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDI3MzMuCi0gICAgdmlydHVhbCBQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFj
a2VuZEludGVyZmFjZT4gdHJhbnNhY3Rpb24oY29uc3QgVmVjdG9yPGludDY0X3Q+JiwgdW5zaWdu
ZWQgc2hvcnQgbW9kZSkgeyByZXR1cm4gMDsgfQogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxJREJU
cmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+IGNyZWF0ZVRyYW5zYWN0aW9uKGludDY0X3QsIGNv
bnN0IFZlY3RvcjxpbnQ2NF90PiYsIHVuc2lnbmVkIHNob3J0IG1vZGUpIHsgcmV0dXJuIDA7IH0K
IAogICAgIHZpcnR1YWwgdm9pZCBjbG9zZShQYXNzUmVmUHRyPElEQkRhdGFiYXNlQ2FsbGJhY2tz
PikK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177292</attachid>
            <date>2012-12-03 11:19:25 -0800</date>
            <delta_ts>2012-12-03 11:37:42 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-102733-20121203111651.patch</filename>
            <type>text/plain</type>
            <size>12937</size>
            <attacher name="Alec Flett">alecflett</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2MzYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzQxMTA4YTIwYzljNzFm
NmRmNjlkNTgyYmY1MzQzMTU4ODg5MmFiZi4uNTRiMmZjODY2NGI0YWZjYTE1ZTQ4NGFlMWFjMWMz
NmE1YzBjOTEzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTExLTI3ICBBbGVj
IEZsZXR0ICA8YWxlY2ZsZXR0QGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IHJl
bW92ZSBJREJEYXRhYmFzZUJhY2tlbmRJbnRlcmZhY2U6OnRyYW5zYWN0aW9uKCkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjczMworCisgICAgICAg
IFJldmlld2VkIGJ5IERhcmluIEZpc2hlci4KKworICAgICAgICBQYXJ0IDMgb2YgYSByZWZhY3Rv
ciwgcmVtb3ZlIHRoZSBvbGQgdHJhbnNhY3Rpb24oKSBtZXRob2QuCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzIGFzIHRoaXMgaXMganVzdCBwb3N0LXJlZmFjdG9yIGNsZWFudXAuCisKKyAgICAgICAg
KiBNb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZUJhY2tlbmRJbnRlcmZhY2UuaDoKKyAgICAg
ICAgKElEQkRhdGFiYXNlQmFja2VuZEludGVyZmFjZSk6CisKIDIwMTItMTItMDIgIE1hcnkgV3Ug
IDxtYXJ5Lnd1QHRvcmNobW9iaWxlLmNvbS5jbj4KIAogICAgICAgICBzaG91bGQgc25pZmYgaXQg
aWYgbWltZXR5cGUgZG9uJ3QgY29udGFpbiBhIHNsYXNoLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZwppbmRleCBlNDI0MjEyM2ZjM2JjY2RiZTA1YmE3NTFiNjJmZDAwOTg1MjY2YmE3Li44YmY4YzYy
NzAxY2U0OTRjNzU1Yjc4OGE3OTViMTg2MTdiZGQwMGViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTExLTI3ICBBbGVjIEZsZXR0ICA8YWxlY2ZsZXR0
QGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IHJlbW92ZSBJREJEYXRhYmFzZUJh
Y2tlbmRJbnRlcmZhY2U6OnRyYW5zYWN0aW9uKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjczMworCisgICAgICAgIFJldmlld2VkIGJ5IERhcmlu
IEZpc2hlci4KKworICAgICAgICBQYXJ0IDMgb2YgYSByZWZhY3RvciAtIGp1c3QgcmVtb3ZlIHRo
ZSBwcm94eSBjb2RlIGZvciB0aGUgbm93CisgICAgICAgIGRlZnVuY3QgdHJhbnNhY3Rpb24gbWV0
aG9kLgorCisgICAgICAgICogcHVibGljL1dlYklEQkRhdGFiYXNlLmg6CisgICAgICAgICogc3Jj
L0lEQkRhdGFiYXNlQmFja2VuZFByb3h5LmNwcDoKKyAgICAgICAgKiBzcmMvSURCRGF0YWJhc2VC
YWNrZW5kUHJveHkuaDoKKyAgICAgICAgKElEQkRhdGFiYXNlQmFja2VuZFByb3h5KToKKyAgICAg
ICAgKiBzcmMvV2ViSURCRGF0YWJhc2VJbXBsLmNwcDoKKyAgICAgICAgKiBzcmMvV2ViSURCRGF0
YWJhc2VJbXBsLmg6CisgICAgICAgIChXZWJJREJEYXRhYmFzZUltcGwpOgorICAgICAgICAqIHRl
c3RzL0lEQkRhdGFiYXNlQmFja2VuZFRlc3QuY3BwOgorCiAyMDEyLTEyLTAyICBTYWRydWwgSGFi
aWIgQ2hvd2RodXJ5ICA8c2FkcnVsQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1d
IENvcnJlY3QgdGhlIGxvY2F0aW9uIG9mIHN5bnRoZXRpYyBtb3VzZSBldmVudHMgd2hlbiBwYWdl
IGlzIHpvb21lZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
SURCRGF0YWJhc2VCYWNrZW5kSW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmNwcAppbmRleCAzZGQ5ZmY4MDVmYmVlODI3YjAw
MDg3ZTBmNWE4YmUyMmQ0MGJkYmI2Li5hODAyYzM1ZmNhMDg4ZGU2NWJjNTExNjNmYzM3ZTUxYTM2
NjBjOWViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJE
YXRhYmFzZUJhY2tlbmRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmNwcApAQCAtMzgwLDEyICszODAsNiBAQCB2b2lk
IElEQkRhdGFiYXNlQmFja2VuZEltcGw6OnByb2Nlc3NQZW5kaW5nQ2FsbHMoKQogICAgIH0KIH0K
IAotLy8gRklYTUU6IFJlbW92ZSB0aGlzIGFzIHBhcnQgb2YgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEwMjczMy4KLVBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNr
ZW5kSW50ZXJmYWNlPiBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjp0cmFuc2FjdGlvbihjb25zdCBW
ZWN0b3I8aW50NjRfdD4mIG9iamVjdFN0b3JlSWRzLCB1bnNpZ25lZCBzaG9ydCBtb2RlKQotewot
ICAgIHJldHVybiBjcmVhdGVUcmFuc2FjdGlvbigwLCBvYmplY3RTdG9yZUlkcywgbW9kZSk7Ci19
Ci0KIFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlPiBJREJEYXRhYmFz
ZUJhY2tlbmRJbXBsOjpjcmVhdGVUcmFuc2FjdGlvbihpbnQ2NF90IHRyYW5zYWN0aW9uSWQsIGNv
bnN0IFZlY3RvcjxpbnQ2NF90PiYgb2JqZWN0U3RvcmVJZHMsIHVuc2lnbmVkIHNob3J0IG1vZGUp
CiB7CiAgICAgUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEltcGw+IHRyYW5zYWN0aW9uID0g
SURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbDo6Y3JlYXRlKHRyYW5zYWN0aW9uSWQsIG9iamVjdFN0
b3JlSWRzLCBtb2RlLCB0aGlzKTsKQEAgLTQ0MSw3ICs0MzUsOCBAQCB2b2lkIElEQkRhdGFiYXNl
QmFja2VuZEltcGw6OnJ1bkludFZlcnNpb25DaGFuZ2VUcmFuc2FjdGlvbihpbnQ2NF90IHJlcXVl
c3RlZFZlcgogICAgIH0KIAogICAgIFZlY3RvcjxpbnQ2NF90PiBvYmplY3RTdG9yZUlkczsKLSAg
ICBSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlPiB0cmFuc2FjdGlvbkludGVy
ZmFjZSA9IHRyYW5zYWN0aW9uKG9iamVjdFN0b3JlSWRzLCBJREJUcmFuc2FjdGlvbjo6VkVSU0lP
Tl9DSEFOR0UpOworICAgIC8vIEZJWE1FOiBUaGUgdHJhbnNhY3Rpb25JZCBuZWVkcyB0byBiZSBw
aXBlZCBpbiB0aHJvdWdoIElEQkRhdGFiYXNlQmFja2VuZEludGVyZmFjZTo6b3BlbigpLgorICAg
IFJlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+IHRyYW5zYWN0aW9uSW50ZXJm
YWNlID0gY3JlYXRlVHJhbnNhY3Rpb24oMCwgb2JqZWN0U3RvcmVJZHMsIElEQlRyYW5zYWN0aW9u
OjpWRVJTSU9OX0NIQU5HRSk7CiAgICAgUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEltcGw+
IHRyYW5zYWN0aW9uID0gSURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbDo6ZnJvbSh0cmFuc2FjdGlv
bkludGVyZmFjZS5nZXQoKSk7CiAKICAgICBpZiAoIXRyYW5zYWN0aW9uLT5zY2hlZHVsZVRhc2so
VmVyc2lvbkNoYW5nZU9wZXJhdGlvbjo6Y3JlYXRlKHRoaXMsIHJlcXVlc3RlZFZlcnNpb24sIGNh
bGxiYWNrcywgZGF0YWJhc2VDYWxsYmFja3MsIHRyYW5zYWN0aW9uKSwgVmVyc2lvbkNoYW5nZUFi
b3J0T3BlcmF0aW9uOjpjcmVhdGUodGhpcywgbV9tZXRhZGF0YS52ZXJzaW9uLCBtX21ldGFkYXRh
LmludFZlcnNpb24pKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5oCmluZGV4IDIzODY4NmE2MDU0Mzk3MGQy
MjMyZGQxMDYxNjczMzJiYjJkNWNmYjAuLmRmMGJhMmRhYjQzNDhhZGM3Njc4ZDRkNzAzYmFiMDkw
ZThhNmI2YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lE
QkRhdGFiYXNlQmFja2VuZEltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmgKQEAgLTYzLDggKzYzLDYgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgSURCRGF0YWJhc2VNZXRhZGF0YSBtZXRhZGF0YSgpIGNvbnN0OwogICAgIHZp
cnR1YWwgUGFzc1JlZlB0cjxJREJPYmplY3RTdG9yZUJhY2tlbmRJbnRlcmZhY2U+IGNyZWF0ZU9i
amVjdFN0b3JlKGludDY0X3QgaWQsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgSURCS2V5UGF0
aCYsIGJvb2wgYXV0b0luY3JlbWVudCwgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKiwg
RXhjZXB0aW9uQ29kZSYpOwogICAgIHZpcnR1YWwgdm9pZCBkZWxldGVPYmplY3RTdG9yZShpbnQ2
NF90LCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqLCBFeGNlcHRpb25Db2RlJik7Ci0g
ICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIGFzIHBhcnQgb2YgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEwMjczMy4KLSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8SURCVHJh
bnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlPiB0cmFuc2FjdGlvbihjb25zdCBWZWN0b3I8aW50NjRf
dD4mLCB1bnNpZ25lZCBzaG9ydCk7CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPElEQlRyYW5zYWN0
aW9uQmFja2VuZEludGVyZmFjZT4gY3JlYXRlVHJhbnNhY3Rpb24oaW50NjRfdCB0cmFuc2FjdGlv
bklkLCBjb25zdCBWZWN0b3I8aW50NjRfdD4mIG9iamVjdFN0b3JlSWRzLCB1bnNpZ25lZCBzaG9y
dCBtb2RlKTsKICAgICB2aXJ0dWFsIHZvaWQgY2xvc2UoUGFzc1JlZlB0cjxJREJEYXRhYmFzZUNh
bGxiYWNrcz4pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJEYXRhYmFzZUJhY2tlbmRJbnRlcmZhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEludGVyZmFjZS5oCmluZGV4IDBhZTM2ZGEzN2Fm
ZmZkOGE0ZDRiYTVlYzM3YjcyMmYyN2M0MzYyYzYuLjg1MDA2MmMyOTE4NzMyYmEzNGE5MjdjN2Iw
N2U5OTVlYTkwMzY0ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQkRhdGFiYXNlQmFja2VuZEludGVyZmFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEludGVyZmFjZS5oCkBAIC01NSw4ICs1
NSw2IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxJREJPYmplY3RTdG9yZUJh
Y2tlbmRJbnRlcmZhY2U+IGNyZWF0ZU9iamVjdFN0b3JlKGludDY0X3QsIGNvbnN0IFN0cmluZyYg
bmFtZSwgY29uc3QgSURCS2V5UGF0aCYsIGJvb2wgYXV0b0luY3JlbWVudCwgSURCVHJhbnNhY3Rp
b25CYWNrZW5kSW50ZXJmYWNlKiwgRXhjZXB0aW9uQ29kZSYpID0gMDsKICAgICB2aXJ0dWFsIHZv
aWQgZGVsZXRlT2JqZWN0U3RvcmUoaW50NjRfdCwgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJm
YWNlKiwgRXhjZXB0aW9uQ29kZSYpID0gMDsKLSAgICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgYXMg
cGFydCBvZiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyNzMzLgot
ICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+IHRy
YW5zYWN0aW9uKGNvbnN0IFZlY3RvcjxpbnQ2NF90PiYgb2JqZWN0U3RvcmVJZHMsIHVuc2lnbmVk
IHNob3J0IG1vZGUpID0gMDsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb25C
YWNrZW5kSW50ZXJmYWNlPiBjcmVhdGVUcmFuc2FjdGlvbihpbnQ2NF90IHRyYW5zYWN0aW9uSWQs
IGNvbnN0IFZlY3RvcjxpbnQ2NF90PiYgb2JqZWN0U3RvcmVJZHMsIHVuc2lnbmVkIHNob3J0IG1v
ZGUpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY2xvc2UoUGFzc1JlZlB0cjxJREJEYXRhYmFzZUNh
bGxiYWNrcz4pID0gMDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJJREJEYXRhYmFzZS5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
SURCRGF0YWJhc2UuaAppbmRleCAzYWVmN2JkYjA1Y2VjNjc5ZDIzZjM5YmQ3MjBiYzgyMjQyMTBi
ODQ2Li45NWJhZjY2YjY1MThjOThhMGZhNTc4YmIyNjRmM2ZjMTllY2Q1ZGY0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJREJEYXRhYmFzZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYklEQkRhdGFiYXNlLmgKQEAgLTU2LDE0ICs1
Niw2IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogICAgIHZpcnR1YWwgdm9p
ZCBkZWxldGVPYmplY3RTdG9yZShsb25nIGxvbmcgb2JqZWN0U3RvcmVJZCwgY29uc3QgV2ViSURC
VHJhbnNhY3Rpb24mIHRyYW5zYWN0aW9uLCBXZWJFeGNlcHRpb25Db2RlJiBlYykgeyBXRUJLSVRf
QVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KLSAgICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgYXMgcGFy
dCBvZiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyNzMzLgotICAg
IC8vIFRyYW5zZmVycyBvd25lcnNoaXAgb2YgdGhlIFdlYklEQlRyYW5zYWN0aW9uIHRvIHRoZSBj
YWxsZXIuCi0gICAgdmlydHVhbCBXZWJJREJUcmFuc2FjdGlvbiogdHJhbnNhY3Rpb24oY29uc3Qg
V2ViVmVjdG9yPGxvbmcgbG9uZz4mLCB1bnNpZ25lZCBzaG9ydCBtb2RlKQotICAgIHsKLSAgICAg
ICAgV0VCS0lUX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICByZXR1cm4gMDsKLSAgICB9
Ci0gICAgLy8gVHJhbnNmZXJzIG93bmVyc2hpcCBvZiB0aGUgV2ViSURCVHJhbnNhY3Rpb24gdG8g
dGhlIGNhbGxlci4KICAgICB2aXJ0dWFsIFdlYklEQlRyYW5zYWN0aW9uKiBjcmVhdGVUcmFuc2Fj
dGlvbihsb25nIGxvbmcgaWQsIGNvbnN0IFdlYlZlY3Rvcjxsb25nIGxvbmc+JiwgdW5zaWduZWQg
c2hvcnQgbW9kZSkgeyBXRUJLSVRfQVNTRVJUX05PVF9SRUFDSEVEKCk7IHJldHVybiAwOyB9CiAg
ICAgdmlydHVhbCB2b2lkIGNsb3NlKCkgeyBXRUJLSVRfQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0K
ICAgICB2aXJ0dWFsIHZvaWQgZm9yY2VDbG9zZSgpIHsgV0VCS0lUX0FTU0VSVF9OT1RfUkVBQ0hF
RCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJEYXRhYmFz
ZUJhY2tlbmRQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJEYXRhYmFz
ZUJhY2tlbmRQcm94eS5jcHAKaW5kZXggOTFhNDE5YTNlYzJmZjk2MDc4YWNkYWRjZmZkODVlZmZi
MDk1NmM5ZS4uZTljODBkMGNmNjI5ZWMyNDc3YWRhMTNiODhmNDQ3ZmE5NTkyZGE0OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCRGF0YWJhc2VCYWNrZW5kUHJveHku
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQkRhdGFiYXNlQmFja2VuZFBy
b3h5LmNwcApAQCAtODUsMTYgKzg1LDYgQEAgdm9pZCBJREJEYXRhYmFzZUJhY2tlbmRQcm94eTo6
ZGVsZXRlT2JqZWN0U3RvcmUoaW50NjRfdCBvYmplY3RTdG9yZUlkLCBJREJUcmFuc2EKICAgICBt
X3dlYklEQkRhdGFiYXNlLT5kZWxldGVPYmplY3RTdG9yZShvYmplY3RTdG9yZUlkLCAqdHJhbnNh
Y3Rpb25Qcm94eS0+Z2V0V2ViSURCVHJhbnNhY3Rpb24oKSwgZWMpOwogfQogCi0vLyBGSVhNRTog
UmVtb3ZlIHRoaXMgYXMgcGFydCBvZiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTAyNzMzLgotUGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+
IElEQkRhdGFiYXNlQmFja2VuZFByb3h5Ojp0cmFuc2FjdGlvbihjb25zdCBWZWN0b3I8aW50NjRf
dD4mIG9iamVjdFN0b3JlSWRzLCB1bnNpZ25lZCBzaG9ydCBtb2RlKQotewotICAgIE93blB0cjxX
ZWJJREJUcmFuc2FjdGlvbj4gdHJhbnNhY3Rpb24gPSBhZG9wdFB0cihtX3dlYklEQkRhdGFiYXNl
LT50cmFuc2FjdGlvbihvYmplY3RTdG9yZUlkcywgbW9kZSkpOwotICAgIGlmICghdHJhbnNhY3Rp
b24pCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgcmV0dXJuIElEQlRyYW5zYWN0aW9uQmFja2Vu
ZFByb3h5OjpjcmVhdGUodHJhbnNhY3Rpb24ucmVsZWFzZSgpKTsKLX0KLQogUGFzc1JlZlB0cjxJ
REJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+IElEQkRhdGFiYXNlQmFja2VuZFByb3h5Ojpj
cmVhdGVUcmFuc2FjdGlvbihpbnQ2NF90IGlkLCBjb25zdCBWZWN0b3I8aW50NjRfdD4mIG9iamVj
dFN0b3JlSWRzLCB1bnNpZ25lZCBzaG9ydCBtb2RlKQogewogICAgIE93blB0cjxXZWJJREJUcmFu
c2FjdGlvbj4gdHJhbnNhY3Rpb24gPSBhZG9wdFB0cihtX3dlYklEQkRhdGFiYXNlLT5jcmVhdGVU
cmFuc2FjdGlvbihpZCwgb2JqZWN0U3RvcmVJZHMsIG1vZGUpKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQkRhdGFiYXNlQmFja2VuZFByb3h5LmggYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9JREJEYXRhYmFzZUJhY2tlbmRQcm94eS5oCmluZGV4IDRlN2Nj
ZTI5ZTljZmE0M2JhMjExNGE3ZTFjMDBhODA3ODFjMjZkNWMuLjAzZDA1ZDkyYjE2ZTQ4YzI5ZTkz
MzdiYWZlM2Y5MDAzNjJiZDk2MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL0lEQkRhdGFiYXNlQmFja2VuZFByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvSURCRGF0YWJhc2VCYWNrZW5kUHJveHkuaApAQCAtNDYsOCArNDYsNiBAQCBwdWJsaWM6
CiAKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViQ29yZTo6SURCT2JqZWN0U3RvcmVCYWNrZW5k
SW50ZXJmYWNlPiBjcmVhdGVPYmplY3RTdG9yZShpbnQ2NF90LCBjb25zdCBTdHJpbmcmIG5hbWUs
IGNvbnN0IFdlYkNvcmU6OklEQktleVBhdGgmLCBib29sIGF1dG9JbmNyZW1lbnQsIFdlYkNvcmU6
OklEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSosIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGUm
KTsKICAgICB2aXJ0dWFsIHZvaWQgZGVsZXRlT2JqZWN0U3RvcmUoaW50NjRfdCwgV2ViQ29yZTo6
SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKiwgV2ViQ29yZTo6RXhjZXB0aW9uQ29kZSYp
OwotICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhpcyBhcyBwYXJ0IG9mIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDI3MzMuCi0gICAgdmlydHVhbCBQYXNzUmVmUHRyPFdl
YkNvcmU6OklEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZT4gdHJhbnNhY3Rpb24oY29uc3Qg
VmVjdG9yPGludDY0X3Q+JiwgdW5zaWduZWQgc2hvcnQgbW9kZSk7CiAgICAgdmlydHVhbCBQYXNz
UmVmUHRyPFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZT4gY3JlYXRlVHJh
bnNhY3Rpb24oaW50NjRfdCwgY29uc3QgVmVjdG9yPGludDY0X3Q+JiwgdW5zaWduZWQgc2hvcnQg
bW9kZSk7CiAgICAgdmlydHVhbCB2b2lkIGNsb3NlKFBhc3NSZWZQdHI8V2ViQ29yZTo6SURCRGF0
YWJhc2VDYWxsYmFja3M+KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViSURCRGF0YWJhc2VJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YklEQkRhdGFiYXNlSW1wbC5jcHAKaW5kZXggNjIyNDY1ZGU0MTQ5YTlhOTQzNDI1Njc0NTA3YTg5
MTE2NzFhNDAyMC4uNDAzYTMwYmVlNTEwNzYzMDc2YWQxNmY2YTlkMzg0MmJiYTlmYmQ0MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCRGF0YWJhc2VJbXBsLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJEYXRhYmFzZUltcGwuY3Bw
CkBAIC04NiwxNyArODYsNiBAQCBXZWJJREJUcmFuc2FjdGlvbiogV2ViSURCRGF0YWJhc2VJbXBs
OjpjcmVhdGVUcmFuc2FjdGlvbihsb25nIGxvbmcgaWQsIGNvbnN0IFdlYgogICAgIHJldHVybiBu
ZXcgV2ViSURCVHJhbnNhY3Rpb25JbXBsKHRyYW5zYWN0aW9uKTsKIH0KIAotV2ViSURCVHJhbnNh
Y3Rpb24qIFdlYklEQkRhdGFiYXNlSW1wbDo6dHJhbnNhY3Rpb24oY29uc3QgV2ViVmVjdG9yPGxv
bmcgbG9uZz4mIG9iamVjdFN0b3JlSWRzLCB1bnNpZ25lZCBzaG9ydCBtb2RlKQotewotICAgIFZl
Y3RvcjxpbnQ2NF90PiBvYmplY3RTdG9yZUlkTGlzdChvYmplY3RTdG9yZUlkcy5zaXplKCkpOwot
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgb2JqZWN0U3RvcmVJZHMuc2l6ZSgpOyArK2kpCi0g
ICAgICAgIG9iamVjdFN0b3JlSWRMaXN0W2ldID0gb2JqZWN0U3RvcmVJZHNbaV07Ci0gICAgUmVm
UHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZT4gdHJhbnNhY3Rpb24gPSBtX2RhdGFi
YXNlQmFja2VuZC0+dHJhbnNhY3Rpb24ob2JqZWN0U3RvcmVJZExpc3QsIG1vZGUpOwotICAgIGlm
ICghdHJhbnNhY3Rpb24pCi0gICAgICAgIHJldHVybiAwOwotICAgIHJldHVybiBuZXcgV2ViSURC
VHJhbnNhY3Rpb25JbXBsKHRyYW5zYWN0aW9uKTsKLX0KLQogdm9pZCBXZWJJREJEYXRhYmFzZUlt
cGw6OmNsb3NlKCkKIHsKICAgICAvLyBVc2UgdGhlIGNhbGxiYWNrcyBwYXNzZWQgaW4gdG8gdGhl
IGNvbnN0cnVjdG9yIHNvIHRoYXQgdGhlIGJhY2tlbmQgaW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQkRhdGFiYXNlSW1wbC5oIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViSURCRGF0YWJhc2VJbXBsLmgKaW5kZXggZWJkNGQ0OGY5MzhmNjA1ZTVm
ZDEzYWMyYmMyOTdhN2IyZTVlZWFjNi4uNjZhYTg0ZGJhOGE4M2M5ODE4YWRjOTYyZTNjYjcyMDI1
N2RhNzJhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCRGF0
YWJhc2VJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCRGF0YWJh
c2VJbXBsLmgKQEAgLTU0LDggKzU0LDYgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBXZWJJREJP
YmplY3RTdG9yZSogY3JlYXRlT2JqZWN0U3RvcmUobG9uZyBsb25nLCBjb25zdCBXZWJTdHJpbmcm
IG5hbWUsIGNvbnN0IFdlYklEQktleVBhdGgmLCBib29sIGF1dG9JbmNyZW1lbnQsIGNvbnN0IFdl
YklEQlRyYW5zYWN0aW9uJiwgV2ViRXhjZXB0aW9uQ29kZSYpOwogICAgIHZpcnR1YWwgdm9pZCBk
ZWxldGVPYmplY3RTdG9yZShsb25nIGxvbmcgb2JqZWN0U3RvcmVJZCwgY29uc3QgV2ViSURCVHJh
bnNhY3Rpb24mLCBXZWJFeGNlcHRpb25Db2RlJik7Ci0gICAgLy8gRklYTUU6IFJlbW92ZSB0aGlz
IGFzIHBhcnQgb2YgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjcz
My4KLSAgICB2aXJ0dWFsIFdlYklEQlRyYW5zYWN0aW9uKiB0cmFuc2FjdGlvbihjb25zdCBXZWJW
ZWN0b3I8bG9uZyBsb25nPiYgbmFtZXMsIHVuc2lnbmVkIHNob3J0IG1vZGUpOwogICAgIHZpcnR1
YWwgV2ViSURCVHJhbnNhY3Rpb24qIGNyZWF0ZVRyYW5zYWN0aW9uKGxvbmcgbG9uZyBpZCwgY29u
c3QgV2ViVmVjdG9yPGxvbmcgbG9uZz4mLCB1bnNpZ25lZCBzaG9ydCBtb2RlKTsKICAgICB2aXJ0
dWFsIHZvaWQgZm9yY2VDbG9zZSgpOwogICAgIHZpcnR1YWwgdm9pZCBjbG9zZSgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9JREJEYXRhYmFzZUJhY2tlbmRUZXN0
LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvSURCRGF0YWJhc2VCYWNrZW5kVGVz
dC5jcHAKaW5kZXggMGViN2ZhZTY2YTZjMGJkZmYzYjIyNDg4Y2I4NmI2N2RmYWQwMmM3Ny4uMGQy
NjIyNDY2NTM4MTRhNDdkYzk4ZmE4YjNjOWZhMGI5YTIxMmJhMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS90ZXN0cy9JREJEYXRhYmFzZUJhY2tlbmRUZXN0LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0lEQkRhdGFiYXNlQmFja2VuZFRlc3QuY3BwCkBA
IC0xNTIsOCArMTUyLDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxJREJPYmpl
Y3RTdG9yZUJhY2tlbmRJbnRlcmZhY2U+IGNyZWF0ZU9iamVjdFN0b3JlKGludDY0X3QsIGNvbnN0
IFN0cmluZyYgbmFtZSwgY29uc3QgSURCS2V5UGF0aCYsIGJvb2wgYXV0b0luY3JlbWVudCwgSURC
VHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKiwgRXhjZXB0aW9uQ29kZSYpIHsgcmV0dXJuIDA7
IH0KICAgICB2aXJ0dWFsIHZvaWQgZGVsZXRlT2JqZWN0U3RvcmUoY29uc3QgU3RyaW5nJiBuYW1l
LCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqLCBFeGNlcHRpb25Db2RlJikgeyB9CiAg
ICAgdmlydHVhbCB2b2lkIGRlbGV0ZU9iamVjdFN0b3JlKGludDY0X3QsIElEQlRyYW5zYWN0aW9u
QmFja2VuZEludGVyZmFjZSosIEV4Y2VwdGlvbkNvZGUmKSB7IH0KLSAgICAvLyBGSVhNRTogUmVt
b3ZlIHRoaXMgYXMgcGFydCBvZiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTAyNzMzLgotICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJ
bnRlcmZhY2U+IHRyYW5zYWN0aW9uKGNvbnN0IFZlY3RvcjxpbnQ2NF90PiYsIHVuc2lnbmVkIHNo
b3J0IG1vZGUpIHsgcmV0dXJuIDA7IH0KICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8SURCVHJhbnNh
Y3Rpb25CYWNrZW5kSW50ZXJmYWNlPiBjcmVhdGVUcmFuc2FjdGlvbihpbnQ2NF90LCBjb25zdCBW
ZWN0b3I8aW50NjRfdD4mLCB1bnNpZ25lZCBzaG9ydCBtb2RlKSB7IHJldHVybiAwOyB9CiAKICAg
ICB2aXJ0dWFsIHZvaWQgY2xvc2UoUGFzc1JlZlB0cjxJREJEYXRhYmFzZUNhbGxiYWNrcz4pCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>