text:
/* disable some rules until we refactor more completely; fixing them now would
   cause conflicts with some open PRs unnecessarily. */
/* eslint react/jsx-sort-prop-types: 0, react/sort-comp: 0, react/prop-types: 0 */

var React = require('react');
var ReactDOM = require('react-dom');
var Input = require('react-input-autosize');
var classes = require('classnames');
var Value = require('./Value');
var SingleValue = require('./SingleValue');
var Option = require('./Option');

var requestId = 0;

var Select = React.createClass({

	displayName: 'Select',

	propTypes: {
		addLabelText: React.PropTypes.string,      // placeholder displayed when you want to add a label on a multi-value input
		allowCreate: React.PropTypes.bool,         // whether to allow creation of new entries
		alwaysOpen: React.PropTypes.bool,         // pass if dropdown should be always open
		asyncOptions: React.PropTypes.func,        // function to call to get options
		autoload: React.PropTypes.bool,            // whether to auto-load the default async options set
		backspaceRemoves: React.PropTypes.bool,    // whether backspace removes an item if there is no text input
		cacheAsyncResults: React.PropTypes.bool,   // whether to allow cache
		className: React.PropTypes.string,         // className for the outer element
		clearAllText: React.PropTypes.string,      // title for the "clear" control when multi: true
		clearValueText: React.PropTypes.string,    // title for the "clear" control
		clearable: React.PropTypes.bool,           // should it be possible to reset value
		delimiter: React.PropTypes.string,         // delimiter to use to join multiple values
		disabled: React.PropTypes.bool,            // whether the Select is disabled or not
		filterOption: React.PropTypes.func,        // method to filter a single option  (option, filterString)
		filterOptions: React.PropTypes.func,       // method to filter the options array: function ([options], filterString, [values])
		ignoreCase: React.PropTypes.bool,          // whether to perform case-insensitive filtering
		inputProps: React.PropTypes.object,        // custom attributes for the Input (in the Select-control) e.g: {'data-foo': 'bar'}
		isOpen: React.PropTypes.bool,
		isLoading: React.PropTypes.bool,           // whether the Select is loading externally or not (such as options being loaded)
		labelKey: React.PropTypes.string,          // path of the label value in option objects
		matchPos: React.PropTypes.string,          // (any|start) match the start or entire string when filtering
		matchProp: React.PropTypes.string,         // (any|label|value) which option property to filter on
		multi: React.PropTypes.bool,               // multi-value input
		name: React.PropTypes.string,              // field name, for hidden <input /> tag
		newOptionCreator: React.PropTypes.func,    // factory to create new options when allowCreate set
		noResultsText: React.PropTypes.string,     // placeholder displayed when there are no matching search results
		onBlur: React.PropTypes.func,              // onBlur handler: function (event) {}
		onChange: React.PropTypes.func,            // onChange handler: function (newValue) {}
		onFocus: React.PropTypes.func,             // onFocus handler: function (event) {}
		onInputChange: React.PropTypes.func,       // onInputChange handler: function (inputValue) {}
		onOptionLabelClick: React.PropTypes.func,  // onCLick handler for value labels: function (value, event) {}
		optionComponent: React.PropTypes.func,     // option component to render in dropdown
		optionRenderer: React.PropTypes.func,      // optionRenderer: function (option) {}
		options: React.PropTypes.array,            // array of options
		placeholder: React.PropTypes.string,       // field placeholder, displayed when there's no value
		searchable: React.PropTypes.bool,          // whether to enable searching feature or not
		searchingText: React.PropTypes.string,     // message to display whilst options are loading via asyncOptions
		searchPromptText: React.PropTypes.string,  // label to prompt for search input
		singleValueComponent: React.PropTypes.func,// single value component when multiple is set to false
		value: React.PropTypes.any,                // initial field value
		valueComponent: React.PropTypes.func,      // value component to render in multiple mode
		valueKey: React.PropTypes.string,          // path of the label value in option objects
		valueRenderer: React.PropTypes.func        // valueRenderer: function (option) {}
	},

	getDefaultProps () {
		return {
			addLabelText: 'Add "{label}"?',
			allowCreate: false,
			alwaysOpen: false,
			asyncOptions: undefined,
			autoload: true,
			backspaceRemoves: true,
			cacheAsyncResults: true,
			className: undefined,
			clearAllText: 'Clear all',
			clearValueText: 'Clear value',
			clearable: true,
			delimiter: ',',
			disabled: false,
			ignoreCase: true,
			inputProps: {},
			isOpen: false,
			isLoading: false,
			labelKey: 'label',
			matchPos: 'any',
			matchProp: 'any',
			name: undefined,
			newOptionCreator: undefined,
			noResultsText: 'No results found',
			onChange: undefined,
			onInputChange: undefined,
			onOptionLabelClick: undefined,
			optionComponent: Option,
			options: undefined,
			placeholder: 'Select...',
			searchable: true,
			searchingText: 'Searching...',
			searchPromptText: 'Type to search',
			singleValueComponent: SingleValue,
			value: undefined,
			valueComponent: Value,
			valueKey: 'value'
		};
	},

	getInitialState () {
		return {
			/*
			 * set by getStateFromValue on componentWillMount:
			 * - value
			 * - values
			 * - filteredOptions
			 * - inputValue
			 * - placeholder
			 * - focusedOption
			*/
			isFocused: false,
			isLoading: false,
			isOpen: this.props.isOpen || this.props.alwaysOpen,
			options: this.props.options
		};
	},

	componentWillMount () {
		this._optionsCache = {};
		this._optionsFilterString = '';
		this._closeMenuIfClickedOutside = (event) => {
			if (!this.state.isOpen || this.props.alwaysOpen) {
				return;
			}
			var menuElem = ReactDOM.findDOMNode(this.refs.selectMenuContainer);
			var controlElem = ReactDOM.findDOMNode(this.refs.control);

			var eventOccuredOutsideMenu = this.clickedOutsideElement(menuElem, event);
			var eventOccuredOutsideControl = this.clickedOutsideElement(controlElem, event);

			// Hide dropdown menu if click occurred outside of menu
			if (eventOccuredOutsideMenu && eventOccuredOutsideControl) {
				this.setState({
					isOpen: false
				}, this._unbindCloseMenuIfClickedOutside);
			}
		};
		this._bindCloseMenuIfClickedOutside = () => {
			if (!document.addEventListener && document.attachEvent) {
				document.attachEvent('onclick', this._closeMenuIfClickedOutside);
			} else {
				document.addEventListener('click', this._closeMenuIfClickedOutside);
			}
		};
		this._unbindCloseMenuIfClickedOutside = () => {
			if (!document.removeEventListener && document.detachEvent) {
				document.detachEvent('onclick', this._closeMenuIfClickedOutside);
			} else {
				document.removeEventListener('click', this._closeMenuIfClickedOutside);
			}
		};
		this.setState(this.getStateFromValue(this.props.value));
	},

	componentDidMount () {
		if (this.props.asyncOptions && this.props.autoload) {
			this.autoloadAsyncOptions();
		}
	},

	componentWillUnmount () {
		clearTimeout(this._blurTimeout);
		clearTimeout(this._focusTimeout);
		if (this.state.isOpen) {
			this._unbindCloseMenuIfClickedOutside();
		}
	},

	componentWillReceiveProps (newProps) {
		var optionsChanged = false;
		if (JSON.stringify(newProps.options) !== JSON.stringify(this.props.options)) {
			optionsChanged = true;
			this.setState({
				options: newProps.options,
				filteredOptions: this.filterOptions(newProps.options)
			});
		}
		if (newProps.value !== this.state.value || newProps.placeholder !== this.props.placeholder || optionsChanged) {
			var setState = (newState) => {
				this.setState(this.getStateFromValue(newProps.value,
					(newState && newState.options) || newProps.options,
					newProps.placeholder
				));
			};
			if (this.props.asyncOptions) {
				this.loadAsyncOptions(newProps.value, {}, setState);
			} else {
				setState();
			}
		}
	},

	componentDidUpdate () {
		if (!this.props.disabled && this._focusAfterUpdate) {
			clearTimeout(this._blurTimeout);
			clearTimeout(this._focusTimeout);
			this._focusTimeout = setTimeout(() => {
				if (!this.isMounted()) return;
				this.getInputNode().focus();
				this._focusAfterUpdate = false;
			}, 50);
		}
		if (this._focusedOptionReveal) {
			if (this.refs.focused && this.refs.menu) {
				var focusedDOM = ReactDOM.findDOMNode(this.refs.focused);
				var menuDOM = ReactDOM.findDOMNode(this.refs.menu);
				var focusedRect = focusedDOM.getBoundingClientRect();
				var menuRect = menuDOM.getBoundingClientRect();

				if (focusedRect.bottom > menuRect.bottom || focusedRect.top < menuRect.top) {
					menuDOM.scrollTop = (focusedDOM.offsetTop + focusedDOM.clientHeight - menuDOM.offsetHeight);
				}
			}
			this._focusedOptionReveal = false;
		}
	},

	focus () {
		this.getInputNode().focus();
	},

	clickedOutsideElement (element, event) {
		var eventTarget = (event.target) ? event.target : event.srcElement;
		while (eventTarget != null) {
			if (eventTarget === element) return false;
			eventTarget = eventTarget.offsetParent;
		}
		return true;
	},

	getStateFromValue (value, options, placeholder) {
		if (!options) {
			options = this.state.options;
		}
		if (!placeholder) {
			placeholder = this.props.placeholder;
		}

		// reset internal filter string
		this._optionsFilterString = '';

		var values = this.initValuesArray(value, options);
		var filteredOptions = this.filterOptions(options, values);

		var focusedOption;
		var valueForState = null;
		if (!this.props.multi && values.length) {
			focusedOption = values[0];
			valueForState = values[0][this.props.valueKey];
		} else {
			focusedOption = this.getFirstFocusableOption(filteredOptions);
			valueForState = values.map((v) => { return v[this.props.valueKey]; }).join(this.props.delimiter);
		}

		return {
			value: valueForState,
			values: values,
			inputValue: '',
			filteredOptions: filteredOptions,
			placeholder: !this.props.multi && values.length ? values[0][this.props.labelKey] : placeholder,
			focusedOption: focusedOption
		};
	},

	getFirstFocusableOption  (options) {

		for (var optionIndex = 0; optionIndex < options.length; ++optionIndex) {
			if (!options[optionIndex].disabled) {
				return options[optionIndex];
			}
		}
	},

	initValuesArray (values, options) {
		if (!Array.isArray(values)) {
			if (typeof values === 'string') {
				values = values === ''
					? []
					: this.props.multi
						? values.split(this.props.delimiter)
						: [ values ];
			} else {
				values = values !== undefined && values !== null ? [values] : [];
			}
		}
		return values.map((val) => {
			if (typeof val === 'string' || typeof val === 'number') {
				for (var key in options) {
					if (options.hasOwnProperty(key) &&
						options[key] &&
						(options[key][this.props.valueKey] === val ||
							typeof options[key][this.props.valueKey] === 'number' &&
							options[key][this.props.valueKey].toString() === val
						)) {
						return options[key];
					}
				}
				return { value: val, label: val };
			} else {
				return val;
			}
		});
	},

	setValue (value, focusAfterUpdate) {
		if (focusAfterUpdate || focusAfterUpdate === undefined) {
			this._focusAfterUpdate = true;
		}
		var newState = this.getStateFromValue(value);
		newState.isOpen = false || this.props.alwaysOpen;
		this.fireChangeEvent(newState);
		this.setState(newState);
	},

	selectValue (value) {
		if (!this.props.multi) {
			this.setValue(value);
		} else if (value) {
			this.addValue(value);
		}
		this._unbindCloseMenuIfClickedOutside();
	},

	addValue (value) {
		this.setValue(this.state.values.concat(value));
	},

	popValue () {
		this.setValue(this.state.values.slice(0, this.state.values.length - 1));
	},

	removeValue (valueToRemove) {
		this.setValue(this.state.values.filter(function(value) {
			return value !== valueToRemove;
		}));
	},

	clearValue (event) {
		// if the event was triggered by a mousedown and not the primary
		// button, ignore it.
		if (event && event.type === 'mousedown' && event.button !== 0) {
			return;
		}
		event.stopPropagation();
		event.preventDefault();
		this.setValue(null);
	},

	resetValue () {
		this.setValue(this.state.value === '' ? null : this.state.value);
	},

	getInputNode  () {
		var input = this.refs.input;
		return this.props.searchable ? input : ReactDOM.findDOMNode(input);
	},

	fireChangeEvent (newState) {
		if (newState.value !== this.state.value && this.props.onChange) {
			this.props.onChange(newState.value, newState.values);
		}
	},

	handleMouseDown (event) {
		// if the event was triggered by a mousedown and not the primary
		// button, or if the component is disabled, ignore it.
		if (this.props.disabled || (event.type === 'mousedown' && event.button !== 0)) {
			return;
		}
		event.stopPropagation();
		event.preventDefault();

		// for the non-searchable select, close the dropdown when button is clicked
		if (!this.props.alwaysOpen && this.state.isOpen && !this.props.searchable) {
			this.setState({
				isOpen: false
			}, this._unbindCloseMenuIfClickedOutside);
			return;
		}

		if (this.state.isFocused) {
			this.setState({
				isOpen: true
			}, this._bindCloseMenuIfClickedOutside);
		} else {
			this._openAfterFocus = true;
			this.getInputNode().focus();
		}
	},

	handleMouseDownOnMenu (event) {
		// if the event was triggered by a mousedown and not the primary
		// button, or if the component is disabled, ignore it.
		if (this.props.disabled || (event.type === 'mousedown' && event.button !== 0)) {
			return;
		}
		event.stopPropagation();
		event.preventDefault();
	},

	handleMouseDownOnArrow (event) {
		// if the event was triggered by a mousedown and not the primary
		// button, or if the component is disabled, ignore it.
		if (this.props.disabled || (event.type === 'mousedown' && event.button !== 0)) {
			return;
		}
		// If not focused, handleMouseDown will handle it
		if (!this.state.isOpen || this.props.alwaysOpen) {
			return;
		}
		event.stopPropagation();
		event.preventDefault();
		this.setState({
			isOpen: false
		}, this._unbindCloseMenuIfClickedOutside);
	},

	handleInputFocus (event) {
		var newIsOpen = this.state.isOpen || this._openAfterFocus;
		this.setState({
			isFocused: true,
			isOpen: newIsOpen
		}, () => {
			if (newIsOpen) {
				this._bindCloseMenuIfClickedOutside();
			}
			else {
				this._unbindCloseMenuIfClickedOutside();
			}
		});
		this._openAfterFocus = false;
		if (this.props.onFocus) {
			this.props.onFocus(event);
		}
	},

	handleInputBlur (event) {
		this._blurTimeout = setTimeout(() => {
			if (this._focusAfterUpdate || !this.isMounted()) return;
			if (this.props.alwaysOpen) {
				this.setState({
					isFocused: false,
					isOpen: true
				});
			} else {
				this.setState({
					isFocused: false,
					isOpen: false
				});
			}
		}, 50);
		if (this.props.onBlur) {
			this.props.onBlur(event);
		}
	},

	handleKeyDown (event) {
		if (this.props.disabled) return;
		switch (event.keyCode) {
			case 8: // backspace
				if (!this.state.inputValue && this.props.backspaceRemoves) {
					event.preventDefault();
					this.popValue();
				}
			return;
			case 9: // tab
				if (event.shiftKey || !this.state.isOpen || !this.state.focusedOption) {
					return;
				}
				this.selectFocusedOption();
			break;
			case 13: // enter
				if (!this.state.isOpen) return;
				this.selectFocusedOption();
			break;
			case 27: // escape
				if (this.state.isOpen && !this.props.alwaysOpen) {
					this.resetValue();
				} else if (this.props.clearable) {
					this.clearValue(event);
				}
			break;
			case 38: // up
				this.focusPreviousOption();
			break;
			case 40: // down
				this.focusNextOption();
			break;
			case 188: // ,
				if (this.props.allowCreate && this.props.multi) {
					event.preventDefault();
					event.stopPropagation();
					this.selectFocusedOption();
				} else {
					return;
				}
			break;
			default: return;
		}
		event.preventDefault();
	},

	// Ensures that the currently focused option is available in filteredOptions.
	// If not, returns the first available option.
	_getNewFocusedOption (filteredOptions) {
		for (var key in filteredOptions) {
			if (filteredOptions.hasOwnProperty(key) && filteredOptions[key] === this.state.focusedOption) {
				return filteredOptions[key];
			}
		}
		return this.getFirstFocusableOption(filteredOptions);
	},

	handleInputChange (event) {
		// assign an internal variable because we need to use
		// the latest value before setState() has completed.
		this._optionsFilterString = event.target.value;

		if (this.props.onInputChange) {
			this.props.onInputChange(event.target.value);
		}

		if (this.props.asyncOptions) {
			this.setState({
				isLoading: true,
				inputValue: event.target.value
			});
			this.loadAsyncOptions(event.target.value, {
				isLoading: false,
				isOpen: true
			}, this._bindCloseMenuIfClickedOutside);
		} else {
			var filteredOptions = this.filterOptions(this.state.options);
			this.setState({
				isOpen: true,
				inputValue: event.target.value,
				filteredOptions: filteredOptions,
				focusedOption: this._getNewFocusedOption(filteredOptions)
			}, this._bindCloseMenuIfClickedOutside);
		}
	},

	autoloadAsyncOptions () {
		this.setState({
			isLoading: true
		});
		this.loadAsyncOptions((this.props.value || ''), { isLoading: false }, () => {
			// update with new options but don't focus
			this.setValue(this.props.value, false);
		});
	},

	loadAsyncOptions (input, state, callback) {
		var thisRequestId = this._currentRequestId = requestId++;
		if (this.props.cacheAsyncResults) {
			for (var i = 0; i <= input.length; i++) {
				var cacheKey = input.slice(0, i);
				if (this._optionsCache[cacheKey] && (input === cacheKey || this._optionsCache[cacheKey].complete)) {
					var options = this._optionsCache[cacheKey].options;
					var filteredOptions = this.filterOptions(options);
					var newState = {
						options: options,
						filteredOptions: filteredOptions,
						focusedOption: this._getNewFocusedOption(filteredOptions)
					};
					for (var key in state) {
						if (state.hasOwnProperty(key)) {
							newState[key] = state[key];
						}
					}
					this.setState(newState);
					if (callback) callback.call(this, newState);
					return;
				}
			}
		}

		this.props.asyncOptions(input, (err, data) => {
			if (err) throw err;
			if (this.props.cacheAsyncResults) {
				this._optionsCache[input] = data;
			}
			if (thisRequestId !== this._currentRequestId) {
				return;
			}
			var filteredOptions = this.filterOptions(data.options);
			var newState = {
				options: data.options,
				filteredOptions: filteredOptions,
				focusedOption: this._getNewFocusedOption(filteredOptions)
			};
			for (var key in state) {
				if (state.hasOwnProperty(key)) {
					newState[key] = state[key];
				}
			}
			this.setState(newState);
			if (callback) {
				callback.call(this, newState);
			}
		});
	},

	filterOptions (options, values) {
		var filterValue = this._optionsFilterString;
		var exclude = (values || this.state.values).map(function(i) {
			return i.value;
		});
		if (this.props.filterOptions) {
			return this.props.filterOptions.call(this, options, filterValue, exclude);
		} else {
			var filterOption = function(op) {
				if (this.props.multi && exclude.indexOf(op[this.props.valueKey]) > -1) return false;
				if (this.props.filterOption) return this.props.filterOption.call(this, op, filterValue);
				var valueTest = String(op[this.props.valueKey]);
				var labelTest = String(op[this.props.labelKey]);
				if (this.props.ignoreCase) {
					valueTest = valueTest.toLowerCase();
					labelTest = labelTest.toLowerCase();
					filterValue = filterValue.toLowerCase();
				}
				return !filterValue || (this.props.matchPos === 'start') ? (
					(this.props.matchProp !== 'label' && valueTest.substr(0, filterValue.length) === filterValue) ||
					(this.props.matchProp !== 'value' && labelTest.substr(0, filterValue.length) === filterValue)
				) : (
					(this.props.matchProp !== 'label' && valueTest.indexOf(filterValue) >= 0) ||
					(this.props.matchProp !== 'value' && labelTest.indexOf(filterValue) >= 0)
				);
			};
			return (options || []).filter(filterOption, this);
		}
	},

	selectFocusedOption () {
		if (this.props.allowCreate && !this.state.focusedOption) {
			return this.selectValue(this.state.inputValue);
		}

		if (this.state.focusedOption) {
			return this.selectValue(this.state.focusedOption);
		}
	},

	focusOption (op) {
		this.setState({
			focusedOption: op
		});
	},

	focusNextOption () {
		this.focusAdjacentOption('next');
	},

	focusPreviousOption () {
		this.focusAdjacentOption('previous');
	},

	focusAdjacentOption (dir) {
		this._focusedOptionReveal = true;
		var ops = this.state.filteredOptions.filter(function(op) {
			return !op.disabled;
		});
		if (!this.state.isOpen) {
			this.setState({
				isOpen: true,
				inputValue: '',
				focusedOption: this.state.focusedOption || ops[dir === 'next' ? 0 : ops.length - 1]
			}, this._bindCloseMenuIfClickedOutside);
			return;
		}
		if (!ops.length) {
			return;
		}
		var focusedIndex = -1;
		for (var i = 0; i < ops.length; i++) {
			if (this.state.focusedOption === ops[i]) {
				focusedIndex = i;
				break;
			}
		}
		var focusedOption = ops[0];
		if (dir === 'next' && focusedIndex > -1 && focusedIndex < ops.length - 1) {
			focusedOption = ops[focusedIndex + 1];
		} else if (dir === 'previous') {
			if (focusedIndex > 0) {
				focusedOption = ops[focusedIndex - 1];
			} else {
				focusedOption = ops[ops.length - 1];
			}
		}
		this.setState({
			focusedOption: focusedOption
		});
	},

	unfocusOption (op) {
		if (this.state.focusedOption === op) {
			this.setState({
				focusedOption: null
			});
		}
	},

	buildMenu () {
		var focusedValue = this.state.focusedOption ? this.state.focusedOption[this.props.valueKey] : null;
		var renderLabel = this.props.optionRenderer;
		if (!renderLabel) renderLabel = (op) => op[this.props.labelKey];
		if (this.state.filteredOptions.length > 0) {
			focusedValue = focusedValue == null ? this.state.filteredOptions[0] : focusedValue;
		}
		// Add the current value to the filtered options in last resort
		var options = this.state.filteredOptions;
		if (this.props.allowCreate && this.state.inputValue.trim()) {
			var inputValue = this.state.inputValue;
			options = options.slice();
			var newOption = this.props.newOptionCreator ? this.props.newOptionCreator(inputValue) : {
				value: inputValue,
				label: inputValue,
				create: true
			};
			options.unshift(newOption);
		}
		var ops = Object.keys(options).map(function(key) {
			var op = options[key];
			var isSelected = this.state.value === op[this.props.valueKey];
			var isFocused = focusedValue === op[this.props.valueKey];
			var optionClass = classes({
				'Select-option': true,
				'is-selected': isSelected,
				'is-focused': isFocused,
				'is-disabled': op.disabled
			});
			var ref = isFocused ? 'focused' : null;
			var mouseEnter = this.focusOption.bind(this, op);
			var mouseLeave = this.unfocusOption.bind(this, op);
			var mouseDown = this.selectValue.bind(this, op);
			var optionResult = React.createElement(this.props.optionComponent, {
				key: 'option-' + op[this.props.valueKey],
				className: optionClass,
				renderFunc: renderLabel,
				mouseEnter: mouseEnter,
				mouseLeave: mouseLeave,
				mouseDown: mouseDown,
				click: mouseDown,
				addLabelText: this.props.addLabelText,
				option: op,
				ref: ref
			});
			return optionResult;
		}, this);

		if (ops.length) {
			return ops;
		} else {
			var noResultsText, promptClass;
			if (this.isLoading()) {
				promptClass = 'Select-searching';
				noResultsText = this.props.searchingText;
			} else if (this.state.inputValue || !this.props.asyncOptions) {
				promptClass = 'Select-noresults';
				noResultsText = this.props.noResultsText;
			} else {
				promptClass = 'Select-search-prompt';
				noResultsText = this.props.searchPromptText;
			}

			return (
				<div className={promptClass}>
					{noResultsText}
				</div>
			);
		}
	},

	handleOptionLabelClick  (value, event) {
		if (this.props.onOptionLabelClick) {
			this.props.onOptionLabelClick(value, event);
		}
	},

	isLoading () {
		return this.props.isLoading || this.state.isLoading;
	},

	render () {
		var selectClass = classes('Select', this.props.className, {
			'is-multi': this.props.multi,
			'is-searchable': this.props.searchable,
			'is-open': this.state.isOpen,
			'is-focused': this.state.isFocused,
			'is-loading': this.isLoading(),
			'is-disabled': this.props.disabled,
			'has-value': this.state.value
		});
		var value = [];
		if (this.props.multi) {
			this.state.values.forEach(function(val) {
				var onOptionLabelClick = this.handleOptionLabelClick.bind(this, val);
				var onRemove = this.removeValue.bind(this, val);
				var valueComponent = React.createElement(this.props.valueComponent, {
					key: val.value,
					option: val,
					renderer: this.props.valueRenderer,
					optionLabelClick: !!this.props.onOptionLabelClick,
					onOptionLabelClick: onOptionLabelClick,
					onRemove: onRemove,
					disabled: this.props.disabled
				});
				value.push(valueComponent);
			}, this);
		}

		if (!this.state.inputValue && (!this.props.multi || !value.length)) {
			var val = this.state.values[0] || null;
			if (this.props.valueRenderer && !!this.state.values.length) {
				value.push(<Value
						key={0}
						option={val}
						renderer={this.props.valueRenderer}
						disabled={this.props.disabled} />);
			} else {
				var singleValueComponent = React.createElement(this.props.singleValueComponent, {
					key: 'placeholder',
					value: val,
					placeholder: this.state.placeholder
				});
				value.push(singleValueComponent);
			}
		}

		var loading = this.isLoading() ? <span className="Select-loading" aria-hidden="true" /> : null;
		var clear = this.props.clearable && this.state.value && !this.props.disabled ? <span className="Select-clear" title={this.props.multi ? this.props.clearAllText : this.props.clearValueText} aria-label={this.props.multi ? this.props.clearAllText : this.props.clearValueText} onMouseDown={this.clearValue} onTouchEnd={this.clearValue} onClick={this.clearValue} dangerouslySetInnerHTML={{ __html: '×' }} /> : null;

		var menu;
		var menuProps;
		if (this.state.isOpen) {
			menuProps = {
				ref: 'menu',
				className: 'Select-menu',
				onMouseDown: this.handleMouseDownOnMenu
			};
			menu = (
				<div ref="selectMenuContainer" className="Select-menu-outer">
					<div {...menuProps}>{this.buildMenu()}</div>
				</div>
			);
		}

		var input;
		var inputProps = {
			ref: 'input',
			className: 'Select-input ' + (this.props.inputProps.className || ''),
			tabIndex: this.props.tabIndex || 0,
			onFocus: this.handleInputFocus,
			onBlur: this.handleInputBlur
		};
		for (var key in this.props.inputProps) {
			if (this.props.inputProps.hasOwnProperty(key) && key !== 'className') {
				inputProps[key] = this.props.inputProps[key];
			}
		}

		if (!this.props.disabled) {
			if (this.props.searchable) {
				input = <Input value={this.state.inputValue} onChange={this.handleInputChange} minWidth="5" {...inputProps} />;
			} else {
				input = <div {...inputProps}> </div>;
			}
		} else if (!this.props.multi || !this.state.values.length) {
			input = <div className="Select-input"> </div>;
		}

		return (
			<div ref="wrapper" className={selectClass}>
				<input type="hidden" ref="value" name={this.props.name} value={this.state.value} disabled={this.props.disabled} />
				<div className="Select-control" ref="control" onKeyDown={this.handleKeyDown} onMouseDown={this.handleMouseDown} onTouchEnd={this.handleMouseDown}>
					{value}
					{input}
					<span className="Select-arrow-zone" onMouseDown={this.handleMouseDownOnArrow} />
					<span className="Select-arrow" onMouseDown={this.handleMouseDownOnArrow} />
					{loading}
					{clear}
				</div>
				{menu}
			</div>
		);
	}

});

