π
<-

News 2024
August (1)
July (1)
June (4)
April (2)

News 2023
August (2)
July (1)
June (3)
May (4)
April (1)

News 2022
August (3)
June (1)
May (1)
March (2)

News 2021
August (12)
July (1)
June (2)
May (7)
April (3)
March (1)

News 2020
August (15)
July (2)
June (7)
May (7)
April (19)
March (4)

News 2019
August (4)
July (7)
June (6)
May (1)
April (3)
March (1)

News 2018
August (11)
July (8)
June (3)
May (10)
April (2)
March (4)

News 2017
August (15)
July (18)
June (1)
May (7)
April (4)
March (7)

News 2016
August (17)
July (16)
June (2)
May (2)
April (1)
March (5)

News 2015
August (25)
July (1)
June (4)
May (9)
April (4)
March (10)

News 2014
August (4)
July (4)
June (11)
May (12)
April (9)
March (12)
January (13)

News 2013
October (11)
August (5)
July (5)
June (9)
May (12)
April (10)
March (7)
January (10)

News 2012
August (12)
July (10)
June (13)
May (22)
April (8)
March (5)

News 2011
October (23)
August (1)
July (7)
June (29)
May (11)
April (5)
March (3)

News 2010
August (2)
July (2)
June (5)

News 2009
August (1)
July (1)
June (1)
May (1)
April (1)
March (1)

Bonne année 2022 sur TI-Planet !

New postby critor » 01 Jan 2022, 00:00

15064
A tous nos membres, partenaires, contacts, amis, et même lecteurs anonymes, et au nom de toute l'équipe, nous vous souhaitons une Bonne Année 2022. Qu'elle soit heureuse, pleine de joies et réussites, et surtout encore meilleure que 2021 ! ;)




Code: Select all
#image converted on TI-Planet
#tiplanet.org/img2calc

from ti_draw import *
from ti_image import *
from ti_system import escape
from ti_innovator import send
from time import *
from math import pi, cos, sin, sqrt

#function to send the micro:bit Python code to run
def send_microbit(cmd):
  send("\x04")
  send(cmd)
  send("\x05")

#the image drawing function
#- rle : image RLE-compressed data
#- w : width of image
#- pal : palette of colors to use with image
#- zoomx : horizontal zoom
#- zoomy : vertical zoom
#- itransp : index of 1 transparent color in palette or -1 if none
def draw_image_offscreen(rle, x0, y0, w, h, pal, zoomx=1, zoomy=1, itransp=-1):
  WHITE = (255, 255, 255)
  canvas = new_image(w*zoomx, h*zoomy, WHITE)
  i, x = 0, 0
  w *= zoomx
  x0, y0 = int(x0), int(y0)
  nvals = len(pal)
  nbits = 0
  nvals -= 1
  while(nvals):
    nvals >>= 1
    nbits += 1
  maskval = (1 << nbits) - 1
  maskcnt = (0xFF >> nbits >> 1) << nbits
  while i<len(rle):
    v = rle[i]
    mv = v & maskval
    c = (v & maskcnt) >> nbits
    if (v & 0b10000000 or nbits == 8):
      i += 1
      c |= rle[i] << (7 - nbits + (nbits == 8))
    c = (c + 1) * zoomx
    while c:
      cw = min(c, w - x)
      if mv != itransp and pal[mv] != WHITE:
        for dy in range(zoomy):
          for dx in range(cw * zoomx):
            canvas.set_pixel(x0 + x + dx, y0 + dy, pal[mv])
      c -= cw
      x = (x + cw) % w
      y0 += x == 0 and zoomy
    i += 1
  return canvas

def draw_clock(x, y, r, font_w, font_h):
  set_color(255, 255, 255)
  fill_circle(x, y, r)
  set_color(0, 0, 0)
  set_pen("medium","solid")
  draw_circle(x, y, r - 1)
  set_pen("thin","solid")
  r_t = r - 6
  r_d = r_t - 4
  for i in range(60):
    a = i * pi / 30
    rx, ry = int(r_t * cos(a)), int(r_t * sin(a))
    plot_xy(x0 + rx,y0 + ry, i % 5 and 4 or 1)
    if not i%5:
      rx, ry = int(r_d * cos(a)), int(r_d * sin(a))
      dx, dy = 0, 4
      d = (i//5 + 2)%12 + 1
      h = font_h
      w = font_w + (d >=10 and font_w + 1)
      if not i%30: dy  += h//2
      elif i>30: dy += h - 1
      if i%30 and not i%15: dx -= w // 2
      elif i<15 or i>45: dx -= w - 1
      set_color(0, 0, 255)
      draw_text(x0 + rx + dx, y0 + ry + dy, d)
      set_color(0, 0, 0)
  return r_d

def refresh_clock(h, m, s, r_h, r_m, r_s):
    k_h, k_m, k_s = h / 12, m / 60, s / 60
    a_h = k_h*2*pi + k_m*2*pi/12 +k_s*pi/360 - pi/2
    a_m = k_m*2*pi + k_s*pi/30- pi/2
    a_s = k_s*2*pi - pi/2
    set_color(255, 255, 255)
    fill_circle(x0, y0, r_s + 1)
    set_color(255, 0, 0)
    draw_line(x0, y0, x0 + r_s*cos(a_s), y0 + r_s*sin(a_s))
    set_color(0, 0, 0)
    set_pen("medium","solid")
    draw_line(x0, y0, x0 + r_h*cos(a_h), y0 + r_h*sin(a_h))
    draw_line(x0, y0, x0 + r_m*cos(a_m), y0 + r_m*sin(a_m))
    set_pen("thin","solid")
   
def melody_duration(melody):
  global lt
  t = 0
  for v in melody:
    try: lt = int(v[v.index(":") + 1:])
    except: pass
    t += lt
  return t  * .125

def melody_cut(melody, melody_parts, melody_part_start, melody_part_end):
  return melody[melody_parts[melody_part_start]:melody_parts[melody_part_end]]

def mb_play_melody(melody):
  send_microbit('music.play(' + str(melody) + ')')
 
def mb_show_icon(name):
  send_microbit("display.show(Image." + name + ")")

def mb_show_clock_icon(i):
  mb_show_icon("CLOCK" + str(i))

def mb_show_val(v):
  send_microbit('display.show(' + str(v) + ')')

#palette for your image
#256 RGB-888 colors
palette = (
(255,255,255),(231,231,240),(255,252,247),(220,231,235),(247,253,247),(247,253,255),(223,222,231),(219,217,221),(237,247,250),(201,220,233),(255,246,247),(236,237,247),(255,246,255),(204,214,221),(247,245,247),(238,246,237),(211,205,211),(180,209,181),(215,234,215),(177,183,206),(179,178,182),(207,212,231),(237,234,237),(182,206,214),(146,173,183),(215,220,231),(238,218,219),(215,215,231),(211,237,245),(168,204,221),(180,230,236),(114,171,187),(177,215,234),(247,247,255),(109,146,179),(152,203,220),(74,120,170),(143,203,217),(110,114,146),(77,112,150),(142,148,176),(142,183,209),(41,104,152),(111,180,208),(223,229,240),(14,54,110),(76,141,181),(13,100,168),(5,81,140),(93,161,157),(118,197,215),(157,155,147),(39,84,141),(104,159,205),(1,67,122),(41,116,172),(12,100,155),(40,76,120),(223,223,240),(247,238,240),(255,245,240),(252,235,235),(152,209,234),(12,74,122),(247,238,247),(247,230,231),(248,219,220),(250,233,220),(247,210,239),(236,186,203),(236,201,221),(237,219,234),(217,217,238),(82,153,200),(237,202,203),(236,184,172),(248,199,188),(249,216,204),(234,187,219),(237,231,221),(212,208,181),(49,139,180),(20,152,167),(251,247,236),(248,181,178),(248,203,202),(237,215,204),(248,218,236),(164,160,93),(213,179,108),(236,186,185),(236,172,169),(249,234,204),(237,199,188),(242,212,147),(242,213,78),(211,148,75),(252,234,248),(237,203,232),(215,177,149),(206,150,39),(79,179,206),(251,245,221),(248,203,221),(104,200,230),(248,220,170),(23,179,222),(218,176,180),(235,171,186),(181,144,181),(164,163,213),(238,212,176),(235,171,202),(213,188,231),(240,143,142),(217,179,209),(97,87,102),(242,176,146),(240,239,206),(218,146,148),(97,45,84),(235,154,153),(236,170,154),(248,219,185),(242,142,114),(236,153,137),(215,147,180),(241,178,215),(217,150,204),(173,92,97),(176,180,145),(51,51,139),(91,95,150),(217,140,116),(244,138,79),(247,206,134),(239,188,233),(236,148,178),(213,114,177),(164,101,153),(224,93,101),(251,106,6),(216,109,110),(180,114,178),(241,182,105),(245,107,43),(216,73,46),(242,207,115),(185,4,142),(215,112,145),(209,76,175),(237,76,9),(237,82,73),(213,79,79),(180,79,149),(235,119,175),(235,150,203),(190,105,198),(211,44,41),(239,117,108),(244,43,5),(244,113,78),(220,102,36),(211,42,114),(212,79,145),(181,42,146),(215,76,109),(184,44,115),(247,234,147),(237,185,85),(249,233,114),(216,210,237),(240,48,34),(243,79,40),(217,36,12),(183,5,116),(209,42,142),(226,105,202),(158,26,145),(235,114,146),(248,231,187),(244,12,10),(251,68,12),(201,7,145),(240,178,76),(237,2,0),(218,17,32),(253,85,13),(233,83,152),(215,46,82),(235,157,30),(183,22,22),(217,5,2),(250,33,1),(253,85,1),(209,18,117),(249,1,0),(252,69,1),(203,17,170),(237,13,0),(140,179,118),(236,183,71),(248,14,0),(217,173,73),(215,168,48),(184,134,16),(164,28,94),(183,140,37),(171,110,25),(241,209,39),(244,204,6),(250,236,19),(156,206,153),(245,235,178),(224,214,99),(86,87,35),(151,158,28),(173,212,121),(107,151,0),(88,155,91),(117,152,1),(140,199,85),(212,218,161),(150,202,109),(102,140,0),(105,151,3),(184,217,136),(94,197,171),(99,125,0),(99,133,0),(107,117,16),(176,213,144),(112,196,114),(114,183,113),(90,119,0),(82,104,0),(77,174,105),(103,184,106),(233,177,2),(86,173,101),(235,186,0),(239,201,0),(71,169,90),(75,154,105),(74,98,0),(47,154,108),(51,164,95),(69,79,1),(41,147,81),(32,151,83),(55,66,1),(8,139,75),(51,51,0),(16,118,83),(43,41,0),(27,21,0),
)

#your image data
#208x176 RLE-8 pixels
image_w, image_h = 208, 176
image = (
b"\x00\\\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x00\x00\a\x00\b\x00\x00\x00\a\x00\x05\x00\t\x00\n\x00\x05\x00\x01\x00\x02\x00\x0b\x00\x04\x00\x00\x00\x05\x01\x00\xb3\x0c\x01\x00\x00\x01\x00\x0c\x00\x00\x00\r\x00\x00\x00\a\x00\x01\x00\x05\x00\r\x00\x05\x00\r\x00\x0e\x01\r\x00\x05\x00\r\x00\x00\x00\a\x00\b\x00\x02\x00\r\x00\x00\x00\x0e\x00\x0f\x00\x00\x00\x05\x00\x00\xb3\x03\x00\x00\x00\x04\x00\x01\x00\x00\x00\x10\x00\x0e\x00\x05\x00\x10\x00\x05\x00\x11\x00\x05\x00\x10\x00\b\x00\x12\x00\r\x00\x00\x00\x13\x00\x05\x00\x14\x00\x04\x00\x0f\x00\x15\x00\x05\x00\a\x00\x05\x00\x00\x00\x01\x00\x00\xb0\x05\x00\b\x00\x00\x00\x01\x00\x16\x00\x0c\x00\x11\x00\x00\x00\x03\x01\x00\x00\x17\x00\x05\x00\x18\x00\x0c\x00\x17\x00\x0f\x00\r\x00\x19\x00\x0e\x00\x17\x00\x05\x00\x14\x00\x05\x00\r\x00\b\x01\x10\x00\x05\x00\x01\x00\x0f\x00\x05\x00\x0f\x00\x0e\x00\x00\xab\x0c\x00\x00\x01\a\x00\n\x00\x00\x00\x10\x00\x00\x00\x03\x00\x1a\x00\x04\x00\x14\x00\x05\x00\r\x00\b\x00\x14\x00\b\x00\x13\x00\x01\x00\x13\x00\t\x00\x1b\x00\r\x00\x01\x00\x17\x00\x04\x00\x14\x00\n\x00\x17\x00\x1c\x00\x05\x00\x10\x00\x05\x00\b\x00\a\x00\x00\x00\x04\x00\x0e\x00\x00\xa9\x02\x00\a\x00\x00\x01\x17\x00\x05\x00\x10\x00\x03\x00\x00\x00\x14\x00\x05\x00\x18\x00\x04\x00\x03\x00\b\x00\x13\x00\r\x00\x1d\x00\x12\x00\x18\x00\x1c\x00\x17\x00\r\x00\x17\x00\x19\x00\x03\x00\x13\x00\b\x00\x18\x00\b\x00\r\x00\x01\x00\x05\x00\x17\x00\x04\x00\x00\x00\x06\x00\x05\x00\x0c\x00\x00\xa6\x0e\x01\x00\x00\x0b\x00\a\x00\x00\x00\x06\x00\a\x00\x00\x00\x18\x00\x05\x00\x14\x00\x01\x00\x17\x01\x19\x00\x1e\x00\x13\x02\x1d\x00\x1f\x00\x20\x00\x18\x00\x20\x00\x18\x00\x1c\x00\x18\x00\t\x00\r\x00\x10\x00\x0e\x00\x18\x00\b\x00\x15\x00\a\x00\x05\x00\a\x00\x16\x00\b\x00\x1c\x00\x0b\x00\x05\x00\x02\x00\x00\xa4\a\x00\x0f\x00\x00\x00\a\x00\x03\x00\x05\x00\x18\x00!\x00\x10\x00\r\x00\t\x00\x18\x00\x01\x00\"\x00\x19\x00\x1d\x00\x11\x00\"\x00#\x00\x1d\x00$\x00%\x00&\x00\x1e\x00'\x00\x1c\x00(\x00\x1c\x00\"\x00\b\x00\x13\x00\x17\x00\b\x00\x14\x00\x00\x00\a\x00\r\x00\x1c\x00\t\x00)\x00\x1c\x00\a\x00\x05\x00\x00\x9a\x04\x00\x00\x00\x05\x00\x00\x00\b\x00\x05\x02\x06\x00\x05\x00\x00\x00\x10\x00\x16\x00\x00\x00\x14\x00\b\x00\x16\x00\x18\x00\x16\x00\"\x00\x1c\x00\"\x00\x17\x00\"\x00\x1d\x00)\x00\x1d\x00'\x00\x18\x00)\x00*\x00)\x00*\x00+\x00'\x00\x17\x00\"\x00\r\x00\x18\x00\t\x00'\x00\x1c\x00\"\x00\b\x00\x03\x00\x1d\x00\x16\x00\t\x00)\x00\x20\x00\x1d\x00\x17\x00\x1c\x00\x05\x00\x00\x9a\x01\x00\x0b\x01\t\x00\x0b\x00\b\x00\x01\x00,\x00\x10\x00\x00\x00\x05\x00\x14\x00\b\x00\x0f\x00(\x00\x03\x00\x14\x00\x1d\x00\x17\x00\x1f\x00\x13\x00\"\x00\x18\x00)\x00\x13\x00+\x00-\x00\x1f\x00.\x00/\x00)\x000\x00\"\x01(\x00\x1d\x001\x00\x1d\x00\"\x002\x00)\x00\x18\x00\x17\x00(\x00\b\x00\x03\x00)\x01\x1c\x00\t\x01\x05\x01\x00\x01\x02\x00\x00,\x02\x00\x00i\x05\x00\t\x00\x20\x00)\x00\x20\x00\x1d\x00\x17\x00\b\x01\x14\x00\x04\x00\x05\x003\x00\x1c\x00\x19\x00\x18\x00\x1c\x00'\x00\x20\x00'\x00)\x004\x005\x004\x00\x1d\x00\"\x006\x00.\x007\x008\x00*\x004\x00.\x014\x00)\x009\x00\x1d\x006\x00*\x00'\x00\x1e\x00(\x00\x1c\x00\x03\x00\x18\x00\b\x00\x1e\x005\x00\x17\x00\x1c\x00\b\x00\x01\x00\x00/\x0c\x00\x00\x01\x02\x00\x00\x01\x0c\x00\x00c\x0b\x00\x1c\x00#\x00\x1d\x00\x20\x00\x1d\x00\x20\x00\x17\x00\x1c\x00\x04\x00\x18\x00\b\x00\x0b\x00\"\x00\x1c\x00\x18\x00\"\x00\x17\x00'\x00+\x00'\x01.\x006\x00)\x00*\x004\x007\x00/\x010\x00/\x004\x00$\x009\x00.\x00\"\x00'\x005\x00*\x00\x1d\x00\x18\x00#\x00\x12\x00(\x00\x0e\x00\x01\x00(\x00\b\x00\x1c\x00\x19\x00\x03\x00\x05\x00\x00%\x02\x00\x0c\x00\x00\x01\x0e\x00\x00\x01\x16\x00\x00\x01\x0e\x00\x00\x01\x0e\x00\x0c\x00\x00\x01\x0c\x00\x00`\x0c\x00\b\x00\t\x00\x1e\x00)\x00:\x00\x0b\x00)\x002\x00\x20\x00\x18\x00\x01\x00\b\x003\x00\r\x00\x03\x00'\x00\x20\x00\"\x00\x1f\x00&\x00\"\x009\x007\x004\x00*\x00.\x007\x000\x008\x00/\x018\x016\x000\x00*\x006\x00.\x008\x00*\x00.\x00)\x00&\x00\x1c\x00\"\x00\r\x01\x18\x00\b\x00;\x00\x11\x00\x03\x00\b\x02\x05\x00\x0c\x00\x00\x1f\x0c\x00\x00\x01\x0c\x00\n\x00\x05\x00\x04\x00<\x00\x04\x00\n\x00\x16\x00\x00\x00\x02\x00=\x00\x00\x01;\x00\x00\x00\x0c\x00\x02\x00\x0c\x00\x00b:\x00\x20\x00+\x00\x1c\x01\x1d\x00>\x00\x1c\x01(\x00\x03\x00\x1c\x00\"\x00)\x00\x1d\x009\x00#\x006\x00\"\x006\x00*\x004\x000\x00?\x00*\x00.\x00?\x007\x00/\x000\x006\x01?\x00-\x000\x008\x007\x00*\x006\x00\x1f\x009\x00\x20\x00\x18\x00\x1d\x00)\x001\x00;\x00\x03\x00)\x00@\x00\x05\x00\x0f\x00\x10\x00\b\x00\x00\x1e\x0e\x00\x00\x01\x02\x00\x0e\x00\n\x00\x04\x00=\x00\x05\x00\x04\x00=\x00\x04\x00\x0c\x00A\x00\x00\x00\x0c\x00;\x00\x00\x01A\x00\x00\x01\x0e\x00\x00\x00\x0c\x00\n\x00\x00\x00\x02\x00\x00\x00\x02\x00\x007\x0c\x00\n\x00\x04\x00\x0e\x00\x00\x1f\x0c\x00\b\x00\x1c\x00\x13\x00#\x00+\x00\x1d\x00\x13\x00\x18\x00\x03\x00\x0b\x00\x18\x00\x1f\x00)\x00\"\x01)\x00?\x00\"\x000\x00*\x000\x03*\x00\x1f\x00>\x00%\x008\x010\x016\x000\x01>\x00.\x006\x00.\x009\x00\x1f\x00\x18\x00\x1f\x00\x18\x00\"\x00\x1c\x00\x13\x00\x14\x00\b\x01\x13\x00\x10\x00\x05\x02\x04\x00\x00\x1c\x0c\x00=\x00\x02\x00\n\x00B\x00=\x00<\x00C\x00\x00\x01A\x00\x02\x00\x00\x00\x1a\x00\x00\x00\n\x00A\x00\x02\x00\x0e\x00=\x00\x02\x01\x16\x00\x0c\x01;\x00\x0c\x00\x00\x00\x0e\x00\x008\x02\x00D\x00E\x00F\x00G\x00\n\x00\x00\x1f\x1c\x00H\x00\t\x005\x00>\x00\x1c\x01\x14\x00)\x00:\x00\x1d\x00$\x00I\x004\x007\x00$\x008\x00?\x016\x000\x016\x004\x00.\x00\x1c\x00>\x008\x010\x006\x010\x008\x00I\x008\x000\x00?\x00'\x00\x18\x00'\x02\x20\x00\"\x00#\x00\b\x00\x13\x00\x18\x00\x0b\x00\x05\x00\x0f\x00\a\x00\x01\x00\x0e\x00\x00\x16\x0c\x00\x00\x02\x0e\x00\x00\x01A\x00=\x00J\x00K\x00L\x00M\x00B\x00\n\x00\x00\x00\x1a\x00\x02\x00\x05\x00J\x00\x00\x01C\x00\x02\x00;\x00<\x00\x02\x00;\x00\n\x00\x00\x00\x0e\x00\n\x00\x00\x01;\x00\x00\x00\x0c\x00\x02\x00\x0c\x00\x00,\x0c\x00\x00\x00\x0e\x00\x0c\x00\x00\x02\x0c\x00;\x00N\x00J\x00E\x00F\x00@\x00\x00\x1e\x0b\x00\x16\x00O\x00P\x00\x12\x00\x17\x00\x18\x00\x15\x00\x0b\x00\t\x00\"\x00)\x00\x17\x00.\x00\"\x00Q\x008\x000\x008\x006\x01/\x000\x006\x004\x00I\x00Q\x007\x00R\x008\x000\x006\x010\x00Q\x008\x006\x00?\x01\x1f\x004\x00-\x001\x00)\x009\x00#\x00\x10\x00&\x00\x1d\x00\x0c\x00\x01\x00\x17\x00\x13\x00S\x00\x00\x01\x05\x00\x00\x15\x0c\x00\x02\x00\x00\x01\x04\x00\x0c\x00\x00\x00A\x00B\x00K\x01L\x00T\x00U\x00<\x00\x00\x00V\x00\x02\x00\x0c\x00V\x00\x00\x00\n\x00C\x00\n\x00A\x00\n\x00\x04\x00W\x00\x02\x01;\x00\x0c\x01\x16\x00\x02\x00\x00\x00\x02\x00@\x00\x00-\x04\x00\x00\x03\x16\x00\x00\x01W\x00E\x00M\x00A\x00E\x00@\x00\x00\x20P\x00X\x00Y\x00O\x00\x0c\x00\x17\x00\"\x00\x1d\x00\t\x00\"\x009\x00)\x00.\x01?\x000\x008\x00/\x020\x006\x000\x00.\x00Q\x00/\x007\x000\x006\x02Q\x00/\x000\x02+\x00*\x00-\x007\x00'\x009\x00)\x00\"\x001\x00\t\x00\x1c\x00\x18\x00\x11\x00\x0e\x00\x05\x01\x03\x00\a\x00\x0e\x00\x00\x13\x0c\x00\x00\x01\x0e\x00\x0c\x00\x00\x00\x0e\x00;\x00\x00\x00\n\x00Z\x00[\x00U\x00\\\x00]\x00U\x00A\x00\x00\x00\x1a\x00\x02\x01J\x00\x0c\x00@\x00=\x00\x02\x00\x1a\x00\n\x00\x04\x00B\x00\x02\x01A\x00\x0c\x01\x16\x00\x02\x00\x0c\x00;\x00\x0c\x00\x00\x00\x0c\x00\x0e\x00\x00$\n\x00\x00\x01\x0e\x00\x00\x01!\x00\x00\x00\x0e\x00\x00\x01\x0e\x00\x00\x00\x05\x00=\x00F\x00E\x01N\x00A\x00\x0c\x00\x00\x1e\x0f\x00^\x00_\x00`\x003\x00\x17\x00\x0f\x00\t\x00\x18\x00'\x00)\x01?\x00'\x01\"\x009\x006\x008\x00R\x007\x00/\x006\x00*\x00Q\x00.\x00/\x00Q\x000\x006\x017\x00Q\x000\x02*\x007\x000\x01?\x008\x00$\x00?\x00\x1f\x00\x1d\x00(\x00\"\x00\x03\x00\x0f\x00\x03\x00\x13\x00\x10\x00\b\x00\x05\x00\x00\x14;\x00\x00\x01\x02\x00A\x00\x0c\x00\x00\x00A\x00\x02\x00\x04\x00U\x00E\x00T\x00[\x00U\x00A\x00V\x00\x00\x00W\x00<\x00\x04\x00J\x00\x00\x00A\x00=\x00\x00\x00V\x00\x00\x00\x02\x00\x1a\x00\x04\x00;\x01\x02\x00A\x00;\x00\x04\x00<\x00;\x00\x04\x00\x00\x00=\x00\x00\x00\x05\x00\x0c\x00\x00#\x0e\x00\x00\x00\x0e\x00\x00\x01\x0e\x00\x00\x00@\x00\x00\x01\x16\x00\x00\x00@\x00a\x00W\x00b\x00F\x00D\x00\n\x00\x00\x00\x0c\x00\x00\x14\n\x00\x00\x04\x0c\x00\x00\x00\x16\x00\x12\x00c\x00d\x00`\x00S\x00\t\x00(\x00\x18\x00#\x00\x20\x00.\x004\x00.\x004\x006\x004\x005\x00$\x006\x00?\x00/\x00Q\x008\x004\x00.\x00I\x007\x010\x006\x01e\x007\x008\x01/\x000\x026\x00?\x006\x00*\x00\"\x00.\x009\x00#\x00\t\x00\x17\x00(\x00\x17\x00\b\x00\x05\x01\x0f\x00\x01\x00\x0e\x00\x00\x0f\x02\x00\x00\x01\x02\x00;\x00\x00\x00\x02\x00;\x01\x02\x00S\x00A\x00\x02\x00B\x00U\x00M\x00T\x00M\x00C\x00\x1a\x00\x02\x00=\x00\x1a\x00\x04\x00J\x00\x0c\x00A\x00f\x00\x0c\x00J\x00\x02\x00;\x01\x02\x00B\x00\x02\x01\x1a\x00\x02\x01\x1a\x00\x02\x00\x00\x00=\x00\x0e\x00\x05\x00\x00\x00\n\x00\x02\x00\x00\x1f\x0e\x00\x0c\x00\x00\x00\x16\x00\x00\x00;\x00\x00\x00;\x01\x00\x00\x16\x00\x0c\x00\x00\x00;\x00\x00\x00\x16\x00\x0c\x01\x16\x00\n\x00\x16\x00\x0c\x00\x00\x00\x0e\x00\x0c\x00\x00\x10\x0e\x00\x00\x01=\x00\x00\x04;\x00\x05\x01\b\x00\x0f\x00\a\x00(\x00\x18\x00\x17\x00\x20\x00+\x00.\x00?\x00.\x00Q\x00/\x010\x016\x00e\x00.\x004\x000\x00Q\x00.\x00Q\x00.\x00\"\x00I\x007\x000\x006\x00.\x00I\x007\x00Q\x01*\x016\x020\x014\x00?\x00\"\x00)\x00'\x00\"\x00\x20\x00\b\x00\x0f\x00\x12\x00\x13\x00\x17\x00\x03\x00\x05\x01\x00\x0f\n\x01\x00\x01;\x01\x02\x01\x1a\x00\x02\x01V\x00\n\x00\x04\x00Z\x00S\x00B\x00G\x00<\x00\x1a\x00\n\x00B\x01\x02\x00J\x00\x0e\x00\x1a\x00\\\x00\x02\x00J\x00\x04\x00J\x00\x02\x00<\x00V\x00\x02\x00A\x01\x00\x00=\x00A\x00\x02\x00\n\x00A\x00\x05\x00\x00\x00\n\x01\x00\x1e@\x00\x00\x01\x0e\x00\x00\x00;\x00\x02\x00\x00\x00\x16\x00=\x00J\x00\x0c\x00\x16\x00;\x00\x00\x00G\x00\x0c\x00\x16\x00\x0c\x00\x16\x00a\x00\x0c\x00@\x00\x00\x00\x04\x00\x0e\x00\x00\x0b\x0c\x00\x00\x01\x0e\x00\x00\x01;\x00\x00\x01A\x00\x00\x01;\x00\x00\x01A\x00\b\x00\x1c\x00\a\x00\b\x00S\x00=\x00\x03\x00\x17\x00(\x00'\x00.\x00\"\x005\x004\x000\x008\x00/\x028\x00.\x00I\x00'\x00.\x01I\x00.\x005\x00I\x00*\x006\x000\x00I\x00$\x00*\x00Q\x00$\x006\x030\x028\x004\x00?\x00'\x00\x1d\x01\x13\x00(\x00\x18\x00\r\x00\x0e\x00\x02\x00\x00\x0f\x0c\x00\x00\x00\x0c\x00\x00\x00\x0e\x00S\x00\x02\x00\n\x00\x16\x00=\x00\x04\x00<\x00G\x00\n\x00;\x00W\x00\x02\x00V\x00A\x00<\x00J\x00S\x00g\x00<\x00=\x00g\x00=\x00]\x00;\x00M\x00\\\x00B\x00M\x00;\x00F\x00S\x00A\x01\x0c\x00J\x00S\x00\x02\x00g\x00\x02\x01\x1a\x00\x02\x00\x04\x00a\x00A\x00\x02\x02;\x00\x00\x19\x0e\x00\x00\x00\x0e\x00\x02\x00\x00\x00\x16\x00\x00\x00\x0e\x00@\x00\x0c\x00\x16\x00A\x00Z\x00\x0c\x00a\x00\x16\x00!\x00\x16\x00\x0e\x00G\x00a\x00G\x00a\x00\x0e\x00@\x00\x00\x00\x16\x00\x00\x00\x0e\x00\x01\x00\x00\x01\x0e\x00\x00\x06S\x00\x00\x01\x16\x00\x00\x01\x16\x00\x00\x01B\x00\x00\x01\x1a\x00\x00\x01\x1e\x00h\x00\x1e\x00\a\x00\x10\x00\x13\x00\x14\x00\x17\x00\a\x00\x1b\x00\x20\x00\x18\x00'\x006\x00*\x000\x006\x000\x008\x00/\x017\x00I\x02.\x00I\x00e\x002\x00+\x00*\x008\x00I\x00\x1f\x00*\x00$\x00.\x00*\x007\x048\x010\x008\x00$\x00\"\x00*\x001\x00\x1d\x00\x1c\x00\x05\x00\x03\x00\a\x00\r\x01\a\x00\x01\x00!\x00\x00\x0c\x0e\x00\x0c\x00\x00\x01;\x00\x0e\x00\x00\x00\n\x00\x1a\x00\x02\x01\x1a\x00;\x00\x02\x00V\x00S\x01B\x00=\x00J\x00C\x00V\x00=\x00A\x00J\x00C\x00Z\x00=\x00M\x00i\x00V\x00\x1a\x00=\x00\x1a\x00<\x00U\x00<\x00A\x00M\x00S\x00B\x00A\x00\n\x00A\x01\x02\x01W\x00\x02\x00\x04\x00\n\x00\x16\x00\x00\x1a\x0e\x00\x00\x01@\x00\x00\x00\x0e\x00\x16\x00\x0e\x00G\x00\x0e\x00G\x00A\x00[\x00a\x00;\x00G\x00@\x01\x0c\x00W\x01G\x00a\x00\x16\x00\x0c\x00@\x00G\x00;\x00G\x00\x00\x01\x0e\x00\x00\a;\x00\x00\x01;\x00\x0e\x00\x00\x00\x0f\x00\x00\x01A\x00\x00\x01F\x00\x00\x00\x05\x00e\x00j\x00e\x00\x1c\x00\x02\x00;\x00\x01\x00\x1c\x00\x13\x001\x00*\x00'\x00.\x005\x00/\x000\x008\x00/\x008\x00/\x027\x00I\x015\x00*\x00+\x00%\x00+\x007\x00+\x01.\x00$\x00.\x00\"\x005\x00.\x00Q\x00*\x000\x024\x01*\x00$\x00.\x00\"\x00(\x011\x00(\x00\x17\x00\x03\x00\x04\x00\x05\x00\x00\x00\x05\x00\x00\x01\x0c\x00\x00\t\x0c\x00\x00\x00;\x00\x04\x00\x00\x01G\x00\n\x00\x02\x00@\x00\x1a\x00\x02\x00\n\x00k\x00O\x00B\x01\n\x00Z\x00=\x00W\x00O\x00C\x00J\x00f\x00]\x00B\x00K\x00C\x00]\x00i\x00L\x00=\x00B\x00O\x00B\x00J\x00=\x00J\x00;\x00\x0e\x00U\x00\x04\x00=\x00\x1a\x00\x02\x00\x00\x00\x1a\x00\x02\x00\x04\x00\n\x00;\x00\x00\x00\x02\x00\x00\x00\n\x00\x00\x15@\x00\x00\x00\x0c\x00a\x00\x00\x00\x01\x00\x0e\x00\x0c\x00G\x00a\x00G\x00a\x01;\x00l\x00b\x00\x0b\x00G\x00D\x00\x0e\x00a\x00b\x00;\x00W\x00a\x00G\x00@\x00:\x00b\x00a\x00\x16\x00\x00\x00\x0e\x00@\x00\x00\x00\n\x00;\x00\x00\x01=\x00\n\x00\x00\x01;\x00\x00\x01W\x00\x00\x00\x0c\x00\x16\x00\x00\x00A\x00\x02\x00\x0c\x00M\x00\x00\x00\b\x00j\x01Q\x00\t\x00\x17\x00m\x00\x17\x00\r\x00\x17\x00\x13\x00\x1f\x00'\x004\x00*\x000\x00/\x008\x00/\x017\x00Q\x01I\x007\x005\x00)\x00$\x00I\x00n\x00>\x00)\x00>\x00\x1d\x00\"\x00n\x002\x00\"\x00*\x004\x00*\x01$\x01\"\x00$\x00'\x014\x006\x00'\x00.\x00#\x00\x1c\x00\x05\x01\x04\x00\x01\x00\x03\x00\x19\x00\a\x00\x0e\x00\x0c\x00\x0e\x00\x00\x04\x0c\x00\x00\x02\n\x00\x0c\x00\x00\x01B\x00\x0e\x00\x05\x00\n\x00\x1a\x00<\x00\x00\x00B\x00;\x00<\x00V\x00B\x00\x10\x00Z\x00;\x00M\x00V\x00B\x00M\x00C\x00K\x00A\x00]\x00B\x00c\x00C\x00o\x00^\x00K\x00A\x00J\x00M\x00\x1a\x00U\x00L\x00T\x00;\x00V\x00A\x00\x02\x00]\x00\n\x00\x00\x00B\x00=\x00\x02\x01\x1a\x00\x02\x02;\x00\x02\x00\x0c\x00\x00\x11\x0c\x00\x04\x00\x00\x00\x0e\x01\x0c\x00\x16\x00\x0e\x00@\x00p\x00q\x00N\x00a\x00G\x00b\x00;\x00=\x00r\x00b\x00D\x00\x10\x00b\x00\x0e\x00G\x00b\x00W\x00D\x00\x01\x01G\x00s\x00a\x00\x1a\x00\x0e\x00\x00\x00G\x00\x0c\x00\x00\x00\x16\x00\x0c\x00;\x00\x0e\x00\x00\x00=\x00\x00\x01W\x00\x00\x01W\x00\x00\x00\x0c\x00A\x00\x00\x00O\x00\n\x00\x00\x00U\x00\x00\x00\x0b\x00e\x00j\x002\x00\x0c\x00\x0e\x00\a\x00\x1d\x00\"\x00t\x00(\x00\"\x00t\x009\x004\x00t\x00-\x000\x00-\x006\x01?\x00#\x00+\x00I\x00e\x00+\x00#\x007\x00h\x00>\x00\x20\x00\x17\x00\x20\x00>\x00h\x00.\x007\x058\x006\x010\x006\x00*\x00$\x00\"\x00\x18\x00(\x00'\x00\"\x00(\x00\x13\x00\r\x00\a\x00\b\x00\x0e\x00\x02\x00\x0c\x00\n\x00\x00\x00\x0c\x00\x0e\x00\x0c\x01\x00\x01\x0c\x00\x00\x00\x0c\x00S\x00\x0c\x00\x00\x00\n\x00;\x00\x0f\x00\x04\x00\n\x00V\x00<\x00\x05\x00J\x00=\x00\n\x00Z\x00C\x00K\x00J\x00\\\x00E\x00B\x00]\x00B\x00Z\x00\x1a\x00T\x00B\x00[\x00M\x00u\x00i\x00T\x00B\x00T\x00M\x00K\x00[\x00K\x00l\x00B\x00J\x00=\x00v\x00C\x00a\x00W\x00A\x00\x02\x00\n\x00V\x00\x02\x01\n\x00A\x00\x02\x00\x05\x00\x00\x10\x02\x00\x00\x01\x16\x00\x00\x01\x16\x00\n\x00\x0e\x00G\x01p\x00F\x00N\x00p\x00b\x02F\x00w\x00F\x00U\x00N\x00b\x00A\x00F\x00D\x00b\x00D\x00\x01\x01s\x00b\x00A\x00\x1a\x00@\x00G\x00\n\x01\x1a\x00\x0e\x00\b\x00D\x00\n\x00\x00\x00;\x00\n\x00\x00\x00A\x00\n\x00\x00\x00\x1a\x00\x02\x00\x00\x00\x1a\x00\x0c\x00O\x00\n\x00\x00\x00U\x00\x00\x00@\x00\t\x00\x1e\x00\x17\x00\x10\x00\x13\x00\x14\x00\x17\x00\x13\x01)\x01&\x00m\x003\x00x\x00t\x00?\x000\x008\x01/\x007\x02Q\x00+\x00h\x00)\x00h\x00>\x00\x20\x00\x1e\x00>\x005\x00+\x005\x00.\x00Q\x007\x00/\x008\x00/\x020\x00/\x008\x00/\x000\x00/\x005\x00\x1d\x00\x1c\x01\x03\x00\b\x00\x0e\x00;\x00\x0e\x00a\x00!\x00\x00\x00=\x00\x00\x00\x0c\x00\x0e\x00\x0c\x00\x0e\x00\x0c\x01\x0e\x00\x00\x01\b\x00\x16\x00\n\x01\x02\x00B\x00=\x00\x0e\x00=\x00J\x00\n\x00S\x00J\x00A\x00C\x00V\x00A\x00y\x00K\x00Z\x00B\x00Z\x00B\x00]\x00M\x00T\x00B\x00z\x00{\x00|\x00o\x00Z\x00U\x00}\x00U\x00y\x00z\x00C\x00y\x00Z\x00C\x00\\\x00o\x00\x0e\x00A\x00\x1a\x00\x02\x00\x04\x00F\x00\n\x00\x04\x00;\x00B\x00\x02\x01\x00\x00\x04\x00\x02\x00\x00\x0f\x05\x00\x00\x01\x16\x00\x0c\x01J\x00=\x00\n\x00N\x00~\x00W\x00N\x00p\x00F\x00N\x00D\x00F\x00~\x00Z\x00l\x00\x7f\x00D\x00b\x00\x10\x00a\x00N\x00D\x00N\x00\x80\x00q\x00a\x00N\x00W\x00\x16\x00W\x00A\x00\x1a\x00W\x00=\x00;\x00=\x00W\x00\x00\x00\n\x00G\x00\x00\x00\x0c\x00\x1a\x00\x00\x00O\x00\n\x00\x00\x00\x1a\x00\x00\x00<\x00A\x00\x0c\x00M\x00\x00\x00W\x00=\x00\x16\x00J\x00\x0b\x00\x1a\x00\r\x00\t\x00s\x00\x17\x00\x1d\x00(\x00\x81\x00\x82\x00M\x00k\x004\x008\x017\x01Q\x01I\x00e\x005\x00>\x00h\x00>\x00\x1c\x00\x20\x00I\x00)\x00>\x01+\x005\x00I\x00.\x00/\x000\x02\x83\x01\x84\x004\x000\x028\x00*\x00.\x00\"\x00)\x01\x14\x00\x13\x01\x1b\x00\a\x00\x16\x00\x05\x00G\x00\x0c\x00;\x00\x0c\x00\x00\x00;\x00\x0c\x00\n\x00;\x00\x04\x00\x0e\x00\x0c\x01G\x00A\x00\x02\x00\n\x00\x1a\x00A\x00\x0f\x00B\x00Z\x00A\x00B\x00]\x00\\\x00z\x00B\x00M\x00c\x00w\x00Z\x00U\x00]\x01U\x00[\x00\\\x00\x85\x00u\x00\x86\x00\x87\x00z\x01K\x00Z\x00K\x00[\x00z\x01T\x00\\\x00^\x00A\x00;\x00o\x00<\x00S\x00J\x00;\x00\x04\x00;\x00\x1a\x00\x05\x00\x04\x00\n\x00\x0e\x00\x02\x00\x0c\x00\x00\x0f\x0e\x01\x00\x00\x0e\x00G\x00\x0c\x00\x0f\x00k\x00B\x00b\x00N\x00k\x00\x80\x00b\x00\x88\x00s\x00\x80\x01l\x00\x89\x00y\x00\x7f\x00g\x00b\x00F\x00D\x00N\x00s\x00\x8a\x00\x88\x00b\x00g\x00~\x00D\x00s\x00N\x00D\x00G\x00@\x00g\x00=\x00\n\x00A\x00\x16\x00\x00\x00O\x00\n\x00\x00\x00J\x00\x02\x00\x0c\x00J\x00\x05\x00J\x00\x02\x00<\x00M\x00\x05\x00U\x00\x00\x00U\x00S\x00\\\x00\x1a\x00\x16\x00k\x00\x03\x00\r\x00\x13\x01(\x00&\x00\x8b\x00k\x00O\x003\x00t\x00*\x007\x00.\x001\x00\x84\x00$\x007\x00.\x00+\x00h\x005\x00>\x00\x1c\x01>\x00\x20\x01>\x01)\x00+\x00I\x017\x00/\x000\x00\x84\x00~\x00b\x00\x83\x009\x004\x00&\x00\x1f\x00)\x00\x1d\x00\x20\x00\x01\x01\x0e\x00\x0c\x00\x16\x00!\x00\x01\x00\x0c\x01=\x00\x0c\x00\x16\x00\x0c\x01\x01\x00\n\x00@\x00\x0c\x00\x0e\x00G\x00\x0c\x01a\x00O\x00\x1a\x00\x0e\x00\x02\x00\x1a\x00A\x00;\x00B\x00k\x00P\x00z\x00M\x00o\x00K\x00o\x00T\x00y\x00\x8c\x00L\x00]\x00T\x01[\x00L\x00|\x00^\x00\x8d\x00u\x00\x8e\x00|\x00J\x00[\x00M\x00c\x00T\x00z\x00M\x00u\x00{\x00O\x00Z\x00B\x00C\x00Z\x00B\x00\x04\x00\x16\x00\x1a\x00\n\x00\x02\x00\x04\x00;\x00\n\x00\x0c\x00\x00\x00\x0c\x00\x02\x00\x0c\x00\x00\n\x0e\x00\x05\x00\x00\x00\x0e\x00\x16\x00\x0c\x01G\x00@\x00B\x00[\x00D\x00\x7f\x00\x88\x00F\x00b\x00\x88\x00D\x00\x80\x00~\x01w\x00r\x00\x80\x00N\x00b\x00\x88\x00N\x00\x80\x00\x8f\x00s\x00q\x00F\x00l\x00\x89\x00\x8a\x00\x88\x00W\x00s\x00A\x00@\x00b\x00B\x00\x0e\x00A\x00g\x00\x00\x01\x1a\x00\x02\x00=\x00A\x00\x00\x00V\x00;\x00g\x00=\x00C\x00g\x00<\x00]\x00S\x00{\x00\x10\x00^\x00\x10\x01k\x00\r\x00k\x00\x10\x00\x17\x00m\x00\x18\x00\"\x00x\x00\x8b\x003\x00\x8b\x00(\x00\"\x01'\x00.\x02I\x005\x00h\x00+\x00>\x01e\x00>\x00\x20\x01)\x01+\x015\x00e\x00.\x007\x01\x84\x00s\x00W\x00s\x00\x83\x004\x00\x84\x004\x00\x84\x01&\x01\"\x00(\x00\x13\x00s\x00\r\x00\a\x00a\x00\x0c\x00G\x00\x0e\x00W\x00@\x02\x0c\x00@\x00\n\x00@\x00;\x00W\x00;\x00\x0e\x00\x02\x00;\x00\x1a\x00<\x01J\x00\x1a\x00A\x00U\x00F\x00Z\x00\x8c\x00|\x00\x90\x00o\x00E\x00T\x00\x85\x00\x8e\x00}\x00U\x00K\x01T\x00|\x00^\x00\x91\x00\x92\x00r\x00[\x00U\x00Z\x00T\x00K\x00o\x00T\x00\x93\x00u\x00U\x00K\x00w\x02J\x00\x1a\x00J\x00V\x00A\x00\x16\x00B\x00\x1a\x00;\x00\x00\x00\x0c\x00\n\x00S\x00\x0c\x00\x00\b\x04\x00\x00\x00\x0c\x00\a\x00s\x00k\x00\x13\x00s\x02m\x00F\x00A\x00l\x01D\x00p\x00N\x00b\x00s\x00D\x00N\x00\x80\x00\x94\x00\x95\x00}\x00\x80\x00\x88\x01q\x00~\x00\x96\x00\x80\x00D\x00s\x00\x80\x00\x8a\x00E\x00l\x00b\x00N\x00G\x00J\x00U\x00G\x01\a\x00\x0e\x00C\x00W\x00=\x00J\x00\n\x00\x0e\x00{\x00;\x00M\x00C\x00M\x00Z\x00U\x01!\x00K\x00A\x00U\x00C\x00\x93\x00A\x00=\x00J\x00\x16\x00E\x00\x17\x00\x14\x00&\x00*\x00t\x00\x8b\x00&\x00\x81\x009\x004\x009\x004\x007\x00Q\x01I\x015\x00$\x00I\x00)\x00h\x00)\x00>\x01.\x00>\x00%\x00+\x00.\x00>\x00+\x00I\x004\x000\x00\x83\x00(\x00m\x00\x84\x004\x01\x84\x00\"\x00n\x00\x20\x00\x1c\x00H\x00\x0b\x00D\x00M\x00D\x00@\x00a\x00A\x00;\x00b\x00A\x00N\x00@\x00\x16\x00\n\x00=\x00A\x00=\x00\x1a\x00\x0c\x00\x02\x00\x1a\x01\x02\x00@\x00a\x00J\x00C\x00O\x00]\x00O\x00\x1a\x00]\x00U\x00y\x00z\x00}\x00\x85\x00T\x00l\x00Z\x00\x92\x00\x8c\x00}\x01T\x00u\x00|\x00u\x00\x97\x00\x98\x00T\x00|\x00T\x00u\x00K\x00u\x00|\x00u\x00\x86\x00}\x00\x99\x00w\x00[\x01A\x00=\x00J\x00B\x00\n\x01A\x00\x0e\x00\x0c\x00\x00\x00\x02\x00\x16\x00;\x00\x00\n\b\x00\x04\x01\x00\x00\x05\x00\x0b\x00@\x00a\x00b\x00q\x00s\x00\x8f\x00\x9a\x00\x80\x00\x95\x00\x89\x01l\x00q\x00b\x00l\x00\x88\x01\x9b\x00\x9a\x00r\x00\x9c\x00b\x00N\x00\x8a\x00\x96\x00\x9d\x00\x88\x00\x80\x00\x8a\x00\x96\x00\x9a\x00N\x00J\x00~\x00g\x00G\x00\x89\x00k\x00F\x00E\x00Z\x00=\x00W\x00J\x00S\x00<\x00\x1a\x00=\x00{\x00v\x00\x1a\x00U\x00T\x00c\x00U\x00K\x00\x0e\x00T\x00=\x00E\x00\\\x00Y\x00c\x01k\x00\x82\x00\x14\x00s\x003\x00)\x01(\x00\"\x00&\x00-\x006\x00?\x004\x00*\x008\x01*\x00Q\x00*\x000\x005\x02>\x00h\x005\x00>\x00'\x004\x00\"\x00)\x00e\x00I\x017\x00.\x00*\x004\x009\x00\x83\x004\x000\x008\x01$\x00\"\x00&\x00(\x01\x14\x01w\x00\x10\x00G\x00a\x00G\x00\x01\x00N\x00s\x01b\x01\x0e\x00J\x00S\x00G\x00b\x00@\x00;\x01@\x00Z\x00A\x00;\x01k\x00{\x00\\\x00u\x00U\x01[\x00y\x00o\x00T\x00\x9e\x00\x98\x00\x9f\x00T\x00|\x00\x8c\x00\x99\x00\x9f\x00u\x00|\x01\x90\x00\xa0\x00\xa1\x00u\x01y\x00T\x00|\x00\xa2\x00\xa1\x00\x91\x00\x99\x00\x8e\x00r\x00K\x01F\x00M\x00]\x00C\x00=\x00A\x00\x1a\x00\x02\x02A\x00G\x00\x02\x00\x00\x00\x0c\x00\x00\x01\x0c\x00\x00\b\x0e\x00;\x00\x00\x00\n\x00\x01\x00G\x00W\x00a\x00b\x00\x7f\x00\x80\x00\x9d\x00\x9a\x00\xa3\x00~\x00\xa4\x00~\x00N\x00p\x01\x80\x00l\x00\xa5\x00\xa6\x00\x89\x00N\x00\x9c\x00\xa5\x00\x96\x00\x9c\x00\x80\x00\xa5\x00\xa7\x00\x89\x01s\x00p\x00N\x00p\x00w\x00D\x00g\x00\x7f\x00W\x00D\x00w\x00\x10\x00J\x00l\x00\x1a\x00Z\x00B\x00V\x00\xa8\x00B\x00[\x00y\x00\\\x00T\x00[\x00A\x00T\x00=\x00Z\x00^\x00\xa9\x00\xaa\x00u\x00W\x00J\x00O\x00\x14\x00\x8b\x00\"\x00t\x00&\x00(\x00\x84\x004\x008\x004\x00/\x008\x000\x004\x007\x000\x01.\x005\x00.\x01+\x00.\x00?\x00+\x00.\x000\x009\x00'\x00+\x00.\x00*\x00Q\x007\x00Q\x007\x00$\x004\x006\x004\x007\x00/\x00\x83\x005\x00n\x00\xab\x01\x0b\x00@\x00~\x00F\x00\x10\x00D\x00\xab\x00b\x00\x7f\x00Z\x00J\x00\x7f\x00b\x00a\x00p\x00;\x00G\x00a\x00F\x01G\x01a\x00F\x00J\x00C\x00=\x00J\x00M\x00U\x00\x90\x00Z\x00{\x00}\x00r\x01[\x00|\x00\xac\x00\x9e\x00|\x01\x99\x00\xac\x00|\x01\x86\x00\xad\x00\xac\x00\x86\x00r\x00u\x00r\x00\x8e\x00\xad\x00\x86\x01\xae\x00\x98\x00w\x00g\x00K\x00V\x00U\x00Z\x00A\x00C\x00V\x00O\x00\n\x00S\x00;\x00J\x00<\x00\x02\x00\n\x01;\x00\x0e\x00\x02\x00\x0c\x00\x00\x05\x0e\x01\x00\x01\x02\x00G\x00@\x00\x0e\x00a\x00F\x00:\x00D\x00N\x00\x88\x00\x80\x00\x96\x00\xaf\x00\xa6\x00\x80\x00\xa3\x00\x8a\x00\x80\x00\x7f\x00s\x00~\x00\xb0\x01\x89\x00p\x00\x9a\x00\x96\x00\x9c\x00\xb1\x00\xb2\x00\x96\x00\xb3\x00p\x00\x80\x00p\x00s\x00p\x00w\x00~\x00\x80\x00~\x00\x8b\x00~\x00\x10\x00W\x00J\x00G\x00w\x00c\x00[\x00U\x00B\x00u\x00\xb4\x00}\x00[\x00w\x00[\x01U\x00y\x00J\x00K\x00\x90\x01_\x00\x85\x00\x14\x003\x00m\x003\x00\x10\x01s\x00\"\x009\x00-\x008\x004\x016\x004\x00\x84\x007\x010\x00$\x00I\x00$\x00*\x005\x00.\x00*\x006\x005\x00I\x000\x01?\x00*\x005\x007\x000\x00/\x027\x000\x01\x83\x004\x00$\x005\x004\x00\"\x00\x83\x00\x8b\x00(\x00\x10\x00~\x00F\x00\x1a\x00D\x00b\x00q\x00\x7f\x00l\x00N\x01F\x00J\x00]\x00W\x00N\x00s\x00\x80\x00s\x00J\x00p\x00O\x00G\x00J\x00c\x00[\x00~\x00w\x00k\x00[\x00^\x00o\x00K\x00}\x00T\x00c\x00u\x00\x86\x00\x92\x00\xb5\x00\x9f\x00|\x00\xac\x00\x98\x00\x9f\x00\xa1\x00\xa0\x00\xb6\x00|\x00\x86\x00r\x00\xa1\x01\x91\x00r\x00\xae\x00\x9f\x00r\x00L\x00c\x00L\x00U\x00Z\x00\x1a\x00B\x00J\x00=\x00C\x00=\x00J\x00B\x00\x02\x01\n\x00A\x01\n\x00\x02\x00\x00\x01\x0c\x00\x00\x05\x04\x00\x16\x00\x0e\x00\x00\x00\x0c\x00;\x00G\x00@\x00W\x00F\x00b\x01F\x00\x88\x00s\x00\x9d\x00\x94\x00\x8a\x00\x95\x00\x9b\x00\xa5\x00\x8a\x00~\x00\x89\x00\xa3\x00\xb7\x00\x8a\x01\x94\x00\xb1\x00\xa4\x00\x94\x00\x8a\x00\x95\x00\x89\x00\x9c\x00\x88\x00\x9c\x00\x8a\x00\x95\x00\x9a\x02~\x00[\x00Z\x00\x1a\x00A\x00Z\x00W\x00B\x00~\x00y\x00\x81\x00T\x00u\x01K\x00}\x00r\x00p\x00y\x00F\x00r\x00L\x00K\x00\xb8\x01Y\x00K\x00M\x00]\x00B\x00l\x00\x13\x003\x00\x8b\x00)\x00(\x00\x84\x004\x009\x01?\x004\x00\x18\x00\x1c\x00\x1f\x007\x00Q\x00$\x007\x00.\x00I\x007\x000\x006\x00.\x005\x00*\x006\x027\x00.\x007\x000\x00/\x03\x83\x00\x84\x01\"\x00\x84\x01I\x00n\x00q\x00s\x01w\x00~\x00s\x00b\x00k\x00b\x00\x88\x00\x80\x00p\x00\x88\x00N\x00w\x00L\x00N\x00\x8f\x00~\x00F\x00@\x00G\x00W\x00U\x00F\x00@\x00\x0e\x00]\x00w\x00c\x00\xa6\x00\x99\x00\x8e\x00|\x00\x85\x00z\x00u\x00r\x00u\x00\x90\x00\x86\x00\xa1\x00\xb9\x00\x98\x00\x9f\x00\xba\x00\xad\x00\x98\x00\xb9\x00\xbb\x00\xa1\x00\x86\x00\x98\x00\xad\x00\x91\x00\xa1\x00\xa0\x00\x99\x00u\x00T\x00c\x00T\x00Z\x00K\x00M\x00F\x00V\x00C\x00@\x00J\x01=\x00\x02\x00<\x00\x1a\x01=\x00\n\x00\x02\x00\x00\x00\x0c\x00\x02\x00\x00\x04\n\x00\x00\x02\x0e\x00G\x00\x0e\x00a\x00\x0e\x00\xab\x00G\x01F\x00b\x00F\x00N\x01s\x00\x8a\x00\x94\x00\xb0\x00\xa4\x00\xbc\x00\xa5\x00\x89\x00\x9b\x00\xbd\x00\x94\x00\x96\x00\xb0\x00\x96\x00\x8a\x00\xb7\x00\x8a\x00\xb3\x00\x8e\x00\x89\x00p\x00~\x00\x96\x00\xaf\x00\x9a\x00\x8a\x00\x7f\x00\x89\x00\xb3\x00D\x01l\x00B\x00W\x00Z\x00M\x00J\x00Z\x00y\x00\x9e\x00}\x00`\x00\x89\x00\x9f\x01\x89\x00y\x00U\x00|\x00r\x00T\x00\xbe\x00\x90\x00|\x00M\x00Z\x00l\x003\x01k\x00\x10\x00\x17\x00\x81\x004\x00'\x00&\x009\x01\x83\x008\x00+\x00\x15\x00\"\x007\x00*\x007\x00*\x00\"\x00.\x000\x016\x00.\x005\x007\x006\x000\x006\x018\x00$\x007\x00-\x000\x00/\x027\x00\x83\x00\x84\x00n\x02&\x00\"\x00\x13\x00s\x00N\x00~\x00\x7f\x00\x88\x00N\x00D\x00b\x00N\x00p\x00l\x00E\x00\xb3\x00~\x00\x9a\x00\x80\x00b\x00N\x00F\x01@\x00G\x00V\x00Z\x00\x1a\x01C\x00}\x00u\x00}\x00\x8e\x00\xbf\x00\xc0\x00\xae\x00\x98\x00|\x02\x86\x00\xa1\x00\x98\x00\xb9\x00\xa1\x00\xa0\x00\xb9\x00\xac\x00\xc1\x00\xc2\x00\xa1\x00\xad\x00\xb5\x00\xbb\x00\x91\x00\xb9\x00\xad\x00|\x00u\x00r\x00u\x00K\x00[\x00U\x00]\x00M\x01B\x00Z\x00B\x00;\x00<\x00M\x00E\x00U\x00B\x00W\x00=\x00S\x00;\x01\x0e\x00\x00\x03\x0c\x01a\x00G\x00\n\x00\x00\x00\x05\x00G\x00b\x00a\x00D\x00G\x00F\x00b\x01N\x00E\x00s\x00p\x00\x80\x00\x8a\x00\x94\x00\xa3\x00\xa4\x01\xb0\x00\xbc\x00\xa3\x00\xc3\x00\xb7\x00\xa5\x00\x96\x00\xb7\x00\xbc\x00\xb3\x00\xa6\x00\x89\x00\x9b\x00\xb0\x00\x94\x00\xa4\x00\x9c\x00~\x00\x89\x01l\x00N\x00l\x00F\x00W\x00y\x00W\x00J\x00[\x00M\x00]\x00U\x00\x9f\x00\x99\x00\x91\x00\x9f\x00|\x00r\x00\xb3\x00w\x00T\x00u\x00r\x00|\x00\x91\x00u\x00|\x00[\x00k\x00J\x00[\x00U\x00\x14\x003\x00t\x00(\x00t\x009\x00x\x00$\x004\x02*\x004\x007\x024\x007\x00Q\x016\x00?\x000\x00*\x00e\x00Q\x00/\x006\x03/\x00$\x007\x000\x02/\x015\x00n\x00\x8b\x00\x84\x00\x13\x00s\x01q\x00\x8b\x00w\x00\x8e\x00s\x00\x80\x00\a\x00N\x00g\x00p\x00g\x00w\x00\xb3\x00\x95\x00\xa7\x00\x8a\x00E\x00N\x00W\x00F\x00b\x00J\x00b\x00\x1a\x00g\x00E\x00T\x00B\x00l\x00y\x00}\x00y\x00r\x00y\x00\x9f\x00\xae\x00\xc0\x00\xad\x00\x9f\x00\x86\x01\x91\x00\xad\x00\xb9\x00\xac\x00\xc1\x00\xc4\x00\xc5\x00\xc2\x00\xad\x00\xb5\x00\x97\x00\xbb\x00\xa0\x00\xac\x00|\x01r\x00|\x00u\x00K\x00T\x00r\x00\x85\x00\x81\x00\x99\x00\x8e\x00w\x00[\x00K\x00J\x00B\x00M\x00T\x01[\x00E\x00C\x00<\x00\x00\x05\n\x00W\x00b\x00D\x00G\x00\x16\x00@\x00\x03\x00s\x00\x9d\x00\x8a\x00\x8f\x00s\x00\x80\x00\x88\x00\x7f\x00~\x00\x9c\x02\x9b\x01\x94\x00\xa3\x00\xa6\x00\xb7\x00\xa5\x00\xa3\x00\xc3\x00\xb7\x00\x96\x00\xb7\x00\xc6\x00\x9b\x00\xbd\x00\xb3\x00\xa4\x00\x94\x01\xa4\x00\x95\x01\xa4\x00\xa6\x00\xa3\x00\x9b\x00~\x00\x8a\x00\x95\x00\x8b\x00\xa4\x00\x95\x00s\x00k\x00U\x00K\x00[\x00\x87\x00\x98\x00\xc0\x00\xbe\x00\xa1\x01\x9f\x00|\x00T\x00}\x01\xae\x00\x86\x00\x93\x00z\x00[\x00J\x00c\x00~\x00\x81\x00k\x00J\x00\x8b\x00t\x00\x8b\x00\x13\x00&\x00x\x008\x00?\x009\x016\x000\x00\x84\x010\x00Q\x007\x016\x000\x008\x01.\x007\x016\x00?\x006\x01-\x007\x00$\x00&\x00\x83\x00/\x00\x83\x00\"\x00$\x00\x84\x00(\x00\x15\x00s\x00(\x00\x8f\x00F\x00p\x01\xa6\x00\xa4\x00\x9c\x00F\x00E\x00p\x00T\x00y\x00|\x00\x85\x00\x8e\x00r\x00y\x00\x85\x00L\x00U\x00b\x00A\x00g\x00F\x00Z\x00p\x00g\x00L\x00w\x01l\x00\x95\x00\x8e\x00|\x03\xac\x00\xc7\x01\x91\x01\x8d\x00\xbb\x00\xa0\x00\xb5\x00\xac\x00\xc4\x00\xa0\x00\xc5\x00\xc1\x00\xa0\x00\xbb\x00\xa0\x00\xb5\x00\xa1\x00\x86\x01|\x00u\x00}\x00\x8c\x00\x98\x00\xae\x00\x98\x00r\x00K\x00]\x00z\x00k\x00U\x00]\x00[\x00w\x00T\x00o\x00L\x00T\x00\x1a\x00\x02\x00\x0c\x00\x02\x00\n\x00\x02\x00\x0c\x00a\x00N\x00k\x00F\x00E\x00b\x01\x10\x00N\x01\x80\x01m\x00\x96\x00\xa7\x00\xb2\x00\x8a\x01p\x00~\x00\x89\x01\x9b\x00\xa4\x00\xb7\x00\xa3\x00\xb3\x00\x94\x00\xa3\x01\xb7\x01\x94\x00\xa6\x00\xbd\x00\xa3\x00\xb0\x00\xb7\x01\xc3\x00\xa3\x00\xa4\x00\x89\x00y\x00w\x00\x8e\x00~\x00\x9a\x00~\x00\x8a\x00~\x00k\x00~\x00[\x00\x89\x00w\x00T\x00}\x00\xb8\x00\x86\x00\x97\x00\xad\x00\x86\x00\xad\x00\x8c\x00r\x00y\x00|\x00r\x00\x92\x00\x86\x00\x90\x00}\x00K\x00z\x00w\x00o\x00[\x01\x81\x013\x00s\x00t\x00\xc8\x00\"\x004\x00t\x004\x006\x004\x00t\x00$\x00*\x00/\x007\x000\x00*\x006\x000\x008\x00*\x00Q\x000\x00/\x000\x006\x04/\x00\x84\x00&\x004\x00\x83\x02$\x01&\x00s\x00q\x00\xab\x00\x8b\x00m\x00~\x01\xa5\x00\x9c\x00K\x00u\x00\x90\x01\xb8\x00\xc9\x00\xb8\x04\x90\x00\xa9\x00\x93\x00c\x00s\x01\x8a\x00\x89\x00\x81\x01\xa6\x01T\x00B\x00p\x00\xbd\x00\xba\x00\xc0\x00\xac\x02\xa0\x00\xb9\x00\xac\x00\xbb\x00\xc2\x01\xca\x01\xc4\x00\xa0\x01\xb5\x00\xbb\x00\xa0\x00\xca\x00\x91\x01\xa1\x02|\x00\x99\x00\x97\x00\x91\x00|\x00^\x00J\x00[\x00K\x00V\x00M\x00B\x00E\x00r\x00y\x00{\x00f\x00z\x00M\x00B\x00A\x01;\x00\x0e\x00\x00\x00\x0c\x00\x16\x00s\x00U\x00M\x00k\x00\x80\x00b\x00D\x00G\x00a\x00b\x01D\x00N\x00k\x00\x8e\x00\xa4\x00\xb2\x00\x9c\x00\xa4\x00\x9b\x00r\x00\x95\x00\x9b\x00\xb0\x00\xb7\x00\xa6\x00\xa3\x00\xb7\x01\xc6\x01\xc3\x00\xa6\x00\xbd\x00\xb0\x00\xb7\x01\x94\x01\xa3\x00\xa6\x00L\x00C\x00~\x00r\x00w\x00\x95\x01w\x00r\x00w\x00}\x00[\x00]\x00J\x00y\x00\x90\x00\xb8\x01\xa1\x00\xc0\x00\xa1\x00\xad\x01|\x00r\x00|\x01\xad\x00\xa1\x00\x86\x00K\x00}\x00z\x00y\x00|\x00\x8c\x01\x8b\x00]\x00k\x00t\x00\x85\x003\x009\x00\x84\x009\x01?\x00t\x00\"\x008\x000\x008\x00*\x000\x008\x006\x01*\x01Q\x00/\x010\x016\x00\x83\x00-\x000\x00/\x00\x83\x00\x8b\x00n\x00\x84\x01\x9d\x00\x84\x00\x83\x00n\x01\x8b\x00b\x00s\x00E\x00\x95\x00\x9b\x00\xbc\x00z\x00\xa9\x00_\x00\xb8\x00_\x00\xb8\x01\xa9\x00_\x00\xb8\x01_\x00\xb8\x00\xc9\x00\xb8\x00\xa9\x00\x90\x00\x8e\x00w\x00~\x00l\x00\x89\x01\x95\x00M\x00C\x00[\x00\x8e\x00y\x00\xa1\x00\x92\x00\xac\x00\xb9\x00\xc7\x00\xca\x00\xc4\x00\xc7\x00\xb6\x00\xc2\x00\xa0\x00\xc4\x01\xca\x01\xa0\x01\xc1\x00\xa0\x00\xbb\x01\xad\x01\xc7\x01\xbb\x00\x91\x00u\x00K\x01z\x00L\x00M\x00U\x00K\x00Z\x00U\x01T\x00y\x00L\x00c\x00l\x00B\x00<\x00\x02\x00\x00\x02\x05\x00@\x00J\x00E\x00C\x00\x1a\x00\x7f\x00\x88\x00b\x01\x16\x00G\x00b\x00g\x00N\x00b\x00p\x00w\x00\xa3\x00\xc3\x00\x94\x00\xa5\x00\xa4\x00\xbc\x00\x8c\x00\xa3\x00\xb0\x00\xaf\x00\xb0\x00\xb7\x00\xc6\x02\xb0\x00\xc3\x00\xc6\x00\xb7\x02\xb0\x00\xbc\x00\x8c\x01T\x00U\x00p\x00\x95\x00\x89\x00L\x00E\x00\xb3\x00z\x00\x8e\x00\x92\x00\x99\x00\x8e\x00z\x00y\x00|\x00\x90\x01}\x00\x98\x00\xba\x00\x91\x00\xad\x00\xac\x00r\x00\x86\x00|\x00\xbb\x00\xad\x00|\x00r\x00u\x00\x9f\x01\xc0\x00\x8e\x00c\x00\x14\x00\x81\x00\x85\x00`\x00\x8e\x00t\x00x\x01&\x00t\x009\x00\"\x00*\x00?\x004\x010\x026\x018\x00$\x007\x000\x03?\x00-\x000\x00-\x00\x83\x00/\x009\x00\x8f\x00\x13\x00\x83\x00n\x00m\x00\x9a\x00\xb2\x00\x9d\x00q\x00~\x00m\x00p\x00\x89\x00\xa4\x00\x81\x00\xb8\x00\xc9\x00_\x00\xb8\x00\xa9\x00\xc9\x00\xa9\x00\xb8\x01_\x00\xb8\x00_\x00\xb8\x01\x90\x00\xb8\x00\xa9\x00}\x00E\x00p\x00l\x00\x7f\x00l\x00\x89\x01w\x00l\x00\xb3\x00|\x02\xa1\x00\xad\x00\xa0\x00\xc1\x00\xca\x00\xc4\x01\xc1\x00\xa0\x00\xc4\x02\xb5\x00\xa0\x00\xc7\x00\xa0\x00\xbb\x01\xa0\x01\xb9\x00\xa0\x00\xad\x01\x9f\x00|\x01T\x00L\x00z\x00K\x00J\x00W\x00O\x00=\x00Z\x00[\x00Z\x00U\x01B\x00S\x00\x02\x00\x0c\x01\x02\x01\x00\x00;\x00N\x00p\x00\x80\x00~\x00g\x00W\x00a\x00\x0b\x00\x88\x00b\x01N\x00D\x00\x9c\x00p\x00\x80\x00\x8a\x00\xc3\x00\xb7\x01\x94\x00\xb0\x00\xa6\x01\xa3\x00\xa4\x00\xb7\x01\x94\x00\xb7\x02\xb0\x00\xc6\x01\xc3\x00\xa3\x00\x8c\x00\x9f\x00\xb3\x01\x9f\x00\x99\x00\x9f\x00r\x01\x95\x00\xa6\x00Z\x00\xb3\x00w\x01\x9f\x00\x92\x00\x99\x00u\x01r\x02\x9f\x00\xac\x00\xa0\x00\xa1\x00\xac\x00\x9f\x00\x86\x00\x9f\x00\x97\x00\xc7\x00\xa1\x00r\x00\xa1\x00\xac\x00\x99\x00r\x00\x8e\x00w\x00\x8e\x00\x99\x00\x92\x00\x8e\x00c\x00\x81\x00t\x00\x14\x00\x8b\x00\x84\x00(\x00&\x00\x84\x00*\x000\x008\x004\x00-\x000\x00?\x000\x00/\x00I\x00*\x004\x000\x026\x000\x00\x83\x004\x00\x84\x004\x01\x81\x00\x8b\x00q\x00&\x00q\x01\x9d\x00\xb2\x00\x8a\x00\x9d\x00\x7f\x00\x8a\x00~\x00\xa4\x00\xa6\x00`\x00\xb8\x00\xa9\x00\xb8\x00\xa9\x00\xc9\x00\xb8\x04\xa9\x00\xb8\x00\xc9\x00\xb8\x00_\x00`\x01E\x02[\x00}\x00z\x00\x89\x00w\x00y\x00\x85\x00|\x00\xa1\x01\x91\x00\xbb\x00\xc5\x00\xb6\x00\xc1\x00\xc4\x00\xb9\x00\xb5\x00\xc4\x03\xac\x00\xca\x01\xa0\x00\xac\x00\xc1\x00\xca\x00\xb5\x00\xca\x00\xa0\x00\xb5\x00\xba\x00\xa0\x00\xae\x00\xc7\x00\x92\x00\xba\x00y\x00]\x01L\x00Z\x00J\x00A\x01C\x00J\x00B\x00=\x00;\x00A\x01;\x01\x04\x00\x00\x00\x02\x00a\x00b\x00W\x00D\x00G\x00F\x00b\x00G\x01b\x00D\x00\x80\x00\x8f\x00\xb2\x00\xa5\x00\x94\x00\xa5\x02\xb0\x00\xb7\x00\xc3\x00\xc6\x00\xb7\x00\x96\x00\xb0\x00\xb7\x00\xa4\x00\x94\x00\xb7\x01\xc6\x02\xb7\x00\xc3\x02\xbd\x00\xa3\x01\xbd\x00\xba\x00\xbd\x00\xa6\x00\xb3\x00\x89\x02l\x00\x89\x00l\x00[\x00\x9f\x00\xad\x00\xae\x00\x9f\x00}\x00\x9f\x00|\x00\x9f\x00\xa1\x00\xc7\x00\x91\x00\xa0\x01\x86\x00\x91\x00\xc5\x00\xb5\x00\xa1\x00\xad\x00\xb9\x00\x98\x00|\x00\x9f\x00\x9e\x00\xba\x00\xae\x01\xbf\x00}\x00\x01\x00\x81\x00m\x00\x81\x00\x84\x00(\x00m\x00t\x000\x014\x01\x83\x00?\x000\x006\x00?\x008\x00\"\x008\x010\x006\x010\x00\x83\x006\x00\x84\x00\x83\x00&\x00\x83\x00\x8f\x00\x95\x00\xa4\x00\x9a\x00\x8f\x00\x9d\x00N\x00\x8f\x01\xa5\x00\xa4\x00\x89\x00\x9c\x00\x94\x00\xa7\x00\xcb\x00\xc9\x00\x93\x01\x87\x00\x90\x00\x93\x00\xb8\x01\xa9\x00\xb8\x00\xc9\x00\xb8\x00\xc9\x00\xcc\x00\xcd\x01X\x00k\x00w\x01u\x01w\x00|\x01\xa1\x01\xad\x00\x91\x00\x8d\x00\xb6\x00\xbb\x00\xc5\x00\xb6\x00\xc1\x00\xca\x01\xc4\x00\xac\x00\xb5\x00\xc4\x01\xb6\x00\xb5\x00\xac\x00\xad\x00\xb5\x00\xca\x00\xa0\x00\xc2\x00\x91\x01\xa1\x02|\x00r\x00y\x00\x8e\x00\x9f\x00\x8e\x00}\x00M\x00B\x00C\x00=\x00B\x00U\x00]\x00U\x00\x1a\x00=\x00\n\x00\x00\x05@\x00a\x01\x0c\x00a\x02b\x01s\x00\x8a\x01\xb1\x00\x80\x00\x9c\x01\x89\x00\x9b\x00r\x00\xbc\x00\xa6\x00\xa3\x00\xc3\x00\xc6\x01\xb1\x00\xc6\x00\xbc\x00\xa5\x00\x94\x00\x96\x00\xb1\x00\xb7\x06\xaf\x02\x94\x00\xaf\x02\xa7\x01\x8a\x00y\x00l\x00r\x01[\x00\x86\x00\x91\x00\xad\x00}\x00|\x01\x86\x00\xa1\x00\xc7\x00\xb6\x00\xbb\x00\xb5\x00\xad\x00\xbb\x00\xc5\x00\xb5\x00\xac\x00\xb9\x00\x98\x00\xa1\x00\x98\x00\xb9\x00\x98\x00\xa1\x00\xa2\x00\x81\x00\xa1\x00\x85\x00\x81\x01\x14\x003\x00k\x00X\x00\x11\x009\x004\x009\x00t\x004\x00-\x004\x000\x006\x00?\x008\x00$\x01)\x000\x00?\x004\x00\x83\x00-\x00$\x00\x84\x00n\x00\x84\x00n\x00k\x00=\x00\xa7\x00\xce\x00\xa5\x00\xb2\x00\x9a\x00\x96\x00\x9d\x00\xb1\x00\xa5\x00\xb0\x00\xb1\x00\x96\x00\xa6\x00\xcc\x00\xb8\x00\x93\x00{\x00C\x00f\x00\xb4\x00^\x00\x93\x00\xa9\x00\xc9\x01\xcc\x00d\x01\xcd\x01\x8e\x00p\x00\x7f\x00E\x00\x89\x01r\x00\x8e\x00\x99\x00\x98\x00\xc7\x00\xa0\x00\xc7\x00\xca\x06\xc4\x01\xba\x00\x9f\x00\x98\x00\xc0\x00\xbe\x00\x8c\x00|\x00\xb5\x01\xa0\x00\xc2\x02\xbb\x00\x91\x00\x86\x01|\x01}\x00K\x00M\x00T\x00w\x00y\x00[\x00L\x00J\x00V\x00f\x00S\x01\x05\x00\x00\x01\x0c\x02\x00\x02\x0e\x00\x16\x00\x01\x00b\x00\x01\x00G\x02N\x00s\x00q\x00\x88\x00\x7f\x00p\x00\x9c\x00\x89\x00\x95\x00r\x00\x95\x00\x8e\x00\x98\x00\x99\x00\xa3\x00\xc3\x00\xb0\x00\xa5\x00\xb1\x00\x89\x00~\x00\x96\x01\xb7\b\xb0\x00\xbc\x00\xbd\x00\xbc\x00\xa4\x01\x9b\x00\x8c\x00\xbd\x00\xa7\x00\xce\x00\x9f\x00\x85\x00\x9f\x00|\x00\x91\x01\xc0\x00\xac\x00\xa1\x01\x91\x00\xad\x00\xca\x00\xbb\x00\xa0\x01\xc2\x00\xa0\x00\xca\x00\xb9\x00\xad\x00\xac\x00\xb5\x00\xae\x00\x91\x00\x86\x01Y\x00u\x00w\x00\x81\x003\x00~\x00t\x00c\x01k\x00&\x009\x01\"\x009\x00$\x004\x01\x84\x00-\x009\x008\x00'\x005\x00n\x00*\x000\x00.\x00\x84\x00$\x00&\x00\x84\x00n\x00\x8f\x00\x8b\x00m\x01\xa7\x01\xce\x00\x8a\x00\x96\x00\xb2\x00\x94\x00\x8a\x00\xb1\x00\x96\x00\xa5\x00\x94\x00\xa3\x00\xcb\x00\xa9\x00\x87\x00\xb4\x00S\x00<\x00\\\x00i\x00\x87\x00\x93\x00\xc9\x00\xcb\x00\xcc\x00d\x00\xcf\x00\xcd\x00\xd0\x01r\x00~\x00w\x00\x8e\x00\x9e\x00\xbf\x00\x99\x01\x92\x00\xad\x00\xac\x00\x92\x00\xba\x00\xb5\x00\xc4\x05\xca\x00\xc7\x00\xac\x00i\x00_\x00\xd1\x00i\x00\xa1\x00\xb5\x00\xc1\x00\xc5\x00\xa0\x00\xc5\x01\xbb\x00\x91\x01\x86\x01|\x00u\x01\x85\x00[\x00L\x00U\x00Z\x00J\x00W\x00A\x02;\x00B\x02C\x00A\x01\x0e\x00\x00\x04\x02\x00a\x00W\x00D\x00\x88\x00N\x01\x7f\x00E\x00l\x01\x89\x00w\x00\xb3\x00\xa6\x01\xa3\x03\xb7\x00\x94\x00\xb0\x00\xa4\x00U\x00C\x00U\x00\x89\x00\xbc\x00\xb0\x00\xc6\x00\xc3\x00\xa6\x00\xbd\x00\xa3\x01\xc3\x00\xb7\x00\x94\x00\xaf\x00\xc3\x00\xa3\x00\x89\x01y\x00w\x00\x9e\x01\xbd\x00\xac\x00\xb9\x00\x9e\x00\xac\x00\xc5\x00\xad\x00\xc4\x00\xac\x00\x91\x00\xad\x00\xbb\x00\xca\x00\xa0\x00\xb6\x00\xca\x00\xa0\x01\xc4\x00\xb5\x00\xa0\x00\xca\x00\xa0\x00\xa1\x00\x86\x01|\x00w\x00\x85\x00\x81\x00}\x00\x85\x00`\x00u\x00o\x00k\x00\x82\x00t\x00$\x00&\x00\x18\x00\x84\x00&\x00\x8b\x009\x00$\x000\x018\x004\x00\"\x00/\x00*\x00$\x00\"\x009\x00\x18\x00\x84\x00(\x00t\x00\x88\x00$\x00&\x00\xce\x02\x89\x00\x81\x00\x95\x00\x9b\x00\x8a\x00\x94\x00\xa5\x00\x96\x00\xa5\x00\x94\x00\xa6\x00`\x00\xc9\x00\x87\x00i\x00S\x00f\x00\\\x00i\x00\x87\x00\xa9\x00\xb8\x00\xcb\x00\xcc\x00d\x01\xcd\x00\xd0\x00\x81\x01\xa7\x00\x99\x00\xce\x00\xa4\x00[\x00y\x00|\x00\x9f\x00\xa1\x00\xac\x00\xc1\x00\xb9\x00\xc7\x00\xc1\x00\xa0\x00\xc5\x01\xa0\x00\xc7\x00\xca\x00\xa0\x00\x91\x00_\x00\xd2\x00\xd3\x00_\x00\xa2\x00\xc7\x01\xc4\x00\xac\x00\xca\x00\xc7\x00\xc1\x00\xa0\x00\x91\x01\x86\x00\x90\x00u\x01^\x00u\x00o\x00Z\x00E\x00w\x00c\x00J\x00B\x00W\x00=\x00\n\x01\x02\x01\x00\x01\x0c\x00\x00\x00\x05\x00\x16\x00@\x00G\x00\x01\x00\x1b\x00\a\x00q\x00b\x00\x1a\x00\x16\x00g\x00N\x00E\x00p\x00\x89\x00\x9b\x00\xa4\x00\xb0\x00\xb7\x03\xc6\x00\xb7\x00\x94\x00\x95\x00K\x00\xb4\x00f\x00M\x00\xa4\x00\x94\x00\xb7\x01\xa3\x00\xa6\x01\x89\x00y\x00\xa6\x00\x8c\x00\xa3\x00\xb0\x00\xb7\x00\xaf\x01\x99\x00\x8e\x00\x89\x01\x9f\x01\xb3\x00\xa1\x00\x8c\x00\x98\x00\xae\x00\xb9\x02\xa0\x00\xbb\x00\xc5\x00\xc1\x00\xca\x00\xb6\x00\xca\x00\xc1\x01\xca\x00\xb5\x00\xc4\x00\xbb\x00\x8d\x01\x91\x00|\x00\xa1\x00\x98\x00\x9e\x00\x92\x00\xae\x00\x92\x00\x86\x00\x81\x01\xd0\x00\xce\x00t\x013\x00t\x00\x18\x009\x00%\x009\x00\"\x00?\x006\x00*\x00\x84\x00\"\x00)\x00-\x00)\x00'\x00n\x00(\x01m\x00\x13\x00\x81\x00\x9c\x00\x8b\x00\x8f\x00\x95\x00\x8b\x00\x80\x01\x81\x00\x99\x00\xb3\x00\xa4\x00\xa3\x00\xb7\x00\xc6\x00\xb7\x00\xa7\x00`\x00\xc9\x00\x87\x00i\x00S\x01\\\x00i\x00\x87\x00\x90\x00\xb8\x00\xcb\x00\xcc\x00d\x00\xcd\x01\xd0\x01\x8b\x00\x8e\x00\x95\x00\xb3\x00r\x00\x8a\x00y\x00\x8c\x00\xba\x00\xc0\x00\xba\x00\x98\x00\xad\x00\xc5\x00\xad\x00u\x00\x91\x00\xc2\x00\xbb\x00\xca\x00\xc4\x00\xb9\x01\xb8\x00\xd3\x01\xd1\x00\xbe\x00\x97\x00\xac\x00\xc1\x00\xc4\x00\xb5\x00\xc4\x00\xb9\x00\xc4\x00\xb9\x00\xc7\x00\xb6\x00\x86\x01\xb8\x00u\x00K\x00L\x00M\x01C\x00\x1a\x01a\x00\x0e\x00\x02\x00\n\x00\x00\x02\x0c\x00\x00\a\x0c\x00G\x01b\x00E\x00s\x00p\x00~\x00\xb3\x01\x8e\x00\xaf\x00\x94\x00\xc6\x00\x94\x00\xb7\x02\xc6\x00\xa3\x00\xa4\x01\x9b\x00E\x00W\x00\x80\x00\xa5\x00\x94\x00\xc6\x00\xb7\x00\xaf\x00\xb7\x00\x94\x00\xbc\x00\x95\x00\xa6\x00\x8c\x00\x95\x00\x9f\x00\x8e\x00\xa6\x01\xce\x00\xa7\x00\xa6\x00r\x00[\x00r\x00|\x01\xa1\x02\xad\x00\xa0\x01\xca\x00\xc1\x00\xc5\x00\xb6\x00\xb5\x00\xc1\x00\xa0\x00\xc4\x03\xb6\x00\xbb\x00\x8d\x00\xc2\x00\xad\x00\xa0\x00\xb9\x00\xc0\x00\xae\x00\x8e\x00\x99\x00\x85\x02u\x00w\x00\x81\x00\x8e\x003\x00\x14\x00\x8b\x00\x17\x00&\x00)\x00&\x001\x00'\x00?\x00.\x001\x00n\x01\x84\x00n\x004\x00)\x00\x84\x00\x80\x00\x84\x00m\x00\x8b\x00\x8f\x00\xa4\x00\xa7\x00\x8f\x00\xb2\x00\x8a\x01~\x00\xa4\x00\xa6\x01\x9f\x00\xb0\x00\xc6\x00\x94\x00\x9a\x00\xcc\x00\xa9\x00\x87\x00{\x00\n\x00=\x00\\\x00i\x00\x93\x00_\x00\xc9\x00\xcb\x00\xcc\x00d\x01\xcd\x01\xcf\x00l\x00\x89\x00E\x00l\x00p\x00\x8e\x00\x9e\x00\xbf\x00\x98\x00\x9f\x01\xad\x00\x91\x00\xbb\x00\xa1\x00}\x00\xb5\x00\xc4\x00\xb9\x00\xc4\x02\xae\x00T\x00_\x00\xd1\x00i\x00r\x00\xc7\x00\xc5\x00\xac\x00\xca\x00\xc1\x00\xa0\x00\xc7\x00\xb9\x00\xb5\x00\xac\x01\xae\x00\x99\x00|\x00\x90\x00}\x00K\x00]\x00J\x00{\x00J\x00]\x00V\x00\x1a\x00J\x00\x1a\x00V\x00\x1a\x00A\x01;\x00\x00\x04\x0c\x01@\x00a\x00W\x00A\x00b\x00l\x00\x89\x01\x9c\x00\xa3\x00\xb2\x00\x96\x01\x94\x01\xb0\x01\x94\x00\xb0\x00\xa4\x00\xb7\x00\xb0\x00\xb1\x00\xa5\x00~\x00\x95\x00\xb1\x00\xc6\x00\xb7\x02\xa3\x00\xb7\x01\xb0\x00\xb7\x00\xa3\x00\xa6\x00\xb3\x00w\x00\x89\x00\x9b\x00r\x00\x8e\x00\xce\x00\x8c\x01u\x00\x90\x00\x86\x00\xa1\x00\x86\x00\x91\x01\xbb\x01\xa0\x00\xca\x00\xb5\x01\xc1\x00\xb5\x02\xc4\x01\xa0\x00\xb6\x00\xc5\x00\xc1\x00\xc7\x01\xca\x00\xac\x01|\x00\x8c\x00\x9f\x00}\x00u\x00|\x00\x85\x01\xd4\x00\"\x00\a\x00m\x00\x14\x00(\x00\x14\x00\"\x00\x1d\x00.\x00Q\x004\x005\x00\"\x00)\x00n\x01(\x00\"\x00\x18\x00\x8f\x02\x8b\x00\x80\x00\x8b\x00\x9d\x00\x8b\x00\x9a\x01\x94\x02\xb0\x01\xa3\x00\xbd\x00\xa6\x00\xa3\x00\x94\x00\xa5\x00\xcb\x00_\x00\x93\x00i\x00=\x00S\x00\\\x00i\x00\x93\x00\x90\x00\xcb\x01\xbe\x00d\x00\xcd\x01\xd0\x01~\x00\x95\x00~\x00\xa6\x01\x9e\x00\x9f\x03\xa1\x00\x91\x00\xad\x00\xca\x00\xb9\x02\xa0\x00\xb6\x00\xca\x00\xc4\x01\x98\x00\x9f\x00\xbe\x00\x97\x00\x9e\x00\x9f\x00\x98\x00\xca\x00\xc1\x00\xb6\x00\xca\x00\xc7\x00\x91\x00\xad\x00\xc1\x00\xb9\x00\x98\x00\x9f\x00\xa1\x00\x99\x00r\x00U\x01C\x00B\x01C\x00A\x00S\x00\x02\x01\x00\x01\x0c\x00\x00\x04\x0e\x01@\x01;\x00\x16\x00@\x00G\x00b\x01N\x01~\x00\x8f\x00\x9d\x00\xb1\x00\xb0\x00\x94\x00\xa4\x01\xb0\x00\x94\x00\xb0\x00\xa3\x00\x94\x00\xa4\x00\xb1\x00\x94\x00\xb0\x00\xa6\x01\xa4\x00\x96\x00\xb7\x02\xbd\x00\xa6\x00\xc3\x00\xb7\x00\xb0\x01\xc3\x00\xbc\x00\x8c\x00\xb3\x00\x89\x00E\x00|\x00\x9f\x00\x8e\x00\x9e\x00\x99\x00\xa1\x00\x91\x00\x86\x00\x8d\x01\xbb\x00\xc2\x01\xc5\x00\xa0\x00\xac\x00\x98\x00\xa0\x02\xc4\x02\xc1\x01\xc4\x01\xca\x00\xc4\x01\xc7\x00\xb9\x02\xc0\x01\x9e\x00\x8c\x00w\x00c\x00\x81\x00\xd0\x00u\x003\x00\x01\x00(\x00\a\x00\x18\x00\b\x00&\x005\x00\x84\x00n\x00&\x00\x18\x01\t\x00\"\x00\x15\x00m\x00\xab\x00&\x00q\x00\x8b\x00\x80\x00~\x00k\x00\x80\x00\x8a\x00\x80\x00\x9b\x00\xa3\x00\xb7\x02\xb0\x00\xb7\x00\xa3\x00\xb0\x00\xb7\x00\xa7\x00\x86\x00\xa9\x00\x87\x00{\x00<\x00\x0f\x00v\x00i\x00\x93\x01\xb8\x00\xcb\x00\xcc\x00d\x01\xcd\x01\x85\x00\x89\x00r\x00w\x00\x99\x00\xbd\x00\xb3\x02|\x00\x9f\x00\x98\x01\xc7\x00\xae\x00\xb5\x00\xb9\x00\xb6\x00\xbb\x00\xca\x00\xc4\x01\xac\x01\xc1\x00\xa0\x00\xc1\x00\xb5\x00\xc7\x00\xac\x00\xb5\x00\xc4\x00\xc7\x00\xc5\x00\xc1\x00\xac\x00\xad\x00\xa1\x00\x91\x00\xac\x00\xc0\x00\xad\x00r\x00\x9f\x00\x8e\x00K\x00T\x00[\x01T\x00Z\x00V\x00\x1a\x01B\x00=\x00\n\x00\x02\x01\x00\x00\x0c\x00\x00\x03\x02\x00\x0e\x01W\x00b\x00\xab\x00b\x00N\x00~\x00\x8a\x00\xb1\x00\x96\x00\x94\x00\x96\x00\xb1\x00\x9b\x00\xa4\x00\xb7\x00\xa3\x00\xb0\x00\xb7\x00\xc6\x00\x96\x00\xb7\x00\xb0\x00\xb7\x01\xb0\x00\x94\x00\xb0\x00\x96\x00\xb7\x02\xc3\x00\xa6\x00\xbd\x00\xc3\x00\xa3\x00\xbc\x01\x8a\x01\xb3\x00\x9f\x00|\x00\x86\x00\x90\x00\x86\x01\x91\x00\xad\x00\xa0\x03\xc5\x00\xa0\x00\xc5\x00\xa0\x00\xb5\x00\xac\x00\xb3\x00\xa2\x00\xac\x00\xc4\x01\xae\x00\xac\x00\xb5\x00\xc4\x01\xca\x00\xa0\x00\xb6\x00\x91\x00\xa1\x01\x9f\x00|\x00\x85\x00\x8e\x00\x9e\x00\x99\x00\xbf\x00\xd0\x00\x85\x00u\x00\x10\x00\a\x00\"\x00\x1a\x00\x8b\x00V\x00\x81\x00)\x00t\x00)\x00\x8b\x00\x03\x00\x10\x00\x01\x00&\x00\xab\x00(\x00\xab\x00&\x00\xab\x00\x15\x00\x8f\x00\x8a\x00\xa5\x00\x94\x00\xb2\x00\x94\x01\xaf\x00\x94\x01\xc6\x04\x94\x01\x8e\x00d\x00Y\x00^\x00V\x00O\x00\xb4\x00i\x00\x87\x00\x90\x00\xb8\x01\xcc\x00d\x00\xcd\x01\xd0\x00\x92\x00\xa6\x00\xbd\x00\xce\x00r\x00|\x00y\x00T\x00z\x00|\x00\x98\x00\x8c\x00\xad\x01\xa0\x00\xc7\x00\xbb\x00\xb6\x00\xc1\x00\xc4\x01\xb5\x00\xa0\x00\xc1\x00\xc7\x00\xc1\x00\xca\x00\xc1\x00\xb5\x00\xa0\x00\xc1\x00\xc4\x02\xb6\x00\xac\x00\xc7\x00\x91\x00|\x01\x9f\x00\x99\x00\x9e\x00\x92\x00\x9f\x00r\x00U\x00A\x00\x01\x00@\x01;\x00=\x00;\x01\x0f\x00A\x00B\x00=\x00;\x00\x0e\x00\x00\x00\x0c\x00\x0e\x00\x16\x00A\x00G\x01D\x02G"
b"\x00N\x00\x80\x00\x9d\x00\xa5\x00\x9a\x00\x8f\x00\x8a\x00\x89\x00\xa4\x00\x94\x00\xbc\x00\xb0\x00\x94\x00\xb7\x00\xc6\x00\xc3\x00\xb7\x01\xaf\x00\xb7\x00\xb0\x00\xc6\x00\xc3\x00\xb7\x00\xb0\x00\xb7\x03\xa3\x00\xbc\x00\xbd\x00\xbc\x00\xb3\x02\x9f\x00\xb3\x01\xa6\x00\xba\x00\x9e\x00\xac\x00\xba\x01\xb5\x00\xc4\x00\xb9\x00\xc4\x00\xca\x00\xc1\x01\xb9\x00\xc7\x00\xac\x00u\x00_\x00\xbe\x00\x8e\x00\x9f\x00\x98\x00\xc4\x01\xca\x00\xc1\x01\xb6\x00\xbb\x00\x91\x00\xa1\x00\x86\x00|\x02z\x00c\x00z\x00\x92\x00\xbf\x00\x9e\x00\x81\x00\x85\x00w\x00k\x00\x0f\x00\x14\x00\x04\x00\x13\x00)\x004\x00k\x003\x00W\x00s\x00;\x00\x14\x00\x03\x00n\x00q\x00n\x00\"\x00\x8f\x00\xb2\x01\x8f\x01\x8a\x03\xa4\x00\xb0\x01\xb7\x02\xbc\x00\x96\x00\xc6\x00\x8e\x00\xcb\x00d\x01\xcf\x00`\x03\xcc\x00`\x00d\x03\xcd\x00\xd0\x00\x9a\x00\xaf\x00\xa7\x00\xa6\x00\x89\x00~\x00\x95\x00\x8e\x00\xb3\x00\x89\x00y\x00\xa1\x01\xad\x00\xc7\x00\xad\x00\xa0\x00\xb9\x00\xc4\x00\xb9\x00\xc1\x03\xc4\x00\xc1\x00\xca\x01\xb5\x00\xca\x00\xa0\x00\xca\x00\xc7\x00\xc1\x00\xc7\x00\xa0\x00\xac\x00\xb9\x00\x98\x00|\x02u\x01\xbf\x00\x9f\x00c\x00L\x00J\x00B\x00C\x00<\x00\x00\t\x0c\x00\x00\x03\x0e\x00@\x00\x0e\x00G\x00\x10\x00\x80\x00\x9a\x00~\x00N\x00\x9c\x00\x80\x01\x8a\x00\x94\x00\x96\x00\xb0\x00\x94\x00\xb7\x01\xc3\x01\xb7\x00\xb0\x00\xb7\x03\x98\x00\xbd\x00\xa3\x00\xc3\x00\xb7\x00\xaf\x00\xb7\x00\xc3\x00\xb0\x00\xbc\x01\xa6\x00\xb3\x00\x89\x00w\x00\x8c\x00\xbd\x00\x9e\x00\x98\x00\xad\x00\x98\x00\xac\x00\xba\x00\xb9\x00\xc4\x00\xb9\x00\xa0\x00\xb5\x02\xa0\x01\x97\x00\xd1\x00\xd3\x01^\x00\x8c\x00\xc0\x00\xca\x00\xc4\x00\xca\x00\xc1\x01\xa0\x00\xc2\x00\xbb\x00\x91\x00\xa1\x00}\x00|\x00}\x00|\x00u\x00k\x00\x81\x00\xcf\x00L\x00s\x00Z\x00m\x00\a\x00s\x00\x10\x00\x1a\x00\x14\x00(\x00t\x00l\x00y\x01w\x00\x7f\x00~\x00q\x01&\x00\xb2\x01\x8f\x00n\x00s\x00q\x00~\x01l\x00\x89\x00\xb3\x00\xbc\x00\x8c\x00\xa3\x00\xc3\x00\xb7\x02\x94\x00\x96\x00\x9b\x00\xa9\x00\x87\x00{\x00\\\x00\xb4\x00o\x00Y\x00\x90\x00\xb8\x00\xcb\x00`\x00\xcc\x00d\x01\xcd\x00\xd0\x00\x96\x00\xa7\x00\xb1\x00\x96\x00\x8a\x00\x95\x00\x89\x00T\x00w\x00\x9f\x02\x98\x00\xac\x00\xad\x00\xa0\x00\xc7\x00\xca\x00\xc4\x00\xc1\x02\xc5\x00\xbb\x00\xc4\x00\xca\x00\xa0\x00\xc5\x00\xca\x00\xc4\x00\xc1\x00\xb6\x00\xc7\x00\xa0\x00\x97\x00\xc4\x00\xad\x00\xac\x00\xba\x00\x9f\x00}\x00u\x00}\x00|\x00\x8e\x00\x81\x00\x85\x00U\x00O\x00=\x00;\x00O\x00J\x00U\x00b\x00\x16\x00\n\x00\x00\a\x0c\x00\x16\x01G\x00b\x01q\x00\x8f\x01\x8a\x00p\x00\x80\x00\x7f\x00\x80\x00\xaf\x00\x96\x00\xc6\x00\xc3\x00\xa3\x00\xb7\x00\xb0\x00\xa6\x00\xb7\x01\xa3\x00\x98\x00\xa3\x00\xb7\x01\xa3\x00\x98\x00\xa3\x00\xc3\x03\xbd\x00\xaf\x00\xbd\x00\x8c\x00\xb3\x00\x95\x01\x8e\x00\x8c\x00\x98\x00\xbd\x00\xba\x00\xc0\x00\xae\x00\xac\x01\xad\x01\xa0\x00\xb5\x00\xb9\x00\xc1\x00\xb6\x00\xac\x00\x97\x00\xb8\x00\xd3\x02\xd1\x00\x91\x00\xa0\x00\xc1\x00\xca\x00\xc4\x03\xca\x00\xc1\x00\xa0\x00\xc5\x00\xc2\x00\xa1\x00Y\x00u\x01c\x00k\x00]\x00k\x00]\x00J\x00c\x00]\x00m\x00s\x00k\x00~\x01t\x00T\x00U\x01c\x00J\x00E\x00(\x00n\x00\x84\x00q\x00\x88\x00q\x00n\x00m\x00\x80\x01\x7f\x00\x89\x00\x8a\x00\xb3\x00\xbc\x00\xa3\x00\xc3\x00\xb7\x04\xc3\x00\x8e\x00\xa9\x00\x87\x00\xb4\x00f\x00S\x00\\\x00i\x00\x87\x00\xa9\x00\xc9\x01\xcc\x00d\x00\xcd\x01\xd0\x00\xb2\x00\xaf\x00\xa5\x00\x8a\x00\x9a\x00\x8a\x00\x89\x01l\x00}\x00\x9f\x00\xa1\x00\x98\x00\xad\x01\xc7\x00\xc1\x01\xc7\x00\xa0\x00\xc1\x00\xc5\x00\x8d\x00\x97\x00\xca\x00\xc4\x00\xb6\x00\x8d\x00\xc2\x00\xca\x01\xb6\x01\xb9\x00\xb6\x00\xbb\x00\xc7\x00\xad\x00\x92\x00\xae\x00|\x00}\x00[\x00U\x00L\x00Z\x00\x8e\x00w\x00J\x00M\x00\n\x00\x00\x04A\x00;\x00=\x00\x0e\x00\x0c\x00\x00\x01@\x00\x0e\x00@\x00\x00\x00\x0c\x00a\x00G\x00\x88\x00\x8b\x00\x80\x00q\x00g\x00N\x00\x7f\x00\x80\x00\xb2\x00\xa4\x00\xb0\x00\xb7\x00\xbd\x00\xc3\x00\x94\x00\xa3\x01\x94\x00\xb7\x00\x98\x01\xa3\x00\xaf\x00\xb7\x01\x98\x00\x99\x00\xc3\x00\xbd\x00\xc3\x00\xb7\x00\xa4\x01\xa7\x01\x9b\x00\xb3\x00\x8e\x00\x8c\x00\xba\x00\x9f\x00[\x00\x9f\x01\xa1\x01\x98\x00\xad\x00\xa0\x00\xc7\x00\xa0\x00\xb6\x01\xca\x01\x98\x00T\x00\x87\x00\xd3\x00_\x00\x86\x00\xb9\x01\xc7\x00\xc1\x00\xb6\x00\xc1\x00\xca\x00\xc4\x01\xb5\x01\xc7\x00\xc0\x00\xa0\x00\xa1\x00\x86\x02^\x00\xb4\x00c\x00M\x00\a\x00\x10\x00G\x00~\x00b\x00~\x02\x8b\x00{\x00f\x00O\x00y\x00k\x00s\x00\x14\x00n\x005\x00q\x00\x88\x00n\x01N\x00p\x00\x89\x00\x95\x00\xa3\x01\xc3\x00\xb0\x00\xb7\x00\x94\x00\xb7\x00\xc6\x00\xb7\x00\xc6\x01\x96\x00\x8e\x00\xb8\x00\x93\x00{\x00f\x00S\x00C\x00i\x00\x87\x00\x93\x00\xcb\x00\xcc\x00\xbe\x00d\x01\xcd\x00\xa2\x00\x80\x00\x89\x00\x8a\x00\x88\x00\x9a\x00\x81\x00\x8b\x00\x9a\x00\xb3\x00r\x02\xa1\x00\xb6\x00\xba\x00\xb6\x00\xc5\x00\xc7\x00\xa0\x00\xc5\x01\x8d\x01\xc7\x00\xa0\x00\xc4\x00\x97\x00\x8d\x01\xc5\x00\xca\x00\xa0\x00\xc2\x00\xc1\x00\xc7\x00\x91\x00\x8d\x00\xc7\x00\x98\x00\x92\x00\x9e\x00T\x00K\x00z\x00]\x00Z\x00U\x00K\x00w\x00]\x01J\x00W\x00\n\x00\x00\x0c\x16\x00G\x00q\x00m\x00\x80\x00D\x00b\x00s\x02\x9a\x00\xb2\x00\x96\x00\xaf\x00\xbd\x00\xb3\x00\xb7\x00\xa7\x00\x99\x00\xc3\x00\xb7\x00\x99\x00\x98\x01\xa3\x00\xaf\x00\xc3\x00\xb7\x00\xbd\x00\x98\x00\xbd\x02\xc3\x00\xa3\x00\x9f\x00\xbc\x00\xa6\x00\xbd\x00\x9e\x00\xbd\x00\x99\x00\x98\x00\x8c\x00|\x00\x8c\x00\x9f\x00|\x00\xa1\x00\xad\x00\xc7\x00\xa0\x00\xb6\x00\xa0\x00\xca\x00\xc4\x00\xb5\x00\xac\x00\xad\x00\xac\x00\x9e\x00\xbe\x00u\x00\x9f\x00\xb5\x00\xb9\x00\xc4\x00\xc1\x00\xbb\x00\x8d\x00\xb6\x01\xca\x00\xc7\x00\xa0\x00\xad\x01\x92\x00\xc0\x00\x9e\x00\x8e\x00|\x01}\x01u\x00c\x00K\x00U\x00\x89\x00w\x00z\x00w\x00\x8e\x00w\x00z\x00L\x00]\x00\x95\x00c\x00E\x00s\x00\xab\x00n\x00\x84\x01\x8f\x00\x95\x00\x8e\x00\xb3\x00\x95\x00\xc3\x00\xaf\x00\x94\x01\xb0\x00\xb7\x01\xc3\x00\xa6\x00\x8c\x00\xb0\x00\xc6\x00\x94\x00\x8e\x00\x90\x00\x93\x00\xb4\x00S\x01\\\x00i\x00\x93\x00\x90\x00\xc9\x00\xcb\x00\xcc\x00d\x00\xcd\x00d\x00\xd0\x00~\x00\x9b\x00\x80\x00s\x00~\x00\x95\x00\x80\x00\x95\x00\xa6\x00\x81\x00y\x00\xa1\x00\xad\x00\x92\x00\x91\x00\xa1\x00\xac\x00\xa0\x00\xc5\x00\xc2\x03\xca\x00\xa0\x00\xc7\x00\xc2\x00\x8d\x01\xbb\x00\xc7\x00\xa0\x00\xbb\x00\xad\x00\xc0\x00\xad\x00\xbe\x01\xc7\x00\xbd\x00\x9e\x00\x99\x00u\x00J\x00L\x00E\x00T\x00K\x01J\x00=\x00\x00\x00<\x00A\x00G\x00\x1a\x00\x16\x00\x02\x00\x00\x05\x0e\x01\x16\x00\x0e\x01s\x00N\x00b\x00F\x00s\x00D\x00F\x00\x80\x00\xb2\x00\xa5\x00\x94\x00\xa6\x00\xb3\x00\xa4\x00\x94\x00\xb3\x00\xa6\x00\xc3\x00\x94\x00\x99\x00\x92\x00\x99\x00\xa6\x00\x94\x00\xc3\x02\x98\x01\xbd\x01\xa3\x01\xbc\x00\x89\x00\x8e\x00\x81\x00\x95\x00\x9f\x00w\x00T\x00\x89\x00r\x00y\x00r\x00\x98\x00\xc0\x00\x9e\x00\xad\x00\x97\x00\xb9\x00\xc4\x01\xb9\x00\xc7\x00\xa0\x00\xc1\x00\xca\x00\xa0\x00\x8d\x00\x9e\x00\x9f\x00\xb9\x00\xc4\x01\xca\x00\xb9\x00\xa0\x00|\x00u\x00\xbb\x00\xad\x00\xae\x00\xca\x00\xa1\x00|\x00\x98\x00\xa1\x00\x9e\x00\x99\x00z\x00J\x00A\x00\x1a\x00B\x00;\x00O\x00F\x00E\x00J\x00\\\x00L\x00\x81\x00\x89\x00[\x00K\x00]\x00b\x00=\x00b\x00s\x00m\x00\x84\x01(\x00~\x00\x80\x00\x8f\x00\xaf\x00\x9a\x00\xb0\x00\xa4\x00\xb0\x00\x94\x00\xb0\x00\xa6\x00\xa4\x00\x8c\x00\xa6\x00\x94\x01\xc6\x00\xa3\x00\x90\x00\x93\x00{\x00S\x00f\x00v\x00i\x00\x87\x00\xa9\x00\xc9\x01\xcc\x00d\x01\xd0\x01\x96\x00\x80\x00~\x00\x95\x00~\x01\x89\x00\xb3\x00\x89\x00|\x00\x92\x00\x9f\x00\x98\x00\x9f\x00|\x00\x91\x00\xae\x00\xbb\x00\xc2\x03\xc1\x00\xa0\x00\xb6\x00\xc4\x00\xc2\x03\xa0\x00\xc1\x00\x97\x00\x91\x00\xac\x00\xc7\x00\x9f\x00\x86\x01\xae\x00\x92\x00\x9e\x00\x85\x00K\x01L\x00C\x00M\x00J\x00k\x00J\x00a\x00\x00\x03\x0e\x00;\x01\x02\x01\x00\x04\x0c\x01G\x00s\x00\x15\x00W\x00b\x00D\x00b\x00N\x00\xa5\x00\x96\x00\xb2\x00\xa6\x00\x95\x00\x9c\x00\xb2\x00\x9a\x00\x9b\x00\xa6\x00\xc3\x00\xc6\x00\xa6\x00\x98\x00\x99\x00\x98\x00\x94\x00\xa3\x01\xaf\x00\xb0\x00\x98\x00\xa6\x01\xa3\x01\xbc\x00\x95\x00\x8e\x00\xb3\x00\x89\x00r\x00\xb3\x00r\x01\x9f\x00r\x00\xae\x00\xba\x00\xad\x00\xac\x00\xb9\x00\xb5\x00\xa0\x00\xca\x00\xc4\x00\xc1\x00\xb6\x00\xb5\x02\xc7\x00\xa0\x00\xb5\x00\xac\x01\xc4\x00\xca\x00\xb6\x00\xc1\x00\xb9\x00\xac\x00\xad\x00\xc5\x00\xbb\x00\x98\x00\xad\x00\xb9\x00\x92\x00|\x00u\x01\x85\x00\x92\x00\x81\x00[\x00J\x01U\x00M\x00U\x00l\x00~\x00V\x00s\x00n\x00\x80\x00Z\x00g\x00E\x00F\x00G\x01\x01\x00n\x00\x83\x01\x80\x00\x8a\x00\xb2\x00\xa5\x01\x9b\x00\x95\x00\x94\x00\xb7\x00\xa4\x00\xa6\x00k\x00\x89\x00\x94\x00\xb7\x00\xc6\x00\xb7\x01\xa7\x00\xa9\x00\x93\x00\xd5\x00<\x00S\x00\\\x00i\x00\x87\x00\x93\x00\xc9\x00\xcb\x00\xcc\x00d\x01\xcd\x00\xd0\x00\xaf\x00\xa5\x00\x7f\x00p\x00l\x00\x89\x01l\x00u\x00\x85\x00w\x00\x8e\x01|\x00\xa1\x00\x98\x00\xbb\x01\x8d\x00\xc2\x01\xa0\x00\xc7\x00\xa0\x00\xc5\x00\xb9\x00\xc5\x00\xc2\x00\x8d\x00\xc2\x00\xa0\x00\xb5\x00\xbb\x01\xa1\x00\xc0\x00\x92\x00|\x01\x91\x00\xad\x00\xbf\x00\x9e\x00]\x00J\x00U\x00E\x00B\x00A\x00=\x00C\x00V\x00J\x00A\x00\x02\x00\x00\n\x0e\x00\x10\x00\a\x00\x0b\x00A\x00@\x00F\x00:\x00D\x00\x8b\x00\xb2\x01\xa7\x00p\x00\x7f\x00\x96\x00\x94\x00\x9b\x00\xbc\x00\xa3\x00\xb0\x01\x9f\x00\xbc\x00\xa6\x00\x8c\x00\xb7\x00\xc3\x00\xa6\x00\xb7\x00\xa3\x00\x8c\x00\xb3\x00\x8c\x00\xbd\x00\xa3\x00\x81\x00\xa4\x00[\x00~\x00\x89\x01l\x00r\x00T\x00w\x00\xc0\x00\x9e\x00\xa2\x00\xa0\x00\xc7\x00\x97\x00\xbb\x00\xc1\x00\xb9\x00\xac\x00\xb6\x00\xca\x00\xb5\x00\xca\x02\xc1\x00\xca\x00\xc1\x00\xa0\x00\xc4\x01\xc1\x00\xbb\x00\xc1\x00\xc4\x01\xc1\x00\xc2\x00\xbb\x00\x86\x00\xa1\x00\xae\x00\x9e\x00w\x00z\x00L\x00K\x00w\x00\x8e\x00Z\x00W\x00\n\x00A\x00G\x00b\x00\x9c\x00p\x00\x8a\x00\x84\x00N\x00E\x00D\x00A\x00a\x00;\x00a\x00\x16\x00\x10\x00\x83\x00x\x00\x8b\x00\xce\x00\x95\x00K\x00p\x00\x8a\x00\x94\x00\xa5\x00\x8a\x00\x95\x00\xa6\x01\xa5\x00\xb7\x00\xa3\x01\xb7\x01\xa6\x00\xa9\x00\x87\x00{\x00=\x00S\x00\\\x00i\x00\x93\x00\x90\x00\xcb\x00\xbe\x01d\x01\xcd\x00\xd0\x00\xa4\x00\xa5\x00\xb2\x00\xb1\x00~\x00s\x00E\x00u\x00]\x00l\x00y\x00[\x00}\x00\x9f\x00\xa1\x00\x91\x00\xa2\x00\x97\x00\x91\x01\xbb\x00\xa0\x00\xc7\x00\xc2\x00\xc5\x00\xb9\x00\xbb\x01\x91\x00\xc2\x00\xad\x00\xc0\x00\x91\x00\x8d\x00\x86\x00\xac\x00\x9e\x00|\x00K\x00[\x00\x85\x00\x8e\x00\x99\x01K\x00C\x00O\x00A\x00]\x00C\x00<\x00\x16\x00\x0e\x00\n\x00\x16\x00\x1a\x00\x0e\x00\x00\a@\x00a\x00G\x00a\x01G\x01\x01\x00b\x00s\x00\x8f\x00\x8b\x00~\x00N\x01\x80\x00\x9a\x00\xb2\x00\x89\x00\x8e\x00\xbc\x00\xa5\x00\xa4\x00\xb3\x01\x95\x00\x8e\x00\xaf\x00\xa4\x00\x99\x00\xa4\x00\xb0\x00\xb3\x01\x9b\x00\xa6\x00\xbd\x00\x9b\x00\x95\x00w\x00l\x00w\x00\x89\x00y\x00r\x00\x85\x00\xbf\x00\xbd\x00\xac\x00\xc0\x00\x97\x00\x86\x01\x97\x00\xc7\x00\x97\x00\xbb\x00\xc1\x00\xc4\x00\xc1\x00\xc5\x00\xbb\x00\xc4\x01\xc1\x00\xa0\x00\xc1\x01\xc4\x01\xb6\x00\xbb\x00\xc7\x00\xb5\x00\xb9\x00\xad\x00\xa1\x01|\x00\x9f\x00\x9e\x00\xae\x00w\x00z\x00K\x01c\x00\x81\x00c\x00g\x00=\x00\x16\x00W\x00G\x00\x1a\x00\x17\x007\x00>\x00h\x00>\x00\x01\x00D\x00G\x01\x16\x00F\x00m\x00\x8b\x00m\x00\x88\x00b\x00\x80\x00\x9a\x00\xb2\x00\x8a\x00\x89\x00r\x00\xbc\x00\xb0\x00\xb7\x00\xc6\x00\xc3\x00\x8c\x00\xb7\x00\xc6\x01\xa4\x00\x90\x00\x93\x00{\x00f\x00S\x00\\\x00i\x00\x87\x00\x90\x00\xc9\x00\xb8\x00\xcc\x00d\x00\xcd\x00\xa2\x01\xaf\x00\xa5\x00\x9a\x00\xb2\x00~\x00Z\x00c\x00E\x00\x89\x00~\x00l\x00y\x00r\x00}\x00\x91\x00\x86\x00\xa0\x00\x86\x00\xa1\x00\x91\x00\xa1\x00\xac\x00\xad\x00\x8d\x00\xc2\x00\xb5\x00\xbb\x00\x91\x00}\x00\xa1\x00\x98\x00\xc0\x00\xa1\x00\x91\x00|\x00\x8c\x00\xc0\x00\x85\x00z\x00K\x00]\x00[\x00\xbf\x00\x81\x00k\x00Z\x00V\x00=\x00;\x00\x16\x00\x1a\x00B\x00A\x00\x00\x02\x04\x00;\x00\x0e\x00\x00\x05\x0c\x00\x01\x00\x0c\x00\x16\x01\x0c\x00D\x00\x01\x00b\x00\x8b\x00\x9a\x00\x8f\x00\xab\x00N\x00s\x00\x7f\x00\xb2\x00\x9a\x00l\x00\xa6\x00\x89\x00\xa5\x00\xa4\x00\x9b\x00l\x00p\x00\x95\x00\xce\x00\xbc\x00\x99\x00\xbc\x00\x9a\x00\x9b\x01\x95\x00\x89\x00\xbd\x00\xa3\x00r\x00\xa6\x00w\x00\x7f\x00l\x00E\x00w\x00\xbf\x00\x9e\x00\xae\x00\xad\x00\x86\x01\x91\x00\xac\x00\xb9\x00\xb6\x00\xc2\x00\xc5\x00\xb5\x00\xa0\x00\x8d\x01\xc2\x00\xca\x01\xb6\x00\xc2\x00\xc1\x01\xc4\x02\x97\x01\xc1\x00\xad\x00\xae\x00\x92\x00\xa1\x00|\x00}\x00z\x00\x9f\x00\xbf\x00}\x00[\x00J\x00M\x00B\x00\x85\x00w\x00\x10\x00]\x00J\x00g\x01\x15\x007\x00j\x02\x1c\x00\x00\x00\x05\x00;\x00b\x00~\x00\xa7\x00s\x00\x88\x00q\x00s\x00\x96\x00\xb2\x00\x9c\x00\x89\x00\x9b\x01\xa4\x00\xa5\x00\xb7\x01\xbc\x00\xc3\x00\xb7\x01\xb0\x00\xa6\x00\x90\x00\x93\x00{\x00S\x00f\x00V\x00i\x00\x93\x00\x90\x00\xc9\x00\xcc\x01d\x01\xcd\x00\xd0\x00\xbc\x00\xa5\x00\xb2\x01\x9a\x00\x8f\x00p\x00l\x00K\x00E\x00[\x00K\x00u\x00\xa1\x00|\x00\x92\x00\x8d\x00|\x00\x86\x00\xa1\x00\x98\x00\xac\x00\xa1\x00\x8d\x00\xbb\x00\xae\x00\x91\x00\x9f\x00}\x00\xa1\x01\xc7\x00\xa1\x00\x86\x01|\x00\x99\x00\x9e\x00z\x00K\x00z\x00o\x00r\x00\x81\x00\xd0\x00C\x00M\x00J\x00A\x00\x0c\x00\x00\x00;\x00\x1a\x01\x02\x00\x00\t\x16\x00\x0b\x00\x0e\x00\x0c\x00\x0e\x00a\x00G\x00\x16\x00\x10\x00\xb2\x00\x8f\x00N\x02\x88\x00\x9d\x00\xb2\x00\x80\x00\xb3\x01\x89\x00\x94\x00\x8a\x00\x89\x00~\x00\x95\x00\x89\x00\xa3\x00\xa4\x00\xbd\x00\xb3\x00\xa4\x01\x9b\x01l\x00\xb3\x00\xa7\x00\x9c\x00l\x00\x8c\x00\x89\x00w\x00\x8e\x00\x99\x00\x9e\x00\x8c\x00\x92\x00\x86\x01r\x00\xac\x00\xb9\x00\xad\x01\xc2\x00\xa0\x00\xca\x00\xc2\x00\x8d\x01\xc5\x00\xc7\x00\xca\x00\xc5\x00\x8d\x00\xc5\x00\xc1\x01\xc4\x00\xca\x00\xc7\x00\xb6\x00\xa0\x00\xb6\x00\xa1\x00\x86\x00\x99\x00|\x00}\x00|\x00u\x00\x85\x00\x92\x00w\x00K\x00z\x00Z\x00\x1a\x00J\x00Z\x00\x16\x00\n\x00a\x01\x17\x007\x00j\x02\x1e\x00\x0e\x00\x16\x00b\x00m\x00(\x00:\x00D\x00b\x01\x9d\x00\x9a\x00\x9c\x00p\x00\x9c\x00\x8a\x00\x96\x00\xa7\x00\xbc\x00\xa5\x00\xb0\x00\xa6\x00\x94\x01\xb7\x00\xb0\x00\xa6\x00\xb8\x00\x93\x00i\x00S\x01\\\x00i\x00\x93\x01\xc9\x01\xcc\x00d\x00\xcd\x01`\x00l\x01\xa4\x00\x9a\x02x\x00E\x00p\x00y\x00T\x01\x86\x00\x87\x00}\x00\xa0\x00\xa1\x00|\x01\x86\x00\x98\x00\x9e\x00\x86\x00\x8d\x00\xad\x00\xbb\x00\x86\x01|\x01\x9f\x00\xc7\x00\x9f\x00\x90\x00\x86\x00u\x00\x99\x00\xbf\x00|\x00Z\x00]\x00K\x00U\x00c\x00\xce\x00Z\x00=\x00\n\x00M\x00E\x00\n\x00\x00\x01\x0e\x00\x16\x01\x02\x00\x00\x06\x0e\x00\x04\x00\x00\x02\x16\x01\x0e\x00a\x00n\x00\x8b\x00q\x00F\x00b\x01N\x00\x9a\x00\xb2\x00\x89\x00\xa6\x00\x89\x00p\x00\xb2\x00\x8a\x00l\x00\x9c\x00\x89\x00w\x00\xb3\x00\x8a\x00\xa6\x00\x9f\x00\x89\x00\x9a\x01p\x01\x9c\x00\xa3\x00\xa6\x00~\x00[\x00\x8e\x00\x95\x00\xbf\x01\x8e\x00y\x00[\x00y\x00|\x00\x8c\x00\xc0\x00\x98\x00\xa1\x00\xad\x00\xc5\x00\xca\x00\xb6\x00\xc2\x00\x8d\x01\xa0\x00\xca\x00\xa0\x00\xc7\x00\x8d\x00\xc2\x00\xc5\x00\xa0\x00\xc7\x00\xca\x01\xa0\x00\xad\x00\xac\x00\xa1\x00\x81\x02\x9f\x00T\x00K\x00[\x00\x81\x00\x99\x00T\x00B\x00M\x00U\x01k\x00Z\x00=\x00\x00\x00\x04\x00\t\x00j\x03\x1c\x00a\x01N\x00q\x00@\x00G\x00b\x00\a\x00\x8f\x00\xb2\x00q\x00p\x01~\x00\x8a\x01\x9b\x00\xa4\x00\xa7\x00\xbc\x00\xb7\x01\x94\x00\xb7\x00\xa3\x00\x99\x00\x90\x00\x87\x00{\x00f\x00S\x00M\x00i\x00\x87\x00\x90\x00\xc9\x00\xcc\x01d\x01\xd0\x00`\x00\x9c\x00~\x00\x88\x00N\x00\x80\x00\x8b\x00\xb2\x00\x8b\x00p\x00Z\x01\x85\x00u\x00}\x00\x8e\x00\x91\x00r\x00}\x00|\x00\x9f\x00\x9e\x00|\x00\x9f\x00\x8d\x00\x91\x00\x8d\x00|\x03r\x00\x98\x00\x8c\x00r\x00u\x00|\x00\x85\x00\xae\x00\x8e\x00K\x00]\x00U\x00K\x00M\x00\x81\x003\x00Z\x00=\x00\x0c\x00\x02\x00B\x00G\x00\x00\x04\x04\x00\x00\t\x16\x00\x0c\x01\n\x00D\x00\x8b\x00m\x00b\x02q\x00\x7f\x00\xce\x00\x8f\x00~\x00w\x00p\x00\x7f\x00\xb2\x00\xb1\x00E\x00\x89\x00p\x00\x89\x00\xb3\x00~\x00\xa4\x00\xa6\x00\x7f\x00\x9c\x00\x8a\x00~\x00\x9c\x00~\x00\x89\x00\xa3\x00\x8a\x00E\x00[\x00\xbf\x00\x81\x00w\x00E\x00y\x00T\x00z\x00|\x00\xc0\x00\x9e\x00\x9f\x00\x91\x00\x8d\x00\xac\x00\xc7\x00\xbb\x00\xc2\x02\xca\x00\xa0\x01\xc1\x00\x8d\x01\xc5\x01\xc1\x01\xad\x00\xca\x00\xad\x00\xa1\x00\xad\x00\xbf\x00\xd0\x00\xce\x00\x89\x00z\x01]\x00V\x00\x8e\x00\x81\x00Z\x00\x1a\x00A\x00<\x00\n\x00=\x00k\x00B\x00F\x00\r\x007\x00\x1c\x00\x1e\x00\b\x00\x0c\x01\xab\x00\a\x00G\x00\a\x00b\x00W\x00s\x00\xb2\x00\x80\x00s\x00\x88\x00p\x00\x80\x00p\x00\x9c\x00\x9b\x00\xa4\x00\xbc\x00\xa3\x00\xaf\x00\xb7\x01\xc3\x00\xa3\x00\x8c\x00\x90\x00\x93\x00{\x00S\x01\\\x00i\x00\x87\x00\xd6\x00\xc9\x01\xcc\x00\xbe\x00\xcd\x01\xd0\x00\x8a\x00E\x01l\x00p\x00\x10\x00~\x00\xce\x00~\x00U\x00u\x00^\x00u\x01\x97\x00\x9f\x00[\x00u\x00}\x00\xa1\x00\x9f\x00u\x00\xa1\x00\x86\x00\xa1\x00\xbe\x00|\x00u\x00|\x01z\x00\x92\x00\x9f\x00[\x00u\x00\xb8\x00\x86\x00\x8c\x00\x81\x00U\x00Z\x00U\x00J\x00L\x00y\x00w\x00B\x00J\x00A\x00\x00\x01\n\x00\x1a\x00;\x00\x00\x0c\x0c\x00\x00\x01\x0e\x00G\x00\x0b\x00\x8b\x00s\x00\x0b\x00b\x01D\x00\x80\x00\x8b\x00m\x00\x99\x00p\x00N\x00s\x00\x9a\x00\x80\x00p\x02\x9c\x00w\x00p\x00\x89\x00\x8c\x00\x89\x00~\x00\x9c\x00~\x00p\x00b\x00N\x00\x8a\x00\xa7\x00~\x00\x81\x00\x99\x00r\x00Z\x00\x89\x00l\x00r\x00z\x00\x9e\x01\x98\x00\x86\x00\x91\x00\xa1\x00\xba\x00\xad\x00\xbb\x00\xc5\x00\xc2\x01\xc7\x00\xb6\x00\xc5\x00\xb9\x00\xbb\x00\xc2\x02\xa0\x00\xc1\x00\xad\x01\xae\x00\x91\x00|\x00\xce\x00\x81\x00\xd7\x00\x8e\x00u\x00T\x00L\x00z\x00M\x00\x8e\x00c\x00\x1a\x00]\x00J\x00=\x00\x02\x00A\x00O\x00\x04\x00\x03\x008\x00:\x00;\x00\x05\x00\n\x00\x1b\x00G\x00\x0e\x01a\x00\x0b\x00F\x00\x8b\x00\x80\x00b\x00g\x00p\x00N\x00\x7f\x00\x80\x00\x9c\x00\x8a\x00\x95\x00\xa4\x00\xaf\x00\xa3\x00\xa4\x00\xaf\x00\xbd\x01\x98\x00\xa9\x00\x93\x00{\x00S\x01\\\x00i\x00\x93\x00\x90\x00\xc9\x00\xcc\x01d\x00\xcd\x01\xd0\x00\xb2\x00~\x00l\x00N\x00b\x00E\x00l\x00]\x00G\x00=\x00\\\x00f\x01\x9f\x00\x92\x00u\x00K\x00[\x00|\x00}\x00y\x00z\x00\x86\x01}\x00\x86\x00|\x00u\x02T\x00\x8c\x00\xa1\x00T\x00z\x00^\x00`\x00\x8c\x00\x81\x00z\x00{\x00Z\x00T\x00M\x00U\x00\x8e\x00M\x00=\x00A\x00\x1a\x00\x0c\x00\x00\x01\x02\x00\x16\x00\x04\x00\x00\x0c\x0e\x01\n\x00\x15\x00m\x00a\x00b\x00\x88\x00:\x00b\x00\x8b\x00\x8f\x00\x9a\x00[\x00F\x00b\x00N\x00\xa5\x00\x80\x00p\x00D\x00\x9c\x00\x7f\x00y\x00p\x01\x95\x00l\x00N\x00b\x00p\x00\x80\x00p\x00~\x00l\x00\xc3\x00\xa5\x00w\x00y\x00[\x00}\x00l\x00T\x00z\x00\x99\x00\xbf\x00\x9f\x00|\x00\xbe\x00\x86\x00\xa1\x00\xba\x00\xa1\x00\xad\x00\x91\x00\xbb\x00\xb6\x00\xc7\x00\xc2\x00\xc5\x00\xb9\x00\x97\x00\xc2\x02\xbb\x00\xae\x00\xb6\x00\xa1\x00\xad\x00\xb6\x00\x86\x00|\x00\x81\x01y\x00[\x00K\x00L\x00B\x00J\x00z\x00\x81\x00J\x00=\x00A\x00\x1a\x00V\x00O\x00=\x00\x0e\x00\x1c\x00*\x00\x1c\x00\x02\x00A\x00\x01\x00\x0e\x00\x00\x00\x04\x01F\x00b\x00\x80\x00(\x00b\x00N\x00b\x01\x80\x00p\x00N\x00~\x00\x89\x00\x9b\x00\xa7\x00\xb0\x00\xbc\x00\xb0\x00\xaf\x00\xa3\x00\xbd\x00\xa1\x00\x90\x00\x93\x00{\x00f\x00S\x00\\\x00i\x00\x93\x01\xc9\x00\xb8\x00\xcc\x00d\x01\xcd\x00\xd0\x00\xb2\x01\x88\x00s\x00M\x00{\x00\\\x00v\x00f\x01\x02\x00\n\x00\x00\x00=\x00K\x00[\x00L\x00\x9f\x00u\x00z\x00K\x00T\x00\x86\x00u\x01\x90\x00|\x00z\x00T\x00u\x00[\x00\x8c\x00\x85\x00z\x00U\x00k\x00u\x00\xa2\x00\x8e\x00w\x00K\x00U\x00T\x00L\x00Z\x00k\x00y\x00f\x00\x02\x00\x0c\x00B\x00=\x00\x00\x02\x0c\x01\x00\n\x0c\x01\x00\x00a\x00~\x00q\x00\x88\x01b\x01E\x00\x8b\x00~\x00\x81\x00\x88\x00F\x01\x88\x00\x9a\x00\x80\x00N\x00g\x00p\x01\x89\x00~\x00N\x00~\x00l\x00\x88\x00p\x01E\x00\x80\x00D\x00F\x00~\x00\xbf\x00\x8a\x00T\x02y\x00r\x00w\x00\xbf\x00\x99\x00\x86\x01|\x01\xae\x00\xac\x00\xa1\x01i\x00\xa1\x00\xb6\x00\xa0\x00\xc2\x00\xbb\x00\xc7\x00\xb6\x00\xbb\x01\x8d\x00\xbb\x00\x97\x00\x92\x00\xa1\x01\x92\x00\xa1\x00\x86\x00}\x00T\x00z\x00K\x00U\x00K\x00Z\x00M\x00C\x00\x1a\x00w\x00\x1a\x00=\x00\n\x00\x00\x00=\x00\x1a\x01\x19\x008\x00\x1c\x00\x02\x00\x0e\x00\x01\x00\x02\x00\x0e\x00G\x01\n\x00s\x00\x8b\x00\x88\x00b\x00D\x00N\x00s\x00b\x00\x7f\x00s\x00\x80\x00~\x00\x95\x00\xa7\x00\x8a\x00\x9b\x00\xa4\x00\xa3\x00\xa6\x00\x8c\x00\x8e\x00\xa9\x00\x87\x00i\x00<\x00S\x00\\\x00i\x00\x87\x00\x90\x00\xb8\x00\xcb\x00\xbe\x00d\x01\xcd\x00\xa2\x00\x8a\x00\xce\x00~\x00\\\x00i\x00\xd5\x00\\\x01f\x01S\x01\x00\x00\x05\x00B\x00L\x00z\x00K\x00z\x00U\x00K\x00L\x00\xbe\x00u\x00L\x00u\x00z\x00u\x00[\x00L\x00z\x00\x85\x00w\x00Z\x00U\x00K\x00}\x00\xb8\x00|\x00\x85\x00E\x00z\x00T\x00\x89\x00r\x00z\x01K\x00A\x00\n\x00\x00\x00;\x00A\x00\x00\x0f\x0c\x01b\x00~\x00Z\x00\x80\x00\x7f\x00E\x00s\x00D\x00\x8f\x00\x95\x00~\x00N\x00W\x00F\x00D\x00m\x00\x80\x00\x88\x00N\x00D\x00p\x00\x7f\x00k\x00F\x00l\x00\x89\x00N\x01g\x00b\x00D\x00p\x00s\x00\x81\x00\xa7\x00\xa4\x00\x7f\x00[\x00\xb3\x00y\x00i\x00\xce\x00\x92\x00\x9f\x00\x90\x01y\x00|\x00\xae\x00\xa1\x00|\x00\xa1\x01\x91\x00\x97\x00\xac\x00\x8d\x00\x91\x00\xa0\x00\xad\x00\x91\x02\xc5\x00\x91\x00\xa1\x00\x86\x00|\x02\x86\x00u\x00}\x00Z\x00L\x00z\x00M\x00g\x00E\x00F\x00\x16\x00P\x00J\x00F\x00\x1a\x00\n\x00\x02\x02\x03\x008\x00\t\x00a\x00\x16\x00\x0c\x00;\x00\x04\x00\x00\x00a\x00@\x00\x14\x00q\x00\x0b\x00G\x00s\x00b\x00g\x00q\x00N\x00\x7f\x00p\x00\x95\x00\x9b\x00\x8a\x00\x9c\x00w\x00\xa7\x00\xa4\x00\xbd\x00\xa6\x00`\x00\xa9\x00\x87\x00i\x00S\x01\\\x00i\x00\x87\x00\xa9\x00\xcb\x00\xb8\x00\xcc\x00d\x01\xd0\x00\xcd\x00Y\x00o\x00i\x01\xd5\x00\xb4\x00\\\x02S\x02\x04\x00\x00\x00\n\x00J\x00l\x00L\x00K\x00V\x00[\x00u\x00\xb8\x00K\x00L\x00u\x00T\x01[\x00L\x00z\x00\x8e\x00[\x00]\x00T\x00B\x00[\x00J\x00Y\x00\x81\x00U\x00u\x00}\x00L\x00o\x00K\x00z\x00E\x01B\x00\x00\x02;\x00\x00\r\x02\x00;\x00b\x00N\x00s\x00l\x00k\x00M\x00k\x00E\x00\x88\x00\x8b\x00w\x00G\x00b\x01F\x00b\x00~\x00\x80\x00\xab\x00F\x00D\x00N\x00b\x00\x80\x00W\x00k\x00\x89\x00b\x00N\x00G\x00E\x00l\x00\x89\x01r\x00\xb3\x00\xaf\x00r\x00E\x00T\x00r\x00\xa6\x00\x99\x00\x8c\x00`\x00u\x00z\x00T\x00\x85\x00\x9e\x00\x9f\x00|\x02\x86\x00\x91\x00\x92\x00\x8d\x00\xa1\x00\xad\x00\x98\x00\xa1\x00\x86\x01\x97\x00\x91\x01r\x00\x9f\x00u\x01|\x00\x90\x00]\x00l\x00U\x01k\x00\x14\x00\x8b\x00t\x00~\x00\x1a\x00P\x00\x00\x00\n\x00B\x00\x1a\x00\x02\x00\b\x01*\x00\t\x00A\x00\n\x00\x00\x02\x0c\x00\x01\x00\x10\x00s\x00@\x00D\x00b\x00G\x00D\x00N\x00b\x00N\x00\x7f\x00\x89\x00w\x00\x9c\x01\x89\x01\xa6\x00\xa4\x00\xa3\x00\xb3\x00\x85\x00\x90\x00\x87\x00\xd5\x00S\x00f\x00v\x00i\x00\x87\x00\xa9\x00\xc9\x00\xcb\x00\xcc\x00d\x02\x90\x00^\x01i\x02M\x00\xb4\x00\\\x00f\x01=\x00<\x00\x04\x00\x00\x00\n\x00M\x00Z\x00U\x00L\x00J\x00L\x00K\x00\x90\x00L\x00Z\x00o\x00U\x00[\x00Z\x00]\x00T\x00\x8e\x00V\x00M\x00L\x00g\x00J\x00]\x00u\x00\x85\x00J\x00z\x01M\x00f\x00M\x00[\x00U\x00A\x02\x00\x11\x0e\x00W\x00s\x00N\x00M\x00C\x00M\x00l\x00\x80\x00N\x00\x81\x00E\x00q\x00b\x01G\x00\x88\x01m\x00b\x01D\x00N\x00D\x00F\x00G\x00E\x00\x89\x00D\x00N\x00F\x01g\x00l\x00T\x00\x85\x00}\x00z\x00\x8e\x00T\x00z\x00Z\x00\x81\x00\x8e\x00\xa2\x00u\x01o\x00u\x00\x99\x00\x98\x00|\x00\x98\x00\xac\x00\x9f\x00\x86\x00\xa2\x00\x91\x00\x8d\x00\xa1\x00\xad\x00\x92\x00|\x01\x86\x00\x91\x00\xac\x00\x86\x00|\x00u\x00}\x00z\x01K\x00^\x00M\x00[\x00U\x00(\x00x\x00\x83\x00t\x00\x01\x00B\x00Z\x00\x1a\x00\x02\x00\x00\x01A\x00@\x00\x0b\x007\x00\x1d\x00\x0e\x00\x00\x02\x0e\x01\x00\x00s\x00@\x00F\x00G\x00\x01\x00G\x00b\x01F\x00E\x00J\x00k\x00N\x00\x80\x00\x7f\x00p\x00\xa4\x00\xb3\x00\xa3\x00\x8e\x00\xb3\x00`\x00_\x00\x87\x00\xd5\x00S\x01\\\x00i\x00\x87\x00\xa9\x00\xc9\x00\xcb\x00\xcc\x01\xcb\x00\x93\x01\x87\x00^\x00i\x01\xd5\x00{\x00\xb4\x00\\\x01f\x01S\x00<\x00\x02\x00\n\x00k\x00B\x00Z\x00V\x00Z\x00M\x00z\x00^\x00K\x00M\x00]\x00M\x00Z\x00M\x00K\x00Z\x00k\x00M\x00E\x00M\x00E\x00V\x00]\x01\x85\x00}\x00T\x00E\x00\\\x00C\x00K\x00w\x00Z\x00C\x00\x00\x00\x02\x00W\x00\x00\x10\x0c\x00A\x00\x88\x00\x80\x00Z\x00C\x00\\\x00W\x00\x88\x00s\x00~\x00b\x00a\x00b\x00D\x00G\x00b\x00\x16\x00\x80\x00G\x01W\x00b\x00D\x00F\x00G\x00D\x00z\x00F\x00b\x02g\x00l\x00\xb3\x00U\x00\\\x00\xb4\x00T\x00\x8e\x00T\x00}\x00\x8e\x00\xa9\x00c\x00[\x00T\x00L\x00K\x00\xbf\x00}\x00\x9e\x00\xa0\x00\xae\x00\x9f\x00\x86\x00\xa1\x01\xbe\x00|\x00\x9f\x00\xac\x00\x86\x00}\x00\x86\x00\x91\x00\x92\x00\xb8\x00\x91\x00^\x00u\x01Z\x00K\x00{\x01V\x00k\x00t\x000\x00&\x00K\x00=\x00\n\x01Z\x00O\x00\x0c\x00\x00\x02\b\x00$\x00#\x00\x00\x05\x01\x00\a\x00G\x00\x05\x00a\x00\x01\x00\x16\x02F\x00\x1a\x00k\x00E\x00N\x00g\x00p\x00\x7f\x00\xa6\x00\x95\x00\xa3\x00\x95\x00\x89\x00`\x00\xc9\x00\x87\x00o\x00S\x01\\\x00i\x00\x93\x01\xc9\x00\xcb\x00\xcc\x00\xa9\x00\x90\x00\x93\x00\x87\x01^\x02i\x00\xb4\x01\\\x02f\x01S\x00<\x00S\x00C\x00\\\x00Z\x00C\x00J\x00C\x00u\x00{\x00[\x00J\x00]\x00C\x00Z\x00B\x00K\x00k\x00Z\x00C\x00]\x00M\x01J\x00A\x00z\x00}\x00U\x00y\x00z\x01U\x00u\x00K\x00T\x00J\x00\x0e\x00\x00\x01;\x00\x00\x0e\x0c\x00\x05\x00\x16\x00D\x00s\x00T\x00W\x00k\x00p\x01N\x00s\x00b\x00\x16\x00\a\x00a\x00G\x00\x16\x00@\x00N\x00\xab\x00G\x00W\x00b\x00D\x00F\x00\x01\x00b\x00U\x00F\x00a\x00B\x00W\x00E\x00[\x00}\x00Z\x00C\x00=\x00[\x00\xa7\x00E\x00\x81\x00\x85\x00o\x00w\x00M\x00V\x00Z\x00L\x00\x8c\x00\x85\x00\xac\x00\xb5\x00\xae\x00|\x00\x90\x00|\x00\xa1\x00\x8d\x00u\x00|\x00\x98\x00|\x00r\x00}\x00\x86\x00\x97\x00w\x00\x85\x00\xa1\x00l\x00z\x00J\x00K\x00J\x00v\x00]\x00V\x00F\x00~\x00=\x00S\x00\x1a\x01\x05\x00O\x00\x16\x00A\x01\x00\x00\x0c\x00!\x00I\x00\x13\x00\x00\x04\x0c\x00\x10\x00@\x00\x00\x00\x0c\x00G\x00a\x01\x0c\x00\x00\x00\n\x00\\\x01M\x00E\x00L\x00\x7f\x00\x95\x00\xa6\x00\xa4\x00\xc3\x00\x89\x01`\x00\xb8\x00\x87\x00\xb4\x00S\x01\\\x00o\x00\x87\x00\x90\x00\xc9\x00\xcb\x00\xa9\x00\x90\x00\x93\x00\x90\x00\x93\x00\x87\x01^\x00i\x02{\x00\xb4\x00\\\x01C\x00f\x01;\x00S\x01J\x00\x1a\x00W\x00J\x00O\x00u\x00\\\x00[\x00C\x00J\x00W\x00Z\x00C\x00K\x00J\x00E\x00=\x00C\x00\x1a\x00f\x00k\x00S\x00\x1a\x00c\x00f\x00T\x00z\x00T\x00Z\x00[\x00L\x00\x1a\x00;\x00\x16\x00\x00\x02\x02\x00\x00\x0f;\x00A\x00E\x00p\x02\x80\x00\x88\x00D\x00\x10\x00a\x00\x0c\x00G\x00@\x00W\x00a\x00G\x00A\x00G\x00b\x00G\x01a\x00\x1a\x00\x16\x00G\x00W\x00b\x00a\x00\x1a\x00g\x00U\x01z\x00T\x00M\x00{\x00E\x00\xb3\x01\x85\x00o\x00Z\x00U\x00B\x00[\x00V\x00c\x00\x81\x00y\x00\xa1\x00\x98\x00w\x00u\x00\x86\x00u\x00|\x00\x86\x00u\x00|\x01u\x00|\x00u\x00|\x00\xa2\x00\x8e\x00t\x00`\x00x\x00L\x00K\x00U\x00K\x00M\x00V\x00]\x00O\x00A\x00Z\x00\n\x00\x02\x00;\x00V\x00;\x00O\x00\x00\x00\x02\x00A\x00\x02\x00\x00\x00\"\x00)\x00\x05\x00\x00\x03\x0e\x01\x00\x01G\x00\x0c\x00\x0e\x00\x16\x00\x00\x01\x02\x00v\x00\\\x00\xb4\x00i\x01K\x00\x99\x00\xbc\x01\xc3\x00\x9c\x00[\x00d\x00\xa9\x00\x87\x00i\x00f\x00S\x00\\\x00i\x00\x87\x00\x90\x00\xc9\x01\xb8\x00\x93\x00\x90\x00\x93\x00\x90\x00\xa9\x00\xcb\x00Y\x00^\x00i\x01{\x01\\\x00\xb4\x00\\\x00C\x00f\x01=\x00f\x00J\x00<\x00B\x00O\x00=\x00L\x00v\x00T\x00A\x00J\x00=\x00Z\x00C\x00E\x00C\x00\\\x00\x1a\x00=\x00]\x00C\x00W\x00=\x00<\x00k\x00;\x00C\x00l\x00M\x00U\x00Z\x01<\x00;\x00S\x00\x0e\x00\x0c\x00\x00\x12;\x00G\x00\x88\x00s\x00D\x00F\x00W\x00a\x00F\x00\x00\x00\x0e\x01\x05\x00G\x00\x0c\x00G\x00a\x00\x0e\x00F\x00a\x00\x16\x00a\x00G\x00\x0e\x00G\x00a\x00W\x00G\x00\x1a\x00@\x00A\x00Z\x00[\x01y\x00}\x00z\x00\x95\x00\x81\x00w\x00Z\x00B\x00J\x00[\x00U\x00J\x00K\x00\x8e\x00[\x00L\x00[\x00z\x00^\x00|\x00L\x00}\x00\xbe\x00L\x00r\x00y\x00r\x00}\x00T\x00}\x00\x97\x00\xce\x01\xd8\x00\x81\x00L\x00]\x00J\x00M\x00T\x00\\\x00V\x00]\x00S\x00<\x00E\x00\n\x00\x00\x01\x1a\x01\x00\x02\n\x00\x02\x005\x00)\x00\x00\x05\x0c\x01\x16\x00\x00\x00\x0c\x00G\x00;\x00\x00\x01S\x00f\x00\\\x00{\x01i\x00\x93\x00\x90\x00y\x00\xa4\x00\xc3\x00\x7f\x00c\x00\xbe\x00\xc9\x00\x87\x00i\x00S\x01\xb4\x00i\x00\x93\x00\xb8\x03\xa9\x00\x90\x00\xcb\x00\xcf\x00\xcd\x00\xcf\x00d\x00\x87\x00i\x02{\x00\xb4\x00\xd5\x00\xb4\x00\\\x01v\x00\n\x01]\x00<\x00\x1a\x00A\x01C\x00=\x00U\x00\x0e\x00J\x00;\x00L\x00C\x00Z\x00B\x00\x0e\x00J\x00\x0e\x00M\x00;\x00\x02\x00V\x00\n\x00V\x00J\x00A\x00=\x00J\x00a\x00M\x00O\x00A\x00\x00\x01\x02\x00\x00\x14\x0e\x00\xab\x00@\x00a\x00@\x00\n\x00\x0e\x00@\x00\x0c\x00\x16\x00\x00\x00\x0c\x00\x01\x00\x02\x00\x16\x00\n\x00a\x00\x06\x00W\x00\x16\x00a\x00\x16\x00\x0e\x00G\x00=\x00;\x00@\x00\x00\x00\x1a\x00W\x00l\x00T\x00U\x01T\x00l\x00U\x00\xce\x00\x85\x00b\x00A\x00J\x00B\x00M\x00Z\x00]\x00\x8e\x00U\x00K\x00M\x00K\x00T\x00K\x00T\x00^\x00d\x00M\x00u\x00T\x00z\x01U\x00Z\x00\x98\x00\x92\x00m\x00\xd0\x00Y\x00o\x00M\x00[\x00V\x00A\x00J\x00A\x01V\x00\x04\x00\x00\x00F\x00;\x00\x00\x01;\x00O\x00\x00\x03)\x00.\x00\x00\x05\x0e\x00\x04\x00\x00\x01\x01\x00\x0e\x00@\x00\x00\x01S\x00\\\x01\xd5\x00^\x01\x87\x00\x90\x00\x93\x00\x85\x00\x95\x00N\x00Y\x00\xcc\x00\xa9\x00\x87\x00i\x00S\x01\\\x00\xa8\x00\xb8\x00\xcb\x00\xc9\x02\xcc\x00\xcd\x02\xcf\x00\xcb\x00\x90\x00\x87\x00^\x01i\x01\xd5\x00i\x00\\\x00C\x01J\x00\x00\x00;\x00O\x00\x00\x00J\x00<\x00B\x00;\x00A\x00g\x00A\x00V\x00;\x00\x1a\x01A\x00C\x00\x0e\x00\x1a\x00\x00\x00\n\x00\x1a\x00\x0c\x00A\x00\x1a\x00\x00\x00B\x00=\x00\x02\x00;\x00\x1a\x00=\x00\x02\x00\x0e\x00\x02\x00\x00\x17\x16\x00\x00\x00\x0c\x01\x00\x00\x0e\x00\x00\x00\x16\x00\x0e\x00\x00\x00\x16\x00\x02\x00\x0c\x00\x16\x00\x00\x00\x16\x00\x05\x00\x16\x01\x0c\x00G\x00\x00\x00\x16\x00\x05\x00\x02\x00;\x00\n\x00\x16\x01W\x00U\x00C\x00Z\x00J\x00A\x01\x95\x00\x9a\x00a\x00\x1a\x01C\x00Z\x00M\x00G\x00\x85\x00U\x00T\x00g\x00K\x00{\x00K\x00[\x00^\x00\x86\x00U\x00u\x00T\x00[\x00L\x00l\x00T\x00z\x00\xa0\x00l\x00c\x00o\x00u\x00B\x00\x1a\x00L\x00A\x00W\x00A\x00S\x00A\x00\x1a\x00\x00\x01G\x00;\x00\x00\x01\x02\x00;\x00\x02\x00\x00\x00S\x00\x17\x00$\x00\x05\x00\x00\a\x16\x00\x0c\x00\x02\x00;\x00\x0e\x00<\x00f\x00\\\x01i\x01\x87\x01\x93\x00\xa9\x00\xb8\x00\x90\x00P\x00`\x00\xcc\x00\xa9\x00\x87\x00\xb4\x00=\x00<\x00\\\x00Y\x00\xc9\x01\xb8\x00\xcc\x00\xcd\x02\xcc\x00\xcb\x00\x93\x00\x87\x02^\x01i\x02L\x00C\x00\x0f\x00\x1a\x00S\x00\x02\x00J\x00\x00\x00\n\x00B\x00\x05\x00J\x00\x0c\x00A\x01S\x00C\x00\x0c\x00B\x00O\x00\x00\x00J\x00\x0c\x00O\x00\x02\x00\x00\x00M\x00\x05\x00\x00\x00E\x00\x00\x01\x1a\x00\x00\x01;\x00\n\x00\x00!\x0f\x00\x00\x01\x0e\x00\x00\x01\x0e\x00\x00\x00\x16\x00\x00\x00\x0e\x00\x16\x00\x00\x00\x0e\x00\x00\x00;\x00\x00\x01;\x00\x00\x00;\x00\n\x01W\x00B\x00W\x00A\x00\n\x00\x1a\x00N\x00\xce\x00p\x00U\x00C\x00J\x00M\x00=\x00Z\x00k\x00]\x00\x1a\x00Z\x00M\x00]\x00J\x00T\x00i\x00\x90\x00F\x00z\x00U\x00T\x00F\x00[\x00Z\x00T\x00\xb9\x00T\x00U\x00i\x01K\x00=\x00U\x00V\x00=\x00M\x00\xb4\x00f\x00@\x00\x1a\x00\x00\x01;\x00A\x00\x00\x02\x0c\x00S\x00\x87\x00\x81\x00/\x00\b\x00\x00\x06\x0e\x00\x0c\x00\x00\x00\x0e\x02=\x00\\\x01{\x01^\x00\x87\x01\xa9\x00\x90\x00\xb8\x00\xc9\x00\xa9\x00\xcd\x00\xcc\x00\xa9\x00\x93\x00\xd5\x00f\x00\\\x00\x90\x00\xcb\x00\xcc\x00\xcb\x00d\x00\xd0\x00\xcd\x00\xcc\x00\xa9\x00\x90\x00\x93\x00\x90\x00\x93\x01\x87\x00^\x00i\x00M\x00z\x00\xbf\x00V\x00\x04\x00\x02\x00F\x00\x00\x00\\\x00M\x00\x0c\x00;\x00=\x00\x00\x00J\x00\x00\x00C\x00A\x00\x00\x00\x1a\x00\n\x00C\x00A\x00\x00\x00V\x00\x00\x00\n\x00\x1a\x00\x00\x00A\x00<\x00\x00\x00\a\x00\n\x00\x00\x00\x0e\x01\x00\x01\n\x00\x00!\x0e\x00\x00\x01\x0e\x00\x00\x00\x0e\x00\x00\x01;\x00\x00\x00\x0e\x00\x0c\x00\x00\x00\b\x00\x00\x00\x0c\x00\x0e\x00\x00\x00\x0e\x00\x00\x01\n\x01\x16\x00S\x00\n\x01V\x00=\x00b\x00\xa6\x00\xbd\x00w\x00U\x00J\x00a\x00V\x00O\x00Z\x00E\x00B\x00]\x00C\x00[\x00O\x00L\x00K\x00[\x00A\x00z\x00B\x00K\x00U\x00L\x00g\x00y\x00\x9e\x00[\x00g\x00l\x00\xb4\x00o\x00M\x00C\x00Z\x00f\x00o\x00\x90\x00\xb4\x00\x00\x00;\x00\x1a\x00\x00\x01\x02\x00\x16\x00\x00\x02\\\x00\xcb\x00X\x008\x00\b\x00\x00\x04\b\x00\x0b\x00\x00\x01\n\x00=\x00\x00\x00\x05\x00A\x00\\\x00\xb4\x00i\x00^\x00\x87\x01\xcb\x00\xcc\x00d\x00\xcd\x00d\x00\xcc\x00\xbe\x00\xcc\x00\x90\x00\x93\x00\x87\x00\x93\x01\xcb\x00\xcc\x00d\x00\xcd\x00d\x00\xcb\x00\xc9\x01\xa9\x01\x90\x00\xd6\x00u\x00^\x00{\x00\\\x00M\x00a\x00\x99\x00\x8e\x00\x02\x00\x00\x00S\x00=\x00{\x00`\x00o\x00\x00\x00C\x00\n\x00\x00\x00V\x00\x00\x00A\x00\x16\x00\x00\x00O\x00\x0c\x00\n\x00C\x00\x00\x00\x1a\x00\x02\x00\x00\x00V\x00\x00\x01\x1a\x00\x00\x00A\x00\x16\x00\x00\x01;\x00\x00\x01\x0c\x00\x00&\x0e\x00\x00\x01\x0e\x00\x00\x00\x0c\x00\x00\x01\x0c\x00\x00\x01\x0e\x00\x00\x00\x0e\x00\x00\x02\x0e\x00\x0c\x00\x00\x01\x16\x00\x04\x00\n\x00\x81\x00\xba\x02\x8e\x00a\x00=\x00J\x00A\x00]\x00M\x00\x1a\x00]\x00C\x00Z\x00k\x00t\x00\x81\x00x\x00\x14\x00T\x00\x1a\x00Z\x00U\x00Z\x00A\x00K\x00\x8c\x01C\x00W\x00K\x00u\x00y\x00M\x00C\x00L\x00Y\x00\xb8\x00K\x00\x02\x00\x00\x00\x05\x00G\x00\x0c\x00\x00\x01\n\x00\x0c\x00\x00\x00\xb4\x00\x93\x00\xd9\x00*\x00\x0f\x00\x00\x04+\x00$\x00!\x00\x00\x00\xd5\x00\xa8\x00\xb4\x00O\x00\x02\x00C\x00{\x00i\x00\x87\x01\x93\x00\xa9\x00\xcb\x00d\x00\xcd\x01\xd0\x00\xcd\x00d\x00\x90\x00\x93\x00\x90\x01\xb8\x00`\x00d\x01\xc9\x03\xd1\x00\xc9\x00_\x00\xa9\x00\xcb\x00\x93\x00\\\x00\x04\x00S\x00@\x00T\x00\xc0\x00J\x00\x00\x01O\x00S\x00\xa9\x00\xcc\x00]\x00\x02\x00B\x00\x00\x00\x05\x00\x1a\x00\x00\x00;\x01\x00\x00A\x00\x00\x00\n\x00\x1a\x00\x00\x00;\x00\n\x00\x00\x00A\x00\x00\x01\x16\x00;\x00\x00\x00=\x00\x00\x02\x0e\x00\x000\x0c\x00\x00\x03\x04\x00\x00\x01\x0e\x00\x00\x02\x04\x00\x00\x00\x05\x00!\x00\x8c\x00\xba\x00\xbf\x00\xba\x00Z\x00\x04\x00U\x00=\x00\n\x00]\x00\a\x00J\x00B\x02'\x004\x00t\x00x\x00\x14\x00Z\x00;\x00J\x00W\x00P\x00;\x00V\x00r\x00\xb9\x00M\x00B\x00u\x00L\x00M\x00l\x00\n\x00]\x00\xbe\x00\xcb\x00C\x00\x1a\x00\x00\x01\x0e\x00\x16\x00\x00\x04S\x00\xb4\x00\\\x00Q\x00\x19\x00\x00\x03\x05\x000\x006\x00\x0b\x00S\x00\xa8\x00\xaa\x00\x87\x00<\x00\x00\x00=\x00C\x00L\x00^\x00\x93\x01\xa9\x01\xc9\x01\xcc\x00d\x00\xcd\x01\x90\x00_\x00\x90\x00\xb8\x01\xcc\x00\xbe\x00\xcc\x02\xc9\x00\xcb\x01\xcc\x00\xd8\x01\xda\x00X\x00O\x00\x0e\x00\x04\x00\x00\x00w\x00\x99\x00!\x00\x00\x00\x02\x00@\x00\\\x00\xd6\x00\xa9\x00=\x00\n\x00A\x00\x00\x00\x0e\x00;\x00\x00\x00A\x00\x00\x01\x1a\x00\x0c\x00\x00\x00O\x00\x00\x00\n\x00;\x00\x00\x00\n\x01\x00\x00\x0e\x00S\x00\x00\x01\x04\x00\x003\x0e\x00\x00\t\n\x00\x00\x02\x16\x00<\x00C\x00l\x00\xce\x00g\x00A\x00\x1a\x00!\x00\x1a\x00B\x00\x1a\x00T\x00=\x00U\x00<\x00m\x00\x84\x00\xdb\x00m\x00@\x00Z\x00\x16\x00L\x00=\x00J\x00A\x00\\\x00[\x00\xc0\x00[\x00A\x00T\x00[\x00Z\x00T\x00\n\x00f\x00\x85\x00{\x00\x05\x00\n\x00A\x00\x00\x01\n\x00;\x00\x00\x04\x02\x00\x0f\x00.\x00\t\x00\x00\x03\x05\x006\x01\x0b\x00\x02\x00\xa8\x00_\x00\xaa\x00\x02\x00\x00\x00\x16\x00\x00\x00V\x00Z\x00{\x00c\x00\x93\x00\xa9\x00\xb8\x00\xcb\x00\xcc\x01d\x00\xcf\x00\xcb\x00\x90\x00\xa9\x00_\x00\xcc\x02\xd8\x00\xcc\x00d\x00\xd8\x02\xdc\x02\xda\x01\x16\x00\x0c\x00S\x00;\x00\xc0\x00Z\x00\x00\x01;\x00\x00\x00f\x00^\x00\\\x00\x00\x00\n\x00\x04\x00\x00\x00\x16\x00\x00\x01A\x00\x00\x01\x1a\x00\x00\x01C\x00\x00\x01;\x00\x00\x00\x0c\x00;\x00\x00\x01;\x00\x00DS\x00\x0e\x00\x02\x00\x00\x00D\x00\x8b\x00~\x00J\x00\x02\x00\x0c\x00V\x00\x05\x00C\x00\x1a\x00\x04\x00J\x00;\x00B\x00a\x00;\x00M\x00;\x00K\x00\x01\x00L\x00A\x00B\x00A\x00=\x00Z\x00\xae\x00\x9f\x00\x02\x00\n\x00K\x00A\x00=\x00V\x00\x00\x00\x02\x00\x1a\x00\x00\x01\x0e\x01\x00\b\x04\x00\"\x00\x20\x00\x00\x04$\x00\x84\x00\x05\x00\x00\x00f\x00\xaa\x00\xd5\x00\x02\x00!\x00\x0c\x01F\x00N\x00F\x00J\x00;\x00B\x00\x81\x00E\x00J\x00c\x00\x93\x00\xd6\x00\xa9\x02\xcc\x00\xd8\x02\xdd\x00\xd8\x01\xdc\x00\xda\x01\xdc\x01\xda\x00\xdc\x00\xda\x00\xde\x00\x00\x00S\x00k\x00\xbf\x00a\x00\x00\x04S\x00\x00\x01;\x00\x00\x01;\x00\x00\x01A\x00\x00\x01C\x00S\x00f\x01\x00\x01;\x00\x00\x01=\x00\x00F\x0c\x00;\x00\x00\x00\n\x00\x16\x00\x05\x00N\x00\xb2\x00G\x00\x0c\x00A\x01\x02\x00\x88\x00W\x00a\x00J\x00\x0c\x00]\x00a\x00S\x00g\x00\x02\x00J\x00\x0c\x00L\x00\x02\x00\x04\x00\x1a\x00\b\x00V\x00\x8e\x00\x9f\x00a\x00\n\x00A\x00\x04\x00\x05\x00\x1a\x00\x0c\x00\x00\x00\x04\x00;\x00\x00\x01\x04\x00\x0c\x00\x00\a\x0c\x00(\x00\x1d\x00\x00\x04G\x00\xab\x00\x00\x02\x02\x00\x00\x03\x04\x00@\x00a\x00G\x00@\x00\x00\x00q\x00\xb2\x00I\x00\x18\x00^\x01\x87\x00\xd6\x01\xd8\x01\xdc\x02\xd8\x00\xd6\x01\xdd\x00\xdc\x06\xdf\x00\x02\x00S\x00\x99\x00w\x00\x00\x05\x0e\x00\x00\x04@\x00\x00\x01=\x00\x00\x01i\x00\x90\x00\xcb\x00}\x00\x02\x00\x00\x00S\x00\x00\x01\n\x00\x00I;\x00S\x00\x00\x00a\x00\xce\x00q\x00\x05\x00g\x00E\x00\xa4\x01\xb0\x00\xa4\x00\xb3\x00N\x00g\x00a\x00;\x00W\x00S\x00U\x00a\x00M\x00\x0e\x00\x1e\x00\x1f\x002\x00\x12\x00r\x00\x8e\x00\x1a\x00\x00\x00\x05\x00J\x00\x00\x01\x1a\x00\x00\x01=\x00\n\x00\x00\x01\x02\x00\x00\a\x02\x00)\x01\x0c\x00\x00\x04\x0c\x00\x00\a\x02\x00\x00\x01\x0e\x00\x00\x01s\x00\xb2\x00\x18\x00V\x00\xa8\x00^\x00\x87\x00Y\x00\xd8\x00\xe0\x00\xda\x03\xdc\x01\xdf\x00\xa8\x01\xd9\x00\xdd\x00\xdc\x01\xe1\x00\xda\x00\xdc\x00\x0f\x00B\x00\xbf\x00\x1a\x00\x0c\x00\x00\x03\x0c\x01\x00\x01\x0c\x00\x00\x01\n\x00\x00\x01\n\x00\x00\x00S\x00\xa8\x00_\x00\xcc\x00\x85\x00S\x00\x00\x00\n\x00\x00L;\x00\x00\x01a\x00\x9d\x00\x8b\x00b\x00l\x00g\x01\x7f\x01~\x00\xb0\x00\xc3\x00\xb0\x00N\x00M\x00S\x00\x02\x00g\x00\x05\x00\x16\x00\t\x002\x01e\x00%\x00[\x00\x9e\x00B\x00\n\x00\x00\x00;\x00\n\x00\x00\x00\n\x00\x0e\x00\x00\x01\x0e\x00\x00\x05S\x01\x00\x03\x17\x00\x18\x00\x02\x00\x00\x10\x0c\x00\x00\x00\x0e\x00q\x00\x8b\x00\a\x00i\x00\x87\x00^\x00\xcb\x00\xdc\x00\xda\x01\xdc\x00\xda\x03\xdc\x01\xdd\x00\xa8\x00\xd5\x00\xa8\x00\xd9\x00\xdc\x01\xda\x00\xdc\x00\x12\x00[\x00\x9e\x00\n\x00\x00\x11v\x00{\x00o\x00C\x00\x02\x00\x00O\x0c\x00G\x00\a\x00D\x00\xce\x00N\x00\x00\x01G\x00\n\x00\x02\x00D\x00a\x00p\x00\xb7\x01\x89\x00;\x00\x05\x00B\x00\x12\x01\x17\x00\x1e\x00%\x00\x1e\x00\x11\x00Z\x00\xbf\x00M\x00@\x00\x00\x01A\x00\x00\x00\x05\x00;\x00\x00\bf\x00\xa8\x00^\x00S\x00\x00\x01\x1e\x00.\x00\x0e\x00\x00\x0f\x0c\x00\x00\x01\x0c\x00\x80\x00U\x00{\x00i\x00\xa8\x00\xdd\x00\xdc\x00\xda\x02\xdc\x01\xda\x05\xdc\x00\xd9\x00\xd5\x01\xa8\x00\xdd\x00\xdc\x00\xda\x00\xe2\x00\x9e\x00~\x00\x00g\x05\x00\x10\x00b\x01\x8b\x00~\x00\x05\x00\x0c\x00A\x00\b\x00\x02\x00G\x00S\x00\n\x00\x7f\x00\xb0\x00\xb7\x00N\x00\x04\x00C\x00S\x00\\\x00\xde\x00\xe3\x01\x1d\x00\x12\x00P\x00\x81\x00U\x00A\x00\x00\x01A\x00\x0c\x00\x00\x01\x0e\x00\x00\a\\\x00_\x00\xb8\x00{\x00\x00\x01\b\x00\"\x00\x1c\x00\x00\x13f\x00\\\x00\xb4\x00i\x00\xdd\x00\xd8\x00\xda\x02\xdc\x01\xda\x03\xdc\x00\xda\x00\xe1\x00\xda\x00\xdc\x00\xd8\x00o\x00\\\x00\xd5\x00X\x00\xda\x00\xd8\x00\xc0\x00B\x00\x00h\xab\x00\x88\x00~\x00\x80\x00\xb2\x00\x0b\x00\x0f\x00<\x00\x00\x00=\x01\x02\x00;\x00a\x00F\x00\xb7\x00\xb0\x00a\x00V\x00\xd5\x00\xaa\x00\xd3\x01\xd6\x00f\x00\x1c\x00\x11\x00w\x00c\x00S\x00\x05\x00\x00\x01\x0e\x00\x00\nf\x00\xb8\x00\xcc\x00c\x00\x00\x01\x05\x00\"\x00\r\x00\x00\x12S\x00f\x00\\\x00v\x00X\x00\xda\x0f\xe0\x00\xdd\x00\xd5\x00O\x00\xd5\x00X\x00\xe4\x00\x81\x00\n\x00\x00iN\x00p\x00W\x00\xb2\x00q\x00;\x00\x02\x01A\x00\x02\x00\x0e\x00W\x01b\x00\x9c\x00\xc3\x00~\x00{\x00f\x01\xd5\x00\xaa\x01v\x00\x02\x00\x12\x00\x11\x00w\x00\x00\x00@\x00\x00\x01\x0e\x00\x00\x0bC\x00c\x00C\x00\x00\x02\x18\x00\x20\x00\x00\x12S\x00f\x00\\\x00\xd9\x00\xdc\x01\xda\x01\xe0\x00\xdc\x01\xda\x01\xe0\x00\xdc\x00\xda\x06\xe1\x00\xd8\x00v\x00f\x00v\x00X\x00\x82\x00\x00jl\x00\x7f\x00\x0c\x00\x8f\x00m\x00S\x00\x05\x00\x02\x00A\x00\x0e\x00\x00\x00A\x00\x02\x00\x0c\x00D\x00\xa4\x00\xb3\x00C\x00\x04\x01A\x00S\x00f\x00\x16\x00\x00\x00\x12\x00k\x00\x81\x00\x00\x00\x0c\x00\x00\x14\x13\x01\x00\x12\x02\x00C\x00f\x00X\x00\xdc\x01\xe0\x00\xda\x02\xe0\x00\xda\x00\xdc\x00\xda\x02\xe0\x00\xda\x00\xdc\x00\xda\x01\xe1\x01\xda\x00X\x00v\x00S\x00o\x00P\x00\x00i\x05\x00\x89\x01\x00\x00N\x00\x8b\x00\x0e\x00\x00\x00\x02\x00A\x00;\x00\x00\x00\x0e\x00\x0c\x00\x05\x00@\x00k\x01\n\x00\x0c\x00!\x00A\x00\x02\x00\x00\x00\x0e\x00\x00\x00\x0f\x00c\x00\x9e\x00\n\x00\x00\x0e\x02\x00S\x00C\x00=\x00<\x00\x02\x00\x05\x00\t\x00)\x00\x0e\x00\x00\x11\n\x00\x1a\x00\\\x00\xdb\x00\xda\x00\xe0\x00\xdc\x00\xda\x00\xe0\x00\xdc\x01\xda\x00\xe0\x00\xda\x01\xdc\x00\xda\x01\xe0\x01\xda\x00\xe0\x01\xda\x00\xe0\x00\xe2\x00f\x01\x12\x00\x00jE\x00\x8a\x00a\x00\x01\x00\xce\x00b\x00\x02\x00\x04\x00;\x00W\x00a\x00\x05\x00\x0c\x00\x00\x00a\x00\x1c\x00\t\x00\x05\x01O\x00\x01\x00\x04\x02\x05\x00\x01\x00\x1a\x00\xbf\x00=\x00\x00\x0ef\x00^\x00_\x00\xcc\x00`\x00v\x00\x00\x00\b\x00\"\x00\b\x00\x00\nS\x01\x00\x03\x02\x00S\x00m\x00V\x00\xe0\x00\xda\x00\xdc\x00\xe0\x00\xda\x00\xdc\x00\xe0\x02\xda\x00\xdc\x00\xe0\x01\xda\b\xe1\x00v\x00<\x00f\x00\x02\x00\x00iB\x00\x9b\x00\x7f\x00!\x00\x8b\x00s\x00\x04\x00\x02\x00!\x00=\x00W\x02A\x01\a\x00\r\x00@\x00;\x00\x12\x02\x03\x00\x12\x00\x01\x00\x02\x00B\x00\xbf\x00B\x00\x00\x0ef\x00^\x00\xa9\x00\xcb\x00`\x00A\x00\x00\x01\x1f\x00\x19\x00\x00\tS\x00\xa8\x00\xd5\x00S\x00\x00\x03A\x00\xb2\x00P\x00\xe5\x00\xe0\x00\xda\x01\xe0\x01\xda\x00\xe0\x06\xda\x01\xe0\x03\xda\x00\xe0\x00\xe1\x00\x82\x00S\x01<\x00\x00j\x89\x00\x96\x00\x88\x00s\x00\x9d\x00\x0b\x00\x02\x00!\x00\x0c\x00<\x00S\x00\x16\x00A\x00b\x00g\x01F\x00J\x01F\x00\a\x00\x16\x00\x04\x00\x05\x00\x00\x00=\x00\xbf\x00J\x00\x00\x0ff\x01\\\x00=\x00\x00\x02\x13\x00\x17\x00\x00\b\x02\x00\xd5\x00\xaa\x00\xa8\x00S\x00\x00\x03s\x00\xb2\x00\x82\x00\xe0\x02\xda\x00\xdc\x00\xe0\x01\xda\x00\xe0\x00\xda\x00\xe0\x00\xdc\x00\xe0\x00\xdc\x00\xe0\x02\xda\x02\xe0\x01\xdc\x00\xe6\x00f\x00\x00\x00S\x00\x00jW\x00\x9b\x00\x96\x00\x8a\x005\x00b\x01~\x00N\x00\x02\x00\x05\x00\x0c\x00\x05\x00\r\x00l\x00\x13\x00\t\x00a\x00=\x00g\x00E\x01W\x00\x00\x01<\x00\x92\x00E\x00\x00\x0f\x05\x00\x00\x05\x03\x00)\x00\x02\x00\x00\aS\x00\xa8\x00\xaa\x00\xd5\x00\x00\x03\x05\x00s\x00\x8b\x00X\x00\xdc\x00\xe0\x12\xe5\x00\xe0\x02\xde\x00\x05\x00S\x00\x00\x15\x0c\x00\x00\x00\x0c\x00\x004\x02\x00f\x00\xd5\x00f\x00\x02\x00\x00\nf\x00M\x00L\x00{\x00M\x00C\x00\x02\x00\x00\x06)\x00\x8f\x00\x96\x01\x89\x00\xb1\x00\xb0\x00\x88\x00\x00\x02\b\x00\x1d\x00\r\x00#\x01\x04\x00\x05\x00\x0c\x00;\x00F\x00E\x00D\x00\x0c\x01\x81\x00z\x00\x00\x16\x04\x00#\x00\x01\x00\x00\aS\x00\xd5\x01S\x00\x00\x03\b\x00\x80\x00\x81\x00\xe1\x00\xe0\x0b\xe5\x00\xe0\x05\xe5\x01\xdc\x00\xe0\x00\xe5\x00\xe7\x00\x05\x00\x00\x15\x04\x00\x17\x00\x18\x00\x1a\x00\x004\\\x00\xaa\x01\xa8\x01\x00\x05\x05\x00\x00\x01<\x00]\x00\x85\x00|\x00\x86\x00\xa2\x01\x91\x00\x85\x00M\x00\x00\x04\x05\x00+\x00j\x00(\x00\x9a\x00\xc6\x00\x8a\x00W\x00\x00\x00\x05\x00\x00\x01\x12\x00\x17\x00\x1e\x00#\x01\b\x00\x0c\x00\x00\x01\n\x00F\x00N\x00@\x00\x05\x00\x8e\x00w\x00\x00\x17)\x00\x16\x00\x00\x01\b\x00\x1c\x00\x05\x00\x00\x04\x02\x00\x00\x04\x05\x00\x80\x00x\x00\xe5\x00\xe0\x01\xe1\x00\xe5\x01\xe0\x01\xe5\x00\xe0\x00\xe5\x01\xe0\x01\xe5\x00\xe0\x00\xe5\x01\xe0\x00\xe5\x00\xe0\x04\xdf\x00\b\x00\x00\x00\x02\x00\x00\x12\x0b\x00$\x006\x00-\x00\x16\x00\x004\xb4\x00\xa8\x00\xaa\x02\x02\x00\x00\x06=\x00]\x00;\x00S\x00\x04\x00S\x00\x02\x00=\x00^\x00\x91\x00\xa2\x00z\x00<\x00\x00\x01\x02\x00\x12\x00\xdf\x00\xe8\x00\xe9\x00\xdd\x00\x82\x00V\x00S\x00\x02\x01\x00\x00\x05\x00\x1e\x01\x17\x00\x1e\x00%\x00\t\x00\x00\x00\x02\x00\x04\x01\n\x00E\x00A\x00\x04\x00w\x00\x8e\x00\x00\x17\x15\x00\x20\x00\x00\x00\x1c\x00j\x01\x1e\x00\x00\n\x05\x00~\x00\x81\x00\xe5\x00\xe0\x01\xe5\x00\xe0\x02\xe5\x01\xe0\x0b\xe5\x00\xe0\x01\xe5\x00\xd4\x00\b\x00\x00\x00\x02\x00\x00\x11\x05\x00)\x00/\x000\x00\x13\x00\x005\x02\x00f\x00\xa8\x01\\\x00\x00\x05\x0c\x00C\x01\x00\x06S\x00\x8c\x00\xad\x00\x8d\x00\x85\x00\x02\x00\x04\x00P\x00\x12\x00\xd5\x01P\x00\xe2\x00\xdd\x01v\x00\x00\x00\x02\x00\x00\x00\x1c\x00%\x00\x1d\x00\x20\x00\x1d\x00#\x01\x04\x00\x05\x00\n\x00\x0c\x01F\x00\x02\x00\x0c\x00k\x00\x99\x00\x00\x17\x0b\x00\x1d\x00\x1c\x00h\x00j\x01\x1e\x00\x05\x00\x00\n\x8f\x00\xd7\x00\xe5\x01\xe0\x01\xe5\x0c\xe0\x00\xe5\x02\xe0\x00\xe5\x02\x82\x00\x04\x00\x00\x01\x05\x01\x00\x10\x1d\x00\x13\x00\b\x00\x05\x00\x006\x02\x00S\x00\x00\a\x02\x00c\x00\x02\x00\x00\al\x00\xae\x00\xad\x00\x91\x00u\x00P\x00\x0f\x00f\x00\xa8\x00\xaa\x00\xa8\x00\xb4\x00\x82\x00\xdd\x01\x12\x00\x1c\x00\t\x00\x20\x00%\x01\x20\x00#\x00%\x01\b\x00B\x00F\x01G\x00\x0c\x00\x02\x00\x00\x00Z\x00\xbf\x00\x00\x18\x20\x00\x1e\x00j\x01h\x00\x1c\x00\b\x00\x00\bS\x00\x00\x00m\x00\xe6\x00\xe5\a\xe0\x00\xe5\x00\xe0\x00\xe5\x00\xe0\x00\xe5\n\xe6\x00\xe7\x00\x04\x00\x00\x01S\x00\x05\x00\x00\x10\x0c\x00\x02\x00\x00BK\x00i\x00\x00\x06\x04\x00J\x00\x8e\x00\xac\x00\xba\x00\x91\x00\xa2\x00\xa8\x00v\x00\xa8\x00\xaa\x01\xd3\x00\xaa\x00\x1b\x00\x11\x00\xdd\x00\xe7\x00\b\x01#\x00%\x00\x1d\x02%\x002\x00\x20\x00=\x00A\x00\x0c\x01\x00\x00\x04\x00\x0c\x00]\x00\xc0\x00\x00\x03\x05\x00\x00\x01\x0c\x00\x00\x10\x03\x00\x1e\x00\x20\x00\x1e\x00\b\x00\x00\nS\x00\x02\x00m\x00\xe1\x00\xdc"
b"\x00\xe6\x00\xe5\x16\x12\x00\x0c\x00\x00\x01\x05\x00\x1c\x00\x1e\x00\x1c\x00\x00R\n\x00\x85\x00{\x00\x00\x05\x02\x00E\x00T\x00E\x00\x89\x00\x98\x00\xa0\x00\xa2\x00\x87\x00S\x01\x04\x01\xa8\x00\xd5\x00@\x00\x8b\x00\xdd\x00\xe7\x00\x04\x00\b\x00\x18\x00#\x00\x17\x00\x20\x00\x1d\x00>\x01\x1d\x00\x14\x00S\x00\x00\x01\x02\x00\x05\x00\x00\x00Z\x00\xbf\x00\x02\x00\x00\x02\x05\x00,\x00\r\x00\x01\x00\x00\x06\x0b\x00(\x00t\x00\a\x00\x00\x05\b\x00\x06\x00\x0e\x00\x05\x00\x00\x0bf\x00S\x00\x8b\x00\xe6\x01\xe5\x04\xe4\x00\xe5\n\xea\x00\xe5\x02\xe4\x00\xe5\x00\xe4\x00f\x00\x00\x02\x1e\x00j\x02\b\x00\x00Q\x02\x00\x91\x00L\x00\x00\x05[\x00\x1a\x00\x05\x00\x02\x01;\x00T\x00\x86\x00^\x00\x05\x01\x00\x02\x0f\x00!\x00\x8f\x00\xe2\x00\x12\x00\x00\x00\x20\x002\x00%\x00>\x00\x1e\x00>\x00%\x00>\x01\x1d\x00\x03\x00\x05\x00\x00\x00\x0c\x00\x05\x00\x00\x00E\x00\xbf\x00\n\x00\x00\x02\x01\x00t\x00\x84\x00(\x00\x05\x00\x00\x02\x0c\x00\x04\x00\b\x00\x01\x00H\x00G\x00,\x00\x01\x00;\x00\x0b\x00\b\x00\x0e\x00\x04\x00\x0c\x00\x0e\x00\x00\x00\x05\x01\x00\nv\x00S\x003\x00\xe1\x00\xe5\x01\xe4\x00\xe5\x00\xe4\x00\xe5\x02\xe4\x00\xe5\r\xe4\x00\xc8\x00\x00\x02\x05\x00h\x00j\x02\b\x00\x00Q\x04\x00\x85\x00}\x00\x00\x04=\x00\x9e\x00\x89\x00\x0c\x00\n\x00\x02\x00\x05\x00<\x00\xdf\x00v\x00\x05\x00\x0f\x00\xde\x00S\x00\x05\x00\x03\x00\b\x00s\x00\x82\x00S\x00\x04\x00\x18\x00%\x01\x20\x01+\x00\x1f\x00%\x01>\x00#\x00\b\x00\x00\x03U\x00\xbf\x00=\x00\x00\x02\x04\x00,\x00\x03\x00,\x00:\x00\x03\x00\a\x00\x1b\x01\a\x00\x19\x00\r\x00\x1b\x01\x19\x00\x1b\x00\x19\x00\x1b\a\x03\x00\x01\x01\x0e\x00\x00\av\x00A\x003\x00\xe6\x00\xea\x00\xe5\x00\xe4\x00\xe5\x00\xe4\x06\xe5\x02\xea\x01\xe5\x00\xea\x00\xe5\x00\xe4\x01\xe5\x01\xea\x00P\x00\x00\x01\x05\x01h\x00j\x01h\x00\x05\x00\x00Rz\x00\x8d\x00f\x00\x00\x03S\x00\x99\x00\xae\x00\x8e\x00l\x00M\x00B\x00V\x00\xc8\x00P\x00\x04\x00\xe2\x00\xdd\x00\xe7\x00\x0f\x00\x12\x01\x17\x01\b\x00,\x00+\x00)\x00\x1d\x02>\x00%\x012\x00%\x00>\x00\b\x00\x02\x00\x00\x02M\x00\x92\x00=\x00\x00\x01\x05\x00\x06\x00\x03\x00G\x00\x03\x00,\x00:\x01,\x00:\x02,\x00\x03\x01:\x01,\x00\x06\x00:\x00,\x00:\x00,\x00:\x00,\x00\x06\x00:\x01,\x00\x03\x00\x01\x00\x00\x06v\x00C\x00\xc8\x00\xe4\x00\xea\x01\xe5\x00\xe4\b\xe5\x00\xe4\x04\xe5\x00\xe4\x00\xea\x00\xe5\x00\xea\x00\xdb\x00=\x00\x02\x02\a\x01\x1c\x01\x05\x00\x00SV\x00\xa2\x00\x85\x00S\x00\x00\x02\x05\x00;\x00\x89\x00\x8c\x00\x9e\x01\xbd\x00\x9e\x00\x92\x00\x99\x00\x8e\x00\x85\x00d\x00`\x00X\x00\xdf\x00\x11\x00\x12\x00\x03\x00\x0b\x00\x20\x00+\x00\x13\x00s\x00\x17\x00>\x01\x1d\x00#\x002\x00)\x00\b\x00\x02\x01\x05\x00\x00\x01L\x00\x81\x00A\x00\x00\x02\x0e\x00\x0b\x00\x01\a\x0b\x00\x01\x02\x0b\x00\x01\x0c\x0e\x00\x00\a\\\x00B\x00X\x00\xe4\x01\xea\x00\xe5\x00\xe4\x06\xe5\x00\xe4\x03\xe5\x00\xe4\x02\xea\x00\xe5\x00\xea\x01\xe7\x00\x00\x00\n\x00f\x00<\x00\xe7\x00P\x00\x05\x00\x00U\x02\x00u\x00\xa2\x00|\x00f\x00\x00\x01<\x00C\x00S\x00\x00\x00\n\x00A\x00\x1a\x00\x85\x00|\x00\x8e\x00c\x00\x95\x00\x9e\x00\xc0\x00\x98\x00K\x00@\x00\b\x00\x1e\x02>\x00\x1d\x00\x17\x00>\x00\x20\x01\x13\x00\x20\x00%\x00+\x00\t\x00\x00\x01\x05\x00\x00\x00\x05\x00U\x00\x81\x00\x1a\x00\x00\x06\x0c\x01\x05\x00!\x00\x05\x00\x0e\t\x04\x00\x05\x01\x0e\x00\x04\x01\x05\x00\x00\n\\\x00i\x00\xe1\x00\xe5\x00\xe6\x00\xe5\x00\xea\x01\xe4\x0c\xea\x00\xe4\x00\xe5\x00\xea\x00\xe5\x00\xe1\x00v\x00S\x02f\x00\xdb\x00P\x00\x05\x00\x00V<\x00\x90\x00\xa2\x00\x86\x00]\x00f\x00\x85\x00\xa2\x00{\x00\x00\x02\x12\x00\xe9\x00\x82\x00\xe9\x00\xde\x00\x0c\x00<\x00E\x00\x99\x00\xba\x00r\x00;\x00\x10\x00\x20\x00\x1e\x00>\x00\x20\x02>\x00\x20\x00>\x00%\x01+\x00%\x00\x05\x00\x0c\x00\x05\x00\x00\x01M\x00w\x00G\x00\x00\b\x05\x01\x00\x0b\x0c\x00\x00\a\x02\x00\x00\x01\x05\x00\x00\x03\\\x00\xb4\x00X\x00\xea\x06\xe4\x00\xea\t\xe5\x00\xea\x03\x14\x00S\x00f\x00S\x00f\x00\xde\x00\xe5\x00\x14\x00\x05\x00\x00W=\x00o\x00\x8e\x00\xa2\x00\x91\x00\x86\x00o\x00\x04\x00\x00\x02\x11\x001\x00\xdf\x00\xe9\x00\xd4\x00\b\x00\x04\x00\x00\x00=\x00\x85\x00\xba\x00y\x00\x01\x00\x18\x00+\x00\x1f\x00%\x01#\x00\x1e\x00#\x00>\x002\x01+\x01\b\x00\x05\x00\x00\x02W\x00w\x00\x1a\x00\x00\x05\x05\x00\x0e\x00\x0f\x00\x02\x00S\x00\x0f\x00f\x00C\x00O\x00=\x00S\x01\x02\x00=\x00S\x00C\x00;\x01\x02\x00\x05\x00\x00\b\x05\x00\b\x00\x00\x01\x02\x00\\\x00\xd5\x00X\x00\xe4\x00\xea\x02\xe4\x00\xea\x02\xe6\x00\xea\x06\xeb\x00\xea\x04\xe6\x00v\x01f\x00\x0f\x00v\x00X\x00\xeb\x003\x00\x00\x02\x0c\x00\x00Vf\x00C\x00\x1a\x00=\x00\x00\x03\x04\x00\xd4\x00v\x00\\\x00\xd4\x00\xe9\x00\x0f\x00\x05\x00\x0c\x01=\x00\xb3\x00\xbd\x00\x16\x00+\x00\x1f\x01.\x00+\x00\x1d\x00\x20\x00\x1d\x00#\x00%\x00)\x00h\x00\xe3\x00\t\x00\x00\x03B\x003\x00\x1a\x00\x00\x05\\\x00^\x02\x93\x00\x87\x00^\x01\xd5\x01\xb4\x01v\x00\\\x00v\x00\\\x01v\x02f\x00O\x00f\x00\x02\x00\x0c\x00\x00\x02\x05\x00\x1e\x00h\x00\x1c\x00\x00\x01v\x00o\x00Y\x00\xeb\x00\xea\x04\xeb\x00\xe4\x00\xeb\x00\xea\x0b\xe6\x00\xe2\x00f\x01A\x00f\x00P\x00\xeb\x00\xea\x00X\x00\x02\x00\x05\x00\x0b\x00\x06\x00\x0c\x00\x00P\x0c\x00J\x00k\x00[\x00J\x00\x00\x05\x02\x00\x00\x00\a\x00\xd4\x00v\x00f\x00\xe7\x00\xec\x00\x11\x00\x02\x01\x04\x00S\x00E\x00\x8e\x00\a\x00\r\x00)\x00+\x01%\x00\x1d\x00\x20\x00#\x00%\x02+\x002\x00#\x00\x05\x00\x00\x02B\x00c\x00\a\x00\x02\x00\x00\x03\x04\x00P\x00\xd6\x00_\x00\xaa\x00\xa8\x00^\x00i\x00^\x00i\x00\xd5\x00i\x00\xd5\x00v\x00\\\x00f\x00\\\x00f\x01\x0e\x00S\x00f\x00v\x00o\x00\x04\x00\n\x00\x00\x02\x1c\x00j\x01\x20\x00\x00\x01\\\x00^\x00i\x00\xde\x00\xc8\x00\xea\x01\xe6\x00\xeb\x00\xea\x03\xe4\x00\xea\x06\xeb\x00\xea\x01\xe6\x00v\x00\\\x00v\x00C\x00\xb4\x00\xe6\x00\xea\x01X\x00\x04\x00\x1d\x006\x00-\x00\x0b\x00\x00PE\x00\xbf\x00\xba\x00\xae\x00\xbf\x00A\x00\x00\x02\x05\x00\x1c\x00\t\x00\x10\x00\xe3\x00\xed\x00\xdf\x00\xd4\x00\xe9\x00\xed\x00\xd4\x00\n\x00]\x00[\x01y\x00=\x00\x14\x00b\x00\x10\x00\x1f\x00%\x01\x1d\x00\x20\x00#\x00\x1e\x00>\x00%\x00h\x00e\x00+\x00\b\x00\x0c\x00\x00\x01G\x00c\x00V\x00\x00\x04\x0c\x00\\\x00\xcb\x00\xee\x00\xbe\x00\xcc\x01\xd1\x00_\x00\xa9\x00\x93\x04\xd6\x01\x93\x00\xd6\x00\xb8\x00\xc9\x00\xcc\x00\xcb\x00v\x00\x05\x00\b\x00\x00\x00\x05\x00\b\x00h\x00j\x01\x1c\x00\x00\x01\xb4\x00^\x00o\x00=\x00\x0f\x00v\x00\x82\x00\xdb\x00\xe6\x00\xea\x01\xeb\x00\xea\x00\xeb\x00\xea\x02\xeb\x00\xea\x04\xeb\x00\x82\x00v\x00\\\x02\xd9\x00\xeb\x00\xea\x01\xdb\x00\x03\x008\x000\x00-\x00W\x00\x00PV\x00\xbf\x00\xba\x00\xc0\x00\x95\x00\x02\x00\x05\x00\b\x00)\x00R\x001\x00+\x00%\x00\xec\x00\xed\x00\xe8\x01\xe9\x00\xdb\x00\xef\x00c\x00\x8c\x00\x85\x00Z\x00\x04\x00\b\x00s\x00b\x00\xab\x00)\x01%\x00#\x00\x20\x00\x1d\x00%\x00#\x00%\x002\x00+\x00e\x00\x1c\x00\x04\x00\x00\x01B\x00c\x00\x1a\x00\x00\x05S\x00\xde\x00\xee\x00\xf0\x01\xee\x01\xf0\x02\xee\x00\xf0\x02\xee\x01\xf0\x01\xee\x00\xf0\x00\xee\x00\x87\x00S\x00\x0e\x00\x00\x02\b\x002\x00e\x00\x1c\x00\x05\x00\x00\x01i\x00\x87\x00^\x00C\x00\x00\x00\x04\x00\x0f\x00S\x00\x12\x00\x10\x00\xe7\x003\x00X\x00\xc8\x00X\x003\x00\x82\x00\x11\x00\x14\x00\x11\x01k\x00P\x01\xb4\x00v\x00\\\x01P\x00\xe6\x00\xea\x02\xdb\x00\x1d\x00/\x000\x00\x14\x00\x00R\x1a\x00E\x00U\x00\n\x00\x00\x00\x1c\x00\x20\x00\t\x00\x1c\x00\b\x01\x12\x00\xed\x02\xe8\x00\xed\x00\xec\x01\x12\x00S\x01\x00\x00\x05\x00\r\x00g\x01G\x00\x13\x00)\x00#\x00k\x00\x17\x00\x1d\x00%\x012\x00\xe3\x002\x00\x1f\x00#\x00\x05\x00\x00\x01\x1a\x00w\x00A\x00\x00\x05\x0e\x00C\x00\xcc\x00\xee\x00\xf0\x03\xf1\x00\xd2\x00\xf1\x00\xf0\x02\xf1\x00\xf0\x04\xcb\x00\xb4\x00\x04\x00\x0e\x00\x05\x00\x00\x02\b\x01!\x00\b\x00\x05\x01A\x00\\\x00v\x00;\x00\x00\x03\x0c\x00\x04\x00\x0f\x04\x01\x01\x16\x00\x01\x01G\x00\x03\x00\x01\x00O\x00\\\x00\xd5\x00\\\x00\xb4\x00\xc8\x00\xeb\x00\xea\x00\xeb\x01\xe6\x00\x01\x00n\x00\x13\x00\x05\x00\x00V\b\x001\x00\x1c\x00\x0c\x00\x00\x01\x04\x00\xd4\x00\xf2\x011\x01R\x03+\x00\x1c\x00\x00\x00\x05\x00\x13\x00g\x02\xab\x00)\x00#\x00k\x00\x17\x00\x1d\x00%\x01+\x00%\x00\x13\x01\x1f\x00\b\x00\x00\x01O\x00w\x00\x16\x00\x00\x05!\x00\x16\x00^\x00\xf0\x00\xf1\a\xf0\x00\xf1\x01\xd1\x00\xc9\x00\xd6\x00\xd5\x00\\\x00A\x00\x0b\x00,\x00G\x00,\x00\x03\x00\x19\x02\a\x00\x1b\x01\a\x01\r\x00\a\x02\x06\x02,\x00;\x00\x16\x00\x0e\x00\x00\x01\x0e\x00\x01\x00\x0f\x00\x01\x06{\x00\xb4\x01o\x00\xde\x00\xeb\x05\x0f\x00!\x00\x00X\t\x00R\x00\x1c\x00\x00\x00\x04\x00\x05\x00\x0f\x00\xec\x00\xed\x001\x00R\x00\xe8\x00R\x001\x00\xf3\x00R\x01%\x00\x04\x00\x01\x00F\x00g\x00F\x00g\x00G\x00\x13\x00%\x00\x1d\x00\x20\x00>\x00%\x02e\x00+\x00)\x00e\x00\t\x00\x04\x00\x00\x00O\x00w\x00;\x00\x00\x05!\x00\x03\x00\\\x00\xd1\x00\xf1\x01\xd2\x00\xf1\a\xaa\x00f\x00O\x00\x03\x00:\x00\x1c\x00H\x00\x06\x00\x1b\x00\x06\x03\x03\x00\x06\x02,\x00\x03\x00\x06\x01:\x05,\x00\x06\x02\x01\x00\x00\x01\b\x00\x01\x05\x12\x00\xb4\x00i\x00\xd5\x01\xd0\x00\xe6\x00\xea\x00\xeb\x00\xea\x00\xeb\x01\x0f\x00\x00Y\x03\x00R\x00Q\x00\x1c\x00\x05\x01\x17\x00\xef\x00\xed\x001\x00\xec\x00\xdf\x00\xed\x00\xec\x00\xf2\x00\xec\x00R\x00\x18\x00\x05\x00\a\x00F\x00g\x00b\x00g\x01\x10\x00)\x00%\x00\x1d\x01#\x00%\x002\x00h\x002\x00e\x01#\x00\x00\x01B\x00w\x00\x00\a\x01\x00\x0f\x00^\x00\xf1\x04_\x00\xaa\x00\xd1\x00\xf1\x00\xd2\x01\x93\x00\x04\x01\x0f\x00\x01\x00\x03\x00,\x00\x03\x00\x0b\x00\x01\x03\x06\x00,\x02\x03\x00,\x01\x01\x00\x03\x00\x01\x00,\x00:\x00,\x01\x01\x03\x0b\x00\x00\x01\x16\x00\x01\x02,\x01\x01\x00{\x00i\x02Y\x00\xeb\x02\xea\x01\xeb\x00\xf4\x00f\x00\x00Z#\x00R\x01\x1e\x01\xe8\x00\xf2\x00X\x00\xc8\x001\x00\xe8\x01\xe9\x00\xed\x00\xec\x00R\x00\x03\x00\x00\x00\x10\x00\x88\x00g\x04\x1b\x00\a\x00\r\x00\x1d\x00#\x002\x01+\x01e\x01\x1f\x00\b\x00\x00\x00D\x00\x82\x00\x00\a!\x00\x0b\x00o\x00\xd1\x00\xf1\x03^\x00\xd6\x00\xaa\x00\xd2\x01\xf1\x01\\\x00\x05\x00\x00\x01\x02\x00\x0e\x00\b\x00\x0b\x00\x0e\x00\b\x00\x0b\x00\x0e\x02\x0b\x00@\x00\x0b\x02\b\x00\x0b\x01\b\x00\x16\x00\x0e\x00\x04\x00\x0e\x01\x0c\x00\x00\x02\x05\x00\x01\x03,\x01\x03\x00\xd5\x00i\x01{\x00\xe7\x00\xeb\x05\xf4\x00\x12\x00\x00[\x1e\x00Q\x00R\x02\xf5\x003\x001\x00\xed\x00\xe8\x01\x18\x001\x00\xf5\x001\x00\b\x00=\x00g\x06B\x00W\x00D\x00A\x00\x01\x00\x15\x00%\x00+\x001\x00e\x02\x1c\x00\x05\x00J\x00k\x00\x00\a\x05\x00\x01\x00O\x00_\x00\xf1\x00\xd2\x00\xf1\x00\xd2\x00\xd1\x00_\x00\xd1\x01\xf1\x01\xd2\x00\x93\x00\x02\x00\x00\x0e\x05\x00\x00\r\x01\x02\x03\x00,\x01\x01\x00\x1a\x00o\x00i\x00\xa8\x00V\x00\x82\x00\xeb\x06\x12\x00\x00[\x05\x00\b\x00\x1d\x001\x00R\a\xf5\x00\xec\x00\xf6\x00\x12\x00\x1a\x00\x7f\x00g\x00E\x00g\x01W\x00B\x00g\x00W\x03\x0b\x00)\x00h\x00.\x00e\x02\x1d\x00\x05\x00J\x00k\x00\x00\b\x0b\x00\x03\x00\xd5\x00\xf1\x01\xd2\x01\xf1\x00\xd1\x00\xaa\x00\xd6\x00\xa8\x00\xd2\x02\xb4\x00\x00\x01\x02\x00\x00\x00\x0c\x00\x02\x00\x00\x01\x02\x01\x00\x01\x02\x02\x00\x04\x02\x00\x00\a\x05\x00\x01\x02\x03\x00,\x02V\x00^\x02V\x00\x14\x00\xeb\x00\xf4\x00\xeb\x04\x10\x00\x00]\x0f\x001\x00\xf5\x01\xec\x001\x00\xed\x00\xe8\x00\xed\x00\xec\x02\xf6\x00\xd4\x00g\x00\x88\x00g\x03D\x00g\x00B\x00W\x02\x01\x00\x1d\x00+\x01e\x04>\x00\x10\x00P\x00\x00\b\x04\x00,\x00O\x00\xd1\x00\xd2\x00\xd1\x00\xd2\x01\xd1\x00\xaa\x00\xd6\x00\xa8\x00\xd2\x01\xf1\x00^\x00\x00\x01\x02\x00v\x01{\x00\xde\x00^\x01\xde\x00o\x00\xd5\x00\xb4\x00\\\x02f\x00v\x00\\\x01v\x00A\x00;\x00\x0e\x00\x0f\x00\x02\x00\x00\x02\x01\x00\x03\x00,\x01:\x00,\x01\x06\x00V\x00^\x02\x10\x00\x11\x00\xf4\x00\xeb\x01\xf4\x00\xeb\x00\xf4\x00\xeb\x00P\x00!\x00\x0c\x00\x00[\x12\x00\xf2\x00\xec\x03\xe9\x01\xe8\x00\xed\x01\xf2\x00\xf6\x00\xef\x00J\x00N\x00E\x00g\x01\x88\x00g\x03D\x00G\x00\x20\x00%\x01h\x00e\x00h\x00e\x01j\x01#\x00]\x00\x00\t\x0b\x00G\x00^\x00\xd2\x03\xd1\x00\xd6\x00\xaa\x00\xd6\x00\xd3\x00\xd2\x00\xf1\x00\xd6\x00S\x00\x00\x00O\x00\x93\x00\x87\x00\x93\x00\x87\x00^\x01\xa8\x00\xd5\x00i\x00\xb4\x02\\\x00v\x01f\x00S\x01\x02\x01S\x00f\x00V\x00\x00\x00\x05\x00S\x00\x01\x00:\x00,\x04\x1c\x00{\x00^\x02V\x00\x14\x00\xeb\x01\xf4\x00\xeb\x02\xf4\x00P\x00\x00]\x11\x00\xd4\x00\xf2\x00\xec\x001\x00\xed\x00\xe9\x00\xe8\x00\xed\x01\xc8\x00\xef\x00\xf2\x00\xf6\x00k\x00g\x00U\x00\x7f\x00g\x03D\x00g\x00D\x00\x15\x00#\x00%\x01+\x002\x01e\x02j\x00#\x00M\x00\x00\t\x0e\x00:\x00{\x00\xd1\x00\xd3\x00\xd2\x02\xd1\x01\xd2\x00\xd1\x02\xde\x00@\x00\x00\x00\x0e\x00c\x00\xcc\x00\xd1\x00\xd6\x01\x93\x00\xd6\x00^\x01\xa8\x00\xd5\x00\xa8\x00\xd5\x02\xde\x00i\x00^\x00\xa8\x00^\x00\xd6\x00Y\x00f\x00\x05\x01O\x00\x01\x00,\x01:\x00,\x00:\x01\x1b\x00\x10\x00\x87\x02{\x00\x11\x00\xf7\x00\xeb\x01\xf4\x03P\x00\x00\\\x04\x00\xe8\x00\xe7\x00\xef\x00\xec\x00\xef\x00\xed\x00\xe8\x01\xc8\x00\xd5\x00v\x00\xe7\x00\xf3\x00\xf8\x00\x82\x00g\x00\x7f\x00g\x00\x88\x00g\x03W\x00G\x00\x1d\x00>\x00)\x002\x01e\x01\xe3\x00e\x00I\x00e\x00\r\x00O\x00\x00\n\x01\x00\a\x00\xd6\x00\xd1\x05\xd2\x01\xd1\x00_\x00V\x00G\x00\b\x00S\x00\xb4\x00\xbe\x00\xee\n\xf0\x00\xee\x06o\x00;\x00\x00\x00\x0e\x00\x01\x00,\x04:\x00\x06\x00\x03\x00\x10\x00^\x00\x93\x00u\x00o\x00\x14\x00\xeb\x00\xf4\x05\x82\x00\x00\\\x12\x00\xdf\x00\xd9\x00\xdf\x00\xf2\x00\xef\x00\xed\x00\xe8\x01\xc8\x00v\x01\x11\x00\xf6\x01\xf3\x00E\x00g\x01\x7f\x00g\x03G\x00\x15\x00#\x00%\x01+\x01\xe3\x002\x00h\x00e\x02\x12\x00O\x00\x00\n\x0f\x00\x06\x00^\x00\xd1\x04\xd3\x00\xd1\x00\xd3\x00\xd1\x00^\x00:\x00\x06\x00\x05\x00\b\x00\x0f\x00\x93\x00\xf0\r\xee\x00\xf0\x01\xee\x00\xc9\x00S\x00\x04\x00\x05\x00\x01\x00G\x00\x03\x00,\x02:\x01\x06\x00\x19\x00\x06\x00^\x00\x93\x00u\x00^\x00\x82\x00\xf7\x00\xf4\x05P\x00\x00\\\xd4\x00\xe2\x00\xd9\x00\xe7\x00\xdb\x00\xef\x00\xc8\x01\xe8\x00\xe9\x00\xe8\x00\xd4\x00\xf2\x01\xf9\x00\xf8\x00s\x00N\x00\x7f\x00g\x01\x88\x00F\x00g\x00G\x00\x1d\x01\x17\x00\x13\x01+\x00h\x01\xe3\x00e\x00j\x00Q\x00\x1d\x00\x01\x00\x00\n\x0c\x00\x1c\x00o\x00\xd1\x02_\x00\xd1\x02_\x00\xd1\x00\xde\x00\x06\x00\x03\x00\x00\x00\x0e\x00\x0f\x00\\\x00\xc9\x00\xf0\x01\xf1\x01\xf0\x01\xf1\a\xf0\x00\xf1\x00\xf0\x00o\x00\x16\x00\x0f\x00\b\x00\x01\x00G\x00\x01\x00,\x00:\x02\x06\x01\x19\x00\x06\x00^\x00\x93\x02c\x00\xeb\x00\xf4\x00\xf7\x00\xeb\x00\xf4\x00\xeb\x00\xf7\x00\x82\x00\x00[\x02\x00\xc8\x00\xd9\x00\xe2\x00\xe7\x00\xdf\x00\xec\x00\x82\x01\xdf\x00\xe9\x00\xed\x00\xef\x00\xec\x00\xdb\x00\x82\x003\x01\x7f\x00g\x05G\x00\x20\x00\x1d\x00#\x00\x14\x00)\x002\x00h\x00\xe3\x00e\x03\x1f\x00\x0f\x00\x00\x0b\x01\x00\x06\x00\xaa\x00_\x00\xaa\x00\xd5\x00\xaa\x00\xd1\x02\xd6\x00O\x00\x03\x00\x0e\x00\x00\x01\x0f\x00;\x00\xd6\x00\xf0\x01\xf1\x06\xd2\x00\xf1\x00\xd2\x00\xf1\x03\xcb\x00C\x00\b\x01\x01\x00:\x00,\x03:\x01\x06\x00\x03\x00\x06\x00\t\x00V\x00\x93\x00\x90\x00\x93\x00Y\x00\xeb\x00\xf4\x00\xf7\x00\xeb\x00\xf4\x00\xf7\x00\xd7\x00X\x00\x00Z\x02\x00\x10\x00\xd4\x00\xd9\x01\xe7\x01\xef\x00\xe9\x01\xe8\x00\xe9\x00\xed\x00\xef\x00\xf3\x01\xe9\x01\xdb\x00g\x00\x7f\x00g\x00J\x00g\x00b\x00g\x00D\x00\x17\x00\x1d\x00#\x00%\x002\x00h\x01e\x03j\x00.\x00\x01\x00\x00\x04\x0c\x00a\x01\x00\x03\x04\x00\t\x00^\x00\xd3\x00\xaa\x00\xd5\x00\xa8\x00_\x02^\x00\x06\x00\x1b\x00\x00\x01\x0c\x00\b\x00\x0b\x00\xd5\x00\xd1\x00\xf1\x03\xf0\x00\xd1\x01\xd2\x00\xf1\x06\xa8\x00\x16\x00\b\x00\x01\x00:\x00,\x02:\x01\x06\x02G\x00\a\x00\x19\x00G\x00c\x00\x93\x00\x90\x00\x93\x00\xd0\x00\xf7\x01\xf4\x01\xf7\x00\xf4\x00\xc8\x00\x00[\xe2\x00\xd9\x02\xe2\x01\xed\x01\xe8\x00\xed\x03\xf2\x01\xf6\x00\xf9\x00\xf8\x00\x10\x00E\x00g\x01\x7f\x00g\x01D\x00\x15\x00>\x00#\x00%\x012\x00+\x00\xe3\x00e\x01j\x00e\x00R\x00\t\x00\x02\x00\x00\x02\x1a\x00\x9b\x00\xbc\x00\x95\x00p\x00\x00\x03\a\x00{\x00\xd6\x00_\x04\xd6\x00\xb4\x00\x06\x00\x01\x00\x00\x02\x0c\x00\x0b\x00O\x00\xd6\x00\xf1\x01\xd2\x00\xf1\x00\xd1\x00\xaa\x01\xd1\x00\xd2\x01\xf1\x03\xd1\x00v\x00\x0b\x00\x01\x00\x03\x00,\x02:\x02\x06\x01\x19\x01H\x00\x19\x00H\x00\a\x00\x87\x00\xa9\x02\xeb\x00\xf4\x00\xf7\x00\xeb\x00\xf4\x00\xf7\x00X\x00\x00Z\x0f\x00\xd9\x00\xdd\x00\xdf\x00\xd9\x01\xe2\x00\xe7\x00\xd9\x00\xdf\x01\xed\x01\xf2\x00\xec\x01\xf6\x00\xf8\x00\xf9\x00\x18\x00\x10\x00\x13\x00F\x00g\x02B\x00\xab\x00#\x012\x00+\x02e\x03R\x00j\x00)\x00\x00\x03E\x00\x8a\x00\xbc\x00\x9b\x00\x89\x00\x0c\x00\x00\x02\x01\x00\x1b\x00^\x00_\x00\xaa\x00_\x00\xaa\x00_\x00\xa8\x00\a\x00\x1b\x00\x05\x00\x00\x03\b\x00\x0b\x00^\x00\xd2\x00\xf1\x00\xd2\x00\xf1\x00\xd2\x00\xa8\x01\xd1\x00\xd2\x00\xf1\x03\xd2\x00\x93\x00\x16\x00\x01\x01,\x03:\x01\x06\x01\x1b\x00\x19\x01H\x00\a\x01:\x00P\x00\x90\x00\xa9\x00\x93\x00\xcf\x00\xf7\x00\xf4\x00\xf7\x01\xfa\x00X\x00\x00Z\x12\x00\xd9\x01\xdf\x00\xd9\x02\xe2\x03\xe7\x00\xd4\x00\xe9\x00\xf2\x00\xf5\x00\xf3\x00\xf5\x00\xf9\x00\xf3\x001\x00e\x00\x18\x00F\x00g\x00b\x00g\x00\a\x00#\x01%\x00.\x00e\x002\x00e\x02I\x00e\x00I\x00\x1d\x00\x00\x04=\x00B\x00W\x00\x0c\x00\x00\x03\x0e\x00\a\x00\xde\x00_\x00\x93\x00\xaa\x01\xd6\x00o\x00\x19\x00\a\x00\x00\x04\x05\x00\x03\x00O\x00_\x00\xf1\x00\xd2\x00\xf1\x00\xd2\x01\xd1\x00\xaa\x01\xd1\x00\xd2\x01\xf1\x00\xd2\x00{\x00\x01\x01,\x02:\x02\x03\x00\x06\x01\x1b\x00\x19\x00\x1b\x02\r\x00\x15\x00\a\x00K\x00_\x00\xa9\x00\x90\x00\xe6\x00\xf7\x01\xf4\x00\xf7\x00X\x00\x00Y\n\x00\xe2\x00\xdf\x01\xd9\x02\xe2\x03\xde\x00\xe2\x00\xde\x00\xd4\x00\xec\x01\xf5\x00\xf8\x00\xf9\x00\xf5\x00.\x00e\x00+\x00)\x00\x10\x00b\x00g\x00\x10\x00\x1d\x00#\x00%\x00+\x00e\x03j\x00e\x00Q\x00.\x00\xab\x00=\x00\x00\x0c\x1b\x00V\x00\xaa\x04V\x00\x1b\x00\x12\x00\x00\x04f\x00V\x00\x01\x00\xde\x00\xd2\x02\xf1\x01\xaa\x00\xd6\x01\xaa\x00\xd2\x01\xf1\x00\xd6\x00\x01\x02,\x02:\x01\x06\x00H\x00\x1b\x00\x19\x02\x1b\x01H\x00\x19\x00\x15\x00\r\x00\x10\x00c\x00\xb8\x01Y\x00\xf4\x01\xf7\x01t\x00\x00Y\x0f\x00\xdf\x01\xd9\x04\xe2\x01\xde\x00\xe2\x02\xe8\x00\xec\x00\xf2\x00\xf6\x00\xf9\x01\xfb\x001\x00\x1f\x01+\x00\x18\x00\x17\x00\xab\x00\x1b\x00\x1d\x00%\x012\x02e\x03j\x00)\x00g\x00W\x00\x00\x0c\x01\x00\x10\x00\xa8\x02\xaa\x00\xa8\x00\x10\x00\x15\x00\x0e\x00\x00\x03\x04\x00o\x00c\x00\x01\x00V\x00\xd1\x00\xd2\x00\xd1\x00\xd2\x01_\x03\xd2\x02\xde\x00,\x00\x01\x00,\x01:\x02\x06\x01\x19\x04\x1b\x03\x15\x01\r\x00P\x00\xcb\x00\xb8\x01\xcf\x00\xf7\x01\xf4\x00\xd7\x00\x00YP\x00\xdd\x00\xdf\x01\xd9\x03\xe2\x02\xde\x00\xe2\x00\xe8\x00\xef\x00\xec\x00\xf2\x00\xf6\x01\xf9\x00\xfb\x00\xf5\x001\x00.\x002\x01)\x00\x17\x00\x15\x00\x1d\x00#\x00%\x002\x00+\x002\x00e\x03.\x00\x15\x00g\x00V\x00\x00\x0c\x05\x00\x10\x00\xde\x00\xa8\x03\a\x00\x1b\x00\x00\x04\x02\x00Y\x00\xcc\x00\x10\x00\x16\x00\x93\x00\xd2\x02\xd1\x00\xd3\x00\xd1\x01\xd2\x01\xd1\x00_\x00v\x00,\x00G\x00:\x02,\x00\x06\x02\x19\x00\x1b\x00\x19\x00\x1b\x04\x15\x03\x13\x00\xeb\x00`\x00\xb8\x01\xe6\x00\xf7\x00\xf4\x00t\x00\x00W\x05\x00\x04\x00\xe7\x00\xdd\x01\xd9\x03\xe2\x00\xd9\x00\xe2\x02\xd4\x00\xf2\x00\xef\x00\xf2\x00\xf6\x01\xf9\x031\x00\x1f\x00+\x002\x00%\x00\x1d\x00\x20\x00#\x01)\x002\x01e\x02)\x00%\x00\x10\x00b\x00g\x01a\x00\x00\x0c\x1b\x00V\x00\xd5\x00\xa8\x00\xd5\x00V\x00\r\x00\x01\x00\x00\x04\x02\x00\xcc\x00d\x00P\x00O\x00\xde\x00\xd1\a\xd2\x00\xd1\x00\x93\x00\x16\x00\x01\x00\x03\x00:\x00,\x00:\x00\x06\x02\x19\x00\x1b\x00\x19\x01\x1b\x02\x15\x05\x13\x00\xfa\x00\xe6\x00\xcb\x00\xb8\x00\xcc\x00\xf7\x01\xd7\x00\x00Xv\x00\xdd\x00\xdf\x02\xd9\x03\xe2\x02\xd4\x00\xe8\x00\xed\x01\xf2\x00\xf6\x01\xf8\x01\xf9\x011\x00\x1f\x00+\x00)\x00%\x00\x1d\x00\x20\x00\x1d\x00>\x002\x02+\x00%\x00:\x00D\x00G\x00g\x01V\x00g\x00W\x00\x00\x0c,\x00\x06\x00\xb4\x00\xd5\x01\a\x00\r\x00\b\x00\x0c\x00\x00\x02\x0c\x00\x02\x00\xcd\x00d\x00\xde\x00\a\x00\xb4\x00_\x00\xd1\x03\xd3\x00\xd1\x03P\x00\x1c\x00\x01\x00\x03\x00\x06\x03\x19\x01H\x00\x1b\x00\x19\x00\x1b\x03\x15\x04\r\x00\x10\x00\xf7\x01\xe6\x00\xcb\x00\xc9\x00\xcf\x00\xf7\x00\xd7\x00\x00X\xd4\x00\xdd\x00\xdf\x00\xdd\x00\xdf\x00\xd9\x03\xe2\x01\xd9\x00\xe8\x01\xec\x00\xef\x00\xf2\x01\xef\x00P\x00\x12\x00\xf3\x00\xfb\x00\xf3\x00+\x00\x1f\x002\x00%\x00#\x00\x20\x00\x1d\x00%\x012\x01e\x00+\x00\x15\x00G\x00g\x00b\x00g\x00\x1a\x00W\x00\x1a\x00\x0c\x00\x00\x0b\x01\x00\a\x00v\x00\xb4\x01\a\x00\r\x00\x00\x05\x02\x00\xcf\x00d\x00O\x00\x0f\x00\x03\x00\x93\x00\xd1\x04_\x00\xd1\x00\xd3\x00_\x00\x19\x00\x03\x00G\x00,\x00\x06\x03\x19\x01\x1b\x06\x15\x05P\x00\xfa\x00\xf7\x01\xe6\x00\xcb\x01\xe6\x00\xd7\x00\x00W\x0e\x00\xdb\x00\xc8\x00\xdd\x00\xdf\x01\xdd\x00\xd9\x03\xe2\x00\xdf\x00\xe8\x01\xc8\x00\x82\x00\xdb\x00\xf2\x001\x00v\x01\xd4\x00\xf8\x00\xf9\x002\x00+\x002\x00%\x00\x1d\x00\x20\x00\x1d\x00#\x01%\x002\x01e\x00+\x00,\x00W\x00B\x01g\x02\n\x00\x00\x0b\x05\x00\a\x00v\x00f\x00v\x00\x1b\x00\x03\x00\x00\x05\x02\x00\xcc\x00`\x00S\x00\x05\x00H\x00P\x00_\x01\xaa\x00\xa8\x00_\x00\xd1\x00_\x00\xd1\x00^\x00\a\x00:\x01,\x00\x06\x00,\x00\x1b\x00\x19\x01\x1b\x00\x19\x00\x1b\x03\x15\a\x17\x00\xf7\x03\xe6\x00\xcb\x00`\x00\xd7\x00\x00W\x12\x00\xf2\x00\xdd\x02\xd9\x01\xdd\x00\xe2\x00\xd9\x01\xe2\x00\xd4\x00\xe8\x00\xed\x00\xc8\x00\x82\x00\xef\x00\xf2\x00\xdb\x00\xd4\x01\xf8\x00\xfb\x00\xf9\x00\x1f\x00\x18\x00+\x00%\x00\x1d\x00\x20\x00\x1d\x00\x1e\x00#\x00%\x002\x00+\x00e\x01\x13\x00D\x00g\x01D\x00g\x01W\x00\x00\x0c\x19\x00\x12\x00f\x00\x01\x00\x1b\x00\x0f\x00\x00\x05\x04\x00Y\x00`\x00\x04\x00\x00\x00\x06\x00V\x00\x93\x00\xd1\x00\xa8\x00\xd5\x00\xaa\x00_\x00\xd1\x00_\x00\xde\x00\a\x00:\x01\a\x00\x06\x00H\x00\x1b\x00\x19\x02\x1b\x03\x15\a\r\x00\x17\x00\xfa\x01\xf7\x00\xfa\x00\xf7\x00\xd7\x00\xcb\x00\xd0\x00\x02\x00\x00V\xdf\x00\xdb\x00\xdd\x03\xd9\x04\xe2\x00\xe7\x00\xdf\x00\xed\x02\xf2\x01\xf6\x00\xf8\x03\xfb\x00\xec\x00\xe3\x00\x18\x00%\x00\x1d\x00\x20\x00#\x00%\x012\x01e\x02I\x00\x15\x00W\x01D\x00g\x00B\x00g\x00\x00\x0c\x01\x00\x06\x00<\x00O\x00\x1b\x00\x0e\x00\x00\x06Y\x00d\x00\x04\x00\x00\x00\x0b\x00\x12\x00^\x00_\x00\xaa\x01_\x02\xd6\x00V\x00H\x00:\x00\x06\x01:\x00H\x00\x19\x01\x1b\x04\x15\ts\x00\xd7\x00\xfa\x01\xf7\x02\xe6\x00\xcb\x00v\x00\x00U\x0f\x00\xf8\x00\xed\x00\xdd\x02\xd9\x00\xdd\x00\xd9\x03\xe2\x00\xd9\x00\xe8\x00\xed\x01\xef\x00\xf2\x02\xf9\x01\xfb\x00\xf9\x00\xfb\x00\xf9\x00\x14\x00\x13\x00%\x00\x1d\x00\x20\x00\x1d\x00%\x002\x01%\x00\x18\x00+\x00e\x01\x10\x00b\x01g\x00W\x00g\x00F\x00\x04\x00\x00\x0b\x0b\x00\x06\x00\x01\x00\x06\x00\x1b\x00\x0c\x00\x00\x06\xde\x00\xcf\x00C\x00\x00\x00\x0c\x00\x06\x00P\x00\xaa\x00_\x02\xaa\x00_\x00o\x00\x03\x00H\x00:\x00\x06\x01:\x00\x1b\x00\x19\x01\x1b\x04\x15\t\x17\x00\xf7\x02\xfa\x00\xf7\x01\xfc\x00\xd0\x00Y\x00\x00U\x11\x00\xf8\x00\xed\x00\xdd\x01\xdf\x00\xdd\x00\xed\x00\xe8\x00\xdf\x00\xd9\x01\xe2\x00\xe7\x00\xed\x02\xef\x00\xf3\x00\xf5\x00\xf6\x01\xf8\x00\xf9\x01\xfb\x013\x00\x13\x00%\x00\x1d\x01#\x01%\x002\x00\x18\x00\x10\x00)\x00e\x01\x15\x00W\x00B\x00g\x00D\x00g\x00D\x00\x16\x00\x00\x0b\x05\x00:\x00\x06\x01\x03\x00\x00\ao\x00\xcd\x00v\x00\x00\x01,\x00V\x00\xaa\x00_\x00\xaa\x00_\x00\xaa\x00_\x00P\x00\x1b\x00\x19\x00\x06\x02\x1b\x00\x19\x01\x1b\x04\x15\ns\x00\xd7\x00\xfa\x01\xf7\x00\xfa\x00\xf7\x00\xfa\x01Y\x00\xd5\x00\x00T\x18\x00\xf8\x00\xdb\x00\xdd\x00\xf2\x00\xdb\x00\xf2\x00\xf8\x00\xf2\x00\xdd\x00\xd9\x02\xe2\x00\xdf\x00\xed\x01\xec\x001\x00\xf3\x00\xf6\x00\xf9\x04\xfb\x00\xd4\x002\x00#\x00\x1d\x00\x20\x00#\x01)\x002\x00+\x00)\x00+\x00e\x00Q\x00\xab\x00D\x00W\x00\x1b\x00\r\x00\xab\x00b\x00\x06\x00\x00\x0b\x05\x00G\x00:\x00\x06\x00\x01\x00\x02\x00\x00\x06O\x00\xcf\x00\xde\x00\x00\x01\x0f\x00\x10\x00^\x00\xaa\x02\xd6\x00\xa8\x00\x12\x00\r\x00\x03\x00\x19\x00:\x00\x06\x00\x19\x01\x1b\x03\x15\x0c\x17\x00\xfa\x01\xf7\x00\xfa\x03\xd7\x00\xb4\x00X\x00S\x00\x00R\x0f\x00\xfb\x04\xf8\x02\xf2\x01\xed\x00\xdf\x00\xd9\x00\xe7\x00\xdf\x00\xe9\x00\xed\x00\xec\x01\xf3\x01\xf9\x01\xf5\x01\xf8\x00\xef\x00\xd4\x00\x18\x00#\x01\x20\x00\x1d\x00%\x012\x01e\x02\xe3\x00:\x00W\x00\x17\x001\x00Q\x00I\x00.\x00Q\x00\x1c\x00\x00\n\x05\x00\x03\x00:\x00\x06\x00\b\x00\x00\aA\x00\xcf\x00Y\x00\x02\x00\x00\x01\a\x00P\x00\xa8\x01\xaa\x01o\x00\a\x00\x1b\x00\x19\x01\x1b\x00\x19\x01\x1b\x04\x15\x0cq\x00\xd7\x00\xfa\x00\xf7\x00\xfa\x02\xfc\x00\xd7\x00S\x00c\x00^\x00\x04\x00\x00P\x02\x00\x11\x00\xfb\x02\xf8\x003\x00\xe9\x00\xf8\x00\xf6\x00\xf5\x00\xf2\x01\xed\x00\xdf\x00\xd9\x00\xdf\x00\xe8\x00\xed\x00\xf2\x00\xec\x00\xf2\x00\xf6\x00\xf9\x03\xfb\x00\xe8\x00\xe7\x00\x18\x00%\x00\x1d\x03%\x002\x00+\x01e\x01\x1f\x00\x01\x00\x17\x00.\x00j\x00R\x00j\x00R\x01\x1e\x00\x00\x0b\x01\x00,\x01\x0e\x00\x00\a\x02\x00X\x00\xcd\x00\xd5\x00\x05\x00\x00\x00\x06\x00\x10\x00\xa8\x01\xaa\x00\xa8\x00o\x00\x15\x00\x19\x00H\x00\x19\x00\x1b\x06\x15\r\x17\x00\xfa\x04\xfc\x00\xfa\x00\xd7\x00W\x00{\x00`\x00\x0f\x00\x00P\x02\x001\x00\xfd\x00\xf8\x00\xdb\x00\xfd\x00\xc8\x00\xdb\x00\xf9\x00\xf5\x00\xf3\x00\xf5\x00\xef\x01\xed\x00\xe8\x00\xdf\x00\xe8\x00\xed\x00\xef\x00\xf2\x01\xf6\x00\xf9\x03\xf3\x00\xe7\x00\xe2\x00\xd4\x00%\x00\x1d\x00\x20\x00\x1e\x01%\x012\x00e\x002\x00e\x00+\x002\x00j\x01Q\x00R\x01j\x00I\x00\b\x00\x00\n\x05\x00\x16\x00,\x01!\x00\x00\a\x02\x00c\x00\xcd\x00Y\x00\x04\x00\x00\x00\x01\x00\x10\x00\xd5\x00\xa8\x02\x10\x00\x15\x00\x19\x01H\x01\x1b\x03\x15\x0f\x10\x00\xd7\x00\xfe\x00\xfa\x03\xf7\x00\xfa\x00\x16\x00C\x00`\x00V\x00\x00P\x0f\x00\xfb\x00\xf8\x00c\x00\xde\x00\xe9\x00\xfb\x00\xf8\x00\xf9\x00\xf8\x00\xf3\x00\xec\x01\xef\x00\xed\x00\xe9\x00\xe8\x00\xed\x01\xef\x01\xf2\x00\xf6\x00\xf8\x01\xdb\x00\xef\x00\xdf\x00\xd9\x01\xe7\x00\x18\x00\x1d\x01\x20\x00%\x012\x00\xe3\x001\x00e\x02R\x00e\x00Q\x00j\x01R\x00Q\x00\x1e\x00\x00\x0c\x0e\x00\x01\x00\x06\x00\x00\to\x00\xcd\x01O\x00\x00\x00\x04\x00\r\x00v\x00\xd5\x02\r\x00\t\x003\x00\x06\x00\x19\x01\x1b\x03\x15\x0f\x10\x00\xd7\x00\xfc\x00\xf7\x00\xfc\x00\xfa\x00\xfc\x01\xfa\x00\x0f\x00S\x00`\x00\xe2\x00\x02\x00\x00N\x05\x00\x11\x00\xfd\x00\xdb\x00P\x00]\x003\x00\xf8\x00\xfb\x00\xf8\x00\xf6\x02\xef\x01\xed\x00\xe8\x01\xed\x01\xef\x01\xf6\x00\xf9\x00\xe8\x00\xe7\x00\xe2\x03\xd9\x00\xe7\x00\x11\x00\x13\x00\x20\x00#\x00%\x012\x01e\x06R\x00j\x00e\x00\x1c\x00\x00\r\b\x00\x01\x01\x00\tf\x00\xd0\x00\xcd\x00\x12\x00\x00\x01\x19\x00v\x00\xb4\x00\xd5\x00v\x00H\x00\x14\x00\xfa\x003\x00\x06\x00\x19\x00\x1b\x02\x15\x10\x10\x00\xd7\x00\xfa\x01\xfc\x00\xfa\x01\xfc\x00\xd7\x00O\x00\x04\x00\xcb\x00Y\x00S\x00\x00N\x05\x00\xf3\x00\xfb\x01\xdb\x00\xe9\x00\xfd\x00\xf8\x01\xf9\x00\xe9\x003\x00\xf3\x00\xf2\x00\xef\x00\xed\x01\xe8\x00\xed\x01\xec\x01\xf2\x00\xf6\x00\xed\x00\xde\x00\xe2\x04\xe7\x01\x13\x00\x10\x00\x1d\x00%\x02+\x00e\x04j\x01\x1f\x00\x20\x00\x05\x00\x00\x0e\b\x00\x01\x01\x00\tS\x00X\x00`\x00S\x00\x00\x01\x01\x00\x12\x00v\x00\\\x00V\x00H\x003\x00\xfa\x00\xfc\x003\x00\r\x00\a\x00\t\x00\x15\x10\t\x00\r\x00\xd7\x00\xfc\x00\xfa\x00\xfc\x03\xfa\x00O\x00\x02\x00\xcb\x00\xcf\x00S\x00\x00N\x12\x00\xfd\x00\xfb\x03\xfd\x00\xf5\x00\xf9\x00\xf3\x00V\x01\xd4\x00\xf2\x00\xed\x01\xe9\x00\xe8\x00\xe9\x00P\x00V\x00\xd4\x00\xf2\x00\xf8\x00\xf9\x00\xe8\x00\xe7\x00\xe2\x04\xd4\x00\x11\x00\x20\x00>\x00#\x00%\x002\x00+\x01\x1f\x00\xe3\x00e\x00\x1f\x00\x1d\x00\b\x00\x05\x00\x00\x10\x05\x00\x01\x00\x16\x00\x00\nc\x00\x82\x00\x04\x00\x00\x01\x0e\x00\x10\x00f\x01\a\x00\x1b\x00t\x00\xf7\x00\xfc\x01\xd7\x00\x14\x00\a\x00\x15\x03\r\x01\x15\t\r\x00\x10\x00\x81\x00\xfe\x01\xfa\x00\xfc\x00\xf7\x00\xfc\x01\xf7\x00\x0f\x00\x02\x00X\x00d\x00\\\x00\x00L\x02\x00\x00\x00\x18\x00\xfd\x00\xfb\x03\xf8\x00\xfb\x00\xf8\x00\xef\x00P\x00v\x00\xd4\x00\xf2\x00\xef\x00\xed\x00\xe8\x02v\x00\\\x00P\x00\xf6\x01\xf9\x01\xdf\x00\xe2\x03\xd9\x01\r\x00\x1c\x00\t\x00\x1e\x00\t\x00\x1e\x00\t\x00\x1c\x01\b\x01\x05\x00\x00\x13\x04\x00\x0b\x01\x00\nV\x00c\x00\x00\x03\a\x00\x0f\x01G\x00\x1b\x00\xfc\x00\xfa\x00\xfc\x03t\x003\x00P\x00\a\x00\r\x00\x10\x00\x15\x01\x10\x00\x15\x00\r\x00\x10\x00\x15\x00\r\x01\x12\x00\x11\x003\x00\xd7\x00\xfc\x04\xfa\x00\xfc\x01\xd7\x00\x05\x00\x02\x00X\x00\xcd\x00P\x00\x00L\x04\x00\x0f\x00\xf8\x00\xfb\x01\xfd\x00\xf9\x00\xfb\x01\xf9\x02\xf2\x00\xec\x00\xef\x02\xed\x00\xe9\x00\xe8\x00\xe9\x00\xe7\x00\x11\x00\xe9\x00\xf2\x00\xf6\x00\xf9\x01\xf2\x00\xe7\x00\xe2\x02\xd9\x01v\x00\x00\a\x05\x00\x00\x15\x05\x00\x0e\x00\x0b\x00\x00\n<\x00\x16\x00\x00\x03\x03\x00\x16\x01\x01\x00\x05\x00t\x00\xfc\x03\xfa\x00\xfc\x01\xfa\x00t\x003\x00\x14\x00\x17\x00\x10\x00\a\x00\x15\x02\r\x00P\x00\x18\x00t\x00\xfe\x00\xfc\x03\xf7\x00\xfc\x03\xfa\x00\x82\x00\x00\x01c\x00\xcd\x00c\x00\x00M\x12\x00\xfd\x00\xfb\x01\xf5\x01\xfb\x00\xf9\x00\xf8\x00\xf9\x01\xf2\x01\xdb\x00\x82\x01\xec\x00\xed\x00\xe8\x00\xed\x01\xef\x00\xf2\x00\xef\x00\xdb\x00\xf6\x00\xf9\x00\xf8\x00\xe7\x00\xd9\x00\xe2\x00\xd9\x00\xe2\x00\xd9\x00\xde\x00\x00\x1f\x0e\x00\x0b\x00\x00\x10\x01\x00\x1b\x00\x03\x00\x1b\x00\x16\x00\x10\x00\xfc\a\xfa\x00\xfe\x01\xfa\x00\xd7\x019\x00\xd7\x02\xfe\x01\xfc\n\xd7\x00=\x00\x00\x01P\x00\xcd\x00Y\x00\x05\x00\x00K\x04\x00\x1f\x00\xfb\x01\xfd\x01\xf8\x00\xfb\x01\xf9\x03\xf6\x00\xf3\x00\xc8\x01\xed\x00\xe8\x00\xc8\x00\xed\x01\xef\x00\xec\x003\x00c\x00\xf2\x00\xf9\x00\xf2\x00\xde\x00\xe2\x00\xde\x00\xe2\x02\xd9\x00S\x00\x00\x1e!\x00\x0e\x00\x00\x10\x0e\x00G\x00\x06\x01\x0e\x00\x02\x00t\x00\xfa\x00\xfe\x00\xfc\x06\xfe\x01\xfc\x00\xfe\x03\xfc\x00\xfa\x00\xfc\x0bk\x00\x0c\x00\x00\x01v\x00\xcd\x00\xcf\x00\x00L\x0f\x00\xf9\x00\xfb\x01\xf8\x00\xf3\x00\xf8\x00\xfb\x01\xf8\x01\xf9\x00\xf8\x00\xf6\x01\xef\x01\xed\x00\xe9\x00\xe8\x00\xed\x02\xf2\x00\xdb\x01\xf8\x01\xf2\x00\xe2\x02\xe7\x00\xd9\x02\x12\x00\x00\x1e\x0c\x00\x00\x11\x0b\x00\x06\x01,\x00\x0e\x00\x00\x00\x0f\x00t\x00\xfc\x06\xfe\x00\xfa\x00\xfc\x06\xfe\x00\xfc\t\xfe\x003\x00\x05\x01\x00\x01\x0f\x00`\x00\xcf\x00S\x00\x00\b\x05\x00\x00@\x05\x00\x17\x00\xfd\x00\xfb\x00\xfd\x00\xdb\x00\x82\x00\xfd\x00\xfb\x00\xf8\x00\xfb\x00\xf8\x02\xf2\x01\xec\x00\xef\x00\xed\x01\xdd\x00\xe3\x00\xe9\x00\xec\x01\xf2\x00\xf6\x00\xf9\x01\xed\x00\xd9\x00\xe2\x00\xe9\x00\xfb\x01\xf8\x00\xf2\x001\x00\x05\x00\x000\x0e\x00\x03\x02\x00\x02\x0b\x00\xd7\x00\xfe\x00\xfc\x06\xfe\x00\xfc\x01\xfe\x00\xfc\x02\xfe\x01\xfc\a\xfe\x00\xc8\x00\x02\x00\x00\x04c\x00\xd0\x00f\x00\x00\b\x05\x00\x00A\x03\x00\xfb\x04\xf9\x00\xf5\x00\xe3\x00R\x00\xf8\x00\xf9\x00\xf8\x00\xf2\x02\xed\x00\xef\x00\xe8\x01\x11\x00%\x00\xe3\x00\xef\x00\xf2\x00\xf6\x00\xf9\x00\xf8\x00\xe9\x00\xe2\x00\xe9\x00\xfb\x04\xf8\x00\x04\x00\x001\x01\x00\x03\x00\x01\x00\x00\x03\x0f\x003\x00\xff\x00\xfe\x01\xfc\x01\xfe\x00\xfc\x00\xfe\x02\xfc\x00\xfe\x00\xfc\x00\xfe\x05\xfc\x01\xfe\x02\x11\x00a\x00\x0c\x00\x00\x04v\x00\xd0\x00o\x00\x00\x05\x02\x00\x00\x01\x05\x00\x00A\x05\x00\x11\x00\xfd\x00\xfb\x02\xfd\x00\xe3\x00e\x00\xe3\x00\xf9\x01\xf8\x00\xf6\x00\xf2\x01\xef\x00\xe9\x01\xd4\x00\x11\x00\x1e\x00\xe3\x00\xec\x00\xf2\x00\xf8\x00\xf9\x00\xf8\x00\xec\x00\xf2\x00\xfb\x04\xfd\x00\x11\x00\b\x00\x00\x18\x0c\x00\x00\a\x0c\x00\x05\x00\x04\x00\x0e\x00\x02\x00\x00\n\x03\x00\x01\x01\x00\x04\x05\x00V\x003\x00\xff\x00\xfc\x01\xfe\x01\xfc\x00\xfe\x00\xfc\x00\xfe\x03\xfc\x01\xfe\x01\xfc\x00\xfe\x00\xff\x00\xd7\x00\x82\x00\x16\x00\x00\b\xde\x00X\x00\x02\x00\x00\x04S\x00\xe2\x00c\x00\xd5\x00<\x00\x00A\x05\x00\xd4\x00\xfd\x00\xfb\x02\xf6\x00\xe3\x00R\x00\xf9\x00\xf8\x01\xf3\x00\xec\x00\xef\x01\xe9\x00\xe8\x01\xe3\x00\xe8\x00\xed\x00\xf2\x00\xec\x00\xf5\x01\xf9\x00\xf8\x00\xfb\x00\xf9\x00\xfb\x031\x00\x04\x00\x00\x15\x0f\x00\x01\x00,\x00\x01\x01\x0e\x00\x00\a\x04\x00\x01\x00\x16\x00\x03\x00\x01\x00\x0e\x00\x0c\x00\x00\a\x01\x00,\x00\x01\x00\x00\x06\x0c\x00\x16\x00\x14\x00t\x00\xd7\x00\xff\x00\xfe\x00\xfc\x00\xfe\x06\xff\x00\xfe\x00\xd7\x003\x00\x10\x00\x0b\x00\x00\nS\x00X\x00\xb4\x00\x02\x00\x00\x00\x0c\x00\x00\x00f\x00X\x00\xd0\x03P\x00\x00A\x0f\x00\x11\x00\xf3\x00\xfb\x01\xf9\x00\xfb\x00\xf9\x02\xf6\x00R\x00\xf3\x01\xef\x00\xe9\x00\xe2\x00\xe8\x00\xed\x00\xe8\x00\xf2\x00\xf6\x001\x00\xf5\x00\xf9\x01\xfb\x00\xf8\x02\xfb\x00\xfd\x00\x11\x00\x04\x00\x00\x14\x01\x00\a\x00\x1b\x00\a\x00,\x00\x01\x00\b\x00\x05\x00\x00\a\x0e\x00\x0b\x00\x01\x00,\x00\x19\x00\x1b\x00\x06\x00\x0e\x00\x00\x06\x01\x02\x00\x06\x0c\x01\x00\x01@\x00O\x00\x10\x00\x14\x00\x11\x00\x14\x00k\x00\x11\x00\x14\x00P\x01\x10\x00\x16\x00\x05\x00!\x01\x05\x00\x0c\x00\x00\n<\x00\x82\x00P\x00\\\x01\x82\x00\xcf\x00\xd0\x02X\x00P\x00\x04\x00\x00A\x05\x01\x04\x00\x17\x00\xe9\x00\xfb\x01\xf8\x00\xf9\x01\xf8\x00\xf6\x00\xf3\x00\xf2\x00\xef\x00\xc8\x00\x82\x00\xd4\x00\xed\x00\xef\x00\xec\x01\xf2\x00\xf6\x00\xf8\x01\xf9\x00\xfb\x01\xf6\x00\xd4\x00\x1c\x00\x00\x15\x01\x00\x10\x00\a\x00\xab\x00\x06\x00,\x00\x01\x00\x16\x00\x05\x00\x0c\x00\x00\x06\x04\x00\x0b\x00\x01\x00,\x00\x03\x00\x1b\x00\r\x00\x14\x00\x04\x00\x00\x05\x01\x02\x00(=\x00c\x00\xd8\x00\xd0\x02\xcf\x00X\x00V\x00\x02\x00\x00D\x05\x00\x00\x02\x0f\x00\x17\x00\x18\x00\xef\x00\xf3\x00\xf8\x00\xf2\x01\xec\x00\xed\x01\xe8\x01\xed\x01\xf2\x01\xf6\x01\xf8\x00\xf3\x00\xed\x00\x18\x00\x12\x00\x0f\x00\x00\x17\x01\x003\x00\x10\x00\x15\x00\x1b\x00G\x00\x03\x00\x01\x00\b\x00\x05\x00\x00\x06\x0e\x00\b\x00\x01\x00,\x00\r\x00\a\x00s\x00\x14\x00\x00\x06\b\x00\x16\x00\b\x00\x00*;\x00O\x00v\x00\x12\x00S\x00\x00L\x04\x00\x02\x00\x04\x00\x0f\x00\x03\x00\x12\x00\r\x00\x11\x02\x12\x00\x11\x03\x12\x02\x0f\x01\b\x00\x00\x1a\x04\x00\x01\x00\x14\x01\x10\x01\x01\x00\x0e\x01\x04\x00\x00\x05\x0f\x00\x01\x00\x0b\x00\x01\x00\x10\x00s\x00\x14\x01;\x00\x00\x06\x0e\x00\b\x00@\x00\x00,\x02\x00\x00T\x04\x00\x00\a\x05\x00\x04\x00\x00\x1f\x02\x00\x00\x00O\x00\x10\x01\x14\x02k\x00\x10\x01\a\x00O\x00\x06\x00\x10\x02P\x00s\x00\x10\x00\a\x00\x0f\x00\x00\b\x0e\x01\x0b\x00\x00\xb5\x0e\x00O\x00\a\x00\x1a\x00\a\x01\x0e\x00\x0c\x00\x00\x00\x05\x00\x00\x0c\x05\x02\x00\xb6\x05\x00\x00\x06\x05\x00\x00\xfe\x00\xfe\x00\xfe\x00G\b\x00\x16\x00;\x00\x0b\x00@\x00\x04\x00\x00\x06\x0c\x00\x04\x00\x16\x00\x0b\x01!\x00\x00\xba\x0b\x00\a\x00\x19\x00,\x00\x01\x01\x0b\x00\x05\x00\x00\a\b\x00\x01\x01:\x00\x06\x01\x0e\x00\x00\xb7\x10\x00\a\x01\x19\x00:\x00,\x00\x01\x00\x0b\x00\x05\x00\x00\x06\x0c\x00\x0b\x00\x01\x01:\x00\x19\x00\x1b\x00\x10\x00\x16\x00\x00\xb6\x14\x00\r\x00\x15\x00\x19\x00\x03\x00,\x00\x01\x01\x0e\x00\x00\a\x0b\x00\x01\x00,\x00\x03\x00\x15\x01\x17\x00\x10\x00\x00\xb6\x01\x003\x00k\x00\a\x00\x03\x00\x01\x02\b\x00\x0c\x00\x00\x05\x0e\x00\x01\x02\x03\x00\x15\x00k\x00\x82\x00;\x00\x00\xb8\a\x00\x14\x00m\x00\x14\x01\x10\x01\x01\x00\x0f\x00\x0c\x00\x00\x00\x04\x00\b\x00\x16\x00\x10\x01\x14\x01m\x00\x14\x00\x16\x00\x00\xbc\x0c\x00\x0e\x00@\x00O\x00\x10\x01s\x00\x14\x02k\x00\x10\x00\a\x00\x01\x00;\x00\x0e\x00\x00\x01\x0c\x00\x00M"
)

melody = (
"G4:6","C5:9","C5:3","C5:6","E5:5","D5:9","C5:3","D5:6","E5:5","C5:9","C5:3","E5:6","G5","A5:18","A5:6","G5:9","E4:3","E5:6","C5:5","D5:9","C5:3","D5:6","E5:5","C5:9","A5:3","A5:6","G:5","C5:18","A5:6","G5:9","E4:3","E5:6","C5:5","D5:9","C5:3","D5:6","A5","G5:9","E4:3","E5:6","G5","A5:18","C5:6","G5:9","E4:3","E5:6","C5:5","D5:9","C5:3","D5:6","E5:3","D5:5","C5:9","A5:3","A5:6","G:5","C5:18",
)
melody_parts=(0,8,14,22,28,36,42,50,57)

refrain_de = (
  "Der Himmel wölbt sich übers Land",
  "Ade, Auf Wiedersehn",
  "Wir ruhen all in Gottes Hand",
  "Lebt wohl, Auf Wiedersehn",
)

lyrics_de = (
  (
    "Nehmt Abschied Brüder ungewiss",
    "Ist alle Wiederkehr",
    "Die Zukunft liegt in Finsternis",
    "Und macht das Herz uns schwer",
    refrain_de[0],
    refrain_de[1],
    refrain_de[2],
    refrain_de[3],
  ),
  (
    "Die Sonne sinkt, es steigt die Nacht",
    "Vergangen ist der Tag",
    "Die Welt schläft ein und leis erwacht",
    "Der Nachtigallenschlag",
    refrain_de[0],
    refrain_de[1],
    refrain_de[2],
    refrain_de[3],
  ),
  (
    "So ist in jedem Anbeginn",
    "Das Ende nicht mehr weit",
    "Wir kommen her und gehen hin",
    "Und mit uns geht die Zeit",
    refrain_de[0],
    refrain_de[1],
    refrain_de[2],
    refrain_de[3],
  ),
  (
    "Nehmt Abschied Brüder schließt den Kreis",
    "Das Leben ist ein Spiel",
    "Und wer es recht zu spielen weiß",
    "Gelangt ans große Ziel",
    refrain_de[0],
    refrain_de[1],
    refrain_de[2],
    refrain_de[3],
  ),
)

refrain_en = (
  "For auld lang syne, my dear",
  "For auld lang syne",
  "We'll take a cup of kindness yet",
  "For auld lang syne.",
)

lyrics_en = (
  (
    "Should auld acquaintance be forgot",
    "And never brought to mind?",
    "Should auld acquaintance be forgot",
    "And days of auld lang syne?",
    refrain_en[0],
    refrain_en[1],
    refrain_en[2],
    refrain_en[3],
  ),
  (
    "And surely you'll buy your pint cup",
    "And surely I'll buy mine",
    "And we'll take a cup o' kindness yet",
    "For auld lang syne",
    refrain_en[0],
    refrain_en[1],
    refrain_en[2],
    refrain_en[3],
  ),
  (
    "We two have run about the hills",
    "And picked the daisies fine",
    "But we've wandered many a weary foot",
    "Since auld lang syne",
    refrain_en[0],
    refrain_en[1],
    refrain_en[2],
    refrain_en[3],
  ),
  (
    "We two have paddled in the stream",
    "From morning sun till dine",
    "But seas between us broad have roared",
    "Since auld lang syne",
    refrain_en[0],
    refrain_en[1],
    refrain_en[2],
    refrain_en[3],
  ),
  (
    "And there's a hand my trusty friend",
    "And give me a hand o' thine",
    "And we'll take a right good-will draught",
    "For auld lang syne",
    refrain_en[0],
    refrain_en[1],
    refrain_en[2],
    refrain_en[3],
  ),
)

refrain_fr = (
  "Ce n'est qu'un au revoir, mes frères",
  "Ce n'est qu'un au revoir",
  "Oui nous nous reverrons, mes frères",
  "Ce n'est qu'un au revoir",
)

lyrics_fr = (
  (
    "Faut-il nous quitter sans espoir",
    "Sans espoir de retour",
    "Faut-il nous quitter sans espoir",
    "De nous revoir un jour",
    refrain_fr[0],
    refrain_fr[1],
    refrain_fr[2],
    refrain_fr[3],
  ),
  (
    "Formons de nos mains qui s'enlacent",
    "Au déclin de ce jour",
    "Formons de nos mains qui s'enlacent",
    "Une chaîne d'amour",
    refrain_fr[0],
    refrain_fr[1],
    refrain_fr[2],
    refrain_fr[3],
  ),
  (
    "Unis par cette douce chaîne",
    "Autour d'un même feu",
    "Unis par cette douce chaîne",
    "Ne faisons point d'adieu",
    refrain_fr[0],
    refrain_fr[1],
    refrain_fr[2],
    refrain_fr[3],
  ),
  (
    "Car Dieu qui nous voit tous ensemble",
    "Et qui va nous bénir",
    "Car Dieu qui nous voit tous ensemble",
    "Saura nous réunir",
    refrain_fr[0],
    refrain_fr[1],
    refrain_fr[2],
    refrain_fr[3],
  ),
)

use_buffer()
font_h_full = 12
header_h = 3 * font_h_full
screen_w, screen_h = get_screen_dim()
r0 = (screen_h - header_h) // 2
y0 = screen_h - r0
x0 = screen_w - r0

font_w, font_h = 6, 9
r_d = draw_clock(x0, y0, r0, font_w, font_h)
r_s = r_d - sqrt((2*font_w + 1)**2 + font_h**2)
r_m = r_s * .9
r_h = r_m * .8

newyear = False

tm = int(time())
tm0 = 1640995200 - localtime(0)[3]*3600
d_tm = .005
tm = tm0 - 3*60


lt = 0
back = draw_image_offscreen(image, 0, 0, image_w, image_h, palette, zoomx=1, zoomy=1, itransp=0)

o_h, o_m, o_s = -1, -1, -1
i_clk = 0
while not newyear and not escape():
  tm1 = time()
  tm = tm + 1
  ltm = localtime(tm)
  h, m, s = ltm[3:6]
  if m == 59 and s // 5 != i_clk:
    i_clk = s // 5
    mb_show_clock_icon(i_clk)
  if ltm[0] == 2022:
    newyear = True
  if o_s != s:
    refresh_clock(h, m, s, r_h, r_m, r_s)
    paint_buffer()
    o_h, o_m, o_s = h, m, s
  if not newyear:
    sleep(max(0, d_tm - time() + tm1))
    d_tm = min(1, d_tm * 1.03)

send_microbit("import music")
mb_show_clock_icon(12)
back.show_image(0, screen_h - image_h)
draw_clock(x0, y0, r0, font_w, font_h)
refresh_clock(h, m, s, r_h, r_m, r_s)
paint_buffer()

i = -1
d_tm = tm - time()
i_melody_part = 0
t_melody_part = time() + d_tm
end_fr, end_de, end_en = False, False, False
while not escape() and (not end_fr or not end_de or not end_en):
  tm = time() + d_tm
  if tm >= t_melody_part:
    if not i_melody_part:
      i += 1
      mb_show_val(i + 1)
    set_color(255, 255, 255)
    fill_rect(0, 0, screen_w, header_h)
    if i < len(lyrics_fr):
      set_color(0, 0, 255)
      draw_text(0, font_h_full, lyrics_fr[i][i_melody_part])
    else: end_fr = True
    if i < len(lyrics_de):
      set_color(0,  127, 0)
      draw_text(0, 2*font_h_full, lyrics_de[i][i_melody_part])
    else: end_de = True
    if i < len(lyrics_en):
      set_color(255, 0, 0)
      draw_text(0, header_h, lyrics_en[i][i_melody_part])
    else: end_en = True
    melody_part = melody_cut(melody, melody_parts, i_melody_part, i_melody_part + 1)
    mb_play_melody(melody_part)
    d_melody_part = melody_duration(melody_part)
    t_melody_part += d_melody_part
    i_melody_part = (i_melody_part + 1) % (len(melody_parts) - 1)
  ltm = localtime(tm)
  h, m, s = ltm[3:6]
  if o_s != s:
    refresh_clock(h, m, s, r_h, r_m, r_s)
    paint_buffer()
    o_h, o_m, o_s = h, m, s


Téléchargement : archives_voir.php?id=2833547
Link to topic: Bonne année 2022 sur TI-Planet ! (Comments: 10)

img2calc: des scripts Python encore plus petits

New postby critor » 08 Jan 2022, 22:07

13917Dans une série d'articles précédents nous te présentions img2calc, notre service en ligne gratuit sur TI-Planet te permettant de convertir tes images pour tes projets sur calculatrices.

Un large choix de formats cible t'était proposé :
  • fichiers à appeler depuis tes programmes en langage Basic :
    • .g3p pour Casio Graph 90+E et fx-CG50/20/10
    • .c2p pour Casio fx-CP400 et fx-CG500
    • .8ca ou .8ci pour TI-83 Premium CE, TI-84 Plus CE et TI-84 Plus C Silver Edition
    • .8xi pour les TI-83 Plus (compatible TI-82 Advanced, TI-82 Plus et TI-84 Plus monochromes),
    • .83i pour les TI-83 (compatible TI-82 Stats et TI-76.fr)
    • .82i pour les autres TI-82
    • .86i pour les TI-86
    • .85i pour les TI-85
    • .73i pour les TI-73
  • fichiers à appeler depuis tes scripts en langage Python :
    • IM8C.8xv pour les éditions Python des TI-83 Premium CE et TI-84 Plus CE
  • scripts Python pour les différentes bibliothèques graphiques des calculatrices :
    • ti_draw (TI-Nspire CX II)
    • graphic (TI-Nspire CX II avec KhiCAS, TI-Nspire CX avec KhiCAS et NumWorks avec KhiCAS)
    • nsp (TI-Nspire avec Micropython)
    • ti_graphics (TI-83 Premium CE et TI-84 Plus CE éditions Python)
    • casioplot (Casio Graph 90/35+E II, fx-9750/9860GIII et fx-CG50)
    • hpprime (HP Prime)
    • kandinsky (NumWorks)
Nous revenons aujourd'hui sur ce dernier point, soit les images converties en scripts Python pour ta calculatrice.

Rappelons que les interpréteurs Python de nos calculatrices font appel à 3 types de mémoires :
  • La mémoire de stockage qui comme son nom l'indique stocke physiquement tes fichiers de scripts Python.
  • La pile (stack) qui référence, à l'exécution, les objets Python créés par tes scripts. Sa capacité limite donc le nombre d'objets Python pouvant coexister simultanément en mémoire.
  • Le tas (heap) qui reçoit, à l'exécution, le contenu des objets Python créés. Il limite donc la taille globale utilisée pour les données de ces différents objets.

Voici quelques consommations heap valides pour les plateformes 32 bits que sont à ce jour nos calculatrices :
  • pour un entier : 24 octets de base + 4 octets si non nul + 4 octets pour chaque groupe de 30 bits utilisés au-delà des premiers 31 bits dans sa représentation binaire
  • pour une liste : 56 octets de base + 8 octets par élément + les tailles de chaque élément
  • pour un tuple : 40 octets de base + 8 octets par élément + les tailles de chaque élément
  • pour une chaîne : 49 octets de base + 1 octet par caractère
  • pour un bytes : 33 octets de base + 1 octet par octet
Comme tu peux le constater le langage Python a le très gros défaut d'être un énorme consommateur de heap, mémoire qui sera bien souvent le facteur le plus limitant pour tes projets sur calculatrices. Rappelons les plus mauvais modèles sur ce critère :
  • NumWorks avec seulement 32,5 Ko de heap
  • éditions Python des TI-83 Premium CE et TI-84 Plus CE avec encore pire 19,7 Ko de heap

Comme déjà expliqué, img2calc a justement été conçu pour minimiser la consommation de heap. Pour cela img2calc mutualise deux approches :
  • La compression de ton image au format RLE.
  • Le compactage des données, avec l'utilisation des types d'objets Python les moins gourmands en mémoire :
    • des tuples pour la palette de couleurs
    • des bytes pour les données de la compression RLE (type d'objet Python s'utilisant comme une chaîne de caractères mais optimisé pour le stockage d'octets)

Prenons un exemple simple. Supposons que tu souhaites afficher l'image 15×15 pixels ci-contre dans un de tes scripts Python sur calculatrice.

Un premier codage très naïf dit true color de ton image pourrait alors ressembler à ça :
Code: Select all
image = [
[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],
[255,255,255],[255,255,255],[255,255,255],[255,255,255],[054,111,159],[255,255,255],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[255,255,255],[255,255,255],[255,255,255],[255,255,255],
[255,255,255],[255,255,255],[255,255,255],[255,255,255],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[255,255,255],[255,255,255],[255,255,255],[255,255,255],
[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[255,255,255],[255,255,255],[255,255,255],[255,255,255],
[255,255,255],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[255,255,255],[255,255,255],[255,255,255],[255,255,255],
[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[255,255,255],[255,204,062],[255,204,062],[255,255,255],
[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[054,111,159],[255,255,255],[255,255,255],[255,204,062],[255,204,062],[255,204,062],
[054,111,159],[054,111,159],[054,111,159],[054,111,159],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,204,062],[255,204,062],[255,204,062],[255,204,062],
[054,111,159],[054,111,159],[054,111,159],[255,255,255],[255,255,255],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],
[255,255,255],[054,111,159],[054,111,159],[255,255,255],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],
[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,255,255],
[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],
[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,255,255],[255,255,255],[255,255,255],[255,255,255],
[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,255,255],[255,204,062],[255,255,255],[255,255,255],[255,255,255],[255,255,255],
[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,204,062],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],
]

Il s'agit donc d'une liste des couleurs de pixels, de gauche à droite puis de haut en bas, les couleurs étant codées en triplets de valeurs Rouge-Vert-Bleu, l'implémentation la plus fréquente sur calculatrices.

Ce premier codage est toutefois catastrophique en terme de consommation de mémoire heap. Il consomme à l'exécution
$mathjax$56+15\times 15\times\left(8+56+3\times\left(8+28\right)\right)$mathjax$
soit 38,756 Ko de heap, excluant donc déjà les TI-83 Premium CE, TI-84 Plus CE et même NumWorks.

Mais c'est bête donc de repréciser à chaque fois la valeur de couleur, alors qu'il n'y a ici que 3 couleurs différentes dans notre image, non ? ;)

Outre le passage aux tuples déjà évoqué, une première amélioration majeure est d'externaliser les informations de couleurs dans une palette, ce que l'on appelle une image indexée :
Code: Select all
palette = ((255,255,255), (054,111,159), (255,204,062))

image = (
0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,
0,0,0,0,1,0,1,1,1,1,1,0,0,0,0,
0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,
0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,
0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,
1,1,1,1,1,1,1,1,1,1,1,0,2,2,0,
1,1,1,1,1,1,1,1,1,1,0,0,2,2,2,
1,1,1,1,0,0,0,0,0,0,0,2,2,2,2,
1,1,1,0,0,2,2,2,2,2,2,2,2,2,2,
0,1,1,0,2,2,2,2,2,2,2,2,2,2,2,
0,0,0,0,2,2,2,2,2,2,2,2,2,2,0,
0,0,0,0,2,2,2,2,0,0,0,0,0,0,0,
0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,
0,0,0,0,2,2,2,2,2,0,2,0,0,0,0,
0,0,0,0,0,2,2,2,2,2,0,0,0,0,0,
)


Cela n'occupe plus que
$mathjax$40+3\times\left(8+40+3\times\left(8+28\right)\right)+40+15\times 15\times\left(8+28\right)$mathjax$
soit 8,648 Ko de heap. Notre icône est maintenant fonctionnelle sur tous les modèles ! :bj:

Et nous en arrivons maintenant à la compression RLE. Selon un parcours de l'image de gauche à droite puis de haut en bas, cette compression accompagne chaque information de couleur du nombre de pixels adjacents qui l'utilisent.

Avec notre image d'exemple, cela donne :
Code: Select all
0(×5) 1(×5) 0(×9)
1(×1) 0(×1) 1(×5) 0(×8)
1(×7) 0(×11)
1(×4) 0(×5)
1(×10) 0(×4)
1(×11) 0(×1) 2(×2) 0(×1)
1(×10) 0(×2) 2(×3)
1(×4) 0(×7) 2(×4)
1(×3) 0(×2) 2(×10)
0(×1) 1(×2) 0(×1) 2(×11)
0(×4) 2(×10) 0(×5)
2(×4) 0(×11)
2(×7) 0(×8)
2(×5) 0(×1) 2(×1) 0(×9)
2(×5) 0(×5)


Après encodage et compactage de ces informations sur du RLE 2 bits (puisque nous avons plus de 2 couleurs mais moins de 4 couleurs), voici le code Python associé :
Code: Select all
palette = (
(255,255,255),(55,109,157),(255,203,64),
)

image = (
b"\x10\x11\x20\x01\x00\x11\x1c\x19(\r\x10%\x0c)\x00\x06\x00%\x04\n\r\x18\x0e\t\x04&\x00\x05\x00*\x0c&\x10\x0e(\x1a\x1c\x12\x00\x02\x20\x12\x10"
)

Nous avions donc au final
$mathjax$40+3×(8+40+3×(8+28))+33+43×1×1$mathjax$
soit 584 octets de consommation heap.

Par contre, tu pouvais noter la longue écriture du bytes sur 140 caractères, et ce alors qu'il ne code que 43 octets.

En effet nombre de valeurs d'octets ne correspondent pas à des caractères affichables, et ont donc besoin d'une notation spéciale dite échappée :
  • \x10 bien que s'écrivant avec 4 caractères, ne code qu'1 octet, de valeur 10 en hexadécimal, soit 16 en décimal
  • \t, \n, et \r sont des notations plus courtes sur seulement 2 caractères codant les octets de valeurs respectives 9, 10 et 13

Cette notation pouvant nécessiter jusqu'à 4 caractères pour écrire 1 octet n'était absolument pas un problème pour la mémoire heap, mais par contre elle pouvait l'être pour la mémoire de stockage.

Prenons par exemple l'image plein écran en 16 couleurs ci-contre.

img2calc te la codait jusqu'à présent de la façon suivante :
Code: Select all
palette = (
(215,187,149),(239,183,116),(198,122,27),(90,45,18),(190,143,18),(255,255,247),(0,0,2),(190,172,149),(231,187,99),(239,163,18),(149,105,45),(207,176,107),(73,0,0),(149,67,64),(182,114,116),(247,195,133),
)

image = (
b"\xb0\r\x11\"\x01\xb0&\xe3\x01\xf0\x00\x11\xa0$\x01C\x021\x02\xf3\x00\x01\x10\x93\x01\x01\x80#\x01c\xc1\x013\x01\x13\x91\x01\x02#\x11\x80\"\x01\xf3\x00\x02Q\x02\xf1\x00S\xb1\x01\x023\x01\xb0!\xf3\x00\x12\xa1\x02\x02#\x91\x02\x83\x01\x01\xf0\x1f\x01S\x91\x03\x131\x02a\x12\x91\x01c\x01\xa0\x1fS\x02\xf1\x00\x02\xa1\x01\x02\xf1\x00\x03a\x02\x91\x02\xf3\x00\xf0\x1eS\x91\x01\x02\xa1\x01\x02\xf1\x00\x03a\x02\xb1\x02c\x01\xb0\x1eS\x91\x02\x02\x81\x01B\x03\x02\x91\x02\x02\xd1\x01\x02#\x01\xe0\x1d\x013\xc1\x02\x02\xf1\x00R\x03\xa2\x02\x81\x023\x02\x01\xa0\x1d#\x02A\x02\xf1\x00\x02!\x02\x81\x01\x92\x01\x13\xe2\x02a\x02Q\x023\x80\x1d#\x02Q\x02\xf1\x00\x02\xa1\x01\xb2\x01\x13\x82\x02\xf3\x00\xd1\x013\xb0\x1c\x01\x00\x01#\xf1\x02\x82\x02\x13\x82\x03\x13\x02A\x02a3\x90\x1c3\xc1\x02\xd2\x02#\x92\x03\x13\x02\xc1\x01#\xe0\x1b\x01#\xa1\x02\xf2\x01\xc3\x02\x02\x04\xa2\x02\x03\x121\x02\xf1\x00\x13\x01\xc0\x04\x15\xb0\x16\x01#\x02\x81\x02\xe2\x01\x93\x02\x12S\x12\x04\x82\x02\x13\x02!\x02\x81\x01\x13\x01\xf0\x01\xf5\x00\x005`%\xc0\x015\x80\x14#!\x02A\x02\x81\x01\x92\x01S\x02\x04\x02\xf4\x00Cd\x02\xc3\x01\xe2\x01\xa1\x01\x02\x13\xe0\x01\x05V%\x16\x05\a@\x05&\x05\xb0\x01\x05\x16\x05\xe0\x13\x01\x13\x02\x81\x02\x82\x01C\x02\x84\x02#\xa4\x02\x023\xc2\x011\x12Q#\x01\xb0\x01\x05f\x15\x16%0\x05&\x05\x20\a5\x00\a\x10\x05\x16\x15\a\x05\x00\x050\a\x00\a\xf0\x00%P%P%\a\xd0\x02\x05\x00\x05\x00\x05\x80\x0b#\xf1\x01\x82\x01C\x02\xb4\x02\x13\xe4\x023\xd2\x01\xa1\x01#\xa0\x01%\x16E&5\x105\x20\x156E\x16%\x06\x00\x15\x00E\a\x15\x20\x15&\x15\x10%\x16%\a\x15&\x15`\x05\xa0\x01\x15\x16\x15\x06\x15\xd0\n#\xf1\x01\x02\x03RC\xe4\x02\x13\xe4\x02\x123\xb2\x01\xb1\x01\x13\x02\x90\x01%\x16EV\a\x05\x00\x15\x06\x15\x10\x05V5\x16\x156\x15\x16\x05&\x15\x00\a\x15F\x05\x10\x156\x15\a\x05F\x15@UP\x15f\x05\xb0\n\x01#\xe1\x01\x02\x03R3\x94\x03\x13\xa4\x03\x02#\xb2\x01\xb1\x01\x13\x01\x90\x01\x05\x16\x15\x10\x05f%&%\xf6\x00\x05\a\x05\x16\x056%\xf6\x00%f%V%V\x05@F\x05P\x05\xf6\x00\x05\a\x80\n\x01#Q\x02\xf1\x00\x13R#\xf4\x02H\x13H\xf4\x02\x02\x13\xc2\x01\x01\x02\x91\x01\x13\x80\x01\x05\x16\x15\x10\x05&\x15\x16%&\x156%\a\x15\a\x05V5&\x15&\x15&%\x16%&5\a\x05&%\a@\x056\x05@\x05&5\x16\x05\xf0\t\x01#\x02\xc1\x01\x02\x13B3\xd4\x02\x88\x01\x13h\t\b\xd4\x02#\xb2\x01\xb1\x01\x13\x01`\x05\x16\x15\x10\x05&\x15&\x15&\x15&%\x17\x05\a\x156U\x16%&\x15\x86\x01\x05\a\x0565\a&\x15P\x056\a@\x05&\x15\a\x05\x16\x05\xd0\t\x01C\xc1\x01\x02\x03RC\xa4\x02\t\xa8\x01\x13\x98\x01\xc4\x02\x02#\xb2\x01\xb1\x01\x13`\x05\x16\x15\x10\x05\x16%&\x15&\x15&\x15\a\x15\a%F\x05\a%\x16%&\x15\x86\x01\x05\a\x15&\x15\a%&\a\x050\x05FP\x05&\x05\a\x15\x16\x05\xb0\t\x013\xd1\x01\x02\x03b3\xf4\x01\x98\x019(\x138I\x88\x01\xf4\x013\x92\x01a\x12\x11\x02\x13P\x05&\x05\x10\x05\x16%&\x15&\x156%\x065\x16\x05&\x05\a\x15\x16%&\x15\x16\xc5\x01&E&\x050\x05\a6\x150\x05&5\x16\x05\x90\t\x02#\xe1\x01\x82\x013\xd4\x01\t\xb8\x01i\x18\x03(Y\xf8\x01\xa4\x01\x02\x13\xa2\x01\x91\x01#@\x05&\x05\x10\x05\x16%&\x15&%\xf6\x00%\x16\x15&\x05\a\x05\x16%&\x15&%\x16%&\x05\x16%\x16\x05&\x05`5@\x05\x86\x01\x05\xf0\b\x01#\xf1\x01\x03b3\xb4\x01\x19\xe8\x01i\x18\x13\bi\xb8\x02\x84\x01\x02\x13\x82\x01\x11\x02\xf1\x00\x13@\x05&\x05\x10\x05\x16%&\x15&\x05\x00\x15V\x15\a\x05&\x15&\x15\x16%&5F\x15\x00\x156\x15\x00\x05F\x15\x80\x02\x15f\x05\xf0\b\x13\x81\x02\x82\x01#\xb4\x01\t\x88\x02i\x18\x13\x18Y\x98\x01\t\x98\x01\x84\x01\x02\x13\x82\x01\x91\x01\x13@\x05&\x05\x10\x05\x16%&\x15&\x05\x10\x156%\x00\x05&%\x16\x15\x16\x05\x00\x05&5F\x05\x20\x056\x15\x00%\x16\x15\x90\x02%&\x05\x16\x05\xd0\b\x01\x13\x81\x01\x12A\x92\x01\x13\xb4\x01\xc8\x02Y\x18\x13\x18Y8:\xe8\x01\x84\x01\x02\x03\xf2\x00\x03\x02\xf1\x00S\x00\a%\x205\x17%\x005@E\x205\x00\a\x15\x20\x15\x20%0E@5@5\xc0\x02\xf5\x00\xd0\b\x13\xc1\x01\x02\x11\x82\x01\x13\xa4\x01\x19\xf8\x02\tH\x13\x18Y\b\x8b\x01\xe8\x01\xf4\x00\x02\x13\xf2\x00\x03Q\x02\xf3\x00\x80\x16\x13\x02\xd1\x01\xf2\x00#\xa4\x01\b\t\x98\x02\x1a\x1b\x1a\xf8\x00\x13\xf8\x00\n\xfb\x00\n\xa8\x02\t4\x02\x13\xf2\x00\x03\x02!\x02\x13A#\xf0\x15\x13\xe1\x01\xf2\x00#\x84\x01\x19\xb8\x02\x1a;\nh\x13\xf8\x00\n\xfb\x00\n\xf8\x00)\xf8\x00\x19D\x13\xf2\x00\x03\x02\x11#Q\x13\x01\xd0\x15\x13a\x02a\xf2\x00#\xf4\x00\x98\x01)\xa8\x01\x13K\nX\x13h\nk#Xi\x98\x01\t$\x02\x13bC\xf1\x00\x13\xd0\x15\x13\xc1\x01\xf2\x00#d\xa8\x01I\xa8\x01\n\x13KX\x13X\nk#\nX\xf9\x00\x98\x01\t\x14\x12\x13b\x13\x02\x91\x01\x13\x01\x90\x15\x11\x13\xb1\x01\x82\x01\x13d\t\xf8\x00\x89\x018\x1a\x03J[\nH\x13X\nk\x13\nX\x99\x01\xa8\x014\x13R\x13\x81\x01\x02\x01#\x80\x15\x023\xa1\x01\x82\x01\x13d\x88\x01\x99\x018\n\xcb\x01\nH\x13X\xfb\x00\x13\x0bX\x99\x01\xb8\x01$\x02\x0323\x02a\x12\x11\x13\xe0\x14\x01\x13\x02\x01#\x02Q\x02\x03\xf2\x00\x13d\x88\x01\xb9\x018\n\xcb\x01\nH\x13H\n+\x13\n+\n\x0bX\xa9\x01\xb8\x01\t\x14\x02S\x12\x13\x91\x01\x02\x13\xc0\x14#1#\x021\x13b#d\x98\x01\xb9\x018\n\xcb\x01\nH\x13H\n+#;\nX\xb9\x01X)(\t\x14S\"\x03\x02\xa1\x01\x03\x01\xa0\x14#Q\x02#\x11\x03\xf2\x00\x03\xf4\x00(9H\xb9\x018\n\x0b:#K\x18\t(\x03h\n\x0b#\x0b\n;\nX\xa9\x01HI(\x143R\x03\xa1\x01\x02\x03\xa0\x14#a\x02\x13\x12\x03b\x13d(\xf9\x00\x18\xb9\x018Z\x0b\x13;\n\x18\t(\x03h\x1a\x13\n\x0b\n;\nh\x89\x01HY(\t\x043\xf2\x00\xa1\x01\x03\x01\x80\x14\x13\x02\x81\x01\x02#b\x13d8i8Y\xe8\x01\x0b\x13;\nH\x13(\x14(\x1a\x0b\x18\x1a;\nX\x89\x018\xf9\x00(Sb\x01\x02\x81\x01\x02\x13\xf0\x13\x13A\x02\x01\x02!\x02#2\x13TX\xf9\x00H\t\xa8\x02\n\x0c+\x1a\x0bH\x03\x048\x19\xf8\x00\n\x1b*\x98\x01)Xi83\x04#bA\x021\x02\x13\xd0\x13\x01\x03\x02a\x02!\x03\x02#\x12\x13TX\x89\x01\x88\x03\x0b\x03\x1b\x1ah\x03\xe8\x01\x1a\x1b\xc8\x02i(\x13D\x02\x13R\xb1\x01\x03\x02\xc0\x13\x13\xb1\x01\x03\x12CTh\x89\x01hl\xb8\x01:8\t(\x0c\xe8\x01\x0b\xc8\x02\x19\bY(#T\x13b\xa1\x01\x13\xb0\x13#\xa1\x01\x0323Dh\x89\x01X\x1c=<\xe8\x02\x13\\\xa8\x02\t\xf8\x009()(\x138D#B\xb1\x01\x13\xa0\x13\x131\x02Q\x02\x03234h\x99\x018\x1c\r\x0em,\xa8\x02,\r\x0cM\x1cH\x19\x98\x01\x04\x88\x01\x04\x19\xf8\x00\x13h$\x02\x13R\xf1\x00\x02!\x13\x80\x13\x02\x13\x81\x01\x02\x13BC\x14\th\x89\x018\x0c\xbd\x01,h9HL\x0e\x0c]\x1c(Ih\x19\x88\x01)h\x13\x88\x01$#2\x03\x02\x01\x02\x81\x01\x02\x03\x01\xf0\x12#\x81\x01\x02\x03Rc\b\tX\x89\x018\x0c\xbd\x01,XIHL\x0e\x0c\r\x0e=\x1c89\xf8\x00\t\xa8\x01\th\x038\tX$\x13B\x03\xb1\x01\x13\xf0\x12\x03\x02\x91\x01b\x03D#h\x89\x01(\x0c\x1d\x0e=\x1e]\x1c8Y8,\r\x0c\x03\x0e\x0c\r.-\x1c\x88\x04\x13H9(4\x13\x042\x03\xb1\x01\x03\xe0\x12\x13A\x02AR\x13T#X\xf9\x008\x0c\r>\x9d\x01\x1c\x18\t\bY8\x1c\x1d\x0c\x03\r\x0c\r\x1eM\x0c\x98\x01I89H\t(\x138\xf9\x00\x18$\x02\x03R\x03A\x121\x13\xd0\x12\x03\x02\x91\x01R\x134H\x13X)h\x1c\r>M.-\x0c8Y8\x1c\x1d\x0c\x03\x1c\xfd\x00\x1c\x88\x01I8Ih\x138\x89\x01\x184\x13R\x01\x02\x81\x01\x02\x03\xc0\x12\x02\x03\xa1\x01B\x134\x18\t(#\xe8\x01\x1c\r>=>-\x1c(Y(,\x1d<=\x0e-\x1c\x88\x01I(YX\x13H\xf9\x00(D\x13R\x81\x01\x02\x01\x03\x01\xa0\x12\x02\x13\x91\x01B\x13$\t\xf8\x00#\xd8\x01\x0c=\x0eMN\x1d\x1c(Y(,\x1e,=\x1e-\x1ch\t\x189\x18i8#X\xf9\x00(\t4\x13b\x91\x01\x13\x01\x90\x12#\x81\x01B#$(\x19\x18\t\x18#\xf8\x00\x198\x9d\x01>-\x1c(9H,\x1e\x0c\x03\x0c\r\x1e\r\x1e-\x1cX\x19(\x19(i(\x138\x19\x18\xf9\x0084#b1\x021#\x80\x12\x02\x13\x11\x121\x02\x012#$\x18IH#X9(\x0c]\x1e-\x0eM\x0c(\t8\t(,\x1d,.],\b\t()hY(\x13\xc8\x01)X4\x02\x03b1\x02A\x13\x80\x12#\x91\x01\"#\x02\x14(IX#HI\x18\x0cM.\x8d\x01\x0c\xc8\x01\x1c\x1d,\x8d\x01,H9\xd8\x01\x13\xb8\x01\x0c\x98\x01\t4\x13b\x81\x01#\xf0\x11\x13\x91\x012#\x148Y\x18\t(\x13HI\x18\x0cM.=\x0e-\x1c\xc8\x01\x1c\x1d,\x8d\x01,H9H\th#\x18\tXlh\tD\x03b\x81\x01#\xe0\x11\x13a\x02!2\x03\x12\x14\tH\x19\x88\x01\x13898\x0cM\x0eM\x0e-\x0c\xd8\x01\x1c\x1d,\x1d\x1e=,\xb8\x019h\x03\xf8\x00,]\x1c8\t\x18D\x13R\x91\x01\x13\xe0\x11\x13\x91\x012\x13\x02\x14\t\x98\x02#8\x198\x0c\xfd\x00\x1eM\x0c8)h,\r\x0c\x03\x0c\r>-,(\t(\x99\x01\x18\t\b\x04\x03h\x1c\xad\x01\x0chD\x13R\x91\x01\x13\xc0\x11\x01\x03\xa1\x012\x03\x12\x14hL\xf8\x00#\x88\x01\x04\x1c-\x1e\r\x1e=\x0c(Yh\\\r>\x1d<X\xa9\x01\x18\t\x13\xf8\x00\x0c]\x1eM\x1cX4#B1\x02A\x02\x03\x01\xb0\x11\x13\xa1\x01\"\x13\x02\x14\tH\x8c\x01\x03X#\x88\x01\x1c-\x1e\r\x1e-\x0c8Yh\\\r>\x1d<X\xa9\x01\b\t\x04\x13h\x1c]\x1eM\x1cX\t4\x13B\xa1\x01\x13\x01\x90\x11#\x91\x012\x13\x02\x14H,M<\b\x198\x13\x88\x01\x1c\x8d\x01\x0cH\xf9\x00XL]<X\xb9\x01\x18\x03()\x18\x1c\x1d\x1e\x1d.]\x0c\xf8\x004\x13B\x91\x01\x02\x13\xd0\x04\x15\x90\x0c\x13\x02\x11\x02!\x02\x112\x13\x02$8\x1c\xfd\x00,\x88\x01\x13\x88\x01\x0cM\x1ch\x89\x01h\x13\x0c=Lh\xa9\x01\x18\x13\x189\x18\x1c\x1d.M\x1e-\x1c\xf8\x00$\x13R\x91\x01#0\xf5\x00\xa0\x02U\x16\x05\x80\x0c\x13\x91\x012\x13$\t\x18,=\x1eM\x1c(\tH\x13\xa8\x01\x1c\x98\x01\x89\x01h\x13\x8c\x01\xf8\x009\x04I\b\x1389\x18\x1c\x1d.M\x1e=\x0c\xf8\x004\x13BA\x02A\x130\x05V\x05\xa0\x02\x05&\x15&\x05\xf0\x0b\x13\x91\x012\x13\x14\t(,=\x1eM\x1c()8\x13\xd8\x02\x89\x01h\x03\b\xfc\x00(\tHI\b\x04(\n\x1389\b,\x1d.\xad\x01\x0c\xf8\x004#2A\x02Q\x03\x01\x20\x05f\x05@\x05\x00\a`5&\x15&\x05P%0%\xd0\x02\x17\x05\xd0\x06\x13\x02\x91\x01\"#\x148\x1cM\x1e\r\x1e\x1d,()8#H\tX\t\x88\x01ih\x038\rX\x19h\t\b\x0b\n\b\n\x0b\n\x03HY,-\x0e\x1d.m\x0c\xf8\x004#2\xb1\x01\x13\x20\x05&\x05&\x05\x10\x15\x16\x15\x00U&\x05&\xa5\x01\x00\x05\x16E\x16\x15\x80\x02\x85\x01\xa0\x06\x13a\x02\x112\x13$(,\xfd\x00\x1e\x1d,h*\b\n\x1389H98ih\x03\b\t\x88\x019X\n+\x1a\x03h9\b,].\x1d\x0e=\x0c8\x19(4#2\xa1\x01\x13\x11\x00\x05&\x15\x165f5\xf6\x00\x15&\x15&\x05\a\x05&\x15V\x05@\x05\x1650\x05f\x05\xa0\x06\x03\xa1\x012\x03\x02$(,\x1d\x1e\x8d\x01\x1ch\n+\n\x0b#\x1898Y89\x88\x01\x03\x18\thIh\n\x0b\n\x13\x18#\x0b\x18\x19(,\x9d\x01.-\x0c8)\x18\t$#2\xb1\x01\x13\x01\x00\x05f%\x16%&\a\x15&\x156\x15&\x15&%&\x15&\x05\x06\x15@\x05F\x0505&\x05\xa0\x06\x01\x03\x91\x01B\x03\x02$(,\x1d.-\x0e=\x1ch\n+\n\x0b\b#\x18)8i8)\x88\x01\x03\x98\x01Ih\x0b\x1a\x03\x0b\b\n#\n\x18\t8,\x8d\x01>-\x0c89\b\t$\x02\x132\xb1\x01#\x00\x05V5\x165\x16%&%&\x15&\x15&%&\x15&%P\x05F\x0505&\x05\xa0\x06\x13!\x02Q2\x13$8,\x1d.\x1d.-\x1ch\x1a+\n\x18#\b)8i\x98\x01\x198\x03\x98\x01I(\x19\x18\n\x13\b\n\x0b#\x0b\n\xf8\x00\x1c-.->-8Y\x18$\x02\x132\x01\x02\x81\x01#\x00\x05V5\x165\x16%\x16\x15\a\x05&\x15&%\x16%\x16\a\x05\a\x05&\x15P\x05F\x05@\x15&\x15\xa0\x06\x03\x02\x91\x012\x03\x02$8\x04\x1c]N\x1d\x1ch\n;\n8\x13hI\xa8\x01)8\x03\xa8\x01)X\x04\n\x13\x1b\bK\n()\x18\x1c=\x0e=>\x1d\x0c8Y\x184\x132\xb1\x01\x13\x00\x05V5\x16\x15\a\x05\x16%\x165&\x15&%\x16%\x16\x05\a5&\x05@\x05F\x05@\x15\x16\x15\xb0\x06\x03\xa1\x012\x03\x02$\x18\t\b\x04,MN\x1d\x0ch\n;\x1aH\x13\x04X9\xa8\x01)8\x03\x18\t\xf8\x01\x1a\x03\n\b\nk\n()\x18,\x8d\x01\x0e\x1d\x0e\x1c8Y($\x02\x13\"\xb1\x01#\x05&\x05&%&\x15&%&\x156\x15&%&\x05&%\x16\x15\x16\x05@UP\x05&5\x80\x06\x01\x03\xa1\x012\x034H,M>-\x0c\x18\t(\nK\n\x0bX\x13h\x19X\x198)8\x03\xa8\x02\n\x03\n\b\x0b\x03k\n()(\x1c\xbd\x01\x1cHi\x184#\x12\x81\x01\x02\x11#\x05&\x05&%\xf6\x00%\x86\x01\x15&%V\a\x05\a\x05\x16\x05&\x05PEP\x05V\x05\x80\x06\x13a\x02!\"\x13$\t\x18\x19\x18,]\x0e-\x1c\x18\t\b\x1a[\n\xf8\x00\x13\xd8\x01)()8\x0389\xa8\x01\x03\n\b\x0b\x18\n[\n\x18)H\x1c-.M\x0cXi\x184#\"!\x12Q#\x05&\x15&%f\x17\x15\xf6\x00\x15&\x05\x00\x15F\x05\x10\x05V\x05\xf0\x01\x05f\x05\xf0\x05\x01\x13a\x02\x11\x02\x03\x12\x13$\t\x18\x19(<],H\x1a;\x1aX\t(\x13\x98\x03\x03(iX\x04\x13\n\b\n\x13k\n\xb8\x01,\r.-\x1chi(4#\x12!\x02a#\x85\x01\x20\xf5\x00\x20\xf5\x00\x00E\x20E0e\xf0\x01\x85\x01\xf0\x05\x13\xa1\x01\"\x13\x02$\b\t\x04)(,\rlh\n;\n\xc8\x01\x13X\x19\xf8\x01\x03(\xf9\x00H\x13(\nk\x1a\xe8\x01lX\t(i(4#\"\x91\x01\x02\x13\x01\xf0\x0f\x13\xa1\x01\"\x134Y8\x8c\x01\xf8\x00\x1a\x0b\x1a\x0b\xc8\x01\x13H)\x98\x01*\x18\x13(\xf9\x00H\x13(\nk\x1a8\t\b\t\x98\x01\x1cX9(i(4\x02\x13\"\x91\x01\x02#\xf0\x0f\x13A\x02A\x03\x12\x134\xb8\x03\x1a\x0b(I\x88\x01\x03\x88\x02\n\x0b\b\n\b\x13(\xf9\x00(#8\x1a;\x1a8\xf9\x00\xd8\x01Y\x18i(\t4\x02\x13\x12\x91\x01\x02#\xf0\x0f\x13\x91\x01\x02\x03\x12\x13$(j\x88\x03I8\x198\x13\xd8\x01\n+\n\b\x13(\xf9\x00\x18#h:\x0b(\xa9\x01X\x19XI(Y8D\x13\x12A\x12!\x02#\xe0\x0f\x01\x03\x02\x91\x01\x02\x03\x02#\x14\x18\n\x8b\x01\x1a\x0bhIX\t\x18I(98\x13X*\b\x0b\x1a;\n\b\x13(i(\x13\xd8\x01\t\b\xb9\x018\t\x88\x019(IX4\x13\"1\x031\x02#\xe0\x0f\x01\x03\x02\x91\x01\x13\x02#\x14\x18\n\xab\x01\nhYH\t\x18I(I(#H\n\x0b:K\n\b\x13(Y(\x13\x88\x02\xb9\x01\x98\x01\x1b8\tHIH4\x02\x03\"1\x021\x02#\xe0\x0f\x13!\x02a\x13\x02\x13$\b\n\xdb\x01\n(\xf9\x00\xf8\x00I\x18YH\x13(\xab\x01\n\x18\x13(I(\x13XIX\xc9\x01X\x0b\x1a;*\x98\x019(4\x03\"1\x021\x02#\xe0\x0f\x03\x02\xa1\x01\x03\x12\x13$\n+\x03\n\xab\x01\n\x18\xf9\x00\xe8\x01YX\x13(\n\xfb\x00\n\x0b\x18\x13\x98\x01\x138\x89\x01H\xc9\x01X\x9b\x01\n\xf8\x00Y\x184\x13\x121\x021\x02#\xe0\x0f\x03\x12\x91\x01\x03\x12\x03\x02\x14\b\n\x1b#;\n[\n\x18\xf9\x00\xe8\x01Ih#\x18*+*(\x04\x13\x88\x01#8\x89\x01X\xa9\x01(\t\x18\n\xab\x01\nhY($\x13\x121\x021\x12\x13\x00\a\xc0\x0f\x03\x12\x91\x01\x03\x12\x03\x02\x14\b\n\x0b\x13\x1a;\x03\nK\n\x18\xf9\x00H)h9(\x198#\x18\x1a\x1b*H\x13(\x04\t(#\x18\xb9\x01X\x99\x01h\xbb\x01\nhY(\t\x14#\x12!\x031\x12\x13\x00\a\xb0\x0f\x13\x12\x91\x01\x03\x12\x03\x02\x14\x18\x1a\x0b\n;3\n\x1b\x1a\x18\xf9\x0089\xf8\x00)(9(\x138\x0b\x88\x01\x13(\x19\x18#X\xf9\x00h\x89\x01h\nk3\x1ahY(\t\x14\x02\x13\x12!\x12!\x12\x13\x00\a\xb0\x0f\x13\x12a\x02\x11\x03\x02\x13$8\nK\n3\x0b\x1a\xe8\x01)\xd8\x01I8\x13\xf8\x00)\x18\x13(\t\x18\x04\x13(\t(9\xa8\x03\n;\n+\n\x13\nhiH\x14\x13\"a\x12\x13\x01\x00\a\xa0\x0f\x13\x02\x91\x01\x02\x03\x02\x13\x14\t8\n;\x1a\b:\x0bX\xfc\x00\xf8\x00\t\xa8\x019X\x13\b\t(9\x18\x13H\x1389H\xfc\x00\xb8\x01)8\n\x1b\n\x03;\n\xa8\x01YH\x14\x13\x12A\x02\x11\x12\x13\x01\x00\a\xa0\x0f\x13\x02\x91\x01\x02\x03\x02\x13\x14HK\x1a\x98\x01\xac\x01h\x19\xa8\x01\x19h#89\x18\x13H\x1389(\xac\x01\xa8\x019(\n\x1b\x13;\n\xa8\x01YH\x14\x13\x121\x02\x03\x01\"\x13\x01\x00\a\xa0\x0f\x03\"\x01\x12Q\x02\x03\x02\x13\x148\nK\n\x98\x01\x1c\r\x0c\x8d\x01\x1cX\x04\xc8\x02\x13(9\x18\x13(\x13X9\b<M\\H\x04\x18Y\x18\n\x0b\x13\x1a;\nH)\x18iH\x04\x13\x121\x02\x03\x11\x12#\x00\a\xa0\x0f\x03\"\x81\x01\"\x13\x148*+\nX\x04\b\x1cm\x1e]\x0c8\t\x18I8)\x88\x01#8\t\x18\x13\x18#\x98\x01\x1c\xad\x01<Xi(\n\x03\n\b\n;\n\x0b8I898\x04\x13\"\x11\x12\x03\x11\x12#\x00\a\x90\x0f\x01\x03\"\x81\x01\"\x03\x02\x14X\x0b*\xf8\x00\x1c=\x0e\x1d.]\x0e\x0ch9(Y\x88\x01\x13X\x13\b#\x1898\x0c=\x1e\x8d\x01,\x18\t(I\x88\x01\n;\n(IHI(\x04\x02\x13\x12!\x02\x03\x11\"\x13\x00\x17\x80\x0f\x01\x03\"\xf1\x00\"\x13\x02\x14\xf8\x00\x1a\xf8\x00\x1c=\x0e\x1d.\xfd\x00\x0cX9\x18i8\t\b\t(\x13HC(I\x18,\x1d.\x9d\x01\x1ch)\x98\x01\n;\n(I8Y(\x04\x02\x13\x12!\x02\x03\x11\"\x13\x00\x17\x80\x0f\x01\x03\"\x01\x02\xf1\x00\x02\x13\x14\x98\x02\x1c\x1d\x0e\x1d\x0e-\x0e=\x1e-\x1c8I\x18iH\tH\x13(C(Y\x18,\x1d.-.=,\xa8\x0198\x1a\x1b\x1a\xb8\x01Y(\t\x04\x13\x121\x03\x11\"\x13\x00\x17\x90\x0f\x03\"\x01\x02\xf1\x00#\x14\x98\x02\x0c-\x0e\xfd\x01\x1cH)8\xf9\x00\x1898\x13\x1838I\x18,-\x1eM\x1e=<\x98\x0198*\x0b\xd8\x01Y(\t\x04\x02\x03\x12\x01\x02\x11\x03\x012\x03\x01\x00\x17\xf0\x02S\xb0\x0b\x13\x12\x91\x01#\x14\x98\x02\x0c\xbd\x01\x0cm\x1cX\tHY\xc8\x01\x13\b#8Y\x18\x1c-\x0e\xad\x01\x1e\r,\xa8\x01)H\x04(\t\xc8\x01I(\t\x04\x02\x03\x121\x12\x01\"\x037\xd0\x02\x023\x1f#\x90\x0b\x13\x12\x11\x02#!3\x14\x98\x02\x1c\r\xbc\x02\xb8\x019\xf8\x01CHI\b\x1c-.\x9d\x01\x1e\r,\xc8\x01\t\x88\x01\t\xd8\x01)8\t\x04\x02\x03\"1\x02\x01\x12\x137\xd0\x02\x13\x1f\x03?\x13\x80\x0b\x13\x12\xc3\x01\x02\x93\x05\xf4\x00\x184\x98\x01\x19\b\t\x14\x18C\xa8\x01\x1c-\xac\x02\x93\x02\xa8\x03\x043\x02A\x03\x01\x02\x13G\xc0\x02\x02\x03?\x03?\x13\x80\x0b\xf3\x00!\xf3\x02\x0c3L\xc3\x06\x88\x01L\xa3\x01@W\x00\x97\x01\x20\xb3\x04\"3\x017\xc0\x02\x02\x13\x0f\x03/\x03?\x13\xf0\n\x01#\x02a\x02S\xf8\x03\x13\x1c\x13\xf8\x00\xe3\x03\x10\xc3\x01\x00\a0\xe7\x05\x00'\x20\x1707\x11C\x01g\x80\x02\x12\x13\x02\x13_\x03?\x13\xe0\n3\x81\x013\x14\x88\x02\x03\xdc\x02\xd8\x01\xa3\x01H#\b#\xa0\x01\xf7\t\x00g\x90\x01\x12\xc3\x01\xbf\x01\x03\x02\xc0\n\x01\x13\x12\x81\x01\x02\x13\x02\x14X)\xf8\x00\x1c\xed\x01.\r,\xb8\x03\x13(\x13\b\x13\x97\x0c@\x12\x13\x12\xa8\x01\x02\x13\xff\x00\x03/\x13\xb0\n\x13\x12\xa1\x01\x13\x02\x14\x18\t\bYh,\x0e=\x1e-\x0e-.\x1d\x0c\x98\x02\t\x88\x01\x138\x13\x18\x13\x00\xe7\x0b\x20\x02\x13\x12\x88\x02\x13\xaf\x01\x13\x02\xa0\n\x13\x121\x02Q\x02\x03\x02\x14\x18\x89\x01h\x1c=>\r.\x1d.,\xf8\x00\n\x1b\n\x0b8)X#H\x138\x13\xb7\x0b\x10\x02\x03\x02H:\x0bHI(\x13\xaf\x01\x13\xa0\n\x13\x121\x02a\x03\x02\x14\x18\x89\x01h\x1c=>\x1d\x0e-\x1e\r,h\n;\n89\b\t(\x13X\x13H\x13\x00\x97\x0b\x02\x13\x02HK\n\x0b8Y\x18\x13\xbf\x01\x03\x02\x90\n\x03\"\xf1\x00\x02!\x13\x14\xa9\x01h<\x0e\r>\x8d\x01\x1c\nX\nK\n8Y\x18\x03\xf8\x00\x13X\x13\x00\xd7\n\x02\x03\x0c\xf8\x00\x02\x03[\x1a\x18i\x18\x13\xaf\x01\x13\x90\n\x03\"\xb1\x01\x13\x14\xe9\x018<-\x0e=\x1e=\x0c\xf8\x00k\n(I\x18\x03(9\x18\x138\t(\x13\x20\x17\x20'\xb0\b\x01\x10#\x02\x98\x01\x0b\n\x03k\n\b\xf9\x00\x18\x13?\x03_\x13\x80\n\x03\"\xb1\x01\x02\x03\x14\b\x89\x01\b9HL]\x0e-\x1c\x88\x01k\n()\x18\x138I\b\x138\x19(\x13\xc0\t\x02\x13\x02\xb8\x01\x1a\xbb\x01\bi(\x03\xbf\x01\x13\xf0\t\x03\"\xb1\x01\x02\x03\x14\x18Y(\x19\x04X\nL\xfd\x00\x1c\x88\x01\xfb\x00\n(\t(\x04\x13(Y\b\x138\x198\x13\x90\t\x02\x03\x0c\x02\xd8\x01\nK\n\x03;\b\n\x18Y(\x13\xaf\x01\x13\x02\xe0\t\x032\xb1\x01\x03\x02\x14\b9H\t\x04\t\x18\x0b8\x0b\x03\xac\x01\xb8\x01k\n\x18\t(\x13XI\b\x13(I(\x13\xe0\b\x138\x19\x04\t\xa8\x01\n;\n\x13;\n\x18Y8\x13\xaf\x01\x13\xe0\t\x132\xa1\x01\x13\x14\xc8\x01\x1a\x1b\x1aH\nL\xe8\x01\n[\n8#\xf8\x009\b\x13\b\xf9\x00(\x13\xa0\b\x02,\x03(\x19\x04\x19\x18)hZ\x13+\n(9X\x13\xaf\x01\x13\xd0\t\x01\x03\"!\x02\xf1\x00\x13\x148\x19h\x13;\n\x0b\xf8\x02\x1a;\x03\x0b(#H\t(9\b\x13\b\x99\x01(\x03\xf0\a\aL\r\xf8\x00ih\x04\x18\x1a\x03\x1b\n8\t\x98\x01\x13\xaf\x01\x03\x02\xd0\t\x032\xa1\x01#\x048)X\x13K\n\x88\x01\t\b\t\xb8\x01\x1a;\n\x0b(\x13X\t(9\b\x13\b\xa9\x01\x18\x13\xd0\a\x03\x1c\x1d,\xf8\x00i\xa8\x01J(\x19\x98\x01\x02\x03\xaf\x01\x13\xd0\t\x13\"Q\x121\x13\x04\xc8\x01\x03\x0c[\nhI\xb8\x01\x1a\x1b\x1a\x18\x13\xb8\x019\b\x13\b\xa9\x018\x03\xa0\a\x03\x0c\r\x1e\x1d,\x18\tHi\xb8\x01\x0b\n\x0b8\x19\xa8\x01\x13O\x03O\x13\xc0\t#\"\xa1\x01\x13\x04\xc8\x01\n\x03[\x1aXY\b\t\b\x04\xf8\x00:\x18\x138lH\t\b\x13\b\xb9\x018\x03\xe0\x06\x02\x03\x1cM,\x04\b\x19HY\xf8\x00I(\t\b\x19\x04\x19\xa8\x01\x13\xaf\x01\x13\xc0\t\x13\"\xa1\x01#\x04\xa8\x01\x0b\n\xfb\x00\nHi(I\x88\x01\x038,-L(\t\b#\b\xa9\x01H\x03\xd0\x06\x03\x0c\r\x0e\r.\r,\x04\b\t\xf8\x00\x19X\x99\x01\x18\x19\b)h\t8#\xaf\x01\x03\x02\xb0\t\x132\x91\x01\x02\x13\x04\x98\x01\x0b\n\xab\x018Y(Y\xf8\x00\x13(,M<(\t\b#\b\xa9\x01H\x13\xc0\x06\x0c\r\x1e\r.\r,\x04\xa8\x01\tX\x89\x01H9h)\x18\x02\x13O\x03O\x13\x02\xa0\t\x13B\x91\x01\x02\x03\x048\t(\x1a\xbb\x01\nHI(iH#(\x03\x0c\x9d\x01\x1c\b\x19\b\x138\x89\x01h\x03\xa0\x06\x1c\x1e\r.\r,\x04\x98\x02\x99\x01\xe8\x01I\x18\x02\x03\xbf\x01\x13\xb0\t\x02\x03\"1\x02a\x13()\b\x03k\n\x03K\nX)(\xf9\x008#8\x1c\x1d\x0e=\x0e\x1d\x1c\x18\t\b\x13XY\x88\x01\x03\xf0\x05\x02\x1c\r\x0e-\\\x04\xa8\x02\xf9\x00\xd8\x01i(\x13\xbf\x01\x13\xb0\t\x032\xf1\x00\x02\x11\x13\x04\x18)\b\n[\x1a\x13;\n\xb8\x01\xf9\x00(\x13X\x0c\x1d.-\x0e-\x1c\b\t\b\x13\x88\x01\t\xb8\x01\x13\xc0\x05\x02\x03\xac\x01\x14\x19\xf8\x00*\xf8\x00)\x18\t\xe8\x01\xf9\x00\x18\x02\x03\xbf\x01\x13\x02\xa0\t\x13\"\xf1\x00\x02\x11\x02\x13\x18)\b\nK*\x13;\n\xb8\x01\xf9\x00\x18#H\x1c\x1d.m\x1c\r\t\b\x13\xd8\x02\x13\xc0\x05\x03\x02\xac\x01\x04\b\t(\x04H\n\b\x1a\xf8\x00\t\xf8\x00\x04\x98\x01\xf9\x00(\x03\xcf\x01\x03\x02\xa0\t\x132\xa1\x01\x13(\x19\x18\n+\x1a\b\n\x13+\n\x189hi\x18\x13h\x1c\x1d.-\x0e-,\x18\x138\tH\x0b\x1a+\x1aX\x03\xa0\x05\x03\x028,H\t(\n\x1b\x03\n\x18\n[\x1a\x98\x01\xec\x01\x98\x01\x02\x03\xcf\x01\x03\x10\x025\xb0\b\x01\x032\xa1\x01#\x18\t(\x1a\x0b\n(\x0b\x13\x1b\x1a8\x04\thI\x18#\xf8\x00\x1cm.\x1d,\x18\x13()8\n\xfb\x00\x1a8\x03\x80\x05\x12\x18\th\tH\n+#\xfb\x00\n\x88\x01\x0c-.=>\x1d,8\x19\x18\x13\xbf\x01\x13\x15F\x05\xa0\b\x13\"1\x12Q\x13\b\tH\x1aH\x1a\x0b\x1a\x0b\xa8\x02\x13\x98\x01\x1cM\x1e\r\x0e-,\x18\x13\x189(\n\xab\x01\n8\x13\xd0\x04\x02\x03\x18\x04\xd8\x01K#[\n\x88\x01\x0cM\x1e=>-\x0e\r\x1cX\x02\x03\xcf\x01\x03\x15V\xa0\b\x1321\x02Q\x13\b\tH\x1aX*\x0bh\x04\xa8\x01#\x98\x01\x1cM\x1eM,\x18\x13()(\n\xab\x01\x1a(\x13\xd0\x04\x13\xf8\x01[#K\x1a\x0b\xf8\x00\x0c\r\x0e\x8d\x01>]\x1cX\x13\xbf\x01\x03\x02\x156\x05\xa0\b#2\x91\x01#\xa8\x01\x19\x98\x01\x9c\x01\x03\x18#H\x198\x1c\xbd\x01,\x18\x138\t8\n3\xfb\x00\x1a8\x03\xc0\x04\x03XIX\x8b\x02h,\x1d\x1e\xdd\x01\x0e-\x0cX\x03_\x03_\x03\x02\x15\x16\x15\xb0\b\x132\xa1\x01\x13\xb8\x0198,\x8d\x01<\x03HI8\x1c\xad\x01,\x18\x13H\t8\x1a#\xfb\x00\nH\x03\xb0\x04\x03(\xf9\x00h\xbb\x013\n\x18\t(<].\x8d\x01\x0e-\x0cH\x13\xbf\x01\x13\x15\x16\x05\xc0\b\x132\xb1\x01\x13\xa8\x019(\x1c\x1d\x0em\x1c\b\x13Hi(\x1c\r\x0e\x1d.=\x1c(\x13\xb8\x01\x0b\n\x8b\x01\nX\x13\x90\x04\x02\x18\x89\x018\x19\b\n\xab\x01#\x0b\n\x18\t8L=.=.M,8\x02\x03_\x03O\x13\x02\x05\x16\x05\xc0\x01\a\x00\a\xc0\x06#\"\xb1\x01\x13\xa8\x019(\x1c\x9d\x01\x0c\b#H\xf9\x00\x18\x1c=.-,(\x13\xf8\x00\t8\n+\x13;\nX\x13\x80\x04\x12\x18\x89\x018\x19\b\x04\n\xdb\x01\n\b)(\xfc\x00\xfd\x00.M,H\x03_\x03O\x13\x02\x05\x16\x05\xf0\x00\a\xf5\x00\xc0\x06\x132!\x02!\x02!\x02\x13(9(9\x18\x1c=.\x1d\x1c\b#\b\x0c8\xf9\x00\x18<\x1d.-\x1c8\x13h\x19(\n;#\x1b\x1a\xf8\x00\x03\xf0\x03\x02\x18\x99\x01()\x18*\xbb\x01\n\b)8\x04\xac\x01\x8d\x01<\x04H\x03\xbf\x01#\x05&\x05`\x05f\x05\xc0\x06\x01\x032\xb1\x01\x13(9\xf8\x00\x1cM.\r\x0c\x18\x1c\x18,(i8<M,H\x13h\x19(\n+\x1a#\x1a\x98\x01\x03\xe0\x03\x03\x18\x89\x01(I(\x04\n\x8b\x01\b\n(\tH\x19\x18\x9c\x02\r\x0c\x14H\x13_3\x0f#\x05&\x05P\x05\xf6\x00\x05\a\xc0\x06\x13\"\xb1\x01#\x189\xf8\x00\x1c]\x1e\x0c\b\x03\x1c\b\x03L\x18iX\xfc\x00(\t(\x13\x98\x01\x0b\n;\n\b\x1b\x1a\xa8\x01\x13\xd0\x03\x03\x18\xf9\x00\x98\x01\x1b\b\x0b*;*\x98\x01)($\xdc\x01\x14\b\t83\x0f\xa3\x01\x05&\x050\a\x00\x05\x16%&\x05\xd0\x06\x01\x032\xa1\x01#()\x18\tH\x1cm\x0c\x03\b,\b\\\x18ihL\x88\x01\x13\x98\x01\x1a;\n\x88\x01)H\x13\xc0\x03\x03\x18Y\x98\x01\x02cZ\x04\xb8\x01)\x18$(\xac\x01\x04\x18\t8\xf3\x01\x05&\x05P\x05\x165\x16\x05\xe0\x06\x032\xa1\x01#8I8,\r.\x1d\x0c\x18\x0c\b\x0c\b\x0c-,\x18i\xd8\x01\tX\x13\x98\x01\n\x0b\n+\n\xf8\x009X\x03\xc0\x03\x03\x189\x98\x01\x13\xf2\x00\x13\x02\x98\x01\x02XIH4h\x19H\x04\xf3\x01\x05&\x05@\x05&5\x16\x05\xe0\x06\x01\x03\"1\x02a#(Y(,\r.\r\x0c\x18\x0c(\x0c=<\bY\xa8\x01\t\x98\x01\x138\t\xf8\x00*\x88\x019h\x03\xa0\x03\x12\x18\x19h\t(\x03\xb2\x01\x138\x02\x83\x01\x04\b9\bi\xa8\x01\t8\x04C\xf2\x00#\x05&\x05@\x05&5\x16\x05\xf0\x06\x132\x91\x01#8I(,\x1d\x0e\r\x0c\b\x03\x1c\b\x1c\r\x0e-<\x18Ih\t\x18\x198I\b\x13\x18YX\x0b\n\x18)89(\t8\x03\x90\x03\x03\x88\x01)\x18\x04\x03\xc2\x01\b\x03(\x02\x03\x82\x01\x13\x028\x19\x04\t\xb8\x01\tX\x04\x02#\x92\x01\x13\x05&\x05P\x05\xf6\x00\x05\xf0\x06\x132\x91\x01#8I(,=\x0c\b\x1c\b\x1c\x1d\x1e\x1d<()\xa8\x01\tHI\b\x13\x18i\x88\x01)8)8\x19(\x13\xf0\x02\x02\x03\xb8\x01\x14\x02\x13\xb2\x01\b\x03\x02\b\x02\x13\xa2\x01\x038\x19\x04\xd8\x01\tH\x04\x02\x13\xa2\x01\x13\x05&\x05P\x05\xf6\x00\x05\xf0\x06\x01\x132A\x12\x11\x02#(I(,-\x0c\b\x13\b\x03=\x0e-<\x88\x01)8)(Y\b\x13\x18\xf9\x00\x18\x19(I\xf8\x00I(\x13\xd0\x02\x02\x03H\x03\"\b$\x02\xc3\x01\"\x03\x02\b\x04\x02\x03\xb2\x01\x03\x02(\x19\xa8\x02\x04\x02\x04#\xa2\x01\x13\x05&\x05`\x15&\x05\x16\x05\x80\a\x01\x032\x91\x01\x02\x13(I(<\r\x0c\x03\x0c\x03\b\x03\x0c\xfd\x00,\x88\x01I()(i\x13\b\xf9\x00(9\x189hi8\x03\xc0\x02\x03H\x03\x00\x12C\x02\x00G\x00\a\"c\x02\x04\x13\xd2\x01H\x04#\x028)X4\x03\xc2\x01\x03\x02\x05&\x05\xf0\x00\xf5\x00\x90\a\x132\x91\x01#\x98\x01\x04\x0c\r\x1c#\b\x1c\x8d\x01,hi\x98\x01Y\x13\x18i(\x19\xe8\x01YX\x03\xa0\x02\x02\b\x02(\x03\x02'0\xe7\x01\x20\a\x12\x93\x01B\x038\x02\x132\x13\x02$8D\x02\x13\xc2\x01\x03\x02\x05&\x05\x90\t\x132A\x0213\x18\thL\x03\b\x03\x1c=\x1e-,h\xf9\x00\x88\x01Y\x13\x18i\xb8\x02YX\x03\xa0\x02\x03\x02(\x02\x03\x00\xb7\x01\xf0\x00'\xf0\x00\x12c\"\x038\x02\x03R#\x02\x84\x013\xb2\x01\x13\x02\x05&\x05\xa0\t\x03B\x91\x01#\x98\x01<\x03\b\x03\x0c]\x1e\x1d<X\x89\x01\x98\x019\b\x13\x18i8\x9c\x01hIh\x13\x80\x02\x12(\x13\x02\x17\xf0\x02\a\x10'@\x12C\x02\x18\x04\x03\xf2\x00\xe3\x01\xc2\x01\a\x03\x15&\x05\xa0\t\x13RA\x12\x11#\x88\x01\x04\x03\x0c\x03\b\x1c\r.=\x0e\x1d,\xf8\x00iX)h\x13\x18I8\x1c\x8d\x01,H9\x98\x01\x03\x80\x02C\x02\xc0\x03\xd7\x01\x00\x03(S\xf2\x00c\xf2\x01\x03\x02\x156\x15\x90\t\x13R\x81\x01\x023h\x1c\x13\x0c\x1d>],\x98\x01Ih9X\x04\x03\x189(\x1c\xbd\x01\x0e\x1c(9\xb8\x01\x03\xb0\x02\a\x90\x04\xa7\x01\x003'\x02\xf3\x00\xc2\x02#\x02\a\x05V\x05\x90\t\x13R\x91\x01\x02#\x04\b)\x18\x13\b\x1c\x1d>],\x98\x01\x19\xf8\x00YX\x04\x03\x189(\x0c\x9d\x01\x0e=\x1c\x18\t\x18\t\xb8\x01\x13\x90\a\xf7\x00#\x00G\x12\x93\x01\xd2\x013\x12\a\x05\x036\x05\xa0\t\x01\x13R\x91\x01\x02#4#\x18<.],H:X\n\x0bHYX\x03\x18\x198\x0c=\x1e=.=\x1c\x88\x01*\x0bH\x13\xe0\a\xa7\x02\x05\x93\x02\x02\x10\x12e\xc0\t\x13\xf2\x00\x81\x01\x023\x04#8L=LH\n+\n8\x1a\x0b\nXIX\x03\x04X\x1c\x1dN\x9d\x01\x1ch\n\b;\nX\x03\x90\x01%\x90\x06G\x20\a\x02\x17@\xf7\x01\x00G\x00\x05\x02\x06\a\x05\x80\n\x13\xf2\x001\x02Ac(\t(\x9c\x01h+\n\x03\x0b\x18\n;X9h\x13H\x1c-^-\x0e]\x1chK\nh\x03\x80\x01\x05\x06\x05\xc0\x06\a\x90\x01\x97\x03\x05&\x05\x80\n#b\xa1\x01C\x88\x01\xfc\x00h\n+\x13\x1b\n[H9h\x13H,\x1d^-\x1eM\x1chK\nh\x03\xf0\x00\x15\x06\xb5\x01\x10\a\xc0\x06\xd7\x02\x00\x05&\x05\x90\n\x13\xf2\x00\xa1\x013\xf8\x02\n+#k\nH9h\x13H\x1c-^-\x1e]\x0ch\n;\n(\t8\x13P\x15\xc6\x01\x05\a\xd5\t&\x05\xa0\n\x13\xf2\x00Q\x02!3\x18\t()H\x19\xf8\x00\n+\x1ak\x1aH9(\x19\x18\x138,=\x1e]\x1e]\x0ch\n;\n\x98\x01\x03@\x05\x86\x0c\x05\xb0\n#ba\x02SH9\xd8\x01\n\xab\x01\x1ah\x19(9\b\x138,\xbd\x02\x0c\xf8\x00\n[\n\x0b(\t\x18\x130\x05\x86\x0c\x05\xb0\n#R\x03\x02Q#\x02#H9\xd8\x01\n\x8b\x01*\xc8\x01\t\x04\x19\b\x138,\xed\x01\x1e-\x0c\xf8\x00\n;\x1a\x13\n\x0b8\x130\x156\x005\xe6\n\x05\xb0\n\x01#R\x03\x021#13\x189H\x19\xf8\x00\nk\n\x1b\xd8\x019\b\x138,M\x0e=.\x1d.\x1d\x0ch\x0b\n;#\x0b\x1a\b\t\x18#\x20\x15\x16\x15P\xf5\x04\xd6\x05\x05\xc0\n\x01\x13b\x03\x02\x11\x02\x13\x02A3\xf8\x00Ih\x1a[#\x18\t\x18)\xf8\x00\t\x18\x138,=.-.-\x0e-\x0cH\n#;\x1a\x1b\x1a\b\x19\x18#\x01\x00\x15\x16\x05\xa0\x06\xe5\x04\x16\xf0\n\x01\x13b\x03\x02\x01\x13\xf1\x00CHYH\t\x18\x1a[\x13\x0b89\x98\x01\x138,->=\x1em\x0c8\n\x1b\x13\xfb\x00\x1a\b\x19\bC\x01\x15\x06\x05\x80\x0b\a\x05\x16\x05\xf0\n#b3\xf1\x00\x02CHI8\x19\x18\x1a\xfb\x00\n89\x98\x01\x138,->\xcd\x01\x0c8\n\xcb\x01\n\b\x19\bS\x15\x06\x05\x90\x0b\x05\x06\x15\xf0\n\x013B#\x11\x02\xf1\x00C89H\x198\x1aK\n\x0b(I\x18\th\x138,=\x1e-\x0e=\x1e=\x0cH\n\xab\x01\x1a8\x13\x01\x02#\x15\xb0\x0b\x15\xa0\x0b\x01\x93\x01\xd1\x01#(\x19\xf8\x00\tH*\x0b*h\tX\x1a(\x138\n\x1c\xfd\x00\x1e=\x1e-\x0cX\x1a\x8b\x01\nH\x13!3\xf0\x17#\x02\x03\xe1\x013\xb8\x01\x19H*\xe8\x01\n\x1b\n\x0b\n#\x1a\x18,\x8d\x02\x1cX\x0b\x1aK*8#13\x01\xb0\x17\x01\x00\a\x13\"\x03\xe1\x01#\xb8\x01\x19\xd8\x02;\n\b\n#\x1a\x18,\x8d\x02\x1c8\t(\xfa\x008\x13\x02AC\xc0\x055\xa0\x11\x17\x132\x03\x81\x02#\x98\x019\xa8\x02\nK\n#;\x18,M\x1e\xfd\x00\x1c(9\xc8\x01\x13\xf1\x003\x10\a\xe0\x04%6\x15\x90\x11\a\x13B\x03\x02Q\x12\xf1\x003\xf8\x00)\xc8\x02\x03[\x13+\n(,-.m\x1c(I\xa8\x01\x13\x91\x01C\a\x00\a\xc0\x04\x15V\x15\xa0\x11#b\x81\x023\xf8\x01\xf9\x00X\x0b\nK\x13+\n(\x04<\x0e\xfd\x00,(Y\x98\x01\x03a\x02A3\x00'\xb0\x045&\x05\xc0\x11\x01\x13b\x91\x023\xd8\x01\x99\x01X\nK\x13\x1b\x1aH<]<(i\x88\x01\x13\xc1\x01\x02#\x00'\xc0\x04%&\x05\xd0\x113R\x01\x02\x81\x023\xb8\x01\xa9\x01X\n;\x13\x0b\x1a\x88\x01\x8c\x018\xf9\x00h\x13\xf1\x01#\x10\x17\xd0\x04\x15&\x05\xe0\x113bQ\x02!\x02\xf1\x003\x98\x01\xb9\x018\x0b\x1a+\x13\x1a\xe8\x02iH#1\x02a\x02!\x02\x13\x02\x03G\xc0\x04\x05&\x15\xf0\x11\x01#b\xb1\x0238\t(\xb9\x01(\n#\x1b\n\x13\n\xc8\x02\tH)(C\xf1\x01\x02\x03\"\x03\x01G\xa0\x04\x15\x16E\xf0\x11\x01#R\xc1\x02#h\x89\x018\x0b\n[\n\x13(\t\xa8\x01\x19H\x19\xf8\x003\xa1\x01\x02A\x02\x132\x03g\x90\x04\x05V\x15\x80\x12\x01#b\xb1\x023X\xf9\x008\x1aK\x1a\x13(9\xf8\x00)\xb8\x01C\x81\x02\x02\x132\x13g\x80\x04\x15V\x15\xf0\x11\x17\x10\x13bA\x02\xe1\x013hI8\x1a;*\x03\x04(IXI\x88\x013\xc1\x01\x021\x82\x01\x03\x00g\x80\x04\x85\x01\x90\x127#R\xd1\x02Ch\tXJ\x18\x138Y8YX3\x91\x01\x12\xf1\x00\x82\x01\x13\xf7\x00\xc0\x177\x01#Ra\x02Q\x02Q\x02S\x98\x02\x13(i8\t\b\x19H3\x02\xa1\x02\x02\x03\x82\x01\x13\x87\x01\xe0\x17'\x01\x13b\xc1\x01\x02a\x02S\x88\x02\x13(i\xa8\x01C\xb1\x02\xa2\x01\x13\x00\x87\x01\xf0\x177#b\xd1\x023\xb8\x019\b#\x18i\xf8\x00Ca\x021\x02Q\xd2\x01\x13\x01\x97\x01\x80\x187#b\x03\x02\xf1\x01\x12A3h\t\b)\b#(Ih3\x02\x81\x02\xf2\x01\x13\x01\xb7\x01\x80\x18G\x01#b\x13Q\x12\xe1\x01\bS\x02h#\xa8\x01\x02#\x02\xa1\x02\xf2\x01\x13\x01\x00\xb7\x01\xa0\x187\x003\x82\x01A\x12\x81\x02\x02c\x0283\x018!\x02#\x02\xa1\x02\x82\x02\x13\x01\x00\xc7\x01\xb0\x18G\x01#\xf2\x00\x03\x02a\x12\x91\x02\x02\xd3\x02\xb1\x01\x02A\x92\x02#\x01\xd7\x01\xd0\x18W#\x82\x01\x03\x02\x91\x04#\x01S\xf1\x01\x02\x11\x92\x02#\x01\xf7\x01\xf0\x18W\x013\xf2\x00#\x02\x91\x01\x02\xb1\x02\x13\xd1\x01\x02a\xb2\x02#\x01\x00\xd7\x01\xb0\x19W\x013\xb2\x01\xd1\x03\x13\x81\x01\x021\x02Q\xb2\x02#\x01\x00\xe7\x01\xc0\x19g\x013\xb2\x01\x11\x12Q\x12\xf1\x01\x13A\x021\x12A\xc2\x023\x00\x87\x02\xf0\x19\xf7\x00S\xb2\x01\xd1\x01\x02\x81\x01\x13\xb1\x01\xe2\x023g\x00\xb7\x01\xa0\x1a\x87\x01\x01S\xb2\x01\xb1\x02\x13A\x92\x03C\xb7\x02\xe0\x1a\x97\x01\x01C\xe2\x01\xf1\x01\xf3\x00\xd2\x02S\xb7\x02\x90\x1b\xa7\x01\x00\xf3\x00\xb2\x02\x83\x01\xc2\x02S\x02\x01\x20\xa7\x02\xe0\x1b\xb7\x01\x01c\xe2\x02#\xd2\x01c\x01\xa7\x03\xa0\x1c\xd7\x01\x01c\x82\x02#\x00\x13\x92\x01#\x02\xf7\x03\xc0\x1c\xf7\x01\x01c\xe2\x01#\a\x01\x13\xf2\x00#\x01\x00\xd7\x03\x80\x1d\xa7\x02\x01\xf3\x00b3\x01'\x83\x01\x01\xd7\x03\xf0\x1d\x97\x02\x00\x17\xd3\x01\x01G\x001\x10\xc7\x03\xc0\x1e\x97\x031\xa7\x05\x80\x1f\xc7\b\xd0\x1f\xc7\a\xc0\x20\xf7\x06\x90!\x87\x06\x80\"\xb7\x05\xa0\a5\xb0\x15U`E\x80\x02U\x20\xb7\x04\xf0\x05\xb5\x01\x20\x15\x16\x15\xa0\x15\x056\x05`\x05&\x05\x80\x02\x056\x05`\xb7\x03\xb0\x06\x05\x86\x01\x15\a\x10\x056\x05\xa0\x15\x056\x15@\x056\x05\x80\x02\x056\x05\xb0\x01\xc7\x01\xd0\a\x05\xa6\x01\x05\x10\x056\x05\xa0\x15\x05F\x05@\x056\x05@\a\x00\x05\x00\x05\xf0\x006\x05\xe0\n\x05\xa6\x01\x05\x10\x056\x05\xa0\b\a\xf0\x0c\x056\x05@\x056\x050\x85\x01\a0\x05&\x05\x20E\x20U\x80\x015@%\x90\x01\xf5\x00\xe0\x03\x05\xb6\x01\x10\aE\xa0\x01\xa5\x01\x90\x01\xa5\x01\xd0\x01\xb5\x01\xe0\x0c\x056\x15\x20\x056\x050\x05\xf6\x00\x150\x05&\x050&\x20\x156\x05\a\x005\x00\x156E\x16%`\x05\xf6\x00\x05\xc0\x015\xc0\x01\x056%6\x15\x00U\x80\x01\x15\x96\x01\x05\x80\x01\x05\xa6\x01\x05\xa0\x01\x15V\x056\x05\xf0\x0c\x056\x05\x10\x156\x05\x20\x05\xa6\x01\x05\x10\x15&\x05\x10\x056\x05\x10\a\x056\x05\x10\x05\xb6\x01\x05V\x150\x15\x96\x01\x15\x90\x01\x056\x20\x05\x80\x01\x056%6\x15\x00\x056\x05\x80\x01\x15\x96\x01\x05\x80\x01\x05\xa6\x01\x05\x80\x01\a\x15\xb6\x01\x05\xf0\x0c\x156\x05\x00\x156\x05\x20\a\xa6\x01\x05\x20\x05&\x05\x206\x05\x20\x056\x05\x10\x05\xb6\x02\x050\x05\a\xa6\x01\x05\x80\x01\x15f\x15\xf0\x00\x056%6\x05\x10\x056\x05\x20\x150\x15\x86\x01\x15\x00\a%\a\x20\x05\x96\x01\x05\x20%0\x15\xc6\x01\x05\xf0\x0c\x156\x05\a\x05F\x05\x00\x15F%F\x05\x10\x056\x206\x05\x20\x056\x05\x10\x05\xb6\x02\x050\x05F%F\x05\xf0\x00\x15f\x05\x80\x01\x05\xa6\x01\x05\x00\a\x056\x05\x00\x15\x16\x15\x10\x15\x86\x01\x05\x10\x15\x16\x05\x20\x05\x86\x01\x15\x00\a\x05\x16\a\x05\x20\x1565F\x05\x80\r\x056%6\x05\x10\x156E6\x05\x10\x056\x05\x1060\x056\x05\x10\x05F%V\x15F\x20\x056e&\x05\xf0\x00\a\x05f\x05\x80\x01\x05\x96\x01\x05\x20\x0565&\x05@%F\x05\x10\x056\x05@\x15F\x05\a\x00\x056\x05\x20\a6U6\x05\x80\r\x156\x056\x15\x10\x05F5\a\x05&\x05\x10\x056\x05\x10\x056\x20\x056\x050&\x15\x10\x056\x05\x10\x056\x05\x10\x05\xd6\x01\x05\x80\x01\x95\x01\xf0\x00\x05\xf6\x005\x10\x056%6\x05P\x05F\x05\a\x10\x056\x05P\x056\x05\x20\x056\x05\x10\x056e6\x05\x90\r\x056\x056\x15\x10\x1565\a\x05&\x05\x10\x056\x05\x10\x056\x05\x10\x056\x05\x206\x15\x10\x056\x05\x10\x056\x05\x10\x05\xd6\x01\x05\x80\x01\x05f\x15\xf0\x00\x05V%\a\x05\x20\x0565&\x05@\x05V\x05\x20\x05&\x05P\x05F\x05\x20\x15&\x05\x10\x056e6\x05\x90\r\x056\x056\x05\x20\x156U&\x05\x00\x156\x05\x10\x056\x05\x10\x056\x05\x206\x05\a\x10\x056\x05\x206\x05\x10\x05\xd6\x01\x05\x80\x01\x05f\x15\xf0\x00\x056\x15\xf0\x00\x056\x05\x105P\x056\x15@5@\x156\x05@5\x20\x056e6\x05\x90\r\a\x05f\x050\x156\x15\a\x156\x05\x00\a\x056\x05\x10\x05656\x05\x10\x056\x05\x20\x05&\x050\x05&\x05\x10\x056\xa5\x01\x80\x01\x05f\x15\xf0\x00\x056\x05\x80\x01\x05F0\a`\x056\x15\xd0\x01\x05F\x05\xb0\x01\x05FU6\x05\xa0\r\x05f\x050\x15F%F\x05\x10\x056\x05\x10\x05F\x15F\x05\x10\x056\x05\x20\x05&\x050\x05&\x05\x10\x056e\x06\x15\a\x80\x01\x85\x01\x80\x01\x056\x05\x80\x01\x05F\xa0\x01\x056U\x90\x01\x056U\x90\x01V5F\x05\xa0\r\x05f\x05@\x05V\x05V\x05\x10\x056\x05\x10\x05\xa6\x01\x15\x10\x056\x05\x20\x0560\x05&\x15\x00\x056U\x16\x15\xb0\x01\x15\xd0\x01\x056\x05\x80\x01\x05F\x05\x90\x01\x056U\x90\x01\x056e\x80\x01\x05V%F\x05\xa0\r\x05f\x05P\x05\xa6\x01\x15\x10\x056\x05\x20\x05\x96\x01\x05\x20\x056\x05\x20\x0560\x05&\x15\x00\a\x05\xc6\x01\x05\xa0\x03\x056\x05\x80\x01\x05F\x05\xf0\x00\a\x05\x96\x01\x05\x90\x01\x05\x96\x01\x05\x80\x01\x15\xc6\x01\x05\xa0\r\x15F\x05\a@\a\x15\x96\x01\x05\x20\x056\x05\x20\x15\xf6\x00\x15\x20\x056\x05\x20\x056\x05\x10\a\x05&\x15\x20\x05\x96\x01\x15\xb0\x03\x056\x05\x80\x01\x05F\x05\xf0\x00\x15\x96\x01\x05\x80\x01\x05\xa6\x01\x05\x80\x01\a\x15\xb6\x01\x05\xb0\r\x156\x05\x80\x01\x15F%0\x05&\x150%6%0\x15&\x05\x20\x15\x06\x00\a0\x05&\x150\x15f\x05\xd0\x03\x056\x05\x90\x01\a6\x05\xf0\x00\x05\xa6\x01\x15\xf0\x00\x05\xa6\x01\x05\xb0\x01%&\x156\x05\xb0\re\x90\x01\xf5\x00@EP\xf5\x00PE050E@%\a6\x15\xe0\x03E\x90\x01E\x80\x01\xc5\x01\x80\x01\xc5\x01\xc0\x01\xb5\x01\xe0\r\x05\x90\x02\a\x80\x01\a\xf0\x02\x05\xe0\x01\x05\a\x80\x01\a\x005\xf0\a\x05`\a\xc0\x01\x17\x20\x05\x00\a\xc0Y"
)

Niveau mémoire heap à l'exécution, nous avions donc
$mathjax$40+16×(8+40+3×(8+28))+33+9197×1×1$mathjax$
soit 11,766 Ko ; en théorie ça passait chez tout-le-monde.

En pratique toutefois, rien que pour les données du bytes cette écriture utilisait 32995 caractères, nécessitant donc au moins 32,995 Ko en mémoire de stockage.

Rappelons ici aussi les pires modèles sur ce critère :
  • NumWorks avec seulement 32,766 Ko d'espace de stockage pour les scripts Python
  • éditions Python des TI-83 Premium CE et TI-84 Plus CE qui certes offrent un espace de stockage de 3 Mo, mais limitent la taille maximale de chaque script Python à seulement 64 Ko

Sur les TI-83 Premium CE et TI-84 Plus CE ce n'était pas bien grave, car il te suffisait d'utiliser à la place le format de fichier externe propriétaire IM8C.8xv.

Par contre ici pour le coup, bien que parfaitement exécutable en théorie, il t'était impossible de faire rentrer le script affichant l'image sur la NumWorks. :mj:

Pas question de remettre en cause radicalement cette façon d'écrire, mais on peut mieux faire. Plusieurs améliorations ont été développées dans le cadre du formidable concours de dessin de Noël 2021 par Casio, avec une période de participation accessoirement prolongée jusqu'au 31 janvier 2022.

Ces améliorations viennent d'être mises en place et nous allons te les présenter.

Concernant les échappements courts sur 2 caractères pour coder un octet non affichable sous forme de caractère, img2calc en gérait jusqu'à présent 5 :
  • \a (7)
  • \b (8)
  • \t (9)
  • \n (10)
  • \r (13)

2 nouveaux échappements courts sont maintenant gérés :
  • \v (11)
  • \f (12)

Pour les autres octets correspondant à des caractères non affichables, était donc jusqu'à présent utilisé un échappement hexadécimal sur obligatoirement 4 caractères.

Et bien à la place on peut utiliser un échappement octal, qui a l'avantage d'accepter un nombre variable de chiffres, de 1 à 3. Par exemple :
  • au lieu de \x00, l'octet de valeur 0 peut être écrit \0
  • au lieu de \x07, l'octet de valeur 7 peut être écrit \7
  • au lieu de \x08, l'octet de valeur 8 peut être écrit \10
  • au lieu de \x1F, l'octet de valeur 31 peut être écrit \37
On gagne ainsi 2 caractères dans l'écriture des octets inférieurs à 7, et 1 caractère dans celle des autres octets jusqu'à 31.

La seule contrainte pour les échappements octaux courts avec seulement 1 ou 2 chiffres, est que l'octet suivant si correspondant à un caractère affichable, ne doit pas être un chiffre de 0 à 7.

Reprenons notre icône. Comparons avec ce que donne maintenant img2calc :
Code: Select all
palette = (
(255,255,255),(55,109,157),(255,203,64),
)

image = (
#b"\x10\x11\x20\x01\x00\x11\x1c\x19(\r\x10%\x0c)\x00\x06\x00%\x04\n\r\x18\x0e\t\x04&\x00\x05\x00*\x0c&\x10\x0e(\x1a\x1c\x12\x00\x02\x20\x12\x10"
b"\20\21 \1\0\21\34\31(\r\20%\f)\0\6\0%\4\n\r\30\16\t\4&\0\5\0*\f&\20\16(\32\34\22\0\2 \22\20"
)

L'écriture des données du bytes subit une réduction remarquable, n'utilisant plus 140 caractères mais seulement 91. :D

Une formidable réduction en conséquence de 35% de l'espace occupé en mémoire de stockage, il y a de l'espoir... ;)

Revenons donc à notre image plein écran.

Voici ce que sort le nouvel img2calc :

Code: Select all
palette = (
(215,187,149),(239,183,116),(198,122,27),(90,45,18),(190,143,18),(255,255,247),(0,0,2),(190,172,149),(231,187,99),(239,163,18),(149,105,45),(207,176,107),(73,0,0),(149,67,64),(182,114,116),(247,195,133),
)

image = (
b'\xb0\r\21"\1\xb0&\xe3\1\xf0\0\21\xa0$\1C\x021\2\xf3\0\1\20\x93\1\1\x80#\1c\xc1\x013\1\23\x91\1\2#\21\x80"\1\xf3\0\2Q\2\xf1\0S\xb1\1\x023\1\xb0!\xf3\0\22\xa1\2\2#\x91\2\x83\1\1\xf0\37\1S\x91\3\x131\2a\22\x91\1c\1\xa0\37S\2\xf1\0\2\xa1\1\2\xf1\0\3a\2\x91\2\xf3\0\xf0\36S\x91\1\2\xa1\1\2\xf1\0\3a\2\xb1\2c\1\xb0\36S\x91\2\2\x81\1B\3\2\x91\2\2\xd1\1\2#\1\xe0\35\x013\xc1\2\2\xf1\0R\3\xa2\2\x81\x023\2\1\xa0\35#\2A\2\xf1\0\2!\2\x81\1\x92\1\23\xe2\2a\2Q\x023\x80\35#\2Q\2\xf1\0\2\xa1\1\xb2\1\23\x82\2\xf3\0\xd1\x013\xb0\34\1\0\1#\xf1\2\x82\2\23\x82\3\23\2A\2a3\x90\x1c3\xc1\2\xd2\2#\x92\3\23\2\xc1\1#\xe0\33\1#\xa1\2\xf2\1\xc3\2\2\4\xa2\2\3\x121\2\xf1\0\23\1\xc0\4\25\xb0\26\1#\2\x81\2\xe2\1\x93\2\22S\22\4\x82\2\23\2!\2\x81\1\23\1\xf0\1\xf5\0\x005`%\xc0\x015\x80\24#!\2A\2\x81\1\x92\1S\2\4\2\xf4\0Cd\2\xc3\1\xe2\1\xa1\1\2\23\xe0\1\5V%\26\5\a@\5&\5\xb0\1\5\26\5\xe0\23\1\23\2\x81\2\x82\1C\2\x84\2#\xa4\2\x023\xc2\x011\22Q#\1\xb0\1\5f\25\26%0\5&\5 \a5\0\a\20\5\26\25\a\5\0\x050\a\0\a\xf0\0%P%P%\a\xd0\2\5\0\5\0\5\x80\v#\xf1\1\x82\1C\2\xb4\2\23\xe4\x023\xd2\1\xa1\1#\xa0\1%\26E&5\x105 \x156E\26%\6\0\25\0E\a\25 \25&\25\20%\26%\a\25&\25`\5\xa0\1\25\26\25\6\25\xd0\n#\xf1\1\2\3RC\xe4\2\23\xe4\2\x123\xb2\1\xb1\1\23\2\x90\1%\26EV\a\5\0\25\6\25\20\5V5\26\x156\25\26\5&\25\0\a\25F\5\20\x156\25\a\5F\25@UP\25f\5\xb0\n\1#\xe1\1\2\3R3\x94\3\23\xa4\3\2#\xb2\1\xb1\1\23\1\x90\1\5\26\25\20\5f%&%\xf6\0\5\a\5\26\x056%\xf6\0%f%V%V\5@F\5P\5\xf6\0\5\a\x80\n\1#Q\2\xf1\0\23R#\xf4\2H\23H\xf4\2\2\23\xc2\1\1\2\x91\1\23\x80\1\5\26\25\20\5&\25\26%&\x156%\a\25\a\5V5&\25&\25&%\26%&5\a\5&%\a@\x056\5@\5&5\26\5\xf0\t\1#\2\xc1\1\2\23B3\xd4\2\x88\1\23h\t\b\xd4\2#\xb2\1\xb1\1\23\1`\5\26\25\20\5&\25&\25&\25&%\27\5\a\x156U\26%&\25\x86\1\5\a\x0565\a&\25P\x056\a@\5&\25\a\5\26\5\xd0\t\1C\xc1\1\2\3RC\xa4\2\t\xa8\1\23\x98\1\xc4\2\2#\xb2\1\xb1\1\23`\5\26\25\20\5\26%&\25&\25&\25\a\25\a%F\5\a%\26%&\25\x86\1\5\a\25&\25\a%&\a\x050\5FP\5&\5\a\25\26\5\xb0\t\x013\xd1\1\2\3b3\xf4\1\x98\19(\238I\x88\1\xf4\x013\x92\1a\22\21\2\23P\5&\5\20\5\26%&\25&\x156%\x065\26\5&\5\a\25\26%&\25\26\xc5\1&E&\x050\5\a6\x150\5&5\26\5\x90\t\2#\xe1\1\x82\x013\xd4\1\t\xb8\1i\30\3(Y\xf8\1\xa4\1\2\23\xa2\1\x91\1#@\5&\5\20\5\26%&\25&%\xf6\0%\26\25&\5\a\5\26%&\25&%\26%&\5\26%\26\5&\5`5@\5\x86\1\5\xf0\b\1#\xf1\1\3b3\xb4\1\31\xe8\1i\30\23\bi\xb8\2\x84\1\2\23\x82\1\21\2\xf1\0\23@\5&\5\20\5\26%&\25&\5\0\25V\25\a\5&\25&\25\26%&5F\25\0\x156\25\0\5F\25\x80\2\25f\5\xf0\b\23\x81\2\x82\1#\xb4\1\t\x88\2i\30\23\30Y\x98\1\t\x98\1\x84\1\2\23\x82\1\x91\1\23@\5&\5\20\5\26%&\25&\5\20\x156%\0\5&%\26\25\26\5\0\5&5F\5 \x056\25\0%\26\25\x90\2%&\5\26\5\xd0\b\1\23\x81\1\22A\x92\1\23\xb4\1\xc8\2Y\30\23\30Y8:\xe8\1\x84\1\2\3\xf2\0\3\2\xf1\0S\0\a% 5\27%\x005@E 5\0\a\25 \25 %0E@5@5\xc0\2\xf5\0\xd0\b\23\xc1\1\2\21\x82\1\23\xa4\1\31\xf8\2\tH\23\30Y\b\x8b\1\xe8\1\xf4\0\2\23\xf2\0\3Q\2\xf3\0\x80\26\23\2\xd1\1\xf2\0#\xa4\1\b\t\x98\2\32\33\32\xf8\0\23\xf8\0\n\xfb\0\n\xa8\2\t4\2\23\xf2\0\3\2!\2\23A#\xf0\25\23\xe1\1\xf2\0#\x84\1\31\xb8\2\32;\nh\23\xf8\0\n\xfb\0\n\xf8\0)\xf8\0\31D\23\xf2\0\3\2\21#Q\23\1\xd0\25\23a\2a\xf2\0#\xf4\0\x98\1)\xa8\1\23K\nX\23h\nk#Xi\x98\1\t$\2\23bC\xf1\0\23\xd0\25\23\xc1\1\xf2\0#d\xa8\1I\xa8\1\n\23KX\23X\nk#\nX\xf9\0\x98\1\t\24\22\23b\23\2\x91\1\23\1\x90\25\21\23\xb1\1\x82\1\23d\t\xf8\0\x89\18\32\3J[\nH\23X\nk\23\nX\x99\1\xa8\x014\23R\23\x81\1\2\1#\x80\25\x023\xa1\1\x82\1\23d\x88\1\x99\18\n\xcb\1\nH\23X\xfb\0\23\vX\x99\1\xb8\1$\2\x0323\2a\22\21\23\xe0\24\1\23\2\1#\2Q\2\3\xf2\0\23d\x88\1\xb9\18\n\xcb\1\nH\23H\n+\23\n+\n\vX\xa9\1\xb8\1\t\24\2S\22\23\x91\1\2\23\xc0\24#1#\x021\23b#d\x98\1\xb9\18\n\xcb\1\nH\23H\n+#;\nX\xb9\1X)(\t\24S"\3\2\xa1\1\3\1\xa0\24#Q\2#\21\3\xf2\0\3\xf4\0(9H\xb9\18\n\v:#K\30\t(\3h\n\v#\v\n;\nX\xa9\1HI(\x143R\3\xa1\1\2\3\xa0\24#a\2\23\22\3b\23d(\xf9\0\30\xb9\18Z\v\23;\n\30\t(\3h\32\23\n\v\n;\nh\x89\1HY(\t\x043\xf2\0\xa1\1\3\1\x80\24\23\2\x81\1\2#b\23d8i8Y\xe8\1\v\23;\nH\23(\24(\32\v\30\32;\nX\x89\18\xf9\0(Sb\1\2\x81\1\2\23\xf0\23\23A\2\1\2!\2#2\23TX\xf9\0H\t\xa8\2\n\f+\32\vH\3\48\31\xf8\0\n\33*\x98\1)Xi83\4#bA\x021\2\23\xd0\23\1\3\2a\2!\3\2#\22\23TX\x89\1\x88\3\v\3\33\32h\3\xe8\1\32\33\xc8\2i(\23D\2\23R\xb1\1\3\2\xc0\23\23\xb1\1\3\22CTh\x89\1hl\xb8\1:8\t(\f\xe8\1\v\xc8\2\31\bY(#T\23b\xa1\1\23\xb0\23#\xa1\1\x0323Dh\x89\1X\34=<\xe8\2\23\\\xa8\2\t\xf8\09()(\238D#B\xb1\1\23\xa0\23\x131\2Q\2\x03234h\x99\18\34\r\16m,\xa8\2,\r\fM\34H\31\x98\1\4\x88\1\4\31\xf8\0\23h$\2\23R\xf1\0\2!\23\x80\23\2\23\x81\1\2\23BC\24\th\x89\18\f\xbd\1,h9HL\16\f]\34(Ih\31\x88\1)h\23\x88\1$#2\3\2\1\2\x81\1\2\3\1\xf0\22#\x81\1\2\3Rc\b\tX\x89\18\f\xbd\1,XIHL\16\f\r\16=\3489\xf8\0\t\xa8\1\th\38\tX$\23B\3\xb1\1\23\xf0\22\3\2\x91\1b\3D#h\x89\1(\f\35\16=\36]\348Y8,\r\f\3\16\f\r.-\34\x88\4\23H9(4\23\x042\3\xb1\1\3\xe0\22\23A\2AR\23T#X\xf9\08\f\r>\x9d\1\34\30\t\bY8\34\35\f\3\r\f\r\36M\f\x98\1I89H\t(\238\xf9\0\30$\2\3R\3A\x121\23\xd0\22\3\2\x91\1R\x134H\23X)h\34\r>M.-\f8Y8\34\35\f\3\34\xfd\0\34\x88\1I8Ih\238\x89\1\x184\23R\1\2\x81\1\2\3\xc0\22\2\3\xa1\1B\x134\30\t(#\xe8\1\34\r>=>-\34(Y(,\35<=\16-\34\x88\1I(YX\23H\xf9\0(D\23R\x81\1\2\1\3\1\xa0\22\2\23\x91\1B\23$\t\xf8\0#\xd8\1\f=\16MN\35\34(Y(,\36,=\36-\34h\t\309\30i8#X\xf9\0(\t4\23b\x91\1\23\1\x90\22#\x81\1B#$(\31\30\t\30#\xf8\0\318\x9d\1>-\34(9H,\36\f\3\f\r\36\r\36-\34X\31(\31(i(\238\31\30\xf9\084#b1\x021#\x80\22\2\23\21\x121\2\x012#$\30IH#X9(\f]\36-\16M\f(\t8\t(,\35,.],\b\t()hY(\23\xc8\1)X4\2\3b1\2A\23\x80\22#\x91\1"#\2\24(IX#HI\30\fM.\x8d\1\f\xc8\1\34\35,\x8d\1,H9\xd8\1\23\xb8\1\f\x98\1\t4\23b\x81\1#\xf0\21\23\x91\x012#\248Y\30\t(\23HI\30\fM.=\16-\34\xc8\1\34\35,\x8d\1,H9H\th#\30\tXlh\tD\3b\x81\1#\xe0\21\23a\2!2\3\22\24\tH\31\x88\1\23898\fM\16M\16-\f\xd8\1\34\35,\35\36=,\xb8\19h\3\xf8\0,]\348\t\30D\23R\x91\1\23\xe0\21\23\x91\x012\23\2\24\t\x98\2#8\318\f\xfd\0\36M\f8)h,\r\f\3\f\r>-,(\t(\x99\1\30\t\b\4\3h\34\xad\1\fhD\23R\x91\1\23\xc0\21\1\3\xa1\x012\3\22\24hL\xf8\0#\x88\1\4\34-\36\r\36=\f(Yh\\\r>\35<X\xa9\1\30\t\23\xf8\0\f]\36M\34X4#B1\2A\2\3\1\xb0\21\23\xa1\1"\23\2\24\tH\x8c\1\3X#\x88\1\34-\36\r\36-\f8Yh\\\r>\35<X\xa9\1\b\t\4\23h\34]\36M\34X\t4\23B\xa1\1\23\1\x90\21#\x91\x012\23\2\24H,M<\b\318\23\x88\1\34\x8d\1\fH\xf9\0XL]<X\xb9\1\30\3()\30\34\35\36\35.]\f\xf8\x004\23B\x91\1\2\23\xd0\4\25\x90\f\23\2\21\2!\2\x112\23\2$8\34\xfd\0,\x88\1\23\x88\1\fM\34h\x89\1h\23\f=Lh\xa9\1\30\23\309\30\34\35.M\36-\34\xf8\0$\23R\x91\1#0\xf5\0\xa0\2U\26\5\x80\f\23\x91\x012\23$\t\30,=\36M\34(\tH\23\xa8\1\34\x98\1\x89\1h\23\x8c\1\xf8\09\4I\b\2389\30\34\35.M\36=\f\xf8\x004\23BA\2A\x130\5V\5\xa0\2\5&\25&\5\xf0\v\23\x91\x012\23\24\t(,=\36M\34()8\23\xd8\2\x89\1h\3\b\xfc\0(\tHI\b\4(\n\2389\b,\35.\xad\1\f\xf8\x004#2A\2Q\3\1 \5f\5@\5\0\a`5&\25&\5P%0%\xd0\2\27\5\xd0\6\23\2\x91\1"#\248\34M\36\r\36\35,()8#H\tX\t\x88\1ih\38\rX\31h\t\b\v\n\b\n\v\n\3HY,-\16\35.m\f\xf8\x004#2\xb1\1\23 \5&\5&\5\20\25\26\25\0U&\5&\xa5\1\0\5\26E\26\25\x80\2\x85\1\xa0\6\23a\2\x112\23$(,\xfd\0\36\35,h*\b\n\2389H98ih\3\b\t\x88\19X\n+\32\3h9\b,].\35\16=\f8\31(4#2\xa1\1\23\21\0\5&\25\x165f5\xf6\0\25&\25&\5\a\5&\25V\5@\5\x1650\5f\5\xa0\6\3\xa1\x012\3\2$(,\35\36\x8d\1\34h\n+\n\v#\3098Y89\x88\1\3\30\thIh\n\v\n\23\30#\v\30\31(,\x9d\1.-\f8)\30\t$#2\xb1\1\23\1\0\5f%\26%&\a\25&\x156\25&\25&%&\25&\5\6\25@\5F\x0505&\5\xa0\6\1\3\x91\1B\3\2$(,\35.-\16=\34h\n+\n\v\b#\30)8i8)\x88\1\3\x98\1Ih\v\32\3\v\b\n#\n\30\t8,\x8d\1>-\f89\b\t$\2\x132\xb1\1#\0\5V5\x165\26%&%&\25&\25&%&\25&%P\5F\x0505&\5\xa0\6\23!\2Q2\23$8,\35.\35.-\34h\32+\n\30#\b)8i\x98\1\318\3\x98\1I(\31\30\n\23\b\n\v#\v\n\xf8\0\34-.->-8Y\30$\2\x132\1\2\x81\1#\0\5V5\x165\26%\26\25\a\5&\25&%\26%\26\a\5\a\5&\25P\5F\5@\25&\25\xa0\6\3\2\x91\x012\3\2$8\4\34]N\35\34h\n;\n8\23hI\xa8\1)8\3\xa8\1)X\4\n\23\33\bK\n()\30\34=\16=>\35\f8Y\x184\x132\xb1\1\23\0\5V5\26\25\a\5\26%\x165&\25&%\26%\26\5\a5&\5@\5F\5@\25\26\25\xb0\6\3\xa1\x012\3\2$\30\t\b\4,MN\35\fh\n;\32H\23\4X9\xa8\1)8\3\30\t\xf8\1\32\3\n\b\nk\n()\30,\x8d\1\16\35\16\348Y($\2\23"\xb1\1#\5&\5&%&\25&%&\x156\25&%&\5&%\26\25\26\5@UP\5&5\x80\6\1\3\xa1\x012\x034H,M>-\f\30\t(\nK\n\vX\23h\31X\318)8\3\xa8\2\n\3\n\b\v\3k\n()(\34\xbd\1\34Hi\x184#\22\x81\1\2\21#\5&\5&%\xf6\0%\x86\1\25&%V\a\5\a\5\26\5&\5PEP\5V\5\x80\6\23a\2!"\23$\t\30\31\30,]\16-\34\30\t\b\32[\n\xf8\0\23\xd8\1)()8\389\xa8\1\3\n\b\v\30\n[\n\30)H\34-.M\fXi\x184#"!\22Q#\5&\25&%f\27\25\xf6\0\25&\5\0\25F\5\20\5V\5\xf0\1\5f\5\xf0\5\1\23a\2\21\2\3\22\23$\t\30\31(<],H\32;\32X\t(\23\x98\3\3(iX\4\23\n\b\n\23k\n\xb8\1,\r.-\34hi(4#\22!\2a#\x85\1 \xf5\0 \xf5\0\0E E0e\xf0\1\x85\1\xf0\5\23\xa1\1"\23\2$\b\t\4)(,\rlh\n;\n\xc8\1\23X\31\xf8\1\3(\xf9\0H\23(\nk\32\xe8\1lX\t(i(4#"\x91\1\2\23\1\xf0\17\23\xa1\1"\x134Y8\x8c\1\xf8\0\32\v\32\v\xc8\1\23H)\x98\1*\30\23(\xf9\0H\23(\nk\328\t\b\t\x98\1\34X9(i(4\2\23"\x91\1\2#\xf0\17\23A\2A\3\22\x134\xb8\3\32\v(I\x88\1\3\x88\2\n\v\b\n\b\23(\xf9\0(#8\32;\328\xf9\0\xd8\1Y\30i(\t4\2\23\22\x91\1\2#\xf0\17\23\x91\1\2\3\22\23$(j\x88\3I8\318\23\xd8\1\n+\n\b\23(\xf9\0\30#h:\v(\xa9\1X\31XI(Y8D\23\22A\22!\2#\xe0\17\1\3\2\x91\1\2\3\2#\24\30\n\x8b\1\32\vhIX\t\30I(98\23X*\b\v\32;\n\b\23(i(\23\xd8\1\t\b\xb9\18\t\x88\19(IX4\23"1\x031\2#\xe0\17\1\3\2\x91\1\23\2#\24\30\n\xab\1\nhYH\t\30I(I(#H\n\v:K\n\b\23(Y(\23\x88\2\xb9\1\x98\1\338\tHIH4\2\3"1\x021\2#\xe0\17\23!\2a\23\2\23$\b\n\xdb\1\n(\xf9\0\xf8\0I\30YH\23(\xab\1\n\30\23(I(\23XIX\xc9\1X\v\32;*\x98\19(4\3"1\x021\2#\xe0\17\3\2\xa1\1\3\22\23$\n+\3\n\xab\1\n\30\xf9\0\xe8\1YX\23(\n\xfb\0\n\v\30\23\x98\1\238\x89\1H\xc9\1X\x9b\1\n\xf8\0Y\x184\23\x121\x021\2#\xe0\17\3\22\x91\1\3\22\3\2\24\b\n\33#;\n[\n\30\xf9\0\xe8\1Ih#\30*+*(\4\23\x88\1#8\x89\1X\xa9\1(\t\30\n\xab\1\nhY($\23\x121\x021\22\23\0\a\xc0\17\3\22\x91\1\3\22\3\2\24\b\n\v\23\32;\3\nK\n\30\xf9\0H)h9(\318#\30\32\33*H\23(\4\t(#\30\xb9\1X\x99\1h\xbb\1\nhY(\t\24#\22!\x031\22\23\0\a\xb0\17\23\22\x91\1\3\22\3\2\24\30\32\v\n;3\n\33\32\30\xf9\089\xf8\0)(9(\238\v\x88\1\23(\31\30#X\xf9\0h\x89\1h\nk3\32hY(\t\24\2\23\22!\22!\22\23\0\a\xb0\17\23\22a\2\21\3\2\23$8\nK\n3\v\32\xe8\1)\xd8\1I8\23\xf8\0)\30\23(\t\30\4\23(\t(9\xa8\3\n;\n+\n\23\nhiH\24\23"a\22\23\1\0\a\xa0\17\23\2\x91\1\2\3\2\23\24\t8\n;\32\b:\vX\xfc\0\xf8\0\t\xa8\19X\23\b\t(9\30\23H\2389H\xfc\0\xb8\1)8\n\33\n\3;\n\xa8\1YH\24\23\22A\2\21\22\23\1\0\a\xa0\17\23\2\x91\1\2\3\2\23\24HK\32\x98\1\xac\1h\31\xa8\1\31h#89\30\23H\2389(\xac\1\xa8\19(\n\33\23;\n\xa8\1YH\24\23\x121\2\3\1"\23\1\0\a\xa0\17\3"\1\22Q\2\3\2\23\248\nK\n\x98\1\34\r\f\x8d\1\34X\4\xc8\2\23(9\30\23(\23X9\b<M\\H\4\30Y\30\n\v\23\32;\nH)\30iH\4\23\x121\2\3\21\22#\0\a\xa0\17\3"\x81\1"\23\248*+\nX\4\b\34m\36]\f8\t\30I8)\x88\1#8\t\30\23\30#\x98\1\34\xad\1<Xi(\n\3\n\b\n;\n\v8I898\4\23"\21\22\3\21\22#\0\a\x90\17\1\3"\x81\1"\3\2\24X\v*\xf8\0\34=\16\35.]\16\fh9(Y\x88\1\23X\23\b#\3098\f=\36\x8d\1,\30\t(I\x88\1\n;\n(IHI(\4\2\23\22!\2\3\21"\23\0\27\x80\17\1\3"\xf1\0"\23\2\24\xf8\0\32\xf8\0\34=\16\35.\xfd\0\fX9\30i8\t\b\t(\23HC(I\30,\35.\x9d\1\34h)\x98\1\n;\n(I8Y(\4\2\23\22!\2\3\21"\23\0\27\x80\17\1\3"\1\2\xf1\0\2\23\24\x98\2\34\35\16\35\16-\16=\36-\348I\30iH\tH\23(C(Y\30,\35.-.=,\xa8\198\32\33\32\xb8\1Y(\t\4\23\x121\3\21"\23\0\27\x90\17\3"\1\2\xf1\0#\24\x98\2\f-\16\xfd\1\34H)8\xf9\0\3098\23\x1838I\30,-\36M\36=<\x98\198*\v\xd8\1Y(\t\4\2\3\22\1\2\21\3\x012\3\1\0\27\xf0\2S\xb0\v\23\22\x91\1#\24\x98\2\f\xbd\1\fm\34X\tHY\xc8\1\23\b#8Y\30\34-\16\xad\1\36\r,\xa8\1)H\4(\t\xc8\1I(\t\4\2\3\x121\22\1"\x037\xd0\2\x023\37#\x90\v\23\22\21\2#!3\24\x98\2\34\r\xbc\2\xb8\19\xf8\1CHI\b\34-.\x9d\1\36\r,\xc8\1\t\x88\1\t\xd8\1)8\t\4\2\3"1\2\1\22\x137\xd0\2\23\37\3?\23\x80\v\23\22\xc3\1\2\x93\5\xf4\0\x184\x98\1\31\b\t\24\30C\xa8\1\34-\xac\2\x93\2\xa8\3\x043\2A\3\1\2\23G\xc0\2\2\3?\3?\23\x80\v\xf3\0!\xf3\2\f3L\xc3\6\x88\1L\xa3\1@W\0\x97\1 \xb3\4"3\x017\xc0\2\2\23\17\3/\3?\23\xf0\n\1#\2a\2S\xf8\3\23\34\23\xf8\0\xe3\3\20\xc3\1\0\a0\xe7\5\0\' \x1707\21C\1g\x80\2\22\23\2\23_\3?\23\xe0\n3\x81\x013\24\x88\2\3\xdc\2\xd8\1\xa3\1H#\b#\xa0\1\xf7\t\0g\x90\1\22\xc3\1\xbf\1\3\2\xc0\n\1\23\22\x81\1\2\23\2\24X)\xf8\0\34\xed\1.\r,\xb8\3\23(\23\b\23\x97\f@\22\23\22\xa8\1\2\23\xff\0\3/\23\xb0\n\23\22\xa1\1\23\2\24\30\t\bYh,\16=\36-\16-.\35\f\x98\2\t\x88\1\238\23\30\23\0\xe7\v \2\23\22\x88\2\23\xaf\1\23\2\xa0\n\23\x121\2Q\2\3\2\24\30\x89\1h\34=>\r.\35.,\xf8\0\n\33\n\v8)X#H\238\23\xb7\v\20\2\3\2H:\vHI(\23\xaf\1\23\xa0\n\23\x121\2a\3\2\24\30\x89\1h\34=>\35\16-\36\r,h\n;\n89\b\t(\23X\23H\23\0\x97\v\2\23\2HK\n\v8Y\30\23\xbf\1\3\2\x90\n\3"\xf1\0\2!\23\24\xa9\1h<\16\r>\x8d\1\34\nX\nK\n8Y\30\3\xf8\0\23X\23\0\xd7\n\2\3\f\xf8\0\2\3[\32\30i\30\23\xaf\1\23\x90\n\3"\xb1\1\23\24\xe9\18<-\16=\36=\f\xf8\0k\n(I\30\3(9\30\238\t(\23 \27 \'\xb0\b\1\20#\2\x98\1\v\n\3k\n\b\xf9\0\30\23?\3_\23\x80\n\3"\xb1\1\2\3\24\b\x89\1\b9HL]\16-\34\x88\1k\n()\30\238I\b\238\31(\23\xc0\t\2\23\2\xb8\1\32\xbb\1\bi(\3\xbf\1\23\xf0\t\3"\xb1\1\2\3\24\30Y(\31\4X\nL\xfd\0\34\x88\1\xfb\0\n(\t(\4\23(Y\b\238\318\23\x90\t\2\3\f\2\xd8\1\nK\n\3;\b\n\30Y(\23\xaf\1\23\2\xe0\t\x032\xb1\1\3\2\24\b9H\t\4\t\30\v8\v\3\xac\1\xb8\1k\n\30\t(\23XI\b\23(I(\23\xe0\b\238\31\4\t\xa8\1\n;\n\23;\n\30Y8\23\xaf\1\23\xe0\t\x132\xa1\1\23\24\xc8\1\32\33\32H\nL\xe8\1\n[\n8#\xf8\09\b\23\b\xf9\0(\23\xa0\b\2,\3(\31\4\31\30)hZ\23+\n(9X\23\xaf\1\23\xd0\t\1\3"!\2\xf1\0\23\248\31h\23;\n\v\xf8\2\32;\3\v(#H\t(9\b\23\b\x99\1(\3\xf0\a\aL\r\xf8\0ih\4\30\32\3\33\n8\t\x98\1\23\xaf\1\3\2\xd0\t\x032\xa1\1#\48)X\23K\n\x88\1\t\b\t\xb8\1\32;\n\v(\23X\t(9\b\23\b\xa9\1\30\23\xd0\a\3\34\35,\xf8\0i\xa8\1J(\31\x98\1\2\3\xaf\1\23\xd0\t\23"Q\x121\23\4\xc8\1\3\f[\nhI\xb8\1\32\33\32\30\23\xb8\19\b\23\b\xa9\18\3\xa0\a\3\f\r\36\35,\30\tHi\xb8\1\v\n\v8\31\xa8\1\23O\3O\23\xc0\t#"\xa1\1\23\4\xc8\1\n\3[\32XY\b\t\b\4\xf8\0:\30\238lH\t\b\23\b\xb9\18\3\xe0\6\2\3\34M,\4\b\31HY\xf8\0I(\t\b\31\4\31\xa8\1\23\xaf\1\23\xc0\t\23"\xa1\1#\4\xa8\1\v\n\xfb\0\nHi(I\x88\1\38,-L(\t\b#\b\xa9\1H\3\xd0\6\3\f\r\16\r.\r,\4\b\t\xf8\0\31X\x99\1\30\31\b)h\t8#\xaf\1\3\2\xb0\t\x132\x91\1\2\23\4\x98\1\v\n\xab\18Y(Y\xf8\0\23(,M<(\t\b#\b\xa9\1H\23\xc0\6\f\r\36\r.\r,\4\xa8\1\tX\x89\1H9h)\30\2\23O\3O\23\2\xa0\t\23B\x91\1\2\3\48\t(\32\xbb\1\nHI(iH#(\3\f\x9d\1\34\b\31\b\238\x89\1h\3\xa0\6\34\36\r.\r,\4\x98\2\x99\1\xe8\1I\30\2\3\xbf\1\23\xb0\t\2\3"1\2a\23()\b\3k\n\3K\nX)(\xf9\08#8\34\35\16=\16\35\34\30\t\b\23XY\x88\1\3\xf0\5\2\34\r\16-\\\4\xa8\2\xf9\0\xd8\1i(\23\xbf\1\23\xb0\t\x032\xf1\0\2\21\23\4\30)\b\n[\32\23;\n\xb8\1\xf9\0(\23X\f\35.-\16-\34\b\t\b\23\x88\1\t\xb8\1\23\xc0\5\2\3\xac\1\24\31\xf8\0*\xf8\0)\30\t\xe8\1\xf9\0\30\2\3\xbf\1\23\2\xa0\t\23"\xf1\0\2\21\2\23\30)\b\nK*\23;\n\xb8\1\xf9\0\30#H\34\35.m\34\r\t\b\23\xd8\2\23\xc0\5\3\2\xac\1\4\b\t(\4H\n\b\32\xf8\0\t\xf8\0\4\x98\1\xf9\0(\3\xcf\1\3\2\xa0\t\x132\xa1\1\23(\31\30\n+\32\b\n\23+\n\309hi\30\23h\34\35.-\16-,\30\238\tH\v\32+\32X\3\xa0\5\3\28,H\t(\n\33\3\n\30\n[\32\x98\1\xec\1\x98\1\2\3\xcf\1\3\20\x025\xb0\b\1\x032\xa1\1#\30\t(\32\v\n(\v\23\33\328\4\thI\30#\xf8\0\34m.\35,\30\23()8\n\xfb\0\328\3\x80\5\22\30\th\tH\n+#\xfb\0\n\x88\1\f-.=>\35,8\31\30\23\xbf\1\23\25F\5\xa0\b\23"1\22Q\23\b\tH\32H\32\v\32\v\xa8\2\23\x98\1\34M\36\r\16-,\30\23\309(\n\xab\1\n8\23\xd0\4\2\3\30\4\xd8\1K#[\n\x88\1\fM\36=>-\16\r\34X\2\3\xcf\1\3\25V\xa0\b\x1321\2Q\23\b\tH\32X*\vh\4\xa8\1#\x98\1\34M\36M,\30\23()(\n\xab\1\32(\23\xd0\4\23\xf8\1[#K\32\v\xf8\0\f\r\16\x8d\1>]\34X\23\xbf\1\3\2\x156\5\xa0\b#2\x91\1#\xa8\1\31\x98\1\x9c\1\3\30#H\318\34\xbd\1,\30\238\t8\n3\xfb\0\328\3\xc0\4\3XIX\x8b\2h,\35\36\xdd\1\16-\fX\3_\3_\3\2\25\26\25\xb0\b\x132\xa1\1\23\xb8\198,\x8d\1<\3HI8\34\xad\1,\30\23H\t8\32#\xfb\0\nH\3\xb0\4\3(\xf9\0h\xbb\x013\n\30\t(<].\x8d\1\16-\fH\23\xbf\1\23\25\26\5\xc0\b\x132\xb1\1\23\xa8\19(\34\35\16m\34\b\23Hi(\34\r\16\35.=\34(\23\xb8\1\v\n\x8b\1\nX\23\x90\4\2\30\x89\18\31\b\n\xab\1#\v\n\30\t8L=.=.M,8\2\3_\3O\23\2\5\26\5\xc0\1\a\0\a\xc0\6#"\xb1\1\23\xa8\19(\34\x9d\1\f\b#H\xf9\0\30\34=.-,(\23\xf8\0\t8\n+\23;\nX\23\x80\4\22\30\x89\18\31\b\4\n\xdb\1\n\b)(\xfc\0\xfd\0.M,H\3_\3O\23\2\5\26\5\xf0\0\a\xf5\0\xc0\6\x132!\2!\2!\2\23(9(9\30\34=.\35\34\b#\b\f8\xf9\0\30<\35.-\348\23h\31(\n;#\33\32\xf8\0\3\xf0\3\2\30\x99\1()\30*\xbb\1\n\b)8\4\xac\1\x8d\1<\4H\3\xbf\1#\5&\5`\5f\5\xc0\6\1\x032\xb1\1\23(9\xf8\0\34M.\r\f\30\34\30,(i8<M,H\23h\31(\n+\32#\32\x98\1\3\xe0\3\3\30\x89\1(I(\4\n\x8b\1\b\n(\tH\31\30\x9c\2\r\f\24H\23_3\17#\5&\5P\5\xf6\0\5\a\xc0\6\23"\xb1\1#\309\xf8\0\34]\36\f\b\3\34\b\3L\30iX\xfc\0(\t(\23\x98\1\v\n;\n\b\33\32\xa8\1\23\xd0\3\3\30\xf9\0\x98\1\33\b\v*;*\x98\1)($\xdc\1\24\b\t83\17\xa3\1\5&\x050\a\0\5\26%&\5\xd0\6\1\x032\xa1\1#()\30\tH\34m\f\3\b,\b\\\30ihL\x88\1\23\x98\1\32;\n\x88\1)H\23\xc0\3\3\30Y\x98\1\2cZ\4\xb8\1)\30$(\xac\1\4\30\t8\xf3\1\5&\5P\5\x165\26\5\xe0\6\x032\xa1\1#8I8,\r.\35\f\30\f\b\f\b\f-,\30i\xd8\1\tX\23\x98\1\n\v\n+\n\xf8\09X\3\xc0\3\3\309\x98\1\23\xf2\0\23\2\x98\1\2XIH4h\31H\4\xf3\1\5&\5@\5&5\26\5\xe0\6\1\3"1\2a#(Y(,\r.\r\f\30\f(\f=<\bY\xa8\1\t\x98\1\238\t\xf8\0*\x88\19h\3\xa0\3\22\30\31h\t(\3\xb2\1\238\2\x83\1\4\b9\bi\xa8\1\t8\4C\xf2\0#\5&\5@\5&5\26\5\xf0\6\x132\x91\1#8I(,\35\16\r\f\b\3\34\b\34\r\16-<\30Ih\t\30\318I\b\23\30YX\v\n\30)89(\t8\3\x90\3\3\x88\1)\30\4\3\xc2\1\b\3(\2\3\x82\1\23\28\31\4\t\xb8\1\tX\4\2#\x92\1\23\5&\5P\5\xf6\0\5\xf0\6\x132\x91\1#8I(,=\f\b\34\b\34\35\36\35<()\xa8\1\tHI\b\23\30i\x88\1)8)8\31(\23\xf0\2\2\3\xb8\1\24\2\23\xb2\1\b\3\2\b\2\23\xa2\1\38\31\4\xd8\1\tH\4\2\23\xa2\1\23\5&\5P\5\xf6\0\5\xf0\6\1\x132A\22\21\2#(I(,-\f\b\23\b\3=\16-<\x88\1)8)(Y\b\23\30\xf9\0\30\31(I\xf8\0I(\23\xd0\2\2\3H\3"\b$\2\xc3\1"\3\2\b\4\2\3\xb2\1\3\2(\31\xa8\2\4\2\4#\xa2\1\23\5&\5`\25&\5\26\5\x80\a\1\x032\x91\1\2\23(I(<\r\f\3\f\3\b\3\f\xfd\0,\x88\1I()(i\23\b\xf9\0(9\309hi8\3\xc0\2\3H\3\0\22C\2\0G\0\a"c\2\4\23\xd2\1H\4#\28)X4\3\xc2\1\3\2\5&\5\xf0\0\xf5\0\x90\a\x132\x91\1#\x98\1\4\f\r\34#\b\34\x8d\1,hi\x98\1Y\23\30i(\31\xe8\1YX\3\xa0\2\2\b\2(\3\2\'0\xe7\1 \a\22\x93\1B\38\2\x132\23\2$8D\2\23\xc2\1\3\2\5&\5\x90\t\x132A\x0213\30\thL\3\b\3\34=\36-,h\xf9\0\x88\1Y\23\30i\xb8\2YX\3\xa0\2\3\2(\2\3\0\xb7\1\xf0\0\'\xf0\0\22c"\38\2\3R#\2\x84\x013\xb2\1\23\2\5&\5\xa0\t\3B\x91\1#\x98\1<\3\b\3\f]\36\35<X\x89\1\x98\19\b\23\30i8\x9c\1hIh\23\x80\2\22(\23\2\27\xf0\2\a\20\'@\22C\2\30\4\3\xf2\0\xe3\1\xc2\1\a\3\25&\5\xa0\t\23RA\22\21#\x88\1\4\3\f\3\b\34\r.=\16\35,\xf8\0iX)h\23\30I8\34\x8d\1,H9\x98\1\3\x80\2C\2\xc0\3\xd7\1\0\3(S\xf2\0c\xf2\1\3\2\x156\25\x90\t\23R\x81\1\x023h\34\23\f\35>],\x98\1Ih9X\4\3\309(\34\xbd\1\16\34(9\xb8\1\3\xb0\2\a\x90\4\xa7\1\x003\'\2\xf3\0\xc2\2#\2\a\5V\5\x90\t\23R\x91\1\2#\4\b)\30\23\b\34\35>],\x98\1\31\xf8\0YX\4\3\309(\f\x9d\1\16=\34\30\t\30\t\xb8\1\23\x90\a\xf7\0#\0G\22\x93\1\xd2\x013\22\a\5\x036\5\xa0\t\1\23R\x91\1\2#4#\30<.],H:X\n\vHYX\3\30\318\f=\36=.=\34\x88\1*\vH\23\xe0\a\xa7\2\5\x93\2\2\20\22e\xc0\t\23\xf2\0\x81\1\x023\4#8L=LH\n+\n8\32\v\nXIX\3\4X\34\35N\x9d\1\34h\n\b;\nX\3\x90\1%\x90\6G \a\2\27@\xf7\1\0G\0\5\2\6\a\5\x80\n\23\xf2\x001\2Ac(\t(\x9c\1h+\n\3\v\30\n;X9h\23H\34-^-\16]\34hK\nh\3\x80\1\5\6\5\xc0\6\a\x90\1\x97\3\5&\5\x80\n#b\xa1\1C\x88\1\xfc\0h\n+\23\33\n[H9h\23H,\35^-\36M\34hK\nh\3\xf0\0\25\6\xb5\1\20\a\xc0\6\xd7\2\0\5&\5\x90\n\23\xf2\0\xa1\x013\xf8\2\n+#k\nH9h\23H\34-^-\36]\fh\n;\n(\t8\23P\25\xc6\1\5\a\xd5\t&\5\xa0\n\23\xf2\0Q\2!3\30\t()H\31\xf8\0\n+\32k\32H9(\31\30\238,=\36]\36]\fh\n;\n\x98\1\3@\5\x86\f\5\xb0\n#ba\2SH9\xd8\1\n\xab\1\32h\31(9\b\238,\xbd\2\f\xf8\0\n[\n\v(\t\30\x130\5\x86\f\5\xb0\n#R\3\2Q#\2#H9\xd8\1\n\x8b\1*\xc8\1\t\4\31\b\238,\xed\1\36-\f\xf8\0\n;\32\23\n\v8\x130\x156\x005\xe6\n\5\xb0\n\1#R\3\x021#13\309H\31\xf8\0\nk\n\33\xd8\19\b\238,M\16=.\35.\35\fh\v\n;#\v\32\b\t\30# \25\26\25P\xf5\4\xd6\5\5\xc0\n\1\23b\3\2\21\2\23\2A3\xf8\0Ih\32[#\30\t\30)\xf8\0\t\30\238,=.-.-\16-\fH\n#;\32\33\32\b\31\30#\1\0\25\26\5\xa0\6\xe5\4\26\xf0\n\1\23b\3\2\1\23\xf1\0CHYH\t\30\32[\23\v89\x98\1\238,->=\36m\f8\n\33\23\xfb\0\32\b\31\bC\1\25\6\5\x80\v\a\5\26\5\xf0\n#b3\xf1\0\2CHI8\31\30\32\xfb\0\n89\x98\1\238,->\xcd\1\f8\n\xcb\1\n\b\31\bS\25\6\5\x90\v\5\6\25\xf0\n\x013B#\21\2\xf1\0C89H\318\32K\n\v(I\30\th\238,=\36-\16=\36=\fH\n\xab\1\328\23\1\2#\25\xb0\v\25\xa0\v\1\x93\1\xd1\1#(\31\xf8\0\tH*\v*h\tX\32(\238\n\34\xfd\0\36=\36-\fX\32\x8b\1\nH\23!3\xf0\27#\2\3\xe1\x013\xb8\1\31H*\xe8\1\n\33\n\v\n#\32\30,\x8d\2\34X\v\32K*8#13\1\xb0\27\1\0\a\23"\3\xe1\1#\xb8\1\31\xd8\2;\n\b\n#\32\30,\x8d\2\348\t(\xfa\08\23\2AC\xc0\x055\xa0\21\27\x132\3\x81\2#\x98\19\xa8\2\nK\n#;\30,M\36\xfd\0\34(9\xc8\1\23\xf1\x003\20\a\xe0\4%6\25\x90\21\a\23B\3\2Q\22\xf1\x003\xf8\0)\xc8\2\3[\23+\n(,-.m\34(I\xa8\1\23\x91\1C\a\0\a\xc0\4\25V\25\xa0\21#b\x81\x023\xf8\1\xf9\0X\v\nK\23+\n(\4<\16\xfd\0,(Y\x98\1\3a\2A3\0\'\xb0\x045&\5\xc0\21\1\23b\x91\x023\xd8\1\x99\1X\nK\23\33\32H<]<(i\x88\1\23\xc1\1\2#\0\'\xc0\4%&\5\xd0\x113R\1\2\x81\x023\xb8\1\xa9\1X\n;\23\v\32\x88\1\x8c\18\xf9\0h\23\xf1\1#\20\27\xd0\4\25&\5\xe0\x113bQ\2!\2\xf1\x003\x98\1\xb9\18\v\32+\23\32\xe8\2iH#1\2a\2!\2\23\2\3G\xc0\4\5&\25\xf0\21\1#b\xb1\x0238\t(\xb9\1(\n#\33\n\23\n\xc8\2\tH)(C\xf1\1\2\3"\3\1G\xa0\4\25\26E\xf0\21\1#R\xc1\2#h\x89\18\v\n[\n\23(\t\xa8\1\31H\31\xf8\x003\xa1\1\2A\2\x132\3g\x90\4\5V\25\x80\22\1#b\xb1\x023X\xf9\08\32K\32\23(9\xf8\0)\xb8\1C\x81\2\2\x132\23g\x80\4\25V\25\xf0\21\27\20\23bA\2\xe1\x013hI8\32;*\3\4(IXI\x88\x013\xc1\1\x021\x82\1\3\0g\x80\4\x85\1\x90\x127#R\xd1\2Ch\tXJ\30\238Y8YX3\x91\1\22\xf1\0\x82\1\23\xf7\0\xc0\x177\1#Ra\2Q\2Q\2S\x98\2\23(i8\t\b\31H3\2\xa1\2\2\3\x82\1\23\x87\1\xe0\27\'\1\23b\xc1\1\2a\2S\x88\2\23(i\xa8\1C\xb1\2\xa2\1\23\0\x87\1\xf0\x177#b\xd1\x023\xb8\19\b#\30i\xf8\0Ca\x021\2Q\xd2\1\23\1\x97\1\x80\x187#b\3\2\xf1\1\22A3h\t\b)\b#(Ih3\2\x81\2\xf2\1\23\1\xb7\1\x80\30G\1#b\23Q\22\xe1\1\bS\2h#\xa8\1\2#\2\xa1\2\xf2\1\23\1\0\xb7\1\xa0\x187\x003\x82\1A\22\x81\2\2c\283\18!\2#\2\xa1\2\x82\2\23\1\0\xc7\1\xb0\30G\1#\xf2\0\3\2a\22\x91\2\2\xd3\2\xb1\1\2A\x92\2#\1\xd7\1\xd0\30W#\x82\1\3\2\x91\4#\1S\xf1\1\2\21\x92\2#\1\xf7\1\xf0\30W\x013\xf2\0#\2\x91\1\2\xb1\2\23\xd1\1\2a\xb2\2#\1\0\xd7\1\xb0\31W\x013\xb2\1\xd1\3\23\x81\1\x021\2Q\xb2\2#\1\0\xe7\1\xc0\31g\x013\xb2\1\21\22Q\22\xf1\1\23A\x021\22A\xc2\x023\0\x87\2\xf0\31\xf7\0S\xb2\1\xd1\1\2\x81\1\23\xb1\1\xe2\x023g\0\xb7\1\xa0\32\x87\1\1S\xb2\1\xb1\2\23A\x92\3C\xb7\2\xe0\32\x97\1\1C\xe2\1\xf1\1\xf3\0\xd2\2S\xb7\2\x90\33\xa7\1\0\xf3\0\xb2\2\x83\1\xc2\2S\2\1 \xa7\2\xe0\33\xb7\1\1c\xe2\2#\xd2\1c\1\xa7\3\xa0\34\xd7\1\1c\x82\2#\0\23\x92\1#\2\xf7\3\xc0\34\xf7\1\1c\xe2\1#\a\1\23\xf2\0#\1\0\xd7\3\x80\35\xa7\2\1\xf3\0b3\1\'\x83\1\1\xd7\3\xf0\35\x97\2\0\27\xd3\1\1G\x001\20\xc7\3\xc0\36\x97\x031\xa7\5\x80\37\xc7\b\xd0\37\xc7\a\xc0 \xf7\6\x90!\x87\6\x80"\xb7\5\xa0\a5\xb0\25U`E\x80\2U \xb7\4\xf0\5\xb5\1 \25\26\25\xa0\25\x056\5`\5&\5\x80\2\x056\5`\xb7\3\xb0\6\5\x86\1\25\a\20\x056\5\xa0\25\x056\25@\x056\5\x80\2\x056\5\xb0\1\xc7\1\xd0\a\5\xa6\1\5\20\x056\5\xa0\25\5F\5@\x056\5@\a\0\5\0\5\xf0\x006\5\xe0\n\5\xa6\1\5\20\x056\5\xa0\b\a\xf0\f\x056\5@\x056\x050\x85\1\a0\5&\5 E U\x80\x015@%\x90\1\xf5\0\xe0\3\5\xb6\1\20\aE\xa0\1\xa5\1\x90\1\xa5\1\xd0\1\xb5\1\xe0\f\x056\25 \x056\x050\5\xf6\0\x150\5&\x050& \x156\5\a\x005\0\x156E\26%`\5\xf6\0\5\xc0\x015\xc0\1\x056%6\25\0U\x80\1\25\x96\1\5\x80\1\5\xa6\1\5\xa0\1\25V\x056\5\xf0\f\x056\5\20\x156\5 \5\xa6\1\5\20\25&\5\20\x056\5\20\a\x056\5\20\5\xb6\1\5V\x150\25\x96\1\25\x90\1\x056 \5\x80\1\x056%6\25\0\x056\5\x80\1\25\x96\1\5\x80\1\5\xa6\1\5\x80\1\a\25\xb6\1\5\xf0\f\x156\5\0\x156\5 \a\xa6\1\5 \5&\5 6\5 \x056\5\20\5\xb6\2\x050\5\a\xa6\1\5\x80\1\25f\25\xf0\0\x056%6\5\20\x056\5 \x150\25\x86\1\25\0\a%\a \5\x96\1\5 %0\25\xc6\1\5\xf0\f\x156\5\a\5F\5\0\25F%F\5\20\x056 6\5 \x056\5\20\5\xb6\2\x050\5F%F\5\xf0\0\25f\5\x80\1\5\xa6\1\5\0\a\x056\5\0\25\26\25\20\25\x86\1\5\20\25\26\5 \5\x86\1\25\0\a\5\26\a\5 \x1565F\5\x80\r\x056%6\5\20\x156E6\5\20\x056\5\x1060\x056\5\20\5F%V\25F \x056e&\5\xf0\0\a\5f\5\x80\1\5\x96\1\5 \x0565&\5@%F\5\20\x056\5@\25F\5\a\0\x056\5 \a6U6\5\x80\r\x156\x056\25\20\5F5\a\5&\5\20\x056\5\20\x056 \x056\x050&\25\20\x056\5\20\x056\5\20\5\xd6\1\5\x80\1\x95\1\xf0\0\5\xf6\x005\20\x056%6\5P\5F\5\a\20\x056\5P\x056\5 \x056\5\20\x056e6\5\x90\r\x056\x056\25\20\x1565\a\5&\5\20\x056\5\20\x056\5\20\x056\5 6\25\20\x056\5\20\x056\5\20\5\xd6\1\5\x80\1\5f\25\xf0\0\5V%\a\5 \x0565&\5@\5V\5 \5&\5P\5F\5 \25&\5\20\x056e6\5\x90\r\x056\x056\5 \x156U&\5\0\x156\5\20\x056\5\20\x056\5 6\5\a\20\x056\5 6\5\20\5\xd6\1\5\x80\1\5f\25\xf0\0\x056\25\xf0\0\x056\5\x105P\x056\25@5@\x156\5@5 \x056e6\5\x90\r\a\5f\x050\x156\25\a\x156\5\0\a\x056\5\20\x05656\5\20\x056\5 \5&\x050\5&\5\20\x056\xa5\1\x80\1\5f\25\xf0\0\x056\5\x80\1\5F0\a`\x056\25\xd0\1\5F\5\xb0\1\5FU6\5\xa0\r\5f\x050\25F%F\5\20\x056\5\20\5F\25F\5\20\x056\5 \5&\x050\5&\5\20\x056e\6\25\a\x80\1\x85\1\x80\1\x056\5\x80\1\5F\xa0\1\x056U\x90\1\x056U\x90\1V5F\5\xa0\r\5f\5@\5V\5V\5\20\x056\5\20\5\xa6\1\25\20\x056\5 \x0560\5&\25\0\x056U\26\25\xb0\1\25\xd0\1\x056\5\x80\1\5F\5\x90\1\x056U\x90\1\x056e\x80\1\5V%F\5\xa0\r\5f\5P\5\xa6\1\25\20\x056\5 \5\x96\1\5 \x056\5 \x0560\5&\25\0\a\5\xc6\1\5\xa0\3\x056\5\x80\1\5F\5\xf0\0\a\5\x96\1\5\x90\1\5\x96\1\5\x80\1\25\xc6\1\5\xa0\r\25F\5\a@\a\25\x96\1\5 \x056\5 \25\xf6\0\25 \x056\5 \x056\5\20\a\5&\25 \5\x96\1\25\xb0\3\x056\5\x80\1\5F\5\xf0\0\25\x96\1\5\x80\1\5\xa6\1\5\x80\1\a\25\xb6\1\5\xb0\r\x156\5\x80\1\25F%0\5&\x150%6%0\25&\5 \25\6\0\a0\5&\x150\25f\5\xd0\3\x056\5\x90\1\a6\5\xf0\0\5\xa6\1\25\xf0\0\5\xa6\1\5\xb0\1%&\x156\5\xb0\re\x90\1\xf5\0@EP\xf5\0PE050E@%\a6\25\xe0\3E\x90\1E\x80\1\xc5\1\x80\1\xc5\1\xc0\1\xb5\1\xe0\r\5\x90\2\a\x80\1\a\xf0\2\5\xe0\1\5\a\x80\1\a\x005\xf0\a\5`\a\xc0\1\27 \5\0\a\xc0Y'
)

15099L'écriture du bytes passe dans des proportions similaires de 32995 à seulement 24816 caractères, soit une économie de 24,79% ! :o

Victoire, ça rentre enfin sur NumWorks ! :bj:

Voici donc dès aujourd'hui accessible le nouvel outil img2calc te permettant de faire rentrer beaucoup plus facilement tes scripts Python d'images sur les calculatrices les moins bien dotées en mémoire de stockage, et d'en faire rentrer beaucoup plus sur les autres ! :D

Liens :

Mise à jour img2calc Python: miroir + optimisations palette

New postby critor » 26 Jan 2022, 17:45

13917Dans une série d'articles précédents nous te présentions img2calc, notre service en ligne gratuit sur TI-Planet te permettant de convertir facilement tes images pour tes projets sur calculatrices.

Un large choix de formats cible t'était proposé :
  • fichiers à appeler depuis tes programmes en langage Basic :
    • .g3p pour Casio Graph 90+E et fx-CG50/20/10
    • .c2p pour Casio fx-CP400 et fx-CG500
    • .8ca ou .8ci pour TI-83 Premium CE, TI-84 Plus CE et TI-84 Plus C Silver Edition
    • .8xi pour les TI-83 Plus (compatible TI-82 Advanced, TI-82 Plus et TI-84 Plus monochromes),
    • .83i pour les TI-83 (compatible TI-82 Stats et TI-76.fr)
    • .82i pour les autres TI-82
    • .86i pour les TI-86
    • .85i pour les TI-85
    • .73i pour les TI-73
  • fichiers à appeler depuis tes scripts en langage Python :
    • IM8C.8xv pour les éditions Python des TI-83 Premium CE et TI-84 Plus CE
  • scripts Python pour les différentes bibliothèques graphiques des calculatrices :
    • ti_draw (TI-Nspire CX II)
    • graphic (TI-Nspire CX II avec KhiCAS, TI-Nspire CX avec KhiCAS et NumWorks avec KhiCAS)
    • nsp (TI-Nspire avec Micropython)
    • ti_graphics (TI-83 Premium CE et TI-84 Plus CE éditions Python)
    • casioplot (Casio Graph 90/35+E II, fx-9750/9860GIII et fx-CG50)
    • hpprime (HP Prime)
    • kandinsky (NumWorks)
Après plusieurs semaines de bêta-test privé par Afyu, cent20 et redgl0w, aujourd'hui img2calc bénéficie d'une mise à jour apportant plusieurs améliorations à ce dernier point, soit les images converties en scripts Python pour ta calculatrice. Découvrons-les ensemble








1) Retournement horizontal/vertical

Go to top

Prenons comme exemple le sprite ci-contre à convertir en un script Python pour affichage sur nos calculatrices.

Le script obtenu te fournissait une fonction d'affichage d'image draw_image(rle, x0, y0, w, pal, zoomx, zoomy, itransp), avec :
  • rle : les données de l'image selon une compression RLE, incluses dans le script obtenu
  • x0, y0 : les coordonnées où positionner le coin supérieur gauche de l'image lors de l'affichage
  • w : la largeur de l'image originale
  • pal : la palette de couleurs à utiliser, également incluse dans le script obtenu
  • zoomx, zoomy : les coefficients de zoom horizontaux et verticaux éventuels pour l'affichage, ou 1 par défaut pour une absence de zoom
  • itransp : l'index d'une éventuelle couleur transparente dans la palette, ou -1 par défaut pour aucune transparence

Et bien nouveauté, la fonction draw_image() accepte maintenant des paramètres de zoom négatifs pour indiquer un retournement horizontal et/ou vertical.

Il t'est donc maintenant possible de retourner l'image horizontalement et/ou verticalement lors de l'affichage, y compris avec un zoom comme illustré ci-contre.
Code: Select all
#palette for your image
#18 RGB-888 colors
palette = (
(0,0,0),(32,32,32),(80,144,0),(120,180,24),(248,120,0),(240,160,104),(232,96,176),(184,104,24),(248,252,248),(48,52,48),(64,216,112),(48,144,104),(136,88,32),(32,32,200),(224,144,80),(128,128,240),(240,216,64),(192,16,24),
)

#your image data
#16x22 RLE-5 pixels
image = (
b"\xa0\1\xe1\0\xc0\2\1\"\3\2!\xe0\1\1\"\xe3\0\2\1\xe0\0\1\0!\4\"\3\2\4\1\2!\0\1\5\1\6!\xe4\0!\2\1\5!\5\1F\xe1\0&!\5!\a\5\1\xe6\1\1\5\a!\a\1\6\xe1\1\6\1\a\1\0\1\a\1\a('(\a\1\a\1@\1'\b\1%\1\b'\1\xe0\0!\a\5\1%\1\5\a!@\t\n\v\1\a\tE\a\1\v\n\1\0\t\b\xe9\0\b\t\a"
b"!+\1\f\1\t\xa8\1\t\1\v\n\v\1,\1\t\b\xed\0\b\tJ\v!\16\1\t\b\r/\r\b\t\nK\1.\1\t\b\r/\r\b\t\20\x010\v\1\16\1\t\b\r/\r\b\t0+A \t\b-\b\tK!\21\1\xe0\0\t(\t\xe1\0\21\4!\x80\1)\xe1\1\xe0\1\xa1\1\x80\1"
)

l = (
  (0,0,4,4),
  (64,0,3,3),
  (64,66,3,1),
  (112,0,2,3),
  (112,66,2,1),
  (144,0,1,3),
  (144,66,1,1),
)
for v in l:
  for ky in (-1, 1):
    for kx in (-1, 1):
      draw_image(image, 160 + v[0]*kx, 96 + v[1]*ky, 16, palette, zoomx=v[2]*kx, zoomy=v[3]*ky, itransp=0)

La fonction draw_image() affiche l'image en coloriant un rectangle pour chaque élément RLE. Cela a l'avantage d'être particulièrement rapide lorsque la bibliothèque graphique de la plateforme fournit une méthode optimisée en ce sens.
À ce jour le retournement est fonctionnel sur 4 des plateformes gérées par img2calc :
  • NumWorks où la méthode kandinsky.fill_rect(x, y, largeur, hauteur, couleur) a l'excellente idée d'accepter directement des paramètres de largeur et hauteur négatifs et d'effectuer directement le retournement adéquat
  • KhiCAS (éditions NumWorks et TI-Nspire CX), même avantage avec la méthode graphic.fill_rect()
  • Casio Graph 90+E et Graph 35+E II, la bibliothèque graphique casioplot ne fournit pas de méthode optimisée pour colorier un rectangle, mais la boucle d'allumage de pixels alors générée pour le script converti gère directement les retournements
  • Micropython pour TI-Nspire, pour la même raison avec la bibliothèque graphique nsp


La HP Prime avec la bibliothèque hpprime ne trace hélas rien si on lui demande de colorier un rectangle avec une largeur ou hauteur négative.

La TI-Nspire CX II pour sa part génère dans ce cas une exception, suggérant donc qu'il n'est hélas pas dans les projets de Texas Instruments de supporter ce cas.

1513315134Les TI-83 Premium CE Edition Python, TI-84 Plus CE-T Python et TI-84 Plus CE Python quant à elles génèrent une exception si tu fais appel à la méthode .fill_rect() de la bibliothèque interface ti_draw. Pire, si tu fais directement appel à la méthode .fillRect() de la bibliothèque graphique ti_graphics, là tu obtiens un affichage incorrect avec un blocage (boucle infinie).

Nous verrons pour une prochaine mise à jour d'img2calc si nous injectons de quoi contourner les limitations de ces plateformes.




2) Optimisation palette : couleurs hexadécimales

Go to top

Rappelons que les interpréteurs Python sur nos calculatrices font appel à 3 types de mémoires :
  • La mémoire de stockage qui comme son nom l'indique stocke physiquement tes fichiers de scripts Python.
  • La pile (stack) qui référence, à l'exécution, les objets Python créés par tes scripts. Sa capacité limite donc le nombre d'objets Python pouvant coexister simultanément en mémoire.
  • Le tas (heap) qui reçoit, à l'exécution, le contenu des objets Python créés. Il limite donc la taille globale utilisée pour les données de ces différents objets.

Voici quelques indications de consommations heap valides pour les plateformes 32 bits que sont à ce jour nos calculatrices :
  • pour un entier : 24 octets de base + 4 octets si non nul + 4 octets pour chaque groupe de 30 bits utilisés au-delà des premiers 31 bits dans sa représentation binaire
  • pour une liste : 56 octets de base + 8 octets par élément + les tailles de chaque élément
  • pour un tuple : 40 octets de base + 8 octets par élément + les tailles de chaque élément
  • pour une chaîne : 49 octets de base + 1 octet par caractère
  • pour un tableau d'octets (bytes) : 33 octets de base + 1 octet par octet
Comme tu peux le constater le langage Python a le très gros défaut d'être un énorme consommateur de heap, mémoire qui sera bien souvent le facteur le plus limitant pour tes projets sur calculatrices. Rappelons les plus mauvais modèles sur ce critère :
  • NumWorks avec seulement 32,5 Ko de heap si ta machine est verrouillée sur le firmware officiel
  • éditions Python des TI-83 Premium CE et TI-84 Plus CE avec encore pire 19,7 Ko de heap
La NumWorks cumule les inconvénients avec de plus une mémoire de stockage de seulement 32 Kio si ta machine est verrouillée sur le firmware officiel.

Comme déjà expliqué, img2calc a justement été conçu pour minimiser la consommation de heap. Pour cela img2calc mutualise deux approches :
  • La compression de ton image au format RLE.
  • Le compactage des données, avec l'utilisation des types d'objets Python les moins gourmands en mémoire :
    • des tuples pour la palette de couleurs
    • des bytes pour les données de la compression RLE (type d'objet Python s'utilisant comme une chaîne de caractères mais optimisé pour le stockage d'octets)
Lors de la dernière mise à jour, nous optimisions l'écriture des données RLE afin d'économiser la mémoire de stockage.

Aujourd'hui, intéressons-nous à la palette de couleurs avec l'image ci-contre.

Jusqu'à présent, img2calc te générait ce genre de script :
Code: Select all
#palette for your image
#12 RGB-888 colors
palette = (
(0,0,0),(104,40,120),(136,112,80),(80,192,0),(248,132,24),(160,168,160),(248,252,0),(0,252,248),(248,0,0),(248,252,248),(248,172,176),(0,0,248),
)

#your image data
#160x154 RLE-4 pixels
image = (
b'P\x81\1P\x81\6\xf0\0\1\0\1\20\1\x90\3QP\2\23\1\0\21\xa0\1\xf1\0\0\1\xf0\0\x110\xb2\1\4\2\0\2\1\x92\6`\2\0\5\20\2\1\2\20\5\1 \1\xf0\1b \2\0\4\26\4\0\27\0\xf8\0\20\xf1\0\0\27`\22P\2\4\x92\1\4\2\20\1\xf2\5\x80\1\22\0\1\22\20\25\2@\2\20\2\0\xf2\0\0b \2\0\6'
b'\31\6\0\27\xb0\2\27\0\5\27\5\20\22\xf0\0\2\4\x92\1\4\2\20\xe2\5\xb0\1\2\20\5\2\25\0\x020\2\20\2\0\xf2\0\0b \2\0\6\31\6\0\27\0\x85\1\0\xf8\0\0\27\0\a\31\a\20\22\xa0\1\4\x82\1\24\2\0\1\xc2\5P\22\20\22\5\2\0\1\5\22\0\x020\2\0\22\0\xf2\0\0b \2\0\n\26\n\0\27'
b'\0\25G\25\0\bJ\4\b\0\27\0\a\31\a\20\22\xb0\1\2\4\x82\1\24\2\0\1\xa2\5@\2%\x025B\1\0\22\20\1"\0\xf2\0\0b \2P\27\0\25\27\31\a\25\0\bZ\b\0\27\0\5\27\5\20\22\xe0\1\1\x92\1\0\1\0\x92\5@\2%\x025"\5\1\5\21\5 "\1\xf2\0\0b \2\x001\0\27\0\25\a\t\'\25\0\bZ\b\0\27'
b'\x001\20\22\xf0\1\x92\1\4\2\20\21\xe2\4@\1\2\25\2\5\22\1\5"\0\5\21\2\5 \xa2\1\0b \2\0\'\5\0\27\0\25\a\t\'\25\0\bZ\b\0\27`\22\24\xf0\1\2\4\xf2\0\24 \1\xc2\4`\1" \25\2\20\5\0\22\25\20\xa2\1\0b \2\0\a\31\a\0\27\0\25\27\31\a\25\0\bZ\b\0\27\0\n\26\n\20B\24\2'
b'\xe0\1\4\x82\1\4\2\20\xb2\4\xf0\0\5\2 \2\25\22\25\0\2%\20\xa2\1\0b \2\0\a\31\a\0\27\0\25\a\t\'\25\0\bZ\b\0\27\0\6\31\6\20\xf2\0\24\xe0\1\4\xf2\0\24\2\0\1\x92\4P5\2\25\2\5\0R% \x1252\0b \2\0\5\27\x050\25G\25\0\bZ\20\27\0\6\31\6\20\xa2\1\24\xe0\1\xf2\0\24'
b'\2\0\1\xf2\3P\5\2\25\2\25\2\0\2\1\2\0"\5\2\5\2\xc0\1b \2P\27\1\0\1\x057\25\0\b:\30@\n\26\n\20\xe2\1\xd0\1\1\x82\1\0\1\0\xe2\3P\2\1"\5\22\x010"\5\2\25\x010Q\20b \2\0\2\23\1\0\'\1\0\x017\25\0\b*\b \21\20\2\23\1\20\xf2\1\4\xc0\1\22\1R\4\2\20\21\xb2\3\x80\1'
b'\1\22\1\x020b\x150b\0b \2\0\4\26\4\0G\0\5\'\25\0\b\32\b\20\x017`\x82\2\24\xd0\1\4b\4\2 \1\x92\3`\2\0\2\5\0\2@b\5" R\0b \2\0\6\31\6\0W\0\1\5\a\25\0\b\n\b\0\1W\0\5\27\5\20\22\0\24\xc2\1\4\xf0\1\24R\24\2\20\x82\3`\5 \1P25\2\5\2\5 B\0b \2\0\6\31\6\0W\1\0\1%'
b'\0\30\20g\0\a\31\a\20\22\4 \24\x92\1\4\xa0\2b\24\2\0\1\xe2\2\xf0\0"PB\25\0\22\5\x1202\0b \2\0\n\26\n\0\xf7\0\0\1\25\0\b\20\xf7\0\0\a\31\a\x102$ \24R\4\0\xf2\0\4\xa0\1\4R\24\2\0\1\xc2\2P\2\x90\1\22\5\2\0\25\0\22\25\2\1 \1"\0b \2P\x87\1\1P\xf7\0\0\5\27\5'
b'\20b\20\2\4\0R\4\0\xf1\0\4\22\x90\1\x82\1\0\1\0\xb2\2P\5\x90\1\22\25\0\5\0"\25\x120"\0b \2\x001\0W!@\2\0\1g\x001\20\x92\1\4\20\4B\x80\1\4"\4\x80\1\22\1B\4\2\20\1\x92\2P\5\x90\1\2%\0\1\0\x125\22\x102\0b \2\0\'\5\0\'\21P(\4\b\0a`\xb2\1\24 \4\x90\1\4B\24'
b'\x80\1\24B\4\2\20\1\xf2\1@\22\1\x80\1\2%\2\20\22%"\x102\0b \2\0\a\31\a\0\27\1\20\2D \30\x80\1\n\26\n\20\xe2\1\24\2\x90\1\4\x82\1\x80\1\2\4B\4\2 \xd2\1@\5\2@\22\1\20\2% \x025"\x102\0b \2\0\a\31\a\0\a\1\0\2\24\26\t\26\4\6\2P\5\27\5\0\6\31\6\20\xf2\1\4\xa0'
b'\1\4\x82\1\24\x90\1\x042$\2\0\1\xb2\1@\22 B\20\2\25\2 \2%\2\0\22`b \2\0\5\27\5 \x146\t6\4\0\n\26\4\0\a\31\a\0\6\31\6\20\xf2\1\4\xa0\1\24\xa2\1\24\xf0\0\2\4B\24\2\0\1\x92\x010\25\2\20b\0\2\25\2 \2\25\2\0\22\1\x102\0b \2P\24\6\t\6\31\6\24@\6\31\6\0\a\31\a'
b'\0\n\26\n\20\xf2\1\4\xd0\1\1\xc2\1\x80\1\1R\0\1\0\x82\x010\25\2\20b\0\2\25\22\x102\0\22 2\0b \2\0\2\23\1\0\4\5\6\t\6\t\n\4\2\x001\0\6\31\6\x007\0\2\23\1\20\xf2\1\4\xe0\1\4\xa2\1\24\x80\1\2\x012\4\2\20\1b0\25\2\0\xf2\0\0\2\25\22\20\1\22\20\22\20B\0b \2\0'
b'\4\26\4\0\4\t&\22 \'\5\0\6\t\n\6\0\1\27\1`\22\20Db\4\0\xa2\x014\x104R\4\xa0\1\x142\4\2\20\1B0"\0b\20\2\25\2@\2\0\5\22\20B\0b \2\0\6\31\6\0\4\31$0\a\31\a\0\n\26\2@\1\xa2\x0104"\4\xb0\1\x042$\20$"\4\xd0\1\4"\24\2\x102 \25\22\0R\1\x102P\2\25\2 2\0b \2\0\6'
b'\31\6\0$\2\0\n\26\n\0\a\31\1@\xd2\2 \22\24\xb0\1\4b$ $\0R\24`\24\22\24\2\20\22\0\5\0\25\22\0R\20%\22@B 2\0b \2\0\n\26\n\0\4\2 \6\31\6\0\5\27\20\xc2\3\xf0\1\4\x92\x014\x80\1\4\22\24`\x042\0B\25\22\0B\0\1\0B0R\1\20\1"\0b \2\xa0\1\6\31\6@\xe2\3\1\xd0\1\4'
b'\xd2\1\x80\1\4RP\1\2\24\0"\1\2\0\5\1\2\x001\20\2\21\2\1\x120!20\1\2\0b \2\x001\x001\0\4\n\6\4\20\21\xb2\1\xf1\0\xc2\1\4\xc0\1\4\xe2\1\xf0\0\4R\4P"\0\22\20\1\0\2\0\2`\2\20\2\0\22`\2\21\x120\2\0b \2\0\'\5\0\'\5\0$\5\1\xa2\1!\x80\1\xc2\1\4\0\xb2\x014\xa2\1'
b'\4\xf0\x0042\24\xf0\0\x120\2\0b\0\2\20\2\0\22\0\1"% \x020\2\0b \2\0\a\31\a\0\a\31\a\0\2\20\xa2\1\xd0\1\xc2\1\4\x80\x024b\4\0b\24\20$\22\4P2\0\x82\x035\2\xf0\0b \2\0\a\31\a\0\a\31 \x82\1\1\x80\1\t\x050\25\xc2\1\4\xd0\x01204\22\4\xf0\0\4\22$\20\4\2P2\0R@'
b'\22\0\2@BU\x010\2\0b \2\0\5\27\5\0\5\a\20\x92\1`\x82\3\4\0\xa2\1\20\x82\x010\4\2\xf0\0\4R\24`2\0\x120\1\0\2\20R \2\20\1\2\5\0E0\2\0b \2\xf0\0\1\xf2\0P\5\0\5\0\5\20\25\0\5\0\5\0\5\0\xc2\1\4\0\xa2\1\20\x82\x011\4\x80\1\4b\4`2\0B\0!\2\1b\1\20\22\0\21\20E '
b'\2\0b \2\0\2\23\1\20\xf2\0\1`\5\0\5\0\5\20\25\0\5\0\5\0\5\0\xc2\1\4\0\x91\1\2\20\xc2\1\4\x80\1\4b\4`2\0\2E \x92\1\1\0%\1\25\20\2% \2\0b \2\0\4\26\2\1\xf2\0P\25\1\5\1\5\1\5\0\1\25\1\5\1\5\1\5\0\xc2\1\4\xa0\1\2\20\xc2\1\4\0\xf2\0D"\4`2\0\2\25"\5\20\x82\1'
b'\x112%0\25 \2\0b \2\0\6\t\2\1b\1@\xc5\2\xc2\1\4\xa0\1\2\20\xc2\1\4\xd0\1\2$`2\0\2\5\2%\2\5\20b\1\0\22\25\2%\0\2\1\20\2 \2\0b \2\0\6\5\0b\x010\xb2\4\4\xf0\0\2\20\2\20\xc2\1\4\0\xf2\0\0" \22`2\0\2\5"\5\2\5\2\20R\20\2e\0\22P\2\0b \2\0\n\0b@\4@\4\0\4\0\4@\4'
b'\0\4\0\4 \xc2\1\x040\1\0\1\0\4\20\2\20\xc2\1\4\xf0\0\2\0R\4\xf0\x002\0\2\25\22\25\2\0\2\0\x012\20\22e\0\22\1 "\0b \2\20b@\2\0\22\5\x020\2\0\22\5\x020\2\0\22\5\xc2\1\x040\1\0\1\0\4\20\2\20\xc2\1\4\xf0\0\2\0R\4\xf0\x002\0\1E\2\1\0\5\x102\0\1\2\1"%\0"0"\0b'
b' \2\0\1R \1\5\1\5\0\1\2\x050\1\5\0\1\2\x050\1\5\0\1\2\5\xc2\1\x040\1\0\1\0\4\20\2\20\xc2\1\4\xf0\0\2\0R\4\xf0\x002\20\1%@\5\20\22\0\1\22\x102\21\22@!\0b \2\1R \2\25\2\5\20\1 \2\0\2\5\20\1 \2\0\2\5\20\1\0\xc2\1\x040\1\0\1\0\4\20\2\20\xc2\1\4\20\2@\2\0R\4'
b'\xf0\x002`\22 \5\0\22\x002\1\0\1\2\21\2\1\x90\1b R\1 \2\5"\5P\2\0\2\5P\2\0\2\x050\xc2\1\x040\1\0\1\0\4\20\2\20\xc2\1\4\20\2\0\24\2\0\2\0R\4\xf0\x002@\2\0\22\x010\22\0"\1\0\1 \2\1\20\xf2\0\0b B\x010\5\22\4\2\5P\2\0\2\5P\2\0\2\x050\xc2\1\x040\1\0\1\0\4\20'
b'\2\20\xc2\1\4\20\2\0$\0\2\0R\4\xf0\x002@\2\0R\20\x012\0"\5\22 2\5"\0b B \x052\4\2\5P\2\0\2\5P\2\0\2\x050\xc2\1\x040\1\0\1\0\4\20\2\20\xc2\1\4\20\2\0$\0\2\0R\4\xf0\x002@\2\0\2\xd0\1%\22 2\5"\0b 2 \5\22\24\2\4\2\5P\2\0\2\5P\2\0\2\x050\xc2\1\x040\1\0\x010'
b'\2\20\xc2\1\4\20\2\0$\0\2\0R\4\xf0\x002\x80\1!\x92\x015\22\x102\5"\0b "02\4\2\4\2\5P\2\0\2\5P\2\0\2\x050\xc2\1\4\xa0\1\2\20\xc2\1\4\20\2\0$\0\2\0R\4\xf0\x002`\1\22\21\xe5\1\2 "\5"\0b "\20\1\22\24\2\4\2\4\2\5P\2\0\2\5P\2\0\2\x050\xc2\1\4\0\xa2\1\20\xc2\1'
b'\4\20\2\0\24\2\0\2\0R\4\xf0\x00202\xc0\1"E\20"\5"\0b "\20"\24\2\4\2\4\2\5P\2\0\2\5P\2\0\2\x050\xc2\1\4\0\xa2\1\20\xc2\1\4\xf0\0\2\0R\4\xf0\x0020\2\x010\x82\1\1\0\x050\2\25\2\20R\0b \x020\2\4\2\24\2\4\2\4\2\5P\2\0\2\5P\2\0\2\x050\xc2\1\4\xa0\1\2\20\xc2\1'
b'\4\0\xf2\0\0R\4\xf0\x0020\2\20\2\0\xb2\1\5"\20\22 \22\5"\0b \2 \22\4\2\24\2\4\2\4\2\5P\2\0\2\5P\2\0\2\x050\xc2\1\x040(\0\30\0\2\20\xc2\1\4\0\xf2\0\0R\4\xf0\x0020\1\20\2\0\xb2\1\5\22\25\x020b\0b \2\20\22\24\2\4\2\5\4\2\4\2\5P\2\0\2\5P\2\0\2\x050\xc2\1'
b'\x040(\0\30\0\2\20\xc2\1\4\0a\2\0R\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\x020Q\20b \2\20\22\24\2\4\25\4\2\4\2\5P\2\0\2\5P\2\0\2\x050\xc2\1\x040(\0\30\0\2\20\xc2\1\4\xf0\0\2\0R\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2\xb0\1b \2\20"\4\2\4\5"\4\2\5P\2\0\2\5P\2\0\2'
b'\x050\xc2\1\x040(\0\30\0\2\20\xc2\1\4P\4\0\2\0R\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 \xf2\0\0b \2\0\1\22\5\4\2\4\22\5\2\4\2\5P\2\0\2\5P\2\0\2\x050\xc2\1\x040(\0\30\0\2\20\xc2\1\4P\4\0\2\0R\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 \xf2\0\0b \2\0\2\0\22%2\4\2\5'
b'P\2\0\2\5P\2\0\2\x050\xc2\1\x040(\0\30\0\2\20\xc2\1\4 \30\0\4\0\2\0R\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 \xf2\0\0b \2\0\2\0\x82\1\4\2\5P\2\0\2\5P\2\0\2\5\a \xc2\1\x040(\0\30\0\2\20\xc2\1\4 \30\0\4\0\2\0R\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 \xf2\0\0b \2'
b'\0\2\0\2\5B\5\2\4\2\5P\2\0\2\5P\2\0\2\27 \xc2\1\x040(\0\30\0\2\20\xc2\1\4 \30\0\4\0\2\0R\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 \xf2\0\0b \2\0\2\0\x82\1\4\2\5P\2\0\2\5P\2\0\a\21\2\20\xc2\1\x040\30\20\b\20\2\20\xc2\1\4 \30\0\4\0\2\0R\4\xf0\x002@\2\0\2\0\xb2'
b'\1\5\22\25\2 \xf2\0\0b \2\0\2\0\2\0B\0\2\4\2\5P\2\0\2\5P\2\0\a\5\0\t\20\xc2\1\4\xa0\1\2\20\xc2\1\4 \30\0\2\0\2\0R\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 \xf2\0\0b \2\0\2\0\x82\1\4\2\5P\2\0\2\5P\2\0\a\5\0\a\20\xc2\1\4\0\xa2\1\20\xc2\1\4\xf0\0\2\0R\4\xf0\x00'
b'2@\2\0\2\0\xb2\1\5\22\25\2 \xf2\0\0b \2\0\2\0\2\5\22\1\0"\4\2\5P\2\0\2\5P\2\0\a\5\0\t\20\xc2\1\4\0\xa2\1\20\xc2\1\4\0\xf2\0\0R\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 \xf2\0\0b \2\0\2\0\2\0\2\20\2\0\2\0\4\2\5P\2\0\2\5P\2\27\5\0\a\20\xc2\1\4\xa0\1\2\20\xc2\1'
b'\4\0\xf2\0\0R\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2\xb0\1b \2\0\2\x002\0\4\20\24\2\5P\2\0\2\5P\2\27\5\0\a\20\xc2\1\4\xf0\0\1\20\2\20\xc2\1\4\0a\2\0\22\1"\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 \x012\21\20b \2\0\2\0\22\1\4\0\4\20\24\2\5P\2\0\2\5P\2\a\2\5\0\a'
b'\20\xc2\1\4P\33\22\0\2\20B\1b\4\xf0\0\2\0\2\0\2\24\2\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 \x025"\0b \2\0"\20\4\0\4\2\0\24\2\5P\2\0\2\5P\2\a\2\5\0\a\20\xc2\1\4P\33\22\0\2\x102\1\0*2\4\20\24\0\21\0\2\0\2\0$\n\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 \xf2\0\0b '
b'\2\20\22\20\4\2\4\22\24\2\5P\2\0\2\5P\2\0\2\5\0\a\20\xc2\1\4 \33\0\33\22\0\2\20"\1\0\2$\5"\4\20\24\0\21\0\2\0\2\0$\n\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 \xf2\0\0b \2\20"\0\4\2\4\22\24\2\5P\2\0\2\5P\2\a9\a\t"\20*B\4 \33\0\33\22\0\2\20"\0T"\4\20\24\0\21\0'
b'\2\0\2\0$\n\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 \xf2\0\0b \2\20\22\4\0\4\2\4\22\24\2\5P\2\0\2\5P\t\a\t\a\31\a\t\22\1\0\x0242\4 \33\0\33\22\0\2\20"\0T\n\22\4\20\24\0\21\0\2\0\2\0\4\20\n\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 \xf2\0\0b \2\20\22\4\2\4\2\4\22'
b'\24\2\5P\2\0\2\5P\a\20\t\20\a\0\22\0\2D\n"\4 \33\0\33\22\0\2\20"\0T\n\22\4\20\24\0\21\0\2\0\2\0\4\20\n\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 2\5"\0b \2\20\22\4\2\4\2\4\2\1"\5P\2\0\2\5P\a\2\5\t\22\a\22\20d\5\22\4 \33\0\33\22\0\2\20"\0$\22\4\n\22\4\20\24\0'
b'\21\0\2\0\2\0\24\2\n\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 2\5"\0b \2\20\22\4\2\4\2\4\2\0\5\1\0\5P\2\0\2\5P\a*\31\a\n\2\0\2d\n\22\4 \33\0\33\22\0\2\20"\0\24 \4\n\22\4\20\4\2\0\21\0\2\0\2\0\4\20\n\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 2\5"\0b \2\20\22\4\2\4'
b'\2\4\x020\5P\2\0\2\5P\a2\t\a\22\0\xf4\0\n\22\4 \33\0\33\22\0\2\20"\0\4\20\2\0\4\n\22\4\xf0\0\2\0\2\0\4\0\4\n\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 2\5"\0b \2\20\22\4\2\4\2\4\2\0\2\20\5\1@\2\0\2\5\1@\t2\5\2\5\2\0\4\2\0\2\0\2\0\4\n\22\4 \33\0\33\22\0\2\20"'
b'\0\24\2\0\2\0\n\22\4\0\xf2\0\0\2\0$\n\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2\xb0\1b \2\20\22\4\2\4\2\4\2\0\22\0\xc2\1\1 \a\5\2\31\2\5\t\2\0\4P\4\n\22\4\xa0\1\2\20"\0\4\0\4\0\4\0\n\22\4\0\xf2\0\0\2\0\4\20\n\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 \xf2\0\0b \2'
b'\20\22\4\2\4\2\4\2\0\2\4\0\x85\2\a\t\5\2\5\2\t\5\2\0\4\2\4 \2\4\n\22\4\0\x91\1\2\20"\0\4\2\4\2\4\0\n\22\4\0a\2\0\2\0\4\20\n\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 \xf2\0\0b \2\20\22\4\2\4\2\4\2\0\2\4\0\x85\2\t\5\t\2\5\n\t\5\2\0\24\2\4\22\4\2\n\22\4\0\xa2\1'
b'\20"\0T\n\22\4\xf0\0\2\0\2\0$\n\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 \xf2\0\0b \2\20\22\4\2\4\2\4\2\0\2\4\0\xf2\1\a\t\5\t\25\31\5\2\0\4\20\4\20\4\0\n\22\4\0\xa2\1\20"\0T\n\22\4\20\4 \2\0\2\0\2\0$\n\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 \xf2\0\0b \2\20\22\4'
b'\2\4\2\4\2\0\2\4\0\xf5\1\aI\25\t\2\0\4\20\4\20\4\0\n\22\4\xf0\0\21\0\2\20"\x004\2\0\n\22\4\20\4 \2\0\2\0\2\0\4\2\0\n\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 \xf2\0\0b \2\20\22\4\2\4\2\4\2\0\2\4\0\xf5\1\a\x197\25\2\0\xf4\0\n\22\4 \30 \21\0\2\20"\0\4\0\4 \n'
b'\22\4\20\4\0\2\0\2\0\2\0\2\0\4\0\4\n\4\xf0\x002@\2\0\2\0\xb2\1\5\22\25\2 \xf2\0\0b \2\20\22\4\2\4\2\4\2\0\22\1\xf5\1\a\5i\2\0\xf4\0\n\22\4 \30\0\v\0\21\0\2\20"\0$\0\24\n\22\4\20\4\0\4\0\2\0\2\0\2\0\4\20\n\4\xf0\x002@\2\0\1\xc2\1\5\22\25\2 \xf2\0\0b \2'
b'\20\22\4\2\4\2\4\2 \x85\2\t\2e\2\0\xf4\0\n\22\4 \30\0\v\0\21\0\2\20"\0\4\2\4\0\2\4\n\22\4\20\4\0\4\0\2\0\2\0\2\0\24\0\n\4\xf0\x002@\2\20\xc2\1\5\22\25\2 \xf2\0\0b \2\20\22\4\2\4\2\4\2 \x85\2\t\5\2U\2\0\4\22\4\2\4\2\4\n\22\4 \30\0\v\0\21\0\2\20"\0\4\0\4'
b'\20\4\n\22\4\20\4\0\4\0\2\0\2\0\2\0$\n\4\xf0\x002@\2\20\xc2\1\5\22\25\2 \xf2\0\0b \2\20\22\4\2\4\2\4\2\0\1\0\x85\2\t%R\0\4\20\4\0\4\0\4\n\22\4 \30\0\v\0\21\0\2\20"\0T\n\22\4\20\2\0\2\0\2\0\2\0\2\0$\n\4\xf0\x002@\2\20\xb2\1\23%\1\b\2\b\0\xf2\0\0b \2\20'
b'\22\4\2\4\2\4\2\4\0\4\x85\2\aE2\0\4\2\0D\n\22\4 \30\0\v\0\21\0\2\20"\0T\n\22\4\xf0\0\2\0\2\0$\n\4\xf0\x002@\2\20\xb2\1\x035\b\5\30\x90\1b \2\20\22\4\2\4\2\4\2$\x85\2\aE2\0\xf4\0\n\22\4 \30\0\v\0\21\0\2\20"\x004\0\4\n\22\4\0\xf2\0\0\2\0$\n\4\xf0\x002@\2'
b'\20\xb2\1\23%8\0\x025\22\5\0b \2\20\22\4\2\4\2\4\2$\xf9\1\27I\2\5\22\0\xf4\0\n\22\4 \30\0\v\0\21\0\2\20"\0\4\20\4\0\4\n\22\4\0\xf2\0\0\2\0$\n\4\xf0\x002@\2\20\xb2\1\23%8\0\xf2\0\0b \2\20\22\4\2\4\2\4\2$\x85\2\aI\2\5\22\0\xf4\0\n\22\4 \30\0\v\0\21\0\2\20'
b'"\0\4\0\2\4\2\4\n\22\4\0a\2\0\2\0\2\24\2\4\xf0\0"\5\2\1 \2\x102E"\23%8\0%B\0b \2\20\22\4\2\4\2\4\2$\xb5\19\aU\2\25\2\0D\22\4\n\22\4 \30\0\v\0\21\0\2\20"\x004\2\4\n\22\4\xf0\0\2\0\22\0"\4\xf0\0"% \2\20"g\25\23%8\0%B\0b \2\x102\4\2\4\22\24\xb5\1:\a\5B%\2'
b'\0D\20\4\n\22\4 \30\0\v\0\21\0\2\20"\x004\0\4\n\22\4\20\x110\2\0R\4\xf0\0"\20\5 \2\20\22\x97\1\23%8\0%B\0b \2\0\1\2%\4\2\4\2\5\24\xb5\x012\a\t\27%)\2\0\4 \4\20\4\n\22\4\0\xa2\1\20"\0T\n\22\4\20\21\0\30\0\2\0R\4P\2%\2\20\5 \2\20\22\x97\1\23%8\0\22\5B\0b '
b'\2\0\2\0\2\25\4\2\4\5\2\24\xb5\1)\'\xf5\0\2\0D\20\4\n\22\4\0\xa2\1\20"\0T\n\22\4\20\21\0\30\0\2\0R\4P\2%\xba\1\x97\1\23%(EB\0b \2\0\2\0\22\25\24\5\2\5\4\xc5\1\xc9\1\2\0\4 \4\20\4\n\22\4\xa0\1\2\20"\0T\n\22\4\20\25\0\30\0\2\0R\4P\2%\b\4\xba\1\5g\23%(%\0'
b'\5B\0b \2\0\2\0\2\5\2%"\4\xb5\1\2\xc5\1\2\0\4\20\2\4\20\4\n\22\4\xa0\1\2\20"\0T\n\22\x045\4\30\0\2\0R\4P\2%(\24\x8a\1\2\1W\23\25\1(%\0\5B\0b \2\0\2\0"\25\22\5\2\4\xb9\1\1\2\xb5\1\2\0\4"\4\20\4\n\22\4 \x040\30\0\2\20"\0T"\x045\n\1\b\0\2\0R\4P\2%H\x85\1 !'
b'\27\23\1\20(%\0\5A\0b \2\0\2\0\2\0B\5\2\4\xb9\1\0Q\5\1\5\21\5\1\2\0\4 \24\0\4\n\22\4 \4\0\2\0\v\30\0\2\20"\0D\n"5*\b\0\2\0R\4P\2%\0\xd8\1@\27 \25 %\0\5Pb \2\0\2\0b\0\2\4\xc5\1\xc0\1\2\0$\2\0$\n\22\4 \4\0\2\0\v\30\0\2\20"\0D25\n\t\n\20\2\0R\4P\2\xb5\4\0'
b'\5B\0b \2\0\2\0\x82\1\4\x95\3\2\0\xf4\0\n\22\4 \4\0\2\0\v\30\0\2\20"\1\20\32\x0525\b\0\b"\0R\4P\2%\xd0\3%\0\5B\0b \2\0\2\0\2\5"\0\22\0\4\x95\3\2\0\24\0$\0\4\n\22\4 \4\0\2\0\v\30\0\2\20\xc2\1\25Z\22\0R\4P\2%@\xfa\0\5\xf2\1%\0\5B\0b \2\0\2\0\2\0\2\20\2\1'
b'\2\24\x95\3\2\0\4\20\4\20\2\4\n\22\4 \4\0\2\0\v\30\0\2\20\xc2\1\4\5\n\4:\1\2\0R\4P\2% \1\2\x8a\1\5\xf2\0c%\0\5B\0b \2\0\2\0\2\1\2\20\4\0\1\24\x95\3\2\0\4\20\4\0\2\24\n\22\4 \4\0\2\0\v\30\0\2\20\xc2\1\4\5\4\b*\5\0\2\0R\4P\2% \2\xaa\1R\x83\1%\1\5B\0b \2\0'
b'\2\0\22 \4\0\2\24\x95\3\2\0\xf4\0\n\22\4 \4\0\2\0\v\30\0\2\20\xc2\1\48\32\2\0\2\0R\4P\2% \5Y\5:U\xf3\0UB\0b \2\0\2\0\2\1\0\4\0\4\0$\x99\3\2\0\xf4\0\n\22\4 \4\0\2\0\v\30\0\2\20\xc2\1\27\2\30\n\31\0\2\0R\4P\2%\0\1\5\x8a\1\4( \x93\x015\0\5B\0b \2\0\2\0\2\0'
b'\24\0\4\2$\x99\3\2\0\xf4\0"\4 \4\0\2\0\v\30\0\2\20\xc2\1\4\0\1\a\0\v\0\v\0\2\0R\4P\x025\1\0\xc8\1\3\5\xb3\1%\0\5B\0b \2\0\1\22\4\2\4\2\4\2$\x97\3\2\0d\n"\4\xa0\1\2\20\xc2\1\4\1\20\a\v\0\v\0\2\0R\4P\2eY\5(\x023\xd5\1\0\5B\0b \2\20\22\4\2\4\2\4\2$\x99\3\2'
b'\0d\n"\4\0\x91\1\2\20\xc2\1!\20\v\0\v\0\2\0"\1\22\4P\2%2U\2\30\5\27#\xa2\1%\0\x051\20b \2\20\22\4\2\4\2\x042\x97\3\2\0d\n"\4\0\xa2\1\20\xb2\1P\1\0\v\0\2\0\2\1\20\22\4P\2%\0\23\x82\x017#\xa0\1%\0\5Pb \2\20\22\4\2\4R\x97\3\2\0d2\4\0\xa2\1\20\xa2\1\x80\1\v'
b'\0\2\1\20:\4\2@\2\25#\xd7\1#\x92\1\v%\0\5;\20b \2\20\x82\1\25\x97\3\2\1\0\x024\x052\4\xa0\1\2\20\xa2\1\xe0\1*$@\2UYW\5#\x92\1\v%\0E\2\0bPR\5\xd7\3\22\1\20\32R\4\xf0\0\4\2\0\2\20\xa2\1P\1\xf0\0\32\1\2\1\n@\2\5CYG\25#\xd5\1\0\25\2\25\2\xb0\1\x0252\x175\a'
b'\25\'\5\ae\a\xf5\0\xc2\1\4\xf0\0\24\0\2\20\xa2\1`\2`"\32\1@Z\xf7\x005\1\b#\xa0\1%\0\5\x82\2\xf8\0\xea\3\xc2\1\4 \x010\24\0\2\20\xa2\1\xf0\0\1P2\1\4@Z\xf7\0\25\21\30#\xa0\1%\0\2\5\2\5\2\5"\5R\5(R\xea\3\xc2\1\4 \x010\24\0\2\20B\1"\25 \1@\x020B\v\2\1\33\21'
b'\xd5\1\1H#\x90\1\1%\20\21\v\1\v!\vQ\v\30B\x85\4\xc2\1\4 \1\0"\24\0\2\20B\0E \21@R$0$Zi\58\x023$\n\x95\1 \xeb\1\b\228\x8a\4\xc2\1\4 \1\0"\24\0\2\20\22\0\xf5\x000\1\xf0\0\1\22\0Q\n\2e\xa8\1C\2$\n\xc0\1\xc5\1(\2\30\4\xaa\4\xc2\1\4 \1\0"\24\0\2\20\22\0\xf5'
b'\0@\2\x80\1\2\32Q9\1%\xc3\1\1\x134\n\xc0\x015\2E\22(\2\b\4\xca\4\xc2\1\4 \1\0"\24\0\2\20\22\0\xf5\0P\2\xf0\0\2:A\t\n\x015\xf9\0\5#\33$\n\24\0+\20\v \5\0B%\22\25\2(\2\b\xea\4\xc2\1\4 \1\0"\24\0\2\20\22\0\xf5\0\x80\1\22@\32\25\xf1\x002\xf5\0\23\1\33\a\24'
b'\n\24\2@+\20\5\0\2\25\22%\22\5\2(\2\b\4\xea\4\xc2\1\4 \1\0"\24\0\2\20\22\0\xf5\0\20\x110\b\31\b0\24\x81\x014\x93\1\33\27\5\4\n\4\22\0\x010;\0\2\0\2\25\2\5\1\2\5\22\1\2\30\22\b\xfa\4\xc2\1\4 \1\0"\4\2\0\2\20\22\0%\30\0\23\0\a\31\a\20\b\t\n\30\xa4\2\xc7\1'
b'\4\n$\20\n\5\33\0[\2\x002\5"\5\22\30\22\30\xfa\4\xc2\1\4\xa0\1\2\20\22\0\25\2\30#\a\5\t\27\0\1H\4\3\4\5\2\5\1\t\1\xa4\1i\5\'\2$\2\20\2\nU"E\22\1%\22(R\xd5\4\xc2\1\4\0\xa2\1\20\22\20\30\27\23\5G\2\58\4\x035\1\n\5\1\x94\1\x97\1\2\32\24\2 \4\n\xa5\2\22\xf8'
b'\5\xc2\1\4\0\xa2\1\20"\0\30\27\23\x027\5\22%\32\23%1\xf4\2\20\4\20\4\n\xa0\1\x9b\a\xc2\1\4\0\x91\1 "\0\30\27\3\2\4\a\5\27\5B\32\23%1\xb2\2\n\24\2\0\24\20\4\n\xb1\1k\1K!K\21\xbb\1!K\xd1\1\xc2\1\4\xd0\1"\0\30\27\3\24\a\2\a\25\22 \32\23%\1\2\21\xb2\2\n\22'
b'\0$\20\4\n\5\2\xe5\1"E\a\25\a\x95\1\a\xd5\1\a5\a\x85\1\xc2\1\4\0\xc2\1\4\2\25\30\27\3\24\a\2\a\25\22(\32\23%\1\2\21\2%\xf2\1\n\x104\20\4\n\25BU\2\5B\25\22\x87\1\5\a%\a\25\a%\27\xf5\0\a%\27%\27\5\a\5\xc2\1\4\xd0\1\4\2\20\30\27\3\24\'\25\22(\32\23%1\0%'
b'\x80\2\2D\20\4\n5\2%\22\x85\1B\5\2\5\a\x1575\a\x85\1\a%\'\5\a5\a%\'\5\xc2\1\4\xb0\1%\2\20\30\27\3\24\'\25\22(\32\23%1\0%\xd0\1\2\4\nT\20\4\n\22%B\5\22G\x052\25\x175\27\x95\1\27\25\x175\xf7\0\25\'\25\a\xc2\1\4\xb0\1%\2\20\30\27\3\24\'\25\22 \32\23%!E\x90'
b'\1"\0\24\nT\20\4\n\22\25\22\5"\5\x127%\2\5\2\5\22\27%\27\xa5\1\a\25\27\25g\25\'\25\a\25\a\xc2\1\4\xb0\1%\2\20\30\27\3\24\'\25B\32\23%!%\2\5\xf1\0\20"\0\24\nT\20\4\n\22\25\22\5\22\5\2\5G%\2\5B\a\xf5\1\a\5\27%g\x157E\xc2\1\4\xb0\1%\1\20\30\27\3\22\'\25\22'
b'%\32\23%!%\0\5\xf2\0\20"\0\24\nT\20\4\n\2%B\5\2\5\x1757B\xb5\1W\5\x175W\x157E\xc2\1\4\xb0\1% \30\20\3\20\'\25\22(\32\20% %\0\5\xf2\0\20"\0\24\nT\20\4\nE2U\a\5G\xb5\x017\5\aE\a\x85\1\x87\x015\a\xc2\1\4\0\xa2\1%\xd0\3%\0\5\xf2\0\20"\0\24\nT\20\4\n\2e\2e'
b'\x87\x012%\'5W%\xe7\1U\xb2\1$\33\x80\1\xb5\4\0\5\xf2\0\20"\0\24\nT\20\4\n\v\20[\xa5\3\x87\4\xa2\1\4\22\4\0\v\xf0\0\v%\v( \27 \24 \27\20\30 \22\20%\0\5\xf2\0\20"\0\24\nT\20\4\n\2\5\2%\2\27%G\25\a\5\a\x057\x152EW\x85\1\a%WE\a\xd2\1\4\x80\1\v\0%\v(\21\0\27'
b' \24 \25\21\30\21\0\22\20%\0\5\xf2\0\20"\0\24\nD\2\20\4\n\xd5\1\'%\27\x85\1"5\22\25\27\x85\1\a%\27\25\'5\a\xd2\1\4\v0;\20%\v(\21\3\27\24\0\24\0\x185\30\22\0\22\3\0%\0\5\xf2\0\20"\0\24\n4\2 \4\2%\22U\a\25\'%\27\x85\1\2\5\2\5B\25\'\5\a\25\27%G%\27%\27R\4b'
b'\4+ +\20%\v\b\2\b\21\3\27\24\0\24\0\30\27\25\30\22\0\22\3\0%\0\5\xf2\0\20"\0\24\n$\x020\2\0\5\2\5\2%\'\5\x87\1\5\'%2\25\2\25\22%\aB\a\5\a5G\5\aE\a\5\a\xd2\1\4\v\20[\0\v%\v\b\2\b\21\3\27\24\0\24\0\30\27\25\30\22\0\22\3\0%\0\5\xf2\0\20"\0\24\n\24`\xb5\1'
b'\27U\a\25\27%\2%\x025\22%\a5\2eB\25\xd2\2\4\0[\20\33%\v(\21\3\27\24\0\24\0\30\27\25\30\22\0\22\3\0%\0\5\xf2\0\20"\0\24\n\4`5\2%\'%\a\xf5\0\27U\2\5b\5\2\27\x92\1\5\1\5B%2\25\24\xb2\1\4\33@\33\0\v%\v(\21\3\27\24\0\24\0\x185\30\22\0\22\3\0E\xf2\0\20"\0\24'
b'\n \33\5\v\1%\x025\a\25gE\27E\a\x85\x017\5\2e\2\xa5\1\x025\xf2\1\33@\33\20%\0(\21\3\27 \24\0\30\25\21\30\22\20\1\3\0%\2\5\xf2\0\20"\0\24\n\20\33\25\1\5\22\5\2e\a\5\a\25\x175\'5\27%\a5\'\xa5\1\2\xa5\1\x015\xe2\1\1+\20\33\0\v\20%\1"\20\3\27 \22\0\22\27'
b'\x102 \3\0%\0\5\xf2\0\20"\0\24\n\33\1E\2\1\xf5\0\a\25\aU\a\5\'\25W\5\'\25\'U"\25\22\25B\xf5\0\xc2\1\4\1\33\20\33\0+\20\xb5\4\0\5\xf2\0\20"\0\24\n\0\5\x125\22\xa5\1\a\25\a57\x057\25G\5G5\27\25\27\5\2\25B\x85\1\xa2\1\4\33 \x8b\1% T\30\25\2\b`\23P%\0\5\xf2'
b'\0\20"\0\24\n\25\22\x052U\a\x85\1\27E\x97\x015\'\5\27\5\a\5\a\xb5\1\x125\2\5\2\25\x82\1\4\xf0\0K\x105\20\xf4\0\30\25\30@3K%\0\5\x90\1"\0\24\n\x025\2\x85\1\a%\27E\a5\x87\1U\xf7\0\x95\x0175\a%\22\5b\4;\0K\0\v\0\v\25\x005\x94\1\5\4\b\25\30\0Ck%\0\5\x90\1"'
b'\0\24\n5\2\25\a\xa5\1\'\25\xf7\0\25\27\5\'\25G\5W\x157\5\a\5\27\xc5\1\xf2\0\xe0\1\21\0\1%\4\x82\1\5\2\0\2\25\x183\25A\v%\0\5\x90\1"\0\24\2\x91\1e\x87\6\v\1\33\x81\1b\xa0\2%\4\xf5\0\22 \b\5\30#\0e\v%\0\2+\0;\20"\0\4\2\xa0\1e\x87\6\33\21\x80\1"\4\1+\0\x8b'
b'\1\25\0\25\2E\x94\x010(#\20k\0%\20\33\0\5+\5\v\0"\0\2\0\5"\25\x87\1\5\27EGE\x175\'%g\5\27U\a\x057\25\'E\22\5\2\24;\0\33\20;5\0\2\25\22\xb5\4 5\22\25P\a\2\5\22\5\27\5\x97\x015W\25\a\25\27\25\a\x157\5\x97\x015\a\25G\x057\25\a\25\22\5'
)

draw_image(image, 0, 0, 160, palette, zoomx=1, zoomy=1, itransp=-1)
draw_image(image, 320, 0, 160, palette, zoomx=-1, zoomy=1, itransp=-1)

Une image utilisant 12 couleurs. Les données de la palette occupaient donc :
  • 158 octets en mémoire de stockage
  • $mathjax$40+12\times\left(8+40+3\times\left(8+24+4\right)\right)$mathjax$
    soit déjà 1,912 Ko à l'exécution en mémoire heap

Mais gros avantage sur NumWorks, il est possible d'écrire les paramètres de couleur différemment. Les chaînes hexadécimales sont en effet acceptées, et désormais utilisées par img2calc lorsque tu choisis de convertir pour cette plateforme, une amélioration suggérée par redgl0w :
Code: Select all
#palette for your image
#12 RGB-888 colors
palette = (
"#000000","#682878","#88705C","#50c000","#f88418","#a0a8a0","#f8fc00","#00fcf8","#f80000","#f8fcf8","#f8acb0","#0000f8",
)

Les données de la palette n'occupent maintenant plus que :
  • 133 octets en mémoire de stockage (-15,82%)
  • $mathjax$40+12\times\left(8+49+7\right)$mathjax$
    soit 808 octets à l'exécution en mémoire heap (-57,74%)




3) Optimisation palette : noms de couleurs

Go to top

Il existe encore une façon d'écrire différemment certaines valeurs de couleurs, en fournissant simplement leur nom. Cette écriture est gérée uniquement sur NumWorks et KhiCAS (éditions NumWorks et TI-Nspire CX). Par contre les deux plateformes ne reconnaissent pas les mêmes noms.

Sur KhiCAS, nous avons 8 couleurs nommées :
  • "black" : (0, 0, 0)
  • "red" : (255, 0, 0)
  • "green" : (80, 193, 2)
  • "blue" : (0, 0, 255)
  • "yellow" : (255, 255, 0)
  • "cyan" : (0, 255, 255)
  • "magenta" : (255, 5, 136)
  • "white", "w" ou toute autre valeur : (255, 255, 255)

Sur NumWorks, nous avons 13 couleurs nommées :
  • "w" ou "white" : (255, 255, 255)
  • "k" ou "black" : (0, 0, 0)
  • "gray" ou "grey" : (167, 167, 167)
  • "r" ou "red" : (255, 0, 0)
  • "g" ou "green" : (80, 193, 2)
  • "b" ou "blue" : (0, 0, 255)
  • "y" ou "yellow" : (255, 255, 0)
  • "brown" : (141, 115, 80)
  • "pink" : (255, 171, 182)
  • "orange" : (254, 135, 31)
  • "purple" : (110, 45, 121)
  • "cyan" : (0, 255, 255)
  • "magenta" : (255, 5, 136)

Lorsque ton image utilise une de ces couleurs, img2calc utilisera désormais le nom le plus court associé si plus intéressant que l'écriture hexadécimale lorsque disponible, autre amélioration suggérée par redgl0w.

Sur NumWorks, "magenta" est la couleur au nom le plus long, et est ici sans intérêt par rapport à l'écriture hexadécimale.
Sur KhiCAS, pour le blanc on peut donc utiliser "".

Les 12 couleurs de l'image ci-contre appartiennent justement à cette liste, la seule n'y figurant pas étant le magenta.

Voyons ce qu'elle donne maintenant, commençons par KhiCAS :
Code: Select all
#palette for your image
#12 RGB-888 colors
palette = (
"black",(104,40,120),(136,112,80),"green",(248,132,24),(160,168,160),"yellow","cyan","red","",(248,172,176),"blue",
)

Les données de la palette n'occupent maintenant plus que :
  • 129 octets en mémoire de stockage (-18,35%)
  • $mathjax$40+12\times 8 + 5\times\left(40+3\times\left(8+24+4\right)\right)+7\times 49+5+5+6+4+3+0+4$mathjax$
    soit 1,246 Ko à l'exécution en mémoire heap (-34,83%)

Et convertissons maintenant pour NumWorks :
Code: Select all
#palette for your image
#12 RGB-888 colors
palette = (
"k","#682878","brown","g","orange","#a0a8a0","y","cyan","r","w","#f8acb0","b",
)

Les données de la palette occupent donc maintenant :
  • 92 octets en mémoire de stockage (soit -30,83% par rapport à l'écriture hexadécimale, et -41,77% par rapport à l'écriture tuple initiale)
  • $mathjax$40+12\times\left(8+49\right)+1+7+5+1+6+7+1+4+1+1+7+1$mathjax$
    soit 766 octets à l'exécution en mémoire heap (soit -5,20% par rapport à l'écriture hexadécimale, et -59,94% par rapport à l'écriture tuple initiale)

On peut remarquer toutefois que plusieurs couleurs n'ont pas été remplacées par leur nom associé et sont restées sous l'écriture hexadécimale, celles pour lesquelles les valeurs des composantes ne sont ni maximales ni minimales. En effet l'image lors de la conversion subit un prétraitement (passage en RGB-565 avec fusion des couleurs proches dont l'affichage est identique sur calculatrice), opération lors de laquelle les valeurs de couleurs peuvent légèrement varier. Et il suffit de quelques unités en plus ou en moins sur une seule des composantes pour que cela ne corresponde plus.




4) Contrôle du nombre de couleurs

Go to top

Une bizarrerie avait été signalée par cent20 et Afyu.

cent20 avait tenté de convertir l'image Bomber ci-contre, à première vue une image monochrome très simple, et donnant pourtant jusqu'à présent un énorme script de 18,9 Ko, particulièrement douloureux à faire passer sur NumWorks, sa calculatrice préférée :
Code: Select all
#palette for your image
#87 RGB-888 colors
palette = (
(255,255,255),(255,251,255),(231,228,231),(182,183,182),(157,163,157),(190,191,190),(239,240,240),(107,101,107),(7,7,7),(2,2,2),(2,0,2),(2,4,2),(174,172,175),(247,247,247),(116,118,116),(0,0,0),(36,41,36),(223,228,223),(247,251,247),(223,224,223),(116,114,116),(99,101,99),(99,93,99),(99,97,99),(215,211,215),(239,243,240),(231,232,231),(149,151,149),(133,131,133),(207,207,207),(166,163,167),(7,4,7),(7,12,7),(73,76,73),(18,17,18),(27,31,27),(157,159,157),(174,176,175),(55,58,55),(149,147,149),(45,45,45),(223,220,223),(36,35,36),(133,135,133),(90,88,90),(107,105,107),(166,168,167),(149,155,149),(55,54,55),(90,84,90),(239,236,240),(27,26,27),(124,122,124),(18,21,18),(247,243,247),(81,84,81),(81,80,81),(198,199,198),(207,203,207),(182,179,182),(215,216,215),(166,172,167),(73,71,73),(64,67,64),(124,126,124),(107,109,107),(64,63,64),(215,220,215),(207,211,207),(27,21,27),(182,187,182),(55,50,55),(45,41,45),(141,143,141),(36,31,36),(73,67,73),(231,236,231),(190,187,190),(157,155,157),(141,139,141),(18,12,18),(198,195,198),(45,50,45),(198,203,198),(190,195,190),(90,93,90),(64,58,64),
)

#your image data
#240x74 RLE-7 pixels
image = (
b"\x80\xfe\x80\xfe\x80\xfe\x80\xfe\x80\xfe\x80\xfe\x80\xfe\x80\xfe\x80\x96\x81\0\x82\0\x83\0\x84\0\x85\0\x86\0\x80\xe8\x86\0\x87\0\x88\0\x89\0\x8a\0\x89\0\x8b\0\x8c\0\x81\0\x80\3\x8d\2\x80\xde\x8d\0\x8e\0\x8f\5\x90\0\x91\0\x92\0\x93\0\x8c\0\x94\0\x95\0\x96\0\x97\0\x94\0\x84\0\x98\0\x99\0\x80a\x9a\0\x9b\0\x94\0\x9c\0\x9d\0\x81\0\x80r\x9e\0\x9f\0\x8f\5\xa0\0\x9c\0\xa1\0\xa2\0\xa0\0\x8f\4\x8a\0\xa0\0\xa3\0\xa4\0\x91\0\x80^\xa5\0\xa6\0\x9f\0\x8f\1\xa0\0\xa7\0\x92\0\x80q\x95\0\x8f\24\xa8\0\x8c\0\x92\0\x80[\xa9\0\xaa\0\x8f\4\x88\0\xa5\0\x80p\x9a\0\x9f\0\x8f\26\xab\0\x81\0\x80Y\x8d\0\xac\0\x8f\6\xad\0\x92\0\x80o\xae\0\x8f\27\x8b\0\xaf\0\x81\0\x80X\x93\0\xb0\0\x8f\6\xb1\0\x8d\0\x80n\xb2\0\xa1\0\x8f\30\xb3\0\xa9\0\x80X\x9b\0\x89\0\x8f\6\xb4\0\x81\0\x80n\x9d\0\xaa\0\x8f\31\x8e\0\x80W\x81\0\xad\0\x8f\6\x89\0\xae\0\x80n\x81\0\xab\0\x89\0\x8f\31\xb5\0\xb6\0\x80V\x93\0\xa2\0\x8f\6\xb0\0\x98\0\x80n\x92\0\xa8\0\x8f\v\xb3\0\xb7\0\xac\0\xb8\0\xa2\0\x8f\t\x8b\0\xb9\0\x80V\xae\0\x8f\a\x97\0\x92\0\x80n\xba\0\x8f\t\x88\0\xb7\0\xbb\0\xbc\0\x86\0\x99\1\x9d\0\xa1\0\x8f\b\x89\0\xbd\0\x80U\xb6\0\xbe\0\x8f\a\xbb\0\x80n\x81\0\x94\0\x8f\b\xaa\0\x8c\0\x8d\0\x80\5\x93\0\xa8\0\x8f\b\x97\0\x80U\xbc\0\xa3\0\x8f\6\xb3\0\x86\0\x80n\x9a\0\xbf\0\x8f\a\x90\0\x83\0\x81\0\x80\6\x81\0\x94\0\x8f\b\x87\0\x80U\xa7\0\x8a\0\x8f\6\x8e\0\x81\0\x80n\xbb\0\xb3\0\x8f\a\xa4\0\x81\0\x80\b\xc0\0\x8f\a\x89\0\xbb\0\x80T\x92\0\xb7\0\x8f\6\x88\0\xbd\0\x80n\x81\0\xb4\0\x8f\a\xbf\0\x86\0\x80\b\x8d\0\xc1\0\x8f\a\x8b\0\xba\0\x80T\xbc\0\x9f\0\x8f\6\xc2\0\x91\0\x80.\x86\0\xc3\0\x85\0\x83\0\xc4\0\x8d\0\x809\x86\0\xaa\0\x8f\a\xab\0\x81\0\x80\b\x82\0\xbf\0\x8f\a\x9f\0\x99\0\x80T\xa7\0\x8f\a\xb4\0\x81\0\x80-\xbc\0\x94\0\xc5\0\x8f\1\x89\0\x95\0\xbc\0\x808\xc6\0\x8f\a\xaa\0\x85\0\x80\t\xbb\0\x89\0\x8f\a\x97\0\x80T\x86\0\xbe\0\x8f\a\x9d\0\x80-\x9a\0\xac\0\x8a\0\x8f\4\xaa\0\x99\0\x806\x92\0\xb7\0\x8f\a\xbf\0\x99\0\x80\1\xb2\0\x93\0\x9a\0\xb6\0\x80\1\x81\0\xb9\0\xb3\0\x8f\a\x9f\0\x83\0\x80T\x8c\0\xc5\0\x8f\6\xb0\0\x92\0\x80,\x92\0\x94\0\x8f\6\x8a\0\xc1\0\x8d\0\x805\xbc\0\x90\0\x8f\a\xa7\0\x80\0\xa9\0\xc1\0\xc7\0\xc8\0\xa8\0\xb0\0\xc9\0\xa9\0\xbb\0\xca\0\x8a\0\x8f\a\xcb\0\xcc\0\x80\n\x81\0\x86\0\x91\0\xcd\0\xa4\0\x9b\1\xce\0\xc6\0\x98\0\x92\0\x80\20\xb2\0\x98\0\xae\0\x9b\0\x9e\0\xbc\0\x80\0\x92\0\xcc\0\xb9\0\xa4\0\x9b\1\x9e\0\xb9\0\x86\0\x80\4\x81\0\x8d\0\xbc\0\x85\0\x9b\2\x9e\0\x85\0\x9a\0\x80\r\x8d\0\xc0\0\x8f\a\x87\0\xa5\0\x9b\2\xcd\0\x82\0\x80\22\x81\0\x8d\0\x93\0\x85\0\xa4\0\x9b\2\xcd\0\xa9\0\x92\0\x80\t\xa9\0\xa3\0\x8f\a\xca\0\xa9\0\x805\x9b\0\x8f\a\xa0\0\x93\0\xbb\0\xa6\0\x8f\20\x89\0\x85\0\x80\t\x81\0\xba\0\xcf\0\xbe\0\x8f\a\xa8\0\xcf\0\x93\0\x80\r\x86\0\x87\0\x8f\4\x95\0\x9c\0\xd0\0\x8f\5\xa3\0\xc0\0\xcc\0\x80\0\x81\0\x9a\0\xc9\0\xb7\0\x8f\a\x97\0\xbb\0\x92\0\x80\n\x9a\0\xb0\0\x8f\16\x97\0\xc6\0\x81\0\x80\16\x9a\0\x9b\0\x97\0\x8f\a\xbf\0\xcf\0\xb2\0\x80\a\xae\0\x88\0\x8f\b\xa5\0\x804\x92\0\xad\0\x8f\a\x97\0\x9d\0\xa6\0\x8f\20\x8a\0\xad\0\x92\0\x80\b\x9a\0\x94\0\x90\0\x8f\v\xa3\0\xa4\0\x80\v\x99\0\xc1\0\x8f\20\xa1\0\x9d\0\xa4\0\xa8\0\x8f\n\x88\0\x97\0\x86\0\x80\t\xd1\0\x8f\20\xd0\0\xc9\0\xb6\0\x80\v\x8d\0\xbb\0\xc2\0\x8f\v\xc2\0\x83\0\x80\6\xc0\0\x8f\b\x8a\0\xa5\0\x804\x93\0\x8f\a\x9f\0\xae\0\x9c\0\x8f\21\xbe\0\x91\0\x80\b\x98\0\xb8\0\x8f\16\x8a\0\x8e\0\x86\0\x80\t\xb9\0\xa3\0\x8f\21\xc5\0\x8f\16\xa1\0\x86\0\x80\a\x81\0\x94\0\x8f\22\x97\0\x8d\0\x80\t\xb2\0\x9c\0\x8f\17\xcf\0\x92\0\x80\3\x81\0\x94\0\x8f\b\x9f\0\x95\0\xbb\0\x86\0\x802\x9e\0\x8f\a\xd2\0\x98\0\xaa\0\x8f\20\x9f\0\xd1\0\x80\b\x98\0\xa1\0\x8f\20\x9f\0\xb4\0\x80\t\x9b\0\x8f#\xb7\0\x92\0\x80\6\x9a\0\xd2\0\x8f\22\x9f\0\xae\0\x80\b\x81\0\xc0\0\x89\0\x8f\17\x9f\0\xa4\0\x80\4\xce\0\x89\0\x8f\t\xd0\0\xc2\0\xc9\0\x91\0\x80/\x99\0\xb0\0\x8f\a\xc1\0\xa9\0\x9f\0\x8f\16\x8a\0\xc2\0\xd1\0\x80\b\x82\0\x90\0\x8f\22\x8b\0\xa5\0\x80\a\x81\0\xbf\0\x8f#\x8b\0\xcd\0\x80\6\xae\0\xa0\0\x8f\23\xc5\0\xa9\0\x80\6\x8d\0\xab\0\x8f\22\xc8\0\x9a\0\x80\3\xbc\0\xb3\0\x8f\r\xc0\0\x93\0\x80-\x9d\0\xa3\0\x8f\a\x9d\0\xc4\0\x8b\0\x8f\16\xd0\0\xa9\0\x80\b\x8d\0\x8e\0\x8f\24\xbe\0\x86\0\x80\6\x93\0\x8b\0\x8f$\xc0\0\x81\0\x80\4\x92\0\x94\0\x8f\24\x89\0\xab\0\x80\6\xd1\0\xb5\0\x8f\23\x9b\0\x80\3\x8d\0\xad\0\x8f\r\x89\0\xa8\0\xd3\0\x80+\x92\0\xb4\0\x8f\a\xa8\0\x8d\0\x9a\0\x9f\0\x8f\16\x89\0\x9b\0\x92\0\x80\a\xa5\0\xa0\0\x8f\a\xd2\0\xb7\0\x9b\0\xab\0\xc2\0\x9f\0\x8f\6\x9f\0\xd1\0\x80\5\x81\0\xab\0\x8a\0\x8f\b\xbe\0\x8e\0\xa4\0\xbe\0\x89\0\x8f\t\xc5\0\xb8\0\x8e\0\xb4\0\xca\0\x8f\a\x97\0\x8d\0\x80\4\x93\0\xaa\0\x8f\b\xd0\0\xb7\0\xae\0\xb4\0\xaa\0\x8f\a\xb8\0\x8d\0\x80\4\x9a\0\xbf\0\x8f\b\xb8\0\xc9\0\xc0\0\xd2\0\x8f\a\xca\0\xb2\0\x80\3\x9d\0\x8f\17\x9f\0\xc9\0\x92\0\x80)\x99\0\xbe\0\x8f\a\xab\0\x80\0\x92\0\xa8\0\x8f\17\xd0\0\x85\0\x80\a\x97\0\x8f\a\xbf\0\xba\0\x8d\0\x80\1\xb2\0\xc0\0\x89\0\x8f\6\xa7\0\x80\5\x86\0\xa1\0\x8f\b\xcb\0\x93\0\x81\0\x80\0\xcc\0\xb8\0\x8f\t\xa5\0\x86\0\x80\0\x81\0\xa4\0\x8f\a\xa1\0\x86\0\x80\4\xa5\0\x8f\b\xd2\0\x85\0\xb6\0\x80\0\x81\0\xc6\0\xa3\0\x8f\6\xa2\0\x9a\0\x80\4\xcd\0\x8f\b\x94\0\xb6\0\x80\0\x92\0\xbc\0\x88\0\x8f\6\xc5\0\xba\0\x80\3\xa5\0\x8f\20\xa0\0\x85\0\x80)\xd4\0\x8f\a\xa3\0\x9d\0\x80\1\xa5\0\x89\0\x8f\17\xcb\0\x81\0\x80\5\x9a\0\x8f\a\xb8\0\xcc\0\x80\4\x9a\0\xca\0\x8f\6\xb4\0\x80\5\x85\0\xb3\0\x8f\a\xac\0\xb6\0\x80\3\xc0\0\x8f\a\xaa\0\xa5\0\x80\3\x98\0\x90\0\x8f\6\xb7\0\x99\0\x80\3\x92\0\xb7\0\x8f\a\xbe\0\x98\0\x80\3\x92\0\xb7\0\x8f\a\x93\0\x80\3\x92\0\xb7\0\x8f\a\xad\0\x8d\0\x80\3\xa7\0\x8f\6\x89\0\xa5\0\x80\2\x8d\0\xb7\0\x8f\21\x90\0\x82\0\x80(\xab\0\x8f\a\xc2\0\x86\0\x80\1\x99\0\xc9\0\x89\0\x8f\16\x9f\0\xbc\0\x80\5\x8c\0\x8f\a\x83\0\x80\5\xb2\0\xaa\0\x8f\6\x95\0\x80\5\x9c\0\x8f\a\xb0\0\x82\0\x80\3\x8d\0\xc2\0\x8f\a\xa7\0\x92\0\x80\3\x83\0\x9f\0\x8f\6\xc1\0\x8d\0\x80\3\xa9\0\xb3\0\x8f\6\x8a\0\xd1\0\x80\4\x81\0\xd5\0\x8f\a\x93\0\x80\3\x93\0\xa3\0\x8f\a\x9d\0\x80\4\xae\0\x8f\a\xc0\0\x80\2\xbc\0\xb3\0\x8f\21\x89\0\xaf\0\x80'\x9a\0\xd2\0\x8f\a\xce\0\x80\4\x9d\0\xd5\0\xa8\0\xaa\1\xa8\0\xc7\0\x88\0\x8f\b\x87\0\x81\0\x80\3\xcc\0\xbf\0\x8f\6\xa6\0\xb6\0\x80\5\x91\0\xa3\0\x8f\6\x94\0\x80\4\x8d\0\xca\0\x8f\6\xd0\0\xa4\0\x80\4\xd1\0\xa2\0\x8f\6\xd2\0\xb6\0\x80\4\x94\0\x8f\6\x9f\0\x9b\0\x81\0\x80\2\x81\0\xb4\0\x8f\a\xb4\0\x80\5\x9a\0\xbe\0\x8f\6\x9f\0\x93\0\x80\3\xa4\0\x89\0\x8f\6\xca\0\x80\5\x84\0\x8f\6\xa0\0\x8c\0\x80\1\x81\0\x94\0\x8f\6\xb0\0\xc5\0\x8f\n\xc1\0\x8d\0\x80&\x9e\0\x89\0\x8f\a\x9a\0\x80\5\xb6\0\xa9\0\x9d\1\xa9\0\x9a\0\x9b\0\x89\0\x8f\a\xa1\0\xb2\0\x80\3\xb9\0\xa3\0\x8f\6\x94\0\x80\6\xb9\0\xb5\0\x8f\6\x9b\0\x80\4\xc4\0\x8f\a\xd2\0\xb2\0\x80\3\x92\0\x9c\0\x8a\0\x8f\6\xce\0\x80\4\x8d\0\xa2\0\x8f\6\xc5\0\xbc\0\x80\3\x8d\0\xb1\0\x8f\a\xae\0\x80\5\xcd\0\x88\0\x8f\6\xb0\0\x86\0\x80\2\x8d\0\xad\0\x8f\a\x9c\0\x80\5\xad\0\x8f\6\xc5\0\xba\0\x80\1\x99\0\xcb\0\x8f\5\xc8\0\x9a\0\xd1\0\x94\0\xa2\0\x8f\b\x95\0\x8d\0\x80%\x8d\0\x94\0\x8f\a\xad\0\x80\r\x97\0\x8f\a\x90\0\x93\0\x80\3\x9c\0\x8a\0\x8f\5\xb3\0\xc6\0\x80\5\x8d\0\x8e\0\x89\0\x8f\5\x9f\0\xcd\0\x80\3\x81\0\xc1\0\x8f\a\x9c\0\x80\4\xc3\0\xd6\0\x8f\6\xc8\0\x98\0\x80\4\xbb\0\x8f\a\xcb\0\x8d\0\x80\3\xbc\0\x89\0\x8f\6\xbf\0\xc3\0\x80\5\xab\0\x8f\a\x97\0\xb6\0\x80\2\xbc\0\x89\0\x8f\6\xa2\0\xbb\0\x80\3\x99\0\x9e\0\x88\0\x8f\6\xaa\0\x9a\0\x80\1\xb9\0\x8a\0\x8f\5\xaf\0\x80\2\xb9\0\x8f\b\x94\0\x8d\0\x80%\x91\0\xca\0\x8f\a\xce\0\x80\r\xa5\0\x8f\a\x89\0\xd1\0\x80\3\xca\0\x8f\6\xb0\0\x86\0\x80\5\x86\0\xb8\0\x8f\6\xa8\0\x91\0\x80\3\x9a\0\xb0\0\x8f\a\x85\0\x80\4\xcd\0\x8f\a\xa1\0\xb6\0\x80\3\x8d\0\xad\0\x8f\a\xae\0\x80\4\xa4\0\x8f\a\xac\0\x92\0\x80\4\x8d\0\xa8\0\x8f\6\x89\0\xa7\0\x80\3\xae\0\x8f\a\x88\0\xa1\0\xb9\0\xa9\0\x91\0\xd3\0\xb8\0\xd0\0\x8f\a\xd5\0\x81\0\x80\1\xc0\0\x8f\5\xb3\0\xc4\0\x80\2\x81\0\xc7\0\x8f\a\x9c\0\x81\0\x80%\xbb\0\x8f\a\xa6\0\xd1\0\xb9\0\xbd\0\xc9\0\xcf\2\xce\0\x83\0\x91\0\x8d\0\x80\3\x83\0\x8f\b\x85\0\x80\2\xbc\0\x8f\a\xa7\0\x80\3\x99\0\xcd\0\x9b\0\x8e\0\x89\0\x8f\6\xb7\0\xb6\0\x80\3\xae\0\x89\0\x8f\6\xbf\0\x9a\0\x80\4\x8e\0\x8f\6\x8a\0\xae\0\x80\4\x98\0\xd2\0\x8f\6\xa0\0\xbc\0\x80\3\x99\0\x90\0\x8f\6\x89\0\x85\0\x80\2\x91\0\xce\0\xcb\0\x88\0\x8f\a\xa3\0\xbc\0\x80\2\x92\0\x90\0\x8f\t\x89\0\x8b\0\x9f\0\x8b\0\x8f\b\x89\0\xd1\0\x80\1\x82\0\xaa\0\x8f\5\xb8\0\x86\0\x80\2\x81\0\xaa\0\x8f\6\xb3\0\xd4\0\x80\5\x99\0\x93\1\xcc\0\x92\0\x80\32\x92\0\xb8\0\x8f\a\xd0\0\xa6\0\xa0\0\x8f\6\xd2\0\xb7\0\xd1\0\x8d\0\x80\1\x83\0\x8f\b\x85\0\x80\1\x81\0\x94\0\x8f\a\x98\0\x80\2\xc4\0\xbe\0\x89\0\x8f\t\xce\0\x80\4\x94\0\x8f\a\xb4\0\x92\0\x80\3\xb2\0\xaa\0\x8f\6\x8b\0\x9a\0\x80\4\xa7\0\x8f\a\x87\0\x8d\0\x80\3\xc4\0\xc5\0\x8f\6\xa8\0\xb6\0\x80\1\x91\0\xa8\0\x8f\n\xd5\0\x81\0\x80\2\xc4\0\xc5\0\x8f\26\xb7\0\x99\0\x80\1\xaf\0\x89\0\x8f\5\x9b\0\x80\3\xbc\0\x8f\a\xb0\0\x86\0\x80\4\xba\0\xb1\0\xa8\0\xaa\0\xa6\0\x95\0\xb6\0\x80\31\xbc\0\xb3\0\x8f\24\xac\0\x9d\0\x81\0\xce\0\x8f\a\x88\0\xb9\0\x80\1\x82\0\xa6\0\x8f\6\xb1\0\x8d\0\x80\1\x93\0\xc5\0\x8f\n\xb5\0\x9a\0\x80\3\x8d\0\x89\0\x8f\6\xb3\0\xd4\0\x80\4\xae\0\xa0\0\x8f\6\xad\0\x80\4\x81\0\xbe\0\x8f\6\xa2\0\x83\0\x81\0\x80\2\x8d\0\x94\0\x89\0\x8f\6\xc9\0\x80\1\x93\0\xa6\0\x8f\v\x85\0\x80\2\x92\0\x94\0\x89\0\x8f\25\xa8\0\x9d\0\x81\0\x80\0\x86\0\xd5\0\x8f\5\xa2\0\x9a\0\x80\2\x81\0\x8e\0\x8f\a\xa7\0\x80\4\xc3\0\xc7\0\x8a\0\x8f\3\x87\0\x8d\0\x80\30\xc9\0\x8a\0\x8f\25\xca\0\xae\0\xbe\0\x8f\a\xa6\0\x93\0\x80\1\x8c\0\xa2\0\x8f\6\xb4\0\x81\0\x80\0\xb6\0\xc0\0\x8a\0\x8f\n\xb4\0\x80\4\xa5\0\x8f\a\xb0\0\x86\0\x80\3\xb6\0\x87\0\x8f\a\x8c\0\x80\4\x93\0\x8f\a\xd2\0\x9a\0\x80\3\x9a\0\xbe\0\x8f\a\x83\0\x80\1\xce\0\x9f\0\x8f\n\x90\0\x82\0\x80\2\x82\0\xc2\0\x8f\26\xce\0\x81\0\x80\1\xc4\0\xb3\0\x8f\5\xc2\0\x80\3\x9a\0\xc2\0\x8f\a\xbc\0\x80\4\x84\0\x8f\5\xd2\0\x93\0\x80\27\x99\0\xb1\0\x8f\30\x8b\0\x8f\a\xb1\0\x86\0\x80\0\x81\0\xc1\0\x8f\6\x8a\0\xa4\0\x80\1\x9d\0\xca\0\x8f\n\xd2\0\xbc\0\x80\3\x82\0\xc2\0\x8f\a\x9e\0\x80\4\x98\0\xa3\0\x8f\6\xbf\0\x93\0\x80\3\x81\0\x8e\0\x8f\a\xa7\0\x80\4\xcd\0\x8a\0\x8f\6\xc5\0\x9d\0\x80\0\x92\0\x95\0\x8f\v\xb4\0\x8d\0\x80\1\x92\0\xcf\0\x8a\0\x8f\24\xb3\0\xa4\0\x86\0\x80\2\xa4\0\x8f\6\xc1\0\x80\3\xce\0\x89\0\x8f\6\x95\0\x8d\0\x80\3\x99\0\xb3\0\x8f\5\xd6\0\x91\0\x80\27\xa9\0\xa2\0\x8f!\xc1\0\x81\0\x80\0\xb2\0\xb3\0\x8f\6\xca\0\x9d\0\x80\1\xa5\0\x8f\n\x8b\0\xa4\0\x92\0\x80\3\xc9\0\x88\0\x8f\a\xbc\0\x80\4\xae\0\x8f\a\x95\0\x8d\0\x80\3\x9a\0\xc2\0\x8f\a\x9d\0\x80\4\xcf\0\x8f\a\xbe\0\x86\0\x80\0\x8d\0\xa1\0\x8f\n\xb3\0\xc6\0\x80\1\x8d\0\xaf\0\x9f\0\x8f\24\xb0\0\x85\0\x81\0\x80\3\xad\0\x8f\6\xae\0\x80\2\x81\0\x94\0\x8f\a\x9b\0\x80\4\xcd\0\x88\0\x8f\5\x97\0\x8d\0\x80\27\xce\0\x8f!\x89\0\x83\0\x80\1\xa5\0\x8f\a\xa1\0\x8d\0\x80\1\xae\0\x8f\n\xb7\0\x8d\0\x80\2\x86\0\xce\0\xa0\0\x8f\a\xac\0\x8d\0\x80\3\x92\0\xaa\0\x8f\6\x89\0\x83\0\x80\4\xa4\0\x89\0\x8f\6\xa1\0\x8d\0\x80\3\x86\0\xd2\0\x8f\a\x9c\0\x80\1\x8d\0\xac\0\x8f\n\xb0\0\xcc\0\x86\0\x9d\0\x8e\0\x8b\0\x8f\a\x89\0\x8c\0\xa4\0\xaa\0\xa0\0\x8f\5\xb5\0\x90\0\xa4\0\x82\0\x80\4\x9d\0\x90\0\x8f\5\xbf\0\xbc\0\x80\2\x93\0\xa0\0\x8f\6\xaa\0\x9d\0\x80\3\x86\0\x95\0\x8a\0\x8f\4\xd0\0\xbb\0\x80\27\x8d\0\xbf\0\x8f\17\xd6\1\x8a\0\x8f\16\xbf\0\x8d\0\x80\0\xb2\0\xbe\0\x8f\a\x83\0\x80\2\xbb\0\x8f\n\xb3\0\x80\1\x8d\0\x9d\0\xac\0\xa2\0\x8f\b\xc9\0\x80\4\xbc\0\xa2\0\x8f\6\x9f\0\x86\0\x80\4\x94\0\x8f\a\xc0\0\x80\4\x9d\0\xc5\0\x8f\6\x8b\0\x93\0\x80\1\x92\0\xc0\0\x8f\n\x9f\0\x96\0\xb8\0\xa2\0\x8f\t\x9f\0\x8d\0\x80\0\x99\0\x9d\0\xab\0\x8e\0\x95\1\x8e\0\xcf\0\xba\0\x86\0\x80\5\x86\0\x96\0\x8f\5\x8a\0\xc0\0\x8d\0\x80\2\xbb\0\x8f\a\xb7\0\x8d\0\x80\3\x85\0\xa0\0\x8f\5\xb0\0\x86\0\x80\27\x85\0\xb3\0\x8f\f\xaa\0\x83\0\xbc\0\x86\1\x9d\0\xcf\0\xb5\0\x8f\f\xaf\0\x91\0\x83\0\xb7\0\x8b\0\x8f\6\xc2\0\x99\0\x80\2\xb2\0\xbe\0\x8f\t\x89\0\x8e\0\xc1\0\xb3\0\xa2\0\x8f\t\xaa\0\x9d\0\x80\3\x92\0\x9c\0\x89\0\x8f\6\x9c\0\x80\4\x86\0\xa0\0\x8f\6\xaa\0\xba\0\x80\4\xcf\0\x89\0\x8f\6\xc1\0\x80\3\xc4\0\xa2\0\x8f\27\xd5\0\x80\4\x92\0\x8d\1\x92\0\x80\a\x8d\0\x9c\0\x89\0\x8f\5\xca\0\x98\0\x80\2\x99\0\xb7\0\x8f\a\xa5\0\x80\3\x86\0\xb8\0\x8f\6\xae\0\x80\27\x92\0\x8e\0\x8f\f\xb5\0\xd4\0\x80\5\xd1\0\xb0\0\x8f\v\xc2\1\x89\0\x8f\b\xc0\0\x80\4\x85\0\xa0\0\x8f\27\xb0\0\x8d\0\x80\3\x86\0\xb7\0\x8f\6\xa0\0\x85\0\x80\4\x9d\0\x8f\a\xb8\0\x8d\0\x80\3\x92\0\x94\0\x8f\6\xa0\0\x85\0\x80\3\x8d\0\xc0\0\x8f\27\xb0\0\x80\17\x8d\0\xa4\0\x8b\0\x8f\6\xb4\0\x80\3\x93\0\xb0\0\x8f\6\xb3\0\x86\0\x80\2\x81\0\x84\0\x8b\0\x8f\5\x90\0\x93\0\x80\27\x91\0\xbe\0\x8f\f\xa7\0\x80\a\x91\0\xb3\0\x8f\26\xa4\0\x80\5\xae\0\x8f\27\xa4\0\x80\4\xcd\0\x89\0\x8f\6\xb8\0\x82\0\x80\4\xa7\0\x8f\a\xa5\0\x80\4\xbc\0\xd6\0\x8f\6\xbe\0\x91\0\x80\4\x86\0\x8f\27\x8b\0\xc3\0\x80\r\x9a\0\xc0\0\x8b\0\x8f\6\xbf\0\x98\0\x80\3\xbb\0\xb5\0\x8f\6\xb4\0\x81\0\x80\2\xb9\0\xa8\0\x8f\5\x88\0\x9b\0\x8d\0\x80\27\xcd\0\x8f\r\xb9\0\x80\a\xa9\0\xbf\0\x8f\26\xa7\0\x80\4\x81\0\xad\0\x8f\26\xa2\0\x91\0\x80\4\xab\0\x8f\6\x8a\0\xab\0\x81\0\x80\4\xb8\0\x8f\a\x82\0\x80\3\x99\0\x97\0\x8f\a\xbf\0\x9a\0\x80\4\x9d\0\x8f\27\x8a\0\xac\0\x9a\0\x80\n\x92\0\xcd\0\xa1\0\x8a\0\x8f\6\x8b\0\xa4\0\x81\0\x80\3\xa4\0\x8f\a\xaf\0\x80\2\x99\0\xa1\0\x8f\6\xa6\0\x86\0\x80\30\xc0\0\x8f\r\x9c\0\x92\0\x80\3\x81\0\x9a\0\xa4\0\xb0\0\x89\0\x8f\26\xc2\0\xcc\0\x80\2\x9a\0\xa7\0\xd0\0\x8f\26\xc1\0\x92\0\x80\3\xcc\0\x90\0\x8f\6\xa2\0\x9d\0\x80\5\xb8\0\x8f\a\x93\0\x80\1\x8d\0\xb9\0\xb7\0\x8b\0\x8f\b\x9e\0\x80\2\x8d\0\xd1\0\xbe\0\x8f\17\x88\0\x8f\b\xb8\0\x9d\0\xb6\0\x80\4\x81\0\xb6\0\x93\0\xbb\0\xb7\0\xc5\0\x8f\a\x9f\0\x9c\0\xb6\0\x80\4\xa4\0\x8f\a\xa7\0\x80\0\x81\0\x98\0\xd5\0\x8b\0\x8f\5\xd0\0\xa5\0\x80\30\xb2\0\xaa\0\x8f\r\xa2\0\x95\0\x9d\0\x91\0\x93\0\x9d\0\x9c\0\xa1\0\x8f\32\xac\0\x9e\0\x85\0\xce\0\xa1\0\x8f\27\x89\0\xae\0\x80\4\x83\0\x88\0\x8f\6\xbf\0\x8d\0\x80\5\xc0\0\x8f\a\x97\0\xbb\0\xa5\0\xc1\0\xaa\0\x8f\n\xc8\0\x9c\0\x83\0\xae\0\xc1\0\x90\0\x8f\16\xbe\0\xc1\0\x9b\0\xa0\0\x8f\b\xa0\0\xb8\0\x8e\0\xa5\0\x85\1\xa5\0\xb4\0\x97\0\xb0\0\x8f\t\x8a\0\x94\0\xb6\0\x80\5\xa5\0\x89\0\x8f\6\xa6\0\xbb\0\xc9\0\xd2\0\x8f\6\x9f\0\x9c\0\x92\0\x80\30\xbb\0\xa2\0\x8f\17\xc5\0\xa3\1\xb3\0\x8f\35\x89\0\xa2\0\x88\0\x8f\b\x89\0\xd0\0\x88\0\x8f\2\x9f\1\x8f\a\xb0\0\x98\0\x80\3\x99\0\x95\0\x8a\0\x8f\6\x9e\0\x80\6\x85\0\x8f\b\x88\0\xa2\0\x8f\16\xa0\0\xa2\0\x8f\b\x8a\0\xc1\0\xa4\0\xce\1\xa4\0\x83\0\xb9\0\x91\0\x8d\0\x92\0\x87\0\x8f\v\x89\0\xa2\2\x8f\v\x8a\0\x97\0\x9a\0\x80\6\xa9\0\xca\0\x8f\a\xa2\0\x9f\0\x8f\a\xb0\0\x82\0\x80\30\x8d\0\xad\0\x8f'\x9f\0\xa1\0\xd2\0\x8f\23\xd5\0\xbc\0\xb9\0\xc9\0\xc0\0\xab\0\xa5\0\xc1\0\x8f\a\xc1\0\x81\0\x80\3\x98\0\xc5\0\x8f\6\xa3\0\xa9\0\x80\6\x86\0\xa2\0\x8f#\xaa\0\x93\0\x80\b\x91\0\xbe\0\x8f\31\xa0\0\xc0\0\x86\0\x80\a\xb6\0\xbf\0\x8f\20\xa8\0\xbc\0\x80\31\x9a\0\xcb\0\x8f\6\x8b\0\x9f\0\x8f\25\xa3\0\x9b\0\xae\0\x9c\0\x8e\0\xc1\0\x8e\0\xab\0\xae\0\xd1\0\xcc\0\x85\0\xc5\0\x8f\21\xaa\0\x9d\0\x80\4\xb6\0\xbf\0\x8f\a\xc6\0\x80\4\xa5\0\x8f\a\xac\0\x99\0\x80\a\x94\0\x8f\"\xa2\0\xae\0\x81\0\x80\t\xc3\0\xb0\0\x8f\26\x8a\0\xd0\0\xa7\0\x99\0\x80\t\xd1\0\x8a\0\x8f\16\xd2\0\xd1\0\x81\0\x80\31\x9a\0\xd6\0\x8f\6\x97\0\xa5\0\xa2\0\x8f\23\x90\0\xa5\0\x92\0\x80\b\x81\0\xcd\0\xa2\0\x8f\17\xa8\0\xb9\0\x80\5\x99\0\xc7\0\x8f\6\x90\0\x9a\0\x80\4\xae\0\x8f\6\x8b\0\xa7\0\x80\b\x9a\0\xac\0\x8f\16\xa8\0\x90\0\x8f\17\xa2\0\xae\0\x81\0\x80\v\x91\0\xb1\0\x8f\25\x95\0\xb9\0\x81\0\x80\n\x8d\0\x97\0\x8f\r\xa8\0\xba\0\x80\33\x86\0\xbe\0\x8f\5\xa2\0\xa5\0\x81\0\xc6\0\xd2\0\x8f\20\x8b\0\x97\0\x9d\0\x92\0\x80\v\xc6\0\xd2\0\x8a\0\x8f\v\x8b\0\xd5\0\x9d\0\x81\0\x80\5\x92\0\xb8\0\x8f\5\x8b\0\xc9\0\x80\5\xb9\0\x8b\0\x8f\5\xb7\0\xb2\0\x80\t\xb2\0\xbe\0\x8f\v\x8b\0\xad\0\xc4\0\xa9\0\xb8\0\x8a\0\x8f\v\x8b\0\xa1\0\xcd\0\x8d\0\x80\r\xb6\0\x9b\0\xa8\0\x89\0\x8f\16\x89\0\xa0\0\xc7\0\x83\0\x9a\0\x80\r\xb6\0\xc0\0\x89\0\x8f\t\x8b\0\x94\0\x98\0\x81\0\x80\33\x81\0\xcf\0\x8a\0\x8f\4\x95\0\x92\0\x80\1\x93\0\xd5\0\x8b\0\x8f\f\xa0\0\xb7\0\xce\0\x8d\0\x80\16\x86\0\xab\0\xc2\0\x8f\b\xa0\0\xac\0\xce\0\x86\0\x80\b\xbc\0\xca\0\x8f\4\xab\0\x99\0\x80\5\x8d\0\x9c\0\x8f\3\x9f\0\xa1\0\x98\0\x80\v\x99\0\x9b\0\xa8\0\x8f\a\xa2\0\xd5\0\xa4\0\x8d\0\x80\1\x8d\0\xae\0\xbe\0\x89\0\x8f\a\x88\0\xb8\0\x9b\0\x99\0\x80\21\xb2\0\xa4\0\xb7\0\xb3\0\x8f\n\x88\0\xbe\0\xb4\0\x9d\0\x8d\0\x80\20\x92\0\xa4\0\xa6\0\x8f\6\xa0\0\xb7\0\xae\0\x8d\0\x80\36\x9a\0\xd5\0\x89\0\x8a\0\x89\0\xd0\0\x94\0\x91\0\x80\3\x8d\0\x98\0\xcf\0\xaa\0\x8b\0\x89\0\x8f\3\x89\1\x9f\0\x88\0\xb4\0\xcd\0\x9a\0\x80\21\x81\0\x9a\0\xa5\0\xcf\0\x96\0\xa3\0\x88\1\xbe\0\x8e\0\xce\0\xd1\0\x9a\0\x80\v\x98\0\xb4\0\xa8\0\x88\0\x94\0\x8c\0\x8d\0\x80\a\x99\0\xae\0\xbf\0\x88\0\xa6\0\xaf\0\x9a\0\x80\r\x81\0\xa9\0\x8c\0\x9c\0\xb8\0\xd0\0\x88\0\xaa\0\x94\0\x9b\0\xb9\0\xb2\0\x80\5\x86\0\x85\0\xc9\0\xad\0\xa8\0\x88\1\xbf\0\x94\0\xce\0\x85\0\x9a\0\x80\25\x99\0\xbc\0\x8c\0\xab\0\xad\0\xa6\0\x88\2\xaa\0\x95\0\xcf\0\xae\0\x85\0\x9a\0\x92\0\x80\24\xcc\0\xbd\0\xc0\0\xcb\0\x88\0\xc5\0\xac\0\xc9\0\x85\0\x9a\0\x80!\x81\0\xc4\0\xa5\0\xbb\0\xa9\0\x80\t\x91\0\xba\0\xa4\0\x94\2\xae\0\xd1\0\x93\0\x8d\0\x80\xfe\x80\xfe\x80\xfe\x80\xfe\x80\xfe\x80\xfe\x80\xfe\x80\xfe\x80\xfe\x80A"
)


Le problème venait en fait de l'image qui est loin d'être aussi simple qu'il n'y paraît. L'image en réalité n'est absolument pas monochrome ; l'inscription bénéficie en effet d'un lissage en niveaux de gris avec pas moins de 252 tons différents, qu'img2calc réduisait malgré tout à 87.

Afyu pour sa part avait signalé la miniature de Super Dupont ci-contre, donnant quant à elle un script de 34,4 Ko ne rentrant même pas sur une NumWorks :
Code: Select all
#palette for your image
#252 RGB-888 colors
palette = (
(0,67,116),(2,63,107),(2,54,99),(7,71,116),(7,71,107),(2,50,107),(0,63,99),(7,63,99),(0,63,90),(0,54,107),(7,80,124),(27,80,107),(7,84,133),(45,97,124),(7,76,116),(7,63,90),(0,54,99),(0,45,90),(0,35,81),(0,50,81),(2,80,116),(0,12,45),(7,54,81),(0,2,7),(0,31,64),(0,45,99),(0,54,116),(7,31,45),(0,12,27),(7,50,73),(7,12,27),(0,31,45),(0,45,73),(7,35,64),(0,7,7),(0,84,133),(2,4,45),(2,2,2),(27,50,73),(0,0,2),(7,12,7),(2,109,175),(2,7,2),(0,101,157),(0,0,18),(7,31,36),(7,2,7),(0,80,182),(0,0,0),(0,114,207),(0,2,27),(7,135,190),(0,50,149),(0,67,167),(0,80,149),(0,35,90),(27,118,175),(116,118,141),(107,151,175),(27,0,0),(149,155,167),(27,31,27),(116,76,73),(182,88,99),(157,84,107),(215,109,107),(0,21,73),(0,35,99),(0,84,207),(81,114,141),(141,122,133),(231,59,64),(239,80,73),(141,84,73),(255,54,45),(255,35,27),(239,105,99),(141,45,36),(255,84,64),(81,54,73),(107,45,36),(81,84,90),(215,76,73),(255,31,8),(223,63,45),(0,12,64),(247,67,45),(239,101,90),(239,41,36),(45,67,73),(255,67,55),(215,50,45),(174,80,73),(81,71,81),(174,50,45),(0,35,157),(7,101,149),(255,50,27),(45,50,45),(255,71,64),(207,114,81),(36,45,45),(0,0,7),(0,17,81),(157,105,81),(81,101,107),(73,41,45),(36,88,141),(141,76,45),(73,101,167),(124,84,81),(0,58,207),(90,88,99),(81,58,99),(64,54,64),(223,35,27),(247,8,2),(73,84,107),(116,67,45),(174,80,55),(45,54,64),(81,67,64),(141,105,81),(73,67,81),(107,88,107),(182,114,107),(64,63,64),(0,26,81),(90,21,18),(99,58,64),(81,63,55),(174,26,27),(45,31,27),(7,35,99),(207,7,2),(207,31,27),(190,12,7),(157,17,7),(215,26,18),(247,31,7),(174,26,18),(107,4,2),(157,22,18),(190,31,27),(133,17,18),(198,12,27),(207,35,27),(45,17,27),(99,101,107),(141,114,107),(174,4,2),(124,97,90),(149,4,2),(174,155,149),(116,12,7),(73,80,81),(223,0,0),(73,4,2),(174,114,81),(215,151,141),(215,183,175),(207,203,207),(215,211,207),(231,232,231),(255,247,240),(149,168,157),(190,172,149),(239,155,141),(124,12,7),(215,172,149),(223,232,240),(215,240,247),(207,216,223),(223,220,223),(239,236,240),(223,228,231),(141,131,116),(157,172,175),(239,220,223),(215,143,107),(207,199,190),(182,179,175),(190,187,190),(190,199,190),(174,172,175),(207,191,198),(124,135,141),(190,199,207),(255,255,255),(239,251,255),(0,26,73),(182,224,231),(157,155,149),(141,139,141),(141,143,149),(255,251,255),(36,4,7),(190,207,215),(166,168,157),(45,35,45),(223,224,231),(247,232,215),(27,31,45),(27,17,27),(107,109,116),(133,12,7),(116,118,124),(36,31,18),(0,17,64),(133,0,0),(174,183,190),(239,240,240),(247,247,247),(174,139,116),(149,151,141),(255,236,223),(239,240,247),(247,243,247),(239,187,175),(166,159,167),(239,151,116),(247,203,175),(73,151,182),(239,183,157),(255,216,190),(255,203,190),(239,203,190),(36,101,141),(255,172,133),(239,216,207),(190,135,99),(255,240,240),(124,139,149),(255,187,157),(182,187,198),(247,179,149),(223,155,116),(141,176,198),(27,151,207),(36,168,215),(7,0,0),(36,139,182),(7,109,149),(255,220,207),(239,172,141),(247,168,124),(215,155,107),(255,199,175),(255,199,149),(207,220,231),(182,135,90),(107,172,207),
)

#your image data
#75x100 RLE-8 pixels
image = (
b"\0\0\1\0\2\0\1\2\0\0\3\1\1\1\3\0\4\2\5\0\1\0\6\0\2\0\a\0\b\0\6\0\a\1\6\1\b\0\6\0\4\1\t\0\4\1\2\0\n\0\v\0\f\0\r\0\3\0\n\1\4\0\16\0\n\3\r\0\n\2\4\1\n\0\v\0\n\0\r\0\n\1\v\0\n\0\4\2\v\0\4\0\v\0\17\0\4\1\v\0\4\1\v\0\4\0\t\0\20\0\t\1\20\0\t\2\1\3\t\0\0\0\1\1\6\3\21\0\22\0\23\0\21\0\23\0\21\0\2\1\1\0\2\0\6\0\3\1\1\0\6\0\n\0\2\0\4\0\3\0\4\0\3\0\1\0\4\0\16\0\n\0\16\0\3\1\n\0\4\0\n\0\a\0\4\0\20\0\a\0\24\0\3\0\4\0\6\0\4\0\v\0\4\3\a\0\b\0\6\0\4\0\b\1\a\0\17\0\b\0\17\0\1\0\20\1\t\5\1\1\24\1\25\0\2\0\3\0\t\0\1\0\t\0\26\0\23\0\21\0\2\1\6\0\t\0\6\0\24\0\1\2\3\2\0\0\n\0\27\0\t\0\16\0\30\0\3\0\n\0\4\1\3\1\n\0\3\0\n\0\3\0\n\0\4\0\n\0\4\3\1\0\4\1\v\0\4\0\b\0\24\0\v\0\4\0\a\1\24\0\17\0\a\0\4\0\17\0\b\0\24\0\1\0\31\1\1\1\32\0\6\0\t\1\1\0\20\0\0\0\33\0\34\0\35\0\26\0\36\0\24\0\20\0\37\0 \0\23\0\0\0\20\0 \0\37\0\23\0\2\0\1\0\t\0\3\0\16\0\n\1\f\0!\0\"\0\n\1\26\0\a\0\4\1\6\0\3\0\n\0\3\1\16\0\24\0\4\0\16\0\3\2\n\0\v\0\4\0\a\0\4\0\24\0\17\0\b\1\a\0\4\2\17\0\4\0\17\0\4\0\17\1\4\0\t\0\31\0\t\2\1\0\6\0\1\1\24\0\0\0\22\0\37\0\0\0\25\0\36\0\37\0\24\0#\0\a\0\"\0$\0\21\0\0\0\30\0\27\0 \0\23\0\t\0\2\0\30\0\4\0\26\1\f\0\34\0\35\0!\0\26\0\33\1\n\1\4\0\3\0\16\0\n\1\4\0\n\1\4\0\n\0\4\1\n\2\3\0\n\0\4\1\n\0\4\3\v\0\4\0\16\0\a\0\17\0\4\0\17\0\24\0\t\0\31\0\t\1\1\1\t\0\0\1\1\0#\0\37\0\30\0\24\0\"\0\36\0\23\0\0\0\23\0\25\0\33\0\23\0\34\0\23\0\34\0\30\0\f\0 \0\33\0\30\0\27\0\33\0\36\0\16\0\26\0%\0!\0\34\1\36\0\26\0\f\2\n\0\f\0\r\0\n\0\f\0\n\0\v\0\24\0\3\0\24\0\n\0\26\0\35\0\n\1\26\0\35\0\17\1\35\1\26\0\35\1&\0\35\0\4\1\17\1\4\0\3\0\t\0\31\2\20\0\6\0\1\0\4\0\t\1\30\0\"\0\37\0'\0$\0#\0\6\0\27\0\34\0\30\0\37\0\33\1\34\0 \0\0\0\25\0\34\0\"\0$\0\27\0!\0\f\0\2\0\"\0\33\0\35\0(\1\4\0\f\0\2\0\26\2\5\0\35\0\33\0\4\0\23\0\35\0\17\0\v\0\23\0\0\0\4\0\26\0\"\0\37\0)\0\34\0*\0)\0\22\0\37\0+\0#\0\0\1!\0\b\0\4\0\17\1\1\0\t\1\20\0\31\0\21\0\1\0\0\0\6\0\20\1\t\1\34\0\27\0\23\0\3\0\30\0\25\0\26\0,\0\"\1\27\0\"\0\35\0\3\0\36\0\34\0-\0\26\0\34\0\36\0\4\0\36\0!\1\t\0\0\0\t\0\26\0\4\0.\0\0\0/\x000\0\23\x001\0\34\0\21\x001\0/\0\0\0\27\0\20\x001\0)\0/\x002\x000\0\f\x001\0\25\x011\0\32\0\0\x003\x001\x003\0+\0\30\0\17\1\v\0\5\0\21\0\20\0\31\0\20\1\t\0\23\1\30\0\21\0\t\0\0\0\25\0\34\0\37\0\0\0\23\0\34\0\37\0\"\0\34\0 \0\0\0\30\0 \0\23\0\35\x004\0\23\0\36\x005\x006\0\0\0\34\0\4\0\36\x007\x001\0/\0+\0 \x000\0\"\x001\0/\x000\0\32\x001\0\25\0\32\0)\x001\0\0\0\34\0\0\0)\08\09\0\33\0'\0\r\0:\0;\0\34\0<\0=\0>\0?\0@\0A\0?\0\37\0\4\1\2\0\21\0\20\0\31\0\t\0\6\0\30\0B\0\22\0C\0\22\0-\0\27\0 \0\23\0\33\0\23\0\30\0!\0\5\0\31\0\5\0\26\0\4\0\34\x004\x005\2/\0\25\0\31\0D\0/\0D\0\5\x000\x014\0/\1D\0\34\x000\0\34\08\0E\x000\0E\0F\0(\0@\0G\0H\0I\0\25\0E\0J\0K\0L\0\33\0M\0N\0O\0P\0N\0Q\0R\0K\0S\0T\0P\0\6\0\17\1\2\x007\0\t\2\30\0C\x005\x024\x002\0\25\0\22\0\23\0\30\x004\0\32\0\27\x005\0/\x005\1C\x000\0\30\0/\x005\x006\x005\x012\0\32\x005\1/\0U\x000\1E\0@\0?\0F\0-\0*\0V\0W\0\17\0V\0X\0Y\0Z\0[\0X\0V\0Q\0K\0H\0\\\0J\0]\0^\0S\0>\0\\\0H\0(\0\33\0W\0R\0 \0\23\0\4\0\17\1\1\0\31\0\t\0\0\0\34\x002\x004\x025\1_\x005\x004\0\34\0\27\x005\0D\0\25\1/\x004\x005\0D\0\25\x000\0C\x005\2`\0\v\0(\09\0@\0?\09\0\"\x000\0H\0K\0J\0a\0\\\0\17\0J\0^\0\37\0N\0M\0b\0Z\0\26\0>\0c\0d\0J\0e\0\34\0T\0\\\0H\0S\0A\0L\0M\x000\0=\0N\0P\0\31\0\4\0 \0\17\0\v\0\t\0\31\0\t\x010\0'\0\32\0_\x004\0_\x005\x014\0/\0C\x000\x002\0D\0/\0f\0g\0/\x005\0/\1'\x000\09\0?\0[\0a\0A\0Y\0a\0K\0a\1h\0\33\0Z\0R\0i\0X\0J\0Q\0c\0P\0e\0H\0j\0P\0N\0k\0J\0\\\0T\0R\x000\0%\0H\0\\\0R\0A\0S\0N\0b\0'\0l\0N\0\35\0\23\0\35\0\17\2\1\0\20\0\t\0\22\x000\1$\0C\0_\0m\0n\0?\0n\0_\0o\0$\x000\x007\0D\0\n\0,\0p\0@\0R\0?\0q\0\34\0N\0K\0Z\0V\0>\0b\0J\0>\0Q\0K\0c\0\r\0c\0l\x000\0R\0Z\0I\0Z\0b\0P\0W\0r\0\\\0K\0Z\0V\0e\0s\0R\x004\0M\0H\0R\0^\0O\0S\0T\0\27\1N\0T\0\b\1\17\1\26\0\17\0\t\0\31\0\t\0\23\0%\x000\1\4\0d\0a\0S\0a\0\\\0\25\0m\x010\0(\0A\0R\0Y\0c\0S\0a\0t\0c\0u\0a\0G\0D\0B\x000\0v\0N\0\5\0\35\0Z\0w\0r\0N\0q\0\23\0Z\0\\\1c\0#\0M\0Z\0\17\0[\0S\0\\\0\4\0\"\0R\0a\0R\0N\0n\0H\0M\0\36\0L\0n\0\30\0&\0h\0x\0\6\0\a\0\17\1\23\0\4\0\2\0\20\0\21\0\0\0\25\x000\0=\0W\0S\1N\0A\0y\0e\0N\1\"\0&\0J\0s\0Y\0c\0R\0Q\0[\0a\0z\0X\0R\0k\0u\x000\0M\0N\09\0c\1\37\0P\0Z\0`\0@\0Z\0&\0M\0J\0E\0J\0^\0b\0N\0I\0\1\0#\0\6\0{\0R\0a\0|\0 \0n\0&\0\17\0\4\0\26\0\4\0\33\0\27\0\21\0\4\0\17\3\4\0\2\0\20\0\31\0\0\0\t\0'\0I\0J\0K\0}\0\v\0\27\x000\0~\0J\0R\0%\0Y\0c\0^\0Y\0N\0I\0\0V\0[\0Q\0J\0S\0a\0d\0\27\0I\0J\0S\0H\0e\x000\0\\\0c\0}\0K\0@\0\x80\0\x81\0R\0a\0R\0 \0y\0A\0 \0#\0\4\0\f\0\0\0 \0\37\2\"\0\23\0\"\0,\0\"\1\27\0\34\0\a\2\17\0\a\0\26\0\4\0\2\0\31\x007\0\31\0\32\0 \0T\0S\0N\0/\0_\x000\1\x82\0Z\0R\0%\0y\0c\0^\0r\0N\09\0@\0Z\0y\0r\0a\0R\09\0!\0\27\0[\0c\0N\0R\0\30\0'\0H\0K\0J\0I\0j\0t\0\x83\0v\0I\0P\0\x84\0\30\0\21\0+\0k\0\4\0\f\0\33\0'\0\"\0,\0(\0\34\0\26\0\33\0\35\0\26\0\a\0\16\0\4\0\a\3\26\0\b\0\4\0\1\0\t\1\22\1\30\0\\\0K\0S\0?\0D\0\x85\x000\0y\0Z\0\\\x000\0y\0Z\0I\0j\0c\0K\1}\0\"\0M\0J\0m\0o\0C\0=\0J\0\\\0u\0V\0W\0\v\0@\0I\0n\0P\0\x86\0\x87\1\x88\0\x89\0\x8a\0\x8b\0\x8c\0\x80\0\26\0#\0+\0\f\0\2\0\a\1\n\3\f\0\n\0\3\0\16\1\4\1\2\0\4\0\a\0\4\0\17\0\4\0\t\1\0\0\37\0U\x004\0\35\0W\0S\1W\0m\0\27\0j\0N\0R\0%\0>\0c\0P\0O\0J\0K\0?\0\34\x000\0\\\0J\0@\0^\0R\0Y\0L\0l\0\x8d\0I\0l\0P\0M\0\x8e\0\x86\0\x8a\0\x8f\2\x87\1\x8f\1s\0\x8a\0\x88\0\x80\0\23\x006\0`\0\f\2\n\0\3\0\4\0\3\3\4\4\26\0\2\0\17\0\4\0\2\0\21\0\0\0 \x000\0/\x004\0=\0d\0c\0t\0Z\0n\0x\0J\0A\0\25\0M\0N\0\x82\0j\0J\0@\0\x90\0\x8d\0,\0R\0J\0Z\1I\0j\0n\0M\0\x86\0\x88\0\x89\0\x8a\1s\0\x91\0\x87\4\x8f\4\x92\0\x8b\0\x88\0\x93\0\0\0+\0\f\0\16\0\f\0\3\0\16\2\3\2\4\3\26\0\a\0\26\0\4\0\2\0\31\0\32\0\21\x000\x007\0D\0$\0\"\0\x94\0H\0t\0Z\0\x95\0K\0?\x005\0I\0J\0~\0P\0c\0>\0\x96\0\x8a\0j\0\x97\0I\0>\0\x81\0\x90\0\x8a\0\x86\0\x91\0\x87\1\x92\0\x8f\0\x87\0\x92\0\x87\0\x92\1\x87\a\x8f\1[\0\x8b\0\x98\0\22\0+\0\f\0\16\0\n\0\16\1\n\0\3\1\16\0\3\0\4\1\a\0\5\0\a\0\17\1\2\0\20\0\t\0\0\0\27\x000\0/\0_\x000\1i\0J\0S\0\x99\0J\0t\0}\0X\0Z\0Y\0I\0A\0j\0\x88\1\x8f\0\x9a\0\x8e\0\x86\0\x8a\0\x86\0\x8a\0\x92\0\x91\0\x86\0\x91\0\x86\2\x91\0\x8a\1\x92\0\x87\0\x92\1\x87\2\x92\0\x87\2\x8f\0\x87\0\x8b\0\x86\0\36\0#\0`\0\16\2\3\4\4\0\5\0\4\1\a\1\4\0\2\0\31\1\0\0\22\0%\0?\0m\0\26\0-\0@\0K\0J\0\x9b\0Q\0Z\0S\0J\0@\0\x80\0\x81\0P\0\x89\0\x87\0\x83\0\x87\0s\0\x8a\0\x87\0\x88\0\x96\2\x88\0\x87\0[\0^\0[\1J\0\x86\1\x9c\0\x86\0\x8a\0s\1\x87\1\x92\1\x8a\0\x92\0\x87\1\x8f\0s\0t\0\x9d\0#\0`\0\16\1\3\0\16\1\3\1\4\4\a\0\16\0\2\0\31\0\20\0\t\0\21\0\37\0Z\0S\0H\0W\0S\1d\0-\0\x80\0>\0@\0n\0P\0\x86\0\x96\0\x88\0\x8f\0\x83\0\x8f\1\x88\0\x9c\0\x96\0\x92\0\x9e\0\x9f\0\xa0\1\xa1\0\xa2\1\xa3\0\xa4\0\xa5\0\xa6\0\x9f\0\xa7\0R\0\x86\0\x9c\0\x86\0\x92\0s\0\x92\0\x87\0s\0\x87\0\x92\0\x87\0\x91\0\x8f\0\x92\0\x8b\0\x9d\0\24\0`\0\n\0\16\3\5\0\3\1\4\1\a\0\4\0\v\0C\0\21\0\20\1\32\0\21\0d\0a\0K\0S\0a\0A\0Y\0\xa8\0\x88\0\xa8\0\x9a\0\x98\0\x96\0\x83\0\x8c\0\x83\0\x88\0\x8f\0\x88\0\x96\0\x91\0\x9e\0\xa9\0\xa2\0\xaa\0\xab\0\xac\0\xad\0\xae\1\xaf\0\xa2\0\xb0\0Y\0\xab\1\xb1\0\xaa\0\xb2\0\x9f\0[\0\x9c\1[\0s\3\x92\0\x87\0\x92\1s\0\x8b\0\x8d\0#\0+\0\16\0\f\0\16\1\3\0\5\0\3\0\4\2\a\0\4\0\23\x007\0\21\1\20\0\31\0\23\0u\0n\0I\0u\0\37\0\x8d\0\x8a\0\x89\0\x8c\0\x88\0\x83\0\x8c\1\x83\0\x8f\0\x88\0\x96\1\xb3\0\xa2\0\xab\0\xad\0\xa2\0\xb4\0\xa1\0\xa3\0\xa2\0\xb4\0\xb5\0\xb6\0\xb7\0\xb8\0\xa3\0\xb6\0\xb5\0\xb9\0\xba\0\xbb\0\xbc\0\xbd\0\xa0\0R\0\x9c\0\x86\0X\0\x87\0s\2\x92\3S\0\x9d\x006\0\f\0\16\1\3\0\16\0\n\0\3\0\4\2\2\0\16\0\26\0\21\1\31\0\21\0\20\0\31\x007\0\xbe\x004\0$\0\x8d\0\x8f\0\x89\1\x83\1\x8e\0\x8c\0\x83\1\x96\0\x9c\0\x9e\0\xa1\0\xbf\0\xa1\0\xb4\0\xa1\1\xa2\0\xaf\0\xb5\0\xc0\0\xc1\0\xc0\0\xb5\0\xc2\0\x94\0e\x000\1~\0\xa2\0\xc1\0F\0\xaf\0\xc3\0\xbd\0\xa9\0\x8a\0\x9c\0s\4\x92\1\x87\0s\0\x8b\0\xc4\0+\0\f\0\16\0\3\0\0\0\16\2\4\3\23\0C\0\21\0\20\0\31\0\20\1\t\0#\x007\0\x8d\0\x88\0\x89\2\x83\0\x8e\0\x8c\1\x83\0\x96\1\xa9\0\xc5\1\xb6\0\xb4\0\xa1\0\xb4\0\xad\0\xa3\0\xc6\0~\0b\0\xc7\0(\x000\6=\0\xa1\0\xb6\0F\0\xc1\0\xc8\0\xbd\0\xb2\0R\0\x9c\0s\0X\0s\3\x92\0\x87\0X\0t\0\33\0+\0\16\0\f\0\16\0\n\0\3\0\16\1\4\1\16\0\23\0\22\0\0\21\0\31\0\20\0\31\0\t\0\32\0\xc4\0\x88\0\x89\0M\0\x89\2\x8e\0\x83\0\x8c\0\x96\0\x8f\0\xb7\0\xbf\0\xb5\0\xb6\0\xb4\0\xa1\0\xb7\0\xc9\0\xaf\0\xb0\0\xca\1\xcb\0\36\0\xcb\1\xca\1=\0\"\x000\2'\0\xcc\0\xb8\0\xc0\0F\0\xad\0\xbd\1\xa7\0\x9c\0\x8a\0s\2\x92\0s\0\x92\0\x87\0X\0\x96\x007\0+\0\f\0\16\1\3\1\5\0\3\0\5\0\16\0\22\1\1\22\1\31\0\0\0$\0\x96\0\x8e\0\xcd\0\x89\1\x83\0\x8c\1\x88\0\x96\0\\\0\xc5\0\xbb\0\xb5\0\xb7\0\xb4\0\xb7\0\xb4\0\xc9\0\xad\0y\0(\0\xca\0{\0\xca\0'\x000\0.\0\xca\1\27\x000\6\xb5\0\xc1\0\xc6\0\xc3\0\xaf\0\xbd\0\xa0\0\x9c\0\x8b\0X\0s\2\x92\0s\0\x87\0S\0\xa8\0#\x006\0\16\0#\0\16\0#\0\3\1\4\0\v\0\22\0\30\0\22\0\0\22\1\32\0\21\0\x8d\0\x88\0\x90\0\x89\3\x8c\0\x83\0\x98\0l\0\xbb\0\xb7\0\xa6\0\xb7\2\xb4\0\xad\0\xaf\0~\0(\0b\0=\0'\x000\1\xcb\0r\0x\0(\0'\x000\3%\0<\0\xb6\0\xaf\0\xce\0\xa1\0\xa4\0\xa3\1\xbd\0\xb9\0\x9c\0\x8b\0s\0X\0s\2\x92\0[\0\x8b\0\xca\0+\0\16\1\f\0\n\1\16\0\3\0\16\x007\0\0\22\1\0\21\1\xcf\0\x8c\0\x90\1\x89\3\x8e\0\x98\0l\0\xb7\0\xb5\0\xc6\0\xb4\1\xb5\0\xb4\0\xa1\0\xa2\0\x94\0e\0\xc7\0.\x000\0'\0\xca\0]\0u\0r\0.\0'\x010\4\x94\0\xbc\1\xc2\0\xaa\0\xae\0\xa3\1\xaf\0\xbd\0\xa0\0\x9c\0S\0X\0s\3\x87\0K\0\x96\0\32\0`\0#\0\16\0\n\0\0\0\f\0\0\0\3\0\22\0\21\0 \0\22\1\32\0\xd0\0\xd1\0\x89\0\x90\0\x89\3\x8c\0\x98\0\x96\0\xb5\0\xd2\0\xc6\0\xa6\0\xb5\1\xb4\2\xc0\0{\0r\0.\1\xc7\0p\0\xcc\0]\0(\x000\6=\0\xc2\0\xb5\0\xd3\0\xbc\0\xa0\0\xa2\0\xd4\0\xa3\2\xae\0\xbd\0A\0\x9c\0X\0s\1X\0s\2S\0\x93\0)\0\f\0#\0\3\1\n\0\0\0\16\0\t\0\21\0\x007\0\21\0\31\0\xc4\0\x96\0\xcd\1\xa8\0\x90\0\x89\2\x98\0\xd5\0\xb1\0\xd6\0\xc6\0\xb5\0\xb7\0\xb6\1\xb4\0\xb6\0p\0u\0\xca\0\xc7\0]\0|\0\xcc\0r\0\27\x000\6=\0\xce\0\x94\0(\0*\09\0\xa0\0\xad\0\xd4\0\xae\0\xd7\0\xae\2\xbc\0R\0t\0X\1s\1X\0s\0X\0\x96\0\t\0`\0\f\2\n\0\16\0\n\0\2\0\t\0\22\1\31\0\30\0\xa8\0\x89\0\xcd\2\x8e\0\x90\0\x89\0\xd1\0I\0\xb7\0\xb0\0\xc6\0\xb5\2\xb7\0\xb4\0\xc6\0\x94\0u\0{\0x\0]\0p\1q\0%\x000\a%\x000\1(\0'\0%\0\xbb\0\xbc\0\xc3\1\xd3\0\xae\1\xa3\0\xbd\0\xa3\0\x9c\0\x8b\0X\1s\1X\0s\0S\0\xc7\0/\0\f\0#\0\f\0\n\0\16\0\f\0\2\0\31\x007\0\22\x007\0\xcb\0\x98\0\xcd\0\x90\0\xcd\0\x89\0\x90\0\xcd\0\x98\0\x89\0\xa5\1\xd5\0\xa5\0\xc6\1\xb7\0\xa2\0\xc6\0{\0Y\0q\0x\0{\1]\0r\0.\x000\6'\1.\0\xc1\0\xb6\0\xb5\0\xc1\0p\0\xa1\0\xd8\0\xa3\0\xc8\0\xa3\0\xd9\0\xbc\0\xd9\0\xa3\0\xbd\0\xa7\0\x9c\0X\2s\1\x8a\0K\0\x89\x004\0`\0\f\1#\0\3\0\16\0\23\x007\0\22\0\21\0\30\0\x9d\0\x98\0\xcd\1\x90\1\x89\1\xd1\0\x95\0\xd2\0\xb0\0\xa5\0\xc6\1\xa6\0\xa2\0\xb0\0e\0=\0.\1\36\0.\0(\0\36\x000\6\xca\0]\0r\0%\0Q\0\xbc\09\x000\0\xa1\0\xd6\0\xc0\0\xa2\0\xa1\0\xac\0\xad\0\xb5\0\xb6\0\xd3\0\xc3\0\xd8\1s\0t\0G\0X\4t\0!\0)\0\f\2#\0\f\0\23\0\0\22\0\20\0\37\0\x8d\0\xcd\2\x90\2\xd1\0\xcd\0\xa5\1\xc6\0\xd6\0\xc6\1\xb4\0\xb0\0'\x000\2'\x000\6,\0b\0\x95\0\x99\1\xda\0\xa9\0%\0(\0\xd4\0\xd3\0(\0\xc4\0|\0p\0\xca\0=\0r\0\xce\0\xa2\0\xb5\0\xc2\0\xae\0\xd9\0\xbd\0\xa7\0\x9c\0X\5K\0\x80\0+\0\f\x006\0\n\0\f\1\22\1\21\0\t\0\xcf\0\x98\0\xcd\1\x90\1\x89\0\x90\0\x8d\0z\0\xa5\0\xc1\0\xd5\0\xc6\2\xb5\0y\x000\v\x84\0\x9f\0\x99\0\x95\0\xa6\0z\0\xcf\x000\1\xcc\0\xbc\0\xdb\0\xcf\0Y\0\xb8\0\27\0f\0.\x000\0\x94\0\xbc\0\xad\0\xc1\0\xbc\0\xd8\0\xd3\0\x8b\0S\0X\1s\0X\0s\0K\0\x96\0#\0+\0\f\1#\0\f\0\23\0\xbe\0\22\1\x9d\0\x98\0\xa8\2\xcd\2\x98\0\xc1\0\xa5\0\xb0\0\xa5\0\xc6\0\xd6\0\xb0\2\33\0-\1\"\2%\0(\2b\0\xca\0\"\0(\0I\0j\x000\0(\0\"\0~\0\x84\0\x95\0\xbc\1\x95\0j\0\xb9\0%\0\36\0\27\x000\0\xa2\0\xd4\0Q\0\xc2\0\xbc\0\xd4\0\xbc\0L\0t\0K\0X\2s\0X\0t\0\2\0)\x006\0\f\0#\0\f\0\22\0\xbe\1\25\0\x8d\0\x89\0\xa8\1\x9a\0\xcd\0\xa8\0\xd1\0M\0\xa5\0\xd6\0\xa5\1\xd6\0\xb0\0\xcc\1i\0\4\0\v\1\n\0\6\0\v\0\x9b\0)\0=\0l\0\xd5\0\xb4\0\x95\0P\0\xdc\0\x9e\0\x93\0}\0\xc6\0\xd6\0\xdd\0\x95\0\xc0\0\xbc\0\x95\0\xa0\0r\0\27\x000\0*\0\xa2\0\xa1\0!\0{\0\xbc\0\xc8\0\xac\0\xd8\0\xa0\0\x9c\0t\1S\0K\0X\1S\0j\0)\x006\0`\0#\0\f\0\23\0\xbe\x007\0\25\0\xa8\0\xcd\0\x90\0\xcd\0\xa8\0\xcd\0\x90\0\xd1\0I\0\xa5\0\xb0\3\xce\0\xcc\0\xce\0Y\0\b\0\17\1 \0\x97\0\xa9\0\xde\0)\0\xcb\0R\0\xdf\0\xda\0}\0\\\0\xe0\0\x9e\0\x93\0}\0\xa7\0\xe1\0\xbc\0\x9e\0~\0\xaf\0\xe2\0\xb5\x000\0%\0\36\0\xa3\0\xc0\0$\x000\0\xc2\0\xaf\0\xa1\1\xa3\0\xd3\0\xa0\0A\0R\0s\0\x9c\1\x8b\0a\0\x80\x006\0`\x006\0\f\0#\0\35\0\x007\0\36\0\xd1\0\xa8\0\xcd\0\x90\0\xcd\0\x90\0\xcd\0\xd1\0\xce\0\xa5\0\xd6\1\xc6\0\xd6\2\xba\0\b\0\v\0\b\0\34\0\xb0\0\xe0\0\xa7\0\xe3\x003\0\4\0M\0\xe4\0\xe5\0\xa9\0\x9e\0W\0\x80\0b\0\xe6\0\xdf\0\xe7\0\xe4\0\x9d\0\xd2\0\xae\0\x94\0~\x000\0e\0\xad\0p\0'\0Y\0\xa0\0\xad\0\xb2\0\xe5\0\xa2\0\xe2\0\xe5\0\xc3\0\xbc\0\xc3\0\xd4\0\xe2\0A\0\x8a\0t\0\xd1\x006\0+\0#\x006\0`\0\22\2\xc4\0\xcd\0\x9a\0\xa8\0\x90\2\xd1\0\xcd\0\xd6\0\xa5\0\xd6\2\xc6\1\xb4\0\xe8\0\24\x003\0\17\0\x99\0\xe9\0\xa9\0\xe1\0\xde\0+\1O\0L\0\xa9\0\xc4\0R\0\xe2\0\x9f\0\xdc\0v\0j\0\xda\0d\x000\0\x99\0\xbc\0\xcb\x000\0x\0\xea\0j\0\27\0\xc0\0\xa0\0\x95\0~\0\35\0\4\0\v\0\4\1\v\0u\0i\0\xc1\0\xd2\0\xd9\0\xd4\0\xa7\0\x89\0U\0/\0+\0\f\1\23\0\22\x007\0\xc4\0\x98\0\xa8\3\x9a\0\xcd\0\x90\0\xa5\0\xd6\2\xa5\0\xc6\0\xa6\0\xb4\0\xba\0#\0\37\0\xa6\0\xd4\0\xe2\0\xc8\0\xd4\0\xb5\x006\0#\0i\0\xdc\0}\0(\0I\0\xe1\0\xdc\0\xa8\0\xcb\0\xc7\0\xeb\0\xec\0\xcb\0n\0\xad\0=\0-\0\xed\0\x84\0\"\0\xba\0\x94\0 \0\22\0+\0)\x003\0\xee\0\xef\0\xee\x003\0)\0`\0\0\0\a\0x\0\xba\0\xa2\0\xd4\0\xb1\0\16\0C\x006\0`\0\22\1\30\0\xc4\0\xcd\0\xa8\0\x9a\0\xa8\1\xcd\0\x98\0M\0\xe8\0\xb0\0\xd6\0\xa5\0\xd6\0\xc6\0\xa6\0\xb4\0\xe3\0\b\0\x9b\0\xe0\0\xe5\2\xd4\0\xa0\0C\0\t\0\4\0\xa7\0v\0-\0\36\0\xf0\0;\0'\0\34\x000\0>\0z\0\x94\0\xbc\0\xd6\0\27\0m\0\"\0\37\0\v\0\37\0\6\0\xee\0\xef\x003\0\xee\0\xf1\0\xf2\0#\0\xf2\0\xf1\0\xee\0\xef\0\xee\x003\08\0\0\0\33\0Q\0\xe5\0\xbc\0<\0C\0\32\0\30\0\22\0\30\0\x9d\0\xcd\0\x9a\0\xa8\0\x90\0\xcd\0\xa8\0\xd1\0v\0\xa5\0\xd6\3\xb5\1\xc6\0\r\0\37\0z\0\xe4\0\xa7\0\xda\0\xf3\0\xad\0\xce\0\xc1\0U\1}\0\xd5\0%\0\x80\0I\0j\0h\0\\\0I\0\x84\0\xcf\0\xae\0\xbc\0(\0\f\0-\0\37\0\26\1\xee\0\xef\x003\0#\0\23\0\34\0'\0\36\0\x9b\0b\x000\0\37\0\r\0\xf1\0\xee\08\0\xf1\0\xee\0\a\0,\0\x95\0\xbc\0\xc3\0E\0\22\1\30\0\x9d\0\xcd\1\xa8\0\xcd\1\xa8\0\xd1\0I\0\xa5\0\xc1\0\xd6\0\xc0\0\xc6\1\xc0\0\xce\0\17\0\37\0P\0\xb3\0\xf4\0\xe9\0\xe1\0\xb0\0\xb1\0\xbb\0p\0\34\0,\0\xb4\0\xe2\0\x9d\0M\0l\0w\0I\0j\1\xad\0\xbc\0\xcf\0\35\0\v\0\36\0&\0k\0\xef\0\xf2\0\30\0\33\x000\0\xc4\0\x81\0j\0y\0\xc0\0\xb9\0\xb6\0\xcf\x000\1\v\0\xee\x003\1\xf1\1 \0(\0\xa0\0\xbc\0\22\0\xbe\0$\0\xc4\0\xcd\0\xa8\0\x8d\0\xa8\0\xcd\0\x90\0\xd1\0l\0\xa5\0\xc1\0\xd6\1\xc6\0\xd6\0\xb0\0\xce\0\17\0\30\0v\0\x9e\0A\0\xe4\0\x99\0\xb1\0\xaa\09\0z\0\xa0\0\x95\0Q\0\xdd\0\x9e\0\xc2\0\xa0\0\xa6\0h\0%\0\xb2\0\xbc\0=\0'\0\26\0\30\0\5\0)\1\37\0.\0|\0\xcc\0\xb3\0\xa9\0\xda\0\xdd\0\xa9\0\xd5\0j\0\xea\0\xbc\0\xc2\0%\x000\0\34\0\xe3\0\xf1\2\xee\0\n\0\34\0F\0\30\0\xbe\0\xd0\0\x9d\0\x98\0\x9a\0\xa8\1\xcd\0\x90\0\x98\0v\0\xa5\0\xc2\0\xd6\0\xa5\1\xc2\0\xb0\0\xcc\0\17\0 \0n\0\x9e\0l\0h\0\xdb\0\xc8\0\xc3\0\xe8\0\xf0\0\xdc\0\xeb\0\xb4\0\x95\0\xe4\0\xf3\0\xbc\1\xe9\0n\0\xa3\0b\x000\0!\0Y\0x\0\v\0\r\0{\0j\0\xb1\0<\0\xec\0\xf3\0\xd7\0\xb2\0\xe2\0\xd7\0\xbc\0\xa0\0\xf0\0\xc2\0\xbc\0\xa3\0=\x000\1\35\08\0\xf1\08\0\xee\x003\0\37\0\30\0B\0\xbe\0\x9d\0\x98\0\xa8\0\x90\0\xcd\1\xa8\0\xd1\0M\0\xa5\0\xc0\0\xd6\0\xc6\0\xc0\0\xc2\0\x95\0\xcc\0\17\0\37\0Y\0\x9e\0l\0v\0\xac\0\xd8\0\xbc\0Q\0\x9d\0\xdc\0d\0\xf5\0\xa6\0z\0h\0\x80\0d\0v\0\x95\0y\0'\0\34\0}\0\xe1\1\xdd\0\xf4\0F\0\xea\0\xbf\0I\0\xe4\0\xf3\0\xe7\0\xb2\0\xf3\0\xe2\0\xb2\0\xa4\0\xdf\0\x80\0|\0\xbc\0\xae\0%\x000\1(\0\r\08\0\xf1\0\xde\0\xf1\0\30\0B\0\0\xc4\0\x98\0\xcd\0\x90\0\xa8\0\xcd\1\x8d\0M\0\xd6\0\xc1\0\xd6\0\xa5\0\xc0\0\xb0\1\xce\0\v\0 \0\xc7\0I\0h\0>\0\xd8\1\xc3\0{\0l\0\xdc\2\xf5\0}\0z\0\x95\x000\0(\1%\0'\0\xcf\0\xf6\0\xdc\0\xe4\0\xe0\0\xdb\0\xc2\0\xbc\0\xce\0\\\0\xe4\0\xe1\0\xb2\0\xe7\1\xd7\0\xf3\0\xa4\0\xd7\0\xf7\0\x80\0\xcc\0\xc3\0\xc0\x000\2\xf0\0\xe3\0\xf1\1\xde\0\22\0\xbe\0C\0\xc4\0\xcd\2\xa8\0\xcd\1\x98\0\xcd\0\xd6\0\xa5\0\xd6\1\xc0\0\xc1\0\xce\0\x95\0Y\0\33\0?\0P\0v\0F\0\xd8\0\xbc\1\x94\0w\0\xdc\1\xda\0\xdc\1\xe9\0\xbc\0\xd6\x000\2(\0d\0\xdc\0\xec\0\xeb\0\x9f\0<\0\xaa\0\xae\0\x82\0d\0\xf4\0\xdf\0\xf3\0\xd7\0\xae\0\xd7\0\xe7\0\xa4\0\xe7\0\xf3\0\xf5\0;\0\xb9\0\xbc\0.\x000\3\r\0\xf1\0\xde\0\5\0\30\0\31\0(\0\xd1\0\xcd\1\xa8\0\xcd\2\x98\0\xb0\0\xa5\0\xd6\0\xc0\0\xa5\0\xc1\0\xc2\0\xcc\0x\0h\0I\0P\0j\0\xc2\0\xbd\0\xe7\0\xbc\0\xce\0l\0\xb3\0\xec\0\xdd\0\xf7\0\xa7\0\xda\1\xf7\0\xa9\0\x95\0\xd5\0\xf3\1\xa1\0\xe5\0\xdd\0\xdb\0\xac\0\xbd\0\xea\0l\0\xdc\0\xb3\0\xeb\0\xdd\0\xf3\0\xd7\1\xe7\0\xa4\1\xc9\0\xf8\0l\0O\0\xbc\0\xc2\x000\4\r\0\xde\0\22\1\31\0\25\0\x8d\0\x89\0\x90\0\xa8\0\xcd\0\x90\1\xd1\0I\0\xa5\0\xc1\0\xc6\1\xb1\0i\0y\0}\0P\0O\0P\0\xcb\0\xc0\0\xd8\0\xe7\0\xbc\0\xc1\0l\0\xe6\0\xb3\0\xf4\0\xda\0\xe5\0\xf3\0\xdc\0\xb3\0\xf8\0\xe0\0\xf3\0\xe1\0\xb4\0\xad\0\xe5\0\xa9\0\xbb\0\xc3\0\xd8\09\0\x9e\0\xf6\0d\0\xdc\0\xf4\0\xe1\0\xd7\0\xf3\0\xd7\2\xc9\0\xe4\0\x9e\0\x84\0\xd3\0\xc3\0\"\x000\4\r\0\22\0\0\31\0\xd0\0\x8d\0\x89\0\xcd\0\x90\0\xa8\1\x90\0\xd1\0M\0\xa5\0\xc1\0\xc0\0\xa5\0x\0\xcf\0\xf4\0\xa4\0=\0.\0j\0\xc7\0\xdb\0\xaa\0\xd4\0\xc3\0<\0P\0\xb3\1\xa9\0\x9f\0\xe5\0\xdd\0\xb3\1\xa7\0\xf4\0\xdf\0\xa9\0\xda\0\xb4\0\xda\0\xb5\0\xaa\0\xbc\0\xc8\0I\0d\0\xb3\0d\0\xb3\0\xe4\0\xe1\0\xf3\2\xc9\0\xd7\0\xf3\0\xeb\0A\0\xc4\0\xc0\0\xbc\0p\x000\5\22\0\x007\1\x9d\0\x89\0\x90\2\xa8\1\xcd\0\xd1\0\xb0\0\xb1\0\xb8\0e\0\x80\0\xe9\0\xd7\0\xf3\0\xd5\x000\0.\0r\0\xad\0\xd9\0\xd3\0\xa4\0\xab\0\x97\0\x9e\0\xd5\0\x9f\0\xec\0\xdd\0\xec\0h\0\xb3\0\xec\0\xa9\1\xda\0\xe5\0\xdd\0\x9f\0\xc5\0\xc3\0\xd4\0\xc5\0\x95\0\xb3\0A\0\xb3\0d\0\xa7\0\xda\0\xe0\0\xc9\0\xf3\1\xd7\0\xf3\0\xda\0\xec\0\x80\0]\0\xbc\0\xc2\x000\5\30\0\22\1\31\0\xcb\0\x98\0\x90\0\xa8\1\xcd\0\xa8\0\xcd\0\xd1\0h\0\xd2\0Y\0(\0\xf4\0\xe5\0\xb2\0\xf5\0\xe4\0y\x000\0(\0\xa3\0\xbc\0\xd3\0\xd9\0\xbc\0<\0v\0}\0\xb3\0\xec\0\xdd\0h\0I\0\xe6\0\xb3\0\xa9\1\xb4\0\xda\0\xe9\0\xb5\0\xd9\0\xc3\0\xd4\0\xea\0\xd5\0\xdc\1\xf6\0\xec\0\xa7\0\xdf\0\xf3\1\xe5\0\xd7\1\xf3\0\xf7\0\xdc\0>\0\36\0\xc3\0\xb5\x000\4%\0\22\x007\1\31\0\37\0\x8d\0\x98\0\xa8\2\x90\1\x98\0\x9a\0u\0\"\0\x9e\0\xe1\0\xb2\0\xdf\0\xf5\0\xf4\0\xb3\0\xc4\x000\0\xa1\0\xbc\0\xd8\0\xd3\0\xc3\0\xd8\0|\0I\0\xe6\0\xb3\0\xdf\0n\0P\0z\0\xd5\0\xa9\0\xb3\1\x9f\0\xa6\0\xaa\0\xbc\0\xd4\0\xd8\0\xea\0\xd5\0\xe4\0\xa7\0\xdc\0\xa7\0\xf4\0\xe9\0\xdd\0\xe1\1\xe5\0\xf3\1\xf7\0\xdc\0I\0.\0\xb9\0\xa2\x000\4%\0\22\x017\1\xbe\0\x9d\0\x89\0\xa8\0\xcd\0\xa8\0\xcd\0\xa8\0\x8d\0\x9d\0;\0y\0\xda\0\xb2\0\xd7\0\xf5\0\xeb\0\xec\0A\0j\x000\0\xc0\0\xbc\0\xd4\0\xe7\0\xd3\0\xbc\0\xac\0>\0w\0\xec\1\x82\0j\0z\0\xe6\0\xd5\0\xb3\0\x99\0\xa9\0\xac\0\xc3\0\xd3\0\xe7\0\xd4\0\xd2\0\x9f\0\xdd\0\xe9\0\xeb\0\xa7\0\xeb\0\xa7\0\xe9\0\xda\2\xe9\0\xda\0\xe9\0\xdc\0>\0.\0\xa0\0\xd4\x000\4%\0\22\0\xbe\0\22\1C\0\xcb\0\x98\0\xa8\1\xcd\0\xa8\0\x8d\0\x9d\0;\x000\0z\0\xf3\0\xe7\0\xf7\0\xec\1\xdc\0h\0j\x000\0\xce\0\xc3\0\xd4\0\xe7\0\xd3\0\xd4\0\xbc\0\xbb\0z\0\x9e\0h\0\x93\0j\0l\0h\0}\1\xb4\0\xaa\0\xc3\0\xd4\0\xd3\0\xae\0\xd4\0\xd2\0\xa0\0\xe0\0\xda\2\xf4\0\xeb\0\xe9\0\xda\1\xe9\0\xeb\0\xe9\0\xeb\0d\0>\0.\0\xa2\0\xbc\0\xce\x000\3%\0\22\0\0\22\0\xbe\0\31\0\xbe\0\x8d\0\xcd\0\xa8\1\x8d\0\x9d\1\xf0\0\xc4\0\x9f\0\xe7\0\xf3\0\xf4\0\xda\1\xb3\0O\1\xf0\0Y\0\xab\0\xd8\0\xbc\0\xd8\0\xd3\0\xd4\0\xbd\0\xc5\0\xd6\0\x95\0b\0\x81\0>\0\x97\0\xb5\0\xaa\0\xbd\0\xbc\0\xe7\0\xd8\0\xd3\0\xae\0\xd9\0\xb8\0\xa0\0\xc9\0\xf3\0\xe5\0\xf3\0\xda\1\xdf\0\xeb\0\xe9\1\xeb\0\xe9\0\xe4\0h\0.\0|\0\xbc\1\xc3\0(\x000\2%\0\22\0\x027\0\30\0.\0\x98\0\x9a\0\x8d\1\x9d\0;\x000\0\x95\0\xa4\0\xf3\0\xf5\0\xb3\0\xf3\0\xf8\0>\0j\0\x81\0\x84\0(\0\xd2\0\xf9\0\xa3\0\xd4\0\xd3\0\xa3\0\xae\0\xc3\0\xab\0\xbb\0\xb6\0\xbf\0\xf9\0\xae\0\xc3\0\xbc\0\xd4\0\xd8\0\xd4\0\xd3\0\xae\0\xa3\0\xd3\0<\0\xa0\0\xc9\0\xf3\0\xda\1\xdf\0\xe9\0\xdf\0\xeb\0\xe9\0\xeb\0\xe9\0\xeb\0\xf5\0w\0\xc4\0\xae\0\xbc\2\xb6\x000\2%\0\23\0\1\22\0\x007\0U\0\x8d\0\x89\0\x8d\0\x9d\0%\x000\0x\0\x94\0\xb8\0\xe1\0\x9e\0\xda\0\xeb\0}\0\x84\0j\0O\0\xc7\0.\0p\0\xc5\0\xac\0\xf9\0\xd8\0\xe7\0\xd4\0\xd3\0\xeb\0H\0\xd1\0?\0\xda\0\xd4\0\xc3\0\xe7\0\xd3\2\xae\0\xa3\0\xe7\0\xd3\0<\0\xa6\0\xf7\0\xe4\0\xeb\0l\0(\0\xb3\0\xe0\0\xe1\3\xe0\0\xf3\0\xe0\0z\0\xb8\0\xc3\1\xbc\1b\x000\1%\0\22\0\30\0\x007\2C\0\xc4\0\x98\0\x9d\0\x84\0\xb0\0b\0\xca\0\x94\0\x9b\0\x94\0\x99\0\xf6\0\xe6\0\x81\0r\0j\1\xcb\0{\0=\0Q\0\xb7\0\xbb\0\xac\0\xaa\0\xd3\0W\0^\0\x80\0P\0\x9d\0\x86\0A\0\xc3\0\xae\0\xd3\1\xa3\0\xd7\0\xae\0\xe7\0\xbc\0\xed\0\x95\0\xdc\0\xb3\0v\0(\x000\0\xb3\0\xe1\0\xf3\1\xc9\0\xd7\0\xa4\0\xbc\0\xc3\0\xe9\0P\0\xa2\0\xbc\2\xc0\x000\1%\0\22\0\xbe\0\22\x007\0\0\22\0\31\0B\0;\0\xf0\0\xa6\0\xa4\0\xdf\0Q\0\xc3\0\xc1\0'\0\xcc\0h\0n\0j\1(\0e\0Y\0{\0x\0\xc7\0x\0<\0\xb1\0\xc5\0\x99\0\x96\0\xcf\0:\0\xab\0Y\0\xc4\0\x96\0\xe2\0\xc3\0\xd7\0\xd3\0\xae\0\xa3\0\xae\0\xe7\0\xae\0\xc8\0<\0n\0\x93\1\27\0\xcf\0\xf5\0\xeb\0\xe2\0\xd7\0\xc9\0\xd7\0\xa4\0\xbc\1\xe0\0d\0\x84\0\xa3\0\xbc\1\xad\0'\x000\1\30\0\xd0\0\x017\0\0g\0\25\0\"\0v\0\x97\0\xa9\0\xb3\0\xdd\0Q\0(\0\xcb\0(\0Y\0j\0~\0e\0b\0x\2!\0\xcc\0\x94\0\36\0p\0\xa5\0y\0\x9d\0j\0\v\0)\0i\0Y\0\x9d\0@\0\xc3\0\xa3\1\xae\0\xe7\0\xae\2\xb9\0\xbb\0\xe8\0r\1.\0\36\0\xdc\0\xe9\0\xda\0\xe2\0\xf3\0\xd7\0\xa4\1\xbc\0\xe1\0\xf5\0\x9d\0\x94\0\xbc\2=\x000\0%\0\30\0B\0\1\xbe\0B\0,\0j\0\xd5\0y\x000\0>\0\xec\0\xd5\0b\0.\0\36\x000\0\34\0\xc4\0\x9d\0\x94\0\xce\0Y\0e\0x\0\33\0p\0\xbb\0\xc0\0p\0\x9b\0\xca\0\xf0\0O\0-\x000\0&\0\xb1\x000\0\xc7\0\xa3\0\xf9\0\xac\0\xaf\0\xa3\0\xaa\0\xac\0\xc8\0\xac\0\xd2\1\xc1\0]\0\36\0\27\0\xe6\0\xe9\0\xdf\0\xda\0\xf3\0\xc9\0\xd7\0\xa4\0\xd7\0\xe1\0\xe4\0v\0\x84\0\xd4\0\xbc\1=\x000\0*\0\30\0\x007\0\0\25\0,\0\xcf\0\xdf\0\xda\0\x97\0\x95\0\xe6\0\xd5\0\xf4\0\x95\0\x84\0(\x000\0(\0\xa8\0\xd1\0\xa8\0y\0Q\0Y\0&\0\36\0\xa1\0\xac\0\xb1\0\xc8\1\x99\0\x8d\0\x95\09\0 \0i\0\xc2\0\x80\0\xc4\0\xcc\0\xd2\0\xac\0\xc8\0\xac\0\xaf\0\xa2\0\xbb\0\xb7\0\xb1\0p\0\x93\0%\x000\1y\0\xe4\0\xe9\0\xdd\1\xe0\0\xf3\0\xd7\0\xf3\0\xf7\0\xf5\0j\1\xa3\0\xbc\0\xc3\0\36\x000\0%\0\22\0\1U\0\25\0%\0\xd5\0\xc3\0\xe0\2\xf6\0\x84\0\xd5\0n\0.\0\"\1\x8d\0\x89\0\x90\0\xa8\0\x9d\1x\0\33\0=\0\xa2\0\xbc\0\xa1\0\xb8\0\xab\0\xf9\0G\0M\0Y\0\xc2\0{\0M\0[\0@\0\xe8\0Q\0p\0\xcc\09\0\xba\1\x94\0x\0\xcb\2\xc7\0.\0'\0\27\0h\0\xe4\0\xe9\0\xda\0\xf7\1\xe2\0\xe1\0\xf5\0I\0\x80\0>\0\xe7\0\xbc\1b\x000\x017\0U\0\25\0\"\x000\0\xcf\0\xdd\0\xf4\0\xfa\0l\0\xb3\0h\0z\0\x84\x000\0j\0\"\0\x8d\0\x8c\0\xcd\0\x90\0\x9a\0\x8d\0;\1(\0x\0\xf9\0\xae\0\xd4\0\xd8\0\xa2\0\xab\0}\0\x98\0[\0T\0\x83\0\x87\0?\0\xd8\0\xbc\0\xac\0<\09\0\xcc\1F\0\xba\09\0i\0\xce\0\xc1\0]\0(\0x\x000\0%\0\x95\0\xdc\0\xf5\1\xe4\0\xf5\0\xdc\0\x9e\0O\1\x80\0\xa1\0\xbc\0\xd8\0F\x000\1\22\0\25\0$\0'\0f\0\27\0\x84\0P\0v\0\x97\0y\0\x97\0\xe4\0z\0\xcf\0\x82\0x\0\x8d\0\xcd\0\x90\0\x8d\1\x9d\0;\x010\0~\0\xab\0\xc8\0\xd3\0\xd4\0\xd9\0\xbc\0\xab\0\x95\0R\0^\0?\0\xa6\0\xbd\0\xd4\0\xa3\0\xc3\0\xbc\2\xc3\0\xa3\0\xac\0\xbb\29\0{\0\xea\0~\x000\0\36\1I\0h\0\x9e\1h\0v\0P\0>\0I\0P\0\x97\0\xbc\0\xea\0\xc2\0(\x000\0\22\0U\0\25\x002\0,\0'\x000\0\xec\0\xe0\1\xf8\0\xf5\0\x95\0\xb3\0h\0\xcf\0r\0\x8d\0\xcd\0\x90\0\x8d\1\x9d\0;\x010\0b\0\xf9\1\xae\0\xd8\0\xc3\0\xd4\0\xbc\1\xac\1\xbd\0\xbc\0\xd4\0\xd3\0\xe7\0\xd3\1\xd8\0\xc3\0\xae\0\xaa\0\xad\0\xa3\0\xaa\0\xe8\0\xcc\0\xaa\0i\x000\0\xc7\0]\0\36\0'\0j\0>\0v\0>\2I\2v\0\x95\0\xae\0\xa0\0\xce\x000\0\xbe\x002\1f\0,\0f\0\"\0\xd5\0\xb0\0v\0\x82\0j\0\xd5\0\xa9\0v\0\x82\0\x9d\0\xcd\0\xa8\1\x8d\0\x9d\1;\1.\0\v\0\xbb\0\xea\0\xc5\0\xac\0\xbc\0\xd4\0\xae\0\xd3\0\xbc\1\xd4\0\xae\0\xd3\0\xd8\0\xd3\0\xe7\0\xd4\2\xbc\0\xc3\0\xd4\0\xbc\0\xbb\0\xea\0\xbc\0\x94\x000\0<\09\0\xc7\0%\0\27\0'\0\xc7\0P\0j\0P\0v\0h\0\xfa\0h\1l\0\x95\0\xbc\0\xd3\0(\0\30\0\25\0$\x002\0f\x020\0(\0\xfa\2I\0Q\0\xf6\0y\0;\0\x89\1\x9a\0\x8d\0\x9d\0\xc4\0\xf0\2 \0\xcc\0\xd2\0\xb8\0\xbb\0\xc8\0\xbc\0\xe7\0\xd4\1\xd3\0\xd4\1\xd3\0\xe7\0\xd8\0\xd4\2\xd9\0\xd4\0\xa3\0\xbc\0\xea\0\xbb\0\xbc\0\xce\x000\0<\0\xf9\0\xcc\0'\0\xcb\x010\1y\0P\0h\0\xa9\0\xdd\0\xf3\0\xc9\0\xf8\0\xf6\0v\0F\0\xbc\0\x94\0\22\0g\0\25\0$\0,\0f\0,\0f\0(\0h\0\xfa\0z\0\xcf\0P\0z\0\30\0\0(\0\xd1\0\x89\0\x8d\0\x9d\0;\0\xf0\2\36\0\2\0\xc1\0\xc0\0<\0\xc5\0\xae\0\xd4\0\xd8\0\xd9\0\xd4\5\xd9\0\xe7\0\xd8\1\xd3\0\xbc\0\xad\09\0\xbd\0\xe8\x000\0\xc2\0\xbb\0\x94\0\36\0\x9b\0r\x000\1,\0}\0\xf8\0\xf7\0\xc9\0\xe7\0\xa4\1\xd7\0\xe0\0\xf5\0\x80\0\xa1\0\xd2\0\22\0U\0$\0,\0f\0,\2\27\0%\0'\0j\0I\0j\0$\0g\0C\1\34\0\x9d\0\x8d\0\x9d\0;\0\xf0\2\30\0#\0\26\0\xe8\0\x95\0\xea\0\xc5\0\xaa\0\xc3\0\xd4\0\xd9\0\xd4\5\xd8\0\xd4\0\xd8\0\xd3\0\xd4\0\xba\0\xac\0\xb1\x000\0\xc2\0\xea\0y\0\x84\0\xce\1%\x002\0$\0\x95\0\xf8\0\xf7\0\xe0\0\xe7\0\xa4\0\xc3\0\xa4\0\xd7\0\xe0\0\xf5\0\x84\0|\0\xb6\0\22\0\0U\0\25\0,\0'\0\27\0f\0,\x002\0$\0\33\0B\0g\0\1\xbe\0\22\0\31\0\xd0\0.\0;\1\xf0\2(\08\0C\0\16\0Y\0\x95\0\xaa\0\xbb\0\xf9\0\xd4\1\xe7\0\xd3\0\xd8\0\xd4\0\xd3\0\xd4\1\xe7\0\xa4\0\xbc\0\xac\0\xbb\0\xb6\0j\0\xce\0\xcc\0\x97\0\5\0k\0r\0\"\0\30\0$\0\x95\0\xf8\0\xe9\0\xf3\0\xd7\0\xa4\1\xc9\1\xe2\0\xf6\1j\0|\0\xc2\0\22\0\0\xbe\0\25\x002\0,\1f\0'\0\34\0\25\0U\0\xbe\0\0\xbe\0\1\22\0\0\30\0B\0\34\0\27\0\xf0\x020\0\xde\0)\0\0#\0\32\0\xc2\0\xc8\0\xd3\0\xc3\0\xbc\4\xc3\2\xbc\0\xd4\0\xd8\0\xc5\0\xa5\0\v\2&\18\0\22\0B\0\t\0B\0]\0\xf8\0\xe9\0\xe0\0\xe7\0\xa4\1\xc9\0\xd7\0\xf3\0\xf5\0\xfa\0\x9e\0\xc4\0F\09\0B\0U\0\0B\1\25\x002\0,\0\25\0\xd0\0\2\xbe\0\x027\1\xbe\0\xd0\0\25\1,\0\27\x000\1\xb0\0\xfb\0C\0\0\32\0\20\0E\0\xfb\0\xde\0:\0\xfb\0\xed\0\xbf\0\xc5\0\xed\0:\0E\1\xe3\0\4\0\0\0\31\0\1\0\t\0\22\0r\0\xde\0\xf2\0\30\0`\0\0\0\37\0\xec\0\xf8\0\xdd\0\xae\0\xa4\1\xd7\0\xc9\0\xdd\0\xf5\0\xb3\0d\0\x81\0f\0\x99\0\xce\0\22\0\25\0B\x007\1\xbe\0\xd0\0B\0\xbe\0\0\xbe\1\5\22\0\0B\0\25\x002\1,\x002\0'\0\xcf\0\xbc\0\xfb\0\31\0\22\0\32\0\31\0\32\0\t\0C\x007\0C\0\31\0\32\x004\0#\0\0\1\24\0#\0\xf2\1`\1\xc1\0\xe8\x003\0\n\0\0\x012\0y\0\xf8\0\xe1\0\xd7\0\xc9\0\xe2\0\xc9\0\xe5\0\xdf\0\xec\0\xfa\0}\0h\0x\0r\0b\0%\0\22\0$\0\25\0\xbe\x007\0B\0\xd0\0\xbe\0B\0\xbe\1B\0\xbe\0\2\xbe\1\1\xd0\0\25\0\34\x002\1,\x002\x000\0\xc0\0\xbc\0\xea\0k\0\32\x006\0)\0`\0+\0#\0\24\x006\0#\x006\08\0)\x013\0\xee\x003\0\xf1\0\xee\0\xf1\08\0\xf1\x003\0\a\0\xbe\0\36\0f\0\x9e\0\xf7\0\xd7\0\xc9\0\xe5\0\xdd\0\xdf\0\xa9\0\xec\0\xd5\0\xfa\0\x95\0\x81\0\x93\0r\x000\1\22\0B\1\25\0U\0B\2\xbe\0B\0\xbe\0B\1\x057\0\xbe\0\25\x002\1,\2'\0(\0\xb9\0\xbd\0\xab\0<\0\xf1\0\xf2\0+\0)\x013\0\xf2\0`\1)\08\0E\0\r\0\24\1\xe3\0\f\x003\1)\0\xe8\0\xc7\1-\0O\0\xf8\0\xe0\0\xe5\0\xe0\1\xb4\0\xa9\0\xf6\1z\0\xfa\0z\0\xc7\x010\1%\0\22\0\0g\0\0g\0\1U\0B\1\xbe\2\0\22\0\3\22\0\xbe\0\25\0$\x002\1,\0f\x002\x000\0\x9d\0\x9f\0\xab\1\xa2\0\xea\0\xde\08\0)\0+\2)\0+\0y\0\xeb\0\xdd\0\xb4\0\xa9\0\xf4\0\xa9\0u\0E\0\xcc\0\xce\0Y\0-\0\xca\0\xeb\0\xe1\0\xe2\0\xdd\2\xc6\0\xd5\0\xf6\0z\0h\1j\0]\0(\x000\1%\0\22\0B\0U\0C\x007\0\0B\1\xd0\0\xbe\0\0B\0\xbe\0\0\22\0\1\22\2\0\xbe\0\25\x012\0,\x012\0,\0\xf0\0\xd1\0\\\0\xb6\0\xbf\1\xae\0\xad\0\xed\0:\0\xde\3\xa9\0d\0\xdc\0\xf7\1\xf5\0\xf8\0\xb3\0b\09\0i\0\x9b\0>\0\xd5\0\xf3\1\xe2\0\xdd\0\xa9\0\xf6\1\xe6\0\x97\0z\0h\0O\1\xc7\0'\x000\1%\0\30\0B\0\0B\0U\0\xbe\2B\1\xbe\0B\0\xbe\0\2\xbe\1\x017\0\xbe\0\xd0\0\25\x002\0f\0,\x002\0,\0\x9d\0\x80\0\x9d\0\xd1\0}\0\xa2\0\xf9\1\xd3\0\xc3\0\xbc\1\xb2\0\xec\0\xf5\0P\0j\0l\0\x9e\0\xdc\1\xc9\0\x99\0-\0Y\0\x97\0\xfa\0\xf6\0\xa6\0\xa0\0\xf7\0\xdd\0\xe6\1\xb3\0z\0h\0z\0\x84\0O\0\xc7\x000\3%\0\22\0\0B\0\25\0\xd0\0\xbe\0\3U\0B\0\xbe\1B\3\xbe\0\x007\0\0\xd0\0\25\x002\2,\0\36\0\x94\0\x80\0\x9d\0\xc4\0\x8d\0\x83\0\x9f\0\xa1\0\xab\2\xbc\0}\0\x80\0h\0z\0\xf0\x000\0(\0l\0\xf5\0\xe0\1z\1\xfa\0v\0\x97\0\xec\0\xfa\0\xf4\0\xf5\0\xe6\0\xfa\0n\0z\0h\0j\0]\0\xc7\x000\4%\0\22\0g\0B\0U\0B\1\xbe\0\22\0\0B\1\1U\0\xbe\0B\1\xbe\2\1\xbe\0\25\x012\x010\0~\0\xbc\0\xe8\0\x9d\0P\0\x80\0\x9a\0\x89\0\x8f\0A\0\xa0\0\xb9\0\xbc\0\xab\0\x95\0\xf5\0\x9e\0j\x000\0\xf0\0I\0\xeb\0\xf3\0\xdd\0\xe0\0\xf8\0\xf7\0\xd7\0\x97\0z\0\xf8\0\xfa\1z\0>\0n\0>\0j\0O\0\xcb\0'\x000\4%\0C\0U\1\2\22\0B\0\xbe\2\0B\2\1\xbe\0B\0\xbe\0\2B\0$\x002\0'\19\0\xc2\0\xbd\0Q\0\x9d\0\x80\0\x9a\0^\0\x8e\0\x96\0\x91\0G\0W\0\xb3\0z\0\xf6\0\xdf\0\xe2\0\xe6\0\xb3\0\xec\0\xe5\0\xf3\1\xf7\0\xe1\0\xf3\0\xf7\0\xf5\0>\0\xd5\0\x97\0>\0P\1n\0O\0b\0.\x000\6%\0\22\0g\0B\0\xbe\0B\0\xbe\0B\0\xbe\1B\0\xd0\2\xbe\0B\0\xbe\0\1B\0\xbe\0B\0\0B\0\25\x002\0f\x000\0\xc0\0\xbd\0\xba\0\xc2\0\xac\0e\0\xc1\0\x82\0\x8d\0\x8e\0^\0M\0\x8e\0\x91\0\x8e\0\xf6\0v\0\xdf\0\xa4\0\xd7\0\xc9\0\xb4\0\xf3\0\xe0\0\xf8\1\xf4\0\xf8\0\xf5\0\x9e\1\xb0\0\xce\0\x82\0j\0y\0\x84\0*\x000\b%\0\22\x007\0\0B\0\xd0\0B\0\xd0\1B\1\xd0\0B\0\xbe\3\2\xbe\0B\1\25\1'\x000\0\xb1\0\xbd\0\xbf\0\xbd\0\xcc\0\xb7\0\xba\0p\0\xba\09\0\x81\0\x8d\0\x98\0\x8e\0^\0\x80\0n\0\xf6\0\x82\0\xf6\0\xf8\0\xeb\0\xf7\1\xf8\0\xe9\0\xa9\0\xdc\0\xfa\0\xf6\0z\0\x95\0\x94\0<\0~\0*\x000\2'\x010\6%\0C\0B\0\xd0\0B\2\xd0\2\xbe\1\1B\0\1\xbe\0\3\xd0\0U\0,\x000\0\xb1\0\xbd\0\xac\0\xaa\0\xbd\0\xae\0p\0\xbb\0\x94\0p\0\xb1\0\xc5\0\xbb\0\xc2\0I\0\x8e\0P\0j\0I\0\xf6\0v\0\xdc\0\xf5\0\xf4\0\xf6\0\xec\1\xdc\0\xf6\0\xfa\0}\0n\0\x97\0\xb8\0\xba\x000\1'\x020\0%\x000\6%\0\22\0B\0\xd0\1B\1\25\0\30\0\xd0\1\xbe\1\x057\1\xd0\0$\0f\x000\0<\0\xd8\0\xac\0\xad\0\xd3\0\xad\0\xd3\0<\0\xcc\0\xac\0\xc2\0\xcc\0\xa2\0\xbc\1\xab\0\xc8\0F\0\x80\0v\0\x9e\0\xf6\0P\0\xb0\0\x9e\0\xb3\1\xf6\1\xe6\0h\0I\0P\0\xcb\0e\0'\x000\1%\x000\0'\1\27\x000\6%\0\30\0U\0\xd0\1B\2\xd0\0B\0\xbe\0B\1g\0\3C\x007\0\25\0$\0,\x000\0\xc2\0\xbd\0\xac\1\xc8\0\xaa\0\xae\0\xc2\0\xc8\0Q\0\xb1\0\xbc\0\xe8\0\xd2\0\xad\0Q\0\xc2\0\xac\0\xaf\0\x82\0P\0v\0\x9e\0\xe6\0h\0\xe6\1\x9e\0n\0v\0P\0\x84\0\xc4\x000\0'\x000\0'\0.\0(\0.\1(\0.\x010\6%\0B\0U\0\xbe\0B\0\xd0\0\25\1B\0\xbe\0B\1\4C\0\0$\0!\0\33\x000\0\xcc\0\xbd\0\xac\0\xc8\0\xb2\0\xa3\0\xaf\0\xad\0\xb1\09\0\xd2\0\xc7\0\xae\0\xa3\0\xb9\0\xb8\0\xba\0\xc2\0\xcc\0\xbb\1j\0v\0z\0h\1j\0\x84\0\xc4\x000\0'\0%\0\27\0%\0.\0(\0.\0(\0.\4(\0.\x000\6%\0!\0\25\0\xbe\0B\1U\0\37\0B\0\xd0\0B\0\1\xbe\0\30\0\1\xbe\0$\0'\0\xcc\0\33\0x\0\xbc\0\xc8\0\xad\0\xb2\0\xa3\0\xad\0\xd9\0\xa1\1F\0\xe8\0{\0\x94\0\xc3\0\xad\0\xd2\1\xdb\0Y\0\xdb\0\xd2\0\xbb\0\x93\0v\0\x80\0\xc4\0\x93\0\xcb\0r\09\1\xcc\0\x94\0Q\0]\1r\0x\1.\1\36\0(\0\36\0(\x000\6%\0U\1B\2\xd0\0B\2\xbe\3\x007\0\xbe\0$\1u\0x\0'\0\xaa\1\xad\0\xa3\0\xc8\1\xf9\0\xa1\0\xa3\0\xdb\0\xd2\0\xce\0\xba\0e\0\xb1\0\xac\1<\0\xc1\0\xb9\0\xb8\0\x9b\0\xcc\0\xc0\0O\0b\0\x9b\0\xc1\0\xb5\0\xc0\0\xc1\0\xcc\0Q\3]\0{\0r\0\xc7\0\xca\0\xcb\0\36\0.\0\xc7\0(\x000\6%\0U\0\25\0B\1U\2g\0\1\xbe\1B\0\0B\0\25\0,\0\xcb\0p\x000\0\xea\0\xbc\0\xa2\0\xc8\0\xac\0\xc8\0\xac\0\xa1\0\xc5\0\xb9\0\xb6\0\xc2\0\xb8\0\x94\0r\0b\0\xb1\0\xbb\0\xd8\1\xbd\0<\x000\0~\0\xbd\0\xce\0\xe8\0\xaa\0\xdb\0\x9b\0~\0{\0Q\0p\0\xcc\0p\0\x94\0p\0]\0{\0r\0\xcb\0\36\0.\0\xcb\0b\0%\0'\x000\6!\0\25\0\30\3\22\0\30\0\22\0\30\0\22\2\30\1$\x002\x010\0\xba\0\xbc\0\xc8\0\xa3\0\xc8\2\xf9\0\xa1\0\xac\0\xb9\0\xd2\0<\0\xc1\0\xba\0Q\0=\0{\0\xbb\0\xb8\0\xc1\0\xb8\0\xc1\0(\0\xd2\0\x94\0\xba\0\xa2\0p\0\xc7\0\x94\0\xc0\0\xb1\0\xd2\0\xbb\0\xb6\0<\0\xc2\09\0\xce\0p\0{\0r\0x\1]\1%\x000\0%\2\27\0%\x000\0%\0"
)


Ici encore, le problème venait de l'image. Bien qu'ayant l'air d'une miniature de rien du tout, l'image comportait pas moins de 253 couleurs différentes, qu'img2calc ici ne réduisait automatiquement qu'à 252 couleurs.

Bref, img2calc s'en sortait très bien niveau compression RLE lorsque tu lui fournissais des images propres ou simples, soit avec un jeu de couleurs réduit ou de larges formes de couleur unie. Facile lorsque c'est toi qui conçois l'image.
Mais si tu convertis une image récupérée en ligne, ce ne sera pas forcément le cas :
  • photo
  • image au format JPEG
  • miniature obtenue par réduction d'une image originale plus grande avec interpolation de couleurs (cas de Super Dupont)
  • ...
Comment faire pour gérer ce cas et obtenir malgré tout des tailles de script acceptables ?

Et bien dès aujourd'hui nous te proposons une solution. img2calc te permet dès maintenant de préciser le nombre maximal de couleurs à retenir pour la conversion, par défaut à 256 dans le cas de la compression RLE.

Pour Bomber par exemple, on peut tenter de limiter à 8 couleurs au maximum, pour un script qui ne fait maintenant plus que 5,9 Ko (-68,78%):
Code: Select all
#palette for your image
#7 RGB-888 colors
palette = (
"w","#d0d4d0","#b8c0b8","#a0a0a0","#585c58","k","#282828",
)

#your image data
#240x74 RLE-3 pixels
image = (
b"\xf8\x88\1\2\3\2\xd0\16\4%\3\xb8\16\4-\6\1\0\1\3$\3\1\x90\6\1\3\4\3\1\x98\a\3=\3\4\6=\6\3\1\xf0\5\3\6\35\3\x90\a\4\xa5\1\6\3\xe0\5\1\6-\3\x80\a\1\xbd\1\3\xd8\5\x045\4\x80\a\3\xc5\1\3\xc8\5\1\x065\4\x80\a\4\xc5\1\6\1\xc0\5\3=\4\xf8\6\1\6\xcd\1\4\xc0\5\4=\3\xf8\6\3\xd5\1\6\xb8\5\1\x065\6\1\xf8\6\6]\6\24\6U\2\xb0\5\3=\4\xf8\6\1U\4\2\1\20\1\4M\3\xb0\5\4=\2\xf8\6\4E\6\x030\1\6E\4\xa8\5\1\x065\6\xf8\6\1\6=\6\2@\4E\4\xa8\5\3=\4\xf8\6\2\6=\3H\4E\2\xa8\5\4=\3\xf8\6\4=\6P\4E\1\xa0\5\1=\6\1\xf8\2\1\n\1\xd8\3\6=\3H\1\6E\xa8\5\3=\4\xf0\2\1\4\6\25\4\1\xc0\3\2=\6\2H\2E\4\xa8\5\4=\1\xe8\2\1\4-\6\xc0\3\4=\6\30\t\30\2\6E\2\xa0\5\3\x065\6\xf0\2\4=\4\xb0\3\1\6=\3\0\1\4\36\3\1\2\6E\4\1`\1\2\33\2\1\x90\1\1\23\1\b\1\2\33\28\1\2\33\2\1p\4=\4\33\2\1\xa0\1\1\2\33\2\1P\1\6=\6\1\xa8\3\3E\1\2\6\x8d\1\2P\1\3\4=\6\3\1p\4%\4\3\6-\6\4\1\b\1\3\4=\4\2X\1\6u\4\2\xf8\0\1\3\4=\6\3@\3M\3\xa8\3\4=\4\1\6\x8d\1\4H\1\4\6]\6\3`\4\x85\1\4\1\3\6]\4P\2\x85\1\6\3h\2\6]\6\x020\4M\3\xa0\3\1E\v\x8d\1\4\1@\1\4\xfd\0\4P\2\6\x8d\1\6u\4H\4\x95\1\4X\3\xfd\0\3(\4M\4\2\x98\3\3=\6\1\6\x8d\1\2@\1\4\x8d\1\4H\3\x9d\2\48\1\6\x9d\1\3H\4\x8d\1\3 \3U\16\3\1\x80\3\6=\4\1\x85\1\6\2@\1\6\x9d\1\3@\6\xa5\2\x020\3\xa5\1\6\18\3\x95\1\6\1\30\1\6m\4\1\xe8\2\1\6=\t\xfd\0\6\1H\4\xa5\1\48\1\xad\2\x040\4\xad\1\x030\2\6\x9d\1\3 \4u\6\2\xe0\2\4=\6\0\1\x85\1\3@\3E\6\4\v\6E\x020\3M\f\3\4U\6\24\6=\4(\1\6E\6\4\3\4\6=\4(\1\6E\4\3\4\6=\6 \1\x85\1\3\xd8\2\4=\3\b\6\xfd\0\6\28\4=\6\1\30\4=\x030\4E\4\1\b\1\4M\3\20\3=\4(\3E\6\2\20\2\x065\6\1 \2E\4\20\1=\6\1\30\3\x8d\1\2\xc8\2\2=\6\1\b\3\x85\1\x040\1=\4\1 \1\x065\4(\2\6=\4 \4=\6\3\30\1\x065\4(\4=\4\1 \4=\1 \4=\4 \3=\3\30\4\x8d\1\6\1\xc0\2\3=\6\30\3\x85\1\1(\3=\x020\x065\4(\3=\6\1 \6=\3 \2=\4 \1\6=\2(\4=\1\30\1\6=\1 \3=\4\20\1\6\x95\1\3\xb8\2\1\6=\3 \1\4&M\4 \1\x065\x060\1\x065\4(\x065\6\3 \2\x065\6(\4=\3 \4=\4(\1\4=\1\30\3=\6(\3=\3\20\x045\16U\4\xb8\2\3E\x010!\3E\4 \2\x065\x040\2\x065\3 \1=\6(\3=\3(\x065\6\1 \4=\3(\2=\6 \4=\3(\x045\6\1\20\4-\6\1\2\4\6E\4\xb8\2\4=\4h\4=\6\1\30\x035\6\x020\4=\2 \4=\3 \1\x065\6\1 \2=\4 \1=\6\1(\3=\4\30\1=\6\2 \3=\6\1\b\x025\3\20\2E\4\xb0\2\1\6=\3h\3E\2\30\x065\68\x045\6\1\30\1\6=\2 \2=\4(\4=\3 \3=\x040\6=\3\30\3E\4\2\t\2\4\6=\4\20\4-\6\1\30\6=\3\xb0\2\2=\6\n+\2\1 \2E\2\20\1=\3 \2\3\4=\4 \3=\6\1 \4=\3 \1\6=\1 \6=\2\20\1\3\4E\6\1\30\6\xbd\1\2\b\1\6-\4 \x065\6\x020\21\xe0\1\4=\16=\6\4\2\20\2E\2\20\4=\1\20\1\4U\3 \4=\4(\6=\1 \3=\4 \1\x065\6\20\1\6U\4\30\1\6\xb5\1\4\20\x035\3\30\1=\6(\1\4\26\4\xd0\1\1\6\xa5\1\4\1\0\3E\2\b\1\x065\4\20\1\6U\6\1 =\6\2 \3=\4(\x045\6\2 \4=\3\b\1\6]\2\30\4\xb5\1\6\1\20\4-\6\1\30\4=\3 \1\6%\4\xc8\1\3\xb5\1\6\3\4=\6\1\b\3\x065\4\20\4]\4 \3=\6(\4=\3 \1=\6\1\30\1\4=\2\b\3]\6\1\20\1\6\xb5\1\3\20\1\6-\6\30\1\6=\1 \3-\6\1\xc0\1\4\x8d\2\4\20\4=\3\b\1\6U\6\1\30\1\6=\3 \1\x065\6\1 \4=\3 \2=\6\1\b\4]\4\30\3\xad\1\6\3\30\x035\4\30\3=\4(\6-\6\1\xb8\1\1\6\x8d\2\4\20\x065\6\1\b\3]\3 \3E\1 \3=\4 \1\6=\1 \3=\4\20\4U\6\2\20\3\xad\1\6\2 \x045\3\30\4=\3 \x025\4\xc0\1\3\x95\2\2\b\3=\4\20\3U\4 \3E\4(\6=\2 \3=\4(\6=\3\20\4U\6\1\0\1\4M\v\x065\16\3\1 \1\6-\6\1\20\1=\6\1 \4-\6\2\xc0\1\6\xfd\0\16\xfd\0\6\20\4=\2\20\2U\6\20\1\4\6E\3 \1\6=(\4=\4 \1\6=\1\20\4]\f\6U\20\1\3\34\3\18\x045\4\30\2=\4 \x025\6\xc0\1\2\6e\6\2\1\b\1\3\6e\3\1\2\4=\6 \4U\f\16M\6\1 \3=\3(=\6\1 \3=\4\30\1\6\xbd\1\4\x88\1\x035\6\1\30\4=\3 \x045\3\xc0\1\4e\6\2(\2\6]\16M\4 \2\xc5\1\6(\4=\2 \1=\4(\4=\2 \4\xbd\1\6\x80\1\3=\4\30\1\x065\6 \x035\6\1\xb8\1\1\4e\38\1\6\xb5\1\3(\3\xbd\1\3 \2=\4\1 \3=\3 \1\x065\4\1(\xc5\1\1h\1\4=\6\1\30\2\x065\4\30\2\x065\3\xc0\1\2m\28\1\6\xb5\1\3(\4\xb5\1\6\1 \3=\3(\4=\1 \4=\6\1 \1\xc5\1\4\1X\2\4E\3 \3=\3\30\x045\6\xc8\1\4m\3(\1\3\6\xbd\1\6\1\20\1\3\6\xb5\1\4 \1\x065\6\1(\4=\1\20\2\4M\3\30\2\4\xcd\1\4\18\1\2\4\6E\3(\3=\3\b\1\x045\6\3\xc8\1\6m\6\4\31\3\4\xd5\1\4\3\2\3\4\xc5\1\3 \2=\x060\4=\4\2\3\4\6U\6\3\2\3\4\6u\f\3U\f\3\n\3\f\6U\x040\3=\6\2\3\6=\3\xc8\1\2\6\xfd\0\36\xf5\1\6U\6m\6\1 \4=\x030\2M\6\xfd\0\6M\4\33\n\1\b\4e\26e\4\x010\1\6=\6E\6\1\xc8\1\4\xc5\2\4\6\x9d\1\4\1\2\3\4\v\4=\4 \1\x065\6\18\6\x9d\2\6\1@\1\4\xd5\1\4H\6\x85\1\6\1\xc8\1\1\4\xf5\1\6\23\24\v\2\1\2\6\x8d\1\6\1(\6=\2 \3=\4@\4\x95\2\6\3P\1\6\xbd\1\6\3P\2\xfd\0\6\2\xd0\1\1\x065\4\3\6\x9d\1\6\3P\2\6\xfd\0\6\x020\x065\6\1 \3=\3@\1\4u\16\xfd\0\6\3`\1\4\xad\1\4\2`\4m\6\1\xe0\1\4-\6\3\0\2\6\x8d\1\4\1`\2\6m\4\18\x045\3(\x025\4X\4e\4\t\4m\4\2\xf8\0\3\6\x8d\1\6\2\1p\4]\4\1\xe8\1\3-\4\20\1\4u\4\3\x80\1\3\6M\4\3H\1\6%\38\3%\4\1`\3\6=\6\4\3\30\3\4M\4\3\x98\1\3\4\6]\f\1\x90\1\3\6=\4\3\xf8\1\1\4\25\6\4\1 \1\3\6M\4\2\1\x90\1\1\v\4\6\r\f\3\2\1X\1\4\6\5\4\3H\3\6\5\6\3\1p\1\v\4\6\5\6\4\3\28\2\3\4\6\r\6\4\3\2\1\xb0\1\1\v\4\6\25\6\4\v\2\1\xa8\1\1\3\f\5\6\4\3\2\1\x90\2\1\3\2\1H\t\3\24\3\2\1\xc8\x93"
)

Un choix judicieux, la dégradation du lissage de l'inscription sur seulement 4 niveau de gris n'est pas flagrante.

Pour Super Dupont qui est une image certes miniature mais en couleur, soyons moins extrêmes. Mettons la taille maximale de la palette à par exemple 16 couleurs, pour un script de seulement 9,8 Ko (-71,51%) :
Code: Select all
#palette for your image
#16 RGB-888 colors
palette = (
"#004468","#002450","#085898","#002048","#081020","k","#488ca8","#a0a098","#605458","#b85c50","#c89068","#e02018","#981008","#602018","#e0bca8","#e8ece8",
)

#your image data
#75x100 RLE-4 pixels
image = (
b'\20\1\xe0\1\1\0\1@\1P\1\20\2\xe0\4\1\20\1\xe0\1\1\3Q\0\1P\1\xf0\1\1\xb0\1\1\20\21\20\1\20\21\x90\1\4\x010A\xb0\1\5\20\3\xd0\2\1\x90\1\1\20\21`\1\0\24\3\1\4\0\1\4\3\1\0\1\3\4\21P\2\3\5\20\1\xd0\2\21\xb0\1\1\x80\1\3\4\0$\0\2\0\5\4\1\0\3\5\3\1\0\1\3\0\21\2\4\23\1\24\xa0\4\1\xf0\0\2\4\3\0\5\4\1\0\1\24\1\4\1\4\3\2\3\4\3\5\24\0\1\5\3$\1"\0\2\20\2P\1\3\20\1\3\20\23\1\23\1\3`1@\3\5\4\5\4\2\0\5\4\x034\3\0\24\5\4\5\3\2\1\5\4\3\25\0\x021\0\3\4\0\1\3\20\1\20\1\5\4\2\4\5\2\3\4\22\20\3\1P! \21\20\4\5\1\0\3\4\1E\3\0$\1\24\0\4\23 \1\0\5\0\2\5\1\2\4\1\22\0\5\1"\25\22\24\2\x102\x030A\0\21\3\1\20$\0\1\24\5\4\3\0\23\1\3\2\1\4\22\0\4\0\4\1"\3\25\22\5\0\2\4\0\22\0\4\0\22\6\4\5\0\6\5\4\a\4\b\31\n\t\4\x101\20#\1\3\4\5\3\1\4\1\23\0\1\0\1\0\4B\4\1"\0\x152\4\5\4\2\6\5\6\a\5\t\v\31\4\6\33\n\4\f\v\b\r\v\b\t+\r \21 \3\x012\5\4\3\1\3\2\0\x052\1\5\3B\5\0"\3\25\6\31\a\4\5\v\t\0\33\0;\b\v\31\v\b\f\v\b\31\5\4\31\3\x010\1\20\4\5\xf2\0\4\5\22\x142\4\5\x012\0\5\6\31\6\25\t+\t\0\v\f\4\v\f\4\v\1\b\v\t\v\24\v\31\v\32\f\5\4\v\r\1\0\3 \1\20\25\0b\1\25\22\5\x032\25\6\t\33\n\0;\t\4\v\t\b\33\b\v\r\4\t\35\v\2\v\t\v\t\25)\n\33\4\5\t\v\3\1\x030\1\0\3\25\4\1\2\6\b\t\b\22\4\5\1\2\0\5\b)\b\4;\b\4\v\30\33\0\v\t\5\t\v\t\v\4\r\t\r\t+\4\v\t\2\f\31\f\b\33\25\33\21\20\1\20\1\0\1%\0\t+\t\4\26\25\n\t\0K\b\33\2\3\5\r\v\0\3\v\t\r\v\b\1\v\31\v\2\f\v\0\33\t\0\5\t\v\t\v\b\t\f\4\n\b\3\1\t\x040\1\0!\0\4\5\4\t+\n\b\4\33\5\1\33\0\v\t\b\33\t\v\t\2\b\5\f\v\6\33\4\r\v\2\t\v\1\f\v\6\v\f\4\v\t\0\2\0\b\t\v\b\3\b\1\20\1\0\4\5\1P!\20\5\t\33\t\0\25\b\v\t\5\0\v\f\0\v\t\3\33\b+\t\5\t\33\t\4\5\t\v\t\v\t\r\b\t\v\t\3\b\n\3\2\0\2\0\3$\5\1E\4@\1\x001\0\3+\22\25\r\v\t\5\b\v\f\r\v\6\t\v\b\r\v\t\6\3\5+\t\3\5\t\33\t\r\v\f\r\t\r\4\3\1\22\0\2\x045\4\1\4\3\1`\x110#\t\33\t\2\1\5\b\v\t\5\b\v\t\r+\t\5\f\v\6\2\1\4\v\t\b\v\t\0\31\b\r+\34\33\f\r\1"\1P\2P\1\xf0\0\4\3\2\3\t\33\t\6\5\r\v\t\5\b\v\r\b\33\t\4\5\t\v\t\f\t\0\n\t\r\31\r\34\xab\1\f\r\1B\xb0\1\21\20\21\0\3\5\22\4\t+\b\4\v\n\4\f\v\35\v\t\f\r\5\t+\t\r\b\f\v\34\xfb\1\f\4\0\22\0\2\xa0\1\1\0\1\0\21\0\1\5\1\2\4\5\b\t\33\b\v\t\2\t\v\b\r\v\b\f\v\r\b\t\30\f\xfb\2\f\3\22\xf0\1\21\20\25\22\25\b\33\a\33\t\33\0\t\n\r\34\v\r\f\xcb\3\4\22\xe0\1!\0\3\5\t\6\1\4\t\33\30+\t\r\b\r\f\v\f;L\33\f\xcb\2\r\22\xd0\1!\0\1\4\33\31\33\t\4\r\b\t\b\r\v\34\v\f\33\f\v\f\v\t\nN\37\27\32\t\xeb\1\r\0\2\xc0\x011\0\1\t;\n\0,\r\\\v\34\v\t\36o\16\a\0\37\a\37\n\xdb\1\r\22\0\2\x90\1a\30\t\b\4\r\vl\v,\n\16\37.\17\36\a\36\a\17\16\a\16\a\16\37\16\t\xbb\1\r\22\x80\1\1\0\xf1\0\3\2\4\r\v\x8c\1\v\t\16\17N\17W\b\4\25\b\16\27/\16\xbb\1\4\22\x90\1a\0\2\1\r\xac\1n\37\a\b\24\xf5\0\4\36\27/\t\xab\1\4\2\0\2\xf0\0\1\x131\20\4\x9c\1\v\16\17\a>\37\a\x84\1E\b\'/\n\x9b\1\f\1\22\xf0\0S\1\0\4\x9c\1\t\36\a>\37\b\5\4\b\4%\24\xf5\0\'/\16\x9b\1\f\22\0\2\0\x020S\0\1\r\x8c\1\t\36\a>\37\b\5\24%\4\r\4e\a\16\17\b\16?\16\x9b\1\4\2\20\2@\x013\21\4\x8c\1\t\16\27\36\a.\b\24%\4\30\r\xf5\0\b\37\a_\16\x8b\1\f\0\22 \2\20\3\1#\0\3\x9c\1W.\a\b\r\25\4(\xf5\0\4\27\37\36_\n\x8b\1\4"P\1\3!\4\x8c\1\n7N\30\24(\r\xf5\0\4\30\25\6\16\xff\0\t\xfb\0\f\x002 \1\0\23\1\3\x8c\1\t\16G\36\a(\48\xe5\1\16\x8f\1\x8b\1\x042\20\2!\3\1\4\x8c\1\27\n\'\36\a\b\0\b\4(\r\xa5\1\a\16\27\b\16\x8f\1\n\xfb\0\fB\20\21\3\1\3\r\xfc\0\bW\16\a\24\25\4\25\4e\4\b\r\5\b\17\6\5\16\27\36\37\a\16?\x8b\1\3R\1\23\1\4\r\xfc\0W\16\a\xc5\1\4\b\27\36\25\37\5\4\30\24\r\b\16\27/\n\xfb\0\r"\0\22\23\1\0\4l\r\t\27\n7\b\xb5\1\4\n\a\b\a\t\4\25\b\17\a\4\0\a5\b\37\a/\xfb\0\fR\1#\r\xfc\0\x87\1$e\24\25\t\r%\b\4\b\37\b\r\16\5\4\25\16\17\b\a/\n\xfb\0\1B#\4\r,\r<W(P\b\2\4\t\n\16\b\r\n\t\4\t\27\16\b\a\17\b\16\r%\36\3\b?\16\xfb\0\rB\1\3\1\4\xfc\0\tG(\0\1\20\3\b\16\6\2\4\t\36\31\16\t\4\t\n\16\17\t\b\17\16\a\25\4\17\a\4\5\a\17\36\37\16\n\tK\rB\23\1\4\xfc\0\b\xf7\0\1\0\1\4\a\16\n\22\0\f\16\17\16\31\r\4\n\16\17\16\r\a\17\30\5\4\17\b\5\0\16/\36O\16\n\33\fB#\4\f\r\\g\16\a\0\2\0\a.\6\22\b\n\16\4\t\16\32\35\16\t\5\a\17\4\5\4\a\r\5\a\16\30\3@\30\27\37\n\f\x032\1\3\1\4L\r\34g\16\a\2\4\a\17\16\37\a\22\b\n\t\5\t\16\n\f\24\16\n\4\b\17\24\a\4\5\a\b\23"&"\20\4\a\16\17\a\0\1\22#\4\34\rLg\16\2\1\b\16?\16\1\20\n\r\24%\4\5\b\t\b\17\a\5\6\5\4\0\4\0\26\2\26"6\22\0\4\b\37\a\1\0#\r\f\rL\r\xf7\0\0\4\t\16\n\16\37\b\a\23\t\n\5\r\t\r)\24\37\5\2\24\21\26\22\1\4\5\4\b\4\5\4\0\26\2\26\0\5\b\37\6#\rl\tg\b\0\4\r\n.\27\16\b\4\5\36\r\f)\35\37\4\3\0\4\1\2\6\2\3\4\5\4\b\r\b\a\36\4\25\0\6\22\26\3\5\16\17\23\24\34\r<\tg\b\0\3\r\t\n\16\27\17\6\t\16\30\16\t\a\16\a\t\5\37\4\5\1\3\0\22\4\5\30\n>\n\r\a\17\a\25\4\x026\0\4\a#\r\f\rL\rg\b\0\3\b)\a\37\a\5\n\36\b\16/\16\b\17\4\5\3\0\4\20\b\r\27\n/\16\37\16\5\a\37\4\25\3\2\6\2\6\2\4#\r\xfc\0W\30\0\4\0\31\r/\b\r\n\t\n\a\31\r\t\r\30\5\4\t>\27\17\t\16?\16\37\16\r\b\x1f5\0\2&#\4\\\r\fg\b\0\3\4\31\b/\b\t:\31\bE\4\32\36\27\17\b\t\36o\16\r\b\17\a5\2&\23\1\4\xfc\0W\30\0\4\t\35\a/\b\t\32\16\32\16\17\a5\t\32\16\n\a\37\r\t\36\xff\0\n\5\16\17E\0\26\0\3\1\5\xfc\0g\b\4\31\35\a/\b\t\32\36\n>\b\n\37\16\17\16\a\37\a\t\32\36o\16\t\b\17\aE\0\6\23\1\4\rl\tG\30\t\r\b\r\4\a/\a\t\32\36\37\32\36\17\36\37\36\37\6\t\n\t\n\36_\16\t\4\37U\0\23\1\3\r\xfc\x007\24\16\17\4\5\r\4\a/\a\r\32\16\n\17\16*^\a/\31\n\t\n\36_\16\n\4\a\17\bU\23\21\r\xfc\0\'\4\r\16\37\n\25\rO\b\t*\16\n\t\32.\17\16\n\16\37\16\b*\t\n\36O\16\n\r\b\17\aU#\1\4\xfc\0\t\a\0\5\16\37\n\16\b\25O\a\r\t\32\16\31\32N\a/\aZ\16_\16\n\b\4\17\aU\3!\4\rl\r\b\5\t\16\17\16\n\16\n\4\5\16O\b\t\32\16\b\r\t\n\16*\a?\a\n\16*N/\16\n\t\5\36U\23\21\3\r\\\35\5\b\16\37\n\16\32\r\5\a_\b\t\32\35\t*\a\16O\a\n.\n\16\nn\n\b\5\16\17U3\1\4L\35\25\t\37\16*\t\r\5\b_\16)\4\r9\16_\a\xde\1\t\b\5\16\17\bE3\1\3\r,-\5\4\n\37.\n\30\5\0o\16\a\b\4(\a\xff\0\a\16?\x8e\1\t\5\b/E3\1\3\5\f=\25\b\37\32\17\16\b\r\b\4\5\a\xff\0\36\xbf\1\a\16\37\x9e\1\n\t\4?\x0e5\x013\1\3\r\f\35\25\4\b\a\16\t\36\t\4\r\b\4\5\b\16_\16\t\f\t\16\x9f\1\27.\t\5\n^\17\16\t\a?\4%#1\4\f\r\4\a\24(\a\32\b-\4\b\4\b\36/\t\f-\v\n\x8f\1\a\b\32\r\25\n\16o\16\r\16/\a%#\1\23\1\3\25\a\17\16\b\17\a\5\b\t\b\35\5\4\0\b$\27\16\a\f\4\6\17\0\4\f\16\x8f\1\a\b\24\5\4\n\36_\16\t\4?%3\1\23\4\5\r\b\16\n\16\b\5\4\5\0\r\bD\3\30\4\b\a\b\35\0\2\b\0\r\t\xff\0\36\a\35\5\4\n.O\16\n\r\b/\4\25S\5\r\n\b\5\b\32\4\5\4\5\24\r\30\0$\b\16\a\30\4\5\b\4\5\1\a\5\4\x8f\1\'\b\4\5\n.O\36\r\4/\4\25\23\1\3\4\5\4\36\30\32\16\b\4%,\30\0\1\4\16\17\a\37\a\r\b\6\3\b\a\r\4\b\a?.\a\b\4%\bN/\16\n\35/\4\x153\4\5\n\17.\n\4\n\b%\r,\35$\16\17\16\a\37\v\f\0\a\b\f\v\t\a(\6\27\bD%\tn\n\t\r\b/\4\25\1\3\4\25\4\36\n\t\n\31\4\5\r\5\r,\35%\4?\16\17\t\f\33\f\v\t/\a\6\30\27\6\30\a\b\5\4\25\b*\16\32\t\30\r\16\37\a\25\3\24%\4\35(\16\t\4\r\4\r\34-%\bo\b\t\f\t\a\x9f\1.\6\b\a\b\5\24I\35\b\t\r\b\17\27\25\23\x045\n.\n\b\n\t\4\35\34-%\4\xff\2\a\b\17\b\5\4\b\4\5\r\b\r()\r\b\17\16\b\5\3U\n\a-\n\16-,-%\0\16\a\16\xbf\2\16\a\17\b\5\a\6\4%\4=\t\n)\b\37\5\3\24U*\t\b\n\b\5\34-\4%\3\b\27\16\x9f\2\a\16\17\b\5\a\17\b\5\24\25\b\r\t\36\37\16\n\r\a\17\b\23\24E\t\n\t\4\r\t\23\5\34\x1d5\4\1\'\16\x8f\2\6\17\a\5\a\16\b\4\b\r%\t\36O\16\n\r\16\a\23\4\xf5\0\r\t\r\4\3\21\4-5\3\2\1\a\b\a\16\xef\1\a\17\a\5\27\b\4\30\25\4\b.O\16\n\4\b\16#\4U\24S\1\3e\2\1\20\b\17\16\xdf\1\36\r(\0\2\r\5\3\4\b\36_\16\32\r\b\a#\4E\24\x93\1\4E\6\2\3\2\0\a\xdf\1\16\a \21\2\23\0\3\b._\32\t\4\a\6C\4\25\4\xf3\0\21\23\x145\a\6\1\3\0\1F\a\17\16\a&\2\20\1\20\3\r\6\2\3\2\0\4\n\36O\16\32\t\b\5\a\b\3\4\3\21\xf3\1\4E\4\17\6\1\3\0\1\x101\0\22 B\27\2 \5\b\36\37\16\37\16\32\31\4\r\4\5\3\24\3\1\xf3\1\24E\a\17\a\2\0B\0b\6\2&\2\6\2\0\3\4\5\t\16/.*\30\4\r\25#\4\xe3\1\1\3\4e\16\37\a\6\x92\1\6 B\a$\b\36\17>\32\t\n\t\24%\xc3\2\24U\r\n\37\16\a\6b\b^\b\6\30\0\24^\a\32)\r\b5#\21\x83\2\24U\f\t\16?\aF\16\t\n\36\n\16\n\4\6(\n\37.*\b\31\30\x045\xb3\2\1\23\4E-\f\t\16o\32\35\31\32\17\a\4\0\b\32\a.*)\4\b\4E#\4\xf3\1\1\23\x045\4\b\35\4\r\f\n\16?\t\r\31%\t\n\36\31\n\r\b\32\16*\b\31\r\b\4U\xe3\2\24%\b\17\a=\f\v\n\36\37\b\n\t\r\25\t\16\17>\17\b\t\16\32\t(\r\b\4e\1\xe3\2\4%\6\a\17\b-,\33\t\n\t\n\36*/\36\17\16\n\b\n\30\35\30\4\x85\1\xe3\2\4%\a\17\27\17\4\a\35<\v\f\n\r\16/\16\17N\n\31\a\b\35\b\4\xa5\1\3\1\xb3\2\24\25\a/\b\16\a\b\a\6\b\r,\r\b\n\r\nn*\t\30\a\b\xd5\1\1\xd3\2\25\aO\b\16\30\a\36\a\t\f\35\t\n\r\32\16Z\t\30\27\xe5\1S\4\xa3\1\21\3\4\25\a_\a\b\17\a\b\16?\a\35\t\n\r\a\tJ\31\r\24\xf5\1\x83\2\21\24\25\a_\a\17\b\a\17\27\17\b\a\37-\t\n\t\32\t\b\35\24\xa5\2C\24\x83\1\1\3\4\3\4\5\bo\a\6\a\4\37\16\'\b\36\35)\r\24\xf5\2\3\x043\4\x93\1\4\5\b\24o\36\27\30\37\'\0\27\16\4\35$\r\26H\r\24\25\4\5\4\x85\1\xd3\1\1\3\24\b\4\5o\16\17\27\b\a\4\a\37\27\16\a\30\a\b\4\b7h\r4\5\4\x85\1\3\4\xc3\1\4\5\4\b\5\a\17\16?>\27\b\r\4\a\16/\a\5\b\17\b\a\17\a\xa8\1\r\24\5\24\x85\1\3\4\xc3\1\4%\ao\16\17\x0e7\b\4\b\x0e7\5\a\b\a\16\b\4\b\'\36\27\6(\r\24\30\x85\1'
)

Choix ici aussi bien dosé, l'affichage de Super Dupont semble toujours correct en 16 couleurs.

Voilà, si tu es sur une des plateformes aux mémoires de stockage et heap limitées, et si tu juges le script converti par défaut trop gros relativement à la complexité de l'image que tu as fournie, c'est très probablement qu'il y a surabondance de couleurs et il te suffira tout simplement d'en réduire le nombre maximal.

Un gros merci à Afyu, cent20 et redgl0w qui ont rendu cette mise à jour possible ! :favorite:


Liens :

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
494 utilisateurs:
>480 invités
>5 membres
>9 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)