add halo-rasterizer option for text symbolizer

- closes #1298
  - allows for much faster halo drawing and simliar quality for
    radius values in the 1-2 px range
  - also moves grid_renderer away from using freetype stroker completely
    since halo quality is not critical for this renderer
This commit is contained in:
Dane Springmeyer 2013-03-08 20:32:39 -08:00
parent e5fd3675fa
commit e66d007627
67 changed files with 783 additions and 643 deletions

View file

@ -8,6 +8,9 @@ For a complete change history, see the git log.
## Future ## Future
- Added `text-halo-rasterizer` property. Set to `fast` for lower quality but faster
halo rendering (#1298)
- Added ability to access style list from map by (name,obj) in python (#1725) - Added ability to access style list from map by (name,obj) in python (#1725)
- Added `is_solid` method to python mapnik.Image and mapnik.ImageView classes (#1728) - Added `is_solid` method to python mapnik.Image and mapnik.ImageView classes (#1728)

View file

@ -340,6 +340,11 @@ void export_text_placement()
.value("CAPITALIZE",CAPITALIZE) .value("CAPITALIZE",CAPITALIZE)
; ;
enumeration_<halo_rasterizer_e>("halo_rasterizer")
.value("FULL",HALO_RASTERIZER_FULL)
.value("FAST",HALO_RASTERIZER_FAST)
;
class_<text_symbolizer>("TextSymbolizer", class_<text_symbolizer>("TextSymbolizer",
init<>()) init<>())
.def(init<expression_ptr, std::string const&, unsigned, color const&>()) .def(init<expression_ptr, std::string const&, unsigned, color const&>())
@ -363,6 +368,10 @@ void export_text_placement()
&text_symbolizer::clip, &text_symbolizer::clip,
&text_symbolizer::set_clip, &text_symbolizer::set_clip,
"Set/get the text geometry's clipping status") "Set/get the text geometry's clipping status")
.add_property("halo_rasterizer",
&text_symbolizer::get_halo_rasterizer,
&text_symbolizer::set_halo_rasterizer,
"Set/get the halo rasterizer method")
; ;

View file

@ -33,7 +33,9 @@
#include <mapnik/char_info.hpp> #include <mapnik/char_info.hpp>
#include <mapnik/pixel_position.hpp> #include <mapnik/pixel_position.hpp>
#include <mapnik/image_compositing.hpp> #include <mapnik/image_compositing.hpp>
#include <mapnik/text_symbolizer.hpp>
#include <mapnik/noncopyable.hpp> #include <mapnik/noncopyable.hpp>
#include <mapnik/value_types.hpp>
// freetype2 // freetype2
extern "C" extern "C"
@ -343,7 +345,7 @@ public:
} }
} }
stroker_ptr get_stroker() inline stroker_ptr get_stroker()
{ {
return stroker_; return stroker_;
} }
@ -362,8 +364,12 @@ struct text_renderer : private mapnik::noncopyable
FT_Glyph image; FT_Glyph image;
char_properties *properties; char_properties *properties;
glyph_t(FT_Glyph image_, char_properties *properties_) glyph_t(FT_Glyph image_, char_properties *properties_)
: image(image_), properties(properties_) {} : image(image_),
~glyph_t () { FT_Done_Glyph(image);} properties(properties_) {}
~glyph_t()
{
FT_Done_Glyph(image);
}
}; };
typedef boost::ptr_vector<glyph_t> glyphs_t; typedef boost::ptr_vector<glyph_t> glyphs_t;
@ -371,57 +377,17 @@ struct text_renderer : private mapnik::noncopyable
text_renderer (pixmap_type & pixmap, text_renderer (pixmap_type & pixmap,
face_manager<freetype_engine> & font_manager, face_manager<freetype_engine> & font_manager,
stroker & s, halo_rasterizer_e rasterizer,
composite_mode_e comp_op = src_over, composite_mode_e comp_op = src_over,
double scale_factor=1.0); double scale_factor=1.0);
box2d<double> prepare_glyphs(text_path const& path); box2d<double> prepare_glyphs(text_path const& path);
void render(pixel_position const& pos); void render(pixel_position const& pos);
void render_id(int feature_id, pixel_position const& pos, double min_radius=1.0); void render_id(mapnik::value_integer feature_id,
pixel_position const& pos);
private: private:
void render_bitmap(FT_Bitmap *bitmap, unsigned rgba, int x, int y, double opacity)
{
int x_max=x+bitmap->width;
int y_max=y+bitmap->rows;
int i,p,j,q;
for (i=x,p=0;i<x_max;++i,++p)
{
for (j=y,q=0;j<y_max;++j,++q)
{
int gray=bitmap->buffer[q*bitmap->width+p];
if (gray)
{
pixmap_.blendPixel2(i, j, rgba, gray, opacity);
}
}
}
}
void render_bitmap_id(FT_Bitmap *bitmap,int feature_id,int x,int y)
{
int x_max=x+bitmap->width;
int y_max=y+bitmap->rows;
int i,p,j,q;
for (i=x,p=0;i<x_max;++i,++p)
{
for (j=y,q=0;j<y_max;++j,++q)
{
int gray=bitmap->buffer[q*bitmap->width+p];
if (gray)
{
pixmap_.setPixel(i,j,feature_id);
//pixmap_.blendPixel2(i,j,rgba,gray,opacity_);
}
}
}
}
pixmap_type & pixmap_; pixmap_type & pixmap_;
face_manager<freetype_engine> & font_manager_; face_manager<freetype_engine> & font_manager_;
stroker & stroker_; halo_rasterizer_e rasterizer_;
glyphs_t glyphs_; glyphs_t glyphs_;
composite_mode_e comp_op_; composite_mode_e comp_op_;
double scale_factor_; double scale_factor_;

View file

@ -46,6 +46,15 @@
namespace mapnik namespace mapnik
{ {
enum halo_rasterizer_enum
{
HALO_RASTERIZER_FULL,
HALO_RASTERIZER_FAST,
halo_rasterizer_enum_MAX
};
DEFINE_ENUM(halo_rasterizer_e, halo_rasterizer_enum);
struct MAPNIK_DECL text_symbolizer : public symbolizer_base struct MAPNIK_DECL text_symbolizer : public symbolizer_base
{ {
// Note - we do not use boost::make_shared below as VC2008 and VC2010 are // Note - we do not use boost::make_shared below as VC2008 and VC2010 are
@ -100,6 +109,8 @@ struct MAPNIK_DECL text_symbolizer : public symbolizer_base
color const& get_halo_fill() const func_deprecated; color const& get_halo_fill() const func_deprecated;
void set_halo_radius(double radius); void set_halo_radius(double radius);
double get_halo_radius() const func_deprecated; double get_halo_radius() const func_deprecated;
void set_halo_rasterizer(halo_rasterizer_e rasterizer_p);
halo_rasterizer_e get_halo_rasterizer() const;
void set_label_placement(label_placement_e label_p); void set_label_placement(label_placement_e label_p);
label_placement_e get_label_placement() const func_deprecated; label_placement_e get_label_placement() const func_deprecated;
void set_vertical_alignment(vertical_alignment_e valign); void set_vertical_alignment(vertical_alignment_e valign);
@ -131,6 +142,7 @@ struct MAPNIK_DECL text_symbolizer : public symbolizer_base
bool largest_bbox_only() const; bool largest_bbox_only() const;
private: private:
text_placements_ptr placement_options_; text_placements_ptr placement_options_;
halo_rasterizer_e halo_rasterizer_;
}; };
} }

View file

