× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Actually, Paul, most vendors have a good reason for the preference that customers use commands or documented programs - going at the low-level files is risky at best.

Having said that, I must admit to being willing to take a peek sometimes! But look only - otherwise, don't touch!

Cheers
Vern

On 7/22/2020 10:29 AM, Steinmetz, Paul via MIDRANGE-L wrote:
Thanks for the list.
All IBM would need to do is update the description text on the PF and LF.
A simple PTF.

For some unknown reason, IBM prefers that users not look at the PF and LF directly, but use the BRMS commands.

Paul

-----Original Message-----
From: MIDRANGE-L <midrange-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of Mayer, Michael via MIDRANGE-L
Sent: Wednesday, July 22, 2020 10:42 AM
To: midrange-l@xxxxxxxxxxxxxxxxxx
Cc: Mayer, Michael <MMayer@xxxxxxxxxxxxxx>
Subject: RE: BRMS - how to see objects actually backed up?

For all of you BRMS fans out there, I was lucky enough to obtain this list about this time last year from someone I know at IBM Rochester Support.
Note: The listed files may not be in every release or there may be a few BRMS files that are new
In the last year not in this list. But it is a "nice to have".

The message from IBM was:
In 2001, there was an initial attempt of documenting the BRMS files and their descriptions, I think it has since been realized that files may come and go between releases and therefore trying to keep that documented in redbook publications could pose to be a difficult task.

So this internal doc we have is maintained on a best effort basis and I think the reason why it was tagged as "Do not send to customers" is because the doc may have some files listed that are not present on all OS's.

I'm going to send you a copy of the doc below as I've discussed with a couple BRMS sme's and we see no reason to prevent a user from viewing this content.



