logResponseIfStatusCodeIs(500))
			.header(X_USER_HEADER, ADMIN_USERNAME)
			.header(X_PASSWORD_HEADER, ADMIN_PASSWORD)
			.expect()
			.body("html.body.div.select.option[0]",            Matchers.equalTo("group00"))
			.body("html.body.div.select.option[1]",            Matchers.equalTo("group01"))
			.body("html.body.div.select.option[1].@selected",   Matchers.equalTo("selected"))
			.body("html.body.div.select.option[2]",            Matchers.equalTo("group02"))
			.body("html.body.div.select.option[3]",            Matchers.equalTo("group03"))
			.body("html.body.div.select.option[3].@selected",   Matchers.equalTo("selected"))
			.body("html.body.div.select.option[4]",            Matchers.equalTo("group04"))
			.body("html.body.div.select.option[4].@selected",   Matchers.equalTo("selected"))
			.body("html.body.div.select.option[5]",            Matchers.equalTo("group05"))
			.body("html.body.div.select.option[6]",            Matchers.equalTo("group06"))
			.body("html.body.div.select.option[6].@selected",   Matchers.equalTo("selected"))
			.body("html.body.div.select.option[7]",            Matchers.equalTo("group07"))
			.body("html.body.div.select.option[8]",            Matchers.equalTo("parent"))
			.statusCode(200)
			.when()
			.get("/test52_1/" + uuid);

	}

	@Test
	public void test53CircularNestedSharedComponents() {

		// setup
		try (final Tx tx = app.tx()) {

			createAdminUser();

			tx.success();

		} catch (FrameworkException fex) {
			fail("Unexpected exception.");
		}

		// setup
		try (final Tx tx = app.tx()) {

			final Page shadowPage = CreateComponentCommand.getOrCreateHiddenDocument();

			final Page page = Page.createNewPage(securityContext, "test52");
			final DOMElement html = createElement(page, page, "html");
			final DOMElement head = createElement(page, html, "head");
			createElement(page, head, "title", "test52");

			final DOMElement body       = createElement(page, html, "body");

			final DOMElement div1        = createElement(page, body, "div");
			final DOMElement div2        = createElement(page, body, "div");

			final DOMNode comp1   = createComponent(div1);
			final DOMNode comp2   = createComponent(div2);

			// remove both divs from body (to later add the shared components)
			body.removeChild(div1);
			body.removeChild(div2);

			comp1.setProperty(Traits.of(StructrTraits.NODE_INTERFACE).key(NodeInterfaceTraitDefinition.NAME_PROPERTY), "shared-component-one");
			comp1.setProperty(Traits.of(StructrTraits.DOM_NODE).key(DOMNodeTraitDefinition.HIDE_CONDITIONS_PROPERTY), "{ return $.requestStore['SC1_render_count'] > 3; }");

			comp2.setProperty(Traits.of(StructrTraits.NODE_INTERFACE).key(NodeInterfaceTraitDefinition.NAME_PROPERTY), "shared-component-two");
			comp2.setProperty(Traits.of(StructrTraits.DOM_NODE).key(DOMNodeTraitDefinition.HIDE_CONDITIONS_PROPERTY), "{ return $.requestStore['SCS_render_count'] > 3; }");

			createContent(shadowPage, comp1, "shared-component-one\n" +
					"${{\n" +
					"\n" +
					"\tlet cnt2 = $.requestStore['SC1_render_count'] || 0;\n" +
					"\t\n" +
					"\t$.requestStore['SC1_render_count'] = cnt2 + 1;\n" +
					"\n" +
					"}}");

			createConten


: no solution","x":0,"xref":"paper","y":1,"yref":"paper"}],"legend":{"title":{"text":"click to hide/show"}},"title":{"text":"Benchmark of Simplex LP solvers
shifted time ratios (shift=10 seconds) using CLP-1.17.7 as base solver (6 Jun 2022) - mattmilten.github.io/mittelmann-plots"}},                        {"responsive": true}                    )                };                            </script>

<meta charset="utf-8" />


            if (isAutoReverse) {
                    isReverse = !isReverse
                }

                resetTime()
            }

            return
        }

        onProgress(animatedValue.getValue(time / endTime, interpolator))
    }

    private fun updateTime(tpf: Double) {
        time += if (isReverse) -tpf else tpf
    }

    private fun resetTime() {
        time = if (isReverse) endTime else 0.0
    }

    fun setTimeTo(newTime: Double) {
        time = newTime

        onProgress(animatedValue.getValue(time / endTime, interpolator))
    }

    abstract fun onProgress(value: T)
}/*
 * FXGL - JavaFX Game Library. The MIT License (MIT).
 * Copyright (c) AlmasB (almaslvl@gmail.com).
 * See LICENSE for details.
 */

package com.almasb.fxgl.texture

import com.almasb.fxgl.animation.AnimatedImage
import com.almasb.fxgl.core.concurrent.Async
import com.almasb.fxgl.logging.Logger
import javafx.geometry.Rectangle2D
import javafx.scene.Group
import javafx.scene.Node
import javafx.scene.SnapshotParameters
import javafx.scene.effect.BlendMode
import javafx.scene.image.*
import javafx.scene.paint.Color
import javafx.scene.shape.Rectangle
import java.io.ByteArrayOutputStream
import java.nio.file.Files
import java.nio.file.Path
import java.util.Base64
import java.util.concurrent.Callable
import javax.imageio.ImageIO
import kotlin.math.abs
import kotlin.math.max
import kotlin.math.min

/**
 * A collection of functions to be used with [Image].
 *
 * @author Almas Baimagambetov (almaslvl@gmail.com)
 */

private val image: Image by lazy {
    val group = Group()
    val size = 32.0

    val r1 = Rectangle(size, size, Color.BLACK)
    val r2 = Rectangle(size, size, Color.HOTPINK)
    val r3 = Rectangle(size, size, Color.PURPLE)
    val r4 = Rectangle(size, size, Color.BLACK)

    r2.translateX = size
    r3.translateY = size
    r4.translateX = size
    r4.translateY = size

    r1.stroke = Color.GRAY
    r2.stroke = Color.GRAY
    r3.stroke = Color.GRAY
    r4.stroke = Color.GRAY

    group.children.addAll(r1, r2, r3, r4)

    var result: Image? = null

    Async.startAsyncFX {
        result = group.snapshot(null, null)
    }.await()

    result!!
}

fun getDummyImage() = image

fun toImage(node: Node): Image = Async.startAsyncFX(Callable {
    val params = SnapshotParameters()
    params.fill = Color.TRANSPARENT
    node.snapshot(params, null)
}).await()

fun toPixels(image: Image): List<Pixel> {
    val result = arrayListOf<Pixel>()
    image.map {
        result += it
        it
    }
    return result
}

fun fromPixels(width: Int, height: Int, pixels: List<Pixel>): Image {
    val image = WritableImage(width, height)
    var index = 0

    for (y in 0 until height) {
        for (x in 0 until width) {
            image.pixelWriter.setColor(x, y, pixels[index++].color)
        }
    }

    return image
}

/**
 * Merges given [images] horizontally into a single [Image].
 */
fun merge(images: List<Image>): Image {
    if (images.isEmpty())
        return getDummyImage()

    if (images.size == 1)
        return images.first()

    val width = images.sumBy { it.width.toInt() }
    val height = images.map { it.height.toInt() }.maxOrNull() ?: 0

    val image = WritableImage(width,


 along
// with this program; if not, write to the Free Software Foundation, Inc.,
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
//
// (C) 2017 Red Hat, Inc.
// All rights reserved.
// --- END COPYRIGHT BLOCK ---

package com.netscape.cmstools.logging;

import java.io.File;
import java.io.InputStream;

import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.Option;
import org.apache.commons.io.FileUtils;
import org.dogtagpki.cli.CommandCLI;

import com.netscape.certsrv.logging.AuditClient;
import com.netscape.cmstools.cli.MainCLI;

/**
 * @author Endi S. Dewata
 */
public class AuditFileRetrieveCLI extends CommandCLI {

    public static org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(AuditFileRetrieveCLI.class);

    public AuditCLI auditCLI;

    public AuditFileRetrieveCLI(AuditCLI auditCLI) {
        super("file-retrieve", "Retrieve audit file", auditCLI);
        this.auditCLI = auditCLI;
    }

    @Override
    public void printHelp() {
        formatter.printHelp(getFullName() + " <filename> [OPTIONS...]", options);
    }

    @Override
    public void createOptions() {
        Option option = new Option(null, "output", true, "Output file.");
        option.setArgName("path");
        options.addOption(option);
    }

    @Override
    public void execute(CommandLine cmd) throws Exception {

        String[] cmdArgs = cmd.getArgs();

        if (cmdArgs.length < 1) {
            throw new Exception("Missing audit file name.");

        } if (cmdArgs.length > 1) {
            throw new Exception("Too many arguments specified.");
        }

        String filename = cmdArgs[0];
        String output = cmd.getOptionValue("output");
        if (output == null) output = filename;

        MainCLI mainCLI = (MainCLI) getRoot();
        mainCLI.init();

        AuditClient auditClient = auditCLI.getAuditClient();
        InputStream is = auditClient.getAuditFile(filename);
        File outputFile = new File(output);
        FileUtils.copyInputStreamToFile(is, outputFile);
    }
}
// --- BEGIN COPYRIGHT BLOCK ---
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; version 2 of the License.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License along
// with this program; if not, write to the Free Software Foundation, Inc.,
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
//
// (C) 2012 Red Hat, Inc.
// All rights reserved.
// --- END COPYRIGHT BLOCK ---

package com.netscape.cmstools.group;

import java.util.Collection;

import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.Option;
import org.dogtagpki.cli.CommandCLI;

import com.netscape.certsrv.group.GroupClient;
import com.netscape.certsrv.group.GroupCollection;
import com.netscape.certsrv.group.GroupData;
import com.netscape.cmstools.cli.MainCLI;

/**
 * @author Endi S. Dewata
 */
public class GroupFindCLI extends CommandCLI {

    public static org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(GroupFindCLI.class);

    public GroupCLI groupCLI


/**
 * FreeRDP: A Remote Desktop Protocol Implementation
 * Smartcard Device Service Virtual Channel
 *
 * Copyright 2011 O.S. Systems Software Ltda.
 * Copyright 2011 Eduardo Fiss Beloni <beloni@ossystems.com.br>
 * Copyright 2015 Thincast Technologies GmbH
 * Copyright 2015 DI (FH) Martin Haimberger <martin.haimberger@thincast.com>
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#ifndef FREERDP_CHANNEL_SMARTCARD_OPERATIONS_MAIN_H
#define FREERDP_CHANNEL_SMARTCARD_OPERATIONS_MAIN_H

#include <winpr/crt.h>
#include <winpr/stream.h>
#include <winpr/smartcard.h>

#include <freerdp/api.h>
#include <freerdp/channels/scard.h>

#ifdef __cplusplus
extern "C"
{
#endif
	typedef struct
	{
		union
		{
			Handles_Call handles;
			Long_Call lng;
			Context_Call context;
			ContextAndStringA_Call contextAndStringA;
			ContextAndStringW_Call contextAndStringW;
			ContextAndTwoStringA_Call contextAndTwoStringA;
			ContextAndTwoStringW_Call contextAndTwoStringW;
			EstablishContext_Call establishContext;
			ListReaderGroups_Call listReaderGroups;
			ListReaders_Call listReaders;
			GetStatusChangeA_Call getStatusChangeA;
			LocateCardsA_Call locateCardsA;
			LocateCardsW_Call locateCardsW;
			LocateCards_ATRMask locateCardsATRMask;
			LocateCardsByATRA_Call locateCardsByATRA;
			LocateCardsByATRW_Call locateCardsByATRW;
			GetStatusChangeW_Call getStatusChangeW;
			GetReaderIcon_Call getReaderIcon;
			GetDeviceTypeId_Call getDeviceTypeId;
			Connect_Common_Call connect;
			ConnectA_Call connectA;
			ConnectW_Call connectW;
			Reconnect_Call reconnect;
			HCardAndDisposition_Call hCardAndDisposition;
			State_Call state;
			Status_Call status;
			SCardIO_Request scardIO;
			Transmit_Call transmit;
			GetTransmitCount_Call getTransmitCount;
			Control_Call control;
			GetAttrib_Call getAttrib;
			SetAttrib_Call setAttrib;
			ReadCache_Common readCache;
			ReadCacheA_Call readCacheA;
			ReadCacheW_Call readCacheW;
			WriteCache_Common writeCache;
			WriteCacheA_Call writeCacheA;
			WriteCacheW_Call writeCacheW;
		} call;
		UINT32 ioControlCode;
		UINT32 completionID;
		UINT32 deviceID;
		SCARDCONTEXT hContext;
		SCARDHANDLE hCard;
		const char* ioControlCodeName;
		UINT32 outputBufferLength; /** @since version 3.13.0 */
	} SMARTCARD_OPERATION;

	FREERDP_API LONG smartcard_irp_device_control_decode(wStream* s, UINT32 CompletionId,
	                                                     UINT32 FileId,
	                                                     SMARTCARD_OPERATION* operation);
	FREERDP_API void smartcard_operation_free(SMARTCARD_OPERATION* op, BOOL allocated);

#ifdef __cplusplus
}
#endif
#endif /* FREERDP_CHANNEL_SMARTCARD_CLIENT_OPERATIONS_H */


['©', '°', 'µ', '«'], // implausible after alphabetic
    &['¬', '±', '×', '÷', '≈', '≤', '≥'], // implausible next to non-ASCII alphabetic
    &[], // implausible next to ASCII alphabetic
];

