text:
package v1alpha1

import (
	"fmt"
	"strings"
	"text/template"
	"time"

	errors "github.com/openebs/maya/pkg/errors/v1alpha1"
	retry "github.com/openebs/maya/pkg/util/retry"
	appsv1 "k8s.io/api/apps/v1"
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
	types "k8s.io/apimachinery/pkg/types"
)

func getDeployment(labels, namespace string) (*appsv1.Deployment, error) {
	deployList, err := deployClient.WithNamespace(namespace).List(
		&metav1.ListOptions{
			LabelSelector: labels,
		})
	if err != nil {
		return nil, err
	}
	if len(deployList.Items) == 0 {
		return nil, errors.Errorf("no deployments found for %s", labels)
	}
	return &(deployList.Items[0]), nil
}

func getOpenEBSVersion(d *appsv1.Deployment) (string, error) {
	if d.Labels["openebs.io/version"] == "" {
		return "", errors.Errorf("missing openebs version for %s", d.Name)
	}
	return d.Labels["openebs.io/version"], nil
}

func patchDelpoyment(
	deployName,
	namespace string,
	pt types.PatchType,
	data []byte,
) error {
	_, err := deployClient.WithNamespace(namespace).Patch(
		deployName,
		pt,
		data,
	)
	if err != nil {
		return err
	}

	err = retry.
		Times(60).
		Wait(5 * time.Second).
		Try(func(attempt uint) error {
			rolloutStatus, err1 := deployClient.WithNamespace(namespace).
				RolloutStatus(deployName)
			if err1 != nil {
				return err1
			}
			if !rolloutStatus.IsRolledout {
				return errors.Errorf("failed to rollout because %s", rolloutStatus.Message)
			}
			return nil
		})
	if err != nil {
		return err
	}
	return nil
}

func getContainerName(d *appsv1.Deployment) (string, error) {
	containerList := d.Spec.Template.Spec.Containers
	// verify length of container list
	if len(containerList) == 0 {
		return "", errors.New("missing container")
	}
	name := containerList[0].Name
	// verify replica container name
	if name == "" {
		return "", errors.New("missing container name")
	}
	return name, nil
}

func getBaseImage(deployObj *appsv1.Deployment, name string) (string, error) {
	for _, con := range deployObj.Spec.Template.Spec.Containers {
		if con.Name == name {
			baseImage := strings.Split(con.Image, ":")[0]
			if urlPrefix != "" {
				// urlPrefix is the url to the directory where the images are present
				// the below logic takes the image name from current baseImage and
				// appends it to the given urlPrefix
				// For example baseImage is abc/quay.io/openebs/jiva
				// and urlPrefix is xyz/aws-56546546/openebsdirectory/
				// it will take jiva from current url and append it to urlPrefix
				// and return xyz/aws-56546546/openebsdirectory/jiva
				urlSubstr := strings.Split(baseImage, "/")
				baseImage = urlPrefix + urlSubstr[len(urlSubstr)-1]
			}
			return baseImage, nil
		}
	}
	return "", errors.Errorf("image not found for container %s", name)
}

func patchService(targetServiceLabel, namespace string) error {
	targetServiceObj, err := serviceClient.WithNamespace(namespace).List(
		metav1.ListOptions{
			LabelSelector: targetServiceLabel,
		},
	)
	if err != nil {
		return errors.Wrapf(err, "failed to get service for %s", targetServiceLabel)
	}
	targetServiceName := targetServiceObj.Items[0].Name
	if targetServiceName == "" {
		return errors.Errorf("missing service name")
	}
	version := targetServiceObj.Items[0].
		Labels["openebs.io/version"]
	if version != currentVersion && version != upgradeVersion {
		return errors.Errorf(
			"service version %s is neither %s nor %s\n",
			version,
			currentVersion,
			upgradeVersion,
		)
	}
	if version == currentVersion {
		tmpl, err := template.New("servicePatch").Parse(openebsVersionPatchTemplate)
		if err != nil {
			return errors.Wrapf(err, "failed to create template for service patch")
		}
		err = tmpl.Execute(&buffer, upgradeVersion)
		if err != nil {
			return errors.Wrapf(err, "failed to populate template for service patch")
		}
		servicePatch := buffer.String()
		buffer.Reset()
		_, err = serviceClient.WithNamespace(namespace).Patch(
			targetServiceName,
			types.StrategicMergePatchType,
			[]byte(servicePatch),
		)
		if err != nil {
			return errors.Wrapf(err, "failed to patch service %s", targetServiceName)
		}
		fmt.Printf("targetservice %s patched\n", targetServiceName)
	} else {
		fmt.Printf("service already in %s version\n", upgradeVersion)
	}
	return nil
}


text:
module.exports = {
  api: require('./lib/api.js'),
  Cache: require('./lib/cache.js'),
  Package: require('./lib/package.js'),
  Resource: require('./lib/resource.js')
};

redpajama_set_name: RedPajamaGithub


text:
package s_mach

package object codetools extends CodeToolsImplicits {
 @inline implicit class S_Mach_Codetools_EverythingPML[A](val self : A ) extends AnyVal {
    /**
      * Explicitly discard a value (use in conjunction with
      * scalacOption "-Ywarn-value-discard" to avoid warning)
      */
    def discard : Unit = ()
  }
}


text:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% This script is used to demonstrate the multiple homography estimation
% method described in the paper:
%
% Chojnacki, W.; Szpak, Z.L.; Brooks, M.J.; van den Hengel, A.; ,
% "Multiple Homography Estimation with Full Consistency Constraints,"
% Digital Image Computing: Techniques and Applications (DICTA), 2010
% International Conference on , vol., no., pp.480-485, 1-3 Dec. 2010
% doi: 10.1109/DICTA.2010.87
%
% The script generates random synthetic scenes containing the designated
% number of planes. It then generates corresponding points between two
% views of the planes, and adds user-specified noise to the
% correspondences. Finally, it estimates the homographies and enforces
% full consistency constraints.
%
% The performance of the method is reported using the symmetric
% transfer error, or the gold-standard reprojection error. Various
% other diagnostic information is also recorded.
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

randseed = 11;
randnseed = 19;
rand( 'seed', randseed );
randn( 'seed',randnseed );

% number of homographies (must be >= 2)
numOfH = 4 ;

% This variable determines whether we factorise the initial homographies
% into latent variables using a procedure proposed by P. Chen et al. or
% a procedure proposed by Chojnacki et al. The method proposed by Chen et
% al. requires a minimum of 3 homographies, whereas the method proposed
% by Chojnacki et al requires a minimum of two homographies.
% if numOfH < 3 then useChojnackiInitialisation *must* be set to 1
useChojnackiInitialisation = 1;

% this should be set to 1 if we want the  compute_aml_estimates to compute
% initial homography using the FNS scheme as well as covariance matrices
% associated with the FNS estimate. Otherwise, the method will use
% DLT to estimate the homographies together with DLT covariance matrices.
useFNSCovariances = 0;

% number of desired data points (expect to get half of this on average)
nPoints = 50;

% number of random scenes
numberOfScenes = 10;

% generate multiple random planar scenes
listOfRandomScenes = generate_multiple_random_planarscenes_new(...
                            numberOfScenes,numOfH,nPoints);

% pick one of the generated scenes at random
sceneData = listOfRandomScenes{randi(numberOfScenes)};
% and visualise it
visualise_groundtruth_scene_and_plot(sceneData)

% set a noise level for measurements with zero mean Gaussian noise and
% standard deviation sigma
sigma = 1 ;

% add noise to each of the scenes
listOfRandomScenesWithNoise = add_noise_to_scenes(listOfRandomScenes,sigma);

listOfEstimatedHomographiesForEachScene = cell(1,numberOfScenes);
listOfDiagnosticForEachScene = cell(1,numberOfScenes);
for i = 1:numberOfScenes
    sceneData = listOfRandomScenesWithNoise{i};

    % enforce consistency constraints on homographies that were estimated
    % using DLT (if useFNSCovariances = 0),
    % or FNS ( if useFNSCovariance == 1).
    [listOfEstimatedH, diagnostic] = ...
                compute_aml_estimates(sceneData,...
                                     useChojnackiInitialisation,...
                                     useFNSCovariances);
    listOfEstimatedHomographiesForEachScene{i} =  listOfEstimatedH;
    listOfDiagnosticForEachScene{i} =  diagnostic;
end

% you can compute the symmetric transfer error (faster)
listOfErrors = ...
                compute_symmetric_transfer_error(listOfRandomScenes,...
                                  listOfEstimatedHomographiesForEachScene);

 % or you can compute the gold-standard reprojection error (slower)
 %listOfErrors = ...
 %               compute_reprojection_error(listOfRandomScenes,...
 %                                 listOfEstimatedHomographiesForEachScene);

% finally we compute the root-mean-square errors
 [meanRmsError, rmsErrorForEachPlane] =  ...
                        compute_mean_root_mean_square_error(listOfErrors);

% gather summaries of diagnostics
[meanIter, medianIter, varIter,stdIter, ...
    meanTiming, medianTiming,varTiming,stdTiming,...
    startResiduals, endResiduals] = ...
                compute_diagnostic_statistics(listOfDiagnosticForEachScene);

% write output of experiment to data structure
covaml.listOfErrors = listOfErrors;
covaml.meanRmsError = meanRmsError;
covaml.rmsErrorForEachPlane = rmsErrorForEachPlane;
covaml.sigma = sigma;
covaml.numberOfScenes = numberOfScenes;
covaml.nPoints = nPoints;
covaml.nHomographies = numOfH;
covaml.randseed = randseed;
covaml.randnseed = randnseed;

covaml.meanIter = meanIter;
covaml.medianIter = medianIter;
covaml.varIter = varIter;
covaml.stdIter = stdIter;
covaml.meanTiming = meanTiming;
covaml.medianTiming = medianTiming;
covaml.stdTiming = stdTiming;
covaml.startResiduals = startResiduals;
covaml.endResiduals = endResiduals;

covaml.listOfDiagnosticForEachScene = listOfDiagnosticForEachScene;

save experiment1-covaml covaml

fprintf('\n \n Root-Mean-Square Errors for each Homography\n')
covaml.rmsErrorForEachPlane
fprintf('Mean Root Mean Square Error \n')
covaml.meanRmsError


