text:
layout: post
date:	2014-02-17 10:54:00
title:  When sight begins to falter...
tags: [archived-posts]
categories: archives
permalink: /:categories/:year/:month/:day/:title/
---
I've been having sudden flashes of "light" at the periphery of my vision; as I'd received a warning from my opthalmologist, in 2012, to go to him if ever it happened, I went immediately.

Yes, there has been retinal detachment in my right eye, but luckiy, it's not accompanied by a tear, so it does not require surgery. However, there are developing cataracts in both eyes (a very slow growth process, though) and I have been advised a surgical procedure to dissolve and remove them.

I have been noticing just a slight lessening in the clarity of my vision over the past year, and difficulty in low-light situations.

I am now getting my insurance papers in order (quite a long and daunting task in India!) and seeing if I am eligible to claim insurance for this procedure. But meanwhile, I was pondering on how life might be if, instead, I had been told that I had a progressive condition that would lead to my blindness.

The

<a href="http://en.wikipedia.org/wiki/Cortical_homunculus"> cortical homunculus </a>

shows the amount of information about the world that we derive from our various senses, and parts of the body...the eye, and sight, play a major part in our sensory inputs.

I remember, while doing a training program for teaching blind and low-vision people, having an Orientation and Mobility session where we were blindfolded and asked to reach the main road, from the venue (Ramana Maharishi Academy for the Blind) where the training program was being held. The main road! Most of us couldn't even make it down the stairs to the ground floor from our classroom, without falling several times, and suffering deep trauma about our ability to manage, and getting quite disoriented.

Everyone glibly claims that "those who are deprived of sight develop the other senses to a remarkable degree" but surely this cannot be true of every single person who loses sight...so I wonder how the world, and life, would change without the magic of sight. I am able to shrug my very slight discomfort off...but what must it be like for a person who knows that s/he will lose the ability to see?

It makes me grateful, all over again, for the wonderful gift of having a body and mind which are "normal" and do not need constant care. My thoughts go out to those who have to get along without one (or more) of their senses.


text:
<?php
/**
 * Definition of the FindFolderParentType type
 *
 * @author James I. Armes <http://www.jamesarmes.net>
 */

/**
 * Definition of the FindFolderParentType type
 *
 * @author James I. Armes <http://www.jamesarmes.net>
 */
class EWSType_FindFolderParentType extends EWSType {
	/**
	 * Folders property
	 *
	 * @var EWSType_ArrayOfFoldersType
	 */
	public $Folders;

	/**
	 * IndexedPagingOffset property
	 *
	 * @var EWSType_int
	 */
	public $IndexedPagingOffset;

	/**
	 * NumeratorOffset property
	 *
	 * @var EWSType_int
	 */
	public $NumeratorOffset;

	/**
	 * AbsoluteDenominator property
	 *
	 * @var EWSType_int
	 */
	public $AbsoluteDenominator;

	/**
	 * IncludesLastItemInRange property
	 *
	 * @var EWSType_boolean
	 */
	public $IncludesLastItemInRange;

	/**
	 * TotalItemsInView property
	 *
	 * @var EWSType_int
	 */
	public $TotalItemsInView;

	/**
	 * Constructor
	 */
	public function __construct() {
		$this->schema = array(
			array(
				'name' => 'Folders',
				'required' => false,
				'type' => 'ArrayOfFoldersType',
			),
			array(
				'name' => 'IndexedPagingOffset',
				'required' => false,
				'type' => 'int',
			),
			array(
				'name' => 'NumeratorOffset',
				'required' => false,
				'type' => 'int',
			),
			array(
				'name' => 'AbsoluteDenominator',
				'required' => false,
				'type' => 'int',
			),
			array(
				'name' => 'IncludesLastItemInRange',
				'required' => false,
				'type' => 'boolean',
			),
			array(
				'name' => 'TotalItemsInView',
				'required' => false,
				'type' => 'int',
			),
		); // end $this->schema
	} // end function __construct()
} // end class FindFolderParentType

redpajama_set_name: RedPajamaGithub


text:
using Microsoft.Test.ModuleCore;

namespace XLinqTests
{
    public class XContainerReplaceNodesOnDocument : XContainerReplaceNodes
    {
        public override void AddChildren()
        {
            AddChild(new TestVariation(OnDocument) { Attribute = new VariationAttribute("XDocument(whitespace only): Replace with multiple nodes") { Params = new object[] { 4, "\t", true }, Priority = 1 } });
            AddChild(new TestVariation(OnDocument) { Attribute = new VariationAttribute("XDocument(empty): Replace with single node") { Params = new object[] { 1, "", true }, Priority = 2 } });
            AddChild(new TestVariation(OnDocument) { Attribute = new VariationAttribute("XDocument(regular): Replace with multiple nodes") { Params = new object[] { 4, "\n<?PI?><root Id='a0'/>\t<!--comment-->", true }, Priority = 1 } });
            AddChild(new TestVariation(OnDocument) { Attribute = new VariationAttribute("XDocument(empty): Replace with multiple nodes") { Params = new object[] { 4, "", true }, Priority = 2 } });
            AddChild(new TestVariation(OnDocument) { Attribute = new VariationAttribute("(BVT)XDocument(regular): Replace with multiple nodes") { Params = new object[] { 2, "\n<?PI?><root Id='a0'/>\t<!--comment-->", true }, Priority = 0 } });
            AddChild(new TestVariation(OnDocument) { Attribute = new VariationAttribute("XDocument(whitespace only): Replace with single node") { Params = new object[] { 1, "\t", true }, Priority = 1 } });
            AddChild(new TestVariation(OnDocument) { Attribute = new VariationAttribute("XDocument(regular): Replace with single node") { Params = new object[] { 1, "\n<?PI?><root Id='a0'/>\t<!--comment-->", true }, Priority = 0 } });
        }
    }
}


text:
package remoteworkers

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	anypb "google.golang.org/protobuf/types/known/anypb"
	reflect "reflect"
	sync "sync"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

// Describes a worker, which is a list of one or more devices and the
// connections between them. A device could be a computer, a phone, or even an
// accelerator like a GPU; it's up to the farm administrator to decide how to
// model their farm. For example, if a farm only has one type of GPU, the GPU
// could be modelled as a "has_gpu" property on its host computer; if it has
// many subproperties itself, it might be better to model it as a separate
// device.
//
// The first device in the worker is the "primary device" - that is, the device
// running a bot and which is responsible for actually executing commands. All
// other devices are considered to be attached devices, and must be controllable
// by the primary device.
//
// This message (and all its submessages) can be used in two contexts:
//
// * Status: sent by the bot to report the current capabilities of the device to
// allow reservation matching.
// * Request: sent by a client to request a device with certain capabilities in
// a reservation.
//
// Several of the fields in this message have different semantics depending on
// which of which of these contexts it is used. These semantics are described
// below.
//
// Several messages in Worker and its submessages have the concept of keys and
// values, such as `Worker.Property` and `Device.Property`. All keys are simple
// strings, but certain keys are "standard" keys and should be broadly supported
// across farms and implementations; these are listed below each relevant
// message. Bot implementations or farm admins may add *additional* keys, but
// these SHOULD all begin with an underscore so they do not conflict with
// standard keys that may be added in the future.
//
// Keys are not context sensitive.
//
// See http://goo.gl/NurY8g for more information on the Worker message.
type Worker struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// A list of devices; the first device is the primary device. See the `Device`
	// message for more information.
	Devices []*Device `protobuf:"bytes,1,rep,name=devices,proto3" json:"devices,omitempty"`
	// A worker may contain "global" properties. For example, certain machines
	// might be reserved for certain types of jobs, like short-running compilation
	// versus long-running integration tests. This property is known as a "pool"
	// and is not related to any one device within the worker; rather, it applies
	// to the worker as a whole.
	//
	// The behaviour of repeated keys is identical to that of Device.Property.
	Properties []*Worker_Property `protobuf:"bytes,2,rep,name=properties,proto3" json:"properties,omitempty"`
	// Bots can be configured in certain ways when accepting leases. For example,
	// many leases are executed inside a Docker container. To support this, the
	// bot needs to be able to report that it has Docker installed (and knows how
	// to execute something inside a container), and the task submitter needs to
	// specify which image should be used to start the container. Similarly, a
	// lease may be able to run as one of several users on the worker; in such
	// cases, the bot needs to report what users are available, and the submitter
	// needs to choose one.
	//
	// Therefore, when this message is reported by the bot to the service, each
	// key represents a *type* of configuration that the bot knows how to set,
	// while each *value* represents a legal value for that configuration (the
	// empty string is interpreted as a wildcard, such as for Docker images).
	// When this message is sent by the server to the bot in the context of a
	// lease, it represents a command to the bot to apply the setting. Keys may
	// be repeated during reporting but not in a lease.
	Configs []*Worker_Config `protobuf:"bytes,3,rep,name=configs,proto3" json:"configs,omitempty"`
	// Implementation-dependent metadata about the worker. Both servers and bots
	// may define messages which can be encoded here; bots are free to provide
	// metadata in multiple formats, and servers are free to choose one or more
	// of the values to process and ignore others. In particular, it is *not*
	// considered an error for the bot to provide the server with a field that it
	// doesn't know about.
	Metadata []*anypb.Any `protobuf:"bytes,4,rep,name=metadata,proto3" json:"metadata,omitempty"`
}

func (x *Worker) Reset() {
	*x = Worker{}
	if protoimpl.UnsafeEnabled {
		mi := &file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Worker) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Worker) ProtoMessage() {}