module.exports = Select;

redpajama_set_name: RedPajamaGithub


The Leadership Development (LD) series* culminates with a lively and candid session, featuring stories and insights from senior leaders on how to transition from doer to leader.
*One does not need to be a series registrant to attend. Each part of the series is a stand-alone program, though they do complement one another.
This facilitated session gives participants a chance to ask industry leaders questions concerning industry, practices and management.
It includes a review of key takeaways from past classes, and group problem solving and sharing strategies.
Mel brings nearly 35 years of experience in organizational leadership, regional management, operations management, business development, as well as project management experience on west coast transportation programs and projects in both the public and private sector. He has worked across various markets, including highways, transit, water, architecture, and environmental. Mel has worked with clients such as Caltrans, TriMet, Washington State Department of Transportation, Oregon Department of Transportation and Sound Transit.
Mike is an adjunct faculty member for ACEC's Senior Executive Institute (SEI) program and ACEC faculty member for similar early career professional leadership programs in other states. He is a 27-year professional, former active duty military officer, Vice President and senior program manager at David Evans and Associates, Inc. where he's practiced for the last 21 years, and an affiliate of the Aitken Leadership Group that specializes in leadership development and coaching. Mike has developed and led in-house leadership and personal mastery programs for nearly 16 years and delivered leadership sessions for hundreds of industry professionals, with a particular passion for engaging early career professionals. He has also designed and delivered team chartering and partnering sessions to support major infrastructure project delivery.
Julie has nearly 20 years of experience as a dynamic and transformational Human Resources executive in small to large public and private sector organizations. She has a proven track record as an influential change agent and collaborate business partner, and has a solid reputation for building resilient and high performing teams, engaging stakeholders and rapidly executing comprehensive human capital strategies. She is passionate about fostering healthy organizational culture where employees of all levels have opportunities to do their best work and grow their career. Prior to starting Moxie HR Strategies, Julie was the Human Resources Director at Otak.
Leo returns as facilitator of this session.
"Coach Leo" as his soccer team called him, is a leadership and communication coach, who has been helping companies identify and develop future leaders for 15 years. He founded the Succession Consulting Group to help companies navigate the complexities of finding and developing future talent, and managing the transition in roles and responsibilities. Leo writes the "Learning to Lead" column for the Daily Journal of Commerce and speaks nationally on leadership. He lives in Portland and plays and sings in a folk swing trio, and yes, makes a mean pie. More info: www.leomacleod.com.
Cancellations must be received by Friday, April 25, 2019.


