亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? infcodes.java

?? java 版本的zlib壓縮代碼
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/* -*-mode:java; c-basic-offset:2; -*- *//*Copyright (c) 2000,2001,2002,2003 ymnk, JCraft,Inc. All rights reserved.Redistribution and use in source and binary forms, with or withoutmodification, are permitted provided that the following conditions are met:  1. Redistributions of source code must retain the above copyright notice,     this list of conditions and the following disclaimer.  2. Redistributions in binary form must reproduce the above copyright      notice, this list of conditions and the following disclaimer in      the documentation and/or other materials provided with the distribution.  3. The names of the authors may not be used to endorse or promote products     derived from this software without specific prior written permission.THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY ANDFITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JCRAFT,INC. OR ANY CONTRIBUTORS TO THIS SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT,INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOTLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OFLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDINGNEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *//* * This program is based on zlib-1.1.3, so all credit should go authors * Jean-loup Gailly(jloup@gzip.org) and Mark Adler(madler@alumni.caltech.edu) * and contributors of zlib. */package com.jcraft.jzlib;final class InfCodes{  static final private int[] inflate_mask = {    0x00000000, 0x00000001, 0x00000003, 0x00000007, 0x0000000f,    0x0000001f, 0x0000003f, 0x0000007f, 0x000000ff, 0x000001ff,    0x000003ff, 0x000007ff, 0x00000fff, 0x00001fff, 0x00003fff,    0x00007fff, 0x0000ffff  };  static final private int Z_OK=0;  static final private int Z_STREAM_END=1;  static final private int Z_NEED_DICT=2;  static final private int Z_ERRNO=-1;  static final private int Z_STREAM_ERROR=-2;  static final private int Z_DATA_ERROR=-3;  static final private int Z_MEM_ERROR=-4;  static final private int Z_BUF_ERROR=-5;  static final private int Z_VERSION_ERROR=-6;  // waiting for "i:"=input,  //             "o:"=output,  //             "x:"=nothing  static final private int START=0;  // x: set up for LEN  static final private int LEN=1;    // i: get length/literal/eob next  static final private int LENEXT=2; // i: getting length extra (have base)  static final private int DIST=3;   // i: get distance next  static final private int DISTEXT=4;// i: getting distance extra  static final private int COPY=5;   // o: copying bytes in window, waiting for space  static final private int LIT=6;    // o: got literal, waiting for output space  static final private int WASH=7;   // o: got eob, possibly still output waiting  static final private int END=8;    // x: got eob and all data flushed  static final private int BADCODE=9;// x: got error  int mode;      // current inflate_codes mode  // mode dependent information  int len;  int[] tree; // pointer into tree  int tree_index=0;  int need;   // bits needed  int lit;  // if EXT or COPY, where and how much  int get;              // bits to get for extra  int dist;             // distance back to copy from  byte lbits;           // ltree bits decoded per branch  byte dbits;           // dtree bits decoder per branch  int[] ltree;          // literal/length/eob tree  int ltree_index;      // literal/length/eob tree  int[] dtree;          // distance tree  int dtree_index;      // distance tree  InfCodes(){  }  void init(int bl, int bd,	   int[] tl, int tl_index,	   int[] td, int td_index, ZStream z){    mode=START;    lbits=(byte)bl;    dbits=(byte)bd;    ltree=tl;    ltree_index=tl_index;    dtree = td;    dtree_index=td_index;    tree=null;  }  int proc(InfBlocks s, ZStream z, int r){     int j;              // temporary storage    int[] t;            // temporary pointer    int tindex;         // temporary pointer    int e;              // extra bits or operation    int b=0;            // bit buffer    int k=0;            // bits in bit buffer    int p=0;            // input data pointer    int n;              // bytes available there    int q;              // output window write pointer    int m;              // bytes to end of window or read pointer    int f;              // pointer to copy strings from    // copy input/output information to locals (UPDATE macro restores)    p=z.next_in_index;n=z.avail_in;b=s.bitb;k=s.bitk;    q=s.write;m=q<s.read?s.read-q-1:s.end-q;    // process input and output based on current state    while (true){      switch (mode){	// waiting for "i:"=input, "o:"=output, "x:"=nothing      case START:         // x: set up for LEN	if (m >= 258 && n >= 10){	  s.bitb=b;s.bitk=k;	  z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;	  s.write=q;	  r = inflate_fast(lbits, dbits, 			   ltree, ltree_index, 			   dtree, dtree_index,			   s, z);	  p=z.next_in_index;n=z.avail_in;b=s.bitb;k=s.bitk;	  q=s.write;m=q<s.read?s.read-q-1:s.end-q;	  if (r != Z_OK){	    mode = r == Z_STREAM_END ? WASH : BADCODE;	    break;	  }	}	need = lbits;	tree = ltree;	tree_index=ltree_index;	mode = LEN;      case LEN:           // i: get length/literal/eob next	j = need;	while(k<(j)){	  if(n!=0)r=Z_OK;	  else{	    s.bitb=b;s.bitk=k;	    z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;	    s.write=q;	    return s.inflate_flush(z,r);	  }	  n--;	  b|=(z.next_in[p++]&0xff)<<k;	  k+=8;	}	tindex=(tree_index+(b&inflate_mask[j]))*3;	b>>>=(tree[tindex+1]);	k-=(tree[tindex+1]);	e=tree[tindex];	if(e == 0){               // literal	  lit = tree[tindex+2];	  mode = LIT;	  break;	}	if((e & 16)!=0 ){          // length	  get = e & 15;	  len = tree[tindex+2];	  mode = LENEXT;	  break;	}	if ((e & 64) == 0){        // next table	  need = e;	  tree_index = tindex/3+tree[tindex+2];	  break;	}	if ((e & 32)!=0){               // end of block	  mode = WASH;	  break;	}	mode = BADCODE;        // invalid code	z.msg = "invalid literal/length code";	r = Z_DATA_ERROR;	s.bitb=b;s.bitk=k;	z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;	s.write=q;	return s.inflate_flush(z,r);      case LENEXT:        // i: getting length extra (have base)	j = get;	while(k<(j)){	  if(n!=0)r=Z_OK;	  else{	    s.bitb=b;s.bitk=k;	    z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;	    s.write=q;	    return s.inflate_flush(z,r);	  }	  n--; b|=(z.next_in[p++]&0xff)<<k;	  k+=8;	}	len += (b & inflate_mask[j]);	b>>=j;	k-=j;	need = dbits;	tree = dtree;	tree_index=dtree_index;	mode = DIST;      case DIST:          // i: get distance next	j = need;	while(k<(j)){	  if(n!=0)r=Z_OK;	  else{	    s.bitb=b;s.bitk=k;	    z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;	    s.write=q;	    return s.inflate_flush(z,r);	  }	  n--; b|=(z.next_in[p++]&0xff)<<k;	  k+=8;	}	tindex=(tree_index+(b & inflate_mask[j]))*3;	b>>=tree[tindex+1];	k-=tree[tindex+1];	e = (tree[tindex]);	if((e & 16)!=0){               // distance	  get = e & 15;	  dist = tree[tindex+2];	  mode = DISTEXT;	  break;	}	if ((e & 64) == 0){        // next table	  need = e;	  tree_index = tindex/3 + tree[tindex+2];	  break;	}	mode = BADCODE;        // invalid code	z.msg = "invalid distance code";	r = Z_DATA_ERROR;	s.bitb=b;s.bitk=k;	z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;	s.write=q;	return s.inflate_flush(z,r);      case DISTEXT:       // i: getting distance extra	j = get;	while(k<(j)){	  if(n!=0)r=Z_OK;	  else{	    s.bitb=b;s.bitk=k;	    z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;	    s.write=q;	    return s.inflate_flush(z,r);	  }	  n--; b|=(z.next_in[p++]&0xff)<<k;	  k+=8;	}	dist += (b & inflate_mask[j]);	b>>=j;	k-=j;	mode = COPY;      case COPY:          // o: copying bytes in window, waiting for space        f = q - dist;        while(f < 0){     // modulo window size-"while" instead          f += s.end;     // of "if" handles invalid distances	}	while (len!=0){	  if(m==0){	    if(q==s.end&&s.read!=0){q=0;m=q<s.read?s.read-q-1:s.end-q;}	    if(m==0){

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久女同性恋中文字幕| 国产精品久久综合| 精品国产一区二区国模嫣然| 久久亚洲精精品中文字幕早川悠里| 日韩免费性生活视频播放| 久久久午夜电影| 一区二区三区在线观看欧美| 亚洲欧美一区二区三区国产精品| 亚洲国产日韩精品| 午夜精品久久久久久久久| 另类小说一区二区三区| 91网页版在线| 久久久久国产精品免费免费搜索| 亚洲免费色视频| 久久电影网站中文字幕 | 欧美日韩另类一区| 久久蜜桃香蕉精品一区二区三区| 亚洲免费在线观看| 欧美怡红院视频| 国产精品九色蝌蚪自拍| 国产专区欧美精品| 色先锋资源久久综合| 久久午夜老司机| 亚洲国产精品一区二区尤物区| 91亚洲国产成人精品一区二区三 | 日韩欧美一区二区在线视频| 国产精品网曝门| 免费在线观看不卡| 欧美最猛黑人xxxxx猛交| 中文字幕二三区不卡| 久久国产生活片100| 欧美日韩一级二级| 精品久久国产97色综合| 五月激情综合网| 欧美性大战xxxxx久久久| 中文字幕一区二区在线观看| 国产一区二区不卡| 在线播放国产精品二区一二区四区 | 国产宾馆实践打屁股91| 91精品国产福利在线观看| 亚洲免费观看在线观看| 不卡的看片网站| 日本一区二区三区免费乱视频| 久久黄色级2电影| 精品少妇一区二区三区在线播放| 午夜免费久久看| 欧美二区三区91| 日本中文字幕一区二区有限公司| 在线观看免费亚洲| 亚洲一区二区在线免费观看视频| 精品一区二区三区日韩| 国产蜜臀av在线一区二区三区| 韩国在线一区二区| 精品国产免费视频| 国产精品一二三四五| 久久久亚洲高清| 国产成人在线视频网址| 日韩亚洲欧美高清| 亚洲一区二区四区蜜桃| 成人av在线电影| 国产视频亚洲色图| 免费在线观看一区| 欧美二区乱c少妇| 午夜激情久久久| 在线日韩国产精品| 亚洲综合免费观看高清完整版 | 亚洲精品欧美在线| 欧美在线观看一二区| 亚洲一区二区三区小说| 欧美精品久久久久久久久老牛影院 | 精品国产精品一区二区夜夜嗨| 美国一区二区三区在线播放| 欧美精品一区二区三区蜜臀| 成人一道本在线| 亚洲精品成人精品456| 欧美日韩你懂得| 麻豆久久久久久久| 国产精品久久久久久久午夜片 | 色综合久久天天| 一二三四区精品视频| 日韩欧美一区二区免费| 成人综合在线观看| 国产亚洲1区2区3区| 处破女av一区二区| 午夜精品福利一区二区蜜股av| 日韩亚洲欧美高清| 91丨porny丨国产入口| 午夜欧美一区二区三区在线播放| 久久久久久久久久久久久夜| 91国内精品野花午夜精品| 麻豆精品视频在线观看| 国产精品福利一区二区三区| 欧美日韩久久久一区| 国产99久久久国产精品潘金| 亚洲高清免费在线| 国产精品污网站| 日韩亚洲欧美在线观看| 91精品1区2区| 日本aⅴ亚洲精品中文乱码| 国产精品久久久久四虎| 欧美日本免费一区二区三区| 不卡区在线中文字幕| 麻豆精品视频在线观看免费| 樱花草国产18久久久久| 久久先锋影音av| 91精品国产品国语在线不卡| 91看片淫黄大片一级| 国产一区二区成人久久免费影院 | 亚洲福利视频一区二区| 亚洲国产成人在线| 日韩一卡二卡三卡| 欧美在线|欧美| 99久久婷婷国产精品综合| 久久99精品国产麻豆不卡| 国产精品久久久久久久久免费樱桃 | 奇米一区二区三区| 亚洲一区二区视频在线| 亚洲色欲色欲www| 精品日韩一区二区| 欧美三级乱人伦电影| 丁香五精品蜜臀久久久久99网站| 亚洲成av人影院在线观看网| 7777女厕盗摄久久久| 91丨九色丨黑人外教| 国产大陆a不卡| 日韩综合小视频| 国产精品你懂的| 6080日韩午夜伦伦午夜伦| 91在线观看成人| 东方欧美亚洲色图在线| 久久国产精品72免费观看| 亚洲成人动漫一区| 亚洲精选视频免费看| 亚洲美女淫视频| 亚洲美女免费在线| 亚洲综合精品自拍| 午夜伦理一区二区| 日韩影视精彩在线| 美国精品在线观看| 亚洲高清不卡在线观看| 亚洲人妖av一区二区| 亚洲欧美激情视频在线观看一区二区三区 | 青青草一区二区三区| 日韩av午夜在线观看| 久久不见久久见免费视频1 | 欧美性生交片4| 欧美高清hd18日本| 91精品国产91热久久久做人人| 91精品国产综合久久久久久漫画| 日韩欧美久久一区| 国产日产亚洲精品系列| 国产精品久久久久久久久久免费看 | 一区二区在线观看免费| 日韩精品一级中文字幕精品视频免费观看 | 成人不卡免费av| 欧美电影在线免费观看| 国产精品理伦片| 久久国产尿小便嘘嘘| 99精品欧美一区二区三区综合在线| 7777精品伊人久久久大香线蕉经典版下载 | 久久这里只有精品首页| 亚洲美女电影在线| 国产成人综合视频| 在线不卡免费av| 一区二区三区四区在线免费观看| 美女www一区二区| 日本韩国一区二区| 国产三级欧美三级| 人人狠狠综合久久亚洲| 91久久香蕉国产日韩欧美9色| 欧美刺激脚交jootjob| 亚洲香肠在线观看| 91女厕偷拍女厕偷拍高清| 欧美精品一区在线观看| 日日夜夜一区二区| 欧美视频你懂的| 亚洲欧美色一区| 成人精品小蝌蚪| 久久精品视频一区二区三区| 蜜桃91丨九色丨蝌蚪91桃色| 欧美日韩一卡二卡| 樱桃国产成人精品视频| 9l国产精品久久久久麻豆| 久久久91精品国产一区二区精品| 老司机免费视频一区二区| 欧美精品久久天天躁| 亚洲成人一区在线| 91亚洲国产成人精品一区二区三| 国产精品视频一二三| 国产真实精品久久二三区| 日韩欧美亚洲一区二区| 久久机这里只有精品| 日韩色视频在线观看| 日本成人在线电影网| 欧美精品xxxxbbbb| 男女性色大片免费观看一区二区| 欧美二区在线观看| 美国毛片一区二区三区| 欧美成人猛片aaaaaaa| 激情六月婷婷综合|