<?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>142126</bug_id>
          
          <creation_ts>2015-02-27 20:51:05 -0800</creation_ts>
          <short_desc>[JSC] Add a node for Math.log()</short_desc>
          <delta_ts>2015-03-04 14:39:52 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>msaboff</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1072975</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2015-02-27 20:51:05 -0800</bug_when>
    <thetext>[JSC] Add a node for Math.log()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1072981</commentid>
    <comment_count>1</comment_count>
      <attachid>247588</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2015-02-27 21:32:37 -0800</bug_when>
    <thetext>Created attachment 247588
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1072982</commentid>
    <comment_count>2</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2015-02-27 21:33:19 -0800</bug_when>
    <thetext>                                                          Conf#1                    Conf#2                                      
SunSpider:
   3d-cube                                            6.5220+-0.0996            6.3915+-0.3365          might be 1.0204x faster
   3d-morph                                           8.0886+-0.2036     ?      8.0891+-0.4363        ?
   3d-raytrace                                        8.6156+-0.0441     ?      8.9665+-1.1624        ? might be 1.0407x slower
   access-binary-trees                                2.5700+-0.0828     ?      2.6570+-0.1419        ? might be 1.0339x slower
   access-fannkuch                                    8.5308+-0.2095     ^      8.1528+-0.1607        ^ definitely 1.0464x faster
   access-nbody                                       4.3582+-0.4077            4.1049+-0.3043          might be 1.0617x faster
   access-nsieve                                      4.9737+-0.0502     ?      4.9748+-0.3169        ?
   bitops-3bit-bits-in-byte                           1.8008+-0.1376            1.7573+-0.0859          might be 1.0248x faster
   bitops-bits-in-byte                                5.4790+-0.0975            5.4112+-0.1951          might be 1.0125x faster
   bitops-bitwise-and                                 2.6442+-0.2386     ?      2.6493+-0.1228        ?
   bitops-nsieve-bits                                 5.1390+-0.3066            4.9823+-0.2079          might be 1.0314x faster
   controlflow-recursive                              2.8864+-0.0705     ?      2.9053+-0.0882        ?
   crypto-aes                                         5.3669+-0.0850     ?      5.4149+-0.1649        ?
   crypto-md5                                         3.4172+-0.2176            3.4037+-0.2407        
   crypto-sha1                                        3.1124+-0.0984            3.0376+-0.0390          might be 1.0246x faster
   date-format-tofte                                 11.4540+-0.5573     ?     11.6235+-0.9903        ? might be 1.0148x slower
   date-format-xparb                                  6.6380+-0.4279     ?      6.6636+-0.3358        ?
   math-cordic                                        4.2235+-0.0582     ?      4.2349+-0.2191        ?
   math-partial-sums                                  9.1614+-0.4832     ?      9.2336+-0.8551        ?
   math-spectral-norm                                 2.8318+-0.2543            2.7492+-0.0310          might be 1.0301x faster
   regexp-dna                                         9.9025+-0.4536     ?      9.9814+-0.4507        ?
   string-base64                                      5.6255+-0.4437     ?      5.6260+-0.4198        ?
   string-fasta                                       8.7644+-0.3870            8.5490+-0.2547          might be 1.0252x faster
   string-tagcloud                                   13.1974+-0.2337     ?     13.5187+-0.6818        ? might be 1.0243x slower
   string-unpack-code                                26.3327+-1.1799     ?     27.0172+-0.8647        ? might be 1.0260x slower
   string-validate-input                              6.2272+-0.1518     ?      6.2863+-0.1533        ?

   &lt;arithmetic&gt; *                                     6.8409+-0.0445     ?      6.8608+-0.0672        ? might be 1.0029x slower
   &lt;geometric&gt;                                        5.6830+-0.0291            5.6631+-0.0522          might be 1.0035x faster
   &lt;harmonic&gt;                                         4.8182+-0.0646            4.7858+-0.0388          might be 1.0068x faster

                                                          Conf#1                    Conf#2                                      
LongSpider:
   3d-cube                                         1134.5073+-15.2671        1133.5551+-19.0398       
   3d-morph                                        1872.0867+-1.8819     ?   1872.7399+-2.2905        ?
   3d-raytrace                                     1058.3339+-4.7253     ?   1064.5392+-5.1710        ?
   access-binary-trees                             1329.5137+-8.2257     ?   1329.8868+-7.2007        ?
   access-fannkuch                                  468.9998+-26.8544         440.5605+-27.9734         might be 1.0646x faster
   access-nbody                                     999.7190+-1.3270     !   1003.5740+-0.6260        ! definitely 1.0039x slower
   access-nsieve                                   1299.0258+-6.8548     ?   1299.8193+-14.1169       ?
   bitops-3bit-bits-in-byte                          50.2980+-2.0257           49.8900+-0.8801        
   bitops-bits-in-byte                              340.2212+-3.8127     ?    343.6884+-3.9875        ? might be 1.0102x slower
   bitops-nsieve-bits                               960.9437+-10.5289         959.6738+-2.9331        
   controlflow-recursive                            705.1190+-1.7681     ^    699.6778+-0.7450        ^ definitely 1.0078x faster
   crypto-aes                                       902.9736+-1.3432          902.8912+-6.7016        
   crypto-md5                                       793.8038+-4.8391     ?    797.0118+-10.9572       ?
   crypto-sha1                                      928.7280+-28.1815    ?    936.2685+-33.1138       ?
   date-format-tofte                               1004.4027+-17.5158        1003.5051+-7.3941        
   date-format-xparb                                961.0859+-14.0488    ?    966.6346+-16.3808       ?
   math-cordic                                      672.6143+-0.6848     ?    674.4796+-8.3493        ?
   math-partial-sums                               1065.3601+-3.5846     ?   1065.7049+-1.2979        ?
   math-spectral-norm                              1074.1318+-0.9014     ?   1074.7282+-1.6652        ?
   string-base64                                    470.7989+-8.8943          467.5620+-1.5256        
   string-fasta                                     598.3575+-20.1140         576.6747+-13.7074         might be 1.0376x faster
   string-tagcloud                                  302.1868+-1.1501     ?    303.3538+-5.8962        ?

   &lt;arithmetic&gt;                                     863.3278+-0.3626          862.1100+-1.6177          might be 1.0014x faster
   &lt;geometric&gt; *                                    726.5778+-3.0108          723.9780+-2.6136          might be 1.0036x faster
   &lt;harmonic&gt;                                       456.0224+-8.7714          453.0934+-3.8571          might be 1.0065x faster

                                                          Conf#1                    Conf#2                                      
V8Spider:
   crypto                                            71.3605+-0.5749           71.2034+-1.2419        
   deltablue                                         90.4469+-2.9347     ?     91.2162+-3.3478        ?
   earley-boyer                                      61.8198+-1.6940           60.8521+-1.0313          might be 1.0159x faster
   raytrace                                          36.9830+-1.6778           36.8395+-1.1427        
   regexp                                            93.0665+-0.7147           92.2351+-0.3261        
   richards                                          97.5127+-1.3524           96.9448+-1.9972        
   splay                                             46.5630+-4.1512     ?     47.1910+-1.9620        ? might be 1.0135x slower

   &lt;arithmetic&gt;                                      71.1075+-1.2974           70.9260+-0.5216          might be 1.0026x faster
   &lt;geometric&gt; *                                     67.2599+-1.4233           67.1239+-0.5116          might be 1.0020x faster
   &lt;harmonic&gt;                                        63.1666+-1.5455           63.0879+-0.6444          might be 1.0012x faster

                                                          Conf#1                    Conf#2                                      
Octane:
   encrypt                                           0.31657+-0.00560    ?     0.31820+-0.00726       ?
   decrypt                                           5.66902+-0.02524          5.66120+-0.02539       
   deltablue                                x2       0.26938+-0.01312          0.26409+-0.00632         might be 1.0200x faster
   earley                                            0.95279+-0.01712    ?     0.95640+-0.02358       ?
   boyer                                             9.67756+-0.03252          9.67359+-0.05255       
   navier-stokes                            x2       6.40201+-0.00665    ?     6.40456+-0.00602       ?
   raytrace                                 x2       1.76561+-0.01450          1.73530+-0.08705         might be 1.0175x faster
   richards                                 x2       0.16450+-0.00414    ?     0.16517+-0.00128       ?
   splay                                    x2       0.52171+-0.00725    ?     0.53375+-0.01195       ? might be 1.0231x slower
   regexp                                   x2      44.49092+-0.74731         44.41886+-0.16187       
   pdfjs                                    x2      70.27724+-0.14192         70.15565+-0.61340       
   mandreel                                 x2      71.33048+-1.56881    ?    72.14918+-0.93571       ? might be 1.0115x slower
   gbemu                                    x2      61.72200+-1.82824    ?    65.48837+-8.15408       ? might be 1.0610x slower
   closure                                           0.74013+-0.00083    ?     0.74120+-0.00356       ?
   jquery                                            9.43827+-0.08929    ?     9.46175+-0.03156       ?
   box2d                                    x2      17.98106+-0.07192         17.97010+-0.05751       
   zlib                                     x2     545.39081+-46.75136       544.92216+-47.85658      
   typescript                               x2    1110.62250+-25.37353   ?  1131.45477+-2.98330       ? might be 1.0188x slower

   &lt;arithmetic&gt;                                    129.62236+-4.26597    ?   131.27121+-3.61728       ? might be 1.0127x slower
   &lt;geometric&gt; *                                     9.43887+-0.10551    ?     9.48811+-0.11288       ? might be 1.0052x slower
   &lt;harmonic&gt;                                        0.96580+-0.01631          0.96561+-0.00711         might be 1.0002x faster

                                                          Conf#1                    Conf#2                                      
Kraken:
   ai-astar                                          470.160+-0.700            462.022+-14.302          might be 1.0176x faster
   audio-beat-detection                              162.269+-4.485            161.631+-1.210         
   audio-dft                                         208.558+-1.554            207.199+-3.608         
   audio-fft                                         113.059+-7.873            111.871+-9.474           might be 1.0106x faster
   audio-oscillator                                  297.657+-1.213      !     300.787+-1.554         ! definitely 1.0105x slower
   imaging-darkroom                                  172.990+-2.765      ^     139.829+-0.342         ^ definitely 1.2372x faster
   imaging-desaturate                                 94.952+-0.600             94.743+-0.276         
   imaging-gaussian-blur                             158.327+-3.839            157.039+-0.610         
   json-parse-financial                               65.017+-0.622      !      66.046+-0.397         ! definitely 1.0158x slower
   json-stringify-tinderbox                           81.382+-1.233             80.937+-0.574         
   stanford-crypto-aes                                82.644+-0.994      ?      84.757+-5.231         ? might be 1.0256x slower
   stanford-crypto-ccm                                66.154+-2.061             66.033+-2.703         
   stanford-crypto-pbkdf2                            224.378+-0.993      ?     224.812+-1.861         ?
   stanford-crypto-sha256-iterative                   73.052+-1.809             71.742+-0.839           might be 1.0183x faster

   &lt;arithmetic&gt; *                                    162.186+-0.469      ^     159.246+-1.353         ^ definitely 1.0185x faster
   &lt;geometric&gt;                                       134.879+-0.672      ^     132.638+-0.890         ^ definitely 1.0169x faster
   &lt;harmonic&gt;                                        115.731+-0.776            114.398+-0.900           might be 1.0116x faster

                                                          Conf#1                    Conf#2                                      