Actor Robert Duvall will serve as honorary co-chair.
Pony up for a good cause this summer at the first annual Argentina Heritage Polo Tournament, to take place July 14 at Summerhill Polo Fields in Poolesville, Md. The tournament will benefit the largest pediatric hospital in Latin America, Garrahan Hospital, located in Buenos Aires, Argentina. All proceeds raised at the tournament will go to continuing the outstanding work of Garrahan, whose doctors have treated over 18 million children in the past 31 years, completely free of charge. The event is chaired by Ambassador Fernando Oris de Roa of Argentina and Academy Award-winning actor and polo enthusiast, Robert Duvall.
The Embassy of Argentina has partnered with Maryland Governor Larry Hogan and the Many Hats Institute to bring this fundraiser to fruition. This event is sure to attract philanthropists and polo-lovers alike, sporting opportunities to win polo lessons and season tickets to Summerhill while benefiting the work of Garrahan Hospital. Mix and mingle with the DMV's finest while experiencing the traditions of Argentina, including live music and traditional Argentinian cuisine. A ticket to this event boasts the perfect viewing party for the sport of the summer, all in the name of a phenomenal cause. Click here for tickets.


Below are the similarities and differences of Chubbies Shorts and Snappers Shorts - this may help you determine which to buy!!
Although they are a lot alike - there are differences!!! Come get a pair for yourself!!!