@ -47,7 +47,7 @@ void agg_renderer<T>::process(shield_symbolizer const& sym,
text_renderer<T> ren(*current_buffer_, text_renderer<T> ren(*current_buffer_,
font_manager_, font_manager_,
*(font_manager_.get_stroker()), sym.get_halo_rasterizer(),
sym.comp_op(), sym.comp_op(),
scale_factor_); scale_factor_);

View file

@ -44,7 +44,7 @@ void agg_renderer<T>::process(text_symbolizer const& sym,
text_renderer<T> ren(*current_buffer_, text_renderer<T> ren(*current_buffer_,
font_manager_, font_manager_,
*(font_manager_.get_stroker()), sym.get_halo_rasterizer(),
sym.comp_op(), sym.comp_op(),
scale_factor_); scale_factor_);

View file

@ -45,6 +45,7 @@
namespace mapnik namespace mapnik
{ {
freetype_engine::freetype_engine() freetype_engine::freetype_engine()
{ {
FT_Error error = FT_Init_FreeType( &library_ ); FT_Error error = FT_Init_FreeType( &library_ );
@ -326,15 +327,124 @@ void font_face_set::get_string_info(string_info & info, UnicodeString const& ust
ubidi_close(bidi); ubidi_close(bidi);
} }
template <typename T> template <typename T>
text_renderer<T>::text_renderer (pixmap_type & pixmap, void composite_bitmap(T & pixmap,
face_manager<freetype_engine> & font_manager, FT_Bitmap *bitmap,
stroker & s, unsigned rgba,
composite_mode_e comp_op, int x,
double scale_factor) int y,
double opacity,
composite_mode_e comp_op)
{
int x_max=x+bitmap->width;
int y_max=y+bitmap->rows;
int i,p,j,q;
for (i=x,p=0;i<x_max;++i,++p)
{
for (j=y,q=0;j<y_max;++j,++q)
{
unsigned gray=bitmap->buffer[q*bitmap->width+p];
if (gray)
{
pixmap.composite_pixel(comp_op, i, j, rgba, gray, opacity);
}
}
}
}
/*
template <typename T>
void render_bitmap(T & pixmap,
FT_Bitmap *bitmap,
unsigned rgba,
int x,
int y,
double opacity)
{
int x_max=x+bitmap->width;
int y_max=y+bitmap->rows;
int i,p,j,q;
for (i=x,p=0;i<x_max;++i,++p)
{
for (j=y,q=0;j<y_max;++j,++q)
{
int gray=bitmap->buffer[q*bitmap->width+p];
if (gray)
{
pixmap_.blendPixel2(i, j, rgba, gray, opacity);
}
}
}
}
*/
template <typename T>
void render_halo(T & pixmap,
FT_Bitmap *bitmap,
unsigned rgba,
int x,
int y,
int halo_radius,
double opacity)
{
int x_max=x+bitmap->width;
int y_max=y+bitmap->rows;
int i,p,j,q;
for (i=x,p=0;i<x_max;++i,++p)
{
for (j=y,q=0;j<y_max;++j,++q)
{
int gray = bitmap->buffer[q*bitmap->width+p];
if (gray)
{
for (int n=-halo_radius; n <=halo_radius; ++n)
for (int m=-halo_radius;m <= halo_radius; ++m)
pixmap.blendPixel2(i+m,j+n,rgba,gray,opacity);
}
}
}
}
template <typename T>
void render_halo_id(T & pixmap,
FT_Bitmap *bitmap,
mapnik::value_integer feature_id,
int x,
int y,
int halo_radius)
{
int x_max=x+bitmap->width;
int y_max=y+bitmap->rows;
int i,p,j,q;
for (i=x,p=0;i<x_max;++i,++p)
{
for (j=y,q=0;j<y_max;++j,++q)
{
int gray = bitmap->buffer[q*bitmap->width+p];
if (gray)
{
for (int n=-halo_radius; n <=halo_radius; ++n)
for (int m=-halo_radius;m <= halo_radius; ++m)
pixmap.setPixel(i+m,j+n,feature_id);
}
}
}
}
template <typename T>
text_renderer<T>::text_renderer(pixmap_type & pixmap,
face_manager<freetype_engine> & font_manager,
halo_rasterizer_e rasterizer,
composite_mode_e comp_op,
double scale_factor)
: pixmap_(pixmap), : pixmap_(pixmap),
font_manager_(font_manager), font_manager_(font_manager),
stroker_(s), rasterizer_(rasterizer),
comp_op_(comp_op), comp_op_(comp_op),
scale_factor_(scale_factor) {} scale_factor_(scale_factor) {}
@ -416,26 +526,6 @@ box2d<double> text_renderer<T>::prepare_glyphs(text_path const& path)
return box2d<double>(bbox.xMin, bbox.yMin, bbox.xMax, bbox.yMax); return box2d<double>(bbox.xMin, bbox.yMin, bbox.xMax, bbox.yMax);
} }
template <typename T>
void composite_bitmap(T & pixmap, FT_Bitmap *bitmap, unsigned rgba, int x, int y, double opacity, composite_mode_e comp_op)
{
int x_max=x+bitmap->width;
int y_max=y+bitmap->rows;
int i,p,j,q;
for (i=x,p=0;i<x_max;++i,++p)
{
for (j=y,q=0;j<y_max;++j,++q)
{
unsigned gray=bitmap->buffer[q*bitmap->width+p];
if (gray)
{
pixmap.composite_pixel(comp_op, i, j, rgba, gray, opacity);
}
}
}
}
template <typename T> template <typename T>
void text_renderer<T>::render(pixel_position const& pos) void text_renderer<T>::render(pixel_position const& pos)
{ {
@ -453,24 +543,43 @@ void text_renderer<T>::render(pixel_position const& pos)
double halo_radius = itr->properties->halo_radius * scale_factor_; double halo_radius = itr->properties->halo_radius * scale_factor_;
//make sure we've got reasonable values. //make sure we've got reasonable values.
if (halo_radius <= 0.0 || halo_radius > 1024.0) continue; if (halo_radius <= 0.0 || halo_radius > 1024.0) continue;
stroker_.init(halo_radius);
FT_Glyph g; FT_Glyph g;
error = FT_Glyph_Copy(itr->image, &g); error = FT_Glyph_Copy(itr->image, &g);
if (!error) if (!error)
{ {
FT_Glyph_Transform(g,0,&start); FT_Glyph_Transform(g,0,&start);
FT_Glyph_Stroke(&g,stroker_.get(),1); if (rasterizer_ == HALO_RASTERIZER_FULL)
error = FT_Glyph_To_Bitmap( &g,FT_RENDER_MODE_NORMAL,0,1);
if ( ! error )
{ {
stroker_ptr stk = font_manager_.get_stroker();
FT_BitmapGlyph bit = (FT_BitmapGlyph)g; stk->init(halo_radius);
composite_bitmap(pixmap_, &bit->bitmap, itr->properties->halo_fill.rgba(), FT_Glyph_Stroke(&g,stk->get(),1);
bit->left, error = FT_Glyph_To_Bitmap( &g,FT_RENDER_MODE_NORMAL,0,1);
height - bit->top, if (!error)
itr->properties->text_opacity, {
comp_op_ FT_BitmapGlyph bit = (FT_BitmapGlyph)g;
); composite_bitmap(pixmap_,
&bit->bitmap,
itr->properties->halo_fill.rgba(),
bit->left,
height - bit->top,
itr->properties->text_opacity,
comp_op_);
}
}
else
{
error = FT_Glyph_To_Bitmap( &g,FT_RENDER_MODE_NORMAL,0,1);
if (!error)
{
FT_BitmapGlyph bit = (FT_BitmapGlyph)g;
render_halo(pixmap_,
&bit->bitmap,
itr->properties->halo_fill.rgba(),
bit->left,
height - bit->top,
halo_radius,
itr->properties->text_opacity);
}
} }
} }
FT_Done_Glyph(g); FT_Done_Glyph(g);
@ -490,7 +599,9 @@ void text_renderer<T>::render(pixel_position const& pos)
// bit->left, // bit->left,
// height - bit->top, itr->properties->text_opacity); // height - bit->top, itr->properties->text_opacity);
composite_bitmap(pixmap_, &bit->bitmap, itr->properties->fill.rgba(), composite_bitmap(pixmap_,
&bit->bitmap,
itr->properties->fill.rgba(),
bit->left, bit->left,
height - bit->top, height - bit->top,
itr->properties->text_opacity, itr->properties->text_opacity,
@ -500,9 +611,9 @@ void text_renderer<T>::render(pixel_position const& pos)
} }
} }
template <typename T> template <typename T>
void text_renderer<T>::render_id(int feature_id, pixel_position const& pos, double min_radius) void text_renderer<T>::render_id(mapnik::value_integer feature_id,
pixel_position const& pos)
{ {
FT_Error error; FT_Error error;
FT_Vector start; FT_Vector start;
@ -515,22 +626,21 @@ void text_renderer<T>::render_id(int feature_id, pixel_position const& pos, doub
typename glyphs_t::iterator itr; typename glyphs_t::iterator itr;
for (itr = glyphs_.begin(); itr != glyphs_.end(); ++itr) for (itr = glyphs_.begin(); itr != glyphs_.end(); ++itr)
{ {
stroker_.init(std::max(itr->properties->halo_radius, min_radius));
FT_Glyph g; FT_Glyph g;
error = FT_Glyph_Copy(itr->image, &g); error = FT_Glyph_Copy(itr->image, &g);
if (!error) if (!error)
{ {
FT_Glyph_Transform(g,0,&start); FT_Glyph_Transform(g,0,&start);
FT_Glyph_Stroke(&g,stroker_.get(),1);
error = FT_Glyph_To_Bitmap( &g,FT_RENDER_MODE_NORMAL,0,1); error = FT_Glyph_To_Bitmap( &g,FT_RENDER_MODE_NORMAL,0,1);
//error = FT_Glyph_To_Bitmap( &g,FT_RENDER_MODE_MONO,0,1);
if ( ! error ) if ( ! error )
{ {
FT_BitmapGlyph bit = (FT_BitmapGlyph)g; FT_BitmapGlyph bit = (FT_BitmapGlyph)g;
render_bitmap_id(&bit->bitmap, feature_id, render_halo_id(pixmap_,
bit->left, &bit->bitmap,
height - bit->top); feature_id,
bit->left,
height - bit->top,
itr->properties->halo_radius);
} }
} }
FT_Done_Glyph(g); FT_Done_Glyph(g);
@ -541,11 +651,18 @@ void text_renderer<T>::render_id(int feature_id, pixel_position const& pos, doub
boost::mutex freetype_engine::mutex_; boost::mutex freetype_engine::mutex_;
#endif #endif
std::map<std::string,std::pair<int,std::string> > freetype_engine::name2file_; std::map<std::string,std::pair<int,std::string> > freetype_engine::name2file_;
template void text_renderer<image_32>::render(pixel_position const&); template text_renderer<image_32>::text_renderer(image_32&,
template text_renderer<image_32>::text_renderer(image_32&, face_manager<freetype_engine>&, stroker&, composite_mode_e, double); face_manager<freetype_engine>&,
halo_rasterizer_e,
composite_mode_e,
double);
template box2d<double>text_renderer<image_32>::prepare_glyphs(text_path const&); template box2d<double>text_renderer<image_32>::prepare_glyphs(text_path const&);
template void text_renderer<image_32>::render(pixel_position const&);
template void text_renderer<grid>::render_id(int, pixel_position const& , double ); template void text_renderer<grid>::render_id(mapnik::value_integer,
template text_renderer<grid>::text_renderer(grid&, face_manager<freetype_engine>&, stroker&, composite_mode_e, double); pixel_position const&);
template text_renderer<grid>::text_renderer(grid&,
face_manager<freetype_engine>&,
halo_rasterizer_e,
composite_mode_e, double);
template box2d<double>text_renderer<grid>::prepare_glyphs(text_path const& ); template box2d<double>text_renderer<grid>::prepare_glyphs(text_path const& );
} }

View file

@ -50,7 +50,7 @@ void grid_renderer<T>::process(shield_symbolizer const& sym,
text_renderer<T> ren(pixmap_, text_renderer<T> ren(pixmap_,
font_manager_, font_manager_,
*(font_manager_.get_stroker()), sym.get_halo_rasterizer(),
sym.comp_op(), sym.comp_op(),
scale_factor_); scale_factor_);
@ -78,7 +78,7 @@ void grid_renderer<T>::process(shield_symbolizer const& sym,
sym.comp_op()); sym.comp_op());
ren.prepare_glyphs(placements[ii]); ren.prepare_glyphs(placements[ii]);
ren.render_id(feature.id(), placements[ii].center, 2); ren.render_id(feature.id(), placements[ii].center);
} }
} }
if (placement_found) if (placement_found)

View file

@ -43,7 +43,7 @@ void grid_renderer<T>::process(text_symbolizer const& sym,
text_renderer<T> ren(pixmap_, text_renderer<T> ren(pixmap_,
font_manager_, font_manager_,
*(font_manager_.get_stroker()), sym.get_halo_rasterizer(),
sym.comp_op(), sym.comp_op(),
scale_factor_); scale_factor_);
@ -53,7 +53,7 @@ void grid_renderer<T>::process(text_symbolizer const& sym,
for (unsigned int ii = 0; ii < placements.size(); ++ii) for (unsigned int ii = 0; ii < placements.size(); ++ii)
{ {
ren.prepare_glyphs(placements[ii]); ren.prepare_glyphs(placements[ii]);
ren.render_id(feature.id(), placements[ii].center, 2); ren.render_id(feature.id(), placements[ii].center);
} }
} }
if (placement_found) pixmap_.add_feature(feature); if (placement_found) pixmap_.add_feature(feature);

View file

@ -1159,6 +1159,9 @@ void map_parser::parse_text_symbolizer(rule & rule, xml_node const& sym)
text_symbolizer text_symbol = text_symbolizer(placement_finder); text_symbolizer text_symbol = text_symbolizer(placement_finder);
parse_symbolizer_base(text_symbol, sym); parse_symbolizer_base(text_symbol, sym);
optional<halo_rasterizer_e> halo_rasterizer = sym.get_opt_attr<halo_rasterizer_e>("halo-rasterizer");
if (halo_rasterizer) text_symbol.set_halo_rasterizer(*halo_rasterizer);
rule.append(text_symbol); rule.append(text_symbol);
} }
catch (const config_error & ex) catch (const config_error & ex)

View file

@ -254,6 +254,11 @@ public:
add_font_attributes( sym_node, sym); add_font_attributes( sym_node, sym);
serialize_symbolizer_base(sym_node, sym); serialize_symbolizer_base(sym_node, sym);
text_symbolizer dfl;
if (sym.get_halo_rasterizer() != dfl.get_halo_rasterizer() || explicit_defaults_)
{
set_attr(sym_node, "halo-rasterizer", sym.get_halo_rasterizer());
}
} }
void operator () ( building_symbolizer const& sym ) void operator () ( building_symbolizer const& sym )

View file