JSRegress:
   abs-boolean                                        3.6747+-0.0886            3.6292+-0.0858          might be 1.0125x faster
   adapt-to-double-divide                            17.8411+-0.3511           17.8360+-0.6105        
   aliased-arguments-getbyval                         1.2009+-0.1641            1.1735+-0.2273          might be 1.0234x faster
   allocate-big-object                                3.1147+-0.4407            3.0526+-0.3175          might be 1.0203x faster
   arity-mismatch-inlining                            1.0071+-0.1269     ?      1.0410+-0.0673        ? might be 1.0337x slower
   array-access-polymorphic-structure                 8.9191+-0.0905            8.8932+-0.5301        
   array-nonarray-polymorhpic-access                 47.8041+-0.5740           47.3826+-0.3116        
   array-prototype-every                            118.5533+-1.0515     ?    119.0820+-2.5610        ?
   array-prototype-forEach                          117.1758+-1.6192     ?    117.4006+-1.9515        ?
   array-prototype-map                              145.8627+-3.9978          144.6328+-3.2957        
   array-prototype-some                             116.8468+-1.5638          116.4711+-1.7704        
   array-splice-contiguous                           57.7742+-1.3515           57.0441+-0.8190          might be 1.0128x faster
   array-with-double-add                              5.5010+-0.2099     ?      5.5252+-0.1259        ?
   array-with-double-increment                        4.0491+-0.0768            4.0042+-0.0959          might be 1.0112x faster
   array-with-double-mul-add                          7.0897+-0.0973            6.9935+-0.2358          might be 1.0137x faster
   array-with-double-sum                              4.2980+-0.1370     ?      4.3121+-0.2570        ?
   array-with-int32-add-sub                           9.5971+-0.3611            9.4646+-0.4134          might be 1.0140x faster
   array-with-int32-or-double-sum                     4.3029+-0.1134     ?      4.3700+-0.0764        ? might be 1.0156x slower
   ArrayBuffer-DataView-alloc-large-long-lived   
                                                     46.7504+-0.7007           46.6875+-2.1339        
   ArrayBuffer-DataView-alloc-long-lived             19.4352+-2.2091     ?     20.1116+-6.2382        ? might be 1.0348x slower
   ArrayBuffer-Int32Array-byteOffset                  4.7502+-0.0919            4.5904+-0.1676          might be 1.0348x faster
   ArrayBuffer-Int8Array-alloc-large-long-lived   
                                                     49.6699+-3.3010           49.5796+-2.0967        
   ArrayBuffer-Int8Array-alloc-long-lived-buffer   
                                                     30.5935+-1.0080     ?     31.0673+-0.5800        ? might be 1.0155x slower
   ArrayBuffer-Int8Array-alloc-long-lived            17.6619+-1.0265     ?     17.7589+-0.2435        ?
   ArrayBuffer-Int8Array-alloc                       14.9244+-0.5203           14.7352+-0.7533          might be 1.0128x faster
   asmjs_bool_bug                                     9.0129+-0.2208     ?      9.2090+-0.3987        ? might be 1.0218x slower
   assign-custom-setter-polymorphic                   4.0303+-0.1085     ?      4.1090+-0.2153        ? might be 1.0195x slower
   assign-custom-setter                               5.6335+-0.3872            5.4056+-0.1718          might be 1.0421x faster
   basic-set                                         13.2945+-1.4487     ?     13.5512+-0.2093        ? might be 1.0193x slower
   big-int-mul                                        5.7160+-0.1132     ?      5.9920+-0.9259        ? might be 1.0483x slower
   boolean-test                                       4.2770+-0.1517            4.2547+-0.1724        
   branch-fold                                        4.6037+-0.0943            4.5582+-0.1127        
   by-val-generic                                    10.5117+-0.2543     ?     10.6606+-0.1665        ? might be 1.0142x slower
   call-spread-apply                                 17.4433+-0.5543     ?     17.5362+-0.3083        ?
   call-spread-call                                   7.3006+-0.5413     ?      7.3459+-0.1424        ?
   captured-assignments                               0.6034+-0.1283            0.5967+-0.1403          might be 1.0111x faster
   cast-int-to-double                                 7.9997+-0.1982     ?      8.0933+-0.1734        ? might be 1.0117x slower
   cell-argument                                     10.0621+-0.4024     ?     10.2444+-0.5775        ? might be 1.0181x slower
   cfg-simplify                                       3.6242+-0.1734     ?      3.6794+-0.1651        ? might be 1.0152x slower
   chain-getter-access                               12.5887+-0.2630     ?     12.8070+-0.4647        ? might be 1.0173x slower
   cmpeq-obj-to-obj-other                            12.1703+-0.1567     ?     12.3469+-0.3613        ? might be 1.0145x slower
   constant-test                                      7.5880+-0.1328     ?      7.6479+-0.3224        ?
   DataView-custom-properties                        53.9955+-0.7911           53.6469+-1.9907        
   delay-tear-off-arguments-strictmode               27.8857+-1.8582           27.6113+-1.2433        
   destructuring-arguments                            7.9932+-0.4871     ?      8.0097+-0.1991        ?
   destructuring-swap                                 7.5989+-0.3160            7.5308+-0.3101        
   direct-arguments-getbyval                          1.1960+-0.2362            1.1953+-0.1422        
   div-boolean-double                                 5.4319+-0.1325            5.3835+-0.1642        
   div-boolean                                        9.6458+-0.2713     ?      9.7291+-0.1946        ?
   double-get-by-val-out-of-bounds                    6.2791+-2.5405            5.6110+-0.0888          might be 1.1191x faster
   double-pollution-getbyval                          9.5148+-0.3385     ?      9.5363+-0.2162        ?
   double-pollution-putbyoffset                       5.4475+-0.1626            5.2504+-0.0952          might be 1.0375x faster
   double-to-int32-typed-array-no-inline              2.8646+-0.0745            2.7955+-0.1049          might be 1.0247x faster
   double-to-int32-typed-array                        2.6707+-0.0059            2.5860+-0.1507          might be 1.0328x faster
   double-to-uint32-typed-array-no-inline             2.8254+-0.1295     ?      2.8594+-0.1193        ? might be 1.0120x slower
   double-to-uint32-typed-array                       2.6981+-0.1589            2.6562+-0.1768          might be 1.0158x faster
   elidable-new-object-dag                           53.9650+-0.9964           53.5323+-2.6119        
   elidable-new-object-roflcopter                   199.1367+-0.6279          198.1289+-1.5141        
   elidable-new-object-then-call                     53.4644+-4.7599     ?     54.0285+-5.3884        ? might be 1.0106x slower
   elidable-new-object-tree                          62.7905+-2.6935           61.6533+-2.5110          might be 1.0184x faster
   empty-string-plus-int                              7.1674+-0.2961     ?      7.4043+-0.3943        ? might be 1.0331x slower
   emscripten-cube2hash                              46.4141+-0.6869           46.0182+-1.2966        
   external-arguments-getbyval                        1.8930+-0.2002            1.8719+-0.0957          might be 1.0112x faster
   external-arguments-putbyval                        2.8184+-0.2567     ?      2.8719+-0.4720        ? might be 1.0190x slower
   fixed-typed-array-storage-var-index                1.5295+-0.0986     ?      1.5297+-0.1556        ?
   fixed-typed-array-storage                          1.1156+-0.0995     ?      1.1354+-0.1105        ? might be 1.0178x slower
   Float32Array-matrix-mult                           5.7381+-0.1549     ?      5.8739+-0.1413        ? might be 1.0237x slower
   Float32Array-to-Float64Array-set                  77.2402+-6.6532           75.4887+-2.6006          might be 1.0232x faster
   Float64Array-alloc-long-lived                     85.7006+-0.4031     ?     85.7178+-0.4791        ?
   Float64Array-to-Int16Array-set                    92.1924+-1.2404     ?     93.9808+-3.3064        ? might be 1.0194x slower
   fold-double-to-int                                21.2925+-0.2557           21.2779+-0.4089        
   fold-get-by-id-to-multi-get-by-offset-rare-int   
                                                     10.0005+-0.2714     ?     10.5319+-0.3177        ? might be 1.0531x slower
   fold-get-by-id-to-multi-get-by-offset              8.7477+-0.4145            8.6622+-0.3428        
   fold-multi-get-by-offset-to-get-by-offset   
                                                      8.0860+-0.8521            7.5858+-0.7834          might be 1.0659x faster
   fold-multi-get-by-offset-to-poly-get-by-offset   
                                                      8.3013+-0.8772            8.0865+-0.8799          might be 1.0266x faster
   fold-multi-put-by-offset-to-poly-put-by-offset   
                                                      7.6379+-0.7502            7.6365+-0.8538        
   fold-multi-put-by-offset-to-put-by-offset   
                                                      6.0704+-0.8083     ?      6.3484+-0.6938        ? might be 1.0458x slower
   fold-multi-put-by-offset-to-replace-or-transition-put-by-offset   
                                                     11.6492+-1.1295           11.0167+-0.5919          might be 1.0574x faster
   fold-put-by-id-to-multi-put-by-offset              8.4652+-0.7802            8.2802+-0.6206          might be 1.0223x faster
   fold-put-structure                                 6.0735+-1.0709     ?      6.1895+-0.9507        ? might be 1.0191x slower
   for-of-iterate-array-entries                       7.5454+-0.6095     ?      7.5925+-0.2612        ?
   for-of-iterate-array-keys                          3.7493+-0.2060            3.6177+-0.1897          might be 1.0364x faster
   for-of-iterate-array-values                        3.2361+-0.1964     ?      3.3391+-0.5756        ? might be 1.0318x slower
   fround                                            22.9906+-0.9185           21.5929+-0.8339          might be 1.0647x faster
   ftl-library-inlining-dataview                     91.2850+-7.0672     ?     92.8546+-1.8107        ? might be 1.0172x slower
   ftl-library-inlining                              90.4918+-12.0433          84.0895+-0.6050          might be 1.0761x faster
   function-dot-apply                                 2.3182+-0.1630            2.2463+-0.1225          might be 1.0320x faster
   function-test                                      4.8297+-0.1906            4.7812+-0.1313          might be 1.0101x faster
   function-with-eval                               163.5040+-1.2300     ?    164.3433+-1.6703        ?
   gcse-poly-get-less-obvious                        24.9211+-0.3938           24.6510+-0.2087          might be 1.0110x faster
   gcse-poly-get                                     24.5190+-0.2365     ?     24.8833+-0.3794        ? might be 1.0149x slower
   gcse                                               6.4375+-0.3256     ?      6.4517+-0.1127        ?
   get-by-id-bimorphic-check-structure-elimination-simple   
                                                      3.2864+-0.1205     ?      3.2974+-0.0738        ?
   get-by-id-bimorphic-check-structure-elimination   
                                                      8.2070+-0.2108            8.1563+-0.2335        
   get-by-id-chain-from-try-block                    15.8486+-0.2651           15.3743+-0.3115          might be 1.0308x faster
   get-by-id-check-structure-elimination              7.4697+-0.1747            7.4552+-0.3222        
   get-by-id-proto-or-self                           22.8228+-2.8191           22.7040+-0.6591        
   get-by-id-quadmorphic-check-structure-elimination-simple   
                                                      3.9921+-0.1625            3.9153+-0.0516          might be 1.0196x faster
   get-by-id-self-or-proto                           23.0773+-3.1690     ?     23.2311+-2.4370        ?
   get-by-val-out-of-bounds                           5.1325+-0.3474     ?      5.4078+-0.3374        ? might be 1.0536x slower
   get_callee_monomorphic                             5.1228+-0.1290            4.9769+-0.4104          might be 1.0293x faster
   get_callee_polymorphic                             4.2639+-0.1357            4.1897+-0.1168          might be 1.0177x faster
   getter-no-activation                               5.6923+-0.0703            5.6245+-0.1135          might be 1.0121x faster
   getter-richards                                  133.0340+-4.2090     ?    136.4860+-5.6382        ? might be 1.0259x slower
   getter                                             6.6177+-0.1407            6.5657+-0.3809        
   global-var-const-infer-fire-from-opt               1.1810+-0.2530     ?      1.2056+-0.2646        ? might be 1.0208x slower
   global-var-const-infer                             1.0656+-0.2350     ?      1.1530+-0.2095        ? might be 1.0820x slower
   HashMap-put-get-iterate-keys                      35.6431+-1.2730           35.5135+-1.1642        
   HashMap-put-get-iterate                           34.6339+-0.8920     ?     35.0992+-0.9091        ? might be 1.0134x slower
   HashMap-string-put-get-iterate                    34.1024+-0.3727           33.8381+-1.5463        
   hoist-make-rope                                   13.4523+-1.1296     ?     14.2827+-1.5771        ? might be 1.0617x slower
   hoist-poly-check-structure-effectful-loop   
                                                      6.6908+-0.2674     ?      6.7139+-0.2389        ?
   hoist-poly-check-structure                         4.8240+-0.1640            4.7341+-0.0684          might be 1.0190x faster
   imul-double-only                                  10.2167+-0.2990           10.0547+-0.2896          might be 1.0161x faster
   imul-int-only                                     11.9835+-0.7486     ?     12.4701+-1.2104        ? might be 1.0406x slower
   imul-mixed                                         9.2562+-1.1580     ?      9.9597+-0.8865        ? might be 1.0760x slower
   in-four-cases                                     23.7211+-0.1071           23.6798+-0.1384        
   in-one-case-false                                 12.4078+-0.2732     ?     12.4737+-0.2046        ?
   in-one-case-true                                  12.5193+-0.1373           12.3958+-0.1381        
   in-two-cases                                      12.8317+-0.2517     ?     12.9422+-0.2600        ?
   indexed-properties-in-objects                      3.7360+-0.1582            3.6655+-0.1140          might be 1.0192x faster
   infer-closure-const-then-mov-no-inline             4.4127+-0.1623            4.3713+-0.0731        
   infer-closure-const-then-mov                      24.6403+-0.3610           24.3852+-0.1423          might be 1.0105x faster
   infer-closure-const-then-put-to-scope-no-inline   
                                                     14.2224+-0.1863     ?     14.2573+-0.3382        ?
   infer-closure-const-then-put-to-scope             27.8505+-0.2762           27.7809+-0.3832        
   infer-closure-const-then-reenter-no-inline   
                                                     67.2892+-0.3745     ?     68.5824+-1.7406        ? might be 1.0192x slower
   infer-closure-const-then-reenter                  27.8602+-0.1981     ?     29.0210+-2.2242        ? might be 1.0417x slower
   infer-constant-global-property                    37.2982+-0.4657     ?     37.3185+-1.6162        ?
   infer-constant-property                            3.2523+-0.0980     ?      3.2729+-0.1326        ?
   infer-one-time-closure-ten-vars                   14.9412+-0.3790           14.8022+-0.3057        
   infer-one-time-closure-two-vars                   14.2898+-0.7952           14.0137+-0.2146          might be 1.0197x faster
   infer-one-time-closure                            14.0966+-0.4507     ?     14.1162+-0.5026        ?
   infer-one-time-deep-closure                       24.5854+-0.2910           24.4135+-0.3403        
   inline-arguments-access                            2.1538+-0.1159     ?      2.1811+-0.2494        ? might be 1.0127x slower
   inline-arguments-aliased-access                    2.4995+-0.2265            2.4035+-0.1744          might be 1.0399x faster
   inline-arguments-local-escape                     16.6115+-0.3009           16.3920+-0.2535          might be 1.0134x faster
   inline-get-scoped-var                              5.6407+-0.1552            5.5863+-0.1299        
   inlined-put-by-id-transition                      13.3802+-0.2150     ?     14.5045+-1.5830        ? might be 1.0840x slower
   int-or-other-abs-then-get-by-val                   6.8694+-0.1409     ?      6.8984+-0.0764        ?
   int-or-other-abs-zero-then-get-by-val             26.9090+-0.2944     ?     27.0420+-0.3104        ?
   int-or-other-add-then-get-by-val                   6.0540+-0.9838            5.8043+-0.2917          might be 1.0430x faster
   int-or-other-add                                   7.9039+-0.1765     ?      7.9198+-0.1024        ?
   int-or-other-div-then-get-by-val                   5.2909+-0.0783            5.2367+-0.1283          might be 1.0103x faster
   int-or-other-max-then-get-by-val                   5.2549+-0.1654            5.2238+-0.2367        
   int-or-other-min-then-get-by-val                   5.2025+-0.2031            5.1873+-0.1303        
   int-or-other-mod-then-get-by-val                   5.1452+-0.1094            5.1127+-0.1819        
   int-or-other-mul-then-get-by-val                   5.1537+-0.1076            5.0807+-0.1885          might be 1.0144x faster
   int-or-other-neg-then-get-by-val                   6.2035+-0.0828     ?      6.2838+-0.1943        ? might be 1.0129x slower
   int-or-other-neg-zero-then-get-by-val             26.7652+-0.3055     ?     26.9903+-0.2830        ?
   int-or-other-sub-then-get-by-val                   6.3963+-0.7871            6.1889+-0.1124          might be 1.0335x faster
   int-or-other-sub                                   4.6515+-0.1330            4.6175+-0.2413        
   int-overflow-local                                 5.5959+-0.1902     ?      5.6656+-0.2743        ? might be 1.0124x slower
   Int16Array-alloc-long-lived                       62.5900+-1.8245           62.2396+-1.0774        
   Int16Array-bubble-sort-with-byteLength            38.7550+-0.4592           38.5664+-0.0549        
   Int16Array-bubble-sort                            37.6658+-0.2291     ?     38.4088+-1.5402        ? might be 1.0197x slower
   Int16Array-load-int-mul                            2.0164+-0.0397            1.9460+-0.1571          might be 1.0362x faster
   Int16Array-to-Int32Array-set                      76.7258+-1.9801     ?     76.8633+-3.0369        ?
   Int32Array-alloc-large                            33.9001+-1.0686     ?     34.1972+-0.5637        ?
   Int32Array-alloc-long-lived                       68.3960+-0.9428     ?     68.8387+-1.2152        ?
   Int32Array-alloc                                   4.1189+-0.2121            4.0208+-0.2317          might be 1.0244x faster
   Int32Array-Int8Array-view-alloc                    9.9101+-1.0181            9.6154+-1.1080          might be 1.0306x faster
   int52-spill                                        8.6395+-0.3674     ?      8.7462+-0.3458        ? might be 1.0123x slower
   Int8Array-alloc-long-lived                        57.0508+-1.3462           56.4332+-1.0979          might be 1.0109x faster
   Int8Array-load-with-byteLength                     4.7523+-0.2481            4.7515+-0.1058        
   Int8Array-load                                     4.6605+-0.1665     ?      4.7119+-0.1016        ? might be 1.0110x slower
   integer-divide                                    14.3857+-0.2304           14.3480+-0.2212        
   integer-modulo                                     2.6938+-0.2351            2.6660+-0.1171          might be 1.0104x faster
   large-int-captured                                10.5858+-0.9618     ?     10.7032+-0.1639        ? might be 1.0111x slower
   large-int-neg                                     20.5865+-0.5382           20.3026+-0.3300          might be 1.0140x faster
   large-int                                         18.1209+-0.1260     ?     18.5925+-1.6358        ? might be 1.0260x slower
   logical-not                                        6.4485+-0.5656            6.2885+-0.2460          might be 1.0254x faster
   lots-of-fields                                    18.9684+-0.8798           18.4410+-0.2855          might be 1.0286x faster
   make-indexed-storage                               4.1109+-0.0204     ^      4.0333+-0.0436        ^ definitely 1.0192x faster
   make-rope-cse                                      5.3525+-0.3006     ?      5.3548+-0.3381        ?
   marsaglia-larger-ints                             56.6404+-2.5754           55.6656+-0.7031          might be 1.0175x faster
   marsaglia-osr-entry                               27.9982+-0.0895           27.8488+-0.4215        
   max-boolean                                        3.2922+-0.1893     ?      3.3467+-0.0979        ? might be 1.0166x slower
   method-on-number                                  23.4440+-1.1186     ?     23.9248+-1.1939        ? might be 1.0205x slower
   min-boolean                                        3.2363+-0.1049            3.1478+-0.1361          might be 1.0281x faster
   minus-boolean-double                               4.1782+-0.1117            4.1440+-0.0918        
   minus-boolean                                      3.2358+-0.2456            3.2026+-0.1975          might be 1.0104x faster
   misc-strict-eq                                    51.3934+-1.0164           51.1189+-0.6822        
   mod-boolean-double                                11.6069+-0.1929     ?     11.6642+-0.1782        ?
   mod-boolean                                        8.7985+-0.2659     ?      8.8923+-0.2962        ? might be 1.0107x slower
   mul-boolean-double                                 4.8027+-0.0994            4.7762+-0.2533        
   mul-boolean                                        3.4928+-0.0937     ?      3.5657+-0.3150        ? might be 1.0209x slower
   neg-boolean                                        4.2095+-0.2674     ?      4.2924+-0.0788        ? might be 1.0197x slower
   negative-zero-divide                               0.5053+-0.0625            0.4538+-0.1134          might be 1.1135x faster
   negative-zero-modulo                               0.4768+-0.0973     ?      0.4837+-0.0978        ? might be 1.0145x slower
   negative-zero-negate                               0.4643+-0.0860            0.4565+-0.0786          might be 1.0170x faster
   nested-function-parsing                           29.4877+-0.2981     ?     29.5384+-0.3823        ?
   new-array-buffer-dead                              3.7152+-0.0554     ?      3.7800+-0.1446        ? might be 1.0174x slower
   new-array-buffer-push                              9.3502+-0.4045            9.2048+-0.2259          might be 1.0158x faster
   new-array-dead                                    15.5920+-0.4855           15.3129+-0.5008          might be 1.0182x faster
   new-array-push                                     6.3737+-0.5780            6.3508+-0.2912        
   number-test                                        4.2207+-0.1501            4.2126+-0.1305        
   object-closure-call                                7.5201+-0.1890     ?      7.7142+-0.6224        ? might be 1.0258x slower
   object-test                                        4.4016+-0.1712     ?      4.4710+-0.0839        ? might be 1.0158x slower
   obvious-sink-pathology-taken                     170.2067+-4.8555          169.5800+-1.6939        
   obvious-sink-pathology                           160.7463+-2.6860          158.8027+-1.4671          might be 1.0122x faster
   obviously-elidable-new-object                     46.5445+-4.3240     ?     47.8333+-1.1356        ? might be 1.0277x slower
   plus-boolean-arith                                 3.3029+-0.1238     ?      3.3110+-0.0982        ?
   plus-boolean-double                                4.3110+-0.8203            4.2262+-0.1160          might be 1.0201x faster
   plus-boolean                                       3.1133+-0.1148     ?      3.1444+-0.0977        ?
   poly-chain-access-different-prototypes-simple   
                                                      3.8460+-0.1769            3.8294+-0.1087        
   poly-chain-access-different-prototypes             2.8491+-0.4053     ?      2.8513+-0.4812        ?
   poly-chain-access-simpler                          3.8248+-0.1387            3.8138+-0.0911        
   poly-chain-access                                  3.2195+-0.1577            3.1976+-0.2174        
   poly-stricteq                                     68.3892+-0.6573     ?     68.6841+-1.0660        ?
   polymorphic-array-call                             2.2936+-0.1980            2.2213+-0.1277          might be 1.0326x faster
   polymorphic-get-by-id                              4.1590+-0.1192            4.1275+-0.1154        
   polymorphic-put-by-id                             40.2913+-6.6957           38.2324+-5.3730          might be 1.0539x faster
   polymorphic-structure                             21.4756+-0.4406     ?     21.6693+-0.6152        ?
   polyvariant-monomorphic-get-by-id                 11.4995+-0.2123           11.4138+-0.1452        
   proto-getter-access                               12.8760+-0.4400           12.8382+-0.4171        
   put-by-id-replace-and-transition                  10.9247+-0.1040           10.7192+-0.7952          might be 1.0192x faster
   put-by-id-slightly-polymorphic                     3.4863+-0.1196            3.4645+-0.1763        
   put-by-id                                         17.2957+-0.3406           17.0233+-0.3144          might be 1.0160x faster
   put-by-val-direct                                  0.9012+-0.0122            0.8696+-0.1105          might be 1.0363x faster
   put-by-val-large-index-blank-indexing-type   
                                                      7.9482+-0.3544     ?      8.1636+-0.3184        ? might be 1.0271x slower
   put-by-val-machine-int                             3.1297+-0.2755            3.0665+-0.4626          might be 1.0206x faster
   rare-osr-exit-on-local                            18.1379+-0.4245     ?     18.5580+-0.7147        ? might be 1.0232x slower
   register-pressure-from-osr                        26.2038+-0.1663     ?     26.4341+-0.4081        ?
   setter                                             6.4360+-0.1870     ?      6.4935+-0.1364        ?
   simple-activation-demo                            32.1646+-0.2042     !     33.2589+-0.4165        ! definitely 1.0340x slower
   simple-getter-access                              17.9093+-1.1888           17.8050+-0.6535        
   simple-poly-call-nested                           10.1358+-0.2116           10.1017+-0.0503        
   simple-poly-call                                   1.6611+-0.0698     ?      1.7105+-0.2578        ? might be 1.0298x slower
   sin-boolean                                       25.0165+-3.8033           23.8282+-3.1889          might be 1.0499x faster
   sinkable-new-object-dag                           91.2798+-1.6139     ?     93.7160+-2.0467        ? might be 1.0267x slower
   sinkable-new-object-taken                         68.2957+-0.7379           67.8597+-1.8368        
   sinkable-new-object                               51.3275+-2.1449     ?     51.5098+-2.3869        ?
   slow-array-profile-convergence                     3.8543+-0.0485     ?      3.9236+-0.3083        ? might be 1.0180x slower
   slow-convergence                                   4.6364+-0.1800            4.5875+-0.0461          might be 1.0107x faster
   sparse-conditional                                 1.4971+-0.0441     ?      1.5772+-0.1561        ? might be 1.0535x slower
   splice-to-remove                                  20.7817+-0.7064     ?     21.1777+-1.1981        ? might be 1.0191x slower
   string-char-code-at                               19.5248+-0.3722     ?     19.6171+-0.2961        ?
   string-concat-object                               2.6743+-0.3030     ?      2.6751+-0.3231        ?
   string-concat-pair-object                          2.6866+-0.2221            2.6013+-0.3306          might be 1.0328x faster
   string-concat-pair-simple                         14.8406+-0.5177     ?     14.8674+-0.2351        ?
   string-concat-simple                              15.6113+-0.7364           15.5604+-0.5984        
   string-cons-repeat                                 9.5069+-0.1164     ?      9.7828+-0.8702        ? might be 1.0290x slower
   string-cons-tower                                  9.1549+-0.4158     ?      9.3858+-0.3722        ? might be 1.0252x slower
   string-equality                                   22.6934+-0.4486     !     25.3059+-0.8777        ! definitely 1.1151x slower
   string-get-by-val-big-char                         9.4265+-0.4743     ?      9.4554+-0.3364        ?
   string-get-by-val-out-of-bounds-insane             5.4891+-0.3238     ?      5.5512+-0.2912        ? might be 1.0113x slower
   string-get-by-val-out-of-bounds                    6.6288+-0.2696     ?      6.7150+-0.2578        ? might be 1.0130x slower
   string-get-by-val                                  4.7342+-0.1196     ?      4.7642+-0.2533        ?
   string-hash                                        2.6584+-0.1251     ?      2.7020+-0.1096        ? might be 1.0164x slower
   string-long-ident-equality                        18.4013+-0.1179     ^     17.1936+-0.4447        ^ definitely 1.0702x faster
   string-repeat-arith                               39.5032+-0.4064     ?     39.8365+-1.5374        ?
   string-sub                                        77.3779+-1.4552     ?     78.0052+-1.9896        ?
   string-test                                        4.2910+-0.1077            4.2180+-0.1999          might be 1.0173x faster
   string-var-equality                               43.3842+-0.4895     ?     43.5080+-1.1447        ?
   structure-hoist-over-transitions                   3.2438+-0.2014     ?      3.2633+-0.1922        ?
   substring-concat-weird                            52.9222+-1.5122           52.4628+-0.5840        
   substring-concat                                  55.0312+-0.9223           54.6160+-0.6237        
   substring                                         61.2625+-0.4183           61.1802+-0.1495        
   switch-char-constant                               3.3320+-0.1327     ?      3.3510+-0.1638        ?
   switch-char                                        7.8353+-0.1340     ?      8.0259+-0.5492        ? might be 1.0243x slower
   switch-constant                                   12.7565+-1.4336           10.8495+-2.5522          might be 1.1758x faster
   switch-string-basic-big-var                       26.0828+-0.6970           25.7248+-2.1432          might be 1.0139x faster
   switch-string-basic-big                           18.0333+-1.7539           17.6769+-0.9192          might be 1.0202x faster
   switch-string-basic-var                           28.7164+-2.3007           27.1993+-1.6290          might be 1.0558x faster
   switch-string-basic                               20.0025+-1.0765           19.6236+-0.4943          might be 1.0193x faster
   switch-string-big-length-tower-var                25.5057+-1.5226           25.0994+-0.6437          might be 1.0162x faster
   switch-string-length-tower-var                    19.9339+-0.3349           19.9228+-0.2991        
   switch-string-length-tower                        19.8012+-1.4134           17.4393+-3.4921          might be 1.1354x faster
   switch-string-short                               14.3256+-0.1404     ?     14.6667+-0.3731        ? might be 1.0238x slower
   switch                                            14.6938+-1.0498           14.5535+-1.5988        
   tear-off-arguments-simple                          2.4216+-0.1114            2.3423+-0.1061          might be 1.0339x faster
   tear-off-arguments                                 3.5765+-0.0822            3.5186+-0.1877          might be 1.0165x faster
   temporal-structure                                16.3616+-0.8671           15.8803+-0.3201          might be 1.0303x faster
   to-int32-boolean                                  20.6698+-0.2082     ?     20.7473+-0.2820        ?
   undefined-property-access                        471.8516+-14.7402    ?    475.4438+-15.3231       ?
   undefined-test                                     4.4207+-0.1452            4.3339+-0.0727          might be 1.0200x faster
   unprofiled-licm                                   27.4747+-0.6895           27.2425+-0.5313        
   weird-inlining-const-prop                          2.5165+-0.1363     ?      2.6725+-0.4138        ? might be 1.0620x slower

   &lt;arithmetic&gt;                                      22.7039+-0.1070           22.6821+-0.0667          might be 1.0010x faster
   &lt;geometric&gt; *                                     10.4531+-0.0381           10.4276+-0.0394          might be 1.0024x faster
   &lt;harmonic&gt;                                         5.3497+-0.0830            5.3171+-0.0372          might be 1.0061x faster

                                                          Conf#1                    Conf#2                                      
