aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/ata/ahci.c24
-rw-r--r--drivers/ata/ata_piix.c37
-rw-r--r--drivers/ata/libata-core.c14
-rw-r--r--drivers/ata/libata-eh.c7
-rw-r--r--drivers/ata/libata-sff.c6
-rw-r--r--drivers/ata/sata_mv.c3
-rw-r--r--drivers/ata/sata_nv.c2
-rw-r--r--drivers/base/node.c2
-rw-r--r--drivers/block/cciss.c8
-rw-r--r--drivers/block/loop.c3
-rw-r--r--drivers/block/xen-blkfront.c2
-rw-r--r--drivers/block/xsysace.c22
-rw-r--r--drivers/char/agp/amd64-agp.c13
-rw-r--r--drivers/char/agp/intel-agp.c8
-rw-r--r--drivers/char/agp/parisc-agp.c23
-rw-r--r--drivers/char/hvcs.c9
-rw-r--r--drivers/char/hvsi.c1
-rw-r--r--drivers/cpufreq/cpufreq.c51
-rw-r--r--drivers/dca/dca-core.c2
-rw-r--r--drivers/dma/dmatest.c6
-rw-r--r--drivers/dma/fsldma.c8
-rw-r--r--drivers/dma/ioat.c2
-rw-r--r--drivers/dma/ioat_dca.c26
-rw-r--r--drivers/dma/ioat_dma.c39
-rw-r--r--drivers/dma/ioatdma.h8
-rw-r--r--drivers/dma/ioatdma_hw.h2
-rw-r--r--drivers/dma/ioatdma_registers.h2
-rw-r--r--drivers/dma/iop-adma.c16
-rw-r--r--drivers/dma/ipu/ipu_idmac.c2
-rw-r--r--drivers/dma/mv_xor.c16
-rw-r--r--drivers/gpu/drm/i915/i915_dma.c2
-rw-r--r--drivers/gpu/drm/i915/i915_drv.h7
-rw-r--r--drivers/gpu/drm/i915/i915_gem.c115
-rw-r--r--drivers/gpu/drm/i915/i915_reg.h1
-rw-r--r--drivers/gpu/drm/i915/i915_suspend.c11
-rw-r--r--drivers/hwmon/Kconfig4
-rw-r--r--drivers/hwmon/abituguru3.c7
-rw-r--r--drivers/hwmon/f75375s.c2
-rw-r--r--drivers/hwmon/it87.c8
-rw-r--r--drivers/hwmon/lm85.c8
-rw-r--r--drivers/hwmon/lm90.c8
-rw-r--r--drivers/ide/Kconfig5
-rw-r--r--drivers/ide/Makefile1
-rw-r--r--drivers/ide/at91_ide.c467
-rw-r--r--drivers/ide/ide-atapi.c12
-rw-r--r--drivers/ide/ide-disk_proc.c2
-rw-r--r--drivers/ide/ide-dma.c12
-rw-r--r--drivers/ide/ide-floppy.c6
-rw-r--r--drivers/ide/ide-floppy_proc.c2
-rw-r--r--drivers/ide/ide-io.c3
-rw-r--r--drivers/ide/ide-iops.c2
-rw-r--r--drivers/ide/ide-probe.c7
-rw-r--r--drivers/ide/ide-proc.c2
-rw-r--r--drivers/ide/ide-tape.c2
-rw-r--r--drivers/infiniband/hw/nes/nes_cm.c39
-rw-r--r--drivers/infiniband/hw/nes/nes_verbs.c2
-rw-r--r--drivers/infiniband/hw/nes/nes_verbs.h1
-rw-r--r--drivers/lguest/lguest_device.c6
-rw-r--r--drivers/md/md.c30
-rw-r--r--drivers/media/dvb/bt8xx/dst.c2
-rw-r--r--drivers/media/dvb/dvb-core/dvb_frontend.c7
-rw-r--r--drivers/media/dvb/frontends/stb0899_algo.c14
-rw-r--r--drivers/media/dvb/frontends/stb0899_drv.c2
-rw-r--r--drivers/media/dvb/frontends/stb0899_priv.h12
-rw-r--r--drivers/media/dvb/frontends/stb6100.c4
-rw-r--r--drivers/media/dvb/frontends/zl10353.c2
-rw-r--r--drivers/media/dvb/frontends/zl10353.h3
-rw-r--r--drivers/media/video/gspca/m5602/m5602_s5k4aa.c6
-rw-r--r--drivers/media/video/saa7134/saa7134-dvb.c1
-rw-r--r--drivers/media/video/tvaudio.c2
-rw-r--r--drivers/media/video/zoran/Kconfig1
-rw-r--r--drivers/mfd/wm8350-core.c5
-rw-r--r--drivers/mmc/core/mmc_ops.c15
-rw-r--r--drivers/mmc/host/s3cmci.c3
-rw-r--r--drivers/mtd/devices/mtd_dataflash.c3
-rw-r--r--drivers/mtd/maps/physmap.c19
-rw-r--r--drivers/net/sunhme.c2
-rw-r--r--drivers/parisc/dino.c13
-rw-r--r--drivers/parisc/gsc.c39
-rw-r--r--drivers/parisc/iosapic.c16
-rw-r--r--drivers/parisc/lba_pci.c4
-rw-r--r--drivers/parisc/sba_iommu.c63
-rw-r--r--drivers/pci/hotplug/Kconfig2
-rw-r--r--drivers/pci/pcie/aer/aerdrv_core.c3
-rw-r--r--drivers/pci/pcie/portdrv_pci.c1
-rw-r--r--drivers/pci/quirks.c31
-rw-r--r--drivers/platform/x86/acer-wmi.c2
-rw-r--r--drivers/power/ds2760_battery.c11
-rw-r--r--drivers/sbus/char/bbc_i2c.c2
-rw-r--r--drivers/sbus/char/jsflash.c3
-rw-r--r--drivers/scsi/fcoe/fc_transport_fcoe.c91
-rw-r--r--drivers/scsi/fcoe/fcoe_sw.c56
-rw-r--r--drivers/scsi/fcoe/libfcoe.c318
-rw-r--r--drivers/scsi/lasi700.c2
-rw-r--r--drivers/scsi/libfc/fc_disc.c63
-rw-r--r--drivers/scsi/libfc/fc_exch.c32
-rw-r--r--drivers/scsi/libfc/fc_fcp.c56
-rw-r--r--drivers/scsi/libfc/fc_lport.c173
-rw-r--r--drivers/scsi/libfc/fc_rport.c197
-rw-r--r--drivers/scsi/qla2xxx/qla_attr.c9
-rw-r--r--drivers/scsi/qla2xxx/qla_init.c19
-rw-r--r--drivers/scsi/qla2xxx/qla_mbx.c3
-rw-r--r--drivers/scsi/qla2xxx/qla_mid.c10
-rw-r--r--drivers/scsi/qla2xxx/qla_os.c6
-rw-r--r--drivers/scsi/qla2xxx/qla_version.h2
-rw-r--r--drivers/scsi/sd.c26
-rw-r--r--drivers/scsi/zalon.c2
-rw-r--r--drivers/video/aty/aty128fb.c10
-rw-r--r--drivers/video/aty/radeon_pm.c10
-rw-r--r--drivers/video/i810/i810_main.c5
-rw-r--r--drivers/video/logo/logo_linux_clut224.ppm4428
-rw-r--r--drivers/video/logo/logo_linux_vga16.ppm4339
-rw-r--r--drivers/video/sh_mobile_lcdcfb.c6
-rw-r--r--drivers/w1/masters/w1-gpio.c2
-rw-r--r--drivers/watchdog/gef_wdt.c2
-rw-r--r--drivers/watchdog/ks8695_wdt.c1
-rw-r--r--drivers/watchdog/orion5x_wdt.c1
-rw-r--r--drivers/watchdog/rc32434_wdt.c168
118 files changed, 7259 insertions, 4209 deletions
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
index a603bbf9b1b7..66e012cd3271 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -582,18 +582,18 @@ static const struct pci_device_id ahci_pci_tbl[] = {
582 { PCI_VDEVICE(NVIDIA, 0x0abd), board_ahci }, /* MCP79 */ 582 { PCI_VDEVICE(NVIDIA, 0x0abd), board_ahci }, /* MCP79 */
583 { PCI_VDEVICE(NVIDIA, 0x0abe), board_ahci }, /* MCP79 */ 583 { PCI_VDEVICE(NVIDIA, 0x0abe), board_ahci }, /* MCP79 */
584 { PCI_VDEVICE(NVIDIA, 0x0abf), board_ahci }, /* MCP79 */ 584 { PCI_VDEVICE(NVIDIA, 0x0abf), board_ahci }, /* MCP79 */
585 { PCI_VDEVICE(NVIDIA, 0x0bc8), board_ahci }, /* MCP7B */ 585 { PCI_VDEVICE(NVIDIA, 0x0d84), board_ahci }, /* MCP89 */
586 { PCI_VDEVICE(NVIDIA, 0x0bc9), board_ahci }, /* MCP7B */ 586 { PCI_VDEVICE(NVIDIA, 0x0d85), board_ahci }, /* MCP89 */
587 { PCI_VDEVICE(NVIDIA, 0x0bca), board_ahci }, /* MCP7B */ 587 { PCI_VDEVICE(NVIDIA, 0x0d86), board_ahci }, /* MCP89 */
588 { PCI_VDEVICE(NVIDIA, 0x0bcb), board_ahci }, /* MCP7B */ 588 { PCI_VDEVICE(NVIDIA, 0x0d87), board_ahci }, /* MCP89 */
589 { PCI_VDEVICE(NVIDIA, 0x0bcc), board_ahci }, /* MCP7B */ 589 { PCI_VDEVICE(NVIDIA, 0x0d88), board_ahci }, /* MCP89 */
590 { PCI_VDEVICE(NVIDIA, 0x0bcd), board_ahci }, /* MCP7B */ 590 { PCI_VDEVICE(NVIDIA, 0x0d89), board_ahci }, /* MCP89 */
591 { PCI_VDEVICE(NVIDIA, 0x0bce), board_ahci }, /* MCP7B */ 591 { PCI_VDEVICE(NVIDIA, 0x0d8a), board_ahci }, /* MCP89 */
592 { PCI_VDEVICE(NVIDIA, 0x0bcf), board_ahci }, /* MCP7B */ 592 { PCI_VDEVICE(NVIDIA, 0x0d8b), board_ahci }, /* MCP89 */
593 { PCI_VDEVICE(NVIDIA, 0x0bc4), board_ahci }, /* MCP7B */ 593 { PCI_VDEVICE(NVIDIA, 0x0d8c), board_ahci }, /* MCP89 */
594 { PCI_VDEVICE(NVIDIA, 0x0bc5), board_ahci }, /* MCP7B */ 594 { PCI_VDEVICE(NVIDIA, 0x0d8d), board_ahci }, /* MCP89 */
595 { PCI_VDEVICE(NVIDIA, 0x0bc6), board_ahci }, /* MCP7B */ 595 { PCI_VDEVICE(NVIDIA, 0x0d8e), board_ahci }, /* MCP89 */
596 { PCI_VDEVICE(NVIDIA, 0x0bc7), board_ahci }, /* MCP7B */ 596 { PCI_VDEVICE(NVIDIA, 0x0d8f), board_ahci }, /* MCP89 */
597 597
598 /* SiS */ 598 /* SiS */
599 { PCI_VDEVICE(SI, 0x1184), board_ahci }, /* SiS 966 */ 599 { PCI_VDEVICE(SI, 0x1184), board_ahci }, /* SiS 966 */
diff --git a/drivers/ata/ata_piix.c b/drivers/ata/ata_piix.c
index 54961c0b2c73..ef8b30d577bd 100644
--- a/drivers/ata/ata_piix.c
+++ b/drivers/ata/ata_piix.c
@@ -1289,6 +1289,39 @@ static const int *__devinit piix_init_sata_map(struct pci_dev *pdev,
1289 return map; 1289 return map;
1290} 1290}
1291 1291
1292static bool piix_no_sidpr(struct ata_host *host)
1293{
1294 struct pci_dev *pdev = to_pci_dev(host->dev);
1295
1296 /*
1297 * Samsung DB-P70 only has three ATA ports exposed and
1298 * curiously the unconnected first port reports link online
1299 * while not responding to SRST protocol causing excessive
1300 * detection delay.
1301 *
1302 * Unfortunately, the system doesn't carry enough DMI
1303 * information to identify the machine but does have subsystem
1304 * vendor and device set. As it's unclear whether the
1305 * subsystem vendor/device is used only for this specific
1306 * board, the port can't be disabled solely with the
1307 * information; however, turning off SIDPR access works around
1308 * the problem. Turn it off.
1309 *
1310 * This problem is reported in bnc#441240.
1311 *
1312 * https://bugzilla.novell.com/show_bug.cgi?id=441420
1313 */
1314 if (pdev->vendor == PCI_VENDOR_ID_INTEL && pdev->device == 0x2920 &&
1315 pdev->subsystem_vendor == PCI_VENDOR_ID_SAMSUNG &&
1316 pdev->subsystem_device == 0xb049) {
1317 dev_printk(KERN_WARNING, host->dev,
1318 "Samsung DB-P70 detected, disabling SIDPR\n");
1319 return true;
1320 }
1321
1322 return false;
1323}
1324
1292static int __devinit piix_init_sidpr(struct ata_host *host) 1325static int __devinit piix_init_sidpr(struct ata_host *host)
1293{ 1326{
1294 struct pci_dev *pdev = to_pci_dev(host->dev); 1327 struct pci_dev *pdev = to_pci_dev(host->dev);
@@ -1302,6 +1335,10 @@ static int __devinit piix_init_sidpr(struct ata_host *host)
1302 if (hpriv->map[i] == IDE) 1335 if (hpriv->map[i] == IDE)
1303 return 0; 1336 return 0;
1304 1337
1338 /* is it blacklisted? */
1339 if (piix_no_sidpr(host))
1340 return 0;
1341
1305 if (!(host->ports[0]->flags & PIIX_FLAG_SIDPR)) 1342 if (!(host->ports[0]->flags & PIIX_FLAG_SIDPR))
1306 return 0; 1343 return 0;
1307 1344
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 9fbf0595f3d4..060bcd601f57 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -1322,14 +1322,16 @@ static u64 ata_id_n_sectors(const u16 *id)
1322{ 1322{
1323 if (ata_id_has_lba(id)) { 1323 if (ata_id_has_lba(id)) {
1324 if (ata_id_has_lba48(id)) 1324 if (ata_id_has_lba48(id))
1325 return ata_id_u64(id, 100); 1325 return ata_id_u64(id, ATA_ID_LBA_CAPACITY_2);
1326 else 1326 else
1327 return ata_id_u32(id, 60); 1327 return ata_id_u32(id, ATA_ID_LBA_CAPACITY);
1328 } else { 1328 } else {
1329 if (ata_id_current_chs_valid(id)) 1329 if (ata_id_current_chs_valid(id))
1330 return ata_id_u32(id, 57); 1330 return id[ATA_ID_CUR_CYLS] * id[ATA_ID_CUR_HEADS] *
1331 id[ATA_ID_CUR_SECTORS];
1331 else 1332 else
1332 return id[1] * id[3] * id[6]; 1333 return id[ATA_ID_CYLS] * id[ATA_ID_HEADS] *
1334 id[ATA_ID_SECTORS];
1333 } 1335 }
1334} 1336}
1335 1337
@@ -4612,7 +4614,7 @@ void ata_sg_clean(struct ata_queued_cmd *qc)
4612 VPRINTK("unmapping %u sg elements\n", qc->n_elem); 4614 VPRINTK("unmapping %u sg elements\n", qc->n_elem);
4613 4615
4614 if (qc->n_elem) 4616 if (qc->n_elem)
4615 dma_unmap_sg(ap->dev, sg, qc->n_elem, dir); 4617 dma_unmap_sg(ap->dev, sg, qc->orig_n_elem, dir);
4616 4618
4617 qc->flags &= ~ATA_QCFLAG_DMAMAP; 4619 qc->flags &= ~ATA_QCFLAG_DMAMAP;
4618 qc->sg = NULL; 4620 qc->sg = NULL;
@@ -4727,7 +4729,7 @@ static int ata_sg_setup(struct ata_queued_cmd *qc)
4727 return -1; 4729 return -1;
4728 4730
4729 DPRINTK("%d sg elements mapped\n", n_elem); 4731 DPRINTK("%d sg elements mapped\n", n_elem);
4730 4732 qc->orig_n_elem = qc->n_elem;
4731 qc->n_elem = n_elem; 4733 qc->n_elem = n_elem;
4732 qc->flags |= ATA_QCFLAG_DMAMAP; 4734 qc->flags |= ATA_QCFLAG_DMAMAP;
4733 4735
diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c
index ce2ef0475339..ea890911d4fa 100644
--- a/drivers/ata/libata-eh.c
+++ b/drivers/ata/libata-eh.c
@@ -2423,11 +2423,14 @@ int ata_eh_reset(struct ata_link *link, int classify,
2423 } 2423 }
2424 2424
2425 /* prereset() might have cleared ATA_EH_RESET. If so, 2425 /* prereset() might have cleared ATA_EH_RESET. If so,
2426 * bang classes and return. 2426 * bang classes, thaw and return.
2427 */ 2427 */
2428 if (reset && !(ehc->i.action & ATA_EH_RESET)) { 2428 if (reset && !(ehc->i.action & ATA_EH_RESET)) {
2429 ata_for_each_dev(dev, link, ALL) 2429 ata_for_each_dev(dev, link, ALL)
2430 classes[dev->devno] = ATA_DEV_NONE; 2430 classes[dev->devno] = ATA_DEV_NONE;
2431 if ((ap->pflags & ATA_PFLAG_FROZEN) &&
2432 ata_is_host_link(link))
2433 ata_eh_thaw_port(ap);
2431 rc = 0; 2434 rc = 0;
2432 goto out; 2435 goto out;
2433 } 2436 }
@@ -2901,7 +2904,7 @@ static int atapi_eh_clear_ua(struct ata_device *dev)
2901 int i; 2904 int i;
2902 2905
2903 for (i = 0; i < ATA_EH_UA_TRIES; i++) { 2906 for (i = 0; i < ATA_EH_UA_TRIES; i++) {
2904 u8 sense_buffer[SCSI_SENSE_BUFFERSIZE]; 2907 u8 *sense_buffer = dev->link->ap->sector_buf;
2905 u8 sense_key = 0; 2908 u8 sense_key = 0;
2906 unsigned int err_mask; 2909 unsigned int err_mask;
2907 2910
diff --git a/drivers/ata/libata-sff.c b/drivers/ata/libata-sff.c
index 714cb046b594..f93dc029dfde 100644
--- a/drivers/ata/libata-sff.c
+++ b/drivers/ata/libata-sff.c
@@ -2066,6 +2066,7 @@ static int ata_bus_softreset(struct ata_port *ap, unsigned int devmask,
2066 iowrite8(ap->ctl | ATA_SRST, ioaddr->ctl_addr); 2066 iowrite8(ap->ctl | ATA_SRST, ioaddr->ctl_addr);
2067 udelay(20); /* FIXME: flush */ 2067 udelay(20); /* FIXME: flush */
2068 iowrite8(ap->ctl, ioaddr->ctl_addr); 2068 iowrite8(ap->ctl, ioaddr->ctl_addr);
2069 ap->last_ctl = ap->ctl;
2069 2070
2070 /* wait the port to become ready */ 2071 /* wait the port to become ready */
2071 return ata_sff_wait_after_reset(&ap->link, devmask, deadline); 2072 return ata_sff_wait_after_reset(&ap->link, devmask, deadline);
@@ -2190,8 +2191,10 @@ void ata_sff_postreset(struct ata_link *link, unsigned int *classes)
2190 } 2191 }
2191 2192
2192 /* set up device control */ 2193 /* set up device control */
2193 if (ap->ioaddr.ctl_addr) 2194 if (ap->ioaddr.ctl_addr) {
2194 iowrite8(ap->ctl, ap->ioaddr.ctl_addr); 2195 iowrite8(ap->ctl, ap->ioaddr.ctl_addr);
2196 ap->last_ctl = ap->ctl;
2197 }
2195} 2198}
2196EXPORT_SYMBOL_GPL(ata_sff_postreset); 2199EXPORT_SYMBOL_GPL(ata_sff_postreset);
2197 2200
@@ -2534,6 +2537,7 @@ void ata_bus_reset(struct ata_port *ap)
2534 if (ap->flags & (ATA_FLAG_SATA_RESET | ATA_FLAG_SRST)) { 2537 if (ap->flags & (ATA_FLAG_SATA_RESET | ATA_FLAG_SRST)) {
2535 /* set up device control for ATA_FLAG_SATA_RESET */ 2538 /* set up device control for ATA_FLAG_SATA_RESET */
2536 iowrite8(ap->ctl, ioaddr->ctl_addr); 2539 iowrite8(ap->ctl, ioaddr->ctl_addr);
2540 ap->last_ctl = ap->ctl;
2537 } 2541 }
2538 2542
2539 DPRINTK("EXIT\n"); 2543 DPRINTK("EXIT\n");
diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c
index 7007edd2d451..74b1080d116d 100644
--- a/drivers/ata/sata_mv.c
+++ b/drivers/ata/sata_mv.c
@@ -2218,12 +2218,13 @@ static irqreturn_t mv_interrupt(int irq, void *dev_instance)
2218 else 2218 else
2219 handled = mv_host_intr(host, pending_irqs); 2219 handled = mv_host_intr(host, pending_irqs);
2220 } 2220 }
2221 spin_unlock(&host->lock);
2222 2221
2223 /* for MSI: unmask; interrupt cause bits will retrigger now */ 2222 /* for MSI: unmask; interrupt cause bits will retrigger now */
2224 if (using_msi) 2223 if (using_msi)
2225 writel(hpriv->main_irq_mask, hpriv->main_irq_mask_addr); 2224 writel(hpriv->main_irq_mask, hpriv->main_irq_mask_addr);
2226 2225
2226 spin_unlock(&host->lock);
2227
2227 return IRQ_RETVAL(handled); 2228 return IRQ_RETVAL(handled);
2228} 2229}
2229 2230
diff --git a/drivers/ata/sata_nv.c b/drivers/ata/sata_nv.c
index 55a8eed3f3a3..f65b53785a8f 100644
--- a/drivers/ata/sata_nv.c
+++ b/drivers/ata/sata_nv.c
@@ -2523,7 +2523,7 @@ static void __exit nv_exit(void)
2523module_init(nv_init); 2523module_init(nv_init);
2524module_exit(nv_exit); 2524module_exit(nv_exit);
2525module_param_named(adma, adma_enabled, bool, 0444); 2525module_param_named(adma, adma_enabled, bool, 0444);
2526MODULE_PARM_DESC(adma, "Enable use of ADMA (Default: true)"); 2526MODULE_PARM_DESC(adma, "Enable use of ADMA (Default: false)");
2527module_param_named(swncq, swncq_enabled, bool, 0444); 2527module_param_named(swncq, swncq_enabled, bool, 0444);
2528MODULE_PARM_DESC(swncq, "Enable use of SWNCQ (Default: true)"); 2528MODULE_PARM_DESC(swncq, "Enable use of SWNCQ (Default: true)");
2529 2529
diff --git a/drivers/base/node.c b/drivers/base/node.c
index 43fa90b837ee..f8f578a71b25 100644
--- a/drivers/base/node.c
+++ b/drivers/base/node.c
@@ -303,7 +303,7 @@ int unregister_mem_sect_under_nodes(struct memory_block *mem_blk)
303 sect_start_pfn = section_nr_to_pfn(mem_blk->phys_index); 303 sect_start_pfn = section_nr_to_pfn(mem_blk->phys_index);
304 sect_end_pfn = sect_start_pfn + PAGES_PER_SECTION - 1; 304 sect_end_pfn = sect_start_pfn + PAGES_PER_SECTION - 1;
305 for (pfn = sect_start_pfn; pfn <= sect_end_pfn; pfn++) { 305 for (pfn = sect_start_pfn; pfn <= sect_end_pfn; pfn++) {
306 unsigned int nid; 306 int nid;
307 307
308 nid = get_nid_for_pfn(pfn); 308 nid = get_nid_for_pfn(pfn);
309 if (nid < 0) 309 if (nid < 0)
diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c
index b5a061114630..4f9b6d792017 100644
--- a/drivers/block/cciss.c
+++ b/drivers/block/cciss.c
@@ -3606,11 +3606,9 @@ static int __devinit cciss_init_one(struct pci_dev *pdev,
3606 if (cciss_hard_reset_controller(pdev) || cciss_reset_msi(pdev)) 3606 if (cciss_hard_reset_controller(pdev) || cciss_reset_msi(pdev))
3607 return -ENODEV; 3607 return -ENODEV;
3608 3608
3609 /* Some devices (notably the HP Smart Array 5i Controller) 3609 /* Now try to get the controller to respond to a no-op. Some
3610 need a little pause here */ 3610 devices (notably the HP Smart Array 5i Controller) need
3611 schedule_timeout_uninterruptible(30*HZ); 3611 up to 30 seconds to respond. */
3612
3613 /* Now try to get the controller to respond to a no-op */
3614 for (i=0; i<30; i++) { 3612 for (i=0; i<30; i++) {
3615 if (cciss_noop(pdev) == 0) 3613 if (cciss_noop(pdev) == 0)
3616 break; 3614 break;
diff --git a/drivers/block/loop.c b/drivers/block/loop.c
index edbaac6c0573..bf0345577672 100644
--- a/drivers/block/loop.c
+++ b/drivers/block/loop.c
@@ -392,8 +392,7 @@ lo_splice_actor(struct pipe_inode_info *pipe, struct pipe_buffer *buf,
392 struct loop_device *lo = p->lo; 392 struct loop_device *lo = p->lo;
393 struct page *page = buf->page; 393 struct page *page = buf->page;
394 sector_t IV; 394 sector_t IV;
395 size_t size; 395 int size, ret;
396 int ret;
397 396
398 ret = buf->ops->confirm(pipe, buf); 397 ret = buf->ops->confirm(pipe, buf);
399 if (unlikely(ret)) 398 if (unlikely(ret))
diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
index b6c8ce254359..8f905089b72b 100644
--- a/drivers/block/xen-blkfront.c
+++ b/drivers/block/xen-blkfront.c
@@ -977,6 +977,8 @@ static void backend_changed(struct xenbus_device *dev,
977 break; 977 break;
978 978
979 case XenbusStateClosing: 979 case XenbusStateClosing:
980 if (info->gd == NULL)
981 xenbus_dev_fatal(dev, -ENODEV, "gd is NULL");
980 bd = bdget_disk(info->gd, 0); 982 bd = bdget_disk(info->gd, 0);
981 if (bd == NULL) 983 if (bd == NULL)
982 xenbus_dev_fatal(dev, -ENODEV, "bdget failed"); 984 xenbus_dev_fatal(dev, -ENODEV, "bdget failed");
diff --git a/drivers/block/xsysace.c b/drivers/block/xsysace.c
index 381d686fc1a3..119be3442f28 100644
--- a/drivers/block/xsysace.c
+++ b/drivers/block/xsysace.c
@@ -489,6 +489,28 @@ static void ace_fsm_dostate(struct ace_device *ace)
489 ace->fsm_state, ace->id_req_count); 489 ace->fsm_state, ace->id_req_count);
490#endif 490#endif
491 491
492 /* Verify that there is actually a CF in the slot. If not, then
493 * bail out back to the idle state and wake up all the waiters */
494 status = ace_in32(ace, ACE_STATUS);
495 if ((status & ACE_STATUS_CFDETECT) == 0) {
496 ace->fsm_state = ACE_FSM_STATE_IDLE;
497 ace->media_change = 1;
498 set_capacity(ace->gd, 0);
499 dev_info(ace->dev, "No CF in slot\n");
500
501 /* Drop all pending requests */
502 while ((req = elv_next_request(ace->queue)) != NULL)
503 end_request(req, 0);
504
505 /* Drop back to IDLE state and notify waiters */
506 ace->fsm_state = ACE_FSM_STATE_IDLE;
507 ace->id_result = -EIO;
508 while (ace->id_req_count) {
509 complete(&ace->id_completion);
510 ace->id_req_count--;
511 }
512 }
513
492 switch (ace->fsm_state) { 514 switch (ace->fsm_state) {
493 case ACE_FSM_STATE_IDLE: 515 case ACE_FSM_STATE_IDLE:
494 /* See if there is anything to do */ 516 /* See if there is anything to do */
diff --git a/drivers/char/agp/amd64-agp.c b/drivers/char/agp/amd64-agp.c
index 52f4361eb6e4..d765afda9c2a 100644
--- a/drivers/char/agp/amd64-agp.c
+++ b/drivers/char/agp/amd64-agp.c
@@ -271,15 +271,15 @@ static __devinit int fix_northbridge(struct pci_dev *nb, struct pci_dev *agp,
271 nb_order = (nb_order >> 1) & 7; 271 nb_order = (nb_order >> 1) & 7;
272 pci_read_config_dword(nb, AMD64_GARTAPERTUREBASE, &nb_base); 272 pci_read_config_dword(nb, AMD64_GARTAPERTUREBASE, &nb_base);
273 nb_aper = nb_base << 25; 273 nb_aper = nb_base << 25;
274 if (agp_aperture_valid(nb_aper, (32*1024*1024)<<nb_order)) {
275 return 0;
276 }
277 274
278 /* Northbridge seems to contain crap. Try the AGP bridge. */ 275 /* Northbridge seems to contain crap. Try the AGP bridge. */
279 276
280 pci_read_config_word(agp, cap+0x14, &apsize); 277 pci_read_config_word(agp, cap+0x14, &apsize);
281 if (apsize == 0xffff) 278 if (apsize == 0xffff) {
279 if (agp_aperture_valid(nb_aper, (32*1024*1024)<<nb_order))
280 return 0;
282 return -1; 281 return -1;
282 }
283 283
284 apsize &= 0xfff; 284 apsize &= 0xfff;
285 /* Some BIOS use weird encodings not in the AGPv3 table. */ 285 /* Some BIOS use weird encodings not in the AGPv3 table. */
@@ -301,6 +301,11 @@ static __devinit int fix_northbridge(struct pci_dev *nb, struct pci_dev *agp,
301 order = nb_order; 301 order = nb_order;
302 } 302 }
303 303
304 if (nb_order >= order) {
305 if (agp_aperture_valid(nb_aper, (32*1024*1024)<<nb_order))
306 return 0;
307 }
308
304 dev_info(&agp->dev, "aperture from AGP @ %Lx size %u MB\n", 309 dev_info(&agp->dev, "aperture from AGP @ %Lx size %u MB\n",
305 aper, 32 << order); 310 aper, 32 << order);
306 if (order < 0 || !agp_aperture_valid(aper, (32*1024*1024)<<order)) 311 if (order < 0 || !agp_aperture_valid(aper, (32*1024*1024)<<order))
diff --git a/drivers/char/agp/intel-agp.c b/drivers/char/agp/intel-agp.c
index c7714185f831..4373adb2119a 100644
--- a/drivers/char/agp/intel-agp.c
+++ b/drivers/char/agp/intel-agp.c
@@ -633,13 +633,15 @@ static void intel_i830_init_gtt_entries(void)
633 break; 633 break;
634 } 634 }
635 } 635 }
636 if (gtt_entries > 0) 636 if (gtt_entries > 0) {
637 dev_info(&agp_bridge->dev->dev, "detected %dK %s memory\n", 637 dev_info(&agp_bridge->dev->dev, "detected %dK %s memory\n",
638 gtt_entries / KB(1), local ? "local" : "stolen"); 638 gtt_entries / KB(1), local ? "local" : "stolen");
639 else 639 gtt_entries /= KB(4);
640 } else {
640 dev_info(&agp_bridge->dev->dev, 641 dev_info(&agp_bridge->dev->dev,
641 "no pre-allocated video memory detected\n"); 642 "no pre-allocated video memory detected\n");
642 gtt_entries /= KB(4); 643 gtt_entries = 0;
644 }
643 645
644 intel_private.gtt_entries = gtt_entries; 646 intel_private.gtt_entries = gtt_entries;
645} 647}
diff --git a/drivers/char/agp/parisc-agp.c b/drivers/char/agp/parisc-agp.c
index db60539bf67a..699e3422ad93 100644
--- a/drivers/char/agp/parisc-agp.c
+++ b/drivers/char/agp/parisc-agp.c
@@ -359,9 +359,16 @@ fail:
359 return error; 359 return error;
360} 360}
361 361
362static struct device *next_device(struct klist_iter *i) { 362static int
363 struct klist_node * n = klist_next(i); 363find_quicksilver(struct device *dev, void *data)
364 return n ? container_of(n, struct device, knode_parent) : NULL; 364{
365 struct parisc_device **lba = data;
366 struct parisc_device *padev = to_parisc_device(dev);
367
368 if (IS_QUICKSILVER(padev))
369 *lba = padev;
370
371 return 0;
365} 372}
366 373
367static int 374static int
@@ -372,8 +379,6 @@ parisc_agp_init(void)
372 int err = -1; 379 int err = -1;
373 struct parisc_device *sba = NULL, *lba = NULL; 380 struct parisc_device *sba = NULL, *lba = NULL;
374 struct lba_device *lbadev = NULL; 381 struct lba_device *lbadev = NULL;
375 struct device *dev = NULL;
376 struct klist_iter i;
377 382
378 if (!sba_list) 383 if (!sba_list)
379 goto out; 384 goto out;
@@ -386,13 +391,7 @@ parisc_agp_init(void)
386 } 391 }
387 392
388 /* Now search our Pluto for our precious AGP device... */ 393 /* Now search our Pluto for our precious AGP device... */
389 klist_iter_init(&sba->dev.klist_children, &i); 394 device_for_each_child(&sba->dev, &lba, find_quicksilver);
390 while ((dev = next_device(&i))) {
391 struct parisc_device *padev = to_parisc_device(dev);
392 if (IS_QUICKSILVER(padev))
393 lba = padev;
394 }
395 klist_iter_exit(&i);
396 395
397 if (!lba) { 396 if (!lba) {
398 printk(KERN_INFO DRVPFX "No AGP devices found.\n"); 397 printk(KERN_INFO DRVPFX "No AGP devices found.\n");
diff --git a/drivers/char/hvcs.c b/drivers/char/hvcs.c
index 6e6eb445d374..c76bccf5354d 100644
--- a/drivers/char/hvcs.c
+++ b/drivers/char/hvcs.c
@@ -1139,15 +1139,6 @@ static int hvcs_open(struct tty_struct *tty, struct file *filp)
1139 hvcsd->tty = tty; 1139 hvcsd->tty = tty;
1140 tty->driver_data = hvcsd; 1140 tty->driver_data = hvcsd;
1141 1141
1142 /*
1143 * Set this driver to low latency so that we actually have a chance at
1144 * catching a throttled TTY after we flip_buffer_push. Otherwise the
1145 * flush_to_async may not execute until after the kernel_thread has
1146 * yielded and resumed the next flip_buffer_push resulting in data
1147 * loss.
1148 */
1149 tty->low_latency = 1;
1150
1151 memset(&hvcsd->buffer[0], 0x00, HVCS_BUFF_LEN); 1142 memset(&hvcsd->buffer[0], 0x00, HVCS_BUFF_LEN);
1152 1143
1153 /* 1144 /*
diff --git a/drivers/char/hvsi.c b/drivers/char/hvsi.c
index 406f8742a260..2989056a9e39 100644
--- a/drivers/char/hvsi.c
+++ b/drivers/char/hvsi.c
@@ -810,7 +810,6 @@ static int hvsi_open(struct tty_struct *tty, struct file *filp)
810 hp = &hvsi_ports[line]; 810 hp = &hvsi_ports[line];
811 811
812 tty->driver_data = hp; 812 tty->driver_data = hp;
813 tty->low_latency = 1; /* avoid throttle/tty_flip_buffer_push race */
814 813
815 mb(); 814 mb();
816 if (hp->state == HVSI_FSP_DIED) 815 if (hp->state == HVSI_FSP_DIED)
diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
index b55cb67435bd..d6daf3c507d3 100644
--- a/drivers/cpufreq/cpufreq.c
+++ b/drivers/cpufreq/cpufreq.c
@@ -754,11 +754,6 @@ static struct kobj_type ktype_cpufreq = {
754 .release = cpufreq_sysfs_release, 754 .release = cpufreq_sysfs_release,
755}; 755};
756 756
757static struct kobj_type ktype_empty_cpufreq = {
758 .sysfs_ops = &sysfs_ops,
759 .release = cpufreq_sysfs_release,
760};
761
762 757
763/** 758/**
764 * cpufreq_add_dev - add a CPU device 759 * cpufreq_add_dev - add a CPU device
@@ -892,36 +887,26 @@ static int cpufreq_add_dev(struct sys_device *sys_dev)
892 memcpy(&new_policy, policy, sizeof(struct cpufreq_policy)); 887 memcpy(&new_policy, policy, sizeof(struct cpufreq_policy));
893 888
894 /* prepare interface data */ 889 /* prepare interface data */
895 if (!cpufreq_driver->hide_interface) { 890 ret = kobject_init_and_add(&policy->kobj, &ktype_cpufreq, &sys_dev->kobj,
896 ret = kobject_init_and_add(&policy->kobj, &ktype_cpufreq, 891 "cpufreq");
897 &sys_dev->kobj, "cpufreq"); 892 if (ret)
893 goto err_out_driver_exit;
894
895 /* set up files for this cpu device */
896 drv_attr = cpufreq_driver->attr;
897 while ((drv_attr) && (*drv_attr)) {
898 ret = sysfs_create_file(&policy->kobj, &((*drv_attr)->attr));
898 if (ret) 899 if (ret)
899 goto err_out_driver_exit; 900 goto err_out_driver_exit;
900 901 drv_attr++;
901 /* set up files for this cpu device */ 902 }
902 drv_attr = cpufreq_driver->attr; 903 if (cpufreq_driver->get) {
903 while ((drv_attr) && (*drv_attr)) { 904 ret = sysfs_create_file(&policy->kobj, &cpuinfo_cur_freq.attr);
904 ret = sysfs_create_file(&policy->kobj, 905 if (ret)
905 &((*drv_attr)->attr)); 906 goto err_out_driver_exit;
906 if (ret) 907 }
907 goto err_out_driver_exit; 908 if (cpufreq_driver->target) {
908 drv_attr++; 909 ret = sysfs_create_file(&policy->kobj, &scaling_cur_freq.attr);
909 }
910 if (cpufreq_driver->get) {
911 ret = sysfs_create_file(&policy->kobj,
912 &cpuinfo_cur_freq.attr);
913 if (ret)
914 goto err_out_driver_exit;
915 }
916 if (cpufreq_driver->target) {
917 ret = sysfs_create_file(&policy->kobj,
918 &scaling_cur_freq.attr);
919 if (ret)
920 goto err_out_driver_exit;
921 }
922 } else {
923 ret = kobject_init_and_add(&policy->kobj, &ktype_empty_cpufreq,
924 &sys_dev->kobj, "cpufreq");
925 if (ret) 910 if (ret)
926 goto err_out_driver_exit; 911 goto err_out_driver_exit;
927 } 912 }
diff --git a/drivers/dca/dca-core.c b/drivers/dca/dca-core.c
index 33bd75347518..25b743abfb59 100644
--- a/drivers/dca/dca-core.c
+++ b/drivers/dca/dca-core.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * Copyright(c) 2007 Intel Corporation. All rights reserved. 2 * Copyright(c) 2007 - 2009 Intel Corporation. All rights reserved.
3 * 3 *
4 * This program is free software; you can redistribute it and/or modify it 4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License as published by the Free 5 * under the terms of the GNU General Public License as published by the Free
diff --git a/drivers/dma/dmatest.c b/drivers/dma/dmatest.c
index 732fa1ec36ab..e190d8b30700 100644
--- a/drivers/dma/dmatest.c
+++ b/drivers/dma/dmatest.c
@@ -430,13 +430,15 @@ late_initcall(dmatest_init);
430static void __exit dmatest_exit(void) 430static void __exit dmatest_exit(void)
431{ 431{
432 struct dmatest_chan *dtc, *_dtc; 432 struct dmatest_chan *dtc, *_dtc;
433 struct dma_chan *chan;
433 434
434 list_for_each_entry_safe(dtc, _dtc, &dmatest_channels, node) { 435 list_for_each_entry_safe(dtc, _dtc, &dmatest_channels, node) {
435 list_del(&dtc->node); 436 list_del(&dtc->node);
437 chan = dtc->chan;
436 dmatest_cleanup_channel(dtc); 438 dmatest_cleanup_channel(dtc);
437 pr_debug("dmatest: dropped channel %s\n", 439 pr_debug("dmatest: dropped channel %s\n",
438 dma_chan_name(dtc->chan)); 440 dma_chan_name(chan));
439 dma_release_channel(dtc->chan); 441 dma_release_channel(chan);
440 } 442 }
441} 443}
442module_exit(dmatest_exit); 444module_exit(dmatest_exit);
diff --git a/drivers/dma/fsldma.c b/drivers/dma/fsldma.c
index 70126a606239..86d6da47f558 100644
--- a/drivers/dma/fsldma.c
+++ b/drivers/dma/fsldma.c
@@ -158,7 +158,8 @@ static void dma_start(struct fsl_dma_chan *fsl_chan)
158 158
159static void dma_halt(struct fsl_dma_chan *fsl_chan) 159static void dma_halt(struct fsl_dma_chan *fsl_chan)
160{ 160{
161 int i = 0; 161 int i;
162
162 DMA_OUT(fsl_chan, &fsl_chan->reg_base->mr, 163 DMA_OUT(fsl_chan, &fsl_chan->reg_base->mr,
163 DMA_IN(fsl_chan, &fsl_chan->reg_base->mr, 32) | FSL_DMA_MR_CA, 164 DMA_IN(fsl_chan, &fsl_chan->reg_base->mr, 32) | FSL_DMA_MR_CA,
164 32); 165 32);
@@ -166,8 +167,11 @@ static void dma_halt(struct fsl_dma_chan *fsl_chan)
166 DMA_IN(fsl_chan, &fsl_chan->reg_base->mr, 32) & ~(FSL_DMA_MR_CS 167 DMA_IN(fsl_chan, &fsl_chan->reg_base->mr, 32) & ~(FSL_DMA_MR_CS
167 | FSL_DMA_MR_EMS_EN | FSL_DMA_MR_CA), 32); 168 | FSL_DMA_MR_EMS_EN | FSL_DMA_MR_CA), 32);
168 169
169 while (!dma_is_idle(fsl_chan) && (i++ < 100)) 170 for (i = 0; i < 100; i++) {
171 if (dma_is_idle(fsl_chan))
172 break;
170 udelay(10); 173 udelay(10);
174 }
171 if (i >= 100 && !dma_is_idle(fsl_chan)) 175 if (i >= 100 && !dma_is_idle(fsl_chan))
172 dev_err(fsl_chan->dev, "DMA halt timeout!\n"); 176 dev_err(fsl_chan->dev, "DMA halt timeout!\n");
173} 177}
diff --git a/drivers/dma/ioat.c b/drivers/dma/ioat.c
index 4105d6575b64..ed83dd9df192 100644
--- a/drivers/dma/ioat.c
+++ b/drivers/dma/ioat.c
@@ -1,6 +1,6 @@
1/* 1/*
2 * Intel I/OAT DMA Linux driver 2 * Intel I/OAT DMA Linux driver
3 * Copyright(c) 2007 Intel Corporation. 3 * Copyright(c) 2007 - 2009 Intel Corporation.
4 * 4 *
5 * This program is free software; you can redistribute it and/or modify it 5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms and conditions of the GNU General Public License, 6 * under the terms and conditions of the GNU General Public License,
diff --git a/drivers/dma/ioat_dca.c b/drivers/dma/ioat_dca.c
index 6cf622da0286..c012a1e15043 100644
--- a/drivers/dma/ioat_dca.c
+++ b/drivers/dma/ioat_dca.c
@@ -1,6 +1,6 @@
1/* 1/*
2 * Intel I/OAT DMA Linux driver 2 * Intel I/OAT DMA Linux driver
3 * Copyright(c) 2007 Intel Corporation. 3 * Copyright(c) 2007 - 2009 Intel Corporation.
4 * 4 *
5 * This program is free software; you can redistribute it and/or modify it 5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms and conditions of the GNU General Public License, 6 * under the terms and conditions of the GNU General Public License,
@@ -49,6 +49,23 @@
49 49
50#define DCA_TAG_MAP_MASK 0xDF 50#define DCA_TAG_MAP_MASK 0xDF
51 51
52/* expected tag map bytes for I/OAT ver.2 */
53#define DCA2_TAG_MAP_BYTE0 0x80
54#define DCA2_TAG_MAP_BYTE1 0x0
55#define DCA2_TAG_MAP_BYTE2 0x81
56#define DCA2_TAG_MAP_BYTE3 0x82
57#define DCA2_TAG_MAP_BYTE4 0x82
58
59/* verify if tag map matches expected values */
60static inline int dca2_tag_map_valid(u8 *tag_map)
61{
62 return ((tag_map[0] == DCA2_TAG_MAP_BYTE0) &&
63 (tag_map[1] == DCA2_TAG_MAP_BYTE1) &&
64 (tag_map[2] == DCA2_TAG_MAP_BYTE2) &&
65 (tag_map[3] == DCA2_TAG_MAP_BYTE3) &&
66 (tag_map[4] == DCA2_TAG_MAP_BYTE4));
67}
68
52/* 69/*
53 * "Legacy" DCA systems do not implement the DCA register set in the 70 * "Legacy" DCA systems do not implement the DCA register set in the
54 * I/OAT device. Software needs direct support for their tag mappings. 71 * I/OAT device. Software needs direct support for their tag mappings.
@@ -452,6 +469,13 @@ struct dca_provider *ioat2_dca_init(struct pci_dev *pdev, void __iomem *iobase)
452 ioatdca->tag_map[i] = 0; 469 ioatdca->tag_map[i] = 0;
453 } 470 }
454 471
472 if (!dca2_tag_map_valid(ioatdca->tag_map)) {
473 dev_err(&pdev->dev, "APICID_TAG_MAP set incorrectly by BIOS, "
474 "disabling DCA\n");
475 free_dca_provider(dca);
476 return NULL;
477 }
478
455 err = register_dca_provider(dca, &pdev->dev); 479 err = register_dca_provider(dca, &pdev->dev);
456 if (err) { 480 if (err) {
457 free_dca_provider(dca); 481 free_dca_provider(dca);
diff --git a/drivers/dma/ioat_dma.c b/drivers/dma/ioat_dma.c
index b3759c4b6536..5905cd36bcd2 100644
--- a/drivers/dma/ioat_dma.c
+++ b/drivers/dma/ioat_dma.c
@@ -1,6 +1,6 @@
1/* 1/*
2 * Intel I/OAT DMA Linux driver 2 * Intel I/OAT DMA Linux driver
3 * Copyright(c) 2004 - 2007 Intel Corporation. 3 * Copyright(c) 2004 - 2009 Intel Corporation.
4 * 4 *
5 * This program is free software; you can redistribute it and/or modify it 5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms and conditions of the GNU General Public License, 6 * under the terms and conditions of the GNU General Public License,
@@ -189,11 +189,13 @@ static int ioat_dma_enumerate_channels(struct ioatdma_device *device)
189 ioat_chan->xfercap = xfercap; 189 ioat_chan->xfercap = xfercap;
190 ioat_chan->desccount = 0; 190 ioat_chan->desccount = 0;
191 INIT_DELAYED_WORK(&ioat_chan->work, ioat_dma_chan_reset_part2); 191 INIT_DELAYED_WORK(&ioat_chan->work, ioat_dma_chan_reset_part2);
192 if (ioat_chan->device->version != IOAT_VER_1_2) { 192 if (ioat_chan->device->version == IOAT_VER_2_0)
193 writel(IOAT_DCACTRL_CMPL_WRITE_ENABLE 193 writel(IOAT_DCACTRL_CMPL_WRITE_ENABLE |
194 | IOAT_DMA_DCA_ANY_CPU, 194 IOAT_DMA_DCA_ANY_CPU,
195 ioat_chan->reg_base + IOAT_DCACTRL_OFFSET); 195 ioat_chan->reg_base + IOAT_DCACTRL_OFFSET);
196 } 196 else if (ioat_chan->device->version == IOAT_VER_3_0)
197 writel(IOAT_DMA_DCA_ANY_CPU,
198 ioat_chan->reg_base + IOAT_DCACTRL_OFFSET);
197 spin_lock_init(&ioat_chan->cleanup_lock); 199 spin_lock_init(&ioat_chan->cleanup_lock);
198 spin_lock_init(&ioat_chan->desc_lock); 200 spin_lock_init(&ioat_chan->desc_lock);
199 INIT_LIST_HEAD(&ioat_chan->free_desc); 201 INIT_LIST_HEAD(&ioat_chan->free_desc);
@@ -1169,9 +1171,8 @@ static void ioat_dma_memcpy_cleanup(struct ioat_dma_chan *ioat_chan)
1169 * up if the client is done with the descriptor 1171 * up if the client is done with the descriptor
1170 */ 1172 */
1171 if (async_tx_test_ack(&desc->async_tx)) { 1173 if (async_tx_test_ack(&desc->async_tx)) {
1172 list_del(&desc->node); 1174 list_move_tail(&desc->node,
1173 list_add_tail(&desc->node, 1175 &ioat_chan->free_desc);
1174 &ioat_chan->free_desc);
1175 } else 1176 } else
1176 desc->async_tx.cookie = 0; 1177 desc->async_tx.cookie = 0;
1177 } else { 1178 } else {
@@ -1362,6 +1363,7 @@ static int ioat_dma_self_test(struct ioatdma_device *device)
1362 dma_cookie_t cookie; 1363 dma_cookie_t cookie;
1363 int err = 0; 1364 int err = 0;
1364 struct completion cmp; 1365 struct completion cmp;
1366 unsigned long tmo;
1365 1367
1366 src = kzalloc(sizeof(u8) * IOAT_TEST_SIZE, GFP_KERNEL); 1368 src = kzalloc(sizeof(u8) * IOAT_TEST_SIZE, GFP_KERNEL);
1367 if (!src) 1369 if (!src)
@@ -1413,9 +1415,10 @@ static int ioat_dma_self_test(struct ioatdma_device *device)
1413 } 1415 }
1414 device->common.device_issue_pending(dma_chan); 1416 device->common.device_issue_pending(dma_chan);
1415 1417
1416 wait_for_completion_timeout(&cmp, msecs_to_jiffies(3000)); 1418 tmo = wait_for_completion_timeout(&cmp, msecs_to_jiffies(3000));
1417 1419
1418 if (device->common.device_is_tx_complete(dma_chan, cookie, NULL, NULL) 1420 if (tmo == 0 ||
1421 device->common.device_is_tx_complete(dma_chan, cookie, NULL, NULL)
1419 != DMA_SUCCESS) { 1422 != DMA_SUCCESS) {
1420 dev_err(&device->pdev->dev, 1423 dev_err(&device->pdev->dev,
1421 "Self-test copy timed out, disabling\n"); 1424 "Self-test copy timed out, disabling\n");
@@ -1657,6 +1660,13 @@ struct ioatdma_device *ioat_dma_probe(struct pci_dev *pdev,
1657 " %d channels, device version 0x%02x, driver version %s\n", 1660 " %d channels, device version 0x%02x, driver version %s\n",
1658 device->common.chancnt, device->version, IOAT_DMA_VERSION); 1661 device->common.chancnt, device->version, IOAT_DMA_VERSION);
1659 1662
1663 if (!device->common.chancnt) {
1664 dev_err(&device->pdev->dev,
1665 "Intel(R) I/OAT DMA Engine problem found: "
1666 "zero channels detected\n");
1667 goto err_setup_interrupts;
1668 }
1669
1660 err = ioat_dma_setup_interrupts(device); 1670 err = ioat_dma_setup_interrupts(device);
1661 if (err) 1671 if (err)
1662 goto err_setup_interrupts; 1672 goto err_setup_interrupts;
@@ -1696,6 +1706,9 @@ void ioat_dma_remove(struct ioatdma_device *device)
1696 struct dma_chan *chan, *_chan; 1706 struct dma_chan *chan, *_chan;
1697 struct ioat_dma_chan *ioat_chan; 1707 struct ioat_dma_chan *ioat_chan;
1698 1708
1709 if (device->version != IOAT_VER_3_0)
1710 cancel_delayed_work(&device->work);
1711
1699 ioat_dma_remove_interrupts(device); 1712 ioat_dma_remove_interrupts(device);
1700 1713
1701 dma_async_device_unregister(&device->common); 1714 dma_async_device_unregister(&device->common);
@@ -1707,10 +1720,6 @@ void ioat_dma_remove(struct ioatdma_device *device)
1707 pci_release_regions(device->pdev); 1720 pci_release_regions(device->pdev);
1708 pci_disable_device(device->pdev); 1721 pci_disable_device(device->pdev);
1709 1722
1710 if (device->version != IOAT_VER_3_0) {
1711 cancel_delayed_work(&device->work);
1712 }
1713
1714 list_for_each_entry_safe(chan, _chan, 1723 list_for_each_entry_safe(chan, _chan,
1715 &device->common.channels, device_node) { 1724 &device->common.channels, device_node) {
1716 ioat_chan = to_ioat_chan(chan); 1725 ioat_chan = to_ioat_chan(chan);
diff --git a/drivers/dma/ioatdma.h b/drivers/dma/ioatdma.h
index a3306d0e1372..a52ff4bd4601 100644
--- a/drivers/dma/ioatdma.h
+++ b/drivers/dma/ioatdma.h
@@ -1,5 +1,5 @@
1/* 1/*
2 * Copyright(c) 2004 - 2007 Intel Corporation. All rights reserved. 2 * Copyright(c) 2004 - 2009 Intel Corporation. All rights reserved.
3 * 3 *
4 * This program is free software; you can redistribute it and/or modify it 4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License as published by the Free 5 * under the terms of the GNU General Public License as published by the Free
@@ -29,7 +29,7 @@
29#include <linux/pci_ids.h> 29#include <linux/pci_ids.h>
30#include <net/tcp.h> 30#include <net/tcp.h>
31 31
32#define IOAT_DMA_VERSION "3.30" 32#define IOAT_DMA_VERSION "3.64"
33 33
34enum ioat_interrupt { 34enum ioat_interrupt {
35 none = 0, 35 none = 0,
@@ -135,12 +135,14 @@ static inline void ioat_set_tcp_copy_break(struct ioatdma_device *dev)
135 #ifdef CONFIG_NET_DMA 135 #ifdef CONFIG_NET_DMA
136 switch (dev->version) { 136 switch (dev->version) {
137 case IOAT_VER_1_2: 137 case IOAT_VER_1_2:
138 case IOAT_VER_3_0:
139 sysctl_tcp_dma_copybreak = 4096; 138 sysctl_tcp_dma_copybreak = 4096;
140 break; 139 break;
141 case IOAT_VER_2_0: 140 case IOAT_VER_2_0:
142 sysctl_tcp_dma_copybreak = 2048; 141 sysctl_tcp_dma_copybreak = 2048;
143 break; 142 break;
143 case IOAT_VER_3_0:
144 sysctl_tcp_dma_copybreak = 262144;
145 break;
144 } 146 }
145 #endif 147 #endif
146} 148}
diff --git a/drivers/dma/ioatdma_hw.h b/drivers/dma/ioatdma_hw.h
index f1ae2c776f74..afa57eef86c9 100644
--- a/drivers/dma/ioatdma_hw.h
+++ b/drivers/dma/ioatdma_hw.h
@@ -1,5 +1,5 @@
1/* 1/*
2 * Copyright(c) 2004 - 2007 Intel Corporation. All rights reserved. 2 * Copyright(c) 2004 - 2009 Intel Corporation. All rights reserved.
3 * 3 *
4 * This program is free software; you can redistribute it and/or modify it 4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License as published by the Free 5 * under the terms of the GNU General Public License as published by the Free
diff --git a/drivers/dma/ioatdma_registers.h b/drivers/dma/ioatdma_registers.h
index 827cb503cac6..49bc277424f8 100644
--- a/drivers/dma/ioatdma_registers.h
+++ b/drivers/dma/ioatdma_registers.h
@@ -1,5 +1,5 @@
1/* 1/*
2 * Copyright(c) 2004 - 2007 Intel Corporation. All rights reserved. 2 * Copyright(c) 2004 - 2009 Intel Corporation. All rights reserved.
3 * 3 *
4 * This program is free software; you can redistribute it and/or modify it 4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License as published by the Free 5 * under the terms of the GNU General Public License as published by the Free
diff --git a/drivers/dma/iop-adma.c b/drivers/dma/iop-adma.c
index 647374acba94..16adbe61cfb2 100644
--- a/drivers/dma/iop-adma.c
+++ b/drivers/dma/iop-adma.c
@@ -928,19 +928,19 @@ iop_adma_xor_zero_sum_self_test(struct iop_adma_device *device)
928 928
929 for (src_idx = 0; src_idx < IOP_ADMA_NUM_SRC_TEST; src_idx++) { 929 for (src_idx = 0; src_idx < IOP_ADMA_NUM_SRC_TEST; src_idx++) {
930 xor_srcs[src_idx] = alloc_page(GFP_KERNEL); 930 xor_srcs[src_idx] = alloc_page(GFP_KERNEL);
931 if (!xor_srcs[src_idx]) 931 if (!xor_srcs[src_idx]) {
932 while (src_idx--) { 932 while (src_idx--)
933 __free_page(xor_srcs[src_idx]); 933 __free_page(xor_srcs[src_idx]);
934 return -ENOMEM; 934 return -ENOMEM;
935 } 935 }
936 } 936 }
937 937
938 dest = alloc_page(GFP_KERNEL); 938 dest = alloc_page(GFP_KERNEL);
939 if (!dest) 939 if (!dest) {
940 while (src_idx--) { 940 while (src_idx--)
941 __free_page(xor_srcs[src_idx]); 941 __free_page(xor_srcs[src_idx]);
942 return -ENOMEM; 942 return -ENOMEM;
943 } 943 }
944 944
945 /* Fill in src buffers */ 945 /* Fill in src buffers */
946 for (src_idx = 0; src_idx < IOP_ADMA_NUM_SRC_TEST; src_idx++) { 946 for (src_idx = 0; src_idx < IOP_ADMA_NUM_SRC_TEST; src_idx++) {
diff --git a/drivers/dma/ipu/ipu_idmac.c b/drivers/dma/ipu/ipu_idmac.c
index 1f154d08e98f..ae50a9d1a4e6 100644
--- a/drivers/dma/ipu/ipu_idmac.c
+++ b/drivers/dma/ipu/ipu_idmac.c
@@ -729,7 +729,7 @@ static int ipu_init_channel_buffer(struct idmac_channel *ichan,
729 729
730 ichan->status = IPU_CHANNEL_READY; 730 ichan->status = IPU_CHANNEL_READY;
731 731
732 spin_unlock_irqrestore(ipu->lock, flags); 732 spin_unlock_irqrestore(&ipu->lock, flags);
733 733
734 return 0; 734 return 0;
735} 735}
diff --git a/drivers/dma/mv_xor.c b/drivers/dma/mv_xor.c
index 5d5d5b31867f..cb7f26fb9f18 100644
--- a/drivers/dma/mv_xor.c
+++ b/drivers/dma/mv_xor.c
@@ -1019,19 +1019,19 @@ mv_xor_xor_self_test(struct mv_xor_device *device)
1019 1019
1020 for (src_idx = 0; src_idx < MV_XOR_NUM_SRC_TEST; src_idx++) { 1020 for (src_idx = 0; src_idx < MV_XOR_NUM_SRC_TEST; src_idx++) {
1021 xor_srcs[src_idx] = alloc_page(GFP_KERNEL); 1021 xor_srcs[src_idx] = alloc_page(GFP_KERNEL);
1022 if (!xor_srcs[src_idx]) 1022 if (!xor_srcs[src_idx]) {
1023 while (src_idx--) { 1023 while (src_idx--)
1024 __free_page(xor_srcs[src_idx]); 1024 __free_page(xor_srcs[src_idx]);
1025 return -ENOMEM; 1025 return -ENOMEM;
1026 } 1026 }
1027 } 1027 }
1028 1028
1029 dest = alloc_page(GFP_KERNEL); 1029 dest = alloc_page(GFP_KERNEL);
1030 if (!dest) 1030 if (!dest) {
1031 while (src_idx--) { 1031 while (src_idx--)
1032 __free_page(xor_srcs[src_idx]); 1032 __free_page(xor_srcs[src_idx]);
1033 return -ENOMEM; 1033 return -ENOMEM;
1034 } 1034 }
1035 1035
1036 /* Fill in src buffers */ 1036 /* Fill in src buffers */
1037 for (src_idx = 0; src_idx < MV_XOR_NUM_SRC_TEST; src_idx++) { 1037 for (src_idx = 0; src_idx < MV_XOR_NUM_SRC_TEST; src_idx++) {
diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
index 6dab63bdc4c1..6d21b9e48b89 100644
--- a/drivers/gpu/drm/i915/i915_dma.c
+++ b/drivers/gpu/drm/i915/i915_dma.c
@@ -1105,7 +1105,7 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
1105 1024 * 1024, 1105 1024 * 1024,
1106 MTRR_TYPE_WRCOMB, 1); 1106 MTRR_TYPE_WRCOMB, 1);
1107 if (dev_priv->mm.gtt_mtrr < 0) { 1107 if (dev_priv->mm.gtt_mtrr < 0) {
1108 DRM_INFO("MTRR allocation failed\n. Graphics " 1108 DRM_INFO("MTRR allocation failed. Graphics "
1109 "performance may suffer.\n"); 1109 "performance may suffer.\n");
1110 } 1110 }
1111 1111
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 17fa40858d26..d6cc9861e0a1 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -279,7 +279,6 @@ typedef struct drm_i915_private {
279 u8 saveAR_INDEX; 279 u8 saveAR_INDEX;
280 u8 saveAR[21]; 280 u8 saveAR[21];
281 u8 saveDACMASK; 281 u8 saveDACMASK;
282 u8 saveDACDATA[256*3]; /* 256 3-byte colors */
283 u8 saveCR[37]; 282 u8 saveCR[37];
284 283
285 struct { 284 struct {
@@ -457,6 +456,12 @@ struct drm_i915_gem_object {
457 456
458 /** for phy allocated objects */ 457 /** for phy allocated objects */
459 struct drm_i915_gem_phys_object *phys_obj; 458 struct drm_i915_gem_phys_object *phys_obj;
459
460 /**
461 * Used for checking the object doesn't appear more than once
462 * in an execbuffer object list.
463 */
464 int in_execbuffer;
460}; 465};
461 466
462/** 467/**
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 85685bfd12da..37427e4016cb 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -1476,7 +1476,7 @@ static void i915_write_fence_reg(struct drm_i915_fence_reg *reg)
1476 struct drm_i915_gem_object *obj_priv = obj->driver_private; 1476 struct drm_i915_gem_object *obj_priv = obj->driver_private;
1477 int regnum = obj_priv->fence_reg; 1477 int regnum = obj_priv->fence_reg;
1478 int tile_width; 1478 int tile_width;
1479 uint32_t val; 1479 uint32_t fence_reg, val;
1480 uint32_t pitch_val; 1480 uint32_t pitch_val;
1481 1481
1482 if ((obj_priv->gtt_offset & ~I915_FENCE_START_MASK) || 1482 if ((obj_priv->gtt_offset & ~I915_FENCE_START_MASK) ||
@@ -1503,7 +1503,11 @@ static void i915_write_fence_reg(struct drm_i915_fence_reg *reg)
1503 val |= pitch_val << I830_FENCE_PITCH_SHIFT; 1503 val |= pitch_val << I830_FENCE_PITCH_SHIFT;
1504 val |= I830_FENCE_REG_VALID; 1504 val |= I830_FENCE_REG_VALID;
1505 1505
1506 I915_WRITE(FENCE_REG_830_0 + (regnum * 4), val); 1506 if (regnum < 8)
1507 fence_reg = FENCE_REG_830_0 + (regnum * 4);
1508 else
1509 fence_reg = FENCE_REG_945_8 + ((regnum - 8) * 4);
1510 I915_WRITE(fence_reg, val);
1507} 1511}
1508 1512
1509static void i830_write_fence_reg(struct drm_i915_fence_reg *reg) 1513static void i830_write_fence_reg(struct drm_i915_fence_reg *reg)
@@ -1557,7 +1561,8 @@ i915_gem_object_get_fence_reg(struct drm_gem_object *obj, bool write)
1557 struct drm_i915_private *dev_priv = dev->dev_private; 1561 struct drm_i915_private *dev_priv = dev->dev_private;
1558 struct drm_i915_gem_object *obj_priv = obj->driver_private; 1562 struct drm_i915_gem_object *obj_priv = obj->driver_private;
1559 struct drm_i915_fence_reg *reg = NULL; 1563 struct drm_i915_fence_reg *reg = NULL;
1560 int i, ret; 1564 struct drm_i915_gem_object *old_obj_priv = NULL;
1565 int i, ret, avail;
1561 1566
1562 switch (obj_priv->tiling_mode) { 1567 switch (obj_priv->tiling_mode) {
1563 case I915_TILING_NONE: 1568 case I915_TILING_NONE:
@@ -1580,25 +1585,46 @@ i915_gem_object_get_fence_reg(struct drm_gem_object *obj, bool write)
1580 } 1585 }
1581 1586
1582 /* First try to find a free reg */ 1587 /* First try to find a free reg */
1588try_again:
1589 avail = 0;
1583 for (i = dev_priv->fence_reg_start; i < dev_priv->num_fence_regs; i++) { 1590 for (i = dev_priv->fence_reg_start; i < dev_priv->num_fence_regs; i++) {
1584 reg = &dev_priv->fence_regs[i]; 1591 reg = &dev_priv->fence_regs[i];
1585 if (!reg->obj) 1592 if (!reg->obj)
1586 break; 1593 break;
1594
1595 old_obj_priv = reg->obj->driver_private;
1596 if (!old_obj_priv->pin_count)
1597 avail++;
1587 } 1598 }
1588 1599
1589 /* None available, try to steal one or wait for a user to finish */ 1600 /* None available, try to steal one or wait for a user to finish */
1590 if (i == dev_priv->num_fence_regs) { 1601 if (i == dev_priv->num_fence_regs) {
1591 struct drm_i915_gem_object *old_obj_priv = NULL; 1602 uint32_t seqno = dev_priv->mm.next_gem_seqno;
1592 loff_t offset; 1603 loff_t offset;
1593 1604
1594try_again: 1605 if (avail == 0)
1595 /* Could try to use LRU here instead... */ 1606 return -ENOMEM;
1607
1596 for (i = dev_priv->fence_reg_start; 1608 for (i = dev_priv->fence_reg_start;
1597 i < dev_priv->num_fence_regs; i++) { 1609 i < dev_priv->num_fence_regs; i++) {
1610 uint32_t this_seqno;
1611
1598 reg = &dev_priv->fence_regs[i]; 1612 reg = &dev_priv->fence_regs[i];
1599 old_obj_priv = reg->obj->driver_private; 1613 old_obj_priv = reg->obj->driver_private;
1600 if (!old_obj_priv->pin_count) 1614
1615 if (old_obj_priv->pin_count)
1616 continue;
1617
1618 /* i915 uses fences for GPU access to tiled buffers */
1619 if (IS_I965G(dev) || !old_obj_priv->active)
1601 break; 1620 break;
1621
1622 /* find the seqno of the first available fence */
1623 this_seqno = old_obj_priv->last_rendering_seqno;
1624 if (this_seqno != 0 &&
1625 reg->obj->write_domain == 0 &&
1626 i915_seqno_passed(seqno, this_seqno))
1627 seqno = this_seqno;
1602 } 1628 }
1603 1629
1604 /* 1630 /*
@@ -1606,15 +1632,25 @@ try_again:
1606 * objects to finish before trying again. 1632 * objects to finish before trying again.
1607 */ 1633 */
1608 if (i == dev_priv->num_fence_regs) { 1634 if (i == dev_priv->num_fence_regs) {
1609 ret = i915_gem_object_set_to_gtt_domain(reg->obj, 0); 1635 if (seqno == dev_priv->mm.next_gem_seqno) {
1610 if (ret) { 1636 i915_gem_flush(dev,
1611 WARN(ret != -ERESTARTSYS, 1637 I915_GEM_GPU_DOMAINS,
1612 "switch to GTT domain failed: %d\n", ret); 1638 I915_GEM_GPU_DOMAINS);
1613 return ret; 1639 seqno = i915_add_request(dev,
1640 I915_GEM_GPU_DOMAINS);
1641 if (seqno == 0)
1642 return -ENOMEM;
1614 } 1643 }
1644
1645 ret = i915_wait_request(dev, seqno);
1646 if (ret)
1647 return ret;
1615 goto try_again; 1648 goto try_again;
1616 } 1649 }
1617 1650
1651 BUG_ON(old_obj_priv->active ||
1652 (reg->obj->write_domain & I915_GEM_GPU_DOMAINS));
1653
1618 /* 1654 /*
1619 * Zap this virtual mapping so we can set up a fence again 1655 * Zap this virtual mapping so we can set up a fence again
1620 * for this object next time we need it. 1656 * for this object next time we need it.
@@ -1655,8 +1691,17 @@ i915_gem_clear_fence_reg(struct drm_gem_object *obj)
1655 1691
1656 if (IS_I965G(dev)) 1692 if (IS_I965G(dev))
1657 I915_WRITE64(FENCE_REG_965_0 + (obj_priv->fence_reg * 8), 0); 1693 I915_WRITE64(FENCE_REG_965_0 + (obj_priv->fence_reg * 8), 0);
1658 else 1694 else {
1659 I915_WRITE(FENCE_REG_830_0 + (obj_priv->fence_reg * 4), 0); 1695 uint32_t fence_reg;
1696
1697 if (obj_priv->fence_reg < 8)
1698 fence_reg = FENCE_REG_830_0 + obj_priv->fence_reg * 4;
1699 else
1700 fence_reg = FENCE_REG_945_8 + (obj_priv->fence_reg -
1701 8) * 4;
1702
1703 I915_WRITE(fence_reg, 0);
1704 }
1660 1705
1661 dev_priv->fence_regs[obj_priv->fence_reg].obj = NULL; 1706 dev_priv->fence_regs[obj_priv->fence_reg].obj = NULL;
1662 obj_priv->fence_reg = I915_FENCE_REG_NONE; 1707 obj_priv->fence_reg = I915_FENCE_REG_NONE;
@@ -2469,6 +2514,7 @@ i915_gem_execbuffer(struct drm_device *dev, void *data,
2469 struct drm_i915_gem_exec_object *exec_list = NULL; 2514 struct drm_i915_gem_exec_object *exec_list = NULL;
2470 struct drm_gem_object **object_list = NULL; 2515 struct drm_gem_object **object_list = NULL;
2471 struct drm_gem_object *batch_obj; 2516 struct drm_gem_object *batch_obj;
2517 struct drm_i915_gem_object *obj_priv;
2472 int ret, i, pinned = 0; 2518 int ret, i, pinned = 0;
2473 uint64_t exec_offset; 2519 uint64_t exec_offset;
2474 uint32_t seqno, flush_domains; 2520 uint32_t seqno, flush_domains;
@@ -2533,6 +2579,15 @@ i915_gem_execbuffer(struct drm_device *dev, void *data,
2533 ret = -EBADF; 2579 ret = -EBADF;
2534 goto err; 2580 goto err;
2535 } 2581 }
2582
2583 obj_priv = object_list[i]->driver_private;
2584 if (obj_priv->in_execbuffer) {
2585 DRM_ERROR("Object %p appears more than once in object list\n",
2586 object_list[i]);
2587 ret = -EBADF;
2588 goto err;
2589 }
2590 obj_priv->in_execbuffer = true;
2536 } 2591 }
2537 2592
2538 /* Pin and relocate */ 2593 /* Pin and relocate */
@@ -2674,8 +2729,13 @@ err:
2674 for (i = 0; i < pinned; i++) 2729 for (i = 0; i < pinned; i++)
2675 i915_gem_object_unpin(object_list[i]); 2730 i915_gem_object_unpin(object_list[i]);
2676 2731
2677 for (i = 0; i < args->buffer_count; i++) 2732 for (i = 0; i < args->buffer_count; i++) {
2733 if (object_list[i]) {
2734 obj_priv = object_list[i]->driver_private;
2735 obj_priv->in_execbuffer = false;
2736 }
2678 drm_gem_object_unreference(object_list[i]); 2737 drm_gem_object_unreference(object_list[i]);
2738 }
2679 2739
2680 mutex_unlock(&dev->struct_mutex); 2740 mutex_unlock(&dev->struct_mutex);
2681 2741
@@ -2712,17 +2772,24 @@ i915_gem_object_pin(struct drm_gem_object *obj, uint32_t alignment)
2712 ret = i915_gem_object_bind_to_gtt(obj, alignment); 2772 ret = i915_gem_object_bind_to_gtt(obj, alignment);
2713 if (ret != 0) { 2773 if (ret != 0) {
2714 if (ret != -EBUSY && ret != -ERESTARTSYS) 2774 if (ret != -EBUSY && ret != -ERESTARTSYS)
2715 DRM_ERROR("Failure to bind: %d", ret); 2775 DRM_ERROR("Failure to bind: %d\n", ret);
2776 return ret;
2777 }
2778 }
2779 /*
2780 * Pre-965 chips need a fence register set up in order to
2781 * properly handle tiled surfaces.
2782 */
2783 if (!IS_I965G(dev) &&
2784 obj_priv->fence_reg == I915_FENCE_REG_NONE &&
2785 obj_priv->tiling_mode != I915_TILING_NONE) {
2786 ret = i915_gem_object_get_fence_reg(obj, true);
2787 if (ret != 0) {
2788 if (ret != -EBUSY && ret != -ERESTARTSYS)
2789 DRM_ERROR("Failure to install fence: %d\n",
2790 ret);
2716 return ret; 2791 return ret;
2717 } 2792 }
2718 /*
2719 * Pre-965 chips need a fence register set up in order to
2720 * properly handle tiled surfaces.
2721 */
2722 if (!IS_I965G(dev) &&
2723 obj_priv->fence_reg == I915_FENCE_REG_NONE &&
2724 obj_priv->tiling_mode != I915_TILING_NONE)
2725 i915_gem_object_get_fence_reg(obj, true);
2726 } 2793 }
2727 obj_priv->pin_count++; 2794 obj_priv->pin_count++;
2728 2795
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 9d6539a868b3..90600d899413 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -184,6 +184,7 @@
184 * Fence registers 184 * Fence registers
185 */ 185 */
186#define FENCE_REG_830_0 0x2000 186#define FENCE_REG_830_0 0x2000
187#define FENCE_REG_945_8 0x3000
187#define I830_FENCE_START_MASK 0x07f80000 188#define I830_FENCE_START_MASK 0x07f80000
188#define I830_FENCE_TILING_Y_SHIFT 12 189#define I830_FENCE_TILING_Y_SHIFT 12
189#define I830_FENCE_SIZE_BITS(size) ((ffs((size) >> 19) - 1) << 8) 190#define I830_FENCE_SIZE_BITS(size) ((ffs((size) >> 19) - 1) << 8)
diff --git a/drivers/gpu/drm/i915/i915_suspend.c b/drivers/gpu/drm/i915/i915_suspend.c
index 5d84027ee8f3..d669cc2b42c0 100644
--- a/drivers/gpu/drm/i915/i915_suspend.c
+++ b/drivers/gpu/drm/i915/i915_suspend.c
@@ -119,11 +119,6 @@ static void i915_save_vga(struct drm_device *dev)
119 119
120 /* VGA color palette registers */ 120 /* VGA color palette registers */
121 dev_priv->saveDACMASK = I915_READ8(VGA_DACMASK); 121 dev_priv->saveDACMASK = I915_READ8(VGA_DACMASK);
122 /* DACCRX automatically increments during read */
123 I915_WRITE8(VGA_DACRX, 0);
124 /* Read 3 bytes of color data from each index */
125 for (i = 0; i < 256 * 3; i++)
126 dev_priv->saveDACDATA[i] = I915_READ8(VGA_DACDATA);
127 122
128 /* MSR bits */ 123 /* MSR bits */
129 dev_priv->saveMSR = I915_READ8(VGA_MSR_READ); 124 dev_priv->saveMSR = I915_READ8(VGA_MSR_READ);
@@ -225,12 +220,6 @@ static void i915_restore_vga(struct drm_device *dev)
225 220
226 /* VGA color palette registers */ 221 /* VGA color palette registers */
227 I915_WRITE8(VGA_DACMASK, dev_priv->saveDACMASK); 222 I915_WRITE8(VGA_DACMASK, dev_priv->saveDACMASK);
228 /* DACCRX automatically increments during read */
229 I915_WRITE8(VGA_DACWX, 0);
230 /* Read 3 bytes of color data from each index */
231 for (i = 0; i < 256 * 3; i++)
232 I915_WRITE8(VGA_DACDATA, dev_priv->saveDACDATA[i]);
233
234} 223}
235 224
236int i915_save_state(struct drm_device *dev) 225int i915_save_state(struct drm_device *dev)
diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig
index b84bf066879b..b4eea0292c1a 100644
--- a/drivers/hwmon/Kconfig
+++ b/drivers/hwmon/Kconfig
@@ -543,8 +543,8 @@ config SENSORS_LM90
543 help 543 help
544 If you say yes here you get support for National Semiconductor LM90, 544 If you say yes here you get support for National Semiconductor LM90,
545 LM86, LM89 and LM99, Analog Devices ADM1032 and ADT7461, and Maxim 545 LM86, LM89 and LM99, Analog Devices ADM1032 and ADT7461, and Maxim
546 MAX6646, MAX6647, MAX6649, MAX6657, MAX6658, MAX6659, MAX6680 and 546 MAX6646, MAX6647, MAX6648, MAX6649, MAX6657, MAX6658, MAX6659,
547 MAX6681 sensor chips. 547 MAX6680, MAX6681 and MAX6692 sensor chips.
548 548
549 This driver can also be built as a module. If so, the module 549 This driver can also be built as a module. If so, the module
550 will be called lm90. 550 will be called lm90.
diff --git a/drivers/hwmon/abituguru3.c b/drivers/hwmon/abituguru3.c
index e52b38806d03..ad2b3431b725 100644
--- a/drivers/hwmon/abituguru3.c
+++ b/drivers/hwmon/abituguru3.c
@@ -760,8 +760,11 @@ static int abituguru3_read_increment_offset(struct abituguru3_data *data,
760 760
761 for (i = 0; i < offset_count; i++) 761 for (i = 0; i < offset_count; i++)
762 if ((x = abituguru3_read(data, bank, offset + i, count, 762 if ((x = abituguru3_read(data, bank, offset + i, count,
763 buf + i * count)) != count) 763 buf + i * count)) != count) {
764 return i * count + (i && (x < 0)) ? 0 : x; 764 if (x < 0)
765 return x;
766 return i * count + x;
767 }
765 768
766 return i * count; 769 return i * count;
767} 770}
diff --git a/drivers/hwmon/f75375s.c b/drivers/hwmon/f75375s.c
index 1692de369969..18a1ba888165 100644
--- a/drivers/hwmon/f75375s.c
+++ b/drivers/hwmon/f75375s.c
@@ -617,7 +617,7 @@ static void f75375_init(struct i2c_client *client, struct f75375_data *data,
617static int f75375_probe(struct i2c_client *client, 617static int f75375_probe(struct i2c_client *client,
618 const struct i2c_device_id *id) 618 const struct i2c_device_id *id)
619{ 619{
620 struct f75375_data *data = i2c_get_clientdata(client); 620 struct f75375_data *data;
621 struct f75375s_platform_data *f75375s_pdata = client->dev.platform_data; 621 struct f75375s_platform_data *f75375s_pdata = client->dev.platform_data;
622 int err; 622 int err;
623 623
diff --git a/drivers/hwmon/it87.c b/drivers/hwmon/it87.c
index 95a99c590da2..9157247fed8e 100644
--- a/drivers/hwmon/it87.c
+++ b/drivers/hwmon/it87.c
@@ -213,7 +213,7 @@ static inline u16 FAN16_TO_REG(long rpm)
213 213
214#define TEMP_TO_REG(val) (SENSORS_LIMIT(((val)<0?(((val)-500)/1000):\ 214#define TEMP_TO_REG(val) (SENSORS_LIMIT(((val)<0?(((val)-500)/1000):\
215 ((val)+500)/1000),-128,127)) 215 ((val)+500)/1000),-128,127))
216#define TEMP_FROM_REG(val) (((val)>0x80?(val)-0x100:(val))*1000) 216#define TEMP_FROM_REG(val) ((val) * 1000)
217 217
218#define PWM_TO_REG(val) ((val) >> 1) 218#define PWM_TO_REG(val) ((val) >> 1)
219#define PWM_FROM_REG(val) (((val)&0x7f) << 1) 219#define PWM_FROM_REG(val) (((val)&0x7f) << 1)
@@ -267,9 +267,9 @@ struct it87_data {
267 u8 has_fan; /* Bitfield, fans enabled */ 267 u8 has_fan; /* Bitfield, fans enabled */
268 u16 fan[5]; /* Register values, possibly combined */ 268 u16 fan[5]; /* Register values, possibly combined */
269 u16 fan_min[5]; /* Register values, possibly combined */ 269 u16 fan_min[5]; /* Register values, possibly combined */
270 u8 temp[3]; /* Register value */ 270 s8 temp[3]; /* Register value */
271 u8 temp_high[3]; /* Register value */ 271 s8 temp_high[3]; /* Register value */
272 u8 temp_low[3]; /* Register value */ 272 s8 temp_low[3]; /* Register value */
273 u8 sensor; /* Register value */ 273 u8 sensor; /* Register value */
274 u8 fan_div[3]; /* Register encoding, shifted right */ 274 u8 fan_div[3]; /* Register encoding, shifted right */
275 u8 vid; /* Register encoding, combined */ 275 u8 vid; /* Register encoding, combined */
diff --git a/drivers/hwmon/lm85.c b/drivers/hwmon/lm85.c
index cfc1ee90f5a3..b251d8674b41 100644
--- a/drivers/hwmon/lm85.c
+++ b/drivers/hwmon/lm85.c
@@ -72,6 +72,7 @@ I2C_CLIENT_INSMOD_7(lm85b, lm85c, adm1027, adt7463, adt7468, emc6d100,
72#define LM85_COMPANY_SMSC 0x5c 72#define LM85_COMPANY_SMSC 0x5c
73#define LM85_VERSTEP_VMASK 0xf0 73#define LM85_VERSTEP_VMASK 0xf0
74#define LM85_VERSTEP_GENERIC 0x60 74#define LM85_VERSTEP_GENERIC 0x60
75#define LM85_VERSTEP_GENERIC2 0x70
75#define LM85_VERSTEP_LM85C 0x60 76#define LM85_VERSTEP_LM85C 0x60
76#define LM85_VERSTEP_LM85B 0x62 77#define LM85_VERSTEP_LM85B 0x62
77#define LM85_VERSTEP_ADM1027 0x60 78#define LM85_VERSTEP_ADM1027 0x60
@@ -334,6 +335,7 @@ static struct lm85_data *lm85_update_device(struct device *dev);
334static const struct i2c_device_id lm85_id[] = { 335static const struct i2c_device_id lm85_id[] = {
335 { "adm1027", adm1027 }, 336 { "adm1027", adm1027 },
336 { "adt7463", adt7463 }, 337 { "adt7463", adt7463 },
338 { "adt7468", adt7468 },
337 { "lm85", any_chip }, 339 { "lm85", any_chip },
338 { "lm85b", lm85b }, 340 { "lm85b", lm85b },
339 { "lm85c", lm85c }, 341 { "lm85c", lm85c },
@@ -408,7 +410,8 @@ static ssize_t show_vid_reg(struct device *dev, struct device_attribute *attr,
408 struct lm85_data *data = lm85_update_device(dev); 410 struct lm85_data *data = lm85_update_device(dev);
409 int vid; 411 int vid;
410 412
411 if (data->type == adt7463 && (data->vid & 0x80)) { 413 if ((data->type == adt7463 || data->type == adt7468) &&
414 (data->vid & 0x80)) {
412 /* 6-pin VID (VRM 10) */ 415 /* 6-pin VID (VRM 10) */
413 vid = vid_from_reg(data->vid & 0x3f, data->vrm); 416 vid = vid_from_reg(data->vid & 0x3f, data->vrm);
414 } else { 417 } else {
@@ -1153,7 +1156,8 @@ static int lm85_detect(struct i2c_client *client, int kind,
1153 address, company, verstep); 1156 address, company, verstep);
1154 1157
1155 /* All supported chips have the version in common */ 1158 /* All supported chips have the version in common */
1156 if ((verstep & LM85_VERSTEP_VMASK) != LM85_VERSTEP_GENERIC) { 1159 if ((verstep & LM85_VERSTEP_VMASK) != LM85_VERSTEP_GENERIC &&
1160 (verstep & LM85_VERSTEP_VMASK) != LM85_VERSTEP_GENERIC2) {
1157 dev_dbg(&adapter->dev, "Autodetection failed: " 1161 dev_dbg(&adapter->dev, "Autodetection failed: "
1158 "unsupported version\n"); 1162 "unsupported version\n");
1159 return -ENODEV; 1163 return -ENODEV;
diff --git a/drivers/hwmon/lm90.c b/drivers/hwmon/lm90.c
index 96a701866726..1aff7575799d 100644
--- a/drivers/hwmon/lm90.c
+++ b/drivers/hwmon/lm90.c
@@ -32,10 +32,10 @@
32 * supported by this driver. These chips lack the remote temperature 32 * supported by this driver. These chips lack the remote temperature
33 * offset feature. 33 * offset feature.
34 * 34 *
35 * This driver also supports the MAX6646, MAX6647 and MAX6649 chips 35 * This driver also supports the MAX6646, MAX6647, MAX6648, MAX6649 and
36 * made by Maxim. These are again similar to the LM86, but they use 36 * MAX6692 chips made by Maxim. These are again similar to the LM86,
37 * unsigned temperature values and can report temperatures from 0 to 37 * but they use unsigned temperature values and can report temperatures
38 * 145 degrees. 38 * from 0 to 145 degrees.
39 * 39 *
40 * This driver also supports the MAX6680 and MAX6681, two other sensor 40 * This driver also supports the MAX6680 and MAX6681, two other sensor
41 * chips made by Maxim. These are quite similar to the other Maxim 41 * chips made by Maxim. These are quite similar to the other Maxim
diff --git a/drivers/ide/Kconfig b/drivers/ide/Kconfig
index e072903b12f0..5ea3bfad172a 100644
--- a/drivers/ide/Kconfig
+++ b/drivers/ide/Kconfig
@@ -721,6 +721,11 @@ config BLK_DEV_IDE_TX4939
721 depends on SOC_TX4939 721 depends on SOC_TX4939
722 select BLK_DEV_IDEDMA_SFF 722 select BLK_DEV_IDEDMA_SFF
723 723
724config BLK_DEV_IDE_AT91
725 tristate "Atmel AT91 (SAM9, CAP9, AT572D940HF) IDE support"
726 depends on ARM && ARCH_AT91 && !ARCH_AT91RM9200 && !ARCH_AT91X40
727 select IDE_TIMINGS
728
724config IDE_ARM 729config IDE_ARM
725 tristate "ARM IDE support" 730 tristate "ARM IDE support"
726 depends on ARM && (ARCH_RPC || ARCH_SHARK) 731 depends on ARM && (ARCH_RPC || ARCH_SHARK)
diff --git a/drivers/ide/Makefile b/drivers/ide/Makefile
index d0e3d7d5b467..1c326d94aa6d 100644
--- a/drivers/ide/Makefile
+++ b/drivers/ide/Makefile
@@ -116,3 +116,4 @@ obj-$(CONFIG_BLK_DEV_IDE_AU1XXX) += au1xxx-ide.o
116 116
117obj-$(CONFIG_BLK_DEV_IDE_TX4938) += tx4938ide.o 117obj-$(CONFIG_BLK_DEV_IDE_TX4938) += tx4938ide.o
118obj-$(CONFIG_BLK_DEV_IDE_TX4939) += tx4939ide.o 118obj-$(CONFIG_BLK_DEV_IDE_TX4939) += tx4939ide.o
119obj-$(CONFIG_BLK_DEV_IDE_AT91) += at91_ide.o
diff --git a/drivers/ide/at91_ide.c b/drivers/ide/at91_ide.c
new file mode 100644
index 000000000000..1bb50f46388d
--- /dev/null
+++ b/drivers/ide/at91_ide.c
@@ -0,0 +1,467 @@
1/*
2 * IDE host driver for AT91 (SAM9, CAP9, AT572D940HF) Static Memory Controller
3 * with Compact Flash True IDE logic
4 *
5 * Copyright (c) 2008, 2009 Kelvatek Ltd.
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20 *
21 */
22
23#include <linux/version.h>
24#include <linux/kernel.h>
25#include <linux/module.h>
26#include <linux/clk.h>
27#include <linux/err.h>
28#include <linux/ide.h>
29#include <linux/platform_device.h>
30
31#include <mach/board.h>
32#include <mach/gpio.h>
33#include <mach/at91sam9263.h>
34#include <mach/at91sam9_smc.h>
35#include <mach/at91sam9263_matrix.h>
36
37#define DRV_NAME "at91_ide"
38
39#define perr(fmt, args...) pr_err(DRV_NAME ": " fmt, ##args)
40#define pdbg(fmt, args...) pr_debug("%s " fmt, __func__, ##args)
41
42/*
43 * Access to IDE device is possible through EBI Static Memory Controller
44 * with Compact Flash logic. For details see EBI and SMC datasheet sections
45 * of any microcontroller from AT91SAM9 family.
46 *
47 * Within SMC chip select address space, lines A[23:21] distinguish Compact
48 * Flash modes (I/O, common memory, attribute memory, True IDE). IDE modes are:
49 * 0x00c0000 - True IDE
50 * 0x00e0000 - Alternate True IDE (Alt Status Register)
51 *
52 * On True IDE mode Task File and Data Register are mapped at the same address.
53 * To distinguish access between these two different bus data width is used:
54 * 8Bit for Task File, 16Bit for Data I/O.
55 *
56 * After initialization we do 8/16 bit flipping (changes in SMC MODE register)
57 * only inside IDE callback routines which are serialized by IDE layer,
58 * so no additional locking needed.
59 */
60
61#define TASK_FILE 0x00c00000
62#define ALT_MODE 0x00e00000
63#define REGS_SIZE 8
64
65#define enter_16bit(cs, mode) do { \
66 mode = at91_sys_read(AT91_SMC_MODE(cs)); \
67 at91_sys_write(AT91_SMC_MODE(cs), mode | AT91_SMC_DBW_16); \
68} while (0)
69
70#define leave_16bit(cs, mode) at91_sys_write(AT91_SMC_MODE(cs), mode);
71
72static void set_smc_timings(const u8 chipselect, const u16 cycle,
73 const u16 setup, const u16 pulse,
74 const u16 data_float, int use_iordy)
75{
76 unsigned long mode = AT91_SMC_READMODE | AT91_SMC_WRITEMODE |
77 AT91_SMC_BAT_SELECT;
78
79 /* disable or enable waiting for IORDY signal */
80 if (use_iordy)
81 mode |= AT91_SMC_EXNWMODE_READY;
82
83 /* add data float cycles if needed */
84 if (data_float)
85 mode |= AT91_SMC_TDF_(data_float);
86
87 at91_sys_write(AT91_SMC_MODE(chipselect), mode);
88
89 /* setup timings in SMC */
90 at91_sys_write(AT91_SMC_SETUP(chipselect), AT91_SMC_NWESETUP_(setup) |
91 AT91_SMC_NCS_WRSETUP_(0) |
92 AT91_SMC_NRDSETUP_(setup) |
93 AT91_SMC_NCS_RDSETUP_(0));
94 at91_sys_write(AT91_SMC_PULSE(chipselect), AT91_SMC_NWEPULSE_(pulse) |
95 AT91_SMC_NCS_WRPULSE_(cycle) |
96 AT91_SMC_NRDPULSE_(pulse) |
97 AT91_SMC_NCS_RDPULSE_(cycle));
98 at91_sys_write(AT91_SMC_CYCLE(chipselect), AT91_SMC_NWECYCLE_(cycle) |
99 AT91_SMC_NRDCYCLE_(cycle));
100}
101
102static unsigned int calc_mck_cycles(unsigned int ns, unsigned int mck_hz)
103{
104 u64 tmp = ns;
105
106 tmp *= mck_hz;
107 tmp += 1000*1000*1000 - 1; /* round up */
108 do_div(tmp, 1000*1000*1000);
109 return (unsigned int) tmp;
110}
111
112static void apply_timings(const u8 chipselect, const u8 pio,
113 const struct ide_timing *timing, int use_iordy)
114{
115 unsigned int t0, t1, t2, t6z;
116 unsigned int cycle, setup, pulse, data_float;
117 unsigned int mck_hz;
118 struct clk *mck;
119
120 /* see table 22 of Compact Flash standard 4.1 for the meaning,
121 * we do not stretch active (t2) time, so setup (t1) + hold time (th)
122 * assure at least minimal recovery (t2i) time */
123 t0 = timing->cyc8b;
124 t1 = timing->setup;
125 t2 = timing->act8b;
126 t6z = (pio < 5) ? 30 : 20;
127
128 pdbg("t0=%u t1=%u t2=%u t6z=%u\n", t0, t1, t2, t6z);
129
130 mck = clk_get(NULL, "mck");
131 BUG_ON(IS_ERR(mck));
132 mck_hz = clk_get_rate(mck);
133 pdbg("mck_hz=%u\n", mck_hz);
134
135 cycle = calc_mck_cycles(t0, mck_hz);
136 setup = calc_mck_cycles(t1, mck_hz);
137 pulse = calc_mck_cycles(t2, mck_hz);
138 data_float = calc_mck_cycles(t6z, mck_hz);
139
140 pdbg("cycle=%u setup=%u pulse=%u data_float=%u\n",
141 cycle, setup, pulse, data_float);
142
143 set_smc_timings(chipselect, cycle, setup, pulse, data_float, use_iordy);
144}
145
146static void at91_ide_input_data(ide_drive_t *drive, struct request *rq,
147 void *buf, unsigned int len)
148{
149 ide_hwif_t *hwif = drive->hwif;
150 struct ide_io_ports *io_ports = &hwif->io_ports;
151 u8 chipselect = hwif->select_data;
152 unsigned long mode;
153
154 pdbg("cs %u buf %p len %d\n", chipselect, buf, len);
155
156 len++;
157
158 enter_16bit(chipselect, mode);
159 __ide_mm_insw((void __iomem *) io_ports->data_addr, buf, len / 2);
160 leave_16bit(chipselect, mode);
161}
162
163static void at91_ide_output_data(ide_drive_t *drive, struct request *rq,
164 void *buf, unsigned int len)
165{
166 ide_hwif_t *hwif = drive->hwif;
167 struct ide_io_ports *io_ports = &hwif->io_ports;
168 u8 chipselect = hwif->select_data;
169 unsigned long mode;
170
171 pdbg("cs %u buf %p len %d\n", chipselect, buf, len);
172
173 enter_16bit(chipselect, mode);
174 __ide_mm_outsw((void __iomem *) io_ports->data_addr, buf, len / 2);
175 leave_16bit(chipselect, mode);
176}
177
178static u8 ide_mm_inb(unsigned long port)
179{
180 return readb((void __iomem *) port);
181}
182
183static void ide_mm_outb(u8 value, unsigned long port)
184{
185 writeb(value, (void __iomem *) port);
186}
187
188static void at91_ide_tf_load(ide_drive_t *drive, ide_task_t *task)
189{
190 ide_hwif_t *hwif = drive->hwif;
191 struct ide_io_ports *io_ports = &hwif->io_ports;
192 struct ide_taskfile *tf = &task->tf;
193 u8 HIHI = (task->tf_flags & IDE_TFLAG_LBA48) ? 0xE0 : 0xEF;
194
195 if (task->tf_flags & IDE_TFLAG_FLAGGED)
196 HIHI = 0xFF;
197
198 if (task->tf_flags & IDE_TFLAG_OUT_DATA) {
199 u16 data = (tf->hob_data << 8) | tf->data;
200
201 at91_ide_output_data(drive, NULL, &data, 2);
202 }
203
204 if (task->tf_flags & IDE_TFLAG_OUT_HOB_FEATURE)
205 ide_mm_outb(tf->hob_feature, io_ports->feature_addr);
206 if (task->tf_flags & IDE_TFLAG_OUT_HOB_NSECT)
207 ide_mm_outb(tf->hob_nsect, io_ports->nsect_addr);
208 if (task->tf_flags & IDE_TFLAG_OUT_HOB_LBAL)
209 ide_mm_outb(tf->hob_lbal, io_ports->lbal_addr);
210 if (task->tf_flags & IDE_TFLAG_OUT_HOB_LBAM)
211 ide_mm_outb(tf->hob_lbam, io_ports->lbam_addr);
212 if (task->tf_flags & IDE_TFLAG_OUT_HOB_LBAH)
213 ide_mm_outb(tf->hob_lbah, io_ports->lbah_addr);
214
215 if (task->tf_flags & IDE_TFLAG_OUT_FEATURE)
216 ide_mm_outb(tf->feature, io_ports->feature_addr);
217 if (task->tf_flags & IDE_TFLAG_OUT_NSECT)
218 ide_mm_outb(tf->nsect, io_ports->nsect_addr);
219 if (task->tf_flags & IDE_TFLAG_OUT_LBAL)
220 ide_mm_outb(tf->lbal, io_ports->lbal_addr);
221 if (task->tf_flags & IDE_TFLAG_OUT_LBAM)
222 ide_mm_outb(tf->lbam, io_ports->lbam_addr);
223 if (task->tf_flags & IDE_TFLAG_OUT_LBAH)
224 ide_mm_outb(tf->lbah, io_ports->lbah_addr);
225
226 if (task->tf_flags & IDE_TFLAG_OUT_DEVICE)
227 ide_mm_outb((tf->device & HIHI) | drive->select, io_ports->device_addr);
228}
229
230static void at91_ide_tf_read(ide_drive_t *drive, ide_task_t *task)
231{
232 ide_hwif_t *hwif = drive->hwif;
233 struct ide_io_ports *io_ports = &hwif->io_ports;
234 struct ide_taskfile *tf = &task->tf;
235
236 if (task->tf_flags & IDE_TFLAG_IN_DATA) {
237 u16 data;
238
239 at91_ide_input_data(drive, NULL, &data, 2);
240 tf->data = data & 0xff;
241 tf->hob_data = (data >> 8) & 0xff;
242 }
243
244 /* be sure we're looking at the low order bits */
245 ide_mm_outb(ATA_DEVCTL_OBS & ~0x80, io_ports->ctl_addr);
246
247 if (task->tf_flags & IDE_TFLAG_IN_FEATURE)
248 tf->feature = ide_mm_inb(io_ports->feature_addr);
249 if (task->tf_flags & IDE_TFLAG_IN_NSECT)
250 tf->nsect = ide_mm_inb(io_ports->nsect_addr);
251 if (task->tf_flags & IDE_TFLAG_IN_LBAL)
252 tf->lbal = ide_mm_inb(io_ports->lbal_addr);
253 if (task->tf_flags & IDE_TFLAG_IN_LBAM)
254 tf->lbam = ide_mm_inb(io_ports->lbam_addr);
255 if (task->tf_flags & IDE_TFLAG_IN_LBAH)
256 tf->lbah = ide_mm_inb(io_ports->lbah_addr);
257 if (task->tf_flags & IDE_TFLAG_IN_DEVICE)
258 tf->device = ide_mm_inb(io_ports->device_addr);
259
260 if (task->tf_flags & IDE_TFLAG_LBA48) {
261 ide_mm_outb(ATA_DEVCTL_OBS | 0x80, io_ports->ctl_addr);
262
263 if (task->tf_flags & IDE_TFLAG_IN_HOB_FEATURE)
264 tf->hob_feature = ide_mm_inb(io_ports->feature_addr);
265 if (task->tf_flags & IDE_TFLAG_IN_HOB_NSECT)
266 tf->hob_nsect = ide_mm_inb(io_ports->nsect_addr);
267 if (task->tf_flags & IDE_TFLAG_IN_HOB_LBAL)
268 tf->hob_lbal = ide_mm_inb(io_ports->lbal_addr);
269 if (task->tf_flags & IDE_TFLAG_IN_HOB_LBAM)
270 tf->hob_lbam = ide_mm_inb(io_ports->lbam_addr);
271 if (task->tf_flags & IDE_TFLAG_IN_HOB_LBAH)
272 tf->hob_lbah = ide_mm_inb(io_ports->lbah_addr);
273 }
274}
275
276static void at91_ide_set_pio_mode(ide_drive_t *drive, const u8 pio)
277{
278 struct ide_timing *timing;
279 u8 chipselect = drive->hwif->select_data;
280 int use_iordy = 0;
281
282 pdbg("chipselect %u pio %u\n", chipselect, pio);
283
284 timing = ide_timing_find_mode(XFER_PIO_0 + pio);
285 BUG_ON(!timing);
286
287 if ((pio > 2 || ata_id_has_iordy(drive->id)) &&
288 !(ata_id_is_cfa(drive->id) && pio > 4))
289 use_iordy = 1;
290
291 apply_timings(chipselect, pio, timing, use_iordy);
292}
293
294static const struct ide_tp_ops at91_ide_tp_ops = {
295 .exec_command = ide_exec_command,
296 .read_status = ide_read_status,
297 .read_altstatus = ide_read_altstatus,
298 .set_irq = ide_set_irq,
299
300 .tf_load = at91_ide_tf_load,
301 .tf_read = at91_ide_tf_read,
302
303 .input_data = at91_ide_input_data,
304 .output_data = at91_ide_output_data,
305};
306
307static const struct ide_port_ops at91_ide_port_ops = {
308 .set_pio_mode = at91_ide_set_pio_mode,
309};
310
311static const struct ide_port_info at91_ide_port_info __initdata = {
312 .port_ops = &at91_ide_port_ops,
313 .tp_ops = &at91_ide_tp_ops,
314 .host_flags = IDE_HFLAG_MMIO | IDE_HFLAG_NO_DMA | IDE_HFLAG_SINGLE |
315 IDE_HFLAG_NO_IO_32BIT | IDE_HFLAG_UNMASK_IRQS,
316 .pio_mask = ATA_PIO5,
317};
318
319/*
320 * If interrupt is delivered through GPIO, IRQ are triggered on falling
321 * and rising edge of signal. Whereas IDE device request interrupt on high
322 * level (rising edge in our case). This mean we have fake interrupts, so
323 * we need to check interrupt pin and exit instantly from ISR when line
324 * is on low level.
325 */
326
327irqreturn_t at91_irq_handler(int irq, void *dev_id)
328{
329 int ntries = 8;
330 int pin_val1, pin_val2;
331
332 /* additional deglitch, line can be noisy in badly designed PCB */
333 do {
334 pin_val1 = at91_get_gpio_value(irq);
335 pin_val2 = at91_get_gpio_value(irq);
336 } while (pin_val1 != pin_val2 && --ntries > 0);
337
338 if (pin_val1 == 0 || ntries <= 0)
339 return IRQ_HANDLED;
340
341 return ide_intr(irq, dev_id);
342}
343
344static int __init at91_ide_probe(struct platform_device *pdev)
345{
346 int ret;
347 hw_regs_t hw;
348 hw_regs_t *hws[] = { &hw, NULL, NULL, NULL };
349 struct ide_host *host;
350 struct resource *res;
351 unsigned long tf_base = 0, ctl_base = 0;
352 struct at91_cf_data *board = pdev->dev.platform_data;
353
354 if (!board)
355 return -ENODEV;
356
357 if (board->det_pin && at91_get_gpio_value(board->det_pin) != 0) {
358 perr("no device detected\n");
359 return -ENODEV;
360 }
361
362 res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
363 if (!res) {
364 perr("can't get memory resource\n");
365 return -ENODEV;
366 }
367
368 if (!devm_request_mem_region(&pdev->dev, res->start + TASK_FILE,
369 REGS_SIZE, "ide") ||
370 !devm_request_mem_region(&pdev->dev, res->start + ALT_MODE,
371 REGS_SIZE, "alt")) {
372 perr("memory resources in use\n");
373 return -EBUSY;
374 }
375
376 pdbg("chipselect %u irq %u res %08lx\n", board->chipselect,
377 board->irq_pin, (unsigned long) res->start);
378
379 tf_base = (unsigned long) devm_ioremap(&pdev->dev, res->start + TASK_FILE,
380 REGS_SIZE);
381 ctl_base = (unsigned long) devm_ioremap(&pdev->dev, res->start + ALT_MODE,
382 REGS_SIZE);
383 if (!tf_base || !ctl_base) {
384 perr("can't map memory regions\n");
385 return -EBUSY;
386 }
387
388 memset(&hw, 0, sizeof(hw));
389
390 if (board->flags & AT91_IDE_SWAP_A0_A2) {
391 /* workaround for stupid hardware bug */
392 hw.io_ports.data_addr = tf_base + 0;
393 hw.io_ports.error_addr = tf_base + 4;
394 hw.io_ports.nsect_addr = tf_base + 2;
395 hw.io_ports.lbal_addr = tf_base + 6;
396 hw.io_ports.lbam_addr = tf_base + 1;
397 hw.io_ports.lbah_addr = tf_base + 5;
398 hw.io_ports.device_addr = tf_base + 3;
399 hw.io_ports.command_addr = tf_base + 7;
400 hw.io_ports.ctl_addr = ctl_base + 3;
401 } else
402 ide_std_init_ports(&hw, tf_base, ctl_base + 6);
403
404 hw.irq = board->irq_pin;
405 hw.chipset = ide_generic;
406 hw.dev = &pdev->dev;
407
408 host = ide_host_alloc(&at91_ide_port_info, hws);
409 if (!host) {
410 perr("failed to allocate ide host\n");
411 return -ENOMEM;
412 }
413
414 /* setup Static Memory Controller - PIO 0 as default */
415 apply_timings(board->chipselect, 0, ide_timing_find_mode(XFER_PIO_0), 0);
416
417 /* with GPIO interrupt we have to do quirks in handler */
418 if (board->irq_pin >= PIN_BASE)
419 host->irq_handler = at91_irq_handler;
420
421 host->ports[0]->select_data = board->chipselect;
422
423 ret = ide_host_register(host, &at91_ide_port_info, hws);
424 if (ret) {
425 perr("failed to register ide host\n");
426 goto err_free_host;
427 }
428 platform_set_drvdata(pdev, host);
429 return 0;
430
431err_free_host:
432 ide_host_free(host);
433 return ret;
434}
435
436static int __exit at91_ide_remove(struct platform_device *pdev)
437{
438 struct ide_host *host = platform_get_drvdata(pdev);
439
440 ide_host_remove(host);
441 return 0;
442}
443
444static struct platform_driver at91_ide_driver = {
445 .driver = {
446 .name = DRV_NAME,
447 .owner = THIS_MODULE,
448 },
449 .remove = __exit_p(at91_ide_remove),
450};
451
452static int __init at91_ide_init(void)
453{
454 return platform_driver_probe(&at91_ide_driver, at91_ide_probe);
455}
456
457static void __exit at91_ide_exit(void)
458{
459 platform_driver_unregister(&at91_ide_driver);
460}
461
462module_init(at91_ide_init);
463module_exit(at91_ide_exit);
464
465MODULE_LICENSE("GPL");
466MODULE_AUTHOR("Stanislaw Gruszka <stf_xl@wp.pl>");
467
diff --git a/drivers/ide/ide-atapi.c b/drivers/ide/ide-atapi.c
index e96c01260598..e9d042dba0e0 100644
--- a/drivers/ide/ide-atapi.c
+++ b/drivers/ide/ide-atapi.c
@@ -140,6 +140,12 @@ static void ide_queue_pc_head(ide_drive_t *drive, struct gendisk *disk,
140 rq->cmd_flags |= REQ_PREEMPT; 140 rq->cmd_flags |= REQ_PREEMPT;
141 rq->buffer = (char *)pc; 141 rq->buffer = (char *)pc;
142 rq->rq_disk = disk; 142 rq->rq_disk = disk;
143
144 if (pc->req_xfer) {
145 rq->data = pc->buf;
146 rq->data_len = pc->req_xfer;
147 }
148
143 memcpy(rq->cmd, pc->c, 12); 149 memcpy(rq->cmd, pc->c, 12);
144 if (drive->media == ide_tape) 150 if (drive->media == ide_tape)
145 rq->cmd[13] = REQ_IDETAPE_PC1; 151 rq->cmd[13] = REQ_IDETAPE_PC1;
@@ -159,6 +165,12 @@ int ide_queue_pc_tail(ide_drive_t *drive, struct gendisk *disk,
159 rq = blk_get_request(drive->queue, READ, __GFP_WAIT); 165 rq = blk_get_request(drive->queue, READ, __GFP_WAIT);
160 rq->cmd_type = REQ_TYPE_SPECIAL; 166 rq->cmd_type = REQ_TYPE_SPECIAL;
161 rq->buffer = (char *)pc; 167 rq->buffer = (char *)pc;
168
169 if (pc->req_xfer) {
170 rq->data = pc->buf;
171 rq->data_len = pc->req_xfer;
172 }
173
162 memcpy(rq->cmd, pc->c, 12); 174 memcpy(rq->cmd, pc->c, 12);
163 if (drive->media == ide_tape) 175 if (drive->media == ide_tape)
164 rq->cmd[13] = REQ_IDETAPE_PC1; 176 rq->cmd[13] = REQ_IDETAPE_PC1;
diff --git a/drivers/ide/ide-disk_proc.c b/drivers/ide/ide-disk_proc.c
index 1146f4204c6e..1f86dcbd2b1c 100644
--- a/drivers/ide/ide-disk_proc.c
+++ b/drivers/ide/ide-disk_proc.c
@@ -125,5 +125,5 @@ const struct ide_proc_devset ide_disk_settings[] = {
125 IDE_PROC_DEVSET(multcount, 0, 16), 125 IDE_PROC_DEVSET(multcount, 0, 16),
126 IDE_PROC_DEVSET(nowerr, 0, 1), 126 IDE_PROC_DEVSET(nowerr, 0, 1),
127 IDE_PROC_DEVSET(wcache, 0, 1), 127 IDE_PROC_DEVSET(wcache, 0, 1),
128 { 0 }, 128 { NULL },
129}; 129};
diff --git a/drivers/ide/ide-dma.c b/drivers/ide/ide-dma.c
index 72ebab0bc755..059c90bb5ad2 100644
--- a/drivers/ide/ide-dma.c
+++ b/drivers/ide/ide-dma.c
@@ -128,6 +128,7 @@ int ide_build_sglist(ide_drive_t *drive, struct request *rq)
128{ 128{
129 ide_hwif_t *hwif = drive->hwif; 129 ide_hwif_t *hwif = drive->hwif;
130 struct scatterlist *sg = hwif->sg_table; 130 struct scatterlist *sg = hwif->sg_table;
131 int i;
131 132
132 ide_map_sg(drive, rq); 133 ide_map_sg(drive, rq);
133 134
@@ -136,8 +137,13 @@ int ide_build_sglist(ide_drive_t *drive, struct request *rq)
136 else 137 else
137 hwif->sg_dma_direction = DMA_TO_DEVICE; 138 hwif->sg_dma_direction = DMA_TO_DEVICE;
138 139
139 return dma_map_sg(hwif->dev, sg, hwif->sg_nents, 140 i = dma_map_sg(hwif->dev, sg, hwif->sg_nents, hwif->sg_dma_direction);
140 hwif->sg_dma_direction); 141 if (i) {
142 hwif->orig_sg_nents = hwif->sg_nents;
143 hwif->sg_nents = i;
144 }
145
146 return i;
141} 147}
142EXPORT_SYMBOL_GPL(ide_build_sglist); 148EXPORT_SYMBOL_GPL(ide_build_sglist);
143 149
@@ -156,7 +162,7 @@ void ide_destroy_dmatable(ide_drive_t *drive)
156{ 162{
157 ide_hwif_t *hwif = drive->hwif; 163 ide_hwif_t *hwif = drive->hwif;
158 164
159 dma_unmap_sg(hwif->dev, hwif->sg_table, hwif->sg_nents, 165 dma_unmap_sg(hwif->dev, hwif->sg_table, hwif->orig_sg_nents,
160 hwif->sg_dma_direction); 166 hwif->sg_dma_direction);
161} 167}
162EXPORT_SYMBOL_GPL(ide_destroy_dmatable); 168EXPORT_SYMBOL_GPL(ide_destroy_dmatable);
diff --git a/drivers/ide/ide-floppy.c b/drivers/ide/ide-floppy.c
index 3eab1c6c9b31..317ec62c33d4 100644
--- a/drivers/ide/ide-floppy.c
+++ b/drivers/ide/ide-floppy.c
@@ -327,8 +327,10 @@ static ide_startstop_t ide_floppy_do_request(ide_drive_t *drive,
327 return ide_stopped; 327 return ide_stopped;
328 } 328 }
329 329
330 ide_init_sg_cmd(drive, rq); 330 if (blk_fs_request(rq) || pc->req_xfer) {
331 ide_map_sg(drive, rq); 331 ide_init_sg_cmd(drive, rq);
332 ide_map_sg(drive, rq);
333 }
332 334
333 pc->sg = hwif->sg_table; 335 pc->sg = hwif->sg_table;
334 pc->sg_cnt = hwif->sg_nents; 336 pc->sg_cnt = hwif->sg_nents;
diff --git a/drivers/ide/ide-floppy_proc.c b/drivers/ide/ide-floppy_proc.c
index 3ec762cb60ab..fcd4d8153df5 100644
--- a/drivers/ide/ide-floppy_proc.c
+++ b/drivers/ide/ide-floppy_proc.c
@@ -29,5 +29,5 @@ const struct ide_proc_devset ide_floppy_settings[] = {
29 IDE_PROC_DEVSET(bios_head, 0, 255), 29 IDE_PROC_DEVSET(bios_head, 0, 255),
30 IDE_PROC_DEVSET(bios_sect, 0, 63), 30 IDE_PROC_DEVSET(bios_sect, 0, 63),
31 IDE_PROC_DEVSET(ticks, 0, 255), 31 IDE_PROC_DEVSET(ticks, 0, 255),
32 { 0 }, 32 { NULL },
33}; 33};
diff --git a/drivers/ide/ide-io.c b/drivers/ide/ide-io.c
index 9ee51adf567f..a9a6c208288a 100644
--- a/drivers/ide/ide-io.c
+++ b/drivers/ide/ide-io.c
@@ -908,7 +908,7 @@ void ide_timer_expiry (unsigned long data)
908 ide_drive_t *uninitialized_var(drive); 908 ide_drive_t *uninitialized_var(drive);
909 ide_handler_t *handler; 909 ide_handler_t *handler;
910 unsigned long flags; 910 unsigned long flags;
911 unsigned long wait = -1; 911 int wait = -1;
912 int plug_device = 0; 912 int plug_device = 0;
913 913
914 spin_lock_irqsave(&hwif->lock, flags); 914 spin_lock_irqsave(&hwif->lock, flags);
@@ -1162,6 +1162,7 @@ out_early:
1162 1162
1163 return irq_ret; 1163 return irq_ret;
1164} 1164}
1165EXPORT_SYMBOL_GPL(ide_intr);
1165 1166
1166/** 1167/**
1167 * ide_do_drive_cmd - issue IDE special command 1168 * ide_do_drive_cmd - issue IDE special command
diff --git a/drivers/ide/ide-iops.c b/drivers/ide/ide-iops.c
index 753b92ebe0ae..b1892bd95c6f 100644
--- a/drivers/ide/ide-iops.c
+++ b/drivers/ide/ide-iops.c
@@ -315,6 +315,8 @@ void ide_output_data(ide_drive_t *drive, struct request *rq, void *buf,
315 u8 io_32bit = drive->io_32bit; 315 u8 io_32bit = drive->io_32bit;
316 u8 mmio = (hwif->host_flags & IDE_HFLAG_MMIO) ? 1 : 0; 316 u8 mmio = (hwif->host_flags & IDE_HFLAG_MMIO) ? 1 : 0;
317 317
318 len++;
319
318 if (io_32bit) { 320 if (io_32bit) {
319 unsigned long uninitialized_var(flags); 321 unsigned long uninitialized_var(flags);
320 322
diff --git a/drivers/ide/ide-probe.c b/drivers/ide/ide-probe.c
index ce0818a993f6..ee8e3e7cad51 100644
--- a/drivers/ide/ide-probe.c
+++ b/drivers/ide/ide-probe.c
@@ -950,6 +950,7 @@ static int ide_port_setup_devices(ide_hwif_t *hwif)
950static int init_irq (ide_hwif_t *hwif) 950static int init_irq (ide_hwif_t *hwif)
951{ 951{
952 struct ide_io_ports *io_ports = &hwif->io_ports; 952 struct ide_io_ports *io_ports = &hwif->io_ports;
953 irq_handler_t irq_handler;
953 int sa = 0; 954 int sa = 0;
954 955
955 mutex_lock(&ide_cfg_mtx); 956 mutex_lock(&ide_cfg_mtx);
@@ -959,6 +960,10 @@ static int init_irq (ide_hwif_t *hwif)
959 hwif->timer.function = &ide_timer_expiry; 960 hwif->timer.function = &ide_timer_expiry;
960 hwif->timer.data = (unsigned long)hwif; 961 hwif->timer.data = (unsigned long)hwif;
961 962
963 irq_handler = hwif->host->irq_handler;
964 if (irq_handler == NULL)
965 irq_handler = ide_intr;
966
962#if defined(__mc68000__) 967#if defined(__mc68000__)
963 sa = IRQF_SHARED; 968 sa = IRQF_SHARED;
964#endif /* __mc68000__ */ 969#endif /* __mc68000__ */
@@ -969,7 +974,7 @@ static int init_irq (ide_hwif_t *hwif)
969 if (io_ports->ctl_addr) 974 if (io_ports->ctl_addr)
970 hwif->tp_ops->set_irq(hwif, 1); 975 hwif->tp_ops->set_irq(hwif, 1);
971 976
972 if (request_irq(hwif->irq, &ide_intr, sa, hwif->name, hwif)) 977 if (request_irq(hwif->irq, irq_handler, sa, hwif->name, hwif))
973 goto out_up; 978 goto out_up;
974 979
975 if (!hwif->rqsize) { 980 if (!hwif->rqsize) {
diff --git a/drivers/ide/ide-proc.c b/drivers/ide/ide-proc.c
index 1d8978b3314a..a7b9287ee0d4 100644
--- a/drivers/ide/ide-proc.c
+++ b/drivers/ide/ide-proc.c
@@ -231,7 +231,7 @@ static const struct ide_proc_devset ide_generic_settings[] = {
231 IDE_PROC_DEVSET(pio_mode, 0, 255), 231 IDE_PROC_DEVSET(pio_mode, 0, 255),
232 IDE_PROC_DEVSET(unmaskirq, 0, 1), 232 IDE_PROC_DEVSET(unmaskirq, 0, 1),
233 IDE_PROC_DEVSET(using_dma, 0, 1), 233 IDE_PROC_DEVSET(using_dma, 0, 1),
234 { 0 }, 234 { NULL },
235}; 235};
236 236
237static void proc_ide_settings_warn(void) 237static void proc_ide_settings_warn(void)
diff --git a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c
index bb450a7608c2..4e6181c7bbda 100644
--- a/drivers/ide/ide-tape.c
+++ b/drivers/ide/ide-tape.c
@@ -2166,7 +2166,7 @@ static const struct ide_proc_devset idetape_settings[] = {
2166 __IDE_PROC_DEVSET(speed, 0, 0xffff, NULL, NULL), 2166 __IDE_PROC_DEVSET(speed, 0, 0xffff, NULL, NULL),
2167 __IDE_PROC_DEVSET(tdsc, IDETAPE_DSC_RW_MIN, IDETAPE_DSC_RW_MAX, 2167 __IDE_PROC_DEVSET(tdsc, IDETAPE_DSC_RW_MIN, IDETAPE_DSC_RW_MAX,
2168 mulf_tdsc, divf_tdsc), 2168 mulf_tdsc, divf_tdsc),
2169 { 0 }, 2169 { NULL },
2170}; 2170};
2171#endif 2171#endif
2172 2172
diff --git a/drivers/infiniband/hw/nes/nes_cm.c b/drivers/infiniband/hw/nes/nes_cm.c
index a01b4488208b..4a65b96db2c8 100644
--- a/drivers/infiniband/hw/nes/nes_cm.c
+++ b/drivers/infiniband/hw/nes/nes_cm.c
@@ -2490,12 +2490,14 @@ static int nes_disconnect(struct nes_qp *nesqp, int abrupt)
2490 int ret = 0; 2490 int ret = 0;
2491 struct nes_vnic *nesvnic; 2491 struct nes_vnic *nesvnic;
2492 struct nes_device *nesdev; 2492 struct nes_device *nesdev;
2493 struct nes_ib_device *nesibdev;
2493 2494
2494 nesvnic = to_nesvnic(nesqp->ibqp.device); 2495 nesvnic = to_nesvnic(nesqp->ibqp.device);
2495 if (!nesvnic) 2496 if (!nesvnic)
2496 return -EINVAL; 2497 return -EINVAL;
2497 2498
2498 nesdev = nesvnic->nesdev; 2499 nesdev = nesvnic->nesdev;
2500 nesibdev = nesvnic->nesibdev;
2499 2501
2500 nes_debug(NES_DBG_CM, "netdev refcnt = %u.\n", 2502 nes_debug(NES_DBG_CM, "netdev refcnt = %u.\n",
2501 atomic_read(&nesvnic->netdev->refcnt)); 2503 atomic_read(&nesvnic->netdev->refcnt));
@@ -2507,6 +2509,8 @@ static int nes_disconnect(struct nes_qp *nesqp, int abrupt)
2507 } else { 2509 } else {
2508 /* Need to free the Last Streaming Mode Message */ 2510 /* Need to free the Last Streaming Mode Message */
2509 if (nesqp->ietf_frame) { 2511 if (nesqp->ietf_frame) {
2512 if (nesqp->lsmm_mr)
2513 nesibdev->ibdev.dereg_mr(nesqp->lsmm_mr);
2510 pci_free_consistent(nesdev->pcidev, 2514 pci_free_consistent(nesdev->pcidev,
2511 nesqp->private_data_len+sizeof(struct ietf_mpa_frame), 2515 nesqp->private_data_len+sizeof(struct ietf_mpa_frame),
2512 nesqp->ietf_frame, nesqp->ietf_frame_pbase); 2516 nesqp->ietf_frame, nesqp->ietf_frame_pbase);
@@ -2543,6 +2547,12 @@ int nes_accept(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param)
2543 u32 crc_value; 2547 u32 crc_value;
2544 int ret; 2548 int ret;
2545 int passive_state; 2549 int passive_state;
2550 struct nes_ib_device *nesibdev;
2551 struct ib_mr *ibmr = NULL;
2552 struct ib_phys_buf ibphysbuf;
2553 struct nes_pd *nespd;
2554
2555
2546 2556
2547 ibqp = nes_get_qp(cm_id->device, conn_param->qpn); 2557 ibqp = nes_get_qp(cm_id->device, conn_param->qpn);
2548 if (!ibqp) 2558 if (!ibqp)
@@ -2601,6 +2611,26 @@ int nes_accept(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param)
2601 if (cm_id->remote_addr.sin_addr.s_addr != 2611 if (cm_id->remote_addr.sin_addr.s_addr !=
2602 cm_id->local_addr.sin_addr.s_addr) { 2612 cm_id->local_addr.sin_addr.s_addr) {
2603 u64temp = (unsigned long)nesqp; 2613 u64temp = (unsigned long)nesqp;
2614 nesibdev = nesvnic->nesibdev;
2615 nespd = nesqp->nespd;
2616 ibphysbuf.addr = nesqp->ietf_frame_pbase;
2617 ibphysbuf.size = conn_param->private_data_len +
2618 sizeof(struct ietf_mpa_frame);
2619 ibmr = nesibdev->ibdev.reg_phys_mr((struct ib_pd *)nespd,
2620 &ibphysbuf, 1,
2621 IB_ACCESS_LOCAL_WRITE,
2622 (u64 *)&nesqp->ietf_frame);
2623 if (!ibmr) {
2624 nes_debug(NES_DBG_CM, "Unable to register memory region"
2625 "for lSMM for cm_node = %p \n",
2626 cm_node);
2627 return -ENOMEM;
2628 }
2629
2630 ibmr->pd = &nespd->ibpd;
2631 ibmr->device = nespd->ibpd.device;
2632 nesqp->lsmm_mr = ibmr;
2633
2604 u64temp |= NES_SW_CONTEXT_ALIGN>>1; 2634 u64temp |= NES_SW_CONTEXT_ALIGN>>1;
2605 set_wqe_64bit_value(wqe->wqe_words, 2635 set_wqe_64bit_value(wqe->wqe_words,
2606 NES_IWARP_SQ_WQE_COMP_CTX_LOW_IDX, 2636 NES_IWARP_SQ_WQE_COMP_CTX_LOW_IDX,
@@ -2611,14 +2641,13 @@ int nes_accept(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param)
2611 wqe->wqe_words[NES_IWARP_SQ_WQE_TOTAL_PAYLOAD_IDX] = 2641 wqe->wqe_words[NES_IWARP_SQ_WQE_TOTAL_PAYLOAD_IDX] =
2612 cpu_to_le32(conn_param->private_data_len + 2642 cpu_to_le32(conn_param->private_data_len +
2613 sizeof(struct ietf_mpa_frame)); 2643 sizeof(struct ietf_mpa_frame));
2614 wqe->wqe_words[NES_IWARP_SQ_WQE_FRAG0_LOW_IDX] = 2644 set_wqe_64bit_value(wqe->wqe_words,
2615 cpu_to_le32((u32)nesqp->ietf_frame_pbase); 2645 NES_IWARP_SQ_WQE_FRAG0_LOW_IDX,
2616 wqe->wqe_words[NES_IWARP_SQ_WQE_FRAG0_HIGH_IDX] = 2646 (u64)nesqp->ietf_frame);
2617 cpu_to_le32((u32)((u64)nesqp->ietf_frame_pbase >> 32));
2618 wqe->wqe_words[NES_IWARP_SQ_WQE_LENGTH0_IDX] = 2647 wqe->wqe_words[NES_IWARP_SQ_WQE_LENGTH0_IDX] =
2619 cpu_to_le32(conn_param->private_data_len + 2648 cpu_to_le32(conn_param->private_data_len +
2620 sizeof(struct ietf_mpa_frame)); 2649 sizeof(struct ietf_mpa_frame));
2621 wqe->wqe_words[NES_IWARP_SQ_WQE_STAG0_IDX] = 0; 2650 wqe->wqe_words[NES_IWARP_SQ_WQE_STAG0_IDX] = ibmr->lkey;
2622 2651
2623 nesqp->nesqp_context->ird_ord_sizes |= 2652 nesqp->nesqp_context->ird_ord_sizes |=
2624 cpu_to_le32(NES_QPCONTEXT_ORDIRD_LSMM_PRESENT | 2653 cpu_to_le32(NES_QPCONTEXT_ORDIRD_LSMM_PRESENT |
diff --git a/drivers/infiniband/hw/nes/nes_verbs.c b/drivers/infiniband/hw/nes/nes_verbs.c
index 4fdb72454f94..d93a6562817c 100644
--- a/drivers/infiniband/hw/nes/nes_verbs.c
+++ b/drivers/infiniband/hw/nes/nes_verbs.c
@@ -1360,8 +1360,10 @@ static struct ib_qp *nes_create_qp(struct ib_pd *ibpd,
1360 NES_QPCONTEXT_MISC_RQ_SIZE_SHIFT); 1360 NES_QPCONTEXT_MISC_RQ_SIZE_SHIFT);
1361 nesqp->nesqp_context->misc |= cpu_to_le32((u32)nesqp->hwqp.sq_encoded_size << 1361 nesqp->nesqp_context->misc |= cpu_to_le32((u32)nesqp->hwqp.sq_encoded_size <<
1362 NES_QPCONTEXT_MISC_SQ_SIZE_SHIFT); 1362 NES_QPCONTEXT_MISC_SQ_SIZE_SHIFT);
1363 if (!udata) {
1363 nesqp->nesqp_context->misc |= cpu_to_le32(NES_QPCONTEXT_MISC_PRIV_EN); 1364 nesqp->nesqp_context->misc |= cpu_to_le32(NES_QPCONTEXT_MISC_PRIV_EN);
1364 nesqp->nesqp_context->misc |= cpu_to_le32(NES_QPCONTEXT_MISC_FAST_REGISTER_EN); 1365 nesqp->nesqp_context->misc |= cpu_to_le32(NES_QPCONTEXT_MISC_FAST_REGISTER_EN);
1366 }
1365 nesqp->nesqp_context->cqs = cpu_to_le32(nesqp->nesscq->hw_cq.cq_number + 1367 nesqp->nesqp_context->cqs = cpu_to_le32(nesqp->nesscq->hw_cq.cq_number +
1366 ((u32)nesqp->nesrcq->hw_cq.cq_number << 16)); 1368 ((u32)nesqp->nesrcq->hw_cq.cq_number << 16));
1367 u64temp = (u64)nesqp->hwqp.sq_pbase; 1369 u64temp = (u64)nesqp->hwqp.sq_pbase;
diff --git a/drivers/infiniband/hw/nes/nes_verbs.h b/drivers/infiniband/hw/nes/nes_verbs.h
index 6c6b4da5184f..ae0ca9bc83bd 100644
--- a/drivers/infiniband/hw/nes/nes_verbs.h
+++ b/drivers/infiniband/hw/nes/nes_verbs.h
@@ -134,6 +134,7 @@ struct nes_qp {
134 struct ietf_mpa_frame *ietf_frame; 134 struct ietf_mpa_frame *ietf_frame;
135 dma_addr_t ietf_frame_pbase; 135 dma_addr_t ietf_frame_pbase;
136 wait_queue_head_t state_waitq; 136 wait_queue_head_t state_waitq;
137 struct ib_mr *lsmm_mr;
137 unsigned long socket; 138 unsigned long socket;
138 struct nes_hw_qp hwqp; 139 struct nes_hw_qp hwqp;
139 struct work_struct work; 140 struct work_struct work;
diff --git a/drivers/lguest/lguest_device.c b/drivers/lguest/lguest_device.c
index b4d44e571d76..8132533d71f9 100644
--- a/drivers/lguest/lguest_device.c
+++ b/drivers/lguest/lguest_device.c
@@ -212,6 +212,9 @@ static void lg_notify(struct virtqueue *vq)
212 hcall(LHCALL_NOTIFY, lvq->config.pfn << PAGE_SHIFT, 0, 0); 212 hcall(LHCALL_NOTIFY, lvq->config.pfn << PAGE_SHIFT, 0, 0);
213} 213}
214 214
215/* An extern declaration inside a C file is bad form. Don't do it. */
216extern void lguest_setup_irq(unsigned int irq);
217
215/* This routine finds the first virtqueue described in the configuration of 218/* This routine finds the first virtqueue described in the configuration of
216 * this device and sets it up. 219 * this device and sets it up.
217 * 220 *
@@ -266,6 +269,9 @@ static struct virtqueue *lg_find_vq(struct virtio_device *vdev,
266 goto unmap; 269 goto unmap;
267 } 270 }
268 271
272 /* Make sure the interrupt is allocated. */
273 lguest_setup_irq(lvq->config.irq);
274
269 /* Tell the interrupt for this virtqueue to go to the virtio_ring 275 /* Tell the interrupt for this virtqueue to go to the virtio_ring
270 * interrupt handler. */ 276 * interrupt handler. */
271 /* FIXME: We used to have a flag for the Host to tell us we could use 277 /* FIXME: We used to have a flag for the Host to tell us we could use
diff --git a/drivers/md/md.c b/drivers/md/md.c
index 03b4cd0a6344..a307f87eb90e 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -214,12 +214,7 @@ static inline mddev_t *mddev_get(mddev_t *mddev)
214 return mddev; 214 return mddev;
215} 215}
216 216
217static void mddev_delayed_delete(struct work_struct *ws) 217static void mddev_delayed_delete(struct work_struct *ws);
218{
219 mddev_t *mddev = container_of(ws, mddev_t, del_work);
220 kobject_del(&mddev->kobj);
221 kobject_put(&mddev->kobj);
222}
223 218
224static void mddev_put(mddev_t *mddev) 219static void mddev_put(mddev_t *mddev)
225{ 220{
@@ -3542,6 +3537,21 @@ static struct kobj_type md_ktype = {
3542 3537
3543int mdp_major = 0; 3538int mdp_major = 0;
3544 3539
3540static void mddev_delayed_delete(struct work_struct *ws)
3541{
3542 mddev_t *mddev = container_of(ws, mddev_t, del_work);
3543
3544 if (mddev->private == &md_redundancy_group) {
3545 sysfs_remove_group(&mddev->kobj, &md_redundancy_group);
3546 if (mddev->sysfs_action)
3547 sysfs_put(mddev->sysfs_action);
3548 mddev->sysfs_action = NULL;
3549 mddev->private = NULL;
3550 }
3551 kobject_del(&mddev->kobj);
3552 kobject_put(&mddev->kobj);
3553}
3554
3545static int md_alloc(dev_t dev, char *name) 3555static int md_alloc(dev_t dev, char *name)
3546{ 3556{
3547 static DEFINE_MUTEX(disks_mutex); 3557 static DEFINE_MUTEX(disks_mutex);
@@ -4033,13 +4043,9 @@ static int do_md_stop(mddev_t * mddev, int mode, int is_open)
4033 mddev->queue->merge_bvec_fn = NULL; 4043 mddev->queue->merge_bvec_fn = NULL;
4034 mddev->queue->unplug_fn = NULL; 4044 mddev->queue->unplug_fn = NULL;
4035 mddev->queue->backing_dev_info.congested_fn = NULL; 4045 mddev->queue->backing_dev_info.congested_fn = NULL;
4036 if (mddev->pers->sync_request) {
4037 sysfs_remove_group(&mddev->kobj, &md_redundancy_group);
4038 if (mddev->sysfs_action)
4039 sysfs_put(mddev->sysfs_action);
4040 mddev->sysfs_action = NULL;
4041 }
4042 module_put(mddev->pers->owner); 4046 module_put(mddev->pers->owner);
4047 if (mddev->pers->sync_request)
4048 mddev->private = &md_redundancy_group;
4043 mddev->pers = NULL; 4049 mddev->pers = NULL;
4044 /* tell userspace to handle 'inactive' */ 4050 /* tell userspace to handle 'inactive' */
4045 sysfs_notify_dirent(mddev->sysfs_state); 4051 sysfs_notify_dirent(mddev->sysfs_state);
diff --git a/drivers/media/dvb/bt8xx/dst.c b/drivers/media/dvb/bt8xx/dst.c
index 29e8f1546ab6..fec1d77fa855 100644
--- a/drivers/media/dvb/bt8xx/dst.c
+++ b/drivers/media/dvb/bt8xx/dst.c
@@ -1683,7 +1683,7 @@ static int dst_tune_frontend(struct dvb_frontend* fe,
1683 1683
1684static int dst_get_tuning_algo(struct dvb_frontend *fe) 1684static int dst_get_tuning_algo(struct dvb_frontend *fe)
1685{ 1685{
1686 return dst_algo; 1686 return dst_algo ? DVBFE_ALGO_HW : DVBFE_ALGO_SW;
1687} 1687}
1688 1688
1689static int dst_get_frontend(struct dvb_frontend *fe, struct dvb_frontend_parameters *p) 1689static int dst_get_frontend(struct dvb_frontend *fe, struct dvb_frontend_parameters *p)
diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.c b/drivers/media/dvb/dvb-core/dvb_frontend.c
index 843407785083..8dcb3fbf7acd 100644
--- a/drivers/media/dvb/dvb-core/dvb_frontend.c
+++ b/drivers/media/dvb/dvb-core/dvb_frontend.c
@@ -1290,9 +1290,6 @@ static int dtv_property_process_set(struct dvb_frontend *fe,
1290 dprintk("%s() Finalised property cache\n", __func__); 1290 dprintk("%s() Finalised property cache\n", __func__);
1291 dtv_property_cache_submit(fe); 1291 dtv_property_cache_submit(fe);
1292 1292
1293 /* Request the search algorithm to search */
1294 fepriv->algo_status |= DVBFE_ALGO_SEARCH_AGAIN;
1295
1296 r |= dvb_frontend_ioctl_legacy(inode, file, FE_SET_FRONTEND, 1293 r |= dvb_frontend_ioctl_legacy(inode, file, FE_SET_FRONTEND,
1297 &fepriv->parameters); 1294 &fepriv->parameters);
1298 break; 1295 break;
@@ -1717,6 +1714,10 @@ static int dvb_frontend_ioctl_legacy(struct inode *inode, struct file *file,
1717 fepriv->min_delay = (dvb_override_tune_delay * HZ) / 1000; 1714 fepriv->min_delay = (dvb_override_tune_delay * HZ) / 1000;
1718 1715
1719 fepriv->state = FESTATE_RETUNE; 1716 fepriv->state = FESTATE_RETUNE;
1717
1718 /* Request the search algorithm to search */
1719 fepriv->algo_status |= DVBFE_ALGO_SEARCH_AGAIN;
1720
1720 dvb_frontend_wakeup(fe); 1721 dvb_frontend_wakeup(fe);
1721 dvb_frontend_add_event(fe, 0); 1722 dvb_frontend_add_event(fe, 0);
1722 fepriv->status = 0; 1723 fepriv->status = 0;
diff --git a/drivers/media/dvb/frontends/stb0899_algo.c b/drivers/media/dvb/frontends/stb0899_algo.c
index a67d1775a43c..2da55ec20392 100644
--- a/drivers/media/dvb/frontends/stb0899_algo.c
+++ b/drivers/media/dvb/frontends/stb0899_algo.c
@@ -156,7 +156,7 @@ static void stb0899_first_subrange(struct stb0899_state *state)
156 } 156 }
157 157
158 if (range > 0) 158 if (range > 0)
159 internal->sub_range = MIN(internal->srch_range, range); 159 internal->sub_range = min(internal->srch_range, range);
160 else 160 else
161 internal->sub_range = 0; 161 internal->sub_range = 0;
162 162
@@ -185,7 +185,7 @@ static enum stb0899_status stb0899_check_tmg(struct stb0899_state *state)
185 timing = stb0899_read_reg(state, STB0899_RTF); 185 timing = stb0899_read_reg(state, STB0899_RTF);
186 186
187 if (lock >= 42) { 187 if (lock >= 42) {
188 if ((lock > 48) && (ABS(timing) >= 110)) { 188 if ((lock > 48) && (abs(timing) >= 110)) {
189 internal->status = ANALOGCARRIER; 189 internal->status = ANALOGCARRIER;
190 dprintk(state->verbose, FE_DEBUG, 1, "-->ANALOG Carrier !"); 190 dprintk(state->verbose, FE_DEBUG, 1, "-->ANALOG Carrier !");
191 } else { 191 } else {
@@ -222,7 +222,7 @@ static enum stb0899_status stb0899_search_tmg(struct stb0899_state *state)
222 index++; 222 index++;
223 derot_freq += index * internal->direction * derot_step; /* next derot zig zag position */ 223 derot_freq += index * internal->direction * derot_step; /* next derot zig zag position */
224 224
225 if (ABS(derot_freq) > derot_limit) 225 if (abs(derot_freq) > derot_limit)
226 next_loop--; 226 next_loop--;
227 227
228 if (next_loop) { 228 if (next_loop) {
@@ -298,7 +298,7 @@ static enum stb0899_status stb0899_search_carrier(struct stb0899_state *state)
298 last_derot_freq = derot_freq; 298 last_derot_freq = derot_freq;
299 derot_freq += index * internal->direction * internal->derot_step; /* next zig zag derotator position */ 299 derot_freq += index * internal->direction * internal->derot_step; /* next zig zag derotator position */
300 300
301 if(ABS(derot_freq) > derot_limit) 301 if(abs(derot_freq) > derot_limit)
302 next_loop--; 302 next_loop--;
303 303
304 if (next_loop) { 304 if (next_loop) {
@@ -400,7 +400,7 @@ static enum stb0899_status stb0899_search_data(struct stb0899_state *state)
400 if ((internal->status != CARRIEROK) || (stb0899_check_data(state) != DATAOK)) { 400 if ((internal->status != CARRIEROK) || (stb0899_check_data(state) != DATAOK)) {
401 401
402 derot_freq += index * internal->direction * derot_step; /* next zig zag derotator position */ 402 derot_freq += index * internal->direction * derot_step; /* next zig zag derotator position */
403 if (ABS(derot_freq) > derot_limit) 403 if (abs(derot_freq) > derot_limit)
404 next_loop--; 404 next_loop--;
405 405
406 if (next_loop) { 406 if (next_loop) {
@@ -467,7 +467,7 @@ static void next_sub_range(struct stb0899_state *state)
467 467
468 if (internal->sub_dir > 0) { 468 if (internal->sub_dir > 0) {
469 old_sub_range = internal->sub_range; 469 old_sub_range = internal->sub_range;
470 internal->sub_range = MIN((internal->srch_range / 2) - 470 internal->sub_range = min((internal->srch_range / 2) -
471 (internal->tuner_offst + internal->sub_range / 2), 471 (internal->tuner_offst + internal->sub_range / 2),
472 internal->sub_range); 472 internal->sub_range);
473 473
@@ -771,7 +771,7 @@ static long Log2Int(int number)
771 int i; 771 int i;
772 772
773 i = 0; 773 i = 0;
774 while ((1 << i) <= ABS(number)) 774 while ((1 << i) <= abs(number))
775 i++; 775 i++;
776 776
777 if (number == 0) 777 if (number == 0)
diff --git a/drivers/media/dvb/frontends/stb0899_drv.c b/drivers/media/dvb/frontends/stb0899_drv.c
index 10613acf18f5..a04c782fff8d 100644
--- a/drivers/media/dvb/frontends/stb0899_drv.c
+++ b/drivers/media/dvb/frontends/stb0899_drv.c
@@ -794,7 +794,7 @@ static int stb0899_send_diseqc_burst(struct dvb_frontend *fe, fe_sec_mini_cmd_t
794 reg = stb0899_read_reg(state, STB0899_DISCNTRL1); 794 reg = stb0899_read_reg(state, STB0899_DISCNTRL1);
795 old_state = reg; 795 old_state = reg;
796 /* set to burst mode */ 796 /* set to burst mode */
797 STB0899_SETFIELD_VAL(DISEQCMODE, reg, 0x02); 797 STB0899_SETFIELD_VAL(DISEQCMODE, reg, 0x03);
798 STB0899_SETFIELD_VAL(DISPRECHARGE, reg, 0x01); 798 STB0899_SETFIELD_VAL(DISPRECHARGE, reg, 0x01);
799 stb0899_write_reg(state, STB0899_DISCNTRL1, reg); 799 stb0899_write_reg(state, STB0899_DISCNTRL1, reg);
800 switch (burst) { 800 switch (burst) {
diff --git a/drivers/media/dvb/frontends/stb0899_priv.h b/drivers/media/dvb/frontends/stb0899_priv.h
index 24619e3689db..82395b912815 100644
--- a/drivers/media/dvb/frontends/stb0899_priv.h
+++ b/drivers/media/dvb/frontends/stb0899_priv.h
@@ -59,10 +59,6 @@
59#define MAKEWORD32(a, b, c, d) (((a) << 24) | ((b) << 16) | ((c) << 8) | (d)) 59#define MAKEWORD32(a, b, c, d) (((a) << 24) | ((b) << 16) | ((c) << 8) | (d))
60#define MAKEWORD16(a, b) (((a) << 8) | (b)) 60#define MAKEWORD16(a, b) (((a) << 8) | (b))
61 61
62#define MIN(x, y) ((x) <= (y) ? (x) : (y))
63#define MAX(x, y) ((x) >= (y) ? (x) : (y))
64#define ABS(x) ((x) >= 0 ? (x) : -(x))
65
66#define LSB(x) ((x & 0xff)) 62#define LSB(x) ((x & 0xff))
67#define MSB(y) ((y >> 8) & 0xff) 63#define MSB(y) ((y >> 8) & 0xff)
68 64
@@ -168,10 +164,10 @@ struct stb0899_internal {
168 u32 freq; /* Demod internal Frequency */ 164 u32 freq; /* Demod internal Frequency */
169 u32 srate; /* Demod internal Symbol rate */ 165 u32 srate; /* Demod internal Symbol rate */
170 enum stb0899_fec fecrate; /* Demod internal FEC rate */ 166 enum stb0899_fec fecrate; /* Demod internal FEC rate */
171 u32 srch_range; /* Demod internal Search Range */ 167 s32 srch_range; /* Demod internal Search Range */
172 u32 sub_range; /* Demod current sub range (Hz) */ 168 s32 sub_range; /* Demod current sub range (Hz) */
173 u32 tuner_step; /* Tuner step (Hz) */ 169 s32 tuner_step; /* Tuner step (Hz) */
174 u32 tuner_offst; /* Relative offset to carrier (Hz) */ 170 s32 tuner_offst; /* Relative offset to carrier (Hz) */
175 u32 tuner_bw; /* Current bandwidth of the tuner (Hz) */ 171 u32 tuner_bw; /* Current bandwidth of the tuner (Hz) */
176 172
177 s32 mclk; /* Masterclock Divider factor (binary) */ 173 s32 mclk; /* Masterclock Divider factor (binary) */
diff --git a/drivers/media/dvb/frontends/stb6100.c b/drivers/media/dvb/frontends/stb6100.c
index ff39275ab49c..1ed5a7db4c5e 100644
--- a/drivers/media/dvb/frontends/stb6100.c
+++ b/drivers/media/dvb/frontends/stb6100.c
@@ -427,11 +427,11 @@ static int stb6100_init(struct dvb_frontend *fe)
427 status->refclock = 27000000; /* Hz */ 427 status->refclock = 27000000; /* Hz */
428 status->iqsense = 1; 428 status->iqsense = 1;
429 status->bandwidth = 36000; /* kHz */ 429 status->bandwidth = 36000; /* kHz */
430 state->bandwidth = status->bandwidth * 1000; /* MHz */ 430 state->bandwidth = status->bandwidth * 1000; /* Hz */
431 state->reference = status->refclock / 1000; /* kHz */ 431 state->reference = status->refclock / 1000; /* kHz */
432 432
433 /* Set default bandwidth. */ 433 /* Set default bandwidth. */
434 return stb6100_set_bandwidth(fe, status->bandwidth); 434 return stb6100_set_bandwidth(fe, state->bandwidth);
435} 435}
436 436
437static int stb6100_get_state(struct dvb_frontend *fe, 437static int stb6100_get_state(struct dvb_frontend *fe,
diff --git a/drivers/media/dvb/frontends/zl10353.c b/drivers/media/dvb/frontends/zl10353.c
index 170720b02815..b150ed306696 100644
--- a/drivers/media/dvb/frontends/zl10353.c
+++ b/drivers/media/dvb/frontends/zl10353.c
@@ -590,7 +590,7 @@ static int zl10353_i2c_gate_ctrl(struct dvb_frontend* fe, int enable)
590 struct zl10353_state *state = fe->demodulator_priv; 590 struct zl10353_state *state = fe->demodulator_priv;
591 u8 val = 0x0a; 591 u8 val = 0x0a;
592 592
593 if (state->config.no_tuner) { 593 if (state->config.disable_i2c_gate_ctrl) {
594 /* No tuner attached to the internal I2C bus */ 594 /* No tuner attached to the internal I2C bus */
595 /* If set enable I2C bridge, the main I2C bus stopped hardly */ 595 /* If set enable I2C bridge, the main I2C bus stopped hardly */
596 return 0; 596 return 0;
diff --git a/drivers/media/dvb/frontends/zl10353.h b/drivers/media/dvb/frontends/zl10353.h
index fdbb88ff75fe..2287bac46243 100644
--- a/drivers/media/dvb/frontends/zl10353.h
+++ b/drivers/media/dvb/frontends/zl10353.h
@@ -38,6 +38,9 @@ struct zl10353_config
38 38
39 /* set if parallel ts output is required */ 39 /* set if parallel ts output is required */
40 int parallel_ts; 40 int parallel_ts;
41
42 /* set if i2c_gate_ctrl disable is required */
43 u8 disable_i2c_gate_ctrl:1;
41}; 44};
42 45
43#if defined(CONFIG_DVB_ZL10353) || (defined(CONFIG_DVB_ZL10353_MODULE) && defined(MODULE)) 46#if defined(CONFIG_DVB_ZL10353) || (defined(CONFIG_DVB_ZL10353_MODULE) && defined(MODULE))
diff --git a/drivers/media/video/gspca/m5602/m5602_s5k4aa.c b/drivers/media/video/gspca/m5602/m5602_s5k4aa.c
index e564a61a72d7..48892b5715d5 100644
--- a/drivers/media/video/gspca/m5602/m5602_s5k4aa.c
+++ b/drivers/media/video/gspca/m5602/m5602_s5k4aa.c
@@ -102,7 +102,11 @@ int s5k4aa_probe(struct sd *sd)
102 } 102 }
103 103
104 /* Test some registers, but we don't know their exact meaning yet */ 104 /* Test some registers, but we don't know their exact meaning yet */
105 if (m5602_read_sensor(sd, 0x00, prod_id, sizeof(prod_id))) 105 if (m5602_read_sensor(sd, 0x00, prod_id, 2))
106 return -ENODEV;
107 if (m5602_read_sensor(sd, 0x02, prod_id+2, 2))
108 return -ENODEV;
109 if (m5602_read_sensor(sd, 0x04, prod_id+4, 2))
106 return -ENODEV; 110 return -ENODEV;
107 111
108 if (memcmp(prod_id, expected_prod_id, sizeof(prod_id))) 112 if (memcmp(prod_id, expected_prod_id, sizeof(prod_id)))
diff --git a/drivers/media/video/saa7134/saa7134-dvb.c b/drivers/media/video/saa7134/saa7134-dvb.c
index 0776ecf56d27..b5370b3e1a3d 100644
--- a/drivers/media/video/saa7134/saa7134-dvb.c
+++ b/drivers/media/video/saa7134/saa7134-dvb.c
@@ -860,6 +860,7 @@ static struct zl10353_config behold_h6_config = {
860 .demod_address = 0x1e>>1, 860 .demod_address = 0x1e>>1,
861 .no_tuner = 1, 861 .no_tuner = 1,
862 .parallel_ts = 1, 862 .parallel_ts = 1,
863 .disable_i2c_gate_ctrl = 1,
863}; 864};
864 865
865/* ================================================================== 866/* ==================================================================
diff --git a/drivers/media/video/tvaudio.c b/drivers/media/video/tvaudio.c
index 5aeccb301cea..076ed5bf48b1 100644
--- a/drivers/media/video/tvaudio.c
+++ b/drivers/media/video/tvaudio.c
@@ -54,7 +54,7 @@ MODULE_LICENSE("GPL");
54/* ---------------------------------------------------------------------- */ 54/* ---------------------------------------------------------------------- */
55/* our structs */ 55/* our structs */
56 56
57#define MAXREGS 64 57#define MAXREGS 256
58 58
59struct CHIPSTATE; 59struct CHIPSTATE;
60typedef int (*getvalue)(int); 60typedef int (*getvalue)(int);
diff --git a/drivers/media/video/zoran/Kconfig b/drivers/media/video/zoran/Kconfig
index 4ea5fa71de89..8666e19f31a7 100644
--- a/drivers/media/video/zoran/Kconfig
+++ b/drivers/media/video/zoran/Kconfig
@@ -68,6 +68,7 @@ config VIDEO_ZORAN_AVS6EYES
68 tristate "AverMedia 6 Eyes support (EXPERIMENTAL)" 68 tristate "AverMedia 6 Eyes support (EXPERIMENTAL)"
69 depends on VIDEO_ZORAN_ZR36060 && EXPERIMENTAL && VIDEO_V4L1 69 depends on VIDEO_ZORAN_ZR36060 && EXPERIMENTAL && VIDEO_V4L1
70 select VIDEO_BT856 if VIDEO_HELPER_CHIPS_AUTO 70 select VIDEO_BT856 if VIDEO_HELPER_CHIPS_AUTO
71 select VIDEO_BT866 if VIDEO_HELPER_CHIPS_AUTO
71 select VIDEO_KS0127 if VIDEO_HELPER_CHIPS_AUTO 72 select VIDEO_KS0127 if VIDEO_HELPER_CHIPS_AUTO
72 help 73 help
73 Support for the AverMedia 6 Eyes video surveillance card. 74 Support for the AverMedia 6 Eyes video surveillance card.
diff --git a/drivers/mfd/wm8350-core.c b/drivers/mfd/wm8350-core.c
index 84d5ea1ec171..b457a05b28d9 100644
--- a/drivers/mfd/wm8350-core.c
+++ b/drivers/mfd/wm8350-core.c
@@ -1383,6 +1383,11 @@ int wm8350_device_init(struct wm8350 *wm8350, int irq,
1383 wm8350->power.rev_g_coeff = 1; 1383 wm8350->power.rev_g_coeff = 1;
1384 break; 1384 break;
1385 1385
1386 case 1:
1387 dev_info(wm8350->dev, "WM8351 Rev B\n");
1388 wm8350->power.rev_g_coeff = 1;
1389 break;
1390
1386 default: 1391 default:
1387 dev_err(wm8350->dev, "Unknown WM8351 CHIP_REV\n"); 1392 dev_err(wm8350->dev, "Unknown WM8351 CHIP_REV\n");
1388 ret = -ENODEV; 1393 ret = -ENODEV;
diff --git a/drivers/mmc/core/mmc_ops.c b/drivers/mmc/core/mmc_ops.c
index 9c50e6f1c236..34ce2703d29a 100644
--- a/drivers/mmc/core/mmc_ops.c
+++ b/drivers/mmc/core/mmc_ops.c
@@ -248,12 +248,15 @@ mmc_send_cxd_data(struct mmc_card *card, struct mmc_host *host,
248 248
249 sg_init_one(&sg, data_buf, len); 249 sg_init_one(&sg, data_buf, len);
250 250
251 /* 251 if (opcode == MMC_SEND_CSD || opcode == MMC_SEND_CID) {
252 * The spec states that CSR and CID accesses have a timeout 252 /*
253 * of 64 clock cycles. 253 * The spec states that CSR and CID accesses have a timeout
254 */ 254 * of 64 clock cycles.
255 data.timeout_ns = 0; 255 */
256 data.timeout_clks = 64; 256 data.timeout_ns = 0;
257 data.timeout_clks = 64;
258 } else
259 mmc_set_data_timeout(&data, card);
257 260
258 mmc_wait_for_req(host, &mrq); 261 mmc_wait_for_req(host, &mrq);
259 262
diff --git a/drivers/mmc/host/s3cmci.c b/drivers/mmc/host/s3cmci.c
index f4a67c65d301..2db166b7096f 100644
--- a/drivers/mmc/host/s3cmci.c
+++ b/drivers/mmc/host/s3cmci.c
@@ -793,8 +793,7 @@ static void s3cmci_dma_setup(struct s3cmci_host *host,
793 host->mem->start + host->sdidata); 793 host->mem->start + host->sdidata);
794 794
795 if (!setup_ok) { 795 if (!setup_ok) {
796 s3c2410_dma_config(host->dma, 4, 796 s3c2410_dma_config(host->dma, 4, 0);
797 (S3C2410_DCON_HWTRIG | S3C2410_DCON_CH0_SDI));
798 s3c2410_dma_set_buffdone_fn(host->dma, 797 s3c2410_dma_set_buffdone_fn(host->dma,
799 s3cmci_dma_done_callback); 798 s3cmci_dma_done_callback);
800 s3c2410_dma_setflags(host->dma, S3C2410_DMAF_AUTOSTART); 799 s3c2410_dma_setflags(host->dma, S3C2410_DMAF_AUTOSTART);
diff --git a/drivers/mtd/devices/mtd_dataflash.c b/drivers/mtd/devices/mtd_dataflash.c
index d44f741ae229..6d9f810565c8 100644
--- a/drivers/mtd/devices/mtd_dataflash.c
+++ b/drivers/mtd/devices/mtd_dataflash.c
@@ -821,7 +821,8 @@ static struct flash_info *__devinit jedec_probe(struct spi_device *spi)
821 if (!(info->flags & IS_POW2PS)) 821 if (!(info->flags & IS_POW2PS))
822 return info; 822 return info;
823 } 823 }
824 } 824 } else
825 return info;
825 } 826 }
826 } 827 }
827 828
diff --git a/drivers/mtd/maps/physmap.c b/drivers/mtd/maps/physmap.c
index 4b122e7ab4b3..229718222db7 100644
--- a/drivers/mtd/maps/physmap.c
+++ b/drivers/mtd/maps/physmap.c
@@ -46,16 +46,19 @@ static int physmap_flash_remove(struct platform_device *dev)
46 46
47 physmap_data = dev->dev.platform_data; 47 physmap_data = dev->dev.platform_data;
48 48
49 if (info->cmtd) {
49#ifdef CONFIG_MTD_PARTITIONS 50#ifdef CONFIG_MTD_PARTITIONS
50 if (info->nr_parts) { 51 if (info->nr_parts || physmap_data->nr_parts)
51 del_mtd_partitions(info->cmtd); 52 del_mtd_partitions(info->cmtd);
52 kfree(info->parts); 53 else
53 } else if (physmap_data->nr_parts) 54 del_mtd_device(info->cmtd);
54 del_mtd_partitions(info->cmtd);
55 else
56 del_mtd_device(info->cmtd);
57#else 55#else
58 del_mtd_device(info->cmtd); 56 del_mtd_device(info->cmtd);
57#endif
58 }
59#ifdef CONFIG_MTD_PARTITIONS
60 if (info->nr_parts)
61 kfree(info->parts);
59#endif 62#endif
60 63
61#ifdef CONFIG_MTD_CONCAT 64#ifdef CONFIG_MTD_CONCAT
diff --git a/drivers/net/sunhme.c b/drivers/net/sunhme.c
index d4fb4acdbebd..4e9bd380a5c2 100644
--- a/drivers/net/sunhme.c
+++ b/drivers/net/sunhme.c
@@ -2649,8 +2649,6 @@ static int __devinit happy_meal_sbus_probe_one(struct of_device *op, int is_qfe)
2649 int err = -ENODEV; 2649 int err = -ENODEV;
2650 2650
2651 sbus_dp = to_of_device(op->dev.parent)->node; 2651 sbus_dp = to_of_device(op->dev.parent)->node;
2652 if (is_qfe)
2653 sbus_dp = to_of_device(op->dev.parent->parent)->node;
2654 2652
2655 /* We can match PCI devices too, do not accept those here. */ 2653 /* We can match PCI devices too, do not accept those here. */
2656 if (strcmp(sbus_dp->name, "sbus")) 2654 if (strcmp(sbus_dp->name, "sbus"))
diff --git a/drivers/parisc/dino.c b/drivers/parisc/dino.c
index d539d9df88e7..bb5a1c9597cb 100644
--- a/drivers/parisc/dino.c
+++ b/drivers/parisc/dino.c
@@ -479,7 +479,7 @@ dino_card_setup(struct pci_bus *bus, void __iomem *base_addr)
479 res = &dino_dev->hba.lmmio_space; 479 res = &dino_dev->hba.lmmio_space;
480 res->flags = IORESOURCE_MEM; 480 res->flags = IORESOURCE_MEM;
481 size = scnprintf(name, sizeof(name), "Dino LMMIO (%s)", 481 size = scnprintf(name, sizeof(name), "Dino LMMIO (%s)",
482 bus->bridge->bus_id); 482 dev_name(bus->bridge));
483 res->name = kmalloc(size+1, GFP_KERNEL); 483 res->name = kmalloc(size+1, GFP_KERNEL);
484 if(res->name) 484 if(res->name)
485 strcpy((char *)res->name, name); 485 strcpy((char *)res->name, name);
@@ -493,7 +493,7 @@ dino_card_setup(struct pci_bus *bus, void __iomem *base_addr)
493 struct list_head *ln, *tmp_ln; 493 struct list_head *ln, *tmp_ln;
494 494
495 printk(KERN_ERR "Dino: cannot attach bus %s\n", 495 printk(KERN_ERR "Dino: cannot attach bus %s\n",
496 bus->bridge->bus_id); 496 dev_name(bus->bridge));
497 /* kill the bus, we can't do anything with it */ 497 /* kill the bus, we can't do anything with it */
498 list_for_each_safe(ln, tmp_ln, &bus->devices) { 498 list_for_each_safe(ln, tmp_ln, &bus->devices) {
499 struct pci_dev *dev = pci_dev_b(ln); 499 struct pci_dev *dev = pci_dev_b(ln);
@@ -587,7 +587,7 @@ dino_fixup_bus(struct pci_bus *bus)
587 bus->resource[i+1] = &res[i]; 587 bus->resource[i+1] = &res[i];
588 } 588 }
589 589
590 } else if(bus->self) { 590 } else if (bus->parent) {
591 int i; 591 int i;
592 592
593 pci_read_bridge_bases(bus); 593 pci_read_bridge_bases(bus);
@@ -611,12 +611,12 @@ dino_fixup_bus(struct pci_bus *bus)
611 } 611 }
612 612
613 DBG("DEBUG %s assigning %d [0x%lx,0x%lx]\n", 613 DBG("DEBUG %s assigning %d [0x%lx,0x%lx]\n",
614 bus->self->dev.bus_id, i, 614 dev_name(&bus->self->dev), i,
615 bus->self->resource[i].start, 615 bus->self->resource[i].start,
616 bus->self->resource[i].end); 616 bus->self->resource[i].end);
617 pci_assign_resource(bus->self, i); 617 pci_assign_resource(bus->self, i);
618 DBG("DEBUG %s after assign %d [0x%lx,0x%lx]\n", 618 DBG("DEBUG %s after assign %d [0x%lx,0x%lx]\n",
619 bus->self->dev.bus_id, i, 619 dev_name(&bus->self->dev), i,
620 bus->self->resource[i].start, 620 bus->self->resource[i].start,
621 bus->self->resource[i].end); 621 bus->self->resource[i].end);
622 } 622 }
@@ -1026,7 +1026,8 @@ static int __init dino_probe(struct parisc_device *dev)
1026 dino_current_bus = bus->subordinate + 1; 1026 dino_current_bus = bus->subordinate + 1;
1027 pci_bus_assign_resources(bus); 1027 pci_bus_assign_resources(bus);
1028 } else { 1028 } else {
1029 printk(KERN_ERR "ERROR: failed to scan PCI bus on %s (probably duplicate bus number %d)\n", dev->dev.bus_id, dino_current_bus); 1029 printk(KERN_ERR "ERROR: failed to scan PCI bus on %s (probably duplicate bus number %d)\n",
1030 dev_name(&dev->dev), dino_current_bus);
1030 /* increment the bus number in case of duplicates */ 1031 /* increment the bus number in case of duplicates */
1031 dino_current_bus++; 1032 dino_current_bus++;
1032 } 1033 }
diff --git a/drivers/parisc/gsc.c b/drivers/parisc/gsc.c
index e76db9e4d504..d33632917696 100644
--- a/drivers/parisc/gsc.c
+++ b/drivers/parisc/gsc.c
@@ -186,29 +186,34 @@ void gsc_asic_assign_irq(struct gsc_asic *asic, int local_irq, int *irqp)
186 *irqp = irq; 186 *irqp = irq;
187} 187}
188 188
189static struct device *next_device(struct klist_iter *i) 189struct gsc_fixup_struct {
190 void (*choose_irq)(struct parisc_device *, void *);
191 void *ctrl;
192};
193
194static int gsc_fixup_irqs_callback(struct device *dev, void *data)
190{ 195{
191 struct klist_node * n = klist_next(i); 196 struct parisc_device *padev = to_parisc_device(dev);
192 return n ? container_of(n, struct device, knode_parent) : NULL; 197 struct gsc_fixup_struct *gf = data;
198
199 /* work-around for 715/64 and others which have parent
200 at path [5] and children at path [5/0/x] */
201 if (padev->id.hw_type == HPHW_FAULTY)
202 gsc_fixup_irqs(padev, gf->ctrl, gf->choose_irq);
203 gf->choose_irq(padev, gf->ctrl);
204
205 return 0;
193} 206}
194 207
195void gsc_fixup_irqs(struct parisc_device *parent, void *ctrl, 208void gsc_fixup_irqs(struct parisc_device *parent, void *ctrl,
196 void (*choose_irq)(struct parisc_device *, void *)) 209 void (*choose_irq)(struct parisc_device *, void *))
197{ 210{
198 struct device *dev; 211 struct gsc_fixup_struct data = {
199 struct klist_iter i; 212 .choose_irq = choose_irq,
200 213 .ctrl = ctrl,
201 klist_iter_init(&parent->dev.klist_children, &i); 214 };
202 while ((dev = next_device(&i))) { 215
203 struct parisc_device *padev = to_parisc_device(dev); 216 device_for_each_child(&parent->dev, &data, gsc_fixup_irqs_callback);
204
205 /* work-around for 715/64 and others which have parent
206 at path [5] and children at path [5/0/x] */
207 if (padev->id.hw_type == HPHW_FAULTY)
208 return gsc_fixup_irqs(padev, ctrl, choose_irq);
209 choose_irq(padev, ctrl);
210 }
211 klist_iter_exit(&i);
212} 217}
213 218
214int gsc_common_setup(struct parisc_device *parent, struct gsc_asic *gsc_asic) 219int gsc_common_setup(struct parisc_device *parent, struct gsc_asic *gsc_asic)
diff --git a/drivers/parisc/iosapic.c b/drivers/parisc/iosapic.c
index 0797659ee016..501aaf1f253f 100644
--- a/drivers/parisc/iosapic.c
+++ b/drivers/parisc/iosapic.c
@@ -487,7 +487,7 @@ iosapic_xlate_pin(struct iosapic_info *isi, struct pci_dev *pcidev)
487 } 487 }
488 488
489 /* Check if pcidev behind a PPB */ 489 /* Check if pcidev behind a PPB */
490 if (NULL != pcidev->bus->self) { 490 if (pcidev->bus->parent) {
491 /* Convert pcidev INTR_PIN into something we 491 /* Convert pcidev INTR_PIN into something we
492 ** can lookup in the IRT. 492 ** can lookup in the IRT.
493 */ 493 */
@@ -523,10 +523,9 @@ iosapic_xlate_pin(struct iosapic_info *isi, struct pci_dev *pcidev)
523#endif /* PCI_BRIDGE_FUNCS */ 523#endif /* PCI_BRIDGE_FUNCS */
524 524
525 /* 525 /*
526 ** Locate the host slot the PPB nearest the Host bus 526 * Locate the host slot of the PPB.
527 ** adapter. 527 */
528 */ 528 while (p->parent->parent)
529 while (NULL != p->parent->self)
530 p = p->parent; 529 p = p->parent;
531 530
532 intr_slot = PCI_SLOT(p->self->devfn); 531 intr_slot = PCI_SLOT(p->self->devfn);
@@ -709,11 +708,14 @@ static void iosapic_set_affinity_irq(unsigned int irq,
709 struct vector_info *vi = iosapic_get_vector(irq); 708 struct vector_info *vi = iosapic_get_vector(irq);
710 u32 d0, d1, dummy_d0; 709 u32 d0, d1, dummy_d0;
711 unsigned long flags; 710 unsigned long flags;
711 int dest_cpu;
712 712
713 if (cpu_check_affinity(irq, dest)) 713 dest_cpu = cpu_check_affinity(irq, dest);
714 if (dest_cpu < 0)
714 return; 715 return;
715 716
716 vi->txn_addr = txn_affinity_addr(irq, cpumask_first(dest)); 717 irq_desc[irq].affinity = cpumask_of_cpu(dest_cpu);
718 vi->txn_addr = txn_affinity_addr(irq, dest_cpu);
717 719
718 spin_lock_irqsave(&iosapic_lock, flags); 720 spin_lock_irqsave(&iosapic_lock, flags);
719 /* d1 contains the destination CPU, so only want to set that 721 /* d1 contains the destination CPU, so only want to set that
diff --git a/drivers/parisc/lba_pci.c b/drivers/parisc/lba_pci.c
index d8233de8c75d..59fbbf128365 100644
--- a/drivers/parisc/lba_pci.c
+++ b/drivers/parisc/lba_pci.c
@@ -644,7 +644,7 @@ lba_fixup_bus(struct pci_bus *bus)
644 ** Properly Setup MMIO resources for this bus. 644 ** Properly Setup MMIO resources for this bus.
645 ** pci_alloc_primary_bus() mangles this. 645 ** pci_alloc_primary_bus() mangles this.
646 */ 646 */
647 if (bus->self) { 647 if (bus->parent) {
648 int i; 648 int i;
649 /* PCI-PCI Bridge */ 649 /* PCI-PCI Bridge */
650 pci_read_bridge_bases(bus); 650 pci_read_bridge_bases(bus);
@@ -802,7 +802,7 @@ lba_fixup_bus(struct pci_bus *bus)
802** Can't fixup here anyway....garr... 802** Can't fixup here anyway....garr...
803*/ 803*/
804 if (fbb_enable) { 804 if (fbb_enable) {
805 if (bus->self) { 805 if (bus->parent) {
806 u8 control; 806 u8 control;
807 /* enable on PPB */ 807 /* enable on PPB */
808 (void) pci_read_config_byte(bus->self, PCI_BRIDGE_CONTROL, &control); 808 (void) pci_read_config_byte(bus->self, PCI_BRIDGE_CONTROL, &control);
diff --git a/drivers/parisc/sba_iommu.c b/drivers/parisc/sba_iommu.c
index a70cf16ee1ad..e5999c4cedc8 100644
--- a/drivers/parisc/sba_iommu.c
+++ b/drivers/parisc/sba_iommu.c
@@ -1206,30 +1206,48 @@ sba_alloc_pdir(unsigned int pdir_size)
1206 return (void *) pdir_base; 1206 return (void *) pdir_base;
1207} 1207}
1208 1208
1209static struct device *next_device(struct klist_iter *i) 1209struct ibase_data_struct {
1210 struct ioc *ioc;
1211 int ioc_num;
1212};
1213
1214static int setup_ibase_imask_callback(struct device *dev, void *data)
1210{ 1215{
1211 struct klist_node * n = klist_next(i); 1216 /* lba_set_iregs() is in drivers/parisc/lba_pci.c */
1212 return n ? container_of(n, struct device, knode_parent) : NULL; 1217 extern void lba_set_iregs(struct parisc_device *, u32, u32);
1218 struct parisc_device *lba = to_parisc_device(dev);
1219 struct ibase_data_struct *ibd = data;
1220 int rope_num = (lba->hpa.start >> 13) & 0xf;
1221 if (rope_num >> 3 == ibd->ioc_num)
1222 lba_set_iregs(lba, ibd->ioc->ibase, ibd->ioc->imask);
1223 return 0;
1213} 1224}
1214 1225
1215/* setup Mercury or Elroy IBASE/IMASK registers. */ 1226/* setup Mercury or Elroy IBASE/IMASK registers. */
1216static void 1227static void
1217setup_ibase_imask(struct parisc_device *sba, struct ioc *ioc, int ioc_num) 1228setup_ibase_imask(struct parisc_device *sba, struct ioc *ioc, int ioc_num)
1218{ 1229{
1219 /* lba_set_iregs() is in drivers/parisc/lba_pci.c */ 1230 struct ibase_data_struct ibase_data = {
1220 extern void lba_set_iregs(struct parisc_device *, u32, u32); 1231 .ioc = ioc,
1221 struct device *dev; 1232 .ioc_num = ioc_num,
1222 struct klist_iter i; 1233 };
1223 1234
1224 klist_iter_init(&sba->dev.klist_children, &i); 1235 device_for_each_child(&sba->dev, &ibase_data,
1225 while ((dev = next_device(&i))) { 1236 setup_ibase_imask_callback);
1226 struct parisc_device *lba = to_parisc_device(dev); 1237}
1227 int rope_num = (lba->hpa.start >> 13) & 0xf; 1238
1228 if (rope_num >> 3 == ioc_num) 1239#ifdef SBA_AGP_SUPPORT
1229 lba_set_iregs(lba, ioc->ibase, ioc->imask); 1240static int
1230 } 1241sba_ioc_find_quicksilver(struct device *dev, void *data)
1231 klist_iter_exit(&i); 1242{
1243 int *agp_found = data;
1244 struct parisc_device *lba = to_parisc_device(dev);
1245
1246 if (IS_QUICKSILVER(lba))
1247 *agp_found = 1;
1248 return 0;
1232} 1249}
1250#endif
1233 1251
1234static void 1252static void
1235sba_ioc_init_pluto(struct parisc_device *sba, struct ioc *ioc, int ioc_num) 1253sba_ioc_init_pluto(struct parisc_device *sba, struct ioc *ioc, int ioc_num)
@@ -1332,9 +1350,6 @@ sba_ioc_init_pluto(struct parisc_device *sba, struct ioc *ioc, int ioc_num)
1332 WRITE_REG(ioc->ibase | 31, ioc->ioc_hpa + IOC_PCOM); 1350 WRITE_REG(ioc->ibase | 31, ioc->ioc_hpa + IOC_PCOM);
1333 1351
1334#ifdef SBA_AGP_SUPPORT 1352#ifdef SBA_AGP_SUPPORT
1335{
1336 struct klist_iter i;
1337 struct device *dev = NULL;
1338 1353
1339 /* 1354 /*
1340 ** If an AGP device is present, only use half of the IOV space 1355 ** If an AGP device is present, only use half of the IOV space
@@ -1344,13 +1359,7 @@ sba_ioc_init_pluto(struct parisc_device *sba, struct ioc *ioc, int ioc_num)
1344 ** We program the next pdir index after we stop w/ a key for 1359 ** We program the next pdir index after we stop w/ a key for
1345 ** the GART code to handshake on. 1360 ** the GART code to handshake on.
1346 */ 1361 */
1347 klist_iter_init(&sba->dev.klist_children, &i); 1362 device_for_each_child(&sba->dev, &agp_found, sba_ioc_find_quicksilver);
1348 while ((dev = next_device(&i))) {
1349 struct parisc_device *lba = to_parisc_device(dev);
1350 if (IS_QUICKSILVER(lba))
1351 agp_found = 1;
1352 }
1353 klist_iter_exit(&i);
1354 1363
1355 if (agp_found && sba_reserve_agpgart) { 1364 if (agp_found && sba_reserve_agpgart) {
1356 printk(KERN_INFO "%s: reserving %dMb of IOVA space for agpgart\n", 1365 printk(KERN_INFO "%s: reserving %dMb of IOVA space for agpgart\n",
@@ -1358,9 +1367,7 @@ sba_ioc_init_pluto(struct parisc_device *sba, struct ioc *ioc, int ioc_num)
1358 ioc->pdir_size /= 2; 1367 ioc->pdir_size /= 2;
1359 ioc->pdir_base[PDIR_INDEX(iova_space_size/2)] = SBA_AGPGART_COOKIE; 1368 ioc->pdir_base[PDIR_INDEX(iova_space_size/2)] = SBA_AGPGART_COOKIE;
1360 } 1369 }
1361}
1362#endif /*SBA_AGP_SUPPORT*/ 1370#endif /*SBA_AGP_SUPPORT*/
1363
1364} 1371}
1365 1372
1366static void 1373static void
diff --git a/drivers/pci/hotplug/Kconfig b/drivers/pci/hotplug/Kconfig
index eacfb13998bb..9aa4fe100a0d 100644
--- a/drivers/pci/hotplug/Kconfig
+++ b/drivers/pci/hotplug/Kconfig
@@ -143,7 +143,7 @@ config HOTPLUG_PCI_SHPC
143 143
144config HOTPLUG_PCI_RPA 144config HOTPLUG_PCI_RPA
145 tristate "RPA PCI Hotplug driver" 145 tristate "RPA PCI Hotplug driver"
146 depends on PPC_PSERIES && PPC64 && !HOTPLUG_PCI_FAKE 146 depends on PPC_PSERIES && EEH && !HOTPLUG_PCI_FAKE
147 help 147 help
148 Say Y here if you have a RPA system that supports PCI Hotplug. 148 Say Y here if you have a RPA system that supports PCI Hotplug.
149 149
diff --git a/drivers/pci/pcie/aer/aerdrv_core.c b/drivers/pci/pcie/aer/aerdrv_core.c
index d0c973685868..382575007382 100644
--- a/drivers/pci/pcie/aer/aerdrv_core.c
+++ b/drivers/pci/pcie/aer/aerdrv_core.c
@@ -133,6 +133,9 @@ static void set_downstream_devices_error_reporting(struct pci_dev *dev,
133 bool enable) 133 bool enable)
134{ 134{
135 set_device_error_reporting(dev, &enable); 135 set_device_error_reporting(dev, &enable);
136
137 if (!dev->subordinate)
138 return;
136 pci_walk_bus(dev->subordinate, set_device_error_reporting, &enable); 139 pci_walk_bus(dev->subordinate, set_device_error_reporting, &enable);
137} 140}
138 141
diff --git a/drivers/pci/pcie/portdrv_pci.c b/drivers/pci/pcie/portdrv_pci.c
index 248b4db91552..5ea566e20b37 100644
--- a/drivers/pci/pcie/portdrv_pci.c
+++ b/drivers/pci/pcie/portdrv_pci.c
@@ -103,6 +103,7 @@ static int __devinit pcie_portdrv_probe (struct pci_dev *dev,
103static void pcie_portdrv_remove (struct pci_dev *dev) 103static void pcie_portdrv_remove (struct pci_dev *dev)
104{ 104{
105 pcie_port_device_remove(dev); 105 pcie_port_device_remove(dev);
106 pci_disable_device(dev);
106 kfree(pci_get_drvdata(dev)); 107 kfree(pci_get_drvdata(dev));
107} 108}
108 109
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index f20d55368edb..92b9efe9bcaf 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -23,6 +23,7 @@
23#include <linux/acpi.h> 23#include <linux/acpi.h>
24#include <linux/kallsyms.h> 24#include <linux/kallsyms.h>
25#include <linux/dmi.h> 25#include <linux/dmi.h>
26#include <linux/pci-aspm.h>
26#include "pci.h" 27#include "pci.h"
27 28
28int isa_dma_bridge_buggy; 29int isa_dma_bridge_buggy;
@@ -1749,6 +1750,30 @@ static void __devinit quirk_e100_interrupt(struct pci_dev *dev)
1749} 1750}
1750DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_ANY_ID, quirk_e100_interrupt); 1751DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_ANY_ID, quirk_e100_interrupt);
1751 1752
1753/*
1754 * The 82575 and 82598 may experience data corruption issues when transitioning
1755 * out of L0S. To prevent this we need to disable L0S on the pci-e link
1756 */
1757static void __devinit quirk_disable_aspm_l0s(struct pci_dev *dev)
1758{
1759 dev_info(&dev->dev, "Disabling L0s\n");
1760 pci_disable_link_state(dev, PCIE_LINK_STATE_L0S);
1761}
1762DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x10a7, quirk_disable_aspm_l0s);
1763DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x10a9, quirk_disable_aspm_l0s);
1764DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x10b6, quirk_disable_aspm_l0s);
1765DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x10c6, quirk_disable_aspm_l0s);
1766DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x10c7, quirk_disable_aspm_l0s);
1767DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x10c8, quirk_disable_aspm_l0s);
1768DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x10d6, quirk_disable_aspm_l0s);
1769DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x10db, quirk_disable_aspm_l0s);
1770DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x10dd, quirk_disable_aspm_l0s);
1771DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x10e1, quirk_disable_aspm_l0s);
1772DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x10ec, quirk_disable_aspm_l0s);
1773DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x10f1, quirk_disable_aspm_l0s);
1774DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x10f4, quirk_disable_aspm_l0s);
1775DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x1508, quirk_disable_aspm_l0s);
1776
1752static void __devinit fixup_rev1_53c810(struct pci_dev* dev) 1777static void __devinit fixup_rev1_53c810(struct pci_dev* dev)
1753{ 1778{
1754 /* rev 1 ncr53c810 chips don't set the class at all which means 1779 /* rev 1 ncr53c810 chips don't set the class at all which means
@@ -2097,7 +2122,7 @@ static void __devinit ht_disable_msi_mapping(struct pci_dev *dev)
2097 2122
2098 if (pci_read_config_byte(dev, pos + HT_MSI_FLAGS, 2123 if (pci_read_config_byte(dev, pos + HT_MSI_FLAGS,
2099 &flags) == 0) { 2124 &flags) == 0) {
2100 dev_info(&dev->dev, "Enabling HT MSI Mapping\n"); 2125 dev_info(&dev->dev, "Disabling HT MSI Mapping\n");
2101 2126
2102 pci_write_config_byte(dev, pos + HT_MSI_FLAGS, 2127 pci_write_config_byte(dev, pos + HT_MSI_FLAGS,
2103 flags & ~HT_MSI_FLAGS_ENABLE); 2128 flags & ~HT_MSI_FLAGS_ENABLE);
@@ -2141,6 +2166,10 @@ static void __devinit nv_msi_ht_cap_quirk(struct pci_dev *dev)
2141 int pos; 2166 int pos;
2142 int found; 2167 int found;
2143 2168
2169 /* Enabling HT MSI mapping on this device breaks MCP51 */
2170 if (dev->device == 0x270)
2171 return;
2172
2144 /* check if there is HT MSI cap or enabled on this device */ 2173 /* check if there is HT MSI cap or enabled on this device */
2145 found = ht_check_msi_mapping(dev); 2174 found = ht_check_msi_mapping(dev);
2146 2175
diff --git a/drivers/platform/x86/acer-wmi.c b/drivers/platform/x86/acer-wmi.c
index 94c9f911824e..6bcca616a704 100644
--- a/drivers/platform/x86/acer-wmi.c
+++ b/drivers/platform/x86/acer-wmi.c
@@ -1297,7 +1297,7 @@ static int __init acer_wmi_init(void)
1297 1297
1298 set_quirks(); 1298 set_quirks();
1299 1299
1300 if (!acpi_video_backlight_support() && has_cap(ACER_CAP_BRIGHTNESS)) { 1300 if (acpi_video_backlight_support() && has_cap(ACER_CAP_BRIGHTNESS)) {
1301 interface->capability &= ~ACER_CAP_BRIGHTNESS; 1301 interface->capability &= ~ACER_CAP_BRIGHTNESS;
1302 printk(ACER_INFO "Brightness must be controlled by " 1302 printk(ACER_INFO "Brightness must be controlled by "
1303 "generic video driver\n"); 1303 "generic video driver\n");
diff --git a/drivers/power/ds2760_battery.c b/drivers/power/ds2760_battery.c
index 1d768928e0bb..a52d4a11652d 100644
--- a/drivers/power/ds2760_battery.c
+++ b/drivers/power/ds2760_battery.c
@@ -180,10 +180,13 @@ static int ds2760_battery_read_status(struct ds2760_device_info *di)
180 di->empty_uAh = battery_interpolate(scale, di->temp_C / 10); 180 di->empty_uAh = battery_interpolate(scale, di->temp_C / 10);
181 di->empty_uAh *= 1000; /* convert to µAh */ 181 di->empty_uAh *= 1000; /* convert to µAh */
182 182
183 /* From Maxim Application Note 131: remaining capacity = 183 if (di->full_active_uAh == di->empty_uAh)
184 * ((ICA - Empty Value) / (Full Value - Empty Value)) x 100% */ 184 di->rem_capacity = 0;
185 di->rem_capacity = ((di->accum_current_uAh - di->empty_uAh) * 100L) / 185 else
186 (di->full_active_uAh - di->empty_uAh); 186 /* From Maxim Application Note 131: remaining capacity =
187 * ((ICA - Empty Value) / (Full Value - Empty Value)) x 100% */
188 di->rem_capacity = ((di->accum_current_uAh - di->empty_uAh) * 100L) /
189 (di->full_active_uAh - di->empty_uAh);
187 190
188 if (di->rem_capacity < 0) 191 if (di->rem_capacity < 0)
189 di->rem_capacity = 0; 192 di->rem_capacity = 0;
diff --git a/drivers/sbus/char/bbc_i2c.c b/drivers/sbus/char/bbc_i2c.c
index f08e169ba1b5..7e30e5f6e032 100644
--- a/drivers/sbus/char/bbc_i2c.c
+++ b/drivers/sbus/char/bbc_i2c.c
@@ -129,7 +129,7 @@ static int wait_for_pin(struct bbc_i2c_bus *bp, u8 *status)
129 bp->waiting = 1; 129 bp->waiting = 1;
130 add_wait_queue(&bp->wq, &wait); 130 add_wait_queue(&bp->wq, &wait);
131 while (limit-- > 0) { 131 while (limit-- > 0) {
132 unsigned long val; 132 long val;
133 133
134 val = wait_event_interruptible_timeout( 134 val = wait_event_interruptible_timeout(
135 bp->wq, 135 bp->wq,
diff --git a/drivers/sbus/char/jsflash.c b/drivers/sbus/char/jsflash.c
index a9a9893a5f95..e6d1fc8c54f1 100644
--- a/drivers/sbus/char/jsflash.c
+++ b/drivers/sbus/char/jsflash.c
@@ -38,9 +38,6 @@
38#include <linux/string.h> 38#include <linux/string.h>
39#include <linux/genhd.h> 39#include <linux/genhd.h>
40#include <linux/blkdev.h> 40#include <linux/blkdev.h>
41
42#define MAJOR_NR JSFD_MAJOR
43
44#include <asm/uaccess.h> 41#include <asm/uaccess.h>
45#include <asm/pgtable.h> 42#include <asm/pgtable.h>
46#include <asm/io.h> 43#include <asm/io.h>
diff --git a/drivers/scsi/fcoe/fc_transport_fcoe.c b/drivers/scsi/fcoe/fc_transport_fcoe.c
index bf7fe6fc0820..8862758006c0 100644
--- a/drivers/scsi/fcoe/fc_transport_fcoe.c
+++ b/drivers/scsi/fcoe/fc_transport_fcoe.c
@@ -33,19 +33,19 @@ static LIST_HEAD(fcoe_transports);
33static DEFINE_MUTEX(fcoe_transports_lock); 33static DEFINE_MUTEX(fcoe_transports_lock);
34 34
35/** 35/**
36 * fcoe_transport_default - returns ptr to the default transport fcoe_sw 36 * fcoe_transport_default() - Returns ptr to the default transport fcoe_sw
37 **/ 37 */
38struct fcoe_transport *fcoe_transport_default(void) 38struct fcoe_transport *fcoe_transport_default(void)
39{ 39{
40 return &fcoe_sw_transport; 40 return &fcoe_sw_transport;
41} 41}
42 42
43/** 43/**
44 * fcoe_transport_to_pcidev - get the pci dev from a netdev 44 * fcoe_transport_to_pcidev() - get the pci dev from a netdev
45 * @netdev: the netdev that pci dev will be retrived from 45 * @netdev: the netdev that pci dev will be retrived from
46 * 46 *
47 * Returns: NULL or the corrsponding pci_dev 47 * Returns: NULL or the corrsponding pci_dev
48 **/ 48 */
49struct pci_dev *fcoe_transport_pcidev(const struct net_device *netdev) 49struct pci_dev *fcoe_transport_pcidev(const struct net_device *netdev)
50{ 50{
51 if (!netdev->dev.parent) 51 if (!netdev->dev.parent)
@@ -54,18 +54,17 @@ struct pci_dev *fcoe_transport_pcidev(const struct net_device *netdev)
54} 54}
55 55
56/** 56/**
57 * fcoe_transport_device_lookup - find out netdev is managed by the 57 * fcoe_transport_device_lookup() - Lookup a transport
58 * transport
59 * assign a transport to a device
60 * @netdev: the netdev the transport to be attached to 58 * @netdev: the netdev the transport to be attached to
61 * 59 *
62 * This will look for existing offload driver, if not found, it falls back to 60 * This will look for existing offload driver, if not found, it falls back to
63 * the default sw hba (fcoe_sw) as its fcoe transport. 61 * the default sw hba (fcoe_sw) as its fcoe transport.
64 * 62 *
65 * Returns: 0 for success 63 * Returns: 0 for success
66 **/ 64 */
67static struct fcoe_transport_internal *fcoe_transport_device_lookup( 65static struct fcoe_transport_internal *
68 struct fcoe_transport *t, struct net_device *netdev) 66fcoe_transport_device_lookup(struct fcoe_transport *t,
67 struct net_device *netdev)
69{ 68{
70 struct fcoe_transport_internal *ti; 69 struct fcoe_transport_internal *ti;
71 70
@@ -81,14 +80,14 @@ static struct fcoe_transport_internal *fcoe_transport_device_lookup(
81 return NULL; 80 return NULL;
82} 81}
83/** 82/**
84 * fcoe_transport_device_add - assign a transport to a device 83 * fcoe_transport_device_add() - Assign a transport to a device
85 * @netdev: the netdev the transport to be attached to 84 * @netdev: the netdev the transport to be attached to
86 * 85 *
87 * This will look for existing offload driver, if not found, it falls back to 86 * This will look for existing offload driver, if not found, it falls back to
88 * the default sw hba (fcoe_sw) as its fcoe transport. 87 * the default sw hba (fcoe_sw) as its fcoe transport.
89 * 88 *
90 * Returns: 0 for success 89 * Returns: 0 for success
91 **/ 90 */
92static int fcoe_transport_device_add(struct fcoe_transport *t, 91static int fcoe_transport_device_add(struct fcoe_transport *t,
93 struct net_device *netdev) 92 struct net_device *netdev)
94{ 93{
@@ -123,14 +122,14 @@ static int fcoe_transport_device_add(struct fcoe_transport *t,
123} 122}
124 123
125/** 124/**
126 * fcoe_transport_device_remove - remove a device from its transport 125 * fcoe_transport_device_remove() - Remove a device from its transport
127 * @netdev: the netdev the transport to be attached to 126 * @netdev: the netdev the transport to be attached to
128 * 127 *
129 * this removes the device from the transport so the given transport will 128 * This removes the device from the transport so the given transport will
130 * not manage this device any more 129 * not manage this device any more
131 * 130 *
132 * Returns: 0 for success 131 * Returns: 0 for success
133 **/ 132 */
134static int fcoe_transport_device_remove(struct fcoe_transport *t, 133static int fcoe_transport_device_remove(struct fcoe_transport *t,
135 struct net_device *netdev) 134 struct net_device *netdev)
136{ 135{
@@ -155,13 +154,13 @@ static int fcoe_transport_device_remove(struct fcoe_transport *t,
155} 154}
156 155
157/** 156/**
158 * fcoe_transport_device_remove_all - remove all from transport devlist 157 * fcoe_transport_device_remove_all() - Remove all from transport devlist
159 * 158 *
160 * this removes the device from the transport so the given transport will 159 * This removes the device from the transport so the given transport will
161 * not manage this device any more 160 * not manage this device any more
162 * 161 *
163 * Returns: 0 for success 162 * Returns: 0 for success
164 **/ 163 */
165static void fcoe_transport_device_remove_all(struct fcoe_transport *t) 164static void fcoe_transport_device_remove_all(struct fcoe_transport *t)
166{ 165{
167 struct fcoe_transport_internal *ti, *tmp; 166 struct fcoe_transport_internal *ti, *tmp;
@@ -175,18 +174,18 @@ static void fcoe_transport_device_remove_all(struct fcoe_transport *t)
175} 174}
176 175
177/** 176/**
178 * fcoe_transport_match - use the bus device match function to match the hw 177 * fcoe_transport_match() - Use the bus device match function to match the hw
179 * @t: the fcoe transport 178 * @t: The fcoe transport to check
180 * @netdev: 179 * @netdev: The netdev to match against
181 * 180 *
182 * This function is used to check if the givne transport wants to manage the 181 * This function is used to check if the given transport wants to manage the
183 * input netdev. if the transports implements the match function, it will be 182 * input netdev. if the transports implements the match function, it will be
184 * called, o.w. we just compare the pci vendor and device id. 183 * called, o.w. we just compare the pci vendor and device id.
185 * 184 *
186 * Returns: true for match up 185 * Returns: true for match up
187 **/ 186 */
188static bool fcoe_transport_match(struct fcoe_transport *t, 187static bool fcoe_transport_match(struct fcoe_transport *t,
189 struct net_device *netdev) 188 struct net_device *netdev)
190{ 189{
191 /* match transport by vendor and device id */ 190 /* match transport by vendor and device id */
192 struct pci_dev *pci; 191 struct pci_dev *pci;
@@ -210,17 +209,17 @@ static bool fcoe_transport_match(struct fcoe_transport *t,
210} 209}
211 210
212/** 211/**
213 * fcoe_transport_lookup - check if the transport is already registered 212 * fcoe_transport_lookup() - Check if the transport is already registered
214 * @t: the transport to be looked up 213 * @t: the transport to be looked up
215 * 214 *
216 * This compares the parent device (pci) vendor and device id 215 * This compares the parent device (pci) vendor and device id
217 * 216 *
218 * Returns: NULL if not found 217 * Returns: NULL if not found
219 * 218 *
220 * TODO - return default sw transport if no other transport is found 219 * TODO: return default sw transport if no other transport is found
221 **/ 220 */
222static struct fcoe_transport *fcoe_transport_lookup( 221static struct fcoe_transport *
223 struct net_device *netdev) 222fcoe_transport_lookup(struct net_device *netdev)
224{ 223{
225 struct fcoe_transport *t; 224 struct fcoe_transport *t;
226 225
@@ -239,11 +238,11 @@ static struct fcoe_transport *fcoe_transport_lookup(
239} 238}
240 239
241/** 240/**
242 * fcoe_transport_register - adds a fcoe transport to the fcoe transports list 241 * fcoe_transport_register() - Adds a fcoe transport to the fcoe transports list
243 * @t: ptr to the fcoe transport to be added 242 * @t: ptr to the fcoe transport to be added
244 * 243 *
245 * Returns: 0 for success 244 * Returns: 0 for success
246 **/ 245 */
247int fcoe_transport_register(struct fcoe_transport *t) 246int fcoe_transport_register(struct fcoe_transport *t)
248{ 247{
249 struct fcoe_transport *tt; 248 struct fcoe_transport *tt;
@@ -259,9 +258,6 @@ int fcoe_transport_register(struct fcoe_transport *t)
259 list_add_tail(&t->list, &fcoe_transports); 258 list_add_tail(&t->list, &fcoe_transports);
260 mutex_unlock(&fcoe_transports_lock); 259 mutex_unlock(&fcoe_transports_lock);
261 260
262 mutex_init(&t->devlock);
263 INIT_LIST_HEAD(&t->devlist);
264
265 printk(KERN_DEBUG "fcoe_transport_register:%s\n", t->name); 261 printk(KERN_DEBUG "fcoe_transport_register:%s\n", t->name);
266 262
267 return 0; 263 return 0;
@@ -269,11 +265,11 @@ int fcoe_transport_register(struct fcoe_transport *t)
269EXPORT_SYMBOL_GPL(fcoe_transport_register); 265EXPORT_SYMBOL_GPL(fcoe_transport_register);
270 266
271/** 267/**
272 * fcoe_transport_unregister - remove the tranport fro the fcoe transports list 268 * fcoe_transport_unregister() - Remove the tranport fro the fcoe transports list
273 * @t: ptr to the fcoe transport to be removed 269 * @t: ptr to the fcoe transport to be removed
274 * 270 *
275 * Returns: 0 for success 271 * Returns: 0 for success
276 **/ 272 */
277int fcoe_transport_unregister(struct fcoe_transport *t) 273int fcoe_transport_unregister(struct fcoe_transport *t)
278{ 274{
279 struct fcoe_transport *tt, *tmp; 275 struct fcoe_transport *tt, *tmp;
@@ -294,8 +290,8 @@ int fcoe_transport_unregister(struct fcoe_transport *t)
294} 290}
295EXPORT_SYMBOL_GPL(fcoe_transport_unregister); 291EXPORT_SYMBOL_GPL(fcoe_transport_unregister);
296 292
297/* 293/**
298 * fcoe_load_transport_driver - load an offload driver by alias name 294 * fcoe_load_transport_driver() - Load an offload driver by alias name
299 * @netdev: the target net device 295 * @netdev: the target net device
300 * 296 *
301 * Requests for an offload driver module as the fcoe transport, if fails, it 297 * Requests for an offload driver module as the fcoe transport, if fails, it
@@ -307,7 +303,7 @@ EXPORT_SYMBOL_GPL(fcoe_transport_unregister);
307 * 3. pure hw fcoe hba may not have netdev 303 * 3. pure hw fcoe hba may not have netdev
308 * 304 *
309 * Returns: 0 for success 305 * Returns: 0 for success
310 **/ 306 */
311int fcoe_load_transport_driver(struct net_device *netdev) 307int fcoe_load_transport_driver(struct net_device *netdev)
312{ 308{
313 struct pci_dev *pci; 309 struct pci_dev *pci;
@@ -335,14 +331,14 @@ int fcoe_load_transport_driver(struct net_device *netdev)
335EXPORT_SYMBOL_GPL(fcoe_load_transport_driver); 331EXPORT_SYMBOL_GPL(fcoe_load_transport_driver);
336 332
337/** 333/**
338 * fcoe_transport_attach - load transport to fcoe 334 * fcoe_transport_attach() - Load transport to fcoe
339 * @netdev: the netdev the transport to be attached to 335 * @netdev: the netdev the transport to be attached to
340 * 336 *
341 * This will look for existing offload driver, if not found, it falls back to 337 * This will look for existing offload driver, if not found, it falls back to
342 * the default sw hba (fcoe_sw) as its fcoe transport. 338 * the default sw hba (fcoe_sw) as its fcoe transport.
343 * 339 *
344 * Returns: 0 for success 340 * Returns: 0 for success
345 **/ 341 */
346int fcoe_transport_attach(struct net_device *netdev) 342int fcoe_transport_attach(struct net_device *netdev)
347{ 343{
348 struct fcoe_transport *t; 344 struct fcoe_transport *t;
@@ -373,11 +369,11 @@ int fcoe_transport_attach(struct net_device *netdev)
373EXPORT_SYMBOL_GPL(fcoe_transport_attach); 369EXPORT_SYMBOL_GPL(fcoe_transport_attach);
374 370
375/** 371/**
376 * fcoe_transport_release - unload transport from fcoe 372 * fcoe_transport_release() - Unload transport from fcoe
377 * @netdev: the net device on which fcoe is to be released 373 * @netdev: the net device on which fcoe is to be released
378 * 374 *
379 * Returns: 0 for success 375 * Returns: 0 for success
380 **/ 376 */
381int fcoe_transport_release(struct net_device *netdev) 377int fcoe_transport_release(struct net_device *netdev)
382{ 378{
383 struct fcoe_transport *t; 379 struct fcoe_transport *t;
@@ -410,12 +406,12 @@ int fcoe_transport_release(struct net_device *netdev)
410EXPORT_SYMBOL_GPL(fcoe_transport_release); 406EXPORT_SYMBOL_GPL(fcoe_transport_release);
411 407
412/** 408/**
413 * fcoe_transport_init - initializes fcoe transport layer 409 * fcoe_transport_init() - Initializes fcoe transport layer
414 * 410 *
415 * This prepares for the fcoe transport layer 411 * This prepares for the fcoe transport layer
416 * 412 *
417 * Returns: none 413 * Returns: none
418 **/ 414 */
419int __init fcoe_transport_init(void) 415int __init fcoe_transport_init(void)
420{ 416{
421 INIT_LIST_HEAD(&fcoe_transports); 417 INIT_LIST_HEAD(&fcoe_transports);
@@ -424,12 +420,13 @@ int __init fcoe_transport_init(void)
424} 420}
425 421
426/** 422/**
427 * fcoe_transport_exit - cleans up the fcoe transport layer 423 * fcoe_transport_exit() - Cleans up the fcoe transport layer
424 *
428 * This cleans up the fcoe transport layer. removing any transport on the list, 425 * This cleans up the fcoe transport layer. removing any transport on the list,
429 * note that the transport destroy func is not called here. 426 * note that the transport destroy func is not called here.
430 * 427 *
431 * Returns: none 428 * Returns: none
432 **/ 429 */
433int __exit fcoe_transport_exit(void) 430int __exit fcoe_transport_exit(void)
434{ 431{
435 struct fcoe_transport *t, *tmp; 432 struct fcoe_transport *t, *tmp;
diff --git a/drivers/scsi/fcoe/fcoe_sw.c b/drivers/scsi/fcoe/fcoe_sw.c
index dc4cd5e25760..da210eba1941 100644
--- a/drivers/scsi/fcoe/fcoe_sw.c
+++ b/drivers/scsi/fcoe/fcoe_sw.c
@@ -104,19 +104,19 @@ static struct scsi_host_template fcoe_sw_shost_template = {
104 .max_sectors = 0xffff, 104 .max_sectors = 0xffff,
105}; 105};
106 106
107/* 107/**
108 * fcoe_sw_lport_config - sets up the fc_lport 108 * fcoe_sw_lport_config() - sets up the fc_lport
109 * @lp: ptr to the fc_lport 109 * @lp: ptr to the fc_lport
110 * @shost: ptr to the parent scsi host 110 * @shost: ptr to the parent scsi host
111 * 111 *
112 * Returns: 0 for success 112 * Returns: 0 for success
113 *
114 */ 113 */
115static int fcoe_sw_lport_config(struct fc_lport *lp) 114static int fcoe_sw_lport_config(struct fc_lport *lp)
116{ 115{
117 int i = 0; 116 int i = 0;
118 117
119 lp->link_status = 0; 118 lp->link_up = 0;
119 lp->qfull = 0;
120 lp->max_retry_count = 3; 120 lp->max_retry_count = 3;
121 lp->e_d_tov = 2 * 1000; /* FC-FS default */ 121 lp->e_d_tov = 2 * 1000; /* FC-FS default */
122 lp->r_a_tov = 2 * 2 * 1000; 122 lp->r_a_tov = 2 * 2 * 1000;
@@ -136,16 +136,14 @@ static int fcoe_sw_lport_config(struct fc_lport *lp)
136 return 0; 136 return 0;
137} 137}
138 138
139/* 139/**
140 * fcoe_sw_netdev_config - sets up fcoe_softc for lport and network 140 * fcoe_sw_netdev_config() - Set up netdev for SW FCoE
141 * related properties
142 * @lp : ptr to the fc_lport 141 * @lp : ptr to the fc_lport
143 * @netdev : ptr to the associated netdevice struct 142 * @netdev : ptr to the associated netdevice struct
144 * 143 *
145 * Must be called after fcoe_sw_lport_config() as it will use lport mutex 144 * Must be called after fcoe_sw_lport_config() as it will use lport mutex
146 * 145 *
147 * Returns : 0 for success 146 * Returns : 0 for success
148 *
149 */ 147 */
150static int fcoe_sw_netdev_config(struct fc_lport *lp, struct net_device *netdev) 148static int fcoe_sw_netdev_config(struct fc_lport *lp, struct net_device *netdev)
151{ 149{
@@ -181,9 +179,8 @@ static int fcoe_sw_netdev_config(struct fc_lport *lp, struct net_device *netdev)
181 if (fc_set_mfs(lp, mfs)) 179 if (fc_set_mfs(lp, mfs))
182 return -EINVAL; 180 return -EINVAL;
183 181
184 lp->link_status = ~FC_PAUSE & ~FC_LINK_UP;
185 if (!fcoe_link_ok(lp)) 182 if (!fcoe_link_ok(lp))
186 lp->link_status |= FC_LINK_UP; 183 lp->link_up = 1;
187 184
188 /* offload features support */ 185 /* offload features support */
189 if (fc->real_dev->features & NETIF_F_SG) 186 if (fc->real_dev->features & NETIF_F_SG)
@@ -191,6 +188,7 @@ static int fcoe_sw_netdev_config(struct fc_lport *lp, struct net_device *netdev)
191 188
192 189
193 skb_queue_head_init(&fc->fcoe_pending_queue); 190 skb_queue_head_init(&fc->fcoe_pending_queue);
191 fc->fcoe_pending_queue_active = 0;
194 192
195 /* setup Source Mac Address */ 193 /* setup Source Mac Address */
196 memcpy(fc->ctl_src_addr, fc->real_dev->dev_addr, 194 memcpy(fc->ctl_src_addr, fc->real_dev->dev_addr,
@@ -224,16 +222,15 @@ static int fcoe_sw_netdev_config(struct fc_lport *lp, struct net_device *netdev)
224 return 0; 222 return 0;
225} 223}
226 224
227/* 225/**
228 * fcoe_sw_shost_config - sets up fc_lport->host 226 * fcoe_sw_shost_config() - Sets up fc_lport->host
229 * @lp : ptr to the fc_lport 227 * @lp : ptr to the fc_lport
230 * @shost : ptr to the associated scsi host 228 * @shost : ptr to the associated scsi host
231 * @dev : device associated to scsi host 229 * @dev : device associated to scsi host
232 * 230 *
233 * Must be called after fcoe_sw_lport_config) and fcoe_sw_netdev_config() 231 * Must be called after fcoe_sw_lport_config() and fcoe_sw_netdev_config()
234 * 232 *
235 * Returns : 0 for success 233 * Returns : 0 for success
236 *
237 */ 234 */
238static int fcoe_sw_shost_config(struct fc_lport *lp, struct Scsi_Host *shost, 235static int fcoe_sw_shost_config(struct fc_lport *lp, struct Scsi_Host *shost,
239 struct device *dev) 236 struct device *dev)
@@ -261,8 +258,8 @@ static int fcoe_sw_shost_config(struct fc_lport *lp, struct Scsi_Host *shost,
261 return 0; 258 return 0;
262} 259}
263 260
264/* 261/**
265 * fcoe_sw_em_config - allocates em for this lport 262 * fcoe_sw_em_config() - allocates em for this lport
266 * @lp: the port that em is to allocated for 263 * @lp: the port that em is to allocated for
267 * 264 *
268 * Returns : 0 on success 265 * Returns : 0 on success
@@ -279,8 +276,8 @@ static inline int fcoe_sw_em_config(struct fc_lport *lp)
279 return 0; 276 return 0;
280} 277}
281 278
282/* 279/**
283 * fcoe_sw_destroy - FCoE software HBA tear-down function 280 * fcoe_sw_destroy() - FCoE software HBA tear-down function
284 * @netdev: ptr to the associated net_device 281 * @netdev: ptr to the associated net_device
285 * 282 *
286 * Returns: 0 if link is OK for use by FCoE. 283 * Returns: 0 if link is OK for use by FCoE.
@@ -301,7 +298,7 @@ static int fcoe_sw_destroy(struct net_device *netdev)
301 if (!lp) 298 if (!lp)
302 return -ENODEV; 299 return -ENODEV;
303 300
304 fc = fcoe_softc(lp); 301 fc = lport_priv(lp);
305 302
306 /* Logout of the fabric */ 303 /* Logout of the fabric */
307 fc_fabric_logoff(lp); 304 fc_fabric_logoff(lp);
@@ -353,8 +350,8 @@ static struct libfc_function_template fcoe_sw_libfc_fcn_templ = {
353 .frame_send = fcoe_xmit, 350 .frame_send = fcoe_xmit,
354}; 351};
355 352
356/* 353/**
357 * fcoe_sw_create - this function creates the fcoe interface 354 * fcoe_sw_create() - this function creates the fcoe interface
358 * @netdev: pointer the associated netdevice 355 * @netdev: pointer the associated netdevice
359 * 356 *
360 * Creates fc_lport struct and scsi_host for lport, configures lport 357 * Creates fc_lport struct and scsi_host for lport, configures lport
@@ -440,8 +437,8 @@ out_host_put:
440 return rc; 437 return rc;
441} 438}
442 439
443/* 440/**
444 * fcoe_sw_match - the fcoe sw transport match function 441 * fcoe_sw_match() - The FCoE SW transport match function
445 * 442 *
446 * Returns : false always 443 * Returns : false always
447 */ 444 */
@@ -461,8 +458,8 @@ struct fcoe_transport fcoe_sw_transport = {
461 .device = 0xffff, 458 .device = 0xffff,
462}; 459};
463 460
464/* 461/**
465 * fcoe_sw_init - registers fcoe_sw_transport 462 * fcoe_sw_init() - Registers fcoe_sw_transport
466 * 463 *
467 * Returns : 0 on success 464 * Returns : 0 on success
468 */ 465 */
@@ -471,17 +468,22 @@ int __init fcoe_sw_init(void)
471 /* attach to scsi transport */ 468 /* attach to scsi transport */
472 scsi_transport_fcoe_sw = 469 scsi_transport_fcoe_sw =
473 fc_attach_transport(&fcoe_sw_transport_function); 470 fc_attach_transport(&fcoe_sw_transport_function);
471
474 if (!scsi_transport_fcoe_sw) { 472 if (!scsi_transport_fcoe_sw) {
475 printk(KERN_ERR "fcoe_sw_init:fc_attach_transport() failed\n"); 473 printk(KERN_ERR "fcoe_sw_init:fc_attach_transport() failed\n");
476 return -ENODEV; 474 return -ENODEV;
477 } 475 }
476
477 mutex_init(&fcoe_sw_transport.devlock);
478 INIT_LIST_HEAD(&fcoe_sw_transport.devlist);
479
478 /* register sw transport */ 480 /* register sw transport */
479 fcoe_transport_register(&fcoe_sw_transport); 481 fcoe_transport_register(&fcoe_sw_transport);
480 return 0; 482 return 0;
481} 483}
482 484
483/* 485/**
484 * fcoe_sw_exit - unregisters fcoe_sw_transport 486 * fcoe_sw_exit() - Unregisters fcoe_sw_transport
485 * 487 *
486 * Returns : 0 on success 488 * Returns : 0 on success
487 */ 489 */
diff --git a/drivers/scsi/fcoe/libfcoe.c b/drivers/scsi/fcoe/libfcoe.c
index e419f486cdb3..5548bf3bb58b 100644
--- a/drivers/scsi/fcoe/libfcoe.c
+++ b/drivers/scsi/fcoe/libfcoe.c
@@ -49,6 +49,7 @@
49static int debug_fcoe; 49static int debug_fcoe;
50 50
51#define FCOE_MAX_QUEUE_DEPTH 256 51#define FCOE_MAX_QUEUE_DEPTH 256
52#define FCOE_LOW_QUEUE_DEPTH 32
52 53
53/* destination address mode */ 54/* destination address mode */
54#define FCOE_GW_ADDR_MODE 0x00 55#define FCOE_GW_ADDR_MODE 0x00
@@ -69,8 +70,6 @@ struct fcoe_percpu_s *fcoe_percpu[NR_CPUS];
69 70
70/* Function Prototyes */ 71/* Function Prototyes */
71static int fcoe_check_wait_queue(struct fc_lport *); 72static int fcoe_check_wait_queue(struct fc_lport *);
72static void fcoe_insert_wait_queue_head(struct fc_lport *, struct sk_buff *);
73static void fcoe_insert_wait_queue(struct fc_lport *, struct sk_buff *);
74static void fcoe_recv_flogi(struct fcoe_softc *, struct fc_frame *, u8 *); 73static void fcoe_recv_flogi(struct fcoe_softc *, struct fc_frame *, u8 *);
75#ifdef CONFIG_HOTPLUG_CPU 74#ifdef CONFIG_HOTPLUG_CPU
76static int fcoe_cpu_callback(struct notifier_block *, ulong, void *); 75static int fcoe_cpu_callback(struct notifier_block *, ulong, void *);
@@ -91,13 +90,13 @@ static struct notifier_block fcoe_cpu_notifier = {
91}; 90};
92 91
93/** 92/**
94 * fcoe_create_percpu_data - creates the associated cpu data 93 * fcoe_create_percpu_data() - creates the associated cpu data
95 * @cpu: index for the cpu where fcoe cpu data will be created 94 * @cpu: index for the cpu where fcoe cpu data will be created
96 * 95 *
97 * create percpu stats block, from cpu add notifier 96 * create percpu stats block, from cpu add notifier
98 * 97 *
99 * Returns: none 98 * Returns: none
100 **/ 99 */
101static void fcoe_create_percpu_data(int cpu) 100static void fcoe_create_percpu_data(int cpu)
102{ 101{
103 struct fc_lport *lp; 102 struct fc_lport *lp;
@@ -115,13 +114,13 @@ static void fcoe_create_percpu_data(int cpu)
115} 114}
116 115
117/** 116/**
118 * fcoe_destroy_percpu_data - destroys the associated cpu data 117 * fcoe_destroy_percpu_data() - destroys the associated cpu data
119 * @cpu: index for the cpu where fcoe cpu data will destroyed 118 * @cpu: index for the cpu where fcoe cpu data will destroyed
120 * 119 *
121 * destroy percpu stats block called by cpu add/remove notifier 120 * destroy percpu stats block called by cpu add/remove notifier
122 * 121 *
123 * Retuns: none 122 * Retuns: none
124 **/ 123 */
125static void fcoe_destroy_percpu_data(int cpu) 124static void fcoe_destroy_percpu_data(int cpu)
126{ 125{
127 struct fc_lport *lp; 126 struct fc_lport *lp;
@@ -137,7 +136,7 @@ static void fcoe_destroy_percpu_data(int cpu)
137} 136}
138 137
139/** 138/**
140 * fcoe_cpu_callback - fcoe cpu hotplug event callback 139 * fcoe_cpu_callback() - fcoe cpu hotplug event callback
141 * @nfb: callback data block 140 * @nfb: callback data block
142 * @action: event triggering the callback 141 * @action: event triggering the callback
143 * @hcpu: index for the cpu of this event 142 * @hcpu: index for the cpu of this event
@@ -145,7 +144,7 @@ static void fcoe_destroy_percpu_data(int cpu)
145 * this creates or destroys per cpu data for fcoe 144 * this creates or destroys per cpu data for fcoe
146 * 145 *
147 * Returns NOTIFY_OK always. 146 * Returns NOTIFY_OK always.
148 **/ 147 */
149static int fcoe_cpu_callback(struct notifier_block *nfb, unsigned long action, 148static int fcoe_cpu_callback(struct notifier_block *nfb, unsigned long action,
150 void *hcpu) 149 void *hcpu)
151{ 150{
@@ -166,7 +165,7 @@ static int fcoe_cpu_callback(struct notifier_block *nfb, unsigned long action,
166#endif /* CONFIG_HOTPLUG_CPU */ 165#endif /* CONFIG_HOTPLUG_CPU */
167 166
168/** 167/**
169 * fcoe_rcv - this is the fcoe receive function called by NET_RX_SOFTIRQ 168 * fcoe_rcv() - this is the fcoe receive function called by NET_RX_SOFTIRQ
170 * @skb: the receive skb 169 * @skb: the receive skb
171 * @dev: associated net device 170 * @dev: associated net device
172 * @ptype: context 171 * @ptype: context
@@ -175,7 +174,7 @@ static int fcoe_cpu_callback(struct notifier_block *nfb, unsigned long action,
175 * this function will receive the packet and build fc frame and pass it up 174 * this function will receive the packet and build fc frame and pass it up
176 * 175 *
177 * Returns: 0 for success 176 * Returns: 0 for success
178 **/ 177 */
179int fcoe_rcv(struct sk_buff *skb, struct net_device *dev, 178int fcoe_rcv(struct sk_buff *skb, struct net_device *dev,
180 struct packet_type *ptype, struct net_device *olddev) 179 struct packet_type *ptype, struct net_device *olddev)
181{ 180{
@@ -265,11 +264,11 @@ err2:
265EXPORT_SYMBOL_GPL(fcoe_rcv); 264EXPORT_SYMBOL_GPL(fcoe_rcv);
266 265
267/** 266/**
268 * fcoe_start_io - pass to netdev to start xmit for fcoe 267 * fcoe_start_io() - pass to netdev to start xmit for fcoe
269 * @skb: the skb to be xmitted 268 * @skb: the skb to be xmitted
270 * 269 *
271 * Returns: 0 for success 270 * Returns: 0 for success
272 **/ 271 */
273static inline int fcoe_start_io(struct sk_buff *skb) 272static inline int fcoe_start_io(struct sk_buff *skb)
274{ 273{
275 int rc; 274 int rc;
@@ -283,12 +282,12 @@ static inline int fcoe_start_io(struct sk_buff *skb)
283} 282}
284 283
285/** 284/**
286 * fcoe_get_paged_crc_eof - in case we need alloc a page for crc_eof 285 * fcoe_get_paged_crc_eof() - in case we need alloc a page for crc_eof
287 * @skb: the skb to be xmitted 286 * @skb: the skb to be xmitted
288 * @tlen: total len 287 * @tlen: total len
289 * 288 *
290 * Returns: 0 for success 289 * Returns: 0 for success
291 **/ 290 */
292static int fcoe_get_paged_crc_eof(struct sk_buff *skb, int tlen) 291static int fcoe_get_paged_crc_eof(struct sk_buff *skb, int tlen)
293{ 292{
294 struct fcoe_percpu_s *fps; 293 struct fcoe_percpu_s *fps;
@@ -326,13 +325,12 @@ static int fcoe_get_paged_crc_eof(struct sk_buff *skb, int tlen)
326} 325}
327 326
328/** 327/**
329 * fcoe_fc_crc - calculates FC CRC in this fcoe skb 328 * fcoe_fc_crc() - calculates FC CRC in this fcoe skb
330 * @fp: the fc_frame containg data to be checksummed 329 * @fp: the fc_frame containg data to be checksummed
331 * 330 *
332 * This uses crc32() to calculate the crc for fc frame 331 * This uses crc32() to calculate the crc for fc frame
333 * Return : 32 bit crc 332 * Return : 32 bit crc
334 * 333 */
335 **/
336u32 fcoe_fc_crc(struct fc_frame *fp) 334u32 fcoe_fc_crc(struct fc_frame *fp)
337{ 335{
338 struct sk_buff *skb = fp_skb(fp); 336 struct sk_buff *skb = fp_skb(fp);
@@ -363,13 +361,12 @@ u32 fcoe_fc_crc(struct fc_frame *fp)
363EXPORT_SYMBOL_GPL(fcoe_fc_crc); 361EXPORT_SYMBOL_GPL(fcoe_fc_crc);
364 362
365/** 363/**
366 * fcoe_xmit - FCoE frame transmit function 364 * fcoe_xmit() - FCoE frame transmit function
367 * @lp: the associated local port 365 * @lp: the associated local port
368 * @fp: the fc_frame to be transmitted 366 * @fp: the fc_frame to be transmitted
369 * 367 *
370 * Return : 0 for success 368 * Return : 0 for success
371 * 369 */
372 **/
373int fcoe_xmit(struct fc_lport *lp, struct fc_frame *fp) 370int fcoe_xmit(struct fc_lport *lp, struct fc_frame *fp)
374{ 371{
375 int wlen, rc = 0; 372 int wlen, rc = 0;
@@ -389,7 +386,7 @@ int fcoe_xmit(struct fc_lport *lp, struct fc_frame *fp)
389 386
390 WARN_ON((fr_len(fp) % sizeof(u32)) != 0); 387 WARN_ON((fr_len(fp) % sizeof(u32)) != 0);
391 388
392 fc = fcoe_softc(lp); 389 fc = lport_priv(lp);
393 /* 390 /*
394 * if it is a flogi then we need to learn gw-addr 391 * if it is a flogi then we need to learn gw-addr
395 * and my own fcid 392 * and my own fcid
@@ -439,7 +436,7 @@ int fcoe_xmit(struct fc_lport *lp, struct fc_frame *fp)
439 if (skb_is_nonlinear(skb)) { 436 if (skb_is_nonlinear(skb)) {
440 skb_frag_t *frag; 437 skb_frag_t *frag;
441 if (fcoe_get_paged_crc_eof(skb, tlen)) { 438 if (fcoe_get_paged_crc_eof(skb, tlen)) {
442 kfree(skb); 439 kfree_skb(skb);
443 return -ENOMEM; 440 return -ENOMEM;
444 } 441 }
445 frag = &skb_shinfo(skb)->frags[skb_shinfo(skb)->nr_frags - 1]; 442 frag = &skb_shinfo(skb)->frags[skb_shinfo(skb)->nr_frags - 1];
@@ -502,21 +499,22 @@ int fcoe_xmit(struct fc_lport *lp, struct fc_frame *fp)
502 rc = fcoe_start_io(skb); 499 rc = fcoe_start_io(skb);
503 500
504 if (rc) { 501 if (rc) {
505 fcoe_insert_wait_queue(lp, skb); 502 spin_lock_bh(&fc->fcoe_pending_queue.lock);
503 __skb_queue_tail(&fc->fcoe_pending_queue, skb);
504 spin_unlock_bh(&fc->fcoe_pending_queue.lock);
506 if (fc->fcoe_pending_queue.qlen > FCOE_MAX_QUEUE_DEPTH) 505 if (fc->fcoe_pending_queue.qlen > FCOE_MAX_QUEUE_DEPTH)
507 fc_pause(lp); 506 lp->qfull = 1;
508 } 507 }
509 508
510 return 0; 509 return 0;
511} 510}
512EXPORT_SYMBOL_GPL(fcoe_xmit); 511EXPORT_SYMBOL_GPL(fcoe_xmit);
513 512
514/* 513/**
515 * fcoe_percpu_receive_thread - recv thread per cpu 514 * fcoe_percpu_receive_thread() - recv thread per cpu
516 * @arg: ptr to the fcoe per cpu struct 515 * @arg: ptr to the fcoe per cpu struct
517 * 516 *
518 * Return: 0 for success 517 * Return: 0 for success
519 *
520 */ 518 */
521int fcoe_percpu_receive_thread(void *arg) 519int fcoe_percpu_receive_thread(void *arg)
522{ 520{
@@ -533,7 +531,7 @@ int fcoe_percpu_receive_thread(void *arg)
533 struct fcoe_softc *fc; 531 struct fcoe_softc *fc;
534 struct fcoe_hdr *hp; 532 struct fcoe_hdr *hp;
535 533
536 set_user_nice(current, 19); 534 set_user_nice(current, -20);
537 535
538 while (!kthread_should_stop()) { 536 while (!kthread_should_stop()) {
539 537
@@ -658,7 +656,7 @@ int fcoe_percpu_receive_thread(void *arg)
658} 656}
659 657
660/** 658/**
661 * fcoe_recv_flogi - flogi receive function 659 * fcoe_recv_flogi() - flogi receive function
662 * @fc: associated fcoe_softc 660 * @fc: associated fcoe_softc
663 * @fp: the recieved frame 661 * @fp: the recieved frame
664 * @sa: the source address of this flogi 662 * @sa: the source address of this flogi
@@ -667,7 +665,7 @@ int fcoe_percpu_receive_thread(void *arg)
667 * mac address for the initiator, eitehr OUI based or GW based. 665 * mac address for the initiator, eitehr OUI based or GW based.
668 * 666 *
669 * Returns: none 667 * Returns: none
670 **/ 668 */
671static void fcoe_recv_flogi(struct fcoe_softc *fc, struct fc_frame *fp, u8 *sa) 669static void fcoe_recv_flogi(struct fcoe_softc *fc, struct fc_frame *fp, u8 *sa)
672{ 670{
673 struct fc_frame_header *fh; 671 struct fc_frame_header *fh;
@@ -715,32 +713,23 @@ static void fcoe_recv_flogi(struct fcoe_softc *fc, struct fc_frame *fp, u8 *sa)
715} 713}
716 714
717/** 715/**
718 * fcoe_watchdog - fcoe timer callback 716 * fcoe_watchdog() - fcoe timer callback
719 * @vp: 717 * @vp:
720 * 718 *
721 * This checks the pending queue length for fcoe and put fcoe to be paused state 719 * This checks the pending queue length for fcoe and set lport qfull
722 * if the FCOE_MAX_QUEUE_DEPTH is reached. This is done for all fc_lport on the 720 * if the FCOE_MAX_QUEUE_DEPTH is reached. This is done for all fc_lport on the
723 * fcoe_hostlist. 721 * fcoe_hostlist.
724 * 722 *
725 * Returns: 0 for success 723 * Returns: 0 for success
726 **/ 724 */
727void fcoe_watchdog(ulong vp) 725void fcoe_watchdog(ulong vp)
728{ 726{
729 struct fc_lport *lp;
730 struct fcoe_softc *fc; 727 struct fcoe_softc *fc;
731 int paused = 0;
732 728
733 read_lock(&fcoe_hostlist_lock); 729 read_lock(&fcoe_hostlist_lock);
734 list_for_each_entry(fc, &fcoe_hostlist, list) { 730 list_for_each_entry(fc, &fcoe_hostlist, list) {
735 lp = fc->lp; 731 if (fc->lp)
736 if (lp) { 732 fcoe_check_wait_queue(fc->lp);
737 if (fc->fcoe_pending_queue.qlen > FCOE_MAX_QUEUE_DEPTH)
738 paused = 1;
739 if (fcoe_check_wait_queue(lp) < FCOE_MAX_QUEUE_DEPTH) {
740 if (paused)
741 fc_unpause(lp);
742 }
743 }
744 } 733 }
745 read_unlock(&fcoe_hostlist_lock); 734 read_unlock(&fcoe_hostlist_lock);
746 735
@@ -750,96 +739,64 @@ void fcoe_watchdog(ulong vp)
750 739
751 740
752/** 741/**
753 * fcoe_check_wait_queue - put the skb into fcoe pending xmit queue 742 * fcoe_check_wait_queue() - put the skb into fcoe pending xmit queue
754 * @lp: the fc_port for this skb 743 * @lp: the fc_port for this skb
755 * @skb: the associated skb to be xmitted 744 * @skb: the associated skb to be xmitted
756 * 745 *
757 * This empties the wait_queue, dequeue the head of the wait_queue queue 746 * This empties the wait_queue, dequeue the head of the wait_queue queue
758 * and calls fcoe_start_io() for each packet, if all skb have been 747 * and calls fcoe_start_io() for each packet, if all skb have been
759 * transmitted, return 0 if a error occurs, then restore wait_queue and 748 * transmitted, return qlen or -1 if a error occurs, then restore
760 * try again later. 749 * wait_queue and try again later.
761 * 750 *
762 * The wait_queue is used when the skb transmit fails. skb will go 751 * The wait_queue is used when the skb transmit fails. skb will go
763 * in the wait_queue which will be emptied by the time function OR 752 * in the wait_queue which will be emptied by the time function OR
764 * by the next skb transmit. 753 * by the next skb transmit.
765 * 754 *
766 * Returns: 0 for success 755 * Returns: 0 for success
767 **/ 756 */
768static int fcoe_check_wait_queue(struct fc_lport *lp) 757static int fcoe_check_wait_queue(struct fc_lport *lp)
769{ 758{
770 int rc, unpause = 0; 759 struct fcoe_softc *fc = lport_priv(lp);
771 int paused = 0;
772 struct sk_buff *skb; 760 struct sk_buff *skb;
773 struct fcoe_softc *fc; 761 int rc = -1;
774 762
775 fc = fcoe_softc(lp);
776 spin_lock_bh(&fc->fcoe_pending_queue.lock); 763 spin_lock_bh(&fc->fcoe_pending_queue.lock);
764 if (fc->fcoe_pending_queue_active)
765 goto out;
766 fc->fcoe_pending_queue_active = 1;
777 767
778 /* 768 while (fc->fcoe_pending_queue.qlen) {
779 * is this interface paused? 769 /* keep qlen > 0 until fcoe_start_io succeeds */
780 */ 770 fc->fcoe_pending_queue.qlen++;
781 if (fc->fcoe_pending_queue.qlen > FCOE_MAX_QUEUE_DEPTH) 771 skb = __skb_dequeue(&fc->fcoe_pending_queue);
782 paused = 1;
783 if (fc->fcoe_pending_queue.qlen) {
784 while ((skb = __skb_dequeue(&fc->fcoe_pending_queue)) != NULL) {
785 spin_unlock_bh(&fc->fcoe_pending_queue.lock);
786 rc = fcoe_start_io(skb);
787 if (rc) {
788 fcoe_insert_wait_queue_head(lp, skb);
789 return rc;
790 }
791 spin_lock_bh(&fc->fcoe_pending_queue.lock);
792 }
793 if (fc->fcoe_pending_queue.qlen < FCOE_MAX_QUEUE_DEPTH)
794 unpause = 1;
795 }
796 spin_unlock_bh(&fc->fcoe_pending_queue.lock);
797 if ((unpause) && (paused))
798 fc_unpause(lp);
799 return fc->fcoe_pending_queue.qlen;
800}
801
802/**
803 * fcoe_insert_wait_queue_head - puts skb to fcoe pending queue head
804 * @lp: the fc_port for this skb
805 * @skb: the associated skb to be xmitted
806 *
807 * Returns: none
808 **/
809static void fcoe_insert_wait_queue_head(struct fc_lport *lp,
810 struct sk_buff *skb)
811{
812 struct fcoe_softc *fc;
813 772
814 fc = fcoe_softc(lp); 773 spin_unlock_bh(&fc->fcoe_pending_queue.lock);
815 spin_lock_bh(&fc->fcoe_pending_queue.lock); 774 rc = fcoe_start_io(skb);
816 __skb_queue_head(&fc->fcoe_pending_queue, skb); 775 spin_lock_bh(&fc->fcoe_pending_queue.lock);
817 spin_unlock_bh(&fc->fcoe_pending_queue.lock);
818}
819 776
820/** 777 if (rc) {
821 * fcoe_insert_wait_queue - put the skb into fcoe pending queue tail 778 __skb_queue_head(&fc->fcoe_pending_queue, skb);
822 * @lp: the fc_port for this skb 779 /* undo temporary increment above */
823 * @skb: the associated skb to be xmitted 780 fc->fcoe_pending_queue.qlen--;
824 * 781 break;
825 * Returns: none 782 }
826 **/ 783 /* undo temporary increment above */
827static void fcoe_insert_wait_queue(struct fc_lport *lp, 784 fc->fcoe_pending_queue.qlen--;
828 struct sk_buff *skb) 785 }
829{
830 struct fcoe_softc *fc;
831 786
832 fc = fcoe_softc(lp); 787 if (fc->fcoe_pending_queue.qlen < FCOE_LOW_QUEUE_DEPTH)
833 spin_lock_bh(&fc->fcoe_pending_queue.lock); 788 lp->qfull = 0;
834 __skb_queue_tail(&fc->fcoe_pending_queue, skb); 789 fc->fcoe_pending_queue_active = 0;
790 rc = fc->fcoe_pending_queue.qlen;
791out:
835 spin_unlock_bh(&fc->fcoe_pending_queue.lock); 792 spin_unlock_bh(&fc->fcoe_pending_queue.lock);
793 return rc;
836} 794}
837 795
838/** 796/**
839 * fcoe_dev_setup - setup link change notification interface 797 * fcoe_dev_setup() - setup link change notification interface
840 * 798 */
841 **/ 799static void fcoe_dev_setup()
842static void fcoe_dev_setup(void)
843{ 800{
844 /* 801 /*
845 * here setup a interface specific wd time to 802 * here setup a interface specific wd time to
@@ -849,15 +806,15 @@ static void fcoe_dev_setup(void)
849} 806}
850 807
851/** 808/**
852 * fcoe_dev_setup - cleanup link change notification interface 809 * fcoe_dev_setup() - cleanup link change notification interface
853 **/ 810 */
854static void fcoe_dev_cleanup(void) 811static void fcoe_dev_cleanup(void)
855{ 812{
856 unregister_netdevice_notifier(&fcoe_notifier); 813 unregister_netdevice_notifier(&fcoe_notifier);
857} 814}
858 815
859/** 816/**
860 * fcoe_device_notification - netdev event notification callback 817 * fcoe_device_notification() - netdev event notification callback
861 * @notifier: context of the notification 818 * @notifier: context of the notification
862 * @event: type of event 819 * @event: type of event
863 * @ptr: fixed array for output parsed ifname 820 * @ptr: fixed array for output parsed ifname
@@ -865,7 +822,7 @@ static void fcoe_dev_cleanup(void)
865 * This function is called by the ethernet driver in case of link change event 822 * This function is called by the ethernet driver in case of link change event
866 * 823 *
867 * Returns: 0 for success 824 * Returns: 0 for success
868 **/ 825 */
869static int fcoe_device_notification(struct notifier_block *notifier, 826static int fcoe_device_notification(struct notifier_block *notifier,
870 ulong event, void *ptr) 827 ulong event, void *ptr)
871{ 828{
@@ -873,7 +830,7 @@ static int fcoe_device_notification(struct notifier_block *notifier,
873 struct net_device *real_dev = ptr; 830 struct net_device *real_dev = ptr;
874 struct fcoe_softc *fc; 831 struct fcoe_softc *fc;
875 struct fcoe_dev_stats *stats; 832 struct fcoe_dev_stats *stats;
876 u16 new_status; 833 u32 new_link_up;
877 u32 mfs; 834 u32 mfs;
878 int rc = NOTIFY_OK; 835 int rc = NOTIFY_OK;
879 836
@@ -890,17 +847,15 @@ static int fcoe_device_notification(struct notifier_block *notifier,
890 goto out; 847 goto out;
891 } 848 }
892 849
893 new_status = lp->link_status; 850 new_link_up = lp->link_up;
894 switch (event) { 851 switch (event) {
895 case NETDEV_DOWN: 852 case NETDEV_DOWN:
896 case NETDEV_GOING_DOWN: 853 case NETDEV_GOING_DOWN:
897 new_status &= ~FC_LINK_UP; 854 new_link_up = 0;
898 break; 855 break;
899 case NETDEV_UP: 856 case NETDEV_UP:
900 case NETDEV_CHANGE: 857 case NETDEV_CHANGE:
901 new_status &= ~FC_LINK_UP; 858 new_link_up = !fcoe_link_ok(lp);
902 if (!fcoe_link_ok(lp))
903 new_status |= FC_LINK_UP;
904 break; 859 break;
905 case NETDEV_CHANGEMTU: 860 case NETDEV_CHANGEMTU:
906 mfs = fc->real_dev->mtu - 861 mfs = fc->real_dev->mtu -
@@ -908,17 +863,15 @@ static int fcoe_device_notification(struct notifier_block *notifier,
908 sizeof(struct fcoe_crc_eof)); 863 sizeof(struct fcoe_crc_eof));
909 if (mfs >= FC_MIN_MAX_FRAME) 864 if (mfs >= FC_MIN_MAX_FRAME)
910 fc_set_mfs(lp, mfs); 865 fc_set_mfs(lp, mfs);
911 new_status &= ~FC_LINK_UP; 866 new_link_up = !fcoe_link_ok(lp);
912 if (!fcoe_link_ok(lp))
913 new_status |= FC_LINK_UP;
914 break; 867 break;
915 case NETDEV_REGISTER: 868 case NETDEV_REGISTER:
916 break; 869 break;
917 default: 870 default:
918 FC_DBG("unknown event %ld call", event); 871 FC_DBG("unknown event %ld call", event);
919 } 872 }
920 if (lp->link_status != new_status) { 873 if (lp->link_up != new_link_up) {
921 if ((new_status & FC_LINK_UP) == FC_LINK_UP) 874 if (new_link_up)
922 fc_linkup(lp); 875 fc_linkup(lp);
923 else { 876 else {
924 stats = lp->dev_stats[smp_processor_id()]; 877 stats = lp->dev_stats[smp_processor_id()];
@@ -933,12 +886,12 @@ out:
933} 886}
934 887
935/** 888/**
936 * fcoe_if_to_netdev - parse a name buffer to get netdev 889 * fcoe_if_to_netdev() - parse a name buffer to get netdev
937 * @ifname: fixed array for output parsed ifname 890 * @ifname: fixed array for output parsed ifname
938 * @buffer: incoming buffer to be copied 891 * @buffer: incoming buffer to be copied
939 * 892 *
940 * Returns: NULL or ptr to netdeive 893 * Returns: NULL or ptr to netdeive
941 **/ 894 */
942static struct net_device *fcoe_if_to_netdev(const char *buffer) 895static struct net_device *fcoe_if_to_netdev(const char *buffer)
943{ 896{
944 char *cp; 897 char *cp;
@@ -955,13 +908,13 @@ static struct net_device *fcoe_if_to_netdev(const char *buffer)
955} 908}
956 909
957/** 910/**
958 * fcoe_netdev_to_module_owner - finds out the nic drive moddule of the netdev 911 * fcoe_netdev_to_module_owner() - finds out the nic drive moddule of the netdev
959 * @netdev: the target netdev 912 * @netdev: the target netdev
960 * 913 *
961 * Returns: ptr to the struct module, NULL for failure 914 * Returns: ptr to the struct module, NULL for failure
962 **/ 915 */
963static struct module *fcoe_netdev_to_module_owner( 916static struct module *
964 const struct net_device *netdev) 917fcoe_netdev_to_module_owner(const struct net_device *netdev)
965{ 918{
966 struct device *dev; 919 struct device *dev;
967 920
@@ -979,12 +932,14 @@ static struct module *fcoe_netdev_to_module_owner(
979} 932}
980 933
981/** 934/**
982 * fcoe_ethdrv_get - holds the nic driver module by try_module_get() for 935 * fcoe_ethdrv_get() - Hold the Ethernet driver
983 * the corresponding netdev.
984 * @netdev: the target netdev 936 * @netdev: the target netdev
985 * 937 *
938 * Holds the Ethernet driver module by try_module_get() for
939 * the corresponding netdev.
940 *
986 * Returns: 0 for succsss 941 * Returns: 0 for succsss
987 **/ 942 */
988static int fcoe_ethdrv_get(const struct net_device *netdev) 943static int fcoe_ethdrv_get(const struct net_device *netdev)
989{ 944{
990 struct module *owner; 945 struct module *owner;
@@ -999,12 +954,14 @@ static int fcoe_ethdrv_get(const struct net_device *netdev)
999} 954}
1000 955
1001/** 956/**
1002 * fcoe_ethdrv_get - releases the nic driver module by module_put for 957 * fcoe_ethdrv_put() - Release the Ethernet driver
1003 * the corresponding netdev.
1004 * @netdev: the target netdev 958 * @netdev: the target netdev
1005 * 959 *
960 * Releases the Ethernet driver module by module_put for
961 * the corresponding netdev.
962 *
1006 * Returns: 0 for succsss 963 * Returns: 0 for succsss
1007 **/ 964 */
1008static int fcoe_ethdrv_put(const struct net_device *netdev) 965static int fcoe_ethdrv_put(const struct net_device *netdev)
1009{ 966{
1010 struct module *owner; 967 struct module *owner;
@@ -1020,12 +977,12 @@ static int fcoe_ethdrv_put(const struct net_device *netdev)
1020} 977}
1021 978
1022/** 979/**
1023 * fcoe_destroy- handles the destroy from sysfs 980 * fcoe_destroy() - handles the destroy from sysfs
1024 * @buffer: expcted to be a eth if name 981 * @buffer: expcted to be a eth if name
1025 * @kp: associated kernel param 982 * @kp: associated kernel param
1026 * 983 *
1027 * Returns: 0 for success 984 * Returns: 0 for success
1028 **/ 985 */
1029static int fcoe_destroy(const char *buffer, struct kernel_param *kp) 986static int fcoe_destroy(const char *buffer, struct kernel_param *kp)
1030{ 987{
1031 int rc; 988 int rc;
@@ -1058,12 +1015,12 @@ out_nodev:
1058} 1015}
1059 1016
1060/** 1017/**
1061 * fcoe_create - handles the create call from sysfs 1018 * fcoe_create() - Handles the create call from sysfs
1062 * @buffer: expcted to be a eth if name 1019 * @buffer: expcted to be a eth if name
1063 * @kp: associated kernel param 1020 * @kp: associated kernel param
1064 * 1021 *
1065 * Returns: 0 for success 1022 * Returns: 0 for success
1066 **/ 1023 */
1067static int fcoe_create(const char *buffer, struct kernel_param *kp) 1024static int fcoe_create(const char *buffer, struct kernel_param *kp)
1068{ 1025{
1069 int rc; 1026 int rc;
@@ -1104,8 +1061,8 @@ module_param_call(destroy, fcoe_destroy, NULL, NULL, S_IWUSR);
1104__MODULE_PARM_TYPE(destroy, "string"); 1061__MODULE_PARM_TYPE(destroy, "string");
1105MODULE_PARM_DESC(destroy, "Destroy fcoe port"); 1062MODULE_PARM_DESC(destroy, "Destroy fcoe port");
1106 1063
1107/* 1064/**
1108 * fcoe_link_ok - check if link is ok for the fc_lport 1065 * fcoe_link_ok() - Check if link is ok for the fc_lport
1109 * @lp: ptr to the fc_lport 1066 * @lp: ptr to the fc_lport
1110 * 1067 *
1111 * Any permanently-disqualifying conditions have been previously checked. 1068 * Any permanently-disqualifying conditions have been previously checked.
@@ -1120,7 +1077,7 @@ MODULE_PARM_DESC(destroy, "Destroy fcoe port");
1120 */ 1077 */
1121int fcoe_link_ok(struct fc_lport *lp) 1078int fcoe_link_ok(struct fc_lport *lp)
1122{ 1079{
1123 struct fcoe_softc *fc = fcoe_softc(lp); 1080 struct fcoe_softc *fc = lport_priv(lp);
1124 struct net_device *dev = fc->real_dev; 1081 struct net_device *dev = fc->real_dev;
1125 struct ethtool_cmd ecmd = { ETHTOOL_GSET }; 1082 struct ethtool_cmd ecmd = { ETHTOOL_GSET };
1126 int rc = 0; 1083 int rc = 0;
@@ -1149,9 +1106,8 @@ int fcoe_link_ok(struct fc_lport *lp)
1149} 1106}
1150EXPORT_SYMBOL_GPL(fcoe_link_ok); 1107EXPORT_SYMBOL_GPL(fcoe_link_ok);
1151 1108
1152/* 1109/**
1153 * fcoe_percpu_clean - frees skb of the corresponding lport from the per 1110 * fcoe_percpu_clean() - Clear the pending skbs for an lport
1154 * cpu queue.
1155 * @lp: the fc_lport 1111 * @lp: the fc_lport
1156 */ 1112 */
1157void fcoe_percpu_clean(struct fc_lport *lp) 1113void fcoe_percpu_clean(struct fc_lport *lp)
@@ -1185,11 +1141,11 @@ void fcoe_percpu_clean(struct fc_lport *lp)
1185EXPORT_SYMBOL_GPL(fcoe_percpu_clean); 1141EXPORT_SYMBOL_GPL(fcoe_percpu_clean);
1186 1142
1187/** 1143/**
1188 * fcoe_clean_pending_queue - dequeue skb and free it 1144 * fcoe_clean_pending_queue() - Dequeue a skb and free it
1189 * @lp: the corresponding fc_lport 1145 * @lp: the corresponding fc_lport
1190 * 1146 *
1191 * Returns: none 1147 * Returns: none
1192 **/ 1148 */
1193void fcoe_clean_pending_queue(struct fc_lport *lp) 1149void fcoe_clean_pending_queue(struct fc_lport *lp)
1194{ 1150{
1195 struct fcoe_softc *fc = lport_priv(lp); 1151 struct fcoe_softc *fc = lport_priv(lp);
@@ -1206,21 +1162,21 @@ void fcoe_clean_pending_queue(struct fc_lport *lp)
1206EXPORT_SYMBOL_GPL(fcoe_clean_pending_queue); 1162EXPORT_SYMBOL_GPL(fcoe_clean_pending_queue);
1207 1163
1208/** 1164/**
1209 * libfc_host_alloc - allocate a Scsi_Host with room for the fc_lport 1165 * libfc_host_alloc() - Allocate a Scsi_Host with room for the fc_lport
1210 * @sht: ptr to the scsi host templ 1166 * @sht: ptr to the scsi host templ
1211 * @priv_size: size of private data after fc_lport 1167 * @priv_size: size of private data after fc_lport
1212 * 1168 *
1213 * Returns: ptr to Scsi_Host 1169 * Returns: ptr to Scsi_Host
1214 * TODO - to libfc? 1170 * TODO: to libfc?
1215 */ 1171 */
1216static inline struct Scsi_Host *libfc_host_alloc( 1172static inline struct Scsi_Host *
1217 struct scsi_host_template *sht, int priv_size) 1173libfc_host_alloc(struct scsi_host_template *sht, int priv_size)
1218{ 1174{
1219 return scsi_host_alloc(sht, sizeof(struct fc_lport) + priv_size); 1175 return scsi_host_alloc(sht, sizeof(struct fc_lport) + priv_size);
1220} 1176}
1221 1177
1222/** 1178/**
1223 * fcoe_host_alloc - allocate a Scsi_Host with room for the fcoe_softc 1179 * fcoe_host_alloc() - Allocate a Scsi_Host with room for the fcoe_softc
1224 * @sht: ptr to the scsi host templ 1180 * @sht: ptr to the scsi host templ
1225 * @priv_size: size of private data after fc_lport 1181 * @priv_size: size of private data after fc_lport
1226 * 1182 *
@@ -1232,8 +1188,8 @@ struct Scsi_Host *fcoe_host_alloc(struct scsi_host_template *sht, int priv_size)
1232} 1188}
1233EXPORT_SYMBOL_GPL(fcoe_host_alloc); 1189EXPORT_SYMBOL_GPL(fcoe_host_alloc);
1234 1190
1235/* 1191/**
1236 * fcoe_reset - resets the fcoe 1192 * fcoe_reset() - Resets the fcoe
1237 * @shost: shost the reset is from 1193 * @shost: shost the reset is from
1238 * 1194 *
1239 * Returns: always 0 1195 * Returns: always 0
@@ -1246,8 +1202,8 @@ int fcoe_reset(struct Scsi_Host *shost)
1246} 1202}
1247EXPORT_SYMBOL_GPL(fcoe_reset); 1203EXPORT_SYMBOL_GPL(fcoe_reset);
1248 1204
1249/* 1205/**
1250 * fcoe_wwn_from_mac - converts 48-bit IEEE MAC address to 64-bit FC WWN. 1206 * fcoe_wwn_from_mac() - Converts 48-bit IEEE MAC address to 64-bit FC WWN.
1251 * @mac: mac address 1207 * @mac: mac address
1252 * @scheme: check port 1208 * @scheme: check port
1253 * @port: port indicator for converting 1209 * @port: port indicator for converting
@@ -1286,14 +1242,15 @@ u64 fcoe_wwn_from_mac(unsigned char mac[MAX_ADDR_LEN],
1286 return wwn; 1242 return wwn;
1287} 1243}
1288EXPORT_SYMBOL_GPL(fcoe_wwn_from_mac); 1244EXPORT_SYMBOL_GPL(fcoe_wwn_from_mac);
1289/* 1245
1290 * fcoe_hostlist_lookup_softc - find the corresponding lport by a given device 1246/**
1247 * fcoe_hostlist_lookup_softc() - find the corresponding lport by a given device
1291 * @device: this is currently ptr to net_device 1248 * @device: this is currently ptr to net_device
1292 * 1249 *
1293 * Returns: NULL or the located fcoe_softc 1250 * Returns: NULL or the located fcoe_softc
1294 */ 1251 */
1295static struct fcoe_softc *fcoe_hostlist_lookup_softc( 1252static struct fcoe_softc *
1296 const struct net_device *dev) 1253fcoe_hostlist_lookup_softc(const struct net_device *dev)
1297{ 1254{
1298 struct fcoe_softc *fc; 1255 struct fcoe_softc *fc;
1299 1256
@@ -1308,8 +1265,8 @@ static struct fcoe_softc *fcoe_hostlist_lookup_softc(
1308 return NULL; 1265 return NULL;
1309} 1266}
1310 1267
1311/* 1268/**
1312 * fcoe_hostlist_lookup - find the corresponding lport by netdev 1269 * fcoe_hostlist_lookup() - Find the corresponding lport by netdev
1313 * @netdev: ptr to net_device 1270 * @netdev: ptr to net_device
1314 * 1271 *
1315 * Returns: 0 for success 1272 * Returns: 0 for success
@@ -1324,8 +1281,8 @@ struct fc_lport *fcoe_hostlist_lookup(const struct net_device *netdev)
1324} 1281}
1325EXPORT_SYMBOL_GPL(fcoe_hostlist_lookup); 1282EXPORT_SYMBOL_GPL(fcoe_hostlist_lookup);
1326 1283
1327/* 1284/**
1328 * fcoe_hostlist_add - add a lport to lports list 1285 * fcoe_hostlist_add() - Add a lport to lports list
1329 * @lp: ptr to the fc_lport to badded 1286 * @lp: ptr to the fc_lport to badded
1330 * 1287 *
1331 * Returns: 0 for success 1288 * Returns: 0 for success
@@ -1336,7 +1293,7 @@ int fcoe_hostlist_add(const struct fc_lport *lp)
1336 1293
1337 fc = fcoe_hostlist_lookup_softc(fcoe_netdev(lp)); 1294 fc = fcoe_hostlist_lookup_softc(fcoe_netdev(lp));
1338 if (!fc) { 1295 if (!fc) {
1339 fc = fcoe_softc(lp); 1296 fc = lport_priv(lp);
1340 write_lock_bh(&fcoe_hostlist_lock); 1297 write_lock_bh(&fcoe_hostlist_lock);
1341 list_add_tail(&fc->list, &fcoe_hostlist); 1298 list_add_tail(&fc->list, &fcoe_hostlist);
1342 write_unlock_bh(&fcoe_hostlist_lock); 1299 write_unlock_bh(&fcoe_hostlist_lock);
@@ -1345,8 +1302,8 @@ int fcoe_hostlist_add(const struct fc_lport *lp)
1345} 1302}
1346EXPORT_SYMBOL_GPL(fcoe_hostlist_add); 1303EXPORT_SYMBOL_GPL(fcoe_hostlist_add);
1347 1304
1348/* 1305/**
1349 * fcoe_hostlist_remove - remove a lport from lports list 1306 * fcoe_hostlist_remove() - remove a lport from lports list
1350 * @lp: ptr to the fc_lport to badded 1307 * @lp: ptr to the fc_lport to badded
1351 * 1308 *
1352 * Returns: 0 for success 1309 * Returns: 0 for success
@@ -1366,12 +1323,12 @@ int fcoe_hostlist_remove(const struct fc_lport *lp)
1366EXPORT_SYMBOL_GPL(fcoe_hostlist_remove); 1323EXPORT_SYMBOL_GPL(fcoe_hostlist_remove);
1367 1324
1368/** 1325/**
1369 * fcoe_libfc_config - sets up libfc related properties for lport 1326 * fcoe_libfc_config() - sets up libfc related properties for lport
1370 * @lp: ptr to the fc_lport 1327 * @lp: ptr to the fc_lport
1371 * @tt: libfc function template 1328 * @tt: libfc function template
1372 * 1329 *
1373 * Returns : 0 for success 1330 * Returns : 0 for success
1374 **/ 1331 */
1375int fcoe_libfc_config(struct fc_lport *lp, struct libfc_function_template *tt) 1332int fcoe_libfc_config(struct fc_lport *lp, struct libfc_function_template *tt)
1376{ 1333{
1377 /* Set the function pointers set by the LLDD */ 1334 /* Set the function pointers set by the LLDD */
@@ -1389,14 +1346,14 @@ int fcoe_libfc_config(struct fc_lport *lp, struct libfc_function_template *tt)
1389EXPORT_SYMBOL_GPL(fcoe_libfc_config); 1346EXPORT_SYMBOL_GPL(fcoe_libfc_config);
1390 1347
1391/** 1348/**
1392 * fcoe_init - fcoe module loading initialization 1349 * fcoe_init() - fcoe module loading initialization
1393 * 1350 *
1394 * Initialization routine 1351 * Initialization routine
1395 * 1. Will create fc transport software structure 1352 * 1. Will create fc transport software structure
1396 * 2. initialize the link list of port information structure 1353 * 2. initialize the link list of port information structure
1397 * 1354 *
1398 * Returns 0 on success, negative on failure 1355 * Returns 0 on success, negative on failure
1399 **/ 1356 */
1400static int __init fcoe_init(void) 1357static int __init fcoe_init(void)
1401{ 1358{
1402 int cpu; 1359 int cpu;
@@ -1433,7 +1390,6 @@ static int __init fcoe_init(void)
1433 } else { 1390 } else {
1434 fcoe_percpu[cpu] = NULL; 1391 fcoe_percpu[cpu] = NULL;
1435 kfree(p); 1392 kfree(p);
1436
1437 } 1393 }
1438 } 1394 }
1439 } 1395 }
@@ -1443,11 +1399,9 @@ static int __init fcoe_init(void)
1443 */ 1399 */
1444 fcoe_dev_setup(); 1400 fcoe_dev_setup();
1445 1401
1446 init_timer(&fcoe_timer); 1402 setup_timer(&fcoe_timer, fcoe_watchdog, 0);
1447 fcoe_timer.data = 0; 1403
1448 fcoe_timer.function = fcoe_watchdog; 1404 mod_timer(&fcoe_timer, jiffies + (10 * HZ));
1449 fcoe_timer.expires = (jiffies + (10 * HZ));
1450 add_timer(&fcoe_timer);
1451 1405
1452 /* initiatlize the fcoe transport */ 1406 /* initiatlize the fcoe transport */
1453 fcoe_transport_init(); 1407 fcoe_transport_init();
@@ -1459,10 +1413,10 @@ static int __init fcoe_init(void)
1459module_init(fcoe_init); 1413module_init(fcoe_init);
1460 1414
1461/** 1415/**
1462 * fcoe_exit - fcoe module unloading cleanup 1416 * fcoe_exit() - fcoe module unloading cleanup
1463 * 1417 *
1464 * Returns 0 on success, negative on failure 1418 * Returns 0 on success, negative on failure
1465 **/ 1419 */
1466static void __exit fcoe_exit(void) 1420static void __exit fcoe_exit(void)
1467{ 1421{
1468 u32 idx; 1422 u32 idx;
@@ -1483,7 +1437,7 @@ static void __exit fcoe_exit(void)
1483 */ 1437 */
1484 del_timer_sync(&fcoe_timer); 1438 del_timer_sync(&fcoe_timer);
1485 1439
1486 /* releases the assocaited fcoe transport for each lport */ 1440 /* releases the associated fcoe transport for each lport */
1487 list_for_each_entry_safe(fc, tmp, &fcoe_hostlist, list) 1441 list_for_each_entry_safe(fc, tmp, &fcoe_hostlist, list)
1488 fcoe_transport_release(fc->real_dev); 1442 fcoe_transport_release(fc->real_dev);
1489 1443
diff --git a/drivers/scsi/lasi700.c b/drivers/scsi/lasi700.c
index 4a4e6954ec79..f23c4ca9a2ee 100644
--- a/drivers/scsi/lasi700.c
+++ b/drivers/scsi/lasi700.c
@@ -103,7 +103,7 @@ lasi700_probe(struct parisc_device *dev)
103 103
104 hostdata = kzalloc(sizeof(*hostdata), GFP_KERNEL); 104 hostdata = kzalloc(sizeof(*hostdata), GFP_KERNEL);
105 if (!hostdata) { 105 if (!hostdata) {
106 dev_printk(KERN_ERR, dev, "Failed to allocate host data\n"); 106 dev_printk(KERN_ERR, &dev->dev, "Failed to allocate host data\n");
107 return -ENOMEM; 107 return -ENOMEM;
108 } 108 }
109 109
diff --git a/drivers/scsi/libfc/fc_disc.c b/drivers/scsi/libfc/fc_disc.c
index dd1564c9e04a..e57556ea5b48 100644
--- a/drivers/scsi/libfc/fc_disc.c
+++ b/drivers/scsi/libfc/fc_disc.c
@@ -64,7 +64,7 @@ static void fc_disc_single(struct fc_disc *, struct fc_disc_port *);
64static void fc_disc_restart(struct fc_disc *); 64static void fc_disc_restart(struct fc_disc *);
65 65
66/** 66/**
67 * fc_disc_lookup_rport - lookup a remote port by port_id 67 * fc_disc_lookup_rport() - lookup a remote port by port_id
68 * @lport: Fibre Channel host port instance 68 * @lport: Fibre Channel host port instance
69 * @port_id: remote port port_id to match 69 * @port_id: remote port port_id to match
70 */ 70 */
@@ -92,7 +92,7 @@ struct fc_rport *fc_disc_lookup_rport(const struct fc_lport *lport,
92} 92}
93 93
94/** 94/**
95 * fc_disc_stop_rports - delete all the remote ports associated with the lport 95 * fc_disc_stop_rports() - delete all the remote ports associated with the lport
96 * @disc: The discovery job to stop rports on 96 * @disc: The discovery job to stop rports on
97 * 97 *
98 * Locking Note: This function expects that the lport mutex is locked before 98 * Locking Note: This function expects that the lport mutex is locked before
@@ -117,7 +117,7 @@ void fc_disc_stop_rports(struct fc_disc *disc)
117} 117}
118 118
119/** 119/**
120 * fc_disc_rport_callback - Event handler for rport events 120 * fc_disc_rport_callback() - Event handler for rport events
121 * @lport: The lport which is receiving the event 121 * @lport: The lport which is receiving the event
122 * @rport: The rport which the event has occured on 122 * @rport: The rport which the event has occured on
123 * @event: The event that occured 123 * @event: The event that occured
@@ -151,7 +151,7 @@ static void fc_disc_rport_callback(struct fc_lport *lport,
151} 151}
152 152
153/** 153/**
154 * fc_disc_recv_rscn_req - Handle Registered State Change Notification (RSCN) 154 * fc_disc_recv_rscn_req() - Handle Registered State Change Notification (RSCN)
155 * @sp: Current sequence of the RSCN exchange 155 * @sp: Current sequence of the RSCN exchange
156 * @fp: RSCN Frame 156 * @fp: RSCN Frame
157 * @lport: Fibre Channel host port instance 157 * @lport: Fibre Channel host port instance
@@ -246,7 +246,7 @@ static void fc_disc_recv_rscn_req(struct fc_seq *sp, struct fc_frame *fp,
246 list_del(&dp->peers); 246 list_del(&dp->peers);
247 rport = lport->tt.rport_lookup(lport, dp->ids.port_id); 247 rport = lport->tt.rport_lookup(lport, dp->ids.port_id);
248 if (rport) { 248 if (rport) {
249 rdata = RPORT_TO_PRIV(rport); 249 rdata = rport->dd_data;
250 list_del(&rdata->peers); 250 list_del(&rdata->peers);
251 lport->tt.rport_logoff(rport); 251 lport->tt.rport_logoff(rport);
252 } 252 }
@@ -265,7 +265,7 @@ reject:
265} 265}
266 266
267/** 267/**
268 * fc_disc_recv_req - Handle incoming requests 268 * fc_disc_recv_req() - Handle incoming requests
269 * @sp: Current sequence of the request exchange 269 * @sp: Current sequence of the request exchange
270 * @fp: The frame 270 * @fp: The frame
271 * @lport: The FC local port 271 * @lport: The FC local port
@@ -294,7 +294,7 @@ static void fc_disc_recv_req(struct fc_seq *sp, struct fc_frame *fp,
294} 294}
295 295
296/** 296/**
297 * fc_disc_restart - Restart discovery 297 * fc_disc_restart() - Restart discovery
298 * @lport: FC discovery context 298 * @lport: FC discovery context
299 * 299 *
300 * Locking Note: This function expects that the disc mutex 300 * Locking Note: This function expects that the disc mutex
@@ -322,7 +322,7 @@ static void fc_disc_restart(struct fc_disc *disc)
322} 322}
323 323
324/** 324/**
325 * fc_disc_start - Fibre Channel Target discovery 325 * fc_disc_start() - Fibre Channel Target discovery
326 * @lport: FC local port 326 * @lport: FC local port
327 * 327 *
328 * Returns non-zero if discovery cannot be started. 328 * Returns non-zero if discovery cannot be started.
@@ -383,7 +383,7 @@ static struct fc_rport_operations fc_disc_rport_ops = {
383}; 383};
384 384
385/** 385/**
386 * fc_disc_new_target - Handle new target found by discovery 386 * fc_disc_new_target() - Handle new target found by discovery
387 * @lport: FC local port 387 * @lport: FC local port
388 * @rport: The previous FC remote port (NULL if new remote port) 388 * @rport: The previous FC remote port (NULL if new remote port)
389 * @ids: Identifiers for the new FC remote port 389 * @ids: Identifiers for the new FC remote port
@@ -396,7 +396,7 @@ static int fc_disc_new_target(struct fc_disc *disc,
396 struct fc_rport_identifiers *ids) 396 struct fc_rport_identifiers *ids)
397{ 397{
398 struct fc_lport *lport = disc->lport; 398 struct fc_lport *lport = disc->lport;
399 struct fc_rport_libfc_priv *rp; 399 struct fc_rport_libfc_priv *rdata;
400 int error = 0; 400 int error = 0;
401 401
402 if (rport && ids->port_name) { 402 if (rport && ids->port_name) {
@@ -430,15 +430,15 @@ static int fc_disc_new_target(struct fc_disc *disc,
430 dp.ids.port_name = ids->port_name; 430 dp.ids.port_name = ids->port_name;
431 dp.ids.node_name = ids->node_name; 431 dp.ids.node_name = ids->node_name;
432 dp.ids.roles = ids->roles; 432 dp.ids.roles = ids->roles;
433 rport = fc_rport_rogue_create(&dp); 433 rport = lport->tt.rport_create(&dp);
434 } 434 }
435 if (!rport) 435 if (!rport)
436 error = -ENOMEM; 436 error = -ENOMEM;
437 } 437 }
438 if (rport) { 438 if (rport) {
439 rp = rport->dd_data; 439 rdata = rport->dd_data;
440 rp->ops = &fc_disc_rport_ops; 440 rdata->ops = &fc_disc_rport_ops;
441 rp->rp_state = RPORT_ST_INIT; 441 rdata->rp_state = RPORT_ST_INIT;
442 lport->tt.rport_login(rport); 442 lport->tt.rport_login(rport);
443 } 443 }
444 } 444 }
@@ -446,20 +446,20 @@ static int fc_disc_new_target(struct fc_disc *disc,
446} 446}
447 447
448/** 448/**
449 * fc_disc_del_target - Delete a target 449 * fc_disc_del_target() - Delete a target
450 * @disc: FC discovery context 450 * @disc: FC discovery context
451 * @rport: The remote port to be removed 451 * @rport: The remote port to be removed
452 */ 452 */
453static void fc_disc_del_target(struct fc_disc *disc, struct fc_rport *rport) 453static void fc_disc_del_target(struct fc_disc *disc, struct fc_rport *rport)
454{ 454{
455 struct fc_lport *lport = disc->lport; 455 struct fc_lport *lport = disc->lport;
456 struct fc_rport_libfc_priv *rdata = RPORT_TO_PRIV(rport); 456 struct fc_rport_libfc_priv *rdata = rport->dd_data;
457 list_del(&rdata->peers); 457 list_del(&rdata->peers);
458 lport->tt.rport_logoff(rport); 458 lport->tt.rport_logoff(rport);
459} 459}
460 460
461/** 461/**
462 * fc_disc_done - Discovery has been completed 462 * fc_disc_done() - Discovery has been completed
463 * @disc: FC discovery context 463 * @disc: FC discovery context
464 */ 464 */
465static void fc_disc_done(struct fc_disc *disc) 465static void fc_disc_done(struct fc_disc *disc)
@@ -479,7 +479,7 @@ static void fc_disc_done(struct fc_disc *disc)
479} 479}
480 480
481/** 481/**
482 * fc_disc_error - Handle error on dNS request 482 * fc_disc_error() - Handle error on dNS request
483 * @disc: FC discovery context 483 * @disc: FC discovery context
484 * @fp: The frame pointer 484 * @fp: The frame pointer
485 */ 485 */
@@ -519,7 +519,7 @@ static void fc_disc_error(struct fc_disc *disc, struct fc_frame *fp)
519} 519}
520 520
521/** 521/**
522 * fc_disc_gpn_ft_req - Send Get Port Names by FC-4 type (GPN_FT) request 522 * fc_disc_gpn_ft_req() - Send Get Port Names by FC-4 type (GPN_FT) request
523 * @lport: FC discovery context 523 * @lport: FC discovery context
524 * 524 *
525 * Locking Note: This function expects that the disc_mutex is locked 525 * Locking Note: This function expects that the disc_mutex is locked
@@ -553,7 +553,7 @@ err:
553} 553}
554 554
555/** 555/**
556 * fc_disc_gpn_ft_parse - Parse the list of IDs and names resulting from a request 556 * fc_disc_gpn_ft_parse() - Parse the list of IDs and names resulting from a request
557 * @lport: Fibre Channel host port instance 557 * @lport: Fibre Channel host port instance
558 * @buf: GPN_FT response buffer 558 * @buf: GPN_FT response buffer
559 * @len: size of response buffer 559 * @len: size of response buffer
@@ -617,7 +617,7 @@ static int fc_disc_gpn_ft_parse(struct fc_disc *disc, void *buf, size_t len)
617 617
618 if ((dp.ids.port_id != fc_host_port_id(lport->host)) && 618 if ((dp.ids.port_id != fc_host_port_id(lport->host)) &&
619 (dp.ids.port_name != lport->wwpn)) { 619 (dp.ids.port_name != lport->wwpn)) {
620 rport = fc_rport_rogue_create(&dp); 620 rport = lport->tt.rport_create(&dp);
621 if (rport) { 621 if (rport) {
622 rdata = rport->dd_data; 622 rdata = rport->dd_data;
623 rdata->ops = &fc_disc_rport_ops; 623 rdata->ops = &fc_disc_rport_ops;
@@ -658,7 +658,10 @@ static int fc_disc_gpn_ft_parse(struct fc_disc *disc, void *buf, size_t len)
658 return error; 658 return error;
659} 659}
660 660
661/* 661/**
662 * fc_disc_timeout() - Retry handler for the disc component
663 * @work: Structure holding disc obj that needs retry discovery
664 *
662 * Handle retry of memory allocation for remote ports. 665 * Handle retry of memory allocation for remote ports.
663 */ 666 */
664static void fc_disc_timeout(struct work_struct *work) 667static void fc_disc_timeout(struct work_struct *work)
@@ -673,7 +676,7 @@ static void fc_disc_timeout(struct work_struct *work)
673} 676}
674 677
675/** 678/**
676 * fc_disc_gpn_ft_resp - Handle a response frame from Get Port Names (GPN_FT) 679 * fc_disc_gpn_ft_resp() - Handle a response frame from Get Port Names (GPN_FT)
677 * @sp: Current sequence of GPN_FT exchange 680 * @sp: Current sequence of GPN_FT exchange
678 * @fp: response frame 681 * @fp: response frame
679 * @lp_arg: Fibre Channel host port instance 682 * @lp_arg: Fibre Channel host port instance
@@ -712,9 +715,7 @@ static void fc_disc_gpn_ft_resp(struct fc_seq *sp, struct fc_frame *fp,
712 fr_len(fp)); 715 fr_len(fp));
713 } else if (ntohs(cp->ct_cmd) == FC_FS_ACC) { 716 } else if (ntohs(cp->ct_cmd) == FC_FS_ACC) {
714 717
715 /* 718 /* Accepted, parse the response. */
716 * Accepted. Parse response.
717 */
718 buf = cp + 1; 719 buf = cp + 1;
719 len -= sizeof(*cp); 720 len -= sizeof(*cp);
720 } else if (ntohs(cp->ct_cmd) == FC_FS_RJT) { 721 } else if (ntohs(cp->ct_cmd) == FC_FS_RJT) {
@@ -746,7 +747,7 @@ static void fc_disc_gpn_ft_resp(struct fc_seq *sp, struct fc_frame *fp,
746} 747}
747 748
748/** 749/**
749 * fc_disc_single - Discover the directory information for a single target 750 * fc_disc_single() - Discover the directory information for a single target
750 * @lport: FC local port 751 * @lport: FC local port
751 * @dp: The port to rediscover 752 * @dp: The port to rediscover
752 * 753 *
@@ -769,7 +770,7 @@ static void fc_disc_single(struct fc_disc *disc, struct fc_disc_port *dp)
769 if (rport) 770 if (rport)
770 fc_disc_del_target(disc, rport); 771 fc_disc_del_target(disc, rport);
771 772
772 new_rport = fc_rport_rogue_create(dp); 773 new_rport = lport->tt.rport_create(dp);
773 if (new_rport) { 774 if (new_rport) {
774 rdata = new_rport->dd_data; 775 rdata = new_rport->dd_data;
775 rdata->ops = &fc_disc_rport_ops; 776 rdata->ops = &fc_disc_rport_ops;
@@ -782,7 +783,7 @@ out:
782} 783}
783 784
784/** 785/**
785 * fc_disc_stop - Stop discovery for a given lport 786 * fc_disc_stop() - Stop discovery for a given lport
786 * @lport: The lport that discovery should stop for 787 * @lport: The lport that discovery should stop for
787 */ 788 */
788void fc_disc_stop(struct fc_lport *lport) 789void fc_disc_stop(struct fc_lport *lport)
@@ -796,7 +797,7 @@ void fc_disc_stop(struct fc_lport *lport)
796} 797}
797 798
798/** 799/**
799 * fc_disc_stop_final - Stop discovery for a given lport 800 * fc_disc_stop_final() - Stop discovery for a given lport
800 * @lport: The lport that discovery should stop for 801 * @lport: The lport that discovery should stop for
801 * 802 *
802 * This function will block until discovery has been 803 * This function will block until discovery has been
@@ -809,7 +810,7 @@ void fc_disc_stop_final(struct fc_lport *lport)
809} 810}
810 811
811/** 812/**
812 * fc_disc_init - Initialize the discovery block 813 * fc_disc_init() - Initialize the discovery block
813 * @lport: FC local port 814 * @lport: FC local port
814 */ 815 */
815int fc_disc_init(struct fc_lport *lport) 816int fc_disc_init(struct fc_lport *lport)
diff --git a/drivers/scsi/libfc/fc_exch.c b/drivers/scsi/libfc/fc_exch.c
index 66db08a5f27f..505825b6124d 100644
--- a/drivers/scsi/libfc/fc_exch.c
+++ b/drivers/scsi/libfc/fc_exch.c
@@ -32,8 +32,6 @@
32#include <scsi/libfc.h> 32#include <scsi/libfc.h>
33#include <scsi/fc_encode.h> 33#include <scsi/fc_encode.h>
34 34
35#define FC_DEF_R_A_TOV (10 * 1000) /* resource allocation timeout */
36
37/* 35/*
38 * fc_exch_debug can be set in debugger or at compile time to get more logs. 36 * fc_exch_debug can be set in debugger or at compile time to get more logs.
39 */ 37 */
@@ -627,7 +625,6 @@ static struct fc_exch *fc_exch_resp(struct fc_exch_mgr *mp, struct fc_frame *fp)
627{ 625{
628 struct fc_exch *ep; 626 struct fc_exch *ep;
629 struct fc_frame_header *fh; 627 struct fc_frame_header *fh;
630 u16 rxid;
631 628
632 ep = mp->lp->tt.exch_get(mp->lp, fp); 629 ep = mp->lp->tt.exch_get(mp->lp, fp);
633 if (ep) { 630 if (ep) {
@@ -654,18 +651,6 @@ static struct fc_exch *fc_exch_resp(struct fc_exch_mgr *mp, struct fc_frame *fp)
654 if ((ntoh24(fh->fh_f_ctl) & FC_FC_SEQ_INIT) == 0) 651 if ((ntoh24(fh->fh_f_ctl) & FC_FC_SEQ_INIT) == 0)
655 ep->esb_stat &= ~ESB_ST_SEQ_INIT; 652 ep->esb_stat &= ~ESB_ST_SEQ_INIT;
656 653
657 /*
658 * Set the responder ID in the frame header.
659 * The old one should've been 0xffff.
660 * If it isn't, don't assign one.
661 * Incoming basic link service frames may specify
662 * a referenced RX_ID.
663 */
664 if (fh->fh_type != FC_TYPE_BLS) {
665 rxid = ntohs(fh->fh_rx_id);
666 WARN_ON(rxid != FC_XID_UNKNOWN);
667 fh->fh_rx_id = htons(ep->rxid);
668 }
669 fc_exch_hold(ep); /* hold for caller */ 654 fc_exch_hold(ep); /* hold for caller */
670 spin_unlock_bh(&ep->ex_lock); /* lock from exch_get */ 655 spin_unlock_bh(&ep->ex_lock); /* lock from exch_get */
671 } 656 }
@@ -677,8 +662,8 @@ static struct fc_exch *fc_exch_resp(struct fc_exch_mgr *mp, struct fc_frame *fp)
677 * If fc_pf_rjt_reason is FC_RJT_NONE then this function will have a hold 662 * If fc_pf_rjt_reason is FC_RJT_NONE then this function will have a hold
678 * on the ep that should be released by the caller. 663 * on the ep that should be released by the caller.
679 */ 664 */
680static enum fc_pf_rjt_reason 665static enum fc_pf_rjt_reason fc_seq_lookup_recip(struct fc_exch_mgr *mp,
681fc_seq_lookup_recip(struct fc_exch_mgr *mp, struct fc_frame *fp) 666 struct fc_frame *fp)
682{ 667{
683 struct fc_frame_header *fh = fc_frame_header_get(fp); 668 struct fc_frame_header *fh = fc_frame_header_get(fp);
684 struct fc_exch *ep = NULL; 669 struct fc_exch *ep = NULL;
@@ -996,9 +981,9 @@ static void fc_seq_send_ack(struct fc_seq *sp, const struct fc_frame *rx_fp)
996 * Send BLS Reject. 981 * Send BLS Reject.
997 * This is for rejecting BA_ABTS only. 982 * This is for rejecting BA_ABTS only.
998 */ 983 */
999static void 984static void fc_exch_send_ba_rjt(struct fc_frame *rx_fp,
1000fc_exch_send_ba_rjt(struct fc_frame *rx_fp, enum fc_ba_rjt_reason reason, 985 enum fc_ba_rjt_reason reason,
1001 enum fc_ba_rjt_explan explan) 986 enum fc_ba_rjt_explan explan)
1002{ 987{
1003 struct fc_frame *fp; 988 struct fc_frame *fp;
1004 struct fc_frame_header *rx_fh; 989 struct fc_frame_header *rx_fh;
@@ -1096,7 +1081,7 @@ static void fc_exch_recv_abts(struct fc_exch *ep, struct fc_frame *rx_fp)
1096 ap->ba_high_seq_cnt = fh->fh_seq_cnt; 1081 ap->ba_high_seq_cnt = fh->fh_seq_cnt;
1097 ap->ba_low_seq_cnt = htons(sp->cnt); 1082 ap->ba_low_seq_cnt = htons(sp->cnt);
1098 } 1083 }
1099 sp = fc_seq_start_next(sp); 1084 sp = fc_seq_start_next_locked(sp);
1100 spin_unlock_bh(&ep->ex_lock); 1085 spin_unlock_bh(&ep->ex_lock);
1101 fc_seq_send_last(sp, fp, FC_RCTL_BA_ACC, FC_TYPE_BLS); 1086 fc_seq_send_last(sp, fp, FC_RCTL_BA_ACC, FC_TYPE_BLS);
1102 fc_frame_free(rx_fp); 1087 fc_frame_free(rx_fp);
@@ -1480,10 +1465,11 @@ static void fc_exch_reset(struct fc_exch *ep)
1480 * If sid is non-zero, reset only exchanges we source from that FID. 1465 * If sid is non-zero, reset only exchanges we source from that FID.
1481 * If did is non-zero, reset only exchanges destined to that FID. 1466 * If did is non-zero, reset only exchanges destined to that FID.
1482 */ 1467 */
1483void fc_exch_mgr_reset(struct fc_exch_mgr *mp, u32 sid, u32 did) 1468void fc_exch_mgr_reset(struct fc_lport *lp, u32 sid, u32 did)
1484{ 1469{
1485 struct fc_exch *ep; 1470 struct fc_exch *ep;
1486 struct fc_exch *next; 1471 struct fc_exch *next;
1472 struct fc_exch_mgr *mp = lp->emp;
1487 1473
1488 spin_lock_bh(&mp->em_lock); 1474 spin_lock_bh(&mp->em_lock);
1489restart: 1475restart:
@@ -1607,7 +1593,7 @@ static void fc_exch_rrq_resp(struct fc_seq *sp, struct fc_frame *fp, void *arg)
1607 if (IS_ERR(fp)) { 1593 if (IS_ERR(fp)) {
1608 int err = PTR_ERR(fp); 1594 int err = PTR_ERR(fp);
1609 1595
1610 if (err == -FC_EX_CLOSED) 1596 if (err == -FC_EX_CLOSED || err == -FC_EX_TIMEOUT)
1611 goto cleanup; 1597 goto cleanup;
1612 FC_DBG("Cannot process RRQ, because of frame error %d\n", err); 1598 FC_DBG("Cannot process RRQ, because of frame error %d\n", err);
1613 return; 1599 return;
diff --git a/drivers/scsi/libfc/fc_fcp.c b/drivers/scsi/libfc/fc_fcp.c
index 404e63ff46b8..2a631d7dbcec 100644
--- a/drivers/scsi/libfc/fc_fcp.c
+++ b/drivers/scsi/libfc/fc_fcp.c
@@ -161,7 +161,7 @@ static struct fc_fcp_pkt *fc_fcp_pkt_alloc(struct fc_lport *lp, gfp_t gfp)
161} 161}
162 162
163/** 163/**
164 * fc_fcp_pkt_release - release hold on scsi_pkt packet 164 * fc_fcp_pkt_release() - release hold on scsi_pkt packet
165 * @fsp: fcp packet struct 165 * @fsp: fcp packet struct
166 * 166 *
167 * This is used by upper layer scsi driver. 167 * This is used by upper layer scsi driver.
@@ -183,8 +183,7 @@ static void fc_fcp_pkt_hold(struct fc_fcp_pkt *fsp)
183} 183}
184 184
185/** 185/**
186 * fc_fcp_pkt_destory - release hold on scsi_pkt packet 186 * fc_fcp_pkt_destory() - release hold on scsi_pkt packet
187 *
188 * @seq: exchange sequence 187 * @seq: exchange sequence
189 * @fsp: fcp packet struct 188 * @fsp: fcp packet struct
190 * 189 *
@@ -199,7 +198,7 @@ static void fc_fcp_pkt_destroy(struct fc_seq *seq, void *fsp)
199} 198}
200 199
201/** 200/**
202 * fc_fcp_lock_pkt - lock a packet and get a ref to it. 201 * fc_fcp_lock_pkt() - lock a packet and get a ref to it.
203 * @fsp: fcp packet 202 * @fsp: fcp packet
204 * 203 *
205 * We should only return error if we return a command to scsi-ml before 204 * We should only return error if we return a command to scsi-ml before
@@ -291,9 +290,7 @@ static void fc_fcp_recv_data(struct fc_fcp_pkt *fsp, struct fc_frame *fp)
291 buf = fc_frame_payload_get(fp, 0); 290 buf = fc_frame_payload_get(fp, 0);
292 291
293 if (offset + len > fsp->data_len) { 292 if (offset + len > fsp->data_len) {
294 /* 293 /* this should never happen */
295 * this should never happen
296 */
297 if ((fr_flags(fp) & FCPHF_CRC_UNCHECKED) && 294 if ((fr_flags(fp) & FCPHF_CRC_UNCHECKED) &&
298 fc_frame_crc_check(fp)) 295 fc_frame_crc_check(fp))
299 goto crc_err; 296 goto crc_err;
@@ -387,8 +384,8 @@ crc_err:
387 fc_fcp_complete_locked(fsp); 384 fc_fcp_complete_locked(fsp);
388} 385}
389 386
390/* 387/**
391 * fc_fcp_send_data - Send SCSI data to target. 388 * fc_fcp_send_data() - Send SCSI data to target.
392 * @fsp: ptr to fc_fcp_pkt 389 * @fsp: ptr to fc_fcp_pkt
393 * @sp: ptr to this sequence 390 * @sp: ptr to this sequence
394 * @offset: starting offset for this data request 391 * @offset: starting offset for this data request
@@ -610,8 +607,8 @@ static void fc_fcp_abts_resp(struct fc_fcp_pkt *fsp, struct fc_frame *fp)
610 } 607 }
611} 608}
612 609
613/* 610/**
614 * fc_fcp_reduce_can_queue - drop can_queue 611 * fc_fcp_reduce_can_queue() - drop can_queue
615 * @lp: lport to drop queueing for 612 * @lp: lport to drop queueing for
616 * 613 *
617 * If we are getting memory allocation failures, then we may 614 * If we are getting memory allocation failures, then we may
@@ -642,9 +639,11 @@ done:
642 spin_unlock_irqrestore(lp->host->host_lock, flags); 639 spin_unlock_irqrestore(lp->host->host_lock, flags);
643} 640}
644 641
645/* 642/**
646 * exch mgr calls this routine to process scsi 643 * fc_fcp_recv() - Reveive FCP frames
647 * exchanges. 644 * @seq: The sequence the frame is on
645 * @fp: The FC frame
646 * @arg: The related FCP packet
648 * 647 *
649 * Return : None 648 * Return : None
650 * Context : called from Soft IRQ context 649 * Context : called from Soft IRQ context
@@ -832,7 +831,7 @@ err:
832} 831}
833 832
834/** 833/**
835 * fc_fcp_complete_locked - complete processing of a fcp packet 834 * fc_fcp_complete_locked() - complete processing of a fcp packet
836 * @fsp: fcp packet 835 * @fsp: fcp packet
837 * 836 *
838 * This function may sleep if a timer is pending. The packet lock must be 837 * This function may sleep if a timer is pending. The packet lock must be
@@ -900,7 +899,7 @@ static void fc_fcp_cleanup_cmd(struct fc_fcp_pkt *fsp, int error)
900} 899}
901 900
902/** 901/**
903 * fc_fcp_cleanup_each_cmd - run fn on each active command 902 * fc_fcp_cleanup_each_cmd() - Cleanup active commads
904 * @lp: logical port 903 * @lp: logical port
905 * @id: target id 904 * @id: target id
906 * @lun: lun 905 * @lun: lun
@@ -952,7 +951,7 @@ static void fc_fcp_abort_io(struct fc_lport *lp)
952} 951}
953 952
954/** 953/**
955 * fc_fcp_pkt_send - send a fcp packet to the lower level. 954 * fc_fcp_pkt_send() - send a fcp packet to the lower level.
956 * @lp: fc lport 955 * @lp: fc lport
957 * @fsp: fc packet. 956 * @fsp: fc packet.
958 * 957 *
@@ -1621,7 +1620,7 @@ out:
1621static inline int fc_fcp_lport_queue_ready(struct fc_lport *lp) 1620static inline int fc_fcp_lport_queue_ready(struct fc_lport *lp)
1622{ 1621{
1623 /* lock ? */ 1622 /* lock ? */
1624 return (lp->state == LPORT_ST_READY) && (lp->link_status & FC_LINK_UP); 1623 return (lp->state == LPORT_ST_READY) && lp->link_up && !lp->qfull;
1625} 1624}
1626 1625
1627/** 1626/**
@@ -1727,7 +1726,7 @@ out:
1727EXPORT_SYMBOL(fc_queuecommand); 1726EXPORT_SYMBOL(fc_queuecommand);
1728 1727
1729/** 1728/**
1730 * fc_io_compl - Handle responses for completed commands 1729 * fc_io_compl() - Handle responses for completed commands
1731 * @fsp: scsi packet 1730 * @fsp: scsi packet
1732 * 1731 *
1733 * Translates a error to a Linux SCSI error. 1732 * Translates a error to a Linux SCSI error.
@@ -1810,12 +1809,12 @@ static void fc_io_compl(struct fc_fcp_pkt *fsp)
1810 sc_cmd->result = DID_ERROR << 16; 1809 sc_cmd->result = DID_ERROR << 16;
1811 break; 1810 break;
1812 case FC_DATA_UNDRUN: 1811 case FC_DATA_UNDRUN:
1813 if (fsp->cdb_status == 0) { 1812 if ((fsp->cdb_status == 0) && !(fsp->req_flags & FC_SRB_READ)) {
1814 /* 1813 /*
1815 * scsi status is good but transport level 1814 * scsi status is good but transport level
1816 * underrun. for read it should be an error?? 1815 * underrun.
1817 */ 1816 */
1818 sc_cmd->result = (DID_OK << 16) | fsp->cdb_status; 1817 sc_cmd->result = DID_OK << 16;
1819 } else { 1818 } else {
1820 /* 1819 /*
1821 * scsi got underrun, this is an error 1820 * scsi got underrun, this is an error
@@ -1857,7 +1856,7 @@ static void fc_io_compl(struct fc_fcp_pkt *fsp)
1857} 1856}
1858 1857
1859/** 1858/**
1860 * fc_fcp_complete - complete processing of a fcp packet 1859 * fc_fcp_complete() - complete processing of a fcp packet
1861 * @fsp: fcp packet 1860 * @fsp: fcp packet
1862 * 1861 *
1863 * This function may sleep if a fsp timer is pending. 1862 * This function may sleep if a fsp timer is pending.
@@ -1874,9 +1873,10 @@ void fc_fcp_complete(struct fc_fcp_pkt *fsp)
1874EXPORT_SYMBOL(fc_fcp_complete); 1873EXPORT_SYMBOL(fc_fcp_complete);
1875 1874
1876/** 1875/**
1877 * fc_eh_abort - Abort a command...from scsi host template 1876 * fc_eh_abort() - Abort a command
1878 * @sc_cmd: scsi command to abort 1877 * @sc_cmd: scsi command to abort
1879 * 1878 *
1879 * From scsi host template.
1880 * send ABTS to the target device and wait for the response 1880 * send ABTS to the target device and wait for the response
1881 * sc_cmd is the pointer to the command to be aborted. 1881 * sc_cmd is the pointer to the command to be aborted.
1882 */ 1882 */
@@ -1890,7 +1890,7 @@ int fc_eh_abort(struct scsi_cmnd *sc_cmd)
1890 lp = shost_priv(sc_cmd->device->host); 1890 lp = shost_priv(sc_cmd->device->host);
1891 if (lp->state != LPORT_ST_READY) 1891 if (lp->state != LPORT_ST_READY)
1892 return rc; 1892 return rc;
1893 else if (!(lp->link_status & FC_LINK_UP)) 1893 else if (!lp->link_up)
1894 return rc; 1894 return rc;
1895 1895
1896 spin_lock_irqsave(lp->host->host_lock, flags); 1896 spin_lock_irqsave(lp->host->host_lock, flags);
@@ -1920,7 +1920,7 @@ release_pkt:
1920EXPORT_SYMBOL(fc_eh_abort); 1920EXPORT_SYMBOL(fc_eh_abort);
1921 1921
1922/** 1922/**
1923 * fc_eh_device_reset: Reset a single LUN 1923 * fc_eh_device_reset() Reset a single LUN
1924 * @sc_cmd: scsi command 1924 * @sc_cmd: scsi command
1925 * 1925 *
1926 * Set from scsi host template to send tm cmd to the target and wait for the 1926 * Set from scsi host template to send tm cmd to the target and wait for the
@@ -1973,7 +1973,7 @@ out:
1973EXPORT_SYMBOL(fc_eh_device_reset); 1973EXPORT_SYMBOL(fc_eh_device_reset);
1974 1974
1975/** 1975/**
1976 * fc_eh_host_reset - The reset function will reset the ports on the host. 1976 * fc_eh_host_reset() - The reset function will reset the ports on the host.
1977 * @sc_cmd: scsi command 1977 * @sc_cmd: scsi command
1978 */ 1978 */
1979int fc_eh_host_reset(struct scsi_cmnd *sc_cmd) 1979int fc_eh_host_reset(struct scsi_cmnd *sc_cmd)
@@ -1999,7 +1999,7 @@ int fc_eh_host_reset(struct scsi_cmnd *sc_cmd)
1999EXPORT_SYMBOL(fc_eh_host_reset); 1999EXPORT_SYMBOL(fc_eh_host_reset);
2000 2000
2001/** 2001/**
2002 * fc_slave_alloc - configure queue depth 2002 * fc_slave_alloc() - configure queue depth
2003 * @sdev: scsi device 2003 * @sdev: scsi device
2004 * 2004 *
2005 * Configures queue depth based on host's cmd_per_len. If not set 2005 * Configures queue depth based on host's cmd_per_len. If not set
diff --git a/drivers/scsi/libfc/fc_lport.c b/drivers/scsi/libfc/fc_lport.c
index 0b9bdb1fb807..2ae50a1188e6 100644
--- a/drivers/scsi/libfc/fc_lport.c
+++ b/drivers/scsi/libfc/fc_lport.c
@@ -139,7 +139,7 @@ static int fc_frame_drop(struct fc_lport *lport, struct fc_frame *fp)
139} 139}
140 140
141/** 141/**
142 * fc_lport_rport_callback - Event handler for rport events 142 * fc_lport_rport_callback() - Event handler for rport events
143 * @lport: The lport which is receiving the event 143 * @lport: The lport which is receiving the event
144 * @rport: The rport which the event has occured on 144 * @rport: The rport which the event has occured on
145 * @event: The event that occured 145 * @event: The event that occured
@@ -195,7 +195,7 @@ static void fc_lport_rport_callback(struct fc_lport *lport,
195} 195}
196 196
197/** 197/**
198 * fc_lport_state - Return a string which represents the lport's state 198 * fc_lport_state() - Return a string which represents the lport's state
199 * @lport: The lport whose state is to converted to a string 199 * @lport: The lport whose state is to converted to a string
200 */ 200 */
201static const char *fc_lport_state(struct fc_lport *lport) 201static const char *fc_lport_state(struct fc_lport *lport)
@@ -209,7 +209,7 @@ static const char *fc_lport_state(struct fc_lport *lport)
209} 209}
210 210
211/** 211/**
212 * fc_lport_ptp_setup - Create an rport for point-to-point mode 212 * fc_lport_ptp_setup() - Create an rport for point-to-point mode
213 * @lport: The lport to attach the ptp rport to 213 * @lport: The lport to attach the ptp rport to
214 * @fid: The FID of the ptp rport 214 * @fid: The FID of the ptp rport
215 * @remote_wwpn: The WWPN of the ptp rport 215 * @remote_wwpn: The WWPN of the ptp rport
@@ -232,7 +232,7 @@ static void fc_lport_ptp_setup(struct fc_lport *lport,
232 lport->ptp_rp = NULL; 232 lport->ptp_rp = NULL;
233 } 233 }
234 234
235 lport->ptp_rp = fc_rport_rogue_create(&dp); 235 lport->ptp_rp = lport->tt.rport_create(&dp);
236 236
237 lport->tt.rport_login(lport->ptp_rp); 237 lport->tt.rport_login(lport->ptp_rp);
238 238
@@ -250,7 +250,7 @@ void fc_get_host_port_state(struct Scsi_Host *shost)
250{ 250{
251 struct fc_lport *lp = shost_priv(shost); 251 struct fc_lport *lp = shost_priv(shost);
252 252
253 if ((lp->link_status & FC_LINK_UP) == FC_LINK_UP) 253 if (lp->link_up)
254 fc_host_port_state(shost) = FC_PORTSTATE_ONLINE; 254 fc_host_port_state(shost) = FC_PORTSTATE_ONLINE;
255 else 255 else
256 fc_host_port_state(shost) = FC_PORTSTATE_OFFLINE; 256 fc_host_port_state(shost) = FC_PORTSTATE_OFFLINE;
@@ -351,7 +351,7 @@ static void fc_lport_add_fc4_type(struct fc_lport *lport, enum fc_fh_type type)
351} 351}
352 352
353/** 353/**
354 * fc_lport_recv_rlir_req - Handle received Registered Link Incident Report. 354 * fc_lport_recv_rlir_req() - Handle received Registered Link Incident Report.
355 * @lport: Fibre Channel local port recieving the RLIR 355 * @lport: Fibre Channel local port recieving the RLIR
356 * @sp: current sequence in the RLIR exchange 356 * @sp: current sequence in the RLIR exchange
357 * @fp: RLIR request frame 357 * @fp: RLIR request frame
@@ -370,7 +370,7 @@ static void fc_lport_recv_rlir_req(struct fc_seq *sp, struct fc_frame *fp,
370} 370}
371 371
372/** 372/**
373 * fc_lport_recv_echo_req - Handle received ECHO request 373 * fc_lport_recv_echo_req() - Handle received ECHO request
374 * @lport: Fibre Channel local port recieving the ECHO 374 * @lport: Fibre Channel local port recieving the ECHO
375 * @sp: current sequence in the ECHO exchange 375 * @sp: current sequence in the ECHO exchange
376 * @fp: ECHO request frame 376 * @fp: ECHO request frame
@@ -412,7 +412,7 @@ static void fc_lport_recv_echo_req(struct fc_seq *sp, struct fc_frame *in_fp,
412} 412}
413 413
414/** 414/**
415 * fc_lport_recv_echo_req - Handle received Request Node ID data request 415 * fc_lport_recv_echo_req() - Handle received Request Node ID data request
416 * @lport: Fibre Channel local port recieving the RNID 416 * @lport: Fibre Channel local port recieving the RNID
417 * @sp: current sequence in the RNID exchange 417 * @sp: current sequence in the RNID exchange
418 * @fp: RNID request frame 418 * @fp: RNID request frame
@@ -479,7 +479,7 @@ static void fc_lport_recv_rnid_req(struct fc_seq *sp, struct fc_frame *in_fp,
479} 479}
480 480
481/** 481/**
482 * fc_lport_recv_adisc_req - Handle received Address Discovery Request 482 * fc_lport_recv_adisc_req() - Handle received Address Discovery Request
483 * @lport: Fibre Channel local port recieving the ADISC 483 * @lport: Fibre Channel local port recieving the ADISC
484 * @sp: current sequence in the ADISC exchange 484 * @sp: current sequence in the ADISC exchange
485 * @fp: ADISC request frame 485 * @fp: ADISC request frame
@@ -529,7 +529,7 @@ static void fc_lport_recv_adisc_req(struct fc_seq *sp, struct fc_frame *in_fp,
529} 529}
530 530
531/** 531/**
532 * fc_lport_recv_logo_req - Handle received fabric LOGO request 532 * fc_lport_recv_logo_req() - Handle received fabric LOGO request
533 * @lport: Fibre Channel local port recieving the LOGO 533 * @lport: Fibre Channel local port recieving the LOGO
534 * @sp: current sequence in the LOGO exchange 534 * @sp: current sequence in the LOGO exchange
535 * @fp: LOGO request frame 535 * @fp: LOGO request frame
@@ -546,7 +546,7 @@ static void fc_lport_recv_logo_req(struct fc_seq *sp, struct fc_frame *fp,
546} 546}
547 547
548/** 548/**
549 * fc_fabric_login - Start the lport state machine 549 * fc_fabric_login() - Start the lport state machine
550 * @lport: The lport that should log into the fabric 550 * @lport: The lport that should log into the fabric
551 * 551 *
552 * Locking Note: This function should not be called 552 * Locking Note: This function should not be called
@@ -568,7 +568,7 @@ int fc_fabric_login(struct fc_lport *lport)
568EXPORT_SYMBOL(fc_fabric_login); 568EXPORT_SYMBOL(fc_fabric_login);
569 569
570/** 570/**
571 * fc_linkup - Handler for transport linkup events 571 * fc_linkup() - Handler for transport linkup events
572 * @lport: The lport whose link is up 572 * @lport: The lport whose link is up
573 */ 573 */
574void fc_linkup(struct fc_lport *lport) 574void fc_linkup(struct fc_lport *lport)
@@ -577,8 +577,8 @@ void fc_linkup(struct fc_lport *lport)
577 fc_host_port_id(lport->host)); 577 fc_host_port_id(lport->host));
578 578
579 mutex_lock(&lport->lp_mutex); 579 mutex_lock(&lport->lp_mutex);
580 if ((lport->link_status & FC_LINK_UP) != FC_LINK_UP) { 580 if (!lport->link_up) {
581 lport->link_status |= FC_LINK_UP; 581 lport->link_up = 1;
582 582
583 if (lport->state == LPORT_ST_RESET) 583 if (lport->state == LPORT_ST_RESET)
584 fc_lport_enter_flogi(lport); 584 fc_lport_enter_flogi(lport);
@@ -588,7 +588,7 @@ void fc_linkup(struct fc_lport *lport)
588EXPORT_SYMBOL(fc_linkup); 588EXPORT_SYMBOL(fc_linkup);
589 589
590/** 590/**
591 * fc_linkdown - Handler for transport linkdown events 591 * fc_linkdown() - Handler for transport linkdown events
592 * @lport: The lport whose link is down 592 * @lport: The lport whose link is down
593 */ 593 */
594void fc_linkdown(struct fc_lport *lport) 594void fc_linkdown(struct fc_lport *lport)
@@ -597,8 +597,8 @@ void fc_linkdown(struct fc_lport *lport)
597 FC_DEBUG_LPORT("Link is down for port (%6x)\n", 597 FC_DEBUG_LPORT("Link is down for port (%6x)\n",
598 fc_host_port_id(lport->host)); 598 fc_host_port_id(lport->host));
599 599
600 if ((lport->link_status & FC_LINK_UP) == FC_LINK_UP) { 600 if (lport->link_up) {
601 lport->link_status &= ~(FC_LINK_UP); 601 lport->link_up = 0;
602 fc_lport_enter_reset(lport); 602 fc_lport_enter_reset(lport);
603 lport->tt.fcp_cleanup(lport); 603 lport->tt.fcp_cleanup(lport);
604 } 604 }
@@ -607,48 +607,25 @@ void fc_linkdown(struct fc_lport *lport)
607EXPORT_SYMBOL(fc_linkdown); 607EXPORT_SYMBOL(fc_linkdown);
608 608
609/** 609/**
610 * fc_pause - Pause the flow of frames 610 * fc_fabric_logoff() - Logout of the fabric
611 * @lport: The lport to be paused
612 */
613void fc_pause(struct fc_lport *lport)
614{
615 mutex_lock(&lport->lp_mutex);
616 lport->link_status |= FC_PAUSE;
617 mutex_unlock(&lport->lp_mutex);
618}
619EXPORT_SYMBOL(fc_pause);
620
621/**
622 * fc_unpause - Unpause the flow of frames
623 * @lport: The lport to be unpaused
624 */
625void fc_unpause(struct fc_lport *lport)
626{
627 mutex_lock(&lport->lp_mutex);
628 lport->link_status &= ~(FC_PAUSE);
629 mutex_unlock(&lport->lp_mutex);
630}
631EXPORT_SYMBOL(fc_unpause);
632
633/**
634 * fc_fabric_logoff - Logout of the fabric
635 * @lport: fc_lport pointer to logoff the fabric 611 * @lport: fc_lport pointer to logoff the fabric
636 * 612 *
637 * Return value: 613 * Return value:
638 * 0 for success, -1 for failure 614 * 0 for success, -1 for failure
639 **/ 615 */
640int fc_fabric_logoff(struct fc_lport *lport) 616int fc_fabric_logoff(struct fc_lport *lport)
641{ 617{
642 lport->tt.disc_stop_final(lport); 618 lport->tt.disc_stop_final(lport);
643 mutex_lock(&lport->lp_mutex); 619 mutex_lock(&lport->lp_mutex);
644 fc_lport_enter_logo(lport); 620 fc_lport_enter_logo(lport);
645 mutex_unlock(&lport->lp_mutex); 621 mutex_unlock(&lport->lp_mutex);
622 cancel_delayed_work_sync(&lport->retry_work);
646 return 0; 623 return 0;
647} 624}
648EXPORT_SYMBOL(fc_fabric_logoff); 625EXPORT_SYMBOL(fc_fabric_logoff);
649 626
650/** 627/**
651 * fc_lport_destroy - unregister a fc_lport 628 * fc_lport_destroy() - unregister a fc_lport
652 * @lport: fc_lport pointer to unregister 629 * @lport: fc_lport pointer to unregister
653 * 630 *
654 * Return value: 631 * Return value:
@@ -658,26 +635,25 @@ EXPORT_SYMBOL(fc_fabric_logoff);
658 * clean-up all the allocated memory 635 * clean-up all the allocated memory
659 * and free up other system resources. 636 * and free up other system resources.
660 * 637 *
661 **/ 638 */
662int fc_lport_destroy(struct fc_lport *lport) 639int fc_lport_destroy(struct fc_lport *lport)
663{ 640{
664 lport->tt.frame_send = fc_frame_drop; 641 lport->tt.frame_send = fc_frame_drop;
665 lport->tt.fcp_abort_io(lport); 642 lport->tt.fcp_abort_io(lport);
666 lport->tt.exch_mgr_reset(lport->emp, 0, 0); 643 lport->tt.exch_mgr_reset(lport, 0, 0);
667 return 0; 644 return 0;
668} 645}
669EXPORT_SYMBOL(fc_lport_destroy); 646EXPORT_SYMBOL(fc_lport_destroy);
670 647
671/** 648/**
672 * fc_set_mfs - sets up the mfs for the corresponding fc_lport 649 * fc_set_mfs() - sets up the mfs for the corresponding fc_lport
673 * @lport: fc_lport pointer to unregister 650 * @lport: fc_lport pointer to unregister
674 * @mfs: the new mfs for fc_lport 651 * @mfs: the new mfs for fc_lport
675 * 652 *
676 * Set mfs for the given fc_lport to the new mfs. 653 * Set mfs for the given fc_lport to the new mfs.
677 * 654 *
678 * Return: 0 for success 655 * Return: 0 for success
679 * 656 */
680 **/
681int fc_set_mfs(struct fc_lport *lport, u32 mfs) 657int fc_set_mfs(struct fc_lport *lport, u32 mfs)
682{ 658{
683 unsigned int old_mfs; 659 unsigned int old_mfs;
@@ -706,7 +682,7 @@ int fc_set_mfs(struct fc_lport *lport, u32 mfs)
706EXPORT_SYMBOL(fc_set_mfs); 682EXPORT_SYMBOL(fc_set_mfs);
707 683
708/** 684/**
709 * fc_lport_disc_callback - Callback for discovery events 685 * fc_lport_disc_callback() - Callback for discovery events
710 * @lport: FC local port 686 * @lport: FC local port
711 * @event: The discovery event 687 * @event: The discovery event
712 */ 688 */
@@ -731,7 +707,7 @@ void fc_lport_disc_callback(struct fc_lport *lport, enum fc_disc_event event)
731} 707}
732 708
733/** 709/**
734 * fc_rport_enter_ready - Enter the ready state and start discovery 710 * fc_rport_enter_ready() - Enter the ready state and start discovery
735 * @lport: Fibre Channel local port that is ready 711 * @lport: Fibre Channel local port that is ready
736 * 712 *
737 * Locking Note: The lport lock is expected to be held before calling 713 * Locking Note: The lport lock is expected to be held before calling
@@ -748,7 +724,7 @@ static void fc_lport_enter_ready(struct fc_lport *lport)
748} 724}
749 725
750/** 726/**
751 * fc_lport_recv_flogi_req - Receive a FLOGI request 727 * fc_lport_recv_flogi_req() - Receive a FLOGI request
752 * @sp_in: The sequence the FLOGI is on 728 * @sp_in: The sequence the FLOGI is on
753 * @rx_fp: The frame the FLOGI is in 729 * @rx_fp: The frame the FLOGI is in
754 * @lport: The lport that recieved the request 730 * @lport: The lport that recieved the request
@@ -838,7 +814,7 @@ out:
838} 814}
839 815
840/** 816/**
841 * fc_lport_recv_req - The generic lport request handler 817 * fc_lport_recv_req() - The generic lport request handler
842 * @lport: The lport that received the request 818 * @lport: The lport that received the request
843 * @sp: The sequence the request is on 819 * @sp: The sequence the request is on
844 * @fp: The frame the request is in 820 * @fp: The frame the request is in
@@ -934,7 +910,7 @@ static void fc_lport_recv_req(struct fc_lport *lport, struct fc_seq *sp,
934} 910}
935 911
936/** 912/**
937 * fc_lport_reset - Reset an lport 913 * fc_lport_reset() - Reset an lport
938 * @lport: The lport which should be reset 914 * @lport: The lport which should be reset
939 * 915 *
940 * Locking Note: This functions should not be called with the 916 * Locking Note: This functions should not be called with the
@@ -942,6 +918,7 @@ static void fc_lport_recv_req(struct fc_lport *lport, struct fc_seq *sp,
942 */ 918 */
943int fc_lport_reset(struct fc_lport *lport) 919int fc_lport_reset(struct fc_lport *lport)
944{ 920{
921 cancel_delayed_work_sync(&lport->retry_work);
945 mutex_lock(&lport->lp_mutex); 922 mutex_lock(&lport->lp_mutex);
946 fc_lport_enter_reset(lport); 923 fc_lport_enter_reset(lport);
947 mutex_unlock(&lport->lp_mutex); 924 mutex_unlock(&lport->lp_mutex);
@@ -950,7 +927,7 @@ int fc_lport_reset(struct fc_lport *lport)
950EXPORT_SYMBOL(fc_lport_reset); 927EXPORT_SYMBOL(fc_lport_reset);
951 928
952/** 929/**
953 * fc_rport_enter_reset - Reset the local port 930 * fc_rport_enter_reset() - Reset the local port
954 * @lport: Fibre Channel local port to be reset 931 * @lport: Fibre Channel local port to be reset
955 * 932 *
956 * Locking Note: The lport lock is expected to be held before calling 933 * Locking Note: The lport lock is expected to be held before calling
@@ -973,16 +950,16 @@ static void fc_lport_enter_reset(struct fc_lport *lport)
973 950
974 lport->tt.disc_stop(lport); 951 lport->tt.disc_stop(lport);
975 952
976 lport->tt.exch_mgr_reset(lport->emp, 0, 0); 953 lport->tt.exch_mgr_reset(lport, 0, 0);
977 fc_host_fabric_name(lport->host) = 0; 954 fc_host_fabric_name(lport->host) = 0;
978 fc_host_port_id(lport->host) = 0; 955 fc_host_port_id(lport->host) = 0;
979 956
980 if ((lport->link_status & FC_LINK_UP) == FC_LINK_UP) 957 if (lport->link_up)
981 fc_lport_enter_flogi(lport); 958 fc_lport_enter_flogi(lport);
982} 959}
983 960
984/** 961/**
985 * fc_lport_error - Handler for any errors 962 * fc_lport_error() - Handler for any errors
986 * @lport: The fc_lport object 963 * @lport: The fc_lport object
987 * @fp: The frame pointer 964 * @fp: The frame pointer
988 * 965 *
@@ -1029,8 +1006,8 @@ static void fc_lport_error(struct fc_lport *lport, struct fc_frame *fp)
1029} 1006}
1030 1007
1031/** 1008/**
1032 * fc_lport_rft_id_resp - Handle response to Register Fibre 1009 * fc_lport_rft_id_resp() - Handle response to Register Fibre
1033 * Channel Types by ID (RPN_ID) request 1010 * Channel Types by ID (RPN_ID) request
1034 * @sp: current sequence in RPN_ID exchange 1011 * @sp: current sequence in RPN_ID exchange
1035 * @fp: response frame 1012 * @fp: response frame
1036 * @lp_arg: Fibre Channel host port instance 1013 * @lp_arg: Fibre Channel host port instance
@@ -1053,17 +1030,17 @@ static void fc_lport_rft_id_resp(struct fc_seq *sp, struct fc_frame *fp,
1053 1030
1054 FC_DEBUG_LPORT("Received a RFT_ID response\n"); 1031 FC_DEBUG_LPORT("Received a RFT_ID response\n");
1055 1032
1033 if (IS_ERR(fp)) {
1034 fc_lport_error(lport, fp);
1035 goto err;
1036 }
1037
1056 if (lport->state != LPORT_ST_RFT_ID) { 1038 if (lport->state != LPORT_ST_RFT_ID) {
1057 FC_DBG("Received a RFT_ID response, but in state %s\n", 1039 FC_DBG("Received a RFT_ID response, but in state %s\n",
1058 fc_lport_state(lport)); 1040 fc_lport_state(lport));
1059 goto out; 1041 goto out;
1060 } 1042 }
1061 1043
1062 if (IS_ERR(fp)) {
1063 fc_lport_error(lport, fp);
1064 goto err;
1065 }
1066
1067 fh = fc_frame_header_get(fp); 1044 fh = fc_frame_header_get(fp);
1068 ct = fc_frame_payload_get(fp, sizeof(*ct)); 1045 ct = fc_frame_payload_get(fp, sizeof(*ct));
1069 1046
@@ -1081,8 +1058,8 @@ err:
1081} 1058}
1082 1059
1083/** 1060/**
1084 * fc_lport_rpn_id_resp - Handle response to Register Port 1061 * fc_lport_rpn_id_resp() - Handle response to Register Port
1085 * Name by ID (RPN_ID) request 1062 * Name by ID (RPN_ID) request
1086 * @sp: current sequence in RPN_ID exchange 1063 * @sp: current sequence in RPN_ID exchange
1087 * @fp: response frame 1064 * @fp: response frame
1088 * @lp_arg: Fibre Channel host port instance 1065 * @lp_arg: Fibre Channel host port instance
@@ -1105,17 +1082,17 @@ static void fc_lport_rpn_id_resp(struct fc_seq *sp, struct fc_frame *fp,
1105 1082
1106 FC_DEBUG_LPORT("Received a RPN_ID response\n"); 1083 FC_DEBUG_LPORT("Received a RPN_ID response\n");
1107 1084
1085 if (IS_ERR(fp)) {
1086 fc_lport_error(lport, fp);
1087 goto err;
1088 }
1089
1108 if (lport->state != LPORT_ST_RPN_ID) { 1090 if (lport->state != LPORT_ST_RPN_ID) {
1109 FC_DBG("Received a RPN_ID response, but in state %s\n", 1091 FC_DBG("Received a RPN_ID response, but in state %s\n",
1110 fc_lport_state(lport)); 1092 fc_lport_state(lport));
1111 goto out; 1093 goto out;
1112 } 1094 }
1113 1095
1114 if (IS_ERR(fp)) {
1115 fc_lport_error(lport, fp);
1116 goto err;
1117 }
1118
1119 fh = fc_frame_header_get(fp); 1096 fh = fc_frame_header_get(fp);
1120 ct = fc_frame_payload_get(fp, sizeof(*ct)); 1097 ct = fc_frame_payload_get(fp, sizeof(*ct));
1121 if (fh && ct && fh->fh_type == FC_TYPE_CT && 1098 if (fh && ct && fh->fh_type == FC_TYPE_CT &&
@@ -1133,7 +1110,7 @@ err:
1133} 1110}
1134 1111
1135/** 1112/**
1136 * fc_lport_scr_resp - Handle response to State Change Register (SCR) request 1113 * fc_lport_scr_resp() - Handle response to State Change Register (SCR) request
1137 * @sp: current sequence in SCR exchange 1114 * @sp: current sequence in SCR exchange
1138 * @fp: response frame 1115 * @fp: response frame
1139 * @lp_arg: Fibre Channel lport port instance that sent the registration request 1116 * @lp_arg: Fibre Channel lport port instance that sent the registration request
@@ -1155,17 +1132,17 @@ static void fc_lport_scr_resp(struct fc_seq *sp, struct fc_frame *fp,
1155 1132
1156 FC_DEBUG_LPORT("Received a SCR response\n"); 1133 FC_DEBUG_LPORT("Received a SCR response\n");
1157 1134
1135 if (IS_ERR(fp)) {
1136 fc_lport_error(lport, fp);
1137 goto err;
1138 }
1139
1158 if (lport->state != LPORT_ST_SCR) { 1140 if (lport->state != LPORT_ST_SCR) {
1159 FC_DBG("Received a SCR response, but in state %s\n", 1141 FC_DBG("Received a SCR response, but in state %s\n",
1160 fc_lport_state(lport)); 1142 fc_lport_state(lport));
1161 goto out; 1143 goto out;
1162 } 1144 }
1163 1145
1164 if (IS_ERR(fp)) {
1165 fc_lport_error(lport, fp);
1166 goto err;
1167 }
1168
1169 op = fc_frame_payload_op(fp); 1146 op = fc_frame_payload_op(fp);
1170 if (op == ELS_LS_ACC) 1147 if (op == ELS_LS_ACC)
1171 fc_lport_enter_ready(lport); 1148 fc_lport_enter_ready(lport);
@@ -1179,7 +1156,7 @@ err:
1179} 1156}
1180 1157
1181/** 1158/**
1182 * fc_lport_enter_scr - Send a State Change Register (SCR) request 1159 * fc_lport_enter_scr() - Send a State Change Register (SCR) request
1183 * @lport: Fibre Channel local port to register for state changes 1160 * @lport: Fibre Channel local port to register for state changes
1184 * 1161 *
1185 * Locking Note: The lport lock is expected to be held before calling 1162 * Locking Note: The lport lock is expected to be held before calling
@@ -1206,7 +1183,7 @@ static void fc_lport_enter_scr(struct fc_lport *lport)
1206} 1183}
1207 1184
1208/** 1185/**
1209 * fc_lport_enter_rft_id - Register FC4-types with the name server 1186 * fc_lport_enter_rft_id() - Register FC4-types with the name server
1210 * @lport: Fibre Channel local port to register 1187 * @lport: Fibre Channel local port to register
1211 * 1188 *
1212 * Locking Note: The lport lock is expected to be held before calling 1189 * Locking Note: The lport lock is expected to be held before calling
@@ -1248,7 +1225,7 @@ static void fc_lport_enter_rft_id(struct fc_lport *lport)
1248} 1225}
1249 1226
1250/** 1227/**
1251 * fc_rport_enter_rft_id - Register port name with the name server 1228 * fc_rport_enter_rft_id() - Register port name with the name server
1252 * @lport: Fibre Channel local port to register 1229 * @lport: Fibre Channel local port to register
1253 * 1230 *
1254 * Locking Note: The lport lock is expected to be held before calling 1231 * Locking Note: The lport lock is expected to be held before calling
@@ -1281,7 +1258,7 @@ static struct fc_rport_operations fc_lport_rport_ops = {
1281}; 1258};
1282 1259
1283/** 1260/**
1284 * fc_rport_enter_dns - Create a rport to the name server 1261 * fc_rport_enter_dns() - Create a rport to the name server
1285 * @lport: Fibre Channel local port requesting a rport for the name server 1262 * @lport: Fibre Channel local port requesting a rport for the name server
1286 * 1263 *
1287 * Locking Note: The lport lock is expected to be held before calling 1264 * Locking Note: The lport lock is expected to be held before calling
@@ -1304,7 +1281,7 @@ static void fc_lport_enter_dns(struct fc_lport *lport)
1304 1281
1305 fc_lport_state_enter(lport, LPORT_ST_DNS); 1282 fc_lport_state_enter(lport, LPORT_ST_DNS);
1306 1283
1307 rport = fc_rport_rogue_create(&dp); 1284 rport = lport->tt.rport_create(&dp);
1308 if (!rport) 1285 if (!rport)
1309 goto err; 1286 goto err;
1310 1287
@@ -1318,7 +1295,7 @@ err:
1318} 1295}
1319 1296
1320/** 1297/**
1321 * fc_lport_timeout - Handler for the retry_work timer. 1298 * fc_lport_timeout() - Handler for the retry_work timer.
1322 * @work: The work struct of the fc_lport 1299 * @work: The work struct of the fc_lport
1323 */ 1300 */
1324static void fc_lport_timeout(struct work_struct *work) 1301static void fc_lport_timeout(struct work_struct *work)
@@ -1359,7 +1336,7 @@ static void fc_lport_timeout(struct work_struct *work)
1359} 1336}
1360 1337
1361/** 1338/**
1362 * fc_lport_logo_resp - Handle response to LOGO request 1339 * fc_lport_logo_resp() - Handle response to LOGO request
1363 * @sp: current sequence in LOGO exchange 1340 * @sp: current sequence in LOGO exchange
1364 * @fp: response frame 1341 * @fp: response frame
1365 * @lp_arg: Fibre Channel lport port instance that sent the LOGO request 1342 * @lp_arg: Fibre Channel lport port instance that sent the LOGO request
@@ -1381,17 +1358,17 @@ static void fc_lport_logo_resp(struct fc_seq *sp, struct fc_frame *fp,
1381 1358
1382 FC_DEBUG_LPORT("Received a LOGO response\n"); 1359 FC_DEBUG_LPORT("Received a LOGO response\n");
1383 1360
1361 if (IS_ERR(fp)) {
1362 fc_lport_error(lport, fp);
1363 goto err;
1364 }
1365
1384 if (lport->state != LPORT_ST_LOGO) { 1366 if (lport->state != LPORT_ST_LOGO) {
1385 FC_DBG("Received a LOGO response, but in state %s\n", 1367 FC_DBG("Received a LOGO response, but in state %s\n",
1386 fc_lport_state(lport)); 1368 fc_lport_state(lport));
1387 goto out; 1369 goto out;
1388 } 1370 }
1389 1371
1390 if (IS_ERR(fp)) {
1391 fc_lport_error(lport, fp);
1392 goto err;
1393 }
1394
1395 op = fc_frame_payload_op(fp); 1372 op = fc_frame_payload_op(fp);
1396 if (op == ELS_LS_ACC) 1373 if (op == ELS_LS_ACC)
1397 fc_lport_enter_reset(lport); 1374 fc_lport_enter_reset(lport);
@@ -1405,7 +1382,7 @@ err:
1405} 1382}
1406 1383
1407/** 1384/**
1408 * fc_rport_enter_logo - Logout of the fabric 1385 * fc_rport_enter_logo() - Logout of the fabric
1409 * @lport: Fibre Channel local port to be logged out 1386 * @lport: Fibre Channel local port to be logged out
1410 * 1387 *
1411 * Locking Note: The lport lock is expected to be held before calling 1388 * Locking Note: The lport lock is expected to be held before calling
@@ -1437,7 +1414,7 @@ static void fc_lport_enter_logo(struct fc_lport *lport)
1437} 1414}
1438 1415
1439/** 1416/**
1440 * fc_lport_flogi_resp - Handle response to FLOGI request 1417 * fc_lport_flogi_resp() - Handle response to FLOGI request
1441 * @sp: current sequence in FLOGI exchange 1418 * @sp: current sequence in FLOGI exchange
1442 * @fp: response frame 1419 * @fp: response frame
1443 * @lp_arg: Fibre Channel lport port instance that sent the FLOGI request 1420 * @lp_arg: Fibre Channel lport port instance that sent the FLOGI request
@@ -1465,17 +1442,17 @@ static void fc_lport_flogi_resp(struct fc_seq *sp, struct fc_frame *fp,
1465 1442
1466 FC_DEBUG_LPORT("Received a FLOGI response\n"); 1443 FC_DEBUG_LPORT("Received a FLOGI response\n");
1467 1444
1445 if (IS_ERR(fp)) {
1446 fc_lport_error(lport, fp);
1447 goto err;
1448 }
1449
1468 if (lport->state != LPORT_ST_FLOGI) { 1450 if (lport->state != LPORT_ST_FLOGI) {
1469 FC_DBG("Received a FLOGI response, but in state %s\n", 1451 FC_DBG("Received a FLOGI response, but in state %s\n",
1470 fc_lport_state(lport)); 1452 fc_lport_state(lport));
1471 goto out; 1453 goto out;
1472 } 1454 }
1473 1455
1474 if (IS_ERR(fp)) {
1475 fc_lport_error(lport, fp);
1476 goto err;
1477 }
1478
1479 fh = fc_frame_header_get(fp); 1456 fh = fc_frame_header_get(fp);
1480 did = ntoh24(fh->fh_d_id); 1457 did = ntoh24(fh->fh_d_id);
1481 if (fc_frame_payload_op(fp) == ELS_LS_ACC && did != 0) { 1458 if (fc_frame_payload_op(fp) == ELS_LS_ACC && did != 0) {
@@ -1532,7 +1509,7 @@ err:
1532} 1509}
1533 1510
1534/** 1511/**
1535 * fc_rport_enter_flogi - Send a FLOGI request to the fabric manager 1512 * fc_rport_enter_flogi() - Send a FLOGI request to the fabric manager
1536 * @lport: Fibre Channel local port to be logged in to the fabric 1513 * @lport: Fibre Channel local port to be logged in to the fabric
1537 * 1514 *
1538 * Locking Note: The lport lock is expected to be held before calling 1515 * Locking Note: The lport lock is expected to be held before calling
diff --git a/drivers/scsi/libfc/fc_rport.c b/drivers/scsi/libfc/fc_rport.c
index e780d8caf70e..dae65133a833 100644
--- a/drivers/scsi/libfc/fc_rport.c
+++ b/drivers/scsi/libfc/fc_rport.c
@@ -81,6 +81,7 @@ static void fc_rport_recv_logo_req(struct fc_rport *,
81 struct fc_seq *, struct fc_frame *); 81 struct fc_seq *, struct fc_frame *);
82static void fc_rport_timeout(struct work_struct *); 82static void fc_rport_timeout(struct work_struct *);
83static void fc_rport_error(struct fc_rport *, struct fc_frame *); 83static void fc_rport_error(struct fc_rport *, struct fc_frame *);
84static void fc_rport_error_retry(struct fc_rport *, struct fc_frame *);
84static void fc_rport_work(struct work_struct *); 85static void fc_rport_work(struct work_struct *);
85 86
86static const char *fc_rport_state_names[] = { 87static const char *fc_rport_state_names[] = {
@@ -145,7 +146,7 @@ struct fc_rport *fc_rport_rogue_create(struct fc_disc_port *dp)
145} 146}
146 147
147/** 148/**
148 * fc_rport_state - return a string for the state the rport is in 149 * fc_rport_state() - return a string for the state the rport is in
149 * @rport: The rport whose state we want to get a string for 150 * @rport: The rport whose state we want to get a string for
150 */ 151 */
151static const char *fc_rport_state(struct fc_rport *rport) 152static const char *fc_rport_state(struct fc_rport *rport)
@@ -160,7 +161,7 @@ static const char *fc_rport_state(struct fc_rport *rport)
160} 161}
161 162
162/** 163/**
163 * fc_set_rport_loss_tmo - Set the remote port loss timeout in seconds. 164 * fc_set_rport_loss_tmo() - Set the remote port loss timeout in seconds.
164 * @rport: Pointer to Fibre Channel remote port structure 165 * @rport: Pointer to Fibre Channel remote port structure
165 * @timeout: timeout in seconds 166 * @timeout: timeout in seconds
166 */ 167 */
@@ -174,12 +175,12 @@ void fc_set_rport_loss_tmo(struct fc_rport *rport, u32 timeout)
174EXPORT_SYMBOL(fc_set_rport_loss_tmo); 175EXPORT_SYMBOL(fc_set_rport_loss_tmo);
175 176
176/** 177/**
177 * fc_plogi_get_maxframe - Get max payload from the common service parameters 178 * fc_plogi_get_maxframe() - Get max payload from the common service parameters
178 * @flp: FLOGI payload structure 179 * @flp: FLOGI payload structure
179 * @maxval: upper limit, may be less than what is in the service parameters 180 * @maxval: upper limit, may be less than what is in the service parameters
180 */ 181 */
181static unsigned int 182static unsigned int fc_plogi_get_maxframe(struct fc_els_flogi *flp,
182fc_plogi_get_maxframe(struct fc_els_flogi *flp, unsigned int maxval) 183 unsigned int maxval)
183{ 184{
184 unsigned int mfs; 185 unsigned int mfs;
185 186
@@ -197,7 +198,7 @@ fc_plogi_get_maxframe(struct fc_els_flogi *flp, unsigned int maxval)
197} 198}
198 199
199/** 200/**
200 * fc_rport_state_enter - Change the rport's state 201 * fc_rport_state_enter() - Change the rport's state
201 * @rport: The rport whose state should change 202 * @rport: The rport whose state should change
202 * @new: The new state of the rport 203 * @new: The new state of the rport
203 * 204 *
@@ -214,6 +215,7 @@ static void fc_rport_state_enter(struct fc_rport *rport,
214 215
215static void fc_rport_work(struct work_struct *work) 216static void fc_rport_work(struct work_struct *work)
216{ 217{
218 u32 port_id;
217 struct fc_rport_libfc_priv *rdata = 219 struct fc_rport_libfc_priv *rdata =
218 container_of(work, struct fc_rport_libfc_priv, event_work); 220 container_of(work, struct fc_rport_libfc_priv, event_work);
219 enum fc_rport_event event; 221 enum fc_rport_event event;
@@ -279,14 +281,18 @@ static void fc_rport_work(struct work_struct *work)
279 rport_ops->event_callback(lport, rport, event); 281 rport_ops->event_callback(lport, rport, event);
280 if (trans_state == FC_PORTSTATE_ROGUE) 282 if (trans_state == FC_PORTSTATE_ROGUE)
281 put_device(&rport->dev); 283 put_device(&rport->dev);
282 else 284 else {
285 port_id = rport->port_id;
283 fc_remote_port_delete(rport); 286 fc_remote_port_delete(rport);
287 lport->tt.exch_mgr_reset(lport, 0, port_id);
288 lport->tt.exch_mgr_reset(lport, port_id, 0);
289 }
284 } else 290 } else
285 mutex_unlock(&rdata->rp_mutex); 291 mutex_unlock(&rdata->rp_mutex);
286} 292}
287 293
288/** 294/**
289 * fc_rport_login - Start the remote port login state machine 295 * fc_rport_login() - Start the remote port login state machine
290 * @rport: Fibre Channel remote port 296 * @rport: Fibre Channel remote port
291 * 297 *
292 * Locking Note: Called without the rport lock held. This 298 * Locking Note: Called without the rport lock held. This
@@ -309,7 +315,7 @@ int fc_rport_login(struct fc_rport *rport)
309} 315}
310 316
311/** 317/**
312 * fc_rport_logoff - Logoff and remove an rport 318 * fc_rport_logoff() - Logoff and remove an rport
313 * @rport: Fibre Channel remote port to be removed 319 * @rport: Fibre Channel remote port to be removed
314 * 320 *
315 * Locking Note: Called without the rport lock held. This 321 * Locking Note: Called without the rport lock held. This
@@ -347,7 +353,7 @@ int fc_rport_logoff(struct fc_rport *rport)
347} 353}
348 354
349/** 355/**
350 * fc_rport_enter_ready - The rport is ready 356 * fc_rport_enter_ready() - The rport is ready
351 * @rport: Fibre Channel remote port that is ready 357 * @rport: Fibre Channel remote port that is ready
352 * 358 *
353 * Locking Note: The rport lock is expected to be held before calling 359 * Locking Note: The rport lock is expected to be held before calling
@@ -366,7 +372,7 @@ static void fc_rport_enter_ready(struct fc_rport *rport)
366} 372}
367 373
368/** 374/**
369 * fc_rport_timeout - Handler for the retry_work timer. 375 * fc_rport_timeout() - Handler for the retry_work timer.
370 * @work: The work struct of the fc_rport_libfc_priv 376 * @work: The work struct of the fc_rport_libfc_priv
371 * 377 *
372 * Locking Note: Called without the rport lock held. This 378 * Locking Note: Called without the rport lock held. This
@@ -405,59 +411,75 @@ static void fc_rport_timeout(struct work_struct *work)
405} 411}
406 412
407/** 413/**
408 * fc_rport_error - Handler for any errors 414 * fc_rport_error() - Error handler, called once retries have been exhausted
409 * @rport: The fc_rport object 415 * @rport: The fc_rport object
410 * @fp: The frame pointer 416 * @fp: The frame pointer
411 * 417 *
412 * If the error was caused by a resource allocation failure
413 * then wait for half a second and retry, otherwise retry
414 * immediately.
415 *
416 * Locking Note: The rport lock is expected to be held before 418 * Locking Note: The rport lock is expected to be held before
417 * calling this routine 419 * calling this routine
418 */ 420 */
419static void fc_rport_error(struct fc_rport *rport, struct fc_frame *fp) 421static void fc_rport_error(struct fc_rport *rport, struct fc_frame *fp)
420{ 422{
421 struct fc_rport_libfc_priv *rdata = rport->dd_data; 423 struct fc_rport_libfc_priv *rdata = rport->dd_data;
422 unsigned long delay = 0;
423 424
424 FC_DEBUG_RPORT("Error %ld in state %s, retries %d\n", 425 FC_DEBUG_RPORT("Error %ld in state %s, retries %d\n",
425 PTR_ERR(fp), fc_rport_state(rport), rdata->retries); 426 PTR_ERR(fp), fc_rport_state(rport), rdata->retries);
426 427
427 if (!fp || PTR_ERR(fp) == -FC_EX_TIMEOUT) { 428 switch (rdata->rp_state) {
428 /* 429 case RPORT_ST_PLOGI:
429 * Memory allocation failure, or the exchange timed out. 430 case RPORT_ST_PRLI:
430 * Retry after delay 431 case RPORT_ST_LOGO:
431 */ 432 rdata->event = RPORT_EV_FAILED;
432 if (rdata->retries < rdata->local_port->max_retry_count) { 433 queue_work(rport_event_queue,
433 rdata->retries++; 434 &rdata->event_work);
434 if (!fp) 435 break;
435 delay = msecs_to_jiffies(500); 436 case RPORT_ST_RTV:
436 get_device(&rport->dev); 437 fc_rport_enter_ready(rport);
437 schedule_delayed_work(&rdata->retry_work, delay); 438 break;
438 } else { 439 case RPORT_ST_NONE:
439 switch (rdata->rp_state) { 440 case RPORT_ST_READY:
440 case RPORT_ST_PLOGI: 441 case RPORT_ST_INIT:
441 case RPORT_ST_PRLI: 442 break;
442 case RPORT_ST_LOGO:
443 rdata->event = RPORT_EV_FAILED;
444 queue_work(rport_event_queue,
445 &rdata->event_work);
446 break;
447 case RPORT_ST_RTV:
448 fc_rport_enter_ready(rport);
449 break;
450 case RPORT_ST_NONE:
451 case RPORT_ST_READY:
452 case RPORT_ST_INIT:
453 break;
454 }
455 }
456 } 443 }
457} 444}
458 445
459/** 446/**
460 * fc_rport_plogi_recv_resp - Handle incoming ELS PLOGI response 447 * fc_rport_error_retry() - Error handler when retries are desired
448 * @rport: The fc_rport object
449 * @fp: The frame pointer
450 *
451 * If the error was an exchange timeout retry immediately,
452 * otherwise wait for E_D_TOV.
453 *
454 * Locking Note: The rport lock is expected to be held before
455 * calling this routine
456 */
457static void fc_rport_error_retry(struct fc_rport *rport, struct fc_frame *fp)
458{
459 struct fc_rport_libfc_priv *rdata = rport->dd_data;
460 unsigned long delay = FC_DEF_E_D_TOV;
461
462 /* make sure this isn't an FC_EX_CLOSED error, never retry those */
463 if (PTR_ERR(fp) == -FC_EX_CLOSED)
464 return fc_rport_error(rport, fp);
465
466 if (rdata->retries < rdata->local_port->max_retry_count) {
467 FC_DEBUG_RPORT("Error %ld in state %s, retrying\n",
468 PTR_ERR(fp), fc_rport_state(rport));
469 rdata->retries++;
470 /* no additional delay on exchange timeouts */
471 if (PTR_ERR(fp) == -FC_EX_TIMEOUT)
472 delay = 0;
473 get_device(&rport->dev);
474 schedule_delayed_work(&rdata->retry_work, delay);
475 return;
476 }
477
478 return fc_rport_error(rport, fp);
479}
480
481/**
482 * fc_rport_plogi_recv_resp() - Handle incoming ELS PLOGI response
461 * @sp: current sequence in the PLOGI exchange 483 * @sp: current sequence in the PLOGI exchange
462 * @fp: response frame 484 * @fp: response frame
463 * @rp_arg: Fibre Channel remote port 485 * @rp_arg: Fibre Channel remote port
@@ -483,17 +505,17 @@ static void fc_rport_plogi_resp(struct fc_seq *sp, struct fc_frame *fp,
483 FC_DEBUG_RPORT("Received a PLOGI response from port (%6x)\n", 505 FC_DEBUG_RPORT("Received a PLOGI response from port (%6x)\n",
484 rport->port_id); 506 rport->port_id);
485 507
508 if (IS_ERR(fp)) {
509 fc_rport_error_retry(rport, fp);
510 goto err;
511 }
512
486 if (rdata->rp_state != RPORT_ST_PLOGI) { 513 if (rdata->rp_state != RPORT_ST_PLOGI) {
487 FC_DBG("Received a PLOGI response, but in state %s\n", 514 FC_DBG("Received a PLOGI response, but in state %s\n",
488 fc_rport_state(rport)); 515 fc_rport_state(rport));
489 goto out; 516 goto out;
490 } 517 }
491 518
492 if (IS_ERR(fp)) {
493 fc_rport_error(rport, fp);
494 goto err;
495 }
496
497 op = fc_frame_payload_op(fp); 519 op = fc_frame_payload_op(fp);
498 if (op == ELS_LS_ACC && 520 if (op == ELS_LS_ACC &&
499 (plp = fc_frame_payload_get(fp, sizeof(*plp))) != NULL) { 521 (plp = fc_frame_payload_get(fp, sizeof(*plp))) != NULL) {
@@ -522,7 +544,7 @@ static void fc_rport_plogi_resp(struct fc_seq *sp, struct fc_frame *fp,
522 else 544 else
523 fc_rport_enter_prli(rport); 545 fc_rport_enter_prli(rport);
524 } else 546 } else
525 fc_rport_error(rport, fp); 547 fc_rport_error_retry(rport, fp);
526 548
527out: 549out:
528 fc_frame_free(fp); 550 fc_frame_free(fp);
@@ -532,7 +554,7 @@ err:
532} 554}
533 555
534/** 556/**
535 * fc_rport_enter_plogi - Send Port Login (PLOGI) request to peer 557 * fc_rport_enter_plogi() - Send Port Login (PLOGI) request to peer
536 * @rport: Fibre Channel remote port to send PLOGI to 558 * @rport: Fibre Channel remote port to send PLOGI to
537 * 559 *
538 * Locking Note: The rport lock is expected to be held before calling 560 * Locking Note: The rport lock is expected to be held before calling
@@ -552,20 +574,20 @@ static void fc_rport_enter_plogi(struct fc_rport *rport)
552 rport->maxframe_size = FC_MIN_MAX_PAYLOAD; 574 rport->maxframe_size = FC_MIN_MAX_PAYLOAD;
553 fp = fc_frame_alloc(lport, sizeof(struct fc_els_flogi)); 575 fp = fc_frame_alloc(lport, sizeof(struct fc_els_flogi));
554 if (!fp) { 576 if (!fp) {
555 fc_rport_error(rport, fp); 577 fc_rport_error_retry(rport, fp);
556 return; 578 return;
557 } 579 }
558 rdata->e_d_tov = lport->e_d_tov; 580 rdata->e_d_tov = lport->e_d_tov;
559 581
560 if (!lport->tt.elsct_send(lport, rport, fp, ELS_PLOGI, 582 if (!lport->tt.elsct_send(lport, rport, fp, ELS_PLOGI,
561 fc_rport_plogi_resp, rport, lport->e_d_tov)) 583 fc_rport_plogi_resp, rport, lport->e_d_tov))
562 fc_rport_error(rport, fp); 584 fc_rport_error_retry(rport, fp);
563 else 585 else
564 get_device(&rport->dev); 586 get_device(&rport->dev);
565} 587}
566 588
567/** 589/**
568 * fc_rport_prli_resp - Process Login (PRLI) response handler 590 * fc_rport_prli_resp() - Process Login (PRLI) response handler
569 * @sp: current sequence in the PRLI exchange 591 * @sp: current sequence in the PRLI exchange
570 * @fp: response frame 592 * @fp: response frame
571 * @rp_arg: Fibre Channel remote port 593 * @rp_arg: Fibre Channel remote port
@@ -592,17 +614,17 @@ static void fc_rport_prli_resp(struct fc_seq *sp, struct fc_frame *fp,
592 FC_DEBUG_RPORT("Received a PRLI response from port (%6x)\n", 614 FC_DEBUG_RPORT("Received a PRLI response from port (%6x)\n",
593 rport->port_id); 615 rport->port_id);
594 616
617 if (IS_ERR(fp)) {
618 fc_rport_error_retry(rport, fp);
619 goto err;
620 }
621
595 if (rdata->rp_state != RPORT_ST_PRLI) { 622 if (rdata->rp_state != RPORT_ST_PRLI) {
596 FC_DBG("Received a PRLI response, but in state %s\n", 623 FC_DBG("Received a PRLI response, but in state %s\n",
597 fc_rport_state(rport)); 624 fc_rport_state(rport));
598 goto out; 625 goto out;
599 } 626 }
600 627
601 if (IS_ERR(fp)) {
602 fc_rport_error(rport, fp);
603 goto err;
604 }
605
606 op = fc_frame_payload_op(fp); 628 op = fc_frame_payload_op(fp);
607 if (op == ELS_LS_ACC) { 629 if (op == ELS_LS_ACC) {
608 pp = fc_frame_payload_get(fp, sizeof(*pp)); 630 pp = fc_frame_payload_get(fp, sizeof(*pp));
@@ -635,7 +657,7 @@ err:
635} 657}
636 658
637/** 659/**
638 * fc_rport_logo_resp - Logout (LOGO) response handler 660 * fc_rport_logo_resp() - Logout (LOGO) response handler
639 * @sp: current sequence in the LOGO exchange 661 * @sp: current sequence in the LOGO exchange
640 * @fp: response frame 662 * @fp: response frame
641 * @rp_arg: Fibre Channel remote port 663 * @rp_arg: Fibre Channel remote port
@@ -657,7 +679,7 @@ static void fc_rport_logo_resp(struct fc_seq *sp, struct fc_frame *fp,
657 rport->port_id); 679 rport->port_id);
658 680
659 if (IS_ERR(fp)) { 681 if (IS_ERR(fp)) {
660 fc_rport_error(rport, fp); 682 fc_rport_error_retry(rport, fp);
661 goto err; 683 goto err;
662 } 684 }
663 685
@@ -684,7 +706,7 @@ err:
684} 706}
685 707
686/** 708/**
687 * fc_rport_enter_prli - Send Process Login (PRLI) request to peer 709 * fc_rport_enter_prli() - Send Process Login (PRLI) request to peer
688 * @rport: Fibre Channel remote port to send PRLI to 710 * @rport: Fibre Channel remote port to send PRLI to
689 * 711 *
690 * Locking Note: The rport lock is expected to be held before calling 712 * Locking Note: The rport lock is expected to be held before calling
@@ -707,19 +729,19 @@ static void fc_rport_enter_prli(struct fc_rport *rport)
707 729
708 fp = fc_frame_alloc(lport, sizeof(*pp)); 730 fp = fc_frame_alloc(lport, sizeof(*pp));
709 if (!fp) { 731 if (!fp) {
710 fc_rport_error(rport, fp); 732 fc_rport_error_retry(rport, fp);
711 return; 733 return;
712 } 734 }
713 735
714 if (!lport->tt.elsct_send(lport, rport, fp, ELS_PRLI, 736 if (!lport->tt.elsct_send(lport, rport, fp, ELS_PRLI,
715 fc_rport_prli_resp, rport, lport->e_d_tov)) 737 fc_rport_prli_resp, rport, lport->e_d_tov))
716 fc_rport_error(rport, fp); 738 fc_rport_error_retry(rport, fp);
717 else 739 else
718 get_device(&rport->dev); 740 get_device(&rport->dev);
719} 741}
720 742
721/** 743/**
722 * fc_rport_els_rtv_resp - Request Timeout Value response handler 744 * fc_rport_els_rtv_resp() - Request Timeout Value response handler
723 * @sp: current sequence in the RTV exchange 745 * @sp: current sequence in the RTV exchange
724 * @fp: response frame 746 * @fp: response frame
725 * @rp_arg: Fibre Channel remote port 747 * @rp_arg: Fibre Channel remote port
@@ -742,17 +764,17 @@ static void fc_rport_rtv_resp(struct fc_seq *sp, struct fc_frame *fp,
742 FC_DEBUG_RPORT("Received a RTV response from port (%6x)\n", 764 FC_DEBUG_RPORT("Received a RTV response from port (%6x)\n",
743 rport->port_id); 765 rport->port_id);
744 766
767 if (IS_ERR(fp)) {
768 fc_rport_error(rport, fp);
769 goto err;
770 }
771
745 if (rdata->rp_state != RPORT_ST_RTV) { 772 if (rdata->rp_state != RPORT_ST_RTV) {
746 FC_DBG("Received a RTV response, but in state %s\n", 773 FC_DBG("Received a RTV response, but in state %s\n",
747 fc_rport_state(rport)); 774 fc_rport_state(rport));
748 goto out; 775 goto out;
749 } 776 }
750 777
751 if (IS_ERR(fp)) {
752 fc_rport_error(rport, fp);
753 goto err;
754 }
755
756 op = fc_frame_payload_op(fp); 778 op = fc_frame_payload_op(fp);
757 if (op == ELS_LS_ACC) { 779 if (op == ELS_LS_ACC) {
758 struct fc_els_rtv_acc *rtv; 780 struct fc_els_rtv_acc *rtv;
@@ -785,7 +807,7 @@ err:
785} 807}
786 808
787/** 809/**
788 * fc_rport_enter_rtv - Send Request Timeout Value (RTV) request to peer 810 * fc_rport_enter_rtv() - Send Request Timeout Value (RTV) request to peer
789 * @rport: Fibre Channel remote port to send RTV to 811 * @rport: Fibre Channel remote port to send RTV to
790 * 812 *
791 * Locking Note: The rport lock is expected to be held before calling 813 * Locking Note: The rport lock is expected to be held before calling
@@ -804,19 +826,19 @@ static void fc_rport_enter_rtv(struct fc_rport *rport)
804 826
805 fp = fc_frame_alloc(lport, sizeof(struct fc_els_rtv)); 827 fp = fc_frame_alloc(lport, sizeof(struct fc_els_rtv));
806 if (!fp) { 828 if (!fp) {
807 fc_rport_error(rport, fp); 829 fc_rport_error_retry(rport, fp);
808 return; 830 return;
809 } 831 }
810 832
811 if (!lport->tt.elsct_send(lport, rport, fp, ELS_RTV, 833 if (!lport->tt.elsct_send(lport, rport, fp, ELS_RTV,
812 fc_rport_rtv_resp, rport, lport->e_d_tov)) 834 fc_rport_rtv_resp, rport, lport->e_d_tov))
813 fc_rport_error(rport, fp); 835 fc_rport_error_retry(rport, fp);
814 else 836 else
815 get_device(&rport->dev); 837 get_device(&rport->dev);
816} 838}
817 839
818/** 840/**
819 * fc_rport_enter_logo - Send Logout (LOGO) request to peer 841 * fc_rport_enter_logo() - Send Logout (LOGO) request to peer
820 * @rport: Fibre Channel remote port to send LOGO to 842 * @rport: Fibre Channel remote port to send LOGO to
821 * 843 *
822 * Locking Note: The rport lock is expected to be held before calling 844 * Locking Note: The rport lock is expected to be held before calling
@@ -835,20 +857,20 @@ static void fc_rport_enter_logo(struct fc_rport *rport)
835 857
836 fp = fc_frame_alloc(lport, sizeof(struct fc_els_logo)); 858 fp = fc_frame_alloc(lport, sizeof(struct fc_els_logo));
837 if (!fp) { 859 if (!fp) {
838 fc_rport_error(rport, fp); 860 fc_rport_error_retry(rport, fp);
839 return; 861 return;
840 } 862 }
841 863
842 if (!lport->tt.elsct_send(lport, rport, fp, ELS_LOGO, 864 if (!lport->tt.elsct_send(lport, rport, fp, ELS_LOGO,
843 fc_rport_logo_resp, rport, lport->e_d_tov)) 865 fc_rport_logo_resp, rport, lport->e_d_tov))
844 fc_rport_error(rport, fp); 866 fc_rport_error_retry(rport, fp);
845 else 867 else
846 get_device(&rport->dev); 868 get_device(&rport->dev);
847} 869}
848 870
849 871
850/** 872/**
851 * fc_rport_recv_req - Receive a request from a rport 873 * fc_rport_recv_req() - Receive a request from a rport
852 * @sp: current sequence in the PLOGI exchange 874 * @sp: current sequence in the PLOGI exchange
853 * @fp: response frame 875 * @fp: response frame
854 * @rp_arg: Fibre Channel remote port 876 * @rp_arg: Fibre Channel remote port
@@ -909,7 +931,7 @@ void fc_rport_recv_req(struct fc_seq *sp, struct fc_frame *fp,
909} 931}
910 932
911/** 933/**
912 * fc_rport_recv_plogi_req - Handle incoming Port Login (PLOGI) request 934 * fc_rport_recv_plogi_req() - Handle incoming Port Login (PLOGI) request
913 * @rport: Fibre Channel remote port that initiated PLOGI 935 * @rport: Fibre Channel remote port that initiated PLOGI
914 * @sp: current sequence in the PLOGI exchange 936 * @sp: current sequence in the PLOGI exchange
915 * @fp: PLOGI request frame 937 * @fp: PLOGI request frame
@@ -1031,7 +1053,7 @@ static void fc_rport_recv_plogi_req(struct fc_rport *rport,
1031} 1053}
1032 1054
1033/** 1055/**
1034 * fc_rport_recv_prli_req - Handle incoming Process Login (PRLI) request 1056 * fc_rport_recv_prli_req() - Handle incoming Process Login (PRLI) request
1035 * @rport: Fibre Channel remote port that initiated PRLI 1057 * @rport: Fibre Channel remote port that initiated PRLI
1036 * @sp: current sequence in the PRLI exchange 1058 * @sp: current sequence in the PRLI exchange
1037 * @fp: PRLI request frame 1059 * @fp: PRLI request frame
@@ -1182,7 +1204,7 @@ static void fc_rport_recv_prli_req(struct fc_rport *rport,
1182} 1204}
1183 1205
1184/** 1206/**
1185 * fc_rport_recv_prlo_req - Handle incoming Process Logout (PRLO) request 1207 * fc_rport_recv_prlo_req() - Handle incoming Process Logout (PRLO) request
1186 * @rport: Fibre Channel remote port that initiated PRLO 1208 * @rport: Fibre Channel remote port that initiated PRLO
1187 * @sp: current sequence in the PRLO exchange 1209 * @sp: current sequence in the PRLO exchange
1188 * @fp: PRLO request frame 1210 * @fp: PRLO request frame
@@ -1213,7 +1235,7 @@ static void fc_rport_recv_prlo_req(struct fc_rport *rport, struct fc_seq *sp,
1213} 1235}
1214 1236
1215/** 1237/**
1216 * fc_rport_recv_logo_req - Handle incoming Logout (LOGO) request 1238 * fc_rport_recv_logo_req() - Handle incoming Logout (LOGO) request
1217 * @rport: Fibre Channel remote port that initiated LOGO 1239 * @rport: Fibre Channel remote port that initiated LOGO
1218 * @sp: current sequence in the LOGO exchange 1240 * @sp: current sequence in the LOGO exchange
1219 * @fp: LOGO request frame 1241 * @fp: LOGO request frame
@@ -1249,6 +1271,9 @@ static void fc_rport_flush_queue(void)
1249 1271
1250int fc_rport_init(struct fc_lport *lport) 1272int fc_rport_init(struct fc_lport *lport)
1251{ 1273{
1274 if (!lport->tt.rport_create)
1275 lport->tt.rport_create = fc_rport_rogue_create;
1276
1252 if (!lport->tt.rport_login) 1277 if (!lport->tt.rport_login)
1253 lport->tt.rport_login = fc_rport_login; 1278 lport->tt.rport_login = fc_rport_login;
1254 1279
@@ -1285,7 +1310,7 @@ void fc_rport_terminate_io(struct fc_rport *rport)
1285 struct fc_rport_libfc_priv *rdata = rport->dd_data; 1310 struct fc_rport_libfc_priv *rdata = rport->dd_data;
1286 struct fc_lport *lport = rdata->local_port; 1311 struct fc_lport *lport = rdata->local_port;
1287 1312
1288 lport->tt.exch_mgr_reset(lport->emp, 0, rport->port_id); 1313 lport->tt.exch_mgr_reset(lport, 0, rport->port_id);
1289 lport->tt.exch_mgr_reset(lport->emp, rport->port_id, 0); 1314 lport->tt.exch_mgr_reset(lport, rport->port_id, 0);
1290} 1315}
1291EXPORT_SYMBOL(fc_rport_terminate_io); 1316EXPORT_SYMBOL(fc_rport_terminate_io);
diff --git a/drivers/scsi/qla2xxx/qla_attr.c b/drivers/scsi/qla2xxx/qla_attr.c
index f4c57227ec18..ee9d40152430 100644
--- a/drivers/scsi/qla2xxx/qla_attr.c
+++ b/drivers/scsi/qla2xxx/qla_attr.c
@@ -244,12 +244,6 @@ qla2x00_sysfs_write_optrom_ctl(struct kobject *kobj,
244 if (ha->optrom_state != QLA_SWAITING) 244 if (ha->optrom_state != QLA_SWAITING)
245 break; 245 break;
246 246
247 if (start & 0xfff) {
248 qla_printk(KERN_WARNING, ha,
249 "Invalid start region 0x%x/0x%x.\n", start, size);
250 return -EINVAL;
251 }
252
253 ha->optrom_region_start = start; 247 ha->optrom_region_start = start;
254 ha->optrom_region_size = start + size > ha->optrom_size ? 248 ha->optrom_region_size = start + size > ha->optrom_size ?
255 ha->optrom_size - start : size; 249 ha->optrom_size - start : size;
@@ -303,8 +297,7 @@ qla2x00_sysfs_write_optrom_ctl(struct kobject *kobj,
303 else if (start == (ha->flt_region_boot * 4) || 297 else if (start == (ha->flt_region_boot * 4) ||
304 start == (ha->flt_region_fw * 4)) 298 start == (ha->flt_region_fw * 4))
305 valid = 1; 299 valid = 1;
306 else if ((IS_QLA25XX(ha) || IS_QLA81XX(ha)) && 300 else if (IS_QLA25XX(ha) || IS_QLA81XX(ha))
307 start == (ha->flt_region_vpd_nvram * 4))
308 valid = 1; 301 valid = 1;
309 if (!valid) { 302 if (!valid) {
310 qla_printk(KERN_WARNING, ha, 303 qla_printk(KERN_WARNING, ha,
diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
index 986501759ad4..87f9abc71460 100644
--- a/drivers/scsi/qla2xxx/qla_init.c
+++ b/drivers/scsi/qla2xxx/qla_init.c
@@ -1308,8 +1308,12 @@ qla2x00_init_rings(scsi_qla_host_t *vha)
1308 1308
1309 DEBUG(printk("scsi(%ld): Issue init firmware.\n", vha->host_no)); 1309 DEBUG(printk("scsi(%ld): Issue init firmware.\n", vha->host_no));
1310 1310
1311 if (ha->flags.npiv_supported) 1311 if (ha->flags.npiv_supported) {
1312 if (ha->operating_mode == LOOP)
1313 ha->max_npiv_vports = MIN_MULTI_ID_FABRIC - 1;
1312 mid_init_cb->count = cpu_to_le16(ha->max_npiv_vports); 1314 mid_init_cb->count = cpu_to_le16(ha->max_npiv_vports);
1315 }
1316
1313 1317
1314 mid_init_cb->options = __constant_cpu_to_le16(BIT_1); 1318 mid_init_cb->options = __constant_cpu_to_le16(BIT_1);
1315 1319
@@ -2610,6 +2614,7 @@ qla2x00_find_all_fabric_devs(scsi_qla_host_t *vha,
2610 port_id_t wrap, nxt_d_id; 2614 port_id_t wrap, nxt_d_id;
2611 struct qla_hw_data *ha = vha->hw; 2615 struct qla_hw_data *ha = vha->hw;
2612 struct scsi_qla_host *vp, *base_vha = pci_get_drvdata(ha->pdev); 2616 struct scsi_qla_host *vp, *base_vha = pci_get_drvdata(ha->pdev);
2617 struct scsi_qla_host *tvp;
2613 2618
2614 rval = QLA_SUCCESS; 2619 rval = QLA_SUCCESS;
2615 2620
@@ -2709,7 +2714,7 @@ qla2x00_find_all_fabric_devs(scsi_qla_host_t *vha,
2709 /* Bypass virtual ports of the same host. */ 2714 /* Bypass virtual ports of the same host. */
2710 found = 0; 2715 found = 0;
2711 if (ha->num_vhosts) { 2716 if (ha->num_vhosts) {
2712 list_for_each_entry(vp, &ha->vp_list, list) { 2717 list_for_each_entry_safe(vp, tvp, &ha->vp_list, list) {
2713 if (new_fcport->d_id.b24 == vp->d_id.b24) { 2718 if (new_fcport->d_id.b24 == vp->d_id.b24) {
2714 found = 1; 2719 found = 1;
2715 break; 2720 break;
@@ -2832,6 +2837,7 @@ qla2x00_find_new_loop_id(scsi_qla_host_t *vha, fc_port_t *dev)
2832 uint16_t first_loop_id; 2837 uint16_t first_loop_id;
2833 struct qla_hw_data *ha = vha->hw; 2838 struct qla_hw_data *ha = vha->hw;
2834 struct scsi_qla_host *vp; 2839 struct scsi_qla_host *vp;
2840 struct scsi_qla_host *tvp;
2835 2841
2836 rval = QLA_SUCCESS; 2842 rval = QLA_SUCCESS;
2837 2843
@@ -2856,7 +2862,7 @@ qla2x00_find_new_loop_id(scsi_qla_host_t *vha, fc_port_t *dev)
2856 /* Check for loop ID being already in use. */ 2862 /* Check for loop ID being already in use. */
2857 found = 0; 2863 found = 0;
2858 fcport = NULL; 2864 fcport = NULL;
2859 list_for_each_entry(vp, &ha->vp_list, list) { 2865 list_for_each_entry_safe(vp, tvp, &ha->vp_list, list) {
2860 list_for_each_entry(fcport, &vp->vp_fcports, list) { 2866 list_for_each_entry(fcport, &vp->vp_fcports, list) {
2861 if (fcport->loop_id == dev->loop_id && 2867 if (fcport->loop_id == dev->loop_id &&
2862 fcport != dev) { 2868 fcport != dev) {
@@ -3291,6 +3297,7 @@ qla2x00_abort_isp(scsi_qla_host_t *vha)
3291 uint8_t status = 0; 3297 uint8_t status = 0;
3292 struct qla_hw_data *ha = vha->hw; 3298 struct qla_hw_data *ha = vha->hw;
3293 struct scsi_qla_host *vp; 3299 struct scsi_qla_host *vp;
3300 struct scsi_qla_host *tvp;
3294 struct req_que *req = ha->req_q_map[0]; 3301 struct req_que *req = ha->req_q_map[0];
3295 3302
3296 if (vha->flags.online) { 3303 if (vha->flags.online) {
@@ -3306,7 +3313,7 @@ qla2x00_abort_isp(scsi_qla_host_t *vha)
3306 if (atomic_read(&vha->loop_state) != LOOP_DOWN) { 3313 if (atomic_read(&vha->loop_state) != LOOP_DOWN) {
3307 atomic_set(&vha->loop_state, LOOP_DOWN); 3314 atomic_set(&vha->loop_state, LOOP_DOWN);
3308 qla2x00_mark_all_devices_lost(vha, 0); 3315 qla2x00_mark_all_devices_lost(vha, 0);
3309 list_for_each_entry(vp, &ha->vp_list, list) 3316 list_for_each_entry_safe(vp, tvp, &ha->vp_list, list)
3310 qla2x00_mark_all_devices_lost(vp, 0); 3317 qla2x00_mark_all_devices_lost(vp, 0);
3311 } else { 3318 } else {
3312 if (!atomic_read(&vha->loop_down_timer)) 3319 if (!atomic_read(&vha->loop_down_timer))
@@ -3403,7 +3410,7 @@ qla2x00_abort_isp(scsi_qla_host_t *vha)
3403 DEBUG(printk(KERN_INFO 3410 DEBUG(printk(KERN_INFO
3404 "qla2x00_abort_isp(%ld): succeeded.\n", 3411 "qla2x00_abort_isp(%ld): succeeded.\n",
3405 vha->host_no)); 3412 vha->host_no));
3406 list_for_each_entry(vp, &ha->vp_list, list) { 3413 list_for_each_entry_safe(vp, tvp, &ha->vp_list, list) {
3407 if (vp->vp_idx) 3414 if (vp->vp_idx)
3408 qla2x00_vp_abort_isp(vp); 3415 qla2x00_vp_abort_isp(vp);
3409 } 3416 }
@@ -3428,7 +3435,7 @@ qla2x00_abort_isp(scsi_qla_host_t *vha)
3428static int 3435static int
3429qla2x00_restart_isp(scsi_qla_host_t *vha) 3436qla2x00_restart_isp(scsi_qla_host_t *vha)
3430{ 3437{
3431 uint8_t status = 0; 3438 int status = 0;
3432 uint32_t wait_time; 3439 uint32_t wait_time;
3433 struct qla_hw_data *ha = vha->hw; 3440 struct qla_hw_data *ha = vha->hw;
3434 struct req_que *req = ha->req_q_map[0]; 3441 struct req_que *req = ha->req_q_map[0];
diff --git a/drivers/scsi/qla2xxx/qla_mbx.c b/drivers/scsi/qla2xxx/qla_mbx.c
index 4c7504cb3990..4aab7acf7525 100644
--- a/drivers/scsi/qla2xxx/qla_mbx.c
+++ b/drivers/scsi/qla2xxx/qla_mbx.c
@@ -2685,6 +2685,7 @@ qla24xx_report_id_acquisition(scsi_qla_host_t *vha,
2685 uint16_t stat = le16_to_cpu(rptid_entry->vp_idx); 2685 uint16_t stat = le16_to_cpu(rptid_entry->vp_idx);
2686 struct qla_hw_data *ha = vha->hw; 2686 struct qla_hw_data *ha = vha->hw;
2687 scsi_qla_host_t *vp; 2687 scsi_qla_host_t *vp;
2688 scsi_qla_host_t *tvp;
2688 2689
2689 if (rptid_entry->entry_status != 0) 2690 if (rptid_entry->entry_status != 0)
2690 return; 2691 return;
@@ -2710,7 +2711,7 @@ qla24xx_report_id_acquisition(scsi_qla_host_t *vha,
2710 if (MSB(stat) == 1) 2711 if (MSB(stat) == 1)
2711 return; 2712 return;
2712 2713
2713 list_for_each_entry(vp, &ha->vp_list, list) 2714 list_for_each_entry_safe(vp, tvp, &ha->vp_list, list)
2714 if (vp_idx == vp->vp_idx) 2715 if (vp_idx == vp->vp_idx)
2715 break; 2716 break;
2716 if (!vp) 2717 if (!vp)
diff --git a/drivers/scsi/qla2xxx/qla_mid.c b/drivers/scsi/qla2xxx/qla_mid.c
index 3f23932210c4..785c61279e6e 100644
--- a/drivers/scsi/qla2xxx/qla_mid.c
+++ b/drivers/scsi/qla2xxx/qla_mid.c
@@ -69,9 +69,10 @@ static scsi_qla_host_t *
69qla24xx_find_vhost_by_name(struct qla_hw_data *ha, uint8_t *port_name) 69qla24xx_find_vhost_by_name(struct qla_hw_data *ha, uint8_t *port_name)
70{ 70{
71 scsi_qla_host_t *vha; 71 scsi_qla_host_t *vha;
72 struct scsi_qla_host *tvha;
72 73
73 /* Locate matching device in database. */ 74 /* Locate matching device in database. */
74 list_for_each_entry(vha, &ha->vp_list, list) { 75 list_for_each_entry_safe(vha, tvha, &ha->vp_list, list) {
75 if (!memcmp(port_name, vha->port_name, WWN_SIZE)) 76 if (!memcmp(port_name, vha->port_name, WWN_SIZE))
76 return vha; 77 return vha;
77 } 78 }
@@ -194,11 +195,11 @@ qla24xx_configure_vp(scsi_qla_host_t *vha)
194void 195void
195qla2x00_alert_all_vps(struct rsp_que *rsp, uint16_t *mb) 196qla2x00_alert_all_vps(struct rsp_que *rsp, uint16_t *mb)
196{ 197{
197 scsi_qla_host_t *vha; 198 scsi_qla_host_t *vha, *tvha;
198 struct qla_hw_data *ha = rsp->hw; 199 struct qla_hw_data *ha = rsp->hw;
199 int i = 0; 200 int i = 0;
200 201
201 list_for_each_entry(vha, &ha->vp_list, list) { 202 list_for_each_entry_safe(vha, tvha, &ha->vp_list, list) {
202 if (vha->vp_idx) { 203 if (vha->vp_idx) {
203 switch (mb[0]) { 204 switch (mb[0]) {
204 case MBA_LIP_OCCURRED: 205 case MBA_LIP_OCCURRED:
@@ -300,6 +301,7 @@ qla2x00_do_dpc_all_vps(scsi_qla_host_t *vha)
300 int ret; 301 int ret;
301 struct qla_hw_data *ha = vha->hw; 302 struct qla_hw_data *ha = vha->hw;
302 scsi_qla_host_t *vp; 303 scsi_qla_host_t *vp;
304 struct scsi_qla_host *tvp;
303 305
304 if (vha->vp_idx) 306 if (vha->vp_idx)
305 return; 307 return;
@@ -308,7 +310,7 @@ qla2x00_do_dpc_all_vps(scsi_qla_host_t *vha)
308 310
309 clear_bit(VP_DPC_NEEDED, &vha->dpc_flags); 311 clear_bit(VP_DPC_NEEDED, &vha->dpc_flags);
310 312
311 list_for_each_entry(vp, &ha->vp_list, list) { 313 list_for_each_entry_safe(vp, tvp, &ha->vp_list, list) {
312 if (vp->vp_idx) 314 if (vp->vp_idx)
313 ret = qla2x00_do_dpc_vp(vp); 315 ret = qla2x00_do_dpc_vp(vp);
314 } 316 }
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
index 2f5f72531e23..3ddfa889e949 100644
--- a/drivers/scsi/qla2xxx/qla_os.c
+++ b/drivers/scsi/qla2xxx/qla_os.c
@@ -2222,10 +2222,6 @@ qla2x00_mem_alloc(struct qla_hw_data *ha, uint16_t req_len, uint16_t rsp_len,
2222{ 2222{
2223 char name[16]; 2223 char name[16];
2224 2224
2225 ha->init_cb_size = sizeof(init_cb_t);
2226 if (IS_QLA2XXX_MIDTYPE(ha))
2227 ha->init_cb_size = sizeof(struct mid_init_cb_24xx);
2228
2229 ha->init_cb = dma_alloc_coherent(&ha->pdev->dev, ha->init_cb_size, 2225 ha->init_cb = dma_alloc_coherent(&ha->pdev->dev, ha->init_cb_size,
2230 &ha->init_cb_dma, GFP_KERNEL); 2226 &ha->init_cb_dma, GFP_KERNEL);
2231 if (!ha->init_cb) 2227 if (!ha->init_cb)
@@ -2568,7 +2564,7 @@ qla2x00_do_work(struct scsi_qla_host *vha)
2568void qla2x00_relogin(struct scsi_qla_host *vha) 2564void qla2x00_relogin(struct scsi_qla_host *vha)
2569{ 2565{
2570 fc_port_t *fcport; 2566 fc_port_t *fcport;
2571 uint8_t status; 2567 int status;
2572 uint16_t next_loopid = 0; 2568 uint16_t next_loopid = 0;
2573 struct qla_hw_data *ha = vha->hw; 2569 struct qla_hw_data *ha = vha->hw;
2574 2570
diff --git a/drivers/scsi/qla2xxx/qla_version.h b/drivers/scsi/qla2xxx/qla_version.h
index 79f7053da99b..a772eab2f0ea 100644
--- a/drivers/scsi/qla2xxx/qla_version.h
+++ b/drivers/scsi/qla2xxx/qla_version.h
@@ -7,7 +7,7 @@
7/* 7/*
8 * Driver version 8 * Driver version
9 */ 9 */
10#define QLA2XXX_VERSION "8.03.00-k3" 10#define QLA2XXX_VERSION "8.03.00-k4"
11 11
12#define QLA_DRIVER_MAJOR_VER 8 12#define QLA_DRIVER_MAJOR_VER 8
13#define QLA_DRIVER_MINOR_VER 3 13#define QLA_DRIVER_MINOR_VER 3
diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
index 55310dbc10a6..4970ae4a62d6 100644
--- a/drivers/scsi/sd.c
+++ b/drivers/scsi/sd.c
@@ -1167,23 +1167,19 @@ sd_spinup_disk(struct scsi_disk *sdkp)
1167 /* 1167 /*
1168 * The device does not want the automatic start to be issued. 1168 * The device does not want the automatic start to be issued.
1169 */ 1169 */
1170 if (sdkp->device->no_start_on_add) { 1170 if (sdkp->device->no_start_on_add)
1171 break; 1171 break;
1172 }
1173
1174 /*
1175 * If manual intervention is required, or this is an
1176 * absent USB storage device, a spinup is meaningless.
1177 */
1178 if (sense_valid &&
1179 sshdr.sense_key == NOT_READY &&
1180 sshdr.asc == 4 && sshdr.ascq == 3) {
1181 break; /* manual intervention required */
1182 1172
1183 /* 1173 if (sense_valid && sshdr.sense_key == NOT_READY) {
1184 * Issue command to spin up drive when not ready 1174 if (sshdr.asc == 4 && sshdr.ascq == 3)
1185 */ 1175 break; /* manual intervention required */
1186 } else if (sense_valid && sshdr.sense_key == NOT_READY) { 1176 if (sshdr.asc == 4 && sshdr.ascq == 0xb)
1177 break; /* standby */
1178 if (sshdr.asc == 4 && sshdr.ascq == 0xc)
1179 break; /* unavailable */
1180 /*
1181 * Issue command to spin up drive when not ready
1182 */
1187 if (!spintime) { 1183 if (!spintime) {
1188 sd_printk(KERN_NOTICE, sdkp, "Spinning up disk..."); 1184 sd_printk(KERN_NOTICE, sdkp, "Spinning up disk...");
1189 cmd[0] = START_STOP; 1185 cmd[0] = START_STOP;
diff --git a/drivers/scsi/zalon.c b/drivers/scsi/zalon.c
index a8d61a62522e..97f3158fa7b5 100644
--- a/drivers/scsi/zalon.c
+++ b/drivers/scsi/zalon.c
@@ -137,7 +137,7 @@ zalon_probe(struct parisc_device *dev)
137 goto fail; 137 goto fail;
138 138
139 if (request_irq(dev->irq, ncr53c8xx_intr, IRQF_SHARED, "zalon", host)) { 139 if (request_irq(dev->irq, ncr53c8xx_intr, IRQF_SHARED, "zalon", host)) {
140 dev_printk(KERN_ERR, dev, "irq problem with %d, detaching\n ", 140 dev_printk(KERN_ERR, &dev->dev, "irq problem with %d, detaching\n ",
141 dev->irq); 141 dev->irq);
142 goto fail; 142 goto fail;
143 } 143 }
diff --git a/drivers/video/aty/aty128fb.c b/drivers/video/aty/aty128fb.c
index 2181ce4d7ebd..35e8eb02b9e9 100644
--- a/drivers/video/aty/aty128fb.c
+++ b/drivers/video/aty/aty128fb.c
@@ -1853,13 +1853,14 @@ static void aty128_bl_exit(struct backlight_device *bd)
1853 * Initialisation 1853 * Initialisation
1854 */ 1854 */
1855 1855
1856#ifdef CONFIG_PPC_PMAC 1856#ifdef CONFIG_PPC_PMAC__disabled
1857static void aty128_early_resume(void *data) 1857static void aty128_early_resume(void *data)
1858{ 1858{
1859 struct aty128fb_par *par = data; 1859 struct aty128fb_par *par = data;
1860 1860
1861 if (try_acquire_console_sem()) 1861 if (try_acquire_console_sem())
1862 return; 1862 return;
1863 pci_restore_state(par->pdev);
1863 aty128_do_resume(par->pdev); 1864 aty128_do_resume(par->pdev);
1864 release_console_sem(); 1865 release_console_sem();
1865} 1866}
@@ -1907,7 +1908,14 @@ static int __devinit aty128_init(struct pci_dev *pdev, const struct pci_device_i
1907 /* Indicate sleep capability */ 1908 /* Indicate sleep capability */
1908 if (par->chip_gen == rage_M3) { 1909 if (par->chip_gen == rage_M3) {
1909 pmac_call_feature(PMAC_FTR_DEVICE_CAN_WAKE, NULL, 0, 1); 1910 pmac_call_feature(PMAC_FTR_DEVICE_CAN_WAKE, NULL, 0, 1);
1911#if 0 /* Disable the early video resume hack for now as it's causing problems, among
1912 * others we now rely on the PCI core restoring the config space for us, which
1913 * isn't the case with that hack, and that code path causes various things to
1914 * be called with interrupts off while they shouldn't. I'm leaving the code in
1915 * as it can be useful for debugging purposes
1916 */
1910 pmac_set_early_video_resume(aty128_early_resume, par); 1917 pmac_set_early_video_resume(aty128_early_resume, par);
1918#endif
1911 } 1919 }
1912 1920
1913 /* Find default mode */ 1921 /* Find default mode */
diff --git a/drivers/video/aty/radeon_pm.c b/drivers/video/aty/radeon_pm.c
index ca5f0dc28546..81603f85e17e 100644
--- a/drivers/video/aty/radeon_pm.c
+++ b/drivers/video/aty/radeon_pm.c
@@ -2762,12 +2762,13 @@ int radeonfb_pci_resume(struct pci_dev *pdev)
2762 return rc; 2762 return rc;
2763} 2763}
2764 2764
2765#ifdef CONFIG_PPC_OF 2765#ifdef CONFIG_PPC_OF__disabled
2766static void radeonfb_early_resume(void *data) 2766static void radeonfb_early_resume(void *data)
2767{ 2767{
2768 struct radeonfb_info *rinfo = data; 2768 struct radeonfb_info *rinfo = data;
2769 2769
2770 rinfo->no_schedule = 1; 2770 rinfo->no_schedule = 1;
2771 pci_restore_state(rinfo->pdev);
2771 radeonfb_pci_resume(rinfo->pdev); 2772 radeonfb_pci_resume(rinfo->pdev);
2772 rinfo->no_schedule = 0; 2773 rinfo->no_schedule = 0;
2773} 2774}
@@ -2834,7 +2835,14 @@ void radeonfb_pm_init(struct radeonfb_info *rinfo, int dynclk, int ignore_devlis
2834 */ 2835 */
2835 if (rinfo->pm_mode != radeon_pm_none) { 2836 if (rinfo->pm_mode != radeon_pm_none) {
2836 pmac_call_feature(PMAC_FTR_DEVICE_CAN_WAKE, rinfo->of_node, 0, 1); 2837 pmac_call_feature(PMAC_FTR_DEVICE_CAN_WAKE, rinfo->of_node, 0, 1);
2838#if 0 /* Disable the early video resume hack for now as it's causing problems, among
2839 * others we now rely on the PCI core restoring the config space for us, which
2840 * isn't the case with that hack, and that code path causes various things to
2841 * be called with interrupts off while they shouldn't. I'm leaving the code in
2842 * as it can be useful for debugging purposes
2843 */
2837 pmac_set_early_video_resume(radeonfb_early_resume, rinfo); 2844 pmac_set_early_video_resume(radeonfb_early_resume, rinfo);
2845#endif
2838 } 2846 }
2839 2847
2840#if 0 2848#if 0
diff --git a/drivers/video/i810/i810_main.c b/drivers/video/i810/i810_main.c
index a24e680d2b9c..2e940199fc89 100644
--- a/drivers/video/i810/i810_main.c
+++ b/drivers/video/i810/i810_main.c
@@ -993,6 +993,7 @@ static int i810_check_params(struct fb_var_screeninfo *var,
993 struct i810fb_par *par = info->par; 993 struct i810fb_par *par = info->par;
994 int line_length, vidmem, mode_valid = 0, retval = 0; 994 int line_length, vidmem, mode_valid = 0, retval = 0;
995 u32 vyres = var->yres_virtual, vxres = var->xres_virtual; 995 u32 vyres = var->yres_virtual, vxres = var->xres_virtual;
996
996 /* 997 /*
997 * Memory limit 998 * Memory limit
998 */ 999 */
@@ -1002,12 +1003,12 @@ static int i810_check_params(struct fb_var_screeninfo *var,
1002 if (vidmem > par->fb.size) { 1003 if (vidmem > par->fb.size) {
1003 vyres = par->fb.size/line_length; 1004 vyres = par->fb.size/line_length;
1004 if (vyres < var->yres) { 1005 if (vyres < var->yres) {
1005 vyres = yres; 1006 vyres = info->var.yres;
1006 vxres = par->fb.size/vyres; 1007 vxres = par->fb.size/vyres;
1007 vxres /= var->bits_per_pixel >> 3; 1008 vxres /= var->bits_per_pixel >> 3;
1008 line_length = get_line_length(par, vxres, 1009 line_length = get_line_length(par, vxres,
1009 var->bits_per_pixel); 1010 var->bits_per_pixel);
1010 vidmem = line_length * yres; 1011 vidmem = line_length * info->var.yres;
1011 if (vxres < var->xres) { 1012 if (vxres < var->xres) {
1012 printk("i810fb: required video memory, " 1013 printk("i810fb: required video memory, "
1013 "%d bytes, for %dx%d-%d (virtual) " 1014 "%d bytes, for %dx%d-%d (virtual) "
diff --git a/drivers/video/logo/logo_linux_clut224.ppm b/drivers/video/logo/logo_linux_clut224.ppm
index 3c14e43b82fe..de93ff3fc1ad 100644
--- a/drivers/video/logo/logo_linux_clut224.ppm
+++ b/drivers/video/logo/logo_linux_clut224.ppm
@@ -1,1604 +1,2828 @@
1P3 1P3
2# Standard 224-color Linux logo 2145 113
380 80
4255 3255
5 0 0 0 0 0 0 0 0 0 0 0 0 40 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
6 0 0 0 0 0 0 0 0 0 0 0 0 50 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
7 0 0 0 0 0 0 0 0 0 0 0 0 60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
8 0 0 0 0 0 0 0 0 0 0 0 0 70 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
9 0 0 0 0 0 0 0 0 0 0 0 0 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
10 0 0 0 0 0 0 0 0 0 0 0 0 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11 0 0 0 0 0 0 0 0 0 0 0 0 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
12 0 0 0 0 0 0 0 0 0 0 0 0 110 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
13 0 0 0 0 0 0 0 0 0 0 0 0 120 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
14 6 6 6 6 6 6 10 10 10 10 10 10 130 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
15 10 10 10 6 6 6 6 6 6 6 6 6 140 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16 0 0 0 0 0 0 0 0 0 0 0 0 150 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17 0 0 0 0 0 0 0 0 0 0 0 0 160 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18 0 0 0 0 0 0 0 0 0 0 0 0 170 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19 0 0 0 0 0 0 0 0 0 0 0 0 180 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20 0 0 0 0 0 0 0 0 0 0 0 0 190 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21 0 0 0 0 0 0 0 0 0 0 0 0 200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22 0 0 0 0 0 0 0 0 0 0 0 0 210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23 0 0 0 0 0 0 0 0 0 0 0 0 220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24 0 0 0 0 0 0 0 0 0 0 0 0 230 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25 0 0 0 0 0 0 0 0 0 0 0 0 240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26 0 0 0 0 0 0 0 0 0 0 0 0 250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27 0 0 0 0 0 0 0 0 0 0 0 0 260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28 0 0 0 0 0 0 0 0 0 0 0 0 270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
29 0 0 0 0 0 0 0 0 0 0 0 0 280 0 0
30 0 0 0 0 0 0 0 0 0 0 0 0 290 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
31 0 0 0 0 0 0 0 0 0 0 0 0 300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
32 0 0 0 0 0 0 0 0 0 0 0 0 310 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
33 0 0 0 6 6 6 10 10 10 14 14 14 320 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
34 22 22 22 26 26 26 30 30 30 34 34 34 330 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
35 30 30 30 30 30 30 26 26 26 18 18 18 340 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
36 14 14 14 10 10 10 6 6 6 0 0 0 350 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
37 0 0 0 0 0 0 0 0 0 0 0 0 360 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
38 0 0 0 0 0 0 0 0 0 0 0 0 370 0 0 0 0 0 0 0 0 0 0 0 3 4 4 6 7 7
39 0 0 0 0 0 0 0 0 0 0 0 0 388 10 10 8 10 10 6 8 8 6 7 7 3 4 4 2 2 2
40 0 0 0 0 0 0 0 0 0 0 0 0 390 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
41 0 0 0 0 0 0 0 0 0 0 0 0 400 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
42 0 0 0 0 0 0 0 0 0 0 0 0 410 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
43 0 0 0 0 0 0 0 0 0 0 0 0 420 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
44 0 0 0 0 0 0 0 0 0 0 0 0 430 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
45 0 0 0 0 0 0 0 0 0 0 0 0 440 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
46 0 0 0 0 0 1 0 0 1 0 0 0 450 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
47 0 0 0 0 0 0 0 0 0 0 0 0 460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
48 0 0 0 0 0 0 0 0 0 0 0 0 470 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
49 0 0 0 0 0 0 0 0 0 0 0 0 480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
50 0 0 0 0 0 0 0 0 0 0 0 0 490 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
51 0 0 0 0 0 0 0 0 0 0 0 0 500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
52 0 0 0 0 0 0 0 0 0 0 0 0 510 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
53 6 6 6 14 14 14 26 26 26 42 42 42 520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
54 54 54 54 66 66 66 78 78 78 78 78 78 530 0 0
55 78 78 78 74 74 74 66 66 66 54 54 54 540 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
56 42 42 42 26 26 26 18 18 18 10 10 10 550 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
57 6 6 6 0 0 0 0 0 0 0 0 0 560 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
58 0 0 0 0 0 0 0 0 0 0 0 0 570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
59 0 0 0 0 0 0 0 0 0 0 0 0 580 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
60 0 0 0 0 0 0 0 0 0 0 0 0 590 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
61 0 0 0 0 0 0 0 0 0 0 0 0 600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
62 0 0 0 0 0 0 0 0 0 0 0 0 610 0 0 0 0 0 0 0 0 0 0 0 4 5 5 17 18 17
63 0 0 0 0 0 0 0 0 0 0 0 0 6227 29 28 35 37 36 40 43 41 43 45 43 40 43 41 37 39 37
64 0 0 0 0 0 0 0 0 0 0 0 0 6332 34 33 27 30 29 23 25 24 17 21 21 15 18 18 12 15 15
65 0 0 0 0 0 0 0 0 0 0 0 0 6411 13 13 8 10 10 6 7 7 3 4 4 1 1 1 0 0 0
66 0 0 1 0 0 0 0 0 0 0 0 0 650 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
67 0 0 0 0 0 0 0 0 0 0 0 0 660 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
68 0 0 0 0 0 0 0 0 0 0 0 0 670 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
69 0 0 0 0 0 0 0 0 0 0 0 0 680 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
70 0 0 0 0 0 0 0 0 0 0 0 0 690 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
71 0 0 0 0 0 0 0 0 0 0 0 0 700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
72 0 0 0 0 0 0 0 0 0 10 10 10 710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
73 22 22 22 42 42 42 66 66 66 86 86 86 720 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
74 66 66 66 38 38 38 38 38 38 22 22 22 730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
75 26 26 26 34 34 34 54 54 54 66 66 66 740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
76 86 86 86 70 70 70 46 46 46 26 26 26 750 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
77 14 14 14 6 6 6 0 0 0 0 0 0 760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
78 0 0 0 0 0 0 0 0 0 0 0 0 770 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
79 0 0 0 0 0 0 0 0 0 0 0 0 780 0 0
80 0 0 0 0 0 0 0 0 0 0 0 0 790 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
81 0 0 0 0 0 0 0 0 0 0 0 0 800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
82 0 0 0 0 0 0 0 0 0 0 0 0 810 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
83 0 0 0 0 0 0 0 0 0 0 0 0 820 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
84 0 0 0 0 0 0 0 0 0 0 0 0 830 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
85 0 0 0 0 0 0 0 0 0 0 0 0 840 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
86 0 0 1 0 0 1 0 0 1 0 0 0 850 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
87 0 0 0 0 0 0 0 0 0 0 0 0 860 0 0 13 13 13 32 34 33 49 51 48 60 60 56 58 59 55
88 0 0 0 0 0 0 0 0 0 0 0 0 8755 57 54 55 56 53 49 51 48 43 45 43 39 40 39 33 37 35
89 0 0 0 0 0 0 0 0 0 0 0 0 8828 31 30 23 27 26 20 23 23 17 20 20 14 17 17 13 16 16
90 0 0 0 0 0 0 0 0 0 0 0 0 8911 14 14 10 13 13 10 12 12 9 11 11 8 10 10 6 7 7
91 0 0 0 0 0 0 0 0 0 0 0 0 902 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
92 0 0 0 0 0 0 10 10 10 26 26 26 910 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
93 50 50 50 82 82 82 58 58 58 6 6 6 920 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
94 2 2 6 2 2 6 2 2 6 2 2 6 930 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
95 2 2 6 2 2 6 2 2 6 2 2 6 940 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
96 6 6 6 54 54 54 86 86 86 66 66 66 950 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
97 38 38 38 18 18 18 6 6 6 0 0 0 960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
98 0 0 0 0 0 0 0 0 0 0 0 0 970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
99 0 0 0 0 0 0 0 0 0 0 0 0 980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
100 0 0 0 0 0 0 0 0 0 0 0 0 990 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
101 0 0 0 0 0 0 0 0 0 0 0 0 1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
102 0 0 0 0 0 0 0 0 0 0 0 0 1010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
103 0 0 0 0 0 0 0 0 0 0 0 0 1020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
104 0 0 0 0 0 0 0 0 0 0 0 0 1030 0 0
105 0 0 0 0 0 0 0 0 0 0 0 0 1040 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
106 0 0 0 0 0 0 0 0 0 0 0 0 1050 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
107 0 0 0 0 0 0 0 0 0 0 0 0 1060 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
108 0 0 0 0 0 0 0 0 0 0 0 0 1070 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
109 0 0 0 0 0 0 0 0 0 0 0 0 1080 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
110 0 0 0 0 0 0 0 0 0 0 0 0 1090 0 0 0 0 0 0 0 0 0 0 0 6 7 7 12 15 15
111 0 0 0 0 0 0 0 0 0 0 0 0 11012 15 15 8 9 9 2 3 3 0 0 0 1 1 1 25 27 26
112 0 0 0 6 6 6 22 22 22 50 50 50 11155 56 53 68 70 65 65 66 61 65 66 61 63 64 60 63 64 60
113 78 78 78 34 34 34 2 2 6 2 2 6 11258 59 55 51 52 50 47 48 46 41 42 42 35 37 36 30 32 31
114 2 2 6 2 2 6 2 2 6 2 2 6 11326 28 27 20 24 24 18 22 22 16 19 19 14 17 17 13 16 16
115 2 2 6 2 2 6 2 2 6 2 2 6 11412 15 15 11 14 14 10 13 13 10 12 12 9 11 11 8 10 10
116 2 2 6 2 2 6 6 6 6 70 70 70 1158 9 9 6 8 8 3 3 3 0 0 0 0 0 0 0 0 0
117 78 78 78 46 46 46 22 22 22 6 6 6 1160 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
118 0 0 0 0 0 0 0 0 0 0 0 0 1170 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
119 0 0 0 0 0 0 0 0 0 0 0 0 1180 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
120 0 0 0 0 0 0 0 0 0 0 0 0 1190 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
121 0 0 0 0 0 0 0 0 0 0 0 0 1200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
122 0 0 0 0 0 0 0 0 0 0 0 0 1210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
123 0 0 0 0 0 0 0 0 0 0 0 0 1220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
124 0 0 0 0 0 0 0 0 0 0 0 0 1230 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
125 0 0 0 0 0 0 0 0 0 0 0 0 1240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
126 0 0 1 0 0 1 0 0 1 0 0 0 1250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
127 0 0 0 0 0 0 0 0 0 0 0 0 1260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
128 0 0 0 0 0 0 0 0 0 0 0 0 1270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
129 0 0 0 0 0 0 0 0 0 0 0 0 1280 0 0
130 0 0 0 0 0 0 0 0 0 0 0 0 1290 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
131 0 0 0 0 0 0 0 0 0 0 0 0 1300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
132 6 6 6 18 18 18 42 42 42 82 82 82 1310 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
133 26 26 26 2 2 6 2 2 6 2 2 6 1320 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
134 2 2 6 2 2 6 2 2 6 2 2 6 1330 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
135 2 2 6 2 2 6 2 2 6 14 14 14 1340 0 0 0 0 0 0 0 0 6 7 7 20 24 24 23 27 26
136 46 46 46 34 34 34 6 6 6 2 2 6 13523 27 26 18 22 22 11 13 13 23 24 24 61 63 57 72 73 67
137 42 42 42 78 78 78 42 42 42 18 18 18 13672 73 67 68 70 65 68 70 65 68 70 65 63 64 60 58 59 55
138 6 6 6 0 0 0 0 0 0 0 0 0 13755 56 53 47 48 46 41 42 42 35 37 36 30 32 31 26 28 27
139 0 0 0 0 0 0 0 0 0 0 0 0 13820 24 24 18 22 22 16 20 20 15 19 19 14 17 17 13 16 16
140 0 0 0 0 0 0 0 0 0 0 0 0 13912 15 15 12 15 15 11 14 14 10 13 13 10 12 12 9 11 11
141 0 0 0 0 0 0 0 0 0 0 0 0 1408 10 10 8 9 9 7 9 9 6 7 7 1 2 2 0 0 0
142 0 0 0 0 0 0 0 0 0 0 0 0 1410 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
143 0 0 0 0 0 0 0 0 0 0 0 0 1420 0 0 0 0 0 1 1 1 4 5 5 5 6 5 4 5 5
144 0 0 0 0 0 0 0 0 0 0 0 0 1430 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
145 0 0 0 0 0 0 0 0 0 0 0 0 1440 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
146 0 0 1 0 0 0 0 0 1 0 0 0 1450 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
147 0 0 0 0 0 0 0 0 0 0 0 0 1460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
148 0 0 0 0 0 0 0 0 0 0 0 0 1470 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
149 0 0 0 0 0 0 0 0 0 0 0 0 1480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
150 0 0 0 0 0 0 0 0 0 0 0 0 1490 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
151 0 0 0 0 0 0 0 0 0 0 0 0 1500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
152 10 10 10 30 30 30 66 66 66 58 58 58 1510 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
153 2 2 6 2 2 6 2 2 6 2 2 6 1520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
154 2 2 6 2 2 6 2 2 6 2 2 6 1530 0 0
155 2 2 6 2 2 6 2 2 6 26 26 26 1540 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
156 86 86 86 101 101 101 46 46 46 10 10 10 1550 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
157 2 2 6 58 58 58 70 70 70 34 34 34 1560 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
158 10 10 10 0 0 0 0 0 0 0 0 0 1570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
159 0 0 0 0 0 0 0 0 0 0 0 0 1580 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
160 0 0 0 0 0 0 0 0 0 0 0 0 1590 0 0 0 0 0 0 0 0 15 19 19 40 41 39 53 55 47
161 0 0 0 0 0 0 0 0 0 0 0 0 16033 36 34 27 30 29 51 52 50 72 73 67 72 73 67 72 73 67
162 0 0 0 0 0 0 0 0 0 0 0 0 16172 73 67 68 70 65 68 70 65 63 64 60 58 59 55 51 52 50
163 0 0 0 0 0 0 0 0 0 0 0 0 16247 48 46 40 43 41 33 37 35 30 32 31 26 28 27 20 24 24
164 0 0 0 0 0 0 0 0 0 0 0 0 16318 22 22 17 21 21 16 19 19 14 18 18 14 17 17 13 17 17
165 0 0 0 0 0 0 0 0 0 0 0 0 16413 16 16 12 15 15 12 15 15 11 14 14 10 13 13 10 12 12
166 0 0 1 0 0 1 0 0 1 0 0 0 1659 11 11 8 10 10 8 9 9 7 9 9 6 8 8 3 4 4
167 0 0 0 0 0 0 0 0 0 0 0 0 1660 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
168 0 0 0 0 0 0 0 0 0 0 0 0 1672 2 2 6 8 8 10 12 12 10 12 12 10 12 12 10 12 12
169 0 0 0 0 0 0 0 0 0 0 0 0 1686 8 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
170 0 0 0 0 0 0 0 0 0 0 0 0 1690 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
171 0 0 0 0 0 0 0 0 0 0 0 0 1700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
172 14 14 14 42 42 42 86 86 86 10 10 10 1710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
173 2 2 6 2 2 6 2 2 6 2 2 6 1720 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
174 2 2 6 2 2 6 2 2 6 2 2 6 1730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
175 2 2 6 2 2 6 2 2 6 30 30 30 1740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
176 94 94 94 94 94 94 58 58 58 26 26 26 1750 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
177 2 2 6 6 6 6 78 78 78 54 54 54 1760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
178 22 22 22 6 6 6 0 0 0 0 0 0 1770 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
179 0 0 0 0 0 0 0 0 0 0 0 0 1780 0 0
180 0 0 0 0 0 0 0 0 0 0 0 0 1790 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
181 0 0 0 0 0 0 0 0 0 0 0 0 1800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
182 0 0 0 0 0 0 0 0 0 0 0 0 1810 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
183 0 0 0 0 0 0 0 0 0 0 0 0 1820 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
184 0 0 0 0 0 0 0 0 0 0 0 0 1830 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
185 0 0 0 0 0 0 0 0 0 0 0 0 1840 0 0 0 0 0 0 0 0 20 23 23 71 71 57 131 127 93
186 0 0 0 0 0 0 0 0 0 0 0 0 185115 113 82 63 64 60 72 73 67 72 73 67 72 73 67 72 73 67
187 0 0 0 0 0 0 0 0 0 0 0 0 18668 70 65 65 66 61 61 63 57 55 57 54 49 51 48 43 45 43
188 0 0 0 0 0 0 0 0 0 0 0 0 18739 40 39 33 36 34 28 31 30 23 27 26 20 24 24 20 23 23
189 0 0 0 0 0 0 0 0 0 0 0 0 18817 21 21 16 20 20 15 19 19 15 18 18 14 18 18 14 17 17
190 0 0 0 0 0 0 0 0 0 0 0 0 18913 17 17 13 16 16 12 15 15 12 15 15 11 14 14 10 13 13
191 0 0 0 0 0 0 0 0 0 6 6 6 19010 12 12 9 11 11 8 10 10 7 9 9 7 9 9 6 8 8
192 22 22 22 62 62 62 62 62 62 2 2 6 1914 5 5 0 0 0 0 0 0 0 0 0 1 1 1 6 7 7
193 2 2 6 2 2 6 2 2 6 2 2 6 19210 12 12 10 12 12 10 12 12 10 12 12 10 12 12 10 12 12
194 2 2 6 2 2 6 2 2 6 2 2 6 19310 12 12 3 4 4 0 0 0 0 0 0 0 0 0 0 0 0
195 2 2 6 2 2 6 2 2 6 26 26 26 1940 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
196 54 54 54 38 38 38 18 18 18 10 10 10 1950 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
197 2 2 6 2 2 6 34 34 34 82 82 82 1960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
198 38 38 38 14 14 14 0 0 0 0 0 0 1970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
199 0 0 0 0 0 0 0 0 0 0 0 0 1980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
200 0 0 0 0 0 0 0 0 0 0 0 0 1990 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
201 0 0 0 0 0 0 0 0 0 0 0 0 2000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
202 0 0 0 0 0 0 0 0 0 0 0 0 2010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
203 0 0 0 0 0 0 0 0 0 0 0 0 2020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
204 0 0 0 0 0 0 0 0 0 0 0 0 2030 0 0
205 0 0 0 0 0 0 0 0 0 0 0 0 2040 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
206 0 0 0 0 0 1 0 0 1 0 0 0 2050 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
207 0 0 0 0 0 0 0 0 0 0 0 0 2060 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
208 0 0 0 0 0 0 0 0 0 0 0 0 2070 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
209 0 0 0 0 0 0 0 0 0 0 0 0 2080 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
210 0 0 0 0 0 0 0 0 0 0 0 0 2090 0 0 0 0 0 0 0 0 18 22 22 71 71 57 144 139 99
211 0 0 0 0 0 0 0 0 0 6 6 6 21084 83 72 68 70 65 72 73 67 72 73 67 68 70 65 65 66 61
212 30 30 30 78 78 78 30 30 30 2 2 6 21163 64 60 55 57 54 51 52 50 47 48 46 40 43 41 35 37 36
213 2 2 6 2 2 6 2 2 6 2 2 6 21230 32 31 27 29 28 23 27 26 20 24 24 18 22 22 17 21 21
214 2 2 6 2 2 6 2 2 6 2 2 6 21316 20 20 15 19 19 15 19 19 15 19 19 15 18 18 14 18 18
215 2 2 6 2 2 6 2 2 6 10 10 10 21414 17 17 13 17 17 13 16 16 12 15 15 12 15 15 11 14 14
216 10 10 10 2 2 6 2 2 6 2 2 6 21510 13 13 9 12 12 9 11 11 8 10 10 7 9 9 6 8 8
217 2 2 6 2 2 6 2 2 6 78 78 78 2166 8 8 3 4 4 0 0 0 2 2 2 8 10 10 10 12 12
218 50 50 50 18 18 18 6 6 6 0 0 0 21710 12 12 10 12 12 11 13 13 36 38 35 61 61 53 48 49 45
219 0 0 0 0 0 0 0 0 0 0 0 0 21810 12 12 7 9 9 0 0 0 0 0 0 0 0 0 0 0 0
220 0 0 0 0 0 0 0 0 0 0 0 0 2190 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
221 0 0 0 0 0 0 0 0 0 0 0 0 2200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
222 0 0 0 0 0 0 0 0 0 0 0 0 2210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
223 0 0 0 0 0 0 0 0 0 0 0 0 2220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
224 0 0 0 0 0 0 0 0 0 0 0 0 2230 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
225 0 0 0 0 0 0 0 0 0 0 0 0 2240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
226 0 0 1 0 0 0 0 0 0 0 0 0 2250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
227 0 0 0 0 0 0 0 0 0 0 0 0 2260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
228 0 0 0 0 0 0 0 0 0 0 0 0 2270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
229 0 0 0 0 0 0 0 0 0 0 0 0 2280 0 0
230 0 0 0 0 0 0 0 0 0 0 0 0 2290 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
231 0 0 0 0 0 0 0 0 0 10 10 10 2300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
232 38 38 38 86 86 86 14 14 14 2 2 6 2310 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
233 2 2 6 2 2 6 2 2 6 2 2 6 2320 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
234 2 2 6 2 2 6 2 2 6 2 2 6 2330 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
235 2 2 6 2 2 6 2 2 6 2 2 6 2340 0 0 0 0 0 0 0 0 15 19 19 61 61 53 84 83 72
236 2 2 6 2 2 6 2 2 6 2 2 6 23568 70 65 72 73 67 68 70 65 68 70 65 63 64 60 58 59 55
237 2 2 6 2 2 6 2 2 6 54 54 54 23651 52 50 47 48 46 41 42 42 37 39 37 32 35 33 28 31 30
238 66 66 66 26 26 26 6 6 6 0 0 0 23723 27 26 20 24 24 20 23 23 18 22 22 17 21 21 17 21 21
239 0 0 0 0 0 0 0 0 0 0 0 0 23817 21 21 17 21 21 17 20 20 16 20 20 16 20 20 16 19 19
240 0 0 0 0 0 0 0 0 0 0 0 0 23915 18 18 14 18 18 13 17 17 13 16 16 12 15 15 12 15 15
241 0 0 0 0 0 0 0 0 0 0 0 0 24011 14 14 10 13 13 9 12 12 9 11 11 8 10 10 7 9 9
242 0 0 0 0 0 0 0 0 0 0 0 0 2416 8 8 6 8 8 5 6 5 9 11 11 10 12 12 10 12 12
243 0 0 0 0 0 0 0 0 0 0 0 0 24219 20 18 82 81 62 149 145 103 160 154 106 142 137 94 96 95 69
244 0 0 0 0 0 0 0 0 0 0 0 0 24310 12 12 10 12 12 1 1 1 0 0 0 0 0 0 0 0 0
245 0 0 0 0 0 0 0 0 0 0 0 0 2440 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
246 0 0 0 0 0 1 0 0 1 0 0 0 2450 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
247 0 0 0 0 0 0 0 0 0 0 0 0 2460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
248 0 0 0 0 0 0 0 0 0 0 0 0 2470 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
249 0 0 0 0 0 0 0 0 0 0 0 0 2480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
250 0 0 0 0 0 0 0 0 0 0 0 0 2490 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
251 0 0 0 0 0 0 0 0 0 14 14 14 2500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
252 42 42 42 82 82 82 2 2 6 2 2 6 2510 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
253 2 2 6 6 6 6 10 10 10 2 2 6 2520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
254 2 2 6 2 2 6 2 2 6 2 2 6 2530 0 0
255 2 2 6 2 2 6 2 2 6 6 6 6 2540 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
256 14 14 14 10 10 10 2 2 6 2 2 6 2550 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
257 2 2 6 2 2 6 2 2 6 18 18 18 2560 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
258 82 82 82 34 34 34 10 10 10 0 0 0 2570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
259 0 0 0 0 0 0 0 0 0 0 0 0 2580 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
260 0 0 0 0 0 0 0 0 0 0 0 0 2590 0 0 0 0 0 0 0 0 10 12 12 44 46 43 68 70 65
261 0 0 0 0 0 0 0 0 0 0 0 0 26072 73 67 68 70 65 68 70 65 63 64 60 55 57 54 49 51 48
262 0 0 0 0 0 0 0 0 0 0 0 0 26143 45 43 39 40 39 33 37 35 30 32 31 26 28 27 23 27 26
263 0 0 0 0 0 0 0 0 0 0 0 0 26220 24 24 18 22 22 18 22 22 18 22 22 18 22 22 20 23 23
264 0 0 0 0 0 0 0 0 0 0 0 0 26320 24 24 23 25 24 23 25 24 22 24 23 20 23 23 18 22 22
265 0 0 0 0 0 0 0 0 0 0 0 0 26417 20 20 15 19 19 15 18 18 14 17 17 13 16 16 12 15 15
266 0 0 1 0 0 0 0 0 0 0 0 0 26511 14 14 11 13 13 10 12 12 9 11 11 8 10 10 8 9 9
267 0 0 0 0 0 0 0 0 0 0 0 0 2667 9 9 7 9 9 10 12 12 10 12 12 10 12 12 71 71 57
268 0 0 0 0 0 0 0 0 0 0 0 0 267164 159 111 186 182 128 186 182 128 171 165 117 151 147 98 96 95 69
269 0 0 0 0 0 0 0 0 0 0 0 0 26810 12 12 10 12 12 3 3 3 0 0 0 0 0 0 0 0 0
270 0 0 0 0 0 0 0 0 0 0 0 0 2690 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
271 0 0 0 0 0 0 0 0 0 14 14 14 2700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
272 46 46 46 86 86 86 2 2 6 2 2 6 2710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
273 6 6 6 6 6 6 22 22 22 34 34 34 2720 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
274 6 6 6 2 2 6 2 2 6 2 2 6 2730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
275 2 2 6 2 2 6 18 18 18 34 34 34 2740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
276 10 10 10 50 50 50 22 22 22 2 2 6 2750 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
277 2 2 6 2 2 6 2 2 6 10 10 10 2760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
278 86 86 86 42 42 42 14 14 14 0 0 0 2770 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
279 0 0 0 0 0 0 0 0 0 0 0 0 2780 0 0
280 0 0 0 0 0 0 0 0 0 0 0 0 2790 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
281 0 0 0 0 0 0 0 0 0 0 0 0 2800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
282 0 0 0 0 0 0 0 0 0 0 0 0 2810 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
283 0 0 0 0 0 0 0 0 0 0 0 0 2820 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
284 0 0 0 0 0 0 0 0 0 0 0 0 2830 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
285 0 0 0 0 0 0 0 0 0 0 0 0 2840 0 0 0 0 0 0 0 0 8 10 10 63 64 60 68 70 65
286 0 0 1 0 0 1 0 0 1 0 0 0 28572 73 67 68 70 65 63 64 60 55 57 54 47 48 46 40 43 41
287 0 0 0 0 0 0 0 0 0 0 0 0 28633 37 35 30 32 31 27 29 28 23 27 26 20 24 24 20 23 23
288 0 0 0 0 0 0 0 0 0 0 0 0 28718 22 22 18 22 22 20 23 22 21 25 23 23 27 26 27 29 28
289 0 0 0 0 0 0 0 0 0 0 0 0 28828 31 30 31 33 31 31 33 31 31 33 31 28 31 30 26 28 27
290 0 0 0 0 0 0 0 0 0 0 0 0 28923 25 24 20 23 22 16 20 20 15 18 18 14 17 17 13 16 16
291 0 0 0 0 0 0 0 0 0 14 14 14 29012 15 15 11 14 14 10 13 13 10 12 12 9 11 11 8 10 10
292 46 46 46 86 86 86 2 2 6 2 2 6 29110 12 12 10 13 13 10 12 12 12 14 14 96 95 69 165 161 109
293 38 38 38 116 116 116 94 94 94 22 22 22 292186 182 128 192 187 134 192 187 134 176 171 126 160 154 106 103 101 77
294 22 22 22 2 2 6 2 2 6 2 2 6 29310 12 12 10 12 12 5 6 5 0 0 0 0 0 0 0 0 0
295 14 14 14 86 86 86 138 138 138 162 162 162 2940 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
296154 154 154 38 38 38 26 26 26 6 6 6 2950 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
297 2 2 6 2 2 6 2 2 6 2 2 6 2960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
298 86 86 86 46 46 46 14 14 14 0 0 0 2970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
299 0 0 0 0 0 0 0 0 0 0 0 0 2980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
300 0 0 0 0 0 0 0 0 0 0 0 0 2990 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
301 0 0 0 0 0 0 0 0 0 0 0 0 3000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
302 0 0 0 0 0 0 0 0 0 0 0 0 3010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
303 0 0 0 0 0 0 0 0 0 0 0 0 3020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
304 0 0 0 0 0 0 0 0 0 0 0 0 3030 0 0
305 0 0 0 0 0 0 0 0 0 0 0 0 3040 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
306 0 0 0 0 0 0 0 0 0 0 0 0 3050 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
307 0 0 0 0 0 0 0 0 0 0 0 0 3060 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
308 0 0 0 0 0 0 0 0 0 0 0 0 3070 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
309 0 0 0 0 0 0 0 0 0 0 0 0 3080 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
310 0 0 0 0 0 0 0 0 0 0 0 0 3090 0 0 0 0 0 0 0 0 35 37 36 68 70 65 72 73 67
311 0 0 0 0 0 0 0 0 0 14 14 14 31068 70 65 65 66 61 58 59 55 49 51 48 40 43 41 33 37 35
312 46 46 46 86 86 86 2 2 6 14 14 14 31128 31 30 23 27 26 20 24 24 20 23 23 18 22 22 18 22 22
313134 134 134 198 198 198 195 195 195 116 116 116 31218 22 22 20 23 23 23 27 26 27 30 29 32 35 33 37 39 37
314 10 10 10 2 2 6 2 2 6 6 6 6 31340 43 41 44 46 43 46 47 43 44 46 43 40 43 41 36 38 35
315101 98 89 187 187 187 210 210 210 218 218 218 31431 33 31 27 29 28 22 24 23 17 21 21 15 18 18 14 17 17
316214 214 214 134 134 134 14 14 14 6 6 6 31513 16 16 12 15 15 11 14 14 11 14 14 11 13 13 13 16 16
317 2 2 6 2 2 6 2 2 6 2 2 6 31613 16 16 11 14 14 10 12 12 79 78 62 142 137 94 164 159 111
318 86 86 86 50 50 50 18 18 18 6 6 6 317178 174 128 192 187 134 192 187 134 176 171 126 160 154 106 96 95 69
319 0 0 0 0 0 0 0 0 0 0 0 0 31810 12 12 10 12 12 6 7 7 0 0 0 0 0 0 0 0 0
320 0 0 0 0 0 0 0 0 0 0 0 0 3190 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
321 0 0 0 0 0 0 0 0 0 0 0 0 3200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
322 0 0 0 0 0 0 0 0 0 0 0 0 3210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
323 0 0 0 0 0 0 0 0 0 0 0 0 3220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
324 0 0 0 0 0 0 0 0 0 0 0 0 3230 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
325 0 0 0 0 0 0 0 0 1 0 0 0 3240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
326 0 0 1 0 0 1 0 0 1 0 0 0 3250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
327 0 0 0 0 0 0 0 0 0 0 0 0 3260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
328 0 0 0 0 0 0 0 0 0 0 0 0 3270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
329 0 0 0 0 0 0 0 0 0 0 0 0 3280 0 0
330 0 0 0 0 0 0 0 0 0 0 0 0 3290 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
331 0 0 0 0 0 0 0 0 0 14 14 14 3300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
332 46 46 46 86 86 86 2 2 6 54 54 54 3310 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
333218 218 218 195 195 195 226 226 226 246 246 246 3320 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
334 58 58 58 2 2 6 2 2 6 30 30 30 3330 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
335210 210 210 253 253 253 174 174 174 123 123 123 3340 0 0 0 0 0 0 0 0 55 57 54 68 70 65 72 73 67
336221 221 221 234 234 234 74 74 74 2 2 6 33568 70 65 63 64 60 55 56 53 43 45 43 35 37 36 28 31 30
337 2 2 6 2 2 6 2 2 6 2 2 6 33623 27 26 20 24 24 18 22 22 17 21 21 17 21 21 17 21 21
338 70 70 70 58 58 58 22 22 22 6 6 6 33720 24 24 25 27 26 31 33 31 38 39 37 46 47 43 53 55 47
339 0 0 0 0 0 0 0 0 0 0 0 0 33861 61 53 66 65 55 66 65 55 66 65 55 61 61 53 53 55 47
340 0 0 0 0 0 0 0 0 0 0 0 0 33946 47 43 37 39 37 30 33 30 24 26 24 17 21 21 15 18 18
341 0 0 0 0 0 0 0 0 0 0 0 0 34013 17 17 12 15 15 12 15 15 13 16 16 14 18 18 14 18 18
342 0 0 0 0 0 0 0 0 0 0 0 0 34114 17 17 12 15 15 30 31 28 118 116 76 134 131 96 160 154 106
343 0 0 0 0 0 0 0 0 0 0 0 0 342174 170 121 178 174 128 178 174 128 171 165 117 151 147 98 96 95 69
344 0 0 0 0 0 0 0 0 0 0 0 0 34310 12 12 10 12 12 6 8 8 0 0 0 0 0 0 0 0 0
345 0 0 0 0 0 0 0 0 0 0 0 0 3440 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
346 0 0 0 0 0 0 0 0 0 0 0 0 3450 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
347 0 0 0 0 0 0 0 0 0 0 0 0 3460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
348 0 0 0 0 0 0 0 0 0 0 0 0 3470 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
349 0 0 0 0 0 0 0 0 0 0 0 0 3480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
350 0 0 0 0 0 0 0 0 0 0 0 0 3490 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
351 0 0 0 0 0 0 0 0 0 14 14 14 3500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
352 46 46 46 82 82 82 2 2 6 106 106 106 3510 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
353170 170 170 26 26 26 86 86 86 226 226 226 3520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
354123 123 123 10 10 10 14 14 14 46 46 46 3530 0 0
355231 231 231 190 190 190 6 6 6 70 70 70 3540 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
356 90 90 90 238 238 238 158 158 158 2 2 6 3550 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
357 2 2 6 2 2 6 2 2 6 2 2 6 3560 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
358 70 70 70 58 58 58 22 22 22 6 6 6 3570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
359 0 0 0 0 0 0 0 0 0 0 0 0 3580 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
360 0 0 0 0 0 0 0 0 0 0 0 0 3590 0 0 0 0 0 0 0 0 63 64 60 68 70 65 68 70 65
361 0 0 0 0 0 0 0 0 0 0 0 0 36065 66 61 58 59 55 49 51 48 39 40 39 30 32 31 23 27 26
362 0 0 0 0 0 0 0 0 0 0 0 0 36120 24 24 18 22 22 17 21 21 16 20 20 17 21 21 20 23 23
363 0 0 0 0 0 0 0 0 0 0 0 0 36225 27 26 32 35 33 43 44 41 53 55 47 66 65 55 75 75 61
364 0 0 0 0 0 0 0 0 0 0 0 0 36382 81 62 84 83 72 87 86 72 87 86 72 82 81 62 75 75 61
365 0 0 0 0 0 0 0 0 1 0 0 0 36466 65 55 53 55 47 40 41 39 31 33 31 23 25 24 17 20 20
366 0 0 1 0 0 1 0 0 1 0 0 0 36514 18 18 13 16 16 12 15 15 12 15 15 13 17 17 14 18 18
367 0 0 0 0 0 0 0 0 0 0 0 0 36614 18 18 13 16 16 46 47 43 96 95 69 125 122 87 142 137 94
368 0 0 0 0 0 0 0 0 0 0 0 0 367160 154 106 165 161 109 164 159 111 155 149 109 142 137 94 75 75 61
369 0 0 0 0 0 0 0 0 0 0 0 0 36810 12 12 10 12 12 6 8 8 0 0 0 0 0 0 0 0 0
370 0 0 0 0 0 0 0 0 0 0 0 0 3690 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
371 0 0 0 0 0 0 0 0 0 14 14 14 3700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
372 42 42 42 86 86 86 6 6 6 116 116 116 3710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
373106 106 106 6 6 6 70 70 70 149 149 149 3720 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
374128 128 128 18 18 18 38 38 38 54 54 54 3730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
375221 221 221 106 106 106 2 2 6 14 14 14 3740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
376 46 46 46 190 190 190 198 198 198 2 2 6 3750 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
377 2 2 6 2 2 6 2 2 6 2 2 6 3760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
378 74 74 74 62 62 62 22 22 22 6 6 6 3770 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
379 0 0 0 0 0 0 0 0 0 0 0 0 3780 0 0
380 0 0 0 0 0 0 0 0 0 0 0 0 3790 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
381 0 0 0 0 0 0 0 0 0 0 0 0 3800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
382 0 0 0 0 0 0 0 0 0 0 0 0 3810 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
383 0 0 0 0 0 0 0 0 0 0 0 0 3820 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
384 0 0 0 0 0 0 0 0 0 0 0 0 3830 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
385 0 0 0 0 0 0 0 0 1 0 0 0 3840 0 0 0 0 0 0 0 0 60 60 56 68 70 65 68 70 65
386 0 0 1 0 0 0 0 0 1 0 0 0 38563 64 60 55 57 54 46 47 45 35 37 36 27 30 29 23 25 24
387 0 0 0 0 0 0 0 0 0 0 0 0 38618 22 22 17 21 21 16 20 20 17 21 21 18 22 22 23 27 26
388 0 0 0 0 0 0 0 0 0 0 0 0 38731 33 31 43 44 41 55 56 53 71 71 57 84 83 72 92 91 72
389 0 0 0 0 0 0 0 0 0 0 0 0 388103 101 77 92 91 72 82 81 62 82 81 62 87 86 72 92 91 72
390 0 0 0 0 0 0 0 0 0 0 0 0 38984 83 72 71 71 57 55 56 53 43 44 41 30 33 30 22 24 23
391 0 0 0 0 0 0 0 0 0 14 14 14 39016 19 19 14 17 17 12 15 15 12 15 15 13 16 16 14 18 18
392 42 42 42 94 94 94 14 14 14 101 101 101 39114 18 18 14 17 17 43 44 41 82 81 62 118 116 76 125 122 87
393128 128 128 2 2 6 18 18 18 116 116 116 392142 137 94 144 139 99 144 139 99 134 131 96 118 116 76 53 55 47
394118 98 46 121 92 8 121 92 8 98 78 10 39310 12 12 10 12 12 6 8 8 0 0 0 0 0 0 0 0 0
395162 162 162 106 106 106 2 2 6 2 2 6 3940 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
396 2 2 6 195 195 195 195 195 195 6 6 6 3950 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
397 2 2 6 2 2 6 2 2 6 2 2 6 3960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
398 74 74 74 62 62 62 22 22 22 6 6 6 3970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
399 0 0 0 0 0 0 0 0 0 0 0 0 3980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
400 0 0 0 0 0 0 0 0 0 0 0 0 3990 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
401 0 0 0 0 0 0 0 0 0 0 0 0 4000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
402 0 0 0 0 0 0 0 0 0 0 0 0 4010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
403 0 0 0 0 0 0 0 0 0 0 0 0 4020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
404 0 0 0 0 0 0 0 0 0 0 0 0 4030 0 0
405 0 0 0 0 0 0 0 0 1 0 0 1 4040 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
406 0 0 1 0 0 0 0 0 1 0 0 0 4050 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
407 0 0 0 0 0 0 0 0 0 0 0 0 4060 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
408 0 0 0 0 0 0 0 0 0 0 0 0 4070 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
409 0 0 0 0 0 0 0 0 0 0 0 0 4080 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
410 0 0 0 0 0 0 0 0 0 0 0 0 4090 0 0 0 0 0 0 0 0 47 48 46 63 64 60 63 64 60
411 0 0 0 0 0 0 0 0 0 10 10 10 41055 57 54 49 51 48 40 43 41 32 34 33 26 28 27 20 24 24
412 38 38 38 90 90 90 14 14 14 58 58 58 41118 22 22 16 20 20 16 20 20 17 21 21 20 24 24 28 31 30
413210 210 210 26 26 26 54 38 6 154 114 10 41240 41 39 53 55 47 75 75 61 90 89 73 87 86 72 48 49 45
414226 170 11 236 186 11 225 175 15 184 144 12 41314 14 13 2 2 2 1 2 2 1 1 1 1 1 1 2 2 2
415215 174 15 175 146 61 37 26 9 2 2 6 41419 20 18 43 44 41 66 65 55 53 55 47 38 39 37 26 28 27
416 70 70 70 246 246 246 138 138 138 2 2 6 41518 22 22 14 18 18 13 16 16 12 15 15 12 15 15 13 17 17
417 2 2 6 2 2 6 2 2 6 2 2 6 41614 18 18 14 18 18 30 31 28 66 65 55 96 95 69 103 101 77
418 70 70 70 66 66 66 26 26 26 6 6 6 417118 116 76 118 116 76 118 116 76 118 116 76 103 101 77 36 38 35
419 0 0 0 0 0 0 0 0 0 0 0 0 41810 12 12 10 12 12 6 7 7 0 0 0 0 0 0 0 0 0
420 0 0 0 0 0 0 0 0 0 0 0 0 4190 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
421 0 0 0 0 0 0 0 0 0 0 0 0 4200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
422 0 0 0 0 0 0 0 0 0 0 0 0 4210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
423 0 0 0 0 0 0 0 0 0 0 0 0 4220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
424 0 0 0 0 0 0 0 0 0 0 0 0 4230 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
425 0 0 0 0 0 0 0 0 0 0 0 0 4240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
426 0 0 0 0 0 0 0 0 0 0 0 0 4250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
427 0 0 0 0 0 0 0 0 0 0 0 0 4260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
428 0 0 0 0 0 0 0 0 0 0 0 0 4270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
429 0 0 0 0 0 0 0 0 0 0 0 0 4280 0 0
430 0 0 0 0 0 0 0 0 0 0 0 0 4290 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
431 0 0 0 0 0 0 0 0 0 10 10 10 4300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
432 38 38 38 86 86 86 14 14 14 10 10 10 4310 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
433195 195 195 188 164 115 192 133 9 225 175 15 4320 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
434239 182 13 234 190 10 232 195 16 232 200 30 4330 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
435245 207 45 241 208 19 232 195 16 184 144 12 4340 0 0 0 0 0 0 0 0 28 31 30 55 57 54 51 52 50
436218 194 134 211 206 186 42 42 42 2 2 6 43549 51 48 41 42 42 35 37 36 28 31 30 23 27 26 20 23 23
437 2 2 6 2 2 6 2 2 6 2 2 6 43617 21 21 16 20 20 16 20 20 18 22 22 23 27 26 33 36 34
438 50 50 50 74 74 74 30 30 30 6 6 6 43748 49 45 71 71 57 82 81 62 43 44 41 8 9 9 6 7 7
439 0 0 0 0 0 0 0 0 0 0 0 0 4386 7 7 6 7 7 6 7 7 5 6 5 4 5 5 3 4 4
440 0 0 0 0 0 0 0 0 0 0 0 0 4392 3 3 1 2 2 4 5 4 36 38 35 48 49 45 32 35 33
441 0 0 0 0 0 0 0 0 0 0 0 0 44021 25 23 16 19 19 13 17 17 12 15 15 12 15 15 13 16 16
442 0 0 0 0 0 0 0 0 0 0 0 0 44114 18 18 14 18 18 16 18 16 36 38 35 61 61 53 82 81 62
443 0 0 0 0 0 0 0 0 0 0 0 0 44296 95 69 96 95 69 96 95 69 96 95 69 79 78 62 19 20 18
444 0 0 0 0 0 0 0 0 0 0 0 0 44310 12 12 10 12 12 4 5 5 0 0 0 0 0 0 0 0 0
445 0 0 0 0 0 0 0 0 0 0 0 0 4440 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
446 0 0 0 0 0 0 0 0 0 0 0 0 4450 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
447 0 0 0 0 0 0 0 0 0 0 0 0 4460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
448 0 0 0 0 0 0 0 0 0 0 0 0 4470 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
449 0 0 0 0 0 0 0 0 0 0 0 0 4480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
450 0 0 0 0 0 0 0 0 0 0 0 0 4490 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
451 0 0 0 0 0 0 0 0 0 10 10 10 4500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
452 34 34 34 86 86 86 14 14 14 2 2 6 4510 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
453121 87 25 192 133 9 219 162 10 239 182 13 4520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
454236 186 11 232 195 16 241 208 19 244 214 54 4530 0 0
455246 218 60 246 218 38 246 215 20 241 208 19 4540 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
456241 208 19 226 184 13 121 87 25 2 2 6 4550 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
457 2 2 6 2 2 6 2 2 6 2 2 6 4560 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
458 50 50 50 82 82 82 34 34 34 10 10 10 4570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
459 0 0 0 0 0 0 0 0 0 0 0 0 4580 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
460 0 0 0 0 0 0 0 0 0 0 0 0 4590 0 0 0 0 0 0 0 0 13 13 13 46 47 45 43 45 43
461 0 0 0 0 0 0 0 0 0 0 0 0 46040 43 41 35 37 36 30 32 31 23 27 26 20 24 24 18 22 22
462 0 0 0 0 0 0 0 0 0 0 0 0 46117 21 21 16 20 20 17 21 21 20 23 23 27 30 29 40 41 39
463 0 0 0 0 0 0 0 0 0 0 0 0 46261 61 53 53 55 47 16 17 16 9 11 11 10 12 12 10 12 12
464 0 0 0 0 0 0 0 0 0 0 0 0 46310 12 12 10 12 12 10 12 12 9 11 11 8 10 10 8 9 9
465 0 0 0 0 0 0 0 0 0 0 0 0 4646 8 8 5 6 5 4 5 5 2 3 3 19 20 18 38 39 37
466 0 0 0 0 0 0 0 0 0 0 0 0 46526 28 27 17 21 21 14 17 17 13 16 16 12 15 15 12 15 15
467 0 0 0 0 0 0 0 0 0 0 0 0 46613 17 17 14 18 18 12 15 15 13 12 7 30 31 28 46 47 43
468 0 0 0 0 0 0 0 0 0 0 0 0 46753 55 47 66 65 55 66 65 55 53 55 47 36 38 35 10 12 12
469 0 0 0 0 0 0 0 0 0 0 0 0 46810 12 12 10 12 12 2 3 3 0 0 0 0 0 0 0 0 0
470 0 0 0 0 0 0 0 0 0 0 0 0 4690 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
471 0 0 0 0 0 0 0 0 0 10 10 10 4700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
472 34 34 34 82 82 82 30 30 30 61 42 6 4710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
473180 123 7 206 145 10 230 174 11 239 182 13 4720 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
474234 190 10 238 202 15 241 208 19 246 218 74 4730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
475246 218 38 246 215 20 246 215 20 246 215 20 4740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
476226 184 13 215 174 15 184 144 12 6 6 6 4750 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
477 2 2 6 2 2 6 2 2 6 2 2 6 4760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
478 26 26 26 94 94 94 42 42 42 14 14 14 4770 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
479 0 0 0 0 0 0 0 0 0 0 0 0 4780 0 0
480 0 0 0 0 0 0 0 0 0 0 0 0 4790 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
481 0 0 0 0 0 0 0 0 0 0 0 0 4800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
482 0 0 0 0 0 0 0 0 0 0 0 0 4810 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
483 0 0 0 0 0 0 0 0 0 0 0 0 4820 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
484 0 0 0 0 0 0 0 0 0 0 0 0 4830 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
485 0 0 0 0 0 0 0 0 0 0 0 0 4840 0 0 0 0 0 0 0 0 1 1 1 33 37 35 35 37 36
486 0 0 0 0 0 0 0 0 0 0 0 0 48532 35 33 28 31 30 23 27 26 20 24 24 18 22 22 17 21 21
487 0 0 0 0 0 0 0 0 0 0 0 0 48616 20 20 16 20 20 17 21 21 21 25 23 31 33 31 44 46 43
488 0 0 0 0 0 0 0 0 0 0 0 0 48731 33 31 11 13 13 12 14 14 12 15 15 13 16 16 14 17 17
489 0 0 0 0 0 0 0 0 0 0 0 0 48814 17 17 14 17 17 14 17 17 13 16 16 12 15 15 12 14 14
490 0 0 0 0 0 0 0 0 0 0 0 0 48911 13 13 9 11 11 8 10 10 6 8 8 4 5 5 17 18 17
491 0 0 0 0 0 0 0 0 0 10 10 10 49030 33 30 20 23 22 15 18 18 13 16 16 12 15 15 12 14 14
492 30 30 30 78 78 78 50 50 50 104 69 6 49113 16 16 14 17 17 14 18 18 11 12 11 7 7 5 16 17 12
493192 133 9 216 158 10 236 178 12 236 186 11 49221 22 20 30 31 28 25 27 25 21 22 20 14 14 13 10 12 12
494232 195 16 241 208 19 244 214 54 245 215 43 49310 12 12 9 11 11 0 0 0 0 0 0 0 0 0 0 0 0
495246 215 20 246 215 20 241 208 19 198 155 10 4940 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
496200 144 11 216 158 10 156 118 10 2 2 6 4950 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
497 2 2 6 2 2 6 2 2 6 2 2 6 4960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
498 6 6 6 90 90 90 54 54 54 18 18 18 4970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
499 6 6 6 0 0 0 0 0 0 0 0 0 4980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
500 0 0 0 0 0 0 0 0 0 0 0 0 4990 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
501 0 0 0 0 0 0 0 0 0 0 0 0 5000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
502 0 0 0 0 0 0 0 0 0 0 0 0 5010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
503 0 0 0 0 0 0 0 0 0 0 0 0 5020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
504 0 0 0 0 0 0 0 0 0 0 0 0 5030 0 0
505 0 0 0 0 0 0 0 0 0 0 0 0 5040 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
506 0 0 0 0 0 0 0 0 0 0 0 0 5050 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
507 0 0 0 0 0 0 0 0 0 0 0 0 5060 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
508 0 0 0 0 0 0 0 0 0 0 0 0 5070 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
509 0 0 0 0 0 0 0 0 0 0 0 0 5080 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
510 0 0 0 0 0 0 0 0 0 0 0 0 5090 0 0 0 0 0 0 0 0 0 0 0 18 22 22 27 30 29
511 0 0 0 0 0 0 0 0 0 10 10 10 51027 29 28 40 41 39 53 55 47 53 55 47 53 55 47 46 47 43
512 30 30 30 78 78 78 46 46 46 22 22 22 51125 27 25 16 20 20 17 21 21 23 25 24 31 33 31 20 20 20
513137 92 6 210 162 10 239 182 13 238 190 10 51212 15 15 14 17 17 15 19 19 16 20 20 17 21 21 18 22 22
514238 202 15 241 208 19 246 215 20 246 215 20 51318 22 22 18 22 22 18 22 22 17 21 21 17 21 21 16 19 19
515241 208 19 203 166 17 185 133 11 210 150 10 51415 18 18 13 16 16 12 15 15 10 12 12 8 10 10 6 8 8
516216 158 10 210 150 10 102 78 10 2 2 6 51521 22 21 22 24 23 15 19 19 13 17 17 13 16 16 12 15 15
517 6 6 6 54 54 54 14 14 14 2 2 6 51612 15 15 13 17 17 14 18 18 14 18 18 13 15 14 10 9 6
518 2 2 6 62 62 62 74 74 74 30 30 30 5177 7 5 7 7 5 7 7 5 9 11 11 10 12 12 10 12 12
519 10 10 10 0 0 0 0 0 0 0 0 0 51810 12 12 6 7 7 0 0 0 0 0 0 0 0 0 0 0 0
520 0 0 0 0 0 0 0 0 0 0 0 0 5190 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
521 0 0 0 0 0 0 0 0 0 0 0 0 5200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
522 0 0 0 0 0 0 0 0 0 0 0 0 5210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
523 0 0 0 0 0 0 0 0 0 0 0 0 5220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
524 0 0 0 0 0 0 0 0 0 0 0 0 5230 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
525 0 0 0 0 0 0 0 0 0 0 0 0 5240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
526 0 0 0 0 0 0 0 0 0 0 0 0 5250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
527 0 0 0 0 0 0 0 0 0 0 0 0 5260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
528 0 0 0 0 0 0 0 0 0 0 0 0 5270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
529 0 0 0 0 0 0 0 0 0 0 0 0 5280 0 0
530 0 0 0 0 0 0 0 0 0 0 0 0 5290 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
531 0 0 0 0 0 0 0 0 0 10 10 10 5300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
532 34 34 34 78 78 78 50 50 50 6 6 6 5310 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
533 94 70 30 139 102 15 190 146 13 226 184 13 5320 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
534232 200 30 232 195 16 215 174 15 190 146 13 5330 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
535168 122 10 192 133 9 210 150 10 213 154 11 5340 0 0 0 0 0 0 0 0 0 0 0 16 17 12 82 81 62
536202 150 34 182 157 106 101 98 89 2 2 6 535118 116 76 118 116 76 161 156 96 161 156 96 161 156 96 118 116 76
537 2 2 6 78 78 78 116 116 116 58 58 58 536118 116 76 96 95 69 53 55 47 22 24 23 14 17 17 13 16 16
538 2 2 6 22 22 22 90 90 90 46 46 46 53715 19 19 17 21 21 18 22 22 20 24 24 20 24 24 23 27 26
539 18 18 18 6 6 6 0 0 0 0 0 0 53823 27 26 23 27 26 23 27 26 23 27 26 23 27 26 20 24 24
540 0 0 0 0 0 0 0 0 0 0 0 0 53920 23 23 17 21 21 16 19 19 14 17 17 12 15 15 10 12 12
541 0 0 0 0 0 0 0 0 0 0 0 0 5409 11 11 20 23 22 16 19 19 14 17 17 13 16 16 12 15 15
542 0 0 0 0 0 0 0 0 0 0 0 0 54111 14 14 13 16 16 14 17 17 14 18 18 14 17 17 12 15 15
543 0 0 0 0 0 0 0 0 0 0 0 0 54210 12 12 10 12 12 10 12 12 10 12 12 10 12 12 10 12 12
544 0 0 0 0 0 0 0 0 0 0 0 0 5439 11 11 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
545 0 0 0 0 0 0 0 0 0 0 0 0 5440 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
546 0 0 0 0 0 0 0 0 0 0 0 0 5450 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
547 0 0 0 0 0 0 0 0 0 0 0 0 5460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
548 0 0 0 0 0 0 0 0 0 0 0 0 5470 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
549 0 0 0 0 0 0 0 0 0 0 0 0 5480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
550 0 0 0 0 0 0 0 0 0 0 0 0 5490 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
551 0 0 0 0 0 0 0 0 0 10 10 10 5500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
552 38 38 38 86 86 86 50 50 50 6 6 6 5510 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
553128 128 128 174 154 114 156 107 11 168 122 10 5520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
554198 155 10 184 144 12 197 138 11 200 144 11 5530 0 0
555206 145 10 206 145 10 197 138 11 188 164 115 5540 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
556195 195 195 198 198 198 174 174 174 14 14 14 5550 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
557 2 2 6 22 22 22 116 116 116 116 116 116 5560 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
558 22 22 22 2 2 6 74 74 74 70 70 70 5570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
559 30 30 30 10 10 10 0 0 0 0 0 0 5580 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
560 0 0 0 0 0 0 0 0 0 0 0 0 5590 0 0 0 0 0 0 0 0 0 0 0 53 55 47 161 156 96
561 0 0 0 0 0 0 0 0 0 0 0 0 560161 156 96 230 229 82 230 229 82 230 229 82 230 229 82 230 229 82
562 0 0 0 0 0 0 0 0 0 0 0 0 561230 229 82 161 156 96 118 116 76 96 95 69 21 22 20 16 19 19
563 0 0 0 0 0 0 0 0 0 0 0 0 56218 22 22 20 24 24 23 27 26 23 27 26 26 28 27 27 30 29
564 0 0 0 0 0 0 0 0 0 0 0 0 56327 30 29 18 22 22 12 14 14 8 10 10 9 11 11 17 21 21
565 0 0 0 0 0 0 0 0 0 0 0 0 56423 27 26 23 27 26 20 24 24 18 22 22 16 20 20 14 17 17
566 0 0 0 0 0 0 0 0 0 0 0 0 56512 14 14 14 17 17 16 20 20 14 17 17 13 17 17 13 16 16
567 0 0 0 0 0 0 0 0 0 0 0 0 56612 15 15 12 15 15 13 17 17 14 18 18 14 17 17 13 16 16
568 0 0 0 0 0 0 0 0 0 0 0 0 56711 13 13 10 12 12 10 12 12 10 12 12 10 12 12 10 12 12
569 0 0 0 0 0 0 0 0 0 0 0 0 5684 5 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
570 0 0 0 0 0 0 0 0 0 0 0 0 5690 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
571 0 0 0 0 0 0 6 6 6 18 18 18 5700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
572 50 50 50 101 101 101 26 26 26 10 10 10 5710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
573138 138 138 190 190 190 174 154 114 156 107 11 5720 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
574197 138 11 200 144 11 197 138 11 192 133 9 5730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
575180 123 7 190 142 34 190 178 144 187 187 187 5740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
576202 202 202 221 221 221 214 214 214 66 66 66 5750 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
577 2 2 6 2 2 6 50 50 50 62 62 62 5760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
578 6 6 6 2 2 6 10 10 10 90 90 90 5770 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
579 50 50 50 18 18 18 6 6 6 0 0 0 5780 0 0
580 0 0 0 0 0 0 0 0 0 0 0 0 5790 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
581 0 0 0 0 0 0 0 0 0 0 0 0 5800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
582 0 0 0 0 0 0 0 0 0 0 0 0 5810 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
583 0 0 0 0 0 0 0 0 0 0 0 0 5820 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
584 0 0 0 0 0 0 0 0 0 0 0 0 5830 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
585 0 0 0 0 0 0 0 0 0 0 0 0 5840 0 0 0 0 0 0 0 0 13 12 7 118 116 76 230 229 82
586 0 0 0 0 0 0 0 0 0 0 0 0 585230 229 82 230 229 82 230 229 82 230 229 82 230 229 82 230 229 82
587 0 0 0 0 0 0 0 0 0 0 0 0 586230 229 82 230 229 82 230 229 82 161 156 96 118 116 76 30 31 28
588 0 0 0 0 0 0 0 0 0 0 0 0 58720 24 24 23 27 26 27 30 29 28 31 30 30 32 31 23 27 26
589 0 0 0 0 0 0 0 0 0 0 0 0 58816 19 19 17 21 21 12 15 15 9 11 11 10 12 12 9 11 11
590 0 0 0 0 0 0 0 0 0 0 0 0 58920 24 24 28 31 30 26 28 27 23 27 26 20 24 24 17 21 21
591 0 0 0 0 0 0 10 10 10 34 34 34 59015 19 19 13 16 16 16 19 19 14 18 18 14 17 17 13 16 16
592 74 74 74 74 74 74 2 2 6 6 6 6 59112 15 15 11 14 14 13 16 16 14 17 17 14 18 18 14 17 17
593144 144 144 198 198 198 190 190 190 178 166 146 59212 15 15 10 12 12 10 12 12 10 12 12 10 12 12 8 9 9
594154 121 60 156 107 11 156 107 11 168 124 44 5930 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
595174 154 114 187 187 187 190 190 190 210 210 210 5940 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
596246 246 246 253 253 253 253 253 253 182 182 182 5950 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
597 6 6 6 2 2 6 2 2 6 2 2 6 5960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
598 2 2 6 2 2 6 2 2 6 62 62 62 5970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
599 74 74 74 34 34 34 14 14 14 0 0 0 5980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
600 0 0 0 0 0 0 0 0 0 0 0 0 5990 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
601 0 0 0 0 0 0 0 0 0 0 0 0 6000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
602 0 0 0 0 0 0 0 0 0 0 0 0 6010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
603 0 0 0 0 0 0 0 0 0 0 0 0 6020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
604 0 0 0 0 0 0 0 0 0 0 0 0 6030 0 0
605 0 0 0 0 0 0 0 0 0 0 0 0 6040 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
606 0 0 0 0 0 0 0 0 0 0 0 0 6050 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
607 0 0 0 0 0 0 0 0 0 0 0 0 6060 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
608 0 0 0 0 0 0 0 0 0 0 0 0 6070 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
609 0 0 0 0 0 0 0 0 0 0 0 0 6080 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
610 0 0 0 0 0 0 0 0 0 0 0 0 6090 0 0 0 0 0 0 0 0 82 81 62 161 156 96 230 229 82
611 0 0 0 10 10 10 22 22 22 54 54 54 610230 229 82 233 233 100 230 229 82 230 229 82 230 229 82 230 229 82
612 94 94 94 18 18 18 2 2 6 46 46 46 611230 229 82 230 229 82 230 229 82 230 229 82 161 156 96 118 116 76
613234 234 234 221 221 221 190 190 190 190 190 190 61227 29 28 27 30 29 30 32 31 30 32 31 23 27 26 20 24 24
614190 190 190 187 187 187 187 187 187 190 190 190 61326 28 27 17 21 21 6 7 7 72 73 67 145 141 105 15 15 15
615190 190 190 195 195 195 214 214 214 242 242 242 61414 17 17 33 37 35 30 32 31 28 31 30 26 28 27 23 27 26
616253 253 253 253 253 253 253 253 253 253 253 253 61520 23 23 16 20 20 15 19 19 14 18 18 14 17 17 13 16 16
617 82 82 82 2 2 6 2 2 6 2 2 6 61612 15 15 11 14 14 12 15 15 13 17 17 14 18 18 14 17 17
618 2 2 6 2 2 6 2 2 6 14 14 14 61713 16 16 11 13 13 10 12 12 10 12 12 9 11 11 1 1 1
619 86 86 86 54 54 54 22 22 22 6 6 6 6180 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
620 0 0 0 0 0 0 0 0 0 0 0 0 6190 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
621 0 0 0 0 0 0 0 0 0 0 0 0 6200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
622 0 0 0 0 0 0 0 0 0 0 0 0 6210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
623 0 0 0 0 0 0 0 0 0 0 0 0 6220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
624 0 0 0 0 0 0 0 0 0 0 0 0 6230 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
625 0 0 0 0 0 0 0 0 0 0 0 0 6240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
626 0 0 0 0 0 0 0 0 0 0 0 0 6250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
627 0 0 0 0 0 0 0 0 0 0 0 0 6260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
628 0 0 0 0 0 0 0 0 0 0 0 0 6270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
629 0 0 0 0 0 0 0 0 0 0 0 0 6280 0 0
630 0 0 0 0 0 0 0 0 0 0 0 0 6290 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
631 6 6 6 18 18 18 46 46 46 90 90 90 6300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
632 46 46 46 18 18 18 6 6 6 182 182 182 6310 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
633253 253 253 246 246 246 206 206 206 190 190 190 6320 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
634190 190 190 190 190 190 190 190 190 190 190 190 6330 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
635206 206 206 231 231 231 250 250 250 253 253 253 6340 0 0 0 0 0 16 17 12 161 156 96 230 229 82 230 229 82
636253 253 253 253 253 253 253 253 253 253 253 253 635243 242 120 235 234 117 230 229 82 230 229 82 230 229 82 230 229 82
637202 202 202 14 14 14 2 2 6 2 2 6 636230 229 82 230 229 82 230 229 82 230 229 82 230 229 82 161 156 96
638 2 2 6 2 2 6 2 2 6 2 2 6 63782 81 62 28 31 30 28 31 30 27 30 29 28 31 30 30 32 31
639 42 42 42 86 86 86 42 42 42 18 18 18 63833 37 35 13 16 16 3 3 3 105 104 92 210 208 158 12 14 14
640 6 6 6 0 0 0 0 0 0 0 0 0 63917 21 21 33 37 35 33 37 35 32 35 33 30 32 31 27 30 29
641 0 0 0 0 0 0 0 0 0 0 0 0 64023 27 26 20 23 23 17 20 20 15 18 18 14 18 18 13 17 17
642 0 0 0 0 0 0 0 0 0 0 0 0 64113 16 16 12 15 15 11 14 14 13 16 16 14 17 17 14 18 18
643 0 0 0 0 0 0 0 0 0 0 0 0 64213 17 17 12 15 15 10 12 12 10 12 12 3 4 4 0 0 0
644 0 0 0 0 0 0 0 0 0 0 0 0 6430 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
645 0 0 0 0 0 0 0 0 0 0 0 0 6440 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
646 0 0 0 0 0 0 0 0 0 0 0 0 6450 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
647 0 0 0 0 0 0 0 0 0 0 0 0 6460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
648 0 0 0 0 0 0 0 0 0 0 0 0 6470 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
649 0 0 0 0 0 0 0 0 0 0 0 0 6480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
650 0 0 0 0 0 0 0 0 0 6 6 6 6490 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
651 14 14 14 38 38 38 74 74 74 66 66 66 6500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
652 2 2 6 6 6 6 90 90 90 250 250 250 6510 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
653253 253 253 253 253 253 238 238 238 198 198 198 6520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
654190 190 190 190 190 190 195 195 195 221 221 221 6530 0 0
655246 246 246 253 253 253 253 253 253 253 253 253 6540 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
656253 253 253 253 253 253 253 253 253 253 253 253 6550 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
657253 253 253 82 82 82 2 2 6 2 2 6 6560 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
658 2 2 6 2 2 6 2 2 6 2 2 6 6570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
659 2 2 6 78 78 78 70 70 70 34 34 34 6580 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
660 14 14 14 6 6 6 0 0 0 0 0 0 6590 0 0 0 0 0 96 95 69 230 229 82 230 229 82 244 244 132
661 0 0 0 0 0 0 0 0 0 0 0 0 660241 241 143 243 242 120 230 229 82 230 229 82 230 229 82 230 229 82
662 0 0 0 0 0 0 0 0 0 0 0 0 661230 229 82 230 229 82 230 229 82 230 229 82 230 229 82 230 229 82
663 0 0 0 0 0 0 0 0 0 0 0 0 662161 156 96 46 47 43 32 35 33 33 37 35 33 37 35 33 37 35
664 0 0 0 0 0 0 0 0 0 0 0 0 66340 43 41 23 27 26 1 1 1 2 2 2 24 26 24 14 17 17
665 0 0 0 0 0 0 0 0 0 0 0 0 66423 27 26 33 37 35 33 37 35 33 37 35 33 37 35 30 32 31
666 0 0 0 0 0 0 0 0 0 0 0 0 66527 30 29 23 27 26 20 23 23 15 18 18 14 18 18 14 17 17
667 0 0 0 0 0 0 0 0 0 0 0 0 66613 16 16 12 15 15 11 14 14 12 15 15 13 17 17 14 17 17
668 0 0 0 0 0 0 0 0 0 0 0 0 66714 17 17 13 16 16 11 13 13 6 8 8 0 0 0 0 0 0
669 0 0 0 0 0 0 0 0 0 0 0 0 6680 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
670 0 0 0 0 0 0 0 0 0 14 14 14 6690 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
671 34 34 34 66 66 66 78 78 78 6 6 6 6700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
672 2 2 6 18 18 18 218 218 218 253 253 253 6710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
673253 253 253 253 253 253 253 253 253 246 246 246 6720 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
674226 226 226 231 231 231 246 246 246 253 253 253 6730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
675253 253 253 253 253 253 253 253 253 253 253 253 6740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
676253 253 253 253 253 253 253 253 253 253 253 253 6750 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
677253 253 253 178 178 178 2 2 6 2 2 6 6760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
678 2 2 6 2 2 6 2 2 6 2 2 6 6770 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
679 2 2 6 18 18 18 90 90 90 62 62 62 6780 0 0
680 30 30 30 10 10 10 0 0 0 0 0 0 6790 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
681 0 0 0 0 0 0 0 0 0 0 0 0 6800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
682 0 0 0 0 0 0 0 0 0 0 0 0 6810 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
683 0 0 0 0 0 0 0 0 0 0 0 0 6820 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
684 0 0 0 0 0 0 0 0 0 0 0 0 6830 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
685 0 0 0 0 0 0 0 0 0 0 0 0 6840 0 0 16 17 12 161 156 96 230 229 82 235 234 117 239 239 170
686 0 0 0 0 0 0 0 0 0 0 0 0 685239 239 170 236 236 101 230 229 82 230 229 82 230 229 82 230 229 82
687 0 0 0 0 0 0 0 0 0 0 0 0 686230 229 82 230 229 82 230 229 82 230 229 82 230 229 82 230 229 82
688 0 0 0 0 0 0 0 0 0 0 0 0 687230 229 82 118 116 76 33 37 35 33 37 35 37 39 37 37 39 37
689 0 0 0 0 0 0 0 0 0 0 0 0 68843 45 43 49 51 48 20 24 24 8 10 10 17 20 20 35 37 36
690 0 0 0 0 0 0 10 10 10 26 26 26 68933 37 35 40 43 41 37 39 37 35 37 36 33 37 35 33 37 35
691 58 58 58 90 90 90 18 18 18 2 2 6 69030 32 31 27 30 29 23 27 26 15 19 19 14 18 18 14 17 17
692 2 2 6 110 110 110 253 253 253 253 253 253 69113 17 17 13 16 16 12 15 15 11 14 14 13 16 16 14 17 17
693253 253 253 253 253 253 253 253 253 253 253 253 69214 17 17 13 17 17 11 14 14 4 5 5 0 0 0 0 0 0
694250 250 250 253 253 253 253 253 253 253 253 253 6930 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
695253 253 253 253 253 253 253 253 253 253 253 253 6940 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
696253 253 253 253 253 253 253 253 253 253 253 253 6950 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
697253 253 253 231 231 231 18 18 18 2 2 6 6960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
698 2 2 6 2 2 6 2 2 6 2 2 6 6970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
699 2 2 6 2 2 6 18 18 18 94 94 94 6980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
700 54 54 54 26 26 26 10 10 10 0 0 0 6990 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
701 0 0 0 0 0 0 0 0 0 0 0 0 7000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
702 0 0 0 0 0 0 0 0 0 0 0 0 7010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
703 0 0 0 0 0 0 0 0 0 0 0 0 7020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
704 0 0 0 0 0 0 0 0 0 0 0 0 7030 0 0
705 0 0 0 0 0 0 0 0 0 0 0 0 7040 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
706 0 0 0 0 0 0 0 0 0 0 0 0 7050 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
707 0 0 0 0 0 0 0 0 0 0 0 0 7060 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
708 0 0 0 0 0 0 0 0 0 0 0 0 7070 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
709 0 0 0 0 0 0 0 0 0 0 0 0 7080 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
710 0 0 0 6 6 6 22 22 22 50 50 50 7090 0 0 96 95 69 230 229 82 230 229 82 239 239 170 251 251 187
711 90 90 90 26 26 26 2 2 6 2 2 6 710241 241 143 230 229 82 230 229 82 230 229 82 230 229 82 230 229 82
712 14 14 14 195 195 195 250 250 250 253 253 253 711230 229 82 230 229 82 230 229 82 230 229 82 230 229 82 230 229 82
713253 253 253 253 253 253 253 253 253 253 253 253 712230 229 82 161 156 96 36 38 35 33 37 35 33 37 35 33 37 35
714253 253 253 253 253 253 253 253 253 253 253 253 71337 39 37 47 48 46 55 57 54 55 57 54 49 51 48 43 45 43
715253 253 253 253 253 253 253 253 253 253 253 253 71443 45 43 43 45 43 40 43 41 40 43 41 37 39 37 33 37 35
716253 253 253 253 253 253 253 253 253 253 253 253 71533 37 35 28 31 30 26 28 27 16 20 20 15 18 18 14 18 18
717250 250 250 242 242 242 54 54 54 2 2 6 71614 17 17 13 16 16 12 15 15 11 14 14 12 15 15 13 17 17
718 2 2 6 2 2 6 2 2 6 2 2 6 71714 17 17 14 17 17 8 10 10 5 7 7 0 0 0 0 0 0
719 2 2 6 2 2 6 2 2 6 38 38 38 7180 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
720 86 86 86 50 50 50 22 22 22 6 6 6 7190 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
721 0 0 0 0 0 0 0 0 0 0 0 0 7200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
722 0 0 0 0 0 0 0 0 0 0 0 0 7210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
723 0 0 0 0 0 0 0 0 0 0 0 0 7220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
724 0 0 0 0 0 0 0 0 0 0 0 0 7230 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
725 0 0 0 0 0 0 0 0 0 0 0 0 7240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
726 0 0 0 0 0 0 0 0 0 0 0 0 7250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
727 0 0 0 0 0 0 0 0 0 0 0 0 7260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
728 0 0 0 0 0 0 0 0 0 0 0 0 7270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
729 0 0 0 0 0 0 0 0 0 0 0 0 7280 0 0
730 6 6 6 14 14 14 38 38 38 82 82 82 7290 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
731 34 34 34 2 2 6 2 2 6 2 2 6 7300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
732 42 42 42 195 195 195 246 246 246 253 253 253 7310 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
733253 253 253 253 253 253 253 253 253 250 250 250 7320 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
734242 242 242 242 242 242 250 250 250 253 253 253 7330 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
735253 253 253 253 253 253 253 253 253 253 253 253 73416 17 12 230 229 82 230 229 82 243 242 120 251 251 187 251 251 187
736253 253 253 250 250 250 246 246 246 238 238 238 735246 246 123 230 229 82 230 229 82 230 229 82 230 229 82 230 229 82
737226 226 226 231 231 231 101 101 101 6 6 6 736230 229 82 230 229 82 230 229 82 230 229 82 230 229 82 230 229 82
738 2 2 6 2 2 6 2 2 6 2 2 6 737230 229 82 230 229 82 66 65 55 30 32 31 32 35 33 33 37 35
739 2 2 6 2 2 6 2 2 6 2 2 6 73833 37 35 37 39 37 40 43 41 47 48 46 49 51 48 51 52 50
740 38 38 38 82 82 82 42 42 42 14 14 14 73955 57 54 55 57 54 51 52 50 47 48 46 43 45 43 39 40 39
741 6 6 6 0 0 0 0 0 0 0 0 0 74033 37 35 30 32 31 26 28 27 17 21 21 15 19 19 14 18 18
742 0 0 0 0 0 0 0 0 0 0 0 0 74114 17 17 13 16 16 12 15 15 12 14 14 11 14 14 13 16 16
743 0 0 0 0 0 0 0 0 0 0 0 0 74214 17 17 12 15 15 7 9 9 6 8 8 1 1 1 0 0 0
744 0 0 0 0 0 0 0 0 0 0 0 0 7430 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
745 0 0 0 0 0 0 0 0 0 0 0 0 7440 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
746 0 0 0 0 0 0 0 0 0 0 0 0 7450 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
747 0 0 0 0 0 0 0 0 0 0 0 0 7460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
748 0 0 0 0 0 0 0 0 0 0 0 0 7470 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
749 0 0 0 0 0 0 0 0 0 0 0 0 7480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
750 10 10 10 26 26 26 62 62 62 66 66 66 7490 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
751 2 2 6 2 2 6 2 2 6 6 6 6 7500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
752 70 70 70 170 170 170 206 206 206 234 234 234 7510 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
753246 246 246 250 250 250 250 250 250 238 238 238 7520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
754226 226 226 231 231 231 238 238 238 250 250 250 7530 0 0
755250 250 250 250 250 250 246 246 246 231 231 231 7540 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
756214 214 214 206 206 206 202 202 202 202 202 202 7550 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
757198 198 198 202 202 202 182 182 182 18 18 18 7560 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
758 2 2 6 2 2 6 2 2 6 2 2 6 7570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
759 2 2 6 2 2 6 2 2 6 2 2 6 7580 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
760 2 2 6 62 62 62 66 66 66 30 30 30 75996 95 69 230 229 82 230 229 82 239 239 170 251 251 187 239 239 170
761 10 10 10 0 0 0 0 0 0 0 0 0 760230 229 82 230 229 82 230 229 82 230 229 82 230 229 82 230 229 82
762 0 0 0 0 0 0 0 0 0 0 0 0 761230 229 82 230 229 82 230 229 82 230 229 82 230 229 82 230 229 82
763 0 0 0 0 0 0 0 0 0 0 0 0 762230 229 82 230 229 82 96 95 69 27 30 29 28 31 30 30 32 31
764 0 0 0 0 0 0 0 0 0 0 0 0 76333 37 35 40 43 41 46 47 45 55 57 54 63 64 60 72 73 67
765 0 0 0 0 0 0 0 0 0 0 0 0 76472 73 67 72 73 67 72 73 67 65 66 61 55 57 54 47 48 46
766 0 0 0 0 0 0 0 0 0 0 0 0 76539 40 39 32 35 33 27 30 29 17 21 21 15 19 19 15 18 18
767 0 0 0 0 0 0 0 0 0 0 0 0 76614 18 18 13 17 17 13 16 16 12 15 15 11 14 14 12 14 14
768 0 0 0 0 0 0 0 0 0 0 0 0 76713 16 16 9 11 11 7 9 9 9 11 11 66 65 55 115 113 82
769 0 0 0 0 0 0 0 0 0 0 0 0 76821 22 20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
770 14 14 14 42 42 42 82 82 82 18 18 18 7690 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
771 2 2 6 2 2 6 2 2 6 10 10 10 7700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
772 94 94 94 182 182 182 218 218 218 242 242 242 7710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
773250 250 250 253 253 253 253 253 253 250 250 250 7720 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
774234 234 234 253 253 253 253 253 253 253 253 253 7730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
775253 253 253 253 253 253 253 253 253 246 246 246 7740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
776238 238 238 226 226 226 210 210 210 202 202 202 7750 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
777195 195 195 195 195 195 210 210 210 158 158 158 7760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
778 6 6 6 14 14 14 50 50 50 14 14 14 7770 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
779 2 2 6 2 2 6 2 2 6 2 2 6 7780 0 0
780 2 2 6 6 6 6 86 86 86 46 46 46 7790 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
781 18 18 18 6 6 6 0 0 0 0 0 0 7800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
782 0 0 0 0 0 0 0 0 0 0 0 0 7810 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
783 0 0 0 0 0 0 0 0 0 0 0 0 7820 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
784 0 0 0 0 0 0 0 0 0 0 0 0 7830 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 12 7
785 0 0 0 0 0 0 0 0 0 0 0 0 784230 229 82 230 229 82 236 236 101 251 251 187 251 251 187 246 246 123
786 0 0 0 0 0 0 0 0 0 0 0 0 785230 229 82 230 229 82 230 229 82 230 229 82 230 229 82 230 229 82
787 0 0 0 0 0 0 0 0 0 0 0 0 786230 229 82 230 229 82 230 229 82 230 229 82 230 229 82 230 229 82
788 0 0 0 0 0 0 0 0 0 0 0 0 787230 229 82 230 229 82 118 116 76 23 27 26 26 28 27 32 35 33
789 0 0 0 0 0 0 0 0 0 6 6 6 78851 52 50 90 89 73 110 109 94 145 141 105 168 163 120 177 172 135
790 22 22 22 54 54 54 70 70 70 2 2 6 789177 172 135 188 184 146 188 184 146 181 176 137 194 191 148 188 184 146
791 2 2 6 10 10 10 2 2 6 22 22 22 790184 179 149 188 184 146 188 184 146 156 151 111 177 172 135 181 176 137
792166 166 166 231 231 231 250 250 250 253 253 253 791177 172 135 168 163 120 168 163 120 158 153 112 156 151 111 158 153 112
793253 253 253 253 253 253 253 253 253 250 250 250 792156 151 111 158 153 112 177 172 135 188 184 146 188 184 146 194 189 146
794242 242 242 253 253 253 253 253 253 253 253 253 79336 38 35 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
795253 253 253 253 253 253 253 253 253 253 253 253 7940 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
796253 253 253 253 253 253 253 253 253 246 246 246 7950 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
797231 231 231 206 206 206 198 198 198 226 226 226 7960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
798 94 94 94 2 2 6 6 6 6 38 38 38 7970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
799 30 30 30 2 2 6 2 2 6 2 2 6 7980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
800 2 2 6 2 2 6 62 62 62 66 66 66 7990 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
801 26 26 26 10 10 10 0 0 0 0 0 0 8000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
802 0 0 0 0 0 0 0 0 0 0 0 0 8010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
803 0 0 0 0 0 0 0 0 0 0 0 0 8020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
804 0 0 0 0 0 0 0 0 0 0 0 0 8030 0 0
805 0 0 0 0 0 0 0 0 0 0 0 0 8040 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
806 0 0 0 0 0 0 0 0 0 0 0 0 8050 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
807 0 0 0 0 0 0 0 0 0 0 0 0 8060 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
808 0 0 0 0 0 0 0 0 0 0 0 0 8070 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
809 0 0 0 0 0 0 0 0 0 10 10 10 8080 0 0 0 0 0 0 0 0 0 0 0 0 0 0 82 81 62
810 30 30 30 74 74 74 50 50 50 2 2 6 809230 229 82 230 229 82 244 244 132 251 251 187 244 244 132 230 229 82
811 26 26 26 26 26 26 2 2 6 106 106 106 810230 229 82 230 229 82 230 229 82 230 229 82 230 229 82 230 229 82
812238 238 238 253 253 253 253 253 253 253 253 253 811230 229 82 230 229 82 230 229 82 230 229 82 161 156 96 82 81 62
813253 253 253 253 253 253 253 253 253 253 253 253 81296 95 69 230 229 82 181 178 103 110 109 94 156 151 111 188 184 146
814253 253 253 253 253 253 253 253 253 253 253 253 813188 184 146 197 193 154 188 184 146 184 181 136 188 184 146 168 163 120
815253 253 253 253 253 253 253 253 253 253 253 253 814168 163 120 178 174 128 156 151 111 158 153 112 174 170 121 156 151 111
816253 253 253 253 253 253 253 253 253 253 253 253 815156 151 111 158 153 112 156 151 111 168 163 120 178 174 128 181 176 137
817253 253 253 246 246 246 218 218 218 202 202 202 816176 171 126 178 174 128 184 181 136 176 171 126 178 174 128 184 181 136
818210 210 210 14 14 14 2 2 6 2 2 6 817176 171 126 178 174 128 184 181 136 164 159 111 155 149 109 96 95 69
819 30 30 30 22 22 22 2 2 6 2 2 6 8181 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
820 2 2 6 2 2 6 18 18 18 86 86 86 8190 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
821 42 42 42 14 14 14 0 0 0 0 0 0 8200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
822 0 0 0 0 0 0 0 0 0 0 0 0 8210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
823 0 0 0 0 0 0 0 0 0 0 0 0 8220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
824 0 0 0 0 0 0 0 0 0 0 0 0 8230 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
825 0 0 0 0 0 0 0 0 0 0 0 0 8240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
826 0 0 0 0 0 0 0 0 0 0 0 0 8250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
827 0 0 0 0 0 0 0 0 0 0 0 0 8260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
828 0 0 0 0 0 0 0 0 0 0 0 0 8270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
829 0 0 0 0 0 0 0 0 0 14 14 14 8280 0 0
830 42 42 42 90 90 90 22 22 22 2 2 6 8290 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
831 42 42 42 2 2 6 18 18 18 218 218 218 8300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
832253 253 253 253 253 253 253 253 253 253 253 253 8310 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
833253 253 253 253 253 253 253 253 253 253 253 253 8320 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
834253 253 253 253 253 253 253 253 253 253 253 253 8330 0 0 0 0 0 0 0 0 0 0 0 2 2 1 161 156 96
835253 253 253 253 253 253 253 253 253 253 253 253 834230 229 82 230 229 82 244 244 132 244 244 132 236 236 101 230 229 82
836253 253 253 253 253 253 253 253 253 253 253 253 835230 229 82 230 229 82 230 229 82 230 229 82 230 229 82 230 229 82
837253 253 253 253 253 253 250 250 250 221 221 221 836230 229 82 230 229 82 230 229 82 230 229 82 46 47 43 82 81 62
838218 218 218 101 101 101 2 2 6 14 14 14 837158 153 112 197 193 154 194 189 146 184 181 136 188 184 146 168 163 120
839 18 18 18 38 38 38 10 10 10 2 2 6 838156 151 111 137 133 100 131 127 93 137 133 100 137 133 100 158 153 112
840 2 2 6 2 2 6 2 2 6 78 78 78 839121 119 87 137 133 100 156 151 111 145 141 105 99 98 80 84 83 72
841 58 58 58 22 22 22 6 6 6 0 0 0 84063 64 60 52 53 49 40 43 41 33 36 34 36 38 35 36 38 35
842 0 0 0 0 0 0 0 0 0 0 0 0 84138 39 37 43 44 41 43 44 41 46 47 43 48 49 45 48 49 45
843 0 0 0 0 0 0 0 0 0 0 0 0 84246 47 43 36 38 35 30 31 28 19 20 18 6 7 7 0 0 0
844 0 0 0 0 0 0 0 0 0 0 0 0 8430 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
845 0 0 0 0 0 0 0 0 0 0 0 0 8440 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
846 0 0 0 0 0 0 0 0 0 0 0 0 8450 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
847 0 0 0 0 0 0 0 0 0 0 0 0 8460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
848 0 0 0 0 0 0 0 0 0 0 0 0 8470 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
849 0 0 0 0 0 0 6 6 6 18 18 18 8480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
850 54 54 54 82 82 82 2 2 6 26 26 26 8490 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
851 22 22 22 2 2 6 123 123 123 253 253 253 8500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
852253 253 253 253 253 253 253 253 253 253 253 253 8510 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
853253 253 253 253 253 253 253 253 253 253 253 253 8520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
854253 253 253 253 253 253 253 253 253 253 253 253 8530 0 0
855253 253 253 253 253 253 253 253 253 253 253 253 8540 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
856253 253 253 253 253 253 253 253 253 253 253 253 8550 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
857253 253 253 253 253 253 253 253 253 250 250 250 8560 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
858238 238 238 198 198 198 6 6 6 38 38 38 8570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
859 58 58 58 26 26 26 38 38 38 2 2 6 8580 0 0 0 0 0 0 0 0 0 0 0 36 38 35 230 229 82
860 2 2 6 2 2 6 2 2 6 46 46 46 859230 229 82 230 229 82 246 246 123 236 236 101 230 229 82 230 229 82
861 78 78 78 30 30 30 10 10 10 0 0 0 860230 229 82 230 229 82 230 229 82 230 229 82 230 229 82 230 229 82
862 0 0 0 0 0 0 0 0 0 0 0 0 861230 229 82 230 229 82 230 229 82 230 229 82 53 55 47 121 119 87
863 0 0 0 0 0 0 0 0 0 0 0 0 862176 171 126 171 165 117 161 156 96 82 81 62 53 55 47 33 37 35
864 0 0 0 0 0 0 0 0 0 0 0 0 86339 40 39 63 64 60 99 98 80 121 119 87 137 133 100 177 172 135
865 0 0 0 0 0 0 0 0 0 0 0 0 864176 171 126 184 181 136 131 127 93 131 127 93 110 109 94 84 83 72
866 0 0 0 0 0 0 0 0 0 0 0 0 86551 52 50 39 40 39 27 29 28 18 22 22 16 19 19 15 19 19
867 0 0 0 0 0 0 0 0 0 0 0 0 86615 19 19 14 18 18 14 17 17 13 16 16 12 15 15 11 14 14
868 0 0 0 0 0 0 0 0 0 0 0 0 86710 13 13 9 12 12 9 11 11 8 9 9 7 9 9 1 1 1
869 0 0 0 0 0 0 10 10 10 30 30 30 8680 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
870 74 74 74 58 58 58 2 2 6 42 42 42 8690 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
871 2 2 6 22 22 22 231 231 231 253 253 253 8700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
872253 253 253 253 253 253 253 253 253 253 253 253 8710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
873253 253 253 253 253 253 253 253 253 250 250 250 8720 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
874253 253 253 253 253 253 253 253 253 253 253 253 8730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
875253 253 253 253 253 253 253 253 253 253 253 253 8740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
876253 253 253 253 253 253 253 253 253 253 253 253 8750 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
877253 253 253 253 253 253 253 253 253 253 253 253 8760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
878253 253 253 246 246 246 46 46 46 38 38 38 8770 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
879 42 42 42 14 14 14 38 38 38 14 14 14 8780 0 0
880 2 2 6 2 2 6 2 2 6 6 6 6 8790 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
881 86 86 86 46 46 46 14 14 14 0 0 0 8800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
882 0 0 0 0 0 0 0 0 0 0 0 0 8810 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
883 0 0 0 0 0 0 0 0 0 0 0 0 8820 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
884 0 0 0 0 0 0 0 0 0 0 0 0 8830 0 0 0 0 0 0 0 0 0 0 0 118 116 76 230 229 82
885 0 0 0 0 0 0 0 0 0 0 0 0 884230 229 82 230 229 82 236 236 101 230 229 82 230 229 82 230 229 82
886 0 0 0 0 0 0 0 0 0 0 0 0 885230 229 82 230 229 82 230 229 82 230 229 82 230 229 82 230 229 82
887 0 0 0 0 0 0 0 0 0 0 0 0 886230 229 82 230 229 82 230 229 82 230 229 82 96 95 69 71 71 57
888 0 0 0 0 0 0 0 0 0 0 0 0 88736 38 35 118 116 76 118 116 76 12 15 15 15 18 18 20 24 24
889 0 0 0 6 6 6 14 14 14 42 42 42 88833 37 35 55 56 53 84 83 72 110 109 94 145 141 105 110 109 94
890 90 90 90 18 18 18 18 18 18 26 26 26 889168 163 120 121 119 87 156 151 111 131 127 93 87 86 72 61 63 57
891 2 2 6 116 116 116 253 253 253 253 253 253 89047 48 46 28 31 30 18 22 22 15 19 19 15 18 18 15 19 19
892253 253 253 253 253 253 253 253 253 253 253 253 89115 19 19 14 18 18 14 17 17 13 17 17 13 16 16 12 15 15
893253 253 253 253 253 253 250 250 250 238 238 238 89211 13 13 10 12 12 9 11 11 8 10 10 7 9 9 3 3 3
894253 253 253 253 253 253 253 253 253 253 253 253 8930 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
895253 253 253 253 253 253 253 253 253 253 253 253 8940 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
896253 253 253 253 253 253 253 253 253 253 253 253 8950 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
897253 253 253 253 253 253 253 253 253 253 253 253 8960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
898253 253 253 253 253 253 94 94 94 6 6 6 8970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
899 2 2 6 2 2 6 10 10 10 34 34 34 8980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
900 2 2 6 2 2 6 2 2 6 2 2 6 8990 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
901 74 74 74 58 58 58 22 22 22 6 6 6 9000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
902 0 0 0 0 0 0 0 0 0 0 0 0 9010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
903 0 0 0 0 0 0 0 0 0 0 0 0 9020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
904 0 0 0 0 0 0 0 0 0 0 0 0 9030 0 0
905 0 0 0 0 0 0 0 0 0 0 0 0 9040 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
906 0 0 0 0 0 0 0 0 0 0 0 0 9050 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
907 0 0 0 0 0 0 0 0 0 0 0 0 9060 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
908 0 0 0 0 0 0 0 0 0 0 0 0 9070 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
909 0 0 0 10 10 10 26 26 26 66 66 66 9080 0 0 0 0 0 0 0 0 1 1 0 230 229 82 230 229 82
910 82 82 82 2 2 6 38 38 38 6 6 6 909230 229 82 230 229 82 230 229 82 230 229 82 230 229 82 230 229 82
911 14 14 14 210 210 210 253 253 253 253 253 253 910230 229 82 230 229 82 230 229 82 230 229 82 230 229 82 230 229 82
912253 253 253 253 253 253 253 253 253 253 253 253 911230 229 82 230 229 82 230 229 82 230 229 82 230 229 82 161 156 96
913253 253 253 253 253 253 246 246 246 242 242 242 912161 156 96 230 229 82 118 116 76 11 14 14 14 17 17 18 22 22
914253 253 253 253 253 253 253 253 253 253 253 253 91327 30 29 40 43 41 60 60 56 84 83 72 105 104 92 110 109 94
915253 253 253 253 253 253 253 253 253 253 253 253 914110 109 94 110 109 94 99 98 80 90 89 73 68 70 65 47 48 46
916253 253 253 253 253 253 253 253 253 253 253 253 91532 34 33 23 25 24 20 23 23 17 21 21 15 19 19 14 17 17
917253 253 253 253 253 253 253 253 253 253 253 253 91615 19 19 15 18 18 14 18 18 13 17 17 13 16 16 12 15 15
918253 253 253 253 253 253 144 144 144 2 2 6 91711 14 14 10 12 12 9 11 11 8 10 10 7 9 9 4 5 5
919 2 2 6 2 2 6 2 2 6 46 46 46 9180 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
920 2 2 6 2 2 6 2 2 6 2 2 6 9190 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
921 42 42 42 74 74 74 30 30 30 10 10 10 9200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
922 0 0 0 0 0 0 0 0 0 0 0 0 9210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
923 0 0 0 0 0 0 0 0 0 0 0 0 9220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
924 0 0 0 0 0 0 0 0 0 0 0 0 9230 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
925 0 0 0 0 0 0 0 0 0 0 0 0 9240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
926 0 0 0 0 0 0 0 0 0 0 0 0 9250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
927 0 0 0 0 0 0 0 0 0 0 0 0 9260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
928 0 0 0 0 0 0 0 0 0 0 0 0 9270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
929 6 6 6 14 14 14 42 42 42 90 90 90 9280 0 0
930 26 26 26 6 6 6 42 42 42 2 2 6 9290 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
931 74 74 74 250 250 250 253 253 253 253 253 253 9300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
932253 253 253 253 253 253 253 253 253 253 253 253 9310 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
933253 253 253 253 253 253 242 242 242 242 242 242 9320 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
934253 253 253 253 253 253 253 253 253 253 253 253 9330 0 0 0 0 0 0 0 0 16 17 12 230 229 82 230 229 82
935253 253 253 253 253 253 253 253 253 253 253 253 934230 229 82 230 229 82 230 229 82 230 229 82 230 229 82 230 229 82
936253 253 253 253 253 253 253 253 253 253 253 253 935230 229 82 230 229 82 230 229 82 230 229 82 230 229 82 230 229 82
937253 253 253 253 253 253 253 253 253 253 253 253 936230 229 82 230 229 82 230 229 82 230 229 82 230 229 82 230 229 82
938253 253 253 253 253 253 182 182 182 2 2 6 937230 229 82 161 156 96 118 116 76 11 13 13 13 16 16 15 19 19
939 2 2 6 2 2 6 2 2 6 46 46 46 93820 24 24 30 32 31 40 43 41 51 52 50 63 64 60 72 73 67
940 2 2 6 2 2 6 2 2 6 2 2 6 93965 66 61 65 66 61 65 66 61 55 57 54 46 47 45 33 37 35
941 10 10 10 86 86 86 38 38 38 10 10 10 94027 29 28 20 24 24 17 21 21 16 20 20 16 20 20 15 19 19
942 0 0 0 0 0 0 0 0 0 0 0 0 94115 19 19 15 19 19 14 18 18 14 17 17 13 16 16 12 15 15
943 0 0 0 0 0 0 0 0 0 0 0 0 94211 14 14 10 13 13 9 12 12 8 10 10 7 9 9 6 7 7
944 0 0 0 0 0 0 0 0 0 0 0 0 9430 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
945 0 0 0 0 0 0 0 0 0 0 0 0 9440 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
946 0 0 0 0 0 0 0 0 0 0 0 0 9450 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
947 0 0 0 0 0 0 0 0 0 0 0 0 9460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
948 0 0 0 0 0 0 0 0 0 0 0 0 9470 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
949 10 10 10 26 26 26 66 66 66 82 82 82 9480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
950 2 2 6 22 22 22 18 18 18 2 2 6 9490 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
951149 149 149 253 253 253 253 253 253 253 253 253 9500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
952253 253 253 253 253 253 253 253 253 253 253 253 9510 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
953253 253 253 253 253 253 234 234 234 242 242 242 9520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
954253 253 253 253 253 253 253 253 253 253 253 253 9530 0 0
955253 253 253 253 253 253 253 253 253 253 253 253 9540 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
956253 253 253 253 253 253 253 253 253 253 253 253 9550 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
957253 253 253 253 253 253 253 253 253 253 253 253 9560 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
958253 253 253 253 253 253 206 206 206 2 2 6 9570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
959 2 2 6 2 2 6 2 2 6 38 38 38 9580 0 0 0 0 0 0 0 0 53 55 47 230 229 82 230 229 82
960 2 2 6 2 2 6 2 2 6 2 2 6 959230 229 82 230 229 82 230 229 82 230 229 82 230 229 82 230 229 82
961 6 6 6 86 86 86 46 46 46 14 14 14 960230 229 82 230 229 82 230 229 82 230 229 82 230 229 82 230 229 82
962 0 0 0 0 0 0 0 0 0 0 0 0 961230 229 82 230 229 82 230 229 82 230 229 82 230 229 82 230 229 82
963 0 0 0 0 0 0 0 0 0 0 0 0 962161 156 96 118 116 76 53 55 47 10 13 13 12 15 15 14 17 17
964 0 0 0 0 0 0 0 0 0 0 0 0 96317 20 20 20 24 24 27 29 28 32 34 33 37 39 37 40 43 41
965 0 0 0 0 0 0 0 0 0 0 0 0 96443 45 43 41 42 42 35 37 36 30 32 31 28 31 30 23 27 26
966 0 0 0 0 0 0 0 0 0 0 0 0 96520 23 23 17 21 21 16 20 20 16 20 20 16 20 20 16 19 19
967 0 0 0 0 0 0 0 0 0 0 0 0 96615 19 19 15 19 19 14 18 18 14 17 17 13 16 16 12 15 15
968 0 0 0 0 0 0 0 0 0 6 6 6 96711 14 14 10 13 13 9 12 12 9 11 11 8 10 10 10 12 12
969 18 18 18 46 46 46 86 86 86 18 18 18 9681 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
970 2 2 6 34 34 34 10 10 10 6 6 6 9690 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
971210 210 210 253 253 253 253 253 253 253 253 253 9700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
972253 253 253 253 253 253 253 253 253 253 253 253 9710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
973253 253 253 253 253 253 234 234 234 242 242 242 9720 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
974253 253 253 253 253 253 253 253 253 253 253 253 9730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
975253 253 253 253 253 253 253 253 253 253 253 253 9740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
976253 253 253 253 253 253 253 253 253 253 253 253 9750 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
977253 253 253 253 253 253 253 253 253 253 253 253 9760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
978253 253 253 253 253 253 221 221 221 6 6 6 9770 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
979 2 2 6 2 2 6 6 6 6 30 30 30 9780 0 0
980 2 2 6 2 2 6 2 2 6 2 2 6 9790 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
981 2 2 6 82 82 82 54 54 54 18 18 18 9800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
982 6 6 6 0 0 0 0 0 0 0 0 0 9810 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
983 0 0 0 0 0 0 0 0 0 0 0 0 9820 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
984 0 0 0 0 0 0 0 0 0 0 0 0 9830 0 0 0 0 0 0 0 0 82 81 62 230 229 82 230 229 82
985 0 0 0 0 0 0 0 0 0 0 0 0 984230 229 82 230 229 82 230 229 82 230 229 82 230 229 82 230 229 82
986 0 0 0 0 0 0 0 0 0 0 0 0 985230 229 82 230 229 82 230 229 82 230 229 82 230 229 82 230 229 82
987 0 0 0 0 0 0 0 0 0 0 0 0 986230 229 82 230 229 82 230 229 82 230 229 82 161 156 96 161 156 96
988 0 0 0 0 0 0 0 0 0 10 10 10 987118 116 76 82 81 62 13 14 12 10 13 13 12 15 15 13 17 17
989 26 26 26 66 66 66 62 62 62 2 2 6 98815 19 19 16 20 20 20 23 23 20 24 24 23 27 26 26 28 27
990 2 2 6 38 38 38 10 10 10 26 26 26 98926 28 27 26 28 27 23 27 26 18 22 22 20 23 23 17 21 21
991238 238 238 253 253 253 253 253 253 253 253 253 99017 21 21 16 20 20 16 20 20 16 20 20 16 20 20 16 19 19
992253 253 253 253 253 253 253 253 253 253 253 253 99115 19 19 15 19 19 15 18 18 14 17 17 13 17 17 13 16 16
993253 253 253 253 253 253 231 231 231 238 238 238 99212 15 15 12 14 14 12 14 14 12 14 14 12 14 14 23 24 24
994253 253 253 253 253 253 253 253 253 253 253 253 9936 8 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
995253 253 253 253 253 253 253 253 253 253 253 253 9940 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
996253 253 253 253 253 253 253 253 253 253 253 253 9950 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
997253 253 253 253 253 253 253 253 253 253 253 253 9960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
998253 253 253 253 253 253 231 231 231 6 6 6 9970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
999 2 2 6 2 2 6 10 10 10 30 30 30 9980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1000 2 2 6 2 2 6 2 2 6 2 2 6 9990 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1001 2 2 6 66 66 66 58 58 58 22 22 22 10000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1002 6 6 6 0 0 0 0 0 0 0 0 0 10010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1003 0 0 0 0 0 0 0 0 0 0 0 0 10020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1004 0 0 0 0 0 0 0 0 0 0 0 0 10030 0 0
1005 0 0 0 0 0 0 0 0 0 0 0 0 10040 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1006 0 0 0 0 0 0 0 0 0 0 0 0 10050 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1007 0 0 0 0 0 0 0 0 0 0 0 0 10060 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1008 0 0 0 0 0 0 0 0 0 10 10 10 10070 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1009 38 38 38 78 78 78 6 6 6 2 2 6 10080 0 0 0 0 0 0 0 0 118 116 76 230 229 82 230 229 82
1010 2 2 6 46 46 46 14 14 14 42 42 42 1009230 229 82 230 229 82 230 229 82 230 229 82 230 229 82 230 229 82
1011246 246 246 253 253 253 253 253 253 253 253 253 1010230 229 82 230 229 82 230 229 82 230 229 82 230 229 82 230 229 82
1012253 253 253 253 253 253 253 253 253 253 253 253 1011230 229 82 230 229 82 230 229 82 161 156 96 161 156 96 118 116 76
1013253 253 253 253 253 253 231 231 231 242 242 242 101271 71 57 13 14 12 9 12 12 10 13 13 12 15 15 13 17 17
1014253 253 253 253 253 253 253 253 253 253 253 253 101315 18 18 15 19 19 16 20 20 17 21 21 17 21 21 18 22 22
1015253 253 253 253 253 253 253 253 253 253 253 253 101418 22 22 18 22 22 17 21 21 16 19 19 15 18 18 14 18 18
1016253 253 253 253 253 253 253 253 253 253 253 253 101516 19 19 16 20 20 16 20 20 16 20 20 16 20 20 16 20 20
1017253 253 253 253 253 253 253 253 253 253 253 253 101615 19 19 15 19 19 15 18 18 14 18 18 16 20 20 23 25 24
1018253 253 253 253 253 253 234 234 234 10 10 10 101717 21 21 25 27 26 47 48 46 47 48 46 51 52 50 72 73 67
1019 2 2 6 2 2 6 22 22 22 14 14 14 101833 36 34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1020 2 2 6 2 2 6 2 2 6 2 2 6 10190 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1021 2 2 6 66 66 66 62 62 62 22 22 22 10200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1022 6 6 6 0 0 0 0 0 0 0 0 0 10210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1023 0 0 0 0 0 0 0 0 0 0 0 0 10220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1024 0 0 0 0 0 0 0 0 0 0 0 0 10230 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1025 0 0 0 0 0 0 0 0 0 0 0 0 10240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1026 0 0 0 0 0 0 0 0 0 0 0 0 10250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1027 0 0 0 0 0 0 0 0 0 0 0 0 10260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1028 0 0 0 0 0 0 6 6 6 18 18 18 10270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1029 50 50 50 74 74 74 2 2 6 2 2 6 10280 0 0
1030 14 14 14 70 70 70 34 34 34 62 62 62 10290 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1031250 250 250 253 253 253 253 253 253 253 253 253 10300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1032253 253 253 253 253 253 253 253 253 253 253 253 10310 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1033253 253 253 253 253 253 231 231 231 246 246 246 10320 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1034253 253 253 253 253 253 253 253 253 253 253 253 10330 0 0 0 0 0 0 0 0 118 116 76 230 229 82 230 229 82
1035253 253 253 253 253 253 253 253 253 253 253 253 1034230 229 82 230 229 82 230 229 82 230 229 82 230 229 82 230 229 82
1036253 253 253 253 253 253 253 253 253 253 253 253 1035230 229 82 230 229 82 230 229 82 230 229 82 230 229 82 230 229 82
1037253 253 253 253 253 253 253 253 253 253 253 253 1036230 229 82 230 229 82 161 156 96 118 116 76 118 116 76 46 47 43
1038253 253 253 253 253 253 234 234 234 14 14 14 10379 11 11 9 11 11 10 12 12 11 13 13 12 15 15 14 17 17
1039 2 2 6 2 2 6 30 30 30 2 2 6 103815 18 18 15 19 19 16 20 20 16 20 20 16 20 20 16 20 20
1040 2 2 6 2 2 6 2 2 6 2 2 6 103916 20 20 16 20 20 16 20 20 16 20 20 16 20 20 16 20 20
1041 2 2 6 66 66 66 62 62 62 22 22 22 104015 19 19 16 20 20 16 20 20 16 20 20 16 20 20 16 20 20
1042 6 6 6 0 0 0 0 0 0 0 0 0 104115 19 19 16 20 20 20 24 24 55 56 53 32 34 33 84 83 72
1043 0 0 0 0 0 0 0 0 0 0 0 0 104290 89 73 110 109 94 110 109 94 105 104 92 110 109 94 110 109 94
1044 0 0 0 0 0 0 0 0 0 0 0 0 104372 73 67 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1045 0 0 0 0 0 0 0 0 0 0 0 0 10440 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1046 0 0 0 0 0 0 0 0 0 0 0 0 10450 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1047 0 0 0 0 0 0 0 0 0 0 0 0 10460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1048 0 0 0 0 0 0 6 6 6 18 18 18 10470 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1049 54 54 54 62 62 62 2 2 6 2 2 6 10480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1050 2 2 6 30 30 30 46 46 46 70 70 70 10490 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1051250 250 250 253 253 253 253 253 253 253 253 253 10500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1052253 253 253 253 253 253 253 253 253 253 253 253 10510 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1053253 253 253 253 253 253 231 231 231 246 246 246 10520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1054253 253 253 253 253 253 253 253 253 253 253 253 10530 0 0
1055253 253 253 253 253 253 253 253 253 253 253 253 10540 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1056253 253 253 253 253 253 253 253 253 253 253 253 10550 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1057253 253 253 253 253 253 253 253 253 253 253 253 10560 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1058253 253 253 253 253 253 226 226 226 10 10 10 10570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1059 2 2 6 6 6 6 30 30 30 2 2 6 10580 0 0 0 0 0 0 0 0 96 95 69 230 229 82 230 229 82
1060 2 2 6 2 2 6 2 2 6 2 2 6 1059230 229 82 230 229 82 230 229 82 230 229 82 230 229 82 230 229 82
1061 2 2 6 66 66 66 58 58 58 22 22 22 1060230 229 82 230 229 82 230 229 82 230 229 82 230 229 82 230 229 82
1062 6 6 6 0 0 0 0 0 0 0 0 0 1061230 229 82 161 156 96 118 116 76 82 81 62 16 17 12 9 11 11
1063 0 0 0 0 0 0 0 0 0 0 0 0 10629 11 11 9 12 12 10 13 13 12 14 14 13 16 16 14 18 18
1064 0 0 0 0 0 0 0 0 0 0 0 0 106315 19 19 16 20 20 16 20 20 16 20 20 16 20 20 16 20 20
1065 0 0 0 0 0 0 0 0 0 0 0 0 106416 20 20 16 20 20 16 20 20 16 20 20 16 20 20 16 20 20
1066 0 0 0 0 0 0 0 0 0 0 0 0 106516 20 20 16 20 20 16 20 20 16 20 20 16 20 20 16 20 20
1067 0 0 0 0 0 0 0 0 0 0 0 0 106616 19 19 33 36 34 99 98 80 156 151 111 145 141 105 184 179 149
1068 0 0 0 0 0 0 6 6 6 22 22 22 1067168 163 120 184 179 149 177 172 135 156 151 111 145 141 105 110 109 94
1069 58 58 58 62 62 62 2 2 6 2 2 6 106890 89 73 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0
1070 2 2 6 2 2 6 30 30 30 78 78 78 10690 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1071250 250 250 253 253 253 253 253 253 253 253 253 10700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1072253 253 253 253 253 253 253 253 253 253 253 253 10710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1073253 253 253 253 253 253 231 231 231 246 246 246 10720 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1074253 253 253 253 253 253 253 253 253 253 253 253 10730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1075253 253 253 253 253 253 253 253 253 253 253 253 10740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1076253 253 253 253 253 253 253 253 253 253 253 253 10750 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1077253 253 253 253 253 253 253 253 253 253 253 253 10760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1078253 253 253 253 253 253 206 206 206 2 2 6 10770 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1079 22 22 22 34 34 34 18 14 6 22 22 22 10780 0 0
1080 26 26 26 18 18 18 6 6 6 2 2 6 10790 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1081 2 2 6 82 82 82 54 54 54 18 18 18 10800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1082 6 6 6 0 0 0 0 0 0 0 0 0 10810 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1083 0 0 0 0 0 0 0 0 0 0 0 0 10820 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1084 0 0 0 0 0 0 0 0 0 0 0 0 10830 0 0 0 0 0 0 0 0 71 71 57 230 229 82 230 229 82
1085 0 0 0 0 0 0 0 0 0 0 0 0 1084230 229 82 230 229 82 230 229 82 230 229 82 230 229 82 230 229 82
1086 0 0 0 0 0 0 0 0 0 0 0 0 1085230 229 82 161 156 96 230 229 82 230 229 82 230 229 82 161 156 96
1087 0 0 0 0 0 0 0 0 0 0 0 0 1086118 116 76 82 81 62 30 31 28 9 11 11 9 11 11 9 11 11
1088 0 0 0 0 0 0 6 6 6 26 26 26 108710 12 12 10 13 13 11 14 14 13 16 16 14 17 17 15 18 18
1089 62 62 62 106 106 106 74 54 14 185 133 11 108815 19 19 16 20 20 16 20 20 16 20 20 16 20 20 16 20 20
1090210 162 10 121 92 8 6 6 6 62 62 62 108916 20 20 16 20 20 16 20 20 16 20 20 16 20 20 16 20 20
1091238 238 238 253 253 253 253 253 253 253 253 253 109016 20 20 16 20 20 16 20 20 16 20 20 16 20 20 16 20 20
1092253 253 253 253 253 253 253 253 253 253 253 253 109118 22 22 58 59 55 137 133 100 197 193 154 214 212 158 210 208 158
1093253 253 253 253 253 253 231 231 231 246 246 246 1092197 193 154 184 179 149 184 179 149 137 133 100 110 109 94 99 98 80
1094253 253 253 253 253 253 253 253 253 253 253 253 109384 83 72 10 10 9 0 0 0 0 0 0 0 0 0 0 0 0
1095253 253 253 253 253 253 253 253 253 253 253 253 10940 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1096253 253 253 253 253 253 253 253 253 253 253 253 10950 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1097253 253 253 253 253 253 253 253 253 253 253 253 10960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1098253 253 253 253 253 253 158 158 158 18 18 18 10970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1099 14 14 14 2 2 6 2 2 6 2 2 6 10980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1100 6 6 6 18 18 18 66 66 66 38 38 38 10990 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1101 6 6 6 94 94 94 50 50 50 18 18 18 11000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1102 6 6 6 0 0 0 0 0 0 0 0 0 11010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1103 0 0 0 0 0 0 0 0 0 0 0 0 11020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1104 0 0 0 0 0 0 0 0 0 0 0 0 11030 0 0
1105 0 0 0 0 0 0 0 0 0 0 0 0 11040 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1106 0 0 0 0 0 0 0 0 0 0 0 0 11050 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1107 0 0 0 0 0 0 0 0 0 6 6 6 11060 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1108 10 10 10 10 10 10 18 18 18 38 38 38 11070 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1109 78 78 78 142 134 106 216 158 10 242 186 14 11080 0 0 0 0 0 0 0 0 16 17 12 230 229 82 230 229 82
1110246 190 14 246 190 14 156 118 10 10 10 10 1109230 229 82 230 229 82 230 229 82 230 229 82 230 229 82 161 156 96
1111 90 90 90 238 238 238 253 253 253 253 253 253 1110161 156 96 161 156 96 161 156 96 161 156 96 118 116 76 71 71 57
1112253 253 253 253 253 253 253 253 253 253 253 253 111121 22 20 12 14 14 11 13 13 10 12 12 10 12 12 10 13 13
1113253 253 253 253 253 253 231 231 231 250 250 250 111211 13 13 12 15 15 13 16 16 14 17 17 14 18 18 15 19 19
1114253 253 253 253 253 253 253 253 253 253 253 253 111316 20 20 16 20 20 16 20 20 16 20 20 16 20 20 16 20 20
1115253 253 253 253 253 253 253 253 253 253 253 253 111416 20 20 16 20 20 16 20 20 16 20 20 16 20 20 16 20 20
1116253 253 253 253 253 253 253 253 253 253 253 253 111516 20 20 16 20 20 16 20 20 16 20 20 16 20 20 17 21 21
1117253 253 253 253 253 253 253 253 253 246 230 190 111623 27 26 84 83 72 184 179 149 251 251 187 210 208 158 184 179 149
1118238 204 91 238 204 91 181 142 44 37 26 9 1117184 179 149 156 151 111 110 109 94 84 83 72 63 64 60 51 52 50
1119 2 2 6 2 2 6 2 2 6 2 2 6 111818 22 22 6 8 8 0 0 0 0 0 0 0 0 0 0 0 0
1120 2 2 6 2 2 6 38 38 38 46 46 46 11190 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1121 26 26 26 106 106 106 54 54 54 18 18 18 11200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1122 6 6 6 0 0 0 0 0 0 0 0 0 11210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1123 0 0 0 0 0 0 0 0 0 0 0 0 11220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1124 0 0 0 0 0 0 0 0 0 0 0 0 11230 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1125 0 0 0 0 0 0 0 0 0 0 0 0 11240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1126 0 0 0 0 0 0 0 0 0 0 0 0 11250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1127 0 0 0 6 6 6 14 14 14 22 22 22 11260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1128 30 30 30 38 38 38 50 50 50 70 70 70 11270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1129106 106 106 190 142 34 226 170 11 242 186 14 11280 0 0
1130246 190 14 246 190 14 246 190 14 154 114 10 11290 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1131 6 6 6 74 74 74 226 226 226 253 253 253 11300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1132253 253 253 253 253 253 253 253 253 253 253 253 11310 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1133253 253 253 253 253 253 231 231 231 250 250 250 11320 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1134253 253 253 253 253 253 253 253 253 253 253 253 11330 0 0 0 0 0 0 0 0 0 0 0 118 116 76 230 229 82
1135253 253 253 253 253 253 253 253 253 253 253 253 1134230 229 82 230 229 82 230 229 82 230 229 82 161 156 96 161 156 96
1136253 253 253 253 253 253 253 253 253 253 253 253 1135161 156 96 161 156 96 118 116 76 53 55 47 20 23 22 16 19 19
1137253 253 253 253 253 253 253 253 253 228 184 62 113613 16 16 12 15 15 12 14 14 11 14 14 11 14 14 11 14 14
1138241 196 14 241 208 19 232 195 16 38 30 10 113712 15 15 13 16 16 14 17 17 15 19 19 16 20 20 17 21 21
1139 2 2 6 2 2 6 2 2 6 2 2 6 113823 27 26 18 22 22 20 24 24 23 27 26 30 32 31 17 21 21
1140 2 2 6 6 6 6 30 30 30 26 26 26 113916 20 20 16 20 20 16 20 20 16 20 20 16 20 20 16 20 20
1141203 166 17 154 142 90 66 66 66 26 26 26 114016 20 20 16 20 20 16 20 20 16 20 20 16 20 20 16 20 20
1142 6 6 6 0 0 0 0 0 0 0 0 0 114123 27 26 33 37 35 137 133 100 156 151 111 158 153 112 105 104 92
1143 0 0 0 0 0 0 0 0 0 0 0 0 1142105 104 92 68 70 65 39 40 39 18 22 22 12 14 14 12 15 15
1144 0 0 0 0 0 0 0 0 0 0 0 0 11439 11 11 4 5 5 0 0 0 0 0 0 0 0 0 0 0 0
1145 0 0 0 0 0 0 0 0 0 0 0 0 11440 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1146 0 0 0 0 0 0 0 0 0 0 0 0 11450 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1147 6 6 6 18 18 18 38 38 38 58 58 58 11460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1148 78 78 78 86 86 86 101 101 101 123 123 123 11470 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1149175 146 61 210 150 10 234 174 13 246 186 14 11480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1150246 190 14 246 190 14 246 190 14 238 190 10 11490 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1151102 78 10 2 2 6 46 46 46 198 198 198 11500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1152253 253 253 253 253 253 253 253 253 253 253 253 11510 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1153253 253 253 253 253 253 234 234 234 242 242 242 11520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1154253 253 253 253 253 253 253 253 253 253 253 253 11530 0 0
1155253 253 253 253 253 253 253 253 253 253 253 253 11540 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1156253 253 253 253 253 253 253 253 253 253 253 253 11550 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1157253 253 253 253 253 253 253 253 253 224 178 62 11560 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1158242 186 14 241 196 14 210 166 10 22 18 6 11570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1159 2 2 6 2 2 6 2 2 6 2 2 6 11580 0 0 0 0 0 0 0 0 0 0 0 16 17 12 230 229 82
1160 2 2 6 2 2 6 6 6 6 121 92 8 1159230 229 82 230 229 82 230 229 82 161 156 96 118 116 76 118 116 76
1161238 202 15 232 195 16 82 82 82 34 34 34 1160118 116 76 66 65 55 43 45 43 32 34 33 25 27 26 20 23 22
1162 10 10 10 0 0 0 0 0 0 0 0 0 116117 20 20 15 18 18 14 17 17 15 18 18 13 16 16 14 17 17
1163 0 0 0 0 0 0 0 0 0 0 0 0 116214 18 18 16 20 20 32 34 33 55 57 54 58 59 55 72 73 67
1164 0 0 0 0 0 0 0 0 0 0 0 0 1163105 104 92 55 57 54 65 66 61 63 64 60 40 43 41 33 37 35
1165 0 0 0 0 0 0 0 0 0 0 0 0 116441 42 42 20 24 24 16 20 20 16 20 20 16 20 20 16 20 20
1166 0 0 0 0 0 0 0 0 0 0 0 0 116516 20 20 16 20 20 16 20 20 16 20 20 16 20 20 16 20 20
1167 14 14 14 38 38 38 70 70 70 154 122 46 116617 21 21 26 28 27 30 32 31 35 37 36 68 70 65 39 40 39
1168190 142 34 200 144 11 197 138 11 197 138 11 116723 27 26 15 18 18 13 16 16 11 14 14 9 12 12 8 10 10
1169213 154 11 226 170 11 242 186 14 246 190 14 11687 9 9 6 7 7 0 0 0 0 0 0 0 0 0 0 0 0
1170246 190 14 246 190 14 246 190 14 246 190 14 11690 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1171225 175 15 46 32 6 2 2 6 22 22 22 11700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1172158 158 158 250 250 250 253 253 253 253 253 253 11710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1173253 253 253 253 253 253 253 253 253 253 253 253 11720 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1174253 253 253 253 253 253 253 253 253 253 253 253 11730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1175253 253 253 253 253 253 253 253 253 253 253 253 11740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1176253 253 253 253 253 253 253 253 253 253 253 253 11750 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1177253 253 253 250 250 250 242 242 242 224 178 62 11760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1178239 182 13 236 186 11 213 154 11 46 32 6 11770 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1179 2 2 6 2 2 6 2 2 6 2 2 6 11780 0 0
1180 2 2 6 2 2 6 61 42 6 225 175 15 11790 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1181238 190 10 236 186 11 112 100 78 42 42 42 11800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1182 14 14 14 0 0 0 0 0 0 0 0 0 11810 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1183 0 0 0 0 0 0 0 0 0 0 0 0 11820 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1184 0 0 0 0 0 0 0 0 0 0 0 0 11830 0 0 0 0 0 0 0 0 0 0 0 0 0 0 36 38 35
1185 0 0 0 0 0 0 0 0 0 0 0 0 1184230 229 82 230 229 82 230 229 82 96 95 69 30 31 28 49 51 48
1186 0 0 0 0 0 0 0 0 0 6 6 6 118590 89 73 68 70 65 55 57 54 47 48 46 47 48 46 43 45 43
1187 22 22 22 54 54 54 154 122 46 213 154 11 118632 34 33 43 45 43 43 45 43 23 27 26 25 27 26 40 43 41
1188226 170 11 230 174 11 226 170 11 226 170 11 118740 43 41 90 89 73 110 109 94 145 141 105 156 151 111 156 151 111
1189236 178 12 242 186 14 246 190 14 246 190 14 1188184 179 149 184 179 149 177 172 135 184 179 149 137 133 100 84 83 72
1190246 190 14 246 190 14 246 190 14 246 190 14 1189105 104 92 63 64 60 49 51 48 47 48 46 28 31 30 18 22 22
1191241 196 14 184 144 12 10 10 10 2 2 6 119016 20 20 16 20 20 16 20 20 16 20 20 16 20 20 16 20 20
1192 6 6 6 116 116 116 242 242 242 253 253 253 119116 20 20 15 19 19 15 19 19 15 19 19 18 22 22 15 19 19
1193253 253 253 253 253 253 253 253 253 253 253 253 119213 16 16 12 15 15 11 14 14 10 13 13 9 12 12 9 11 11
1194253 253 253 253 253 253 253 253 253 253 253 253 11938 10 10 6 8 8 0 0 0 0 0 0 0 0 0 0 0 0
1195253 253 253 253 253 253 253 253 253 253 253 253 11940 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1196253 253 253 253 253 253 253 253 253 253 253 253 11950 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1197253 253 253 231 231 231 198 198 198 214 170 54 11960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1198236 178 12 236 178 12 210 150 10 137 92 6 11970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1199 18 14 6 2 2 6 2 2 6 2 2 6 11980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1200 6 6 6 70 47 6 200 144 11 236 178 12 11990 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1201239 182 13 239 182 13 124 112 88 58 58 58 12000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1202 22 22 22 6 6 6 0 0 0 0 0 0 12010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1203 0 0 0 0 0 0 0 0 0 0 0 0 12020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1204 0 0 0 0 0 0 0 0 0 0 0 0 12030 0 0
1205 0 0 0 0 0 0 0 0 0 0 0 0 12040 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1206 0 0 0 0 0 0 0 0 0 10 10 10 12050 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1207 30 30 30 70 70 70 180 133 36 226 170 11 12060 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1208239 182 13 242 186 14 242 186 14 246 186 14 12070 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1209246 190 14 246 190 14 246 190 14 246 190 14 12080 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1210246 190 14 246 190 14 246 190 14 246 190 14 120930 31 28 230 229 82 71 71 57 2 2 1 0 0 0 58 59 55
1211246 190 14 232 195 16 98 70 6 2 2 6 1210105 104 92 84 83 72 65 66 61 84 83 72 110 109 94 110 109 94
1212 2 2 6 2 2 6 66 66 66 221 221 221 1211145 141 105 105 104 92 110 109 94 110 109 94 84 83 72 110 109 94
1213253 253 253 253 253 253 253 253 253 253 253 253 1212158 153 112 197 193 154 197 193 154 239 239 170 251 251 187 251 251 187
1214253 253 253 253 253 253 253 253 253 253 253 253 1213251 251 187 251 251 187 251 251 187 251 251 187 210 208 158 197 193 154
1215253 253 253 253 253 253 253 253 253 253 253 253 1214197 193 154 184 179 149 145 141 105 137 133 100 105 104 92 47 48 46
1216253 253 253 253 253 253 253 253 253 253 253 253 121520 23 23 16 20 20 16 20 20 16 20 20 16 20 20 16 20 20
1217253 253 253 206 206 206 198 198 198 214 166 58 121616 20 20 16 19 19 15 19 19 15 19 19 14 18 18 14 17 17
1218230 174 11 230 174 11 216 158 10 192 133 9 121713 17 17 13 16 16 12 14 14 12 14 14 13 13 13 13 13 13
1219163 110 8 116 81 8 102 78 10 116 81 8 121813 13 13 12 12 12 10 10 9 6 7 7 2 2 2 0 0 0
1220167 114 7 197 138 11 226 170 11 239 182 13 12190 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1221242 186 14 242 186 14 162 146 94 78 78 78 12200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1222 34 34 34 14 14 14 6 6 6 0 0 0 12210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1223 0 0 0 0 0 0 0 0 0 0 0 0 12220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1224 0 0 0 0 0 0 0 0 0 0 0 0 12230 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1225 0 0 0 0 0 0 0 0 0 0 0 0 12240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1226 0 0 0 0 0 0 0 0 0 6 6 6 12250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1227 30 30 30 78 78 78 190 142 34 226 170 11 12260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1228239 182 13 246 190 14 246 190 14 246 190 14 12270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1229246 190 14 246 190 14 246 190 14 246 190 14 12280 0 0
1230246 190 14 246 190 14 246 190 14 246 190 14 12290 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1231246 190 14 241 196 14 203 166 17 22 18 6 12300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1232 2 2 6 2 2 6 2 2 6 38 38 38 12310 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1233218 218 218 253 253 253 253 253 253 253 253 253 12320 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1234253 253 253 253 253 253 253 253 253 253 253 253 12330 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1235253 253 253 253 253 253 253 253 253 253 253 253 12340 0 0 0 0 0 1 1 0 0 0 0 0 0 0 65 66 61
1236253 253 253 253 253 253 253 253 253 253 253 253 1235105 104 92 84 83 72 84 83 72 110 109 94 184 179 149 210 208 158
1237250 250 250 206 206 206 198 198 198 202 162 69 1236210 208 158 210 208 158 214 212 158 197 193 154 214 212 158 210 208 158
1238226 170 11 236 178 12 224 166 10 210 150 10 1237251 251 187 251 251 187 251 251 187 251 251 187 251 251 187 251 251 187
1239200 144 11 197 138 11 192 133 9 197 138 11 1238251 251 187 251 251 187 251 251 187 251 251 187 251 251 187 251 251 187
1240210 150 10 226 170 11 242 186 14 246 190 14 1239251 251 187 251 251 187 239 239 170 251 251 187 184 179 149 84 83 72
1241246 190 14 246 186 14 225 175 15 124 112 88 124026 28 27 16 20 20 16 20 20 16 20 20 16 20 20 16 20 20
1242 62 62 62 30 30 30 14 14 14 6 6 6 124116 20 20 16 20 20 15 19 19 15 19 19 15 18 18 14 18 18
1243 0 0 0 0 0 0 0 0 0 0 0 0 124213 17 17 13 16 16 15 15 15 14 14 13 14 14 13 14 14 13
1244 0 0 0 0 0 0 0 0 0 0 0 0 124313 13 13 13 13 13 12 12 12 12 12 12 12 12 12 3 4 4
1245 0 0 0 0 0 0 0 0 0 0 0 0 12440 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1246 0 0 0 0 0 0 0 0 0 10 10 10 12450 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1247 30 30 30 78 78 78 174 135 50 224 166 10 12460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1248239 182 13 246 190 14 246 190 14 246 190 14 12470 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1249246 190 14 246 190 14 246 190 14 246 190 14 12480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1250246 190 14 246 190 14 246 190 14 246 190 14 12490 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1251246 190 14 246 190 14 241 196 14 139 102 15 12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1252 2 2 6 2 2 6 2 2 6 2 2 6 12510 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1253 78 78 78 250 250 250 253 253 253 253 253 253 12520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1254253 253 253 253 253 253 253 253 253 253 253 253 12530 0 0
1255253 253 253 253 253 253 253 253 253 253 253 253 12540 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1256253 253 253 253 253 253 253 253 253 253 253 253 12550 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1257250 250 250 214 214 214 198 198 198 190 150 46 12560 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1258219 162 10 236 178 12 234 174 13 224 166 10 12570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1259216 158 10 213 154 11 213 154 11 216 158 10 12580 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1260226 170 11 239 182 13 246 190 14 246 190 14 12590 0 0 0 0 0 0 0 0 0 0 0 0 0 0 72 73 67
1261246 190 14 246 190 14 242 186 14 206 162 42 1260105 104 92 99 98 80 84 83 72 99 98 80 177 172 135 197 193 154
1262101 101 101 58 58 58 30 30 30 14 14 14 1261251 251 187 251 251 187 251 251 187 251 251 187 251 251 187 251 251 187
1263 6 6 6 0 0 0 0 0 0 0 0 0 1262251 251 187 251 251 187 251 251 187 251 251 187 251 251 187 251 251 187
1264 0 0 0 0 0 0 0 0 0 0 0 0 1263251 251 187 251 251 187 251 251 187 251 251 187 251 251 187 251 251 187
1265 0 0 0 0 0 0 0 0 0 0 0 0 1264251 251 187 251 251 187 251 251 187 214 212 158 197 193 154 99 98 80
1266 0 0 0 0 0 0 0 0 0 10 10 10 126523 27 26 16 20 20 16 20 20 16 20 20 16 20 20 16 20 20
1267 30 30 30 74 74 74 174 135 50 216 158 10 126616 20 20 16 20 20 15 19 19 15 19 19 15 18 18 14 18 18
1268236 178 12 246 190 14 246 190 14 246 190 14 126714 17 17 16 16 16 16 16 16 16 16 16 15 15 15 14 14 13
1269246 190 14 246 190 14 246 190 14 246 190 14 126814 14 13 13 13 13 13 13 13 12 12 12 12 12 12 12 12 12
1270246 190 14 246 190 14 246 190 14 246 190 14 12693 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1271246 190 14 246 190 14 241 196 14 226 184 13 12700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1272 61 42 6 2 2 6 2 2 6 2 2 6 12710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1273 22 22 22 238 238 238 253 253 253 253 253 253 12720 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1274253 253 253 253 253 253 253 253 253 253 253 253 12730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1275253 253 253 253 253 253 253 253 253 253 253 253 12740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1276253 253 253 253 253 253 253 253 253 253 253 253 12750 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1277253 253 253 226 226 226 187 187 187 180 133 36 12760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1278216 158 10 236 178 12 239 182 13 236 178 12 12770 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1279230 174 11 226 170 11 226 170 11 230 174 11 12780 0 0
1280236 178 12 242 186 14 246 190 14 246 190 14 12790 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1281246 190 14 246 190 14 246 186 14 239 182 13 12800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1282206 162 42 106 106 106 66 66 66 34 34 34 12810 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1283 14 14 14 6 6 6 0 0 0 0 0 0 12820 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1284 0 0 0 0 0 0 0 0 0 0 0 0 12830 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1285 0 0 0 0 0 0 0 0 0 0 0 0 12840 0 0 0 0 0 0 0 0 0 0 0 0 0 0 84 83 72
1286 0 0 0 0 0 0 0 0 0 6 6 6 1285110 109 94 99 98 80 72 73 67 63 64 60 99 98 80 177 172 135
1287 26 26 26 70 70 70 163 133 67 213 154 11 1286184 179 149 210 208 158 251 251 187 251 251 187 251 251 187 251 251 187
1288236 178 12 246 190 14 246 190 14 246 190 14 1287251 251 187 251 251 187 251 251 187 251 251 187 251 251 187 251 251 187
1289246 190 14 246 190 14 246 190 14 246 190 14 1288251 251 187 251 251 187 251 251 187 251 251 187 251 251 187 251 251 187
1290246 190 14 246 190 14 246 190 14 246 190 14 1289251 251 187 210 208 158 184 179 149 177 172 135 110 109 94 33 37 35
1291246 190 14 246 190 14 246 190 14 241 196 14 129017 21 21 16 20 20 16 20 20 16 20 20 16 20 20 16 20 20
1292190 146 13 18 14 6 2 2 6 2 2 6 129116 20 20 16 20 20 15 19 19 15 19 19 15 19 19 14 18 18
1293 46 46 46 246 246 246 253 253 253 253 253 253 129215 18 18 18 19 18 18 19 18 17 17 17 16 16 16 15 15 15
1294253 253 253 253 253 253 253 253 253 253 253 253 129314 14 13 13 13 13 13 13 13 12 12 12 12 12 12 12 12 12
1295253 253 253 253 253 253 253 253 253 253 253 253 129410 10 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1296253 253 253 253 253 253 253 253 253 253 253 253 12950 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1297253 253 253 221 221 221 86 86 86 156 107 11 12960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1298216 158 10 236 178 12 242 186 14 246 186 14 12970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1299242 186 14 239 182 13 239 182 13 242 186 14 12980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1300242 186 14 246 186 14 246 190 14 246 190 14 12990 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1301246 190 14 246 190 14 246 190 14 246 190 14 13000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1302242 186 14 225 175 15 142 122 72 66 66 66 13010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1303 30 30 30 10 10 10 0 0 0 0 0 0 13020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1304 0 0 0 0 0 0 0 0 0 0 0 0 13030 0 0
1305 0 0 0 0 0 0 0 0 0 0 0 0 13040 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1306 0 0 0 0 0 0 0 0 0 6 6 6 13050 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1307 26 26 26 70 70 70 163 133 67 210 150 10 13060 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1308236 178 12 246 190 14 246 190 14 246 190 14 13070 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1309246 190 14 246 190 14 246 190 14 246 190 14 13080 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1310246 190 14 246 190 14 246 190 14 246 190 14 13090 0 0 0 0 0 0 0 0 0 0 0 2 2 2 105 104 92
1311246 190 14 246 190 14 246 190 14 246 190 14 1310108 107 93 99 98 80 72 73 67 63 64 60 51 52 50 87 86 72
1312232 195 16 121 92 8 34 34 34 106 106 106 1311105 104 92 110 109 94 108 107 93 156 151 111 184 179 149 184 179 149
1313221 221 221 253 253 253 253 253 253 253 253 253 1312197 193 154 197 193 154 197 193 154 184 179 149 184 179 149 177 172 135
1314253 253 253 253 253 253 253 253 253 253 253 253 1313197 193 154 156 151 111 177 172 135 184 179 149 168 163 120 137 133 100
1315253 253 253 253 253 253 253 253 253 253 253 253 1314145 141 105 110 109 94 99 98 80 47 48 46 55 57 54 15 19 19
1316253 253 253 253 253 253 253 253 253 253 253 253 131516 19 19 16 20 20 16 20 20 16 20 20 16 20 20 16 20 20
1317242 242 242 82 82 82 18 14 6 163 110 8 131617 20 20 17 21 21 16 20 20 16 19 19 15 19 19 16 19 19
1318216 158 10 236 178 12 242 186 14 246 190 14 131720 20 20 21 22 21 20 20 20 19 20 19 18 19 18 16 16 16
1319246 190 14 246 190 14 246 190 14 246 190 14 131815 15 15 14 14 13 13 13 13 13 13 13 12 12 12 12 12 12
1320246 190 14 246 190 14 246 190 14 246 190 14 131912 12 12 4 5 5 0 0 0 0 0 0 0 0 0 0 0 0
1321246 190 14 246 190 14 246 190 14 246 190 14 13200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1322246 190 14 246 190 14 242 186 14 163 133 67 13210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1323 46 46 46 18 18 18 6 6 6 0 0 0 13220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1324 0 0 0 0 0 0 0 0 0 0 0 0 13230 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1325 0 0 0 0 0 0 0 0 0 0 0 0 13240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1326 0 0 0 0 0 0 0 0 0 10 10 10 13250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1327 30 30 30 78 78 78 163 133 67 210 150 10 13260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1328236 178 12 246 186 14 246 190 14 246 190 14 13270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1329246 190 14 246 190 14 246 190 14 246 190 14 13280 0 0
1330246 190 14 246 190 14 246 190 14 246 190 14 13290 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1331246 190 14 246 190 14 246 190 14 246 190 14 13300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1332241 196 14 215 174 15 190 178 144 253 253 253 13310 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1333253 253 253 253 253 253 253 253 253 253 253 253 13320 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1334253 253 253 253 253 253 253 253 253 253 253 253 13330 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1335253 253 253 253 253 253 253 253 253 253 253 253 13340 0 0 0 0 0 0 0 0 0 0 0 58 59 55 110 109 94
1336253 253 253 253 253 253 253 253 253 218 218 218 1335105 104 92 90 89 73 72 73 67 55 57 54 43 45 43 39 40 39
1337 58 58 58 2 2 6 22 18 6 167 114 7 133643 45 43 46 47 45 43 45 43 68 70 65 65 66 61 63 64 60
1338216 158 10 236 178 12 246 186 14 246 190 14 1337108 107 93 72 73 67 105 104 92 90 89 73 72 73 67 40 43 41
1339246 190 14 246 190 14 246 190 14 246 190 14 133872 73 67 68 70 65 68 70 65 58 59 55 63 64 60 49 51 48
1340246 190 14 246 190 14 246 190 14 246 190 14 133943 45 43 33 36 34 27 30 29 20 24 24 16 20 20 15 19 19
1341246 190 14 246 190 14 246 190 14 246 190 14 134015 19 19 15 19 19 15 19 19 16 19 19 16 20 20 16 20 20
1342246 190 14 246 186 14 242 186 14 190 150 46 134117 21 21 20 24 24 20 23 22 17 21 21 17 20 20 20 20 20
1343 54 54 54 22 22 22 6 6 6 0 0 0 134221 22 21 21 22 21 21 22 21 21 22 21 20 20 20 18 19 18
1344 0 0 0 0 0 0 0 0 0 0 0 0 134316 16 16 15 15 15 13 13 13 13 13 13 12 12 12 12 12 12
1345 0 0 0 0 0 0 0 0 0 0 0 0 134412 12 12 10 10 9 0 0 0 0 0 0 0 0 0 0 0 0
1346 0 0 0 0 0 0 0 0 0 14 14 14 13450 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1347 38 38 38 86 86 86 180 133 36 213 154 11 13460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1348236 178 12 246 186 14 246 190 14 246 190 14 13470 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1349246 190 14 246 190 14 246 190 14 246 190 14 13480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1350246 190 14 246 190 14 246 190 14 246 190 14 13490 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1351246 190 14 246 190 14 246 190 14 246 190 14 13500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1352246 190 14 232 195 16 190 146 13 214 214 214 13510 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1353253 253 253 253 253 253 253 253 253 253 253 253 13520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1354253 253 253 253 253 253 253 253 253 253 253 253 13530 0 0
1355253 253 253 253 253 253 253 253 253 253 253 253 13540 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1356253 253 253 250 250 250 170 170 170 26 26 26 13550 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1357 2 2 6 2 2 6 37 26 9 163 110 8 13560 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1358219 162 10 239 182 13 246 186 14 246 190 14 13570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1359246 190 14 246 190 14 246 190 14 246 190 14 13580 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1360246 190 14 246 190 14 246 190 14 246 190 14 13590 0 0 0 0 0 0 0 0 21 22 21 110 109 94 110 109 94
1361246 190 14 246 190 14 246 190 14 246 190 14 1360105 104 92 84 83 72 68 70 65 51 52 50 41 42 42 33 37 35
1362246 186 14 236 178 12 224 166 10 142 122 72 136128 31 30 23 27 26 20 23 23 18 22 22 17 20 20 25 27 26
1363 46 46 46 18 18 18 6 6 6 0 0 0 136226 28 27 27 30 29 25 27 26 20 23 23 23 27 26 30 32 31
1364 0 0 0 0 0 0 0 0 0 0 0 0 136320 24 24 17 21 21 18 22 22 15 19 19 26 28 27 20 23 23
1365 0 0 0 0 0 0 0 0 0 0 0 0 136414 18 18 15 19 19 15 18 18 15 19 19 15 19 19 15 19 19
1366 0 0 0 0 0 0 6 6 6 18 18 18 136515 19 19 15 19 19 15 19 19 15 19 19 15 19 19 16 19 19
1367 50 50 50 109 106 95 192 133 9 224 166 10 136616 20 20 22 24 23 24 26 24 22 24 23 20 23 22 22 24 23
1368242 186 14 246 190 14 246 190 14 246 190 14 136724 26 24 24 26 24 23 24 24 22 24 23 21 22 21 19 20 19
1369246 190 14 246 190 14 246 190 14 246 190 14 136817 17 17 15 15 15 14 14 13 13 13 13 12 12 12 12 12 12
1370246 190 14 246 190 14 246 190 14 246 190 14 136912 12 12 12 12 12 2 2 2 0 0 0 0 0 0 0 0 0
1371246 190 14 246 190 14 246 190 14 246 190 14 13700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1372242 186 14 226 184 13 210 162 10 142 110 46 13710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1373226 226 226 253 253 253 253 253 253 253 253 253 13720 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1374253 253 253 253 253 253 253 253 253 253 253 253 13730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1375253 253 253 253 253 253 253 253 253 253 253 253 13740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1376198 198 198 66 66 66 2 2 6 2 2 6 13750 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1377 2 2 6 2 2 6 50 34 6 156 107 11 13760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1378219 162 10 239 182 13 246 186 14 246 190 14 13770 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1379246 190 14 246 190 14 246 190 14 246 190 14 13780 0 0
1380246 190 14 246 190 14 246 190 14 246 190 14 13790 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1381246 190 14 246 190 14 246 190 14 242 186 14 13800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1382234 174 13 213 154 11 154 122 46 66 66 66 13810 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1383 30 30 30 10 10 10 0 0 0 0 0 0 13820 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1384 0 0 0 0 0 0 0 0 0 0 0 0 13830 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1385 0 0 0 0 0 0 0 0 0 0 0 0 13840 0 0 0 0 0 2 2 2 99 98 80 110 109 94 108 107 93
1386 0 0 0 0 0 0 6 6 6 22 22 22 1385105 104 92 84 83 72 63 64 60 49 51 48 39 40 39 32 34 33
1387 58 58 58 154 121 60 206 145 10 234 174 13 138627 30 29 23 25 24 20 23 23 17 20 20 15 19 19 14 18 18
1388242 186 14 246 186 14 246 190 14 246 190 14 138714 17 17 13 17 17 13 17 17 13 17 17 13 17 17 13 17 17
1389246 190 14 246 190 14 246 190 14 246 190 14 138814 17 17 14 17 17 14 17 17 14 17 17 14 17 17 14 17 17
1390246 190 14 246 190 14 246 190 14 246 190 14 138914 18 18 14 18 18 14 18 18 14 18 18 15 18 18 15 19 19
1391246 190 14 246 190 14 246 190 14 246 190 14 139015 19 19 15 19 19 15 19 19 15 19 19 15 19 19 15 19 19
1392246 186 14 236 178 12 210 162 10 163 110 8 139115 19 19 17 21 21 27 29 28 26 28 27 25 27 26 25 27 26
1393 61 42 6 138 138 138 218 218 218 250 250 250 139227 29 28 27 29 28 26 28 27 24 26 24 21 22 21 20 20 20
1394253 253 253 253 253 253 253 253 253 250 250 250 139318 19 18 16 16 16 14 14 13 13 13 13 12 12 12 12 12 12
1395242 242 242 210 210 210 144 144 144 66 66 66 139412 12 12 12 12 12 4 5 5 0 0 0 0 0 0 0 0 0
1396 6 6 6 2 2 6 2 2 6 2 2 6 13950 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1397 2 2 6 2 2 6 61 42 6 163 110 8 13960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1398216 158 10 236 178 12 246 190 14 246 190 14 13970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1399246 190 14 246 190 14 246 190 14 246 190 14 13980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1400246 190 14 246 190 14 246 190 14 246 190 14 13990 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1401246 190 14 239 182 13 230 174 11 216 158 10 14000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1402190 142 34 124 112 88 70 70 70 38 38 38 14010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1403 18 18 18 6 6 6 0 0 0 0 0 0 14020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1404 0 0 0 0 0 0 0 0 0 0 0 0 14030 0 0
1405 0 0 0 0 0 0 0 0 0 0 0 0 14040 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1406 0 0 0 0 0 0 6 6 6 22 22 22 14050 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1407 62 62 62 168 124 44 206 145 10 224 166 10 14060 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1408236 178 12 239 182 13 242 186 14 242 186 14 14070 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1409246 186 14 246 190 14 246 190 14 246 190 14 14080 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1410246 190 14 246 190 14 246 190 14 246 190 14 14090 0 0 0 0 0 51 52 50 110 109 94 110 109 94 105 104 92
1411246 190 14 246 190 14 246 190 14 246 190 14 141090 89 73 72 73 67 55 57 54 43 45 43 35 37 36 30 32 31
1412246 190 14 236 178 12 216 158 10 175 118 6 141126 28 27 20 24 24 17 21 21 16 19 19 15 18 18 14 17 17
1413 80 54 7 2 2 6 6 6 6 30 30 30 141213 16 16 13 16 16 13 16 16 13 16 16 13 16 16 13 16 16
1414 54 54 54 62 62 62 50 50 50 38 38 38 141313 16 16 13 16 16 13 16 16 13 17 17 13 17 17 14 17 17
1415 14 14 14 2 2 6 2 2 6 2 2 6 141414 17 17 14 17 17 14 17 17 14 18 18 14 18 18 14 18 18
1416 2 2 6 2 2 6 2 2 6 2 2 6 141515 18 18 15 18 18 15 19 19 15 19 19 15 19 19 15 19 19
1417 2 2 6 6 6 6 80 54 7 167 114 7 141615 19 19 15 19 19 27 29 28 32 34 33 28 31 30 27 29 28
1418213 154 11 236 178 12 246 190 14 246 190 14 141730 32 31 30 32 31 30 31 28 26 28 27 23 24 24 21 22 21
1419246 190 14 246 190 14 246 190 14 246 190 14 141819 20 19 16 16 16 14 14 13 13 13 13 12 12 12 12 12 12
1420246 190 14 242 186 14 239 182 13 239 182 13 141912 12 12 12 12 12 6 7 7 0 0 0 0 0 0 0 0 0
1421230 174 11 210 150 10 174 135 50 124 112 88 14200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1422 82 82 82 54 54 54 34 34 34 18 18 18 14210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1423 6 6 6 0 0 0 0 0 0 0 0 0 14220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1424 0 0 0 0 0 0 0 0 0 0 0 0 14230 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1425 0 0 0 0 0 0 0 0 0 0 0 0 14240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1426 0 0 0 0 0 0 6 6 6 18 18 18 14250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1427 50 50 50 158 118 36 192 133 9 200 144 11 14260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1428216 158 10 219 162 10 224 166 10 226 170 11 14270 0 0 0 0 0 0 0 0 3 3 3 0 0 0 0 0 0
1429230 174 11 236 178 12 239 182 13 239 182 13 14280 0 0
1430242 186 14 246 186 14 246 190 14 246 190 14 14290 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1431246 190 14 246 190 14 246 190 14 246 190 14 14300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1432246 186 14 230 174 11 210 150 10 163 110 8 14310 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1433104 69 6 10 10 10 2 2 6 2 2 6 14320 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1434 2 2 6 2 2 6 2 2 6 2 2 6 14330 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1435 2 2 6 2 2 6 2 2 6 2 2 6 14340 0 0 10 10 9 108 107 93 110 109 94 108 107 93 99 98 80
1436 2 2 6 2 2 6 2 2 6 2 2 6 143584 83 72 63 64 60 49 51 48 40 43 41 33 36 34 27 30 29
1437 2 2 6 6 6 6 91 60 6 167 114 7 143623 27 26 18 22 22 17 20 20 15 18 18 14 17 17 13 16 16
1438206 145 10 230 174 11 242 186 14 246 190 14 143713 16 16 13 16 16 12 15 15 12 15 15 12 15 15 12 15 15
1439246 190 14 246 190 14 246 186 14 242 186 14 143813 16 16 13 16 16 13 16 16 13 16 16 13 16 16 13 16 16
1440239 182 13 230 174 11 224 166 10 213 154 11 143913 17 17 13 17 17 14 17 17 14 17 17 14 17 17 14 18 18
1441180 133 36 124 112 88 86 86 86 58 58 58 144014 18 18 14 18 18 15 18 18 15 18 18 15 19 19 15 19 19
1442 38 38 38 22 22 22 10 10 10 6 6 6 144115 19 19 15 19 19 17 21 21 33 36 34 32 34 33 31 33 31
1443 0 0 0 0 0 0 0 0 0 0 0 0 144233 36 34 33 36 34 31 33 31 27 29 28 25 27 26 21 22 21
1444 0 0 0 0 0 0 0 0 0 0 0 0 144319 20 19 17 17 17 15 15 15 13 13 13 12 12 12 12 12 12
1445 0 0 0 0 0 0 0 0 0 0 0 0 144412 12 12 12 12 12 8 8 7 0 0 0 0 0 0 0 0 0
1446 0 0 0 0 0 0 0 0 0 14 14 14 14450 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1447 34 34 34 70 70 70 138 110 50 158 118 36 14460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1448167 114 7 180 123 7 192 133 9 197 138 11 14470 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1449200 144 11 206 145 10 213 154 11 219 162 10 14480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1450224 166 10 230 174 11 239 182 13 242 186 14 14490 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1451246 186 14 246 186 14 246 186 14 246 186 14 14500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1452239 182 13 216 158 10 185 133 11 152 99 6 14510 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1453104 69 6 18 14 6 2 2 6 2 2 6 14520 0 0 0 0 0 63 64 60 137 133 100 43 45 43 0 0 0
1454 2 2 6 2 2 6 2 2 6 2 2 6 14530 0 0
1455 2 2 6 2 2 6 2 2 6 2 2 6 14540 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1456 2 2 6 2 2 6 2 2 6 2 2 6 14550 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1457 2 2 6 6 6 6 80 54 7 152 99 6 14560 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1458192 133 9 219 162 10 236 178 12 239 182 13 14570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1459246 186 14 242 186 14 239 182 13 236 178 12 14580 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1460224 166 10 206 145 10 192 133 9 154 121 60 14590 0 0 68 70 65 110 109 94 110 109 94 105 104 92 84 83 72
1461 94 94 94 62 62 62 42 42 42 22 22 22 146068 70 65 55 57 54 43 45 43 35 37 36 30 32 31 26 28 27
1462 14 14 14 6 6 6 0 0 0 0 0 0 146120 24 24 17 21 21 16 19 19 14 17 17 13 16 16 12 15 15
1463 0 0 0 0 0 0 0 0 0 0 0 0 146212 15 15 12 15 15 12 15 15 12 15 15 12 15 15 12 15 15
1464 0 0 0 0 0 0 0 0 0 0 0 0 146312 15 15 12 15 15 12 15 15 12 15 15 12 15 15 13 16 16
1465 0 0 0 0 0 0 0 0 0 0 0 0 146413 16 16 13 16 16 13 16 16 13 17 17 13 17 17 14 17 17
1466 0 0 0 0 0 0 0 0 0 6 6 6 146514 17 17 14 17 17 14 18 18 14 18 18 14 18 18 15 18 18
1467 18 18 18 34 34 34 58 58 58 78 78 78 146615 19 19 15 19 19 15 19 19 20 24 24 32 34 33 35 37 36
1468101 98 89 124 112 88 142 110 46 156 107 11 146737 39 37 35 37 36 33 36 34 30 32 31 26 28 27 22 24 23
1469163 110 8 167 114 7 175 118 6 180 123 7 146820 20 20 17 17 17 15 15 15 13 13 13 12 12 12 12 12 12
1470185 133 11 197 138 11 210 150 10 219 162 10 146912 12 12 12 12 12 8 8 7 0 0 0 0 0 0 0 0 0
1471226 170 11 236 178 12 236 178 12 234 174 13 14700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1472219 162 10 197 138 11 163 110 8 130 83 6 14710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1473 91 60 6 10 10 10 2 2 6 2 2 6 14720 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1474 18 18 18 38 38 38 38 38 38 38 38 38 14730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1475 38 38 38 38 38 38 38 38 38 38 38 38 14740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1476 38 38 38 38 38 38 26 26 26 2 2 6 14750 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1477 2 2 6 6 6 6 70 47 6 137 92 6 14760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1478175 118 6 200 144 11 219 162 10 230 174 11 14771 1 1 99 98 80 184 179 149 184 179 149 68 70 65 0 0 0
1479234 174 13 230 174 11 219 162 10 210 150 10 14780 0 0
1480192 133 9 163 110 8 124 112 88 82 82 82 14790 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1481 50 50 50 30 30 30 14 14 14 6 6 6 14800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1482 0 0 0 0 0 0 0 0 0 0 0 0 14810 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1483 0 0 0 0 0 0 0 0 0 0 0 0 14820 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1484 0 0 0 0 0 0 0 0 0 0 0 0 14830 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1485 0 0 0 0 0 0 0 0 0 0 0 0 148415 15 15 110 109 94 110 109 94 108 107 93 99 98 80 72 73 67
1486 0 0 0 0 0 0 0 0 0 0 0 0 148561 63 57 49 51 48 39 40 39 33 36 34 27 30 29 23 25 24
1487 6 6 6 14 14 14 22 22 22 34 34 34 148618 22 22 16 19 19 14 17 17 13 16 16 12 15 15 12 15 15
1488 42 42 42 58 58 58 74 74 74 86 86 86 148711 14 14 11 14 14 11 14 14 11 14 14 11 14 14 11 14 14
1489101 98 89 122 102 70 130 98 46 121 87 25 148811 14 14 11 14 14 12 14 14 12 15 15 12 15 15 12 15 15
1490137 92 6 152 99 6 163 110 8 180 123 7 148912 15 15 13 16 16 13 16 16 13 16 16 13 16 16 13 16 16
1491185 133 11 197 138 11 206 145 10 200 144 11 149013 17 17 14 17 17 14 17 17 14 17 17 14 18 18 14 18 18
1492180 123 7 156 107 11 130 83 6 104 69 6 149114 18 18 15 18 18 15 19 19 15 19 19 30 32 31 38 39 37
1493 50 34 6 54 54 54 110 110 110 101 98 89 149239 40 39 39 40 39 35 37 36 31 33 31 27 29 28 22 24 23
1494 86 86 86 82 82 82 78 78 78 78 78 78 149320 20 20 17 17 17 15 15 15 13 13 13 12 12 12 12 12 12
1495 78 78 78 78 78 78 78 78 78 78 78 78 149412 12 12 12 12 12 8 8 7 0 0 0 0 0 0 0 0 0
1496 78 78 78 82 82 82 86 86 86 94 94 94 14950 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1497106 106 106 101 101 101 86 66 34 124 80 6 14960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1498156 107 11 180 123 7 192 133 9 200 144 11 14970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1499206 145 10 200 144 11 192 133 9 175 118 6 14980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1500139 102 15 109 106 95 70 70 70 42 42 42 14990 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1501 22 22 22 10 10 10 0 0 0 0 0 0 15000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1502 0 0 0 0 0 0 0 0 0 0 0 0 15010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3
1503 0 0 0 0 0 0 0 0 0 0 0 0 1502110 109 94 197 193 154 210 208 158 184 179 149 68 70 65 0 0 0
1504 0 0 0 0 0 0 0 0 0 0 0 0 15030 0 0
1505 0 0 0 0 0 0 0 0 0 0 0 0 15040 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1506 0 0 0 0 0 0 0 0 0 0 0 0 15050 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1507 0 0 0 0 0 0 6 6 6 10 10 10 15060 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1508 14 14 14 22 22 22 30 30 30 38 38 38 15070 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1509 50 50 50 62 62 62 74 74 74 90 90 90 15080 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1510101 98 89 112 100 78 121 87 25 124 80 6 150968 70 65 110 109 94 110 109 94 105 104 92 84 83 72 65 66 61
1511137 92 6 152 99 6 152 99 6 152 99 6 151051 52 50 43 45 43 35 37 36 30 32 31 25 27 26 20 23 23
1512138 86 6 124 80 6 98 70 6 86 66 30 151117 20 20 15 18 18 13 16 16 12 15 15 12 15 15 11 14 14
1513101 98 89 82 82 82 58 58 58 46 46 46 151211 14 14 11 14 14 11 13 13 11 13 13 11 13 13 11 13 13
1514 38 38 38 34 34 34 34 34 34 34 34 34 151311 14 14 11 14 14 11 14 14 11 14 14 11 14 14 11 14 14
1515 34 34 34 34 34 34 34 34 34 34 34 34 151412 15 15 12 15 15 12 15 15 12 15 15 13 16 16 13 16 16
1516 34 34 34 34 34 34 38 38 38 42 42 42 151513 16 16 13 16 16 13 17 17 13 17 17 14 17 17 14 17 17
1517 54 54 54 82 82 82 94 86 76 91 60 6 151614 18 18 14 18 18 14 18 18 16 19 19 37 39 37 41 42 42
1518134 86 6 156 107 11 167 114 7 175 118 6 151741 42 42 41 42 42 38 39 37 32 34 33 27 29 28 23 24 24
1519175 118 6 167 114 7 152 99 6 121 87 25 151821 22 21 17 17 17 15 15 15 13 13 13 12 12 12 12 12 12
1520101 98 89 62 62 62 34 34 34 18 18 18 151912 12 12 12 12 12 8 8 7 0 0 0 0 0 0 0 0 0
1521 6 6 6 0 0 0 0 0 0 0 0 0 15200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1522 0 0 0 0 0 0 0 0 0 0 0 0 15210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1523 0 0 0 0 0 0 0 0 0 0 0 0 15220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1524 0 0 0 0 0 0 0 0 0 0 0 0 15230 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1525 0 0 0 0 0 0 0 0 0 0 0 0 15240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1526 0 0 0 0 0 0 0 0 0 0 0 0 15250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1527 0 0 0 0 0 0 0 0 0 0 0 0 15260 0 0 0 0 0 0 0 0 0 0 0 11 11 11 137 133 100
1528 0 0 0 6 6 6 6 6 6 10 10 10 1527197 193 154 251 251 187 239 239 170 184 179 149 31 33 31 0 0 0
1529 18 18 18 22 22 22 30 30 30 42 42 42 15280 0 0
1530 50 50 50 66 66 66 86 86 86 101 98 89 15290 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1531106 86 58 98 70 6 104 69 6 104 69 6 15300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1532104 69 6 91 60 6 82 62 34 90 90 90 15310 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1533 62 62 62 38 38 38 22 22 22 14 14 14 15320 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1534 10 10 10 10 10 10 10 10 10 10 10 10 15330 0 0 0 0 0 0 0 0 0 0 0 0 0 0 12 12 12
1535 10 10 10 10 10 10 6 6 6 10 10 10 1534110 109 94 110 109 94 105 104 92 90 89 73 72 73 67 58 59 55
1536 10 10 10 10 10 10 10 10 10 14 14 14 153546 47 45 37 39 37 31 33 31 26 28 27 20 24 24 17 21 21
1537 22 22 22 42 42 42 70 70 70 89 81 66 153615 18 18 13 16 16 12 15 15 12 14 14 11 13 13 11 13 13
1538 80 54 7 104 69 6 124 80 6 137 92 6 153710 13 13 10 13 13 10 13 13 10 13 13 10 13 13 10 13 13
1539134 86 6 116 81 8 100 82 52 86 86 86 153810 13 13 10 13 13 11 13 13 11 13 13 11 14 14 11 14 14
1540 58 58 58 30 30 30 14 14 14 6 6 6 153911 14 14 11 14 14 12 14 14 12 15 15 12 15 15 12 15 15
1541 0 0 0 0 0 0 0 0 0 0 0 0 154013 16 16 13 16 16 13 16 16 13 16 16 13 17 17 13 17 17
1542 0 0 0 0 0 0 0 0 0 0 0 0 154114 17 17 14 17 17 14 18 18 23 27 26 41 42 42 41 42 42
1543 0 0 0 0 0 0 0 0 0 0 0 0 154243 45 43 41 42 42 39 40 39 33 36 34 27 29 28 23 24 24
1544 0 0 0 0 0 0 0 0 0 0 0 0 154321 22 21 17 17 17 15 15 15 13 13 13 12 12 12 12 12 12
1545 0 0 0 0 0 0 0 0 0 0 0 0 154412 12 12 12 12 12 6 7 7 0 0 0 0 0 0 0 0 0
1546 0 0 0 0 0 0 0 0 0 0 0 0 15450 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1547 0 0 0 0 0 0 0 0 0 0 0 0 15460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1548 0 0 0 0 0 0 0 0 0 0 0 0 15470 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1549 0 0 0 6 6 6 10 10 10 14 14 14 15480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1550 18 18 18 26 26 26 38 38 38 54 54 54 15490 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1551 70 70 70 86 86 86 94 86 76 89 81 66 15500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1552 89 81 66 86 86 86 74 74 74 50 50 50 15510 0 0 0 0 0 0 0 0 27 29 28 168 163 120 210 208 158
1553 30 30 30 14 14 14 6 6 6 0 0 0 1552251 251 187 251 251 187 210 208 158 137 133 100 1 1 1 0 0 0
1554 0 0 0 0 0 0 0 0 0 0 0 0 15530 0 0
1555 0 0 0 0 0 0 0 0 0 0 0 0 15540 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1556 0 0 0 0 0 0 0 0 0 0 0 0 15550 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1557 6 6 6 18 18 18 34 34 34 58 58 58 15560 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1558 82 82 82 89 81 66 89 81 66 89 81 66 15570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1559 94 86 66 94 86 76 74 74 74 50 50 50 15580 0 0 0 0 0 0 0 0 0 0 0 0 0 0 60 60 56
1560 26 26 26 14 14 14 6 6 6 0 0 0 1559110 109 94 105 104 92 105 104 92 84 83 72 65 66 61 51 52 50
1561 0 0 0 0 0 0 0 0 0 0 0 0 156040 43 41 33 36 34 27 30 29 23 25 24 18 22 22 16 19 19
1562 0 0 0 0 0 0 0 0 0 0 0 0 156114 17 17 12 15 15 11 14 14 11 14 14 10 13 13 10 13 13
1563 0 0 0 0 0 0 0 0 0 0 0 0 156210 13 13 10 12 12 10 12 12 10 12 12 10 12 12 10 12 12
1564 0 0 0 0 0 0 0 0 0 0 0 0 156310 12 12 10 12 12 10 13 13 10 13 13 10 13 13 11 13 13
1565 0 0 0 0 0 0 0 0 0 0 0 0 156411 13 13 11 14 14 11 14 14 11 14 14 11 14 14 12 15 15
1566 0 0 0 0 0 0 0 0 0 0 0 0 156512 15 15 12 15 15 12 15 15 13 16 16 13 16 16 13 16 16
1567 0 0 0 0 0 0 0 0 0 0 0 0 156613 17 17 13 17 17 14 17 17 32 34 33 43 45 43 43 45 43
1568 0 0 0 0 0 0 0 0 0 0 0 0 156743 45 43 43 45 43 39 40 39 33 36 34 27 29 28 23 24 24
1569 0 0 0 0 0 0 0 0 0 0 0 0 156821 22 21 17 17 17 15 15 15 13 13 13 12 12 12 12 12 12
1570 6 6 6 6 6 6 14 14 14 18 18 18 156912 12 12 12 12 12 6 7 7 0 0 0 0 0 0 0 0 0
1571 30 30 30 38 38 38 46 46 46 54 54 54 15700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1572 50 50 50 42 42 42 30 30 30 18 18 18 15710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1573 10 10 10 0 0 0 0 0 0 0 0 0 15720 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1574 0 0 0 0 0 0 0 0 0 0 0 0 15730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1575 0 0 0 0 0 0 0 0 0 0 0 0 15740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1576 0 0 0 0 0 0 0 0 0 0 0 0 15750 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1577 0 0 0 6 6 6 14 14 14 26 26 26 15760 0 0 1 1 1 68 70 65 184 179 149 210 208 158 251 251 187
1578 38 38 38 50 50 50 58 58 58 58 58 58 1577251 251 187 214 212 158 184 179 149 37 39 37 0 0 0 0 0 0
1579 54 54 54 42 42 42 30 30 30 18 18 18 15780 0 0
1580 10 10 10 0 0 0 0 0 0 0 0 0 15790 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1581 0 0 0 0 0 0 0 0 0 0 0 0 15800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1582 0 0 0 0 0 0 0 0 0 0 0 0 15810 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1583 0 0 0 0 0 0 0 0 0 0 0 0 15820 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1584 0 0 0 0 0 0 0 0 0 0 0 0 15830 0 0 0 0 0 0 0 0 0 0 0 6 7 7 105 104 92
1585 0 0 0 0 0 0 0 0 0 0 0 0 1584105 104 92 105 104 92 99 98 80 72 73 67 58 59 55 46 47 45
1586 0 0 0 0 0 0 0 0 0 0 0 0 158535 37 36 30 32 31 25 27 26 20 23 23 16 19 19 14 17 17
1587 0 0 0 0 0 0 0 0 0 0 0 0 158612 15 15 12 14 14 11 13 13 10 13 13 10 12 12 10 12 12
1588 0 0 0 0 0 0 0 0 0 0 0 0 158710 12 12 10 12 12 9 12 12 9 12 12 9 12 12 9 12 12
1589 0 0 0 0 0 0 0 0 0 0 0 0 158810 12 12 10 12 12 10 12 12 10 12 12 10 12 12 10 13 13
1590 0 0 0 0 0 0 0 0 0 6 6 6 158910 13 13 10 13 13 11 13 13 11 13 13 11 14 14 11 14 14
1591 6 6 6 10 10 10 14 14 14 18 18 18 159011 14 14 12 15 15 12 15 15 12 15 15 12 15 15 13 16 16
1592 18 18 18 14 14 14 10 10 10 6 6 6 159113 16 16 13 16 16 17 20 20 41 42 42 46 47 45 46 47 45
1593 0 0 0 0 0 0 0 0 0 0 0 0 159246 47 45 43 45 43 40 41 39 33 36 34 27 29 28 23 24 24
1594 0 0 0 0 0 0 0 0 0 0 0 0 159320 20 20 17 17 17 15 15 15 13 13 13 12 12 12 12 12 12
1595 0 0 0 0 0 0 0 0 0 0 0 0 159412 12 12 12 12 12 4 5 5 0 0 0 0 0 0 0 0 0
1596 0 0 0 0 0 0 0 0 0 0 0 0 15950 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1597 0 0 0 0 0 0 0 0 0 6 6 6 15960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1598 14 14 14 18 18 18 22 22 22 22 22 22 15970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1599 18 18 18 14 14 14 10 10 10 6 6 6 15980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1600 0 0 0 0 0 0 0 0 0 0 0 0 15990 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1601 0 0 0 0 0 0 0 0 0 0 0 0 16000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1602 0 0 0 0 0 0 0 0 0 0 0 0 160115 15 15 110 109 94 197 193 154 214 212 158 251 251 187 251 251 187
1603 0 0 0 0 0 0 0 0 0 0 0 0 1602239 239 170 184 179 149 84 83 72 0 0 0 0 0 0 0 0 0
1604 0 0 0 0 0 0 0 0 0 0 0 0 16030 0 0
16040 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16050 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16060 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16070 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16080 0 0 0 0 0 0 0 0 0 0 0 47 48 46 105 104 92
1609105 104 92 99 98 80 84 83 72 68 70 65 51 52 50 40 43 41
161032 34 33 27 29 28 22 24 23 17 21 21 15 18 18 13 16 16
161112 15 15 11 13 13 10 13 13 10 12 12 9 12 12 9 12 12
16129 12 12 9 12 12 9 11 11 9 11 11 9 11 11 9 11 11
16139 12 12 9 12 12 9 12 12 9 12 12 10 12 12 10 12 12
161410 12 12 10 12 12 10 13 13 10 13 13 10 13 13 11 13 13
161511 14 14 11 14 14 11 14 14 12 14 14 12 15 15 12 15 15
161612 15 15 13 16 16 28 31 30 43 45 43 47 48 46 47 48 46
161747 48 46 43 45 43 40 41 39 33 36 34 27 29 28 22 24 23
161820 20 20 17 17 17 15 15 15 13 13 13 12 12 12 12 12 12
161912 12 12 12 12 12 3 4 4 0 0 0 0 0 0 0 0 0
16200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16230 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16250 0 0 0 0 0 0 0 0 0 0 0 1 1 1 60 60 56
1626177 172 135 197 193 154 251 251 187 251 251 187 251 251 187 251 251 187
1627184 179 149 110 109 94 3 4 4 0 0 0 0 0 0 0 0 0
16280 0 0
16290 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16310 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16320 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16330 0 0 0 0 0 0 0 0 1 1 1 99 98 80 105 104 92
163499 98 80 87 86 72 84 83 72 63 64 60 46 47 45 35 37 36
163530 32 31 25 27 26 18 22 22 16 19 19 14 17 17 12 15 15
163611 14 14 10 13 13 9 12 12 9 12 12 9 11 11 9 11 11
16379 11 11 9 11 11 9 11 11 9 11 11 9 11 11 9 11 11
16389 11 11 9 11 11 9 11 11 9 11 11 9 12 12 9 12 12
16399 12 12 10 12 12 10 12 12 10 12 12 10 13 13 10 13 13
164010 13 13 11 13 13 11 14 14 11 14 14 11 14 14 12 15 15
164112 15 15 14 17 17 41 42 42 47 48 46 49 51 48 51 52 50
164247 48 46 43 45 43 40 41 39 33 36 34 27 29 28 22 24 23
164319 20 19 16 16 16 14 14 13 13 13 13 12 12 12 12 12 12
164412 12 12 12 12 12 2 2 2 0 0 0 0 0 0 0 0 0
16450 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16470 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16490 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16500 0 0 0 0 0 0 0 0 23 24 24 137 133 100 184 179 149
1651210 208 158 251 251 187 251 251 187 251 251 187 251 251 187 184 179 149
1652110 109 94 13 13 13 0 0 0 0 0 0 0 0 0 0 0 0
16530 0 0
16540 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16550 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16560 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16580 0 0 0 0 0 0 0 0 30 32 31 105 104 92 99 98 80
165984 83 72 84 83 72 72 73 67 55 57 54 41 42 42 32 34 33
166027 29 28 20 24 24 17 20 20 14 17 17 13 16 16 12 14 14
166110 13 13 10 12 12 9 11 11 9 11 11 9 11 11 9 11 11
16629 11 11 9 11 11 9 11 11 9 11 11 9 11 11 9 11 11
16639 11 11 9 11 11 9 11 11 9 11 11 9 11 11 9 11 11
16649 11 11 9 12 12 9 12 12 10 12 12 10 12 12 10 12 12
166510 13 13 10 13 13 10 13 13 11 13 13 11 14 14 11 14 14
166611 14 14 27 29 28 55 56 53 72 73 67 51 52 50 51 52 50
166749 51 48 43 45 43 39 40 39 32 34 33 26 28 27 21 22 21
166819 20 19 16 16 16 18 19 17 13 13 13 12 12 12 12 12 12
166912 12 12 12 12 12 1 1 1 0 0 0 0 0 0 0 0 0
16700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16720 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16750 0 0 8 8 7 84 83 72 184 179 149 197 193 154 251 251 187
1676251 251 187 251 251 187 251 251 187 251 251 187 184 179 149 145 141 105
167719 20 19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16780 0 0
16790 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16810 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16820 0 0 14 14 13 0 0 0 0 0 0 0 0 0 0 0 0
16830 0 0 0 0 0 0 0 0 72 73 67 105 104 92 84 83 72
168472 73 67 84 83 72 68 70 65 49 51 48 39 40 39 30 32 31
168525 27 26 18 22 22 15 18 18 13 16 16 12 15 15 11 13 13
168610 12 12 9 11 11 9 11 11 9 11 11 9 11 11 9 11 11
16879 11 11 9 11 11 9 11 11 9 11 11 9 11 11 9 11 11
16889 11 11 9 11 11 9 11 11 9 11 11 9 11 11 9 11 11
16899 11 11 9 11 11 9 11 11 9 12 12 9 12 12 9 12 12
169010 12 12 10 12 12 10 12 12 10 13 13 10 13 13 11 13 13
169113 16 16 41 42 42 99 98 80 158 153 112 65 66 61 51 52 50
169249 51 48 43 45 43 39 40 39 31 33 31 25 27 26 21 22 21
169321 22 21 68 70 65 55 56 53 13 13 13 12 12 12 12 12 12
169412 12 12 11 11 11 0 0 0 0 0 0 0 0 0 0 0 0
16950 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16990 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3
170063 64 60 158 153 112 184 179 149 210 208 158 251 251 187 251 251 187
1701251 251 187 251 251 187 251 251 187 184 179 149 137 133 100 27 29 28
17020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17030 0 0
17040 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17050 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17060 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
170721 22 21 110 109 94 5 6 5 0 0 0 0 0 0 0 0 0
17080 0 0 0 0 0 13 13 13 105 104 92 90 89 73 72 73 67
170968 70 65 84 83 72 63 64 60 46 47 45 35 37 36 27 29 28
171022 24 23 17 20 20 14 17 17 12 15 15 11 14 14 10 12 12
171110 12 12 9 11 11 9 11 11 9 11 11 9 11 11 9 11 11
17129 11 11 8 10 10 8 10 10 8 10 10 8 10 10 8 10 10
17138 10 10 9 11 11 9 11 11 9 11 11 9 11 11 9 11 11
17149 11 11 9 11 11 9 11 11 9 11 11 9 11 11 9 11 11
17159 12 12 9 12 12 10 12 12 10 12 12 10 13 13 10 13 13
171630 32 31 47 48 46 177 172 135 210 208 158 137 133 100 55 56 53
171749 51 48 43 45 43 38 39 37 31 33 31 25 27 26 22 24 23
1718110 109 94 184 179 149 63 64 60 13 13 13 12 12 12 12 12 12
171912 12 12 8 9 9 0 0 0 1 1 1 0 0 0 0 0 0
17200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17230 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17240 0 0 0 0 0 0 0 0 0 0 0 21 22 21 105 104 92
1725184 179 149 210 208 158 251 251 187 251 251 187 251 251 187 251 251 187
1726251 251 187 251 251 187 184 179 149 145 141 105 23 24 24 0 0 0
17270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17280 0 0
17290 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17310 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
173268 70 65 184 179 149 105 104 92 0 0 0 0 0 0 0 0 0
17330 0 0 0 0 0 51 52 50 99 98 80 84 83 72 63 64 60
173468 70 65 72 73 67 55 57 54 41 42 42 32 34 33 25 27 26
173520 23 23 16 19 19 13 16 16 12 14 14 10 13 13 10 12 12
17369 11 11 9 11 11 9 11 11 9 11 11 9 11 11 8 10 10
17378 10 10 8 10 10 8 10 10 8 10 10 8 10 10 8 10 10
17388 10 10 8 10 10 8 10 10 8 10 10 9 11 11 9 11 11
17399 11 11 9 11 11 9 11 11 9 11 11 9 11 11 9 11 11
17409 11 11 9 11 11 9 12 12 9 12 12 10 12 12 17 20 20
174146 47 45 72 73 67 210 208 158 251 251 187 210 208 158 63 64 60
174249 51 48 43 45 43 37 39 37 30 32 31 24 26 24 105 104 92
1743210 208 158 197 193 154 47 48 46 13 13 13 12 12 12 12 12 12
174412 12 12 6 7 7 33 36 34 48 49 45 0 0 0 0 0 0
17450 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17470 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17490 0 0 0 0 0 8 8 7 23 24 24 55 56 53 110 109 94
1750210 208 158 251 251 187 251 251 187 251 251 187 251 251 187 251 251 187
1751251 251 187 184 179 149 110 109 94 20 20 20 0 0 0 0 0 0
17520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17530 0 0
17540 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17550 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17560 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1757110 109 94 251 251 187 210 208 158 47 48 46 0 0 0 0 0 0
17580 0 0 1 1 1 90 89 73 90 89 73 72 73 67 55 56 53
175972 73 67 68 70 65 51 52 50 37 39 37 28 31 30 23 25 24
176017 21 21 15 18 18 12 15 15 11 14 14 10 13 13 9 12 12
17619 11 11 9 11 11 9 11 11 8 10 10 8 10 10 8 10 10
17628 10 10 8 10 10 8 10 10 8 10 10 8 10 10 8 10 10
17638 10 10 8 10 10 8 10 10 8 10 10 8 10 10 8 10 10
17648 10 10 9 11 11 9 11 11 9 11 11 9 11 11 9 11 11
17659 11 11 9 11 11 9 11 11 9 12 12 13 16 16 41 42 42
176649 51 48 110 109 94 251 251 187 251 251 187 251 251 187 105 104 92
176749 51 48 43 45 43 35 37 36 30 31 28 47 48 46 197 193 154
1768251 251 187 197 193 154 31 33 31 12 12 12 12 12 12 12 12 12
176912 12 12 51 52 50 184 179 149 72 73 67 0 0 0 0 0 0
17700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17720 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2
177411 11 11 21 22 21 30 32 31 40 41 39 60 60 56 145 141 105
1775251 251 187 251 251 187 251 251 187 251 251 187 251 251 187 214 212 158
1776184 179 149 110 109 94 13 13 13 0 0 0 0 0 0 0 0 0
17770 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17780 0 0
17790 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17800 0 0 0 0 0 4 5 4 61 61 53 48 49 45 3 4 3
17810 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1782156 151 111 251 251 187 251 251 187 184 179 149 11 11 11 0 0 0
17830 0 0 26 28 27 99 98 80 84 83 72 60 60 56 43 45 43
178472 73 67 65 66 61 49 51 48 35 37 36 27 29 28 20 24 24
178517 20 20 14 17 17 12 15 15 11 13 13 10 12 12 9 11 11
17869 11 11 9 11 11 8 10 10 8 10 10 8 10 10 8 10 10
17878 10 10 8 10 10 8 10 10 8 10 10 8 10 10 8 10 10
17888 10 10 8 10 10 8 10 10 8 10 10 8 10 10 8 10 10
17898 10 10 8 10 10 8 10 10 8 10 10 9 11 11 9 11 11
17909 11 11 9 11 11 9 11 11 11 13 13 37 39 37 47 48 46
179151 52 50 184 179 149 251 251 187 251 251 187 251 251 187 145 141 105
179247 48 46 41 42 42 35 37 36 27 29 28 137 133 100 251 251 187
1793251 251 187 197 193 154 19 20 19 12 12 12 12 12 12 12 12 12
179427 29 28 184 179 149 214 212 158 63 64 60 0 0 0 0 0 0
17950 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17980 0 0 0 0 0 1 1 1 6 7 7 16 16 16 24 26 24
179930 32 31 38 39 37 47 48 46 55 57 54 68 70 65 110 109 94
1800197 193 154 251 251 187 251 251 187 251 251 187 210 208 158 184 179 149
1801105 104 92 8 8 7 0 0 0 0 0 0 0 0 0 0 0 0
18020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18030 0 0
18040 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18050 0 0 0 0 0 0 0 0 65 66 61 184 179 149 156 151 111
180630 32 31 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1807168 163 120 251 251 187 251 251 187 251 251 187 110 109 94 0 0 0
18080 0 0 60 60 56 84 83 72 68 70 65 51 52 50 38 39 37
180984 83 72 63 64 60 43 45 43 33 36 34 25 27 26 20 23 22
181015 18 18 13 16 16 12 14 14 10 13 13 9 12 12 9 11 11
18119 11 11 8 10 10 8 10 10 8 10 10 8 10 10 8 10 10
18128 10 10 8 10 10 8 10 10 8 10 10 8 10 10 8 10 10
18138 10 10 8 10 10 8 10 10 8 10 10 8 10 10 8 10 10
18148 10 10 8 10 10 8 10 10 8 10 10 8 10 10 8 10 10
18159 11 11 9 11 11 10 12 12 33 36 34 46 47 45 51 52 50
181672 73 67 210 208 158 251 251 187 251 251 187 251 251 187 177 172 135
181747 48 46 41 42 42 35 37 36 37 39 37 184 179 149 251 251 187
1818251 251 187 197 193 154 13 13 13 12 12 12 12 12 12 12 12 12
1819110 109 94 251 251 187 251 251 187 37 39 37 0 0 0 0 0 0
18200 0 0 21 22 20 2 2 1 0 0 0 0 0 0 0 0 0
18210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18234 5 5 12 12 12 21 22 21 25 27 26 30 32 31 38 39 37
182446 47 45 55 56 53 60 60 56 65 66 61 68 70 65 105 104 92
1825110 109 94 197 193 154 210 208 158 197 193 154 184 179 149 84 83 72
18262 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18280 0 0
18290 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18300 0 0 0 0 0 0 0 0 13 13 13 184 179 149 251 251 187
1831197 193 154 43 44 41 0 0 0 0 0 0 0 0 0 0 0 0
1832145 141 105 251 251 187 251 251 187 251 251 187 214 212 158 43 45 43
18332 2 2 84 83 72 72 73 67 58 59 55 41 42 42 38 39 37
183472 73 67 58 59 55 41 42 42 31 33 31 25 27 26 18 22 22
183514 17 17 12 15 15 12 14 14 10 12 12 9 12 12 9 11 11
18369 11 11 8 10 10 8 10 10 8 10 10 8 10 10 8 10 10
18378 10 10 8 10 10 8 10 10 8 10 10 8 10 10 8 10 10
18388 10 10 8 10 10 8 10 10 8 10 10 8 10 10 8 10 10
18398 10 10 8 10 10 8 10 10 8 10 10 8 10 10 8 10 10
18408 10 10 9 12 12 31 33 31 43 45 43 49 51 48 55 56 53
1841110 109 94 251 251 187 251 251 187 251 251 187 251 251 187 168 163 120
184247 48 46 41 42 42 33 36 34 63 64 60 197 193 154 251 251 187
1843251 251 187 184 179 149 13 13 13 12 12 12 12 12 12 16 16 16
1844197 193 154 251 251 187 239 239 170 20 20 20 0 0 0 2 2 1
1845108 107 93 110 109 94 0 0 0 0 0 0 0 0 0 0 0 0
18460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18470 0 0 0 0 0 1 1 1 4 5 5 11 11 11 18 19 18
184822 24 23 26 28 27 32 34 33 39 40 39 46 47 45 51 52 50
184955 57 54 60 60 56 63 64 60 63 64 60 63 64 60 58 59 55
185063 64 60 99 98 80 145 141 105 137 133 100 43 45 43 0 0 0
18510 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18530 0 0
18540 0 0 0 0 0 0 0 0 3 4 3 0 0 0 0 0 0
18550 0 0 0 0 0 0 0 0 0 0 0 110 109 94 251 251 187
1856251 251 187 184 179 149 25 27 26 0 0 0 0 0 0 0 0 0
185799 98 80 251 251 187 251 251 187 251 251 187 251 251 187 156 151 111
185825 27 26 84 83 72 65 66 61 47 48 46 32 34 33 39 40 39
185972 73 67 55 57 54 40 41 39 30 32 31 23 25 24 18 22 22
186014 17 17 12 15 15 11 13 13 10 12 12 9 11 11 9 11 11
18619 11 11 8 10 10 8 10 10 8 10 10 8 10 10 8 10 10
18628 10 10 8 10 10 8 10 10 8 10 10 8 10 10 8 10 10
18638 10 10 8 10 10 8 10 10 8 10 10 8 10 10 8 10 10
18648 10 10 8 10 10 8 10 10 8 10 10 8 10 10 8 10 10
18659 11 11 28 31 30 41 42 42 47 48 46 55 56 53 58 59 55
1866137 133 100 251 251 187 251 251 187 251 251 187 210 208 158 137 133 100
186747 48 46 40 41 39 32 34 33 75 75 61 184 179 149 239 239 170
1868251 251 187 177 172 135 13 13 13 12 12 12 12 12 12 43 44 41
1869197 193 154 251 251 187 210 208 158 10 10 9 0 0 0 84 83 72
1870251 251 187 84 83 72 0 0 0 0 0 0 0 0 0 0 0 0
18710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
18726 7 7 11 11 11 17 17 17 20 20 20 23 24 24 27 29 28
187332 34 33 38 39 37 43 45 43 47 48 46 51 52 50 55 56 53
187458 59 55 58 59 55 55 57 54 55 56 53 47 48 46 41 42 42
187535 37 36 31 33 31 47 48 46 14 14 13 0 0 0 0 0 0
18760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18770 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18780 0 0
18790 0 0 0 0 0 0 0 0 66 65 55 99 98 80 20 20 20
18800 0 0 0 0 0 0 0 0 0 0 0 43 45 43 214 212 158
1881251 251 187 251 251 187 145 141 105 3 3 3 0 0 0 0 0 0
188248 49 45 184 179 149 239 239 170 251 251 187 239 239 170 177 172 135
188384 83 72 72 73 67 55 56 53 39 40 39 26 28 27 39 40 39
188468 70 65 51 52 50 39 40 39 28 31 30 22 24 23 17 20 20
188514 17 17 12 14 14 10 13 13 9 11 11 9 11 11 9 11 11
18868 10 10 8 10 10 8 10 10 8 10 10 8 10 10 8 10 10
18878 10 10 8 10 10 8 10 10 8 10 10 8 10 10 8 10 10
18888 10 10 8 10 10 8 10 10 8 10 10 8 10 10 8 10 10
18898 10 10 8 10 10 8 10 10 8 10 10 8 10 10 8 10 10
189027 29 28 40 41 39 46 47 45 51 52 50 55 57 54 63 64 60
1891131 127 93 197 193 154 210 208 158 197 193 154 168 163 120 96 95 69
189247 48 46 40 41 39 32 34 33 71 71 57 145 141 105 184 179 149
1893184 179 149 131 127 93 13 13 13 12 12 12 12 12 12 48 49 45
1894168 163 120 184 179 149 156 151 111 6 7 7 14 14 13 177 172 135
1895239 239 170 40 41 39 0 0 0 0 0 0 0 0 0 0 0 0
18960 0 0 0 0 0 3 3 3 6 7 7 11 11 11 16 16 16
189718 19 18 21 22 21 23 24 24 27 29 28 32 34 33 37 39 37
189841 42 42 43 45 43 47 48 46 51 52 50 51 52 50 51 52 50
189951 52 50 49 51 48 46 47 45 40 41 39 32 34 33 25 27 26
190020 20 20 14 14 13 2 2 2 0 0 0 0 0 0 0 0 0
19010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19030 0 0
19040 0 0 0 0 0 0 0 0 33 36 34 197 193 154 184 179 149
190541 42 42 0 0 0 0 0 0 0 0 0 3 3 3 184 179 149
1906251 251 187 251 251 187 184 179 149 48 49 45 0 0 0 0 0 0
190716 17 12 121 119 87 177 172 135 194 189 146 188 184 146 145 141 105
190882 81 62 63 64 60 46 47 45 31 33 31 21 22 21 35 37 36
190968 70 65 51 52 50 37 39 37 27 30 29 22 24 23 17 20 20
191013 16 16 12 14 14 10 13 13 9 11 11 8 10 10 8 10 10
19118 10 10 8 10 10 8 10 10 8 10 10 8 10 10 8 10 10
19128 10 10 8 10 10 8 10 10 8 10 10 8 10 10 8 10 10
19138 10 10 8 10 10 8 10 10 8 10 10 8 10 10 8 10 10
19148 10 10 8 10 10 8 10 10 8 10 10 8 10 10 25 27 26
191538 39 37 43 45 43 51 52 50 55 56 53 60 60 56 63 64 60
191692 91 72 158 153 112 176 171 126 171 165 117 149 143 98 82 81 62
191744 46 43 38 39 37 30 32 31 71 71 57 131 127 93 160 154 106
1918149 143 98 82 81 62 13 13 13 12 12 12 12 12 12 46 47 43
1919121 119 87 134 131 96 96 95 69 7 7 6 38 39 37 131 127 93
1920145 141 105 12 13 12 0 0 0 1 1 1 3 3 3 6 7 7
192110 10 9 12 12 12 14 14 13 16 16 16 18 19 18 21 22 21
192222 24 23 26 28 27 30 31 28 33 36 34 37 39 37 40 41 39
192341 42 42 43 45 43 46 47 45 46 47 45 46 47 45 43 45 43
192441 42 42 37 39 37 31 33 31 26 28 27 21 22 21 16 16 16
19256 7 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19280 0 0
19290 0 0 0 0 0 0 0 0 0 0 0 177 172 135 251 251 187
1930197 193 154 27 29 28 0 0 0 0 0 0 0 0 0 110 109 94
1931239 239 170 239 239 170 184 179 149 87 86 72 2 2 1 0 0 0
19321 1 1 82 81 62 142 137 94 165 161 109 165 161 109 131 127 93
193375 75 61 55 56 53 37 39 37 25 27 26 19 20 19 32 34 33
193465 66 61 49 51 48 35 37 36 27 29 28 20 23 23 16 19 19
193513 16 16 13 13 13 10 12 12 9 11 11 8 10 10 8 10 10
19368 9 9 8 10 10 8 10 10 8 10 10 8 10 10 8 10 10
19378 10 10 8 10 10 8 10 10 8 10 10 8 10 10 8 10 10
19388 10 10 8 10 10 8 10 10 8 10 10 8 10 10 8 10 10
19398 10 10 8 10 10 8 10 10 8 10 10 22 24 23 35 37 36
194041 42 42 47 48 46 55 56 53 58 59 55 63 64 60 65 66 61
194171 71 57 131 127 93 160 154 106 160 154 106 142 137 94 82 81 62
194246 47 43 40 41 39 33 36 34 66 65 55 125 122 87 149 143 98
1943142 137 94 82 81 62 17 17 17 18 19 17 14 14 13 46 47 43
1944118 116 76 125 122 87 96 95 69 16 17 12 71 71 57 103 101 77
194582 81 62 11 11 11 11 11 11 13 13 13 14 14 13 14 14 13
194615 15 15 16 16 16 17 17 17 19 20 19 21 22 21 23 24 24
194726 28 27 27 29 28 31 33 31 33 36 34 35 37 36 38 39 37
194839 40 39 39 40 39 38 39 37 37 39 37 35 37 36 31 33 31
194927 29 28 24 26 24 21 22 21 17 17 17 12 12 12 2 2 2
19500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19510 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19530 0 0
19540 0 0 0 0 0 0 0 0 0 0 0 68 70 65 251 251 187
1955251 251 187 156 151 111 2 2 1 0 0 0 0 0 0 43 44 41
1956177 172 135 184 179 149 158 153 112 103 101 77 19 20 18 0 0 0
19570 0 0 46 47 43 131 127 93 160 154 106 160 154 106 131 127 93
195871 71 57 43 45 43 30 32 31 21 22 21 16 16 16 26 28 27
195963 64 60 47 48 46 35 37 36 26 28 27 20 23 23 16 19 19
196013 16 16 13 13 13 10 12 12 9 11 11 8 10 10 8 10 10
19617 9 9 7 9 9 8 9 9 8 10 10 8 10 10 8 10 10
19628 10 10 8 10 10 8 10 10 8 10 10 8 10 10 8 10 10
19638 10 10 8 10 10 8 10 10 8 10 10 8 10 10 8 10 10
19648 10 10 8 10 10 8 10 10 20 20 20 33 36 34 40 41 39
196546 47 45 51 52 50 55 57 54 60 60 56 63 64 60 65 66 61
196666 65 55 118 116 76 151 147 98 165 161 109 151 147 98 121 119 87
196796 95 69 96 95 69 96 95 69 103 101 77 142 137 94 151 147 98
1968142 137 94 103 101 77 82 81 62 82 81 62 82 81 62 96 95 69
1969131 127 93 142 137 94 103 101 77 46 47 43 96 95 69 118 116 76
197071 71 57 14 14 13 14 14 13 15 15 15 15 15 15 16 16 16
197116 16 16 17 17 17 18 19 18 20 20 20 21 22 21 23 24 24
197225 27 26 27 29 28 30 31 28 30 32 31 31 33 31 31 33 31
197331 33 31 31 33 31 30 31 28 27 29 28 25 27 26 22 24 23
197420 20 20 16 16 16 13 13 13 6 7 7 0 0 0 0 0 0
19750 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19770 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19780 0 0
197958 59 55 68 70 65 8 8 7 0 0 0 10 10 9 210 208 158
1980251 251 187 184 179 149 38 39 37 0 0 0 0 0 0 8 8 7
1981103 101 77 149 143 98 149 143 98 118 116 76 40 41 39 25 27 25
198253 55 47 82 81 62 144 139 99 165 161 109 165 161 109 142 137 94
198371 71 57 35 37 36 24 26 24 18 19 18 15 15 15 22 24 23
198463 64 60 46 47 45 33 36 34 26 28 27 20 23 22 17 18 17
198512 15 15 11 13 13 10 12 12 9 11 11 8 10 10 8 10 10
19867 9 9 7 9 9 7 9 9 7 9 9 8 9 9 8 10 10
19878 10 10 8 10 10 8 10 10 8 10 10 8 10 10 8 10 10
19888 10 10 8 10 10 8 10 10 8 10 10 8 10 10 8 10 10
19898 10 10 8 10 10 16 16 16 30 31 28 35 37 36 41 42 42
199047 48 46 55 56 53 58 59 55 63 64 60 65 66 61 65 66 61
199161 61 53 103 101 77 151 147 98 171 165 117 171 165 117 168 163 120
1992158 153 112 158 153 112 155 149 109 151 147 98 151 147 98 160 154 106
1993151 147 98 149 143 98 142 137 94 149 143 98 149 143 98 149 143 98
1994155 149 109 151 147 98 131 127 93 103 101 77 125 122 87 118 116 76
199571 71 57 16 16 16 16 16 16 16 16 16 17 17 17 17 17 17
199617 17 17 17 17 17 18 19 18 19 20 19 20 20 20 21 22 21
199723 24 24 24 26 24 25 27 26 26 28 27 26 28 27 26 28 27
199825 27 26 24 26 24 22 24 23 21 22 21 19 20 19 16 16 16
199914 14 13 8 8 7 1 1 1 0 0 0 0 0 0 0 0 0
20000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20030 0 0
200420 20 20 184 179 149 168 163 120 21 22 21 0 0 0 105 104 92
2005177 172 135 145 141 105 71 71 57 0 0 0 0 0 0 0 0 0
200666 65 55 131 127 93 151 147 98 142 137 94 118 116 76 121 119 87
2007145 141 105 158 153 112 176 171 126 178 174 128 176 171 126 149 145 103
200896 95 69 31 33 31 21 22 21 16 16 16 14 14 13 18 19 18
200960 60 56 46 47 45 33 36 34 25 27 26 21 22 21 15 18 18
201012 15 15 11 13 13 9 11 11 8 10 10 8 10 10 8 9 9
20117 9 9 7 9 9 7 9 9 7 9 9 7 9 9 8 9 9
20128 9 9 8 10 10 8 10 10 8 10 10 8 10 10 8 10 10
20138 10 10 8 10 10 8 10 10 8 10 10 8 10 10 8 10 10
20148 10 10 10 12 12 26 28 27 31 33 31 38 39 37 43 45 43
201551 52 50 55 56 53 60 60 56 63 64 60 65 66 61 68 70 65
201663 64 60 96 95 69 158 153 112 178 174 128 188 184 146 194 189 146
2017194 189 146 188 184 146 184 181 136 176 171 126 171 165 117 173 167 111
2018173 167 111 165 161 109 171 165 117 174 170 121 176 171 126 178 174 128
2019178 174 128 174 170 121 160 154 106 149 143 98 149 143 98 125 122 87
202071 71 57 16 16 16 16 16 16 17 17 17 17 17 17 17 17 17
202117 17 17 17 17 17 17 17 17 18 19 18 19 20 19 20 20 20
202221 22 21 21 22 21 21 22 21 22 24 23 21 22 21 21 22 21
202321 22 21 19 20 19 18 19 18 16 16 16 14 14 13 11 11 11
20243 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20280 0 0
20290 0 0 105 104 92 197 193 154 110 109 94 9 9 8 36 38 35
2030121 119 87 131 127 93 96 95 69 18 19 17 30 31 28 66 65 55
203196 95 69 142 137 94 160 154 106 160 154 106 160 154 106 168 163 120
2032184 181 136 194 191 148 197 193 154 197 193 154 194 189 146 168 163 120
2033125 122 87 46 47 43 18 19 18 15 15 15 13 13 13 14 14 13
203455 57 54 43 45 43 32 34 33 25 27 26 18 22 22 17 17 17
203512 14 14 10 12 12 9 11 11 8 10 10 8 9 9 7 9 9
20366 8 8 7 9 9 7 9 9 7 9 9 7 9 9 7 9 9
20377 9 9 8 9 9 8 9 9 8 10 10 8 10 10 8 10 10
20388 10 10 8 10 10 8 10 10 8 10 10 8 10 10 8 10 10
20398 10 10 32 34 33 41 42 42 35 37 36 39 40 39 37 39 37
204035 37 36 55 57 54 60 60 56 63 64 60 65 66 61 65 66 61
204161 63 57 115 113 82 168 163 120 194 191 148 204 201 155 210 208 158
2042210 208 158 210 208 158 197 193 154 194 189 146 186 182 128 176 171 126
2043174 170 121 176 171 126 186 182 128 190 186 136 194 191 148 197 193 154
2044197 193 154 188 184 146 181 176 137 174 170 121 165 161 109 142 137 94
204582 81 62 24 26 24 16 16 16 16 16 16 16 16 16 16 16 16
204617 17 17 17 17 17 17 17 17 17 17 17 18 19 18 19 20 19
204719 20 19 19 20 19 20 20 20 19 20 19 19 20 19 18 19 18
204817 17 17 15 15 15 13 13 13 12 12 12 6 7 7 0 0 0
20490 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20510 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20530 0 0
20540 0 0 17 18 17 137 133 100 115 113 82 53 55 47 19 20 18
2055103 101 77 144 139 99 137 133 100 115 113 82 137 133 100 156 151 111
2056158 153 112 164 159 111 171 165 117 174 170 121 178 174 128 194 189 146
2057204 201 155 214 212 158 214 212 158 214 212 158 210 208 158 188 184 146
2058158 153 112 87 86 72 17 17 17 13 13 13 13 13 13 15 15 15
205955 56 53 43 45 43 32 34 33 24 26 24 17 20 20 16 16 16
206012 14 14 10 12 12 8 10 10 8 10 10 7 9 9 6 8 8
20616 8 8 6 8 8 6 8 8 7 9 9 7 9 9 7 9 9
20627 9 9 7 9 9 7 9 9 7 9 9 8 9 9 8 10 10
20638 10 10 8 10 10 8 10 10 8 10 10 8 10 10 8 10 10
20648 10 10 110 109 94 84 83 72 49 51 48 26 28 27 8 10 10
20658 9 9 51 52 50 58 59 55 63 64 60 63 64 60 63 64 60
206666 65 55 134 131 96 181 176 137 210 208 158 214 212 158 239 239 170
2067239 239 170 224 223 159 210 208 158 204 201 155 194 189 146 186 182 128
2068186 182 128 184 181 136 194 189 146 204 201 155 210 208 158 210 208 158
2069210 208 158 210 208 158 197 193 154 190 186 136 176 171 126 155 149 109
2070118 116 76 36 38 35 15 15 15 16 16 16 16 16 16 16 16 16
207116 16 16 16 16 16 16 16 16 16 16 16 16 16 16 17 17 17
207217 17 17 17 17 17 17 17 17 16 16 16 16 16 16 15 15 15
207313 13 13 12 12 12 8 8 7 2 2 2 0 0 0 0 0 0
20740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20750 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20770 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20780 0 0
20790 0 0 0 0 0 53 55 47 103 101 77 96 95 69 53 55 47
2080103 101 77 158 153 112 177 172 135 184 179 149 188 184 146 197 193 154
2081194 189 146 190 186 136 184 181 136 184 181 136 194 189 146 210 208 158
2082214 212 158 239 239 170 251 251 187 251 251 187 224 223 159 204 201 155
2083177 172 135 121 119 87 30 31 28 13 13 13 12 12 12 39 40 39
208460 60 56 43 45 43 32 34 33 23 25 24 18 19 18 13 16 16
208513 13 13 9 11 11 8 10 10 8 9 9 6 8 8 6 8 8
20866 8 8 6 8 8 6 8 8 6 8 8 6 8 8 7 9 9
20877 9 9 7 9 9 7 9 9 7 9 9 7 9 9 7 9 9
20887 9 9 8 9 9 8 9 9 8 10 10 8 10 10 8 10 10
208914 17 17 197 193 154 158 153 112 55 57 54 7 9 9 7 9 9
20908 10 10 51 52 50 58 59 55 60 60 56 63 64 60 63 64 60
209171 71 57 155 149 109 194 191 148 214 212 158 251 251 187 251 251 187
2092251 251 187 251 251 187 239 239 170 210 208 158 197 193 154 190 186 136
2093190 186 136 194 189 146 204 201 155 210 208 158 224 223 159 239 239 170
2094239 239 170 224 223 159 210 208 158 204 201 155 190 186 136 164 159 111
2095125 122 87 40 41 39 15 15 15 15 15 15 15 15 15 15 15 15
209616 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16
209716 16 16 16 16 16 15 15 15 14 14 13 13 13 13 12 12 12
20988 9 9 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0
20990 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21030 0 0
21040 0 0 0 0 0 21 22 20 96 95 69 125 122 87 121 119 87
2105144 139 99 177 172 135 197 193 154 210 208 158 214 212 158 214 212 158
2106210 208 158 204 201 155 194 191 148 194 189 146 204 201 155 214 212 158
2107239 239 170 251 251 187 251 251 187 251 251 187 251 251 187 214 212 158
2108188 184 146 145 141 105 53 55 47 12 12 12 15 15 15 63 64 60
210963 64 60 41 42 42 31 33 31 23 24 24 17 18 17 12 15 15
211011 13 13 9 11 11 8 9 9 7 9 9 6 8 8 6 8 8
21116 7 7 6 7 7 6 8 8 6 8 8 6 8 8 6 8 8
21126 8 8 7 9 9 7 9 9 7 9 9 7 9 9 7 9 9
21137 9 9 7 9 9 7 9 9 7 9 9 7 9 9 8 8 7
211443 45 43 251 251 187 156 151 111 8 10 10 7 9 9 7 9 9
211521 22 21 51 52 50 55 56 53 55 57 54 58 59 55 58 59 55
211675 75 61 158 153 112 197 193 154 224 223 159 251 251 187 251 251 187
2117251 251 187 251 251 187 251 251 187 214 212 158 204 201 155 194 189 146
2118190 186 136 197 193 154 210 208 158 224 223 159 251 251 187 251 251 187
2119251 251 187 251 251 187 239 239 170 210 208 158 197 193 154 176 171 126
2120125 122 87 36 38 35 14 14 13 14 14 13 15 15 15 15 15 15
212115 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15
212215 15 15 14 14 13 13 13 13 12 12 12 10 10 9 3 4 4
21230 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21280 0 0
21290 0 0 0 0 0 7 7 5 71 71 57 131 127 93 158 153 112
2130177 172 135 197 193 154 214 212 158 239 239 170 251 251 187 251 251 187
2131238 237 168 210 208 158 204 201 155 197 193 154 204 201 155 214 212 158
2132251 251 187 251 251 187 251 251 187 251 251 187 251 251 187 214 212 158
2133197 193 154 156 151 111 66 65 55 12 12 12 37 39 37 58 59 55
213458 59 55 41 42 42 31 33 31 22 24 23 17 17 17 12 14 14
213510 12 12 8 10 10 6 8 8 6 8 8 6 7 7 6 7 7
21366 7 7 5 7 7 6 7 7 6 7 7 6 8 8 6 8 8
21376 8 8 6 8 8 6 8 8 7 9 9 7 9 9 7 9 9
21387 9 9 6 8 8 6 8 8 6 8 8 6 8 8 6 8 8
213961 63 57 197 193 154 16 19 19 6 8 8 6 8 8 8 9 9
214041 42 42 47 48 46 51 52 50 51 52 50 55 56 53 55 56 53
214171 71 57 158 153 112 197 193 154 224 223 159 251 251 187 251 251 187
2142251 251 187 251 251 187 239 239 170 214 212 158 204 201 155 194 189 146
2143190 186 136 197 193 154 210 208 158 239 239 170 251 251 187 251 251 187
2144251 251 187 251 251 187 251 251 187 224 223 159 204 201 155 177 172 135
2145121 119 87 30 31 28 13 13 13 14 14 13 14 14 13 14 14 13
214614 14 13 14 14 13 15 15 15 15 15 15 14 14 13 13 13 13
214712 12 12 12 12 12 10 10 9 4 5 5 0 0 0 0 0 0
21480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21490 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21510 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21530 0 0
21540 0 0 0 0 0 0 0 0 48 49 45 131 127 93 174 170 121
2155194 189 146 210 208 158 239 239 170 251 251 187 251 251 187 251 251 187
2156251 251 187 214 212 158 204 201 155 197 193 154 204 201 155 210 208 158
2157239 239 170 251 251 187 251 251 187 251 251 187 239 239 170 214 212 158
2158194 191 148 156 151 111 71 71 57 19 20 19 51 52 50 51 52 50
215951 52 50 41 42 42 30 32 31 21 22 21 17 17 17 13 13 13
21609 11 11 8 9 9 6 8 8 6 7 7 6 7 7 5 7 7
21615 6 5 5 6 5 5 7 7 5 7 7 6 7 7 6 7 7
21626 8 8 6 8 8 6 8 8 6 7 7 6 7 7 6 7 7
21636 7 7 6 8 8 6 8 8 6 8 8 6 8 8 6 8 8
216455 56 53 43 45 43 6 8 8 6 8 8 6 8 8 47 48 46
216560 60 56 47 48 46 46 47 45 47 48 46 38 39 37 10 12 12
216666 65 55 145 141 105 197 193 154 214 212 158 251 251 187 251 251 187
2167251 251 187 251 251 187 224 223 159 210 208 158 194 191 148 184 181 136
2168184 181 136 194 189 146 204 201 155 224 223 159 251 251 187 251 251 187
2169251 251 187 251 251 187 251 251 187 239 239 170 210 208 158 181 176 137
2170115 113 82 21 22 20 13 13 13 13 13 13 13 13 13 13 13 13
217114 14 13 13 13 13 13 13 13 13 13 13 12 12 12 11 11 11
217210 10 9 6 7 7 1 1 1 0 0 0 0 0 0 0 0 0
21730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21750 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21770 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21780 0 0
21790 0 0 0 0 0 2 2 1 66 65 55 144 139 99 178 174 128
2180204 201 155 214 212 158 251 251 187 251 251 187 251 251 187 251 251 187
2181251 251 187 214 212 158 204 201 155 194 191 148 197 193 154 204 201 155
2182214 212 158 239 239 170 239 239 170 239 239 170 214 212 158 210 208 158
2183184 181 136 149 145 103 66 65 55 41 42 42 47 48 46 46 47 45
218443 45 43 39 40 39 28 31 30 21 22 21 16 16 16 10 12 12
21858 10 10 6 8 8 6 7 7 6 7 7 5 6 5 5 6 5
21865 6 5 5 6 5 5 6 5 5 6 5 5 7 7 5 7 7
21876 7 7 6 7 7 6 7 7 5 7 7 5 7 7 5 7 7
21885 7 7 6 7 7 6 7 7 6 7 7 6 7 7 6 8 8
21896 8 8 6 8 8 6 7 7 6 7 7 46 47 45 156 151 111
2190105 104 92 58 59 55 43 45 43 32 34 33 6 8 8 6 8 8
219149 51 48 125 122 87 181 176 137 204 201 155 214 212 158 239 239 170
2192239 239 170 214 212 158 210 208 158 197 193 154 181 176 137 176 171 126
2193176 171 126 184 181 136 197 193 154 210 208 158 239 239 170 251 251 187
2194251 251 187 251 251 187 251 251 187 251 251 187 210 208 158 177 172 135
219599 98 80 13 13 13 12 12 12 12 12 12 13 13 13 12 12 12
219612 12 12 12 12 12 11 11 11 11 11 11 8 9 9 4 5 5
21971 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21990 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22030 0 0
22040 0 0 0 0 0 1 1 0 61 61 53 142 137 94 181 176 137
2205204 201 155 224 223 159 251 251 187 251 251 187 251 251 187 251 251 187
2206251 251 187 214 212 158 197 193 154 190 186 136 184 181 136 188 184 146
2207197 193 154 204 201 155 210 208 158 210 208 158 204 201 155 194 189 146
2208176 171 126 134 131 96 66 65 55 43 45 43 41 42 42 39 40 39
220935 37 36 33 36 34 27 29 28 20 20 20 15 15 15 9 11 11
22108 9 9 6 7 7 5 6 5 5 6 5 4 5 5 4 5 5
22114 5 5 4 5 5 4 5 5 4 5 5 5 6 5 4 5 5
22124 5 5 5 6 5 4 5 5 5 6 5 5 6 5 5 6 5
22135 7 7 5 7 7 5 7 7 5 7 7 5 7 7 5 7 7
22146 7 7 6 7 7 6 7 7 28 31 30 184 179 149 184 179 149
2215145 141 105 84 83 72 27 29 28 5 7 7 5 6 5 16 16 16
221643 44 41 96 95 69 158 153 112 188 184 146 204 201 155 210 208 158
2217204 201 155 197 193 154 184 179 149 177 172 135 168 163 120 164 159 111
2218164 159 111 174 170 121 184 181 136 197 193 154 214 212 158 251 251 187
2219251 251 187 251 251 187 251 251 187 251 251 187 210 208 158 177 172 135
222071 71 57 11 11 11 12 12 12 11 11 11 11 11 11 11 11 11
222110 10 9 10 10 9 8 8 7 3 4 4 0 0 0 0 0 0
22220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22230 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22280 0 0
22290 0 0 0 0 0 0 0 0 31 33 31 121 119 87 176 171 126
2230197 193 154 214 212 158 251 251 187 251 251 187 251 251 187 251 251 187
2231239 239 170 210 208 158 194 189 146 178 174 128 174 170 121 176 171 126
2232177 172 135 181 176 137 184 179 149 184 179 149 181 176 137 178 174 128
2233158 153 112 121 119 87 53 55 47 37 39 37 33 36 34 30 32 31
223427 29 28 25 27 26 24 26 24 19 20 19 13 13 13 8 10 10
22356 8 8 6 7 7 5 6 5 4 5 5 4 5 5 4 5 5
22364 5 5 4 5 5 4 5 5 3 4 4 3 4 4 4 5 5
22374 5 5 4 5 5 4 5 5 4 5 5 4 5 5 4 5 5
22385 6 5 5 6 5 5 6 5 5 6 5 5 6 5 5 6 5
22395 6 5 5 6 5 12 14 14 145 141 105 184 179 149 177 172 135
224090 89 73 21 22 21 5 6 5 5 6 5 4 5 5 37 39 37
224138 39 37 61 61 53 134 131 96 168 163 120 184 181 136 188 184 146
2242184 179 149 177 172 135 168 163 120 164 159 111 155 149 109 151 147 98
2243151 147 98 164 159 111 176 171 126 184 179 149 210 208 158 239 239 170
2244251 251 187 251 251 187 251 251 187 239 239 170 210 208 158 158 153 112
224546 47 43 10 10 9 10 10 9 10 10 9 8 9 9 8 9 9
22466 7 7 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0
22470 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22490 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22510 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22530 0 0
22540 0 0 0 0 0 0 0 0 13 12 7 82 81 62 158 153 112
2255188 184 146 210 208 158 239 239 170 251 251 187 251 251 187 251 251 187
2256224 223 159 204 201 155 184 181 136 171 165 117 164 159 111 160 154 106
2257158 153 112 164 159 111 168 163 120 168 163 120 168 163 120 164 159 111
2258142 137 94 96 95 69 43 44 41 27 29 28 26 28 27 23 24 24
225921 22 21 18 19 18 17 17 17 18 19 18 13 13 13 8 8 7
22606 7 7 5 6 5 4 5 5 3 4 4 3 4 4 3 4 4
22613 4 4 3 4 4 3 3 3 3 3 3 3 4 4 3 4 4
22623 4 4 3 4 4 4 5 5 4 5 5 4 5 5 4 5 5
22634 5 5 4 5 5 4 5 5 4 5 5 4 5 5 4 5 5
22644 5 5 4 5 5 4 5 5 4 5 5 4 5 5 4 5 5
22654 5 5 4 5 5 4 5 5 4 5 5 31 33 31 65 66 61
226637 39 37 38 39 37 96 95 69 144 139 99 168 163 120 174 170 121
2267168 163 120 164 159 111 155 149 109 149 145 103 149 143 98 142 137 94
2268149 143 98 151 147 98 164 159 111 177 172 135 197 193 154 210 208 158
2269251 251 187 251 251 187 251 251 187 239 239 170 197 193 154 137 133 100
227024 26 24 8 9 9 8 9 9 8 8 7 6 7 7 2 2 2
22710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22720 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22750 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22770 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22780 0 0
22790 0 0 0 0 0 0 0 0 0 0 0 46 47 43 125 122 87
2280176 171 126 197 193 154 210 208 158 239 239 170 251 251 187 239 239 170
2281214 212 158 197 193 154 181 176 137 164 159 111 151 147 98 149 143 98
2282149 143 98 149 143 98 149 145 103 155 149 109 160 154 106 149 143 98
2283118 116 76 82 81 62 30 31 28 21 22 21 19 20 19 17 17 17
228414 14 13 12 12 12 10 10 9 12 12 12 10 12 12 6 8 8
22854 5 5 3 4 4 3 4 4 3 4 4 3 3 3 3 3 3
22863 3 3 3 3 3 3 3 3 3 3 3 2 3 3 2 3 3
22873 4 4 3 4 4 3 4 4 3 4 4 3 4 4 4 5 5
22884 5 5 3 4 4 3 4 4 3 4 4 3 4 4 3 4 4
22894 5 5 4 5 5 4 5 5 4 5 5 4 5 5 4 5 5
22904 5 5 3 4 4 3 4 4 23 24 24 110 109 94 72 73 67
229139 40 39 22 24 23 46 47 43 103 101 77 142 137 94 155 149 109
2292160 154 106 155 149 109 149 143 98 142 137 94 142 137 94 142 137 94
2293142 137 94 149 143 98 155 149 109 176 171 126 184 179 149 210 208 158
2294239 239 170 251 251 187 251 251 187 214 212 158 184 179 149 105 104 92
229510 10 9 6 7 7 3 4 4 1 1 1 0 0 0 0 0 0
22960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22990 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23030 0 0
23040 0 0 0 0 0 0 0 0 0 0 0 12 12 9 82 81 62
2305149 145 103 181 176 137 197 193 154 210 208 158 214 212 158 214 212 158
2306210 208 158 197 193 154 177 172 135 158 153 112 149 143 98 142 137 94
2307142 137 94 142 137 94 149 143 98 151 147 98 151 147 98 131 127 93
2308103 101 77 71 71 57 22 24 23 15 15 15 13 13 13 11 11 11
23098 9 9 6 7 7 6 7 7 4 5 5 8 9 9 6 7 7
23104 5 5 3 3 3 3 3 3 3 3 3 3 3 3 2 2 2
23112 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3
23122 3 3 2 3 3 2 3 3 3 4 4 3 4 4 3 4 4
23133 4 4 3 4 4 3 3 3 3 4 4 3 4 4 3 4 4
23143 4 4 3 4 4 3 4 4 3 4 4 3 4 4 3 4 4
23153 4 4 3 4 4 21 22 21 145 141 105 145 141 105 72 73 67
231617 18 17 3 4 4 21 22 20 66 65 55 118 116 76 142 137 94
2317149 143 98 151 147 98 149 143 98 142 137 94 142 137 94 142 137 94
2318142 137 94 149 143 98 155 149 109 168 163 120 184 179 149 210 208 158
2319239 239 170 251 251 187 251 251 187 210 208 158 177 172 135 71 71 57
23203 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23230 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23280 0 0
23290 0 0 0 0 0 0 0 0 0 0 0 0 0 0 36 38 35
2330115 113 82 158 153 112 181 176 137 197 193 154 204 201 155 210 208 158
2331204 201 155 188 184 146 177 172 135 164 159 111 149 145 103 142 137 94
2332142 137 94 142 137 94 149 143 98 151 147 98 149 143 98 125 122 87
233396 95 69 61 61 53 16 17 12 8 9 9 8 8 7 6 7 7
23344 5 5 3 4 4 3 3 3 3 3 3 3 3 3 5 6 5
23353 4 4 2 3 3 2 2 2 2 2 2 2 2 2 2 2 2
23362 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2
23372 2 2 2 2 2 2 3 3 2 3 3 2 3 3 2 3 3
23383 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
23393 3 3 2 3 3 2 3 3 3 4 4 3 4 4 3 4 4
23403 4 4 3 4 4 3 4 4 8 9 9 8 8 7 3 3 3
23413 3 3 3 3 3 9 9 8 36 38 35 82 81 62 118 116 76
2342142 137 94 151 147 98 151 147 98 151 147 98 149 143 98 149 143 98
2343149 143 98 151 147 98 160 154 106 176 171 126 188 184 146 210 208 158
2344239 239 170 251 251 187 239 239 170 210 208 158 156 151 111 31 33 31
23450 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23470 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23490 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23510 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23530 0 0
23540 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 7 5
235566 65 55 125 122 87 158 153 112 181 176 137 194 189 146 197 193 154
2356197 193 154 184 179 149 177 172 135 168 163 120 156 151 111 151 147 98
2357151 147 98 151 147 98 151 147 98 161 156 96 149 143 98 118 116 76
235882 81 62 53 55 47 12 12 9 4 5 5 3 4 4 3 3 3
23593 3 3 3 3 3 2 2 2 2 2 2 1 1 1 1 2 2
23603 3 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
23611 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 2
23621 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 3 3
23632 3 3 2 3 3 2 3 3 2 3 3 2 2 2 2 2 2
23642 3 3 2 3 3 2 3 3 2 3 3 2 3 3 2 3 3
23652 3 3 2 3 3 2 3 3 2 3 3 2 3 3 3 3 3
23663 3 3 3 3 3 72 73 67 61 61 53 53 55 47 96 95 69
2367131 127 93 151 147 98 161 156 96 161 156 96 151 147 98 151 147 98
2368161 156 96 160 154 106 164 159 111 177 172 135 197 193 154 210 208 158
2369239 239 170 251 251 187 224 223 159 197 193 154 131 127 93 9 9 8
23700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23720 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23750 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23770 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23780 0 0
23790 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
238024 26 24 82 81 62 131 127 93 164 159 111 178 174 128 188 184 146
2381188 184 146 188 184 146 181 176 137 176 171 126 168 163 120 164 159 111
2382160 154 106 160 154 106 160 154 106 160 154 106 151 147 98 125 122 87
238382 81 62 61 61 53 12 12 9 3 3 3 3 3 3 2 2 2
23842 2 2 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0
23850 0 0 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1
23861 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
23871 1 1 1 1 1 1 2 2 1 2 2 1 2 2 1 2 2
23881 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
23892 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
23902 3 3 2 3 3 2 3 3 2 3 3 2 3 3 2 3 3
23912 3 3 30 32 31 72 73 67 31 33 31 36 38 35 82 81 62
2392118 116 76 149 143 98 161 156 96 161 156 96 161 156 96 160 154 106
2393165 161 109 165 161 109 176 171 126 188 184 146 204 201 155 214 212 158
2394239 239 170 239 239 170 214 212 158 184 179 149 82 81 62 0 0 0
23950 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23990 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24030 0 0
24040 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24052 2 2 43 44 41 96 95 69 131 127 93 160 154 106 176 171 126
2406184 181 136 184 181 136 184 181 136 181 176 137 178 174 128 174 170 121
2407171 165 117 173 167 111 173 167 111 173 167 111 160 154 106 131 127 93
240896 95 69 66 65 55 16 17 12 2 2 2 1 1 1 1 1 1
24091 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
24100 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1
24111 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
24121 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
24131 2 2 1 2 2 1 2 2 1 2 2 1 2 2 2 2 2
24142 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
24152 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
24162 2 2 2 2 2 2 2 2 10 9 6 30 31 28 71 71 57
2417118 116 76 149 143 98 165 161 109 165 161 109 165 161 109 173 167 111
2418173 167 111 176 171 126 184 181 136 197 193 154 210 208 158 224 223 159
2419251 251 187 239 239 170 210 208 158 168 163 120 40 41 39 0 0 0
24200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24230 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24280 0 0
24290 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24300 0 0 13 12 7 61 61 53 96 95 69 131 127 93 160 154 106
2431176 171 126 184 181 136 184 181 136 188 184 146 184 181 136 184 181 136
2432184 181 136 186 182 128 186 182 128 178 174 128 174 170 121 149 145 103
2433118 116 76 82 81 62 21 22 20 1 1 1 1 1 1 0 0 0
24340 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24350 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1
24361 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
24371 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
24381 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2
24391 2 2 1 2 2 1 2 2 1 2 2 1 2 2 2 2 2
24402 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
24412 2 2 2 2 2 2 2 2 3 3 3 30 31 28 66 65 55
2442118 116 76 149 143 98 165 161 109 173 167 111 173 167 111 174 170 121
2443186 182 128 190 186 136 197 193 154 210 208 158 224 223 159 251 251 187
2444251 251 187 239 239 170 197 193 154 137 133 100 12 12 9 0 0 0
24450 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24470 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24490 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24510 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24530 0 0
24540 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24550 0 0 0 0 0 30 31 28 71 71 57 103 101 77 134 131 96
2456164 159 111 176 171 126 184 181 136 188 184 146 194 189 146 197 193 154
2457197 193 154 197 193 154 194 191 148 194 189 146 190 186 136 176 171 126
2458145 141 105 103 101 77 40 41 39 0 0 0 0 0 0 0 0 0
24590 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24611 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
24621 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
24631 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
24641 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 2
24651 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2
24661 2 2 1 2 2 1 2 2 1 2 2 30 31 28 71 71 57
2467118 116 76 160 154 106 173 167 111 178 174 128 186 182 128 190 186 136
2468194 191 148 204 201 155 210 208 158 224 223 159 251 251 187 251 251 187
2469251 251 187 214 212 158 184 179 149 84 83 72 0 0 0 0 0 0
24700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24720 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24750 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24770 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24780 0 0
24790 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24800 0 0 0 0 0 5 5 3 43 44 41 82 81 62 103 101 77
2481142 137 94 165 161 109 178 174 128 190 186 136 197 193 154 204 201 155
2482210 208 158 210 208 158 210 208 158 210 208 158 210 208 158 197 193 154
2483177 172 135 145 141 105 79 78 62 5 4 3 0 0 0 0 0 0
24840 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24850 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24860 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1
24871 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
24881 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
24891 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
24901 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
24911 1 1 1 1 1 1 2 2 1 2 2 30 31 28 82 81 62
2492142 137 94 165 161 109 178 174 128 190 186 136 194 191 148 204 201 155
2493210 208 158 214 212 158 239 239 170 251 251 187 251 251 187 251 251 187
2494251 251 187 210 208 158 168 163 120 36 38 35 0 0 0 0 0 0
24950 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24990 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25030 0 0
25040 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25050 0 0 0 0 0 0 0 0 16 17 12 53 55 47 82 81 62
2506118 116 76 151 147 98 171 165 117 184 181 136 194 191 148 210 208 158
2507214 212 158 224 223 159 239 239 170 239 239 170 224 223 159 214 212 158
2508197 193 154 176 171 126 115 113 82 24 26 24 0 0 0 0 0 0
25090 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25110 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1
25121 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
25131 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
25141 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
25151 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
25161 1 1 1 1 1 1 1 1 1 1 1 40 41 39 103 101 77
2517151 147 98 176 171 126 190 186 136 197 193 154 210 208 158 214 212 158
2518239 239 170 251 251 187 251 251 187 251 251 187 251 251 187 251 251 187
2519239 239 170 197 193 154 110 109 94 3 4 3 0 0 0 0 0 0
25200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25230 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25280 0 0
25290 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25300 0 0 0 0 0 0 0 0 0 0 0 30 31 28 66 65 55
253196 95 69 125 122 87 160 154 106 178 174 128 194 189 146 204 201 155
2532214 212 158 239 239 170 251 251 187 251 251 187 251 251 187 239 239 170
2533210 208 158 188 184 146 149 145 103 61 61 53 0 0 0 0 0 0
25340 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25350 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25360 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25370 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
25381 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
25391 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
25401 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
25411 1 1 1 1 1 1 1 1 1 1 1 61 61 53 131 127 93
2542164 159 111 184 181 136 197 193 154 210 208 158 224 223 159 251 251 187
2543251 251 187 251 251 187 251 251 187 251 251 187 251 251 187 251 251 187
2544210 208 158 168 163 120 43 44 41 0 0 0 0 0 0 0 0 0
25450 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25470 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25490 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25510 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25530 0 0
25540 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25550 0 0 0 0 0 0 0 0 0 0 0 4 3 2 36 38 35
255671 71 57 96 95 69 142 137 94 165 161 109 184 181 136 197 193 154
2557210 208 158 239 239 170 251 251 187 251 251 187 251 251 187 251 251 187
2558214 212 158 197 193 154 168 163 120 103 101 77 7 7 5 0 0 0
25590 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25610 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25620 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
25631 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
25641 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
25651 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
25661 1 1 0 0 0 0 0 0 0 0 0 82 81 62 142 137 94
2567174 170 121 194 189 146 210 208 158 224 223 159 251 251 187 251 251 187
2568251 251 187 251 251 187 251 251 187 251 251 187 251 251 187 224 223 159
2569184 179 149 99 98 80 3 3 3 0 0 0 0 0 0 0 0 0
25700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25720 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25750 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25770 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25780 0 0
25790 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 7 5
258143 44 41 82 81 62 118 116 76 142 137 94 171 165 117 190 186 136
2582204 201 155 224 223 159 251 251 187 251 251 187 251 251 187 251 251 187
2583214 212 158 197 193 154 174 170 121 125 122 87 30 31 28 0 0 0
25840 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25850 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25860 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25870 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25880 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
25891 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
25900 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25910 0 0 0 0 0 0 0 0 3 4 3 82 81 62 149 143 98
2592176 171 126 194 191 148 210 208 158 239 239 170 251 251 187 251 251 187
2593251 251 187 251 251 187 251 251 187 251 251 187 239 239 170 204 201 155
2594145 141 105 30 31 28 0 0 0 0 0 0 0 0 0 0 0 0
25950 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25990 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26030 0 0
26040 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26050 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
260610 9 6 46 47 43 82 81 62 118 116 76 149 143 98 174 170 121
2607194 189 146 210 208 158 224 223 159 251 251 187 251 251 187 224 223 159
2608210 208 158 194 191 148 174 170 121 134 131 96 53 55 47 0 0 0
26090 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26110 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26120 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26130 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26140 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26150 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26160 0 0 0 0 0 0 0 0 7 7 5 96 95 69 149 143 98
2617176 171 126 194 191 148 210 208 158 239 239 170 251 251 187 251 251 187
2618251 251 187 251 251 187 251 251 187 239 239 170 210 208 158 177 172 135
261975 75 61 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26230 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26280 0 0
26290 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26310 0 0 10 9 6 46 47 43 82 81 62 118 116 76 149 143 98
2632176 171 126 194 191 148 210 208 158 214 212 158 214 212 158 210 208 158
2633197 193 154 184 181 136 164 159 111 131 127 93 53 55 47 0 0 0
26340 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26350 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26360 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26370 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26380 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26390 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26400 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26410 0 0 0 0 0 0 0 0 7 7 5 96 95 69 149 143 98
2642174 170 121 194 189 146 204 201 155 214 212 158 239 239 170 251 251 187
2643251 251 187 251 251 187 239 239 170 210 208 158 184 179 149 110 109 94
264412 12 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26450 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26470 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26490 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26510 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26530 0 0
26540 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26550 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26560 0 0 0 0 0 10 9 6 43 44 41 82 81 62 115 113 82
2657144 139 99 168 163 120 188 184 146 197 193 154 197 193 154 194 189 146
2658184 181 136 174 170 121 151 147 98 118 116 76 36 38 35 0 0 0
26590 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26610 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26620 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26630 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26640 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26650 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26660 0 0 0 0 0 0 0 0 4 3 2 82 81 62 142 137 94
2667171 165 117 186 182 128 194 191 148 210 208 158 214 212 158 224 223 159
2668239 239 170 224 223 159 210 208 158 184 179 149 137 133 100 36 38 35
26690 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26720 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26750 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26770 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26780 0 0
26790 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26810 0 0 0 0 0 0 0 0 7 7 5 36 38 35 71 71 57
2682103 101 77 131 127 93 155 149 109 168 163 120 168 163 120 168 163 120
2683164 159 111 149 143 98 125 122 87 82 81 62 13 12 7 0 0 0
26840 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26850 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26860 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26870 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26880 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26890 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26900 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26910 0 0 0 0 0 0 0 0 0 0 0 61 61 53 125 122 87
2692160 154 106 174 170 121 184 181 136 194 189 146 204 201 155 210 208 158
2693210 208 158 204 201 155 184 179 149 145 141 105 61 61 53 0 0 0
26940 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26950 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26990 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27030 0 0
27040 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27050 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27060 0 0 0 0 0 0 0 0 0 0 0 3 3 2 30 31 28
270761 61 53 82 81 62 103 101 77 121 119 87 125 122 87 125 122 87
2708118 116 76 103 101 77 79 78 62 24 26 24 0 0 0 0 0 0
27090 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27110 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27120 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27130 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27140 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27150 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27160 0 0 0 0 0 0 0 0 0 0 0 25 27 25 96 95 69
2717142 137 94 160 154 106 171 165 117 178 174 128 184 181 136 184 181 136
2718181 176 137 177 172 135 145 141 105 75 75 61 5 5 3 0 0 0
27190 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27230 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27280 0 0
27290 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27310 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
273216 17 12 40 41 39 61 61 53 71 71 57 71 71 57 71 71 57
273366 65 55 43 44 41 12 12 9 0 0 0 0 0 0 0 0 0
27340 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27350 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27360 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27370 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27380 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27390 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27400 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27410 0 0 0 0 0 0 0 0 0 0 0 1 1 1 46 47 43
274296 95 69 125 122 87 142 137 94 149 145 103 155 149 109 155 149 109
2743145 141 105 121 119 87 66 65 55 7 7 5 0 0 0 0 0 0
27440 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27450 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27470 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27490 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27510 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27530 0 0
27540 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27550 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27560 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27570 0 0 1 1 1 16 17 12 24 26 24 25 27 25 19 20 18
27587 7 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27590 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27610 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27620 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27630 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27640 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27650 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27660 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 1
276725 27 25 61 61 53 82 81 62 96 95 69 96 95 69 82 81 62
276861 61 53 25 27 25 2 2 1 0 0 0 0 0 0 0 0 0
27690 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27720 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27750 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27770 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27780 0 0
27790 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27810 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27820 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27830 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27840 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27850 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27860 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27870 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27880 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27890 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27900 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27910 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27920 0 0 0 0 0 5 6 5 13 12 7 10 9 6 3 4 3
27930 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27940 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27950 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27990 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28030 0 0
28040 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28050 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28060 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28070 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28080 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28090 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28110 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28120 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28130 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28140 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28150 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28160 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28170 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28180 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28190 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28230 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28280 0 0
diff --git a/drivers/video/logo/logo_linux_vga16.ppm b/drivers/video/logo/logo_linux_vga16.ppm
index 1850c15e6feb..12ac3a5454c0 100644
--- a/drivers/video/logo/logo_linux_vga16.ppm
+++ b/drivers/video/logo/logo_linux_vga16.ppm
@@ -1,1604 +1,2739 @@
1P3 1P3
2# Standard 16-color Linux logo 2142 114
380 80
4255 3255
5 0 0 0 0 0 0 0 0 0 0 0 0 40 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
6 0 0 0 0 0 0 0 0 0 0 0 0 50 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
7 0 0 0 0 0 0 0 0 0 0 0 0 60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
8 0 0 0 0 0 0 0 0 0 0 0 0 70 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
9 0 0 0 0 0 0 0 0 0 0 0 0 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
10 0 0 0 0 0 0 0 0 0 0 0 0 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11 0 0 0 0 0 0 0 0 0 0 0 0 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
12 0 0 0 0 0 0 0 0 0 0 0 0 110 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
13 0 0 0 0 0 0 0 0 0 0 0 0 120 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
14 0 0 0 0 0 0 0 0 0 0 0 0 130 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
15 0 0 0 0 0 0 0 0 0 0 0 0 140 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16 0 0 0 0 0 0 0 0 0 0 0 0 150 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17 0 0 0 0 0 0 0 0 0 0 0 0 160 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18 0 0 0 0 0 0 0 0 0 0 0 0 170 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19 0 0 0 0 0 0 0 0 0 0 0 0 180 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20 0 0 0 0 0 0 0 0 0 0 0 0 190 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21 0 0 0 0 0 0 0 0 0 0 0 0 200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22 0 0 0 0 0 0 0 0 0 0 0 0 210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23 0 0 0 0 0 0 0 0 0 0 0 0 220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24 0 0 0 0 0 0 0 0 0 0 0 0 230 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25 0 0 0 0 0 0 0 0 0 0 0 0 240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26 0 0 0 0 0 0 0 0 0 0 0 0 250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27 0 0 0 0 0 0 0 0 0 0 0 0 260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
28 0 0 0 0 0 0 0 0 0 0 0 0 270 0 0 0 0 0 0 0 0 0 0 0
29 0 0 0 0 0 0 0 0 0 0 0 0 280 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
30 0 0 0 0 0 0 0 0 0 0 0 0 290 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
31 0 0 0 0 0 0 0 0 0 0 0 0 300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
32 0 0 0 0 0 0 0 0 0 0 0 0 310 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
33 0 0 0 0 0 0 0 0 0 0 0 0 320 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
34 0 0 0 0 0 0 0 0 0 0 0 0 330 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
35 0 0 0 0 0 0 0 0 0 0 0 0 340 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
36 0 0 0 0 0 0 0 0 0 0 0 0 350 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
37 0 0 0 0 0 0 0 0 0 0 0 0 360 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
38 0 0 0 0 0 0 0 0 0 0 0 0 370 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
39 0 0 0 0 0 0 0 0 0 0 0 0 380 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
40 0 0 0 0 0 0 0 0 0 0 0 0 390 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
41 0 0 0 0 0 0 0 0 0 0 0 0 400 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
42 0 0 0 0 0 0 0 0 0 0 0 0 410 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
43 0 0 0 0 0 0 0 0 0 0 0 0 420 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
44 0 0 0 0 0 0 0 0 0 0 0 0 430 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
45 0 0 0 0 0 0 0 0 0 0 0 0 440 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
46 0 0 0 0 0 0 0 0 0 0 0 0 450 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
47 0 0 0 0 0 0 0 0 0 0 0 0 460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
48 0 0 0 0 0 0 0 0 0 0 0 0 470 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
49 0 0 0 0 0 0 0 0 0 0 0 0 480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
50 0 0 0 0 0 0 0 0 0 0 0 0 490 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
51 0 0 0 0 0 0 0 0 0 0 0 0 500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
52 0 0 0 0 0 0 0 0 0 0 0 0 510 0 0 0 0 0 0 0 0 0 0 0
53 0 0 0 0 0 0 0 0 0 0 0 0 520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
54 85 85 85 85 85 85 85 85 85 85 85 85 530 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
55 85 85 85 85 85 85 85 85 85 0 0 0 540 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
56 0 0 0 0 0 0 0 0 0 0 0 0 550 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
57 0 0 0 0 0 0 0 0 0 0 0 0 560 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
58 0 0 0 0 0 0 0 0 0 0 0 0 570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
59 0 0 0 0 0 0 0 0 0 0 0 0 580 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
60 0 0 0 0 0 0 0 0 0 0 0 0 590 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
61 0 0 0 0 0 0 0 0 0 0 0 0 600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
62 0 0 0 0 0 0 0 0 0 0 0 0 610 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
63 0 0 0 0 0 0 0 0 0 0 0 0 620 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
64 0 0 0 0 0 0 0 0 0 0 0 0 630 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
65 0 0 0 0 0 0 0 0 0 0 0 0 640 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
66 0 0 0 0 0 0 0 0 0 0 0 0 650 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
67 0 0 0 0 0 0 0 0 0 0 0 0 660 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
68 0 0 0 0 0 0 0 0 0 0 0 0 670 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
69 0 0 0 0 0 0 0 0 0 0 0 0 680 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
70 0 0 0 0 0 0 0 0 0 0 0 0 690 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
71 0 0 0 0 0 0 0 0 0 0 0 0 700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
72 0 0 0 0 0 0 0 0 0 0 0 0 710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
73 0 0 0 0 0 0 85 85 85 85 85 85 720 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
74 85 85 85 0 0 0 0 0 0 0 0 0 730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
75 0 0 0 0 0 0 0 0 0 85 85 85 740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
76 85 85 85 85 85 85 0 0 0 0 0 0 750 0 0 0 0 0 0 0 0 0 0 0
77 0 0 0 0 0 0 0 0 0 0 0 0 760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
78 0 0 0 0 0 0 0 0 0 0 0 0 770 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
79 0 0 0 0 0 0 0 0 0 0 0 0 780 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
80 0 0 0 0 0 0 0 0 0 0 0 0 790 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
81 0 0 0 0 0 0 0 0 0 0 0 0 800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
82 0 0 0 0 0 0 0 0 0 0 0 0 810 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
83 0 0 0 0 0 0 0 0 0 0 0 0 820 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
84 0 0 0 0 0 0 0 0 0 0 0 0 830 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
85 0 0 0 0 0 0 0 0 0 0 0 0 840 0 0 0 0 0 85 85 85 0 0 0 85 85 85 0 0 0
86 0 0 0 0 0 0 0 0 0 0 0 0 8585 85 85 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
87 0 0 0 0 0 0 0 0 0 0 0 0 860 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
88 0 0 0 0 0 0 0 0 0 0 0 0 870 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
89 0 0 0 0 0 0 0 0 0 0 0 0 880 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
90 0 0 0 0 0 0 0 0 0 0 0 0 890 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
91 0 0 0 0 0 0 0 0 0 0 0 0 900 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
92 0 0 0 0 0 0 0 0 0 0 0 0 910 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
93 0 0 0 85 85 85 0 0 0 0 0 0 920 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
94 0 0 0 0 0 0 0 0 0 0 0 0 930 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
95 0 0 0 0 0 0 0 0 0 0 0 0 940 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
96 0 0 0 0 0 0 85 85 85 85 85 85 950 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
97 0 0 0 0 0 0 0 0 0 0 0 0 960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
98 0 0 0 0 0 0 0 0 0 0 0 0 970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
99 0 0 0 0 0 0 0 0 0 0 0 0 980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
100 0 0 0 0 0 0 0 0 0 0 0 0 990 0 0 0 0 0 0 0 0 0 0 0
101 0 0 0 0 0 0 0 0 0 0 0 0 1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
102 0 0 0 0 0 0 0 0 0 0 0 0 1010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
103 0 0 0 0 0 0 0 0 0 0 0 0 1020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
104 0 0 0 0 0 0 0 0 0 0 0 0 1030 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
105 0 0 0 0 0 0 0 0 0 0 0 0 1040 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
106 0 0 0 0 0 0 0 0 0 0 0 0 1050 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
107 0 0 0 0 0 0 0 0 0 0 0 0 1060 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
108 0 0 0 0 0 0 0 0 0 0 0 0 1070 0 0 0 0 0 0 0 0 85 85 85 85 85 85 85 85 85
109 0 0 0 0 0 0 0 0 0 0 0 0 10885 85 85 85 85 85 0 0 0 85 85 85 0 0 0 85 85 85
110 0 0 0 0 0 0 0 0 0 0 0 0 1090 0 0 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
111 0 0 0 0 0 0 0 0 0 0 0 0 1100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
112 0 0 0 0 0 0 0 0 0 0 0 0 1110 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
113 85 85 85 0 0 0 0 0 0 0 0 0 1120 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
114 0 0 0 0 0 0 0 0 0 0 0 0 1130 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
115 0 0 0 0 0 0 0 0 0 0 0 0 1140 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
116 0 0 0 0 0 0 0 0 0 85 85 85 1150 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
117 85 85 85 0 0 0 0 0 0 0 0 0 1160 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
118 0 0 0 0 0 0 0 0 0 0 0 0 1170 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
119 0 0 0 0 0 0 0 0 0 0 0 0 1180 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
120 0 0 0 0 0 0 0 0 0 0 0 0 1190 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
121 0 0 0 0 0 0 0 0 0 0 0 0 1200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
122 0 0 0 0 0 0 0 0 0 0 0 0 1210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
123 0 0 0 0 0 0 0 0 0 0 0 0 1220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
124 0 0 0 0 0 0 0 0 0 0 0 0 1230 0 0 0 0 0 0 0 0 0 0 0
125 0 0 0 0 0 0 0 0 0 0 0 0 1240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
126 0 0 0 0 0 0 0 0 0 0 0 0 1250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
127 0 0 0 0 0 0 0 0 0 0 0 0 1260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
128 0 0 0 0 0 0 0 0 0 0 0 0 1270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
129 0 0 0 0 0 0 0 0 0 0 0 0 1280 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
130 0 0 0 0 0 0 0 0 0 0 0 0 1290 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
131 0 0 0 0 0 0 0 0 0 0 0 0 1300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
132 0 0 0 0 0 0 0 0 0 85 85 85 13185 85 85 85 85 85 85 85 85 0 0 0 85 85 85 85 85 85
133 0 0 0 0 0 0 0 0 0 0 0 0 1320 0 0 85 85 85 0 0 0 85 85 85 0 0 0 0 0 0
134 0 0 0 0 0 0 0 0 0 0 0 0 13385 85 85 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
135 0 0 0 0 0 0 0 0 0 0 0 0 1340 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
136 0 0 0 0 0 0 0 0 0 0 0 0 1350 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
137 85 85 85 85 85 85 0 0 0 0 0 0 1360 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
138 0 0 0 0 0 0 0 0 0 0 0 0 1370 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
139 0 0 0 0 0 0 0 0 0 0 0 0 1380 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
140 0 0 0 0 0 0 0 0 0 0 0 0 1390 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
141 0 0 0 0 0 0 0 0 0 0 0 0 1400 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
142 0 0 0 0 0 0 0 0 0 0 0 0 1410 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
143 0 0 0 0 0 0 0 0 0 0 0 0 1420 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
144 0 0 0 0 0 0 0 0 0 0 0 0 1430 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
145 0 0 0 0 0 0 0 0 0 0 0 0 1440 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
146 0 0 0 0 0 0 0 0 0 0 0 0 1450 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
147 0 0 0 0 0 0 0 0 0 0 0 0 1460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
148 0 0 0 0 0 0 0 0 0 0 0 0 1470 0 0 0 0 0 0 0 0 0 0 0
149 0 0 0 0 0 0 0 0 0 0 0 0 1480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
150 0 0 0 0 0 0 0 0 0 0 0 0 1490 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
151 0 0 0 0 0 0 0 0 0 0 0 0 1500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
152 0 0 0 0 0 0 0 0 0 85 85 85 1510 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
153 0 0 0 0 0 0 0 0 0 0 0 0 1520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
154 0 0 0 0 0 0 0 0 0 0 0 0 1530 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
155 0 0 0 0 0 0 0 0 0 0 0 0 1540 0 0 0 0 0 0 0 0 0 0 0 85 85 85 85 85 85
156 85 85 85 170 170 170 0 0 0 0 0 0 15585 85 85 85 85 85 85 85 85 85 85 85 85 85 85 0 0 0
157 0 0 0 85 85 85 0 0 0 0 0 0 15685 85 85 85 85 85 0 0 0 85 85 85 0 0 0 85 85 85
158 0 0 0 0 0 0 0 0 0 0 0 0 1570 0 0 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
159 0 0 0 0 0 0 0 0 0 0 0 0 1580 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
160 0 0 0 0 0 0 0 0 0 0 0 0 1590 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
161 0 0 0 0 0 0 0 0 0 0 0 0 1600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
162 0 0 0 0 0 0 0 0 0 0 0 0 1610 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
163 0 0 0 0 0 0 0 0 0 0 0 0 1620 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
164 0 0 0 0 0 0 0 0 0 0 0 0 1630 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
165 0 0 0 0 0 0 0 0 0 0 0 0 1640 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
166 0 0 0 0 0 0 0 0 0 0 0 0 1650 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
167 0 0 0 0 0 0 0 0 0 0 0 0 1660 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
168 0 0 0 0 0 0 0 0 0 0 0 0 1670 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
169 0 0 0 0 0 0 0 0 0 0 0 0 1680 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
170 0 0 0 0 0 0 0 0 0 0 0 0 1690 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
171 0 0 0 0 0 0 0 0 0 0 0 0 1700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
172 0 0 0 0 0 0 85 85 85 0 0 0 1710 0 0 0 0 0 0 0 0 0 0 0
173 0 0 0 0 0 0 0 0 0 0 0 0 1720 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
174 0 0 0 0 0 0 0 0 0 0 0 0 1730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
175 0 0 0 0 0 0 0 0 0 0 0 0 1740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
176170 170 170 170 170 170 85 85 85 0 0 0 1750 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
177 0 0 0 0 0 0 85 85 85 0 0 0 1760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
178 0 0 0 0 0 0 0 0 0 0 0 0 1770 0 0 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
179 0 0 0 0 0 0 0 0 0 0 0 0 17885 85 85 0 0 0 85 85 85 85 85 85 85 85 85 85 85 85
180 0 0 0 0 0 0 0 0 0 0 0 0 1790 0 0 85 85 85 85 85 85 0 0 0 85 85 85 85 85 85
181 0 0 0 0 0 0 0 0 0 0 0 0 1800 0 0 85 85 85 0 0 0 85 85 85 0 0 0 0 0 0
182 0 0 0 0 0 0 0 0 0 0 0 0 1810 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
183 0 0 0 0 0 0 0 0 0 0 0 0 18285 85 85 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
184 0 0 0 0 0 0 0 0 0 0 0 0 1830 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
185 0 0 0 0 0 0 0 0 0 0 0 0 1840 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
186 0 0 0 0 0 0 0 0 0 0 0 0 1850 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
187 0 0 0 0 0 0 0 0 0 0 0 0 1860 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
188 0 0 0 0 0 0 0 0 0 0 0 0 1870 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
189 0 0 0 0 0 0 0 0 0 0 0 0 1880 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
190 0 0 0 0 0 0 0 0 0 0 0 0 1890 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
191 0 0 0 0 0 0 0 0 0 0 0 0 1900 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
192 0 0 0 0 0 0 85 85 85 0 0 0 1910 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
193 0 0 0 0 0 0 0 0 0 0 0 0 1920 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
194 0 0 0 0 0 0 0 0 0 0 0 0 1930 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
195 0 0 0 0 0 0 0 0 0 0 0 0 1940 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
196 0 0 0 85 85 85 0 0 0 0 0 0 1950 0 0 0 0 0 0 0 0 0 0 0
197 0 0 0 0 0 0 0 0 0 85 85 85 1960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
198 0 0 0 0 0 0 0 0 0 0 0 0 1970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
199 0 0 0 0 0 0 0 0 0 0 0 0 1980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
200 0 0 0 0 0 0 0 0 0 0 0 0 1990 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
201 0 0 0 0 0 0 0 0 0 0 0 0 2000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
202 0 0 0 0 0 0 0 0 0 0 0 0 2010 0 0 0 0 0 0 0 0 0 0 0 85 85 85 85 85 85
203 0 0 0 0 0 0 0 0 0 0 0 0 20285 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85
204 0 0 0 0 0 0 0 0 0 0 0 0 20385 85 85 85 85 85 0 0 0 85 85 85 0 0 0 85 85 85
205 0 0 0 0 0 0 0 0 0 0 0 0 2040 0 0 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
206 0 0 0 0 0 0 0 0 0 0 0 0 2050 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
207 0 0 0 0 0 0 0 0 0 0 0 0 2060 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
208 0 0 0 0 0 0 0 0 0 0 0 0 2070 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
209 0 0 0 0 0 0 0 0 0 0 0 0 2080 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
210 0 0 0 0 0 0 0 0 0 0 0 0 2090 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
211 0 0 0 0 0 0 0 0 0 0 0 0 2100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
212 0 0 0 0 0 0 85 85 85 0 0 0 2110 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
213 0 0 0 0 0 0 0 0 0 0 0 0 2120 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
214 0 0 0 0 0 0 0 0 0 0 0 0 2130 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
215 0 0 0 0 0 0 0 0 0 0 0 0 2140 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
216 0 0 0 0 0 0 0 0 0 0 0 0 2150 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
217 0 0 0 0 0 0 0 0 0 85 85 85 2160 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
218 0 0 0 0 0 0 0 0 0 0 0 0 2170 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
219 0 0 0 0 0 0 0 0 0 0 0 0 2180 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
220 0 0 0 0 0 0 0 0 0 0 0 0 2190 0 0 0 0 0 0 0 0 0 0 0
221 0 0 0 0 0 0 0 0 0 0 0 0 2200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
222 0 0 0 0 0 0 0 0 0 0 0 0 2210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
223 0 0 0 0 0 0 0 0 0 0 0 0 2220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
224 0 0 0 0 0 0 0 0 0 0 0 0 2230 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
225 0 0 0 0 0 0 0 0 0 0 0 0 2240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
226 0 0 0 0 0 0 0 0 0 0 0 0 2250 0 0 0 0 0 0 0 0 0 0 0 85 85 85 170 170 170
227 0 0 0 0 0 0 0 0 0 0 0 0 22685 85 85 85 85 85 85 85 85 85 85 85 0 0 0 85 85 85
228 0 0 0 0 0 0 0 0 0 0 0 0 2270 0 0 85 85 85 85 85 85 0 0 0 85 85 85 0 0 0
229 0 0 0 0 0 0 0 0 0 0 0 0 22885 85 85 0 0 0 85 85 85 0 0 0 0 0 0 85 85 85
230 0 0 0 0 0 0 0 0 0 0 0 0 2290 0 0 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
231 0 0 0 0 0 0 0 0 0 0 0 0 23085 85 85 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
232 0 0 0 85 85 85 0 0 0 0 0 0 23185 85 85 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
233 0 0 0 0 0 0 0 0 0 0 0 0 2320 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
234 0 0 0 0 0 0 0 0 0 0 0 0 2330 0 0 0 0 0 0 0 0 85 85 85 85 85 85 85 85 85
235 0 0 0 0 0 0 0 0 0 0 0 0 2340 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
236 0 0 0 0 0 0 0 0 0 0 0 0 2350 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
237 0 0 0 0 0 0 0 0 0 85 85 85 2360 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
238 0 0 0 0 0 0 0 0 0 0 0 0 2370 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
239 0 0 0 0 0 0 0 0 0 0 0 0 2380 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
240 0 0 0 0 0 0 0 0 0 0 0 0 2390 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
241 0 0 0 0 0 0 0 0 0 0 0 0 2400 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
242 0 0 0 0 0 0 0 0 0 0 0 0 2410 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
243 0 0 0 0 0 0 0 0 0 0 0 0 2420 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
244 0 0 0 0 0 0 0 0 0 0 0 0 2430 0 0 0 0 0 0 0 0 0 0 0
245 0 0 0 0 0 0 0 0 0 0 0 0 2440 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
246 0 0 0 0 0 0 0 0 0 0 0 0 2450 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
247 0 0 0 0 0 0 0 0 0 0 0 0 2460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
248 0 0 0 0 0 0 0 0 0 0 0 0 2470 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
249 0 0 0 0 0 0 0 0 0 0 0 0 2480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
250 0 0 0 0 0 0 0 0 0 0 0 0 2490 0 0 0 0 0 0 0 0 0 0 0 85 85 85 85 85 85
251 0 0 0 0 0 0 0 0 0 0 0 0 25085 85 85 0 0 0 85 85 85 85 85 85 85 85 85 85 85 85
252 0 0 0 85 85 85 0 0 0 0 0 0 2510 0 0 85 85 85 0 0 0 85 85 85 0 0 0 0 0 0
253 0 0 0 0 0 0 0 0 0 0 0 0 2520 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
254 0 0 0 0 0 0 0 0 0 0 0 0 2530 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
255 0 0 0 0 0 0 0 0 0 0 0 0 2540 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
256 0 0 0 0 0 0 0 0 0 0 0 0 2550 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
257 0 0 0 0 0 0 0 0 0 0 0 0 2560 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
258 85 85 85 0 0 0 0 0 0 0 0 0 2570 0 0 85 85 85 170 170 170 170 85 0 170 170 170 85 85 85
259 0 0 0 0 0 0 0 0 0 0 0 0 2580 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
260 0 0 0 0 0 0 0 0 0 0 0 0 2590 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
261 0 0 0 0 0 0 0 0 0 0 0 0 2600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
262 0 0 0 0 0 0 0 0 0 0 0 0 2610 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
263 0 0 0 0 0 0 0 0 0 0 0 0 2620 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
264 0 0 0 0 0 0 0 0 0 0 0 0 2630 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
265 0 0 0 0 0 0 0 0 0 0 0 0 2640 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
266 0 0 0 0 0 0 0 0 0 0 0 0 2650 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
267 0 0 0 0 0 0 0 0 0 0 0 0 2660 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
268 0 0 0 0 0 0 0 0 0 0 0 0 2670 0 0 0 0 0 0 0 0 0 0 0
269 0 0 0 0 0 0 0 0 0 0 0 0 2680 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
270 0 0 0 0 0 0 0 0 0 0 0 0 2690 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
271 0 0 0 0 0 0 0 0 0 0 0 0 2700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
272 0 0 0 85 85 85 0 0 0 0 0 0 2710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
273 0 0 0 0 0 0 0 0 0 0 0 0 2720 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
274 0 0 0 0 0 0 0 0 0 0 0 0 2730 0 0 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
275 0 0 0 0 0 0 0 0 0 0 0 0 27485 85 85 85 85 85 85 85 85 85 85 85 0 0 0 85 85 85
276 0 0 0 0 0 0 0 0 0 0 0 0 2750 0 0 85 85 85 0 0 0 0 0 0 85 85 85 0 0 0
277 0 0 0 0 0 0 0 0 0 0 0 0 27685 85 85 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
278 85 85 85 0 0 0 0 0 0 0 0 0 27785 85 85 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
279 0 0 0 0 0 0 0 0 0 0 0 0 27885 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
280 0 0 0 0 0 0 0 0 0 0 0 0 2790 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
281 0 0 0 0 0 0 0 0 0 0 0 0 2800 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
282 0 0 0 0 0 0 0 0 0 0 0 0 281170 170 170 255 255 85 170 170 170 170 170 170 170 170 170 85 85 85
283 0 0 0 0 0 0 0 0 0 0 0 0 2820 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
284 0 0 0 0 0 0 0 0 0 0 0 0 2830 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
285 0 0 0 0 0 0 0 0 0 0 0 0 2840 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
286 0 0 0 0 0 0 0 0 0 0 0 0 2850 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
287 0 0 0 0 0 0 0 0 0 0 0 0 2860 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
288 0 0 0 0 0 0 0 0 0 0 0 0 2870 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
289 0 0 0 0 0 0 0 0 0 0 0 0 2880 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
290 0 0 0 0 0 0 0 0 0 0 0 0 2890 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
291 0 0 0 0 0 0 0 0 0 0 0 0 2900 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
292 0 0 0 85 85 85 0 0 0 0 0 0 2910 0 0 0 0 0 0 0 0 0 0 0
293 0 0 0 85 85 85 170 170 170 0 0 0 2920 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
294 0 0 0 0 0 0 0 0 0 0 0 0 2930 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
295 0 0 0 0 0 0 170 170 170 170 170 170 2940 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
296170 170 170 0 0 0 0 0 0 0 0 0 2950 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
297 0 0 0 0 0 0 0 0 0 0 0 0 2960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
298 85 85 85 0 0 0 0 0 0 0 0 0 2970 0 0 0 0 0 0 0 0 0 0 0 85 85 85 85 85 85
299 0 0 0 0 0 0 0 0 0 0 0 0 29885 85 85 0 0 0 85 85 85 0 0 0 85 85 85 0 0 0
300 0 0 0 0 0 0 0 0 0 0 0 0 29985 85 85 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
301 0 0 0 0 0 0 0 0 0 0 0 0 3000 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
302 0 0 0 0 0 0 0 0 0 0 0 0 3010 0 0 85 85 85 0 0 0 85 85 85 0 0 0 0 0 0
303 0 0 0 0 0 0 0 0 0 0 0 0 3020 0 0 0 0 0 85 85 85 0 0 0 85 85 85 0 0 0
304 0 0 0 0 0 0 0 0 0 0 0 0 3030 0 0 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
305 0 0 0 0 0 0 0 0 0 0 0 0 3040 0 0 0 0 0 0 0 0 0 0 0 85 85 85 170 170 170
306 0 0 0 0 0 0 0 0 0 0 0 0 305255 255 85 170 170 170 170 170 170 170 85 0 85 255 85 170 85 0
307 0 0 0 0 0 0 0 0 0 0 0 0 3060 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
308 0 0 0 0 0 0 0 0 0 0 0 0 3070 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
309 0 0 0 0 0 0 0 0 0 0 0 0 3080 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
310 0 0 0 0 0 0 0 0 0 0 0 0 3090 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
311 0 0 0 0 0 0 0 0 0 0 0 0 3100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
312 0 0 0 85 85 85 0 0 0 0 0 0 3110 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
313 85 85 85 170 170 170 170 170 170 170 170 170 3120 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
314 0 0 0 0 0 0 0 0 0 0 0 0 3130 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
315 0 0 0 170 170 170 255 255 255 255 255 255 3140 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
316255 255 255 170 170 170 0 0 0 0 0 0 3150 0 0 0 0 0 0 0 0 0 0 0
317 0 0 0 0 0 0 0 0 0 0 0 0 3160 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
318 85 85 85 0 0 0 0 0 0 0 0 0 3170 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
319 0 0 0 0 0 0 0 0 0 0 0 0 3180 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
320 0 0 0 0 0 0 0 0 0 0 0 0 3190 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
321 0 0 0 0 0 0 0 0 0 0 0 0 3200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
322 0 0 0 0 0 0 0 0 0 0 0 0 3210 0 0 0 0 0 0 0 0 85 85 85 0 0 0 85 85 85
323 0 0 0 0 0 0 0 0 0 0 0 0 32285 85 85 85 85 85 85 85 85 85 85 85 0 0 0 85 85 85
324 0 0 0 0 0 0 0 0 0 0 0 0 3230 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
325 0 0 0 0 0 0 0 0 0 0 0 0 3240 0 0 85 85 85 0 0 0 0 0 0 85 85 85 85 85 85
326 0 0 0 0 0 0 0 0 0 0 0 0 3250 0 0 85 85 85 0 0 0 85 85 85 0 0 0 85 85 85
327 0 0 0 0 0 0 0 0 0 0 0 0 3260 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
328 0 0 0 0 0 0 0 0 0 0 0 0 3270 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
329 0 0 0 0 0 0 0 0 0 0 0 0 32885 85 85 0 0 0 0 0 0 85 85 85 170 170 170 170 85 0
330 0 0 0 0 0 0 0 0 0 0 0 0 329170 170 170 170 170 170 255 255 85 170 170 170 170 170 170 85 85 85
331 0 0 0 0 0 0 0 0 0 0 0 0 3300 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
332 0 0 0 85 85 85 0 0 0 85 85 85 3310 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
333170 170 170 170 170 170 255 255 255 255 255 255 3320 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
334 0 0 0 0 0 0 0 0 0 0 0 0 3330 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
335170 170 170 255 255 255 170 170 170 170 170 170 3340 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
336255 255 255 170 170 170 0 0 0 0 0 0 3350 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
337 0 0 0 0 0 0 0 0 0 0 0 0 3360 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
338 85 85 85 0 0 0 0 0 0 0 0 0 3370 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
339 0 0 0 0 0 0 0 0 0 0 0 0 3380 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
340 0 0 0 0 0 0 0 0 0 0 0 0 3390 0 0 0 0 0 0 0 0 0 0 0
341 0 0 0 0 0 0 0 0 0 0 0 0 3400 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
342 0 0 0 0 0 0 0 0 0 0 0 0 3410 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
343 0 0 0 0 0 0 0 0 0 0 0 0 3420 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
344 0 0 0 0 0 0 0 0 0 0 0 0 3430 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
345 0 0 0 0 0 0 0 0 0 0 0 0 3440 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
346 0 0 0 0 0 0 0 0 0 0 0 0 3450 0 0 0 0 0 0 0 0 85 85 85 85 85 85 85 85 85
347 0 0 0 0 0 0 0 0 0 0 0 0 3460 0 0 85 85 85 0 0 0 85 85 85 0 0 0 0 0 0
348 0 0 0 0 0 0 0 0 0 0 0 0 34785 85 85 0 0 0 85 85 85 0 0 0 85 85 85 0 0 0
349 0 0 0 0 0 0 0 0 0 0 0 0 3480 0 0 0 0 0 85 85 85 0 0 0 85 85 85 0 0 0
350 0 0 0 0 0 0 0 0 0 0 0 0 34985 85 85 85 85 85 85 85 85 85 85 85 85 85 85 0 0 0
351 0 0 0 0 0 0 0 0 0 0 0 0 35085 85 85 0 0 0 85 85 85 0 0 0 85 85 85 0 0 0
352 0 0 0 85 85 85 0 0 0 85 85 85 3510 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
353170 170 170 0 0 0 0 0 0 255 255 255 3520 0 0 0 0 0 85 85 85 85 85 85 170 85 0 170 170 170
354 85 85 85 0 0 0 0 0 0 0 0 0 353170 170 170 170 85 0 170 170 170 170 170 170 170 85 0 85 85 85
355255 255 255 170 170 170 0 0 0 85 85 85 3540 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
356170 170 170 255 255 255 170 170 170 0 0 0 3550 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
357 0 0 0 0 0 0 0 0 0 0 0 0 3560 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
358 85 85 85 0 0 0 0 0 0 0 0 0 3570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
359 0 0 0 0 0 0 0 0 0 0 0 0 3580 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
360 0 0 0 0 0 0 0 0 0 0 0 0 3590 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
361 0 0 0 0 0 0 0 0 0 0 0 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
362 0 0 0 0 0 0 0 0 0 0 0 0 3610 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
363 0 0 0 0 0 0 0 0 0 0 0 0 3620 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
364 0 0 0 0 0 0 0 0 0 0 0 0 3630 0 0 0 0 0 0 0 0 0 0 0
365 0 0 0 0 0 0 0 0 0 0 0 0 3640 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
366 0 0 0 0 0 0 0 0 0 0 0 0 3650 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
367 0 0 0 0 0 0 0 0 0 0 0 0 3660 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
368 0 0 0 0 0 0 0 0 0 0 0 0 3670 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
369 0 0 0 0 0 0 0 0 0 0 0 0 3680 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
370 0 0 0 0 0 0 0 0 0 0 0 0 3690 0 0 0 0 0 0 0 0 85 85 85 0 0 0 85 85 85
371 0 0 0 0 0 0 0 0 0 0 0 0 37085 85 85 85 85 85 0 0 0 85 85 85 0 0 0 85 85 85
372 0 0 0 85 85 85 0 0 0 85 85 85 3710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
373 85 85 85 0 0 0 0 0 0 170 170 170 37285 85 85 0 0 0 85 85 85 0 0 0 85 85 85 85 85 85
374 85 85 85 0 0 0 0 0 0 0 0 0 37385 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85
375255 255 255 85 85 85 0 0 0 0 0 0 37485 85 85 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
376 85 85 85 255 255 255 170 170 170 0 0 0 37585 85 85 0 0 0 0 0 0 85 85 85 0 0 0 85 85 85
377 0 0 0 0 0 0 0 0 0 0 0 0 3760 0 0 0 0 0 85 85 85 85 85 85 85 85 85 85 255 85
378 85 85 85 0 0 0 0 0 0 0 0 0 377255 85 85 85 255 85 170 170 170 170 85 0 170 170 170 85 85 85
379 0 0 0 0 0 0 0 0 0 0 0 0 3780 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
380 0 0 0 0 0 0 0 0 0 0 0 0 3790 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
381 0 0 0 0 0 0 0 0 0 0 0 0 3800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
382 0 0 0 0 0 0 0 0 0 0 0 0 3810 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
383 0 0 0 0 0 0 0 0 0 0 0 0 3820 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
384 0 0 0 0 0 0 0 0 0 0 0 0 3830 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
385 0 0 0 0 0 0 0 0 0 0 0 0 3840 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
386 0 0 0 0 0 0 0 0 0 0 0 0 3850 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
387 0 0 0 0 0 0 0 0 0 0 0 0 3860 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
388 0 0 0 0 0 0 0 0 0 0 0 0 3870 0 0 0 0 0 0 0 0 0 0 0
389 0 0 0 0 0 0 0 0 0 0 0 0 3880 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
390 0 0 0 0 0 0 0 0 0 0 0 0 3890 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
391 0 0 0 0 0 0 0 0 0 0 0 0 3900 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
392 0 0 0 85 85 85 0 0 0 85 85 85 3910 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
393170 170 170 0 0 0 0 0 0 170 170 170 3920 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
394 85 85 85 85 85 85 85 85 85 85 85 85 3930 0 0 0 0 0 0 0 0 85 85 85 85 85 85 85 85 85
395255 255 255 85 85 85 0 0 0 0 0 0 3940 0 0 85 85 85 0 0 0 85 85 85 0 0 0 0 0 0
396 85 85 85 255 255 255 170 170 170 0 0 0 3950 0 0 85 85 85 0 0 0 85 85 85 0 0 0 0 0 0
397 0 0 0 0 0 0 0 0 0 0 0 0 3960 0 0 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85
398 85 85 85 0 0 0 0 0 0 0 0 0 39785 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85
399 0 0 0 0 0 0 0 0 0 0 0 0 39885 85 85 85 85 85 85 85 85 0 0 0 85 85 85 0 0 0
400 0 0 0 0 0 0 0 0 0 0 0 0 3990 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
401 0 0 0 0 0 0 0 0 0 0 0 0 4000 0 0 0 0 0 85 85 85 170 85 0 85 85 85 85 85 85
402 0 0 0 0 0 0 0 0 0 0 0 0 401170 170 170 170 85 0 170 170 170 85 85 85 170 85 0 85 85 85
403 0 0 0 0 0 0 0 0 0 0 0 0 4020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
404 0 0 0 0 0 0 0 0 0 0 0 0 4030 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
405 0 0 0 0 0 0 0 0 0 0 0 0 4040 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
406 0 0 0 0 0 0 0 0 0 0 0 0 4050 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
407 0 0 0 0 0 0 0 0 0 0 0 0 4060 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
408 0 0 0 0 0 0 0 0 0 0 0 0 4070 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
409 0 0 0 0 0 0 0 0 0 0 0 0 4080 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
410 0 0 0 0 0 0 0 0 0 0 0 0 4090 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
411 0 0 0 0 0 0 0 0 0 0 0 0 4100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
412 0 0 0 85 85 85 0 0 0 0 0 0 4110 0 0 0 0 0 0 0 0 0 0 0
413255 255 255 0 0 0 0 0 0 170 85 0 4120 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
414255 255 85 170 85 0 255 255 85 170 85 0 4130 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
415255 255 85 170 85 0 0 0 0 0 0 0 4140 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
416 85 85 85 255 255 255 0 0 0 0 0 0 4150 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
417 0 0 0 0 0 0 0 0 0 0 0 0 4160 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
418 85 85 85 0 0 0 0 0 0 0 0 0 4170 0 0 0 0 0 0 0 0 85 85 85 0 0 0 85 85 85
419 0 0 0 0 0 0 0 0 0 0 0 0 41885 85 85 0 0 0 85 85 85 0 0 0 0 0 0 85 85 85
420 0 0 0 0 0 0 0 0 0 0 0 0 4190 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
421 0 0 0 0 0 0 0 0 0 0 0 0 4200 0 0 85 85 85 0 0 0 85 85 85 85 85 85 0 0 0
422 0 0 0 0 0 0 0 0 0 0 0 0 4210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
423 0 0 0 0 0 0 0 0 0 0 0 0 4220 0 0 0 0 0 85 85 85 85 85 85 0 0 0 85 85 85
424 0 0 0 0 0 0 0 0 0 0 0 0 4230 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
425 0 0 0 0 0 0 0 0 0 0 0 0 42485 85 85 0 0 0 0 0 0 85 85 85 85 85 85 170 85 0
426 0 0 0 0 0 0 0 0 0 0 0 0 42585 85 85 85 85 85 170 85 0 85 255 85 85 85 85 85 85 85
427 0 0 0 0 0 0 0 0 0 0 0 0 4260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
428 0 0 0 0 0 0 0 0 0 0 0 0 4270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
429 0 0 0 0 0 0 0 0 0 0 0 0 4280 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
430 0 0 0 0 0 0 0 0 0 0 0 0 4290 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
431 0 0 0 0 0 0 0 0 0 0 0 0 4300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
432 0 0 0 85 85 85 0 0 0 0 0 0 4310 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
433170 170 170 170 170 170 170 85 0 255 255 85 4320 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
434170 85 0 255 255 85 170 85 0 255 255 85 4330 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
435170 85 0 255 255 85 170 85 0 255 255 85 4340 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
436170 170 170 170 170 170 0 0 0 0 0 0 4350 0 0 0 0 0 0 0 0 0 0 0
437 0 0 0 0 0 0 0 0 0 0 0 0 4360 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
438 85 85 85 0 0 0 0 0 0 0 0 0 4370 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
439 0 0 0 0 0 0 0 0 0 0 0 0 4380 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
440 0 0 0 0 0 0 0 0 0 0 0 0 4390 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
441 0 0 0 0 0 0 0 0 0 0 0 0 4400 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
442 0 0 0 0 0 0 0 0 0 0 0 0 4410 0 0 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
443 0 0 0 0 0 0 0 0 0 0 0 0 44285 85 85 85 85 85 0 0 0 85 85 85 0 0 0 0 0 0
444 0 0 0 0 0 0 0 0 0 0 0 0 4430 0 0 85 85 85 0 0 0 85 85 85 0 0 0 85 85 85
445 0 0 0 0 0 0 0 0 0 0 0 0 4440 0 0 85 85 85 85 85 85 85 85 85 0 0 0 0 0 0
446 0 0 0 0 0 0 0 0 0 0 0 0 4450 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
447 0 0 0 0 0 0 0 0 0 0 0 0 4460 0 0 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
448 0 0 0 0 0 0 0 0 0 0 0 0 4470 0 0 85 85 85 0 0 0 0 0 0 85 85 85 0 0 0
449 0 0 0 0 0 0 0 0 0 0 0 0 4480 0 0 0 0 0 0 0 0 85 85 85 0 0 0 85 85 85
450 0 0 0 0 0 0 0 0 0 0 0 0 44985 85 85 85 85 85 85 85 85 85 85 85 170 85 0 0 0 0
451 0 0 0 0 0 0 0 0 0 0 0 0 4500 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
452 0 0 0 85 85 85 0 0 0 0 0 0 4510 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
453 0 0 0 170 85 0 255 255 85 170 85 0 4520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
454255 255 85 170 85 0 255 255 85 170 85 0 4530 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
455255 255 85 170 85 0 255 255 85 170 85 0 4540 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
456255 255 85 170 85 0 0 0 0 0 0 0 4550 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
457 0 0 0 0 0 0 0 0 0 0 0 0 4560 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
458 85 85 85 0 0 0 0 0 0 0 0 0 4570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
459 0 0 0 0 0 0 0 0 0 0 0 0 4580 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
460 0 0 0 0 0 0 0 0 0 0 0 0 4590 0 0 0 0 0 0 0 0 0 0 0
461 0 0 0 0 0 0 0 0 0 0 0 0 4600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
462 0 0 0 0 0 0 0 0 0 0 0 0 4610 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
463 0 0 0 0 0 0 0 0 0 0 0 0 4620 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
464 0 0 0 0 0 0 0 0 0 0 0 0 4630 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
465 0 0 0 0 0 0 0 0 0 0 0 0 4640 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
466 0 0 0 0 0 0 0 0 0 0 0 0 4650 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
467 0 0 0 0 0 0 0 0 0 0 0 0 4660 0 0 85 85 85 0 0 0 0 0 0 0 0 0 85 85 85
468 0 0 0 0 0 0 0 0 0 0 0 0 4670 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
469 0 0 0 0 0 0 0 0 0 0 0 0 46885 85 85 85 85 85 0 0 0 0 0 0 0 0 0 85 85 85
470 0 0 0 0 0 0 0 0 0 0 0 0 4690 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
471 0 0 0 0 0 0 0 0 0 0 0 0 4700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
472 0 0 0 85 85 85 0 0 0 0 0 0 47185 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
473170 85 0 255 255 85 170 85 0 255 255 85 4720 0 0 85 85 85 0 0 0 0 0 0 0 0 0 85 85 85
474170 85 0 255 255 85 170 85 0 255 255 85 47385 85 85 85 85 85 85 85 85 85 85 85 0 0 0 0 0 0
475170 85 0 255 255 85 170 85 0 255 255 85 4740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
476170 85 0 255 255 85 170 85 0 0 0 0 4750 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
477 0 0 0 0 0 0 0 0 0 0 0 0 4760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
478 0 0 0 85 85 85 0 0 0 0 0 0 4770 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
479 0 0 0 0 0 0 0 0 0 0 0 0 4780 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
480 0 0 0 0 0 0 0 0 0 0 0 0 4790 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
481 0 0 0 0 0 0 0 0 0 0 0 0 4800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
482 0 0 0 0 0 0 0 0 0 0 0 0 4810 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
483 0 0 0 0 0 0 0 0 0 0 0 0 4820 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
484 0 0 0 0 0 0 0 0 0 0 0 0 4830 0 0 0 0 0 0 0 0 0 0 0
485 0 0 0 0 0 0 0 0 0 0 0 0 4840 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
486 0 0 0 0 0 0 0 0 0 0 0 0 4850 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
487 0 0 0 0 0 0 0 0 0 0 0 0 4860 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
488 0 0 0 0 0 0 0 0 0 0 0 0 4870 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
489 0 0 0 0 0 0 0 0 0 0 0 0 4880 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
490 0 0 0 0 0 0 0 0 0 0 0 0 4890 0 0 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
491 0 0 0 0 0 0 0 0 0 0 0 0 4900 0 0 0 0 0 85 85 85 0 0 0 85 85 85 0 0 0
492 0 0 0 85 85 85 85 85 85 0 0 0 4910 0 0 85 85 85 0 0 0 85 85 85 0 0 0 85 85 85
493255 255 85 170 85 0 255 255 85 170 85 0 4920 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
494255 255 85 170 85 0 255 255 85 170 85 0 4930 0 0 85 85 85 0 0 0 85 85 85 0 0 0 0 0 0
495255 255 85 170 85 0 255 255 85 170 85 0 4940 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
496255 255 85 170 85 0 170 85 0 0 0 0 4950 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
497 0 0 0 0 0 0 0 0 0 0 0 0 4960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
498 0 0 0 85 85 85 0 0 0 0 0 0 4970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
499 0 0 0 0 0 0 0 0 0 0 0 0 4980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
500 0 0 0 0 0 0 0 0 0 0 0 0 4990 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
501 0 0 0 0 0 0 0 0 0 0 0 0 5000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
502 0 0 0 0 0 0 0 0 0 0 0 0 5010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
503 0 0 0 0 0 0 0 0 0 0 0 0 5020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
504 0 0 0 0 0 0 0 0 0 0 0 0 5030 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
505 0 0 0 0 0 0 0 0 0 0 0 0 5040 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
506 0 0 0 0 0 0 0 0 0 0 0 0 5050 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
507 0 0 0 0 0 0 0 0 0 0 0 0 5060 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
508 0 0 0 0 0 0 0 0 0 0 0 0 5070 0 0 0 0 0 0 0 0 0 0 0
509 0 0 0 0 0 0 0 0 0 0 0 0 5080 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
510 0 0 0 0 0 0 0 0 0 0 0 0 5090 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
511 0 0 0 0 0 0 0 0 0 0 0 0 5100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
512 0 0 0 85 85 85 85 85 85 0 0 0 5110 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
513170 85 0 255 255 85 170 85 0 255 255 85 5120 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
514170 85 0 255 255 85 170 85 0 255 255 85 5130 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
515170 85 0 255 255 85 170 85 0 170 85 0 5140 0 0 85 85 85 0 0 0 0 170 0 85 85 85 0 0 0
516170 85 0 170 85 0 85 85 85 0 0 0 51585 85 85 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
517 0 0 0 85 85 85 0 0 0 0 0 0 5160 0 0 0 0 0 85 85 85 0 0 0 0 0 0 85 85 85
518 0 0 0 0 0 0 85 85 85 0 0 0 5170 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
519 0 0 0 0 0 0 0 0 0 0 0 0 5180 0 0 85 85 85 0 0 0 85 85 85 0 0 0 0 0 0
520 0 0 0 0 0 0 0 0 0 0 0 0 5190 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
521 0 0 0 0 0 0 0 0 0 0 0 0 5200 0 0 0 0 0 85 85 85 0 0 0 85 85 85 0 0 0
522 0 0 0 0 0 0 0 0 0 0 0 0 5210 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
523 0 0 0 0 0 0 0 0 0 0 0 0 5220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
524 0 0 0 0 0 0 0 0 0 0 0 0 5230 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
525 0 0 0 0 0 0 0 0 0 0 0 0 5240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
526 0 0 0 0 0 0 0 0 0 0 0 0 5250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
527 0 0 0 0 0 0 0 0 0 0 0 0 5260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
528 0 0 0 0 0 0 0 0 0 0 0 0 5270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
529 0 0 0 0 0 0 0 0 0 0 0 0 5280 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
530 0 0 0 0 0 0 0 0 0 0 0 0 5290 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
531 0 0 0 0 0 0 0 0 0 0 0 0 5300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
532 0 0 0 85 85 85 85 85 85 0 0 0 5310 0 0 0 0 0 0 0 0 0 0 0
533 85 85 85 170 85 0 255 255 85 170 85 0 5320 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
534255 255 85 170 85 0 255 255 85 170 85 0 5330 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
535170 85 0 170 85 0 170 85 0 170 85 0 5340 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
536170 85 0 170 85 0 85 85 85 0 0 0 5350 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
537 0 0 0 85 85 85 170 170 170 85 85 85 5360 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
538 0 0 0 0 0 0 85 85 85 0 0 0 5370 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
539 0 0 0 0 0 0 0 0 0 0 0 0 538170 85 0 85 255 85 170 85 0 170 85 0 170 85 0 85 255 85
540 0 0 0 0 0 0 0 0 0 0 0 0 539170 85 0 170 85 0 0 170 0 0 0 0 0 0 0 0 0 0
541 0 0 0 0 0 0 0 0 0 0 0 0 54085 85 85 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
542 0 0 0 0 0 0 0 0 0 0 0 0 5410 0 0 85 85 85 0 0 0 85 85 85 0 0 0 0 0 0
543 0 0 0 0 0 0 0 0 0 0 0 0 5420 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
544 0 0 0 0 0 0 0 0 0 0 0 0 54385 85 85 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
545 0 0 0 0 0 0 0 0 0 0 0 0 5440 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
546 0 0 0 0 0 0 0 0 0 0 0 0 54585 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
547 0 0 0 0 0 0 0 0 0 0 0 0 5460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
548 0 0 0 0 0 0 0 0 0 0 0 0 5470 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
549 0 0 0 0 0 0 0 0 0 0 0 0 5480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
550 0 0 0 0 0 0 0 0 0 0 0 0 5490 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
551 0 0 0 0 0 0 0 0 0 0 0 0 5500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
552 0 0 0 85 85 85 85 85 85 0 0 0 5510 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
553 85 85 85 170 85 0 170 85 0 170 85 0 5520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
554170 85 0 170 85 0 170 85 0 170 85 0 5530 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
555170 85 0 170 85 0 170 85 0 170 85 0 5540 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
556170 170 170 170 170 170 170 170 170 0 0 0 5550 0 0 0 0 0 0 0 0 0 0 0
557 0 0 0 0 0 0 170 170 170 170 170 170 5560 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
558 0 0 0 0 0 0 0 0 0 85 85 85 5570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
559 0 0 0 0 0 0 0 0 0 0 0 0 5580 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
560 0 0 0 0 0 0 0 0 0 0 0 0 5590 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
561 0 0 0 0 0 0 0 0 0 0 0 0 5600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
562 0 0 0 0 0 0 0 0 0 0 0 0 5610 0 0 0 0 0 0 0 0 0 0 0 0 170 0 170 85 0
563 0 0 0 0 0 0 0 0 0 0 0 0 562255 255 85 170 85 0 255 255 85 255 255 85 255 255 85 170 85 0
564 0 0 0 0 0 0 0 0 0 0 0 0 563255 255 85 85 255 85 170 85 0 170 85 0 85 85 85 0 0 0
565 0 0 0 0 0 0 0 0 0 0 0 0 5640 0 0 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
566 0 0 0 0 0 0 0 0 0 0 0 0 56585 85 85 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
567 0 0 0 0 0 0 0 0 0 0 0 0 5660 0 0 85 85 85 0 0 0 85 85 85 0 0 0 0 0 0
568 0 0 0 0 0 0 0 0 0 0 0 0 5670 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
569 0 0 0 0 0 0 0 0 0 0 0 0 56885 85 85 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
570 0 0 0 0 0 0 0 0 0 0 0 0 5690 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
571 0 0 0 0 0 0 0 0 0 0 0 0 5700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
572 0 0 0 85 85 85 0 0 0 0 0 0 5710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
573 85 85 85 170 170 170 170 85 0 170 85 0 5720 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
574170 85 0 170 85 0 170 85 0 170 85 0 5730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
575170 85 0 170 85 0 170 170 170 170 170 170 5740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
576170 170 170 170 170 170 170 170 170 85 85 85 5750 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
577 0 0 0 0 0 0 85 85 85 85 85 85 5760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
578 0 0 0 0 0 0 0 0 0 85 85 85 5770 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
579 0 0 0 0 0 0 0 0 0 0 0 0 5780 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
580 0 0 0 0 0 0 0 0 0 0 0 0 5790 0 0 0 0 0 0 0 0 0 0 0
581 0 0 0 0 0 0 0 0 0 0 0 0 5800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
582 0 0 0 0 0 0 0 0 0 0 0 0 5810 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
583 0 0 0 0 0 0 0 0 0 0 0 0 5820 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
584 0 0 0 0 0 0 0 0 0 0 0 0 5830 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
585 0 0 0 0 0 0 0 0 0 0 0 0 5840 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
586 0 0 0 0 0 0 0 0 0 0 0 0 5850 0 0 0 0 0 0 0 0 0 0 0 170 85 0 255 255 85
587 0 0 0 0 0 0 0 0 0 0 0 0 58685 255 85 255 255 85 255 255 85 170 85 0 255 255 85 255 255 85
588 0 0 0 0 0 0 0 0 0 0 0 0 587255 255 85 170 85 0 255 255 85 85 255 85 170 85 0 0 0 0
589 0 0 0 0 0 0 0 0 0 0 0 0 58885 85 85 0 0 0 85 85 85 0 0 0 0 0 0 85 85 85
590 0 0 0 0 0 0 0 0 0 0 0 0 5890 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
591 0 0 0 0 0 0 0 0 0 0 0 0 5900 0 0 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
592 0 0 0 85 85 85 0 0 0 0 0 0 5910 0 0 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
593 85 85 85 170 170 170 170 170 170 170 85 0 5920 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
594170 85 0 170 85 0 170 85 0 170 85 0 5930 0 0 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
595170 170 170 170 170 170 170 170 170 170 170 170 5940 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
596255 255 255 255 255 255 255 255 255 170 170 170 5950 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
597 0 0 0 0 0 0 0 0 0 0 0 0 5960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
598 0 0 0 0 0 0 0 0 0 85 85 85 5970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
599 0 0 0 0 0 0 0 0 0 0 0 0 5980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
600 0 0 0 0 0 0 0 0 0 0 0 0 5990 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
601 0 0 0 0 0 0 0 0 0 0 0 0 6000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
602 0 0 0 0 0 0 0 0 0 0 0 0 6010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
603 0 0 0 0 0 0 0 0 0 0 0 0 6020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
604 0 0 0 0 0 0 0 0 0 0 0 0 6030 0 0 0 0 0 0 0 0 0 0 0
605 0 0 0 0 0 0 0 0 0 0 0 0 6040 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
606 0 0 0 0 0 0 0 0 0 0 0 0 6050 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
607 0 0 0 0 0 0 0 0 0 0 0 0 6060 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
608 0 0 0 0 0 0 0 0 0 0 0 0 6070 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
609 0 0 0 0 0 0 0 0 0 0 0 0 6080 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
610 0 0 0 0 0 0 0 0 0 0 0 0 6090 0 0 0 0 0 0 0 0 85 85 85 255 255 85 170 85 0
611 0 0 0 0 0 0 0 0 0 0 0 0 610255 255 85 255 255 85 255 255 85 255 255 85 255 255 85 170 85 0
612 85 85 85 0 0 0 0 0 0 85 85 85 611255 255 85 255 255 85 255 255 85 255 255 85 170 85 0 85 255 85
613255 255 255 255 255 255 170 170 170 170 170 170 6120 0 0 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
614170 170 170 170 170 170 170 170 170 170 170 170 6130 0 0 85 85 85 0 0 0 85 85 85 170 170 170 0 0 0
615170 170 170 170 170 170 255 255 255 255 255 255 6140 0 0 85 85 85 0 0 0 85 85 85 0 0 0 0 0 0
616255 255 255 255 255 255 255 255 255 255 255 255 61585 85 85 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
617 85 85 85 0 0 0 0 0 0 0 0 0 6160 0 0 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
618 0 0 0 0 0 0 0 0 0 0 0 0 6170 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
619 85 85 85 0 0 0 0 0 0 0 0 0 6180 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
620 0 0 0 0 0 0 0 0 0 0 0 0 6190 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
621 0 0 0 0 0 0 0 0 0 0 0 0 6200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
622 0 0 0 0 0 0 0 0 0 0 0 0 6210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
623 0 0 0 0 0 0 0 0 0 0 0 0 6220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
624 0 0 0 0 0 0 0 0 0 0 0 0 6230 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
625 0 0 0 0 0 0 0 0 0 0 0 0 6240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
626 0 0 0 0 0 0 0 0 0 0 0 0 6250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
627 0 0 0 0 0 0 0 0 0 0 0 0 6260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
628 0 0 0 0 0 0 0 0 0 0 0 0 6270 0 0 0 0 0 0 0 0 0 0 0
629 0 0 0 0 0 0 0 0 0 0 0 0 6280 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
630 0 0 0 0 0 0 0 0 0 0 0 0 6290 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
631 0 0 0 0 0 0 0 0 0 0 0 0 6300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
632 85 85 85 0 0 0 0 0 0 170 170 170 6310 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
633255 255 255 255 255 255 170 170 170 170 170 170 6320 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
634170 170 170 170 170 170 170 170 170 170 170 170 6330 0 0 0 0 0 0 0 0 170 85 0 255 255 85 255 255 85
635170 170 170 255 255 255 255 255 255 255 255 255 634255 255 85 255 255 85 170 85 0 255 255 85 85 255 85 255 255 85
636255 255 255 255 255 255 255 255 255 255 255 255 635255 255 85 170 85 0 255 255 85 170 85 0 255 255 85 170 85 0
637170 170 170 0 0 0 0 0 0 0 0 0 636170 85 0 85 85 85 0 0 0 0 0 0 85 85 85 0 0 0
638 0 0 0 0 0 0 0 0 0 0 0 0 63785 85 85 0 0 0 0 0 0 85 85 85 170 170 170 0 0 0
639 85 85 85 0 0 0 0 0 0 0 0 0 63885 85 85 0 0 0 85 85 85 0 0 0 85 85 85 0 0 0
640 0 0 0 0 0 0 0 0 0 0 0 0 6390 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
641 0 0 0 0 0 0 0 0 0 0 0 0 6400 0 0 85 85 85 0 0 0 0 0 0 0 0 0 85 85 85
642 0 0 0 0 0 0 0 0 0 0 0 0 6410 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
643 0 0 0 0 0 0 0 0 0 0 0 0 6420 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
644 0 0 0 0 0 0 0 0 0 0 0 0 6430 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
645 0 0 0 0 0 0 0 0 0 0 0 0 6440 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
646 0 0 0 0 0 0 0 0 0 0 0 0 6450 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
647 0 0 0 0 0 0 0 0 0 0 0 0 6460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
648 0 0 0 0 0 0 0 0 0 0 0 0 6470 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
649 0 0 0 0 0 0 0 0 0 0 0 0 6480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
650 0 0 0 0 0 0 0 0 0 0 0 0 6490 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
651 0 0 0 0 0 0 0 0 0 85 85 85 6500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
652 0 0 0 0 0 0 85 85 85 255 255 255 6510 0 0 0 0 0 0 0 0 0 0 0
653255 255 255 255 255 255 255 255 255 170 170 170 6520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
654170 170 170 170 170 170 170 170 170 170 170 170 6530 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
655255 255 255 255 255 255 255 255 255 255 255 255 6540 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
656255 255 255 255 255 255 255 255 255 255 255 255 6550 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
657255 255 255 0 0 0 0 0 0 0 0 0 6560 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
658 0 0 0 0 0 0 0 0 0 0 0 0 6570 0 0 0 0 0 170 85 0 255 255 85 85 255 85 255 255 85
659 0 0 0 85 85 85 0 0 0 0 0 0 658170 170 170 255 255 85 255 255 85 255 255 85 255 255 85 255 255 85
660 0 0 0 0 0 0 0 0 0 0 0 0 659255 255 85 255 255 85 85 255 85 255 255 85 255 255 85 255 255 85
661 0 0 0 0 0 0 0 0 0 0 0 0 66085 255 85 0 0 0 85 85 85 0 0 0 85 85 85 0 0 0
662 0 0 0 0 0 0 0 0 0 0 0 0 66185 85 85 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
663 0 0 0 0 0 0 0 0 0 0 0 0 6620 0 0 85 85 85 0 0 0 85 85 85 0 0 0 0 0 0
664 0 0 0 0 0 0 0 0 0 0 0 0 66385 85 85 0 0 0 0 0 0 85 85 85 0 0 0 85 85 85
665 0 0 0 0 0 0 0 0 0 0 0 0 6640 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
666 0 0 0 0 0 0 0 0 0 0 0 0 6650 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
667 0 0 0 0 0 0 0 0 0 0 0 0 6660 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
668 0 0 0 0 0 0 0 0 0 0 0 0 6670 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
669 0 0 0 0 0 0 0 0 0 0 0 0 6680 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
670 0 0 0 0 0 0 0 0 0 0 0 0 6690 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
671 0 0 0 0 0 0 85 85 85 0 0 0 6700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
672 0 0 0 85 85 85 170 170 170 255 255 255 6710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
673255 255 255 255 255 255 255 255 255 255 255 255 6720 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
674255 255 255 255 255 255 255 255 255 255 255 255 6730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
675255 255 255 255 255 255 255 255 255 255 255 255 6740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
676255 255 255 255 255 255 255 255 255 255 255 255 6750 0 0 0 0 0 0 0 0 0 0 0
677255 255 255 85 85 85 0 0 0 0 0 0 6760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
678 0 0 0 0 0 0 0 0 0 0 0 0 6770 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
679 0 0 0 0 0 0 85 85 85 0 0 0 6780 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
680 0 0 0 0 0 0 0 0 0 0 0 0 6790 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
681 0 0 0 0 0 0 0 0 0 0 0 0 6800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
682 0 0 0 0 0 0 0 0 0 0 0 0 6810 0 0 0 0 0 170 85 0 255 255 85 255 255 85 255 255 85
683 0 0 0 0 0 0 0 0 0 0 0 0 682255 255 255 255 255 85 255 255 85 170 85 0 255 255 85 170 85 0
684 0 0 0 0 0 0 0 0 0 0 0 0 683255 255 85 255 255 85 255 255 85 255 255 85 170 85 0 255 255 85
685 0 0 0 0 0 0 0 0 0 0 0 0 684170 85 0 170 85 0 0 170 0 0 0 0 85 85 85 0 0 0
686 0 0 0 0 0 0 0 0 0 0 0 0 68585 85 85 0 0 0 85 85 85 0 0 0 0 0 0 85 85 85
687 0 0 0 0 0 0 0 0 0 0 0 0 6860 0 0 85 85 85 0 0 0 0 0 0 85 85 85 0 0 0
688 0 0 0 0 0 0 0 0 0 0 0 0 6870 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
689 0 0 0 0 0 0 0 0 0 0 0 0 6880 0 0 0 0 0 85 85 85 0 0 0 0 0 0 85 85 85
690 0 0 0 0 0 0 0 0 0 0 0 0 6890 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
691 0 0 0 85 85 85 0 0 0 0 0 0 6900 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
692 0 0 0 85 85 85 255 255 255 255 255 255 6910 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
693255 255 255 255 255 255 255 255 255 255 255 255 6920 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
694255 255 255 255 255 255 255 255 255 255 255 255 6930 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
695255 255 255 255 255 255 255 255 255 255 255 255 6940 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
696255 255 255 255 255 255 255 255 255 255 255 255 6950 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
697255 255 255 170 170 170 0 0 0 0 0 0 6960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
698 0 0 0 0 0 0 0 0 0 0 0 0 6970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
699 0 0 0 0 0 0 0 0 0 85 85 85 6980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
700 0 0 0 0 0 0 0 0 0 0 0 0 6990 0 0 0 0 0 0 0 0 0 0 0
701 0 0 0 0 0 0 0 0 0 0 0 0 7000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
702 0 0 0 0 0 0 0 0 0 0 0 0 7010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
703 0 0 0 0 0 0 0 0 0 0 0 0 7020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
704 0 0 0 0 0 0 0 0 0 0 0 0 7030 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
705 0 0 0 0 0 0 0 0 0 0 0 0 7040 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
706 0 0 0 0 0 0 0 0 0 0 0 0 7050 0 0 170 85 0 85 255 85 255 255 85 170 170 170 255 255 255
707 0 0 0 0 0 0 0 0 0 0 0 0 706255 255 85 255 255 85 255 255 85 255 255 85 255 255 85 255 255 85
708 0 0 0 0 0 0 0 0 0 0 0 0 707255 255 85 255 255 85 170 85 0 255 255 85 85 255 85 255 255 85
709 0 0 0 0 0 0 0 0 0 0 0 0 708255 255 85 85 255 85 0 0 0 85 85 85 0 0 0 85 85 85
710 0 0 0 0 0 0 0 0 0 0 0 0 7090 0 0 85 85 85 0 0 0 85 85 85 85 85 85 0 0 0
711 0 0 0 85 85 85 0 0 0 0 0 0 71085 85 85 0 0 0 85 85 85 0 0 0 85 85 85 0 0 0
712 0 0 0 85 85 85 255 255 255 255 255 255 71185 85 85 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
713255 255 255 255 255 255 255 255 255 255 255 255 71285 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
714255 255 255 255 255 255 255 255 255 255 255 255 7130 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
715255 255 255 255 255 255 255 255 255 255 255 255 7140 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
716255 255 255 255 255 255 255 255 255 255 255 255 7150 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
717255 255 255 255 255 255 0 0 0 0 0 0 7160 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
718 0 0 0 0 0 0 0 0 0 0 0 0 7170 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
719 0 0 0 0 0 0 0 0 0 0 0 0 7180 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
720 85 85 85 0 0 0 0 0 0 0 0 0 7190 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
721 0 0 0 0 0 0 0 0 0 0 0 0 7200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
722 0 0 0 0 0 0 0 0 0 0 0 0 7210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
723 0 0 0 0 0 0 0 0 0 0 0 0 7220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
724 0 0 0 0 0 0 0 0 0 0 0 0 7230 0 0 0 0 0 0 0 0 0 0 0
725 0 0 0 0 0 0 0 0 0 0 0 0 7240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
726 0 0 0 0 0 0 0 0 0 0 0 0 7250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
727 0 0 0 0 0 0 0 0 0 0 0 0 7260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
728 0 0 0 0 0 0 0 0 0 0 0 0 7270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
729 0 0 0 0 0 0 0 0 0 0 0 0 7280 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
730 0 0 0 0 0 0 0 0 0 0 0 0 7290 0 0 255 255 85 255 255 85 255 255 85 255 255 255 255 255 85
731 85 85 85 0 0 0 0 0 0 0 0 0 730255 255 85 255 255 85 85 255 85 255 255 85 255 255 85 85 255 85
732 85 85 85 170 170 170 255 255 255 255 255 255 731255 255 85 255 255 85 255 255 85 255 255 85 255 255 85 170 85 0
733255 255 255 255 255 255 255 255 255 255 255 255 732255 255 85 170 85 0 85 85 85 0 0 0 0 0 0 85 85 85
734255 255 255 255 255 255 255 255 255 255 255 255 7330 0 0 85 85 85 0 0 0 85 85 85 0 0 0 85 85 85
735255 255 255 255 255 255 255 255 255 255 255 255 73485 85 85 0 0 0 85 85 85 85 85 85 0 0 0 85 85 85
736255 255 255 255 255 255 255 255 255 255 255 255 7350 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
737255 255 255 255 255 255 85 85 85 0 0 0 7360 0 0 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
738 0 0 0 0 0 0 0 0 0 0 0 0 73785 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
739 0 0 0 0 0 0 0 0 0 0 0 0 7380 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
740 0 0 0 85 85 85 0 0 0 0 0 0 7390 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
741 0 0 0 0 0 0 0 0 0 0 0 0 7400 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
742 0 0 0 0 0 0 0 0 0 0 0 0 7410 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
743 0 0 0 0 0 0 0 0 0 0 0 0 7420 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
744 0 0 0 0 0 0 0 0 0 0 0 0 7430 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
745 0 0 0 0 0 0 0 0 0 0 0 0 7440 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
746 0 0 0 0 0 0 0 0 0 0 0 0 7450 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
747 0 0 0 0 0 0 0 0 0 0 0 0 7460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
748 0 0 0 0 0 0 0 0 0 0 0 0 7470 0 0 0 0 0 0 0 0 0 0 0
749 0 0 0 0 0 0 0 0 0 0 0 0 7480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
750 0 0 0 0 0 0 0 0 0 85 85 85 7490 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
751 0 0 0 0 0 0 0 0 0 0 0 0 7500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
752 85 85 85 170 170 170 170 170 170 170 170 170 7510 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
753255 255 255 255 255 255 255 255 255 170 170 170 7520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
754170 170 170 170 170 170 255 255 255 255 255 255 753170 85 0 170 85 0 255 255 85 255 255 85 255 255 255 170 170 170
755255 255 255 255 255 255 255 255 255 255 255 255 754255 255 85 255 255 85 255 255 85 255 255 85 255 255 85 255 255 85
756170 170 170 170 170 170 170 170 170 170 170 170 755170 85 0 255 255 85 255 255 85 170 85 0 255 255 85 255 255 85
757170 170 170 170 170 170 170 170 170 85 85 85 756255 255 85 85 255 85 170 85 0 85 85 85 0 0 0 0 0 0
758 0 0 0 0 0 0 0 0 0 0 0 0 75785 85 85 0 0 0 85 85 85 0 0 0 85 85 85 85 85 85
759 0 0 0 0 0 0 0 0 0 0 0 0 75885 85 85 85 85 85 85 85 85 85 85 85 85 85 85 0 0 0
760 0 0 0 85 85 85 0 0 0 0 0 0 75985 85 85 0 0 0 0 0 0 85 85 85 0 0 0 85 85 85
761 0 0 0 0 0 0 0 0 0 0 0 0 7600 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
762 0 0 0 0 0 0 0 0 0 0 0 0 7610 0 0 0 0 0 0 0 0 0 0 0 85 85 85 85 85 85
763 0 0 0 0 0 0 0 0 0 0 0 0 7620 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
764 0 0 0 0 0 0 0 0 0 0 0 0 7630 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
765 0 0 0 0 0 0 0 0 0 0 0 0 7640 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
766 0 0 0 0 0 0 0 0 0 0 0 0 7650 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
767 0 0 0 0 0 0 0 0 0 0 0 0 7660 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
768 0 0 0 0 0 0 0 0 0 0 0 0 7670 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
769 0 0 0 0 0 0 0 0 0 0 0 0 7680 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
770 0 0 0 0 0 0 0 0 0 85 85 85 7690 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
771 0 0 0 0 0 0 0 0 0 0 0 0 7700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
772170 170 170 170 170 170 170 170 170 255 255 255 7710 0 0 0 0 0 0 0 0 0 0 0
773255 255 255 255 255 255 255 255 255 255 255 255 7720 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
774170 170 170 255 255 255 255 255 255 255 255 255 7730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
775255 255 255 255 255 255 255 255 255 255 255 255 7740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
776255 255 255 255 255 255 170 170 170 170 170 170 7750 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
777170 170 170 170 170 170 170 170 170 85 85 85 7760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
778 0 0 0 0 0 0 85 85 85 0 0 0 777255 255 85 85 255 85 255 255 85 170 170 170 255 255 255 255 255 85
779 0 0 0 0 0 0 0 0 0 0 0 0 778255 255 85 255 255 85 170 85 0 255 255 85 255 255 85 255 255 85
780 0 0 0 0 0 0 85 85 85 0 0 0 779255 255 85 255 255 85 255 255 85 255 255 85 85 255 85 170 85 0
781 0 0 0 0 0 0 0 0 0 0 0 0 780255 255 85 170 85 0 170 85 0 0 0 0 85 85 85 0 0 0
782 0 0 0 0 0 0 0 0 0 0 0 0 78185 85 85 85 85 85 85 85 85 170 170 170 170 170 170 170 170 170
783 0 0 0 0 0 0 0 0 0 0 0 0 78285 255 85 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170
784 0 0 0 0 0 0 0 0 0 0 0 0 783170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170
785 0 0 0 0 0 0 0 0 0 0 0 0 784170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170
786 0 0 0 0 0 0 0 0 0 0 0 0 785170 170 170 170 170 170 170 170 170 170 170 170 255 255 85 170 170 170
787 0 0 0 0 0 0 0 0 0 0 0 0 78685 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
788 0 0 0 0 0 0 0 0 0 0 0 0 7870 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
789 0 0 0 0 0 0 0 0 0 0 0 0 7880 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
790 0 0 0 0 0 0 85 85 85 0 0 0 7890 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
791 0 0 0 0 0 0 0 0 0 0 0 0 7900 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
792170 170 170 255 255 255 255 255 255 255 255 255 7910 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
793255 255 255 255 255 255 255 255 255 255 255 255 7920 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
794255 255 255 255 255 255 255 255 255 255 255 255 7930 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
795255 255 255 255 255 255 255 255 255 255 255 255 7940 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
796255 255 255 255 255 255 255 255 255 255 255 255 7950 0 0 0 0 0 0 0 0 0 0 0
797255 255 255 170 170 170 170 170 170 170 170 170 7960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
798 0 0 0 0 0 0 0 0 0 85 85 85 7970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
799 85 85 85 0 0 0 0 0 0 0 0 0 7980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
800 0 0 0 0 0 0 85 85 85 0 0 0 7990 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
801 0 0 0 0 0 0 0 0 0 0 0 0 8000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 170 0
802 0 0 0 0 0 0 0 0 0 0 0 0 801170 85 0 255 255 85 255 255 85 255 255 85 255 255 85 255 255 85
803 0 0 0 0 0 0 0 0 0 0 0 0 802255 255 85 255 255 85 255 255 85 255 255 85 255 255 85 255 255 85
804 0 0 0 0 0 0 0 0 0 0 0 0 803255 255 85 255 255 85 85 255 85 255 255 85 170 85 0 170 85 0
805 0 0 0 0 0 0 0 0 0 0 0 0 804170 85 0 85 255 85 255 255 85 85 85 85 170 170 170 170 170 170
806 0 0 0 0 0 0 0 0 0 0 0 0 805170 170 170 170 170 170 170 170 170 85 255 85 170 170 170 170 170 170
807 0 0 0 0 0 0 0 0 0 0 0 0 80685 85 85 170 170 170 170 170 170 170 85 0 170 170 170 170 170 170
808 0 0 0 0 0 0 0 0 0 0 0 0 80785 255 85 170 170 170 170 85 0 170 170 170 85 255 85 255 85 85
809 0 0 0 0 0 0 0 0 0 0 0 0 80885 255 85 170 170 170 255 255 85 85 85 85 255 255 85 170 170 170
810 0 0 0 0 0 0 85 85 85 0 0 0 80985 255 85 170 170 170 255 255 85 170 170 170 170 170 170 85 85 85
811 85 85 85 0 0 0 0 0 0 85 85 85 8100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
812255 255 255 255 255 255 255 255 255 255 255 255 8110 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
813255 255 255 255 255 255 255 255 255 255 255 255 8120 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
814255 255 255 255 255 255 255 255 255 255 255 255 8130 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
815255 255 255 255 255 255 255 255 255 255 255 255 8140 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
816255 255 255 255 255 255 255 255 255 255 255 255 8150 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
817255 255 255 255 255 255 170 170 170 170 170 170 8160 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
818 85 85 85 0 0 0 0 0 0 0 0 0 8170 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
819 0 0 0 85 85 85 0 0 0 0 0 0 8180 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
820 0 0 0 0 0 0 0 0 0 85 85 85 8190 0 0 0 0 0 0 0 0 0 0 0
821 0 0 0 0 0 0 0 0 0 0 0 0 8200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
822 0 0 0 0 0 0 0 0 0 0 0 0 8210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
823 0 0 0 0 0 0 0 0 0 0 0 0 8220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
824 0 0 0 0 0 0 0 0 0 0 0 0 8230 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
825 0 0 0 0 0 0 0 0 0 0 0 0 8240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 85
826 0 0 0 0 0 0 0 0 0 0 0 0 825255 255 85 255 255 85 255 255 85 255 255 255 255 255 85 255 255 85
827 0 0 0 0 0 0 0 0 0 0 0 0 826255 255 85 255 255 85 255 255 85 255 255 85 255 255 85 170 85 0
828 0 0 0 0 0 0 0 0 0 0 0 0 827255 255 85 255 255 85 255 255 85 170 85 0 0 170 0 85 85 85
829 0 0 0 0 0 0 0 0 0 0 0 0 828170 170 170 170 170 170 255 255 85 170 170 170 170 170 170 85 255 85
830 0 0 0 85 85 85 0 0 0 0 0 0 829255 85 85 85 255 85 85 85 85 255 85 85 85 85 85 170 170 170
831 85 85 85 0 0 0 0 0 0 170 170 170 830170 85 0 170 170 170 85 85 85 85 255 85 85 85 85 85 85 85
832255 255 255 255 255 255 255 255 255 255 255 255 83185 85 85 0 0 0 85 85 85 0 0 0 85 85 85 0 0 0
833255 255 255 255 255 255 255 255 255 255 255 255 8320 0 0 0 0 0 85 85 85 0 0 0 85 85 85 0 0 0
834255 255 255 255 255 255 255 255 255 255 255 255 833170 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
835255 255 255 255 255 255 255 255 255 255 255 255 8340 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
836255 255 255 255 255 255 255 255 255 255 255 255 8350 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
837255 255 255 255 255 255 255 255 255 255 255 255 8360 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
838170 170 170 85 85 85 0 0 0 0 0 0 8370 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
839 0 0 0 85 85 85 85 85 85 0 0 0 8380 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
840 0 0 0 0 0 0 0 0 0 85 85 85 8390 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
841 0 0 0 0 0 0 0 0 0 0 0 0 8400 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
842 0 0 0 0 0 0 0 0 0 0 0 0 8410 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
843 0 0 0 0 0 0 0 0 0 0 0 0 8420 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
844 0 0 0 0 0 0 0 0 0 0 0 0 8430 0 0 0 0 0 0 0 0 0 0 0
845 0 0 0 0 0 0 0 0 0 0 0 0 8440 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
846 0 0 0 0 0 0 0 0 0 0 0 0 8450 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
847 0 0 0 0 0 0 0 0 0 0 0 0 8460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
848 0 0 0 0 0 0 0 0 0 0 0 0 8470 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
849 0 0 0 0 0 0 0 0 0 0 0 0 8480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 85
850 0 0 0 85 85 85 0 0 0 85 85 85 849170 85 0 255 255 85 255 255 85 255 255 85 255 255 85 255 255 85
851 0 0 0 0 0 0 85 85 85 255 255 255 850255 255 85 255 255 85 255 255 85 255 255 85 255 255 85 255 255 85
852255 255 255 255 255 255 255 255 255 255 255 255 851255 255 85 255 255 85 170 85 0 255 255 85 85 85 85 85 85 85
853255 255 255 255 255 255 255 255 255 255 255 255 852255 255 85 170 170 170 85 85 85 85 85 85 0 0 0 85 85 85
854255 255 255 255 255 255 255 255 255 255 255 255 8530 0 0 85 85 85 85 85 85 170 170 170 170 85 0 170 170 170
855255 255 255 255 255 255 255 255 255 255 255 255 854170 170 170 255 255 85 170 170 170 85 85 85 85 85 85 85 85 85
856255 255 255 255 255 255 255 255 255 255 255 255 8550 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
857255 255 255 255 255 255 255 255 255 255 255 255 85685 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
858255 255 255 170 170 170 0 0 0 85 85 85 8570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
859 85 85 85 0 0 0 85 85 85 0 0 0 8580 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
860 0 0 0 0 0 0 0 0 0 85 85 85 8590 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
861 0 0 0 0 0 0 0 0 0 0 0 0 8600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
862 0 0 0 0 0 0 0 0 0 0 0 0 8610 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
863 0 0 0 0 0 0 0 0 0 0 0 0 8620 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
864 0 0 0 0 0 0 0 0 0 0 0 0 8630 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
865 0 0 0 0 0 0 0 0 0 0 0 0 8640 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
866 0 0 0 0 0 0 0 0 0 0 0 0 8650 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
867 0 0 0 0 0 0 0 0 0 0 0 0 8660 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
868 0 0 0 0 0 0 0 0 0 0 0 0 8670 0 0 0 0 0 0 0 0 0 0 0
869 0 0 0 0 0 0 0 0 0 0 0 0 8680 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
870 0 0 0 85 85 85 0 0 0 85 85 85 8690 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
871 0 0 0 85 85 85 170 170 170 255 255 255 8700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
872255 255 255 255 255 255 255 255 255 255 255 255 8710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
873255 255 255 255 255 255 255 255 255 255 255 255 8720 0 0 0 0 0 0 0 0 0 0 0 170 85 0 255 255 85
874255 255 255 255 255 255 255 255 255 255 255 255 873255 255 85 255 255 85 255 255 85 255 255 85 255 255 85 255 255 85
875255 255 255 255 255 255 255 255 255 255 255 255 874255 255 85 255 255 85 255 255 85 255 255 85 255 255 85 255 255 85
876255 255 255 255 255 255 255 255 255 255 255 255 875255 255 85 255 255 85 255 255 85 170 85 0 170 85 0 0 170 0
877255 255 255 255 255 255 255 255 255 255 255 255 8760 0 0 170 85 0 170 85 0 0 170 0 0 0 0 0 0 0
878255 255 255 170 170 170 0 0 0 85 85 85 87785 85 85 0 0 0 85 85 85 85 85 85 170 170 170 85 85 85
879 85 85 85 0 0 0 85 85 85 0 0 0 878170 170 170 85 85 85 85 85 85 170 170 170 170 85 0 85 85 85
880 0 0 0 0 0 0 0 0 0 0 0 0 87985 85 85 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
881 85 85 85 0 0 0 0 0 0 0 0 0 8800 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
882 0 0 0 0 0 0 0 0 0 0 0 0 88185 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
883 0 0 0 0 0 0 0 0 0 0 0 0 8820 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
884 0 0 0 0 0 0 0 0 0 0 0 0 8830 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
885 0 0 0 0 0 0 0 0 0 0 0 0 8840 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
886 0 0 0 0 0 0 0 0 0 0 0 0 8850 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
887 0 0 0 0 0 0 0 0 0 0 0 0 8860 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
888 0 0 0 0 0 0 0 0 0 0 0 0 8870 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
889 0 0 0 0 0 0 0 0 0 0 0 0 8880 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
890 85 85 85 0 0 0 0 0 0 85 85 85 8890 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
891 0 0 0 170 170 170 255 255 255 255 255 255 8900 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
892255 255 255 255 255 255 255 255 255 255 255 255 8910 0 0 0 0 0 0 0 0 0 0 0
893255 255 255 255 255 255 255 255 255 255 255 255 8920 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
894255 255 255 255 255 255 255 255 255 255 255 255 8930 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
895255 255 255 255 255 255 255 255 255 255 255 255 8940 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
896255 255 255 255 255 255 255 255 255 255 255 255 8950 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
897255 255 255 255 255 255 255 255 255 255 255 255 8960 0 0 0 0 0 0 0 0 0 0 0 255 255 85 170 85 0
898255 255 255 255 255 255 85 85 85 0 0 0 897255 255 85 255 255 85 255 255 85 255 255 85 255 255 85 170 85 0
899 0 0 0 0 0 0 0 0 0 85 85 85 898255 255 85 255 255 85 255 255 85 170 85 0 255 255 85 255 255 85
900 0 0 0 0 0 0 0 0 0 0 0 0 899170 85 0 255 255 85 85 255 85 255 255 85 255 255 85 170 85 0
901 85 85 85 0 0 0 0 0 0 0 0 0 900170 85 0 255 255 85 170 85 0 0 0 0 0 0 0 0 0 0
902 0 0 0 0 0 0 0 0 0 0 0 0 9010 0 0 0 0 0 85 85 85 85 85 85 85 85 85 85 85 85
903 0 0 0 0 0 0 0 0 0 0 0 0 90285 85 85 85 85 85 85 85 85 85 85 85 85 85 85 0 0 0
904 0 0 0 0 0 0 0 0 0 0 0 0 9030 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
905 0 0 0 0 0 0 0 0 0 0 0 0 90485 85 85 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
906 0 0 0 0 0 0 0 0 0 0 0 0 9050 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
907 0 0 0 0 0 0 0 0 0 0 0 0 9060 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
908 0 0 0 0 0 0 0 0 0 0 0 0 9070 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
909 0 0 0 0 0 0 0 0 0 0 0 0 9080 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
910 85 85 85 0 0 0 85 85 85 0 0 0 9090 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
911 0 0 0 255 255 255 255 255 255 255 255 255 9100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
912255 255 255 255 255 255 255 255 255 255 255 255 9110 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
913255 255 255 255 255 255 255 255 255 255 255 255 9120 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
914255 255 255 255 255 255 255 255 255 255 255 255 9130 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
915255 255 255 255 255 255 255 255 255 255 255 255 9140 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
916255 255 255 255 255 255 255 255 255 255 255 255 9150 0 0 0 0 0 0 0 0 0 0 0
917255 255 255 255 255 255 255 255 255 255 255 255 9160 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
918255 255 255 255 255 255 170 170 170 0 0 0 9170 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
919 0 0 0 0 0 0 0 0 0 85 85 85 9180 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
920 0 0 0 0 0 0 0 0 0 0 0 0 9190 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
921 85 85 85 0 0 0 0 0 0 0 0 0 9200 0 0 0 0 0 0 0 0 0 0 0 255 255 85 255 255 85
922 0 0 0 0 0 0 0 0 0 0 0 0 921255 255 85 255 255 85 170 85 0 255 255 85 255 255 85 255 255 85
923 0 0 0 0 0 0 0 0 0 0 0 0 922255 255 85 255 255 85 255 255 85 255 255 85 255 255 85 255 255 85
924 0 0 0 0 0 0 0 0 0 0 0 0 923255 255 85 255 255 85 255 255 85 170 85 0 255 255 85 255 255 85
925 0 0 0 0 0 0 0 0 0 0 0 0 92485 255 85 170 85 0 0 170 0 85 85 85 0 0 0 85 85 85
926 0 0 0 0 0 0 0 0 0 0 0 0 9250 0 0 85 85 85 0 0 0 85 85 85 85 85 85 85 85 85
927 0 0 0 0 0 0 0 0 0 0 0 0 92685 85 85 85 85 85 85 85 85 85 85 85 0 0 0 85 85 85
928 0 0 0 0 0 0 0 0 0 0 0 0 9270 0 0 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
929 0 0 0 0 0 0 0 0 0 85 85 85 9280 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
930 0 0 0 0 0 0 85 85 85 0 0 0 9290 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
931 85 85 85 255 255 255 255 255 255 255 255 255 9300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
932255 255 255 255 255 255 255 255 255 255 255 255 9310 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
933255 255 255 255 255 255 255 255 255 255 255 255 9320 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
934255 255 255 255 255 255 255 255 255 255 255 255 9330 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
935255 255 255 255 255 255 255 255 255 255 255 255 9340 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
936255 255 255 255 255 255 255 255 255 255 255 255 9350 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
937255 255 255 255 255 255 255 255 255 255 255 255 9360 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
938255 255 255 255 255 255 170 170 170 0 0 0 9370 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
939 0 0 0 0 0 0 0 0 0 85 85 85 9380 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
940 0 0 0 0 0 0 0 0 0 0 0 0 9390 0 0 0 0 0 0 0 0 0 0 0
941 85 85 85 0 0 0 0 0 0 0 0 0 9400 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
942 0 0 0 0 0 0 0 0 0 0 0 0 9410 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
943 0 0 0 0 0 0 0 0 0 0 0 0 9420 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
944 0 0 0 0 0 0 0 0 0 0 0 0 9430 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
945 0 0 0 0 0 0 0 0 0 0 0 0 9440 0 0 0 0 0 0 0 0 0 170 0 170 85 0 255 255 85
946 0 0 0 0 0 0 0 0 0 0 0 0 94585 255 85 255 255 85 255 255 85 255 255 85 255 255 85 255 255 85
947 0 0 0 0 0 0 0 0 0 0 0 0 946255 255 85 255 255 85 255 255 85 255 255 85 255 255 85 255 255 85
948 0 0 0 0 0 0 0 0 0 0 0 0 947170 85 0 255 255 85 85 255 85 255 255 85 255 255 85 170 85 0
949 0 0 0 0 0 0 0 0 0 85 85 85 94885 255 85 170 85 0 170 85 0 0 0 0 0 0 0 0 0 0
950 0 0 0 85 85 85 0 0 0 0 0 0 9490 0 0 0 0 0 85 85 85 0 0 0 0 0 0 85 85 85
951170 170 170 255 255 255 255 255 255 255 255 255 9500 0 0 85 85 85 0 0 0 0 0 0 85 85 85 0 0 0
952255 255 255 255 255 255 255 255 255 255 255 255 9510 0 0 85 85 85 0 0 0 0 0 0 0 0 0 85 85 85
953255 255 255 255 255 255 255 255 255 255 255 255 9520 0 0 0 0 0 85 85 85 0 0 0 85 85 85 0 0 0
954255 255 255 255 255 255 255 255 255 255 255 255 9530 0 0 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
955255 255 255 255 255 255 255 255 255 255 255 255 9540 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
956255 255 255 255 255 255 255 255 255 255 255 255 9550 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
957255 255 255 255 255 255 255 255 255 255 255 255 9560 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
958255 255 255 255 255 255 170 170 170 0 0 0 9570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
959 0 0 0 0 0 0 0 0 0 85 85 85 9580 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
960 0 0 0 0 0 0 0 0 0 0 0 0 9590 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
961 0 0 0 85 85 85 0 0 0 0 0 0 9600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
962 0 0 0 0 0 0 0 0 0 0 0 0 9610 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
963 0 0 0 0 0 0 0 0 0 0 0 0 9620 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
964 0 0 0 0 0 0 0 0 0 0 0 0 9630 0 0 0 0 0 0 0 0 0 0 0
965 0 0 0 0 0 0 0 0 0 0 0 0 9640 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
966 0 0 0 0 0 0 0 0 0 0 0 0 9650 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
967 0 0 0 0 0 0 0 0 0 0 0 0 9660 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
968 0 0 0 0 0 0 0 0 0 0 0 0 9670 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
969 0 0 0 0 0 0 85 85 85 0 0 0 9680 0 0 0 0 0 0 0 0 170 85 0 255 255 85 255 255 85
970 0 0 0 85 85 85 0 0 0 0 0 0 969255 255 85 255 255 85 255 255 85 255 255 85 255 255 85 255 255 85
971255 255 255 255 255 255 255 255 255 255 255 255 970255 255 85 170 85 0 255 255 85 85 255 85 255 255 85 170 85 0
972255 255 255 255 255 255 255 255 255 255 255 255 971255 255 85 255 255 85 170 85 0 255 255 85 170 85 0 85 255 85
973255 255 255 255 255 255 170 170 170 255 255 255 972170 85 0 170 85 0 0 0 0 0 0 0 0 0 0 85 85 85
974255 255 255 255 255 255 255 255 255 255 255 255 9730 0 0 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
975255 255 255 255 255 255 255 255 255 255 255 255 9740 0 0 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
976255 255 255 255 255 255 255 255 255 255 255 255 9750 0 0 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
977255 255 255 255 255 255 255 255 255 255 255 255 9760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
978255 255 255 255 255 255 255 255 255 0 0 0 97785 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
979 0 0 0 0 0 0 0 0 0 85 85 85 9780 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
980 0 0 0 0 0 0 0 0 0 0 0 0 9790 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
981 0 0 0 85 85 85 0 0 0 0 0 0 9800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
982 0 0 0 0 0 0 0 0 0 0 0 0 9810 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
983 0 0 0 0 0 0 0 0 0 0 0 0 9820 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
984 0 0 0 0 0 0 0 0 0 0 0 0 9830 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
985 0 0 0 0 0 0 0 0 0 0 0 0 9840 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
986 0 0 0 0 0 0 0 0 0 0 0 0 9850 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
987 0 0 0 0 0 0 0 0 0 0 0 0 9860 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
988 0 0 0 0 0 0 0 0 0 0 0 0 9870 0 0 0 0 0 0 0 0 0 0 0
989 0 0 0 85 85 85 0 0 0 0 0 0 9880 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
990 0 0 0 85 85 85 0 0 0 0 0 0 9890 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
991255 255 255 255 255 255 255 255 255 255 255 255 9900 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
992255 255 255 255 255 255 255 255 255 255 255 255 9910 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
993255 255 255 255 255 255 170 170 170 255 255 255 9920 0 0 0 0 0 0 0 0 85 85 85 255 255 85 170 85 0
994255 255 255 255 255 255 255 255 255 255 255 255 993255 255 85 170 85 0 255 255 85 170 85 0 255 255 85 85 255 85
995255 255 255 255 255 255 255 255 255 255 255 255 994255 255 85 255 255 85 255 255 85 255 255 85 255 255 85 255 255 85
996255 255 255 255 255 255 255 255 255 255 255 255 995255 255 85 170 85 0 255 255 85 85 255 85 170 85 0 170 85 0
997255 255 255 255 255 255 255 255 255 255 255 255 9960 170 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
998255 255 255 255 255 255 255 255 255 0 0 0 9970 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
999 0 0 0 0 0 0 0 0 0 85 85 85 9980 0 0 85 85 85 0 0 0 0 0 0 0 0 0 85 85 85
1000 0 0 0 0 0 0 0 0 0 0 0 0 9990 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
1001 0 0 0 85 85 85 0 0 0 0 0 0 10000 0 0 85 85 85 0 0 0 0 0 0 85 85 85 0 0 0
1002 0 0 0 0 0 0 0 0 0 0 0 0 10010 0 0 0 0 0 85 85 85 85 85 85 85 85 85 85 85 85
1003 0 0 0 0 0 0 0 0 0 0 0 0 100285 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1004 0 0 0 0 0 0 0 0 0 0 0 0 10030 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1005 0 0 0 0 0 0 0 0 0 0 0 0 10040 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1006 0 0 0 0 0 0 0 0 0 0 0 0 10050 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1007 0 0 0 0 0 0 0 0 0 0 0 0 10060 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1008 0 0 0 0 0 0 0 0 0 0 0 0 10070 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1009 0 0 0 85 85 85 0 0 0 0 0 0 10080 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1010 0 0 0 85 85 85 0 0 0 85 85 85 10090 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1011255 255 255 255 255 255 255 255 255 255 255 255 10100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1012255 255 255 255 255 255 255 255 255 255 255 255 10110 0 0 0 0 0 0 0 0 0 0 0
1013255 255 255 255 255 255 170 170 170 255 255 255 10120 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1014255 255 255 255 255 255 255 255 255 255 255 255 10130 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1015255 255 255 255 255 255 255 255 255 255 255 255 10140 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1016255 255 255 255 255 255 255 255 255 255 255 255 10150 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1017255 255 255 255 255 255 255 255 255 255 255 255 10160 0 0 0 0 0 0 0 0 170 85 0 255 255 85 255 255 85
1018255 255 255 255 255 255 255 255 255 0 0 0 1017255 255 85 255 255 85 255 255 85 255 255 85 255 255 85 255 255 85
1019 0 0 0 0 0 0 0 0 0 85 85 85 1018255 255 85 255 255 85 170 85 0 255 255 85 170 85 0 85 255 85
1020 0 0 0 0 0 0 0 0 0 0 0 0 1019255 255 85 85 255 85 170 85 0 170 85 0 85 255 85 170 85 0
1021 0 0 0 85 85 85 0 0 0 0 0 0 10200 0 0 0 0 0 85 85 85 0 0 0 0 0 0 85 85 85
1022 0 0 0 0 0 0 0 0 0 0 0 0 10210 0 0 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
1023 0 0 0 0 0 0 0 0 0 0 0 0 102285 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1024 0 0 0 0 0 0 0 0 0 0 0 0 10230 0 0 0 0 0 0 0 0 85 85 85 0 0 0 85 85 85
1025 0 0 0 0 0 0 0 0 0 0 0 0 10240 0 0 0 0 0 0 0 0 85 85 85 0 0 0 85 85 85
1026 0 0 0 0 0 0 0 0 0 0 0 0 102585 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85
1027 0 0 0 0 0 0 0 0 0 0 0 0 102685 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1028 0 0 0 0 0 0 0 0 0 0 0 0 10270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1029 0 0 0 85 85 85 0 0 0 0 0 0 10280 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1030 0 0 0 85 85 85 0 0 0 85 85 85 10290 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1031255 255 255 255 255 255 255 255 255 255 255 255 10300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1032255 255 255 255 255 255 255 255 255 255 255 255 10310 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1033255 255 255 255 255 255 170 170 170 255 255 255 10320 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1034255 255 255 255 255 255 255 255 255 255 255 255 10330 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1035255 255 255 255 255 255 255 255 255 255 255 255 10340 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1036255 255 255 255 255 255 255 255 255 255 255 255 10350 0 0 0 0 0 0 0 0 0 0 0
1037255 255 255 255 255 255 255 255 255 255 255 255 10360 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1038255 255 255 255 255 255 255 255 255 0 0 0 10370 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1039 0 0 0 0 0 0 0 0 0 85 85 85 10380 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1040 0 0 0 0 0 0 0 0 0 0 0 0 10390 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1041 0 0 0 85 85 85 0 0 0 0 0 0 10400 0 0 0 0 0 0 0 0 85 85 85 255 255 85 85 255 85
1042 0 0 0 0 0 0 0 0 0 0 0 0 1041255 255 85 255 255 85 85 255 85 255 255 85 255 255 85 255 255 85
1043 0 0 0 0 0 0 0 0 0 0 0 0 1042255 255 85 170 85 0 255 255 85 85 255 85 255 255 85 255 255 85
1044 0 0 0 0 0 0 0 0 0 0 0 0 1043170 85 0 170 85 0 85 255 85 170 85 0 0 0 0 0 0 0
1045 0 0 0 0 0 0 0 0 0 0 0 0 10440 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1046 0 0 0 0 0 0 0 0 0 0 0 0 10450 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
1047 0 0 0 0 0 0 0 0 0 0 0 0 10460 0 0 0 0 0 0 0 0 85 85 85 0 0 0 85 85 85
1048 0 0 0 0 0 0 0 0 0 0 0 0 10470 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
1049 0 0 0 85 85 85 0 0 0 0 0 0 10480 0 0 85 85 85 85 85 85 170 170 170 170 170 170 170 170 170
1050 0 0 0 0 0 0 85 85 85 85 85 85 1049170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 85 85 85
1051255 255 255 255 255 255 255 255 255 255 255 255 105085 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1052255 255 255 255 255 255 255 255 255 255 255 255 10510 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1053255 255 255 255 255 255 170 170 170 255 255 255 10520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1054255 255 255 255 255 255 255 255 255 255 255 255 10530 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1055255 255 255 255 255 255 255 255 255 255 255 255 10540 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1056255 255 255 255 255 255 255 255 255 255 255 255 10550 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1057255 255 255 255 255 255 255 255 255 255 255 255 10560 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1058255 255 255 255 255 255 255 255 255 0 0 0 10570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1059 0 0 0 0 0 0 0 0 0 85 85 85 10580 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1060 0 0 0 0 0 0 0 0 0 0 0 0 10590 0 0 0 0 0 0 0 0 0 0 0
1061 0 0 0 85 85 85 0 0 0 0 0 0 10600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1062 0 0 0 0 0 0 0 0 0 0 0 0 10610 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1063 0 0 0 0 0 0 0 0 0 0 0 0 10620 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1064 0 0 0 0 0 0 0 0 0 0 0 0 10630 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1065 0 0 0 0 0 0 0 0 0 0 0 0 10640 0 0 0 0 0 0 0 0 85 85 85 255 255 85 255 255 85
1066 0 0 0 0 0 0 0 0 0 0 0 0 1065170 85 0 255 255 85 255 255 85 170 85 0 255 255 85 170 85 0
1067 0 0 0 0 0 0 0 0 0 0 0 0 1066255 255 85 85 255 85 170 85 0 255 255 85 170 85 0 85 255 85
1068 0 0 0 0 0 0 0 0 0 0 0 0 1067170 85 0 170 85 0 0 0 0 0 0 0 0 0 0 0 0 0
1069 0 0 0 85 85 85 0 0 0 0 0 0 10680 0 0 85 85 85 0 0 0 0 0 0 85 85 85 0 0 0
1070 0 0 0 0 0 0 0 0 0 85 85 85 106985 85 85 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
1071255 255 255 255 255 255 255 255 255 255 255 255 10700 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
1072255 255 255 255 255 255 255 255 255 255 255 255 10710 0 0 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
1073255 255 255 255 255 255 170 170 170 255 255 255 107285 85 85 0 0 0 170 170 170 170 170 170 170 170 170 170 170 170
1074255 255 255 255 255 255 255 255 255 255 255 255 1073170 170 170 170 170 170 170 170 170 85 85 85 85 85 85 85 85 85
1075255 255 255 255 255 255 255 255 255 255 255 255 107485 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1076255 255 255 255 255 255 255 255 255 255 255 255 10750 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1077255 255 255 255 255 255 255 255 255 255 255 255 10760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1078255 255 255 255 255 255 255 255 255 0 0 0 10770 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1079 85 85 85 85 85 85 85 85 85 85 85 85 10780 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1080 85 85 85 0 0 0 0 0 0 0 0 0 10790 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1081 0 0 0 85 85 85 0 0 0 0 0 0 10800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1082 0 0 0 0 0 0 0 0 0 0 0 0 10810 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1083 0 0 0 0 0 0 0 0 0 0 0 0 10820 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1084 0 0 0 0 0 0 0 0 0 0 0 0 10830 0 0 0 0 0 0 0 0 0 0 0
1085 0 0 0 0 0 0 0 0 0 0 0 0 10840 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1086 0 0 0 0 0 0 0 0 0 0 0 0 10850 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1087 0 0 0 0 0 0 0 0 0 0 0 0 10860 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1088 0 0 0 0 0 0 0 0 0 0 0 0 10870 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1089 0 0 0 85 85 85 0 0 0 170 85 0 10880 0 0 0 0 0 0 0 0 0 0 0 170 85 0 255 255 85
1090255 255 85 170 85 0 0 0 0 0 0 0 1089255 255 85 255 255 85 255 255 85 255 255 85 255 255 85 85 255 85
1091 85 85 85 255 255 255 255 255 255 255 255 255 1090170 85 0 255 255 85 170 85 0 85 255 85 170 85 0 170 85 0
1092255 255 255 255 255 255 255 255 255 255 255 255 10910 170 0 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
1093255 255 255 255 255 255 170 170 170 255 255 255 10920 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1094255 255 255 255 255 255 255 255 255 255 255 255 10930 0 0 0 0 0 85 85 85 0 0 0 0 0 0 85 85 85
1095255 255 255 255 255 255 255 255 255 255 255 255 10940 0 0 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
1096255 255 255 255 255 255 255 255 255 255 255 255 10950 0 0 85 85 85 0 0 0 0 0 0 85 85 85 0 0 0
1097255 255 255 255 255 255 255 255 255 255 255 255 10960 0 0 85 85 85 170 170 170 170 170 170 255 255 255 170 170 170
1098255 255 255 255 255 255 255 255 255 85 85 85 1097170 170 170 170 170 170 85 85 85 85 85 85 85 85 85 85 85 85
1099 0 0 0 0 0 0 0 0 0 0 0 0 10980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1100 0 0 0 85 85 85 85 85 85 0 0 0 10990 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1101 0 0 0 85 85 85 0 0 0 0 0 0 11000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1102 0 0 0 0 0 0 0 0 0 0 0 0 11010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1103 0 0 0 0 0 0 0 0 0 0 0 0 11020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1104 0 0 0 0 0 0 0 0 0 0 0 0 11030 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1105 0 0 0 0 0 0 0 0 0 0 0 0 11040 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1106 0 0 0 0 0 0 0 0 0 0 0 0 11050 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1107 0 0 0 0 0 0 0 0 0 0 0 0 11060 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1108 0 0 0 0 0 0 0 0 0 0 0 0 11070 0 0 0 0 0 0 0 0 0 0 0
1109 0 0 0 0 0 0 170 85 0 255 255 85 11080 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1110170 85 0 255 255 85 170 85 0 0 0 0 11090 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1111 0 0 0 85 85 85 255 255 255 255 255 255 11100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1112255 255 255 255 255 255 255 255 255 255 255 255 11110 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1113255 255 255 255 255 255 170 170 170 255 255 255 11120 0 0 0 0 0 0 0 0 0 0 0 85 255 85 255 255 85
1114255 255 255 255 255 255 255 255 255 255 255 255 1113170 85 0 255 255 85 255 255 85 170 85 0 85 255 85 170 85 0
1115255 255 255 255 255 255 255 255 255 255 255 255 1114255 255 85 170 85 0 0 170 0 170 85 0 0 0 0 0 0 0
1116255 255 255 255 255 255 255 255 255 255 255 255 11150 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
1117255 255 255 255 255 255 255 255 255 255 255 255 11160 0 0 85 85 85 0 0 0 85 85 85 0 0 0 0 0 0
1118255 255 85 170 85 0 255 255 85 0 0 0 111785 85 85 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
1119 0 0 0 0 0 0 0 0 0 0 0 0 11180 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
1120 0 0 0 0 0 0 85 85 85 85 85 85 111985 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1121 85 85 85 0 0 0 0 0 0 0 0 0 112085 85 85 0 0 0 170 170 170 170 170 170 170 170 170 85 85 85
1122 0 0 0 0 0 0 0 0 0 0 0 0 112185 85 85 85 85 85 85 85 85 0 0 0 0 0 0 0 0 0
1123 0 0 0 0 0 0 0 0 0 0 0 0 11220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1124 0 0 0 0 0 0 0 0 0 0 0 0 11230 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1125 0 0 0 0 0 0 0 0 0 0 0 0 11240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1126 0 0 0 0 0 0 0 0 0 0 0 0 11250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1127 0 0 0 0 0 0 0 0 0 0 0 0 11260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1128 0 0 0 0 0 0 0 0 0 0 0 0 11270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1129 0 0 0 170 85 0 255 255 85 170 85 0 11280 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1130255 255 85 170 85 0 255 255 85 170 85 0 11290 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1131 0 0 0 0 0 0 85 85 85 255 255 255 11300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1132255 255 255 255 255 255 255 255 255 255 255 255 11310 0 0 0 0 0 0 0 0 0 0 0
1133255 255 255 255 255 255 255 255 255 255 255 255 11320 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1134255 255 255 255 255 255 255 255 255 255 255 255 11330 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1135255 255 255 255 255 255 255 255 255 255 255 255 11340 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1136255 255 255 255 255 255 255 255 255 255 255 255 11350 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1137255 255 255 255 255 255 255 255 255 255 255 85 11360 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 85
1138170 85 0 255 255 85 170 85 0 0 0 0 1137255 255 85 255 255 85 255 255 85 255 255 85 170 85 0 170 85 0
1139 0 0 0 0 0 0 0 0 0 0 0 0 11380 170 0 85 85 85 85 85 85 0 0 0 0 0 0 85 85 85
1140 0 0 0 0 0 0 0 0 0 0 0 0 11390 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
1141170 85 0 0 0 0 0 0 0 0 0 0 11400 0 0 0 0 0 85 85 85 0 0 0 85 85 85 85 85 85
1142 0 0 0 0 0 0 0 0 0 0 0 0 114185 85 85 85 85 85 85 85 85 85 85 85 85 85 85 0 0 0
1143 0 0 0 0 0 0 0 0 0 0 0 0 114285 85 85 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
1144 0 0 0 0 0 0 0 0 0 0 0 0 11430 0 0 0 0 0 85 85 85 0 0 0 85 85 85 0 0 0
1145 0 0 0 0 0 0 0 0 0 0 0 0 11440 0 0 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
1146 0 0 0 0 0 0 0 0 0 0 0 0 114585 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1147 0 0 0 0 0 0 0 0 0 0 0 0 11460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1148 0 0 0 0 0 0 0 0 0 0 0 0 11470 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1149170 85 0 255 255 85 170 85 0 255 255 85 11480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1150170 85 0 255 255 85 170 85 0 255 255 85 11490 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1151170 85 0 0 0 0 0 0 0 85 85 85 11500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1152255 255 255 255 255 255 255 255 255 255 255 255 11510 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1153255 255 255 255 255 255 255 255 255 255 255 255 11520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1154255 255 255 255 255 255 255 255 255 255 255 255 11530 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1155255 255 255 255 255 255 255 255 255 255 255 255 11540 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1156255 255 255 255 255 255 255 255 255 255 255 255 11550 0 0 0 0 0 0 0 0 0 0 0
1157255 255 255 255 255 255 255 255 255 170 85 0 11560 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1158255 255 85 170 85 0 255 255 85 0 0 0 11570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1159 0 0 0 0 0 0 0 0 0 0 0 0 11580 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1160 0 0 0 0 0 0 0 0 0 170 85 0 11590 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1161255 255 85 170 85 0 0 0 0 0 0 0 11600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1162 0 0 0 0 0 0 0 0 0 0 0 0 1161255 255 85 255 255 85 170 85 0 0 170 0 85 85 85 85 85 85
1163 0 0 0 0 0 0 0 0 0 0 0 0 116285 85 85 85 85 85 0 0 0 85 85 85 85 85 85 0 0 0
1164 0 0 0 0 0 0 0 0 0 0 0 0 116385 85 85 85 85 85 0 0 0 85 85 85 0 0 0 0 0 0
1165 0 0 0 0 0 0 0 0 0 0 0 0 116485 85 85 85 85 85 85 85 85 170 170 170 170 170 170 85 85 85
1166 0 0 0 0 0 0 0 0 0 0 0 0 1165170 170 170 170 170 170 170 170 170 170 170 170 85 85 85 85 85 85
1167 0 0 0 0 0 0 0 0 0 170 85 0 116685 85 85 85 85 85 85 85 85 85 85 85 0 0 0 0 0 0
1168255 255 85 170 85 0 255 255 85 170 85 0 116785 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1169255 255 85 170 85 0 255 255 85 170 85 0 116885 85 85 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
1170255 255 85 170 85 0 255 255 85 170 85 0 11690 0 0 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
1171255 255 85 0 0 0 0 0 0 0 0 0 117085 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1172 85 85 85 255 255 255 255 255 255 255 255 255 11710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1173255 255 255 255 255 255 255 255 255 255 255 255 11720 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1174255 255 255 255 255 255 255 255 255 255 255 255 11730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1175255 255 255 255 255 255 255 255 255 255 255 255 11740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1176255 255 255 255 255 255 255 255 255 255 255 255 11750 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1177255 255 255 255 255 255 255 255 255 255 255 85 11760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1178170 85 0 255 255 85 170 85 0 0 0 0 11770 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1179 0 0 0 0 0 0 0 0 0 0 0 0 11780 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1180 0 0 0 0 0 0 0 0 0 255 255 85 11790 0 0 0 0 0 0 0 0 0 0 0
1181170 85 0 255 255 85 0 0 0 0 0 0 11800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1182 0 0 0 0 0 0 0 0 0 0 0 0 11810 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1183 0 0 0 0 0 0 0 0 0 0 0 0 11820 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1184 0 0 0 0 0 0 0 0 0 0 0 0 11830 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1185 0 0 0 0 0 0 0 0 0 0 0 0 11840 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1186 0 0 0 0 0 0 0 0 0 0 0 0 11850 0 0 170 85 0 85 85 85 0 0 0 0 0 0 0 0 0
1187 0 0 0 0 0 0 170 85 0 255 255 85 118685 85 85 85 85 85 85 85 85 85 85 85 170 170 170 85 85 85
1188170 85 0 255 255 85 170 85 0 255 255 85 118785 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85
1189170 85 0 255 255 85 170 85 0 255 255 85 1188170 170 170 170 170 170 170 170 170 170 170 170 255 255 255 255 255 255
1190170 85 0 255 255 85 170 85 0 255 255 85 1189255 255 255 255 255 255 255 255 255 170 170 170 255 255 255 170 170 170
1191170 85 0 255 255 85 0 0 0 0 0 0 1190170 170 170 170 170 170 170 170 170 85 85 85 85 85 85 85 85 85
1192 0 0 0 85 85 85 255 255 255 255 255 255 11910 0 0 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
1193255 255 255 255 255 255 255 255 255 255 255 255 11920 0 0 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
1194255 255 255 255 255 255 255 255 255 255 255 255 11930 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
1195255 255 255 255 255 255 255 255 255 255 255 255 11940 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1196255 255 255 255 255 255 255 255 255 255 255 255 11950 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1197255 255 255 255 255 255 170 170 170 170 85 0 11960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1198255 255 85 170 85 0 255 255 85 170 85 0 11970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1199 0 0 0 0 0 0 0 0 0 0 0 0 11980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1200 0 0 0 0 0 0 255 255 85 170 85 0 11990 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1201255 255 85 170 85 0 0 0 0 0 0 0 12000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1202 0 0 0 0 0 0 0 0 0 0 0 0 12010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1203 0 0 0 0 0 0 0 0 0 0 0 0 12020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1204 0 0 0 0 0 0 0 0 0 0 0 0 12030 0 0 0 0 0 0 0 0 0 0 0
1205 0 0 0 0 0 0 0 0 0 0 0 0 12040 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1206 0 0 0 0 0 0 0 0 0 0 0 0 12050 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1207 0 0 0 0 0 0 255 255 85 170 85 0 12060 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1208255 255 85 170 85 0 255 255 85 170 85 0 12070 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1209255 255 85 170 85 0 255 255 85 170 85 0 12080 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1210255 255 85 170 85 0 255 255 85 170 85 0 12090 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
1211255 255 85 170 85 0 255 255 85 0 0 0 121085 85 85 85 85 85 85 85 85 85 85 85 170 170 170 170 170 170
1212 0 0 0 0 0 0 85 85 85 255 255 255 1211255 255 255 255 255 255 255 255 255 170 170 170 255 255 255 170 170 170
1213255 255 255 255 255 255 255 255 255 255 255 255 1212255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
1214255 255 255 255 255 255 255 255 255 255 255 255 1213255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
1215255 255 255 255 255 255 255 255 255 255 255 255 1214255 255 255 255 255 255 170 170 170 255 255 255 170 170 170 85 85 85
1216255 255 255 255 255 255 255 255 255 255 255 255 12150 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
1217255 255 255 170 170 170 170 170 170 255 255 85 121685 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1218170 85 0 255 255 85 170 85 0 255 255 85 121785 85 85 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
1219170 85 0 255 255 85 170 85 0 255 255 85 12180 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1220170 85 0 255 255 85 170 85 0 255 255 85 12190 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1221170 85 0 255 255 85 0 0 0 0 0 0 12200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1222 0 0 0 0 0 0 0 0 0 0 0 0 12210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1223 0 0 0 0 0 0 0 0 0 0 0 0 12220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1224 0 0 0 0 0 0 0 0 0 0 0 0 12230 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1225 0 0 0 0 0 0 0 0 0 0 0 0 12240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1226 0 0 0 0 0 0 0 0 0 0 0 0 12250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1227 0 0 0 0 0 0 170 85 0 255 255 85 12260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1228170 85 0 255 255 85 170 85 0 255 255 85 12270 0 0 0 0 0 0 0 0 0 0 0
1229170 85 0 255 255 85 170 85 0 255 255 85 12280 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1230170 85 0 255 255 85 170 85 0 255 255 85 12290 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1231170 85 0 255 255 85 170 85 0 0 0 0 12300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1232 0 0 0 0 0 0 0 0 0 85 85 85 12310 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1233255 255 255 255 255 255 255 255 255 255 255 255 12320 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1234255 255 255 255 255 255 255 255 255 255 255 255 12330 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
1235255 255 255 255 255 255 255 255 255 255 255 255 123485 85 85 85 85 85 85 85 85 85 85 85 170 170 170 170 170 170
1236255 255 255 255 255 255 255 255 255 255 255 255 1235255 255 255 170 170 170 255 255 255 255 255 255 255 255 255 255 255 255
1237255 255 255 170 170 170 170 170 170 170 85 0 1236255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 170 170 170
1238255 255 85 170 85 0 255 255 85 170 85 0 1237255 255 255 255 255 255 170 170 170 255 255 255 255 255 255 255 255 255
1239255 255 85 170 85 0 255 255 85 170 85 0 1238255 255 255 255 255 255 255 255 255 255 255 255 170 170 170 85 85 85
1240255 255 85 170 85 0 255 255 85 170 85 0 12390 0 0 0 0 0 85 85 85 0 0 0 85 85 85 0 0 0
1241255 255 85 170 85 0 255 255 85 0 0 0 12400 0 0 0 0 0 85 85 85 0 0 0 85 85 85 0 0 0
1242 0 0 0 0 0 0 0 0 0 0 0 0 12410 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1243 0 0 0 0 0 0 0 0 0 0 0 0 124285 85 85 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
1244 0 0 0 0 0 0 0 0 0 0 0 0 12430 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1245 0 0 0 0 0 0 0 0 0 0 0 0 12440 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1246 0 0 0 0 0 0 0 0 0 0 0 0 12450 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1247 0 0 0 0 0 0 255 255 85 170 85 0 12460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1248255 255 85 170 85 0 255 255 85 170 85 0 12470 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1249255 255 85 170 85 0 255 255 85 170 85 0 12480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1250255 255 85 170 85 0 255 255 85 170 85 0 12490 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1251255 255 85 170 85 0 255 255 85 170 85 0 12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1252 0 0 0 0 0 0 0 0 0 0 0 0 12510 0 0 0 0 0 0 0 0 0 0 0
1253 0 0 0 255 255 255 255 255 255 255 255 255 12520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1254255 255 255 255 255 255 255 255 255 255 255 255 12530 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1255255 255 255 255 255 255 255 255 255 255 255 255 12540 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1256255 255 255 255 255 255 255 255 255 255 255 255 12550 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1257255 255 255 170 170 170 170 170 170 255 255 85 12560 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1258170 85 0 255 255 85 170 85 0 255 255 85 12570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
1259170 85 0 255 255 85 170 85 0 255 255 85 125885 85 85 85 85 85 85 85 85 85 85 85 85 85 85 170 170 170
1260170 85 0 255 255 85 170 85 0 255 255 85 1259170 170 170 170 170 170 255 255 255 170 170 170 255 255 255 170 170 170
1261170 85 0 255 255 85 170 85 0 255 255 85 1260255 255 255 170 170 170 255 255 255 170 170 170 255 255 255 255 255 255
1262 0 0 0 0 0 0 0 0 0 0 0 0 1261255 255 255 170 170 170 255 255 255 170 170 170 255 255 255 170 170 170
1263 0 0 0 0 0 0 0 0 0 0 0 0 1262170 170 170 170 170 170 170 170 170 170 170 170 85 85 85 85 85 85
1264 0 0 0 0 0 0 0 0 0 0 0 0 12630 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1265 0 0 0 0 0 0 0 0 0 0 0 0 126485 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1266 0 0 0 0 0 0 0 0 0 0 0 0 126585 85 85 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
1267 0 0 0 0 0 0 170 85 0 255 255 85 12660 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1268170 85 0 255 255 85 170 85 0 255 255 85 12670 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1269170 85 0 255 255 85 170 85 0 255 255 85 12680 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1270170 85 0 255 255 85 170 85 0 255 255 85 12690 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1271170 85 0 255 255 85 170 85 0 255 255 85 12700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1272170 85 0 0 0 0 0 0 0 0 0 0 12710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1273 0 0 0 255 255 255 255 255 255 255 255 255 12720 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1274255 255 255 255 255 255 255 255 255 255 255 255 12730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1275255 255 255 255 255 255 255 255 255 255 255 255 12740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1276255 255 255 255 255 255 255 255 255 255 255 255 12750 0 0 0 0 0 0 0 0 0 0 0
1277255 255 255 170 170 170 170 170 170 170 85 0 12760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1278255 255 85 170 85 0 255 255 85 170 85 0 12770 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1279255 255 85 170 85 0 255 255 85 170 85 0 12780 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1280255 255 85 170 85 0 255 255 85 170 85 0 12790 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1281255 255 85 170 85 0 255 255 85 170 85 0 12800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1282255 255 85 0 0 0 0 0 0 0 0 0 12810 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
1283 0 0 0 0 0 0 0 0 0 0 0 0 128285 85 85 85 85 85 85 85 85 0 0 0 85 85 85 85 85 85
1284 0 0 0 0 0 0 0 0 0 0 0 0 128385 85 85 85 85 85 85 85 85 170 170 170 170 170 170 170 170 170
1285 0 0 0 0 0 0 0 0 0 0 0 0 1284170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170
1286 0 0 0 0 0 0 0 0 0 0 0 0 1285170 170 170 170 170 170 170 170 170 170 170 170 85 85 85 170 170 170
1287 0 0 0 0 0 0 255 255 85 170 85 0 1286170 170 170 170 170 170 85 85 85 0 0 0 85 85 85 0 0 0
1288255 255 85 170 85 0 255 255 85 170 85 0 12870 0 0 0 0 0 85 85 85 0 0 0 85 85 85 0 0 0
1289255 255 85 170 85 0 255 255 85 170 85 0 12880 0 0 85 85 85 0 0 0 0 0 0 85 85 85 0 0 0
1290255 255 85 170 85 0 255 255 85 170 85 0 12890 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
1291255 255 85 170 85 0 255 255 85 170 85 0 12900 0 0 0 0 0 85 85 85 0 0 0 0 0 0 85 85 85
1292255 255 85 0 0 0 0 0 0 0 0 0 12910 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1293 85 85 85 255 255 255 255 255 255 255 255 255 12920 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1294255 255 255 255 255 255 255 255 255 255 255 255 12930 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1295255 255 255 255 255 255 255 255 255 255 255 255 12940 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1296255 255 255 255 255 255 255 255 255 255 255 255 12950 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1297255 255 255 170 170 170 85 85 85 255 255 85 12960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1298170 85 0 255 255 85 170 85 0 255 255 85 12970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1299170 85 0 255 255 85 170 85 0 255 255 85 12980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1300170 85 0 255 255 85 170 85 0 255 255 85 12990 0 0 0 0 0 0 0 0 0 0 0
1301170 85 0 255 255 85 170 85 0 255 255 85 13000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1302170 85 0 255 255 85 0 0 0 0 0 0 13010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1303 0 0 0 0 0 0 0 0 0 0 0 0 13020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1304 0 0 0 0 0 0 0 0 0 0 0 0 13030 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1305 0 0 0 0 0 0 0 0 0 0 0 0 13040 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1306 0 0 0 0 0 0 0 0 0 0 0 0 13050 0 0 0 0 0 0 0 0 0 0 0 85 85 85 85 85 85
1307 0 0 0 0 0 0 170 85 0 255 255 85 1306170 170 170 85 85 85 85 85 85 85 85 85 0 0 0 85 85 85
1308170 85 0 255 255 85 170 85 0 255 255 85 13070 0 0 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85
1309170 85 0 255 255 85 170 85 0 255 255 85 130885 85 85 85 85 85 85 85 85 85 85 85 85 85 85 0 0 0
1310170 85 0 255 255 85 170 85 0 255 255 85 130985 85 85 85 85 85 85 85 85 85 85 85 85 85 85 0 0 0
1311170 85 0 255 255 85 170 85 0 255 255 85 13100 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
1312170 85 0 255 255 85 85 85 85 85 85 85 131185 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1313255 255 255 255 255 255 255 255 255 255 255 255 13120 0 0 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
1314255 255 255 255 255 255 255 255 255 255 255 255 131385 85 85 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
1315255 255 255 255 255 255 255 255 255 255 255 255 13140 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1316255 255 255 255 255 255 255 255 255 255 255 255 13150 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1317170 170 170 85 85 85 85 85 85 170 85 0 13160 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1318255 255 85 170 85 0 255 255 85 170 85 0 13170 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1319255 255 85 170 85 0 255 255 85 170 85 0 13180 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1320255 255 85 170 85 0 255 255 85 170 85 0 13190 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1321255 255 85 170 85 0 255 255 85 170 85 0 13200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1322255 255 85 170 85 0 255 255 85 170 85 0 13210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1323 0 0 0 0 0 0 0 0 0 0 0 0 13220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1324 0 0 0 0 0 0 0 0 0 0 0 0 13230 0 0 0 0 0 0 0 0 0 0 0
1325 0 0 0 0 0 0 0 0 0 0 0 0 13240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1326 0 0 0 0 0 0 0 0 0 0 0 0 13250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1327 0 0 0 0 0 0 255 255 85 170 85 0 13260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1328255 255 85 170 85 0 255 255 85 170 85 0 13270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1329255 255 85 170 85 0 255 255 85 170 85 0 13280 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1330255 255 85 170 85 0 255 255 85 170 85 0 13290 0 0 0 0 0 0 0 0 0 0 0 170 170 170 85 85 85
1331255 255 85 170 85 0 255 255 85 170 85 0 133085 85 85 85 85 85 85 85 85 0 0 0 85 85 85 0 0 0
1332255 255 85 170 85 0 255 255 85 255 255 255 133185 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1333255 255 255 255 255 255 255 255 255 255 255 255 133285 85 85 0 0 0 85 85 85 0 0 0 0 0 0 85 85 85
1334255 255 255 255 255 255 255 255 255 255 255 255 13330 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1335255 255 255 255 255 255 255 255 255 255 255 255 133485 85 85 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
1336255 255 255 255 255 255 255 255 255 170 170 170 13350 0 0 0 0 0 85 85 85 0 0 0 0 0 0 85 85 85
1337 85 85 85 0 0 0 0 0 0 170 85 0 13360 0 0 85 85 85 0 0 0 0 0 0 85 85 85 0 0 0
1338170 85 0 255 255 85 170 85 0 255 255 85 13370 0 0 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
1339170 85 0 255 255 85 170 85 0 255 255 85 133885 85 85 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
1340170 85 0 255 255 85 170 85 0 255 255 85 13390 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1341170 85 0 255 255 85 170 85 0 255 255 85 13400 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1342170 85 0 255 255 85 170 85 0 255 255 85 13410 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1343 0 0 0 0 0 0 0 0 0 0 0 0 13420 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1344 0 0 0 0 0 0 0 0 0 0 0 0 13430 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1345 0 0 0 0 0 0 0 0 0 0 0 0 13440 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1346 0 0 0 0 0 0 0 0 0 0 0 0 13450 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1347 0 0 0 0 0 0 170 85 0 255 255 85 13460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1348170 85 0 255 255 85 170 85 0 255 255 85 13470 0 0 0 0 0 0 0 0 0 0 0
1349170 85 0 255 255 85 170 85 0 255 255 85 13480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1350170 85 0 255 255 85 170 85 0 255 255 85 13490 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1351170 85 0 255 255 85 170 85 0 255 255 85 13500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1352170 85 0 255 255 85 170 85 0 255 255 85 13510 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1353255 255 255 255 255 255 255 255 255 255 255 255 13520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1354255 255 255 255 255 255 255 255 255 255 255 255 13530 0 0 0 0 0 0 0 0 85 85 85 85 85 85 85 85 85
1355255 255 255 255 255 255 255 255 255 255 255 255 135485 85 85 85 85 85 85 85 85 85 85 85 0 0 0 0 0 0
1356255 255 255 255 255 255 170 170 170 85 85 85 13550 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
1357 0 0 0 0 0 0 0 0 0 170 85 0 13560 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1358255 255 85 170 85 0 255 255 85 170 85 0 13570 0 0 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
1359255 255 85 170 85 0 255 255 85 170 85 0 13580 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
1360255 255 85 170 85 0 255 255 85 170 85 0 135985 85 85 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
1361255 255 85 170 85 0 255 255 85 170 85 0 13600 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
1362255 255 85 170 85 0 255 255 85 0 0 0 136185 85 85 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
1363 0 0 0 0 0 0 0 0 0 0 0 0 13620 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
1364 0 0 0 0 0 0 0 0 0 0 0 0 13630 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1365 0 0 0 0 0 0 0 0 0 0 0 0 13640 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1366 0 0 0 0 0 0 0 0 0 0 0 0 13650 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1367 0 0 0 0 0 0 255 255 85 170 85 0 13660 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1368255 255 85 170 85 0 255 255 85 170 85 0 13670 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1369255 255 85 170 85 0 255 255 85 170 85 0 13680 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1370255 255 85 170 85 0 255 255 85 170 85 0 13690 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1371255 255 85 170 85 0 255 255 85 170 85 0 13700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1372255 255 85 170 85 0 255 255 85 170 85 0 13710 0 0 0 0 0 0 0 0 0 0 0
1373170 170 170 255 255 255 255 255 255 255 255 255 13720 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1374255 255 255 255 255 255 255 255 255 255 255 255 13730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1375255 255 255 255 255 255 255 255 255 255 255 255 13740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1376170 170 170 85 85 85 85 85 85 0 0 0 13750 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1377 0 0 0 0 0 0 0 0 0 170 85 0 13760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1378170 85 0 255 255 85 170 85 0 255 255 85 13770 0 0 0 0 0 85 85 85 85 85 85 170 170 170 85 85 85
1379170 85 0 255 255 85 170 85 0 255 255 85 137885 85 85 85 85 85 85 85 85 0 0 0 85 85 85 0 0 0
1380170 85 0 255 255 85 170 85 0 255 255 85 137985 85 85 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
1381170 85 0 255 255 85 170 85 0 255 255 85 13800 0 0 85 85 85 0 0 0 0 0 0 85 85 85 0 0 0
1382170 85 0 255 255 85 0 0 0 0 0 0 13810 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
1383 0 0 0 0 0 0 0 0 0 0 0 0 138285 85 85 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
1384 0 0 0 0 0 0 0 0 0 0 0 0 13830 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1385 0 0 0 0 0 0 0 0 0 0 0 0 138485 85 85 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
1386 0 0 0 0 0 0 0 0 0 0 0 0 138585 85 85 0 0 0 0 0 0 85 85 85 0 0 0 85 85 85
1387 0 0 0 255 255 85 170 85 0 255 255 85 13860 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
1388170 85 0 255 255 85 170 85 0 255 255 85 13870 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1389170 85 0 255 255 85 170 85 0 255 255 85 13880 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1390170 85 0 255 255 85 170 85 0 255 255 85 13890 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1391170 85 0 255 255 85 170 85 0 255 255 85 13900 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1392170 85 0 255 255 85 170 85 0 170 85 0 13910 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1393170 85 0 170 170 170 255 255 255 255 255 255 13920 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1394255 255 255 255 255 255 255 255 255 255 255 255 13930 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1395255 255 255 255 255 255 170 170 170 85 85 85 13940 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1396 85 85 85 0 0 0 0 0 0 0 0 0 13950 0 0 0 0 0 0 0 0 0 0 0
1397 0 0 0 0 0 0 85 85 85 170 85 0 13960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1398255 255 85 170 85 0 255 255 85 170 85 0 13970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1399255 255 85 170 85 0 255 255 85 170 85 0 13980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1400255 255 85 170 85 0 255 255 85 170 85 0 13990 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1401255 255 85 170 85 0 255 255 85 170 85 0 14000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1402255 255 85 0 0 0 0 0 0 0 0 0 14010 0 0 0 0 0 85 85 85 85 85 85 85 85 85 85 85 85
1403 0 0 0 0 0 0 0 0 0 0 0 0 140285 85 85 85 85 85 0 0 0 85 85 85 0 0 0 85 85 85
1404 0 0 0 0 0 0 0 0 0 0 0 0 14030 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
1405 0 0 0 0 0 0 0 0 0 0 0 0 14040 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1406 0 0 0 0 0 0 0 0 0 0 0 0 14050 0 0 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
1407 0 0 0 170 85 0 255 255 85 170 85 0 14060 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1408255 255 85 170 85 0 255 255 85 170 85 0 140785 85 85 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
1409255 255 85 170 85 0 255 255 85 170 85 0 14080 0 0 0 0 0 85 85 85 0 0 0 85 85 85 0 0 0
1410255 255 85 170 85 0 255 255 85 170 85 0 14090 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
1411255 255 85 170 85 0 255 255 85 170 85 0 141085 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1412255 255 85 170 85 0 255 255 85 170 85 0 141185 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1413170 85 0 0 0 0 0 0 0 0 0 0 14120 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1414 0 0 0 0 0 0 0 0 0 0 0 0 14130 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1415 0 0 0 0 0 0 0 0 0 0 0 0 14140 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1416 0 0 0 0 0 0 0 0 0 0 0 0 14150 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1417 0 0 0 0 0 0 85 85 85 170 85 0 14160 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1418170 85 0 255 255 85 170 85 0 255 255 85 14170 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1419170 85 0 255 255 85 170 85 0 255 255 85 14180 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1420170 85 0 255 255 85 170 85 0 255 255 85 14190 0 0 0 0 0 85 85 85 85 85 85
1421170 85 0 170 85 0 170 85 0 0 0 0 14200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1422 0 0 0 0 0 0 0 0 0 0 0 0 14210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1423 0 0 0 0 0 0 0 0 0 0 0 0 14220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1424 0 0 0 0 0 0 0 0 0 0 0 0 14230 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1425 0 0 0 0 0 0 0 0 0 0 0 0 14240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1426 0 0 0 0 0 0 0 0 0 0 0 0 14250 0 0 85 85 85 85 85 85 170 170 170 85 85 85 85 85 85
1427 0 0 0 255 255 85 170 85 0 255 255 85 142685 85 85 85 85 85 0 0 0 85 85 85 0 0 0 0 0 0
1428170 85 0 255 255 85 170 85 0 255 255 85 142785 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1429170 85 0 255 255 85 170 85 0 255 255 85 142885 85 85 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
1430170 85 0 255 255 85 170 85 0 255 255 85 142985 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1431170 85 0 255 255 85 170 85 0 255 255 85 143085 85 85 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
1432170 85 0 255 255 85 170 85 0 170 85 0 14310 0 0 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
1433170 85 0 0 0 0 0 0 0 0 0 0 143285 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1434 0 0 0 0 0 0 0 0 0 0 0 0 143385 85 85 0 0 0 85 85 85 0 0 0 85 85 85 0 0 0
1435 0 0 0 0 0 0 0 0 0 0 0 0 14340 0 0 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
1436 0 0 0 0 0 0 0 0 0 0 0 0 14350 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1437 0 0 0 0 0 0 85 85 85 170 85 0 14360 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1438255 255 85 170 85 0 255 255 85 170 85 0 14370 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1439255 255 85 170 85 0 255 255 85 170 85 0 14380 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1440255 255 85 170 85 0 255 255 85 170 85 0 14390 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1441170 85 0 0 0 0 0 0 0 0 0 0 14400 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1442 0 0 0 0 0 0 0 0 0 0 0 0 14410 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1443 0 0 0 0 0 0 0 0 0 0 0 0 14420 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1444 0 0 0 0 0 0 0 0 0 0 0 0 14430 0 0 85 85 85 170 170 170 170 170 170
1445 0 0 0 0 0 0 0 0 0 0 0 0 14440 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1446 0 0 0 0 0 0 0 0 0 0 0 0 14450 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1447 0 0 0 0 0 0 255 255 85 170 85 0 14460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1448255 255 85 170 85 0 255 255 85 170 85 0 14470 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1449255 255 85 170 85 0 255 255 85 170 85 0 14480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1450255 255 85 170 85 0 255 255 85 170 85 0 14490 0 0 85 85 85 170 170 170 85 85 85 85 85 85 85 85 85
1451255 255 85 170 85 0 255 255 85 170 85 0 145085 85 85 0 0 0 85 85 85 0 0 0 0 0 0 85 85 85
1452255 255 85 170 85 0 255 255 85 170 85 0 14510 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
1453170 85 0 0 0 0 0 0 0 0 0 0 14520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1454 0 0 0 0 0 0 0 0 0 0 0 0 14530 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
1455 0 0 0 0 0 0 0 0 0 0 0 0 14540 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
1456 0 0 0 0 0 0 0 0 0 0 0 0 14550 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1457 0 0 0 0 0 0 85 85 85 170 85 0 14560 0 0 0 0 0 85 85 85 0 0 0 85 85 85 85 85 85
1458170 85 0 255 255 85 170 85 0 255 255 85 14570 0 0 85 85 85 0 0 0 85 85 85 0 0 0 0 0 0
1459170 85 0 255 255 85 170 85 0 255 255 85 145885 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1460170 85 0 170 85 0 170 85 0 170 85 0 14590 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1461 0 0 0 0 0 0 0 0 0 0 0 0 14600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1462 0 0 0 0 0 0 0 0 0 0 0 0 14610 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1463 0 0 0 0 0 0 0 0 0 0 0 0 14620 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1464 0 0 0 0 0 0 0 0 0 0 0 0 14630 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1465 0 0 0 0 0 0 0 0 0 0 0 0 14640 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1466 0 0 0 0 0 0 0 0 0 0 0 0 14650 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1467 0 0 0 0 0 0 0 0 0 0 0 0 14660 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1468 0 0 0 0 0 0 170 85 0 170 85 0 146785 85 85 170 170 170 255 255 255 170 170 170
1469170 85 0 170 85 0 170 85 0 170 85 0 14680 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1470170 85 0 255 255 85 170 85 0 255 255 85 14690 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1471170 85 0 255 255 85 170 85 0 255 255 85 14700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1472170 85 0 255 255 85 170 85 0 170 85 0 14710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1473170 85 0 0 0 0 0 0 0 0 0 0 14720 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1474 85 85 85 85 85 85 85 85 85 85 85 85 147385 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85
1475 85 85 85 85 85 85 85 85 85 85 85 85 147485 85 85 0 0 0 85 85 85 0 0 0 85 85 85 0 0 0
1476 85 85 85 85 85 85 85 85 85 0 0 0 14750 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
1477 0 0 0 0 0 0 0 0 0 170 85 0 14760 0 0 0 0 0 85 85 85 0 0 0 0 0 0 85 85 85
1478170 85 0 170 85 0 255 255 85 170 85 0 14770 0 0 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
1479255 255 85 170 85 0 255 255 85 170 85 0 14780 0 0 85 85 85 0 0 0 85 85 85 0 0 0 0 0 0
1480170 85 0 170 85 0 0 0 0 0 0 0 14790 0 0 85 85 85 0 0 0 85 85 85 0 0 0 0 0 0
1481 0 0 0 0 0 0 0 0 0 0 0 0 148085 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1482 0 0 0 0 0 0 0 0 0 0 0 0 148185 85 85 0 0 0 85 85 85 0 0 0 0 0 0 85 85 85
1483 0 0 0 0 0 0 0 0 0 0 0 0 14820 0 0 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
1484 0 0 0 0 0 0 0 0 0 0 0 0 14830 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
1485 0 0 0 0 0 0 0 0 0 0 0 0 14840 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1486 0 0 0 0 0 0 0 0 0 0 0 0 14850 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1487 0 0 0 0 0 0 0 0 0 0 0 0 14860 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1488 0 0 0 0 0 0 0 0 0 0 0 0 14870 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1489 0 0 0 0 0 0 170 85 0 170 85 0 14880 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1490170 85 0 170 85 0 170 85 0 170 85 0 14890 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1491170 85 0 170 85 0 255 255 85 170 85 0 14900 0 0 0 0 0 0 0 0 0 0 0 0 0 0 170 170 170
1492255 255 85 170 85 0 170 85 0 170 85 0 1491170 170 170 255 255 255 170 170 170 170 170 170
1493 85 85 85 85 85 85 85 85 85 85 85 85 14920 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1494 0 0 0 0 0 0 0 0 0 0 0 0 14930 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1495 0 0 0 0 0 0 0 0 0 0 0 0 14940 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1496 0 0 0 0 0 0 0 0 0 85 85 85 14950 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1497 85 85 85 85 85 85 85 85 85 170 85 0 14960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1498170 85 0 170 85 0 170 85 0 255 255 85 149785 85 85 170 170 170 85 85 85 85 85 85 85 85 85 0 0 0
1499170 85 0 255 255 85 170 85 0 170 85 0 149885 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1500170 85 0 0 0 0 0 0 0 0 0 0 149985 85 85 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
1501 0 0 0 0 0 0 0 0 0 0 0 0 15000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1502 0 0 0 0 0 0 0 0 0 0 0 0 15010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1503 0 0 0 0 0 0 0 0 0 0 0 0 15020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1504 0 0 0 0 0 0 0 0 0 0 0 0 15030 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1505 0 0 0 0 0 0 0 0 0 0 0 0 15040 0 0 0 0 0 85 85 85 0 0 0 85 85 85 85 85 85
1506 0 0 0 0 0 0 0 0 0 0 0 0 15050 0 0 85 85 85 0 0 0 85 85 85 0 0 0 0 0 0
1507 0 0 0 0 0 0 0 0 0 0 0 0 15060 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
1508 0 0 0 0 0 0 0 0 0 0 0 0 15070 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1509 0 0 0 0 0 0 0 0 0 0 0 0 15080 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1510 0 0 0 0 0 0 0 0 0 170 85 0 15090 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1511170 85 0 170 85 0 170 85 0 170 85 0 15100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1512170 85 0 170 85 0 170 85 0 170 85 0 15110 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1513 0 0 0 0 0 0 0 0 0 0 0 0 15120 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1514 0 0 0 0 0 0 0 0 0 0 0 0 15130 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1515 0 0 0 0 0 0 0 0 0 0 0 0 15140 0 0 0 0 0 0 0 0 0 0 0 170 170 170 170 170 170
1516 0 0 0 0 0 0 0 0 0 0 0 0 1515255 255 255 255 255 255 170 170 170 170 170 170
1517 0 0 0 0 0 0 0 0 0 170 85 0 15160 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1518170 85 0 170 85 0 170 85 0 170 85 0 15170 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1519170 85 0 170 85 0 170 85 0 170 85 0 15180 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1520 0 0 0 0 0 0 0 0 0 0 0 0 15190 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1521 0 0 0 0 0 0 0 0 0 0 0 0 15200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
1522 0 0 0 0 0 0 0 0 0 0 0 0 152185 85 85 85 85 85 85 85 85 85 85 85 85 85 85 0 0 0
1523 0 0 0 0 0 0 0 0 0 0 0 0 152285 85 85 0 0 0 85 85 85 0 0 0 85 85 85 0 0 0
1524 0 0 0 0 0 0 0 0 0 0 0 0 15230 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1525 0 0 0 0 0 0 0 0 0 0 0 0 152485 85 85 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
1526 0 0 0 0 0 0 0 0 0 0 0 0 15250 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
1527 0 0 0 0 0 0 0 0 0 0 0 0 152685 85 85 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
1528 0 0 0 0 0 0 0 0 0 0 0 0 15270 0 0 0 0 0 85 85 85 0 0 0 0 0 0 85 85 85
1529 0 0 0 0 0 0 0 0 0 0 0 0 15280 0 0 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
1530 0 0 0 0 0 0 0 0 0 0 0 0 152985 85 85 0 0 0 85 85 85 0 0 0 0 0 0 85 85 85
1531 0 0 0 170 85 0 170 85 0 170 85 0 15300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1532170 85 0 170 85 0 170 85 0 0 0 0 153185 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1533 0 0 0 0 0 0 0 0 0 0 0 0 15320 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1534 0 0 0 0 0 0 0 0 0 0 0 0 15330 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1535 0 0 0 0 0 0 0 0 0 0 0 0 15340 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1536 0 0 0 0 0 0 0 0 0 0 0 0 15350 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1537 0 0 0 0 0 0 0 0 0 0 0 0 15360 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1538170 85 0 170 85 0 170 85 0 170 85 0 15370 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1539170 85 0 170 85 0 170 85 0 0 0 0 15380 0 0 0 0 0 85 85 85 170 170 170 170 170 170 255 255 255
1540 0 0 0 0 0 0 0 0 0 0 0 0 1539255 255 255 170 170 170 170 170 170 0 0 0
1541 0 0 0 0 0 0 0 0 0 0 0 0 15400 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1542 0 0 0 0 0 0 0 0 0 0 0 0 15410 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1543 0 0 0 0 0 0 0 0 0 0 0 0 15420 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1544 0 0 0 0 0 0 0 0 0 0 0 0 15430 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1545 0 0 0 0 0 0 0 0 0 0 0 0 15440 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
1546 0 0 0 0 0 0 0 0 0 0 0 0 1545170 170 170 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85
1547 0 0 0 0 0 0 0 0 0 0 0 0 15460 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
1548 0 0 0 0 0 0 0 0 0 0 0 0 154785 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1549 0 0 0 0 0 0 0 0 0 0 0 0 15480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1550 0 0 0 0 0 0 0 0 0 0 0 0 154985 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1551 0 0 0 0 0 0 0 0 0 0 0 0 15500 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
1552 0 0 0 0 0 0 0 0 0 0 0 0 15510 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1553 0 0 0 0 0 0 0 0 0 0 0 0 15520 0 0 85 85 85 0 0 0 0 0 0 85 85 85 85 85 85
1554 0 0 0 0 0 0 0 0 0 0 0 0 15530 0 0 85 85 85 0 0 0 85 85 85 0 0 0 0 0 0
1555 0 0 0 0 0 0 0 0 0 0 0 0 155485 85 85 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
1556 0 0 0 0 0 0 0 0 0 0 0 0 15550 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1557 0 0 0 0 0 0 0 0 0 0 0 0 15560 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1558 0 0 0 0 0 0 0 0 0 0 0 0 15570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1559 0 0 0 0 0 0 0 0 0 0 0 0 15580 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1560 0 0 0 0 0 0 0 0 0 0 0 0 15590 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1561 0 0 0 0 0 0 0 0 0 0 0 0 15600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1562 0 0 0 0 0 0 0 0 0 0 0 0 15610 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1563 0 0 0 0 0 0 0 0 0 0 0 0 15620 0 0 85 85 85 170 170 170 255 255 255 255 255 255 255 255 255
1564 0 0 0 0 0 0 0 0 0 0 0 0 1563170 170 170 170 170 170 85 85 85 0 0 0
1565 0 0 0 0 0 0 0 0 0 0 0 0 15640 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1566 0 0 0 0 0 0 0 0 0 0 0 0 15650 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1567 0 0 0 0 0 0 0 0 0 0 0 0 15660 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1568 0 0 0 0 0 0 0 0 0 0 0 0 15670 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1569 0 0 0 0 0 0 0 0 0 0 0 0 15680 0 0 0 0 0 0 0 0 0 0 0 85 85 85 85 85 85
1570 0 0 0 0 0 0 0 0 0 0 0 0 156985 85 85 85 85 85 85 85 85 85 85 85 0 0 0 85 85 85
1571 0 0 0 0 0 0 0 0 0 0 0 0 15700 0 0 0 0 0 85 85 85 0 0 0 85 85 85 0 0 0
1572 0 0 0 0 0 0 0 0 0 0 0 0 15710 0 0 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
1573 0 0 0 0 0 0 0 0 0 0 0 0 15720 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
1574 0 0 0 0 0 0 0 0 0 0 0 0 15730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
1575 0 0 0 0 0 0 0 0 0 0 0 0 15740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1576 0 0 0 0 0 0 0 0 0 0 0 0 15750 0 0 85 85 85 0 0 0 0 0 0 85 85 85 0 0 0
1577 0 0 0 0 0 0 0 0 0 0 0 0 15760 0 0 0 0 0 85 85 85 0 0 0 85 85 85 0 0 0
1578 0 0 0 0 0 0 0 0 0 0 0 0 157785 85 85 0 0 0 85 85 85 0 0 0 85 85 85 0 0 0
1579 0 0 0 0 0 0 0 0 0 0 0 0 15780 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1580 0 0 0 0 0 0 0 0 0 0 0 0 15790 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1581 0 0 0 0 0 0 0 0 0 0 0 0 15800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1582 0 0 0 0 0 0 0 0 0 0 0 0 15810 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1583 0 0 0 0 0 0 0 0 0 0 0 0 15820 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1584 0 0 0 0 0 0 0 0 0 0 0 0 15830 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1585 0 0 0 0 0 0 0 0 0 0 0 0 15840 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1586 0 0 0 0 0 0 0 0 0 0 0 0 15850 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
1587 0 0 0 0 0 0 0 0 0 0 0 0 1586170 170 170 170 170 170 255 255 255 255 255 255 255 255 255 170 170 170
1588 0 0 0 0 0 0 0 0 0 0 0 0 1587170 170 170 170 170 170 0 0 0 0 0 0
1589 0 0 0 0 0 0 0 0 0 0 0 0 15880 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1590 0 0 0 0 0 0 0 0 0 0 0 0 15890 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1591 0 0 0 0 0 0 0 0 0 0 0 0 15900 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1592 0 0 0 0 0 0 0 0 0 0 0 0 15910 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1593 0 0 0 0 0 0 0 0 0 0 0 0 15920 0 0 0 0 0 0 0 0 0 0 0 85 85 85 85 85 85
1594 0 0 0 0 0 0 0 0 0 0 0 0 159385 85 85 85 85 85 85 85 85 85 85 85 0 0 0 85 85 85
1595 0 0 0 0 0 0 0 0 0 0 0 0 15940 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1596 0 0 0 0 0 0 0 0 0 0 0 0 15950 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
1597 0 0 0 0 0 0 0 0 0 0 0 0 15960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1598 0 0 0 0 0 0 0 0 0 0 0 0 15970 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
1599 0 0 0 0 0 0 0 0 0 0 0 0 15980 0 0 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
1600 0 0 0 0 0 0 0 0 0 0 0 0 15990 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1601 0 0 0 0 0 0 0 0 0 0 0 0 16000 0 0 0 0 0 85 85 85 0 0 0 85 85 85 0 0 0
1602 0 0 0 0 0 0 0 0 0 0 0 0 160185 85 85 0 0 0 85 85 85 0 0 0 0 0 0 85 85 85
1603 0 0 0 0 0 0 0 0 0 0 0 0 16020 0 0 85 85 85 0 0 0 0 0 0 85 85 85 0 0 0
1604 0 0 0 0 0 0 0 0 0 0 0 0 16030 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
16040 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16050 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16060 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16070 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16080 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16090 0 0 0 0 0 0 0 0 0 0 0 170 170 170 170 170 170
1610170 170 170 255 255 255 255 255 255 255 255 255 170 170 170 170 170 170
1611170 170 170 0 0 0 0 0 0 0 0 0
16120 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16130 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16140 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16150 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16160 0 0 0 0 0 0 0 0 85 85 85 85 85 85 85 85 85
161785 85 85 85 85 85 85 85 85 0 0 0 85 85 85 0 0 0
161885 85 85 0 0 0 85 85 85 0 0 0 0 0 0 85 85 85
16190 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
162085 85 85 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
162185 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
162285 85 85 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
16230 0 0 0 0 0 85 85 85 0 0 0 0 0 0 85 85 85
16240 0 0 0 0 0 85 85 85 85 85 85 85 85 85 85 85 85
16250 0 0 85 85 85 0 0 0 85 85 85 0 0 0 0 0 0
16260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16280 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16290 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16310 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16320 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16330 0 0 0 0 0 85 85 85 170 170 170 170 170 170 170 170 170
1634255 255 255 255 255 255 255 255 255 255 255 255 170 170 170 170 170 170
16350 0 0 0 0 0 0 0 0 0 0 0
16360 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16370 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16380 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16390 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16400 0 0 0 0 0 0 0 0 85 85 85 85 85 85 85 85 85
164185 85 85 85 85 85 85 85 85 85 85 85 0 0 0 0 0 0
16420 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16430 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
16440 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16450 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16470 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16480 0 0 85 85 85 85 85 85 85 85 85 85 85 85 0 0 0
164985 85 85 0 0 0 85 85 85 0 0 0 85 85 85 0 0 0
165085 85 85 85 85 85 85 85 85 0 0 0 0 0 0 0 0 0
16510 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16530 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16540 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16550 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16560 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
165785 85 85 170 170 170 170 170 170 255 255 255 255 255 255 255 255 255
1658255 255 255 255 255 255 170 170 170 170 170 170 85 85 85 0 0 0
16590 0 0 0 0 0 0 0 0 0 0 0
16600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16610 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16620 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16630 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
16640 0 0 0 0 0 0 0 0 85 85 85 85 85 85 85 85 85
166585 85 85 85 85 85 85 85 85 0 0 0 85 85 85 0 0 0
166685 85 85 0 0 0 85 85 85 0 0 0 85 85 85 0 0 0
16670 0 0 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
16680 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16690 0 0 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
16700 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
167185 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
167285 85 85 0 0 0 170 170 170 255 255 255 85 85 85 85 85 85
167385 85 85 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
167485 85 85 170 170 170 85 85 85 0 0 0 0 0 0 0 0 0
167585 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16770 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16780 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16790 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
1681170 170 170 170 170 170 255 255 255 170 170 170 255 255 255 255 255 255
1682255 255 255 255 255 255 170 170 170 170 170 170 85 85 85 0 0 0
16830 0 0 0 0 0 0 0 0 0 0 0
16840 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16850 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16860 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
168785 85 85 170 170 170 85 85 85 0 0 0 0 0 0 0 0 0
16880 0 0 0 0 0 85 85 85 85 85 85 85 85 85 85 85 85
168985 85 85 85 85 85 0 0 0 85 85 85 0 0 0 0 0 0
16900 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16910 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16920 0 0 85 85 85 0 0 0 0 0 0 85 85 85 0 0 0
16930 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
16940 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16950 0 0 0 0 0 85 85 85 0 0 0 0 0 0 85 85 85
16960 0 0 85 85 85 170 170 170 255 255 255 170 170 170 85 85 85
16970 0 0 85 85 85 0 0 0 85 85 85 0 0 0 85 85 85
1698255 255 255 170 170 170 85 85 85 0 0 0 0 0 0 0 0 0
16990 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
17000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17030 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17040 0 0 0 0 0 0 0 0 0 0 0 85 85 85 85 85 85
1705255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
1706170 170 170 170 170 170 85 85 85 0 0 0 0 0 0 0 0 0
17070 0 0 0 0 0 0 0 0 0 0 0
17080 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17090 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
171185 85 85 255 255 255 170 170 170 85 85 85 0 0 0 0 0 0
17120 0 0 0 0 0 85 85 85 85 85 85 85 85 85 0 0 0
171385 85 85 85 85 85 0 0 0 85 85 85 0 0 0 85 85 85
17140 0 0 85 85 85 0 0 0 0 0 0 0 0 0 85 85 85
17150 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
17160 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17170 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
171885 85 85 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
17190 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
172085 85 85 85 85 85 255 255 255 255 255 255 255 255 255 85 85 85
172185 85 85 0 0 0 85 85 85 0 0 0 85 85 85 170 170 170
1722255 255 255 170 170 170 0 0 0 0 0 0 85 85 85 0 0 0
17230 0 0 85 85 85 170 170 170 85 85 85 0 0 0 0 0 0
17240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17280 0 0 0 0 0 85 85 85 0 0 0 85 85 85 170 170 170
1729170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 170 170 170
1730170 170 170 170 170 170 0 0 0 0 0 0 0 0 0 0 0 0
17310 0 0 0 0 0 0 0 0 0 0 0
17320 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17330 0 0 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
17340 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1735170 170 170 255 255 255 255 255 255 170 170 170 0 0 0 0 0 0
17360 0 0 0 0 0 85 85 85 85 85 85 85 85 85 0 0 0
173785 85 85 85 85 85 85 85 85 0 0 0 0 0 0 0 0 0
17380 0 0 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
17390 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
17400 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17410 0 0 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
17420 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17430 0 0 0 0 0 0 0 0 85 85 85 0 0 0 85 85 85
174485 85 85 170 170 170 255 255 255 255 255 255 255 255 255 85 85 85
174585 85 85 0 0 0 85 85 85 0 0 0 85 85 85 255 255 255
1746255 255 255 170 170 170 0 0 0 0 0 0 0 0 0 0 0 0
174785 85 85 170 170 170 170 170 170 85 85 85 0 0 0 0 0 0
17480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17490 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17510 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
175285 85 85 0 0 0 85 85 85 85 85 85 85 85 85 85 85 85
1753170 170 170 255 255 255 255 255 255 255 255 255 170 170 170 170 170 170
175485 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17550 0 0 0 0 0 0 0 0 0 0 0
17560 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17570 0 0 0 0 0 0 0 0 85 85 85 170 170 170 170 170 170
17580 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1759170 170 170 255 255 255 255 255 255 255 255 255 85 85 85 0 0 0
17600 0 0 85 85 85 85 85 85 85 85 85 85 85 85 0 0 0
176185 85 85 85 85 85 0 0 0 85 85 85 0 0 0 85 85 85
17620 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
17630 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17640 0 0 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
176585 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17660 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
17670 0 0 85 85 85 0 0 0 0 0 0 85 85 85 0 0 0
176885 85 85 170 170 170 255 255 255 255 255 255 255 255 255 170 170 170
17690 0 0 85 85 85 0 0 0 85 85 85 170 170 170 255 255 255
1770255 255 255 170 170 170 85 85 85 0 0 0 0 0 0 0 0 0
177185 85 85 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0
17720 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17750 0 0 0 0 0 0 0 0 85 85 85 0 0 0 85 85 85
17760 0 0 85 85 85 85 85 85 0 0 0 85 85 85 85 85 85
1777170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 85 85 85
17780 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17790 0 0 0 0 0 0 0 0 0 0 0
17800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17810 0 0 0 0 0 0 0 0 0 0 0 170 170 170 255 255 255
1782170 170 170 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
178385 85 85 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0
17840 0 0 85 85 85 85 85 85 0 0 0 85 85 85 0 0 0
178585 85 85 85 85 85 0 0 0 0 0 0 85 85 85 0 0 0
17860 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
17870 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
17880 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17890 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17900 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
17910 0 0 0 0 0 0 0 0 85 85 85 85 85 85 85 85 85
179285 85 85 255 255 255 255 255 255 255 255 255 170 170 170 170 170 170
179385 85 85 0 0 0 0 0 0 85 85 85 170 170 170 255 255 255
1794255 255 255 170 170 170 0 0 0 0 0 0 0 0 0 0 0 0
1795170 170 170 255 255 255 170 170 170 0 0 0 0 0 0 0 0 0
179685 85 85 170 170 170 0 0 0 0 0 0 0 0 0 0 0 0
17970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17990 0 0 85 85 85 0 0 0 0 0 0 85 85 85 0 0 0
180085 85 85 85 85 85 0 0 0 85 85 85 85 85 85 0 0 0
180185 85 85 85 85 85 170 170 170 85 85 85 85 85 85 0 0 0
18020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18030 0 0 0 0 0 0 0 0 0 0 0
18040 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18050 0 0 0 0 0 0 0 0 0 0 0 85 85 85 170 170 170
1806255 255 255 170 170 170 0 0 0 0 0 0 0 0 0 0 0 0
180785 85 85 170 170 170 255 255 255 255 255 255 255 255 255 170 170 170
18080 0 0 85 85 85 85 85 85 85 85 85 0 0 0 0 0 0
180985 85 85 85 85 85 0 0 0 85 85 85 0 0 0 0 0 0
18100 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
18110 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
18120 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
18130 0 0 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
181485 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18150 0 0 0 0 0 85 85 85 0 0 0 85 85 85 0 0 0
1816170 170 170 170 170 170 255 255 255 170 170 170 255 255 255 85 85 85
18170 0 0 85 85 85 0 0 0 85 85 85 170 170 170 255 255 255
1818170 170 170 170 170 170 0 0 0 0 0 0 0 0 0 85 85 85
1819170 170 170 255 255 255 255 255 255 0 0 0 0 0 0 85 85 85
1820255 255 255 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
18210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18220 0 0 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
182385 85 85 0 0 0 85 85 85 0 0 0 85 85 85 85 85 85
182485 85 85 0 0 0 85 85 85 85 85 85 0 0 0 85 85 85
18250 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
18260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18270 0 0 0 0 0 0 0 0 0 0 0
18280 0 0 0 0 0 0 0 0 85 85 85 85 85 85 0 0 0
18290 0 0 0 0 0 0 0 0 0 0 0 85 85 85 255 255 255
1830255 255 255 255 255 255 170 170 170 0 0 0 0 0 0 0 0 0
183185 85 85 170 170 170 255 255 255 170 170 170 170 170 170 170 170 170
183285 85 85 85 85 85 0 0 0 85 85 85 0 0 0 85 85 85
183385 85 85 0 0 0 85 85 85 0 0 0 0 0 0 85 85 85
18340 0 0 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
18350 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18360 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
18370 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18380 0 0 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
183985 85 85 0 0 0 85 85 85 0 0 0 85 85 85 85 85 85
184085 85 85 170 170 170 255 255 255 170 170 170 170 170 170 85 85 85
184185 85 85 0 0 0 85 85 85 85 85 85 85 85 85 170 170 170
1842170 170 170 85 85 85 85 85 85 0 0 0 0 0 0 85 85 85
1843170 170 170 170 170 170 85 85 85 0 0 0 0 0 0 170 170 170
1844170 170 170 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18450 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18460 0 0 85 85 85 0 0 0 0 0 0 0 0 0 85 85 85
18470 0 0 85 85 85 0 0 0 85 85 85 0 0 0 85 85 85
18480 0 0 85 85 85 0 0 0 85 85 85 0 0 0 0 0 0
184985 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18510 0 0 0 0 0 0 0 0 0 0 0
18520 0 0 0 0 0 0 0 0 0 0 0 170 170 170 170 170 170
185385 85 85 0 0 0 0 0 0 0 0 0 0 0 0 170 170 170
1854255 255 255 170 170 170 170 170 170 85 85 85 0 0 0 0 0 0
18550 0 0 85 85 85 170 170 170 170 170 170 255 255 85 85 85 85
185685 85 85 85 85 85 85 85 85 0 0 0 0 0 0 0 0 0
185785 85 85 85 85 85 0 0 0 85 85 85 0 0 0 0 0 0
18580 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18590 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
18600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18610 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
18620 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
186385 85 85 0 0 0 85 85 85 85 85 85 0 0 0 85 85 85
186485 85 85 170 170 170 170 170 170 170 170 170 170 85 0 85 85 85
18650 0 0 85 85 85 0 0 0 85 85 85 170 170 170 170 85 0
1866170 170 170 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
1867170 85 0 170 170 170 85 85 85 0 0 0 85 85 85 85 85 85
1868170 170 170 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18690 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
18700 0 0 0 0 0 85 85 85 0 0 0 85 85 85 0 0 0
187185 85 85 0 0 0 85 85 85 0 0 0 85 85 85 0 0 0
187285 85 85 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
18730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18750 0 0 0 0 0 0 0 0 0 0 0
18760 0 0 0 0 0 0 0 0 0 0 0 170 170 170 255 255 255
1877170 170 170 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
1878255 255 255 170 170 170 170 170 170 85 85 85 0 0 0 0 0 0
18790 0 0 85 85 85 170 85 0 170 170 170 170 170 170 85 85 85
188085 85 85 0 0 0 85 85 85 0 0 0 85 85 85 0 0 0
188185 85 85 0 0 0 85 85 85 0 0 0 0 0 0 85 85 85
18820 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
18830 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
18840 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
18850 0 0 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
18860 0 0 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
188785 85 85 0 0 0 85 85 85 0 0 0 85 85 85 85 85 85
188885 85 85 170 85 0 85 255 85 170 85 0 170 170 170 85 85 85
188985 85 85 0 0 0 0 0 0 85 85 85 170 85 0 85 255 85
1890170 85 0 85 85 85 0 0 0 85 85 85 0 0 0 85 85 85
189185 85 85 85 85 85 170 85 0 0 0 0 85 85 85 85 85 85
189285 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18930 0 0 85 85 85 0 0 0 0 0 0 85 85 85 0 0 0
18940 0 0 85 85 85 0 0 0 85 85 85 0 0 0 85 85 85
18950 0 0 85 85 85 0 0 0 85 85 85 0 0 0 85 85 85
18960 0 0 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
18970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18990 0 0 0 0 0 0 0 0 0 0 0
19000 0 0 0 0 0 0 0 0 0 0 0 85 85 85 255 255 255
1901255 255 255 170 170 170 0 0 0 0 0 0 0 0 0 0 0 0
1902170 170 170 170 170 170 170 170 170 85 85 85 0 0 0 0 0 0
19030 0 0 0 0 0 170 170 170 170 85 0 170 170 170 170 85 0
190485 85 85 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
190585 85 85 85 85 85 0 0 0 0 0 0 85 85 85 0 0 0
19060 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
190785 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19080 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19090 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
191085 85 85 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
191185 85 85 0 0 0 85 85 85 85 85 85 85 85 85 0 0 0
191285 85 85 85 85 85 255 85 85 170 170 170 85 255 85 170 85 0
191385 85 85 85 85 85 170 85 0 85 85 85 170 170 170 85 85 85
1914170 170 170 170 85 0 85 85 85 85 85 85 85 85 85 85 85 85
1915170 85 0 85 255 85 85 85 85 85 85 85 85 85 85 170 85 0
191685 85 85 0 0 0 85 85 85 0 0 0 0 0 0 85 85 85
19170 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
191885 85 85 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
19190 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
19200 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
19210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19230 0 0 0 0 0 0 0 0 0 0 0
192485 85 85 85 85 85 0 0 0 0 0 0 0 0 0 170 170 170
1925255 255 255 170 170 170 0 0 0 0 0 0 0 0 0 0 0 0
192685 85 85 170 85 0 170 170 170 170 85 0 85 85 85 0 0 0
192785 85 85 85 85 85 85 255 85 170 170 170 170 170 170 170 85 0
192885 85 85 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
192985 85 85 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
193085 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19310 0 0 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
19320 0 0 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
19330 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
19340 0 0 0 0 0 0 0 0 0 0 0 85 85 85 85 85 85
19350 0 0 85 85 85 85 85 85 0 0 0 85 85 85 85 85 85
193685 85 85 85 85 85 85 255 85 255 85 85 170 170 170 170 170 170
1937170 170 170 85 255 85 170 170 170 170 85 0 170 170 170 170 85 0
1938170 170 170 85 85 85 85 255 85 170 85 0 170 170 170 170 85 0
1939170 170 170 170 170 170 170 85 0 85 85 85 85 85 85 85 255 85
194085 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19410 0 0 85 85 85 0 0 0 85 85 85 0 0 0 0 0 0
19420 0 0 0 0 0 85 85 85 0 0 0 0 0 0 85 85 85
19430 0 0 85 85 85 0 0 0 0 0 0 85 85 85 0 0 0
19440 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19450 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19470 0 0 0 0 0 0 0 0 0 0 0
19480 0 0 170 170 170 170 170 170 0 0 0 0 0 0 85 85 85
1949170 170 170 170 170 170 85 85 85 0 0 0 0 0 0 0 0 0
195085 85 85 85 85 85 255 255 85 85 85 85 85 85 85 85 85 85
195185 255 85 255 85 85 170 170 170 170 85 0 170 170 170 85 255 85
195285 85 85 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
195385 85 85 85 85 85 0 0 0 0 0 0 85 85 85 0 0 0
19540 0 0 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
19550 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19560 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
19570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19580 0 0 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
195985 85 85 0 0 0 85 85 85 85 85 85 85 85 85 0 0 0
196085 85 85 85 85 85 170 85 0 170 170 170 170 170 170 255 255 85
1961170 170 170 255 85 85 170 170 170 170 170 170 255 255 85 170 170 170
196285 255 85 170 170 170 255 85 85 170 170 170 170 170 170 170 170 170
1963170 170 170 170 170 170 170 170 170 170 85 0 170 170 170 170 85 0
196485 85 85 0 0 0 0 0 0 85 85 85 0 0 0 85 85 85
19650 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
196685 85 85 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
19670 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19680 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19690 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19710 0 0 0 0 0 0 0 0 0 0 0
19720 0 0 85 85 85 170 170 170 85 85 85 0 0 0 85 85 85
197385 85 85 170 85 0 85 85 85 0 0 0 85 85 85 85 85 85
197485 85 85 170 85 0 170 170 170 170 170 170 255 255 85 170 170 170
1975170 170 170 170 170 170 255 255 85 170 170 170 170 170 170 255 85 85
197685 85 85 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
197785 85 85 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
197885 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19790 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19810 0 0 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
198285 85 85 0 0 0 85 85 85 0 0 0 85 85 85 0 0 0
198385 85 85 85 85 85 0 0 0 85 85 85 85 85 85 85 85 85
198485 85 85 85 85 85 170 170 170 255 255 85 170 170 170 170 170 170
1985170 170 170 255 255 85 170 170 170 170 170 170 170 170 170 170 85 0
1986170 170 170 255 255 85 170 170 170 255 255 85 170 170 170 255 255 85
1987170 170 170 255 255 85 170 170 170 170 170 170 85 255 85 170 85 0
198885 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19890 0 0 85 85 85 0 0 0 0 0 0 85 85 85 0 0 0
19900 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
19910 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
19920 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19930 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19940 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19950 0 0 0 0 0 0 0 0 0 0 0
19960 0 0 0 0 0 170 170 170 85 85 85 85 85 85 0 0 0
199785 85 85 85 85 85 170 170 170 85 85 85 170 170 170 170 85 0
1998170 170 170 85 255 85 170 170 170 170 85 0 170 170 170 170 170 170
1999255 255 85 170 170 170 170 170 170 255 255 255 255 255 85 170 170 170
2000255 255 85 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
200185 85 85 85 85 85 0 0 0 0 0 0 85 85 85 0 0 0
20020 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
20030 0 0 85 85 85 0 0 0 0 0 0 85 85 85 0 0 0
20040 0 0 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
200585 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20060 0 0 85 85 85 85 85 85 85 85 85 0 0 0 0 0 0
20070 0 0 0 0 0 85 85 85 0 0 0 85 85 85 0 0 0
200885 85 85 170 85 0 170 170 170 170 170 170 170 170 170 255 255 255
2009170 170 170 255 255 255 255 255 85 170 170 170 255 255 85 170 170 170
2010255 255 85 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170
2011170 170 170 170 170 170 170 170 170 255 85 85 170 170 170 170 170 170
201285 85 85 85 85 85 0 0 0 0 0 0 85 85 85 0 0 0
20130 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20140 0 0 85 85 85 0 0 0 85 85 85 0 0 0 0 0 0
20150 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20160 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20170 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20180 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20190 0 0 0 0 0 0 0 0 0 0 0
20200 0 0 0 0 0 85 85 85 85 85 85 170 85 0 85 85 85
202185 85 85 255 255 85 170 170 170 170 170 170 170 170 170 170 170 170
2022255 255 85 170 170 170 170 170 170 255 255 85 170 170 170 170 170 170
2023170 170 170 255 255 255 255 255 255 170 170 170 255 255 255 170 170 170
2024170 170 170 85 85 85 85 85 85 0 0 0 0 0 0 85 85 85
20250 0 0 85 85 85 0 0 0 85 85 85 0 0 0 0 0 0
20260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20280 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20290 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
203085 85 85 170 170 170 170 170 170 85 85 85 0 0 0 0 0 0
20310 0 0 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85
203285 85 85 85 255 85 170 170 170 255 255 85 255 255 255 255 255 255
2033255 255 255 170 170 170 255 255 255 170 170 170 170 170 170 170 170 170
2034170 170 170 170 170 170 255 255 85 170 170 170 255 255 85 255 255 255
2035255 255 85 255 255 255 255 255 85 170 170 170 170 170 170 170 85 0
2036170 170 170 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
203785 85 85 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
20380 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20390 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20400 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20410 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20420 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20430 0 0 0 0 0 0 0 0 0 0 0
20440 0 0 0 0 0 0 0 0 85 85 85 85 85 85 85 85 85
204585 85 85 170 170 170 255 255 85 170 170 170 255 255 85 170 170 170
2046170 170 170 255 255 85 170 170 170 170 170 170 170 170 170 255 255 85
2047255 255 255 255 255 255 255 255 85 255 255 255 255 255 255 170 170 170
2048255 255 85 85 85 85 85 85 85 0 0 0 0 0 0 85 85 85
204985 85 85 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
20500 0 0 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
20510 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20520 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
20530 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
205485 85 85 170 170 170 170 170 170 0 0 0 0 0 0 0 0 0
205585 85 85 0 0 0 85 85 85 0 0 0 85 85 85 0 0 0
205685 85 85 170 170 170 170 170 170 170 170 170 255 255 255 170 170 170
2057255 255 255 255 255 255 255 255 255 170 170 170 170 170 170 255 255 85
2058170 170 170 255 255 85 170 170 170 255 255 255 170 170 170 255 255 255
2059255 255 255 255 255 255 170 170 170 255 255 85 170 170 170 255 255 85
206085 85 85 85 85 85 0 0 0 0 0 0 85 85 85 0 0 0
20610 0 0 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
20620 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
20630 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20640 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20650 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20660 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20670 0 0 0 0 0 0 0 0 0 0 0
20680 0 0 0 0 0 0 0 0 85 85 85 170 85 0 170 170 170
2069255 255 85 170 170 170 170 170 170 255 255 255 255 255 255 255 255 255
2070170 170 170 170 170 170 170 170 170 255 255 85 170 170 170 170 170 170
2071255 255 255 170 170 170 255 255 255 255 255 255 170 170 170 255 255 255
2072170 170 170 170 170 170 85 85 85 0 0 0 85 85 85 0 0 0
207385 85 85 0 0 0 85 85 85 0 0 0 85 85 85 0 0 0
20740 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
20750 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
20770 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
207885 85 85 170 170 170 0 0 0 0 0 0 0 0 0 0 0 0
20790 0 0 85 85 85 0 0 0 85 85 85 85 85 85 0 0 0
208085 85 85 170 85 0 255 255 255 170 170 170 255 255 255 255 255 255
2081255 255 85 255 255 255 170 170 170 255 255 85 170 170 170 170 170 170
2082170 170 170 170 170 170 170 170 170 255 255 85 255 255 255 255 255 255
2083170 170 170 255 255 255 255 255 255 170 170 170 170 170 170 170 170 170
208485 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20850 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
20860 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20870 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20880 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20890 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20900 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20910 0 0 0 0 0 0 0 0 0 0 0
20920 0 0 0 0 0 0 0 0 85 85 85 85 255 85 170 170 170
2093170 170 170 255 255 85 170 170 170 255 255 255 170 170 170 255 255 255
2094255 255 255 255 255 255 255 255 85 170 170 170 170 170 170 255 255 255
2095170 170 170 255 255 255 255 255 255 170 170 170 255 255 255 255 255 85
2096170 170 170 170 85 0 85 85 85 0 0 0 0 0 0 85 85 85
20970 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
20980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20990 0 0 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
21000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
210285 85 85 85 85 85 0 0 0 0 0 0 0 0 0 85 85 85
210385 85 85 85 85 85 0 0 0 85 85 85 0 0 0 0 0 0
210485 85 85 170 170 170 170 170 170 255 255 85 170 170 170 255 255 255
2105255 255 255 170 170 170 255 255 255 170 170 170 170 170 170 255 255 85
2106170 170 170 255 255 85 170 170 170 255 255 255 170 170 170 255 255 255
2107255 255 255 255 255 255 255 255 255 255 255 255 170 170 170 255 255 85
210885 85 85 85 85 85 0 0 0 0 0 0 85 85 85 0 0 0
21090 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
21100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21110 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21120 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21130 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21140 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21150 0 0 0 0 0 0 0 0 0 0 0
21160 0 0 0 0 0 0 0 0 85 85 85 170 85 0 170 170 170
2117170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
2118170 170 170 170 170 170 170 170 170 170 170 170 255 255 85 170 170 170
2119255 255 85 255 255 255 170 170 170 255 255 255 170 170 170 170 170 170
2120170 170 170 170 170 170 85 85 85 0 0 0 85 85 85 85 85 85
21210 0 0 85 85 85 0 0 0 85 85 85 0 0 0 0 0 0
21220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
212385 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21260 0 0 0 0 0 0 0 0 0 0 0 85 85 85 85 85 85
212785 85 85 85 85 85 0 0 0 85 85 85 0 0 0 0 0 0
212885 85 85 85 85 85 170 170 170 170 170 170 255 255 255 170 170 170
2129255 255 255 170 170 170 255 255 85 170 170 170 170 170 170 170 170 170
2130255 85 85 170 170 170 170 170 170 170 170 170 255 255 255 255 255 255
2131170 170 170 255 255 255 255 255 255 170 170 170 255 255 255 170 170 170
213285 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21330 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
21340 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21350 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21360 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21370 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21380 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21390 0 0 0 0 0 0 0 0 0 0 0
21400 0 0 0 0 0 0 0 0 85 85 85 85 85 85 170 170 170
2141255 255 85 170 170 170 255 255 255 170 170 170 255 255 255 255 255 255
2142255 255 85 255 255 255 170 170 170 255 255 85 170 170 170 170 170 170
2143170 170 170 170 170 170 255 255 85 170 170 170 170 170 170 255 255 85
2144170 170 170 170 85 0 85 85 85 0 0 0 85 85 85 0 0 0
21450 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
214685 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21470 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21480 0 0 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
21490 0 0 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
21500 0 0 0 0 0 0 0 0 0 0 0 170 170 170 170 170 170
2151170 170 170 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
21520 0 0 85 85 85 170 170 170 255 255 85 170 170 170 170 170 170
2153255 255 85 170 170 170 170 170 170 170 170 170 170 170 170 255 85 85
215485 255 85 170 170 170 170 170 170 170 170 170 255 255 85 170 170 170
2155255 255 255 255 255 255 255 255 255 255 255 85 170 170 170 170 170 170
215685 85 85 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
21570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21580 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21590 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21610 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21620 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21630 0 0 0 0 0 0 0 0 0 0 0
21640 0 0 0 0 0 0 0 0 0 0 0 85 85 85 255 255 85
2165170 170 170 170 170 170 255 255 255 255 255 255 255 255 255 170 170 170
2166255 255 255 170 170 170 170 170 170 170 170 170 170 170 170 255 85 85
2167170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 170
2168170 170 170 85 85 85 85 85 85 0 0 0 85 85 85 0 0 0
216985 85 85 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
21700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
217285 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21740 0 0 0 0 0 0 0 0 170 170 170 170 170 170 170 170 170
217585 85 85 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
21760 0 0 85 85 85 170 85 0 170 170 170 170 170 170 170 170 170
2177170 170 170 170 170 170 170 170 170 170 85 0 170 170 170 85 255 85
2178255 85 85 170 170 170 255 255 85 170 170 170 170 170 170 255 255 255
2179255 255 255 170 170 170 255 255 255 255 255 255 170 170 170 170 170 170
21800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21810 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21820 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21830 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21840 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21850 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21860 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21870 0 0 0 0 0 0 0 0 0 0 0
21880 0 0 0 0 0 0 0 0 0 0 0 85 85 85 170 170 170
2189170 170 170 255 255 85 170 170 170 255 255 85 255 255 255 255 255 255
2190170 170 170 170 170 170 255 255 85 170 170 170 255 85 85 85 255 85
2191170 170 170 170 85 0 170 170 170 170 170 170 255 255 85 170 170 170
2192170 85 0 85 85 85 0 0 0 85 85 85 0 0 0 0 0 0
21930 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21940 0 0 0 0 0 0 0 0 85 85 85 0 0 0 0 0 0
21950 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21990 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
22000 0 0 85 85 85 85 85 85 85 85 85 170 170 170 255 255 85
2201170 170 170 170 85 0 170 170 170 170 170 170 170 85 0 85 85 85
2202170 170 170 170 85 0 85 85 85 170 170 170 170 170 170 170 170 170
2203170 170 170 255 255 255 255 255 255 255 255 85 170 170 170 170 170 170
22040 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
22050 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22060 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22070 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22080 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22090 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22110 0 0 0 0 0 0 0 0 0 0 0
22120 0 0 0 0 0 0 0 0 0 0 0 85 85 85 170 85 0
2213170 170 170 170 170 170 255 255 255 170 170 170 255 255 255 170 170 170
2214255 255 255 170 170 170 170 170 170 170 85 0 170 170 170 85 85 85
2215170 170 170 170 170 170 170 85 0 170 170 170 170 85 0 85 85 85
221685 255 85 85 85 85 0 0 0 0 0 0 0 0 0 85 85 85
22170 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
22180 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22190 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
222185 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22230 0 0 0 0 0 0 0 0 85 85 85 85 85 85 85 85 85
222485 85 85 0 0 0 85 85 85 170 85 0 85 85 85 170 170 170
2225170 85 0 170 170 170 85 255 85 170 85 0 170 170 170 85 85 85
2226170 85 0 170 170 170 170 170 170 255 255 85 170 170 170 255 255 255
2227255 255 85 255 255 255 170 170 170 170 170 170 170 170 170 170 85 0
22280 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22290 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22310 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22320 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22330 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22340 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22350 0 0 0 0 0 0 0 0 0 0 0
22360 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
2237170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 255 255 85
2238170 170 170 255 255 85 170 170 170 170 170 170 85 255 85 170 170 170
2239170 85 0 170 85 0 170 170 170 85 255 85 85 85 85 170 170 170
2240170 85 0 85 85 85 0 0 0 85 85 85 0 0 0 0 0 0
22410 0 0 0 0 0 0 0 0 0 0 0 85 85 85 0 0 0
22420 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22430 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22440 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22450 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22460 0 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
22470 0 0 0 0 0 0 0 0 85 85 85 170 170 170 85 85 85
22480 0 0 0 0 0 0 0 0 85 85 85 170 85 0 85 85 85
2249170 170 170 170 85 0 170 170 170 85 85 85 170 170 170 170 85 0
2250170 170 170 85 255 85 170 85 0 170 170 170 170 170 170 170 170 170
2251255 255 255 170 170 170 255 255 255 255 255 255 170 170 170 85 85 85
22520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22530 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22540 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22550 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22560 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22580 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22590 0 0 0 0 0 0 0 0 0 0 0
22600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2261170 85 0 170 170 170 255 255 85 170 170 170 255 255 255 170 170 170
2262170 170 170 170 170 170 170 170 170 170 85 0 170 170 170 170 85 0
2263170 170 170 85 255 85 170 85 0 170 170 170 170 85 0 85 85 85
226485 85 85 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
22650 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22660 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22670 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
22680 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22690 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22710 0 0 0 0 0 85 85 85 0 0 0 0 0 0 0 0 0
22720 0 0 0 0 0 0 0 0 85 85 85 85 85 85 85 85 85
227385 255 85 170 170 170 170 85 0 170 170 170 170 85 0 85 255 85
2274170 170 170 170 85 0 170 170 170 170 170 170 170 170 170 255 255 85
2275170 170 170 255 255 255 170 170 170 170 170 170 170 170 170 0 0 0
22760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22770 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22780 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22790 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22810 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22820 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22830 0 0 0 0 0 0 0 0 0 0 0
22840 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
228585 85 85 170 85 0 85 85 85 170 170 170 255 255 85 170 170 170
2286170 170 170 255 255 85 170 170 170 170 170 170 170 170 170 170 85 0
2287170 170 170 85 85 85 170 170 170 170 85 0 170 170 170 85 85 85
2288170 85 0 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
22890 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22900 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22910 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22920 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22930 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22940 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22950 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22960 0 0 0 0 0 85 85 85 0 0 0 85 85 85 170 85 0
229785 85 85 255 85 85 85 255 85 170 85 0 170 170 170 170 170 170
2298170 85 0 170 170 170 85 85 85 255 255 85 170 170 170 170 170 170
2299255 255 255 170 170 170 255 255 255 255 255 85 85 85 85 0 0 0
23000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23030 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23040 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23050 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23060 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23070 0 0 0 0 0 0 0 0 0 0 0
23080 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23090 0 0 85 85 85 170 170 170 170 85 0 170 170 170 170 170 170
2310170 170 170 170 170 170 170 170 170 255 255 85 85 85 85 170 170 170
231185 255 85 255 85 85 170 170 170 85 255 85 255 85 85 85 255 85
231285 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23130 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23140 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23150 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23160 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23170 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23180 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23190 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23200 0 0 0 0 0 85 85 85 85 85 85 0 0 0 85 85 85
232185 85 85 85 255 85 255 85 85 170 170 170 85 255 85 170 85 0
2322170 170 170 170 170 170 255 255 85 170 170 170 170 170 170 255 255 255
2323170 170 170 255 255 255 170 170 170 170 170 170 85 85 85 0 0 0
23240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23280 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23290 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23310 0 0 0 0 0 0 0 0 0 0 0
23320 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23330 0 0 0 0 0 85 85 85 170 170 170 85 85 85 255 255 85
2334170 170 170 255 255 85 170 170 170 170 170 170 170 170 170 255 255 85
233585 85 85 255 255 85 170 170 170 170 85 0 170 170 170 85 85 85
2336170 85 0 85 85 85 85 85 85 0 0 0 0 0 0 0 0 0
23370 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23380 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23390 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23400 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23410 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23420 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23430 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23440 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
2345170 170 170 170 85 0 170 170 170 170 85 0 170 170 170 170 170 170
2346170 85 0 170 170 170 170 170 170 170 170 170 255 255 85 170 170 170
2347255 255 85 255 255 255 170 170 170 170 170 170 85 85 85 0 0 0
23480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23490 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23510 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23530 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23540 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23550 0 0 0 0 0 0 0 0 0 0 0
23560 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23570 0 0 0 0 0 85 85 85 170 85 0 85 85 85 170 170 170
2358170 85 0 170 170 170 170 170 170 255 255 85 170 170 170 170 170 170
2359170 170 170 170 170 170 170 170 170 255 255 85 170 170 170 170 85 0
236085 85 85 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
23610 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23620 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23630 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23640 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23650 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23660 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23670 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23680 0 0 0 0 0 0 0 0 0 0 0 85 85 85 85 85 85
2369170 85 0 85 255 85 170 170 170 170 170 170 255 255 85 170 170 170
2370255 255 85 170 170 170 170 170 170 170 170 170 255 255 255 255 255 255
2371255 255 255 170 170 170 255 255 85 85 85 85 0 0 0 0 0 0
23720 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23750 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23770 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23780 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23790 0 0 0 0 0 0 0 0 0 0 0
23800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23810 0 0 0 0 0 0 0 0 85 85 85 85 85 85 170 85 0
2382170 170 170 170 170 170 170 170 170 170 170 170 170 170 170 255 255 85
2383170 170 170 255 255 85 170 170 170 170 170 170 170 170 170 170 170 170
2384170 170 170 85 85 85 85 85 85 0 0 0 0 0 0 0 0 0
23850 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23860 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23870 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23880 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23890 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23900 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23910 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23920 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
239385 85 85 170 85 0 170 170 170 170 85 0 170 170 170 170 170 170
2394170 170 170 255 255 85 170 170 170 255 255 85 170 170 170 255 255 255
2395170 170 170 255 255 255 170 170 170 85 85 85 0 0 0 0 0 0
23960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
23990 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24030 0 0 0 0 0 0 0 0 0 0 0
24040 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24050 0 0 0 0 0 0 0 0 85 85 85 85 85 85 85 85 85
2406170 85 0 170 170 170 170 85 0 255 255 85 170 170 170 170 170 170
2407170 170 170 170 170 170 255 255 85 170 170 170 255 255 85 170 170 170
2408255 255 85 85 85 85 85 85 85 0 0 0 0 0 0 0 0 0
24090 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24110 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24120 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24130 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24140 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24150 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24160 0 0 0 0 0 0 0 0 0 0 0 85 85 85 85 85 85
241785 85 85 170 170 170 255 255 85 170 170 170 255 255 85 170 170 170
2418170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
2419170 170 170 170 170 170 170 170 170 0 0 0 0 0 0 0 0 0
24200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24230 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24270 0 0 0 0 0 0 0 0 0 0 0
24280 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24290 0 0 0 0 0 0 0 0 0 0 0 0 170 0 85 85 85
2430170 85 0 85 255 85 170 170 170 170 170 170 170 170 170 255 255 85
2431255 255 255 170 170 170 255 255 255 170 170 170 255 255 255 170 170 170
2432170 170 170 255 255 85 85 85 85 0 0 0 0 0 0 0 0 0
24330 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24340 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24350 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24360 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24370 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24380 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24390 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24400 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
2441170 85 0 170 170 170 170 170 170 170 170 170 170 170 170 255 255 85
2442170 170 170 255 255 255 170 170 170 255 255 255 170 170 170 255 255 255
2443255 255 255 255 255 85 85 85 85 0 0 0 0 0 0 0 0 0
24440 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24450 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24470 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24490 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24510 0 0 0 0 0 0 0 0 0 0 0
24520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24530 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
245485 85 85 170 85 0 170 170 170 170 170 170 255 255 85 170 170 170
2455170 170 170 255 255 255 255 255 255 255 255 255 170 170 170 255 255 255
2456170 170 170 170 170 170 170 170 170 85 85 85 0 0 0 0 0 0
24570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24580 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24590 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24610 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24620 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24630 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24640 0 0 0 0 0 0 0 0 0 0 0 85 85 85 85 255 85
2465170 170 170 255 255 85 170 170 170 255 255 85 255 255 255 255 255 255
2466255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 170 170 170
2467170 170 170 170 170 170 85 85 85 0 0 0 0 0 0 0 0 0
24680 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24690 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24720 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24750 0 0 0 0 0 0 0 0 0 0 0
24760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24770 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
247885 85 85 85 85 85 85 85 85 170 85 0 170 170 170 170 170 170
2479255 255 85 170 170 170 255 255 255 255 255 85 255 255 255 255 255 255
2480170 170 170 255 255 85 170 170 170 85 85 85 0 0 0 0 0 0
24810 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24820 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24830 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24840 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24850 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24860 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24870 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24880 0 0 0 0 0 0 0 0 0 0 0 85 85 85 170 85 0
2489170 170 170 170 170 170 170 170 170 255 255 255 170 170 170 255 255 255
2490170 170 170 255 255 255 170 170 170 255 255 255 255 255 85 255 255 255
2491170 170 170 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
24920 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24930 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24940 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24950 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24990 0 0 0 0 0 0 0 0 0 0 0
25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
250285 85 85 170 85 0 85 85 85 170 170 170 170 170 170 170 170 170
2503170 170 170 255 255 255 170 170 170 255 255 255 255 255 255 170 170 170
2504255 255 85 170 170 170 170 170 170 170 85 0 85 85 85 0 0 0
25050 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25060 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25070 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25080 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25090 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25110 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25120 0 0 0 0 0 0 0 0 0 0 0 85 85 85 170 170 170
2513255 255 85 170 170 170 255 255 85 170 170 170 255 255 255 255 255 255
2514255 255 255 255 255 255 255 255 255 255 255 255 170 170 170 170 170 170
2515170 170 170 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25160 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25170 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25180 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25190 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25230 0 0 0 0 0 0 0 0 0 0 0
25240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25260 0 0 85 85 85 85 85 85 85 85 85 170 85 0 170 170 170
2527255 255 85 170 170 170 255 255 85 255 255 255 170 170 170 255 255 255
2528170 170 170 170 170 170 170 170 170 170 170 170 0 0 0 0 0 0
25290 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25310 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25320 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25330 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25340 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25350 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25360 0 0 0 0 0 0 0 0 0 0 0 85 85 85 170 170 170
2537170 85 0 170 170 170 255 255 255 170 170 170 255 255 255 170 170 170
2538255 255 255 255 255 255 170 170 170 255 255 255 255 255 85 170 170 170
253985 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25400 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25410 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25420 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25430 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25440 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25450 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25470 0 0 0 0 0 0 0 0 0 0 0
25480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25490 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25500 0 0 0 0 0 85 85 85 170 85 0 85 85 85 170 170 170
2551170 170 170 170 170 170 170 170 170 170 170 170 255 255 85 170 170 170
2552255 255 85 170 170 170 170 85 0 85 255 85 85 85 85 0 0 0
25530 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25540 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25550 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25560 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25580 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25590 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25600 0 0 0 0 0 0 0 0 0 0 0 85 85 85 170 85 0
2561170 170 170 170 170 170 255 255 85 170 170 170 255 255 255 255 255 255
2562255 255 85 255 255 255 170 170 170 255 255 255 170 170 170 85 85 85
25630 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25640 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25650 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25660 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25670 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25680 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25690 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25710 0 0 0 0 0 0 0 0 0 0 0
25720 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25740 0 0 0 0 0 0 0 0 0 0 0 85 85 85 85 85 85
2575170 85 0 170 170 170 170 170 170 255 255 85 170 170 170 170 170 170
2576170 170 170 170 170 170 170 170 170 170 85 0 0 0 0 0 0 0
25770 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25780 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25790 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25810 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25820 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25830 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25840 0 0 0 0 0 0 0 0 0 0 0 85 85 85 85 85 85
2585255 255 85 170 170 170 170 170 170 170 170 170 255 255 85 170 170 170
2586255 255 255 170 170 170 255 255 85 170 170 170 85 85 85 85 85 85
25870 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25880 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25890 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25900 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25910 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25920 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25930 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25940 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25950 0 0 0 0 0 0 0 0 0 0 0
25960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25980 0 0 0 0 0 0 0 0 0 0 0 85 85 85 85 85 85
259985 85 85 170 85 0 170 170 170 170 170 170 170 170 170 170 170 170
2600170 85 0 170 170 170 170 85 0 85 85 85 0 0 0 0 0 0
26010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26030 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26040 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26050 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26060 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26070 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26080 0 0 0 0 0 0 0 0 0 0 0 85 85 85 85 85 85
2609170 170 170 170 170 170 255 255 85 170 170 170 170 170 170 170 170 170
2610170 170 170 255 255 255 170 170 170 170 170 170 85 85 85 0 0 0
26110 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26120 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26130 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26140 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26150 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26160 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26170 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26180 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26190 0 0 0 0 0 0 0 0 0 0 0
26200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
262385 85 85 85 85 85 85 85 85 170 85 0 85 85 85 170 85 0
262485 85 85 85 85 85 85 85 85 0 0 0 0 0 0 0 0 0
26250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26280 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26290 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26310 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26320 0 0 0 0 0 0 0 0 0 0 0 0 0 0 170 85 0
263385 85 85 170 85 0 170 170 170 170 170 170 170 170 170 255 255 85
2634170 170 170 170 170 170 170 85 0 85 85 85 0 0 0 0 0 0
26350 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26360 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26370 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26380 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26390 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26400 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26410 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26420 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26430 0 0 0 0 0 0 0 0 0 0 0
26440 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26450 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26470 0 0 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85
264885 85 85 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0
26490 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26510 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26530 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26540 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26550 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26560 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85
265785 85 85 85 255 85 170 85 0 170 170 170 170 85 0 170 170 170
265885 85 85 85 85 85 85 85 85 0 0 0 0 0 0 0 0 0
26590 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26610 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26620 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26630 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26640 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26650 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26660 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26670 0 0 0 0 0 0 0 0 0 0 0
26680 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26690 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26720 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26730 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26750 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26760 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26770 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26780 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26790 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26810 0 0 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85
268285 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26830 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26840 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26850 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26860 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26870 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26880 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26890 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26900 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26910 0 0 0 0 0 0 0 0 0 0 0
26920 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26930 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26940 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26950 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26960 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26990 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27030 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27040 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27050 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27060 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27070 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27080 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27090 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27110 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27120 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27130 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27140 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27150 0 0 0 0 0 0 0 0 0 0 0
27160 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27170 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27180 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27190 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27230 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27280 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27290 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27310 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27320 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27330 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27340 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27350 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27360 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27370 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27380 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27390 0 0 0 0 0 0 0 0 0 0 0
diff --git a/drivers/video/sh_mobile_lcdcfb.c b/drivers/video/sh_mobile_lcdcfb.c
index 0e2b8fd24df1..2c5d069e5f06 100644
--- a/drivers/video/sh_mobile_lcdcfb.c
+++ b/drivers/video/sh_mobile_lcdcfb.c
@@ -446,7 +446,6 @@ static void sh_mobile_lcdc_stop(struct sh_mobile_lcdc_priv *priv)
446{ 446{
447 struct sh_mobile_lcdc_chan *ch; 447 struct sh_mobile_lcdc_chan *ch;
448 struct sh_mobile_lcdc_board_cfg *board_cfg; 448 struct sh_mobile_lcdc_board_cfg *board_cfg;
449 unsigned long tmp;
450 int k; 449 int k;
451 450
452 /* tell the board code to disable the panel */ 451 /* tell the board code to disable the panel */
@@ -456,9 +455,8 @@ static void sh_mobile_lcdc_stop(struct sh_mobile_lcdc_priv *priv)
456 if (board_cfg->display_off) 455 if (board_cfg->display_off)
457 board_cfg->display_off(board_cfg->board_data); 456 board_cfg->display_off(board_cfg->board_data);
458 457
459 /* cleanup deferred io if SYS bus */ 458 /* cleanup deferred io if enabled */
460 tmp = ch->cfg.sys_bus_cfg.deferred_io_msec; 459 if (ch->info.fbdefio) {
461 if (ch->ldmt1r_value & (1 << 12) && tmp) {
462 fb_deferred_io_cleanup(&ch->info); 460 fb_deferred_io_cleanup(&ch->info);
463 ch->info.fbdefio = NULL; 461 ch->info.fbdefio = NULL;
464 } 462 }
diff --git a/drivers/w1/masters/w1-gpio.c b/drivers/w1/masters/w1-gpio.c
index 9e1138a75e8b..a411702413d6 100644
--- a/drivers/w1/masters/w1-gpio.c
+++ b/drivers/w1/masters/w1-gpio.c
@@ -39,7 +39,7 @@ static u8 w1_gpio_read_bit(void *data)
39{ 39{
40 struct w1_gpio_platform_data *pdata = data; 40 struct w1_gpio_platform_data *pdata = data;
41 41
42 return gpio_get_value(pdata->pin); 42 return gpio_get_value(pdata->pin) ? 1 : 0;
43} 43}
44 44
45static int __init w1_gpio_probe(struct platform_device *pdev) 45static int __init w1_gpio_probe(struct platform_device *pdev)
diff --git a/drivers/watchdog/gef_wdt.c b/drivers/watchdog/gef_wdt.c
index f0c2b7a1a175..734d9806a872 100644
--- a/drivers/watchdog/gef_wdt.c
+++ b/drivers/watchdog/gef_wdt.c
@@ -269,7 +269,7 @@ static int __devinit gef_wdt_probe(struct of_device *dev,
269 bus_clk = 133; /* in MHz */ 269 bus_clk = 133; /* in MHz */
270 270
271 freq = fsl_get_sys_freq(); 271 freq = fsl_get_sys_freq();
272 if (freq > 0) 272 if (freq != -1)
273 bus_clk = freq; 273 bus_clk = freq;
274 274
275 /* Map devices registers into memory */ 275 /* Map devices registers into memory */
diff --git a/drivers/watchdog/ks8695_wdt.c b/drivers/watchdog/ks8695_wdt.c
index 0b798fdaa378..74c92d384112 100644
--- a/drivers/watchdog/ks8695_wdt.c
+++ b/drivers/watchdog/ks8695_wdt.c
@@ -21,6 +21,7 @@
21#include <linux/watchdog.h> 21#include <linux/watchdog.h>
22#include <linux/io.h> 22#include <linux/io.h>
23#include <linux/uaccess.h> 23#include <linux/uaccess.h>
24#include <mach/timex.h>
24#include <mach/regs-timer.h> 25#include <mach/regs-timer.h>
25 26
26#define WDT_DEFAULT_TIME 5 /* seconds */ 27#define WDT_DEFAULT_TIME 5 /* seconds */
diff --git a/drivers/watchdog/orion5x_wdt.c b/drivers/watchdog/orion5x_wdt.c
index 14a339f58b6a..b64ae1a17832 100644
--- a/drivers/watchdog/orion5x_wdt.c
+++ b/drivers/watchdog/orion5x_wdt.c
@@ -29,6 +29,7 @@
29#define WDT_EN 0x0010 29#define WDT_EN 0x0010
30#define WDT_VAL (TIMER_VIRT_BASE + 0x0024) 30#define WDT_VAL (TIMER_VIRT_BASE + 0x0024)
31 31
32#define ORION5X_TCLK 166666667
32#define WDT_MAX_DURATION (0xffffffff / ORION5X_TCLK) 33#define WDT_MAX_DURATION (0xffffffff / ORION5X_TCLK)
33#define WDT_IN_USE 0 34#define WDT_IN_USE 0
34#define WDT_OK_TO_CLOSE 1 35#define WDT_OK_TO_CLOSE 1
diff --git a/drivers/watchdog/rc32434_wdt.c b/drivers/watchdog/rc32434_wdt.c
index 57027f4653ce..f3553fa40b17 100644
--- a/drivers/watchdog/rc32434_wdt.c
+++ b/drivers/watchdog/rc32434_wdt.c
@@ -34,104 +34,89 @@
34#include <asm/time.h> 34#include <asm/time.h>
35#include <asm/mach-rc32434/integ.h> 35#include <asm/mach-rc32434/integ.h>
36 36
37#define MAX_TIMEOUT 20 37#define VERSION "0.4"
38#define RC32434_WDT_INTERVAL (15 * HZ)
39
40#define VERSION "0.2"
41 38
42static struct { 39static struct {
43 struct completion stop;
44 int running;
45 struct timer_list timer;
46 int queue;
47 int default_ticks;
48 unsigned long inuse; 40 unsigned long inuse;
49} rc32434_wdt_device; 41} rc32434_wdt_device;
50 42
51static struct integ __iomem *wdt_reg; 43static struct integ __iomem *wdt_reg;
52static int ticks = 100 * HZ;
53 44
54static int expect_close; 45static int expect_close;
55static int timeout; 46
47/* Board internal clock speed in Hz,
48 * the watchdog timer ticks at. */
49extern unsigned int idt_cpu_freq;
50
51/* translate wtcompare value to seconds and vice versa */
52#define WTCOMP2SEC(x) (x / idt_cpu_freq)
53#define SEC2WTCOMP(x) (x * idt_cpu_freq)
54
55/* Use a default timeout of 20s. This should be
56 * safe for CPU clock speeds up to 400MHz, as
57 * ((2 ^ 32) - 1) / (400MHz / 2) = 21s. */
58#define WATCHDOG_TIMEOUT 20
59
60static int timeout = WATCHDOG_TIMEOUT;
56 61
57static int nowayout = WATCHDOG_NOWAYOUT; 62static int nowayout = WATCHDOG_NOWAYOUT;
58module_param(nowayout, int, 0); 63module_param(nowayout, int, 0);
59MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (default=" 64MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (default="
60 __MODULE_STRING(WATCHDOG_NOWAYOUT) ")"); 65 __MODULE_STRING(WATCHDOG_NOWAYOUT) ")");
61 66
67/* apply or and nand masks to data read from addr and write back */
68#define SET_BITS(addr, or, nand) \
69 writel((readl(&addr) | or) & ~nand, &addr)
62 70
63static void rc32434_wdt_start(void) 71static void rc32434_wdt_start(void)
64{ 72{
65 u32 val; 73 u32 or, nand;
66
67 if (!rc32434_wdt_device.inuse) {
68 writel(0, &wdt_reg->wtcount);
69 74
70 val = RC32434_ERR_WRE; 75 /* zero the counter before enabling */
71 writel(readl(&wdt_reg->errcs) | val, &wdt_reg->errcs); 76 writel(0, &wdt_reg->wtcount);
72 77
73 val = RC32434_WTC_EN; 78 /* don't generate a non-maskable interrupt,
74 writel(readl(&wdt_reg->wtc) | val, &wdt_reg->wtc); 79 * do a warm reset instead */
75 } 80 nand = 1 << RC32434_ERR_WNE;
76 rc32434_wdt_device.running++; 81 or = 1 << RC32434_ERR_WRE;
77}
78 82
79static void rc32434_wdt_stop(void) 83 /* reset the ERRCS timeout bit in case it's set */
80{ 84 nand |= 1 << RC32434_ERR_WTO;
81 u32 val;
82 85
83 if (rc32434_wdt_device.running) { 86 SET_BITS(wdt_reg->errcs, or, nand);
84 87
85 val = ~RC32434_WTC_EN; 88 /* reset WTC timeout bit and enable WDT */
86 writel(readl(&wdt_reg->wtc) & val, &wdt_reg->wtc); 89 nand = 1 << RC32434_WTC_TO;
90 or = 1 << RC32434_WTC_EN;
87 91
88 val = ~RC32434_ERR_WRE; 92 SET_BITS(wdt_reg->wtc, or, nand);
89 writel(readl(&wdt_reg->errcs) & val, &wdt_reg->errcs); 93}
90 94
91 rc32434_wdt_device.running = 0; 95static void rc32434_wdt_stop(void)
92 } 96{
97 /* Disable WDT */
98 SET_BITS(wdt_reg->wtc, 0, 1 << RC32434_WTC_EN);
93} 99}
94 100
95static void rc32434_wdt_set(int new_timeout) 101static int rc32434_wdt_set(int new_timeout)
96{ 102{
97 u32 cmp = new_timeout * HZ; 103 int max_to = WTCOMP2SEC((u32)-1);
98 u32 state, val;
99 104
105 if (new_timeout < 0 || new_timeout > max_to) {
106 printk(KERN_ERR KBUILD_MODNAME
107 ": timeout value must be between 0 and %d",
108 max_to);
109 return -EINVAL;
110 }
100 timeout = new_timeout; 111 timeout = new_timeout;
101 /* 112 writel(SEC2WTCOMP(timeout), &wdt_reg->wtcompare);
102 * store and disable WTC
103 */
104 state = (u32)(readl(&wdt_reg->wtc) & RC32434_WTC_EN);
105 val = ~RC32434_WTC_EN;
106 writel(readl(&wdt_reg->wtc) & val, &wdt_reg->wtc);
107
108 writel(0, &wdt_reg->wtcount);
109 writel(cmp, &wdt_reg->wtcompare);
110
111 /*
112 * restore WTC
113 */
114
115 writel(readl(&wdt_reg->wtc) | state, &wdt_reg);
116}
117 113
118static void rc32434_wdt_reset(void) 114 return 0;
119{
120 ticks = rc32434_wdt_device.default_ticks;
121} 115}
122 116
123static void rc32434_wdt_update(unsigned long unused) 117static void rc32434_wdt_ping(void)
124{ 118{
125 if (rc32434_wdt_device.running)
126 ticks--;
127
128 writel(0, &wdt_reg->wtcount); 119 writel(0, &wdt_reg->wtcount);
129
130 if (rc32434_wdt_device.queue && ticks)
131 mod_timer(&rc32434_wdt_device.timer,
132 jiffies + RC32434_WDT_INTERVAL);
133 else
134 complete(&rc32434_wdt_device.stop);
135} 120}
136 121
137static int rc32434_wdt_open(struct inode *inode, struct file *file) 122static int rc32434_wdt_open(struct inode *inode, struct file *file)
@@ -142,19 +127,23 @@ static int rc32434_wdt_open(struct inode *inode, struct file *file)
142 if (nowayout) 127 if (nowayout)
143 __module_get(THIS_MODULE); 128 __module_get(THIS_MODULE);
144 129
130 rc32434_wdt_start();
131 rc32434_wdt_ping();
132
145 return nonseekable_open(inode, file); 133 return nonseekable_open(inode, file);
146} 134}
147 135
148static int rc32434_wdt_release(struct inode *inode, struct file *file) 136static int rc32434_wdt_release(struct inode *inode, struct file *file)
149{ 137{
150 if (expect_close && nowayout == 0) { 138 if (expect_close == 42) {
151 rc32434_wdt_stop(); 139 rc32434_wdt_stop();
152 printk(KERN_INFO KBUILD_MODNAME ": disabling watchdog timer\n"); 140 printk(KERN_INFO KBUILD_MODNAME ": disabling watchdog timer\n");
153 module_put(THIS_MODULE); 141 module_put(THIS_MODULE);
154 } else 142 } else {
155 printk(KERN_CRIT KBUILD_MODNAME 143 printk(KERN_CRIT KBUILD_MODNAME
156 ": device closed unexpectedly. WDT will not stop !\n"); 144 ": device closed unexpectedly. WDT will not stop !\n");
157 145 rc32434_wdt_ping();
146 }
158 clear_bit(0, &rc32434_wdt_device.inuse); 147 clear_bit(0, &rc32434_wdt_device.inuse);
159 return 0; 148 return 0;
160} 149}
@@ -174,10 +163,10 @@ static ssize_t rc32434_wdt_write(struct file *file, const char *data,
174 if (get_user(c, data + i)) 163 if (get_user(c, data + i))
175 return -EFAULT; 164 return -EFAULT;
176 if (c == 'V') 165 if (c == 'V')
177 expect_close = 1; 166 expect_close = 42;
178 } 167 }
179 } 168 }
180 rc32434_wdt_update(0); 169 rc32434_wdt_ping();
181 return len; 170 return len;
182 } 171 }
183 return 0; 172 return 0;
@@ -197,11 +186,11 @@ static long rc32434_wdt_ioctl(struct file *file, unsigned int cmd,
197 }; 186 };
198 switch (cmd) { 187 switch (cmd) {
199 case WDIOC_KEEPALIVE: 188 case WDIOC_KEEPALIVE:
200 rc32434_wdt_reset(); 189 rc32434_wdt_ping();
201 break; 190 break;
202 case WDIOC_GETSTATUS: 191 case WDIOC_GETSTATUS:
203 case WDIOC_GETBOOTSTATUS: 192 case WDIOC_GETBOOTSTATUS:
204 value = readl(&wdt_reg->wtcount); 193 value = 0;
205 if (copy_to_user(argp, &value, sizeof(int))) 194 if (copy_to_user(argp, &value, sizeof(int)))
206 return -EFAULT; 195 return -EFAULT;
207 break; 196 break;
@@ -218,6 +207,7 @@ static long rc32434_wdt_ioctl(struct file *file, unsigned int cmd,
218 break; 207 break;
219 case WDIOS_DISABLECARD: 208 case WDIOS_DISABLECARD:
220 rc32434_wdt_stop(); 209 rc32434_wdt_stop();
210 break;
221 default: 211 default:
222 return -EINVAL; 212 return -EINVAL;
223 } 213 }
@@ -225,11 +215,9 @@ static long rc32434_wdt_ioctl(struct file *file, unsigned int cmd,
225 case WDIOC_SETTIMEOUT: 215 case WDIOC_SETTIMEOUT:
226 if (copy_from_user(&new_timeout, argp, sizeof(int))) 216 if (copy_from_user(&new_timeout, argp, sizeof(int)))
227 return -EFAULT; 217 return -EFAULT;
228 if (new_timeout < 1) 218 if (rc32434_wdt_set(new_timeout))
229 return -EINVAL; 219 return -EINVAL;
230 if (new_timeout > MAX_TIMEOUT) 220 /* Fall through */
231 return -EINVAL;
232 rc32434_wdt_set(new_timeout);
233 case WDIOC_GETTIMEOUT: 221 case WDIOC_GETTIMEOUT:
234 return copy_to_user(argp, &timeout, sizeof(int)); 222 return copy_to_user(argp, &timeout, sizeof(int));
235 default: 223 default:
@@ -254,15 +242,15 @@ static struct miscdevice rc32434_wdt_miscdev = {
254 .fops = &rc32434_wdt_fops, 242 .fops = &rc32434_wdt_fops,
255}; 243};
256 244
257static char banner[] = KERN_INFO KBUILD_MODNAME 245static char banner[] __devinitdata = KERN_INFO KBUILD_MODNAME
258 ": Watchdog Timer version " VERSION ", timer margin: %d sec\n"; 246 ": Watchdog Timer version " VERSION ", timer margin: %d sec\n";
259 247
260static int rc32434_wdt_probe(struct platform_device *pdev) 248static int __devinit rc32434_wdt_probe(struct platform_device *pdev)
261{ 249{
262 int ret; 250 int ret;
263 struct resource *r; 251 struct resource *r;
264 252
265 r = platform_get_resource_byname(pdev, IORESOURCE_MEM, "rb500_wdt_res"); 253 r = platform_get_resource_byname(pdev, IORESOURCE_MEM, "rb532_wdt_res");
266 if (!r) { 254 if (!r) {
267 printk(KERN_ERR KBUILD_MODNAME 255 printk(KERN_ERR KBUILD_MODNAME
268 "failed to retrieve resources\n"); 256 "failed to retrieve resources\n");
@@ -277,24 +265,12 @@ static int rc32434_wdt_probe(struct platform_device *pdev)
277 } 265 }
278 266
279 ret = misc_register(&rc32434_wdt_miscdev); 267 ret = misc_register(&rc32434_wdt_miscdev);
280
281 if (ret < 0) { 268 if (ret < 0) {
282 printk(KERN_ERR KBUILD_MODNAME 269 printk(KERN_ERR KBUILD_MODNAME
283 "failed to register watchdog device\n"); 270 "failed to register watchdog device\n");
284 goto unmap; 271 goto unmap;
285 } 272 }
286 273
287 init_completion(&rc32434_wdt_device.stop);
288 rc32434_wdt_device.queue = 0;
289
290 clear_bit(0, &rc32434_wdt_device.inuse);
291
292 setup_timer(&rc32434_wdt_device.timer, rc32434_wdt_update, 0L);
293
294 rc32434_wdt_device.default_ticks = ticks;
295
296 rc32434_wdt_start();
297
298 printk(banner, timeout); 274 printk(banner, timeout);
299 275
300 return 0; 276 return 0;
@@ -304,23 +280,17 @@ unmap:
304 return ret; 280 return ret;
305} 281}
306 282
307static int rc32434_wdt_remove(struct platform_device *pdev) 283static int __devexit rc32434_wdt_remove(struct platform_device *pdev)
308{ 284{
309 if (rc32434_wdt_device.queue) {
310 rc32434_wdt_device.queue = 0;
311 wait_for_completion(&rc32434_wdt_device.stop);
312 }
313 misc_deregister(&rc32434_wdt_miscdev); 285 misc_deregister(&rc32434_wdt_miscdev);
314
315 iounmap(wdt_reg); 286 iounmap(wdt_reg);
316
317 return 0; 287 return 0;
318} 288}
319 289
320static struct platform_driver rc32434_wdt = { 290static struct platform_driver rc32434_wdt = {
321 .probe = rc32434_wdt_probe, 291 .probe = rc32434_wdt_probe,
322 .remove = rc32434_wdt_remove, 292 .remove = __devexit_p(rc32434_wdt_remove),
323 .driver = { 293 .driver = {
324 .name = "rc32434_wdt", 294 .name = "rc32434_wdt",
325 } 295 }
326}; 296};