function CompareEqItem(Context) {

    //the player's class; 
    //type is Number.
    const PlayerClass = Context.PlayerClass;
    //the slot of the alternate item;
    //type is Number;
    const EquipSlot = Context.EquipSlot;
//d.Log("EquipSlot: "+EquipSlot);
    // information of the equipped item, value is the item information.
    const Equipped = Context.Equipped;
    // information about the alternate item
    const Alternate = Context.Alternate;

    // logic
if(Equipped!=null){	
if(EquipSlot==4 && Equipped.Propertys.get(485)!=null){
		return false;
	}
}
    let prop = null;
    let anotherProp = null;
    let isAltNormal = (Alternate.ItemQualities == 1 || Alternate.ItemQualities == 2 || Alternate.ItemQualities == 3);
    let isAltHaveRWProp = (Alternate.Propertys.get(108) != null || Alternate.Propertys.get(111) != null || Alternate.Propertys.get(117) != null || Alternate.Propertys.get(177) != null || Alternate.Propertys.get(138) != null || Alternate.Propertys.get(139) != null || Alternate.Propertys.get(140) != null || Alternate.Propertys.get(141) != null || Alternate.Propertys.get(142) != null || Alternate.Propertys.get(82) != null || Alternate.Propertys.get(114) != null);
	let AltSockets = Alternate.Propertys.get(2)==null ? 0 : parseInt(Alternate.Propertys.get(2).Values[0]);
	
	if(AltSockets!=0 && Alternate.SocketItems.Count<AltSockets && Alternate.SocketItems.Count>0){
		return false;
	}
	
	if(blacklist(Alternate)){
		return false;
	}

    if (Equipped != null && EquipSlot!=11 && EquipSlot!=12) {
		if (Alternate.Propertys.get(485)!=null){
			return false;
		}
	
		if(true){

			if(EquipRating(EquipSlot,Alternate)>EquipRating(EquipSlot,Equipped) && ((EquipSlot!=4 && EquipSlot!=5) || (EquipSlot==4 && Alternate.Propertys.get(14)!=null) || (EquipSlot==5 && Alternate.Propertys.get(10)!=null)) ){
				return true;
			}
			if(EquipRating(EquipSlot,Alternate)<EquipRating(EquipSlot,Equipped)){
				return false;
			}
		}
		
		let prop_fr=Equipped.Propertys.get(31)==null ? 0 : parseInt(Equipped.Propertys.get(31).Values[0]);
		let prop_ir=Equipped.Propertys.get(32)==null ? 0 : parseInt(Equipped.Propertys.get(32).Values[0]);
		let prop_lr=Equipped.Propertys.get(33)==null ? 0 : parseInt(Equipped.Propertys.get(33).Values[0]);
		let prop_pr=Equipped.Propertys.get(35)==null ? 0 : parseInt(Equipped.Propertys.get(35).Values[0]);
		let prop_ar=Equipped.Propertys.get(177)==null ? 0 : parseInt(Equipped.Propertys.get(177).Values[0]);
		

    }

    if (Alternate.Propertys.get(326) != null) {
        // Eth
        if (Alternate.Propertys.get(298) == null && Alternate.Propertys.get(299) == null) {
            return false;
        }
    }

    if (EquipSlot == 4) {

		if (Alternate.Propertys.get(10)!=null){
			return false;
		}

		if (Alternate.Propertys.get(485)!=null){
			return false;
		}


		

        // Weapon
        if (Equipped == null) {
			////d.log("没有武器");
            return true;
        }
        prop = Equipped.Propertys.get(15);
        anotherProp = Alternate.Propertys.get(15);

		if (prop !=null && Alternate.Propertys.get(14)!=null){
			////d.log("4444");
			return true;
		}
		
		if (anotherProp!=null){
			////d.log("候选武器是双手，直接跳过");
			return false;
		}
        let isEquipOrb = Equipped.ItemType == 68;
        let isTarOrb = Alternate.ItemType == 68;
        prop = Equipped.Propertys.get(14);
        anotherProp = Alternate.Propertys.get(14);
        let prop2 = Alternate.Propertys.get(15);
        // One-Hand
        if (Alternate.ItemType == 38) {
            return false;
        }
        if (isEquipOrb && !isTarOrb) {
            return false;
        }
        if (!isEquipOrb && isTarOrb) {
            return true;
        }
		let prop_fr=Equipped.Propertys.get(31)==null ? 0 : parseInt(Equipped.Propertys.get(31).Values[0]);
		let prop_ir=Equipped.Propertys.get(32)==null ? 0 : parseInt(Equipped.Propertys.get(32).Values[0]);
		let prop_lr=Equipped.Propertys.get(33)==null ? 0 : parseInt(Equipped.Propertys.get(33).Values[0]);
		let prop_pr=Equipped.Propertys.get(35)==null ? 0 : parseInt(Equipped.Propertys.get(35).Values[0]);
		let prop_ar=Equipped.Propertys.get(177)==null ? 0 : parseInt(Equipped.Propertys.get(177).Values[0]);
		//75 211 115
		let prop_askill=Equipped.Propertys.get(75)==null ? 0 : parseInt(Equipped.Propertys.get(75).Values[0]);
		let prop_cskill=Equipped.Propertys.get(211)==null ? 0 : parseInt(Equipped.Propertys.get(211).Values[0]);
		let prop_fcr=Equipped.Propertys.get(115)==null ? 0 : parseInt(Equipped.Propertys.get(115).Values[0]);
		
		//////d.log("2"+"火抗"+prop_fr+"冰抗"+prop_ir+"电抗"+prop_lr+"毒抗"+prop_pr+"全抗"+prop_ar);
		
		let Aprop_fr=Alternate.Propertys.get(31)==null ? 0 : parseInt(Alternate.Propertys.get(31).Values[0]);
		let Aprop_ir=Alternate.Propertys.get(32)==null ? 0 : parseInt(Alternate.Propertys.get(32).Values[0]);
		let Aprop_lr=Alternate.Propertys.get(33)==null ? 0 : parseInt(Alternate.Propertys.get(33).Values[0]);
		let Aprop_pr=Alternate.Propertys.get(35)==null ? 0 : parseInt(Alternate.Propertys.get(35).Values[0]);
		let Aprop_ar=Alternate.Propertys.get(177)==null ? 0 : parseInt(Alternate.Propertys.get(177).Values[0]);
		let Aprop_askill=Alternate.Propertys.get(75)==null ? 0 : parseInt(Alternate.Propertys.get(75).Values[0]);
		let Aprop_cskill=Alternate.Propertys.get(211)==null ? 0 : parseInt(Alternate.Propertys.get(211).Values[0]);
		let Aprop_fcr=Alternate.Propertys.get(115)==null ? 0 : parseInt(Alternate.Propertys.get(115).Values[0]);
		

		
		//////d.log("火抗"+prop_fr+"冰抗"+prop_ir+"电抗"+prop_lr+"毒抗"+prop_pr+"全抗"+prop_ar);
		
		prop = Equipped.Propertys.get(14);
		//prop = parseInt(Equipped.Propertys.get(31).Values[0])*3+parseInt(Equipped.Propertys.get(32).Values[0])+parseInt(Equipped.Propertys.get(33).Values[0])*2+parseInt(Equipped.Propertys.get(35).Values[0])+parseInt(Equipped.Propertys.get(177).Values[0])*7;
		let rate=prop_fr*3+prop_ir+prop_lr*3+prop_pr+prop_ar*8+prop_askill*30+prop_cskill*30+prop_fcr*2;
		let Arate=Aprop_fr*3+Aprop_ir+Aprop_lr*3+Aprop_pr+Aprop_ar*8+Aprop_askill*30+Aprop_cskill*30+Aprop_fcr*2;
		//d.log(Arate+"vs"+rate);
		//anotherProp = Alternate.Propertys.get(14);
		prop = (Equipped.Propertys.get(14)!=null ? parseInt(Equipped.Propertys.get(14).Values[0]) : 0) + (Equipped.Propertys.get(14)!=null ? parseInt(Equipped.Propertys.get(14).Values[1]) : 0);
		//let xx=Equipped.Propertys.get(14)!=null ? parseInt(Equipped.Propertys.get(14).Values[1]) : 0;
		////d.log(xx);
		////d.log("装备武器伤害上下限之和"+prop);
		//prop = parseInt(Equipped.Propertys.get(31).Values[0])*3+parseInt(Equipped.Propertys.get(32).Values[0])+parseInt(Equipped.Propertys.get(33).Values[0])*2+parseInt(Equipped.Propertys.get(35).Values[0])+parseInt(Equipped.Propertys.get(177).Values[0])*7;
		anotherProp = (Alternate.Propertys.get(14)!=null ? parseInt(Alternate.Propertys.get(14).Values[0]) : 0) + (Alternate.Propertys.get(14)!=null ? parseInt(Alternate.Propertys.get(14).Values[1]) : 0);
		////d.log("候选武器伤害上下限之和"+anotherProp);
		if (true) {
			{

				if (rate < Arate){
					////d.log(Alternate.Code);
					////d.log(Alternate.Code+" 武器伤害评分，换掉");
					return true;
				}
			}
		}
		
        // Two-Hand

		////d.log("判断正常11 "+Alternate.Propertys.get(14));

		//d.log("333333");
		
		return false;
    } else if (EquipSlot == 5) {
        // Shields
		////d.log("no shield1");
		////d.log("shielding");
        anotherProp = Alternate.Propertys.get(10);
		if (anotherProp == null){
			return false;
		}
		
		if (Alternate.Propertys.get(485)!=null){
			return false;
		}
		
        if (anotherProp != null) {
			
////d.log("Alternate is a shield "+ Alternate.Code);
            let rightHandItem = d.GetEquippedItem(4);
            if (rightHandItem == null || rightHandItem.Propertys.get(15) == null) {
				////d.log("no shield2");
                if (Equipped == null) {
                    return true;
                }
                if (Alternate.ItemQualities > Equipped.ItemQualities) {
                   // return true;
                }
				let prop_fr=Equipped.Propertys.get(31)==null ? 0 : parseInt(Equipped.Propertys.get(31).Values[0]);
				let prop_ir=Equipped.Propertys.get(32)==null ? 0 : parseInt(Equipped.Propertys.get(32).Values[0]);
				let prop_lr=Equipped.Propertys.get(33)==null ? 0 : parseInt(Equipped.Propertys.get(33).Values[0]);
				let prop_pr=Equipped.Propertys.get(35)==null ? 0 : parseInt(Equipped.Propertys.get(35).Values[0]);
				let prop_ar=Equipped.Propertys.get(177)==null ? 0 : parseInt(Equipped.Propertys.get(177).Values[0]);
				
				//////d.log("2"+"火抗"+prop_fr+"冰抗"+prop_ir+"电抗"+prop_lr+"毒抗"+prop_pr+"全抗"+prop_ar);
				
				let Aprop_fr=Alternate.Propertys.get(31)==null ? 0 : parseInt(Alternate.Propertys.get(31).Values[0]);
				let Aprop_ir=Alternate.Propertys.get(32)==null ? 0 : parseInt(Alternate.Propertys.get(32).Values[0]);
				let Aprop_lr=Alternate.Propertys.get(33)==null ? 0 : parseInt(Alternate.Propertys.get(33).Values[0]);
				let Aprop_pr=Alternate.Propertys.get(35)==null ? 0 : parseInt(Alternate.Propertys.get(35).Values[0]);
				let Aprop_ar=Alternate.Propertys.get(177)==null ? 0 : parseInt(Alternate.Propertys.get(177).Values[0]);
				

				
				////d.log("shield "+"火抗"+prop_fr+"冰抗"+prop_ir+"电抗"+prop_lr+"毒抗"+prop_pr+"全抗"+prop_ar);
				
				prop = Equipped.Propertys.get(10);
				//prop = parseInt(Equipped.Propertys.get(31).Values[0])*3+parseInt(Equipped.Propertys.get(32).Values[0])+parseInt(Equipped.Propertys.get(33).Values[0])*2+parseInt(Equipped.Propertys.get(35).Values[0])+parseInt(Equipped.Propertys.get(177).Values[0])*7;
				anotherProp = Alternate.Propertys.get(10);
				if (true) {
					
					{
						if (Alternate.ItemQualities > Equipped.ItemQualities) {
							////d.log("2222");
							//return true;
						}
						if (Alternate.ItemQualities < Equipped.ItemQualities) {
							////d.log("2222");
							//return false;
						}
						if (Aprop_fr*3+Aprop_ir+Aprop_lr*3+Aprop_pr+Aprop_ar*8 > prop_fr*3+prop_ir+prop_lr*3+prop_pr+prop_ar*8){
							return true;
						}
					}
				}

            }
        }
    } else if (EquipSlot == 6) {
        // Right Ring
        if (Equipped == null) {
            return true;
        }
        if (d.GetEquippedItem(7) == null) {
            return false;
        }
		let prop_fr=Equipped.Propertys.get(31)==null ? 0 : parseInt(Equipped.Propertys.get(31).Values[0]);
		let prop_ir=Equipped.Propertys.get(32)==null ? 0 : parseInt(Equipped.Propertys.get(32).Values[0]);
		let prop_lr=Equipped.Propertys.get(33)==null ? 0 : parseInt(Equipped.Propertys.get(33).Values[0]);
		let prop_pr=Equipped.Propertys.get(35)==null ? 0 : parseInt(Equipped.Propertys.get(35).Values[0]);
		let prop_ar=Equipped.Propertys.get(177)==null ? 0 : parseInt(Equipped.Propertys.get(177).Values[0]);
		let prop_mdr=Equipped.Propertys.get(65)==null ? 0 : parseInt(Equipped.Propertys.get(65).Values[0]);
		
		//////d.log("2"+"火抗"+prop_fr+"冰抗"+prop_ir+"电抗"+prop_lr+"毒抗"+prop_pr+"全抗"+prop_ar);
		
		let Aprop_fr=Alternate.Propertys.get(31)==null ? 0 : parseInt(Alternate.Propertys.get(31).Values[0]);
		let Aprop_ir=Alternate.Propertys.get(32)==null ? 0 : parseInt(Alternate.Propertys.get(32).Values[0]);
		let Aprop_lr=Alternate.Propertys.get(33)==null ? 0 : parseInt(Alternate.Propertys.get(33).Values[0]);
		let Aprop_pr=Alternate.Propertys.get(35)==null ? 0 : parseInt(Alternate.Propertys.get(35).Values[0]);
		let Aprop_ar=Alternate.Propertys.get(177)==null ? 0 : parseInt(Alternate.Propertys.get(177).Values[0]);
		let Aprop_mdr=Alternate.Propertys.get(65)==null ? 0 : parseInt(Alternate.Propertys.get(65).Values[0]);

		
		//////d.log("火抗"+prop_fr+"冰抗"+prop_ir+"电抗"+prop_lr+"毒抗"+prop_pr+"全抗"+prop_ar);
		
        prop = Equipped.Propertys.get(10);
		//prop = parseInt(Equipped.Propertys.get(31).Values[0])*3+parseInt(Equipped.Propertys.get(32).Values[0])+parseInt(Equipped.Propertys.get(33).Values[0])*2+parseInt(Equipped.Propertys.get(35).Values[0])+parseInt(Equipped.Propertys.get(177).Values[0])*7;
        anotherProp = Alternate.Propertys.get(10);
        if (true) {
            {
				if (Aprop_fr*3+Aprop_ir+Aprop_lr*3+Aprop_pr+Aprop_ar*8+Aprop_mdr*10 > prop_fr*3+prop_ir+prop_lr*3+prop_pr+prop_ar*8+prop_mdr*10){
					return true;
				}
            }
        }
    } else if (EquipSlot == 7) {
        // Left Ring
        if (Equipped == null) {
            return true;
        }
		let prop_fr=Equipped.Propertys.get(31)==null ? 0 : parseInt(Equipped.Propertys.get(31).Values[0]);
		let prop_ir=Equipped.Propertys.get(32)==null ? 0 : parseInt(Equipped.Propertys.get(32).Values[0]);
		let prop_lr=Equipped.Propertys.get(33)==null ? 0 : parseInt(Equipped.Propertys.get(33).Values[0]);
		let prop_pr=Equipped.Propertys.get(35)==null ? 0 : parseInt(Equipped.Propertys.get(35).Values[0]);
		let prop_ar=Equipped.Propertys.get(177)==null ? 0 : parseInt(Equipped.Propertys.get(177).Values[0]);
		let prop_mdr=Equipped.Propertys.get(65)==null ? 0 : parseInt(Equipped.Propertys.get(65).Values[0]);
		
		//////d.log("2"+"火抗"+prop_fr+"冰抗"+prop_ir+"电抗"+prop_lr+"毒抗"+prop_pr+"全抗"+prop_ar);
		
		let Aprop_fr=Alternate.Propertys.get(31)==null ? 0 : parseInt(Alternate.Propertys.get(31).Values[0]);
		let Aprop_ir=Alternate.Propertys.get(32)==null ? 0 : parseInt(Alternate.Propertys.get(32).Values[0]);
		let Aprop_lr=Alternate.Propertys.get(33)==null ? 0 : parseInt(Alternate.Propertys.get(33).Values[0]);
		let Aprop_pr=Alternate.Propertys.get(35)==null ? 0 : parseInt(Alternate.Propertys.get(35).Values[0]);
		let Aprop_ar=Alternate.Propertys.get(177)==null ? 0 : parseInt(Alternate.Propertys.get(177).Values[0]);
		let Aprop_mdr=Alternate.Propertys.get(65)==null ? 0 : parseInt(Alternate.Propertys.get(65).Values[0]);

		
		//////d.log("火抗"+prop_fr+"冰抗"+prop_ir+"电抗"+prop_lr+"毒抗"+prop_pr+"全抗"+prop_ar);
		
        prop = Equipped.Propertys.get(10);
		//prop = parseInt(Equipped.Propertys.get(31).Values[0])*3+parseInt(Equipped.Propertys.get(32).Values[0])+parseInt(Equipped.Propertys.get(33).Values[0])*2+parseInt(Equipped.Propertys.get(35).Values[0])+parseInt(Equipped.Propertys.get(177).Values[0])*7;
        anotherProp = Alternate.Propertys.get(10);
        if (true) {
            {
				if (Aprop_fr*3+Aprop_ir+Aprop_lr*3+Aprop_pr+Aprop_ar*8+Aprop_mdr*10 > prop_fr*3+prop_ir+prop_lr*3+prop_pr+prop_ar*8+prop_mdr*10){
					return true;
				}
            }
        }
    }

	else if (EquipSlot == 11) {//换CTA
		//d.Log("计算副手武器ing");
		if (Alternate.Propertys.get(10)!=null){
			return false;
		}

		let prop_aBO=Alternate.Propertys.get(485)==null ? 0 : parseInt(Alternate.Propertys.get(485).Values[0]);
		//d.Log("Alt BO level="+prop_aBO);
		if (Equipped==null && Alternate.Propertys.get(485)!=null){
			return true;
		}
		if (Equipped!=null){
			let prop_BO=Equipped.Propertys.get(485)==null ? 0 : parseInt(Equipped.Propertys.get(485).Values[0]);	
			//d.Log("BO level="+prop_BO);
			let prop_aBO=Alternate.Propertys.get(485)==null ? 0 : parseInt(Alternate.Propertys.get(485).Values[0]);	
			if (prop_aBO>prop_BO){
				return true;
			}
		}
		return false;
	}
	
	else if (EquipSlot == 12) {//换精神警戒
		//d.Log("计算副手盾牌ing");
        //anotherProp = ;
		if (Alternate.Propertys.get(10) == null){
			return false;
		}
		if(Equipped == null && Alternate.Propertys.get(82)!=null){
			return true;
		}
		if (Equipped !=null){
			let prop_skill=Equipped.Propertys.get(82)==null ? 0 : parseInt(Equipped.Propertys.get(82).Values[0]);
			let prop_askill=Alternate.Propertys.get(82)==null ? 0 : parseInt(Alternate.Propertys.get(82).Values[0]);
			if (prop_askill>prop_skill){
				return true;
			}
		}
		return false;
	}

	else {
		////d.log("testing armor");
        if (Equipped == null) {
            return true;
        }

        if (EquipSlot == 8 && beltSlot(Equipped.Code)<beltSlot(Alternate.Code)){
			//d.Log(beltSlot(Equipped.Code));
	return true;
        }
        if (EquipSlot == 8 && beltSlot(Equipped.Code)>beltSlot(Alternate.Code)){
	return false;
        }

        if (Alternate.ItemQualities > Equipped.ItemQualities) {
            //return true;
        }
		
		let prop_fr=Equipped.Propertys.get(31)==null ? 0 : parseInt(Equipped.Propertys.get(31).Values[0]);
		let prop_ir=Equipped.Propertys.get(32)==null ? 0 : parseInt(Equipped.Propertys.get(32).Values[0]);
		let prop_lr=Equipped.Propertys.get(33)==null ? 0 : parseInt(Equipped.Propertys.get(33).Values[0]);
		let prop_pr=Equipped.Propertys.get(35)==null ? 0 : parseInt(Equipped.Propertys.get(35).Values[0]);
		let prop_ar=Equipped.Propertys.get(177)==null ? 0 : parseInt(Equipped.Propertys.get(177).Values[0]);
		let prop_mf=Equipped.Propertys.get(251)==null ? 0 : parseInt(Equipped.Propertys.get(251).Values[0]);
		let prop_mdr=Equipped.Propertys.get(65)==null ? 0 : parseInt(Equipped.Propertys.get(65).Values[0]);
		
		if(Equipped.ItemQualities==5){
			prop_mf=0;
		}
		//////d.log("2"+"火抗"+prop_fr+"冰抗"+prop_ir+"电抗"+prop_lr+"毒抗"+prop_pr+"全抗"+prop_ar);
		
		let Aprop_fr=Alternate.Propertys.get(31)==null ? 0 : parseInt(Alternate.Propertys.get(31).Values[0]);
		let Aprop_ir=Alternate.Propertys.get(32)==null ? 0 : parseInt(Alternate.Propertys.get(32).Values[0]);
		let Aprop_lr=Alternate.Propertys.get(33)==null ? 0 : parseInt(Alternate.Propertys.get(33).Values[0]);
		let Aprop_pr=Alternate.Propertys.get(35)==null ? 0 : parseInt(Alternate.Propertys.get(35).Values[0]);
		let Aprop_ar=Alternate.Propertys.get(177)==null ? 0 : parseInt(Alternate.Propertys.get(177).Values[0]);
		let Aprop_mf=Alternate.Propertys.get(251)==null ? 0 : parseInt(Alternate.Propertys.get(251).Values[0]);
		let Aprop_mdr=Alternate.Propertys.get(65)==null ? 0 : parseInt(Alternate.Propertys.get(65).Values[0]);
		
		if(Equipped.ItemQualities==5){
			Aprop_mf=0;
		}

		
		//////d.log("火抗"+prop_fr+"冰抗"+prop_ir+"电抗"+prop_lr+"毒抗"+prop_pr+"全抗"+prop_ar);
		
        prop = Equipped.Propertys.get(10);
		//prop = parseInt(Equipped.Propertys.get(31).Values[0])*3+parseInt(Equipped.Propertys.get(32).Values[0])+parseInt(Equipped.Propertys.get(33).Values[0])*2+parseInt(Equipped.Propertys.get(35).Values[0])+parseInt(Equipped.Propertys.get(177).Values[0])*7;
        anotherProp = Alternate.Propertys.get(10);
		let rate=prop_fr*3+prop_ir+prop_lr*3+prop_pr+prop_ar*8+prop_mf*1+prop_mdr*10;
		let Arate=Aprop_fr*3+Aprop_ir+Aprop_lr*3+Aprop_pr+Aprop_ar*8+Aprop_mf*1+Aprop_mdr*10;

        if (true) {
            {
				////d.log("incoming");
				if (Arate>rate){
					d.Log("Equipment Rating(current vs alternate): "+rate+"vs"+Arate);
					return true;
				}
				if (Arate==rate){
					if (Alternate.ItemQualities > Equipped.ItemQualities) {
						return false;
					}
				}
            }
        }
    }
    return false;
}


