¿ªÔÆÌåÓý


Re: "Waterloo Tapes" in H390-VM group's Files area

 

On Wed, Apr 3, 2024 at 08:54 AM, Mark Waterbury wrote:
I saw that link to the VMSHARE stuff about those problems with PETAPE on newer VM versions -- a very good find!??

Do we have source code for PETAPE?

IIRC, when PETAPE first appeared, it was done as an UPDATE deck for DMSTAP -- the CMS-supplied TAPE command.
The VMSHARE discussion does include references to code, I have to look at any existing NOTE PETAPE and MEMO PETAPE to see what is hidden there.

On the WATERLOO6 tape see the abstract which has the following information. This might be the last, best version of it.

M0063V03P-E TAPE COMMAND-- Modifications to Perkin-Elmer's version of tape
command? for Release 6.? There is a new tape format consisting of an embedded
header? and blocksize of 16005 for tape records (use of 'BLKSIZE' option allows
user to specify blocksize up to 32005).? Also allows user to write tapes in PLC
format.? All IBM formats (old 800 byte and new 4096 byte formats),? old PE
format, and PLC tapes can be read, and they all can be written except? for the
old PE format.? Also, the tape command will consist of two modules.? For more
information about all the changes in the tape command see the?? document file.
There is tape command support for BSEPP and non BSEPP, based? on Release 6 PLC
5.--Steve Bernstein, Perkin-Elmer Corporation, Danbury,? Connecticut, January 7
1981.

?... Mark S.


q stor response on an unmodified VM/370r6 setup

 

Hello!
There's a thread running on the IBMVM list that discusses the amount
of storage available to someone making use of everything on zVM and on
a practically new system. One of the people on that thread asked if
the individual tried the q stor command sequence. And as it happens he
was making use of the MAINT id which is a class A one. It did indeed
return the right amount for that system.
But here's what it returns for anyone just getting started with both
Hercules and VM/370.
q stor
R; T=0.01/0.01 20:54:12
STORAGE = 02048K
R; T=0.01/0.01 20:54:12
That's the response from the Bob Abeles two pack system that he
graciously bestowed on us sometime ago. Hercules is the one that Fish
announced for us sometime ago. I see I need to change something on it
regarding crash dump reporting.
-----
Gregg C Levine gregg.drwho8@...
"This signature fought the Time Wars, time and again."


Re: "Waterloo Tapes" in H390-VM group's Files area

 

Hi, Dave,

I saw that link to the VMSHARE stuff about those problems with PETAPE on newer VM versions -- a very good find!??

Do we have source code for PETAPE?

IIRC, when PETAPE first appeared, it was done as an UPDATE deck for DMSTAP -- the CMS-supplied TAPE command.

Perhaps this also explains why the VM SHARE project just switched over to using VMFPLC2 instead of PETAPE?

All the best,

Mark S. Waterbury


Re: "Waterloo Tapes" in H390-VM group's Files area

 

Fish and everyone else.

There is nothing wrong with Hercules or the tape.
The issue is with PETAPE & CMS. Its documented on the VMSHARE link I posted.
At some point the RDTAPE function was altered so on release 6 it returns RC=8 if the length read does not match the length requested in the block-size.
I checked and GC20-1818-0 CMS Command and Macro - VM/370 Release 3, Page 332 documents five return codes from RDTAPE, 1 thru 5, which are all real hard errors.
GC20-1818-3 which is the Release 6 version adds RC-8 - block size shorter than requested.
Running PETAPE with SVCTRACE active confirms that PETAPE errors when it receives RC=8 from the CMS RDTAPE function.
I can't find a later PETAPE although the VMSHARE archives suggest it was patched to fix this problem.


Dave

-----Original Message-----
From: [email protected] <[email protected]> On Behalf Of Fish Fish
Sent: Wednesday, April 3, 2024 3:23 AM
To: [email protected]
Subject: Re: [h390-vm] "Waterloo Tapes" in H390-VM group's Files area

Mark A. Stevens wrote:
Fish wrote:

Or maybe there IS NO fix needed? Maybe things are working as
designed (as expected, i.e. correctly)? After all, you did specify
the "eot" option on your vmfplc2 scan command.
I don't believe there is anything wrong with Hercules.
Good! Then I'm out of here! :)