@ -34,6 +34,15 @@
namespace mapnik namespace mapnik
{ {
static const char * halo_rasterizer_strings[] = {
"full",
"fast",
""
};
IMPLEMENT_ENUM( halo_rasterizer_e, halo_rasterizer_strings )
static const char * label_placement_strings[] = { static const char * label_placement_strings[] = {
"point", "point",
"line", "line",
@ -92,7 +101,8 @@ IMPLEMENT_ENUM( text_transform_e, text_transform_strings )
text_symbolizer::text_symbolizer(text_placements_ptr placements) text_symbolizer::text_symbolizer(text_placements_ptr placements)
: symbolizer_base(), : symbolizer_base(),
placement_options_(placements) placement_options_(placements),
halo_rasterizer_(HALO_RASTERIZER_FULL)
{ {
} }
@ -101,7 +111,8 @@ text_symbolizer::text_symbolizer(expression_ptr name, std::string const& face_na
float size, color const& fill, float size, color const& fill,
text_placements_ptr placements) text_placements_ptr placements)
: symbolizer_base(), : symbolizer_base(),
placement_options_(placements) placement_options_(placements),
halo_rasterizer_(HALO_RASTERIZER_FULL)
{ {
set_name(name); set_name(name);
set_face_name(face_name); set_face_name(face_name);
@ -112,7 +123,8 @@ text_symbolizer::text_symbolizer(expression_ptr name, std::string const& face_na
text_symbolizer::text_symbolizer(expression_ptr name, float size, color const& fill, text_symbolizer::text_symbolizer(expression_ptr name, float size, color const& fill,
text_placements_ptr placements) text_placements_ptr placements)
: symbolizer_base(), : symbolizer_base(),
placement_options_(placements) placement_options_(placements),
halo_rasterizer_(HALO_RASTERIZER_FULL)
{ {
set_name(name); set_name(name);
set_text_size(size); set_text_size(size);
@ -121,7 +133,9 @@ text_symbolizer::text_symbolizer(expression_ptr name, float size, color const& f
text_symbolizer::text_symbolizer(text_symbolizer const& rhs) text_symbolizer::text_symbolizer(text_symbolizer const& rhs)
: symbolizer_base(rhs), : symbolizer_base(rhs),
placement_options_(rhs.placement_options_) /*TODO: Copy options! */ placement_options_(rhs.placement_options_),
halo_rasterizer_(rhs.halo_rasterizer_)
/*TODO: Copy options! */
{ {
} }
@ -130,9 +144,7 @@ text_symbolizer& text_symbolizer::operator=(text_symbolizer const& other)
if (this == &other) if (this == &other)
return *this; return *this;
placement_options_ = other.placement_options_; /*TODO: Copy options? */ placement_options_ = other.placement_options_; /*TODO: Copy options? */
halo_rasterizer_ = other.halo_rasterizer_;
MAPNIK_LOG_DEBUG(text_symbolizer) << "text_symbolizer: TODO - Metawriter (text_symbolizer::operator=)";
return *this; return *this;
} }
@ -338,6 +350,16 @@ double text_symbolizer::get_halo_radius() const
return placement_options_->defaults.format.halo_radius; return placement_options_->defaults.format.halo_radius;
} }
void text_symbolizer::set_halo_rasterizer(halo_rasterizer_e rasterizer_p)
{
halo_rasterizer_ = rasterizer_p;
}
halo_rasterizer_e text_symbolizer::get_halo_rasterizer() const
{
return halo_rasterizer_;
}
void text_symbolizer::set_label_placement(label_placement_e label_p) void text_symbolizer::set_label_placement(label_placement_e label_p)
{ {
placement_options_->defaults.label_placement = label_p; placement_options_->defaults.label_placement = label_p;

View file

@ -400,6 +400,7 @@ compile_get_opt_attr(label_placement_e);
compile_get_opt_attr(vertical_alignment_e); compile_get_opt_attr(vertical_alignment_e);
compile_get_opt_attr(horizontal_alignment_e); compile_get_opt_attr(horizontal_alignment_e);
compile_get_opt_attr(justify_alignment_e); compile_get_opt_attr(justify_alignment_e);
compile_get_opt_attr(halo_rasterizer_e);
compile_get_opt_attr(expression_ptr); compile_get_opt_attr(expression_ptr);
compile_get_attr(std::string); compile_get_attr(std::string);
compile_get_attr(filter_mode_e); compile_get_attr(filter_mode_e);

View file

@ -87,6 +87,7 @@ def test_text_symbolizer():
s = mapnik.TextSymbolizer() s = mapnik.TextSymbolizer()
eq_(s.comp_op,mapnik.CompositeOp.src_over) eq_(s.comp_op,mapnik.CompositeOp.src_over)
eq_(s.clip,True) eq_(s.clip,True)
eq_(s.halo_rasterizer,mapnik.halo_rasterizer.FULL)
# https://github.com/mapnik/mapnik/issues/1420 # https://github.com/mapnik/mapnik/issues/1420
eq_(s.text_transform, mapnik.text_transform.NONE) eq_(s.text_transform, mapnik.text_transform.NONE)

View file

@ -21,13 +21,13 @@
" !!!!! ", " !!!!! ",
" !!!!! ", " !!!!! ",
" !!!! ", " !!!! ",
" ! ! ", " !!! ",
" !!! ",
" !!! ", " !!! ",
" !!!! ", " !!!! ",
" !!!!! ",
" !!!!!!! ",
" !!!!!! ", " !!!!!! ",
" !!!!! ", " !!!! ",
" !! ! ",
" ! !!! ", " ! !!! ",
" !!!! ", " !!!! ",
" !!!!! ", " !!!!! ",
@ -42,7 +42,7 @@
" !!!! ", " !!!! ",
" !! ", " !! ",
" ", " ",
" !!! ", " !!!! ",
" !!!! ", " !!!! ",
" !!!! ", " !!!! ",
" !!!! ", " !!!! ",
@ -59,51 +59,51 @@
" !!! ", " !!! ",
" !!!! ", " !!!! ",
" !!!! ", " !!!! ",
" ", " ! ",
" !! ", " !! ",
" !!!! ", " !!!! ",
" !!!! ", " !!!! ",
" !!! ", " !!!! ",
" !!!! ", " !!!! ",
" !!!! ", " !!!! ",
" !!!! ", " !!!! ",
" ! ! ", " !!! ",
" ! ", " ! ",
" !!! ", " !!! ",
" !!!! ", " !!!! ",
" !!!! ", " !!!! ",
" !!! ", " !!! ",
" !!! ", " !!!! ",
" !!!! ", " !!!! ",
" !!!! ", " !!!! ",
" !!! ", " !!! ",
" ", " ",
" !! ", " !! ",
" !!! ", " !!! ",
" !!! ", " !!!! ",
" !!!! ", " !!!! ",
" !!! ", " !!! ",
" !!!! ", " !!!! ",
" !!! ", " !!! ",
" ! ! ", " ! ! ! ",
" !! ", " !! ",
" !!!! ", " !!!! ",
" !!!!! ", " !!!!! ",
" !!!!! ", " !!!!!! ",
" !!!! ", " !!!! ",
" !! ! !! ", " !! ! !! ",
" !!!! ", " !!!! ",
" !!!!! ", " !!!!! ",
" !!!!!! ", " !!!!!!!! ",
" !!!! ", " !!!!!! ",
" !!! !!! ", " !! !!! ",
" !!!!!! ", " !!!!!! ",
" !!!!!!! ", " !!!!!!!! ",
" !!!!!! ! ", " !!!!!! !! ",
" !! !!!! ", " !!! !!!! ",
" !!!!! ! ", " !!!!! !! ",
" !!!!!!!! ", " !!!!!!!! ",
" !!!!!! ", " !!!!!! ",
" !! " " !!! "
] ]
} }

View file

@ -27,10 +27,10 @@
" ", " ",
" ", " ",
" ! # $ % & ' ( ) * + ", " ! # $ % & ' ( ) * + ",
" ! ", " ",
" ! ## $$$$ %%%%% &&&&& '''''' ((((((((( )))))))))) *********** ++++++++++ ", " # $$$ %%% &&&& ''''' (( ( )) ) ))) ** *** ++ + ",
" $ % % &&&&& ''''' ((((((((( ))))))))) ********** ++++++++++ ", " ' ((((((( )) ))))) * * * + + ++++ ",
" )) ** * ++++++++++ ", " ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -27,14 +27,14 @@
" ", " ",
" ", " ",
" ! # $ % & ' ( ) * + ", " ! # $ % & ' ( ) * + ",
" $ & * ", " ",
"!!!!!!! !!!! !! $$$$$ $$$ $$$$$$$$$$ &&&&&&&&&&&&& &&& ((((((((( ((((((((((( ********* ******** ", "! ! $$$ $ $ &&& & && ((( ( ** ",
"!!!!!!!!!!!!!!! $$$$$$$$$$$$$$$$$$$$ &&&&&&&&&&&&&&&& (((((((((((((((((((( ******** ********* ", " !!! ! !!! ! $$ $ $ $$$ $$$ &&& & &&& & ( ((( ( ((((( ( * * * *** ",
"!!!!!!!!!!!!!!! $$$$$$$$$$$$$$$$$$$$ &&&&&&&& &&&&&&& (((((((((((((((((((( ******** ********* ", " ! !! !!! $$ $ $ $$$ $ $ & && && & ( ( (( (( ((( ( * * ** ",
" !!!!!! !!!!!!! $$$$$$$$$$$$$$$$$$$$ &&&&&&&&&&& & && ( (((((((((((((((((( ****** *********** ", " ",
" !!!!!!!!!!! $$$$$$$$$$$$ &&&&&&&&&&& ((((((((((((( *********** ", " !!!! !!! $$$$$$$$$ $ &&&&&&&& (((((((((( ******** ",
" !!!!!!!!!!! $$$$$$$$$$$$$ &&&&&&&&&&& ((((((((((((( *********** ", " !!!!!!! $$$$$$$$$ &&&& & (((((( ( ( ***** **** ",
" ! $ $ & * ", " ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -27,14 +27,14 @@
" ", " ",
" ", " ",
" ! # $ % & ' ( ) * + ", " ! # $ % & ' ( ) * + ",
" $ & * ", " ",
"!!!!!!! !!!! !! $$$$$ $$$ $$$$$$$$$$ &&&&&&&&&&&&& &&& ((((((((( ((((((((((( ********* ******** ", "! ! $$$ $ $ &&& & && ((( ( ** ",
"!!!!!!!!!!!!!!! $$$$$$$$$$$$$$$$$$$$ &&&&&&&&&&&&&&&& (((((((((((((((((((( ******** ********* ", " !!! ! !!! ! $$ $ $ $$$ $$$ &&& & &&& & ( ((( ( ((((( ( * * * *** ",
"!!!!!!!!!!!!!!! $$$$$$$$$$$$$$$$$$$$ &&&&&&&& &&&&&&& (((((((((((((((((((( ******** ********* ", " ! !! !!! $$ $ $ $$$ $ $ & && && & ( ( (( (( ((( ( * * ** ",
" !!!!!! !!!!!!! $$$$$$$$$$$$$$$$$$$$ &&&&&&&&&&& & && ( (((((((((((((((((( ****** *********** ", " ",
" !!!!!!!!!!! $$$$$$$$$$$$ &&&&&&&&&&& ((((((((((((( *********** ", " !!!! !!! $$$$$$$$$ $ &&&&&&&& (((((((((( ******** ",
" !!!!!!!!!!! $$$$$$$$$$$$$ &&&&&&&&&&& ((((((((((((( *********** ", " !!!!!!! $$$$$$$$$ &&&& & (((((( ( ( ***** **** ",
" ! $ $ & * ", " ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -27,11 +27,11 @@
" ", " ",
" ", " ",
" ! # $ % & ' ( ) * + ", " ! # $ % & ' ( ) * + ",
" $ & * ", " ",
"!!!!!!! !!!! !! $$$$$ $$$ $$$$$$$$$$ &&&&&&&&&&&&& &&& ((((((((( ((((((((((( ********* ******** ", "! ! $$$ $ $ &&& & && ((( ( ** ",
"!!!!!!!!!!!!!!! $$$$$$$$$$$$$$$$$$$$ &&&&&&&&&&&&&&&& (((((((((((((((((((( ******** ********* ", " !!! ! !!! ! $$ $ $ $$$ $$$ &&& & &&& & ( ((( ( ((((( ( * * * *** ",
"!!!!!!!!!!!!!!! $$$$$$$$$$$$$$$$$$$$ &&&&&&&& &&&&&&& (((((((((((((((((((( ******** ********* ", " ! !! !!! $$ $ $ $$$ $ $ & && && & ( ( (( (( ((( ( * * ** ",
" !!!!!! !!!!!!! $$$$$$$$$$$$$$$$$$$$ &&&&&&&& && & && ( (((((((((((((((((( ****** * ********* ", " ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -17,33 +17,33 @@
" ", " ",
" ", " ",
" ", " ",
" !! !! ! !! !!! ! !! !! ! ", " ",
" !!!!!!!!!!!! !!!!!!!!!!!!! !!!!!!!!!!!! ", " !!!!!! ! ! ! ! ! !!! !!!!!! ! ! ",
" !!!!!!!!!!!!! !!!!!!!!!!!! !!!!!!!!!!!!! ", " ! ! !!! ! !! !! ! !! ! ! !!! ! ",
" ! !! ! ! !! ! !!! ! ! ", " ",
" !!!!!!! !!!!!!! !!!!!!! ", " !! ! !! ! ! !!!! ! ",
" !!!!!!! !!!!!!! !!!!!!! ", " !!! ! ! !! !!!! ! ",
" ! ! ",
" ", " ",
" ", " ",
" ", " ",
" !! !! ! !! !! ! ", " ",
" !!!!!!!!!!!! !!!!!!!!!!!! ", " ",
" !!!!!!!!!!!!! !!!!!!!!!!!!! ", " !!!!!! ! ! !!!!!! ! ! ",
" ! !! ! ! ! !!! ! ! ", " ! ! !!! ! ! ! !!! ! ",
" !!!!!!! !!!!!!! ", " ! ",
" !!!!!!! !!!!!!! ", " !! ! !!!! ! ",
" ! ! ", " !!! ! !!!! ! ",
" ", " ",
" ", " ",
" ", " ",
" !! !! ! !! !!! ! !! !! ! ", " ",
" !!!!!!!!!!!! !!!!!!!!!!!!! !!!!!!!!!!!! ", " ",
" !!!!!!!!!!!!! !!!!!!!!!!!! !!!!!!!!!!!!! ", " !!!!!! ! ! ! ! ! !!! !!!!!! ! ! ",
" ! !! ! ! !! ! !!! ! ! ", " ! ! !!! ! !! !! ! !! ! ! !!! ! ",
" !!!!!!! !!!!!!! !!!!!!! ", " ",
" !!!!!!! !!!!!!! !!!!!!! ", " !! ! !! ! ! !!!! ! ",
" ! ! ", " !!! ! ! !! !!!! ! ",
" ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -5,9 +5,9 @@
"-400", "-400",
"-461", "-461",
"-302", "-302",
"-112",
"-115", "-115",
"-117", "-117",
"-112",
"-118" "-118"
], ],
"data": {}, "data": {},
@ -30,38 +30,38 @@
" ", " ",
" ", " ",
" ", " ",
" !! ## ", " !! ",
" !! !!!!!!!!!! ! ## ####### # ", " ! !!!!!!! # ####### ",
" !!!!!!!! !!!!!!!!!!!!! ####### ############# ", " !!!!!!! !!!!!!!!! !!! ####### ############# ",
" !!!!!!!! !!!!!!!!!!!!!! ######### ############## ", " !!!!!!!! !!!!!!!!! !!!! ## ##### ########## ### ",
" !! !!!!!!!!!!!!!!!!!!! !!!!!!! ## ####### ######## ## ####### $$$$$$ ", " !! !!!!! !!!!!!!!!!! !!!!! # ###### ######## # ##### $$$$$$ ",
" %% %% %%% !!!!!! !! ! !!!!!! ###### ## ## ##### $$ $$$ $$$ ", " %% %%% !!!! ! !! ! !!!!! ### # ## ## ##### $$ $$$ ",
" %% %%%%%%%% %% !!!!!!!! !!!!!! ##### # ####### $$ $$$$$$$$$$$ $ $$ ", " %% %%%%%%% %% !!!!!!! !! !! ##### # ## ### $$ $ $$$$$$$ $ $ ",
" % %%%%%%%%%%%%%%%%%%%% %% !!!! ! !!! ###### #### $ $$$$$$$$$$ $$$$$$$$$$$$ ", " % %%%%%%%%%% %%%%%%%% %% !!!! ! !!! #### # ### $ $$$$$$$$$ $$$$$$$ $$ $ ",
" % %%%%%%%%%%%%%%%%%% %%% % !!!!! ! ! ###### # # $ $$$$$$$$$$ $$$$$$$$$$$$ $ ", " % %%%%%%%%%%%%%%%%%% %% % !!! ! ! #### # # $ $$$$$$$$$$ $ $$$$$$$$$ $ ",
" % %%%%%%%% %%%%%%%%%% % !!!!!! ! !! ##### # # $$$$$$ $$$$$$$$ $ ", " % %%% %%% %%% %%% % !!!!! ! ! ##### # # $$$$$ $$$$$$$ $ ",
" % %%%% % %%%%%%%% !!!!! !!!!! ##### ##### $$ $$$$$ $ ", " % %%%% %%%%% % !!!!! !!!!! ### # ### $ $$$$ $ ",
" %%%%% %%%%% % !!! !!!!! #### ##### $ $$$$ $ ", " %%%%% %%%%% % !! !!!!! #### ##### $ $$$$ $ ",
" % %%%% %%% % ! ! !!! # #### $ $$$$ $ ", " % %%%% %%% % ! ! !!! # ### $ $$$ $ ",
" %%%%% %%%%% !!!! ##### $$$ $$$ $ ", " %%%% % % % !!!! # ## $$$ $$$ $ ",
" %%%%% %%% ! &&&& & & !!!!! ' ##### $$$$ $$$$$ ", " %%%%% %%% ! !! # ## $$$ $ $$ ",
" %%%% (((( ((( ((( %%%% &&&&& &&&& &&&&&&&&& !!!!! # '''''' '''''''' #### $$$$ )))))) ))))) )) $$$$$ ", " %%%% &&&& & && %%% ''''' '''' '''''''' !!!!! # (((((( (((( ((( ### $$$$ )))))) )) ) )) $$$$$ ",
" % %% (((((((((((((((((((((((((((((( !!!! &&&&&&&&&&&&&& !!! # ## '''''''''''''''' # $$$$ )))))))))))))))))))))))))) ", " % % &&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ! !! '''''''' '''' ! ! # (((((((((( (((( # $$ $ )))))))))) ))))))))))))))) ",
" % (((((((( (((( %%%%% !!!! && && & ! !!! #### ''''''''' ' ' # ### $$$$ ))))))))))) )) $$$$$ ", " % &&&&&&&& &&& %%%% !!!! ' ' ! !!! #### ( ( # ### $$$ ))))))))) ) $$ $ ",
" % %%%%% !!!! !!! #### # ### $$$$ $$$ $ ", " % %%%%% !!! !!! #### # ### $$$ $$$ $ ",
" %%% % !!! ! ! !!! ### # #### $$$$$ $$$ ", " %%% % !!! ! ! !!! ## # ### $$$$ $$$ ",
" % %% %%% !!!! !!!! #### ##### $$$$$ $$$$$ ", " % % % !!! !!!! ### # ### $$$$ $$$$$ ",
" % %%% %%% % !!! ! !!!!! ### # # #### $ $$$$$ $$$ $$ ", " % %% %% % !!! ! ! !!! ### # # ### $ $$$$$ $$ $$ ",
" % %%%% %%%%%%% !!!! ! !!!!!! #### # ###### $$$ $$$ $$$$$$$ $ ", " % %%% %%%%%% !!! ! !!!!!! ### # ###### $$$ $$$ $$$$ $ ",
" %%%%%%%%% % %%%%%%%%%% !!!! ! !!!!!! #### # ###### $ $$$$$$$$$$ $$$$$$$$$$ ", " %%%%%%%% % %%%%% % !!!! ! !!!!!! ### # ###### $ $$$$$ $ $$$$$$$$$ ",
" %%%%%%%%%%%%%%%%%%%%%%%%% % !!!!! ! ! !!!! ##### # ## #### $ $$$$$$$$$$$$$$$$ $$$$$ $ ", " % %%%%%%%%%%%%% %%%%%%%%% % !!!!! ! ! !!! ### # # ## ### $ $$$$$$$$$$$$$$$$ $$$$$ $ ",
" % %%%%%% %%%%%%%%%%%%%% !!!!!! ! ! !! ### ### # ## ## $$$$$$ $$$$$$$$$$ $$$ $ ", " % %%%%%% %%%%%%%%%%%% % ! !! ! ! ! ## ## # ## ## $$ $$$ $$$$$$$$$$ $ $ ",
" %%%%%% %%%%%%%%%%%% !!!!! ! !! !!! !!! ##### ## ## ## $$$$$$$$$$$$$$ $$ ", " %% %% %%%%%%% %%%% !!!!! !! !!! ! #### ## ## # $$$$$$$$$$$$$$ $$ ",
" %%% %%% !!!!!!!! !!!!!!! !! !!!! ######## ######### #### $$$$$ $$$$$ ", " %%% %%% !!!!!! !!!!!!! !! # ##### ######### ### $$$$$ $$$$$ ",
" !!!!! !!! !!!!!!!!! ###### ### ######### ", " !!!!! !!! !!!!!!!! ###### ### ######## ",
" !!! !!!!!!!!!! !!!!!! ### ########## ####### ", " !! !!!!!!!!!! !!!!!! ## ########## ###### ",
" !!!!!!!!!! !!!! ########## ##### ", " !!!!!! !!! ! ! ##### #### # ## ",
" !!!!!!!!! ######### ", " !!! !! ## #### ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -27,7 +27,7 @@
" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ",
" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ",
" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ",
" !!!!!!!!!!! !!!!!!!!!!! ", " ! ! ! ! ",
" ############################################# ", " ############################################# ",
" ############################################# ", " ############################################# ",
" ############################################# ", " ############################################# ",

View file

@ -6,9 +6,9 @@
"210", "210",
"208", "208",
"240", "240",
"206",
"202", "202",
"200", "200",
"206",
"204" "204"
], ],
"data": {}, "data": {},
@ -36,11 +36,11 @@
" ", " ",
" ", " ",
" ", " ",
" !!! ! ", " ",
" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ",
" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ",
" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ",
" ! ", " ",
" ", " ",
" ", " ",
" ", " ",
@ -48,7 +48,7 @@
" ########################################################################################## ", " ########################################################################################## ",
" ########################################################################################## ", " ########################################################################################## ",
" ########################################################################################## ", " ########################################################################################## ",
" ### ### ## # ", " # # # ",
" ", " ",
" ", " ",
" ", " ",
@ -58,7 +58,7 @@
" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ", " $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ",
" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ", " $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ",
" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ", " $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ",
" $$$ $$$ ", " $ $ ",
" ", " ",
" ", " ",
" ", " ",
@ -73,22 +73,22 @@
" ", " ",
" ", " ",
" ", " ",
" ' '' (((((( ", " '''''' ",
" ))))) ''''''''''''''''''' ((((((((((( ", " ((((( ))))))))))))))))))) ''''''''''' ",
" ))))))))))) ''''''''''''''''''' (((((((((((( ", " ((((((((((( ))))))))))))))))))) '''''''''''' ",
" )))))))))))) ''''''''''''''''''' ((((( ((((( ", " (((((((((((( ))))))))))))))))))) ''''' ''''' ",
" ))))) ))))) ''''''''''' ''''''' (((( (((( ", " ((((( ((((( '''' '''' ",
" ))) ))) ((( (((( ", " ((( ((( ''' '''' ",
" )))) )))) (((( ((( ", " (((( (((( '''' ''' ",
" ))) ))) (((( (((( ", " ((( ((( '''' '''' ",
" ))) ))) ((( ((( ", " ((( ((( ''' ''' ",
" )))) )))) ((( (((( ", " (((( (((( ''' '''' ",
" ))) )))) (((( (((( ", " ((( (((( '''' '''' ",
" )))) )))) (((((((((((( ", " (((( (((( '''''''''''' ",
" ))))))))))))) ((((((((((( ", " ((((((((((((( ''''''''''' ",
" ))))))))))) ******************* (((((((( ", " ((((((((((( ******************* '''''''' ",
" )))))))) ******************* ((( ", " (((((((( ******************* ''' ",
" ))) ******************* ", " ((( ******************* ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -52,7 +52,6 @@
" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ",
" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ",
" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ",
" !!!!!!!!!!! !!!!!!!!!!! ",
" ", " ",
" ", " ",
" ", " ",
@ -60,11 +59,13 @@
" ", " ",
" ", " ",
" ", " ",
" # ### # # # # # ", " ",
" ",
" ######################################################################################################################################## ", " ######################################################################################################################################## ",
" ######################################################################################################################################## ", " ######################################################################################################################################## ",
" ######################################################################################################################################## ", " ######################################################################################################################################## ",
" ##### ### ####### ## ### # #### ### ###### #### #### ## ########## ## ##### ### ", " ## ## # # ",
" ",
" ", " ",
" ", " ",
" ", " ",
@ -75,22 +76,21 @@
" ", " ",
" ", " ",
" ", " ",
" $ $$ $$ $ $$ ",
" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ", " $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ",
" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ", " $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ",
" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ", " $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ",
" $$$ $$$$$ $$$ $$ $ $$$ $$ $$$$$ $ $$$$ $$$ ", " $ $ ",
" ",
" ", " ",
" ", " ",
" ", " ",
" ", " ",
" ", " ",
" ", " ",
" %% % %% % % % %%%%%%%%% %%%%%%%%%%%%%%%% % %%%%%% %% %%%% %%%%%%%% %%%%%%%% %%% ",
" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ", " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ",
" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ", " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ",
" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ", " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ",
" %% % % %% %%% %%%%%% %%% % % % %% %% % %% %% % ", " %% %% % % ",
" ", " ",
" ", " ",
" ", " ",
@ -98,7 +98,7 @@
" &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ", " &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ",
" &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ", " &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ",
" &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ", " &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ",
" &&& &&& & && & ", " ",
" ", " ",
" ", " ",
" ", " ",
@ -108,7 +108,7 @@
" ((((((( )))))))))))))))))))))))))))) '''''''''''''' ", " ((((((( )))))))))))))))))))))))))))) '''''''''''''' ",
" ((((((((((( )))))))))))))))))))))))))))) ''''''' '''''''' ", " ((((((((((( )))))))))))))))))))))))))))) ''''''' '''''''' ",
" ((((((((((((((( )))))))))))))))))))))))))))) ''''' ''''' ", " ((((((((((((((( )))))))))))))))))))))))))))) ''''' ''''' ",
" (((((( (((((( ))))))))))))))))))) ''' ''' ", " (((((( (((((( ''' ''' ",
" (((( (((( '''' '''' ", " (((( (((( '''' '''' ",
" ((( (((( ''' ''' ", " ((( (((( ''' ''' ",
" (((( ((( '''' '''' ", " (((( ((( '''' '''' ",