func (x *Worker) ProtoReflect() protoreflect.Message {
	mi := &file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_msgTypes[0]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Worker.ProtoReflect.Descriptor instead.
func (*Worker) Descriptor() ([]byte, []int) {
	return file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_rawDescGZIP(), []int{0}
}

func (x *Worker) GetDevices() []*Device {
	if x != nil {
		return x.Devices
	}
	return nil
}

func (x *Worker) GetProperties() []*Worker_Property {
	if x != nil {
		return x.Properties
	}
	return nil
}

func (x *Worker) GetConfigs() []*Worker_Config {
	if x != nil {
		return x.Configs
	}
	return nil
}

func (x *Worker) GetMetadata() []*anypb.Any {
	if x != nil {
		return x.Metadata
	}
	return nil
}

// Any device, including computers, phones, accelerators (e.g. GPUs), etc. All
// names must be unique.
type Device struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The handle can be thought of as the "name" of the device, and must be
	// unique within a Worker.
	//
	// In the Status context, the handle should be some human-understandable name,
	// perhaps corresponding to a label physically written on the device to make
	// it easy to locate. In the Request context, the name should be the
	// *logical* name expected by the task. The bot is responsible for mapping the
	// logical name expected by the task to a machine-readable name that the task
	// can actually use, such as a USB address. The method by which this mapping
	// is communicated to the task is not covered in this API.
	Handle string `protobuf:"bytes,1,opt,name=handle,proto3" json:"handle,omitempty"`
	// Properties of this device that don't change based on the tasks that are
	// running on it, e.g. OS, CPU architecture, etc.
	//
	// Keys may be repeated, and have the following interpretation:
	//
	//   - Status context: the device can support *any* the listed values. For
	//     example, an "ISA" property might include "x86", "x86-64" and "sse4".
	//
	//   - Request context: the device *must* support *all* of the listed values.
	Properties []*Device_Property `protobuf:"bytes,2,rep,name=properties,proto3" json:"properties,omitempty"`
}

func (x *Device) Reset() {
	*x = Device{}
	if protoimpl.UnsafeEnabled {
		mi := &file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Device) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Device) ProtoMessage() {}

func (x *Device) ProtoReflect() protoreflect.Message {
	mi := &file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_msgTypes[1]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Device.ProtoReflect.Descriptor instead.
func (*Device) Descriptor() ([]byte, []int) {
	return file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_rawDescGZIP(), []int{1}
}

func (x *Device) GetHandle() string {
	if x != nil {
		return x.Handle
	}
	return ""
}

func (x *Device) GetProperties() []*Device_Property {
	if x != nil {
		return x.Properties
	}
	return nil
}

// A global property; see the `properties` field for more information.
type Worker_Property struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// For general information on keys, see the documentation to `Worker`.
	//
	// The current set of standard keys are:
	//
	// * pool: different workers can be reserved for different purposes. For
	// example, an admin might want to segregate long-running integration tests
	// from short-running unit tests, so unit tests will always get some
	// throughput. To support this, the server can assign different values for
	// `pool` (such as "itest" and "utest") to different workers, and then have
	// jobs request workers from those pools.
	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	// The property's value.
	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
}

func (x *Worker_Property) Reset() {
	*x = Worker_Property{}
	if protoimpl.UnsafeEnabled {
		mi := &file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Worker_Property) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Worker_Property) ProtoMessage() {}

func (x *Worker_Property) ProtoReflect() protoreflect.Message {
	mi := &file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_msgTypes[2]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Worker_Property.ProtoReflect.Descriptor instead.
func (*Worker_Property) Descriptor() ([]byte, []int) {
	return file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_rawDescGZIP(), []int{0, 0}
}

func (x *Worker_Property) GetKey() string {
	if x != nil {
		return x.Key
	}
	return ""
}

func (x *Worker_Property) GetValue() string {
	if x != nil {
		return x.Value
	}
	return ""
}

// A configuration request or report; see the `configs` field for more
// information.
type Worker_Config struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// For general information on keys, see the documentation to `Worker`.
	//
	// The current set of standard keys are:
	//
	// * DockerImage: the image of the container. When being reported by the
	// bot, the empty value should always be included if the bot is able to pull
	// its own images; the bot may optionally *also* report images that are
	// present in its cache. When being requested in a lease, the value is the
	// URI of the image (eg `gcr.io/user/image@sha256:hash`).
	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	// The configuration's value.
	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
}

func (x *Worker_Config) Reset() {
	*x = Worker_Config{}
	if protoimpl.UnsafeEnabled {
		mi := &file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Worker_Config) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Worker_Config) ProtoMessage() {}

func (x *Worker_Config) ProtoReflect() protoreflect.Message {
	mi := &file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_msgTypes[3]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Worker_Config.ProtoReflect.Descriptor instead.
func (*Worker_Config) Descriptor() ([]byte, []int) {
	return file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_rawDescGZIP(), []int{0, 1}
}

func (x *Worker_Config) GetKey() string {
	if x != nil {
		return x.Key
	}
	return ""
}

func (x *Worker_Config) GetValue() string {
	if x != nil {
		return x.Value
	}
	return ""
}

// A device property; see `properties` for more information.
type Device_Property struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// For general information on keys, see the documentation to `Worker`.
	//
	// The current set of standard keys are:
	//
	// * os: a human-readable description of the OS. Examples include `linux`,
	// `ubuntu` and `ubuntu 14.04` (note that a bot may advertise itself as more
	// than one). This will be replaced in the future by more well-structured
	// keys and values to represent OS variants.
	//
	// * has-docker: "true" if the bot has Docker installed. This will be
	// replaced in the future by a more structured message for Docker support.
	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	// The property's value.
	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
}

func (x *Device_Property) Reset() {
	*x = Device_Property{}
	if protoimpl.UnsafeEnabled {
		mi := &file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Device_Property) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Device_Property) ProtoMessage() {}

func (x *Device_Property) ProtoReflect() protoreflect.Message {
	mi := &file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_msgTypes[4]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Device_Property.ProtoReflect.Descriptor instead.
func (*Device_Property) Descriptor() ([]byte, []int) {
	return file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_rawDescGZIP(), []int{1, 0}
}

func (x *Device_Property) GetKey() string {
	if x != nil {
		return x.Key
	}
	return ""
}

func (x *Device_Property) GetValue() string {
	if x != nil {
		return x.Value
	}
	return ""
}

var File_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto protoreflect.FileDescriptor

var file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_rawDesc = []byte{
	0x0a, 0x41, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72,
	0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2f,
	0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x77,
	0x6f, 0x72, 0x6b, 0x65, 0x72, 0x73, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x12, 0x25, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74,
	0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x65,
	0x72, 0x73, 0x2e, 0x76, 0x31, 0x74, 0x65, 0x73, 0x74, 0x32, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x91, 0x03, 0x0a, 0x06, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72,
	0x12, 0x47, 0x0a, 0x07, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f,
	0x6f, 0x6c, 0x73, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72,
	0x73, 0x2e, 0x76, 0x31, 0x74, 0x65, 0x73, 0x74, 0x32, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
	0x52, 0x07, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x56, 0x0a, 0x0a, 0x70, 0x72, 0x6f,
	0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e,
	0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x73, 0x2e, 0x76, 0x31,
	0x74, 0x65, 0x73, 0x74, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x2e, 0x50, 0x72, 0x6f,
	0x70, 0x65, 0x72, 0x74, 0x79, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65,
	0x73, 0x12, 0x4e, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74,
	0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x65,
	0x72, 0x73, 0x2e, 0x76, 0x31, 0x74, 0x65, 0x73, 0x74, 0x32, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65,
	0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
	0x73, 0x12, 0x30, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64,
	0x61, 0x74, 0x61, 0x1a, 0x32, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12,
	0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
	0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x30, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69,
	0x67, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
	0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xac, 0x01, 0x0a, 0x06, 0x44, 0x65,
	0x76, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x56, 0x0a, 0x0a,
	0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f,
	0x6c, 0x73, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x73,
	0x2e, 0x76, 0x31, 0x74, 0x65, 0x73, 0x74, 0x32, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e,
	0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72,
	0x74, 0x69, 0x65, 0x73, 0x1a, 0x32, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79,
	0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
	0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0xa5, 0x01, 0x0a, 0x29, 0x63, 0x6f, 0x6d,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73,
	0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x73, 0x2e, 0x76,
	0x31, 0x74, 0x65, 0x73, 0x74, 0x32, 0x42, 0x13, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x57, 0x6f,
	0x72, 0x6b, 0x65, 0x72, 0x73, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x01, 0x5a, 0x34, 0x67,
	0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c,
	0x75, 0x63, 0x69, 0x2f, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2f, 0x69, 0x6e, 0x74,
	0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x77, 0x6f, 0x72, 0x6b,
	0x65, 0x72, 0x73, 0xa2, 0x02, 0x02, 0x52, 0x57, 0xaa, 0x02, 0x25, 0x47, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x44, 0x65, 0x76, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74,
	0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x73, 0x2e, 0x56, 0x31, 0x54, 0x65, 0x73, 0x74, 0x32,
	0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_rawDescOnce sync.Once
	file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_rawDescData = file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_rawDesc
)

func file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_rawDescGZIP() []byte {
	file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_rawDescOnce.Do(func() {
		file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_rawDescData = protoimpl.X.CompressGZIP(file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_rawDescData)
	})
	return file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_rawDescData
}

var file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
var file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_goTypes = []interface{}{
	(*Worker)(nil),          // 0: google.devtools.remoteworkers.v1test2.Worker
	(*Device)(nil),          // 1: google.devtools.remoteworkers.v1test2.Device
	(*Worker_Property)(nil), // 2: google.devtools.remoteworkers.v1test2.Worker.Property
	(*Worker_Config)(nil),   // 3: google.devtools.remoteworkers.v1test2.Worker.Config
	(*Device_Property)(nil), // 4: google.devtools.remoteworkers.v1test2.Device.Property
	(*anypb.Any)(nil),       // 5: google.protobuf.Any
}
var file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_depIdxs = []int32{
	1, // 0: google.devtools.remoteworkers.v1test2.Worker.devices:type_name -> google.devtools.remoteworkers.v1test2.Device
	2, // 1: google.devtools.remoteworkers.v1test2.Worker.properties:type_name -> google.devtools.remoteworkers.v1test2.Worker.Property
	3, // 2: google.devtools.remoteworkers.v1test2.Worker.configs:type_name -> google.devtools.remoteworkers.v1test2.Worker.Config
	5, // 3: google.devtools.remoteworkers.v1test2.Worker.metadata:type_name -> google.protobuf.Any
	4, // 4: google.devtools.remoteworkers.v1test2.Device.properties:type_name -> google.devtools.remoteworkers.v1test2.Device.Property
	5, // [5:5] is the sub-list for method output_type
	5, // [5:5] is the sub-list for method input_type
	5, // [5:5] is the sub-list for extension type_name
	5, // [5:5] is the sub-list for extension extendee
	0, // [0:5] is the sub-list for field type_name
}

func init() { file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_init() }
func file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_init() {
	if File_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Worker); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Device); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Worker_Property); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Worker_Config); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Device_Property); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_rawDesc,
			NumEnums:      0,
			NumMessages:   5,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_goTypes,
		DependencyIndexes: file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_depIdxs,
		MessageInfos:      file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_msgTypes,
	}.Build()
	File_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto = out.File
	file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_rawDesc = nil
	file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_goTypes = nil
	file_go_chromium_org_luci_swarming_internal_remoteworkers_worker_proto_depIdxs = nil
}