pub const ICELANDIC: [&[char]; 46] = [
	&[' '], // Space-like
	&['a'],
	&['b'],
	&['c'],
	&['d'],
	&['e'],
	&['f'],
	&['g'],
	&['h'],
	&['i'],
	&['j'],
	&['k'],
	&['l'],
	&['m'],
	&['n'],
	&['o'],
	&['p'],
	&['q'],
	&['r'],
	&['s'],
	&['t'],
	&['u'],
	&['v'],
	&['w'],
	&['x'],
	&['y'],
	&['z'],
	&['ß', 'š', 'ž', 'ç', 'œ', 'à', 'â', 'ã', 'å', 'è', 'ê', 'ë', 'ì', 'î', 'ï', 'ò', 'ô', 'õ', 'ù', 'û', 'ü', 'ÿ', 'ñ'],
	&['á'],
	&['ä'],
	&['æ'],
	&['é'],
	&['í'],
	&['ð'],
	&['ó'],
	&['ö'],
	&['ø'],
	&['ú'],
	&['ý'],
	&['þ'],
	// Start non-stored classes
    &['·', '\u{00AD}', '¦', '∙'], // plausible next to alphabetic on either side
    &['¨', '¯', '´', '¸', '˛', 'ˇ', '˘', '¤', '§', '¢', 'ƒ', '£', '¥', '№', '⌡', '⌠', 'ª', 'º', '«', '»'], // implausible next to alphabetic on either side (ordinal indicators and guillemets deliberately here)
    &['®', '¶', '¹', '²', '³'], // implausible before alphabetic
    &['©', '°', 'µ', '¼', '½', '¾', '¡', '¿'], // implausible after alphabetic
    &['¬', '±', '×', '÷', '≈', '≤', '≥'], // implausible next to non-ASCII alphabetic
    &[], // implausible next to ASCII alphabetic
];

pub const WESTERN: [&[char]; 65] = [
	&[' '], // Space-like
	&['a'],
	&['b'],
	&['c'],
	&['d'],
	&['e'],
	&['f'],
	&['g'],
	&['h'],
	&['i'],
	&['j'],
	&['k'],
	&['l'],
	&['m'],
	&['n'],
	&['o'],
	&['p'],
	&['q'],
	&['r'],
	&['s'],
	&['t'],
	&['u'],
	&['v'],
	&['w'],
	&['x'],
	&['y'],
	&['z'],
	&['ß'],
	&['š'],
	&['œ'],
	&['à'],
	&['á'],
	&['â'],
	&['ã'],
	&['ä'],
	&['å'],
	&['æ'],
	&['ç'],
	&['è'],
	&['é'],
	&['ê'],
	&['ë'],
	&['ì'],
	&['í'],
	&['î'],
	&['ï'],
	&['ñ'],
	&['ò'],
	&['ó'],
	&['ô'],
	&['õ'],
	&['ö'],
	&['ø'],
	&['ù'],
	&['ú'],
	&['û'],
	&['ü'],
	&['ž'],
	&['ÿ'], // XXX Add Dutch to


 stylesheet is invalid.  "NMTOKEN" is the XML data-type
// of the attribute, and should not be translated.  The substitution text {1} is
// the attribute value and {0} is the attribute name.
    { INVALID_NMTOKEN,
     "Valor no permitido: {1} utilizado para el atributo NMTOKEN: {0} "},

// Note to translators:  The following message is used if the value of
// an attribute in a stylesheet is invalid.  "NCNAME" is the XML data-type
// of the attribute, and should not be translated.  The substitution text {1} is
// the attribute value and {0} is the attribute name.
    { INVALID_NCNAME,
     "Valor no permitido: {1} utilizado para el atributo NCNAME: {0} "},

// Note to translators:  The following message is used if the value of
// an attribute in a stylesheet is invalid.  "boolean" is the XSLT data-type
// of the attribute, and should not be translated.  The substitution text {1} is
// the attribute value and {0} is the attribute name.
    { INVALID_BOOLEAN,
     "Valor no permitido: {1} utilizado para el atributo boolean: {0} "},

// Note to translators:  The following message is used if the value of
// an attribute in a stylesheet is invalid.  "number" is the XSLT data-type
// of the attribute, and should not be translated.  The substitution text {1} is
// the attribute value and {0} is the attribute name.
     { INVALID_NUMBER,
     "Valor no permitido: {1} utilizado para el atributo number: {0} "},

  // End of shared codes...

// Note to translators:  A "match pattern" is a special form of XPath expression
// that is used for matching patterns.  The substitution text is the name of
// a function.  The message indicates that when this function is referenced in
// a match pattern, its argument must be a string literal (or constant.)
// ER_ARG_LITERAL - new error message for bugzilla //5202
    { ER_ARG_LITERAL,
     "El argumento para {0} en el patr\u00F3n de coincidencia no debe ser un valor literal."},

// Note to translators:  The following message indicates that two definitions of
// a variable.  A "global variable" is a variable that is accessible everywher
// in the stylesheet.
// ER_DUPLICATE_GLOBAL_VAR - new error message for bugzilla #790
    { ER_DUPLICATE_GLOBAL_VAR,
     "Duplicar declaraci\u00F3n de variable global."},

// Note to translators:  The following message indicates that two definitions of
// a variable were encountered.
// ER_DUPLICATE_VAR - new error message for bugzilla #790
    { ER_DUPLICATE_VAR,
     "Duplicar declaraci\u00F3n de variable."},

    // Note to translators:  "xsl:template, "name" and "match" are XSLT keywords
    // which must not be translated.
    // ER_TEMPLATE_NAME_MATCH - new error message for bugzilla #789
    { ER_TEMPLATE_NAME_MATCH,
     "xsl:template debe tener un atributo name o match (o ambos)"},

    // Note to translators:  "exclude-result-prefixes" is an XSLT keyword which
    // should not be translated.  The message indicates that a namespace prefix
    // encountered as part of the value of the exclude-result-prefixes attribute
    // was in error.
    // ER_INVALID_PREFIX - new error message for bugzilla #788
    { ER_INVALID_PREFIX,
     "El prefijo en exclude-result-prefixes n


ery: It loves to lurk inside holes in rocks. It sometimes sprays ink on prey by sticking out only its mouth.") | [Octillery](../../pokemon/octillery.md/) | ![Rippling Fishing](../../assets/encounter_types/rippling_fishing.png){: style='max-width: 24px;' } | 5% |
| ![Cloyster](../../assets/sprites/cloyster/front.gif "Cloyster: It fights by keeping its shell tightly shut for protection and by shooting spikes to repel foes.") | [Cloyster](../../pokemon/cloyster.md/) | ![Rippling Fishing](../../assets/encounter_types/rippling_fishing.png){: style='max-width: 24px;' } | 5% |

### Surfing

| Sprite | Pokémon | Encounter Type | Chance |
| :---: | --- | :---: | --- |
| ![Frillish](../../assets/sprites/frillish/front.gif "Frillish: They paralyze prey with poison, then drag them down to their lairs, five miles below the surface.") | [Frillish](../../pokemon/frillish.md/) | ![Surfing](../../assets/encounter_types/surfing.png){: style='max-width: 24px;' } | 60% |
| ![Tentacool](../../assets/sprites/tentacool/front.gif "Tentacool: Because its body is almost entirely composed of water, it shrivels up if it is washed ashore.") | [Tentacool](../../pokemon/tentacool.md/) | ![Surfing](../../assets/encounter_types/surfing.png){: style='max-width: 24px;' } | 30% |
| ![Staryu](../../assets/sprites/staryu/front.gif "Staryu: If its body is torn, it can grow back if the red core remains. The core flashes at midnight.") | [Staryu](../../pokemon/staryu.md/) | ![Surfing](../../assets/encounter_types/surfing.png){: style='max-width: 24px;' } | 10%

### Rippling Surfing

| Sprite | Pokémon | Encounter Type | Chance |
| :---: | --- | :---: | --- |
| ![Staryu](../../assets/sprites/staryu/front.gif "Staryu: If its body is torn, it can grow back if the red core remains. The core flashes at midnight.") | [Staryu](../../pokemon/staryu.md/) | ![Rippling Surfing](../../assets/encounter_types/rippling_surfing.png){: style='max-width: 24px;' } | 60% |
| ![Tentacruel](../../assets/sprites/tentacruel/front.gif "Tentacruel: It extends its 80 tentacles to form an encircling poisonous net that is difficult to escape.") | [Tentacruel](../../pokemon/tentacruel.md/) | ![Rippling Surfing](../../assets/encounter_types/rippling_surfing.png){: style='max-width: 24px;' } | 30% |
| ![Lapras](../../assets/sprites/lapras/front.gif "Lapras: It loves crossing the sea with people and Pokémon on its back. It understands human speech.") | [Lapras](../../pokemon/lapras.md/) | ![Rippling Surfing](../../assets/encounter_types/rippling_surfing.png){: style='max-width: 24px;' } | 10%

### Fishing

| Sprite | Pokémon | Encounter Type | Chance |
| :---: | --- | :---: | --- |
| ![Horsea](../../assets/sprites/horsea/front.gif "Horsea: It makes its nest in the shade of corals. If it senses danger, it spits murky ink and flees.") | [Horsea](../../pokemon/horsea.md/) | ![Fishing](../../assets/encounter_types/fishing.png){: style='max-width: 24px;' } | 60% |
| ![Wailmer](../../


                execvp(
                    &CString::new(SCRIPT_NAME).expect(&format!("Invalid CString: {}", SCRIPT_NAME)),
                    &[],
                )?;
            }
        }
    }
    Ok(())
}
use clapi::macros::*;

#[command]
#[option(x, flag=1)]
fn app(x: i64){}

fn main(){}<gh_stars>0
use sonr::net::stream::Stream;
use sonr::net::tcp::ReactiveTcpListener;
use sonr::net::tcp::TcpListener;
use sonr::reactor::{Reaction, Reactor};
use sonr::sync::queue;
use sonr::system::System;
use sonr::{Event, Evented, Token};
use sonr_tls::{ReactiveTlsAcceptor};
use std::collections::HashMap;
use std::env;
use std::io::{ErrorKind::WouldBlock, Read, Write};
use std::thread;

use sonr_tls::TlsStream;

static RESPONSE: &'static [u8] = b"HTTP/1.1 200 OK\nContent-Length: 13\n\nHello World\n\n";

struct TlsConnections<S: Evented + Read + Write> {
    connections: HashMap<Token, TlsStream<Stream<S>>>,
}

impl<S> Reactor for TlsConnections<S>
where
    S: Evented + Read + Write,
{
    type Input = TlsStream<Stream<S>>;
    type Output = ();

    fn react(&mut self, reaction: Reaction<Self::Input>) -> Reaction<Self::Output> {
        match reaction {
            Reaction::Value(stream) => {
                self.connections.insert(stream.get_ref().token(), stream);
                Reaction::Continue
            }
            Reaction::Event(event) => {
                if self.connections.get(&event.token()).is_none() {
                    return Reaction::Event(event);
                }

                if let Some(s) = self.connections.get_mut(&event.token()) {
                    let _ = s.get_mut().react(Reaction::Event(event));

                    if s.get_mut().readable() {
                        let mut buf = [0; 1024];
                        let res = s.read(&mut buf[..]);
                    }

                    while s.get_ref().writable() {
                        let res = s.write(&RESPONSE);
                        match res {
                            Ok(_) => {}
                            Err(ref e) if e.kind() == WouldBlock => { break }
                            Err(_e) => {
                                self.connections.remove(&event.token());
                                break
                            }
                        }
                    }
                }

                Reaction::Continue
            }
            Reaction::Continue => Reaction::Continue,
        }
    }
}

fn main() {
    System::init();
    let listener = ReactiveTcpListener::bind("0.0.0.0:5555").unwrap();
    let mut queue = queue::ReactiveQueue::unbounded();

    for _ in 0..8 {
        let stealer = queue.deque();
        thread::spawn(move || {
            System::init();
            let stealer = queue::ReactiveDeque::new(stealer).unwrap().map(|s| Stream::new(s).unwrap());
            let path = env::var("SONR_PFX_PATH").unwrap();
            let pass = env::var("SONR_PFX_PASS").unwrap();
            let acceptor = ReactiveTlsAcceptor::new(&path, &pass).unwrap();
            let connections = TlsConnections {
                connections: HashMap::new(),
            };
            let server = stealer.chain(acceptor.chain(connections));
            System::start(server);
        });
    }

    let server = listener.map(|(s, _)| s).chain(queue);
    System::start(server);
}
<reponame>lonelyhentai/workspace<filename>rust/rustudy/src/bin/enum.rs
#![allow(dead_code)]

enum Person {
    Engineer,
    Scientist,
    Height(i32),
    Weight(i32),
    Info {name:String,height:i32}
}

enum Number {
    Zero,
    One,
    Two,
}

enum Color {
    Red = 0xff0000,
    Green = 0x00ff00,
    Blue = 0x0000ff,
}

fn inspect(p:Person) {
    match p {
        Person::Engineer


TypeCmdScanStart,
    TypeRespScanStart,
    TypeCmdScanStatus,
    TypeRespScanStatus,
    TypeCmdScanResult,
    TypeRespScanResult,
  ];

  static final $core.Map<$core.int, WiFiScanMsgType> _byValue = $pb.ProtobufEnum.initByValue(values);
  static WiFiScanMsgType valueOf($core.int value) => _byValue[value];

  const WiFiScanMsgType._($core.int v, $core.String n) : super(v, n);
}

///
//  Generated code. Do not modify.
//  source: wifi_scan.proto
//
// @dart = 2.3
// ignore_for_file: camel_case_types,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type

import 'dart:core' as $core;

import 'package:protobuf/protobuf.dart' as $pb;

import 'wifi_constants.pbenum.dart' as $3;
import 'wifi_scan.pbenum.dart';
import 'constants.pbenum.dart' as $0;

export 'wifi_scan.pbenum.dart';

class CmdScanStart extends $pb.GeneratedMessage {
  static final $pb.BuilderInfo _i = $pb.BuilderInfo('CmdScanStart', createEmptyInstance: create)
    ..aOB(1, 'blocking')
    ..aOB(2, 'passive')
    ..a<$core.int>(3, 'groupChannels', $pb.PbFieldType.OU3)
    ..a<$core.int>(4, 'periodMs', $pb.PbFieldType.OU3)
    ..hasRequiredFields = false
  ;