function beltSlot(code){
	if(code==null){
		return 0;
	}
	if(code=="lbl" | code =="vbl"){
		return 2;
	}

	if(code=="mbl" | code =="tbl"){
		return 3;
	}
	return 4;
}

function EquipRating(equipSlot,item){
    if (blacklist(item)){
        return -1;
    }
    if (equipSlot== 1){
        if (_e00adfbf_6fec_4ecb_a701_3bc040b8d8b2(item)) return 40;
        if (_e2265b26_1bbd_42de_989b_e1ef387418ee(item)) return 30;
        if (_d563efce_c38b_4ffb_9b1e_bed7f6123715(item)) return 20;
        if (_bd83d5df_1682_42d8_83ab_120fc5db38ac(item)) return 10;
    }
    if (equipSlot== 2){
        if (_14e0eabd_c7f8_499b_83a0_1fae84c0828d(item)) return 30;
        if (_35a64c10_22c6_4d39_aee4_ac5058870955(item)) return 20;
        if (_725bc45b_0d2c_4c9d_b2cb_51833fd421de(item)) return 10;
    }
    if (equipSlot== 3){
        if (_ae83d05f_87db_451f_af74_c73bcda6c778(item)) return 30;
        if (_673f7a73_19b7_49d0_a7fb_b20c703920b1(item)) return 20;
        if (_26ad47ac_fb76_4298_8f81_0da5cd74461a(item)) return 10;
    }
    if (equipSlot== 4){
        if (_e857a336_f114_4b5d_8eb4_b7a8dcbf6a32(item)) return 50;
        if (_08658ca4_4a3e_4d29_95e1_0bcca4710fda(item)) return 40;
        if (_b58c3fdb_0fe7_41ef_8886_e240de182400(item)) return 30;
        if (_55a68cf2_f68a_405e_99e8_5771e62d38c1(item)) return 20;
        if (_93fea2ad_83ac_45ff_a9ed_34ac26451044(item)) return 10;
    }
    if (equipSlot== 5){
        if (_2ce395fd_3e59_4715_9ad0_dadcae1abba9(item)) return 30;
        if (_6a151290_f3ab_4aaf_a662_3e0968dbb678(item)) return 20;
        if (_e24924d8_dd89_4713_8123_07c01c512831(item)) return 10;
    }
    if (equipSlot== 6){
        if (_d596a2c3_dc47_4263_bf99_8ac62b84786d(item)) return 20;
        if (_35b23ede_834b_4dc5_aadf_0be411a97fef(item)) return 10;
    }
    if (equipSlot== 7){
        if (_d596a2c3_dc47_4263_bf99_8ac62b84786d(item)) return 20;
        if (_35b23ede_834b_4dc5_aadf_0be411a97fef(item)) return 10;
    }
    if (equipSlot== 8){
        if (_23dca3a3_2cb2_4896_b43b_7c759f32ae4a(item)) return 30;
        if (_04bf98d6_6984_4a5a_b87e_faed46e61ea1(item)) return 20;
        if (_f9f18042_5593_4c1d_8b3c_5a6751dfb7e8(item)) return 10;
    }
    if (equipSlot== 9){
        if (_5a55620b_4c06_4ce4_8c85_26ed7f85d6f4(item)) return 20;
        if (_7e09a247_145f_4f45_a960_e67bb6b2abad(item)) return 10;
    }
    if (equipSlot== 10){
        if (_42514f78_156c_4b4e_bf6b_5996123df53d(item)) return 20;
        if (_bb2ae8ca_b586_4bb5_88ba_a21d97e126da(item)) return 10;
    }
    return 0;
}
function blacklist(item){
        if (_79d58973_3d0a_4c74_8fef_2c39fc27ee25(item)) return true;
    return false;
}

