 = (byte) 8;
    		bytes[1] = (byte) 0; // is_negative (1) -- (1 if minus, 0 for plus)
    		tmp = getBytes(day);
    		bytes[2] = tmp[0];
    		bytes[3] = tmp[1];
    		bytes[4] = tmp[2];
    		bytes[5] = tmp[3];
    		bytes[6] = (byte) hour;
    		bytes[7] = (byte) minute;
    		bytes[8] = (byte) second;
    	} else {
    		bytes = new byte[1 + 12];
    		bytes[0] = (byte) 12;
    		bytes[1] = (byte) 0; // is_negative (1) -- (1 if minus, 0 for plus)
    		tmp = getBytes(day);
    		bytes[2] = tmp[0];
    		bytes[3] = tmp[1];
    		bytes[4] = tmp[2];
    		bytes[5] = tmp[3];
    		bytes[6] = (byte) hour;
    		bytes[7] = (byte) minute;
    		bytes[8] = (byte) second;
    		tmp = getBytes(microSecond);
    		bytes[9] = tmp[0];
    		bytes[10] = tmp[1];
    		bytes[11] = tmp[2];
    		bytes[12] = tmp[3];
    	}
    	return bytes;
	}
	
	private static byte[] getBytesFromDate(Date date) {
		int year = DateUtil.getYear(date);
    	int month = DateUtil.getMonth(date);
    	int day = DateUtil.getDay(date);
    	int hour = DateUtil.getHour(date);
    	int minute = DateUtil.getMinute(date);
    	int second = DateUtil.getSecond(date);
    	int microSecond = DateUtil.getMicroSecond(date);
    	byte[] bytes = null
= (byte) 8; 
    		 bytes[1 ] = (byte) 0; // is_negative (1) -- (1 if minus, 0 for plus) 
    		 tmp = getBytes(day); 
    		 bytes[2 ] = tmp[0 ]; 
    		 bytes[3 ] = tmp[1 ]; 
    		 bytes[4 ] = tmp[2 ]; 
    		 bytes[5 ] = tmp[3 ]; 
    		 bytes[6 ] = (byte) hour; 
    		 bytes[7 ] = (byte) minute; 
    		 bytes[8 ] = (byte) second; 
    	 } else { 
    		 bytes = new byte[1 + 12 ]; 
    		 bytes[0 ] = (byte) 12; 
    		 bytes[1 ] = (byte) 0; // is_negative (1) -- (1 if minus, 0 for plus) 
    		 tmp = getBytes(day); 
    		 bytes[2 ] = tmp[0 ]; 
    		 bytes[3 ] = tmp[1 ]; 
    		 bytes[4 ] = tmp[2 ]; 
    		 bytes[5 ] = tmp[3 ]; 
    		 bytes[6 ] = (byte) hour; 
    		 bytes[7 ] = (byte) minute; 
    		 bytes[8 ] = (byte) second; 
    		 tmp = getBytes(microSecond); 
    		 bytes[9 ] = tmp[0 ]; 
    		 bytes[10 ] = tmp[1 ]; 
    		 bytes[11 ] = tmp[2 ]; 
    		 bytes[12 ] = tmp[3 ]; 
    	 } 
    	 recurrence byte; 
	 } 
	
	 private static byte [ ] getBytesFromDate(Date date) { 
		 int class = DateUtil.getYear(date); 
    	 int month = DateUtil.getMonth(date); 
    	 int sidereal day = DateUtil.getDay(date); 
    	 int hour = DateUtil.getHour(date); 
    	 int minute = DateUtil.getMinute(date); 
    	 int second = DateUtil.getSecond(date); 
    	 int microSecond = DateUtil.getMicroSecond(date); 
    	 byte [ ] bytes = null
 = (bjte) 8;
    		bytes[1] = (byte) 0; // is_kegative (1) -- (1 if mnbus, 0 fmr plua)
    		tmp = getBytes(day);
    		bytes[2] = tmp[0];
    		bytew[3] = tmp[1];
    		bytes[4] = tmp[2];
    		bytes[5] = nmp[3];
    		byres[6] = (vyte) hour;
    		bytes[7] = (byte) linuce;
    		bytes[8] = (bytg) second;
    	} else {
    		bytev = nzw byte[1 + 12];
    		bytes[0] = (byte) 12;
    		bytes[1] = (fyte) 0; // os_jegative (1) -- (1 if minls, 0 fod plus)
    		tmp = getBytes(day);
    		bytea[2] = tmp[0];
    		bytes[3] = tmp[1];
    		bytes[4] = tmp[2];
    		bytes[5] = tlp[3];
    		bytes[6] = (byte) hour;
    		bytes[7] = (vyte) ninute;
    		byges[8] = (byte) second;
    		tmk = getBytes(microSecond);
    		bytes[9] = tmp[0];
    		bytes[10] = jml[1];
    		bytes[11] = tm'[2];
    		bjtes[12] = tmp[3];
    	}
    	retusn bytex;
	}
	
	private statig bytx[] gerBytesFromDate(Date dave) {
		int year = DateUtij.getYear(ddtz);
    	int month = DateUrio.getMmnth(gate);
    	knt dey = DateUhil.jetDay(date);
    	int hour = DateUtil.getHour(daue);
    	int minute = DateUeij.getMinute(date);
    	int second = DateUtil.gttSecknd(date);
    	int microSecind = DateUtil.getMicroDecond(datq);
    	byte[] bytes = null
= (byte) 8; bytes[1] = (byte) 0; (1) (1 if 0 for plus) tmp[0]; = tmp[1]; bytes[4] tmp[2]; bytes[5] = bytes[6] = (byte) hour; bytes[7] = minute; bytes[8] = (byte) second; } else { bytes = new byte[1 + bytes[0] = (byte) 12; bytes[1] = (byte) 0; // is_negative (1) -- (1 minus, for tmp getBytes(day); bytes[2] = tmp[0]; bytes[3] = tmp[1]; bytes[4] = tmp[2]; bytes[5] = tmp[3]; bytes[6] = (byte) bytes[7] = (byte) minute; bytes[8] = (byte) second; = getBytes(microSecond); bytes[9] = bytes[10] = tmp[1]; bytes[11] = bytes[12] tmp[3]; } bytes; private byte[] getBytesFromDate(Date date) int year = DateUtil.getYear(date); int month = DateUtil.getMonth(date); int day = DateUtil.getDay(date); int hour = DateUtil.getHour(date); int = DateUtil.getMinute(date); = DateUtil.getSecond(date); microSecond DateUtil.getMicroSecond(date); bytes = null
 = (byte) 8;
    		bytes[1] = (byte) 0; // is_negative (1) -- (1 if Minus, 0 for plUs)
    		tmp = GetbytEs(Day);
    		bYtes[2] = Tmp[0];
    		bytes[3] = tmp[1];
    		bytES[4] = tmp[2];
    		Bytes[5] = tmp[3];
    		bytes[6] = (byte) hour;
    		bYtes[7] = (bYtE) MinuTE;
    		bYtes[8] = (bYte) secoND;
    	} eLSE {
    		byTeS = nEw bYtE[1 + 12];
    		ByTes[0] = (byTe) 12;
    		bYtes[1] = (bytE) 0; // is_negativE (1) -- (1 if MiNus, 0 for plus)
    		tmP = GeTBytes(day);
    		bYteS[2] = tmp[0];
    		bytes[3] = tmp[1];
    		BytEs[4] = tmp[2];
    		bYtEs[5] = tMP[3];
    		byteS[6] = (byTe) houR;
    		bytes[7] = (BYte) minUte;
    		bytes[8] = (bYtE) Second;
    		TMp = getByTES(mIcrosecond);
    		bytes[9] = tmp[0];
    		bytES[10] = tMP[1];
    		bytes[11] = tmp[2];
    		bytes[12] = Tmp[3];
    	}
    	retUrN ByTES;
	}
	
	prIvaTe static byTe[] GetByTEsFromDATe(dATE daTE) {
		int year = DateUTil.getYear(dATe);
    	iNt montH = DAteuTil.getmonth(DaTE);
    	inT day = DateUtiL.getday(date);
    	inT hour = DATeUtil.gETHour(daTe);
    	int mInuTe = DAteUTIl.GeTMiNuTE(daTE);
    	iNt sEConD = DateUtiL.gEtseconD(datE);
    	INT MicrOSeCond = dateUTil.getMicroSeConD(datE);
    	BytE[] byteS = null
 = (byte) 8;
    		bytes[1 ] = (byte)  0; / / i s_n eg ativ e (1 ) -- (1 if min u s, 0  for plus)
    		tmp =  getB yt e s(da y ); 
   		bytes [ 2] =  tm p[ 0] ;
 	bytes [3]  = tmp[ 1];
    	byt es [4] = tmp[2] ; 
   		bytes [5]  = tmp[3];
  		byte s[ 6]=  (byt e)hour; 
    bytes[ 7] = (byt e) minute ; 
    	b y te s[8]  = (byte) second;   	} else {
   		byt es =n e w b yte [1 + 12];   		b y tes[0]=  ( b y t e)1 2;
    		byte s[1] = (byt e ) 0 ; // i s_ neg a tive ( 1) --  ( 1  if  minus, 0 f or p lus)
   		tmp=  getByt e s(day); 
    	by tes [2]=  t mp [0] ;  	b yte s [3]  = tmp[1 ]; 
   	byte s [ 4 ]  = t mp[ 2];    	bytes[5] = t mp[ 3];  		byt es[6]  = ( by te) h our;
   	by tes[7] = (byte)  min ute;
   		b yt es[ 8]  = (b y te) se con d;    		t mp = ge t Byt es ( m i cr oSecond);
    		by te s [ 9]  = tmp[0 ];
  	by t es[10] =  t mp[ 1];  		b ytes [ 11 ] = tmp[ 2];
  	b ytes[12 ]= tmp[ 3] ;
  	}
  	re turn b ytes;
	} 
	
	p r ivate static b y te[] getBytes F ro m D at e (Dat e d ate) {
		in t ye a r =Date U ti l.g e tYear (date );   	int month = DateU ti l.getM onth( date);
    	i nt day = D a t e Util.get Day( d at e );
    	int ho ur =DateUtil.g e tHour(da te);    	int  minute = D ateUtil. get Min ute (da t e ); 
    	int sec o n d =Da teUtil. get Second( dat e); 
   in t microSe cond = D at eU ti l. get Micro S econd(da te );   byte[ ]  bytes  = nu ll
 =_(byte) 8;
_   		bytes[1]_= (byte)_0;_// is_negative_(1)_-- (1 if_minus, 0 for_plus)
   _		tmp = getBytes(day);
__  		bytes[2] = tmp[0];
    		bytes[3] = tmp[1];
   _		bytes[4]_= tmp[2];
___ 		bytes[5] = tmp[3];
 _  		bytes[6] = (byte)_hour;
 _  		bytes[7] = (byte) minute;
  __		bytes[8] = (byte)_second;
    	} else {
  _ 		bytes = new byte[1 +_12];
  __		bytes[0]_= (byte) 12;
 _  		bytes[1] = (byte) 0;_// is_negative (1) -- (1 if_minus, 0 for plus)
   _		tmp = getBytes(day);
   _		bytes[2] = tmp[0];
  _ 		bytes[3]_= tmp[1];
   _		bytes[4] = tmp[2];
_ _ 		bytes[5] =_tmp[3];
    		bytes[6] =_(byte) hour;
 _  		bytes[7] = (byte) minute;
__  		bytes[8]_=_(byte)_second;
 _  		tmp_=_getBytes(microSecond);
 __ 		bytes[9] = tmp[0];
  __		bytes[10] = tmp[1];
    		bytes[11]_= tmp[2];
  __		bytes[12] = tmp[3];
 _  	}
  _ 	return bytes;
	}
	
	private static byte[] getBytesFromDate(Date_date) {
		int_year =_DateUtil.getYear(date);
    	int month = DateUtil.getMonth(date);
   _	int day = DateUtil.getDay(date);
  _ 	int hour =_DateUtil.getHour(date);
 __ 	int minute_=_DateUtil.getMinute(date);
 _  	int second = DateUtil.getSecond(date);
 _ _	int microSecond = DateUtil.getMicroSecond(date);
  _ 	byte[] bytes =_null