  CmdScanStart._() : super();
  factory CmdScanStart() => create();
  factory CmdScanStart.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory CmdScanStart.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
  CmdScanStart clone() => CmdScanStart()..mergeFromMessage(this);
  CmdScanStart copyWith(void Function(CmdScanStart) updates) => super.copyWith((message) => updates(message as CmdScanStart));
  $pb.BuilderInfo get info_ => _i;
  @$core.pragma('dart2js:noInline')
  static CmdScanStart create() => CmdScanStart._();
  CmdScanStart createEmptyInstance() => create();
  static $pb.PbList<CmdScanStart> createRepeated() => $pb.PbList<CmdScanStart>();
  @$core.pragma('dart2js:noInline')
  static CmdScanStart getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<CmdScanStart>(create);
  static CmdScanStart _defaultInstance;

  @$pb.TagNumber(1)
  $core.bool get blocking => $_getBF(0);
  @$pb.TagNumber(1)
  set blocking($core.bool v) { $_setBool(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasBlocking() => $_has(0);
  @$pb.TagNumber(1)
  void clearBlocking() => clearField(1);

  @$pb.TagNumber(2)
  $core.bool get passive => $_getBF(1);
  @$pb.TagNumber(2)
  set passive($core.bool v) { $_setBool(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasPassive() => $_has(1);
  @$pb.TagNumber(2)
  void clearPassive() => clearField(2);

  @$pb.TagNumber(3)
  $core.int get groupChannels => $_getIZ(2);
  @$pb.TagNumber(3)
  set groupChannels($core.int v) { $_setUnsignedInt32(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasGroupChannels() => $_has(2);
  @$pb.TagNumber(3


s_allowed { w.write_with_tag(18, |w| w.write_string(&**s))?; }
        if let Some(ref s) = self.countries_forbidden { w.write_with_tag(26, |w| w.write_string(&**s))?; }
        if let Some(ref s) = self.typ { w.write_with_tag(32, |w| w.write_enum(*s as i32))?; }
        for s in &self.catalogue_str { w.write_with_tag(42, |w| w.write_string(&**s))?; }
        Ok(())
    }
}

pub mod mod_Restriction {

#[derive(Debug, PartialEq, Eq, Clone, Copy)]
pub enum Catalogue {
    AD = 0,
    SUBSCRIPTION = 1,
    CATALOGUE_ALL = 2,
    SHUFFLE = 3,
    COMMERCIAL = 4,
}

impl Default for Catalogue {
    fn default() -> Self {
        Catalogue::AD
    }
}

impl From<i32> for Catalogue {
    fn from(i: i32) -> Self {
        match i {
            0 => Catalogue::AD,
            1 => Catalogue::SUBSCRIPTION,
            2 => Catalogue::CATALOGUE_ALL,
            3 => Catalogue::SHUFFLE,
            4 => Catalogue::COMMERCIAL,
            _ => Self::default(),
        }
    }
}

impl<'a> From<&'a str> for Catalogue {
    fn from(s: &'a str) -> Self {
        match s {
            "AD" => Catalogue::AD,
            "SUBSCRIPTION" => Catalogue::SUBSCRIPTION,
            "CATALOGUE_ALL" => Catalogue::CATALOGUE_ALL,
            "SHUFFLE" => Catalogue::SHUFFLE,
            "COMMERCIAL" => Catalogue::COMMERCIAL,
            _ => Self::default(),
        }
    }
}

#[derive(Debug, PartialEq, Eq, Clone, Copy)]
pub enum Type {
    STREAMING = 0,
}

impl Default for Type {
    fn default() -> Self {
        Type::STREAMING
    }
}

impl From<i32> for Type {
    fn from(i: i32) -> Self {
        match i {
            0 => Type::STREAMING,
            _ => Self::default(),
        }
    }
}

impl<'a> From<&'a str> for Type {
    fn from(s: &'a str) -> Self {
        match s {
            "STREAMING" => Type::STREAMING,
            _ => Self::default(),
        }
    }
}

}

#[derive(Debug, Default, PartialEq, Clone)]
pub struct Availability {
    pub catalogue_str: Vec<String>,
    pub start: Option<metadata::Date>,
}

impl<'a> MessageRead<'a> for Availability {
    fn from_reader(r: &mut BytesReader, bytes: &'a [u8]) -> Result<Self> {
        let mut msg = Self::default();
        while !r.is_eof() {
            match r.next_tag(bytes) {
                Ok(10) => msg.catalogue_str.push(r.read_string(bytes)?.to_owned()),
                Ok(18) => msg.start = Some(r.read_message::<metadata::Date>(bytes)?),
                Ok(t) => { r.read_unknown(bytes, t)?; }
                Err(e) => return Err(e),
            }
        }
        Ok(msg)
    }
}

impl MessageWrite for Availability {
    fn get_size(&self) -> usize {
        0
        + self.catalogue_str.iter().map(|s| 1 + sizeof_len((s).len())).sum::<usize>()
        + self.start.as_ref().map


anims; // r31
    scr_anim_s anim; // [sp+50h] [-20h]

    anim = Scr_GetAnim(0, 0);
    anims = Scr_GetAnims(anim.tree);
    if (!XAnimIsPrimitive(anims, anim.index))
        Scr_ParamError(0, "non-primitive animation has no concept of length");
    Scr_AddFloat(XAnimGetLength(anims, anim.index));
}

void __cdecl GScr_AnimHasNotetrack()
{
    unsigned int ConstString; // r31
    const XAnim_s *Anims; // r3
    scr_anim_s Anim; // [sp+50h] [-20h]

    Anim = (scr_anim_s)Scr_GetAnim(0, 0);
    ConstString = Scr_GetConstString(1);
    Anims = Scr_GetAnims(Anim.tree);
    Scr_AddBool(XAnimNotetrackExists(Anims, Anim.index, ConstString));
}

void __cdecl GScr_GetNotetrackTimes()
{
    unsigned int ConstString; // r31
    const XAnim_s *Anims; // r3
    scr_anim_s Anim; // [sp+50h] [-20h]

    Anim = (scr_anim_s)Scr_GetAnim(0, 0);
    ConstString = Scr_GetConstString(1);
    Scr_MakeArray();
    Anims = Scr_GetAnims(Anim.tree);
    XAnimAddNotetrackTimesToScriptArray(Anims, Anim.index, ConstString);
}

void GScr_GetBrushModelCenter()
{
    Scr_Error("Depricated - use GetOrigin.\n");
}

void GScr_GetKeyBinding()
{
    const char *String; // r3
    int KeyBinding; // r30
    char v2[128]; // [sp+50h] [-120h] BYREF
    char v3[136]; // [sp+D0h] [-A0h] BYREF

    String = Scr_GetString(0);
    KeyBinding = CL_GetKeyBinding(0, String, (char (*)[128])v2);
    Scr_MakeArray();
    Scr_AddIString(v2);
    Scr_AddArrayStringIndexed(scr_const.key1);
    Scr_AddIString(v3);
    Scr_AddArrayStringIndexed(scr_const.key2);
    Scr_AddInt(KeyBinding);
    Scr_AddArrayStringIndexed(scr_const.count);
}

void GScr_GetCommandFromKey()
{
    const char *String; // r3
    const char *CommandFromKey; // r3

    String = Scr_GetString(0);
    CommandFromKey = CL_GetCommandFromKey(String);
    if (!CommandFromKey)
        CommandFromKey = "";
    Scr_AddString(CommandFromKey);
}

void GScr_Spawn()
{
    unsigned int ConstString; // r29
    int Int; // r30
    gentity_s *v2; // r31
    const char *v3; // r3
    const char *v4; // r3
    float v5[12]; // [sp+50h] [-30h] BYREF

    ConstString = Scr_GetConstString(0);
    Scr_GetVector(1u, v5);
    if (Scr_GetNumParam() <= 2)
        Int = 0;
    else
        Int = Scr_GetInt(2);
    v2 = G_Spawn();
    Scr_SetString(&v2->classname, ConstString);
    v2->r.currentOrigin[0] = v5[0];
    v2->r.currentOrigin[1] = v5[1];
    v2->r.currentOrigin[2] = v5[2];


"$nm",
				["rightclick"] = 3,
				["attachpoint"] = "TOPLEFT",
				["bgcolorcontext"] = "No Context",
				["leftclick"] = 1,
			},
			[2] = {
				["bgcolor"] = {
					["r"] = 0,
					["g"] = 0,
					["b"] = 0,
				},
				["borderalpha"] = 0,
				["framestrata"] = "LOW",
				["attachpoint"] = "LEFT",
				["textheight"] = 25,
				["middleclick"] = 2,
				["colorcontext"] = "No Context",
				["bgpadding"] = 0,
				["bordercolor"] = {
					["b"] = 0,
					["g"] = 0.729412,
					["r"] = 0.721569,
				},
				["mouseover"] = false,
				["font"] = "FUTUXKCI.ttf",
				["xoffset"] = 3,
				["yoffset"] = -5,
				["disabletooltip"] = 1,
				["label"] = "LVLClass",
				["justifyV"] = "CENTER",
				["framelevel"] = 0,
				["attachto"] = "LEFT",
				["mouseovercolor"] = {
					["r"] = 1,
					["g"] = 1,
					["b"] = 0,
				},
				["hidebg"] = 1,
				["textcolor"] = {
					["r"] = 1,
					["g"] = 1,
					["b"] = 1,
				},
				["justify"] = "LEFT",
				["attach"] = "_HealthBar",
				["backgroundstyle"] = 1,
				["width"] = 150,
				["alpha"] = 0.8,
				["height"] = 25,
				["rightclick"] = 3,
				["bgalpha"] = 1,
				["text"] = "$lv $cl",
				["bgcolorcontext"] = "No Context",
				["leftclick"] = 1,
			},
			[3] = {
				["bgcolor"] = {
					["r"] = 0,
					["g"] = 0,
					["b"] = 0,
				},
				["borderalpha"] = 0,
				["rightclick"] = 3,
				["attachpoint"] = "LEFT",
				["textheight"] = 8,
				["middleclick"] = 2,
				["colorcontext"] = "No Context",
				["bgpadding"] = 0,
				["bgcolorcontext"] = "No Context",
				["mouseover"] = false,
				["font"] = "FUTURABC.ttf",
				["xoffset"] = 22,
				["yoffset"] = 1,
				["disabletooltip"] = 1,
				["label"] = "ManaRageTxt",
				["justifyV"] = "CENTER",
				["framelevel"] = 0,
				["attachto"] = "LEFT",
				["mouseovercolor"] = {
					["r"] = 1,
					["g"] = 1,
					["b"] = 0,
				},
				["hidebg"] = 1,
				["textcolor"] = {
					["r"] = 0.9529411764705882,
					["g"] = 0.9725490196078431,
					["b"] = 1,
				},
				["justify"] = "RIGHT",
				["attach"] = "_ManaBar",
				["alpha"] = 0.85,
				["width"] = 81,
				["hideifnomana"] = 1,
				["bordercolor"] = {
					["r"] = 1,
					["g"] = 1,
					["b"] = 1,
				},
				["height"] = 7,
				["framestrata"] = "LOW",
				["bgalpha"] = 1,
				["text"] = "$mc/$mm",
				["backgroundstyle"] = 1,
				["leftclick"] = 1,
			},
			[4] = {
				["bgcolor"] = {
					["r"] = 0,
					["g"] = 0,


�ല് കത്തിഎരിയുന്നതുമാണ്."
  },
  {
    "surah_number": 4,
    "verse_number": 11,
    "content":
        "നിങ്ങളുടെ സന്താനങ്ങളുടെ കാര്യത്തില് അല്ലാഹു നിങ്ങള്‍ക്ക് നിര്‍ദേശം നല്‍കുന്നു; ആണിന് രണ്ട് പെണ്ണിന്‍റെതിന് തുല്യമായ ഓഹരിയാണുള്ളത്. ഇനി രണ്ടിലധികം പെണ്‍മക്കളാണുള്ളതെങ്കില് (മരിച്ച ആള്) വിട്ടേച്ചു പോയ സ്വത്തിന്‍റെ മൂന്നില് രണ്ടു ഭാഗമാണ് അവര്‍ക്കുള്ളത്. ഒരു മകള് മാത്രമാണെങ്കില് അവള്‍ക്ക് പകുതിയാണുള്ളത്. മരിച്ച ആള്‍ക്കു സന്താനമുണ്ടെങ്കില് അയാളുടെ മാതാപിതാക്കളില് ഓരോരുത്തര്‍ക്കും അയാള് വിട്ടേച്ചുപോയ സ്വത്തിന്‍റെ ആറിലൊന്നുവീതം ഉണ്ടായിരിക്കുന്നതാണ്. ഇനി അയാള്‍ക്ക് സന്താനമില്ലാതിരിക്കുകയും, മാതാപിതാക്കള് അയാളുടെ അനന്തരാവകാശികളായിരിക്കയുമാണെങ്കി


,&q;seoText&q;:&q;&l;p&g;Pierogi to klasyczne danie nie tylko kuchni polskiej – podobne potrawy zjeść można także w innych regionach świata: ravioli we Włoszech czy chinkali w Gruzji. Jeśli masz ochotę, by je przygotować w nieco odmienionej wersji, nie musisz sięgać po egzotyczne przepisy – wystarczy tylko ciekawy farsz. Przyrządź pierogi z dynią w sosie szałwiowym. Najpierw zrób klasyczne ciasto i odłóż je do lodówki. Dynię dowolnego gatunku, np. hokkaido lub piżmową, pokrój w niedużą kostkę i podsmaż razem z czosnkiem oraz cebulą. Miękką konsystencję farszu urozmaicisz dzięki kawałkom orzechów włoskich i pestkom dyni – upraż je wcześniej na patelni, żeby stały się bardziej chrupiące. Przełam słodki smak warzywa ostrą papryką w proszku albo odrobiną harrisy, czyli pikantnej marokańskiej pasty. Rozgnieć wszystko widelcem, dodaj do farszu żółty ser, a także przyprawę o smaku smażonej cebuli. Z ciasta wycinaj kółka, nadziewaj i wrzucaj na wrzącą wodę. Gotuj do momentu, aż wypłyną. Pierogi z dynią podawaj w sosie szałwiowym. To naprawdę pyszne danie – przekonaj się?&l;/p&g;&q;,&q;metaDescription&q;:&q;Z mąki, wody, soli i jajka zrób klasyczne ciasto na pierogi. Po wyrobieniu ciasta odstaw je do lodówki na 20 minut. Dynię pokrój w drobną kostkę. Czosnek i cebulę posiekaj.  Na patelni rozgrzej margarynę i podsmaż czosnek, cebulę i dynię. Dodaj również pokruszone orzechy i pestki z dyni oraz ostrą paprykę.  Gdy dynia będzie miękka, przełóż wszystko do miski. Dodaj starty ser oraz przyprawę w mini kostkach Knorr. Następnie wymieszaj farsz widelcem, aby lekko rozgnieść dynię. Rozwałkuj cienko ciasto, szklanką wytnij okrągłe placki i zlepiaj klasyczne pierogi z farszem dyniowym. Pierogi ugotuj. Na patelni rozpuść masło z listkami szałwii. Dodaj ugotowane pierogi, chwilę wymieszaj i natychmiast podawaj.&q;,&q;info&q;:&q;&l;p&g;Po przyrządzeniu obiadu zostało ci trochę orzechów włoskich? Skomponuj z nich własne musli – dodaj do nich bakalie oraz suszone owoce i dosyp do mleka lub ulubionego j


emorySlider.value = options.maxMemory
        this.javaMinMemorySlider.addChangeListener {
            this.javaMinMemorySlider.value = min(this.javaMinMemorySlider.value, options.maxMemory)
            options.minMemory = this.javaMinMemorySlider.value
            this.javaMinMemorySpinner.value = options.minMemory
            onUpdate()
        }
        this.javaMinMemorySpinner.addChangeListener {
            this.javaMinMemorySpinner.value = min(this.javaMinMemorySpinner.value as Int, options.maxMemory)
            options.minMemory = this.javaMinMemorySpinner.value as Int
            this.javaMinMemorySlider.value = options.minMemory
            onUpdate()
        }
        this.javaMaxMemorySlider.addChangeListener {
            this.javaMaxMemorySlider.value = max(this.javaMaxMemorySlider.value, options.minMemory)
            options.maxMemory = this.javaMaxMemorySlider.value
            this.javaMaxMemorySpinner.value = options.maxMemory
            onUpdate()
        }
        this.javaMaxMemorySpinner.addChangeListener {
            this.javaMaxMemorySpinner.value = max(this.javaMaxMemorySpinner.value as Int, options.minMemory)
            options.maxMemory = this.javaMaxMemorySpinner.value as Int
            this.javaMaxMemorySlider.value = options.maxMemory
            onUpdate()
        }

        this.jvmArgumentArea.text = options.jvmArguments
        this.jvmArgumentArea.addFocusListener(object : FocusListener {
            override fun focusGained(e: FocusEvent?) {}
            override fun focusLost(e: FocusEvent?) {
                options.jvmArguments = jvmArgumentArea.text
                onUpdate()
            }
        })
    }
}import net.kyori.indra.git.IndraGitExtension

// Modified from https://github.com/GeyserMC/Geyser/blob/ca2312c7f68c54f32314c40c2c1db5d9cda5a0b2/core/build.gradle.kts#L111-L143
class GitInfo(indraGit: IndraGitExtension) {
    val branch: String
    val commit: String
    val commitAbbrev: String

    val gitVersion: String
    val version: String
    val buildNumber: Int

    val commitMessage: String
    val repository: String

    init {
        branch = indraGit.branchName() ?: "DEV"

        val commit = indraGit.commit()
        this.commit = commit?.name ?: "0".repeat(40)
        commitAbbrev = commit?.name?.substring(0, 7) ?: "0".repeat(7)

        gitVersion = "git-${branch}-${commitAbbrev}"
        buildNumber = (System.getenv("BUILD_NUMBER"))?.let { Integer.parseInt(it) } ?: -1

        if (buildNumber == -1) {
            version = "DEV ($gitVersion)"
        } else {
            version = "build ${buildNumber} ($gitVersion)"
        }

        val git = indraGit.git()
        commitMessage = git?.commit()?.message ?: ""
        repository = git?.repository?.config?.getString("remote", "origin", "url") ?: ""
    }
}
package com.mcxiaoke.koi.adapter

import android.content.Context
import android.graphics.Bitmap
import android.graphics.drawable.Drawable
import android.text.util.Linkify
import android.view.View
import android.widget.*

/**
 * User: mcxiaoke
 * Date: 16/1/30
 * Time: 18:57
 */

open class QuickViewBinder constructor(
        val context: Context,
        val view: View,
        var position: Int) {

    init {
        view.tag = this
    }

    inline fun <reified T : View> findView(viewId: Int): T = view.findViewById(viewId) as T

    fun setText(viewId: Int, value: String): QuickViewBinder {
        findView<TextView>(viewId).text = value
        return this
    }

    fun setImageResource(


}
        public virtual void UpdateFinanceReceiveAccountBillAccounting(FinanceReceiveAccountBillAccounting financeReceiveAccountBillAccounting)
        {
            if (financeReceiveAccountBillAccounting == null)
            {
                throw new ArgumentNullException("financeReceiveAccountBillAccounting");
            }

            var uow = FinanceReceiveAccountBillAccountingMappingRepository.UnitOfWork;
            FinanceReceiveAccountBillAccountingMappingRepository.Update(financeReceiveAccountBillAccounting);
            uow.SaveChanges();

            //通知
            _eventPublisher.EntityUpdated(financeReceiveAccountBillAccounting);
        }
        public virtual void DeleteFinanceReceiveAccountBillAccounting(FinanceReceiveAccountBillAccounting financeReceiveAccountBillAccounting)
        {
            if (financeReceiveAccountBillAccounting == null)
            {
                throw new ArgumentNullException("financeReceiveAccountBillAccounting");
            }

            var uow = FinanceReceiveAccountBillAccountingMappingRepository.UnitOfWork;
            FinanceReceiveAccountBillAccountingMappingRepository.Delete(financeReceiveAccountBillAccounting);
            uow.SaveChanges();

            //通知
            _eventPublisher.EntityDeleted(financeReceiveAccountBillAccounting);
        }

        /// <summary>
        /// 对账商品汇总
        /// </summary>
        /// <param name="storeId"></param>
        /// <param name="userId"></param>
        /// <param name="billType"></param>
        /// <param name="start"></param>
        /// <param name="end"></param>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        public IPagedList<RankProduct> GetRankProducts(int storeId, bool gift, int? userId, int billType, DateTime? start, DateTime? end, int pageIndex = 0, int pageSize = int.MaxValue)
        {

            var lists = new List<RankProduct>();

            DateTime.TryParse(start?.ToString("yyyy-MM-dd 00:00:00"), out DateTime startDate);
            DateTime.TryParse(end?.ToString("yyyy-MM-dd 23:59:59"), out DateTime endDate);

            //销售
            if (billType == 12)
            {
                var query = from sb in SaleBillsRepository.Table
                            join si in SaleItemsRepository.Table on sb.Id equals si.SaleBillId into t
                            from sbsi in t.DefaultIfEmpty()
                            join p in ProductsRepository.Table on sbsi.ProductId equals p.Id into t1
                            from sbsip in t1.DefaultIfEmpty()
                            join c in CategoriesRepository.Table on sbsip.CategoryId equals c.Id into t2
                            from sbsipc in t2.DefaultIfEmpty()
                            join op in SpecificationAttributeOptionsRepository.Table on sbsi.UnitId equals op.Id into t3
                            from sbsipop in t3.DefaultIfEmpty()
                            join sop in SpecificationAttributeOptionsRepository.Table on sbsip.SmallUnitId equals sop.Id into t4
                            from sbsipop1 in t4.DefaultIfEmpty()
                            join bop in SpecificationAttributeOptionsRepository.Table on sbsip.BigUnitId equals bop.Id into t5
                            from sbsipop2 in t5.DefaultIfEmpty()
                            where sb.StoreId == storeId
                            && sb.BusinessUserId == userId
                            && sb.AuditedStatus == true
                            && sb.ReversedStatus == false
                            select new RankProduct
                            {
                                ProductId = sbsi.ProductId,
                                Name = sbsip.Name,
                                ProductCode = sbsip.ProductCode,
                                CategoryName = sbsipc.Name,
                                BigQuantity = sbsip.BigQuantity ?? 0,
                                StrokeQuantity = sbsip.StrokeQuantity ?? 0,
                                UnitConversion = $"1{sbsipop1.Name}={sbsip.BigQuantity}{sbsipop2.Name}",


    }
      if (HasUtf8Validation) {
        output.WriteRawTag(32);
        output.WriteEnum((int) Utf8Validation);
      }
      if (HasMessageEncoding) {
        output.WriteRawTag(40);
        output.WriteEnum((int) MessageEncoding);
      }
      if (HasJsonFormat) {
        output.WriteRawTag(48);
        output.WriteEnum((int) JsonFormat);
      }
      if (HasEnforceNamingStyle) {
        output.WriteRawTag(56);
        output.WriteEnum((int) EnforceNamingStyle);
      }
      if (HasDefaultSymbolVisibility) {
        output.WriteRawTag(64);
        output.WriteEnum((int) DefaultSymbolVisibility);
      }
      if (_extensions != null) {
        _extensions.WriteTo(output);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (HasFieldPresence) {
        output.WriteRawTag(8);
        output.WriteEnum((int) FieldPresence);
      }
      if (HasEnumType) {
        output.WriteRawTag(16);
        output.WriteEnum((int) EnumType);
      }
      if (HasRepeatedFieldEncoding) {
        output.WriteRawTag(24);
        output.WriteEnum((int) RepeatedFieldEncoding);
      }
      if (HasUtf8Validation) {
        output.WriteRawTag(32);
        output.WriteEnum((int) Utf8Validation);
      }
      if (HasMessageEncoding) {
        output.WriteRawTag(40);
        output.WriteEnum((int) MessageEncoding);
      }
      if (HasJsonFormat) {
        output.WriteRawTag(48);
        output.WriteEnum((int) JsonFormat);
      }
      if (HasEnforceNamingStyle) {
        output.WriteRawTag(56);
        output.WriteEnum((int) EnforceNamingStyle);
      }
      if (HasDefaultSymbolVisibility) {
        output.WriteRawTag(64);
        output.WriteEnum((int) DefaultSymbolVisibility);
      }
      if (_extensions != null) {
        _extensions.WriteTo(ref output);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (HasFieldPresence) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) FieldPresence);
      }
      if (HasEnumType) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) EnumType);
      }
      if (HasRepeatedFieldEncoding) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) RepeatedFieldEncoding);
      }
      if (HasUtf8Validation) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Utf8Validation);
      }
      if (HasMessageEncoding) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) MessageEncoding);
      }
      if (HasJsonFormat) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) JsonFormat);
      }
      if (HasEnforceNamingStyle) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) EnforceNamingStyle);
      }
      if (HasDefaultSymbolVisibility) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) DefaultSymbolVisibility);
      }
      if (_extensions != null) {
        size += _extensions


吧！但没有做立刻行动的打算。傍晚，下班之前，监督组通知我们立刻作好长期下农村的准备，说是宣传系统的人都要下去。我听了之后，思想上感到突然，立刻起了很大的波动。我思想上想到了几点：

   ①既然要立刻行动，我就立刻开始作准备，坚决响应执行最高领袖的最新指示，这是毫无疑义的，是用不着有其他犹疑思考的。而且，我要下去也很方便，没有什么东西拖后腿，身体也很好嘛。这是大好之事。

   ②我觉得我的思想到底还有点落后于形势。这样的最新指示来了，我还不是雷厉风行，闻风而动，我还是像过去一样慢吞吞地，以为要经过反复议论，然后才慢条斯理的行动下去。这真是太落后了。现在我开始领会〖。〗

   思想情况回报（98）

   1968年10月14日

   我在这一周中的主要事情，就是积极为下放劳动作好各种准备。在我的思想活动方面，也是围绕着为下放劳动作充分的思想准备。第一，我准备在生活方式上来一个彻底的改变。过去，习惯了的一套，要抛弃它。今后。今后准备在农村劳动生活中锻炼，准备遇到重大的困难，下决心迎接这种困难。不论遇到怎样的困难，决不后退。我想，无论怎样困难，不会比我在抗日时期离开大后方初到苏北时所遇到的那种困难还大。我宁可把困难估计得大一些，思想准备充分一些，决不设想什么方便和轻而易举。第二，我准备迎接严厉的批判斗争。我设想这种斗争的火力，要比过去在机关内部批判时猛烈十倍，我也要迎接它，要从我这方面来搞好斗批改。但是，我也相信，无论怎样，总是执行毛主席的政策，是文斗，不会武斗。我应该采取老老实实的态度来迎接这场斗批改。

   在本周中，所遇到的新事情，是我的三个小孩已决定下去支边和到农村去落户。前天有一个小孩已经高高兴兴地离开家庭，到宝应去安家落户了。对此，我的主要思想是感觉得安慰和很好，孩子有了锻炼机会


 * @param nwid_parts Span of nested widget parts.
 * @param[out] shade_select Pointer to the inserted shade selection widget (\c nullptr if not unserted).
 * @return Root of the nested widget tree, a vertical container containing the entire GUI.
 * @ingroup NestedWidgetParts
 */
std::unique_ptr<NWidgetBase> MakeWindowNWidgetTree(std::span<const NWidgetPart> nwid_parts, NWidgetStacked **shade_select)
{
	auto nwid_begin = std::begin(nwid_parts);
	auto nwid_end = std::end(nwid_parts);

	*shade_select = nullptr;

	/* Read the first widget recursively from the array. */
	std::unique_ptr<NWidgetBase> nwid = nullptr;
	nwid_begin = MakeWidgetTree(nwid_begin, nwid_end, nwid);
	assert(nwid != nullptr);

	NWidgetHorizontal *hor_cont = dynamic_cast<NWidgetHorizontal *>(nwid.get());

	auto root = std::make_unique<NWidgetVertical>();
	root->Add(std::move(nwid));
	if (nwid_begin == nwid_end) return root; // There is no body at all.

	if (hor_cont != nullptr && hor_cont->GetWidgetOfType(WWT_CAPTION) != nullptr && hor_cont->GetWidgetOfType(WWT_SHADEBOX) != nullptr) {
		/* If the first widget has a title bar and a shade box, silently add a shade selection widget in the tree. */
		auto shade_stack = std::make_unique<NWidgetStacked>(-1);
		*shade_select = shade_stack.get();
		/* Load the remaining parts into the shade stack. */
		shade_stack->Add(MakeNWidgets({nwid_begin, nwid_end}, std::make_unique<NWidgetVertical>()));
		root->Add(std::move(shade_stack));
		return root;
	}

	/* Load the remaining parts into 'root'. */
	return MakeNWidgets({nwid_begin, nwid_end}, std::move(root));
}

/**
 * Make a number of rows with button-like graphics, for enabling/disabling each company.
 * @param widget_first The first widget index to use.
 * @param widget_last The last widget index to use.
 * @param colour The colour in which to draw the button.
 * @param max_length Maximal number of company buttons in one row.
 * @param button_tooltip The tooltip-string of every button.
 * @param resizable Whether the rows are resizable.
 * @return Panel with rows of company buttons.
 */
std::unique_ptr<NWidgetBase> MakeCompanyButtonRows(WidgetID widget_first, WidgetID widget_last, Colours button_colour, int max_length, StringID button_tooltip, bool resizable)
{
	assert(max_length >= 1);
	std::unique_ptr<NWidgetVertical> vert = nullptr; // Storage for all rows.
	std::unique_ptr<NWidgetHorizontal> hor = nullptr; // Storage for buttons in one row.
	int hor_length = 0;

	Dimension sprite_size = GetSpriteSize(SPR_COMPANY_ICON, nullptr, ZOOM_LVL_NORMAL);
	sprite_size.width  += WidgetDimensions::unscaled.matrix.Horizontal();
	sprite_size.height += WidgetDimensions::unscaled.matrix.Vertical();

	for (WidgetID widnum = widget_first; widnum <= widget_last; widnum++) {
		/* Ensure there is room in 'hor' for another button. */
		if (hor_length == max_length) {
			if (vert == nullptr) vert = std::make_unique<NWidgetVertical>();
			vert->Add(std::move(hor));
			hor = nullptr;
			hor_length = 0;
		}
		if (hor == nullptr) {
			hor = std::make_unique<NWidgetHorizontal>();
			hor_length = 0;
		}

		auto panel = std::make_unique<NWidgetBackground>(WWT_PANEL, button_colour, widnum);
		panel->SetMinimalSize(sprite_size.width, sprite_size.height);
		panel->SetFill(1,


5312 ZM120.4395 -5.0156 L120.4395 -6.2188 L121.6426 -6.2188 L121.6426 -5.0156 L120.4395 -5.0156 ZM120.4395 0 L120.4395 -1.2031 L121.6426 -1.2031 L121.6426 0 L120.4395 0 ZM128.5449 0 L126.1855 -6.2188 L127.2949 -6.2188 L128.6387 -2.5 Q128.8418 -1.8906 129.0293 -1.25 Q129.1699 -1.7344 129.4199 -2.4219 L130.8105 -6.2188 L131.8887 -6.2188 L129.5293 0 L128.5449 0 ZM132.4355 -3.1094 Q132.4355 -4.8438 133.3887 -5.6719 Q134.1855 -6.3594 135.3418 -6.3594 Q136.623 -6.3594 137.4355 -5.5156 Q138.2637 -4.6875 138.2637 -3.2031 Q138.2637 -2 137.9043 -1.3125 Q137.5449 -0.625 136.8418 -0.2344 Q136.1543 0.1406 135.3418 0.1406 Q134.0449 0.1406 133.2324 -0.6875 Q132.4355 -1.5312 132.4355 -3.1094 ZM133.5137 -3.1094 Q133.5137 -1.9219 134.0293 -1.3281 Q134.5605 -0.7344 135.3418 -0.7344 Q136.1387 -0.7344 136.6543 -1.3281 Q137.1699 -1.9219 137.1699 -3.1406 Q137.1699 -4.2969 136.6387 -4.8906 Q136.123 -5.4844 135.3418 -5.4844 Q134.5605 -5.4844 134.0293 -4.8906 Q133.5137 -4.3125 133.5137 -3.1094 ZM139.5 -7.375 L139.5 -8.5938 L140.5625 -8.5938 L140.5625 -7.375 L139.5 -7.375 ZM139.5 0 L139.5 -6.2188 L140.5625 -6.2188 L140.5625 0 L139.5 0 ZM146.1973 0 L146.1973 -0.7812 Q145.6035 0.1406 144.4629 0.1406 Q143.7129 0.1406 143.0879 -0.2656 Q142.4629 -0.6875 142.1191 -1.4219 Q141.7754 -2.1562 141.7754 -3.1094 Q141.7754 -4.0312 142.0879 -4.7969 Q142.4004 -5.5625 143.0254 -5.9531 Q143.6504 -6.3594 144.416 -6.3594 Q144.9785 -6.3594 145.416 -6.125 Q145.8535 -5.8906 146.1348 -5.5156 L146.1348 -8.5938 L147.1816 -8.5938 L147.1816 0 L146.1973 0 ZM142.8691 -3.1094 Q142.8691 -1.9062 143.3691 -1.3125 Q143.8691 -0.7344 144.5566 -0.7344 Q145.2441 -0.7344 145.7285 -1.2969 Q146.2129 -1.8594 146.2129 -3.0156 Q146.2129 -4.2969 145.7129 -4.8906 Q145.2285 -5.4844 144.5098 -5.4844 Q143.8066 -5.4844 143.3379 -4.9062 Q142.8691 -4.3438 142.8691 -3.1094 Z" style="stroke:none; clip-path:url(#clipPath32_7830040f-1497-4aae-be42-68762a20b85e);"/></g><g style="fo


��段前是否另起一页，默认不另起一页
            paragraph.setPageBreak(Objects.isNull(wordParagraph.getIsPageBreak()) ? Boolean.FALSE : wordParagraph.getIsPageBreak());
            return this;
        }

        /**
         * 添加表格
         *
         * @param tableMap 表格数据Map
         */
        public Writer addTable(WordTable.TableMap tableMap) {
            return addTable(tableMap, null, null, null, null, null);
        }

        /**
         * 添加表格
         *
         * @param tableMap 表格数据Map
         * @param isPageBreak 表格前是否另起一页
         */
        public Writer addTable(WordTable.TableMap tableMap, Boolean isPageBreak) {
            return addTable(tableMap, null, null, null, null, isPageBreak);
        }

        /**
         * 添加表格
         *
         * @param tableMap 表格数据Map
         * @param alignment 表格对齐方式
         * @param isPageBreak 表格前是否另起一页
         */
        public Writer addTable(WordTable.TableMap tableMap, TableRowAlign alignment, Boolean isPageBreak) {
            return addTable(tableMap, null, null, null, alignment, isPageBreak);
        }

        /**
         * 添加表格
         *
         * @param tableMap 表格数据Map
         * @param width 表格宽度
         * @param alignment 表格对齐方式
         * @param isPageBreak 表格前是否另起一页
         */
        public Writer addTable(WordTable.TableMap tableMap, Integer width, TableRowAlign alignment, Boolean isPageBreak) {
            return addTable(tableMap, width, null, null, alignment, isPageBreak);
        }

        /**
         * 添加表格
         *
         * @param tableMap 表格数据Map
         * @param rowNum 表格行数
         * @param columnNum 表格列数
         * @param width 表格宽度
         * @param alignment 表格对齐方式
         * @param isPageBreak 表格前是否另起一页
         */
        public Writer addTable(WordTable.TableMap tableMap, Integer rowNum, Integer columnNum, Integer width, TableRowAlign alignment, Boolean isPageBreak) {
            return addTable(
                    new WordTable()
                            .setTableMap(tableMap)
                            .setRowNum(rowNum)
                            .setColumnNum(columnNum)
                            .setWidth(width)
                            .setAlignment(alignment)
                            .setIsPageBreak(isPageBreak)
            );
        }

        /**
         * 添加表格
         *
         * @param wordTable Word表格构造类
         */
        public Writer addTable(WordTable wordTable) {
            if (Objects.isNull(wordTable)) {
                throw new CustomizeDocumentException(ReturnCode.WORD_FILE_ERROR, "WordTable参数为空");
            }
            // 设置表格段前是否另起一页，默认不另起一页
            if (Objects.nonNull(wordTable.getIsPageBreak()) && wordTable.getIsPageBreak()) {
                document.createParagraph().createRun().addBreak(BreakType.PAGE);
            }
            // 如果输入预设行列值异常，那就直接返回即可
            if ((Objects.nonNull(wordTable.getRowNum()) && wordTable.getRowNum() <= 0) || (Objects.nonNull(wordTable.getColumnNum()) && wordTable.getColumnNum() <= 0)) {
                return this;
            }
            // 由表格内容获取表格本身的行列值
            Map<Integer, List<String>> map = wordTable.getTableMap().getMap();
            int maxRow = -1;
            int maxColumn = -1;


8
/* 80316D48 00313B48  C0 21 00 60 */	lfs f1, 0x60(r1)
/* 80316D4C 00313B4C  7F 64 DB 78 */	mr r4, r27
/* 80316D50 00313B50  C0 01 00 64 */	lfs f0, 0x64(r1)
/* 80316D54 00313B54  7C 65 1B 78 */	mr r5, r3
/* 80316D58 00313B58  D0 41 00 68 */	stfs f2, 0x68(r1)
/* 80316D5C 00313B5C  D0 21 00 6C */	stfs f1, 0x6c(r1)
/* 80316D60 00313B60  D0 01 00 70 */	stfs f0, 0x70(r1)
/* 80316D64 00313B64  48 0B B3 59 */	bl PSVECSubtract
/* 80316D68 00313B68  C0 41 00 68 */	lfs f2, 0x68(r1)
/* 80316D6C 00313B6C  38 61 00 74 */	addi r3, r1, 0x74
/* 80316D70 00313B70  C0 21 00 6C */	lfs f1, 0x6c(r1)
/* 80316D74 00313B74  C0 01 00 70 */	lfs f0, 0x70(r1)
/* 80316D78 00313B78  D0 41 00 74 */	stfs f2, 0x74(r1)
/* 80316D7C 00313B7C  D0 21 00 78 */	stfs f1, 0x78(r1)
/* 80316D80 00313B80  D0 01 00 7C */	stfs f0, 0x7c(r1)
/* 80316D84 00313B84  48 0B B3 D5 */	bl PSVECMag
/* 80316D88 00313B88  EC 1F 00 72 */	fmuls f0, f31, f1
/* 80316D8C 00313B8C  38 18 00 1C */	addi r0, r24, 0x1c
/* 80316D90 00313B90  80 7E 00 08 */	lwz r3, 8(r30)
/* 80316D94 00313B94  3B 18 00 20 */	addi r24, r24, 0x20
/* 80316D98 00313B98  3B 9C 00 01 */	addi r28, r28, 1
/* 80316D9C 00313B9C  7C 03 05 2E */	stfsx f0, r3, r0
lbl_80316DA0:
/* 80316DA0 00313BA0  80 7E 00 04 */	lwz r3, 4(r30)
/* 80316DA4 00313BA4  38 03 FF FF */	addi r0, r3, -1
/* 80316DA8 00313BA8  7C 1C 00 40 */	cmplw r28, r0
/* 80316DAC 00313BAC  41 80 FF 2C */	blt lbl_80316CD8
/* 80316DB0 00313BB0  83 1E 00 08 */	lwz r24, 8(r30)
/* 80316DB4 00313BB4  57 9B 28 34 */	slwi r27, r28, 5
/* 80316DB8 00313BB8  38 61 00 20 */	addi r3, r1, 0x20
/* 80316DBC 00313BBC  C0 18 00 00 */	lfs f0, 0(r24)
/* 80316DC0 00313BC0  7C 98 DA 14 */	add r4, r24, r27
/* 80316DC4 00313BC4  7C 65 1B 78 */	mr r5, r3
/* 80316DC


     }

            updateGraph(hwnd);

        }

        if ( (msg == WM_MOUSEMOVE) && mLocked ) {
            if (wParam != MK_LBUTTON) {
                mLocked = false;

            } else {
                POINT point;

                point.x = LOWORD(lParam);
                point.y = HIWORD(lParam);

/*                //GetCursorPos(&point);

                RECT rect;
                GetClientRect(hwnd, &rect);

                float x = (float)(point.x - rect.left) / (float)(rect.right - rect.left);
                float y = 1.0f - (float)(point.y - rect.top) / (float)(rect.bottom - rect.top);
                float dx = x - mOldX;
                float dy = y - mOldY;
 */
                RECT rc;
                GetClientRect(hwnd, &rc);

                float x = toGraphX(point.x);
                float y = toGraphY(rc.bottom - point.y);

                Channel *c = &mChannels[mLockedChannel];

                c->moveKey(x, y, mXTreshold, ymin, ymax);

                mOldX = x;
                mOldY = y;

            }

            updateGraph(hwnd);

        }

        if ( (msg == WM_LBUTTONDOWN) & !mLocked ) {
            POINT point;
            //GetCursorPos(&point);

            point.x = LOWORD(lParam);
            point.y = HIWORD(lParam);

            RECT rc;
            GetClientRect(hwnd, &rc);

//            float x = (float)(point.x - rect.left) / (float)(rect.right - rect.left);
//            float y = 1.0f - (float)(point.y - rect.top) / (float)(rect.bottom - rect.top);

            float x = toGraphX(point.x);
            float y = toGraphY(rc.bottom - point.y);

            for (int i = 0; i < mChannels.size(); i++) {
                Channel *c = &mChannels[i];
                if ( c->lockKey(x, y, mXTreshold, mYTreshold) ) {
                    mLockedChannel = i;
                    mLocked = true;
                    mOldX = x;
                    mOldY = y;
                    break;
                }
            }

        }

        return false;
    }
};

Graph::Graph(int nChannels) : mRegistered(false), mHandle(0) {
    boost::scoped_ptr<GraphData> temp( new GraphData(nChannels) );
    m.swap(temp);

}

Graph::~Graph() {
    if (mRegistered)
        UnregisterClass( mClassName.c_str(), GetModuleHandle(0) );
}

bool Graph::msgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) {
    return m->msgProc(hwnd, msg, wParam, lParam);
}