text:
// Copyright (C) 2017 Calin Cruceru <calin.cruceru@stud.acs.upb.ro>.
//
// See the LICENCE file distributed with this work for additional
// information regarding copyright ownership.

package org.symnet
package models.iptables
package core

object iptParsers extends BaseParsers {
  import ParserMP.monadPlusSyntax._

  ///
  /// Target, rule, chain and table parsers.
  ///

  def jumpOptionParser: Parser[String] =
    spacesParser >> oneOf(parseString("-j"), parseString("--jump"))

  def gotoOptionParser: Parser[String] =
    spacesParser >> oneOf(parseString("-g"), parseString("--goto"))

  /** Chain target parser.
   *
   *  This parser is used as the solution of last resort when matching targets
   *  in a rule, and the parsed target name should refer to the name of another
   *  chain.  This is ensured at a later stage, when the entire parsing is
   *  complete, to allow forward references.
   *
   *  NOTE: The rule parser (see above) containing it should be added last to
   *  the list of rule parsers as part of the parsing context if support for
   *  jumps to other chains is needed.
   */
  def chainTargetParser: Parser[Target] =
    for {
      jump       <- oneOf(jumpOptionParser, gotoOptionParser)
      targetName <- someSpacesParser >> identifierParser
    } yield PlaceholderTarget(targetName, List("-g", "--goto").contains(jump))

  /** Helper implementation of an optionless target parser.
   *
   *  Other specialized target parsers can often be easily implemented by simply
   *  providing a mapping of target names and the actual target object from the
   *  iptables model.
   */
  def optionlessTargetParser(
      nameToTarget: Map[String, Target]): Parser[Target] = {
    for {
      _          <- jumpOptionParser
      targetName <- someSpacesParser >> identifierParser
        if nameToTarget contains targetName
    } yield nameToTarget(targetName)
  }

  def moduleLoaderParser[T <: Match](moduleName: String, t: T): Parser[Match] =
    for {
      _ <- spacesParser >> parseString("-m") >>
           someSpacesParser >> parseString(moduleName)
    } yield t

  def ruleParser(implicit context: ParsingContext): Parser[Rule] = {
    def matchesParserRec(
        context: ParsingContext,
        accMatches: List[Match]): Parser[List[Match]] = {
      val matchParsers = context.matchExtensions.flatMap(_.matchParsers)

      for {
        newMatch <- optional(oneOf(matchParsers: _*))
        accNext <- newMatch match {
          case Some(m) => matchesParserRec(
            context.addMatchExtensions(m.extensionsEnabled), accMatches :+ m)
          case None => pure(accMatches)
        }
      } yield accNext
    }

    for {
      matches <- matchesParserRec(context, Nil)
      target  <- oneOf(context.targetExtensions.map(_.targetParser): _*)
    } yield Rule(matches, target)
  }

  def chainParser(implicit context: ParsingContext): Parser[Chain] =
    for {
      chainName   <- spacesParser >> parseChar('<') >> identifierParser
      maybePolicy <- optional(parseChar(':') >> identifierParser)
      _           <- parseChar('>')
      rules       <- many(ruleParser)
    } yield (maybePolicy match {
      case Some(p) if Policy(p).isDefined =>
        BuiltinChain(chainName, rules, Policy(p).get)
      case None =>
        UserChain(chainName, rules)
    })

  def tableParser(implicit context: ParsingContext): Parser[Table] =
    for {
      _ <- spacesParser >> parseString("<<")
      tableName <- identifierParser
      _ <- spacesParser >> parseString(">>")
      chains    <- many(chainParser)
    } yield Table(tableName, chains)
}


text:
<?xml version="1.0" encoding="UTF-8"?>