This is a tape problem, which Rene has a solution for. I've
successfully used VMFPLC2 to load numerous files to minidisks tonight.
Good to hear.

"Call" me if you need me. :)

(and by "call" I mean contact me via email of course. I have the ringer on my
phone turned off completely due to the number of spam calls we get. You can
call me of you want! Just be aware that I won't answer. Just leave a voicemail
and I'll get back to you.) (I prefer email though.)

--
"Fish" (David B. Trout)
Software Development Laboratories

mail: fish@...








Re: "Waterloo Tapes" in H390-VM group's Files area

 

Mark A. Stevens wrote:
Fish wrote:

Or maybe there IS NO fix needed? Maybe things are working as
designed (as expected, i.e. correctly)? After all, you did
specify the "eot" option on your vmfplc2 scan command.
I don't believe there is anything wrong with Hercules.
Good! Then I'm out of here! :)


This is a tape problem, which Rene has a solution for. I've
successfully used VMFPLC2 to load numerous files to minidisks
tonight.
Good to hear.

"Call" me if you need me. :)

(and by "call" I mean contact me via email of course. I have the ringer on my phone turned off completely due to the number of spam calls we get. You can call me of you want! Just be aware that I won't answer. Just leave a voicemail and I'll get back to you.) (I prefer email though.)

--
"Fish" (David B. Trout)
Software Development Laboratories

mail: fish@...


Re: "Waterloo Tapes" in H390-VM group's Files area

 

On Tue, Apr 2, 2024 at 08:58 PM, Fish Fish wrote:
Maybe the fix is to simply make a copy of the tape and add some more tapemarks at the end of it??

Where can I download this tape from?

What guest O/S is being used here? What's the URL of where I can download it from? I'd like to try this for myself!

The tape is in this discussion groups Files section.

I also use VM/370 CE 1.2 and it can be found at:

?... Mark S.


Re: "Waterloo Tapes" in H390-VM group's Files area

 

On Tue, Apr 2, 2024 at 07:11 PM, Fish Fish wrote:
Or maybe there IS NO fix needed?
Actually, it makes sense too. Because the first file is the abstract, and it lists all the files. Then typically one restore files on a case by case basis. So it does not matter there is no EOT mark, since you don't restore everything until you reach the end of the tape.

Cheers,

Rene FERLAND, Montreal


Re: "Waterloo Tapes" in H390-VM group's Files area

 

On Tue, Apr 2, 2024 at 09:11 PM, Fish Fish wrote:
Or maybe there IS NO fix needed? Maybe things are working as designed (as expected, i.e. correctly)? After all, you did specify the "eot" option on your vmfplc2 scan command.
I don't believe there is anything wrong with Hercules. This is a tape problem, which Rene has a solution for. I've successfully used VMFPLC2 to load numerous files to minidisks tonight.

?... Mark S.


Re: "Waterloo Tapes" in H390-VM group's Files area

 

Fish wrote:

[...]
Maybe the fix is to simply make a copy of the tape and add some
more tapemarks at the end of it??
Or maybe there IS NO fix needed? Maybe things are working as designed (as expected, i.e. correctly)? After all, you did specify the "eot" option on your vmfplc2 scan command.

--
"Fish" (David B. Trout)
Software Development Laboratories

mail: fish@...


Re: "Waterloo Tapes" in H390-VM group's Files area

 

On Tue, Apr 2, 2024 at 06:58 PM, Fish Fish wrote:
Maybe the fix is to simply make a copy of the tape and add some more tapemarks at the end of it??

Yes, I did just that with vmfplc2 and now everything works fine, no more error messages. :-)

The tapes can be found in the Files section of this group. I personally used VM/370 CE 1.2.

Cheers,

Rene FERLAND, Montreal


Re: "Waterloo Tapes" in H390-VM group's Files area

 

¸é±ð²Ô¨¦ Ferland wrote:

[...]
I think the error you get comes from the fact there is no
EOT mark on the tape. After the last EOF tape mark, TAPEMAP
tries to read the next and finds nothing, while (I think)
it should detect another tape mark, indicating the end of
the tape.
Ah. Yes. That would certainly explain things. That's why Hercules got its EOF (End-of-File) error: there was no more data remaining on the tape! TAPEMAP essentially tried to read past the physical end of the tape. The same thing would happen in real life with a real tape of a real tape drive too: if you try reading beyond the end of the tape (i.e. past the last written block on the tape, which is not necessarily the same as the *physical* end of the tape. I'm talking about the logical end of the tape. Past where the last written block), then you'll obviously get an error.