LRESULT CALLBACK Graph::WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) {
    static Graph *graph = NULL;

    graph = (Graph *)GetWindowLong(hwnd, GWL_USERDATA);

    if (graph)
        graph->msgProc(hwnd, msg, wParam, lParam);

    return DefWindowProc(hwnd, msg, wParam, lParam);
}

void Graph::open(HWND parent) {
    m->bClosed = false;

    mClassName = "Test Class";

    HINSTANCE hInst = GetModuleHandle(NULL);

    if (!mRegistered) {
        WNDCLASS wc;
        memset( &wc, 0, sizeof(wc) );
        wc.cbClsExtra = 0;
        wc.cbWndExtra = 0;
        wc.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH


: -134px -60px; }

.cbp-slider-prev:after {
  background-position: -134px -78px; }

.cbp-l-grid-agency .cbp-caption:after {
  position: absolute;
  content: '';
  width: 0;
  height: 0;
  border-bottom: 10px solid #fff;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
  bottom: 0px;
  left: 50%;
  margin-left: -5px;
  z-index: 1; }

.cbp-l-grid-agency.cbp-caption-zoom .cbp-caption:hover .cbp-caption-defaultWrap {
  -webkit-transform: scale(1.15);
  transform: scale(1.15); }

.cbp-l-grid-agency-title {
  margin-top: 18px;
  font: 700 17px/24px "Lato", sans-serif;
  color: #666;
  text-align: center; }

.cbp-item:hover .cbp-l-grid-agency-title {
  color: #222; }

.cbp-l-grid-agency-desc {
  font: 400 12px/21px "Open Sans", sans-serif;
  color: #aaa;
  text-align: center; }

.cbp-l-grid-work.cbp-caption-zoom .cbp-caption-activeWrap {
  background-color: rgba(0, 0, 0, 0.7); }

.cbp-l-grid-work .cbp-item {
  padding: 3px; }

.cbp-l-grid-work .cbp-item-wrapper {
  background-color: #fff;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
  padding: 7px 7px 27px;
  border-top: 1px solid #F4F4F4; }

.cbp-l-grid-work-title {
  margin-top: 17px;
  font: 400 17px/25px "Roboto Condensed", sans-serif;
  color: #607D8B;
  text-align: center;
  text-transform: uppercase;
  display: block; }

.cbp-l-grid-work-title:hover {
  color: #365D67; }

.cbp-l-grid-work-desc {
  font: 400 11px/16px "Open Sans", sans-serif;
  color: #888888;
  text-align: center;
  text-transform: uppercase; }

.cbp-l-grid-blog-title {
  font: 400 18px/30px "Open Sans", sans-serif;
  color: #444;
  display: block;
  margin-top: 17px; }

.cbp-l-grid-blog-title:hover {
  color: #787878; }

.cbp-l-grid-blog-date {
  font: 400 12px/18px "Open Sans", sans-serif;
  color: #787878;
  display: inline-block; }

.cbp-l-grid-blog-comments {
  font: 400 12px/18px "Open Sans", sans-serif;
  color: #3C6FBB;
  display: inline-block; }

.cbp-l-grid-blog-comments:hover {
  opacity: .8; }

.cbp-l-grid-blog-desc {
  font: 400 13px/18px "Open Sans", sans-serif;
  color: #9B9B9B;
  margin-top: 9px; }

.cbp-l-grid-blog-split {
  margin: 0 4px;
  font: 400 13px/16px "Open Sans", sans-serif;
  color: #787878;
  display: inline-block; }

.cbp-l-grid-clients {
  height: 180px; }

.cbp-l-clients-title-block {
  font: 400 32px/53px "Roboto", sans-serif;
  color:


ctionary(
                    "brush_data",
                    gdnative::GlobalConstants::TYPE_OBJECT,
                    Some(gdnative::GlobalConstants::PROPERTY_HINT_RESOURCE_TYPE),
                    Some("Resource"),
                    None,
                ),
            ));
        }

        property_list
    }
}
extern crate rainbowcoat;
use std::io::{self, Write};

fn run() -> io::Result<()> {
    write!(
        &mut rainbowcoat::stdout(),
        "Kombucha cray keffiyeh freegan hammock bushwick kitsch gochujang pinterest listicle man bun actually.
Pickled austin tilde raw denim bicycle rights. Trust fund echo park cliche, artisan cold-pressed gluten-free
hammock put a bird on it live-edge banh mi microdosing marfa chillwave unicorn vape. Kogi chambray master cleanse
locavore. Fixie plaid intelligentsia tumeric, single-origin coffee shaman hell of hexagon freegan. Taxidermy retro
irony, poke prism iPhone actually glossier dreamcatcher kombucha bitters cornhole. Tumblr retro skateboard helvetica
chicharrones meggings four dollar toast yr lumbersexual 90's sriracha. Pug pop-up williamsburg, lomo distillery pork belly
coloring book PBR&B readymade waistcoat church-key glossier austin tbh fam. Kale chips four dollar toast gochujang swag fashion axe.
Truffaut la croix gochujang, helvetica kogi PBR&B locavore. Wayfarers snackwave fashion axe, retro fixie stumptown readymade yuccie
skateboard microdosing you probably haven't heard of them mumblecore portland waistcoat."
    )?;
    Ok(())
}

fn main() {
    run().unwrap()
}
<reponame>Lighty0410/autexousious
use amethyst::{
    ecs::{storage::DenseVecStorage, Component, Entity, World, WriteStorage},
    shred::{ResourceId, SystemData},
    ui::TextEditing,
};
use asset_model::ItemComponent;
use derivative::Derivative;
use derive_new::new;
use serde::{Deserialize, Serialize};
use ui_label_model::config::{UiLabel, UiLabelSystemData};

const MAX_LENGTH_DEFAULT: usize = 100;
const SELECTED_TEXT_COLOUR_DEFAULT: [f32; 4] = [0., 0., 0., 0.8];
const SELECTED_BACKGROUND_COLOUR_DEFAULT: [f32; 4] = [1., 1., 1., 0.8];
const USE_BLOCK_CURSOR: bool = false;

/// Defines a text input field.
#[derive(Clone, Component, Debug, Derivative, Deserialize, PartialEq, Serialize, new)]
#[derivative(Default)]
#[serde(default, deny_unknown_fields)]
pub struct UiTextInput {
    /// Attributes of the rendered label text.
    #[serde(flatten)]
    pub label_attributes: UiLabel,
    /// The maximum graphemes permitted in this input field.
    #[derivative(Default(value = "MAX_LENGTH_DEFAULT"))]
    pub max_length: usize,
    /// The color of the text when highlighted.
    #[derivative(Default(value = "SELECTED_TEXT_COLOUR_DEFAULT"))]
    pub selected_text_colour: [f32; 4],
    /// The background color of the text when highlighted.
    #[derivative(Default(value = "SELECTED_BACKGROUND_COLOUR_DEFAULT"))]
    pub selected_background_colour: [f32; 4],
}

/// `UiTextInputSystemData`.
#[derive(Derivative, SystemData)]
#[derivative(Debug)]
pub struct UiTextInputSystemData<'s> {
    /// `UiLabelSystemData`.
    pub ui_label_system_data: UiLabelSystemData<'s>,
    /// `TextEditing` components.
    #[derivative(Debug = "ignore")]
    pub text_editings: WriteStorage<'s, TextEditing>,
}