<udhr iso639-3="und" xml:lang="und" key="017" n="(Minjiang, written)" xmlns="http://www.unhchr.ch/udhr">
   <title>Sigai Renquan Xuanyan</title>
   <preamble>
      <title>Qianyan</title>
      <para>Jianyu dui renlui soyou cenyuan li guyou zunlian jie qi pinden li ho bwyi li quanli li cenren, laisi sigai ziyou, zenli yu hopin li jicu,</para>
      <para>Jianyu dui renquan li vusi ho vumie yi fazan wei yiman baoxin, zixi baoxin dianvu la renlui li liangxin, er yego renren xiangyou yanlun ho xinyang ziyou bin mianyu kongju ho kuifa li sigai li lailin, yi bei xuanbu wei putong renmin li zuigao yuanwang,</para>
      <para>Jianyu wei si renlui bwzi pae bw dae yi tin er zou xian dui baozen ho yapae jinxin fanpan, you bieyao si renquan sou fazi li baofu,</para>
      <para>Jianyu you bieyao cwjin go guae jian youhao guanxi li fazan,</para>
      <para>Jianyu go Lianho Guae guaejia li renmin yi zai Lianho Guae Xianzang zong congsen tamen dui jiben renquan, rengae zunlian ho jiaze yijie lanlü pinden quanli li xinlian, bin juexin cwcen jiaoda ziyou zong li sehui jinbu ho senho suipin li gaisan,</para>
      <para>Jianyu go cenyuan guae yeyi siyuan tong Lianho Guae hozo yi cwjin dui renquan ho jiben ziyou li pubian zunzong ho zunxin,</para>
      <para>Jianyu dui zixi quanli ho ziyou li pubian liaogai zuiyu zigo siyuan li congfen sexian juyou henda li zongyao xin,</para>
      <para>Yinci xianzai,</para>
      <para>Dahui,</para>
      <para>Fabu zi ye Sigai Renquan Xuanyan, zowei soyou renmin ho soyou guaejia nulie sexian li gongtong biaozun, yi qi mei ye go ren ho sehui jigou jincang minlian ben xuanyan, nulie tonggo jiaohui ho jiaoyue cwjin dui quanli ho ziyou li zunzong, bin tonggo guaejia li ho guaeji li jianjin cosi, si zixi quanli ho ziyou zai go huiyuan guae bensen renmin jie zai qi guanxia xia lintu li renmin zong daedao pubian ho youxiao li cenren ho zunxin;</para>
   </preamble>

      <title>Di ye tiao</title>
      <para>Renren sen er ziyou, zai zunlian ho quanli sang yelue pinden. Tamen fuyou lixin ho liangxin, bin yin yi xiongdi guanxi li jinsen xiang duidai.</para>

      <title>Di er tiao</title>
      <para>Renren you zigae xiangyou ben xuanyan so zai li yeqie quanli ho ziyou, bwfen zongzw, fusae, xinbie, yuyan, zongjiao, zenzi huae qita jiangai, guaejie huae sehui cwsen, caican, cwsen huae qita senfen den renho qubie.</para>
      <para>Binqi bwdae yi ye ren so sw li guaejia huae lintu li zenzi li, xinzen li huaezai guaeji li diwei zi bwtong er you so qubie, vulun gai lintu si dwlie lintu, toguan lintu, fei zizi lintu huaezai cuyu qita renho zuquan sou xianzi li qinkuang zixia.</para>

      <title>Di san tiao</title>
      <para>Renren you quan xiangyou senmin, ziyou ho rensen nganquan.</para>

      <title>Di si tiao</title>
      <para>Renho ren bwdae si wei ludi huae luyi; yeqie xinsi li ludi zidu ho ludi maimai, jun yin yuyi jinzi.</para>

      <title>Di vu tiao</title>
      <para>Renho ren bwdae jiayi kuxin, huae siyi canren li, bw rendao li huae vuruxin li daiyu huae xinfa.</para>

      <title>Di lw tiao</title>
      <para>Renren zai renho difang youquan bei cenren zai falue qian li rengae.</para>

      <title>Di qie tiao</title>
      <para>Falue ziqian renren pinden, bin youquan xiangsou falue li pinden baofu, bw sou renho qisi. Renren you quan xiangsou pinden baofu, yi mian sou weifan ben xuanyan li renho qisi xinwei yijie sandong zizong qisi li renho xinwei zi hai.</para>

      <title>Di ba tiao</title>
      <para>Renho ren dang xianfa huae falue so fuyu ta li jiben quanli zaosou qinhai si, youquan you hogae li guaejia fatin dui zizong qinhai xinwei zo youxiao li bujiu.</para>

      <title>Di jiu tiao</title>
      <para>Renho ren bwdae jiayi renyi daibu, jujin huae fazw.</para>

      <title>Di se tiao</title>
      <para>Renren wanquan pinden li youquan you yege dwlie er wu pianyi li fatin jinxin gongzen li ho gongkai li senxun, yi qiodin ta li quanli ho yiwu bin pandin dui ta ticw li renho xinsi zikong.</para>

      <title>Di se ye tiao</title>
      <orderedlist>
         <listitem tag="(Ye)">
            <para>Fan sou xinsi konggao zai, zai wei jin hodae bianfu sang soxu li yeqie baozen li gongkai senpan er yi fa zense qi you zui yiqian, youquan bei siwei vu zui.</para>
         </listitem>
         <listitem tag="(Er)">
            <para>Renho ren li xinwei huae bw xinwei, zai qi fasen si yi guaejia fa huae guaeji fa jun bw goucen xinsi zui zai, bwdae bei panwei fanyou xinsi zui. Xinfa bwdae zongyu fanzui si seyong li falue guidin.</para>
         </listitem>
      </orderedlist>

      <title>Di se er tiao</title>
      <para>Renho ren li si senho, jiatin, zuzae ho tongxin bwdae renyi gansae, ta li yongyu ho minyu bwdae jiayi gongjie. Renren youquan xiangsou falue baofu, yi mian sou zizong gansae huae gongjie.</para>

      <title>Di se san tiao</title>
      <orderedlist>
         <listitem tag="(Ye)">
            <para>Renren zai go guae jinlui you quan ziyou qianxie ho juzu.</para>
         </listitem>
         <listitem tag="(Er)">
            <para>Renren you quan likai renho guaejia, baoko qi ben guae zai lui, bin youquan fanhui ta li guaejia.</para>
         </listitem>
      </orderedlist>

      <title>Di se si tiao</title>
      <orderedlist>
         <listitem tag="(Ye)">
            <para>Renren youquan zai qita guaejia xunqiu ho xiangsou bifu yi bimian paehai.</para>
         </listitem>
         <listitem tag="(Er)">
            <para>Zai zenzen youyu fei zenzixin li zuixin huae weibei Lianho Guae li zongzi ho yuanzae li xinwei er bei qisu li qinkuang xia, bwdae yuanyong cizong quanli.</para>
         </listitem>
      </orderedlist>

      <title>Di se vu tiao</title>
      <orderedlist>
         <listitem tag="(Ye)">
            <para>Renren youquan xiangyou guaejie.</para>
         </listitem>
         <listitem tag="(Er)">
            <para>Renho ren li guaejie bwdae renyi bodo, yi bwdae fouren qi gaibian guaejie li quanli.</para>
         </listitem>
      </orderedlist>

      <title>Di se lw tiao</title>
      <orderedlist>
         <listitem tag="(Ye)">
            <para>Cenlian lanlü, bw sou zongzw, guaejie huae zongjiao li renho xianzi you quan hun jia ho cenlie jiatin. Tamen zai hunyin fangmian, zai jiehun qijian ho zai gaicu hunyo si, yin you pinden li quanli.</para>
         </listitem>
         <listitem tag="(Er)">
            <para>Ziyou jin lanlü suangfang li ziyou ho wanquan li tongyi, cailen di hun.</para>
         </listitem>
         <listitem tag="(San)">
            <para>Jiatin si tianran li ho jiben li sehui danyuan, bin yin sou sehui ho jiatin li baofu.</para>
         </listitem>
      </orderedlist>

      <title>Di se qie tiao</title>
      <orderedlist>
         <listitem tag="(Ye)">
            <para>Renren dae you dandw li caican soyou quan yijie tong taren hoyou li soyou quan.</para>
         </listitem>
         <listitem tag="(Er)">
            <para>Renho ren li caican bwdae renyi bodo.</para>
         </listitem>
      </orderedlist>

      <title>Di se ba tiao</title>
      <para>Renren you sixiang, liangxin ho zongjiao ziyou li quanli; cixiang quanli baoko gaibian ta li zongjiao huae xinyang li ziyou, yijie dandw huae jieti, gongkai huae miemie li yi jiaoyi, sejian, libai ho gailue biaosi ta li zongjiao huae xinyang li ziyou.</para>

      <title>Di se jiu tiao</title>
      <para>Renren you quan xiangyou zuzang ho fabiao yijian li ziyou; cixiang quanli baoko ciyou zuzang er bw sou gansae li ziyou, ho tonggo renho meigai ho bwlun guaegai xunqiu, jiesou ho cuandi xiaoxie ho sixiang li ziyou.</para>

      <title>Di er se tiao</title>
      <orderedlist>
          <listitem tag="(Ye)">
            <para>Renren you quan xiangyou hopin jiehui ho jie se li ziyou.</para>
         </listitem>
         <listitem tag="(Er)">
            <para>Renho ren bwdae paesi disw yu mou ye tuanti.</para>
         </listitem>
     </orderedlist>

      <title>Di er se ye tiao</title>
      <orderedlist>
         <listitem tag="(Ye)">
            <para>Renren you zejie huae tonggo ziyou xuanzae li daibiao canyu zili ben guae li quanli.</para>
         </listitem>
         <listitem tag="(Er)">
            <para>Renren you pinden jihui canjia ben guae gongvu li quanli.</para>
         </listitem>
         <listitem tag="(San)">
            <para>Renmin li yizi si zenfu quanlie li jicu; zi ye yizi yin yi dinqi li ho zenzen li xuanju yu yi biaoxian, er xuanju yin yiju pubian ho pinden li toupiao quan, bin yi bw jimin toupiao huae xiangdang li ziyou toupiao cenxu jinxin.</para>
         </listitem>
      </orderedlist>

      <title>Di er se er tiao</title>
      <para>Mei go ren, zowei sehui li ye yuan, youquan xiangsou sehui baozang, bin youquan xiangsou ta li goren zunlian ho rengae li ziyou fazan so biexu li jinji, sehui ho wenhua fangmian gozong quanli li sexian, zizong sexian si tonggo guaejia lulie ho guaeji hozo bin yizao go guae li zuze ho ziyuan qinkuang.</para>

      <title>Di er se san tiao</title>
      <orderedlist>
         <listitem tag="(Ye)">
            <para>Renren you quan gongzo, ziyou xuanzae zelie, xiangsou gongzen ho hose li gongzo tiaojian bin xiangsou mianyu selie li baozang.</para>
         </listitem>
         <listitem tag="(Er)">
            <para>Renren you tong gong tong cou li quanli, bw sou renho qisi.</para>
         </listitem>
         <listitem tag="(San)">
            <para>Mei yego gongzo li ren, you quan xiangsou gongzen ho hose li baocou, baozen si ta benren ho jiasw you ye go fwho ren li zunlian li senho tiaojian, bieyao si bin fuyi qita fangsi li sehui baozang.</para>
         </listitem>
         <listitem tag="(Si)">
            <para>Renren you wei weifu qi liye er zuze ho canjia gonghui li quanli.</para>
         </listitem>
      </orderedlist>

      <title>Di er se si tiao</title>
      <para>Renren you xiangyou xiuxie ho xianxia li quanli, baoko gongzo sijian you holi xianzi ho dinqi gei xin xiujia li quanli.</para>

      <title>Di er se vu tiao</title>
      <orderedlist>
         <listitem tag="(Ye)">
            <para>Renren you quan xiangsou weici ta benren ho jiasw li jiankang ho fwli so xu li senho suizun, baoko sevw, yizo, zufang, yiliao ho bieyao li sehui fwvu; zai zaodao selie, jiebin, canfei, sougua, suailao huae zai qita bwlen kongzi li qinkuang xia sangse mousen lenlie si, you quan xiangsou baozang.</para>
         </listitem>
         <listitem tag="(Er)">
            <para>Muqin ho ertong you quan xiangsou taebie zaogu ho xiezu. Yeqie ertong, vulun hunsen huae fei hunsen, dou yin xiangsou tongyang li sehui baofu.</para>
         </listitem>
      </orderedlist>

      <title>Di er se lw tiao</title>
      <orderedlist>
         <listitem tag="(Ye)">
            <para>Renren dou you sou jiaoyue li quanli, jiaoyue yindang mianfei, zisao zai cujie ho jiben gaiduan yin ruci. Cujie jiaoyue yin sw yivu xinze. Jisw ho zilie jiaoyue yin pubian saelie. Gaoden jiaoyue yin genju cenjie er dui yeqie ren pinden kaifang.</para>
         </listitem>
         <listitem tag="(Er)">
            <para>Jiaoyue li mwdie zaiyu congfen fazan ren li goxin bin jiaqiang dui renquan ho jiben ziyou li zunzong. Jiaoyue yin cwjin go guae, go zongzw, ho go zongjiao jietuan jian li liaogai, yongren ho youli, bin yin cwjin Lianho Guae weifu hopin li go xiang hodong.</para>
         </listitem>
         <listitem tag="(San)">
            <para>Fumu dui qi zilü sou yin sou li jiaoyue li zonglui, you youxian xuanzae li quanli.</para>
         </listitem>
      </orderedlist>

      <title>Di er se qie tiao</title>
      <orderedlist>
         <listitem tag="(Ye)">
            <para>Renren youquan ziyou canjia sehui li wenhua senho, xiangsou yisw, bin fenxiang koxio jinbu jie qi cansen li fwli.</para>
         </listitem>
         <listitem tag="(Er)">
            <para>Renren dui youyu ta so cuangzo li renho koxio, wenxio huae meisw zopin er cansen li jinsen li ho vwze li liye, you xiangsou baofu li quanli.</para>
         </listitem>
      </orderedlist>

      <title>Di er se ba tiao</title>
      <para>Renren you quan yaoqiu ye zong sehui li ho guaeji li zixu, zai zizong zixu zong, ben xuanyan so zai li quanli ho ziyou len hodae congfen sexian.</para>

      <title>Di er se jiu tiao</title>
      <orderedlist>
         <listitem tag="(Ye)">
            <para>Renren dui sehui fuyou yivu, yinwei ziyou zai sehui zong ta li goxin cai kolen daedao ziyou ho congfen li fazan.</para>
         </listitem>
         <listitem tag="(Er)">
            <para>Renren zai xinsi ta li quanli ho ziyou si, zi sou falue so qiodin li xianzi, qiodin cizong xianzi li weiye mwdie zaiyu baozen dui pangren li quali ho ziyou geiyu yinyou li cenren ho zunzong, bin zai yego minzu li sehui zong seyin daodae, gonggong zixu ho pubian fwli li zendang xuyao.</para>
         </listitem>
         <listitem tag="(San)">
            <para>Zixi quanli ho ziyou li xinsi, vulun zai renho qinxin xia jun bwdae weibei Lianho Guae li zongzi ho yuanzae.</para>
         </listitem>
      </orderedlist>

      <title>San se tiao</title>
      <para>Ben xuanyan li renho tiaowen, bwdae gaisi wei maexu renho guaejia, jietuan huae goren you quan jinxin zizai pohuai ben xuanyan so zai li renho quanli ho ziyou li hodong hua xinwei.</para>