AsmBench:
   bigfib.cpp                                       674.2424+-7.8573     ?    677.8242+-16.5421       ?
   cray.c                                           626.6818+-2.0885     ?    629.6423+-3.6065        ?
   dry.c                                            649.4912+-14.3020    ?    653.3289+-0.8533        ?
   FloatMM.c                                        950.1825+-2.0089          949.4398+-3.3852        
   gcc-loops.cpp                                   5835.2590+-13.1766        5829.4885+-9.8924        
   n-body.c                                        1666.7138+-4.2643         1665.5029+-1.4899        
   Quicksort.c                                      583.7784+-1.7311          583.1193+-1.5415        
   stepanov_container.cpp                          4830.1855+-30.9372    ?   4834.5573+-50.0291       ?
   Towers.c                                         392.7509+-1.8877     ^    382.7705+-3.6328        ^ definitely 1.0261x faster

   &lt;arithmetic&gt;                                    1801.0317+-5.7281         1800.6304+-7.6532          might be 1.0002x faster
   &lt;geometric&gt; *                                   1121.5741+-3.1488         1120.0081+-3.7420          might be 1.0014x faster
   &lt;harmonic&gt;                                       825.0259+-2.2755          821.6203+-2.7122          might be 1.0041x faster

                                                          Conf#1                    Conf#2                                      