//Title = 头部 - 军帽
function _e00adfbf_6fec_4ecb_a701_3bc040b8d8b2(item){
    let isItemTypeMatch = true;
    let isItemCodeMatch = (item.Code=="uap");
    let isQualityMatch = (item.ItemQualities==7);
    let isReqStatRulesMatch = true;
    let rt=isItemTypeMatch && isItemCodeMatch && isQualityMatch && isReqStatRulesMatch;
    return rt;
}

//Title = 头部 - 塔拉夏头
function _bd83d5df_1682_42d8_83ab_120fc5db38ac(item){
    let isItemTypeMatch = true;
    let isItemCodeMatch = (item.Code=="xsk");
    let isQualityMatch = (item.ItemQualities==5);
    let isReqStatRulesMatch = true;
    let rt=isItemTypeMatch && isItemCodeMatch && isQualityMatch && isReqStatRulesMatch;
    return rt;
}

//Title = 头部 - 和缓（第三赛季火吸头）
function _e2265b26_1bbd_42de_989b_e1ef387418ee(item){
    let isItemTypeMatch = (item.ItemType==75 | item.ItemType==37);
    let isItemCodeMatch = true;
    let isQualityMatch = (item.ItemQualities==2 | item.ItemQualities==3);
    let isReqStatRulesMatch = ((((item.Propertys.get(2)==null ? 0 : parseInt(item.Propertys.get(2).Values[0]))==3)) && (((item.Propertys.get(31)==null ? 0 : parseInt(item.Propertys.get(31).Values[0]))>39)) && (((item.Propertys.get(52)==null ? 0 : parseInt(item.Propertys.get(52).Values[0]))==5)));
    let rt=isItemTypeMatch && isItemCodeMatch && isQualityMatch && isReqStatRulesMatch;
    return rt;
}