text:
Home Digital HD 'Rememory' starring Peter Dinklage is free on Google Play
Digital HDStreamingGoogle PlayNews
'Rememory' starring Peter Dinklage is free on Google Play
By Jeff Chabot
Game of Thrones just finished its epic seventh season, but if you just didn't get enough of Peter Dinklage the actor stars in the Lionsgate Premiere thriller Rememory. Google has partnered with the distributor to bring Rememory to digital platforms, including PCs and mobile devices via the Google Play app.
Just go to Google Play and look in the featured slider — it should be there. If not, simply search for "Rememory." Then, click on Buy HD and it will be added to your collection. The film, in its entirety, can be streamed through web browsers or downloaded to Android and iOS mobile devices (sorry, no downloads to PCs).
Dinklage (Game of Thrones, Elf) stars as Sam Bloom, a man who investigates the death of a groundbreaking scientist that invents a method to extract dreams. Mark Palansky (A Series of Unfortunate Events) directed and co-wrote the film.
The movie premiered on Google Play on August 24.
Google Play has offered free digital movies several times in the past including Bling and Transformers, as well as .99 cent purchase deals such as Underworld and The Girl with the Dragon Tattoo.
The service just recently started offering 4k UHD movies with HDR specifications for enhanced color.
Google Play Movies & TV app rebranded as Google TV
Google Play Music Ending By End of 2020. Here's What To Do.
Sony Offers 4 PS4 Games Free in Play At Home Initiative
Digital HD
Previous articleGame of Thrones Season 7 Blu-ray Disc up for Pre-Order
Next articleDeal Alert: Game of Thrones: Season 2 only $24.99
Jeff Chabothttps://hd-report.com
Jeff has a background in photography, video and television production. He writes about technology, broadcasting, home theater, and digital entertainment.
hdreport - January 17, 2021 0
contributor - January 16, 2021 0

redpajama_set_name: RedPajamaCommonCrawl


Kate Collyns started her market garden, Grown Green @ Hartley Farm, in 2010 after completing a Soil Association two-year horticultural apprenticeship at Purton House Organics. The 2-acre bare field that used to house horses is now home to a plot of lovely fresh field veggies, 7 small polytunnels, herb beds and little nooks and crannies full of flowers. She grows a wide variety of veggies and herbs that are best picked and enjoyed fresh: lots of different kales, spinach, rainbow chard, mixed salad leaves, cucumbers, heritage tomato varieties, fennel, coloured courgettes, squash, pumpkin, leeks, hot chillies, herbs… All produce is grown to organic standards, without artificial inputs such as pesticides. Kate also runs the Bath & Bristol Organic Growers' group, as well as sitting on the Organic Grower Alliance's committee. The field veggies are grown on a 5-year rotation so each patch gets a nice rest every five years, sown with clovers and trefoil to help put fertiltity back into the soil; and the tunnel veggies are grown on a 4-year rotation; these rotations help ensure the plants stay healthy and there's no build-up of pest of diseases. Natural predators such as frogs, toads, ladybirds and hoverflies are also encouraged with a couple of small ponds near the tunnels, and plenty of attractive flowers to entice the beneficial army to destroy any evil aphid.


We're sibling wedding photographers based in Central Indiana. We love to photograph creative, joyful couples that value meaningful details, natural light, and authentic imagery. We're glad you're here!
A St. John the Evangelist wedding. An Indiana Historical Society wedding reception. A joyful gathering of family and friends. A day to remember.
A lot of people would call how they met unconventional. Andrew was fresh out of medical school and had just started his intern year in internal medicine in Norwalk, CT. Emily, working through physical therapy grad school, had moved to Fairfield, CT to finish out her classes. As fate, and luck, would have it, Emily and Andrew both swiped each other right on Tinder one summer night and the rest is history.
Before they knew it, Andrew was introducing Emily as "Tindz" to his co-residents, a term of endearment, but also an inside joke among those who know them best. As they continued to date, and fall more in love every day, it soon became apparent they would be spending many more years together.
Andrew finished residency, moved them to Indianapolis for work, and before much time had passed, he proposed to Emily in Chicago on their three year anniversary. Not ordinary, to say the least, but their relationship has always been something special. Who would have thought that a Midwest girl would fall for an East Coast City boy?
One night Andrew booked a simple weekend away in Chicago, one of Emily's favorite cities, to celebrate their three year anniversary. Little did Emily know that this was the weekend Andrew planned to propose. Andrew had the ring in his pocket that whole weekend, waiting for the right moment to pop the question. But bitterly cold Chicago weather threw the plans off course as the winds and the freezing temperatures made the situation not ideal. Instead, that Saturday night, Andrew decided to keep it simple. An hour before their reservations for dinner, he presented a book he had made for her of all their adventures and on the last page it read "Our Engagement!", which Andrew had purposely left blank. He turned towards her, got down on one knee, and asker her to spend the rest of her life with him.
We loved celebrating with this wonderful couple. Here's a few of our favorites!
Because we had extra time before the cocktail hour, we were able to spend more time for portraits of the newly married couple!
Andrew and Emily, we loved every part of your perfect wedding day! Blessings to you both!
COME ON now! we'd love to hear from you.
LOVE, AND A PINT OF ICE CREAM.
We're sibling wedding photographers based in Central Indiana and we love to photograph creative, joyful couples that value meaningful details, natural light, and authentic imagery!


How do you find a way to best maximize the information you have available? How you can you utilize streamlined, automated tools to harvest and convert leads?
While there are plenty of ways to move forward, automate.io is a great option. Fully integrated with Google Sheets Integrations, this multi-faceted interface makes it easy to take parsed data or self-collected data and push this information into one of the platform's myriad of partner apps. Compatibility includes many of the top project management tools in marketing, from Salesforce Google Sheets Integrations to Hubspot, making it easy to send parsed data anywhere you'd like. With help from mailparser.io and automate.io, you can now collect every element of email messages and direct your customer leads and other recurring emails, to the proper location. Automate your business with a FREE trial today!
Whether you use them all or just one, automate.io boasts virtually limitless integration abilities with the software options you already know and love.
Leveraging Google Sheets Integrations is one of the most active integrations for mailparser.io use-cases, offering a fast and convenient way to push valuable information you encounter to a destination. Once you have an aggregation prepared, however, it's time to take the next step.
automate.io provides a streamlined opportunity to create one-to-one or multi-step integration bots that connect the data you have on hand with all of your cloud-based apps. Google Sheets integrations can be super simple, like Twitter to Salesforce, or multi-leveled, like Google Sheets to Salesforce to a welcome email sent through Google Mail. With so many ways to harness the power of data, you can now stay connected to every app in your arsenal.
Here's how to build the perfect bots for your business needs.
Registration for automate.io couldn't be easier. Simply go to the homepage and click the Signup button. You can then choose to create an account with the email address of your choosing, or register directly through your Google account for added simplicity.
Upon registration, you'll have the chance to choose the apps that you use most in your marketing endeavors. The platform suggests adding at least five for a better user experience, but you can choose as many as you'd like.
Once you're finished registering, you can refine your apps list by selecting the Apps tab along the top. All apps will then be accessible for you to add, which can be accomplished with a single click. Note that some apps are still in beta, while others require premium access to use.
After selecting the apps you use, you're ready to move on to the bot creation stage.
While the concept of building bots may sound overly scientific or exceedingly complex, automate.io makes integrating apps and their actions delightfully intuitive.
To begin, select the Bots tab next to the Apps tab, and click on the Create a Bot Button. You will then move to the bot building screen, which allows you to choose trigger apps and action apps.
A trigger app starts the bot's activity. For example, your trigger can be a new row added in your Google Sheet, like when mailparser.io parses new information to an existing data set.
An action app performs the actions promoted by a trigger app. So, if your trigger app is Google Sheets, as illustrated above, you can command Google Mail to send a welcome email using the template provided every time a new line is added to the Google Sheet selected.
You don't have to stop at two, either; you can continue adding apps to create a chain reaction that handles all of the marketing activities you'd normally do by hand. For example, after sending a welcome email, you can use any social media information parsed to add users to a new list on Twitter or to send a Tweet to your followers.
Bot functions don't just involve marketing apps. You can also add system apps, like a timer to create a buffer between actions, a filter to continue running the bot only if certain conditions are true, or a formatter that handles tasks like changing case or extracting information. No matter the operations you have in mind, automate.io can make it happen.
Once your bot is complete, you need to activate it in order to see the results. Click the Save button in the upper right corner to move to the Activate screen.
Toggle the switch to the On position to get started on your test action, which will be prompted by a popup.
At this point, you'll need to complete your trigger action and confirm completion to move on. The bot will then run, and you'll get an encouraging thumbs up if all went according to plan. And that's it! Your bot is ready and you can now let the power of automation propel your digital efforts forward.
Sure, you could handle painstakingly copying information from emails into a spreadsheet by hand and crafting marketing messages one by one, but why would you? With the benefits offered by mailparser.io coupled with automate.io, a fast and seamless approach to marketing is now a reality. Whether you're new to the field with limited app use or you've been seeking a great automated solution to your marketing needs, automate.io has amazing potential.
Want to the scoop on mailparser.io? Contact us today to learn more.


text:
The lowdown on the hottest Gerber knives
August 29, 2011 / Daniel Lawton / 0 Comments
The Cutting Edge recently sat down with Spencer Worley, who manages Southwest Gerber Knives of Carlsbad, New Mexico, to chat about the difference between a combat knife and a tactical knife, wilderness saws, and some of the hottest Gerber products he's selling at the moment. Check it out.
What are some of the most popular knives you're offering this year?
I would probably say the LHR Combat knives are our most popular. These knives are made in the U.S. and are basic combat knives with big, serrated blades. For a hundred bucks, it's a great knife.
Gerber LHR
There's also the Gerber Contrast, which Gerber did a heck of a job designing. It has a really cool outward appearance, a nice blade, an 8-inch stainless steel handle and a frame lock, which is a bit stronger than your average knife.
For those who aren't sure, what's the difference between a combat knife and a tactical knife?
A combat knife, I would say, is a knife that you can use in a hand to hand combat situation, the blade would be a tanto style for thrusting, more of a drop point blade, that's more of a combat style.
The tactical knife would be more on the stronger side and you have a lot more knife. The LMF II is a good combat knife that comes with a nice sheath and has about ten and a half inch, sturdy blade, It can cut through Plexiglass or aluminum, it can cut through the fuselage of an airplane if you need it. It's a knife that a soldier would carry
What are some of your favorite multi-tools?
The ones that stand out the most are the suspension multiplier, its lightwieght, only nine ounces, and comes with a bunch of tools, including two flatheads, two screwdrivers, pair of scissors, needle-nosed pliers and more.
Gerber Folding Saw
What should people be looking for when they choose a multi-tool.
Well, you can check out our reviews our knife blog, we review all of our products, and we carry a bunch of multi-tools, but ultimately you want to just do some research, and pick out something that has all the components you think you're going to use
What about wilderness tools, such as axes, saws, etc, any advice there?
One product that have that is pretty great is our 13-inch folding saw, which has a double joint, so it actually folds twice, once to hold the blade down and once to protects the blade for safety. It's a total of 16 inches long and only weighs 12 ounces and costs about 30 bucks.
It's great if you're going to be trailblazing or going in a remote location, it can even be used in place of a machete.
Daniel Lawton
Teacher punished for demonstrating use of tools, including a pocket knife, to class
Knives Save Lives: John Hutt's trusty pocketknife