impl<'s> ItemComponent<'s> for UiTextInput {
    type SystemData = UiTextInputSystemData<'s>;

    fn augment(&self, system_data: &


//    This file is part of OleViewDotNet.
//    Copyright (C) James Forshaw 2014, 2017
//
//    OleViewDotNet is free software: you can redistribute it and/or modify
//    it under the terms of the GNU General Public License as published by
//    the Free Software Foundation, either version 3 of the License, or
//    (at your option) any later version.
//
//    OleViewDotNet is distributed in the hope that it will be useful,
//    but WITHOUT ANY WARRANTY; without even the implied warranty of
//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//    GNU General Public License for more details.
//
//    You should have received a copy of the GNU General Public License
//    along with OleViewDotNet.  If not, see <http://www.gnu.org/licenses/>.

using OleViewDotNet.Interop;
using OleViewDotNet.Utilities;
using System;
using System.IO;

namespace OleViewDotNet.Marshaling;

public abstract class COMObjRef
{
    public const int OBJREF_MAGIC = 0x574f454d;

    public Guid Iid { get; set; }

    public COMObjrefFlags Flags
    {
        get
        {
            if (this is COMObjRefCustom)
            {
                return COMObjrefFlags.Custom;
            }
            else if (this is COMObjRefHandler)
            {
                return COMObjrefFlags.Handler;
            }
            else if (this is COMObjRefStandard)
            {
                return COMObjrefFlags.Standard;
            }
            else
            {
                return


w5HwxMd89yym1U1FUd3wLPPtY06qIQ&oauth_callback=oob

Enter your Opera account details and select Grant access — the page will respond by giving you a verifier code. If you go back to the command line/terminal you'll see that it is asking you to enter the verifier code. Enter the code at the blinking prompt, and press Enter/Return, and the standard prompt will come up.

Now you can use the linkapidebugger to follow the rest of the article.

Simple debugger command examples

The utility has two modes of operation: GET and POST. The GET method simply
receives a URL and makes the request. The POST method needs an arbitrary number
of named parameters that will be read from the terminal. To make a GET request,
simply give the URL as a parameter:

python linkapidebugger.py https://link.api.opera.com/rest/bookmark/children

To make a POST request, on the other hand, you need to give the URL to POST to,
and add POST as a second parameter:

python linkapidebugger.py https://link.api.opera.com/rest/bookmark/children POST

linkapidebugger will then ask you for all the parameters to send in with the POST request. It reads extra parameters from the keyboard, one per line, eg api_method=delete. You end your data with an empty line, ie just press Enter/Return twice after your data has finished:

api_method=create
item_type=bookmark
title=Bookmark title
uri=http://example.com

[now press enter/return twice to complete the parameters list]

The full terminal input and output will look like this: (command entries in black/strong emphasis, program outputs in gray font with no emphasis):

$> python linkapidebugger.py https://link.api.opera.com/rest/bookmark/children
Response properties
===================
{'status': '200', 'content-location': 'https://link.api.opera.com/rest/bookmark/children?oauth_nonce=34340886&oauth_timestamp=1286984865&oauth_consumer_key=test_desktop_key&oauth_signature_method=HMAC-SHA1&oauth_version=1.0&oauth_token=ATvn1SKopv1i0lA5CaELgWiaqgI5S7w5&oauth_signature=yHW3jrERm2eBGACLxkDu3L1lWnk%3D', 'transfer-encoding': 'chunked', 'vary': 'Authorization', 'server': 'Apache/2.2.9 (Debian) mod_wsgi/2.5 Python/2.5.2', 'date': 'Wed, 13 Oct 2010 15:47:45 GMT', 'content-type': 'application/json; charset=utf-8'}

Response body
=============
[
    {
        "item_type": "bookmark_folder",
        "id": "4E1601F6F30511DB9CA51FD19A7AAECA",
        "properties": {
            "show_in_panel": false,
            "title": "Trash",
            "show_in_personal_bar": false,
            "panel_pos": -1,
            "type": "trash",
            "personal_bar_pos": -1
        }
    },

[...followed by load


t_symbolic(__entry->region,
							   {NL80211_DFS_UNSET, "UNSET"},
							   {NL80211_DFS_FCC, "FCC"},
							   {NL80211_DFS_ETSI, "ETSI"},
							   {NL80211_DFS_JP, "JP"}),
			  __entry->type, __entry->freq, __entry->pri)
);

TRACE_EVENT(
	radar_set_region,
	TP_PROTO(u8 region),
	TP_ARGS(region),
	TP_STRUCT__entry(
		__field(u8, region)
					 ),
	TP_fast_assign(
		__entry->region = region;
				   ),
	TP_printk("region=%s",
			  __print_symbolic(__entry->region,
							   {NL80211_DFS_UNSET, "UNSET"},
							   {NL80211_DFS_FCC, "FCC"},
							   {NL80211_DFS_ETSI, "ETSI"},
							   {NL80211_DFS_JP, "JP"}))
);

TRACE_EVENT(
	radar_enable_detection,
	TP_PROTO(u8 region, u8 enable, u8 chain),
	TP_ARGS(region, enable, chain),
	TP_STRUCT__entry(
		__field(u8, region)
		__field(u8, chain)
		__field(u8, enable)
					 ),
	TP_fast_assign(
		__entry->chain = chain;
		__entry->enable = enable;
		__entry->region = region;
				   ),
	TP_printk("%s: %s radar detection %s",
			   __print_symbolic(__entry->chain,
							   {RWNX_RADAR_RIU, "RIU"},
							   {RWNX_RADAR_FCU, "FCU"}),
			  __print_symbolic(__entry->enable,
							   {RWNX_RADAR_DETECT_DISABLE, "Disable"},
							   {RWNX_RADAR_DETECT_ENABLE, "Enable (no report)"},
							   {RWNX_RADAR_DETECT_REPORT, "Enable"}),
			  __entry->enable == RWNX_RADAR_DETECT_DISABLE ? "" :
			  __print_symbolic(__entry->region,
							   {NL80211_DFS_UNSET, "UNSET"},
							   {NL80211_DFS_FCC, "FCC"},
							   {NL80211_DFS_ETSI, "ETSI"},
							   {NL80211_DFS_JP, "JP"}))
);
#endif /* CONFIG_RWNX_RADAR */

/*****************************************************************************
 * TRACE functions for IPC message
 ****************************************************************************/
#include "rwnx_strs.h"

DECLARE_EVENT_CLASS(
	ipc_msg_template,
	TP_PROTO(u16 id),
	TP_ARGS(id),
	TP_STRUCT__entry(
		__field(u16, id)
					 ),
	TP_fast_assign(
		__entry->id  = id;
				   ),

	TP_printk("%s (%d - %d)", RWNX_ID2STR(__entry->id),
			  MSG_T(__entry->id), MSG_I(__entry->id))
);

DEFINE_EVENT(ipc_msg_template, msg_send,
			 TP_PROTO(u16 id),
			 TP_ARGS(id));

DEFINE_EVENT(ipc_msg_template, msg_recv,
			 TP_PROTO(u16 id),
			 TP_ARGS(id));

#endif /* !defined(_RWNX_EVENTS_H) || defined(TRACE_HEADER_MULTI_READ) */

#undef TRACE_INCLUDE_PATH
#undef TRACE_INCLUDE_FILE
//#define TRACE_INCLUDE_PATH .
#define TRACE_INCLUDE_PATH AIC_TRACE_INCLUDE_PATH
#define TRACE_INCLUDE_FILE rwnx_events
#include <trace/define_trace.h>


Map<ClipIndex, NotesClip>,
}
use std::fmt;
use std::net;
use std::path::PathBuf;
use std::str::FromStr;

use structopt::clap::Shell;
use structopt::StructOpt;

#[derive(Debug)]
pub enum ColorMode {
    Always,
    Never,
    Auto,
}

impl Default for ColorMode {
    fn default() -> Self {
        ColorMode::Auto
    }
}

impl FromStr for ColorMode {
    type Err = &'static str;

    fn from_str(value: &str) -> Result<Self, Self::Err> {
        match value {
            "always" => Ok(Self::Always),
            "never" => Ok(Self::Never),
            "auto" => Ok(Self::Auto),
            _ => Err("valid values: always, never, auto"),
        }
    }
}

impl fmt::Display for ColorMode {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        match self {
            Self::Always => write!(f, "always"),
            Self::Never => write!(f, "never"),
            Self::Auto => write!(f, "auto"),
        }
    }
}

impl ColorMode {
    pub fn variants() -> [&'static str; 3] {
        ["always", "never", "auto"]
    }
}

#[derive(Debug)]
pub enum JsonFormat {
    Pretty,
    Compact,
}

impl FromStr for JsonFormat {
    type Err = &'static str;

    fn from_str(value: &str) -> Result<Self, Self::Err> {
        match value {
            "pretty" => Ok(Self::Pretty),
            "compact" => Ok(Self::Compact),
            _ => Err("valid values: pretty, compact"),
        }
    }
}

impl fmt::Display for JsonFormat {
    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
        match self {
            Self::Pretty => write!(f, "pretty"),
            Self::Compact => write!(f, "compact"),
        }
    }
}

impl JsonFormat {
    pub fn variants() -> [&'static str; 2] {
        ["pretty", "compact"]
    }
}

#[derive(Debug, StructOpt)]
#[structopt(name = "ipinfo", global_setting = structopt::clap::AppSettings::ColoredHelp)]
/// Get IP details from IPinfo.io
pub struct Args {
    /// Color mode
    #[structopt(
        short = "c",
        long = "color",
        default_value = "auto",
        possible_values = &ColorMode::variants(),
    )]
    pub color: ColorMode,
    /// Generates a completion file
    #[structopt(
        long = "completion",
        possible_values = &Shell::variants(),
    )]
    pub completion: Option<Shell>,
    /// Formatting
    #[structopt(
        short = "f",
        long = "format",
        default_value = "pretty",
        possible_values = &JsonFormat::variants(),
    )]
    pub format: JsonFormat,
    /// Output file
    #[structopt(short = "o", long = "output", parse(from_os_str))]
    pub output: Option<PathBuf>,
    /// API token
    #[structopt(short = "t", long = "token", env = "IPINFO_TOKEN")]
    pub token: Option<String>,
    /// IP address
    pub ip: Option<net::IpAddr>,
}