</udhr>


text:
exopy_pulses.pulses.infos module
===============================

.. automodule:: exopy_pulses.pulses.infos
    :members:
    :undoc-members:
    :show-inheritance:


text:
import Ember from 'ember';
import { initialize } from 'ember-cli-auth0-lock/initializers/auth0';

var container, application;

module('Auth0Initializer', {
  setup: function() {
    Ember.run(function() {
      container = new Ember.Container();
      application = Ember.Application.create();
      application.deferReadiness();
    });
  }
});

// Replace this with your real tests.
test('it works', function() {
  initialize(container, application);

  // you would normally confirm the results of the initializer here
  ok(true);
});


text:
        getAvatar(30)}}" alt="{{ $currentUser->name }}">
        {{ $currentUser->getShortName(9) }}

            id}") }}" class="text-primary">{{ trans('common.view_profile') }}

            id}") }}" class="text-primary">{{ trans('common.edit_profile') }}

            {{ trans('auth.logout') }}


text:
package v3

import (
	"encoding/json"
	"github.com/apache/servicecomb-service-center/pkg/rest"
	pb "github.com/apache/servicecomb-service-center/server/core/proto"
	"github.com/apache/servicecomb-service-center/server/rest/controller"
	"github.com/apache/servicecomb-service-center/server/rest/controller/v4"
	"github.com/apache/servicecomb-service-center/version"
	"net/http"
)

var (
	versionJsonCache []byte
	versionResp      *pb.Response
)

const API_VERSION = "3.0.0"

func init() {
	result := v4.Result{
		VersionSet: version.Ver(),
		ApiVersion: API_VERSION,
	}
	versionJsonCache, _ = json.Marshal(result)
	versionResp = pb.CreateResponse(pb.Response_SUCCESS, "get version successfully")
}

type MainService struct {
	v4.MainService
}

func (this *MainService) URLPatterns() []rest.Route {
	return []rest.Route{
		{rest.HTTP_METHOD_GET, "/version", this.GetVersion},
		{rest.HTTP_METHOD_GET, "/health", this.ClusterHealth},
	}
}

func (this *MainService) GetVersion(w http.ResponseWriter, r *http.Request) {
	controller.WriteJsonBytes(w, versionResp, versionJsonCache)
}


text:
require 'active_model/serializer'

module Spree
  module Wombat
    class ImageSerializer < ActiveModel::Serializer
      attributes :url, :position, :title, :type, :dimensions

      def url
        add_host_prefix(object.attachment.url(:original)).gsub(/\?.*/, '')
      end

      def title
        object.alt
      end

      def type
        "original"
      end

      def dimensions
        {
          height: object.attachment_height,
          width: object.attachment_width
        }
      end

      private

      def add_host_prefix(url)
        return url unless ActionController::Base.asset_host
        dynamic_asset_host = ActionController::Base.asset_host =~ /\%d/ ? ActionController::Base.asset_host % rand(4) : ActionController::Base.asset_host
        protocol = ActionController::Base.asset_host =~ /\A\/\// ? 'https:' : ''
        URI.join(protocol, dynamic_asset_host, url).to_s
      end

    end
  end
end


text:
/* eslint-disable max-nested-callbacks */
import { Record } from 'immutable'
import expect from 'expect'

import { NTLMAuth } from '../NTLM'

describe('models/auths/NTLMAuth.js', () => {
  describe('{ NTLMAuth }', () => {
    it('should be a Record', () => {
      const instance = new NTLMAuth({})

      expect(instance).toBeA(Record)
    })

    describe('#fields', () => {
      const fields = [
        'description',
        'authName',
        'username',
        'password'
      ]

      for (const field of fields) {
        it('should have a `' + field + '` field', () => {
          const key = field
          const value = 'test'
          const data = {}

          data[key] = value
          const instance = new NTLMAuth(data)

          expect(instance.get(key)).toEqual(value)
        })
      }
    })
  })
})


text:
ACCEPTED

#### According to
Index Fungorum

#### Published in
in Nelen & Vasiljeva, Notul. Syst. Sect. Crypt. Inst. Bot. Acad. Sci. U. S. S. R. 15: 150 (1959)

#### Original name
Alternaria rudbeckiae Nelen

### Remarks
null


text:
package delegated

import (
	"sync"
	"testing"
	"time"

	rbacv1 "k8s.io/api/rbac/v1"
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
	"k8s.io/apimachinery/pkg/labels"
	rbacv1listers "k8s.io/client-go/listers/rbac/v1"

	"github.com/go-openapi/errors"
	"github.com/openshift/origin/pkg/cmd/server/bootstrappolicy"
)

func TestDelegatedWait(t *testing.T) {
	cache := &testRoleBindingLister{}
	storage := &REST{roleBindings: cache}

	cache.namespacelister = &testRoleBindingNamespaceLister{}
	cache.namespacelister.bindings = map[string]*rbacv1.RoleBinding{}
	cache.namespacelister.bindings["anything"] = nil

	waitReturnedCh := waitForResultChannel(storage)

	select {
	case <-waitReturnedCh:
		t.Error("waitForRoleBinding() failed to block pending rolebinding creation")
	case <-time.After(1 * time.Second):
	}

	cache.addAdminRolebinding()

	select {
	case <-waitReturnedCh:
	case <-time.After(1 * time.Second):
		t.Error("waitForRoleBinding() failed to unblock after rolebinding creation")
	}
}

func waitForResultChannel(storage *REST) chan struct{} {
	ret := make(chan struct{})

	go func() {
		storage.waitForRoleBinding("foo", bootstrappolicy.AdminRoleName)
		close(ret)
	}()

	return ret
}

type testRoleBindingNamespaceLister struct {
	bindings map[string]*rbacv1.RoleBinding
	lock     sync.Mutex
}

func (t *testRoleBindingNamespaceLister) List(selector labels.Selector) (ret []*rbacv1.RoleBinding, err error) {
	return ret, nil
}

func (t *testRoleBindingNamespaceLister) Get(name string) (*rbacv1.RoleBinding, error) {
	t.lock.Lock()
	defer t.lock.Unlock()
	if t.bindings[bootstrappolicy.AdminRoleName] != nil {
		return t.bindings[bootstrappolicy.AdminRoleName], nil
	}
	return nil, errors.NotFound("could not find role " + bootstrappolicy.AdminRoleName)
}

type testRoleBindingLister struct {
	namespacelister *testRoleBindingNamespaceLister
}

func (t *testRoleBindingLister) RoleBindings(namespace string) rbacv1listers.RoleBindingNamespaceLister {
	return t.namespacelister
}

func (t *testRoleBindingLister) List(selector labels.Selector) ([]*rbacv1.RoleBinding, error) {
	return nil, nil
}

func (t *testRoleBindingLister) addAdminRolebinding() {
	t.namespacelister.lock.Lock()
	defer t.namespacelister.lock.Unlock()
	t.namespacelister.bindings[bootstrappolicy.AdminRoleName] = &rbacv1.RoleBinding{
		ObjectMeta: metav1.ObjectMeta{Name: bootstrappolicy.AdminRoleName},
	}
}


text:
<!--
Description: item description contains object
Expect:      not bozo and entries[0]['description'] == u'safe description'
-->
<rss version="2.0">
<channel>
<item>
<description>safe<object classid="clsid:C932BA85-4374-101B-A56C-00AA003668DC"> description</description>
</item>
</channel>
</rss>