View file

@ -61,7 +61,7 @@
" ", " ",
" ", " ",
" ", " ",
" !!!! !! ", " ",
" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ",
" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ",
" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ",
@ -80,8 +80,8 @@
" #################################################################################################################################################################################### ", " #################################################################################################################################################################################### ",
" #################################################################################################################################################################################### ", " #################################################################################################################################################################################### ",
" #################################################################################################################################################################################### ", " #################################################################################################################################################################################### ",
" ################## ######## ############################# ########### ############ ", " # # # # # # # # # ## # # ",
" ## ## ## # ", " ",
" ", " ",
" ", " ",
" ", " ",
@ -100,8 +100,9 @@
" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ", " $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ",
" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ", " $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ",
" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ", " $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ",
" $$$$$$$$$ $$$$$$$ $$$$$$$$$$$$$$$$$$ $$$$$$$$$$$ ", " $ $ ",
" $$ $$ ", " ",
" ",
" ", " ",
" ", " ",
" ", " ",
@ -111,22 +112,21 @@
" ", " ",
" ", " ",
" ", " ",
" %% % %% % % % %%%%%%%%% %%%%%%%%%%%%%%%% % %%%%%% %% %%%% %%%%%%%% %%%%%%%% %%% ",
" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ", " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ",
" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ", " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ",
" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ", " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ",
" %% % % %% %%% %%%%%% %%% % % % %% %% % %% %% % ", " %% %% % % ",
" ",
" ", " ",
" ", " ",
" ", " ",
" ", " ",
" ", " ",
" & & & & & & ",
" &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ", " &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ",
" &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ", " &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ",
" &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ", " &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ",
" & &&&&&&&&&&& &&&& &&& && &&&& && &&&&&&&&&& &&&& & &&& &&&& &&&& &&&&&&&&&&&&& &&&& &&& &&&&&&& & && &&&&&&&&&&&&&& ", " &&& && & & & ",
" & & & ", " ",
" ", " ",
" ", " ",
" ", " ",
@ -139,7 +139,7 @@
" ((((((( )))))))))))))))))))))))))))))))))))))) ''''''''''''''''' ", " ((((((( )))))))))))))))))))))))))))))))))))))) ''''''''''''''''' ",
" (((((((((((( )))))))))))))))))))))))))))))))))))))) '''''''' '''''''' ", " (((((((((((( )))))))))))))))))))))))))))))))))))))) '''''''' '''''''' ",
" ((((((((((((((((( )))))))))))))))))))))))))))))))))))))) '''''' '''''' ", " ((((((((((((((((( )))))))))))))))))))))))))))))))))))))) '''''' '''''' ",
" (((((((( (((((((( ))))))))))) ))))))) '''' '''' ", " (((((((( (((((((( '''' '''' ",
" (((((( (((((( '''' '''' ", " (((((( (((((( '''' '''' ",
" (((( ((((( ''' ''' ", " (((( ((((( ''' ''' ",
" (((( ((( '''' ''' ", " (((( ((( '''' ''' ",

View file

@ -27,7 +27,7 @@
" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ",
" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ",
" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ",
" !!!!!!!!!!!!!!!!!!!!!!! ", " ! ! ! ",
" ############################################# ", " ############################################# ",
" ############################################# ", " ############################################# ",
" ############################################# ", " ############################################# ",