text:
United States of America: More constructive dialogue on the implementation of ICCPR
Overview 110th Session – United States of America
Fourth Report of United States of America on the 13th and 14th of March 2014 (CCPR/C/USA/4). As pointed out by the Chair of the Committee, the dialogue was much more constructive than the previous review held in 2006, it was reflective of "President Obama's will to enhance international cooperation in the field of human rights".
In its reply to the list of issues, United States delegation presented several new legislations and institutions developed in the last few years to improve the implementation of the Covenant. Raising concerns in the List of Issues, several Committee members were extremely troubled about limitations of the territorial application of the Covenant. The non application of the Covenant outside to the US territory led the to impunity and rights violations said a Committee member in a very strong statement.
Regarding the issue of right to life under article 6, the Committee was extremely worried about the high number of persons killed by fire-arms, most victims being children or juveniles. Several Committee members were deeply concerned with the "stand-your-ground" laws on self-defense which are incompatible with the Covenant. Other violations on right to life included persons wrongfully sentenced to death, excessive use of Tasers and lethal force by police officers.
Allegations of torture during interrogations in the context of the war on terror as well as 154 persons detained in Guantanamo were also discussed at length and the Committee disagreed when the US delegation affirmed that the "US has legal authority to hold Guantanamo detainees until the end of hostilities".
Other issues raised by the Committee included non-consensual use of psychiatric medication, confinement of more than 80'000 detainees, deportation and the mandatory detention of immigrants and asylum seekers as well as intelligence data collection.
The Concluding Observations selected for the follow-up procedure, under which the State should provide information on the implementation of the Committee's recommendations within one year, are: paragraph 5 on accountability for past human rights violations, specifically covert government programmes related to the War on Terror; paragraph 10 on gun violence and review Stand Your Ground Laws to adherence to the principles of necessity and proportionality; paragraph 21 on the detainees at Guantánamo Bay, in which transfers should be expedited and end the system of administrative detention without charge or trial and paragraph 22 on the National Security Agency, to take all necessary measures to ensure that its surveillance activities, both within and outside the United States, conform to its obligations under the Covenant.
The next periodic report should be submitted by 28 March 2019. This five-years deadline shows an improvement in the ICCPR implementation at the domestic level and it contrasts with the previous review where the Committee requested that a US report should be submitted within four years (2006-2010).
For more information, see the press briefing from the OHCHR.
More on 110th Session in Brief
Kyrgyzstan: Gruesome accounts of human rights abuses
Sierra Leone: Lack of State commitment with the reporting procedure
Latvia: Increasing efforts to comply with ICCPR
Chad: Lack of implementation of the previous Committee's recommendations (en français)
Nepal: Failure to provide statistical data and concrete answers
Follow-up to Concluding Observations
Follow-up to Views on Individual Communications
General Comment No. 35


text:
2021 Summer Megan Dickie Wilderness Leadership Fund Legal Clerk
The Wilderness Society
The Wilderness Society (TWS) is seeking a highly motivated current second-year law student for a paid summer law clerk position. Due to COVID-19 this opportunity will most likely be virtual however if safe, our preferred location for this position is in our Denver, CO office. The deadline to submit applications is February 5th, 2021. Applications will be reviewed on a rolling basis and we encourage you to apply early.
TWS is the leading American conservation organization working to protect our nation's shared wildlands. Founded 1935, we work to protect wilderness and inspire Americans to care for our wild places. We believe that public lands belong to and should benefit all of us. Our organization and work must embody the cultures and perspectives of people and communities across our nation, and connect and inspire people to care about the outdoors. TWS's Denver Office houses our most of our legal team, which focuses on defending and protecting important landscapes, wildlands, and bedrock conservation laws and policies, including through land use planning.
Megan Dickie Wilderness Leadership Fund
The position is funded by the Megan Dickie Wilderness Leadership Fund (see attached brochure). The fund was created in 2017 to honor and sustain Megan Dickie's passion for wilderness, dedication to inspiring others to protect wild places, and commitment to expanding the cadre of public lands advocates. Megan was a talented TWS attorney and policy expert who passed away unexpectedly at the age of 35. The fund is designed to provide career building opportunities for law students of all backgrounds, expanding our reach and shaping new leaders for the future of conservation. The position will play an important role in supporting an inclusive organizational culture that is grounded in trust and accountability to shared goals and outcomes. TWS has made diversity, equity, and inclusion strategic priorities. We aspire to be campaign oriented, nimble, collaborative, innovative, transparent, and supportive of staff and law clerks – our greatest asset
Clerkship Overview
The law clerk will assist our team of attorneys and policy experts with protecting and defending important conservation policies and protections for our shared public lands. The clerk will conduct legal and policy research and analysis that will help advance defensive campaigns and legal strategies. The work is likely to include:
· Drafting memoranda, fact sheets, white papers, and comments on a variety of Bureau of Land Management and National Forest laws, policies, and planning or project efforts;
· Reviewing and identifying legal deficiencies in agency environmental analysis documents and writing detailed, substantive comments to the agency advocating for more protective outcomes and preserving future litigation options;
· Researching new, innovate legal arguments to defend against the current administration's efforts to reverse existing protections for federal public lands;
· Attending meetings with conservation partners and agency decision-makers; and
· Visiting the public lands we are working to protect.
The clerk will receive a stipend as compensation for their work and to assist with the costs of relocating to Denver for the summer. The stipend will include a competitive hourly wage, plus a minimum $1,500 to assist with relocation costs. The clerkship will run for 8-12 weeks.
Critical Skill Sets
Ideal candidates will excel at conducting legal and policy research, analyzing complex legal questions, and concisely reporting their findings. This position requires some familiarity with administrative law, agency rulemaking, and the policies/practices of the executive and legislative branches of government. Successful candidates will meet the following criteria:
Current second year law student;
Strong interest in government policymaking and administrative procedures;
Excellent interpersonal, research, writing, and oral communications skills;
Ability to work quickly under deadline/on rapid response;
Ability to spend the summer in Denver, CO, with opportunities to visit and connect with the public lands TWS works to protect;
An interest in environmental conservation and desire to protect natural and wild places for all people.
To apply, please send a cover letter that describes the unique experiences or perspectives you would bring to TWS, resume, transcript, a short writing sample (no more than 10 pages), and 2-3 references through the online applications system. The deadline to submit applications is February 5th. Applications will be reviewed on a rolling basis and we encourage you to apply early. We will contact qualified applicants to schedule interviews on a rolling-basis.
TWS is an equal opportunity employer and actively works to ensure fair treatment of our employees and constituents across culture, socioeconomic status, race, marital or family situation, gender, age, ethnicity, religious beliefs, physical ability, veteran status or sexual orientation.
As an organization, we aspire to be inclusive in the work that we do, and in the kind of organization we are. Internally this means working as a team that listens to different points of view, recognizes the contributions of every employee and empowers each employee to bring their whole selves to work every day. Externally this means ensuring that public lands are inclusive and welcoming, so that our shared wildlands can help people and nature to thrive. We are committed to equity throughout our work, which we define as our commitment to realizing the promise of our public lands and ensuring that all can share in their universal benefits. To learn more about our commitment, please see http://wilderness.org/our-commitment-diversity-equity-and-inclusion-wilderness-society.
The Wilderness Society (TWS) is seeking a highly motivated current second-year law student for a paid summer law clerk position. Due to COVID-19 this opportunity will most likely be virtual however if safe, our preferred location for this…
Read more about this internship
Sign up today to save your favorite internships and get email alerts when new ones are posted.


Are you at a turning point in your life where you need to stand back and take stock of who you are, where you have come from and where you are going? If so, this retreat will help you align or realign with your inner truth and purpose. We will explore together the shaping influences that have brought you to the present, including critical and precious moments. This will enable us to envision who and what you might become in terms of your own values and priorities. You will leave the seminar with renewed inspiration and courage to live your life and truth to the full: to be who you truly are.
The programme outlined below will include talks, movement, outings and walks and of course rest and relaxation. We will climb up to the Cathar fortress of Montsegur, which is only half an hour away. We will also visit the picturesque Mirepoix market. The comfortable accommodation in the house is in twin and double rooms with their own bathrooms. The delicious vegetarian food is lovingly prepared by my beautiful Marianne, and I will make sure there is some good wine on hand for those who like a glass (charged at cost). The cost of €630 includes full board with vegetarian food for seven nights. Registration is an additional £150 per person, payable on booking.
Am I living my truest life?
What and who might I still become in my life?
What are the critical turning points in my life?
What are the most precious moments of my life?
Who and what am I grateful for? Is there anything in my life that, on reflection, I cannot be grateful for?
What can I not accept in myself, and why?
What are my ten top values?
What are my priorities for the next five years?
What can I share of myself?
What if I only have 6 months to live? How would I spend this time?
David Lorimer, MA, PGCE, FRSA is a writer, lecturer and editor who is Chief Consultant to Character Education Scotland, Programme Director of the Scientific and Medical Network and President of Wrekin Trust. Originally a merchant banker then a teacher of philosophy and modern languages at Winchester College, he is the author and editor of over a dozen books, most recently The Protein Crunch (with Jason Drew) and A New Renaissance (edited with Oliver Robinson). He has edited three books about Beinsa Douno: Prophet for our Times (1991, to be re-issued in 2015), The Circle of Sacred Dance, and Gems of Love, which is a translation of his prayers and formulas into English. He learned Bulgarian in order to be able to do this.
He is a founding member of the International Futures Forum and was editor of its digest, Omnipedia – Thinking for Tomorrow. He was also a Trustee of the St Andrews Prize for the Environment and a Churchill Fellow. His book on the ideas and work of the Prince of Wales – Radical Prince – has been translated into Dutch, Spanish and French. He is the originator of the Inspire-Aspire Values Poster Programmes, which this year involved over 30,000 young people from around the Commonwealth. See www.inspire-aspire.org.uk. He lives locally and enjoys walks near Lac Montbel and in the surrounding hills with his beautiful and loving partner Marianne and their dog Joey.
2030 Film: Barbara Marx Hubbard on Human Evolution?
1130 Who and what might I still become?