//Title = 头部 - 奇拉头
function _d563efce_c38b_4ffb_9b1e_bed7f6123715(item){
    let isItemTypeMatch = (item.ItemType==75);
    let isItemCodeMatch = (item.Code=="ci2");
    let isQualityMatch = (item.ItemQualities==7);
    let isReqStatRulesMatch = true;
    let rt=isItemTypeMatch && isItemCodeMatch && isQualityMatch && isReqStatRulesMatch;
    return rt;
}

//Title = 头部 - 盗贼皇冠
function _5baa1152_4e5c_41da_91fb_07e85a9ad58c(item){
    let isItemTypeMatch = true;
    let isItemCodeMatch = (item.Code=="xrn");
    let isQualityMatch=true;
    let isReqStatRulesMatch = true;
    let rt=isItemTypeMatch && isItemCodeMatch && isQualityMatch && isReqStatRulesMatch;
    return rt;
}

//Title = 项链 - 马拉
function _35a64c10_22c6_4d39_aee4_ac5058870955(item){
    let isItemTypeMatch = (item.ItemType==12);
    let isItemCodeMatch = true;
    let isQualityMatch = (item.ItemQualities==7);
    let isReqStatRulesMatch = ((((item.Propertys.get(82)==null ? 0 : parseInt(item.Propertys.get(82).Values[0]))==2)) && (((item.Propertys.get(177)==null ? 0 : parseInt(item.Propertys.get(177).Values[0]))>19)));
    let rt=isItemTypeMatch && isItemCodeMatch && isQualityMatch && isReqStatRulesMatch;
    return rt;
}