FILE DESCRIPTION Associated command(s)
QA1A1CA List of all Calendar Entries WRKCALBRM
QA1A1MP List of Move Policy Entries WRKPCYBRM *MOV
QA1A1RP Used with the Retrieve Policy WRKPCYBRM *RTV
QA1A1RMT List of all systems in the BRMS network WRKPCYBRM *SYS Option 4
QA1A2NET List of Active Systems in BRMS network - used for DDM - updated at sync WRKPCYBRM *SYS Option 4
QA1A2RCY Recovery Report - Volumes STRRCYBRM or STRMNTBRM
QA1A2RMT Remote System's select receive and I-ASP
QA1A2TR Trace file WRKPCYBRM *SYS
QA1A8ARF List of all documents in folders WRKFLR
QA1A9ARF List of all folders WRKFLR
DEVUSAGE File used when using device usage tool
QATAVOF Out file for DSPTAPCTG - used with tool to update cartridge status GUI
QA1AAF Archive Folder List - *ARC *FLR WRKLBRM
QA1AAG Archive Control Group Entry WRKCTLGBRM *ARC
QA1AAL Network Alias file WRKPCYBRM *SYS Option 4
QA1AAM Archive Control Group Manager WRKCTLGBRM *ARC
QA1AAO Archive Object List - *ARC *OBJ WRKLBRM
QA1AAQ Archive Spool List - *ARC -*SPL WRKLBRM
QA1AARC Archive Candidate File *ARC *FLR STRARCBRM OPTION(*REPORT)
QA1AARF Folders to be used for archive
QA1AAU TSM password encrypted
QA1AAUF Private authorities for user ASPS (2-32) QIFS
QA1AAUO Private authorities for user ASPS (2-32) QSYS
QA1AAX Archive Policy WRKPCYBRM *ARC
QA1ABS Backup/Statistics
QA1ABX Backup Policy WRKPCYBRM *BKU
QA1ACA Calendars WRKCALBRM
QA1ACG Backup Control Group Entries WRKCTLGBRM *BKU option 2/5
QA1ACM Backup Control Groups and Backup Control Group Attributes WRKCTLGBRM *BKU or WRKCTLGBRM *BKU option 8
QA1ACN Containers WRKCNRBRM
QA1ACT Container Classes WRKCLSBRM *CNR
QA1ADE List of messages to distribute via SMTP server GUI
QA1ADI Directory Detail (no longer used at R51o and below) WRKLNKBRM
QA1ADI2 Directory Detail (Unicode) WRKLNKBRM
QA1ADV List of Devices enrolled in BRMS WRKDEVBRM
QA1ADXR Duplication Cross Reference WRKMEDBRM option 15
QA1AFD Folder Save History WRKFLRBRM
QA1AFL Folder Backup Lists - *BKU *FLR WRKLBRM
QA1AFS IFS Lists - *BKU *LNK WRKLBRM
QA1AHC Migration Control Group WRKCTLGBRM *MGR
QA1AHG Migration Control Group Entries WRKCTLGBRM *MGR Option 2/5
QA1AHH Migration History
QA1AHM Migration Control Group Manager WRKCTLGBRM *MGR
QA1AHR Migration Rules WRKPCYBRM *MGR
QA1AHS History WRKMEDIBRM
QA1AIA Subsystem to check before IPL WRKPCYBRM option 3
QA1AIF File field definition for media policies WRKPCYBRM *MED
QA1AJH Maintain Job queue list WRKCTLGBRM option 10
QA1AJR Used to track starting journal receivers during recoveries
QA1ALB Selection of libraries Used for selecting libraries in recovery
QA1ALE List of message IDs to distribute GUI
QA1ALF Migration control group library list
QA1ALG BRMS log DSPLOGBRM
QA1ALI QIFS link data (no longer used at R51o and below) WRKLNKBRM
QA1ALI2 QIFS link details (Unicode) WRKLNKBRM option 9
QA1ALM Master List
QA1ALQ Spool file backup list - *SPLF WRKLBRM
QA1ALR Library Reference Dates
QA1AMB Member Detail WRKOBJBRM option 9
QA1AMBAL File used to define media balancing STRBALBRM
QA1AMD Media Device WRKDEVBRM
QA1AME Media Policy WRKPCYBRM *MED
QA1AMGR File Migration
QA1AMM Media WRKMEDBRM
QA1AMN Maintenance policy GUI
QA1AMP List of Move Policies WRKPCYBRM *MOV
QA1AMT List of Media Class WRKCLSBRM *MED
QA1AMV Multi-Volume Temp Storage
QA1ANET Network Sync (no longer used at R450 and above)
QA1ANET2 List of records to be synced with other systems in BRMS network
QA1AOB Backup Object List - *BKU *OBJ WRKLBRM
QA1AOD Object Detail WRKOBJBRM or WRKMEDIBRM option 9
QA1AOI Libraries that can't migrate (omit) WRKPCYBRM *MGR option 2
QA1AOL Libraries to omit from backup WRKPCYBRM *BKU Option 2
QA1AOO Objects to omit via GUI GUI
QA1AOPT Created when TSM device is created WRKDEVBRM
QA1AOQ History of SPFL saves WRKSPLFBRM
QA1AOR Used for Journal receiver recoveries
QA1AOT List of Object Types
QA1ARA Recovery Activities GO BRMRCYPLN option 3
QA1ARC Recovery Contacts GO BRMRCYPLN option 2
QA1ARCY Recovery Report - History STRRCYBRM or STRMNTBRM
QA1ARP Retrieval Policy WRKPCYBRM *RTV
QA1ARX Recovery Policy WRKPCYBRM *RCY
QA1ASDC System-Device Connection
QA1ASE Subsystem to end WRKCTLGBRM option 9
QA1ASG Signoff exceptions WRKPCYBRM *SYS option 2
QA1ASL Storage Locations WRKLOCBRM
QA1ASP System Policy WRKPCYBRM *SYS
QA1AVER Version Control workfile
QA1AWAG Control Group workfile
QA1AWCG Control Group workfile
QA1AWHG Control Group workfile
QA1AWOR Object reference working file
QA1AWSF Savefile workfile
QA1AXC ASP Classes WRKCLSBRM *ASP
QA1AXS ASP Info file WRKCLSBRM *ASP or DSPASPBRM
Q1AKEYFILE Encryption key file WRKPCYBRM *MED
QA1AZCG Control groups status PRTRPTBRM TYPE(*CTLGRPSTAT)
QJ1ACM BRMS journal receivers used for synchronization
QJ1AJRN2 General BRMS journal receiver



Very Respectfully,
Michael Mayer
IBM i Support / System Admin.
IT Operations.
The Florida Bar
651 E. Jefferson St
Tallahassee, Florida 32399-2300
mmayer@xxxxxxxxxxxxxx
https://www.floridabar.org
Office: 850.561.5761
Cell: 518.641.8906

Please note: Florida has very broad public records laws. Many written communications to or from The Florida Bar regarding Bar business may be considered public records, which must be made available to anyone upon request. Your e-mail communications may therefore be subject to public disclosure.



Today's Topics:

1. RE: BRMS - how to see objects actually backed up?
(Mayer, Michael via MIDRANGE-L)
2. RE: BRMS - how to see objects actually backed up?
(midrangel@xxxxxxxxxxxxxxxxx)
3. RE: BRMS - how to see objects actually backed up?
(Andrew Lopez (SXS US))
4. RE: BRMS - how to see objects actually backed up? (Rob Berendt)


----------------------------------------------------------------------

message: 1
date: Wed, 22 Jul 2020 13:22:24 +0000
from: "Mayer, Michael via MIDRANGE-L" <midrange-l@xxxxxxxxxxxxxxxxxx>
subject: RE: BRMS - how to see objects actually backed up?

For the IFS, the result set looks like this - it displays it by BRMS list (WRKLBRM). The "Lib" column is the BRMS list.
It obviously isn't specific by IFS object saved but it does show where objects are not saved. Note the Error Msg column.
DSPLOGBRM will then show the details (use the date/time) and F4 on the DSPLOGBRM message.


Row # Bkup Date Tape # System Lib Seq# Obj Sv Obj N Sv St Blk Sz Bytes Error Msg Save Type Ctl Grp B/Up Cmd Tape Start Tim End Tim Bkup TimeText
40 200722 00885B FLABARP USERS_DIR 40 1674 0 1 15826944 *CUM NETSERVER SAV Y 005203 005210 5211
41 200722 00885B FLABARP DEPTS_DIR 41 17535 0 1 16110637056 *CUM NETSERVER SAV Y 005542 005819 5821
42 200722 00885B FLABARP DATA_DIR 42 2722 0 1 7046324224 *CUM NETSERVER SAV Y 005852 010123 10124
43 200722 00885B FLABARP LANBKP 43 14 0 1 139264 *CUM NETSERVER SAV Y 010125 010129 10130
44 200722 00885B FLABARP LANSA 44 2835 2 1 34512896 CPFA09E *CUM NETSERVER SAV Y 010134 010139 10140
45 200722 00885B FLABARP QUSRBRM 45 16 0 1 1487314944 *QBRM NETSERVER SAVOBJ Y 010142 010153 10153


Very Respectfully,
Michael Mayer
IBM i Support / System Admin.
IT Operations.
The Florida Bar
651 E. Jefferson St
Tallahassee, Florida 32399-2300
mmayer@xxxxxxxxxxxxxx
https://www.floridabar.org
Office: 850.561.5761
Cell: 518.641.8906



-----Original Message-----
From: MIDRANGE-L <midrange-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of Andrew Lopez (SXS US)
Sent: Wednesday, July 22, 2020 9:04 AM
To: midrange-l@xxxxxxxxxxxxxxxxxx
Subject: RE: BRMS - how to see objects actually backed up?

CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.


You can also run an SQL over file QA1AHS.QUSRBRM. I run this daily on
all of our BRMS backups using ACS Run SQL Scripts.
Will that work for IFS items? I've tried running the script, looking for 5 mystery items that are not being saved in the IFS. It seems to show anything from the traditional file system, but I can't find anything related to the IFS.



to public disclosure.

________________________________
Please note: Florida has very broad public records laws. Many written communications to or from The Florida Bar regarding Bar business may be considered public records, which must be made available to anyone upon request. Your e-mail communications may therefore be subject to public disclosure.


------------------------------

message: 2
date: Wed, 22 Jul 2020 08:26:51 -0500
from: <midrangel@xxxxxxxxxxxxxxxxx>
subject: RE: BRMS - how to see objects actually backed up?

Very nice piece of SQL. My ACS is complaining about needing a group by clause for each of the variables in the SQL. Was that omitted or is there a magic incantation in SQL (I know enough SQL to be somewhat dangerous) to avoid the "group by". I got it to work by adding the group by but I'm curious about it.

--
Jim Oberholtzer
Agile Technology Architects

-----Original Message-----
From: MIDRANGE-L <midrange-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of Mayer, Michael via MIDRANGE-L
Sent: Wednesday, July 22, 2020 7:25 AM
To: midrange-l@xxxxxxxxxxxxxxxxxx
Cc: Mayer, Michael <MMayer@xxxxxxxxxxxxxx>
Subject: BRMS - how to see objects actually backed up?

Run DSPLOGBRM, F4 and plug in the parms as needed is 1 way to go about it although that's the long route.

You can also run an SQL over file QA1AHS.QUSRBRM. I run this daily on all of our BRMS backups using ACS Run SQL Scripts.