text:
Q: Нужен скрипт на T-SQL для одновременного создания двух запросов к одному столбцу У меня есть задача, решение которой я не могу найти на просторах интернета и потому решил обратиться к профессионалам.
Описание ситуации:
Есть SQL таблица под названием "Общая" в которую в режиме реального времени каждую секунду добавляется строка (это условно, может и на много больше строк, даже и несколько десятков). Таблица имеет следующие столбцы "Номер", "Наименование", "Кол-во", "Действие". Все столбцы кроме одного имеют различные значения, но столбец "Действие" имеет только два значения "купля" и "продажа".
Задача: необходимо произвести в режиме реального времени сортировку столбца "Действие" по параметрам купля/продажа и вывести отсортированные строки в разные таблицы с соответствующими названиями "Купля" и "Продажа".
Вот эти 2 запроса:
1 -SELECT TOP (1000000) *
  FROM [myLocalDB].[dbo].[Общая]
  WHERE Действие = 'продажа'

2 -SELECT TOP (1000000) *
  FROM [myLocalDB].[dbo].[Общая]
  WHERE Действие = 'купля'

A: Доброго времени суток.
Вот ответ на мой вопрос. Запрос выглядит следующим образом:
SELECT
BuyTbl.[Кол-во] AS Buy
,SellTbl.[Кол-во] AS Sell
FROM
--получаем сумму по купле
(SELECT
SUM([Кол-во]) AS [Кол-во]
—,[Действие]
FROM [Общая]
WHERE [Действие] = 'Купля'
GROUP BY [Действие]) BuyTbl
--получаем сумму по продаже
,(SELECT
SUM([Кол-во]) AS [Кол-во]
—,[Действие]
FROM [Общая]
WHERE [Действие] = 'Продажа'
GROUP BY [Действие]) SellTbl

redpajama_set_name: RedPajamaStackExchange


text:
Luke Croll targeting more clean sheets to help Exeter City climb the table
Simon Larkins
Loanee named in League Two team of the week for second time
Defender Luke Croll is targeting more clean sheets in Exeter City shirt as he looks to help the Grecians climb the table.
Croll was named in the League Two team of the week for the second time this season following an impressive defensive display that helped the Grecians draw 0-0 with Grimsby Town on Saturday.
The City defence also performed well the previous Saturday – despite the Grecians falling to a 1-0 defeat at Wycombe thanks to a late deflected goal from Adebayo Akinfenwa – and Croll says being solid at the back has to be the platform going forward for the team as they look to improve on their start to the season.
"We have been focusing on being harder to beat and I thought we did that against Grimsby," said Croll.
"That is what we have taken from the last few weeks. Before we have all been going forward looking to win the game in the first 10 or 15 minutes and we have been giving ourselves a massive task to come back from one or two goals down, especially when a team come to St James Park and get a goal because they are going to sit in.
"I think the most important thing, where we are, is to get a clean sheet and points rather than trying to win every game by blasting the opposition."
Croll also praised the work of new coach Andy Tillson – a defender himself for Bristol Rovers in his playing days – who has been working the back four hard in training.
"We have done a lot of work in training on being more of a unit," said Croll. "We've looked over clips and seen where we have made mistakes.
"I think the introduction of Tilly (Andy Tillson) has helped a lot. Obviously he was a defender and he has got us working as a unit and hopefully we can continue with that. The job is not done. We have got one clean sheet, but the task is to keep as many clean sheets as we can as a back four."
City travel to Barnet on Saturday where Croll and his teammates will be targeting another shut-out.


text:
Democrats set for first view of potential 2020 candidates
© 2017 Cable News Network, Inc.

White House chief usher Angella Reid, the first woman to serve in the position, is no longer in her post, a White House official confirmed Friday. The official gave no reason when asked.

By: CNN
Forty-two months away from the 2020 election, Democrats are set to get their first side-by-side view of their choices to oppose President Donald Trump.
A who's who of prospects for the Democratic 2020 presidential nomination -- none declared, of course, but none ruling national ambitions out, either -- will appear at a daylong event hosted by the Center for American Progress.
The liberal think tank's first-ever "Ideas Conference" is poised to allow those vying to lead the party to test-drive their economic messages and arguments a year and a half before any of them would actually have to head to Iowa and New Hampshire to campaign.
Massachusetts Sen. Elizabeth Warren is set to deliver the lunchtime keynote, while New Jersey Sen. Cory Booker will deliver the closing speech. Also on tap -- and seen as potential 2020 candidates -- are New York Sen. Kirsten Gillibrand, California Sen. Kamala Harris, Minnesota Sen. Amy Klobuchar, Connecticut Sen. Chris Murphy and Oregon Sen. Jeff Merkley.
From the executive ranks, Los Angeles Mayor Eric Garcetti will open the event, while Montana Gov. Steve Bullock, Virginia Gov. Terry McAuliffe and North Carolina Gov. Roy Cooper are also set for speaking roles.
Other leading Democrats, including House Minority Leader Nancy Pelosi, liberal mega-donor Tom Steyer, Gold Star father Khizr Khan and influential activists are slated to appear.
The event comes as the Democratic Party -- energized by a protest movement unlike anything the party has seen for decades -- searches for new voices at its forefront.
Former President Barack Obama has departed the political stage for now, and former Vice President Joe Biden told a crowd recently that he will not run in 2020.
It's left Democrats facing a nominating contest much more like 2004, when John Kerry emerged from a wide-open field, or 2008, when Obama bested Hillary Clinton and John Edwards, than recent contests with well-established incumbents or front-runners.
By this stage in those cycles, prospective candidates "were working pretty hard at it" behind the scenes, said Bob Shrum, a veteran of Democratic campaigns, including Al Gore's in 2000 and Kerry's in 2004.
"There's a lot more happening behind the scenes in terms of folks maneuvering to line up fundraisers, political talent, how they're going to put a campaign together," Shrum said.
So at a cattle call like Tuesday's, he said, "you want to do well."
"First of all, you have to stand up to Trump -- visibly, consistently and cogently -- on everything from health care to tax fairness to the Russia investigation," he said. "Two, articulate a compelling message on economic and social justice, and you can't choose one over the other."
Vermont Sen. Bernie Sanders has by far the largest megaphone of any Democrat -- and his massive email list built in 2016 would give him a huge fundraising advantage. But Sanders would also be 79 years old on Election Day 2020.
For other potential candidates, the 2018 midterm cycle is more important. It's an opportunity to curry favor with House members and senators on the ballot this cycle by campaigning and raising money for them while also elevating their own profiles and meeting local party honchos, said Mitch Stewart, a founding partner of 270 Strategies and a veteran of Obama's campaigns.
Stewart argued cattle calls are "less important now" than they were in 2004 and 2008 -- in part because social media tools like Twitter allow more opportunities for potential candidates to reach wide swaths of the party's electorate. He pointed to Booker's Twitter account during his tenure as Newark mayor as an example.
But events like Tuesday's also offer potential candidates opportunities to test-drive a message that reaches beyond an energetic base, Stewart said.
"What I haven't really seen any of the potential Democratic candidates do is put out a positive message that can try to break the bond that Trump has with some of his voters," he said.
"And I think right now, it's just good to have activism, it's good to have energy," he said. "But at some point, a candidate's going to have to channel that energy into something a bit more constructive and talk about how Democrats offer a different economic vision that can peel off some of these voters that were sort of duped by Trump."


Can't hear Trap's theme tune?
I like this. It's certainly not the best shoot em up around, but it's enjoyable and great fun to play. There are plenty of nice little touches about the program, like the cargo catching, the way you have to shoot a set amount of targets and Commandoesque bonus bit at the end. The hidden demo program is also superb -- it realty livens up the whole package. The game requires a fair bit of playing before you can get anywhere with it, and doing so is enjoyable and worthwhile. The graphics are fine and the sound great -- if you're into shoot em ups then check this one out.
There does seem to be a spate of shoot em ups infiltrating the 64 market at me moment, and I am happy to say that Trap is one of the better ones. The game itself is fun to play and a mention must go to the atmospheric accompanying music which is very impressive. As well as a game, there is a neat demo mode which features a bloke playing a tom-tom whilst watching a screen on which a science fiction film is presented. The graphics are fun, the sound is super, and overall it's a jolly good package for hardened shoot em up fans and beginners alike.
Trap is set a long way into the future -- not just the odd few thousand years, no, we're talking aeons here, a time where the ultimate deterrent may become the ultimate destruction of life as we know it.
As pilot of an Intergalactic Hyper Hearse you have penetrated a place where human life strains to exist. Your mission is to defend your home planet against your once peaceful ally. The problem you are faced with is this: can aggression and mindless violence further the cause of peace which you are trying to restore? A tricky question to answer, but being the hero that you are you must succeed and prove yourself worthy as a legendary space fighter.
Your life endangering mission is split into three parts, each testing various aspects of your skills. The first section tests your manoeuvring and reflex capabilities in flight. To do this the nasty forces have launched a hail of volatile space mines which your ship has either to avoid or obliterate. Luckily, your battle cruiser is equipped with the latest in trendy high powered space blasters.
Having survived the shower of mines you find yourself flying over the Zarkab Valley, complete with rivers and rapids -- a test of courage and intelligence. There are three forms of invading nasties which have to be destroyed: meteors; alien craft, which can be attacked from the front or annihilated with a quick blast of your exhaust pipe; and lasers which flit across the valley and have to be cut off before you can proceed. Accompanying these meanies are an assortment of aliens, such as a fleet of Police Craft.
Fuel depots are scattered across the landscape and provide extra power when bombed. Oh, by the way -- brown and black aliens can't be destroyed, no matter how hard you blast 'em. They are only present to cause trouble.
The final part of the test places you far from your craft on a distant plain. This is designed to test your stealth and determination on foot, and is reminiscent of Commando in that you have to battle your way through the undergrowth, blowing everything to smithereens. Most important here is the collection of spherical objects which are in fact Orbs, the currency at the future. With sufficient Orbs yow can buy a more powerful space craft which will help you as your quest continues.
Your score is displayed alongside the playing area and also shows the amount of lasers, boats and aliens which have to be destroyed.
I admit that the graphics are all very colourful, and the sound is fairly good too -- but the game? Where is the game? All Trap consists of is your basic shoot em up, and what a basic idea it is. I felt that however far I got there was no actual difference in the game, only in the amount at baddies on the screen. The whole of the game is very Commando-ish, and just a case of progressing over the same landscape again and again. But if you don't like the game you could always watch the demo, which must be one of the best presented I've seen on the Commodore. But a program shouldn't consist of pretty graphics and flashy demos alone!
Interesting documentation and many neat touches such as the demo.
Big, bold and on the whole well defined, although somewhat 'lacking' at times.
Stunning soundtrack and lots of good, muffled spot FX.
Ten tough and demanding levels to keep you going.
A neat demo and lots of good solid blasting for your money.
A good shoot em up with many attractive features.
In the original review the screenshots were printed upside down!
Notes: The review fails to mention that in order to progress to the Commando-style phase, you have to destroy the number of (A)liens, (B)oats and (L)asers that is displayed at the bottom right corner of the screen.
Hold down SHIFT and type RAT while on the title screen to access some hidden options.
Enter DEMO in the hi-score table to access the hidden demo.