text:
import io

def application(env, start_response):
    start_response('200', [('Content-Length', '10')])
    f = io.BytesIO(b'0123456789')
    return f


text:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>parent</artifactId>
        <groupId>xyz.raowei</groupId>
        <version>1.0-SNAPSHOT</version>
        <relativePath>../parent/pom.xml</relativePath>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <groupId>xyz.raowei</groupId>
    <artifactId>shiro-demo</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>org.apache.shiro</groupId>
            <artifactId>shiro-core</artifactId>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
        </dependency>
        <dependency>
            <groupId>xyz.raowei</groupId>
            <artifactId>core</artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-java8</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>net.sf.ehcache</groupId>
            <artifactId>ehcache</artifactId>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.mina/mina-core -->
        <dependency>
            <groupId>org.apache.mina</groupId>
            <artifactId>mina-core</artifactId>
            <version>2.0.7</version>
        </dependency>

    </dependencies>
</project>


text:
package pluginutil

import (
	"context"
	"time"

	log "github.com/hashicorp/go-hclog"
	"github.com/hashicorp/go-plugin"
	"github.com/hashicorp/go-version"
	"github.com/hashicorp/vault/sdk/helper/consts"
	"github.com/hashicorp/vault/sdk/helper/wrapping"
	"google.golang.org/grpc"
)

// Looker defines the plugin Lookup function that looks into the plugin catalog
// for available plugins and returns a PluginRunner
type Looker interface {
	LookupPlugin(ctx context.Context, pluginName string, pluginType consts.PluginType) (*PluginRunner, error)
	LookupPluginVersion(ctx context.Context, pluginName string, pluginType consts.PluginType, version string) (*PluginRunner, error)
}

// RunnerUtil interface defines the functions needed by the runner to wrap the
// metadata needed to run a plugin process. This includes looking up Mlock
// configuration and wrapping data in a response wrapped token.
// logical.SystemView implementations satisfy this interface.
type RunnerUtil interface {
	NewPluginClient(ctx context.Context, config PluginClientConfig) (PluginClient, error)
	ResponseWrapData(ctx context.Context, data map[string]interface{}, ttl time.Duration, jwt bool) (*wrapping.ResponseWrapInfo, error)
	MlockEnabled() bool
}

// LookRunnerUtil defines the functions for both Looker and Wrapper
type LookRunnerUtil interface {
	Looker
	RunnerUtil
}

type PluginClient interface {
	Conn() grpc.ClientConnInterface
	Reload() error
	plugin.ClientProtocol
}

const MultiplexingCtxKey string = "multiplex_id"

// PluginRunner defines the metadata needed to run a plugin securely with
// go-plugin.
type PluginRunner struct {
	Name           string                      `json:"name" structs:"name"`
	Type           consts.PluginType           `json:"type" structs:"type"`
	Version        string                      `json:"version" structs:"version"`
	Command        string                      `json:"command" structs:"command"`
	Args           []string                    `json:"args" structs:"args"`
	Env            []string                    `json:"env" structs:"env"`
	Sha256         []byte                      `json:"sha256" structs:"sha256"`
	Builtin        bool                        `json:"builtin" structs:"builtin"`
	BuiltinFactory func() (interface{}, error) `json:"-" structs:"-"`
}

// Run takes a wrapper RunnerUtil instance along with the go-plugin parameters and
// returns a configured plugin.Client with TLS Configured and a wrapping token set
// on PluginUnwrapTokenEnv for plugin process consumption.
func (r *PluginRunner) Run(ctx context.Context, wrapper RunnerUtil, pluginSets map[int]plugin.PluginSet, hs plugin.HandshakeConfig, env []string, logger log.Logger) (*plugin.Client, error) {
	return r.RunConfig(ctx,
		Runner(wrapper),
		PluginSets(pluginSets),
		HandshakeConfig(hs),
		Env(env...),
		Logger(logger),
		MetadataMode(false),
	)
}

// RunMetadataMode returns a configured plugin.Client that will dispense a plugin
// in metadata mode. The PluginMetadataModeEnv is passed in as part of the Cmd to
// plugin.Client, and consumed by the plugin process on api.VaultPluginTLSProvider.
func (r *PluginRunner) RunMetadataMode(ctx context.Context, wrapper RunnerUtil, pluginSets map[int]plugin.PluginSet, hs plugin.HandshakeConfig, env []string, logger log.Logger) (*plugin.Client, error) {
	return r.RunConfig(ctx,
		Runner(wrapper),
		PluginSets(pluginSets),
		HandshakeConfig(hs),
		Env(env...),
		Logger(logger),
		MetadataMode(true),
	)
}

// VersionedPlugin holds any versioning information stored about a plugin in the
// plugin catalog.
type VersionedPlugin struct {
	Type              string `json:"type"` // string instead of consts.PluginType so that we get the string form in API responses.
	Name              string `json:"name"`
	Version           string `json:"version"`
	SHA256            string `json:"sha256,omitempty"`
	Builtin           bool   `json:"builtin"`
	DeprecationStatus string `json:"deprecation_status,omitempty"`

	// Pre-parsed semver struct of the Version field
	SemanticVersion *version.Version `json:"-"`
}

// CtxCancelIfCanceled takes a context cancel func and a context. If the context is
// shutdown the cancelfunc is called. This is useful for merging two cancel
// functions.
func CtxCancelIfCanceled(f context.CancelFunc, ctxCanceler context.Context) chan struct{} {
	quitCh := make(chan struct{})
	go func() {
		select {
		case <-quitCh:
		case <-ctxCanceler.Done():
			f()
		}
	}()
	return quitCh
}


text:
param($reportpath = "$env:userprofile\Documents")
$schemaIDGUID = @{}
Get-ADObject -SearchBase (Get-ADRootDSE).schemaNamingContext -LDAPFilter '(schemaIDGUID=*)' -Properties name, schemaIDGUID | `
    ForEach-Object {$schemaIDGUID.add([System.GUID]$_.schemaIDGUID,$_.name)}

Get-ADObject -SearchBase "CN=Extended-Rights,$((Get-ADRootDSE).configurationNamingContext)" -LDAPFilter '(objectClass=controlAccessRight)' `
    -Properties name, rightsGUID | `
    ForEach-Object {$schemaIDGUID.add([System.GUID]$_.rightsGUID,$_.name)}

function getOUPerms{
    $hash_domain = @{name='Domain';expression={$domain}}
    $hash_inheritance = @{name='InheritanceBroken';expression={$_.nTSecurityDescriptor.AreAccessRulesProtected}}
    foreach($domain in (get-adforest).domains){
        Write-host "Gathering OU's from $domain"
        Get-ADObject -ldapFilter "(objectclass=organizationalunit)"  -Properties "msds-approx-immed-subordinates",nTSecurityDescriptor,CanonicalName -server $domain | `
            select CanonicalName,DistinguishedName -ExpandProperty nTSecurityDescriptor | select CanonicalName,distinguishedname -expandproperty access | `
                where IsInherited -ne $True | where {!($_.IdentityReference -like "NT AUTHORITY\*") -and !($_.IdentityReference -like "BUILTIN\*") -and !($_.IdentityReference -eq "S-1-5-32-548") -and !($_.IdentityReference -eq "Everyone")} | `
                    select DistinguishedName, CanonicalName, IdentityReference, AccessControlType, ActiveDirectoryRights, IsInherited, `
                        @{name='objectTypeName';expression={if ($_.objectType.ToString() -eq '00000000-0000-0000-0000-000000000000') {'All'} Else {$schemaIDGUID.Item($_.objectType)}}}, `
                        @{name='inheritedObjectTypeName';expression={$schemaIDGUID.Item($_.inheritedObjectType)}}
    }
}

getOUPerms # | export-csv "$reportpath\OUpermissions.csv" -NoTypeInformation
write-host "Found reults here $reportpath"


text:
import * as extensions from '../extensions';

export default function (configs, presetConfig, userConfig) {
    return Object.keys(configs).map(module => {
        if (!extensions.hasOwnProperty(module)) {
            return {
                name: module,
                config: configs[module]
            };
        }

        const processorField = extensions[module].processorField;
        const processor = configs[module][processorField].validate(userConfig[processorField])
            ? userConfig[processorField]
            : presetConfig[module][processorField] || configs[module][processorField].default;

        const config = extensions[module].configs[processor]
            ? Object.assign({}, configs[module], extensions[module].configs[processor])
            : configs[module];

        return {
            name: module,
            config: config
        };
    }).reduce((extendedConfigs, elem) => Object.assign(extendedConfigs, { [elem.name]: elem.config }), {});
};


