From ddd42e0db3017a5ec3108d09efba477f19e7f04b Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Tue, 20 Feb 2024 15:56:30 +0000 Subject: - Added solutions by Ulrich Rieke. --- challenge-257/ulrich-rieke/cpp/ch-1.cpp | 21 + challenge-257/ulrich-rieke/cpp/ch-2.cpp | 138 +++ challenge-257/ulrich-rieke/haskell/ch-1.hs | 11 + challenge-257/ulrich-rieke/haskell/ch-2.hs | 74 ++ challenge-257/ulrich-rieke/perl/ch-1.pl | 11 + challenge-257/ulrich-rieke/perl/ch-2.pl | 160 +++ challenge-257/ulrich-rieke/raku/ch-1.raku | 10 + challenge-257/ulrich-rieke/rust/ch-1.rs | 16 + challenge-257/ulrich-rieke/rust/ch-2.rs | 122 ++ stats/pwc-current.json | 107 +- stats/pwc-language-breakdown-summary.json | 60 +- stats/pwc-language-breakdown.json | 1728 ++++++++++++++-------------- stats/pwc-leaders.json | 382 +++--- stats/pwc-summary-1-30.json | 40 +- stats/pwc-summary-121-150.json | 52 +- stats/pwc-summary-151-180.json | 48 +- stats/pwc-summary-181-210.json | 130 +-- stats/pwc-summary-211-240.json | 34 +- stats/pwc-summary-241-270.json | 40 +- stats/pwc-summary-271-300.json | 50 +- stats/pwc-summary-301-330.json | 62 +- stats/pwc-summary-31-60.json | 34 +- stats/pwc-summary-61-90.json | 38 +- stats/pwc-summary-91-120.json | 106 +- stats/pwc-summary.json | 26 +- 25 files changed, 2041 insertions(+), 1459 deletions(-) create mode 100755 challenge-257/ulrich-rieke/cpp/ch-1.cpp create mode 100755 challenge-257/ulrich-rieke/cpp/ch-2.cpp create mode 100755 challenge-257/ulrich-rieke/haskell/ch-1.hs create mode 100755 challenge-257/ulrich-rieke/haskell/ch-2.hs create mode 100755 challenge-257/ulrich-rieke/perl/ch-1.pl create mode 100755 challenge-257/ulrich-rieke/perl/ch-2.pl create mode 100755 challenge-257/ulrich-rieke/raku/ch-1.raku create mode 100755 challenge-257/ulrich-rieke/rust/ch-1.rs create mode 100755 challenge-257/ulrich-rieke/rust/ch-2.rs diff --git a/challenge-257/ulrich-rieke/cpp/ch-1.cpp b/challenge-257/ulrich-rieke/cpp/ch-1.cpp new file mode 100755 index 0000000000..292959c14a --- /dev/null +++ b/challenge-257/ulrich-rieke/cpp/ch-1.cpp @@ -0,0 +1,21 @@ +#include +#include +#include +#include + +int main( ) { + std::cout << "Enter some integers, separated by blanks!\n" ; + std::cout << "Enter e to end entry!\n" ; + std::vector numbers { std::istream_iterator{ std::cin } , + std::istream_iterator{} } ; + std::vector result ; + for ( int i : numbers ) { + result.push_back( std::count_if( numbers.begin( ) , numbers.end( ) , + [i]( int n ) { return n < i ; } ) ) ; + } + std::cout << "( " ; + std::copy( result.begin( ) , result.end( ) , + std::ostream_iterator( std::cout , " " )) ; + std::cout << ")\n" ; + return 0 ; +} diff --git a/challenge-257/ulrich-rieke/cpp/ch-2.cpp b/challenge-257/ulrich-rieke/cpp/ch-2.cpp new file mode 100755 index 0000000000..b365f93c0b --- /dev/null +++ b/challenge-257/ulrich-rieke/cpp/ch-2.cpp @@ -0,0 +1,138 @@ +#include +#include +#include +#include +#include +#include +typedef std::vector> matrix ; + +std::vector split( const std::string & startline , + const std::string & sep ) { + std::vector separated ; + std::string::size_type start { 0 } ; + std::string::size_type pos ; + do { + pos = startline.find_first_of( sep , start ) ; + separated.push_back( startline.substr(start , pos - start )) ; + start = pos + 1 ; + } while ( pos != std::string::npos ) ; + return separated ; +} + +bool hasLeadingOne( const matrix & numbers ) { + for ( auto & row : numbers ) { + auto found = std::find_if( row.begin( ) , row.end( ) , []( int n ) { + return n != 0 ; } ) ; + if ( found != row.end( ) ) { + if (*found != 1) { + return false ; + } + } + } + return true ; +} + +bool zeroesAtBottom( const matrix & numbers ) { + std::vector zeroIndices ; + std::vector theRest ; + int count = 0 ; + for ( auto & row : numbers ) { + auto found = std::find_if( row.begin( ) , row.end( ) , []( int n ) { + return n != 0 ; } ) ; + if ( found != row.end( ) ) { //row does not only contain 0 + theRest.push_back( count ) ; + } + else { //row contains only 0 + zeroIndices.push_back( count ) ; + } + count++ ; + } + //the maximum row number of all lines not containing 0's only must be + //smaller than any of the line numbers of lines containing only 0's + int maximum = *std::max_element( theRest.begin( ) , theRest.end( ) ) ; + return std::all_of( zeroIndices.begin( ) , zeroIndices.end( ) , + [maximum]( int n ) { return n > maximum ; } ) ; +} + +//are all leading ones staggered from left to right ? +bool staggeredOnes( const matrix & numbers ) { + std::vector leadingOnes ; //the positions of all leading 1's + for ( auto & row : numbers ) { + auto found = std::find_if( row.begin( ) , row.end( ) , []( int n ) { + return n != 0 ; } ) ; + if ( found != row.end( ) ) { + if ( *found == 1 ) { + leadingOnes.push_back( static_cast(std::distance( row.begin( ), + found ))) ; + } + } + } + int len = leadingOnes.size( ) ; + if ( len == 0 || len == 1 ) { + return true ; + } + if ( len == 2 ) { + return leadingOnes[1] > leadingOnes[0] ; + } + if ( len > 2 ) { + for ( int i = 0 ; i < len - 1 ; i++ ) { + if ( leadingOnes[ i + 1 ] < leadingOnes[ i ] ) { + return false ; + } + } + } + return true ; +} + +bool allZeroesInLeadingOneColumn( const matrix & numbers ) { + std::vector> leadingOnePositions ; + int len = numbers.size( ) ; + for ( int i = 0 ; i < len ; i++ ) { + std::vector row { numbers[ i ] } ; + auto found = std::find_if( row.begin( ) , row.end( ) , []( int n ) { + return n != 0 ; } ) ; + if ( found != row.end( ) ) { + if ( *found == 1 ) { + int pos = static_cast(std::distance( row.begin( ) , found ) ) ; + leadingOnePositions.push_back( std::make_pair( i , pos ) ) ; + } + } + } + for ( auto & p : leadingOnePositions ) { + for ( int i = 0 ; i < len ; i++ ) { + if ( i != p.first ) { + if ( numbers[i][p.second] != 0 ) { + return false ; + } + } + } + } + return true ; +} + +int main( ) { + std::cout << "Enter some integers, separated by blanks!\n" ; + std::cout << "Enter to stop entry!\n" ; + std::string line ; + matrix numbers ; + std::getline( std::cin , line ) ; + while ( line.length( ) != 0 ) { + std::vector row { split( line , " " ) } ; + std::vector numberrow ; + for ( auto & s : row ) { + numberrow.push_back( std::stoi( s ) ) ; + } + numbers.push_back( numberrow ) ; + line.clear( ) ; + std::getline( std::cin , line ) ; + } + if ( hasLeadingOne( numbers ) && zeroesAtBottom( numbers ) && + staggeredOnes( numbers ) && allZeroesInLeadingOneColumn( numbers )) { + std::cout << 1 << '\n' ; + } + else { + std::cout << 0 << '\n' ; + } + return 0 ; +} + diff --git a/challenge-257/ulrich-rieke/haskell/ch-1.hs b/challenge-257/ulrich-rieke/haskell/ch-1.hs new file mode 100755 index 0000000000..c3b5b5daa4 --- /dev/null +++ b/challenge-257/ulrich-rieke/haskell/ch-1.hs @@ -0,0 +1,11 @@ +module Challenge257 + where + +solution :: [Int] -> [Int] +solution list = map (\i -> length $ filter ( < i ) list ) list + +main :: IO ( ) +main = do + putStrLn "Enter some integers, separated by blanks!" + numbers <- getLine + print $ solution $ map read $ words numbers diff --git a/challenge-257/ulrich-rieke/haskell/ch-2.hs b/challenge-257/ulrich-rieke/haskell/ch-2.hs new file mode 100755 index 0000000000..5b45b72d45 --- /dev/null +++ b/challenge-257/ulrich-rieke/haskell/ch-2.hs @@ -0,0 +1,74 @@ +module Challenge257_2 + where +import Data.List ( transpose , sortOn , findIndices , (!!)) +import Data.List.Split ( divvy ) + +findLeadingNonNull :: [[Int]] -> [(Int , [Int] )] +findLeadingNonNull block = map (\p -> (fst p , findIndices (/= 0 ) $ block !! ( + fst p ) )) $ zip [0, 1 ..] block + +hasLeadingOne :: [[Int]] -> Bool +hasLeadingOne block = null pairs || all (\p -> ( block !! ( fst p ) + !! ( head $ snd p )) == 1 ) pairs + where + pairs = filter ( not . null . snd ) $ findLeadingNonNull block + +zeroesAtBottom :: [[Int]] -> Bool +zeroesAtBottom block = null nulls || maximum_nonNulls < minimum_nulls + where + allNull :: [Int] -> Bool + allNull row = all ( == 0 ) row + pairs :: [(Int , [Int])] + pairs = zip [0,1..] block + nonNulls :: [(Int , [Int])] + nonNulls = sortOn fst $ filter ( not. allNull . snd ) pairs + nulls :: [(Int , [Int] )] + nulls = sortOn fst $ filter ( allNull . snd ) pairs + maximum_nonNulls :: Int + maximum_nonNulls = fst $ last $ nonNulls + minimum_nulls ::Int + minimum_nulls = fst $ head $ nulls + +hasStackedOnes :: [[Int]] -> Bool +hasStackedOnes matrix = + let pairs = filter ( not . null . snd ) $ findLeadingNonNull matrix + leadingOnes = filter (\p -> (matrix !! ( fst p ) !! ( head $ snd p )) == 1 ) + pairs + positions = map ( head . snd ) leadingOnes + myP = length positions + in null pairs || myP == 1 || ( if myP == 2 then ( positions !! 1 ) + > ( positions !! 0 ) else all (\subli -> last subli > head subli ) $ divvy + 2 1 positions ) + +leadingOnesAllNullCol :: [[Int]] -> Bool +leadingOnesAllNullCol matrix = + let pairs = filter ( not . null . snd ) $ findLeadingNonNull matrix + leadingOnes = filter (\p -> (matrix !! ( fst p ) !! ( head $ snd p )) == 1 ) + pairs + positions = map ( head . snd ) leadingOnes + transposed = transpose matrix + l = length matrix + in null pairs || all (\col -> (length $ findIndices (== 0) (transposed !! col)) + == l - 1 ) positions + +condition :: [[Int]] -> Bool +condition matrix = leadingOnesAllNullCol matrix && hasStackedOnes matrix + && zeroesAtBottom matrix && hasLeadingOne matrix + +getMatrix :: IO [String] +getMatrix = do + line <- getLine + if not $ null line then do + restOfLines <- getMatrix + return ( line : restOfLines ) + else do + return [] + +main :: IO ( ) +main = do + putStrLn "Enter some integers, separated by blanks!" + putStrLn "Enter to end entry!" + matrix <- getMatrix + let numbers = map ( map read . words ) matrix + --print $ leadingOnesAllNullCol numbers + if condition numbers then print 1 else print 0 diff --git a/challenge-257/ulrich-rieke/perl/ch-1.pl b/challenge-257/ulrich-rieke/perl/ch-1.pl new file mode 100755 index 0000000000..2540512dc7 --- /dev/null +++ b/challenge-257/ulrich-rieke/perl/ch-1.pl @@ -0,0 +1,11 @@ +use v5.36.0 ; + +say "Enter some integers, separated by blanks!" ; +my $line = ; +chomp $line ; +my @numbers = split( /\s+/ , $line ) ; +my @result ; +for my $num( @numbers ) { + push @result , scalar( grep { $_ < $num } @numbers ) ; +} +say "(" . join( ',' , @result ) . ")" ; diff --git a/challenge-257/ulrich-rieke/perl/ch-2.pl b/challenge-257/ulrich-rieke/perl/ch-2.pl new file mode 100755 index 0000000000..c2c453d3a0 --- /dev/null +++ b/challenge-257/ulrich-rieke/perl/ch-2.pl @@ -0,0 +1,160 @@ +#!/usr/bin/perl ; +use strict ; +use warnings ; +use feature 'say' ; +use List::Util qw ( any all max) ; + +sub findOnePos { #find the first position of a 1 if there is one + my $row = shift ; + my $len = scalar( @$row ) ; + my $pos = 0 ; + while ( $row->[$pos] == 0 ) { + $pos++ ; + if ( $pos == $len ) { + last ; + } + } + if ( $pos < $len ) { + if ( $row->[$pos] == 1 ) { + return $pos ; + } + else { + return -1 ; + } + } + else { + return -1 ; + } +} + +#determine whether a possible non-0 entry in a row is a 1 +sub hasLeadingOne { + my $matrix = shift ; + for my $row ( @$matrix ) { + if ( any { $_ != 0 } @$row ) { + my $pos = 0 ; + while ( $row->[$pos] == 0 ) { + $pos++ ; + } + if ( $row->[$pos] != 1 ) {#it not a 1 + return 0 ; #return false + } + } + } + return 1 ; +} + +sub zeroesAtBottom { + my $matrix = shift ; + my @rownum ;#create an array of row number and row content + my $count = 0 ; + for my $row( @$matrix ) { + my @currentrow = @$row ;#it's better to dereference...! + push( @rownum, [$count , join( '' , @currentrow ) ] ) ; + $count++ ; + } + my @allZeroIndices ;#indices of lines consisting of 0's only + my @theRest ; #the other lines + for my $pair( @rownum ) { + my @r = split( // , $pair->[1] ) ; #split the line content + if ( all { $_ eq '0' } @r ) {#if it only contains '0' + push @allZeroIndices , $pair->[0] ;#grab the line index + } + else { + push @theRest , $pair->[0] ; + } + } + my $maximum = max( @theRest ) ; +#the maximum of the line indices of lines containing not only 0 must be +#smaller than all indices of lines containing only 0 + if ( all { $_ > $maximum } @allZeroIndices ) { + return 1 ; + } + else { + return 0 ; + } +} + +#do leading ones follow through from left to right ? +sub staggeredOnes { + my $matrix = shift ; + my @leadingOnes ;#positions of leading ones + for my $row( @$matrix ) { + if ( any { $_ != 0 } @$row ) { + my $num = findOnePos( $row ) ; + if ( $num != -1 ) { #we found a leading one, see function above + push @leadingOnes , $num ; + } + } + } + my $len = scalar( @leadingOnes ) ; + if ( $len == 0 || $len == 1 ) { #staggered criterion does not apply + return 1 ; + } + else { + if ( $len == 2 ) { + if ( $leadingOnes[1] > $leadingOnes[0] ) { + return 1 ; + } + else { + return 0 ; + } + } + if ( $len > 2 ) { + for my $i (0..$len - 2 ) { + if ( $leadingOnes[ $i + 1 ] < $leadingOnes[ $i ] ) { + return 0 ; + } + } + return 1 ; + } + } +} + +#do all leading ones live in a column of 0's only ? +sub allZeroesInLeadingOneColumn { + my $matrix = shift ; + my $len = scalar( @$matrix ) ; + my @leadingOnePositions ;#contains arrays of rows and columns of leading 1's + for my $r( 0..$len - 1 ) { + my $row = $matrix->[$r] ;#current row + if ( any { $_ != 0 } @$row ) { + my $num = findOnePos( $row ) ; + if ( $num != -1 ) { #we found a leading 1 position + push @leadingOnePositions , [$r , $num] ; + } + } + } + for my $pair( @leadingOnePositions ) { + for my $i (0..$len - 1 ) {#for all rows in the matrix + if ( $pair->[0] != $i ) {#if the current row is not equal to the row +#number of a leading 1 + if ( $matrix->[$i]->[$pair->[1]] != 0 ) {#it must be unequal zero + return 0 ; #short circuiting if the matrix entry above or below +#is not 0 + } + } + } + } + return 1 ; +} + +say "Enter some integers, separated by blanks!" ; +say "Enter to end entry!" ; +my @matrix ; +my $line = ; +chomp $line ; +while ( $line ) { + my @row = split( /\s+/ , $line ) ; + push @matrix, \@row ; + $line = ; + chomp $line ; +} +#test all conditions +if ( hasLeadingOne( \@matrix ) && zeroesAtBottom( \@matrix ) && staggeredOnes( + \@matrix ) && allZeroesInLeadingOneColumn( \@matrix ) ) { + say 1 ; +} +else { + say 0 ; +} diff --git a/challenge-257/ulrich-rieke/raku/ch-1.raku b/challenge-257/ulrich-rieke/raku/ch-1.raku new file mode 100755 index 0000000000..43bcf61b3d --- /dev/null +++ b/challenge-257/ulrich-rieke/raku/ch-1.raku @@ -0,0 +1,10 @@ +use v6 ; + +say "Enter some integers, separated by blanks!" ; +my $line = $*IN.get ; +my @numbers = $line.words.map( {.Int} ) ; +my @result ; +for @numbers -> $num { + @result.push( @numbers.grep( { $_ < $num } ).elems ) ; +} +say "(" ~ @result.join( ',' ) ~ ")" ; diff --git a/challenge-257/ulrich-rieke/rust/ch-1.rs b/challenge-257/ulrich-rieke/rust/ch-1.rs new file mode 100755 index 0000000000..372ad67cc7 --- /dev/null +++ b/challenge-257/ulrich-rieke/rust/ch-1.rs @@ -0,0 +1,16 @@ +use std::io ; + +fn main() { + println!("Enter some integers, separated by blanks!"); + let mut inline : String = String::new( ) ; + io::stdin( ).read_line( &mut inline ).unwrap( ) ; + let entered_line : &str = &*inline ; + let numbers : Vec = entered_line.split_whitespace( ).map( | s | + s.trim( ).parse::().unwrap( ) ).collect( ) ; + let mut result : Vec = Vec::new( ) ; + for i in &numbers { + let num = numbers.iter( ).filter( |&x| *x < *i ).count( ) ; + result.push( num ) ; + } + println!("{:?}" , result ) ; +} diff --git a/challenge-257/ulrich-rieke/rust/ch-2.rs b/challenge-257/ulrich-rieke/rust/ch-2.rs new file mode 100755 index 0000000000..eb9a0d1aa2 --- /dev/null +++ b/challenge-257/ulrich-rieke/rust/ch-2.rs @@ -0,0 +1,122 @@ +use std::io ; +use std::io::BufRead ; + +fn has_leading_one( matrix : &Vec> ) -> bool { + for row in matrix { + let found : Option = row.iter( ).find( | x | **x != 0 ).copied( ) ; + if found.is_some( ) { + let num = found.unwrap( ) ; + if num != 1 { + return false ; + } + } + } + true +} + +fn zeros_at_bottom( matrix : &Vec> ) -> bool { + let enumerated_rows : Vec<(usize, &Vec)> = matrix.iter( ). + enumerate( ).collect( ) ; + let mut all_zero_indices : Vec = Vec::new( ) ; + let mut the_rest : Vec = Vec::new( ) ; + for p in &enumerated_rows { + if p.1.iter( ).all( | x | *x == 0 ) { + all_zero_indices.push( p.0 ) ; + } + else { + the_rest.push( p.0 ) ; + } + } + let maximum = the_rest.iter( ).max().unwrap( ) ; + all_zero_indices.iter( ).all( | d | *d > *maximum ) +} + +fn staggered_ones( matrix : &Vec> ) -> bool { + let mut leading_ones : Vec = Vec::new( ) ; + for row in matrix { + let found : Option = row.iter( ).find( | x | **x != 0 ).copied( ) ; + if found.is_some( ) { + let num = found.unwrap( ) ; + if num == 1 { + let pos = row.iter( ).position( | &x | x == 1 ).unwrap( ) ; + leading_ones.push( pos ) ; + } + } + } + let len = leading_ones.len( ) ; + if len == 0 || len == 1 { + true + } + else { + if len == 2 { + leading_ones[1] > leading_ones[0] + } + else { + for i in 0..len - 1 { + if leading_ones[ i + 1 ] < leading_ones[ i ] { + return false ; + } + } + return true ; + } + } +} + +fn all_zeroes_in_leading_one_column( matrix : &Vec> ) -> bool { + let mut leading_one_positions : Vec<(usize, usize)> = Vec::new( ) ; + let len = matrix.len( ) ; + for i in 0..len { + let row = &matrix[ i ] ; + let found : Option = row.iter( ).find( |x| **x != 0 ).copied( ) ; + if found.is_some( ) { + let num = found.unwrap( ) ; + if num == 1 { + let pos = row.iter( ).position( | x | *x == 1 ).unwrap( ) ; + leading_one_positions.push( (i , pos) ) ; + } + } + } + leading_one_positions.iter( ).all( |(r , col)| { + for i in 0..len { + if i != *r { + return matrix[i][*col] == 0 ; + } + } + false + }) +} + +fn main() -> io::Result<()> { + println!("Enter some integers, separated by blanks!"); + println!( "Enter to end entry!" ) ; + let mut lines = io::stdin( ).lock( ).lines( ) ; + let mut all_input : String = String::new( ) ; + while let Some( line ) = lines.next( ) { + let last_input = line.unwrap( ) ; + if last_input.len( ) == 0 { + break ; + } + else { + all_input.push_str( &last_input ) ; + all_input.push_str( "\n" ) ; + } + } + let mut matrix : Vec> = Vec::new( ) ; + let rows : Vec<&str> = all_input.split( "\n" ).collect( ) ; + for r in &rows { + if r.len( ) != 0 { + let numbers : Vec = r.split_whitespace( ).map( | s | + s.trim( ).parse::( ).unwrap( )).collect( ) ; + matrix.push( numbers ) ; + } + } + if has_leading_one( &matrix ) && zeros_at_bottom( &matrix ) && + staggered_ones( &matrix ) && all_zeroes_in_leading_one_column( + &matrix ) { + println!("1") ; + } + else { + println!("0") ; + } + Ok(()) +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 1e5121f495..ff1e449c49 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,21 +1,22 @@ { - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "subtitle" : { - "text" : "[Champions: 8] Last updated at 2024-02-20 14:16:52 GMT" + "legend" : { + "enabled" : 0 }, "plotOptions" : { "series" : { "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" + "format" : "{point.y}", + "enabled" : 1 }, "borderWidth" : 0 } }, + "xAxis" : { + "type" : "category" + }, + "title" : { + "text" : "The Weekly Challenge - 257" + }, "drilldown" : { "series" : [ { @@ -29,7 +30,6 @@ "id" : "Bob Lied" }, { - "id" : "Dave Jacoby", "data" : [ [ "Perl", @@ -40,17 +40,18 @@ 1 ] ], + "id" : "Dave Jacoby", "name" : "Dave Jacoby" }, { - "name" : "David Ferrone", + "id" : "David Ferrone", "data" : [ [ "Perl", 2 ] ], - "id" : "David Ferrone" + "name" : "David Ferrone" }, { "id" : "Luca Ferrari", @@ -77,13 +78,13 @@ "id" : "Mariano Spadaccini" }, { - "id" : "Mark Anderson", "data" : [ [ "Raku", 2 ] ], + "id" : "Mark Anderson", "name" : "Mark Anderson" }, { @@ -101,7 +102,6 @@ "id" : "Roger Bell_West" }, { - "id" : "Thomas Kohler", "name" : "Thomas Kohler", "data" : [ [ @@ -112,43 +112,70 @@ "Blog", 2 ] + ], + "id" : "Thomas Kohler" + }, + { + "name" : "Ulrich Rieke", + "id" : "Ulrich Rieke", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 1 + ] ] } ] }, - "xAxis" : { - "type" : "category" + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "tooltip" : { + "headerFormat" : "{series.name}
", + "pointFormat" : "{point.name}: {point.y:f}
", + "followPointer" : 1 + }, + "subtitle" : { + "text" : "[Champions: 9] Last updated at 2024-02-20 15:51:01 GMT" }, "chart" : { "type" : "column" }, "series" : [ { + "name" : "The Weekly Challenge - 257", + "colorByPoint" : 1, "data" : [ { + "name" : "Bob Lied", "drilldown" : "Bob Lied", - "y" : 2, - "name" : "Bob Lied" + "y" : 2 }, { + "name" : "Dave Jacoby", "drilldown" : "Dave Jacoby", - "y" : 3, - "name" : "Dave Jacoby" + "y" : 3 }, { - "y" : 2, "drilldown" : "David Ferrone", - "name" : "David Ferrone" + "name" : "David Ferrone", + "y" : 2 }, { "name" : "Luca Ferrari", - "y" : 11, - "drilldown" : "Luca Ferrari" + "drilldown" : "Luca Ferrari", + "y" : 11 }, { - "drilldown" : "Mariano Spadaccini", "y" : 1, - "name" : "Mariano Spadaccini" + "name" : "Mariano Spadaccini", + "drilldown" : "Mariano Spadaccini" }, { "name" : "Mark Anderson", @@ -156,29 +183,21 @@ "y" : 2 }, { + "drilldown" : "Roger Bell_West", "name" : "Roger Bell_West", - "y" : 4, - "drilldown" : "Roger Bell_West" + "y" : 4 }, { - "name" : "Thomas Kohler", "drilldown" : "Thomas Kohler", + "name" : "Thomas Kohler", "y" : 4 + }, + { + "drilldown" : "Ulrich Rieke", + "name" : "Ulrich Rieke", + "y" : 3 } - ], - "name" : "The Weekly Challenge - 257", - "colorByPoint" : 1 + ] } - ], - "title" : { - "text" : "The Weekly Challenge - 257" - }, - "legend" : { - "enabled" : 0 - }, - "tooltip" : { - "followPointer" : 1, - "pointFormat" : "{point.name}: {point.y:f}
", - "headerFormat" : "{series.name}
" - } + ] } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 47bb95c7d4..b3fa9312de 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,21 +1,13 @@ { + "subtitle" : { + "text" : "Last updated at 2024-02-20 15:51:01 GMT" + }, "chart" : { "type" : "column" }, "series" : [ { - "dataLabels" : { - "color" : "#FFFFFF", - "enabled" : "true", - "rotation" : -90, - "y" : 10, - "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" - }, - "align" : "right", - "format" : "{point.y:.0f}" - }, + "name" : "Contributions", "data" : [ [ "Blog", @@ -23,41 +15,49 @@ ], [ "Perl", - 13259 + 13261 ], [ "Raku", - 7652 + 7653 ] ], - "name" : "Contributions" + "dataLabels" : { + "y" : 10, + "align" : "right", + "color" : "#FFFFFF", + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + }, + "format" : "{point.y:.0f}", + "rotation" : -90, + "enabled" : "true" + } } ], - "title" : { - "text" : "The Weekly Challenge Contributions [2019 - 2024]" - }, - "legend" : { - "enabled" : "false" - }, - "tooltip" : { - "pointFormat" : "{point.y:.0f}" - }, "yAxis" : { + "min" : 0, "title" : { "text" : null - }, - "min" : 0 + } }, - "subtitle" : { - "text" : "Last updated at 2024-02-20 14:16:52 GMT" + "tooltip" : { + "pointFormat" : "{point.y:.0f}" }, "xAxis" : { - "type" : "category", "labels" : { "style" : { "fontSize" : "13px", "fontFamily" : "Verdana, sans-serif" } - } + }, + "type" : "category" + }, + "title" : { + "text" : "The Weekly Challenge Contributions [2019 - 2024]" + }, + "legend" : { + "enabled" : "false" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 621083f7c6..beec5b0376 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,24 +1,33 @@ { - "chart" : { - "type" : "column" + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } }, "tooltip" : { "followPointer" : "true", "pointFormat" : "Challenge {point.name}: {point.y:f}
", "headerFormat" : "" }, + "subtitle" : { + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2024-02-20 15:51:01 GMT" + }, + "chart" : { + "type" : "column" + }, "series" : [ { + "colorByPoint" : "true", "data" : [ { "drilldown" : "001", - "y" : 164, - "name" : "#001" + "name" : "#001", + "y" : 164 }, { + "y" : 129, "name" : "#002", - "drilldown" : "002", - "y" : 129 + "drilldown" : "002" }, { "y" : 87, @@ -26,9 +35,9 @@ "name" : "#003" }, { + "name" : "#004", "drilldown" : "004", - "y" : 103, - "name" : "#004" + "y" : 103 }, { "y" : 80, @@ -37,43 +46,43 @@ }, { "name" : "#006", - "y" : 61, - "drilldown" : "006" + "drilldown" : "006", + "y" : 61 }, { - "name" : "#007", "drilldown" : "007", + "name" : "#007", "y" : 69 }, { - "y" : 82, + "name" : "#008", "drilldown" : "008", - "name" : "#008" + "y" : 82 }, { - "name" : "#009", "drilldown" : "009", + "name" : "#009", "y" : 80 }, { "drilldown" : "010", - "y" : 69, - "name" : "#010" + "name" : "#010", + "y" : 69 }, { - "name" : "#011", "y" : 89, - "drilldown" : "011" + "drilldown" : "011", + "name" : "#011" }, { "name" : "#012", - "y" : 92, - "drilldown" : "012" + "drilldown" : "012", + "y" : 92 }, { - "y" : 87, "drilldown" : "013", - "name" : "#013" + "name" : "#013", + "y" : 87 }, { "y" : 102, @@ -96,18 +105,18 @@ "name" : "#017" }, { - "drilldown" : "018", "y" : 83, + "drilldown" : "018", "name" : "#018" }, { - "name" : "#019", + "y" : 105, "drilldown" : "019", - "y" : 105 + "name" : "#019" }, { - "name" : "#020", "y" : 103, + "name" : "#020", "drilldown" : "020" }, { @@ -116,18 +125,18 @@ "name" : "#021" }, { - "y" : 72, "drilldown" : "022", - "name" : "#022" + "name" : "#022", + "y" : 72 }, { + "name" : "#023", "drilldown" : "023", - "y" : 101, - "name" : "#023" + "y" : 101 }, { - "name" : "#024", "y" : 77, + "name" : "#024", "drilldown" : "024" }, { @@ -137,38 +146,38 @@ }, { "y" : 76, - "drilldown" : "026", - "name" : "#026" + "name" : "#026", + "drilldown" : "026" }, { "name" : "#027", - "y" : 64, - "drilldown" : "027" + "drilldown" : "027", + "y" : 64 }, { + "y" : 82, "name" : "#028", - "drilldown" : "028", - "y" : 82 + "drilldown" : "028" }, { "y" : 83, - "drilldown" : "029", - "name" : "#029" + "name" : "#029", + "drilldown" : "029" }, { - "drilldown" : "030", "y" : 121, - "name" : "#030" + "name" : "#030", + "drilldown" : "030" }, { + "drilldown" : "031", "name" : "#031", - "y" : 93, - "drilldown" : "031" + "y" : 93 }, { "y" : 98, - "drilldown" : "032", - "name" : "#032" + "name" : "#032", + "drilldown" : "032" }, { "name" : "#033", @@ -176,34 +185,34 @@ "y" : 114 }, { - "y" : 70, + "name" : "#034", "drilldown" : "034", - "name" : "#034" + "y" : 70 }, { + "y" : 68, "name" : "#035", - "drilldown" : "035", - "y" : 68 + "drilldown" : "035" }, { + "y" : 70, "name" : "#036", - "drilldown" : "036", - "y" : 70 + "drilldown" : "036" }, { - "name" : "#037", + "y" : 70, "drilldown" : "037", - "y" : 70 + "name" : "#037" }, { - "name" : "#038", "drilldown" : "038", + "name" : "#038", "y" : 74 }, { + "name" : "#039", "drilldown" : "039", - "y" : 68, - "name" : "#039" + "y" : 68 }, { "name" : "#040", @@ -211,19 +220,19 @@ "y" : 77 }, { + "y" : 80, "name" : "#041", - "drilldown" : "041", - "y" : 80 + "drilldown" : "041" }, { - "name" : "#042", "y" : 98, - "drilldown" : "042" + "drilldown" : "042", + "name" : "#042" }, { - "y" : 72, + "name" : "#043", "drilldown" : "043", - "name" : "#043" + "y" : 72 }, { "y" : 90, @@ -231,19 +240,19 @@ "name" : "#044" }, { + "name" : "#045", "drilldown" : "045", - "y" : 102, - "name" : "#045" + "y" : 102 }, { + "drilldown" : "046", "name" : "#046", - "y" : 93, - "drilldown" : "046" + "y" : 93 }, { - "drilldown" : "047", "y" : 88, - "name" : "#047" + "name" : "#047", + "drilldown" : "047" }, { "name" : "#048", @@ -256,33 +265,33 @@ "name" : "#049" }, { + "name" : "#050", "drilldown" : "050", - "y" : 104, - "name" : "#050" + "y" : 104 }, { + "name" : "#051", "drilldown" : "051", - "y" : 95, - "name" : "#051" + "y" : 95 }, { - "name" : "#052", + "y" : 93, "drilldown" : "052", - "y" : 93 + "name" : "#052" }, { - "y" : 105, + "name" : "#053", "drilldown" : "053", - "name" : "#053" + "y" : 105 }, { + "name" : "#054", "drilldown" : "054", - "y" : 107, - "name" : "#054" + "y" : 107 }, { - "drilldown" : "055", "y" : 92, + "drilldown" : "055", "name" : "#055" }, { @@ -292,23 +301,23 @@ }, { "drilldown" : "057", - "y" : 86, - "name" : "#057" + "name" : "#057", + "y" : 86 }, { - "y" : 71, + "name" : "#058", "drilldown" : "058", - "name" : "#058" + "y" : 71 }, { - "y" : 93, "drilldown" : "059", - "name" : "#059" + "name" : "#059", + "y" : 93 }, { - "y" : 89, + "name" : "#060", "drilldown" : "060", - "name" : "#060" + "y" : 89 }, { "name" : "#061", @@ -316,19 +325,19 @@ "y" : 85 }, { - "name" : "#062", "y" : 62, + "name" : "#062", "drilldown" : "062" }, { "name" : "#063", - "y" : 93, - "drilldown" : "063" + "drilldown" : "063", + "y" : 93 }, { + "name" : "#064", "drilldown" : "064", - "y" : 84, - "name" : "#064" + "y" : 84 }, { "y" : 77, @@ -336,113 +345,113 @@ "name" : "#065" }, { - "name" : "#066", "y" : 88, + "name" : "#066", "drilldown" : "066" }, { "name" : "#067", - "y" : 94, - "drilldown" : "067" + "drilldown" : "067", + "y" : 94 }, { - "y" : 79, + "name" : "#068", "drilldown" : "068", - "name" : "#068" + "y" : 79 }, { "y" : 87, - "drilldown" : "069", - "name" : "#069" + "name" : "#069", + "drilldown" : "069" }, { - "drilldown" : "070", "y" : 98, + "drilldown" : "070", "name" : "#070" }, { - "name" : "#071", "y" : 82, + "name" : "#071", "drilldown" : "071" }, { "name" : "#072", - "y" : 116, - "drilldown" : "072" + "drilldown" : "072", + "y" : 116 }, { - "name" : "#073", "y" : 112, - "drilldown" : "073" + "drilldown" : "073", + "name" : "#073" }, { - "name" : "#074", "y" : 117, + "name" : "#074", "drilldown" : "074" }, { - "drilldown" : "075", "y" : 117, - "name" : "#075" + "name" : "#075", + "drilldown" : "075" }, { - "drilldown" : "076", "y" : 101, - "name" : "#076" + "name" : "#076", + "drilldown" : "076" }, { "name" : "#077", - "y" : 100, - "drilldown" : "077" + "drilldown" : "077", + "y" : 100 }, { - "y" : 127, + "name" : "#078", "drilldown" : "078", - "name" : "#078" + "y" : 127 }, { - "name" : "#079", "drilldown" : "079", + "name" : "#079", "y" : 122 }, { - "name" : "#080", "y" : 127, + "name" : "#080", "drilldown" : "080" }, { - "drilldown" : "081", "y" : 114, - "name" : "#081" + "name" : "#081", + "drilldown" : "081" }, { - "name" : "#082", "y" : 114, - "drilldown" : "082" + "drilldown" : "082", + "name" : "#082" }, { + "name" : "#083", "drilldown" : "083", - "y" : 127, - "name" : "#083" + "y" : 127 }, { + "name" : "#084", "drilldown" : "084", - "y" : 119, - "name" : "#084" + "y" : 119 }, { - "name" : "#085", "y" : 113, + "name" : "#085", "drilldown" : "085" }, { - "y" : 104, "drilldown" : "086", - "name" : "#086" + "name" : "#086", + "y" : 104 }, { - "name" : "#087", "drilldown" : "087", + "name" : "#087", "y" : 101 }, { @@ -451,14 +460,14 @@ "name" : "#088" }, { + "name" : "#089", "drilldown" : "089", - "y" : 113, - "name" : "#089" + "y" : 113 }, { + "drilldown" : "090", "name" : "#090", - "y" : 113, - "drilldown" : "090" + "y" : 113 }, { "name" : "#091", @@ -471,59 +480,59 @@ "name" : "#092" }, { - "name" : "#093", "y" : 87, + "name" : "#093", "drilldown" : "093" }, { - "drilldown" : "094", "y" : 87, + "drilldown" : "094", "name" : "#094" }, { - "name" : "#095", "y" : 108, - "drilldown" : "095" + "drilldown" : "095", + "name" : "#095" }, { - "y" : 108, "drilldown" : "096", - "name" : "#096" + "name" : "#096", + "y" : 108 }, { - "name" : "#097", "y" : 111, - "drilldown" : "097" + "drilldown" : "097", + "name" : "#097" }, { - "drilldown" : "098", "y" : 108, + "drilldown" : "098", "name" : "#098" }, { - "y" : 97, + "name" : "#099", "drilldown" : "099", - "name" : "#099" + "y" : 97 }, { - "y" : 120, + "name" : "#100", "drilldown" : "100", - "name" : "#100" + "y" : 120 }, { - "name" : "#101", + "y" : 83, "drilldown" : "101", - "y" : 83 + "name" : "#101" }, { + "name" : "#102", "drilldown" : "102", - "y" : 90, - "name" : "#102" + "y" : 90 }, { - "name" : "#103", + "y" : 79, "drilldown" : "103", - "y" : 79 + "name" : "#103" }, { "y" : 85, @@ -531,54 +540,54 @@ "name" : "#104" }, { - "y" : 77, "drilldown" : "105", - "name" : "#105" + "name" : "#105", + "y" : 77 }, { - "drilldown" : "106", "y" : 97, - "name" : "#106" + "name" : "#106", + "drilldown" : "106" }, { - "name" : "#107", "y" : 92, + "name" : "#107", "drilldown" : "107" }, { + "y" : 96, "name" : "#108", - "drilldown" : "108", - "y" : 96 + "drilldown" : "108" }, { - "y" : 109, "drilldown" : "109", - "name" : "#109" + "name" : "#109", + "y" : 109 }, { - "name" : "#110", "drilldown" : "110", + "name" : "#110", "y" : 110 }, { - "name" : "#111", "y" : 93, - "drilldown" : "111" + "drilldown" : "111", + "name" : "#111" }, { + "name" : "#112", "drilldown" : "112", - "y" : 94, - "name" : "#112" + "y" : 94 }, { - "name" : "#113", "y" : 94, - "drilldown" : "113" + "drilldown" : "113", + "name" : "#113" }, { + "y" : 110, "name" : "#114", - "drilldown" : "114", - "y" : 110 + "drilldown" : "114" }, { "name" : "#115", @@ -586,99 +595,99 @@ "y" : 98 }, { - "y" : 97, "drilldown" : "116", - "name" : "#116" + "name" : "#116", + "y" : 97 }, { + "y" : 99, "name" : "#117", - "drilldown" : "117", - "y" : 99 + "drilldown" : "117" }, { - "name" : "#118", "y" : 85, + "name" : "#118", "drilldown" : "118" }, { - "name" : "#119", "y" : 125, + "name" : "#119", "drilldown" : "119" }, { - "name" : "#120", "y" : 116, + "name" : "#120", "drilldown" : "120" }, { - "name" : "#121", "y" : 92, - "drilldown" : "121" + "drilldown" : "121", + "name" : "#121" }, { + "y" : 110, "name" : "#122", - "drilldown" : "122", - "y" : 110 + "drilldown" : "122" }, { + "drilldown" : "123", "name" : "#123", - "y" : 105, - "drilldown" : "123" + "y" : 105 }, { - "y" : 87, + "name" : "#124", "drilldown" : "124", - "name" : "#124" + "y" : 87 }, { - "drilldown" : "125", "y" : 65, - "name" : "#125" + "name" : "#125", + "drilldown" : "125" }, { - "name" : "#126", + "y" : 113, "drilldown" : "126", - "y" : 113 + "name" : "#126" }, { - "name" : "#127", "drilldown" : "127", + "name" : "#127", "y" : 115 }, { "name" : "#128", - "y" : 73, - "drilldown" : "128" + "drilldown" : "128", + "y" : 73 }, { - "drilldown" : "129", "y" : 52, + "drilldown" : "129", "name" : "#129" }, { + "drilldown" : "130", "name" : "#130", - "y" : 75, - "drilldown" : "130" + "y" : 75 }, { + "drilldown" : "131", "name" : "#131", - "y" : 91, - "drilldown" : "131" + "y" : 91 }, { "drilldown" : "132", - "y" : 78, - "name" : "#132" + "name" : "#132", + "y" : 78 }, { - "y" : 95, "drilldown" : "133", - "name" : "#133" + "name" : "#133", + "y" : 95 }, { - "name" : "#134", "y" : 94, - "drilldown" : "134" + "drilldown" : "134", + "name" : "#134" }, { "name" : "#135", @@ -686,84 +695,84 @@ "y" : 104 }, { - "y" : 97, + "name" : "#136", "drilldown" : "136", - "name" : "#136" + "y" : 97 }, { - "y" : 100, + "name" : "#137", "drilldown" : "137", - "name" : "#137" + "y" : 100 }, { + "name" : "#138", "drilldown" : "138", - "y" : 102, - "name" : "#138" + "y" : 102 }, { + "name" : "#139", "drilldown" : "139", - "y" : 97, - "name" : "#139" + "y" : 97 }, { - "drilldown" : "140", "y" : 103, + "drilldown" : "140", "name" : "#140" }, { - "y" : 102, "drilldown" : "141", - "name" : "#141" + "name" : "#141", + "y" : 102 }, { - "name" : "#142", + "y" : 85, "drilldown" : "142", - "y" : 85 + "name" : "#142" }, { + "name" : "#143", "drilldown" : "143", - "y" : 85, - "name" : "#143" + "y" : 85 }, { "y" : 90, - "drilldown" : "144", - "name" : "#144" + "name" : "#144", + "drilldown" : "144" }, { + "drilldown" : "145", "name" : "#145", - "y" : 96, - "drilldown" : "145" + "y" : 96 }, { + "name" : "#146", "drilldown" : "146", - "y" : 108, - "name" : "#146" + "y" : 108 }, { - "y" : 107, + "name" : "#147", "drilldown" : "147", - "name" : "#147" + "y" : 107 }, { "y" : 94, - "drilldown" : "148", - "name" : "#148" + "name" : "#148", + "drilldown" : "148" }, { - "name" : "#149", "y" : 88, + "name" : "#149", "drilldown" : "149" }, { - "name" : "#150", + "y" : 108, "drilldown" : "150", - "y" : 108 + "name" : "#150" }, { - "name" : "#151", "y" : 78, - "drilldown" : "151" + "drilldown" : "151", + "name" : "#151" }, { "y" : 80, @@ -771,84 +780,84 @@ "name" : "#152" }, { - "name" : "#153", "y" : 97, - "drilldown" : "153" + "drilldown" : "153", + "name" : "#153" }, { "y" : 108, - "drilldown" : "154", - "name" : "#154" + "name" : "#154", + "drilldown" : "154" }, { "y" : 99, - "drilldown" : "155", - "name" : "#155" + "name" : "#155", + "drilldown" : "155" }, { - "y" : 98, + "name" : "#156", "drilldown" : "156", - "name" : "#156" + "y" : 98 }, { "y" : 97, - "drilldown" : "157", - "name" : "#157" + "name" : "#157", + "drilldown" : "157" }, { "y" : 107, - "drilldown" : "158", - "name" : "#158" + "name" : "#158", + "drilldown" : "158" }, { - "name" : "#159", "y" : 92, - "drilldown" : "159" + "drilldown" : "159", + "name" : "#159" }, { - "drilldown" : "160", "y" : 121, - "name" : "#160" + "name" : "#160", + "drilldown" : "160" }, { "y" : 102, - "drilldown" : "161", - "name" : "#161" + "name" : "#161", + "drilldown" : "161" }, { + "y" : 95, "name" : "#162", - "drilldown" : "162", - "y" : 95 + "drilldown" : "162" }, { + "y" : 118, "name" : "#163", - "drilldown" : "163", - "y" : 118 + "drilldown" : "163" }, { - "name" : "#164", "y" : 120, - "drilldown" : "164" + "drilldown" : "164", + "name" : "#164" }, { - "name" : "#165", "drilldown" : "165", + "name" : "#165", "y" : 80 }, { - "y" : 81, "drilldown" : "166", - "name" : "#166" + "name" : "#166", + "y" : 81 }, { - "y" : 75, + "name" : "#167", "drilldown" : "167", - "name" : "#167" + "y" : 75 }, { - "name" : "#168", "y" : 98, - "drilldown" : "168" + "drilldown" : "168", + "name" : "#168" }, { "name" : "#169", @@ -861,9 +870,9 @@ "y" : 102 }, { + "y" : 113, "name" : "#171", - "drilldown" : "171", - "y" : 113 + "drilldown" : "171" }, { "name" : "#172", @@ -871,8 +880,8 @@ "y" : 96 }, { - "drilldown" : "173", "y" : 113, + "drilldown" : "173", "name" : "#173" }, { @@ -882,58 +891,58 @@ }, { "drilldown" : "175", - "y" : 114, - "name" : "#175" + "name" : "#175", + "y" : 114 }, { - "y" : 114, + "name" : "#176", "drilldown" : "176", - "name" : "#176" + "y" : 114 }, { - "name" : "#177", + "y" : 107, "drilldown" : "177", - "y" : 107 + "name" : "#177" }, { - "name" : "#178", + "y" : 67, "drilldown" : "178", - "y" : 67 + "name" : "#178" }, { "drilldown" : "179", - "y" : 74, - "name" : "#179" + "name" : "#179", + "y" : 74 }, { + "y" : 117, "name" : "#180", - "drilldown" : "180", - "y" : 117 + "drilldown" : "180" }, { - "y" : 99, "drilldown" : "181", - "name" : "#181" + "name" : "#181", + "y" : 99 }, { - "y" : 112, "drilldown" : "182", - "name" : "#182" + "name" : "#182", + "y" : 112 }, { + "name" : "#183", "drilldown" : "183", - "y" : 89, - "name" : "#183" + "y" : 89 }, { + "drilldown" : "184", "name" : "#184", - "y" : 109, - "drilldown" : "184" + "y" : 109 }, { "y" : 117, - "drilldown" : "185", - "name" : "#185" + "name" : "#185", + "drilldown" : "185" }, { "y" : 113, @@ -941,19 +950,19 @@ "name" : "#186" }, { + "name" : "#187", "drilldown" : "187", - "y" : 111, - "name" : "#187" + "y" : 111 }, { - "name" : "#188", "drilldown" : "188", + "name" : "#188", "y" : 121 }, { - "y" : 119, + "name" : "#189", "drilldown" : "189", - "name" : "#189" + "y" : 119 }, { "y" : 113, @@ -961,68 +970,68 @@ "name" : "#190" }, { - "name" : "#191", "y" : 119, - "drilldown" : "191" + "drilldown" : "191", + "name" : "#191" }, { + "drilldown" : "192", "name" : "#192", - "y" : 129, - "drilldown" : "192" + "y" : 129 }, { - "drilldown" : "193", "y" : 112, + "drilldown" : "193", "name" : "#193" }, { - "name" : "#194", + "y" : 113, "drilldown" : "194", - "y" : 113 + "name" : "#194" }, { - "drilldown" : "195", "y" : 110, - "name" : "#195" + "name" : "#195", + "drilldown" : "195" }, { + "y" : 104, "name" : "#196", - "drilldown" : "196", - "y" : 104 + "drilldown" : "196" }, { + "y" : 105, "name" : "#197", - "drilldown" : "197", - "y" : 105 + "drilldown" : "197" }, { "name" : "#198", - "y" : 119, - "drilldown" : "198" + "drilldown" : "198", + "y" : 119 }, { - "drilldown" : "199", "y" : 119, - "name" : "#199" + "name" : "#199", + "drilldown" : "199" }, { - "y" : 118, + "name" : "#200", "drilldown" : "200", - "name" : "#200" + "y" : 118 }, { + "drilldown" : "201", "name" : "#201", - "y" : 111, - "drilldown" : "201" + "y" : 111 }, { - "name" : "#202", + "y" : 103, "drilldown" : "202", - "y" : 103 + "name" : "#202" }, { - "drilldown" : "203", "y" : 98, + "drilldown" : "203", "name" : "#203" }, { @@ -1032,18 +1041,18 @@ }, { "name" : "#205", - "y" : 120, - "drilldown" : "205" + "drilldown" : "205", + "y" : 120 }, { "name" : "#206", - "y" : 113, - "drilldown" : "206" + "drilldown" : "206", + "y" : 113 }, { + "drilldown" : "207", "name" : "#207", - "y" : 120, - "drilldown" : "207" + "y" : 120 }, { "y" : 117, @@ -1051,38 +1060,38 @@ "name" : "#208" }, { + "y" : 107, "name" : "#209", - "drilldown" : "209", - "y" : 107 + "drilldown" : "209" }, { - "name" : "#210", "y" : 97, + "name" : "#210", "drilldown" : "210" }, { "drilldown" : "211", - "y" : 111, - "name" : "#211" + "name" : "#211", + "y" : 111 }, { -