//Title = 项链 - 旭日东升（吸火项链超市必备）
function _14e0eabd_c7f8_499b_83a0_1fae84c0828d(item){
    let isItemTypeMatch = (item.ItemType==12);
    let isItemCodeMatch = true;
    let isQualityMatch = (item.ItemQualities==7);
    let isReqStatRulesMatch = ((((item.Propertys.get(80)==null ? 0 : parseInt(item.Propertys.get(80).Values[0]))==2)));
    let rt=isItemTypeMatch && isItemCodeMatch && isQualityMatch && isReqStatRulesMatch;
    return rt;
}

//Title = 项链 - 塔拉夏项链
function _725bc45b_0d2c_4c9d_b2cb_51833fd421de(item){
    let isItemTypeMatch = (item.ItemType==12);
    let isItemCodeMatch = true;
    let isQualityMatch = (item.ItemQualities==5);
    let isReqStatRulesMatch = ((((item.Propertys.get(75)==null ? 0 : parseInt(item.Propertys.get(75).Values[0]))==2)));
    let rt=isItemTypeMatch && isItemCodeMatch && isQualityMatch && isReqStatRulesMatch;
    return rt;
}

//Title = 手套 - 法师之拳
function _42514f78_156c_4b4e_bf6b_5996123df53d(item){
    let isItemTypeMatch = (item.ItemType==16);
    let isItemCodeMatch = true;
    let isQualityMatch = (item.ItemQualities==7);
    let isReqStatRulesMatch = (((item.Propertys.get(115)==null ? false : true)));
    let rt=isItemTypeMatch && isItemCodeMatch && isQualityMatch && isReqStatRulesMatch;
    return rt;
}