CompressionBench:
   huffman                                          655.1619+-1.5132          642.7457+-24.7199         might be 1.0193x faster
   arithmetic-simple                                557.3434+-2.4009          555.1948+-0.5684        
   arithmetic-precise                               431.4813+-4.4166          430.5002+-1.8156        
   arithmetic-complex-precise                       428.5267+-2.9287          428.0981+-1.7794        
   arithmetic-precise-order-0                       612.0167+-7.9948          601.3146+-3.7435          might be 1.0178x faster
   arithmetic-precise-order-1                       457.1146+-2.4693     ?    458.2452+-3.1862        ?
   arithmetic-precise-order-2                       514.8254+-5.0041     ?    519.5406+-17.3771       ?
   arithmetic-simple-order-1                        563.5138+-4.5173          561.9077+-5.5510        
   arithmetic-simple-order-2                        630.2811+-3.9630          629.2794+-7.0581        
   lz-string                                        431.1390+-17.5835         427.7583+-11.3183       

   &lt;arithmetic&gt;                                     528.1404+-0.4334     ^    525.4585+-2.0161        ^ definitely 1.0051x faster
   &lt;geometric&gt; *                                    521.5278+-0.8061          519.1945+-1.8210          might be 1.0045x faster
   &lt;harmonic&gt;                                       514.9926+-1.1871          512.9710+-1.8373          might be 1.0039x faster

                                                          Conf#1                    Conf#2                                      
All benchmarks:
   &lt;arithmetic&gt;                                     135.4305+-0.3115          135.2898+-0.3858          might be 1.0010x faster
   &lt;geometric&gt;                                       17.5159+-0.0578           17.4718+-0.0644          might be 1.0025x faster
   &lt;harmonic&gt;                                         4.4626+-0.0568            4.4445+-0.0256          might be 1.0041x faster

                                                          Conf#1                    Conf#2                                      
Geomean of preferred means:
   &lt;scaled-result&gt;                                   86.4817+-0.1971           86.2220+-0.3542          might be 1.0030x faster</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074234</commentid>
    <comment_count>3</comment_count>
      <attachid>247588</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-03-04 14:22:05 -0800</bug_when>
    <thetext>Comment on attachment 247588
Patch

r=me

Should we try to turn log with a base of 2 into a shift?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074236</commentid>
    <comment_count>4</comment_count>
      <attachid>247588</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2015-03-04 14:39:48 -0800</bug_when>
    <thetext>Comment on attachment 247588
Patch

Clearing flags on attachment: 247588

Committed r181035: &lt;http://trac.webkit.org/changeset/181035&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074237</commentid>
    <comment_count>5</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2015-03-04 14:39:52 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247588</attachid>
            <date>2015-02-27 21:32:37 -0800</date>
            <delta_ts>2015-03-04 14:39:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-142126-20150227213222.patch</filename>
            <type>text/plain</type>
            <size>21028</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwODEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
