#ifdef HAVE_CONFIG_H
# include "elementary_config.h"
#endif

#include <Efl_Ui.h>
#include "efl_ui_suite.h"

static Eo *win, *spin;

static void
spin_setup()
{
   win = win_add(NULL, "win", EFL_UI_WIN_TYPE_BASIC);

   spin = efl_add(EFL_UI_SPIN_CLASS, win);
   efl_content_set(win, spin);
}

static void
_set_flag(void *data, const Efl_Event *ev)
{
   Eina_Bool *b = data;

   ck_assert_int_eq(*b, EINA_FALSE);

   *b = EINA_TRUE;
   ck_assert_ptr_eq(ev->info, NULL);
}

EFL_START_TEST (spin_value_events)
{
   Eina_Bool changed = EINA_FALSE, min_reached = EINA_FALSE, max_reached = EINA_FALSE;

   efl_ui_range_limits_set(spin, -3.0, 3.0);
   efl_ui_range_value_set(spin, 0.0);
   efl_event_callback_add(spin, EFL_UI_RANGE_EVENT_CHANGED, _set_flag, &changed);
   efl_event_callback_add(spin, EFL_UI_RANGE_EVENT_MIN_REACHED, _set_flag, &min_reached);
   efl_event_callback_add(spin, EFL_UI_RANGE_EVENT_MAX_REACHED, _set_flag, &max_reached);

   efl_ui_range_value_set(spin, 1.0);
   ck_assert_int_eq(changed, EINA_TRUE);
   ck_assert_int_eq(min_reached, EINA_FALSE);
   ck_assert_int_eq(max_reached, EINA_FALSE);
   changed = EINA_FALSE;
   min_reached = EINA_FALSE;
   max_reached = EINA_FALSE;

   efl_ui_range_value_set(spin, 3.0);
   ck_assert_int_eq(changed, EINA_TRUE);
   ck_assert_int_eq(min_reached, EINA_FALSE);
   ck_assert_int_eq(max_reached, EINA_TRUE);
   changed = EINA_FALSE;
   min_reached = EINA_FALSE;
   max_reached = EINA_FALSE;

   efl_ui_range_value_set(spin, -3.0);
   ck_assert_int_eq(changed, EINA_TRUE);
   ck_assert_int_eq(min_reached, EINA_TRUE);
   ck_assert_int_eq(max_reached, EINA_FALSE);
}
EFL_END_TEST

void efl_ui_test_spin(TCase *tc)
{
   tcase_add_checked_fixture(tc, fail_on_errors_setup, fail_on_errors_teardown);
   tcase_add_checked_fixture(tc, spin_setup, NULL);
   tcase_add_test(tc, spin_value_events);
}


Contains(r.TagsF, r.Uniq().String()))
}

func (s *ConfigTestSuite) TestConfigInvalidUniq() {
	r := release.NewConfig()
	r.NameF = "redis"
	r.NamespaceF = ""

	s.Require().Error(r.Uniq().Validate())
}

func (s *ConfigTestSuite) TestDependsOn() {
	r := release.NewConfig()

	r.NamespaceF = "testns"
	r.KubeContextF = "testctx"
	r.DependsOnF = []*release.DependsOnReference{
		{Name: "bla"},
		{Name: "blabla@testns"},
		{Name: "blablabla@testtestns"},
		{Name: "---=-=-==-@kk;'[["},
	}

	r.BuildAfterUnmarshal(r)

	expected := []*release.DependsOnReference{
		{Name: "bla@testns@testctx"},
		{Name: "blabla@testns@testctx"},
		{Name: "blablabla@testtestns@testctx"},
	}
	s.Require().ElementsMatch(r.DependsOn(), expected)
}

func (s *ConfigTestSuite) TestDryRun() {
	rel := release.NewConfig()

	s.Require().False(rel.IsDryRun())
	rel.DryRun(true)
	s.Require().True(rel.IsDryRun())
}
package hooks

import (
	"strings"

	"github.com/helmwave/helmwave/pkg/helper"
	"gopkg.in/yaml.v3"
)

// UnmarshalYAML is an unmarshaller for gopkg.in/yaml.v3 to parse YAML into `Hook` interface.
func (h *Hooks) UnmarshalYAML(node *yaml.Node) error {
	rr := make([]*hook, 0)
	err := node.Decode(&rr)
	if err != nil {
		return NewYAMLDecodeError(err)
	}

	*h = helper.SlicesMap(rr, func(h *hook) Hook { return h })

	return nil
}

func (h *hook) UnmarshalYAML(node *yaml.Node) error {
	type raw hook
	var err error

	// show by default
	h.Show = true

	switch node.Kind {
	// single value or reference to another value
	case yaml.ScalarNode, yaml.AliasNode:
		var script string
		err = node.Decode(&script)
		if err != nil {
			break
		}

		// Short name
		words := strings.Fields(script)
		if len(words) > 1 {
			h.Cmd = words[0]
			h.Args = words[1:]
		} else {
			h.Cmd = script
			h.Args = []string{}
		}

	case yaml.MappingNode:
		err = node.Decode((*raw)(h))
	default:
		err = ErrUnknownFormat
	}

	if err != nil {
		return NewYAMLDecodeError(err)
	}

	return nil
}
package hooks_test

import (
	"context"
	"errors"
	"os/exec"
	"testing"

	"github.com/helmwave/helmwave/pkg/hooks"
	"github.com/helmwave/helmwave/tests"
	log "github.com/sirupsen/logrus"
	"github.com/stretchr/testify/mock"
	"github.com/stretchr/testify/suite"
)

var _ hooks.Hook = (*MockHook)(nil)

type MockHook struct {
	mock.Mock
}

func NewMockHook(t *testing.T) *MockHook {
	t.Helper()

	c := &MockHook{}
	c.Mock.Test(t)

	return c
}

func (m *MockHook) Run(_ context.Context) error {
	return m.Called().Error(0)
}

func (m *MockHook) Log() *log.Entry {
	return m.Called().Get(0).(*log.Entry)
}

type LifecycleRunTestSuit


аршина Ослоу из Озер – мой верный поставщик…",
    ["O"] = "Поговорите со старшиной Ослоу из Озер и расспросите его о ретбанской руде.",
    ["T"] = "Запас чернил",
  },
  [348] = {
    ["D"] = "Плохо... Мне... т-т-ак п-п-лохо.$B$BЯ п-подцепил... лихорадку Тернистой д-долины... Это смертельный вирус…$B$BЕдинственное лекарство... съесть сердце М-м-м-мок-ка Д-дикаря... неуловимой... белой гориллы…$B$BИщи знахаря Унбагва в с-с-скрытой пещере на южном мысу...$B$BПоспеши... я... умираю...",
    ["O"] = "Найдите знахаря Унбагва и попросите его вызвать Мокка Дикаря. Принесите сердце Мокка Фину Горемыку.",
    ["T"] = "Лихорадка Тернистой долины",
  },
  [351] = {
    ["D"] = "Вы находите какой-то странный яйцевидный металлический предмет. Повозившись с кнопками, вы пробуждаете яйцо, и оно превращается в гномский робот! Изнутри доносится голос.$B$B\"Меня зовут Карлс, и мой автономный робот потерялся! За его находку полагается награда! Прошу, отнесите этот маяк к роботу. Я уже вычислил координаты. Он сломался возле Зияющей бездны в Танарисе.\"",
    ["O"] = "Отнесите аварийный маяк к автономному роботу Карлса.",
    ["T"] = "Найди КПХ-17/TN!",
  },
  [352] = "_",
  [355] = {
    ["D"] = "Ты $Gпринес:принесла; мне останки Агамондов и $Gутолил:утолила; мою жажду мести. Но мельницы этой проклятой семейки все еще представляют собой угрозу не только для меня, но и для всех Отрекшихся.$B$BЯ рассказал мировому судье Севрену о твоих действиях против Агамондов, и он хочет поговорить с тобой лично.",
    ["O"] = "Поговорите с мировым судьей Севреном в Брилле.",
    ["T"] = "Разговор с Севреном",
  },
  [356] = {
    ["D"] = "Защитники Бастиона, охраняющие Тирисфаль со стороны Чумных земель, постоянно начеку, но порой Плеть проскальзывает мимо них.$B$BНаш успех на Бастионе зависит от битвы на один фронт: мы не можем допустить атаки с тыла и уж конечно


_TOKEN, parseSwitchCaseStmt)
	//loops
	stmt(lexer.FOR_TOKEN, parseForLoopStmt)
	stmt(lexer.FOREACH_TOKEN, parseForLoopStmt)
	stmt(lexer.WHILE_TOKEN, parseWhileLoopStmt)

	//function
	stmt(lexer.FUNCTION_TOKEN, parseFunctionDeclStmt)
	stmt(lexer.RETURN_TOKEN, parseReturnStmt)

	stmt(lexer.CONTINUE_TOKEN, parseContinueStmt)
	stmt(lexer.BREAK_TOKEN, parseBreakStmt)
}package utils

import (
	"fmt"
)

// ANSI color escape codes
type COLOR string

const (
	RESET        COLOR = "\033[0m"
	RED          COLOR = "\033[31m"
	BOLD_RED     COLOR = "\033[38;05;196m"
	GREEN        COLOR = "\033[32m"
	YELLOW       COLOR = "\033[33m"
	BOLD_YELLOW  COLOR = "\033[38;05;226m"
	ORANGE       COLOR = "\033[38;05;166m"
	BROWN        COLOR = "\033[38;05;130m"
	BRIGHT_BROWN COLOR = "\033[38;05;136m"
	BLUE         COLOR = "\033[34m"
	BOLD_BLUE    COLOR = "\033[38;05;27m"
	PURPLE       COLOR = "\033[35m"
	CYAN         COLOR = "\033[36m"
	WHITE        COLOR = "\033[37m"
	GREY         COLOR = "\033[90m"
	BOLD         COLOR = "\033[1m"
)

func (c COLOR) Printf(format string, args ...interface{}) {
	fmt.Printf(string(c)+format+string(RESET), args...)
}

func (c COLOR) Println(args ...interface{}) {
	fmt.Print(string(c))
	fmt.Println(args...)
	fmt.Print(string(RESET))
}

func (c COLOR) Print(args ...interface{}) {
	fmt.Print(string(c))
	fmt.Print(args...)
	fmt.Print(string(RESET))
}

func (c COLOR) Sprintf(format string, args ...interface{}) string {
	return string(c) + fmt.Sprintf(format, args...) + string(RESET)
}

func (c COLOR) Sprintln(args ...interface{}) string {
	return string(c) + fmt.Sprintln(args...) + string(RESET)
}

func (c COLOR) Sprint(args ...interface{}) string {
	return string(c) + fmt.Sprint(args...) + string(RESET)
}

func PrintWithColor(color COLOR, args ...interface{}) {
	color.Print(args...)
}

func SprintWithColor(color COLOR, args ...interface{}) string {
	return color.Sprint(args...)
}
package utils

// ProgressCallback is a function type that will be called to report progress
type ProgressCallback func(progress float64, message string)

// ProgressInfo contains information about the current operation
type ProgressInfo struct {
	TotalFiles      int
	CurrentFile     int
	CurrentFileSize int64
	ProcessedBytes  int64
	Message         string
}

// UpdateProgress calculates and calls the progress callback with the current progress
func UpdateProgress(info ProgressInfo, callback ProgressCallback) {
	if callback == nil {
		return
	}

	// Handle initial state where values might be 0 or invalid
	if info.TotalFiles == 0 || info.CurrentFileSize == 0 {
		callback(0, info.Message)
		return
	}

	// Calculate overall progress
	fileProgress := float64(info.CurrentFile) / float64(info.TotalFiles)
	byteProgress := float64(info.ProcessedBytes) / float64(info.CurrentFileS


= _cloners[0].scaleByPulse;

            _noise = new NoiseGenerator() {
                Frequency = _noiseFrequency,
                FractalLevel = _noiseOctave
            };
        }

        void OnDisable()
        {
            foreach (var c in _cloners)
                if (c != null) c.enabled = false;
        }

        void Update()
        {
            _noise.FractalLevel = _noiseOctave;
            _noise.Frequency = _noiseFrequency;
            _noise.Step();
        }

        void LateUpdate()
        {
            if (_throttle < 0.01f)
            {
                foreach (var c in _cloners) c.enabled = false;
            }
            else
            {
                foreach (var c in _cloners)
                {
                    var noise = _noise.Value(0) * _noiseAmplitude * 1.5f;
                    var amp = Mathf.Max(0, _throttle * (1 + noise)) * 2;
                    c.enabled = true;
                    c.templateScale = _templateScale * amp;
                    c.scaleByNoise = _scaleByNoise * amp;
                    c.scaleByPulse = _scaleByPulse * amp;
                }
            }
        }
    }
}