View file

@ -36,11 +36,11 @@
" ", " ",
" ", " ",
" ", " ",
" !!! ! ", " ",
" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ",
" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ",
" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ",
" ! ! ! ", " ",
" ", " ",
" ", " ",
" ", " ",
@ -58,7 +58,7 @@
" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ", " $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ",
" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ", " $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ",
" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ", " $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ",
" $$ $$ ", " ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -52,7 +52,6 @@
" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ",
" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ",
" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ",
" !!!!!!!!!!! !!!!!!!!!!! ",
" ", " ",
" ", " ",
" ", " ",
@ -60,11 +59,13 @@
" ", " ",
" ", " ",
" ", " ",
" # ## ## # # ## ## ", " ",
" ",
" ######################################################################################################################################## ", " ######################################################################################################################################## ",
" ######################################################################################################################################## ", " ######################################################################################################################################## ",
" ######################################################################################################################################## ", " ######################################################################################################################################## ",
" ######### ### ### ######## ######## # ######### ######## ## ####### ### ######## ", " ## ## ## # ",
" ",
" ", " ",
" ", " ",
" ", " ",
@ -75,11 +76,10 @@
" ", " ",
" ", " ",
" ", " ",
" $ $$ $$$$ $ ",
" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ", " $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ",
" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ", " $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ",
" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ", " $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ",
" $$$$ $$$$ $$$$ $ $ $ $ $ $ $ $$$$ $$ $ $$ $ ", " $$ $$ ",
" ", " ",
" ", " ",
" ", " ",
@ -108,7 +108,7 @@
" ((((((( )))))))))))))))))))))))))))) '''''''''''''' ", " ((((((( )))))))))))))))))))))))))))) '''''''''''''' ",
" ((((((((((( )))))))))))))))))))))))))))) ''''''' '''''''' ", " ((((((((((( )))))))))))))))))))))))))))) ''''''' '''''''' ",
" ((((((((((((((( )))))))))))))))))))))))))))) ''''' ''''' ", " ((((((((((((((( )))))))))))))))))))))))))))) ''''' ''''' ",
" (((((( (((((( ))))))))))) ))))))) ''' ''' ", " (((((( (((((( ''' ''' ",
" (((( (((( '''' '''' ", " (((( (((( '''' '''' ",
" ((( (((( ''' ''' ", " ((( (((( ''' ''' ",
" (((( ((( '''' '''' ", " (((( ((( '''' '''' ",

View file

@ -61,7 +61,7 @@
" ", " ",
" ", " ",
" ", " ",
" !!! !! ", " ",
" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ",
" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ",
" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ",
@ -80,8 +80,8 @@
" #################################################################################################################################################################################### ", " #################################################################################################################################################################################### ",
" #################################################################################################################################################################################### ", " #################################################################################################################################################################################### ",
" #################################################################################################################################################################################### ", " #################################################################################################################################################################################### ",
" ######### ######## ######## ######## #################### ########## ############ # # ## ", " # # # # # # # # # # # ## # # ",
" ## ## ## # ", " ",
" ", " ",
" ", " ",
" ", " ",
@ -100,8 +100,9 @@
" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ", " $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ",
" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ", " $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ",
" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ", " $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ",
" $$$$$$$$$$ $$$$$$$ $$$$$$$$ $$$$$$$$$ $$$$$$$$$$$ $ $ ", " $ $ ",
" $$ $$ ", " ",
" ",
" ", " ",
" ", " ",
" ", " ",
@ -111,22 +112,21 @@
" ", " ",
" ", " ",
" ", " ",
" %%% %% % % %% % %%%% %%%%%%%%%% %%% %%%% %%%% %%%%%%%%%%% %% %%%%% %% % %%% %%%%%% ",
" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ", " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ",
" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ", " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ",
" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ", " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ",
" % % % % % %%% % %% % %% % %% % % %% % %% % % ", " %% %% % % % ",
" ",
" ", " ",
" ", " ",
" ", " ",
" ", " ",
" ", " ",
" & & & & & ",
" &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ", " &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ",
" &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ", " &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ",
" &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ", " &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ",
" &&&&&&&&&&&&&&&&&&& &&&& &&&&&&&& &&&&&&&&&&&&& &&&& &&&&&&&&&&&&&&& &&& &&&& &&&& &&&&&& & &&&& &&& & && & & && &&&&&& ", " && && & & ",
" & & ", " ",
" ", " ",
" ", " ",
" ", " ",
@ -139,7 +139,7 @@
" ((((((( )))))))))))))))))))))))))))))))))))))) ''''''''''''''''' ", " ((((((( )))))))))))))))))))))))))))))))))))))) ''''''''''''''''' ",
" (((((((((((( )))))))))))))))))))))))))))))))))))))) '''''''' '''''''' ", " (((((((((((( )))))))))))))))))))))))))))))))))))))) '''''''' '''''''' ",
" ((((((((((((((((( )))))))))))))))))))))))))))))))))))))) '''''' '''''' ", " ((((((((((((((((( )))))))))))))))))))))))))))))))))))))) '''''' '''''' ",
" (((((((( (((((((( ))))))))))))))))))) '''' '''' ", " (((((((( (((((((( '''' '''' ",
" (((((( (((((( '''' '''' ", " (((((( (((((( '''' '''' ",
" (((( ((((( ''' ''' ", " (((( ((((( ''' ''' ",
" (((( ((( '''' ''' ", " (((( ((( '''' ''' ",

View file

@ -27,7 +27,7 @@
" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ",
" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ",
" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ",
" !!!!!!!!!!! !!!!!!!!!!! ", " ! ! ! ! ",
" ############################################# ", " ############################################# ",
" ############################################# ", " ############################################# ",
" ############################################# ", " ############################################# ",

View file

@ -6,9 +6,9 @@
"210", "210",
"208", "208",
"240", "240",
"206",
"202", "202",
"200", "200",
"206",
"204" "204"
], ],
"data": {}, "data": {},
@ -36,11 +36,11 @@
" ", " ",
" ", " ",
" ", " ",
" !!! ! !!! ! !!! ! ", " ",
" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ",
" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ",
" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ",
" ! ! ! ", " ",
" ", " ",
" ", " ",
" ", " ",
@ -48,7 +48,7 @@
" ########################################################################################## ", " ########################################################################################## ",
" ########################################################################################## ", " ########################################################################################## ",
" ########################################################################################## ", " ########################################################################################## ",
" ### ### ## # ", " # # # ",
" ", " ",
" ", " ",
" ", " ",
@ -58,7 +58,7 @@
" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ", " $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ",
" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ", " $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ",
" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ", " $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ",
" $$$ $$$ ", " $ $ ",
" ", " ",
" ", " ",
" ", " ",
@ -73,22 +73,22 @@
" ", " ",
" ", " ",
" ", " ",
" ' '' (((((( ", " '''''' ",
" ))))) ''''''''''''''''''' ((((((((((( ", " ((((( ))))))))))))))))))) ''''''''''' ",
" ))))))))))) ''''''''''''''''''' (((((((((((( ", " ((((((((((( ))))))))))))))))))) '''''''''''' ",
" )))))))))))) ''''''''''''''''''' ((((( ((((( ", " (((((((((((( ))))))))))))))))))) ''''' ''''' ",
" ))))) ))))) ''''''''''' ''''''' (((( (((( ", " ((((( ((((( '''' '''' ",
" ))) ))) ((( (((( ", " ((( ((( ''' '''' ",
" )))) )))) (((( ((( ", " (((( (((( '''' ''' ",
" ))) ))) (((( (((( ", " ((( ((( '''' '''' ",
" ))) ))) ((( ((( ", " ((( ((( ''' ''' ",
" )))) )))) ((( (((( ", " (((( (((( ''' '''' ",
" ))) )))) (((( (((( ", " ((( (((( '''' '''' ",
" )))) )))) (((((((((((( ", " (((( (((( '''''''''''' ",
" ))))))))))))) ((((((((((( ", " ((((((((((((( ''''''''''' ",
" ))))))))))) ******************* (((((((( ", " ((((((((((( ******************* '''''''' ",
" )))))))) ******************* ((( ", " (((((((( ******************* ''' ",
" ))) ******************* ", " ((( ******************* ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -52,7 +52,6 @@
" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ",
" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ",
" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ",
" !!!!!!!!!!!!!!!!!!!!!!! !!!!!!!! !!!!!!!!!!!!!! !!!!!!!!!!! !!!!!!!!!!! !!!!!!!!!!! !!!!!!!!!!! ",
" ", " ",
" ", " ",
" ", " ",
@ -60,11 +59,13 @@
" ", " ",
" ", " ",
" ", " ",
" # ### # # # # # ", " ",
" ",
" ######################################################################################################################################## ", " ######################################################################################################################################## ",
" ######################################################################################################################################## ", " ######################################################################################################################################## ",
" ######################################################################################################################################## ", " ######################################################################################################################################## ",
" ##### ### ####### ## ### # #### ### ###### #### #### ## ########## ## ##### ### ", " ## ## # # ",
" ",
" ", " ",
" ", " ",
" ", " ",
@ -75,22 +76,21 @@
" ", " ",
" ", " ",
" ", " ",
" $ $$$ $$$$ $ $$ $$ $$$$ $$ ",
" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ", " $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ",
" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ", " $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ",
" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ", " $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ",
" $$$$$ $$$ $ $ $$ $$$ $$$$ $$$ $$$$ $ $ $$$ $$$$$ $$$$ $ $ $$ $$$ $ $$$$$ $$ $$$$ $ ", " $$ $$ $$ $$ ",
" ",
" ", " ",
" ", " ",
" ", " ",
" ", " ",
" ", " ",
" ", " ",
" %% % %% % % % %%%%%%%%% %%%%%%%%%%%%%%%% % %%%%%% %% %%%% %%%%%%%% %%%%%%%% %%% ",
" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ", " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ",
" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ", " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ",
" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ", " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ",
" %% % % %% %%% %%%%%% %%% % % % %% %% % %% %% % ", " %% %% % % ",
" ", " ",
" ", " ",
" ", " ",
@ -98,7 +98,7 @@
" &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ", " &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ",
" &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ", " &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ",
" &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ", " &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ",
" &&& &&& & && & ", " ",
" ", " ",
" ", " ",
" ", " ",
@ -108,7 +108,7 @@
" ((((((( )))))))))))))))))))))))))))) '''''''''''''' ", " ((((((( )))))))))))))))))))))))))))) '''''''''''''' ",
" ((((((((((( )))))))))))))))))))))))))))) ''''''' '''''''' ", " ((((((((((( )))))))))))))))))))))))))))) ''''''' '''''''' ",
" ((((((((((((((( )))))))))))))))))))))))))))) ''''' ''''' ", " ((((((((((((((( )))))))))))))))))))))))))))) ''''' ''''' ",
" (((((( (((((( ))))))))))))))))))) ''' ''' ", " (((((( (((((( ''' ''' ",
" (((( (((( '''' '''' ", " (((( (((( '''' '''' ",
" ((( (((( ''' ''' ", " ((( (((( ''' ''' ",
" (((( ((( '''' '''' ", " (((( ((( '''' '''' ",

View file