Select Row_Number() over (Order by BKSSVT) as "Row #", SUBSTR(BKHSVT, 2, 6) AS "Bkup Date", BKVOL AS "Tape #", BKHSYS AS "System",
BKHLIB AS "Lib", BKHSEQ AS "Seq#", BKHSAV AS "Obj Sv", BKHERR AS "Obj N Sv", BKHSTA AS "Sts 0=N 1=S",
SUM(BKHSIZ) AS "Blk Sz Bytes", BKHMSG AS "Error Msg ID", BKTYPS AS "Save Type", BKHGRP AS "Ctl Grp", BKHCMD AS "B/Up Cmd",
BKSAVT AS "Tape Y/N", SUBSTR(BKSSVT, 8, 6) AS "Start Time", SUBSTR(BKESVT, 8, 6) AS "End Time", BKHTIM AS "Bkup Time",
BKHTXT AS "Text"
FROM QUSRBRM.QA1AHS
WHERE SUBSTR(BKHSVT, 2, 6) = '200722'

The output will look like this:

Row # Bkup Date Tape # System Lib Seq# Obj Sv
Obj N Sv St Blk Sz Bytes Error Msg Save Type Ctl Grp
B/Up Cmd Tape Start T End Tim Bkup Time Text
1 200722 00885B FLABARP PDPDDB 1 98
0 1 28526407680 *CUM
BKUP_DAILY SAVCHGOBJ Y 003641 003839 3913
2 200722 00885B FLABARP YAFRDTA 2 4
0 1 89370624 *CUM
BKUP_DAILY SAVCHGOBJ Y 003839 003841 3913
3 200722 00885B FLABARP TFBDB 3 32
0 1 2039324672 *CUM
BKUP_DAILY SAVCHGOBJ Y 003842 003851 3913

Using this SQL as abase, I can adjust it for what was saved, what was not saved, what type of save, etc. It's very flexible.

----------------------------------------

Or write a 5250 WRKQRY over QA1AHS/QUSRBRM and adjust the record selections as needed.

Note; There is a difference between what regular commands see backed up in BRMS and using the files in BRMS. I ran into This a few years ago, was a bit confused and had IBM confirm that fact.

QA1AHS is also over the top of BRMS command WRKMEDIBRM, which is also a nice way of looking at your backup.


----------------------------------------



Very Respectfully,
Michael Mayer
IBM i Support / System Admin.
IT Operations.
The Florida Bar
651 E. Jefferson St
Tallahassee, Florida 32399-2300
mmayer@xxxxxxxxxxxxxx
https://www.floridabar.org
Office: 850.561.5761
Cell: 518.641.8906.

message: 3
date: Tue, 21 Jul 2020 21:46:29 +0000
from: "Howie, Bill" <BHowie@xxxxxxxxxxxxxxxx>
subject: BRMS - how to see objects actually backed up?

Hello all,

We are having an issue with seeing which objects that BRMS is actually backing up during our nightly backup. If I go in through the BRMS options and try to work with saved objects from the particular day and library in question, what I see is actually the objects that were NOT backed up because they were in use, and not the objects that were actually being saved. Is the option that actually shows what was saved on a particular day hidden somewhere in plain sight? Am I just blind? I'm using option 2 on the "Display Backup History" menu. Any info is most appreciated. Thanks!

[Related image]<https://www.hc-companies.com/>Bill Howie Senior ERP Programmer/Analyst
Direct: 330.487.3739 | Cell: 330.888.8085 | Toll Free: 800.225.7712
2450 Edison Blvd, Suite 3, Twinsburg OH 44087 hc-companies.com<https://www.hc-companies.com/>
Leader in Horticultural Containers
[cid:image003.png@01D65F86.DB226890]<https://www.linkedin.com/company/the-hc
-companies> [cid:image004.png@01D65F86.DB226890]
<https://www.facebook.com/HCCompanies/>
[cid:image005.png@01D65F86.DB226890]
<https://www.instagram.com/hccompanies/>
[cid:image006.png@01D65F86.DB226890] <https://twitter.com/hc_companies>

Disclaimer

The information contained in this communication from the sender is confidential. It is intended solely for use by the recipient and others authorized to receive it. If you are not the recipient, you are hereby notified that any disclosure, copying, distribution or taking action in relation of the contents of this information is strictly prohibited and may be unlawful.

This email has been scanned for viruses and malware, and may have been automatically archived by Mimecast Ltd, an innovator in Software as a Service (SaaS) for business. Providing a safer and more useful place for your human generated data. Specializing in; Security, archiving and compliance. To find out more visit the Mimecast website.


