[parisc-linux-cvs] linux varenet
Thibaut VARENE
varenet@esiee.fr
Sat, 2 Aug 2003 20:41:35 +0200
--=.Lr7e:t7'64Ak:(
Content-Type: multipart/mixed;
boundary="Multipart_Sat__2_Aug_2003_20:41:35_+0200_10324ff8"
--Multipart_Sat__2_Aug_2003_20:41:35_+0200_10324ff8
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
On Sat, 2 Aug 2003 12:36:34 -0600 (MDT)
varenet@parisc-linux.org (Thibaut Varene) wrote:
> CVSROOT: /var/cvs
> Module name: linux
> Changes by: varenet 03/08/02 12:36:34
>
> Modified files:
> arch/parisc/kernel: inventory.c ioctl32.c iosapic.c processor.c
> signal32.c
> drivers/char : hp_psaux.c
> drivers/net : lasi_82596.c
> include/asm-parisc: io.h
>
> Log message:
> Bunch of warning fixes
> some are left untouched atm, not too sure what has to be done (in
> particular with fb stuff, stifb.c, fbcon-sti.c; and with binfmt_elf32.c)
> Builds and links fine 32 and 64 bit kernels using defconfig.
>
Here comes the corresponding patch.
I've sent a patch to Helge to fix the hil_kbd.c warnings as well.
HTH,
Thibaut VARENE
The PA/Linux ESIEE Team
http://pateam.esiee.fr/
--Multipart_Sat__2_Aug_2003_20:41:35_+0200_10324ff8
Content-Type: text/plain;
name="linux-clean.diff"
Content-Disposition: attachment;
filename="linux-clean.diff"
Content-Transfer-Encoding: 7bit
Index: arch/parisc/kernel/inventory.c
===================================================================
RCS file: /var/cvs/linux/arch/parisc/kernel/inventory.c,v
retrieving revision 1.46
diff -u -p -r1.46 inventory.c
--- arch/parisc/kernel/inventory.c 22 Feb 2002 22:43:29 -0000 1.46
+++ arch/parisc/kernel/inventory.c 2 Aug 2003 18:30:15 -0000
@@ -168,7 +168,6 @@ static int __init
pat_query_module(ulong pcell_loc, ulong mod_index)
{
pdc_pat_cell_mod_maddr_block_t pa_pdc_cell;
- pdc_pat_cell_mod_maddr_block_t io_pdc_cell;
unsigned long bytecnt;
unsigned long temp; /* 64-bit scratch value */
long status; /* PDC return value status */
@@ -207,6 +206,7 @@ pat_query_module(ulong pcell_loc, ulong
register_parisc_device(dev); /* advertise device */
#ifdef DEBUG_PAT
+ pdc_pat_cell_mod_maddr_block_t io_pdc_cell;
/* dump what we see so far... */
switch (PAT_GET_ENTITY(dev->mod_info)) {
unsigned long i;
Index: arch/parisc/kernel/ioctl32.c
===================================================================
RCS file: /var/cvs/linux/arch/parisc/kernel/ioctl32.c,v
retrieving revision 1.14
diff -u -p -r1.14 ioctl32.c
--- arch/parisc/kernel/ioctl32.c 9 Dec 2002 06:45:35 -0000 1.14
+++ arch/parisc/kernel/ioctl32.c 2 Aug 2003 18:30:17 -0000
@@ -1645,7 +1645,7 @@ static int do_atm_iobuf(unsigned int fd,
goto out;
}
- err = copy_from_user(iobuf.buffer, A(iobuf32.buffer), iobuf.length);
+ err = copy_from_user(iobuf.buffer, (void *)A(iobuf32.buffer), iobuf.length);
if (err) {
err = -EFAULT;
goto out;
@@ -1659,7 +1659,7 @@ static int do_atm_iobuf(unsigned int fd,
goto out;
if(iobuf.buffer && iobuf.length > 0) {
- err = copy_to_user(A(iobuf32.buffer), iobuf.buffer, iobuf.length);
+ err = copy_to_user((void *)A(iobuf32.buffer), iobuf.buffer, iobuf.length);
if (err) {
err = -EFAULT;
goto out;
@@ -1691,7 +1691,7 @@ static int do_atmif_sioc(unsigned int fd
sioc.length = sioc32.length;
if (sioc32.arg == (__kernel_caddr_t32) NULL || sioc32.length == 0) {
- sioc.arg = (void*)(unsigned long)sioc32.arg;
+ sioc.arg = (void*)A(sioc32.arg);
} else {
sioc.arg = kmalloc(sioc.length, GFP_KERNEL);
if (sioc.arg == NULL) {
@@ -1699,7 +1699,7 @@ static int do_atmif_sioc(unsigned int fd
goto out;
}
- err = copy_from_user(sioc.arg, A(sioc32.arg), sioc32.length);
+ err = copy_from_user(sioc.arg, (void *)A(sioc32.arg), sioc32.length);
if (err) {
err = -EFAULT;
goto out;
@@ -1714,7 +1714,7 @@ static int do_atmif_sioc(unsigned int fd
}
if(sioc.arg && sioc.length > 0) {
- err = copy_to_user(A(sioc32.arg), sioc.arg, sioc.length);
+ err = copy_to_user((void *)A(sioc32.arg), sioc.arg, sioc.length);
if (err) {
err = -EFAULT;
goto out;
Index: arch/parisc/kernel/iosapic.c
===================================================================
RCS file: /var/cvs/linux/arch/parisc/kernel/iosapic.c,v
retrieving revision 1.35
diff -u -p -r1.35 iosapic.c
--- arch/parisc/kernel/iosapic.c 5 Nov 2001 07:42:15 -0000 1.35
+++ arch/parisc/kernel/iosapic.c 2 Aug 2003 18:30:18 -0000
@@ -195,7 +195,7 @@ static int
assert_failed (char *a, char *f, int l)
{
sprintf(assert_buf,
- "ASSERT(%s) failed!\nline %d in %s\n",
+ "IOSAPIC_ASSERT(%s) failed!\nline %d in %s\n",
a, /* assertion text */
l, /* line number */
f); /* file name */
@@ -203,15 +203,14 @@ assert_failed (char *a, char *f, int l)
return 0;
}
-#undef ASSERT
-#define ASSERT(EX) { if (!(EX)) assert_failed(# EX, __FILE__, __LINE__); }
+#define IOSAPIC_ASSERT(EX) { if (!(EX)) assert_failed(# EX, __FILE__, __LINE__); }
#define DBG(x...) printk(x)
#else /* DEBUG_IOSAPIC */
#define DBG(x...)
-#define ASSERT(EX)
+#define IOSAPIC_ASSERT(EX)
#endif /* DEBUG_IOSAPIC */
@@ -333,7 +332,7 @@ iosapic_load_irt(unsigned long cell_num,
struct irt_entry *table; /* start of interrupt routing tbl */
unsigned long num_entries = 0UL;
- ASSERT(NULL != irt);
+ IOSAPIC_ASSERT(NULL != irt);
if (is_pdc_pat()) {
@@ -342,10 +341,10 @@ iosapic_load_irt(unsigned long cell_num,
status = pdc_pat_get_irt_size(&num_entries, cell_num);
DBG("get_irt_size: %ld\n", status);
- ASSERT(status == PDC_OK);
+ IOSAPIC_ASSERT(status == PDC_OK);
/* save the number of entries in the table */
- ASSERT(0UL != num_entries);
+ IOSAPIC_ASSERT(0UL != num_entries);
/*
** allocate memory for interrupt routing table
@@ -362,7 +361,7 @@ iosapic_load_irt(unsigned long cell_num,
/* get PCI INT routing table */
status = pdc_pat_get_irt(table, cell_num);
DBG("pdc_pat_get_irt: %ld\n", status);
- ASSERT(status == PDC_OK);
+ IOSAPIC_ASSERT(status == PDC_OK);
} else {
/*
** C3000/J5000 (and similar) platforms with Sprockets PDC
@@ -381,7 +380,7 @@ iosapic_load_irt(unsigned long cell_num,
return 0;
}
- ASSERT(0UL != num_entries);
+ IOSAPIC_ASSERT(0UL != num_entries);
table = IOSAPIC_KALLOC(struct irt_entry, num_entries);
if (table == NULL) {
@@ -391,7 +390,7 @@ iosapic_load_irt(unsigned long cell_num,
/* HPA ignored by this call too. */
status = pdc_pci_irt(num_entries, 0, table);
- ASSERT(PDC_OK == status);
+ IOSAPIC_ASSERT(PDC_OK == status);
}
/* return interrupt table address */
@@ -684,7 +683,7 @@ iosapic_fixup_irq(void *isi_obj, struct
isi_line = irte->dest_iosapic_intin;
/* get vector info for this input line */
- ASSERT(NULL != isi->isi_vector);
+ IOSAPIC_ASSERT(NULL != isi->isi_vector);
vi = &(isi->isi_vector[isi_line]);
DBG_IRT("iosapic_fixup_irq: line %d vi 0x%p\n", isi_line, vi);
vi->vi_irte = irte;
@@ -704,16 +703,16 @@ iosapic_fixup_irq(void *isi_obj, struct
/* enable_irq() will use txn_* to program IRdT */
vi->vi_txn_addr = txn_alloc_addr(vi->vi_txn_irq);
vi->vi_txn_data = txn_alloc_data(vi->vi_txn_irq, 8);
- ASSERT(vi->vi_txn_data < 256); /* matches 8 above */
+ IOSAPIC_ASSERT(vi->vi_txn_data < 256); /* matches 8 above */
tmp = request_irq(vi->vi_txn_irq, iosapic_interrupt, 0,
vi->vi_name, vi);
- ASSERT(tmp == 0);
+ IOSAPIC_ASSERT(tmp == 0);
vi->vi_eoi_addr = (u32 *) (isi->isi_hpa + IOSAPIC_REG_EOI);
vi->vi_eoi_data = cpu_to_le32(vi->vi_irqline);
- ASSERT(NULL != isi->isi_region);
+ IOSAPIC_ASSERT(NULL != isi->isi_region);
/* pcidev->irq still needs to be virtualized. */
return_irq = isi->isi_region->data.irqbase + isi_line;
@@ -755,8 +754,8 @@ iosapic_wr_irt_entry(struct vector_info
{
struct iosapic_info *isp = vi->vi_ios;
- ASSERT(NULL != isp);
- ASSERT(0 != isp->isi_hpa);
+ IOSAPIC_ASSERT(NULL != isp);
+ IOSAPIC_ASSERT(0 != isp->isi_hpa);
DBG_IRT("iosapic_wr_irt_entry(): irq %d hpa %p WINDOW %p 0x%x 0x%x\n",
vi->vi_irqline,
isp->isi_hpa, isp->isi_hpa+IOSAPIC_REG_WINDOW,
@@ -788,7 +787,7 @@ iosapic_set_irt_data( struct vector_info
{
u32 mode = 0;
struct irt_entry *p = vi->vi_irte;
- ASSERT(NULL != vi->vi_irte);
+ IOSAPIC_ASSERT(NULL != vi->vi_irte);
if ((p->polarity_trigger & IRT_PO_MASK) == IRT_ACTIVE_LO)
mode |= IOSAPIC_IRDT_PO_LOW;
@@ -801,7 +800,7 @@ iosapic_set_irt_data( struct vector_info
** PA doesn't support EXTINT or LPRIO bits.
*/
- ASSERT(vi->vi_txn_data);
+ IOSAPIC_ASSERT(vi->vi_txn_data);
*dp0 = mode | (u32) vi->vi_txn_data;
/*
@@ -836,7 +835,7 @@ iosapic_disable_irq(void *irq_dev, int i
struct vector_info *vi = &(((struct vector_info *) irq_dev)[irq]);
u32 d0, d1;
- ASSERT(NULL != vi);
+ IOSAPIC_ASSERT(NULL != vi);
IOSAPIC_LOCK(&iosapic_lock);
@@ -879,12 +878,12 @@ iosapic_enable_irq(void *dev, int irq)
struct vector_info *vi = &(((struct vector_info *) dev)[irq]);
u32 d0, d1;
- ASSERT(NULL != vi);
- ASSERT(NULL != vi->vi_irte);
+ IOSAPIC_ASSERT(NULL != vi);
+ IOSAPIC_ASSERT(NULL != vi->vi_irte);
/* data is initialized by fixup_irq */
- ASSERT(0 < vi->vi_txn_irq);
- ASSERT(0UL != vi->vi_txn_data);
+ IOSAPIC_ASSERT(0 < vi->vi_txn_irq);
+ IOSAPIC_ASSERT(0UL != vi->vi_txn_data);
iosapic_set_irt_data(vi, &d0, &d1);
iosapic_wr_irt_entry(vi, d0, d1);
@@ -953,8 +952,8 @@ static struct irq_region_ops iosapic_irq
static unsigned int
iosapic_rd_version(struct iosapic_info *isi)
{
- ASSERT(isi);
- ASSERT(isi->isi_hpa);
+ IOSAPIC_ASSERT(isi);
+ IOSAPIC_ASSERT(isi->isi_hpa);
/* point window to the version register */
WRITE_U32(IOSAPIC_REG_VERSION, isi->isi_hpa+IOSAPIC_REG_SELECT);
@@ -990,9 +989,9 @@ iosapic_register(unsigned long hpa)
** Search the IRT and ignore iosapic's which aren't
** in the IRT.
*/
- ASSERT(NULL != irte); /* always have built-in devices */
+ IOSAPIC_ASSERT(NULL != irte); /* always have built-in devices */
for (cnt=0; cnt < irt_num_entry; cnt++, irte++) {
- ASSERT(IRT_IOSAPIC_TYPE == irte->entry_type);
+ IOSAPIC_ASSERT(IRT_IOSAPIC_TYPE == irte->entry_type);
/*
** We need sign extension of the hpa on 32-bit kernels.
** The address in the IRT is *always* 64 bit and really
@@ -1040,7 +1039,7 @@ iosapic_register(unsigned long hpa)
&iosapic_irq_ops, isi->isi_name,
(void *) isi->isi_vector);
- ASSERT(NULL != isi->isi_region);
+ IOSAPIC_ASSERT(NULL != isi->isi_region);
return ((void *) isi);
}
@@ -1052,7 +1051,7 @@ iosapic_prt_irt(void *irt, long num_entr
{
unsigned int i, *irp = (unsigned int *) irt;
- ASSERT(NULL != irt);
+ IOSAPIC_ASSERT(NULL != irt);
printk(KERN_DEBUG MODULE_NAME ": Interrupt Routing Table (%lx entries)\n", num_entry);
@@ -1066,7 +1065,7 @@ iosapic_prt_irt(void *irt, long num_entr
static void
iosapic_prt_vi(struct vector_info *vi)
{
- ASSERT(NULL != vi);
+ IOSAPIC_ASSERT(NULL != vi);
printk(KERN_DEBUG MODULE_NAME ": vector_info[%d] is at %p\n", vi->vi_irqline, vi);
printk(KERN_DEBUG "\t\tvi_status: %.4x\n", vi->vi_status);
@@ -1081,7 +1080,7 @@ iosapic_prt_vi(struct vector_info *vi)
static void
iosapic_prt_isi(struct iosapic_info *isi)
{
- ASSERT(NULL != isi);
+ IOSAPIC_ASSERT(NULL != isi);
printk(KERN_DEBUG MODULE_NAME ": io_sapic_info at %p\n", isi);
printk(KERN_DEBUG "\t\tisi_hpa: %lx\n", isi->isi_hpa);
printk(KERN_DEBUG "\t\tisi_status: %x\n", isi->isi_status);
Index: arch/parisc/kernel/processor.c
===================================================================
RCS file: /var/cvs/linux/arch/parisc/kernel/processor.c,v
retrieving revision 1.18
diff -u -p -r1.18 processor.c
--- arch/parisc/kernel/processor.c 26 Jun 2003 15:06:55 -0000 1.18
+++ arch/parisc/kernel/processor.c 2 Aug 2003 18:30:19 -0000
@@ -77,8 +77,6 @@ static int __init processor_probe(struct
unsigned long txn_addr;
unsigned long cpuid;
struct cpuinfo_parisc *p;
- extern struct irq_region_ops cpu_irq_ops; /* arch/parisc...irq.c */
- extern struct irqaction cpu_irq_actions[]; /* arch/parisc...irq.c */
#ifndef CONFIG_SMP
if (boot_cpu_data.cpu_count > 0) {
Index: arch/parisc/kernel/signal32.c
===================================================================
RCS file: /var/cvs/linux/arch/parisc/kernel/signal32.c,v
retrieving revision 1.1
diff -u -p -r1.1 signal32.c
--- arch/parisc/kernel/signal32.c 2 Mar 2001 00:48:47 -0000 1.1
+++ arch/parisc/kernel/signal32.c 2 Aug 2003 18:30:19 -0000
@@ -189,7 +189,7 @@ do_sigaltstack32 (const stack_t32 *uss32
if (copy_from_user(&ss32, uss32, sizeof ss32))
return -EFAULT;
- ss.ss_sp = (void *)ss32.ss_sp;
+ ss.ss_sp = (void *)(unsigned long)ss32.ss_sp;
ss.ss_flags = ss32.ss_flags;
ss.ss_size = ss32.ss_size;
Index: drivers/char/hp_psaux.c
===================================================================
RCS file: /var/cvs/linux/drivers/char/hp_psaux.c,v
retrieving revision 1.21
diff -u -p -r1.21 hp_psaux.c
--- drivers/char/hp_psaux.c 13 Nov 2002 15:14:41 -0000 1.21
+++ drivers/char/hp_psaux.c 2 Aug 2003 18:30:21 -0000
@@ -514,7 +514,7 @@ static struct kbd_ops gsc_ps2_kbd_ops =
/* XXX: HACK !!!
* remove this function and the call in hil_kbd.c
* if hp_psaux.c/hp_keyb.c is converted to the input layer... */
-int register_ps2_keybfuncs(void)
+void register_ps2_keybfuncs(void)
{
gsc_ps2_kbd_ops.leds = NULL;
register_kbd_ops(&gsc_ps2_kbd_ops);
Index: drivers/net/lasi_82596.c
===================================================================
RCS file: /var/cvs/linux/drivers/net/lasi_82596.c,v
retrieving revision 1.31
diff -u -p -r1.31 lasi_82596.c
--- drivers/net/lasi_82596.c 26 Jun 2003 15:07:29 -0000 1.31
+++ drivers/net/lasi_82596.c 2 Aug 2003 18:30:23 -0000
@@ -1166,29 +1166,29 @@ static int __devinit i82596_probe(struct
/* This lot is ensure things have been cache line aligned. */
if (sizeof(struct i596_rfd) != 32) {
- printk("82596: sizeof(struct i596_rfd) = %d\n",
- sizeof(struct i596_rfd));
+ printk("82596: sizeof(struct i596_rfd) = %lu\n",
+ (unsigned long)sizeof(struct i596_rfd));
return -ENODEV;
}
if ((sizeof(struct i596_rbd) % 32) != 0) {
- printk("82596: sizeof(struct i596_rbd) = %d\n",
- sizeof(struct i596_rbd));
+ printk("82596: sizeof(struct i596_rbd) = %lu\n",
+ (unsigned long)sizeof(struct i596_rbd));
return -ENODEV;
}
if ((sizeof(struct tx_cmd) % 32) != 0) {
- printk("82596: sizeof(struct tx_cmd) = %d\n",
- sizeof(struct tx_cmd));
+ printk("82596: sizeof(struct tx_cmd) = %lu\n",
+ (unsigned long)sizeof(struct tx_cmd));
return -ENODEV;
}
if (sizeof(struct i596_tbd) != 32) {
- printk("82596: sizeof(struct i596_tbd) = %d\n",
- sizeof(struct i596_tbd));
+ printk("82596: sizeof(struct i596_tbd) = %lu\n",
+ (unsigned long)sizeof(struct i596_tbd));
return -ENODEV;
}
#ifndef __LP64__
if (sizeof(struct i596_private) > 4096) {
- printk("82596: sizeof(struct i596_private) = %d\n",
- sizeof(struct i596_private));
+ printk("82596: sizeof(struct i596_private) = %lu\n",
+ (unsigned long)sizeof(struct i596_private));
return -ENODEV;
}
#endif
@@ -1238,9 +1238,9 @@ static int __devinit i82596_probe(struct
dev->priv = (void *)(dev->mem_start);
lp = (struct i596_private *) dev->priv;
- DEB(DEB_INIT,printk ("%s: lp at 0x%08lx (%d bytes), lp->scb at 0x%08lx\n",
+ DEB(DEB_INIT,printk ("%s: lp at 0x%08lx (%lu bytes), lp->scb at 0x%08lx\n",
dev->name, (unsigned long)lp,
- sizeof(struct i596_private), (unsigned long)&lp->scb));
+ (unsigned long)sizeof(struct i596_private), (unsigned long)&lp->scb));
memset(lp, 0, sizeof(struct i596_private));
lp->scb.command = 0;
Index: include/asm-parisc/io.h
===================================================================
RCS file: /var/cvs/linux/include/asm-parisc/io.h,v
retrieving revision 1.30
diff -u -p -r1.30 io.h
--- include/asm-parisc/io.h 10 Feb 2003 06:51:56 -0000 1.30
+++ include/asm-parisc/io.h 2 Aug 2003 18:30:35 -0000
@@ -44,7 +44,8 @@ extern void iounmap(void *addr);
* too lazy to ioremap first'. kind of like isa_, except that there's
* no additional base address to add on.
*/
-extern __inline__ unsigned char __raw_readb(unsigned long addr)
+#define __raw_readb(a) ___raw_readb((unsigned long)(a))
+extern __inline__ unsigned char ___raw_readb(unsigned long addr)
{
long flags;
unsigned char ret;
@@ -58,7 +59,8 @@ extern __inline__ unsigned char __raw_re
return ret;
}
-extern __inline__ unsigned short __raw_readw(unsigned long addr)
+#define __raw_readw(a) ___raw_readw((unsigned long)(a))
+extern __inline__ unsigned short ___raw_readw(unsigned long addr)
{
long flags;
unsigned short ret;
@@ -72,7 +74,8 @@ extern __inline__ unsigned short __raw_r
return ret;
}
-extern __inline__ unsigned int __raw_readl(unsigned long addr)
+#define __raw_readl(a) ___raw_readl((unsigned long)(a))
+extern __inline__ unsigned int ___raw_readl(unsigned long addr)
{
u32 ret;
@@ -83,7 +86,8 @@ extern __inline__ unsigned int __raw_rea
return ret;
}
-extern __inline__ unsigned long long __raw_readq(unsigned long addr)
+#define __raw_readq(a) ___raw_readq((unsigned long)(a))
+extern __inline__ unsigned long long ___raw_readq(unsigned long addr)
{
unsigned long long ret;
#ifdef __LP64__
@@ -98,7 +102,8 @@ extern __inline__ unsigned long long __r
return ret;
}
-extern __inline__ void __raw_writeb(unsigned char val, unsigned long addr)
+#define __raw_writeb(a,b) ___raw_writeb(a, (unsigned long)(b))
+extern __inline__ void ___raw_writeb(unsigned char val, unsigned long addr)
{
long flags;
__asm__ __volatile__(
@@ -108,7 +113,8 @@ extern __inline__ void __raw_writeb(unsi
: "=&r" (flags) : "r" (val), "r" (addr) );
}
-extern __inline__ void __raw_writew(unsigned short val, unsigned long addr)
+#define __raw_writew(a,b) ___raw_writew(a, (unsigned long)(b))
+extern __inline__ void ___raw_writew(unsigned short val, unsigned long addr)
{
long flags;
__asm__ __volatile__(
@@ -118,14 +124,16 @@ extern __inline__ void __raw_writew(unsi
: "=&r" (flags) : "r" (val), "r" (addr) );
}
-extern __inline__ void __raw_writel(unsigned int val, unsigned long addr)
+#define __raw_writel(a,b) ___raw_writel(a, (unsigned long)(b))
+extern __inline__ void ___raw_writel(unsigned int val, unsigned long addr)
{
__asm__ __volatile__(
" stwa,ma %0,0(%1)\n"
: : "r" (val), "r" (addr) );
}
-extern __inline__ void __raw_writeq(unsigned long long val, unsigned long addr)
+#define __raw_writeq(a,b) ___raw_writeq(a, (unsigned long)(b))
+extern __inline__ void ___raw_writeq(unsigned long long val, unsigned long addr)
{
#ifdef __LP64__
__asm__ __volatile__(
--Multipart_Sat__2_Aug_2003_20:41:35_+0200_10324ff8--
--=.Lr7e:t7'64Ak:(
Content-Type: application/pgp-signature
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)
iD8DBQE/LAXoHjLD2rfS8GMRAvBvAJ4uN7csgEf8Ye0IQdfbXHy6bgRdGgCfZsEP
vW87nLvEqgRanV0GZZ1LFZU=
=GaXt
-----END PGP SIGNATURE-----
--=.Lr7e:t7'64Ak:(--