text:
Hey Venus!
by Marc Hogan
The prolific and dependable Welsh band returns, with Broken Social Scene producer David Newfeld at the helm and impeccable string arrangements from the High Llamas' Sean O'Hagan.
Eight albums in, Super Furry Animals have been around long enough for reviews to start out by saying how long they've been around. When the Welsh psych-pop band first played the main stage at the UK's Reading Festival in 1996, the headliners were Black Grape, the Prodigy, and the Stone Roses in their catastrophic last performance, sans guitarist John Squire. Of those groups, only the Prodigy have put out new music in this millennium-- and even that was too much.
Wrongly pigeonholed at first as a Welsh Britpop band, the Super Furries have lived forever by comparison. They're still releasing albums at a steady clip while their erstwhile contemporaries have either fallen silent (Radiohead), gone on hiatus (Blur), turned to dogshit (Oasis), or gone on hiatus, turned to dogshit, and then reunited (the Verve). Including side projects, B-sides, and other extras, the SFA catalogue is sprawling but rewarding, topped only by Damon Albarn among UK artists from that earlier period (Jarvis Cocker isn't prolific enough). Not even devotees can hope to memorize every nuance. Some of the best bits are sung in Welsh!
Aside from the excellent singles compilation Songbook, which shows some of the band's breadth (if only some of their depth), the best place to start with the Super Furries has traditionally been their latest album. Hey Venus!, the band's worthwhile Rough Trade debut, doesn't quite measure up to that standard-- it has to contend with frontman Gruff Rhys' Pitchfork-recommended Candylion, which hit the U.S. in March. That record indulged Rhys' eccentricities within a basic, acoustic guitar-oriented setting; Hey Venus! broadens that instrumental palette for a set of a shiny (not necessarily happy) rock, pop, and country-rock songs that consolidate the band's pre-Love Kraft explorations. Broken Social Scene's David Newfeld is behind the album's clear-sounding production (as he was on the excellent EP by countryfolk Los Campesinos!), and the High Llamas' Sean O'Hagan again proves an immaculate string arranger.
First impressions of Hey Venus! may label it a retreat, but that isn't quite right. It's just that a group I've complimented for their sublime gimmickry focus more on songcraft here than stagecraft; as Rhys recently told Pitchfork, reports suggesting a "concept album" were greatly exaggerated. Spector-walled "Run-Away" does away with the previous album's "no more romantic comedies" brainstorm, to deviously swooning effect. The Zombies-esque orchestral pop of first single "Show Your Hand" and the falsetto-laden quiet storm of "The Gift That Keeps Giving" have more historical precedent than some SFA escapades, but they enchant even in such a broader context. Keyboardist Cian Ciarán might not bring as much of the techno influence he contributed to previous albums, except the electronic bleeps on explosively catchy "Into the Night" (which gives the album its title and features a Turkish electric saz) or punky "Neo Consumer". However, Ciaran's recent doowop obsession shows through on his majestic composition "Carbon Dating"-- almost on par with the still-bowling-me-over "Bowl Me Over", from Ciaran's Acid Casuals project.
The Furries can't only write beaming melodies, deck them out with sparkling instrumentation and harmonies, and not also have a little fun. Too many people seem to have wrongly assumed that because Love Kraft had gloomy cover art and slower songs it was dead serious. It wasn't, and neither is Hey Venus!. "Suckers!" lives up to its punctuation (a Welsh trend?) with anthemic acoustic guitar strums and fuzzed-out lead guitar fills like on Radiator's "Demons", plus hammer dulcimer and lyrics that give the almost-guiltily decadent arrangement the band's old Situationist bite: "Suckers playing stadiums, filling them to the rafters, singing power-ballad songs," goes this stadium-ready power ballad, but there's a sucker born every line. Guitarist Huw "Bunf" Bunford's "Battersea Odyssey" takes a whimsical, horn-fronted trip to inner city London. His ambulance-siren vocals on "Baby Ate My Eight Ball" help make up a track weird enough for any SFA album since 1996 debut Fuzzy Logic.
It's fair to say the songs lack the epic sweep of the last couple of albums, but there's still little about Hey Venus! to fault beyond the faint whiff of musical conservatism ("Hey, this almost reminds me of a niche-marketable Super Furry Animals!"). While the pun underlying quick-hit opener "Gateway Song" is dated, it remains relevant and lively: "It brings us up nicely to the harder stuff," Rhys brags. Finale "Let the Wolves Howl at the Moon" can't really add much to the Byrdsian twang SFA perfected on Rings Around the World's "Run! Christian, Run!", but its more compact, yearning lyrics also recall Belle and Sebastian's dazzling The Life Pursuit closer "Mornington Crescent".
Hey Venus! concludes on a disturbing note for an album by such a long-running band: "The end, it comes so soon," Rhys sings. On "Suckers!", though, he seems to clarify, "It's over, but we've just begun." Here's hoping for the latter. If the Super Furries can't keep coming along to baffle us a few times every couple of years, then the terrorists will have won. The headliners at this year's Reading and Leeds Festivals were Smashing Pumpkins, Red Hot Chili Peppers, and Razorlight, so clearly, the Man don't give a fuck.


Its only the 13th of Nov 2010, and we have a sudden snow storm. Its unusual for the first snow to accumulate on the ground but its been snowing the entire night and I guess its cold enough outside.
Good thing I watched the weather and did all my groceries yesterday.
Here's the food for the weekend. Chicken Salad (Pre-made from costco). Broccoli, sauteed onions, tomatoes and avacado. A very tasty and filling salad.
Hi, Your pic on first snow looks beautiful. Seems heavy snow to me.
Your 2nd try on squash looks better but 2 is too much, looking at the portions. Anyway have fun.


Living sustainably at home means taking large and small steps in our everyday lives to make our surroundings cleaner and healthier. It means minimizing our demands on the environment and our discharges to it.
The links at left highlight many of the things you can do to practice sustainability in your home. They are all easy to do, don't require major investments of time or money, and result in a cleaner environment for you and your family.


text:
UGHWhy Wasn't Harry at Golden Globes?
2017 was a big year for Harry Styles, and we're not just talking in terms of his music. Yes, of course, he did put out his solo debut album which garnered lots of...
Updated: Sep 15, 2017 10:24 am
Your Complete GuideGet to Know the Other Cutie in 'Dunkirk' Who Isn't Harry Styles, Fionn Whitehead
If you've seen the trailer and/or promo appearances for Christopher Nolan's new Dunkirk movie, chances are your gaze has been averted away from Harry Styles (a very rare occurrence) towards his pal Fionn...
True HeroHarry Styles Defends His Fans at the 'Dunkirk' Premiere — and Our Hearts Can't Handle It
Just when we thought we couldn't adore sweet, darling prince Harry Styles any more than we already do, he rides in like a gorgeous knight in shining armor with fabulous hair to defend...
WatchHarry Styles Walks Out of a 'Dunkirk' Interview, But JK It's Just for Fun
Imagine being told you were gonna interview Harry Styles and Fionn Whitehead for Christopher Nolan's really-rather-big-time Dunkirk movie. The prospect of having their oh-so-fresh faces but meters away from yours. The scent of...
ScandalousHarry Styles Thinks His Swearing May Be the Reason Why 'Dunkirk' Is Rated PG-13
You know what it's like when you start a new job. You're on your best behavior, you have a little Zara spree to make sure you look vaguely sophisticated and you show up...
Updated: Jul 15, 2017 10:45 am
Say It Isn't So!Harry May Retire From Acting
Without a doubt, Harry Styles is taking the world and fans by storm, even if the rest of One Direction isn't by his side. The heartthrob is getting ready to head out on...
Updated: Jul 14, 2017 6:03 pm
A Sign of the TimesHarry Styles Is Living His Best Life at the 'Dunkirk' Premiere and It's Literally All You Need Today
The time has arrived: Harry Styles has attended the movie premiere for Dunkirk, the first feature he is starring in as a real actor. We know, we know. Harry along with his One...
Updated: Apr 3, 2018 10:56 am
So ProudReal-Life Angel Harry Styles Blesses Us With His First Speaking Lines in 'Dunkirk'
When Harry Styles cut his hair last year year, we entered into a period of brief but intense mourning — until, that is, it became apparent that the former One Directioner's new crop...
Apr 2, 2017 12:34 pm
STAR POWER'Dunkirk' Director Reveals How Harry Got Cast
The Harry Styles news just keeps on coming! Just on the heels of the singer making not one but two huge announcements about the solo music career he is about to embark on...


text:
Q: Uniqueness of solutions to systems of linear partial differential equations based on an initial condition Consider the following linear partial differential equation:
\begin{align}
& C_{il}(x) {\partial f_i \over \partial x_l} + {\partial f_i \over \partial x_m} = D_{ik}(x) y_k \\ & E_{sl}(x) {\partial y_s \over \partial x_l} + {\partial y_s \over \partial x_m} + F^s_{qj}(x) {\partial f_q \over \partial x_j} = G_{sk}(x) y_k
\end{align}
$i,q = 1, ..., n_1$, $s,k = 1, ..., n_2$, $l = 1, ..., m-1$, $j = 1, ..., m$, summation over $l$, $k$, $q$ and $j$ is implicit. No summation over $i$ or $s$. $x = (x_1, ..., x_m)$,  $f_i, y_s : [-a, a]^m \rightarrow \mathbb{R}$.
$C_{il}, G_{sk}, F^s_{qj}, E_{sl}(x), D_{ik} : [-a, a]^m \rightarrow \mathbb{R}$ are $C^r$ (for some $r \geq 1$) functions.
Lets assume $f_i$ and $y_s$ satisfy an initial condition of zero at $x_m = 0$: $f_i (x_1, ...,x_{m-1}, 0) =0$, $y_s (x_1, ...,x_{m-1}, 0) =0$ for $(x_1, ...,x_{m-1}) \in [-a, a]^{m-1}$. The question is as follows:
The linear system of PDE above obviously has a solution of zero based on an initial condition of zero. Is this solution unique? Or can it have a non-trivial differentiable solution based on an initial condition of zero? Is there any theorem that would guarantee the uniqueness of a zero solution for linear systems of PDE of the form above based on an initial condition of zero?
Having a non-trivial solution based on an initial condition of zero would lead to some unsatisfactory results. For example if the above linear system of PDE has a non-trivial solution then a constant multiple of that solution would also be a solution based on an initial condition of zero, therefore this would lead to an infinite family of solutions based on an initial condition of zero. Or if we consider the discretization of the above linear system of PDE and want to solve it numerically at each discretization hyperplane in the $x_m$ direction parallel to the initial condition hyperplane we will obtain a zero value for the functions $y_s$ and $f_i$. Therefore it looks like that a non-trivial solution cannot be captured by the discretization of the above PDE.
I am looking for a more rigorous statement that would guarantee that the above system of PDE has a unique solution of zero based on an initial condition of zero. Need it for a paper that I am working on.