//Title = 手套 - 塔格奥之握
function _bb2ae8ca_b586_4bb5_88ba_a21d97e126da(item){
    let isItemTypeMatch = (item.ItemType==16);
    let isItemCodeMatch = true;
    let isQualityMatch = (item.ItemQualities==5);
    let isReqStatRulesMatch = (((item.Propertys.get(115)==null ? false : true)));
    let rt=isItemTypeMatch && isItemCodeMatch && isQualityMatch && isReqStatRulesMatch;
    return rt;
}

//Title = 胸甲 - 塔拉夏的守护
function _26ad47ac_fb76_4298_8f81_0da5cd74461a(item){
    let isItemTypeMatch = true;
    let isItemCodeMatch = (item.Code=="uth");
    let isQualityMatch = (item.ItemQualities==5);
    let isReqStatRulesMatch = true;
    let rt=isItemTypeMatch && isItemCodeMatch && isQualityMatch && isReqStatRulesMatch;
    return rt;
}

//Title = 胸甲 - 海蛇皮
function _673f7a73_19b7_49d0_a7fb_b20c703920b1(item){
    let isItemTypeMatch = true;
    let isItemCodeMatch = (item.Code=="xea");
    let isQualityMatch = (item.ItemQualities==7);
    let isReqStatRulesMatch = true;
    let rt=isItemTypeMatch && isItemCodeMatch && isQualityMatch && isReqStatRulesMatch;
    return rt;
}

//Title = 胸甲 - 谜团 （任意底材）
function _ae83d05f_87db_451f_af74_c73bcda6c778(item){
    let isItemTypeMatch = (item.ItemType==3);
    let isItemCodeMatch = true;
    let isQualityMatch = (item.ItemQualities==2 | item.ItemQualities==3);
    let isReqStatRulesMatch = ((((item.Propertys.get(82)==null ? 0 : parseInt(item.Propertys.get(82).Values[0]))==2)) && ((item.Propertys.get(112)==null ? false : true)));
    let rt=isItemTypeMatch && isItemCodeMatch && isQualityMatch && isReqStatRulesMatch;
    return rt;
}

//Title = 鞋子 - 战争旅者（mf鞋）
function _f3ec01d9_9748_4c97_9541_619cfc8e7c91(item){
    let isItemTypeMatch = (item.ItemType==15);
    let isItemCodeMatch = true;
    let isQualityMatch = (item.ItemQualities==7);
    let isReqStatRulesMatch = ((((item.Propertys.get(251)==null ? 0 : parseInt(item.Propertys.get(251).Values[0]))>29)));
    let rt=isItemTypeMatch && isItemCodeMatch && isQualityMatch && isReqStatRulesMatch;
    return rt;
}

//Title = 鞋子 - 地狱阔步（和另外一双+火抗上限的鞋子）
function _7e09a247_145f_4f45_a960_e67bb6b2abad(item){
    let isItemTypeMatch = (item.ItemType==15);
    let isItemCodeMatch = true;
    let isQualityMatch = (item.ItemQualities==7);
    let isReqStatRulesMatch = (((item.Propertys.get(138)==null ? false : true)));
    let rt=isItemTypeMatch && isItemCodeMatch && isQualityMatch && isReqStatRulesMatch;
    return rt;
}

//Title = 胸甲 - 守护天使
function _3379978f_174e_4944_8eae_c5577627c4c4(item){
    let isItemTypeMatch = true;
    let isItemCodeMatch = (item.Code=="xlt");
    let isQualityMatch = (item.ItemQualities==7);
    let isReqStatRulesMatch = true;
    let rt=isItemTypeMatch && isItemCodeMatch && isQualityMatch && isReqStatRulesMatch;
    return rt;
}

//Title = 胸甲 - 督瑞尔的外壳
function _8e2505c5_d875_4fd8_b96e_da4e2f810547(item){
    let isItemTypeMatch = true;
    let isItemCodeMatch = (item.Code=="xrs");
    let isQualityMatch = (item.ItemQualities==7);
    let isReqStatRulesMatch = true;
    let rt=isItemTypeMatch && isItemCodeMatch && isQualityMatch && isReqStatRulesMatch;
    return rt;
}

//Title = 头部 - 飞机头
function _3ebd2199_7509_4d71_8b11_d91af3cb22f8(item){
    let isItemTypeMatch = (item.ItemType==71);
    let isItemCodeMatch = true;
    let isQualityMatch = (item.ItemQualities==7);
    let isReqStatRulesMatch = ((((item.Propertys.get(76)==null ? 0 : parseInt(item.Propertys.get(76).Values[0]))==2)) && ((item.Propertys.get(71)==null ? false : true)));
    let rt=isItemTypeMatch && isItemCodeMatch && isQualityMatch && isReqStatRulesMatch;
    return rt;
}

