diff options
50 files changed, 1081 insertions, 1078 deletions
@@ -62,9 +62,9 @@ type Area interface { } type areabase struct { - width int - height int - handler AreaHandler + width int + height int + handler AreaHandler } // AreaHandler represents the events that an Area should respond to. @@ -314,9 +314,9 @@ func NewArea(width int, height int, handler AreaHandler) Area { panic("handler passed to NewArea() must not be nil") } return newArea(&areabase{ - width: width, - height: height, - handler: handler, + width: width, + height: height, + handler: handler, }) } @@ -342,7 +342,7 @@ func toARGB(i *image.RGBA, memory uintptr, memstride int, toNRGBA bool) { p := pixelDataPos(i) q := 0 iPix := i.Pix - if toNRGBA { // for Windows image lists + if toNRGBA { // for Windows image lists j := image.NewNRGBA(i.Rect) draw.Draw(j, j.Rect, i, i.Rect.Min, draw.Src) iPix = j.Pix diff --git a/area_darwin.go b/area_darwin.go index 259e95d..1b2dd92 100644 --- a/area_darwin.go +++ b/area_darwin.go @@ -15,19 +15,19 @@ import "C" type area struct { *areabase - _id C.id - scroller *scroller - textfield C.id - textfielddone *event + _id C.id + scroller *scroller + textfield C.id + textfielddone *event } func newArea(ab *areabase) Area { a := &area{ - areabase: ab, - textfielddone: newEvent(), + areabase: ab, + textfielddone: newEvent(), } a._id = C.newArea(unsafe.Pointer(a)) - a.scroller = newScroller(a._id, false) // no border on Area + a.scroller = newScroller(a._id, false) // no border on Area a.SetSize(a.width, a.height) a.textfield = C.newTextField() C.areaSetTextField(a._id, a.textfield) diff --git a/area_unix.go b/area_unix.go index 7b1d1ce..2e36628 100644 --- a/area_unix.go +++ b/area_unix.go @@ -34,18 +34,18 @@ import "C" type area struct { *areabase - _widget *C.GtkWidget - drawingarea *C.GtkDrawingArea - scroller *scroller + _widget *C.GtkWidget + drawingarea *C.GtkDrawingArea + scroller *scroller - clickCounter *clickCounter + clickCounter *clickCounter - textfieldw *C.GtkWidget - textfield *C.GtkEntry - textfieldx int - textfieldy int - textfielddone *event - inmenu bool + textfieldw *C.GtkWidget + textfield *C.GtkEntry + textfieldx int + textfieldy int + textfielddone *event + inmenu bool } func newArea(ab *areabase) Area { @@ -58,14 +58,14 @@ func newArea(ab *areabase) Area { C.gtk_widget_set_can_focus(widget, C.TRUE) textfieldw := C.gtk_entry_new() a := &area{ - areabase: ab, - _widget: widget, - drawingarea: (*C.GtkDrawingArea)(unsafe.Pointer(widget)), - scroller: newScroller(widget, false, false, true), // not natively scrollable; no border; have an overlay for OpenTextFieldAt() - clickCounter: new(clickCounter), - textfieldw: textfieldw, - textfield: (*C.GtkEntry)(unsafe.Pointer(textfieldw)), - textfielddone: newEvent(), + areabase: ab, + _widget: widget, + drawingarea: (*C.GtkDrawingArea)(unsafe.Pointer(widget)), + scroller: newScroller(widget, false, false, true), // not natively scrollable; no border; have an overlay for OpenTextFieldAt() + clickCounter: new(clickCounter), + textfieldw: textfieldw, + textfield: (*C.GtkEntry)(unsafe.Pointer(textfieldw)), + textfielddone: newEvent(), } for _, c := range areaCallbacks { g_signal_connect( @@ -124,7 +124,7 @@ func (a *area) OpenTextFieldAt(x, y int) { } a.textfieldx = x a.textfieldy = y - a.inmenu = false // to start + a.inmenu = false // to start // we disabled this for the initial Area show; we don't need to anymore C.gtk_widget_set_no_show_all(a.textfieldw, C.FALSE) C.gtk_widget_show_all(a.textfieldw) @@ -175,24 +175,24 @@ func our_area_textfield_focus_out_event_callback(widget *C.GtkWidget, event *C.G C.gtk_widget_hide(a.textfieldw) a.textfielddone.fire() } - a.inmenu = false // for next time + a.inmenu = false // for next time return continueEventChain } var area_textfield_focus_out_event_callback = C.GCallback(C.our_area_textfield_focus_out_event_callback) var areaCallbacks = []struct { - name string - callback C.GCallback + name string + callback C.GCallback }{ - { "draw", area_draw_callback }, - { "button-press-event", area_button_press_event_callback }, - { "button-release-event", area_button_release_event_callback }, - { "motion-notify-event", area_motion_notify_event_callback }, - { "enter-notify-event", area_enterleave_notify_event_callback }, - { "leave-notify-event", area_enterleave_notify_event_callback }, - { "key-press-event", area_key_press_event_callback }, - { "key-release-event", area_key_release_event_callback }, + {"draw", area_draw_callback}, + {"button-press-event", area_button_press_event_callback}, + {"button-release-event", area_button_release_event_callback}, + {"motion-notify-event", area_motion_notify_event_callback}, + {"enter-notify-event", area_enterleave_notify_event_callback}, + {"leave-notify-event", area_enterleave_notify_event_callback}, + {"key-press-event", area_key_press_event_callback}, + {"key-release-event", area_key_release_event_callback}, } //export our_area_draw_callback @@ -222,11 +222,11 @@ func our_area_draw_callback(widget *C.GtkWidget, cr *C.cairo_t, data C.gpointer) // the flush and mark_dirty calls are required; see the cairo docs and https://git.gnome.org/browse/gtk+/tree/gdk/gdkcairo.c#n232 (thanks desrt in irc.gimp.net/#gtk+) C.cairo_surface_flush(surface) toARGB(i, uintptr(unsafe.Pointer(C.cairo_image_surface_get_data(surface))), - int(C.cairo_image_surface_get_stride(surface)), false) // not NRGBA + int(C.cairo_image_surface_get_stride(surface)), false) // not NRGBA C.cairo_surface_mark_dirty(surface) C.cairo_set_source_surface(cr, surface, - x0, y0) // point on cairo_t where we want to draw (thanks Company in irc.gimp.net/#gtk+) + x0, y0) // point on cairo_t where we want to draw (thanks Company in irc.gimp.net/#gtk+) // that just set the brush that cairo uses: we have to actually draw now // (via https://developer.gnome.org/gtkmm-tutorial/stable/sec-draw-images.html.en) C.cairo_rectangle(cr, x0, y0, x1, y1) // breaking the norm here since we have the coordinates as a C double already @@ -252,7 +252,7 @@ func makeModifiers(state C.guint) (m Modifiers) { if (state & C.GDK_META_MASK) != 0 { m |= Alt } - if (state & C.GDK_MOD1_MASK) != 0 { // GTK+ itself requires this to be Alt (just read through gtkaccelgroup.c) + if (state & C.GDK_MOD1_MASK) != 0 { // GTK+ itself requires this to be Alt (just read through gtkaccelgroup.c) m |= Alt } if (state & C.GDK_SHIFT_MASK) != 0 { diff --git a/area_windows.go b/area_windows.go index e5e8ac0..d95beb1 100644 --- a/area_windows.go +++ b/area_windows.go @@ -15,12 +15,12 @@ import "C" type area struct { *areabase - _hwnd C.HWND + _hwnd C.HWND - clickCounter *clickCounter + clickCounter *clickCounter - textfield C.HWND - textfielddone *event + textfield C.HWND + textfielddone *event } func makeAreaWindowClass() error { @@ -35,9 +35,9 @@ func makeAreaWindowClass() error { func newArea(ab *areabase) Area { a := &area{ - areabase: ab, - clickCounter: new(clickCounter), - textfielddone: newEvent(), + areabase: ab, + clickCounter: new(clickCounter), + textfielddone: newEvent(), } a._hwnd = C.newArea(unsafe.Pointer(a)) a.SetSize(a.width, a.height) @@ -122,7 +122,7 @@ func dotoARGB(img unsafe.Pointer, ppvBits unsafe.Pointer, toNRGBA C.BOOL) { i := (*image.RGBA)(unsafe.Pointer(img)) t := toNRGBA != C.FALSE // the bitmap Windows gives us has a stride == width - toARGB(i, uintptr(ppvBits), i.Rect.Dx() * 4, t) + toARGB(i, uintptr(ppvBits), i.Rect.Dx()*4, t) } //export areaWidthLONG @@ -184,19 +184,19 @@ func finishAreaMouseEvent(data unsafe.Pointer, cbutton C.DWORD, up C.BOOL, heldB } // though wparam will contain control and shift state, let's use just one function to get modifiers for both keyboard and mouse events; it'll work the same anyway since we have to do this for alt and windows key (super) me.Modifiers = getModifiers() - if button != 1 && (heldButtons & C.MK_LBUTTON) != 0 { + if button != 1 && (heldButtons&C.MK_LBUTTON) != 0 { me.Held = append(me.Held, 1) } - if button != 2 && (heldButtons & C.MK_MBUTTON) != 0 { + if button != 2 && (heldButtons&C.MK_MBUTTON) != 0 { me.Held = append(me.Held, 2) } - if button != 3 && (heldButtons & C.MK_RBUTTON) != 0 { + if button != 3 && (heldButtons&C.MK_RBUTTON) != 0 { me.Held = append(me.Held, 3) } - if button != 4 && (heldButtons & C.MK_XBUTTON1) != 0 { + if button != 4 && (heldButtons&C.MK_XBUTTON1) != 0 { me.Held = append(me.Held, 4) } - if button != 5 && (heldButtons & C.MK_XBUTTON2) != 0 { + if button != 5 && (heldButtons&C.MK_XBUTTON2) != 0 { me.Held = append(me.Held, 5) } a.handler.Mouse(me) @@ -207,7 +207,7 @@ func areaKeyEvent(data unsafe.Pointer, up C.BOOL, wParam C.WPARAM, lParam C.LPAR var ke KeyEvent a := (*area)(data) - lp := uint32(lParam) // to be safe + lp := uint32(lParam) // to be safe // the numeric keypad keys when Num Lock is off are considered left-hand keys as the separate navigation buttons were added later // the numeric keypad enter, however, is a right-hand key because it has the same virtual-key code as the typewriter enter righthand := (lp & 0x01000000) != 0 diff --git a/button_darwin.go b/button_darwin.go index 0716365..06fac20 100644 --- a/button_darwin.go +++ b/button_darwin.go @@ -10,16 +10,16 @@ import ( import "C" type button struct { - _id C.id - clicked *event + _id C.id + clicked *event } func newButton(text string) *button { ctext := C.CString(text) defer C.free(unsafe.Pointer(ctext)) b := &button{ - _id: C.newButton(), - clicked: newEvent(), + _id: C.newButton(), + clicked: newEvent(), } C.buttonSetText(b._id, ctext) C.buttonSetDelegate(b._id, unsafe.Pointer(b)) diff --git a/button_unix.go b/button_unix.go index 4dc185a..a880b8c 100644 --- a/button_unix.go +++ b/button_unix.go @@ -13,9 +13,9 @@ import ( import "C" type button struct { - _widget *C.GtkWidget - button *C.GtkButton - clicked *event + _widget *C.GtkWidget + button *C.GtkButton + clicked *event } // shared code for setting up buttons, check boxes, etc. @@ -24,9 +24,9 @@ func newButton(text string) *button { defer freegstr(ctext) widget := C.gtk_button_new_with_label(ctext) b := &button{ - _widget: widget, - button: (*C.GtkButton)(unsafe.Pointer(widget)), - clicked: newEvent(), + _widget: widget, + button: (*C.GtkButton)(unsafe.Pointer(widget)), + clicked: newEvent(), } g_signal_connect( C.gpointer(unsafe.Pointer(b.button)), diff --git a/button_windows.go b/button_windows.go index 2634935..38e43d5 100644 --- a/button_windows.go +++ b/button_windows.go @@ -10,20 +10,20 @@ import ( import "C" type button struct { - _hwnd C.HWND - _textlen C.LONG - clicked *event + _hwnd C.HWND + _textlen C.LONG + clicked *event } var buttonclass = toUTF16("BUTTON") func newButton(text string) *button { hwnd := C.newControl(buttonclass, - C.BS_PUSHBUTTON | C.WS_TABSTOP, + C.BS_PUSHBUTTON|C.WS_TABSTOP, 0) b := &button{ - _hwnd: hwnd, - clicked: newEvent(), + _hwnd: hwnd, + clicked: newEvent(), } b.SetText(text) C.controlSetControlFont(b._hwnd) @@ -78,13 +78,13 @@ func (b *button) preferredSize(d *sizing) (width, height int) { // comctl32.dll version 6 thankfully provides a method to grab this... var size C.SIZE - size.cx = 0 // explicitly ask for ideal size + size.cx = 0 // explicitly ask for ideal size size.cy = 0 if C.SendMessageW(b._hwnd, C.BCM_GETIDEALSIZE, 0, C.LPARAM(uintptr(unsafe.Pointer(&size)))) != C.FALSE { return int(size.cx), int(size.cy) } // that failed, fall back -println("message failed; falling back") + println("message failed; falling back") // don't worry about the error return from GetSystemMetrics(); there's no way to tell (explicitly documented as such) xmargins := 2 * int(C.GetSystemMetrics(C.SM_CXEDGE)) return xmargins + int(b._textlen), fromdlgunitsY(buttonHeight, d) diff --git a/checkbox_darwin.go b/checkbox_darwin.go index ac3375a..126662c 100644 --- a/checkbox_darwin.go +++ b/checkbox_darwin.go @@ -10,16 +10,16 @@ import ( import "C" type checkbox struct { - _id C.id - toggled *event + _id C.id + toggled *event } func newCheckbox(text string) *checkbox { ctext := C.CString(text) defer C.free(unsafe.Pointer(ctext)) c := &checkbox{ - _id: C.newCheckbox(), - toggled: newEvent(), + _id: C.newCheckbox(), + toggled: newEvent(), } C.buttonSetText(c._id, ctext) C.checkboxSetDelegate(c._id, unsafe.Pointer(c)) diff --git a/checkbox_unix.go b/checkbox_unix.go index 3cae5fa..7d872a5 100644 --- a/checkbox_unix.go +++ b/checkbox_unix.go @@ -13,11 +13,11 @@ import ( import "C" type checkbox struct { - _widget *C.GtkWidget - button *C.GtkButton - toggle *C.GtkToggleButton - checkbox *C.GtkCheckButton - toggled *event + _widget *C.GtkWidget + button *C.GtkButton + toggle *C.GtkToggleButton + checkbox *C.GtkCheckButton + toggled *event } func newCheckbox(text string) *checkbox { @@ -25,11 +25,11 @@ func newCheckbox(text string) *checkbox { defer freegstr(ctext) widget := C.gtk_check_button_new_with_label(ctext) c := &checkbox{ - _widget: widget, - button: (*C.GtkButton)(unsafe.Pointer(widget)), - toggle: (*C.GtkToggleButton)(unsafe.Pointer(widget)), - checkbox: (*C.GtkCheckButton)(unsafe.Pointer(widget)), - toggled: newEvent(), + _widget: widget, + button: (*C.GtkButton)(unsafe.Pointer(widget)), + toggle: (*C.GtkToggleButton)(unsafe.Pointer(widget)), + checkbox: (*C.GtkCheckButton)(unsafe.Pointer(widget)), + toggled: newEvent(), } g_signal_connect( C.gpointer(unsafe.Pointer(c.checkbox)), diff --git a/checkbox_windows.go b/checkbox_windows.go index 6b17699..7f8ce85 100644 --- a/checkbox_windows.go +++ b/checkbox_windows.go @@ -10,20 +10,20 @@ import ( import "C" type checkbox struct { - _hwnd C.HWND - _textlen C.LONG - toggled *event + _hwnd C.HWND + _textlen C.LONG + toggled *event } func newCheckbox(text string) *checkbox { // don't use BS_AUTOCHECKBOX here because it creates problems when refocusing (see http://blogs.msdn.com/b/oldnewthing/archive/2014/05/22/10527522.aspx) // we'll handle actually toggling the check state ourselves (see controls_windows.c) hwnd := C.newControl(buttonclass, - C.BS_CHECKBOX | C.WS_TABSTOP, + C.BS_CHECKBOX|C.WS_TABSTOP, 0) c := &checkbox{ - _hwnd: hwnd, - toggled: newEvent(), + _hwnd: hwnd, + toggled: newEvent(), } c.SetText(text) C.controlSetControlFont(c._hwnd) diff --git a/common_windows.go b/common_windows.go index d7f8eaf..7a12a8a 100644 --- a/common_windows.go +++ b/common_windows.go @@ -4,9 +4,9 @@ package ui import ( "fmt" + "reflect" "syscall" "unsafe" - "reflect" ) // #include "winapi_windows.h" @@ -40,7 +40,7 @@ func getWindowText(hwnd C.HWND) string { // WM_GETTEXTLENGTH and WM_GETTEXT return the count /without/ the terminating null character // but WM_GETTEXT expects the buffer size handed to it to /include/ the terminating null character n := C.getWindowTextLen(hwnd) - buf := make([]uint16, int(n + 1)) + buf := make([]uint16, int(n+1)) C.getWindowText(hwnd, C.WPARAM(n), C.LPWSTR(unsafe.Pointer(&buf[0]))) return syscall.UTF16ToString(buf) @@ -49,9 +49,9 @@ func getWindowText(hwnd C.HWND) string { func wstrToString(wstr *C.WCHAR) string { n := C.wcslen((*C.wchar_t)(unsafe.Pointer(wstr))) xbuf := &reflect.SliceHeader{ - Data: uintptr(unsafe.Pointer(wstr)), - Len: int(n + 1), - Cap: int(n + 1), + Data: uintptr(unsafe.Pointer(wstr)), + Len: int(n + 1), + Cap: int(n + 1), } buf := (*[]uint16)(unsafe.Pointer(xbuf)) return syscall.UTF16ToString(*buf) diff --git a/container.go b/container.go index c855072..143985c 100644 --- a/container.go +++ b/container.go @@ -3,20 +3,20 @@ package ui type allocation struct { - x int - y int - width int - height int - this Control - neighbor Control + x int + y int + width int + height int + this Control + neighbor Control } type sizingbase struct { - xmargin int - ymargintop int - ymarginbottom int - xpadding int - ypadding int + xmargin int + ymargintop int + ymarginbottom int + xpadding int + ypadding int } type controlSizing interface { @@ -31,19 +31,19 @@ type controlSizing interface { // Tab and Group use containers for their content; as such, their commitResize() functions should only change the size of the Tab and Group themselves, and have their containers do the real work. // All containers must embed containerbase. type containerbase struct { - child Control + child Control } // set to true to apply spacing to all windows var spaced bool = false func (c *container) resize(x, y, width, height int) { - if c.child == nil { // no children; nothing to do + if c.child == nil { // no children; nothing to do return } d := c.beginResize() - allocations := c.child.allocate(x + d.xmargin, y + d.ymargintop, - width - (2 * d.xmargin), height - d.ymargintop - d.ymarginbottom, d) + allocations := c.child.allocate(x+d.xmargin, y+d.ymargintop, + width-(2*d.xmargin), height-d.ymargintop-d.ymarginbottom, d) c.translateAllocationCoords(allocations, width, height) // move in reverse so as to approximate right->left order so neighbors make sense for i := len(allocations) - 1; i >= 0; i-- { diff --git a/container_darwin.go b/container_darwin.go index 8b98b64..b2086c4 100644 --- a/container_darwin.go +++ b/container_darwin.go @@ -11,7 +11,7 @@ import "C" type container struct { containerbase - id C.id + id C.id } type sizing struct { @@ -21,7 +21,7 @@ type sizing struct { // nothing for mac // for the actual resizing - neighborAlign C.struct_xalignment + neighborAlign C.struct_xalignment } func newContainer(child Control) *container { @@ -41,8 +41,8 @@ func containerResized(data unsafe.Pointer, width C.intptr_t, height C.intptr_t) // These are based on measurements from Interface Builder. const ( - macXMargin = 20 - macYMargin = 20 + macXMargin = 20 + macYMargin = 20 macXPadding = 8 macYPadding = 8 ) diff --git a/container_unix.go b/container_unix.go index fbfd993..ffb1ffa 100644 --- a/container_unix.go +++ b/container_unix.go @@ -13,8 +13,8 @@ import "C" type container struct { containerbase - layoutwidget *C.GtkWidget - layoutcontainer *C.GtkContainer + layoutwidget *C.GtkWidget + layoutcontainer *C.GtkContainer } type sizing struct { @@ -24,7 +24,7 @@ type sizing struct { // gtk+ needs nothing // for the actual resizing - shouldVAlignTop bool + shouldVAlignTop bool } func newContainer(child Control) *container { @@ -48,8 +48,8 @@ func containerResizing(data unsafe.Pointer, r *C.GtkAllocation) { } const ( - gtkXMargin = 12 - gtkYMargin = 12 + gtkXMargin = 12 + gtkYMargin = 12 gtkXPadding = 12 gtkYPadding = 6 ) diff --git a/container_windows.go b/container_windows.go index d3fd327..99be1c2 100644 --- a/container_windows.go +++ b/container_windows.go @@ -13,18 +13,18 @@ import "C" type container struct { containerbase - hwnd C.HWND - nchildren int - isGroup bool + hwnd C.HWND + nchildren int + isGroup bool } type sizing struct { sizingbase // for size calculations - baseX C.int - baseY C.int - internalLeading C.LONG // for Label; see Label.commitResize() for details + baseX C.int + baseY C.int + internalLeading C.LONG // for Label; see Label.commitResize() for details // for the actual resizing // possibly the HDWP @@ -57,7 +57,7 @@ func (c *container) setParent(hwnd C.HWND) { // this is needed because Windows won't move/resize a child window for us func (c *container) move(r *C.RECT) { - C.moveWindow(c.hwnd, C.int(r.left), C.int(r.top), C.int(r.right - r.left), C.int(r.bottom - r.top)) + C.moveWindow(c.hwnd, C.int(r.left), C.int(r.top), C.int(r.right-r.left), C.int(r.bottom-r.top)) } func (c *container) show() { @@ -78,7 +78,7 @@ func storeContainerHWND(data unsafe.Pointer, hwnd C.HWND) { func containerResize(data unsafe.Pointer, r *C.RECT) { c := (*container)(data) // the origin of any window's content area is always (0, 0), but let's use the values from the RECT just to be safe - c.resize(int(r.left), int(r.top), int(r.right - r.left), int(r.bottom - r.top)) + c.resize(int(r.left), int(r.top), int(r.right-r.left), int(r.bottom-r.top)) } // For Windows, Microsoft just hands you a list of preferred control sizes as part of the MSDN documentation and tells you to roll with it. @@ -103,11 +103,11 @@ func fromdlgunitsY(du int, d *sizing) int { } const ( - marginDialogUnits = 7 + marginDialogUnits = 7 paddingDialogUnits = 4 - groupXMargin = 6 - groupYMarginTop = 11 // note this value /includes the groupbox label/ + groupXMargin = 6 + groupYMarginTop = 11 // note this value /includes the groupbox label/ groupYMarginBottom = 7 ) @@ -4,17 +4,17 @@ package ui // Control represents a control. type Control interface { - setParent(p *controlParent) // controlParent defined per-platform + setParent(p *controlParent) // controlParent defined per-platform controlSizing } // this is the same across all platforms func baseallocate(c Control, x int, y int, width int, height int, d *sizing) []*allocation { return []*allocation{&allocation{ - x: x, - y: y, - width: width, - height: height, - this: c, + x: x, + y: y, + width: width, + height: height, + this: c, }} } diff --git a/control_darwin.go b/control_darwin.go index b3b3dcf..cc77ed2 100644 --- a/control_darwin.go +++ b/control_darwin.go @@ -12,7 +12,7 @@ type controlPrivate interface { } type controlParent struct { - id C.id + id C.id } func basesetParent(c controlPrivate, p *controlParent) { @@ -38,13 +38,13 @@ func basegetAuxResizeInfo(c controlPrivate, d *sizing) { } type scroller struct { - id C.id + id C.id } func newScroller(child C.id, bordered bool) *scroller { id := C.newScrollView(child, toBOOL(bordered)) s := &scroller{ - id: id, + id: id, } return s } diff --git a/control_unix.go b/control_unix.go index 10193e8..e8200c4 100644 --- a/control_unix.go +++ b/control_unix.go @@ -18,11 +18,11 @@ type controlPrivate interface { } type controlParent struct { - c *C.GtkContainer + c *C.GtkContainer } func basesetParent(c controlPrivate, p *controlParent) { - widget := c.widget() // avoid multiple interface lookups + widget := c.widget() // avoid multiple interface lookups C.gtk_container_add(p.c, widget) // make sure the new widget is shown if not explicitly hidden C.gtk_widget_show_all(widget) @@ -66,15 +66,15 @@ func basegetAuxResizeInfo(c Control, d *sizing) { } type scroller struct { - scrollwidget *C.GtkWidget - scrollcontainer *C.GtkContainer - scrollwindow *C.GtkScrolledWindow + scrollwidget *C.GtkWidget + scrollcontainer *C.GtkContainer + scrollwindow *C.GtkScrolledWindow - overlaywidget *C.GtkWidget - overlaycontainer *C.GtkContainer - overlay *C.GtkOverlay + overlaywidget *C.GtkWidget + overlaycontainer *C.GtkContainer + overlay *C.GtkOverlay - addShowWhich *C.GtkWidget + addShowWhich *C.GtkWidget } func newScroller(widget *C.GtkWidget, native bool, bordered bool, overlay bool) *scroller { @@ -85,12 +85,12 @@ func newScroller(widget *C.GtkWidget, native bool, bordered bool, overlay bool) o = C.gtk_overlay_new() } s := &scroller{ - scrollwidget: scrollwidget, - scrollcontainer: (*C.GtkContainer)(unsafe.Pointer(scrollwidget)), - scrollwindow: (*C.GtkScrolledWindow)(unsafe.Pointer(scrollwidget)), - overlaywidget: o, - overlaycontainer: (*C.GtkContainer)(unsafe.Pointer(o)), - overlay: (*C.GtkOverlay)(unsafe.Pointer(o)), + scrollwidget: scrollwidget, + scrollcontainer: (*C.GtkContainer)(unsafe.Pointer(scrollwidget)), + scrollwindow: (*C.GtkScrolledWindow)(unsafe.Pointer(scrollwidget)), + overlaywidget: o, + overlaycontainer: (*C.GtkContainer)(unsafe.Pointer(o)), + overlay: (*C.GtkOverlay)(unsafe.Pointer(o)), } // give the scrolled window a border (thanks to jlindgren in irc.gimp.net/#gtk+) if bordered { diff --git a/control_windows.go b/control_windows.go index 564d8d4..d48fa54 100644 --- a/control_windows.go +++ b/control_windows.go @@ -11,7 +11,7 @@ type controlPrivate interface { } type controlParent struct { - c *container + c *container } func basesetParent(c controlPrivate, p *controlParent) { diff --git a/dialog_unix.go b/dialog_unix.go index 777dfb1..c908910 100644 --- a/dialog_unix.go +++ b/dialog_unix.go @@ -25,7 +25,7 @@ import "C" func (w *window) openFile(f func(filename string)) { widget := C.newOpenFileDialog(w.window) window := (*C.GtkWindow)(unsafe.Pointer(widget)) - dialog := (*C.GtkDialog)(unsafe.Pointer(widget)) + dialog := (*C.GtkDialog)(unsafe.Pointer(widget)) fc := (*C.GtkFileChooser)(unsafe.Pointer(widget)) // non-local filenames are relevant mainly to GIO where we can open *anything*, not to Go os.File; see https://twitter.com/braket/status/506142849654870016 C.gtk_file_chooser_set_local_only(fc, C.TRUE) @@ -9,7 +9,7 @@ import ( // Grid is a Control that arranges other Controls in a grid. // Grid is a very powerful container: it can position and size each Control in several ways and can (and must) have Controls added to it at any time, in any direction. // it can also have Controls spanning multiple rows and columns. -// +// // Each Control in a Grid has associated "expansion" and "alignment" values in both the X and Y direction. // Expansion determines whether all cells in the same row/column are given whatever space is left over after figuring out how big the rest of the Grid should be. // Alignment determines the position of a Control relative to its cell after computing the above. @@ -31,6 +31,7 @@ type Grid interface { // Align represents the alignment of a Control in its cell of a Grid. type Align uint + const ( LeftTop Align = iota Center @@ -40,6 +41,7 @@ const ( // Side represents a side of a Control to add other Controls to a Grid to. type Side uint + const ( West Side = iota East @@ -49,39 +51,39 @@ const ( ) type grid struct { - controls []gridCell - indexof map[Control]int - prev int - parent *controlParent + controls []gridCell + indexof map[Control]int + prev int + parent *controlParent - xmax int - ymax int + xmax int + ymax int } type gridCell struct { - control Control - xexpand bool - xalign Align - yexpand bool - yalign Align - xspan int - yspan int + control Control + xexpand bool + xalign Align + yexpand bool + yalign Align + xspan int + yspan int - x int - y int + x int + y int - finalx int - finaly int - finalwidth int - finalheight int - prefwidth int - prefheight int + finalx int + finaly int + finalwidth int + finalheight int + prefwidth int + prefheight int } // NewGrid creates a new Grid with no Controls. func NewGrid() Grid { return &grid{ - indexof: map[Control]int{}, + indexof: map[Control]int{}, } } @@ -105,10 +107,10 @@ func (g *grid) reorigin() { for i := range g.controls { g.controls[i].x += xmin g.controls[i].y += ymin - if g.xmax < g.controls[i].x + g.controls[i].xspan { + if g.xmax < g.controls[i].x+g.controls[i].xspan { g.xmax = g.controls[i].x + g.controls[i].xspan } - if g.ymax < g.controls[i].y + g.controls[i].yspan { + if g.ymax < g.controls[i].y+g.controls[i].yspan { g.ymax = g.controls[i].y + g.controls[i].yspan } } @@ -119,13 +121,13 @@ func (g *grid) Add(control Control, nextTo Control, side Side, xexpand bool, xal panic(fmt.Errorf("invalid span %dx%d given to Grid.Add()", xspan, yspan)) } cell := gridCell{ - control: control, - xexpand: xexpand, - xalign: xalign, - yexpand: yexpand, - yalign: yalign, - xspan: xspan, - yspan: yspan, + control: control, + xexpand: xexpand, + xalign: xalign, + yexpand: yexpand, + yalign: yalign, + xspan: xspan, + yspan: yspan, } if g.parent != nil { control.setParent(g.parent) @@ -176,8 +178,8 @@ func (g *grid) mkgrid() (gg [][]int, colwidths []int, rowheights []int) { } } for i := range g.controls { - for y := g.controls[i].y; y < g.controls[i].y + g.controls[i].yspan; y++ { - for x := g.controls[i].x; x < g.controls[i].x + g.controls[i].xspan; x++ { + for y := g.controls[i].y; y < g.controls[i].y+g.controls[i].yspan; y++ { + for x := g.controls[i].x; x < g.controls[i].x+g.controls[i].xspan; x++ { gg[y][x] = i } } @@ -241,28 +243,28 @@ func (g *grid) allocate(x int, y int, width int, height int, d *sizing) (allocat for i := range g.controls { if g.controls[i].xexpand && g.controls[i].xspan != 1 { do := true - for x := g.controls[i].x; x < g.controls[i].x + g.controls[i].xspan; x++ { + for x := g.controls[i].x; x < g.controls[i].x+g.controls[i].xspan; x++ { if xexpand[x] { do = false break } } if do { - for x := g.controls[i].x; x < g.controls[i].x + g.controls[i].xspan; x++ { + for x := g.controls[i].x; x < g.controls[i].x+g.controls[i].xspan; x++ { xexpand[x] = true } } } if g.controls[i].yexpand && g.controls[i].yspan != 1 { do := true - for y := g.controls[i].y; y < g.controls[i].y + g.controls[i].yspan; y++ { + for y := g.controls[i].y; y < g.controls[i].y+g.controls[i].yspan; y++ { if yexpand[y] { do = false break } } if do { - for y := g.controls[i].y; y < g.controls[i].y + g.controls[i].yspan; y++ { + for y := g.controls[i].y; y < g.controls[i].y+g.controls[i].yspan; y++ { yexpand[y] = true } } @@ -311,7 +313,7 @@ func (g *grid) allocate(x int, y int, width int, height int, d *sizing) (allocat prev := -1 for x := 0; x < g.xmax; x++ { i := gg[y][x] - if i != -1 && y == g.controls[i].y { // don't repeat this step if the control spans vertically + if i != -1 && y == g.controls[i].y { // don't repeat this step if the control spans vertically if i != prev { g.controls[i].finalx = curx } else { @@ -328,7 +330,7 @@ func (g *grid) allocate(x int, y int, width int, height int, d *sizing) (allocat prev := -1 for y := 0; y < g.ymax; y++ { i := gg[y][x] - if i != -1 && x == g.controls[i].x { // don't repeat this step if the control spans horizontally + if i != -1 && x == g.controls[i].x { // don't repeat this step if the control spans horizontally if i != prev { g.controls[i].finaly = cury } else { @@ -351,7 +353,7 @@ func (g *grid) allocate(x int, y int, width int, height int, d *sizing) (allocat case Center: g.controls[i].finalx += (g.controls[i].finalwidth - g.controls[i].prefwidth) / 2 } - g.controls[i].finalwidth = g.controls[i].prefwidth // for all three + g.controls[i].finalwidth = g.controls[i].prefwidth // for all three } if g.controls[i].yalign != Fill { switch g.controls[i].yalign { @@ -360,7 +362,7 @@ func (g *grid) allocate(x int, y int, width int, height int, d *sizing) (allocat case Center: g.controls[i].finaly += (g.controls[i].finalheight - g.controls[i].prefheight) / 2 } - g.controls[i].finalheight = g.controls[i].prefheight // for all three + g.controls[i].finalheight = g.controls[i].prefheight // for all three } } @@ -370,17 +372,17 @@ func (g *grid) allocate(x int, y int, width int, height int, d *sizing) (allocat for _, ycol := range gg { current = nil for _, i := range ycol { - if i != -1 { // treat empty cells like spaces + if i != -1 { // treat empty cells like spaces as := g.controls[i].control.allocate( - g.controls[i].finalx + x, g.controls[i].finaly + y, + g.controls[i].finalx+x, g.controls[i].finaly+y, g.controls[i].finalwidth, g.controls[i].finalheight, d) - if current != nil { // connect first left to first right + if current != nil { // connect first left to first right current.neighbor = g.controls[i].control } if len(as) != 0 { - current = as[0] // next left is first subwidget + current = as[0] // next left is first subwidget } else { - current = nil // spaces don't have allocation data + current = nil // spaces don't have allocation data } allocations = append(allocations, as...) } @@ -409,10 +411,10 @@ func (g *grid) preferredSize(d *sizing) (width, height int) { } w, h := g.controls[i].control.preferredSize(d) // allot equal space in the presence of spanning to keep things sane - if colwidths[x] < w / g.controls[i].xspan { + if colwidths[x] < w/g.controls[i].xspan { colwidths[x] = w / g.controls[i].xspan } - if rowheights[y] < h / g.controls[i].yspan { + if rowheights[y] < h/g.controls[i].yspan { rowheights[y] = h / g.controls[i].yspan } // save these for step 6 @@ -432,8 +434,8 @@ func (g *grid) preferredSize(d *sizing) (width, height int) { } // and that's it; just account for padding - return colwidth + (g.xmax - 1) * d.xpadding, - rowheight + (g.ymax - 1) * d.ypadding + return colwidth + (g.xmax-1)*d.xpadding, + rowheight + (g.ymax-1)*d.ypadding } func (g *grid) commitResize(a *allocation, d *sizing) { diff --git a/group_darwin.go b/group_darwin.go index 788ba83..ad3610a 100644 --- a/group_darwin.go +++ b/group_darwin.go @@ -10,7 +10,7 @@ import ( import "C" type group struct { - _id C.id + _id C.id *container } diff --git a/group_unix.go b/group_unix.go index ceaa59c..b59b158 100644 --- a/group_unix.go +++ b/group_unix.go @@ -12,9 +12,9 @@ import ( import "C" type group struct { - _widget *C.GtkWidget - gcontainer *C.GtkContainer - frame *C.GtkFrame + _widget *C.GtkWidget + gcontainer *C.GtkContainer + frame *C.GtkFrame *container } @@ -24,9 +24,9 @@ func newGroup(text string, control Control) Group { defer freegstr(ctext) widget := C.gtk_frame_new(ctext) g := &group{ - _widget: widget, - gcontainer: (*C.GtkContainer)(unsafe.Pointer(widget)), - frame: (*C.GtkFrame)(unsafe.Pointer(widget)), + _widget: widget, + gcontainer: (*C.GtkContainer)(unsafe.Pointer(widget)), + frame: (*C.GtkFrame)(unsafe.Pointer(widget)), } // with GTK+, groupboxes by default have frames and slightly x-offset regular text @@ -44,7 +44,7 @@ func newGroup(text string, control Control) Group { boldlist := C.pango_attr_list_new() C.pango_attr_list_insert(boldlist, bold) C.gtk_label_set_attributes(label, boldlist) - C.pango_attr_list_unref(boldlist) // thanks baedert in irc.gimp.net/#gtk+ + C.pango_attr_list_unref(boldlist) // thanks baedert in irc.gimp.net/#gtk+ g.container = newContainer(control) g.container.setParent(&controlParent{g.gcontainer}) diff --git a/group_windows.go b/group_windows.go index fda95e3..05956b0 100644 --- a/group_windows.go +++ b/group_windows.go @@ -6,8 +6,8 @@ package ui import "C" type group struct { - _hwnd C.HWND - _textlen C.LONG + _hwnd C.HWND + _textlen C.LONG *container } @@ -17,8 +17,8 @@ func newGroup(text string, control Control) Group { C.BS_GROUPBOX, C.WS_EX_CONTROLPARENT) g := &group{ - _hwnd: hwnd, - container: newContainer(control), + _hwnd: hwnd, + container: newContainer(control), } g.SetText(text) C.controlSetControlFont(g._hwnd) @@ -57,7 +57,7 @@ func (g *group) allocate(x int, y int, width int, height int, d *sizing) []*allo func (g *group) preferredSize(d *sizing) (width, height int) { width, height = g.child.preferredSize(d) - if width < int(g._textlen) { // if the text is longer, try not to truncate + if width < int(g._textlen) { // if the text is longer, try not to truncate width = int(g._textlen) } // the two margin constants come from container_windows.go diff --git a/imagelist_darwin.go b/imagelist_darwin.go index 53fafa5..add9584 100644 --- a/imagelist_darwin.go +++ b/imagelist_darwin.go @@ -11,7 +11,7 @@ import ( import "C" type imagelist struct { - list []C.id + list []C.id } func newImageList() ImageList { diff --git a/imagelist_unix.go b/imagelist_unix.go index 246f281..dc6e624 100644 --- a/imagelist_unix.go +++ b/imagelist_unix.go @@ -6,15 +6,15 @@ package ui import ( "fmt" - "unsafe" "image" + "unsafe" ) // #include "gtk_unix.h" import "C" type imagelist struct { - list []*C.GdkPixbuf + list []*C.GdkPixbuf } func newImageList() ImageList { @@ -37,7 +37,7 @@ func (i *imagelist) Append(img *image.RGBA) { } C.cairo_surface_flush(surface) toARGB(img, uintptr(unsafe.Pointer(C.cairo_image_surface_get_data(surface))), - int(C.cairo_image_surface_get_stride(surface)), false) // not NRGBA + int(C.cairo_image_surface_get_stride(surface)), false) // not NRGBA C.cairo_surface_mark_dirty(surface) basepixbuf := C.gdk_pixbuf_get_from_surface(surface, 0, 0, C.gint(img.Rect.Dx()), C.gint(img.Rect.Dy())) if basepixbuf == nil { diff --git a/imagelist_windows.go b/imagelist_windows.go index 7ab014b..087bbda 100644 --- a/imagelist_windows.go +++ b/imagelist_windows.go @@ -11,9 +11,9 @@ import ( import "C" type imagelist struct { - list []C.HBITMAP - width []int - height []int + list []C.HBITMAP + width []int + height []int } func newImageList() ImageList { diff --git a/label_darwin.go b/label_darwin.go index 0508931..0ad73e7 100644 --- a/label_darwin.go +++ b/label_darwin.go @@ -10,14 +10,14 @@ import ( import "C" type label struct { - _id C.id - standalone bool + _id C.id + standalone bool } func finishNewLabel(text string, standalone bool) *label { l := &label{ - _id: C.newLabel(), - standalone: standalone, + _id: C.newLabel(), + standalone: standalone, } l.SetText(text) return l @@ -64,16 +64,16 @@ func (l *label) preferredSize(d *sizing) (width, height int) { func (l *label) commitResize(c *allocation, d *sizing) { if !l.standalone && c.neighbor != nil { c.neighbor.getAuxResizeInfo(d) - if d.neighborAlign.baseline != 0 { // no adjustment needed if the given control has no baseline + if d.neighborAlign.baseline != 0 { // no adjustment needed if the given control has no baseline // in order for the baseline value to be correct, the label MUST BE AT THE HEIGHT THAT OS X WANTS IT TO BE! // otherwise, the baseline calculation will be relative to the bottom of the control, and everything will be wrong origsize := C.controlPreferredSize(l._id) c.height = int(origsize.height) newrect := C.struct_xrect{ - x: C.intptr_t(c.x), - y: C.intptr_t(c.y), - width: C.intptr_t(c.width), - height: C.intptr_t(c.height), + x: C.intptr_t(c.x), + y: C.intptr_t(c.y), + width: C.intptr_t(c.width), + height: C.intptr_t(c.height), } ourAlign := C.alignmentInfo(l._id, newrect) // we need to find the exact Y positions of the baselines diff --git a/label_unix.go b/label_unix.go index 45a3dad..750a7f8 100644 --- a/label_unix.go +++ b/label_unix.go @@ -14,10 +14,10 @@ import ( import "C" type label struct { - _widget *C.GtkWidget - misc *C.GtkMisc - label *C.GtkLabel - standalone bool + _widget *C.GtkWidget + misc *C.GtkMisc + label *C.GtkLabel + standalone bool } func finishNewLabel(text string, standalone bool) *label { @@ -25,10 +25,10 @@ func finishNewLabel(text string, standalone bool) *label { defer freegstr(ctext) widget := C.gtk_label_new(ctext) l := &label{ - _widget: widget, - misc: (*C.GtkMisc)(unsafe.Pointer(widget)), - label: (*C.GtkLabel)(unsafe.Pointer(widget)), - standalone: standalone, + _widget: widget, + misc: (*C.GtkMisc)(unsafe.Pointer(widget)), + label: (*C.GtkLabel)(unsafe.Pointer(widget)), + standalone: standalone, } return l } diff --git a/label_windows.go b/label_windows.go index 96daa67..df39e51 100644 --- a/label_windows.go +++ b/label_windows.go @@ -6,9 +6,9 @@ package ui import "C" type label struct { - _hwnd C.HWND - _textlen C.LONG - standalone bool + _hwnd C.HWND + _textlen C.LONG + standalone bool } var labelclass = toUTF16("STATIC") @@ -17,11 +17,11 @@ func finishNewLabel(text string, standalone bool) *label { hwnd := C.newControl(labelclass, // SS_NOPREFIX avoids accelerator translation; SS_LEFTNOWORDWRAP clips text past the end // controls are vertically aligned to the top by default (thanks Xeek in irc.freenode.net/#winapi) - C.SS_NOPREFIX | C.SS_LEFTNOWORDWRAP, + C.SS_NOPREFIX|C.SS_LEFTNOWORDWRAP, C.WS_EX_TRANSPARENT) l := &label{ - _hwnd: hwnd, - standalone: standalone, + _hwnd: hwnd, + standalone: standalone, } l.SetText(text) C.controlSetControlFont(l._hwnd) @@ -71,7 +71,7 @@ func (l *label) allocate(x int, y int, width int, height int, d *sizing) []*allo const ( // via http://msdn.microsoft.com/en-us/library/windows/desktop/dn742486.aspx#sizingandspacing - labelHeight = 8 + labelHeight = 8 labelYOffset = 3 ) diff --git a/simplegrid.go b/simplegrid.go index 142bc40..7e8527f 100644 --- a/simplegrid.go +++ b/simplegrid.go @@ -14,7 +14,7 @@ import ( // One Control can be marked as "stretchy": when the Window containing the SimpleGrid is resized, the cell containing that Control resizes to take any remaining space; its row and column are adjusted accordingly (so other filling controls in the same row and column will fill to the new height and width, respectively). // A stretchy Control implicitly fills its cell. // All cooridnates in a SimpleGrid are given in (row,column) form with (0,0) being the top-left cell. -// +// // As a special rule, to ensure proper appearance, non-standalone Labels are automatically made filling. type SimpleGrid interface { Control @@ -34,7 +34,7 @@ type simpleGrid struct { controls [][]Control filling [][]bool stretchyrow, stretchycol int - stretchyfill bool + stretchyfill bool widths, heights [][]int // caches to avoid reallocating each time rowheights, colwidths []int } @@ -98,7 +98,7 @@ func (g *simpleGrid) SetStretchy(row int, column int) { } g.stretchyrow = row g.stretchycol = column - g.stretchyfill = g.filling[g.stretchyrow][g.stretchycol] // save previous value in case it changes later + g.stretchyfill = g.filling[g.stretchyrow][g.stretchycol] // save previous value in case it changes later g.filling[g.stretchyrow][g.stretchycol] = true } @@ -118,7 +118,7 @@ func (g *simpleGrid) allocate(x int, y int, width int, height int, d *sizing) (a return b } - var current *allocation // for neighboring + var current *allocation // for neighboring if len(g.controls) == 0 { return nil @@ -161,7 +161,7 @@ func (g *simpleGrid) allocate(x int, y int, width int, height int, d *sizing) (a // 4) draw startx := x for row, xcol := range g.controls { - current = nil // reset on new columns + current = nil // reset on new columns for col, c := range xcol { w := g.widths[row][col] h := g.heights[row][col] @@ -170,13 +170,13 @@ func (g *simpleGrid) allocate(x int, y int, width int, height int, d *sizing) (a h = g.rowheights[row] } as := c.allocate(x, y, w, h, d) - if current != nil { // connect first left to first right + if current != nil { // connect first left to first right current.neighbor = c } if len(as) != 0 { - current = as[0] // next left is first subwidget + current = as[0] // next left is first subwidget } else { - current = nil // spaces don't have allocation data + current = nil // spaces don't have allocation data } allocations = append(allocations, as...) x += g.colwidths[col] + d.xpadding @@ -68,7 +68,7 @@ func (s *stack) setParent(parent *controlParent) { func (s *stack) allocate(x int, y int, width int, height int, d *sizing) (allocations []*allocation) { var stretchywid, stretchyht int - var current *allocation // for neighboring + var current *allocation // for neighboring if len(s.controls) == 0 { // do nothing if there's nothing to do return nil @@ -117,14 +117,14 @@ func (s *stack) allocate(x int, y int, width int, height int, d *sizing) (alloca // 3) now actually place controls for i, c := range s.controls { as := c.allocate(x, y, s.width[i], s.height[i], d) - if s.orientation == horizontal { // no vertical neighbors - if current != nil { // connect first left to first right + if s.orientation == horizontal { // no vertical neighbors + if current != nil { // connect first left to first right current.neighbor = c } if len(as) != 0 { - current = as[0] // next left is first subwidget + current = as[0] // next left is first subwidget } else { - current = nil // spaces don't have allocation data + current = nil // spaces don't have allocation data } } allocations = append(allocations, as...) @@ -192,7 +192,6 @@ func (s *stack) getAuxResizeInfo(d *sizing) { // this is to satisfy Control; nothing to do here } - // Space returns a null Control intended for padding layouts with blank space. // It appears to its owner as a Control of 0x0 size. // diff --git a/tab_darwin.go b/tab_darwin.go index e6e0c8a..b33827d 100644 --- a/tab_darwin.go +++ b/tab_darwin.go @@ -10,13 +10,13 @@ import ( import "C" type tab struct { - _id C.id - tabs []*container + _id C.id + tabs []*container } func newTab() Tab { return &tab{ - _id: C.newTab(), + _id: C.newTab(), } } diff --git a/tab_unix.go b/tab_unix.go index c73796f..79f7844 100644 --- a/tab_unix.go +++ b/tab_unix.go @@ -12,19 +12,19 @@ import ( import "C" type tab struct { - _widget *C.GtkWidget - container *C.GtkContainer - notebook *C.GtkNotebook + _widget *C.GtkWidget + container *C.GtkContainer + notebook *C.GtkNotebook - tabs []*container + tabs []*container } func newTab() Tab { widget := C.gtk_notebook_new() t := &tab{ - _widget: widget, - container: (*C.GtkContainer)(unsafe.Pointer(widget)), - notebook: (*C.GtkNotebook)(unsafe.Pointer(widget)), + _widget: widget, + container: (*C.GtkContainer)(unsafe.Pointer(widget)), + notebook: (*C.GtkNotebook)(unsafe.Pointer(widget)), } // there are no scrolling arrows by default; add them in case there are too many tabs C.gtk_notebook_set_scrollable(t.notebook, C.TRUE) @@ -40,7 +40,7 @@ func (t *tab) Append(name string, control Control) { defer freegstr(cname) C.gtk_notebook_set_tab_label_text(t.notebook, // unfortunately there does not seem to be a gtk_notebook_set_nth_tab_label_text() - C.gtk_notebook_get_nth_page(t.notebook, C.gint(len(t.tabs) - 1)), + C.gtk_notebook_get_nth_page(t.notebook, C.gint(len(t.tabs)-1)), cname) } diff --git a/tab_windows.go b/tab_windows.go index 5aabd8d..05d75d0 100644 --- a/tab_windows.go +++ b/tab_windows.go @@ -16,16 +16,16 @@ We'll create a dummy window using the pre-existing Window window class for each */ type tab struct { - _hwnd C.HWND - tabs []*container + _hwnd C.HWND + tabs []*container } func newTab() Tab { hwnd := C.newControl(C.xWC_TABCONTROL, - C.TCS_TOOLTIPS | C.WS_TABSTOP, - 0) // don't set WS_EX_CONTROLPARENT here; see uitask_windows.c + C.TCS_TOOLTIPS|C.WS_TABSTOP, + 0) // don't set WS_EX_CONTROLPARENT here; see uitask_windows.c t := &tab{ - _hwnd: hwnd, + _hwnd: hwnd, } C.controlSetControlFont(t._hwnd) C.setTabSubclass(t._hwnd, unsafe.Pointer(t)) @@ -38,7 +38,7 @@ func (t *tab) Append(name string, control Control) { t.tabs = append(t.tabs, c) // initially hide tab 1..n controls; if we don't, they'll appear over other tabs, resulting in weird behavior if len(t.tabs) != 1 { - t.tabs[len(t.tabs) - 1].hide() + t.tabs[len(t.tabs)-1].hide() } C.tabAppend(t._hwnd, toUTF16(name)) } @@ -58,7 +58,7 @@ func tabChanged(data unsafe.Pointer, new C.LRESULT) { //export tabTabHasChildren func tabTabHasChildren(data unsafe.Pointer, which C.LRESULT) C.BOOL { t := (*tab)(data) - if len(t.tabs) == 0 { // currently no tabs + if len(t.tabs) == 0 { // currently no tabs return C.FALSE } if t.tabs[int(which)].nchildren > 0 { @@ -52,8 +52,8 @@ type Table interface { } type tablebase struct { - lock sync.RWMutex - data interface{} + lock sync.RWMutex + data interface{} } // NewTable creates a new Table. diff --git a/table_darwin.go b/table_darwin.go index 904600d..9caf0fe 100644 --- a/table_darwin.go +++ b/table_darwin.go @@ -14,20 +14,20 @@ import "C" type table struct { *tablebase - _id C.id - scroller *scroller + _id C.id + scroller *scroller - images []C.id - selected *event + images []C.id + selected *event } func finishNewTable(b *tablebase, ty reflect.Type) Table { id := C.newTable() t := &table{ - _id: id, - scroller: newScroller(id, true), // border on Table - tablebase: b, - selected: newEvent(), + _id: id, + scroller: newScroller(id, true), // border on Table + tablebase: b, + selected: newEvent(), } // also sets the delegate C.tableMakeDataSource(t._id, unsafe.Pointer(t)) @@ -43,7 +43,7 @@ func finishNewTable(b *tablebase, ty reflect.Type) Table { editable = true } C.tableAppendColumn(t._id, C.intptr_t(i), cname, C.int(coltype), toBOOL(editable)) - C.free(unsafe.Pointer(cname)) // free now (not deferred) to conserve memory + C.free(unsafe.Pointer(cname)) // free now (not deferred) to conserve memory } return t } diff --git a/table_unix.go b/table_unix.go index 3566c87..62fb7e2 100644 --- a/table_unix.go +++ b/table_unix.go @@ -18,27 +18,27 @@ import "C" type table struct { *tablebase - _widget *C.GtkWidget - treeview *C.GtkTreeView - scroller *scroller + _widget *C.GtkWidget + treeview *C.GtkTreeView + scroller *scroller - model *C.goTableModel - modelgtk *C.GtkTreeModel - selection *C.GtkTreeSelection + model *C.goTableModel + modelgtk *C.GtkTreeModel + selection *C.GtkTreeSelection - pixbufs []*C.GdkPixbuf + pixbufs []*C.GdkPixbuf - selected *event + selected *event // stuff required by GtkTreeModel - nColumns C.gint - old C.gint - types []C.GType - crtocol map[*C.GtkCellRendererToggle]int + nColumns C.gint + old C.gint + types []C.GType + crtocol map[*C.GtkCellRendererToggle]int } var ( - attribText = togstr("text") + attribText = togstr("text") attribPixbuf = togstr("pixbuf") attribActive = togstr("active") ) @@ -46,12 +46,12 @@ var ( func finishNewTable(b *tablebase, ty reflect.Type) Table { widget := C.gtk_tree_view_new() t := &table{ - scroller: newScroller(widget, true, true, false), // natively scrollable; has a border; no overlay - tablebase: b, - _widget: widget, - treeview: (*C.GtkTreeView)(unsafe.Pointer(widget)), - crtocol: make(map[*C.GtkCellRendererToggle]int), - selected: newEvent(), + scroller: newScroller(widget, true, true, false), // natively scrollable; has a border; no overlay + tablebase: b, + _widget: widget, + treeview: (*C.GtkTreeView)(unsafe.Pointer(widget)), + crtocol: make(map[*C.GtkCellRendererToggle]int), + selected: newEvent(), } model := C.newTableModel(unsafe.Pointer(t)) t.model = model @@ -87,7 +87,7 @@ func finishNewTable(b *tablebase, ty reflect.Type) Table { C.tableAppendColumn(t.treeview, C.gint(i), cname, C.gtk_cell_renderer_text_new(), attribText) } - freegstr(cname) // free now (not deferred) to conserve memory + freegstr(cname) // free now (not deferred) to conserve memory } // and for some GtkTreeModel boilerplate t.nColumns = C.gint(ty.NumField()) diff --git a/table_windows.go b/table_windows.go index f69cc14..c606654 100644 --- a/table_windows.go +++ b/table_windows.go @@ -4,8 +4,8 @@ package ui import ( "fmt" - "unsafe" "reflect" + "unsafe" ) // #include "winapi_windows.h" @@ -13,32 +13,32 @@ import "C" type table struct { *tablebase - _hwnd C.HWND - noautosize bool - colcount C.int - hotrow C.int - hotcol C.int - pushedrow C.int - pushedcol C.int - selected *event + _hwnd C.HWND + noautosize bool + colcount C.int + hotrow C.int + hotcol C.int + pushedrow C.int + pushedcol C.int + selected *event } func finishNewTable(b *tablebase, ty reflect.Type) Table { t := &table{ - _hwnd: C.newControl(C.xWC_LISTVIEW, - C.LVS_REPORT | C.LVS_OWNERDATA | C.LVS_NOSORTHEADER | C.LVS_SHOWSELALWAYS | C.LVS_SINGLESEL | C.WS_HSCROLL | C.WS_VSCROLL | C.WS_TABSTOP, - C.WS_EX_CLIENTEDGE), // WS_EX_CLIENTEDGE without WS_BORDER will show the canonical visual styles border (thanks to MindChild in irc.efnet.net/#winprog) - tablebase: b, - hotrow: -1, - hotcol: -1, - pushedrow: -1, - pushedcol: -1, - selected: newEvent(), + _hwnd: C.newControl(C.xWC_LISTVIEW, + C.LVS_REPORT|C.LVS_OWNERDATA|C.LVS_NOSORTHEADER|C.LVS_SHOWSELALWAYS|C.LVS_SINGLESEL|C.WS_HSCROLL|C.WS_VSCROLL|C.WS_TABSTOP, + C.WS_EX_CLIENTEDGE), // WS_EX_CLIENTEDGE without WS_BORDER will show the canonical visual styles border (thanks to MindChild in irc.efnet.net/#winprog) + tablebase: b, + hotrow: -1, + hotcol: -1, + pushedrow: -1, + pushedcol: -1, + selected: newEvent(), } C.setTableSubclass(t._hwnd, unsafe.Pointer(t)) // LVS_EX_FULLROWSELECT gives us selection across the whole row, not just the leftmost column; this makes the list view work like on other platforms // LVS_EX_SUBITEMIMAGES gives us images in subitems, which will be important when both images and checkboxes are added - C.tableAddExtendedStyles(t._hwnd, C.LVS_EX_FULLROWSELECT | C.LVS_EX_SUBITEMIMAGES) + C.tableAddExtendedStyles(t._hwnd, C.LVS_EX_FULLROWSELECT|C.LVS_EX_SUBITEMIMAGES) // this must come after the subclass because it uses one of our private messages C.SendMessageW(t._hwnd, C.msgTableMakeInitialCheckboxImageList, 0, 0) for i := 0; i < ty.NumField(); i++ { @@ -89,18 +89,18 @@ func tableGetCell(data unsafe.Pointer, item *C.LVITEMW) { d := reflect.Indirect(reflect.ValueOf(t.data)) datum := d.Index(int(item.iItem)).Field(int(item.iSubItem)) isText := true - if item.mask & C.LVIF_IMAGE != 0 { + if item.mask&C.LVIF_IMAGE != 0 { if datum.Type() == reflect.TypeOf(ImageIndex(0)) { item.iImage = C.int(datum.Interface().(ImageIndex)) isText = false } // else let the default behavior work } - if item.mask & C.LVIF_INDENT != 0 { + if item.mask&C.LVIF_INDENT != 0 { // always have an indent of zero item.iIndent = 0 } - if item.mask & C.LVIF_STATE != 0 { + if item.mask&C.LVIF_STATE != 0 { // start by not changing any state item.stateMask = 0 if datum.Kind() == reflect.Bool { @@ -129,7 +129,7 @@ func tableGetCell(data unsafe.Pointer, item *C.LVITEMW) { isText = false } } - if item.mask & C.LVIF_TEXT != 0 { + if item.mask&C.LVIF_TEXT != 0 { if isText { s := fmt.Sprintf("%v", datum) item.pszText = toUTF16(s) @@ -190,10 +190,10 @@ func tableToggled(data unsafe.Pointer, row C.int, col C.int) { // and THEN unlock so the reset takes effect t.Unlock() }() - if row == -1 || col == -1 { // discard extras sent by handle() in table_windows.c + if row == -1 || col == -1 { // discard extras sent by handle() in table_windows.c return } - if row != t.pushedrow || col != t.pushedcol { // mouse moved out + if row != t.pushedrow || col != t.pushedcol { // mouse moved out return } d := reflect.Indirect(reflect.ValueOf(t.data)) @@ -226,7 +226,7 @@ func (t *table) allocate(x int, y int, width int, height int, d *sizing) []*allo const ( // from C++ Template 05 in http://msdn.microsoft.com/en-us/library/windows/desktop/bb226818%28v=vs.85%29.aspx as this is the best I can do for now // there IS a message LVM_APPROXIMATEVIEWRECT that can do calculations, but it doesn't seem to work right when asked to base its calculations on the current width/height on Windows and wine... - tableWidth = 183 + tableWidth = 183 tableHeight = 50 ) diff --git a/textfield_darwin.go b/textfield_darwin.go index 6dccbb9..3270cde 100644 --- a/textfield_darwin.go +++ b/textfield_darwin.go @@ -10,15 +10,15 @@ import ( import "C" type textfield struct { - _id C.id - changed *event - invalid C.id + _id C.id + changed *event + invalid C.id } func finishNewTextField(id C.id) *textfield { t := &textfield{ - _id: id, - changed: newEvent(), + _id: id, + changed: newEvent(), } C.textfieldSetDelegate(t._id, unsafe.Pointer(t)) return t diff --git a/textfield_unix.go b/textfield_unix.go index a590713..33898d3 100644 --- a/textfield_unix.go +++ b/textfield_unix.go @@ -18,17 +18,17 @@ import ( import "C" type textfield struct { - _widget *C.GtkWidget - entry *C.GtkEntry - changed *event + _widget *C.GtkWidget + entry *C.GtkEntry + changed *event } func startNewTextField() *textfield { widget := C.gtk_entry_new() t := &textfield{ - _widget: widget, - entry: (*C.GtkEntry)(unsafe.Pointer(widget)), - changed: newEvent(), + _widget: widget, + entry: (*C.GtkEntry)(unsafe.Pointer(widget)), + changed: newEvent(), } g_signal_connect( C.gpointer(unsafe.Pointer(t._widget)), diff --git a/textfield_windows.go b/textfield_windows.go index 3fcccd0..16ce9d2 100644 --- a/textfield_windows.go +++ b/textfield_windows.go @@ -10,20 +10,20 @@ import ( import "C" type textfield struct { - _hwnd C.HWND - _textlen C.LONG - changed *event + _hwnd C.HWND + _textlen C.LONG + changed *event } var editclass = toUTF16("EDIT") func startNewTextField(style C.DWORD) *textfield { hwnd := C.newControl(editclass, - style | C.textfieldStyle, - C.textfieldExtStyle) // WS_EX_CLIENTEDGE without WS_BORDER will show the canonical visual styles border (thanks to MindChild in irc.efnet.net/#winprog) + style|C.textfieldStyle, + C.textfieldExtStyle) // WS_EX_CLIENTEDGE without WS_BORDER will show the canonical visual styles border (thanks to MindChild in irc.efnet.net/#winprog) t := &textfield{ - _hwnd: hwnd, - changed: newEvent(), + _hwnd: hwnd, + changed: newEvent(), } C.controlSetControlFont(t._hwnd) C.setTextFieldSubclass(t._hwnd, unsafe.Pointer(t)) @@ -86,7 +86,7 @@ func (t *textfield) allocate(x int, y int, width int, height int, d *sizing) []* const ( // from http://msdn.microsoft.com/en-us/library/windows/desktop/dn742486.aspx#sizingandspacing - textfieldWidth = 107 // this is actually the shorter progress bar width, but Microsoft only indicates as wide as necessary + textfieldWidth = 107 // this is actually the shorter progress bar width, but Microsoft only indicates as wide as necessary textfieldHeight = 14 ) @@ -3,10 +3,10 @@ package ui import ( + "reflect" "runtime" "sync" "unsafe" - "reflect" ) // Go initializes and runs package ui. @@ -63,13 +63,13 @@ func uiissueloop() { type event struct { // All events internally return bool; those that don't will be wrapped around to return a dummy value. - do func() bool - lock sync.Mutex + do func() bool + lock sync.Mutex } func newEvent() *event { return &event{ - do: func() bool { + do: func() bool { return false }, } @@ -119,9 +119,9 @@ func perform(fp unsafe.Pointer) { // ForeignEvent wraps a channel in such a way that it can be used safely with package ui. type ForeignEvent struct { - c reflect.Value - e *event - d interface{} + c reflect.Value + e *event + d interface{} } // NewForeignEvent creates a new ForeignEvent with the specified channel. @@ -131,12 +131,12 @@ type ForeignEvent struct { func NewForeignEvent(channel interface{}, handler func(data interface{})) *ForeignEvent { c := reflect.ValueOf(channel) t := c.Type() - if t.Kind() != reflect.Chan || (t.ChanDir() & reflect.RecvDir) == 0 { + if t.Kind() != reflect.Chan || (t.ChanDir()&reflect.RecvDir) == 0 { panic("non-channel or non-receivable channel passed to NewForeignEvent()") } fe := &ForeignEvent{ - c: c, - e: newEvent(), + c: c, + e: newEvent(), } fe.e.set(func() { handler(fe.d) diff --git a/uitask_unix.go b/uitask_unix.go index 4a3e4b8..136d609 100644 --- a/uitask_unix.go +++ b/uitask_unix.go @@ -16,7 +16,7 @@ import ( import "C" func uiinit() error { - var err *C.GError = nil // redundant in Go, but let's explicitly assign it anyway + var err *C.GError = nil // redundant in Go, but let's explicitly assign it anyway // gtk_init_with_args() gives us error info (thanks chpe in irc.gimp.net/#gtk+) // don't worry about GTK+'s command-line arguments; they're also available as environment variables (thanks mclasen in irc.gimp.net/#gtk+) @@ -42,7 +42,7 @@ func issue(f *func()) { //export xdoissue func xdoissue(data C.gpointer) C.gboolean { perform(unsafe.Pointer(data)) - return C.FALSE // don't repeat + return C.FALSE // don't repeat } //export doissue diff --git a/window_darwin.go b/window_darwin.go index ddd598e..bb3214f 100644 --- a/window_darwin.go +++ b/window_darwin.go @@ -10,9 +10,9 @@ import ( import "C" type window struct { - id C.id + id C.id - closing *event + closing *event *container } @@ -23,9 +23,9 @@ func newWindow(title string, width int, height int, control Control) *window { defer C.free(unsafe.Pointer(ctitle)) C.windowSetTitle(id, ctitle) w := &window{ - id: id, - closing: newEvent(), - container: newContainer(control), + id: id, + closing: newEvent(), + container: newContainer(control), } C.windowSetDelegate(w.id, unsafe.Pointer(w)) C.windowSetContentView(w.id, w.container.id) diff --git a/window_unix.go b/window_unix.go index 3f31089..a220fb0 100644 --- a/window_unix.go +++ b/window_unix.go @@ -13,14 +13,14 @@ import ( import "C" type window struct { - widget *C.GtkWidget - wc *C.GtkContainer - bin *C.GtkBin - window *C.GtkWindow + widget *C.GtkWidget + wc *C.GtkContainer + bin *C.GtkBin + window *C.GtkWindow - group *C.GtkWindowGroup + group *C.GtkWindowGroup - closing *event + closing *event *container } @@ -30,11 +30,11 @@ func newWindow(title string, width int, height int, control Control) *window { ctitle := togstr(title) defer freegstr(ctitle) w := &window{ - widget: widget, - wc: (*C.GtkContainer)(unsafe.Pointer(widget)), - bin: (*C.GtkBin)(unsafe.Pointer(widget)), - window: (*C.GtkWindow)(unsafe.Pointer(widget)), - closing: newEvent(), + widget: widget, + wc: (*C.GtkContainer)(unsafe.Pointer(widget)), + bin: (*C.GtkBin)(unsafe.Pointer(widget)), + window: (*C.GtkWindow)(unsafe.Pointer(widget)), + closing: newEvent(), } C.gtk_window_set_title(w.window, ctitle) g_signal_connect( @@ -82,7 +82,7 @@ func windowClosing(wid *C.GtkWidget, e *C.GdkEvent, data C.gpointer) C.gboolean w := (*window)(unsafe.Pointer(data)) close := w.closing.fire() if close { - return C.GDK_EVENT_PROPAGATE // will do gtk_widget_destroy(), which is what we want (thanks ebassi in irc.gimp.net/#gtk+) + return C.GDK_EVENT_PROPAGATE // will do gtk_widget_destroy(), which is what we want (thanks ebassi in irc.gimp.net/#gtk+) } - return C.GDK_EVENT_STOP // keeps window alive + return C.GDK_EVENT_STOP // keeps window alive } diff --git a/window_windows.go b/window_windows.go index 60f89d1..e20206e 100644 --- a/window_windows.go +++ b/window_windows.go @@ -12,10 +12,10 @@ import ( import "C" type window struct { - hwnd C.HWND - shownbefore bool + hwnd C.HWND + shownbefore bool - closing *event + closing *event *container } @@ -33,14 +33,14 @@ func makeWindowWindowClass() error { func newWindow(title string, width int, height int, control Control) *window { w := &window{ // hwnd set in WM_CREATE handler - closing: newEvent(), - container: newContainer(control), + closing: newEvent(), + container: newContainer(control), } hwnd := C.newWindow(toUTF16(title), C.int(width), C.int(height), unsafe.Pointer(w)) if hwnd != w.hwnd { panic(fmt.Errorf("inconsistency: hwnd returned by CreateWindowEx() (%p) and hwnd stored in Window (%p) differ", hwnd, w.hwnd)) } - hresult := C.EnableThemeDialogTexture(w.hwnd, C.ETDT_ENABLE | C.ETDT_USETABTEXTURE) + hresult := C.EnableThemeDialogTexture(w.hwnd, C.ETDT_ENABLE|C.ETDT_USETABTEXTURE) if hresult != C.S_OK { panic(fmt.Errorf("error setting tab background texture on Window; HRESULT: 0x%X", hresult)) } diff --git a/yz_icons_test.go b/yz_icons_test.go index a85f58e..4de4c27 100644 --- a/yz_icons_test.go +++ b/yz_icons_test.go @@ -3,17 +3,17 @@ package ui import ( - "fmt" "bytes" + "fmt" "image" "image/draw" _ "image/png" ) type icon struct { - Bool bool - Icon ImageIndex - Name string + Bool bool + Icon ImageIndex + Name string } var firstimg *image.RGBA @@ -42,10 +42,10 @@ func readIcons() ([]icon, ImageList) { func tileImage(times int) *image.RGBA { dx := firstimg.Rect.Dx() dy := firstimg.Rect.Dy() - res := image.NewRGBA(image.Rect(0, 0, times * dx, times * dy)) + res := image.NewRGBA(image.Rect(0, 0, times*dx, times*dy)) r := image.Rect(0, 0, dx, dy) for y := 0; y < times; y++ { - rr := r.Add(image.Pt(0, y * dy)) + rr := r.Add(image.Pt(0, y*dy)) for x := 0; x < times; x++ { draw.Draw(res, rr, firstimg, image.ZP, draw.Src) rr = rr.Add(image.Pt(dx, 0)) @@ -55,631 +55,631 @@ func tileImage(times int) *image.RGBA { } var icons = []struct { - data []byte - name string + data []byte + name string }{ - { __16x16_categories_applications_accessories_png, "16x16/categories/applications-accessories.png", }, - { __16x16_places_folder_png, "16x16/places/folder.png", }, - { __16x16_mimetypes_x_office_spreadsheet_png, "16x16/mimetypes/x-office-spreadsheet.png", }, - { __32x32_categories_applications_accessories_png, "32x32/categories/applications-accessories.png", }, - { __32x32_places_folder_png, "32x32/places/folder.png", }, - { __32x32_mimetypes_x_office_spreadsheet_png, "32x32/mimetypes/x-office-spreadsheet.png", }, + {__16x16_categories_applications_accessories_png, "16x16/categories/applications-accessories.png"}, + {__16x16_places_folder_png, "16x16/places/folder.png"}, + {__16x16_mimetypes_x_office_spreadsheet_png, "16x16/mimetypes/x-office-spreadsheet.png"}, + {__32x32_categories_applications_accessories_png, "32x32/categories/applications-accessories.png"}, + {__32x32_places_folder_png, "32x32/places/folder.png"}, + {__32x32_mimetypes_x_office_spreadsheet_png, "32x32/mimetypes/x-office-spreadsheet.png"}, } // from http://tango.freedesktop.org/releases/tango-icon-theme-0.8.90.tar.gz, which is public domain var __16x16_categories_applications_accessories_png = []byte{ - 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, - 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, - 0x08, 0x06, 0x00, 0x00, 0x00, 0x1f, 0xf3, 0xff, 0x61, 0x00, 0x00, 0x00, - 0x06, 0x62, 0x4b, 0x47, 0x44, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0xa0, - 0xbd, 0xa7, 0x93, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, - 0x00, 0x0b, 0x13, 0x00, 0x00, 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, - 0x00, 0x00, 0x00, 0x07, 0x74, 0x49, 0x4d, 0x45, 0x07, 0xd5, 0x0b, 0x1c, - 0x17, 0x38, 0x22, 0x38, 0xae, 0xb6, 0xe0, 0x00, 0x00, 0x03, 0x36, 0x49, - 0x44, 0x41, 0x54, 0x38, 0xcb, 0x5d, 0x93, 0x4b, 0x4c, 0x5c, 0x75, 0x14, - 0xc6, 0xbf, 0xff, 0x63, 0xe6, 0xde, 0x79, 0x80, 0x73, 0x41, 0x60, 0x66, - 0x80, 0xa2, 0x13, 0x04, 0x9a, 0x49, 0x53, 0x13, 0x17, 0xc5, 0x57, 0xdd, - 0x18, 0x4a, 0xd2, 0x8d, 0xa9, 0x55, 0x1b, 0x1f, 0xab, 0x36, 0xc1, 0x54, - 0x6b, 0xd5, 0xd2, 0x66, 0x48, 0x43, 0x1a, 0x62, 0xa2, 0x0d, 0x94, 0x58, - 0x9b, 0x34, 0xac, 0x4c, 0x88, 0x8f, 0x85, 0x1b, 0x5c, 0x11, 0x12, 0xbb, - 0xa8, 0xa6, 0x34, 0x5d, 0x18, 0xb5, 0x75, 0x0c, 0x1d, 0xa8, 0x34, 0xf2, - 0x98, 0x29, 0x65, 0x18, 0xc6, 0x0e, 0x33, 0x70, 0xe7, 0xce, 0xfd, 0xff, - 0x8f, 0x1b, 0xc0, 0x49, 0xbf, 0xd5, 0x39, 0xdf, 0xc9, 0xf7, 0xcb, 0x49, - 0x4e, 0x0e, 0xc3, 0xb6, 0x46, 0x46, 0x2f, 0xf6, 0x02, 0xf8, 0xce, 0x34, - 0xcd, 0x87, 0xa7, 0x3e, 0xf8, 0x38, 0x8e, 0x2a, 0x8d, 0x8c, 0x5e, 0x1c, - 0x93, 0x52, 0xbe, 0xf5, 0xc9, 0xe9, 0xfe, 0xba, 0x6a, 0x7f, 0x7a, 0x1c, - 0xef, 0xf1, 0x9d, 0x46, 0x08, 0x31, 0xf1, 0xe1, 0xc9, 0xd3, 0x96, 0x6d, - 0xdb, 0x8b, 0x57, 0xc7, 0xae, 0x0c, 0xee, 0xf8, 0x97, 0xbf, 0x1a, 0xcd, - 0x1c, 0xea, 0xe9, 0xed, 0x03, 0x70, 0xe7, 0xb1, 0xf0, 0xcb, 0x00, 0xbe, - 0xde, 0x05, 0x28, 0xa5, 0xcc, 0x7b, 0xf3, 0xb3, 0xfc, 0xc4, 0xf1, 0xbe, - 0x1e, 0xa5, 0xd4, 0x7e, 0x00, 0x18, 0xbe, 0xf4, 0xc5, 0x2b, 0xd1, 0xe6, - 0x68, 0xa4, 0x58, 0xda, 0x60, 0x5a, 0xeb, 0xee, 0xaa, 0x70, 0x3b, 0xe3, - 0x62, 0x92, 0x31, 0xe1, 0xd9, 0x05, 0x70, 0xce, 0x4b, 0x0b, 0x0b, 0xff, - 0xc0, 0x34, 0x0c, 0x56, 0x2e, 0x97, 0xe3, 0x57, 0xc7, 0xae, 0x0c, 0x4a, - 0x29, 0xaf, 0xc5, 0x62, 0x31, 0xac, 0x3c, 0x58, 0xd1, 0x5a, 0xeb, 0xf9, - 0xed, 0xb0, 0xc5, 0x85, 0xb8, 0xde, 0xd1, 0xfd, 0x69, 0x50, 0x78, 0x6a, - 0x54, 0xf5, 0x06, 0x3d, 0xa9, 0x54, 0x0a, 0xcb, 0xe9, 0x25, 0x76, 0xe2, - 0x78, 0x5f, 0xa7, 0x6d, 0xdb, 0xef, 0x77, 0x75, 0x75, 0x79, 0x18, 0x38, - 0xe6, 0xef, 0xcf, 0x03, 0xc0, 0x0f, 0xd3, 0xe3, 0xf0, 0x70, 0x21, 0xa6, - 0x5a, 0xe3, 0x47, 0x9b, 0xea, 0x5a, 0x0e, 0x31, 0x00, 0xd8, 0x05, 0x9c, - 0xeb, 0x1f, 0xb8, 0xc5, 0x39, 0x5f, 0x9c, 0x9b, 0x9b, 0x85, 0x69, 0x98, - 0xcc, 0x0a, 0x59, 0x51, 0xd2, 0x40, 0x76, 0x6d, 0x55, 0x03, 0x98, 0x3c, - 0x7b, 0x26, 0xf1, 0x19, 0x17, 0x62, 0xbc, 0xbe, 0xf9, 0xc0, 0xfe, 0x68, - 0xc7, 0x9b, 0x1e, 0x50, 0x09, 0x44, 0xf4, 0x3f, 0x00, 0x00, 0xb4, 0xd6, - 0x47, 0x66, 0xee, 0xce, 0xd0, 0xea, 0xea, 0x0a, 0x5c, 0xe5, 0x62, 0x63, - 0xa3, 0x80, 0x64, 0x32, 0xe9, 0x00, 0x18, 0xba, 0xf9, 0x0d, 0x3f, 0xef, - 0x0f, 0xb5, 0xbd, 0x16, 0x7b, 0xee, 0x94, 0xe9, 0x16, 0x27, 0xa1, 0xdd, - 0x0d, 0x00, 0x8f, 0x01, 0xce, 0x9e, 0x49, 0xfc, 0xc6, 0x39, 0xff, 0x76, - 0x76, 0x2e, 0xa5, 0x43, 0xa1, 0x10, 0x32, 0x0f, 0x32, 0x44, 0x44, 0xe3, - 0xcf, 0xd7, 0x27, 0x9e, 0xf2, 0x78, 0x6b, 0xcf, 0x77, 0x76, 0x0f, 0xf8, - 0xdd, 0xd2, 0x34, 0x2a, 0x5b, 0x8b, 0xd0, 0xca, 0x06, 0x88, 0xc0, 0xaa, - 0x01, 0x13, 0xe1, 0xf0, 0xa8, 0x4b, 0x74, 0xd2, 0xcd, 0xe7, 0x4d, 0xb8, - 0x2e, 0x9e, 0x0e, 0x37, 0x21, 0x4d, 0x7a, 0x33, 0x78, 0xd0, 0xf6, 0xbe, - 0x70, 0x69, 0x40, 0x4a, 0xbe, 0x86, 0x62, 0xee, 0x06, 0x0c, 0xd3, 0x84, - 0x37, 0xf4, 0x06, 0x6e, 0xff, 0x94, 0x50, 0x02, 0x00, 0x26, 0x22, 0x91, - 0xc1, 0x23, 0x95, 0xca, 0xf5, 0x4e, 0xcb, 0xea, 0x0e, 0x09, 0x21, 0x95, - 0x72, 0xa9, 0xec, 0x3a, 0xa8, 0x0b, 0xd4, 0xb0, 0x46, 0xd3, 0xf0, 0x18, - 0xcb, 0x26, 0xff, 0x75, 0x78, 0x0a, 0x9e, 0xc6, 0x1c, 0xb2, 0x5b, 0x77, - 0x11, 0x6a, 0x6c, 0x02, 0xf7, 0xb6, 0x63, 0xf5, 0xfe, 0xcf, 0xc4, 0x7f, - 0x8c, 0x46, 0xdf, 0x75, 0x72, 0xb9, 0xa1, 0xce, 0x70, 0x58, 0xcf, 0x2c, - 0x2d, 0x5d, 0x2b, 0x6c, 0x6d, 0x3a, 0xf9, 0xc2, 0x06, 0xf7, 0x1d, 0xd6, - 0x2d, 0x42, 0x32, 0xfc, 0x6b, 0x97, 0x50, 0x88, 0x99, 0x68, 0x6f, 0xa8, - 0x47, 0x32, 0x31, 0x87, 0xfc, 0x94, 0x44, 0xc5, 0x71, 0xa0, 0xdd, 0x32, - 0x08, 0x04, 0xee, 0x3a, 0xce, 0xf0, 0xbe, 0xd6, 0x56, 0x4a, 0x2d, 0x2f, - 0x5f, 0x38, 0xa6, 0x54, 0x6f, 0xad, 0xe9, 0x53, 0xc2, 0xe7, 0x53, 0x8d, - 0xaf, 0xf3, 0xef, 0xff, 0xce, 0xac, 0x20, 0x18, 0x0c, 0x20, 0xfe, 0x65, - 0x03, 0xf2, 0x2f, 0xad, 0xb9, 0x7b, 0xa3, 0x11, 0x2a, 0xde, 0xf0, 0x42, - 0x55, 0x2a, 0x70, 0xdd, 0x4d, 0x80, 0x08, 0x1c, 0xe5, 0x72, 0xbd, 0xe3, - 0x38, 0xea, 0x98, 0x52, 0x9f, 0x4f, 0x06, 0x02, 0x97, 0x3d, 0x52, 0x9a, - 0xc2, 0x42, 0xc1, 0x6f, 0xb5, 0x1f, 0x08, 0x3d, 0xbb, 0x07, 0x7e, 0x92, - 0xb8, 0x37, 0xf4, 0x17, 0xcc, 0x57, 0xb7, 0x24, 0x18, 0x31, 0x5d, 0xd0, - 0x70, 0x1d, 0x07, 0xaa, 0xb2, 0x09, 0x80, 0x20, 0xe1, 0xf5, 0x66, 0x82, - 0x7e, 0xff, 0x9e, 0xdb, 0x6d, 0x6d, 0x65, 0xad, 0xb5, 0x9c, 0x59, 0x4b, - 0x17, 0x9b, 0x2f, 0x3c, 0xe1, 0x6f, 0xd9, 0x7b, 0xd4, 0x08, 0x9c, 0xfb, - 0x05, 0xc9, 0x8f, 0xfe, 0x40, 0xc7, 0x9d, 0x30, 0x2a, 0xbf, 0xd7, 0x40, - 0x6b, 0x82, 0xac, 0x95, 0x50, 0xda, 0xdd, 0x06, 0x00, 0xe2, 0x6d, 0xcb, - 0xca, 0xa5, 0xd7, 0xd7, 0x5f, 0x5c, 0x77, 0x1c, 0x99, 0x67, 0xc4, 0xc2, - 0xfd, 0x5a, 0x3c, 0x73, 0xf8, 0x1d, 0x83, 0x73, 0x0f, 0x8c, 0x86, 0x27, - 0x61, 0x44, 0xeb, 0x90, 0x5e, 0xc8, 0x22, 0x9b, 0x2d, 0xe0, 0x91, 0x57, - 0x21, 0x3e, 0x72, 0x10, 0xbe, 0x48, 0x0c, 0x44, 0x0c, 0x8f, 0x1e, 0xfe, - 0x49, 0xac, 0xea, 0x41, 0xf6, 0x01, 0xb8, 0xc5, 0x98, 0x34, 0x85, 0xf4, - 0x3b, 0x00, 0x01, 0x44, 0xdb, 0x53, 0xda, 0x3d, 0x35, 0xed, 0xd4, 0x44, - 0x50, 0xca, 0xf6, 0xfd, 0x07, 0x11, 0xa6, 0x73, 0x42, 0xc7, 0xee, 0xef, - 0xaa, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, - 0x82, + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, + 0x08, 0x06, 0x00, 0x00, 0x00, 0x1f, 0xf3, 0xff, 0x61, 0x00, 0x00, 0x00, + 0x06, 0x62, 0x4b, 0x47, 0x44, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0xa0, + 0xbd, 0xa7, 0x93, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, + 0x00, 0x0b, 0x13, 0x00, 0x00, 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, + 0x00, 0x00, 0x00, 0x07, 0x74, 0x49, 0x4d, 0x45, 0x07, 0xd5, 0x0b, 0x1c, + 0x17, 0x38, 0x22, 0x38, 0xae, 0xb6, 0xe0, 0x00, 0x00, 0x03, 0x36, 0x49, + 0x44, 0x41, 0x54, 0x38, 0xcb, 0x5d, 0x93, 0x4b, 0x4c, 0x5c, 0x75, 0x14, + 0xc6, 0xbf, 0xff, 0x63, 0xe6, 0xde, 0x79, 0x80, 0x73, 0x41, 0x60, 0x66, + 0x80, 0xa2, 0x13, 0x04, 0x9a, 0x49, 0x53, 0x13, 0x17, 0xc5, 0x57, 0xdd, + 0x18, 0x4a, 0xd2, 0x8d, 0xa9, 0x55, 0x1b, 0x1f, 0xab, 0x36, 0xc1, 0x54, + 0x6b, 0xd5, 0xd2, 0x66, 0x48, 0x43, 0x1a, 0x62, 0xa2, 0x0d, 0x94, 0x58, + 0x9b, 0x34, 0xac, 0x4c, 0x88, 0x8f, 0x85, 0x1b, 0x5c, 0x11, 0x12, 0xbb, + 0xa8, 0xa6, 0x34, 0x5d, 0x18, 0xb5, 0x75, 0x0c, 0x1d, 0xa8, 0x34, 0xf2, + 0x98, 0x29, 0x65, 0x18, 0xc6, 0x0e, 0x33, 0x70, 0xe7, 0xce, 0xfd, 0xff, + 0x8f, 0x1b, 0xc0, 0x49, 0xbf, 0xd5, 0x39, 0xdf, 0xc9, 0xf7, 0xcb, 0x49, + 0x4e, 0x0e, 0xc3, 0xb6, 0x46, 0x46, 0x2f, 0xf6, 0x02, 0xf8, 0xce, 0x34, + 0xcd, 0x87, 0xa7, 0x3e, 0xf8, 0x38, 0x8e, 0x2a, 0x8d, 0x8c, 0x5e, 0x1c, + 0x93, 0x52, 0xbe, 0xf5, 0xc9, 0xe9, 0xfe, 0xba, 0x6a, 0x7f, 0x7a, 0x1c, + 0xef, 0xf1, 0x9d, 0x46, 0x08, 0x31, 0xf1, 0xe1, 0xc9, 0xd3, 0x96, 0x6d, + 0xdb, 0x8b, 0x57, 0xc7, 0xae, 0x0c, 0xee, 0xf8, 0x97, 0xbf, 0x1a, 0xcd, + 0x1c, 0xea, 0xe9, 0xed, 0x03, 0x70, 0xe7, 0xb1, 0xf0, 0xcb, 0x00, 0xbe, + 0xde, 0x05, 0x28, 0xa5, 0xcc, 0x7b, 0xf3, 0xb3, 0xfc, 0xc4, 0xf1, 0xbe, + 0x1e, 0xa5, 0xd4, 0x7e, 0x00, 0x18, 0xbe, 0xf4, 0xc5, 0x2b, 0xd1, 0xe6, + 0x68, 0xa4, 0x58, 0xda, 0x60, 0x5a, 0xeb, 0xee, 0xaa, 0x70, 0x3b, 0xe3, + 0x62, 0x92, 0x31, 0xe1, 0xd9, 0x05, 0x70, 0xce, 0x4b, 0x0b, 0x0b, 0xff, + 0xc0, 0x34, 0x0c, 0x56, 0x2e, 0x97, 0xe3, 0x57, 0xc7, 0xae, 0x0c, 0x4a, + 0x29, 0xaf, 0xc5, 0x62, 0x31, 0xac, 0x3c, 0x58, 0xd1, 0x5a, 0xeb, 0xf9, + 0xed, 0xb0, 0xc5, 0x85, 0xb8, 0xde, 0xd1, 0xfd, 0x69, 0x50, 0x78, 0x6a, + 0x54, 0xf5, 0x06, 0x3d, 0xa9, 0x54, 0x0a, 0xcb, 0xe9, 0x25, 0x76, 0xe2, + 0x78, 0x5f, 0xa7, 0x6d, 0xdb, 0xef, 0x77, 0x75, 0x75, 0x79, 0x18, 0x38, + 0xe6, 0xef, 0xcf, 0x03, 0xc0, 0x0f, 0xd3, 0xe3, 0xf0, 0x70, 0x21, 0xa6, + 0x5a, 0xe3, 0x47, 0x9b, 0xea, 0x5a, 0x0e, 0x31, 0x00, 0xd8, 0x05, 0x9c, + 0xeb, 0x1f, 0xb8, 0xc5, 0x39, 0x5f, 0x9c, 0x9b, 0x9b, 0x85, 0x69, 0x98, + 0xcc, 0x0a, 0x59, 0x51, 0xd2, 0x40, 0x76, 0x6d, 0x55, 0x03, 0x98, 0x3c, + 0x7b, 0x26, 0xf1, 0x19, 0x17, 0x62, 0xbc, 0xbe, 0xf9, 0xc0, 0xfe, 0x68, + 0xc7, 0x9b, 0x1e, 0x50, 0x09, 0x44, 0xf4, 0x3f, 0x00, 0x00, 0xb4, 0xd6, + 0x47, 0x66, 0xee, 0xce, 0xd0, 0xea, 0xea, 0x0a, 0x5c, 0xe5, 0x62, 0x63, + 0xa3, 0x80, 0x64, 0x32, 0xe9, 0x00, 0x18, 0xba, 0xf9, 0x0d, 0x3f, 0xef, + 0x0f, 0xb5, 0xbd, 0x16, 0x7b, 0xee, 0x94, 0xe9, 0x16, 0x27, 0xa1, 0xdd, + 0x0d, 0x00, 0x8f, 0x01, 0xce, 0x9e, 0x49, 0xfc, 0xc6, 0x39, 0xff, 0x76, + 0x76, 0x2e, 0xa5, 0x43, 0xa1, 0x10, 0x32, 0x0f, 0x32, 0x44, 0x44, 0xe3, + 0xcf, 0xd7, 0x27, 0x9e, 0xf2, 0x78, 0x6b, 0xcf, 0x77, 0x76, 0x0f, 0xf8, + 0xdd, 0xd2, 0x34, 0x2a, 0x5b, 0x8b, 0xd0, 0xca, 0x06, 0x88, 0xc0, 0xaa, + 0x01, 0x13, 0xe1, 0xf0, 0xa8, 0x4b, 0x74, 0xd2, 0xcd, 0xe7, 0x4d, 0xb8, + 0x2e, 0x9e, 0x0e, 0x37, 0x21, 0x4d, 0x7a, 0x33, 0x78, 0xd0, 0xf6, 0xbe, + 0x70, 0x69, 0x40, 0x4a, 0xbe, 0x86, 0x62, 0xee, 0x06, 0x0c, 0xd3, 0x84, + 0x37, 0xf4, 0x06, 0x6e, 0xff, 0x94, 0x50, 0x02, 0x00, 0x26, 0x22, 0x91, + 0xc1, 0x23, 0x95, 0xca, 0xf5, 0x4e, 0xcb, 0xea, 0x0e, 0x09, 0x21, 0x95, + 0x72, 0xa9, 0xec, 0x3a, 0xa8, 0x0b, 0xd4, 0xb0, 0x46, 0xd3, 0xf0, 0x18, + 0xcb, 0x26, 0xff, 0x75, 0x78, 0x0a, 0x9e, 0xc6, 0x1c, 0xb2, 0x5b, 0x77, + 0x11, 0x6a, 0x6c, 0x02, 0xf7, 0xb6, 0x63, 0xf5, 0xfe, 0xcf, 0xc4, 0x7f, + 0x8c, 0x46, 0xdf, 0x75, 0x72, 0xb9, 0xa1, 0xce, 0x70, 0x58, 0xcf, 0x2c, + 0x2d, 0x5d, 0x2b, 0x6c, 0x6d, 0x3a, 0xf9, 0xc2, 0x06, 0xf7, 0x1d, 0xd6, + 0x2d, 0x42, 0x32, 0xfc, 0x6b, 0x97, 0x50, 0x88, 0x99, 0x68, 0x6f, 0xa8, + 0x47, 0x32, 0x31, 0x87, 0xfc, 0x94, 0x44, 0xc5, 0x71, 0xa0, 0xdd, 0x32, + 0x08, 0x04, 0xee, 0x3a, 0xce, 0xf0, 0xbe, 0xd6, 0x56, 0x4a, 0x2d, 0x2f, + 0x5f, 0x38, 0xa6, 0x54, 0x6f, 0xad, 0xe9, 0x53, 0xc2, 0xe7, 0x53, 0x8d, + 0xaf, 0xf3, 0xef, 0xff, 0xce, 0xac, 0x20, 0x18, 0x0c, 0x20, 0xfe, 0x65, + 0x03, 0xf2, 0x2f, 0xad, 0xb9, 0x7b, 0xa3, 0x11, 0x2a, 0xde, 0xf0, 0x42, + 0x55, 0x2a, 0x70, 0xdd, 0x4d, 0x80, 0x08, 0x1c, 0xe5, 0x72, 0xbd, 0xe3, + 0x38, 0xea, 0x98, 0x52, 0x9f, 0x4f, 0x06, 0x02, 0x97, 0x3d, 0x52, 0x9a, + 0xc2, 0x42, 0xc1, 0x6f, 0xb5, 0x1f, 0x08, 0x3d, 0xbb, 0x07, 0x7e, 0x92, + 0xb8, 0x37, 0xf4, 0x17, 0xcc, 0x57, 0xb7, 0x24, 0x18, 0x31, 0x5d, 0xd0, + 0x70, 0x1d, 0x07, 0xaa, 0xb2, 0x09, 0x80, 0x20, 0xe1, 0xf5, 0x66, 0x82, + 0x7e, 0xff, 0x9e, 0xdb, 0x6d, 0x6d, 0x65, 0xad, 0xb5, 0x9c, 0x59, 0x4b, + 0x17, 0x9b, 0x2f, 0x3c, 0xe1, 0x6f, 0xd9, 0x7b, 0xd4, 0x08, 0x9c, 0xfb, + 0x05, 0xc9, 0x8f, 0xfe, 0x40, 0xc7, 0x9d, 0x30, 0x2a, 0xbf, 0xd7, 0x40, + 0x6b, 0x82, 0xac, 0x95, 0x50, 0xda, 0xdd, 0x06, 0x00, 0xe2, 0x6d, 0xcb, + 0xca, 0xa5, 0xd7, 0xd7, 0x5f, 0x5c, 0x77, 0x1c, 0x99, 0x67, 0xc4, 0xc2, + 0xfd, 0x5a, 0x3c, 0x73, 0xf8, 0x1d, 0x83, 0x73, 0x0f, 0x8c, 0x86, 0x27, + 0x61, 0x44, 0xeb, 0x90, 0x5e, 0xc8, 0x22, 0x9b, 0x2d, 0xe0, 0x91, 0x57, + 0x21, 0x3e, 0x72, 0x10, 0xbe, 0x48, 0x0c, 0x44, 0x0c, 0x8f, 0x1e, 0xfe, + 0x49, 0xac, 0xea, 0x41, 0xf6, 0x01, 0xb8, 0xc5, 0x98, 0x34, 0x85, 0xf4, + 0x3b, 0x00, 0x01, 0x44, 0xdb, 0x53, 0xda, 0x3d, 0x35, 0xed, 0xd4, 0x44, + 0x50, 0xca, 0xf6, 0xfd, 0x07, 0x11, 0xa6, 0x73, 0x42, 0xc7, 0xee, 0xef, + 0xaa, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, + 0x82, } var __16x16_places_folder_png = []byte{ - 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, - 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, - 0x08, 0x06, 0x00, 0x00, 0x00, 0x1f, 0xf3, 0xff, 0x61, 0x00, 0x00, 0x00, - 0x04, 0x73, 0x42, 0x49, 0x54, 0x08, 0x08, 0x08, 0x08, 0x7c, 0x08, 0x64, - 0x88, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0d, - 0xd7, 0x00, 0x00, 0x0d, 0xd7, 0x01, 0x42, 0x28, 0x9b, 0x78, 0x00, 0x00, - 0x00, 0x19, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, - 0x72, 0x65, 0x00, 0x77, 0x77, 0x77, 0x2e, 0x69, 0x6e, 0x6b, 0x73, 0x63, - 0x61, 0x70, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x9b, 0xee, 0x3c, 0x1a, 0x00, - 0x00, 0x01, 0xc2, 0x49, 0x44, 0x41, 0x54, 0x38, 0x8d, 0xa5, 0x90, 0x31, - 0x6b, 0x93, 0x51, 0x14, 0x86, 0x9f, 0x73, 0xef, 0x57, 0x2c, 0x29, 0xe2, - 0xe0, 0x10, 0xba, 0x14, 0x1c, 0x9c, 0x32, 0x76, 0xeb, 0x2e, 0x99, 0x1c, - 0x82, 0xd0, 0xd5, 0x5f, 0xa0, 0xbb, 0xd0, 0x3f, 0xe0, 0xe2, 0x56, 0x57, - 0xff, 0x87, 0x28, 0xc4, 0xb9, 0x60, 0xc4, 0x59, 0x29, 0x8a, 0x24, 0x92, - 0x50, 0x69, 0xbf, 0x26, 0x25, 0xdf, 0xbd, 0xe7, 0x9e, 0xe3, 0x90, 0x26, - 0x36, 0x58, 0x5a, 0xc1, 0x77, 0x39, 0xdc, 0x7b, 0xcf, 0x79, 0xee, 0x79, - 0x5f, 0xe9, 0x76, 0xbb, 0xfc, 0x8f, 0xaa, 0xdd, 0xdd, 0xdd, 0x37, 0xee, - 0xfe, 0xf8, 0x9a, 0xb7, 0x0b, 0x77, 0x7f, 0x32, 0x18, 0x0c, 0x8e, 0x6e, - 0x04, 0x98, 0x59, 0xaf, 0xd7, 0xeb, 0xdd, 0x33, 0x33, 0xcc, 0x0c, 0x77, - 0x07, 0xe0, 0xf4, 0xf4, 0xf4, 0x7e, 0xbf, 0xdf, 0x3f, 0xec, 0x74, 0x3a, - 0xcf, 0x97, 0xcd, 0x39, 0x67, 0x42, 0x08, 0x65, 0x38, 0x1c, 0x7e, 0xac, - 0xeb, 0xba, 0x00, 0x54, 0x39, 0x67, 0x57, 0x55, 0x26, 0x93, 0x09, 0xa5, - 0x94, 0x15, 0x24, 0x84, 0xc0, 0xf6, 0xf6, 0x76, 0x07, 0x78, 0xbb, 0x84, - 0x02, 0x4c, 0xa7, 0xd3, 0xaa, 0x94, 0xf2, 0xaa, 0xae, 0xeb, 0x83, 0x2b, - 0x80, 0x8c, 0xaa, 0x62, 0x66, 0x6b, 0x90, 0x76, 0xbb, 0xdd, 0xda, 0xdc, - 0xdc, 0xa4, 0xd5, 0x6a, 0x11, 0x63, 0x24, 0x84, 0xc0, 0x68, 0x34, 0x62, - 0x3c, 0x1e, 0x3f, 0x5c, 0x59, 0x50, 0x55, 0x53, 0x2d, 0x1c, 0x7e, 0x48, - 0xcc, 0x9a, 0x3f, 0x3f, 0x81, 0x00, 0xe0, 0xcc, 0x81, 0xf9, 0xea, 0xd6, - 0x3d, 0x00, 0x7b, 0xfb, 0xec, 0xec, 0xed, 0xc7, 0x18, 0xbe, 0x55, 0x39, - 0x67, 0x4f, 0x29, 0x31, 0x6d, 0x9c, 0x97, 0xcf, 0x1e, 0x21, 0x72, 0xd9, - 0x78, 0x35, 0x29, 0x5f, 0x3b, 0x01, 0x90, 0xd4, 0x39, 0x78, 0xfd, 0x7e, - 0xa7, 0x4a, 0x29, 0x99, 0xaa, 0x02, 0x4e, 0x0c, 0xf0, 0xe9, 0xf8, 0xec, - 0xea, 0x02, 0xcb, 0xb2, 0x9e, 0x7c, 0x14, 0x1e, 0xb4, 0xb7, 0x40, 0xdc, - 0x2b, 0x55, 0x25, 0xe7, 0x8c, 0x88, 0x10, 0x83, 0x10, 0xe3, 0x75, 0x23, - 0xeb, 0xca, 0x6a, 0xb8, 0x39, 0x82, 0x78, 0x95, 0x73, 0xb6, 0x9c, 0x33, - 0xb8, 0x13, 0x44, 0xd8, 0xb8, 0x01, 0xa0, 0xc5, 0x69, 0xb2, 0x51, 0xcc, - 0x09, 0x41, 0x00, 0x16, 0x00, 0xd5, 0xc5, 0x06, 0xf3, 0x54, 0x08, 0x80, - 0xf9, 0xa2, 0xb9, 0xb8, 0x63, 0xe6, 0x98, 0x3b, 0x59, 0x17, 0x75, 0x69, - 0xa1, 0x49, 0xb6, 0x02, 0xb8, 0x6a, 0x41, 0xa4, 0x62, 0x52, 0x37, 0x0c, - 0x7f, 0xcd, 0x69, 0xd4, 0x6e, 0xb4, 0x50, 0x45, 0x61, 0x72, 0x36, 0x5f, - 0x00, 0x54, 0xd5, 0x52, 0x4a, 0xe0, 0x91, 0x2f, 0xa3, 0x73, 0x4e, 0xa6, - 0x0d, 0x7f, 0x67, 0xbe, 0xae, 0x18, 0x84, 0x9f, 0x67, 0x97, 0x16, 0x44, - 0xc4, 0xcc, 0x0c, 0x11, 0xa1, 0xc9, 0x46, 0xeb, 0x4e, 0x75, 0x6b, 0x88, - 0x22, 0xc2, 0x45, 0x52, 0x80, 0x52, 0xb9, 0x3b, 0xc7, 0x27, 0x86, 0x08, - 0x7c, 0xfe, 0x3a, 0xba, 0x75, 0x78, 0xa9, 0xd9, 0x6c, 0x8e, 0xc0, 0x51, - 0x65, 0x1b, 0x5b, 0xfd, 0x77, 0xc7, 0x77, 0x9f, 0x82, 0xf3, 0xe3, 0xfb, - 0xf8, 0x9f, 0x01, 0x22, 0x8c, 0x45, 0xc2, 0x8b, 0xdf, 0x47, 0x16, 0x21, - 0x9e, 0x1c, 0x63, 0xa7, 0x31, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, - 0x44, 0xae, 0x42, 0x60, 0x82, + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, + 0x08, 0x06, 0x00, 0x00, 0x00, 0x1f, 0xf3, 0xff, 0x61, 0x00, 0x00, 0x00, + 0x04, 0x73, 0x42, 0x49, 0x54, 0x08, 0x08, 0x08, 0x08, 0x7c, 0x08, 0x64, + 0x88, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0d, + 0xd7, 0x00, 0x00, 0x0d, 0xd7, 0x01, 0x42, 0x28, 0x9b, 0x78, 0x00, 0x00, + 0x00, 0x19, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, + 0x72, 0x65, 0x00, 0x77, 0x77, 0x77, 0x2e, 0x69, 0x6e, 0x6b, 0x73, 0x63, + 0x61, 0x70, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x9b, 0xee, 0x3c, 0x1a, 0x00, + 0x00, 0x01, 0xc2, 0x49, 0x44, 0x41, 0x54, 0x38, 0x8d, 0xa5, 0x90, 0x31, + 0x6b, 0x93, 0x51, 0x14, 0x86, 0x9f, 0x73, 0xef, 0x57, 0x2c, 0x29, 0xe2, + 0xe0, 0x10, 0xba, 0x14, 0x1c, 0x9c, 0x32, 0x76, 0xeb, 0x2e, 0x99, 0x1c, + 0x82, 0xd0, 0xd5, 0x5f, 0xa0, 0xbb, 0xd0, 0x3f, 0xe0, 0xe2, 0x56, 0x57, + 0xff, 0x87, 0x28, 0xc4, 0xb9, 0x60, 0xc4, 0x59, 0x29, 0x8a, 0x24, 0x92, + 0x50, 0x69, 0xbf, 0x26, 0x25, 0xdf, 0xbd, 0xe7, 0x9e, 0xe3, 0x90, 0x26, + 0x36, 0x58, 0x5a, 0xc1, 0x77, 0x39, 0xdc, 0x7b, 0xcf, 0x79, 0xee, 0x79, + 0x5f, 0xe9, 0x76, 0xbb, 0xfc, 0x8f, 0xaa, 0xdd, 0xdd, 0xdd, 0x37, 0xee, + 0xfe, 0xf8, 0x9a, 0xb7, 0x0b, 0x77, 0x7f, 0x32, 0x18, 0x0c, 0x8e, 0x6e, + 0x04, 0x98, 0x59, 0xaf, 0xd7, 0xeb, 0xdd, 0x33, 0x33, 0xcc, 0x0c, 0x77, + 0x07, 0xe0, 0xf4, 0xf4, 0xf4, 0x7e, 0xbf, 0xdf, 0x3f, 0xec, 0x74, 0x3a, + 0xcf, 0x97, 0xcd, 0x39, 0x67, 0x42, 0x08, 0x65, 0x38, 0x1c, 0x7e, 0xac, + 0xeb, 0xba, 0x00, 0x54, 0x39, 0x67, 0x57, 0x55, 0x26, 0x93, 0x09, 0xa5, + 0x94, 0x15, 0x24, 0x84, 0xc0, 0xf6, 0xf6, 0x76, 0x07, 0x78, 0xbb, 0x84, + 0x02, 0x4c, 0xa7, 0xd3, 0xaa, 0x94, 0xf2, 0xaa, 0xae, 0xeb, 0x83, 0x2b, + 0x80, 0x8c, 0xaa, 0x62, 0x66, 0x6b, 0x90, 0x76, 0xbb, 0xdd, 0xda, 0xdc, + 0xdc, 0xa4, 0xd5, 0x6a, 0x11, 0x63, 0x24, 0x84, 0xc0, 0x68, 0x34, 0x62, + 0x3c, 0x1e, 0x3f, 0x5c, 0x59, 0x50, 0x55, 0x53, 0x2d, 0x1c, 0x7e, 0x48, + 0xcc, 0x9a, 0x3f, 0x3f, 0x81, 0x00, 0xe0, 0xcc, 0x81, 0xf9, 0xea, 0xd6, + 0x3d, 0x00, 0x7b, 0xfb, 0xec, 0xec, 0xed, 0xc7, 0x18, 0xbe, 0x55, 0x39, + 0x67, 0x4f, 0x29, 0x31, 0x6d, 0x9c, 0x97, 0xcf, 0x1e, 0x21, 0x72, 0xd9, + 0x78, 0x35, 0x29, 0x5f, 0x3b, 0x01, 0x90, 0xd4, 0x39, 0x78, 0xfd, 0x7e, + 0xa7, 0x4a, 0x29, 0x99, 0xaa, 0x02, 0x4e, 0x0c, 0xf0, 0xe9, 0xf8, 0xec, + 0xea, 0x02, 0xcb, 0xb2, 0x9e, 0x7c, 0x14, 0x1e, 0xb4, 0xb7, 0x40, 0xdc, + 0x2b, 0x55, 0x25, 0xe7, 0x8c, 0x88, 0x10, 0x83, 0x10, 0xe3, 0x75, 0x23, + 0xeb, 0xca, 0x6a, 0xb8, 0x39, 0x82, 0x78, 0x95, 0x73, 0xb6, 0x9c, 0x33, + 0xb8, 0x13, 0x44, 0xd8, 0xb8, 0x01, 0xa0, 0xc5, 0x69, 0xb2, 0x51, 0xcc, + 0x09, 0x41, 0x00, 0x16, 0x00, 0xd5, 0xc5, 0x06, 0xf3, 0x54, 0x08, 0x80, + 0xf9, 0xa2, 0xb9, 0xb8, 0x63, 0xe6, 0x98, 0x3b, 0x59, 0x17, 0x75, 0x69, + 0xa1, 0x49, 0xb6, 0x02, 0xb8, 0x6a, 0x41, 0xa4, 0x62, 0x52, 0x37, 0x0c, + 0x7f, 0xcd, 0x69, 0xd4, 0x6e, 0xb4, 0x50, 0x45, 0x61, 0x72, 0x36, 0x5f, + 0x00, 0x54, 0xd5, 0x52, 0x4a, 0xe0, 0x91, 0x2f, 0xa3, 0x73, 0x4e, 0xa6, + 0x0d, 0x7f, 0x67, 0xbe, 0xae, 0x18, 0x84, 0x9f, 0x67, 0x97, 0x16, 0x44, + 0xc4, 0xcc, 0x0c, 0x11, 0xa1, 0xc9, 0x46, 0xeb, 0x4e, 0x75, 0x6b, 0x88, + 0x22, 0xc2, 0x45, 0x52, 0x80, 0x52, 0xb9, 0x3b, 0xc7, 0x27, 0x86, 0x08, + 0x7c, 0xfe, 0x3a, 0xba, 0x75, 0x78, 0xa9, 0xd9, 0x6c, 0x8e, 0xc0, 0x51, + 0x65, 0x1b, 0x5b, 0xfd, 0x77, 0xc7, 0x77, 0x9f, 0x82, 0xf3, 0xe3, 0xfb, + 0xf8, 0x9f, 0x01, 0x22, 0x8c, 0x45, 0xc2, 0x8b, 0xdf, 0x47, 0x16, 0x21, + 0x9e, 0x1c, 0x63, 0xa7, 0x31, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, + 0x44, 0xae, 0x42, 0x60, 0x82, } var __16x16_mimetypes_x_office_spreadsheet_png = []byte{ - 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, - 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, - 0x08, 0x06, 0x00, 0x00, 0x00, 0x1f, 0xf3, 0xff, 0x61, 0x00, 0x00, 0x00, - 0x06, 0x62, 0x4b, 0x47, 0x44, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0xa0, - 0xbd, 0xa7, 0x93, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, - 0x00, 0x0b, 0x13, 0x00, 0x00, 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, - 0x00, 0x00, 0x00, 0x07, 0x74, 0x49, 0x4d, 0x45, 0x07, 0xd5, 0x04, 0x16, - 0x14, 0x0d, 0x09, 0xd9, 0x88, 0x44, 0xfa, 0x00, 0x00, 0x02, 0x4d, 0x49, - 0x44, 0x41, 0x54, 0x38, 0xcb, 0x95, 0x92, 0xdf, 0x4b, 0x53, 0x61, 0x18, - 0xc7, 0x3f, 0x67, 0x9b, 0x6e, 0x7a, 0xd6, 0xfc, 0x55, 0xe0, 0x59, 0x8a, - 0x95, 0x71, 0x08, 0x52, 0x21, 0x91, 0x2c, 0x8a, 0x0a, 0x94, 0x11, 0x14, - 0x78, 0x21, 0x99, 0x14, 0x81, 0xdd, 0x48, 0x7f, 0x45, 0x63, 0x5d, 0x75, - 0x1b, 0x34, 0xd0, 0x9b, 0x52, 0x83, 0x0a, 0xad, 0x0b, 0x43, 0x72, 0xd0, - 0x85, 0x14, 0x14, 0x68, 0x77, 0x39, 0xcd, 0x6c, 0x94, 0x0c, 0xf4, 0x48, - 0x4d, 0x5b, 0x5b, 0x4b, 0xcf, 0x39, 0x3b, 0xef, 0xe9, 0x62, 0x3f, 0xec, - 0xd7, 0x2e, 0x7c, 0xae, 0xbe, 0x2f, 0xef, 0xf3, 0xfd, 0xbc, 0xdf, 0xf7, - 0x7d, 0x5e, 0x69, 0x78, 0x78, 0xf8, 0xc9, 0xfa, 0xfa, 0x7a, 0x2f, 0xbb, - 0xab, 0xcb, 0xc1, 0x60, 0x70, 0x1c, 0x80, 0x50, 0x28, 0x64, 0xef, 0xb6, - 0x42, 0xa1, 0x90, 0x5d, 0x20, 0xb9, 0x0a, 0x22, 0x12, 0x89, 0xe4, 0x95, - 0x84, 0xa6, 0x69, 0xf8, 0xfd, 0x0a, 0x00, 0x9a, 0xa6, 0xa1, 0x28, 0xfe, - 0xbc, 0x5e, 0x63, 0x60, 0x60, 0xe0, 0x8f, 0x28, 0x45, 0x80, 0xa6, 0x69, - 0x48, 0x52, 0x0e, 0x20, 0x49, 0xb9, 0xf5, 0xce, 0xde, 0x5a, 0xc9, 0xbb, - 0x14, 0x01, 0x8a, 0x5f, 0xc1, 0x2b, 0x7b, 0x01, 0x88, 0xc5, 0x62, 0xf4, - 0xf4, 0xf4, 0x00, 0x10, 0x8d, 0x46, 0x69, 0x69, 0x6d, 0x41, 0xb2, 0x25, - 0xe6, 0xa3, 0xf3, 0xa5, 0x01, 0x86, 0x6e, 0x90, 0x21, 0x83, 0x84, 0x04, - 0x40, 0x2a, 0x95, 0x22, 0x2f, 0x49, 0x7f, 0x4f, 0x91, 0x8f, 0x57, 0x1a, - 0xe0, 0x71, 0xbb, 0x91, 0xbd, 0x5e, 0x0a, 0xaf, 0xe3, 0xf3, 0x55, 0x15, - 0xfc, 0xf8, 0xaa, 0x76, 0x74, 0x49, 0xc0, 0xb6, 0xae, 0xe7, 0x4f, 0xcc, - 0xb5, 0x7e, 0x8c, 0x3c, 0x67, 0xf5, 0xee, 0x1d, 0xb6, 0x16, 0x16, 0x89, - 0xa7, 0x33, 0xb9, 0x26, 0xb9, 0x82, 0xc9, 0xb6, 0x56, 0xbc, 0x6d, 0xed, - 0xff, 0x49, 0xe0, 0xf1, 0x20, 0xcb, 0x32, 0x00, 0xf6, 0xe8, 0x3d, 0x3e, - 0xcd, 0xcd, 0xd1, 0x74, 0xe5, 0x22, 0x65, 0x9d, 0x2a, 0xc2, 0x21, 0x91, - 0x15, 0x02, 0xc3, 0x14, 0x48, 0x0e, 0x0f, 0x4d, 0xcf, 0xa6, 0x78, 0x74, - 0xbc, 0xe3, 0x65, 0xff, 0xec, 0xdb, 0xfe, 0x22, 0x40, 0xd7, 0x75, 0x00, - 0x36, 0x1e, 0x8c, 0x51, 0xb3, 0xb2, 0x4c, 0xc3, 0x8d, 0x3e, 0xb2, 0xe9, - 0x24, 0xc9, 0xf8, 0x2a, 0xa6, 0x10, 0x18, 0x96, 0x8d, 0xb3, 0xaa, 0x16, - 0x53, 0x08, 0xac, 0x4e, 0x15, 0xe7, 0xd2, 0xea, 0x99, 0x11, 0xf5, 0xf0, - 0xed, 0x22, 0xc0, 0xed, 0x76, 0x23, 0xcb, 0x32, 0x89, 0xc8, 0x34, 0xfb, - 0xaf, 0x9e, 0xe7, 0x47, 0x3c, 0x56, 0x34, 0x9a, 0x42, 0xf0, 0xa1, 0xfe, - 0x10, 0x9b, 0x86, 0x0b, 0x53, 0x64, 0x31, 0x24, 0x0b, 0xef, 0xb1, 0x7a, - 0xd4, 0xa7, 0x93, 0x7d, 0xff, 0x24, 0xb0, 0x37, 0xbf, 0x61, 0x19, 0x5b, - 0xe8, 0xd6, 0x8e, 0x59, 0x52, 0xca, 0xd9, 0xd3, 0xe1, 0x26, 0xfc, 0xb5, - 0x0b, 0xc3, 0xd4, 0x51, 0x6b, 0xbd, 0x08, 0xcb, 0xe4, 0xe8, 0xe8, 0x43, - 0x8f, 0xe3, 0xef, 0x04, 0x66, 0x75, 0x0d, 0xce, 0x7d, 0x0d, 0xe0, 0xab, - 0x41, 0x17, 0x16, 0xba, 0x25, 0x70, 0xaa, 0x95, 0x34, 0x37, 0xa7, 0xa9, - 0xcf, 0xae, 0x71, 0xb2, 0x71, 0x2f, 0x5f, 0x52, 0x29, 0x7c, 0x2b, 0xef, - 0xc9, 0x78, 0x3c, 0xdb, 0xc5, 0x04, 0x81, 0x40, 0x20, 0x37, 0x8d, 0xc1, - 0x41, 0xde, 0xdd, 0x1f, 0xe3, 0xe0, 0xf5, 0x5e, 0xea, 0x0e, 0x1c, 0xc1, - 0x76, 0xb9, 0xa8, 0x3e, 0x5d, 0x87, 0xa8, 0x70, 0x10, 0xec, 0x90, 0x78, - 0xfc, 0x39, 0x4d, 0x63, 0x7c, 0x91, 0xf6, 0xc9, 0x09, 0x2a, 0x55, 0x75, - 0x5c, 0x0a, 0x87, 0xc3, 0x53, 0x89, 0x44, 0xe2, 0xc2, 0xef, 0xb3, 0xad, - 0x9d, 0x99, 0x41, 0x7e, 0xf3, 0x1a, 0xf3, 0xdc, 0x09, 0xca, 0x1a, 0xaa, - 0xf1, 0x9c, 0xb5, 0xd1, 0x0d, 0x41, 0x66, 0xc3, 0x64, 0x7a, 0x4a, 0xd0, - 0x33, 0xfb, 0x8a, 0x0a, 0x55, 0x7d, 0x71, 0x6d, 0x61, 0x21, 0x50, 0xea, - 0x7f, 0x30, 0xd2, 0xdd, 0x7d, 0x49, 0x5f, 0x5a, 0xba, 0xe9, 0x4e, 0x26, - 0x55, 0xe7, 0xcf, 0x4c, 0xb9, 0x6d, 0x83, 0x90, 0x65, 0xc3, 0xa5, 0x28, - 0xcb, 0x07, 0xbb, 0xba, 0x6e, 0x9d, 0x1a, 0x1a, 0x9a, 0x00, 0xf8, 0x05, - 0xf4, 0xf5, 0x23, 0xe9, 0x30, 0xeb, 0x2d, 0xf9, 0x00, 0x00, 0x00, 0x00, - 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82, + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, + 0x08, 0x06, 0x00, 0x00, 0x00, 0x1f, 0xf3, 0xff, 0x61, 0x00, 0x00, 0x00, + 0x06, 0x62, 0x4b, 0x47, 0x44, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0xa0, + 0xbd, 0xa7, 0x93, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, + 0x00, 0x0b, 0x13, 0x00, 0x00, 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, + 0x00, 0x00, 0x00, 0x07, 0x74, 0x49, 0x4d, 0x45, 0x07, 0xd5, 0x04, 0x16, + 0x14, 0x0d, 0x09, 0xd9, 0x88, 0x44, 0xfa, 0x00, 0x00, 0x02, 0x4d, 0x49, + 0x44, 0x41, 0x54, 0x38, 0xcb, 0x95, 0x92, 0xdf, 0x4b, 0x53, 0x61, 0x18, + 0xc7, 0x3f, 0x67, 0x9b, 0x6e, 0x7a, 0xd6, 0xfc, 0x55, 0xe0, 0x59, 0x8a, + 0x95, 0x71, 0x08, 0x52, 0x21, 0x91, 0x2c, 0x8a, 0x0a, 0x94, 0x11, 0x14, + 0x78, 0x21, 0x99, 0x14, 0x81, 0xdd, 0x48, 0x7f, 0x45, 0x63, 0x5d, 0x75, + 0x1b, 0x34, 0xd0, 0x9b, 0x52, 0x83, 0x0a, 0xad, 0x0b, 0x43, 0x72, 0xd0, + 0x85, 0x14, 0x14, 0x68, 0x77, 0x39, 0xcd, 0x6c, 0x94, 0x0c, 0xf4, 0x48, + 0x4d, 0x5b, 0x5b, 0x4b, 0xcf, 0x39, 0x3b, 0xef, 0xe9, 0x62, 0x3f, 0xec, + 0xd7, 0x2e, 0x7c, 0xae, 0xbe, 0x2f, 0xef, 0xf3, 0xfd, 0xbc, 0xdf, 0xf7, + 0x7d, 0x5e, 0x69, 0x78, 0x78, 0xf8, 0xc9, 0xfa, 0xfa, 0x7a, 0x2f, 0xbb, + 0xab, 0xcb, 0xc1, 0x60, 0x70, 0x1c, 0x80, 0x50, 0x28, 0x64, 0xef, 0xb6, + 0x42, 0xa1, 0x90, 0x5d, 0x20, 0xb9, 0x0a, 0x22, 0x12, 0x89, 0xe4, 0x95, + 0x84, 0xa6, 0x69, 0xf8, 0xfd, 0x0a, 0x00, 0x9a, 0xa6, 0xa1, 0x28, 0xfe, + 0xbc, 0x5e, 0x63, 0x60, 0x60, 0xe0, 0x8f, 0x28, 0x45, 0x80, 0xa6, 0x69, + 0x48, 0x52, 0x0e, 0x20, 0x49, 0xb9, 0xf5, 0xce, 0xde, 0x5a, 0xc9, 0xbb, + 0x14, 0x01, 0x8a, 0x5f, 0xc1, 0x2b, 0x7b, 0x01, 0x88, 0xc5, 0x62, 0xf4, + 0xf4, 0xf4, 0x00, 0x10, 0x8d, 0x46, 0x69, 0x69, 0x6d, 0x41, 0xb2, 0x25, + 0xe6, 0xa3, 0xf3, 0xa5, 0x01, 0x86, 0x6e, 0x90, 0x21, 0x83, 0x84, 0x04, + 0x40, 0x2a, 0x95, 0x22, 0x2f, 0x49, 0x7f, 0x4f, 0x91, 0x8f, 0x57, 0x1a, + 0xe0, 0x71, 0xbb, 0x91, 0xbd, 0x5e, 0x0a, 0xaf, 0xe3, 0xf3, 0x55, 0x15, + 0xfc, 0xf8, 0xaa, 0x76, 0x74, 0x49, 0xc0, 0xb6, 0xae, 0xe7, 0x4f, 0xcc, + 0xb5, 0x7e, 0x8c, 0x3c, 0x67, 0xf5, 0xee, 0x1d, 0xb6, 0x16, 0x16, 0x89, + 0xa7, 0x33, 0xb9, 0x26, 0xb9, 0x82, 0xc9, 0xb6, 0x56, 0xbc, 0x6d, 0xed, + 0xff, 0x49, 0xe0, 0xf1, 0x20, 0xcb, 0x32, 0x00, 0xf6, 0xe8, 0x3d, 0x3e, + 0xcd, 0xcd, 0xd1, 0x74, 0xe5, 0x22, 0x65, 0x9d, 0x2a, 0xc2, 0x21, 0x91, + 0x15, 0x02, 0xc3, 0x14, 0x48, 0x0e, 0x0f, 0x4d, 0xcf, 0xa6, 0x78, 0x74, + 0xbc, 0xe3, 0x65, 0xff, 0xec, 0xdb, 0xfe, 0x22, 0x40, 0xd7, 0x75, 0x00, + 0x36, 0x1e, 0x8c, 0x51, 0xb3, 0xb2, 0x4c, 0xc3, 0x8d, 0x3e, 0xb2, 0xe9, + 0x24, 0xc9, 0xf8, 0x2a, 0xa6, 0x10, 0x18, 0x96, 0x8d, 0xb3, 0xaa, 0x16, + 0x53, 0x08, 0xac, 0x4e, 0x15, 0xe7, 0xd2, 0xea, 0x99, 0x11, 0xf5, 0xf0, + 0xed, 0x22, 0xc0, 0xed, 0x76, 0x23, 0xcb, 0x32, 0x89, 0xc8, 0x34, 0xfb, + 0xaf, 0x9e, 0xe7, 0x47, 0x3c, 0x56, 0x34, 0x9a, 0x42, 0xf0, 0xa1, 0xfe, + 0x10, 0x9b, 0x86, 0x0b, 0x53, 0x64, 0x31, 0x24, 0x0b, 0xef, 0xb1, 0x7a, + 0xd4, 0xa7, 0x93, 0x7d, 0xff, 0x24, 0xb0, 0x37, 0xbf, 0x61, 0x19, 0x5b, + 0xe8, 0xd6, 0x8e, 0x59, 0x52, 0xca, 0xd9, 0xd3, 0xe1, 0x26, 0xfc, 0xb5, + 0x0b, 0xc3, 0xd4, 0x51, 0x6b, 0xbd, 0x08, 0xcb, 0xe4, 0xe8, 0xe8, 0x43, + 0x8f, 0xe3, 0xef, 0x04, 0x66, 0x75, 0x0d, 0xce, 0x7d, 0x0d, 0xe0, 0xab, + 0x41, 0x17, 0x16, 0xba, 0x25, 0x70, 0xaa, 0x95, 0x34, 0x37, 0xa7, 0xa9, + 0xcf, 0xae, 0x71, 0xb2, 0x71, 0x2f, 0x5f, 0x52, 0x29, 0x7c, 0x2b, 0xef, + 0xc9, 0x78, 0x3c, 0xdb, 0xc5, 0x04, 0x81, 0x40, 0x20, 0x37, 0x8d, 0xc1, + 0x41, 0xde, 0xdd, 0x1f, 0xe3, 0xe0, 0xf5, 0x5e, 0xea, 0x0e, 0x1c, 0xc1, + 0x76, 0xb9, 0xa8, 0x3e, 0x5d, 0x87, 0xa8, 0x70, 0x10, 0xec, 0x90, 0x78, + 0xfc, 0x39, 0x4d, 0x63, 0x7c, 0x91, 0xf6, 0xc9, 0x09, 0x2a, 0x55, 0x75, + 0x5c, 0x0a, 0x87, 0xc3, 0x53, 0x89, 0x44, 0xe2, 0xc2, 0xef, 0xb3, 0xad, + 0x9d, 0x99, 0x41, 0x7e, 0xf3, 0x1a, 0xf3, 0xdc, 0x09, 0xca, 0x1a, 0xaa, + 0xf1, 0x9c, 0xb5, 0xd1, 0x0d, 0x41, 0x66, 0xc3, 0x64, 0x7a, 0x4a, 0xd0, + 0x33, 0xfb, 0x8a, 0x0a, 0x55, 0x7d, 0x71, 0x6d, 0x61, 0x21, 0x50, 0xea, + 0x7f, 0x30, 0xd2, 0xdd, 0x7d, 0x49, 0x5f, 0x5a, 0xba, 0xe9, 0x4e, 0x26, + 0x55, 0xe7, 0xcf, 0x4c, 0xb9, 0x6d, 0x83, 0x90, 0x65, 0xc3, 0xa5, 0x28, + 0xcb, 0x07, 0xbb, 0xba, 0x6e, 0x9d, 0x1a, 0x1a, 0x9a, 0x00, 0xf8, 0x05, + 0xf4, 0xf5, 0x23, 0xe9, 0x30, 0xeb, 0x2d, 0xf9, 0x00, 0x00, 0x00, 0x00, + 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82, } var __32x32_categories_applications_accessories_png = []byte{ - 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, - 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, - 0x08, 0x06, 0x00, 0x00, 0x00, 0x73, 0x7a, 0x7a, 0xf4, 0x00, 0x00, 0x00, - 0x04, 0x73, 0x42, 0x49, 0x54, 0x08, 0x08, 0x08, 0x08, 0x7c, 0x08, 0x64, - 0x88, 0x00, 0x00, 0x08, 0x66, 0x49, 0x44, 0x41, 0x54, 0x58, 0x85, 0xcd, - 0x97, 0x7b, 0x70, 0x54, 0xd5, 0x1d, 0xc7, 0xbf, 0xe7, 0x9c, 0xfb, 0xd8, - 0x57, 0x36, 0x4b, 0xb2, 0xcb, 0x12, 0x24, 0x04, 0x08, 0x41, 0x9e, 0x85, - 0x00, 0x2d, 0x10, 0x71, 0x24, 0xf2, 0x68, 0x67, 0x64, 0xa0, 0x58, 0xed, - 0xbb, 0xb4, 0x5a, 0x19, 0x2d, 0x4a, 0x18, 0x1e, 0x82, 0x05, 0x9c, 0x59, - 0x0d, 0x2a, 0x82, 0xe3, 0x28, 0x1d, 0x5b, 0x69, 0x61, 0x04, 0x44, 0x0a, - 0x8c, 0x8f, 0x62, 0x47, 0x0a, 0x33, 0x3c, 0x85, 0x20, 0x52, 0x85, 0x28, - 0x98, 0x28, 0x12, 0x1e, 0x9b, 0x40, 0x08, 0xc9, 0xe6, 0xb1, 0x8f, 0xec, - 0xde, 0xc7, 0x39, 0xa7, 0x7f, 0x24, 0x4b, 0x13, 0x12, 0x20, 0xfe, 0xd5, - 0xfe, 0x66, 0x7e, 0x73, 0xce, 0xde, 0xfd, 0x9e, 0xdf, 0xef, 0x73, 0x7f, - 0xe7, 0x9e, 0x73, 0xcf, 0x05, 0xfe, 0x07, 0x76, 0x74, 0x33, 0x9e, 0x4c, - 0xf7, 0x49, 0x77, 0x82, 0x35, 0x6b, 0xd6, 0x64, 0x82, 0xf2, 0x66, 0x42, - 0xc9, 0x4f, 0x96, 0x2f, 0x5d, 0xf1, 0xfe, 0x9d, 0x02, 0xae, 0x5d, 0xbb, - 0xb6, 0x8f, 0x80, 0x55, 0x2b, 0x89, 0x98, 0xfe, 0xc7, 0xa7, 0x9f, 0xdd, - 0x7f, 0x3b, 0xed, 0x91, 0xb7, 0x50, 0xc0, 0x08, 0xce, 0x4d, 0xfe, 0x5d, - 0x5b, 0x6e, 0xda, 0x9d, 0x48, 0x51, 0xb1, 0xc2, 0xed, 0xf6, 0x70, 0x46, - 0x95, 0x0d, 0xa1, 0x50, 0xc8, 0x75, 0x27, 0x00, 0x45, 0x27, 0xaf, 0x7b, - 0xbd, 0x99, 0x42, 0x53, 0x1d, 0x7f, 0xdd, 0xb0, 0x61, 0x83, 0x7a, 0x2b, - 0xdd, 0xae, 0x5d, 0x60, 0x9a, 0xaa, 0xbc, 0xd7, 0xf1, 0x5a, 0x17, 0x80, - 0xb5, 0x6b, 0x4b, 0xf3, 0x29, 0x65, 0x4f, 0xce, 0x99, 0x3d, 0x87, 0xe5, - 0x0f, 0x1c, 0xe4, 0x76, 0x79, 0x1c, 0xcf, 0xde, 0x2e, 0xf9, 0x9a, 0x35, - 0xab, 0x8b, 0x28, 0xa1, 0x33, 0x67, 0xcd, 0x9c, 0x4d, 0xf3, 0x72, 0xfb, - 0x07, 0x5b, 0x62, 0x4d, 0x8b, 0x6e, 0xa5, 0xed, 0x97, 0xa2, 0x2b, 0x33, - 0x83, 0xdf, 0xcb, 0xbf, 0x2d, 0x00, 0x61, 0xca, 0xaf, 0x47, 0x8d, 0x1a, - 0xe5, 0xe0, 0x5c, 0x62, 0xec, 0xb8, 0xef, 0x3b, 0x09, 0x25, 0x25, 0xeb, - 0xd6, 0x95, 0x0e, 0xec, 0xfe, 0x8e, 0x76, 0x31, 0xcd, 0xa1, 0x6f, 0x2e, - 0x9e, 0x32, 0xd5, 0x69, 0x59, 0x36, 0xc6, 0x8c, 0x1e, 0xeb, 0x52, 0x14, - 0xb6, 0xa0, 0x3b, 0xed, 0xf1, 0x2d, 0x28, 0xa4, 0x4c, 0x7f, 0x66, 0xf0, - 0x84, 0xce, 0x15, 0xed, 0x02, 0xc0, 0x05, 0x8f, 0x85, 0xc3, 0xe1, 0x24, - 0xa5, 0x14, 0x90, 0x40, 0xd1, 0xc4, 0x22, 0x9d, 0x69, 0x8e, 0x37, 0xbb, - 0x0b, 0x7a, 0xa9, 0xfa, 0xc2, 0x13, 0x7e, 0x7f, 0x76, 0x4e, 0xa6, 0xd7, - 0x47, 0xa4, 0x94, 0x68, 0x88, 0xd4, 0x0b, 0xce, 0x45, 0xf3, 0xcd, 0xba, - 0x3d, 0xeb, 0xa1, 0x13, 0xca, 0xde, 0xbb, 0x7b, 0xd2, 0x42, 0x87, 0xa2, - 0xb8, 0x3b, 0xfd, 0xd7, 0x05, 0x20, 0x95, 0xb0, 0x5f, 0x6b, 0x8e, 0xb6, - 0xd4, 0x44, 0x1a, 0xeb, 0xa5, 0x94, 0x12, 0xb9, 0xfd, 0xf2, 0x98, 0xc2, - 0xd4, 0xc9, 0x2f, 0xad, 0x2b, 0x9d, 0xd6, 0x51, 0xf7, 0xe2, 0x8b, 0x2f, - 0x06, 0x28, 0x21, 0x2f, 0x4d, 0xbe, 0x67, 0x8a, 0x87, 0x73, 0x0e, 0x4a, - 0x09, 0xca, 0x8e, 0x1f, 0x33, 0x2c, 0xc9, 0x1f, 0xbe, 0x39, 0x66, 0x2f, - 0x9f, 0xb2, 0x36, 0xab, 0xdf, 0x84, 0x9c, 0xcc, 0xe0, 0x44, 0x02, 0x88, - 0xdb, 0x03, 0x84, 0x42, 0x21, 0x61, 0x1b, 0xc6, 0x23, 0x87, 0x8f, 0x1c, - 0x4a, 0x32, 0x46, 0x61, 0xdb, 0x36, 0xa6, 0x16, 0x4f, 0x73, 0xe9, 0x8a, - 0xfe, 0xb7, 0x50, 0x28, 0xa4, 0xa4, 0x75, 0x0e, 0x97, 0xfa, 0xea, 0x98, - 0xd1, 0x85, 0x3a, 0x64, 0xdb, 0xef, 0x2f, 0xbe, 0x3c, 0x95, 0x02, 0xb0, - 0x71, 0xc5, 0xd2, 0x15, 0x5f, 0x77, 0x8c, 0x77, 0xec, 0x2d, 0xdc, 0x4b, - 0x35, 0xc7, 0xbc, 0x41, 0x63, 0x17, 0x3a, 0x64, 0xf2, 0x20, 0x8e, 0xef, - 0x9a, 0x7e, 0x7b, 0x00, 0x00, 0x58, 0xbe, 0x7c, 0xd5, 0x09, 0x2e, 0xc4, - 0xbe, 0xf3, 0x55, 0xe7, 0x2d, 0x00, 0x70, 0xb9, 0xdc, 0x08, 0xf6, 0xe9, - 0xd3, 0xdb, 0xe3, 0xd5, 0x17, 0x00, 0xc0, 0xcb, 0x2f, 0xaf, 0x1e, 0x4f, - 0x08, 0x1e, 0x1c, 0x9c, 0x3f, 0x44, 0x13, 0x42, 0x80, 0x73, 0x1b, 0xe7, - 0xab, 0xaa, 0x5a, 0x63, 0xac, 0x75, 0x55, 0xa7, 0xe4, 0x9b, 0x90, 0xc1, - 0x14, 0xb6, 0x6b, 0xd8, 0xa4, 0xc5, 0x4e, 0x2a, 0xaf, 0x40, 0xda, 0x97, - 0x51, 0xf4, 0xf0, 0x47, 0x77, 0x06, 0x00, 0x80, 0xa4, 0x30, 0x16, 0x7c, - 0x76, 0xea, 0xdf, 0x16, 0xa5, 0x04, 0x9c, 0x73, 0x14, 0x4d, 0xbc, 0xd7, - 0x45, 0x08, 0x7d, 0xfe, 0x85, 0x17, 0x5e, 0x08, 0xaa, 0x9a, 0xb6, 0x75, - 0x6a, 0xf1, 0x0c, 0xa7, 0x65, 0x59, 0x50, 0x14, 0x86, 0x23, 0x47, 0x0f, - 0x25, 0x6c, 0xce, 0x4b, 0x42, 0x25, 0xa1, 0x68, 0xa7, 0xe0, 0x3a, 0x7b, - 0x23, 0x38, 0xe8, 0x3e, 0x9f, 0x27, 0x7b, 0x04, 0x44, 0xaa, 0x0c, 0x52, - 0x08, 0x48, 0xc9, 0x7b, 0x06, 0xb0, 0x6a, 0xf1, 0xaa, 0x2b, 0x04, 0xe4, - 0xa5, 0x93, 0x9f, 0x9d, 0x68, 0xa5, 0x94, 0xc0, 0xb6, 0x6d, 0x14, 0x16, - 0x8e, 0xd3, 0x74, 0xa7, 0xba, 0x3b, 0x2b, 0xdb, 0xdf, 0xdf, 0xed, 0xf6, - 0x10, 0x29, 0x25, 0x22, 0x8d, 0x11, 0x11, 0x8b, 0xc5, 0xbe, 0x59, 0xb6, - 0xe4, 0x99, 0xed, 0x1d, 0xc7, 0x97, 0x6d, 0xc6, 0x03, 0x8a, 0xea, 0x7d, - 0x28, 0x77, 0xe4, 0x63, 0x0e, 0x9e, 0xd8, 0x0f, 0xc1, 0x53, 0x10, 0x42, - 0xe0, 0x93, 0x77, 0x67, 0xf5, 0x0c, 0x00, 0x00, 0x34, 0xc5, 0xb1, 0xae, - 0xba, 0xba, 0x3a, 0x66, 0x5a, 0x26, 0xa4, 0x94, 0x18, 0x98, 0x97, 0xaf, - 0x51, 0x4a, 0x26, 0x8c, 0x1c, 0x3e, 0xd2, 0x6d, 0xdb, 0x36, 0x74, 0x5d, - 0xc3, 0xc7, 0x47, 0x0f, 0xa6, 0x6c, 0xd3, 0xfc, 0x3d, 0x21, 0x44, 0xa6, - 0xc7, 0x7d, 0xba, 0x05, 0xd9, 0x84, 0xb2, 0x6d, 0x43, 0x27, 0x2d, 0x74, - 0x4a, 0xab, 0x0a, 0xdc, 0xac, 0x81, 0xe0, 0x02, 0x82, 0x73, 0x4c, 0x98, - 0xb3, 0xb3, 0xe7, 0x00, 0x25, 0x25, 0x25, 0x86, 0x6d, 0xda, 0x4f, 0x1c, - 0x3a, 0x74, 0x20, 0xae, 0xaa, 0x2a, 0x4c, 0xd3, 0xc4, 0xfd, 0xc5, 0xd3, - 0xf0, 0xc5, 0x99, 0x72, 0x00, 0x40, 0x45, 0xe5, 0x59, 0x83, 0x73, 0xb9, - 0x73, 0xd9, 0xb2, 0x95, 0xe5, 0x1d, 0xc7, 0x09, 0xa6, 0x6c, 0xee, 0x3b, - 0x64, 0xba, 0xcb, 0x99, 0x91, 0x0b, 0xbb, 0xf5, 0x04, 0x2c, 0xd3, 0x02, - 0xe7, 0x16, 0x84, 0xe0, 0x90, 0xa2, 0x87, 0x53, 0x90, 0xb6, 0xe5, 0xcb, - 0x57, 0xfc, 0xc3, 0x30, 0x52, 0x5f, 0x36, 0x44, 0xae, 0x0b, 0x21, 0x04, - 0x74, 0x5d, 0x03, 0x63, 0x0a, 0x6a, 0xaf, 0x5d, 0x41, 0x45, 0x65, 0x85, - 0xc1, 0x48, 0x72, 0x71, 0x47, 0x7d, 0xd9, 0x56, 0xfc, 0x46, 0xd5, 0xb3, - 0xa6, 0xe6, 0x14, 0xfc, 0x5c, 0xb3, 0xe2, 0x07, 0x20, 0x6c, 0x03, 0x57, - 0x2f, 0x9e, 0x03, 0x37, 0x2d, 0x08, 0x2e, 0x70, 0x72, 0xf7, 0x2f, 0xbf, - 0x1b, 0x00, 0x00, 0x98, 0x75, 0x75, 0x0b, 0x8e, 0x1e, 0x3e, 0x48, 0x9d, - 0x4e, 0x07, 0x52, 0x86, 0x81, 0xc9, 0x45, 0xf7, 0xa2, 0xfc, 0xd8, 0x61, - 0x69, 0x35, 0x46, 0x4a, 0x17, 0x2d, 0x0a, 0xdd, 0xd8, 0x78, 0x4e, 0x6c, - 0x43, 0x3f, 0x02, 0xfa, 0xe7, 0x82, 0x09, 0x7f, 0x70, 0x72, 0xa3, 0x02, - 0xdc, 0xb8, 0x86, 0x78, 0xb4, 0x19, 0xf5, 0x35, 0x61, 0x48, 0xc1, 0x21, - 0x04, 0xc7, 0xf8, 0x99, 0x9b, 0x3a, 0xc5, 0x56, 0xba, 0x64, 0xeb, 0xc6, - 0x3c, 0xef, 0xee, 0x58, 0xa6, 0x4c, 0x9c, 0x8c, 0x43, 0xbd, 0xb2, 0xe0, - 0xfd, 0xf0, 0x7d, 0xb4, 0x9e, 0x3d, 0x03, 0xe7, 0xb5, 0xab, 0xc4, 0xe5, - 0xeb, 0xf5, 0x14, 0x80, 0x57, 0x00, 0x40, 0x4a, 0x90, 0x13, 0xef, 0x28, - 0x3b, 0xfa, 0x0d, 0xfd, 0x91, 0x43, 0x77, 0x64, 0xc1, 0x68, 0xde, 0x0d, - 0x29, 0x6d, 0x84, 0x2b, 0xcf, 0x26, 0x00, 0xb8, 0x05, 0x17, 0x20, 0xe0, - 0x90, 0xc2, 0xee, 0x39, 0xc0, 0x1e, 0x40, 0xbf, 0xe6, 0x41, 0xbe, 0xbc, - 0x5a, 0x33, 0x6b, 0x4a, 0xe5, 0x39, 0x7c, 0x23, 0x80, 0xea, 0xfd, 0xfb, - 0x30, 0xcc, 0x17, 0x44, 0x9f, 0xdc, 0xa1, 0x38, 0x5d, 0x1f, 0xee, 0xbd, - 0xc1, 0x85, 0x07, 0x9c, 0xad, 0x38, 0x7c, 0x7c, 0x2b, 0x7d, 0xd4, 0xe5, - 0x0d, 0x14, 0x06, 0x06, 0xcc, 0x54, 0x8c, 0xe8, 0xbf, 0x20, 0x85, 0x8d, - 0xba, 0xea, 0x4b, 0x36, 0xb7, 0xad, 0xd3, 0x84, 0x92, 0x71, 0x42, 0x08, - 0x27, 0x21, 0xc0, 0xe7, 0x7b, 0x1e, 0xef, 0x94, 0xa3, 0xcb, 0x14, 0xec, - 0x02, 0x3c, 0xdb, 0x29, 0x5d, 0xbd, 0x93, 0xd2, 0x6a, 0xcb, 0xed, 0xbe, - 0xe2, 0xe3, 0x8e, 0x2f, 0x32, 0x6d, 0xcd, 0x99, 0x6c, 0x8e, 0x22, 0xb1, - 0x77, 0x77, 0x92, 0x12, 0xba, 0xf1, 0x52, 0xa2, 0x31, 0x19, 0x6f, 0x6d, - 0xc5, 0x88, 0xec, 0xbb, 0x9c, 0x4e, 0xa6, 0x7e, 0xd8, 0xd7, 0x9f, 0x5d, - 0x13, 0x59, 0xa2, 0xbd, 0x1e, 0xdb, 0x98, 0xed, 0x8a, 0x9e, 0x2f, 0x03, - 0x37, 0x23, 0x48, 0xc6, 0x63, 0x68, 0xb8, 0x5a, 0x63, 0x9a, 0x92, 0xcf, - 0x05, 0x00, 0x21, 0x38, 0x04, 0x17, 0x18, 0x33, 0xe3, 0xb5, 0x5b, 0x57, - 0x60, 0x3b, 0x70, 0x3f, 0x18, 0xdb, 0x91, 0x17, 0x0c, 0xfa, 0xdc, 0x9a, - 0xa6, 0x9a, 0xb6, 0x0d, 0x4d, 0xd3, 0x00, 0x21, 0x50, 0x71, 0xf9, 0x92, - 0x6c, 0xd5, 0xf9, 0x3b, 0xf3, 0xe2, 0x62, 0xde, 0x26, 0x2f, 0xf1, 0x36, - 0xd8, 0xad, 0x0f, 0x06, 0x4d, 0xaa, 0x0c, 0xf3, 0xe7, 0xd0, 0x2c, 0xb7, - 0xd7, 0xa7, 0x32, 0x86, 0xd4, 0x25, 0x0b, 0x27, 0x7f, 0xfc, 0x01, 0xfa, - 0x3f, 0x1e, 0x84, 0x35, 0xb2, 0x36, 0x21, 0x09, 0x9e, 0xbd, 0x6f, 0x2e, - 0x2e, 0x96, 0x6d, 0x05, 0x84, 0x10, 0x20, 0x00, 0x84, 0xb0, 0xba, 0xaf, - 0xc0, 0x16, 0x60, 0x9a, 0xee, 0x74, 0xbe, 0x5f, 0x90, 0x9b, 0x1b, 0x48, - 0x24, 0x93, 0x66, 0x65, 0x38, 0x5c, 0x73, 0xb1, 0xb6, 0xf6, 0x4f, 0x95, - 0xe1, 0xcb, 0x11, 0x49, 0x08, 0x72, 0x7c, 0xbd, 0xa4, 0x92, 0xc0, 0x69, - 0x00, 0xa8, 0x8e, 0xf2, 0x5f, 0xd5, 0xb6, 0x34, 0x71, 0xa2, 0x50, 0x44, - 0x92, 0x31, 0xb3, 0x6a, 0x40, 0xd8, 0xfe, 0x46, 0x8f, 0xa3, 0x26, 0x5a, - 0x8f, 0xd1, 0x39, 0xf9, 0xa8, 0xdb, 0x14, 0x41, 0xe4, 0x03, 0xa3, 0xe5, - 0xaa, 0x43, 0xac, 0x4f, 0xc7, 0x17, 0x9c, 0x43, 0x70, 0x8e, 0x2f, 0xf7, - 0x3f, 0xdd, 0x15, 0x60, 0x3b, 0xe0, 0xd7, 0x15, 0xe5, 0xef, 0x03, 0x02, - 0x81, 0xcc, 0x9a, 0xfa, 0xfa, 0x96, 0x48, 0x4b, 0xcb, 0xd6, 0x3e, 0x42, - 0x0c, 0xfc, 0x19, 0xe7, 0x25, 0xb6, 0x90, 0xeb, 0x0c, 0xd3, 0x94, 0xba, - 0xc3, 0x41, 0x15, 0x4a, 0x87, 0x00, 0x40, 0x08, 0xb0, 0xbd, 0x52, 0x4f, - 0xd8, 0x90, 0x48, 0x58, 0x31, 0x75, 0xfc, 0xfa, 0xa7, 0x94, 0x71, 0x6f, - 0x17, 0x21, 0xb0, 0xd0, 0x8b, 0x33, 0xd7, 0x2e, 0x60, 0x44, 0x70, 0x20, - 0x5a, 0xff, 0xa9, 0xb9, 0x93, 0x3f, 0xc5, 0x8d, 0xc3, 0x47, 0xdb, 0x1e, - 0x20, 0x30, 0xe2, 0xbe, 0xe7, 0xba, 0x02, 0x50, 0x4a, 0x57, 0xe6, 0xfa, - 0xfd, 0x59, 0x49, 0xc3, 0xe0, 0xf1, 0x54, 0xea, 0xe8, 0x2f, 0x84, 0x98, - 0x5f, 0x0c, 0xd8, 0x00, 0xa0, 0x53, 0xfa, 0x03, 0x4d, 0x51, 0x48, 0xd2, - 0x30, 0x52, 0xdc, 0xb6, 0x3f, 0xef, 0x70, 0x47, 0xf1, 0x60, 0x86, 0x0f, - 0x8c, 0x39, 0x08, 0x6f, 0x49, 0xc0, 0x4c, 0x54, 0xc0, 0x5f, 0x9c, 0x09, - 0x6d, 0xba, 0x69, 0xd6, 0x36, 0x47, 0xec, 0x31, 0x83, 0x87, 0x78, 0x3d, - 0xba, 0xbe, 0x26, 0xad, 0x97, 0xed, 0x3b, 0xe1, 0xcd, 0xab, 0x80, 0x02, - 0x80, 0x24, 0xe4, 0x21, 0x87, 0xa6, 0xd1, 0xeb, 0xcd, 0xcd, 0x11, 0x8b, - 0xf3, 0x1b, 0x27, 0xd6, 0xb7, 0x81, 0xd1, 0x9a, 0xaa, 0x4e, 0xd1, 0x54, - 0x15, 0xd7, 0x1b, 0x1b, 0xe3, 0x75, 0xc0, 0x47, 0x00, 0x18, 0x00, 0xa6, - 0x16, 0xf2, 0x48, 0x4b, 0x6b, 0x1c, 0xb9, 0x19, 0x01, 0x7c, 0xf5, 0xdc, - 0x4e, 0x08, 0xce, 0x11, 0x6d, 0x6a, 0x90, 0xae, 0x62, 0xab, 0xf6, 0xe2, - 0xd5, 0xda, 0x26, 0x8f, 0xae, 0x13, 0x00, 0xf7, 0x00, 0x80, 0x4c, 0x3f, - 0x84, 0x82, 0xa3, 0xe2, 0x68, 0x69, 0x57, 0x00, 0x02, 0xb8, 0x08, 0x00, - 0xcb, 0xb6, 0xd9, 0x5c, 0xa0, 0x16, 0x80, 0x73, 0x1d, 0x30, 0x4d, 0x57, - 0xd5, 0xfd, 0x63, 0x0b, 0x0a, 0xb2, 0xae, 0x47, 0xa3, 0x89, 0x46, 0x29, - 0xb7, 0x2d, 0x06, 0x9c, 0x00, 0x72, 0x4a, 0xe7, 0x63, 0x8e, 0x98, 0x8d, - 0xe1, 0x5f, 0x37, 0xd5, 0x21, 0xe0, 0xce, 0x80, 0x71, 0xc2, 0xc0, 0x57, - 0xaf, 0xd5, 0xe0, 0xc2, 0xd7, 0x61, 0x12, 0x37, 0x45, 0x1e, 0xc9, 0x92, - 0x01, 0x0a, 0x40, 0xef, 0xa5, 0xf4, 0xfe, 0xf8, 0x2f, 0x90, 0x10, 0xd2, - 0x99, 0x7e, 0x17, 0x0c, 0x99, 0xb8, 0xa4, 0x13, 0x40, 0x7a, 0x15, 0xc4, - 0x02, 0x3e, 0x5f, 0x56, 0x34, 0x99, 0x54, 0xb7, 0x37, 0x35, 0x1d, 0x00, - 0x21, 0x19, 0x01, 0x8f, 0x27, 0x7f, 0x58, 0xff, 0xfe, 0x19, 0x97, 0x1a, - 0x1a, 0x52, 0x35, 0x8d, 0x8d, 0x15, 0x8b, 0x6d, 0x7b, 0x33, 0x80, 0xde, - 0x03, 0x73, 0x90, 0xd1, 0x3b, 0x9b, 0x6e, 0x60, 0x39, 0xf7, 0xe8, 0xfa, - 0x7c, 0xa0, 0xfc, 0x8d, 0x53, 0x18, 0xdb, 0x77, 0x10, 0xaa, 0xcb, 0x1a, - 0x70, 0xe5, 0x80, 0x03, 0x8e, 0x7c, 0x07, 0x02, 0x9a, 0x0e, 0x55, 0x55, - 0xc1, 0x21, 0x11, 0xbc, 0x7b, 0x08, 0x54, 0x06, 0x48, 0x22, 0x21, 0x85, - 0x84, 0xe0, 0x9d, 0x57, 0x01, 0x01, 0x80, 0x1d, 0x8c, 0x3d, 0xe6, 0xcf, - 0xcc, 0x7c, 0x75, 0x78, 0x6e, 0x6e, 0x86, 0x68, 0xbf, 0x98, 0xb2, 0x2c, - 0x59, 0x5e, 0x55, 0x15, 0x6d, 0x16, 0x62, 0xdf, 0x52, 0xcb, 0x2a, 0x6d, - 0x6a, 0xab, 0x96, 0xf2, 0xca, 0x12, 0xb2, 0xba, 0xef, 0x5d, 0xfd, 0xa6, - 0xf6, 0xce, 0x9b, 0xa6, 0x99, 0xb1, 0x4f, 0xc0, 0x2b, 0x5b, 0x60, 0x6c, - 0x6a, 0xc2, 0x50, 0x7f, 0x2e, 0x02, 0x9e, 0x4c, 0x48, 0x29, 0xa1, 0xab, - 0x2a, 0x2e, 0x34, 0xd5, 0x21, 0x36, 0x21, 0x8e, 0xbe, 0xbf, 0xf5, 0x82, - 0x31, 0x40, 0x4a, 0x00, 0x52, 0xe2, 0x5a, 0xf8, 0x02, 0x00, 0x20, 0xfd, - 0x5d, 0x70, 0xe3, 0xc3, 0x64, 0x07, 0xa5, 0x0b, 0x18, 0x63, 0x4b, 0x28, - 0x63, 0x4c, 0x08, 0x41, 0x84, 0x10, 0xe5, 0x95, 0xb6, 0xfd, 0x7c, 0x08, - 0xa8, 0x6a, 0xaf, 0x14, 0x7d, 0x65, 0x09, 0x66, 0x14, 0xe4, 0xa9, 0x6f, - 0xe6, 0x8d, 0x7a, 0xd4, 0x61, 0x25, 0xbf, 0x85, 0x9d, 0x0a, 0x83, 0x10, - 0x09, 0x18, 0x1c, 0xb1, 0xf7, 0x62, 0x48, 0x7e, 0x9a, 0x02, 0x03, 0x83, - 0x6d, 0xdb, 0xe8, 0x75, 0xbf, 0x0b, 0x39, 0x8f, 0x78, 0x01, 0x22, 0xdb, - 0x1e, 0x02, 0x48, 0x48, 0x29, 0xe1, 0xf6, 0x4f, 0xc7, 0xc5, 0xf2, 0x8d, - 0x5d, 0x01, 0xee, 0x64, 0x87, 0xb6, 0xc3, 0xaf, 0x59, 0xe4, 0xdb, 0xbe, - 0x05, 0x3f, 0xf4, 0xb9, 0xb3, 0x0a, 0x01, 0x69, 0x00, 0x84, 0x41, 0x4a, - 0x09, 0x48, 0x01, 0x09, 0x09, 0x08, 0xde, 0xd6, 0x4a, 0x01, 0x29, 0x05, - 0x00, 0x01, 0x48, 0x09, 0x29, 0xdb, 0x4f, 0x42, 0xed, 0xfd, 0xcb, 0x67, - 0xb6, 0xde, 0x00, 0xe8, 0xd1, 0xcb, 0x08, 0x00, 0x54, 0x03, 0x9b, 0x25, - 0x91, 0xbe, 0x2b, 0xe7, 0xf6, 0x02, 0xd8, 0xdb, 0xd3, 0x61, 0xb7, 0x0d, - 0x09, 0xc0, 0xea, 0x71, 0x05, 0xd0, 0x06, 0xab, 0x01, 0xd0, 0xdb, 0x5b, - 0xb5, 0x43, 0x9b, 0x76, 0x86, 0xff, 0xee, 0xae, 0x1c, 0x6d, 0x7b, 0x89, - 0xd5, 0xc1, 0xcd, 0x76, 0x4f, 0xb6, 0xb7, 0xf6, 0x77, 0x01, 0xb8, 0xd9, - 0x48, 0x7b, 0x32, 0xda, 0xde, 0x4f, 0x7b, 0xda, 0x64, 0x07, 0x6f, 0x9f, - 0x0f, 0x48, 0xfc, 0xbf, 0xd9, 0x7f, 0x00, 0x76, 0x69, 0xe5, 0x89, 0x4b, - 0x1e, 0x7c, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, - 0x42, 0x60, 0x82, + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, + 0x08, 0x06, 0x00, 0x00, 0x00, 0x73, 0x7a, 0x7a, 0xf4, 0x00, 0x00, 0x00, + 0x04, 0x73, 0x42, 0x49, 0x54, 0x08, 0x08, 0x08, 0x08, 0x7c, 0x08, 0x64, + 0x88, 0x00, 0x00, 0x08, 0x66, 0x49, 0x44, 0x41, 0x54, 0x58, 0x85, 0xcd, + 0x97, 0x7b, 0x70, 0x54, 0xd5, 0x1d, 0xc7, 0xbf, 0xe7, 0x9c, 0xfb, 0xd8, + 0x57, 0x36, 0x4b, 0xb2, 0xcb, 0x12, 0x24, 0x04, 0x08, 0x41, 0x9e, 0x85, + 0x00, 0x2d, 0x10, 0x71, 0x24, 0xf2, 0x68, 0x67, 0x64, 0xa0, 0x58, 0xed, + 0xbb, 0xb4, 0x5a, 0x19, 0x2d, 0x4a, 0x18, 0x1e, 0x82, 0x05, 0x9c, 0x59, + 0x0d, 0x2a, 0x82, 0xe3, 0x28, 0x1d, 0x5b, 0x69, 0x61, 0x04, 0x44, 0x0a, + 0x8c, 0x8f, 0x62, 0x47, 0x0a, 0x33, 0x3c, 0x85, 0x20, 0x52, 0x85, 0x28, + 0x98, 0x28, 0x12, 0x1e, 0x9b, 0x40, 0x08, 0xc9, 0xe6, 0xb1, 0x8f, 0xec, + 0xde, 0xc7, 0x39, 0xa7, 0x7f, 0x24, 0x4b, 0x13, 0x12, 0x20, 0xfe, 0xd5, + 0xfe, 0x66, 0x7e, 0x73, 0xce, 0xde, 0xfd, 0x9e, 0xdf, 0xef, 0x73, 0x7f, + 0xe7, 0x9e, 0x73, 0xcf, 0x05, 0xfe, 0x07, 0x76, 0x74, 0x33, 0x9e, 0x4c, + 0xf7, 0x49, 0x77, 0x82, 0x35, 0x6b, 0xd6, 0x64, 0x82, 0xf2, 0x66, 0x42, + 0xc9, 0x4f, 0x96, 0x2f, 0x5d, 0xf1, 0xfe, 0x9d, 0x02, 0xae, 0x5d, 0xbb, + 0xb6, 0x8f, 0x80, 0x55, 0x2b, 0x89, 0x98, 0xfe, 0xc7, 0xa7, 0x9f, 0xdd, + 0x7f, 0x3b, 0xed, 0x91, 0xb7, 0x50, 0xc0, 0x08, 0xce, 0x4d, 0xfe, 0x5d, + 0x5b, 0x6e, 0xda, 0x9d, 0x48, 0x51, 0xb1, 0xc2, 0xed, 0xf6, 0x70, 0x46, + 0x95, 0x0d, 0xa1, 0x50, 0xc8, 0x75, 0x27, 0x00, 0x45, 0x27, 0xaf, 0x7b, + 0xbd, 0x99, 0x42, 0x53, 0x1d, 0x7f, 0xdd, 0xb0, 0x61, 0x83, 0x7a, 0x2b, + 0xdd, 0xae, 0x5d, 0x60, 0x9a, 0xaa, 0xbc, 0xd7, 0xf1, 0x5a, 0x17, 0x80, + 0xb5, 0x6b, 0x4b, 0xf3, 0x29, 0x65, 0x4f, 0xce, 0x99, 0x3d, 0x87, 0xe5, + 0x0f, 0x1c, 0xe4, 0x76, 0x79, 0x1c, 0xcf, 0xde, 0x2e, 0xf9, 0x9a, 0x35, + 0xab, 0x8b, 0x28, 0xa1, 0x33, 0x67, 0xcd, 0x9c, 0x4d, 0xf3, 0x72, 0xfb, + 0x07, 0x5b, 0x62, 0x4d, 0x8b, 0x6e, 0xa5, 0xed, 0x97, 0xa2, 0x2b, 0x33, + 0x83, 0xdf, 0xcb, 0xbf, 0x2d, 0x00, 0x61, 0xca, 0xaf, 0x47, 0x8d, 0x1a, + 0xe5, 0xe0, 0x5c, 0x62, 0xec, 0xb8, 0xef, 0x3b, 0x09, 0x25, 0x25, 0xeb, + 0xd6, 0x95, 0x0e, 0xec, 0xfe, 0x8e, 0x76, 0x31, 0xcd, 0xa1, 0x6f, 0x2e, + 0x9e, 0x32, 0xd5, 0x69, 0x59, 0x36, 0xc6, 0x8c, 0x1e, 0xeb, 0x52, 0x14, + 0xb6, 0xa0, 0x3b, 0xed, 0xf1, 0x2d, 0x28, 0xa4, 0x4c, 0x7f, 0x66, 0xf0, + 0x84, 0xce, 0x15, 0xed, 0x02, 0xc0, 0x05, 0x8f, 0x85, 0xc3, 0xe1, 0x24, + 0xa5, 0x14, 0x90, 0x40, 0xd1, 0xc4, 0x22, 0x9d, 0x69, 0x8e, 0x37, 0xbb, + 0x0b, 0x7a, 0xa9, 0xfa, 0xc2, 0x13, 0x7e, 0x7f, 0x76, 0x4e, 0xa6, 0xd7, + 0x47, 0xa4, 0x94, 0x68, 0x88, 0xd4, 0x0b, 0xce, 0x45, 0xf3, 0xcd, 0xba, + 0x3d, 0xeb, 0xa1, 0x13, 0xca, 0xde, 0xbb, 0x7b, 0xd2, 0x42, 0x87, 0xa2, + 0xb8, 0x3b, 0xfd, 0xd7, 0x05, 0x20, 0x95, 0xb0, 0x5f, 0x6b, 0x8e, 0xb6, + 0xd4, 0x44, 0x1a, 0xeb, 0xa5, 0x94, 0x12, 0xb9, 0xfd, 0xf2, 0x98, 0xc2, + 0xd4, 0xc9, 0x2f, 0xad, 0x2b, 0x9d, 0xd6, 0x51, 0xf7, 0xe2, 0x8b, 0x2f, + 0x06, 0x28, 0x21, 0x2f, 0x4d, 0xbe, 0x67, 0x8a, 0x87, 0x73, 0x0e, 0x4a, + 0x09, 0xca, 0x8e, 0x1f, 0x33, 0x2c, 0xc9, 0x1f, 0xbe, 0x39, 0x66, 0x2f, + 0x9f, 0xb2, 0x36, 0xab, 0xdf, 0x84, 0x9c, 0xcc, 0xe0, 0x44, 0x02, 0x88, + 0xdb, 0x03, 0x84, 0x42, 0x21, 0x61, 0x1b, 0xc6, 0x23, 0x87, 0x8f, 0x1c, + 0x4a, 0x32, 0x46, 0x61, 0xdb, 0x36, 0xa6, 0x16, 0x4f, 0x73, 0xe9, 0x8a, + 0xfe, 0xb7, 0x50, 0x28, 0xa4, 0xa4, 0x75, 0x0e, 0x97, 0xfa, 0xea, 0x98, + 0xd1, 0x85, 0x3a, 0x64, 0xdb, 0xef, 0x2f, 0xbe, 0x3c, 0x95, 0x02, 0xb0, + 0x71, 0xc5, 0xd2, 0x15, 0x5f, 0x77, 0x8c, 0x77, 0xec, 0x2d, 0xdc, 0x4b, + 0x35, 0xc7, 0xbc, 0x41, 0x63, 0x17, 0x3a, 0x64, 0xf2, 0x20, 0x8e, 0xef, + 0x9a, 0x7e, 0x7b, 0x00, 0x00, 0x58, 0xbe, 0x7c, 0xd5, 0x09, 0x2e, 0xc4, + 0xbe, 0xf3, 0x55, 0xe7, 0x2d, 0x00, 0x70, 0xb9, 0xdc, 0x08, 0xf6, 0xe9, + 0xd3, 0xdb, 0xe3, 0xd5, 0x17, 0x00, 0xc0, 0xcb, 0x2f, 0xaf, 0x1e, 0x4f, + 0x08, 0x1e, 0x1c, 0x9c, 0x3f, 0x44, 0x13, 0x42, 0x80, 0x73, 0x1b, 0xe7, + 0xab, 0xaa, 0x5a, 0x63, 0xac, 0x75, 0x55, 0xa7, 0xe4, 0x9b, 0x90, 0xc1, + 0x14, 0xb6, 0x6b, 0xd8, 0xa4, 0xc5, 0x4e, 0x2a, 0xaf, 0x40, 0xda, 0x97, + 0x51, 0xf4, 0xf0, 0x47, 0x77, 0x06, 0x00, 0x80, 0xa4, 0x30, 0x16, 0x7c, + 0x76, 0xea, 0xdf, 0x16, 0xa5, 0x04, 0x9c, 0x73, 0x14, 0x4d, 0xbc, 0xd7, + 0x45, 0x08, 0x7d, 0xfe, 0x85, 0x17, 0x5e, 0x08, 0xaa, 0x9a, 0xb6, 0x75, + 0x6a, 0xf1, 0x0c, 0xa7, 0x65, 0x59, 0x50, 0x14, 0x86, 0x23, 0x47, 0x0f, + 0x25, 0x6c, 0xce, 0x4b, 0x42, 0x25, 0xa1, 0x68, 0xa7, 0xe0, 0x3a, 0x7b, + 0x23, 0x38, 0xe8, 0x3e, 0x9f, 0x27, 0x7b, 0x04, 0x44, 0xaa, 0x0c, 0x52, + 0x08, 0x48, 0xc9, 0x7b, 0x06, 0xb0, 0x6a, 0xf1, 0xaa, 0x2b, 0x04, 0xe4, + 0xa5, 0x93, 0x9f, 0x9d, 0x68, 0xa5, 0x94, 0xc0, 0xb6, 0x6d, 0x14, 0x16, + 0x8e, 0xd3, 0x74, 0xa7, 0xba, 0x3b, 0x2b, 0xdb, 0xdf, 0xdf, 0xed, 0xf6, + 0x10, 0x29, 0x25, 0x22, 0x8d, 0x11, 0x11, 0x8b, 0xc5, 0xbe, 0x59, 0xb6, + 0xe4, 0x99, 0xed, 0x1d, 0xc7, 0x97, 0x6d, 0xc6, 0x03, 0x8a, 0xea, 0x7d, + 0x28, 0x77, 0xe4, 0x63, 0x0e, 0x9e, 0xd8, 0x0f, 0xc1, 0x53, 0x10, 0x42, + 0xe0, 0x93, 0x77, 0x67, 0xf5, 0x0c, 0x00, 0x00, 0x34, 0xc5, 0xb1, 0xae, + 0xba, 0xba, 0x3a, 0x66, 0x5a, 0x26, 0xa4, 0x94, 0x18, 0x98, 0x97, 0xaf, + 0x51, 0x4a, 0x26, 0x8c, 0x1c, 0x3e, 0xd2, 0x6d, 0xdb, 0x36, 0x74, 0x5d, + 0xc3, 0xc7, 0x47, 0x0f, 0xa6, 0x6c, 0xd3, 0xfc, 0x3d, 0x21, 0x44, 0xa6, + 0xc7, 0x7d, 0xba, 0x05, 0xd9, 0x84, 0xb2, 0x6d, 0x43, 0x27, 0x2d, 0x74, + 0x4a, 0xab, 0x0a, 0xdc, 0xac, 0x81, 0xe0, 0x02, 0x82, 0x73, 0x4c, 0x98, + 0xb3, 0xb3, 0xe7, 0x00, 0x25, 0x25, 0x25, 0x86, 0x6d, 0xda, 0x4f, 0x1c, + 0x3a, 0x74, 0x20, 0xae, 0xaa, 0x2a, 0x4c, 0xd3, 0xc4, 0xfd, 0xc5, 0xd3, + 0xf0, 0xc5, 0x99, 0x72, 0x00, 0x40, 0x45, 0xe5, 0x59, 0x83, 0x73, 0xb9, + 0x73, 0xd9, 0xb2, 0x95, 0xe5, 0x1d, 0xc7, 0x09, 0xa6, 0x6c, 0xee, 0x3b, + 0x64, 0xba, 0xcb, 0x99, 0x91, 0x0b, 0xbb, 0xf5, 0x04, 0x2c, 0xd3, 0x02, + 0xe7, 0x16, 0x84, 0xe0, 0x90, 0xa2, 0x87, 0x53, 0x90, 0xb6, 0xe5, 0xcb, + 0x57, 0xfc, 0xc3, 0x30, 0x52, 0x5f, 0x36, 0x44, 0xae, 0x0b, 0x21, 0x04, + 0x74, 0x5d, 0x03, 0x63, 0x0a, 0x6a, 0xaf, 0x5d, 0x41, 0x45, 0x65, 0x85, + 0xc1, 0x48, 0x72, 0x71, 0x47, 0x7d, 0xd9, 0x56, 0xfc, 0x46, 0xd5, 0xb3, + 0xa6, 0xe6, 0x14, 0xfc, 0x5c, 0xb3, 0xe2, 0x07, 0x20, 0x6c, 0x03, 0x57, + 0x2f, 0x9e, 0x03, 0x37, 0x2d, 0x08, 0x2e, 0x70, 0x72, 0xf7, 0x2f, 0xbf, + 0x1b, 0x00, 0x00, 0x98, 0x75, 0x75, 0x0b, 0x8e, 0x1e, 0x3e, 0x48, 0x9d, + 0x4e, 0x07, 0x52, 0x86, 0x81, 0xc9, 0x45, 0xf7, 0xa2, 0xfc, 0xd8, 0x61, + 0x69, 0x35, 0x46, 0x4a, 0x17, 0x2d, 0x0a, 0xdd, 0xd8, 0x78, 0x4e, 0x6c, + 0x43, 0x3f, 0x02, 0xfa, 0xe7, 0x82, 0x09, 0x7f, 0x70, 0x72, 0xa3, 0x02, + 0xdc, 0xb8, 0x86, 0x78, 0xb4, 0x19, 0xf5, 0x35, 0x61, 0x48, 0xc1, 0x21, + 0x04, 0xc7, 0xf8, 0x99, 0x9b, 0x3a, 0xc5, 0x56, 0xba, 0x64, 0xeb, 0xc6, + 0x3c, 0xef, 0xee, 0x58, 0xa6, 0x4c, 0x9c, 0x8c, 0x43, 0xbd, 0xb2, 0xe0, + 0xfd, 0xf0, 0x7d, 0xb4, 0x9e, 0x3d, 0x03, 0xe7, 0xb5, 0xab, 0xc4, 0xe5, + 0xeb, 0xf5, 0x14, 0x80, 0x57, 0x00, 0x40, 0x4a, 0x90, 0x13, 0xef, 0x28, + 0x3b, 0xfa, 0x0d, 0xfd, 0x91, 0x43, 0x77, 0x64, 0xc1, 0x68, 0xde, 0x0d, + 0x29, 0x6d, 0x84, 0x2b, 0xcf, 0x26, 0x00, 0xb8, 0x05, 0x17, 0x20, 0xe0, + 0x90, 0xc2, 0xee, 0x39, 0xc0, 0x1e, 0x40, 0xbf, 0xe6, 0x41, 0xbe, 0xbc, + 0x5a, 0x33, 0x6b, 0x4a, 0xe5, 0x39, 0x7c, 0x23, 0x80, 0xea, 0xfd, 0xfb, + 0x30, 0xcc, 0x17, 0x44, 0x9f, 0xdc, 0xa1, 0x38, 0x5d, 0x1f, 0xee, 0xbd, + 0xc1, 0x85, 0x07, 0x9c, 0xad, 0x38, 0x7c, 0x7c, 0x2b, 0x7d, 0xd4, 0xe5, + 0x0d, 0x14, 0x06, 0x06, 0xcc, 0x54, 0x8c, 0xe8, 0xbf, 0x20, 0x85, 0x8d, + 0xba, 0xea, 0x4b, 0x36, 0xb7, 0xad, 0xd3, 0x84, 0x92, 0x71, 0x42, 0x08, + 0x27, 0x21, 0xc0, 0xe7, 0x7b, 0x1e, 0xef, 0x94, 0xa3, 0xcb, 0x14, 0xec, + 0x02, 0x3c, 0xdb, 0x29, 0x5d, 0xbd, 0x93, 0xd2, 0x6a, 0xcb, 0xed, 0xbe, + 0xe2, 0xe3, 0x8e, 0x2f, 0x32, 0x6d, 0xcd, 0x99, 0x6c, 0x8e, 0x22, 0xb1, + 0x77, 0x77, 0x92, 0x12, 0xba, 0xf1, 0x52, 0xa2, 0x31, 0x19, 0x6f, 0x6d, + 0xc5, 0x88, 0xec, 0xbb, 0x9c, 0x4e, 0xa6, 0x7e, 0xd8, 0xd7, 0x9f, 0x5d, + 0x13, 0x59, 0xa2, 0xbd, 0x1e, 0xdb, 0x98, 0xed, 0x8a, 0x9e, 0x2f, 0x03, + 0x37, 0x23, 0x48, 0xc6, 0x63, 0x68, 0xb8, 0x5a, 0x63, 0x9a, 0x92, 0xcf, + 0x05, 0x00, 0x21, 0x38, 0x04, 0x17, 0x18, 0x33, 0xe3, 0xb5, 0x5b, 0x57, + 0x60, 0x3b, 0x70, 0x3f, 0x18, 0xdb, 0x91, 0x17, 0x0c, 0xfa, 0xdc, 0x9a, + 0xa6, 0x9a, 0xb6, 0x0d, 0x4d, 0xd3, 0x00, 0x21, 0x50, 0x71, 0xf9, 0x92, + 0x6c, 0xd5, 0xf9, 0x3b, 0xf3, 0xe2, 0x62, 0xde, 0x26, 0x2f, 0xf1, 0x36, + 0xd8, 0xad, 0x0f, 0x06, 0x4d, 0xaa, 0x0c, 0xf3, 0xe7, 0xd0, 0x2c, 0xb7, + 0xd7, 0xa7, 0x32, 0x86, 0xd4, 0x25, 0x0b, 0x27, 0x7f, 0xfc, 0x01, 0xfa, + 0x3f, 0x1e, 0x84, 0x35, 0xb2, 0x36, 0x21, 0x09, 0x9e, 0xbd, 0x6f, 0x2e, + 0x2e, 0x96, 0x6d, 0x05, 0x84, 0x10, 0x20, 0x00, 0x84, 0xb0, 0xba, 0xaf, + 0xc0, 0x16, 0x60, 0x9a, 0xee, 0x74, 0xbe, 0x5f, 0x90, 0x9b, 0x1b, 0x48, + 0x24, 0x93, 0x66, 0x65, 0x38, 0x5c, 0x73, 0xb1, 0xb6, 0xf6, 0x4f, 0x95, + 0xe1, 0xcb, 0x11, 0x49, 0x08, 0x72, 0x7c, 0xbd, 0xa4, 0x92, 0xc0, 0x69, + 0x00, 0xa8, 0x8e, 0xf2, 0x5f, 0xd5, 0xb6, 0x34, 0x71, 0xa2, 0x50, 0x44, + 0x92, 0x31, 0xb3, 0x6a, 0x40, 0xd8, 0xfe, 0x46, 0x8f, 0xa3, 0x26, 0x5a, + 0x8f, 0xd1, 0x39, 0xf9, 0xa8, 0xdb, 0x14, 0x41, 0xe4, 0x03, 0xa3, 0xe5, + 0xaa, 0x43, 0xac, 0x4f, 0xc7, 0x17, 0x9c, 0x43, 0x70, 0x8e, 0x2f, 0xf7, + 0x3f, 0xdd, 0x15, 0x60, 0x3b, 0xe0, 0xd7, 0x15, 0xe5, 0xef, 0x03, 0x02, + 0x81, 0xcc, 0x9a, 0xfa, 0xfa, 0x96, 0x48, 0x4b, 0xcb, 0xd6, 0x3e, 0x42, + 0x0c, 0xfc, 0x19, 0xe7, 0x25, 0xb6, 0x90, 0xeb, 0x0c, 0xd3, 0x94, 0xba, + 0xc3, 0x41, 0x15, 0x4a, 0x87, 0x00, 0x40, 0x08, 0xb0, 0xbd, 0x52, 0x4f, + 0xd8, 0x90, 0x48, 0x58, 0x31, 0x75, 0xfc, 0xfa, 0xa7, 0x94, 0x71, 0x6f, + 0x17, 0x21, 0xb0, 0xd0, 0x8b, 0x33, 0xd7, 0x2e, 0x60, 0x44, 0x70, 0x20, + 0x5a, 0xff, 0xa9, 0xb9, 0x93, 0x3f, 0xc5, 0x8d, 0xc3, 0x47, 0xdb, 0x1e, + 0x20, 0x30, 0xe2, 0xbe, 0xe7, 0xba, 0x02, 0x50, 0x4a, 0x57, 0xe6, 0xfa, + 0xfd, 0x59, 0x49, 0xc3, 0xe0, 0xf1, 0x54, 0xea, 0xe8, 0x2f, 0x84, 0x98, + 0x5f, 0x0c, 0xd8, 0x00, 0xa0, 0x53, 0xfa, 0x03, 0x4d, 0x51, 0x48, 0xd2, + 0x30, 0x52, 0xdc, 0xb6, 0x3f, 0xef, 0x70, 0x47, 0xf1, 0x60, 0x86, 0x0f, + 0x8c, 0x39, 0x08, 0x6f, 0x49, 0xc0, 0x4c, 0x54, 0xc0, 0x5f, 0x9c, 0x09, + 0x6d, 0xba, 0x69, 0xd6, 0x36, 0x47, 0xec, 0x31, 0x83, 0x87, 0x78, 0x3d, + 0xba, 0xbe, 0x26, 0xad, 0x97, 0xed, 0x3b, 0xe1, 0xcd, 0xab, 0x80, 0x02, + 0x80, 0x24, 0xe4, 0x21, 0x87, 0xa6, 0xd1, 0xeb, 0xcd, 0xcd, 0x11, 0x8b, + 0xf3, 0x1b, 0x27, 0xd6, 0xb7, 0x81, 0xd1, 0x9a, 0xaa, 0x4e, 0xd1, 0x54, + 0x15, 0xd7, 0x1b, 0x1b, 0xe3, 0x75, 0xc0, 0x47, 0x00, 0x18, 0x00, 0xa6, + 0x16, 0xf2, 0x48, 0x4b, 0x6b, 0x1c, 0xb9, 0x19, 0x01, 0x7c, 0xf5, 0xdc, + 0x4e, 0x08, 0xce, 0x11, 0x6d, 0x6a, 0x90, 0xae, 0x62, 0xab, 0xf6, 0xe2, + 0xd5, 0xda, 0x26, 0x8f, 0xae, 0x13, 0x00, 0xf7, 0x00, 0x80, 0x4c, 0x3f, + 0x84, 0x82, 0xa3, 0xe2, 0x68, 0x69, 0x57, 0x00, 0x02, 0xb8, 0x08, 0x00, + 0xcb, 0xb6, 0xd9, 0x5c, 0xa0, 0x16, 0x80, 0x73, 0x1d, 0x30, 0x4d, 0x57, + 0xd5, 0xfd, 0x63, 0x0b, 0x0a, 0xb2, 0xae, 0x47, 0xa3, 0x89, 0x46, 0x29, + 0xb7, 0x2d, 0x06, 0x9c, 0x00, 0x72, 0x4a, 0xe7, 0x63, 0x8e, 0x98, 0x8d, + 0xe1, 0x5f, 0x37, 0xd5, 0x21, 0xe0, 0xce, 0x80, 0x71, 0xc2, 0xc0, 0x57, + 0xaf, 0xd5, 0xe0, 0xc2, 0xd7, 0x61, 0x12, 0x37, 0x45, 0x1e, 0xc9, 0x92, + 0x01, 0x0a, 0x40, 0xef, 0xa5, 0xf4, 0xfe, 0xf8, 0x2f, 0x90, 0x10, 0xd2, + 0x99, 0x7e, 0x17, 0x0c, 0x99, 0xb8, 0xa4, 0x13, 0x40, 0x7a, 0x15, 0xc4, + 0x02, 0x3e, 0x5f, 0x56, 0x34, 0x99, 0x54, 0xb7, 0x37, 0x35, 0x1d, 0x00, + 0x21, 0x19, 0x01, 0x8f, 0x27, 0x7f, 0x58, 0xff, 0xfe, 0x19, 0x97, 0x1a, + 0x1a, 0x52, 0x35, 0x8d, 0x8d, 0x15, 0x8b, 0x6d, 0x7b, 0x33, 0x80, 0xde, + 0x03, 0x73, 0x90, 0xd1, 0x3b, 0x9b, 0x6e, 0x60, 0x39, 0xf7, 0xe8, 0xfa, + 0x7c, 0xa0, 0xfc, 0x8d, 0x53, 0x18, 0xdb, 0x77, 0x10, 0xaa, 0xcb, 0x1a, + 0x70, 0xe5, 0x80, 0x03, 0x8e, 0x7c, 0x07, 0x02, 0x9a, 0x0e, 0x55, 0x55, + 0xc1, 0x21, 0x11, 0xbc, 0x7b, 0x08, 0x54, 0x06, 0x48, 0x22, 0x21, 0x85, + 0x84, 0xe0, 0x9d, 0x57, 0x01, 0x01, 0x80, 0x1d, 0x8c, 0x3d, 0xe6, 0xcf, + 0xcc, 0x7c, 0x75, 0x78, 0x6e, 0x6e, 0x86, 0x68, 0xbf, 0x98, 0xb2, 0x2c, + 0x59, 0x5e, 0x55, 0x15, 0x6d, 0x16, 0x62, 0xdf, 0x52, 0xcb, 0x2a, 0x6d, + 0x6a, 0xab, 0x96, 0xf2, 0xca, 0x12, 0xb2, 0xba, 0xef, 0x5d, 0xfd, 0xa6, + 0xf6, 0xce, 0x9b, 0xa6, 0x99, 0xb1, 0x4f, 0xc0, 0x2b, 0x5b, 0x60, 0x6c, + 0x6a, 0xc2, 0x50, 0x7f, 0x2e, 0x02, 0x9e, 0x4c, 0x48, 0x29, 0xa1, 0xab, + 0x2a, 0x2e, 0x34, 0xd5, 0x21, 0x36, 0x21, 0x8e, 0xbe, 0xbf, 0xf5, 0x82, + 0x31, 0x40, 0x4a, 0x00, 0x52, 0xe2, 0x5a, 0xf8, 0x02, 0x00, 0x20, 0xfd, + 0x5d, 0x70, 0xe3, 0xc3, 0x64, 0x07, 0xa5, 0x0b, 0x18, 0x63, 0x4b, 0x28, + 0x63, 0x4c, 0x08, 0x41, 0x84, 0x10, 0xe5, 0x95, 0xb6, 0xfd, 0x7c, 0x08, + 0xa8, 0x6a, 0xaf, 0x14, 0x7d, 0x65, 0x09, 0x66, 0x14, 0xe4, 0xa9, 0x6f, + 0xe6, 0x8d, 0x7a, 0xd4, 0x61, 0x25, 0xbf, 0x85, 0x9d, 0x0a, 0x83, 0x10, + 0x09, 0x18, 0x1c, 0xb1, 0xf7, 0x62, 0x48, 0x7e, 0x9a, 0x02, 0x03, 0x83, + 0x6d, 0xdb, 0xe8, 0x75, 0xbf, 0x0b, 0x39, 0x8f, 0x78, 0x01, 0x22, 0xdb, + 0x1e, 0x02, 0x48, 0x48, 0x29, 0xe1, 0xf6, 0x4f, 0xc7, 0xc5, 0xf2, 0x8d, + 0x5d, 0x01, 0xee, 0x64, 0x87, 0xb6, 0xc3, 0xaf, 0x59, 0xe4, 0xdb, 0xbe, + 0x05, 0x3f, 0xf4, 0xb9, 0xb3, 0x0a, 0x01, 0x69, 0x00, 0x84, 0x41, 0x4a, + 0x09, 0x48, 0x01, 0x09, 0x09, 0x08, 0xde, 0xd6, 0x4a, 0x01, 0x29, 0x05, + 0x00, 0x01, 0x48, 0x09, 0x29, 0xdb, 0x4f, 0x42, 0xed, 0xfd, 0xcb, 0x67, + 0xb6, 0xde, 0x00, 0xe8, 0xd1, 0xcb, 0x08, 0x00, 0x54, 0x03, 0x9b, 0x25, + 0x91, 0xbe, 0x2b, 0xe7, 0xf6, 0x02, 0xd8, 0xdb, 0xd3, 0x61, 0xb7, 0x0d, + 0x09, 0xc0, 0xea, 0x71, 0x05, 0xd0, 0x06, 0xab, 0x01, 0xd0, 0xdb, 0x5b, + 0xb5, 0x43, 0x9b, 0x76, 0x86, 0xff, 0xee, 0xae, 0x1c, 0x6d, 0x7b, 0x89, + 0xd5, 0xc1, 0xcd, 0x76, 0x4f, 0xb6, 0xb7, 0xf6, 0x77, 0x01, 0xb8, 0xd9, + 0x48, 0x7b, 0x32, 0xda, 0xde, 0x4f, 0x7b, 0xda, 0x64, 0x07, 0x6f, 0x9f, + 0x0f, 0x48, 0xfc, 0xbf, 0xd9, 0x7f, 0x00, 0x76, 0x69, 0xe5, 0x89, 0x4b, + 0x1e, 0x7c, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, + 0x42, 0x60, 0x82, } var __32x32_places_folder_png = []byte{ - 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, - 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, - 0x08, 0x06, 0x00, 0x00, 0x00, 0x73, 0x7a, 0x7a, 0xf4, 0x00, 0x00, 0x00, - 0x04, 0x73, 0x42, 0x49, 0x54, 0x08, 0x08, 0x08, 0x08, 0x7c, 0x08, 0x64, - 0x88, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0d, - 0xd7, 0x00, 0x00, 0x0d, 0xd7, 0x01, 0x42, 0x28, 0x9b, 0x78, 0x00, 0x00, - 0x00, 0x19, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, - 0x72, 0x65, 0x00, 0x77, 0x77, 0x77, 0x2e, 0x69, 0x6e, 0x6b, 0x73, 0x63, - 0x61, 0x70, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x9b, 0xee, 0x3c, 0x1a, 0x00, - 0x00, 0x04, 0x15, 0x49, 0x44, 0x41, 0x54, 0x58, 0x85, 0xed, 0x97, 0x3d, - 0x6f, 0x1c, 0x45, 0x18, 0xc7, 0x7f, 0x33, 0xbb, 0x77, 0x7b, 0xaf, 0xf6, - 0x39, 0x91, 0x30, 0x09, 0x05, 0x56, 0x94, 0xc2, 0x1f, 0x00, 0x09, 0x05, - 0x21, 0x53, 0x6e, 0x95, 0x82, 0x1a, 0x89, 0x02, 0x5a, 0x3a, 0x3e, 0x40, - 0x24, 0x3e, 0x40, 0x4a, 0x84, 0x44, 0x85, 0x68, 0xa1, 0x43, 0x48, 0xa7, - 0x40, 0x17, 0xc9, 0x8a, 0x02, 0x8a, 0xd2, 0x45, 0xc2, 0xc6, 0xc4, 0x28, - 0x16, 0xc6, 0xf7, 0xba, 0x77, 0xde, 0x97, 0x99, 0x9d, 0x19, 0x8a, 0x7b, - 0xc9, 0x3a, 0x77, 0x8e, 0x13, 0x72, 0x52, 0x28, 0xf8, 0x4b, 0x8f, 0x76, - 0x76, 0x76, 0xf7, 0x79, 0x7e, 0xf3, 0x3c, 0x33, 0xb3, 0xbb, 0x22, 0x0c, - 0x43, 0x5e, 0xa7, 0xe4, 0x6b, 0x8d, 0xfe, 0x5f, 0x00, 0xf0, 0x01, 0x6e, - 0xdc, 0xb8, 0xe1, 0x2b, 0xa5, 0x7e, 0x36, 0xc6, 0xbc, 0x77, 0xd1, 0x03, - 0x42, 0x88, 0xdc, 0x5a, 0xfb, 0xf9, 0xc3, 0x87, 0x0f, 0xbf, 0x5c, 0x19, - 0x40, 0x9a, 0xa6, 0x5b, 0x95, 0x4a, 0xe5, 0x9d, 0x9b, 0x37, 0x6f, 0xfa, - 0x49, 0x92, 0xe0, 0x9c, 0x03, 0xc0, 0x5a, 0x0b, 0x30, 0x3f, 0x9f, 0xb6, - 0xfd, 0x3b, 0x77, 0xee, 0xdc, 0xde, 0xde, 0xde, 0xfe, 0xfe, 0xd1, 0xa3, - 0x47, 0xc7, 0x2b, 0x01, 0x50, 0x4a, 0x65, 0xd5, 0x6a, 0xd5, 0x1d, 0x1d, - 0x1d, 0xd1, 0xe9, 0x74, 0x70, 0xce, 0x2d, 0x35, 0x00, 0x21, 0x04, 0x9b, - 0x9b, 0x9b, 0xf9, 0xc1, 0xc1, 0xc1, 0x47, 0xc0, 0xed, 0x95, 0x00, 0x68, - 0xad, 0xd3, 0x2c, 0xcb, 0xc4, 0xa5, 0x4b, 0x1b, 0x18, 0x63, 0xb0, 0xd6, - 0x9e, 0x09, 0x5c, 0xcc, 0x84, 0x10, 0x82, 0x6a, 0xb5, 0x5a, 0x3f, 0x3c, - 0x3c, 0xfc, 0x62, 0x7b, 0x7b, 0xfb, 0xd6, 0xac, 0x7f, 0x99, 0x9c, 0x73, - 0xda, 0x5a, 0xfb, 0xf1, 0xde, 0xde, 0xde, 0x8f, 0xcf, 0x05, 0x00, 0xb2, - 0x2c, 0xcb, 0xbc, 0x4e, 0xa7, 0x4b, 0xa7, 0xd3, 0x99, 0x03, 0xcc, 0x8e, - 0xb3, 0x20, 0xc5, 0x40, 0x5b, 0x5b, 0x5b, 0xf5, 0x46, 0xa3, 0x41, 0xb3, - 0xd9, 0x44, 0x08, 0x81, 0x10, 0x02, 0x00, 0x29, 0xe5, 0xbc, 0x1d, 0x45, - 0x11, 0xf7, 0xee, 0xdd, 0xbb, 0x05, 0x3c, 0x1f, 0xe0, 0xf2, 0xe5, 0xcb, - 0x69, 0xbf, 0xdf, 0xf7, 0x36, 0x36, 0x5a, 0x68, 0xad, 0x17, 0x00, 0x96, - 0x95, 0x62, 0xa6, 0x38, 0x8e, 0x01, 0xe6, 0x10, 0x45, 0x8b, 0xe3, 0x18, - 0x63, 0x4c, 0xed, 0xbc, 0xe0, 0x73, 0x80, 0xdd, 0xdd, 0x5d, 0x75, 0xed, - 0xda, 0x35, 0xd9, 0xeb, 0xf5, 0xe6, 0x19, 0x00, 0x96, 0x82, 0xcc, 0xb2, - 0x51, 0xd4, 0x6c, 0xc4, 0xc5, 0xe0, 0x52, 0xca, 0x19, 0x40, 0xe5, 0x42, - 0x00, 0x00, 0x63, 0x8c, 0x6d, 0x36, 0xd7, 0x64, 0x9a, 0x66, 0xdc, 0x3f, - 0xb4, 0xdc, 0xdd, 0x3f, 0x1b, 0xe4, 0xbc, 0x3a, 0x3f, 0xab, 0x19, 0xcc, - 0xe4, 0x99, 0x16, 0xce, 0x5d, 0xb9, 0xce, 0xdb, 0x1f, 0xe8, 0xe2, 0x3d, - 0x9e, 0x27, 0xbe, 0x5d, 0xff, 0xfd, 0x9b, 0x4f, 0xce, 0x00, 0x38, 0xe7, - 0x74, 0xb7, 0xdb, 0xf5, 0xbb, 0xdd, 0x2e, 0x8f, 0x3b, 0x0d, 0x3e, 0xfd, - 0xf0, 0x5d, 0xae, 0xbf, 0xb5, 0x51, 0x70, 0x36, 0x3d, 0x3e, 0x2f, 0xfa, - 0x12, 0xc8, 0x69, 0xcf, 0x3c, 0xce, 0x93, 0xce, 0x98, 0xaf, 0xbe, 0xbb, - 0xff, 0xfe, 0xec, 0xbc, 0x98, 0x01, 0xdd, 0x68, 0xd4, 0xab, 0x5a, 0x6b, - 0xd4, 0x1f, 0x92, 0x66, 0xb5, 0xcc, 0xfe, 0xdf, 0x63, 0xa2, 0x38, 0x9f, - 0x8c, 0x6c, 0xe9, 0x68, 0xcf, 0x23, 0x11, 0x0b, 0x4d, 0x01, 0x34, 0x2a, - 0x3e, 0x2a, 0xd3, 0x08, 0x41, 0x67, 0x76, 0x79, 0xbe, 0x15, 0x1b, 0x63, - 0x74, 0xbf, 0x3f, 0xa0, 0xdb, 0xed, 0x12, 0x67, 0x96, 0x7a, 0xb5, 0x84, - 0x35, 0x93, 0x1b, 0xe4, 0xd4, 0xc1, 0xb3, 0x86, 0x3b, 0xcf, 0xdc, 0x53, - 0xb3, 0x13, 0xb3, 0xd6, 0x91, 0x64, 0x86, 0x34, 0xcb, 0xc1, 0x89, 0xf9, - 0x06, 0x56, 0x2c, 0x41, 0x56, 0xa9, 0x04, 0xb4, 0x5a, 0x2d, 0x32, 0x23, - 0xa8, 0x05, 0x25, 0xac, 0x53, 0x78, 0x72, 0x35, 0xaf, 0x8b, 0x71, 0x9a, - 0x53, 0x6f, 0xfa, 0x8c, 0x86, 0x39, 0xd6, 0xba, 0x27, 0x0b, 0x00, 0x79, - 0x9e, 0xab, 0x28, 0x1a, 0xd1, 0xef, 0x0f, 0xd0, 0xe6, 0x0d, 0xaa, 0x81, - 0x8f, 0x73, 0x0e, 0x4f, 0x9e, 0x9b, 0xe7, 0x17, 0x93, 0x83, 0x51, 0xaa, - 0xd1, 0xb9, 0x25, 0xf0, 0x25, 0x71, 0xaa, 0xad, 0x31, 0xf9, 0xd1, 0x02, - 0x80, 0x31, 0x26, 0x2b, 0x97, 0x4b, 0x54, 0x9b, 0x1b, 0xac, 0xd5, 0xca, - 0x38, 0x40, 0x0a, 0xb1, 0xbc, 0xf8, 0x2f, 0x28, 0xe3, 0x1c, 0xa3, 0x54, - 0x93, 0x5b, 0x87, 0xe7, 0x09, 0x82, 0xb2, 0xc7, 0x69, 0x92, 0x29, 0x21, - 0xc4, 0xc9, 0x02, 0x80, 0xb5, 0x36, 0x1b, 0x8d, 0xc6, 0x1c, 0x0f, 0x14, - 0xeb, 0xf5, 0x4b, 0xe8, 0xdc, 0xbe, 0xd2, 0xe8, 0x33, 0x6d, 0x89, 0x33, - 0x03, 0x4e, 0xe0, 0x4f, 0xfd, 0x94, 0x3d, 0xc9, 0xe8, 0x54, 0xe5, 0x82, - 0xa7, 0x93, 0xb0, 0x98, 0x81, 0xd4, 0xf7, 0x7d, 0xbc, 0x20, 0xa0, 0x49, - 0x99, 0x4c, 0xd9, 0x0b, 0x83, 0x4c, 0xe6, 0x98, 0xc3, 0xba, 0xc9, 0x3e, - 0x61, 0xec, 0xc4, 0x54, 0x6e, 0x97, 0xad, 0x48, 0x9c, 0x83, 0xc1, 0x28, - 0xb5, 0xb9, 0x73, 0x8b, 0x00, 0xd6, 0xda, 0x64, 0x3c, 0x1e, 0xd3, 0x19, - 0xf8, 0x54, 0x5a, 0x65, 0xa2, 0x44, 0x93, 0xe9, 0xe9, 0x4b, 0x08, 0xc8, - 0x8d, 0x45, 0x1b, 0x87, 0xce, 0x2d, 0xb9, 0x99, 0x6e, 0xcb, 0x2f, 0x99, - 0x95, 0x44, 0x19, 0x86, 0xe3, 0xc4, 0x13, 0xd2, 0x5b, 0x5a, 0x82, 0x54, - 0x08, 0x81, 0x0c, 0x1a, 0x94, 0x4a, 0x3e, 0xa3, 0x44, 0x13, 0x25, 0x9a, - 0x54, 0x19, 0x94, 0xb6, 0x2f, 0x1d, 0x6c, 0x99, 0xe2, 0x2c, 0xe7, 0x34, - 0xd1, 0x3e, 0xe7, 0x94, 0x20, 0x8e, 0xe3, 0x53, 0x7a, 0x51, 0x85, 0x4a, - 0x0d, 0x1e, 0x9f, 0xc4, 0x0c, 0x63, 0xbd, 0xd4, 0xd1, 0xbf, 0x91, 0x00, - 0x86, 0xb1, 0x42, 0x19, 0x53, 0xfa, 0xf5, 0xea, 0x5e, 0x2f, 0x7c, 0xfc, - 0x0c, 0x80, 0xb5, 0x36, 0x06, 0x81, 0xf5, 0x6b, 0x64, 0xb9, 0x25, 0x8a, - 0x35, 0x4a, 0x5f, 0x3c, 0x0f, 0x5e, 0x54, 0x52, 0x0a, 0x4e, 0x86, 0x09, - 0x52, 0xc8, 0x38, 0xdc, 0xdd, 0x9d, 0x3b, 0x3e, 0x33, 0x07, 0x92, 0x24, - 0x21, 0x4a, 0x0c, 0x57, 0xaf, 0x04, 0x54, 0x03, 0x8f, 0xa0, 0xbc, 0xba, - 0x6f, 0x56, 0x29, 0x04, 0x69, 0xaa, 0x90, 0x52, 0x0c, 0x8b, 0xfd, 0xc5, - 0x12, 0x24, 0x00, 0x9a, 0x12, 0xeb, 0x55, 0x8f, 0x7a, 0x69, 0x15, 0x55, - 0x7f, 0x2a, 0xe7, 0x1c, 0xfd, 0x24, 0x41, 0x58, 0x3b, 0x58, 0x00, 0x68, - 0xb7, 0xdb, 0x62, 0x67, 0x67, 0xc7, 0x44, 0xb1, 0x62, 0x70, 0xea, 0xf8, - 0xf3, 0x64, 0x88, 0xec, 0xbe, 0xe2, 0x0e, 0xb8, 0x44, 0xc7, 0xc7, 0x43, - 0x9b, 0x24, 0xc3, 0x07, 0xbb, 0xed, 0x76, 0x2d, 0x0c, 0xc3, 0x78, 0x0e, - 0x00, 0x78, 0x51, 0x14, 0xfd, 0xf4, 0xcb, 0xa1, 0xf8, 0x4c, 0xad, 0xe3, - 0xff, 0xb6, 0xff, 0xca, 0x1f, 0xbb, 0x67, 0xe4, 0xc0, 0x02, 0x58, 0x9d, - 0x1e, 0x1c, 0x3f, 0xf8, 0xe1, 0xeb, 0xe2, 0x35, 0x31, 0xfb, 0x35, 0x6b, - 0xb7, 0xdb, 0xcd, 0x60, 0x6d, 0xed, 0xcd, 0x5a, 0xd0, 0xda, 0x74, 0x38, - 0x29, 0x85, 0x5c, 0xc9, 0x12, 0xc8, 0x8d, 0x31, 0x2a, 0x4b, 0x6b, 0xb9, - 0x10, 0x79, 0x3e, 0x3a, 0xe9, 0x01, 0x7f, 0x85, 0x61, 0xd8, 0x5b, 0x00, - 0x98, 0x42, 0x48, 0x20, 0x60, 0x92, 0x99, 0x7c, 0x15, 0x00, 0x53, 0x05, - 0x40, 0x0a, 0xa8, 0x30, 0x0c, 0xcf, 0x2c, 0x2d, 0xf1, 0xff, 0xcf, 0xe9, - 0xeb, 0x06, 0xf8, 0x07, 0xbc, 0x32, 0xa5, 0x97, 0xcb, 0x08, 0x37, 0x2b, - 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82, + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, + 0x08, 0x06, 0x00, 0x00, 0x00, 0x73, 0x7a, 0x7a, 0xf4, 0x00, 0x00, 0x00, + 0x04, 0x73, 0x42, 0x49, 0x54, 0x08, 0x08, 0x08, 0x08, 0x7c, 0x08, 0x64, + 0x88, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0d, + 0xd7, 0x00, 0x00, 0x0d, 0xd7, 0x01, 0x42, 0x28, 0x9b, 0x78, 0x00, 0x00, + 0x00, 0x19, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, + 0x72, 0x65, 0x00, 0x77, 0x77, 0x77, 0x2e, 0x69, 0x6e, 0x6b, 0x73, 0x63, + 0x61, 0x70, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x9b, 0xee, 0x3c, 0x1a, 0x00, + 0x00, 0x04, 0x15, 0x49, 0x44, 0x41, 0x54, 0x58, 0x85, 0xed, 0x97, 0x3d, + 0x6f, 0x1c, 0x45, 0x18, 0xc7, 0x7f, 0x33, 0xbb, 0x77, 0x7b, 0xaf, 0xf6, + 0x39, 0x91, 0x30, 0x09, 0x05, 0x56, 0x94, 0xc2, 0x1f, 0x00, 0x09, 0x05, + 0x21, 0x53, 0x6e, 0x95, 0x82, 0x1a, 0x89, 0x02, 0x5a, 0x3a, 0x3e, 0x40, + 0x24, 0x3e, 0x40, 0x4a, 0x84, 0x44, 0x85, 0x68, 0xa1, 0x43, 0x48, 0xa7, + 0x40, 0x17, 0xc9, 0x8a, 0x02, 0x8a, 0xd2, 0x45, 0xc2, 0xc6, 0xc4, 0x28, + 0x16, 0xc6, 0xf7, 0xba, 0x77, 0xde, 0x97, 0x99, 0x9d, 0x19, 0x8a, 0x7b, + 0xc9, 0x3a, 0x77, 0x8e, 0x13, 0x72, 0x52, 0x28, 0xf8, 0x4b, 0x8f, 0x76, + 0x76, 0x76, 0xf7, 0x79, 0x7e, 0xf3, 0x3c, 0x33, 0xb3, 0xbb, 0x22, 0x0c, + 0x43, 0x5e, 0xa7, 0xe4, 0x6b, 0x8d, 0xfe, 0x5f, 0x00, 0xf0, 0x01, 0x6e, + 0xdc, 0xb8, 0xe1, 0x2b, 0xa5, 0x7e, 0x36, 0xc6, 0xbc, 0x77, 0xd1, 0x03, + 0x42, 0x88, 0xdc, 0x5a, 0xfb, 0xf9, 0xc3, 0x87, 0x0f, 0xbf, 0x5c, 0x19, + 0x40, 0x9a, 0xa6, 0x5b, 0x95, 0x4a, 0xe5, 0x9d, 0x9b, 0x37, 0x6f, 0xfa, + 0x49, 0x92, 0xe0, 0x9c, 0x03, 0xc0, 0x5a, 0x0b, 0x30, 0x3f, 0x9f, 0xb6, + 0xfd, 0x3b, 0x77, 0xee, 0xdc, 0xde, 0xde, 0xde, 0xfe, 0xfe, 0xd1, 0xa3, + 0x47, 0xc7, 0x2b, 0x01, 0x50, 0x4a, 0x65, 0xd5, 0x6a, 0xd5, 0x1d, 0x1d, + 0x1d, 0xd1, 0xe9, 0x74, 0x70, 0xce, 0x2d, 0x35, 0x00, 0x21, 0x04, 0x9b, + 0x9b, 0x9b, 0xf9, 0xc1, 0xc1, 0xc1, 0x47, 0xc0, 0xed, 0x95, 0x00, 0x68, + 0xad, 0xd3, 0x2c, 0xcb, 0xc4, 0xa5, 0x4b, 0x1b, 0x18, 0x63, 0xb0, 0xd6, + 0x9e, 0x09, 0x5c, 0xcc, 0x84, 0x10, 0x82, 0x6a, 0xb5, 0x5a, 0x3f, 0x3c, + 0x3c, 0xfc, 0x62, 0x7b, 0x7b, 0xfb, 0xd6, 0xac, 0x7f, 0x99, 0x9c, 0x73, + 0xda, 0x5a, 0xfb, 0xf1, 0xde, 0xde, 0xde, 0x8f, 0xcf, 0x05, 0x00, 0xb2, + 0x2c, 0xcb, 0xbc, 0x4e, 0xa7, 0x4b, 0xa7, 0xd3, 0x99, 0x03, 0xcc, 0x8e, + 0xb3, 0x20, 0xc5, 0x40, 0x5b, 0x5b, 0x5b, 0xf5, 0x46, 0xa3, 0x41, 0xb3, + 0xd9, 0x44, 0x08, 0x81, 0x10, 0x02, 0x00, 0x29, 0xe5, 0xbc, 0x1d, 0x45, + 0x11, 0xf7, 0xee, 0xdd, 0xbb, 0x05, 0x3c, 0x1f, 0xe0, 0xf2, 0xe5, 0xcb, + 0x69, 0xbf, 0xdf, 0xf7, 0x36, 0x36, 0x5a, 0x68, 0xad, 0x17, 0x00, 0x96, + 0x95, 0x62, 0xa6, 0x38, 0x8e, 0x01, 0xe6, 0x10, 0x45, 0x8b, 0xe3, 0x18, + 0x63, 0x4c, 0xed, 0xbc, 0xe0, 0x73, 0x80, 0xdd, 0xdd, 0x5d, 0x75, 0xed, + 0xda, 0x35, 0xd9, 0xeb, 0xf5, 0xe6, 0x19, 0x00, 0x96, 0x82, 0xcc, 0xb2, + 0x51, 0xd4, 0x6c, 0xc4, 0xc5, 0xe0, 0x52, 0xca, 0x19, 0x40, 0xe5, 0x42, + 0x00, 0x00, 0x63, 0x8c, 0x6d, 0x36, 0xd7, 0x64, 0x9a, 0x66, 0xdc, 0x3f, + 0xb4, 0xdc, 0xdd, 0x3f, 0x1b, 0xe4, 0xbc, 0x3a, 0x3f, 0xab, 0x19, 0xcc, + 0xe4, 0x99, 0x16, 0xce, 0x5d, 0xb9, 0xce, 0xdb, 0x1f, 0xe8, 0xe2, 0x3d, + 0x9e, 0x27, 0xbe, 0x5d, 0xff, 0xfd, 0x9b, 0x4f, 0xce, 0x00, 0x38, 0xe7, + 0x74, 0xb7, 0xdb, 0xf5, 0xbb, 0xdd, 0x2e, 0x8f, 0x3b, 0x0d, 0x3e, 0xfd, + 0xf0, 0x5d, 0xae, 0xbf, 0xb5, 0x51, 0x70, 0x36, 0x3d, 0x3e, 0x2f, 0xfa, + 0x12, 0xc8, 0x69, 0xcf, 0x3c, 0xce, 0x93, 0xce, 0x98, 0xaf, 0xbe, 0xbb, + 0xff, 0xfe, 0xec, 0xbc, 0x98, 0x01, 0xdd, 0x68, 0xd4, 0xab, 0x5a, 0x6b, + 0xd4, 0x1f, 0x92, 0x66, 0xb5, 0xcc, 0xfe, 0xdf, 0x63, 0xa2, 0x38, 0x9f, + 0x8c, 0x6c, 0xe9, 0x68, 0xcf, 0x23, 0x11, 0x0b, 0x4d, 0x01, 0x34, 0x2a, + 0x3e, 0x2a, 0xd3, 0x08, 0x41, 0x67, 0x76, 0x79, 0xbe, 0x15, 0x1b, 0x63, + 0x74, 0xbf, 0x3f, 0xa0, 0xdb, 0xed, 0x12, 0x67, 0x96, 0x7a, 0xb5, 0x84, + 0x35, 0x93, 0x1b, 0xe4, 0xd4, 0xc1, 0xb3, 0x86, 0x3b, 0xcf, 0xdc, 0x53, + 0xb3, 0x13, 0xb3, 0xd6, 0x91, 0x64, 0x86, 0x34, 0xcb, 0xc1, 0x89, 0xf9, + 0x06, 0x56, 0x2c, 0x41, 0x56, 0xa9, 0x04, 0xb4, 0x5a, 0x2d, 0x32, 0x23, + 0xa8, 0x05, 0x25, 0xac, 0x53, 0x78, 0x72, 0x35, 0xaf, 0x8b, 0x71, 0x9a, + 0x53, 0x6f, 0xfa, 0x8c, 0x86, 0x39, 0xd6, 0xba, 0x27, 0x0b, 0x00, 0x79, + 0x9e, 0xab, 0x28, 0x1a, 0xd1, 0xef, 0x0f, 0xd0, 0xe6, 0x0d, 0xaa, 0x81, + 0x8f, 0x73, 0x0e, 0x4f, 0x9e, 0x9b, 0xe7, 0x17, 0x93, 0x83, 0x51, 0xaa, + 0xd1, 0xb9, 0x25, 0xf0, 0x25, 0x71, 0xaa, 0xad, 0x31, 0xf9, 0xd1, 0x02, + 0x80, 0x31, 0x26, 0x2b, 0x97, 0x4b, 0x54, 0x9b, 0x1b, 0xac, 0xd5, 0xca, + 0x38, 0x40, 0x0a, 0xb1, 0xbc, 0xf8, 0x2f, 0x28, 0xe3, 0x1c, 0xa3, 0x54, + 0x93, 0x5b, 0x87, 0xe7, 0x09, 0x82, 0xb2, 0xc7, 0x69, 0x92, 0x29, 0x21, + 0xc4, 0xc9, 0x02, 0x80, 0xb5, 0x36, 0x1b, 0x8d, 0xc6, 0x1c, 0x0f, 0x14, + 0xeb, 0xf5, 0x4b, 0xe8, 0xdc, 0xbe, 0xd2, 0xe8, 0x33, 0x6d, 0x89, 0x33, + 0x03, 0x4e, 0xe0, 0x4f, 0xfd, 0x94, 0x3d, 0xc9, 0xe8, 0x54, 0xe5, 0x82, + 0xa7, 0x93, 0xb0, 0x98, 0x81, 0xd4, 0xf7, 0x7d, 0xbc, 0x20, 0xa0, 0x49, + 0x99, 0x4c, 0xd9, 0x0b, 0x83, 0x4c, 0xe6, 0x98, 0xc3, 0xba, 0xc9, 0x3e, + 0x61, 0xec, 0xc4, 0x54, 0x6e, 0x97, 0xad, 0x48, 0x9c, 0x83, 0xc1, 0x28, + 0xb5, 0xb9, 0x73, 0x8b, 0x00, 0xd6, 0xda, 0x64, 0x3c, 0x1e, 0xd3, 0x19, + 0xf8, 0x54, 0x5a, 0x65, 0xa2, 0x44, 0x93, 0xe9, 0xe9, 0x4b, 0x08, 0xc8, + 0x8d, 0x45, 0x1b, 0x87, 0xce, 0x2d, 0xb9, 0x99, 0x6e, 0xcb, 0x2f, 0x99, + 0x95, 0x44, 0x19, 0x86, 0xe3, 0xc4, 0x13, 0xd2, 0x5b, 0x5a, 0x82, 0x54, + 0x08, 0x81, 0x0c, 0x1a, 0x94, 0x4a, 0x3e, 0xa3, 0x44, 0x13, 0x25, 0x9a, + 0x54, 0x19, 0x94, 0xb6, 0x2f, 0x1d, 0x6c, 0x99, 0xe2, 0x2c, 0xe7, 0x34, + 0xd1, 0x3e, 0xe7, 0x94, 0x20, 0x8e, 0xe3, 0x53, 0x7a, 0x51, 0x85, 0x4a, + 0x0d, 0x1e, 0x9f, 0xc4, 0x0c, 0x63, 0xbd, 0xd4, 0xd1, 0xbf, 0x91, 0x00, + 0x86, 0xb1, 0x42, 0x19, 0x53, 0xfa, 0xf5, 0xea, 0x5e, 0x2f, 0x7c, 0xfc, + 0x0c, 0x80, 0xb5, 0x36, 0x06, 0x81, 0xf5, 0x6b, 0x64, 0xb9, 0x25, 0x8a, + 0x35, 0x4a, 0x5f, 0x3c, 0x0f, 0x5e, 0x54, 0x52, 0x0a, 0x4e, 0x86, 0x09, + 0x52, 0xc8, 0x38, 0xdc, 0xdd, 0x9d, 0x3b, 0x3e, 0x33, 0x07, 0x92, 0x24, + 0x21, 0x4a, 0x0c, 0x57, 0xaf, 0x04, 0x54, 0x03, 0x8f, 0xa0, 0xbc, 0xba, + 0x6f, 0x56, 0x29, 0x04, 0x69, 0xaa, 0x90, 0x52, 0x0c, 0x8b, 0xfd, 0xc5, + 0x12, 0x24, 0x00, 0x9a, 0x12, 0xeb, 0x55, 0x8f, 0x7a, 0x69, 0x15, 0x55, + 0x7f, 0x2a, 0xe7, 0x1c, 0xfd, 0x24, 0x41, 0x58, 0x3b, 0x58, 0x00, 0x68, + 0xb7, 0xdb, 0x62, 0x67, 0x67, 0xc7, 0x44, 0xb1, 0x62, 0x70, 0xea, 0xf8, + 0xf3, 0x64, 0x88, 0xec, 0xbe, 0xe2, 0x0e, 0xb8, 0x44, 0xc7, 0xc7, 0x43, + 0x9b, 0x24, 0xc3, 0x07, 0xbb, 0xed, 0x76, 0x2d, 0x0c, 0xc3, 0x78, 0x0e, + 0x00, 0x78, 0x51, 0x14, 0xfd, 0xf4, 0xcb, 0xa1, 0xf8, 0x4c, 0xad, 0xe3, + 0xff, 0xb6, 0xff, 0xca, 0x1f, 0xbb, 0x67, 0xe4, 0xc0, 0x02, 0x58, 0x9d, + 0x1e, 0x1c, 0x3f, 0xf8, 0xe1, 0xeb, 0xe2, 0x35, 0x31, 0xfb, 0x35, 0x6b, + 0xb7, 0xdb, 0xcd, 0x60, 0x6d, 0xed, 0xcd, 0x5a, 0xd0, 0xda, 0x74, 0x38, + 0x29, 0x85, 0x5c, 0xc9, 0x12, 0xc8, 0x8d, 0x31, 0x2a, 0x4b, 0x6b, 0xb9, + 0x10, 0x79, 0x3e, 0x3a, 0xe9, 0x01, 0x7f, 0x85, 0x61, 0xd8, 0x5b, 0x00, + 0x98, 0x42, 0x48, 0x20, 0x60, 0x92, 0x99, 0x7c, 0x15, 0x00, 0x53, 0x05, + 0x40, 0x0a, 0xa8, 0x30, 0x0c, 0xcf, 0x2c, 0x2d, 0xf1, 0xff, 0xcf, 0xe9, + 0xeb, 0x06, 0xf8, 0x07, 0xbc, 0x32, 0xa5, 0x97, 0xcb, 0x08, 0x37, 0x2b, + 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82, } var __32x32_mimetypes_x_office_spreadsheet_png = []byte{ - 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, - 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, - 0x08, 0x06, 0x00, 0x00, 0x00, 0x73, 0x7a, 0x7a, 0xf4, 0x00, 0x00, 0x00, - 0x04, 0x73, 0x42, 0x49, 0x54, 0x08, 0x08, 0x08, 0x08, 0x7c, 0x08, 0x64, - 0x88, 0x00, 0x00, 0x05, 0xa5, 0x49, 0x44, 0x41, 0x54, 0x58, 0x85, 0xe5, - 0x97, 0xcd, 0x6b, 0x54, 0x57, 0x18, 0xc6, 0x7f, 0xe7, 0xde, 0x3b, 0x93, - 0x51, 0x67, 0x92, 0x8c, 0x66, 0x32, 0x6a, 0x26, 0x4d, 0x94, 0x18, 0x27, - 0xa9, 0x50, 0xbf, 0x5a, 0x2d, 0x94, 0x76, 0xd1, 0x85, 0x05, 0x41, 0x8b, - 0x60, 0x75, 0x53, 0x70, 0x21, 0x0a, 0x55, 0xba, 0x71, 0x51, 0xa8, 0xb4, - 0x7f, 0x40, 0xd7, 0xd5, 0x45, 0xa5, 0x90, 0x6e, 0x5a, 0xa8, 0x20, 0x34, - 0x15, 0x0a, 0x6d, 0xa1, 0x25, 0x58, 0x2c, 0xa4, 0xd6, 0x42, 0x4d, 0xa2, - 0xf9, 0x20, 0xc9, 0xc4, 0x64, 0x3e, 0x4c, 0xa2, 0x13, 0x93, 0xcc, 0xdc, - 0xef, 0x2e, 0x32, 0xf7, 0xf4, 0xde, 0xc9, 0x97, 0x59, 0x74, 0xd5, 0x03, - 0x87, 0x7b, 0xde, 0xf3, 0x9e, 0x73, 0xde, 0xe7, 0x3c, 0xef, 0xf3, 0xde, - 0xb9, 0x03, 0xff, 0xf7, 0x26, 0xaa, 0x27, 0xae, 0x5d, 0xbb, 0x76, 0x4a, - 0xd3, 0xb4, 0x2e, 0x20, 0xa6, 0xaa, 0x2a, 0x8a, 0xa2, 0xe0, 0x38, 0x0e, - 0xb6, 0x6d, 0xcb, 0x6e, 0x59, 0x96, 0x7c, 0xfa, 0xc7, 0x6b, 0xcd, 0x01, - 0xcf, 0x2d, 0xcb, 0x3a, 0xd7, 0xd5, 0xd5, 0x75, 0xcb, 0x1f, 0x4f, 0x5b, - 0x86, 0x48, 0x88, 0x2f, 0xcf, 0x9f, 0x3f, 0x1f, 0xab, 0x8c, 0xe5, 0xbc, - 0xeb, 0xba, 0x81, 0x75, 0x7e, 0xfb, 0x05, 0xc7, 0xb1, 0x4b, 0x97, 0x2e, - 0x7d, 0x09, 0xac, 0x0d, 0xc0, 0xb6, 0xed, 0x7a, 0x80, 0xd1, 0xd1, 0x51, - 0x84, 0x10, 0x12, 0x84, 0xff, 0xe9, 0x07, 0xe6, 0x1f, 0xaf, 0x64, 0x7b, - 0x40, 0x1a, 0x1b, 0x1b, 0x31, 0x0c, 0xa3, 0xbe, 0xda, 0xb7, 0x0c, 0x80, - 0xeb, 0xba, 0x32, 0xc8, 0x8d, 0x1b, 0x37, 0x48, 0x24, 0x12, 0x81, 0xa0, - 0xf9, 0x7c, 0x9e, 0x64, 0x32, 0x29, 0xed, 0x42, 0xa1, 0x40, 0x32, 0x99, - 0x94, 0xfb, 0x0b, 0x85, 0x02, 0x8d, 0x8d, 0x8d, 0xd2, 0x9e, 0x9e, 0x9e, - 0xe6, 0xc2, 0x85, 0x0b, 0xcb, 0x40, 0xad, 0x0a, 0xc0, 0x71, 0x1c, 0x79, - 0x93, 0x54, 0x2a, 0x45, 0x2a, 0x95, 0x0a, 0xdc, 0xaa, 0xa6, 0xa6, 0x26, - 0x30, 0x17, 0x89, 0x44, 0x48, 0xa5, 0x52, 0x72, 0x8f, 0xdf, 0xf6, 0xfc, - 0xde, 0xda, 0xea, 0x34, 0xae, 0x0a, 0xc0, 0x63, 0xc1, 0x3b, 0xb4, 0xfa, - 0x59, 0x9d, 0x9a, 0x95, 0x68, 0xf7, 0xb7, 0xb5, 0xfc, 0x2b, 0x69, 0x40, - 0x8e, 0xa7, 0xa6, 0xa6, 0xb0, 0x6d, 0x3b, 0x10, 0xac, 0x50, 0x28, 0x04, - 0xd6, 0xe4, 0xf3, 0x79, 0x4c, 0xd3, 0x94, 0xfe, 0x7c, 0x3e, 0xef, 0xa9, - 0x5e, 0xfa, 0x37, 0xcc, 0x80, 0x77, 0xd8, 0xce, 0x9d, 0x3b, 0x03, 0xf4, - 0x0a, 0x21, 0xd0, 0x34, 0x8d, 0xe3, 0xc7, 0x8f, 0xcb, 0x43, 0x47, 0x46, - 0x46, 0x68, 0x6b, 0x6b, 0x93, 0x6b, 0x86, 0x87, 0x87, 0xa5, 0x0d, 0x30, - 0x3c, 0x3c, 0x8c, 0xa2, 0x28, 0x2f, 0x0e, 0xc0, 0xbb, 0x9d, 0x10, 0x82, - 0x6c, 0x36, 0x8b, 0xe3, 0x38, 0xcb, 0x44, 0x38, 0x34, 0x34, 0x24, 0xd7, - 0x4f, 0x4c, 0x4c, 0x04, 0x40, 0x67, 0x32, 0x19, 0x69, 0x03, 0x64, 0x32, - 0x19, 0xd2, 0xe9, 0xf4, 0xc6, 0x01, 0x00, 0xec, 0xd8, 0xb1, 0x83, 0xe6, - 0xe6, 0xe6, 0x00, 0x00, 0x55, 0x55, 0xd9, 0xbb, 0x77, 0xaf, 0xb4, 0x43, - 0xa1, 0x50, 0x80, 0x01, 0x4d, 0xd3, 0x02, 0x0c, 0x68, 0x9a, 0xb6, 0xb1, - 0x14, 0xd8, 0xb6, 0x2d, 0x45, 0x98, 0xcb, 0xe5, 0x96, 0x6d, 0x28, 0x14, - 0x0a, 0x0c, 0x0e, 0x0e, 0xca, 0x80, 0xff, 0x19, 0x03, 0x9e, 0x06, 0x9a, - 0x9b, 0x9b, 0xa5, 0x4f, 0x08, 0x41, 0x28, 0x14, 0x92, 0x07, 0x7a, 0xb6, - 0x9f, 0x01, 0x55, 0x55, 0xd9, 0xb3, 0x67, 0x8f, 0xdc, 0xa3, 0xaa, 0xaa, - 0x64, 0xc0, 0x0f, 0x6c, 0x5d, 0x00, 0x80, 0xd4, 0x80, 0x77, 0xb8, 0xa7, - 0xf2, 0x47, 0x8f, 0x1e, 0x49, 0x3b, 0x93, 0xc9, 0x04, 0x40, 0xaf, 0xc4, - 0x40, 0x47, 0x47, 0xc7, 0xc6, 0x18, 0xf0, 0x52, 0xe0, 0x55, 0x81, 0xbf, - 0xf6, 0x55, 0x55, 0x25, 0x9d, 0x4e, 0x07, 0xec, 0xf6, 0xf6, 0x76, 0x09, - 0x40, 0xd3, 0xb4, 0x00, 0x03, 0x7e, 0x0d, 0xbc, 0x10, 0x03, 0xfe, 0x1a, - 0xf6, 0xbf, 0x07, 0xbc, 0x9e, 0xcb, 0xe5, 0x02, 0x1a, 0x18, 0x1f, 0x1b, - 0x23, 0x7b, 0xef, 0x1e, 0xf9, 0xfb, 0xf7, 0x79, 0x36, 0x32, 0xc2, 0x7c, - 0x2e, 0x47, 0x44, 0x51, 0x70, 0x34, 0x8d, 0xf0, 0xd6, 0xad, 0x28, 0x89, - 0x04, 0xe1, 0x73, 0xe7, 0xe8, 0x7c, 0xfb, 0xed, 0x8d, 0xa5, 0xc0, 0xaf, - 0x81, 0xea, 0x2a, 0x48, 0xa7, 0xd3, 0xd8, 0xa6, 0x49, 0xef, 0x57, 0x5f, - 0x31, 0x70, 0xfd, 0x3a, 0xfb, 0x1a, 0x1a, 0x78, 0x6b, 0xd7, 0x2e, 0x5a, - 0x3a, 0x3b, 0x89, 0x1d, 0x3a, 0x84, 0xeb, 0x38, 0x38, 0xa6, 0x49, 0x71, - 0x6e, 0x8e, 0xb1, 0x5c, 0x8e, 0xbe, 0x2b, 0x57, 0xe8, 0x2e, 0x97, 0x89, - 0xd4, 0xd5, 0x71, 0x1a, 0xc2, 0x37, 0xc1, 0x58, 0x17, 0x80, 0xc7, 0xc0, - 0x4a, 0xef, 0x81, 0x3f, 0x7b, 0x7a, 0xb8, 0xf3, 0xc9, 0x27, 0x1c, 0x88, - 0x46, 0xb9, 0x7a, 0xf2, 0x24, 0x9b, 0xc3, 0x61, 0x60, 0x29, 0xc7, 0xb6, - 0x61, 0xe0, 0x98, 0x26, 0x8e, 0x69, 0x12, 0x11, 0x82, 0xf6, 0x86, 0x06, - 0xda, 0xea, 0xea, 0x58, 0x58, 0x5c, 0xe4, 0xa7, 0x81, 0x01, 0xee, 0xc2, - 0x6f, 0x1f, 0xc0, 0xa9, 0xeb, 0x30, 0xb1, 0x2a, 0x00, 0x4f, 0x03, 0x4d, - 0x4d, 0x4d, 0x92, 0x01, 0x8f, 0x15, 0x61, 0x9a, 0xdc, 0xbd, 0x7a, 0x95, - 0x77, 0x3b, 0x3b, 0x39, 0xdc, 0xd6, 0x06, 0x95, 0x94, 0x39, 0xa6, 0x89, - 0x6d, 0x59, 0x32, 0xb8, 0x63, 0x9a, 0xd8, 0xbe, 0x71, 0xc8, 0xb2, 0x78, - 0xa7, 0xb5, 0x95, 0x44, 0x28, 0x74, 0xf8, 0xbb, 0xe1, 0xe1, 0x1f, 0x2f, - 0xc0, 0xd1, 0x2f, 0xa0, 0xb8, 0xae, 0x06, 0x3c, 0x06, 0x3c, 0x00, 0x43, - 0x37, 0x6f, 0x72, 0x28, 0x1e, 0xe7, 0x70, 0x47, 0x07, 0xe8, 0x3a, 0x8e, - 0x6d, 0xaf, 0x18, 0x30, 0x30, 0xe7, 0x03, 0xb6, 0x2f, 0x1e, 0x67, 0x68, - 0xdb, 0xb6, 0x74, 0xff, 0xcc, 0xcc, 0x47, 0xc0, 0xc7, 0x6b, 0xa6, 0xa0, - 0x5a, 0x03, 0x42, 0x08, 0xfa, 0x1f, 0x3e, 0xe4, 0xf5, 0xb3, 0x67, 0x71, - 0x2d, 0x0b, 0xbb, 0x54, 0x5a, 0x37, 0xe0, 0x32, 0x50, 0xae, 0xcb, 0x81, - 0x44, 0x82, 0xbe, 0x99, 0x99, 0xb3, 0xab, 0x02, 0xf0, 0xea, 0x75, 0x6a, - 0x6a, 0x4a, 0x8e, 0x3d, 0x16, 0xf4, 0xe9, 0x69, 0x6a, 0x6b, 0x6b, 0xb1, - 0x9e, 0x3e, 0xc5, 0x29, 0x95, 0xfe, 0x0d, 0x50, 0x09, 0x6a, 0x9b, 0x26, - 0xe3, 0x6f, 0xec, 0xe7, 0xdb, 0xf2, 0x6b, 0xe0, 0xba, 0x98, 0x86, 0x81, - 0x6e, 0x18, 0x58, 0x86, 0x81, 0x6e, 0x98, 0x38, 0xb6, 0x49, 0xab, 0x53, - 0x44, 0x3c, 0xfc, 0xf4, 0x25, 0x40, 0x59, 0x93, 0x01, 0x4f, 0x03, 0x32, - 0xff, 0x42, 0x70, 0xdf, 0x75, 0x79, 0x92, 0xcd, 0xb2, 0x79, 0xcb, 0x16, - 0xec, 0x72, 0x79, 0xd9, 0x0d, 0x6d, 0xd7, 0xa6, 0xfc, 0x7e, 0x03, 0xdb, - 0xba, 0x8b, 0xfc, 0xb9, 0x98, 0x46, 0xd7, 0x0d, 0x0c, 0x43, 0x47, 0xd7, - 0x0d, 0x74, 0xdd, 0x20, 0xa2, 0xb9, 0x44, 0x67, 0x17, 0x01, 0x54, 0x20, - 0xba, 0xaa, 0x06, 0x84, 0x10, 0x4c, 0x4e, 0x4e, 0x06, 0xde, 0x84, 0x00, - 0x4a, 0x2c, 0x46, 0x6f, 0x4f, 0x0f, 0xc9, 0x33, 0x67, 0x50, 0x66, 0x66, - 0xb0, 0xab, 0x58, 0x28, 0xbe, 0x12, 0x27, 0x17, 0xce, 0xb2, 0x6b, 0xff, - 0xdf, 0xf4, 0xf6, 0xec, 0xc2, 0xb2, 0xec, 0x4a, 0xb7, 0x08, 0x6b, 0xd0, - 0x1e, 0xd1, 0xc9, 0x67, 0xc6, 0x88, 0x43, 0x1e, 0x88, 0x28, 0x6b, 0xa5, - 0xa0, 0xa9, 0xa9, 0x89, 0x96, 0x96, 0x16, 0xd9, 0x5b, 0x5b, 0x5b, 0xa9, - 0xdd, 0xb7, 0x8f, 0x81, 0xc9, 0x49, 0xfe, 0xf8, 0xe1, 0x07, 0x4a, 0xc9, - 0x24, 0x6e, 0x32, 0xb9, 0xf4, 0xe9, 0x5d, 0x2e, 0x63, 0x95, 0x4a, 0x64, - 0x0e, 0x0b, 0xa6, 0xf5, 0x31, 0x1e, 0xef, 0x78, 0xcc, 0x2b, 0xa1, 0xaf, - 0x97, 0x2e, 0xe4, 0xda, 0x6c, 0x8f, 0x6f, 0xe2, 0xb5, 0x58, 0x99, 0xc1, - 0xc7, 0x05, 0xe2, 0x7d, 0x3f, 0x53, 0x82, 0x3b, 0x80, 0xbd, 0x6a, 0x0a, - 0x5c, 0xd7, 0x5d, 0x91, 0x01, 0xf7, 0xe0, 0x41, 0x9e, 0xf7, 0xf5, 0x71, - 0x6f, 0x74, 0x94, 0x85, 0x62, 0x91, 0x9d, 0xbb, 0x77, 0xb3, 0xbd, 0xad, - 0x8d, 0x70, 0xa9, 0x84, 0x3d, 0x37, 0x4b, 0xf6, 0x48, 0x84, 0xb2, 0x55, - 0xc4, 0xb2, 0x75, 0xa2, 0x6f, 0x3d, 0xe0, 0xe5, 0xde, 0xd3, 0xd4, 0x1b, - 0x30, 0x3d, 0xd8, 0x47, 0xcf, 0xa2, 0xc6, 0x9e, 0xde, 0x6e, 0xc8, 0x8f, - 0x3c, 0xfb, 0x0b, 0x3e, 0x07, 0x16, 0xd6, 0x2c, 0xc3, 0x8b, 0x17, 0x2f, - 0x06, 0x2a, 0x40, 0x08, 0x81, 0x7d, 0xe2, 0x04, 0x03, 0x6f, 0xbe, 0xc9, - 0xed, 0xcb, 0x97, 0x79, 0x9e, 0xcf, 0xb3, 0xd7, 0x30, 0x98, 0xe8, 0xef, - 0x67, 0x53, 0x34, 0x8a, 0x95, 0x8e, 0x32, 0xf7, 0x57, 0x8c, 0x90, 0x02, - 0xb8, 0xb0, 0x50, 0xd6, 0x31, 0xfe, 0xee, 0xe2, 0xfb, 0x85, 0xa3, 0x34, - 0x17, 0xb3, 0xec, 0xef, 0xbd, 0x85, 0x9e, 0x1b, 0x99, 0x7e, 0x00, 0x1f, - 0x3e, 0x80, 0x7e, 0xa0, 0x5c, 0x0d, 0x20, 0xa6, 0x28, 0xca, 0x9c, 0xeb, - 0xba, 0xb5, 0xf5, 0xf5, 0xff, 0x7e, 0xc2, 0x57, 0x7f, 0x54, 0x1e, 0x3a, - 0x76, 0x8c, 0x86, 0xdb, 0xb7, 0xf9, 0xe5, 0xb3, 0xcf, 0xf8, 0xbd, 0xbb, - 0x9b, 0x58, 0x28, 0x44, 0x52, 0xd7, 0x51, 0x1f, 0x2f, 0x30, 0x3e, 0xfe, - 0x0c, 0x67, 0x93, 0xc0, 0x71, 0x5d, 0x42, 0x33, 0x16, 0x4a, 0x5f, 0x3f, - 0xaf, 0x3e, 0xfc, 0x15, 0xa7, 0x58, 0xa0, 0xb0, 0x75, 0xab, 0x75, 0x07, - 0x2e, 0x66, 0xa1, 0x17, 0x78, 0x02, 0xc1, 0xbf, 0x66, 0x31, 0x20, 0x71, - 0xe4, 0xc8, 0x91, 0xf7, 0x5a, 0x5a, 0x5a, 0x3e, 0x05, 0x36, 0x55, 0xb3, - 0xe3, 0x6f, 0xae, 0xeb, 0x62, 0x18, 0x06, 0xd6, 0xfc, 0x3c, 0x35, 0x93, - 0x93, 0x44, 0x66, 0x67, 0xa9, 0x99, 0x9f, 0x47, 0x33, 0x0c, 0x14, 0xcb, - 0xc2, 0xd1, 0x34, 0xcc, 0x50, 0x08, 0x3d, 0x1a, 0xa5, 0x14, 0x8f, 0x53, - 0xda, 0xbe, 0xdd, 0x18, 0xcd, 0xe5, 0xbe, 0x18, 0x1c, 0x1c, 0xfc, 0x06, - 0x18, 0x07, 0xb2, 0x80, 0xe3, 0x07, 0x10, 0x06, 0x92, 0xc0, 0x36, 0xa0, - 0x1e, 0xa8, 0x61, 0xa9, 0x54, 0xd6, 0x6b, 0x0a, 0x10, 0x01, 0x36, 0x57, - 0xf6, 0x68, 0x95, 0x39, 0x00, 0x87, 0xa5, 0x1f, 0x9e, 0xa7, 0x80, 0x0e, - 0x3c, 0x03, 0x66, 0x59, 0xfa, 0x1d, 0x98, 0xaf, 0x66, 0xc0, 0x6b, 0x35, - 0x95, 0x03, 0xc3, 0xab, 0xf8, 0xd7, 0x6b, 0xa2, 0xd2, 0xbd, 0xaf, 0x0f, - 0xb7, 0x02, 0xc4, 0xac, 0x80, 0xd0, 0x7d, 0x3e, 0xfe, 0x01, 0x9f, 0x1e, - 0x98, 0x64, 0x1e, 0x77, 0xb2, 0x47, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, - 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82, + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, + 0x08, 0x06, 0x00, 0x00, 0x00, 0x73, 0x7a, 0x7a, 0xf4, 0x00, 0x00, 0x00, + 0x04, 0x73, 0x42, 0x49, 0x54, 0x08, 0x08, 0x08, 0x08, 0x7c, 0x08, 0x64, + 0x88, 0x00, 0x00, 0x05, 0xa5, 0x49, 0x44, 0x41, 0x54, 0x58, 0x85, 0xe5, + 0x97, 0xcd, 0x6b, 0x54, 0x57, 0x18, 0xc6, 0x7f, 0xe7, 0xde, 0x3b, 0x93, + 0x51, 0x67, 0x92, 0x8c, 0x66, 0x32, 0x6a, 0x26, 0x4d, 0x94, 0x18, 0x27, + 0xa9, 0x50, 0xbf, 0x5a, 0x2d, 0x94, 0x76, 0xd1, 0x85, 0x05, 0x41, 0x8b, + 0x60, 0x75, 0x53, 0x70, 0x21, 0x0a, 0x55, 0xba, 0x71, 0x51, 0xa8, 0xb4, + 0x7f, 0x40, 0xd7, 0xd5, 0x45, 0xa5, 0x90, 0x6e, 0x5a, 0xa8, 0x20, 0x34, + 0x15, 0x0a, 0x6d, 0xa1, 0x25, 0x58, 0x2c, 0xa4, 0xd6, 0x42, 0x4d, 0xa2, + 0xf9, 0x20, 0xc9, 0xc4, 0x64, 0x3e, 0x4c, 0xa2, 0x13, 0x93, 0xcc, 0xdc, + 0xef, 0x2e, 0x32, 0xf7, 0xf4, 0xde, 0xc9, 0x97, 0x59, 0x74, 0xd5, 0x03, + 0x87, 0x7b, 0xde, 0xf3, 0x9e, 0x73, 0xde, 0xe7, 0x3c, 0xef, 0xf3, 0xde, + 0xb9, 0x03, 0xff, 0xf7, 0x26, 0xaa, 0x27, 0xae, 0x5d, 0xbb, 0x76, 0x4a, + 0xd3, 0xb4, 0x2e, 0x20, 0xa6, 0xaa, 0x2a, 0x8a, 0xa2, 0xe0, 0x38, 0x0e, + 0xb6, 0x6d, 0xcb, 0x6e, 0x59, 0x96, 0x7c, 0xfa, 0xc7, 0x6b, 0xcd, 0x01, + 0xcf, 0x2d, 0xcb, 0x3a, 0xd7, 0xd5, 0xd5, 0x75, 0xcb, 0x1f, 0x4f, 0x5b, + 0x86, 0x48, 0x88, 0x2f, 0xcf, 0x9f, 0x3f, 0x1f, 0xab, 0x8c, 0xe5, 0xbc, + 0xeb, 0xba, 0x81, 0x75, 0x7e, 0xfb, 0x05, 0xc7, 0xb1, 0x4b, 0x97, 0x2e, + 0x7d, 0x09, 0xac, 0x0d, 0xc0, 0xb6, 0xed, 0x7a, 0x80, 0xd1, 0xd1, 0x51, + 0x84, 0x10, 0x12, 0x84, 0xff, 0xe9, 0x07, 0xe6, 0x1f, 0xaf, 0x64, 0x7b, + 0x40, 0x1a, 0x1b, 0x1b, 0x31, 0x0c, 0xa3, 0xbe, 0xda, 0xb7, 0x0c, 0x80, + 0xeb, 0xba, 0x32, 0xc8, 0x8d, 0x1b, 0x37, 0x48, 0x24, 0x12, 0x81, 0xa0, + 0xf9, 0x7c, 0x9e, 0x64, 0x32, 0x29, 0xed, 0x42, 0xa1, 0x40, 0x32, 0x99, + 0x94, 0xfb, 0x0b, 0x85, 0x02, 0x8d, 0x8d, 0x8d, 0xd2, 0x9e, 0x9e, 0x9e, + 0xe6, 0xc2, 0x85, 0x0b, 0xcb, 0x40, 0xad, 0x0a, 0xc0, 0x71, 0x1c, 0x79, + 0x93, 0x54, 0x2a, 0x45, 0x2a, 0x95, 0x0a, 0xdc, 0xaa, 0xa6, 0xa6, 0x26, + 0x30, 0x17, 0x89, 0x44, 0x48, 0xa5, 0x52, 0x72, 0x8f, 0xdf, 0xf6, 0xfc, + 0xde, 0xda, 0xea, 0x34, 0xae, 0x0a, 0xc0, 0x63, 0xc1, 0x3b, 0xb4, 0xfa, + 0x59, 0x9d, 0x9a, 0x95, 0x68, 0xf7, 0xb7, 0xb5, 0xfc, 0x2b, 0x69, 0x40, + 0x8e, 0xa7, 0xa6, 0xa6, 0xb0, 0x6d, 0x3b, 0x10, 0xac, 0x50, 0x28, 0x04, + 0xd6, 0xe4, 0xf3, 0x79, 0x4c, 0xd3, 0x94, 0xfe, 0x7c, 0x3e, 0xef, 0xa9, + 0x5e, 0xfa, 0x37, 0xcc, 0x80, 0x77, 0xd8, 0xce, 0x9d, 0x3b, 0x03, 0xf4, + 0x0a, 0x21, 0xd0, 0x34, 0x8d, 0xe3, 0xc7, 0x8f, 0xcb, 0x43, 0x47, 0x46, + 0x46, 0x68, 0x6b, 0x6b, 0x93, 0x6b, 0x86, 0x87, 0x87, 0xa5, 0x0d, 0x30, + 0x3c, 0x3c, 0x8c, 0xa2, 0x28, 0x2f, 0x0e, 0xc0, 0xbb, 0x9d, 0x10, 0x82, + 0x6c, 0x36, 0x8b, 0xe3, 0x38, 0xcb, 0x44, 0x38, 0x34, 0x34, 0x24, 0xd7, + 0x4f, 0x4c, 0x4c, 0x04, 0x40, 0x67, 0x32, 0x19, 0x69, 0x03, 0x64, 0x32, + 0x19, 0xd2, 0xe9, 0xf4, 0xc6, 0x01, 0x00, 0xec, 0xd8, 0xb1, 0x83, 0xe6, + 0xe6, 0xe6, 0x00, 0x00, 0x55, 0x55, 0xd9, 0xbb, 0x77, 0xaf, 0xb4, 0x43, + 0xa1, 0x50, 0x80, 0x01, 0x4d, 0xd3, 0x02, 0x0c, 0x68, 0x9a, 0xb6, 0xb1, + 0x14, 0xd8, 0xb6, 0x2d, 0x45, 0x98, 0xcb, 0xe5, 0x96, 0x6d, 0x28, 0x14, + 0x0a, 0x0c, 0x0e, 0x0e, 0xca, 0x80, 0xff, 0x19, 0x03, 0x9e, 0x06, 0x9a, + 0x9b, 0x9b, 0xa5, 0x4f, 0x08, 0x41, 0x28, 0x14, 0x92, 0x07, 0x7a, 0xb6, + 0x9f, 0x01, 0x55, 0x55, 0xd9, 0xb3, 0x67, 0x8f, 0xdc, 0xa3, 0xaa, 0xaa, + 0x64, 0xc0, 0x0f, 0x6c, 0x5d, 0x00, 0x80, 0xd4, 0x80, 0x77, 0xb8, 0xa7, + 0xf2, 0x47, 0x8f, 0x1e, 0x49, 0x3b, 0x93, 0xc9, 0x04, 0x40, 0xaf, 0xc4, + 0x40, 0x47, 0x47, 0xc7, 0xc6, 0x18, 0xf0, 0x52, 0xe0, 0x55, 0x81, 0xbf, + 0xf6, 0x55, 0x55, 0x25, 0x9d, 0x4e, 0x07, 0xec, 0xf6, 0xf6, 0x76, 0x09, + 0x40, 0xd3, 0xb4, 0x00, 0x03, 0x7e, 0x0d, 0xbc, 0x10, 0x03, 0xfe, 0x1a, + 0xf6, 0xbf, 0x07, 0xbc, 0x9e, 0xcb, 0xe5, 0x02, 0x1a, 0x18, 0x1f, 0x1b, + 0x23, 0x7b, 0xef, 0x1e, 0xf9, 0xfb, 0xf7, 0x79, 0x36, 0x32, 0xc2, 0x7c, + 0x2e, 0x47, 0x44, 0x51, 0x70, 0x34, 0x8d, 0xf0, 0xd6, 0xad, 0x28, 0x89, + 0x04, 0xe1, 0x73, 0xe7, 0xe8, 0x7c, 0xfb, 0xed, 0x8d, 0xa5, 0xc0, 0xaf, + 0x81, 0xea, 0x2a, 0x48, 0xa7, 0xd3, 0xd8, 0xa6, 0x49, 0xef, 0x57, 0x5f, + 0x31, 0x70, 0xfd, 0x3a, 0xfb, 0x1a, 0x1a, 0x78, 0x6b, 0xd7, 0x2e, 0x5a, + 0x3a, 0x3b, 0x89, 0x1d, 0x3a, 0x84, 0xeb, 0x38, 0x38, 0xa6, 0x49, 0x71, + 0x6e, 0x8e, 0xb1, 0x5c, 0x8e, 0xbe, 0x2b, 0x57, 0xe8, 0x2e, 0x97, 0x89, + 0xd4, 0xd5, 0x71, 0x1a, 0xc2, 0x37, 0xc1, 0x58, 0x17, 0x80, 0xc7, 0xc0, + 0x4a, 0xef, 0x81, 0x3f, 0x7b, 0x7a, 0xb8, 0xf3, 0xc9, 0x27, 0x1c, 0x88, + 0x46, 0xb9, 0x7a, 0xf2, 0x24, 0x9b, 0xc3, 0x61, 0x60, 0x29, 0xc7, 0xb6, + 0x61, 0xe0, 0x98, 0x26, 0x8e, 0x69, 0x12, 0x11, 0x82, 0xf6, 0x86, 0x06, + 0xda, 0xea, 0xea, 0x58, 0x58, 0x5c, 0xe4, 0xa7, 0x81, 0x01, 0xee, 0xc2, + 0x6f, 0x1f, 0xc0, 0xa9, 0xeb, 0x30, 0xb1, 0x2a, 0x00, 0x4f, 0x03, 0x4d, + 0x4d, 0x4d, 0x92, 0x01, 0x8f, 0x15, 0x61, 0x9a, 0xdc, 0xbd, 0x7a, 0x95, + 0x77, 0x3b, 0x3b, 0x39, 0xdc, 0xd6, 0x06, 0x95, 0x94, 0x39, 0xa6, 0x89, + 0x6d, 0x59, 0x32, 0xb8, 0x63, 0x9a, 0xd8, 0xbe, 0x71, 0xc8, 0xb2, 0x78, + 0xa7, 0xb5, 0x95, 0x44, 0x28, 0x74, 0xf8, 0xbb, 0xe1, 0xe1, 0x1f, 0x2f, + 0xc0, 0xd1, 0x2f, 0xa0, 0xb8, 0xae, 0x06, 0x3c, 0x06, 0x3c, 0x00, 0x43, + 0x37, 0x6f, 0x72, 0x28, 0x1e, 0xe7, 0x70, 0x47, 0x07, 0xe8, 0x3a, 0x8e, + 0x6d, 0xaf, 0x18, 0x30, 0x30, 0xe7, 0x03, 0xb6, 0x2f, 0x1e, 0x67, 0x68, + 0xdb, 0xb6, 0x74, 0xff, 0xcc, 0xcc, 0x47, 0xc0, 0xc7, 0x6b, 0xa6, 0xa0, + 0x5a, 0x03, 0x42, 0x08, 0xfa, 0x1f, 0x3e, 0xe4, 0xf5, 0xb3, 0x67, 0x71, + 0x2d, 0x0b, 0xbb, 0x54, 0x5a, 0x37, 0xe0, 0x32, 0x50, 0xae, 0xcb, 0x81, + 0x44, 0x82, 0xbe, 0x99, 0x99, 0xb3, 0xab, 0x02, 0xf0, 0xea, 0x75, 0x6a, + 0x6a, 0x4a, 0x8e, 0x3d, 0x16, 0xf4, 0xe9, 0x69, 0x6a, 0x6b, 0x6b, 0xb1, + 0x9e, 0x3e, 0xc5, 0x29, 0x95, 0xfe, 0x0d, 0x50, 0x09, 0x6a, 0x9b, 0x26, + 0xe3, 0x6f, 0xec, 0xe7, 0xdb, 0xf2, 0x6b, 0xe0, 0xba, 0x98, 0x86, 0x81, + 0x6e, 0x18, 0x58, 0x86, 0x81, 0x6e, 0x98, 0x38, 0xb6, 0x49, 0xab, 0x53, + 0x44, 0x3c, 0xfc, 0xf4, 0x25, 0x40, 0x59, 0x93, 0x01, 0x4f, 0x03, 0x32, + 0xff, 0x42, 0x70, 0xdf, 0x75, 0x79, 0x92, 0xcd, 0xb2, 0x79, 0xcb, 0x16, + 0xec, 0x72, 0x79, 0xd9, 0x0d, 0x6d, 0xd7, 0xa6, 0xfc, 0x7e, 0x03, 0xdb, + 0xba, 0x8b, 0xfc, 0xb9, 0x98, 0x46, 0xd7, 0x0d, 0x0c, 0x43, 0x47, 0xd7, + 0x0d, 0x74, 0xdd, 0x20, 0xa2, 0xb9, 0x44, 0x67, 0x17, 0x01, 0x54, 0x20, + 0xba, 0xaa, 0x06, 0x84, 0x10, 0x4c, 0x4e, 0x4e, 0x06, 0xde, 0x84, 0x00, + 0x4a, 0x2c, 0x46, 0x6f, 0x4f, 0x0f, 0xc9, 0x33, 0x67, 0x50, 0x66, 0x66, + 0xb0, 0xab, 0x58, 0x28, 0xbe, 0x12, 0x27, 0x17, 0xce, 0xb2, 0x6b, 0xff, + 0xdf, 0xf4, 0xf6, 0xec, 0xc2, 0xb2, 0xec, 0x4a, 0xb7, 0x08, 0x6b, 0xd0, + 0x1e, 0xd1, 0xc9, 0x67, 0xc6, 0x88, 0x43, 0x1e, 0x88, 0x28, 0x6b, 0xa5, + 0xa0, 0xa9, 0xa9, 0x89, 0x96, 0x96, 0x16, 0xd9, 0x5b, 0x5b, 0x5b, 0xa9, + 0xdd, 0xb7, 0x8f, 0x81, 0xc9, 0x49, 0xfe, 0xf8, 0xe1, 0x07, 0x4a, 0xc9, + 0x24, 0x6e, 0x32, 0xb9, 0xf4, 0xe9, 0x5d, 0x2e, 0x63, 0x95, 0x4a, 0x64, + 0x0e, 0x0b, 0xa6, 0xf5, 0x31, 0x1e, 0xef, 0x78, 0xcc, 0x2b, 0xa1, 0xaf, + 0x97, 0x2e, 0xe4, 0xda, 0x6c, 0x8f, 0x6f, 0xe2, 0xb5, 0x58, 0x99, 0xc1, + 0xc7, 0x05, 0xe2, 0x7d, 0x3f, 0x53, 0x82, 0x3b, 0x80, 0xbd, 0x6a, 0x0a, + 0x5c, 0xd7, 0x5d, 0x91, 0x01, 0xf7, 0xe0, 0x41, 0x9e, 0xf7, 0xf5, 0x71, + 0x6f, 0x74, 0x94, 0x85, 0x62, 0x91, 0x9d, 0xbb, 0x77, 0xb3, 0xbd, 0xad, + 0x8d, 0x70, 0xa9, 0x84, 0x3d, 0x37, 0x4b, 0xf6, 0x48, 0x84, 0xb2, 0x55, + 0xc4, 0xb2, 0x75, 0xa2, 0x6f, 0x3d, 0xe0, 0xe5, 0xde, 0xd3, 0xd4, 0x1b, + 0x30, 0x3d, 0xd8, 0x47, 0xcf, 0xa2, 0xc6, 0x9e, 0xde, 0x6e, 0xc8, 0x8f, + 0x3c, 0xfb, 0x0b, 0x3e, 0x07, 0x16, 0xd6, 0x2c, 0xc3, 0x8b, 0x17, 0x2f, + 0x06, 0x2a, 0x40, 0x08, 0x81, 0x7d, 0xe2, 0x04, 0x03, 0x6f, 0xbe, 0xc9, + 0xed, 0xcb, 0x97, 0x79, 0x9e, 0xcf, 0xb3, 0xd7, 0x30, 0x98, 0xe8, 0xef, + 0x67, 0x53, 0x34, 0x8a, 0x95, 0x8e, 0x32, 0xf7, 0x57, 0x8c, 0x90, 0x02, + 0xb8, 0xb0, 0x50, 0xd6, 0x31, 0xfe, 0xee, 0xe2, 0xfb, 0x85, 0xa3, 0x34, + 0x17, 0xb3, 0xec, 0xef, 0xbd, 0x85, 0x9e, 0x1b, 0x99, 0x7e, 0x00, 0x1f, + 0x3e, 0x80, 0x7e, 0xa0, 0x5c, 0x0d, 0x20, 0xa6, 0x28, 0xca, 0x9c, 0xeb, + 0xba, 0xb5, 0xf5, 0xf5, 0xff, 0x7e, 0xc2, 0x57, 0x7f, 0x54, 0x1e, 0x3a, + 0x76, 0x8c, 0x86, 0xdb, 0xb7, 0xf9, 0xe5, 0xb3, 0xcf, 0xf8, 0xbd, 0xbb, + 0x9b, 0x58, 0x28, 0x44, 0x52, 0xd7, 0x51, 0x1f, 0x2f, 0x30, 0x3e, 0xfe, + 0x0c, 0x67, 0x93, 0xc0, 0x71, 0x5d, 0x42, 0x33, 0x16, 0x4a, 0x5f, 0x3f, + 0xaf, 0x3e, 0xfc, 0x15, 0xa7, 0x58, 0xa0, 0xb0, 0x75, 0xab, 0x75, 0x07, + 0x2e, 0x66, 0xa1, 0x17, 0x78, 0x02, 0xc1, 0xbf, 0x66, 0x31, 0x20, 0x71, + 0xe4, 0xc8, 0x91, 0xf7, 0x5a, 0x5a, 0x5a, 0x3e, 0x05, 0x36, 0x55, 0xb3, + 0xe3, 0x6f, 0xae, 0xeb, 0x62, 0x18, 0x06, 0xd6, 0xfc, 0x3c, 0x35, 0x93, + 0x93, 0x44, 0x66, 0x67, 0xa9, 0x99, 0x9f, 0x47, 0x33, 0x0c, 0x14, 0xcb, + 0xc2, 0xd1, 0x34, 0xcc, 0x50, 0x08, 0x3d, 0x1a, 0xa5, 0x14, 0x8f, 0x53, + 0xda, 0xbe, 0xdd, 0x18, 0xcd, 0xe5, 0xbe, 0x18, 0x1c, 0x1c, 0xfc, 0x06, + 0x18, 0x07, 0xb2, 0x80, 0xe3, 0x07, 0x10, 0x06, 0x92, 0xc0, 0x36, 0xa0, + 0x1e, 0xa8, 0x61, 0xa9, 0x54, 0xd6, 0x6b, 0x0a, 0x10, 0x01, 0x36, 0x57, + 0xf6, 0x68, 0x95, 0x39, 0x00, 0x87, 0xa5, 0x1f, 0x9e, 0xa7, 0x80, 0x0e, + 0x3c, 0x03, 0x66, 0x59, 0xfa, 0x1d, 0x98, 0xaf, 0x66, 0xc0, 0x6b, 0x35, + 0x95, 0x03, 0xc3, 0xab, 0xf8, 0xd7, 0x6b, 0xa2, 0xd2, 0xbd, 0xaf, 0x0f, + 0xb7, 0x02, 0xc4, 0xac, 0x80, 0xd0, 0x7d, 0x3e, 0xfe, 0x01, 0x9f, 0x1e, + 0x98, 0x64, 0x1e, 0x77, 0xb2, 0x47, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, + 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82, } diff --git a/yz_repaint_test.go b/yz_repaint_test.go index c996abf..8fca64b 100644 --- a/yz_repaint_test.go +++ b/yz_repaint_test.go @@ -10,20 +10,20 @@ import ( ) type repainter struct { - img *image.RGBA - area Area - x TextField - y TextField - width TextField - height TextField - repaint Button - all Button - grid Grid + img *image.RGBA + area Area + x TextField + y TextField + width TextField + height TextField + repaint Button + all Button + grid Grid - xv int - yv int - wv int - hv int + xv int + yv int + wv int + hv int } func newRepainter(times int) *repainter { @@ -55,7 +55,7 @@ func newRepainter(times int) *repainter { return r } -func (r *repainter) Paint(rect image.Rectangle) *image.RGBA { +func (r *repainter) Paint(rect image.Rectangle) *image.RGBA { return r.img.SubImage(rect).(*image.RGBA) } @@ -116,7 +116,7 @@ func (r *repainter) alter(rect image.Rectangle, c color.Color) { } func (r *repainter) dorect() { - rect := image.Rect(r.xv, r.yv, r.xv + r.wv, r.yv + r.hv) + rect := image.Rect(r.xv, r.yv, r.xv+r.wv, r.yv+r.hv) r.alter(rect, color.RGBA{255, 0, 255, 128}) r.area.Repaint(rect) } @@ -5,74 +5,76 @@ package ui // This file is called zz_test.go to keep it separate from the other files in this package (and because go test won't accept just test.go) import ( - "fmt" "flag" - "reflect" - "testing" + "fmt" "image" "image/color" "image/draw" - "time" + "reflect" "strings" + "testing" + "time" ) var closeOnClick = flag.Bool("close", false, "close on click") var smallWindow = flag.Bool("small", false, "open a small window (test Mac OS X initial control sizing)") type dtype struct { - Name string - Address string + Name string + Address string } + var ddata = []dtype{ - { "alpha", "beta" }, - { "gamma", "delta" }, - { "epsilon", "zeta" }, - { "eta", "theta" }, - { "iota", "kappa" }, + {"alpha", "beta"}, + {"gamma", "delta"}, + {"epsilon", "zeta"}, + {"eta", "theta"}, + {"iota", "kappa"}, } type testwin struct { - t Tab - w Window - repainter *repainter - fe *ForeignEvent - festack Stack - festart Button - felabel Label - festop Button - vedit TextField - openbtn Button - fnlabel Label - icons []icon - il ImageList - icontbl Table - group2 Group - group Group - simpleGrid SimpleGrid - nt Tab - a Area - spw Stack - sph Stack - s Stack - l Label - table Table - b Button - c Checkbox - e TextField - e2 TextField + t Tab + w Window + repainter *repainter + fe *ForeignEvent + festack Stack + festart Button + felabel Label + festop Button + vedit TextField + openbtn Button + fnlabel Label + icons []icon + il ImageList + icontbl Table + group2 Group + group Group + simpleGrid SimpleGrid + nt Tab + a Area + spw Stack + sph Stack + s Stack + l Label + table Table + b Button + c Checkbox + e TextField + e2 TextField - wsmall Window + wsmall Window } type areaHandler struct { - handled bool + handled bool } + func (a *areaHandler) Paint(r image.Rectangle) *image.RGBA { i := image.NewRGBA(r) - draw.Draw(i, r, &image.Uniform{color.RGBA{128,0,128,255}}, image.ZP, draw.Src) + draw.Draw(i, r, &image.Uniform{color.RGBA{128, 0, 128, 255}}, image.ZP, draw.Src) return i } -func (a *areaHandler) Mouse(me MouseEvent) { fmt.Printf("%#v\n", me) } +func (a *areaHandler) Mouse(me MouseEvent) { fmt.Printf("%#v\n", me) } func (a *areaHandler) Key(ke KeyEvent) bool { fmt.Printf("%#v %q\n", ke, ke.Key); return a.handled } func (tw *testwin) openFile(fn string) { @@ -145,7 +147,7 @@ func (tw *testwin) make(done chan struct{}) { done <- struct{}{} return true }) - tw.icons, tw.il = readIcons() // repainter uses these + tw.icons, tw.il = readIcons() // repainter uses these tw.repainter = newRepainter(15) tw.t.Append("Repaint", tw.repainter.grid) tw.addfe() @@ -192,7 +194,7 @@ func (tw *testwin) make(done chan struct{}) { NewCheckbox("hello"), NewTextField(), NewPasswordField(), - NewTable(reflect.TypeOf(struct{A,B,C int}{})), + NewTable(reflect.TypeOf(struct{ A, B, C int }{})), NewStandaloneLabel("hello")) tw.t.Append("Pref Width", tw.spw) tw.sph = NewVerticalStack( @@ -200,7 +202,7 @@ func (tw *testwin) make(done chan struct{}) { NewCheckbox("hello"), NewTextField(), NewPasswordField(), - NewTable(reflect.TypeOf(struct{A,B,C int}{})), + NewTable(reflect.TypeOf(struct{ A, B, C int }{})), NewStandaloneLabel("hello ÉÀÔ")) tw.t.Append("Pref Height", tw.sph) stack1 := NewHorizontalStack(NewLabel("Test"), NewTextField()) @@ -208,7 +210,7 @@ func (tw *testwin) make(done chan struct{}) { stack2 := NewHorizontalStack(NewLabel("ÉÀÔ"), NewTextField()) stack2.SetStretchy(1) stack3 := NewHorizontalStack(NewLabel("Test 2"), - NewTable(reflect.TypeOf(struct{A,B,C int}{}))) + NewTable(reflect.TypeOf(struct{ A, B, C int }{}))) stack3.SetStretchy(1) tw.s = NewVerticalStack(stack1, stack2, stack3) tw.s.SetStretchy(2) |