Carta cifrada", {"Pediram-me para lhe entregar isto assim que você voltasse dos assentamentos de kobolds, <name>. Parece ser uma carta selada com a insígnia de Rufino, um dos nossos instrutores locais. Eu não hesitaria em lê-la antes de tratar de qualquer outro assunto aqui na Abadia."}, {"Leia a Carta Cifrada e fale com Rufino Raposo no estábulo atrás da Abadia de Vila Norte."}},
[3103] = {"Carta santificada", {"Pediram-me para lhe entregar isto assim que você voltasse dos assentamentos de kobolds, <name>. Parece ser uma carta selada com a insígnia da Sacerdotisa Anita, nossa instrutora de sacerdotes local. Eu não hesitaria em lê-la antes de tratar de qualquer outro assunto aqui na Abadia."}, {"Lei a Carta Santificada e fale com a Sacerdotisa Anita na Abadia de Vila Norte."}},
[3104] = {"Carta glífica", {"Pediram-me para lhe entregar isto assim que você voltasse dos assentamentos de kobolds, <name>. Parece ser uma carta selada com a insígnia de Gaspar, nossa instrutor de magos local. Eu não hesitaria em lê-la antes de tratar de qualquer outro assunto aqui na Abadia."}, {"Leia a Carta Glífica e fale com Gaspar Melchior dentro da Abadia de Vila Norte."}},
[3105] = {"Carta maculada", {"Pediram-me para lhe entregar isto assim que você voltasse dos assentamentos de kobolds, <name>. Parece ser uma carta selada com a insígnia de Drusilla, uma de nossos instrutores locais. Eu não hesitaria em lê-la antes de tratar de qualquer outro assunto aqui na Abadia."}, {"Leia a Carta Maculada e fale com Drusilla La Salle perto da Abadia de Vila Norte."}},
[3106] = {"Runa simples", {"Enquanto tu me ajudava, recebi esta runa para ti. Te acomode uma hora para ler o que ela diz. Penso eu que foi o instrutor de guerreiros Thran quem a enviou. Dá uma olhada e depois fale com ele em Sidermar quando tiver a oportunidade."}, {"Leia a Runa Simples e fale com Thran Khorman no Vale Cristálgida."}},
[3107] = {"Runa consagrada", {"Enquanto tu me ajudava, recebi esta runa para ti. Te acomode uma hora para ler o que ela diz. Penso eu que foi o instrutor de paladinos Bromos quem a enviou. Dá uma olhada e depois fale com ele em Sidermar quando tiver a oportunidade."}, {"Leia a Runa Consagrada e fale com Bromos Grummner no Vale Cristálgida."}},
[3108] = {"Runa cinzelada", {"Enquanto tu me ajudava, recebi esta runa para ti. Te acomode uma hora para ler o que ela diz. Penso eu que foi o instrutor de caçadores Thorgas quem a enviou. Dá uma olhada e depois fale com ele em Sidermar quando tiver a oportunidade."}, {"Leia a Runa Cinzelada e fale com Thorgas Grimson no Vale Cristálgida."}},
[3109] = {"Runa cifrada", {"Enquanto tu me ajudava, recebi esta runa para ti. Te acomode uma hora para ler o que ela diz. Penso eu que foi o instrutor de ladinos Solm quem a enviou. Dá uma olhada e depois fale com ele em Sidermar quando tiver a op


ar laimi, p2pool parādīšanās to strauji maina.';

  @override
  String get knowledge250Sbp2pool250Sbtitle => 'P2Pool un tā loma Monero mainošanas decentralizācijā';

  @override
  String get knowledge250Sbpractices250Sb0250Sbtext => '
Daudzi lietotāji varētu būt šokēti, uzzinot, ka eksperti uzskata, ka kriptovalūtu ir iespējams izmantot nepareizi. Atkarībā no tā, pret ko lietotājs aizsargājas, ir jāveic noteiktas darbības un piesardzības pasākumi, lai saglabātu privātumu, izvairītos no krāpniecības un nodrošinātu pareizu un savlaicīgu pārskaitījumu piegādi. Par laimi, Monero izstrādātāji ir darījuši visu iespējamo, lai šajās jomās iestatītu saprātīgus noklusējuma iestatījumus, tāpēc lietotāji, kuri izmanto maka programmatūru tādu, kāda tā ir, lielāko daļu laika būs drošībā. Tomēr mēs vēlētos veltīt laiku, lai izskatītu dažus gadījumus, kad varētu būt noderīgi darboties nedaudz pārdomātāk.
';

  @override
  String get knowledge250Sbpractices250Sb1250Sbtext => '
Pirmais un lielākais veids, kā aizsargāt savu kriptovalūtu, ir pierakstīt Monero mnemonisko sēklu Tas ir īss vārdu saraksts, kas tiek parādīts, kad pirmo reizi izveidojat savu maku. Ja jums ir šī sēkla, bet jūsu dators/tālrunis nomirst, varat atgūt savu Monero. Ja jums nav šīs sēklas un jūs pazaudējat savu maku, jūsu Monero ir pazaudēts un neviens nevar jums palīdzēt to atgūt. Tikpat svarīgi ir nenodot šo sēklu nevienam. Ja kādam ir šis vārdu saraksts, viņiem ir pilna piekļuve un tiesības tērēt jūsu Monero. Daudzi ir bijuši neuzmanīgi ar savu sēklu nodrošināšanu un nonāk pie biedējošās zaudētās naudas realitātes, jo kāds to ir paņēmis. Mēs iesakām to pierakstīt. Fiziski. Neglabāt to digitāli un nodrošināt, ka jums ir vairākas kopijas dažādās vietās. Šī ir pirmā lieta, ko varat darīt, lai aizsargātu savu Monero. PIERAKSTIET SAVU SĒKLU!
';

  @override
  String get knowledge250Sbpractices250Sb1250Sbtitle => 'PIERAKSTIET SAVU SĒKLU!';

  @override
  String get knowledge250Sbpractices250Sb2250Sbtext => '
Ir krāpniecīgas programmas, kas datorā maina kopēšanas/ielīmēšanas funkcionalitāti, lai paredzētā adresāta vietā ievietotu ļaunprātīgās programmatūras veidotāja adresi. Tā kā Monero adreses ir garas un smagnējas, var būt vilinoši pārbaudīt pirmos dažus ciparus un burtus un nosaukt to par labu vai varbūt nepārbaudīt adresi vispār. Lai gan,


 or be square.',
    EmailType.primary,
  ),
  Email(
    'Some',
    'Person',
    'Can you believe this deal?!',
    'Hey you, yes you. So I heard you\'re shopping for a new car...',
    EmailType.everything,
  ),
  Email(
    'Eric',
    'Windmill',
    'Cute Cat Alert',
    'Hello, This is your daily does of cute cats. You\'re welcome so very welcome.',
    EmailType.primary,
    true,
  ),
  Email(
    'Jane',
    'Smith',
    '🚨 3-Day Flash Sale! Save Up to 50%',
    "You won't want to miss this, Jane! Our biggest sale...",
    EmailType.everything,
  ),
  // Email 2
  Email(
    'Ben',
    'Johnson',
    'Your Personalized Recommendations Are Here',
    "Hey Ben, check out these items, hand-picked just for you...",
    EmailType.everything,
  ),

  // Email 3
  Email(
    'Sarah',
    'Lee',
    'Exclusive Offer: Free Gift with Purchase',
    "Hi Sarah, enjoy a complimentary gift when you spend...",
    EmailType.primary,
  ),
  Email(
    'Olivia',
    'Davis',
    'Your Order Has Shipped! 🎉',
    'Great news, Olivia! Your package is on its way...',
    EmailType.primary,
  ),
  Email(
    'Michael',
    'Brown',
    'Welcome to the Community!',
    'Thanks for joining us, Michael. Explore, connect, and...',
    EmailType.everything,
  ),
  Email(
    'Emily',
    'Wilson',
    'Reminder: Your Appointment is Tomorrow',
    'Hi Emily, just a friendly reminder about your...',
    EmailType.primary,
  ),
  Email(
    'Alex',
    'Carter',
    'Limited Time Offer: Upgrade Your Plan',
    'Unlock more features and benefits, Alex. Upgrade today...',
    EmailType.everything,
  ),
  Email(
    'Sophia',
    'Miller',
    'Your Cart is Waiting...',
    'Hey Sophia, did you forget something? Complete your purchase...',
    EmailType.everything,
  ),
  Email(
    'Noah',
    'Garcia',
    'New Arrivals You Might Like',
    'Fresh styles just dropped, Noah! Check them out...',
    EmailType.everything,
  ),
  Email(
    'Emma',
    'Rodriguez',
    'Feedback Request: Help Us Improve',
    'Hi Emma, could you spare a few minutes to share your thoughts...',
    EmailType.primary,
  ),
  Email(
    'Liam',
    'Martinez',
    'Earn Rewards with Our Referral Program',
    'Share the love, Liam! Invite friends and earn perks...',
    EmailType.everything,
  ),
  Email(
    'Isabella',
    'Thompson',
    'Happy Birthday from Us!',
    'Isabella, we\'re celebrating you! Here\'s a special gift...',
    EmailType.primary,
  ),
  Email(
    'Ethan',
    'Hernandez',
    'Travel Inspiration: Weekend Getaways',
    'Need a break, Ethan? Browse these destinations...',
    EmailType.everything,
  ),
  Email(
    'Mia',
    'Robinson',
    'Price Drop Alert!',
    'That item you\'ve been eyeing, Mia? It\'s now on sale...',
    EmailType.everything,
  ),
  Email(
    'Jacob',
    'Clark',
    'Your Subscription Renewal is Coming Up',
    'Hi Jacob, a friendly reminder about your upcoming renewal...',
    EmailType.primary,
  ),
  Email(
    'Ava',
    'Lopez',
    'Join Us for a Special Event!',
    'Ava, you\'re invited to an exclusive members-only event...',
    EmailType.primary,
  ),
  Email(
    'Mason',
    'Harris',
    'Tips for Getting the Most Out of [Product Name]',
    'Hey Mason, enhance your experience with these helpful tips...',


 tokio_util::codec::{FramedRead, FramedWrite, LengthDelimitedCodec};

/// run dummysigner:
/// cargo run -- xprv9yZtssy7SLcqLCQetFHe35ENDKT58vh87MNFYdNkMyphUAcfCXdxLzgG4enc7ZT8NXjBtivtLrtpjZAJzyiTEAKM6NKUeFerP97DZdctJPr

#[tokio::main]
pub async fn main() {
    // Bind a server socket
    let mut socket = TcpStream::connect("0.0.0.0:8080").await.unwrap();

    let (reader, writer) = socket.split();

    let mut sender = SymmetricallyFramed::new(
        FramedWrite::new(writer, LengthDelimitedCodec::new()),
        SymmetricalJson::default(),
    );

    let mut receiver = SymmetricallyFramed::new(
        FramedRead::new(reader, LengthDelimitedCodec::new()),
        SymmetricalJson::<serde_json::Value>::default(),
    );

    sender
        .send(json!({
            "spend_tx": "cHNidP8BALQCAAAAAc1946BSKWX5trghNlBq/IIYScLPYqr9Bqs2LfqOYuqcAAAAAAAIAAAAA+BAAAAAAAAAIgAgCOQxrx6W/t0dSZikMBNYG2Yyam/3LIoVrAy6e8ZDUAyA8PoCAAAAACIAIMuwqNTx88KHHtIR0EeURzEu9pUmbnUxd22KzYKi25A2CBH6AgAAAAAiACB18mkXdMgWd4MYRrAoIgDiiLLFlxC1j3Qxg9SSVQfbxQAAAAAAAQEruFn1BQAAAAAiACBI6M9l6zams92tyCK/4gbWyNfJMJzgoOv34L0X7GTovAEDBAEAAAABBWEhAgKTOrEDfq0KpKeFjG1J1nBeH7O8X2awCRive58A7NUmrFGHZHapFHKpXyKvmhuuuFL5qVJy+MIdmPJkiKxrdqkUtsmtuJyMk3Jsg+KhtdlHidd7lWGIrGyTUodnWLJoIgYCApM6sQN+rQqkp4WMbUnWcF4fs7xfZrAJGK97nwDs1SYIJR1gCQAAAAAAIgICUHL04HZXilyJ1B118e1Smr+S8c1qtja46Le7DzMCaUMI+93szQAAAAAAACICAlgt7b9E9GVk5djNsGdTbWDr40zR0YAc/1G7+desKJtDCNZ9f+kAAAAAIgIDRwTey1W1qoj/0e9dBjZiSMExThllURNv8U6ri7pKSQ4IcqlfIgAAAAAA",
        }))
        .await
        .unwrap();

    if let Some(msg) = receiver.try_next().await.unwrap() {
        println!("GOT: {:?}", msg);
    }

    sleep(Duration::from_secs(2)).await;
}

use serde::{Deserialize, Serialize};

#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct UnderlyingPaymentScheduleFixingDayGrp {
	/// NoUnderlyingPaymentScheduleFixingDays
	#[serde(skip_serializing_if = "Option::is_none")]
	#[serde(rename = "41878")]
	pub underlying_payment_schedule_fixing_days: Option<fix_common::RepeatingValues<UnderlyingPaymentScheduleFixingDay>>,
}

#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct UnderlyingPaymentScheduleFixingDay {
	/// Required if NoUnderlyingPaymentScheduleFixingDays(41878) > 0.
	#[serde(skip_serializing_if = "Option::is_none")]
	#[serde(rename = "41879")]
	pub underlying_payment_schedule_fixing_day_of


example {
  background: #202940;
  color: #ffffff;
}

.dark-edition .ct-example .nav-link {
  color: #8b92a9;
}

.docs.dark-edition .ct-docs-content-col > .nav {
  padding: 15px;
  background: #202940;
}

.docs.dark-edition .slider {
  background: #c8c8c8 !important;
}

.docs.dark-edition .ct-chart .ct-series-a .ct-area,
.docs.dark-edition .ct-chart .ct-series-a .ct-bar,
.docs.dark-edition .ct-chart .ct-series-a .ct-line,
.docs.dark-edition .ct-chart .ct-series-a .ct-point,
.docs.dark-edition .ct-chart .ct-series-a .ct-slice-donut,
.docs.dark-edition .ct-chart .ct-series-a .ct-slice-donut-solid,
.docs.dark-edition .ct-chart .ct-series-a .ct-slice-pie {
  stroke: #ffffff !important;
}

.docs.dark-edition .ct-chart .ct-label {
  color: #ffffff
}

.docs.dark-edition .ct-chart .ct-grid {
  stroke: hsl(0deg 0% 100% / 20%);
}

.dark-edition .list-group-item,
.dark-edition .alert-icon .material-icons,
.dark-edition .ct-example .nav-link:hover,
.dark-edition .ct-example .nav-link.active {
  color: #ffffff !important;
}

.dark-edition .iframe-container iframe {
  width: 100%;
  height: 60vh;
}

.dark-edition .btn.btn-fab {
  font-size: 1rem;
}

/* STOP Material Dashboard Dark Particularity */

/* START Black Dashboard Particularity */

.black-design-edition .ct-example{
  background: linear-gradient(#1e1e2f,#1e1e24);
}

.black-design-edition .ct-example .dropdown.btn-group .btn{
  margin: 0;
}
/* STOP Black Dashboard Particularity */

.ct-docs-content-col > hr {
  margin-top: 2rem;
  margin-bottom: 2rem;
  border: 0;
  border-top: 1px solid rgba(0,0,0,.1);
  overflow: visible;
  box-sizing: content-box;
  height: 0;
  display: block;
  font-family: Open Sans,sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  color: #525f7f;
}

.ct-docs-content-col > ul > li > ul,
.ct-docs-content-col > ol > li > ol {
  margin-left: 40px;
}
.ct-docs-content-col > ul > li > ul > li,
.ct-docs-content-col > ol > li > ol > li {
  margin-bottom: .25rem;
}
.ct-docs-content-col > ul > li > ul {
  list-style-type: circle;
}
.ct-docs-content-col > ol > li > ol {
  list-style-type: decimal;
}

.highlight .language-js .token.string,
.highlight .token.language-javascript .token.string {
  color: #22a2c9;
}
.highlight .language-js .token.function,
.highlight .token.language-javascript .token.function {
  color: #3d8fd1;
}
.highlight .language-js .token.operator,
.highlight .token.language-javascript .token.operator {
  color: #c76b29;
}
.highlight .language-js .token.comment,
.highlight .token.language-javascript .token.comment {
  color: #898ea4;
}
.highlight .language-js .token.template-string .token.template-punctuation.string,
.highlight .language-js .token.template-string .token.s


: Edit /workspaces/claude-code-flow/src/cli/help-text.js
b2b722d7 🔖 Checkpoint: Edit /workspaces/claude-code-flow/src/cli/command-registry.js
758ca03b 🔖 Checkpoint: Edit /workspaces/claude-code-flow/src/cli/command-registry.js
dad22ad0 🔖 Checkpoint: Edit /workspaces/claude-code-flow/src/cli/command-registry.js
94aad378 🔖 Checkpoint: Edit /workspaces/claude-code-flow/src/cli/simple-commands/verification.js
ca680b08 🔖 Checkpoint: Edit /workspaces/claude-code-flow/src/cli/command-registry.js
32e4f50f 🔖 Checkpoint: Edit /workspaces/claude-code-flow/docs/final-validation-summary.md
cd810b4b 🔖 Checkpoint: Edit /workspaces/claude-code-flow/docs/verification-validation.md
bf1d1e81 🔖 Checkpoint: Edit /workspaces/claude-code-flow/src/verification/security-bypass-test.ts

## GitHub Releases Created
No GitHub releases

## Rollback Instructions
To rollback to a specific checkpoint:
```bash
# List all checkpoints
git tag -l checkpoint-* | sort -r

# List GitHub releases
gh release list

# Rollback to a checkpoint
git checkout checkpoint-YYYYMMDD-HHMMSS
```
# Session Summary - 2025-08-04 15:13:08

## Checkpoints Created
1754316298.json
1754317527.json
1754317611.json
1754317822.json
1754318017.json
1754318655.json
1754318657.json
1754318756.json
1754318758.json
1754318776.json
1754318778.json
1754318972.json
1754318974.json
1754318985.json
1754318988.json
1754319014.json
1754319017.json
1754319028.json
1754319031.json
1754319268.json
1754319272.json
1754319959.json
1754319962.json
1754319969.json
1754319970.json
1754319981.json
1754319983.json
1754319996.json
1754319998.json
1754320004.json
1754320006.json
1754320043.json
1754320045.json
1754320061.json
1754320063.json
1754320082.json
1754320084.json
1754320091.json
1754320093.json
1754320121.json
1754320123.json
1754320129.json
1754320130.json
1754320141.json
1754320142.json
1754320144.json
1754320146.json
1754320147.json
1754320149.json
1754320150.json
1754320151.json
1754320157.json
1754320158.json
1754320172.json
1754320174.json
1754320208.json
1754320210.json
1754320211.json
1754320212.json
1754320213.json
1754320214.json
1754320215.json
1754320218.json
1754320219.json
1754320220.json
1754320221.json
1754320223.json
1754320225.json
1754320226.json
1754320227.json
1754320235.json
1754320237.json
1754320256.json
1754320258.json
1754320270.json
1754320271.json
1754320275.json
1754320282.json
1754320334.


d_w: ::std::os::raw::c_uint,
    #[doc = "Displayed image height"]
    pub d_h: ::std::os::raw::c_uint,
    #[doc = "Intended rendering image width"]
    pub r_w: ::std::os::raw::c_uint,
    #[doc = "Intended rendering image height"]
    pub r_h: ::std::os::raw::c_uint,
    #[doc = "subsampling order, X"]
    pub x_chroma_shift: ::std::os::raw::c_uint,
    #[doc = "subsampling order, Y"]
    pub y_chroma_shift: ::std::os::raw::c_uint,
    #[doc = "pointer to the top left pixel for each plane"]
    pub planes: [*mut ::std::os::raw::c_uchar; 3usize],
    #[doc = "stride between rows for each plane"]
    pub stride: [::std::os::raw::c_int; 3usize],
    #[doc = "data size"]
    pub sz: usize,
    #[doc = "bits per sample (for packed formats)"]
    pub bps: ::std::os::raw::c_int,
    #[doc = "Temporal layer Id of image"]
    pub temporal_id: ::std::os::raw::c_int,
    #[doc = "Spatial layer Id of image"]
    pub spatial_id: ::std::os::raw::c_int,
    #[doc = "The following member may be set by the application to associate"]
    #[doc = " data with this image."]
    pub user_priv: *mut ::std::os::raw::c_void,
    #[doc = "private"]
    pub img_data: *mut ::std::os::raw::c_uchar,
    #[doc = "private"]
    pub img_data_owner: ::std::os::raw::c_int,
    #[doc = "private"]
    pub self_allocd: ::std::os::raw::c_int,
    #[doc = "Metadata payloads associated with the image."]
    pub metadata: *mut aom_metadata_array_t,
    #[doc = "Frame buffer data associated with the image."]
    pub fb_priv: *mut ::std::os::raw::c_void,
}
#[doc = "Image Descriptor"]
pub type aom_image_t = aom_image;
extern "C" {
    #[doc = "Open a descriptor, allocating storage for the underlying image"]
    #[doc = ""]
    #[doc = " Returns a descriptor for storing an image of the given format. The"]
    #[doc = " storage for the image is allocated on the heap."]
    #[doc = ""]
    #[doc = " \\param[in]    img       Pointer to storage for descriptor. If this parameter"]
    #[doc = "                         is NULL, the storage for the descriptor will be"]
    #[doc = "                         allocated on the heap."]
    #[doc = " \\param[in]    fmt       Format for the image"]
    #[doc = " \\param[in]    d_w       Width of the image"]
    #[doc = " \\param[in]    d_h       Height of the image"]
    #[doc = " \\param[in]    align     Alignment, in bytes, of the image buffer and"]
    #[doc = "                         each row in the image (stride)."]
    #[doc = ""]
    #[doc = " \\return Returns a pointer to the initialized image descriptor. If the img"]
    #[doc = "         parameter is non-null, the value of the img parameter will be"]
    #[doc = "         returned."]
    pub fn aom_img_alloc(
        img: *mut aom_image_t,
        fmt: aom_img_fmt_t,
        d_w: ::std::os::raw::c_uint,
        d_h: ::std::os::raw::c_uint,
        align: ::std::os::raw::c_uint,
    ) -> *mut aom_image_t;
}


          = NULL;
static NoWind_SetImage              nowindusb_set_image             = NULL;
static NoWind_SetHarddiskImage      nowindusb_set_harddisk_image    = NULL;
static NoWind_Write                 nowindusb_write                 = NULL;
static NoWind_Read                  nowindusb_read                  = NULL;
static NoWind_SetDebugCb            nowindusb_set_debug_callback    = NULL;
static NoWind_SetAttribute          nowindusb_attribute             = NULL;
static HINSTANCE hLib = NULL;

void nowindLoadDll()
{
	// Load DLL.
	hLib = LoadLibrary("libnowindusbms.dll");

	if (!hLib)	{
        printf("Failed to load: libnowindusbms.dll\n");
		return;
	}

	nowindusb_startup   = (NoWind_StartUp) GetProcAddress(hLib, "nowindusb_startup");
	nowindusb_cleanup   = (NoWind_Cleanup) GetProcAddress(hLib, "nowindusb_cleanup");
	nowindusb_set_image = (NoWind_SetImage)GetProcAddress(hLib, "nowindusb_set_image");
    nowindusb_set_harddisk_image = (NoWind_SetHarddiskImage)GetProcAddress(hLib, "nowindusb_set_harddisk_image");
	nowindusb_write     = (NoWind_Write)   GetProcAddress(hLib, "nowindusb_write");
	nowindusb_read      = (NoWind_Read)    GetProcAddress(hLib, "nowindusb_read");
    nowindusb_set_debug_callback = (NoWind_SetDebugCb) GetProcAddress(hLib, "nowindusb_set_debug_callback");
    nowindusb_attribute = (NoWind_SetAttribute) GetProcAddress(hLib, "nowindusb_attribute");
}

void nowindUnloadDll()
{
    nowindusb_startup   = NULL;
    nowindusb_cleanup   = NULL;
    nowindusb_set_image = NULL;
    nowindusb_write     = NULL;
    nowindusb_read      = NULL;
    nowindusb_attribute = NULL;
    nowindusb_set_harddisk_image = NULL;

    if (hLib != NULL) {
	    FreeLibrary(hLib);
	    hLib = NULL;
    }
}

static void debugCb(const char* message)
{
    printf(message);
}

#endif

typedef struct {
    int deviceHandle;
    AmdFlash* amdFlash;
    int slot;
    int sslot;
    int startPage;
    int deviceId[4];
    UInt8 romMapper;
    UInt8* flashPage;
} RomMapperNoWind;

static int nowindLoaded = 0;

#ifdef USE_NOWIND_DLL
static void diskInsert(RomMapperNoWind* rm, int driveId, int driveNo)
{
    NoWindProperties* prop = &propGetGlobalProperties()->nowind;
    FileProperties* disk = &propGetGlobalProperties()->media.disks[diskGetHdDriveId(driveId, driveNo)];
    int diskHasPartitionTable = 0;
    FILE* f;

    UInt8 header[512];

    f = fopen(disk->fileName, "rb");
    if (f == NULL) {
        rm->deviceId[driveNo] = -1;
        return;
    }
    rm->deviceId[driveNo] = deviceIdAlloc();
    if (rm->deviceId[driveNo] < 0) {
        fclose(f);
        return;
    }

    if (fread(header, 1, sizeof(header), f) != 0) {
        diskHasPartitionTable =
                header[510] == 0x55 &&
                header[511] == 0xaa;
    }
    fclose(f);

    if (diskHasPartitionTable) {
        if (nowindusb_set_harddisk_image) {
            nowindusb_set_harddisk_image(rm->deviceId[driveNo], prop->partitionNumber,
                prop->ignoreBootFlag != 0, disk->fileName);
        }
    }


.long	0x1badb002
	/* flags */
	.long	(1 << 16)
	/* checksum */
	.long	-0x1BADB002 - (1 << 16)
	/* header addr */
	.long	multiboot_header - _x86boot_start + CONFIG_SYS_TEXT_BASE
	/* load addr */
	.long	CONFIG_SYS_TEXT_BASE
	/* load end addr */
	.long	0
	/* bss end addr */
	.long	0
	/* entry addr */
	.long	CONFIG_SYS_TEXT_BASE

#ifdef CONFIG_X86_LOAD_FROM_32_BIT
	/*
	 * The following Global Descriptor Table is just enough to get us into
	 * 'Flat Protected Mode' - It will be discarded as soon as the final
	 * GDT is setup in a safe location in RAM
	 */
gdt_ptr2:
	.word	0x1f		/* limit (31 bytes = 4 GDT entries - 1) */
	.long	gdt_rom2	/* base */

	/* Some CPUs are picky about GDT alignment... */
	.align	16
.globl gdt_rom2
gdt_rom2:
	/*
	 * The GDT table ...
	 *
	 *	 Selector	Type
	 *	 0x00		NULL
	 *	 0x08		Unused
	 *	 0x10		32bit code
	 *	 0x18		32bit data/stack
	 */
	/* The NULL Desciptor - Mandatory */
	.word	0x0000		/* limit_low */
	.word	0x0000		/* base_low */
	.byte	0x00		/* base_middle */
	.byte	0x00		/* access */
	.


/*
 * Copyright (c) 2009-2010 Appcelerator, Inc. All Rights Reserved.
 *
 * 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 MenuMac_h
#define MenuMac_h

#include "../Menu.h"

#import <AppKit/NSMenu.h>

namespace Titanium {

class MenuMac : public Menu {
public:
    MenuMac();
    ~MenuMac();

    void AppendItemImpl(AutoPtr<MenuItem> item);
    void InsertItemAtImpl(AutoPtr<MenuItem> item, unsigned int index);
    void RemoveItemAtImpl(unsigned int index);
    void ClearImpl();

    NSMenu* CreateNativeNow(bool registerMenu=true);
    NSMenu* CreateNativeLazily(bool registerMenu=true);
    void FillNativeMainMenu(NSMenu* defaultMenu, NSMenu* nativeMainMenu);
    static void CopyMenu(NSMenu* from, NSMenu* to);
    static NSMenuItem* CopyMenuItem(NSMenuItem* item);

    void AddChildrenToNativeMenu(
        NSMenu* nativeMenu, bool registerMenu=true, bool isMainMenu=false);
    void AddChildrenToNSArray(NSMutableArray* array);
    void DestroyNative(NSMenu* nativeMenu);
    void UpdateNativeMenus();
    static void ClearNativeMenu(NSMenu* nativeMenu);
    static void UpdateNativeMenu(NSMenu* nativeMenu);
    static NSMenu* GetWindowMenu(NSMenu* nsMenu);
    static NSMenu* GetAppleMenu(NSMenu* nsMenu);
    static NSMenu* GetServicesMenu(NSMenu* nsMenu);
    static void EnsureAllItemsHaveSubmenus(NSMenu* menu);
    static void FixWindowMenu(NSMenu* menu);
    static bool IsNativeMenuAMainMenu(NSMenu* menu);
    static void SetupInspectorItem(NSMenu* menu);
    static void ReplaceAppNameStandinInMenu(NSMenu* menu, NSString* appName);

private:
    void Clear();
    NSMenu* CreateNative(bool lazy, bool registerMenu);
    std::vector<NSMenu*> nativeMenus;
};

} // namespace Titanium

#endif


document))
	assert.True(t, priority.IsContent())
	assert.False(t, ignored.IsContent())
}

func Test_Filter_DocFilter_LIF_IrrelevantLeadImage(t *testing.T) {
	builder := testutil.NewWebDocumentBuilder()
	builder.AddText("text 1").SetIsContent(true)
	builder.AddText("text 2").SetIsContent(true)
	priority := builder.AddLeadImage()

	document := builder.Build()
	assert.False(t, docfilter.NewLeadImageFinder(nil).Process(document))
	assert.False(t, priority.IsContent())
}

func Test_Filter_DocFilter_LIF_MultipleLeadImageCandidatesWithinTexts(t *testing.T) {
	builder := testutil.NewWebDocumentBuilder()
	builder.AddText("text 1").SetIsContent(true)
	priority := builder.AddLeadImage()
	builder.AddText("text 2").SetIsContent(true)
	ignored := builder.AddLeadImage()

	document := builder.Build()
	assert.True(t, docfilter.NewLeadImageFinder(nil).Process(document))
	assert.True(t, priority.IsContent())
	assert.False(t, ignored.IsContent())
}

func Test_Filter_DocFilter_LIF_IrrelevantLeadImageWithContentImage(t *testing.T) {
	builder := testutil.NewWebDocumentBuilder()
	smallImage := builder.AddImage()
	smallImage.SetIsContent(true)
	largeImage := builder.AddLeadImage()
	builder.AddNestedText("text 1").SetIsContent(true)

	document := builder.Build()
	assert.False(t, docfilter.NewLeadImageFinder(nil).Process(document))
	assert.True(t, smallImage.IsContent())
	assert.False(t, largeImage.IsContent())
}

func Test_Filter_DocFilter_LIF_IrrelevantLeadImageAfterSingleText(t *testing.T) {
	builder := testutil.NewWebDocumentBuilder()
	wi := builder.AddImage()
	builder.AddNestedText("text 1").SetIsContent(true)

	document := builder.Build()
	assert.False(t, docfilter.NewLeadImageFinder(nil).Process(document))
	assert.False(t, wi.IsContent())
}
// ORIGINAL: java/webdocument/filters/LeadImageFinder.java

// Copyright (c) 2020 Markus Mobius
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.

// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

package docfilter

import (
	"fmt"

	"github.com/go-shiori/dom"
	"github.com/markusmobius/go-domdistiller/internal/filter/docfilter/scorer"
	"github.com/markusmobius/go-domdistiller/internal/logu


/*
 * Copyright (C) 2004, 2005, 2009 Apple Inc. All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

#ifndef SVGRenderTreeAsText_h
#define SVGRenderTreeAsText_h

#include "platform/text/TextStream.h"

namespace blink {

class RenderObject;
class RenderSVGGradientStop;
class RenderSVGImage;
class RenderSVGInlineText;
class RenderSVGShape;
class RenderSVGRoot;
class RenderSVGText;

// functions used by the main RenderTreeAsText code
void write(TextStream&, const RenderSVGShape&, int indent);
void write(TextStream&, const RenderSVGRoot&, int indent);
void writeSVGGradientStop(TextStream&, const RenderSVGGradientStop&, int indent);
void writeSVGResourceContainer(TextStream&, const RenderObject&, int indent);
void writeSVGContainer(TextStream&, const RenderObject&, int indent);
void writeSVGImage(TextStream&, const RenderSVGImage&, int indent);
void writeSVGInlineText(TextStream&, const RenderSVGInlineText&, int indent);
void writeSVGText(TextStream&, const RenderSVGText&, int indent);
void writeResources(TextStream&, const RenderObject&, int indent);

} // namespace blink

#endif // SVGRenderTreeAsText_h


terator] for reading runes (integer Unicode code points) out of a Dart
  * string.
  */
class RuneIterator implements BidirectionalIterator<int> {
  /** String being iterated. */
  final String string;
  /** Position before the current code point. */
  int _position;
  /** Position after the current code point. */
  int _nextPosition;
  /**
   * Current code point.
   *
   * If the iterator has hit either end, the [_currentCodePoint] is null
   * and [: _position == _nextPosition :].
   */
  int _currentCodePoint;

  /** Create an iterator positioned at the beginning of the string. */
  RuneIterator(String string)
      : this.string = string, _position = 0, _nextPosition = 0;

  /**
   * Create an iterator positioned before the [index]th code unit of the string.
   *
   * When created, there is no [current] value.
   * A [moveNext] will use the rune starting at [index] the current value,
   * and a [movePrevious] will use the rune ending just before [index] as the
   * the current value.
   *
   * The [index] position must not be in the middle of a surrogate pair.
   */
  RuneIterator.at(String string, int index)
      : string = string, _position = index, _nextPosition = index {
    RangeError.checkValueInInterval(index, 0, string.length);
    _checkSplitSurrogate(index);
  }

  /** Throw an error if the index is in the middle of a surrogate pair. */
  void _checkSplitSurrogate(int index) {
    if (index > 0 && index < string.length &&
        _isLeadSurrogate(string.codeUnitAt(index - 1)) &&
        _isTrailSurrogate(string.codeUnitAt(index))) {
      throw new ArgumentError('Index inside surrogate pair: $index');
    }
  }

  /**
   * Returns the starting position of the current rune in the string.
   *
   * Returns null if the [current] rune is null.
   */
  int get rawIndex => (_position != _nextPosition) ? _position : null;

  /**
   * Resets the iterator to the rune at the specified index of the string.
   *
   * Setting a negative [rawIndex], or one greater than or equal to
   * [:string.length:],
   * is an error. So is setting it in the middle of a surrogate pair.
   *
   * Setting the position to the end of then string will set [current] to null.
   */
  void set rawIndex(int rawIndex) {
    RangeError.checkValidIndex(rawIndex, string, "rawIndex");
    reset(rawIndex);
    moveNext();
  }

  /**
   * Resets the iterator to the given index into the string.
   *
   * After this the [current] value is unset.
   * You must call [moveNext] make the rune at the position current,
   * or [movePrevious] for the last rune before the position.
   *
   * Setting a negative [rawIndex], or one greater than [:string.length:],
   * is an error. So is setting it in the middle of a surrogate pair.
   */
  void reset([int rawIndex = 0]) {
    RangeError.checkValueInInterval(rawIndex, 0, string.length, "rawIndex");
    _checkSplitSurrogate(rawIndex);
    _position = _nextPosition = rawIndex;
    _currentCodePoint = null;
  }

  /** The rune (integer Unicode code point) starting at the current position in
   *  the string.
   */
  int get current => _currentCodePoint;

  /**
   * The number of code units comprising the current rune.
   *
   * Returns zero if there is no current rune ([current] is null).
   */
  int get currentSize => _nextPosition - _position;

  /**
   * A string containing the current rune.
   *
   * For runes


t()

        weights = state['state_dict'] if 'state_dict' in state.keys() else state

        for k, v in weights.items():
            name = k[7:] if 'module' in k and not resume else k
            new_state_dict[name] = v

        if no_strict:
            net.load_state_dict(new_state_dict, strict=False)  # ignore intermediate output
        else:
            net.load_state_dict(new_state_dict)  # optimizer has no argument `strict`

        if return_epoch_iter:
            epoch = state['epoch'] if 'epoch' in state.keys() else None
            num_iter = state['num_iter'] if 'num_iter' in state.keys() else None
            best_epe = state['best_epe'] if 'best_epe' in state.keys() else None
            best_epoch = state['best_epoch'] if 'best_epoch' in state.keys() else None
            return epoch, num_iter, best_epe, best_epoch

def resume_latest_ckpt(checkpoint_dir, net, net_name):
    ckpts = sorted(glob(checkpoint_dir + '/' + net_name + '*.pth'))

    if len(ckpts) == 0:
        raise RuntimeError('=> No checkpoint found while resuming training')

    latest_ckpt = ckpts[-1]
    print('=> Resume latest %s checkpoint: %s' % (net_name, os.path.basename(latest_ckpt)))
    epoch, num_iter, best_epe, best_epoch = load_pretrained_net(net, latest_ckpt, True, True)

    return epoch, num_iter, best_epe, best_epoch

def fix_net_parameters(net):
    for param in net.parameters():
        param.requires_grad = False

def count_parameters(model):
    num = sum(p.numel() for p in model.parameters() if p.requires_grad)
    return num

def filter_specific_params(kv):
    specific_layer_name = ['offset_conv.weight', 'offset_conv.bias']
    for name in specific_layer_name:
        if name in kv[0]:
            return True
    return False

def filter_base_params(kv):
    specific_layer_name = ['offset_conv.weight', 'offset_conv.bias']
    for name in specific_layer_name:
        if name in kv[0]:
            return False
    return True

def get_logger():
    logger_name = "main-logger"
    logger = logging.getLogger(logger_name)
    logger.setLevel(logging.INFO)
    handler = logging.StreamHandler()
    # fmt = "[%(asctime)s %(levelname)s %(filename)s line %(lineno)d %(process)d] %(message)s"
    fmt = "[%(asctime)s] %(message)s"
    handler.setFormatter(logging.Formatter(fmt))
    logger.addHandler(handler)
    return logger


fuzzysort.cleanup()

    assert(fuzzysort.go('a', ['a', 'a']).length===2, 'length')
    assert(fuzzysort.go('a', ['a', 'a'], {limit: 1}).length===1, 'length')

    test('noodle monster', 'nomon', null, 'qrs')
    test('noodle monster '.repeat(100), null, 'a')
    test('APPLES', 'app', 'l', 'E')
    test('C:/users/farzher/dropbox/someotherfolder/pocket rumble refactor/Run.bat', 'po', 'po ru', 'pr', 'prrun', 'ocket umble')
    test('123abc', '12', '1', 'a', null, 'cc')
    test('Thoug ht', 'ht', 'hh')
    test('az bx cyy y', 'az', 'ab', 'ay', 'ax', 'ayy')
    testSimple('sax saxax', 'sx') // this is caused if isConsec gets messedup
    testSimple('aabb b b b', 'abbbb')
    test('aab x', 'ab') // this could cause a to get pushed forward then strict match ab in the middle
    test('aabb b', 'abb') // this is cause if isConsec gets messedup

    var tmpObjs = [{'s.s':'str', arr:[{o:'obj'}]}]
    // key
    var tmp = fuzzysort.go('str', tmpObjs, {key: 's.s'})[0]
    assert(tmp.score===1, 'goKey s.s')
    var tmp = fuzzysort.go('obj', tmpObjs, {key: 'arr.0.o'})[0]
    assert(tmp.score===1, 'goKey arr.0.o')
    var tmp = fuzzysort.go('str', tmpObjs, {key: 'arr.0.o'})[0]
    assert(tmp===undefined, 'goKey')
    var tmp = fuzzysort.go('obj', tmpObjs, {key: ['arr', '0', 'o']})[0]
    assert(tmp.score===1, 'goKey arr.0.o')

    // keys
    var tmp = fuzzysort.go('str', tmpObjs, {keys: ['s.s']})[0]
    assert(tmp.score===1, 'goKeys s.s')
    var tmp = fuzzysort.go('obj', tmpObjs, {keys: ['arr.0.o']})[0]
    assert(tmp.score===1, 'goKeys arr.0.o')
    var tmp = fuzzysort.go('str', tmpObjs, {keys: ['arr.0.o']})[0]
    assert(tmp===undefined, 'goKeys')
    var tmp = fuzzysort.go('obj', tmpObjs, {keys: [ ['arr', '0', 'o'] ]})[0]
    assert(tmp.score===1, 'goKeys arr.0.o')
    var tmp = fuzzysort.go('obj', tmpObjs, {keys: [ 's.s', 'arr.0.o' ]})[0]
    assert(tmp.score===1, 'goKeys s.s || arr.0.o')

    var targets = [
      {name: 'Typography', version: '3.1.0'},
      {name: 'Typography', version: '2.1.0'},
    ]
    var results = fuzzysort.go('typography', targets, {key: 'name'})
    assert(results[0].obj.version != results[1].obj.version, 'key same object bug')
    var results = fuzzysort.go('typography', targets, {keys: ['name']})
    assert(results[0].obj.version != results[1].obj.version, 'keys same object bug')

    // missing key / weird key
    var targets = [
      {},
      {name: {}},
      {name: 'Typography'},
    ]
    var results = fuzzysort.go('typography', targets, {key: 'name'})
    var results = fuzzysort.go('typography', targets, {keys: ['name']})

    // key/keys is a Symbol AND the target is a prepared empty string
    var s = Symbol()
    va


ULKAN_HPP_NOEXCEPT
  {
    return CommandPoolResetFlags( bit0 ) ^ bit1;
  }

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CommandPoolResetFlags operator~( CommandPoolResetFlagBits bits ) VULKAN_HPP_NOEXCEPT
  {
    return ~( CommandPoolResetFlags( bits ) );
  }

  VULKAN_HPP_INLINE std::string to_string( CommandPoolResetFlags value  )
  {
    if ( !value ) return "{}";
    std::string result;

    if ( value & CommandPoolResetFlagBits::eReleaseResources ) result += "ReleaseResources | ";
    return "{ " + result.substr(0, result.size() - 3) + " }";
  }

  enum class CommandPoolTrimFlagBits
  {};

  VULKAN_HPP_INLINE std::string to_string( CommandPoolTrimFlagBits )
  {
    return "(void)";
  }

  using CommandPoolTrimFlags = Flags<CommandPoolTrimFlagBits, VkCommandPoolTrimFlags>;

  using CommandPoolTrimFlagsKHR = CommandPoolTrimFlags;

  VULKAN_HPP_INLINE std::string to_string( CommandPoolTrimFlags  )
  {
    return "{}";
  }

  enum class CompositeAlphaFlagBitsKHR
  {
    eOpaque = VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR,
    ePreMultiplied = VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR,
    ePostMultiplied = VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR,
    eInherit = VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR
  };

  VULKAN_HPP_INLINE std::string to_string( CompositeAlphaFlagBitsKHR value )
  {
    switch ( value )
    {
      case CompositeAlphaFlagBitsKHR::eOpaque : return "Opaque";
      case CompositeAlphaFlagBitsKHR::ePreMultiplied : return "PreMultiplied";
      case CompositeAlphaFlagBitsKHR::ePostMultiplied : return "PostMultiplied";
      case CompositeAlphaFlagBitsKHR::eInherit : return "Inherit";
      default: return "invalid";
    }
  }

  using CompositeAlphaFlagsKHR = Flags<CompositeAlphaFlagBitsKHR, VkCompositeAlphaFlagsKHR>;

  template <> struct FlagTraits<CompositeAlphaFlagBitsKHR>
  {
    enum
    {
      allFlags = VkFlags(CompositeAlphaFlagBitsKHR::eOpaque) | VkFlags(CompositeAlphaFlagBitsKHR::ePreMultiplied) | VkFlags(CompositeAlphaFlagBitsKHR::ePostMultiplied) | VkFlags(CompositeAlphaFlagBitsKHR::eInherit)
    };
  };

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CompositeAlphaFlagsKHR operator|( CompositeAlphaFlagBitsKHR bit0, CompositeAlphaFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
  {
    return CompositeAlphaFlagsKHR( bit0 ) | bit1;
  }

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CompositeAlphaFlagsKHR operator&( CompositeAlphaFlagBitsKHR bit0, CompositeAlphaFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
  {
    return CompositeAlphaFlagsKHR( bit0 ) & bit1;
  }

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CompositeAlphaFlagsKHR operator^( CompositeAlphaFlagBitsKHR bit0, CompositeAlphaFlagBitsKHR bit1 ) VULKAN_HPP_NOEXCEPT
  {
    return CompositeAlphaFlagsKHR( bit0 ) ^ bit1;
  }

  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR CompositeAlphaFlagsKHR operator~( CompositeAlphaFlagBitsKHR bits ) VULKAN_HPP_NOEXCEPT
  {
    return ~( CompositeAlphaFlagsKHR( bits )


lang.llvm.org/doxygen/classclang_1_1CXXCatchStmt.html">CXXCatchStmt>	isCatchAll

Matches a C++ catch statement that has a catch-all handler.

Given
  try {
    // ...
  } catch (int) {
    // ...
  } catch (...) {
    // ...
  }
cxxCatchStmt(isCatchAll()) matches catch(...) but not catch(int).

Matcher<CXXConstructExpr>	argumentCountIs	unsigned N

Checks that a call expression or a constructor call expression has
a specific number of arguments (including absent default arguments).

Example matches f(0, 0) (matcher = callExpr(argumentCountIs(2)))
  void f(int x, int y);
  f(0, 0);

Matcher<CXXConstructExpr>	isListInitialization

Matches a constructor call expression which uses list initialization.

Matcher<CXXConstructExpr>	requiresZeroInitialization

Matches a constructor call expression which requires
zero initialization.

Given
void foo() {
  struct point { double x; double y; };
  point pt[2] = { { 1.0, 2.0 } };
}
initListExpr(has(cxxConstructExpr(requiresZeroInitialization()))
will match the implicit array filler for pt[1].

Matcher<CXXConstructorDecl>	isCopyConstructor

Matches constructor declarations that are copy constructors.

Given
  struct S {
    S(); // #1
    S(const S &); // #2
    S(S &&); // #3
  };
cxxConstructorDecl(isCopyConstructor()) will match #2, but not #1 or #3.

Matcher<CXXConstructorDecl>	isDefaultConstructor

<td colspan


9MvcJevgreP1RC7__fSVYR,%function
b__MA9MvcJevgreP1RC7__fSVYR:
nop
.text
.globl b__MA9MvcJevgreP2RBF_
.type b__MA9MvcJevgreP2RBF_,%function
b__MA9MvcJevgreP2RBF_:
nop
.text
.globl b__M12RaqVgrengvbaCi
.type b__M12RaqVgrengvbaCi,%function
b__M12RaqVgrengvbaCi:
nop
.text
.globl b__MA10MvcNepuvirQ2Ri
.type b__MA10MvcNepuvirQ2Ri,%function
b__MA10MvcNepuvirQ2Ri:
nop
.text
.globl b__MA31MvcNepuvirFgernzRagelPbzcerffrqQ0Ri
.type b__MA31MvcNepuvirFgernzRagelPbzcerffrqQ0Ri,%function
b__MA31MvcNepuvirFgernzRagelPbzcerffrqQ0Ri:
nop
.text
.globl b__MA31MvcNepuvirFgernzRagelPbzcerffrqQ2Ri
.type b__MA31MvcNepuvirFgernzRagelPbzcerffrqQ2Ri,%function
b__MA31MvcNepuvirFgernzRagelPbzcerffrqQ2Ri:
nop
.text
.globl b__M11BcraNepuvirCXpCC10MvcNepuvir
.type b__M11BcraNepuvirCXpCC10MvcNepuvir,%function
b__M11BcraNepuvirCXpCC10MvcNepuvir:
nop
.text
.globl b__M15RkgenpgGbZrzbelC10MvcNepuvirC8MvcRagelCuw
.type b__M15RkgenpgGbZrzbelC10MvcNepuvirC8MvcRagelCuw,%function
b__M15RkgenpgGbZrzbelC10MvcNepuvirC8MvcRagelCuw:
nop
.text
.globl b__MA10MvcNepuvir26VavgvnyvmrPragenyQverpgbelRyz
.type b__MA10MvcNepuvir26VavgvnyvmrPragenyQverpgbelRyz,%function
b__MA10MvcNepuvir26VavgvnyvmrPragenyQverpgbelRyz:
nop
.text
.globl b__MA10MvcNepuvirP1Rvo
.type b__MA10MvcNepuvirP1Rvo,%function
b__MA10MvcNepuvirP1Rvo:
nop
.text
.weak b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRRP2Rz
.type b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRRP2Rz,%function
b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRRP2Rz:
nop
.data
.globl b__MGI31MvcNepuvirFgernzRagelPbzcerffrq
.type b__MGI31MvcNepuvirFgernzRagelPbzcerffrq,%object
b__MGI31MvcNepuvirFgernzRagelPbzcerffrq:
.space __SIZEOF_POINTER__
.text
.globl b__MA9MvcJevgre17FgnegNyvtarqRagelRAFg3__117onfvp_fgevat_ivrjVpAF0_11pune_genvgfVpRRRRzw
.type b__MA9MvcJevgre17FgnegNyvtarqRa


}
 * @category gamuts
 */
export const Rec2020Gamut = {
  space: Rec2020,
  coefficients: OKLab_to_linear_Rec2020_coefficients,
};
import {
  linear_DisplayP3_to_LMS_M,
  linear_DisplayP3_to_XYZ_M,
  LMS_to_linear_DisplayP3_M,
  XYZ_to_linear_DisplayP3_M,
  OKLab_to_linear_DisplayP3_coefficients,
} from "../conversion_matrices.js";
import { sRGBGammaToLinearVec3, sRGBLinearToGammaVec3 } from "./util.js";

/**
 * The Display-P3 color space in linear form, without a transfer function, aliased as "display-p3-linear".
 * @type {ColorSpace}
 * @category spaces
 */
export const DisplayP3Linear = {
  id: "display-p3-linear",
  toXYZ_M: linear_DisplayP3_to_XYZ_M,
  fromXYZ_M: XYZ_to_linear_DisplayP3_M,
  toLMS_M: linear_DisplayP3_to_LMS_M,
  fromLMS_M: LMS_to_linear_DisplayP3_M,
};

/**
 * The Display-P3 color space, with a transfer function, aliased as "display-p3". Inherits from the {@link DisplayP3Linear} color space.
 * @type {ColorSpace}
 * @category spaces
 */
export const DisplayP3 = {
  id: "display-p3",
  base: DisplayP3Linear,
  toBase: sRGBGammaToLinearVec3,
  fromBase: sRGBLinearToGammaVec3,
};

/**
 * A color gamut for the {@link DisplayP3} color space.
 * @type {ColorGamut}
 * @category gamuts
 */
export const DisplayP3Gamut = {
  space: DisplayP3,
  coefficients: OKLab_to_linear_DisplayP3_coefficients,
};
import { vec3 } from "../util.js";
import {
  linear_A98RGB_to_XYZ_M,
  XYZ_to_linear_A98RGB_M,
  linear_A98RGB_to_LMS_M,
  LMS_to_linear_A98RGB_M,
  OKLab_to_linear_A98RGB_coefficients,
} from "../conversion_matrices.js";

const A98RGBToLinear = (val) => {
  let sign = val < 0 ? -1 : 1;
  let abs = Math.abs(val);
  return sign * Math.pow(abs, 563 / 256);
};

const A98RGBToGamma = (val) => {
  let sign = val < 0 ? -1 : 1;
  let abs = Math.abs(val);
  return sign * Math.pow(abs, 256 / 563);
};

/**
 * The Adobe RGB (1998) color space in linear form, without a transfer function, aliased as "a98-rgb-linear".
 * @type {ColorSpace}
 * @category spaces
 */
export const A98RGBLinear = {
  id: "a98-rgb-linear",
  toXYZ_M: linear_A98RGB_to_XYZ_M,
  fromXYZ_M: XYZ_to_linear_A98RGB_M,
  toLMS_M: linear_A98RGB_to_LMS_M,
  fromLMS_M: LMS_to_linear_A98RGB_M,
};

/**
 * The Adobe RGB (1998) color space, with a transfer function, aliased as "a98-rgb". Inherits from the {@link A98RGBLinear} color space.
 * @type {ColorSpace}
 * @category spaces
 */
export const A98RGB = {
  id: "a98-rgb",
  base: A98RGBLinear,
  toBase: (vec, out = vec3()) => {
    out[0] = A98RGBToLinear(vec[0]);
    out[1] = A98RGBToLinear(vec[1]);
    out[2] = A98RGBToLinear(vec[2]);
    return out;
  },
  fromBase: (vec, out = vec3()) => {
    out[0] = A98RGBToGamma(vec[0]);
    out[1] = A98RGBTo


 error) {
	if r.endpoint != nil {
		return *r.endpoint, nil
	}
	q := r.query.Select("endpoint")
	for i := len(opts) - 1; i >= 0; i-- {
		// `port` optional argument
		if !querybuilder.IsZeroValue(opts[i].Port) {
			q = q.Arg("port", opts[i].Port)
		}
		// `scheme` optional argument
		if !querybuilder.IsZeroValue(opts[i].Scheme) {
			q = q.Arg("scheme", opts[i].Scheme)
		}
	}

	var response string

	q = q.Bind(&response)
	return response, q.Execute(ctx)
}

// Retrieves a hostname which can be used by clients to reach this container.
func (r *Service) Hostname(ctx context.Context) (string, error) {
	if r.hostname != nil {
		return *r.hostname, nil
	}
	q := r.query.Select("hostname")

	var response string

	q = q.Bind(&response)
	return response, q.Execute(ctx)
}

// A unique identifier for this Service.
func (r *Service) ID(ctx context.Context) (ServiceID, error) {
	if r.id != nil {
		return *r.id, nil
	}
	q := r.query.Select("id")

	var response ServiceID

	q = q.Bind(&response)
	return response, q.Execute(ctx)
}

// XXX_GraphQLType is an internal function. It returns the native GraphQL type name
func (r *Service) XXX_GraphQLType() string {
	return "Service"
}

// XXX_GraphQLIDType is an internal function. It returns the native GraphQL type name for the ID of this object
func (r *Service) XXX_GraphQLIDType() string {
	return "ServiceID"
}

// XXX_GraphQLID is an internal function. It returns the underlying type ID
func (r *Service) XXX_GraphQLID(ctx context.Context) (string, error) {
	id, err := r.ID(ctx)
	if err != nil {
		return "", err
	}
	return string(id), nil
}

func (r *Service) MarshalJSON() ([]byte, error) {
	id, err := r.ID(marshalCtx)
	if err != nil {
		return nil, err
	}
	return json.Marshal(id)
}

// Retrieves the list of ports provided by the service.
func (r *Service) Ports(ctx context.Context) ([]Port, error) {
	q := r.query.Select("ports")

	q = q.Select("id")

	type ports struct {
		Id PortID
	}

	convert := func(fields []ports) []Port {
		out := []Port{}

		for i := range fields {
			val := Port{id: &fields[i].Id}
			val.query = q.Root().Select("loadPortFromID").Arg("id", fields[i].Id)
			out = append(out, val)
		}

		return out
	}
	var response []ports

	q = q.Bind(&response)

	err := q.Execute(ctx)
	if err != nil {
		return nil, err
	}

	return convert(response), nil
}

// Start the service and wait for its health checks to succeed.
//
// Services bound to a Container do not need to be manually started.
func (r *Service) Start(ctx context.Context) (*Service, error) {
	q := r.query.Select("start")

	var id ServiceID
	if err := q.Bind(&id).Execute(ctx); err != nil {
		return nil, err
	}
	return &Service{
		query: q.Root().Select("loadServiceFromID").Arg("id", id),
	}, nil
}

// ServiceStopOpts contains options for Service.Stop
type ServiceStopOpts struct {
	// Immediately kill the service without waiting for a graceful exit
	Kill bool
}

// Stop the servic


tpRequest::new().unwrap(),
            state: state,
            on_load: None,
        }
    }
}
use x86::{Reg, X86Arg, X86,
          CALLEE_SAVE_REGS};
use ast::CC;

fn display_reg(reg: &Reg) -> String {
    match reg {
        Reg::AL => "al",
        Reg::RAX => "rax",
        Reg::RBX => "rbx",
        Reg::RBP => "rbp",
        Reg::RDX => "rdx",
        Reg::RCX => "rcx",
        Reg::RDI => "rdi",
        Reg::RSI => "rsi",
        Reg::R8 => "r8",
        Reg::R9 => "r9",
        Reg::R10 => "r10",
        Reg::R11 => "r11",
        Reg::R12 => "r12",
        Reg::R13 => "r13",
        Reg::R14 => "r14",
        Reg::R15 => "r15",
    }.to_string()
}

fn print_x86_arg(arg: X86Arg) -> String {
    match arg {
        X86Arg::Reg(r) => format!("{}", display_reg(&r)),
        X86Arg::Imm(n) => format!("{}", n),
        X86Arg::RegOffset(r, offset) => {
            if offset < 0 {
                format!("QWORD [{}{}]",
                        display_reg(&r),
                        offset)
            }
            else {
                format!("QWORD [{}+{}]",
                        display_reg(&r),
                        offset)
            }
        },
        X86Arg::FuncName(f) => format!("{}", f),
        X86Arg::GlobalVal(g) => format!("QWORD [rel {}]", g),
        _ => panic!("invalid arg type: {:?}", arg),
    }
}

fn print_cc(cc: CC) -> String {
    match cc {
        CC::E => "e",
        CC::L => "l",
        CC::LE => "le",
        CC::G => "g",
        CC::GE => "ge",
    }.to_string()
}

fn print_instr(instr: X86) -> String {
    let instr_string = match instr.clone() {
        X86::Mov(dest, src) => format!("mov {}, {}",
                                       print_x86_arg(dest),
                                       print_x86_arg(src)),
        X86::Add(dest, src) => format!("add {}, {}",
                                       print_x86_arg(dest),
                                       print_x86_arg(src)),
        X86::And(dest, src) => format!("and {}, {}",
                                       print_x86_arg(dest),
                                       print_x86_arg(src)),
        X86::Sub(dest, src) => format!("sub {}, {}",
                                       print_x86_arg(dest),
                                       print_x86_arg(src)),
        X86::Cmp(left, right) => format!("cmp {}, {}",
                                        print_x86_arg(left),
                                        print_x86_arg(right)),
        X86::JmpIf(cc, label) => format!("j{} {}",
                                         print_cc(cc),
                                         label),
        X86::Jmp(label) => format!("jmp {}", label),
        X86::Jne(label) => format!("jne {}", label),
        X86::Je(label) => format!("je {}", label),
        X86::Label(label) => format!("{}:", label),
        X86::Call(label) => format!("call {}", print_x86_arg(label)),
        X86::Set(X86Arg::Reg(r), cc) =>
            format!("set{}


<CgbSound+0x22c>
    196a:	20fc      	20fc	mov	r0, #252
    196c:	4008      	4008	and	r0, r1
    196e:	2200      	2200	mov	r2, #0
    1970:	7020      	7020	strb	r0, [r4, #0]
    1972:	79e1      	79e1	ldrb	r1, [r4, #7]
    1974:	72e1      	72e1	strb	r1, [r4, #11]
    1976:	20ff      	20ff	mov	r0, #255
    1978:	4008      	4008	and	r0, r1
    197a:	2800      	2800	cmp	r0, #0
    197c:	d021      	d021	beq	19c2 <CgbSound+0x25e>
    197e:	2001      	2001	mov	r0, #1
    1980:	7f61      	7f61	ldrb	r1, [r4, #29]
    1982:	4308      	4308	orr	r0, r1
    1984:	7760      	7760	strb	r0, [r4, #29]
    1986:	2e03      	2e03	cmp	r6, #3
    1988:	d078      	d078	beq	1a7c <CgbSound+0x318>
    198a:	79e2      	79e2	ldrb	r2, [r4, #7]
    198c:	9206      	9206	str	r2, [sp, #24]
    198e:	e075      	e075	b	1a7c <CgbSound+0x318>
    1990:	7ae0      	7ae0	ldrb	r0, [r4, #11]
    1992:	2800      	2800	cmp	r0, #0
    1994:	d172      	d172	bne	1a7c <CgbSound+0x318>
    1996:	2e03      	2e03	cmp	r6, #3
    1998:	d103      	d103	bne	19a2 <CgbSound+0x23e>
    199a:	2001      	2001	mov	r0, #1
    199c:	7f61      	7f61	ldrb	r1, [r4, #29]
    199e:	4308      	4308	orr	r0, r1
    19a0:	7760      	7760	strb	r0, [r4, #29]
    19a2:	1c20      	1c20	mov	r0, r4		(add r0, r4, #0)
    19a4:	feaaf7ff 	f7ff	bl	16fc <CgbModVol>
    19a8:	2003      	2003	mov	r0, #3
    19aa:	7822      	7822	ldrb	r2, [r4, #0]
    19ac:	4010      	4010	and	r0, r2
    19ae:	2800      	2800	cmp	r0, #0
    19b0:	d11d      	d11d	bne	19ee <CgbSound+0x28a>
    19b2:	7a60      	7a60	ldrb	r0, [r4, #9]
    19b4:	3801      	3801	sub	r0, #1
    19b6:	7260      	7260	strb	r0, [r4, #9]
    19b8:	21ff      	21ff	mov	r1, #255
    19ba:	4008      	4008	and	r0, r1
    19bc:	0600      	0600	lsl	r0, r0, #24
    19be:	2800      	2800	cmp	r0, #0
    19c0:	dc13      	dc13	bgt


FromHTML()

					if ( element.getAttribute( 'class' ).InArray(['fck_mw_special',
					                                              'fck_mw_syntaxhighlight' //17.02.14 RL, 03.11.24 RL Was source
																 ])
                       )
					{
                        var tagName = element.getAttribute('_fck_mw_tagname') || '',
                            tagType = element.getAttribute('_fck_mw_tagtype') || '',
							attr = '',                                               //23.11.14 RL
							index, tagAttrVal;                                       //20.11.14 RL

						if ( element.hasAttribute('_fck_mw_tagattributes') ) {       //23.11.14 RL
							attr = element.getAttribute('_fck_mw_tagattributes').split(",") || '';
						}

						if ( tagType == 't' ) {
                            content += '<' + tagName;
							for (index = 0; index < attr.length; ++index) {          //23.11.14 RL Attributes of tag
								if ( ( attr[index] != undefined ) && ( attr[index] != '' ) ) {
									content += ' ' + attr[index];
									if ( element.hasAttribute(attr[index]) && ( tagAttrVal = element.getAttribute( attr[index] ) || undefined ) != undefined ) {
										content += '="' + tagAttrVal + '"';
									}
								}
							}
							content += '>' + inner + '</' + tagName + '>';
                        }
                        else if ( tagType == 'sf') {
                            content +=  inner;
                        }
                        else {
                            content += '{{' + tagName;
                            if (! tagType.IEquals('w', 'v'))
                                content += ':';
                            content += inner + '}}';
                        }
                    }
                    else if ( element.getAttribute( 'class' ) == 'fck_mw_magic' ) {
                        content += '__' + element.getAttribute('_fck_mw_tagname') + '__';
                    }
                    else {
                        content += '<' + element.getAttribute('_fck_mw_tagname') + '>' +
                        inner +
                        '</' + element.getAttribute('_fck_mw_tagname') + '>';
                    }

                    //editor.document.getById('tagDefinition').setHtml(content);
                    var textarea = this.getContentElement( 'mwSpecialTagDef', 'tagDefinition');
                    textarea.setValue(content);
                }
            }
        }
}
} );
/*
 Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.md or http://ckeditor.com/license
*/
CKEDITOR.plugins.setLang("a11yhelp","de",{title:"Barrierefreiheitinformationen",contents:"Hilfeinhalt. Um den Dialog zu schliessen die Taste ESC drücken.",legend:[{name:"Allgemein",items:[{name:"Editorwerkzeugleiste",legend:"Drücken Sie ${toolbarFocus} auf der Symbolleiste. Gehen Sie zur nächsten oder vorherigen Symbolleistengruppe mit TAB und SHIFT+TAB. Gehen Sie zur nächsten oder vorherigen Symbolleiste auf die Schaltfläche mit dem RECHTS- oder LINKS-Pfeil. Drücken Sie die Leertaste oder Eingabetaste, um die Schaltfläche in der Symbolleiste aktivieren."},
{name:"Editordialog",legend


.dark with blend '
        '30 and 2 colors and true black, that define SAME '
        'FlexColorScheme.toScheme and theme but are unequal as '
        'FlexColorScheme objects '
        'EXPECT equals toTheme.', () {
      expect(
        fcsDarkH2.toTheme.toString(minLevel: DiagnosticLevel.fine),
        equalsIgnoringHashCodes(
          fcsDarkH2Raw.toTheme.toString(minLevel: DiagnosticLevel.fine),
        ),
      );
    });

    final ThemeData tLightH3 = FlexColorScheme.light(
      colors: FlexColor.schemes[FlexScheme.mandyRed]!.light,
      surfaceMode: FlexSurfaceMode.highScaffoldLowSurfaces,
      blendLevel: 35,
      appBarStyle: FlexAppBarStyle.background,
      tabBarStyle: FlexTabBarStyle.universal,
      lightIsWhite: true,
      usedColors: 3,
    ).toTheme;

    final ThemeData tDarkH3 = FlexColorScheme.dark(
      colors: FlexColor.schemes[FlexScheme.mandyRed]!.dark,
      surfaceMode: FlexSurfaceMode.highScaffoldLowSurfaces,
      blendLevel: 35,
      appBarStyle: FlexAppBarStyle.background,
      tabBarStyle: FlexTabBarStyle.universal,
      darkIsTrueBlack: true,
      usedColors: 3,
    ).toTheme;

    test(
        'FCS7.81: GIVEN a FlexColorScheme.light with heavy branding and 3 '
        'colors and light is white EXPECT equal when copy in same color.', () {
      expect(
        tLightH3,
        tLightH3.copyWith(primaryColor: FlexColor.mandyRedLightPrimary),
      );
    });
    test(
        'FCS7.82: GIVEN a FlexColorScheme.dark with heavy branding and '
        '3 colors and true black EXPECT EXPECT equal when copy in same color.',
        () {
      expect(
        tDarkH3,
        tDarkH3.copyWith(primaryColor: FlexColor.mandyRedDarkPrimary),
      );
    });

    //**************************************************************************
    // FlexColorScheme.light & dark factory tests. With
    // highBackgroundLowScaffold to hit background red color less than surface.
    //**************************************************************************

    final ThemeData tLightHb = FlexColorScheme.light(
      scheme: FlexScheme.red,
      surfaceMode: FlexSurfaceMode.highBackgroundLowScaffold,
      blendLevel: 30,
      appBarStyle: FlexAppBarStyle.background,
      appBarElevation: 2,
      tabBarStyle: FlexTabBarStyle.universal,
      tooltipsMatchBackground: false,
      transparentStatusBar: false,
      bottomAppBarElevation: 1,
      subThemesData: const FlexSubThemesData(
        defaultRadius: 8,
        tabBarIndicatorSchemeColor: SchemeColor.secondary,
      ),
    ).toTheme;

    test(
        'FCS7.82-1L: GIVEN a FlexColorScheme.light with more options '
        'EXPECT none null result.', () {
      expect(tLightHb, isNotNull);
    });

    test(
        'FCS7.82-2L indicator: GIVEN tabBarIndicatorUsedColor: '
        'FlexUsedColor.secondary '
        'EXPECT indicator color to be theme.scheme.secondary', () {
      expect(
          tLightHb.tabBarTheme.indicatorColor, tLightHb.colorScheme.secondary);
    });

    final RoundedRectangleBorder? shapeL =
        tLightHb.popupMenuTheme.shape as RoundedRectangleBorder?;

    test(
        'FCS7.82-3L shape: Expect border radius null on popup menu does not '
        'follow default radius.', () {
      expect(shapeL?.borderRadius, null);
    });

    // Use M2
    final ThemeData tDarkHb = FlexColorScheme.dark(
      useMaterial3: false,
      scheme: FlexScheme.red,
      surfaceMode: FlexSurfaceMode.highBackgroundLowScaffold,
      blendLevel: 30,
      appBarStyle:


ferKeyspace
}

func NewInferKeyspace(keyspace datastore.Keyspace, node *algebra.InferKeyspace) *InferKeyspace {
	return &InferKeyspace{
		keyspace: keyspace,
		node:     node,
	}
}

func (this *InferKeyspace) Accept(visitor Visitor) (interface{}, error) {
	return visitor.VisitInferKeyspace(this)
}

func (this *InferKeyspace) New() Operator {
	return &InferKeyspace{}
}

func (this *InferKeyspace) Keyspace() datastore.Keyspace {
	return this.keyspace
}

func (this *InferKeyspace) Node() *algebra.InferKeyspace {
	return this.node
}

func (this *InferKeyspace) MarshalJSON() ([]byte, error) {
	return json.Marshal(this.MarshalBase(nil))
}

func (this *InferKeyspace) MarshalBase(f func(map[string]interface{})) map[string]interface{} {
	r := map[string]interface{}{"#operator": "InferKeyspace"}
	this.node.Keyspace().MarshalKeyspace(r)
	r["using"] = this.node.Using()

	if this.node.With() != nil {
		r["with"] = this.node.With()
	}

	if f != nil {
		f(r)
	}
	return r
}

func (this *InferKeyspace) UnmarshalJSON(body []byte) error {
	var _unmarshalled struct {
		_         string                  `json:"#operator"`
		Namespace string                  `json:"namespace"`
		Bucket    string                  `json:"bucket"`
		Scope     string                  `json:"scope"`
		Keyspace  string                  `json:"keyspace"`
		Using     datastore.InferenceType `json:"using"`
		With      json.RawMessage         `json:"with"`
	}

	err := json.Unmarshal(body, &_unmarshalled)
	if err != nil {
		return err
	}

	ksref := algebra.NewKeyspaceRefFromPath(algebra.NewPathShortOrLong(_unmarshalled.Namespace, _unmarshalled.Bucket,
		_unmarshalled.Scope, _unmarshalled.Keyspace), "")
	this.keyspace, err = datastore.GetKeyspace(ksref.Path().Parts()...)
	if err != nil {
		return err
	}

	var with value.Value
	if len(_unmarshalled.With) > 0 {
		with = value.NewValue([]byte(_unmarshalled.With))
	}

	this.node = algebra.NewInferKeyspace(ksref, _unmarshalled.Using, with)
	return nil
}

func (this *InferKeyspace) verify(prepared *Prepared) errors.Error {
	var err errors.Error

	this.keyspace, err = verifyKeyspace(this.keyspace, prepared)
	return err
}
//  Copyright 2018-Present Couchbase, Inc.
//
//  Use of this software is governed by the Business Source License included
//  in the file licenses/BSL-Couchbase.txt.  As of the Change Date specified
//  in that file, in accordance with the Business Source License, use of this
//  software will be governed by the Apache License, Version 2.0, included in
//  the file licenses/APL2.txt.

package plan

import (
	"encoding/json"

	"github.com/couchbase/query/algebra"
	"github.com/couchbase/query/datastore"
	"github.com/couchbase/query/errors"
	"github.com/couchbase/query/expression"
	"github.com/couchbase/query/expression/parser"
	"github.com/couchbase/query/value"
)

// Update Statistics
type UpdateStatistics struct {
	execution
	keyspace datastore.Keyspace
	node     *algebra.UpdateStatistics
}

func NewUpdateStatistics(keyspace datastore.Ke


Key that = obj as XmlStringSortKey;
            int idx, cntCmp, result;

            if (that == null)
                return CompareToEmpty(obj);

            // Compare either using SortKey.Compare or byte arrays
            if (this.sortKey != null) {
                Debug.Assert(that.sortKey != null, "Both keys must have non-null sortKey field");
                result = SortKey.Compare(this.sortKey, that.sortKey);
            }
            else {
                Debug.Assert(this.sortKeyBytes != null && that.sortKeyBytes != null, "Both keys must have non-null sortKeyBytes field");

                cntCmp = (this.sortKeyBytes.Length < that.sortKeyBytes.Length) ? this.sortKeyBytes.Length : that.sortKeyBytes.Length;
                for (idx = 0; idx < cntCmp; idx++) {
                    if (this.sortKeyBytes[idx] < that.sortKeyBytes[idx]) {
                        result = -1;
                        goto Done;
                    }

                    if (this.sortKeyBytes[idx] > that.sortKeyBytes[idx]) {
                        result = 1;
                        goto Done;
                    }
                }

                // So far, keys are equal, so now test length of each key
                if (this.sortKeyBytes.Length < that.sortKeyBytes.Length)
                    result = -1;
                else if (this.sortKeyBytes.Length > that.sortKeyBytes.Length)
                    result = 1;
                else
                    result = 0;
            }

        Done:
            // Use document order to break sorting tie
            if (result == 0)
                return BreakSortingTie(that);

            return this.descendingOrder ? -result : result;
        }
    }

    /// <summary>
    /// Sort key for Double values.
    /// </summary>
    internal class XmlDoubleSortKey : XmlSortKey {
        private double dblVal;
        private bool isNaN;

        public XmlDoubleSortKey(double value, XmlCollation collation) {
            if (Double.IsNaN(value)) {
                // Treat NaN as if it were the empty sequence
                this.isNaN = true;


-flex-between\@xl { justify-content: space-between }.uk-flex-around\@xl { justify-content: space-around }

  .uk-flex-wrap\@xl { flex-wrap: wrap }.uk-flex-nowrap\@xl { flex-wrap: nowrap }.uk-flex-reverse\@xl { flex-wrap: wrap-reverse }

  .uk-flex-stretch\@xl { align-items: stretch }.uk-flex-top\@xl { align-items: flex-start }.uk-flex-middle\@xl { align-items: center }.uk-flex-bottom\@xl { align-items: flex-end }

  .uk-flex-wrap-stretch\@xl { align-content: stretch }.uk-flex-wrap-top\@xl { align-content: flex-start }.uk-flex-wrap-middle\@xl { align-content: center }.uk-flex-wrap-bottom\@xl { align-content: flex-end }.uk-flex-wrap-between\@xl { align-content: space-between }.uk-flex-wrap-around\@xl { align-content: space-around }

  .uk-flex-row\@xl { flex-direction: row }.uk-flex-row-reverse\@xl { flex-direction: row-reverse }.uk-flex-column\@xl { flex-direction: column }.uk-flex-column-reverse\@xl { flex-direction: column-reverse }

}

/*───────────────────────────────────────────────────────────────────────────────────────────*/

.uk-heading-small {
  font-size: 2.6rem;
  line-height: 1.2;
}
.uk-heading-medium {
  font-size: 2.8875rem;
  line-height: 1.1;
}
.uk-heading-large {
  font-size: 3.4rem;
  line-height: 1.1;
}
.uk-heading-xlarge {
  font-size: 4rem;
  line-height: 1;
}
.uk-heading-2xlarge {
  font-size: 6rem;
  line-height: 1;
}
/* Tablet Landscape and bigger */
@media (min-width: 960px) {
  .uk-heading-small {
    font-size: 3.25rem;
  }
  .uk-heading-medium {
    font-size: 3.5rem;
  }
  .uk-heading-large {
    font-size: 4rem;
  }
  .uk-heading-xlarge {
    font-size: 6rem;
  }
  .uk-heading-2xlarge {
    font-size: 8rem;
  }
}
/* Laptop and bigger */
@media (min-width: 1200px) {
  .uk-heading-medium {
    font-size: 4rem;
  }
  .uk-heading-large {
    font-size: 6rem;
  }
  .uk-heading-xlarge {
    font-size: 8rem;
  }
  .uk-heading-2xlarge {
    font-size: 11rem;
  }
}
/* Primary
   Deprecated: Use `uk-heading-medium` instead
 ========================================================================== */
/* Tablet landscape and bigger */
/* Desktop and bigger */
/* Hero
   Deprecated: Use `uk-heading-xlarge` instead
 ========================================================================== */
/* Tablet landscape and bigger */
/* Desktop and bigger */
/* Divider
 ========================================================================== */
.uk-heading-divider {
  padding-bottom: calc(5px + 0.1em);
  border-bottom: calc(0.2px + 0.05em) solid #e5e5e5;
}
/* Bullet
 ========================================================================== */
.uk-heading-bullet {
  position: relative;
}
/*
 * 1. Using `inline-block` to make it work with text alignment
 * 2. Center vertically
 * 3. Style
 */
.uk-heading-bullet::before {
  content: "";
  /* 1 */
  display: inline-block;
  /* 2 *


ublic sbyte HoveredSlot;
    [FieldOffset(0x471)] public sbyte TargetedSlot;
    [FieldOffset(0x472)] public byte Slots;
    [FieldOffset(0x473)] public byte SlotsFilled;

    [StructLayout(LayoutKind.Explicit, Size = 0x40)]
    public unsafe partial struct AllianceMemberStruct {
        [FieldOffset(0x00)] public AtkComponentBase* ComponentBase;
        [FieldOffset(0x08)] public AtkResNode* DebuffContainer;
        [FieldOffset(0x10)] public AtkImageNode* ClassJobImageNode;
        [FieldOffset(0x20)] public AtkComponentGaugeBar* HealthBar;
        [FieldOffset(0x28)] public AtkResNode* AggroContainer;
        [FieldOffset(0x30)] public AtkResNode* TargetGlowContainer;
        [FieldOffset(0x38)] public AtkCollisionNode* AtkCollisionNode;
    }
}


isasaltwhichis22chHello", "$2y$06$thisisasaltwhichis22ceeL2tbWfYYl6VVS.6kwSgf4Afnv5UVWu", 6),
        BCryptTestCase("2xNRPxj8EJfcN.Yxghkyt54Z39}Ylz0X4LwanXJB3i2mk<2Qs<9gWivWhpUe", "thisisasaltwhichis22chHello", "$2y$08$thisisasaltwhichis22cejWbLJJzXmMWFyRkQhHGqvFWPPnh1era", 8),
        BCryptTestCase("", "MkjCFcpnaHo.ngQW8hDv1Y", "$2y$06$MkjCFcpnaHo.ngQW8hDv1OE5e7EEsNBkPqjKjbeiAAGDZ32tMeoxi", 6),
        BCryptTestCase("", "MkjCFcpnaHo.ngQW8hDv1Y", "$2y$08$MkjCFcpnaHo.ngQW8hDv1Oq3XwM.TU1ux4xZH9SWTvEeO6PaRKJhq", 8),
        BCryptTestCase("hello", "MkjCFcpnaHo.ngQW8hDv1Y", "$2y$06$MkjCFcpnaHo.ngQW8hDv1OKSXItY4YgdUhR1XnCCIdVTG6/Z9Q8lq", 6),
        BCryptTestCase("hello", "MkjCFcpnaHo.ngQW8hDv1Y", "$2y$08$MkjCFcpnaHo.ngQW8hDv1OI06YNkstj1fnz7Hb7hMALmyKde/b6XC", 8),
        BCryptTestCase("MpxzNrkTT)0OTBlU5TTY", "MkjCFcpnaHo.ngQW8hDv1Y", "$2y$06$MkjCFcpnaHo.ngQW8hDv1OWBmePzneCphnun8DXjkg0xSyFELeGQK", 6),
        BCryptTestCase("MpxzNrkTT)0OTBlU5TTY", "MkjCFcpnaHo.ngQW8hDv1Y", "$2y$08$MkjCFcpnaHo.ngQW8hDv1Opd3VPU7yrnM2bcYLxKXnz5GseN./Ihe", 8),
        BCryptTestCase("2xNRPxj8EJfcN.Yxghkyt54Z39}Ylz0X4LwanXJB3i2mk<2Qs<9gWivWhpUe", "MkjCFcpnaHo.ngQW8hDv1Y", "$2y$06$MkjCFcpnaHo.ngQW8hDv1O2bkSBvdwGDuLKRRKAKDrJjDaEHkvbbS", 6),
        BCryptTestCase("2xNRPxj8EJfcN.Yxghkyt54Z39}Ylz0X4LwanXJB3i2mk<2Qs<9gWivWhpUe", "MkjCFcpnaHo.ngQW8hDv1Y", "$2y$08$MkjCFcpnaHo.ngQW8hDv1Ow2pDUKWKd3hQQKpiPMMzJY12zfFs1OG", 8),
        BCryptTestCase("", "V0bNN/hb14yIaLqiGzRq8HBnUg/f7Ord6Q2ENsN.X3RmPgQR8wCfFDwKXJ3E", "$2y$06$V0bNN/hb14yIaLqiGzRq8.0q2LbRd5Bky7G/FobYdfIDZDt.3GfuS", 6),


ject
}

interface tagsViewItemMeta {
  title: string
  affix: boolean
}

interface tagsViewItemType {
  index: number
  type: string
}
// 定义计算属性
export function addTagsViewList(tag: tagsViewItem) {
  const isFind = tagsViewList.value.find((item: tagsViewItem) => {
    return item.path === tag.path
  })
  // 处理重复
  if (!isFind) {
    tagsViewList.value.push(tag)
    //tagsViewStore.value = tagsViewList.value
  }
}

/**
 * 删除 tag
 * @param {type: 'other'||'right'||'index', index: index} payload
 */
export function removeTagsView(payload: tagsViewItemType) {
  if (payload.type === 'index') {
    tagsViewList.value.splice(payload.index, 1)
  } else if (payload.type === 'other') {
    tagsViewList.value.splice(
      payload.index + 1,
      tagsViewList.value.length - payload.index + 1
    )
    tagsViewList.value.splice(0, payload.index)
    if (payload.index != 0) {
      //list第一位加入删除了的首页tag
      tagsViewList.value.unshift(defaultTagsViewItem)
    }
  } else if (payload.type === 'right') {
    tagsViewList.value.splice(
      payload.index + 1,
      tagsViewList.value.length - payload.index + 1
    )
  } else if (payload.type === 'all') {
    tagsViewList.value = []
  }
  //tagsViewStore.value = tagsViewList.value
}
import axios, { AxiosResponse } from "axios";
import { toast } from "react-toastify";

interface IResource {
  name: string;
  brand: string;
  unitPrice: {
    currency: string;
    number: number;
  };
  unitMeasurement: string;
  code?: string;
  expirationDate?: string;
  manufacturingDate?: string;
  batchCode?: string;
}

export async function storeResource(resource: IResource[]): Promise<any> {
  try {
    const response: AxiosResponse<any> = await axios({
      url: `${process.env.REACT_APP_API_URL}/resource`,
      method: "POST",
      data: resource,
    });

    toast.success("Recurso cadastrado com sucesso!", {
      position: "bottom-right",
    });

    return true;
  } catch (error) {
    console.error(error);

    toast.warn("Preencha todos os campos!", {
      position: "bottom-right",
    });
    return false;
  }
}
import { GraphQLResolveInfo } from 'graphql';
import { plugin } from 'nexus';
import { ArgsValue, GetGen, MaybePromise, SourceValue } from 'nexus/dist/typegenTypeHelpers';
import { printedGenTyping, printedGenTypingImport } from 'nexus/dist/utils';

const AuthResolverImport = printedGenTypingImport({
  module: 'nexus-auth-plugin',
  bindings: ['AuthResolver'],
});

const fieldDefTypes = printedGenTyping({
  optional: true,
  name: 'withAuth',
  type: `AuthResolver<TypeName, FieldName> | boolean`,
  imports: [AuthResolverImport],
});

export type AuthResolver<TypeName extends string, FieldName extends string> = (
  root: SourceValue<TypeName>,
  args: ArgsValue<TypeName, FieldName>,
  context: GetGen<'context'>,
  info: GraphQLResolveInfo
) => MaybePromise<boolean | Error>;

export type LikeAuthResolver<TypeName extends string = '', FieldName extends string = ''> = (
  root: SourceValue<TypeName>,
  args: ArgsValue<TypeName,


3e4-4ee1-8167-e90bc9b8e73e","url":"\u002Fde-at\u002Fsitecore\u002Fsystem\u002Fsettings\u002Ffoundation\u002Fsharedsettings\u002Fmarketsegment\u002Fhousehold","fields":{"Setting":{"value":"h"},"__Updated":{"value":"0001-01-01T00:00:00Z"}}},"Brand":{"value":"SWFF"},"BrandGroup":{"value":"Swiffer"},"Sector":{"value":""},"Segment":{"value":""},"BrandGroupCode":{"value":"87"},"Category":{"value":""},"MicsBrandId":{"value":""},"HrefLangTags":[],"NoFollow":{"value":false},"MetaDescription":{"value":"for me stellt Ihnen Swiffer Produkte, Gewinnspiele, Tipps und Storys vor. Erfahren Sie jetzt alles rund um die Reinigungsprodukte und deren Anwendung."},"MetaTitle":{"value":"Swiffer Produkte entdecken"},"NoIndex":{"value":false},"twitterImage":{"value":{}},"twitterTitle":{"value":""},"twitterDescription":{"value":""},"ogTitle":{"value":"Swiffer Produkte entdecken"},"ogDescription":{"value":"for me stellt Ihnen Swiffer Produkte, Gewinnspiele, Tipps und Storys vor. Erfahren Sie jetzt alles rund um die Reinigungsprodukte und deren Anwendung."},"ogImage":{"value":{}},"CustomHeaderScripts":{"value":""},"CustomFooterScripts":{"value":""},"LoadDynamicSegmantaScript":{"value":true},"__Updated":{"value":"2021-09-23T14:26:16Z"},"Image":{"value":{"src":"https:\u002F\u002Fprd-cdn-emea1-joltx.pgsitecore.com\u002F-\u002Fmedia\u002Fgrowing-families-version1\u002Fgf-de\u002Fbrand\u002Flogo\u002Flogo-swiffer.ashx?h=100&w=120&rev=afd74227b5c04b44b80ae5eb515f83cc&hash=E5581A60472D76EAB441E7EF8B71835B","alt":"logo-swiffer","width":"120","height":"100"}},"Title":{"value":"Swiffer"}},"url":"\u002Fmarken\u002Fswiffer"},{"id":"f66ae1e3-ad10-4264-bc5a-6d7e664256cd","fields":{"Market Segment":{"id":"cdda3d98-610c-4619-b90c-f70aa33a982b","url":"\u002Fde-at\u002Fsitecore\u002Fsystem\u002Fsettings\u002Ffoundation\u002Fsharedsettings\u002Fmarketsegment\u002Fbeauty_feminine","fields":{"Setting":{"value":"b"},"__Updated":{"value":"0001-01-01T00:00:00Z"}}},"Brand":{"value":"A376"},"BrandGroup":{"value":"Venus"},"Sector":{"value":"Grooming"},"Segment":{"value":""},"BrandGroupCode":{"value":"429"},"Category":{"value":""},"MicsBrandId":{"value":""},"HrefLangTags":[],"NoFollow":{"value":false},"MetaDescription":{"value":"Erfahren Sie auf for me, wie andere Leserinnen die Nassrasierer von Gillette Venus bewerten. Außerdem: hilfreiche Tipps für seidig glatte Haut!"},"MetaTitle":{"value":"Bewertungen: Gillette Venus Produkte auf for me"},"NoIndex":{"value":false},"twitterImage":{"value":{}},"twitterTitle":{"value":""},"twitterDescription":{"value":""},"ogTitle":{"value":"Erfahren Sie auf for me, wie andere Leserinnen die Nassrasierer von Gillette Venus bewerten. Außerdem: hilfreiche Tipps für seidig glatte Ha


.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.
//
////////////////////////////////////////////////////////////////////////////////

#include "asn1_universal_types_to_der.h"

#include <algorithm>

#include <google/protobuf/util/time_util.h>
#include "common.h"

namespace asn1_universal_types {

void Encode(const Boolean& boolean, std::vector<uint8_t>& der) {
  der.push_back(kAsn1Boolean);
  // The contents octets shall consist of a single octet (X.690 (2015), 8.2.1).
  // Therefore, length is always 1.
  der.push_back(0x01);

  if (boolean.val()) {
    // If the boolean value is TRUE, the octet shall have any non-zero value
    // (X.690 (2015), 8.2.2).
    der.push_back(0xFF);
  } else {
    // If the boolean value is FALSE, the octet shall be zero (X.690
    // (2015), 8.2.2).
    der.push_back(0x00);
  }
}

void Encode(const Integer& integer, std::vector<uint8_t>& der) {
  EncodeTagAndLength(kAsn1Integer,
                     std::min<size_t>(0x01u, integer.val().size()), der.size(),
                     der);

  if (!integer.val().empty()) {
    der.insert(der.end(), integer.val().begin(), integer.val().end());
  } else {
    // Cannot have an empty integer, so use the value 0.
    der.push_back(0x00);
  }
}

void Encode(const OctetString& octet_string, std::vector<uint8_t>& der) {
  EncodeTagAndLength(kAsn1OctetString, octet_string.val().size(), der.size(),
                     der);

  // X.690 (2015), 8.7.2: The primitive encoding contains zero, one or more
  // contents octets.
  der.insert(der.end(), octet_string.val().begin(), octet_string.val().end());
}

void Encode(const BitString& bit_string, std::vector<uint8_t>& der) {
  EncodeTagAndLength(kAsn1BitString, bit_string.val().size() + 1, der.size(),
                     der);

  if (!bit_string.val().empty()) {
    der.push_back(bit_string.unused_bits());
    der.insert(der.end(), bit_string.val().begin(), bit_string.val().end());
  } else {
    // If the bitstring is empty, there shall be no subsequent octets,
    // and the initial octet shall be zero (X.690 (2015), 8.6.2.3).
    der.push_back(0x00);
  }
}

void Encode(const ObjectIdentifier& object_identifier,
            std::vector<uint8_t>& der) {
  // Save the current size in |tag_len_pos| to place tag and length
  // after the value is encoded.
  const size_t tag_len_pos = der.size();

  uint8_t root = object_identifier.root();
  uint8_t small_identifier = object_identifier.small_identifier();
  auto subidentifier = object_identifier.subidentifier();

  // (X.690 (2015) 8.19.4): Only 39 subsequent values from nodes reached by X =
  // 0 and X = 1. Therefore, use |small_identifier| for |root| 0 or 1, and when
  // |root| is 2, use fir


      jz .nb232nf_end
        ;# non-zero, do one more workunit
        jmp   .nb232nf_threadloop
.nb232nf_end:
	mov eax, [rsp + nb232nf_nouter]
	mov ebx, [rsp + nb232nf_ninner]
	mov rcx, [rbp + nb232nf_outeriter]
	mov rdx, [rbp + nb232nf_inneriter]
	mov [rcx], eax
	mov [rdx], ebx

	add rsp, 864
	emms

    ;# Save xmm registers to stack
    movaps xmm6,  [rsp      ]
    movaps xmm7,  [rsp + 16 ]
    movaps xmm8,  [rsp + 32 ]
    movaps xmm9,  [rsp + 48 ]
    movaps xmm10, [rsp + 64 ]
    movaps xmm11, [rsp + 80 ]
    movaps xmm12, [rsp + 96 ]
    movaps xmm13, [rsp + 112]
    movaps xmm14, [rsp + 128]
    movaps xmm15, [rsp + 144]

    ;# Reset pointers after restoring xmm6-15
    add rsp, 168

    pop r15
    pop r14
    pop r13
    pop r12
    pop rdi
    pop rsi
    pop rbx

	pop	rbp
	ret


ifications', function()
      Snacks.notifier.show_history()
    end, {
      nargs = 0,
    })

    vim.keymap.set('n', '<leader>T', function()
      return Snacks.terminal.toggle()
    end, { desc = 'Toggle terminal' })
    vim.keymap.set('t', '<leader>T', function()
      vim.cmd('stopinsert')
      return Snacks.terminal.toggle()
    end, { desc = 'Close terminal' })

    Snacks.picker.actions.qflist = function(picker, opts)
      picker:close()
      local sel = picker:selected()
      local items = #sel > 0 and sel or picker:items()
      local qf = {}
      for _, item in ipairs(items) do
        local text = item.text
        if vim.startswith(text, item.file) then
          text = text:sub(#item.f


rvice.transfer(transferFileContext);

        QueryFileListContext queryFileListContext = new QueryFileListContext();
        queryFileListContext.setParentId(userInfoVO.getRootFileId());
        queryFileListContext.setUserId(userId);
        queryFileListContext.setDelFlag(DelFlagEnum.NO.getCode());
        List<DataStoragePlatformUserFileVO> records = iUserFileService.getFileList(queryFileListContext);
        Assert.notEmpty(records);
    }

    /**
     * 测试文件转移失败，目标文件夹是要转移的文件列表中的文件夹或者是其子文件夹
     */
    @Test(expected = DataStoragePlatformBusinessException.class)
    public void testTransferFileFail() {
        Long userId = register();
        UserInfoVO userInfoVO = info(userId);

        CreateFolderContext context = new CreateFolderContext();
        context.setParentId(userInfoVO.getRootFileId());
        context.setUserId(userId);
        context.setFolderName("folder-name-1");

        Long folder1 = iUserFileService.createFolder(context);
        Assert.notNull(folder1);

        context.setParentId(folder1);
        context.setFolderName("folder-name-2");
        Long folder2 = iUserFileService.createFolder(context);
        Assert.notNull(folder2);

        TransferFileContext transferFileContext = new TransferFileContext();
        transferFileContext.setTargetParentId(folder2);
        transferFileContext.setFileIdList(Lists.newArrayList(folder1));
        transferFileContext.setUserId(userId);
        iUserFileService.transfer(transferFileContext);
    }

    /**
     * 测试文件复制成功
     */
    @Test
    public void testCopyFileSuccess() {
        Long userId = register();
        UserInfoVO userInfoVO = info(userId);

        CreateFolderContext context = new CreateFolderContext();
        context.setParentId(userInfoVO.getRootFileId());
        context.setUserId(userId);
        context.setFolderName("folder-name-1");

        Long folder1 = iUserFileService.createFolder(context);
        Assert.notNull(folder1);

        context.setFolderName("folder-name-2");
        Long folder2 = iUserFileService.createFolder(context);
        Assert.notNull(folder2);

        CopyFileContext copyFileContext = new CopyFileContext();
        copyFileContext.setTargetParentId(folder1);
        copyFileContext.setFileIdList(Lists.newArrayList(folder2));
        copyFileContext.setUserId(userId);
        iUserFileService.copy(copyFileContext);

        QueryFileListContext queryFileListContext = new QueryFileListContext();
        queryFileListContext.setParentId(folder1);
        queryFileListContext.setUserId(userId);
        queryFileListContext.setDelFlag(DelFlagEnum.NO.getCode());
        List<DataStoragePlatformUserFileVO> records = iUserFileService.getFileList(queryFileListContext);
        Assert.notEmpty(records);
    }

    /**
     * 测试文件复制失败，目标文件夹是要转移的文件列表中的文件夹或者是其子文件夹
     */
    @Test(expected = DataStoragePlatformBusinessException.class)
    public void testCopyFileFail() {
        Long userId = register();
        UserInfoVO userInfoVO = info(userId);

        CreateFolderContext context = new CreateFolderContext();
        context.setParentId(userInfoVO.getRootFileId());
        context.setUserId(userId);
        context.setFolderName("folder-name-1");

        Long folder1 = iUserFileService.createFolder(context);
        Assert.notNull(folder1);

        context.setParentId(folder1);
        context.setFolderName("folder-name-2");
        Long folder2 = iUserFileService.createFolder(context


[1]: http://google.com/        "Google"
    [2]: http://search.yahoo.com/  "Yahoo Search"
    [3]: http://search.msn.com/    "MSN Search"

Output:

I get 10 times more traffic from Google than from Yahoo or MSN.

The title attribute is optional. Link names may contain letters,
numbers and spaces, but are *not* case sensitive:

    I start my morning with a cup of coffee and
    [The New York Times][NY Times].

    [ny times]: http://www.nytimes.com/

Output:

I start my morning with a cup of coffee and
    The New York Times.

### Images ###

Image syntax is very much like link syntax.

Inline (titles are optional):

    ![alt text](/path/to/img.jpg "Title")

Reference-style:

    ![alt text][id]

    [id]: /path/to/img.jpg "Title"

Both of the above examples produce the same output:

### Code ###

In a regular paragraph, you can create code span by wrapping text in
backtick quotes. Any ampersands (`&`) and angle brackets (`<` or
`>`) will automatically be translated into HTML entities. This makes
it easy to use Markdown to write about HTML example code:

    I strongly recommend against using any `<blink>` tags.

    I wish SmartyPants used named entities like `&mdash;`
    instead of decimal-encoded entites like `&#8212;`.

Output:

I strongly recommend against using any
    &lt;blink&gt; tags.

I wish SmartyPants used named entities like
    &amp;mdash; instead of decimal-encoded
    entites like &amp;#8212;.

To specify an entire block of pre-formatted code, indent every line of
the block by 4 spaces or 1 tab. Just like with code spans, `&`, `<`,
and `>` characters will be escaped automatically.

Markdown:

    If you want your page to validate under XHTML 1.0 Strict,
    you've got to put paragraph tags in your blockquotes:

For example.

Output:

If you want your page to validate under XHTML 1.0 Strict,
    you've got to put paragraph tags in your blockquotes:

&lt;blockquote&gt;
        &lt;p&gt;For example.&lt;/p&gt;
    &lt;/blockquote&gt;

</textarea></form>

Optionally depends on the XML mod