#[cfg(test)]
mod tests {
    use std::str::FromStr;

    use super::{ColorMode, JsonFormat};

    #[test]
    fn test_color_mode() {
        for variant in &ColorMode::variants() {
            assert_eq!(
                format!("{}", ColorMode::from_str(variant).unwrap()),
                *variant
            );
        }
    }

    #[test]
    fn test_json_format() {
        for variant in &JsonFormat::variants() {
            assert_eq!(
                format!("{}", JsonFormat::from_str(variant).unwrap()),


t.pyplot(fig2)

# Dataset preview
with st.expander("📄 View Sample Dataset"):
    st.dataframe(data.head())

# Model Performance Metrics
with st.expander("📊 Model Performance Metrics"):
    r2 = r2_score(y_test, y_pred)
    mse = mean_squared_error(y_test, y_pred)
    rmse = np.sqrt(mse)

    st.markdown("##### 🔧 Regression Evaluation")
    st.write(f"✅ **R² Score**: `{r2:.2f}`")
    st.write(f"📉 **Mean Squared Error (MSE)**: `{mse:,.0f}`")
    st.write(f"📐 **Root Mean Squared Error (RMSE)**: `{rmse:,.0f}`")

    # Predicted vs Actual plot
    st.markdown("##### 📈 Predicted vs Actual Salaries")
    fig2, ax2 = plt.subplots(figsize=(6, 4))
    sns.scatterplot(x=y_test, y=y_pred, ax=ax2, color="#0077b6")
    ax2.plot([y.min(), y.max()], [y.min(), y.max()], 'r--')  # Ideal line
    ax2.set_xlabel("Actual Salary")
    ax2.set_ylabel("Predicted Salary")
    ax2.set_title("Actual vs Predicted Salary")
    st.pyplot(fig2)

# Footer
st.markdown("
", unsafe_allow_html=True)
st.markdown("
📘 Created using Streamlit + ML
", unsafe_allow_html=True)
# Add a footer with links to GitHub and LinkedIn
st.markdown(
    """

    GitHub
    LinkedIn

""",
    unsafe_allow_html=True
)
# Add a footer with copyright information
st.markdown(
    """

    © 2025 SmartSalary. All rights reserved.

""",
    unsafe_allow_html=True
)
st.markdown("
", unsafe_allow_html=True)
# Add a footer with a link to the source code
st.markdown(
    """

    View the source code on GitHub.

""",
    unsafe_allow_html=True
)
st.markdown("
", unsafe_allow_html=True)


sp, #0x85
	mov     r1, #0x30
	strb    r1, [r0, r2]
.arm
branch_20da014: @ 20da014 :arm
	ldr     r1, [sp, #0x20]
	ldr     r0, [sp, #0x1c]
	mov     r2, #2, 18 @ #0x8000
	add     r0, r1, r0
	rsb     r2, r2, #0x0
	str     r0, [sp, #0x20]
	cmp     r0, r2
	blt     branch_20da03c
	cmp     r0, r2, lsr #17
	ble     branch_20da048
.arm
branch_20da03c: @ 20da03c :arm
	ldr     r0, [sp, #0xd0]
	mov     r1, #0x1
	str     r1, [r0]
.arm
branch_20da048: @ 20da048 :arm
	ldr     r0, [sp, #0xd0]
	ldr     r0, [r0]
	cmp     r0, #0x0
	beq     branch_20da0a4
	ldr     r0, [sp, #0x24]
	cmp     r0, #0x0
	movne   r0, #0x0
	addne   sp, sp, #0xa8
	movne   r1, r0
	ldmnefd sp!, {r3-r11,pc}
	ldr     r0, [sp, #0x28]
	cmp     r0, #0x0
	ldreq   r1, [pc, #0x9c] @ [0x20da11c] (=Unknown_21015b4)
	addeq   sp, sp, #0xa8
	ldmeqia r1, {r0,r1}
	ldmeqfd sp!, {r3-r11,pc}
	ldr     r1, [pc, #0x8c] @ [0x20da11c] (=Unknown_21015b4)
	mov     r0, #0x0
	ldmia   r1, {r2,r3}
	mov     r1, r0
	bl      _dsub
	add     sp, sp, #0xa8
	ldmfd   sp!, {r3-r11,pc}

branch_20da0a4: @ 20da0a4 :arm
	ldr     r1, [sp, #0x20]
	add     r0, sp, #0x80
	strh    r1, [sp, #0x82]
	bl      Function_20df1b0
	mov     r4, r0
	mov     r6, r1
	mov     r0, #0x0
	mov     r1, r0
	mov     r2, r4
	mov     r3, r6
	bl      Function_20e1020
	beq     branch_20da124
	mov     r0, r4
	mov     r1, r6
	mov     r2, #0x0
	mov     r3, #1, 12 @ #0x100000
	bl      Function_20e0ef8
	bhs     branch_20da124
	ldr     r0, [sp, #0xd0]
	mov     r1, #0x1
	str     r1, [r0]
	b       branch_20da150
@ 0x20da0fc

.word Unknown_20fe991 @ 0x20da0fc
.word Unknown_20fe98c @ 0x20da100
.word Unknown_20fe864 @ 0x20da104
.word Unknown_20fe7e4 @ 0x20da108
.word Unknown_21015ac @ 0x20da10c
.word 0x7fff @ 0x20da110
.word 0xe2c @ 0x20da114
.word 0x18e @ 0x20da118
.word Unknown_21015


   ("#\\\u{0438}\u{0306}"          => Character('\u{FFFD}')),
                                 (0, 6) => err_lexer_unknown_character_name;
    }
}

#[test]
#[cfg(feature = "unicode")]
fn normalization_characters_named() {
    // Character names are normalized as case-sensitive identifiers.
    check! {
        // They are NFKC-normalized:
        ("#\\\u{02B3}\u{1D49}turn"      => Character('\u{000D}'));
        (" "                            => Whitespace);

        // ZWNJ and ZWJ are ignored:
        ("#\\nu\u{200C}ll"              => Character('\u{0000}'));
        (" "                            => Whitespace);

        // Names are still case-sensitive by default:
        ("#\\\u{24C9}\u{24B6}\u{24B7}"  => Character('\u{FFFD}')),
                                (0, 11) => err_lexer_unknown_character_name;
        (" "                            => Whitespace);
        ("#!fold-case"                  => Directive("fold-case"));
        (" "                            => Whitespace);
        ("#\\\u{24C9}\u{24B6}\u{24B7}"  => Character('\u{0009}'));
    }
}

#[test]
#[cfg(feature = "unicode")]
fn normalization_directives() {
    // Directive names are normalized as case-insensitive identifiers.
    check! {
        // They are NFKC-normalized and case-folded:
        ("#!\u{1D571}\u{1D594}\u{1D591}\u{1D589}\u{200C}\u{002D}\u{1D56E}\u{1D586}\u{1D598}\u{1D58A}" => Directive("fold-case"));
        (" " => Whitespace);

        // This normalizes into a different string if NFC, NFD, or NFKD are used:
        ("#!\u{01C4}\u{03D4}\u{1E9B}\u{FBA5}\u{FEFA}" => Directive("\u{0064}\u{017E}\u{03CB}\u{1E61}\u{06C0}\u{0644}\u{0625}")),
            (0, 15) => err_lexer_unknown_directive;
        (" " => Whitespace);

        // This string has combining marks in non-canonical order:
        ("#!A\u{1DCE}\u{0327}\u{0334}\u{1DF5}\u{0333}" => Directive("a\u{0334}\u{0327}\u{1DCE}\u{0333}\u{1DF5}")),
            (0, 15) => err_lexer_unknown_directive;
    }
}

#[test]
#[cfg(feature = "unicode")]
fn normalization_identifiers_plain() {
    // Plain identifiers are NFKC-normalized.
    check! {
        // This normalizes into a different string if NFC, NFD, or NFKD are used:
        ("\u{01C4}\u{03D4}\u{1E9B}\u{FBA5}\u{FEFA}" => Identifier("\u{0044}\u{017D}\u{03AB}\u{1E61}\u{06C0}\u{0644}\u{0625}"));
        (" " => Whitespace);

        // This string has combining marks in non-canonical order:
        ("A\u{1DCE}\u{0327}\u{0334}\u{1DF5}\u{0333}" => Identifier("A\u{0334}\u{0327}\u{1DCE}\u{0333}\u{1DF5}"));
    }
}

#[test]
#[cfg(feature = "unicode")]
fn normalization_identifiers_escaped() {
    // Escaped identifiers are never normalized (just like strings).
    check! {
        // Regular strings that normalize into different strings:
        ("|\u{2000}|"                       => Identifier("\u{2000}"));
        (" "                                => Whitespace);
        ("|\u{095D}\u{095E}\u{095F}|"       => Identifier("\u{095D}\u{095E}\u{095F}"));
        (" "                                => Whitespace);
        ("|\u{1E9B}|"                       => Identifier("\u{1E9B}"));
        (" "                                => Whites


.com/search?q=cache:XV9TLAQUcvEJ:https://fr.wikipedia.org/wiki/GitHub+&cd=8&hl=fr&ct=clnk&gl=fr" onmousedown="return rwt(this,'','','','8','AFQjCNGKPBVcCJWDfze8HaAMh3gYVw0O7Q','','0ahUKEwjDhYrQpaDMAhWva5oKHZaoCVoQIAhDMAc','','',event)">En cache

GitHub (exploité sous le nom de GitHub, Inc.) est un service web d'hébergement et de gestion de développement de logiciels, utilisant le logiciel de gestion de ...

Nombre d'inscrits: 10 millions (2015)

Inscription: Requise (Facultative en lect...

Type de site: Gestion de versions collab...

Slogan: Build software better, together. ...

Dans l'actualité

<a href="http://www.nextinpact.com/news/99519-deckhub-affiche-evolution-projets-github-comme-flux.htm" data-ved="0ahUKEwjDhYrQpaDMAhWva5oKHZaoCVoQpwIISzAI" onmousedown="return rwt(this,'','','','9','AFQjCNF4-W0vEBB5zOw8OHHtjIZJhCXjzw',


th>
                      Description

  salaryAndWage *

        SalaryAndWage

        Required

createEmployeeWorkingPattern

Creates an employee working pattern

/Employees/{EmployeeID}/Working-Patterns

Usage and SDK Samples

PHP

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure OAuth2 access token for authorization: OAuth2
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( 'YOUR_ACCESS_TOKEN' );

$apiInstance = new XeroAPI\XeroPHP\Api\PayrollNzApi(
    new GuzzleHttp\Client(),
    $config
);
$xeroTenantId = "xeroTenantId_example";
$employeeID = "4ff1e5cc-9835-40d5-bb18-09fdb118db9c";
$idempotencyKey = "KEY_VALUE";
$effectiveFrom = new DateTime('2020-10-28');

$workingWeek = new XeroAPI\XeroPHP\Models\PayrollNz\WorkingWeek;
$workingWeek->setmonday(8);
$workingWeek->settuesday(8);
$workingWeek->setwednesday(8);
$workingWeek->setthursday(8);
$workingWeek->setfriday(8);
$workingWeek->setsaturday(0);
$workingWeek->setsunday(0);

try {
  $result = $apiInstance->createEmployeeWorkingPattern($xeroTenantId, $employeeID, $employeeWorkingPatternWithWorkingWeeksRequest, $idempotencyKey);


led = true,
			}),
		})
	end
end

function SetFavoritePrompt:render()
	local title
	local text
	if self.props.shouldFavorite then
		title = RobloxTranslator:FormatByKey("CoreScripts.AvatarEditorPrompts.FavouriteItemPromptTitle")
		text = RobloxTranslator:FormatByKey("CoreScripts.AvatarEditorPrompts.FavouriteItemPromptText", {
			RBX_NAME = self.props.itemName,
		})
	else
		title = RobloxTranslator:FormatByKey("CoreScripts.AvatarEditorPrompts.UnfavouriteItemPromptTitle")
		text = RobloxTranslator:FormatByKey("CoreScripts.AvatarEditorPrompts.UnfavouriteItemPromptText", {
			RBX_NAME = self.props.itemName,
		})
	end

	return Roact.createElement(InteractiveAlert, {
		title = title,
		bodyText = text,
		buttonStackInfo = {
			buttons = {
				{
					props = {
						onActivated = self.props.signalSetFavoritePermissionDenied,
						text = RobloxTranslator:FormatByKey("CoreScripts.AvatarEditorPrompts.FavouriteItemPromptNo"),
					},
					isDefaultChild = true,
				},
				{
					buttonType = ButtonType.PrimarySystem,
					props = {
						onActivated = self.props.performSetFavorite,
						text = RobloxTranslator:FormatByKey("CoreScripts.AvatarEditorPrompts.FavouriteItemPromptYes"),
						isDelayedInput = true,
						enableInputDelayed = true,
						delayInputSeconds = DELAYED_INPUT_ANIM_SEC,
					},
					isDefaultChild = false,
				},
			},
		},
		position = UDim2.fromScale(0.5, 0.5),
		screenSize = self.props.screenSize,
		middleContent = self.renderAlertMiddleContent,
		isMiddleContentFocusable = false,
	})
end

local function mapStateToProps(state)
	return {
		itemId = state.promptInfo.itemId,
		itemType = state.promptInfo.itemType,
		itemName = state.promptInfo.itemName,
		shouldFavorite = state.promptInfo.shouldFavorite,
		screenSize = state.screenSize,
	}
end

local function mapDispatchToProps(dispatch)
	return {
		performSetFavorite = function()
			return dispatch(PerformSetFavorite)
		end,

		signalSetFavoritePermissionDenied = function()
			return dispatch(SignalSetFavoritePermissionDenied)
		end,
	}
end

return RoactRodux.connect(mapStateToProps, mapDispatchToProps)(SetFavoritePrompt)


)
    {
      RunSampleAndCompareResults("quine-plain.ref");
    }

    [TestMethod]
    public void RefalTest_QuineSimple()
    {
      RunSampleAndCompareResults("quine-simple.ref");
    }

    [TestMethod]
    public void RefalTest_QuineXplained()
    {
      RunSampleAndCompareResults("quine-xplained.ref");
    }

    [TestMethod]
    public void RefalTest_XtrasBigint()
    {
      RunSampleAndCompareResults("xtras-bigint.ref", "xtras-bigint.txt");
    }

    [TestMethod]
    public void RefalTest_XtrasFactorial()
    {
      RunSampleAndCompareResults("xtras-factorial.ref", "xtras-factorial.txt");
    }

    [TestMethod]
    public void RefalTest_99BottlesV1()
    {
      RunSampleAndCompareResults("99-bottles-v1.ref", "99-bottles-v1.txt");
    }

    [TestMethod]
    public void RefalTest_99BottlesV2()
    {
      RunSampleAndCompareResults("99-bottles-v2.ref", "99-bottles-v2.txt");
    }

    [TestMethod]
    public void RefalTest_BrainfuckInterpreter()
    {
      RunSampleAndCompareResults("brainfuck.ref", "brainfuck.txt");
    }

    /// <summary>
    /// Load sample program from resources, run it and check its output
    /// </summary>
    void RunSampleAndCompareResults(string programResourceName, string outputResourceName, IConsoleAdapter console = null)
    {
      var grammar = new RefalGrammar();
      var parser = new Parser(grammar);
      var parseTree = parser.Parse(LoadResourceText(programResourceName));

      Assert.IsNotNull(parseTree);
      Assert.IsFalse(parseTree.HasErrors());

      string result = grammar.RunSample(new RunSampleArgs(parser.Language, null, parseTree, console));
      Assert.IsNotNull(result);
      Assert.AreEqual(NormalizeNewLines(LoadResourceText(outputResourceName)), NormalizeNewLines(result));
    }

    private string NormalizeNewLines(string s)
    {
      return s.Replace("\r\n", "\n").Replace("\n\r", "\n").Replace("\r", "\n");
    }

    /// <summary>
    /// Load quine program from resources, run it and compare its output with itself
    /// </summary>
    void RunSampleAndCompareResults(string programResourceName)
    {
      RunSampleAndCompareResults(programResourceName, programResourceName);
    }

    /// <summary>
    /// Load sample Refal program or output from assembly resources
    /// </summary>
    string LoadResourceText(string resourceName)
    {
      var asm = this.GetType().Assembly;

      using (var stream = asm.GetManifestResourceStream(BaseResourceName + resourceName))
      {
        Assert.IsNotNull(stream);

        using (var sr = new StreamReader(stream))
        {
          var s = sr.ReadToEnd();
          Assert.IsFalse(string.IsNullOrEmpty(s));

          s = Regex.Replace(s, @"\r\n?", Environment.NewLine);
          return s;
        }
      }
    }
  }
}


    schwerDOMElement = document.querySelector("#mittel");
    schwerDOMElement.addEventListener("click", function(): void {
        wie_schwer (4);
    });

    schwerDOMElement = document.querySelector("#schwer");
    schwerDOMElement.addEventListener("click", function(): void {
        wie_schwer (5);
    });
});

function wie_schwer (colRow: number): void {
//----------------------------------------------------------//
    anzahlCol    = colRow;
    anzahlRow    = colRow;
    runden       = colRow;
    zaehlRunden  = 0;

    /* Die Eingabe des Schwierigkeitsgrads wird gesperrt */
    domElement = document.getElementById ("fieldset");
    domElement.setAttribute("disabled" , "true");

    /* Hinweis geben */
    domElement = document.getElementById ("hinweis");
    domElement.innerHTML = "du bist am Zug";

    /* erste Runde anzeigen */
    domElement = document.getElementById ("Runde");
    domElement.innerHTML = "Runde 1 von " + runden;
    zaehlRunden++;

    /* Schleifen: es wird für jedes Feld ein Array erzeugt, das
    *  die Koordinaten von Spalte und Zeile enthält */
    for (let indexRow: number = 1 ; indexRow <= colRow; indexRow++) {
        for (let indexCol: number = 1; indexCol <= colRow; indexCol++) {
            /* Feld anlegen im Array */
            feld.push({
                column:   indexCol,
                row:      indexRow,
                Mensch:   false,
                Computer: false
            });
        }
    }
    // Spielfeld wird gezeichnet
    drawSpielfeld();
    // der Computer setzt den ersten Stein
    computerSpielt();
}

function drawSpielfeld(): void {
//------------------------------//
    let zaehlerBr:      number = 0;
    let domFeld:        HTMLElement;
    let domElementSF:   HTMLElement;
    let domElementI:    HTMLElement;
    let indexDS:        number;

    // Elemente initialisieren
    //domFeld = document.getElementById("hinweis");
    //domFeld.innerHTML = "";
    domFeld = document.getElementById("weiter");
    domFeld.innerHTML = "";
    domFeld.setAttribute("class" , "");
    domSpielfeld = document.getElementById("Spielfeld");
    // Spielfeld löschen
    domSpielfeld.innerHTML = "";

    // jedes Array-Feld wird als button angelegt
    for (indexDS = 0; indexDS < feld.length; indexDS++) {
        // number to string
        let indFeld: string = indexDS.toString();

        domElementSF = document.createElement("button");
        domElementSF.setAttribute("class" , "Feld");
        domElementSF.setAttribute("id" , "b" + indFeld);
        domSpielfeld.appendChild(domElementSF);

        domElementI = document.createElement("i");
        domElementI.setAttribute("class" , "fas square");
        domElementI.setAttribute("id" , indFeld);
        domElementSF.appendChild(domElementI);
        // der EventListener hört auf ein button-Feld
        domElementSF.addEventListener("click", function (event: MouseEvent): void {
            let feldId: string = (event.target as HTMLElement).id;
            console.log("feldid: " + feldId);
            console.log ("Event: " + parseInt(feldId));
            menschSpielt(parseInt(feldId));
        });

    //nach jeder Zeile ein br ausgeben
        zaehlerBr++;
        if (zaehlerBr == anzahlCol) {
            absatz = document.createElement("br");
            domSpielfeld.


t.getAttachmentTimestampLowerBound(), 6);
  EXPECT_EQ(t.getAttachmentTimestampUpperBound(), 7);
  EXPECT_EQ(t.getTrunkTransaction(), "trunkTransaction");
  EXPECT_EQ(t.getBranchTransaction(), "branchTransaction");
  EXPECT_EQ(t.getAddress(), ACCOUNT_1_ADDRESS_1_HASH);
  EXPECT_EQ(t.getValue(), 4);
  EXPECT_EQ(t.getBundle(), "bundle");
  EXPECT_EQ(t.getPersistence(), false);
}

TEST(Transaction, CtorShort) {
  IOTA::Models::Transaction t = { ACCOUNT_1_ADDRESS_1_HASH, 1, "TAG", 2 };

  EXPECT_EQ(t.getSignatureFragments(), "");
  EXPECT_EQ(t.getCurrentIndex(), 0);
  EXPECT_EQ(t.getLastIndex(), 0);
  EXPECT_EQ(t.getNonce(), "");
  EXPECT_EQ(t.getHash(), "");
  EXPECT_EQ(t.getObsoleteTag(), IOTA::Models::Tag{ "TAG" });
  EXPECT_EQ(t.getTag(), IOTA::Models::Tag{ "TAG" });
  EXPECT_EQ(t.getTimestamp(), 2);
  EXPECT_EQ(t.getAttachmentTimestamp(), 0);
  EXPECT_EQ(t.getAttachmentTimestampLowerBound(), 0);
  EXPECT_EQ(t.getAttachmentTimestampUpperBound(), 0);
  EXPECT_EQ(t.getTrunkTransaction(), "");
  EXPECT_EQ(t.getBranchTransaction(), "");
  EXPECT_EQ(t.getAddress(), ACCOUNT_1_ADDRESS_1_HASH);
  EXPECT_EQ(t.getValue(), 1);
  EXPECT_EQ(t.getBundle(), "");
  EXPECT_EQ(t.getPersistence(), false);
}

TEST(Transaction, CtorShortFull) {
  IOTA::Models::Transaction t = { ACCOUNT_1_ADDRESS_1_HASH, 1, "TAG", 2, 3, 4, 5 };

  EXPECT_EQ(t.getSignatureFragments(), "");
  EXPECT_EQ(t.getCurrentIndex(), 0);
  EXPECT_EQ(t.getLastIndex(), 0);
  EXPECT_EQ(t.getNonce(), "");
  EXPECT_EQ(t.getHash(), "");
  EXPECT_EQ(t.getObsoleteTag(), IOTA::Models::Tag{ "TAG" });
  EXPECT_EQ(t.getTag(), IOTA::Models::Tag{ "TAG" });
  EXPECT_EQ(t.getTimestamp(), 2);
  EXPECT_EQ(t.getAttachmentTimestamp(), 3);
  EXPECT_EQ(t.getAttachmentTimestampLowerBound(), 4);
  EXPECT_EQ(t.getAttachmentTimestampUpperBound(), 5);
  EXPECT_EQ(t.getTrunkTransaction(), "");
  EXPECT_EQ(t.getBranchTransaction(), "");
  EXPECT_EQ(t.getAddress(), ACCOUNT_1_ADDRESS_1_HASH);
  EXPECT_EQ(t.getValue(), 1);
  EXPECT_EQ(t.getBundle(), "");
  EXPECT_EQ(t.getPersistence(), false);
}

TEST(Transaction, ConstGetters) {
  const IOTA::Models::Transaction t("signatureFragments", 1, 2, "nonce", "hash", 3,
                                    "trunkTransaction", "branchTransaction",
                                    ACCOUNT_1_ADDRESS_1_HASH, 4, "bundle", "TAG", 5, 6, 7);

  EXPECT_EQ(t.getSignatureFragments(), "signatureFragments");
  EXPECT_EQ(t.getCurrentIndex(), 1);
  EXPECT_EQ(t.getLastIndex(), 2);
  EXPECT_EQ(t.getNonce(), "nonce");
  EXPECT_EQ(t.getHash(), "hash");
  EXPECT_EQ(t.getTag(), IOTA::Models::Tag{ "TAG" });
  EXPECT_EQ(t.getObsoleteTag(), IOTA::Models::Tag{ "TAG" });
  EXPECT_EQ(t.getTimestamp(), 3);
  EXPECT_EQ(t.getAttach