text:
Rutilus Rafinesque, 1820
è un genere di pesci ossei appartenenti alla famiglia dei Cyprinidae ed all'ordine dei Cypriniformes.

Distribuzione e habitat
I membri di questo genere sono diffusi nelle acque dolci di tutta Europa (eccetto la zona più settentrionale).Tre specie (R. pigus, R. aula e R. rubilio) sono sicuramente autoctone ed endemiche del territorio italiano, una (R. rutilus) è alloctona e ben acclimatata in molte acque soprattutto della Pianura Padana.

Specie
Al genere appartengono 17 specie:
Rutilus albus
Rutilus aula
Rutilus basak
Rutilus caspicus
Rutilus frisii
Rutilus heckelii
Rutilus karamani
Rutilus kutum
Rutilus meidingerii
Rutilus ohridanus
Rutilus panosi
Rutilus pigus
Rutilus prespensis
Rutilus rubilio
Rutilus rutilus
Rutilus virgo
Rutilus ylikiensis

Bibliografia
Bruno S., Maugeri S. Pesci d'acqua dolce, atlante d'Europa, Mondadori 1992
Kottelat M., Freyhof J. Handbook of European Freshwater Fishes, Publications Kottelat, Cornol (CH), 2007

Altri progetti

Collegamenti esterni
 Rutilus, elenco specie su FishBase
 Scheda su Ittiofauna

Cyprinidae

redpajama_set_name: RedPajamaWikipedia


Seriously thinking of having a weight bench because you are in need of an exercising bench? Really! You may think of trying Body Solid Fid46 Exercise Bench because it is strong and very solid. The reason behind this stronger and heavier quality is its rock steel construction. This is why this bench is more durable and long-lasting.
Before using any weight bench, you should think of its safety concern because safety is foremost for any work. Also, Body Solid Fid46 Exercise Bench is very comfortable and safe for any exerciser because of having two sets of cushioned hand grips. Also, this bench has a soft and comfortable back pad too what provides safety for your back as a user.
Besides, the Body Solid Fid46 Exercise Bench has 9-position with flat, incline and decline. This versatile positioning helps you exercising easily in different style and position. Also, it has leg developer that is removable, meanwhile and makes it a breeze to work out your quads or hamstrings while sitting on the bench. So, considering all the facts, you may try this bench.
The Body Solid Fid46 Exercise Bench has nine positioning systems including flat, incline and decline. This is why you can use the bench differently as you want to position the seat and back pad.
The rock steel construction has been used in the construction of Body Solid Fid46 Exercise Bench. Also, the solid steel has been used. This is why the bench is more durable and long-lasting.
The Body Solid Fid46 Exercise Bench has a back pad which makes you feel comfortable in time of exercising. Also, the bench has a soft grip to protect your hand. So, it needs no telling the fact that this back pad and soft hand grip provides safety and comfort in time of using the bench.
The Body Solid Fid46 Exercise Bench has a removable leg developer with upholstered 4-by 8-inch rollers which make your exercise easy because the leg developer helps you adjust with the bench easily.
The Body Solid Fid46 Exercise Bench has the maximum weight capacity of 1000Ibs which is very necessary for a better exercising. In this consideration of higher weight capacity, Body Solid Fid46 Exercise Bench claims to be your choice.
As an exercising figure, you need a perfect weight bench. In this consideration, you may find the Body Solid Fid46 Exercise Bench preferable because it has a 9-positioning system, long-lasting life, and comfortable usage with higher weight capacity and also it is to mention that you might be satisfied comparing the bench with its available alternatives. So, considering all the matters, you may give this bench a good try.


The satellite phone was once tech-heavy neighbor's answer to common issues regarding communications. But now, it's a much more affordable and accessible technology. Having a family reunion in the Gobi desert and still want to get in touch with the office? The satellite phone will take care of it. Heading somewhere no mobile phone has ever gone before? No problem.
A satellite phone is the one gadget to have if you ever get lost in a desert island. But what about if you're trapped in a deep crevasse or having a party deep in the Grand Canyon? Can the satellite phone still keep you in touch?
The bottomline is that satellite phones CAN work in canyons. That is, provided there is a clear line of sight that will allow signals from the satellite to reach the phone and back. That means, the more open your view of the sky is, the better reception you'll have, even if you're located deep in the canyon.
Assuming that you will be using a hand-held satellite phone, you will require a minimum of 80% unobstructed view from where you stand and the sky above you. Locations in a canyon that are partially enclosed or obstructed by protruding rocks or trees will affect the strength of the signal, resulting to dropped calls or difficulty in making and receiving calls.
A good solution would be using an external antenna that can pull in the signal and make it available for you. Of course, this too, will require a minimum of 80% unobstructed view.
Another issue that may affect the use of satellite phones in canyons is the positioning of the satellite at the time you attempt to make a call. However, there are providers that use Low Earth Orbiting satellites or LEOs. These will make it easier for you to use your satellite phone when you need it most.
Some providers plan to improve their satellite phone services in the coming years, so there's plenty of stuff to look forward to, particularly those of you who might go on a trip to the canyons. The service will make it possible for satellite signal to be coursed through terrestrial cellular sites when satellite line-of-sight is a problem. It can then switch back to satellite mode once the ideal line-of-sight is obtained.


Headache Diary- Keep a diary of when your headaches occur, along with any triggers, and share the information with your healthcare provider.
Dr.Kim has moved to the new location.
To serve our patients better, Dr.Kim's office has moved to the new location. For more information, Visit our website; www.taoofmedicine.com.
Want some natural alternatives to ease your aching head?
Large Intestine 4 is such a powerful acupuncture point for headaches that is often referred to as "the headache point". It is located on the padded area of your hand between the thumb and index finger, between the first and second metacarpal bones. Massage this point with your thumb on both hands for approximately 30 seconds.


Developed software and device firmware for sensors and actuator systems in C++ and MISRA C.
Designed an electric button to display number of days a clothing has been left unused in closet.
Developed a Robot control system and successfully built the robot car using state machines.
Has experience with embedded software principals (there are many, these just happen to be a few he listed).
Interfaced the DC motors using PWM and the Sharp IR sensors using ADC and Timer.
Designed a state machine and implemented in the Altera SOC using Verilog.
People with embedded experience in industries that deal with electromechanical systems.


Aimed at primary care providers, the recommendations encourage non-narcotic alternatives or short-term opioid prescriptions and patient monitoring.
A genetic predisposition toward learning poorly from negative outcomes may influence behaviors leading to weight gain, a study shows.
Bacterial Enzyme an Antismoking Aid?
A compound that degrades nicotine before it reaches the brain could serve as a successful smoking cessation therapy, according to an in vitro study.
A modified bacterial protein elicits a robust immune response against a cocaine-linked molecule in mice.
Smokers light up less after smelling cigarette smoke together with foul odors during sleep, a study shows.
UV Like an Addictive Substance?
Chronic exposure to ultraviolet light leads to endorphin release and signs of addiction in mice.


text:
Free Open Day - Saturday 26th April @ 3.30pm. Come look around.
by sifu Apr 18, 2014 0 comments Latest News & Events / Martial Arts London / Self Defence London / Fitness Training London
Are you interested in getting fit, and staying healthy while learning to defend yourself? Then consider joining our unique 4 week martial arts and fitness course for new starters. You don't need to be fit or have any experience in martial arts or Wing Chun. We will motivate and inspire you to train to improve your fitness and your self defence capability.
Fight Science Tactical Workshop New York 2017
by sifu Aug 12, 2017 0 comments Latest News & Events
*Don't miss this exciting opportunity to train with one of the leading Wing Chun practitioners in New York on 23rd September 2017*
Dr Mark Phillips to Teach #WingChun in Boston, May 2017
by sifu Apr 16, 2017 0 comments Latest News & Events
Sifu Mark Phillips will be teaching Wing Chun seminar in Boston, on Saturday the 20th of May. It will be a full day of Wing Chun training, with two other world recognised Sifus also teaching on the day: Philip Romero of New Mexico and Jim Roselando of Boston.
Dr Mark Phillips Interviewed by addicted2wingchun.com
by sifu Feb 25, 2017 0 comments Latest News & Events
Sifu Mark Phillips was recently interviewed on The Sifu's Stories, a new Wing Chun podcast founded by Bogdan Rosu. His website, Addicted2WingChun.com, provides training resources and inspiration for Martial Artists who want to become the strongest version of themselves.
During the interview, Sifu Phillips discusses finding Wing Chun as a teenager, the harmonies and conflicts between different Martial Arts philosophies, and how to overcome training plateaus.
Beginners Induction Course 6th April 2016
If you are thinking of starting a new martial art in order to get fit or to learn how to defend yourself then look no further. As one of the leading martial arts schools in the UK, we have some of the very best facilities and instruction to get you started.
London Wing Chun Academy: What Makes us Different
by sifu Mar 10, 2016 0 comments London Wing Chun Academy / Latest News & Events / Martial Arts London
The London Wing Chun Academy adopts traditional martial arts values of discipline, dignity, and integrity. However, it is a Wing Chun school in every sense of the word. The academy is a unique martial arts & fitness gym a range of specialised classes in Wing Chun, Kickboxing, Brazilian Jiu Jitsu, Yoga, and Fitness.
Wing Chun Illustrated Issue 25 | Mark Phillips Front Cover
Wing Chun Illustrated is the world's only magazine dedicated to Wing Chun regardless of lineage making it an unbiased peer credited publication and a leading voice of the Wing Chun community. The magazine features articles by and about the world's greatest exponents of the art. With that in mind, we are pleased to announce that our head Instructor Dr Mark Phillips is being featured on the front cover of issue 25 (which is currently on sale).
LWCA to Appear on Greek Television and Newspaper
by sifu Nov 24, 2014 0 comments Latest News & Events / London Wing Chun Academy
The head of our school Dr Mark Phillips was recently invited to coach the Crete San Shou Kickboxing team in preparation for future competitions in Greece. Haing taught San Da throws and takedowns on day 1, How to use Wing Chun against common Boxing combinations on day 2, and finally traditional aspects of Wing Chun kicking and Chi Gerk (Stick with Legs) on the final seminar.
Not Just an Ordinary Wing Chun School
by sifu Apr 28, 2014 0 comments Latest News & Events / Martial Arts London / Self Defence London
Our success does indicate that we are different from the typical Wing Chun school. We are effective, dynamic, and capable of fighting in arenas out of our comfort zone. Most importantly our training methods and approach differs by far too many Wing Chun schools in London.
LWCA Fight Team Succeeds in BCCMA San Shou Tournament
by sifu Apr 17, 2014 0 comments Latest News & Events / Martial Arts London
The format of the competition was simple. Three 2 minute rounds, the winner is decided by knock out, or points accumulated by clean strikes, throws, takedowns, or push outs. Under these rules, three fighter's from the London Wing Chun Academy won one gold and two silver medals.