//Title = 腰带 - 雷神腰带
function _04bf98d6_6984_4a5a_b87e_faed46e61ea1(item){
    let isItemTypeMatch = true;
    let isItemCodeMatch = (item.Code=="zhb");
    let isQualityMatch = (item.ItemQualities==7);
    let isReqStatRulesMatch = true;
    let rt=isItemTypeMatch && isItemCodeMatch && isQualityMatch && isReqStatRulesMatch;
    return rt;
}

//Title = 腰带 - 技能腰带
function _23dca3a3_2cb2_4896_b43b_7c759f32ae4a(item){
    let isItemTypeMatch = true;
    let isItemCodeMatch = (item.Code=="ulc");
    let isQualityMatch = (item.ItemQualities==7);
    let isReqStatRulesMatch = true;
    let rt=isItemTypeMatch && isItemCodeMatch && isQualityMatch && isReqStatRulesMatch;
    return rt;
}

//Title = 腰带 - 塔拉夏的腰带
function _f9f18042_5593_4c1d_8b3c_5a6751dfb7e8(item){
    let isItemTypeMatch = true;
    let isItemCodeMatch = (item.Code=="zmb");
    let isQualityMatch = (item.ItemQualities==5);
    let isReqStatRulesMatch = true;
    let rt=isItemTypeMatch && isItemCodeMatch && isQualityMatch && isReqStatRulesMatch;
    return rt;
}

//Title = 戒指 - 乔丹
function _79d58973_3d0a_4c74_8fef_2c39fc27ee25(item){
    let isItemTypeMatch = (item.ItemType==10);
    let isItemCodeMatch = true;
    let isQualityMatch = (item.ItemQualities==7);
    let isReqStatRulesMatch = ((((item.Propertys.get(82)==null ? 0 : parseInt(item.Propertys.get(82).Values[0]))==1)) && ((item.Propertys.get(53)==null ? false : true)));
    let rt=isItemTypeMatch && isItemCodeMatch && isQualityMatch && isReqStatRulesMatch;
    return rt;
}

//Title = 戒指 - 婚戒
function _d596a2c3_dc47_4263_bf99_8ac62b84786d(item){
    let isItemTypeMatch = (item.ItemType==10);
    let isItemCodeMatch = true;
    let isQualityMatch = (item.ItemQualities==7);
    let isReqStatRulesMatch = ((((item.Propertys.get(82)==null ? 0 : parseInt(item.Propertys.get(82).Values[0]))==1)) && ((item.Propertys.get(71)==null ? false : true)));
    let rt=isItemTypeMatch && isItemCodeMatch && isQualityMatch && isReqStatRulesMatch;
    return rt;
}

//Title = 戒指 - 矮人
function _35b23ede_834b_4dc5_aadf_0be411a97fef(item){
    let isItemTypeMatch = (item.ItemType==10);
    let isItemCodeMatch = true;
    let isQualityMatch = (item.ItemQualities==7);
    let isReqStatRulesMatch = ((((item.Propertys.get(42)==null ? 0 : parseInt(item.Propertys.get(42).Values[0]))==40)));
    let rt=isItemTypeMatch && isItemCodeMatch && isQualityMatch && isReqStatRulesMatch;
    return rt;
}

//Title = 武器 - 眼球
function _b58c3fdb_0fe7_41ef_8886_e240de182400(item){
    let isItemTypeMatch = true;
    let isItemCodeMatch = (item.Code=="oba");
    let isQualityMatch = (item.ItemQualities==7);
    let isReqStatRulesMatch = true;
    let rt=isItemTypeMatch && isItemCodeMatch && isQualityMatch && isReqStatRulesMatch;
    return rt;
}

//Title = 武器 - 次元碎片（死亡深度）
function _e857a336_f114_4b5d_8eb4_b7a8dcbf6a32(item){
    let isItemTypeMatch = true;
    let isItemCodeMatch = (item.Code=="obf");
    let isQualityMatch = (item.ItemQualities==7);
    let isReqStatRulesMatch = true;
    let rt=isItemTypeMatch && isItemCodeMatch && isQualityMatch && isReqStatRulesMatch;
    return rt;
}

//Title = 武器 - 巫师之刺（小刀）
function _55a68cf2_f68a_405e_99e8_5771e62d38c1(item){
    let isItemTypeMatch = true;
    let isItemCodeMatch = (item.Code=="7dg");
    let isQualityMatch = (item.ItemQualities==7);
    let isReqStatRulesMatch = true;
    let rt=isItemTypeMatch && isItemCodeMatch && isQualityMatch && isReqStatRulesMatch;
    return rt;
}

//Title = 武器 - 橡树之心
function _08658ca4_4a3e_4d29_95e1_0bcca4710fda(item){
    let isItemTypeMatch = true;
    let isItemCodeMatch = (item.Code=="fla");
    let isQualityMatch = (item.ItemQualities==2 | item.ItemQualities==3);
    let isReqStatRulesMatch = ((((item.Propertys.get(82)==null ? 0 : parseInt(item.Propertys.get(82).Values[0]))==3)) && ((item.Propertys.get(115)==null ? false : true)) && ((item.Propertys.get(82)==null ? false : true)));
    let rt=isItemTypeMatch && isItemCodeMatch && isQualityMatch && isReqStatRulesMatch;
    return rt;
}

//Title = 武器 - 执法者（必须幻化底材）
function _c28189d2_54ca_4164_b12b_24f507f8c785(item){
    let isItemTypeMatch = true;
    let isItemCodeMatch = (item.Code=="7cr");
    let isQualityMatch = (item.ItemQualities==2 | item.ItemQualities==3);
    let isReqStatRulesMatch = ((((item.Propertys.get(2)==null ? 0 : parseInt(item.Propertys.get(2).Values[0]))==3)) && (((item.Propertys.get(8)==null ? 0 : parseInt(item.Propertys.get(8).Values[0]))==10)) && ((item.Propertys.get(71)==null ? false : true)));
    let rt=isItemTypeMatch && isItemCodeMatch && isQualityMatch && isReqStatRulesMatch;
    return rt;
}

