File Coverage

blib/lib/JE/LValue.pm
Criterion Covered Total %
statement 4653 4653 100.0
branch 39 44 88.6
condition 7 9 77.7
subroutine 4653 4653 100.0
pod 6 7 85.7
total 9358 9366 99.9


line stmt bran cond sub pod time code
1             package JE::LValue;
2              
3             our $VERSION = '0.066';
4              
5 109     109   35399 use strict;
  109         301  
  109         4002  
6 109     109   611 use warnings; no warnings 'utf8';
  109     109   349  
  109         2857  
  109         669  
  109         391  
  109         3462  
7              
8 109     109   653 use List::Util 'first';
  109         290  
  109         7094  
9 109     109   761 use Scalar::Util 'blessed';
  109         304  
  109         43148  
10              
11             require JE::Code;
12             require JE::Object::Error::TypeError;
13             require JE::Object::Error::ReferenceError;
14              
15             import JE::Code 'add_line_number';
16             sub add_line_number;
17              
18              
19             our $ovl_infix = join ' ', @overload::ops{qw[
20             with_assign assign num_comparison 3way_comparison str_comparison binary
21             ]};
22             our $ovl_prefix = join ' ', grep !/^(?:neg|atan2)\z/,
23             map split(/ /), @overload::ops{qw[ unary mutators func ]};
24              
25             use overload
26             fallback => !1,
27             nomethod => sub {
28 13479     13480   25351 my $at = $@;
29 13479         26455 my ($self, $other, $reversed, $symbol) = @_;
30 13479 100       31879 return $self if $symbol eq '=';
31 13469         28029 $self = $self->get;
32 13466         85519 my $sym_regexp = qr/(?:^| )\Q$symbol\E(?:$| )/;
33 13466         15820 my $val;
34 13466 100       131564 if ($overload::ops{conversion} =~ $sym_regexp) {
    100          
    100          
    100          
    100          
    50          
35 12         116 return $self;
36             }
37             elsif($ovl_infix =~ $sym_regexp) {
38 13447         58987 my $bits = (caller 0)[9];
39 13447 100   26   1093717 $val = eval 'BEGIN{${^WARNING_BITS} = $bits}'
  25     24   454  
  23     24   388  
  23     23   793  
  22     23   371  
  22     23   388  
  22     23   362  
  21     23   364  
  21     23   339  
  21     23   351  
  21     21   331  
  20     20   335  
  19     20   322  
  19     20   325  
  19     20   378  
  19     20   318  
  19     20   302  
  19     20   306  
  19     20   299  
  19     20   342  
  19     19   315  
  18     18   460  
  17     18   291  
  17     18   264  
  17     18   296  
  17     18   312  
  17     18   259  
  17     18   266  
  17     18   268  
  17     18   256  
  17     17   263  
  16     17   328  
  16     17   260  
  16     17   281  
  16     17   257  
  16     17   261  
  16     17   286  
  16     17   404  
  16     17   246  
  16     17   238  
  16     16   267  
  15     15   341  
  14     15   271  
  14     15   260  
  14     15   246  
  14     15   254  
  14     15   227  
  14     15   238  
  14     15   225  
  14     15   213  
  14     15   224  
  14     15   257  
  14     15   217  
  14     15   240  
  14     15   229  
  14     15   239  
  14     15   273  
  14     15   235  
  14     15   564  
  14     14   243  
  14     13   207  
  13     13   529  
  13     13   224  
  13     13   207  
  13     13   215  
  13     13   209  
  13     13   212  
  13     13   215  
  13     13   227  
  13     13   217  
  13     13   224  
  13     13   324  
  13     13   212  
  13     13   214  
  13     13   237  
  13     13   241  
  13     13   231  
  13     13   220  
  13     13   216  
  13     13   217  
  13     13   214  
  13     13   215  
  13     13   211  
  13     13   202  
  13     13   212  
  13     13   213  
  13     13   245  
  13     13   224  
  13     13   205  
  13     13   232  
  13     13   223  
  13     13   213  
  13     13   216  
  13     13   206  
  13     13   261  
  13     13   215  
  13     13   222  
  13     13   227  
  13     13   218  
  13     13   204  
  13     13   212  
  13     13   214  
  13     13   202  
  13     13   192  
  13     13   206  
  13     13   282  
  13     13   206  
  13     13   227  
  13     13   219  
  13     13   193  
  13     13   188  
  13     13   207  
  13     5   197  
  5     5   94  
  5     5   74  
  5     5   70  
  5     5   81  
  5     5   74  
  5     5   75  
  5     5   75  
  5     5   71  
  5     5   76  
  5     5   81  
  5     5   84  
  5     5   92  
  5     5   88  
  5     5   84  
  5     5   86  
  5     5   96  
  5     5   84  
  5     5   81  
  5     5   88  
  5     5   83  
  5     5   74  
  5     5   79  
  5     5   78  
  5     5   85  
  5     5   89  
  5     5   79  
  5     5   73  
  5     5   86  
  5     5   82  
  5     5   81  
  5     5   75  
  5     5   74  
  5     5   74  
  5     5   91  
  5     5   74  
  5     5   74  
  5     5   91  
  5     5   86  
  5     5   82  
  5     5   74  
  5     5   80  
  5     5   95  
  5     5   114  
  5     5   84  
  5     5   165  
  5     5   74  
  5     5   68  
  5     5   66  
  5     5   71  
  5     5   79  
  5     5   72  
  5     5   83  
  5     5   74  
  5     5   85  
  5     5   87  
  5     5   83  
  5     5   95  
  5     5   89  
  5     5   81  
  5     5   87  
  5     5   84  
  5     5   73  
  5     5   87  
  5     5   78  
  5     5   76  
  5     5   85  
  5     5   119  
  5     5   73  
  5     5   75  
  5     5   85  
  5     5   72  
  5     5   79  
  5     5   86  
  5     5   71  
  5     5   74  
  5     5   92  
  5     5   80  
  5     5   71  
  5     5   74  
  5     5   73  
  5     5   73  
  5     5   79  
  5     5   75  
  5     5   82  
  5     5   78  
  5     5   84  
  5     5   99  
  5     5   74  
  5     5   72  
  5     5   71  
  5     5   70  
  5     5   116  
  5     5   73  
  5     5   73  
  5     5   71  
  5     5   76  
  5     5   120  
  5     5   73  
  5     5   65  
  5     5   103  
  5     5   75  
  5     5   75  
  5     5   73  
  5     5   129  
  5     5   80  
  5     5   90  
  5     5   77  
  5     5   76  
  5     5   88  
  5     5   77  
  5     5   74  
  5     5   67  
  5     5   65  
  5     5   69  
  5     5   72  
  5     5   71  
  5     5   95  
  5     5   187  
  5     5   72  
  5     5   63  
  5     5   74  
  5     5   90  
  5     5   72  
  5     5   68  
  5     5   74  
  4     5   51  
  4     5   67  
  4     5   65  
  4     5   65  
  4     5   65  
  4     5   55  
  4     5   57  
  4     5   61  
  4     5   59  
  4     5   74  
  4     5   63  
  4     5   61  
  4     5   63  
  4     5   61  
  4     5   61  
  4     5   68  
  4     5   70  
  4     5   54  
  4     5   91  
  4     5   63  
  4     5   66  
  4     5   74  
  4     5   56  
  4     5   61  
  4     5   56  
  4     5   95  
  4     5   70  
  4     5   62  
  4     5   56  
  4     5   60  
  4     5   58  
  4     5   53  
  4     5   55  
  4     5   64  
  4     5   53  
  4     5   57  
  4     5   60  
  4     5   56  
  4     5   77  
  4     5   62  
  4     5   53  
  4     5   65  
  4     5   53  
  4     5   68  
  4     5   70  
  4     5   54  
  4     5   68  
  4     5   66  
  4     5   61  
  4     5   54  
  4     5   59  
  4     5   52  
  4     4   54  
  4     4   52  
  4     4   64  
  4     4   51  
  4     4   53  
  4     4   59  
  4     4   56  
  4     4   60  
  4     4   53  
  4     4   55  
  4     4   104  
  4     4   59  
  4     4   58  
  4     4   52  
  4     4   63  
  4     4   74  
  4     4   74  
  4     4   67  
  4     4   74  
  4     4   100  
  4     4   73  
  4     4   74  
  4     4   55  
  4     4   56  
  4     4   72  
  4     4   61  
  4     4   63  
  4     4   59  
  4     4   55  
  4     4   58  
  4     4   53  
  4     4   55  
  4     4   71  
  4     4   62  
  4     4   114  
  4     4   64  
  4     4   64  
  4     4   103  
  4     4   65  
  4     4   82  
  4     4   66  
  4     4   66  
  4     4   75  
  4     4   61  
  4     4   67  
  4     4   71  
  4     4   61  
  4     4   61  
  4     4   104  
  4     4   69  
  4     4   67  
  4     4   64  
  4     4   61  
  4     4   52  
  4     4   63  
  4     4   104  
  4     4   52  
  4     4   51  
  4     4   75  
  4     4   64  
  4     4   67  
  4     4   66  
  4     4   60  
  4     4   57  
  4     4   50  
  4     4   54  
  4     4   106  
  4     4   73  
  4     4   61  
  4     4   97  
  4     4   65  
  4     4   61  
  4     4   65  
  4     4   81  
  4     4   67  
  4     4   69  
  4     4   68  
  4     4   60  
  4     4   66  
  4     4   73  
  4     4   59  
  4     4   64  
  4     4   65  
  4     4   64  
  4     4   64  
  4     4   76  
  4     4   64  
  4     4   61  
  4     4   67  
  4     4   69  
  4     4   65  
  4     4   75  
  4     4   86  
  4     4   58  
  4     4   68  
  4     4   67  
  4     4   75  
  4     4   57  
  4     4   85  
  4     4   51  
  4     4   63  
  4     4   56  
  4     4   57  
  4     4   57  
  4     4   55  
  4     4   63  
  4     4   60  
  4     4   54  
  4     4   67  
  4     4   63  
  4     4   58  
  4     4   59  
  4     4   54  
  4     4   57  
  4     4   66  
  4     4   63  
  4     4   95  
  4     4   88  
  4     4   51  
  4     4   66  
  4     4   65  
  4     4   61  
  4     4   77  
  4     4   53  
  4     4   55  
  4     4   57  
  4     4   50  
  4     4   56  
  4     4   62  
  4     4   55  
  4     4   61  
  4     4   54  
  4     4   58  
  4     4   53  
  4     4   55  
  4     4   54  
  4     4   57  
  4     4   49  
  4     4   62  
  4     4   58  
  4     4   64  
  4     4   78  
  4     4   60  
  4     4   69  
  4     4   59  
  4     4   54  
  4     4   52  
  4     4   54  
  4     4   56  
  4     4   63  
  4     4   60  
  4     4   53  
  4     4   63  
  4     4   55  
  4     4   53  
  4     4   51  
  4     4   59  
  4     4   71  
  4     4   54  
  4     4   62  
  4     4   55  
  4     4   53  
  4     4   54  
  4     4   69  
  4     4   55  
  4     4   64  
  4     4   65  
  4     4   54  
  4     4   53  
  4     4   62  
  4     4   83  
  4     4   61  
  4     4   70  
  4     4   67  
  4     4   53  
  4     4   64  
  4     4   56  
  4     4   64  
  4     4   53  
  4     4   62  
  4     4   69  
  4     4   65  
  4     4   62  
  4     4   83  
  4     4   65  
  4     4   56  
  4     4   53  
  4     4   56  
  4     4   53  
  4     4   55  
  4     4   53  
  4     4   62  
  4     4   54  
  4     4   52  
  4     4   55  
  4     4   56  
  4     4   54  
  4     4   58  
  4     4   55  
  4     4   54  
  4     4   52  
  4     4   54  
  4     4   60  
  4     4   53  
  4     4   55  
  4     4   63  
  4     4   63  
  4     4   52  
  4     4   55  
  4     4   56  
  4     4   61  
  4     4   55  
  4     4   66  
  4     4   58  
  4     4   52  
  4     4   52  
  4     4   54  
  4     4   52  
  4     4   59  
  4     4   53  
  4     4   76  
  4     4   52  
  4     4   56  
  4     4   61  
  4     4   53  
  4     4   61  
  4     4   68  
  4     4   63  
  4     4   57  
  4     4   56  
  4     4   53  
  4     4   53  
  4     4   69  
  4     4   62  
  4     4   82  
  4     4   96  
  4     4   73  
  4     4   109  
  4     4   59  
  4     4   66  
  4     4   70  
  4     4   69  
  4     4   71  
  4     4   84  
  4     4   68  
  4     4   75  
  4     4   64  
  4     4   76  
  4     4   73  
  4     4   73  
  4     4   74  
  4     4   64  
  4     4   72  
  4     4   72  
  4     4   55  
  4     4   2066  
  4     4   62  
  4     4   51  
  4     4   57  
  4     4   53  
  4     4   54  
  4     4   53  
  4     4   66  
  4     4   53  
  4     4   54  
  4     4   84  
  4     4   60  
  4     4   54  
  4     4   52  
  4     4   55  
  4     4   57  
  4     4   55  
  4     4   60  
  4     4   64  
  4     4   53  
  4     4   52  
  4     4   76  
  4     4   73  
  4     4   71  
  4     4   67  
  4     4   64  
  4     4   65  
  4     4   60  
  4     4   68  
  4     4   62  
  4     4   61  
  4     4   62  
  4     4   69  
  4     4   64  
  4     4   73  
  4     4   61  
  4     4   67  
  4     4   66  
  4     4   63  
  4     4   75  
  4     4   70  
  4     4   90  
  4     4   77  
  4     4   66  
  4     4   80  
  4     4   73  
  4     4   68  
  4     4   81  
  4     4   66  
  4     4   62  
  4     4   62  
  4     4   58  
  4     4   75  
  4     4   54  
  4     4   56  
  4     4   86  
  4     4   75  
  4     4   62  
  4     4   73  
  4     4   74  
  4     4   63  
  4     4   71  
  4     4   70  
  4     4   80  
  4     4   74  
  4     4   68  
  4     4   78  
  4     4   66  
  4     4   70  
  4     4   58  
  4     4   65  
  4     4   72  
  4     4   69  
  4     4   60  
  4     4   68  
  4     4   83  
  4     4   69  
  4     4   71  
  4     4   65  
  4     4   72  
  4     4   60  
  4     4   70  
  4     4   62  
  4     4   63  
  4     4   62  
  4     4   64  
  4     4   57  
  4     4   57  
  4     4   69  
  4     4   70  
  4     4   72  
  4     4   72  
  4     4   76  
  4     4   71  
  4     4   68  
  4     4   67  
  4     4   67  
  4     4   65  
  4     4   64  
  4     4   61  
  4     4   70  
  4     4   76  
  4     4   65  
  4     4   61  
  4     4   63  
  4     4   71  
  4     4   69  
  4     4   93  
  4     4   81  
  4     4   79  
  4     4   60  
  4     4   78  
  4     4   67  
  4     4   83  
  4     4   74  
  4     4   75  
  4     4   72  
  4     4   83  
  4     4   71  
  4     4   76  
  4     4   75  
  4     4   84  
  4     4   62  
  4     4   66  
  4     4   61  
  4     4   71  
  4     4   62  
  4     4   68  
  4     4   65  
  4     4   67  
  4     4   79  
  4     4   87  
  4     4   66  
  4     4   70  
  4     4   65  
  4     4   65  
  4     4   64  
  4     4   65  
  4     4   62  
  4     4   64  
  4     4   75  
  4     4   66  
  4     4   70  
  4     4   76  
  4     4   74  
  4     4   91  
  4     4   77  
  4     4   78  
  4     4   91  
  4     4   66  
  4     4   128  
  4     4   59  
  4     4   61  
  4     4   67  
  4     4   64  
  4     4   68  
  4     4   62  
  4     4   53  
  4     4   74  
  4     4   61  
  4     4   67  
  4     4   66  
  4     4   63  
  4     4   56  
  4     4   59  
  4     4   55  
  4     4   60  
  4     4   65  
  4     4   55  
  4     4   57  
  4     4   54  
  4     4   53  
  4     4   59  
  4     4   58  
  4     4   57  
  4     4   55  
  4     4   62  
  4     4   55  
  4     4   53  
  4     4   79  
  4     4   70  
  4     4   64  
  4     4   70  
  4     4   80  
  4     4   73  
  4     4   54  
  4     4   55  
  4     4   68  
  4     4   61  
  4     4   78  
  4     4   60  
  4     4   54  
  4     4   64  
  4     4   60  
  4     4   54  
  4     4   55  
  4     4   62  
  4     4   64  
  4     4   57  
  4     4   66  
  4     4   71  
  4     4   62  
  4     4   63  
  4     4   62  
  4     4   60  
  4     4   61  
  4     4   61  
  4     4   73  
  4     4   66  
  4     4   73  
  4     4   75  
  4     4   64  
  4     4   86  
  4     4   63  
  4     4   62  
  4     4   60  
  4     4   63  
  4     4   61  
  4     4   80  
  4     4   68  
  4     4   62  
  4     4   67  
  4     4   62  
  4     4   66  
  4     4   63  
  4     4   67  
  4     4   63  
  4     4   63  
  4     4   66  
  4     4   63  
  4     4   64  
  4     4   62  
  4     4   76  
  4     4   63  
  4     4   64  
  4     4   79  
  4     4   73  
  4     4   74  
  4     4   72  
  4     4   58  
  4     4   64  
  4     4   63  
  4     4   62  
  4     4   74  
  4     4   62  
  4     4   57  
  4     4   55  
  4     4   53  
  4     4   56  
  4     4   57  
  4     4   65  
  4     4   55  
  4     4   61  
  4     4   65  
  4     4   68  
  4     4   68  
  4     4   63  
  4     4   63  
  4     4   67  
  4     4   62  
  4     4   62  
  4     4   64  
  4     4   67  
  4     4   72  
  4     4   54  
  4     4   94  
  4     4   73  
  4     4   55  
  4     4   55  
  4     4   59  
  4     4   65  
  4     4   55  
  4     4   66  
  4     4   75  
  4     4   64  
  4     4   67  
  4     4   63  
  4     4   63  
  4     4   66  
  4     4   68  
  4     4   63  
  4     4   70  
  4     4   63  
  4     4   54  
  4     4   58  
  4     4   79  
  4     4   75  
  4     4   53  
  4     4   64  
  4     4   77  
  4     4   61  
  4     4   58  
  4     4   68  
  4     4   53  
  4     4   74  
  4     4   67  
  4     4   63  
  4     4   65  
  4     4   94  
  4     4   54  
  4     4   66  
  4     4   62  
  4     4   70  
  4     4   53  
  4     4   64  
  4     4   85  
  4     4   66  
  4     4   52  
  4     4   66  
  4     4   56  
  4     4   64  
  4     4   54  
  4     4   73  
  4     4   61  
  4     4   63  
  4     4   85  
  4     4   66  
  4     4   70  
  4     4   87  
  4     4   66  
  4     4   76  
  4     4   55  
  4     4   74  
  4     4   67  
  4     4   82  
  4     4   66  
  4     4   70  
  4     4   55  
  4     4   940  
  4     4   62  
  4     4   65  
  4     4   77  
  4     4   70  
  4     4   59  
  4     4   73  
  4     4   75  
  4     4   56  
  4     4   108  
  4     4   68  
  4     4   70  
  4     4   81  
  4     4   67  
  4     4   61  
  4     4   78  
  4     4   64  
  4     4   80  
  4     4   68  
  4     4   66  
  4     4   55  
  4     4   68  
  4     4   68  
  4     4   67  
  4     4   61  
  4     4   61  
  4     4   95  
  4     4   78  
  4     4   72  
  4     4   72  
  4     4   62  
  4     4   119  
  4     4   74  
  4     4   62  
  4     4   68  
  4     4   63  
  4     4   65  
  4     4   70  
  4     4   74  
  4     4   76  
  4     4   79  
  4     4   119  
  4     4   82  
  4     4   74  
  4     4   77  
  4     4   75  
  4     4   78  
  4     4   71  
  4     4   69  
  4     4   63  
  4     4   83  
  4     4   63  
  4     4   73  
  4     4   100  
  4     4   63  
  4     4   61  
  4     4   67  
  4     4   64  
  4     4   59  
  4     4   76  
  4     4   66  
  4     4   61  
  4     4   62  
  4     4   60  
  4     4   68  
  4     4   59  
  4     4   62  
  4     4   65  
  4     4   63  
  4     4   71  
  4     4   64  
  4     4   66  
  4     4   65  
  4     4   65  
  4     4   68  
  4     4   66  
  4     4   65  
  4     4   70  
  4     4   76  
  4     4   74  
  4     4   62  
  4     4   55  
  4     4   56  
  4     4   54  
  4     4   54  
  4     4   53  
  4     4   56  
  4     4   55  
  4     4   54  
  4     4   51  
  4     4   63  
  4     4   54  
  4     4   62  
  4     4   63  
  4     4   64  
  4     4   75  
  4     4   72  
  4     4   70  
  4     4   79  
  4     4   83  
  4     4   74  
  4     4   75  
  4     4   78  
  4     4   70  
  4     4   69  
  4     4   72  
  4     4   69  
  4     4   70  
  4     4   69  
  4     4   72  
  4     4   91  
  4     4   68  
  4     4   72  
  4     4   74  
  4     4   78  
  4     4   122  
  4     4   62  
  4     4   63  
  4     4   59  
  4     4   68  
  4     4   68  
  4     4   61  
  4     4   58  
  4     4   122  
  4     4   69  
  4     4   69  
  4     4   71  
  4     4   73  
  4     4   69  
  4     4   68  
  4     4   72  
  4     4   63  
  4     4   62  
  4     4   70  
  4     4   68  
  4     4   77  
  4     4   66  
  4     4   62  
  4     4   52  
  4     4   61  
  4     4   62  
  4     4   87  
  4     4   57  
  4     4   59  
  4     4   66  
  4     4   63  
  4     4   88  
  4     4   55  
  4     4   58  
  4     4   70  
  4     4   59  
  4     4   53  
  4     4   56  
  4     4   65  
  4     4   64  
  4     4   54  
  4     4   53  
  4     4   61  
  4     4   63  
  4     4   63  
  4     4   53  
  4     4   59  
  4     4   57  
  4     4   61  
  4     4   51  
  4     4   63  
  4     4   61  
  4     4   58  
  4     4   59  
  4     4   60  
  4     4   71  
  4     4   55  
  4     4   58  
  4     4   69  
  4     4   59  
  4     4   54  
  4     4   60  
  4     4   69  
  4     4   62  
  4     4   62  
  4     4   60  
  4     4   67  
  4     4   62  
  4     4   61  
  4     4   65  
  4     4   125  
  4     4   74  
  4     4   69  
  4     4   78  
  4     4   67  
  4     4   63  
  4     4   63  
  4     4   62  
  4     4   72  
  4     4   70  
  4     4   68  
  4     4   61  
  4     4   61  
  4     4   62  
  4     4   73  
  4     4   62  
  4     4   71  
  4     4   83  
  4     4   72  
  4     4   70  
  4     4   66  
  4     4   71  
  4     4   70  
  4     4   72  
  4     4   60  
  4     4   62  
  4     4   53  
  4     4   50  
  4     4   51  
  4     4   51  
  4     4   60  
  4     4   59  
  4     4   59  
  4     4   69  
  4     4   62  
  4     4   71  
  4     4   72  
  4     4   71  
  4     4   72  
  4     4   77  
  4     4   54  
  4     4   52  
  4     4   53  
  4     4   68  
  4     4   60  
  4     4   64  
  4     4   66  
  4     4   75  
  4     4   68  
  4     4   69  
  4     4   72  
  4     4   66  
  4     4   74  
  4     4   70  
  4     4   93  
  4     4   73  
  4     4   93  
  4     4   86  
  4     4   72  
  4     4   76  
  4     4   78  
  4     4   63  
  4     4   76  
  4     4   63  
  4     4   69  
  4     4   66  
  4     4   94  
  4     4   69  
  4     4   76  
  4     4   69  
  4     4   58  
  4     4   64  
  4     4   63  
  4     4   72  
  4     4   67  
  4     4   77  
  4     4   80  
  4     4   66  
  4     4   73  
  4     4   122  
  4     4   65  
  4     4   66  
  4     4   71  
  4     4   69  
  4     4   70  
  4     4   81  
  4     4   66  
  4     4   63  
  4     4   74  
  4     4   65  
  4     4   73  
  4     4   66  
  4     4   62  
  4     4   74  
  4     4   76  
  4     4   61  
  4     4   61  
  4     4   64  
  4     4   62  
  4     4   65  
  4     4   63  
  4     4   68  
  4     4   73  
  4     4   61  
  4     4   61  
  4     4   86  
  4     4   63  
  4     4   75  
  4     4   75  
  4     4   71  
  4     4   83  
  4     4   66  
  4     4   65  
  4     4   70  
  4     4   92  
  4     4   68  
  4     4   78  
  4     4   63  
  4     4   65  
  4     4   71  
  4     4   59  
  4     4   66  
  4     4   61  
  4     4   69  
  4     4   61  
  4     4   65  
  4     4   76  
  4     4   64  
  4     4   71  
  4     4   63  
  4     4   64  
  4     4   68  
  4     4   69  
  4     4   60  
  4     4   57  
  4     4   71  
  4     4   76  
  4     4   55  
  4     4   64  
  4     4   61  
  4     4   83  
  4     4   61  
  4     4   70  
  4     4   56  
  4     4   67  
  4     4   65  
  4     4   65  
  4     4   59  
  4     4   63  
  4     4   53  
  4     4   75  
  4     4   61  
  4     4   64  
  4     4   53  
  4     4   54  
  4     4   53  
  4     4   55  
  4     4   56  
  4     4   52  
  4     4   70  
  4     4   61  
  4     4   63  
  4     4   66  
  4     4   59  
  4     4   70  
  4     4   65  
  4     4   69  
  4     4   61  
  4     4   57  
  4     4   55  
  4     4   72  
  4     4   55  
  4     4   80  
  4     4   54  
  4     4   66  
  4     4   65  
  4     4   94  
  4     4   66  
  4     4   73  
  4     4   64  
  4     4   58  
  4     4   80  
  4     4   66  
  4     4   52  
  4     4   185  
  4     4   65  
  4     4   74  
  4     4   60  
  4     4   82  
  4     4   57  
  4     4   81  
  4     4   61  
  4     4   67  
  4     4   63  
  4     4   65  
  4     4   67  
  4     4   62  
  4     4   71  
  4     4   63  
  4     4   61  
  4     4   53  
  4     4   68  
  4     4   52  
  4     4   54  
  4     4   66  
  4     4   64  
  4     4   67  
  4     4   64  
  4     4   53  
  4     4   54  
  4     4   57  
  4     4   55  
  4     4   55  
  4     4   60  
  4     4   62  
  4     4   79  
  4     4   67  
  4     4   73  
  4     4   60  
  4     4   67  
  4     4   58  
  4     4   65  
  4     4   69  
  4     4   72  
  4     4   61  
  4     4   58  
  4     4   64  
  4     4   61  
  4     4   67  
  4     4   64  
  4     4   72  
  4     4   62  
  4     4   70  
  4     4   66  
  4     4   74  
  4     4   72  
  4     4   66  
  4     4   65  
  4     4   77  
  4     4   72  
  4     4   76  
  4     4   67  
  4     4   67  
  4     4   74  
  4     4   64  
  4     4   72  
  4     4   60  
  4     4   72  
  4     4   57  
  4     4   58  
  4     4   69  
  4     4   71  
  4     4   57  
  4     4   74  
  4     4   70  
  4     4   80  
  4     4   83  
  4     4   67  
  4     4   74  
  4     4   77  
  4     4   73  
  4     4   72  
  4     4   73  
  4     4   79  
  4     4   88  
  4     4   72  
  4     4   79  
  4     4   71  
  4     4   73  
  4     4   75  
  4     4   67  
  4     4   65  
  4     4   67  
  4     4   69  
  4     4   88  
  4     4   70  
  4     4   114  
  4     4   77  
  4     4   69  
  4     4   72  
  4     4   69  
  4     4   58  
  4     4   58  
  4     4   58  
  4     4   58  
  4     4   64  
  4     4   54  
  4     4   59  
  4     4   61  
  4     4   60  
  4     4   53  
  4     4   56  
  4     4   57  
  4     4   51  
  4     4   57  
  4     4   63  
  4     4   63  
  4     4   80  
  4     4   67  
  4     4   66  
  4     4   54  
  4     4   61  
  4     4   56  
  4     4   69  
  4     4   68  
  4     4   52  
  4     4   50  
  4     4   53  
  4     4   52  
  4     4   60  
  4     4   76  
  4     4   55  
  4     4   51  
  4     4   56  
  4     4   53  
  4     4   52  
  4     4   52  
  4     4   54  
  4     4   66  
  4     4   51  
  4     4   56  
  4     4   53  
  4     4   60  
  4     4   60  
  4     4   75  
  4     4   59  
  4     4   61  
  4     4   52  
  4     4   61  
  4     4   73  
  4     4   51  
  4     4   60  
  4     4   56  
  4     4   51  
  4     4   53  
  4     4   59  
  4     4   51  
  4     4   52  
  4     4   55  
  4     4   50  
  4     4   56  
  4     4   52  
  4     4   57  
  4     4   52  
  4     4   51  
  4     4   51  
  4     4   60  
  4     4   57  
  4     4   59  
  4     4   50  
  4     4   63  
  4     4   54  
  4     4   58  
  4     4   52  
  4     4   67  
  4     4   53  
  4     4   56  
  4     4   58  
  4     4   51  
  4     4   58  
  4     4   53  
  4     4   63  
  4     4   57  
  4     4   55  
  4     4   56  
  4     4   51  
  4     4   49  
  4     4   51  
  4     4   62  
  4     4   60  
  4     4   70  
  4     4   71  
  4     4   56  
  4     4   78  
  4     4   61  
  4     4   57  
  4     4   57  
  4     4   60  
  4     4   75  
  4     4   68  
  4     4   66  
  4     4   64  
  4     4   81  
  4     4   63  
  4     4   65  
  4     4   61  
  4     4   62  
  4     4   64  
  4     4   69  
  4     4   65  
  4     4   69  
  4     4   66  
  4     4   79  
  4     4   72  
  4     4   79  
  4     4   71  
  4     4   75  
  4     4   66  
  4     4   64  
  4     4   70  
  4     4   59  
  4     4   65  
  4     4   63  
  4     4   61  
  4     4   71  
  4     4   59  
  4     4   62  
  4     4   77  
  4     4   73  
  4     4   79  
  4     4   76  
  4     4   74  
  4     4   79  
  4     4   66  
  4     4   70  
  4     4   66  
  4     4   65  
  4     4   76  
  4     4   60  
  4     4   56  
  4     4   54  
  4     4   61  
  4     4   65  
  4     4   59  
  4     4   66  
  4     4   63  
  4     4   51  
  4     4   55  
  4     4   58  
  4     4   72  
  4     4   55  
  4     4   67  
  4     4   70  
  4     4   68  
  4     4   62  
  4     4   75  
  4     4   78  
  4     4   81  
  4     4   84  
  4     4   75  
  4     4   72  
  4     4   79  
  4     4   74  
  4     4   70  
  4     4   66  
  4     4   66  
  4     4   63  
  4     4   104  
  4     4   74  
  4     4   86  
  4     4   67  
  4     4   76  
  4     4   73  
  4     4   86  
  4     4   72  
  4     4   73  
  4     4   63  
  4     4   94  
  4     4   72  
  4     4   80  
  4     4   74  
  4     4   63  
  4     4   70  
  4     4   107  
  4     4   71  
  4     4   70  
  4     4   69  
  4     4   61  
  4     4   68  
  4     4   64  
  4     4   104  
  4     4   73  
  4     4   64  
  4     4   64  
  4     4   66  
  4     4   66  
  4     4   58  
  4     4   58  
  4     4   57  
  4     4   71  
  4     4   74  
  4     4   63  
  4     4   68  
  4     4   60  
  4     4   57  
  4     4   75  
  4     4   56  
  4     4   64  
  4     4   54  
  4     4   63  
  4     4   55  
  4     4   60  
  4     4   66  
  4     4   59  
  4     4   79  
  4     4   55  
  4     4   71  
  4     4   61  
  4     4   64  
  4     4   65  
  4     4   59  
  4     4   85  
  4     4   58  
  4     4   56  
  4     4   61  
  4     4   58  
  4     4   76  
  4     4   62  
  4     4   75  
  4     4   55  
  4     4   72  
  4     4   58  
  4     4   54  
  4     4   54  
  4     4   61  
  4     4   54  
  4     4   53  
  4     4   74  
  4     4   73  
  4     4   76  
  4     4   73  
  4     4   69  
  4     4   102  
  4     4   63  
  4     4   119  
  4     4   64  
  4     4   74  
  4     4   103  
  4     4   65  
  4     4   68  
  4     4   72  
  4     4   66  
  4     4   64  
  4     4   62  
  4     4   103  
  4     4   60  
  4     4   64  
  4     4   56  
  4     4   63  
  4     4   77  
  4     4   68  
  4     4   72  
  4     4   68  
  4     4   65  
  4     4   61  
  4     4   70  
  4     4   74  
  4     4   67  
  4     4   64  
  4     4   56  
  4     4   74  
  4     4   72  
  4     4   75  
  4     4   62  
  4     4   67  
  4     4   65  
  4     4   71  
  4     4   64  
  4     4   75  
  4     4   65  
  4     4   69  
  4     4   62  
  4     4   67  
  4     4   61  
  4     4   58  
  4     4   64  
  4     4   58  
  4     4   56  
  4     4   53  
  4     4   57  
  4     4   60  
  4     4   62  
  4     4   63  
  4     4   67  
  4     4   59  
  4     4   68  
  4     4   60  
  4     4   78  
  4     4   64  
  4     4   59  
  4     4   62  
  4     4   75  
  4     4   63  
  4     4   54  
  4     4   61  
  4     4   66  
  4     4   65  
  4     4   53  
  4     4   56  
  4     4   52  
  4     4   55  
  4     4   61  
  4     4   61  
  4     4   61  
  4     4   62  
  4     4   51  
  4     4   62  
  4     4   54  
  4     4   65  
  4     4   54  
  4     4   56  
  4     4   80  
  4     4   61  
  4     4   118  
  4     4   65  
  4     4   66  
  4     4   63  
  4     4   62  
  4     4   78  
  4     4   62  
  4     4   54  
  4     4   57  
  4     4   53  
  4     4   62  
  4     4   67  
  4     4   55  
  4     4   55  
  4     4   63  
  4     4   65  
  4     4   79  
  4     4   68  
  4     4   66  
  4     4   61  
  4     4   79  
  4     4   52  
  4     4   61  
  4     4   65  
  4     4   74  
  4     4   61  
  4     4   55  
  4     4   54  
  4     4   63  
  4     4   53  
  4     4   54  
  4     4   58  
  4     4   66  
  4     4   66  
  4     4   64  
  4     4   58  
  4     4   67  
  4     4   67  
  4     4   146  
  4     4   68  
  4     4   78  
  4     4   63  
  4     4   62  
  4     4   77  
  4     4   63  
  4     4   60  
  4     4   99  
  4     4   67  
  4     4   77  
  4     4   85  
  4     4   60  
  4     4   97  
  4     4   60  
  4     4   63  
  4     4   60  
  4     4   56  
  4     4   73  
  4     4   53  
  4     4   213  
  4     4   53  
  4     4   60  
  4     4   66  
  4     4   60  
  4     4   59  
  4     4   70  
  4     4   60  
  4     4   59  
  4     4   57  
  4     4   58  
  4     4   55  
  4     4   63  
  4     4   57  
  4     4   87  
  4     4   78  
  4     4   74  
  4     4   62  
  4     4   63  
  4     4   92  
  4     4   63  
  4     4   61  
  4     4   73  
  4     4   77  
  4     4   122  
  4     4   62  
  4     4   57  
  4     4   65  
  4     4   55  
  4     4   55  
  4     4   77  
  4     4   53  
  4     4   52  
  4     4   58  
  4     4   52  
  4     4   53  
  4     4   55  
  4     4   55  
  4     4   52  
  4     4   73  
  4     4   52  
  4     4   59  
  4     4   63  
  4     4   66  
  4     4   62  
  4     4   52  
  4     4   51  
  4     4   67  
  4     4   64  
  4     4   52  
  4     4   64  
  4     4   61  
  4     4   55  
  4     4   62  
  4     4   61  
  4     4   69  
  4     4   53  
  4     4   60  
  4     4   63  
  4     4   53  
  4     4   63  
  4     4   60  
  4     4   62  
  4     4   61  
  4     4   54  
  4     4   56  
  4     4   60  
  4     4   64  
  4     4   64  
  4     4   61  
  4     4   60  
  4     4   71  
  4     4   67  
  4     4   74  
  4     4   73  
  4     4   77  
  4     4   74  
  4     4   66  
  4     4   76  
  4     4   74  
  4     4   72  
  4     4   78  
  4     4   65  
  4     4   64  
  4     4   55  
  4     4   65  
  4     4   67  
  4     4   76  
  4     4   65  
  4     4   71  
  4     4   58  
  4     4   73  
  4     4   65  
  4     4   62  
  4     4   63  
  4     4   94  
  4     4   64  
  4     4   63  
  4     4   65  
  4     4   66  
  4     4   64  
  4     4   63  
  4     4   75  
  4     4   71  
  4     4   71  
  4     4   77  
  4     4   70  
  4     4   67  
  4     4   69  
  4     4   69  
  4     4   63  
  4     4   63  
  4     4   71  
  4     4   61  
  4     4   74  
  4     4   76  
  4     4   64  
  4     4   78  
  4     4   68  
  4     4   75  
  4     4   74  
  4     4   84  
  4     4   80  
  4     4   78  
  4     4   73  
  4     4   75  
  4     4   68  
  4     4   72  
  4     4   86  
  4     4   112  
  4     4   76  
  4     4   76  
  4     4   74  
  4     4   87  
  4     4   67  
  4     4   75  
  4     4   69  
  4     4   79  
  4     4   76  
  4     4   70  
  4     4   66  
  4     4   69  
  4     4   72  
  4     4   84  
  4     4   82  
  4     4   66  
  4     4   72  
  4     4   68  
  4     4   64  
  4     4   65  
  4     4   71  
  4     4   62  
  4     4   65  
  4     4   62  
  4     4   67  
  4     4   61  
  4     4   65  
  4     4   66  
  4     4   63  
  4     4   60  
  4     4   66  
  4     4   63  
  4     4   71  
  4     4   63  
  4     4   67  
  4     4   65  
  4     4   64  
  4     4   61  
  4     4   65  
  4     4   61  
  4     4   65  
  4     4   64  
  4     4   61  
  4     4   79  
  4     4   69  
  4     4   71  
  4     4   72  
  4     4   74  
  4     4   80  
  4     4   76  
  4     4   71  
  4     4   72  
  4     4   76  
  4     4   70  
  4     4   89  
  4     4   83  
  4     4   68  
  4     4   73  
  4     4   77  
  4     4   77  
  4     4   82  
  4     4   80  
  4     4   79  
  4     4   72  
  4     4   69  
  4     4   73  
  4     4   74  
  4     4   69  
  4     4   63  
  4     4   77  
  4     4   82  
  4     4   71  
  4     4   76  
  4     4   69  
  4     4   70  
  4     4   75  
  4     4   111  
  4     4   74  
  4     4   74  
  4     4   71  
  4     4   78  
  4     4   63  
  4     4   76  
  4     4   80  
  4     4   66  
  4     4   64  
  4     4   68  
  4     4   78  
  4     4   69  
  4     4   130  
  4     4   66  
  4     4   69  
  4     4   86  
  4     4   71  
  4     4   61  
  4     4   78  
  4     4   87  
  4     4   70  
  4     4   73  
  4     4   76  
  4     4   86  
  4     4   86  
  4     4   91  
  4     4   92  
  4     4   82  
  4     4   80  
  4     4   90  
  4     4   83  
  4     4   71  
  4     4   74  
  4     4   67  
  4     4   68  
  4     4   67  
  4     4   95  
  4     4   70  
  4     4   74  
  4     4   66  
  4     4   65  
  4     4   64  
  4     4   62  
  4     4   73  
  4     4   67  
  4     4   73  
  4     4   76  
  4     4   76  
  4     4   66  
  4     4   65  
  4     4   59  
  4     4   71  
  4     4   56  
  4     4   64  
  4     4   59  
  4     4   75  
  4     4   64  
  4     4   61  
  4     4   52  
  4     4   71  
  4     4   54  
  4     4   70  
  4     4   55  
  4     4   112  
  4     4   60  
  4     4   125  
  4     4   63  
  4     4   57  
  4     4   63  
  4     4   55  
  4     4   59  
  4     4   63  
  4     4   73  
  4     4   52  
  4     4   100  
  4     4   89  
  4     4   59  
  4     4   57  
  4     4   63  
  4     4   58  
  4     4   55  
  4     4   68  
  4     4   56  
  4     4   55  
  4     4   56  
  4     4   56  
  4     4   72  
  4     4   56  
  4     4   62  
  4     4   55  
  4     4   55  
  4     4   63  
  4     4   55  
  4     4   54  
  4     4   84  
  4     4   54  
  4     4   62  
  4     4   73  
  4     4   90  
  4     4   56  
  4     4   58  
  4     4   54  
  4     4   56  
  4     4   71  
  4     4   91  
  4     4   58  
  4     4   104  
  4     4   68  
  4     4   55  
  4     4   60  
  4     4   56  
  4     4   67  
  4     4   57  
  4     4   60  
  4     4   93  
  4     4   57  
  4     4   84  
  4     4   55  
  4     4   55  
  4     4   57  
  4     4   59  
  4     4   67  
  4     4   53  
  4     4   57  
  4     4   62  
  4     4   66  
  4     4   58  
  4     4   63  
  4     4   85  
  4     4   57  
  4     4   54  
  4     4   56  
  4     4   96  
  4     4   64  
  4     4   112  
  4     4   54  
  4     4   54  
  4     4   52  
  4     4   67  
  4     4   57  
  4     4   74  
  4     4   56  
  4     4   57  
  4     4   57  
  4     4   57  
  4     4   60  
  4     4   70  
  4     4   55  
  4     4   58  
  4     4   56  
  4     4   59  
  4     4   60  
  4     4   53  
  4     4   66  
  4     4   61  
  4     4   59  
  4     4   83  
  4     4   57  
  4     4   68  
  4     4   67  
  4     4   55  
  4     4   53  
  4     4   57  
  4     4   65  
  4     4   73  
  4     4   66  
  4     4   63  
  4     4   87  
  4     4   57  
  4     4   60  
  4     4   76  
  4     4   55  
  4     4   70  
  4     4   59  
  4     4   56  
  4     4   57  
  4     4   78  
  4     4   65  
  4     4   58  
  4     4   56  
  4     4   64  
  4     4   52  
  4     4   57  
  4     4   54  
  4     4   63  
  4     4   53  
  4     4   56  
  4     4   53  
  4     4   61  
  4     4   59  
  4     4   57  
  4     4   69  
  4     4   73  
  4     4   119  
  4     4   60  
  4     4   62  
  4     4   60  
  4     4   58  
  4     4   66  
  4     4   55  
  4     4   61  
  4     4   71  
  4     4   62  
  4     4   70  
  4     4   67  
  4     4   70  
  4     4   72  
  4     4   77  
  4     4   95  
  4     4   73  
  4     4   68  
  4     4   71  
  4     4   71  
  4     4   75  
  4     4   72  
  4     4   64  
  4     4   100  
  4     4   102  
  4     4   106  
  4     4   62  
  4     4   66  
  4     4   71  
  4     4   68  
  4     4   103  
  4     4   62  
  4     4   71  
  4     4   103  
  4     4   65  
  4     4   340  
  4     4   130  
  4     4   75  
  4     4   215  
  4     4   69  
  4     4   110  
  4     4   63  
  4     4   97  
  4     4   65  
  4     4   70  
  4     4   71  
  4     4   75  
  4     4   58  
  4     4   57  
  4     4   53  
  4     4   55  
  4     4   56  
  4     4   61  
  4     4   58  
  4     4   53  
  4     4   55  
  4     4   55  
  4     4   70  
  4     4   93  
  4     4   82  
  4     4   75  
  4     4   63  
  4     4   55  
  4     4   67  
  4     4   88  
  4     4   63  
  4     4   61  
  4     4   61  
  4     4   63  
  4     4   63  
  4     4   60  
  4     4   65  
  4     4   67  
  4     4   82  
  4     4   87  
  4     4   69  
  4     4   92  
  4     4   62  
  4     4   65  
  4     4   58  
  4     4   80  
  4     4   63  
  4     4   66  
  4     4   61  
  4     4   66  
  4     4   63  
  4     4   67  
  4     4   65  
  4     4   66  
  4     4   65  
  4     4   60  
  4     4   59  
  4     4   53  
  4     4   60  
  4     4   63  
  4     4   61  
  4     4   54  
  4     4   55  
  4     4   53  
  4     4   61  
  4     4   56  
  4     4   58  
  4     4   103  
  4     4   62  
  4     4   56  
  4     4   55  
  4     4   53  
  4     4   69  
  4     4   56  
  4     4   64  
  4     4   75  
  4     4   69  
  4     4   60  
  4     4   64  
  4     4   151  
  4     4   53  
  4     4   67  
  4     4   68  
  4     4   73  
  4     4   58  
  4     4   69  
  4     4   59  
  4     4   55  
  4     4   84  
  4     4   57  
  4     4   58  
  4     4   67  
  4     4   74  
  4     4   71  
  4     4   68  
  4     4   94  
  4     4   69  
  4     4   66  
  4     4   64  
  4     4   85  
  4     4   54  
  4     4   70  
  4     4   64  
  4     4   61  
  4     4   64  
  4     4   60  
  4     4   61  
  4     4   85  
  4     4   55  
  4     4   125  
  4     4   63  
  4     4   57  
  4     4   60  
  4     4   60  
  4     4   60  
  4     4   54  
  4     4   50  
  4     4   64  
  4     4   69  
  4     4   81  
  4     4   62  
  4     4   54  
  4     4   54  
  4     4   51  
  4     4   55  
  4     4   61  
  4     4   57  
  4     4   52  
  4     4   61  
  4     4   65  
  4     4   59  
  4     4   66  
  4     4   52  
  4     4   57  
  4     4   62  
  4     4   52  
  4     4   79  
  4     4   56  
  4     4   61  
  4     4   58  
  4     4   61  
  4     4   54  
  4     4   55  
  4     4   64  
  4     4   55  
  4     4   67  
  4     4   65  
  4     4   60  
  4     4   56  
  4     4   70  
  4     4   55  
  4     4   57  
  4     4   84  
  4     4   67  
  4     4   53  
  4     4   62  
  4     4   70  
  4     4   54  
  4     4   55  
  4     4   62  
  4     4   60  
  4     4   70  
  4     4   63  
  4     4   57  
  4     4   59  
  4     4   55  
  4     4   64  
  4     4   63  
  4     4   64  
  4     4   54  
  4     4   102  
  4     4   57  
  4     4   62  
  4     4   68  
  4     4   53  
  4     4   84  
  4     4   64  
  4     4   56  
  4     4   55  
  4     4   57  
  4     4   79  
  4     4   55  
  4     4   67  
  4     4   65  
  4     4   55  
  4     4   56  
  4     4   77  
  1     4   14  
  1     4   14  
  1     4   14  
  1     4   14  
  1     4   15  
  1     4   14  
  1     4   13  
  1     4   14  
  1     4   16  
  1     4   22  
  1     4   14  
  1     4   13  
  1     4   14  
  1     4   22  
  1     4   18  
  1     4   16  
  1     4   15  
  1     4   19  
  1     4   15  
  1     4   14  
  1     4   20  
  1     4   14  
  1     4   15  
  1     4   15  
  1     4   15  
  1     4   22  
  1     4   16  
  1     4   15  
  1     4   15  
  1     4   14  
  1     4   14  
  1     4   13  
  1     4   14  
  1     4   13  
  1     4   14  
  1     4   15  
  1     4   14  
  1     4   21  
  1     4   14  
  1     4   14  
  1     4   12  
  1     4   13  
  1     4   14  
  1     4   13  
  1     4   13  
  1     4   13  
  1     4   14  
  1     4   13  
  1     4   13  
  1     4   26  
  1     4   13  
  1     4   25  
  1     1   17  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   25  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   22  
  1     1   15  
  1     1   15  
  1     1   14  
  1     1   25  
  1     1   14  
  1     1   15  
  1     1   15  
  1     1   14  
  1     1   17  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   24  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   30  
  1     1   14  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   28  
  1     1   14  
  1     1   14  
  1     1   15  
  1     1   14  
  1     1   17  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   21  
  1     1   26  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   16  
  1     1   18  
  1     1   17  
  1     1   15  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   24  
  1     1   21  
  1     1   20  
  1     1   22  
  1     1   15  
  1     1   42  
  1     1   16  
  1     1   12  
  1     1   16  
  1     1   16  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   18  
  1     1   12  
  1     1   13  
  1     1   20  
  1     1   18  
  1     1   13  
  1     1   27  
  1     1   12  
  1     1   13  
  1     1   21  
  1     1   21  
  1     1   23  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   17  
  1     1   13  
  1     1   13  
  1     1   11  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   17  
  1     1   13  
  1     1   13  
  1     1   28  
  1     1   24  
  1     1   14  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   62  
  1     1   20  
  1     1   29  
  1     1   18  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   18  
  1     1   13  
  1     1   24  
  1     1   14  
  1     1   20  
  1     1   16  
  1     1   14  
  1     1   13  
  1     1   23  
  1     1   13  
  1     1   12  
  1     1   21  
  1     1   14  
  1     1   13  
  1     1   24  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   15  
  1     1   45  
  1     1   14  
  1     1   14  
  1     1   23  
  1     1   16  
  1     1   15  
  1     1   21  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   57  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   20  
  1     1   24  
  1     1   85  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   16  
  1     1   16  
  1     1   22  
  1     1   20  
  1     1   22  
  1     1   22  
  1     1   20  
  1     1   22  
  1     1   19  
  1     1   17  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   16  
  1     1   20  
  1     1   27  
  1     1   22  
  1     1   35  
  1     1   22  
  1     1   13  
  1     1   16  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   23  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   12  
  1     1   20  
  1     1   12  
  1     1   19  
  1     1   13  
  1     1   18  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   11  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   16  
  1     1   14  
  1     1   12  
  1     1   12  
  1     1   12  
  1     1   20  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   16  
  1     1   23  
  1     1   22  
  1     1   13  
  1     1   23  
  1     1   21  
  1     1   15  
  1     1   14  
  1     1   11  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   12  
  1     1   15  
  1     1   12  
  1     1   12  
  1     1   14  
  1     1   39  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   12  
  1     1   16  
  1     1   12  
  1     1   12  
  1     1   45  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   44  
  1     1   22  
  1     1   20  
  1     1   22  
  1     1   21  
  1     1   22  
  1     1   22  
  1     1   22  
  1     1   20  
  1     1   25  
  1     1   24  
  1     1   20  
  1     1   20  
  1     1   15  
  1     1   21  
  1     1   23  
  1     1   20  
  1     1   20  
  1     1   22  
  1     1   21  
  1     1   18  
  1     1   20  
  1     1   21  
  1     1   20  
  1     1   20  
  1     1   20  
  1     1   22  
  1     1   25  
  1     1   22  
  1     1   19  
  1     1   20  
  1     1   20  
  1     1   21  
  1     1   20  
  1     1   14  
  1     1   17  
  1     1   13  
  1     1   14  
  1     1   22  
  1     1   14  
  1     1   23  
  1     1   16  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   22  
  1     1   28  
  1     1   21  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   58  
  1     1   19  
  1     1   12  
  1     1   13  
  1     1   20  
  1     1   13  
  1     1   12  
  1     1   18  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   17  
  1     1   22  
  1     1   19  
  1     1   13  
  1     1   17  
  1     1   15  
  1     1   22  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   12  
  1     1   12  
  1     1   12  
  1     1   20  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   15  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   24  
  1     1   18  
  1     1   30  
  1     1   13  
  1     1   15  
  1     1   19  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   20  
  1     1   13  
  1     1   19  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   17  
  1     1   21  
  1     1   15  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   23  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   24  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   18  
  1     1   13  
  1     1   16  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   12  
  1     1   13  
  1     1   17  
  1     1   20  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   23  
  1     1   18  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   17  
  1     1   13  
  1     1   13  
  1     1   20  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   25  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   20  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   21  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   31  
  1     1   14  
  1     1   23  
  1     1   14  
  1     1   23  
  1     1   12  
  1     1   22  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   22  
  1     1   13  
  1     1   22  
  1     1   21  
  1     1   14  
  1     1   13  
  1     1   21  
  1     1   13  
  1     1   17  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   15  
  1     1   14  
  1     1   21  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   19  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   22  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   22  
  1     1   14  
  1     1   14  
  1     1   15  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   21  
  1     1   12  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   18  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   42  
  1     1   17  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   23  
  1     1   13  
  1     1   14  
  1     1   15  
  1     1   15  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   56  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   16  
  1     1   13  
  1     1   13  
  1     1   26  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   21  
  1     1   20  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   21  
  1     1   13  
  1     1   13  
  1     1   20  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   19  
  1     1   13  
  1     1   13  
  1     1   22  
  1     1   18  
  1     1   14  
  1     1   13  
  1     1   16  
  1     1   13  
  1     1   20  
  1     1   13  
  1     1   59  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   17  
  1     1   14  
  1     1   29  
  1     1   12  
  1     1   13  
  1     1   17  
  1     1   16  
  1     1   13  
  1     1   14  
  1     1   18  
  1     1   15  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   22  
  1     1   24  
  1     1   12  
  1     1   29  
  1     1   13  
  1     1   13  
  1     1   18  
  1     1   16  
  1     1   13  
  1     1   13  
  1     1   20  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   44  
  1     1   23  
  1     1   19  
  1     1   16  
  1     1   18  
  1     1   15  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   21  
  1     1   19  
  1     1   16  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   20  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   22  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   22  
  1     1   14  
  1     1   14  
  1     1   17  
  1     1   14  
  1     1   18  
  1     1   24  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   23  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   19  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   18  
  1     1   12  
  1     1   16  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   48  
  1     1   13  
  1     1   12  
  1     1   21  
  1     1   15  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   21  
  1     1   13  
  1     1   12  
  1     1   16  
  1     1   16  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   21  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   19  
  1     1   14  
  1     1   17  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   16  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   26  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   21  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   21  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   20  
  1     1   13  
  1     1   14  
  1     1   19  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   17  
  1     1   22  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   22  
  1     1   25  
  1     1   21  
  1     1   24  
  1     1   21  
  1     1   20  
  1     1   20  
  1     1   24  
  1     1   21  
  1     1   17  
  1     1   14  
  1     1   21  
  1     1   23  
  1     1   13  
  1     1   16  
  1     1   23  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   20  
  1     1   13  
  1     1   16  
  1     1   14  
  1     1   14  
  1     1   22  
  1     1   12  
  1     1   15  
  1     1   15  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   32  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   12  
  1     1   13  
  1     1   16  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   17  
  1     1   18  
  1     1   13  
  1     1   15  
  1     1   15  
  1     1   19  
  1     1   21  
  1     1   12  
  1     1   14  
  1     1   21  
  1     1   15  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   15  
  1     1   12  
  1     1   14  
  1     1   16  
  1     1   13  
  1     1   19  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   24  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   26  
  1     1   12  
  1     1   12  
  1     1   21  
  1     1   22  
  1     1   19  
  1     1   20  
  1     1   21  
  1     1   21  
  1     1   21  
  1     1   20  
  1     1   21  
  1     1   21  
  1     1   21  
  1     1   25  
  1     1   20  
  1     1   20  
  1     1   20  
  1     1   22  
  1     1   53  
  1     1   22  
  1     1   17  
  1     1   22  
  1     1   21  
  1     1   18  
  1     1   28  
  1     1   20  
  1     1   14  
  1     1   20  
  1     1   28  
  1     1   21  
  1     1   21  
  1     1   14  
  1     1   15  
  1     1   15  
  1     1   17  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   15  
  1     1   14  
  1     1   16  
  1     1   14  
  1     1   14  
  1     1   21  
  1     1   48  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   19  
  1     1   19  
  1     1   14  
  1     1   14  
  1     1   25  
  1     1   17  
  1     1   15  
  1     1   21  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   17  
  1     1   14  
  1     1   15  
  1     1   19  
  1     1   15  
  1     1   18  
  1     1   15  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   25  
  1     1   14  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   23  
  1     1   14  
  1     1   15  
  1     1   14  
  1     1   14  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   22  
  1     1   16  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   43  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   56  
  1     1   13  
  1     1   13  
  1     1   17  
  1     1   15  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   20  
  1     1   13  
  1     1   15  
  1     1   15  
  1     1   21  
  1     1   16  
  1     1   14  
  1     1   14  
  1     1   23  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   22  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   14  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   21  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   23  
  1     1   20  
  1     1   19  
  1     1   23  
  1     1   21  
  1     1   27  
  1     1   21  
  1     1   20  
  1     1   19  
  1     1   21  
  1     1   21  
  1     1   22  
  1     1   22  
  1     1   20  
  1     1   20  
  1     1   20  
  1     1   19  
  1     1   20  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   12  
  1     1   18  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   49  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   17  
  1     1   15  
  1     1   14  
  1     1   17  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   56  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   15  
  1     1   15  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   16  
  1     1   15  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   25  
  1     1   15  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   19  
  1     1   14  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   18  
  1     1   14  
  1     1   23  
  1     1   13  
  1     1   14  
  1     1   21  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   19  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   19  
  1     1   12  
  1     1   25  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   16  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   16  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   24  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   51  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   18  
  1     1   13  
  1     1   16  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   23  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   30  
  1     1   15  
  1     1   20  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   15  
  1     1   15  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   23  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   12  
  1     1   18  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   24  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   19  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   25  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   23  
  1     1   17  
  1     1   20  
  1     1   20  
  1     1   49  
  1     1   22  
  1     1   20  
  1     1   21  
  1     1   20  
  1     1   20  
  1     1   20  
  1     1   20  
  1     1   23  
  1     1   32  
  1     1   25  
  1     1   23  
  1     1   23  
  1     1   19  
  1     1   21  
  1     1   22  
  1     1   22  
  1     1   25  
  1     1   22  
  1     1   20  
  1     1   21  
  1     1   19  
  1     1   21  
  1     1   21  
  1     1   15  
  1     1   21  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   19  
  1     1   23  
  1     1   18  
  1     1   13  
  1     1   20  
  1     1   13  
  1     1   16  
  1     1   21  
  1     1   13  
  1     1   19  
  1     1   12  
  1     1   23  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   16  
  1     1   15  
  1     1   21  
  1     1   12  
  1     1   13  
  1     1   23  
  1     1   17  
  1     1   13  
  1     1   21  
  1     1   16  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   15  
  1     1   20  
  1     1   13  
  1     1   24  
  1     1   15  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   27  
  1     1   16  
  1     1   14  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   22  
  1     1   21  
  1     1   14  
  1     1   21  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   15  
  1     1   15  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   20  
  1     1   15  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   23  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   14  
  1     1   25  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   19  
  1     1   14  
  1     1   14  
  1     1   28  
  1     1   13  
  1     1   15  
  1     1   16  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   20  
  1     1   18  
  1     1   17  
  1     1   20  
  1     1   19  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   26  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   17  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   16  
  1     1   13  
  1     1   13  
  1     1   23  
  1     1   13  
  1     1   15  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   22  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   16  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   16  
  1     1   14  
  1     1   14  
  1     1   25  
  1     1   12  
  1     1   13  
  1     1   21  
  1     1   13  
  1     1   12  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   22  
  1     1   23  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   16  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   17  
  1     1   13  
  1     1   17  
  1     1   15  
  1     1   16  
  1     1   23  
  1     1   23  
  1     1   22  
  1     1   25  
  1     1   53  
  1     1   25  
  1     1   24  
  1     1   24  
  1     1   23  
  1     1   20  
  1     1   23  
  1     1   24  
  1     1   21  
  1     1   22  
  1     1   26  
  1     1   13  
  1     1   23  
  1     1   23  
  1     1   12  
  1     1   16  
  1     1   13  
  1     1   13  
  1     1   23  
  1     1   21  
  1     1   16  
  1     1   23  
  1     1   13  
  1     1   22  
  1     1   14  
  1     1   14  
  1     1   15  
  1     1   21  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   16  
  1     1   16  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   22  
  1     1   24  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   17  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   20  
  1     1   21  
  1     1   23  
  1     1   23  
  1     1   19  
  1     1   21  
  1     1   22  
  1     1   22  
  1     1   21  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   34  
  1     1   21  
  1     1   21  
  1     1   21  
  1     1   23  
  1     1   21  
  1     1   23  
  1     1   23  
  1     1   20  
  1     1   18  
  1     1   20  
  1     1   20  
  1     1   13  
  1     1   21  
  1     1   21  
  1     1   20  
  1     1   20  
  1     1   14  
  1     1   16  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   17  
  1     1   16  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   16  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   18  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   21  
  1     1   12  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   16  
  1     1   29  
  1     1   15  
  1     1   17  
  1     1   14  
  1     1   15  
  1     1   21  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   21  
  1     1   12  
  1     1   12  
  1     1   21  
  1     1   17  
  1     1   22  
  1     1   18  
  1     1   21  
  1     1   21  
  1     1   18  
  1     1   12  
  1     1   14  
  1     1   17  
  1     1   20  
  1     1   15  
  1     1   16  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   21  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   16  
  1     1   17  
  1     1   13  
  1     1   18  
  1     1   21  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   19  
  1     1   13  
  1     1   24  
  1     1   23  
  1     1   14  
  1     1   13  
  1     1   21  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   19  
  1     1   17  
  1     1   21  
  1     1   24  
  1     1   21  
  1     1   20  
  1     1   20  
  1     1   14  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   20  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   15  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   16  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   28  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   19  
  1     1   12  
  1     1   14  
  1     1   12  
  1     1   19  
  1     1   14  
  1     1   14  
  1     1   20  
  1     1   21  
  1     1   14  
  1     1   20  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   15  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   12  
  1     1   22  
  1     1   16  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   18  
  1     1   13  
  1     1   22  
  1     1   15  
  1     1   17  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   20  
  1     1   23  
  1     1   12  
  1     1   23  
  1     1   20  
  1     1   13  
  1     1   17  
  1     1   16  
  1     1   13  
  1     1   22  
  1     1   19  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   16  
  1     1   15  
  1     1   23  
  1     1   19  
  1     1   13  
  1     1   14  
  1     1   22  
  1     1   14  
  1     1   16  
  1     1   37  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   16  
  1     1   12  
  1     1   14  
  1     1   18  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   18  
  1     1   14  
  1     1   22  
  1     1   24  
  1     1   15  
  1     1   12  
  1     1   13  
  1     1   21  
  1     1   13  
  1     1   13  
  1     1   23  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   21  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   21  
  1     1   23  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   18  
  1     1   19  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   20  
  1     1   34  
  1     1   22  
  1     1   23  
  1     1   25  
  1     1   21  
  1     1   17  
  1     1   23  
  1     1   12  
  1     1   54  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   22  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   25  
  1     1   23  
  1     1   13  
  1     1   22  
  1     1   21  
  1     1   21  
  1     1   14  
  1     1   23  
  1     1   14  
  1     1   19  
  1     1   12  
  1     1   13  
  1     1   17  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   25  
  1     1   22  
  1     1   14  
  1     1   16  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   11  
  1     1   13  
  1     1   21  
  1     1   14  
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
40             . ( $reversed ? "\$other $symbol \$self"
41             : "\$self $symbol \$other" );
42             }
43             elsif($ovl_prefix =~ $sym_regexp) {
44 17         141 my $bits = (caller 0)[9];
45 17         758 $val
46             = eval "BEGIN{\${^WARNING_BITS} = \$bits}$symbol \$self";
47             }
48             elsif($symbol eq 'neg') {
49 7         92 return -$self;
50             }
51             elsif($symbol eq 'atan2') {
52 7         94 return atan2 $self, $other;
53             }
54             elsif($symbol eq '<>') {
55 7         98 return <$self>;
56             }
57             else {
58 6         90 die "Oh no! Something is terribly wrong with " .
59             "JE::LValue's overloading mechanism. It can't deal " .
60             "with < $symbol >. Please send a bug report.";
61             }
62 13457 50       36885 $@ and die $@;
63 13457         17222 $@ = $at;
64 13457         76505 return $val;
65             },
66             '@{}' => sub {
67 339000 100   339002   1158930 caller eq __PACKAGE__ and return shift;
68 7         89 $_[0]->get;
69             },
70 109     109   3006 '%{}' => 'get', '&{}' => 'get', '*{}' => 'get', '${}' => 'get';
  109         2200  
  109         1863  