MmE2NGQxNDFjNmU5YjcyMjI4MjZlNmEzNDE3YTM3OGY5NTAzZWNjLi43MWU2Y2VhNWQ0ZDQzY2E5
MmMzNzE1YTI3NWEyZDliMjkxNmFhNTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSw1OSBAQAogMjAxNS0wMi0yNyAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxl
LmNvbT4KIAorICAgICAgICBbSlNDXSBBZGQgYSBub2RlIGZvciBNYXRoLmxvZygpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDIxMjYKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGFkZHMg
dGhlIERGRyBub2RlIEFyaXRoTG9nIGZvciBMb2dJbnRyaW5zaWMuCisKKyAgICAgICAgSGF2aW5n
IGEgZGlyZWN0IGNhbGwgdG8gbG9nIGhhcyB2ZXJ5IGxpdHRsZSB2YWx1ZSBieSBpdHNlbGYsIHRo
ZSBpbXBsZW1lbnRhdGlvbgorICAgICAgICBpbiBERkcgYW5kIEZUTCBpcyBhIHNpbXBsZSBmdW5j
dGlvbiBjYWxsLgorCisgICAgICAgIFdoYXQgaXMgdXNlZnVsIGluIEFyaXRoTG9nIGlzIHRoYXQg
d2Uga25vdyB0aGUgb3BlcmF0aW9uIGlzIHB1cmUuCisgICAgICAgIFRoaXMgYWxsb3cgdXMgdG8g
aG9pc3QgaXQgb3V0IG9mIGxvb3BzIHdoZW4gdGhlIGFyZ3VtZW50IGlzIGluZGVwZW5kZW50Cisg
ICAgICAgIGlzIGFuIGludmFyaWFudCBvZiB0aGUgbG9vcC4KKworICAgICAgICBQZXJmIHdpc2Us
IHRoaXMgcGF0Y2ggZ2l2ZXM6CisgICAgICAgIC1LcmFrZW4ncyBpbWFnaW5nLWRhcmtyb29tOiBk
ZWZpbml0ZWx5IDEuMjM3MnggZmFzdGVyLgorICAgICAgICAtQXNtQmVuY2gncyBUb3dlcnMuYzog
ZGVmaW5pdGVseSAxLjAyNjF4IGZhc3Rlci4KKworICAgICAgICAqIGRmZy9ERkdBYnN0cmFjdElu
dGVycHJldGVySW5saW5lcy5oOgorICAgICAgICAoSlNDOjpERkc6OkFic3RyYWN0SW50ZXJwcmV0
ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZmZWN0cyk6CisgICAgICAgICogZGZnL0RG
R0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpCeXRlQ29kZVBhcnNlcjo6
aGFuZGxlSW50cmluc2ljKToKKyAgICAgICAgKiBkZmcvREZHQ2xvYmJlcml6ZS5oOgorICAgICAg
ICAoSlNDOjpERkc6OmNsb2JiZXJpemUpOgorICAgICAgICAqIGRmZy9ERkdEb2VzR0MuY3BwOgor
ICAgICAgICAoSlNDOjpERkc6OmRvZXNHQyk6CisgICAgICAgICogZGZnL0RGR0ZpeHVwUGhhc2Uu
Y3BwOgorICAgICAgICAoSlNDOjpERkc6OkZpeHVwUGhhc2U6OmZpeHVwTm9kZSk6CisgICAgICAg
ICogZGZnL0RGR05vZGVUeXBlLmg6CisgICAgICAgICogZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdh
dGlvblBoYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpQcmVkaWN0aW9uUHJvcGFnYXRpb25Q
aGFzZTo6cHJvcGFnYXRlKToKKyAgICAgICAgKEpTQzo6REZHOjpQcmVkaWN0aW9uUHJvcGFnYXRp
b25QaGFzZTo6ZG9Eb3VibGVWb3RpbmcpOgorICAgICAgICAqIGRmZy9ERkdTYWZlVG9FeGVjdXRl
Lmg6CisgICAgICAgIChKU0M6OkRGRzo6c2FmZVRvRXhlY3V0ZSk6CisgICAgICAgICogZGZnL0RG
R1NwZWN1bGF0aXZlSklULmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6
Y29tcGlsZUFyaXRoTG9nKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQuaDoKKyAg
ICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkRG
Rzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2
ZUpJVDY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZSk6
CisgICAgICAgICogZnRsL0ZUTENhcGFiaWxpdGllcy5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6
Y2FuQ29tcGlsZSk6CisgICAgICAgICogZnRsL0ZUTEludHJpbnNpY1JlcG9zaXRvcnkuaDoKKyAg
ICAgICAgKiBmdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwOgorICAgICAgICAoSlNDOjpGVEw6Okxv
d2VyREZHVG9MTFZNOjpjb21waWxlTm9kZSk6CisgICAgICAgIChKU0M6OkZUTDo6TG93ZXJERkdU
b0xMVk06OmNvbXBpbGVBcml0aExvZyk6CisgICAgICAgICogZnRsL0ZUTE91dHB1dC5oOgorICAg
ICAgICAoSlNDOjpGVEw6Ok91dHB1dDo6ZG91YmxlTG9nKToKKyAgICAgICAgKiB0ZXN0cy9zdHJl
c3MvbWF0aC1sb2ctYmFzaWNzLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvbWF0
aC1sb2ctd2l0aC1jb25zdGFudHMuanM6IEFkZGVkLgorCisyMDE1LTAyLTI3ICBCZW5qYW1pbiBQ
b3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCiAgICAgICAgIFtKU0NdIFVzZSB0aGUgd2F5
IG51bWJlciBjb25zdGFudHMgYXJlIHdyaXR0ZW4gdG8gaGVscCB0eXBlIHNwZWN1bGF0aW9uCiAg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDIwNzIKIApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJl
dGVySW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVy
cHJldGVySW5saW5lcy5oCmluZGV4IDE0OTVjOTdiMmZlMmI3MWIzMDdhZDQ1NTMzYTg4NjFmMzk1
MDE5NGIuLjdjY2YyZWIzNWEwNDUyMzk4YmZmODZjZDI1ZmFiMmZmOWQ2NjU2NGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGlu
ZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0
ZXJJbmxpbmVzLmgKQEAgLTc5NCw2ICs3OTQsMTYgQEAgYm9vbCBBYnN0cmFjdEludGVycHJldGVy
PEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHModW5zaWduZWQgY2xvYmJlckxpbWkK
ICAgICAgICAgZm9yTm9kZShub2RlKS5zZXRUeXBlKHR5cGVPZkRvdWJsZVVuYXJ5T3AoZm9yTm9k
ZShub2RlLT5jaGlsZDEoKSkubV90eXBlKSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KKworICAg
IGNhc2UgQXJpdGhMb2c6IHsKKyAgICAgICAgSlNWYWx1ZSBjaGlsZCA9IGZvck5vZGUobm9kZS0+
Y2hpbGQxKCkpLnZhbHVlKCk7CisgICAgICAgIGlmIChjaGlsZCAmJiBjaGlsZC5pc051bWJlcigp
KSB7CisgICAgICAgICAgICBzZXRDb25zdGFudChub2RlLCBqc0RvdWJsZU51bWJlcihsb2coY2hp
bGQuYXNOdW1iZXIoKSkpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAg
IGZvck5vZGUobm9kZSkuc2V0VHlwZSh0eXBlT2ZEb3VibGVVbmFyeU9wKGZvck5vZGUobm9kZS0+
Y2hpbGQxKCkpLm1fdHlwZSkpOworICAgICAgICBicmVhazsKKyAgICB9CiAgICAgICAgICAgICAK
ICAgICBjYXNlIExvZ2ljYWxOb3Q6IHsKICAgICAgICAgc3dpdGNoIChib29sZWFuUmVzdWx0KG5v
ZGUsIGZvck5vZGUobm9kZS0+Y2hpbGQxKCkpKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAppbmRleCBhNTEzZDdhYTFjMTNhYWE1ZGJiOGVh
ZWFkMzUyOTExNmVlNjUzNzAxLi41MTkxYWJiMzFmYWZhNzZhMzQ5YzQ1NzkxOGJkYTRjODJhYTQ3
YTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFy
c2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2Vy
LmNwcApAQCAtMTg0OCwxMCArMTg0OCwxMSBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVJ
bnRyaW5zaWMoaW50IHJlc3VsdE9wZXJhbmQsIEludHJpbnNpYyBpbnRyaW5zaWMsIGludAogICAg
ICAgICAKICAgICBjYXNlIE1heEludHJpbnNpYzoKICAgICAgICAgcmV0dXJuIGhhbmRsZU1pbk1h
eChyZXN1bHRPcGVyYW5kLCBBcml0aE1heCwgcmVnaXN0ZXJPZmZzZXQsIGFyZ3VtZW50Q291bnRJ
bmNsdWRpbmdUaGlzLCBpbnNlcnRDaGVja3MpOwotICAgICAgICAKKwogICAgIGNhc2UgU3FydElu
dHJpbnNpYzoKICAgICBjYXNlIENvc0ludHJpbnNpYzoKLSAgICBjYXNlIFNpbkludHJpbnNpYzog
eworICAgIGNhc2UgU2luSW50cmluc2ljOgorICAgIGNhc2UgTG9nSW50cmluc2ljOiB7CiAgICAg
ICAgIGlmIChhcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcyA9PSAxKSB7CiAgICAgICAgICAgICBp
bnNlcnRDaGVja3MoKTsKICAgICAgICAgICAgIHNldChWaXJ0dWFsUmVnaXN0ZXIocmVzdWx0T3Bl
cmFuZCksIGFkZFRvR3JhcGgoSlNDb25zdGFudCwgT3BJbmZvKG1fY29uc3RhbnROYU4pKSk7CkBA
IC0xODczLDYgKzE4NzQsMTEgQEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6aGFuZGxlSW50cmluc2lj
KGludCByZXN1bHRPcGVyYW5kLCBJbnRyaW5zaWMgaW50cmluc2ljLCBpbnQKICAgICAgICAgICAg
IGluc2VydENoZWNrcygpOwogICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihyZXN1bHRP
cGVyYW5kKSwgYWRkVG9HcmFwaChBcml0aFNpbiwgZ2V0KHZpcnR1YWxSZWdpc3RlckZvckFyZ3Vt
ZW50KDEsIHJlZ2lzdGVyT2Zmc2V0KSkpKTsKICAgICAgICAgICAgIHJldHVybiB0cnVlOworCisg
ICAgICAgIGNhc2UgTG9nSW50cmluc2ljOgorICAgICAgICAgICAgaW5zZXJ0Q2hlY2tzKCk7Cisg
ICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKHJlc3VsdE9wZXJhbmQpLCBhZGRUb0dyYXBo
KEFyaXRoTG9nLCBnZXQodmlydHVhbFJlZ2lzdGVyRm9yQXJndW1lbnQoMSwgcmVnaXN0ZXJPZmZz
ZXQpKSkpOworICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAKICAgICAgICAg
ZGVmYXVsdDoKICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oCmluZGV4IDI4NmE1MzNiMzEwMjdm
ZTc4MGUyNzE5ZWIxZTEzZjkwMjk2MzU4MGUuLjc0ZjVlNTAzYzBlYzc4YmY5MDcwY2U5M2IwNjM4
MWZlMzI5OWEyM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xv
YmJlcml6ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5o
CkBAIC0xMzMsNiArMTMzLDcgQEAgdm9pZCBjbG9iYmVyaXplKEdyYXBoJiBncmFwaCwgTm9kZSog
bm9kZSwgY29uc3QgUmVhZEZ1bmN0b3ImIHJlYWQsIGNvbnN0IFdyaXRlRnUKICAgICBjYXNlIEFy
aXRoRlJvdW5kOgogICAgIGNhc2UgQXJpdGhTaW46CiAgICAgY2FzZSBBcml0aENvczoKKyAgICBj
YXNlIEFyaXRoTG9nOgogICAgIGNhc2UgR2V0U2NvcGU6CiAgICAgY2FzZSBTa2lwU2NvcGU6CiAg
ICAgY2FzZSBTdHJpbmdDaGFyQ29kZUF0OgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdEb2VzR0MuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2Vz
R0MuY3BwCmluZGV4IGM4MjNlYzc3NThkMjhmYTk0ZGU4MDgyZGQ3OWZlODg0ZjJhODdkZjcuLjc1
ZmEzOTcxZGI2N2M5YTIzODc5MzE0M2UxODQyNmIxOTg2MmQwOGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0RvZXNHQy5jcHAKQEAgLTg1LDYgKzg1LDcgQEAgYm9vbCBkb2VzR0MoR3Jh
cGgmIGdyYXBoLCBOb2RlKiBub2RlKQogICAgIGNhc2UgQXJpdGhGUm91bmQ6CiAgICAgY2FzZSBB
cml0aFNpbjoKICAgICBjYXNlIEFyaXRoQ29zOgorICAgIGNhc2UgQXJpdGhMb2c6CiAgICAgY2Fz
ZSBWYWx1ZUFkZDoKICAgICBjYXNlIEdldEJ5SWQ6CiAgICAgY2FzZSBHZXRCeUlkRmx1c2g6CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAppbmRleCA2MjVlOWVh
OGM1YWFmNzRkNGNmZGVmOGVmNmFkYmJlYzg2MWIxZDRjLi45YzM3NmM1Y2JhOTA2NjBlNWUyNTE2
ZTAzZTBmMDNlZDUzYThjN2VmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0ZpeHVwUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4
dXBQaGFzZS5jcHAKQEAgLTM1Niw3ICszNTYsOCBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIEFy
aXRoU3FydDoKICAgICAgICAgY2FzZSBBcml0aEZSb3VuZDoKICAgICAgICAgY2FzZSBBcml0aFNp
bjoKLSAgICAgICAgY2FzZSBBcml0aENvczogeworICAgICAgICBjYXNlIEFyaXRoQ29zOgorICAg
ICAgICBjYXNlIEFyaXRoTG9nOiB7CiAgICAgICAgICAgICBmaXhEb3VibGVPckJvb2xlYW5FZGdl
KG5vZGUtPmNoaWxkMSgpKTsKICAgICAgICAgICAgIG5vZGUtPnNldFJlc3VsdChOb2RlUmVzdWx0
RG91YmxlKTsKICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdO
b2RlVHlwZS5oCmluZGV4IDJjM2NmMDQ3NjYzMTFiYzM5ZGQyNmI2ODI4M2ZiZTA1M2E2Y2VmMTIu
LjZkYTMyMDkyYjlmN2I3OWMzNzc5MWNhZmIyYzcxNGUwODg2MDVjZjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgKQEAgLTE0MCw2ICsxNDAsNyBAQCBuYW1lc3BhY2Ug
SlNDIHsgbmFtZXNwYWNlIERGRyB7CiAgICAgbWFjcm8oQXJpdGhTcXJ0LCBOb2RlUmVzdWx0TnVt
YmVyKSBcCiAgICAgbWFjcm8oQXJpdGhTaW4sIE5vZGVSZXN1bHROdW1iZXIpIFwKICAgICBtYWNy
byhBcml0aENvcywgTm9kZVJlc3VsdE51bWJlcikgXAorICAgIG1hY3JvKEFyaXRoTG9nLCBOb2Rl
UmVzdWx0TnVtYmVyKSBcCiAgICAgXAogICAgIC8qIEFkZCBvZiB2YWx1ZXMgbWF5IGVpdGhlciBi
ZSBhcml0aG1ldGljLCBvciByZXN1bHQgaW4gc3RyaW5nIGNvbmNhdGVuYXRpb24uICovXAogICAg
IG1hY3JvKFZhbHVlQWRkLCBOb2RlUmVzdWx0SlMgfCBOb2RlTXVzdEdlbmVyYXRlKSBcCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlv
blBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3Bh
Z2F0aW9uUGhhc2UuY3BwCmluZGV4IDY4YWFmZWFjOTk3NjgxNmExNGYyNGEwN2UxMDdhYmMxMWEw
MDljNDMuLjc4ZjBmZmMwNTg5YTEyMGRhNzkxYzkyZDAxOWUzYWI4ZmRlZDZkNWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhh
c2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3Bh
Z2F0aW9uUGhhc2UuY3BwCkBAIC0zMzQsNyArMzM0LDggQEAgcHJpdmF0ZToKICAgICAgICAgY2Fz
ZSBBcml0aFNxcnQ6CiAgICAgICAgIGNhc2UgQXJpdGhGUm91bmQ6CiAgICAgICAgIGNhc2UgQXJp
dGhTaW46Ci0gICAgICAgIGNhc2UgQXJpdGhDb3M6IHsKKyAgICAgICAgY2FzZSBBcml0aENvczoK
KyAgICAgICAgY2FzZSBBcml0aExvZzogewogICAgICAgICAgICAgY2hhbmdlZCB8PSBzZXRQcmVk
aWN0aW9uKFNwZWNCeXRlY29kZURvdWJsZSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
fQpAQCAtNzg1LDYgKzc4Niw3IEBAIHByaXZhdGU6CiAgICAgICAgIGNhc2UgQXJpdGhTcXJ0Ogog
ICAgICAgICBjYXNlIEFyaXRoQ29zOgogICAgICAgICBjYXNlIEFyaXRoU2luOgorICAgICAgICBj
YXNlIEFyaXRoTG9nOgogICAgICAgICAgICAgaWYgKG5vZGUtPmNoaWxkMSgpLT5zaG91bGRTcGVj
dWxhdGVOdW1iZXIoKSkKICAgICAgICAgICAgICAgICBtX2dyYXBoLnZvdGVOb2RlKG5vZGUtPmNo
aWxkMSgpLCBWb3RlRG91YmxlLCB3ZWlnaHQpOwogICAgICAgICAgICAgZWxzZQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaAppbmRleCA1MTJkZGQ3ZTRjNjg4
NDk3ZjRlMDEyOGJjZWFhZGU4MDY0OTY0MDhiLi5mNzIzYWI5YzJiMTc0NGIwMzVjZDg5NTljOTNj
ZTM4NjM5NjAxNmMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nh
ZmVUb0V4ZWN1dGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NhZmVUb0V4
ZWN1dGUuaApAQCAtMTU1LDYgKzE1NSw3IEBAIGJvb2wgc2FmZVRvRXhlY3V0ZShBYnN0cmFjdFN0
YXRlVHlwZSYgc3RhdGUsIEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSkKICAgICBjYXNlIEFyaXRo
RlJvdW5kOgogICAgIGNhc2UgQXJpdGhTaW46CiAgICAgY2FzZSBBcml0aENvczoKKyAgICBjYXNl
IEFyaXRoTG9nOgogICAgIGNhc2UgVmFsdWVBZGQ6CiAgICAgY2FzZSBHZXRCeUlkOgogICAgIGNh
c2UgR2V0QnlJZEZsdXNoOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklULmNwcAppbmRleCAwNjFiNTQ4MDUxMzk1Mzk0YzM3MjA4ZjNmYWUxNWVjY2NiOGNk
OTdhLi40ZDJjYjNjZGNlMWYwZjM2MWU1Y2UzYTcwYWFhOWZjNDcwYjRjOGQ4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcApAQCAtMzYyNiw2
ICszNjI2LDE2IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVBcml0aFBvdyhOb2RlKiBu
b2RlKQogICAgIGRvdWJsZVJlc3VsdChyZXN1bHRGcHIsIG5vZGUpOwogfQogCit2b2lkIFNwZWN1
bGF0aXZlSklUOjpjb21waWxlQXJpdGhMb2coTm9kZSogbm9kZSkKK3sKKyAgICBTcGVjdWxhdGVE
b3VibGVPcGVyYW5kIG9wMSh0aGlzLCBub2RlLT5jaGlsZDEoKSk7CisgICAgRlBSUmVnIG9wMUZQ
UiA9IG9wMS5mcHIoKTsKKyAgICBmbHVzaFJlZ2lzdGVycygpOworICAgIEZQUlJlc3VsdCByZXN1
bHQodGhpcyk7CisgICAgY2FsbE9wZXJhdGlvbihsb2csIHJlc3VsdC5mcHIoKSwgb3AxRlBSKTsK
KyAgICBkb3VibGVSZXN1bHQocmVzdWx0LmZwcigpLCBub2RlKTsKK30KKwogLy8gUmV0dXJucyB0
cnVlIGlmIHRoZSBjb21wYXJlIGlzIGZ1c2VkIHdpdGggYSBzdWJzZXF1ZW50IGJyYW5jaC4KIGJv
b2wgU3BlY3VsYXRpdmVKSVQ6OmNvbXBhcmUoTm9kZSogbm9kZSwgTWFjcm9Bc3NlbWJsZXI6OlJl
bGF0aW9uYWxDb25kaXRpb24gY29uZGl0aW9uLCBNYWNyb0Fzc2VtYmxlcjo6RG91YmxlQ29uZGl0
aW9uIGRvdWJsZUNvbmRpdGlvbiwgU19KSVRPcGVyYXRpb25fRUpKIG9wZXJhdGlvbikKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAppbmRleCBjNjM3
MjNkYWQzMmU1MTE1ODcxOTA1YWUzMjkzZTU1NGRjNmQ2N2EzLi40MjhhNDZkMDAwMWNmZGIxZWQ1
ZDA4MmRhZTJmMDgzZmYxYjkwZjFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVC5oCkBAIC0yMTc0LDYgKzIxNzQsNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBjb21waWxlQXJpdGhNb2QoTm9kZSopOwogICAgIHZvaWQgY29tcGlsZUFyaXRoUG93KE5vZGUq
KTsKICAgICB2b2lkIGNvbXBpbGVBcml0aFNxcnQoTm9kZSopOworICAgIHZvaWQgY29tcGlsZUFy
aXRoTG9nKE5vZGUqKTsKICAgICB2b2lkIGNvbXBpbGVDb25zdGFudFN0b3JhZ2VQb2ludGVyKE5v
ZGUqKTsKICAgICB2b2lkIGNvbXBpbGVHZXRJbmRleGVkUHJvcGVydHlTdG9yYWdlKE5vZGUqKTsK
ICAgICBKSVRDb21waWxlcjo6SnVtcCBqdW1wRm9yVHlwZWRBcnJheU91dE9mQm91bmRzKE5vZGUq
LCBHUFJSZWcgYmFzZUdQUiwgR1BSUmVnIGluZGV4R1BSKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCmluZGV4IDY0OGRkMGE4
NTgxNWY0ODM5NmYxZDY1MzQ4ODk1YTU0MDg1MGQ0OWEuLmU4OGNlZjljMTIxOTM5MDE2MzY0ZGY0
NGJlNmQ4OWNkODkyNzI0NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcApAQCAtMjIyMCw2ICsyMjIwLDEwIEBAIHZvaWQg
U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgYnJlYWs7CiAgICAg
fQogCisgICAgY2FzZSBBcml0aExvZzoKKyAgICAgICAgY29tcGlsZUFyaXRoTG9nKG5vZGUpOwor
ICAgICAgICBicmVhazsKKwogICAgIGNhc2UgTG9naWNhbE5vdDoKICAgICAgICAgY29tcGlsZUxv
Z2ljYWxOb3Qobm9kZSk7CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKaW5kZXggZDQ4ZmNlMThhN2EzOTcwNzI0
NzU0MDUwN2M5ZTlhNDQwN2YyNzNhOS4uMzk3MGRhNzcxNGQ5MGM1OGUyYzZmMGVjZWY4NTBiMmRj
ODkzODU1MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxh
dGl2ZUpJVDY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0
aXZlSklUNjQuY3BwCkBAIC0yMzUzLDYgKzIzNTMsMTAgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6
Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICBicmVhazsKICAgICB9CiAKKyAgICBjYXNlIEFy
aXRoTG9nOgorICAgICAgICBjb21waWxlQXJpdGhMb2cobm9kZSk7CisgICAgICAgIGJyZWFrOwor
CiAgICAgY2FzZSBMb2dpY2FsTm90OgogICAgICAgICBjb21waWxlTG9naWNhbE5vdChub2RlKTsK
ICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZU
TENhcGFiaWxpdGllcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxp
dGllcy5jcHAKaW5kZXggZTU0ZTM5Njc1MmQ5NWFkYmMzNmM5NDI1MWVjZTQ5YjdmY2ZiZjBhZi4u
N2Q4ZjI0ZDMyYzI2Yzc2Y2EyYjFkZDNkNjY5Y2FhNzkxZDNhMmY5MSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcApAQCAtOTEsNiArOTEsNyBAQCBp
bmxpbmUgQ2FwYWJpbGl0eUxldmVsIGNhbkNvbXBpbGUoTm9kZSogbm9kZSkKICAgICBjYXNlIEFy
aXRoQ29zOgogICAgIGNhc2UgQXJpdGhQb3c6CiAgICAgY2FzZSBBcml0aFNxcnQ6CisgICAgY2Fz
ZSBBcml0aExvZzoKICAgICBjYXNlIEFyaXRoRlJvdW5kOgogICAgIGNhc2UgQXJpdGhOZWdhdGU6
CiAgICAgY2FzZSBVSW50MzJUb051bWJlcjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMSW50cmluc2ljUmVwb3NpdG9yeS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5LmgKaW5kZXggNGYzNjAyOWQ3Yzk1N2NiNTM5NDQ1
OGY5YjEyZmIxMzhiMzQ1OWQwYi4uOGYwYjI3NGM1ODQ4ODU5ZTRlZDQxNWE3NzJkY2UyM2Q5MWVm
ZjI3YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExJbnRyaW5zaWNS
ZXBvc2l0b3J5LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExJbnRyaW5zaWNS
ZXBvc2l0b3J5LmgKQEAgLTQzLDYgKzQzLDcgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBG
VEwgewogICAgIG1hY3JvKGRvdWJsZVBvdywgImxsdm0ucG93LmY2NCIsIGZ1bmN0aW9uVHlwZShk
b3VibGVUeXBlLCBkb3VibGVUeXBlLCBkb3VibGVUeXBlKSkgXAogICAgIG1hY3JvKGRvdWJsZVBv
d2ksICJsbHZtLnBvd2kuZjY0IiwgZnVuY3Rpb25UeXBlKGRvdWJsZVR5cGUsIGRvdWJsZVR5cGUs
IGludDMyKSkgXAogICAgIG1hY3JvKGRvdWJsZVNxcnQsICJsbHZtLnNxcnQuZjY0IiwgZnVuY3Rp
b25UeXBlKGRvdWJsZVR5cGUsIGRvdWJsZVR5cGUpKSBcCisgICAgbWFjcm8oZG91YmxlTG9nLCAi
bGx2bS5sb2cuZjY0IiwgZnVuY3Rpb25UeXBlKGRvdWJsZVR5cGUsIGRvdWJsZVR5cGUpKSBcCiAg
ICAgbWFjcm8oZnJhbWVBZGRyZXNzLCAibGx2bS5mcmFtZWFkZHJlc3MiLCBmdW5jdGlvblR5cGUo
cG9pbnRlclR5cGUoaW50OCksIGludDMyKSkgXAogICAgIG1hY3JvKG11bFdpdGhPdmVyZmxvdzMy
LCAibGx2bS5zbXVsLndpdGgub3ZlcmZsb3cuaTMyIiwgZnVuY3Rpb25UeXBlKHN0cnVjdFR5cGUo
bV9jb250ZXh0LCBpbnQzMiwgYm9vbGVhbiksIGludDMyLCBpbnQzMikpIFwKICAgICBtYWNybyht
dWxXaXRoT3ZlcmZsb3c2NCwgImxsdm0uc211bC53aXRoLm92ZXJmbG93Lmk2NCIsIGZ1bmN0aW9u
VHlwZShzdHJ1Y3RUeXBlKG1fY29udGV4dCwgaW50NjQsIGJvb2xlYW4pLCBpbnQ2NCwgaW50NjQp
KSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9M
TFZNLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3Bw
CmluZGV4IDJkNmRhZGNiY2YyZmI4NzMxZTg3YTI0Yjg4Njc2NTNkNjg2MTE5MTguLmVjZDQwMTIy
Y2FkODQ3OTFlOGUzYWFkNWMxYzIxMmU2MTU0OGVhN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCkBAIC01MTAsNiArNTEwLDkgQEAgcHJp
dmF0ZToKICAgICAgICAgY2FzZSBBcml0aFNxcnQ6CiAgICAgICAgICAgICBjb21waWxlQXJpdGhT
cXJ0KCk7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBBcml0aExvZzoKKyAgICAg
ICAgICAgIGNvbXBpbGVBcml0aExvZygpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNh
c2UgQXJpdGhGUm91bmQ6CiAgICAgICAgICAgICBjb21waWxlQXJpdGhGUm91bmQoKTsKICAgICAg
ICAgICAgIGJyZWFrOwpAQCAtMTcyMCw2ICsxNzIzLDggQEAgcHJpdmF0ZToKICAgICB9CiAKICAg
ICB2b2lkIGNvbXBpbGVBcml0aFNxcnQoKSB7IHNldERvdWJsZShtX291dC5kb3VibGVTcXJ0KGxv
d0RvdWJsZShtX25vZGUtPmNoaWxkMSgpKSkpOyB9CisKKyAgICB2b2lkIGNvbXBpbGVBcml0aExv
ZygpIHsgc2V0RG91YmxlKG1fb3V0LmRvdWJsZUxvZyhsb3dEb3VibGUobV9ub2RlLT5jaGlsZDEo
KSkpKTsgfQogICAgIAogICAgIHZvaWQgY29tcGlsZUFyaXRoRlJvdW5kKCkKICAgICB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1dC5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExPdXRwdXQuaAppbmRleCAyN2ZlYmQzMTczZWIzOGY4ZTFjMjcw
NDIyMDFjNWNhNDAyMTM5OTdjLi5jZDM3NTFlOWVkOTQ1MTE5NmM5Mzc2NTM5YTZkOWYwZDdkNTQ1
YTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1dC5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3V0cHV0LmgKQEAgLTE5Miw2ICsxOTIs
MTEgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gY2FsbChkb3VibGVTcXJ0SW50cmluc2ljKCks
IHZhbHVlKTsKICAgICB9CiAKKyAgICBMVmFsdWUgZG91YmxlTG9nKExWYWx1ZSB2YWx1ZSkKKyAg
ICB7CisgICAgICAgIHJldHVybiBjYWxsKGRvdWJsZUxvZ0ludHJpbnNpYygpLCB2YWx1ZSk7Cisg
ICAgfQorCiAgICAgc3RhdGljIGJvb2wgaGFzU2Vuc2libGVEb3VibGVUb0ludCgpIHsgcmV0dXJu
IGlzWDg2KCk7IH0KICAgICBMVmFsdWUgc2Vuc2libGVEb3VibGVUb0ludChMVmFsdWUpOwogICAg
IApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9tYXRoLWxv
Zy1iYXNpY3MuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL21hdGgtbG9n
LWJhc2ljcy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNmQxZDE0MmQzMzg3YTA3YTYzZDAwMzQ4YzI1MmNmMWFl
Yzk0YjMzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9tYXRoLWxvZy1iYXNpY3MuanMKQEAgLTAsMCArMSwxMjggQEAKKy8vIEJhc2ljIGNhc2Vz
IG9mIE1hdGgubG9nKCkuCisKKy8vIGxvZyhOYU4pLgorZnVuY3Rpb24gbG9nTmFOKGFudGlsb2dh
cml0aG0pIHsKKyAgICByZXR1cm4gTWF0aC5sb2coYW50aWxvZ2FyaXRobSk7Cit9Citub0lubGlu
ZShsb2dOYU4pOworCitmdW5jdGlvbiB0ZXN0TG9nTmFOKCkgeworICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgMTAwMDA7ICsraSkgeworICAgICAgICB2YXIgcmVzdWx0ID0gbG9nTmFOKE5hTik7Cisg
ICAgICAgIGlmICghaXNOYU4ocmVzdWx0KSkKKyAgICAgICAgICAgIHRocm93ICJsb2dOYU4oTmFO
KSA9ICIgKyByZXN1bHQgKyAiLCBleHBlY3RlZCBOYU4iOworICAgIH0KK30KK3Rlc3RMb2dOYU4o
KTsKKworCisvLyBsb2coMCkuCitmdW5jdGlvbiBsb2daZXJvKGFudGlsb2dhcml0aG0pIHsKKyAg
ICByZXR1cm4gTWF0aC5sb2coYW50aWxvZ2FyaXRobSk7Cit9Citub0lubGluZShsb2daZXJvKTsK
KworZnVuY3Rpb24gdGVzdExvZ1plcm8oKSB7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAw
MDsgKytpKSB7CisgICAgICAgIHZhciByZXN1bHQgPSBsb2daZXJvKDApOworICAgICAgICBpZiAo
cmVzdWx0ICE9PSAtSW5maW5pdHkpCisgICAgICAgICAgICB0aHJvdyAibG9nWmVybygwKSA9ICIg
KyByZXN1bHQgKyAiLCBleHBlY3RlZCAtSW5maW5pdHkiOworICAgIH0KK30KK3Rlc3RMb2daZXJv
KCk7CisKKworLy8gbG9nKDEpLgorZnVuY3Rpb24gbG9nT25lKGFudGlsb2dhcml0aG0pIHsKKyAg
ICByZXR1cm4gTWF0aC5sb2coYW50aWxvZ2FyaXRobSk7Cit9Citub0lubGluZShsb2dPbmUpOwor
CitmdW5jdGlvbiB0ZXN0TG9nT25lKCkgeworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDA7
ICsraSkgeworICAgICAgICB2YXIgcmVzdWx0ID0gbG9nT25lKDEpOworICAgICAgICBpZiAocmVz
dWx0ICE9PSAwKQorICAgICAgICAgICAgdGhyb3cgImxvZ09uZSgxKSA9ICIgKyByZXN1bHQgKyAi
LCBleHBlY3RlZCAwIjsKKyAgICB9Cit9Cit0ZXN0TG9nT25lKCk7CisKKworLy8gbG9nKC0xKS4K
K2Z1bmN0aW9uIGxvZ01pbnVzT25lKGFudGlsb2dhcml0aG0pIHsKKyAgICByZXR1cm4gTWF0aC5s
b2coYW50aWxvZ2FyaXRobSk7Cit9Citub0lubGluZShsb2dNaW51c09uZSk7CisKK2Z1bmN0aW9u
IHRlc3RMb2dNaW51c09uZSgpIHsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwOyArK2kp
IHsKKyAgICAgICAgdmFyIHJlc3VsdCA9IGxvZ01pbnVzT25lKC0xKTsKKyAgICAgICAgaWYgKCFp
c05hTihyZXN1bHQpKQorICAgICAgICAgICAgdGhyb3cgImxvZ01pbnVzT25lKC0xKSA9ICIgKyBy
ZXN1bHQgKyAiLCBleHBlY3RlZCBOYU4iOworICAgIH0KK30KK3Rlc3RMb2dNaW51c09uZSgpOwor
CisKKy8vIGxvZyhJbmZpbml0eSkuCitmdW5jdGlvbiBsb2dJbmZpbml0eShhbnRpbG9nYXJpdGht
KSB7CisgICAgcmV0dXJuIE1hdGgubG9nKGFudGlsb2dhcml0aG0pOworfQorbm9JbmxpbmUobG9n
SW5maW5pdHkpOworCitmdW5jdGlvbiB0ZXN0TG9nSW5maW5pdHkoKSB7CisgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7CisgICAgICAgIHZhciByZXN1bHQgPSBsb2dJbmZpbml0
eShJbmZpbml0eSk7CisgICAgICAgIGlmIChyZXN1bHQgIT09IEluZmluaXR5KQorICAgICAgICAg
ICAgdGhyb3cgImxvZ0luZmluaXR5KEluZmluaXR5KSA9ICIgKyByZXN1bHQgKyAiLCBleHBlY3Rl
ZCBJbmZpbml0eSI7CisgICAgfQorfQordGVzdExvZ0luZmluaXR5KCk7CisKKworLy8gbG9nKC1J
bmZpbml0eSkuCitmdW5jdGlvbiBsb2dNaW51c0luZmluaXR5KGFudGlsb2dhcml0aG0pIHsKKyAg
ICByZXR1cm4gTWF0aC5sb2coYW50aWxvZ2FyaXRobSk7Cit9Citub0lubGluZShsb2dNaW51c0lu
ZmluaXR5KTsKKworZnVuY3Rpb24gdGVzdExvZ01pbnVzSW5maW5pdHkoKSB7CisgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7CisgICAgICAgIHZhciByZXN1bHQgPSBsb2dNaW51
c0luZmluaXR5KC1JbmZpbml0eSk7CisgICAgICAgIGlmICghaXNOYU4ocmVzdWx0KSkKKyAgICAg
ICAgICAgIHRocm93ICJsb2dNaW51c0luZmluaXR5KC1JbmZpbml0eSkgPSAiICsgcmVzdWx0ICsg
IiwgZXhwZWN0ZWQgTmFOIjsKKyAgICB9Cit9Cit0ZXN0TG9nTWludXNJbmZpbml0eSgpOworCisK
Ky8vIGxvZyhpbnRlZ2VyKS4KK2Z1bmN0aW9uIGxvZ0ludGVnZXIoYW50aWxvZ2FyaXRobSkgewor
ICAgIHJldHVybiBNYXRoLmxvZyhhbnRpbG9nYXJpdGhtKTsKK30KK25vSW5saW5lKGxvZ0ludGVn
ZXIpOworCitmdW5jdGlvbiB0ZXN0TG9nSW50ZWdlcigpIHsKKyAgICBmb3IgKHZhciBpID0gMDsg
aSA8IDEwMDAwOyArK2kpIHsKKyAgICAgICAgdmFyIHJlc3VsdCA9IGxvZ0ludGVnZXIoNDIpOwor
ICAgICAgICBpZiAocmVzdWx0ICE9PSAzLjczNzY2OTYxODI4MzM2ODQpCisgICAgICAgICAgICB0
aHJvdyAibG9nSW50ZWdlcig0MikgPSAiICsgcmVzdWx0ICsgIiwgZXhwZWN0ZWQgMy43Mzc2Njk2
MTgyODMzNjg0IjsKKyAgICB9Cit9Cit0ZXN0TG9nSW50ZWdlcigpOworCisKKy8vIGxvZyhkb3Vi
bGUpLgorZnVuY3Rpb24gbG9nRG91YmxlKGFudGlsb2dhcml0aG0pIHsKKyAgICByZXR1cm4gTWF0
aC5sb2coYW50aWxvZ2FyaXRobSk7Cit9Citub0lubGluZShsb2dEb3VibGUpOworCitmdW5jdGlv
biB0ZXN0TG9nRG91YmxlKCkgeworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDA7ICsraSkg
eworICAgICAgICB2YXIgcmVzdWx0ID0gbG9nRG91YmxlKE1hdGguUEkpOworICAgICAgICBpZiAo
cmVzdWx0ICE9PSAxLjE0NDcyOTg4NTg0OTQwMDIpCisgICAgICAgICAgICB0aHJvdyAibG9nRG91
YmxlKE1hdGguUEkpID0gIiArIHJlc3VsdCArICIsIGV4cGVjdGVkIDEuMTQ0NzI5ODg1ODQ5NDAw
MiI7CisgICAgfQorfQordGVzdExvZ0RvdWJsZSgpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvbWF0aC1s
b2ctd2l0aC1jb25zdGFudHMuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L21hdGgtbG9nLXdpdGgtY29uc3RhbnRzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMwNWEwNzU0ODQxMjdkYTFi
MjA0NzU1ZTFkNGZmZjUzODY2ZjhhYWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL21hdGgtbG9nLXdpdGgtY29uc3RhbnRzLmpzCkBAIC0wLDAg
KzEsMTI4IEBACisvLyBCYXNpYyBjYXNlcyBvZiBNYXRoLmxvZygpIHdoZW4gdGhlIHZhbHVlIHBh
c3NlZCBhcmUgY29uc3RhbnRzLgorCisvLyBsb2coTmFOKS4KK2Z1bmN0aW9uIGxvZ05hTigpIHsK
KyAgICByZXR1cm4gTWF0aC5sb2coTmFOKTsKK30KK25vSW5saW5lKGxvZ05hTik7CisKK2Z1bmN0
aW9uIHRlc3RMb2dOYU4oKSB7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7
CisgICAgICAgIHZhciByZXN1bHQgPSBsb2dOYU4oKTsKKyAgICAgICAgaWYgKCFpc05hTihyZXN1
bHQpKQorICAgICAgICAgICAgdGhyb3cgImxvZ05hTigpID0gIiArIHJlc3VsdCArICIsIGV4cGVj
dGVkIE5hTiI7CisgICAgfQorfQordGVzdExvZ05hTigpOworCisKKy8vIGxvZygwKS4KK2Z1bmN0
aW9uIGxvZ1plcm8oKSB7CisgICAgcmV0dXJuIE1hdGgubG9nKDApOworfQorbm9JbmxpbmUobG9n
WmVybyk7CisKK2Z1bmN0aW9uIHRlc3RMb2daZXJvKCkgeworICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgMTAwMDA7ICsraSkgeworICAgICAgICB2YXIgcmVzdWx0ID0gbG9nWmVybygpOworICAgICAg
ICBpZiAocmVzdWx0ICE9PSAtSW5maW5pdHkpCisgICAgICAgICAgICB0aHJvdyAibG9nWmVybygp
ID0gIiArIHJlc3VsdCArICIsIGV4cGVjdGVkIC1JbmZpbml0eSI7CisgICAgfQorfQordGVzdExv
Z1plcm8oKTsKKworCisvLyBsb2coMSkuCitmdW5jdGlvbiBsb2dPbmUoKSB7CisgICAgcmV0dXJu
IE1hdGgubG9nKDEpOworfQorbm9JbmxpbmUobG9nT25lKTsKKworZnVuY3Rpb24gdGVzdExvZ09u
ZSgpIHsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICAgICAgdmFy
IHJlc3VsdCA9IGxvZ09uZSgpOworICAgICAgICBpZiAocmVzdWx0ICE9PSAwKQorICAgICAgICAg
ICAgdGhyb3cgImxvZ09uZSgxKSA9ICIgKyByZXN1bHQgKyAiLCBleHBlY3RlZCAwIjsKKyAgICB9
Cit9Cit0ZXN0TG9nT25lKCk7CisKKworLy8gbG9nKC0xKS4KK2Z1bmN0aW9uIGxvZ01pbnVzT25l
KCkgeworICAgIHJldHVybiBNYXRoLmxvZygtMSk7Cit9Citub0lubGluZShsb2dNaW51c09uZSk7
CisKK2Z1bmN0aW9uIHRlc3RMb2dNaW51c09uZSgpIHsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8
IDEwMDAwOyArK2kpIHsKKyAgICAgICAgdmFyIHJlc3VsdCA9IGxvZ01pbnVzT25lKCk7CisgICAg
ICAgIGlmICghaXNOYU4ocmVzdWx0KSkKKyAgICAgICAgICAgIHRocm93ICJsb2dNaW51c09uZSgp
ID0gIiArIHJlc3VsdCArICIsIGV4cGVjdGVkIE5hTiI7CisgICAgfQorfQordGVzdExvZ01pbnVz
T25lKCk7CisKKworLy8gbG9nKEluZmluaXR5KS4KK2Z1bmN0aW9uIGxvZ0luZmluaXR5KCkgewor
ICAgIHJldHVybiBNYXRoLmxvZyhJbmZpbml0eSk7Cit9Citub0lubGluZShsb2dJbmZpbml0eSk7
CisKK2Z1bmN0aW9uIHRlc3RMb2dJbmZpbml0eSgpIHsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8
IDEwMDAwOyArK2kpIHsKKyAgICAgICAgdmFyIHJlc3VsdCA9IGxvZ0luZmluaXR5KCk7CisgICAg
ICAgIGlmIChyZXN1bHQgIT09IEluZmluaXR5KQorICAgICAgICAgICAgdGhyb3cgImxvZ0luZmlu
aXR5KCkgPSAiICsgcmVzdWx0ICsgIiwgZXhwZWN0ZWQgSW5maW5pdHkiOworICAgIH0KK30KK3Rl
c3RMb2dJbmZpbml0eSgpOworCisKKy8vIGxvZygtSW5maW5pdHkpLgorZnVuY3Rpb24gbG9nTWlu
dXNJbmZpbml0eSgpIHsKKyAgICByZXR1cm4gTWF0aC5sb2coLUluZmluaXR5KTsKK30KK25vSW5s
aW5lKGxvZ01pbnVzSW5maW5pdHkpOworCitmdW5jdGlvbiB0ZXN0TG9nTWludXNJbmZpbml0eSgp
IHsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICAgICAgdmFyIHJl
c3VsdCA9IGxvZ01pbnVzSW5maW5pdHkoKTsKKyAgICAgICAgaWYgKCFpc05hTihyZXN1bHQpKQor
ICAgICAgICAgICAgdGhyb3cgImxvZ01pbnVzSW5maW5pdHkoKSA9ICIgKyByZXN1bHQgKyAiLCBl
eHBlY3RlZCBOYU4iOworICAgIH0KK30KK3Rlc3RMb2dNaW51c0luZmluaXR5KCk7CisKKworLy8g
bG9nKGludGVnZXIpLgorZnVuY3Rpb24gbG9nSW50ZWdlcigpIHsKKyAgICByZXR1cm4gTWF0aC5s
b2coNDIpOworfQorbm9JbmxpbmUobG9nSW50ZWdlcik7CisKK2Z1bmN0aW9uIHRlc3RMb2dJbnRl
Z2VyKCkgeworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgICAgICB2
YXIgcmVzdWx0ID0gbG9nSW50ZWdlcigpOworICAgICAgICBpZiAocmVzdWx0ICE9PSAzLjczNzY2
OTYxODI4MzM2ODQpCisgICAgICAgICAgICB0aHJvdyAibG9nSW50ZWdlcigpID0gIiArIHJlc3Vs
dCArICIsIGV4cGVjdGVkIDMuNzM3NjY5NjE4MjgzMzY4NCI7CisgICAgfQorfQordGVzdExvZ0lu
dGVnZXIoKTsKKworCisvLyBsb2coZG91YmxlKS4KK2Z1bmN0aW9uIGxvZ0RvdWJsZSgpIHsKKyAg
ICByZXR1cm4gTWF0aC5sb2coTWF0aC5QSSk7Cit9Citub0lubGluZShsb2dEb3VibGUpOworCitm
dW5jdGlvbiB0ZXN0TG9nRG91YmxlKCkgeworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDA7
ICsraSkgeworICAgICAgICB2YXIgcmVzdWx0ID0gbG9nRG91YmxlKCk7CisgICAgICAgIGlmIChy
ZXN1bHQgIT09IDEuMTQ0NzI5ODg1ODQ5NDAwMikKKyAgICAgICAgICAgIHRocm93ICJsb2dEb3Vi
bGUoKSA9ICIgKyByZXN1bHQgKyAiLCBleHBlY3RlZCAxLjE0NDcyOTg4NTg0OTQwMDIiOworICAg
IH0KK30KK3Rlc3RMb2dEb3VibGUoKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>