@ -61,7 +61,7 @@
" ", " ",
" ", " ",
" ", " ",
" !!!! !! !!!! !! !!!! !! !!!! !! !!!! !! !!!! !! ", " ",
" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ",
" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ",
" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ",
@ -80,8 +80,8 @@
" #################################################################################################################################################################################### ", " #################################################################################################################################################################################### ",
" #################################################################################################################################################################################### ", " #################################################################################################################################################################################### ",
" #################################################################################################################################################################################### ", " #################################################################################################################################################################################### ",
" ################## ######## ############################# ########### ############ ################## ######## ############################# ########### ############ ", " # # # # # # # # ## # # # # # # # # # # # ## # # ",
" ## ## ## # ## ## ## # ", " ",
" ", " ",
" ", " ",
" ", " ",
@ -100,8 +100,9 @@
" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ", " $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ",
" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ", " $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ",
" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ", " $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ",
" $$$$$$$$$ $$$$$$$ $$$$$$$$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$ $$$$$$$ $$$$$$$$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$ $$$$$$$ $$$$$$$$$$$$$$$$$$ $$$$$$$$$$$ ", " $ $ $ $ $ $ ",
" $$ $$ $$ $$ $$ $$ ", " ",
" ",
" ", " ",
" ", " ",
" ", " ",
@ -111,22 +112,21 @@
" ", " ",
" ", " ",
" ", " ",
" %% % %% % % % %%%%%%%%% %%%%%%%%%%%%%%%% % %%%%%% %% %%%% %%%%%%%% %%%%%%%% %%% ",
" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ", " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ",
" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ", " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ",
" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ", " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ",
" %% % % %% %%% %%%%%% %%% % % % %% %% % %% %% % ", " %% %% % % ",
" ",
" ", " ",
" ", " ",
" ", " ",
" ", " ",
" ", " ",
" & & & & & & ",
" &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ", " &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ",
" &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ", " &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ",
" &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ", " &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ",
" & &&&&&&&&&&& &&&& &&& && &&&& && &&&&&&&&&& &&&& & &&& &&&& &&&& &&&&&&&&&&&&& &&&& &&& &&&&&&& & && &&&&&&&&&&&&&& ", " &&& && & & & ",
" & & & ", " ",
" ", " ",
" ", " ",
" ", " ",
@ -139,7 +139,7 @@
" ((((((( )))))))))))))))))))))))))))))))))))))) ''''''''''''''''' ", " ((((((( )))))))))))))))))))))))))))))))))))))) ''''''''''''''''' ",
" (((((((((((( )))))))))))))))))))))))))))))))))))))) '''''''' '''''''' ", " (((((((((((( )))))))))))))))))))))))))))))))))))))) '''''''' '''''''' ",
" ((((((((((((((((( )))))))))))))))))))))))))))))))))))))) '''''' '''''' ", " ((((((((((((((((( )))))))))))))))))))))))))))))))))))))) '''''' '''''' ",
" (((((((( (((((((( ))))))))))) ))))))) '''' '''' ", " (((((((( (((((((( '''' '''' ",
" (((((( (((((( '''' '''' ", " (((((( (((((( '''' '''' ",
" (((( ((((( ''' ''' ", " (((( ((((( ''' ''' ",
" (((( ((( '''' ''' ", " (((( ((( '''' ''' ",
@ -150,19 +150,19 @@
" (((( (((( ''' ''' ", " (((( (((( ''' ''' ",
" ((( ((( '''' '''' ", " ((( ((( '''' '''' ",
" (((( (((( '''' ''' ", " (((( (((( '''' ''' ",
" (((( (((( ''' '''' ", " (((( ((( ''' '''' ",
" ((( ((((( '''' '''' ", " ((( (((( '''' '''' ",
" (((( (((( '''' '''' ", " (((( ((( '''' '''' ",
" ((( (((( ''' '''' ", " ((( (((( ''' '''' ",
" ((( (((( '''' '''' ", " ((( (((( '''' '''' ",
" ((((( (((( '''''' '''''' ", " (((( (((( '''''' '''''' ",
" ((((( ((((( '''''''' ''''''' ", " (((( (((( '''''''' ''''''' ",
" (((((( (((((( ''''''''''''''''' ", " (((((( ((((( ''''''''''''''''' ",
" ((((((((( (((((((( ''''''''''''' ", " (((((((( (((((((( ''''''''''''' ",
" (((((((((((((((((( '''''''' ", " (((((((((((((((((( '''''''' ",
" ( (((((((((((( ************************************** ''' ", " (((((((((((( ************************************** ''' ",
" (((((((((( ************************************** ", " (((((((( ************************************** ",
" (((( ************************************** ", " ((( ************************************** ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -22,16 +22,16 @@
" ", " ",
" ", " ",
" ", " ",
"!!! ### $$$ %%% &&& ", " ",
"!!! #### $$$ %%%% &&&& ", "! ! # $ % % & ",
"!!!! #### $$$$ %%% &&&& ", "!!! ## $$$ %%% &&& ",
"! # # $ $ % & & ", " ",
" ! ' # ( $ ) % * & +", " ! ' # ( $ ) % * & +",
" ", " ",
" '' ( ) * ++", " ",
" '' (( )) ** +++", " '' ( ) ** ++",
" '' (( )) ** +++", " ' (( )) ** ++",
" ) ", " ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -1,13 +1,13 @@
{ {
"keys": [ "keys": [
"", "",
"-1",
"-2",
"-4", "-4",
"-6", "-6",
"-7", "-7",
"-8", "-8",
"-9", "-9",
"-2",
"-1",
"-3", "-3",
"-5", "-5",
"-10" "-10"
@ -22,17 +22,17 @@
" ", " ",
" ", " ",
" ", " ",
" !!! ## $$ $ %%%&&& ''' ((( ",
"!!!!####$$$$$$$$$$$%%%%&&&&'''(((( ",
"!!!!####$$$$$$$$$$$%%%%&&& '''(((( ",
" ! # $$ $ %% ' ' ( ",
" ! # ) $ * % & ' ( + ",
" ", " ",
"))) ) ) ) ++ ", " !!!!!!!!! # $ % % && ",
")))))))))))))))))))) ++++", " '' !! ! !! ###$$$ %% & ",
" ))))))) ))))))))))) ++++", " ",
" ))))))))))))))))))) + ", " ( ' ) ! * # $ % & + ",
" ) ) ) ) ", " ",
" ",
" ) ) +++",
" ))))) ) )))) ++ ",
" ) ))))) )) )))) ",
" ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -22,17 +22,17 @@
" ", " ",
" ", " ",
" ", " ",
" !!! ## # # $$$ $$ %%% && & ", " ",
" !!! ############# $$$$$$$$$$$%%%%%%%%%%%%%%&&&&&&&&&&& ", " ! ! ### #### # $$ $$$$ $ %% %% %%%%%% &&& &&& & ",
" !!! ############ $$$$$$$$$$ %%%%%%%%%%%%%&&&&&&&&&&& ", " !! # ## $$$$ $$$ %%%% %% %% & & & ",
" ! ## # # $ $ % % % && & ", " ",
" ! ' # ( $ ) % * & + ", " ! ' # ( $ ) % * & + ",
" ", " ",
" '''' ' ' ( ))) ) ) * +++ ", " ",
" ''''''''''''''''' (( ))))))))) )))))) ** ++++ ", " ' ' ( ) ) * ",
" '''''''' ''''''' ((( )))))))))))))) *** ++++ ", " ''' ' ' '' ' (( ) ))) ) ) ))) * ",
" '''''''' ''''''' ))))))))))))))) * + ", " '''''' ' '' '' ) )))))) ))))) ",
" ' ' ' ))) ) ", " ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -22,17 +22,17 @@
" ", " ",
" ", " ",
" ", " ",
"! ! ## ## $$ $$ %%% % &&& & & ", " ",
"!!!!!!!!!! ############# $$$$$$$$$$ %%%%%%%%%%%%%% &&&&&&&&&&&& ", " !!! !!!! ### #### # $$$$$$$$ % %%% %%%%%% & &&& &&&& ",
"!!!!!!!!!! ############# $$$$$$$$$$ %%%%%%%%%%%%% &&&&&&&&&&& ", " ! !! # ### $$ $ %%% % % % &&& & & & ",
" !! ! ! ## # $$ $ % % % & & ", " ",
" ! ' # ( $ ) % * & + ", " ! ' # ( $ ) % * & + ",
" ", " ",
" ''' ' ' ( ))) ) )) * + + ", " ",
" ''''''''''''''''' (( ))))))))))))))) *** ++++ ", " ' ' ' ( ) ) ",
" '''''''''''''''' ((( )))))))))))))) *** ++++ ", " ' ''' ' ''' ' ( ) ))) ) ) ) * ",
" '''''''' ''''''' )))))))))))))) * + ", " ' '''''' ' '' '' ) ))))) )) )) ",
" ''' ' ))) ) ", " ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -22,17 +22,17 @@
" ", " ",
" ", " ",
" ", " ",
"!! ## ## $$ $$ %% % && & & '''' ", " ",
"!!!!!!!!!!! ############# $$$$$$$$$$$ %%%%%%%%%%%%%% &&&&&&&&&&&& ''''' ", " !!!!! !! # ######## $$ $$$$ $ %%% %%% %%% &&& &&& & ' ''' ",
"!!!!!!!!!!! ############# $$$$$$$$$$ %%%%%%%%%%%%% &&&&&&&&&&& ''''' ", " !! ! ! ### # ## # $$ $ $$$ % % % %% & & && ''''' ",
" !! ! ! # ## $ $ %% %% % && ' ", " ",
" ! ( # ) $ * % + & ' ", " ! ( # ) $ * % + & ' ",
" ", " ",
" ((( ( ( ))) ) )) *** * ** ++++ + ++ + + ", " ",
" ((((((((((((((((( ))))))))))))))))))) *************** +++++++++ ++++++++++ ", " ( ( ) * + ",
" (((((((((((((((( )))))))) )))))))) ******* ****** ++++++++ ++++++++++ ", " ( ((( ( (((( ( ))))) )))) ***** * * ++ + ++ + ++ ",
" (((((((((((((((( ))))))))))))))))) ************** ++++++++ ++++++++++ ", " ( ((((( (( ((( ))))) ) ))))) * ***** ** * ++++ + ++ +++ + ",
" ( ( ( ) ) ) ) * * * + + + +++ ", " + ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -22,17 +22,17 @@
" ", " ",
" ", " ",
" ", " ",
" !! ! ### ## $$ $ %% % % && ", " ",
" !!!!!!!!!!! ############ $$$$$$$$$$ %%%%%%%%%%%% &&&&&&&&&& ", " ! !!! !! ! ## #### # $$ $$$ $ %%% %%%%%% &&& &&& ",
" !!!!!!!!!! ########## $$$$$$$$$ %%%%%%%%%%%% &&&&&&&&&& ", " !! ! !!! #### ## # $$ $ $$$ % %%%%% & && ",
" !! ! # # $ $ %% % %% && & ", " % ",
" ' ! ( # ) $ * % + & ", " ' ! ( # ) $ * % + & ",
" ", " ",
"''' ' ((( ( (( )))) ) ))) **** * +++ + + ", " ",
"'''''''' ''''''' (((((((((((((((((((( ))))))))) ))) ))) ********* *********** ++++++++++++++++++ ", " ' ( ( ( ) * + ",
"'''''''' '''''''' ((((((((((((((((((( )))))))) ))))))) ******************** +++++++ +++++++++ ", " ''''' ' ' ''' ( ((( ( ( ((((( )) ) ) )) *** * * *** ***** +++++ +++ +++ ",
"'''''''' '''''''' ((((((((((((((((((( )))))))) ))))))) ******************** +++++++++++++++++ ", " '''' ' ''' ''' ( ((((( (( ((((( )))) ) ) ) )) ****** **** * ** * + +++++ +++ ++ ",
" ' ' ' ' ( ( ( ( ) ) )) * * * * * + + + ", " ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -28,11 +28,11 @@
" ", " ",
" ! # $ % & ' ( ) * + ", " ! # $ % & ' ( ) * + ",
" ", " ",
" !!! ! ### # # $$$$ $ $$$ %%% % %% &&& & && ''' ' '' ((( ( )))) ) )) ) ) **** * ** ++++ + + ", " ",
" !!!!!!!!!!!!!!!!! ################# $$$$$$$$$ $$$$$$$$$$ %%%%%%%%%%%%%%%%%%% &&&&&&&&&&&&&&&&& ''''''''''''''' (((((((((((((((((((())))))))) )))))))))) ********* ******** ++++++++++++++++ ", " ! ! # # $ $ % & & & ' ( ) * + + ",
" !!!!!!!!!!!!!!!! ################ $$$$$$$$ $$$$$$$$$$$ %%%%%%%% %%%%%%%% &&&&&&&&&&&&&&&& ''''''' '''''' ((((((( (((((((((((()))))))) )))))))))) ******** ********* ++++++++ ++++++ ", " ! !!! ! !!!!!! # ### # #### # $$$$$ $ $$ $$$$ %%%%% %%%% & &&& & &&&&&& ''''' ' ' ((((( ((((((((( )) ) )) ) )) *** * * *** +++ + ++++++ ",
" !!!!!!!!!!!!!!!! ################ $$$$$$$$ $$$$$$$$$$$ %%%%%%%%%%%%%%%%% &&&&&&&&&&&&&&&& '''''''''''''' (((((((((((((((((((()))))))) )))))))))) ******** ********* ++++++++ ++++++ ", " ! !!!!! !!!!!!! # ##### ## ### $$$$ $ $$ $$ $$$$ %%%%% % %%%%% & &&&&& && &&& ' ''''' '' ' ( ((((( (( ((( ((( )))) ) )) ))) ) ****** * *** ++++++ + ++ + ",
" ! ! ! ! # # # $ $ $ $ % % % % &&& & ' ' ' ( ( ( ( ( ) ) ) ))) * * * + + + ", " ) ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -30,21 +30,21 @@
" ", " ",
" ", " ",
" ", " ",
" !! ", " ! ",
" !!! ", " ! ",
" ! !! ",
" !!!!!!!!! ",
" !!!!!!!!!! ",
" !! ",
" ", " ",
" !! ! ! ! ",
" ! ! ! ",
" ",
" ",
" ! ",
" ",
" ! ! ",
" ",
" ! ",
" !!! ",
" !!!! ", " !!!! ",
" !!!!! ", " !! ",
" !!!!! ",
" !!! !!! ",
" ! !!! ",
" !!!!!!!! ",
" !!!!!!!! ",
" !!!!!! ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -20,20 +20,20 @@
" ", " ",
" ", " ",
" ", " ",
" !!! ", " ",
" !!! ", " ! ",
" !!! ", " ! ",
" ### !!! ", " # ! ! ",
" ### ", " ## ",
" $$$ %%%% ##### &&& ''' !!! ((((((((( )))) ", " $$$ % ##### &&& ' ' ! ! ( (((( ) ",
" $$$ %%% **** +++ ### &&& ''' !!! ((((((( )) ", " $ % % * + ### && '' ! ( ( ( )) ",
" $$$ %%% *** +++ &&& ''' !!! (((((((( ))) ", " $ %% ** + & ' ! (( ( (( )) ",
" $$$ %%%% ** ++++ &&& ''' !!! ((((((((( )))) ", " $ ** ++++ & ( ",
" **** +++ ", " * + + ",
" !!! ",
" !! ",
" !!! ",
" ! ! ", " ! ! ",
" ! ",
" ! ",
" ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -20,20 +20,20 @@
" ", " ",
" ", " ",
" ", " ",
" !!! ", " ",
" !!! ", " ! ",
" !!! ", " ! ",
" ### !!!! ",
" ### ",
" $$$ %%% & #### ''' (((( !!! ))))))))) **** ",
" $$$ %%%% &&& +++ #### ''' ((( !!! ))))))) ** ",
" $$$ %%% &&& +++ ''' ((( !!! )))))))) *** ",
" $$$$ %%%% &&& ++++ '''' (((( !!!! ))))))))) **** ",
" &&& ++++ ",
" !!! ",
" !! ",
" !!! ",
" ! ! ", " ! ! ",
" ## ",
" $$$ % % & #### ' ' ( ! ! ) )))) * ",
" $ % % & + ## '' ( ( ! ) ) ) ** ",
" $$ %% & ++ '' (( !! )) )))) ** ",
" $ & ++++ ) ",
" & & ++ ",
" ! ",
" ! ",
" ! ",
" ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -20,20 +20,20 @@
" ", " ",
" ", " ",
" ", " ",
" !!! ", " ",
" !!! ",
" !!! ",
" ### !!!! ",
" ### ",
" $$$$ %%% & #### ''' ((( !!! )))))))) *** ",
" $$$ %%% &&& ++++ ### ''' ((( !!! )))))))) *** ",
" $$$ %%% &&& ++++ ''' ((( !!! )))))))) *** ",
" $$$$ %%% &&& ++++ ''' ((( !!!! ) )))) ) *** ",
" &&& ++++ ",
" !!! ",
" !! ", " !! ",
" !!! ", " ! ",
" ! ! ", " # ! ! ",
" ## ",
" $$$ % % & #### ''' ((( !!! ) )) ) ) *** ",
" $ %% & + ### '' (( ! ) )) ) * ",
" $$ % & ++ ' ( !! ) )) ) * ",
" $ & ++++ ' ( ! * ",
" & & ++ ",
" ! ",
" ! ",
" ! ",
" ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -20,20 +20,20 @@
" ", " ",
" ", " ",
" ", " ",
" !!!! ", " ",
" !!! ",
" !! ", " !! ",
" ### !!!! ",
" ### ",
" $$$$ %%% & ##### '''' ((( !!!! ))))))))) **** ",
" $$ %%% &&& ++++ ### '' ((( !! ))))))) ** ",
" $$$ %%% &&& +++ ''' ((( !!! )))))))) *** ",
" $$$$ % % &&& ++++ '''' (((( !!!! ))))))))) **** ",
" &&& ++++ ",
" !!!! ",
" !! ", " !! ",
" !!! ", " # ! ",
" !!!! ", " ## ",
" $$$ % % & ##### ''' ((( ! )) ) ) ** ",
" $ %% & + ### '' (( !! ) ) ) * ",
" $$ % & ++ '' (( !! )))) )) ** ",
" $ & ++++ ' ( * ",
" & & ++ ",
" !! ",
" ! ",
" !! ",
" ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -20,20 +20,20 @@
" ", " ",
" ", " ",
" ", " ",
" !!!! ", " ",
" !!! ",
" !! ", " !! ",
" ### !!!! ",
" ### ",
" $$$$ %%% & ##### '''' (((( !!!! ))))))))) **** ",
" $$ %%% &&& +++ ### '' ((( !! ))))))) ** ",
" $$$ %%% &&& +++ ''' ((( !!! ))))))) ** ",
" $$$$ % % &&& ++++ '''' (((( !!!! ))))))))) **** ",
" &&&& ++++ ",
" !!!! ",
" !! ", " !! ",
" !!!! ", " # ! ",
" !!!! ", " ## ",
" $$ % % & ##### '' (( ! ) )))) * ",
" $ %% & + ### '' ((( !! )) ) )) ** ",
" $$ && ++ '' (( !! )) ) )) ** ",
" $ & ++++ ' ( ) ",
" & & + ",
" !! ",
" ! ",
" !! ",
" ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -20,20 +20,20 @@
" ", " ",
" ", " ",
" ", " ",
" !!! ", " ",
" !!! ",
" !!! ",
" ### !!!! ",
" ### ",
" $$$$ %%% & #### '''' (((( !!! )))))))) *** ",
" $$ %%% &&&& +++ #### ''' ((( !!! )))))))) *** ",
" $$$ %%% &&& +++ '' (( !!! )))))))) *** ",
" $$$$ % % &&& ++++ '''' (((( !!!! ))))))))) **** ",
" &&&& ++++ ",
" !!! ",
" !! ", " !! ",
" !!! ", " ! ",
" !! ! ", " # ! ! ",
" ## ",
" $$ % % & #### ' ( ! ! ) )))) ) * * ",
" $ %% & + ## ''' ((( ! ) ) ) * ",
" $$ && ++ '' (( !! )) )))) ** ",
" $ & ++++ ) ",
" & & + ",
" ! ",
" ! ",
" !! ",
" ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -20,20 +20,20 @@
" ", " ",
" ", " ",
" ", " ",
" ",
" ! ",
" ! ",
" # ! ! ",
" ## ",
" $$ % % & #### ' ( !!! ) ) )) ) *** ",
" $ %% & + ## '' ( ( ! ) )) ) * ",
" $$ && + '' (( ! )) * ",
" $ && ++++ ! * ",
" & & + + ",
" ! ! ", " ! ! ",
" !!! ", " ! ",
" !!! ", " ! ",
" #### !!! ", " ",
" ### ",
" $$$$ %%% & #### '''' (((( !!! )))))))) *** ",
" $$ %%% &&&& +++ #### ''' ((( !!! )))))))) *** ",
" $$$ %%% &&& +++ ''' ((( !!! )))))))) *** ",
" $$$$ % % && ++++ '''' (((( !!! ) )))) ) *** ",
" &&&& +++ ",
" !!! ",
" !!! ",
" !!! ",
" ! ! ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -20,20 +20,20 @@
" ", " ",
" ", " ",
" ", " ",
" !!! ", " ",
" !!! ", " ! ",
" !!! ", " ! ",
" #### !!! ",
" #### ",
" $$$$ %%% #### &&& ''' !!! (((((((( )))) ",
" $$ %%% **** +++ #### &&& '''' !!! (((((((( )) ",
" $$$ %%% *** +++ &&& ''' !!! (((((((( ))) ",
" $$$$ % % ** ++++ &&&& '''' !!! ((((((((( )))) ",
" **** +++ ",
" !!! ",
" !! ",
" !!! ",
" ! ! ", " ! ! ",
" ## ",
" $$ % % #### & & ' ' !!! ( (( ( ( ))) ",
" $ %% * + ## && ' ' ! ( ( ( ) ",
" $$ % ** ++ && '' ! (((( (( )) ",
" $ ** ++++ ! ) ",
" * +++ ",
" ! ",
" ! ",
" ! ",
" ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -20,20 +20,20 @@
" ", " ",
" ", " ",
" ", " ",
" !!!! ", " ",
" !!! ",
" !! ", " !! ",
" # # !!!! ",
" ### ",
" $$$$ %%% #### &&& '''' !!!! (((((((( ))) ",
" $$ %%% **** +++ ### &&& ''' !! (((((((( ))) ",
" $$$ %%% *** +++ &&& ''' !!! (((((((( ))) ",
" $$$$ %%%% ** +++++ &&&& '''' !!!! ((((((((( ))) ",
" **** +++ ",
" !!!! ",
" !! ", " !! ",
" !!! ", " ! ! ",
" !!!! ", " # ",
" $$ % % #### &&& '' ! ( (((( ( ))) ",
" $ %% * + ## && '' ! ( ( ( ) ",
" $$ %%% ** ++ && '' !! (( (((( ) ",
" $ % ** +++++ & ' ( ) ",
" * +++ ",
" ! ",
" ! ",
" !! ",
" ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -20,20 +20,20 @@
" ", " ",
" ", " ",
" ", " ",
" !!!! ", " ",
" !!! ",
" !! ", " !! ",
" #### !!!! ",
" ### ",
" $$$$ %%%% #### &&& ''' !!!! (((((((( ))) ",
" $$ %%% *** +++ #### &&& ''' !! (((((((( ))) ",
" $$$ %%% *** +++ &&& ''' !!! (((((((( ))) ",
" $$$$ %%%% *** ++++ &&& ''' !!!! (((((((( ))) ",
" *** ++++ ",
" !!!! ",
" !! ", " !! ",
" !!!! ", " ! ",
" !!!! ", " ## ",
" $ % % #### & & ''' ! ( ( (( ( ))) ",
" $$ %%% * + ## && '' ! ( (( ( ) ",
" $$ %%% * ++ & ' !! ( (( ( ) ",
" % * ++++ ' ) ",
" * * + ",
" !! ",
" ! ",
" !! ",
" ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -18,20 +18,20 @@
" ", " ",
" ", " ",
" ", " ",
"! ",
"!!!!!!!!!#### $$$$$$ ",
"!!!!!!!!!##### $$$$$$$ ",
" !! ! ## # $$$$ ",
" ", " ",
" %%%% %% ", " !!! !!!! ",
" % %%%%%%%% %%%%%%%% & '", " ! ! #### $$$$$ ",
" %%%%%%%% %%%%%%%% ", " ",
" %%%%%%%% %%%%%%%% ", " ",
" %% ",
" % %% %%% %% %%%% & '",
" % % % %% ",
" % % % % ",
" ",
" ",
" (( (((( ((( )))))) ",
" (((( ((( (( ",
" ", " ",
"((( ( ))) ",
"((((((((((((())))))) ",
" (((((((((((( )) ) ",
" ( ( ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -18,21 +18,21 @@
" ", " ",
" ", " ",
" ", " ",
" !! ! ## ",
"!!!!!!!!!!!$ $$ ############## %% % ",
" !!!!!!!!!!$$$$$ ############## %%%%%",
" !! ! $ # # # % ",
" ", " ",
" &&&& & ''' '' '' ", " !!! !!!! # ### # # # ",
" & &&&&&&&&&&&&&&&& ' '''''''''''''' ", " ! !$$ $$ ### # ### %%%",
" &&&&&&&&&&&&&&&& '''''''''''''' ", " ",
" &&&&&&&& &&&&&&& '''''''''''''' ", " ",
" &&& & ''' ' ",
" & & &&&&&& &&&& && ' ' ''''' ' '' ",
" & & && &&& ' ''' ' ' ",
" && & ' ' ' ",
" ",
" ",
" ( ( ) ))) )))))) ",
" ((((( ( (((( ))) ) ))) ",
" ( ((((( (( (((( ",
" ", " ",
"((( ( ( ( ))) ) ) ) ",
"(((((((((((((((((((( ))))))))))))) ",
" ((((((( ((((((((((( )))))))))))) ",
" ((((((((((((((((((( ) ))) ",
" ( ( ( ( ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -19,22 +19,22 @@
" ", " ",
" ", " ",
" ", " ",
" !!!! ! ! ### # ## $$$$ $ $$ $ $ ",
" !!!!!!!!!!!!!!!!! #################$$$$$$$$$ $$$$$$$$$$ ",
" !!!!!!!! !!!!!!! ################ $$$$$$$$ $$$$$$$$$$%%%% ",
" !!!!!!!! !!!!!!! ######## ####### $$$$$$$$ $$$$$$$$$$%%%%% ",
" ! ! ! ### # $ $ $ $$$ % ",
" ", " ",
" &&&& && '''' ' '' ((( (( ", " ! ! # # # $ $ $ ",
" & &&&&&&&& &&&&&&&&' '''''''''''''''''( ((((((((((((((((((((", " !!! ! ! !! ! # ### # ####### $$$$$ $$ $ $$$$ ",
" &&&&&&&& &&&&&&&& '''''''' ''''''' ((((((((((((((((((((", " !!!!!! ! !! !! # ###### ## #### $$$$ $ $$ $$$$ $ %%%% ",
" &&&&&&&& &&&&&&& '''''''' ''''''' ((((((((((((((((((((", " $ ",
" ",
" && ''' ' ' ((( ( ",
" & &&&&&& &&&& && ' ' '''''' '''' '''( ( ((((( ( (((((((( ",
" & && & & && ' ' '' '' ' '' ( ((( ( ((( ( (",
" & & & & '' ' ' ( ( ( ( ( ",
" ",
" ",
" ) ) ) * * + ",
" ) ))) ) ) )))))) * *** * * *** +++++ + +++ ",
" ) ))))) )) )) )) * ****** ***** ++++ + + +++ ",
" ", " ",
" ))) ) )) *** * * ++++ + ++ ",
" )))))))))))))))))))) ********* ****** +++++++++ +++++++++",
" ))))))))))))))))))) ************** ++++++++ +++++++++",
" ))))))))))))))))))) *************** ++++++++ +++++++++",
" ))) ) ) *** * + + + ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -19,22 +19,22 @@
" ", " ",
" ", " ",
" ", " ",
" !!! ! ! ### # ## $$$ $ $$ $ $ ",
" !!!!!!!!!!!!!!!!! ################ $$$$$$$$$$$$$$$$$$$$%% % ",
" !!!!!!!!!!!!!!!! ####### ######## $$$$$$$ $$$$$$$$$$%%%%%%%%%",
" !!!!!!!! !!!!!!! ################ $$$$$$$$$$$$$$$$$$$%%%%%%%%",
" !!! ! # # # $ $ $ $$$ %% %",
" ", " ",
" &&& & '''' '' '' ((( ( ", " ! ! ! # $ $ ",
" & &&&&&&&&&&&&&&&& ' '''''''' '''''''' ( ((((((((((((((((((((% ", " ! !!! ! !!! ! ##### #### $$$$$ $$$ $$ % %%% %%",
" &&&&&&&&&&&&&&&& '''''''' ''''''' (((((((((((((((((((( ", " ! !!!!!! ! !! !! # ##### # ## $ $$$$$ $$ $$$ $ %% % % ",
" & &&&&&& &&&&&&& '''''''' ''''''' ( (((((((((((((((((( ", " $$ ",
" ",
" &&& & '' ' ((( ( ",
" & & &&&&& &&&& && ' '' ''' '''' ''' ( ( ((((( (((((((( ((% ",
" & && && & ' ' '' ' '' ( (( (( ((( ( ",
" &&& & & ' ' ' ' ((( ( (( ( ",
" ",
" ",
" ) ) )) * * + + ",
" ) ))) ) )) ))))))) * *** * * * + +++ + ++++ ++ ",
" ) )))))) )) ))))))) * ***** ** ** + +++++ +++ ++ ",
" ", " ",
" ))) ) ))) *** * ** +++ + + ",
" )))))))))))))))))))) *************** ++++++++++++++++++ ",
" ))))))))))))))))))) ************** +++++++++++++++++ ",
" )))))))) )))))))))) ************** +++++++++++++++++ ",
" ))) ) ) *** * +++ ++ ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -19,22 +19,22 @@
" ", " ",
" ", " ",
" ", " ",
" !!! ! ! ### # ## $$$ $ $$ %%%% % %% % % ",
" !!!!!!!!!!!!!!!!! ################### $$$$$$$$$$$$$$$ %%%%%%%%% %%%%%%%%%% &&& ",
" !!!!!!!!!!!!!!!! ######## ######## $$$$$$$ $$$$$$ %%%%%%%% %%%%%%%%%% &&&&&&&&&&",
" !!!!!!!!!!!!!!!! ################# $$$$$$$$$$$$$$ %%%%%%%% %%%%%%%%%% &&&&&&&&&",
" ! ! ! # # # # $ $ $ % % % %%% & ",
" ", " ",
" '''' ' ", " ! ! # $ % ",
" ' '''''''' ''''''' ( # ) $ * % + & ", " ! !!! ! !!!! ! ##### #### $$$$$ $ $ %% % %% % %% && &&&& &",
" '''''''''''''''' ", " ! !!!!! !! !!! ##### # ##### $ $$$$$ $$ $ %%%% % %% %%% % &&&& &&& ",
" '''''''' ''''''' ", " % ",
" ",
" ''' ' ",
" ' '''''' '''' '' ( # ) $ * % + & ",
" ' '' ' ' ",
" ' ' ' '' ",
" ",
" ",
" ( ( ) ) ) * + ",
" ((((( ( (( (((( ) ))) ) )))))) ***** ********* +++ + + +++ ",
" (((( ( (( (( (((( ) ))))) )) ))) * ***** ** *** *** ++++++ + +++ ",
" ", " ",
" (((( ( ((( ))) ) )) *** * ++++ + ++ ",
" ((((((((( (((((((((( ))))))))))))))))) *********************+++++++++ ++++++++ ",
" (((((((( ((((((((((( )))))))))))))))) ******* ************ ++++++++ +++++++++ ",
" (((((((( ((((((((((( )))))))))))))))) ******************** ++++++++ +++++++++ ",
" ( ( ( ( ))) ) * * * * * + + + ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -19,22 +19,22 @@
" ", " ",
" ", " ",
" ", " ",
"!!! ! ### # ## $$$$ $ $$$ %%%% % &&& & & ", " ",
"!!!!!!!! !!!!!!! #################### $$$$$$$$$ $$$ $$$ %%%%%%%%% %%%%%%%%%%% &&&&&&&&&&&&&&&&&& ", " ! # # # $ % & ",
"!!!!!!!! !!!!!!!! ################### $$$$$$$$ $$$$$$$ %%%%%%%%%%%%%%%%%%%% &&&&&&& &&&&&&&&& ", " !!!!! ! ! !!! # ### # # ##### $$ $ $ $$ %%% % % %%% %%%%% &&&&& &&& &&& ",
"!!!!!!!! !!!!!!!! ################### $$$$$$$$ $$$$$$$ %%%%%%%%%%%%%%%%%%%% &&&&&&&&&&&&&&&&& ", " !!!! ! !!! !!! # ##### ## ##### $$$$ $ $ $ $$ %%%%%% %%%% % %% % & &&&&& &&& && ",
" ! ! ! ! # # # # $ $ $$ % % % % % & & & ", " ",
" ", " ",
" ", " ",
" ! ' # ( $ ) % * & + ", " ! ' # ( $ ) % * & + ",
" ", " ",
" ", " ",
" ", " ",
" '''' ' ' ((( ( (( )))) ) ) *** * * ** * +++ + + ", " ",
" ''''''''' ''''''' (((((((((((((((((( ))))))))) )))))) ********* ********** +++++++++++++++", " ' ' ( ( ( ) * * * + ",
" '''''''' '''''''' ((((((((((((((((( )))))))))))))) ******************* +++++++ ++++++", " ''''' ' '''' ( ((( ( (( ( (( ))) ) ) ))) * *** * **** ** +++++ +++ ",
" '''''''' '''''''' (((((((( ((((((( ))))))))))))))) ******************* ++++++++++++++", " '''' ' '''' '' ( (((((( ((( ((( )))))) ))))) * ***** ***** ** + +++++ ++++ ",
" ' ' ' ((( ( ( ) ) ) *** ** *** + + + ", " ** ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -19,11 +19,11 @@
" ", " ",
" ", " ",
" ", " ",
" !!! ! ### # # $$$$ $ $$$ %%% % %% &&& & && ''' ' '' ((( ( )))) ) )) ) ) **** * ** ++++ + + ", " ",
" !!!!!!!!!!!!!!!!! ################# $$$$$$$$$ $$$$$$$$$$ %%%%%%%%%%%%%%%%%%% &&&&&&&&&&&&&&&&& ''''''''''''''' (((((((((((((((((((())))))))) )))))))))) ********* ******** ++++++++++++++++ ", " ! ! # # $ $ % & & & ' ( ) * + + ",
" !!!!!!!!!!!!!!!! ################ $$$$$$$$ $$$$$$$$$$$ %%%%%%%% %%%%%%%% &&&&&&&&&&&&&&&& ''''''' '''''' ((((((( (((((((((((()))))))) )))))))))) ******** ********* ++++++++ ++++++ ", " ! !!! ! !!!!!! # ### # #### # $$$$$ $ $$ $$$$ %%%%% %%%% & &&& & &&&&&& ''''' ' ' ((((( ((((((((( )) ) )) ) )) *** * * *** +++ + ++++++ ",
" !!!!!!!!!!!!!!!! ################ $$$$$$$$ $$$$$$$$$$$ %%%%%%%%%%%%%%%%% &&&&&&&&&&&&&&&& '''''''''''''' (((((((((((((((((((()))))))) )))))))))) ******** ********* ++++++++ ++++++ ", " ! !!!!! !!!!!!! # ##### ## ### $$$$ $ $$ $$ $$$$ %%%%% % %%%%% & &&&&& && &&& ' ''''' '' ' ( ((((( (( ((( ((( )))) ) )) ))) ) ****** * *** ++++++ + ++ + ",
" ! ! ! ! # # # $ $ $ $ % % % % &&& & ' ' ' ( ( ( ( ( ) ) ) ))) * * * + + + ", " ) ",
" ", " ",
" ", " ",
" ! # $ % & ' ( ) * + ", " ! # $ % & ' ( ) * + ",

View file

@ -16,10 +16,10 @@
" ", " ",
" ", " ",
" ", " ",
" !!!! !! !!! ", " !!! ! ",
" ! !!!!!!!!!!!!!!!! ", " ! ! !!!!! !! !!! ",
" !!!!!!! !!!!!!!! ", " !! !! !!! ",
" !!!!!!!!!!!!!!!! ", " ! ! ! ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -12,10 +12,10 @@
" ", " ",
" ", " ",
" ", " ",
" !!!! ! !! ", " !!! ! !! ",
" !!!!!!!!!!!!!!!! ", " !!!!!! !!! !! ",
" !!!!!!!! !!!!!!! ", " ! !! !! !! ",
" !!!!!!!! !!!!!!! ", " ! ! ! ",
" ", " ",
" ! ", " ! ",
" ", " ",

View file

@ -12,10 +12,10 @@
" ", " ",
" ", " ",
" ", " ",
" !!!! !! !!! ", " !!! ! ",
" !!!!!!!!!!!!!!!! ", " ! !!!!! !! !!! ",
" !!!!!!! !!!!!!!! ", " !! !! !!! ",
" !!!!!!!!!!!!!!!! ", " ! ! ! ",
" ", " ",
" ! ", " ! ",
" ", " ",

View file

@ -12,10 +12,10 @@
" ", " ",
" ", " ",
" ", " ",
" !!!! !! !!! ", " !!! ! ",
" !!!!!!!!!!!!!!!! ", " ! !!!!! !! !!! ",
" !!!!!!! !!!!!!!! ", " !! !! !!! ",
" !!!!!!!!!!!!!!!! ", " ! ! ! ",
" ", " ",
" ! ", " ! ",
" ", " ",

View file

@ -20,10 +20,10 @@
" ! ", " ! ",
" ", " ",
" ", " ",
" !!!! ! !! ", " !!! ! !! ",
" !!!!!!!!!!!!!!!! ", " !!!!!! !!! !! ",
" !!!!!!!! !!!!!!! ", " ! !! !! !! ",
" !!!!!!!! !!!!!!! ", " ! ! ! ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -20,10 +20,10 @@
" ! ", " ! ",
" ", " ",
" ", " ",
" !!!! !! !!! ", " !!! ! ",
" !!!!!!!!!!!!!!!! ", " ! !!!!! !! !!! ",
" !!!!!!! !!!!!!!! ", " !! !! !!! ",
" !!!!!!!!!!!!!!!! ", " ! ! ! ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -20,10 +20,10 @@
" ! ", " ! ",
" ", " ",
" ", " ",
" !!!! !! !!! ", " !!! ! ",
" !!!!!!!!!!!!!!!! ", " ! !!!!! !! !!! ",
" !!!!!!! !!!!!!!! ", " !! !! !!! ",
" !!!!!!!!!!!!!!!! ", " ! ! ! ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -16,10 +16,10 @@
" ", " ",
" ", " ",
" ", " ",
" !!!! !! !!! ", " !!! ! ",
" !!!!!!!!!!!!!!!! ! ", " ! !!!!! !! !!! ! ",
" !!!!!!! !!!!!!!! ", " !! !! !!! ",
" !!!!!!!!!!!!!!!! ", " ! ! ! ",
" ", " ",
" ", " ",
" ", " ",

View file

@ -52,6 +52,7 @@ files = [
{'name': "marker-on-hex-grid", 'sizes':[(600,400),(400,600),(257,256)]}, {'name': "marker-on-hex-grid", 'sizes':[(600,400),(400,600),(257,256)]},
{'name': "whole-centroid", 'sizes':[(600,400)], {'name': "whole-centroid", 'sizes':[(600,400)],
'bbox': mapnik.Box2d(736908, 4390316, 2060771, 5942346)}, 'bbox': mapnik.Box2d(736908, 4390316, 2060771, 5942346)},
{'name': "text-halo-rasterizer", 'sizes':[(600,400)]},
{'name': "simple-E", 'bbox':mapnik.Box2d(-0.05, -0.01, 0.95, 0.01)}, {'name': "simple-E", 'bbox':mapnik.Box2d(-0.05, -0.01, 0.95, 0.01)},
{'name': "simple-NE",'bbox':default_text_box}, {'name': "simple-NE",'bbox':default_text_box},
{'name': "simple-NW",'bbox':default_text_box}, {'name': "simple-NW",'bbox':default_text_box},
@ -132,8 +133,8 @@ def render(config, width, height, bbox, quiet=False, overwrite_failures=False):
# generate it on the fly # generate it on the fly
fail(actual_agg,expected,None) fail(actual_agg,expected,None)
else: else:
diff = compare(actual_agg, expected, threshold=1, alpha=True)
threshold = 0 threshold = 0
diff = compare(actual_agg, expected, threshold=0, alpha=True)
if overwrite_failures and diff > threshold: if overwrite_failures and diff > threshold:
fail(actual_agg,expected,None) fail(actual_agg,expected,None)
else: else:
@ -182,7 +183,7 @@ def render(config, width, height, bbox, quiet=False, overwrite_failures=False):
# generate it on the fly # generate it on the fly
fail(actual_grid,expected_grid,None) fail(actual_grid,expected_grid,None)
else: else:
threshold = 1 threshold = 0
diff = compare_grids(actual_grid, expected_grid, threshold=threshold, alpha=False) diff = compare_grids(actual_grid, expected_grid, threshold=threshold, alpha=False)
if overwrite_failures and diff > threshold: if overwrite_failures and diff > threshold:
fail(actual_grid,expected_grid,None) fail(actual_grid,expected_grid,None)