text:
{-# LANGUAGE RebindableSyntax #-}

module Bug where

data Maybe a = Just a | Nothing

foo :: [Maybe a] -> [a]
foo xs = [ x | Just x <- xs ]


text:
import * as css from './counter.css';

import * as React from 'react';
import * as shared from '../../shared/shared';
import CounterEntry from './CounterEntry';
import CounterHeader from './CounterHeader';
import Grid from '../components/grid/grid'
import GridCell from '../components/grid/gridcell'

export interface CounterState {
	counters: shared.contract.ICounter[]
}

export default class Counter extends React.Component<{}, CounterState> {
	constructor() {
		super();
		this.state = { counters: [] };
	}

	public componentDidMount() {
		Tracker.autorun(() => {
			var value = shared.collections.counterCollection.find().fetch();
			this.setState({counters: value });
		});
	}

	public renderCounters() {
		return this.state.counters.map((counter: shared.contract.ICounter, index: number, array: shared.contract.ICounter[]) => {
			return (<GridCell key={counter._id} cellCount={{ mobile: 12, tablet: 6 }}><CounterEntry key={counter._id} id={counter._id} name={counter.name} value={counter.value} /></GridCell>)
		});
	}

	public render() {
		return (<div className={css.counter + " container"}>
					<Grid><GridCell cellCount={{ mobile: 12 }}><CounterHeader /></GridCell></Grid>
					<Grid>{this.renderCounters()}</Grid>
				</div>
				);
	}
}


text:
/*******************************  this template common css ************************
 *
 * 这里放置商城前台页面可以重复使用的代码
 *
 */
.input{ background:url(../images/input.png) repeat-x; height:20px; line-height:20px; border:1px #ccc solid}
.twofloat em{float:left;}
.twofloat span{float:right}

/* location */

.location{text-align:left;padding-left:6px;color:#999}
.location a{float:left; display:inline-block;}
.location a:hover{color:#EE3000; text-decoration:underline;}
.location span{float:left;display:block;width:10px; height:13px;margin:0;background:url(../images/T1_w.iXaXcXXbHEyTv-150-650.png) no-repeat -16px -82px;margin-left:5px;margin-right:5px;}

/* btns of order */
.btn-order{ height:24px; background:#fff; line-height:22px;}
.btn-order a{color:#666;}
.btn-order-click{border:#ccc 1px solid;background:url(../images/gray_line.jpg) left top repeat-x;padding-left:5px;padding-right:15px;height:22px;display:inline-block; position:relative;float:left;border-left:0;}
.default-sort{padding-right:5px;border-left:1px #ccc solid;margin-left:5px;}
.btn-order-click i{background:url(../images/T1U_vGXjdaXXckL6Z0-130-130.png) no-repeat -22px -23px;width:7px; height:10px; display:inline-block; overflow:hidden; position:absolute;top:6px; right:3px;}
.btn-order-click:hover,.btn-order-cur{color:#EE3000; text-decoration:none;  background:#ffffff}
.btn-order-click:hover i{ background-position:-30px -23px;}
.order-down i,
.order-down-gray:hover i{background-position:-30px -23px;}
.order-down-gray i{ background-position:-22px -23px;}

.order-up-gray i{background-position:-38px -23px}
.order-up i,
.order-up-gray:hover i{background-position:-46px -23px}

/*******************************  this template common css --------- end ************************/

/*******************************  -----------右侧的悬浮窗口------------ ************************/
.QQbox{
width:86px;
position:fixed;
_position: absolute;
right:0px;
bottom:100px;
}
.QQbox .contentx{
position:relative;
}
#divMenu .eachx{
height:36px;width:86px;margin-bottom:5px;cursor:pointer;
}
#divMenu .eachx span{display:block;float:right;width:34px;height:36px;}
#divMenu .ob1 span{
background:url(../images/Bg630.png) no-repeat 0 -340px;
}
#divMenu .ob2 span{
background:url(../images/Bg630.png) no-repeat  -40px -340px;
}

#divMenu .ob3 span{
background:url(../images/Bg630.png) no-repeat  -80px -340px;
}

#divMenu .ob4 span{
background:url(../images/Bg630.png) no-repeat  0px -278px;
}

#divMenu .ob5 span{
background:url(../images/Bg630.png) no-repeat  -120px -340px;
}

#divOnline{
position:absolute;
top:0px;
left:0px;
background:#fff;
}

#divOnline .mainbox{
width:86px;
margin-bottom:5px !important;
overflow:hidden;
cursor:pointer;
}
#divOnline .mainbox:hover{
background:#676767;
}
#divOnline .mainbox:hover span{
background:#676767;
}
#divOnline .mainbox b{display:block;width:34px;height:36px;overflow:hidden;float:left;}
#divOnline .mainbox span{display:block;width:52px;height:36px;text-align:center;line-height:36px;overflow:hidden;float:right;color:#fff;background:#AEB2BD;}
#divOnline .ob1 b{
background:url(../images/Bg630.png) no-repeat 0 -340px;
}
#divOnline .ob2 b{
background:url(../images/Bg630.png) no-repeat  -40px -340px;
}
#divOnline .ob3 span{
background:#CED3E2;
}
#divOnline .ob3 b{
background:url(../images/Bg630.png) no-repeat  -80px -340px;
}

#divOnline .ob4 b{
background:url(../images/Bg630.png) no-repeat  0px -277px;
}

#divOnline .ob5 b{
background:url(../images/Bg630.png) no-repeat  -120px -340px;
}
#divOnline .ob1:hover b{
background:url(../images/Bg630.png) no-repeat -160px -340px;
}
#divOnline .ob2:hover b{
background:url(../images/Bg630.png) no-repeat  -200px -340px;
}
#divOnline .ob3{
background:#CED3E2;
}
#divOnline .ob3:hover b{
background:url(../images/Bg630.png) no-repeat  -240px -340px;
}

#divOnline .ob4:hover b{
background:url(../images/Bg630.png) no-repeat  -40px -277px;
}

#divOnline .ob5:hover b{
background:url(../images/Bg630.png) no-repeat  -280px -340px;
}
#divOnline .h_nav ul{background:#AEB2BD;width:56px;padding:5px 15px;border-top:1px solid #7E7E7E;display:none;}
#divOnline .h_nav ul li a{color:#fff;height:20px;line-height:20px;overflow:hidden;width:56px;}
#divOnline .h_nav:hover ul{background:#676767;}

/********************************* widgets fields *****************************************************************
 *
 * 这里是放置挂件样式的区域
 *
 */

/* page-home */
#page-home .col-1 .left{width:200px;float:left;margin-right:10px;}
#page-home .col-1 .middle{width:760px;float:left;}
#page-home .col-1 .right{width:220px;float:right;}
#page-home .col-3 .left{width:595px;float:left;}
#page-home .col-3 .right{width:595px;float:right;}

/*register_login*/
.register_login{width:220px;height:50px;background:url(../images/taocz_02.gif) no-repeat;}
.register_login a{display:block;float:left;width:109px;height:50px;margin-right:2px;}

