goget-ubuntu-touch-0.2+14.04.20140416.2/0000755000015301777760000000000012323553204017656 5ustar pbusernogroup00000000000000goget-ubuntu-touch-0.2+14.04.20140416.2/devices/0000755000015301777760000000000012323553204021300 5ustar pbusernogroup00000000000000goget-ubuntu-touch-0.2+14.04.20140416.2/devices/types.go0000644000015301777760000000211012323552652022773 0ustar pbusernogroup00000000000000// // Helpers to talk to devices that support ADB or Fastboot // // Copyright (c) 2013 Canonical Ltd. // // Written by Sergio Schvezov // package devices // This program is free software: you can redistribute it and/or modify it // under the terms of the GNU General Public License version 3, as published // by the Free Software Foundation. // // This program is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranties of // MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR // PURPOSE. See the GNU General Public License for more details. // // You should have received a copy of the GNU General Public License along // with this program. If not, see . type deviceCapabilities interface { Reboot() } type device struct { serial, deviceName string params []string } type AndroidDebugBridge struct { deviceCapabilities device } type UbuntuDebugBridge struct { AndroidDebugBridge } type Fastboot struct { deviceCapabilities device } goget-ubuntu-touch-0.2+14.04.20140416.2/devices/fastboot.go0000644000015301777760000000550112323552652023457 0ustar pbusernogroup00000000000000// // Helpers to talk to devices that support ADB or Fastboot // // Copyright (c) 2013 Canonical Ltd. // // Written by Sergio Schvezov // package devices // This program is free software: you can redistribute it and/or modify it // under the terms of the GNU General Public License version 3, as published // by the Free Software Foundation. // // This program is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranties of // MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR // PURPOSE. See the GNU General Public License for more details. // // You should have received a copy of the GNU General Public License along // with this program. If not, see . import ( "os/exec" "strings" ) var fastbootCommand string func init() { fastbootCommand = "fastboot" } // Sets the serial device to connect to for future calls to *fastboot func (fastboot *Fastboot) SetSerial(serial string) { fastboot.serial = serial fastboot.params = append(fastboot.params, []string{"-s", serial}...) } // Reboot restarts the system from the Android bootloader func (fastboot Fastboot) Reboot() (err error) { cmd := append(fastboot.params, []string{"reboot"}...) err = exec.Command(fastbootCommand, cmd...).Run() return err } // Boot boots the system from the Android bootloader from the boot partition func (fastboot Fastboot) Boot() (err error) { cmd := append(fastboot.params, []string{"boot"}...) err = exec.Command(fastbootCommand, cmd...).Run() return err } // BootImage boots the system from the Android specified boot image func (fastboot Fastboot) BootImage(image string) (err error) { cmd := append(fastboot.params, []string{"boot", image}...) err = exec.Command(fastbootCommand, cmd...).Run() return err } // Flash flashes the specified image to partition on the device func (fastboot Fastboot) Flash(partition, image string) (err error) { cmd := append(fastboot.params, []string{"flash", partition, image}...) err = exec.Command(fastbootCommand, cmd...).Run() return err } // Format formats the specified partition on the device func (fastboot Fastboot) Format(partition string) (err error) { cmd := append(fastboot.params, []string{"format", partition}...) err = exec.Command(fastbootCommand, cmd...).Run() return err } // GetDevice obtains the device name from fastboot func (fastboot Fastboot) GetDevice() (device string, err error) { cmd := append(fastboot.params, []string{"getvar", "product"}...) deviceOutput, err := exec.Command(fastbootCommand, cmd...).CombinedOutput() lines := strings.Split(string(deviceOutput), "\n") for _, line := range(lines) { fields := strings.Split(line, ":") if strings.Contains(fields[0], "product") { device = strings.TrimSpace(fields[1]) break } } return device, err } goget-ubuntu-touch-0.2+14.04.20140416.2/devices/adb.go0000644000015301777760000001064512323552662022372 0ustar pbusernogroup00000000000000// Copyright (c) 2013 Canonical Ltd. // // Written by Sergio Schvezov // package devices import ( "errors" "fmt" "os/exec" "strings" "time" ) // This program is free software: you can redistribute it and/or modify it // under the terms of the GNU General Public License version 3, as published // by the Free Software Foundation. // // This program is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranties of // MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR // PURPOSE. See the GNU General Public License for more details. // // You should have received a copy of the GNU General Public License along // with this program. If not, see . var adbCommand string func init() { // adbCommand = "adb.exe" adbCommand = "adb" } // Returns an AndroidDebugBridge while ensuring the server is started func NewAndroidDebugBridge() (adb AndroidDebugBridge, err error) { err = exec.Command(adbCommand, "start-server").Run() return adb, err } // Returns an AndroidDebugBridge while ensuring the server is started func NewUbuntuDebugBridge() (adb UbuntuDebugBridge, err error) { err = exec.Command(adbCommand, "start-server").Run() return adb, err } // Sets the serial device to connect to for future calls to *adb func (adb *AndroidDebugBridge) SetSerial(serial string) { adb.serial = serial adb.params = append(adb.params, []string{"-s", serial}...) } // Shell runs a specific command on the target device func (adb *AndroidDebugBridge) Shell(command ...string) (string, error) { cmd := append(adb.params, "shell") cmd = append(cmd, command...) out, err := exec.Command(adbCommand, cmd...).Output() if err != nil { return "", err } return strings.TrimSpace(string(out)), nil } // GetDevice parses the android property system to determine the device being used func (adb *AndroidDebugBridge) GetDevice() (deviceName string, err error) { cmd := append(adb.params, []string{"shell", "getprop", "ro.product.device"}...) out, err := exec.Command(adbCommand, cmd...).Output() if err != nil { return deviceName, err } // This will fail if a device name ever leaves ASCII adb.deviceName = strings.TrimSpace(string(out)) return adb.deviceName, err } // Push copies a file from src to dst over the adb server func (adb AndroidDebugBridge) Push(src, dst string) (err error) { // TODO add file path verification cmd := append(adb.params, []string{"push", src, dst}...) err = exec.Command(adbCommand, cmd...).Run() return err } // Pull copies a file from src to dst over the adb server func (adb AndroidDebugBridge) Pull(src, dst string) (err error) { // TODO add file path verification cmd := append(adb.params, []string{"pull", src, dst}...) err = exec.Command(adbCommand, cmd...).Run() return err } // RebootBooloader restarts the system into the bootloader func (adb AndroidDebugBridge) RebootBootloader() (err error) { return adb.reboot("bootloader") } // RebootRecovery restarts the system into recovery func (adb AndroidDebugBridge) RebootRecovery() (err error) { return adb.reboot("recovery") } // reboot restarts into the desired target func (adb AndroidDebugBridge) reboot(mode string) (err error) { cmd := append(adb.params, []string{"reboot", mode}...) err = exec.Command(adbCommand, cmd...).Run() return err } // Reboot restarts the system from the shell. This is different than // calling adb reboot directly. func (adb UbuntuDebugBridge) Reboot() (err error) { cmd := append(adb.params, []string{"shell", "reboot"}...) err = exec.Command(adbCommand, cmd...).Run() return err } // WaitForDevice waits for the device to be available func (adb UbuntuDebugBridge) WaitForDevice() (err error) { cmd := append(adb.params, []string{"wait-for-device"}...) err = exec.Command(adbCommand, cmd...).Run() return err } // WaitForRecovery idles until the image has booted into recovery // for recovery func (adb UbuntuDebugBridge) WaitForRecovery() error { // Recovery takes some time to get into, so we wait a bit time.Sleep(10 * time.Second) done := make(chan bool) cmd := append(adb.params, []string{"shell", "ls"}...) go func() { for { err := exec.Command(adbCommand, cmd...).Run() if err == nil { done <- true } time.Sleep(5 * time.Second) } }() for { select { case <-done: return nil case <-time.After(60 * time.Second): return errors.New(fmt.Sprint("Failed to enter Recovery")) } } } goget-ubuntu-touch-0.2+14.04.20140416.2/ubuntuimage/0000755000015301777760000000000012323553204022203 5ustar pbusernogroup00000000000000goget-ubuntu-touch-0.2+14.04.20140416.2/ubuntuimage/channels_test.go0000644000015301777760000003563412323552652025405 0ustar pbusernogroup00000000000000// // Helpers to work with an Ubuntu image based Upgrade implementation // // Copyright (c) 2014 Canonical Ltd. // // Written by Sergio Schvezov // package ubuntuimage // This program is free software: you can redistribute it and/or modify it // under the terms of the GNU General Public License version 3, as published // by the Free Software Foundation. // // This program is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranties of // MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR // PURPOSE. See the GNU General Public License for more details. // // You should have received a copy of the GNU General Public License along // with this program. If not, see . import ( "errors" "fmt" . "launchpad.net/gocheck" "net/http" "net/http/httptest" "testing" ) const develChannelMako = `{ "global": { "generated_at": "Thu Feb 20 10:10:47 UTC 2014" }, "images": [ { "description": "ubuntu=20140206,device=20140115.1,version=166", "files": [ { "checksum": "36deae060a01dea39bb6a42b4be963c19b88e1c600b405061d74cca7d241e34a", "order": 0, "path": "/pool/ubuntu-7b59094905d81305ee88d22f6468fd1ce74b515a3be8098848a90c8062a0e192.tar.xz", "signature": "/pool/ubuntu-7b59094905d81305ee88d22f6468fd1ce74b515a3be8098848a90c8062a0e192.tar.xz.asc", "size": 329233668 }, { "checksum": "cd5e1da151e815f37539c0900f0b5635cb97d7632acfc793bb29c5b490f6d735", "order": 1, "path": "/pool/device-9d396bed22b036d92241420d70b4656ea3ef895a3b43274f936d764081b0d1e2.tar.xz", "signature": "/pool/device-9d396bed22b036d92241420d70b4656ea3ef895a3b43274f936d764081b0d1e2.tar.xz.asc", "size": 37135880 }, { "checksum": "9ac8890b6b64ee8c0af24723976cabef16c57c89db262a559ca79af77091e720", "order": 2, "path": "/devel/mako/version-166.tar.xz", "signature": "/devel/mako/version-166.tar.xz.asc", "size": 344 } ], "type": "full", "version": 150 }, { "description": "ubuntu=20140206,device=20140115.1,version=166", "files": [ { "checksum": "36deae060a01dea39bb6a42b4be963c19b88e1c600b405061d74cca7d241e34a", "order": 0, "path": "/pool/ubuntu-7b59094905d81305ee88d22f6468fd1ce74b515a3be8098848a90c8062a0e192.tar.xz", "signature": "/pool/ubuntu-7b59094905d81305ee88d22f6468fd1ce74b515a3be8098848a90c8062a0e192.tar.xz.asc", "size": 329233668 }, { "checksum": "cd5e1da151e815f37539c0900f0b5635cb97d7632acfc793bb29c5b490f6d735", "order": 1, "path": "/pool/device-9d396bed22b036d92241420d70b4656ea3ef895a3b43274f936d764081b0d1e2.tar.xz", "signature": "/pool/device-9d396bed22b036d92241420d70b4656ea3ef895a3b43274f936d764081b0d1e2.tar.xz.asc", "size": 37135880 }, { "checksum": "9ac8890b6b64ee8c0af24723976cabef16c57c89db262a559ca79af77091e720", "order": 2, "path": "/devel/mako/version-166.tar.xz", "signature": "/devel/mako/version-166.tar.xz.asc", "size": 344 } ], "type": "full", "version": 166 }, { "base": 161, "description": "ubuntu=20140206,device=20140115.1,version=166", "files": [ { "checksum": "621b201190c3a5ee0b2a4adc7f9823dbca6168374d03646d774e2044f43410f9", "order": 0, "path": "/pool/ubuntu-7b59094905d81305ee88d22f6468fd1ce74b515a3be8098848a90c8062a0e192.delta-ubuntu-d204c93d737253aa07088ffd7e5d060ad28e205c32d008379b4d70ec5f7c3ca4.tar.xz", "signature": "/pool/ubuntu-7b59094905d81305ee88d22f6468fd1ce74b515a3be8098848a90c8062a0e192.delta-ubuntu-d204c93d737253aa07088ffd7e5d060ad28e205c32d008379b4d70ec5f7c3ca4.tar.xz.asc", "size": 23963072 }, { "checksum": "9ac8890b6b64ee8c0af24723976cabef16c57c89db262a559ca79af77091e720", "order": 1, "path": "/devel/mako/version-166.tar.xz", "signature": "/devel/mako/version-166.tar.xz.asc", "size": 344 } ], "type": "delta", "version": 166 } ] } ` const develChannelMakoOnlyDelta = `{ "global": { "generated_at": "Thu Feb 20 10:10:47 UTC 2014" }, "images": [ { "base": 161, "description": "ubuntu=20140206,device=20140115.1,version=166", "files": [ { "checksum": "621b201190c3a5ee0b2a4adc7f9823dbca6168374d03646d774e2044f43410f9", "order": 0, "path": "/pool/ubuntu-7b59094905d81305ee88d22f6468fd1ce74b515a3be8098848a90c8062a0e192.delta-ubuntu-d204c93d737253aa07088ffd7e5d060ad28e205c32d008379b4d70ec5f7c3ca4.tar.xz", "signature": "/pool/ubuntu-7b59094905d81305ee88d22f6468fd1ce74b515a3be8098848a90c8062a0e192.delta-ubuntu-d204c93d737253aa07088ffd7e5d060ad28e205c32d008379b4d70ec5f7c3ca4.tar.xz.asc", "size": 23963072 }, { "checksum": "9ac8890b6b64ee8c0af24723976cabef16c57c89db262a559ca79af77091e720", "order": 1, "path": "/devel/mako/version-166.tar.xz", "signature": "/devel/mako/version-166.tar.xz.asc", "size": 344 } ], "type": "delta", "version": 166 } ] } ` const channels = `{ "devel": { "alias": "trusty", "devices": { "flo": { "index": "/devel/flo/index.json" }, "generic": { "index": "/devel/generic/index.json" }, "goldfish": { "index": "/devel/goldfish/index.json" }, "grouper": { "index": "/devel/grouper/index.json" }, "maguro": { "index": "/devel/maguro/index.json" }, "mako": { "index": "/devel/mako/index.json" }, "manta": { "index": "/devel/manta/index.json" } } }, "devel-customized": { "alias": "trusty-customized", "devices": { "flo": { "index": "/devel-customized/flo/index.json" }, "generic": { "index": "/devel-customized/generic/index.json" }, "goldfish": { "index": "/devel-customized/goldfish/index.json" }, "grouper": { "index": "/devel-customized/grouper/index.json" }, "maguro": { "index": "/devel-customized/maguro/index.json" }, "mako": { "index": "/devel-customized/mako/index.json" }, "manta": { "index": "/devel-customized/manta/index.json" } } } }` // Hook up gocheck into the "go test" runner. func Test(t *testing.T) { TestingT(t) } type DeviceChannelsSuite struct { channels Channels devices map[string]Device ts *httptest.Server } var _ = Suite(&DeviceChannelsSuite{}) func (s *DeviceChannelsSuite) SetUpTest(c *C) { s.devices = make(map[string]Device) s.channels = make(map[string]Channel) s.channels["trusty"] = Channel{ Devices: map[string]Device{"mako": Device{"/" + "trusty/mako/index.json"}}} s.channels["touch/trusty"] = Channel{ Devices: map[string]Device{"mako": Device{"/" + "touch/trusty/mako/index.json"}}} s.channels["touch/devel"] = Channel{ Devices: map[string]Device{"mako": Device{"/" + "touch/devel/mako/index.json"}}, Alias: "touch/trusty"} s.ts = httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { fmt.Fprintln(w, develChannelMako) })) } func (s *DeviceChannelsSuite) TearDownTest(c *C) { s.ts.Close() } func (s *DeviceChannelsSuite) TestChannelNotFoundWithNoChannels(c *C) { s.channels = make(map[string]Channel) channel := "trusty" device := "mako" expectedErr := fmt.Errorf("Channel %s not found on server %s", channel, s.ts.URL) _, err := s.channels.GetDeviceChannel(s.ts.URL, channel, device) c.Assert(err, DeepEquals, expectedErr) } func (s *DeviceChannelsSuite) TestChannelDeviceNotFoundInChannel(c *C) { device := "hammerhead" channel := "trusty" expectedErr := fmt.Errorf("Device %s not found on server %s channel %s", device, s.ts.URL, channel) _, err := s.channels.GetDeviceChannel(s.ts.URL, channel, device) c.Assert(err, DeepEquals, expectedErr) } func (s *DeviceChannelsSuite) TestChannelDeviceNotFoundInChannelWithSlash(c *C) { device := "hammerhead" channel := "touch/trusty" expectedErr := fmt.Errorf("Device %s not found on server %s channel %s", device, s.ts.URL, channel) _, err := s.channels.GetDeviceChannel(s.ts.URL, channel, device) c.Assert(err, DeepEquals, expectedErr) } func (s *DeviceChannelsSuite) TestChannelInvalidDataForDevice(c *C) { s.ts = httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { fmt.Fprintln(w, "Invalid data") })) device := "mako" channel := "touch/trusty" expectedErr := fmt.Errorf("Cannot parse channel information for device on %s", s.ts.URL+"/"+channel+"/"+device+"/index.json") _, err := s.channels.GetDeviceChannel(s.ts.URL, channel, device) c.Assert(err, DeepEquals, expectedErr) } func (s *DeviceChannelsSuite) TestChannelValidDataForDevice(c *C) { device := "mako" channel := "touch/trusty" images, err := s.channels.GetDeviceChannel(s.ts.URL, channel, device) c.Assert(err, IsNil) c.Assert(images, NotNil) } func (s *DeviceChannelsSuite) TestChannelValidDataForDeviceFromAlias(c *C) { device := "mako" channel := "touch/devel" channelData, err := s.channels.GetDeviceChannel(s.ts.URL, channel, device) c.Assert(err, IsNil) c.Assert(channelData, NotNil) c.Assert(channelData.Alias, Equals, "touch/trusty") c.Assert(channelData.Images, NotNil) } func (s *DeviceChannelsSuite) TestGetLatestImageForChannel(c *C) { device := "mako" channel := "touch/devel" channelData, err := s.channels.GetDeviceChannel(s.ts.URL, channel, device) c.Assert(err, IsNil) c.Assert(channelData, NotNil) c.Assert(channelData.Alias, Equals, "touch/trusty") c.Assert(channelData.Images, NotNil) image, err := channelData.GetRelativeImage(0) c.Assert(err, IsNil) c.Check(image.Version, Equals, 166) c.Check(image.Type, Equals, FULL_IMAGE) c.Check(len(image.Files), Equals, 3) } func (s *DeviceChannelsSuite) TestFailsGetLatestImageForChannelWithOnlyDeltas(c *C) { device := "mako" channel := "touch/devel" s.ts = httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { fmt.Fprintln(w, develChannelMakoOnlyDelta) })) channelData, err := s.channels.GetDeviceChannel(s.ts.URL, channel, device) c.Assert(err, IsNil) c.Assert(channelData, NotNil) c.Assert(channelData.Alias, Equals, "touch/trusty") c.Assert(channelData.Images, NotNil) expectedErr := errors.New("Failed to locate latest image information") _, err = channelData.GetRelativeImage(0) c.Assert(err, DeepEquals, expectedErr) } func (s *DeviceChannelsSuite) TestGetSpecificImageForChannel(c *C) { device := "mako" channel := "touch/devel" channelData, err := s.channels.GetDeviceChannel(s.ts.URL, channel, device) c.Assert(err, IsNil) c.Assert(channelData, NotNil) c.Assert(channelData.Alias, Equals, "touch/trusty") c.Assert(channelData.Images, NotNil) image, err := channelData.GetImage(166) c.Assert(err, IsNil) c.Check(image.Version, Equals, 166) c.Check(image.Type, Equals, FULL_IMAGE) c.Check(len(image.Files), Equals, 3) } func (s *DeviceChannelsSuite) TestGetSpecificRelativeImageForChannel(c *C) { device := "mako" channel := "touch/devel" channelData, err := s.channels.GetDeviceChannel(s.ts.URL, channel, device) c.Assert(err, IsNil) c.Assert(channelData, NotNil) c.Assert(channelData.Alias, Equals, "touch/trusty") c.Assert(channelData.Images, NotNil) image, err := channelData.GetRelativeImage(-1) c.Assert(err, IsNil) c.Check(image.Version, Equals, 150) c.Check(image.Type, Equals, FULL_IMAGE) c.Check(len(image.Files), Equals, 3) } func (s *DeviceChannelsSuite) TestFailGetRelativeImageForChannel(c *C) { device := "mako" channel := "touch/devel" channelData, err := s.channels.GetDeviceChannel(s.ts.URL, channel, device) c.Assert(err, IsNil) c.Assert(channelData, NotNil) c.Assert(channelData.Alias, Equals, "touch/trusty") c.Assert(channelData.Images, NotNil) rev := -5 _, err = channelData.GetRelativeImage(rev) expectedErr := fmt.Errorf("Failed to locate relative image to latest - %d", -rev) _, err = channelData.GetRelativeImage(rev) c.Assert(err, DeepEquals, expectedErr) } func (s *DeviceChannelsSuite) TestFailGetSpecificImageForChannel(c *C) { device := "mako" channel := "touch/devel" channelData, err := s.channels.GetDeviceChannel(s.ts.URL, channel, device) c.Assert(err, IsNil) c.Assert(channelData, NotNil) c.Assert(channelData.Alias, Equals, "touch/trusty") c.Assert(channelData.Images, NotNil) rev := 162 expectedErr := fmt.Errorf("Failed to locate image %d", rev) _, err = channelData.GetImage(rev) c.Assert(err, DeepEquals, expectedErr) } type ChannelsSuite struct { ts *httptest.Server } var _ = Suite(&ChannelsSuite{}) func (s *ChannelsSuite) SetUpTest(c *C) { s.ts = httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { fmt.Fprintln(w, channels) })) } func (s *ChannelsSuite) TearDownTest(c *C) { s.ts.Close() } func (s *ChannelsSuite) TestGetChannelsFromServer(c *C) { channels, err := NewChannels(s.ts.URL) c.Assert(err, IsNil) c.Assert(channels, NotNil) devel, develOk := channels["devel"] c.Assert(develOk, Equals, true) c.Check(devel.Alias, Equals, "trusty") c.Check(len(devel.Devices), Equals, 7) device, deviceOk := devel.Devices["flo"] c.Assert(deviceOk, Equals, true) c.Check(device.Index, Equals, "/devel/flo/index.json") } func (s *ChannelsSuite) TestInvalidDataWhenGetChannelsFromServer(c *C) { s.ts = httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { fmt.Fprintln(w, "Invalid data") })) expectedErr := fmt.Errorf("Unable to parse channel information from %s", s.ts.URL) _, err := NewChannels(s.ts.URL) c.Assert(err, DeepEquals, expectedErr) } goget-ubuntu-touch-0.2+14.04.20140416.2/ubuntuimage/types.go0000644000015301777760000000231512323552652023705 0ustar pbusernogroup00000000000000// // Helpers to work with an Ubuntu image based Upgrade implementation // // Copyright (c) 2013 Canonical Ltd. // // Written by Sergio Schvezov // package ubuntuimage // This program is free software: you can redistribute it and/or modify it // under the terms of the GNU General Public License version 3, as published // by the Free Software Foundation. // // This program is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranties of // MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR // PURPOSE. See the GNU General Public License for more details. // // You should have received a copy of the GNU General Public License along // with this program. If not, see . type Device struct { Index string } type Channel struct { Devices map[string]Device Alias string } type Channels map[string]Channel type File struct { Server string Checksum, Path, Signature string Size, Order int } type Image struct { Description, Type string Version int Files []File } type DeviceChannel struct { Alias string Images []Image } goget-ubuntu-touch-0.2+14.04.20140416.2/ubuntuimage/images.go0000644000015301777760000001171712323552672024016 0ustar pbusernogroup00000000000000// // Helpers to work with an Ubuntu image based Upgrade implementation // // Copyright (c) 2013 Canonical Ltd. // // Written by Sergio Schvezov // package ubuntuimage // This program is free software: you can redistribute it and/or modify it // under the terms of the GNU General Public License version 3, as published // by the Free Software Foundation. // // This program is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranties of // MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR // PURPOSE. See the GNU General Public License for more details. // // You should have received a copy of the GNU General Public License along // with this program. If not, see . import ( "bufio" "crypto/sha256" "encoding/hex" "errors" "fmt" "io" "io/ioutil" "net/url" "os" "path/filepath" "syscall" "github.com/cheggaaa/pb" ) func hashMatches(filePath, hash string) bool { h := sha256.New() var err error fileBytes, err := ioutil.ReadFile(filePath) if err != nil { return false } h.Write(fileBytes) hashString := hex.EncodeToString(h.Sum(nil)) if hashString == hash { return true } return false } const commandsStart = `format system load_keyring image-master.tar.xz image-master.tar.xz.asc load_keyring image-signing.tar.xz image-signing.tar.xz.asc mount system ` func GetUbuntuCommands(files []File, downloadDir string, wipe bool) (commandsFile string, err error) { tmpFile, err := ioutil.TempFile(downloadDir, "ubuntu_commands") if err != nil { return commandsFile, err } writer := bufio.NewWriter(tmpFile) defer func() { if err == nil { writer.Flush() } }() if wipe { writer.WriteString("format data\n") } writer.WriteString(commandsStart) order := func(f1, f2 *File) bool { return f1.Order < f2.Order } By(order).Sort(files) for _, file := range files { writer.WriteString( fmt.Sprintf("update %s %s\n", filepath.Base(file.Path), filepath.Base(file.Signature))) } writer.WriteString("unmount system\n") return tmpFile.Name(), err } func GetGPGFiles() []File { return []File{{Path: "/gpg/image-master.tar.xz", Signature: "/gpg/image-master.tar.xz.asc"}, {Path: "/gpg/image-signing.tar.xz", Signature: "/gpg/image-signing.tar.xz.asc"}} } func getLockFd(file string) (fileLock *os.File, err error) { err = os.MkdirAll(filepath.Dir(file), 0700) if err != nil { return nil, err } fileLock, err = os.Create(file + "_lock") if err != nil { return nil, err } return fileLock, nil } //MakeRelativeToServer changes absolute paths in Path into a relative path and adds the host //part to Server, if the Path is already relative it uses defaultServer func (file *File) MakeRelativeToServer(defaultServer string) error { file.Server = defaultServer u, err := url.Parse(file.Path) if err != nil { return err } if u.IsAbs() { file.Server = u.Scheme + "://" + u.Host file.Path = u.Path file.Signature = file.Path + ".asc" } return nil } func (file File) Download(downloadDir string) (err error) { //TODO Verify downloaded gpg agains image path := filepath.Join(downloadDir, file.Path) // Create file lock to avoid multiple processes downloading the same file lock, err := getLockFd(path) if err != nil { return err } err = syscall.Flock(int(lock.Fd()), syscall.LOCK_EX) if err != nil { return err } defer func() { os.Remove(lock.Name()) syscall.Flock(int(lock.Fd()), syscall.LOCK_UN) }() if hashMatches(path, file.Checksum) { return nil } for _, f := range []string{file.Signature, file.Path} { uri := file.Server + f path := filepath.Join(downloadDir, f) err := os.MkdirAll(filepath.Dir(path), 0700) if err != nil { return err } target, err := os.Create(path + "_") if err != nil { return err } defer func() { target.Close() if err == nil { os.Rename(path+"_", path) } }() err = download(uri, target) if err != nil { return err } } return err } func download(uri string, writer io.Writer) (err error) { resp, err := client.Get(uri) if err != nil { return err } if resp.StatusCode != 200 { return errors.New(fmt.Sprintf("Got status code %d for %s", resp.StatusCode, uri)) } defer resp.Body.Close() // Only display a progress bar for files > 2K in size // nb, ContentLength is -1 for *.asc files if resp.ContentLength > 2048 { pbar := pb.New(int(resp.ContentLength)) pbar.ShowSpeed = true pbar.Units = pb.U_BYTES pbar.Start() mw := io.MultiWriter(writer, pbar) _, err = io.Copy(mw, resp.Body) pbar.Finish() } else { bufReader := bufio.NewReader(resp.Body) bufWriter := bufio.NewWriter(writer) defer func() { if err == nil { err = bufWriter.Flush() } }() _, err = bufReader.WriteTo(bufWriter) } return err } func GetCacheDir() (cacheDir string) { cacheDir = os.Getenv("XDG_CACHE_HOME") if cacheDir == "" { cacheDir = "$HOME/.cache/" } cacheDir = os.ExpandEnv(cacheDir) return filepath.Join(cacheDir, "ubuntuimages") } goget-ubuntu-touch-0.2+14.04.20140416.2/ubuntuimage/sort.go0000644000015301777760000000515512323552652023535 0ustar pbusernogroup00000000000000// // Helpers to work with an Ubuntu image based Upgrade implementation // // Copyright (c) 2013 Canonical Ltd. // // Written by Sergio Schvezov // package ubuntuimage // This program is free software: you can redistribute it and/or modify it // under the terms of the GNU General Public License version 3, as published // by the Free Software Foundation. // // This program is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranties of // MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR // PURPOSE. See the GNU General Public License for more details. // // You should have received a copy of the GNU General Public License along // with this program. If not, see . import ( "sort" ) // By is the type of a "less" function that defines the ordering of its File arguments. type By func(p1, p2 *File) bool // Sort is a method on the function type, By, that sorts the argument slice according to the function. func (by By) Sort(files []File) { fs := &fileSorter{ files: files, by: by, } sort.Sort(fs) } // fileSorter joins a By function and a slice of File to be sorted. type fileSorter struct { files []File by func(p1, p2 *File) bool // Closure used in the Less method. } // Len is part of sort.Interface. func (s *fileSorter) Len() int { return len(s.files) } // Swap is part of sort.Interface. func (s *fileSorter) Swap(i, j int) { s.files[i], s.files[j] = s.files[j], s.files[i] } // Less is part of sort.Interface. It is implemented by calling the "by" closure in the sorter. func (s *fileSorter) Less(i, j int) bool { return s.by(&s.files[i], &s.files[j]) } // By is the type of a "less" function that defines the ordering of its File arguments. type ImageBy func(p1, p2 *Image) bool // Sort is a method on the function type, By, that sorts the argument slice according to the function. func (by ImageBy) ImageSort(images []Image) { is := &imageSorter{ images: images, by: by, } sort.Sort(is) } // fileSorter joins a By function and a slice of File to be sorted. type imageSorter struct { images []Image by func(p1, p2 *Image) bool // Closure used in the Less method. } // Len is part of sort.Interface. func (s *imageSorter) Len() int { return len(s.images) } // Swap is part of sort.Interface. func (s *imageSorter) Swap(i, j int) { s.images[i], s.images[j] = s.images[j], s.images[i] } // Less is part of sort.Interface. It is implemented by calling the "by" closure in the sorter. func (s *imageSorter) Less(i, j int) bool { return s.by(&s.images[i], &s.images[j]) } goget-ubuntu-touch-0.2+14.04.20140416.2/ubuntuimage/channels.go0000644000015301777760000000705512323552701024335 0ustar pbusernogroup00000000000000// // Helpers to work with an Ubuntu image based Upgrade implementation // // Copyright (c) 2013 Canonical Ltd. // // Written by Sergio Schvezov // package ubuntuimage // This program is free software: you can redistribute it and/or modify it // under the terms of the GNU General Public License version 3, as published // by the Free Software Foundation. // // This program is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranties of // MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR // PURPOSE. See the GNU General Public License for more details. // // You should have received a copy of the GNU General Public License along // with this program. If not, see . import ( _ "crypto/sha512" "crypto/tls" "encoding/json" "errors" "fmt" "net/http" ) const ( channelsPath = "/channels.json" FULL_IMAGE = "full" ) var client = &http.Client{} // TLSSkipVerify turns off validation of server TLS certificates. It allows connecting // to HTTPS servers that use self-signed certificates. func TLSSkipVerify() { tr := &http.Transport{ TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, } client = &http.Client{Transport: tr} } func NewChannels(server string) (channels Channels, err error) { resp, err := client.Get(server + channelsPath) if err != nil { return channels, err } defer resp.Body.Close() dec := json.NewDecoder(resp.Body) if err := dec.Decode(&channels); err != nil { return channels, fmt.Errorf("Unable to parse channel information from %s", server) } return channels, nil } func (channels Channels) GetDeviceChannel(server, channel, device string) (deviceChannel DeviceChannel, err error) { if _, found := channels[channel]; !found { return deviceChannel, fmt.Errorf("Channel %s not found on server %s", channel, server) } else if _, found := channels[channel].Devices[device]; !found { return deviceChannel, fmt.Errorf("Device %s not found on server %s channel %s", device, server, channel) } channelUri := server + channels[channel].Devices[device].Index resp, err := client.Get(channelUri) if err != nil { return deviceChannel, err } defer resp.Body.Close() dec := json.NewDecoder(resp.Body) err = dec.Decode(&deviceChannel) if err != nil { return deviceChannel, fmt.Errorf("Cannot parse channel information for device on %s", channelUri) } deviceChannel.Alias = channels[channel].Alias order := func(i1, i2 *Image) bool { return i1.Version > i2.Version } ImageBy(order).ImageSort(deviceChannel.Images) return deviceChannel, err } func (deviceChannel *DeviceChannel) GetImage(revision int) (image Image, err error) { for _, image := range deviceChannel.Images { if image.Type == FULL_IMAGE && image.Version == revision { return image, nil } } //If we reached this point, that means we haven't found the image we were looking for. return image, fmt.Errorf("Failed to locate image %d", revision) } func (deviceChannel *DeviceChannel) GetRelativeImage(revision int) (image Image, err error) { var steps int if revision < 0 { revision = -revision } for _, image := range deviceChannel.Images { if image.Type != FULL_IMAGE { continue } if steps == revision { return image, nil } steps++ } //If we reached this point, that means we haven't found the image we were looking for. if revision == 0 { err = errors.New("Failed to locate latest image information") } else { err = fmt.Errorf("Failed to locate relative image to latest - %d", revision) } return Image{}, err } goget-ubuntu-touch-0.2+14.04.20140416.2/ubuntu-device-flash/0000755000015301777760000000000012323553204023530 5ustar pbusernogroup00000000000000goget-ubuntu-touch-0.2+14.04.20140416.2/ubuntu-device-flash/args.go0000644000015301777760000000377512323552720025031 0ustar pbusernogroup00000000000000// // udbflash - Tool to download and flash devices with an Ubuntu Image based // system // // Copyright (c) 2013 Canonical Ltd. // // Written by Sergio Schvezov // package main // This program is free software: you can redistribute it and/or modify it // under the terms of the GNU General Public License version 3, as published // by the Free Software Foundation. // // This program is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranties of // MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR // PURPOSE. See the GNU General Public License for more details. // // You should have received a copy of the GNU General Public License along // with this program. If not, see . import ( flags "github.com/jessevdk/go-flags" ) type arguments struct { Revision int `long:"revision" description:"revision to flash, absolute or relative allowed"` Bootstrap bool `long:"bootstrap" description:"bootstrap the system, do this from the bootloader"` ListChannels bool `long:"list-channels" description:"List available channels"` Wipe bool `long:"wipe" description:"Clear all data after flashing"` Channel string `long:"channel" description:"Specify an alternate channel"` Device string `long:"device" description:"Specify the device to flash"` Serial string `long:"serial" description:"Serial of the device to operate"` Server string `long:"server" description:"Use a different image server"` CleanCache bool `long:"clean-cache" description:"Cleans up cache with all downloaded bits"` TLSSkipVerify bool `long:"tls-skip-verify" description:"Skip TLS certificate validation"` } var args arguments var parser = flags.NewParser(&args, flags.Default) const ( defaultChannel = "ubuntu-touch/stable" defaultServer = "https://system-image.ubuntu.com" ) func init() { args.Channel = defaultChannel args.Server = defaultServer } goget-ubuntu-touch-0.2+14.04.20140416.2/ubuntu-device-flash/main.go0000644000015301777760000001734412323552672025024 0ustar pbusernogroup00000000000000// // udbflash - Tool to download and flash devices with an Ubuntu Image based // system // // Copyright (c) 2013 Canonical Ltd. // // Written by Sergio Schvezov // package main // This program is free software: you can redistribute it and/or modify it // under the terms of the GNU General Public License version 3, as published // by the Free Software Foundation. // // This program is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranties of // MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR // PURPOSE. See the GNU General Public License for more details. // // You should have received a copy of the GNU General Public License along // with this program. If not, see . import ( "archive/tar" "errors" "fmt" "io" "io/ioutil" "log" "os" "os/exec" "path/filepath" "strings" "launchpad.net/goget-ubuntu-touch/devices" "launchpad.net/goget-ubuntu-touch/ubuntuimage" ) func main() { if _, err := parser.Parse(); err != nil { os.Exit(1) } if args.TLSSkipVerify { ubuntuimage.TLSSkipVerify() } channels, err := ubuntuimage.NewChannels(args.Server) if err != nil { log.Fatal(err) } if args.ListChannels { for k, v := range channels { if v.Alias != "" { fmt.Printf("%s (alias to %s)\n", k, v.Alias) } else { fmt.Println(k) } } return } cacheDir := ubuntuimage.GetCacheDir() if args.CleanCache { log.Print("Cleaning prevously downloaded content") if err := os.RemoveAll(cacheDir); err != nil { log.Fatal(err) } return } adb, err := devices.NewUbuntuDebugBridge() var fastboot devices.Fastboot if err != nil { log.Fatal(err) } if args.Serial != "" { adb.SetSerial(args.Serial) fastboot.SetSerial(args.Serial) } if args.Device == "" { if args.Bootstrap { log.Print("Expecting the device to be in the bootloader... waiting") args.Device, err = fastboot.GetDevice() } else { log.Print("Expecting the device to expose an adb interface...") // TODO needs to work from recovery as well //adb.WaitForDevice() args.Device, err = adb.GetDevice() } if err != nil { log.Fatal(err) } } log.Printf("Device is |%s|", args.Device) deviceChannel, err := channels.GetDeviceChannel( args.Server, args.Channel, args.Device) if err != nil { log.Fatal(err) } var image ubuntuimage.Image if args.Revision <= 0 { image, err = deviceChannel.GetRelativeImage(args.Revision) } else { image, err = deviceChannel.GetImage(args.Revision) } if err != nil { log.Fatal(err) } log.Printf("Flashing version %d from %s channel and server %s to device %s", image.Version, args.Channel, args.Server, args.Device) if deviceChannel.Alias != "" { log.Printf("%s is a channel alias to %s", deviceChannel.Alias, args.Channel) } // TODO use closures signFiles := ubuntuimage.GetGPGFiles() totalFiles := len(image.Files) + len(signFiles) files := make(chan Files, totalFiles) done := make(chan bool, totalFiles) for _, file := range image.Files { go bitDownloader(file, files, args.Server, cacheDir) } for _, file := range signFiles { go bitDownloader(file, files, args.Server, cacheDir) } if args.Bootstrap { var downloadedFiles []Files for i := 0; i < totalFiles; i++ { downloadedFiles = append(downloadedFiles, <-files) } //Find the recovery image var recovery string for _, file := range downloadedFiles { if strings.HasSuffix(file.FilePath, ".xz") { fmt.Println(file.FilePath) recovery, err = tryExtractRecovery(file.FilePath) if err == nil { break } } } if recovery == "" { log.Fatal("Recovery image not found, cannot continue with bootstrap") } err = fastboot.Flash("recovery", recovery) if err != nil { log.Fatal("Can't flash recovery image") } err = fastboot.Format("cache") if err != nil { log.Print("Cache formatting was not successful, flashing may fail, " + "check your partitions on device") } err = fastboot.BootImage(recovery) if err != nil { log.Fatal("Can't boot recovery image") } os.Remove(recovery) adb.WaitForRecovery() // Resend all the files for _, file := range downloadedFiles { files <- file } args.Wipe = true } go bitPusher(adb, files, done) for i := 0; i < totalFiles; i++ { <-done } ubuntuCommands, err := ubuntuimage.GetUbuntuCommands(image.Files, cacheDir, args.Wipe) if err != nil { log.Fatal("Cannot create commands file") } log.Printf("Created ubuntu_command: %s", ubuntuCommands) adb.Push(ubuntuCommands, "/cache/recovery/ubuntu_command") defer func() { if err == nil { err = os.Remove(ubuntuCommands) if err != nil { log.Fatal(err) } } }() log.Print("Rebooting into recovery to flash") adb.RebootRecovery() err = adb.WaitForRecovery() if err != nil { log.Fatal(err) } } type Files struct{ FilePath, SigPath string } // bitDownloader downloads func bitDownloader(file ubuntuimage.File, files chan<- Files, server, downloadDir string) { err := file.MakeRelativeToServer(server) if err != nil { log.Fatal(err) } err = file.Download(downloadDir) if err != nil { log.Fatal(err) } files <- Files{FilePath: filepath.Join(downloadDir, file.Path), SigPath: filepath.Join(downloadDir, file.Signature)} } // bitPusher func bitPusher(adb devices.UbuntuDebugBridge, files <-chan Files, done chan<- bool) { if _, err := adb.Shell("rm -rf /cache/recovery/*.xz /cache/recovery/*.xz.asc"); err != nil { log.Fatal("Cannot cleanup tree to ensure clean deployment", err) } freeSpace := "unknown" dfCacheCmd := "df -h | grep /dev/disk/by-partlabel/cache" if free, err := adb.Shell(dfCacheCmd); err != nil { log.Fatal("Unable to retrieve free space on target") } else { //Filesystem Size Used Avail Use% Mounted on free := strings.Fields(free) if len(free) > 3 { freeSpace = free[3] } } errMsg := "Cannot push %s to device: free space on /cache/recovery is %s" for { file := <-files go func() { log.Printf("Start pushing %s to device", file.FilePath) err := adb.Push(file.FilePath, "/cache/recovery/") if err != nil { log.Fatalf(errMsg, file.SigPath, freeSpace) } err = adb.Push(file.SigPath, "/cache/recovery/") if err != nil { log.Fatalf(errMsg, file.SigPath, freeSpace) } log.Printf("Done pushing %s to device", file.FilePath) done <- true }() } } func tryExtractRecovery(tarxz string) (recovery string, err error) { f, err := os.Open(tarxz) if err != nil { log.Fatalf("Can't open %s in search for recovery", tarxz) } defer f.Close() r := xzReader(f) tempfile, err := ioutil.TempFile(os.TempDir(), "recoverytar") if err != nil { log.Fatal("Can't create tempfile to search for for recovery") } defer func() { tempfile.Close() os.Remove(tempfile.Name()) }() n, err := io.Copy(tempfile, r) if err != nil { log.Fatalf("copied %d bytes with err: %v", n, err) } _, err = tempfile.Seek(0, 0) if err != nil { log.Fatal("Failed to rewind") } tr := tar.NewReader(tempfile) var recoveryFile *os.File //Going to return inside this loop, ugly, yeah for { hdr, err := tr.Next() if err == io.EOF { // end of tar archive break } if err != nil { log.Fatalln(err) } if strings.Contains(hdr.Name, "recovery.img") { recoveryFile, err = ioutil.TempFile(os.TempDir(), "recovery") defer recoveryFile.Close() if err != nil { log.Fatal(err) } if _, err := io.Copy(recoveryFile, tr); err != nil { log.Fatal(err) } return recoveryFile.Name(), nil } } return "", errors.New("Recovery Partition not found") } func xzReader(r io.Reader) io.ReadCloser { rpipe, wpipe := io.Pipe() cmd := exec.Command("xz", "--decompress", "--stdout") cmd.Stdin = r cmd.Stdout = wpipe go func() { err := cmd.Run() wpipe.CloseWithError(err) }() return rpipe } goget-ubuntu-touch-0.2+14.04.20140416.2/bootimg/0000755000015301777760000000000012323553204021316 5ustar pbusernogroup00000000000000goget-ubuntu-touch-0.2+14.04.20140416.2/bootimg/example/0000755000015301777760000000000012323553204022751 5ustar pbusernogroup00000000000000goget-ubuntu-touch-0.2+14.04.20140416.2/bootimg/example/abootimg-extract/0000755000015301777760000000000012323553204026222 5ustar pbusernogroup00000000000000goget-ubuntu-touch-0.2+14.04.20140416.2/bootimg/example/abootimg-extract/main.go0000644000015301777760000000226012323552652027503 0ustar pbusernogroup00000000000000// // ubuntu-emu - Tool to download and run Ubuntu Touch emulator instances // // Copyright (c) 2013 Canonical Ltd. // // Written by Sergio Schvezov // package main // This program is free software: you can redistribute it and/or modify it // under the terms of the GNU General Public License version 3, as published // by the Free Software Foundation. // // This program is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranties of // MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR // PURPOSE. See the GNU General Public License for more details. // // You should have received a copy of the GNU General Public License along // with this program. If not, see . import ( "log" "io/ioutil" "os" "launchpad.net/goget-ubuntu-touch/bootimg" ) func checkError(err error) { if err != nil { log.Fatal(err) } } func main() { imgBytes, err := ioutil.ReadFile(os.Args[1]) checkError(err) boot, err := bootimg.New(imgBytes) checkError(err) err = boot.WriteRamdisk("ramdisk1.gz") checkError(err) err = boot.WriteKernel("kernel1") checkError(err) } goget-ubuntu-touch-0.2+14.04.20140416.2/bootimg/bootimg.go0000644000015301777760000000701512323552652023316 0ustar pbusernogroup00000000000000// // bootimg - Tool to assemble/dissassemble Android boot.img s // // Copyright (c) 2013 Canonical Ltd. // // Written by Sergio Schvezov // package bootimg // This program is free software: you can redistribute it and/or modify it // under the terms of the GNU General Public License version 3, as published // by the Free Software Foundation. // // This program is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranties of // MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR // PURPOSE. See the GNU General Public License for more details. // // You should have received a copy of the GNU General Public License along // with this program. If not, see . import ( "bytes" "encoding/binary" "io/ioutil" "errors" ) type bootHeader map[uint]uint32 const BOOT_MAGIC = "ANDROID!" const ( kernelSize = iota kernelAddr ramdiskSize ramdiskAddr secondSize secondAddr tagsAddr pageSize ) type AndroidBootImg struct{ kernelOffset, ramdiskOffset, secondOffset uint32 hdr bootHeader img []byte } // readChunk reads a chunk o b []bytes returns it's Little Endian // unsigned size(4) value func readChunk(b []byte) (value uint32, err error) { if len(b) != 4 { return value, errors.New("Reading an incorrect unsigned chunk of bytes") } buf := bytes.NewReader(b) err = binary.Read(buf, binary.LittleEndian, &value) return value, err } //New reads a sequence of []byte corresponding to an android boot //image returning an AndroidBootImg which holds most the parsed headers //which are relevant to retrieve the contained images func New(img []byte) (boot AndroidBootImg, err error) { boot.img = img magic := img[:len(BOOT_MAGIC)] if BOOT_MAGIC != string(magic) { return boot, errors.New("This is not on an android bootimg") } boot.hdr = make(bootHeader) for i, start := kernelSize, len(BOOT_MAGIC); i <= pageSize; i++ { if boot.hdr[uint(i)], err = readChunk(img[start:start + 4]); err != nil { return boot, err } // sizeof(unsigned) start += 4 } n := (boot.hdr[kernelSize] + boot.hdr[pageSize] - 1) / boot.hdr[pageSize] m := (boot.hdr[ramdiskSize] + boot.hdr[pageSize] - 1) / boot.hdr[pageSize] //o := (boot.hdr[secondSize] + boot.hdr[pageSize] - 1) / boot.hdr[pageSize] boot.kernelOffset = boot.hdr[pageSize] boot.ramdiskOffset = boot.kernelOffset + (n * boot.hdr[pageSize]) boot.secondOffset = boot.ramdiskOffset + (m * boot.hdr[pageSize]) return boot, nil } //WriteRamdisk writes the ramdisk contained in AndroidBootImg to filepath func (boot *AndroidBootImg) WriteRamdisk(filePath string) error { begin := boot.ramdiskOffset end := boot.ramdiskOffset + boot.hdr[ramdiskSize] err := ioutil.WriteFile(filePath, boot.img[begin:end], 0644) return err } //WriteKernel writes the kernel contained in AndroidBootImg to filepath func (boot *AndroidBootImg) WriteKernel(filePath string) error { begin := boot.kernelOffset end := boot.kernelOffset + boot.hdr[kernelSize] err := ioutil.WriteFile(filePath, boot.img[begin:end], 0644) return err } //WriteSecond writes the second image contained in AndroidBootImg to filepath, //as this image is not mandatory it returns error if not found. func (boot *AndroidBootImg) WriteSecond(filePath string) error { if boot.hdr[secondSize] == 0 { return errors.New("Second size does not exist in this boot image") } begin := boot.secondOffset end := boot.secondOffset + boot.hdr[secondSize] err := ioutil.WriteFile(filePath, boot.img[begin:end], 0644) return err } goget-ubuntu-touch-0.2+14.04.20140416.2/COPYING0000644000015301777760000007724612323552652020737 0ustar pbusernogroup00000000000000 GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. goget-ubuntu-touch-0.2+14.04.20140416.2/ubuntu-emulator/0000755000015301777760000000000012323553204023026 5ustar pbusernogroup00000000000000goget-ubuntu-touch-0.2+14.04.20140416.2/ubuntu-emulator/extract.go0000644000015301777760000000467412323552652025050 0ustar pbusernogroup00000000000000// // ubuntu-emu - Tool to download and run Ubuntu Touch emulator instances // // Copyright (c) 2013 Canonical Ltd. // // Written by Sergio Schvezov // package main // This program is free software: you can redistribute it and/or modify it // under the terms of the GNU General Public License version 3, as published // by the Free Software Foundation. // // This program is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranties of // MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR // PURPOSE. See the GNU General Public License for more details. // // You should have received a copy of the GNU General Public License along // with this program. If not, see . import ( "archive/tar" "bufio" "errors" "fmt" "io" "io/ioutil" "os" "os/exec" "path" "path/filepath" ) func flatExtractImages(tarxz, dataDir string) error { f, err := os.Open(tarxz) if err != nil { return errors.New(fmt.Sprintf("Can't open %s for extraction", tarxz)) } r := xzReader(f) tempfile, err := ioutil.TempFile(os.TempDir(), "image") if err != nil { return errors.New("Can't create tempfile to create emulator instance") } defer func() { tempfile.Close() os.Remove(tempfile.Name()) }() n, err := io.Copy(tempfile, r) if err != nil { return errors.New(fmt.Sprintf("copied %d bytes with err: %v", n, err)) } _, err = tempfile.Seek(0, 0) if err != nil { return errors.New("Failed to rewind") } tr := tar.NewReader(tempfile) var imageFile *os.File for { hdr, err := tr.Next() if err == io.EOF { // end of tar archive break } if err != nil { return err } imageFileName := path.Base(hdr.Name) if path.Ext(imageFileName) != ".img" { fmt.Println("Non image file found:", imageFileName, hdr.Name) continue } if imageFile, err = os.Create(filepath.Join(dataDir, imageFileName)); err != nil { return err } defer imageFile.Close() writer := bufio.NewWriter(imageFile) reader := bufio.NewReader(tr) defer func() { if err == nil { err = writer.Flush() } }() if _, err := io.Copy(writer, reader); err != nil { return err } } return nil } func xzReader(r io.Reader) io.ReadCloser { rpipe, wpipe := io.Pipe() cmd := exec.Command("xz", "--decompress", "--stdout") cmd.Stdin = r cmd.Stdout = wpipe go func() { err := cmd.Run() wpipe.CloseWithError(err) }() return rpipe } goget-ubuntu-touch-0.2+14.04.20140416.2/ubuntu-emulator/skins/0000755000015301777760000000000012323553204024155 5ustar pbusernogroup00000000000000goget-ubuntu-touch-0.2+14.04.20140416.2/ubuntu-emulator/skins/EDGE/0000755000015301777760000000000012323553204024661 5ustar pbusernogroup00000000000000goget-ubuntu-touch-0.2+14.04.20140416.2/ubuntu-emulator/skins/EDGE/layout0000644000015301777760000000242312323552652026130 0ustar pbusernogroup00000000000000parts { portrait { background { image edge.png } } landscape { background { image edge-land.png } } device { display { width 480 height 800 x 0 y 90 } } } layouts { portrait { width 530 height 1005 color 0xe0e0e0 event EV_SW:0:1 part1 { name portrait x 0 y 0 } part2 { name landscape x 1000 y 0 } part3 { name device x 27 y 27 } } landscape { width 1005 height 530 color 0xe0e0e0 event EV_SW:0:0 dpad-rotation 3 part1 { name portrait x 900 y 0 } part2 { name landscape x 0 y 0 } part3 { name device x 26 y 509 rotation 3 } } } network { speed full delay none } goget-ubuntu-touch-0.2+14.04.20140416.2/ubuntu-emulator/skins/EDGE/edge.png0000644000015301777760000116370312323552652026314 0ustar pbusernogroup00000000000000PNG  IHDRێbKGD pHYs.#.#x?vtIME 7vk IDATxigy6xY:ԩv/n  gL&2L}(?OB!J4AY" b Bd[/vתξϏ᮫4vW}y庯3l&I2ֿ?oW\zQCE.CCHni"`4a8r!$A$4M$ FF>,2 6 r F$A. 1f$ ,6< I@&A>G>Gz'&&iN`4M1994Mwg2dY} Cr9 $IP(01P(ddvQ,d011n DFXD ,MS}F#r9$Ib?k{^l> v^gݯ/yig8l4uٞT*u4`0@>ïA$?9s[g{&v-wڳk??ؔˣL$It7y&  I"Fё??N:w7)8a3ޙLf7gh޿Μ7ə3h6u]LLLz^p4Qdy'tB0 8N 4=Ůn뷅o6YfjP.1q5Tk4E.CQ*0n=E4 eR`zzofffl6tB899Vl6Rf^NyZ__"G[n LMM!IZ-LLLڵkFVÁpʕds=4M4M177^^Ӟp8* rvww111F2jFbibff[[[(Hvf3jn7w0hura/`qq1M dYܸq333t:( z!jT* !`F8^jׯ_,.&4E>A^@DZEVD4M1Bmnjazzr!`q4@ڒ;O B;X>lZ!AvzZVx{/0ΨۓDT*j` &I`@xvF# 8Xghv}S3SSSagpmvlv_ښx$l3M0m6K&}kɐ%}v9IWؓt]$I=z>lv]yɟK}۳+~O\ %IRL$ɀbh&#q/z__o6?n=h˦m!ۍt:(0FZ یex Af(:JR0fjBB3ǕQ,s sssvAR -9j4M1113xQ0==|>uLMM t099ϣh`jj z=$A,VWW177]}*JX]]E\kggɂvI$ITUlllT*^nꫯСC Vz*8pF|>\/ZVXÇ^tBipjSSS|2n-dkk x"N8Zav.BVV'Obmm [[[X\\/~ׯ_\.c{{ssst:h4Al6 fܸ̾q=VWWtB༴ZpRn `ii)$|fB :tV ykV(ރzpf6VVV5["Xs\t͖LNN?v199/$_ÇfssX__GX85LOOcmm 'OoA6E6ő#G7yC}g4m0&j~ׇ~ ݸs<H" cis9f3d@cr 2&''Q*kJvvvP*`Y930z5MLOO,ł|>mLMMl T*`D 6EfdY drr;;;{fڵkXZZ Ll6Q*BFgATڵkѾ9ls\zl!j{ό.>퐹uZ099L&bp-[db2<;,x#t:!jRm˗^P9Aa,@ւk[BM8p 8M3\bJ::loccsssv*J(;Yo{{BB!\T677ӫj!:x zpSŋq]w_L@|aYmTիWq$I-=zΝDZh/hmdYj'b\/]'Nڵk =~7n gg(G333|2bp ZKnA>&*J t:8r\\.`eT*n m0`aa7n@P[VqEm@B! fGۇz^ ,//[j?\ p g~~> XUDΉ/tuu hqq[8CW^//W_EZž}s??W^y^طoΜ92ӧOc{{nj( jxG3{K/;v >,N>ׯ̙3x J^{-dN·-]z}/C#YT0;;VF.\6xarr.]2que;wpat]J`Ξ=x^/2򖷄 /஻ٳgqi9s'OD&y /l6K.رc8t^x8q"__OS<>~A2?;;vvvp]wamm BZ+ÇV4fqq?ַ+++r ?R$IBiJ=V q u4 JPrt:T*xWqh4 t]e \t fG eny`aaN똜5;;ԩSvz*N8X^^F>G^q`_Bi`nnIٳ(J8z(:"}Y,//gmm G ggss avv똝EZŹsP*PT!}饗$I ƍh4!c;}4666K.ncyy׮]CPn<, *nܸwR J7xfw}wtvwwq\~Gŋ/Yr9j5,--ի8t677Zwݐ5RgeX $$~-oy vwwCPR*Bв˗/Zb{{nh$Ο?Ǐz]wP^bLMMСCx"ZVH 5+JaJi(eYmA.jwww7 sssq>W''sssFt:ơCms=|2>JҞ.* FQ(nþMlll˗ʳe.!r,,*666BY߾w4{ngVayyAX__G6t(>8z(^x22 \#GUu] 8Ǐl?nɓ' X]]E6 HO>^x HVCٳg~}c!I;wO=瞀 <3 {/~7|I<y>{,9~E;wFw~G3gc>|ozӛ_>\p,o'@$׾SNҥKG>o}[jaWՀ;wqe4M$.Hz8x 23UV AC`bR`rr~ylooøvn|4}Qܸq[[[ẏ=!!m6XXXh`0ʳu>}J8h4Jt W\~;}4ovFLz*rSSSzVWWqAb4aff&|Wfff7n9e\p!Ԑyn2j54P6@sxN'dЖZ=jY6գ f/3b{-ȷ`֐+W{|7ޭ^AY=x=#XsP'ZȐNŀ̄?+wYYҮ'a߾}8x >!{A7~7cmh4'x?jկn@Ň?a;wӨT*XZZ‘#G$7x( !(jb;FH2]m>ϲMj܁Y<|먑쳍e3~g尶`_v}L[ac mr3=e2lll8|ؼ-1e ~I@3pjٿݟ/3=>mZ[mxww70 񰳡Vvz-,0@jfV`$3sb(J`zֵ%m2 5GLMMy'f](FN6H؞>AbjJv.l%۳i==A'LvVjZ`ȾJ87r9tx'h۳k4Gcmf ;lCS-5~H^Lx}+Yl68p~@}i~[=8dKKK{8MVsϐۋvm_^0;l6:3 <_r%>~Zwe2=g*&ؚzGφ'fC 9a;77m !vGf@_WKN>9c4 8|pXH-G^g&$1ʿCy-g>3C͟*bhҮ6"je~\^gv%`}> ;M9-gN 18{ xk}99`sZv# {f M|o|m'-|oNX&زfCl_ٽsﱌKviJx >سk:u^L&5[/ߥ;k|{'}٣9&؞o,l۞ }{ҹ&o;WΟߎ굄%MWh zzjI|A?\)]td__{z>g?Uĉ= 2[F;xgOK/??FP7v=WH\v}Sp8ēO>ۑ IDATzՏ? -oAR?6gA!᝺oq} ¯W &;t|b-,D4 5{on}y$ÿ?U0qu 2dމsٗ=7fϙy+D(bPlSZ%~mo~_'Xvϩunll׿u?G__68z$I}[ ~y̙c||O?49i<!娌/SN_<3mu lhgT"pƜ^xGG\++p2J~M}Mlߧ seoݯ^5gFA+Cgߋ7A :Fo3|_[8,bST$uպghr|uQ^9F4yQgL~3ϸG%4M!nu|S 0Wk#> eodh&Ca֝q&|# lѫq2PxCo?Plߧ+szy,G~ƞ|0' zǾ?ƶ|f_<g|a#ϛ^ceʠ~Ϫחxog{Tv^_ݿ#3>p`ꗼb^Q/կc{Vfy~ecu{Eo?~ߧE.{}.ގq2r 3>l6G8q>Uj5O~RЇ>4/|qKO?033bڰO4Lfj!NF7'mEfXv\FX<R\ w#`JO~7.xpgkFR.C& _QTp{Q ERY%g8*倂P6\=jg?xx-T=kXc?/~}s`8ė욙ȬwLd*Uy㯜׾FC qۥq|vN e10Uq@j3jbS[mU7 Y+d5y*af R*UfFO3=;;Zw?СCx2l^ cSjaii aQ&ox9틼)}7:(> ULj+U k{p=U{Г |(O kSʴcOoXr5B8 `fAK*lDŽ*UK3O߫@}#VQ\v*PVDF>^#jAZˆ^7^LTƩ(. 9dB$wȅ>QUÄh"9QȥO+d 裏nVGHWWWgӆ߷o2 ~~Fyձ2g#v6 onӉ\/e ni~H~NXD aҡ*pkA庞7Ȕ(#J\ Dm&3B Wg2 !U%HXl6w}H.O?}^{j_d?я0;;~fhT{G\ b31#7W 3g 1g cˆ;av،) Cro`fV cyH:V-|e\Gޑ C9 B>fdz \t@)s4\^Y.slxeǡ?o<2ڣbט"o8h彧ҡJh֗m4aRm^F:n0vAe4wbR+D/Y"Xc3;# 7|#%,//c~~> ջr FG;L+*XVՎpH,bA zs !Wc=+,ScX(2,6ǛĤ 6 *}2QJ I/i_Gg)_D2$>`M:g0r~kR98UЧ =;#U+WdTnV> oqú"ĝ|f^ؙgh* PE;ߍDQ3gˌjQ({"n}g:\S|lo]WH T{(i$k7'e1(C!K\ƥR ^/ahZx{ߋBϜ9[N?v9ٮ"Rf`oÔ2{O7g"(82 eW s4AŔn ^g3"oPH,ck>sa8/Vv3AO1U3q;g~}&ha5z+NENf eLHt.k 5ֹA0e4Uvrpٶ':ރ_+oW3WϷ&FD% ϯ*y:BZc(Q"e:řP_ *NHLT2??x?!wczzٳgߒ6- z饗81﨔qdC73}D7);F+]Ր#My=;*Ș 5Ɣ)ah^΄=߁O zf_!bx;r~(sֆ0qb(۳Fkf\7C*glQb&vM6w O6WU&yNqT?yguo3BB,x]rƺbϊs\Fϐ..OpBރI{ݼSR@*1P{,FUW0.-rUe$.|ߣ 8x[T=r\=:u KKKŴj%&''ܜjםx&ҡ`uE-$Q8DI,;֥8. Ǐ{.JLd!mA P!Pe:|bꂱo5RqKCUY )EUc^!u;jF5bS@'82%bl:*ϭؙͭ͘P|.r &C܁U&CnKux])-zdMyo't7Fg *pYR Ι FTƈ%<2$>\FM4LT 3<*͵)aD aRj^qcF@.naTZ f1E^a~.EՓʖBu0w•^DL؎RlSA)<^ds;b߇ժ$Ɉam~ O>@1Fy_]-\&Ge5܍WH "ocW]W9;5 FX%3evTPŗQjųQJmnj s`Ȉ?~be_6s׋B?~L?W.E(q+F&3Vyu8y01a:QbIBK9(zX^^F&A\>99ys&Y '"1Ҏ2UG1bwƪ;TLjb*Fvjgĺb-GF'|Bh϶ras`J3Up9'[GwLT SY'|F;t Ŋ S{I_n6B|3Vj%E,DbU*MZT/.߭Ơ*"(ewP ~oYт`x-#lz>sSbm*eZU>RE"TjRY/x fª"rM[e0*\.瞽::+5ixU&sڿ( Q MLŇZ<\I ZJ#[|9nUA tl U)9.kq˔*p@I1?գi|>OZ݃`%^NR ΝC\h4BP"l58TpUu|_~Isy@(X:w ~b8D@1d/t*kF=.P.cm6aeOϗ,8q*-a%9.y!y'(a!5TC $OfULsnAc06H9GIJ48Ui WoJp(f ztLȕx E@")ȲMW&Nq{BPEekFk#U{?yU#: (کJe8Vڵk6Ͱ?͡]^gcc[[[FR G^,dBOIh0ߧíMn7:lHhc5=;Yŕ,Lgv*%⒠VIc@( b9QeĨ}É qt4!XƸKrRj'|=ʦ0T%_F6yRTa PAFcXWjfLLՓTPS J 6774C$ja{{6=3\#iv*ƒB?E<e<:TZEJ/8gK_g oX_'sl>*ٸZ9+ZnY#9K04q~8Qpvo>XXy_2ٝRc"<K3%N՟E(q Hl}$OuTF9PV77&#Z|aΐ b\u:IBa,AVvGC'|{~ۅ8]FD\F! 401 %ê (ȝ7rg z>9Gnnbb[[[XZZM$GI?33\Y]XK1@Gy߯EJq_eU GuqT1 Wk1+)abb"ۘYkwii 7# b~جƉ !-JL5k*qُJVyUP1~S"fvxHxMvS5*4ѫ"&@?EZ\ /D̸ʋτmOQmqʩ k4>%G#qz&]'+$Fr8͛o>C*k]U()z%y&*3*Quf(]/$' sWOaەU+klTBbeue?(DE-n Vbm 5D-$"KUbtSDmgΜ Z$I011q) 5)0(Q/QL9EVmdz9`*m&(Ceܻ+6|_we&j`)KlbbpՕRk1X QApj g{ x)F.}0ZθǪ=I~/dP<v*1ípv~ TT)+()TPP@ՅQ9e|GjU<ׇ/1❍ㄍS9\uQ/1XlQLUힱ\̭ ^qzW&6 &~f azLfǎC۽m6/B Q/xC1A._9Bz^*A6*SK%¤77l1WE,Skȳ ƑFUo:OdG6^,ֵb7$g^[GP]2 "M*gETRFLeKi=STcg1+N*E)9Ur,nj(cgQTɳa>AJSUԙ^ pg :(XDJL*aǃu * C͆Q &ӯPv%/Oi|($d2aR7nVKlme|߆n1k^RAJ LG k*2Xl%0s;q{16n=a0E0b؀R\5D|/<+P$E%ͭJ}lr>չ3NDK9U;!;#1GSbeXgP-Ȝ]=P(RlڣPK"b Tstbɝ*d>pRc΃ jc|OKTGVi#։cB bc>T-$ 62 r:Ӑɟp^|&opEgDc 9c'ZbåԴ4θQW܅1(2};^ c8M8`< gA[;VzNs!_-ZYrTjPrc}jd<p0̭*s׍ĆF9YMq6b:FaװPqCk_Ka"]*Oͬ1έRgNY㞏Gd3)Evg6Nυ'3V]7|.FenA$qr\7Nl6ORbib3uU]3p,pP,e|҈yOƹm[9g5N%:"ө@A3o^iwzgbhk ^ IDAT[`;3}$EPGUF"W z1S@]\uDz`HUɂ3kL߱6jF3&dIiJΙ'\KMVVOR9OT8ޏ"jΪ>btWq5bKy'VzHg|/~7MRgAnHN6~ TTU,UQ5TMEcȕ#r l)!!E̋Is7Z&L v\ 9؍eJgLg1P1-/ ZLgxĆPy3܏&S`O86^NX%8V׫c+-\b6CA܉tuڃ&sy[ 0]͹Q"VUWȳ}*{5=ƺZk=˵Z ~f/bP6=/<: &&&tDѪu9clgF?x/ZU+7!zŒV$AY.VW21"*ppW՞k䬗Y```5dL̀q\aQhC^Xk\˫Zqq*T-(Ty5P_'ga+L0186ZS e)'%v_;gD7D;gʺ. >g4ITQLHY({Q]C{YYTu TgI{1#&:VjRP!w49110d=>6f:FVmc{B8u9{>&)"6Pm(ka}j($ӷyK8l:6.?zg~3ZX,իt:RJ4&9Gbrm 6Iuv'WNͦ^Uzl_ (y4VܔqS&!r7w^x2TȆN qTLES΂9 n]=*V+̈́[53U%S%fe ?#6_B1ٮxbwN(.@K3¥2?5LM)MoܓOcʪܢ5Q_'(%i?n08NRUC%KJzLbN"htKtOd!Y Qb0~XWeìjJw 6Num]6̊y>X+w\311'&@q\E ⌰{Y65qgsg>HV}5߻QKӤ/x{y$qYUJx |Ʌ"[s.1<Buj3&''Jz jsnfvrT8aY>;Pmpv=4LJǂJ"IV1UJ>(J՘>5.{4gET5O tmlcDQ~6AP\l٩\ nsdyuV&U4?4Q-rjw~'᪬Bgg"eb Lq%X:~==XWV(i4\:?K,PS -g~Fv"CxRUNG?pOu'CkVɠQH ;~P!Cq;3<ۼUܣ joZ O`LNN"χd?Niib4M?\A#_έsx]f q6jd;pYXV w2>xZ)%b,ƥpʸ!X ɳ *Qp1ߧڱRS-}PSQ8C~qU7payJK,6=Sf{Z c]$*qat偽S2>UjQ ثF]+m|G;[جG ~v^+5X!GnSTj~m}2SUin럅 a9eܾiH E>Yk.c r@!_[[ _,KWu{3EM-nx#ވ3 :1ρ8],WqWU"r4fQq& U+pL OPUPVm꽜ftR8pq]5WힼrmeeU#XGl0=ygּSE *@}ɉOldYthi%lg[89`KuT)UiG%2OE\V UT<EfRX;RT=ɹj0Ial4d2vt:{}]D ױX*2WF5QMLijX8TZq0뉏`4NiX 靱;1W . z".wx5X{^! SP"i=Ϩ:G|~i-t~Sx5Ն6w>3*-wVyQpDQ`L66 $ɥVfϏ3X-1b6~9J2Vc5P6Ah>6.N:܌ ؘ*-zkǍe|hya)gkD("ə`idN_\ɿ+GNV 1+UQ<&WB]Z@@z1I'L+R RM*lTTWFpv ]USmq9|}X[[ ĭ <~HP@4򞃥X0*[_q8YQCjAqiLWםp=jhj@CֱE6XUu1<叝hv~X?7`}ߴAS g|w1"gm| 3iUXc->{x/ORSVdX>AYg>&rYט&ڋ V9_.2d#\"%>gɿ-_lcrվlJj8~Ҹ %UhZ_xpW1<"F۹MW VŸZʉq~:&&&)gNNN|:JtO"V=,HvP;3 -1󈇟}Ւ g͏(/C3FqXL⌉X?YG> U.`,mbb^4;3=;KUNgz,]9v%ZB֫U9Q@& q;QFGNE,zN*)9b&uoLc.'?j*WZ,:78R" jW|=z·: b*p=7f1%Ďfy5Jb֍]V앒Qa$ŦGIj$9b*1S8Ur:O5;0ka߾}{c_7fj|^*r 1NFnOc#!;H( 5$ToVF|&-cm^xB&;V,TATFxg,]̢[eяk jVױ~wĪ2gv,>,;E@U Ij7 ɨH>båb=Y&xԹ/7(l P:0*0X)1K0{5b/xދ̧RȜjCjL@gL8WP.|($"+RŧQ>qXN ǐ.9aUi{a]{RdlNG+ONkT*aўWlqbXNjaxZV0jlZ8s:)De(bT )ޘ1*N{cJGCe&\clw+QeX$Vs+_k͸aJ&%Ǡp5Mu(?J:Su?bZU"uzggIBuKU[սI {K[LA R]|f~e]0oC~an.-OTA0WЮ\.g~Io3@}eTel̸lLquOEqW r We*TRʌJ(n͌0EbZUc/;ʌ@ Gc):}W4{(xǞql2%F%)JaC:}<<}1FUeZ%+ s M\V:=5F0C:o砌fZ~ ET oBuv)P8/U`_<"N}QLNe6 Ymi Y*0JŎ.Qyh' Vʪ~x{X aOZd<嗹K a#剈jƄRT:MNIO{\RQsYrE9O/;f,fS_.PZQA= RqסxX1HPp Eɝjڳ@Jx|=CWhɰGv/~`Rux4CΦVL oo:&&&$)6|EPqGU<B 3Q^O/Y#󘎅_+++Y[U7}˦Mźxݔ /2e# ,c3:P#b6?Dgmlr`K[Ns[cTS.'3;XCBʩ rۺJQ9F"Yg,{cokuʱ|G\L8XƬc{;*r&kQ("d+jߌnχ7$SqnQ@;֐$ voN4nXDT&:NTL*ƀWp̞L*OJUWW|&#$%^pVlTVSiUMg zBBx<>pGOT] 1_3jYAζ5Ou(xIǼ*/F:TbD:4P`bROd'Cؑ>3T.A=e[X-ƧRwj9Wb*Q]hTӸ<ȝjj[ ԬX}'?A7PV/HT*h fre3eUeUEVA*#oվWJ%Q*E2N#6^؜@lb+7l1La&q˭b=+g)c*'Kr&;ƴ;&xmfp0Q>a2 lF9|&9UWY~{Y#&P.&zCXcYmS#NخgXK[Ld;J?NlTF NWȫ/looz79xZݳ!MbS-<X ';ظqqӲa3.{FT)"6cC}iXvH6 Mes-ߣ*x1%بwyk'y-ʂUyӟ7&?Qqbu`^<[Ky3rk2AKe걩1q e#ǺmJVtxISSS7H0YBI7s渡Uw EPjܻתTP(*F}.6RJb⌱dVf$MSJ%t]߿.\@R "kb1腅Z=ߤ=Xk>C5.y皮?#*2ɒ@^e vb7,06hNJi{ \ r|>P}+)sY(vxs=ۂc{ɼNLLnP(fv111mT|n6.A|>VPVBΔ:kNJ^t\n7܇]SܓÍ2A4MQQ,RfDl}~ Cyt:y}tpϮP}IɂXo3^g`6=LX:5Jc:L5xZ< Ao<>}G $ {ŋP nWəpBUpN&o+j 'y'@!.0R+oU}L#Cp BlOeF#)fYdj(JaT^lS!ZY`$0[yb~+^gǬp 3R0W,[um0.3V";0U.|+++{zE>ot5(l gP*PՂ5X^۫1hQ)mk{.FQpZ} r$J H 5vkR .\.&''{z&I0Jd8B"IFFwGH1Bh4M>0An N#$)(C Mc7=RܺN$h4 0;Jzq-j0B&K&# Bn^F)d`4<0Ik 펐M'|\& F:[2BF7d&@7 $m -2/gcu >;]nqcl#$ |3\ P׈ H. CP$@0(AJ $$ $؉8n{k[O=!;U{C h("/.GD] Z#cx}ע#0O7kQcHXB@bc^;mgB@lf΀m7Ggs3!"A,uv1@M11 Y ܽ{>^iXSO=uaO޹sg{{{Yxw޽cvPߋ|{ ^2LGCB2x ?)Vszl5@SiI!]᪪P|Ǖ+Wĸq!2kL6Rz1zVyKrfB4YAQI.d&P qܝQcOߣAR:ƛvn}6b}2kUqhBݲ@ìY=P@U -kE"}@G̋qY@ic#Vc]>tq2}QQ{qw=֪!yBi B0TpFlU}IіXB٣m h1@ C2Q]٣ %z8Q@} Т+P`"+te m E.FXz1Cء%q !C!?ER E-z}D K MQ#ġk9QĈ;ЕhBD=>^B!T1gggxߎۿx<\X |>T~1k`e)<5"gI3^gH{]lIWb%T%G.(ƿ.4B2eW釿?p{K%fLTumgP^FfX`HITplY91-+٤bm0Oe, (@}h^GiJfn߾#^{5 o+/>G'#%^(Ml?*66񶵀0y-cf`RS?1=cwlǿ̰^xj{{6t2:]vL Q?m{G>E|* 0q“.܋ 's\7O*L9VXCEt-5kqc\Ѻ@^{7*<88 <{2qEĤ*pJ|A5~g>¶ك66t,aHPOOOiCN7q 4wHg:?"X|ް`_f'.\$ÞO;0z988h4FUpu\v w]"^0{38QJBa5SXg3P-rlĈ_U ͗ ʵlϳYE څLF i;bgw~hq?ԧ>sݗ_63 tX۹6-JNظlQĨ=h f~cPԓ+8Y enz׷Qᱫc|A1c`Rt}ULkla<=p~=LF,pvpR5x|T[g-pѨ͛Q6ֿo# ": ۱fYX}+?[z{kWpz:6Pw WQ Sܸ~N53Mӻ3@9i;wf%Ck븵-?{S\Z&֛~|IƍfnzWp=צmqu>|8C=j zu{}g}`\55- 8>Ŭ~;8WgɛMO9hܸ:y(~˿K.5T[A?V@c[,Wl_8Wށ! E 2Su:GqmfpB,^$*>WoߙTx`Sc4WzYYl\w1PTkhGج eD%hlb:c,0;o}?tz8<:|~8?Սu;c\WXkgAͰVh)X 6=&WOЄU9ƼbT(SWc4]tx[ߎo__Cj ]!T%x=ַ.&Ɠuܽ 0,J"#D Y&Ǩb÷+w_l^-lf!sxrXGhN4n>t };)n|{%lo]GMĭx廯tzQ3E lnmc;Ycm=C7ϿAs6ǵWq2k k(c]|γl5 -bd5g N?-hQw#3EͰص(O=s\Z#+~~#wd2x<>G}mM`wwwb<';d̀iq*1/uv&76?SIk2/} /}Kˤ,ˣ PO _ YVjmL^Ld॒ V2W<\C25gK] i/ͯZ8B=#fB(TZV;T2Vެ =4{ݨٞ}|珢(" !iZ *{GYh!ThE#-Fu(hΪ{ʪ@?1C2a6}.1Ec<H,*e(0昌'Ngҡе(Py#oDh ʪD g_l P }?PCt@ߣ(bļk@`j FGckMӡGĸ2|B߶hk549Jh}ma4k;ǻwb>Ò9ƣ11-CU.kD3cksgsFt} c{*C` F-gS/?ʀ@mPGh|FE]%GnX`\GbD6xf6d,PB)A*Mb yJQӭ`Y֯0lm`0\sWGV̎cY)!nxרTGS7jss׮]C]KHT|vv/K`uP1OOTQMQuQ`~z*ӳAߢ_zUY]aT8;;E0pLBqEY.tHF=:GU`T!-2 vw%B>wzL&I3"F}Bj\;lLjأ$=P@/a=z*>(큘S~_œO>kkky%~r:*{ZUyɆW{:x3gSZoE<(;{iU8Mc8Y LU(0$C;({wR:?aUUK I9Ɲt$__drN| 9TLggebQY@1r>%@)&3<~np& jގsAz f|r l4_|sBakDki<`/k@O%=ʺEdqKQ#JrI0C{J=еo=dР)@}>uA^{Kz.UU-};n,%>*bZNLf\.}:O~[[[8|~N|HMqOU fvJ<\N3i(QVȋ{ZO LPrRjΪ9`ْeY\ڈ[1nclnnb6-`ǺZnl 9*Q|v62fC9*c~]K^95t"L,5=`QV8yc6nŀ(D(- E6.;<ڵkˑr|>_¦9C `¶*gOn opWA1=6kKVi*MQk[@'JyƼiݼ,`$+L*SV`(+?Ĕc0G72j^+[(=<ϕ j^umQ?c,>hm?RͶZVbKїV*Oi(Kn5kP yrHԩ1Jnmj0SQs1pڵsɴΝ;?_ IDATI~=KF ǂz}ߥ,U Q9ݳ7wsg (Nrx]_M$gB넧7 ['xtO;"E>jy{PP ƣ=0a: o)є5.:X&*Ӷ[qE!S" I(wXTrvjkYɾ+WUyRV9}VdMl%Ɯx+ncוT$FiߋB{TA%F]SU$չ]Uc;H__!ƈ[nڵkN899w%&\ZzR_IP{L /LJBwLs>N ܘ:cXSH:{gT`ƫb0Zӿ_|M`oo7n}u|>x9zյ(?of%g+& Pru'lXQ$uj&djdM2J,q:CPu=pwyiؖq:,돱AĬk8l4ј*~Tc$fU ƈ~kk],ֹƇ[r yfoQa܂Gb\ऀ)V{=rA ɔj+Լ) '!&C9-Fg8*܉%΀X>TnwoJfj Zl)oU~,,GUJh\XP@{'e$jɱD ٽi\RH)ê k>9.\w#UQѼæGΩ20XaiUO9B+lZ1I(C%ꀷ^gVa*TRYNefܼysX4 !`}}xQI :+V̪:s\5㙹<ų+W *bOE=yv2JjSSG TkRx Wr mM*4VZegЩܼwc TB/D%*{{y ee;isƌkPr¼!Jbm2hyίS!}R |:AQmOuH*̛2+*)W#6i,`JgcE>sGGGK?eȔit]]}N>p`Ub4x+SDqX“uVq` 8bt-]m65Ⅻ\e[^ѣz%Snfaoa]ɕuSP{7Wf<`yX]v1w]Z|ZZ& 9zez]=ڜ~]Q~=\kB`酼YE1h8p[IR?KqyAU1DOy"Xd;HdX0;P\=`Vܩ02xW?rbWe{PĐqau:uJX 9*H)0}f)@0]Ux J߯d7otf>jJ>/5R4f,U Ҟr'7gN"di 9Q⎇hZ+ƨ<iW|y.^d1'O`3c>/1/nݺu~[l6s9c=ՖVy-!)_X'>Y{fz-=]܎XRv10g>-#6Q~&.V4/ S].<ȁJl[c6]ȢR% &9jNȚJGmm*.(Bت$ޒ%ɵl[eUx)Eɝ|M,>Yf;?Ic:u w)00K*V:dxH~<倚ݨZ.(%JQ"T"P<Ӗ9j,M zPpNByl.m+LpѠ)QscKoՊip@Jk y8 ƈnUMS" WԢSb'J҅s^dWEuT@-1f(3LTVL۵x<,ښ3l'G wXuC{V xx <=/5d!+%cǎ"SYjU5 ARjyI g )0VGcM/eJm,"Ak=61l![y}='d^A:8H5sQ9s*<P*9F>j "d6- bՓ]a{{{9Lߓ3OLQVxXQ< dA/]ƶ3i#gUW*eNHU%_=~8TamY$Iͯ3U -gC jR 6b*P: 삨k\BhT6% k(y`IZ+i*[U#^NBٸ7URf*]qvڰ#,JzT^d䕮Ns'\&]Pؗh{ES3F So疞ҙU/3R, aQ#^ m'rS,XXMͣUe$`!x[-yxN~nQ?biZxxOJN*pZZ]|EĠe{.)q5JG{rվ=$Tggl"l=lJ<2RƎג*X[ 2X 凡4Tx|aR<u2`wwׯ_xszzlzwww/xM˭&iKgT9$*wTF^J4@1s|%˂Y[.ԑP@5fR:ī-媚)ZUc.Y5-o8 2دRXZY+nja+μ:Xy#s £J.%a On~\{4=)r9z27-RTiN&s9A,F|&щ#tSYl8V)Q=h>UJzgqRe>D;{&)>wz+{='IJ`x? [խɳ*b B/ ?Fja<}gNNN0N̸l+%3ͳkO,Um˒P JI2%'VٺzqsQovx[k`+0d'坱%ViQ.*r)bZciYjzjo)NRf#QJ8rX0 ;YvYvdFA%45WH`b ޿LPc$R;ΐ=EU/ȫ٤BneΚJ@9/;R-S >vvvpe]U<=<5d*cNHsngƇ0.jPD'>ŝ4E{WLn&vJTᬈ̮P%΂b}.ȝܵ5;Ca:v~|Yt+ gdRs㙔`Lj;Stn~޸B*9}Qָ Pf],%'\A‚dHke`) (jHaNuSp|xlq*o*LFe\r=666Ν u]kloo\c[܄&E (c'psY=,]D|W_mkGB6Edfͦ{`:ZWʗ^U OV+A!ΕFoZo1{6&2ߥ\|፬ h?#u}ln>}Q w%<<'`@͙s])КVfH2Aj7+S*~Ku@mT8)56ʱ < *&;\"KYgݗ6/r鰩bDTaqbʞ9U2L\PZH^{</ϰdsya1ý{ scAPT+Rl$|1SU܉[CJ ly(\y})ܘ@1@e1$s;#3%Y,H5?/=e+-"/Xۉ`;w+QEk+ph6(Qujbێ=ibN7RͰggg˿!`4ߞ_[[;gΆ] z5Quz]acex{-TI&{>MֲOC\BVLN-|lwǝ }nĥTRW.Vi&H}u;e J9R!{I *rR2ܫQJT=%O9bF'a锰kLlW_&e]X[[;Vica}}}&1]<ڑΫ"Y1eٛkSny(\Kw B^ĒJF[YGm&Sς {{8#E TL1u'M3Ta\sX(㠺 |%DUQhq8$J1N#( l=vU9wRSP>{({3cuS,C' :y4#lDMC6EF{,_w[]X\b`=}|!ʍ&d=lJ=(c (ω涿ZתtrXӬ::-UPJI1 ^uGrVBuUQ:=ko3(C>}= jBsLE5>$<ݵk+~'~݅=>/H<;TJ k(L)=T떍 iu·g*WC]>"3gyy2*;Rbjţ/oNumIU%*M0Jy(RTQ > "vYml7W@9ٵY^7 dWAUUbukg+.T. [0~nrO9cx FVN-&DUc#W^ĉO*+pfxjjfƣ7lϭ֜aUBɁj3#B>^;Eʹ-yyX >JWf@F u(WHP8c#5QꫪV] bixl\jlqzzld-Fj`<cggh9UU(q yn*p]V²deĭ;}2Vl$*y(c}1UK,P7Unz6!K"2,g֓JXzcxf̣MDAI}o9&4T*ɵAyyo}6X3Tzd?lͶy7<䤜՛:=p'ו}SO╸yuzoXՆS{pYXOK=AT82 ){NDJɗagr^ȾӴx(fqvvRk*H)yTZf~!t}{mע7^VEyˇP\@bƪ af[4KUm˅阳(hi$U5-U]_i`KmZ5G x2?"ʐ b*G׻2\Jn(M`D4/$˵G<<^nx[bx Uc7UIn(pq|]D Q&1^$+GV&L\~Ý+/GS2G:MgƵ|| "a/SCA74#ң,J~0-Y8Uh v>a\tyŨ# pN7&FDÐ)NkS,"H)wύy0<`.eW$Tabt1GYk{TuPtMPC𬐂U"D2(nCÚG\tzeĈ,,B!b:bD{C1İ,s[d)I"bo:uHH"zUav=b)E]Zea-bm;$#BYG?\dBNDe]e((1b(P" 6 E`1% _ 1RrxaX="D1$(]-nE@>a}}L|1բL(LZbO KD C@P=٣E( ! azE@*48LFPa(D;¼yA@,)1Er}@r@ DhDP]$fn3^(ϭa(ܪ>PCw@Y.!H(nB9Ġ.1 &.ִ`) Q}cmsFeG:88Xuz>;;-"ūVURMQA=WEqX,ޜ>Dg*Ttn뵡Zj,:F<ԣ֕BCE\zQ`C+~AU㔔Z .%Yϥ2Fhb- IDAT+ޘHp`nud^P5Q@0aF:ɠ0|d528UzXE0n\n%7j]@Qg w/:m*v-yݩq*S~:|e1Hfl6͛7//E*=@xAZwJu0ͺW WޫHRNeaQM/j%'ho>4?k Z^auWg*5RgV ӞU06YRqF.ARլ1pE^h\=W@b^R%㼯ysLSwX:yކu^c^cvWg) rW \1{@cCu񄛔ތ: ]"o([* u?/| X___v <<<:^y @E^;a,Tf֖ >a7#]`g64׮R w\Qx˰s7^mb=#{2Xq,b`<)C^E!O {?'ңYNQИ}ƜZyq,kewE)zZ QɆ+;6ɍf2RQ%=ͽ#Mb}pZ+%}^k:^5:11N4Zu]/P,dHgHs0:Wu{,|͹_ ,7C,2nbZqw{*qZ6V=uݫuT5[^pY KxJ^b*`-7^:! 䬪;N|E+e+vSɋkG]R\Tֶ´yE,V/ϪN7ZݾX- gMƏ:ݻ|~3l6L #R%vvvmx,U d{96Uפ4$|C&x,oc *{:,s˰U<$5#,` eߏ̸W$^&9S#̦<Z} ZW*``ywK,rQ4x^4wʻD=RQUWLf8::pxx3sF"m6^]ר F8H~^Z09-U-18T>eCwl|P淹X6^*lΉ+3rɳ Xw`<9xU]3/E兟󞧗Į:W (>Oﱹ)Ms<>>?9t=7o}/~uݼ9YR8]vo=,+g¸Je;e\lgŅw0IYbr޺u /߭666??s_ioB@hWV͘T%.+d)2 O#2PZԳ(y] ,A×3^PFr \V} ̽.UU꽮=8oﰰ|>_ZF3ށpjkYzM#1>&~*o]0HcVӒOOO|oxprr{k_}Y{֭[x;߉7oGGwx|.fcl镓[/޻M:ʕ:sR6%eGx(.Kn< `$f6](rmMF8>RT۬!YPT^*NWqPͣX&Gڬ$*@:UIyi\VsPןW߯^5HqXn-,XEur*q]f%(7r{n6O?[n]Y=d;w}gqʕ c8tGGGܔ{Ν;~:y*^xrSCLe}ʯ A]e221Qqxxo|X[[//aoo[___#撯t=/2>]z&ɥ᪣|'ؗ-o|y<}lyz?e9^l::rxbT*Y\r&?kkkˊ?UU_*x r3|SV͹CZp?޺Q|Re#qRZT*ye:< ߥ ^[95Z=0 /r鷔駟F<~7~ggg?q _W8::3<}Cx;LzA?cx |_i3me~?2[ڨ٪])@bTóXr-\~(_+vW<{9;U Y}ߪv$%Wm޼\tykxES\ ،"z#-{ȩ.jNz\)\M.4+Oý{V*l۷owJ4Hw:裏~7}Y7 NE.+}g6wWz!088ƀL@\R! IaU8N2  5̄8 e`; C,~I%խ~޾!swϧOU.Kw>{Z;wYNh4s\.\G6oތv͛7g=VkCpZG*?TؼkM؃\E]3.``!&fSk{޽z QH%3y`gbc~[e=Ư0C@+0&"&2x-M-(30EbSrloITY]]__/xA'[1᳅t.q㵯}mFDLBr033Y</ A}݇Jn|m6,../}):qeaeeַ2W/~ϹP.koo/ǕW^᪫BVç>)E/@gHF_vdFFFp}n~&@]vSNAA0::jZoSv|i&seϭdJÇgEUnBדO>yb6T`"2aLxVEfeЫ0P˴Nix)}`o؟adA[YVCl7N@?~>yȊ^PB+aDW {h3 ϒ}+iW,ŋ8Y"k"%擺J+Bi˖-۳ъDH"׿W_}5⊁k8sp73 //*p 馛Z-7~7066jlbϞ=Y" غu+|>VK/]wݕ!=*ݻR +++8r2;/b,..СC( =pvB\ƁP(pꩧbx[ߊr=;} gsN|#>NmGwC|L>U}w?JF+j_W7~y~zիcmmmpVoqU* Jѵ6VF-iVaff `QVO?=Э|#'>ܜ${A++ 6ί6":M}Xg֭طo_FwRBTnW`);TPHS*9AS2/B#u{| e(rZkțbB7裏Ve=Pn޼vJ=ztW"van۶ ˿N%͡^gx {WoddCCCxGg}6J~T*aii +++jWΝ;Vajoq]wᡇ^:\uUJfbO8pM4w$XP(JyAU,)2١lSI.tnUM@R2^K& zySɚZF[ ՓW$]ֺ.FGG|Їt077_@'?I\z8p?/%q'~˿[>;wcffz~:>X__qZ-ݻkkk? ./{pWbmm ?'wy(˸馛qP('@Z9qE .E\ /P(=^D9LqسgOh߶Q^ǁ}j"/[mu..Zl!:FP%fgg3vcnD8b-EXR6GUV`Ŋ*RU&= %/^:㕯|e[Pmkv^{- _~9;6v܉=(kEu|_.Be {}``aa333زe ^Wfvmk1>>: ~?0>೟,^W1::[?i<7Nx=zك۷رc(T*7ǎCYglkm4׾|Je5bH\2BZgh/CC?g%$8ޭgbjarrfr~ju@2=Y =%pj2#PyweǴ,̬oBÃIPc .fo6ij)䈒CP0 lgU IDATc:a$u Iy#1٢ƦIM[d}{{ץ^+BU`٤Zk*h6pWbaaaCȑ#x[ނc92'144iMoƒ>V"<\8FGG{nwޙµP(ଳBBT|..RLOOcxx/2ٚZ뿎~NK.ǏGPvڅK.$C:r 6zx2nzE җrECpg~ (R@e;N^3zslf_jݫ@Rb˻*ȳ^ϔ-υ0/Yvv_}J = *>9J ?W*59V.WU>008 v]mϰ`׹m$5-RLQjé-LiY®#G~p饗3Ϥ eߧT*ucjj '$l۶ /1>>;vWW3N gy(կꫯƟcttt(0~J}k8Sh4iIZ?A| _?9+{1s=̊xŮ|/zыpҩ{R./|aoO?4̰Xto>GQ{[att4gjfgg (\)dj>(oߎJiO䭳& hͲu[/uۏeWTŧ.r[=M 먬-xٮJ2hM$ jA=Ֆqj̒oETAdjk=ؽjQl-zJL%*MnC8>RdZ{n|+Wm022>}kx' EV7VMcKRFH̓ylm - `桯U2Gd ͣd) 69T*aaa۶mƀ| Hřg jB0_63ë*oJ 㤗ͦX+"UqCVYD{ nY$S %g#{flKS!JY[h}T¬|!ջZRfc^Ay|/fpȮMXٝ;wO)]vl8y!ˬpbdDNz:yyl9pzmtz>'^16uFZ8fffP3Zv3\pTBP@3*O)-)25{BBeF4ܩbVRS~[D)?z&`fu=ެ.*i զtc&x4A:;`= ^kck*U)y&rZZvT>5RPG;n͜=$Im`?0FAIZ &LkY"H,I`4J%U%* 7OB7lm yek7 ɻ8ckkk2j v#ej5fɅ=3J!bu2fS$)WH**A9a#yd)'y~#aC+={6IBi0/BoLXBq3˃0-C<=?u RVuZgJEclX*2,ś:ܼ?HꏍZzy=^b֪8Sq urc(K:D2155:dqFblGb beO鞘"1h4 L)"K(b8v0׊પ#Bg< %Ơ{/P" c#)o|7ED `dXMNHY_ , հZSJf;eǮ⑭jGDH&pƍer(tRɦ58 l޼F< U|c8aBU1xn{ӦM;ꓲE;V?(y^Rzcv6^s,<#R8Q\JʫƪpzQL4-Sdsv̞ВJs){(uդHL#FIuغJn1қbcs*{KBߋ*DT˓FZSIf\%r*ͼϮS*zm<ٞzx3(he: S?"fggQVl6Qղn7ٱcױ}vg?C^G&7,ͲfM8~x&)dBee*Q9O+afĕaNRLEZt< dʅ{NJ9RUbJ!Nœ=*n R*#ˣbMC BRjY}O)6UE6Rȑbȓ,x*9J+&0<35枧zsTqdx,x{ 8OX{)Xf0 bnN^al߾kkky^CV ccc8x 1777n=!؞aJ BIe3NF UVԡTb}U(KOQtX+6 cHB-&VTOUS$c}.QlO%7I ,qs`ctϨͫ╨ ʛğ/6J% Xѭx=4![q'޿}gyfCLSxrR`vvϦ6Ũ7M߱#/?,9%dlͰ05;^LJKahl#fp*dY!g)K0v2^ [,^v?Խȴj?ډ7 UK*ӻl?2[E,U1?bל/hZVo) 6yjX' X[[ömP,qL*"fff`j'!e*>8 XB(|ISaeofƂHj<9LTQFO#6z㡌͕m|XufC9Txؤ׶Q˪ D0ƼR=i6`FV 4KKoP《m }6NzI18>R7ϦTE$*6Z#x"'CL_%V(`?xg+F^ZZgNbxj^gl\~L‚oHHV) gnIUc,)Q3ySSןr2ݔd)Iioۊڄ޺SU;K^#&*bBrށ5KxVjV>."@e] u9;bKٮY5.[PDH%ZIERc'lh+,jg]!}h K$mr@yiޔJJR<@ >E&XĶ Dc*'{uD e Lp1j5Wq`{)jId"m*{q*X%dI{29hgUu^ekBSX))l8yX>X"A\V5k*UQyα)¯Tl%lwJ5fq/X{J*aSmo-2g Δ#m+Ay֡JU0Zb/fٟ<9kYbUR=d!V1C`,?vv@ !ZTpT|Kf~ԝ`O{?X,SBlR]=)5b3&[fUb[k[hV%~ ~\RGX'¥nNR@v~B )#%^e#PoFc7-g -ɉuZ9, ajlћjNJ4[Uțbaľg֥Bl[/Z^bj5hKg{~FEb aB{"FFFtn3~#F=133QT* a!8hLvFp,k؃6QJE#k=,"Tz2RJ>ܫĔ օWMm"E'zyURr&s$Sx5hG,BMX8)(c22Z[bF8aT?`c/feJ2=ʈ)$kuQda41&CZ68^R`xxz*@eh27ԍ˲ iBe7S|b{j -QώYv3ӞgVm:9WYJ85ϕy*pV)6FĢaOYrt007ve3VHE X$[!W Wxc4>żI8=r.[c-bB'S{)]J2VhZ)ҳju{j)YsX:T(>hLG wbp 4Mt:ڵ fsTU8~eI1 t>R:+23rQ٬zA=js6%Ϭ*x1#k=LESxuw.IkJqz^/;`S-f9콏gA' lͪqO(!2}{3|Jm5t<&o^B!2*9g[aQ?]i&%g'؜:hSA^Ow{ԔO\)]M3qaus"Z ~>,b^%pԫj022 gv`vfDF0<UʲmgffUQ,D2uSv}y|*LJ_=<랄w`yd$XReC|x EUH!{zP^ ,V4NqA8+++t6ՙA1SsaabsZNAŽt FA>)^,y1k(K"l%Ȕ 6bjt`<0 bblF)fTl2荄nETGSUO*y aɛZċ)uڞ;KN=fLPb42R;l1ԧ|>&` IMmؾ?BBĜTᵥRR%ZoǏKrLt}*`CTkx1>~aeE4 T՟c3qLNNX^^F>l.0fw`g(eP4$=* Z$\FΫ1;䜕&b 3[ey*὏Go7`@Tl#ͼ$nUٳdcD3g9X OU #3l'b~6LzX6y#^U/UK.O^X\TDYM) IDAT(2>.<)Ӫ&TB"x{S )I2TD,9t?J%T* T8~82ģ@\YYg~Nz>!VG . |z@.xU)DJe$Ԟ"t:W`-xJVP ɱyΩ%sc ;L%US"1`P- %":zU-7YCZxɔ%΀&.bUQ6Ǟ p*TB.yJK<0*D϶JcT+D XO#zg#lq3|ucET9nkD\1io-gW9!甎KJBj"պ?u⽰Hb{=[ Ya#OY7ޏcGh4X__T֩em~jN[+KmaZ*N.@ö-ρm@KP?`Pr#VɏFb>FԄM S}vzsf U#Ab+F0F)?=鼾*`RV^y) 9%o{-%;ksZV'BM)%{| -LR|-֚S-,ekv$X, },qAhRiCm[|<),RvXRqfRj7%9q,!a6'fM堫pKKύU爻<|t]Aj0!$I?o8*:~P(dg~$[ቱ1NXS@.e3s!y4!TK#za|jz T&ME9{Mxfj&_TN*VMy&9"Sм4Wwxc(M c:9sv"zUז }VԞe-M5q)o]BH=dFJ2k]zd3HY>Tp*echdℚy{FgYgP^c!,//cnn.KrcbZ9 q.ϣUqP!f#V|ϳ>rʄm[)~WfI7?,'AE*QhS^)bvxyPGF @lO^EPx0Qcͩ33cc"[!^5]E9JhmWd#5zȞ瞬\^1)Q$RZtJS?b9fM32 kVկiJGl=D>EԴ6FWTKɻ^apD{<^bÈ79a-<mgO+%sOQٽFIUU*z+RtI%yq!reg<ܺ3 X)cX \[[ۇs=7ݬ][[:6DZo>ٳg3$3^2C> OUyͨ~6A`(h!_&m72REUP-tjB )H]w"z:4R\rp< jO+JSKF=xڅ$GXĈļ5O ^̓PXƐRUXKҩ]%nj;: J%=ovn}m,zm,MD)I˳ ӕCCC矏|pJ_T*jEر##[Lۮ*LV=VekǺYL ٱ<MqG%1Ep4Xss=tþLل+?BX[dBTy Rn^\,~)([)W% Ei q`('J'X &jHެ,DR5,--N PNjV ne T-0fS;Uuy4Ŝgr^ńR<-<u#1~Sy _yWV Z ,QzTLtYUaɳ&FkyI:gL!V:=Lɼ}vZ%*z5i!$ENHlUZv؁!SwDX]]E< cb,V= "5X^}Dk|lD&(eJ%Oy)̂%J `ZE zd O3ObINgtStI^ ~"W伓q=TXS閨$Nq*X2,Y׮1MxO#N{OG*T %$-*SRl2)VWcZAn/&Nxf,ܶ}nu@6FGG3ߍjq"b5 Uj!z@JFlVÞy8_6oޜyoH$}}b(J;ke}%5Jkc0:Nx״^5i!#\S 12'HSFrJA >q g.T֫z 'K$x36p|M@n??Gfk4?y7Щ>5Kn;wEr)mp&&&011s9eY1;V0>g̩w**M X⽱Η@ ۉB4iL$M0 bzjDK*ưii+f~"qt+t*YHe嶭?<+m1"U+ ɳޜ{s^ QV*[۫":շP@,Ra PT±cя~Ʋ3"FXk&NȖsN\سgjpرsNcǎ:,|O>YO&!mB;sOs ?z(,3 Bޛ{# Hy-//cݸP,[ ^|NyUna':˫*iiıDYx{:ؔG'Oc?ORxf|.әa9rr~XXXV![-´}{nw}.zbRq.R,]2" oE9<6}"9NM(K`mUz29-)2rC}{3"QL_$}J;>lƵ^زe fffL?ĩbnn7oƧ?iXYYIV؞r)%' =;xEtyyN(47nZ\gPlA233;vUSNjM,y >J~kũMq-ZZ)/`zm8[) [<2d>axxZmsY+_J,--%yતUs$Gqeauu5;捸up K3RYeYvx(v؁'}ݫޘ#@sU|ɧGdDeΔb=1/[bEM=JEcev} !쑵5t]bii ΦO-hH"كGyJbM3fq'gΡJ@>/+^3Y-((Թ5̹3 Z1Uϖ^E<{n4M36~<:%q/T*ann\r { IDATmj\133 GLz=l۶ SSSx_38ffs-,,ફ,kը֑3.LީZPx!^(u%MP'E\s5صkZ3I_C<8rHqرyk011 ^{CYDCKP,JRnfjJ'ELq}f:nlDm\v}ʤ5RP*eLNNرch4vv'6zz* VVVe<FC͸vdӎ؍kM*Y`yF6_W^p&*" ܞ_baqħ)5DS*Ho({Ap5mw:);wZS|6h^j46 .nZ%155lWqVI'YDYשG|bFHj[$#O6:=;<1oLHwRlT*055qGUk6HdJ~+++kttGG曱 pZ[nE޽{q@1l-oy fggsBIPRR NfЇpbiiN{"R5#↟jk28 n?q eaZ;vǻrѤZn~{vmTA WȇG~W-ETHy9vNJ'/CMxST6N1p|6vSOݐ3?CZ>n6l(z8ԛ7ƪYcm+e&RV%9i]*'Vr}&eC֪cӍbyxMX/r^q,..f\US*N67E*)OE5nYN< ax*c˸)˛zJaOypk6^K2χE\*UlUhMqaaۿ[n^z)?>Y幹9\uUM4l£5I|"n6lڴIsy i&z^[bjjjMsY{\fC`Z\\ ^[nf,//gjqU.qUWG:P)38wm||r;3 lQo=KTl}ߘCcp+& ȐPomXVW(ݼȮzmvSh.SU=榫bBA/6Ȯ?9[A)xm s}}bIT⢋.C=Ƙr2nP,3Ts$C& OXo2<ꯩU$IKU0zf\k=^o8S 39WL/زe nV|K_*cbm5&Hx+CmG*dv 1|e++^ jANLMM&nlzU^:5٣⊁Fv{'kKةk>::;o}[8s9ؾ};~ʓ`Z,=NP ?.fNSrN߅.SPԚ{*.k`o>#G߈?E~@1<E۷kkk8p@r|B%`\Ç1??v;MbUCaFձ2baj3?*D/б0`0#LbpAb,ghz* Xǎ{^x㍸袋nj6㘝Żnz(r8E)q8@iby,--Q!?Y"lm1{I87M_~yWcQt:_q7h H=H8GOy_tEٽ 5 |ߐJU,FݐδLʮT*~nnö m?ܛa#OixpmOpsU#6>۳q4lqhCTkkdOvYzBHاzjR"q!~QLMMaj٨*}Gŋ,,;H2}UYx$vKj2 P)ƱRHUvjCaS1`ucuu5k'kkkشiAT/fNL#T`rGЏW;#`Yc:ubiZZߏnjF7|3߿۶mې//&_ߵk׀j\.[V㍻zA{LuZ-e/CW hkx2ݩTkk*&Q2EpT6e)xϽ~|^,,:#rRCa֭8xFT.|VjÇرc"fT@Hv.fڲjgҷ,f~ l)kz(0ZJa*^Īns%b _o4{F)݋-O~m۶m\w]sBT`Ľ3*9cI,..f X^^-)ofESQo~q]wa˖-dUp*~~ nwC^\\đ#GNSHo],q͛k.iUm<"IJd*1RERS98M[,3nD6%JM}Ӑy_L)Zf3p/| ­X,Ȏol3/-- RC*ćJ4W:@ܰhP<.%m@{PRT^ړVJn|+)[4WȣjLW>*gTŶ ⢋.BVÑ#Gp7{Ŗ-[cǎvw6V?MϦ,cIe ybFaޞw^:Ǎ7ވzN b T*W7M٨7ߌh4ڀ#:t!xs9πy睨V&S¡C2ߕpVعs'}QXx"5ENx 1MOZмXzRVZG Z9<%l*)9b#Ng@\G(I.28qLOOgpBf1."|X,nggNyyK(1!J^qR|<~ɴj-ÈUڧБT8|fr &m"Hy&&6(DN0$ezɶ+ x=o笳޽{={vh4ogy&/`vvz0jIY#bc\0=#6CIJk!sii ݻ7#/{pcrrR;EF)7b)CXC+C8Wx!6R$@ #2ގlH*÷ S)ҽ$={gAȈRG"hz=lfpq0Cf xf^bN^=⬑1 fuz\)$q{UτX *τR.6gbݻ7fϛr$>[&kOFM%ufe1T+~AG=J< , zj#}[]PA1P!(80::APFZѣG133#ڍR40'r ^KEb:9];k0b3OM? xyש568JrORZSƖk,^G~I%J{$V睒H]w}ȹ^Q9ΐҸhVϛAX;# *KR*iy*a Kj|,x~JKv<_=pv%Ej1Yau/ob$"-+#BW^CÔvDxmLJQJ9 +b@(Gz":CSӔA{# RdP/iS!#q͒h)Fk!ՇW'~Ÿ96QeKغ푥=(8vϫRdؠ |׿u?coǻf0mZ8Expp`5XTOdfk)qX,83a)WT¤0$az eb C*Rz5Y)OKiD(Rf7ݻ2==3*h&R(K "lh "ߊ(J$PQh h*2j! P }ޏ=y*~>{sQ$[ͦ_Y#i}8!H\N0:(ٻwoW¥RI&&&K"kRTCP[:f%iߑ8~nE %;ZB&xuj Ahmc4i0GFDj &,a-`Li4[;ݻ{P('Il-g?KB ]TWj;ZNlC+B߷A\O%83͕r.wY &Cb80ҳ V=?'d脰CCR:#JõLs\GU05okÆ RVOepp0HhDPpI~Ppo Ms\C?t-,XO`$8Z_ W5 IDATT>#P0O *ˮq>vCEF;Xəz)Im[S!X-XGl2#okڃ=,j-YKh19JFαu,)R`L/h~?Z7?/..ʹ+vZRɺ쩟~i1[lĚIHuFG , x}O\G61-߆:CuDF VpP,=ȢVEӒ@ ~1<1g̬u1WuٺukDlN*ܛu˚5kCF9j5hØZcaxֶC%v师*U;>,` dƥ7\j ,uon}T,JIZdǜ}}z?(3H4+i8 :zr=-L?PWOf %X&v5AŸ6k+ [*@-=@ qf-JJBqF --d[Bj̡Vk|RŢR&rxT4}}}H _Ro"uEv &В[ B 1$82lK-d?>55*Yf)}Z#JzE %,"[;#:-XEAdYd t /kz1$Av331avO-eBP‚ q&q=|CBv%z=јqJF㰲&ݻ7\ Y@ЇZ}’lYСje( 4YcZKzτo+Y-Kc,%Un%@I RXEO4 t@YLt:-SSS򶷽M.2if2e]Z!Y9f͘+m}p0E>urٸ|Mt :Me 8BNRĒDv,9~ {EIMXkgVxLj$٬(gלiXmi?UVu jÂT|K\nA7*"-g=^ B䏘(Cս5C6 SrDcom,og:mZWg"A=wg*4"ݺƙׄD 9"{y׻%]K"jKu8uj M_$1ƨUv!qs IBCv 7\? qch|NYcU;ZZ/kA6dٿd2P_vơ3IEjv98lR)IxHl  ͛7'=W'rۇG*/&5޲4vy*cF id㍲^V)1OUtB!T`3Bj$/cc"Q: E#_P_c6 z,1CC:ksΑɎ|>/e1ZK &=^0}!HVB3)b>1he$hď,TkѴuoƌ@Ǡh^+Ə,,_]P#nKVY K8ljjJ8!EՒ={@(?\ָ82a-b Kw>ug!>UT,@Zd-Źz'4ӣ)4fSXaVD%*Aj1Yd2233#\pl߾];:4u]Gǘ䈥obb,!1` c۬ËƭlMSYSbhMFC-bq,>5)T`tFdDE0a-&]:deVϦRPۚ|4OW<<<,CCC߉HJEr\L&̮ϗ`'"UyL̃A Y1qH?N!gU | Uj!)v`^}~: p%_/hL,nj78'Z"d2ry{+~BnM=I]?av,1b(fJ{,9@b }Y `vu{ C.QB:5'Ժz~lv6^ =*P+ 齍u|,9C09CgB~wTvv89)ٻwD^KX<,Hsgփ."!.851 &`O] 'Y$Jb4jsBlsYa_#t3f> Z%)1 KnJ12|IG>"zjG>[Xw݉3 AzYWpL%VuiBFtcUtZ*U\~= GCdΕJ:ua}p#S6jG]kx`<-B歄.A !Dh=X[^&(q?NK[hFddpp0iZ-rt!*155%ˉ H' 4`iF-UÐUL!p#tzr: b>G  #mPs|V2FO\ kk=޴߆٬<\N<O \s5244d"b1C!CEд ɲLB-?V٧R)<66U!#$)zdnJt?VTZ'~n-^ߣ<g-1)+1G*1DuV(iK=UaYFm5- {qO]{CϴAdqqQ9Y^^DW\.iV͛7KѐJ W)BV396I6t(11`9kXP!2yi$OZwhbƒ`P+C(nalV?y9RWTLF^|E뮻㏗kQVkh7ZoF`Ĺ"Hmd2S'U,r9YZZzf)k֬txVRjdhhr5k-0f>5 K:?įAgj+{H2~a1έ&=֡5XEYzu2,w݋k%- }=RKxz(ĘheqRk2B=J ,4#A֨z}*| :Т&lzzڵK>ʖ-[Rt!"fSKoo/{9bU\H"h" }1.ցTwn4zv^SB|LWčj+D{yK=DfzY"Fk YG9(Y@ɘu~ pGʷ1FMSZʥhC1w#6ml6+k֬h6vv۷J@ ZHpȣ^&Ŏ-m$$f[ L+T?dLU?0,G֘~4tR5M4V333WWiӦ?[ѐk6aL=(n=#6VKBZ) s XdMQbS]; |>]vuh6%0KrtI׏{1U^WfrF[2IDI3d\($^fRebb"w<_W*ٰa_^R $=|'9fIСʪvDֱij4ƪ4CG( iд@ ALOn C.=%2ȱЊ`e/i]ڴj%!kqdD_k? 9|^rڵKr\%٬eY\\v-]ET6`ja6.;-AM<,bBxXՙ?ɘ,xjdž U2LY=G0=O4@UTVe\*OO .RԵƊŢqAΌz@I֕dckM*tcjbC' >}˶m۠]@Tw\30̊4ƃFBb4-5W3xPQ! .jK͆ Y4]hH6CIѐErIh46DDy)J277$ ZÿjKO<k@DDВe=9MFB}_"†ɡjklX>^(!d㐌?6/ $ )!1z߻_n喎޼}}}rX2㍤7Cܠ,Diu%$N&vĒǦ2o>ɮXVeσ!j1Ovd1$2QNT3e,X%`1~ C@G̍@\|K[2J%u| D===(I͐vNZ XZsB9~ղKAp~U"!($l٘#BkYZ^gSAop-j+qmC?W&i  ˭*BVzB] >z+g1)#"\)]3117tb]P#[lI >.wqG2Dk* Y=iWbX`iνG@QaK,-¥*l߾po KR244$֭Rm/&4yBI!#35Fc~*V#EͅNc ,$>fۨ'e~~Cc*:!џ[j޽;WdE;+3> Xߕ1cZMI0>f>/cӐp{05!#}@%=n٪5tDewYkixxX;.rАw}'A ʼn?X!UFGcogu|ڵkedd$h F^\\׼5R׻‚<쳦 Bk5[:wN 3bf{H3=B8&ƊM4ϜTGI @ŊL’vV%SSSNevvΐxm``@\.'Pp>)FuQ,غH Dx mkY141#gm4üg6M,C>"9\-b ]Yc)jdrrRnfYXXjK ~WFGG*.=珳2h! mbZBh]Y@YE ;wrܕi9cV 4rY8m*^y' #HZZ.U(Fi!n )T< \Rm%Fw3*RL˸#j5f244$rGJ6MteՒUVɁ)] $3~`CU6dcN;,f7۸!Sf|`njXfRL#)Ao1 ̪oEUC6gØm%Vdt:-GulܸGNnMFFF~9,#ZlyK1PY3ԆXI֎&xYX+q$jdqqQv)lc}-,,6)-RsJٔ>Z֭[՗_ *{>/3Ӊ%Ʉ")"ܪuaRZE"kj_H-6 yre2It68BYQZ+!",sss Bbkbi|4)Z{(deMX(^X}5k~ҥ9#e֭R;֚_K.."eΝ热Gw*%ol&TXh5;Z(%D Z6~1"}>2>P դ\3VT6nm_eٲeJ%Kz>[}8u=ڟ LGpT6Z#{_DpCO4UA֨1A'm.C% vlڴC ۿBɃajf>аfՒJ"RI*JWiXh{I[FlT7LNNv! JĚ_PXp*O<1m``@~$ƈAVuȠ 6cbEVRgqG,kobBKha1.$,ԝ6 j1"3N[;"{kc LNNv/;;x /&΃ڶ_x#˯ZN04K;3s[Ho3ֿX_#2 B'yHL_YX%DXU(SdsӺjfI/㣑X^[(i4ַU:kOO'?I&8Y,X!V*effFFFFd7)A+i="Du?"ֹ?wsk׮ . !CJ'_}?SV;vHX 3EA`gZ)84U+Q8e:!\kaC#_ե&B&plV&&&R$|^z{{j ' ]Щ3C->PV3-H cٴz&sQ{BHBcBX Q@z920րNrko5b5$[יLF*zP*\.'?4qrB<ؚafW_-*H6~X뮎)kbChfHOPGyDv-]\\w裏 d _٬߿_>O_o&h.3QT"UԚEލey:ó+nkCqBqB%TJR"4%k2޽;t܋/(jUdD $1LW~b4U*lQͯ-([|` fS s0,w_\*Dƴ 4<&v~F!ccc200LOO'ٽ#4RDr{ RM s}qqQ79#sssR*i9餓뮓HbB-8~qR&[PD|_{sss|FFFFdii)ABmI[裏jݱcJ_#.Z̑W\vĒHY/%@ IDATǴкaP6 q={Ðݕ0u!2CRQG%333 }gDܢ }٤R)if$)Vu2JH؇ɹ(YvMD@ DxBYd663%go7v@oJڲ 7nVFё\ ?9bG>C'>Y#3oO57a~~^8ŢӖTՒˡCiP;1fJHhMK{988(wp 3;;+7p,,,}yǓzwuO?]Zv}afvPq}'6&k2r~"?TW_̘iBtrnTI jxX\%$!cT]NMLעh|2<<,j)/+]rU[ZM@~_ellLoJ1}_u\f"߬"? (gxV1bqi4"Q]( XnLv[e.;Xݷ[OZalލ&Rl !k*+}re0>;XDISV,4Bʛ|ÄG|[ӈVIǙB {$SlV L&#BAd9PW)gk?<6MgxNUu8[8T3сW̺<Ɩ|Ig bzo|DDI(c{PbZܺ:e'|2DBl~~^}Y!W9 UkD2X2-.~ ?q(Ò)/ ȭ*< {??/t0{(t^B(qfBO;vbUD8Xp!fw ku+(=Vsիeݺuf͚Uj*i84 r2>>.k׮Mk9ltoH&ʎe|[n{bAhi9wZkѠ16[&[cʒPU"!'Ckm"kKCjv~'?)֭X0|'4hy +[LLL/rd(c[!x}Dgͤk 1R,袛H2!gSMBeBb,hX^'z'XBȍx@u8!B:+r׾58!t{ b622း""_~p u1=| _bݣ^U}|!yޑZ'emU`s]Rm&Gqvir'Ȉ .z.˲w^/~!;CbW1R%jYbo( 4.Ru&t2t"ޝt:-BAf\0t&ش'ӓE5T[h5oi!A<-u !6MfiRX\:V@"S MR)iE2)6 hO&MsVK~`(IlVlܸQ~_P2jyW8(ԑ| *N ā dվ`,L5 v} "! ?Ӈ;vȱ*j DKb1=}ǐNH 1Q0|\Ϣ +Ɛn"i'FVZ{ǁu`1 ['QPϦB wɺ3[6(.#찶blo-\p2Br,!5Le)2ď|Pt*J"rY<('pJ%}$ZM۷OV^-IƁtt@<<7mulBdV{(P2d"Cdu/M W&̝5DFH*2_j0vu"|2utcJK3Ăو52a{ݓ@7Ʈ@ch) }WvP-vȎ"Z=NK#8h~n,_A? MXJC:8Ě]4 cV07Z8V;Mrhe^'=44$Uۤq&HXA)JaX^@lBm‹%mMz7*' {6l""%j,5F*1-P73P#JDC\MiXVg!C-F"1>b[{up26WA&75%Y+mרcn0 ]_h7P 7]lBOK;&ykS,#ϙv%zd٬Z*p{z.  FD\.4 fP鴴"I,CduR ଖ{]VZʞ!ȎY*&FBK7e]"ig4muڱDG֨ZY*}(ļX`Z=flϪغeQ(QRʮs~EHX"L(\~Kõ53K♽%Y&8d0ɇ&ڐBe ji0}ڥD%lBO,΄52HZM қɒ200 BAVIV0}%<]ە4LV3+9EtˁHL5[ݲfb,LoZOxeqU'2ޘ­V zDBғG!vHhbd1 #;ڊVbd~̻'k'"bE܋Ab-!tO3fkz-녵蚥Db:e&8P 1DIԾf9*ffe~~^ߡؘˮ]dnn.QocSt##::la gX/3}kR"$珐e`}aݪ@ؘOeAZO80{oBLe=*:?!=`PcdFoRÅD+Շ$K p%cÂf5o+"P1aH&LS;.Z5b8{ eaXzbyZi[%1gfV u/pP+QZu듑d2'l6E&٩T*![z)E|}a{?cF;*`A:b lmYYlS˺Vl$AGd#R8(!3fl68XQ w919o!rs \ Fc*k=gHVBaz&5Ua ?%aLlY l2- W|0,ykT@!gb!s(!h##D&٣āaFkɺ"?8fr!9tuQ$""Q!O?tδ G E&'X,!4:˜DLςk!P8 <$#Dq+t,4gu-=l~N5Ʈ"t2gSFcKŨ2֚^ Z ě@ *vX`h[oM b"eq6zyoX1mX)B /ZEX"8REa=0,iqAK%}~WdbbB LMMIOOO^l׆lܸQr72n:?|&'rgLm_ӣG3ьgUC$6= @lڨZU(u-B,) 肥U14@cddX%1H [NF #@hձdžI&c!/&YU˄F\X{ۚPۓ@uHqZDBN5*BEYXue\cB8Lt!f%:V2;;+^ֵZԆ}IZYNxySbB'*5ٱޑeê˜ꅢÏBҊ:C ޼zmZA$`AcpwnbM{,%;Q`t)JRTzNA2ݻebb"=ddԡlf-\ o am@ɢ"K6l#q Yp, 9< &Vs܏&g!=Ђ CQh B&7E2JBav SO3,//˥^*Sr#BnjU:s+J%Y^^ !VuPŬF!6m}cnh2}KQ'Ġ,a %i54Q^`nUC8!dLmI҉6*kZxE}ՒpBo65|`ҚV 2|F7 y:VWTC1:ѰwEn\5*t$ʪY)i$f,xGu/кg'U~zIuOW\!k׮rlN/_/|OH;|_?|$P`%-N,^ϡb4 Ȅ{^Zz@5= N0fEBBfRtLFz{{ H吉wlNCL/4>;btimfE.oLA (Pd[~/wkwE2PˆE;j͹32 7 ~T*~> eff,ŪFAL E| k>p^>Z_U:,y%w-^z${OZJ~{=gWW&+V%{MSDtW*zѾ&, t$NK.={.;v쐑y衇dǎr˽ޛ|֧zJn&y'eddD~_'?IصvиkZ%wq.mjR( *ҊBiY9wň!I+dm+ Xr!.uo-uQǠ@lJSqyicR)1ٷo_?DDypKKK0E7Pgpu@:+ ]}damK{MwXd20Eլg-sn;3 `}~W&;k= a@7Buv?k@RLMM-"?%@Gr3==-7n.H*9V+^ y {Mo#lVIկ~LLLtl]VOTժ9A8?K&aydqqQ>:/,,ݻellLDDV^-O?j5ٰaC!4ZǮիW˫_Jٔ͛71#Zd3 %O> ۪bBZrthkZ*1 3ղ^DV񋕾hZd Y˧ZK",v#Һ>_$.uIgFEIrq% B\N?3_ egS VC6lψwJXr:pohBM?ƳH+^#"C;LXZs{YҒ`_]w%~[ٺuLLLM]C>d.#s=2==-LF/oYN:$ٸqxrwu]'g~r뭷֭[e۶mO|B>p+B6o,RIo.7)"z׻>Ǔ袋ON!aBÉ7QSu듞ٷo_V֭[ꫯ䱥RI^ۥ\.w妛nlʭ*|>8k%l=ӷ[4""j  q%CšH:D3&#ekŐX6;W#@M-,k{blJ__ %I[SYuf299)O>dGIo}PS IDATޱC&0"ô[-ÅgF3ȏ(ZJoDԣ#?lC" c23M`P!uWN%b8'l"2^ j4MYv,--Ғ\qrwȈLOO.$`hh(}r\ KKKds?\yo;y߇~Xn6J"7o|+Hժ,,,>??bo|U~I:׾5_|{ߓ}srz]?x'>!y3޽[>ʯ~+Qx'''_'?Y);?)qlZRVeǎ7QHXJ"/{d /ի~ǎXk^_){yrK3 3eZ&Inl߳Sv؊,0,tt wZ/1&HiJv_$⢬]V٬IZ.Mv0gs0ֱkk  #$3b&F^1íJmP>DcBIHb̯仇5J5!Pl6e||\d||\կg!h4dbbB:(/RՒvqqQ.R')JzjQ?/vp1FGGe``@֮]+{I'0_WUAx" _}QٲeR)ٵkm9㒖GOO ޽{Ԕ\uUWR㎎_rڵkoo7+B <|c=VyJj Xu& =#j-UC"*%l~ˀ!JMQTQYĊ#^;DH i_Xd~v3!Ac<] r/\Nr\|/ZHLLLH__Zr&DCKyaҗ$g}l۶MN9׿ yrYlْfYYZZ:d\oJǏ8~XNT*%744${r)'z]TzkX.SNK.D.2rYg%]w޶O{r'hME oxCq!LbU S6qߡTOFCdii)imhxO OY˺lX/cCXh[Q~\_gmХP4m6`M>LcbSXY63Dbk}Y ٹs}]wvݖ^,bQկիO>ɩ*wygupBl6 $OZ^WA^f2.7tp 200 ###222Q ~&ZM>OdbVk^ַVVe/{y:KN?t93ϔW 駟hF o38CN?t9e۶m0w+gudY|3R.d2ʓO>)e۶m/slݺUܘ{6_|Qm&g~^Z/{^ٲeO%JՒ`j*OȓO>)o??6ꪫv{ބJdppPrWM7$}}}(>ر#!ܹSoG>k裏Ԕe9x𠌌L'q#tUiYn! A:~qݬ:YBRF8/ P ˒mS~Iүka>Og\1QV%uw[e e||\oߞ$vZ'ႂf`[2B \e`z* VߌfY(9B0YϩXa7-ޮ$4ʠcd~QfBf&(Z h#떏nuJ%) ,٫Vh4c/..J^O @t|RZ& |{LMM5\8d:퇹9+er7DWh4dyyڻX,&qLbZ|^{}-//w -//'-Wt/w-VZ<8Q+ ֞a!% &oMN1.K˒GmxtXI| -[+Yވǒ{N~ܳIM_v,R{5kdffF&''';7O288ucamٿlݺUZ&=8XuɅ ݗm$FxEU7B;4H!qԣGI~ϔmHTA_~r+s5C~lqnU+z(֔6! OBç%*N%νhvzEX쐳G |>$ Z9 /.(!Ao}vmnݺҭwmPv[(? 䥢Cw{{{넪v^]w%O<޽[VZ[bCdh`cV LB2$I6A׏qЇFV2$D *wJ9e9JIt&%"kMC5"ׯZ&R.ejjJ$]t:-RdhhHJRir\:vHWEMD łcV¬1ATHj % H 3ϚɋZLZ(>fC[DH$KPP= Z1;Vc2)Bn!VnaaA^i4299)]vY~Lݖa?,{{reh_8->aVr,}k+z.;v쐯2<<ܥa-"ޛ ֚X@"^Z@1j[ȍVd:V@Bj!X ='% XK'y ‚ܜ]6iyf5b[Gtڭ)3kLQ#5a-Pϒև1uȘ;F*c 2!wĉd@SHM֟Ybcy@3'X]9l``@.RfK"O>O?(b%O\>[3"h=X,/Ky衇ի( @22DJdɋE  C!1;/"IЍ=T2%TF& cxV;Zz_4u^&q~"."fYZZ|>8JR)I77GFFRt!X@٨4wnqO_w [2<]$Do,6;CU,F|9uvpnen1)M{eɃ^?Fb%`<02P Mu%lzƙk.^-C <h󣤔F}B ===܌mMWF,G NOZ246OMXքnL(v2d bCN]U03Z<7V2]Qql)l>c'p#U2bӣ&()pɃvD=._a,ge4]sX?bz_OdӎZ:Cw?0bIZ B6/f7ƟmPr x!TYBUH iO02{b{fͰ`Wʈ zMLGAOg0$FJd$mGm !U&st]uzL e1+L@ 4u[_K> 0j5VrGt^s:9LIm k b ؾÇ6*A_aɰ"Q҄3? By["_j( `5^$ 6!N۸!:F̵LgM qAp2w3:|:!;KI@< BPa!M[%1NjqP̒C ;591tX&b: ؐ"gVfc׳'Nj5r,Ofj"/mY`s}6R/)Z+hOggg}2Tk٤Er277'k֬I;Gl*p xkF4Q1֋ܿL"ּאjH:B}PtZpcL;k[FLFӚ 1-2㯄^IP#wYe]`UhXW4mÈ֨JjXŌ䬭`hePlDf(V[/=bcZMv:4JDҟ3+  HRM}&*gyF;[4܍`/Hj]APP&6LLPBS +Uj6N9$[3KDt3AaB,{tx0<}ш2#ubqXB?{bPp ZjvFd% QD Z!Y\ff~aE(G-FjK13 ٍĦB6 h]܌iřQa;?2E컉nK8qhRGs='6lCuR)ICCC244$rYfffd``C9~9R ˄ >2~L[1`GO=PSOf-—FgS*֘EZÇz~r*g26eI*:u UCsVjP7-Shr*Џ_6qfMn-Te%-:GFA-6juh7,yG$rYNKݖL6ZKhz.'t<2>>Uܦ r&Ix^WȈ. ͠}|Fqa@FY+1/KۿXleۨ }18ݗ5[鏙i&ר+P }O.ș;B3,f^"L)e!A@DJh.yD$G# Dd $FDP[j%~Q3kkm_%P#Vh%V"$u:bt[fK:XA{"-PaXD & #c> D*ԋDBT$Z~LYIuδtJlwc٬ H>d]r9:bqqQ8d2R*:l6%KZ|>ߑd6^jJX[!ΔE ,1!ׇiKY%dx>:BЄP@U5ϼ?քQdÈZh$r*65c3T9}o=\ =!f8$LW̡qITXb 7NJZAf? w.ѯDhի%'<\D!ցփOShlE+tYPtJQϒM0iPKB}G x ?bShWКCɪK'y8Vh4h,//˶mۤRt݇jrGyT*/Xs"Fգg$|`9#b rZ)h˷z REpHdh3{9oKЂOь%zFHU $X䱕\кB:Q8c"?PZrQ ))qxtVo?2c1ceqMX;]Xw]ČFP !].7m1}'5:O i9ꨣdbbB#===r)'2==-l6Q$`5 Cn+"Ά#YY? QAg˼'e3$QnJ NLBo¡NY|[Ј)(FeK@>CɠX" Ӧ15ҐAn5h+5EbZƴb5Tdc(! 5+BIrFsM'gNCKs.@U6m1T*+KP.xufR*d֭R֦Qu4!lwv [LѪbHA(0Z$;߯AX=Y)rx !«u H[_{s`$؁n9jN#81jyV{Jʐ|=7 !.L_e"uZ.v4!HtB> o1ʢ Mx}Hz 4^"Y_h]/+֠䕍[6iNF \qkսlT'Sv[rT*핥d^w!>)yk΀dCZe# |ִ SY1}  ҡň?!iPUv04smͯ 4Ih[,'E֡GUzqMg;*`=Y! +ٱbC -pMxF:CX X$c ehl?dDתgKnű{>KooyHA +A^iZR,Yw|S)}1l YFb8LتJh<hXf/Lm TCΌֵ & ڢ ]Яâ~y#G'jWQeѢ*|?RJ>'cbtǦ&bPč+KS->K-2Z}b!UH"YɤY`%TJij4Sv-Gy,..lZ4M)?]vJ&.7]SzSw{F(\"?Sl'0HCk&%6re}tv,ԂC: PƄ -\Z`ֈ#΢-AHuq>86NB2+Bj([I:d')3(i04Ƃ{P quP++=j!{~"dc81s`$X¬;و4JƘ A2ZsT#M|yA5k$ΟLFa{hM&ʟ`nFVzI0X_D4]<5^9Qp23Rk=D0 &0"ZH/jAcki3udV&1fDYK_&ZB0U(FC ;'qB4֓-9yc FѭdÒYfY*y]!򭅜0#r[ҏ3(JTrbԲ?|Tyg jd׮]]{3z.{r9ꏉG8t4E+q]*4=% z,=gW'sIu M>hTuĻЁQmcq@JH,GAb B)!L"gL{qBpɌX`cJ@?˪BФfQB} ]Sb]{YZHXlD8'-zPbUnZY'kve 1AC<1L֯Ghȗebt@̷@ 11L߂Z %ZZ 8QV2Z-:!"E3 iYh0t2~>{fصf((Co{`uf0x!tJCS螡khfBkc!1{ %at]P X#t6:UhyoFwBOwY$l"](:sŢZJdhh -4' k(`n1VC 3S/T洶AU0BċU1AٝkZ}uc8#PK39ς"{BB Z;vR+!`*LVca#+y>JOԑJ7V"Ba%մdJsXfZH кGdXZ^1KSF7[o\Wr=^}nEe[eؓd+H `&3cKD7}?P{zh,ݧٻvժUkY4]eӓz3<6mUUɍ7nIx,P5>hݖ#H* &ՒfcȨ<-k:\ p&DPhXa)>^“4.Y`g|R]{h=Bl1 QbW,? eњRF# h4"֎LX39Hz HapJHɞjXf|,qDJ^Z2g6>+xg Hg!7=lh4d:<~8w^՚w<>>d"ݻx,“(QUU#ވlk5tfe'I4JщEd,I3]KaȐEi{VS(`w}ɓ%C)ُ!=%h$ Ix =&CZDqEKfB]eKL%rT%"F!tr#DkxIBͲrX_aL%Jvb?mccCnݺ%~-YU%ٲlfBE"Z&îtcgӛJ3:afcj{JrzlN؃p{ #G2-o~J@=bc{3Hr,#> Q*ňd[Ik./RK)!ƖUdddG`J0P!\Qk#[t%`޺(QRfkžWhC+ܼ1~S3%X::~o8}&իW?d MDDFL&ڒfG<$"bMi+ilMZtëk` "{[B7NHAuj9%%adbtUM6f׉<(Bz( 1c-YȳZ2P'">2iMLd#dd#EgFTB y䄽G 7U! :Rr[%3LKn錵Dwvv|P'eUUrtt$Pꫬl92YV^34j>`$[}Eз~_ii"?#e%U7ac-Vdcm<6>>Chi f̈ [x2Kg2̬FllK%zV!:#H<.od8|{!D,9.។"$6eb骸0jkll1e4MdBg-P666wz9Gvey(d rC}sg zGI` HY5ym04 jDx*qF* @䟞f;bd2քz2NK##$ga]+~P'$Ȗ)AE_mw؀8XLPxP-3z^=TX!m^!:&xrXSaq)~8!^($=D/2cb JǯQY{ Zmxr'CgUu]FnW&]lmmIՒϰl"`aG$zI#QKJgf7 JE#bcyT518.:h=֕uKKaH|oe9*IW_KW0=-Ӄf j"b4B|(78dN<=K>DPāe'}5{Vw&Rɉxbn/_|)>DY(}#q!Fʺ](-$jsc\6A>e3g#%Jޘmg0b2?F`bQr! %+&d,0b$@Ϣ x+=34XﵔjQ=;/(ZĐ%A:z(d՞'o19znQXڳHKBku $/!jpIKH#Rz-B}^j 'V5wh4d4IՒwL9SV!/>`@=N*T0-t;H>hA蛨~oA#lW3R-]h ZƯI';"c)CV".#Ğ^ϲl2n-"Kd=_&`IU M0;)bCiCY hl Až p @Q .5B P$3]bD-tE ʓL#O'XdkK,BUjHΫV#20xCP2TB&*ao+3ԗwVmԦ]SqO㻠2θg*]T2f}ve:`0Xx^ &fSjtLHوUDGl&zA^@cHDDı`iA2K ^R"JeUV wO) -cd[|lßOX(KQ dk;z\v;p>[/%I3^K(f5Yj>/ё@\MmeDbeF|%O\>k5fRuQ׈P|ݢJ6IR'l&PZt:VJޖtKd.#$H`Z_hT,ce3j+[ZE2k$`[&yd9{ot?KjƽdU@L>"1MyWy\ ┐cQ֊ӤTV?Gki`DϤdG%f ՊJ׏71GFKI3HE:<~X׳vLv-rxx(9d OzqDdׇFH743Pi裃Ǫz=/qF8VX(!FN3O"B)ȧGdd<+J`!RҦe;#WQѴ%{UuD,*=Rz/0Qd IDATi"%Ёń<7b{P;*":F޳/y^. aը(Ո$:ܑLX ޚ{D7Lɿ+ߗv@kTzz=~L&999ӁH=D҅C VʠT4y` CNs +gR3e8Hq𲵏h* CAD,cq=͍D,R"BΣ$ l{Fh0:ZUxSqp:UUɳgdcccy:x< MTy2/u+$nnt~dͤ| dn9|^ :1 !ZDgq4~AQz$V#WG'jBLK Yҳ/MXB#kw2 2Ig/iE;ˏ'eV~?t"#\x%2SVOǠFt@:T+#1Z]YCP:i#JX<(9Myi֏D0nt!:MTMѴ \?ViRz9VY愰6cc$kFc yclB%lj60+WvP'Am3kw1!B2ߕs;CG*4y}J֤^`0ȋCWխe{l6w*z~%J5fnƞ}oEڐ2>G,ٌsk:H%z R.řZ6emmmuEҴ^h4~[:ȋ/lf- s"l=:,:3e67Rߣ*B%u4,#.#q ظW?{dr=ڶ Ph[rGE(81޸!k9z0khZ@o'P"m xBUJ Ou{%GLkJFBcaf[*%-e4QRhD:OĮt<4BXP)Fj{/Kۯ3b*CQ,;21YV|n'?fZ3//!I<{{XRm(.zZScJ㞑nJȐL7nx~tTzʊ%Ιʓ{.=+Oi< F:Q r19?K9G^;uqX %޽cj%UJJ3_ڴ6#D"Fv2Hkd3JB"q<@(t klq~~.pHU.ʣGd_LZ e7'QT8Laz^<ƖN7M/F򄌢'Jm؊{F/5[o%ҊABUP ou}J439U"X@`b3RIo(yv{n턋&- kqcʆ "z^Yz(CIJ L˃x\{iUV$VƒPCF=QMDU4ZE?͋7Dȯb2(swJY=GM8j?MęW7y~'Hm7HO,ّW^-*[Mh4ɓ'rxx(W\?қ&@70efy)C A{"dAz}wT"r[$l4z&zw,;64ʬT8zvCi $% B ZFͫM~0/eITz+zGE#Pe Zˌ"T;'# UcG>=f c[I(5TZљŠџAY>Qdccc̟Fn<0HƂ8MK} gɒbg٘& P _ƊFA9mC=,{}4X=a ,A"(j1e.fZ x4)i=D=/$R8fַAdk{xHkىD8(SeJjRU;ve03j]v.~Zͦ\v gZl~r0MdG[Ut:jj5y {S;( ɦu3 wF^&b`؊x3ISʥ*o\2%% rAW9:zEת*HֳgEa%AVzlk =r0T5R9&C}}؞g8ё<~XVWW^TSrtt$ӟ.EKEy2dDY`U{,)2k0`XV'2h ޡS1S֫ [H;J:Ăl w:0Ҝ;K-U%%U:Jn#EӶw{dIq*_4eLOJ~&/eT}G'ct,D5Yf&[ ܒhϡ6xT۽dM пUs\@r:sD CYn`;d@J؎r'K ^f˪5[ZgWK!RVx7Ł\P#X#O f=5QPЈ>g4ګ^)Z'Fh3O =$Q!nAI%ؒ$ e^%F藈ZyVxi&kMj (Ϭ+Z(}IuʊCYbeɘV _bh!R̉0w`&{"*`o*iDDAp)5GTkD {2dqR\E= mzTf]_ˮKN.!n5qv6\q/ NrvvԞG KDzv-H~ln4Pft=l6ЅުnF7UU5;B[M iE$¨ R}xb 5-9-/ ᳊&%^5y|yڀ׻F wٵф=M[4qy[8w=eT)#ngAqgBGUF}e$Ӕ8S?kh);+Y·Di4oܓS~/d;q+,io,}8U&YE(tV0<G@H0KZX#[&= yѨg6qg< M߲K)j$&!9vp}E"f׻n uNDkUԬ/Gnat6Y"Y>3yԻ ts/kߔX!q Y{CkXYY+Wd4j{!/^x,?[nAHv@Vd2S:LMYIMfs܋"'l[l4(.LmPe?^w cu%zvaLzlCɆ6 ~B0E-]w Y)C4-$X4n6R(?TDޣtX5w:i6?*VD\\\h4]6ac^ɍ[RP2L~ϮoLD o{!n J:"B0jIsCrtXcdjeeENNNꪜD"p( ?xwe_ERfZ@ '$ԠU&Ӏe^Lt@غ,LJ{D9 IJ)fb2q^9A{hd!6%c%{ d*ouxdhN\2}ssS={&0F:<\fܹsG>|3RsРݸ:"Vؘ@/*rDi`7F"Fz'ԑ5@핈oͲYFkVp@A%f{ CFr5v횬ϭcJ*a .zz=g^|)O>#i4j\k=b?p8ׯtݹ&}> ô9u43t:r ywd8FՂɱb@)B!4z\_/..dssSnݺ%9>vv1ԯ)W\h$y<9 {-_ի+~l G5@D)nooΎ y<{,WrBmԢ PB(aq> dJI)kQ: 䤄j’L1fh0^;7|#)?Ec8`ky_/n[ރT%(('%$$ hd#ӱTʁ`7%dS!,aPe-@M,JZEa+mj[m~lYQov>4? SP?atvvvdggGNNNr|||)bCn{]PZr|RrDΖvC4"%'rtt$Ϟ=hJ ">ApWV%$ENd#MH/M08kE1Xb# öM6[Cy˿]oŅL&t:&oo6Uw7)L߸ ;r6gggKx^v #ضwfSU<htP$l+jTI[ %QB#?g㛠TfQ`E=_L]&7oޔN ˔EA@_ܽ{W.Tm}\r%lj?@2Ѩo);"FʼnVKlmmɉ99{͖Dz=GX[<ݏ` _J^'{{{kXA1>*{{xdrt=̑JzLARPjˋ$PML^eU$G̮ +Mi6ā "TaɲOJL:Hҁn)2 QX`MWd0ȕ+W?cu<%܁4[o%W^w/Y=>Kx<|A=JbXG_-O<Hv[MjFBh;p]$ċ%z37:Y,=#_{2 L&ԪJә2M >$0N""r~~.kkkN&y7n -.=Q ]X;MydfKh"{#+_6kyp.~vWOB=zT9a'u:|! =pNl6ƆtDI#z :hg}&}QNz:bɤ LsA#flԦY__*+e Mh^Ul('KD,Zd Cّ/"Y(s-X2JнÍ6^n'<$]w{MYgPvm0rfrVׯ_͛7ŋ/G*eJ"l^<\k+(ElU6P2ͪt|lm"sd!>AfSduu5ѐP( Z%"gK~X2JȊQYCޞzΨ)q(7h:DR(̨sQgdkkkʣG?EF3y\y7 X}]9;;V 1׆N.-^Sky$xZ5A?c;p ȌU!r_FC֤͵GnE ث8JDlne}}}adGF+1##$eP;(#!_d;3LFnm6L#"F5F9ݬJ>szX`էH6"MZ95\ZJl;Y CVE-2/?S zj3IÇlL\zU&^id4C뗭 u]šg :@y{Y[A#EODUxbWy[ I߇KE2JlkE3J18kīl...dwwW>IqmD#FUݮﺕtM @к%zd \{h) ]#Œsdϯ[w뵎"PIbLb֢M=.=mEIIs^"qMdLy~~.UU|2HTd{{[P֤nCI[$ =MI7"MdKnW%fETz~^hYϓ,eh☝%ZKO&:9y蕭@P (bhSm0xUUeaG-)By}\\\vEuL.D#"Fang1xY|*] A1FZ-kQYtӥ??dooOmmLaF~E&x"/JFȽI5<%mxJji*FC\]vwwׯaMJf-OѸt{&, ӛ1E$O^RiďApԶ/@EvMר=8Z?iBE iƍr9]Q{Z*!SxDi]F#mPbI$L%{ki">EٟF?`B" 8%ah'P̉ƑQB"az^%&`ne:sIB6ɱWZ'zF#ݕdsF$R\oFƍmэcv:-R^)U@q;,hY;#jzp[$^Aæ".݋4igQ hȺ3"N{XQ{굯DJtN*i҉MXez$um5kG HAQ+++s_^FSZ__M:1e"G ^t*k.gggP%$I^[0J`mq("C%K4aIC]i*?`\3X'D0rso q/b⑂$@P4J-˙N2ΌRUmsrGA )7OljJq;}9-駟ε1;m4(Xk#zK/\卪lœ"2^azӯ`-i#^C*+axq?,Ѫ* 86vAi{7Iu3u$u iOo|oS'rRtdwocZU=}.u+)EsL"jMJҫxQۡV垢"F;sYeVO%}m1 jjeMIuiZl6n!PRj$4X]xj 3k%XT`Ԧk4rΝ@^=94;pY+YI[yaY^;qwq$%,d೙j"25fmϕx^=ٳgrqq!PmG}$<i=\59Ldʍ'  3  t9}2ԥT>.M60jϠjm գ^փKElаJL|Ԗ"N'ܺuk.Up'fpn$|ipDdJruuuKCJ ՜(onnF1GYJcHזQoYYJ#iA^' 7"Le 0Kt=13Fytzj%HƏbciS#e%uFjҒݮloo˽{bqƨ4)モw}WFQVBHx&w?Mdxk猲h_B#wq"$^M 1"13"ͳ6D4>~fobMChB-oI{Imd{Qj۲*@>LVb~郠%42wR,فd^Kד5t: n^bL4ݶ>~`-g}Dʕ+s!Bўƀbl":g *}A5Lq `d26x7!'|B81ٺgfWWW禳OtM^^ݫDD;3ҊP6k"S@cꖤn3jND |wyGZ{Ef~l YĿF^?;sd|Ry=DT(& OY]&c1ёh4ZHdXNNNdmmMeccCF 5D`z-VTUQ׉l!dI9l`2.1]nW6]^یy^Kƌdm{DoT!rwwEP񐎨e*HI`IULբ}D2t\D<}ȠgTB:օWUUsIJרAL!W|k7>P14> 5 U۽ *DEEUOy<2ң5?Dk/wܑwΉyHNDl*Į=RdUG шhDECTOu(ԫJfB*Ѭ%ohϏF#ّp87Pp8̇xN#sCٜb R0^Xӿ%+4mE墤mtjvMhrrzDӔ8 &:g(Ltt"h4k-'㱬JNRmb{4kG0 _ bՑ(X԰=놟9.7Sj(nՃ`^~-LZ'DJ߿/+++2L.d(,ٝiMFHuSֽkJ3 [tEB]Rn5FUφ ļGR8"9#;F`j1BF|esNw߅2 {^Rm@ \\VOf> IDATa:H,in"HXWVVduuUt:%vOfU_s>m4ƶP|sL;Quad"!{lU:e(>΋ǂY2H г?oBPnܸ!v{37yvv&׮]۷oKUU[o$.,ۂcIzrE+qЍCZpA JsB׆}^7'"§7Ix ƁaFVy١)׽{aPY>X#NӵO 7@!7J(*{НSi>.(X"&o@^OB{R'0)2R5ճL$ 35#䂡^TD;dHw>z 5b.RȿMJӑw%r*zrxx(v[^~->0GHĥHwt:=uό'a#m{L‘GGnaALD- ka$kMxe%i{=mS@Z*oߴ!JH@dGKQ2t H]""`ߢ(bC4b@bϞYW\{|NmEIED={:'2^*AJ9[-/ ʒl':ؾJ9$iɰZj~ =:'fSݮz= Y i7&X+ŎK<{]~H7Gk!7wt3]$\AQ^_j$YAJoϟޞmٙckvkͽie$OWb_dUX`%,B6CĪP+B'0~߭fmf%!q^ĘF5Flq:իW^=F{cZ6~zYBV^4zr;@uBK^i49!J3kkksV)-%C(bGא>cݖ[nׯ3*g%1bN}zFHt͐ VD#dEMecccq7["߷%h4rҡ[ZeD`F> pAI2|$ZM {A Q% 3F.^#:>ʹֈׅMVU Hl5 .Vﭮ.Ti1%3EkcY$CZ_oӑF!s^DOyWxiOEҮ {eeE⋹{%wzYk$-%: t4D;3-{xBxh,eu z$f_./_ioR_cNrzz:緑V=[MD0TtqoD]d)B?`e t 4#bכL&ߟ%D%uB^*a*FzӠݢ3Nڵkt# U}LKAr<%ob.x$Ih M=RX;j&tPz= E[6)21d!igHxFiccvs3DvwwիWsg`0zr||,P>}u oGcXSMV*ߌZMWRE$%*əNn!nOINb/Q ~QQR31'4P -ozZnWVWW>T$]Բ{gVkIqz›U%01J@Z[%C]^v>n*RAd;hE B豍m'seFIWV7o^ ӣbG|wvQKݡ8)5lf>/hI(^ PbLs 'dN{]VGI>ˉ|p9dh/x&O@Ԓ`lZ21E8?j}Qz.2把Z&U PX_.wޕ}9>>tmB1R&o+ ݓOˍ[Q `H2{8L&/*Qfdkf##%K@#)e*$2F!~_zXOZ livc`{lɗ@h+'=07aT02a(T8WMtQ/)XSh):fӇNܷ>l&J7)2;{{\B^sxœFTC=Ѩs=r8e4} CyyFXua,:ܻwOVVV׹ֿ\&1#Acklƃ"'I{ 4&6G=۾H%[\ a"O%㝑x4W!2Ise i-4 Hz$Ykaxj9 :$g(Ŭ!Zji"oNDQDAD(~Xip&t2A* ?LȄPhZq,kG{@}TDZ}O5 ŐJ0CXXNdE~)i]HRf:eggGD,L8K4 9;;Hښ<{L6664/6,MѽadHb{x!F14NhG,ee`8ZJN%K<u 4,zetB..2[cbc==;"[ %%_MȄ?G(~6jI%HYZ_]#Ya.{|4۷_B賲$dTrl,D #{rۖȄ=CX\e|揳֧u\}y3=g.TUUr~~٘ 2ʌ?\,[ʶQ{#$K[lџ5Q݅#$/iBIYɆ vt:w)ciPNրEC)F"ǧpoy, =dUlZGnO/-!v@k{'_vX(z0ɁB(rEV̖C)tb8}h {ܔG3өFl,nʕ+Ih lIf(A96E1#%&d`<-HW~"}*߉)R"~ [F<$<7 Mw:x_=4d{^i0>zc޴F ) @UM =ndx$=4=ڏfʈ"xܮ);$de4N?J~gvr-T(%gVLs>R[y5y/&F p4)=hTZ~Dz3Xȸ]SUÇ3GB1M,U:[ L {/e^2Ή.xZv*^']s!ADHdkkKvָAȁ ޏШ(y@Z=Ejz?!DJiQx-! !4X!x(xz$gdu .‴Z-  ===ͼGԆ͛;t/F RCq(S쏏QolCD"-H˾%@kYϪY`j3(l닥빾ȮBrA"=AzQ;nڤ %c^YY "{tȃÇѣͧϥW'osb!7Є˒M XhY&'m[O?Ņˍ72Qjd~`C$9b1ψh  K6<(1j% bve[vELޔXT0DD CPEOQDhZ&D&DG٪h4f)nW]&h4|󍜞ʗ_~)}N"U*Ј>`U_lY4FH = `Y7-B#c[o(ga9MMc|)djd$W?i$&x<^ YFG IDATBag81im"D9?O>oVH^ȃPkׁMjQ;%vm>lң82J;Yz=988Ǐp8+W.7nܐf]>=78Gv4`ȃM섈?h5jbaX_[ @c@/5E6 x!0ɔpJbJ@[NEywgDAxrmL&jB:=99JfO<<Dal{=2}3R9Q=[1DA cziZ}_Kt I,7CV%=PP@=Aem\ *萮ŋ_[[[zT@(Z1%QUpHWgDHדh$oe2|l6ݔx6x=f<#ykؘ!ŋ%T緁2bɀGxoq%%SLCj"2\t5[Uv(-H)W\9fy9HMkkkr]9==[n7|3W [k/!E}M 0#| -B 3BI/a<mIpL!r(%M]UUNOOOu%-Tu"at4 Xe80&68ouS#Оa:4R1NB?C~ޞ|駲ŻJIc:Z 7<45;ȩ(NE֖7-TBLV=XT5 v횼zJVWW3 *i9D믳pf8%^ D(b^GhEczN/ƖJ5S>RdԛGIzI7F#4"zJF1~իWrtt}6bCԶgʞ7g; ^E}qVݎhx|)~ܼy3{=1z%: ?`34 tmg`l{bf6)a׾溰6CJ&"fx\C(50 6L9dm5r^x!wޕ\J7d"?ˆ시h6\^gy$aWxC{лW(" ']ͧ1)1B!b'p`"tr=yTU='LM$CSw*+)BVt+RlN$9Uhq.֖j5/(oB:?|x~X߶U`R{TKt*W\zgqS^ňXx&,ɲ.:5-Hlξk$IssSܹ#GGGY' ϥ 8 d}}]krMyHUEUכf2MG~BD M`KDDmF=k["`mmJ`ʑg 7Ne ZSh`0xErwzNf1Ƙ$I{CJ=QJd΄$YЍyKH˶iA49`^`hdl(w}'{{{W_j&jq=ءb#DC,CJI*"9ɏ Rvg-óGHliM$\^{K6|i*ڶek;0 ᅲu^/u$R5?x<~[^u2`ԮHhrcQ׭ )#߰xoDm|U14o*5V+Iz6BO!UC5:/HӃiu9::/_14݂Ȓ6x[%oR¶"x҇4J\Mx1^8['66A-Ak'i_ʭ[1 :`VJ#y (Y'ވn*L...h-j/d|" Fj !jF;kKI6 bN@GDB Yk3ޣX&?t kX,JvE.ٳ3 C^jʄ P" N= FBJ:tb۞{LT*A!z+⑨tD<dڃ6C׃Dժ9sFΟ?O-iMɄN2l ]{`,-ja+ HW:;v![dX4XG;KXiyh]P򚛛B ַsٮE&g(sg b-wAP YXXn+=vmn)2Q&n[[=zDGA^۷OZ~?-gaԢj)E!k3Nm/0-_sr![p +++r ibd%- ([[[91 ]^Ķ Lk8^ka(1Fq  cD >g\SSd= O3֝[LyMnllٳgsuDթ'+! Zd̺X'Nɗ~C\/ U4j)͡W"/iiˠB#)p/… rIy_/V5 UJO !c1iܠ|(F JYel6ի%kCY961X5,GSCf? Z>:aI:Vh42==-jub:.3gdqqQ\|fVI f?23-C#XbekxXO ND I+1NHHu4V\,^sдЉ%Cija } JҼi 4bNLɖl ok٤$4jGX?Q.evvV9"ws.3EBH+,E/1UJSpFo&;s43Md1K7b$՘OP !MitXt8&! KL,riǨBd#$FCDDFڳU}[ȑ#gٽ{7b.n( ߱VH'1Oۚ z1ֳgF!%, @@d gSFa=,ރs׮]g}V:T*\x_3N@޳k =Sco,wxzߏD!К㔢Â6kSPGXNMPF!>:ujkI'{1CmS;= =X0{;>$ g宻ʹհ1VusO(Rf 4ѵh (l^&岬h4s΍^O2!.rT ;NJ.HL- -3 TRN Hc^-y|ІbSVȫbCD lF a8qB.^(SSSy—&5#^5guDjכ/OC%qv $ȡ$7fUoV٠{"NLX g8ON#!I}@*駟o۹T} zG3 Zo?z1"3퓗e2==-nEbSSED ֊k@d&H8 Ƀ_l*bGQy!i4yjit:2333qh[(ItuF4f{ Ș)Ÿ)U^M#̐c=|s<Ƣ60HVjֶQl5d(9 ZczrE g1,#32E(Y~ GE R7j[:3Z(gBEFdp(/yKdv.[Yt3՛yZ:jM1$RV@D8"eٽ{rٔ%bzelmmI\ՉFzXz6zo7c{^#.cZoD)DQbZ(COCSӧhHZաaˌ?p*ylfߌ*Fj'fW$t}"3JywT:w*$UOIa~z(2h-xVR*"Qk jGca(&$ꅅǐXK!-,s% FHOHYF"|"8soZ&h4r]dkkz"8ͦ\w  jX|Z%G7ɞ~zXCȈ*o`D&JPD빍z,YIՒ3g=hưM ޟ)E&1C8+ 85*qy= h4r vuy{fclKؾMm1sKfmEKI1 \~rej}md䍃`f@F 4Z?)O_Ʉ{|XeP6 [O!hd}6Vh3% ]KAd$lgbM777Vɮ]"vl۷Oժ Cٵkט= 4<5h/pOF~A^&T 8%&+XX#YF;"ߡ=S +:UxbfgGJʈ^TH]k\<Ԛl\VYfSny{#!׮])bF:dL|ZM2#Bou܉b(#O?-Z &;!O$J+XB'PJhGo|&:Yl>%MYJԊ$^'l4ܢ3qܵ|*.<AT*aU4βLe3}$ڎ#j 4ReTY8Bp7%cB=W=M=:DN>-[[[9]+icvHzD'`I3C}a6`_>OyDD&}^my )oxmo{|S $m FWB(C{σўe;1&zgEyX"hX t IDAT"u#Zyl8R[.^'7xڵk,~#$4"&bg񒍘ED^(d=BjK~SӠ}b'ŢLOO˕+WHUAhDg->OkOnULCv%00ebS6lfXy)bسkeӧ'f굝7Xc"]VX&pv[™> @1t.\ NG.^蒐YEb(NGw˥KP(HӑÇ3>0.> BT*lmmVlD5`sДǿPټ3; QVe0.Zne]. // !myeϞ=w\0 q% i@ 3dDs BEA/-R1t!lӑKiZrŋeffF~C9tXSAm?_c ʺDyһ^m7E I0bp'cb7)pZJ{&yi{6FCN>= иgׇhЃ];!@/|A|V籁(@B씈U l]&'"_w=@StKXEg4a<$˝DxҥKcjEb aƭcp(y2D؈vسgƐ^Dv 251 )3l(e4IkJ,̙32;;+RI.\Z-ͧ Rx0 #-`uGF'i{^? 1ǺTEzUkdee2l?M#OgaBH1E pwXZ-哟{ײ>ibע':pTU9tT*YZZzJN:dŪF!{Uuؐ{WnvOSyl+=#8퉔;%H&cѣG*PȢkvњֱu/Gc1;m \ZZK&شFL cq0|<+bqSFTxzNVv,JKRn/.!K=x`na7Aެ/0^3 tc-[1a&B=D Yk9[,Fl^h[&>9JVVVduu5vBVajBXJ_޹JV%˲Lժ9rDnw;FP%,O?-G'/| rV(9@k $moo˭*[[[sܔ4rRk[ {x~PcI :t SibWZk"˲я~$J%=簲ǧ Q1C0B|߽{,,,PYmMi=MzM2+L='搐]) Vv'53=67==-'NF!x+r.',4э?dԛe#?$Hs:{!hC1 W]H{-fe7xTZ&JEjTUV255%Z-RHRs9,11yѶy U `Ul`BlJеg@u˯ʯHPnBv"aiؐ JDDfff|sMV2??")6??bfluozzZկw!wyEyӲ+Ý9ƊbdS,-3k7Myf${8dm6v(2^/Cݮp ϻt0 O=9#2FۚBIZeYu#q>.իy{#$~_JYswgyF~ވJ iXQ_Q!iԅA:d0 2U#؂E6f~.$oR),$,b WhShӧǒfczג%P$@':5Ӑ]{P{,|Z,x;)#Њ)Fd2⚟r,@,..R/ _ AcJ!RC,<߿_._CK,B,Ē zP}vqS}0z rA6Xh3&V1YBf5#9PhTDWzgΜӄq"XeM=üdX,իWco'Nȟʫ^N=bh\.*a`GQ낍W7z@4RZ)|3-7Q>O=UMRhym$$Y\iyZ/ڷ<3(ؽ=x ߿x ڴL̳%A )_$ Fc %\D䮻B /_΅z ^u;e K_R9t|C~X~_>MBy1~@dO(m̠R \4wߗmtnKӑn+ۿ-FY&WC#^{!&~gGuOO={3p :Ԇ-#::=qbΥYCr >{X`lkC^^^^cǎ޽{HX|Q}5,]vMܲWt[]ȋz"1X"53_&d*;f `0WbF,T$ 9sL.fL/6 2Vf6?n1Z|VK`TߙP F)\ K&E#0dZ1,"6hN^N9ȼ-7ImMPy712RkR'Vb cw^k2~l*mC C #3%WkHFN1_ Yϼ^4"|0Hߗ7rAx"<b y/HdA3u75ֿz @δ9ۅdQwzQ+#u&MѩSUc]';q̔\iѣGjg?Y{K_?`A1@=.N,ѽE C\O}IR'@jUz!͓z._dnn.zD`xQB$fl{hzzZd%&><y_՞}mBԜFS5zb̌Kњagj)?i04樓0Q,effFz|m8$k'2JXul!B7B4Wi4ɾ}rM=ch 3b}k08q͙k=__-vcFCvpwٳgF+Å y^q"X5m[1 Xu]ciX&ZFCO%͂9[׶&+++91fRe5#jdwɃtL-VB% (蹱P&z{MQ` Re"TpWԆIqE 4Cb.j`MVrq9qؘN4yZt bJMڴƑBN󅉞x qZϒ_+_' b!r…<. ;ilmmIZB OZ M@: &:7:8le_^"xgŢTUHao[,) F +gY&[[[ @)}k[uxc_ {( Eۄ~dx~# ()E$C AⱟVcң:B X-bEHnPVVVz63)vsC4Ab>.p([ yH984\j݋z=KԲ !6BRȹsdkkKvޝdQV{Vqh(Ocَ#hZilN"!@ʏ .DABaBöVB;Ve@)Az-rk?}$ŠΟ{fhp^*7xv V_¶E{R;!b)6Aȗԫ@S %$14u5/lllLXϘӥNW"2Y\\~c.^k4vZ6W zd՘Ԙ@$GhjTBL و#>&^(N3K?^7Fծݻwp8f9FbޖOKR3-EX$z#~ "!GKƔU;meGl,y6Q=)ap8"!΄.(JrĉO|Q?RB kkkr}+^ wY\\OGn~4 2%b7^bƏm3Bqm}aG?Qަ8.`,  Yr67BU g#nEL%)dSbB{#ʱCښlooKݖ=thki?H T*,%?dLVDb^sroa.簿,..NLgpRT1=T;A`.GM!h?N,~v[^W֘Hطw%Hn1B%`EEX;1E9`SSQeh#8 8|0oղ&:^kYt@[^^0C,(zOvz1nȅ d8ʞ={^zA蹱Y :Usصm$<&gϪZD&~__fg6>fdyP 0& E=]E%}y'<_v{/3' ߍa8.0$xhwzDeR' IDATX #I,wDL ^'wy:uJztM;fA&̆Z-)3όE=5a9,/c3x?8#x clZY#ű ]^O>ʊlll?y9zoZm:- ַݼ]߭V+:yRl޶s@p192#%ycJ>?|m=h?:և^'~j59{옅H)D@LA(껣, Ͳ_!H훲=4ӛ`Y(RHe0x  6 $f~1#Zߐ=rY;YgX =*Z~=D9^åRI*7E[\\kۢ>ªQDd F?}ݟy:"3=rxXԻe>'l {H6R.ekkK\^OOl&tjU#ԨrY#o{`dTpx,zXlT JajywBH'z9 Bvlz!,+J`0WÇsT0ʔu]R*hV!H~3$v!)fd}f[kHlegt I[e=Z%2l,fOex" g ayb.fsfffdnn. *⑁ju&#ziSedjڱ$(,mygי8vM/>\`< !C"gh$O暊:{U8Bc$I]h Ôd9ؾOՖqcEm$<^K#z=iPjq 7D>!uG/"a!(.i-@O y1ay#yCVlhmW?Lp'Z ]f\'OfnQ񈏨m*`RF'/3رPhݤlKj%,ԉ4>PLbm<{x:z'BW<"<#,\F4S4}eC򛛛nai0t(ªVN,ꥅY|>:0R[ZU~''XeE[TXyxk ZOr>whmE]Ec}=ZmLʕ+3ٞJ!{:[elZds XҾTbmMĔYŨMYf57hoQfNyP/VNGj}x ~0>9\`ƬE/FFmXuqxΛ1x/a7ߣV;j{v#1~с>p83gHZ7b19ptBSب/F67Z1j+nYp^ @(Ř'NL7Jg])d[pmbQ*ɗY907|#4;)dD6 paaAv-F#0zXj6{nY]]pH偵:G YZn`.>Օ} ٽ&J" =]^qxvf(zf۲1΃SU~P<277 iRR6f|XElŭx돵b{&IqR7/JR.|I{03JҘvBLޓfEMoߓr,GۿMĔU%I;VI퇽MeeeEۚe9&iDF!kQUVnD} pZ i8\Ѳhʊlmm釈\-T,euuU*}ڢcPE!@LȤI;#Il y7x8z^ Oћ5h|@nK _ Ye^%Uh<ԯ=pߒߔMy'vR`cv0""^K`z1nNa1C"Rؽ`xSSS&W^>1ѫ ß?+je^ub&\Td(Dž &l{MT6v#dɗ%  CŔΔ#zmה^9RS(YJA5<R^CvBVW*T*cLT*9¡ۏF>R[dZknUʿ˿G?uPgTg}6fP?Z:37d֑5;cEkrS*fk+:"^z@,b(g6^tID_ R.ekkK~ի rҥfLf0z9kPԻ쒽>8"!h6b&_kZR]^Fs{`tlUu6E$R3zD ݲ.'>h.ﻸ8TSH15\lay07N5Eq? 񕘄7әbbk(gZ ۯYj+>;z]yyGX,JӑyzB+v\Ehg=-WejjJ&RtlkockkK )\=l`B=X 1e61 V 4ypZccޡtRPxΧ6Mt:c6lO١rc3 vɬ=%X!QvBE^G;C;dTy,i NQދRGRchؤCvfxAT-I ^v-Y,C(J=Ŏ*f$go0G 0,rHϔ-SZi_˯>p&s>2MZ[[/V1ʕl[*6e۴ծ}} Jg.:{>#YVF#i&ܹsczQŀG^'oMǠVD'(3RCA,ڃ,D$#*E3l˜nSb{(Y #C 3)<5bU-hkz1a*[3H/C5zر-ŜFd42C76 b9JCR9E1C:Q(<+d, jw-G͍5h?‚4 ٳg '-a[ĂLzÅ ގz"%YdoKE1f=Y;‰gC/ZO$V*24C0 l&}n޺tj$ū^beB.E6xS<dn8xb1&74Udmзϐ8^*UKDQ)E#yHXʘ^ۿsJ%ʕn?&)^" qb^ "[E!,I]Lk%#@?rE$Ysm'N.rݯVCCLTy涐9-j騯ۜ^OeK+ TeCMCi4}=r1ITQ~1I*{o6,x]RQT}[9u,G,aeUea+Fd-%O%}o) IDATL鼩=FlpA%V^AC$b#6J$2\xMsbTp&G2*-TlR9@пezzZ^w^'|+eyyYJڵkLZQ#G5%&.:-:2SrA"F%!4}&GD )sajRRKy`岬}VJm*O&b ,Ƽ:b cAq#b~O`#,1ߓb'O?5#5!B;֞Ijj *gČ<;qV "6C5S8%)߃Z&.]s3^ 3$T+?1e=~F,YwQidh޲jXSNh4}-\">J~_;&R,s~T fLÿ n e$E=,}3eF5iS!Z/#:3YݮuX檰*k\!Qʟ ll ϲ-TVZ;,' q4`ecddrkÔ+ KAbR 4 ^'6׃N䕁~s΍z(C{'gկvsM<"X{6'^hPl=_ƶ=sJ?S HI0PÓ~(a!sG N'(z jUz))4Zt>> ,YeOVGD %p1acʵkLb(Ei6r7Kխkew#Yf^,NS^9FX'*Kb~eGKi:xZ(km55U~I hS;|?<{fmՒWr뭷63Ccdް6 CtdW랉c>)!u^dp-#$zI3*V9zZhׂe&otj򕯔z3^Pn7ZnwXeͦZ-bi=&L^|̲L H"U֝.1k8G|2]ḿ qj{{;_ ?Q Ɔ߿_ázب%aꞺ`p]Dc4t v>0#xi&aXb(u{oH#yl/ jdjjJ\"jC3 qԩSc%2"`0ȋ(akl(<}mx*]JRH 4A/tOx1(h#GX?_d~~~, UWZeLU.&be'iF=5Oofԩm}ݽ^O233{QH,r<L/x1y?I'c#s<P&`NC!1t/n1Is-dj7^]VG 1Sֈ1sϺT*I^/Mۮ3+VXZ;Q8E y(-:2$8ؙKs@-E G!LTmx;L}0‚Z-YZZN3dRڒMٵkW~ fmO눨3) < pFXKQƳU?-1;;+SSS=}{Z-()~,7y.^K33٪3g^#Ϣn'V uzl2Tt}{ԩS277'YIV'OJل1N KuUw;2o[BVVYgߐbq+++9Q4Z8b3*bUqDPGl;,`766rpm&\VzA?Z=34SȉN%Q,dkkxW (>ovvVz)9r䈌F#ٮ{<9TD֬CB<"Ư#!YRʂ'S $s9Aٺ4G'V%G'FrA9,--`p}j#<൵5ܔN+Vd)X%:thmbnƥ`7*!EPˁAlh`(oxirإ/yU/#, ƱvU{%&`/0Xg&.IΠ#E絙(RK&Yx4x֎qUσ)Z&cGbQΟ??Q`Wl:7kX,:t5X61_|H`7(b`%n+7t,//YYI% ;wNsPNmh>H]I7LFTRU.zLrgI>-*v{L (v"9LO>͜z0Ҩ3 ,|Y[Ƅw=6GA7ŻKoGb|PvW1 {KI! Vlj59|f{v}{PBAs4 VHggmT#.KOE 0IC FKYJܜ}9А}p8n+kkk9n ݊ȕg-<P}XWsb\B-0Ҟo1ЫjZme?SyD- k39a/@ f4'{Xd=bIALbUlb2 ׶A՞g;}=ٽԨkĘ[duO!3ڋM0@xQ׃3X ~v6z%:t靕""(Gb̥I# CYZZZ6!% PRՒ .[\2 :kԙF*l\\MDEmɚ)ռǺMeZI>mU[O^/wD ^Fn1͢1v=b:1(3A8^ۯ1n +Pm C}Ϫժ<쳹5BU>9]^^k&6ڋ71g`*o H{&OMM / J누v8p@ͦmt:w|k|,'njm$U?)R1nL1QOAtV 0h4\v{LyFc^2܆áhXb>T^$ۗZ: ?h4n˱c\dv,z<̟ o`YlJr>Q&cti<4_hZzkՉ4kW*L~Dbܘ_$߈MxB%<{6*@4z[%)PWAAh4Av:e ^O%#+CҧONB`X\JLMMIT0,9emmM:XK錡#6)Cb(K.8=ٳ!L޽{ܹsrmI^oqU-·Jq+ܔ6vd>19Qw 9@h$-9`GrcYfS1nLL-.hxd3% R<4(u 7v&ƕ3 J 0#Ҷ.0P]mvD pDǾ)JǏ!)bqӛ\KF'q9h*K-(rܕ:LFDeh 70!D‚Rږg -z!$ֈ*,ˤVXtc2vV ܔl6DXb}t2y*;HYȘ^0ۊ"h1v̑u'(J̶KrS5Iv#XKARyVz {/鎤ew!Bw#K}L .χ g`'GjܓCv8BCƃ@B-x,xdNMB )AD bӢ h۲,{ x_z5 v@~#9% IDAT'eHA&f==4, (g!tk'L4˛qb72|m$" *zapbK˔*${*eyhX,|gڡm5Ic{oOdBW^Or!)D>Ғ;gf7cNxI^x4:yMMx)@j7tͬ`[)Άl_Aňq;}sU\ゥGrwȇ>7#v{Fbm[uZ*&K*m NUҖoDH:sF&ZBt}R,q⬳B$~0VZՒJTO<$qS8!LIeiO#z$:nPiRwoIޡ}buixdCBy_bK{OjyRdBRp[VqP(P(RS~>-ZS7j]; j*Dd2i6olQ ndw !cҚy64rkDQi2w'xmznѩ{zz066c=j , ,AJ\M"h@}=6_o4]N:6wsK}ZO{2VG!`5_ӡ|E|6-)FJUr$|~vVXȁ?AJrp jkgG+:-Zd[vwwCD]j-(ԴI*J7Ma=}s\Ď+xn!ji]^P=AyLFV fX®a5Y]>G2O$7i(*bE9qKɞSDL\Iw"}gK)ryq!(j-%HfA-9Qsvc?z-Nl8L#tV"(, zb1Ðx$F'3O/¢`(|<XibhcZKQT*'|> >w} /ؑP2mTߜ(x猼$b6'ƭaIh$_"õq %MW$LNHK>#2RBm y_3h4rPTׇݻwoG[kM \WaٔcEwm 3 n&IӈX|9fggޏ:jSs]8zR˔KL5qCs;-M@rŽ~KbXt)*J[aw ַZ.T3LW@nc x?II _:q8OR9⥖xNCC$A  v\?Oqm!br8&F][uR-.#HTԇ[KxS\I6S/١miHBy>}MkRw~$VyB_җP.igi1дt~g17ʃ+(mɎ*E4̭X,p ظqZq w ڈeHrҒԢP z̍@T)ʹWsKZűbT*KtF+[VU'@*®]`K}b˙ರh4F43M!7ڥi"h=W*krUоw/yP* nI$Xd mUz!O0!ҍi6 iqIӊ\1)I4䱣%24%&VV܈{B93ܨ"^O,k!vK]D"ab…j/Z->NVHm6(JwM|BQ/?'o~|rT*s3¢߅#jFןhg(mgP$!J{)uh4b14͖jj"J\.[#x#ipSYss\$֬A5fwHuIG:E"~qҨAx>'LӪM  nCq, 6 d$SJPjԭ}f,R{*.'Js%%W֐ d2Vِ9@ϩVT*5;'<< .ocζTm GHvŦs8yi{&!S J -zPSz?t0|7زeKFJPa +'7C."nn@f;d;`5f+شk4}%q hPD0+-tB\.}bwч`GQRCb>HǙ^vPidbNċxp?ו1E6 89#M0$^A蘭d.rSlb۶m * ZRƐdX=ϱC).ȆÞ*HߦT1ޭ[QRt7̨!MHD& D >l}>A@ JN!}7'j]cs}If%®vTH\ա%O#/K[:%)?Rwt_iŎT!r|m2TUMkBHޚ{]wKE m#stLb <JRK3JY䥣GqD$%%- iIK{:F_RR#bJb.*Jp1i16L6mBWW.\b腛CYmE3Ҫ, !_.I[M"AyJHY -hK&lTsTqAit0$ pSg'%hVQ2%yQ6 Bf%p,>dOo847%&%F̩BB̟MA8L{%=/ -ۜbVsn;)Sr!kkh }ZkKvvX'HEoǚg,CThY"Hˍ4jrܜFF\ y=]+ Z3ь9iRZ@f-fz8ss*yZEn%t')q}o-@57)Zn;1Ѥ5ݕ56{`a&\ ,I?k !i ߵpZk| =+44JʘFdLG4%qÇK.zJ.| [Yb1TUtM"F:X"f:fѢEXd r%\B9)jg{hjYԧCt8{1VفDߏD"{f-N M,RޗD|2aK#A]Jґ4.ON]B\ uiVhE湹l.J%"]_2NAٶH iV`jrț۠}~#ZBJ-=\H:%,},C*h!V-k=?MIy)6Hu-)"j1o\y5ur9|GiV̩rR,f]C?sTB"9>f5 xEXq)̛OLL`ƍضmj/_ޒap:]S /wCiv% !~`;X ־2(])3M 40iB9k#CTRbMfcFWV4kZ!T!p|ȠZ kp@D k Y<G^%k3H5!4rt?Puיjw72$Bm MqÐ=%^(Xq xCj&}&&&pBdfiEKFFF077@V5tBaMDT8a|w)kIBNjp~$%ΧݢH}R[CHI~Fbi H LYI>eD)y=YKlH* {i%!j!>齹*kI#QI?+L&[$Κ1 NZ։Rn\K WYpMHאNн$`i7d֪| t0}CBdADN]e9vCvP;}ƵB>ђ\ IsT8dp^H 6iS T@HH$-Io- ~ e1~t-T5 -Bȯ'PDKIM8d?iIﯖNIRr\vRiikؽFNLNNX,Z L !4Q5.ɛ]REVR҅B gYpIAA}_Bj9?WHJ!Ҥ5ԨJSGRat#η໯R`zCB`HXIɴO8ę+% U sf*}µffflWw8=4Nۤ~% XbQq5|&|%m֒[ `H1joFw2#;92z '(&mFoS!aR%5To`CDz+VV|Gfӈ:b!\O6 lݺX 3332.Q7Sf48BHyCYz$Aԁ9 ʓ(#;\'E F2w_2!wq {*4PSVYbmCNhm._B3H qi"9jU!$QKFBhIۗ AROqXsԒ% Q^H:u;DJzȜRiH3i[" S"x$[>oI!'E,iyh6XlgdJH}\Q-*qH.VIsR]j,2l \QD,2 mB9g@:.:~J,R*B$\ L8V$4C/,O6m6$ M4B& {VDPMiMi%SC|#Mе냄}f'M} zh{kkBz>wG[#\Jn{D̨(NanI-AĢ(JU> Zt҄znʔZ%{K,jކT\ڹ46h4p)X΋ەh6Bt:z;vX w('r$ Z˫Μ皏"[sI϶;襇%(mqۡz)GihoRrk DžiyxӛބFh2_#jY2]&,iɊ$ i@ՄpINhD I}AGπ*>RIpEhr8ÐL&-86Ծ ZsXkbQ*(E*.]"a!5C1S["Zv̘I^z%vav_Q(000t:fXى.ڑS%+ԲOW&)v>Ոԧ)iR\4C}VA0e_KD8 ijj > ^|Eann_|$B:\CI*GK㒒ONߙ>PRm,B&4;DgpJ- qmiP86I][c\fffj*|D>Gww7oobI^T,94K|hi¦MJԤYSOHB8%gP^&#sh2LzVʠcQssىAkJJ=8ENA!IlF ]ZR]vN)7UBFLƊyHP8H %iKU-P^TCOӸp1;;: R iwh|"M H!>Ư qZTRO#J LПPd3I$ue=#XYKe Ӗpkqڈ;tvv=yP,1::%Kطn8>W!Y IDAT\n39I& Co =d%Zϵ#$nm݇{+>SBX /d2+DgϞ?p2hFq bD=yH2{vww5R'MHR/Gav) *i~.сM6a(!Yk@*%+\m).ԊfDGZ#tUChI$Ƶ|.ڳ$0p/1{[׃{K-J6Q&ivPI^"ґ?2_[xb=\k)ta I.S ^j'%| C!A\aJɺ$GEET 7Kj%4>Hlf·Hwݻd&O?=V]~TT4hn޺oZ YBF/wiA9/Ų/}4GbȹX~ɤJ%h[p\xU;DE F!%H!e2UG}U4S5>D"͛7kW\?`k_!NR1CiHDJ|gIT[!(Q&B͡(rJBAm{J.d 5%>[ns=lذ~;2(<_mIuq$ ]j5,YKҔ<$9P!CאέTgIhE$bكbBЦ7o666[;A/@r+f:I`>dZlPp7z^3Gn^:-dmӽ~CNS>KMZ88p?{9D"!Dw$wrIPB*Y-PIՙD&(N:9%;KE4F$I_&[4NM:ZT*8q'[E }|0o B8Zoo:={G侟+M]I"dc67j{h&btJ-t9c~ׄL_:rD"7bpp/nIX8&x MozfggсsFi9%QB(:B|MH㙴箍I<*rN[ZUW7DX B<W{ޡP'B!$yMXb+܆2k^ppA3'Ɋk>[c&=Jb%C%y_nTq#5t44nf~!I8)w?xBSR)At?_dͿ-kW ȵH|!-A-YP?wmJJwVamq|*@R1:j3<SSSjMW^y===jصkRT"p_vOW˽՞Hg`:h.x _RFNrwYBA>2i͚Wٸkpƍ?]wYthw~_6>};>яy_K5t|7pT*gq#9(7 mF yCe3MR8ꨣpcvv]GRF=4WCT"o\Ԓ }GZAsnNS6k_+~*iJ$io"dyyqEbz)l޼SCD"Jdjj ===Vjٲem ;t4Yk_yli%09Ey-M7*! 6c x4X"BC4BB9?.pٳGq}Q`Ν}x*J  ~SZr,Za%m||;HV J2??nk3uUTP[\43b(-::>;.Jk_ZK_K6I:q'ܔAHRn!V=jnq5Pcݏ_|~}?W1 3FiyV\I'L&cŒ( dSP 3iIYbaBj`+)PL 3LhRT(&st Bzl6A<4?W]uzzz*(X,ݻw zdg6رXi+yFyQG; Bm fggqF>oֵ6ܩf?zp wV᠃'3d߾}j8h"LLLb1+WQGeI)8裱l2y<#{GG* DӨjx[ނŋcmX~c9###n愢@8e-Z:Y㒾B&!БP-!3<I QRyD"tvv $ߤs{^ _s6±#Y%kg֭f%[?Hx衇ZD^>+s$mHVU`J9H{LH0`)CT#+%Kqz>nKJLKnG,3>W:::lvZ|1==իW+S1}}}ַC$8>K.޽{-YoNR5kp9l^x!v؁n gq^z%R),Z}{ȘKFWU\bsssxӛބ|3صk݋+g}6v܉^e\wuغuuõ^իWcǎ8^x!&&&055;'1::t:d2[n6l@WW݋xsꫯ '}kzzk׮'> LMMa׮]+fڵ ݨVK/}᪫gW^ydl;wĄHH9 煛hJI,LtYCgH>I;G5G f]]Etלػw/+%s#&X=O $w6JDnWV1001,Z;0S<ꈙщ @Z嘗) ,vJ!rB0 @I2:t4H]{zSG(+MHd2~7|>?՜r袋P(p|gXq&ߏ~6p}݇N8o.qva8p=jvFGGyfࠃµ^믿?oq7gv\vew}qgC*<Hz8䓱j* b1 ˺E ^~H&H(>w eu|_WUY\×ewq8s-$Z$Nç>)\r%x'Qpꫯ?AP.Յua͚5fٔJ%uQۑJ|VE]7l _nF?bp矏={ 7pCp/%aX:|pZ%͘PN Ciۙ٣: +֦i)J^\[~7PGGG[^ҴvIfA,&s4:)W"FFFetwwLن*^~eVM idn|N"pD 'pk/Mr*>6o^e(~,CRsP$U!mz qЈ>qEN#`?00`giklǎNq]wP(5AD".dYǒ%Kh"b1 Z AB}Q4 ⪫½ދ{K,%K_?8>P(`||_p뭷⡇ŋxbqظq#9眖VH<GWWAׇ;wb@ 7 ӃAr9R)b1|%bxx###Fq'zj\yEgj>{|I,\˖-m݆]v3ϴhUڸq#* V\iq\Ʊ_|bj{pWc˖-¢Ep5 aʕ(JիqUW!c$~"hG >a0!%)%8$WI!o./Wl͒a/f8!Oo65o>y5tb4<<+Vx{"3٤ζ@J P#YTZFk .S#>;nSj^ r3ި=p$>*q(N!;va Z͎J h4N#{,:<ַ?:;;q۬úuՅ `xGxbf-Z'x˗/G\G7Zj>Ѵ$P\õ:B: 6Ys0%a~ 6Ci[sgcҥkS3Ц1==vA EqjdRAtZ/=D$[(fZESę詴I< \AIkGHpD>\ꕀ:MB AOLMM&"ك[npB q|͸[j("x ^ׯG4kb͚588N3Ϡۺ^s5mQ^Ą׾dC޴i;_۷sn&׿ƓO>o~xݭ2=4^ڳg:7qdPTp-ocL&뮻pM7!CE&GLOO?qۚjؾ};:P(T(ΫGx7=K)*qLum$ordKӊS eEQ$PCiVLm.ݻNE Mig^w߆PL*Ӗ6f搩V,C6t(XS-sV4M`R1^9{38~U" v딈@>wCi!l۶-K$ԔXvttX, .0>;>9l޼m&nQQ.fq駷gdm d^VVHӸ 0::ڶ$wޖ5L&k.eoźu|>bl6s9NM*BOOOiMS U Dª7|k4wXn)4rx87rMhSm}m,. *‹N){NL79騘{IرuwGF梌!HxC >n] hh>`,A=:sh}Hym |'}Y zmȜ6/m7!~۽^zix': ve]fu'=^o===x//8qyG?֮] L{./Yrr8gUz[nE! K|.\J/_}]vzzzi.ql޼]]]Xbfgg[^}Y\tEyF8#=%s~ .ߏN; \r l6 / /~tVg?yY/m 9cI^ӏ ~ %0A A8IJgdP5BH$bȶ4W(pj hF%'po]f/]dSSSX`A`]|XTY$c%"$eRF(Uk6*iP#h>S*;z8;$ëp0d 3*'9U4A+Sz Ѫ!n6r'9d7oƦMqFoƍ4A\SO=2~-[8 $h6#$n݊+Pհw^#nnLLL`hhD}}}-9pY1pYFdɸϕ&84$s'~эR,NU 囸6Y{$k\rU\?_3R̽hDDB~Bp;nZ\tڮW2\.#ɠGJ+'?wߍ'xpg~twwG?N<(rÏ~#?=܃D"ag{zzp뭷bʕx衇~zoÒ%K𶷽 WUu]Xn~alٲ###83piT ?߸|'֭[)|/K4 vi8} =gf[Nϸ뮻֭Þ={p1Yg%K`hh_qw7 ~bx{ߋo|x'qM7nڵkn:ر+VQG=D^#n~z|%\\.g0J|{ߏua޽8ñl2."yկ~wسg.]+Wbǎl Rm>*yP%.*_R,OE2C +|@gg'FGG#GY vrl 6Τ·v\:F>kEpnj x\{x׻ޅ'x-N咺7UrB IM2.}M9KD5 IDATϚ[t3tuuFT}p,N /FdhD@hE4~hƼK64ɩT*Xlr/N b[nm#'k'?Ir9lذ<~3sϵ$zGuyo۶ r w`طo~b\DZi&Z ~:g]wﶄbN\xG_dr V\X,^x?om),_SSSd+۷]zN=Td2l۶ ֭䤽r=O94Mdz>kqgSOEOOv܉ua||޿>㘙i[Ӈr}6͗FݻwOo[ٓ[nʼn's9xsssӟ[0=C\\$rF E5pkϧ C9Wյ\.cժUV!$I y1Amu--LMi盄IQl}e$HKC_tΧxٲeV!_:~vav{M74f_]w.2,Xݠd䄩2훺5٠oTw+Nr;nI܃UcUd鴽o(A4׿ɞJRE:Bݼ8ݯq/`i쥊S+nl("sA,݉)1NO$v L333jH&-Ł{/&''QeR h6fd2bRn:Q{\.cffffmA<Xt>keD8Yljh+ ݇/EjI۶fA pW.قAD%ܿs$= VQZg&g.D"P5% M].-UsЀ}5Lh8F%$MTߤCK4֔46q2OD7Ia!^h,LNPz~& 2^e۪ZWGG22r3xL?,X;/N$d8E0$9`O&mό;8Y HRU* %jFMZP>i̙Sy'-YtD9%s  #F/WlPhMd]=?w/aZ%?;^I)gqN7VtˆOGDQ ٬FFF&h^9,%lwz(IٰU |J"njHR@n E"Oi3YEspkQ(P(YH@NDЪ~)qBa7!qt~oi@J"\0@]10η#$fn2AGܽ9x211h4jPLMMSr>l27.)%i޴LiKdq4jiJ[h=djCUm«77t̙yWV,*J ^#i͡Vsf0=8,zc5;jM2Zyz(Ip%J陻0I&tr#"Ncff@%~)r3`ffqYg!;C=d-Cm5&>#JHP()WB蚗ez˚HnΌ'%2M0Sd=M)9* '9 w>xIJL44L|_F&UiuIz M"~3I#%EMsOK\J BDxH."=WߨLq; o:D"_~ʸ>=QܮT*d2Y2%s.Cp'Wpk}'W9sFF,iXke?Hψh=2W=lPTΖj_K$7iA~ߋ"V^wXjꩵTͳŵ^kjgg'.rζUI М&vpMj6b}s/wsSx3|9Y,5@=\"Dߢ@h\l\2ǡ0zzzk.$ D"7rm ]2.(2}j%k#ڡ)pOr H2iUb|{}mϮj8#p饗D2wߍUV!ϋ^/r>nC~S>ОwߵT_C& 8h?{YbW{Ɗ`]1O R3%1ܽXpu5uppNpMХV%kfURO5fr7mqN- ۩{c:FW6w܉K/۶mwcÆ l%AO8 $ӗf9sФH-mh7N@1|F@!SWZ;5DkR?_k޽q07;;kո %$E.ϝvr=hRkZ+h͌Uj{i|%Lnp,CC8eeMpGƹ%z9 W33<%KT@Kv4 *iЬ 9>/lC\5{fL&b Ҿ. 7xR")<+ds>-2hK_K& ɖpש13cX̒.oe6?p۷Ͼ+!H$]"ۅh>@.5!i9QA1u8ZГX pپ/HJ%j5tvvYkH|HD%|㩒L^dVrDNIadk ]9/k-SZR1#}xVZb$qr$D%2WG""N[ mtD|[^2S.ihkǝy]g8;B|$K %2ߡhm$B:{vpI)gffp6ZC$AԌ6͡\.[Ū\.g Un#.^-6X7Eqz*c,(Әi]̼r-B{NY3+ Ti]K{q7!=c*%{siq䍌 J"ު=W)pӽ'5}2Mx;fƵ틖OU!-!qm7RҴ]Q8nK-H\JRqRZbgڊ&83 vidSJ%"3Cu$l"Z`}mS}{bttX JKm8C8݃ %eKi܋ %z_ ٴH Ѩ y``>2!7!Yb !~q!{>pfuuP .sp8w^d} Ѹ4SA"tIO|nVCOO岚gqWyiRǍ/Shh&sJkJZ&hmF OǝP&\٧s[Z 3A0>>nBmFBNm9׿<ͱb5.t8sFxtBж]+iҮӟP,Țq(ّBZ$RUA>҄6ufH(q=Dcr 7$H9?=h#SrD|}M\hY,KITzphI#'ͭL$\g>ӕÍ!}rD<gFqBoc^cN#ss̖+Ǜݶe͔ ۤ&=ҥKŃ )WVq衇O/d.\_p\&ML`UwlUNq\e㾗LՓQ<̡8 90݃A}:)HعÈB94~ !j.&J"PI'ʨfC,}Jpk3s_GS>Om$ܧ{* r)3ԵP=Ƞ_٠k_1DlM 5w^ttt`li׾K/a՘v&;q3]+nfi&i`LrLMwIY ؔb̽\KQB{sڿsiZ>m,NdF!CW3Z/\ZJiЇiWqs>iaNtWMOC ^UXurZs-NI![tRJbQʋ󑪥gZ&6$4;"$FO"J"]*EQy,(oGޛJqwFqZ mj\ã(ɫT*aٲeذaRCv3& I-Δ I 5 IK&Btgj2"4[KDvK >ͲA7@_BT)%^ d8)ɐ4BFU,1C9A^3z)ۗn]rI l}@n%FeťVւcV/)mr.4BtNLdnm7ɵmK Z%+JD0)4S) 9rbh_7Dj+L&0Ձd2xh"ucU4iFTC{nIc(¥L]ɽNṙHjKw->-\%M2`*KH6FFWӽMX,$'Miu\AΩ#HZ/4ҩd&JL|!R.b/D#AgqkE$VXŋT*5& %#ZSN9J0iBJ$5Oiw&ֆ)>]d@2밢#&JZUIٱ\K1?ot܅ IPfSs %QTKã("Ojaki]G9eHۋC$M&UL?QK%%懤#jM;OO&dzm]@ȭFl6f3Rs);dk牄PT*KDzhRʍs"=_(Ν;{n 5bj>;ZHE f$A$a},d5'A]gWNr Sd̚j/$e9 ICb$*FBH!0dJ|)JIfv\uK9gB_`wI+}bF?q#HVR[PּvD xT?HSV佹}J^TT'm «GR@ QyP;sz|`9o*T* 4Dk~nrȢDHu'3XQsdV#ɴ;A{YLԈ#N>(*T*[PhsQbֻ箽R\Zwr+rQD@CҒ(.ӒIW$)GL&}61BGsmҳҠsM)wk~)#2ň.)g4 :雦 iC[ܨ GqQSrFgLR vG C&-K Zh4{84'!VT4Rھ4Cvg(xIs$L}:F&̌4rQj1lݺx$Fm ߨ\2`O*% eldD8b,T0=FŕUw)!H2@$C#͈I5m#!D?C"I$ĉ qρr '4H7_`Ԫx+*,_uVT)%nMIk+d]sՐM-ׄh"i~aSK C wr*"z{{[$%SyZغcO]>"X7;;gyhdh6@5|t:lLm!ϸhhK,ATBWWWK}XTY@ҡ~&50NB?wMBp߻VX,ڬ7 }f&rTElVQ 5Gm^bkN Kv >6/ !5qc#І|W dDkh05GB4k$yF XT$t_"5c<%Gɑ;CUk)nZZ%Rd>^Pl4ۋ=K[W+WʖC,{UhONNb޽f6n\ ۟2דh%mjTMOK E>0ceдv{jr3֠oif UBo\(> B-4F5TiI᪓mAZY>U=힇:JZ:f)]XH x_(br#N?m4o$jhLLƶ%GB~s\W7Kk-ji,TFьmCt# 2 Æ jy"jݍz={8$Q WOe=JKSș: gj@\=IRT*T*sÒ܀].pjc~\̗I HK !r/.NZV>f7}I4ZK$T>Gn4G:B[R0S~|POd%\rE[tJH#c:RTVȠy^Dx ]e_Kh)GwUCm4s ' OdΠS8?p߿߶4ܵuI#f;wD"@\}}m2fh"8]UH[>sI WW\.F tD#he h<ޖY HKsMH5o\E+p4[%Jҗ/Ԫ%O/_Zpee (}$"8hdB9p IDATS|X*jۄ[kHusr\.cpp#8B%$Ԉr dRO5 qPQS.hI\h4լsv lܸ~:^z%R) 4XeV* .]JbI %QS#kU,U*7Je'#kj9!*.h o QinnRV0^rԮfNPCMIU\bB\%>]6Sc䯥`õD/$Kd׮ऎ%~nyIā;g4]g&0sG5/a&T}}}-Es& hbIȬt:-Ӣϸ>KhF 4&Y`gdbd]adI!ڼ裏(:(+hh6غu+B"IPҐʌ# TXɝĘC^$T|`2l9xDn&Ƣɗoë(J( -FXDXC4,fnκfb߾}3i3H}b囖4d ]W' MB!OsׂtNܙUq9r>10pn0$u͡V!H`zzgCui-ZF[\nK\o"$ :eF($3ѿהxMw^l6+2TKP5Z'jL$&yp I%%D333ظq#vD70H`ǎxކ|+Ed7zR_ʉvhFa| wRlPHusB|R ֱkj{BJvw,\h/*r9HWRzRb8 I٥Cq./N_b5PR87đ|ݽBoi/kS+!qf$jZSOŇ?a$ k_ٖ&w(?⠃j7r_ϵ}ŁwK}FH̪ժR9 {pcZ/X"DcQDъ^q5H0H%KpgiyJQC:O?4,XV9% ۃ CFzD~" {X>DpR\n}}:I j5K嬮$.9jRm~1#!g抯J#I&\"%7bQ+&V袋033RӟE]o4i5nD_n{"T9<W@3\Ӿr8È"k>3ra8bgL|||rI 瘾O"s=gF@%RUCR9I§{r'XnmjZ޷@|0T1ENa\^%?RqPJz(֮]AGmI!#R2"HpB:`V'0%{' }K kjPB$4SKCDVw|S8,Z+d2zIɘpK0==%KLI i"s/8m ڱNZA}v~Q=A41["pm9޹z ΢XD$A*B>G.Ϫm+Wʝt8֛̉|6F% |D *๹`5FnI(BUbf"PiVڳ1сŧ>)\xXvs CyAB| e& IF|$22MHdhHS0.I1ÜkFnbؾ}{wL&صk jTCW$¬^A">]n0EZkmffflPf4tG#kbhn@YܾFxǰtRc044 "4f&g g %77sAfu%'lI&{K]4X$܉zHH0@+T*'xwq?׾5 -*y/JAMPvvȄ}5FG-҂x(Ba XhZ>r+jjx.澾>H$غu+nFۮȴJxvKL$f NNHpZx 4L k6V:Hi℠ڳ$m!ZE%Hi$:;;m>jjkô(:;;100fN8ed9 +4ǫR?UꏒW4M^-:̾RXHLBEePwP=W"{t8* \]2\!U>q[F2!"C4 M8(Oִ4)k!D/= gVb)J5S"rFu6W8Un&QtX*J%ұW"7^H$e[X&ėj4Zs¼$v.:MwOS{,z{{Q(ZβD"j"QՐJm6;177{7 Ӡ2׵+TI8i]>C *6gG<|#kFf i !!B1Ц}$2f 4c5*m Ҷf ~5JYM*0 MԌiPB9II=w_S.V;@%Th*/$M(<:gٖuBgNѩ)IXYIsk7ajjM#PLjq׋E$fjJғA`1wX/UvFҒ$*G%->H["FVHJnC*Tb C#˅0rIR ȼ΀ީA܈!"Im(a7d@Wݓ_\גv*s_ԣ;\`4ts3HܳT*x[b^;5^Ap ѐM6YlJ~D|;MĤ5"fszeQcE}zpBv|X,CPʈOӜcJ:]܌|q!{}GbS|>/k6N&IKR"CC̼|hTɆҿ@A6j{>(VΕ=Gb%!B)\L{c*Dΐt)8.צ燄I{A8АWDaSMnie:Օkxm6H&VɑJpSWR\tCɡUe;"p)nOHR+hԌ#Jall llvj~%hd0ZW򩷶BS/VmKDW$?L?#NHlsH"I2G4"YLR>3s8"'L+"t<˧/<5gRkk 8",tǧ<$58SwJ57S!@i"ħ1hC Z+ &߉I-r.?M+岸DP'g E=&}'I:tCCCPF|!a_[=?tc*~O|3Єu,dJbj3/j\4X~9UzpOoQ%qm%)8XL;9Hfشi;)i''֬VKh}}\E]BEq%.5D{GFSҘ+4Kch{&n;~?:rC7n܈qTոH3;;FnK.$6CMʪzd4dH1T5$.1KX*JJjJfc3P(tXFWVh;x*k^4Re0}NDЉP;]NAq~ĤPr][?4W XwJiJQ.qqElڴI--LjOk\uMM鳨D:5Oɗ~d#!zT;+$"H$p!r9Dޥ]ntt\ų>!ELbISkm}ѯEb$)V旌ɸϠdbuqcqgYpJoNkkk8s#\B7]iR#jWJ|(- I+="%ĮJF֣d;G)HIfAn#W\BB9ǥ5/!g\vrH{.τ"vF۶m]ٌ  QH[{ڄY:P1&dI0=Nx>FM5GbdeiHN %ZBʤ`̡Z2jRZj2&4K(z*sqt4KwjT,qE\.C@c =ġTo#qz-;sz.J8M,i0IdO4<݈.&;;utYQ~zHR8yd -D#.7nI8maAG-:kK!ha$H'=$ /UDXBOtJd=HE7oiOK\fYQL NJRr[(ѓJrFh8!Ӓ&CN$HkG#jm:bELnchh(/bwjHr^oP4h rBH Q,PK_PM :"i[ɦX:4,N ]MiZjiߝC4-KJqÔáP^( JJ={DLYMLx _z.qIE%_Ue-QhQǍrSLiיԒrS+N###d2h$vDBW_Jt]dÕfCNJF9($;ͪ NI|h5eOfY&vtBicz˱%'Mn E?7qe"sRY "+ϖzTC۷q)3Jt:jj"!R]#ysi}q*G zȹjvNt]T*{jA$A n?2(: ^xԅVԅ_h(NGjb4Iد^QSStסNjtt4J(t].͛ T cccs?u u_Bh~$`)i Qc KT CCC1i>͛E(G_ EI]>GR*K<`xM"1-,/Ě:UG{c% !-NS6JRy_=C*0KR~/pZւ즭6+WaKj\㢋.גlCq߇ptr4p$YX|9>)HXFm.GVd2V2N_lɓ bjX\䤉#|F(ĭBM#l?"WhvBkzIR/}KW/| 3hk|>+2jkɐkm?r tO=JR[>Hڡ/V@kdAB´_qw:\tEG *JkR`eO_>+DGvqO#fьٲ[ xJTD!9Weg0b{sTq qm}/>Ocjj*Ȥ""uiʉ%(TIT*jk8>|IdYv_QT+\Si!;,"&Kʺ]tQRu%&&&bM$n${/FctgyJP|nڬ1spI#]DtV \bߪzf=6Ryqǥ/~ oɓ'Q񖷼?Ej7!RvhhR-UCZR9i P!7^]bO!<`hA 暳6rKRgnmIHKJ׭ٓ,6N2,]~gp)r"LjI}aY1֪v/D23J ,j5tItÆ %ɳdKnql^pDQ.6ic/'2^wj'Ɣ45;(;z\;&DLm۶G#<8r{߹`% !sjM#mby䨍݆xX:'f"&ӐvJhll 6l#~VqZb6w?s9'RU RC9q,ith^-ځ'Y1pVI.\##ʵn!Aq w5B )"f=%Ƃt:Yoƍ1;;)#KQW4c\3gw87RI6kP~QTNՖ#j\s7qU׊.d=E[w,Zt ׭[tvIzE\z(ظqcl& $㜒:b%fnyi,uiP +s֜D ”=Ywy_KTI 9ONN^c``= CzwCt,0S.JuE>mI(WqjsZbIk-m\kF\t(˘t[DPsBGETž={k{kɢ=&9Ok(o!Bڐ%`r0)9wRkKזh;K|/*kg9In騤qV8y$111>v rm  nd2"A^_q#.^WRCZZHl&''#Jp(Oa^9=̤qU ֵz8qQ|4dG.DFBI f'z,+j I#[Y89! 3UUKV~OSmq"BkS2 .TBCq)A$vV) 'I3g !|WB9 w|1Ez/=I`tt4ڃHl6qGTd8\:DAY2>huRz0EtJ;l~-j@"9g紼Wl6K (is4)["_ROX,i]tpJh$0KA֞TIJ\rU}l6EɄM !Zքs*_mq8O"-យAIBq+bЩ-0QIGM_Oc;%[N-d9DZeq%qZ$=/?⦚XO[RFB>#z&~æMP188/|6>4%}YTO8 ¸ LJttZ<}8JbsٵNS"ɨ25.?L7 7ùJ'InX ~y1Xj l8ƄKNO%XڿRbq.dW о'wĺ7h4쳣n@s C49USqNy"/~>%K'bn(i" [6l؀ٞ$% #!MR28CsըfU"#$@pH;%%YiչW[Xxի^A%BsbC[HJ>eKFmR%4B%R*JtHdE/]4&g){$"d:TC| \aw-_^E~qY.qףX,>-B9Z;PpcLVeNi-HŔ$A9ESǝپ4E#; cii)_ҽYUW]ӧOGÍC g3Kodd2A*8/)k S@"Ӵ5myHQiĚwy zsT* M ^j.qՀ41,®,.~K\9#DT ַe/{ܺ!?jɄXD\)qX4`qq,Q)e=g [{n 3>:+}f%\JP,Ywk\]j=N6]%J{b = rkq-K 0_zHI>.)?~@Z-p"Ua!Pg?`.}K\_jhZcv>fh`&vTÎG5&BC5QG8ZhKŒ$ :\g?r_⁵Ģ`o$,NVrkTUmoʭ=&!tT~_‡6VWWڡTaSȈFZZFI8vFJ{F>]0.,'|Rr8cY$N RNzچģ FBָGjXkЊNV رcGD>D6~kmV4njYzK-@L *W-֠4yRIAJhOfɮE)kLzw"!nf17D ]jAhAne5AVM@XW%qM%+JlDKB){9'V[-p.<IÈ~?w$K:S7"?iF+%ۢ5Y|B:^]M%(4æpt*Pرf{> -x-jɔW\+im \M5[)FCDn|ZDgJLܺ!  ^r&RXX &$ f$%tPeHnGP` o[{U8'Wn񧜙C6 q>]h0i)\m! .ѓ8f6m…^M6E#Q =z/055C`697N0}LH}~U爹>5Ϊ,B:L:KU]K$F3~B188333KYmo3Zqr"&''qFʢk[Zp>i7B"giFHdIH2osmqz.VntLCk?Z4$J֭[-[^X7KJ(ҫƁcyy2G5HkP(P6Ziȍ*ib]3~HKm2DA"ElQ  3E'155#G`hh(v-i)㕯|%vڅj8f4JUD..kpkVs-%IȲ;Tے~9(JI?k69YYtO-JjVWWkӧqy[n-t˄JJ8{o8$[ӆ-A|J%Mzpx!5cIB}.= 䭗O~CAXw[B![ٸq۷cXZZ;6j,Đ'Şr̒=C!5?܁MQ;KG*t8_*Gp?GWar'Ν;Q=ȖdOFTBV 9JGx #76"n?by9u?0%FP{dcVeo-sYs<>H`nn_|1rO/;5xOQUػw/.2\s5>/xP*XAI>CnZ#Tj.TXD9-i;$)># pRQBҬN-đCg:v܉{̙3X\\D'>R6E$4Iݴ3487 XZZ Nr BD).Z- T՞SS;MY$tBKd! k*R|ʏt/R sss"t:d2d2,,,P(`mm-)Ea)Msk%6۝vM3KD,v {[=Ǔ颥טJ~FVZJ(UPAgpC?蜶W_ H"J~Tij0==z l֭?s=Wk=WC;$ވd2UVK,! iUNH!H(J\/MSAΝ;cFN>=CִP(n\4ɷDz&ן3g[[[CT2D+^R-ViK^eZ/w_,|(RN?Sq(6]7mڄ={`dd$Z7n0,rKPo/0ɯ܄ 5sp'LH-H"tQŹ|HBkp=J% `zzZ%rqA$k$~ӟnoo //o}+BW>vk՛V%TX~VheMq'T{56dH"iR^;_J~wc=ۇ4,9pײ}5jo×wgjhɒ ?YoJn,6%NsI*,ilI)J088:tJJ"NcvvT J%6"E(Tzu]-P䬰LZ>C62VqQS[/gLFkHӘǕW^R$^ @GVsdFVG?Q}?s?yȽV#+C5MyPB!E Ԕ5gi*iW|Бѐ^6b/-pBJr>,,,?#R4U,h KKK;xШT*jR5T*DϚ_h.̬{qX8H0µ8M(Ω!E&^vDĺu"bL#8j 1sR\7d"SĔ:1,YXؾ gIڡ144\.f%dV@ Ȑ~<33+< TOB#^f133=t: =4 mC[I!nh48kDKKSCǚa z_)R{7w=2gڐk ok^52M(hi:> aݺu=|2I'?%yr1g iҿOӨj{I:ˬkzJl ZIXJu]$ItOrXP{ ,&&&{f2"9{0bii o|QVh4bYI817Ѣ `mEaoiSZx KYn&A^jlIJ*-刱LF'F =VX~=FGGّL8a0Ro2NsM0<ݣhș\ܡ*˱i-)\V)MXV`kCp䮥u&%nZ 3|D籸qƨl6~h`ll,qنO8m5pZQuZDv(-4cr [w N3 N&X[[ZtFHIы^#Fu::vi\PRKڙBuK8]x?FsGhG ztuHQ.Pg% ֋_pʛREOr' K1iGK ~ѡK/&+nA}r ׸T\t"EN5ϐD&{,? MsE3CeMtQf+ׇr'{,.~ey6ѣؾ}{-1i)Qh'q<1$C$BܨTHC5 ޻RDZƺJ06 L~[Jrnh\.G-/WYv]رZMT9 IBx`;ʘ?nZB@gN#qYm)I Utb:`tM I#T3%EJw?k@KI5G g0==< Q$0u%nMst3%d#KIW?jJTڶⳔHsmnK/z=6?8ڵ >(&&&pd2؃nhqkkIs \ANB Ѡ$BCb0$w]4 ,--Ea>9js/%1}.H@ZE^A?O>W1B ʴK h8IZ? uiR\+]_HK&? C HMϡMhY8!&R@MH\W@ 7`yyY3lyrIBP M6Cs5c/,Ҩ,'H{td;Kr:FPp k6H7oFh,i?Anp >J:Xe(LystvهM5dbtͨB\FXĭ|Dy@L:rZI﷏Qj&i.\݊D"Ř37$gIW"k* #)=1zG@v8ȶFzsOxQױi?F&F͛7"RsP9UCLlN !10dIG?5A٨&U4*ID+}jl6zDDq\~ :?J՛fCf56Fӈvً>*.JF9R)r 8lH7Q(iPtC֠#\cYZK&Y8hcRqtvwݨV=J6JN.dXnuHiH mhR!{7EK^WۍQn߮ wXP"\n2 FGGcĿh36q}&sc|hV9\Ro 14ҍ6I}}Nnl"NǂEHnÑ@Ν;#E3堵᧍JԊ* tScS蕢 X#:gHg\o*LziYHō%Ic˖-8p7K.KkVQ*3\{.t Aі-E3C$R5[Jkij!<ͨ!;t'h4skkk1.oSŠr]v?+)e/_xr\oo>p]M9R$Na 䬩ef%q+>[螉q";;v|g87DTB8/H9_m}rm \9YJAƺZ(#₫^P*˗ݧ|%ҏıRz[nEP u]XXXQGl"Ja߾}>9y'P ;d!1J077i#k9Pe\ ђb,?#(-Z$I"400Ga9rl=b>] ;qiMK1#:Ҧ&/B26s("m.ΧA>ޟ $>"esH|L&qU)j[8b=L-I\qӧq!=\ϖKئ)S7$ٿsPf$* Fsŵ7 OJ,M>H6~^Tp7GkSRN>M VJZ`UU\yصk{ M+5K/%=BVb:#ҬO2 ĥ$B> 9Ok|']x-N#N=,H 0^x!?!nH ?ѐS4mJY`g܌pHߙ{Z[TK~ks9_<;$]LPq)N w0sW:IC 5anvh_*Eo~VI0hΚ\bA8 Ks3F'o--X[v #w722GyW_}5Z&''c!#FU Ti *O:<>>k&[WkX4 f`` ƫd2_|QH{H]ֿkS7&q>ڐgh}{6mڄD 或B/">fWձ&nkft]9~ȋHE^rȃ&JJMՒ!u.!}Jy>,.(!Y4&4<,X;{JFS\?07 n6LLLL"]I-=܇ j4|aE9\BZC"q(Hf!N+;i?\nݺ(ƭEDLw?}_KL# Fy(7MӧYns~ %%N###x2t:ȹԲ!M鰗&4aKC\[ NҴ&$~.d2~^z ֭^'TNذa.RFmt:"P,{r2t*ƅ/j.Iko JmfZD:r(Ѽ{? t%qBL&jCpƒ   XݴLst~z!5Ra4C C )*hr2ٚwW@ x;ށl6uER)D}c:HK3?A4jPVя~333V6-Ac2r5:ù=NqaADqʩ{+%s;:[ԋƵjԩSQLVѿ'(_Z ,VVV2mNY蜱`{ dH#h%q5^$!R,tsc2+2VVZٌ1u:tck4%ƨZngLQX&!]y%. 4I_ BP;&Aa~d2XZZ-܂|?"\.͛7cnn.˖Hrߍ\&瞨B8d𤵴$RFlZxՊT*b \;IO?T@9~7=uz64 _BB \{P(`ݨv1 w}l;N;}EKJaU0 zf\!heC7#8V/Q \ڙqe2hƤjFpcRJG^,7kHS!ٴS I>~m^sC-y /5oQ\@ i:@X#}g%SW!}SFGG裏{$mۆM6affl*񸴱PN#]Tp=D6 ͑sh4 wxIW4rw6p%H੧G4ixڵ[iOp4󱬉J&H{U"3sbT>2VV100SN\.GHPjgd2afggՠ?|)d6Od*њMIY. 42rHy~B׻"JEM3)GZVj'Z8v:W J00K\R&e>/QIjZ b!Qe%"HdNfZGRe,%J\"8\CN_CCCre9rDmI#\+<=NR~XYY1+4nt0:D !r.q"p(tpgTxh~kj#>@%Kl9K"wj7kkkQ7~so8<H\"BD-n6R\.T*E~׿TfjhhĉQ.EZOB4)$BGp +qT6Iֿ !X[kCCM0B\, RG=۽ދ|>#Z6HBlWZԧ8_#m&I,,,`qqQT1Po9B6v-{_k)RRԃ H8T_Ə~#|#F9Md5O j ҪPIiS2d)jFu;i#o6عs'?0.r=}n$lMhm/JѪ`PK<>Oa~~>V0Yc0 )gx$K -(~_FΫ!dI qQB$3-NV[EjI E]{CLgs"0(mm8An7>>|>\+#J K}ZEi(۵)n4ָI$!hfH$Oܜ6hD#рAC&< \mr-  Bߎ-[wwcS49 jtt5=:R&:FiDbs4/=܃_*0TyCkinj<梱SMUBFD=IɼE\Zrx'D2m?^HVu_v&vFHw~ȸ5ݿ;PoR)4MdYLOOlƌ ~䥗^͛Q.e˘R߷˖6D9|K_-܂b&948k7ФFpjn۸{9I{.5Dߣ㓺3LDH5*Ҿ֡nڸjmJ-vSYjmpnhd2j 퍏c֭hZXXXI&>‡ȑ.yjkpAZXt_"i 9R&:j,%dYΤ Є)I fGŵ^l6F#Te4 mq4/(Z[bxxKKKؽ{7cн6%HAFw91-N 9+}"%MO8q /ǩSW _iZS V!NGI9&-4A8CڃR+Z=s>O<FP,3Gh_PgkzQ{z8tSC_䞝TX)Hd2cǎ!Ex<.|G6f}yYM@) @2KJs$5} L{@ Z=dn$Жhcri:4%N.y};?쳸1118$ [nCJCZUָo?!O_{q IDAT{R'`G- kZO)+,NF,SJ&Hl۶ 7 wwffuد@T@ݡ,?'NhP6%_+$~jҸ}.qzppOҏfօ;}TAILKkc|(IYz\iFvU P\+EseMn|~GZqN)?;wbϞ=U37%wafL鐒$ťBcccT*8x r\| !_(iZ_-+jH+K7 ZHlu:s98v^xLMMH_aJl}.YTﲰn7|3N8!94Bz&Nfw jJ{^ctt4viz>>( UinZ|kȀ$Si 7!7Lxw# sgy*:pOĉd28uTςpɃP C!q;a2"&A\@tK=C hU$4: 6DZcdD{d~VxiK*D",73/mfz}\Hb:5>Fuet֗_~yoU(RXKI zZZZ\m۶aaa'Y;2ŵ${]&-Is7J' p]wUzΜ9L&"F&Ȯ)ϵE2Ғ|;UD"tG njAJkEKhQٻnΒ--)V"ݻ?p9jtA28v܉՘D<6"3Zj3-yHV"F״Dgf32^ykMhDV:t:3gΠT*MozS~)4#0i#qP?*ۇo~C=**`'EZ+v=WZ.\1dsZ֡&8Z*p}all sss1?#)!rQ#KIkkݔ+&7zh-%5oEo!Q5q*L6BxwÇcǎx4~h`Νxcs0(84ziٱH`t҂ (υdW5$Rw@r- mdj5&6E8yO %EmSq;ʪORXYYɓ'q뭷bxx8"Ј$2KCCfo}[q=y>GhrHIȶ`\w<>?)N8pSSSx^Z&UkithX RđµJN$(J?qTUFF{4֥%&3$@F<_HSNFJR$*gִY?tH0M=v̖ 4R+s^|EJ5)[ , HSz^RIZ'NjZQR-i{TL::n#(וdvGIAVk84GIRjy۷w*\ƫDm ! !mvyf9sr99P4/ؿ?o䯹MWV֭[裏b֭X~=~`ͱÄ1\:P?S7gmm v‡>!D{Фwgn_גO׸kf388883*qBk, oӯJli TBӢIRHUQbcwį~=XI>,{qȖ4hP$/-T3%/jDY-w,,PCJ@Ad}YرCP0dzBQ,:ՒHIjIӧ}>|>Zfi0S,qw]z>`qq_"kgG722"KMВKZ+ZsKHR[Ѹq$"wd?"JPVqȑ8::MuH#Z 2Cj҈o_+zLԤVt:vmW׾RW1S^vrIąh_=R"Occc8sϗ*FP\-]"sϦhAV"xeMqXZ>w %.OuPmpIV DmGGG#\.#p6'gÒB V܃=,D4F`Ti6ңHY\dB!Vsb3X;kZpp6N Iqh :={`׮](1tZjy&$YӸVo7d=SuVmK\g24MOt FlA!,U+RZH1ajE?3!YvVr1)2adMpnn :3 `R ks[A*Id?M.:̵!פRX<s"4_[ǜg6w>ኬr|S«_}#Uhd2g9c7:JnMqCIqCbC-h3 -J+M&٘@_ H*B'x"z6>*tRgΜA>QT"E^_{d$ t;]SL b\ c#;i4ZۅC>z?ۣvTIKm&TRTN0\ t8t^K.AXQ%YJ~RK+)$$}1=-ypF-muGڐg')6??n{/fggb:%[- 3A5w_|r ' R )ĸi)kM ~-)?骱k҂[2p@{m۶aff&j7J7''w.mtX6t3,K?Oz|89 Iò*dL^0T*JRdRv$p9A$L62{_;aݎo~b_/d̷UXÉѵ$C5\fx-?. iqVi=t_oRnoP"_%`2&&&GG8qa`I{f߅$EEoԏסz tΗ5stDJ5ak6Fb—wf"0JH[w#ɠP(`pp0v&]yilܸr]hVDEC,_5tzG"p#+\O& Z-, ՠ).HZWb,t_} p )ϫMR"fKv#ts E@^4Ⱥ5gyykpuרȎ$bx!%VdY$CnIfr¢` x;ꢿ`J\j|pwX[[Jb'm9s2'iSTDۥMRbf"14>I{Pj-sUe-:|?hE@@iׁ" d2kHT*E> QaL- _1R F!dj$-<+KQ"mj fT*r!TsFd.l6QVc2!'N*nfرb"E d\;JsID$޿}>7y?XVj Ʃ1Ez4g~~W]uxdYK,W~9\iAhd5JK^o4+W1;3$ܲ%¶tDFhi<ڞjA=FK/z=E"_|qjP*m۶fԅȥ>^HhOrvS%"<ՃUi> !6E嘮}.ڴQ}Z-TՈ'Z5*mT*|>z SSSؿ?PT j,!"VEΡڡ%jUh>KkXRr$и+++'> \uU8ubLDI/U4"y5JNCt;}#N2P Nz 5dl[6Ȣy#Fc:ڝ+"F??/?JllƧy~ahPV < FFFpcnnO=W`DI+d"HGϡTg`F㌸8LKQKZn6޽/"=UnLOr MLD/dREHv;rqڗ1]GjUb4RZrCM?߸)4A㈐TDIyH-rIXZZNFhDA6zmF9%I$ӏ`%[EC1M$~y Z͇8ؔ5;"$E6hr!limj5/&&&~L ph?Uf_ ^p˵8j* nVٳgΜtKujbm ͸;B_EH .ph KSJj56H&URj7Tߧ~ʵDVӷE%ZUk&byyׯXјt 9"cff>v*B.%Q#X,_! jE !8 ꊻH qMA~΍Cr#ItR"ăy^HR |It:vmQV#ą|3G 8?Q|zh2(Z'͵Wjp ?C{8rJq!pNDlcġt7#NsbV\ھuPr҄}_K"F ْ֮Ow{R>k.8q|[lrgdPbEBF$ݶC=#ÑХTk#%5֤m%h7}th;}RjNEž tpJJ8E3Jauuذaߏ9*,٩kp j~J/$fq[ ƚ\.3g`߾}8rHs'Rv^crr2"MLLDdgN#N#hB}BSt()ˎMJeCF5.&s%C4Ѡ""q=B娥KU;l0??7kA>^TiԬINzV%UjZY\?/BB'A ?cJyBҿ|WIW*lذ;Wi IDATqĉ{%9v u[KD[1:8NVk@TBшļ$/%X#kh1be]>A !6Z6mڄYV*t:3g`t:رcfffĂjSbA{>A3 X ~RZ,mwh/7-k4U^s6R7[ٌ-⡤)-S#.*Pkk 8s qUW<D;+d@µ{(o}.=D-E"^McP6mI$KFl;jZnFLNNbffG% >wh?UŤ~\SC|t IŦ$BHkӗ) Fai}$DO$$&,r6¦-pkI&]B&Fݽp•iG5M ᗿ%,cNk( rcz庎;r&eI`MlLj-G0_;H ov  `K@@$ZJ$E%/y}z:TݧٻvժUkU8˰8{HZj,Έ;l[H,f%h"@\ #* h6:Uh4˅ dccCx ygŋh4Ve[%h^Li齴#5[<)Ώܝ.-t:!{'_e>E+BZc"dzO0.6~PH5qʼ zNmB XZ^իWdx %bZ$kywȒghZ+Oz߯}krʕ B=u y'?JKW~!XYDmTXW9 *z[.:lhHA_4#B@-^}ϭd/Q*c8Z9_d2wyGժ9sF|>~[}ņC$X+sJYP@z¶QXH_Z'C+yrǩN#@կW9q˗מEt5mݳD~/膮#,V*2)wZ?3DW!wPVZh Z{}zK.N r=j59s rbUjcCWT1=e6@ ԙ^^DA`I%/JfU Egrgg<գZ{3Dmhay%qJzR[n۷jɧ>)ygno-wܑr)V+lĩR B)k"qr4j+ϥp}Q?SyᇥI)E)a^cXD&B&yLϢ'fYvvv\t%PT2EgJCW>T!Ĉ.nRKkgd=?өܼySO?-ʚu8 Z@ Y/f1Mo!~1,շza&BL΃>4ozV pX`E2rh4K.իWSO%~ܹsGzj=`i1ҟgoMY#k@G $i!O^ir8?./=4 irҥ5uˊ2hv"R T"60-6πtm<S~]_mFM<pKDDZ2kC ˥,K#g314}]B~i6rΝQOh=L&rڵ5WBK*Yd_K ~DD2xFڼb}\6?;X/tZ~$Q!O U'{lJEáci4˓O>) ]7nN$xrxv5QV?4>/E|Qы#'YȄQ B l,7n(|+Ҋ^o(S82Rٖ Y2!?я䳟;vxN)v7z=/~!O..y:i#&=TGfIl`VPHV.Rcg{~}㽖FmICVӧOC=$O=B"3Wo+.ˮB 45ڍkP|.aNx B}>-5+ymb-R*F,FYL ?ϯkS3gҹsѶ*MeSBrGMN-ѪTFM& >S@/7jeJ~_?b'k%C^UZ'mqLEt&gIƍRVe{{[Ν;'_e0|td2_@Wkֳ"}Zyyghёz=壏>x\Ty>xJ !/A%F![[[O?,NO CruNk׊jd%,qDѨ呢[z1fr7|}PRࡹhq+M nmm⏵r aHY ArXL; 5G>Z_Io!g&nw`X,ROp('O7ox<]i+Ch7HآGd[RiuU-[#E kT]cݮ8q…3"Lj!1Ƀ`[Psح[ZƆlnng>җTӇaZt:µ4)&=``K~%d"GGG%ǎ9qrlooR/]Dec(80i68uN|RF9+XJsLGÌtqdXTd iyi3 l;#Hus9{Zܮڒ7nȹsVҋ@lL$:7FQ'=N6*DZ!Q:bb~/OaXՃ-L=⠵ Q@VnœXW@ܾ}؇fSZess؇Wd8t:h$XiBHW14j djƆ4 9wqiFU9rOrKhE̓Fb;Vbȭ^.J4e,{@sQJr7L&yի7ZkD a<(Y=OrEIб$ RItQ)xR9ѺtvN*cDJ624*g7+gz'BԬVM}Sen542H]KӾMޞ4M'I! JOs{&A4]/Kk5|yejb@ kZK=*VY=7}B/kr7\HAܵ>7bʺ$hDq8b:Ň)6677׿uq@ގrZW`Qʠ4 @!FFQT dnD:ʂY`*tYZK*t:9~xlqDXYRJش*I HZߺE;<rl O#wFӧ:fU"yVWz.3C{0! h2!y.(Db1WO|׼5 Dzx^Ɏ=Y=ws56_{&ZՔŝ;wNZVO}Ym!$6G=HEr#܌:=4O4t0śӶX (eQ .^"4Fr}8L 3}ICjSKW*b%`-)oneG>e%JYU 3u[}Ш"ǚM@7\ gb% %t9~GPa.idnT/ {L?uꔜ>}z fVK_^aqY,+*] Ϊ\ =,p/*Z`AYJqLªtf=l۔?7reL R3Ŕ&}}bШAֳ8ػֆ],e)\wժWՂ\^M@/͛7e{{[Z+eyi]QϤ@~Tze dkM3b@+2]̠Ul|2=)_3}ӬvdbW7LA`zjE UY6( HA^M'MRUA굎j@TލFC{bX_cio-kCzGIZ =iV#<똩xGC%VxHDJZ&zXg{=iJIJ<8!mZ?k! :kkYB %)&bDz/(ݿoۓ/ʳ>[fYaʠ!d 4j_[1 7o|^#\DfNfm/5uڧjUecc@A'IÌF#irUfr-nCB Sэz3gy/y7P1Y H%6攙GvqzQy">~?4͖~}1Pye6nh4*H %t.J4a6Mx{p.ˌ 3Qv!NR=`{M凝N^Q`Bߏ<1KPf#ADkC#|uJ :㡺(CI,O>oکh/r)>}Hߴ)O?Z-Y,rz, Aʚ! K(Xn1ݙPTԜȂ xD}r-Nok~gZ٪tEN&gAXzH"b{3IhTh@h6!>t`f/mve0MyAO yA?u5dJY]̸|z=D7׉lۙ/w=ik_ ?_zV࣏>v}| n׬@52']{]ᨸas[S!~jV :Zx-RFA! RFm.}ttlxp!죲QD;$!PH>(1>i*0O'$R4o: etiZrE*E"G7USvy?y4aXO? bH +t"&8i+IPf)o+:,}6ŊV*^>Aj "Ҩ-4M!dӟTvww 4Pͦ Q` @xZxNg$a ;-0d<4VUѢj*PLSW }E2~$I̲]ti2KI3";%Zl'yu牄uO(n}]Z-yhc(>ҚB|2ȸE|f yD4+д"#9d{SVC=-]t2ՊT,gJžFP?cl7)Xw}C;#ǏHR9^[ Z}mi37@;m榼Ÿ5`!GK–%LCY«I5LR]PBxǞ"yǺWʝ;w_=;tň] G:nieVDD2Q+<=._A4 tPyJDT"Q)o6T:JBXȶb҄Т0(z `ﴏsO!ʓFob jD>k=~T Õm=,R:{̈́k9j9WrGV-bU\zQ{(eE2Kٔ^xAN< o Af!i^̍p0b`gBR̿!_:>b^??s=Wk(o!=̙3#Q't09U;<{ z:ZP+sCZ}` F 5K"",QY[b?ֆkVI)ƎQt:]SE,@F׼uH#-D4oێ6d݃t{e{ftޯ|.N6VoyAbIo#YF*>2nhzNҙljcǎɋ/H{`Zļ؈VZ^녡hl2leUI?OFT7L&ۿ[uV~^qNh4rMi4rĉ3]]囗)Y%0^DeQCS`z`:B=L 3Z?꙲CU8D#dSK0MzX;A[ j?v@[(ҶFa-*VHxOd{wo/R E _9Gb67K!*]A$< NGΝ;Wbiƚ]@S,s]dN,ۋ827Zh)h">FK JEH^ld hB(2cD-%RΔ=5SfR^Wy988\^ω+4B<矱^x<B}FLڢo,Bex&{F\C("Qٔ~2JśQ#ЬšĨ 3d."qѾEڵkrtt$nHĉz.ɵkrmHJ<߼ϒ!(I|@7gcAzu2{`Q$\<3:ӭ7HELЅ?I*t?=CX$D .+XD*QY./]}L|E}Yq6u"xE:ڳaOWHFRڸ,4v^ˍ7_ga*U`fq+<7{b\"tbx2ՋBvww_[n5bڅo*^S`FnRhbn;It6ɕ+W_i6wuJR["%sw"&fB vXGI7^S6T?Ћy,(U^o_/Ѳ;s>_h$v>jeYMZ"dGx`pHlF/9??rԩ"6Es5\xQ*m!oq $9eY-g=<}tvސТVħ#" \/ x'y{>HP9|.GGG+ʈ a`v/@GD,O]!{Yd2Hݖx\$ݞ`0r)~+doYjtM˪Z\rEy2?"f%9ndi^FdS԰?"4'x2#+5nooO~x5{bBUE ,/2a(~nq-tSw%fbiPQ>}Zy>W\F:xE/'˥,f Ga0C:pnnn~~lmmAG&R4-&_^L8v8\klڨH%DXwu|ɂFz^իWڵkK/֖ܹsАYӋ/m\i'H#S1f6b́Ь5x9:=#'<XĹܹ5ѢC.ӑg f"4nmF}Myk]UI^O:HV&<q Krz1\d|8lo+`ϹX,jɵk__ eH#ص Ng!0tM°AZ iIj{3jCQ\oMOI }geoK?'Ҟo-;sWk"XSJ޸qCvq]9*_k׮SO=%ᰘ0UymZz iQ!-+ +Hy;2<볃1_$RG!@f{ˈkyX,b2@Ȓ=!$ t:D #|&,MY$t6MJ'y1d=U0 q)Q2!GGGK/Ffy1v-q j4}.C"+!}ցnVh%7t <=#a[!XS2lnnW~WnooC=$ovUt_H|1ZvA"ZvEeLU_yfiM,%euEizVC gZ@cOPzZdH|Pz^A^@5ČP$Xn+&rf~` Z9b/  k"-~-"EM:hh)53뺭&iԉ5 -9<<MxXPZۑ9G@'i1Fb:V$Ļ'^˭[ ͗HX.RM\zU}Y2͊lAZ.%ͦ׆`Vlg51o2UoynzME+RYBZLζGGGd4SEy zҭ>t Q!by i4Tݮ Õ)֟s4ufF#T{!HuyDB""k[6e}lvGHno/`8KYV%/?NV=S?]zd)QNd^/&&rr]=} G]V>Ld2H\[X&ui6^duNh4`8Q}8'cmoo믿.[%O?tAO& 쯧X.ٚF,}G#`HZ\Z / ׯ_%DtBXLAjUE%Q~ȳZhyKZljhXHV-ZαtSxHrmlpPفB+80%,3TEљj*~O%w Eh4VFMJ(/rmZfB/Z^X,d{{[>#988/~h4&!L7;QX%6-N@jE}Z1C6 lUY3rf穌ZȢ[FT-3 *tiOJ"RZY#ZLJ'\zngxyNZ#5b ezJf3Q#~CD3܂o-D`?g^5XLmݓז`~ @r;؜| +x2R >J>y7e ݼޤ3v_3םё 2 &GY&IaLR[(|xm;Vm[$5I|r)/ܸqwG#I,wYU'rÅqzOD;Vre2z9)u"٠^d ki Y!)ݾotz^Rwww \D*lc^vHJ"RXEs2v׷, b^pMF+<=;>ȲD:UD0a>^tO|51O J$פp3١Vezr&wߕ_/KXi2OV=!28K U9!ˏ~#rĉH5΍b D⨀5!׌YETxl¸Zp-yNtƣ3+>}ZΜ9RZ'O'Nޞ4M~:彗kuR Pi%-/YYFjUzeŭ`V~Hag]!ʘIs"qFf-ɈYU\Zd\=k yfz^X'FkE6ML{'[[[+ce]nU!.?fB-+L([ѐPJP|fնUD BjĸixCAQkbHERF֚WDfיCujMVyz7?x*9.`*뭷>'xBN>"ቒ0ye<dJj?r#D B!h *MoVךcm@+UJGTuy\j2_ܼySVJrkVIՒ??n+""O>Jz N5uaQɗ鷢DP6f5&O{eB5">KbJK"Qa"L7ÃEB^ʼQJt:EFpwg"m1HBVFr^=DXs~&nF==DF WV3Bg'0nܸ!Rɺ{ jUa-e&hf'kEdՅ BYy'ĻB &nj5yɓ2 }@vK/h4f)v[45 p-x:X՛3Fa& *Zi3@CubKFgo?Z+TQ:-FC Ru)U7pٔMusv+&cj&FAx-HѠ֖cyW_.<4RǪKdʇR4}XktM&+rիW__^t*P2b-| RtFFZ[_fFgAՆ -f4)"RVe9kBt_ckR7!nݒVY.ww}rYL&2 LDXR`*7F#22]7"u;AILW/PCj`*f%6LxDQD{sNtرcԉN-H, IDATފZ,Tך _RVG|P/3^< H1x3(O-z.X|MpTUZZ+i*Yv2$DDZ@4 I/+v0"#44UH!5$Z[+4ʆ"_\If=܉z.կs\1;Vu떼k''RT\. +a]^yI׋B#ڎv(ы 0-{5I)LihZqȪRk+ :Ȅ)wc G2 *k;TDDvh(bumt 7Mi4re(t:i4j cׇ,[)B2˛R䣏>o[}].ˢ;l3/ykq?Ov} &iI#YMr-y7ࠨJVz" ^1Phd-5B?0S=B>',k5Ȳ"R[ŧOBr*B^*gϞ N%"RO~뷤ȧ?iye{{pCAI)F'"XxiG<~:,sSCt[#o1FGt+}FK>MxAɎ5aFz#VΣNQVnaiQ(6ё;v^?z\BydsssûvFe~ hRmZ7ސj*{{{r)9sL5\. wzZ(fC裏?;wl6${E(}}mU<6y\dgn #"\b:4y-tK]92>dooHDk4 988}kl6E^h0̖ȂAё:(Ŗ3][d歁2RDb/ꗡi2Qf^fuG3:4*j9j'К/^W:C8$1M$a4"<瞓`P$#֓SO=%<裲_?R`bL5cCA^A˴a~xޞ~}."!v Mi2(C"XbA$ % Cޫ,BC˜pWd V %N#[[[rx2ӫѵo{{ B|rZFyz-%D(qㆌF#j+r19~lmmN AH:y˧rh$@mV,F@vE9Y#^jZauSfG$ׅ~so ts4'*wVC Lb6v1*LorȜebDDAg>Ȫhd0(|LiR_BXB(нdu-;\!ϼN䉍Y,mn/Ԋxad#UumxnJEf3]0 nv:ܔ5>PD> /D\X_iL>,` NG._\{kjbNK}V:Nj,~R^Jي"lxxs'1)4*y#RUiR}"MKdB3wQőo2c2^jf&3E‚[hhXd$o.>ZkI8{$3OaLKNrpp {{{+$WqE9+`p(dmo뿧CjiH¢?_Zn[\a, *i㬄KπFu#F]?ZkXE%zr)KYJ>™@qCz۷oٳgVJIh4~tDDV2M&'}h#3=3sX9q3ɉ?r-'k` @`dܫY| eׇlY%A;::~/`kz= +*_7!KaAkb_+Po☏3t*wY!R6j_tb{DKʴ)Tֳ8fͲ+gE֤Ń_SI%A[Zg|sooO&I᱓#t`T*/Y<;wWYjhiA1P]9[%h腣B?x#83zY$`Mxx ~x!ro&1Z0l u}?,rK !H>nfNjc&IQaknGx*<_l)ŽF#iЉמA %n+~&{,`%U#ޗv+yAHH@ Ӽ#d{^I/VA"| _~yl9ƍ2esssMSNޞ8qBժ9sfO 33$DF!Zlxl=1+܈+ztX,Q&X״Ș`MC\kFhL2%> BQMqv9J=[Pn)`/kmtd<NIN./FQh fz"ŏFhum9kZֹ!rz&^>]#SDG1c߻ozm-Il0DI3ʹxOɓ'aa[M?pEiZ_Zj5x1?zA"_h5A C FVj$Y>8{y6&ۑżfB"k!cGe`9QR9訐P}ƴz=wp\n[ϓ'QeHaJGQqu;"8W7,YRe{t51 +&GA]kG=+"8ȤL~0]G.Qg5U=>}Z˥Ц^py$7,wKa4ʪ\U1۪s,+!xiP5t:j/RA[hKtW1lgySDbhKgMkɝ;wVبzj wJtKfH-z?Дn+GGG2 cY8saZ'd[_cs$@x1jELJiRѿȲR]Cr9\86hYR|Wɓ~hZE2RfRץ˯~+N>wΑȉFP b냜m"wDg=t盙U"g LIY=fP4D6Gu7@֘%|dIu[: \`ՈN Ȩu¤=%Lv?3 rxx(rX!Ia#d$Gl1> RDj2Hӑp[y<ȁb`lV$ykY[8l8dl($a>"R 8OLTDY{EW0YJ :s&!oogww2ϋC.my.p0i/䲫> 6> ˛A.͹{yеdGY3ʣ. rˌʴg|L5l,, Rۃ:p{@㒬A,Pg6@tөT XĪhB)F&* vx2$_Frxx(nwEl>]P>#]{}*x ug#F{SV8T"lC _[JodHϭms{=+x׉HF BTAZɓ!i8YJVRE($545ʌ&:`C *`MɈ 9:D U$S'ggY\9$ZNXзDqp>fPasVBfڕzrRUlB#ޚo>Kh%ﳗH3=ZH͙&FFy%k,D 6}["z]vvv]$c[XQc3ZςءGM#_-FJc1X&dsd5N=;d4sIw9l=ECsƳkRƴ&XU-ddՌ<0;{Q+SJjF Yo2UW+}l&I|,io $7 aԺcU:JBr#SS+XZUԷ8"f$VyCyWӳ{ΤuO}JFZ-Nh4^榼jjcDG װ "HB=U"F8H JBbQHŒj0" YR,-yX̄5>DUQls`ULOM<=ApyNm^e%5H&I1J꒺DRzk8{>l6+~7bUEe /Ltɝ?Й{j!Pe;+G =tu"(Ћ]F.ވȟ<ܹ#7owy&9rfjc%\dyƣŗ&3-3 NȋVFBޫB^OTñ"6='S UaXNbשU  9H+1 ƸCV;-sjwXBT0WEGj*<1ʅAvԂE7b6ri`١ꍧGcU3cxki)G8W5%/TUHZEfȋ&?d{4cǎ+h5h4䡇m,zǘy1EoPD4׭6ˀr$WIl#Ch )!"czT~EL!UsXfI̢ A}֨FP_%&<;h*gzڊI^[-E=G"7҇=i== E k{S 5:hPL+nX1ZyZ-ֺ(H+>,V[-M yc|lSy@SgR 1))R],jK^CNUd0^u^zp=XZ)TAaE{(ϫ㴀rNAi#gQeIXsc ߽q`򖢞byd{@<FgFc=t\0-{|WRT)!G}#γgՔw}rUڒb!GGG7%PS˰-hSc(!e9`QtASЉG~Ee?@ChH$,cEFe+=o%yux}KDRH>;DTvd %6Num+1ҫdr"^'՜-ٽ){Fc-`bfp򊼈DD)ȵ/KÐNOz1H݈~_H l6뵱\.e8rSNh4cǎ贘NA$ӳn"2ʉj蚭J^m+0*9bRfܲK#GE6*Fy 8P(Wԭ- v-p6,Z=ALzfPgԨ SB^nU^oDqyk|.y !KN_%f^g a@Q,+d1d0$GM!Yƒy bBW׭cbQ!\.eooojw[Irmi4khiUl,F<kIXU Ĩ@іJdf8'X_XFaVC#$[N 2>H'$DV֍ V5`2}R4z=فz3#>E!:ެ%W8 q[ŝPD#[w7K&&.Xo2/{mZZބgr)zUl6˥ܺu Tle_?.z}e: O%e8[k/D#aehzփЭMD#nc qOreFtω([#hc >"?KX <PBƔ.Q3b}jeLj[9rxGD,bMcLݒwg!§^qnX%Y(M-]gYGʐ޺P'}=ÔD?~ʼ+7J,\J+f3zxVmū%lAY0cFf(aA}V)Xh aSӠ7CHF_-DfřWU2,ΉCӂ!^pP4[QZHDl21=pAx ኈ:QeVF,11KIcvKHyZ b3/- 9L۷+< U<[bl)>gFFϒt%D>QWդ x 1kDCCiYekZgov2#xzDX$hNt౞%m?< Ю~PC$zXF4Cte=ؖ bO syUZhTm\+AhXUnovDaP زiVC5Y znzOyZz\ Ȳ(f+Fq#oԊȻ(_+H/Rh?5 eӑF!jUa#l6(%Rf V0,;c"-yk%ngîK'l3!mć`bb`Y䴊OVZpâտʌȗޚ@.I2hû-(slJ GP v-l7f|8Xel3U!F\UjDځ)Nh+νr?9A.tVM/4 d>˝;wVZ) qT )S17beo@Ê=[Bu">ڽڧ{˕-\mzd=?̪~Yl^})gb_ajAbۖ&:()y'*Inh~K$@[˞LFd"J`09COp4EX8FFD Dgi7Xyt9rNn CGydܔZb6-آaT7L`D }2CeT7ߘVTV[_ʙTY~ IDAT8id]#DxXp&M#h^h됍0 :g'E=¢Ed-_sl5i#OVX҂& ʴ J"X.뵠qSFPFXO9sLL(L5Az=yw fl6zif}0f&Y)VFz,@][N W4zFұ` J"L;"Y+p"",jhhWO| NJ>ZF74Ӿ@ t.:r<01" Yꄞ.ӦaF^ooK(b%::?HA `){t(e\T^cL'JĈR|2Jf=L&X,\GVj=w}^lBH5hknm[oFcoE!"w*2 bqG*h%:V-P6nZ;=Q4ötʯ1ly%tsNM?oJ}~Ұ8AuZedz\! 90Y1D2ê&+8)jO.3K=[(3`XҨTn9LQrwtG%JR<2Eg]e>iMqn2&e3'Um{ommɉ'$Tөj59<<}y D<~ ?'.V_'(7-&Pt{˚T.@Q^kSbmP#u||)0pL! MDDݏ,jYADzV@E?GŦLZSmm)#ؖyuԌGZNrDvB"[tѶ^Xʳ|˾ŷt`RI>\>hiaUM g/=, 9<<\S.q a: C+sW6YGF`hUeh9mOXhi2if ,$8O8k_k%VZzb!"YOv=y%#MuiUhIAqMƑ,&Zp'tCW#|wMc!c(>Ѵaڪ,*7]^霠ÒhlկBVk7RF#/[(r)nX8F#9ua|ffv8*lv,&,<^[\,l`҄/ G1 GD^+'J' :tsZޡC"Y JE{PYD؞Eɑ,}y&`WA&r BS#y-hd#z 40[&QTF=C$\ĿjIەgb!-Dd6I+YbK ? !~zEadžg1Ľ:B"C+.{>?b&XFo{hRcHe+Hų ZO絮#$g v%z 1!zQd)4 řR;T*9v\pA666hUX(f-$@ˏ2a'VeG+ϥ% I |DPZbke3Ew/~瓐`ˌ_"ZrV$ KV$P?K򊔍Z ?&FFϬ͉JF2e,u0րY`D PCz/aPTZ |$i2<ɛb$Duٔx]`8DY{nT]ez.ryx4RY@ P7Uk{#^_m鞼u3nգ!o"Ѝ[1t0)o D)cyΠ_L7y`hy"|R*+9B)נȚa 6ԱH#,!bkjj%%lV;2Vj5HTy[b!|2Ju/[eV2$Ȱ˃>X^&մ777˲[R0+cb#7DQfRT9W3Zx/)Y̊v-lZTU!(1-~屡Im#{Ȕb,Ó|֏eni{'-c/I2^O>OB͟<] Vx6KQfh^{LKX:bPb+xzƋepg%(HV] `46,ss/!Y t{Xh4+Wp M4 9~\vMzrn4YAw3-R~Vb`͔:^)ӚD4, -J$r (ߝH^N~ZfLӐ?Ggc(sB(`!+td=C/+ӵGdb}b LIX./RȅETF]RY&WB# џ5OZ!:d @?I&֊!Y2ɮY}H+*<(?RuG<ОgxA~M yɓ'G-^h4d27I(yXe,qX꓈X f0ǽ(A❥z$՟366d՚GBchCBC"ZD %Ch_GET ac{9 ==o%Qb1;pb!'NOJѐV74ĸE#v瀕lLOgn:9b,jpmxp!c#΄5r9)YNf>k1F&u:Y<EZJsg/d!ҏ4i<'/QGvC6Nr_`"ULq2'b!B#ʟVBEbCX voF!3gFC.\ ^OZJR%[.KL&/O>TU!l7欨YLj-l͇@h1 #x8T FƂBHZ3+tF a" D%,䯑&PR "DO8E,k?322'˫2Bl2W  o*QgڈU GЊ("`S)nt/mF-.@sf (F05yӚmt77TS~h$of3i4+OtrL9T=Ashz Db=*D[8Cb酊^|-< ȬWmml310+;y).ɇzͣ`g!lQ2ܠQ16~ φ^aʢ!ejzTzb;hxYzȒ:J{fzj!z[p.Ն28( f: Lh( m6YJh3bx*#dMf7퍔{q µ<9kׅvɍQ7tuێa Ӱ-ς}6p#ji1hc {z̅bhiXv؞xd'2b1qmr|Q<ӄi ٶxtz 2/0Y.RVRY/XA4iJ E0ϥ^H OG}T̜4~{ͪ?+xބ^?{_ѪLB6L/GF阅3[7zx2eD3/lMXZì`,= ־aceo=hjO;}(6#e-=c=2'Ss3(b/ՏFɲj. M([Vl[m;ak (l6ԧ>%l(t*gϞp(O?ciZkԎ@՗H\llUyE#h+FЬ]Z B&8\z:y[am-@fk􇽱e$*,~1twNB5X/*>`7,٣3uSkl8D<?cFqyklu K\< VTPFӯtZmb !)Չu:&t:x,kZMҙrxx(z]ƚV8rX Xvh 62%ah%Ӓ5[*OUi C<$ª,UrJ"}kg$,tcn_XI@D%hysTtyՓ54AGu)uo#h';yks9찱k3r&\ 2ބ!D>8KVkU#)Jݙ3gdggGZT].2 _TUYyhhŪ`/FyKpK'ufFQ(2Q)tF^d9F3a^C333PuLmVTO?kQ3*uM%*(t.ASXuƊ 6j2=öH- Do &',fVJʉpGZ㨢"ɺ$g' [ qƂUhk%܎D 'p$92i FgB8~ٴjb  Pjwi|ɎSK*cl6|wJDF0se þoER1pc%P3)>3ֲ2:挴6=5T@Rz gG ACb>Bl׿u-vΝlvo,<0Q2ې,Y]֚P:<5Y֑P\̌'ng#O_F?w(B7R!ê IDAT% 0@ۊ#gCk3pgkce1LźuBrUKA?l>غzEy񣣣34~E1L&rsI߃IX|EƳ%{L O*ƱX碾@$)ǃp3Y[HqU*}⌴IJeV2=` [mD,0#3Ʊdv3s(sgE=6}q8 ȟoRr7KL ,VVF vn!)}=jڡz&(rAav,TrD'b㹬Vvyy>m>ĎW}+_iժ}Ν;DS(at$ܸ;`ˆ3U.0CAȬU Z>cV )C(xu$eAbYUzNٵF95!P߅M,*PU5!vۦY$l*_Ɠ9bI{\j*:T1[i] lU5sV#VCYxfw]: `8g(Wn0K.$wX(ӝIÇۻۖe{`*/3Чz.8l QM}Y2kd֩Hfj[AU;t7Z_ûb` Ğ3&f8/Upю]PǖB"dTOOǽtDjtRYZRA1gM Nka!SĊ!Ώ%ѣ6LΞz#qvv^{^kCT1A cceT CqmAU1{?$_Ո+72&fd2Pg`*T'\U  YD-˵ءna ]5bYN[+go%'n\=K@jB܄ .`{]{WBŁ d\r(-EGqwWn?ZlXt:m˶X,ړ'Oڏ~gz=Ll)BZ (Gsҳ|.ɬnjC21+ǫPJpUAts̡/g풳Jr31TSk*^W*sPDfB"0mڝLHy4[zܔ peޝq#Aqx 3#J=&.cܛNФZf "/i\׈E>}ڞ?>4"*SRƧ$"C Tf2j)upҳWAYqT fJ2CWVsYPx7_W3dz,̡nZ_$]x6.ZU#(E>k&ZiVh_y6֨L+SvNNܽK.Uگ31~1g.=dj3LZzTN>2.G|&.|2ϟ_[ړ'Oo=";#] ߊӝSTՍ PI"% NܑVHnUt!˫cGU݃ZVQO 2F֑*m" ɮ)vkr<-&rEYwRJ563s#UR*L,*:?P)ޕREUmVY٤Tg }) =T"Ar9&$sgM/_7xm6[nf#Mp!fk#!1$c`z,eR8\+@m芛gV1rYd8Y U=qdW0D8'5q8RdteИIJ%͐% UJ,Ėj*1DFV2m~1b'Mݳ3F ё\%`;4(fy!T?*P5 ܈'Ue"Q*IAvXV$R:^%IPt`,`W YpWe@e;VfLV ǓkP߳g2Ьdgx\U8q)aP1rhI Z)2yrS܀lTصd\ž7eW&”j YUtLLU  ʨ2"yvaX8b:'!߈\\\7|spmyrl^^zY9E+bLٱ+`eA-QUfxO"Q YWX9-LUN3 b\+K}Vm0l$+U*:*S?е *X&!]vN/Y?qI931sރTblsEiu6t%(85**^ mL/Kyѣv||| a_|v||&I;>>vS$nb ɭExON EQgj`!25] g;2J&]ndY- kJ7!!"Ye\3j8b/q)kV X6rBrSkXƪ/CT<Fj ׬"L)~gUڧj:s%"?@쭜΍^^^ѣGm:/^\+@ȹ 83MlȒW%)jdFy|Ԭ*lB$VٽV޻"/ٳKF6 j]}dT[eX[c,az`?_l3qne npt:.zPrf7ZUU$*uP1yV@&L!*.>PN5̌?[rHD'ծ`,qoo[mX;1^l^||rǐF"Z͟nJV}q-(J①1꨾6`r^+1 f٢wA#$С,Fc٦΂EBQ%KۗN 0"Ċ&TdY^R1vd$JPU A`?|:>bb5gy XV hu .%j;E֏+!ޗ q~~ގ7>?=y]]][nYrRЇr,lHUƏ%i*SF*˪xL*:uyqJÍSsuMUebVs*,hgTX**i"%c x6v+7r*jU,ƙMC~UhHC&bȦл*U$]k$;J~@{ Sm>$1Loݞ>}:(]gצժ'Oiovn\Д]. }Qt!;`K` ^98+Lj< rlr¨O^g_3qGdbBDMy{T~Αm޲/vl=dS**|%`AT,ZvU/WժdGrDX|^:4+DSHShu23đ0X8ʦXrC^TiUڴa)lmstws5Ѫߡl6kw>vppne!67];B^\6h6J#2əiV78Tęl]U9X_ɻf}i03cLθj5J1 KWt}&_":b@`rpb3ȻbTl3S_UT CmnJ{3j ? `{U=sCuHVUFSAUUGxx*.M[unM+5IU`U$C)صHjmY CI䆠j܋`qo~?yNEVd1,d(kOU 30kT,][%Nux"Yur0ev8X,1}jĉLUq=w*/ ǃ jbd @vVՂ3i|h{ CiY_oF{^uuu՞={eMY`=5:>n0~eTnhDzxHYf.X56,Au=:[_,AksyX2sUZlfO*1K<լ e*g! w&ȩiKHqc[sw{=eZfxF y\Ig z/8vUzɌ٧cPlMujC|>ժ-/>e{e}vo.//Dpbv#6'#Vۈ @UE^!ղ3Sj(k) lj=kdͨ#M `/{ Ƞת蘫ijZrlQ X$ҭA|lZɧv3U3jReTeDTpSCGmĵiٚjU\3"!C2oBl>=N=k=|ݿ=~x4B&t2":gW NW晕uLzT/!"=_HH2WM(=pt.+&N Bq(x/QGUwLč L-+ɊSsZWɘ)Uum OAP+k9Q7M7T5Rm(H>.++}CL[Y= oye?e[.mٴ|8y0ѣv6PͣVXChƃmTGWIxҔGx脡*. pnV;c53~;D¦B"P'`}8Yex-+XvIvй\tf& Dsm3be:@tKI 3ZELl)CS 3wNK3ΛJ%^8b Ce\1^yN?Rk(cc2A7bRq 2U;g,^UaPj(س3NEPn8_ad|LʺWUzQqML2fpR鮟nj֙{ΎȥU2 Ǎ,r) IDATdէJ+!pJªwM;ʚ:+GU&++2bWY߬JDu7^|s&f|>o3NrAО@Ī%࠸ T/ ʒaYkž7Ut硂WY`L߶d}TY툫Aީ4~XϱcU*WM3S1𫎸fIBz*럵gULs56;!+QfN<ޜv',IgZj~ϐG|>o}nm l_V;gϮUx`0Bx B]({ʂ;8PK"q:+L_U|굫G0*YPܤ3&[6q=1ЌԧV} /R*ɆezpN)a<{*bDPAv8w&C\bWț㨨=x/ώ%QrѠZ>Tm$ֶzmU7НOnLƛo/EA fwyTTj/Y̲ n,-)!zװy6JNxǦ"sƷNAګN3)nHgb&2LA1蕑Ɇ"U}cͽ{#̲>8ܙ[֎:\8<^T"; S>:ld??gSFU0(KrŷP+jZČ^Tﶏ>ݹsgrٶm[;1P6@foU?sShb]#Q 7NT<&2Cvj7_26Ә?=c(Wif,kUZ=gqչb9jk+IR4ϣ3YwEFSr2Ҋ<ʘ{VQe#Uqɵ*8YUk!CԸd sHgu%Yl6kh888hھկ_p`fvf; N1"Bа+NUhjs I#H28I_fTz*͔cY!UYFRRj!3oN矙PUVw =@o֟fշ#:g\"*V依gIV %(r11㱂ecuiyɍ^{l3. 69Ol#ĄitQSu?u$2{i$eM*LWU&y 8C\Ak yU ߕvB*!&FpO1%Ȱ)Wu36Ɖ]2_1cWl:*KU[DS^ԸxPIY3ړ'O Cl&IrlO>mv֭vzz:,~8EZ7"3f(`U6Δ)"W+f9|X:x6&n+lGXt,xPez*0G u=V̤#c-ENh^U7 aBpzYRd.c;@ݺqZ ֏C:\] )aUBm GHtDqLj?&UZd/#=s~E}}[7lzb7x={GBZt-F( '5ß%TIPTbֿՙj8N0JɈ@Z * VzVϭCd(%Ku8wVsfe-3UG\檷TYbT!WUz!R} QctIg?C2U[1b&&qcגStSIcMT2mDd:vzzڎv$6I{뭷Zk]\\ ivv'4T,qq`2DTF7V+8z" Iв\rKe3T&p*\E2=Lf+$e?f;`-Uv \x 8ޜbj8; МjU땪QnU%YHq*m5rQj0%c\RǴܵg%Zt: ;jMt۷ol6gDu{'O/^vۖ5ezoыL9_:PHDvtY52a*&}v sclpB9cp)UZ,۹`$BV TKLݏ4v~>SLU'8RUU 2rgHB`;X#7[wk$/aQ1ΩER%Wt%h^Ɨ`n;tKϤ9xX }mٴٲf3vM&ZzhK\zs$%l)yrRLPmG(H..zz lit$f?g*tW431L"#7f+cȤ;lv02VE4}TY2CH&bXV)YǚU*'_LYҨL&gf{&!׮lZQWjYË}']^^6͆H]:T%a\@po`U % Q`;Xkag X`Av_Vy `TuvNNyL-2M:2tJRL 5wr\UZU7[RqLjwGƯ2ʹcJ{ݪ6,(_,jj|>B1$1A?Bj 5 ֍Ƹ ' 灇2+CP:*&1`{qV9$J]|-4R0f Ve*1"i1SLbB֟9rlX˪TWPk(&2IhW-UnRVzU-8[;&6SeRi;/{x;&ϼ~U;4P'ƙm۶m굣Dٲ<&k\i`ͦ=|뭵NNN XQh'Loƻ2 ꬯ *R.a0n0P9Rh =+}V| Dgu 庫f4s]0A-}gqsi^fZOPE̟jPΊ*l)5:wSljk!c82qjJ:1?wjh%XPXN_kא!XVݻd #= R1 D?RzRTjooZxkf|f=\+,&sҸpnz>,!FQfMke< U"Xz[h\Vǿ;L-ECscu"Xa 9tm*XSv| U&Z؞ ˜ ޫ-]SfghG;=Ǐ^Ukc}'mooݾ}om#t>ϯda5F'4hgLfYƂh~?FU0{ 'WT~V.^ĝ+p̾i4qh7vS!Je? VXPjn?;*lUFGSj: wf3UTfL&AuuzfPj+Nr|xv?XLEַNNNo~vxx8d]d*~n8FG8,3q o>:@")wl@LWE*#E Kq ) VfdUi0EjL n窠WW?\a\Lq<,4:tЊҨ5VPc/byVM۩kVU3E j?mm;iZƴdYvvv6H1vrlժ]\\f}l}h%Ռot>nO</_~YǣGǏ~fTVtaNW5Sf0ä躉| XK K{##IGYyYRôFȔ0 LЌ}n7ˏ+ kqepX{Le<>p#&& fDm؝4*:2ݏhe|;g?搭$UEޱHD[T&FQ_+BYUBkh^{`nD?0VUկ~^| B|]19Pd a(# LB/2CBd"&xK/eRR -շc׏P6۠H$8 f ~gױU; QeRi,6&0>;l E񫸎 J~IʴV;ǒd:zZ>nGGG`؛L&-ɟ\#|nu /v&pH0,plj0R Z:X_!{dn$sʬu`R 9[66?>,K}ɸ&XYq=$q?GT}Rˈy?&l %ܫ,꺸ϙ{l-Zy=@ u;MzcAVXAg:8߲G3 DL1Z;o;^F,auֈ-t:8Y|qeC@$:[eЧg]n*![#%=Mظn[6%Mp`1;fi_|.//~{Js[O&Z2Bx81ELI,#é )AQsrcPa7rZ!̷U Y8 nJ$7>$26nvK*U@UplTAYϿڊ8Bd}F'ܤ~.L-#M&T˙ieVY @ANךq<*RiY2T3Uɡjj/e#Zg33y/<#=œ'k!/vrr60zqD*p{FofgDSq3 փi_P}fjTAD,F\Y;#5XF{팘=vV|?2(XU8l*B +)J3dƽ_F?^Cis"k&Ƥ 1B{8*;+NVMB(ieȒD6Z񬽶+ ԩq(/ڧio...Bz`lժŋv-jqlcwxй~әj3! u :YQ WYUbZ7ՙ`} d (szw? Q3_!eWgl&cسD#FuY¯F2 r0zf짪 ҧ,Vƃa,fVZGUNC`>'HA/z6dҮWm+FpX;x6ϯxO>m''';֠8ٝ@e|gt't- {V]#zoN{AZ]W=EUE0@A-֖ĸIqZYROPdPs- %S%@̬Yˏ}Q⯸$W=Ťu9#8bFLn\e F~ĪMT XZI"^7J3@PNjWWW=ydg)~쬽mZdbRz qƱ:S@ߋ8UeN"tfrUw~a\6Sߟ"Vf;YeזiLDMIeW ;#:#c3SK}e_4*ε/,!PmܵHE\5}pKF[MK8 d)N_<+\;!/ q{cx/ U0Kvn߾ݖӨfodҞEVBՄΒV3Kd&֮W29ߛNmٴGLf_ rH ?>$:gFck(؈TDbSx!iFVY'J/VWdqMc[|d=^CJVT+;cˊ\PI2+lq/~)JϜîgxc*v_ AP\K${n¦33T@N}tܴl&"/"qqq߿E[.$vVss` !Rͨ@V`>CƐo2/7؟dAT}XRqgp[WbWb`*%=HBFԸ[TbTzvcY$cƌeGG+#nU=jCgܨU\uT#lm8,K&taEBI;NCsJX>I S[...vf٫Ym>_Ç֭[m6W7tY# Ni;3VHA*U-(3DG:l}dȬ=T)Fay0R1MUmR-J"Z4eHQi(QVIc߾RѹAfpfc w(#hb$nq%2TDVSe0Cv &:RZgNk!lݹ6NvV8n kUjΌ t6Gv{A@uw^;;;kFAv5s9*ENLdvPÂqgw?"7|a|x6cO'C=*ɛK xl4/K\ZdUCAYQ,U(+'!EDTIrn]T[ ]*`"86]pyH|WˍgܓY;5A5IuJ%:]a^7,Q~kc9_>}m\۷o"GYʼ2T\5Sqcz Y~FI2WX 2X6ʪBIIe̊2HU+pM8UUjѵʐ 2#xY&ǜV=&A(tUbkOfIN"qqS(H6!c3D0ȒRWeWb?x}g]WZ|0ה}{o{>AKTB2.^'edG]e>c,g: .A-UU䁑l4:[Do 9Zg-ެ"p,.!$b*Ն tYeIu&Zk{M$zڪ{l&"U 1бjU|.})JRakITLJ+$يz噰{86 VvgϮ~i16Ȱ~|b2$]Kvk7ń1.(z&>}'U4 }wQM6Ub);_~[kBƢoL[#2ԊML}r]\\a$t7yyqq...ӧOe;??n`4⊂Thl^ìVםkQvԊ'*aP0ъeuD_g*2˘+L>ύ#*}=\-N0px2bF~S_ȇjdLg.n*Ț#73bYzW* ^8q7NSi*+Z۪xpi4(2p&zVMbBp#Ɋn Ӂy0ڄ.`yCjվbf;bFĂAPâpQZm|̸)_ fzHrd.Ƥ)nHT+mƽPig:Q"99lYWf*DL(*Ԟ?v"TMҡ Y^ag :*j%sN{jaMόiCuuxyCTL,Nm/i+ǡV؞8<{m6fY[ׯ~_=y-!Vb%ϴV ȝֻZ\Yw(ab2q aܴVn5`ɧn\ѓ{r!?)5,X) K2X zF`*kpU!9#yg=}T5[~63aS5idJZ&_Hg{PI,rzqkYcmk-XCX=Nbh'''5Ƕ봭ﶃvppp*Ku}W:f(K3'fd3vgX) 35f# THI w1 Ig 78@FːV={L-%3,Qpb]{Y{ECS蒢 pC_,p?+t2)ڊ%+Usk:B*2y, #FĖys!"wX~jXSUxFD կ~uuꪽ;ŋ˗JdP* wl3 tcc "U+u/`TmPW\ Hehg$i*؛*Z08AL Zt$I(f >"ϧ n֚pC֮PupIg.G!p-jb^X%h=sX>Aeun7,&*@r~ o9p{Xvyyw&8Zkňg=9o쿩0[ dD,w}oW)115M, ቕl ̬= t,q<*_ƅ0 B8jdɢ+c*-z,!ַ ۠`sET \|p\!PvadLx &!o:՞S{N$t`<+b 1*BE^X(D,vmNfo>nCZVvd- *X\ꂍzMDάzdQ(F2nʌ=X˶_x6#f S_q\TnY"͈l"s<w<ib)v:ψmW=}%B%n*r J0+m6B$9mܪawK>{e&~,Yۍ]3{쬝j5uCkȃڷvxxcFBcgV[[fA1xc#.fNZm2~DYF8V᭢bXoSrlW0Io|_QKn"XH@q_VQ@q탪W%irxL;+R܎ pdM'bp&3+B^eȃ"tb r;Ԛv<*Lؒch+,f;CnԌ ;E@J|Qv||^|y-sGr`dPmeTEu݂vډ0ˌIJGtdL(252Ϧ8\%_5r:% +T)9L0|8Zb>{]\\ۿm>öX,ڣG$BsaWcK(6LfdYE*约VtT9`yvGspSdI;<sBX)#.~'";T!AV⻺ PٞS!G1ŎZKwÍ+:tnbfcD\a?ä$#|W3lMO=ɈLiQ5mms:Qh~O~ .{!6([ۿ[[oX,~6]3搯A͋Tk͊groe*O?h)z03*Ig]ϱjITb+ \(V+2AI0QƮg:+)鯸D%:3jRP/kq2ĵҖ09$(# gmK;I>E)YQ[8U(Q$ ȒDW56!nBkՊ9fio?Oi[,m wP" LHȼWt*&L8T Vu-xMT"2(V,R*T >W<F!/L*߽t>oPʝ v:0"cvS!K9CŘ^JgG3 l=zv- ,Y2<ˆ2"*cbUxiNqZՒaExw_Vm^z5v2ݻwb#(^\HYML]>֪ՍT1?C8o3"#K ;wL;ƃA,)rɡPch(\MP3regqFjsIJ; ~Z ;h%la# T:n[^gI+qp2+ 2w]U2%``\.OWBW 2&NN²ƕBhX\utg6 $Dbݶo~ӧ^e)T@* GXRB1 sD=(XAl)1ÉsE%Fc`FgX+EtIn(p>;8 -]]aj{8dDK-Qi99brcG]MGU aytIM_gٗخJd*qWo7EYecc*T FkVSsXܰ8%YIjgw...zny[m6ݳg"t YEj-rn.4Wl4+[h+CQpe>L3;i{>Մ-&^ ]Q?v$pF/u`3矊eq=2Y0x2֙su| eʡTV1,q$K*S AGV8O#$P_l2"\ǢAHVA]mI xU%#Fζy7۬=ϾǿyNm\̴|MvvvF'Io6H'I$Qh ,'ig]>,Y`P=ۼNROf˞  hëfYhD:~F#1(fl\6Gʬ Qi߸:G]43l־ojtDšÜ4@;vFͯW6d*.;lae"%A\v`+Ԁmdе4r?bY{+hy0H˨\a%*)S W1'nFfB%Q U#L4Z.{5Vq۬D@?5AD2T$#kf˨FY C !8KLR Ƚ.,bL±V֮ւD0{TL6M[>~xliGGG?y}p/FqAQ{c dZ`*zH*W)Դ[~bFrZJ \! tס\fk!x`c@`-Q>[@ReJ8:F ܏?΅"8 ײ$:*[W3) ogix>ltT~̈J<mf;Ӭ92S$yDkGrV\yc|;f p@u^YjmkmD`Kbuܺuݾ}wi_Y[,Z98VwnBglԕMTUO]! 1$gLl6>qOM~"kS`U/F$D(_56&dOIgIQAdǑATWers?TT9*3):;U!0w`%?\l XҤIr Ś*˜qֆdK]0NT_Gt{P^{y8;;F5 R!J`ef0YpvA^ud,f Z1hvS Z\K= w]uPh=0iv "J{Dq؈[|U~V 153CZ'BY\WF]3LAR6R<ʥ%% T+dZ:讙qFXVke܈ q* F%KD"4֠k;9ļ Qع;!`ɓիXpW-B2&qq~3be7!+&6nĕ2xj]^ASpKJIfG܈:J"Kjrȟ˂}PT%d-giʺJ3C<ǶApM hLTzv_\KJ%pYV8fr& wUs!e\f+*!W SJ~>m!D%>'O!{ppNNNT4jѨQu]"䡳`RAE\}YxLY j?+cwWZQD -CB23ro$F>Ya׃\#'?vz)&/>ΫNBt]BP!f6AE IDATLi ̵XeEEFwi[Wsvcѫ0I UXD6co}kl6D믷/_3bxct~:[dSA~""hPY9+՚bɂ}eld7Ι!U,EOL Ia-=`lvD2YJZYߪVA܁=FQ헛&Y"U9<2C;BHvxeʂP3?s QmQ8L6zI;% ٫|&X )) g .˸J8JQ?f3/"Ν;-KC-xJz"ڤ|>ؕ#RѡcL&m^+ͨ]q' .Qj5'z8˜e, =YFA Ĥn$Dq5kῊK@ٵwrz?W#ܬ*uLv6pLm۶Vv*U#768dVH|-$A֠{ﯮtoM~N&w Պ?Lj&ɵqS<0xq!kI=ˊ_,yvzzC{L&o?kE0f=fW*. Lw13S]up{ ^1d3X*`ce3g@4a ɸaPYul`PDlfDt3V[oҬ͠z}?ᣌIpV'*ЫU9`:H#2P5m6&EDXYk0Lpeڔ88p54zҮi[`C^hB&CMDؾ?nnj@'Wھ bse_8fcێHEHaY4mb0vu>H*IJSqQT64 f=y '3990NK*bRb}nǵKXޓ0\[?Ge_ LT|HH"",d]|O2b![e3%1S%VQ~B nEEv(U}djuz+x"0_=z-Y *}Bdnm6lY]Vq*\;[0eQ0 ~Lَ1e܅lNU7X5ֻshA~c|P~`JəJ^QeN\Ǚ [cYi`2C"S~ĉDLq7ZX sVw81Qh+G0D{Jc_#\ܔȪb"zq_kwg,n|l][ŗ%5eVFK"{믷l6$;TWWW}m\V=3#˾#'DG+,QH+[sXQҸF{%;5=,Q+V...JhnuDÇ;"1q{EfhgA"z8̇`$ W !qc"lfC9N^[pf2U9x! 2\%o19 T[;V|!>xP,V PKΈΊ`f[G|W(jH{7(Ē-amZ޳gQzwΒdҞ?NOO j\,d=I2`/ِb:h;Bb!3lWufyJ' &VMFbJA&IQ"5$|);2Dײⵌ=c`UrE^SeckS.E8ɘp` QV`Q*( WaIUm W؞eף1ٞ=PxȳYul1ϾV~*?(XL q:,vȥpW,?sqqݻΆ~'H]^%j)].`1`SjD®w#8L\~]Vv `HreHD 3hQ#VJLj=)mV Ft$ɊQRR$>$9NFe %?lYr '\D>X D\ }L ;p̶(x9Hpl"Gb"$YKGf*@Q(Bص*L fw&x%nɫ,N)jxq T!tUۻNǑTo~k Hy)ϯeO *{q!LJ`,PVͨ+OE׊;L2&pk*GDexױ'tb E4R}C6.~ֿtA(sa:(#e^)N* 0TBf!T@;VLʑU!VL(O%փHA^G@ ԗ9cb*WD*RH-ӹQ*\3I1iZZć?ZTZ GEO BԈE1U0Hfm &BIE\«0ޏ!y_.HV}k_k}>ށA^afϪEFuDDmu>ٍ v88 )f=$-] ;Qq _ͦOf{/&=s`nZmhst7igNxJiJ2`5`P LYm'!y'dztu\8#Qjy0=ĐJ&lc17&އx0d"tca3ajKVIٕ~K<χaa֦Zݻwۯv||Zkm\lt$19&‚;Va;Q&["ߊ][A*cYuzqfpCV'L,ntmFU6qV &\_֋fOo,vk/W]Ј|FE^DY}G\LLҬ\ܓJ~*Iq'huX׊:8,(#Jţ5vSN:+]bȪk;y?=|'m\~1sd?cPUzٵW<+*q^j%QUT`Q2Y_QV`P2;`J3IS={5\^fɩ,S(#Ԑ#L1sB2!t=3}劑X)Xd"ԟy;99N{ړ'Ofi|dN~Ck $>8:*Nv1;΃?RzJеbDQ>EZSUwRS}r%M]8UD;:qA2kq1p< v@1stT-'L`\ ,I ~~#]#:;dB$P`a*[wSE3r#lڵn ۷=9mVdR֪Rg"K1xxe$Uڭ[a[V#ivm}Y;99ijFTS%K+V,"VqV.EbAƂ c{gi%0f6LF ըm, aը"1!!Pw60QϺr3A Zd>%VY/!#kS1s6u{Nb.T.R*\֖Yz=u}JH%v ˪sVJ3tc׎R$Ш;C^MD&`VEZaϝT3 dެM8b&s6U%O׊yhŨW(rRd{\ Y+zF&*NV8(Θ3CT f E {*upxmsF>t{Ua35k9OGRe;|ۧ"Yg:2up`pܫÊ:Fz~3X,tZW~< >Sq.vyyپJ>mfѣG+_NF2Ɏ-:谡 FG befG#>"e ̔Ƒx)NHU}5V=ʚ ضBi`$ƪ8_LTF_qTX~Dp ~:sʯ mQ"G*z*=brO!3]k@jDzRL:ć.U @m< 3Hs ȧ@j$rv^%gJi֘{-&^;o HP{vzzc?Lm,ZqO˗/QbScAL Eƍt(:ftla9rZ,1{FS'Lq AOpX9q|"-kK!=l:B"dηU33J dMqR5aQ|mvJֿeDE{TI+fgrxXKM;{MSq B>[*[h4en `q5eDvaq䯨 U<5s6\[krY~{knfiJ{Z7xo~æF({k3y޾@՘ܴfmթLkL}<5I|^b I^eXZ_. M*침Vr_B% } Β{J'>gP1/X%-1a"uk)*LDbiEXT`E*N0- 7N1P\Q2ݑAUoX@BTlUǖ94}vWD3LxppЮnX#e,~m %R///z5n} <.2YAXMUX,QME0V:w j\48@pZ9fz Y$*ZʟCwl8ED-"*ָ*,D'lD<䱝&砱V|M)8ψ-6șVKEK~qø q?#&,IPJ*-D7R"Wط+wvv֦if|(wU;<l~asΎmХc޼Pѕ5#l~ό,YՃTd՗V>xqa,8RSzd(Vs?%ǫ*И `rwP?:'DK=fȄS}d9Qg0Դ^c䷨?Nƛ]_\z&ScUifC6eD\h ڜ x0ff NB~1hjJ0>vGcSGfU3e\/gbˌiZkZfiٞ>}:n`άA Ct4UaSJyʳT##L!3&_mBUn1#"0ڤ]_%1C7`P9!1ʂ%R$t R#h ݉I0 1@w_Vu-PiȦRH,cm#kkT㨨qiu1-"51^$h07&)cCN'=ZԂ IDAT߷dž:_"f̠wk*s+nE;??oՊ~kc>j;QETT!QJ\ *e[XdŠ+tAe\"~Y/H%9JJW۪lՍjf18صBS$^;Dħy+*%ƞd1 :l֚d,0#O8E%%({vLJ:䭈NRyTL d0)R4u<7{b*4fv}Ŷ$⪸ ύlՏi|;W1Hw2d7;;`8eaIy_$1bU!ssLۑ3H W̸JgR~71ʠCv}|XP#jbk V*1Q# aL%|ZL[ 7P)sƶK*X)*ƢXD,>`):eڏ%*nl1wOEIzEZ1^01UbXddKoc*PY! ">|8$V4>gϞvu;;;e1GN""w!\|{ˍ@$k`8FQLg1Op86kf#*XjP),vE_5YrGLUbt "q%g {؛u d+IwժQM:sLM3hOLShoxφ~Eq3kEcN<62 CɈ;!!L^!~f?O·p7' F`Xl,)J5-R#if8kwOU]{>tߗN&].s{=ܙ|qT k6yjc c=/#$ɟAJ |hWd7ʐJ "~ ǛOU*]"8hN|j\0S}H᫒T@$1PO O[3J="$ Z0FZ#%G0VB8Q(Q&~=;U6Jʅ2+?zʱ5?Eh;Z),jqѐ8EKdW/PsdŮ7Rh``NMތƔ_yL{Xe.>}:6:c ot:8r/23^\̷}`Uz.' :݈sblGfD1 pS|! Ok"ƻL[y%oѵE QWƩM݋z E)^D~qpR|"(hO`&1I+xNRя:359';E^ Vm|\`z$-ێLMH3DhgUxd((*Ab!UqBP:T/[yPD '2`-U87"P0JJYDL gA~ڜIF40 IЅAU8*Jdz.)TRΪ/Ξ+Rd*~j1 )^G ZT{GQNĬ,!X"2hhFGá&* G!GII)OIN8 ب + rZmj5Ξ#pdzت`0LyY@kʝ_j"wM5hQe-lee]A.%`@gSP_2hTx^%U/KzjEΕJؙ+lQWW9\IF!L0'B<}8Wnj 7=QgLM֜D!qVm8ldPNwLV*p8#ڌ0!N >=įbEfʣIј%-"mG1㗭JV5&4dp||<&RhT*]Z R,'eNQPUaU4?GmH+ũ*}>SRTʨTIYFGr@V(Ɣ>Z!)TIE,R<ʑ-qQFMŒa?: 2RoN\+gE5<"g-TbĔ>BTe )դX ߫@"Sr3zSh^=F 6!+hoR 02溩_Q<:077Ns.YjP.qtth&:8I(naפ>Q#Iۨz5;1$Be|إ|ZDn^PȩA"JѺ)QoH`)ˆPoH9lFI|MTR!CK)#%J!m,TD̤@tnA@w ޛREjdTMgx!"\\OG{Sϛ0CՊbƉ S| *nG 9*RrcEA?;{vvN''SI(&%TV9iwQU[:꧈Ԗ$."L0m817q N2S(-"lj$u+2%)&EM )RQ\ t>fLeR%EI5hOG_F$9CF)xn(ɤ@T~[%둃: T!2?QI΃%F9F)H=q8 LsKBeh6j*~&a|Gm5g:TAPElC6ȋ*";5ETn* ̈Qq@UQ.pf鋆^A|>FDDxL"Rk,J{*bGp**^EPd$pSCT,S(Q)2S@P0#n F|G6 ѬR(*TV#9~,ZE&3qQ899p8 FrQKHPW f^)[-ԋlgS鈓%Q(lEmt*(keObf"Fɒ"MJ")%F4:xR@Ѻ侼M]uN Ĕl/UÆt&F O4XU웡Z TϚ9&EmM&s*.}&QձgvUZN8 aRdJؑc3y%Pʼ4%;1 sb2vvv4mvySUd}ߣ*z57?T+GOMMM$?3+426-2`tvDUt8[ (%} GeYhdӏ,"m2}U F}+y%eV.(FF(@Tp4@e 1h0B)+!+1 P*>,+0Y"r}猆# g_Y%یFg[Jltp02{=f=+YNKw:JpYNsT:}^ó\2 `4@Ʉ(߄l %N}>::<湀sw~0bY*0FJq[1*R5,Y9 zJ>Csp/y4qA:pn#A0OvPr[9f4wQ\8w"ki)a0F^B%}%s?F5?<}8}h`0>ujj8:+>P*O?HS6+J~V>zcʽ| ^y\x h49_kތIΔ弍b}a6l~7v"4&Md9oë3pΒ\:>ȟAvd0o_$3H+j҇["RȲӃ.+egxzP:`JpVF!08{6CJ a40 JzhxLFgy( NtyYҰtz2Fٓ<\>ӄ4:{PB J`TΓ:FIg dw_?Wgl]UFӯJ(j%҇T**npPJMV4^ڏc]rZRiq>p0D9+3:(_;%{Xr/ec}&dnvGe׈@!YlEVΟg}x}Y777%+>87ģ>J=gg+&bZL Gsk9+e K< ̟HJ89g~=kެ!N7#B«[Y;=ja6??)w$KіulUU*Dn)~ +*E]rj,Dy#aFDAWJGFHW]s#HJMUn~%W:y4RpSs%={պݡ"wL"OT(0UE%.Rɠl%GW sA f*RDU({LDjw:eYL|ʏf"MT(ZFV;75}6oV 8<)I@,E 5r?_?HrlׁO4T^ɏ$ZmvGo$W_*H4N{1%'V3*A~C.|@B}il~fޕdow!dmWƉ l,,}2~C G+M=ǂ? 7WaN$S3X80QL(R륔zEFXXX@Z=ɬ"GVCjZ΋ :@ ;2}1ext'H=ny6HG󁟪#c@EB9W~ !P,߈,QG;GjGjD"[LT >t(Ȱ$#RI\2(c]X*F$h6JTMuέ;{'\j!{Ik\(Pkhe4?I!~E10H˪ag~4D$tS'4DaK@!]#|EDM'\j:6$q); ]_nMyGCKPrKC#:"v\#s#&hJM1G=e&,EF\Z3!1 @Ǜ7eӬA L)8@sW(ObWLuJIR>%9KYi+牊ܒ`Čw:cc=Ç?HWI|4VpTR*<99<Ps[y$|`e0;Q˔?D kXs(Rfj"y2ICf?>TK%r믃U%j4"JTFTA㽏b *'VYUF4hdYn{ݔo6qFprr2MK `L*&(9%ϋI>o DfrR4Yj΅jeZ'Ev'ְYѳ\MSC`J3TR\)Ծ:<#㢁pVsU]/'Bֹ[W+Q"l#>Y1E9V~uL5Rך:#1sV)$i# H:ZQH ,R6 ^wp$HEImj0[eXPb&2%5d+ST-^[N*JS]M/URȤ")',%L%J˜B&O% )mT1סȄZD( b⟂yyKզ*n:T$B<"R44LypūIRJJHm2j':QR) S{٣I^j/"YhB0P!677Ljy V<2fggl6̃3hsGr(8L,%RCinSVPpC3c^"boCKI9ٔy5ܞ`?̢e"?׫w3]oWj%#"taV>49p IDATD\%QZR} \P|% F '9)ã aa9r>"E. 玈Eplj*'EV*{ߏCK ԋd^_y+GI*]Vs Uy=NVo%8SgD^U ySGFȑ7FԯF$&D=SD% $귦`k}%֍`Bq9,e]~dQ)zw$YO(S$uj0\=ciЬhԳ$RȄ%>F~w\\:dž-y&pT?٨qQ'wDw~) 5=08rF\Nv-bG) j2 lFvEz))(QJtPI 'R-\E \2gƉBJB3#]HJRGfDRA(Q9e˽`6}JK쒈숹/乊-tYVE42r\ߟ×׍?$I<ս1WL |J RJFj,3>O2} ؜RF&^x$[naT^YهG*שO^.sNNNprrfQBؼs~hiǚNQK#GPo}EDuE٣^h)CtøT}M٩ Zcu">HJ{(j˥P 9D"ԋHI%њJIB]4MR%H R#ZT2Gt=Ma S)TJzx2`C]Vgu#٭6rIͳHr>~TT=,#Ehn$9t:vf1@6155_(J?V/6(ΰ<IZ^1b/^Ԩ]Sڨ**V$Q]j"i*QpH%,Qg}XCoB9D=qWdEԬŧ (9Ri4,`+N!΅z\EJd#𐫔BVS9<J.EgQRid{F,˫T<*R pO%UH?gư[\\(Dޏ`erqR?jZvnn pfH#|_E^9E0 Rj0c]]Ea4T["%cSUiax$"bZHJ|D"Bg&*+J8cKJYFfX)225B|8rz"F$$32HR܀(c$IȦ?y XO|.4l% 8(nxOUP|j\=I52JjxU$Uf4 Tlڅ5$SMQhLS)O#n)yrDjt:J=\|KKKygM}jU0 B|Pe%gxLNq? jY_%&rsr3 n(T_GQKSڈUEdăQ$vPʵ4R:iw8p4jNVc=ܬh0'(J*'O)=5+gW |{SfS, *8i8fJDܨ(P <*Z֧_wj AtQۉ%LU1SN#w4XwQϚ;et:j5ܿ[[[hZcI]077'=ˍ"ɜ 3r5^WAʣ!;E++1E¼xRHJ6f"*1ȕJel{YC3dBݿɍyogΐa4YND$W&RۨA -Th XI +?V#ѼN,͔BBXZ,[pD6R IEJ'v;R`' ܢP'jR4gր*"W'$G(D-I x6F#ovv6O 2G$K-0=!\63+IW qUkַ>xjQ[)d%""*bRŨ6F[dXhv}g'}&E$zbQ2=8Q{nn'''0aLa/v}}Fz}L!,ԍ1[4~8 S_QD>uѐԌhV^ȃ*y*e|m0pN)RE2.%N1սMsP#J"jA%PfOE)'jE$B)"N`x'|8*rn4ޜMx1rN;}hd'LxQVmDpoϞcԆVh@*$:/vV:7&E@"bw9_as].vwwsH6N#ɩkc%W>8,mf*eHJ*(S:SvF)">e*RJZ"X=}U2p%TdelE\*&#XTDό[d_jNHԆ=֪VhDt0JgD9B\€sFy$-R3`| 6R.goxTq[Y}&,;jI%#e4,Ot:ցf9)ې&I UQQ/{lLjc``TSS"rbO2JL:cin*T #{~> gd_]|PFU$ % ?5H%"J9g#T2b?eer4S'|sgXh (mx;hOD^*)Jb#:3!rI}BU| x =3 >>}7| *B .x8#6V !):X]V133,0555&Ȼ+ s,rRJj[VG#w<*ЮǾC8HBwAW) RjQLUE=8SS6抄?&?$y eGF l)ӱЎ{HUZ?>SFp#ToUr/SUϐkRU愀6v{j+xN 0x>9iDʮj?5LV<e͉/#PXUOAb"e`WUF4}Q"'أL5HU)2`Tjz#Ó<;A,SIbjڸ܊%E R_Dr7?R\I ͨO˨1bB!UVyWldgNY%3O$xurT*1TQRI#\rR o|!)9%ZSSjJ㘘Rҥj#mQ+"RIu2;RIn$? r ܈XJUK|OZ|xzZ멄3ԙ+zfX=<㧬V.yNO6R1!~XqKKY"Pȋ2$+*vFqUk[;E(LRE=R;Z{#IO/nww(˨jщ`K.avvVQqEEzE}O= <Ŕ]hT >##{#:R}hA*IؽE}W}ۍOfQUU~# zwE~dvRhDDA#x09nH S-pb]9 RUU2j-1WƜpCfŁR8Z^"ɓU|T Jmb$: uNYV=TcUW'ZQ,8{QR^Nؚ:Ǒ0VfG`0T0fœ)9" ,â~` o.I'I%0ժ/G0`Tؔ&IU^#)*FݎTd&?7}{"0irDmM$)UI98"W*T ?_d'Ţo-`fi+ԣd?S gL|1jE? CCVX% 0qw["HJj;COp"1Q[ݙjf ZX ]_OY9>`5 ]6RGjrW>œj[؈IL,"226 \h~KQU_,}Vdӯᢖ~䢫Z8::BZΜ-wwwq||Z^^ׯ|\0mū)ֵ!|~paW bTz)2iTFDH=?R"HuWƨ5f(xתYbR))DEc}4ja+hvBqxTrL~e>*O:)nRjfOTT6F>:\ʿ'|*z 2Rh@0~OJ9IRgD9`I7RQ!jOZCvwwy:|cc.,,zsssw`'5NsUkPed7 GDdnAxD92b#H㫘Ъ%-wT&Q5 g -Q4*էЛ$gs8;]OJ,R: \TJNuS<CqWQ1s& QN8y*ZV'_}xd/5\^{.,E^du'\^ȏQG! ? YTWΙGGU4Ej u.)Ꮠ"sD\.cjj FCjSSShۨ똚BE^/Jgհ+i&1~=R2=HI-B\-50,ALt~ x43Go՗{=o߿gFGG b[QlS zq* F1U2dƾmȳmS\~ yS^C;Q~j_'y(OUJωa&_JI9ؿB%܎XF."hfD)2DϺ~0Y{MVU,--d8z>4rVTW0U4Ջ\[8_ tnPTjuLJR:A"p4ԌWE.k5R+u-oD>ư5'LS~SJ(aL0)Q!8QJDJ,hlVЬ.ȬdY͌Pߕs2>e2JT<C?T!\bbgዎJ`˓=@Eר8K)aTlE뢶gԩ IDATRz`\.86jY & /NRGm-E7IE+cPa '`C(`2y#eTF4EN=ۈ_1 T[ b2Wl`7Al]Z Y)""U☤lSJ{͢ú5I%o@ =b @5(U>TZ0*CU*QaUJ"R!> 5֬ܩL씒Y5Qs]XIƽb1_ŽvX٢ Nģ5O4V{,S{cO{4^T*njV+Oξw+j&VWW177)u,..s8>>0? ("P") \DIF(J)Bd+#§#[ė5U4"wCgJ?`ISJ"3MBJ@T4+1%5.AH=G&@BF5@9)WrTLZG~#{pKO$cfT"+3,X^^:>}NWbii)gmRA>3f{7;EA+?D9)ݻP T?PmHhKKS  $L/-pr²%_1 R^,1Ȣ; TQ5r)>$V4 5o<:O_B!^H>_]⃋?7R0ol٫aSLRg<55uxkdS2xsK8zNi"GۘϣnVy) F#Bn#U#G"B}fDqUt]lnn^˹?=up8SY__㝝J+++x1??g}^N;;;(X]]NNN- f Q+(~&0NR$4>|U|vosQ}~ q(2€|[V:=v_LH*x8}8VkqzVQT(/%UP?$\j!XPNˆ_^G@_2\iwƍpwϾo_1pm<}+++.z-1MV˵>PNMMΚ j48>>8C_.9]?"\IxYblLh̔Vza_ؑ*u(0ݣ]z[j>eΞGVC+Ws6|[ϋ>=-y1wXH=t]9[]7"ȖhqNL|<==sKܪilS--تhCv(*|e?Pr?ۛ68p1b<Y #2T[l.y}`ooO&[LfT'/#'R=yY(-0g?N9!b>O9qˢd%ɺJ2 t:7__>`,k`kk[o9;w೟,677۷oݻw:nc- \l zIfFu >NNNƌRF9*ez^KRjꯝv~?2v=333cmR"JV5vﵯ?j-;p];gFKF^gYTgFep=zJ֩sб6~z=?,9QA{0`~~;;;cVqBiWP{;CB;,|Pldk]Xʄ%ZRfZ<9ﳟi4hZ$^O׸O}`R[;@g{8Srf>28oZ{{{c<)[ ѿC:>>>)E=9J'>h~t:A9ZON AjB%2Jr}%WZ{Bb|˗C_?C&>ݻxW?v}NF#zfffh4j52/>@{=$:.]۷oX[[۷ۿ[|K_/~|p?wySSS~:QC,..Zbcc:o`nnW^ŝ;w|>nܸVX\\DR to/>}7o"2|իWn/_ÇӜ377z8::7h 5vNvxW;`oo/ݶ۷ocqqO>ꫯѣGp5ܻwԧp- s~'ׯ/_w]\rE^zqppU<|.\@+n ޽{X[[:>\p8::B2* 677raaa!GhVVVpppK.ɓ'8>>FZ:ܹʾcvv#\zv|.^CcooYa? hD.!.^E~Ω*zn6+^V>fffS\x1@lR vwwl6qxx8v_v ϑ?KC̠ncffYawwXXXQPTUհ7nh6vC>YZZ£GSn7/8${{{+ZV~ϖ ZSSSc :zXnq^/GԸ5iQ.BVx+|rg !4vPF#,--Va{{?̭\\\r4==_y.|1gk>vU[A<qrr'޿ˠm]t1mq n0`nn.?G>O77>F^{1E͛7++軯JJ2fY_ܾ}fq}dY bee8<^|Em,,,Ft_xN?+c{{;z*677QVE'? l6W^ɃI^EIpn߾^gy&<Ν;9cuwwt677sSScaa]WkkkAӧO󅶺ۍ^|t:/sp_~wKo\.cnn~7nZ?!^x{Z͓TU 0w)˿K~olʕ+yR~ڍ Kzƃﳟ,?~,SlooHgv-//ӧBRZ__í[^/wV}mloocaa!}6>Oݻ jqU?[L׮]C_7|C\rx}_x饗055x/r.\@\Çb_A^}͛uVgggqxx'LN?я/Dž K.OU7oo6vvv'Vja~~O|?~g hvX'fxnj۲Zg]nnnŋF9ɰ^^^/"j^Z-gᅬ+W1??J]T*<;99zP LC bӧy\[[X 4ZZZ`vvjy5dՍbZV^ѣGy2VXVqtt+W>Lr~F ^\\D΃ T*4 j5TUdQrtޓUp&7ѣG~8<<`0ȓ-,,,䇴AVq=}>F |>}Ƕf#czz:O]jiZ[~5EZERɯ*]v߿BӧrI^xeY'|:R[liї/_UFT׶)FXkv^X綆vwwǠ~~|n=lrOr,? hv]Gq/}8,01(ȫ|?%vge}Hɾ0==Ïx:>b3zlgO}4%338҂%[,CC^,ϟFͿדج2wmz6;hJOt:Z0!}{HӖ2i&[~`~/kؓ`l4yɧFw\{FcLe_m^\.p ߞ=k%z_G<''m}CF<}fk{“#-ik~Hlm'?fPw۟Z&jނ8Iy&{Œo.[֚%^8RWUKF{T] |IDAT*Jr|4H?ǻ<ðI<^^Ƅ%k6jW42R$l3IcJz&oAhW_ءX؇ށ?Xe቉;K< %POXe=JC,y+vǀ=gH=O- XWu yާ>_+}͂=oIo }Wc)w`~_;8= ߏ3x}`ZGgʒU;s>sB|aUm}{G{ov=u>l)IXy^.:'Zɦfxҵ'+B'ꟙ$xⰟܓ#OKŒ߃/}˲&cAe^:pr,ZRit=wwt>%>3eeOv=lo|[Hv@Z ;=+,cxE|^_뇭Ld, D,ꃍQrK~81X^vQ&,YU73;=_XߑmL`IoN|e'-ԲxPYߟ?}nkت+>x!kW>Rc8YIcBP/ZyjЫ+>հc~#c>ؽYQ/_I 7T &ujkލi}QK,x2GiqQ>?[Ϯ]>~C'4#@M{<9ɢ7>>Xi4csAwgKy|#Jξ}| _ӯ'k!SZדWQ?sZdM|Re[{$Db |RwY}R}^./?,:FQJtIENDB`goget-ubuntu-touch-0.2+14.04.20140416.2/ubuntu-emulator/skins/EDGE/edge-land.png0000644000015301777760000115533512323552652027232 0ustar pbusernogroup00000000000000PNG  IHDR.kbKGD pHYs.#.#x?vtIME ]qM IDATxi\q6=Lҳ/p(E%y [EqCF F] rK"\C dAXqC`ĉ'؊6JL(kLX]Dt]zꩧ8"1 pO{{n6:8FAA&AmA4 DZ]*iR)w\.hZt:fHRh6|V ft? Cq jܽ0DhHRjlE{ t000Jh4PT044jL&HRhhZHR@v ЍKq? S=w:FYͦE=6:PבN}seYuwt:z\.(ܳAgdh4g.sS<AT*sEi}(rcH4 Ct:i<gY4 &;8F.CVsNϒNnl6fz. =sL("mq0 dt2 ͦ[OtQl"c|LQМuG% CZ-y7V= C EsI{l"˹}痯_[zvAu7AP(h5HEAץpkƅ_.[kdh]qރZS|y$[NJB>CcCkƖ_#G@idYT*R)w?A>R,Z n0ܞq4[Qa||nXgh>hsKHIsE?6Ə G6E:FVscg&.igG"7|} 1n;>ӿi^iHߣn5)%;={y >O$o4A~h]麴?i uM?{=3ݏ7Qsޑ;5hҳ]U&;_3|\{W|#w\| 6焏Yt}?kr86D5KzyN𽨭Wz~sj{c|9cBE$O>ֳ$Or?>?q VEGQ[rDQThcfsjϜ9믿4͠^v;EO4󇇇o|7:fff077Q Lf@CrI`D㆖odڸdM>+]]p! :$)=8{2I'qPx0Zw% rTޛ^ `yl<@?{X{ƘƊ;s #L4vh|AȃvxuNǐ|zNJBгt=DXsgV:e|-4KWr<=-MڇKϓ dxpGǃ,[~ Z' lcOION,VULLLncbb}Zg&3U0cQf{2(ȁHKȵ@2qx`E.z'4=g![|ӵx Qh6n?aFhM#GJs! rOn|s{m 9C̓nyG@?18p;:?W̗댿 2sN=N Z7_WdhNhu̟4ZڙF`m$JRϼxq_QwkQ|HH<WPLKp[Gs*Ov:K[|m97}V=2v䶘8_7<>g=t^Hjz*ih)@ngx} s3.9} )DŽ| u¯MC>__6:~?(vD{q>oξ\@Z}n={6W_}5l6f5TI%n߾?O !#ϣX,ܹs 4:퀴%ĐsLsƝ;~?:88FPpo@<Һ,8o^/Zcqf <'ݓOdb~=qMci|s;G`3M\Chn79Jk /)rlAw'%8Ǔ l!?n hOGNr:L6o zHn2gh o,0d2=~@HVNsf:JI%FdOcοF `V[Vj^x(\"g?_GYEϻ EZuQXAϋ 8c&! BO(8ŸnO N ttt5M R _r}wnn똚B\FEqCl=8u\.6?GZ:ƤP(`ool|= 24o4?qROZEP@Rq%%|]UU%|=4L&d24z1Hfϔ5He#< `XGN[[[nyg#x~i2Sr"hp~FsȝVrAcKEs (K$;Nh4\֝MI睝}qqwsҚ"bNKf <O=c|_9bw(6 N9s'Yf숶$3d0xvL$$JDz٬;gc rdQ5H2y=@2&.;Q jpgH0ݛ<2+Mky k /.wѨysk,_dehtsFAd̳dg}񠟏FhjdiAFr=IzvwrZ!|\%W |rCIbhl)h>iy,.h{ӵ83x!3D|Ny"SIds|9+' ժ;_dBfaaΝ_cggt2Zml>b_~OwP(8.^I|3/qa !"͢X,bss":,QV199F%<.`l6T*8~86771==۷oc||B2t\.]➚͛71??fϻ;wC* &pSSSxWpY8v6}\t Qagg\sss}Ciь{>O:Rb\.R1ܹstgϞoӧOcww9[[[XXX@3g8z[TT 8v&h6̌sPV155-P`smiw^lZh4.&''}ppVqgJ[%똜t%J퍭-?~9Cab||7nL '8J055UR`xxrtccc{.FGGQ.133zcjjʝvZ T*H(J.X'x||Bfn."`cc###( V=t:wҥKRQi"ϣVĉ(h6.9P044T*#a``.cj5 !y7<< `nnΞ=uK9}P(`ss###nr=G/@vil%b&844l 1e#\a=E-#zݽ.L!{Kv~%X^ (@ vs{5 /l#! i| Kv8:(g2J%LMMR@%czJOFSIL&NiZbhh!`HJ^*"_ /ߓ~//X`$9K+L;NN*ZOD5 <N9(²3F<[NIHz zг8L>jVs MN@;{Yvudy> AY6IXE._ӧOTm6~?Aqtw΋/0 /~_U\t "j.]aNWViE"#.(N!#pppy2X\Q+ 1;;YFm^wK:RVWW199C [[[ΡeyfZncrrEzn!\*022(Pl6144&:ITppp*j|4G.OsD4i.U{ee @XtcDƆ2٣X]]Ԕ;)'ڵkxꩧޛQtDQBJ%ϣ\.;T*azzډr-//ĉt:۷qilll`~~4d$i=f2bee###==͹= CZ:$N8{,޽jӧOceesssfpǓ lmm!:xmm qCCC}GhD\Ԕ3dǎí[022Ǐʕ+8s 1<<ǏW_u`bvv.XnZ(fZAs >=:99J  8qW^ɓ'QTl6166XYY˦S EN{z ܺu .Ǒ0::eE9pT*avv[[[9ۧO&i4M)@XYY$fffp;wo2~iP(`ddnŋ~ONNbmm~Dotth#͛?_~?3?7xr888$^u<쳸sErv.\+Wp crr$$Qŋz*fff@8W*pIbwwnZ-Z-LOO͛ŃܚfqP*077m;wW\j666pY7D8uΔиt:8u*jrarr:J%w6 ;E^JCX ^AaYwpfrhbEvwwc}}7oēO>FJܻwA`ll {{{22 P,q-C,dq6z*:氻9Rzl-l r)&]Q94אk2==h~~z*&?hz >OT*aqqmUgY.JszVM IDATAPPf155 4MLMMz :hBiSENR*rqggܾ}gffܳqdjFigt_{56 ,,,^,kz* =AƆ;!ĎƧh8XlllZҥK=ٷpe\v d2pM ;CZS6P(`mme)sAƝ )-Z x(n166֓#Jޞ3CCCmõkא@Mjcqt:el6:$J(%Ǥ\.cwwhkkkn-=!;{… X[[C{.>aee˘EZE^?W^yΝs;;;xɓHR((Bv+[ @:0hq8VyǎQ,1??Ғcicyy|ȭK fΜ9_gϞŵkאJ}KKKx駑+(vvv\.z wp)^V*O޽B1͛y\r< n߾VSN9'Μ _?wyccc.577o9 XXXvwwnq9$n޼˗/\.;!^y|C]Obmm / ra׸t: ro㩧*000O~{`.]r4>V|MwVw9s|/_=\v —eKŕ+W/|+++'>W^6Ο?u o|%LNNⓟ$??}{w}### q}cFg:.\}kW^zɝf%F  |А񃃃v/^C\g>gRHT O=*ek'MhVvy"GV#9^999|ZGR( J )N)¥Mr4WnZ97??{LNN̙3WTgӹHо~߭׿r… W2 >Oh?\Rp/#7R܈In$9|iiCrAB^%ዖ"sRpukނjpg]SRe^U(P.DFυo#'u̍$<<HI.C̝3:'qICQE:X,; Ȟ !;4rޥ*l D2 P絏Kѯ!ᇢTly$ n&$ך;Y;7R:.LדAEeW 1VkMftڥ*:??T6KK qj1Cxa_lmՎP io'կr`i[ <>'|wsmsߐOV/pu(3}}9ǃn;yͯCIcBÅѸ#1A|VUko*3S eG@vϑ}(qqY>g2ni>2FlIm-0 #]\@Y,}&|(sM%dGECz1882ZTA!ߛq)o?Gסz/rwq|Itg5 73K/ڵk‡>!.z-G+&Ԕِx. _J5Bٓ[~}CQ2Hɒ-|dbʄ;RQnV^ibTݔ-3̴ÂχixI r} [٧U;IgL*3U|r˽"CUf;TtJ9+WyJֲ}.ulH_MD`V;2Gy=u侑$cirΝlZ+չ!ϣeif⠊'_hZe%3`~|6v$`&7X=AJl#٧\f{FeH\VU~VGϯkm,&eA(ycc>?jZr˽&7Hif#5{$דҺHNSSԗ祴=/}A<ֵ3|il]kƎfi}*AeՀ'zO֒_>HΛg}+4uY< $":$ .mh~7xuH <{G3*"-!*G>|___4ΝZ(~/o&R>ӟ4߿񇇇qyLNNHK##{I'Y:r`Hz?TLYֿSn$'ˉX:rKfd{-9Zk͐/&s^fIf6|9(p$QT* 8}rrJK EfgՍ\1sH-;r]MZ`ȱ1߆6w9|֚;mqcX-9l}& NtNeg9ds+%y66N֜Xf6|`^Xee4`%g+dp_&SqgWMM̠jv-7-[qGW[[V@-3S fiv^W?'4V;yil{򽨽 &5Y&ǀ5|esUf%&UtĠԒL`fqm˱'5ۮ][4A{- _L~iFi[9;RҤO@Qtyk6NGtq-j5|+_bmm N)onZór@ַ?)ZsnZx]+9m14ff3}VOk~MyZ.I/ׂu_@'dɌhr\֐OS:=?/}YcY?}\k-pF[orI>{R:>;ۏ?;|,Gf1+4t8}HBJŵ!s177uKBljv/'/2fgg199l6X^^vjΝAAD9Z"7DhIrʠҁi(̨j".t}z>r%]J"GV;g2KBgk=E$TgTF@觤[;%H0s -@BOtmwR> /ϼH:N'$YK'Hda^sJ8xg3IDŽ@id*2ӾhcɿK[)a`I:_Y X 2\KۢckoFqzVϮK-$FrHz1㮽 ;^(y49VАtFL2~`҂T`F*moY- y5'&,ߋkwQesEf ,`b%Q% Z,@mh2ˮUj k3gC{|eKy2]_[)z1[iw-jXG$4 P&ɒ[ȳֲ8JƬAX`f5Ѐml6X]]umo_"FGG8^v՟>}4rfffpuٟ:JSIVv,)dg[09cg]#(7fi V !Zm4huuFZmf(75VːpAG9Nі{Z Jʮ >)V=e/x d YdNh?;wPyQck楠ϤD&}"ofάL}l%hhm_(tyGlt}‰怹k`$3FΑ&?x-+n IH&4޵;qP ,E 2> ^c7-sG-y4WVI32q,ZI?]'nbXe:At\!pep_ݷ(EczK=DYAM{wڹo,0&1 -esėOHc6rm77] p'aofsR vkkkе.%ze޴!D)Xe뵅NuZNjuV$~HJڕq5ߒv>FyqIZ FԆkH5M-K(k-?)R4| քhdtAoAe,ڠUQd"9ϰ2:j EcXjsʝ,dC3-84:'%^ˈYFWk\p LXEk ):%EJeHs{-DZ7-E :63X 8 FMr8u}Tt+හ9[4GȥY6ͪ4:\'\e?X (JreB/{ݷ̷>ZDS֢O}KX> \JhPZk1ns(a#LV H(in|,{q[EX%IkGOxq~XHI~_UN 0-JK!Ici%II+߼2$$i pϗ(?x>X[z+va1/߿ T*ߣP( ctt3oj.c)KC#|juTKt^CCj$ڣ9(/\IKZ,ŬǴ 0J~m͙2 #[X"/>[b(;-ukˡg;dk8[Zʇ[A[AA ɵAk]hAϥU*&ti r.2K3ԒLS|i}Jw~Ѐ-mSoe"JL~(IkSf5)=>Ll8_#g̠kO+C1>l9"IpmY>VR R-@^ˈX>VVS+G'T 4::4DU$AhK@;}f)[`8[I$Jm?}(45}i+ De~mj5ݾlsR@du/+ Oͯ$_Pf$oACK_E6p&I,~WВ)`,^4kZ6]O>ztvHRX]]ʊf]iI5%UYiC(yg!dt>4IC`C"X[SL**-˪&Y`-:nE2\]Z.HXZЋ IDAT[rHBX5 zXK݇&|tn4Ga)Ak \F:ZւgK,磞Zтu&̢h(|ZfפsgQ\5*I{:IXukZ49i{i%cmֻi¢Z%?V uX$dwڞҘZ7.ɠD,A+ɜӂn 5z1ߓ;ZfYj$eXXJ|YˤF\I&X͖Fo%d-/hZMX>[SⶀR%4\HPUea>P(#F? |SmKi +!_c.J[PrݯjHd2x뭷pDQj: v)mnn""d2 j9MZOjՁ0)s0^L; y\)G}?DMElӇ[-dONmзQ|Hfe햦L-ZN-1ߧiZZf\)OcWbVS;0#$`X^Vn#Q5Wc; C ~}#A֣h4BL2/ JZˌY5H-^0y-UWeB4?m% i}̐QrlkV)F&-2'諻gwCSؕOa^c%kttkPGm8cGkCkQ-ZUi9zBdHX>dGjDR&LPZ kԲj5@^6* XM$X7Z+_,?+eSYc$ѱ}YvlRh:IOZKKb+X-Z<> %$\s>m @kB ?9}U틿Jb|ze=zb!_{{{Ž{=w.kl|TOmv$ŝ#d~ms Ca hY]ҩh-FYWm\$8TIC !_J2$h#RO-A Axݻ[:V \_RV2U40˩HV,RNlŕp@V r2`Zą|IrΤzEӄ<-gXneNiȱW^R­T 8KJ&ZeөTU ӺWn\jpURk?'b?XEk vY .EajZPX ܏|=X1R׆'!8xOM(h -e}pAD̬5Mc2>PR /Ŭu[%KA5j| @@עk|'Y8Zh$`YalHɒݖnRVbi .D=gUb팴hI NJ|=_&-˸v{΁8q<]dhhΝC&Ar2#CT i\ҒYסIKH!i OY k~5ʐH@>`B3<;vh4H' 7d<{& N-Sd7ʸIjԬ)?S)Π:Ygme 4Gs8@K(hdI"i! #߯e\y@UI^he_ ɺZMSCȓD|j&tӲѺ\Kcp˯~ɖY3@gATs.|\w}uRF 4G l%29Bߚjh{QR}m4U{$̐LrFÃtY N91NO_P;|K_# ~,vIfppFM&:i^JVqיW` $ٷ~>z'FkY$Ih}_~Zjk$ ~PW|kmֶsrppE4 Z-WaktVH`YHvn2~MكS,HfZm3o!ke&T"𒎨elZȬlQgٵ ծyBZ fLxf[*j*;+iP#ҩ2(`9UyjzJ˲>1SjVb$h-4'M7*Ђ)$Bvj' Tb)g2Gփ}kQ-?q+P: XEᦽȝzJxFK+I͖yFwhkV)6+II[5ӗp ȗK0T2=e3_OKKZ "XȬ3ѪGrRJ,(;kζvߗ شkspP/F_@.c%DۻL ~8$ku}>) G0.Ѡ-*N~[XK(Y>vELsZ*;VRTS-:[,fIqQ&ATIt, LnB>GX 2LρGA3 hb.N"r5TH]Ԝm1u|T.K\Dn~٫]:VF\&rcΤQ}Kʖ&|dեX{me+>Y4]-kՒISYN VGkA%M_jn8䢖yrВPiՠ~@kA6]j>M-ۧ/~;1A-#e%E?VNΚ\l\I}[4} . x2qt5P{ZuZ\dIA_ٞ!dwV\RfSs},s,3ldX|Tkn ;+yZl?s'$k9:Yoyuy@me*?S_]0Rlx"/)Qg[W.ᣪJUc{$C,ΗՂiӐ|JVX H$"c!_+R:F l6155R)e,Z'`d_k/yH$jmljHrgg4:$HATM9پG*(Q3Փ3L՚z j{Yt|h=Mc9A(-)~ o!ZUצ)jY0Zȣ/9ck~ }MT@^Rz'>tVR}";CRɀ%d9G<-o9VMU'",+x1j%Ck,lze;Rb8p4qO@/u%+K'I5իMi HM̒f?$\k# 584cz͖Y 􁃖-aj _ *K@5S_0de5JZK[dMr*)Kz&ͮYg Jh-Q8J3cQ}z`O%;,O_YeWbb17$jcfAneǭ  >wuIJ[c =A`hhpUH166jeU>Y=ROMGf7EvH[92%*"]-֪Ҝ ٶC2I.7I%JH2K @ϔXJjhs$$ﵬG1Tv?M(Jisd)G>,c(J2[&lһ23=00`Eibh/ *k)ClZj=IΝl1Af-v}YT9X2Q,_P_ ˆh({Vt+hԜ>FԨ@5vk$ mc"&4M4G 4gҚBq6Iğ$( I IJQ; |M-=ΘY29Y&CZ`4  Wԏ>viv-vP(Kp~I,-0גqr/?1t"dǷBedYT*^v,p$5?55`rr'PzhYҚ- ݕ+jՄ4KMT 8|}$lҌ?/KQɵQ1$?o i՗ZELOJ>hm2|h*3qeVj-282j(>ZEL:/ de |%Z]>u,|n5= )]*Tae:_@Re9ֹh9MZKX)іө>s?TNY߅rp;M%)+ḙ Jfhc_j+xG%>it,Vy I|:SZy%ـ嫛?$Չ[] 4kHNCmO짬 j?$O{W $LcqZ:VzXIp}'3i..fV$;Kz$| / cd= HRX]]ʼn'P.q]`&FRmUC[@RC:0魃Qɢ`_S[eaT!$NnR$M:\E_fY%h# dW>OdlA(P_[[>'}2)WdZ Uw,׌̂L= &P֦JYz2֕Мu x[Jzjl_&׏V&sQh]2-|_@Ǫ%YNڻtV|@|/=@f;p]!$ÎϭЀf-O`V R+3$j>@$ b0i6'i ~l*H#h]!GlihOm:lf<*F>"S>0קsbil1!tjDxVؠ!Vt -$̻o]_ۿ~htFឿneڛ&pppbBL&J:)E$jNSEDB2Yt^ʌWFK:b9+ KZ\|H$,Z%Ag̈n?J/'Gse dgH<|ȬZXMJV[4bA,e]YJt5{ɤdRTC!gZҵ4)@-F j|ׂ" NMQ4Kch]#|6ntLݢj6)%3dG@*[9aպS$e)s@s-!q4O |r*hJ,^ϹmhZu}V9L*/sfS#KD4chɘ$/As`}k7_#>w묵,g)(A#M'x<`Shr$[OK")b ~KۤsZX_-f|SEF(5jsW~jԓ4$ˎ2"5WamJ@4f c[0 !nX__G^qO?a %GuLf-Jmd\k#)/Z> 2]@  PɌof8݌cG#@U-[rZLޝ$,h{ku1qY1ܘ"6)@=s/]*6O2!""f)C2뀐"y`kη?Z/{m2xVvQ/(}^O'8ݕ2Z6!̒9P=9c>E'D]$_g}H9V~#SKB[se[REM6EmӜ.mLm]Cy>@_6<`ug>QQ_-ztv5E{3h<6!}_i#|~eؽk>#I+SOYc]Ā82B]d){*NྋhZ-be-UxP}ƒ[UM=)I U6km^ QW%-9{:W9v|x<5,V7aiM'oM}zl6Gr\$VqT*9s_a|3gA#eZ3^E- Zm4gJRhjm|t.b[ }-%8/4ZhABGq#Lюba  8 #'?v" =xsSV82ݠ! 0Q ZOP{8Ц"DqwZi_sG1ڝ€9qwhy8t`:< pOq'B*u/# BumT|4Q0hB]םF1:mGbAD@#Qt}}/tqNwBl#>GG{Ⱦ^h[H6'6"D;]$ L# B2atxbH2hw]hbιm{ڷ8Ɋa#bqDG{ U}#p{ F܉syݎG(8;[qw5:Dёe }DڍSwG``gˎsw_:n3t'£k:Bd݉]tV|Gbtq?Rnv6:k;~] qwP IDAT=:=Њ[G9u@umf܉wKEݳ ^}t(>Ә@(ƀ|9G V_OGvm$I%9q%y=u3~?.=GVasuOcytNtgAўCGg}^ wmq~v4swvD!)GߏG0{>Gni24n.v*/tg/-1Iպ:<^I>=0DD*r)i.Th4 jmJ:EkҲVtӲ fN MWZ5M]2ZyY qգxFT* D 4wݣ͞YԔFMt Xۤ@A7z >z]g@' ZYErzpNd1L>; 5z$J v^lG\$o_%W ٸ=8 Zzޘ;Z;us{>5]=HxX4̞=?twc.tG졇d)zT<7!hwg< + |D|_;GӾ t2{}#揬IvM\7rd?J =]mB{!;|=Yuh]ZgYCl=?r/=7E u$r=~= 7|u(ۓ-F6VFG#!C<靤M~xxF[ÁcB[l+,, ZE?A7̦Ny@8~?h\Es@_=v8kN R^_U(gE_fg!|FaSsӕyG2f@Z{ (ɕE ְߵvi(` @ߙaϘXg>E,DN*qJ%,LV[%q.>߭V Ǐ#qeP(h4|3?#P9^51y?FYҲ5l"ä HE!rZKG|{.EA&Jj M@ I 'OT*=RhXb}hsziuƲ&R5fXdݑƤX)HWZg5;|5;ZkhY¸ \_ԥ,JFQ-GSYZNʖi[f9 {P[Z|mI5r" |MST}}ӏC`l9Ͼuc%bi@&ġ uZjʤt$4[g"I㯁.\BTiڽ|=խ1hI`EMR.DHu _&Q5&@;/| ֹbO94v|k${Tگ}զ\2Io"gjZ93jNemv@Cx&WW{T%vCA@B@ BL@H0AHD$FHF!1B2@PQ"#~c;q\岫yU?|z9;_Zk 1Z1O1'v su=l9Ӭ+=WͶGx2P)V2_9/Dv(@qs) "p{!WP=* E񕚧-Ȩ'0W(:'SU7FEJ)QvT#P^3 l߮\b>+p8a[<]rV=6mgggx9GYгUSlXш0FC53N NfU зIt||{f@LXΐPߩ;^{ȹ6 Pt\"`*5Ԥ\Zc0J*TS6FA;c9/# Q2%h㡎Z'"ySg؂\9F.TU7Ľ5Y2DZ) se SA!=/$U(2vSe_DGNHֶb#Z1R"c@d#HPi bYbnLĘ.Ē.7,`:T쓝 fldJ&*)t&Y 1Dx{=Uxu&37cw+1zNC䢞JJ=,لJ^+(T n:U\.mkkγl_p-ؾoޞMӮ!?AYK8y)\ bW%E1aFu["Z=돋QB{v'ÛMII2>b?TR2сJfXRѪ/cfX6Ff[6^4.QMCe`e-‹|cϔ"9d1%BUJsG.:SecYD]&9bRhW(pت Rִ*P~tnD[g@Y&sf.q=-ϳ-[xl昏#X'[_g ku_lyY)+P j:Yi+URƱY3 7ߪx=_Pe*3:KX{Xe樏Z"@űrJiI:{=sX6m<իWmkkkܙ3gʕ+v=t:|~ҕx|m-JuWp8\o$`ހl1A5P9*pDRtE밲S&)e&;Y^XPs -@EQˢE EEBUdls$STALTFzf\ɯX[Xfɹ FKU^v=௚$B `=96E3Q*6^+W1 zYA{o*fCXm3HbBP^5YQbo #8>dOAfj5@Q,)b&>@5١6%$닯BXo1F5HauCM= UujT˒%uwVի!1`YݢJUr`6HTMcCWY#h>ULz ߲5X_Bo3"dM;j߫ (4ilWMu?g`_2{1~d!%f\$WZy1eUZ%J- C^f%(#(fEJ Lgb>Ϯ7^CQŤ[i4Ϯ_nvww_;Il6{&vu vxx <h2dQGBc AMc >:PF8&V UFZ=-Z99˴ξrTP)G"Sݞ +#@hJ|`]\FOTΘLZ)UMJ"N?X,jJRL!WE*+Rd~1ր 7:&rZ6tDaF*Y={d*Wm$ Ss P~&jeWV׏Jk<JyU>31*GjϮ>C*`-&7 gv!!*C5Վ= mXQި WDF4PV vwwmZ͛7|>I[Vyk6 Z‹"1}m:BH]ɠű n3Q+(c__i|B]Y7^Ϥ;zL|ΰ9E.*Y@PuCIMMU&B`g찊IJoƊU%d`Sn_]yTj+,b5Tϕ bqXWRj@kt{}em1ɠ()h1r)+$\z4U+ֻ&j֒ =Q (TI4WdԬZLjʼ=ʒfWq}W",TRYueUc43䞭9氎JNydn=XZwTTTRjag<[n\ {AX-7^ +,1NC9/+Cy3&~rr{dݑڛoٹؕ+W:ivZ^V.́%ށ02ІRǒp#[)Q&fA9ٷlXJ 81f+C8m$:^TL 220*|$\Y?[ƖeɆ zh`7B3r)q/TA?\КS ~WZ{y٨NSu)’NH5m8ɮW1,Jn ̃'~ڮ_nyT_xnܸaGGG]4E sLզG V*"J>Wu!]riK[K!SœSYjn|XGJ h@l ( zQ B(wZ$Y+G) R2V$3ZS4QD:~o8`rYlFO#&Q$wy#֫;S6VQs%G%8vRMS&.J޷ .W@RDlX_6oh 07PTgUOH93V ! "#dC5@!5Y*LR h l_dg C^8fmPZ+SFrXWZW!+(s~bk#ڒ]+SZUH `9drrIHf+2 `cg=3T荛Yh֑!>?:H[lګ\%3_PFiOK6#\1UE%uW q{tNsVjYQC>>c8vs5i7jf[o?o;;;ff;mj~!ă'Lџo''X@7RJ@@Rؙˬ΋)+TT_iX٬"'俀v]B{Vȡ %4 +']:Ze|%WrWJ34oSjL*jI4ٌue@ұ   (X,!քzi%Fc|P rHg :g{J<QeպL{fvSs%$^)ƺ¨2$ AxtwE93OG󲲔M3K>+@ ys1W1gcw椟(DȎޗ-Pj'3qW*![G'2[þ'Lj1Yd{QȔ8m߶dI|>m7aɤ[<~S<#DT69~zxPOc^Rm\> Ag8+ldY@u6K!G$03;/ AkgŇ1%A=QI&XOzƺ K5*3Xgz!تCToՠZ[]a5j\UBU IDATGj.9\~#ZqWŊyz?c:e*`s|YXT `\ue%2 z!cH2 yu(Cl]@M`jqR)RWDk ުR)@ 1ި5jOf(XR*$*9_gX gbë{7FfJ߃LYLtU[gAe(TW h7Q8g M0{>q7!CLc>3'''?ZxmdMt Z03I_d7Wi߃Gcf٩o #42(EuHYȑ[9KA?5-j [o٧>);wZtK/}G-{d(BjSȨÀ:fuI`b\U) * @+J]TG5IVz!IW*rYI{c[U)voӮLӖ1c-粺 2MDlUjd%801d =TϻڻZ%X*De7UZLW{pFCXj3xw7*Y?&=Gu*aGdUs"k9W}e^VpWlͰ3qT@)>Z OͳLy*hQB4#behݩDj*Xźdez*6Qf,]fJJL"@ϟi@< t#_ra^_*U 30ByD: i??n_m2C=K1S.vBYI?3눡U @&/TʅlC*S@Q`QՂ$ v l(ToZL !0JTd,dJ9g es2 #rPߐєb) jYݿb(T=*X.ݙҊZ0KAU@T 5>g2,WcLeNR Q+ׅ.ue&: 3Seޑ%Zlo`nHJ(\iUȀ12 #9 &<噑R=Jr@fש2%+w4ᆱO vPYi6ur{c;_vΟ?o6WF.U& 5(Ȋ !G8 ZBj=zD_V6vuof6ݾ32^lb-([.mݶ{1gI2>RH، 1x;$ɂh#b+3y3b-Vj+ ͢m1)I}A`5qbӪm :T G92cȌC1Z]Ơ2 @L:}WfX\5XQgL&CEƪ|TJpIhVLVf7"A,qdegYҬŲ~:,IUU}/ڲo#c)*@J^&kd`t)Fs3ȴ1s<=ZJʤ) b^ AUp+*Q\fz=[7ύXKbzP\#zje-(=ϐ1ڌ[OSݵ{϶N:Y'3=2aǯz[13E(t;GVʃ^Eڬ\.zg,-TIKvY!̐(29l~$IQ9V{"f2j{YyK Kt"M3x/~yHDqK)S1u`#{D.wb ebjiM< bvıh4z?iot:|nF#;99YK}p8<hk ֋51Gmko(oЂ~p3 w@:f]d,[ u|& KbBv#IRj ɨA^5̚ęY-nV,8RlEy,͂JuXu/_Am *kVq"XAsC%Je_֏"GdbqDSF! JpW]*)h&͔@FgƂX5RQ]UǙ b/3/ !ZK1ofH $;d*ڿz>ULO+>Wu~%VhVWҍ#Jc0֛#e)k9:X9,6(N2DEdI+s8l ]p^}UzM'AC0<)# )'wD yfy."K_qDD4<@(hd,v]ҲZYb ,U:̂=7/sBf BS >/&볟3.S60M{,)cRօmߪ'LW .WeA / g?U[Kv2PrZ(d/~FQ Z_0E2dFr$T^zJ+kߙ%YL!W)1|QI3"0Wm=%lo"KX 13KǷyde]l&@bؕPLT $[Ϳhֳ )*^0Qey7׋b ,r7٥Kl>w`0v7yv-?m&ood_̐f:,+v˻ƷHFUf %WX[/WPlZkD~6iYÂTum3a,d#tL1(3>/U2SQQ:Z G}/ ñ3Ig`^s$#;ˏG|xք>BѪL/Q׫@hΠ5|_,6Lʕ+Ӿ9ӝ9s._d!?4#\C`AuTȬj6X>k𐴂) $!:aAh V7j,db1=s8ƈID>Ce3&Y@ ˒ERW13.qņby%Nn$US,QPRٰ`TѲ,Rs; &yf$tS2JRY,W~`bLfP1I.=3QoՏ1-?k@/`Sd-}<οLI<@Xbh|ZRl&2v*9p )Xb%̿EU.JLTLYԏdxJ|e|;U*BYb*glLê,$ Z7Uz3uB4d2jbIԼP\f&=/+m`gjm@Z1`Yl?*i$W]}om)s޳8 lEǜd[#qs%WY2)zN 'DSNYTF}7J8f{I.[]-R9`9 gۊSEn.)އásvttdҦө<}<IWw}\.mΟ?oկ~|SΦ,hpU:vpF(͈qkXMޅo0 Q6F=b5n7~7n߾M7\h4=ȄDO%U M31UchXXA5`#Y;֖_ U{'3%ݙcr$agD QUi2dA^VKΪ%+d&w#eTn+>{TZG"Xm"0%J젒;4.CY'O֌J5 ,ɋRg0Z-ކU7+|&fx虫}%D˞JPL QRJ69⸰X(e{=WQHF TR8|'DY^+;ij'|^z%ٱ|nof6^}cvu۳lf{{{k~`2Y8?1y@h-j? jIz ַD|Ԡ~Ν;g_l2vxR}k_??8LJƋH:`ZLDQnc,C:YH&d ֭aL~UaTQqngtf,)5[anC$(yS`g3yȢJUMgQ\USZ*`Εf z^UK&Eտ{WVWVb<`z=30`EMPi秚wiU&=|G!"p :PtQ5fپ)J6Fe~!qO|?;ER;Dwstbq|oeDϕ=ov`0۷oba- ;<<\k ЬXgJ HG5w 8lH`57_^Tp1A[C={=YmQ4 n߾my_ߞ:p!;*L93QCQJjM1Tdb*@J&CCLc\ lcDṈLc[P`h#M^KMd䊑LuIjionU>QM.*Z)f;+,a84IdǔqʛR9W%4 RGY pǪJ@3‹ckbֈJ+{U,@Ι O[Uv]3DsJK* NƎ\YJx2j;EJt>:U^VPԌl޷ܦөtbd2}{#V+FkPN'kHz7sadtd~"xYC6ىcP 4rz7M€6ʘSuk=dଚ)gDȘhVjTgfWA,:sԄes}`ST42jUdʁ\Z]he*uPS9`z-|L\0f r)feg6b#k3;d20PIQWU)A٪l(`Y2ZRπjWjFTb#MAc̤)b\Y{ $) 7Rvqet$ gku`32P!b]uWR3)ST_gq^,1V&߫eBu0֖+6m{{#Qgٝ}իWŋ/?JL gȵGMS>c4ϻGM޶p{b/{> 1B@ hMyfd5U5:Pվ"WS|$jeh6a=+M䎯% DPav+,VƢdUp&}Ws%~!x0ʘEFm|?3T&h(c҈gU_%]19@TWleT! -8*tzߑ>M*&? S]Tev*%2wcc!W<22Aqj^(`vL[)R ll#cbeL]+VbX?7(VsFE0jƔ,:D"LCs}W߾:Y]lfmun)ՙ#T2l w}&)lwwk^0֭[vpp QB#" IDATPRI7jCf7ϻ~߽Aޒ͒%hrih-Gr())UaҪ1s109ML2gxxxOVɁȔZJb\Ec#'$3bH F\qVHrd ^BbW),o,IbOEUٺP b#Jܕ0 TW% j5\YtDW9}VV< :feLƤٱdrU8ZMS;::t6>6`93J"Q׊|j ) {7JQBd%qn{>dJЌ\S D)-ASMbΧ?E7Xl~EPTK$;vBCوF}Ѽ;9sJI{Iv/Scq׋ c|ſ8n߾-ZF#v a];<<<^qLjXQtkw1`<[,6OńOb6!6澽^R=u%"wif^ϖMb݅0# agS%hWN +'㟫GbžIX"gZi%T>rGcsz1'NW6{Uܰp&gcPGJruH@  ]hǀ+ckapI3cDPY`ĔMS6vwwmkkk-x7[˨t:c{wȎh4 KPlD1}\Iz (9{j*𷢒mAHcXr꽪NH3G٬$zE)sBY82"cK67) .\ܤAf)6zU3T|R**"udmEmm!`Q+bzP-agU­;z)h+P=K+*-EV~ <΀2UdGo"q?Dzȸ(FL nzL@]Yƪ%h ,?ɉMkڽMS13l&]M<|ֿ! 1Wnqb_Q@ߐ^. ۃ>mD(FA_,gЇ矷|̬k̍؜BLZȌ)T2ЕUbҕr l{U,-2{dRW7{y%Q@03e;x搩~X]bi#*M|ɼbrcICPsDEDʢd@iCh=S*EvqL+oe#9ʥ;%Ο?o;E4̾v"iLH4Ji''ftl6;&" |sdy@({Qzri7Oi8E1if6NOIgloo`0=Yoo7 6Dd 7eڦ0v+c䕡TH6P.mal*@)b\1*YqdOlDF>Yfj祮1̂HV$e=S_QTZ+fסHdep^ )2|>}{衇l4unJdf %kuwvu7al-\ AgR}PLPuR-RD2\g jbڣZB*f@WyTXQjd]73tlYH+>BqCg&G@0ZY?:ãؗ$});^gЊ`otnGzB>h|}. Θ|nNn]?;>>5I?H"dXg.Hj5 @V`k{%ny#1-oz':E vd+hS;{ND=v|||JŰm_7: DFɁTUnXxؽI/ϋ}TMN2Y:i}N,yG`$dH튛p)R Bs5J,!Mҳdzs*XyْJʄP@dj-3JKOdmXoc;=]02Rin֢QlŒ2guvvvݸqþbX3e3/zĺ}uƱ8HIYR_-`U=L-aJUbW22b DcVrX`mqzյ+UC!z&hjv+;}rt9>/n%VX[X+pfA wf3v̙~Z>l~5y󦝜ؓO>i''' %[n*h\p~`R"c2j*m uo+<22tăfTM,Ipp`fw >d2c63~PKlf{=6.3c~R*^?!;ѢJTe "wqf6/3@g݁X J;WֳJ2z)yw<J,SI(^M D7Qp(uE EvJMj1YFKDy nIz#`Ujvʹ<2o-SOsybwmkkfݺu/;5O-Kݵxl7n܀ 0f:}~"[}!uDgB_{ ~ϱNt?Nh4}sN8moo|Me lX"͂mV㜵cuPȰU˘ 1T:oĨ:V$܃Y7VD7y`T1o[Ct(xIU:LY 4Ju"[U{2Ul( d3*@5rY`.cUƜύ-gs{ꩧҥKk{2Bcl1e_ .I ~PԪ[;*ꮙ sH㳍o$XZʫ?ktd{nVd1eK 9>q8T58S@:3lU0A1<ݸʣr֣Q(k%F>/l~G̾b:랹nI*Qc,ڭrM ^t^  UgyV= ƍ6Lh47v;;6֭[vm;wXoY w`-5.?2ȄnW|4"Gl|z=ʖ%fo J>wvvRbVV"%aרZe $sz*&DPJB#^e:bJXMvEɔRP RI+6弋$ZTj6t ^=8"U j6࢘cQ Tbl[s3BHTao߶#Ub Kޞf319n$Q@+2Y6v.. {G쩧DRR|225Y@TJ~3vXnŶٹT[hgWn*Y38O)4Žg-**#Zňx( dVe5Arv쌯gJ9]jhrx/>~Ϟ̻x!b΃Df%C%ks73L&k1|>}hھU46Y #tYrk$C}}"[;A@PfQG7'̤KOS<ĺ6&nZ܁d!ɷTpF%1f~aPj35T?WkX($;q͡CNV樝Z3%+h,*,l.,@!!þ 聂u,0X6z<ȮSodSʚ\Fa?(ed^txxhO=ԩzUeLJdiB1|M@.QQ`Uw+<(%LƋ5 й_agEi &Se]LLZҩ!gHXIQa`g ȮW#|7uTGAhT*牟2ke'vr3v Cmv֭GmooI{e~kWRHt=ĝkBEY=_HR!>iV166}c2X,:zmQ-:c=PS>Ȓ{&IBb(!f84lRm"]l bR&re-!r pC& 3G?8;^%JH¤j/BF3a#Sd{6Z nxXJ2!5KY='帯gg5 $0lzvrrb<=C;2S44ŬN8`̦g>Ot$z2j^%>܍Q M +elnVXl*yZfҙڨ<3;ͼZ*k?R4YLxU2 e&^u=4<[Mn+hV}VkEi~L=Q'fwm:vbaϟxloOTג_!W`q<{&bdL{W5mCzk |'{m!6?d$Bڣ#S) CJ'rGxsbD&2tQ7vW,Qa .ITe &Qb;2J4Db4-KԚ%rJJ`PW,UOT#9}I7aZsaƛ(ì,qf>֩!*pYa$$ѪUk>f"Oޞ4b#ּq`lmc3Њ5ݳ̞{9;<<<=; GEV~:Tf*6SR=CHЊem6vx-^D ʸZU2LJwrDx>gJ `'TWF1q^ܣ<s vYF86^=c?^bV*=._iKtm\?ni Srt$s,sT8о>6n,(jDK0={B[v@edfUP%z3>>ʳ̔CH3ō*Ⱥ]ob@f1c]ehw"0l 9-q+#ub26SLʀ8؄ice؊]0J5y?*1B&33тm+G{m%i@פLXjQ7 ؆ʒ-9zKѳ,xA JrRCg+W IDAT_Q:\ hcAb 1!:HRA+r_fY4}HQ*pgR=_%~?o@miVl8BPf6Ħөl6 ͚L)X"Je@``]®IJ)V"c-U\Hj1V?U㏸F]xT\TjY{)MLyĒ5*.ֳjOfs)vTr`'K$b120>wiQHqJZW+),RoӬϻZC@ų}Z4ЎsrH`31ݱ^ʵu9EfS7f;E=;99ri?c:J_D4A|ƢD+EI-X_bd2rI#%>T@klIg;_\Lz={wmZϿo}Ξ=K٭L֗!Y悒~f<g 4gAsEU$<+)XzV93FE%czvƃJ0ȮJe3jp-WG/ bavvvK|h! XP C^whAB{=k R{z[*!ϺcTc[Ea {1;וּmkuSTkca3+blE]fˀDٕL%MbQ 1uMQ ۳3Qj\$KydeUσ-rxBJCr#VVDķ供E1nj!*k Dz6/m}gGGG?vm;)\3;C,jX Ċ(c<&@I> YPdg<+F(NڨX-DZDr\}C*˅~7vwwS1vQ L&fIznmy6wef{*jF# :!DT!d–"=T H33-G8iľ)qĄ*Y@1q0,IȌTlf;Dqbxh+3hdΝr|ƗpDWmsO?FSuz(WA((mfj"*@!SĠO v%vS`aVz2cM׿"Pܗ% KX'tn#o lRlTnYT:PJ|Lőn"}IXB xc-sQJle*NUgYgv4jÀ͌;ji ST20~d;il6hdN>ٳ2je3AH".DVdH2Ӑi3rP % uޛݵ2&+[Z3~'@ijΏ}cOھկx<>Z19Khȣ\#զ60& 6bPI,GU H(X,grEB3_d-;tTu@e!fy=}o5 Rwbn* N@ R,^{ﵳgvƖzh42DBX)D-{|n޼ynj;JeLw\^&\J|8x嵿xݾ}{4ٳkY߷kVwiLQ]KlZ XB+*sGRU$bkk^lW̆"S|>ZpL`g}L Cy=StnCAC.%F] I:7x*ڮ 軠Uao63V4& zJ JwLz ʿKI2D.DYIUZO[aHg:~>ۅ GgCb{5ϊri[[[cG>{`_L&Y8ܹsvxxx*@Ɂ BAU,8fF9*V*}̎Oٔ+UXvVIe(_\gd(!7.s*#6uTYD[ KXnU[[[ә,֖xZYz]^W`0b6:=^|F7۝3Lgxbt(PcVk6Y4ё-]|X ޣR-)ɲ5C-PNdqޟxSf>N3gtk׮ƍvUKT vM TuSd ^oaѫOY׃/` <99YS.>'F0qS{ww}׆agBۺ X Fv||lW^c`'QU@ύʳ USҪ(A]r=0Ǻ zd/$A!g^ϖX)P>O>9{~_``~}&wԑ4nReY@+2!7Yo\\@^՗+`&q)DBfdDKӪ"Eթ=3A,1E,XFD.)f"DrmeL^Ey$(vB9f[fǮuNy':Tj+Ӫԁ1"hm$Ξ=kW^7|1ò5˰y.a b3|[ L̂A((Pd }Ⱦo)ٮJ6 n\ʌQ1 ,&YId,9GlFM(&V! PH7 vT"f-%WƌH+LEf1NJ JfW{Y-cdϜ9c?pWZ/"HZǦ?#%{>Je5<`{vrr^})bpچ6پ"eXA%̉|MmƑ?ֹ-~PԞ}Y55a;] Cl:;d ΀:"ٯJJkR%zپ,FaLR|)(\9Oշ&^6a+dj51%rgsǗsŔ1ODQ)ӍH <#6R"#m&1}֭S@I˗ _mmmul/[dld hZ60^_S2xP3y ,#M 䐹Z%G#⑨n޼iy<իW6V,1̘:sUeC/~0!gagk1~Q}XĘҔ*iW ZeI~jb_WOOҥK/ڷ5BeGVXedc 0moo>+b|N'ޮukk >IZɫvommu-HONNJ{ZYbT>܃Ǎg]ؽ{0 ~m{{Koɉ;wΞ=k۝1l#擘|nn޼iW\ׯw agm< O?O9}(-zi8x+|g H9y֡L{X캑fg%>h➝CRŋ'#F;S-I/"J[X3k,GؔFgK\׈xɮז )} G?j偭H߶'x[[[Q͔EII]_@%f2L譪FlbD""9޿~3 r~ov ~nݺei?3?c[ձ"WWvʕS,;sJG=3LTҪyC&,IVbQ 7VG%Jh*m[Q҉*6 ;Δ7)ؤ;O"9B+2@˽"EjLư%f8vP, ,)QYV>6hO?m/_o}[Osϋ%!2fζ۷o$]Ub>G E9i۶k>Ovn^dlڿommd23};tʉ@/KUOkQIr f|fr¯tɀJKMgkc F.;T)+JU/ٵ*:T|ʔ'qxs=3oF:YͪH>1EF|NT @acOuG2v-NIv,FW\kl?RXGloo~m3ӵߋNҾX,﷣#xZxq6@+Oñ")F2PT $oQ2'h4:U``oi-Kٱ|+oove{瞳5i])/n't쩞q@̣ja(l^a/6-5QƐ kF$ Kb*'FDR -ʂ?)}2ö,TLK%B{aE5c`is=wv1f+Àl23cPAHϘv޶W_}'?5vl9@6s{{{v||ܩ"yTYfw=zd 'kTX;j?f d~ܹ{go{ֺ d(VLe5YGL!:S^0T|خ*c *1b,*wTg&ͮ6LP`CV ɢ}(gsP ήE,{("SEkS;Q\1+R۩ߟ^sXV죣#q㆝={n߾m{ϴ7I`0W7ML&kG3`OH z!SQWՂ !2OH0F41^rIpHAeZ:'> 33|ݸqwޑ2LZ z( 3"Ch2KUp٫l3$kd=qcc^D{Gb lf~Put{U&dL5a@3׊yE$P lf#tdgzbjbk !+}h=+rxl/BbJ7Vb2p8deʴ%[ᰓ$V2 $6f%RE6W2'~^Ϟ=k.\{7;Ne P)5^.1@znWF*FR vFTV@hem(acҵld2RXhD,{`qBL=6eY\ˮ7+SC<X,JfMSj򭹗d2_|ю .B{|H>8Ar4_mmL*MLJXhFkL.@6zf m4h׽o_җ3}k_Oggv9!gneRYTIdҮ*u2YK˷bN~ +Ya!u! }UaQg`H d=J)b9Ng 4@GPtun7.^e6FßU3TnR#qv<ӶgO=mmmg-t1f}R<y{{& ^J+I"ֹΗ?^ ,Q{r쀁'x^|E{衇LB9e R du~OsibZM CzAe6Ze`[F&(@)UIS*޸8TCCtd@ zV1&BY[QWF6ͬۙ3gƍP }>r{{1_{7@Lx6?JW1T1Lyc瓵"e,3:fԋD}/r%ZJh JzwԆףJ2;(ug2ݱV\׋!_1EC#/yn>X,#agYdbЇƍkB:HcUjYcKjJFTm|1ͤHsu[hL'V -(X,]Lr7xl/b{}??k׮ooޞ˶MQxEa堩.ĨU[lRL"CXanjfCl P˶&z,XCb҂%pDp]k:Sj-ՀB$>V[6탖(nX}׵DPQ(иbgص0{&Y_LqpJl6d2PBqe>s3R`ggg'<5ߍF.aWdRP:4ϑԿF]fYX,l{FEĄ l6|n=}SdrJ) gFeU5Ra*P?/1̪fH*b)~|B2&FypdQ!1:eg3|KFVzoF?܃ sGLzwtj'tm-J)h9˚{k֞ɤx|'i ]^ R,#N,\™#`h\[t ׿1NW,G$c@-|}K?)$JFI50-vx \`VyQX%:+lZ4(/VZfYgϮsUa4kTLߓ$&V1+HEF"k%z_1@dǗe3)#|⻽9}??IG8ytgݻ0M@V+{ld F>h*G*UZ1vQa֨JՀDfY4Ne%HEA@g!3y}V")YF"#Ο?oΝH*4je zVL*jdJ@xm~_F +t3fҞ¾p8Fq e(ɘN="'ROtpWʷlf?vxxh'''e ߧ `H*1Ʒ"/G]fCLҬ GIzTKV|slD_)8AcJŶo*(NxE_0Dfxum8Z@gQQ{>riB}N}xv$ L⯻]oK·aGO&f+[o׮]GyX[b^VVWGt@vla0 QZ KLJiY=`0c`{{{Z60/^W_}c9X,$VɻjCƐd&Fmd"KU ڷIz^LwuwgWj%kuw%Y1 8TN!*I W.B\I2`H, !ec\_*,I$k%Yh.gwgg{9mRiwg{<K=T3ɡ{ ;{o[pu3wzcl aDGH0F[:~4Yw Em+f)*ZA Q3/f("}  &_tݰIMdm<odFbe=1phL̕kVr҆@#DvXAEVg%333EǝR<Ĭp(PZknu5=kT`!91/[V2&z-zwYȝO8A:m$Թ4x/ֳ/:Ts:rأ^16[KFs۲و>oǎbit۵l^/C*vlIHѿgA4-..J^/@D.?~\ժ/ t,{Ɋ;!(aeBŌ9`5F`b*G#a90 L`0a#; /{L4&MX:X/y^hY>?j*^QwEo=^r4$u>j:;ߙZǠ:HUt涮M}-*"0֘7B7/ckj~~~[7$gSW۹svmE{om09qT8ygzXӳb?bM#*x뒗D6:r3qUĠrrΙ5#w,K Y]=Ǭ9SO|܎uTG5;=a@tlT99j;X'ti_YY)h7| Cٷot:D`Ψ췘TyI6 Df!Hl> 6댐8FR&hW*׿.Zm̘-4 jEtzut 1:3@ze,b ڙMtHS,e,9k$XDl@wV$h; \*c Ma(J-uXZ((&gh4Pf@g??͹c}D[(Q ūEIVQGC aD@ב(5$ۉ@kgŝR mzOȍỵgJ`m]Bv=QMbLV{k^g9j8DB1;Q oMml" VO$嫬^|Fѹ.oOz͈щ>u`LT2`& Q.R}nTy\/ j9Xh$Ǐ;vHߗr-ar^[[yG^ˉ' 1tNW #B˼ȣoZdk!ԉCs2uC=T01<oƨCBvSeӞU$a FzlfW#t!@C\t`y 3h>;>rD /\ ̛4gC(:wWN)}-y߸U%,aQg3:gULd(:HܐTe whb7h5* Rf @A-}Ա^z6逃݋-1"XgQ` {p,s0UIbl6x : @5Ge>GA?Q777' Hd H?`gwɄmh&fS]YũW'p}s9]#$2g`wP=٤R@z>ksya۱fS.\msΥwy6R@n6yGdkkKq+5$ZDіb[-jee!ok msT;/R)'Q܍։{`9-<5:EyW I`QsʲO"M s$zm3mHKF{%/Q(s37fqR.u/Yy'n.ɗPr؃*Y4.ӌ `dٹUk %B@ξ-¼ X.ɰ/P/EFw%T΁&0J̼C=Ν9h{`aHhG jP!<+*JXh^!l1ұș:k98Q='! Jه<1 nW<Vc=W(H]zێsgwϒU":PwƘ,c*/3~>nZNOo4BwJl5]ў?V= {nޱJQ0XM+~rQFQDz퀧ڒh$nWt:t:&2|hc"03z#uvEgBL;{"z\`;uCqx>`;G^D&5x h<p[X#GN7[zm^- ]e_fr;׵p( 2 VITv} NU""ERfQepdw[>ݲ=c-@a];KmhވbT#)BؘaB:h m{3Kٚz9r(#x gF@ur}kglD?-WTyE(Di1%+zpi;zrџD{!9IriiӈRڜS F";SM"2u}"kA닮>{E.ZS+ҽ(1aܑt>z=9x 8l Qws*M*ޖFl"Y#nا!{& ͚$8&;X?TϘZjGD8KU*jj&:Pi׃F~>]w\2W_^zIN<)ryb=l0 dS=ͨſidÈ:Q;6ocѬ_{06r~Cxl zH@hp`j2Lz}4Z5l,M{5|N /^Fߢ}9}'B6$6$0{)#Z$iQB%搑ڱ ΢ke޷9ʷ9oA+&Z(<9T1RTFJ,[eR,ZM@Ɋ>#qQ!@]f/y>JGGD9,)Z-4$#.h\8{3ҤP׷s& leϯ9}]w#YBa/z؈Γi\<]dZNLV51/G%3^CPT*ܻw\q2ɓSO7vdo=\ <} z%. 苺9hٞSl/bgx;:X`AI[&3Z(Q0M5f5kkD}e NMFΓz|d<K)ҺT42Pk@Tm@D2huMX~MU=$ #ʴƱ~/JENuX!}tY(yTFlSiBț:'ZQ$g?ֽ:^z?bC=k2 ":Ƴ.sD]F _Ѕ: ~6`8*>YgJ^Z E׈䥊^-䥋}?X IDATmK#@>,WWs쌱*9ThuѨ<cjזfJAg/j^e\ Fe{4e י]NصW0JN{ݿioPhv^%IeOwL',dj9+zп.A7ֽceeec)G@bS? u Ave,{\Btn<9Ig4l%G7{XAmU#_Ěb1%63{$zThZ"gCj gt lBg,3%뮻Nm&H6664ۓ6c$ytԩ sq=jgNIv_L>XQ}X3*`LX̞P_w{-iA1J7j:yge,nm̡Iy7V6و^]ױlGt wcV. ˷ _V/u`ݖ]vɱc 5;DuM@D*@h7C,Y`֝Œ`oAڎ̬͈|Yb4q]"23SvpHӑR$7po{kkk /3<#@K:ڌ o6x]C&}lm+FUa$ CXxHQ7Jh8=zt}D؄ X!4vy lmG|lD޽@G5^Ov޽Mu>DWGB^Gj,!@VGPA]Ngk; uX 0O3򆶠NۏJʮ:{@XNfQǚznonlb=;$P`#9-_.cǎ?.2??Os;ux, M%_<g YB.ޞ'99AJ(~$Y0kz(bRěV62r?{J[- ϮՔ 54|[[5T*K/D]]Xx|ߐF*UWm+ujs,QctOAw1ᘂ [M荈d I2h4v-+zkqo~qM;w뮻Nw?.ԋDX#n!(GD.Efkeґ=$%*(ј4A-g^Csp"_Tۤ!Z=KNP<7;r,tX˱CuOr0P%#H{=ApFi=`Dc. ٮDe~ t#HekDvlC/G~X1z֗h9$K6P:h}jWTxv/ZҜ={=yOJӑF9h?:g~bV q=wsĮ]ABJ㑾7D}Ȳn8uA4u"8-gEg@d=DւYj*v[nV9tP>iƾ|[ZZ3gŋ~d߾}Zȋ;6a(ZT]Aia; 2$$u|4*Qd;Kom V,KWד/f/^~e9t萜>}Z4Mٵkr-*7ttM4: PG B翙;c$].(c}zbT`1#of?GLQ! zN@6\ ;1Ήs$ 8"]vM̲;^R1rgN/J#sfX= a)H;SsmTz)#c^lr4@@"#17toRh4h@V'ӀQ],C9Zştu:+g}Vx A Etk]̨˘ZsX=6b+rs  2g,Ͻ'ycyj!P~9M-v^o&DT[1) XzTפ՟|I6]j."" 77]n&PDX)Z46s7> V]zRdo7%hFjL4u?&6sۯ-?F#'?I9|+./>|X>z,QGJXMuD@gqh h`3,:Bje͒3l&a}>֕`vV;*sgj|v퓁Q^g[3Emgѿ{쮷VH(+GIK|1&:v<:S"M ={66qEmbZC&W'xj5&٥ mbm̈dׯiHFi0x鰠ϖvJ3sujڄU Q{;9/忔]v>v_Yxfgwjt؟M`\\Ais~oQ9VS0jZ6nFϱ)??/G-mF!뮻dnnN:r֖|OAG/BҢ%G0hN%QQ?+XvtOX^Zw0r,B9N^߬}3Vo7Mųc=c頢2#\'kE{#Xg6A97_ yz`Mh 5H! tYM h<(XW;">'CyônDE^ rgֱ 60sR>777aWrY*?^JٳGAa1;;~+gFFJe +0:YJ0!_lH BP09mòt"(a;j)lmmIݖ~/nW.^(Nb 6j E+Ze~~^lJRV%ZMT*V~~ښ)3WDF,n9 fhNKNsvvvcƜ|Fo?_*ܜ'|RqYYYZU}N/,rh#c#"0}Q> Ί'{$3V\xcźz`bX-|Qwиb^3n(E{umn3iP8sG,t&x|hr9ԩS3H\.KQUp0b$z6'cc9a*h Aaiyf)|v̈Ȉи{UU Jx<cy~^{ʿwNn~?mt;u)sH(%٬D%9; ZԹ޼6|MٚVQ皆3_eMQl Ǩ@8Qٵ'7;DCN׉ ژ3Hm ORw1'PYbtOJjB{<˅ ԩSvnuvtMjVښb<Ғ4 ;wbt%$] bx=SL{lE4 ,FntE$z0Jʲ=rcHk#r$vMoz8p@xFyY+l:Ǒ%1eϨ8\cVĤ$օcWz4k3F9(o4ĢlHݳN.!(d՝ilA&rYfggevz߲|k6/w d aNȺE nسkKwl]ã!MA (5I )'`t}>33# i`0kFJ?~\:4M)'>!GSOɗe> w_agIhWte#xolbϿ4WEbD)G 9H].~tXG6B}VHD9 |ӈbˎ;`%rQQڣ(0P]#!I^*vgh-NGlnnǥƆNC\f gYihԍHkeσY ujܜڵKennNt] :9h?y~xcѽf^^t?Rr,Π)O`Nѐ|P?^7DӞyrF9p4us>䨒Îeyzozh}wXiD9cjӂvs^0LȇrY-d5b+:h$b]z^}Uk KE`0z. &vz=VEaDJ wVh@',ر[@!ED!z=A lgl iSWvFêڗJ%$"}^'h$=F#_%cɇ?aٻw|CnAoȯʯȽ+"RtUn4&Rn> EQ:au{ʿj= Qquc8{hq^8J9zk3+8Wɗ]z9ͺ$-9QϪ)**XFCz!9rHCaG:s^Q֢,ehj5SαFf^s 9ȵ!=0D A$?GE'u-)t=Bˀ'4 {vt"\ 9vD6+t.J=/P EfffW_ y fCVZ&VKT|'v@h1Z &tw-cQTj*^yyueΝo߾BD-Q=Oim07h Ƈ=XjwhϦfD,G`Y(Lu\.Ɔ;m!xb#{,evqȲX+ H3m%; |>ӟ+Q΁BRȞ={lJݖ;v,銦eٵkuY__RbZ@daM+tPk~hDƾR{z,=%mB'ԣALnM9}\~?OO`0ݻw˽+XOv'Z/,_~y, z9.Y!1OHģ3Ze!ޞoG!iPYD 9 y{8 6P6IY+ѼV4)DBll1o-SA{οٱ+:>1L# 9v;vLΟ?/333R 3MG İ39frN@oZ6E$Hx,+++rWUW]%"_RG=/n IDAT^.Ybnʠ31YoĸOzSHƀب{9}u<9yN뮑2=vGG*Rkc= ̨; {~DH ]+;{{7B#c@֐[􋈔fJ\ZtoOMS[Sι~-}vj ~h@  DQѥWɛHјiD3Ѽ3E(6Qsדus wOd.GM_\\]kȲȣ2F@rߵl%x֭^h4ӧOK/$kkke3 twQ=iU$T"W h-2k#?,{믿^.첂Bhh"ڊ4`t"ZEra,:WժPŽ@P$gAvz}ʱcdvv֝of=ݒHpf^1ȮYy1XGO޸\c;D *&HîY󐁥F@YȣoGX[ML8R T[BsgA q܍FC*ʄm̌ҋ\veryYZZ*t~~ډ |+Y +LY!\Z0{lHT5¬:qA=H "Faj;ҬbMc)AC^g}V*r-2 clmmIѐOR _|_|s;vlaH<̱(NQ"Q'79,|i"כ#D ;GFkf+XLj {SIv;h_urA9vOٟ߿_~a?/ wݲ%woݻwo ds,pGs^H͵ɵȈ!D 9: t"Z}47u#2:! $dE 3Do߷:pgl sōF8˵F6ptuF/h NbX1We8k&/lnnJѐb֥&C`9n={)"_> *,--x+r뭷 a@gms =>ϊ0lXOLƆ|wz=9~6F/n4~k[{#]lVu4⩑p^4~XAĺ|93.4(ey^en{lXgBzOvQcͧj*"tgv1.8؋\essSfffdqqQFQ1Ϯ'{!?z,E"C ŷHE*~Ot`og%eOhTylӛ?JȌHtʗ%i6r=֖}e<>y-X~dǎr…z JQQYh0>[BH0|u+JrG6[s*'ͅGvuۼ=:r˔s">7 a=J|y^?‰buuUZ4 iZRץ^KZ-`6-fgglܜ4 ֘E!DĨ,6+^Ve4SO=%_瞓J" nK]~2ox=8~n5E_ ,ʡzL,&fU*cT*}MP{1iZ;׮ݲ5ٖ~_|DnSXu9q\q!GؐY뮫I}b5uZq;@y٢+[!kPTx*k;uFK32v(-i sҒ|C_z=>ٷo]kVoʗe9vX~WU~Q6?{{ y< l&QCZ[5 #}r:Y(CY4yV]G3L %Ib)tŖ Vy~N,SSly`U7kfuCrD|cn(G>{&ۂ1/J\-rٳg  d26D o{j]gS>knW~POe]9lK9XJ U`׈SC.p1{,.zBŘu޺W~ @r0uύ~`lmh/T3Almm9RRTF#ٵk+233#h$nw=͝tP 3zF8{T`l,6{oؠguSGd"K"hooɏȏΝ;廾-oy+rqܔV%{+G/}KjafYs(Xdź3Իhl?QNJd$ęB{@54"2 t9יy٦D@.DN6HXe8ʞ={deet#ʣQQGs]d^C]Lq2h}~%DW_'NBi}Z~yWe~~~ۜ>K=UR@2|x4,;v? ;hcNnNW=jXɡ8gRS=:8]1Գn HDFFv4E3VVV.++Z;1@炗xV%^Oʺ@:رcr 2;;;qkrO K(Q ܍ -(R{[hYVy`d$S0 biF!""><rWŋig'G]r8-@%֖s19,P'9Қ9w-_js;+R󺲹6}i*{? Ӣ"+#'@ugJ`KeH!&;ٚF7WVVn|3)JB<'ʵ^{]QFQˬ:"y ȣ0[T.RF<|AkbM`GI5:,//W\!;w,y饗… $fӥQ"-`9@(Bs#zW1׫(V,b Mn\u# Q?ml6\.C=$?u]~ؐmg4hsҎ>5U<*:ގjDthOymPv-7|pۀ833#2I$C '#G?_uR^\\t;mnX4a v%2{ZXxd^7Bd)t}HS ft 'g({"-Hg"e:y`JߗY馛&rdz{g=%dTݮm*^}:fffܹssIV+tAs3p3&#l/#ʳ]D)f+،mmRH(;#Q;gs04w~~^fff+_|ܹS:D)^g})6k`<u\ע9 L4s{:/D.tVy, Tv]yӛ$Nϻρ|x !S "ƣWF6]H@zb ٸx}qXkO٣G ?ص_YlE{̔7*jUYwuY{Zپ'ձ=q~V.Ͳ_)RZp(_~<2e~~~B5"VQtk$T۟ AX2 .҅h E^L0 oeGef>.\J&::R`ߣCE(Q!Da:0CKi[~ο&;^cSr͈yȭvt"zj=K‚3kiGr gYg} h"kI'kE~yrlؙo񸰏gZǍZ&[[[裏?/fS93'u' >b@hw$ئ_Tgiyy "mi- ow|Q|a9|fSZ_|SB] ƌ~V,<JklcOnŰi+WgYZ!E/&^ckkKNiU {fъs΅㞣v#!;Kq';}^֔ |#"ڼsPagN Ą>HK< ODSmc=}+}K_UiRT4H֖u9z^'kkk\:hp8,l;ӝft'&20t%bԢy;=/:H3 $`CmjӠ$*#ZWi _<"pf Y:ƨlҚthb# T3~ܹscu3ߜf[t殏my 7Dtov. Qq{.g z/,:Ga"]7>hX7\d xR.]g YbZM>;ZF}y J;wNVWW_CrhL HREtt8}ۭGoKh9b x&ׯog7;!ZC-u,`4*jm q11gl=d6Պd[0FQзAu?ѡu9ߨ̡OY1"ӻNTly+D@auzPr7u-֐^un7ABu΢b#m޽ƨi;=N &k#GȡCd0zb3b]|j!+[kfiguPcP"nH9/;^1Hg:9g{K}7!{- iBVu(ZU"ȡs Y fn_:ÑIfo&Q0pײr`puˣzFٗS{ iϣ=!1j6rh>'Ah[k1<`0>bwx͍g:14B=d66+"{*61({>z]H$-Br'SX MQ#tԙg;yF, 8b}1YcKJrUBNGI(# K-Ђiаih9Iu QRĺ99<޾a̎wɂw=D YBJzp>WC@RNcNX`bxVhLѴ3<#?|Q'.Gկo#|W)ݵf{k;jZo﹞cl9aݣiQgkd#777' WW jɰtͰzJБ&W ~zlYtw+*K￵%wutvi'4c1}Y2g載L 1"9y/r`O{V`hؽF gt{9PƔ׬COAd(^Q*̙32 ]w5yOV%yy'Ze~~~Byl"Va^@*`^r7,..`0/#<"Gf9 tY-ϐH(h$ xQPD9il"蠍<$ jR獀t?=ADCs0{&GH**/(zdxA慽fNXLھGKT* hQɔs@;C֥lkF!nWT*9uZ-i6 .Zc-;#??,W]u:uxHfgOH.c}mKLa{1!a ;fԷoDՀJӑN#@z^ov{ !dtﰌ9şjjkOdJ#P2Qb&@ ޽f,zJӪ{ݏ1rLk/Y7SQwsssr &Ԃ:bV ACt&1^45C_,ȬVۺ랸6)Ks UU"0GϽבGY9[|Ķa \U8>Shܱyʞ={O}Sc&^ٲ33ab}wzn߇1R"Zu:;4cȮ9y%bE"Hc]Dhf[ǘ :7Qi۠dVմBL yq>'FB !F=`5=1nt&C dG 50oHfG0{ٔ;SΟ?_4KRQlmt:mv2Y=db-*fn4Ógvȥ5뮓]vI^/ޫӧ駟R$ShOެ"vV-r: TAx`>vͺ3EX;k;g4ugbfz$Bs}uN9sŸ_tak[4ǹ.6`phOב#Gd߾} /lC݌bǶXɡ[cM2<=*:Sl]1DZ@Dcy69c9A7Ɋ~%tmV?O7,X]Pe3ˬCnǎnų+"ve~~^Z:uJ E`D]f ڎvzם^6[dDәfggetE.G"YI$(L:I A Ūk h+&<ڃpccC<(eǎr Ex7#aeOɟHk61,Ezf }I;.C7;PHY}3'gd=\.f'ON3QFKr,GoQ.^(_W\.K/((@ܢVZٝIUET#Ap(wq\xؐsIJJx 7?ُd:X)Ή:,A6Eپzl<KדK/,2 S+>eY\\]w%z]=*s|_Gyl9`D?)VrAv+2B|X0 q!*ּhޙ% 9uҏKXrjrmmHNYM#J%9 ;@AMRHԿcblY2NeXpvନwW|gItO#gϞdzh0aKF =H9d0C\ߓz.x;/|AoVF,,,;NkVIד~Zr!9|u]==/ʻ.y J^/PN4 ͅ{]~N}`JtTLWtGl< ,(9eV6,C%-93,it2r(eT*Iӑnih 4P(hZA Hڎ94D&2^R` _e<BQk!0=26 5chH0bJZ <1hu]yӛ$sTUy~ kqfw/ڵK677W~Wdsss(]$ ur펼0dI3=ҳsNy䥗^t:~ @s<3(A#5휮=c5]R7Yxi6tzLrDk{r Uat~D|Duw6aFyp3'wPpnfI@bGRg.9k35i j>نQjrR1]\_zӧOٳg… v ]A|K=AMG_inQU9DѷVyR4ggg'h2d&nSD@fU7W4!ڈ=4dfO/\}r!jkkCG?Q_OO~>&_*Hկ?q+W11#}%1 H)Rzl!n 頥i=(e[Dd獐5ۢ.5}g8B6`[TH~Esi9Ԭdɸ(Qnӑ8 ZV"z]Zu(g1hGXA|S8l-Ϝ9#Z\% b=!HD[TZrys^gȏYSooFAg+FET䰎6J5ggѹ(Ek^C`0.lÖo/*3?zld?SDÏ옅=5WlF1,,uWX{F #kʜ"?b!l3cG8:b"_mcaLuǛƳ1n0LvZ7Ͳ6`Vp(˲Ttz]d$:K-f4JDZO A5[ĥW*Bggg ڇv} qEF4f-]nF!e0ۿ[;dmmMсj*nWG}T… CYQ΂]"̄9^DB`Ey 5li|ڗ,Y@׊hA- {τs 5,ױI9fBtڜ J;R5.//z=)y^߶9mgXa)"(= N{΢DʍFCoȃ>(PaxŠMp#e\0%-C `5]p8+R׋onnʕW^)RS:21mh³pDM,=PN/$MXOٹ3|_={@YVG>@ȵ.Fgh:xebpL1 H݆e e6xNHc߈,Ӈ'`'=ld;}ẑi+/w:aaϙ&b0xb: ez֋=kcg΋t'^׿)p_nWz%p8TF#9y4MYZZ_|Q*JAM@jt6I2dkkk[T.L$k0ekk\?{>vF&qN\5\G]jə3gӟt1PT#u]rw-[UEu: poC؁KuE~YCABoc vc-4˂!r]Db#n$ !$IrhV6EI lx39](U̍PQ¬}}8p`[/<@O#&tF{4ܜ| _GkRѾZWLׅAT}@ niR=vX\r9y$G333riϦE9bT*c$<9[F"UJaiiI{9?Cٷo_XbS k@ю:џ3 ܞIXGV޻w/K)i<~bqnk5@>&\Y AsOz>e9a^QQ{[N% 1,ˏ5x.m@rDK9R=;;[nwn(:;wӧOKەoyB=]L1!R u;-h*mpԇ^ەs9??_$")ommxM_YYGn拭؊F"eȘ./ό ݖ}U曥__6?9{J%9~w}]]}Mۿeii]Q^P_ 4K1ʢ݃(=?qA(E1zMlx{ZGDc24G(6hO%EQ♰wmdvvV:۱%asgVyղ\ lA+y16Ⅶktxe3'Q"r =|!haU- ݵZMeqqQԩSO~RVVVBm=eqqQ>яJٔE__+"=/XN:%nWΜ9͆[Xل2GGڛY^Vݗ^n/=;̰R `LL*U4 2&)J !T)qK#`(Q+QA,3߾|?{9߮~>=9yĊ ۡ__122r)ikEžG!uZcbǘHL<+{]]K_^%lr͘c+/g7Ơ؏\ 6&(iKJCcb =˟ؕhXy|6Vl9XٜP2,dbI1ZO{B_75]N(jf_ȧ!CSO='nn3+$X2q*Ktƒ =nv>Ǟ={8I,--aff&A 3Ɗ IDATV {56+4AΨk +D-0o.$<>(dtB!^^XNQvxǞ9b^\&01`)9;bFls-˞}ZGK[YY89TUǮ zH+æzB^V걺er;G+eQ5"W<': l%Hr\W_a:t7pCndLCv(˸ZСC u,1L~peaÆ 8vX".+Qv166mڄj5\꘩Aسq,>N#F^ǀB|3__bӦM8vUgłԿ=ڬ'e3W/aTXCccH'[~ҭ'@V[1zdb~ּbvl3ߢ3 e,4: LiZ|cgGI6ct}Vג.WV#@4y+kZK@WROLfXi75Ly %ÇR$AG&(s)FEAILJ@%5FfG?d2֭[Q099EWpw'Yt!f!^ 7$}vhLV\.^kśd!J%\tE?NjG嶂{Tj IgEgE2XSȹ0buYu:Ed{s3$HfBma%1ZqtkxXRQc5uuXg"gy&N>d >7v*/ulxήÕH=e^sKXfjY*[5Uw~6n܈o|/7V:Mu=i#v:g^w-ǍRIXb9ԅұb;CCCz###}F0v܉zJۚ% PYJV1jٳ qbb\r <WU<ӸK122B%g^YjLTW[>XID;X0+_ ?ZtFY,R,ok[LǢgn`cSb!֑Ef[1b:w,o8qg5˒ikyBb2E eJV=c=G}ccc}4xa|5kNYw+L,/9ӅdYZqꩧbiiuKLm]Wٜf1;@Y֡ 9U2%`bb}i g+&Y V`4XXjrr?pcÆ hZ&{mcŝƽgk_8fW9lXy^F,fb^1fkkb|;9Ү?9i ir+/kR&c똍2ZM0flO Wy29ͮu^w޽{uVn'tBX~=m۶>I{5$)܄ћ@S% .%U\RM馛𶷽-EX6:t[H3ံʅ(,Ks: 3 z1 oxJ~z8q7o^֌ny؞]-42KYqu g;C-"]Htg.luW6n{<< B[`XVfjPVqYgn'T=uy!?>4uז)̝x]TB(˸{0??UZFxZ`>k^-VYOw#;*}^)uWPӌX?F ضFVշ֦Meta F>ƙW{SOa߾}xކ a+`iW[iGEU=U:j. o,/=V֍*N*dk[?PtVowKYzpйb54S[v(Q]kQ~n`b1<Ә@Ijlx[bjj nvJ΂@ӉF. lYNgw`L /g?zj*122]vѣGVD筇$LH~-P[kiyp?d+ T2Di\ 4fff0==VDAbffsssFA@Ӽd;nUg6m a LmFbnmt bv`k݈9C n\Lہ%Cj(CcNzV֭ X ȭ-Poߎ;vٕJťyB yjY]y2T } {y-6g%^eZz*~guP<7cbh 9/}  >VK`%owZ`Upzm[kh4p7cÆ 0TUg;qX`ga1ps)~RA^lݺ5ڽHk [mu's,˥`-BEl0 d܁,2i^$s&o<%&hyW[]S#={m偠9 cu3P7l1^`YVWX)LB^(GU9FY:H2 dI6j%/yI߹|h'VVVVQuEySD;b4>AC/- Cτb:M1 z]l՚KcMd _,lOhNӽ=:;CdkmK4MĊ;zoh'̰7bJIY^mb'cyW%\M6CV3;eB!<{.Ñ#GL!ޘ}:{4E׵;n0cb|^3&`^yzK F9Vn͵DYbĜn geSc|ٝZ9N-V=%sAcZf[6ʥiY鼆%!,bR ?ϒ Pv\.gɢ7L2<3gfD~O0y+?$AYR #'5ry)FPY5+9i&dM*+fpc޽شi1>>uall,{Vi~'V:̊mjVlǂ``M X@Lk ^-.ghLL[AV(m:gU04 KY z[V",z{E+6 3Xڄ#Iur$m,"k\%n eYr-(I. XWqZ)k bh聏VW(PV1331W%cG+m,IŲ]+P(```3335Sj,cUXN2y7?b]w֭[1z&Z\v<扗gĄ0xΨV)Fנpediu@=$4 b(g dKc51-0U;붧H35Ӳ-찘hn\Xͣ;l/1KXU,? h`;Talhh(SNVVVn: 駟N[( zFL,' q6#|`Ch"νDcMxH`ɡ LW=,6z8=Yn[nE]|Ri-j~.)BQtɚeR ϐY:9=ovxTm`&N,UZ֥GZIDZ\S ^jŌCX,b瞐-1-24 |8餓3SZvO,ƒR6*ݵOӅ$Htp뭷\.{ K+85NY_QWDØGօexq"w-}Ⲋ- 18Muw,Ji}%eL=MUu:@^{-FFFP,i14 >3c15jfc1 Ȇq11+ SO5EA剰^vLJ u=zV1q/3͈ )MGb"ɢf24M~LXoM9[TL+AW:z#M', *V;FCX\n Ybi`^ѕf{ =.eƒpbu\!@0::4v,D}b1zEŬ% #\.f[h/[^֮'< &vny1 s^']+J#&f-ZiVt=ƒZKuc 9d*1k&J2fq&}gQs"DlN;4,--OGFZMLT ϒb5eP&~ټUDIBbFnי(,{ZDtS/, Tx^۶mÖ-[qFLLL`Æ XZZBVK4kh}i;Co=ﵠS',y-_k={򅉓USҭ/y "R`,ѓfV7ǬϬՇ2wVOwٌK*h4pYgR0,(iz*,)ycx@b%w] &DI(~lԄ z, V0@!}`ee%cΕ4]n+Q4E$g_.Q,Ys=5@T غ$)D)U3AL?Yy 6'־n 8֯_*{B+rc|C cٱbPwcEDžZ6m2+҂>E=FN*{o=g=uSClg.9i>(v=PH6$ַ0v=V^լd#uިn˦em$oKG4ɴ "u^ڝ2MLLncbb"i|VL&$I+iJ7(,1h>r!i(Ї C̪Bo2>5,BZ %-͠"=KzJR_a?00`x.>,f4LGЀ K< o^YXZy Lċ1X,8HIC) Y0dRf*֡#t`fxyuL-ڣ5 G"6HZw}xeY4 s9ԅBUV6Ԓ52Rf]cfb 2I~NVeL)wLP2V[KYW ^x!`g?UOizްNwϔeu>z_TY:mGiGecLap X|SSS Bz)ֵpTƛ͛7cJ>|8ckqqbu(5PL,5}hi<6::4kiUX3FϷTyi6Y %̜otc5,mݜr#cY2j5geJ23 Z5 ̚Zjȼ5mp r9ٳz=7r6\LT6dΏ Iuu^OlX;P @(Q7M*Jytgb ѣz0A/[֡!˿ yܹ?~s=>aIjiZK-X(LL۬haB4CM5A!:ed1Z+bz2z˵Z!4|l!Pjom{u(+[E.2>HlgL_ Fy}jqD",cY|z뭨V v-?if6`uebɤ177E|x߈1jYiGg,I={G17FF4ttˀ\K :sssPױ|#ֹi]'>,&Ƚ~z?sXAzR1s³qX5-[$19Nx1+Z\ o8꭫Xe(hgl&D,&2("A}`y;hz=Nͺ]ҜU=>zdu -v7n-w+,eZ͐4Ll z@f-{f&8fQ@[fkݲ济X XchcY{!b7}>-Fo_cw3?gZJRg)jСCCűc|qvR(¬꼃ʹaEFRtNJPUD.0RwWu) 83 '6[U(088JjT*iꞕꎎBR(ZX˳L=ѵ~$3қGg&5ӥAHQ!-ʙG.-g 챘V'S?m&Qqg:8DMsC53k46 ƒu, x| IDATkyU6R)q`>^3oC.sJzyٳIǠZb߾} :2>Zi:RS K]MZXw1*}[bv:g 3=p?,o077*=| vxc00bpY3+ zlڴ*1[||-VXgkx3Vj UȿZ-P(CYgB&Vt{biθ8oYfy֘ٸԩ`O]++ڴ+c6ˊ,V{x]1^Ս4" 0ПrWכ:~Ԏ"MM="ksr۶mCZUsgX,bjT* AKv hյVAŚ֨6׋86PMgz"JLLAQɇAB,gMmxfǼcdl_l-EQ>P4.24ZaQ{=gH:\Y8Xx44ttvz1&)S7Mرr&YMi-h HY3zrTPy __'aĩT*;H viH߿bT4f_6/Jrկo~3g>?<w[ѷyRcBŤlB-~G߮jꪫPQ(P*}o/JKayJ2ۿN:Uʳ<({‹z'ި;ǭ❁|k(6b2 LAfY1XlkjZ=&}1'7z[ũ#Z9]p_ZX^c +.XlNíX }fl=f  15ۺnfݱ;V>^2天hµP(`ii ۶mS)㘐wP~>GXL iMw )(' #큮[II U4ck9f}Hc.^CE,;={YSкO@xbrMiryc5X^^>8 ?\*Ppر#{%%k*T֋)$ PbdNC!IwI9ѝQMsc=Tb,Ak= rc-3ZSbf:OV^t[ aD{]^iQZf"=OP.Mluc>^:▢5*<[n100-[ d`!k2Y9޸7襬fZWPc=i$Kv횆>Pk?@]f_**|jYK59vF=L,T*A5Bu~% %Xk^Qn:z=f@5͵HV.W\4b};]a;ycTȬb1OY$φv2pXNiy ׷fkb"O@Ǟ[C+~>,<ãO,߳t}Ҍ^Z:g!ѹELcD; F}D崠y,(0 G(bdd_~9Zr߽ɇ<}]PHhγ`.P-;C,*9ᣃN<5ZN뚻2LԶ̣&nnC+d u:I:P]Eb-DEHϒe !$ bI%|-pŢrY.h x]~&j!^d!j젱|z-1NCX̢DEL\+d% R"M>yfl6B_صkFFFn5˘&q_f/:iuXiVVY%7([] )4dĂiX4Lxޘ\O,!0ƾbפ R]T {_.{n<رc>?Ąal XoU$_O:W`g!ˊ}f5׫îjX\\ `iiiu:blnRyy^ G:=ki[%>5Ϡ㗗sYL?JA6%cʡ4ӄFG`!bj%zf*a,Bo-I{`(I]J&Q%mpiNJ<+# ^ j!k,GMcׯC/..lOƦMpcÆ jl?KCmfKKK8|0q߿wF&AZM~]Fk*֥:iWyIVl4=cxSo۶ot*4dI$8Mו ecnw__.=cĒ ǭN5̧GoF*=@:N$<nW1%2ReZ WKܲ-agfYbtѩ˞ }$//GZMA+TDcXzVkXE!n'얡>I1V3-/zorr7ppu}⶧Yo. 'j}<܋Bfs5c Zdci< XFb1tL3aYL6][1; }߳D[V đ\|t6ۗ?ז>\^khY k=v199J8D=>Xm FlvD$!^cuu46İnQq /Ď;FHF?߽"c3tsz8׼Gŝwމ{|>DZ*R9M򒶃Xȷwkn!iJ}^^%cfd=Ynϡ| 0;K^GɗeqHⶴGkGKiV{lVDK18ƾbqV3broQmi*1?8C+ٯJbvV*|4hd`Qr/}Kx׻ޅg},ѼάLZ(VbQнI 5/s4KH0ռpl$yc"[,`cYuF{'ܝf}Z*^3 c9.Z[|Y9IؠAY1<=(ƛ呹\KKKKƱFhflfNj^$P袄ٻy5Uz= mۖFN/Njz|hwxvs8̳^ot>2 lǬB.Z}&zs+~Φ v[oMD $mh:ȁw0z(2zCy_W]ulقiLOO'lX}X CC"ַ//p7{xe;X"YY6^%A젶FjW$X2izE[{3/c$ wtGwcN:ӀqlL-63u gm ȺD`q~{Icĺl2hW ek,)^NՐPTP4T6Ʈ,>r`u^ֹUXk\W\(ȐIr%Ӻ0k:qb5Y<# ӽd3Ƞ|d,4gkU25fi{Kݘe,/YGH|>b>GɆv``\p}Ys9I1#Kh0@ Ѫ:Ga Ny:t(t/,,a *oێ{ lZ4aY׳b2II,uq dY˟avZm{>Dsv7͸_\.?+++XXXc=+{.ͦ{?ѕ8Ia46*$333O} rǎ+bkZݧ"2* JR'|\.'@i@Wv~~F|;}.y^iQ-O^o 9:,ifTW3`~^g?dIq^'\1n7WG}- $/ӯ%8~fвyBCg?JR"&]_mx$~Z yfHЅM3D#2ZC*fQgcc/Z)(kda =&IgD[" ȋ}w<"yHY1;ϳ|I<sR @0fjYʄ^%PYŠ2ˆ680˛, ob१7Y-{uF3i9bZ:FO3k}zX'XgeL:3zb=ȜY8\M\md]!YCZ>f-'Igm4طojKZ|>44l6Çcll wyg߬5on^THCM iKZ' cnn^zN^#C~Q9M'𒊧THL ݣ|6gh4׼fz?gg(x_Dl޽x衇𖷼3338#T*Eu/F -eQA nFm?~<4x'7:),//'nJ[lIkb`ii)" >_"}Q cylkQLf3MPddk`-]*fXg]^jSN%"$53beOú6^".Ku7cAq|Ν&H8w:D|\KRT.j|;~z>|7tkXx3T'1VGh`O3++b`~֬;b16kQWv>EZ-jaYBG|o4ꪫP*p}ohPf Vl؞aCZ _FO5MG3a³z٪ZZϞYka] Àn5@XeI#j"ݳ,FM<6lnӀc55X,k$iFbl26sl}.ծ9:GŻQd=eC*w 4cIV ذazdƽhP(<_/,,`qq1 %]@㷒L[(>=6.;߈z{mԱch6zcBҚ&ߙe8E^B>O(Ⱥn'(`X󓓓 #annr O8sd裏{9rB[lI4(<`:bzk{1)%-{VM6+*'B8qك_Ofzd|yrFPi: r 6n܈V|F$BK/⮻J6ˎO:6 %αRLutҢ=ΫG{upitt4xckSϜbsFfuB{Y{fE2g -Ɲnvj>9+cjlf@WEQ~6mB͛QTpxpql?1jZ**K-!iZY]wA,&ٺ?+xnedx,QKc#?O҅;cj76n\OYI A IDAT|z|KŘfr:AlܣsX,3t„yK_`ȵ@ź0>heHӵyf%{f-]3gٳ|2Vje رcz8z(_W9Xs1"lg`:_3rnk9%=ޡd^ 7^r4.._bn^ЋDuvkx7b4RkUݝ^Bý^9TwNUd3nP(Bt_0(?Dg,jD&A=nut8~8z)r)袋p5$;D^򂑴?gY*r+AnF8qo==88YtMQ(044+vG `rmu]۰co)_G%\{&*PbiSf{Sρ2uk ݎ٨0Z/>ȋnx̞-Y+iuNK.1!1<ۇ`xx8==涒4rT7z_|@FFc$֭(1GYA֍atQ~3K(F7fֽ1j+y_ˈ\GzqUL1ج/ԡCjuV<}7T{"dBŐe=_g83"!@edT<ڝr,K. }p2.R\"(Dd1k65+_K#8="`\333xg8x`莥g:xj&V4,fggwwI£_V6.r<#X~=]fzeT%D711i\uU>a& />IuK% $ 1#)VQnͤ[:1q)Oz{qU)Ň%8 kZvA(d2<L>{>&"ƶ} ֭CTºup뭷˛fLcNSwA6&PgZ]H3c v=7OE\'Zl+x"i{:&+E9r{/FGGQ,n:p qE:?yk ݺu馛KZSiBQr> ڻdu?1'W7#fQ0p>z㠹/yfٳwNtBQʐE\ qjzF&5 bm6#R1Α2]f#K(!\1^LR@X,Ё%J/gѩ}AVydz={ıC֣(r99r=6n܈}aqqUpf_65*aQ6N:$U±c=O駟AZ]}X1yWU_5vgV8:>΀\7RϢ7mN3vi)^quvcsN KeZG,02cT^\]u.|ZCʪ,۴i>я&W׽.wVXUsfuzV%lZ>+}rCDZk7 _>yfLm*ulbL2xv-F[(iys%œp[ϴ uìubLyK謞4=v(} FdWAYL)6NhX hp 9DȅgѝA9zazzw)VfJ1,=55|&ڐlxi ,׬Y!ֹ*]Xby=֣u,vŞE4=7:g Z hka{rKa4E v2}!Ob@;:Ά0ƫFOiX# UxMd28q6nܘ4 8;xk>RacfJjL.Y­=,N:z. N(֬!:n*_ 6aL>X~5^x ~]d X͚1yÆ x{ߋw]Y5S+j4%rdHYarr۷o~`|Cؚ}fm1N7S߿^ wyΞ`3L'@fXEʼ%WzyUt8&,Yl6Zևz 򰰊6 |ٿ;,J,CZy {M=JA)[Vg*֥ɭge40/=*48#1v SB-} VFMͨZ`vf (9+%{]/.ŀQoMY,F[d, ڴ@թMcDVK=c(mٹb1ew9&QUX<&ޘ  r~~=M r6[sF y&P(RX뽝.F5 zڬ=iv4|@& cECbT[N3L8Zim` @9}OZ NRn|F!4Mlڴɤ(K4QSXC!!E?؜EG3r0ʅV7='09 = `!~E֣ZP_SwijiqsɳQČw``7t'Ivf& :^0Ԉ_Xd2(J;044(8Z7vx}|ysmVgRG aZE\v)Ur޲s e[usX»@ѱ"Yh`*hZNx Q3j|?1-fj2O-m{>xXju5g(JRoiX_% Ԉ0T<v,O`+1y\[Ets5m[1,41Zie``vWf YG}N׹DdF7=BO[#/O-nu5-g/[]49k= ʺ=9/%__+YsĊͺ1ik1̴k+=:)U0f3ԹQ% =6k>~8>YKXD^0FRkn$:,zlkV'Pmp*2"ۘ^ v|E{J( o:S9!A 7܀o8r* RdZxu=Ѩ8H\.cpp=sLz8CfI/~U@I1{F.]h $>z.ͤYlTJF+b~6.f6oL-<* b%D]tǽD ;=nJzN׭1zidSKҰr< g:) \e XNJ,xeZL?,|,-/t4[#y0fЪӌx~|׾M6]$r<ڱ~_=glx4,#p *aB`{XX g.HSZ. TW,y {$M{F[L2{埬7o)o^X[r14Yg}MX`t ֧vZfi& cvv6)=|u{nfd2"3g Z_(bNl6n6,y`,$6ߢ;ZW&g˥B^y BqLlZ dr3;d@#;zģ][4*ZW(P,W Joh6ZG[ao,BF\ƃ>!jf6/ycHzx )Cc9=N D׋V!o=E=FGG^+{/P(ӟtH2N 6,:Vi5PwƋŔQ콮k.KrU;+5+R&řL}KKK}wVbґIOM {¼r?52gt&y^ XZf99X1v%,bX1M/]TL"M#gui9Θ^l.2h=,PEk!ikfB[z3g7oތYj3% 077j|>bH q}CFb4%@vܫ7oxϺ.A6C{@T y<{`?2,2l%UAyzkJgYMMa` boY9m%;=J\y(}yʚau{j^ӨDW`HlTó wkI'=G%$Zњ5&ռ# XiT?>BlF0uӪ禥C~ddfuWxyW-b~R<_n-cs qxx M(Vu,g$|>rLg{ܲf[ >1޽SSS8tPg߾}8餓pꩧ&Ti=Il{}LfǢ[_Ҋg;FW41K܆א|ӱNۺl%έן%vyxu% >KKKh6غu+v^wL˛&v*:3UsM`it@!V{OQeQ-tk62>7>$Aji'AưXۣ8!i98 ٳ''?O}S?G N8DtG=ŰNNv nÆ ؿR0ZD՚ʹ/,jY999wzs$|l]w݅w8q*yj5x;FҌph0ŗaxVh] Ë eٹy8OcúV زq{&5=6bϴ^E#Gg֖I֫Pz?f{ 9f4^qٳ{ş{E@I9 \p4b E4JE4^Sd4(a 4 --K4DSNYEuQ ˮ4& jAw^ן][3i[)`eeG?WIvqnl' p_7/vi{ vOcnyV1u vXYY1 jlٲ% Vx@%كCZRvmux؞Q#* n12 Z13 4j*}-%8<zg%;Y.3nZV^p,4> 5-vZ,zqZ@Fjp@׋_&FikzΏ>-mu.(~Zu?3<]vgݻg<7Mؿo/aY1=7뼳 H>///-oy 9BNl-Uov5 lW_b?OJYxC֯fxt ^x]6+lu",I f̄d5@*{kZK?O}YrnC駟VVVO,›j5?~[nEHz!̨Xb_1abR]'֠ Íi5f6|.lLL@R(jVrFF^b =em'SK~TU\q}oR)adH+a~iTʢyz={p>Gbjj ַ011a&rZvPlxK"do4ذa.r8qb{{IP4KHHK!+zTHɈ%ƚqDҨ9jgm~/f@Eg`iX\JߏE ٻid ZHK4(bnn_}BQ}ߏ/| /~gMz8p?pB y]mWZ3,,,&k x,cj׼/g9p_j^c޽p7)SF'xX\\tgYօu&yxZqq],q$KUi w3j2vagD{e:i^n/ÄפazXָ Lo\a$Ĭ=' LjFv`miVp,clHYPT𲗽 SSS hl>///رcغu+:X5ger$?Ӳ*&2;Kط2t]4mͣc {l,@~֐TɂS`5 gKY0E,}(CR000V2SnSݖGoh胢X,n`H7 /ġC[f hU4jPJw5777q|l[._3EQ-c|{S,>b4C3cvQ]\de:Y~@1X/t=,y'W ]i%l}^'Ey睇0>t077׿}gյ bR)#E嬂)Oz)Fg~}㓟$~a|_׾5\馛կ~xߎSO=k Et'״fYyZlDɺ66}v,//'^Y\y `033c2bcL@~VUvmشiSF(=oh晧c\_gb/hZWPA$V{#FYֵ<񐍔F;<;XӺBelH-kXœYh|Ll }a<rYljS4MLMMo}+;Duƍzj*!R/^bPv(lU0xuGZ~r\6KXWGZVH6.B|­6mJvk}܉R ?166fiqi%(cKB6\]KKKh4]Fe5+afyk/K(R59&sG"̡1P54vWL<[(9vYbV[͎e(i׏rBG>ئ_֋L_@sj6F^BٝGڽyoo/i&oOT\ѵt[ /&=b %r6##)A)38)@oV&.K4G6#b{Vx{|YP-F&y&Py.F׷' i_Z@ݻqmui8jh4x;߉o}[?SELOORVu%h~'RҒ3dIcYJHRx_+gӓ4_(sN|{KOO+ #Zs'4YdA6ƬѭBʷe͢Z6v6,]hـj*E|>|Fuh,ɑa|W_[nЇ1Y4%}?K1bzD؈eckIchM^s)/G>|cCH(SSS&TC|b4TM00B!4bXIԵã>={tw]JbN-ST5P[Gv===شiMWk[,c\kgvdpС/%+4]a^hB{rDղ"쌽]MT?M^1E֬gl~]شV3HkkrTN"~ݪiF[c>;0evvO<FjXXXJjW+2VYA.^YJ+.5*kZ&Nl :|vkH/&;'i8g,j=]n#J:K7Nz1Kb >cbHx ]mnݻ<27_"osŋ_b,--azzrfFK%łۜjsssªUW W^y%ࢋ.BT" affW\q֬YC'EPl&:>YX i`5%KhFv_,HhM+XC!r.kRKλ|퉵E 5QdZsst6N lق;k^45+dP"#`\94گ6{b1l{^__pecņ 'cJIgĚח*.팴q*zQ4@Hիq&tKKKXjP(t%LYji;m߰uY*pchhhZ%B#!C P8knYСCعs'=,Ru011q`bbGqƒbZbii;R}/qՄ1]bA냱=+.0`w2-( EGScKy_2sӥJJ5"Y)鞖Q6Ŗ-[ho%yLUX2JX!w}Z*[ IƠ8߯蕥lEڽP6lohh۳lsss;'?IYrKڱ{nq馛%$%2i8H$}ƓbfkbR}}}8sNҜ/~}sE>_ְp 5{vP(suK;fYBuƠ1ncnn+J%S CkNjp !AB dوYMj$QC3=ό]W [es`DYGk A~a*cX<EjH_+-:euz/p{`,4VܹwygLtRQQ(c%B&nyIf퐜v2M#rSyJ:z]&ARA&B m5F=4ҩNf()J|iG'B/j^jZ/pnvZHSdRu5! cBCvLBjfGo7o>TD nVCVK֬YL&ItZ7!siw&`wcccwtM Oj!;:](߽тYкV[Pr^*fMjߍ+~V,w1Z&ŏL㵖05X,Kfٙz-ukIa(deFH},8BbB,~kkMۃZcSlbM)i{=:?xr9|+_K_eQ*?;.Yښk|ebwXDPkXnظq#R J}}}QcGh N ڏY!a~f ԚtOF h ȕX^ރ`Cs؈57t"|k̨&f5^,f)Ad+2j6ZC\k/Ym$,.I0!=lZ Ø孲&\(,JxZ xt:LLLj%5lbQ033Mo+[cf P6 ap::htR87ӆKhϋN.sET&_% Huec%"-6)iIVA:, ?~.wL IDATm G?Alݺ5'5 j5ea~~JJr9P.1??ŤQ xiѡЎbqq\r na,8ߵZ 'pxOFRcPb`)]Rp'ZӊKK܇)w8PC 4 hkYj#. ierxꩧ:.C!a2["1!֌4I $h?OOD@Cᘺִ !V 㘟_8qe3 ͚j x@/kE],z%Bdnj*abb"Q/[EZÑY׹jcllXt]c)ޢ{pz ٳ|nPOxoFB̺%fHpV3ƪ&Jd}X 3/KW!Y5YsX5cҲҜX@۟,#)I52Yk>syv~[lAPHjd=;doo/FGGvj(ks1&[T_K>p&PQnql6E:F/a(`|l @PXw]B . TeOhcMh{ƨZIt5ʾm3E:Ɨe=}Y v%0֬ N}iI-rPT/} GQ.eB5J ̅B?9|k_ַ]woMozRT iϔu}ע}Ź[T1K ?#V%,![-JC+7s庬ۘ\*?ܕɺ29}c KV+ XylkM bh:,I1n:V?Pױa}_ Y3%~ e 09B 2?`ڹA3>Yb5nʜ5d%`2E!{fJ&׊ k] & m"fX`u.h=(p8@,yvF0U,>$QڛK7+Nϝh~YYWOOO'yyt 9Wm1:*b6pyXt:dRt:8@kltF(<5X/IyU t->CFZ$_ %R-PƨO88+/zыaHbgK:ܤuJ۷n͛1<b@~ફ'> <3>xظq#>hqxK^իW/w(´oٵkz===*xb~L85h,J⴦dAatZ4FJYJkiMFE =yttW^y%/} Jߏ;vࢋ.ڵkYy-IDfgͤƌ=f\fN+bBU[q0 DRO?ۗ!l][1`YN!NrvܹLSIB8XV\14P!{-̓@Խb"Ia;o7kAv 40[obrz Sz@jɵϴ]ٸ`b~Pa 3_K:FihD˄u}*vX- ME_jη(mhHRǿ&ns ?x cXz5zzz_-q(199]vþ}C%㞞$T4@-|j9}xހ{_:6mڄN~xߍn!iPKwem%ȡ*؁͒:h!'!ZT*u>ky۷]kQbr*$5Ek_,r{=+ê5bihJVL4 ^pկ~5QTc׮]Xf =3b1!f߅]9L#Ff![DR[Ⱥ'tB;-jcB ^'V;==j LbKKKta%Evar!aN7Hs1Ƽ.1MYBBgKO Ee{ĨlAkx5 b>r9tF4QJ[;$ aN%dq"2sj5@8l6ErFgggQհؾ21"bhȠͤUV .s=xއ~###j?i\s5~@}*JwhYYMZW\S-eX+ C e,#%VdQjIɍbWdb[2krؼys26!}~J Y0m*6[MHYHPgVe ’v/fY|>~̠Ra:a (QsjLYs [[lйäadDL7~X 5TOO?{.UD_ Q-J\pgMts,V.m)SƠ1L M(N'VIBЖPd#bbhg^ Dl~brl+~jj~Vcu*dҎ3`B jLeQNۋfWػwovవnqioBW@d~1KzWD:+ATG7f?Y_6 +&iH5;~ ]D g gәL}}}73|PFv?5d^OG?QW_M6V7w5`uD$ˢ_eVREm5DF PSD5[T*]]]VHdRR u^SO=uY ?  }вKc_vز$KX !31h٨Da:bvv[l7ߌF6HWm56j]kz1Q,FՒ̘bZڼ5E5)m0*v/\dΝəX&0Y̐T`-Nk̹ih2g+hgΐuXį4}15XmX!-NJaTX eM+ĖFBk jy_jE|ljzGjltQ֙P״|@"ͪ6wl$KQm4(ؽ{7fffpqu =~ll SSShZ ->מ)a~&d'ծl3R)tR):)ie{n7PoQȦy'Y^9` #i4EB,iph5! [RE՘<%4$iϲB6Q5p) xpgVP(X,X,vuf ~uש!#^l1-fle[SZPz9cǒRbnIpm^"xݱc,PB \)J-H2A|~}H$Sxilmkf_hI3Vn!Wgy&N:$|ɸKӃ7tx 73>"t*l3{мvݓe59YjئĄuo7mڄ;3333Dkrd %t+\[9k +z!T<4a+4 1t,FH `"$&󾖚CfmJ'IX6,Э>g/X;뾾>cppz=9yFӓY&d}I|L3WZ-;i)(9wj N ۗ؞]c9vkQh4DȺMZ$}|R@ k1FM:df iߋنa3d>GK&V7 K%5Fl[~8DӴ覒VRb 133ITUZ-eLOOczzؿ?֯_|;EwޙZZKZrhV5 B ,*NdSK\4)khhEe^$BMI6'&.b۶m f4ܐZ 5%&P1  JȦ_4fncra%ZAl۶ 7p PpUWaƍ8P.>!o~D8|Y(⡸SjEE_ծgXPb;XnHs+)rfرcGe\tum5)f3jpi}?^Z7s^fMވmLX!UI(grV];G^TQ֕>]ԘXL\gkP:uu:%B5-DhvvзP1cHgp&(\3;';tZH;hRXhOb<֭>o>h"{l!k}=ٜ\ ]?+PoJjH[̡`HF!fJq ɲ(PV0!DӺmkݲ(S|P.\}j68pעT*!NLlB`L8$I%'Y02=4X2KofE/is"XR455lڳDY+-P ,f NJ:˚١0Tks!1x0ٍ8猃ⳟ,.r\tEꪫpeaIIkHi"< fİ,P D=1[v(-K Ee=VU̠P($oJ-y ϵB|JRb=fTC^odWB~"bLbs>$f&k>3ſ\.U1C*5ݐŚ}L>7YH1%h h@G(3@݊ȋQ¥s耥61?30V;xViR[cm]/Vy&@aiLMMatt4NRvyt:سgz{{Q*’QÕ4NYHʊE=_V:h#Tv(XZAVG. v}Q *G X$XGZ^3DL=++XҢ*DCŰάdC jii(7NJ Y^V:hgzrlCKRb&3ٵ*43j+Ԭxa D;ag Ʉbpp0j`_Y^Ǭ;wv^iMkmjVg_Q\ZM[gu46bbBc1s1@֤@}L#jZPך1N ֞dEpgPM"E|b1Xd>Ø ]fd R,--gi fVx+_FJeO>A>#Og]FF;dCFSP3̣OS@) )5z o0P-nKY9F9!Fd$m(!9Sf-t=/vğg Im6X\\Rrr9 3DZL+j`dmv5gJ{JXf(Cb8;||ly9F333Q\Uh=3,: F#iH/..sR*.3H0=+ {MKڽ2X0R2l6~7oF&IIYXXP?!!6 ``+BV[G!1FZŢSSSG>;O~zzիHH=G]vht g PSLp^ mylݺ˗=P|KV8Z#Vϥ+4SX3~--[_iy-`TuV#Y<ދ9W-$˟>ܕ`)kukƨdLٖVӺ^ M>YS((Y(JrrX\\֭[d{IFw- !Cx6HV&V;|*!jt TvrC4-QgTH˒V(D %QAp, r!2|%BrjvzHkh4`;4uuBxy3 z)l޼ 5 l6iDSgɪ/=ݢ;![[DBr.PK8Fp]&IFB ,rL}ٓN~44-B= ~Ί~?fk1TZ4Wl9OX+cs~X3jWW\qw{S(p}a~~DJ蚬 Uj4{Y#m&4FQYH5ô]6ٮxbn1 kƷ>XnfffXaLJP[V!a˖-QL8YbB-f4B}aXqZ5 4 ##ח cmb\B= Bv'%3eD/cᒖQɾl`+{>,--%':orJjQYlB!Q`U _ĿM |uO.mbl!Ӯľ^]ȴ:@[_.:9FRRSFٍI;@M0E9g,lE֒5eKc0 Pi"uw~54ES;׮],l؈& wH'$g;0V. F D2Y)Z$OK,B#CXff͚eɼuZh94VK|،KP{.tQ dk~;<$?!zzzZ!"EQјּl`k'F:+b~Xh4atIv'67XĎ;077ׅL0.t}*{VQ!? dk6(JX\\TG1J 1+lܸ׼\ojժeL9VŌDϟC/})U4Ej2ao{h4{$İ4Fyj5Sk!=qZ,ryfQf5ܬsS/{KC31bdE6,3`Mo~}jW8w~-'v~M) u֡z.hdE{.KrϞ=x衇t^4.XR \_L%j*lnR&LC#hh|6r.?9T(&'Hߗ'F#|AUXv']lJerQʚ_Kٳ! 5oӚ#׊zeBu1jYEC\S:f5DCBw:uAcلIY&1R`g¢&db#c(LH5:_??A&ߞ&l6Igw i\U4jjb=3CZ2$r^z) tpYg(aHB+֘zFUYŴ&÷ӒkRwV>4}M[n__ଳO`z rkzWk-^2z&u1˽ | Z-*9瑑 cժU]ſd'EC%eAI&t\!Oh5+L{F?kOTy~IM~KS\AtpF:2;eGKҸ45*b:1,ڜC3qaH +*5VZVٰQsHI&"E+)Z&JeD(1Pq~ zYI{)dV{gϞd-HrjϚz2FϯP(g?YR4iL۰d(<|54%Jlz=KBPי?>>ęymYYX}Z8DG2{…V+4ZyIpՏ} M333kf122b jxp3=9昄"S[#{$>GXٍ b1lX[6?b,!4N>e{ϱkhE/9,-JiB!d>oc!1cR4֋eM1N+Њsm K))֗cS@:}N%1Ö&2ʮW6}3r׽{nLLL u Ҿ9,--OC [9^[.2X&b'f{7l!** )nͦJ;6~=8: LFpo<}5a-XC(YLvA&hn1+iVL;Fֺ16Z(FWv"Cy{}}}>kj:8c )9iC6XQ\<]XX@__v}T*u[9嫹kȀz!Q/ vܙiɻ82-!c;_|$mjJ~*K[xf h"1sc%xJ=״-o"NK/M|k:5'55OHE^CۙEu,7ЎAcYcSP{T*Q(k T7zzzm6e/j*[N P5>buߓF͛7oVX-It;,z(yTP@KzMd^Ƭ}P5Kxeql?ɑx'P{ƜDZV|%Y }`\MKP8\W* 4 cI"^.P}$`dZj3ܷΒ?sh6AB)@#=x 2)IOgȿv)&%6/, ]O4ڝlVcAcXf}b(j[i+$c=(!\f3`ƍ^s߾}عsg2{v5c ݻ=8 uiG?.R:thoLM NۓL$b@XL#FPg=#ǏX+-Q=*{n*WVSQCghL1jP*p=+ jVD"4oB { 04f/B1!a˕2(<~/TYl% ɾcG)-x*1L:.z}G}ncmۺPD111I"`nn/yKͬ7DX6/= IqgkzL-XC}ڼci4[m;4B |o,Z6r2 2ˎJ{Gi 0)[[aXn~I;k@ u-eg}vV,[ jL})߿&|lV/dA@k5YuSTC{ZwuPa-bMRtzzbqYdA81L,dNi]-ܢkvW;YD, CdcꫯƪUaÆk}Ga\{ GXjhEf(w3@CYwQ[>Z#(և13YsCrdH&N୷r6Ci!㿶T*'@V z[@%@cFNXvR~ff1-@01mZܹMcҳ}ffaEp Pd~i@.!va7qYe$8∮Z+i_j,1>> o_!*r~F8+P1B&R@;BA;FP4SC7{a.L?/vyJF ukNѿb]YPpcF=4KD먆5()kXuW|[V!ץg%>_;$d%t}FIEM|gZ-T*}"y|D~fI>KT>}jĹGkiXe!R}7q_>Bl(+wP7=wN@^??/}i"NqG$n1Ԑ&hq 4T[TJFgblMk.  YY =pdP(0Yn5eLP3 8gy&Јb\g~uP*tnjN+KS2hy<61,:bi{bI+?3(|>!AejG l"0VtZo)>z烩0&S{׫[;o%KwkO]b™Lw37F fG?0|З7ϧ8EV`:chu:hg_)J!N#% К ,`i4%ɒ 5ViCc(8eT֘k&=PEKN;D,=QV%_:%cلs(N:$j5fdpg ._(^jIQ= &NyK,J,`Q̾w.qQG-lK=_ %+k̯L&rh09ΞX/b*5!1N ҨlJKCDn,f嘜Wxᇱzj>իWww^dž A2c8ĸq5uj֏oP@Rlq 5B!)Ԥ֝bJ2Vv6T*;@TRձ׌ mbV0:,*&fk%ڞdߙQcA >X1ھfP r~4s|_zf|fy z}ejSSS8z4ᢽV%jAL5d ݿP9HY&]ޒr$pb)L_O004)EfP>+(?_walbԵQ,\#/v`TյBEMo‰'Xc)2re3Kl?GMƼx'p%rqST fí:nl6捬.ZhoBśȒ1&T 2M]Ao߾etx'(aU?Ia1>BO`kDjXtŠ;e DciUK~<6*ફ·-lڴ FW^2|O?X~϶:,:k e (kXM)ڝ;K-E}oiYhw0 ּ=CL{bxxr9X`Zw}ʲ Qesr9VH3Պ<[(~#Ə؁V`R5f91&!#>`jN|< !6Qb Fh*גVϝU.OyzqFvuu.KVZ8c<p]$C̷!()bх*l'BX[h!gf|%YeP$ X>Zaɂ3α|k!M*LC,d_d2(] Yum6cg)fQ(&s,QqӃ}{,7K,ff!KQKp|>`] VBAJ9Ԝ4D|o*ꩧQBIAcάQ>{i$~ĬcXm=GK֏1!#Kڲ 61yakYƄ$}pp7t{9|CŸ'3tw>cF5`Ik ژe1m$1HXj1d|%MVe\o~(٦1MŲߔ!' '1\_חAMljdC-h5i,H'6 IDAT3ZeL ip8M 򕕀:V+_V3*%弾%8F}cM73e2X,BWwsi6_)BY"l_B;[Qchb85FXHSߒ=Ӵ}t000{wy'N8h੧¡C044d+fLmyd,Fd1VXe,l@SٷT%Ӊ,-wjMz`͛199ABŐ_@L.ˌG x,C#!Ex 1I~Pkר6z5]hL*%[:Hz@l^sbcN1ej4q쳝`p?FGGC#BwXv-2 N=Mtf+DJR41gGS@ )eJ%uƌus-iMZ"Sh5&nkŚzvЅfp'cjjJbkC^+Y] eM0sn٬k. Yd2ZcUI jed_dhӺN$nyњVTZl-fhbfMY9X( ޽{}vڵ Lcccx+^lj=W6cE5W)\lܟs-Y5b"KgVhϴnE9iϣl&~bVr}W(eݻ7ic!Pӈ(.X¾ke*kgkF҆}_m?K%zY0Z{>Mc0XN^(3go!ڸ,?gsa:}v]cqܱE-WM"|!FET(z~O>㮻B&A&L"^s}6՛fMӂ?.>I7 agɦ3hu:hv:XjpR9d2nN  cH Z^ I~A:l,8K4DKX`EI\8cCo|}}}8{Cy?V,fk%%:#!3e ƍyykc M,<a{s8kv=9088|o.ei)rKj޽{;[j 1Q%ֱ߯EP!C[>kDg^q菺n\lYZZ%\}k Yr/rgZMm}YX,ZlFDy9CYd<Lmo1Ms`>@iرcccX\\T.1#~1 ':e<3YFfe%z왺T*QLg1La1C"Œ1IYrڋah5v<=,cXk@ޭo8bL'2zQLKM:fBםKoZhZ&ǡCpGX,baap `VQGl6> dY Z&Si[KoMncH^;7̺t)G ޳Ut9Дj3ei4u&+!HfZu%4”P-4Ժ&FiaB|*upXq|__u{^qbϞ=qrrê#p"Dvu}OƪktlB{&j hV[l%~A{*&UvyL0dAX*AZ⤓N3[o}+.rcaa!94\2:fzW,k"':%<& ͳ3TT*avnNEY1k7>\6@sx]3(Q%>1 [Q<u⅂քfDYS-QjLyZFGGquסP(\x ݖ%L쐵X,4"ϛ,S&֪ƄJkH0*2$͚BjLMPKk<@7QhVCQsbE<ÐrY[|CsRb ']9bV,bb{^眎\>(ZoǥƯh47ߜhuR9?dW͢@K$/VeAtPVj6jF b}$W@VGO)vOd)tcZ"gNd"hK%rf6-ZEELb _8Jarr_׻<]?w {Mjk^Ϛ[H wЬdsMk0jVX͏0؞ff)jַԓZ,[~)055E㠖,i F?9e-t&RonMfKLA&[Y1JB3jvA%fB5J%{ηbk9\m=H5Xr6.-![ :n9]3565XWam,;=鿎RGɚv>Jκ2~2Vf%,OhLp-1 (CLYZG[hB8^7jZikǠv4 A"ĕ/(u^j^fiu<]FҮFRGO<zbJe$-ߌdI0ey_uR:]Rt-d)ljl 篻ec'v:j;%F?q,cHS\D.VkATnhۘw]<ǵ`]s=*͆f4h-YT/QKCC~lVϢر1;hc!*rHQ5]FjڐOoBtD6,dDk԰Z 1<圣X[\ 5 m1 ~7b hh+(ٞєc~dQ6᧧꫱n:T*,..V!N㪫BޚhEojGk$cߓ BVAfѣ(# UKU[E3F[ſU[5Ğt:(Jؿ?,,, -jذ?9j6 XYMczZQSf(p8bBY\dkb^hk% ,c`Ҳ7le8 \Fo Ųv3lyNh⚱?1>j!!%]g2=2ChT*%E, MrBt~?DIJs{ >zNvQkq`rCv'ebZj recڜFyaH֮]/~ؽ{wa\TpgSNI(6cbNX6q`_lbl+Y0,kaR=bX|ZbI 武DصLK\jMheVq&"Nv%СCɁ(^IzFgkZT*VfQ}b8= ,GӍ!li4ؘb?g>x^{-.Z|{Bl a%,׮AYUhi:FX\Z# ̬Bf9B >|d2<5dRcyLMM%!6ˇ,nj5ꢤ1bI) V;J%X,Ʋ'f(bcLq{h!!0i<Y`^ZsKQb%FGB(2XEp-xɑ&V Ak9%\'9(+^Y"~r˘W^=d2( Zps>M׷r+H$.߶}A:YPnC:4RDC\s,0ka~B!}tD 32 fJY̚(-[.zց ƍFk֬sk#ĨZvm`kݿU*,,,`ttKKK*ލFׯD_q5{<O/xC3~w%#VY,mk.r9޽;Qv٬ۮ CgOځӉŚ,4[ch"nkⵯ}-֬YY c,DʄVRbXk/6IVeצUWmZXj>s 7܀ z+.b( fLZkNcX%%k,eo8>(qm5\b/ ~~g}6Ţ;8oj^6ݻFCڵ]c,yᮻJB3V0n3["LBxesj܆ ՟1h5os8ig qгF=e¬1 z{{lpўJw^8Og7ﮠł e&T՟3XTlwϦ;=X\])򙖝Bu2&KbISNRH<,$Q ourŚ?b@$d2?׍ଳRpHZ9,K uzOg)Ǹ[կ~z+СCf'&&pI'^N0fws $mW1M5)5ucKP;+=Pф{L&/8&cFwBReh4py+y睗NA0Jҕr14PbC[pƈDZn6~6nٳ֭kTB-T\c0Ys QKQ [hTc?x /8nD\)c:6{Md2l۶-ih1fTر۶mk,1sL޻RPc˺1TYJՈXt!qu_Xť󰖢[lț$;,aT}Y7=Fɢׄ湮!'L,er9F 5DnP(駟ƽۅKfViH% J-@CL~G}4."|ӟƅ^˿QGn ֢CyjjZZ'-zudsg\Cec 6*=e$ZBsVB>ɿZ $V`vvg}6<1w'd-ͩg{926ưzj%w t/H ݛ\|^Ji}OٌohoUY_XvTSY➩*sEdU؈%2ݒ#'r{~=bs(Fa-cBo fI?J-B@S=<O#Ć P.d0;;n-AAR-8FaXEj^XbE2Y |@cjh{X,bnnV |K4-1"}gh4XY*LP(`߾}x~l2dykt&XpjAII{`z|swJ$x H=sMuSyQezr.GZUUUwClyiuZ__;c*VrZ/~ LMM!ILNN◿%Zր6E@7<k԰=.e|hgnZ]c<0}6:.B\wu8Jdw^qX__7`jtNd>O{ u(ˢnyJK,n6㢋.®]o} 'X}IK49ϣncؿ?Ţo^p IDAT'K;íF1 1sƻ.̊S4أk Ԋ_~4A?kϗò`Dދ˼qV,iid(U-1X>WX\\cK./~ |_QG 1̒h1Vo|h- QqCI[ "Zc=6MrjZg)Mجl.L4;4%Fi'I\r%/ݻW_}5>ajj*y@YB浘LV|7 @OD"c A?g׮](>N8-dwy'=Xj55锾[5J{%3Gx-ygU,ύPum/s hΣNMoB$x߈K.?ӗ[{U_R CTRY=}bO>$NZҴ}ڭjkO`:5Gb4fԚ@Tԥy%{ڕh떪HJi~[:.ZVlUup@XjaЀYHz`]bMYD>ß+++@;ܥ%#czz:7rH~ivBe=||RPRpyD{(E""cŵu d 1JV΢I^(=/VN2@&v,Ѣ%qZ*5T۷_*9TVᵯ}-;XňyS67{??y睇?x'*Gq>яǥ^fOjU%_т' h;]{" s{yfffV3RTdT8k@D\o߾tnHσjhkVumdff^{-1::bax~օF b%4ӳ16SDs9Uڬ$Q "˩MN۷1M47i_%睗1JA[m r\(U,JT8:fff055Ǹ'ySO=sCc7L$ bނUjt6׮M/ZUӃげ嘟1ɺkE MO'HkdzW>?VMr5v?[iz5LC`ti1U ^F`rr2-Lj lbuur98\B)%Q0xŝ. >f%iEV@*ЉfR[($hezȶ3H2$>~z.Qb-Dܻ>w)CxALݻwߧOgq~1P(υ2y?k s&).( f{ڽ9399T!Qx~E|zs͈߃u64lӨ!~ vyMG@,v9Ɠ|g Z1=6]mwOܭʊGbc*x.Mlb-t:E$%j>oyI_v<ͻ^-kh`ccy3B3+++ zjN4}M'OǠ>Sr5,m^SACdu|ri fIO5O?%EGz0jSF619# ԟ$$c[%gU|kU$^J64C n7)jJ@(I\JM T-4٣26vۀuQJ%z뭸S U!!%wR5x4^Qa-pOKKl>11 7IU(}:&Xz /4t`MSNA^O𣣣җz뮻.3P0`+;,PSJ)5V ɻRT-alXDJ 6}T*hi>X,n{={jP,i*R%`sO$m;8Ea`E$Tm}v^[zk &'͖I{XmƖO 9Eya&aK4řR^mo cjnrƳlu`Sl+l;v:j2z_L%d/KI OAZVс6gAi{wJ&b1x.CHcrְ~ZBSzj91ocYp@ ӞQ~zi 1_;gоnBumq* Q&8w >/;i\.r-[;Bu@nٲ@^O-ъ19ztAJ6Z0 (HftMREU$\+(2xxٙq\8nՐ$>O|_ӄ|1pʫC7Eʸ֧%Wɳzann;vH[nf2裏\. jHH䑋IE9u/.?;-YvOֲ쟬DEӒn(Y=]vӢeUlB!Cq]D: ׀EhޒBD(~^"jih\dJo/xev`tt_~yJ. TUZAk|T)=mLʭj$+sPLI,4_~AKW*k6a\>4p]-~S϶,o+p:Pڞ`zq>wb{--VӊF+ziz<1 %!=/^A M9.f5VjŨ+9)lksTIvRzYd&[('/xnqWRz7*ڤ,A((]CfBRveOdVs%b^D' Kt ~j=PRabަ cKLH&1 IT]wݕ}kp5`cc# &U=z)8/WK%V.*Ņp+~\iYޗxJLl^&Z0Mꉶ@ iOVWYj [g[SO̴50L/yE[՘f?=Xm=w=k7)AE4/F*z-FK"NHdq*T>ccxX!9wY\dΫD{k\@F؇_$흞 xLF?ZVbJsNg[+y Ρ/jZ h6xހ Դ*@J܁`P:pDX,jm.:hޕe<+2 ~ A[TZ:Gӥ*%'>ݻwcll nV ~8J\y׿^Sq ]*5Tx<.-i;ZOmDV:0aҊ;ݫeyz uP^S1X8"N*Vr)eoX%R#<jL"J h$XXXHjZ::j@G`$;GQU 㶢GǜX+K2JR^iy[SY_(L\.zVCpWi $=Y%csm/֞x+YѤF^k"nYXp+8IE:iuai" KXõ4/ l@:M,i^s%zz-+ C Z={P(%`'UWңi Er+Nmn$m 7Ȍzl.fl67@_%)r(Uw19Bƈ[~^czNPxDq'R{ԧ~G 4*)n++P|rC 1㮻o|zM333+o} y{P-(KRV@ЭIdͫOYf9C{1>SVn1>>kP֒!)9ZV- @IV ͒*X0)1M$riZ ہ1 [-B>(FFF𖷼=,--UHK,Iтp-&^&Uc׍ޥ}L8YHZ\c xᠴ8В!CykR,B{^|>dRkU)1va=\,ŋgyK&c66[ok b@)j- %MJ^є_Zm%z3?=f0- UԦK<I검M9u_$9fXUq{^ުKg+s` ZZ*X ɊT:)ֲX}g}DL(ǙR­[Xvu<8xFTjn; طo_}P͎vA(~TuD']9X3tzz2<ڍ.r,Nj{(ƠYqt[IKdBii\)唒i5sɪ£[*:U,|$҂XhLJ$>zj wƹ瞋]vhu{vPNzo,R|kq{H \Pjeei`@X+Ĉ4@%ЖJBxPFTQ~sTexa`+zM~hth=^ܢsZdu> 4NXߏ׽uV( ie[ZY(R"A/&|ܓO2r%R="+5!~ؑhuȲJJKn±. IDATz]\[۔$!t]d2:\B6Wz.-RF,, k^|jcvYV:ʪWٕX.- Pt@웛YEe_(SZG*`%3+k~ZY˹2^5*Ċy紧5!bhi_hW0 @A/]Ӓ"ݒ ^K{&rJwTSj-[m| - r*;|jiVwAwx$ON^B}[*@xՅV |j#ytz=lt:&O"duEor&d h=VG$ 2In=6hih&XA5E5 MOZtBv/TꃔZ٧Ԗ1>.f!Q ?Hy$JZkΖp hi/ EA@T*HK5Uyh4^#%^`JRIFAJRDNe,JR/ESlz}&9޽P9 F=o%rూr-|@DJ$>Vp驱z/R=;+/`cS܆cR,c btnllDYYI4h*^BNoIǂڤ^ \oY/1ΟK:G4[\3ykKWvI-]14߯xh9HRQҵл^Mamm sss(}V=|;v?>.=0G2mɴT%\[__K?=d)%4YLw`J)Aqhh4Eː $y-UCxP1{!èKF#QS֔Ƃ>),>licɃ[kEZC$`yl f ׭xvtlԓX)ĊR΢ql6rߪJPjI3 U qs(?gpFLL۫ Y ZO͞Rc,IC.%ZES;/,NSXj+6D ZkR³blv} ;=VTaH)UE lll ]Jq"hU=k_x jZ Kncm1RVǀ;ߪY5=+M*q~^Դ4!Z\(S>oWjGnվ0Iͤ}uu54ݻw\AADRY<~>$Ń8rϠT8 8TP$A.EAIÖl^'z`Gm)͊2 BOF'] ۦ&&hSfk)WZZM'fףmBRE?4l6SXk<*ɉ@$:lقWQiJEoyj^B:k%@1A+vp_ ][[kc<^@]i90{V=ф,axxn]1`(- :׻D!4'1'~Ytam,{)Uzw5A/*?1291{v5,o,k|iL靥sZīȕJe a#%P-A#iX!mϠ|i2oݦ2?gV1#4ї<oߎTln2Y\.#ˡnRΩ(&JM͊qځvpx)i!@C6ˢja=E/_FP@u\م6%TS̨^R<)_}hRmP֦eTQ"O\uV$J"ZqwΦ [nxv[d:to{p?V% qHK=kIɫHɢszs, y F&&&D HvLNN£/]7I nfqھ%y҇S 픬 W>7ⴥ6B5Jp;}:z&''Ź, >,2 m91x@Ti \[Pc}EփU{$R 0% iŰbO;.ݕJE}V?K thL,a}ImJW*,Ԗ kOޛ[V*h$z͉ Z_Uݝ賤vZFx-(K-H<ѧ\07Iqh4P*شAPGut~H ::_XZև( \&v7L[],vksbO0mI b5;* ZvLweVUI-IJ罶Վj/NըXpcttVX[[K_Rښj}Z(U(bú>Tw% 6_T5p '>/333.l,[OQJRsIإSڏ- BK rG}!{jM8ol9`]U *:'1,qX~ j3ngKw@$zVmz TIkDug+6͵rr8 yZq3QM/J]tC g]/&΁1>>FI@~4߾}{06Wڇ,JbKR%ߨԁ?P~P9 {)m>jὭNtdF'YzV餤JwtR (HZ<:F%I0X yJR{5iV IWSO _'II/ 8cbb?122n(>d<$FK[Z`AKKhOq#O#itn\<,^ڢisq^/ D MdsQihuӮG pg'QG5@Xױk׮> 4O_y^z'tR_V?<iՀ|>|3(Jزe .B\pطo_ y'rU$tzɕ͚BDB%3lOeLەlh%;U-@d;5Eb,)6*Ze(5y.1E/O'СCáC|7p?|J%|[k_Z\s5(&t_{kϳ@DتY&%VRH6+kkkضmz|M[4\,g iP4%aC̃KBB.KٴCpDF(Sdc&yŠac 1,^xML< 8Q˲2Rk4i@K@x~}TKmR6l8q*@ġC{'"r﵆~NՖ(9\΢i ! rMjZr9d r #G tZmd}:(ȩV_D ?X$AP%Y$Am/v(I/HШaaBKd,Iߧ}> Zf%)=R$k6Mn?uY)ZhCЩT햪1DYN _G')sYF뵕JJfvVOSjWђWk.Zlkӟj>333X^^~guV/[qĪzFkX@dubhV(51WZGnrF#]sssxы^O}S8c0;;o'|rʦbD<{$.VКҘjN|O'Ve^i,//o;nF{x^WU_v +>576?Yº &ziz;ھclU<O]jn]vnG-[`Ϟ=S״栵"L}|Ծ% z(iःV#E 5Ą7"@<vh6hZ@-VG:@ߥU])bsKvitM?P$Mn#Nk*7[U T2w(ioHzjJ TۄCx} WBg@! AbPr:OGFFpwh)C&Gk4$Ip |5\/?cLLL`߾}jj;TؗHpxIX=tl?x$Q6 PX2VkIsЀ'i&$A\ƽދm۶`vv7pD\x^Xj}y%@C=s1BzzLh,//o&&&R-iQ 5 >5fNj[6V7GT,{ 2l_VR?8я~\?qWcaasssABҽJDRZΞ ?xhϑUmT% *^u֯HZvXVRZM|>GxI^+BТ%I_?>Iࢋ.SO=5~"Qq IuVCuKcBGã3,`EAժQtl۶ G𲗽 333PT022?y'?ATRj f\6^dce A=FKHHi`&Yqi觧3 $^caM0>qQK^x\}I'%y3[{GNNNo~3wSNI)J_WpuajjL̽鐒Y|s׾)u]w/hu7itt4}n{ߎz۷*?ǥ^fy'բbC_*RPUyv vp('X1N⇡nC%p$\5g\yUr[o7|3M~ZXV`&1;$&ǃ fIAf%gڏVy՚>ot:8#LR R)}}TںgG*ңZ/o { =q=EW_6mim1/ tKvMZ Ysb*Hg&¥'Նy9_x -Zbl ?L/?BĀhɖl$lM|H}ƀ:y$IRF ]9ؾ}{hywOă>B7RE >vnœpi/B =e4C`,b&F+C>EpsxAQԄJO]Ӥ>\.$&*:imk9ɟևciwl)JU؄WK4m~ߥR /׿V)^=i AbgnM7݄iܜ*]6"FFrx+p9lq)k_}h0iZ^ IDATeYdZbuXXTvaWVҦZR)O:`e~_,S5VY$SZ)Fb--*Ru l5Qf$O}_"8 X?mqX^^~D1b4D=֒RKʫ$kkm͆OG֖a|ol.KE, 0D+TH9& QĎ>$J+XRR2&R7\S'fνV%会+Y;{|PWѶƏc{-AVzB>ˡR`ffZ;fz6FGGQ*lԤj_\T-l!dE ɭD<&qX,lRiZ [o ݂n\nZ BZ`DN68Nz}8U$/pd K2$}μ N{OxSDUs?OECǪz4XIɟ'<:t:رc=\>p%1`OR=kq'-!++^TLcxQ,*M03{Yk=NLjv1??fR~^.$KKKC^'~8 1?}+! N iE2@2$ț!^NPޥ4KJW  lDMI弢YBipzhn/ Zr"\/A7J _@,րqjW%hxЃ4@K"Bk nvvm)d4`D^c||\eh4OB=4=6S[<>ORxLXjU*:`(\MDRs`&V'Qk'$Z'gI<,bhjPQ1@b+I<@X>|f +MUSg8o[<&5o-&!CbZ'/ iIL$ ka[TŪKgg J&,ծAFekE4)V&o>ǁR4a{brrI7WI$%=ZŧfE?>GFFC$^~fe˩~g?:n\OB5DO2~rq@iST4m:J1iINY~rR[JڔӹGzVh4V;+yj5x≸{0??r1dYLNNb||bOY 'j9J"? d=6pj:0㉾y}-ϋJԵ#f<^7iNkIfhT 5FS+ ~k[[x'sδxyy7|襵/[k:oM϶M<ւ>8i)>sLԪa%$iq'Vwzz6Ϙ=^bĺhrmm-ʲScXYUji<OjOpWiZ\mWƴ3Ƭ3i~[yE-PR'!9Q~n=+IHR,Q8/rqT `Ɖ!uZ,U{ Syؾ};\Ba3ifC0;;[jK)T}9K 8:&vfssN$<~{v   !pě#Ƽ2hW6Cs\i,Kbk}ܽTuRkDg}et$*[ƃ"nxEV{J)f%*S??gW83qgZ` 1(Jx166Tfjm۶ayyٝsV)JtX4*'MXKx$ʱW\.T^b[h[@z*;WvG>kɽ,LJ` :΢SE hhxizRGGᢋ.Yg//`Wkkk*W) @t iӒ0 zJsڻ9/ Y8gzKcU$Uk:z}@6Mf<vgBMEg(5=IwRFFF\`BSD.:[JZUꇡ{3{gyy۷o7 ̯ ljm"T`-4"/ZDcX@k1^1^R/D4PH:/f9O)Jo~8EGŮ]돶zF55c~6$iXisZլ4,Ji>;vދl6zb&FFsV9蕷X `>Z&APRnk nԗ=<;M'gxW6+<[/TI= X5],<|vyRh`˖-y੧J)Q~Vp/Wh[ jie]cAyu]x[ߊ۷Ge]mH/} x>VUXO[hp^IԢP`-5a-)(zq N;w'湖xY ';Nڋ%t'=bxfZ}yxd{Q}c%wuH18qС>]nM"&Z劯 j Gjl%Ro"F4N6+W4)k3 1h{ Uk}H%p!VOl=>-fB1gZg׵9iXl؊UZkz+72XEuK6Z,OhbpX:R46:`ǎXYYCs4t:I{jN8 }tm-ȅ4a${ "%`$S*Rfnh'=bsH2Ut=$l҆IGEߤɓʳ ř4 R+/j >DбK kjDK,|EZұ\тE %M k^/֭[Q(((Ľދ~8pTA8WŠZY6[ڦ011ntccc馛 T DRT*'Tikduu*>CU`1 ƢKc )ekkeiߤ.vZ=Nk#VњZr#%VǨFKC˓N *HV,glٲgy&O,~woQƪUbzƽp-DEc;3^@/ZXiIv)vBolF-U*5z׆iQĈYLi/4,p/֡mS/a[^d͇"@mi[w^zi@ b,)s&f\-g( ŠU >LC433U/O~!:/Zs"$\/]*5}q4  o=$Ȣ^ocPF7$ zϴjX E( srQ$S`!J6#?xJӚ؃T[=3M¹&p'YJZŎorAx~73] "688 uY{/} O=fffh>al)JlglhIH =0.V Z ### b fӤ'NIٷh<)4(/R-; S) +]H-? {K{Z+8#caZۇ>ciʒ͓E&.2|cG;f{,NX5X5$V4eعj1^VKB^Yc@|SIka<uO[u}$W`~MP!f\_ŖR v3f.y ĘpXTgk %}[P?ϲC;bMSRj|! E IDAThZ%'tZ-s =j{,.Rx㍸+P,S.) ggQ9%ާk}*>l}o;߼^ 8SxNMTKପnLeR. P*D)qI-A*jVUY;ХJf#YIGpIP?׾5,--~77auuW^y%z~ /Ν;II0J- ޳a ^bC\F҃zj-= ' \.'4)j3?WWW*}VKFt(זo~רڕbaXZfQԇk"lʺz|xiNmߴTCr x@UˢMkOy%N SN9Bh46P]$. za5TMRV fELh6vKzhFҌs8xq'kP~Ȇf(foAjI HXi8M'Hj@x~o|l6G]1~n%m\tExz-p-}Xqu/ѨapǦعs'~innn;vߎ uM-A uTB5Lxz~籸)xMP+FKvp R&0g&~w<6%f%3SIcSl淪rÈah`˖-[;;xrFGyzv؀W5cBbHI~z˩b$i_XIi,5nZkQ Ά5)L8 ;BFZSX HA֖ka4+hZү9yaڷZJ֔䞁< {ϥu, h{qA}Zf^,#8>(.R2MqN{$Gx}?Tk|#q$ɦj 3 v*$4 PA{ڻA۷6rynW$)qoFJRׇ8::+2VN8ЇغukC<>OXV浅7GxԮ>8k  ۷f'˃W<gքZOҒ?MO$Z+0Ou۫nT`!BZZv4A8t3z!t]vaMDIckuxӘϴ榖Ĝa1I1XJ4bfsfZH,l6j[ GWbY?\T jR\زe ߏB]vСCU36@Q1I텗*0!=hZh6jzܱد*:irڻ@&RIbʁ cJ{C'<(E&ó4XM$] .L&It:T*8poܷn݊T' ^;w̌)EǓC uhP!΁?hSOߏ9 ̇B0aQʉkHI=Ւ`zByZTĎM*yjZV~@9B\.Wv7uKIP(l<>V[ KXc-b2ޟZUHZcM<+0O׀䋋8puÖ-[l0=zv^Ơ*V5:k B0 ժZGVZwZ z\z=}K#܏%dP* "OV vVWlu*<ׇMi'2,65vki R\ٶ1-4*@5LeJgXii, }g|bxśkEcX^KiKՔƃKKKX[[O?m۶L\.oݺ똚ޗ, JhIXo S\PӤYQP ^ yACjIШW$Yts @̥j(PPk8J!2w!@@<޻.z]UFVhyrZ%CUB46baaG,nj333{peaX^^N_GW8䓱2j5swN$vܙKt5z-R u+5OT*o`%=+ߏ (<.^T؉q UfɢSezi|kc M.//矏g7!}2n]޽{%1,ў#.h`G1>_Iv-mllN矏 ܜ*Ĵ=cbbZm`o SXDXD9)ZhN' ϮlbccehsNcx4k~j񆵶]e}*4nq' kKŴBps/NX CXd>Gv1lONCW{28ZSq3 Z;ync9sssgw^㩧B>O7&Q ) aQ*ߥW<B̄"EstPo6ņZUzR? ) m&Ƒۇh/F_Q(" g H >V;wc  z)SUq΢yUu6<[w}nPTP;` 8&IA\H1b bˠ,] H"а0Mt߾PukGs^w{SD^}sylKY!Qi"N=O~bXreޢ便o>|K_u]3<^{-/aqq}yZ̓5W KN@?l9unȕA>)?]q6pEOw󝾹?я7)V48kT$ !Db%m u*֓UZic8SAѿ,.b|.<裸Kw[͒zHcumV,w]r9 Ƚ*JgT*=_T+ |mpk9 >^Rtiqa<odcTVj3mͭ 4ΜnJsp Y~FT ꫳ%|*$U7qq tbIy FGG1>>Wq+7~IeViVנN.&5_"$@(Py%TAB,IWKE_b`ypXfN%zR _% -hXaztq@Gk3[[[;N9眃ELOO'Ou5W{6XK^̌؎ן67元?gRlbuugj5Q[(:^@Oh<$! QoPvQ4tSZv/%ۊI#), P=U?i! Z6ɠjayysssJI'v5?E&eX25E\D8_\\MnԦI\Mꆆ{_ LLHac}\Oi̐CJsG=E :C$ƒ&$8JH6}&$:ccc8#цn=.C>czxkܛ6mO<>sss( =n㪫?kl'?੍ w t:شi;v^n wq/ 3@Pj@Q1ig"'ZЖomc:ƁzI4ƅmKU`gǪ9`Ig$Hc9]\@(wKKKHxի^;wC\z:#@;}k`JK}[ M+}EV[0$^VCGyK^![YP%G_cNhe/~ 8xclP(h2x~g~XטfZǯ)6VWWcCg5ђn(z$E^9=,EO! w=^{ nK>^يSVh{_SH<.H%/bjd>ae\nQ*ze2=NkkkhZ0VWWh49i̕4Bt9 xQBǝ92+ɛomm xg⁕F7!JPkNH $;~P B5JJ񡓈dx-,C3NK츿|Yr^W?"r!Bш?kPw܁;w̝ﵤ} |'> tIX__﹆V}k8Q,5ǧ =HG>?r&SH&;@'L1>3zeAwXDkL 7b O(J |$:&+6C xߘ#ms[Fi/8! )c|կ0;;4NJE&o{wbcc#WVq` Аh@Q͔Nkcpknqq[lk^ `???+N|>th@LR_Ra%0k(pWIfd#կ~u_MǯHhٹ3@a~~>%?$Q\-v`2ڗdZj_^B֦{m{9%WYJRmٲ%vl c^);LRb_ Z>gvY_! p51t6 -.}piTTk@># }DMRm0 = 5m)|>gRl{\.chhbFR)d2cjj >lϡLyܨxq!I3JgoބNZ(t:p2 qwh#LI)qk\@i? ]2zZQn*mdtVcm VY(066P!ok׮(NOC۵Ǵh^[<$6N1gs*c=%=ࡤ>0Qt:þ}⢝K\yb-xX M`F| e0gaj#\Jdǚ$Z+B-u&Q:5vGړVN0ۇ: ӱrcyyZ 6mN} c_ʙPʒTM3Ӛ;os!c,$_M}=%BťiFtmzq.=PsvA^GZz<ǞkKOє.I̤YYcAkM=cڭs')=4<$.Z5^_i*DKY#|~v"@' HI/(h-(tZt5 ju7j:MC9$6sIW6G7Wә{sf9煠3I鸭d\aiVhzFp&Z$w2LOO D6J~NBC'>$*x?uZ!R{Kʞ022wh2Z ӨɑT }{Գ6oߎ;YItiVІ}]i"@E,2Nk 65İ@bh:&$͜Z9X_eҹ́allll{|E6"* ^l P$t:I9:7d/4hP#K*BrWJFxh_jt;]ҽ!'T CJsy5GMQSf^}P#7$tԖxQMs|r&34SI4__c2[l[8% rws|Aܹ8C0==`WZa{xi|XKk| ݛwFѨlhI'"hr9<}6S˕I}mP=SkRE i8h~&G+|{Hbs8 \&ߑz%5PŽ6>_- 2nq7o/9ְFgd^$QU ![_rs/k7RbDΐbDT>՝:ZVh_ߺ4MEd28Z'vFvŒKRr&Iߥ9KȤT[=E Q֐Jftc7hJR` դА[ʼS߇DRf- k<Ŭh+Ij׉T|KUj1|5{~vjj \s ^K:WU,,,2hFGP kP/bzuƁ+@c!. kT`j#|LgKIJ`q[(X'޻g^Ȉ6?iA|XRo[a]v[qbs΋Bݚ.!+k$0n׽uK1>>/wu*/VWWzr%W,jGl__Y|7‘>GFY Y{/ڧj>w9{fZwݝz1htP(yRAXB'_# c%З?7M|B%MvFՆ+Ɗ,_cv-V|kJDi_4PRk>)@0uUrZZckcE.[A#bqveC|VHqpbxZjN ] uxNhE;H?3@5kί@b<=q}vxt=g[7bUH_c2 p5~N2A_'8t:غu+n˿ JR/LoCB &)9;&&'' TUlllRR`cc#j i2ᇕi`'#?7mμKy7tĆdɚ$\.$>sT*e<:|/Ǟ>fA9{7+v:bH;h@ڇOVny}Ԓԓ=x𲗽,4{@ G$%81>>g}Tp#e_4T$m\J=_FGV08\}f΄J9kɯOdԗEs^vD(vލ ^{->=y =PTJ Id):yʄIlĖk[&o|(bRMbKKF}40Q_Kf! 7T1ھ:Dʧ4-qi`+8Cpa^cxxZ-nYt:!0'_1Og5Ă2ŻB&M4j} `E>r DRL'KzN(k n|Pc@ގkɇ,Р aRb +J|7MT*OMMsk4bx]Oꪫc>R_:FFF~qIzx!)~K6If_wy'VVVpbvvfgg[@yjt /k*L|Ur'XYi,..⩧G$F:(Ha 8i:==9׬\2VC^Һ ˧~ I%iq_,.Ҙ m9Z sssXZZ$.b?X,}{~62xOJB}ARܖ%J%6#!6gI-7Fb%YO͛7caaV vV+f[Vbmm rQ $EiHOL{3tiu0[gG2>$d޼K{Ij&ieC⊔[2zkiM#R-_Coю_'IJV֚tCcaaծ&NS{>3'~k e9XZ*afZ\ [f}gMG(k.guRSu$ͦbHՂbB C%@AF%=iF-+\ȵ|| bV+BT s=D,AXeikjg#)o&Md)+ ؿ?FFFd戔K$VC2{J )ɖ%Bn"XItS4f\t]$ d*fcaPCK^ >AE1ZSw{tGQd/HhYVtko䐄&k\SE#a߾}=FSN9FH(n&inƺSviKsss<_3%C嘅|>rx4P dٷ45MsFqV@RsHϣ9CkY鰦,jEP={s$sŦW0S W)[~ssL}XqwҽRY 5pJ BgV;<wqhZnyXiIVkloĚH)}Vz̚pA :QW@ \[Fv8''/˨VvV[\E6E.kq k}1H&sm]u RT>h,LBbp}F_[󖫠5M&DA~,*AG:juq\޽{qGq4EsR ?| X_ZX>Dd8q4#E]IR6\q/Xg׋8 x㍸[.Xb-5gkVH@%E6H:J@d2ػw/z꩘̲ s VXR:46lقu1ԊeKu%.fZ*'-iB;K _h.s_+|&xEQN: {.~ଳŽ;pmN fggM bפì5?:.4}ķ"2 %xu=P,--=і5eX,d҈PELC>렽!Ed>gs}*P5O-c}ElS?܋xeՇ<y7Z?ϥc5_"@wRV(𠵆řvݮ}PR bL:^E/z(F<w-3_2nNIb2B"$HQ}949R()vq@?͋xʞi3 Q֣-8maH#;-!(Dpٲv޽;6q?_7ɱ$F$Y&"6n݊?u tMxހy45OcU_"N9qꩧN;,..Z JkrҔvCfj375D)4s$ z;g2,..AL hcǪEOf/GqZw;`5P6$Qj2W℃q_#yH,b5L뮻~q⦛ni ^{g9)R ZN]'t̡4.6I2Lb{|b$ZRQ_b{R3kҁ6fmzzjrnQV|ziQ]2݊Z,ZohI L`2!4*}^(>P*O?>}!㢴Y2*@By綮&>Yrnq=H`9k$X|V$jlo-J ׌"};3$z(d1 7 m)pNs\1w#}fs[KJp뭷+~#x_.iL:ĠJ,ϟ^-'u|v[Ru[ $ @[NϙNQ,{dF`ɪےs83ВhgqrnJ{YC<#=}}E(+V~c}JUK4mDZ ͋-_^hkdoN*!i`4v į'vo6j(1>>yR PWJ3/xK&v.иBޒ")hhHv#VXin uc0p7($69jdl3R!-,7W-0v@\IKyv1<<}{q^*駟 & b&xntm݆/} n*-pW㪫BR9iQh~34b˖-c=661)Y͜欮ϱ8uu)g/$%Fc~rgϞ9gYkraLE"JiK#*^!m '),%tqՁ% SքZsvVWWϢnc۶m?^{-J8 <= fݏP(s0J-Hb[@1I_|>ېY̖*Az\Yt099]vnΐncc#vuRam) yt&Q*o'BnC;5ok*b&Kgo+GI{xgI}PFHfPboZ R`|||N:1bbb+++VjśAQT\ 4FZZE$wl$f?@"D>D9® %"|P&$P,I(( a~~}1L443e|\)mPِ T*} J'|r."%Qw,[csB_rA ur~箍nA8p &:FLiP3egq?K '-nXKHQhXAXWFZtH, `Ҍv}ENi*|p$@[2]L@k}3hQIF; PN/&hkZQ-)V.qGb}}'H$H:ǺvzzxK^B9cDǓQs:*I$ %e,&v.A6=:HF)BɃyRIQBRf&h1%h 3%9R-!L4vїdhYX׾5$K0;;\bMs֔ Ɩ<:=\?h]܌Z_Q>ǎ;p'chhuٳ{.~k^ƌ[k%ZEb3hThH*{gYj5{XXX}B4fbaԨ IDAT5XK.&&&z|wxSgUzFiMВm2EZ) uHIGp#cjj*ZI}b5ՔphHd*CU&! !-'xQgFFFbem!Tv=C}ʶȾVZK\I9x kߚ#nDŽӇd>pEڴIU. >>~Xx!mχцH^uHD"{NގQ!Xl6t:͛7#L"ϣT*R$4pF3Ȧ8uI'5}i="B"Mfn|@/KNB"Zzg9yRvJHSiE.&s7;\y),1be,=mʔJ$~`T` K5vjg}>qSG*}ObW n`;~u դS irBiùK/4ܽh48#p駣VsmB2&`t ._|1122"2Z#*(߾};^{-n6s9xG~ 燧.4C.+j-LfiiYzmY :uQ~i<#S+ј慘_u_ 6Sb\D ɡ^j۶m7M\wuxի^k L G2#qzw o/Td|?xl)\- |V w}ffqn_zx≨\ѵ MJP*hx2+6ĴbyyЇpn@\ʹJR h =mݜ9K{PlT)tvۡ!<ecccqƝ&tn>S&<ԩXs/ל΁4I&h@ciNTfTw6e_].Li \y[hkAA4]Ja1 @$S:|H3Qazz]txo㦛nԔ:OcƵ]^[lGLOOc}}^x!𶷽 'xb{9رc.ZJRfC}AϚ,&J BТf5B뱗 >ⱕˠ.2L뾟E~i͛1994k7=P{}Tc|t:x^?v[nxgS)@;Lb iH[}wFJ4RW>EK{-,,1:Lon<@bBz:ZmET*˿Kr!8m6?37X,zVhVn199~4r0M1EHKO7>㋧|s_`A^j3lH4Z^r_Bm)BXaI pM idD:YJT 6_M` م;'?_*B@&F|&RԽx8P.udYZPrV?) |-Isw}EH*BRa5G)d1i$uC8-%QᑾO͊qz4++Q=oF4/px䝚$ZZH O4󓹹9|+_\jO~򓘝{sYO"zg)\{ttNvoazzŖ-[bJSBi"?kgxzk666H$1u!ό Kھs-Ixngo-M_&dZМrD_.߿Q.Mɶphn5Mz͵gRB֚RVq)n +k_Z\s59LjO6*V^(8lXl2GXK@4Tn{=#d{p '`޽I]hjd*}IiVYVZ-oy c֭xӟ{,}QPЮņGQq8֝7Ox,djs߳Oũ+M,ϩT*4P2Z}4gh54E4\R Mhn# `3[7,=\ !q2T$.c|֊rihNX\\kbiMFGG;A>_μћp/r:,c Aכ%RMi4^@[p#khuHD"A@?"oѮ!Z۳Hg9{`E)"Ɵ#]/z[2bgH$xPb@cx{|{^B&>t dl|عs'.゙5>FKKK0rFFFb?@h48#1??/#뺥Jh,Rtl6YA!k XBM84 i,#5P*,Xu!{z' I+ծ]2C(홡cA1~)F;z=?x۬s^;Jw%IT*LMM{G jv#\AdcT*hxy-%ԣ&.ɗa]z7/D$v_@}\a.r&55I.ZQOO-$jȹtYJ|:iif&!]gH Cw%oإX:tPGMNlTIlt4Mwq8󰱱T*Bvq!WWWd#Hj3%}y+ϏЇjc 5f^oP0UΥkkkqR*P*zFIR=33ӓxb]{<fc/2< wnx~ߏ,Mqj5NO |i $-I9{FsLٳ~w*O?+kkk2"Y#%22E1Ho\Z>1|ӟ 7܀׽uغu+oaAi`P)cϞ==,`9[ ?|cحcT}[B[|PپŘH5̺F@ZgluDٶ5ZnB⠥0?7C?"[6^V߈%\ȟo倏$Lz|r)Xɨ*HDx cTzntt[L2[/Q!2U l{߹sߐ>tַcN=,qmj8N}vy=5ft,֧g|ELYR [ '}M)nk y5yk&=q6c'dO)Njkzה'{A\YgXoM$(Per6ݻ3,=˱޽{Q.1;;ۓdQ*ZdYEMTΔ&RiVbh\xx׻ޅ믿vrbϚBz9!Y< A"0_5_QV+ r~W-yrr{|^[ O+ q+++NBk[IQ%1`L״ܷF5ś0iɸU`ONNzBi/Hb|Dj7*} rH?* >>:,#DDZw^8HګVwv͍FwVWWQ.Q{%j4W*3L&vK|k*;wgsMj)2BraXz6\l]Vɞ`ATKV{>v£M>BT=,H`aa/x ;Om۶avv|VIqtaIs i@pl{c!l8&J O@.EQn! `((eH'h4Hj&zaz)lLVbc *M |`Ah&z9I`7]@^_*-FZ(TEP_?) Y( SNQ..U#.HE2}x9K榃V[40.T". V!-=zt{v8ևF[-_֋͟ec~!.cW\BUz3m`ee%nTTVϲ)Պ $Ex+I1U?.&xK4 @֖F0[|mC>ՙIK-!ьCm+􌔌5udi2J9Kư3X\fX;;X^^F*B&At djm<=FZ4aGm3^:Pѓ|Q!|>O) D.޹e'OQkdo',&x9O|T* _9(d}Rg05@NkZ,eEO@k*uFX?LVXEid@K@sZ~8n{x\}{ŕNy^%7"׷+&)Jy1V}j́LnVʌkӃhPZ J:+kŤF2XEDb4)=I*>>ALWyZi)x'PՐ t:-[ ϣRpSVp=q2nCKD*dy:b9gڃ $"dI$;,Ȥrt#$SQ|gd?3>d/Z^0 J$&訴ХZRLxdQCi[ƊM*|!>TZd^+0gbQabbj{.w/xnfϋi5GO T$_|=qN{O6Q*\Uט4 ExAPo׋IVB4 -!t:]'G@-Y8Ҝt馯#HhVtR”j+! Vg SVK+H=Ml4"צXRZ u d[LZh=iN)eH.;ꨣ077'dٞ/ V;B K|?Z+J&-Om]hZk{*V>k^%3F ܰL4e>R+).`>N(]3nZtt쟓gYt]LLLrK("ie,ZЭp>\^jcv(B7V)$ CHDnwkHǿΓ[ 䀄ɘ,={)Ϙn5tVrz%OB }4gqcmm ^xad4'XVYPܐJZdz5cP v_FI'XRrCYjǼZ-s7?| {k>' v4~MSd61P'CcĂ|셶9띴 M}&ơ*=>OL-j ̥s%{jW,%h|R1;-)5EUY-OR1)#叩T*nͱVj~*wO𱾃5&15Zۖ,?5?;$JoꄦN QǨX" Z}#?|"%ZB χ ,@k+Zm!=/znٲtwF6GE)nObttKKKV;4ө nVʄbZr֊+.}0fgt@N2l41A[E.FsrS :'O$!wo-48ثl6cV:i8 $ɯԷ(V5Ɛ[Jցjͻӡ%PO?4n݊)UiIC[,W!VQb)E4 12W~ZCZ1c|"Yc4"!G=9̿/Ǝ;T&bzzx䞯@HJ 1 [ ϠYhlkN0bMT & s0$#3횉/K4oXEEY"Zye,=Z+\-ZB4}m4OzK2Q\tsI"`Z@Vc8$q8p@lHcB͛q۞47Y1Z.X5D kg^o/o6y a_ƦMUH$h4R)PVBP_{"èii}i/OWDѳ!3}%xr_!_d$&G޺s@%X(hDi& ֞ua'>A-4QWwmm T \L&V3R)`uuFvB|CCCH$42Z?ZALkEY=SȌNHF $#Iji#LŽB^dnDIgJ g}ZkkF-p?P#%ͱђBi=c%VD֒r@Ē[TXhv Pq'o|#* N:$tIT*XYY"j:*`׮]رcGܿc CeښAbK16Oh!֪f#9[s2V \29I'+n Q5W%m59[e|PJ4{ Xѥ9%5L]!}v:&7`۶m馛~E4A>j_ܵh6tj%ύFG}4~_ysErǠX}'Jۿ\y!OE+iMݭArK)aG @R3/IhĴKaZ;E"}_#eVmZ8$št:׃=jdLxtzn'O###ؽ{7^c׮]_"\v"cQZ˛i&.Mw=ruNVJ ,2F E 6X<%֗ZnZ&s鑄Ö ˥R3б~ԒZU|eȟTё\N=;n} j}FdHr9w}8묳9333شilق(yf$ LMMazz?c>DpK$ DC*$-o|[?B *| /%(!yݹ\|όui)HKҺ\z5pM%N8pkpڪ)4b.éo|G|JBs J^<d2f6㾳YZ3}ޚƹ-Uoh 3RNWi ՚MP-M0 }A s@"3,UZhqfhhn74 icrr2F0i2h~њ94b'K),$Zjt~qIxD=b6n}VC]-!Q+?}0N A+E*J> *fBI+]HwNYo@מkۿ?:ZV'dl###)ɓI7|XkyiZ+ gk*B+ȋBdn:{% yХ!4]b-&%1M\(|k`$R1!9fI}~=to~8~7x#o3N.h%>{zVq)1K:(˿f̐~y7P=F;wyCRc"j_B 0e:H@ä|DkUR@3BU*ڔ 5k ]X"yHrY-ǒ 'J@SbYJ{I<GINHs^㗿%&l\=BKto* J=LU鐔Eb88+}@] D*fWR@!?i4eZR-9ﻃ"4Qܤj=FBNN5tYG{"L5Z<wy'&&&֩kM∕(Kb8okE6{:eiaM5/>'wL-#KqERVqKߗ!}Vk׵x[Bri b%Xo H+!6S2USl@&IG}rtnZ`33FHXkr1ǠR<,HV.}l8#AkAZKVh6ZJcE1 ҬsHD*'8u2ߝByNA2鋔9EpIqz9'yL@4 $_}`6)=xq87 ŨKrdnVd`*lh{% qd~hHIw0IOH*YfydREFvIvinm?iLKz5Zb.:&&&8gIʹ$IH=IS|IȈ*ڸ6>ݐھf}Vﮧnc͸>(n݊c9g O$#GRQcI4C CeVitYk &f}K}jC~Vᨣ|H_(kHkKL~CksCKէ.ֵqT[Z ?k/8`⁖X[},zZJd#wyGj&X̱Y9`\< EJR399W|1n.+L ?hk6)XL"]RF:($A9$QP@tVQhߡ:/1W4,˔9JVu> {O{C-%,v璮PҘ,)i/IH^ ~q愶HG"B;nI4RX/i{H=#AbzQj27 v3L(/zZEl^:FFFzQ9xby8@J_C.֌mўt e{瓒Z߷0+i uY.L&\pc?$Y뉛i*$dS*BS5IYZa%EOk1tӘU Yw15[+6XDH!xXnmmZRJy^(4/CWJt8DUdbPJS"kI@+Y4uHotIh2=J® g*E2hq|q8œ'T5jh4}E4*um}Jh–FIgVt:زe vލ3<r ~_|hI-MhoZ3]XFtܳbki-͹wAr4oxRW" Ze̘i/Z۝4k|C s_oa1fsT"~?G>(Jѥq!7V+];& z)ਭk3դV-UD#1D(/#xkZN8KKKG*Ǫw7=ˡX,b~~v:EĪ$n;zT28.9o{ƽmedt]DE^@AQSh#hu,{A@2T ذL|RS-ECfsCI2ጬTl[ff}n>4ThޚAIɈ4s0~PI}0K+:5@20`J̻Kd(BctzuR&nўB FG\?FGG/]wN;4kFڛss%V S*#}onn=---aii)~u,..bnnf3Xr/>l4Q{MCG1>b@T*%\xᅸ[}v,-- xKl[3) J%qTL`v <dh/q(|E/ohzv QX~V;4՟tKoKc @sWK^dzR|MV,ъ0+x' |ytEs=¾}{jʴ+68 qVPw\9Fz'ZԼMQl΄H:sNV $l7ZRRڂDY OnA]%iw8@: ȷ:-i$<6K' ;ђ}'>`v" ==+ɨb%^Aļs|/38C>_B?l(oN٣N& rwCi:[lllg|NޢN {x/vV猯0 (rAα byN,}ⱥx79 /NϷcl*e<#<"}kѣn*.r.ץfwu!b$+_wyv_+cAɊ5 ژ٫nW6VRpӿu:Fr=Y^^5.Q aH}ೞ͈uý}h4E[#cx1(;/p˞j@4@G1>rLjr@Q}&jߓGE~`P3dYʊ=vw^v 9z\|2779/f#%'KRQ'k&!277ţHS13^X?ң$Dgύe2șg)r~]j>~NˀeٜPDdo}kʹ@M IJaPѐ^v̐,zV |`Zu#ITy {"W?_{j&y`bt}o=oEpXq&z㞞Rc푻No1&ڽQͦKјaǖJNG޽[Om<-| SDFrtFɮ/t[MHiSXRx(?}9v@ƣX! zY͢;=h wWh+,Zۛ}VȎC<,:N#Z};4tEl-;(:u>Qzd'ȊdlXAY 93q9 G<4ɮooXLxFV %7HDY`{^}ٿg ,y3:VٳGnV?g?+}k &M={)#+ʜש"{ըsYıEx< /P>Eٷo۷ON;49dmmM'kkkR] UdǺ md)sbsP}Ay^&_o;SݎiĠDKl Fg>S8uR͋h?qfQOg8*LèX~fX@F/Wa{0DiA41)ƚb2[0ܑK[CXl; $XZ}AyndEiy D6:T*ɑ#Gꫯp(~_&Z-RT*2 x<|P:,ؐNtc-ZSXz7: CەFd"RY'r:LXIPl<-B۩YyjZ_`_@+h[!&{f](1Pg`mb}FͦKG6(ldXla y~йMT@3?z@DVXHiO10 9gْDatm%[b <炀2Ucz,VuleAvZ11F9G:$̹+G6Fm1>S~^AMZi ϲ`rjP{O=*gʏ~z^'*fAv&`K]on+܆!uMg?* 4Mt:ſWD\yip}[ʕL&Zz8zvDt?P`kYS=@HQxTV=OmK{ϡk\YY??,//p8mMJuOTvPg'gצ~]Tz@9KmӊEHCIѵ1z \ǜAo]F`^'sss.`1+B}䡇z^6!!ZhY>޺DRy"O;pP!1H D #Ksvh0 yasv^2Dލ9u7%sH**9L󣮨P2id \3FZ8__t:``N]W,`hkb[Z# +@Q+ *[FU/*X=+IFaebjdNv4։qk{큆P >d෗ϱ#aˌ}ٳpX&; ){ YOh{Ƭ` w 7=sV%JEvUqVrh^{ 0X!/!gn=򒲜u=' &=;/}NQ\1,vBeL;gl1tD+HI*xϢP~g,QAY kagLUGsDAv*yOl kتVzu*37c:S5? 7ɓ׽N1+FN\(uL(bG(w)J=V{@ v!G vRÌ?mgH\Zԙbl /[{ZT[1fְYZ\HX1t[^0q5&lPZT3/ yݞ.2vLQc=$ Fn˵^+<s٨x`'R1x0C@14y"NZr;QZgf+Q<^7 u6=wa2ظg7i޽{ }%ahދ1Q42%^k-|7sAqYŽGЋ;=k\b=OV,--Mͱ[;THd"`uꢗ:kHaڌkm8KIDJe'"2Ii$PJɊ B %{>#T @{Q.e4R17( NL )E$ѵXwv+loom&SsΑ?Ec&ĴVSFBGl'C >HdcZ^ǒ(kd ky%~@"lV4=~?eaCWX;9?z}S/c[XD=BGBI;[^o&;iDb^A YԥeH1 W͡{}oޕ5bFhMk?T'O}R놣r)"\{;v }.1eACD?˴":NTQǜ"U3hݠ{=XPd7łhJd"c)I{0L^UTk5g'hHэ4i_k_ W@{R<<9KycXRfy%z͐T`zE9F'HT˜@Iim$aPViyuuUTAHL7>DeTH{$^ٛDY [֑a6^b"ųek6{g0uf ǑW1v_#TTl3G/lE⢜~裏̝NteߗL$nmmq}3 134'v" x"Q%n:9]n<3^n1"!9#˚X(ّOĊecu^C ş> zHh*7JѳpDLx%H,A:0μR*F֖cǎ64yI%Rg`rߞ=+pPQh,.uu;>OJGXXfe°=ע:gc2‹m}&CڢɖzKQsKtnU^i#0fuk;lnnJq=mezE? ``V2*Wh}t\ؽ\5'P*GC'̆5*:u]KrB^P<>{s>z=kEe,vKmN}*g/:|9C"~ K=1Kƀd#ѳfA4" @0"R]y^75 ۄFQG{(J"%tx@Lx@ `] ћ^Y+TX$Ut`-RSϰۢV߈>LGc9oCl2THٙ Dš.vf[ 6oVO.uڣ lBI=k0t躐W{DCIO~SJrY֤jA0›kݲZd0Egى cg9j w /cWUa1hD]nW j&4aŌl4 d{{[8P$i?jo#hMw rE{^?c袋lb1EBb=xT"6+HlŮ0pSfkY*{&DBUQ;v6wyrag?+@ 7P"A k-JӑJB{e,ُ.{TtFވ +"=cb`wOQ9aI5+>bo,.r AoeO$2FOl"b5z#;P,kuޢ?+ՐzֳdnnN4֚TU %]tQQb\vb6hj7} ljt1;)RIJڤ,q_:,>Mz㡈tVӣ_ѫ. ͘ +g~?'|; V~ N'+c%^r`=sys#3#/| RHەo}[/YfB-Kt& A53U[EUfK,~G /ظ&X*2kdD.>77'nwmgkix+sbu>ÍWG]7o# °E]U ~T*Rfhzޞp(#GLu4 u"sK=lZrww-x33<#S؋ ZȖx^|JXbϤH/=ek{N^7}OB,䪫{.n`y!&TٸF 7u{ lϣ.mcl-/dE/:XFyEvxz7h E7)-ū(`p&i[qoOFOwvW*Cmh"ЮA:٨I,ZMk8l| %#v2޽{E=EDʩs;/+܊^VEJ+ێ-:tG? 氪LHشt$}hT$dI.V}R#5qfI I͔ iL*(*" O^wQlh.^p:F#{dotz>p83lYɖ*uf<;Co/!B-qoXb5ؑɓ'EDɓSX~_:,)˲"\pQ=J^4ZTa9J$`<m{& |`:lɊ%!6HEUi43xYPQVy7׎dJvS=hSFCf^e#);κ2SI,?~\{8L5ȒI$tQB܌bfK`p*u2i,0yhVT^qO7" Tz&`O%@bZ6..gk]ES):5c5o~N#/zыÅx<. wF"*vnQuH]ʭN8Kscf2 [}baDAqKI4bmbc3j 19 }ݡ3QʹeXCubz2]{h/k[k4bO^!]Ω=AףMnȥ-9PٳGE@R~H|~șg9ukd'Q%,nR]8ۇAJbޘH5YYYV%kkk3?3Ֆg?PG]lO5*v3-V׉od"R)Ao~ Y5E$S-EC;)j#*F%V]BXsivM%0z> nfhK? 5X!% ݎwԣ CeZSlPwQr X9ٵkWbkw$dPVh K8dJɬ 32Z1Juqb}u\ϡz7O&+#M {׋΋%9cH=Ċ߈R <n+w4MY__*&4z^2M oN|QΨubsVbyR,avϣP?[Vy gdG#m ]Xbn(j#0 ֜ ];beT#6'; QQ\V 칟zdn3݋)x2hO޲Q}`&V5z̎Zf1 )3O䌖 C=$rƆ,,,4^-˲^|4.Vuu!V~0GsBlPӝtFCnˋ^"Y__~X߿_fa\1q)`-%9GFBt^W$tI.Oy!fڀ0:L2'̙^%Q H97GĬ^vݕ Tzěf mL%NlXK ~ud?+c PƠbIE`[oh}Gv/z h toc8,exE;AfvF# 944 zCcPs"bƿTR6"{$AN9n,DDQߩG:wa961ր+Dc cyz ۼ|LbwcIE:+'Dd{#;Jr_{i t:|R'|Rw~Y'\ߗZ&Pz hD[ovwRwT*M kjApif˳KZVJՒ+R?|Ȟ|냋het#уMzc CT}1Vb"2zb#^n'HbeWxO9 È:'b̡)H$1=ghxz] 8J g+VlF٩ vۆZ  fBχs{.Kjj0+j,r,^Oz޽[oK*jBO[[[­-ȃ}_ڊd*qmqoE]gU4SnRVj*^PY!KKGEi@ bȣ (S\u؜N萞H.j:DH )Ra-v~KxGvGc"b!K\` 91l;2`c-y- ].rAK7fuL} aǮ: ݇v$4߮5Ȯ ;{rĉ) KYϘ'1?vmjv89C: 1ZT*'. }:zvGs٧t,~KNFM)eI1@D*z1UojiqHD"WQ$ټ'o1EE--3dͣKҢ5cfha[uwYZL(֪Qs@:wSPk׋nhyx<]v )4] 4Eg.kTx8y\ver5H+jOXEIQ PШP˝f:{XEr[Z+N#VK^ښlllLQE9Bj7D,4>8f{߿_VVV.SF9ePi^xh &O>9ӈʡ3bE醚Nue߾E %tD19?Da1:`:l4Q<FCW$c1{$k06*Q#[Z!"xZ9gE+ԗ)kR <YhcYYY믿^ R.'aݻwҒlmmɱc ;kYdڅ?ݶ^(Z?Etafi:h" IDATku>B!Kֽc]AKQpf%Vl6B-G:;7:ugeiA.DňbϞ=P4%KKKEI#z+56t<#y Y\"}ttPA_` v풋/Xx (OVl+Oc1dccC.Fc ۨ ֡"qi9 4s@5g cvNQ9JlLYEV\n[ 1@8guS1d#h(Ű1~x`{44BtW\q<#tlZ=Pʛ{n9~t:9tuSߨ38כ Ѥmw%iYz G{ciV(Hn~A6ClWv-م!TB{݋c2 b qgJݣD#2Cqnk +̈Tz΁>4M$ J́G]uIf~eD틨3Q8|3 8+ugl((0 {}E,6WFrO γo^LlJ Xd~~_gHVw}H>ooɓ']w&Tq,~!%fݷUn(ZCz Ng oW׼W]O=vOCEPꫯ{Gz#?6dc 6[*s`@PzPb&rߖ e)E(fNQS 5&HjD†^ӣS֦c 0de"0ps0t2Ӭ`{AYx@|6"V`0h$w}lllZ9Wz.Os 8zDD1Ѳ٬$mAv^j;>-{ECv|e٤b0 x~ ſ}6v_Z' 5SuPŜJ"z]WqxT$xetؠ %>4x[h"13bc)ژw5EslI+FV`K\F_N8 <@q?Ry}퍽<0BJѐ}2 diiI`RY߳{ꍝD 0B#f Cqa8䰛Xrfϕ;,//ʔ L =HQ]}QHC|+?̙XҜfО%%P&:#z̈ {Y!.0t~>*@(Fl<ֳ>s^kηܳgL!:׋a6Bl̦->Pdgx<.R$z}&j=ih8ct"D,FH.=P El prmo<WB~`0)uҟ}V!b w{?ylmmI۝yI=7 KK`B/:gsc匋(2Z0k=}u#z6bi؂P3d8W2ӊ${”x)˂l5tݎ2?[9ؿ,4Gr 9vFRFIE>qm17*P{"jhzk$Q,ڇh`FMx+QTmP;GI6ԝf6D\~.t9f]"*`A{"8!Rd]DfsQ6("HF%GNl%y`!;dM;J<^D_c_X ^ BC rlx6gn"-"E3Fz -jؾwLvXϋ- a=hs9rb fѸS9B6>"p0HەV%z}FQv!*s֨x]6ьzZ-Hs3+, F'_'bh4xF2rz㔊Tt3cJn*;Ku19syUg-bnF,At6䜟;aڱh11 1J`DkO#][+x,FZ7o(9U¬LdX*d,1m^oupն=u?1XmL^' ScOG~/jURHߗ/tX‚uQJ ݵ Y*i\.ɓ^߼ҟ GhOldf3Emd[|RDBe ZwiQ?P~Ϻ,Fua,?ͨ:,H,k`mf(i,`}{؍ƋP`0p|O=4uw^`# ^1dYOhΈG \r%S¤g۪":9'e9~\}]=\Y__w Bk;lYdOtxIy'7|{IȢ?L,Ev.aP`^ _B9|L!b~Q¯(Y Ef,ڞ8u;wntQdyzw͵Gg#}l$&5 ?|<6"7+Bi:x8lE`l>֑Ӑ_hvmru.6Зz2 玊{+<ϗNPywH.'dmo[[[!mБ(SfZL1 =6fFXS#G(51!6wbN10/bXFnjE hwh!7&ji񬙃:DOSZ`~cMx`  D,~/RI666)݊d"p(@ CK(YZXJ{Uwb"o=IB'jؙ foUSc)дyKV SG8zN2;Ɗ5&h .StTzh'=yA8YzT֣;1u֡ ɠ& f!ly#qV5gKX1FY*{-H%}~u 1=!6`y`4L(``w9vh4K/v-jiH PG`4*AKJȕW^)o~ _ʯo<.=VrhQn"6` *j59sΑ7~V^WcIG"aDF%Ƒ)} ^  o{gBߍcXK~%FyQŮ @v=RG]GX`Y&^#|E I6ccF}ΧmbVG|ƌg2t+jx-{QfbЊj2/f)NGݮ49h49y$RǨ>Kf) 2kZ#KOtZ-SMgHi!zRDz7$V%)řuQ;A`DXZxne3[#~;|d(yߨۋ@MJe-"%&L0Ow޷EA M"Yš CoHT[%*:7{s \ En- J4$hwry pID9IJA2,tnu|,@["mJlʡCT*IՒF1 숈Ғ'?z@}73z>xZۛ;k('Q'l@KsV9ՒMHv<%)zzyc$O%L(f2 ==T4!Dٝ0+Y!yjށPb3[ Ha've9EM$!cxw(U8N,Xƒm^ϛ}&, 4Oxbf*Q"5ϖUvSQʡ͢`+QٻlžcѣrUWw!d޽TewPQiiVH0Mnnn ԉ,(5r4ɣ>*>_\wuO|B>H՚ `@0RRM{x{v-J^I3mĀİbȨٺޣQ{65Yz}66 H#.{#1bY捌).l̅)iXlax{6Qu3iXNJFjG5*+eO_Nư `5"[_6_XXN;MN8!^طH*oy[p}}ժ|Sz.VK.袢-wMT }gIa*6t\(Z =H y Hw[DFק۔Rx#L\ldybqqQa({֍9ھC_gIw?ف:((2ڥ'20"t;JP]"󒞝n2,Oڐ z^i&W,z>9Jk9ќbJRknx<%jrĉ)7s!}qh9E|ӟz.~cy2??67y=~/믿^<([[[3x(rM7$NG9s }N\qr]wIr(ϰI/96T#VF\Mys##GHٜcְcT IDATY\E~mbx{(8my })ⅱ3"XLdֻΜ"7:g# Ug}=cQ< "-,/gy)ip,f߃?֒ܳ,3'PҒ<2??/Z۷Oj?38Cá޽{ AE-U*bvh Ru=lW3EEّmBhӽHVMXKVB&2LwsS${z3,3sm<9쳥Rz1p8,` ~Wٳ(6ӛjQ8TYVAq&diHtIVbvK׃hVў쌅AY:u\r ^馛dyy&`i{"_j=G>uP啯|lmmO<1%h4`C^g+-u"iؘ *s"7/&4a<Ɩ{N=ExiIguYv xN߉5-uCZ ۺ^3}+J"+e8N K.sG$FId(: ,u,m͵Z+̺hP!a82[[)Db:O\/We c,c^!lnٮ{bԇ+rYz\Hpp=E0# ֭A1,igl[.xFv3]wԭ eGvC_gh[D~sssrqi4*39ڎgͳ-RV@gFqD4gZ5v @q(GQ(H#m}i4r 7ȡCd{{2jdx֪مlW.{}z4WΒHij(#\{Vs,{Fž Gy4sԳc;}V8,ƉkmNÂIyv&ZwkG{brޞr,ZMlNN8! 4QB4}#MJHmP+2EissI"GŰYjB_Y5n.KT5miWGj% z-@žebש @gj$ 30]?@s<$?zZ "0^ݻ*,~ 7*%B;VEA:5W\8/Q Hχ6d+>jH%:~2h[D1 䢋.]vI/F,R1 C}d.Zew0$jl!m^7 KxuYrȞ={m E>9;ennN>яCyh<$"h 'v G:ѠUgtSm9sk{2 ӯZFiTHd cQݦ+[cON}=` G]td-km:9:_ױr-%׼1sxXdbYa=fFuנ[rHb+Ϯ2rCZU`Guց*csR$st:h4%~/sssnnp8NS$)n 5MM' YrBh#+hm͙kLw'@[)xj?c PǢT.xlV;G!ԣi1`$,1 $ fvVD~GEOY:Yah>DȺUJS etYFgA/IL-Z}]g~)Ph|1erRj ZX;d]K zz{.Y^nw uF%'fx-V u_ZZWURowoOBS敕;;o|xn#OPM>xc#gTA}v[:Y[[CA&}f# =tΥua3PL@flЭ*a؀m\ VhVѢs# \ӑ@`#cQz8:fj9y0c'3ԂO&׌Kg@*(Q[y?cn:!fI|Dgen_\tEEjZ-ٵk,..Çe2H,AMo/쀸]`I:1zvdz@f0L%؋ BspƳ] ,`gEdxK\U2O,sس ^ 5yE?^'VK^ǥn'Z*VI߇cI^:+ΉxQgT*9qTH=@zojT!`1r:9D 3=f :rd8+#g,FZ9-F<07#$"a1|t.؜2k|%ٳG^ɧ?i9묳YIxIߗd"FcJm!)a94>+h>U{@fܸf'ƀcbD+㧎KJ\ϖ)u٬ݨȣT*ɤT|-<%Nl/MY;c 0{DC,$+޽"sa< 4'LG1Tb>z!ZW^A"ty=vJfY~tBp!9,vKGE#6`E?QbhS$F_,˅[Fkvd{~y‚,--w-u)oYXX,NrKYF;hhm $g?r!9vT:Z<7Fכom.밞8q"33JX{ (&4@$Q^ Dr7g=&sqaR{# (4ZbDN#cPfe1XqQlx=el(f`k"X)WVe8HZ,,,Ih4'NLm*"?hڭVaF3yۈ`][.ROJuBvpC^FeSv$2ehIbo;Z ͺZ#Hu<ёV. yݰD *O,9#1bMQeMT:9iO$3b1dt;)u"ߑ[E 5G9}g]z,WW9$J$%Jy` cx7 nW7`/X3%Tw=U&+*"\i@qNȈfHa>Ul # duOoέ"zbRV~Uʞ`Wn+=l 6;c(a t#b\?'$^|73\o;($FQblѕJG烳Ld4؊|,s9DEҀQ2gD[ڳ Ӎ9*ǘW }{p-2*UQX U+렴*hɉ)4sYC踱K7^eh(b pdhHe 8;FKhHRqLY8@*8&އ:Fwsxߛ&_^>r\Ѻ>(T ؖEz?GQ3͍WBT~Y A1U՟\='vP%N<5g=<y>ѥ E|[@:= Ysm>s < u2pUX;|Ixw|N{MX,>?>%nYim AJKYaNI-?(΍k"D|e` =y 3/ёMz]'qsH"TfC)Pa+ 0T"4*)6ae9Pk2 J88π/4Ut1H֜OSC̱I%|Ru:+]j߻GEJ]A[GD\O &|'zX.Cǽ}vot*q|EIZC㨫LNuU"êȿ?WQuڬ:nU1r/mSg?3xsss@l6]C,q@2T=Mj rl% juXEYH@<\L?_% g{4;sÍ 0Vb_AY,0*Nuȴ\T6άnV<`õ'}Oy:d|8>8>>__z}vn\.,$|cLm[g:TVhMz3浛_nvĢ, Et\!c@B*dN @V 2&Fgx`&93FgewVg-l,QW- )uh6l.TBۄVT?nUs\7~_q||l}[X,$p֮UU).X0qv,v]^^j*>hYTϹ676`sNr3x|uS>t 3K_ {U53]i'Ftsq.*pP1w&c;?.h4l6yD.NNNb<E,hs)Q*Y9PX+,ڡ~|-ɇ co*kVW"#M©p8]֍SBI8See93 (Qj JNzDq\^u\A6ΉgfA%jNIܹGL(UX\J$PEE%l&G :^~I*z[ v Wr{7']p~| VT2H"xCAu3j]9^DtURf/._W ŝvfYٟY|G,uL&Qu9>cFߍ WMzײqW7q|8XބnV|u+H;K+&[?JD͍ļ~zfUX%15rtQ$!M6~ukjJ(k&&~ uev#ފxggg_2{am4Lb|QSl6qzz:tLxI,KJhF| `ŗ&߱P5eT47ܐRL6κͬ(˟gz=x<=OC 9;$YAκEA<Jd=1CjU77ATt2ĐVV9v2T؞r` X8fuUzQY1"Ebx{{+;RՌVTepYш@3 FoSZbE?XV^6׮=DKI%l2Jo"n\"Zv,b|\ЬBr$H4;#kLlʍ 8q'8SU]]H+81%:𹓎/)[)yiy||h1po%='Q=]!3n@ОFǙl/7ţuD Έ۠vXƲDӳöQGeCi͇R]0(ׇ+=bm{k5S͔AbA8 QtMd)qEϦΪ0XHU>*ul%S373n'iU'΍XT`[NN@F!Լ<3}Y:8FjX75eFz??~jr|Y+]W1q?INvsY,jȲ@6"tss#gzjNa%hĪQW{|g4 ,`cv>*H([㕎`˱zr^@qà᪩ƘHVcYtrXd8k6+ܻcvŻ~ffd2xI}g?{PP+ jάdQYI?&W)GbΌ:{~ $&ɠ|&oXSb ) Lv4EK[0ETAuڜgTRCv]{fBt =vxO7Odp IDATV)UמQzZ([sꞕ)1aA>YaSX%FC\:;"bteW ˥,TZo"A8Vtň`0֮S(GwxwPDY,vL (ŸuY p# qf8TUQȜ7*s>KڹZc@f 6Krվbh.TZUùD;/ hցb*,pj QqN8Su i-}(?UTx<> EW8>>SMu }[xe5Î&,{XXekUYW4r ƺr'''GG1LO>Zsؚ]{,,xo~~j%ȊA欑-8TS\.;W=@$_YQd8@>n^QYUWz4y3 ]w֦:0uN_SJ#BuNZ2Wd }Ѩ .D(62kz#7lqt{O>d2NVUɓկ~4VU\__?Җ)X==%&i׈Hutb|:s! Wgi8ˎ.;Y: 8`9UwE}W1ZU(כV`Wbi ͸D%v؍Vt3J|]q7 S(f,x*c(*ڷ;T]MD+,ǎY,ٳGşJH[LjCɊ`פdg46*T{T]wު,>Øf6$*e뾚W 4z"cW)`-l\q*WY16%bnΧ>NgggիX8]+6M kJLWO =YXZb>?jThCJ0VյT?[x{U|B:PTK8Z~;Ur\KHժv`*VUNiT(;]D?o5xT~`#r/<9!\X==h4'Ct}!D7.yۿ8::~&jjA8T )ʮ]S3A8QA-2<ł3B =L`h4xdFyg4jD+Άt c]E)I3w,zs;o gAѯu_cc%9mNB\:2*UgФS3w; 1:q^*PJ(~HW#lE=oӧO{^|_v=JXӻ*+nȮI1p%sPKN|{ߋ??j|"l@B ]Gfk -grl6Zbbج Vg @=aSH+GfIU\T4hD]#ss.ཱི6Q{X}%U_FPEg,UcZ=#S uUg>zTEAysjjDOЩu"NNNG=1'OvjqI|R (,d26EvYQz)}\d*.#* 0 Aw5T:U&J:vcV0`RѪCSPRHwفT3 rh~Esm C{:=b\.kSQkͶ7'WQ1'v?10t뤢=xxE|gUu75:Bfuyq%_v `ch^\:\cSOƋ/իW_:# ^Lz^;99J/ΠۍysscEc;=+q*v:7l9SDV͢;UuН%k/R*f: *^Wl4d%W=b;t9bڃ18#4j߷&vgړF/Y=99|΃z9"bZ8i׿GhCƐ%ԟs!S` ,Ɣ+ &S?dID!P?m~<۔{n9T٩bR{P(4Wu I!`oF-!x{Qfbs΂8^XEQ@E}Y!xʕRHLY̚t&rnXbי@r{owwwγdl5:Ы"pDL] VZ9 tT"SV?~v_WC 3|G%S/n~OQјv]R`xl:ͥ!%iJ+ڧUlw$Ft56&l\'Jͱ=h]Xc\qi|Gq{{/t0nbJ[ލ/9aef3qʺuor ^Ǿl:6pO)Kvu|@pTYl *bk))w;Á5k[8'ZbLgI׭W9=Gckzk1~FUOZwo1hܴ{h48>>xw6m6dʯZpM=K_Q 2Աc\!uʝN.3T@M1Hqeg6_EEVn=_Wa#ű`qυu8z•>3sɨ;=4<a#PԞ Q/ahuM%o*Quhv꼡+s(`leD@,ٯFN6sBAʾBoFez{,iyߛ|wwwgūW+l2UL Y#x(8ir"5:N;q{{~b&Θ5S0^.1NK Uu(BV{-WWWtCc7Μju<169 3a d0ۼ5$ dJ$*` S; *`ɿB(T-8::cK5VcS>>>~fR+bם{ <+8??'Ofll؃4MTVso]Ru/`ztI)+謊v;~;|͈fD1\b@,RXU 1JBN !;UQP̃ڳ;~e1b:~˨ϛfqqqQOeYEfFMp6iQlZ,sºl_h'OW򕸿Ʈ@U&Uf ]wD{GvAO[2E}\K+MO>??Xq}}ovd2yhbb\nuۺdtgbC6oUe߿+]tP72Phy C2Nak0=jy=XS,\YQ3ءޱ+sX0fcVcMV|`uDğgggÿ?kT,ٳa!ojƘ h@~,[A\m6˺< *(Loi(b`f<%T_2*瀞 0؏G,`I;[juZ:QdI8`X!a-|K~,z|ر+u" PܦP%ފEwÞ&D)Q IDAT|ūgA5_}n۸(ivpI\.&o!lf@c&Ǖ *,cf E(ۿg{UL xXGGGqzzַ۫Wb>bt@.BxQz\WKKvIҝ}rzx`7v(~}GZ1Tbh=g]^^>UY(6ǚrg}w¯K3YJj3lO V*'36E(&&L_=' vMt+!aèOX;V!!L1G`:7{d{1xP/,noo˗1ooŋqyyϟ?]F gEi<b꨺#8/ 72ߙ} *Ͱ\>bn8ɡEª;,بIL:3ں[wk0;{LuU=:N reˡnVdT]QHmY:;el`uF2E=QtDjcrr:*{7Ԕ+nK gWp"Ÿճ}McݴGUc|g[oo=*zj6֍A˟3BW+_LU]24Aըŋ7wj+K̳V]7ՉS9zNL#]~O%׳NuP嘝w[ 3e6vr\MիW;|>Á)X&ٔKNٮbaE*HVp9wEtK^!qTt\XјQqzyjsT! mV)Nڜ |"Re:V:Su@FWW EOtKb*_wzu *9f8==3QO~&O.킪ӎQ& ! 3*ֱi2=f5%9x~%/zZ=:V }tb:Ɠ'O'O ^Lav ^~'MLVi~.+2]TUP}fYC^ ^ EGW>[u\N΋F s*ܵ0zh*U'!:Tj֩U#=C( -Mwޡ.Bg3*בּ怇c1RU[z?я?k((&M]}LJ~8n`l6^ S>̝V﬑TǹZ5Rfn2 w2ON4c.ˆ9q]ѭPO% U)Nc7hOW7æPS}p|x<[Βݞ.JZQR+6[QBݣuыb)>*A >ƟriU5xo6bm掍ϚLsFLTɉh48;;8??Tiσ൸.5f9Hr@ra U%>6̓FF<#+ ǞGt/5W.kVqY5-D SfR_ܺcT N\7=.rgCǹJ#)+&l@;{cLeۘXLQKx`!5Gw]|Wv|߈b*уF!1N̘Y J/ql/ An4ua],BJrBH ˋ8oHKkBԉީfѰ܃VA;V S)6X Ps9aWlNfFAV@Mpu "b(z0Qâ^+ȪK]ф{J{CÈ%J`IIyq1zwwwqvv&.ڙ\sj$)hag@sñ'73Ō wM+bnnn$.kMͶO<kv}c|~YYڔV!~ WzWp_1Gdh~c:%XLT^îx4hY=C+-6/̶PKKV{5rTc]UHuEf-e1!rp|c# I܇ );z|!qxp6UP,vwIxżI+ EFsYL휩:,&qԺCu/Q4u0d08*O"ʯ:?YA0+9#|/JUp0v ;][9LHXAnM%*6ƠErޣ y# "V1 f W|O@Qd~RٮXɓG1UQXVIhvCދhq;EQXb¹}o(∁nbDRw@V;U|!SvYgrq݀4 f.0UuQ@j%]X___?fKȫBŁ2!]`UU( us Q^Wc"n]Ue+1`W9.ŪSg+Q9[Tc\ gk5Md"y35]+֥VuF/V] fxP엞Q guqΩFG>{v1OЖ8c ua},#=wNnNpu'+"K,\w.)ڱe%nϝrF+ Zg>"ht$|Us8 U(`L.Q3Qר:hT+Ý VU]$x ̮PmlNU`ulЩ~5S6:0nE=F>???(1VIڟ>^ݪ gmv<#Xg5yowh5lbZY=W @9bg'KJ"#,eZ,,QvC5XV):k!Ur믮<SRVjb3U:!,gj8BurUtmbR= 8 A*GQwcU3s䙊"ݻgg VkbT:J\1oU~RmOĚr2Mz*^~w6mo;$gv+rMvᬸ/;kgqVl¦%(ؑ΅|KpZAъֵo׃LϋzewL>"h&~hñMc+JRNXEQq-!Eav "+z|1uP"l4":șQS='V4`k|W%T7|ow2?Udl6˨Yvww,Ń8z*gEuW4b}&ZDui^Kujq{{@ۉn[岑FQ, t TN^?k_˺1SAau-,tXϳ\?z2ӎƳ0:G*g{;{u՘*D5Z8b]TzcFNlgf{hޣ!3wLu32meׯFK`DiiѓUͦ Pužt2EP1X~dG ~c6=4owy'<&IɟɀK[QT[A>ij?3ZW1"`]FˁL캰an1[x3se=G}.Pxf`RPBAmd8NyݪY%@(kݻcn}8 <2SES'!]Y9Xq3 #VP8CfY񀝗|,a 罷fRtŞ96x- Pc0FWC i_!}fGW0𼇆f5gX"#\BH6N sAi]T,'j,ըT~8J\.mF/X#!ǀXX΀WRRnעjTu=ЃiVi\__Mf~wwwdUgV&*y·^a0Ny1.(3/~"hL ;, LvGEɮKf l]aVZN,' }sSw-vVݳLf9Y]ia a'(jsu+JNuW]ףڪ(]C+D8Nj{l6quu;s1Gb_F}cڵl6X.CTs}._,X,^XcFE4[0I alj3 d™C:xrtA0NY!-A^%S7vG9.8V,Rd cU]3Rs֒gs\}r^J߀yY;`3+{u!zt`7g?{huVs.>wQ@J7Y\vq0RuoWU\^^X.F P\.wމxPQQ ;ފN `"V:nW `]bH+BY:xttQ;* y@* Caꚫ 5RQfziQ]WOjƍ;JgZBOi`(&C#ұbX7c¨`GInB6z4f9ZfquDu)@Ewq)RPlLf,_׏j/DDuU" r@K\қԳG'{lD9SJd *smy١Uqd05b~ŜaG$%LћhRW.벺CfY9(SUcETea'6k`{XXn=]lozucHyGU~/K&ÞؠFQȁ*Wrq=f׿o~ouzz~iL&899˿'Olj1͖Р LNOf1JJH}ƢXƑNqRkEkgg;WXcukو!sV.+y-5}[r9qܻZJs47nݱ5M gd=";M; mxzU6hXěo:>6\v}N:q+$LΧ߅ܙoby >\Mq}21K6Bqen`]ĄQ+q2ܜ"J%QB7KTw;_2S42\1ꨛ$Y]949 SZaÐ˪fԚ c+ ?PT( TbtOUMډ/dVVtUB6݀Vga9YU;n\.Y}%pyV'ݜLCy#DBU{Du&}_-5* +QյUI29(׫*U *0nol5T,S8.+IfvGcw ]gP/'{?`b+0Y.*61^A|AGŠӊ!Z5QTPqBX7^C&Ñv;QXt`gZ}ss?]D|>o}[\.w]L{UR}]hAYWgFHxZo{8ӛv9Lr7@-^|L}c~ʒ+?D5ŒU3ePU4(VK T!TPC:q;SZIfR2FAbpn*Xc8&c)`Duٵ&7&a=+V}d1jvZk`h4Lm=ZbZ l1wŠq|uѸT%;9L&X*PkuHd2r` vKY*],a#nm;o%S0nJ_~2<5O=\.j0kQq1bN33(gI5.S ;,g]Ɠ}f RMPYuXw6JځNoI9B9#qk : kᐜy$v8s8&(>X,ŋ!1X83l„TVUghln4! 麹(aFTZQ*tע 蕝2j}P\L%;sޡ=ިlo%f(N=U"h! ^~Yd<ޛ9J>=FUʿՈHUz(GΟ7Lu19un:>>~kԲ짞bgggtGYe*غdYlFWX,lN}׆ڧ*av#\%qY>U)f~`,2n1~d) ϸˡ ;Te =CgU@,OnUM(@֫13eW5YV9UʁEY`JB,-~64}L&1Yld2QXI;b'KϬr3*d IDAT('>P=R|Ug: %(#AU%dԂ ~ l`+TWQܙ.Zңۀ?BA~s2iQz%¡C >'Tn4wױ(ꝸXSdy_1T\O2̪}VmEB`Ǔ!,cvl6(8^_SRw4"x`dZdi J=~:TOS$#q&yD\g v; ?td(E?\8'iNZuSQUG՝._+%L=蜸:)Rys(4͇3~e*m(&j'ɫAAj6ߡxJJ]]`<Ձ^W66 C.Tj=*u⪓z(fߡ=:욐z+jGK5k^899b>ie LJnj#"nj8c{D=sFfjRVNuf]sϘKO_1s 9gr&;[["Gt+{t=Tf]X!kGuClxų㩊J^5Mz%vUUL `0u^]pS`Ve"mGREeV?Tu~< JwTPi;| 8u2*2+uqW1UY! q2{vLd,&||P"KϫDt}$:|]XJ 7XxըE {wwC(.aut#j/f?:UL (byc9? (R9{TRGU̳xFV &*>u218V0utP,{QۻaY΃0@8bjh8*[κc[p`4dnWץ,,?76(XˊB5)AG<(ngC =z&q,NC.FDZ*u|ߎOjw)څ`(\2!]LU-QXWO%!JX UecvIEY|,QeGA0W(d Ȅ>3%nWd0ev޲ T:'OS* P%ĺcv⊣bs@ٳV66P uwB%y?D +mzr -W4eq޿*Vonn$%asHr ɩNwKLfLV]|my!WEɠ+w Y>*OtMlU⦋(a,9ZLf\u:a]:&?3e & lgqBY6V,^|y\2=&:G_13XLPNTxJ |rx\Y,aUЩܳiS5j $aj*{檞RkՁ iÏ?xh/"VP>D`1GX:<~ӟiot:t:ٳxY<{l]_6ǐ io{.< T hi2{0·0Kq]O{ ר(Ys*NZLgY\Eib*1ҞJ6Y7 wWhzv%FTQ֍snETU71T4o|oAu]ͯ+a\c#t__%!9k>wʗQWu,GBo8ZUU&+v';UU:lhj| #1WV#UuL,^g;p ;3qtLug59W`ޕSFLQ=hO'={ܗqnNhTcnd"h3:N:ߟb$V V4vV/S68tzr܊/W:A,Wp%|6rY=e#9|=c}˴e^EOv]V?G~7~7cv}DcwN1.:6s& Z AT4Vl⛉d RU(,;.Er$;s(+"dbj~9wb! xqx5.n]9dZ& DY)gQJ()-bēX{xb0fT,RI.Vtbw=6į)PpB)Od Yn"h4EJU[bx)XF:be.)ڪd^="YлTU1ZR2.t!vYQz Wc=J!uUaZzΞTv=l10G} 8+6!Q*\.r|pΨUAb<^z5̬#HDGr^icL5WL bQzNQ[~=HӜ`z C&zWU4pm6X.ToGV(`Re)fݪW 9']!e]c)b99X-TkܫֵUg?,Ր,VX|4209M\:R1=!f{1Nb0z{dblM}"*w@kk j9s>899yfcZ<E׾!7{~T"n3gt:} f僈PE;P+c|L;rg|Fǯ.;ڻ'B©m+;~*_MfU/cI8{b JbVUcK=B/àPDEB6Ng %_=T1Ɛn5l. PjEU)2ߍj8 KsyB-τ:j nz@@u4 P~u;'0Ak)pDw5Dt՞F1ܵ6¬yS :1XnKa͞DIң=qs@fmU1 0_D&tM ,X.Xs~}g֒ <c+ +FrSQbNwGZ׀k+ 5f3e |qgQU6q#F+V5xȵX$G gs7Mrn*"b.j\LX` =ձˍj,0wlhif֒\@+q(Ձ4{Mӊ{*fիv(*\QY WQ?}?^=W4C!:)T]d81tnoocZ=kX׏y,9{DL9w`1$V>dU=G%Gsf9 FnY:/W̲lU^@vsgCEkF*jU:{/ =JX+\1""jb +VrF]*S `1GPŊ[)wX:U3S"nq/#s31KYN#v7v@/ȝJr ADEXrkqEn|'Cc@-nx~O,Bu Qx<~P#=>w,%f8Ev݅Lg E fiT#< :(ܦPsAp¡36Tn:$YWRL*tcƽָ.ߧDfX aDy"AJ#@%0p;<:ګ(e3FwF}ĢeeT0%`_Ȫf)Fw"LXwL1}*{)4+&֒Z+Y/pXF=E.xv*B1zcX<Νco:{sc{(N|f:iJҥaM8ըPf{^g}Y<}4̵O&i\\\d2~~jwՈ";' ,|pgt %9 dHKĻFGGq\l)J*.{emZ+k68K+EujC΂gq0ڼJ*ʺU7CueDYcs1Rv(R{7J_P!wW":`$ИݦNvX+ZJeSf3l,'1_9?*fk~#W7nJ675Rzo;ꁮ'OvnhБQFcixn3TSh}TaE}˴ı}b}L,odBqR6@bir#k}u+߉)rVcZpq9wu-\Sj78;;{$e`//WaoGgZI\>X]C@F%Z&t)  ?Ϭsgu,߾l8;W2\d2aNSTŒeSk*|H eͳיHq?Z8Ҝ؇ڄ,B;pp=O3ss䒬jnZu+#p^uXSCQS F*5&fY}=J}BuM*TS*QVH#F_v/21^%nVy q.PZel G+ D EAQq]2|>qPw*m-VGweӶllG;zɁ IDAT:j`0 HU;o*7Clc.b+ſGD-`1[Tvy35رH@]+n#1rmg#=P*D!ےu2'.vO&\ B+!k8^r,gֱYcЍj}kQ߫|&I7qxi|g|>0 c.&{H8Wh.׳z; d]\$7i}FS.*ګBC)-+B<{L&bZ(uKx*++va~LA4d x`1zlߓ u_QsYv7\ 8z;pcN\̺Xݪ;RӘm{.r]@7'Z:=V݇^&r6wOZ͙n4r;:AKUzE0thtEwZ8Yu86\!^iJs=%&b8z(P{.&VZ, FhX<ugaGEm?7j]_Y"WC#P`P*4T­qՁQv@ wq" `FbvP:T`rI%2,",cUBDE홼onnbZ*H".Tlޟ=[5[V35 {=$K2:ڣ@uq>늡e6s/C`̓V6B3EQchTLD|z@sU^62zΪׂ9bN17ߌndhb5'Oo-^|)4X/&EG9GD wq[˂x#_RH3M_:P8#;{YTt^D[uxY$`=pQ]W,:\x]g_xSjy]=y?!Ք58O(|z,@5`V,ZW,Ժ:J aqF\QI/Wi/Ӟ"YJNl;dD?{ul+=F]7<cZr8r|U@ˋL|;XfXPQ>uV7b,X(}MUR @p;z: b{uRzp ]YT1g1ŀiU)Q䮑`*20Wˌ;οCԈa%JڰR5:z[؅,+/-&x</^Uw{v1jq++v:-wclN.XLYi?K'),32Y\EFyD5M@DD Դ7hJ,] ldꙕ ܼc^YyƪqsUuUaT%LT!b,qP;4Q&>R 0>aŁ0YeºE%NOi;`U,75Q@+DSmԻI*w]9&ǰ[zpiJ9?j5$ PFX,븲D[s" @J%YuԚU4\xk1XΤr|uTys`54b9@ŎP*N=DѲpL/_xoO v1iՄ[Q UC]bm k/^Ӂurru$׃ vqQ9epUʳ(*SDdfb̅v1IFD 7/*e7:C%VQa{UD`WNu*UQ8 ˂bEu_5fhtJ%_ݻs5ۃ='wX•͆J+bg:)]gL9frR %RbW\sa7 TQJ[xZ+t.R1nooergVtyW^=cדUT.j4?0882k,u9搮 pRswET. ZD&h/ޓ r VgvՌ-+FЙcZ Y_j:!1%וJcg-dE~\!gŪؙXU1ܘ*T>^\9Z3>k'ϸpRv899lZ!觘 ڳBk9pu}L.A3,QF:, ˙}[!8\[ёv+Rv :RJ1@FWYZ0We#*ZzYѠUBS N+|)^[.Be=#nLPaRERM-]vz ǎ+{UB<V:LTGuIJX%@7Scګ؎gYcf ;5|>t5mۘX,$,zC l޸غ ꏲSr/}꒪K=˞m;2넲 X2]SA݋sa \_,t~Rl37qnpW DŽr\tLcA3Y15z>W>̅H^sUwf}kQLF~svv>={@h?u:} D<#H$vs1ΐ^u#mvCzmfFQ|jakj' Ot<ϧG EzԬ+ǐ$t`jw߬ Iuzu)Γ`4*'CyvdPUu=١jn1|fFTF@#ĽW\*Z1Ԉ.{C{E8^!8YQŤ͢L=JMQ>+:)?X01'`HE0zp5ba2NLb\r>nooc\>rӣ,///J~%UE(M:P r ;Q1`z<{vx}w331*S*ݻǮuţxJF1$W./"? e*&+|] hQ,jQUilf͵(2>pMV5~ӘxYfa<gyVnU((&̶)G{Zv; y Dr׸=XT=S]J/woH RUnOy|*3+ЙM Caܦ @(T^z lu3J4pɷS@X%jL G@g lWNWʩJ%Q*f㝚1X#%;-˘uc2}T j6LW`?ི;S\f'scku iEtmy|zjH>f٠srr'''X<0 nnc^SQW2 SXQƨ)igW:4,bp9T >M)%R g]cy#C7e'sQtWF;zh= 9bihM^\XKj?gd0k(L>fDQ}+ݷs||}kzЬm]X.(}T +&(d,39!yv@ׄL!Xqоr2xtt'''2 ,>ݏCA'Il۸TofȊr (I`lȜǤB R'̤zyCA[OR= X7M<.!q1SkjTYQ% 诮XTόiD^j˜Ĩ"DuQz,^~\,3wa3̞U+.ܳn}}=PԻea=wZP:l6x<qк Йn^c4t:GLPuS+u=Pi{VBa>hͱz XJnX,rTpH+;;RI v{ %6Pa|ke. iʍgÝ*;[f{z0O*Vz*>xUl8>>~~X,(^zoF,?N<<1wm$<H)F1L!G{D™ey|oHWpy|' L9!WbZ%))n"0 MADQz7& :h3\ #آJ1mKT`'um;T紲]Z*Ti{K1ւ:\v<u!l*e[&+:0K{-'onnbo[12\ޣ(X@:('n{_cf33!z~4Ğ+3S$9Ag@CnE#w %&+怊yocivs̺ڍ۶˲30F,$`  !!Y<ɲM/eUfkg %pwU9e׊+bsɼ:o(D)G^r #Aڸ9Jcɍ$% lhI"Ul)*VK~=)cJ&k .'pbf6KV]X*Vwy=x}+_9Aggg__/^i2U0];LOtB338gpz|=@soXw.,i"Bբtr\7F"MiU7@!ڕcJ>.RpIEv}%f~hcJJKF0wP:=ztT:f$W:TbIUkYQSǪ@w%Kɔ0VzFQqGxV՟˗/Ç39kRbCzhGwvߓ/nږpͨyK #v1Wck*H{icTg/XUZdQ{JvkrOq1\6Ϫg>ڛ : \ft͸w0b'6KЮ cj&|kI1O,:77ۿ˿1,fY/vyyC~vzz뵜/Ns5vZgqGd4 Qv 5gb1 )K~M s|3PŬ[v{&bWK]Cݜ?}Aš4I!VE* u#I4;ST[,Bo^/^HD:ܣ^sv߷OJ9jPeUQec0/8yWܨ.+9;omZ'OON{zF?TA%xtx87w'@>\}'&U^QUR~:\ !_ͪhQr\U*,~8#S-8Rᮂp IV6*pX%>GU=YǠ3݋アm*^G/SeׁCy,u9;^Bpv~UB3g{ӛt"8yg"Q yN߂ |+aSf\BRϞ=f]F _G*KI1K^[,⢝ߺoyaWȤbl֏qF7}N֝JI-W!6H,K=n꽸nmRvdr%qιRbOuQ)r$suվz_ g\rcH q#.7cq;f~k_KDAsqqѮ{7o`ӯ''ٙ,~:U8 fF 4w4XL?&Q[kmdCЀKum>#cp AV6)Isl%9e璅 Kjޕ|JQSErBG#ϋTo\;A7֫p ^sV%t)MOst`+Ń*qJ4F :,먊/g|+ C>??o^w nMŞT8x{ٳg9'LNY+{7?22?;.rT,L堺ɦ0usG hOcow1e[f#I\ynXۧb (###b5F(H9QRqY#-NTR\; )3k@P*ua˵8~Yqk^j^{t]u~uu5qeOfY{U:z\*2q9 IDATe:8ӝpqꨋ8#T]JBJZpF!&W%wGF!1HAYأ'/a]!:D^lĪ%o5OpUwљ5%{LI e櫫niQ$ ,.2uO9)|}Vת觪M(fpW!kI%Qγ7u ė/_N3Epk.*Î^RMáz=<-UEŸ⪂d1tTLut.>O-Q٨MebT{uXTՙ *e @V!?=XDRަP')98Q9ziܸ3ܭf>|Gn{&g(-kq,9|h޽{m}d'''tZgggɅ^Ru67S=`Q4~/y|]^]hӻxj8-LMgɟQ H'Qq+ W,o Uaq\%mJf%D'NcEKs/ҨUIN q$JI0~ uIw Sʾ_%ÉDWըLTkAfM*P9~I%7^@*VŏZKu*1+0wŋ#T P(aFSHLN:m#Űc[VIg.iXpŤbֲVSWUQ0xFrAVg?C%8;u{êA>.QAwƧ<W.Rxϑ:? Rp玿dq6{LŤ}ECB!|*D8b{*ǸQj:\4qz%#TyɌcspnU{Y{IQbcnM"{j۵駟>Η:O*j Q]L!L BEG/$4f%T䨘P갱cи [+qB9)ʪӚ~)SBaU͇1fF9!\Ul  m=g) G$7i8 8QXRsR\X/a >6Y/ѣO>l6vzzu{Y_i^G&|E}FyxjnHpl6E"Vd_s/Ļ <{s7t NGa~T$qT,'l Id8Z*TpP,xD U.QS֑`6@#S*O{Wpq1V*x?.|&&;q)($'QWuxQ%У5 QDWs ` cƘcT=gMIf}E{d?UA-%RZź^ϫr q]Dv ETkɭqfK8-tըDev5\{^ϕ-RIrYK\W.**i͹ 9p cb$q/wƨs\w3 H\dpU@u(XBw 8s9 N^1 ]̍݊WoQHM ~`c_i{뭷ڽ{rlݮk^|ܻwfZkZF-D5u.Ր ]5ド rCE^); 4|~8`iLт"1[p*|rJ˨T0vw<лyWE$7NWTSEss\W nuꫪ£/ rS%x>DFM0}=K|N^%n=9>8Θ"8#}=wyy.//}\NtHSyvlX4ty=ͨUy.OT}WO*oSk^Gғh%z(%K]GF4N\r*4bh7㞱OZNu̱c:_fg%ZV{ԍtNȘӈHΌq( %|:x'ǂks sr=|m6[ %>}K_~Çv!Z%H{cpEuzNף 6 9N= BSS\,-f $j*fuk*W eGcΘ9@7O怋 (p w}K'CU,gȉhPwg>NQ!zW):N%+Ϊ+%vQCQG}v-.bH)-DA嵟W9qrGski,[,`g ~*6Cza,f(WLΨ+*TfNEMEUbյ&Pd4OgPMn #{I?#N*51j$G RWTկ2ڍ% pyK\{Q[VwyM֮`1]^^w}wjvZڼgggK_ROZk=|}駱ϔSe\u%RVS"@kE|%d;1F\X,z.mwMxUje4銐g癞##TI7YěQFllFTG"Νd16BvEOLEiSc(*)Ƹ5LQVp:GUrr8H]HҮW)qt3JN =<늼*9jqt,7;㗗⢝ϟϟ/_OgϞMv~~^~.//.ri)T󅩻ZjmrP zEXvW.%m $*`ggbJK#Z"np]jX*a:wb"T]aKhW8 \fr(JqkXpLR9V:.bvh#Ɋ5] D&`wگگjx-˶lׯjj7~vqq߿/NY0L!n(:Q\,f:FDٻL"󝈐#mQs'R\No 1uoQI໨u8U`Up"& )wP+&Ua:)jifSҝmgTmۋN䫢b%#UfT)NE/bJQU !V'\4`+:hm^I[,ٳgv{8VT&gp7xQ4&)Z\`7[уqcZ!m.pRE w`2K{sX:J u#/ a4O>hPw)O%TJHFQܞsc?(Q)WwQO4/hnHWG`RB^|8 ]J+L+{JV rA:!A]?JJq1X1FG9Y|0]<S1ܹV NPϹsiu_Yt͜:=ygs,7CgǑIب9Șj>kGƺZr$*XfΙH^*9pWR#גC]rl:5o6k^Ӭl6k_n.w1?h8[65Ε;6$k|n8V3V&9tNTpȫgE&RI5kH‡B ƩsU+"ZxVmn U4D[KQ[])+JKZյ)t= ̬47"E ~L eeF{ZϊAΪuS@W9sԕC>V(qCwD]+TJrթw̟n+ӨʈaeіF,4~gGw(R'|>"֟+(hRF ,fGlr@;TdtRmtgbh>T żQ\.UWwjQf+;K "o\̨?5F}2GF;^˾JK5 [眝]ݮN^?яjj:h{T"t I3=X.G _R0F9{ܵpi^ɭmϞmŢx-G\δ<AUwʼnU)ZPxd\hl)RrۑѠ=p<+GuUlg_GYcp*bNj% F\XIؕuFtԘP:T=q jޅ6#/ZXCY7nVUz-#ɽ{I GUV%XHy\r>ݬhՕp݃4՞gqQRu~#쓸D!ű:uا *["s'Te4}~ECZ,3UDR6 +;MGFׁ<ҳDdH3Q W1OGFcc[5*4*\VȩjruFyNt]pcw֩J=s 뤼}K Ō^U21Y,s 2{}۵zݾ{}_nzjui?n'''ӧm\NDUK]i\pSh.Atݬ SuxꌋY 룔+.cKu%UF95|9EPN:Jp=bya:c.nF*q̃4G%U+LU2 W>W!J8.yY(UJ')亽!؍ [תf~lTtšu3 DM 亣]5Yfo)fŬOHULw~/~N]ndbX[F$WJc=J\JWJP՝!1Ba QKqQK3blNϘu1& Gf3s gK *V xcƀsJ1;5xF\\;wEKU5ZEαҹ/kᜌ^*'OjjO>b5ru;;;kݮ~8S|J8fpS]NqJ~2LK$*VdmK)ˎvmjN9I`,FP@U,Jͯ;q2%HSWDXPkGaKIjuOnM`Ňh.%rR;Qʾn6*FɮsևҚq TUYyH';qs1JebHsܘҘUนFIhסu[ΦB1FR,ңPsKPVW&dץ#ilbįW; D)2؊OF]A>GN#.'֟+j %>1~7 }:WHUIe5i;plh1B;&/ZHO=;;kWվolNOOvm~vv6ʹѣZ%ắXYwVNbT*5) WD.fz"r<+ Pu^Ѹqꈊ3Ѷ*v:,U,dG^PO7638תPR$_ ͺ*A:<3fM8"Uf*ʢnS``wtR$4ߞX9 APpDx0qR:4aڸUq=O,.i<œ9PCvHy~%n0ZDbC)*'sU,޺:?cW?ɖA4~Sũ;dt*4_S[}XS=K{EU1Mn cGU 8}6b+/7j݊v됺 MMMc(WL%(r9ko u,35@ŴѦJ;l8_pLtwqYVivvٳgS!ߓd! |NNN5ɣ9Xsbxno *gsZ; IDATVG~oټ۱UqY99QhZnYݎo\ K\#!8a @|j#'4Ձ!ɀPr_{j!d!bSibJ4yvǍ$$w5\mUFH JBq .DcՍ8Fk({%~* wn, rj#t>WY*v=]ƎJŶ6y\ݙ]s +zxTD]yMp@Zz#JBY-tNQ}T kT,E&71eށ9 `W`og򕊖 FNzN*7L9L8i'byWn4:z- `~kQ5ʴ߫Z'|+|\\Nݻ6QY|*&LʧpGGn)rDz8R*y6;R*R*1A␋%A.\mKVC t qT3r++?Eu*X?͜PMF1M:Y.:PhTzv ڤ ʥ*BRgo{8xQj.Tw/KdS"=GǘJVIvEJEV95%PQ{#K|uu:S(Jy5z1=],Lluê5fu@|$S5\F@TPISN4a%w)^*F*e,;̺ʉ]\5\55*\5"]?k]D#זF(R'؍PvU3FzWeNj_ֵ1}1[a\NMbyGkz^z^zվﶋv#ijw:4'F,Ab^|90FڻrQ|&fw' r*@Ӥ+?;,X+!'Y9K4|&zG2EQٮRaQIejbUl+oURW)BU{ ERQ X"^uC;;;kߗ GsEH:]MuMF%* a YZGDu~&Je{9 λ3X(܈Q@: ('1F M`u*Fskff[i TM=WM*Tǁ*ID=t^T#"բѢQW:'WV.QlEZ+'+W-/|]\\ܢcrU`/nG,x6sYEKf55C9r0cˉn;/sʮ"]EyiPJD.>&DrBX#^T?0YS.O]'7S( WcIu\5BݯDL;Pɝt/Jz_~^zU&_VH'IhkԷVLL9\@I]:*rFN9 :w#E:Fߏs3p褮Atu0+*Są[1I՞f14~nx:GDCY,sװbzL |yyfY{e;=== ՆQ i|U^uNwD#ԋl,̹l6ߑaȎX&N5TgYkY;lwVRT_YVu*x:JfPYU4Ljf)ql㪨ø">u|<N,D!n&V8tPO-5DWH)''4XM7 R%z8ǁQrb*3`Sb:k@yU<(g}?6HE- pcDAz}ֵ՞pU5"Bt|-ILVkHJ2%֮MMz+.NBnk¸Hz9NWbA)F>=QfCp9tTyD-i-+}%7^@b8E\pH|TG;Ot\\lt@/ZRZl6mٴ6M{Y|^7eS]Cu3#ŝ 쮛W-W ,ƨnl fPD,0,H *` Q1j nz=rz9::QSK"N"%i2]SR7 m5݇IՌ`;#[j Rn>|x!3LQts(rki:RJWNqNv SNUw)[LMhXd5ya^qvUfd|!YqX |f(+S%˩Q̺,;Ts.$NdpmWTy+,+]jwj7X0*FȄs:TYOknLqDFh*_ZE_ JO3Ѽvzz:ՇS?ꪝׯ_i/^WCdl :ĪV(='k7V9`@AuiCz8J45LIiivԳQ]J4U`:o9)(LJN:.AqMձsDq,$sJD.S,E5uvF)$: U1y# h*G:͌ߵCS̈́VF#R(N91Js"][3@$ƿgjóۮnă#S H}b>ځNJù`WG=#/%POQ`BT~՟V6S#ŌzOp礉R1*beIb%b0tTm$uT`abG\fݹ?@r19ۭd]'0}DS11BW& y-3 רsoVѣX,ګWl6k'''mݶɓv8y;;;?>b1=gvh#n) 9QH+'|S]VdJ5^\|Q⪣"' K 7f**ܡ{V:Tu%".\GL!I* ?8 O'排i5"w|Y@R\&bT@Fl*ցV s{YÎtzR7˽%V]8P9pHPpخx`QZdY([UbbTJK6Ԙ8PX=3lS!=.si8 0L`DZ)urKCFǹ$J5HFj$w2)#w]^JcfO]\# (D}jndka&68p>5m_vyy9WWWuyy9}ݿ=ym[*rj%у$4舊n`C5y`~i*<5pYkm>C;4f\wׁ.0/*/ZC;q9m~XӥkH@9:K&l_׏bhzj̿m6uړXIՃUKs蛪 ؋_~XXe5TaryTtsq,vqE=l Uu;0(ʊ8;bhUʺ'n~7v"9v/H7Wu%꩛vk0NYf"Y :e+QF]8BM6-_cţ.Lz\u$tv[JsX/ ),5+ o2_nZrϨSN |*4gT*vT]4 x?ƁsyHg +03vH)]*l^bjs QlKOwI{g[u+[jW$:̻wTQ^:}Jio2ף4|~@vllׂj*'b]~?9}+_iϞ=k?v6_,GfȩgT]tFgCuAzB9ΓŨâ'͞0ʞS3AFa#?J<2E +p'VYUj`R䘟ʍP\w@I'dEW=#\NW1 Q8:7?̻FzxfOV껔j*N.K'8˼& ʼn9`'u\x7J-dVv#3ֹ0p:ڸXD\rhy9/TTQU1\ջsLޤnbXѶ>#cQ]9p#,Uo%R;ʢI,˪!/PW1c1\}\ʍ.ʻ*&V <[uzUlvӜ~oZ)]Ɛ]UÆ5zCȵk#uO?;flڷ'L4qEMU>LIEz>DI\2, +@V2fpq>AW7oX n M)%-}#4JzB0Q?9'ego` @;fsTu79UxEcu\.f7VLe#τ8`t{Fu)F~Z_*isKR˺% pXۻn^8PIx39W!.d+KU}\QS-NdO :oUC56E^sT3j/ M@``p ZOj1Нlc^F $a.U ix|wq~W,2ے-LIF TyX xfnU *5wrƃ3.7s%t۔}SɉtQBU(؄d_Ƶpm&QiS%]}yvyy95=E~vzzNOOo}!Ñ e:%\ǥ> QBb7AY\x+,)Lw%rTkބBRLO*I%Yo’s*~2&bwY9i(nI&z;p;uqK?x81ƟF N4P37\uD^G~GIk!%#`L;Ψzb5_-:MNV2`Ai<z~Uџ+x$WM qbs@@>Q,pEROeZP#Fnׁ[kEO::K$a+zǩ'V]ۭ#ַpL@dl +a dsہ4jt kz;BW :cZFGҵ`|f8J3kWL(% 8d][WU7wxBU'܁$#"eɃn%#]YETTȔ誤0)g(qu5(Mbj:\D]v ql];b]>w8Sl.6^յHhVL%FW9lpƍT.\v*gUTa7R6JvVɚB|u)RF5*0*mN7o}F]CХ 1N+ %eu"x- w)7w{Kֻk@1^NeE8W@*r}hꪋna؍Vki\&8epB?s09ϮQQleM% ce+JrJH7[:ɯ%HvUDKWj7^OΪ2%y, 'X BeĔy'(i։UW\8*Z9*fUwuAf1}&Uܕcr,Wrk3 U?vuuv]{w<ٱYۇ~9ͣĕ 4 c*{b LpҿIgTRU:giw7JĝԸF=]aHvdgH3Uq: g}3ugeTub'SUd.d]c4!GwR@Y)5XLJ(1m5ĸTѭuh>coN.J-GhRcX8*;>[<2 XW9KEC Tq+Q@ΩhGFCVFܢG*01~NR?J]7G)ƁlU9^C46zLT^WLqHGYy8sөM\!*F_\[&07f]Z:%(`-Yri\: 8v+Vcnı@n c#עrw-̄f<=֞gONN߾կnU;==C?޶mۿ}NXg3w.yɔ0u (=0DNU1TnU"8g{qbzMá-lth9/(܇J\4͏)*aVvԌp+J qL'qͩ\Q:+U7!% yD0,(Ru%17]b8 8FzwFǺP{;.F)O4>GT*xdNu'}%PwLTi\H"C-9yHY t[ n:KF:յ(ց:r\fjTYqJݽW~zw3}uG+VU:_TLw⣽3 X Q+쫱dX簑 *Qj*s)فd];h6Bu7,Ռ?+g?_.Gzom6vyyy={}I;m^B|DOKF_cw13^(0( w"0 z.f<, 8Igߵvڬ)8]PO.yI)Q=F-]wu=U@f5G]ML;:L#R˒9LcG1%nԵNVY=73x:Z.Ix7v:IL}9NջY9[vϡ',BuhZΉQ9c)Bb> GgWpwi(`V52F Rlp# Pʁ½4 J8"# hSEWWUgma}1qto Э堎,תV@`GP8.{sB@17jpn~H=o6Bwߋ}׾vrrrD_,m.l=|œ׵J,cŶBWMqQZ3Hэ+"gLg:pq #*,0H{Xob8xn iR(rDr #JH%.$TQU(U[|;d%֕Bđ-/!o,2:q*O"ǟSq:^]EmsE2˃; Q8'hĿdzW I"yߝ2,U3ݛ&hyrƱs*27RX\G =3!S'qģZp M*TC>3HuG1/s lzC9FvՌ;SW' st*&0tk{r9zp@VrpgJeK c rtm0,b\ӊi4|9看%3L@5w-Yᵠ~\ʚm۵ڲ/˶^ۋ/ڽ{;;?AѨ\.G0~'#i}{.iָjQ@%s׵ov<7ٿ?CB2%pI 7b€sT,pCU(%*J81 =W fJL:8Nzd45:rI_]#qJ Q" ꠕQ4;HQ8bc4T]_MϤڞlq꨺OLuKJ⧲vgx[~逥^ʯb=ZbXuYi?uX;֜wEcvXc%}d(]wtLt>Ӫخ־:ceX.8CxWwUQ3GׅW# baQĭX w:`Uy0+r5kMTVՏ 0"?GZ~u- X0;5 Gɘŋog:[v4d>Ǐ'O[ wY MQh+(tytŬiJAK4+*wAv~>w׏6av۾%OU-v\'_;1sɸBxd߷bq볝0kIaۨ \aΣg8vw<q8&t*[fQg g'ա5)- Rݛ]C"G *rz 7f]Yl6}8)s{nf ڡMMh4Y9JvდAGÛgp3̵7DElT4,8r!wҔXmx^wx6/FTuXyGk`>{R*: yóO lQ{]u*;F֨|>q1v|n1M; W?qmw6%H-p#UQ|ԡǮC ᄉw@c̩vggmw#Cإ=y=}T!')]1U)dZ)ayŔ.P"l\WBڸHGj"Ϊ(^Xv"MϺ14q8]á ۂ/=7 hpaןnkmݣl6kf;][VmN?i^5VU!xhg&`uw|fywÛ$LH]vn|y۵7"sv$牁lZ3{C!n$ph;|G{6>=?mmuEakoPh6ֶ][@R00(< ׌۬)i@M_p.zܸYv :$\MA9MfmzZphcX:f 2ջC;fvo |K 7&Vm1_Lrlv*g7/bwطyA/nQFclFYk3%X};ym6km>_܀kn\N|6kmXf&nެ+kwؿTX~f[yz}h??|߬0aܚٟzbIt&~;\gLGGrZ U?K8}rjn`fm}|fbq@F?CX,\.gȾw8&NwZpA0?{~f[Λ5ѦC>wm?vq1|jvw;@lʕ=u_mJ3^Q9om}~en77b;0ݿbq玕0)eǍvh]'AZnG#'\ {mI0sl %Q_ǽôݾYm~Kqvݒmtss#Ti})\voM~K&~)?8*&.޳jL1qEE:GugV[4^+JhD/ GtY>洀tUg DP;S@٠kp>?&~ߖ7l6kKHwX3↜*Sb2jv%s|pY(Y[.ӽ"-ff + 8׈ۛ>@LЦg7 \yoI,؇zˑ1@t7x}5vhSo㤬' h3==?=B2a |o~?OvM'Iub5u#.a/Df$E|~zCgS&i\,b@/ av7Zn s㡵&V.$([MݬGIL87l7{'gg? رؿILMMIbxà1ḾPgJƐ٩-UM.@3xgo֤ٛ`[ܬs)؏Jo@nǮr\,)ۄ5yw3kX {ho-,9;&'x)mC5kjϓvhG1mZ_H-[ 4k =nuQMzNSQ8m)^3)&nAf $Y*v ́11;4I+PW柙رiv,T vTVaUwQ"\gq瀨y0Bdݼp@~pzhE0[U{tRb4ړLI1ne.Cwl6k<,ܘ5ׯ۷ٳI3}6}l/^h+Xv=ŊƁS<cj6 ^QPBf:LlbohT8%TI Jtʞu :;:7ႨTWA|kmn▲Xpywy}hLrPtZA{HTx-JfO`wn_Q?cBG.>sk;+0]xvcjdsmvj$))?(X{qJ!s.Y (Lא;Aj&[*'~^{9U#ɱ(Wg$: !e>0vQčޑfŝ~:?*'%oCUQ1cT6޻~e]jrR.c,n1j;x6iZ%fy¨J5KsBX}Ե> wͱK鿹Zl6}}G iO?mַګWّB<&񘘸ʼn+veXŒ" 1kwr8)BŸűO'1,EaT\ȩM#r a ]ҨL|  Ҙ0JPQ/+Er3 R6: :Zup8l}(asӉP;'_84%YqLw`}($MN&[Fyp> pI{_I1{P1uTL9uzĂ&{ 2 SSԦbRQힻ4Y>+sj:J9kYZB$ϱgTd7:4s.TpEW!41Qx:VɄA^*SGPRƭ%}F1BX+(kqr ;v{X5ܩ10,d : 0*E#:Njq!cB늕Ȯ]h8:| 4 84~p*&%TLdhB_ܝTg0^Ϥ⭮Y Lq 2sx(P@׳ f#ǎTEcƱt IDATF5Y9c1;1AYcM8vb,嘢lEW|+ ]4/s#?Tޥ0Ug+4K6j )PFu^Q6 lR> PMfxFwl6޽{ɓ'S'ŻݮmvqqNNN$ՉlNF ,JAhTFX *p !#P;嗩\ 1%NUt1S5I.'.1ʂIu?9VQ~ΟbJ `?Cfs 2TyvQ]yO M I}sNS1)<à<[ >?ceFX kwbG)0Ip3]N|["}\ r)U!: pQau2GuU,&]R']˔;ɮk"; R3|gW(Dׯ#vc&AO`Q iYH5I|*5m+{1&S  T 浦0Ji$˱G01D*v#1РxuEip(\D'̘c'-Q`x+{DgՇ+-SժiYaX +T`~N[8cp70 tkHn#8]'''G͢m>ׯ_zӃI_"I_!jh_!0\svr͇"Ҍ?_ (0W",wzDgT'Epx 6,͌@DgTMʠkՕɎ%LV[ъR3VFѤ՘BBJx-)x?gP11eY. K,TzjF],H(X @ZD:rWDQx4AN).U?˝VR;5 H " keY}Mb9%4KXd?S}Y0QTd^u _@ "J-*n7f%"NBuܬ,39#S*6@'U< gՙXcDP:,7S5`)RqTo%nYP6yp_Qsz> @)f 10qD Z bz@g׎9sr!71Du9*j 2KB4d9v|*OSzCj8Q Es-ƛȢPC"52cRYV4kpYӎG?{@mO>={=z -i?ӧO[z jg=5uF62(w SdwsDunXk=rdxwl2!5/OW3j©櫀 eDP᠘*1hCj i=(V9<>,8yN"eDۙ=ɴ 5G\<2﹏(v7\ U... )Ej.1J!j_VEgqW1`ҳ 11AlU]Y0L]đ L@A>.?%2 r7M?EѬ0 `T@Fk^ΨX 9@ clD`+> :IM[%i&ՌaO͢XSzdzG5]QJWU̝mUL?-n9yXF&9SLQ+ 8+N\AN94c,5Vs׏_ѴؚOѺpx٣Us)rqK7%LUu żP,v,fZgk!T+Z {+xNwLIn];ޕZxS{ZdƴR^ WGwLoUƒ<`3 Uzj\E8wNWA=Ω`lNx˥,0Ə"Ǥe#9*(Gf/5wATHw岮PKNY*usTi(YqOuSsV NY)*5|3sgUәȉJB"J% iGE.3(|j볕>o*;2NE(,R+&"@{OCNUM+)iCB~AE >KN+f3=g{2lpCG7XiXuy^!TѦ N FX N0?'VcD R5G\אGb"(197$檳sxSzsփc,RTrb0GLj)01xG gU.W:z5jZ9Ii&gg֊PdY(OS1Td֩r~rr ?Cv޽vzzzAս{ggS7FN LWĥTgy+$EJ\"e[0¨DԳͼ|D5pbr9"ܵS"N>hdw$8TAY28^<:~ &qqOzt}Ps VjȮD ('ҿtq];CT8+~H+ X A^861I$&VRf+ Y4>)(K.Tb+҄@@"r8`* #g\Tx8aL ,U4Q )%)@-@&NU\T1 xc|Bqg} 4_|| ;-RrJ 0 e iŮp1n*;_'1 B*O1{]1T<3S1C!%j{rEXը1t TWS5VT^Gb:F2jٔ8Rt5oGP#v~~~?n'''yv?CpDAqThN0 ;LyFq+uPq0|1hXq!]?+ =1=΁ V'b .ꆸ9~V & |~rr"U1ps5~ RJ/'|Ǯ$T NńřJԌJ8b4Ťsu .ކJ|0pU.ڰSlPBiP$ٹHqJp#~zz*Y .'P4uUnv8O5R98==J~}nw^ۃڻrlϞ=\pcQˁcTD|('PVUT<yʓvsX( *V172غ=fƧhփZO<H30fCT#<…Mgnm|3rl_۳gn5_}VWWWm6ׯ_Tב9ETE3:QY _v=J2`2=fxHGͿ,8S0u ,weFy[ <;X| qT:T~'` w"#̉:u8^0.&#S)&9Y'EUG{QuO}JՖi&OgNr☪(uSAs[Ɠm }ѝZZNDN!|L 9Nޜ7U 1TWGj lVuv躊E&|G+D~r١Lg N`pUY>u(-.P VJyUY|{R,'5܉Nrb:K4][Mr $} .8rx>)urIud{WЩIj|I9v֝S'/N8+u7n,C٩ ըQ]MwvZ~5 ƀ?mJmXwS15*FI5fցk:權/:0PyT3Nz Pw^n=~Gl|_WzNNNvm>lggg'?IAODLiPx\9JYK*qb /{rBEȜ$5C͝2 'o<9e浔wUX́#m[u:Da^(1m3?T'aRU wڄ9뚻`]Ix\JQ\*TddZ ߨq.<ӊ&,م sk`j,H ؟}AZ_Qcg,NR|w ew ⺀I[ y)%i_w֟j$(10#`ʿ GEfY`GZ|u]wŤg]:gA#G峞GջL"k83sہ\`(h@O0sN`Jy6b9&k"8ǬP4ou+V% LR80ZTKu{,Z`'a< 2+ {T:dҗ뿳Z??om6|+//y{w륩hvSOF)mv97NPY/[pɉӡxAI=#J\'b3ڲSb,[Kڗnw/0`ƌ"$rf" )!Q"1B)  !"FKP``xګn[u}yȜS2XBbYUIؚ SBO^&0*@״p-Ez2t>ltuO+"k5Z;'꾮&\ֿt:Y$H+0Ud!ՎA3V4Un"TPW8 2r CGL3MVTeg"誙d-+}}>J ^^[],t>fikN47l@pݛIZ5&CϝT0U%W)Zjt[:M{"nM=5iX%qu%OkX:lrIj46[L?t{tl%}^_2a2!tStפAc=-4+ڸkiUԀL,+V-Y'T}V=1ab+wMbjVUd@[jVqmkU;UAԅ6SbiŨPJ4LukGXxIgK sGZ.g8" NF(p:ܞ/ۿow7668.fffnq UHvyUog%cUżL\$hg/L=h&xZ U -qY LR*2Ut/tUUՊ (EH5UY3!Z H+>HST4k]lMc'L}<ϲR,74:1uu`X?6:Xc5[;>+4i4F2ePMI #5%NY&eeC ջ}kKMB  bd 4"MipEc+S&v*ڞY>2PGj2D:m^{X<>6771tHiFDrk{бj}iI&cZ%ꦤU+}_F/:0 3?S6bV@4S6&G+ V<5q늬vVzOMbVVlL`U%EjҤzm&Jr(!Ӕ:=VZxA;Yc&ꖉ]izVxVӔZT L=v2c׺`Uq5i5z/OyhOSUE2XR L,$e/h M]UJ/_ĕ)Lg\^4m[cy*cit.2h52' jst_0 jhb$H}2vS*ss_.$&!^[z7ݮfڢm E3*'V24M4{`~<>e}LmkVtfh5*UǬZ1.+*Ad)V;ҕ1^G[rȟ捛ZLtVߺ}LFEeU11ڼ+m`t>._˅%cz=d2O& yp:H&/oow~h4??:&6/~R5%:UNݟepn tMF5lsdɪ46aLyVTCYV k%XMEIʞX5&:Y2pyϦ C6ؒnV#峙+VIiSj`,Z`UGyDݣdIFs\.L@K ѝ=*zD4jjM%@莛Ǫ$?SəV?bh{Lj̄ޛǤ4EzMS)ֲF~F;_&UH Ӛ@d7ƀf%}7Ӹ!~Okf<Mߗ6&;.?rRQj/a:ca=T€2J:4ފ`EYLTDI3Ldtּ=`JXSke=R\ԏ/Ͻ%Y葃&S"׊b9)(Al,<q SL,XeVnѺF5(KSqFI{fҤz9h&I:޷b0~hCM6L-)1e:7ѥ&J5VFF`IgggzRK=JN':qBA2@wPb=ȘL |s+/_K)]@dY%1)S*zƹ) ژgee%fR롩҈S%K'itL)˳a`U'GG>,4)0B&jajЁ.UM󡿨E-5>+lMN٤]`F\ɳi%ibhP2']jJ F*Jhъn_63 \6JU%ٴ TmԽ>}T5UeLt]}M~j|1)+\i ]r٬eӬgS/"V-xL'G,e{Ŋab\5`:P$Jj.mLb#?{\n(JD7x<~gbٓbVm;(hIb$2j&n|zL^Vօ!ӈ]JLÊ[P$cKi:Zﴕ.~?rPՐJH$H$Z @G2??xo}[x饗v1Nq-ek'iO~ lnv_D]=uΕ~&`d߶ߙz4ϤƯ[seE׻wtVT=y? C7ZM:8 Iajk0QA9z~?#Ɏ *4rZ^p8|Z1&{mPXYl:W]CvKdl6$ITGX :_Vc/ fȬƏɽErr lj¸~9.G @xDK2&iLƭϚ|3 gJXOLWVL:YtL|)R l611 dr?4J*$dbYN~UkdS+t~? (GiZUeHI)Ҥ̮{i=}9Nvԃ}IphY@G f+ɖ!y=ϓ{"Ϯf64غX!LӠMClH6?3)v8D"phfbXYY^|E~xP(zCpkvx_@L\ Aig+4(wݜ^pQLd5.\Hʁ4t(t( ttPB#WPBNk HNkvgshP-c2`8\^<υC/+N2БI"(QiI'!R 촨x{MRr Ѭ2QuNF,J\sxt|yoK[GF'@]=O "Ij ~o$>C''d{5hA{ n$[+mIE37z_S v;':to:&9׋~He@@5HfttO(~ \ gK3rb t˘jN\HK4GnQ(ԭ:\SǪWa:t:v{MlFFOf[iVHPOsJx}6KveEe+JC( h+>RK V"a&Iw$eJuk;4CӠ xj{p"Y8ePVse'mN_TX&ꊱ3%XY>y c5Ɋ,0"mf&"c06q8#.c{=i}>:΅:T n7[(h4K/3TUDQ]h?rW_.~B'=99?>+/"^'''Hvm>\.(l6~dߏF~L&2Uh;@ c|>j ~ȓA3(HJM "@Bd2A `0x$vhZxbV,4 v; ^/:{y^/1n7 h{Iap`mm {{{lE! >N'.++t:JT*dY" ^eu lh4H6 N|qdōUVWe/#d%o<# ZqU*T q4!b0S{itb- wޑjH&t:h4R2m= h40 I^/EV DN?;;ZX,wpvy(>|o#(I=9t:v^lj=T*X\\><L&SF׋l6#ɠj0J|>6 z(* (.l4!ˡX,"=z<\.;99yv`DǓD"Z-cmm HN A>>dYe|K_bmm bp:8<<B0q||D")8\.p8?LT X x>f{zzt:`rU$ m}qxq~~!`}j01r~:˅f65kkks!VVVl6i4 PGGGK^/2 >#<8<fa{{tp"JLxGGGX[[Ãjr̠\.?p:z( fxc})]dgX,"aooDfsss(Jsn!qq'!|_ŧ~$ ENcggp(˘L&|K@\.c}}}Z\F:f??;;Rs>3u:D" Az*1fD"Zhp,齽=\rf^ (Zx?nNp׋F`0xؤ')bt:p8p86 sY8;/o6P׊rJZ(nXz=~}(>u复FJ^~?n@@lVurzA@h4p8D<g[Mp84 ѽt\XJEUdq  1 nD7R0(*Y}~. i?9ITU H%BKN&C9 L9,=&p8]jh}5 hv7(}vv5,--w"> ϵmr9^}r˿t00P(|W^lW^r7o6}]lmm!BhOSlmm^QבdP.õkP.9Hp8xF$Ad2A4EP648<㩧ƒrvh48V<. t:;4 r9T*b1>S|~_[oYv^s`0L8 'm<P(`eeR R ~L&kB $._B~ TUý{{M[ZZ'|E-,J6I1L0Lz133^Ӊv ˅9 -JxWE8t:e jZ:FϣT*!L]"RDRm9hH@.ANT*x<dY:PCl6 ǃRDQrJP.IQ$a@@3|>&1!lfg8"`4j!3RnG%pPAA+V8X"@4JMS$  Betzvv1dl69hC i(R\P3$i0_`ҐdEӒAw|iPˉQr@wrqR@A+j5a}x<].tp8 zN ɇcuQI j(Bd2p^saZ%u^: V%#[b[ x.K΢n#IUvBϖnJ}TF;I77&Dq'-JidBɨSh4@8}1d'$%Ϊgz\!o۹ 6u\\GN%ے *ur0#%itKdqz=fQA%AǥV%^وtY)3I <tF%p@Dq UEE&daM]j}aH181e[51%7m?~PNɄ,SF nj%e:lA,--1 }ee|F$r\_rM&Ye6|>~~P%֭[x077 fPI#zp8CZeBJ& 2:2T*|}>߅$3 U|> Qn  m4q`#N('v!I4F 4y2NhۈD"IG /(\V+D.PUfffP,NumۼYtY Fv+ 'z(ˌ^J* 0& 6>bpnZ~ >3d2~wÁjd2Vu AL&|>J%ϣR^s)EJ%$ y p8bd QIIDAT*U*,//nZ"ˡr 3}ppF!$'h4Jt01??ω~BGP@6* Ugff8P@ z΁9.K$ <|P)GRSr˪}ۅ p~~Wr1QuF E8Nyܺu p: e2h Du(A'Ahf׌ )k4 x'88:: 8N'l\qoZH&xws?shZT*B8::":~reYܾ}nBB:Wxqrr e&P(yq],//^駟۷O֠dH${׮]p8(L2#8v ߏZjo|x7FQ|}xV\.cXX \@C ߿_~{ۜafpnx^Et:o4NOOfj8 ZYYAP&}YZ-/2oLdX__6 />@^ />L+>D"`pND8F8.n7n7|>ٝN4pnᅬtx<ξWT |J(fׯpn>^y;fLjFKP. 1??KstV Z<H$t:ᅬ+Whvcwwkkkqaٸ)gy|GH&?`VCZ//00D6_*nClll`ss7n@B,C,r#J!h۬WA -$IG? fggHgb|>l6JݎX,wbii\vJ&8==3C1a)}Yf!͛x!kIS \1x'xo^z>TUx<: ëwbuu? 7"3+1}k>JTz^Xc|>\..jlmmƍG0 hqqw7M|gaw5TUGGGr >sniv \v zײX,b}}|>vUC6_j똟gG@/1Gl6or;HpFƯTC*bElDt:\ $F`0`8׮]6<& 0_ARH$s\SO^XXX@P碞4}333GDh4 >H$Nñ ut:Q$bB(i4{ bL+>p03>2IIVP//FQ.fggyJx@!%!C`0իH$XXXv4E,L`S<G.h4_|q$8f;3=~OOٟx`ǑL&9P"^L%xU(2"]Ha3Jeo6 I:`Bpyvv4MSTU3Ms0ȤS[{!'ԔNSH$]s݌Na I*tP =X]]jNT;< g'H;N= zQ*RL΋xT"JԛTɤ=3Lz "cccBcB@] &%Y"FsTUӺ\.~pppyE6TJLLEd4]p2R`qqrJfZ@sp~ G"VLv)ӔuLSfdY1 n#H`oo|(1ޛrpիWQ,١ڔBvwwfIx<`0`*v;*[m*Mj666pppέx\.U:(y$O$677K跃El*.W)q!1,--a0ng bqqVVVNw^cuu|ݣ xR fHeV+NWU,--V!coo+~*(jYR =?AH$ 4LSbmm vvT.3J |R, krΐL&Q.o=nON7obkkZkT*|cvv+tx|f^])x6# ʕ+wb>SB!n-\.Il6f|>t:M6M<888`$ ⩧D"r χh4]."n޼4M\v {{{F888"j.666vj^__}ܸqc^ׯX\\d&f>2*կ~o666pjʕ+ڂCP /kJqý{M6E>t:e6ѦdA&AT__dMf"G:0b/J(J X__ݻwa۱~]eCJ_mh/..7oDbI^G@8!|Iloo͛W^yo߆g=xh𖖖YTbKw30K6"b=7?3Vō7" qyU3ſl2ڪ5w8CX~?0L&D81 >|9DQܹs|B>|q@V㤚T*}R)Nx<d2 HGGGxo`cccw*"]`eH6t:E&;=B.UrJ\.qxar4eI>s1?+P5]ꮌcq~? /p.Y6% X,zh 5RAB *- !c]H=D:FpH5t9CHUD-:!S*KIWbrR`CI#r2 1>5`+Oԯug NnRJٷI{(V+jQZ?r~-IK!G /|PJ5v9挀)(?WvC qhIRI xh4wK1@:cZE!KxI)t.\z$Vؖ\&Ue⪾ZQ ÑgMiRYXU'Nťw w~$Ӆ֔օNR/=6 r Z[I+G"/HZsbyt_֢ Zݜ#t&9-AA)0F!Xt) ]鬑ݓ`xZE2%n_#l CTsbHPJJUBDG@ Ð(YКDGzP3trZבJ=ZS$!J *w  =h(@$&>rrF#~'*P0H`@:FXd&JV`tl%~hrPFX L=oۜ/..)3C~l%҇u:r9Is% HRp\V|V 2 'z0|>3ȮqyfC۔4 蝫vZ-d2TUT9b"pzFY.2 Džd0Zz͉(œD!&{A %>t('sssQ+N2.^xs3< hp 1 Q,~?ݻ__NOO^NUD"`0Rąz\r-R(U#`2\Q,͆JrA Z4>ͱ6iIDZ{,r9lmmq]VJPTPT/>@<9n|g\D|}}x ەxw ?/NOO9#VWI% Z C,//3ӂ| 1jnܸ3V xl:7pĠ)HwCNӢL̙h@G-zT& Nf3 ^o?;g?t~T*_LsV zii%UVrT68O&2pAE{FgzˤQ HT*0H=*B+zL =P\J㖴*V[24͚jZ^;=j]:cb5HꙠ c&2몕u"x٘')"?C;YDԚFhv=P[>EZJXLZ}^|GUig=9t.t =F v@J*/E}O"TTq|1)[AjtjiFѣWm%`D _6K+K'Aq v&=ԯInf3k+,}V>k,m'L 7q(Au>rҳ$PLLdlB*ZW#+ LcݴmV&`kdm7d H`-GJ, ;h3n3%CΤXB OL/&t!{}ҳƵb6oȤq" f"ς%Ew?J5b#UjϠvDJ.&pf9GG'Sd*޸q~J|4=䓏YI0^*Lٴw]G߷Kk/:ԇBΒFFІAZO3oJ ׉z$ bul )cf"8XK#-ps3%rȘ9r e$πtNreI%{eeHNV52INyk et-+*!z'ɵFI =CJu *9K4G-#h`GDcsk$,=G4Z'r0=L^e-q+gp l P@OMaߥ9dR- iƃYc,viK(v#坒:>4Y^u619 +p++mf!k@ZbkPL#L}>PbfJI)r H4XrX0*lw&+ =O>.M=zD"qvj;̵jIENDB`goget-ubuntu-touch-0.2+14.04.20140416.2/ubuntu-emulator/skins/EDGE/hardware.ini0000644000015301777760000000012012323552652027156 0ustar pbusernogroup00000000000000# skin-specific hardware values hw.lcd.density=240 vm.heapSize=48 hw.ramSize=512goget-ubuntu-touch-0.2+14.04.20140416.2/ubuntu-emulator/diskimage/0000755000015301777760000000000012323553204024763 5ustar pbusernogroup00000000000000goget-ubuntu-touch-0.2+14.04.20140416.2/ubuntu-emulator/diskimage/image.go0000644000015301777760000001142612323552652026406 0ustar pbusernogroup00000000000000// // ubuntu-emu - Tool to download and run Ubuntu Touch emulator instances // // Copyright (c) 2013 Canonical Ltd. // // Written by Sergio Schvezov // package diskimage // This program is free software: you can redistribute it and/or modify it // under the terms of the GNU General Public License version 3, as published // by the Free Software Foundation. // // This program is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranties of // MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR // PURPOSE. See the GNU General Public License for more details. // // You should have received a copy of the GNU General Public License along // with this program. If not, see . import ( "bufio" "errors" "fmt" "io" "io/ioutil" "launchpad.net/goget-ubuntu-touch/ubuntu-emulator/sysutils" "os" "os/exec" "path/filepath" ) type DiskImage struct { path, label, Mountpoint string size int64 } //New creates a new DiskImage func New(path, label string, size int64) *DiskImage { var img DiskImage img.path = path img.label = label img.size = size return &img } //New creates a new DiskImage func NewExisting(path string) *DiskImage { var img DiskImage img.path = path return &img } func (img *DiskImage) Move(dst string) error { if err := img.Copy(dst); err != nil { return err } if err := os.Remove(img.path); err != nil { return errors.New(fmt.Sprintf("Unable to remove %s when moving to %s", img.path, dst)) } img.path = dst return nil } func (img *DiskImage) Copy(dst string) (err error) { dstFile, err := os.Create(dst) if err != nil { return err } defer dstFile.Close() srcFile, err := os.Open(img.path) if err != nil { return err } defer srcFile.Close() reader := bufio.NewReader(srcFile) writer := bufio.NewWriter(dstFile) defer func() { if err != nil { writer.Flush() } }() if _, err = io.Copy(writer, reader); err != nil { return err } writer.Flush() return nil } //Mount the DiskImage func (img *DiskImage) Mount() (err error) { img.Mountpoint, err = ioutil.TempDir(os.TempDir(), "ubuntu-system") if err != nil { return errors.New(fmt.Sprintf("Unable to create temp dir to create system image: %s", err)) } //Remove Mountpoint if we fail along the way defer func() { if err != nil { os.Remove(img.Mountpoint) } }() if out, err := exec.Command("mount", img.path, img.Mountpoint).CombinedOutput(); err != nil { return errors.New(fmt.Sprintf("Unable to mount temp dir to create system image %s", out)) } return nil } //Unmount the DiskImage func (img *DiskImage) Unmount() error { if img.Mountpoint == "" { return nil } defer os.Remove(img.Mountpoint) if out, err := exec.Command("sync").CombinedOutput(); err != nil { exec.Command("umount", img.Mountpoint).Run() return errors.New(fmt.Sprintf("Failed to sync filesystems before unmounting: %s", out)) } if err := exec.Command("umount", img.Mountpoint).Run(); err != nil { return errors.New("Failed to unmount temp dir where system image was created") } img.Mountpoint = "" return nil } //Provision unpacks the tarList into the given DiskImage func (img *DiskImage) Provision(tarList []string) error { //TODO use archive/tar for _, tar := range tarList { if out, err := exec.Command("tar", "--numeric-owner", "--exclude", "partitions*", "-xf", tar, "-C", img.Mountpoint).CombinedOutput(); err != nil { return errors.New(fmt.Sprintf("Unable to extract rootfs %s to %s: %s", tar, img.Mountpoint, out)) } } if err := img.unpackSystem(); err != nil { return err } for _, job := range overrides { if err := img.overrideJob(job); err != nil { return err } } for _, file := range setupFiles { if err := img.writeFile(file); err != nil { return err } } return nil } //Create returns a ext4 partition for a given file func (img DiskImage) Create() error { if err := sysutils.CreateEmptyFile(img.path, img.size); err != nil { return err } if err := exec.Command("mkfs.ext4", "-F", "-L", img.label, img.path).Run(); err != nil { return err } return nil } //unpackSystem moves the system partition up one level func (img DiskImage) unpackSystem() error { os.Rename(filepath.Join(img.Mountpoint, "system"), filepath.Join(img.Mountpoint, "system-unpack")) defer os.Remove(filepath.Join(img.Mountpoint, "system-unpack")) dir, err := os.Open(filepath.Join(img.Mountpoint, "system-unpack")) if err != nil { return err } defer dir.Close() fileInfos, err := dir.Readdir(-1) if err != nil { return err } for _, fileInfo := range fileInfos { name := fileInfo.Name() err := os.Rename(filepath.Join(img.Mountpoint, "system-unpack", name), filepath.Join(img.Mountpoint, name)) if err != nil { return err } } return nil } goget-ubuntu-touch-0.2+14.04.20140416.2/ubuntu-emulator/diskimage/customization.go0000644000015301777760000000542512323552652030236 0ustar pbusernogroup00000000000000// // ubuntu-emu - Tool to download and run Ubuntu Touch emulator instances // // Copyright (c) 2013 Canonical Ltd. // // Written by Sergio Schvezov // package diskimage // This program is free software: you can redistribute it and/or modify it // under the terms of the GNU General Public License version 3, as published // by the Free Software Foundation. // // This program is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranties of // MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR // PURPOSE. See the GNU General Public License for more details. // // You should have received a copy of the GNU General Public License along // with this program. If not, see . import ( "errors" "fmt" "io/ioutil" "path/filepath" "strings" ) var overrides = []string{"etc/init/ofono.conf", "etc/init/ubuntu-location-service.conf", "etc/init/whoopsie.conf", "usr/share/upstart/sessions/ofono-setup.conf", "usr/share/upstart/sessions/mediascanner.conf", "etc/init/bluetooth.conf", "etc/init/network-manager.conf", } const networkConfig string = `# interfaces(5) file used by ifup(8) and ifdown(8) auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 10.0.2.15 netmask 255.255.255.0 gateway 10.0.2.2 dns-nameservers 10.0.2.3 ` const qemuConsole string = `# ttyS2 - getty start on stopped rc RUNLEVEL=[2345] and not-container stop on runlevel [!2345] respawn exec /sbin/getty -8 38400 ttyS2 ` type setupFile struct{ path, content string } var setupFiles = []setupFile{{"etc/init/ttyS2.conf", qemuConsole}, {"etc/network/interfaces", networkConfig}, {"etc/profile.d/hud-service.sh", "export HUD_DISABLE_VOICE=1"}, } //overrideJob creates all the hacks to make the emulator work //these should eventually be dropped or made optional func (img DiskImage) overrideJob(jobPath string) error { if !strings.HasSuffix(jobPath, ".conf") { return errors.New(fmt.Sprintf("%s is not an upstart job", jobPath)) } else { } jobPath = jobPath[:strings.LastIndex(jobPath, "conf")] + "override" if err := ioutil.WriteFile(filepath.Join(img.Mountpoint, jobPath), []byte("manual\n"), 0644); err != nil { return err } return nil } //setupFile writes a setup to a target file func (img DiskImage) writeFile(file setupFile) error { profilePath := filepath.Join(img.Mountpoint, file.path) if err := ioutil.WriteFile(profilePath, []byte(file.content), 0644); err != nil { return err } return nil } //Writable allows writes on the created running image func (img DiskImage) Writable() error { writeFlag := filepath.Join(img.Mountpoint, ".writable_image") if err := ioutil.WriteFile(writeFlag, []byte(""), 0644); err != nil { return err } return nil } goget-ubuntu-touch-0.2+14.04.20140416.2/ubuntu-emulator/diskimage/snapshot.go0000644000015301777760000000436112323552652027163 0ustar pbusernogroup00000000000000// // ubuntu-emu - Tool to download and run Ubuntu Touch emulator instances // // Copyright (c) 2013 Canonical Ltd. // // Written by Sergio Schvezov // package diskimage // This program is free software: you can redistribute it and/or modify it // under the terms of the GNU General Public License version 3, as published // by the Free Software Foundation. // // This program is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranties of // MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR // PURPOSE. See the GNU General Public License for more details. // // You should have received a copy of the GNU General Public License along // with this program. If not, see . import ( "errors" "fmt" "os" "os/exec" ) const BaseSnapshot = "pristine" //ConvertQcow2 converts an image from raw to qcow2 func (img *DiskImage) ConvertQcow2() error { var cmd *exec.Cmd // convert cmd = exec.Command("qemu-img", "convert", "-f", "raw", img.path, "-O", "qcow2", "-o", "compat=0.10", img.path+".qcow2") if out, err := cmd.CombinedOutput(); err != nil { return errors.New(fmt.Sprintf("Error while converting %s: %s", img.path, out)) } // check cmd = exec.Command("qemu-img", "check", img.path+".qcow2") if out, err := cmd.CombinedOutput(); err != nil { return errors.New(fmt.Sprintf("Error while converting %s: %s", img.path, out)) } os.Rename(img.path+".qcow2", img.path) return img.Snapshot(BaseSnapshot) } //Snapshot creates a DiskImage's snapshot with the specified snapshot in label func (img *DiskImage) Snapshot(label string) error { // snap cmd := exec.Command("qemu-img", "snapshot", "-c", label, img.path) if out, err := cmd.CombinedOutput(); err != nil { return errors.New(fmt.Sprintf("Error while converting %s: %s", img.path, out)) } return nil } //RevertSnapshot reverts a DiskImage's snapshot to the specified snapshot in label func (img *DiskImage) RevertSnapshot(label string) error { // unsnap cmd := exec.Command("qemu-img", "snapshot", "-c", label, img.path) if out, err := cmd.CombinedOutput(); err != nil { return errors.New(fmt.Sprintf("Error while converting %s: %s", img.path, out)) } return nil } goget-ubuntu-touch-0.2+14.04.20140416.2/ubuntu-emulator/sysutils/0000755000015301777760000000000012323553204024725 5ustar pbusernogroup00000000000000goget-ubuntu-touch-0.2+14.04.20140416.2/ubuntu-emulator/sysutils/utils.go0000644000015301777760000000367012323552652026430 0ustar pbusernogroup00000000000000// // ubuntu-emu - Tool to download and run Ubuntu Touch emulator instances // // Copyright (c) 2013 Canonical Ltd. // // Written by Sergio Schvezov // package sysutils // This program is free software: you can redistribute it and/or modify it // under the terms of the GNU General Public License version 3, as published // by the Free Software Foundation. // // This program is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranties of // MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR // PURPOSE. See the GNU General Public License for more details. // // You should have received a copy of the GNU General Public License along // with this program. If not, see . import ( "errors" "fmt" "os" "strconv" "syscall" ) func CreateEmptyFile(path string, size int64) (err error) { file, err := os.Create(path) if err != nil { return err } defer func() { file.Close() if err != nil { os.Remove(path) } }() size = size * 1024 * 1024 * 1024 if err := file.Truncate(size); err != nil { return errors.New(fmt.Sprintf("Error creating %s of size %d to stage image onto", path, size)) } return nil } func DropPrivs() error { uid, gid := GetSudoEnvInt() if err := syscall.Setregid(-1, gid); err != nil { return errors.New(fmt.Sprintf("Can't drop gid: %s", err)) } if err := syscall.Setreuid(-1, uid); err != nil { return errors.New(fmt.Sprintf("Can't drop uid: %s", err)) } return nil } func EscalatePrivs() error { err := syscall.Setreuid(-1, 0) return err } func GetSudoEnv() (uid, gid string) { uid = os.Getenv("SUDO_UID") gid = os.Getenv("SUDO_GID") if uid == "" { uid = "0" } if gid == "" { gid = "0" } return uid, gid } func GetSudoEnvInt() (uid, gid int) { uidString, gidString := GetSudoEnv() uid, _ = strconv.Atoi(uidString) gid, _ = strconv.Atoi(gidString) return uid, gid } goget-ubuntu-touch-0.2+14.04.20140416.2/ubuntu-emulator/sysutils/stamp.go0000644000015301777760000000315612323552652026413 0ustar pbusernogroup00000000000000// // ubuntu-emu - Tool to download and run Ubuntu Touch emulator instances // // Copyright (c) 2013 Canonical Ltd. // // Written by Sergio Schvezov // package sysutils // This program is free software: you can redistribute it and/or modify it // under the terms of the GNU General Public License version 3, as published // by the Free Software Foundation. // // This program is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranties of // MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR // PURPOSE. See the GNU General Public License for more details. // // You should have received a copy of the GNU General Public License along // with this program. If not, see . import ( "bufio" "encoding/json" "launchpad.net/goget-ubuntu-touch/ubuntuimage" "os" "path/filepath" ) func WriteStamp(dataDir string, image ubuntuimage.Image) (err error) { path := filepath.Join(dataDir, ".stamp") file, err := os.Create(path) if err != nil { return err } defer func() { file.Close() if err != nil { os.Remove(path) } }() w := bufio.NewWriter(file) defer w.Flush() jsonWriter := json.NewEncoder(w) if err := jsonWriter.Encode(image); err != nil { return err } return nil } func ReadStamp(dataDir string) (image ubuntuimage.Image, err error) { path := filepath.Join(dataDir, ".stamp") file, err := os.Open(path) if err != nil { return image, err } jsonReader := json.NewDecoder(file) if err := jsonReader.Decode(&image); err != nil { return image, err } return image, nil } goget-ubuntu-touch-0.2+14.04.20140416.2/ubuntu-emulator/constants.go0000644000015301777760000000175712323552652025411 0ustar pbusernogroup00000000000000// // ubuntu-emu - Tool to download and run Ubuntu Touch emulator instances // // Copyright (c) 2013 Canonical Ltd. // // Written by Sergio Schvezov // package main // This program is free software: you can redistribute it and/or modify it // under the terms of the GNU General Public License version 3, as published // by the Free Software Foundation. // // This program is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranties of // MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR // PURPOSE. See the GNU General Public License for more details. // // You should have received a copy of the GNU General Public License along // with this program. If not, see . //Global constansts const ( kernelName = "ubuntu-kernel" dataImage = "userdata.img" sdcardImage = "sdcard.img" systemImage = "system.img" cacheImage = "cache.img" cpu = "cortex-a9" ) goget-ubuntu-touch-0.2+14.04.20140416.2/ubuntu-emulator/run.go0000644000015301777760000000636412323552652024200 0ustar pbusernogroup00000000000000// // ubuntu-emu - Tool to download and run Ubuntu Touch emulator instances // // Copyright (c) 2013 Canonical Ltd. // // Written by Sergio Schvezov // package main // This program is free software: you can redistribute it and/or modify it // under the terms of the GNU General Public License version 3, as published // by the Free Software Foundation. // // This program is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranties of // MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR // PURPOSE. See the GNU General Public License for more details. // // You should have received a copy of the GNU General Public License along // with this program. If not, see . import ( "errors" "fmt" "os" "os/exec" "path/filepath" ) type RunCmd struct { Skin string `long:"skin" description:"Select skin/emulator type"` KernelCmd string `long:"kernel-cmdline" description:"Replace kernel cmdline"` Memory string `long:"memory" description:"Set the device memory"` Scale string `long:"scale" description:"Scale the emulator size"` } var runCmd RunCmd const ( defaultMemory = "512" defaultScale = "1.0" defaultSkin = "EDGE" emulatorCmd = "/usr/share/android/emulator/out/host/linux-x86/bin/emulator" ) var skinDirs = []string { "skins", "/usr/share/ubuntu-emulator/skins", "/usr/share/android/emulator/development/tools/emulator/skins", } func init() { runCmd.Skin = defaultSkin runCmd.Scale = defaultScale runCmd.Memory = defaultMemory parser.AddCommand("run", "Run emulator instance named 'name'", "Runs a new emulator instance name 'name' which was previously created", &runCmd) } func (runCmd *RunCmd) Execute(args []string) error { if len(args) != 1 { return errors.New("Instance name 'name' is required") } instanceName := args[0] dataDir := getInstanceDataDir(instanceName) if instanceExists(dataDir) != true { return errors.New(fmt.Sprintf("This instance does not exist, use 'create %s' to create it", instanceName)) } skinDir, err := getSkinDir(runCmd.Skin) if err != nil { return err } cmd := exec.Command(emulatorCmd, "-memory", runCmd.Memory, "-skindir", skinDir, "-skin", runCmd.Skin, "-sysdir", dataDir, "-kernel", filepath.Join(dataDir, kernelName), "-data", filepath.Join(dataDir, dataImage), "-system", filepath.Join(dataDir, systemImage), "-sdcard", filepath.Join(dataDir, sdcardImage), "-cache", filepath.Join(dataDir, cacheImage), "-force-32bit", "-no-snapstorage", "-gpu", "on", "-scale", runCmd.Scale, "-shell", "-no-jni", "-show-kernel", "-verbose", "-qemu", "-cpu", cpu, "-append", runCmd.KernelCmd) cmd.Stdout = os.Stdout cmd.Stderr = os.Stderr cmd.Stdin = os.Stdin if err := cmd.Run(); err != nil { return err } return nil } func getSkinDir(skin string) (string, error) { for _, skinDir := range skinDirs { if dir, err := os.Stat(skinDir); err != nil || !dir.IsDir() { continue } skinPath := filepath.Join(skinDir, skin) if dir, err := os.Stat(skinPath); err != nil || !dir.IsDir() { continue } return skinDir, nil } return "", errors.New(fmt.Sprintf("Cannot find skin %s in any directory from path %s", skin, skinDirs)) } goget-ubuntu-touch-0.2+14.04.20140416.2/ubuntu-emulator/list.go0000644000015301777760000000321612323552652024340 0ustar pbusernogroup00000000000000// // ubuntu-emu - Tool to download and run Ubuntu Touch emulator instances // // Copyright (c) 2013 Canonical Ltd. // // Written by Sergio Schvezov // package main // This program is free software: you can redistribute it and/or modify it // under the terms of the GNU General Public License version 3, as published // by the Free Software Foundation. // // This program is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranties of // MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR // PURPOSE. See the GNU General Public License for more details. // // You should have received a copy of the GNU General Public License along // with this program. If not, see . import ( "fmt" "io/ioutil" "launchpad.net/goget-ubuntu-touch/ubuntu-emulator/sysutils" "path/filepath" ) type ListCmd struct { // TODO Verbose bool `long:"verbose" description:"Shows additional information from instances listed"` } var listCmd ListCmd func init() { parser.AddCommand("list", "Lists emulator instances", "List emulator instances with information on what was used to create them", &listCmd) } func (listCmd *ListCmd) Execute(args []string) error { dataDir := getDataDir() instanceList, err := ioutil.ReadDir(dataDir) if err != nil { return err } for _, entry := range instanceList { if !entry.IsDir() { continue } if image, err := sysutils.ReadStamp(filepath.Join(dataDir, entry.Name())); err == nil { fmt.Printf("%s\t%s\n", entry.Name(), image.Description) } else { fmt.Println(entry.Name()) } } return nil } goget-ubuntu-touch-0.2+14.04.20140416.2/ubuntu-emulator/snapshot.go0000644000015301777760000000511612323552652025225 0ustar pbusernogroup00000000000000// // ubuntu-emu - Tool to download and run Ubuntu Touch emulator instances // // Copyright (c) 2013 Canonical Ltd. // // Written by Sergio Schvezov // package main // This program is free software: you can redistribute it and/or modify it // under the terms of the GNU General Public License version 3, as published // by the Free Software Foundation. // // This program is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranties of // MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR // PURPOSE. See the GNU General Public License for more details. // // You should have received a copy of the GNU General Public License along // with this program. If not, see . import ( "errors" "fmt" "launchpad.net/goget-ubuntu-touch/ubuntu-emulator/diskimage" "path/filepath" ) type SnapshotCmd struct { Revert string `long:"revert" description:"Reverts to the selected snapshot"` Create string `long:"create" description:"Creates the selected snapshot"` Pristine bool `long:"revert-pristine" description:"Reverts to the originally created snapshot"` } var snapshotCmd SnapshotCmd func init() { parser.AddCommand("snapshot", "Manipulates snapshots for emulator instance named 'name'", "Create and revert to snapshots of the emulator instance name 'name' which was previously created", &snapshotCmd) } func (snapshotCmd *SnapshotCmd) Execute(args []string) error { if len(args) != 1 { return errors.New("Instance name 'name' is required") } if snapshotCmd.Pristine && snapshotCmd.Create != "" && snapshotCmd.Revert != "" { return errors.New("Only one option can be selected") } instanceName := args[0] dataDir := getInstanceDataDir(instanceName) if instanceExists(dataDir) != true { return errors.New(fmt.Sprintf("This instance does not exist, use 'create %s' to create it", instanceName)) } if snapshotCmd.Pristine { snapshotCmd.Revert = diskimage.BaseSnapshot } sdcardImage := diskimage.NewExisting(filepath.Join(dataDir, "sdcard.img")) systemImage := diskimage.NewExisting(filepath.Join(dataDir, "system.img")) images := []*diskimage.DiskImage{systemImage, sdcardImage} if snapshotCmd.Revert != "" { for _, img := range images { if err := img.RevertSnapshot(snapshotCmd.Revert); err != nil { return err } } } else if snapshotCmd.Create != "" { for _, img := range images { if err := img.Snapshot(snapshotCmd.Create); err != nil { return err } } } else { errors.New("Command not implemented or supported") } return nil } goget-ubuntu-touch-0.2+14.04.20140416.2/ubuntu-emulator/main.go0000644000015301777760000000175512323552652024317 0ustar pbusernogroup00000000000000// // ubuntu-emu - Tool to download and run Ubuntu Touch emulator instances // // Copyright (c) 2013 Canonical Ltd. // // Written by Sergio Schvezov // package main // This program is free software: you can redistribute it and/or modify it // under the terms of the GNU General Public License version 3, as published // by the Free Software Foundation. // // This program is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranties of // MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR // PURPOSE. See the GNU General Public License for more details. // // You should have received a copy of the GNU General Public License along // with this program. If not, see . import ( flags "github.com/jessevdk/go-flags" "os" ) var parser = flags.NewParser(nil, flags.Default) func init() { } func main() { if _, err := parser.Parse(); err != nil { os.Exit(1) } } goget-ubuntu-touch-0.2+14.04.20140416.2/ubuntu-emulator/create.go0000644000015301777760000001416012323552720024624 0ustar pbusernogroup00000000000000// // ubuntu-emu - Tool to download and run Ubuntu Touch emulator instances // // Copyright (c) 2013 Canonical Ltd. // // Written by Sergio Schvezov // package main // This program is free software: you can redistribute it and/or modify it // under the terms of the GNU General Public License version 3, as published // by the Free Software Foundation. // // This program is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranties of // MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR // PURPOSE. See the GNU General Public License for more details. // // You should have received a copy of the GNU General Public License along // with this program. If not, see . import ( "errors" "fmt" "os" "path/filepath" "runtime" "syscall" "launchpad.net/goget-ubuntu-touch/ubuntu-emulator/diskimage" "launchpad.net/goget-ubuntu-touch/ubuntu-emulator/sysutils" "launchpad.net/goget-ubuntu-touch/ubuntuimage" ) type CreateCmd struct { Channel string `long:"channel" description:"Select device channel"` Server string `long:"server" description:"Select image server"` Revision int `long:"revision" description:"Select revision"` RawDisk bool `long:"use-raw-disk" description:"Use raw disks instead of qcow2"` } var createCmd CreateCmd const ( device = "generic" defaultChannel = "ubuntu-touch/devel" defaultServer = "https://system-image.ubuntu.com" ) func init() { createCmd.Channel = defaultChannel createCmd.Server = defaultServer parser.AddCommand("create", "Create new emulator instance named 'name'", "Creates a new emulator instance name 'name' by downloading the necessary components "+ "from the image server", &createCmd) } func (createCmd *CreateCmd) Execute(args []string) error { if len(args) != 1 { return errors.New("Instance name 'name' is required") } instanceName := args[0] if syscall.Getuid() != 0 { return errors.New("Creation requires sudo (root)") } // hack to circumvent https://code.google.com/p/go/issues/detail?id=1435 runtime.GOMAXPROCS(1) runtime.LockOSThread() if err := sysutils.DropPrivs(); err != nil { return err } channels, err := ubuntuimage.NewChannels(createCmd.Server) if err != nil { return err } deviceChannel, err := channels.GetDeviceChannel( createCmd.Server, createCmd.Channel, device) if err != nil { return err } var image ubuntuimage.Image if createCmd.Revision <= 0 { image, err = deviceChannel.GetRelativeImage(createCmd.Revision) } else { image, err = deviceChannel.GetImage(createCmd.Revision) } if err != nil { return err } fmt.Printf("Creating \"%s\" from %s revision %d\n", instanceName, createCmd.Channel, image.Version) fmt.Println("Downloading...") files, _ := download(image) dataDir := getInstanceDataDir(instanceName) if os.MkdirAll(dataDir, 0700) != nil { return err } fmt.Println("Setting up...") //This image will later be copied into sdcard.img as system.img and will hold the Ubuntu rootfs ubuntuImage := diskimage.New(filepath.Join(dataDir, "ubuntu-system.img"), "UBUNTU", 3) //This image represents userdata, it will be marked with .writable_image and hold the //Ubuntu rootfs. sdcardImage := diskimage.New(filepath.Join(dataDir, "sdcard.img"), "USERDATA", 4) systemImage := diskimage.NewExisting(filepath.Join(dataDir, "system.img")) if err := createSystem(ubuntuImage, sdcardImage, files); err != nil { return err } var deviceTar string if deviceTar, err = getDeviceTar(files); err != nil { return err } if err = flatExtractImages(deviceTar, dataDir); err != nil { return err } // boot.img must be in dataDir if err = extractBoot(dataDir); err != nil { return err } if createCmd.RawDisk != true { fmt.Println("Creating snapshots for disks...") for _, img := range []*diskimage.DiskImage{systemImage, sdcardImage} { if err := img.ConvertQcow2(); err != nil { return err } } } if err = sysutils.WriteStamp(dataDir, image); err != nil { return err } fmt.Printf("Succesfully created emulator instance %s in %s\n", instanceName, dataDir) return nil } func createSystem(ubuntuImage, sdcardImage *diskimage.DiskImage, files []string) (err error) { for _, img := range []*diskimage.DiskImage{ubuntuImage, sdcardImage} { if err := img.Create(); err != nil { return err } } // hack to circumvent https://code.google.com/p/go/issues/detail?id=1435 runtime.GOMAXPROCS(1) runtime.LockOSThread() if err := sysutils.EscalatePrivs(); err != nil { return err } defer func() (err error) { return sysutils.DropPrivs() }() if err := ubuntuImage.Mount(); err != nil { return err } if err := ubuntuImage.Provision(files); err != nil { if err := ubuntuImage.Unmount(); err != nil { fmt.Println("Unmounting error when errors:", err) } return err } if err := ubuntuImage.Unmount(); err != nil { return err } if err := sdcardImage.Mount(); err != nil { return err } defer sdcardImage.Unmount() if err = sdcardImage.Writable(); err != nil { return err } if err := ubuntuImage.Move(filepath.Join(sdcardImage.Mountpoint, "system.img")); err != nil { return err } return nil } func download(image ubuntuimage.Image) (files []string, err error) { cacheDir := ubuntuimage.GetCacheDir() totalFiles := len(image.Files) done := make(chan string, totalFiles) for _, file := range image.Files { go bitDownloader(file, done, createCmd.Server, cacheDir) } for i := 0; i < totalFiles; i++ { files = append(files, <-done) } return files, nil } // bitDownloader downloads func bitDownloader(file ubuntuimage.File, done chan<- string, server, downloadDir string) { err := file.MakeRelativeToServer(server) if err != nil { fmt.Println(err) os.Exit(1) } // hack to circumvent https://code.google.com/p/go/issues/detail?id=1435 runtime.GOMAXPROCS(1) runtime.LockOSThread() if err := sysutils.DropPrivs(); err != nil { fmt.Println(err) os.Exit(1) } err = file.Download(downloadDir) if err != nil { fmt.Printf("Cannot download %s%s: %s\n", file.Server, file.Path, err) os.Exit(1) } filePath := filepath.Join(downloadDir, file.Path) done <- filePath } goget-ubuntu-touch-0.2+14.04.20140416.2/ubuntu-emulator/destroy.go0000644000015301777760000000437012323552652025060 0ustar pbusernogroup00000000000000// // ubuntu-emu - Tool to download and run Ubuntu Touch emulator instances // // Copyright (c) 2013 Canonical Ltd. // // Written by Sergio Schvezov // package main // This program is free software: you can redistribute it and/or modify it // under the terms of the GNU General Public License version 3, as published // by the Free Software Foundation. // // This program is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranties of // MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR // PURPOSE. See the GNU General Public License for more details. // // You should have received a copy of the GNU General Public License along // with this program. If not, see . import ( "errors" "fmt" "os" ) type DestroyCmd struct { Yes bool `long:"yes" description:"Assume yes"` } var destroyCmd DestroyCmd func init() { parser.AddCommand("destroy", "Destroys an emulator instance named 'name'", "Destroys an emulator instance name 'name' which was previously created", &destroyCmd) } func (destroyCmd *DestroyCmd) Execute(args []string) error { if len(args) != 1 { return errors.New("Instance name 'name' is required") } instanceName := args[0] dataDir := getInstanceDataDir(instanceName) if instanceExists(dataDir) != true { return errors.New(fmt.Sprintf("This instance does not exist, use 'create %s' to create it", instanceName)) } if destroyCmd.Yes == false { dialog := fmt.Sprintf("Are you sure you want to remove instance '%s' located in %s?\n[y/n] ", instanceName, dataDir) action, err := confirmDestroy(dialog) if err != nil { return err } if action != true { return nil } } return os.RemoveAll(dataDir) } func confirmDestroy(dialog string) (bool, error) { yes := []string{"y", "Y"} no := []string{"n", "N"} var resp string fmt.Print(dialog) _, err := fmt.Scanln(&resp) if err != nil { return false, err } if containsString(resp, yes) { return true, nil } else if containsString(resp, no) { return false, nil } else { return confirmDestroy(dialog) } } func containsString(resp string, list []string) bool { for _, i := range list { if i == resp { return true } } return false } goget-ubuntu-touch-0.2+14.04.20140416.2/ubuntu-emulator/common.go0000644000015301777760000000411712323552652024656 0ustar pbusernogroup00000000000000// // ubuntu-emu - Tool to download and run Ubuntu Touch emulator instances // // Copyright (c) 2013 Canonical Ltd. // // Written by Sergio Schvezov // package main // This program is free software: you can redistribute it and/or modify it // under the terms of the GNU General Public License version 3, as published // by the Free Software Foundation. // // This program is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranties of // MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR // PURPOSE. See the GNU General Public License for more details. // // You should have received a copy of the GNU General Public License along // with this program. If not, see . import ( "errors" "fmt" "io/ioutil" "launchpad.net/goget-ubuntu-touch/bootimg" "os" "path/filepath" "strings" ) func getDeviceTar(files []string) (string, error) { for _, file := range files { if strings.Contains(file, "device") { return file, nil } } return "", errors.New("Could not find device specific tar") } func extractBoot(dataDir string) error { bootPath := filepath.Join(dataDir, "boot.img") imgBytes, err := ioutil.ReadFile(bootPath) if err != nil { return errors.New(fmt.Sprintf("Cannot read %s", bootPath)) } boot, err := bootimg.New(imgBytes) if err != nil { return err } ramdiskPath := filepath.Join(dataDir, "ramdisk.img") kernelPath := filepath.Join(dataDir, kernelName) if err := boot.WriteRamdisk(ramdiskPath); err != nil { return err } if boot.WriteKernel(kernelPath); err != nil { return err } return nil } func instanceExists(path string) bool { f, err := os.Stat(path) if err == nil { if f.IsDir() { return true } } return false } func getDataDir() string { dataDir := os.Getenv("XDG_DATA_HOME") if dataDir == "" { dataDir = "$HOME/.local/share" } return filepath.Join(os.ExpandEnv(dataDir), filepath.Base(os.Args[0])) } func getInstanceDataDir(instanceName string) (dataDir string) { return filepath.Join(getDataDir(), instanceName) }