#ifndef SQL_CRSR
# define SQL_CRSR
struct sql_cursor
{
unsigned int curocn;
void *ptr1;
void *ptr2;
unsigned int magic;
};
typedef struct sql_cursor sql_cursor;
typedef struct sql_cursor SQL_CURSOR;
#endif /* SQL_CRSR */
typedef void * sql_context;
typedef void * SQL_CONTEXT;
struct sqltvn
{
unsigned char *tvnvsn;
unsigned short tvnvsnl;
unsigned char *tvnnm;
unsigned short tvnnml;
unsigned char *tvnsnm;
unsigned short tvnsnml;
};
typedef struct sqltvn sqltvn;
struct sqladts
{
unsigned int adtvsn;
unsigned short adtmode;
unsigned short adtnum;
sqltvn adttvn[1];
};
typedef struct sqladts sqladts;
static struct sqladts sqladt = {
1,1,0,
};
struct sqltdss
{
unsigned int tdsvsn;
unsigned short tdsnum;
unsigned char *tdsval[1];
};
typedef struct sqltdss sqltdss;
static struct sqltdss sqltds =
{
1,
0,
};
struct sqlcxp
{
unsigned short fillen;
char filnam[24];
};
static const struct sqlcxp sqlfpn =
{
23,
"horaslowreaderonline.pc"
};
static unsigned int sqlctx = 629940931;
static struct sqlexd {
unsigned long sqlvsn;
unsigned int arrsiz;
unsigned int iters;
unsigned int offset;
unsigned short selerr;
unsigned short sqlety;
unsigned int occurs;
const short *cud;
unsigned char *sqlest;
const char *stmt;
sqladts *sqladtp;
sqltdss *sqltdsp;
unsigned char **sqphsv;
unsigned long *sqphsl;
int *sqphss;
short **sqpind;
int *sqpins;
unsigned long *sqparm;
unsigned long **sqparc;
unsigned short *sqpadto;
unsigned short *sqptdso;
unsigned int sqlcmax;
unsigned int sqlcmin;
unsigned int sqlcincr;
unsigned int sqlctimeout;
unsigned int sqlcnowait;
int sqfoff;
unsigned int sqcmod;
unsigned int sqfmod;
unsigned int sqlpfmem;
unsigned char *sqhstv[9];
unsigned long sqhstl[9];
int sqhsts[9];
short *sqindv[9];
int sqinds[9];
unsigned long sqharm[9];
unsigned long *sqharc[9];
unsigned short sqadto[9];
unsigned short sqtdso[9];
} sqlstm = {13,9};
extern "C" {
void sqlcxt (void **, unsigned int *,
struct sqlexd *, const struct sqlcxp *);
void sqlcx2t(void **, unsigned int *,
struct sqlexd *, const struct sqlcxp *);
void sqlbuft(void **, char *);
void sqlgs2t(void **, char *);
void sqlorat(void **, unsigned int *, void *);
}
static const int IAPSUCC = 0;
static const int IAPFAIL = 1403;
static const int IAPFTL = 535;
extern "C" { void sqliem(unsigned char *, signed int *); }
static const char *sq0002 =
"select period_id ,TO_CHAR(period_begin,'yyyy-mm-dd hh24:mi:ss') ,TO_CHAR(per\
iod_end,'yyyy-mm-dd hh24:mi:ss') ,run_id ,filename from hades_scs.hscs_period\
s where period_id between :b0 and :b1 order by period_id ";
static const char *sq0004 =
"select period_id ,mean_value ,sigma_value ,min_value ,max_value ,num_data_ro\
ws ,stat ,mon_num_data_rows ,mon_smpl_per from hades_scs.hcss_chan_run_sum_vi\
ew_ana where (channel_id=:b0 and period_id between :b1 and :b2) order by perio\
d_id ";
static const char *sq0006 =
"select smpl_date ,smpl_nanosec ,NVL(float_val,0.) ,status from hades_scs.hc\
ss_sample_data_view_ana where (smpl_time between TO_TIMESTAMP(:b0,'yyyy-mm-dd \
hh24:mi:ss.ff6') and TO_TIMESTAMP(:b1,'yyyy-mm-dd hh24:mi:ss.ff6') and channel\
_id=:b2) order by smpl_time ";
typedef struct { unsigned short len; unsigned char arr[1]; } VARCHAR;
typedef struct { unsigned short len; unsigned char arr[1]; } varchar;
static const short sqlcud0[] =
{13,4130,1,0,0,
5,0,0,1,211,0,4,58,0,0,5,2,0,1,0,2,3,0,0,2,3,0,0,2,3,0,0,1,97,0,0,1,97,0,0,
40,0,0,2,222,0,9,112,0,0,2,2,0,1,0,1,3,0,0,1,3,0,0,
63,0,0,2,0,0,13,114,0,0,5,0,0,1,0,2,3,0,0,2,97,0,0,2,97,0,0,2,3,0,0,2,9,0,0,
98,0,0,2,0,0,15,132,0,0,0,0,0,1,0,
113,0,0,3,78,0,4,153,0,0,2,1,0,1,0,2,3,0,0,1,97,0,0,
136,0,0,4,248,0,9,212,0,0,3,3,0,1,0,1,3,0,0,1,3,0,0,1,3,0,0,
163,0,0,4,0,0,13,214,0,0,9,0,0,1,0,2,3,0,0,2,4,0,0,2,4,0,0,2,4,0,0,2,4,0,0,2,3,
0,0,2,3,0,0,2,3,0,0,2,3,0,0,
214,0,0,4,0,0,15,232,0,0,0,0,0,1,0,
229,0,0,5,157,0,4,267,0,0,4,1,0,1,0,2,3,0,0,2,9,0,0,2,97,0,0,1,3,0,0,
260,0,0,6,271,0,9,337,0,0,3,3,0,1,0,1,97,0,0,1,97,0,0,1,3,0,0,
287,0,0,6,0,0,13,339,0,0,4,0,0,1,0,2,97,0,0,2,3,0,0,2,4,0,0,2,3,0,0,
318,0,0,6,0,0,15,354,0,0,0,0,0,1,0,
};
#include "horaslowreaderonline.h"
#include "hdbconn.h"
#include "horaslowpartition.h"
#include "horaslowperiod.h"
#include "horaslowchannel.h"
#include "horaslowchanrunsum.h"
#include "horaslowchanmeta.h"
#include "horaslowchanraw.h"
#include <stdio.h>
#include <stdlib.h>
#define SQLCA_STORAGE_CLASS extern
#define ORACA_STORAGE_CLASS extern
#include <oraca.h>
#include <sqlca.h>
ClassImp(HOraSlowReaderOnline)
Bool_t HOraSlowReaderOnline::readRunPeriods() {
if (!pConn->isOpen()||!pPartition) return kFALSE;
TString start=pPartition->getStartTime();
TString end=pPartition->getEndTime();
if (start.IsNull()) {
start = "2016-01-01 00:00:00";
}
if (end.IsNull()) {
end = "4000-01-01 00:00:00";
}
pPartition->setTimeRange(start.Data(),end.Data());
char* pstart;
char* pend;
int nruns;
int minid;
int maxid;
pstart=(Char_t*)start.Data();
pend=(Char_t*)end.Data();
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 5;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select NVL(count(1),0) ,NVL(min(id),(-1)) ,NVL(max(id),(-1)\
) into :b0,:b1,:b2 from hades_scs.hscs_run_period where starttime between TO_\
DATE(:b3,'yyyy-mm-dd hh24:mi:ss') and TO_DATE(:b4,'yyyy-mm-dd hh24:mi:ss')";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )5;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)&nruns;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)&minid;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)&maxid;
sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
sqlstm.sqhsts[2] = ( int )0;
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)pstart;
sqlstm.sqhstl[3] = (unsigned long )0;
sqlstm.sqhsts[3] = ( int )0;
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = (unsigned char *)pend;
sqlstm.sqhstl[4] = (unsigned long )0;
sqlstm.sqhsts[4] = ( int )0;
sqlstm.sqindv[4] = ( short *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned long )0;
sqlstm.sqadto[4] = (unsigned short )0;
sqlstm.sqtdso[4] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode == 1403) goto notfound;
if (sqlca.sqlcode < 0) goto errorfound;
}
if (nruns>0) {
TObjArray* data=pPartition->setNumPeriods(nruns);
return readPeriods(data,nruns,minid,maxid);
}
notfound:
Error("readRunPeriods","No run periods for partition %s in specified time range",
pPartition->GetName());
return kFALSE;
errorfound:
pConn->showSqlError("readRunPeriods");
return kFALSE;
}
Bool_t HOraSlowReaderOnline::readPeriods(TObjArray* data,Int_t nData,
Int_t minPeriodId,Int_t maxPeriodId) {
if (!data) return kFALSE;
int minid;
int maxid;
struct {
int id[NMAX_SCS];
char ts[NMAX_SCS][20];
char te[NMAX_SCS][20];
int rid[NMAX_SCS];
struct { unsigned short len; unsigned char arr[82]; } rname[2000];
} periods;
struct {
short id_Ind[NMAX_SCS];
short ts_Ind[NMAX_SCS];
short te_Ind[NMAX_SCS];
short rid_Ind[NMAX_SCS];
short rname_Ind[NMAX_SCS];
} periods_Ind;
minid=minPeriodId;
maxid=maxPeriodId;
Int_t nTot=0;
Int_t nLast=0;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 5;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = sq0002;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )40;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqcmod = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)&minid;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)&maxid;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) goto errorfound;
}
do {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 5;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.iters = (unsigned int )2000;
sqlstm.offset = (unsigned int )63;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqfoff = ( int )0;
sqlstm.sqfmod = (unsigned int )2;
sqlstm.sqhstv[0] = (unsigned char *)periods.id;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)periods_Ind.id_Ind;
sqlstm.sqinds[0] = ( int )sizeof(short);
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqharc[0] = (unsigned long *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)periods.ts;
sqlstm.sqhstl[1] = (unsigned long )20;
sqlstm.sqhsts[1] = ( int )20;
sqlstm.sqindv[1] = ( short *)periods_Ind.ts_Ind;
sqlstm.sqinds[1] = ( int )sizeof(short);
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqharc[1] = (unsigned long *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)periods.te;
sqlstm.sqhstl[2] = (unsigned long )20;
sqlstm.sqhsts[2] = ( int )20;
sqlstm.sqindv[2] = ( short *)periods_Ind.te_Ind;
sqlstm.sqinds[2] = ( int )sizeof(short);
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqharc[2] = (unsigned long *)0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)periods.rid;
sqlstm.sqhstl[3] = (unsigned long )sizeof(int);
sqlstm.sqhsts[3] = ( int )sizeof(int);
sqlstm.sqindv[3] = ( short *)periods_Ind.rid_Ind;
sqlstm.sqinds[3] = ( int )sizeof(short);
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqharc[3] = (unsigned long *)0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = (unsigned char *)periods.rname;
sqlstm.sqhstl[4] = (unsigned long )83;
sqlstm.sqhsts[4] = ( int )84;
sqlstm.sqindv[4] = ( short *)periods_Ind.rname_Ind;
sqlstm.sqinds[4] = ( int )sizeof(short);
sqlstm.sqharm[4] = (unsigned long )0;
sqlstm.sqharc[4] = (unsigned long *)0;
sqlstm.sqadto[4] = (unsigned short )0;
sqlstm.sqtdso[4] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) goto errorfound;
}
nLast=sqlca.sqlerrd[2]-nTot;
for (Int_t i=0;i<nLast;i++) {
HOraSlowPeriod* p=new HOraSlowPeriod();
periods.ts[i][19]='\0';
periods.te[i][19]='\0';
p->setPeriodId(periods.id[i]);
p->setStartTime((Char_t*)(periods.ts[i]));
p->setEndTime((Char_t*)(periods.te[i]));
if (periods_Ind.rid_Ind[i]!=-1) p->setRunId(periods.rid[i]);
if (periods_Ind.rname_Ind[i]!=-1) {
periods.rname[i].arr[periods.rname[i].len]='\0';
p->setFilename((Char_t*)(periods.rname[i].arr));
}
data->AddAt(p,nTot);
nTot++;
}
} while (nLast==NMAX_SCS&&nTot<nData);
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 5;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )98;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) goto errorfound;
}
if (nTot==nData) return kTRUE;
else {
Error("readPeriods","Too few data read");
return kFALSE;
}
errorfound:
pConn->showSqlError("readPeriods");
return kFALSE;
}
Int_t HOraSlowReaderOnline::readChannelId(HOraSlowChannel* pChannel) {
if (!pConn->isOpen()||!pChannel) return kFALSE;
char* chname;
int chid;
chname=(Char_t*)pChannel->GetName();
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 5;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select channel_id into :b0 from hades_scs.hcss_channel whe\
re channel_name=:b1";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )113;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)&chid;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)chname;
sqlstm.sqhstl[1] = (unsigned long )0;
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode == 1403) goto notfound;
if (sqlca.sqlcode < 0) goto errorfound;
}
pChannel->setChannelId(chid);
return chid;
notfound:
Warning("readChannelId","Channel %s not found",chname);
return -1;
errorfound:
pConn->showSqlError("readChannelId");
return -1;
}
Bool_t HOraSlowReaderOnline::readChannelRunSum(HOraSlowChannel* pChannel) {
if (!pConn->isOpen()||!pPartition||!pChannel) return kFALSE;
TObjArray* periods=pPartition->getRunPeriods();
if (!periods) return kFALSE;
Int_t lastIndex=periods->GetLast();
if (lastIndex<0) return kFALSE;
Int_t channelId=pChannel->getChannelId();
if (channelId<0) {
channelId=readChannelId(pChannel);
}
if (channelId<=0) return kFALSE;
int chid;
int pmin;
int pmax;
struct {
int pid[NMAX_SCS];
double vmean[NMAX_SCS];
double vsigma[NMAX_SCS];
double vmin[NMAX_SCS];
double vmax[NMAX_SCS];
int nd[NMAX_SCS];
int vstat[NMAX_SCS];
int ndmon[NMAX_SCS];
int spmon[NMAX_SCS];
} runsum;
chid=channelId;
pmin=((HOraSlowPeriod*)(periods->At(0)))->getPeriodId();
pmax=((HOraSlowPeriod*)(periods->At(lastIndex)))->getPeriodId();
Int_t nData=lastIndex+1;
TObjArray* data=new TObjArray(nData);
Int_t nTot=0;
Int_t nLast=0;
Int_t periodId=0;
HOraSlowPeriod* period=0;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 5;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = sq0004;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )136;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqcmod = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)&chid;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)&pmin;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)&pmax;
sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
sqlstm.sqhsts[2] = ( int )0;
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) goto errorfound;
}
do {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 9;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.iters = (unsigned int )2000;
sqlstm.offset = (unsigned int )163;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqfoff = ( int )0;
sqlstm.sqfmod = (unsigned int )2;
sqlstm.sqhstv[0] = (unsigned char *)runsum.pid;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqharc[0] = (unsigned long *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)runsum.vmean;
sqlstm.sqhstl[1] = (unsigned long )sizeof(double);
sqlstm.sqhsts[1] = ( int )sizeof(double);
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqharc[1] = (unsigned long *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)runsum.vsigma;
sqlstm.sqhstl[2] = (unsigned long )sizeof(double);
sqlstm.sqhsts[2] = ( int )sizeof(double);
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqharc[2] = (unsigned long *)0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)runsum.vmin;
sqlstm.sqhstl[3] = (unsigned long )sizeof(double);
sqlstm.sqhsts[3] = ( int )sizeof(double);
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqharc[3] = (unsigned long *)0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = (unsigned char *)runsum.vmax;
sqlstm.sqhstl[4] = (unsigned long )sizeof(double);
sqlstm.sqhsts[4] = ( int )sizeof(double);
sqlstm.sqindv[4] = ( short *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned long )0;
sqlstm.sqharc[4] = (unsigned long *)0;
sqlstm.sqadto[4] = (unsigned short )0;
sqlstm.sqtdso[4] = (unsigned short )0;
sqlstm.sqhstv[5] = (unsigned char *)runsum.nd;
sqlstm.sqhstl[5] = (unsigned long )sizeof(int);
sqlstm.sqhsts[5] = ( int )sizeof(int);
sqlstm.sqindv[5] = ( short *)0;
sqlstm.sqinds[5] = ( int )0;
sqlstm.sqharm[5] = (unsigned long )0;
sqlstm.sqharc[5] = (unsigned long *)0;
sqlstm.sqadto[5] = (unsigned short )0;
sqlstm.sqtdso[5] = (unsigned short )0;
sqlstm.sqhstv[6] = (unsigned char *)runsum.vstat;
sqlstm.sqhstl[6] = (unsigned long )sizeof(int);
sqlstm.sqhsts[6] = ( int )sizeof(int);
sqlstm.sqindv[6] = ( short *)0;
sqlstm.sqinds[6] = ( int )0;
sqlstm.sqharm[6] = (unsigned long )0;
sqlstm.sqharc[6] = (unsigned long *)0;
sqlstm.sqadto[6] = (unsigned short )0;
sqlstm.sqtdso[6] = (unsigned short )0;
sqlstm.sqhstv[7] = (unsigned char *)runsum.ndmon;
sqlstm.sqhstl[7] = (unsigned long )sizeof(int);
sqlstm.sqhsts[7] = ( int )sizeof(int);
sqlstm.sqindv[7] = ( short *)0;
sqlstm.sqinds[7] = ( int )0;
sqlstm.sqharm[7] = (unsigned long )0;
sqlstm.sqharc[7] = (unsigned long *)0;
sqlstm.sqadto[7] = (unsigned short )0;
sqlstm.sqtdso[7] = (unsigned short )0;
sqlstm.sqhstv[8] = (unsigned char *)runsum.spmon;
sqlstm.sqhstl[8] = (unsigned long )sizeof(int);
sqlstm.sqhsts[8] = ( int )sizeof(int);
sqlstm.sqindv[8] = ( short *)0;
sqlstm.sqinds[8] = ( int )0;
sqlstm.sqharm[8] = (unsigned long )0;
sqlstm.sqharc[8] = (unsigned long *)0;
sqlstm.sqadto[8] = (unsigned short )0;
sqlstm.sqtdso[8] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) goto errorfound;
}
nLast=sqlca.sqlerrd[2]-nTot;
for (Int_t i=0;i<nLast;i++) {
HOraSlowChanRunSum* p=new HOraSlowChanRunSum();
period=(HOraSlowPeriod*)(periods->At(nTot));
periodId=period->getPeriodId();
if (periodId==runsum.pid[i]) {
p->setPeriod(period);
p->fill(runsum.pid[i],runsum.vmean[i],runsum.vsigma[i],
runsum.vmin[i],runsum.vmax[i],runsum.nd[i],
runsum.vstat[i],runsum.ndmon[i],runsum.spmon[i]);
} else {
p->fill(periodId,-999.,0.,-999.,-999.,0,1,-1,0);
}
data->AddAt(p,nTot);
nTot++;
}
} while (nLast==NMAX_SCS&&nTot<(lastIndex+1));
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 9;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )214;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) goto errorfound;
}
pChannel->setRunSumData(data);
if (nTot==nData) {
cout<<"Run summary data for channel "<<pChannel->GetName()<<" read from Oracle\n";
return kTRUE;
} else {
Error("readChannelRunSum","Too few data read");
return kFALSE;
}
errorfound:
pConn->showSqlError("readChannelRunSum");
return kFALSE;
}
Bool_t HOraSlowReaderOnline::readChannelMetaData(HOraSlowChannel* pChannel) {
if (!pConn->isOpen()||!pPartition||!pChannel) return kFALSE;
Int_t channelId=pChannel->getChannelId();
if (channelId<0) {
channelId=readChannelId(pChannel);
}
if (channelId<=0) return kFALSE;
TObjArray* data=NULL;
HOraSlowChanMeta* meta=NULL;
int chid;
int prec;
struct { unsigned short len; unsigned char arr[21]; } un;
char ts[20];
short un_Ind;
short ts_Ind;
chid=channelId;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 9;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select NVL(precision,0) ,unit ,TO_CHAR(data_starttime,'yyyy\
-mm-dd hh24:mi:ss') into :b0,:b1:b2,:b3:b4 from hades_scs.hcss_meta_view_ana \
where channel_id=:b5";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )229;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)≺
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)&un;
sqlstm.sqhstl[1] = (unsigned long )23;
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( short *)&un_Ind;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)ts;
sqlstm.sqhstl[2] = (unsigned long )20;
sqlstm.sqhsts[2] = ( int )0;
sqlstm.sqindv[2] = ( short *)&ts_Ind;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)&chid;
sqlstm.sqhstl[3] = (unsigned long )sizeof(int);
sqlstm.sqhsts[3] = ( int )0;
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode == 1403) goto notfound;
if (sqlca.sqlcode < 0) goto errorfound;
}
data=new TObjArray(1);
meta=new HOraSlowChanMeta();
meta->setPrecision(prec);
if (un_Ind!=-1) {
un.arr[un.len]='\0';
meta->setUnits((Char_t*)un.arr);
}
if (ts_Ind!=-1) {
ts[19]='\0';
meta->setStartTime((Char_t*)ts);
}
data->AddAt(meta,0);
pChannel->setMetaData(data);
pChannel->setMaxPrecision(prec);
cout<<"Meta data for channel "<<pChannel->GetName()<<" read from Oracle\n";
return kTRUE;
notfound:
Error("readChannelMetaData","No meta data found for channel %s",pChannel->GetName());
return kFALSE;
errorfound:
pConn->showSqlError("readChannelMetaData");
return kFALSE;
}
Bool_t HOraSlowReaderOnline::readRawData(HOraSlowChannel* channel,
const Char_t* start, const Char_t* end) {
if (!pConn->isOpen()||channel==0||start==0||end==0) return kFALSE;
Int_t channelId=channel->getChannelId();
if (channelId<0) {
channelId=readChannelId(channel);
}
if (channelId<=0) return kFALSE;
if (channel->getMetaData()==0) readChannelMetaData(channel);
int chid;
char* tstart;
char* tend;
struct {
char ti[NMAX_SCS][20];
int na[NMAX_SCS];
double va[NMAX_SCS];
int st[NMAX_SCS];
} rawdata;
chid=channelId;
TString t1(start);
t1.Append(".000000");
TString t2(end);
t2.Append(".999999");
tstart=(Char_t*)t1.Data();
tend=(Char_t*)t2.Data();
TObjArray* data=0;
Int_t nTot=0;
Int_t nLast=0;
TString lastTimestamp;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 9;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = sq0006;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )260;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqcmod = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)tstart;
sqlstm.sqhstl[0] = (unsigned long )0;
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)tend;
sqlstm.sqhstl[1] = (unsigned long )0;
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)&chid;
sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
sqlstm.sqhsts[2] = ( int )0;
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) goto errorfound;
}
do {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 9;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.iters = (unsigned int )2000;
sqlstm.offset = (unsigned int )287;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqfoff = ( int )0;
sqlstm.sqfmod = (unsigned int )2;
sqlstm.sqhstv[0] = (unsigned char *)rawdata.ti;
sqlstm.sqhstl[0] = (unsigned long )20;
sqlstm.sqhsts[0] = ( int )20;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqharc[0] = (unsigned long *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)rawdata.na;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )sizeof(int);
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqharc[1] = (unsigned long *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)rawdata.va;
sqlstm.sqhstl[2] = (unsigned long )sizeof(double);
sqlstm.sqhsts[2] = ( int )sizeof(double);
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqharc[2] = (unsigned long *)0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)rawdata.st;
sqlstm.sqhstl[3] = (unsigned long )sizeof(int);
sqlstm.sqhsts[3] = ( int )sizeof(int);
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqharc[3] = (unsigned long *)0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) goto errorfound;
}
nLast=sqlca.sqlerrd[2]-nTot;
if (nLast>0) {
if (data==0) data=new TObjArray(nLast);
else data->Expand(sqlca.sqlerrd[2]);
for (Int_t i=0;i<nLast;i++) {
HOraSlowChanRaw* p=new HOraSlowChanRaw();
rawdata.ti[i][19]='\0';
p->fill(rawdata.ti[i],rawdata.na[i],rawdata.va[i],rawdata.st[i]);
data->AddAt(p,nTot);
nTot++;
}
lastTimestamp=rawdata.ti[nLast-1];
}
} while (nLast==NMAX_SCS&&nTot<=20000);
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 9;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )318;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) goto errorfound;
}
if (nTot>0) {
if (nTot>=20000) channel->setRawData(data,start,lastTimestamp.Data());
else channel->setRawData(data,start,end);
cout<<"Number of raw data: "<<nTot<<'\n';
return kTRUE;
}
Error("readRawData","No raw data found!");
return kFALSE;
errorfound:
pConn->showSqlError("readRawData");
return kFALSE;
}
horaslowreaderonline.pc.cc:1 horaslowreaderonline.pc.cc:2 horaslowreaderonline.pc.cc:3 horaslowreaderonline.pc.cc:4 horaslowreaderonline.pc.cc:5 horaslowreaderonline.pc.cc:6 horaslowreaderonline.pc.cc:7 horaslowreaderonline.pc.cc:8 horaslowreaderonline.pc.cc:9 horaslowreaderonline.pc.cc:10 horaslowreaderonline.pc.cc:11 horaslowreaderonline.pc.cc:12 horaslowreaderonline.pc.cc:13 horaslowreaderonline.pc.cc:14 horaslowreaderonline.pc.cc:15 horaslowreaderonline.pc.cc:16 horaslowreaderonline.pc.cc:17 horaslowreaderonline.pc.cc:18 horaslowreaderonline.pc.cc:19 horaslowreaderonline.pc.cc:20 horaslowreaderonline.pc.cc:21 horaslowreaderonline.pc.cc:22 horaslowreaderonline.pc.cc:23 horaslowreaderonline.pc.cc:24 horaslowreaderonline.pc.cc:25 horaslowreaderonline.pc.cc:26 horaslowreaderonline.pc.cc:27 horaslowreaderonline.pc.cc:28 horaslowreaderonline.pc.cc:29 horaslowreaderonline.pc.cc:30 horaslowreaderonline.pc.cc:31 horaslowreaderonline.pc.cc:32 horaslowreaderonline.pc.cc:33 horaslowreaderonline.pc.cc:34 horaslowreaderonline.pc.cc:35 horaslowreaderonline.pc.cc:36 horaslowreaderonline.pc.cc:37 horaslowreaderonline.pc.cc:38 horaslowreaderonline.pc.cc:39 horaslowreaderonline.pc.cc:40 horaslowreaderonline.pc.cc:41 horaslowreaderonline.pc.cc:42 horaslowreaderonline.pc.cc:43 horaslowreaderonline.pc.cc:44 horaslowreaderonline.pc.cc:45 horaslowreaderonline.pc.cc:46 horaslowreaderonline.pc.cc:47 horaslowreaderonline.pc.cc:48 horaslowreaderonline.pc.cc:49 horaslowreaderonline.pc.cc:50 horaslowreaderonline.pc.cc:51 horaslowreaderonline.pc.cc:52 horaslowreaderonline.pc.cc:53 horaslowreaderonline.pc.cc:54 horaslowreaderonline.pc.cc:55 horaslowreaderonline.pc.cc:56 horaslowreaderonline.pc.cc:57 horaslowreaderonline.pc.cc:58 horaslowreaderonline.pc.cc:59 horaslowreaderonline.pc.cc:60 horaslowreaderonline.pc.cc:61 horaslowreaderonline.pc.cc:62 horaslowreaderonline.pc.cc:63 horaslowreaderonline.pc.cc:64 horaslowreaderonline.pc.cc:65 horaslowreaderonline.pc.cc:66 horaslowreaderonline.pc.cc:67 horaslowreaderonline.pc.cc:68 horaslowreaderonline.pc.cc:69 horaslowreaderonline.pc.cc:70 horaslowreaderonline.pc.cc:71 horaslowreaderonline.pc.cc:72 horaslowreaderonline.pc.cc:73 horaslowreaderonline.pc.cc:74 horaslowreaderonline.pc.cc:75 horaslowreaderonline.pc.cc:76 horaslowreaderonline.pc.cc:77 horaslowreaderonline.pc.cc:78 horaslowreaderonline.pc.cc:79 horaslowreaderonline.pc.cc:80 horaslowreaderonline.pc.cc:81 horaslowreaderonline.pc.cc:82 horaslowreaderonline.pc.cc:83 horaslowreaderonline.pc.cc:84 horaslowreaderonline.pc.cc:85 horaslowreaderonline.pc.cc:86 horaslowreaderonline.pc.cc:87 horaslowreaderonline.pc.cc:88 horaslowreaderonline.pc.cc:89 horaslowreaderonline.pc.cc:90 horaslowreaderonline.pc.cc:91 horaslowreaderonline.pc.cc:92 horaslowreaderonline.pc.cc:93 horaslowreaderonline.pc.cc:94 horaslowreaderonline.pc.cc:95 horaslowreaderonline.pc.cc:96 horaslowreaderonline.pc.cc:97 horaslowreaderonline.pc.cc:98 horaslowreaderonline.pc.cc:99 horaslowreaderonline.pc.cc:100 horaslowreaderonline.pc.cc:101 horaslowreaderonline.pc.cc:102 horaslowreaderonline.pc.cc:103 horaslowreaderonline.pc.cc:104 horaslowreaderonline.pc.cc:105 horaslowreaderonline.pc.cc:106 horaslowreaderonline.pc.cc:107 horaslowreaderonline.pc.cc:108 horaslowreaderonline.pc.cc:109 horaslowreaderonline.pc.cc:110 horaslowreaderonline.pc.cc:111 horaslowreaderonline.pc.cc:112 horaslowreaderonline.pc.cc:113 horaslowreaderonline.pc.cc:114 horaslowreaderonline.pc.cc:115 horaslowreaderonline.pc.cc:116 horaslowreaderonline.pc.cc:117 horaslowreaderonline.pc.cc:118 horaslowreaderonline.pc.cc:119 horaslowreaderonline.pc.cc:120 horaslowreaderonline.pc.cc:121 horaslowreaderonline.pc.cc:122 horaslowreaderonline.pc.cc:123 horaslowreaderonline.pc.cc:124 horaslowreaderonline.pc.cc:125 horaslowreaderonline.pc.cc:126 horaslowreaderonline.pc.cc:127 horaslowreaderonline.pc.cc:128 horaslowreaderonline.pc.cc:129 horaslowreaderonline.pc.cc:130 horaslowreaderonline.pc.cc:131 horaslowreaderonline.pc.cc:132 horaslowreaderonline.pc.cc:133 horaslowreaderonline.pc.cc:134 horaslowreaderonline.pc.cc:135 horaslowreaderonline.pc.cc:136 horaslowreaderonline.pc.cc:137 horaslowreaderonline.pc.cc:138 horaslowreaderonline.pc.cc:139 horaslowreaderonline.pc.cc:140 horaslowreaderonline.pc.cc:141 horaslowreaderonline.pc.cc:142 horaslowreaderonline.pc.cc:143 horaslowreaderonline.pc.cc:144 horaslowreaderonline.pc.cc:145 horaslowreaderonline.pc.cc:146 horaslowreaderonline.pc.cc:147 horaslowreaderonline.pc.cc:148 horaslowreaderonline.pc.cc:149 horaslowreaderonline.pc.cc:150 horaslowreaderonline.pc.cc:151 horaslowreaderonline.pc.cc:152 horaslowreaderonline.pc.cc:153 horaslowreaderonline.pc.cc:154 horaslowreaderonline.pc.cc:155 horaslowreaderonline.pc.cc:156 horaslowreaderonline.pc.cc:157 horaslowreaderonline.pc.cc:158 horaslowreaderonline.pc.cc:159 horaslowreaderonline.pc.cc:160 horaslowreaderonline.pc.cc:161 horaslowreaderonline.pc.cc:162 horaslowreaderonline.pc.cc:163 horaslowreaderonline.pc.cc:164 horaslowreaderonline.pc.cc:165 horaslowreaderonline.pc.cc:166 horaslowreaderonline.pc.cc:167 horaslowreaderonline.pc.cc:168 horaslowreaderonline.pc.cc:169 horaslowreaderonline.pc.cc:170 horaslowreaderonline.pc.cc:171 horaslowreaderonline.pc.cc:172 horaslowreaderonline.pc.cc:173 horaslowreaderonline.pc.cc:174 horaslowreaderonline.pc.cc:175 horaslowreaderonline.pc.cc:176 horaslowreaderonline.pc.cc:177 horaslowreaderonline.pc.cc:178 horaslowreaderonline.pc.cc:179 horaslowreaderonline.pc.cc:180 horaslowreaderonline.pc.cc:181 horaslowreaderonline.pc.cc:182 horaslowreaderonline.pc.cc:183 horaslowreaderonline.pc.cc:184 horaslowreaderonline.pc.cc:185 horaslowreaderonline.pc.cc:186 horaslowreaderonline.pc.cc:187 horaslowreaderonline.pc.cc:188 horaslowreaderonline.pc.cc:189 horaslowreaderonline.pc.cc:190 horaslowreaderonline.pc.cc:191 horaslowreaderonline.pc.cc:192 horaslowreaderonline.pc.cc:193 horaslowreaderonline.pc.cc:194 horaslowreaderonline.pc.cc:195 horaslowreaderonline.pc.cc:196 horaslowreaderonline.pc.cc:197 horaslowreaderonline.pc.cc:198 horaslowreaderonline.pc.cc:199 horaslowreaderonline.pc.cc:200 horaslowreaderonline.pc.cc:201 horaslowreaderonline.pc.cc:202 horaslowreaderonline.pc.cc:203 horaslowreaderonline.pc.cc:204 horaslowreaderonline.pc.cc:205 horaslowreaderonline.pc.cc:206 horaslowreaderonline.pc.cc:207 horaslowreaderonline.pc.cc:208 horaslowreaderonline.pc.cc:209 horaslowreaderonline.pc.cc:210 horaslowreaderonline.pc.cc:211 horaslowreaderonline.pc.cc:212 horaslowreaderonline.pc.cc:213 horaslowreaderonline.pc.cc:214 horaslowreaderonline.pc.cc:215 horaslowreaderonline.pc.cc:216 horaslowreaderonline.pc.cc:217 horaslowreaderonline.pc.cc:218 horaslowreaderonline.pc.cc:219 horaslowreaderonline.pc.cc:220 horaslowreaderonline.pc.cc:221 horaslowreaderonline.pc.cc:222 horaslowreaderonline.pc.cc:223 horaslowreaderonline.pc.cc:224 horaslowreaderonline.pc.cc:225 horaslowreaderonline.pc.cc:226 horaslowreaderonline.pc.cc:227 horaslowreaderonline.pc.cc:228 horaslowreaderonline.pc.cc:229 horaslowreaderonline.pc.cc:230 horaslowreaderonline.pc.cc:231 horaslowreaderonline.pc.cc:232 horaslowreaderonline.pc.cc:233 horaslowreaderonline.pc.cc:234 horaslowreaderonline.pc.cc:235 horaslowreaderonline.pc.cc:236 horaslowreaderonline.pc.cc:237 horaslowreaderonline.pc.cc:238 horaslowreaderonline.pc.cc:239 horaslowreaderonline.pc.cc:240 horaslowreaderonline.pc.cc:241 horaslowreaderonline.pc.cc:242 horaslowreaderonline.pc.cc:243 horaslowreaderonline.pc.cc:244 horaslowreaderonline.pc.cc:245 horaslowreaderonline.pc.cc:246 horaslowreaderonline.pc.cc:247 horaslowreaderonline.pc.cc:248 horaslowreaderonline.pc.cc:249 horaslowreaderonline.pc.cc:250 horaslowreaderonline.pc.cc:251 horaslowreaderonline.pc.cc:252 horaslowreaderonline.pc.cc:253 horaslowreaderonline.pc.cc:254 horaslowreaderonline.pc.cc:255 horaslowreaderonline.pc.cc:256 horaslowreaderonline.pc.cc:257 horaslowreaderonline.pc.cc:258 horaslowreaderonline.pc.cc:259 horaslowreaderonline.pc.cc:260 horaslowreaderonline.pc.cc:261 horaslowreaderonline.pc.cc:262 horaslowreaderonline.pc.cc:263 horaslowreaderonline.pc.cc:264 horaslowreaderonline.pc.cc:265 horaslowreaderonline.pc.cc:266 horaslowreaderonline.pc.cc:267 horaslowreaderonline.pc.cc:268 horaslowreaderonline.pc.cc:269 horaslowreaderonline.pc.cc:270 horaslowreaderonline.pc.cc:271 horaslowreaderonline.pc.cc:272 horaslowreaderonline.pc.cc:273 horaslowreaderonline.pc.cc:274 horaslowreaderonline.pc.cc:275 horaslowreaderonline.pc.cc:276 horaslowreaderonline.pc.cc:277 horaslowreaderonline.pc.cc:278 horaslowreaderonline.pc.cc:279 horaslowreaderonline.pc.cc:280 horaslowreaderonline.pc.cc:281 horaslowreaderonline.pc.cc:282 horaslowreaderonline.pc.cc:283 horaslowreaderonline.pc.cc:284 horaslowreaderonline.pc.cc:285 horaslowreaderonline.pc.cc:286 horaslowreaderonline.pc.cc:287 horaslowreaderonline.pc.cc:288 horaslowreaderonline.pc.cc:289 horaslowreaderonline.pc.cc:290 horaslowreaderonline.pc.cc:291 horaslowreaderonline.pc.cc:292 horaslowreaderonline.pc.cc:293 horaslowreaderonline.pc.cc:294 horaslowreaderonline.pc.cc:295 horaslowreaderonline.pc.cc:296 horaslowreaderonline.pc.cc:297 horaslowreaderonline.pc.cc:298 horaslowreaderonline.pc.cc:299 horaslowreaderonline.pc.cc:300 horaslowreaderonline.pc.cc:301 horaslowreaderonline.pc.cc:302 horaslowreaderonline.pc.cc:303 horaslowreaderonline.pc.cc:304 horaslowreaderonline.pc.cc:305 horaslowreaderonline.pc.cc:306 horaslowreaderonline.pc.cc:307 horaslowreaderonline.pc.cc:308 horaslowreaderonline.pc.cc:309 horaslowreaderonline.pc.cc:310 horaslowreaderonline.pc.cc:311 horaslowreaderonline.pc.cc:312 horaslowreaderonline.pc.cc:313 horaslowreaderonline.pc.cc:314 horaslowreaderonline.pc.cc:315 horaslowreaderonline.pc.cc:316 horaslowreaderonline.pc.cc:317 horaslowreaderonline.pc.cc:318 horaslowreaderonline.pc.cc:319 horaslowreaderonline.pc.cc:320 horaslowreaderonline.pc.cc:321 horaslowreaderonline.pc.cc:322 horaslowreaderonline.pc.cc:323 horaslowreaderonline.pc.cc:324 horaslowreaderonline.pc.cc:325 horaslowreaderonline.pc.cc:326 horaslowreaderonline.pc.cc:327 horaslowreaderonline.pc.cc:328 horaslowreaderonline.pc.cc:329 horaslowreaderonline.pc.cc:330 horaslowreaderonline.pc.cc:331 horaslowreaderonline.pc.cc:332 horaslowreaderonline.pc.cc:333 horaslowreaderonline.pc.cc:334 horaslowreaderonline.pc.cc:335 horaslowreaderonline.pc.cc:336 horaslowreaderonline.pc.cc:337 horaslowreaderonline.pc.cc:338 horaslowreaderonline.pc.cc:339 horaslowreaderonline.pc.cc:340 horaslowreaderonline.pc.cc:341 horaslowreaderonline.pc.cc:342 horaslowreaderonline.pc.cc:343 horaslowreaderonline.pc.cc:344 horaslowreaderonline.pc.cc:345 horaslowreaderonline.pc.cc:346 horaslowreaderonline.pc.cc:347 horaslowreaderonline.pc.cc:348 horaslowreaderonline.pc.cc:349 horaslowreaderonline.pc.cc:350 horaslowreaderonline.pc.cc:351 horaslowreaderonline.pc.cc:352 horaslowreaderonline.pc.cc:353 horaslowreaderonline.pc.cc:354 horaslowreaderonline.pc.cc:355 horaslowreaderonline.pc.cc:356 horaslowreaderonline.pc.cc:357 horaslowreaderonline.pc.cc:358 horaslowreaderonline.pc.cc:359 horaslowreaderonline.pc.cc:360 horaslowreaderonline.pc.cc:361 horaslowreaderonline.pc.cc:362 horaslowreaderonline.pc.cc:363 horaslowreaderonline.pc.cc:364 horaslowreaderonline.pc.cc:365 horaslowreaderonline.pc.cc:366 horaslowreaderonline.pc.cc:367 horaslowreaderonline.pc.cc:368 horaslowreaderonline.pc.cc:369 horaslowreaderonline.pc.cc:370 horaslowreaderonline.pc.cc:371 horaslowreaderonline.pc.cc:372 horaslowreaderonline.pc.cc:373 horaslowreaderonline.pc.cc:374 horaslowreaderonline.pc.cc:375 horaslowreaderonline.pc.cc:376 horaslowreaderonline.pc.cc:377 horaslowreaderonline.pc.cc:378 horaslowreaderonline.pc.cc:379 horaslowreaderonline.pc.cc:380 horaslowreaderonline.pc.cc:381 horaslowreaderonline.pc.cc:382 horaslowreaderonline.pc.cc:383 horaslowreaderonline.pc.cc:384 horaslowreaderonline.pc.cc:385 horaslowreaderonline.pc.cc:386 horaslowreaderonline.pc.cc:387 horaslowreaderonline.pc.cc:388 horaslowreaderonline.pc.cc:389 horaslowreaderonline.pc.cc:390 horaslowreaderonline.pc.cc:391 horaslowreaderonline.pc.cc:392 horaslowreaderonline.pc.cc:393 horaslowreaderonline.pc.cc:394 horaslowreaderonline.pc.cc:395 horaslowreaderonline.pc.cc:396 horaslowreaderonline.pc.cc:397 horaslowreaderonline.pc.cc:398 horaslowreaderonline.pc.cc:399 horaslowreaderonline.pc.cc:400 horaslowreaderonline.pc.cc:401 horaslowreaderonline.pc.cc:402 horaslowreaderonline.pc.cc:403 horaslowreaderonline.pc.cc:404 horaslowreaderonline.pc.cc:405 horaslowreaderonline.pc.cc:406 horaslowreaderonline.pc.cc:407 horaslowreaderonline.pc.cc:408 horaslowreaderonline.pc.cc:409 horaslowreaderonline.pc.cc:410 horaslowreaderonline.pc.cc:411 horaslowreaderonline.pc.cc:412 horaslowreaderonline.pc.cc:413 horaslowreaderonline.pc.cc:414 horaslowreaderonline.pc.cc:415 horaslowreaderonline.pc.cc:416 horaslowreaderonline.pc.cc:417 horaslowreaderonline.pc.cc:418 horaslowreaderonline.pc.cc:419 horaslowreaderonline.pc.cc:420 horaslowreaderonline.pc.cc:421 horaslowreaderonline.pc.cc:422 horaslowreaderonline.pc.cc:423 horaslowreaderonline.pc.cc:424 horaslowreaderonline.pc.cc:425 horaslowreaderonline.pc.cc:426 horaslowreaderonline.pc.cc:427 horaslowreaderonline.pc.cc:428 horaslowreaderonline.pc.cc:429 horaslowreaderonline.pc.cc:430 horaslowreaderonline.pc.cc:431 horaslowreaderonline.pc.cc:432 horaslowreaderonline.pc.cc:433 horaslowreaderonline.pc.cc:434 horaslowreaderonline.pc.cc:435 horaslowreaderonline.pc.cc:436 horaslowreaderonline.pc.cc:437 horaslowreaderonline.pc.cc:438 horaslowreaderonline.pc.cc:439 horaslowreaderonline.pc.cc:440 horaslowreaderonline.pc.cc:441 horaslowreaderonline.pc.cc:442 horaslowreaderonline.pc.cc:443 horaslowreaderonline.pc.cc:444 horaslowreaderonline.pc.cc:445 horaslowreaderonline.pc.cc:446 horaslowreaderonline.pc.cc:447 horaslowreaderonline.pc.cc:448 horaslowreaderonline.pc.cc:449 horaslowreaderonline.pc.cc:450 horaslowreaderonline.pc.cc:451 horaslowreaderonline.pc.cc:452 horaslowreaderonline.pc.cc:453 horaslowreaderonline.pc.cc:454 horaslowreaderonline.pc.cc:455 horaslowreaderonline.pc.cc:456 horaslowreaderonline.pc.cc:457 horaslowreaderonline.pc.cc:458 horaslowreaderonline.pc.cc:459 horaslowreaderonline.pc.cc:460 horaslowreaderonline.pc.cc:461 horaslowreaderonline.pc.cc:462 horaslowreaderonline.pc.cc:463 horaslowreaderonline.pc.cc:464 horaslowreaderonline.pc.cc:465 horaslowreaderonline.pc.cc:466 horaslowreaderonline.pc.cc:467 horaslowreaderonline.pc.cc:468 horaslowreaderonline.pc.cc:469 horaslowreaderonline.pc.cc:470 horaslowreaderonline.pc.cc:471 horaslowreaderonline.pc.cc:472 horaslowreaderonline.pc.cc:473 horaslowreaderonline.pc.cc:474 horaslowreaderonline.pc.cc:475 horaslowreaderonline.pc.cc:476 horaslowreaderonline.pc.cc:477 horaslowreaderonline.pc.cc:478 horaslowreaderonline.pc.cc:479 horaslowreaderonline.pc.cc:480 horaslowreaderonline.pc.cc:481 horaslowreaderonline.pc.cc:482 horaslowreaderonline.pc.cc:483 horaslowreaderonline.pc.cc:484 horaslowreaderonline.pc.cc:485 horaslowreaderonline.pc.cc:486 horaslowreaderonline.pc.cc:487 horaslowreaderonline.pc.cc:488 horaslowreaderonline.pc.cc:489 horaslowreaderonline.pc.cc:490 horaslowreaderonline.pc.cc:491 horaslowreaderonline.pc.cc:492 horaslowreaderonline.pc.cc:493 horaslowreaderonline.pc.cc:494 horaslowreaderonline.pc.cc:495 horaslowreaderonline.pc.cc:496 horaslowreaderonline.pc.cc:497 horaslowreaderonline.pc.cc:498 horaslowreaderonline.pc.cc:499 horaslowreaderonline.pc.cc:500 horaslowreaderonline.pc.cc:501 horaslowreaderonline.pc.cc:502 horaslowreaderonline.pc.cc:503 horaslowreaderonline.pc.cc:504 horaslowreaderonline.pc.cc:505 horaslowreaderonline.pc.cc:506 horaslowreaderonline.pc.cc:507 horaslowreaderonline.pc.cc:508 horaslowreaderonline.pc.cc:509 horaslowreaderonline.pc.cc:510 horaslowreaderonline.pc.cc:511 horaslowreaderonline.pc.cc:512 horaslowreaderonline.pc.cc:513 horaslowreaderonline.pc.cc:514 horaslowreaderonline.pc.cc:515 horaslowreaderonline.pc.cc:516 horaslowreaderonline.pc.cc:517 horaslowreaderonline.pc.cc:518 horaslowreaderonline.pc.cc:519 horaslowreaderonline.pc.cc:520 horaslowreaderonline.pc.cc:521 horaslowreaderonline.pc.cc:522 horaslowreaderonline.pc.cc:523 horaslowreaderonline.pc.cc:524 horaslowreaderonline.pc.cc:525 horaslowreaderonline.pc.cc:526 horaslowreaderonline.pc.cc:527 horaslowreaderonline.pc.cc:528 horaslowreaderonline.pc.cc:529 horaslowreaderonline.pc.cc:530 horaslowreaderonline.pc.cc:531 horaslowreaderonline.pc.cc:532 horaslowreaderonline.pc.cc:533 horaslowreaderonline.pc.cc:534 horaslowreaderonline.pc.cc:535 horaslowreaderonline.pc.cc:536 horaslowreaderonline.pc.cc:537 horaslowreaderonline.pc.cc:538 horaslowreaderonline.pc.cc:539 horaslowreaderonline.pc.cc:540 horaslowreaderonline.pc.cc:541 horaslowreaderonline.pc.cc:542 horaslowreaderonline.pc.cc:543 horaslowreaderonline.pc.cc:544 horaslowreaderonline.pc.cc:545 horaslowreaderonline.pc.cc:546 horaslowreaderonline.pc.cc:547 horaslowreaderonline.pc.cc:548 horaslowreaderonline.pc.cc:549 horaslowreaderonline.pc.cc:550 horaslowreaderonline.pc.cc:551 horaslowreaderonline.pc.cc:552 horaslowreaderonline.pc.cc:553 horaslowreaderonline.pc.cc:554 horaslowreaderonline.pc.cc:555 horaslowreaderonline.pc.cc:556 horaslowreaderonline.pc.cc:557 horaslowreaderonline.pc.cc:558 horaslowreaderonline.pc.cc:559 horaslowreaderonline.pc.cc:560 horaslowreaderonline.pc.cc:561 horaslowreaderonline.pc.cc:562 horaslowreaderonline.pc.cc:563 horaslowreaderonline.pc.cc:564 horaslowreaderonline.pc.cc:565 horaslowreaderonline.pc.cc:566 horaslowreaderonline.pc.cc:567 horaslowreaderonline.pc.cc:568 horaslowreaderonline.pc.cc:569 horaslowreaderonline.pc.cc:570 horaslowreaderonline.pc.cc:571 horaslowreaderonline.pc.cc:572 horaslowreaderonline.pc.cc:573 horaslowreaderonline.pc.cc:574 horaslowreaderonline.pc.cc:575 horaslowreaderonline.pc.cc:576 horaslowreaderonline.pc.cc:577 horaslowreaderonline.pc.cc:578 horaslowreaderonline.pc.cc:579 horaslowreaderonline.pc.cc:580 horaslowreaderonline.pc.cc:581 horaslowreaderonline.pc.cc:582 horaslowreaderonline.pc.cc:583 horaslowreaderonline.pc.cc:584 horaslowreaderonline.pc.cc:585 horaslowreaderonline.pc.cc:586 horaslowreaderonline.pc.cc:587 horaslowreaderonline.pc.cc:588 horaslowreaderonline.pc.cc:589 horaslowreaderonline.pc.cc:590 horaslowreaderonline.pc.cc:591 horaslowreaderonline.pc.cc:592 horaslowreaderonline.pc.cc:593 horaslowreaderonline.pc.cc:594 horaslowreaderonline.pc.cc:595 horaslowreaderonline.pc.cc:596 horaslowreaderonline.pc.cc:597 horaslowreaderonline.pc.cc:598 horaslowreaderonline.pc.cc:599 horaslowreaderonline.pc.cc:600 horaslowreaderonline.pc.cc:601 horaslowreaderonline.pc.cc:602 horaslowreaderonline.pc.cc:603 horaslowreaderonline.pc.cc:604 horaslowreaderonline.pc.cc:605 horaslowreaderonline.pc.cc:606 horaslowreaderonline.pc.cc:607 horaslowreaderonline.pc.cc:608 horaslowreaderonline.pc.cc:609 horaslowreaderonline.pc.cc:610 horaslowreaderonline.pc.cc:611 horaslowreaderonline.pc.cc:612 horaslowreaderonline.pc.cc:613 horaslowreaderonline.pc.cc:614 horaslowreaderonline.pc.cc:615 horaslowreaderonline.pc.cc:616 horaslowreaderonline.pc.cc:617 horaslowreaderonline.pc.cc:618 horaslowreaderonline.pc.cc:619 horaslowreaderonline.pc.cc:620 horaslowreaderonline.pc.cc:621 horaslowreaderonline.pc.cc:622 horaslowreaderonline.pc.cc:623 horaslowreaderonline.pc.cc:624 horaslowreaderonline.pc.cc:625 horaslowreaderonline.pc.cc:626 horaslowreaderonline.pc.cc:627 horaslowreaderonline.pc.cc:628 horaslowreaderonline.pc.cc:629 horaslowreaderonline.pc.cc:630 horaslowreaderonline.pc.cc:631 horaslowreaderonline.pc.cc:632 horaslowreaderonline.pc.cc:633 horaslowreaderonline.pc.cc:634 horaslowreaderonline.pc.cc:635 horaslowreaderonline.pc.cc:636 horaslowreaderonline.pc.cc:637 horaslowreaderonline.pc.cc:638 horaslowreaderonline.pc.cc:639 horaslowreaderonline.pc.cc:640 horaslowreaderonline.pc.cc:641 horaslowreaderonline.pc.cc:642 horaslowreaderonline.pc.cc:643 horaslowreaderonline.pc.cc:644 horaslowreaderonline.pc.cc:645 horaslowreaderonline.pc.cc:646 horaslowreaderonline.pc.cc:647 horaslowreaderonline.pc.cc:648 horaslowreaderonline.pc.cc:649 horaslowreaderonline.pc.cc:650 horaslowreaderonline.pc.cc:651 horaslowreaderonline.pc.cc:652 horaslowreaderonline.pc.cc:653 horaslowreaderonline.pc.cc:654 horaslowreaderonline.pc.cc:655 horaslowreaderonline.pc.cc:656 horaslowreaderonline.pc.cc:657 horaslowreaderonline.pc.cc:658 horaslowreaderonline.pc.cc:659 horaslowreaderonline.pc.cc:660 horaslowreaderonline.pc.cc:661 horaslowreaderonline.pc.cc:662 horaslowreaderonline.pc.cc:663 horaslowreaderonline.pc.cc:664 horaslowreaderonline.pc.cc:665 horaslowreaderonline.pc.cc:666 horaslowreaderonline.pc.cc:667 horaslowreaderonline.pc.cc:668 horaslowreaderonline.pc.cc:669 horaslowreaderonline.pc.cc:670 horaslowreaderonline.pc.cc:671 horaslowreaderonline.pc.cc:672 horaslowreaderonline.pc.cc:673 horaslowreaderonline.pc.cc:674 horaslowreaderonline.pc.cc:675 horaslowreaderonline.pc.cc:676 horaslowreaderonline.pc.cc:677 horaslowreaderonline.pc.cc:678 horaslowreaderonline.pc.cc:679 horaslowreaderonline.pc.cc:680 horaslowreaderonline.pc.cc:681 horaslowreaderonline.pc.cc:682 horaslowreaderonline.pc.cc:683 horaslowreaderonline.pc.cc:684 horaslowreaderonline.pc.cc:685 horaslowreaderonline.pc.cc:686 horaslowreaderonline.pc.cc:687 horaslowreaderonline.pc.cc:688 horaslowreaderonline.pc.cc:689 horaslowreaderonline.pc.cc:690 horaslowreaderonline.pc.cc:691 horaslowreaderonline.pc.cc:692 horaslowreaderonline.pc.cc:693 horaslowreaderonline.pc.cc:694 horaslowreaderonline.pc.cc:695 horaslowreaderonline.pc.cc:696 horaslowreaderonline.pc.cc:697 horaslowreaderonline.pc.cc:698 horaslowreaderonline.pc.cc:699 horaslowreaderonline.pc.cc:700 horaslowreaderonline.pc.cc:701 horaslowreaderonline.pc.cc:702 horaslowreaderonline.pc.cc:703 horaslowreaderonline.pc.cc:704 horaslowreaderonline.pc.cc:705 horaslowreaderonline.pc.cc:706 horaslowreaderonline.pc.cc:707 horaslowreaderonline.pc.cc:708 horaslowreaderonline.pc.cc:709 horaslowreaderonline.pc.cc:710 horaslowreaderonline.pc.cc:711 horaslowreaderonline.pc.cc:712 horaslowreaderonline.pc.cc:713 horaslowreaderonline.pc.cc:714 horaslowreaderonline.pc.cc:715 horaslowreaderonline.pc.cc:716 horaslowreaderonline.pc.cc:717 horaslowreaderonline.pc.cc:718 horaslowreaderonline.pc.cc:719 horaslowreaderonline.pc.cc:720 horaslowreaderonline.pc.cc:721 horaslowreaderonline.pc.cc:722 horaslowreaderonline.pc.cc:723 horaslowreaderonline.pc.cc:724 horaslowreaderonline.pc.cc:725 horaslowreaderonline.pc.cc:726 horaslowreaderonline.pc.cc:727 horaslowreaderonline.pc.cc:728 horaslowreaderonline.pc.cc:729 horaslowreaderonline.pc.cc:730 horaslowreaderonline.pc.cc:731 horaslowreaderonline.pc.cc:732 horaslowreaderonline.pc.cc:733 horaslowreaderonline.pc.cc:734 horaslowreaderonline.pc.cc:735 horaslowreaderonline.pc.cc:736 horaslowreaderonline.pc.cc:737 horaslowreaderonline.pc.cc:738 horaslowreaderonline.pc.cc:739 horaslowreaderonline.pc.cc:740 horaslowreaderonline.pc.cc:741 horaslowreaderonline.pc.cc:742 horaslowreaderonline.pc.cc:743 horaslowreaderonline.pc.cc:744 horaslowreaderonline.pc.cc:745 horaslowreaderonline.pc.cc:746 horaslowreaderonline.pc.cc:747 horaslowreaderonline.pc.cc:748 horaslowreaderonline.pc.cc:749 horaslowreaderonline.pc.cc:750 horaslowreaderonline.pc.cc:751 horaslowreaderonline.pc.cc:752 horaslowreaderonline.pc.cc:753 horaslowreaderonline.pc.cc:754 horaslowreaderonline.pc.cc:755 horaslowreaderonline.pc.cc:756 horaslowreaderonline.pc.cc:757 horaslowreaderonline.pc.cc:758 horaslowreaderonline.pc.cc:759 horaslowreaderonline.pc.cc:760 horaslowreaderonline.pc.cc:761 horaslowreaderonline.pc.cc:762 horaslowreaderonline.pc.cc:763 horaslowreaderonline.pc.cc:764 horaslowreaderonline.pc.cc:765 horaslowreaderonline.pc.cc:766 horaslowreaderonline.pc.cc:767 horaslowreaderonline.pc.cc:768 horaslowreaderonline.pc.cc:769 horaslowreaderonline.pc.cc:770 horaslowreaderonline.pc.cc:771 horaslowreaderonline.pc.cc:772 horaslowreaderonline.pc.cc:773 horaslowreaderonline.pc.cc:774 horaslowreaderonline.pc.cc:775 horaslowreaderonline.pc.cc:776 horaslowreaderonline.pc.cc:777 horaslowreaderonline.pc.cc:778 horaslowreaderonline.pc.cc:779 horaslowreaderonline.pc.cc:780 horaslowreaderonline.pc.cc:781 horaslowreaderonline.pc.cc:782 horaslowreaderonline.pc.cc:783 horaslowreaderonline.pc.cc:784 horaslowreaderonline.pc.cc:785 horaslowreaderonline.pc.cc:786 horaslowreaderonline.pc.cc:787 horaslowreaderonline.pc.cc:788 horaslowreaderonline.pc.cc:789 horaslowreaderonline.pc.cc:790 horaslowreaderonline.pc.cc:791 horaslowreaderonline.pc.cc:792 horaslowreaderonline.pc.cc:793 horaslowreaderonline.pc.cc:794 horaslowreaderonline.pc.cc:795 horaslowreaderonline.pc.cc:796 horaslowreaderonline.pc.cc:797 horaslowreaderonline.pc.cc:798 horaslowreaderonline.pc.cc:799 horaslowreaderonline.pc.cc:800 horaslowreaderonline.pc.cc:801 horaslowreaderonline.pc.cc:802 horaslowreaderonline.pc.cc:803 horaslowreaderonline.pc.cc:804 horaslowreaderonline.pc.cc:805 horaslowreaderonline.pc.cc:806 horaslowreaderonline.pc.cc:807 horaslowreaderonline.pc.cc:808 horaslowreaderonline.pc.cc:809 horaslowreaderonline.pc.cc:810 horaslowreaderonline.pc.cc:811 horaslowreaderonline.pc.cc:812 horaslowreaderonline.pc.cc:813 horaslowreaderonline.pc.cc:814 horaslowreaderonline.pc.cc:815 horaslowreaderonline.pc.cc:816 horaslowreaderonline.pc.cc:817 horaslowreaderonline.pc.cc:818 horaslowreaderonline.pc.cc:819 horaslowreaderonline.pc.cc:820 horaslowreaderonline.pc.cc:821 horaslowreaderonline.pc.cc:822 horaslowreaderonline.pc.cc:823 horaslowreaderonline.pc.cc:824 horaslowreaderonline.pc.cc:825 horaslowreaderonline.pc.cc:826 horaslowreaderonline.pc.cc:827 horaslowreaderonline.pc.cc:828 horaslowreaderonline.pc.cc:829 horaslowreaderonline.pc.cc:830 horaslowreaderonline.pc.cc:831 horaslowreaderonline.pc.cc:832 horaslowreaderonline.pc.cc:833 horaslowreaderonline.pc.cc:834 horaslowreaderonline.pc.cc:835 horaslowreaderonline.pc.cc:836 horaslowreaderonline.pc.cc:837 horaslowreaderonline.pc.cc:838 horaslowreaderonline.pc.cc:839 horaslowreaderonline.pc.cc:840 horaslowreaderonline.pc.cc:841 horaslowreaderonline.pc.cc:842 horaslowreaderonline.pc.cc:843 horaslowreaderonline.pc.cc:844 horaslowreaderonline.pc.cc:845 horaslowreaderonline.pc.cc:846 horaslowreaderonline.pc.cc:847 horaslowreaderonline.pc.cc:848 horaslowreaderonline.pc.cc:849 horaslowreaderonline.pc.cc:850 horaslowreaderonline.pc.cc:851 horaslowreaderonline.pc.cc:852 horaslowreaderonline.pc.cc:853 horaslowreaderonline.pc.cc:854 horaslowreaderonline.pc.cc:855 horaslowreaderonline.pc.cc:856 horaslowreaderonline.pc.cc:857 horaslowreaderonline.pc.cc:858 horaslowreaderonline.pc.cc:859 horaslowreaderonline.pc.cc:860 horaslowreaderonline.pc.cc:861 horaslowreaderonline.pc.cc:862 horaslowreaderonline.pc.cc:863 horaslowreaderonline.pc.cc:864 horaslowreaderonline.pc.cc:865 horaslowreaderonline.pc.cc:866 horaslowreaderonline.pc.cc:867 horaslowreaderonline.pc.cc:868 horaslowreaderonline.pc.cc:869 horaslowreaderonline.pc.cc:870 horaslowreaderonline.pc.cc:871 horaslowreaderonline.pc.cc:872 horaslowreaderonline.pc.cc:873 horaslowreaderonline.pc.cc:874 horaslowreaderonline.pc.cc:875 horaslowreaderonline.pc.cc:876 horaslowreaderonline.pc.cc:877 horaslowreaderonline.pc.cc:878 horaslowreaderonline.pc.cc:879 horaslowreaderonline.pc.cc:880 horaslowreaderonline.pc.cc:881 horaslowreaderonline.pc.cc:882 horaslowreaderonline.pc.cc:883 horaslowreaderonline.pc.cc:884 horaslowreaderonline.pc.cc:885 horaslowreaderonline.pc.cc:886 horaslowreaderonline.pc.cc:887 horaslowreaderonline.pc.cc:888 horaslowreaderonline.pc.cc:889 horaslowreaderonline.pc.cc:890 horaslowreaderonline.pc.cc:891 horaslowreaderonline.pc.cc:892 horaslowreaderonline.pc.cc:893 horaslowreaderonline.pc.cc:894 horaslowreaderonline.pc.cc:895 horaslowreaderonline.pc.cc:896 horaslowreaderonline.pc.cc:897 horaslowreaderonline.pc.cc:898 horaslowreaderonline.pc.cc:899 horaslowreaderonline.pc.cc:900 horaslowreaderonline.pc.cc:901 horaslowreaderonline.pc.cc:902 horaslowreaderonline.pc.cc:903 horaslowreaderonline.pc.cc:904 horaslowreaderonline.pc.cc:905 horaslowreaderonline.pc.cc:906 horaslowreaderonline.pc.cc:907 horaslowreaderonline.pc.cc:908 horaslowreaderonline.pc.cc:909 horaslowreaderonline.pc.cc:910 horaslowreaderonline.pc.cc:911 horaslowreaderonline.pc.cc:912 horaslowreaderonline.pc.cc:913 horaslowreaderonline.pc.cc:914 horaslowreaderonline.pc.cc:915 horaslowreaderonline.pc.cc:916 horaslowreaderonline.pc.cc:917 horaslowreaderonline.pc.cc:918 horaslowreaderonline.pc.cc:919 horaslowreaderonline.pc.cc:920 horaslowreaderonline.pc.cc:921 horaslowreaderonline.pc.cc:922 horaslowreaderonline.pc.cc:923 horaslowreaderonline.pc.cc:924 horaslowreaderonline.pc.cc:925 horaslowreaderonline.pc.cc:926 horaslowreaderonline.pc.cc:927 horaslowreaderonline.pc.cc:928 horaslowreaderonline.pc.cc:929 horaslowreaderonline.pc.cc:930 horaslowreaderonline.pc.cc:931 horaslowreaderonline.pc.cc:932 horaslowreaderonline.pc.cc:933 horaslowreaderonline.pc.cc:934 horaslowreaderonline.pc.cc:935 horaslowreaderonline.pc.cc:936 horaslowreaderonline.pc.cc:937 horaslowreaderonline.pc.cc:938 horaslowreaderonline.pc.cc:939 horaslowreaderonline.pc.cc:940 horaslowreaderonline.pc.cc:941 horaslowreaderonline.pc.cc:942 horaslowreaderonline.pc.cc:943 horaslowreaderonline.pc.cc:944 horaslowreaderonline.pc.cc:945 horaslowreaderonline.pc.cc:946 horaslowreaderonline.pc.cc:947 horaslowreaderonline.pc.cc:948 horaslowreaderonline.pc.cc:949 horaslowreaderonline.pc.cc:950 horaslowreaderonline.pc.cc:951 horaslowreaderonline.pc.cc:952 horaslowreaderonline.pc.cc:953 horaslowreaderonline.pc.cc:954 horaslowreaderonline.pc.cc:955 horaslowreaderonline.pc.cc:956 horaslowreaderonline.pc.cc:957 horaslowreaderonline.pc.cc:958 horaslowreaderonline.pc.cc:959 horaslowreaderonline.pc.cc:960 horaslowreaderonline.pc.cc:961 horaslowreaderonline.pc.cc:962 horaslowreaderonline.pc.cc:963 horaslowreaderonline.pc.cc:964 horaslowreaderonline.pc.cc:965 horaslowreaderonline.pc.cc:966 horaslowreaderonline.pc.cc:967 horaslowreaderonline.pc.cc:968 horaslowreaderonline.pc.cc:969 horaslowreaderonline.pc.cc:970 horaslowreaderonline.pc.cc:971 horaslowreaderonline.pc.cc:972 horaslowreaderonline.pc.cc:973 horaslowreaderonline.pc.cc:974 horaslowreaderonline.pc.cc:975 horaslowreaderonline.pc.cc:976 horaslowreaderonline.pc.cc:977 horaslowreaderonline.pc.cc:978 horaslowreaderonline.pc.cc:979 horaslowreaderonline.pc.cc:980 horaslowreaderonline.pc.cc:981 horaslowreaderonline.pc.cc:982 horaslowreaderonline.pc.cc:983 horaslowreaderonline.pc.cc:984 horaslowreaderonline.pc.cc:985 horaslowreaderonline.pc.cc:986 horaslowreaderonline.pc.cc:987 horaslowreaderonline.pc.cc:988 horaslowreaderonline.pc.cc:989 horaslowreaderonline.pc.cc:990 horaslowreaderonline.pc.cc:991 horaslowreaderonline.pc.cc:992 horaslowreaderonline.pc.cc:993 horaslowreaderonline.pc.cc:994 horaslowreaderonline.pc.cc:995 horaslowreaderonline.pc.cc:996 horaslowreaderonline.pc.cc:997 horaslowreaderonline.pc.cc:998 horaslowreaderonline.pc.cc:999 horaslowreaderonline.pc.cc:1000 horaslowreaderonline.pc.cc:1001 horaslowreaderonline.pc.cc:1002 horaslowreaderonline.pc.cc:1003 horaslowreaderonline.pc.cc:1004 horaslowreaderonline.pc.cc:1005 horaslowreaderonline.pc.cc:1006 horaslowreaderonline.pc.cc:1007 horaslowreaderonline.pc.cc:1008 horaslowreaderonline.pc.cc:1009 horaslowreaderonline.pc.cc:1010 horaslowreaderonline.pc.cc:1011 horaslowreaderonline.pc.cc:1012 horaslowreaderonline.pc.cc:1013 horaslowreaderonline.pc.cc:1014 horaslowreaderonline.pc.cc:1015 horaslowreaderonline.pc.cc:1016 horaslowreaderonline.pc.cc:1017 horaslowreaderonline.pc.cc:1018 horaslowreaderonline.pc.cc:1019 horaslowreaderonline.pc.cc:1020 horaslowreaderonline.pc.cc:1021 horaslowreaderonline.pc.cc:1022 horaslowreaderonline.pc.cc:1023 horaslowreaderonline.pc.cc:1024 horaslowreaderonline.pc.cc:1025 horaslowreaderonline.pc.cc:1026 horaslowreaderonline.pc.cc:1027 horaslowreaderonline.pc.cc:1028 horaslowreaderonline.pc.cc:1029 horaslowreaderonline.pc.cc:1030 horaslowreaderonline.pc.cc:1031 horaslowreaderonline.pc.cc:1032 horaslowreaderonline.pc.cc:1033 horaslowreaderonline.pc.cc:1034 horaslowreaderonline.pc.cc:1035 horaslowreaderonline.pc.cc:1036 horaslowreaderonline.pc.cc:1037 horaslowreaderonline.pc.cc:1038 horaslowreaderonline.pc.cc:1039 horaslowreaderonline.pc.cc:1040 horaslowreaderonline.pc.cc:1041 horaslowreaderonline.pc.cc:1042 horaslowreaderonline.pc.cc:1043 horaslowreaderonline.pc.cc:1044 horaslowreaderonline.pc.cc:1045 horaslowreaderonline.pc.cc:1046 horaslowreaderonline.pc.cc:1047 horaslowreaderonline.pc.cc:1048 horaslowreaderonline.pc.cc:1049 horaslowreaderonline.pc.cc:1050 horaslowreaderonline.pc.cc:1051 horaslowreaderonline.pc.cc:1052 horaslowreaderonline.pc.cc:1053 horaslowreaderonline.pc.cc:1054 horaslowreaderonline.pc.cc:1055 horaslowreaderonline.pc.cc:1056 horaslowreaderonline.pc.cc:1057 horaslowreaderonline.pc.cc:1058 horaslowreaderonline.pc.cc:1059 horaslowreaderonline.pc.cc:1060 horaslowreaderonline.pc.cc:1061 horaslowreaderonline.pc.cc:1062 horaslowreaderonline.pc.cc:1063 horaslowreaderonline.pc.cc:1064 horaslowreaderonline.pc.cc:1065 horaslowreaderonline.pc.cc:1066 horaslowreaderonline.pc.cc:1067 horaslowreaderonline.pc.cc:1068 horaslowreaderonline.pc.cc:1069 horaslowreaderonline.pc.cc:1070 horaslowreaderonline.pc.cc:1071 horaslowreaderonline.pc.cc:1072 horaslowreaderonline.pc.cc:1073 horaslowreaderonline.pc.cc:1074 horaslowreaderonline.pc.cc:1075 horaslowreaderonline.pc.cc:1076 horaslowreaderonline.pc.cc:1077 horaslowreaderonline.pc.cc:1078 horaslowreaderonline.pc.cc:1079 horaslowreaderonline.pc.cc:1080 horaslowreaderonline.pc.cc:1081 horaslowreaderonline.pc.cc:1082 horaslowreaderonline.pc.cc:1083 horaslowreaderonline.pc.cc:1084 horaslowreaderonline.pc.cc:1085 horaslowreaderonline.pc.cc:1086 horaslowreaderonline.pc.cc:1087 horaslowreaderonline.pc.cc:1088 horaslowreaderonline.pc.cc:1089 horaslowreaderonline.pc.cc:1090 horaslowreaderonline.pc.cc:1091 horaslowreaderonline.pc.cc:1092 horaslowreaderonline.pc.cc:1093 horaslowreaderonline.pc.cc:1094 horaslowreaderonline.pc.cc:1095 horaslowreaderonline.pc.cc:1096 horaslowreaderonline.pc.cc:1097 horaslowreaderonline.pc.cc:1098 horaslowreaderonline.pc.cc:1099 horaslowreaderonline.pc.cc:1100 horaslowreaderonline.pc.cc:1101 horaslowreaderonline.pc.cc:1102 horaslowreaderonline.pc.cc:1103 horaslowreaderonline.pc.cc:1104 horaslowreaderonline.pc.cc:1105 horaslowreaderonline.pc.cc:1106 horaslowreaderonline.pc.cc:1107 horaslowreaderonline.pc.cc:1108 horaslowreaderonline.pc.cc:1109 horaslowreaderonline.pc.cc:1110 horaslowreaderonline.pc.cc:1111 horaslowreaderonline.pc.cc:1112 horaslowreaderonline.pc.cc:1113 horaslowreaderonline.pc.cc:1114 horaslowreaderonline.pc.cc:1115 horaslowreaderonline.pc.cc:1116 horaslowreaderonline.pc.cc:1117 horaslowreaderonline.pc.cc:1118 horaslowreaderonline.pc.cc:1119 horaslowreaderonline.pc.cc:1120 horaslowreaderonline.pc.cc:1121 horaslowreaderonline.pc.cc:1122 horaslowreaderonline.pc.cc:1123 horaslowreaderonline.pc.cc:1124 horaslowreaderonline.pc.cc:1125 horaslowreaderonline.pc.cc:1126 horaslowreaderonline.pc.cc:1127 horaslowreaderonline.pc.cc:1128 horaslowreaderonline.pc.cc:1129 horaslowreaderonline.pc.cc:1130 horaslowreaderonline.pc.cc:1131 horaslowreaderonline.pc.cc:1132 horaslowreaderonline.pc.cc:1133 horaslowreaderonline.pc.cc:1134 horaslowreaderonline.pc.cc:1135 horaslowreaderonline.pc.cc:1136 horaslowreaderonline.pc.cc:1137 horaslowreaderonline.pc.cc:1138 horaslowreaderonline.pc.cc:1139 horaslowreaderonline.pc.cc:1140 horaslowreaderonline.pc.cc:1141 horaslowreaderonline.pc.cc:1142 horaslowreaderonline.pc.cc:1143 horaslowreaderonline.pc.cc:1144 horaslowreaderonline.pc.cc:1145 horaslowreaderonline.pc.cc:1146 horaslowreaderonline.pc.cc:1147 horaslowreaderonline.pc.cc:1148 horaslowreaderonline.pc.cc:1149 horaslowreaderonline.pc.cc:1150 horaslowreaderonline.pc.cc:1151 horaslowreaderonline.pc.cc:1152 horaslowreaderonline.pc.cc:1153 horaslowreaderonline.pc.cc:1154 horaslowreaderonline.pc.cc:1155 horaslowreaderonline.pc.cc:1156 horaslowreaderonline.pc.cc:1157 horaslowreaderonline.pc.cc:1158 horaslowreaderonline.pc.cc:1159 horaslowreaderonline.pc.cc:1160 horaslowreaderonline.pc.cc:1161 horaslowreaderonline.pc.cc:1162 horaslowreaderonline.pc.cc:1163 horaslowreaderonline.pc.cc:1164 horaslowreaderonline.pc.cc:1165 horaslowreaderonline.pc.cc:1166 horaslowreaderonline.pc.cc:1167 horaslowreaderonline.pc.cc:1168 horaslowreaderonline.pc.cc:1169 horaslowreaderonline.pc.cc:1170 horaslowreaderonline.pc.cc:1171 horaslowreaderonline.pc.cc:1172 horaslowreaderonline.pc.cc:1173 horaslowreaderonline.pc.cc:1174 horaslowreaderonline.pc.cc:1175 horaslowreaderonline.pc.cc:1176 horaslowreaderonline.pc.cc:1177 horaslowreaderonline.pc.cc:1178 horaslowreaderonline.pc.cc:1179 horaslowreaderonline.pc.cc:1180 horaslowreaderonline.pc.cc:1181 horaslowreaderonline.pc.cc:1182 horaslowreaderonline.pc.cc:1183 horaslowreaderonline.pc.cc:1184 horaslowreaderonline.pc.cc:1185 horaslowreaderonline.pc.cc:1186 horaslowreaderonline.pc.cc:1187 horaslowreaderonline.pc.cc:1188 horaslowreaderonline.pc.cc:1189 horaslowreaderonline.pc.cc:1190 horaslowreaderonline.pc.cc:1191 horaslowreaderonline.pc.cc:1192 horaslowreaderonline.pc.cc:1193 horaslowreaderonline.pc.cc:1194 horaslowreaderonline.pc.cc:1195 horaslowreaderonline.pc.cc:1196 horaslowreaderonline.pc.cc:1197 horaslowreaderonline.pc.cc:1198 horaslowreaderonline.pc.cc:1199 horaslowreaderonline.pc.cc:1200 horaslowreaderonline.pc.cc:1201 horaslowreaderonline.pc.cc:1202 horaslowreaderonline.pc.cc:1203 horaslowreaderonline.pc.cc:1204 horaslowreaderonline.pc.cc:1205 horaslowreaderonline.pc.cc:1206 horaslowreaderonline.pc.cc:1207 horaslowreaderonline.pc.cc:1208 horaslowreaderonline.pc.cc:1209 horaslowreaderonline.pc.cc:1210 horaslowreaderonline.pc.cc:1211 horaslowreaderonline.pc.cc:1212 horaslowreaderonline.pc.cc:1213 horaslowreaderonline.pc.cc:1214 horaslowreaderonline.pc.cc:1215 horaslowreaderonline.pc.cc:1216 horaslowreaderonline.pc.cc:1217 horaslowreaderonline.pc.cc:1218 horaslowreaderonline.pc.cc:1219 horaslowreaderonline.pc.cc:1220 horaslowreaderonline.pc.cc:1221 horaslowreaderonline.pc.cc:1222 horaslowreaderonline.pc.cc:1223 horaslowreaderonline.pc.cc:1224 horaslowreaderonline.pc.cc:1225 horaslowreaderonline.pc.cc:1226 horaslowreaderonline.pc.cc:1227 horaslowreaderonline.pc.cc:1228 horaslowreaderonline.pc.cc:1229 horaslowreaderonline.pc.cc:1230 horaslowreaderonline.pc.cc:1231 horaslowreaderonline.pc.cc:1232 horaslowreaderonline.pc.cc:1233