/*pic_show*/
.pic_show{border: 1px #d5d5d5 solid;border-top:0px;}
.pic_show .title{width:218px;height:33px;line-height:33px;color:#fff;font-weight:600;font-size:14px;text-indent:10px;background:url(../images/taocz_06.gif) no-repeat;}
.pic_show .content{width:218px;}
.pic_show .content a{display:block;border-right: 1px #d5d5d5 solid;border-bottom: 1px #d5d5d5 solid;width:108px;height:31px;float:left;overflow:hidden;}
.pic_show .content a{display:block;}

/*首页图片轮播*/
.slides{width:760px;position:relative;z-index:1;}
.slides .title ul{position:absolute;right:5px;bottom:5px; z-index:99}
.slides .title li{float:left;width:22px;height:22px;line-height:22px;margin-left:10px;color:#aeaeae;font-size:12px; cursor:pointer; border-radius:10px; background:#f63100;color:#fff; text-align:center;opacity:0.4;filter:alpha(opacity=40); -moz-opacity:0.4; }
.slides .title li.ks-active{opacity:1;filter:alpha(opacity=100);
-moz-opacity:1; }
.slides .scroller{width:760px;height:210px; overflow:hidden;}
.slides .scroller .ks-content{left:0;top:0;}
.slides .scroller .ks-content li{display:block;left:0;top:0;}

.three-ads li{float:left;margin-right:10px;}
.three-ads li.last{margin-right:0px;margin-left:1px;}
.three-ads li a{ display:block;}

/*re_brand*/
.re-brand-pic .title li{float:left;width:99px;height:25px;line-height:25px;text-align:center;background: #F1EFF0;display:block;font-weight:bold;border:1px #ddd solid;border-top:0;border-right:0; cursor:pointer;color:#333}
.re-brand-pic .title li.ks-active{border-bottom:1px #fff solid; background:#fff;color:#990000}
.re-brand-pic .title li.first{border-left:0;width:100px;}
.re-brand-pic .pinlei a{ display:block;border-bottom:1px #ddd solid}
.re-brand-pic .pinpai{width:192px;padding-left:6px;padding-bottom:5px;overflow:hidden;}
.re-brand-pic .pinpai a{display:block;float:left;margin-right:6px;margin-top:5px;}
.re-brand-pic .pinpai a:hover{border-color:#990000;}

/* article-widget */
.article{border:1px #E5E5E5 solid;color:#666;width:218px; overflow:hidden}
.article .title {height:26px; background:#EEEEEE; overflow:hidden}
.article .title li{float:left;width:72px; height:25px; line-height:25px;text-align:center; cursor:pointer;border:1px #ddd solid;border-top:0;border-right:0;}
.article .title li.ks-active{ background:#ffffff;border-bottom:1px #fff solid;font-weight:bold;}
.article .title li.first{border-left:0;}
.article .content{padding:5px 5px 5px 8px; line-height:22px;}
.article .content ul{width:205px;}
.article .content li{float:left;width:195px; height:22px;background:url(../images/dian.gif) no-repeat left 10px;padding-left:10px;overflow:hidden;overflow:hidden;}
.article .content li a:hover{color:#EE3000;}

/*re_goods-widget*/
.re_goods .title{width:100%;color:#fff;height: 39px;font-size: 14px;background: #228AFF;}
.re_goods .title b{display:block;background: url(../images/new_index2.png) no-repeat 0px -33px;_background: url(../images/new_index2.gif) no-repeat 0px -33px;width: 40px;height: 35px;margin-left: 10px;float:left;margin-top:2px;}
.re_goods .title span{display:block;float:left;height:39px;line-height: 43px;}
.re_goods .content{border: 1px #d0d0d0 solid;width:1198px;}
.re_goods .content dl{float:left;width:179px;height:230px;padding:10px;border-right:1px dashed #eee;overflow:hidden;color:#999;}
.re_goods .content dl.item:hover,.re_goods .content .hover{background:#F1F1F1;}
.re_goods .content dl dt{width:100%;text-align:center;}
.re_goods .content dl dt img{background:#fff;}
.re_goods .content dl dd a,.re_goods .content dl dd span,.re_goods .content dl dd p{display:block;margin-bottom:5px;}
.re_goods .content dl dd p{margin-top:5px;width:100%;text-align:center;}
.re_goods .content dl dd p b{display:inline-block;height: 5px;width: 51px;overflow: hidden;border: 1px solid #A2D392;margin-left:5px;}
.re_goods .content dl dd p b em{background:#A2D392;height:5px;display:block;float:left;}
.re_goods .content dl dd a{color:#666;height:34px;line-height:17px;overflow:hidden;}
.re_goods .content dl dd a:hover{text-decoration:none;}
.re_goods .content dl dd span strong{color: #F33100;font-size: 18px;font-family:'Microsoft Yahei';}

/*re_image-widget*/
.re_image{width:595px;}
.re_image .title{border-bottom: 2px #5a5a5a solid;height: 25px;line-height: 25px;}
.re_image .title h1{font-size: 16px;color: #5a5a5a;font-family: "微软雅黑";font-weight: normal;}
.re_image .content{border: 1px dashed #cac1be;border-top:0px;width:593px;}
.re_image .content a{display:block;width:98px;height:98px;float:left;border-bottom: 1px dashed #cac1be;border-right: 1px dashed #cac1be;}

.fourgroup{width:758px;border:1px solid #E4E4E4;position:relative;z-index:9;_overflow:hidden;}
.fourgroup .ks-switchable-nav{width:758px;background:#e7dfdf;height:35px;}
.fourgroup .ks-switchable-nav li{display:block;float:left;width:165px;text-align:center;height:29px;line-height:29px;cursor:pointer;border:1px solid #E4E4E4;border-right:0;border-top:0;position:relative;color:#333;margin-top:5px;font-size:14px;}
.fourgroup .ks-switchable-nav .ks-active{background:#fff;border-bottom:1px solid #fff;color: #f33100;
font-size: 16px;}
.fourgroup .ks-switchable-nav li.first{margin-left:15px;}
.fourgroup .ks-switchable-content{color:#8B8B8B;}
.fourgroup .ks-switchable-content .content{width:748px;padding-left:10px;overflow:hidden;}
.fourgroup .ks-switchable-content .offbox{float:left;margin-right:9px;}
.fourgroup .ks-switchable-content .item{width:240px;height:130px;overflow:hidden;padding-bottom:10px;margin-top:10px;}
.fourgroup .ks-switchable-content .item dt{width:130px;float:left;}
.fourgroup .ks-switchable-content .item dd{width:100px;float:right;}
.fourgroup .ks-switchable-content .item dd span{display:block;font-size:18px;font-weight:bold;font-family:'Microsoft Yahei';color: #F33100;}
.fourgroup .ks-switchable-content .item dd b{display:block;font-weight:normal;color:#333;margin:5px 0px;height:45px;line-height:15px;width:100%;overflow:hidden;}
.fourgroup .ks-switchable-content .item dd a{background: url(../images/taocz.png) no-repeat -0px -266px;width: 75px;height: 27px;line-height: 26px;font-size: 14px;color: #fff;font-weight: 400;font-family:'Microsoft Yahei';text-align: center;display: block;text-decoration:none;}
.fourgroup .ks-switchable-content .item dd a:hover{background: url(../images/taocz.png) no-repeat -1px -298px;}
.fourgroup .ks-switchable-content .images_content{width:758px;height:150px;overflow:hidden;}
.fourgroup .ks-switchable-content .images_content a{display:block;float:left;border-right: 1px #e1e1e1 solid;}
.fourgroup .ks-switchable-content .five_images{width:750px;height:144px;overflow:hidden;margin-left:8px;_margin-left:13px;margin-top:6px;}
.fourgroup .ks-switchable-content .five_images a{border:0px;margin-right:8px;_margin-right:5px;}

/*floor-widget*/
.floor .title h1{float:left;background-color: #0152AD;width:90px;height:35px;line-height:35px;text-align:center;color: #FFFFFF;
font-family: Microsoft YaHei,宋体;font-size: 16px;font-weight: normal;}
.floor .title .right{float:right;width:1100px;border-bottom: 3px solid #5A5A5A;height: 32px;}
.floor .title .right .keyword{float:right;}
.floor .title .right .keyword h2{height:32px;background-color: #666666;float:right;}
.floor .title .right .keyword h2 a{display:block;height:12px;line-height:12px;border-right: 1px solid #888888;padding: 0 10px;color:#fff;font-weight:normal;float:left;margin-top:10px;}
.floor .title .right .keyword h2 a.go_channel{background-color: #0152AD;width:100px;border:0px;display:block;height:32px;line-height:32px;text-align:center;font-weight: 400;font-size:14px;overflow: hidden;font-family: Microsoft YaHei;margin-top:0px;}
.floor .content .col-sub{width:200px;margin-right:10px;}
.floor .content .col-sub a{display:block;}
.floor .content .col-main{width:988px;height:387px;background: #f3f2f2;border: 1px #eaeaea solid;}
.floor2 .content .col-main{background:none;}
.floor .content .col-main ul{width:100%;}
.floor .content .col-main ul li{float:left;height:160px;width:160px;overflow:hidden;margin: 17px 5px 15px 28px;_margin-left:21px;position:relative;z-index:1;}
.floor .content .col-main ul li p{position:absolute;bottom:0px;left:0px;z-index:20;padding:5px 10px;}
.floor .content .col-main ul li p a{display:block;width:140px;height:15px;overflow:hidden;text-overflow: ellipsis;
white-space: nowrap;}
.floor .content .col-main ul li .transparent_bg{background: #ffffff;position:absolute;bottom:0px;left:0px;width:100%;height:40px;filter: alpha(Opacity=80); -moz-opacity: 0.8;opacity: 0.8;z-index:10;}
.floor .content .col-main ul li p span{display:block;margin:3px 0px;color: #F33100;display:none;}
.floor .content .col-main ul li strong{color: #F33100;font-family: "微软雅黑";font-weight: bold;font-size: 14px;}
.floor .content .col-main ul li.item:hover .transparent_bg,.floor .content .col-main ul .hover .transparent_bg{height:60px;_padding-top:5px;}
.floor .content .col-main ul li.item:hover span,.floor .content .col-main ul .hover span{display:block;}

/********************************* 挂件样式代码结束 widgets fields end *****************************************************************/

/* search.goods.html */
#page-search-goods {}

/* 搜索页面的品牌旗舰店 */

.ultimate-store .item{border:4px solid #E4E4E4; height:70px;}
.ultimate-store .item:hover,.ultimate-store .hover{border:4px solid #999;}
.ultimate-store .store-logo{padding:10px;}
.ultimate-store .content .middleside{width:500px;padding:10px; overflow:hidden}
.ultimate-store .content .middleside a{font-size:16px;color:#595959;font-weight:bold;}
.ultimate-store .content .middleside span{overflow:hidden;color:#999;margin-top:5px;}
.ultimate-store .content .rightside{width:260px;padding:20px 10px; text-align:right; overflow:hidden}
.ultimate-store .content .rightside a{font-size:14px;display:inline-block;margin-left:10px;color:#595959;font-weight:bold;vertical-align:middle;}
.ultimate-store .content .rightside b{display:inline-block;vertical-align:middle;width:62px;height:18px;background: url(../images/ultimate.gif) no-repeat;cursor:pointer;}

/* 搜索商品和搜索店铺页面,搜索团购,全部商品分类,全部店铺分类公用 */

.search-type{border-bottom: 2px solid #EE3000;width:100%;height:28px;}
.search-type .btn-type a{display:block;float:left;height: 27px;line-height: 27px;font-size: 14px;padding:0px 20px;background: url(../images/T1sHDgXkpeXXb0v4jv-150-450.png) 0px -30px;background-repeat: no-repeat;border:1px solid #CCC;border-bottom:0;}
.search-type .btn-type a.current{background:#EE3000;border:1px solid #EE3000;color: white;font-weight: bold;border-bottom:0;}

/* filter-price */
.filter-price{margin-left:5px; position:relative}
.filter-price .fp-input{ display:block; float:left;font-weight:normal; position:relative;border:#ccc 1px solid;padding-left:9px; }
.filter-price .fp-split{ display:block; float:left;width:8px; height:24px; background:url(../images/T1U_vGXjdaXXckL6Z0-130-130.png) -78px -106px;}
.filter-price input{border:0;line-height:20px;width:48px; height:20px; display:block; float:left;color:#666;}
.filter-price .fp-input i{ position:absolute; line-height:20px;width:12px; display:block; height:20px;top:2px;left:2px; font-style:normal}
.filter-price .ui-price-plain{ font-family:"arial", "verdana", sans-serif !important;color:#666; font-size:12px; text-indent:0;}
.filter-price .filter-price-expand{ position:absolute; z-index:2; text-align:center;padding:5px;  height:24px;left:0;top:29px; background-color:#efeceb;width:107px; display:none}
.filter-price .ui-btn-s{ height:20px; line-height:20px; display:inline-block;padding-left:10px;padding-right:10px; background:url(../images/btn.png) repeat-x 0 -300px;border-left:#ccc 1px solid;border-right:#ccc 1px solid;color:#333; cursor:pointer}
.filter-price .ui-btn-s-primary{background:url(../images/btn.png) repeat-x 0 -157px; display:inline-block; line-height:24px;  height:24px;color:#fff;border-left:#950b00 1px solid;border-right:#950b00 1px solid; cursor:pointer;width:40px; text-align:center;margin-left:1px;}
.filter-price .ui-btn-s-primary:hover{background-position:0 -211px;border-left:#E40002 1px solid;border-right:#E40002 1px solid;}

/* 搜索商品和搜索店铺公用 --- 结束  */

#page-search-goods .col-sub{float:right;width:200px;}
#page-search-goods .col-main{float:left;width:990px;}

#page-search-goods .col-sub a{}
#page-search-goods .col-sub a:hover{color:#EE3000}

#page-search-goods .col-sub .sub-list{border:1px #ddd solid;width:198px; overflow:hidden}
#page-search-goods .col-sub .sub-list .title{ height:22px; line-height:22px;font-weight:bold;font-size:15px;color:#3e3e3e;padding:2px;}
#page-search-goods .col-sub .sub-list .title h3{ background:#EE3000;padding-left:5px;color:#fff;}
#page-search-goods .col-sub .sub-list .item{float:left;padding:9px;border-bottom:1px #ddd dashed;width:182px;}
#page-search-goods .col-sub .sub-list .item .pic{border:1px #ddd solid}
#page-search-goods .col-sub .sub-list .item .desc{margin-top:5px;margin-bottom:5px;}
#page-search-goods .col-sub .sub-list .item .price em{ background:url(../images/T1ebamXel5XXXXXXXX-20-2400.png) -5px -81px no-repeat;padding-left:16px;color:#EE3000; font:bold 15px Arial;float:left;}

#page-search-goods .col-sub .sub-list .item:hover,
#page-search-goods .col-sub .sub-list .hover{ background:#FFF9D9}

#page-search-goods .attribute .title{border:1px #E6E2E1 solid;border-top: 2px solid #999999;padding:8px 0 8px 10px;color:#3e3e3e; background:#F2F2F2;}
#page-search-goods .selected-attr strong{color:#666}
#page-search-goods .selected-attr a{padding:0 20px 0 3px;display:inline-block;border:#e1e7f5 1px solid; background:#fff; position:relative; cursor:pointer; font-family:Arial;margin-top:2px;color:#806f66; line-height:16px;}
#page-search-goods .selected-attr a:hover{border:1px #A50000 solid;color:#EE3000; text-decoration:none}
#page-search-goods .selected-attr a span{position:absolute;top:1px;right:3px; overflow:hidden;width:13px;height:13px; background:url(../images/btn_bj.png) no-repeat 0 -34px;}
#page-search-goods .attribute .content{border:1px #E6E2E1 solid;border-top:0;border-bottom:1px #D1CCC7 solid}
#page-search-goods .attribute .attr-cate{border-top:1px #E6E2E1 solid;}
#page-search-goods .attribute .attr-list{border-top:1px dashed #e1e1e1; height:22px;padding:5px 0 5px 0;}
#page-search-goods .attribute .attr-list li{float:left;margin:0px 5px 0 10px;width:172px; height:22px; display:block; line-height:22px; background:url(../images/T1U_vGXjdaXXckL6Z0-130-130.png) no-repeat -124px -40px;padding-left:10px;}
#page-search-goods .attribute .attr-list li a{color:#806f66}
#page-search-goods .attribute .attr-list li span{margin-left:2px;color:#BFBFBF}
#page-search-goods .attribute .each{border-bottom:1px dashed #e1e1e1;line-height:22px;padding:5px 0 5px 0;width:100%}
#page-search-goods .attribute .each h4{float:left;width:100px; font-weight:400;color:#666;font-size:100%;margin-left:10px;}
#page-search-goods .attribute .each .pv{float:left;width:860px;}
#page-search-goods .attribute .each .pv a{ margin:0 10px 0 0;color:#806f66; display:inline-block;}
#page-search-goods .attribute .each .pv a:hover{color:#EE3000; text-decoration:none}
#page-search-goods .attribute .each .pv a .count{color:#ccc}
#page-search-goods .attribute .attr-bottom{ height:35px; position:relative;}
#page-search-goods .attribute .attr-bottom ins{border:#ebe4de 1px solid;height:3px;font-size:0; display:block;background:#efebea}

#page-search-goods .attribute .attr-bottom b{cursor:pointer; z-index:99; position:absolute; display:block; width:70px; height:18px;border:#e6e2e1 1px solid; background:#efeceb;border-top:0;top:3px; right:0;font-size:15;font-weight:normal;color:#806F66; padding-left:15px;*padding-top:2px;}
#page-search-goods .attribute .attr-bottom b i{width:10px; height:15px; display:block; background:url(../images/T1U_vGXjdaXXckL6Z0-130-130.png) -82px -5px; position:absolute;top:2px;right:8px;}
#page-search-goods .attribute .attr-bottom b.hide-more i{ background-position:-105px -5px;}

#page-search-goods .glist{ background:#fff;}
#page-search-goods .glist .goods-has{margin-bottom:20px;}
#page-search-goods .list-sort{margin-bottom:10px; line-height:22px;color:#666; background:#fff;}
#page-search-goods .list-sort form{border:1px #ddd solid;padding:6px; height:25px}
#page-search-goods .list-sort-fixed{position:fixed;top:0;}
#page-search-goods .goods-empty{border:1px #f60 solid;font-weight:bold;font-size:14px; background:#F3E8CD;color:#f60;}
#page-search-goods .display_mod a{border:#ccc 1px solid;padding-left:15px;width:30px;height:22px; display:inline-block; position:relative;float:left; background:#fff;}

#page-search-goods .display_mod a.qh-squares{border-left:0;}
#page-search-goods .display_mod a i{background:url(../images/T1U_vGXjdaXXckL6Z0-130-130.png) no-repeat 9999px 9999px;width:9px; height:9px; display:inline-block; overflow:hidden; position:absolute;top:7px; left:3px;}
#page-search-goods .display_mod a.qh-list i{background-position:-11px -34px;}
#page-search-goods .display_mod a.qh-list:hover i{background-position:0 -34px}
#page-search-goods .display_mod a.qh-squares i{background-position:-39px 0}
#page-search-goods .display_mod a.qh-squares:hover i{background-position:-28px 0}

#page-search-goods .display_mod a.filter-list-cur,
#page-search-goods .display_mod a.filter-squares-cur{ background:#F1EDEC;color:#B10000;}
#page-search-goods .display_mod a.filter-list-cur i{background-position:0 -34px}
#page-search-goods .display_mod a.filter-squares-cur i{background-position:-28px 0}

#page-search-goods .glist .price em,
#page-search-goods .recommend .price em{ background:url(../images/T1ebamXel5XXXXXXXX-20-2400.png) -5px -80px no-repeat;padding-left:16px;color:#EE3000; font:bold 16px Arial;}
#page-search-goods .recommend .price span,
#page-search-goods .glist .price span{color:#666666}
#page-search-goods .recommend .price span b,
#page-search-goods .glist .price span b{font-weight:normal}
#page-search-goods .glist dl .storeinfo h3,
#page-search-goods .recommend storeinfo h3{float:left;color:#666;font-weight:normal;}
#page-search-goods .glist dl .storeinfo h3 a,
#page-search-goods .recommend storeinfo h3 a{}
#page-search-goods .glist dl .storeinfo span,
#page-search-goods .recommend storeinfo span{float:right;color:#666;font-weight:normal}

#page-search-goods .recommend .desc a,
#page-search-goods .glist .desc a{line-height:18px; display:block;height:36px;color:#2A2A2A}
#page-search-goods .recommend .desc a:hover,
#page-search-goods .glist .desc a:hover{color:#EE3000;}

#page-search-goods .glist dl{margin-bottom:10px;padding-bottom:17px;}

#page-search-goods .glist dt a,
#page-search-goods .recommend dt a{display:block;padding:4px;border:1px #EAEAEA solid;margin-bottom:5px;}
#page-search-goods .glist dt a:hover,
#page-search-goods .recommend dt a:hover{border:1px #CCCCCC solid;}

#page-search-goods .glist .squares dl{float:left;width:170px;height:260px;padding-left:14px; padding-right:14px;padding-top:10px;border-bottom:1px #e5e5e5 solid;}
#page-search-goods .glist .squares dl dd{width:168px;margin-top:5px;color:#666;}
#page-search-goods .glist .squares dl .sub-images{ height:36px;}
#page-search-goods .glist .squares dl:hover,
#page-search-goods .glist .squares .hover{border:2px #999999 solid; background:#FFF9E9;padding-left:12px;padding-right:12px;padding-top:8px; position:relative;border-bottom:1px #FFF9E9 solid; z-index:999}
#page-search-goods .glist .squares dl:hover .sub-images,
#page-search-goods .glist .squares .hover .sub-images{ display:block;}
#page-search-goods .glist .squares dl:hover .desc,
#page-search-goods .glist .squares .hover .desc{ display:none}
#page-search-goods .glist .squares dl:hover .storeinfo span,
#page-search-goods .glist .squares .hover .storeinfo span{ display:block}
#page-search-goods .glist .squares dl:hover .intro,
#page-search-goods .glist .squares .hover .intro{ display:block; position:absolute;left:-2px;bottom:-78px;width:168px; height:80px;border:2px #999999 solid;border-top:0; background:#FFF9E9; z-index:10;padding:0 13px 0 13px;}
#page-search-goods .glist .squares dl:hover .intro ul,
#page-search-goods .glist .squares .hover .intro ul{border:1px #A7CAED dashed; background:#fff;padding:5px;}
#page-search-goods .glist .squares dt img{width:160px; height:160px;}

#page-search-goods .glist .list .sub-images{ display:none}
#page-search-goods .glist .list dl{background:#fff;padding-right:0;border-bottom:1px #e5e5e5 solid;width:100%;padding-bottom:10px;}
#page-search-goods .glist .list dt,
#page-search-goods .glist .list dd{float:left;}
#page-search-goods .glist .list dt{ display:block; height:90px;}
#page-search-goods .glist .list dt img{width:80px; height:80px;}
#page-search-goods .glist .list .desc{margin-left:10px;width:300px; line-height:20px;}
#page-search-goods .glist .list .price{float:right;width:180px;padding-top:30px;padding-right:10px;}
#page-search-goods .glist .list .storeinfo{float:left;width:150px;padding-top:30px;}
#page-search-goods .glist .list .service{float:right;padding-top:30px;padding-right:10px;}

#page-search-goods .recommend{ clear:both;margin-top:20px;border:1px #ddd solid}
#page-search-goods .recommend .title{height:30px; line-height:30px;padding-left:40px;font-weight:bold;font-size:15px;color:#3e3e3e; position:relative;background:#F2F2F2}
#page-search-goods .recommend .title span{ display:inline-block; background:url(../images/T1xRWjXitCXXXXXXXX-260-720.png) -105px -248px;width:40px; height:40px; position:absolute;left:-1px;top:-2px;}
#page-search-goods .recommend .content{padding:11px;width:1176px;}
#page-search-goods .recommend dl{float:left;width:186px;padding-left:5px; padding-right:5px;}
#page-search-goods .recommend dt img{width:170px; height:170px;}
#page-search-goods .recommend .price span{ line-height:20px;}

/*********************************  以下为统一模板页面风格的样式代码,如果没有必要(除了修改宽度高度等),不要修改下面的代码 *******************/

/* search.store.html */
#page-search-store .search-by dl{width:1158px;padding:5px 20px;border-bottom:1px dotted #CCC;overflow:hidden;}
#page-search-store .search-by dl a{line-height:25px;}
#page-search-store .search-by dl dt{width:10%;margin-right:10px;}
#page-search-store .search-by dl dt a{font-weight:bold;color:#333;}
#page-search-store .search-by dl dd{width:84%;}
#page-search-store .search-by dl dd.show-more{width:5%;padding-top:5px;}
#page-search-store .search-by dl dd a{color:#666;margin-right:10px;white-space:nowrap;}
#page-search-store .search-by dl dd a:hover{color:#EE3000;}

#page-search-store .search-by dd.show-more h3{height:16px;line-height:16px;padding:0px 5px;width:60px;border: 1px solid #CCC;color: #666;background-position: 0 -1152px;background-image: url(../images/T1MBVHXjdeXXXXXXXX.png); background-repeat: repeat-x;_padding:0 2px;font-weight:normal}
#page-search-store .search-by dd.show-more h3 i{display:block;float:left;margin-top:4px;_margin-top:2px;width: 8px;height: 8px;background: url(../images/T1ebamXel5XXXXXXXX-20-2400.png) no-repeat scroll 0 -1497px transparent; _background-position:2px -1497px;}

#page-search-store .sort-type{ position:relative; z-index:90; height:25px;}
#page-search-store .sort-type .select-param{float:left;margin-right:10px;display:block;padding:0px 32px 0px 15px;height:22px;line-height:22px;position:relative;background: -moz-linear-gradient(50% 0,white,#F1F1F1);border:1px solid #CCC;background: -webkit-gradient(linear,0 0,0 100%,from(white),to(#F1F1F1));background: -moz-linear-gradient(50% 0,white,#F1F1F1);}
#page-search-store .sort-type .select-param span{position:absolute;display:block;right: 0;top: 0px;height:22px;width: 15px;border-left: 1px solid #ddd;}
#page-search-store .sort-type .select-param span i{width: 0;height: 0;line-height: 0;position: absolute;left: 49%;margin-left: -4px;top: 50%;margin-top: -1px;border-color: #A6A6A6 #F3F3F3 white #F3F3F3;border-width: 4px 4px 0 4px;border-style: solid;}
#page-search-store .sort-type .select-param .tan{border: 1px solid #CCC;border-top:0px;position:absolute;top:23px;left:-1px;width:100%;background: #F8F8F8;display:none;}
#page-search-store .sort-type .select-param:hover .tan{display:block;}
#page-search-store .sort-type .select-param .tan li {width:100%;line-height:23px;text-indent:15px; cursor:pointer}
#page-search-store .sort-type .select-param:hover .tan li{color:#333;}
#page-search-store .sort-type .select-param .tan li:hover{background:#E4E4E4;}

#page-search-store .list-fields li .store-info{ line-height:20px;width:100%;}
#page-search-store .list-fields li span{line-height:26px;font-size:12px;}
#page-search-store .list-fields li{border-bottom: 1px solid  #E4E4E4;}
#page-search-store .list-fields li .row_1{margin-right:20px;}
#page-search-store .list-fields li .row_2{width:500px;margin-right:20px;}
#page-search-store .list-fields li .row_3{width:200px;margin-right:20px; line-height:25px;}
#page-search-store .list-fields li .row_4{width:200px;margin-right:20px;line-height:80px;}
#page-search-store .list-fields li .row_5{width:120px;line-height:25px;}
#page-search-store .list-fields li .row_2 h2 a{font-weight:bold;font-size:14px;}
#page-search-store .list-fields li .row_2 .mainbussiness{width:100%; height:40px;overflow:hidden; line-height:20px;}
#page-search-store .list-fields li .row_2 .mainbussiness a{color:#808080;}
#page-search-store .list-fields li .row_2 .mainbussiness a:hover{color:#EE3000; text-decoration:underline}
#page-search-store .list-fields li .row_3 b{font-weight:bold;color:#EE3000;padding:0px 3px;}
#page-search-store .list-fields li .row_3 a{display:block;height:18px; line-height:18px;width:90px;background-image:url(../images/T1jq6YXalbXXX0gjHb-99-1013.png);background-repeat: no-repeat;cursor:pointer;}
#page-search-store .list-fields li .row_3 .expand{background-position: 75px -557px; *background-position:75px -559px;}
#page-search-store .list-fields li .row_3 .fold{background-position: 75px -539px;*background-position:75px -541px;}

#page-search-store .list-fields li .store-goods{width:1078px;border:1px solid #E4E4E4; position:relative;background: #F8F8F8; margin-left:100px;}
#page-search-store .list-fields li .store-goods b{display:block;position:absolute;top:-10px;left:541px;width:18px;height:10px;background:url(../images/arrow.gif) no-repeat;}
#page-search-store .list-fields li .store-goods .prev{display:block;height:60px;width: 20px;background: url(../images/T1jq6YXalbXXX0gjHb-99-1013.png) no-repeat 5px -285px;position:absolute;left:10px;top:80px;}
#page-search-store .list-fields li .store-goods .prev:hover{background-position:5px -385px;}
#page-search-store .list-fields li .store-goods .next{display:block;height:60px;width: 20px;background: url(../images/T1jq6YXalbXXX0gjHb-99-1013.png) no-repeat 5px -335px;position:absolute;right:10px;top:80px;}
#page-search-store .list-fields li .store-goods .next:hover{background-position:5px -435px;}

#page-search-store .list-fields li .store-goods .scroller{margin:10px 40px 10px 40px;width:1000px;height:225px; text-align:center; overflow:hidden}
#page-search-store .list-fields li .store-goods .ks-switchable-content{left:0;top:0;}
#page-search-store .list-fields li .store-goods .each{width:1000px; height:225px;}
#page-search-store .list-fields li .store-goods dl{float:left;width:160px;padding:0px 20px 0 20px;}
#page-search-store .list-fields li .store-goods .ks-switchable-nav{display:none;}
#page-search-store .list-fields li .store-goods dl dd .desc{height:40px;overflow:hidden;}
#page-search-store .list-fields li .store-goods dl dd .desc a{line-height:20px;color:#808080;}
#page-search-store .list-fields li .store-goods dl dd .desc a:hover{text-decoration:underline;color:#EE3000;}
#page-search-store .list-fields li .store-goods dl dd .price span{font-size:14px;font-weight:bold;font-family:Arial, Helvetica, sans-serif;color:#EE3000;}

#page-search-groupbuy .search-by{border:1px solid #D7D7D7;}
#page-search-groupbuy .search-by ul li{padding:5px 0px;border-bottom:1px dashed #D7D7D7;width:1198px;}
#page-search-groupbuy .search-by ul li h3{float:left;white-space: nowrap;font-size:12px;color: #333;margin-right:20px;font-weight:bold;background: url(../images/index_sprites.gif) -246px -9px no-repeat;padding:3px 10px 3px 0px;margin-left:20px;}
#page-search-groupbuy .search-by ul li a{float:left;display:block;font-size: 12px;margin-right:10px;color:#333;padding:3px 5px;}
#page-search-groupbuy .search-by ul li a:hover{background:#FEDED8;color:#780C00;}
#page-search-groupbuy .search-by ul li a.act{background:#C00;color:#FFF;}
#page-search-groupbuy .search-by ul li input{height:21px;width:150px;border:1px solid #D7D7D7;}
#page-search-groupbuy .search-by ul li button{height:23px;width:50px;margin-left:5px;}

#page-search-groupbuy .group-list ul{width:100%;padding-top:10px;padding-bottom:10px;}
#page-search-groupbuy .group-list li{float:left;width:286px;position:relative;border:1px #ccc solid;margin-right:16px;_margin-right:13px;_margin-bottom:20px;}
#page-search-groupbuy .group-list li:hover,#page-search-groupbuy .group-list .hover{border:1px #EE3000 solid}
#page-search-groupbuy .group-list .rec_ico{background:url(../images/group_rec.gif) no-repeat;width:40px; height:40px; position:absolute;right:-1px;top:-1px;}
#page-search-groupbuy .group-list .desc{padding:8px; height:40px; line-height:20px; overflow:hidden}
#page-search-groupbuy .group-list .desc a{font-size:14px;font-weight:bold;color:#333}
#page-search-groupbuy .group-list .desc a:hover{color:#EE3000; text-decoration:underline}
#page-search-groupbuy .group-list .pic{padding:9px;padding-top:0;}
#page-search-groupbuy .group-list .pic img{width:270px;height:200px;}
#page-search-groupbuy .group-list .buy{ background:#EE3000; height:35px; font-weight:bold;line-height:35px;text-align:left;padding-left:10px; position:relative;color:#fff;font-size:16px}
#page-search-groupbuy .group-list .buy .price{ font-family:Arial; font-weight:bold;font-size:26px;color:#fff;margin-right:20px;}
#page-search-groupbuy .group-list .buy a{ display:inline-block; position:absolute;right:10px;top:2px; background:url(../images/index_sprite.gif) no-repeat;width:75px; height:30px; overflow:hidden}
#page-search-groupbuy .group-list .extra{ height:40px; line-height:40px; position:relative; overflow:hidden}
#page-search-groupbuy .group-list .extra .gray-bg{ position:absolute;right:0;bottom:-13px;width:125px; height:12px; background:url(../images/index_sprites.gif) no-repeat right bottom; overflow:hidden;}
#page-search-groupbuy .group-list .extra span{margin-left:8px;}
#page-search-groupbuy .group-list .extra strong{color:#527A18;font-size:16px;margin-right:2px;}
#page-search-groupbuy .group-list .extra b{font-size:16px;color:#EE3000;margin-right:2px;}

/* login .html, member.register.html common css */
#page-login,
#page-register,
#page-find-password{}

.login-register .logo{text-align:left;}
.login-register .col-main{width:58%;overflow:hidden; }
.login-register .col-sub{float:right;width:400px;color:#666;}
.login-register .col-sub .form{border:1px #ccc solid;padding-bottom:20px;padding-top:10px;}
.login-register .col-sub .form .title{text-align:left;padding:5px;font-size:16px;font-weight:bold;padding-left:40px;margin:0 0 15px 0;}
.login-register .col-sub .form .content{width:400px}
.login-register .col-sub .form dl{width:350px; height:55px;}
.login-register .col-sub .form dt,
.login-register .col-sub .form dd{float:left; line-height:22px;}
.login-register .col-sub .form dt{width:80px; text-align:right;font-size:12px;padding-right:10px; line-height:26px;}
.login-register .col-sub .form dd .input{border:1px #ccc solid;height:22px; line-height:22px;width:245px;}
.login-register .col-sub .form dd .input.focus{border:1px #efa100 solid;}
.login-register .col-sub .form dd .input.hover{border:1px #78B9D9 solid;}
.login-register .col-sub .form .captcha input{width:65px;margin-right:4px;}
.login-register .col-sub .form .captcha a{display:inline-block; line-height:26px; height:26px;margin-left:5px; color:#666;width:85px;}
.login-register .col-sub .form .validate_right{color:#099;margin-left:3px;}
.login-register .col-sub .form label{font-size:12px;margin-left:2px;color:red;height:18px; display:inline-block}

.login-register .login-submit,
.login-register .register-submit,
.login-register .fp-submit{font-weight:bold;font-size:14px;color:#fff;background:url(../images/R1CCRNXmRFXXXXXXXX.png) no-repeat scroll 0px -56px;width: 98px;height: 34px;cursor: pointer;margin-right:10px;border:0 !important;}
.login-register .login-submit:hover,
.login-register .register-submit:hover,
.login-register .fp-submit:hover{ background-position:0 -90px;}

/* login */
#page-login{}
#page-login .find-password{height:30px; line-height:30px;color:#0081EF}
#page-login .register-now a{color:#3566CF;font-weight:600;line-height:26px;color: #555;background: #fff url(../images/R1CCRNXmRFXXXXXXXX.png) no-repeat scroll -98px -56px;text-align: center;display:inline-block;width: 50px;height: 26px;margin: 0 6px;}

#page-login .partner-login{padding:12px 0px;border-top:1px dashed #ddd;}
#page-login .partner-login h3{font-weight:normal;font-size:12px;padding-bottom:12px;margin-left:90px;color:#999;}
#page-login .partner-login p{margin-left:90px;}
#page-login .partner-login p .qq-login{width:78px;height:28px;background:url(../images/R1CCRNXmRFXXXXXXXX.png) no-repeat;background-position: -88px 0px;display:inline-block;margin-right:10px;}
#page-login .partner-login p .weibo-login{width:88px;height:28px;background:url(../images/R1CCRNXmRFXXXXXXXX.png) no-repeat;background-position: -166px 0px;display:inline-block;}
#page-login .partner-login p .qq-login:hover{background-position: -88px -28px;}
#page-login .partner-login p .weibo-login:hover{background-position: -166px -28px;}

/* find_password.html */
#page-find-password{}
#page-find-password .form dl{margin-left:20px;}

/* register */
#page-register{}
#page-register form .agree-checkbox{border:0;width:15px;height:15px;}
#page-register form .mall-eula a,
#page-register .col-main .find-password{color:#0081EF}
#page-register .col-main .login-field-btn{font-weight:600;line-height:26px;color: #555;background: white url(../images/R1CCRNXmRFXXXXXXXX.png) no-repeat scroll -98px -56px;text-align: center;display:inline-block;width:50px;height: 26px;margin: 0 6px;}
#page-register .col-main ul{width:760px;border-bottom:dashed 1px #E7E7E7;}
#page-register .col-main ul li{font-size:14px;line-height:48px;display: block;width:40%;height:48px;float:left;padding: 0 0 12px 0;margin:30px 0 20px 0;}
#page-register .col-main ul li i{display: inline-block;background: url(../images/R1CCRNXmRFXXXXXXXX.png) no-repeat scroll;vertical-align: middle;width: 48px;height: 48px;margin-right: 10px;}
#page-register .col-main ul .icon_1 i{background-position: -304px -48px;}
#page-register .col-main ul .icon_2 i{background-position: -256px -48px;}
#page-register .col-main ul .icon_3 i{background-position: -352px -0px;}
#page-register .col-main ul .icon_4 i{background-position: -304px -0px;}
#page-register .col-main ul .icon_5 i{background-position: -352px -48px;}
#page-register .col-main ul .icon_6 i{background-position: -256px -48px;}
#page-register .col-main h4{font-size: 14px;font-weight: 700;color: #555;line-height: 30px;margin-top:20px;margin-bottom: 20px;}

/* article */
#page-article .location{border:1px #ddd solid;padding:8px;}
#page-article .title{font-weight:bold;font-size:14px;color:#3e3e3e;}
#page-article .content{padding:10px; line-height:25px;}
#page-article a{font-size:14px}
#page-article .col-sub{float:left;width:200px;}
#page-article .col-sub .title{padding-left:10px;border:1px #EFD5BA solid;border-bottom:0; background:url(../images/title_bg_help.png) repeat-x; height:31px; line-height:30px;}
#page-article .col-sub .content{border:1px #EFD5BA solid;border-top:0;}
#page-article .col-main{float:right;width:990px;}
#page-article .col-main .title{font-weight:normal;font-size:12px; height:33px; overflow:hidden}
#page-article .col-main .title a{font-size:12px;}
#page-article .col-main .content{border:1px #ddd solid;border-top:0;margin-bottom:20px;}
#page-article .col-main .content li b{display:inline-block;background:url(../images/point_list.png) no-repeat;width:3px; height:3px;margin:5px; overflow:hidden;}
#page-article .col-main .content li a:hover{ text-decoration:underline}
#page-article .col-main .content span{color:#999;margin-left:10px;}

#page-article .article-info{ text-align:center}
#page-article .article-info h1{font-size:16px;color:#666;}
#page-article .article-info h2{color:#999;font-weight:normal;}
#page-article .more-article h3{font-weight:normal;}
#page-article .more-article a{font-size:12px}

#page-category .title{border-bottom:2px #EE3000 solid;padding-left:10px;}
#page-category .title a{display:inline-block;background:url(../images/shop_nav.gif) right -25px; height:25px; line-height:25px; cursor:pointer}
#page-category .title a:hover{color:#EE3000; text-decoration:none}
#page-category .title a span{display:inline-block;background:url(../images/shop_nav.gif) 0 0; height:25px;padding-left:15px;padding-right:15px;}
#page-category .title a.active { background-position: right -75px;color:#fff;font-weight:bold}
#page-category .title a.active:hover{color:#fff;}
#page-category .title a.active span{ background-position:0 -50px;}

#page-category dl{ line-height:25px;}
#page-category dl dt{ background:#F7F9FC;padding-left:10px;}
#page-category dl dt,
#page-category dl dd{border:1px #E1E7F5 solid;}
#page-category dl dd{border-top:0;padding:10px;}
#page-category dl dd a{ margin-right:10px; display:inline-block}

/* brand.index.html */

#page-brand .content{width:1180px;padding:9px;text-align:left;}
#page-brand .content dl{margin:8px; text-align:center; _display:inline; height:75px; overflow:hidden}
#page-brand .content dl .pic{width:100px; height:50px; border:1px #ddd solid;}
#page-brand .content dl .desc{margin-top:5px;}
#page-brand .content dl img{ display:block}

/* apply.step.html */

#page-apply .title{border:1px #ddd solid}
#page-apply .content dl{width:99%;border-bottom:1px #ddd solid;padding-bottom:10px;}
#page-apply .content dt{margin-top:30px;width:9%;}
#page-apply .content dd{padding-left:25px;width:20%}
#page-apply .content dd span{color:#f60}
#page-apply .content .btn-apply{margin-top:30px;margin-left:30px; display:inline-block;background:url(../images/03.png) 100% 0%; width:128px; height:37px; line-height:37px; border:0;}
#page-apply .content .btn-apply:hover{color:#fff;}

#page-apply .apply2 form{padding-left:30px;}
#page-apply .apply2 .field_notice{color:#999}
#page-apply .apply2 .fontColor3,
#page-apply .padding3{color:red;}
#page-apply .apply2 .validate_right{color:#099}
#page-apply .apply2 form th{font-weight:normal;}
#page-apply .apply2 form .warning a{color:#0092D2; display:inline-block;padding-left:2px;paddding-right:2px;}

/*********************************  以上为统一模板页面风格的样式代码,如果没有必要(除了修改宽度高度等),不要修改上面的代码 *******************/

/*********************************  以下为购物车到交易完成结束的页面代码,如果没有必要(除了修改宽度高度等),不要修改下面的代码 *******************/

/* cart.empty */
#page-cart{}
.empty-notice{margin-top:80px;margin-bottom:80px;}
.empty-notice .empty-ico,.empty-notice .empty-text{float:left;}
.empty-notice .empty-ico{ background:url(../images/cart_empty.png) no-repeat; width:83px; height:93px; margin-right:50px;margin-left:50px;}
.empty-notice .empty-text{ line-height:25px;margin-top:20px;}
.empty-notice .empty-text a{color:#0033CC; text-decoration:none}

.cartbox .title{ background:url(../images/03.png) 0 -203px; height:37px; overflow:hidden}
.cartbox .title span{float:left;width:195px; text-align:center; display:inline-block; line-height:35px;}
.cartbox .title span.sellect-all{text-align:left;padding-left:11px;}
.cartbox .title span.col-desc{width:200px; text-align:left}
#page-order .cartbox .title span.col-desc{width:380px; text-align:center}

.cartbox .store-each .store-name{border-bottom:1px #BAD8FA solid}

.cartbox .goods-each{border:1px #BAD8FA solid;border-top:0;padding:5px;width:99%;}
.cartbox .goods-each .select{line-height:48px;_padding-top:10px; _display:inline}
.cartbox .goods-each dd{float:left;margin:5px;}
.cartbox .goods-each dd.desc p{width:300px; line-height:16px; height:32px;}
.cartbox .goods-each dd.desc a,
.cartbox .goods-each dd.handle a,
.cartbox .store-each .store-name a{color:#0033CC; text-decoration:none}
.cartbox .goods-each dd.price,
.cartbox .goods-each dd.quantity,
.cartbox .goods-each dd.subtotal,
.cartbox .goods-each dd.handle{line-height:48px;width:185px;color:#3e3e3e; text-align:center}
.cartbox .goods-each dd.pic{border:1px #ddd solid}
.cartbox .goods-each dd.price{}
.cartbox .goods-each dd.quantity{}
.cartbox .goods-each dd.subtotal{color:#BD0000;}
.cartbox .goods-each dd.handle{line-height:24px;}

.cartbox .goods-each dd.quantity input{border:1px #ddd solid;width:50px; text-align:center}
.cartbox .goods-each dd.quantity img{ cursor:pointer}
.cartbox .store-each .cart-amount{border-top:1px #ddd solid;border-bottom:1px #ddd solid}
.cartbox .store-each .cart-amount .price{color:#BD0000;font-size:20px;}
.cartbox .store-each .cart-amount .btn{ background:url(../images/T1JXrIXoXkXXa.AtHl-250-270.png) no-repeat;width:125px; height:35px; line-height:35px; display:inline-block; text-decoration:none; text-align:center;}
.cartbox .store-each .cart-amount .btn:hover{color:#fff;}
.cartbox .store-each .cart-amount .back{color:#0033CC; text-decoration:none}

.cartbox .store-each .btn-batch{float:left;}
.cartbox .store-each .btn-amount{float:right; text-align:right}
.cartbox .store-each .btn-amount strong{ vertical-align:middle}
.cartbox .store-each .btn-batch a{margin-right:10px;display:inline-block;width:71px; height:26px; background:url(../images/03.png) -154px -41px; line-height:26px;padding-left:0; text-decoration:none;color:#666; text-align:center}

.interest{ position:relative}
.interest .title{border:1px #ddd solid;padding:5px;color:#666;}
.interest .arr{width:8px; height:8px;position:absolute;left:0;_left:-5px;top:0;background:url(../images/02.png) 0 -275px;}
.interest .content{width:1168px;padding:15px;border:1px #ddd solid;border-top:0;}
.interest .content dl{width:170px;padding-left:12px;padding-right:12px;}
.interest .content dt a{ display:block;border:1px #EAEAEA solid;padding:4px}
.interest .content dt a:hover{border:1px #ccc solid}

.interest .content .price em{ background:url(../images/T1ebamXel5XXXXXXXX-20-2400.png) -5px -81px no-repeat;padding-left:16px;color:#EE3000; font:bold 16px Arial;float:left;}
.interest .content .price span{float:right; line-height:20px;color:#404040;}

.interest .content .desc{ height:40px; overflow:hidden;margin-bottom:5px;}
.interest .content .desc a{color:#3366CC; line-height:18px; display:block; height:40px;margin-top:5px;}
.interest .content .desc a:hover{color:#EE3000}

/* order.shipping.html*/
#select-address .title{border-bottom:1px #ddd solid; line-height:30px;}
#select-address .title a{color:#0033CC; text-decoration:none;}
#select-address dl{padding:5px 0 5px 0; cursor:pointer;width:100%;}
#select-address dl.selected_address{ background:#FFF4E0;border:1px #FFB482 solid;width:99.8%;}
.newaddressform .fill_in_content{margin-left:25px;border:1px #DEE9F1 solid;padding:20px;}
.newaddressform .fill_in_content li{height:30px; line-height:30px; clear:both}
.newaddressform .fill_in_content input{border:1px #829FBB solid}
#select-address .field_notice { color:#9C9C9C; margin-left:5px;}
#select-address .red { color:red; border:0px; background-color:#FFFFFF; }
#select-address label.error { color:red; margin-left:5px;  font-style:italic}
#select-address input.error { border:red 1px dotted; }
#select-address label.checking { padding-left:18px; background:transparent url(../images/checking.gif) no-repeat; margin-left:5px; font-style:italic; color:#9C9C9C; display:none; }
#select-address label.validate_right { padding-left:12px; background:transparent url(../images/right.gif) no-repeat; margin-left:5px; font-style:italic; color:green; float:none;}

#select-shipping .title{border-bottom:1px #ddd solid; line-height:30px;}

/* order.postscript.html */
#postscript .title{padding-top:5px;}
#postscript textarea{border:1px #7F9DB9 solid;width:400px; height:18px; line-height:18px;font-size:12px}

.price-notice{border-top:1px #ddd solid; text-align:right;border-bottom:1px #ddd solid}

/* order.amount.html */
.price-promotion{ text-align:right; background:#F2F7FF;border-top:1px #80B2FF dashed; border-bottom:1px #80B2FF dashed}
.price-promotion p .btn-allow-coupon{ width:92px; height:20px; line-height:20px; background:url(../images/03.png) -128px -178px;border:0; cursor:pointer}
.price-promotion .allow-coupon{text-align:left;width:98%; text-align:right;}
.price-promotion .allow-coupon .note{float:right; display:inline-block;color:#0033CC; line-height:20px;}
.price-promotion .allow-coupon .note a{color:#EE3000; text-decoration:none}
.price-promotion .allow-coupon .note a:hover{}
.price-promotion .allow-coupon select{float:right;}

.make_sure{text-align:right;border:1px #cccccc solid; background:#f3f3f3;}
.make_sure strong{ font-weight:bold; font-size:20px; color:#BD0000;}
.make_sure .back{ display:inline-block;color:#0033CC; text-decoration:none}
.make_sure .btn-step{background:url(../images/T1JXrIXoXkXXa.AtHl-250-270.png) no-repeat;width:125px; height:35px; line-height:35px; display:inline-block; text-decoration:none; text-align:center;}
.make_sure .btn-step:hover{color:#fff;}

.cashier .order_info{border:1px #BBDDAA solid;padding:30px 0 20px 50px;height:91px;}
.cashier .order_info .ico{float:left; background:url(../images/05.png); width:54px; height:91px;}
.cashier .order_info .text{float:left;margin-left:30px; line-height:25px;}
.cashier .order_info .text span{font-size:20px}
.cashier .order_info .text a{color:#0033CC; text-decoration:none}
.cashier .buy .defray{width:968px; line-height:47px;}
.cashier .buy .defray .radio{margin-top:15px;}
.cashier .buy .defray dd{width:968px;}
.cashier .buy .defray dd p{margin-left:20px;}
.cashier .buy .defray .logo{ display:inline-block; border:1px #ddd solid;width:125px; height:47px; text-align:center}

.payform{border:1px #ddd solid}
.payform .title{border-bottom:1px #ddd solid}
.payform .btn-step{background:url(../images/T1JXrIXoXkXXa.AtHl-250-270.png) no-repeat;width:125px; height:35px; line-height:35px; display:inline-block; text-decoration:none; text-align:center;border:0; cursor:pointer}

/*支付成功*/
.succeed { width: 400px; height: 120px; padding-left: 150px; margin: 80px auto; background: url(../images/succeed.gif) no-repeat; }
.succeed h4 { font-size: 20px; font-family: "微软雅黑"; margin-bottom: 8px; }
.succeed p { color: #7a7a7a; margin-bottom: 18px; }
.succeed p a { color: #285bd1; }
.succeed p a:hover { color: red; }
.succeed .btn a { display: block; width: 147px; height: 39px; background: url(../images/btn.gif) 0 -109px; }

/*网银*/

.bank-list dd,.bank-list ul{width:600px;margin-bottom:2px;*margin-bottom:10px;}
.bank-list li{float:left;/*width:163px;*/margin-right:18px; height:36px;margin-bottom:10px; text-align:center; line-height:34px;}
.bank-list li input{float:left;margin-top:10px;margin-right:5px;*margin-right:0px;}
.bank-list li label{border:1px #ddd solid; display:inline-block;width:140px; position:relative}
.bank-list .renewedly{float:left;margin-left:2px;}
.bank-list input[name="captcha"]{float:left;width:80px;}
.icon-cashier{ display:block; height:36px; background-repeat:no-repeat; text-align:centertext-indent: -9999px; background-image: url(../images/member/combo.png);}
.icon-cashier .qiye{display:none; background:#D2EEF7; padding:0 3px; width:15px; height:100%; line-height:18px; position:absolute;top:0;right:0;}
.icon-cashier-ABC,.icon-cashier-ABCBTB {background-position: 0px 0px; }
.icon-cashier-BJBANK{background-position: 0px -36px;}
.icon-cashier-BJRCB{background-position: 0px -72px;}
.icon-cashier-BOC,.icon-cashier-BOCB2C,.icon-cashier-BOCBTB {background-position: 0px -108px; }
.icon-cashier-CCB,.icon-cashier-CCBBTB {background-position: 0px -144px; }
.icon-cashier-CDCB {background-position: 0px -180px;}
.icon-cashier-CEB,.icon-cashier-CEBBANK {background-position: 0px -216px; }
.icon-cashier-CIB {background-position: 0px -252px;}
.icon-cashier-CITIC {background-position: 0px -288px;}
.icon-cashier-CMB,.icon-cashier-CMBBTB {background-position: 0px -324px;}
.icon-cashier-CMBC { background-position: 0px -360px;}
.icon-cashier-COMM { background-position: 0px -396px;}
.icon-cashier-FDB { background-position: 0px -432px;}
.icon-cashier-GDB { background-position: 0px -468px;}
.icon-cashier-HZCB,.icon-cashier-HZCBB2C {background-position: 0px -504px; }
.icon-cashier-ICBC,.icon-cashier-ICBCB2C,.icon-cashier-ICBCBTB {background-position: 0px -540px; }
.icon-cashier-NBBANK { background-position: 0px -576px;}
.icon-cashier-PSBC,.icon-cashier-POSTGC { background-position: 0px -612px;}
/*.icon-cashier-SPABANK { background-position: 0px -648px;} */
.icon-cashier-SHBANK {  background-position: 0px -684px;}
.icon-cashier-SHRCB {background-position: 0px -720px;}
.icon-cashier-SPABANK {background-position: 0px -756px;}
.icon-cashier-SPDB,.icon-cashier-SPDBBTB { background-position: 0px -792px;}
.icon-cashier-WZCB,.icon-cashier-WZCBB2C-DEBIT {background-position: 0px -828px;}
.icon-cashier-HXBANK,.icon-cashier-HXBANKB2C {background-position: 0px -864px; }
.icon-cashier-alipay{background-position: 0px -900px;}
.icon-cashier-ICBCBTB .qiye,.icon-cashier-CCBBTB .qiye,.icon-cashier-ABCBTB .qiye,.icon-cashier-CMBBTB .qiye,.icon-cashier-BOCBTB .qiye,.icon-cashier-SPDBBTB .qiye{ display:block}

.bank-list li input {
float: left;
margin-top: 10px;
margin-right: 5px;
}

/*网银*/

.bank-list dd,.bank-list ul{width:600px;margin-bottom:2px;*margin-bottom:10px;}
.bank-list li{float:left;/*width:163px;*/margin-right:18px; height:36px;margin-bottom:10px; text-align:center; line-height:34px;}
.bank-list li input{float:left;margin-top:10px;margin-right:5px;*margin-right:0px;}
.bank-list li label{border:1px #ddd solid; display:inline-block;width:140px; position:relative}
.bank-list .renewedly{float:left;margin-left:2px;}
.bank-list input[name="captcha"]{float:left;width:80px;}
.icon-cashier{ display:block; height:36px; background-repeat:no-repeat; text-align:centertext-indent: -9999px; background-image: url(../images/member/combo.png);}
.icon-cashier .qiye{display:none; background:#D2EEF7; padding:0 3px; width:15px; height:100%; line-height:18px; position:absolute;top:0;right:0;}
.icon-cashier-ABC,.icon-cashier-ABCBTB {background-position: 0px 0px; }
.icon-cashier-BJBANK{background-position: 0px -36px;}
.icon-cashier-BJRCB{background-position: 0px -72px;}
.icon-cashier-BOC,.icon-cashier-BOCB2C,.icon-cashier-BOCBTB {background-position: 0px -108px; }
.icon-cashier-CCB,.icon-cashier-CCBBTB {background-position: 0px -144px; }
.icon-cashier-CDCB {background-position: 0px -180px;}
.icon-cashier-CEB,.icon-cashier-CEBBANK {background-position: 0px -216px; }
.icon-cashier-CIB {background-position: 0px -252px;}
.icon-cashier-CITIC {background-position: 0px -288px;}
.icon-cashier-CMB,.icon-cashier-CMBBTB {background-position: 0px -324px;}
.icon-cashier-CMBC { background-position: 0px -360px;}
.icon-cashier-COMM { background-position: 0px -396px;}
.icon-cashier-FDB { background-position: 0px -432px;}
.icon-cashier-GDB { background-position: 0px -468px;}
.icon-cashier-HZCB,.icon-cashier-HZCBB2C {background-position: 0px -504px; }
.icon-cashier-ICBC,.icon-cashier-ICBCB2C,.icon-cashier-ICBCBTB {background-position: 0px -540px; }
.icon-cashier-NBBANK { background-position: 0px -576px;}
.icon-cashier-PSBC,.icon-cashier-POSTGC { background-position: 0px -612px;}
/*.icon-cashier-SPABANK { background-position: 0px -648px;} */
.icon-cashier-SHBANK {  background-position: 0px -684px;}
.icon-cashier-SHRCB {background-position: 0px -720px;}
.icon-cashier-SPABANK {background-position: 0px -756px;}
.icon-cashier-SPDB,.icon-cashier-SPDBBTB { background-position: 0px -792px;}
.icon-cashier-WZCB,.icon-cashier-WZCBB2C-DEBIT {background-position: 0px -828px;}
.icon-cashier-HXBANK,.icon-cashier-HXBANKB2C {background-position: 0px -864px; }
.icon-cashier-alipay{background-position: 0px -900px;}
.icon-cashier-ICBCBTB .qiye,.icon-cashier-CCBBTB .qiye,.icon-cashier-ABCBTB .qiye,.icon-cashier-CMBBTB .qiye,.icon-cashier-BOCBTB .qiye,.icon-cashier-SPDBBTB .qiye{ display:block}

.bank-list li input {
float: left;
margin-top: 10px;
margin-right: 5px;
}

/*********************************  以上为购物车到交易完成结束的页面代码,如果没有必要(除了修改宽度高度等),不要修改上面的代码 ---- 结束 *******************/


text:
<?php
use kartik\grid\GridView;
use yii\data\ArrayDataProvider;

$dataProvider = new ArrayDataProvider([
    'allModels' => $model->busRouteHasBusRoutePoints,
    'key' => function ($model) {
        return ['bus_route_id' => $model->bus_route_id, 'bus_route_point_id' => $model->bus_route_point_id];
    }
]);
$gridColumns = [
    ['class' => 'yii\grid\SerialColumn'],
    [
        'attribute' => 'busRoute.name',
        'label' => Yii::t('app', 'Bus Route')
    ],
    'first_point',
    'end_point',
    'position',
    'date_point_forward',
    'time_pause:datetime',
    'date_point_reverse',
    'date_add',
    'date_edit',
    [
        'class' => 'yii\grid\ActionColumn',
        'controller' => 'bus-route-has-bus-route-point'
    ],
];

echo GridView::widget([
    'dataProvider' => $dataProvider,
    'columns' => $gridColumns,
    'containerOptions' => ['style' => 'overflow: auto'],
    'pjax' => true,
    'beforeHeader' => [
        [
            'options' => ['class' => 'skip-export']
        ]
    ],
    'export' => [
        'fontAwesome' => true
    ],
    'bordered' => true,
    'striped' => true,
    'condensed' => true,
    'responsive' => true,
    'hover' => true,
    'showPageSummary' => false,
    'persistResize' => false,
]);


text:
#ifndef GEOMETRY_POINTKDTREE_INCLUDED
#define GEOMETRY_POINTKDTREE_INCLUDED

#include <Misc/PoolAllocator.h>
#include <Geometry/Point.h>
#include <Geometry/ClosePointSet.h>

namespace Geometry {

template <class ScalarParam,int dimensionParam,class StoredPointParam>
class PointKdTree
	{
	/* Embedded classes: */
	public:
	typedef ScalarParam Scalar; // Scalar type used by points
	static const int dimension=dimensionParam; // Dimension of points and kd-tree
	typedef StoredPointParam StoredPoint; // Type of points stored in kd-tree (typically with some associated value)
	typedef Geometry::Point<ScalarParam,dimensionParam> Point; // Type for positions
	typedef Geometry::ClosePointSet<StoredPointParam> ClosePointSet; // Type for nearest neighbours query results

	struct TreeStats // Structure to report tree statistics
		{
		/* Elements: */
		public:
		int numNodes; // Total number of nodes (internal and exterior)
		int depth; // Depth of tree
		};

	private:
	struct Traversal // Structure to traverse kd-trees
		{
		/* Elements: */
		Point min,max; // Minimum and maximum extents of traversal box
		int splitDimension; // Next split dimension
		};

	struct Node
		{
		/* Elements: */
		public:
		static Misc::PoolAllocator<Node> nodeAllocator; // Memory allocator for nodes
		StoredPoint point; // Point stored in node
		Node* left; // Pointer to left child node
		Node* right; // Pointer to right child node

		/* Constructors and destructors: */
		Node(const StoredPoint& sPoint,Node* sLeft =0,Node* sRight =0) // Elementwise
			:point(sPoint),left(sLeft),right(sRight)
			{
			}
		Node(int numPoints,StoredPoint points[],int splitDimension,Scalar heap[]); // Creates sub-kd-tree for array of points; shuffles point array
		~Node(void) // Destroys node's subtree
			{
			delete left;
			delete right;
			}

		/* Methods: */
		void* operator new(size_t size)
			{
			return nodeAllocator.allocate();
			}
		void operator delete(void* pointer)
			{
			nodeAllocator.free(pointer);
			}

		void insertPoint(const StoredPoint& newPoint,int splitDimension); // Inserts a new point below this node
		TreeStats getTreeStatistics(void) const; // Returns tree statistics
		template <class TraversalFunctionParam>
		void traverseTree(TraversalFunctionParam& traversalFunction) const // Traverses subtree in prefix order and calls traversal function for each node
			{
			traversalFunction(point);
			if(left!=0)
				left->traverseTree(traversalFunction);
			if(right!=0)
				right->traverseTree(traversalFunction);
			}
		};

	struct QueueEntry
		{
		/* Elements: */
		public:
		const Node* node; // Current node
		Traversal traversal; // Box of current node
		Scalar minDist; // Minimum distance between node's box and query point

		/* Constructors and destructors: */
		QueueEntry(void)
			{
			}
		QueueEntry(const Node* sNode,const Traversal& sTraversal,const Point& queryPosition)
			:node(sNode),traversal(sTraversal),minDist(0)
			{
			/* Find the space region the point is in and calculate the minimum distance: */
			// Scalar d;
			for(int i=0;i<dimension;++i)
				{
				#if 1
				if(queryPosition[i]<traversal.min[i])
					{
					Scalar d=queryPosition[i]-traversal.min[i];
					minDist+=d*d;
					}
				else if(queryPosition[i]>traversal.max[i])
					{
					Scalar d=queryPosition[i]-traversal.max[i];
					minDist+=d*d;
					}
				#else
				if((d=traversal.min[i]-queryPosition[i])>Scalar(0))
					minDist+=d*d;
				else if((d=queryPosition[i]-traversal.max[i])>Scalar(0))
					minDist+=d*d;
				#endif
				}
			}

		/* Methods: */
		friend bool operator<=(const QueueEntry& qe1,const QueueEntry& qe2)
			{
			return qe1.minDist<=qe2.minDist;
			}
		};

	/* Elements: */
	Node* root; // Pointer to root node

	/* Constructors and destructors: */
	public:
	PointKdTree(void) // Creates an empty kd-tree
		:root(0)
		{
		}
	PointKdTree(int numPoints,StoredPoint points[]) // Creates balanced kd-tree from point array; shuffles point array in the process
		:root(0)
		{
		Scalar* heap=new Scalar[numPoints];
		root=new Node(numPoints,points,0,heap);
		delete[] heap;
		}
	~PointKdTree(void)
		{
		delete root;
		}

	/* Methods: */
	void setPoints(int numPoints,StoredPoint points[]) // Creates balanced kd-tree from point array; shuffles point array in the process
		{
		delete root;
		Scalar* heap=new Scalar[numPoints];
		root=new Node(numPoints,points,0,heap);
		delete[] heap;
		}
	void insertPoint(const StoredPoint& newPoint) // Inserts a new point into the kd-tree
		{
		if(root!=0)
			root->insertPoint(newPoint,0);
		else
			root=new Node(newPoint);
		}
	TreeStats getTreeStatistics(void) const; // Returns tree statistics
	template <class TraversalFunctionParam>
	void traverseTree(TraversalFunctionParam& traversalFunction) const // Traverses tree in prefix order and calls traversal function for each node
		{
		root->traverseTree(traversalFunction);
		}
	const StoredPoint& findClosePoint(const Point& queryPosition) const; // Returns a stored point that is close to the query position
	const StoredPoint& findClosestPoint(const Point& queryPosition) const; // Returns the stored point closest to the query position
	ClosePointSet& findClosestPoints(const Point& queryPosition,ClosePointSet& closestPoints) const; // Returns a set of closest points
	};

}

#if !defined(GEOMETRY_POINTKDTREE_IMPLEMENTATION)
#include <Geometry/PointKdTree.icpp>
#endif

#endif


text:
'use strict';

var chai = require('chai')
    , expect = chai.expect;

var ConstantsServiceModule = require('../../../../app/shared/services/constantsService.js');

describe('The ConstantsService\'s', function() {

    var ConstantsService;

    beforeEach(function() {
        ConstantsService = new ConstantsServiceModule();
    });

    describe('getResourceSchema', function() {
        it('should return a resources object', function() {
            var resources = ConstantsService.getResourceSchema();
            expect(resources).to.be.a('object');
            var i;
            for(i in resources) {
                var res = resources[i];
                expect(res).to.have.property('name');
                expect(res).to.have.property('baseAmount');
                expect(res).to.have.property('increaseAmounts');
                expect(res).to.have.property('decreaseAmounts');
                expect(res).to.have.property('timeToGather');
                expect(res).to.have.property('resourceKey');
                expect(res).to.have.property('gatherDescription');
            };
        });
    });

    describe('getResources', function() {
        it('should return resources with specific fields on it', function() {
            var resources = ConstantsService.getResources();
            expect(resources).to.be.a('object');
            var i;
            for(i in resources) {
                var res = resources[i];
                expect(res).to.have.property('amount');
                expect(res).to.have.property('description');
                expect(res).to.have.property('name');
                expect(res).to.have.property('resKey');
            };
        });
    });

    describe('getBuildingSchema', function() {
        it('should return a set of buildings with specific fields on each building', function() {
            var resources = ConstantsService.getBuildingSchema();
            expect(resources).to.be.a('object');
            for(var i in resources) {
                var res = resources[i];
                expect(res).to.have.property('name');
                expect(res).to.have.property("description");
                expect(res).to.have.property("resourceMultipliers");
                for(var m in res.resourceMultipliers) {
                    expect(res.resourceMultipliers[m]).to.be.a('number');
                }
            }
        });
    });

});


text:
using namespace std::chrono_literals;

class TestCreateSubscription : public ::testing::Test
{
public:
  void SetUp() override
  {
    rclcpp::init(0, nullptr);
  }

  void TearDown() override
  {
    rclcpp::shutdown();
  }
};

TEST_F(TestCreateSubscription, create) {
  auto node = std::make_shared<rclcpp::Node>("my_node", "/ns");
  const rclcpp::QoS qos(10);
  auto options = rclcpp::SubscriptionOptions();
  auto callback = [](test_msgs::msg::Empty::ConstSharedPtr) {};
  auto subscription =
    rclcpp::create_subscription<test_msgs::msg::Empty>(node, "topic_name", qos, callback, options);

  ASSERT_NE(nullptr, subscription);
  EXPECT_STREQ("/ns/topic_name", subscription->get_topic_name());
}

TEST_F(TestCreateSubscription, create_with_overriding_options) {
  auto node = std::make_shared<rclcpp::Node>("my_node", "/ns");
  const rclcpp::QoS qos(10);
  auto options = rclcpp::SubscriptionOptions();
  options.qos_overriding_options = rclcpp::QosOverridingOptions::with_default_policies();
  auto callback = [](test_msgs::msg::Empty::ConstSharedPtr) {};
  auto subscription =
    rclcpp::create_subscription<test_msgs::msg::Empty>(node, "topic_name", qos, callback, options);

  ASSERT_NE(nullptr, subscription);
  EXPECT_STREQ("/ns/topic_name", subscription->get_topic_name());
}

TEST_F(TestCreateSubscription, create_separated_node_topics_and_parameters) {
  auto node = std::make_shared<rclcpp::Node>("my_node", "/ns");
  const rclcpp::QoS qos(10);
  auto options = rclcpp::SubscriptionOptions();
  auto callback = [](test_msgs::msg::Empty::ConstSharedPtr) {};

  auto node_parameters = node->get_node_parameters_interface();
  auto node_topics = node->get_node_topics_interface();
  auto subscription = rclcpp::create_subscription<test_msgs::msg::Empty>(
    node_parameters, node_topics, "topic_name", qos, callback, options);

  ASSERT_NE(nullptr, subscription);
  EXPECT_STREQ("/ns/topic_name", subscription->get_topic_name());
}

TEST_F(TestCreateSubscription, create_with_statistics) {
  auto node = std::make_shared<rclcpp::Node>("my_node", "/ns");
  const rclcpp::QoS qos(10);
  auto options = rclcpp::SubscriptionOptions();
  options.topic_stats_options.state = rclcpp::TopicStatisticsState::Enable;
  options.topic_stats_options.publish_topic = "topic_statistics";
  options.topic_stats_options.publish_period = 5min;

  auto callback = [](test_msgs::msg::Empty::ConstSharedPtr) {};
  auto subscription =
    rclcpp::create_subscription<test_msgs::msg::Empty>(node, "topic_name", qos, callback, options);

  ASSERT_NE(nullptr, subscription);
  EXPECT_STREQ("/ns/topic_name", subscription->get_topic_name());
}


text:
<!DOCTYPE html >

  <title>Scratch</title>

  If you see black window and white text, scratch works!

This is heading

and this for subheading


text:
ACCEPTED

#### According to
The Catalogue of Life, 3rd January 2011

#### Published in
in Spaaij, Weber, Aoki & Van der Walt, J. gen. appl. Microbiol. , Tokyo 39(6): 522 (1993)

#### Original name
Myxozyma nipponensis Spaaij & G. Weber, 1993

### Remarks
null


text:
published: true
title: An intentional life
tags: life work
---
> By constraining your time, a full-time job limits the nature of experiences you can have. It imposes a schedule that your entire life has to fit around. Every decision involving time has to pass the "let me check with work" test. That means your time is not yours - you borrow it from your employer. - [Work Didn't Work](https://suketk.com/why-i-quit-google)

- [Building a vision of life without work](https://news.ycombinator.com/item?id=27821101)
- [La semaine prochaine, je démissionne !](https://www.vuibert.fr/ouvrage/9782311624465-la-semaine-prochaine-je-demissionne) - reflexion sur notre rapport au travail et sur la facon de l'envisager et de le vivre.

> Corporate jobs will always be there, but there's an expiration date on your dreams - [I took a 90% pay cut, here's why you should too](https://news.ycombinator.com/item?id=30071936)

<img src="https://suketk.com/assets/principles.svg">


text:
ALTER TABLE llx_contrat ADD UNIQUE INDEX uk_contrat_ref (ref, entity);

ALTER TABLE llx_contrat ADD INDEX idx_contrat_fk_soc (fk_soc);
ALTER TABLE llx_contrat ADD INDEX idx_contrat_fk_user_author (fk_user_author);

ALTER TABLE llx_contrat ADD CONSTRAINT fk_contrat_fk_soc FOREIGN KEY (fk_soc) REFERENCES llx_societe (rowid);
ALTER TABLE llx_contrat ADD CONSTRAINT fk_contrat_user_author FOREIGN KEY (fk_user_author) REFERENCES llx_user (rowid);


text:
package org.ovirt.mobile.movirt.provider;

import org.androidannotations.annotations.Bean;
import org.androidannotations.annotations.EBean;
import org.ovirt.mobile.movirt.auth.account.data.MovirtAccount;
import org.ovirt.mobile.movirt.model.Event;
import org.ovirt.mobile.movirt.util.message.MessageHelper;
import org.ovirt.mobile.movirt.util.preferences.SharedPreferencesHelper;

@EBean
public class EventProviderHelper {

    private MovirtAccount account;
    private SharedPreferencesHelper sharedPreferencesHelper;
    private MessageHelper messageHelper;

    @Bean
    ProviderFacade provider;

    public EventProviderHelper init(MovirtAccount account, SharedPreferencesHelper sharedPreferencesHelper, MessageHelper messageHelper) {
        this.account = account;
        this.sharedPreferencesHelper = sharedPreferencesHelper;
        this.messageHelper = messageHelper;
        return this;
    }

    public int deleteEvents() {
        return provider.query(Event.class)
                .where(OVirtContract.Event.ACCOUNT_ID, account.getId())
                .delete();
    }

    public void deleteTemporaryEvents() {
        provider.query(Event.class)
                .where(OVirtContract.Event.ACCOUNT_ID, account.getId())
                .where(OVirtContract.Event.TEMPORARY, "0", Relation.LARGER_THAN)
                .delete();
    }

    public void deleteOldEvents() {
        try {
            deleteEventsAndLetOnly(sharedPreferencesHelper.getMaxEventsStored());
        } catch (Exception e) {
            messageHelper.showError(e);
        }
    }

    private void deleteEventsAndLetOnly(int leave) {
        if (leave < 1) {
            deleteEvents();
            return;
        }

        Event event = provider.query(Event.class)
                .where(OVirtContract.Event.ACCOUNT_ID, account.getId())
                .orderByDescending(OVirtContract.Event.SHORT_ID)
                .limit(leave)
                .last();

        if (event != null) {
            provider.query(Event.class)
                    .where(OVirtContract.Event.ACCOUNT_ID, account.getId())
                    .where(OVirtContract.Event.SHORT_ID, event.getShortId(), Relation.LESS_THAN)
                    .delete();
        }
    }
}


text:
"""
Created on Fri Apr  3 17:22:13 2015

@author: lejoflores

PURPOSE: The purpose of this Python script is to demonstrate the use of a while
         loop by creating ordered pairs of air temperature in degrees C and
         the corresponding value of saturation vapor pressure in kPa.

         The code makes use of the Clausius-Clapeyron equation, equation 2.17
         from "Terrestrial Hydrometeorology" by Jim Shuttleworth.
"""

from math import exp

Tc  = -15.0 # Initial temperature
dTc = 0.5  # Air temperature increment

while Tc <= 45.0:
    esat = 0.6108*exp(17.27*Tc/(237.3 + Tc))
    print "Tc = %.2f deg. C, esat = %.3f kPa" % (Tc,esat)
    Tc += dTc


text:
#ifndef	_LINUX_FILE_H_
#define	_LINUX_FILE_H_

#include <sys/param.h>
#include <sys/file.h>
#include <sys/filedesc.h>
#include <sys/refcount.h>
#include <sys/proc.h>

#include <linux/fs.h>

struct linux_file;

#undef file

extern struct fileops linuxfileops;

static inline struct linux_file *
linux_fget(unsigned int fd)
{
	struct file *file;

	if (fget_unlocked(curthread->td_proc->p_fd, fd, NULL, 0, &file,
	    NULL) != 0) {
		return (NULL);
	}
	return (struct linux_file *)file->f_data;
}

static inline void
fput(struct linux_file *filp)
{
	if (filp->_file == NULL) {
		kfree(filp);
		return;
	}
	if (refcount_release(&filp->_file->f_count)) {
		_fdrop(filp->_file, curthread);
		kfree(filp);
	}
}

static inline void
put_unused_fd(unsigned int fd)
{
	struct file *file;

	if (fget_unlocked(curthread->td_proc->p_fd, fd, NULL, 0, &file,
	    NULL) != 0) {
		return;
	}
	/*
	 * NOTE: We should only get here when the "fd" has not been
	 * installed, so no need to free the associated Linux file
	 * structure.
	 */
	fdclose(curthread->td_proc->p_fd, file, fd, curthread);

	/* drop extra reference */
	fdrop(file, curthread);
}

static inline void
fd_install(unsigned int fd, struct linux_file *filp)
{
	struct file *file;

	if (fget_unlocked(curthread->td_proc->p_fd, fd, NULL, 0, &file,
	    NULL) != 0) {
		file = NULL;
	}
	filp->_file = file;
	finit(file, filp->f_mode, DTYPE_DEV, filp, &linuxfileops);

	/* drop the extra reference */
	fput(filp);
}

static inline int
get_unused_fd(void)
{
	struct file *file;
	int error;
	int fd;

	error = falloc(curthread, &file, &fd, 0);
	if (error)
		return -error;
	/* drop the extra reference */
	fdrop(file, curthread);
	return fd;
}

static inline struct linux_file *
alloc_file(int mode, const struct file_operations *fops)
{
	struct linux_file *filp;

	filp = kzalloc(sizeof(*filp), GFP_KERNEL);
	if (filp == NULL)
		return (NULL);
	filp->f_op = fops;
	filp->f_mode = mode;

	return filp;
}

struct fd {
	struct linux_file *linux_file;
};

static inline void fdput(struct fd fd)
{
	fput(fd.linux_file);
}

static inline struct fd fdget(unsigned int fd)
{
	struct linux_file *f = linux_fget(fd);
	return (struct fd){f};
}

#define	file	linux_file
#define	fget	linux_fget

#endif	/* _LINUX_FILE_H_ */