Maybe the fix is to simply make a copy of the tape and add some more tapemarks at the end of it??

Where can I download this tape from?

What guest O/S is being used here? What's the URL of where I can download it from? I'd like to try this for myself!

--
"Fish" (David B. Trout)
Software Development Laboratories

mail: fish@...


Re: "Waterloo Tapes" in H390-VM group's Files area

 

Mark A. Stevens wrote:

[...]
I attached the WATERLOO6.aws tape to my VM userid and ran
TAPEMAP. Below are the errors that showed up on the console.

HHC01603I devinit 480 tapes/1982-05-25.WATERLOO6.aws
HHC00221I 0:0480 Tape file tapes/1982-05-25.WATERLOO6.aws, type AWS:
format type AWS Forma
HHC02245I 0:0480 device initialized
/CP ATTACH 480 XMAS 181
/18:35:39
/18:35:39 TAPE 480 ATTACH TO XMAS 181
HHC00204E 0:0480 Tape file tapes/1982-05-25.WATERLOO6.aws, type aws: error
in function rea
HHC00007I Previous message from function 'readhdr_awstape' at
awstape.c(248)
This error indicates "End of File". Hercules tried to read the tape, but there was no data to be read. The tape file was essential an empty file.

Are you sure you attached the right file?

What version of Hercules was this?

May I see the entire log?

Do you still have the URL of this tape?

I'd like to try it for myself.


Also, what guest O/S are you running this on? VM/370 R6? Which *exact* version? I have VM/370 R6, and one of the 6-packs I think, but I want to be sure to use the exact same version that you're using. Where can I download it from.

Thanks!

--
"Fish" (David B. Trout)
Software Development Laboratories

mail: fish@...


Re: "Waterloo Tapes" in H390-VM group's Files area

 

On Tue, Apr 2, 2024 at 08:06 PM, ¸é±ð²Ô¨¦ Ferland wrote:
This will generate the same error as you, but produce the file TAPE MAP A with a detailed list of the content. I don't know if one can read any of the files on WATERLOO6 with vmfplc2, but it worked for the few I tried (including the last one on the tape).
Thanks for the update. I have picked a few random ones that I am interested in, and they have loaded with no errors, and the results are all readable.

I'll check on WATERLOO2.aws next. Not as 'ciritical' to me as 6, since there could be intervening changes to the VM releases.

?... Mark S.


Re: "Waterloo Tapes" in H390-VM group's Files area

 

On Tue, Apr 2, 2024 at 05:46 PM, Mark A. Stevens wrote:
I attached the WATERLOO6.aws tape to my VM userid and ran TAPEMAP.

I think the error you get comes from the fact there is no EOT mark on the tape. After the last EOF tape mark, TAPEMAP tries to read the next and finds nothing, while (I think) it should detect an other tape mark, indicating the end of the tape.

The file ABSTRACT ABSTRACT shows there are 135 "files" on the tape. You can get a complete list with the commands:

vmfplc2 rew
vmfplc2 fsf 1
vmfplc2 scan ( eot disk

This will generate the same error as you, but produce the file TAPE MAP A with a detailed list of the content. I don't know if one can read any of the files on WATERLOO6 with vmfplc2, but it worked for the few I tried (including the last one on the tape).

Cheers,

Rene FERLAND, Montreal


Re: "Waterloo Tapes" in H390-VM group's Files area

 

Continued ...

Attempt to scan the WATERLOO6.aws with PETAPE ...

l petape module a ( date
Filename Filetype Fm? Format??? Recs Blocks???? Date??? Time
PETAPE?? MODULE?? A2? V? 7008????? 2????? 9? 03/13/78?? 11:44
Ready; T=0.01/0.01 18:47:00
petape rew
Ready; T=0.01/0.01 18:47:19
petape scan ( eot
?SCANNING....
DMSTPE057E INVALID RECORD FORMAT.
Ready(00032); T=0.01/0.01 18:47:30
petape scan ( eot
?SCANNING....
DMSTPE110S ERROR READING 'TAP1(181)'.
Ready(00100); T=0.01/0.01 18:47:34
petape scan ( eot
?SCANNING....
DMSTPE110S ERROR READING 'TAP1(181)'.
Ready(00100); T=0.01/0.01 18:47:37
petape scan ( eot
?SCANNING....
DMSTPE110S ERROR READING 'TAP1(181)'.
Ready(00100); T=0.01/0.01 18:47:40
petape rew
Ready; T=0.01/0.01 18:47:51
petape scan
?SCANNING....
DMSTPE057E INVALID RECORD FORMAT.
Ready(00032); T=0.01/0.01 18:47:59
petape scan
?SCANNING....
DMSTPE110S ERROR READING 'TAP1(181)'.
Ready(00100); T=0.01/0.01 18:48:03
petape scan
?SCANNING....
DMSTPE110S ERROR READING 'TAP1(181)'.
Ready(00100); T=0.01/0.01 18:48:06
petape scan
?SCANNING....
DMSTPE110S ERROR READING 'TAP1(181)'.
Ready(00100); T=0.01/0.01 18:48:12

There are no errors in the console. I will be attaching the Hercules log file in the Temp files area.
2024-04-02.vm370dev.marXtevens.strangled.net.log

?... Mark S.


Re: "Waterloo Tapes" in H390-VM group's Files area

 

On Tue, Apr 2, 2024 at 03:57 AM, Fish Fish wrote:
Does Hercules itself report any I/O error? Or is it just CMS that's reporting the error? If Hercules reports the error too, then it's a bona fide I/O error and we should look into that deeper, as it indicates there might be a bug in Hercules's tape handling.

If only CMS reports the error however (and not Hercules), then it sounds like it's either a CMS bug or a petape bug.

Are there different versions of petape floating around out there? Do you have the most current one?
I attached the WATERLOO6.aws tape to my VM userid and ran TAPEMAP. Below are the errors that showed up on the console.

HHC01603I devinit 480 tapes/1982-05-25.WATERLOO6.aws???????????????????????????????????? ?
HHC00221I 0:0480 Tape file tapes/1982-05-25.WATERLOO6.aws, type AWS: format type AWS Forma
HHC02245I 0:0480 device initialized????????????????????????????????????????????????????? ?
/CP ATTACH 480 XMAS 181????????????????????????????????????????????????????????????????? ?
/18:35:39??????????????????????????????????????????????????????????????????????????????? ?
/18:35:39 TAPE 480 ATTACH TO XMAS???? 181??????????????????????????????????????????????? ?
HHC00204E 0:0480 Tape file tapes/1982-05-25.WATERLOO6.aws, type aws: error in function rea
HHC00007I Previous message from function 'readhdr_awstape' at awstape.c(248)???????????? ?
HHC01315I 0:0480 CHAN: ccw 02F3A2AC 0490FFFF???????????????????????????????????????????? ?
HHC01312I 0:0480 CHAN: stat 0E40, count FFFF=>C011C650 40404040 40404040 F8F0F540 {.F&?? ?
HHC01313I 0:0480 CHAN: sense 10400000 00C00360 00000000 00800100 010000FF FF000000 0000000
HHC01314I 0:0480 CHAN: sense EQPCK ITF?????????????????????????????????????????????????? ?
/18:36:22??? DMKTAP503I TAPE 480 EQUIP CK??? CMD= 02???????????????????????????????????? ?
HHC00009I RRR...RING...GGG!????????????????????????????????????????????????????????????? ?
/?????????? SNS= 1040000000C003600000000000800100010000FFFF000000??????????????????????? ?
/?????????? CSW= 00F3A2A0 0E40FFFF USERID= XMAS????????????????????????????????????????? ?
/??????????????????????????????????????????????????????????????????????????????????????? ?
herc =====>????????????????????????????????????????????????????????????????????????????? ?
CP00 PSW=030E000000000000 24..W.....?????????? instcnt 421,043,020; mips 0.000; I/O????? 0

The following is the last few lines from the TAPEMAP LISTING file.

FSVIEW: TAPEMAP LISTING A1??????? Lines 5182-5189/5189 V80[1-79]? FSVIEW V1.2.5
0**** File??? 136.
0**** A permanent error condition exists on unit 0181:
?**** CSW 000370A8 0E40FFFF Sense 10400000 00C00300 ( 4 valid)
0**** Errors reading tape, mapping cannot continue.
0TapeMap read? 16,971 blocks containing? 43,759K bytes.? There
?were???? 135 files.? About 1234 feet of tape was used.
?There were????? 1 error(s) encountered reading this tape.
0End of TapeMap execution.

?... Mark S.


Re: "Waterloo Tapes" in H390-VM group's Files area

 

¸é±ð²Ô¨¦ Ferland wrote:

[...]
AWSBrowse does not report anything, so I'm assuming the tape
is okay.
If AWSBrowse says it can read it okay, then it's okay.


I applied AWSFixTape anyway just in case.
Which should NOT have fixed anything. The file should still be identical to its original contents. If you still have the original (before you can it through AWSFixTape ), then you could compare the two with each other to verify that. (Or compare their hashes for example.)


Yet an error still occurs while trying to load a file. I am
using the module petape from the tape, since neither the CMS
command tape nor vmfplc2 work on that tape (WATERLOO2.aws):


Ready; T=0.01/0.01 23:45:44
petape rew
Ready; T=0.01/0.01 23:47:37
petape fsf 3
Ready; T=0.01/0.01 23:47:41
petape load
LOADING.....
M0003V00 MEMO
M0003V00 DOCUMENT
DMSTPE110S ERROR READING 'TAP1(181)'.
Ready(00100); T=0.01/0.01 23:47:45
Does Hercules itself report any I/O error? Or is it just CMS that's reporting the error? If Hercules reports the error too, then it's a bona fide I/O error and we should look into that deeper, as it indicates there might be a bug in Hercules's tape handling.

If only CMS reports the error however (and not Hercules), then it sounds like it's either a CMS bug or a petape bug.

Are there different versions of petape floating around out there? Do you have the most current one?


According to AWSBrowse, the file has 24 blocks. I can clearly
see the memo, the document, and the assembler code in some of
the blocks with AWSBrowse. And just to make it more fun,
sometimes petape works fine:


Ready; T=0.01/0.01 00:09:32
petape rew
Ready; T=0.01/0.01 00:09:40
petape fsf 2
Ready; T=0.01/0.01 00:09:44
petape load
LOADING.....
M0002V00 MEMO
M0002V00 DOCUMENT
DEFINE ASSEMBLE
DEFTBLV ASSEMBLE
END-OF-FILE OR END-OF-TAPE
Ready; T=0.01/0.01 00:09:47
(!!!) Interesting!


Could it be that the problem is not the tape, but the petape module
instead?
That sounds like a definite possibility to me! Either that or CMS itself. OR... like I said, there is still the chance (unlikely IMO, but still greater than 0%), however unlikely, that it could be some obscure Hercules bug. I'm doubting that! But I nevertheless must offer that as a non-zero possibility, however remote.

I found the following group posts that mention "petape":

* /g/h390-vm/search?p=created%2C0%2C%2C1%2C2%2C0%2C0&q=petape

The following posts make back in December 2022 and January 2023 seem most pertinent:

* /g/h390-vm/message/4904
* /g/h390-vm/message/4908
* /g/h390-vm/message/4909
* /g/h390-vm/message/4994


HTH!

--
"Fish" (David B. Trout)
Software Development Laboratories

mail: fish@...


Re: "Waterloo Tapes" in H390-VM group's Files area

 

¿ªÔÆÌåÓý

¸é±ð²Ô¨¦

Very likely¡­

?

?

probably won¡¯t get time to look today¡­

Dave

?

From: [email protected] <[email protected]> On Behalf Of ¸é±ð²Ô¨¦ Ferland
Sent: Tuesday, April 2, 2024 6:23 AM
To: [email protected]
Subject: Re: [h390-vm] "Waterloo Tapes" in H390-VM group's Files area

?

On Mon, Apr 1, 2024 at 08:59 PM, Fish Fish wrote:

If it's broken, AWSBrowse will report it (and then ignore the garbage and only show you the valid data).

AWSBrowse does not report anything, so I'm assuming the tape is okay. I applied AWSFixTape anyway just in case.

Yet an error still occurs while trying to load a file. I am using the module petape from the tape, since neither the CMS command tape nor vmfplc2 work on that tape (WATERLOO2.aws):

Ready; T=0.01/0.01 23:45:44

petape rew

Ready; T=0.01/0.01 23:47:37

petape fsf 3

Ready; T=0.01/0.01 23:47:41

petape load

LOADING.....

M0003V00 MEMO

M0003V00 DOCUMENT

DMSTPE110S ERROR READING 'TAP1(181)'.

Ready(00100); T=0.01/0.01 23:47:45

According to AWSBrowse, the file has 24 blocks. I can clearly see the memo, the document, and the assembler code in some of the blocks with AWSBrowse.?And just to make it more fun, sometimes petape works fine:

Ready; T=0.01/0.01 00:09:32

petape rew

Ready; T=0.01/0.01 00:09:40

petape fsf 2

Ready; T=0.01/0.01 00:09:44

petape load

LOADING.....

M0002V00 MEMO

M0002V00 DOCUMENT

DEFINE? ?ASSEMBLE

DEFTBLV? ASSEMBLE

END-OF-FILE OR END-OF-TAPE

Ready; T=0.01/0.01 00:09:47

Could it be that the problem is not the tape, but the petape module instead?

Cheers,

Rene FERLAND, Montreal
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??


Re: "Waterloo Tapes" in H390-VM group's Files area

 

On Mon, Apr 1, 2024 at 08:59 PM, Fish Fish wrote:
If it's broken, AWSBrowse will report it (and then ignore the garbage and only show you the valid data).
AWSBrowse does not report anything, so I'm assuming the tape is okay. I applied AWSFixTape anyway just in case.

Yet an error still occurs while trying to load a file. I am using the module petape from the tape, since neither the CMS command tape nor vmfplc2 work on that tape (WATERLOO2.aws):


Ready; T=0.01/0.01 23:45:44
petape rew
Ready; T=0.01/0.01 23:47:37
petape fsf 3
Ready; T=0.01/0.01 23:47:41
petape load
LOADING.....
M0003V00 MEMO
M0003V00 DOCUMENT
DMSTPE110S ERROR READING 'TAP1(181)'.
Ready(00100); T=0.01/0.01 23:47:45

According to AWSBrowse, the file has 24 blocks. I can clearly see the memo, the document, and the assembler code in some of the blocks with AWSBrowse.?And just to make it more fun, sometimes petape works fine:

Ready; T=0.01/0.01 00:09:32
petape rew
Ready; T=0.01/0.01 00:09:40
petape fsf 2
Ready; T=0.01/0.01 00:09:44
petape load
LOADING.....
M0002V00 MEMO
M0002V00 DOCUMENT
DEFINE? ?ASSEMBLE
DEFTBLV? ASSEMBLE
END-OF-FILE OR END-OF-TAPE
Ready; T=0.01/0.01 00:09:47

Could it be that the problem is not the tape, but the petape module instead?

Cheers,

Rene FERLAND, Montreal
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??


Re: "Waterloo Tapes" in H390-VM group's Files area

 

Fish wrote:
Harold Grovesteen wrote:

Just curiosity

I realize there seems to be some heritage involved in
all of this, but does anyone know which tool creates
the garbage?
[...]
I also seem to recall there was some (also buggy) tool
oncbttape.org (I forget which one; some conversion tool
I think? Something about 80 byte records?) that would
also cause it to happen. But I'm not 100% certain of
that since it was so long ago.
Found it! It's called VTT2DISK.

It's on one of the CBT tapes.

Sam Golob wrote an article on it in some mainframe magazine as I recall.

Just do a Google on "VTT2DISK" and you'll find several relevant hits.

ANYWAY... As I said in my previous reply, my "AWSFixTape" tool can easily fix these bad tapes.

When using AWSFixTape, I *strongly* suggest NOT specifying a wildcard filename (to fix multiple tapes at once). Instead, I strongly suggest fixing each tape individually one by one, by specifying the exact filename.

The easiest(?) way to tell whether a tape if broken or not (contains trailing garbage or not) is to use my AWSBrowse product to try and open/view the tape. If it's broken, AWSBrowse will report it (and then ignore the garbage and only show you the valid data).

If it's broken, then simply use AWSFixTape to fix it.

Hope that helps!

--
"Fish" (David B. Trout)
Software Development Laboratories

mail: fish@...