|  |  | @ -426,75 +426,74 @@ public class UdiContrastService { | 
			
		
	
		
		
			
				
					
					|  |  |  | //                        udiProductService.insertUdiInfo(udiProductEntity);
 |  |  |  | //                        udiProductService.insertUdiInfo(udiProductEntity);
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                 } |  |  |  |                 } | 
			
		
	
		
		
			
				
					
					|  |  |  |                 if (thirdAliDrugList != null && thirdAliDrugList.size() > 0) { |  |  |  |                 if (thirdAliDrugList != null && thirdAliDrugList.size() > 0) { | 
			
		
	
		
		
			
				
					
					|  |  |  |                     int errCount = 0; |  |  |  |                     thirdAliDrugList  = disposeYbDrugList(thirdAliDrugList,ybDrug); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                     for (int i = 0; i < thirdAliDrugList.size(); i++) { |  |  |  |                     if (thirdAliDrugList != null && thirdAliDrugList.size() > 0) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         ThirdAliDrug thirdAliDrug = thirdAliDrugList.get(i); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                         if(!drugRulesVerify(ybDrug,thirdAliDrug)){ |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                             errCount++; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                             continue; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                         } |  |  |  |  | 
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         for (int i = 0; i < thirdAliDrugList.size(); i++) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             ThirdAliDrug thirdAliDrug = thirdAliDrugList.get(i); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                         udiProductEntity.setNameCode(thirdAliDrug.getNameCode()); |  |  |  |                             udiProductEntity.setNameCode(thirdAliDrug.getNameCode()); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                         // 数据处理
 |  |  |  |                             // 数据处理
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         udiProductEntity.setPrepnSpec(CopyUtils.copyNullStr(udiProductEntity.getPrepnSpec(), thirdAliDrug.getFormSpec())); |  |  |  |                             udiProductEntity.setPrepnSpec(CopyUtils.copyNullStr(udiProductEntity.getPrepnSpec(), thirdAliDrug.getFormSpec())); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         udiProductEntity.setZczbhhzbapzbh(CopyUtils.copyNullStr(udiProductEntity.getZczbhhzbapzbh(), thirdAliDrug.getApprovalNum())); |  |  |  |                             udiProductEntity.setZczbhhzbapzbh(CopyUtils.copyNullStr(udiProductEntity.getZczbhhzbapzbh(), thirdAliDrug.getApprovalNum())); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         udiProductEntity.setCpmctymc(CopyUtils.copyNullStr(udiProductEntity.getCpmctymc(), thirdAliDrug.getCpmctymc())); |  |  |  |                             udiProductEntity.setCpmctymc(CopyUtils.copyNullStr(udiProductEntity.getCpmctymc(), thirdAliDrug.getCpmctymc())); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         udiProductEntity.setSpmc(CopyUtils.copyNullStr(udiProductEntity.getSpmc(), thirdAliDrug.getSpmc())); |  |  |  |                             udiProductEntity.setSpmc(CopyUtils.copyNullStr(udiProductEntity.getSpmc(), thirdAliDrug.getSpmc())); | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                         udiProductEntity.setBzgg(CopyUtils.copyNullStr(udiProductEntity.getBzgg(), thirdAliDrug.getBzgg())); |  |  |  |                             udiProductEntity.setBzgg(CopyUtils.copyNullStr(udiProductEntity.getBzgg(), thirdAliDrug.getBzgg())); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         udiProductEntity.setPackRatio(CopyUtils.copyNullStr(udiProductEntity.getPackRatio(), thirdAliDrug.getPackRatio())); |  |  |  |                             udiProductEntity.setPackRatio(CopyUtils.copyNullStr(udiProductEntity.getPackRatio(), thirdAliDrug.getPackRatio())); | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | //                        udiProductEntity.setMatrial(ybDrug.getMaterialName());
 |  |  |  | //                        udiProductEntity.setMatrial(ybDrug.getMaterialName());
 | 
			
		
	
		
		
			
				
					
					|  |  |  | //                        udiProductEntity.setPackMatrial(ybDrug.getMaterialName());
 |  |  |  | //                        udiProductEntity.setPackMatrial(ybDrug.getMaterialName());
 | 
			
		
	
		
		
			
				
					
					|  |  |  | //                        udiProductEntity.setMedicareType(setMedicareType(ybDrug.getProductInsuranceType()));
 |  |  |  | //                        udiProductEntity.setMedicareType(setMedicareType(ybDrug.getProductInsuranceType()));
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                         //最小产品单位
 |  |  |  |                             //最小产品单位
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         udiProductEntity.setPackUnit(CopyUtils.copyNullStr(udiProductEntity.getPackUnit(), thirdAliDrug.getPackUnitName())); |  |  |  |                             udiProductEntity.setPackUnit(CopyUtils.copyNullStr(udiProductEntity.getPackUnit(), thirdAliDrug.getPackUnitName())); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         //设置最小产品数量
 |  |  |  |                             //设置最小产品数量
 | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | //                        udiProductEntity.setBhxjsl(ybDrug.getFactor());
 |  |  |  | //                        udiProductEntity.setBhxjsl(ybDrug.getFactor());
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                         //生产厂家
 |  |  |  |                             //生产厂家
 | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | //                    udiProductEntity.setManufactory(thirdAliDrug.getManufacturer());
 |  |  |  | //                    udiProductEntity.setManufactory(thirdAliDrug.getManufacturer());
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                         //商品条码 essentialDrugMarkName sptm
 |  |  |  |                             //商品条码 essentialDrugMarkName sptm
 | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | //                    udiProductEntity.setSptm(ybDrug.getBusinessLicense());
 |  |  |  | //                    udiProductEntity.setSptm(ybDrug.getBusinessLicense());
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                         udiProductEntity.setPrepnUnit(CopyUtils.copyNullStr(udiProductEntity.getPrepnUnit(), thirdAliDrug.getPrepnUnitName())); |  |  |  |                             udiProductEntity.setPrepnUnit(CopyUtils.copyNullStr(udiProductEntity.getPrepnUnit(), thirdAliDrug.getPrepnUnitName())); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                         List<Integer> integers = new ArrayList<>(); |  |  |  |                             List<Integer> integers = new ArrayList<>(); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         if (StrUtil.isNotEmpty(thirdAliDrug.getPackRatio())) { |  |  |  |                             if (StrUtil.isNotEmpty(thirdAliDrug.getPackRatio())) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                             integers = DimaUtil.calculateLevels(thirdAliDrug.getPackRatio()); |  |  |  |                                 integers = DimaUtil.calculateLevels(thirdAliDrug.getPackRatio()); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         } |  |  |  |                             } | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         udiProductEntity.setPackLevel(thirdAliDrug.getPackLevel()); |  |  |  |                             udiProductEntity.setPackLevel(thirdAliDrug.getPackLevel()); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         try { |  |  |  |                             try { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                             udiProductEntity.setBhxjsl(integers.get(IntUtil.value(thirdAliDrug.getPackLevel()) - 1)); |  |  |  |                                 udiProductEntity.setBhxjsl(integers.get(IntUtil.value(thirdAliDrug.getPackLevel()) - 1)); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         } catch (IndexOutOfBoundsException e) { |  |  |  |                             } catch (IndexOutOfBoundsException e) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                             e.printStackTrace(); |  |  |  |                                 e.printStackTrace(); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                             Log.error("计算包装级别出错" + thirdAliDrug.getPackLevel() + "---" + integers + "-----" + thirdAliDrug.toString()); |  |  |  |                                 Log.error("计算包装级别出错" + thirdAliDrug.getPackLevel() + "---" + integers + "-----" + thirdAliDrug.toString()); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                             udiProductEntity.setBhxjsl(0); |  |  |  |                                 udiProductEntity.setBhxjsl(0); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         } |  |  |  |                             } | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                         if (IntUtil.value(udiProductEntity.getBhxjsl()) == 0) { |  |  |  |                             if (IntUtil.value(udiProductEntity.getBhxjsl()) == 0) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                             udiProductEntity.setBhxjsl(IntUtil.value(ybDrug.getFactor())); |  |  |  |                                 udiProductEntity.setBhxjsl(IntUtil.value(ybDrug.getFactor())); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         } |  |  |  |                             } | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         if (IntUtil.value(thirdAliDrug.getPackLevel()) == 1) { |  |  |  |                             if (IntUtil.value(thirdAliDrug.getPackLevel()) == 1) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                             udiProductEntity.setXjdw(ybDrug.getMinUnit()); |  |  |  |                                 udiProductEntity.setXjdw(ybDrug.getMinUnit()); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                             if (DimaUtil.trMinCount(thirdAliDrug.getBzgg()) != null) { |  |  |  |                                 if (DimaUtil.trMinCount(thirdAliDrug.getBzgg()) != null) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                                 udiProductEntity.setBhxjsl(DimaUtil.trMinCount(thirdAliDrug.getBzgg())); |  |  |  |                                     udiProductEntity.setBhxjsl(DimaUtil.trMinCount(thirdAliDrug.getBzgg())); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                             } else |  |  |  |                                 } else | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                                 udiProductEntity.setBhxjsl(ybDrug.getFactor()); |  |  |  |                                     udiProductEntity.setBhxjsl(ybDrug.getFactor()); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         } |  |  |  |                             } | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         if (thirdAliDrug.getPackLevel() != null && !thirdAliDrug.getPackLevel().equals("0")) { |  |  |  |                             if (thirdAliDrug.getPackLevel() != null && !thirdAliDrug.getPackLevel().equals("0")) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                             udiProductEntity.setDiType(IntUtil.value(thirdAliDrug.getPackLevel()) == 1 ? 1 : 4); |  |  |  |                                 udiProductEntity.setDiType(IntUtil.value(thirdAliDrug.getPackLevel()) == 1 ? 1 : 4); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         } else { |  |  |  |                             } else { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                             udiProductEntity.setDiType(1); |  |  |  |                                 udiProductEntity.setDiType(1); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         } |  |  |  |                             } | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         udiProductEntity.setXjdw(thirdAliDrug.getPrepnUnitName()); |  |  |  |                             udiProductEntity.setXjdw(thirdAliDrug.getPrepnUnitName()); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         udiProductEntity.setPackUnit(thirdAliDrug.getPackUnitName()); |  |  |  |                             udiProductEntity.setPackUnit(thirdAliDrug.getPackUnitName()); | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                         udiProductEntity.setId(IdUtil.getSnowflakeNextId()); |  |  |  |                             udiProductEntity.setId(IdUtil.getSnowflakeNextId()); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         udiProductService.insertUdiInfo(udiProductEntity); |  |  |  |                             udiProductService.insertUdiInfo(udiProductEntity); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                     } |  |  |  |                         } | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                     if(errCount == thirdAliDrugList.size()){ |  |  |  |                     }else { | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                         udiProductService.insertUdiInfo(udiProductEntity); |  |  |  |                         udiProductService.insertUdiInfo(udiProductEntity); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                     } |  |  |  |                     } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                     try { |  |  |  |                     try { | 
			
		
	
		
		
			
				
					
					|  |  |  |                         udiRelevanceEntity.setDetailSort(Integer.valueOf(thirdAliDrugList.get(0).getPhysicDetailType())); |  |  |  |                         udiRelevanceEntity.setDetailSort(Integer.valueOf(thirdAliDrugList.get(0).getPhysicDetailType())); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -603,31 +602,51 @@ public class UdiContrastService { | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  |     public boolean drugRulesVerify(YbDrug ybDrug,ThirdAliDrug thirdAliDrug ){ |  |  |  |     public List<ThirdAliDrug> disposeYbDrugList(List<ThirdAliDrug> thirdAliDrugList,YbDrug ybDrug){ | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         List<ThirdAliDrug> list1 = new ArrayList<>(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         List<ThirdAliDrug> list2 = new ArrayList<>(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         for (ThirdAliDrug thirdAliDrug : thirdAliDrugList) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             String str = drugRulesVerify(ybDrug,thirdAliDrug); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             if(StringUtils.isNotEmpty(str)){ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 if(str.equals("1")){ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     list1.add(thirdAliDrug); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 }else if(str.equals("2")){ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     list2.add(thirdAliDrug); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         if(list1 !=null && list1.size() >0){ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             return list1; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         }else if(list2 !=null && list2.size() >0){ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             return list2; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         return new ArrayList<>(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     public String drugRulesVerify(YbDrug ybDrug,ThirdAliDrug thirdAliDrug ){ | 
			
		
	
		
		
			
				
					
					|  |  |  |         try { |  |  |  |         try { | 
			
		
	
		
		
			
				
					
					|  |  |  |             Integer bzggInt = DimaUtil.trMinCount(thirdAliDrug.getBzgg()); |  |  |  |             Integer bzggInt = DimaUtil.trMinCount(thirdAliDrug.getBzgg()); | 
			
		
	
		
		
			
				
					
					|  |  |  |             // 按照医保数量与阿里包装规格对比
 |  |  |  |             // 按照医保数量与阿里包装规格对比
 | 
			
		
	
		
		
			
				
					
					|  |  |  |             if((bzggInt == ybDrug.getFactor())){ |  |  |  |             if((bzggInt == ybDrug.getFactor())){ | 
			
		
	
		
		
			
				
					
					|  |  |  |                 return true; |  |  |  |                 return "1"; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |             // 医保规格拆分与阿里规格拆分做匹配
 |  |  |  |             // 医保规格拆分与阿里规格拆分做匹配
 | 
			
		
	
		
		
			
				
					
					|  |  |  |             List<String> list = DimaUtil.extractNumbers(ybDrug.getRealityOutlook()); |  |  |  |             List<String> list = DimaUtil.extractNumbers(ybDrug.getRealityOutlook()); | 
			
		
	
		
		
			
				
					
					|  |  |  |             if(list!=null && list.size() >0){ |  |  |  |             if(list!=null && list.size() >0){ | 
			
		
	
		
		
			
				
					
					|  |  |  |                 for (String str : list) { |  |  |  |                 for (String str : list) { | 
			
		
	
		
		
			
				
					
					|  |  |  |                     if(str.equals(bzggInt+"")){ |  |  |  |                     if(str.equals(String.valueOf(bzggInt))){ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                         return true; |  |  |  |                         return "2"; | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                     } |  |  |  |                     } | 
			
		
	
		
		
			
				
					
					|  |  |  |                 } |  |  |  |                 } | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |             // 医保的规格与阿里制剂规格完全匹配
 |  |  |  | //            // 医保的规格与阿里制剂规格完全匹配
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             if(thirdAliDrug.getFormSpec().equals(ybDrug.getRealityOutlook())){ |  |  |  | //            if(thirdAliDrug.getFormSpec().equals(ybDrug.getRealityOutlook())){
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 return true; |  |  |  | //                return "3";
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  | //            }
 | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         }catch (Exception e){ |  |  |  |         }catch (Exception e){ | 
			
		
	
		
		
			
				
					
					|  |  |  |             log.error("药品校验出现错误==="+e.getMessage()); |  |  |  |             log.error("药品校验出现错误==="+e.getMessage()); | 
			
		
	
		
		
			
				
					
					|  |  |  |             return false; |  |  |  |             return null; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |         return false; |  |  |  |         return null; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | 
 |