71              
72             sub new {
73 152403     152405 1 217536 my ($class, $obj, $prop) = @_; # prop is a string
74 152403 100 100     1006514 if(defined blessed $obj && can $obj 'id'){
75 144946         303063 my $id = $obj->id;
76 144946 100 100     609640 $id eq 'null' || $id eq 'undef' and die
77             new JE::Object::Error::TypeError $obj->global,
78             add_line_number
79             $obj->to_string->value . " has no properties"
80             .", not even one named $prop";
81             }
82 152399         931088 bless [$obj, $prop], $class;
83             }
84              
85             sub get {
86 142211     142213 1 629654 my $base = (my $self = shift)->[0];
87 142211 100       427465 defined blessed $base or die new
88             JE::Object::Error::ReferenceError $$base, add_line_number
89             "The variable $$self[1] has not been declared";
90            
91 142193         201001 my $val = $base->prop($self->[1]);
92 142193 100       449457 defined $val ? $val : $base->global->undefined;
93             # If we have a Perl undef, then the property does not
94             # not exist, and we have to return a JS undefined val.
95             }
96              
97             sub set {
98 15658     15660 1 33900 my $obj = (my $self = shift)->[0];
99 15658 100       49246 defined blessed $obj or $obj = $$self[0] = $$obj;
100 15658         24145 $obj->prop($self->[1], shift);
101             }
102              
103             sub call {
104 22138     22140 1 47564 my $base_obj = (my $self = shift)->[0];
105 22138         42957 my $prop = $self->get; # dies here if $base_obj is not blessed
106 22138 50       43461 defined $prop or
107             die new JE::Object::Error::TypeError $base_obj->global,
108             add_line_number "The object's '" . $self->[1] .
109             "' property (undefined) is not a function";
110 22138 100       78697 $prop->can('apply') or
111             die new JE::Object::Error::TypeError $base_obj->global,
112             add_line_number "The object's '" . $self->[1] .
113             "' property ($prop) is not a function";
114 22136         68285 $prop->apply($base_obj, @_);
115             }
116              
117             sub base {
118 379     381 1 5041 my $base = $_[0][0];
119 379 100       2403 defined blessed $base ? $base : ()
120             }
121              
122 224     226 1 571 sub property { shift->[1] }
123              
124             our $AUTOLOAD;
125              
126             sub AUTOLOAD {
127 29248     29250   178367 my($method) = $AUTOLOAD =~ /([^:]+)\z/;
128              
129 29248 50       65465 return if $method eq 'DESTROY';
130              
131             #my $l = $_[0]; my $ret, my @ret;;
132 107     109   54796 no warnings 'uninitialized';
  107         324  
  107         16853  
133             #eval {
134             # $ret =
135 29248         57278 return shift->get->$method(@_); # ~~~ Maybe I should use goto
136             # to remove AUTOLOAD from
137             # the call stack.
138             #1} or die add_line_number $l->base . ' ' . $l->property . ' ' . $l->get . #' ' . ref $_->get . qq': $@';
139             #return $ret;
140             }
141              
142             sub can { # I think this returns a *canned* lvalue, as opposed to a fresh
143             # one. :-)
144            
145 13 50 33 15 0 826 !ref $_[0] || $_[1] eq 'DESTROY' and goto &UNIVERSAL::can;
146              
147 13 100       146 &UNIVERSAL::can || do {
148 10 100       106 my $sub = (my $obj = shift->get)->can(@_)
149             or return undef;
150 8     10   110 sub { splice @'_, 0, 1, $obj; goto &$sub }
  8         113  
151 8         163 };
152             }
153              
154              
155              
156             =head1 NAME
157              
158             JE::LValue - JavaScript lvalue class
159              
160             =head1 SYNOPSIS
161              
162             use JE::LValue;
163              
164             $lv = new JE::LValue $some_obj, 'property_name';
165              
166             $lv->get; # get property
167             $lv->set($value) # set property
168              
169             $lv->some_other_method # same as $lv->get->some_other_method
170              
171             =head1 DESCRIPTION
172              
173             This class implements JavaScript lvalues (called "Reference Types" by the
174             ECMAScript specification).
175              
176             =head1 METHODS AND OVERLOADING
177              
178             If a method is called that is not listed here, it will be passed to the
179             property referenced by the lvalue. (See the last item in the L,
180             above.) For this reason, you should never call C on a
181             JE::LValue, but, rather, call it as a method (C<< $lv->can(...) >>), unless
182             you really know what you are doing.
183              
184             Similarly, if you try to use an overloaded operator, it will be passed on
185             to
186             the object that the lvalue references, such that C is the same
187             as calling C<< !$lvalue->get >>.
188              
189             =over 4
190              
191             =item $lv = new JE::LValue $obj, $property
192              
193             Creates an lvalue/reference with $obj as the base object and $property
194             as the property name. If $obj is undefined or null, a TypeError is thrown.
195             To create a lvalue that has no base object, and which will throw a
196             ReferenceError when
197             C<< ->get >> is
198             called and create a global property upon invocation of C<< ->set >>, pass
199             an unblessed reference to a global object as the first argument. (This is
200             used by bare identifiers in JS expressions.)
201              
202             =item $lv->get
203              
204             Gets the value of the property.
205              
206             =item $lv->set($value)
207              
208             Sets the property to $value and returns $value. If the lvalue has no base
209             object, the global object will become its base object automatically.
210             Whether the lvalue object itself is modified in the latter case is
211             not set in stone yet. (Currently it is modified, but that may change.)
212              
213             =item $lv->call(@args)
214              
215             If the property is a function, this calls the function with the
216             base object as the 'this' value.
217              
218             =item $lv->base
219              
220             Returns the base object. If there isn't any, it returns undef or an empty
221             list, depending on context.
222              
223             =item $lv->property
224              
225             Returns the property name.
226              
227             =back
228              
229             =cut
230              
231              
232              
233              
234             1;