//Title = 武器 - 眼光
function _26f32d25_37e3_4a9d_b84a_cd7ce057530b(item){
    let isItemTypeMatch = (item.ItemType==34);
    let isItemCodeMatch = true;
    let isQualityMatch = (item.ItemQualities==2 | item.ItemQualities==3);
    let isReqStatRulesMatch = ((((item.Propertys.get(2)==null ? 0 : parseInt(item.Propertys.get(2).Values[0]))==4)) && (((item.Propertys.get(228)==null ? 0 : parseInt(item.Propertys.get(228).Values[0]))==5)));
    let rt=isItemTypeMatch && isItemCodeMatch && isQualityMatch && isReqStatRulesMatch;
    return rt;
}

//Title = 武器 - 悔恨
function _43e03c5b_c7a8_429a_b505_fe448ec5572f(item){
    let isItemTypeMatch = true;
    let isItemCodeMatch = (item.Code=="7cr");
    let isQualityMatch = (item.ItemQualities==2 | item.ItemQualities==3);
    let isReqStatRulesMatch = ((((item.Propertys.get(121)==null ? 0 : parseInt(item.Propertys.get(121).Values[0]))>330)));
    let rt=isItemTypeMatch && isItemCodeMatch && isQualityMatch && isReqStatRulesMatch;
    return rt;
}

//Title = 武器 - 死亡丧钟
function _89007aac_b3ca_4701_9631_58f7d04eb197(item){
    let isItemTypeMatch = true;
    let isItemCodeMatch = (item.Code=="7s8");
    let isQualityMatch = (item.ItemQualities==7);
    let isReqStatRulesMatch = true;
    let rt=isItemTypeMatch && isItemCodeMatch && isQualityMatch && isReqStatRulesMatch;
    return rt;
}

//Title = 戒指 - 乌鸦之霜
function _9a4c8e10_783d_42c2_80e7_147fc903c709(item){
    let isItemTypeMatch = (item.ItemType==10);
    let isItemCodeMatch = true;
    let isQualityMatch = (item.ItemQualities==7);
    let isReqStatRulesMatch = (((item.Propertys.get(131)==null ? false : true)));
    let rt=isItemTypeMatch && isItemCodeMatch && isQualityMatch && isReqStatRulesMatch;
    return rt;
}

//Title = 鞋子 - 沙暴之旅
function _5a55620b_4c06_4ce4_8c85_26ed7f85d6f4(item){
    let isItemTypeMatch = (item.ItemType==15);
    let isItemCodeMatch = (item.Code=="uvb");
    let isQualityMatch = (item.ItemQualities==7);
    let isReqStatRulesMatch = true;
    let rt=isItemTypeMatch && isItemCodeMatch && isQualityMatch && isReqStatRulesMatch;
    return rt;
}

//Title = 盾牌 - 暴风盾
function _2ce395fd_3e59_4715_9ad0_dadcae1abba9(item){
    let isItemTypeMatch = true;
    let isItemCodeMatch = (item.Code=="uit");
    let isQualityMatch = (item.ItemQualities==7);
    let isReqStatRulesMatch = true;
    let rt=isItemTypeMatch && isItemCodeMatch && isQualityMatch && isReqStatRulesMatch;
    return rt;
}

//Title = 盾牌 - 精神盾（任意底材）
function _6a151290_f3ab_4aaf_a662_3e0968dbb678(item){
    let isItemTypeMatch = (item.ItemType==2 | item.ItemType==70);
    let isItemCodeMatch = true;
    let isQualityMatch = (item.ItemQualities==2 | item.ItemQualities==3);
    let isReqStatRulesMatch = ((((item.Propertys.get(2)==null ? 0 : parseInt(item.Propertys.get(2).Values[0]))==4)) && (((item.Propertys.get(82)==null ? 0 : parseInt(item.Propertys.get(82).Values[0]))==2)) && ((item.Propertys.get(115)==null ? false : true)));
    let rt=isItemTypeMatch && isItemCodeMatch && isQualityMatch && isReqStatRulesMatch;
    return rt;
}

//Title = 武器 - 精神剑
function _93fea2ad_83ac_45ff_a9ed_34ac26451044(item){
    let isItemTypeMatch = (item.ItemType==30);
    let isItemCodeMatch = true;
    let isQualityMatch = (item.ItemQualities==2 | item.ItemQualities==3);
    let isReqStatRulesMatch = ((((item.Propertys.get(2)==null ? 0 : parseInt(item.Propertys.get(2).Values[0]))==4)) && (((item.Propertys.get(82)==null ? 0 : parseInt(item.Propertys.get(82).Values[0]))==2)) && ((item.Propertys.get(115)==null ? false : true)));
    let rt=isItemTypeMatch && isItemCodeMatch && isQualityMatch && isReqStatRulesMatch;
    return rt;
}

//Title = 盾牌 - 摩西圆盾
function _e24924d8_dd89_4713_8123_07c01c512831(item){
    let isItemTypeMatch = true;
    let isItemCodeMatch = (item.Code=="xml");
    let isQualityMatch = (item.ItemQualities==7);
    let isReqStatRulesMatch = true;
    let rt=isItemTypeMatch && isItemCodeMatch && isQualityMatch && isReqStatRulesMatch;
    return rt;
}

//Title = 戒指 - 大自然的和平
function _8f8d984d_4d12_40fd_9e17_a14a53c138af(item){
    let isItemTypeMatch = true;
    let isItemCodeMatch = (item.Code=="rin");
    let isQualityMatch = (item.ItemQualities==7);
    let isReqStatRulesMatch = (((item.Propertys.get(35)==null ? false : true)) && ((item.Propertys.get(66)==null ? false : true)));
    let rt=isItemTypeMatch && isItemCodeMatch && isQualityMatch && isReqStatRulesMatch;
    return rt;
}

//Title = 武器 - 阿里巴巴
function _a47186d7_f820_453e_9472_4239fe1c513c(item){
    let isItemTypeMatch = true;
    let isItemCodeMatch = (item.Code=="9fc");
    let isQualityMatch = (item.ItemQualities==7);
    let isReqStatRulesMatch = true;
    let rt=isItemTypeMatch && isItemCodeMatch && isQualityMatch && isReqStatRulesMatch;
    return rt;
}