text:
		{#

{{ article.locale_date }}

		{% if article.author and not SINGLE_AUTHOR %}
		By {{ article.author }}
		{% endif %}
		{% if DISQUS_SITENAME %}

comments

		{% endif %}
		{% if article.author_gravatar %}

		{% endif %}
		{% if DISPLAY_CATEGORIES_ON_MENU %}
			{{ article.category }}
		{% endif %}
		#}
		{{ article.locale_date }}
		{% if article.author and not SINGLE_AUTHOR %}
		/
		{{ article.author }}
		{% endif %}
		{% if DISPLAY_CATEGORIES_ON_MENU %}
		/
		{{ article.category }}
		{% endif %}

			{{ article.title }}

			{{ article.summary }}

		{% if article.tags %}
    		Tagged
    			{% set delimiter = joiner() %}
    			{% for tag in article.tags|sort %}{{- delimiter() }} {{ tag }}{% endfor %}

    	{% endif %}


text:
This section covers more "advanced" topics around how to iterate on your components/component data and how to publish your content to a wider audience leveraging outside networks by turning manipulating component data into different formats beyond JSON & HTML.

{% page-ref page="upgrade.md" %}


text:
<?php

namespace JHV\Bundle\SeoBundle;

use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\HttpKernel\Bundle\Bundle;
use Doctrine\Bundle\DoctrineBundle\DependencyInjection\Compiler\DoctrineOrmMappingsPass;

class JHVSeoBundle extends Bundle
{

    /**
     * @inheritdoc
     */
    public function build(ContainerBuilder $container)
    {
        parent::build($container);
        $this->addRegisterMappingPass($container);
    }

    /**
     * Efetuar o registro de mapeamentos para o banco de dados
     * através de modelos, e não diretamente entidades.
     *
     * @param   ContainerBuilder    $container
     * @return  void
     */
    public function addRegisterMappingPass(ContainerBuilder $container)
    {
        $mappings = array(
            realpath(__DIR__ . '/Resources/config/doctrine/model') => 'JHV\Bundle\SeoBundle\Model'
        );

        // Registro do mapeamento
        $container->addCompilerPass(DoctrineOrmMappingsPass::createXmlMappingDriver(
            $mappings, array('jhv_seo.db_manager.name'), 'jhv_seo.db_driver.orm')
        );
    }

}


text:
LevelConfigReader::LevelConfigReader(Urho3D::Context *context) : Object(context)
{
    context_ = context;
}

void LevelConfigReader::ReadConfig(Urho3D::XMLFile *config)
{
    XMLElement rootEl = config->GetRoot();
    _minimalBuildingsDist =  rootEl.GetChild("minimalBuildingsDist").GetFloat("val");
    _minimalRouterCount = rootEl.GetChild("minimalRouterCount").GetInt("val");
    _mapDimenstion = rootEl.GetChild("mapDimension").GetInt("val");

    _buildings.clear();
    XPathQuery buildingsQuery("*/building", "ResultSet");
    XPathResultSet results = buildingsQuery.Evaluate(rootEl);
    for(int i=0; i < results.Size(); i++)
    {
        String buildingKey = results[i].GetAttribute("name");
        int buildingCount = results[i].GetInt("count");
        _buildings.insert(std::pair<String,int>(buildingKey, buildingCount));
    }

    XPathQuery garbageQuery("*/garbageElement", "ResultSet");
    XPathResultSet garbageRes = garbageQuery.Evaluate(rootEl);
    for(int i=0; i < garbageRes.Size(); i++)
    {
        String buildingKey = garbageRes[i].GetAttribute("name");
        int buildingCount = garbageRes[i].GetInt("count");
        _garbage.insert(std::pair<String,int>(buildingKey, buildingCount));
    }
}


text:
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>HiklyUI</title>
    <!-- 告诉浏览器响应屏幕宽度 -->
    <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
    <!-- Bootstrap 3.3.6 -->
    <link rel="stylesheet" href="../bootstrap/css/bootstrap.min.css">
    <!-- Font Awesome -->
    <link href="../bootstrap/css/font-awesome.css" rel="stylesheet">
    <!-- Ionicons -->
    <link href="../bootstrap/css/ionicons.css" rel="stylesheet">

    <!-- Theme style -->
    <link rel="stylesheet" href="../css/AdminLTE.css">

    <link rel="stylesheet" href="../css/skins/skin-hikly.css">

    <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
    <script src="./bootstrap/js/html5shiv.min.js"></script>
    <script src="./bootstrap/js/respond.min.js"></script>
    <![endif]-->
</head>


text:
/*global expect*/
describe('expect.shift', function() {
  describe('when preserving the subject by passing no arguments', function() {
    it('should succeed', function() {
      var clonedExpect = expect
        .clone()
        .addAssertion('<string> blabla <assertion>', function(expect, subject) {
          return expect.shift();
        });
      clonedExpect('foo', 'blabla', 'to equal', 'foo');
    });

    it('should fail with a diff', function() {
      var clonedExpect = expect
        .clone()
        .addAssertion('<string> blabla <assertion>', function(expect, subject) {
          return expect.shift();
        });
      expect(
        function() {
          clonedExpect('foo', 'blabla', 'to equal', 'foobar');
        },
        'to throw',
        "expected 'foo' blabla to equal 'foobar'\n" +
          '\n' +
          '-foo\n' +
          '+foobar'
      );
    });
  });

  it('should support calling shift multiple times', function() {
    var clonedExpect = expect
      .clone()
      .addAssertion(
        '<number> up to [and including] <number> <assertion>',
        function(expect, subject, value) {
          expect.errorMode = 'nested';
          var numbers = [];
          for (
            var i = subject;
            i < (expect.flags['and including'] ? value + 1 : value);
            i += 1
          ) {
            numbers.push(i);
          }
          return expect.promise.all(
            numbers.map(function(number) {
              return expect.promise(function() {
                return expect.shift(number);
              });
            })
          );
        }
      );

    return expect(
      function() {
        clonedExpect(5, 'up to and including', 100, 'to be within', 1, 90);
      },
      'to error',
      'expected 5 up to and including 100 to be within 1, 90\n' +
        '  expected 91 to be within 1..90'
    );
  });

  describe('when substituting a different subject by passing a single argument', function() {
    it('should succeed', function() {
      var clonedExpect = expect
        .clone()
        .addAssertion('<string> when appended with bar <assertion>', function(
          expect,
          subject
        ) {
          return expect.shift(`${subject}bar`);
        });
      clonedExpect('foo', 'when appended with bar', 'to equal', 'foobar');
    });

    it('should fail with a diff', function() {
      var clonedExpect = expect
        .clone()
        .addAssertion('<string> when appended with bar <assertion>', function(
          expect,
          subject
        ) {
          return expect.shift(`${subject}bar`);
        });
      expect(
        function() {
          clonedExpect('crow', 'when appended with bar', 'to equal', 'foobar');
        },
        'to throw',
        "expected 'crow' when appended with bar to equal 'foobar'\n" +
          '\n' +
          '-crowbar\n' +
          '+foobar'
      );
    });
  });

  it('should identify the assertions even when the next assertion fails before shifting', function() {
    var clonedExpect = expect
      .clone()
      .addAssertion('<string> when appended with bar <assertion>', function(
        expect,
        subject
      ) {
        if (subject === 'crow') {
          expect.fail();
        }
        return expect.shift(`${subject}bar`);
      });
    expect(
      function() {
        clonedExpect(
          'crow',
          'when appended with bar',
          'when appended with bar',
          'to equal',
          'foobarbar'
        );
      },
      'to throw',
      "expected 'crow' when appended with bar when appended with bar to equal 'foobarbar'"
    );
  });

  it('supports the legacy 3 argument version', function() {
    var clonedExpect = expect
      .clone()
      .addAssertion('<string> when prepended with foo <assertion>', function(
        expect,
        subject
      ) {
        return this.shift(expect, `foo${subject}`, 0);
      });
    clonedExpect(
      'foo',
      'when prepended with foo',
      expect.it('to equal', 'foofoo')
    );
  });

  describe('with the legacy 2 argument version', function() {
    it('inspects multiple arguments correctly', function() {
      var clonedExpect = expect
        .clone()
        .addAssertion(
          '<string> when surrounded by <string> <string> <assertion>',
          function(expect, subject) {
            return expect.shift(`foo${subject}`, 2);
          }
        );

      return expect(
        function() {
          clonedExpect(
            'bar',
            'when surrounded by',
            'foo',
            'quux',
            'to be a number'
          );
        },
        'to throw',
        "expected 'bar' when surrounded by 'foo', 'quux' to be a number"
      );
    });
  });

  describe('with an expect.it function as the next argument', function() {
    it('should succeed', function() {
      var clonedExpect = expect
        .clone()
        .addAssertion('<string> when prepended with foo <assertion>', function(
          expect,
          subject
        ) {
          return expect.shift(`foo${subject}`);
        });
      clonedExpect(
        'foo',
        'when prepended with foo',
        expect.it('to equal', 'foofoo')
      );
    });
  });

  it('should fail when the next argument is a non-expect.it function', function() {
    var clonedExpect = expect
      .clone()
      .addAssertion('<string> when prepended with foo <assertion>', function(
        expect,
        subject
      ) {
        return expect.shift(`foo${subject}`);
      });
    expect(
      function() {
        clonedExpect('foo', 'when prepended with foo', function() {});
      },
      'to throw',
      "expected 'foo' when prepended with foo function () {}\n" +
        '  The assertion does not have a matching signature for:\n' +
        '    <string> when prepended with foo <function>\n' +
        '  did you mean:\n' +
        '    <string> when prepended with foo <assertion>'
    );
  });

  describe('with an async assertion', function() {
    it('should succeed', function() {
      return expect(42, 'when delayed a little bit', 'to be a number');
    });

    it('should fail with a diff', function() {
      return expect(
        expect(false, 'when delayed a little bit', 'to be a number'),
        'to be rejected with',
        'expected false when delayed a little bit to be a number'
      );
    });
  });

  describe('in legacy mode where the assertion index is passed as the second parameter', function() {
    it('should get the assertion string from that index', function() {
      var clonedExpect = expect
        .clone()
        .addAssertion(
          '<string> when prepended with <string> <assertion>',
          function(expect, subject, value) {
            return expect.shift(value + subject, 1);
          }
        );

      expect(
        function() {
          clonedExpect(
            'bar',
            'when prepended with',
            'foo',
            'to equal',
            'foobarquux'
          );
        },
        'to throw',
        "expected 'bar' when prepended with 'foo' to equal 'foobarquux'\n" +
          '\n' +
          '-foobar\n' +
          '+foobarquux'
      );
    });

    it('should render the correct error message when there is several non-string parameters following the assertion index', function() {
      var clonedExpect = expect
        .clone()
        .addAssertion(
          '<string> when prepended with foo <string> <number+>',
          function(expect, subject) {
            expect.shift(`foo${subject}`, 0);
            expect('abc', 'to equal', 'def');
          }
        );

      expect(
        function() {
          clonedExpect('bar', 'when prepended with foo', 'to equal', 123, 456);
        },
        'to throw',
        "expected 'bar' when prepended with foo to equal 123, 456"
      );
    });

    it('should render the correct error message when the assertion being shifted to is not a string', function() {
      var clonedExpect = expect
        .clone()
        .addAssertion('<string> when prepended with foo <number+>', function(
          expect,
          subject
        ) {
          expect.shift(`foo${subject}`, 0);
          expect('abc', 'to equal', 'def');
        });

      expect(
        function() {
          clonedExpect('bar', 'when prepended with foo', 123, 456);
        },
        'to throw',
        "expected 'bar' when prepended with foo 123 456\n" +
          '\n' +
          '-abc\n' +
          '+def'
      );
    });

    it('should render the correct error message when there are no parameters following the assertion index', function() {
      var clonedExpect = expect
        .clone()
        .addAssertion('<string> when prepended with foo', function(
          expect,
          subject
        ) {
          expect.shift(`foo${subject}`, 1);
          expect('abc', 'to equal', 'def');
        });

      expect(
        function() {
          clonedExpect('bar', 'when prepended with foo');
        },
        'to throw',
        "expected 'bar' when prepended with foo\n" + '\n' + '-abc\n' + '+def'
      );
    });
  });

  describe('when a non-Unexpected promise is passed to shift', function() {
    it('should allow a subsequent .and()', function() {
      var clonedExpect = expect
        .clone()
        .addAssertion('promisified', function(expect, subject) {
          return expect.shift(new Promise(subject));
        });
      return clonedExpect(resolve => {
        setTimeout(function() {
          resolve('usefully');
        }, 100);
      }, 'promisified').and('to be truthy');
    });

    it('should allow a subsequent .and() within a nested context', function() {
      var clonedExpect = expect
        .clone()
        .addAssertion('promisified', function(expect, subject) {
          return expect.shift(new Promise(subject));
        })
        .addAssertion('<function> executed inside an assertion', function(
          expect,
          subject
        ) {
          return subject(expect);
        });

      return clonedExpect(expect => {
        expect(resolve => {
          setTimeout(function() {
            resolve('usefully');
          }, 100);
        }, 'promisified').and('to be truthy');
      }, 'executed inside an assertion');
    });
  });

  it('fails when the given assertion does not accept the shifted subject type', () => {
    var clonedExpect = expect
      .clone()
      .addAssertion('<number> when stringified <assertion>', function(
        expect,
        subject
      ) {
        expect.errorMode = 'nested';
        return expect.shift(String(subject));
      });

    expect(
      () => {
        clonedExpect(666, 'when stringified', 'to be negative');
      },
      'to throw',
      'expected 666 when stringified to be negative\n' +
        "  expected '666' to be negative\n" +
        '    The assertion does not have a matching signature for:\n' +
        '      <string> to be negative\n' +
        '    did you mean:\n' +
        '      <number> [not] to be negative'
    );
  });

  describe('when you shift to an assertion in the parent expect', () => {
    it('fails when the given assertion does not accept the shifted subject type', () => {
      var clonedExpect = expect
        .clone()
        .child()
        .exportAssertion('<number> when stringified <assertion>', function(
          expect,
          subject
        ) {
          expect.errorMode = 'nested';
          return expect.shift(String(subject));
        });

      expect(
        () => {
          clonedExpect(666, 'when stringified', 'to be negative');
        },
        'to throw',
        'expected 666 when stringified to be negative\n' +
          "  expected '666' to be negative\n" +
          '    The assertion does not have a matching signature for:\n' +
          '      <string> to be negative\n' +
          '    did you mean:\n' +
          '      <number> [not] to be negative'
      );
    });
  });
});


text:
package org.baade.eel.core.message;

import com.google.protobuf.Message;
import org.baade.eel.core.ILifecycle;
import org.baade.eel.core.player.IPlayer;

public interface IMessage extends ILifecycle {

	public IPlayer getPlayer();

	public short getMessageId();

	public <T extends Message> T getProtoMessage();

	public byte[] toBytes();
}


text:
namespace pythonic
{

  namespace numpy
  {
#define NUMPY_NARY_FUNC_NAME rad2deg
#define NUMPY_NARY_FUNC_SYM nt2::indeg
#include "pythonic/types/numpy_nary_expr.hpp"
  }
}

#endif


text:
If you submit a pull request, please keep the following guidelines in mind:

1. Code should be `go fmt` compliant.
2. Types, structs and funcs should be documented.
3. Tests pass.

## Getting set up

Assuming your `$GOPATH` is set up according to your desires, run:

```sh
go get github.com/digitalocean/godo
go get -u github.com/stretchr/testify/assert
```

If outside `$GOPATH`, just clone the repository:

```sh
git clone https://github.com/digitalocean/godo
```

## Running tests

When working on code in this repository, tests can be run via:

```sh
go test .
```

## Versioning

Godo follows [semver](https://www.semver.org) versioning semantics.  New functionality should be accompanied by increment to the minor version number. The current strategy is to release often. Any code which is complete, tested, reviewed, and merged to master is worthy of release.

## Releasing

Releasing a new version of godo is currently a manual process.

1. Update the `CHANGELOG.md` with your changes. If a version header for the next (unreleased) version does not exist, create one.  Include one bullet point for each piece of new functionality in the release, including the pull request ID, description, and author(s).

```
## [v1.8.0] - 2019-03-13

- #210 Expose tags on storage volume create/list/get. - @jcodybaker
- #123 Update test dependencies - @digitalocean
```

2. Update the `libraryVersion` number in `godo.go`.
3. Make a pull request with these changes.  This PR should be separate from the PR containing the godo changes.
4. Once the pull request has been merged, [draft a new release](https://github.com/digitalocean/godo/releases/new).
5. Update the `Tag version` and `Release title` field with the new godo version.  Be sure the version has a `v` prefixed in both places. Ex `v1.8.0`.
6. Copy the changelog bullet points to the description field.
7. Publish the release.


text:
<?php

namespace Api\Bus\Blocks;

use Api\Bus\AbstractBus;

class AddUpdateLocale extends AbstractBus {

    protected $_required = array(
        '_id',
        'name',
        'locale'
    );

    public function operateDB($model, $param) {
        try {
            $this->_response = $model->addUpdateLocale($param);
            return $this->result($model->error());
        } catch (\Exception $e) {
            $this->_exception = $e;
        }
        return false;
    }

}


text:
package org.jaxen.expr;

class DefaultNotEqualsExpr extends DefaultEqualityExpr
  {
  /**
     *
     */
    private static final long serialVersionUID = -8001267398136979152L;

DefaultNotEqualsExpr( Expr lhs, Expr rhs )
    {
    super( lhs, rhs );
    }

  public String getOperator()
    {
    return "!=";
    }

  public String toString()
    {
    return "[(DefaultNotEqualsExpr): " + getLHS() + ", " + getRHS() + "]";
    }

    protected boolean evaluateObjectObject( Object lhs, Object rhs )
    {
        if( eitherIsNumber( lhs, rhs ) )
        {

            // Double.equals does not implement standard IEEE 754 comparisons but != does
            Double left = (Double) lhs;
            Double right = (Double) rhs;

            return left.doubleValue() != right.doubleValue();

        }
        return !lhs.equals( rhs );
    }

}


text:
package com.github.deltaspikedbunit.sample.inventory.entity;

import java.util.*;

import javax.persistence.*;

/**
 * Inventory category entity used in tests. A category can include multiple {@link InventoryItem}s.
 *
 * @author Luigi Bitonti
 */
@Entity
@Table(name = "inventory_category")
public class InventoryCategory {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private int id;
    @Version
    @Column(name = "version")
    private int version;
    @Column(name = "category_name", nullable = false, unique = true)
    private String categoryName;
    @Column(name = "category_description")
    private String categoryDescription;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "category")
    private Set<InventoryItem> items = new HashSet<>();

    public InventoryCategory() {
    }

    public InventoryCategory(String categoryName, String categoryDescription) {
        this.categoryName = categoryName;
        this.categoryDescription = categoryDescription;
    }

    public String getCategoryName() {
        return categoryName;
    }
    public void setCategoryName(String name) {
        this.categoryName = name;
    }

    public String getCategoryDescription() {
        return categoryDescription;
    }
    public void setCategoryDescription(String description) {
        this.categoryDescription = description;
    }

    int getVersion() {
        return version;
    }
    void setVersion(int version) {
        this.version = version;
    }

    public int getId() {
        return id;
    }
    void setId(int id) {
        this.id = id;
    }

    public Set<InventoryItem> getItems() {
        return items;
    }
    void setItems(Set<InventoryItem> items) {
        this.items = items;
    }

    public void addItem(InventoryItem item) {
        if (item != null) {
            this.items.add(item);
            item.setCategory(this);
        }
    }

    public void addItems(InventoryItem... items) {
        if (items != null) {
            for (InventoryItem ii : items) {
                addItem(ii);
            }
        }
    }

}


text:
<script type="text/javascript">
	top.location.href= "<?php echo Facebook::get()->getAccessUrl(); ?>";
</script>