------------------------------

re be subject to public disclosure.

________________________________
Please note: Florida has very broad public records laws. Many written communications to or from The Florida Bar regarding Bar business may be considered public records, which must be made available to anyone upon request. Your e-mail communications may therefore be subject to public disclosure.
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related questions.

Help support midrange.com by shopping at amazon.com with our affiliate link:
https://amazon.midrange.com



------------------------------

message: 3
date: Wed, 22 Jul 2020 13:31:27 +0000
from: "Andrew Lopez (SXS US)" <Andrew.Lopez@xxxxxxxxxxxxxxxxxx>
subject: RE: BRMS - how to see objects actually backed up?

Hacking 101.
I wouldn't expect anything different from BRMS. Wonderful tool, for the early 2000's.

Pick the one with the highest I/O
DSPFFD
Does that work for you?
Not really. 5 objects did not save this morning. The last entries in the QA1A1DI2 file that show any type of errors are from mid-June. I suspect one side of BRMS is letting me know five objects are flagged to not save, while the other side isn't recording what they are. All the errors I can find in QA1A1DI2 are from object locks. None are from IFS settings to not save.

Thanks for the pointers. At this stage I'm tired of dealing with BRMS: no internal controls to create SWA Message Queue that will wrap, you need to manually clean a message queue if you use one defined outside BRMS, error reporting involves hacking or setting up additional control groups. I can really understand why not a single provider of JD Edwards in the cloud wants to work with the i. Fortunately for me, it will all resolve itself in the next year or two.


_____________________________________________________________________
Spirax-Sarco Engineering Plc. This e-mail has been scanned for viruses by Cisco Cloud Email Security.



------------------------------

message: 4
date: Wed, 22 Jul 2020 13:59:06 +0000
from: Rob Berendt <rob@xxxxxxxxx>
subject: RE: BRMS - how to see objects actually backed up?

Almost didn't reply because I feel you catch more flies with honey than vinegar...

Which message id are you looking for of these three?
select *
from qusrbrm.QA1A1LG
where LGMID in('CPD37C3', 'CPFA09E', 'CPD384E') ; Did the same hacking as someone else recommended on DSPLOGBRM.

Heck, I have a message monitor set up to look at these and let me know. It's really rather simple.

See also:
BRM14A1 - Save of list *LINK completed with errors.
BRM10A1 - Control group TUE_FRIEDD type *BKU completed with errors.

Rob Berendt
--
IBM Certified System Administrator - IBM i 6.1 Group Dekko Dept 1600 Mail to: 7310 Innovation Blvd, Suite 104
Ft. Wayne, IN 46818
Ship to: 7310 Innovation Blvd, Dock 9C
Ft. Wayne, IN 46818
http://www.dekko.com


-----Original Message-----
From: MIDRANGE-L <midrange-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of Andrew Lopez (SXS US)
Sent: Wednesday, July 22, 2020 9:31 AM
To: midrange-l@xxxxxxxxxxxxxxxxxx
Subject: RE: BRMS - how to see objects actually backed up?

CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.


Hacking 101.
I wouldn't expect anything different from BRMS. Wonderful tool, for the early 2000's.

Pick the one with the highest I/O
DSPFFD
Does that work for you?
Not really. 5 objects did not save this morning. The last entries in the QA1A1DI2 file that show any type of errors are from mid-June. I suspect one side of BRMS is letting me know five objects are flagged to not save, while the other side isn't recording what they are. All the errors I can find in QA1A1DI2 are from object locks. None are from IFS settings to not save.

Thanks for the pointers. At this stage I'm tired of dealing with BRMS: no internal controls to create SWA Message Queue that will wrap, you need to manually clean a message queue if you use one defined outside BRMS, error reporting involves hacking or setting up additional control groups. I can really understand why not a single provider of JD Edwards in the cloud wants to work with the i. Fortunately for me, it will all resolve itself in the next year or two.


_____________________________________________________________________
Spirax-Sarco Engineering Plc. This e-mail has been scanned for viruses by Cisco Cloud Email Security.

--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related questions.

Help support midrange.com by shopping at amazon.com with our affiliate link: https://amazon.midrange.com


------------------------------

Subject: Digest Footer

--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) digest list To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: https://amazon.midrange.com


------------------------------

End of MIDRANGE-L Digest, Vol 19, Issue 1131
********************************************
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related questions.

Help support midrange.com by shopping at amazon.com with our affiliate link: https://amazon.midrange.com


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.