  virtual ~GrBackendEffectFactory() {}

private:
    enum {
        kIllegalEffectClassID = 0,
    };

    static uint32_t GenID() {
        // fCurrEffectClassID has been initialized to kIllegalEffectClassID. The
        // atomic inc returns the old value not the incremented value. So we add
        // 1 to the returned value.
        uint32_t id = static_cast<uint32_t>(sk_atomic_inc(&fCurrEffectClassID)) + 1;
        if (!id) {
            SkFAIL("This should never wrap as it should only be called once for each GrEffect "
                   "subclass.");
        }
        return id;
    }

    const uint32_t fEffectClassID;
    static int32_t fCurrEffectClassID;
};

#endif


SourceProvider : CompletionSourceProvider
    {
        [Import]
        public ITextStructureNavigatorSelectorService TextStructureNavigatorSelectorService
        {
            get;
            private set;
        }

        [Import]
        public AlloyIntellisenseCache IntellisenseCache
        {
            get;
            private set;
        }

        public override ICompletionSource TryCreateCompletionSource(ITextBuffer textBuffer)
        {
            return new AlloyCompletionSource(textBuffer, this);
        }
    }
}


}  // namespace foedus
#endif  // FOEDUS_THREAD_CONDITION_VARIABLE_IMPL_HPP_
/*
 * Copyright (c) 2014-2015, Hewlett-Packard Development Company, LP.
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License as published by the Free
 * Software Foundation; either version 2 of the License, or (at your option)
 * any later version.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
 * more details. You should have received a copy of the GNU General Public
 * License along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 *
 * HP designates this particular file as subject to the "Classpath" exception
 * as provided by HP in the LICENSE.txt file that accompanied this code.
 */
#ifndef FOEDUS_SAVEPOINT_SAVEPOINT_OPTIONS_HPP_
#define FOEDUS_SAVEPOINT_SAVEPOINT_OPTIONS_HPP_
#include <string>

#include "foedus/cxx11.hpp"
#include "foedus/externalize/externalizable.hpp"
#include "foedus/fs/filesystem.hpp"

namespace foedus {
namespace savepoint {
/**
 * @brief Set of options for savepoint manager.
 * @ingroup SAVEPOINT
 * @details
 * This is a POD struct. Default destructor/copy-constructor/assignment operator work fine.
 */
struct SavepointOptions CXX11_FINAL : public virtual externalize::Externalizable {
  /**
   * Constructs option values with default values.
   */
  SavepointOptions();

  /**
   * @brief Full path of the savepoint file.
   * @details
   * This file is atomically and durably updated for each epoch-based commit.
   * Default is "savepoint.xml".
   */
  fs::FixedPath savepoint_path_;

  EXTERNALIZABLE(SavepointOptions);
};
}  // namespace savepoint
}  // namespace foedus
#endif  // FOEDUS_SAVEPOINT_SAVEPOINT_OPTIONS_HPP_
/*
 * Copyright (c) 2014-2015, Hewlett-Packard Development Company, LP.
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License as published by the Free
 * Software Foundation; either version 2 of the License, or (at your option)
 * any later version.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
 * more details. You should have received a copy of the GNU General Public
 * License along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 *
 * HP designates this particular file as subject to the "Classpath" exception
 * as provided by HP in the LICENSE.txt file that accompanied this code.
 */
#ifndef FOEDUS_SOC_SOC_ID_HPP_
#define FOEDUS_SOC_SOC_ID_HPP_

#include <stdint.h>

/**
 * @file foedus/soc/soc_id.hpp
 * @brief Typedefs of ID types used in SOC package.
 * @ingroup SOC
 */
namespace foedus {
namespace soc {

/**
 * Maximum number of SOCs
 * @ingroup SOC
 */
const uint16_t kMaxSocs = 256U;

/**
 * Represents an ID of an SOC, or NUMA node
 * @ingroup SOC
 */
typedef uint16_t SocId;

/**
 * Universal (or Unique) ID of a process.
 * This is so far what getpid


oom as RIKER,

    PICARD, WORF, and THREE N.D. CREWMEMBERS MATERIALIZE.

    Worf is carrying Picard over one shoulder. Riker has

    a nasty-looking head wound and is pointing his phaser

    as if defending them. One N.D. is also injured and

    lying on the floor, while the other two are standing up

    with phasers drawn.

 Once the beam-in has finished, Beverly and the Nurses

    rush to aid the wounded. Beverly moves to Picard as

    Worf puts him down on the operating table. We can now

    see that there is a large SCORCH mark on Picard's

    chest. Beverly immediately begins scanning him with

    her tricorder.

 BEVERLY

    What happened?

 RIKER

    The Lenarians attacked us outside

    the conference room.

 STAR TREK: "Tapestry" - 11/30/92 - TEASER 2.

1 CONTINUED:

 BEVERLY

    (off tricorder)

    He's in cardiac arrest.

    (to Nurse)

    Get the pulmonary support unit.

 The CLAMSHELL is moved into place over Picard's chest.

    Worf and Riker move away to give them room and they

    look on with concern. Beverly continues to read the

    tricorder.

 BEVERLY

    Internal hemorrhaging... the bioregulator

    in his artificial

    heart's been fused... damage to

    the spleen and liver... what kind

    of weapon did this?

 WORF

    A compressed teryon beam.

 BEVERLY

    (to Nurse)

    Forty cc's inoprovaline...

 An ALARM SOUNDS from the clamshell.

 BEVERLY

    Activity in the isocortex is

    falling. Cortical stimulator.

 A Nurse hands her a device, which Beverly places on his

    forehead. A monitor in the room begins to show a

    flatline and ALARMS are continuous now.

 BEVERLY

    Now.

 Picard's body JERKS... then nothing.

 BEVERLY

    Again.

 His body JERKS again... nothing.

 STAR TREK: "Tapestry" - 11/30/92 - TEASER 3.

2 NEW ANGLE

 We are now looking DOWN at the scene in Sickbay from

    directly overhead... as we begin to PUSH DOWN onto

    Picard's face, Beverly and the others can be seen

    working frantically on him, but there is NO SOUND

    except for a slowly building RUSHING NOISE, similar to

    the sound of the ocean. As Picard's face fills the

    frame, the rushing sound builds to a ROAR and suddenly

    the scene...

 FADES TO WHITE.

 FADE IN:

3


aAutenticada(persona: Persona): void {
    localStorage.setItem(this._personaAutenticadaKey, JSON.stringify(persona));
  }

  guardarToken(token: string): void {
    localStorage.setItem(this._tokenKey, token);
  }

  guardarTipoToken(tipoToken: string): void {
    localStorage.setItem(this._tipoTokenKey, tipoToken);
  }

  obtenerPersonaAutenticada(): Persona | null {
    const personaString = localStorage.getItem(this._personaAutenticadaKey);
    return personaString != null ? JSON.parse(personaString) : null;
  }

  obtenerToken(): string | null {
    return localStorage.getItem(this._tokenKey);
  }

  obtenerTipoToken(): string | null {
    return localStorage.getItem(this._tipoTokenKey);
  }

  eliminarStorage(): void {
    localStorage.removeItem(this._tokenKey);
    localStorage.removeItem(this._personaAutenticadaKey);
  }

  estaAutenticado(): boolean {
    return this.obtenerPersonaAutenticada() != null;
  }

  obtenerRolNombre(): string | undefined {
    return this.obtenerPersonaAutenticada()?.usuario?.rol?.rolNombre;
  }
}
import { CompanyState } from './company.model';
import {
  actionLoadCompanyTags,
  actionLoadCompanyTagsSuccess,
  actionAddCompanyTag,
  actionRemoveCompanyTag
} from './company.actions';
import { Action, createReducer, on } from '@ngrx/store';

export const initialState: CompanyState = {
  tags: []
};

const reducer = createReducer(
  initialState,
  on(actionLoadCompanyTags, (state, action) => ({ ...state, tags: [] })),
  on(actionLoadCompanyTagsSuccess, (state, action) => ({
    ...state,
    tags: action.tags
  })),
  on(actionRemoveCompanyTag, (state, action) => {
    const new_state = { ...state };
    const index = new_state.tags.indexOf(action.tag);

    if (index >= 0) {
      new_state.tags.splice(index, 1);
    }

    return new_state;
  }),
  on(actionAddCompanyTag, (state, action) => {
    const new_state = { ...state };
    // Add our fruit
    if ((action.tag || '').trim()) {
      new_state.tags.push(action.tag.trim());
    }

    return new_state;
  })
);

export function companyReducer(
  state: CompanyState | undefined,
  action: Action
) {
  return reducer(state, action);
}
import { name } from '../../../../../package.json';
import { createSchema } from '../../../../..';
import { toHTML, fromHTML } from '../../../../../test-helpers';

const schema = makeSchema();

describe(`${name}/schema panel node`, () => {
  it('should have data-panel-type when serializing to DOM', () => {
    const html = toHTML(
      schema.nodes.panel.create({ panelType: 'info' }),
      schema,
    );
    expect(html).toContain('data-panel-type="info"');
  });

  it('should info panel type by default', () => {
    const html = toHTML(schema.nodes.panel.create(), schema);
    expect(html).toContain('data-panel-type="info"');
  });

  it('should extract the correct values of panelType', () => {
    const doc = fromHTML(
      "

testing

",
      schema,
    );
    const panel = doc.firstChild;
    expect(panel && panel.type.name).toContain('panel');
    expect(panel && panel.attrs['panelType']).toContain('tip');
  });


/*
 *  Copyright (c) 2018 The WebRTC project authors. All Rights Reserved.
 *
 *  Use of this source code is governed by a BSD-style license
 *  that can be found in the LICENSE file in the root of the source
 *  tree. An additional intellectual property rights grant can be found
 *  in the file PATENTS.  All contributing project authors may
 *  be found in the AUTHORS file in the root of the source tree.
 */

#ifndef MODULES_CONGESTION_CONTROLLER_RTP_PACER_CONTROLLER_H_
#define MODULES_CONGESTION_CONTROLLER_RTP_PACER_CONTROLLER_H_

#include <memory>

#include "api/transport/network_types.h"
#include "modules/pacing/paced_sender.h"
#include "rtc_base/sequenced_task_checker.h"

namespace webrtc {
class Clock;

namespace webrtc_cc {

// Wrapper class to control pacer using task queues. Note that this class is
// only designed to be used from a single task queue and has no built in
// concurrency safety.
// TODO(srte): Integrate this interface directly into PacedSender.
class PacerController {
 public:
  explicit PacerController(PacedSender* pacer);
  ~PacerController();
  void OnCongestionWindow(DataSize msg);
  void OnNetworkAvailability(NetworkAvailability msg);
  void OnNetworkRouteChange(NetworkRouteChange msg);
  void OnOutstandingData(DataSize in_flight_data);
  void OnPacerConfig(PacerConfig msg);
  void OnProbeClusterConfig(ProbeClusterConfig msg);

 private:
  void SetPacerState(bool paused);
  PacedSender* const pacer_;

  rtc::Optional<PacerConfig> current_pacer_config_;
  bool pacer_paused_ = false;
  bool network_available_ = true;

  rtc::SequencedTaskChecker sequenced_checker_;
  RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(PacerController);
};
}  // namespace webrtc_cc
}  // namespace webrtc
#endif  // MODULES_CONGESTION_CONTROLLER_RTP_PACER_CONTROLLER_H_


rt';
import 'frb_generated.dart';
import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated_web.dart';

abstract class RustLibApiImplPlatform extends BaseApiImpl<RustLibWire> {
  RustLibApiImplPlatform({
    required super.handler,
    required super.wire,
    required super.generalizedFrbRustBinding,
    required super.portManager,
  });

  @protected
  void dco_decode_unit(dynamic raw);

  @protected
  void sse_decode_unit(SseDeserializer deserializer);

  @protected
  int sse_decode_i_32(SseDeserializer deserializer);

  @protected
  bool sse_decode_bool(SseDeserializer deserializer);

  @protected
  void sse_encode_unit(void self, SseSerializer serializer);

  @protected
  void sse_encode_i_32(int self, SseSerializer serializer);

  @protected
  void sse_encode_bool(bool self, SseSerializer serializer);
}

// Section: wire_class

class RustLibWire implements BaseWire {
  RustLibWire.fromExternalLibrary(ExternalLibrary lib);
}

@JS('wasm_bindgen')
external RustLibWasmModule get wasmModule;

@JS()
@anonymous
extension type RustLibWasmModule._(JSObject _) implements JSObject {}
@TestOn('vm')
import 'dart:typed_data' as $data;
import 'dart:typed_data';

import 'package:flutter_rust_bridge/flutter_rust_bridge.dart';
import 'package:test/test.dart';

void main() {
  test('Int64List more operations', () {
    expect(Int64List.view(Uint8List(0).buffer).length, 0);
    expect(Int64List.sublistView(Uint8List(0)).length, 0);
    expect(Int64List.fromList([10]) + Int64List.fromList([20]),
        Int64List.fromList([10, 20]));
    expect(Int64List.fromList([10]) + $data.Int64List.fromList([20]),
        Int64List.fromList([10, 20]));
    expect(Int64List.fromList([10]) + [20], Int64List.fromList([10, 20]));
    expect(Int64List.fromList([10]) + [20].map((x) => x),
        Int64List.fromList([10, 20]));
    expect(() => Int64List.fromList([10]) + 42, throwsA(isA<ArgumentError>()));
    expect(() => Int64List.fromList([10]).length = 100,
        throwsA(isA<UnmodifiableTypedListException>()));
    // expect(() => Int64List.fromList([10]).dart2raw(0.5),
    //     throwsA(isA<ArgumentError>()));
  });

  test('Uint64List more operations', () {
    expect(Uint64List.view(Uint8List(0).buffer).length, 0);
    expect(Uint64List.sublistView(Uint8List(0)).length, 0);
    expect(Uint64List.fromList([10]) + Uint64List.fromList([20]),
        Uint64List.fromList([10, 20]));
    expect(Uint64List.fromList([10]) + $data.Uint64List.fromList([20]),
        Uint64List.fromList([10, 20]));
    expect(Uint64List.fromList([10]) + [20], Uint64List.fromList([10, 20]));
    expect(Uint64List.fromList([10]) + [20].map((x) => x),
        Uint64List.fromList([10, 20]));
    expect(() => Uint64List.fromList([10]) + 42, throwsA(isA<ArgumentError>()));
    expect(() => Uint64List.fromList([10]).length = 100,
        throwsA(isA<UnmodifiableTypedListException>()));

    expect(Uint64List.fromList([9223372036854775000])[0],
        BigInt.from(9223372036854775000));
    // #2512, test when larger than 63 bit value


азмер горизонтального внутреннего отступа от группе у s-menu */
    --menu-size-s-group-indentBottom: 4px; /* Размер нижнего внешнего отступа от группы до пунктов у s-menu */
    --menu-size-s-item-spaceVert: 3px; /* Размер вертикального внутреннего отступа в пункте у s-menu */
    --menu-size-s-item-spaceHor: 9px; /* Размер горизонтального внутреннего отступа в пункте у s-menu */
    --menu-size-s-item-indentBottom: 4px; /* Размер правого внешнего отступа от иконки до текста у s-menu */
    --menu-size-s-item-icon-indentRight: 4px;
    --menu-size-s-titleSibling-indentLeft: 20px; /* Размер внешнего левого отступа у сущностей после тайтла у s-menu */
    --menu-size-m-fontSize: var(--typography-controls-size-m-font-size); /* Размер текста у m-menu */
    --menu-size-m-lineHeight: 36px; /* Межстрочный интервал у m-menu */
    --menu-size-m-spaceVert: 5px; /* Размер вертикального внутреннего отступа у m-menu */
    --menu-size-m-group-spaceVert: 5px; /*  Размер вертикального внутреннего отступа в группе у m-menu */
    --menu-size-m-group-spaceHor: 0; /* Размер горизонтального внутреннего отступа в группе у m-menu */
    --menu-size-m-group-indentBottom: 5px; /* Размер нижнего внешнего отступа от группы до пунктов у m-menu */
    --menu-size-m-item-spaceVert: 4px; /* Размер вертикального внутреннего отступа в пункте у m-menu */
    --menu-size-m-item-spaceHor: 15px; /* Размер горизонтального внутреннего отступа в пункте у m-menu */
    --menu-size-m-item-indentBottom: 5px; /* Размер нижнего внешнего отступа от пунктов до группы у m-menu */
    --menu-size-m-item-icon-indentRight: 6px;
    --menu-size-m-titleSibling-indentLeft: 20px; /* Размер внешнего левого отступа у сущностей после тайтла у m-menu */
    --message-box-fontSize: var(--typography-controls-size-s-font-size);
    --message-box-font-family: var(--control-font-family);
    --message-box-lineHeight: 16px;
    --message-box-hint-borderRadius: 4px;
    --message-box-close-lineHeight: 16px;
    --message-box-close-fontSize: 11px;
    --message-box-close-indentRight: 7px;
    --message-box-close-width: 16px;
    --message-box-close-height: 16px;
    --message-box-text-indentLeft: 20px;
    --message-box-text-indentRight: 20px;
    --message-box-content-spaceAll: 20px;
    --message-box-content-max-width: 180px;
    --message-box-size-s-tail-size: 22px; /* Размер хвоста у message-box */
    --message-box-size-s-tooltip-fontSize: 11px;
    --message-box-size-s-f


chen Schreis",
[8962] = "Kodex des Gedankenschlages II",
[8963] = "Kodex der Gedankenbesänftigung",
[8964] = "Kodex der Blitzheilung",
[8965] = "Kodex des Verblassens II",
[8966] = "Kodex der Untotenfesselung",
[8967] = "Kodex des Gedankenschlages III",
[8968] = "Kodex des Manabrands",
[8969] = "Kodex der Blitzheilung II",
[8971] = "Kodex des Psychischen Schreis II",
[8972] = "Kodex des Gedankenschlages IV",
[8973] = "Dicker Yetibalg",
[8974] = "Kodex der Gedankenkontrolle",
[8975] = "Kodex des Verblassens III",
[8976] = "Kodex der Krankheitsaufhebung",
[8977] = "Kodex des Manabrands II",
[8978] = "Kodex der Blitzheilung III",
[8980] = "Kodex des Gedankenschlages V",
[8981] = "Kodex der Gedankenbesänftigung II",
[8983] = "Kodex der Blitzheilung IV",
[8984] = "Leere Giftphiole",
[8985] = "Leere Giftphiole",
[8986] = "Kodex der Untotenfesselung II",
[8987] = "Kodex des Heiligen Schutzes II",
[8988] = "Kodex des Manabrands III",
[8989] = "Kodex des Verblassens IV",
[8990] = "Kodex des Gedankenschlages VI",
[8991] = "Kodex des inneren Feuers IV",
[8992] = "Kodex des Psychischen Schreis III",
[8993] = "Kodex des Schattenschutzes II",
[8994] = "Kodex des Schattenwortes: Schmerz VI",
[8995] = "Kodex des Heiligen Wortes: Schild VII",
[8996] = "Kodex der Auferstehung III",
[8997] = "Kodex der Gedankenkontrolle II",
[8998] = "Kodex der Gedankensicht II",
[8999] = "Kodex der Blitzheilung V",
[9000] = "Kodex der Erneuerung VII",
[9001] = "Kodex der großen Heilung II",
[9002] = "Kodex des Gedankenschlages VII",
[9003] = "Kodex der heiligen Pein VII",
[9004] = "Kodex des Heiligen Wortes: Seelenstärke V",
[9005] = "Kodex des Manabrands IV",
[9006] = "Kodex des Heiligen Wortes: Schild VIII",
[9007] = "Kodex des Verblassens V",
[9008] = "Kodex des Gebets der Heilung III",
[9009] = "Kodex des inneren Feuers V",
[9010] = "Kodex der Blitzheilung VI",
[9011] = "Kodex des Schattenwortes: Schmerz VII",
[9012] = "Kodex der Erneuerung VIII",
[9013] = "Kodex der großen Heilung III",
[9014] = "Kodex der Gedankenbesänftigung III",
[9015] = "Kodex des Gedankenschlages VIII",
[9016] = "Kodex der heiligen Pein VIII",
[9017] = "Kodex des Heiligen Schutzes III",
[9018] = "Kodex des Heiligen Wortes


rentRebootNumber int
	desiredRebootNumber int

	errs     []error
	fatalErr error
}

func (r *WaitForNodeRebootRuntime) rebootNumbersForNode(ctx context.Context, currNode *corev1.Node) rebootNumbers {
	ret := rebootNumbers{}
	nodeName := currNode.Name

	{
		ret.currentMachineConfigName = currNode.Annotations["machineconfiguration.openshift.io/currentConfig"]
		if len(ret.currentMachineConfigName) == 0 {
			ret.fatalErr = fmt.Errorf("nodes/%v is missing .annotations[machineconfiguration.openshift.io/currentConfig]", nodeName)
			return ret
		}
		currentMachineConfig, err := r.DynamicClient.Resource(rebootmachineconfigpool.MachineConfigResource).Get(ctx, ret.currentMachineConfigName, metav1.GetOptions{})
		switch {
		case apierrors.IsNotFound(err):
			ret.errs = append(ret.errs, fmt.Errorf("nodes/%v current machineconfig/%v is missing", nodeName, ret.currentMachineConfigName))
		case err != nil:
			ret.errs = append(ret.errs, fmt.Errorf("nodes/%v failed getting current machineconfig/%v: %v", nodeName, ret.currentMachineConfigName, err))
		default:
			ret.currentRebootNumber, err = rebootmachineconfigpool.GetRebootNumber(currentMachineConfig)
			if err != nil && klog.V(2).Enabled() {
				fmt.Fprintf(r.Out, "nodes/%v uses machineconfig/%v which has not rebooted at all: %v\n", nodeName, ret.currentMachineConfigName, err)
			}
		}
	}

	{
		ret.desiredMachineConfigName = currNode.Annotations["machineconfiguration.openshift.io/desiredConfig"]
		if len(ret.desiredMachineConfigName) == 0 {
			ret.fatalErr = fmt.Errorf("nodes/%v is missing .annotations[machineconfiguration.openshift.io/desiredConfig]", nodeName)
			return ret
		}
		desiredMachineConfig, err := r.DynamicClient.Resource(rebootmachineconfigpool.MachineConfigResource).Get(ctx, ret.desiredMachineConfigName, metav1.GetOptions{})
		switch {
		case apierrors.IsNotFound(err):
			ret.errs = append(ret.errs, fmt.Errorf("nodes/%v desired machineconfig/%v is missing", nodeName, ret.desiredMachineConfigName))
		case err != nil:
			ret.errs = append(ret.errs, fmt.Errorf("nodes/%v failed getting desired machineconfig/%v: %v", nodeName, ret.desiredMachineConfigName, err))
		default:
			ret.desiredRebootNumber, err = rebootmachineconfigpool.GetRebootNumber(desiredMachineConfig)
			if err != nil && klog.V(2).Enabled() {
				fmt.Fprintf(r.Out, "nodes/%v desires machineconfig/%v which has not rebooted at all: %v\n", nodeName, ret.desiredMachineConfigName, err)
			}
		}
	}

	return ret
}
package top

import (
	"bytes"
	"fmt"
	"io"
	"strings"
	"text/tabwriter"
)

type Info interface {
	PrintLine(out io.Writer)
}

func Print(out io.Writer, headers []string, infos []Info) {
	s := tabbedString(func(out *tabwriter.Writer) {
		printHeader(out, headers)
		for _, info := range infos {
			info.PrintLine(out)
			fmt.Fprintf(out, "\n")
		}
	})
	fmt.Fprintf(out, "%s", s)
}

func printHeader(out io.Writer, columns []string) {
	for _, col := range columns {
		printValue(out, col)
	}
	fmt.Fprintf(out, "\n")
}

func printArray(out io.Writer, values []string) {
	if len(values) == 0 {
		printValue(out, "<none>")
	} else {
		printValue(out, strings.Join(values, ", "))


dCidrOverprovisionConfigFieldBuilder().getBuilder();
    }

    /**
     *
     *
     *

     * [PRIVATE FIELD]
     * Pod CIDR size overprovisioning config for the cluster.
     *
     * Pod CIDR size per node depends on max_pods_per_node. By default, the value
     * of max_pods_per_node is doubled and then rounded off to next power of 2 to
     * get the size of pod CIDR block per node.
     * Example: max_pods_per_node of 30 would result in 64 IPs (/26).
     *
     * This config can disable the doubling of IPs (we still round off to next
     * power of 2)
     * Example: max_pods_per_node of 30 will result in 32 IPs (/27) when
     * overprovisioning is disabled.
     *

     *
     *
     * .google.container.v1beta1.PodCIDROverprovisionConfig pod_cidr_overprovision_config = 21;
     *
     */
    public com.google.container.v1beta1.PodCIDROverprovisionConfigOrBuilder
        getPodCidrOverprovisionConfigOrBuilder() {
      if (podCidrOverprovisionConfigBuilder_ != null) {
        return podCidrOverprovisionConfigBuilder_.getMessageOrBuilder();
      } else {
        return podCidrOverprovisionConfig_ == null
            ? com.google.container.v1beta1.PodCIDROverprovisionConfig.getDefaultInstance()
            : podCidrOverprovisionConfig_;
      }
    }

    /**
     *
     *
     *

     * [PRIVATE FIELD]
     * Pod CIDR size overprovisioning config for the cluster.
     *
     * Pod CIDR size per node depends on max_pods_per_node. By default, the value
     * of max_pods_per_node is doubled and then rounded off to next power of 2 to
     * get the size of pod CIDR block per node.
     * Example: max_pods_per_node of 30 would result in 64 IPs (/26).
     *
     * This config can disable the doubling of IPs (we still round off to next
     * power of 2)
     * Example: max_pods_per_node of 30 will result in 32 IPs (/27) when
     * overprovisioning is disabled.
     *

     *
     *
     * .google.container.v1beta1.PodCIDROverprovisionConfig pod_cidr_overprovision_config = 21;
     *
     */
    private com.google.protobuf.SingleFieldBuilderV3<
            com.google.container.v1beta1.PodCIDROverprovisionConfig,
            com.google.container.v1beta1.PodCIDROverprovisionConfig.Builder,
            com.google.container.v1beta1.PodCIDROverprovisionConfigOrBuilder>
        getPodCidrOverprovisionConfigFieldBuilder() {
      if (podCidrOverprovisionConfigBuilder_ == null) {
        podCidrOverprovisionConfigBuilder_ =
            new com.google.protobuf.SingleFieldBuilderV3<
                com.google.container.v1beta1.PodCIDROverprovisionConfig,
                com.google.container.v1beta1.PodCIDROverprovisionConfig.Builder,
                com.google.container.v1beta1.PodCIDROverprovisionConfigOrBuilder>(
                getPodCidrOverprovisionConfig(), getParentForChildren(), isClean());
        podCidrOverprovisionConfig_ = null;
      }
      return podCidrOverprovisionConfigBuilder_;
    }

    private java.lang.Object subnetIpv6CidrBlock_ = "";

    /**
     *
     *
     *

     * Output only. The subnet's IPv6 CIDR block


ng whether the current credential is configured
        for mTLS and should add a certificate to the outgoing calls to the sts and service
        account impersonation endpoint.

        Returns:
            bool: True if the credential is configured for mTLS, False if it is not.
        """
        return False

    def _get_mtls_cert_and_key_paths(self):
        """Gets the file locations for a certificate and private key file
        to be used for configuring mTLS for the sts and service account
        impersonation calls. Currently only expected to return a value when using
        X509 workload identity federation.

        Returns:
            Tuple[str, str]: The cert and key file locations as strings in a tuple.

        Raises:
            NotImplementedError: When the current credential is not configured for
                mTLS.
        """
        raise NotImplementedError(
            "_get_mtls_cert_and_key_location must be implemented."
        )

    @classmethod
    def from_info(cls, info, **kwargs):
        """Creates a Credentials instance from parsed external account info.

        Args:
            info (Mapping[str, str]): The external account info in Google
                format.
            kwargs: Additional arguments to pass to the constructor.

        Returns:
            google.auth.identity_pool.Credentials: The constructed
                credentials.

        Raises:
            InvalidValue: For invalid parameters.
        """
        return cls(
            audience=info.get("audience"),
            subject_token_type=info.get("subject_token_type"),
            token_url=info.get("token_url"),
            token_info_url=info.get("token_info_url"),
            service_account_impersonation_url=info.get(
                "service_account_impersonation_url"
            ),
            service_account_impersonation_options=info.get(
                "service_account_impersonation"
            )
            or {},
            client_id=info.get("client_id"),
            client_secret=info.get("client_secret"),
            credential_source=info.get("credential_source"),
            quota_project_id=info.get("quota_project_id"),
            workforce_pool_user_project=info.get("workforce_pool_user_project"),
            universe_domain=info.get(
                "universe_domain", credentials.DEFAULT_UNIVERSE_DOMAIN
            ),
            **kwargs
        )

    @classmethod
    def from_file(cls, filename, **kwargs):
        """Creates a Credentials instance from an external account json file.

        Args:
            filename (str): The path to the external account json file.
            kwargs: Additional arguments to pass to the constructor.

        Returns:
            google.auth.identity_pool.Credentials: The constructed
                credentials.
        """
        with io.open(filename, "r", encoding="utf-8") as json_file:
            data = json.load(json_file)
            return cls.from_info(data, **kwargs)


  0x20003d18, 0x3200730c, 0x6b1a730c, 0x070b0a05,   // ku.sq.un_740 ny.bs.un_530  ny.tl.ceb_543 pt.es.it_333
  0x732d5508, 0x01033f0e, 0x2f002123, 0x0420080c,   // rw.sk.ny_443 af.nl.en_555  jw.su.un_880 no.sq.fi_543
  0x07000b13, 0x07100aa4, 0x10005307, 0x212f3004,   // es.it.un_650 mk.be.bg_433  ht.lt.un_420 uz.su.jw_332
  // [4350]
  0x060e1ca0, 0x1b201312, 0x0f001907, 0x350a1704,   // id.is.de_322 et.sq.tr_654  gl.lv.un_420 sr.mk.tg_332
  0x73212fa9, 0x131a6b12, 0x0e001f18, 0x1e211caf,   // su.jw.ny_544 ceb.tl.et_654  cy.is.un_740 id.jw.ms_655
  0x11532aec, 0x01033d07, 0x0b0a1ea0, 0x3d003f13,   // mt.ht.ro_644 ku.nl.en_432  ms.pt.es_322 af.ku.un_650
  0x2f2917a4, 0x040a08a4, 0x30082aee, 0x300a0709,   // sr.sl.su_433 uk.mk.ru_433  mt.no.uz_422 bg.mk.uz_444
  // [4360]
  0x0100180e, 0x55062805, 0x73646b0c, 0x2d0d21ec,   // ga.en.un_550 sw.de.rw_333  ceb.lg.ny_543 jw.cs.sk_644
  0x28001f08, 0x73640908, 0x212d0d13, 0x08170a0c,   // cy.sw.un_430 pl.lg.ny_443  cs.sk.jw_665 mk.sr.uk_543
  0x5500170e, 0x1f030e08, 0x3011350c, 0x1e005302,   // sr.rw.un_550 is.nl.cy_443  tg.ro.uz_543 ht.ms.un_220
  0x12190b5a, 0x2f1e2104, 0x32160eee, 0x0d2d2110,   // es.gl.hu_553 jw.ms.su_332  is.hr.bs_422 jw.sk.cs_642
  // [4370]
  0x1c213007, 0x231103a0, 0x033f04ec, 0x1c3d3004,   // uz.jw.id_432 nl.ro.ca_322  fi.af.nl_644 uz.ku.id_332
  0x180705a0, 0x0d3d2daf, 0x2d003f13, 0x550719a6,   // fr.it.ga_322 sk.ku.cs_655  af.sk.un_650 gl.it.rw_521
  0x3d002120, 0x03373fa4, 0x171304ec, 0x55005304,   // jw.ku.un_850 af.st.nl_433  fi.et.sr_644 ht.rw.un_320
  0x3d2d0d6d, 0x04000308, 0x2a0405ee, 0x2d3d2113,   // cs.sk.ku_874 nl.fi.un_430  fr.fi.mt_422 jw.ku.sk_665
  // [4380]
  0x2a051907,


e var name: String? = null
    override var doubleSided: Boolean = true
    override var transparent: Boolean = false
    override var fragmentID = 0

    override fun generateShadeStyle(context: MaterialContext, primitiveContext: PrimitiveContext): ShadeStyle {
        return shadeStyle {
            fragmentPreamble = """
                int f_fragmentID = p_fragmentID;
            """.trimIndent()

            fragmentTransform = """
                x_fill.rgb = vec3(normalize(v_viewNormal).z);
            """.trimIndent()

            parameter("fragmentID", fragmentID)
        }
    }

    override fun applyToShadeStyle(context: MaterialContext, shadeStyle: ShadeStyle) {

    }

}

data class MaterialContext(val pass: RenderPass,
                           val lights: List<NodeContent<Light>>,
                           val fogs: List<NodeContent<Fog>>,
                           val shadowMaps: Map<ShadowLight, RenderTarget>,
                           val meshCubemaps: Map<Mesh, Cubemap>,
                           val irradianceProbeCount: Int
                           ) {

    var irradianceSH: IrradianceSH? = null
}

@JvmRecord
data class PrimitiveContext(val hasNormalAttribute: Boolean, val hasSkinning: Boolean)

@JvmRecord
data class ContextKey(val materialContext: MaterialContext, val primitiveContext: PrimitiveContext)
package org.openrndr.extra.dnk3

import org.openrndr.color.ColorRGBa
import org.openrndr.draw.DrawPrimitive
import org.openrndr.draw.IndexBuffer
import org.openrndr.draw.VertexBuffer
import org.openrndr.math.Matrix44
import org.openrndr.math.transforms.perspective
import org.openrndr.shape.Path3D

class Geometry(val vertexBuffers: List<VertexBuffer>,
               val indexBuffer: IndexBuffer?,
               val primitive: DrawPrimitive,
               val offset: Int,
               val vertexCount: Int) {

    override fun toString(): String {
        return "Geometry(vertexBuffers: $vertexBuffers, indexBuffers: $indexBuffer, primitive: $primitive, offset: $offset, vertexCount: $vertexCount)"
    }

    override fun hashCode(): Int {
        var result = 0
        result = 31 * result + primitive.ordinal.hashCode()
        result = 31 * result + offset.hashCode()
        result = 31 * result + vertexCount.hashCode()
        return result
    }
}

val DummyGeometry = Geometry(emptyList(), null, DrawPrimitive.TRIANGLES, 0, 0)

sealed class Entity
class MeshPrimitive(var geometry: Geometry, var material: Material) {
    override fun toString(): String {
        return "MeshPrimitive(geometry: $geometry, material: $material)"
    }

    override fun hashCode(): Int {
        var result = geometry.hashCode()
        result = 31 * result + material.hashCode()
        return result
    }
}

class MeshPrimitiveInstance(val primitive: MeshPrimitive, val instances: Int, val attributes: List<VertexBuffer>)

class PathMesh(var paths: MutableList<Path3D>, var material: Material, var weight: Double) : Entity() {
    override fun toString(): String {
        return "PathMesh(paths=$paths)"
    }

    override fun hashCode(): Int {
        return paths.hashCode()
    }
}

abstract class MeshBase(var primitives: List<MeshPrimitive>) : Entity()
class Mesh(primitives: List<MeshPrimitive>) : MeshBase(


// Copyright (c) 2009-2010 Satoshi Nakamoto
// Copyright (c) 2009-2015 The Bitcoin Core developers
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.

#ifndef BITCOIN_SUPPORT_ALLOCATORS_ZEROAFTERFREE_H
#define BITCOIN_SUPPORT_ALLOCATORS_ZEROAFTERFREE_H

#include "support/cleanse.h"

#include <memory>
#include <vector>

template <typename T>
// NOLINTNEXTLINE(cppcoreguidelines-special-member-functions)
struct zero_after_free_allocator : public std::allocator<T> {
    typedef std::allocator<T> base;
    zero_after_free_allocator() throw() {}
    zero_after_free_allocator(const zero_after_free_allocator &a) throw()
        : base(a) {}
    template <typename U>
    zero_after_free_allocator(const zero_after_free_allocator<U> &a) throw()
        : base(a) {}
    ~zero_after_free_allocator() throw() {}
    // NOLINTNEXTLINE(bugprone-reserved-identifier)
    template <typename _Other> struct rebind {
        typedef zero_after_free_allocator<_Other> other;
    };

    void deallocate(T *p, std::size_t n) {
        if (p != nullptr) memory_cleanse(p, sizeof(T) * n);
        std::allocator<T>::deallocate(p, n);
    }
};

// Byte-vector that clears its contents before deletion.
typedef std::vector<char, zero_after_free_allocator<char>> CSerializeData;

#endif // BITCOIN_SUPPORT_ALLOCATORS_ZEROAFTERFREE_H


  SYNOPSIS
    mi_change_key_cache()
    old_key_cache	Old key cache
    new_key_cache	New key cache

  NOTES
    This is used when we delete one key cache.

    To handle the case where some other threads tries to open an MyISAM
    table associated with the to-be-deleted key cache while this operation
    is running, we have to call 'multi_key_cache_change()' from this
    function while we have a lock on the MyISAM table list structure.

    This is safe as long as it's only MyISAM that is using this specific
    key cache.
*/

void mi_change_key_cache(KEY_CACHE *old_key_cache,
			 KEY_CACHE *new_key_cache)
{
  LIST *pos;
  DBUG_ENTER("mi_change_key_cache");

  /*
    Lock list to ensure that no one can close the table while we manipulate it
  */
  mysql_mutex_lock(&THR_LOCK_myisam);
  for (pos=myisam_open_list ; pos ; pos=pos->next)
  {
    MI_INFO *info= (MI_INFO*) pos->data;
    MYISAM_SHARE *share= info->s;
    if (share->key_cache == old_key_cache)
      mi_assign_to_key_cache(info, (ulonglong) ~0, new_key_cache);
  }

  /*
    We have to do the following call while we have the lock on the
    MyISAM list structure to ensure that another thread is not trying to
    open a new table that will be associted with the old key cache
  */
  multi_key_cache_change(old_key_cache, new_key_cache);
  mysql_mutex_unlock(&THR_LOCK_myisam);
  DBUG_VOID_RETURN;
}


 *   status: 'success',
 *   user: {
 *     // User fields your app needs, like "id", "name", "email", etc.
 *   }
 * }Ø
 * ```
 *
 * Se o campo `status` não for` success`, um erro será detectado e retornado.
 */
@Injectable()
export class User {
  _user: any;

  constructor(public api: Api, private storage: StorageService) { }

  /**
   Envie uma solicitação POST para nosso endpoint de login com os dados
    que o usuário inseriu no formulário.
   */
  login(accountInfo: any) {
    let seq = this.api.post('usuarios/login', accountInfo).share();

    seq.subscribe((res: any) => {
      this._loggedIn(res);
    }, err => {
      console.error('ERROR', err);
    });
    return seq;
  }

  /**
   Envie uma solicitação POST ao nosso endpoint de inscrição com
   os dados que o usuário inseriu no formulário.
   */
  signup(accountInfo: any) {
    let seq = this.api.post('usuarios', accountInfo).share();

    seq.subscribe((res: any) => {
      this._loggedIn(res);
    }, err => {
      console.error('ERROR', err);
    });

    return seq;
  }

  /**
   * Log the user out, which forgets the session
   */
  logout() {
    this._user = null;
    this.storage.remove('usuario');
  }

  /**
   * Process a login/signup response to store user data
   */
  _loggedIn(resp) {
    this._user = resp;
    this.api.get('usuarios/'+this._user.userId).share().subscribe(res=>{
      this.storage.add('usuario', res);
    });
  }

  buscaPorId(resp) {
    this._user = resp;
    this.storage.add('usuario', this._user);
  }
}
import {Component} from '@angular/core';
import {Observable} from 'rxjs';
import {debounceTime, map} from 'rxjs/operators';

const statesWithFlags: {name: string, flag?: boolean,tip?: boolean}[] = [
  {'name': 'Alabama', 'flag': false},
  {'name': 'Alaska', 'flag': false},
  {'name': 'Arizona', 'flag': false},
  {'name': 'Arkansas', 'flag': false},
  {'name': 'California', 'flag':false},
  {'name': 'Colorado', 'flag': false},
  {'name': 'Connecticut', 'flag': false},
  {'name': 'Delaware', 'flag': false},
  {'name': 'Florida', 'flag': false},
  {'name': 'Georgia','flag': false
  },
  {'name': 'Hawaii', 'flag': false},
  {'name': 'Idaho', 'flag': false},
  {'name': 'Illinois', 'flag': false},
  {'name': 'Indiana', 'flag': false},
  {'name': 'Iowa', 'flag': false},
  {'name': 'Kansas', 'flag': false},
  {'name': 'Kentucky', 'flag': false},
  {'name': 'Louisiana', 'flag': false},
  {'name': 'Maine', 'flag': false},
  {'name': 'Maryland', 'flag':false},
  {'name': 'Massachusetts', 'flag': false},
  {'name': 'Michigan', 'flag':false},
  {'name': 'Minnesota', 'flag': false},
  {'name': 'Mississippi', 'flag': false},
  {'name': 'Missouri', 'flag': false},
  {'name': 'Montana', 'flag': false},
  {'name': 'Nebraska', 'flag': false},
];

@Component({
  selector: 'ngbd-typeahead-template',
  templateUrl: './typeahead-template.html',
  styles: [`.form-control { width: 300px; }`]
})
export class NgbdTypeaheadTemplate {
  public model: any;
  public isToolTipActive: boolean;

  search = (text$: Observable


ngine_mainnet();

    let boc_99 = base64::decode(SHARD_BLOCK_0_A000000000000000_99_BOC)?;
    engine.check_shard_block(&boc_99).await?;

    let boc_101 = base64::decode(SHARD_BLOCK_0_A000000000000000_101_BOC)?;
    engine.check_shard_block(&boc_101).await?;

    Ok(())
}

#[tokio::test]
async fn test_check_mc_proof() -> Result<()> {
    let engine = create_engine_mainnet();

    engine.check_mc_block_proof(
        100,
        &UInt256::from_str("01872c85facaa85405518a759dfac2625bc94b9e85b965cf3875d2331db9ad95")?,
    ).await?;

    // From cache:
    engine.check_mc_block_proof(
        100,
        &UInt256::from_str("01872c85facaa85405518a759dfac2625bc94b9e85b965cf3875d2331db9ad95")?,
    ).await?;

    assert!(
        engine.check_mc_block_proof(
            101,
            &UInt256::from_str("01872c85facaa85405518a759dfac2625bc94b9e85b965cf3875d2331db9ad95")?,
        ).await.is_err(),
    );

    // From cache:
    assert!(
        engine.check_mc_block_proof(
            100,
            &UInt256::from_str("1111111111111111111111111111111111111111111111111111111111111111")?,
        ).await.is_err(),
    );

    Ok(())
}

async fn query_data(
    context: Arc<ClientContext>,
    collection: &str,
    id: &str,
    result: &str
) -> Result<Value> {
    Ok(query_collection(
        context,
        ParamsOfQueryCollection {
            collection: collection.to_string(),
            result: result.to_string(),
            filter: Some(json!({
                "id": {
                    "eq": id,
                },
            })),
            limit: Some(1),
            ..Default::default()
        }
    ).await?.result.remove(0))
}

async fn query_block_data(context: Arc<ClientContext>, id: &str, result: &str) -> Result<Value> {
    query_data(context, "blocks", id, result).await
}

async fn query_transaction_data(context: Arc<ClientContext>, id: &str, result: &str) -> Result<Value> {
    query_data(context, "transactions", id, result).await
}

async fn query_message_data(context: Arc<ClientContext>, id: &str, result: &str) -> Result<Value> {
    query_data(context, "messages", id, result).await
}

fn resolve_type_name(typ: &Type<String>) -> String {
    match typ {
        Type::NamedType(ref


AFfrgQrvWXpdFg3KXxAMsKMbdN.19.woff2) format('woff2');
  unicode-range: U+84b4, U+84b9-84bb, U+84bd-84c2, U+84c6-84ca, U+84cc-84d1, U+84d3, U+84d6, U+84d9-84da, U+84dc, U+84e7, U+84ea, U+84ec, U+84ef-84f2, U+84f4, U+84f7, U+84fa-84fd, U+84ff-8500, U+8502-8503, U+8506-8507, U+850c, U+850e, U+8510, U+8514-8515, U+8517-8518, U+851a-851c, U+851e-851f, U+8521-8525, U+8527, U+852a-852c, U+852f, U+8532-8534, U+8536, U+853e-8541, U+8543, U+8546, U+8548, U+854a-854b, U+854f-8553, U+8555-855a, U+855c-8564, U+8569-856b, U+856d, U+856f, U+8577, U+8579-857b, U+857d-8581, U+8585-8586, U+8588-858c, U+858f-8591, U+8593, U+8597-8598, U+859b-859d, U+859f-85a0, U+85a2, U+85a4-85a5, U+85a7-85a8, U+85ad-85b0, U+85b4, U+85b6-85ba, U+85bc-85bf, U+85c1-85c2, U+85c7, U+85c9-85cb, U+85ce-85d0, U+85d5, U+85d8-85da, U+85dc, U+85df-85e1, U+85e5-85e6, U+85e8, U+85ed, U+85f3-85f4, U+85f6-85f7, U+85f9-85fa, U+85fc, U+85fe-8600, U+8602, U+8604-8606, U+860a-860b, U+860d-860e, U+8610-8613, U+8616-861b, U+861e, U+8621-8622, U+8624, U+8627, U+8629, U+862f-8630, U+8636, U+8638-863a, U+863c-863d, U+863f-8642, U+8646, U+864d, U+8652-8654;
}
/* [20] */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/notosansjp/v53/-F62fjtqLzI2JPCgQBnw7HFowwII2lcnk-AFfrgQrvWXpdFg3KXxAMsKMbdN.20.woff2) format('woff2');
  unicode-range: U+82e8, U+82ea, U+82ed, U+82ef, U+82f3-82f4, U+82f6-82f7, U+82f9, U+82fb, U+82fd-82fe, U+8300-8301, U+8303, U+8306-8308, U+830a-830c, U+8316-8318, U+831b, U+831d-831f, U+8321-8323, U+832b-8335,


pergamino glífico, luego ve a la iglesia de Camposanto y habla con Isabella."}},
[3099] = {"Un pergamino corrupto", nil, {"Lee el pergamino corrupto, luego ve a Camposanto y habla con Maximillion."}},
[3100] = {"Una carta simple", nil, {"Lee la carta simple y habla con Llane Beshere en la Abadía de Villanorte."}},
[3101] = {"Una carta consagrada", nil, {"Lee la carta consagrada y habla con el hermano Sammuel en la Abadía de Villanorte."}},
[3102] = {"Una carta cifrada", nil, {"Lee la carta cifrada y habla con Jorik Kerridan en el establo que hay tras la Abadía de Villanorte."}},
[3103] = {"Una carta sacralizada", nil, {"Lee la carta sacralizada y habla con la sacerdotisa Anetta en la Abadía de Villanorte."}},
[3104] = {"Una carta glífica", nil, {"Lee la carta glífica y habla con Khelden Bremen en la Abadía de Villanorte."}},
[3105] = {"Una carta manchada", nil, {"Lee la carta impía y habla con Drusilla La Salle junto a la Abadía de Villanorte."}},
[3106] = {"Runa simple", nil, {"Lee la runa simple, luego ve al Valle de Crestanevada y habla con Thran Khorman."}},
[3107] = {"Runa consagrada", nil, {"Lee la runa consagrada, luego ve a Yunquemar y habla con Bromos Grummner."}},
[3108] = {"Runa con grabados", nil, {"Lee la runa con grabados, luego ve a Anvilmar y habla con Thorgas Grimson."}},
[3109] = {"Runa codificada", nil, {"Lee la runa codificada, luego ve a Yunquemar y habla con Solm Hargrin."}},
[3110] = {"Runa sacralizada", nil, {"Lee la runa sacralizada, luego ve a Yunquemar y habla con Silo Khalder."}},
[3111] = {"<UNUSED> [DEPRECATED]", nil, {"Habla con Marrek Stromnur en Yunquemar."}},
[3116] = {"El sigilo simple", nil, {"Habla con Alyissia dentro de Aldrassil, en Cañada Umbría."}},
[3117] = {"El sigilo con grabados", nil, {"Habla con Ayanna Semprerguida dentro de Aldrassil, en Cañada Umbría."}},
[3118] = {"El sigilo cifrado", nil, {"Habla con Frahun Sombrusurro dentro de Aldrassil, en Cañada Umbría."}},
[3119] = {"Sigilo sacralizado", nil, {"Habla con Shanda dentro de Aldrassil, en Cañada Umbría."}},
[3120] = {"El sigilo verdeante", nil, {"Habla con Mardant Fuerterroble dentro de Aldrassil, en Cañada Umbría."}},
[3121] = {"Una extraña petición", nil, {"Lleva la cabeza reducida a Xerash Hojafuego al Pabellón de Lariss en Feralas."}},
[3123] = {"Probar la vasija", nil, {"Mata a 10 osos Cueracero o corredores Dientelargo y usa la vasija de muisek de bestia para reducir y capturar a las bestias caídas.\n\nLleva 10 muestras de muisek de bestia y la vasija de muisek de bestia al médico brujo Uzer'i en Feralas."}},
[3124] = {"Muisek de hipogrifo", nil, {"ACaba con 10 hipogrifos Plumavieja de cualquier tipo y utiliza la vasija de muise


ement {
 *       @include color-by-background(#fff); // Colors text black.
 *     }
 *
 *     .my-element {
 *       @include color-by-background(#fff, 40%); // Colors text gray.
 *     }
 *
 * @param {color} $bg-color Background color of element.
 * @param {percent} $contrast Contrast of text color to its background.
 *
 */
/**
 * @class Global_CSS
 */
/**
 * Includes a base64-encoded icon for use within tab bars and buttons (With the component parameter iconMask: true).
 *
 *     @include pictos-iconmask('attachment');
 *
 * @param {string} $name The name of the icon to be included. This is to match the name of the icon file (located at resources/themes/images/default/pictos) without its extention (.png).
 */
/**
 * Includes the default styles for toolbar buttons, mostly used as a helper function.
 *
 * @param {color} $bg-color Base color to be used for the button.
 * @param {color} $type Gradient style for the button, will automatically use "recessed" when pressed.
 */
/**
 * Adds a small text shadow (or highlight) to give the impression of beveled text.
 *
 * @param {string} $type Either shadow or highlight, decides whether to apply a light shadow or dark.
 */
/**
 * Adds a small box shadow (or highlight) to give the impression of being beveled.
 *
 * @param {string} $type Either shadow or highlight, decides whether to apply a light shadow or dark.
 */
/**
 * Adds basic styles to :before or :after pseudo-elements.
 *
 *     .my-element:after {
 *       @include insertion(50px, 50px);
 *     }
 *
 * @param {measurement} $width Height of pseudo-element.
 * @param {measurement} $height Height of pseudo-element.
 * @param {measurement} $top Top positioning of pseudo-element.
 * @param {measurement} $left Left positioning of pseudo-element.
 *
 */
/**
 * Makes an element stretch to its parent's bounds.
 */
/**
 * Bevels the text based on its background.
 *
 * @param {color} $bg-color Background color of element.
 *
 * See {@link #bevel-text}.
 */
/**
 * Creates a background gradient for masked elements, based on the lightness of their background.
 *
 * @param {color} $bg-color Background color of element.
 * @param {percent} $percent Contrast of the new gradient to its background.
 * @param {percent} $style Gradient style of the gradient.
 *
 * See background-gradient mixin.
 */
/**
 * Makes the element text overflow to use ellipsis.
 */
/* line 10, /Users/jamieavins/git/SDK/touch/resources/themes/stylesheets/sencha-touch/default/core/_core.scss */
html, body {
  font-family: "Helvetica Neue", HelveticaNeue, "Helvetica-Neue", Helvetica, "BBAlpha Sans", sans-serif;
  font-weight: normal;
  position: relative;
  -webkit-text-size-adjust: none;
}

/* line 17, /Users/jamieavins/git/SDK/touch/resources/themes/stylesheets/sencha-touch/default/core/_core.scss */
body.x-desktop {
  overflow: hidden;
}

/* line 21, /Users/jamieavins/git/SDK/touch/resources/themes/stylesheets/sencha-touch/default/core/_core.scss */
*, *:after, *:before {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-user-select: none;
  -webkit-touch-callout:


2:	48 01 c1             	add    %rax,%rcx
 8084fe5:	8b 01                	mov    (%rcx),%eax
 8084fe7:	48 8b 8d 10 ff ff ff 	mov    -0xf0(%rbp),%rcx
 8084fee:	89 01                	mov    %eax,(%rcx)
 8084ff0:	8b 85 50 ff ff ff    	mov    -0xb0(%rbp),%eax
 8084ff6:	48 63 c0             	movslq %eax,%rax
 8084ff9:	48 89 c1             	mov    %rax,%rcx
 8084ffc:	48 c1 e1 02          	shl    $0x2,%rcx
 8085000:	48 8d 85 58 ff ff ff 	lea    -0xa8(%rbp),%rax
 8085007:	48 89 ca             	mov    %rcx,%rdx
 808500a:	48 01 d0             	add    %rdx,%rax
 808500d:	8b 8d 40 ff ff ff    	mov    -0xc0(%rbp),%ecx
 8085013:	89 08                	mov    %ecx,(%rax)
 8085015:	e9 99 fe ff ff       	jmpq   8084eb3 <asm_compute_constraints+0x3ff>
 808501a:	e9 5b fe ff ff       	jmpq   8084e7a <asm_compute_constraints+0x3c6>
 808501f:	b8 00 00 00 00       	mov    $0x0,%eax
 8085024:	89 85 54 ff ff ff    	mov    %eax,-0xac(%rbp)
 808502a:	8b 85 54 ff ff ff    	mov    -0xac(%rbp),%eax
 8085030:	83 f8 08             	cmp    $0x8,%eax
 8085033:	0f 8d 78 00 00 00    	jge    80850b1 <asm_compute_constraints+0x5fd>
 8085039:	e9 14 00 00 00       	jmpq   8085052 <asm_compute_constraints+0x59e>
 808503e:	8b 85 54 ff ff ff    	mov    -0xac(%rbp),%eax
 8085044:	48 89 c1             	mov    %rax,%rcx
 8085047:	83 c0 01             	add    $0x1,%eax
 808504a:	89 85 54 ff ff ff    	mov    %eax,-0xac(%rbp)
 8085050:	eb d8                	jmp    808502a <asm_compute_constraints+0x576>
 8085052:	8b 85 54 ff ff ff    	mov    -0xac(%rbp),%eax
 8085058:	48 63 c0             	movslq %eax,%rax
 808505b:	48 8b 4d e0          	mov    -0x20(%rbp),%rcx
 808505f:	48 89 c2             	mov    %rax,%rdx
 8085062:	48 01 d1             	add    %rdx,%rcx
 8085065:	0f b6 01             	movzbl (%rcx),%eax
 8085068:	85 c0                	test   %eax,%eax
 808506a:	0f 84 22 00 00 00    	je     8085092 <asm_compute_constraints+0x5de>
 8085070:	8b 85 54 ff ff ff    	mov    -0xac(%rbp),%eax
 8085076:	48 63 c0             	movslq %eax,%rax
 8085079:	48 8d 8d 20 ff ff ff 	lea    -0xe0(%rbp),%rcx
 8085080:	48 89 c2             	mov    %rax,%rdx
 8085083:	48 01 d1             	add    %rdx,%rcx
 8085086


onId,
      if (parentMessageId != null) 'parentMessageId': parentMessageId,
      if (userMessage != null) 'userMessage': userMessage,
    };
    final response = await _protocol.send(
      payload: $payload,
      method: 'POST',
      requestUri:
          '/applications/${Uri.encodeComponent(applicationId)}/conversations?sync',
      queryParams: $query,
      exceptionFnMap: _exceptionFns,
    );
    return ChatSyncOutput.fromJson(response);
  }

  /// Creates an Amazon Q Business application.
  /// <note>
  /// There are new tiers for Amazon Q Business. Not all features in Amazon Q
  /// Business Pro are also available in Amazon Q Business Lite. For information
  /// on what's included in Amazon Q Business Lite and what's included in Amazon
  /// Q Business Pro, see Amazon
  /// Q Business tiers. You must use the Amazon Q Business console to assign
  /// subscription tiers to users.
  /// </note>
  ///
  /// May throw [ResourceNotFoundException].
  /// May throw [InternalServerException].
  /// May throw [ConflictException].
  /// May throw [ThrottlingException].
  /// May throw [ValidationException].
  /// May throw [AccessDeniedException].
  /// May throw [ServiceQuotaExceededException].
  ///
  /// Parameter [displayName] :
  /// A name for the Amazon Q Business application.
  ///
  /// Parameter [attachmentsConfiguration] :
  /// An option to allow end users to upload files directly during chat.
  ///
  /// Parameter [clientIdsForOIDC] :
  /// The OIDC client ID for a Amazon Q Business application.
  ///
  /// Parameter [clientToken] :
  /// A token that you provide to identify the request to create your Amazon Q
  /// Business application.
  ///
  /// Parameter [description] :
  /// A description for the Amazon Q Business application.
  ///
  /// Parameter [encryptionConfiguration] :
  /// The identifier of the KMS key that is used to encrypt your data. Amazon Q
  /// Business doesn't support asymmetric keys.
  ///
  /// Parameter [iamIdentityProviderArn] :
  /// The Amazon Resource Name (ARN) of an identity provider being used by an
  /// Amazon Q Business application.
  ///
  /// Parameter [identityCenterInstanceArn] :
  /// The Amazon Resource Name (ARN) of the IAM Identity Center instance you are
  /// either creating for—or connecting to—your Amazon Q Business application.
  ///
  /// Parameter [identityType] :
  /// The authentication type being used by a Amazon Q Business application.
  ///
  /// Parameter [personalizationConfiguration] :
  /// Configuration information about chat response personalization. For more
  /// information, see Personalizing
  /// chat responses
  ///
  /// Parameter [qAppsConfiguration] :
  /// An option to allow end users to create and use Amazon Q Apps in the web
  /// experience.
  ///
  /// Parameter [roleArn] :
  /// The Amazon Resource Name (ARN) of an IAM role with permissions to access
  /// your Amazon CloudWatch logs and metrics.
  ///
  /// Parameter [tags] :
  /// A list of key-value pairs that identify or categorize your Amazon Q
  /// Business application. You can also use tags to help control access to the
  /// application. Tag keys and values can consist of Unicode letters, digits,
  /// white space, and any of the following symbols: _ . : / = + - @.
  Future<CreateApplicationResponse> createApplication({
    required String displayName,
    AttachmentsConfiguration? attachmentsConfiguration,
    List<String>? clientIdsForOIDC,
    String? clientToken,
    String? description,
    EncryptionConfiguration? encryptionConfiguration,
    String? i


).."].")
				return true
			end
		end
	end

	if (not Player.alive) then
		--d("[GrindCombat]: Task failure due to death.")
		return true
	end

	if (not self.noFlee and not self.fleeHandled and c_flee:evaluate()) then
		d("[GrindCombat]: Task failure due to flee.")
		return true
	end

	return false
end
function ffxiv_task_grindCombat:task_fail_execute()
	ActionList:StopCasting()
	Player:Stop()
	self.valid = false
end

ffxiv_mesh_interact = inheritsFrom(ml_task)
function ffxiv_mesh_interact.Create()
    local newinst = inheritsFrom(ffxiv_mesh_interact)

    --ml_task members
    newinst.valid = true
    newinst.completed = false
    newinst.subtask = nil
    newinst.auxiliary = false
    newinst.process_elements = {}
    newinst.overwatch_elements = {}
    newinst.name = "MESH_INTERACT"

	newinst.interact = 0
    newinst.interactLatency = 0

	newinst.skipTalkVal = gSkipTalk
	gSkipTalk = true
    return newinst
end

function ffxiv_mesh_interact:Init()
	local ke_detectYesNo = ml_element:create( "DetectYesNo", c_detectyesno, e_detectyesno, 150 )
    self:add( ke_detectYesNo, self.overwatch_elements)

	self:AddTaskCheckCEs()
end

function ffxiv_mesh_interact:task_complete_eval()
	if (self.interact == 0) then
		local interacts = EntityList("nearest,targetable,type=7,chartype=0,maxdistance2d=6")
		if (table.valid(interacts)) then
			local i, interact = next(interacts)
			if (interact and interact.id and interact.id ~= 0) then
				self.interact = interact.id
			end
		end

		local interacts = EntityList("nearest,targetable,type=3,chartype=0,maxdistance2d=6")
		if (table.valid(interacts)) then
			local i, interact = next(interacts)
			if (interact and interact.id and interact.id ~= 0) then
				self.interact = interact.id
			end
		end
	end

	if (self.interact ~= 0) then
		local target = MGetTarget()
		if (not target or (target and target.id ~= self.interact)) then
			local interact = EntityList:Get(tonumber(self.interact))
			if (interact and interact.targetable) then
				Player:SetTarget(self.interact)
				d("Setting target for interact.")
			end
		end

		if (target and target.id == self.interact and Now() > self.interactLatency) then
			if (not MIsLoading() and not MIsLocked()) then
				local interact = EntityList:Get(tonumber(self.interact))
				local radius = (interact.hitradius >= 1 and interact.hitradius) or 1
				if (interact and interact.interactable) then

				if (c_killaggrotarget:evaluate()) then
					e_killaggrotarget:execute()
					return false
				end

				--if (interact and interact.distance < (radius * 4)) then
					Player:SetFacing(interact.pos.x,interact.pos.y,interact.pos.z)
					Player:Interact(interact.id)
					self.interactLatency = Now() + 1000
				end
			end
		end
	end

	local interact = EntityList:Get(tonumber(self.interact))
	if (not interact or not interact.targetable or MIsLoading() or interact.distance2d > 6) then
		return true
	e


)
    MulAccumulate(0,3)
    MulStoreDigit(3)
    MulShiftCarry

    MulAccumulate(4,0)
    MulAccumulate(3,1)
    MulAccumulate(2,2)
    MulAccumulate(1,3)
    MulAccumulate(0,4)
    MulStoreDigit(4)
    MulShiftCarry

    MulAccumulate(5,0)
    MulAccumulate(4,1)
    MulAccumulate(3,2)
    MulAccumulate(2,3)
    MulAccumulate(1,4)
    MulAccumulate(0,5)
    MulStoreDigit(5)
    MulShiftCarry

    MulAccumulate(6,0)
    MulAccumulate(5,1)
    MulAccumulate(4,2)
    MulAccumulate(3,3)
    MulAccumulate(2,4)
    MulAccumulate(1,5)
    MulAccumulate(0,6)
    MulStoreDigit(6)
    MulShiftCarry

    MulAccumulate(7,0)
    MulAccumulate(6,1)
    MulAccumulate(5,2)
    MulAccumulate(4,3)
    MulAccumulate(3,4)
    MulAccumulate(2,5)
    MulAccumulate(1,6)
    MulAccumulate(0,7)
    MulStoreDigit(7)
    MulShiftCarry

    MulAccumulate(7,1)
    MulAccumulate(6,2)
    MulAccumulate(5,3)
    MulAccumulate(4,4)
    MulAccumulate(3,5)
    MulAccumulate(2,6)
    MulAccumulate(1,7)
    MulStoreDigit(8)
    MulShiftCarry

    MulAccumulate(7,2)
    MulAccumulate(6,3)
    MulAccumulate(5,4)
    MulAccumulate(4,5)
    MulAccumulate(3,6)
    MulAccumulate(2,7)
    MulStoreDigit(9)
    MulShiftCarry

    MulAccumulate(7,3)
    MulAccumulate(6,4)
    MulAccumulate(5,5)
    MulAccumulate(4,6)
    MulAccumulate(3,7)
    MulStoreDigit(10)
    MulShiftCarry

    MulAccumulate(7,4)
    MulAccumulate(6,5)
    MulAccumulate(5,6)
    MulAccumulate(4,7)
    MulStoreDigit(11)
    MulShiftCarry

    MulAccumulate(7,5)
    MulAccumulate(6,6)
    MulAccumulate(5,7)
    MulStoreDigit(12)
    MulShiftCarry

    MulAccumulate(7,6)
    MulAccumulate(6,7)
    MulStoreDigit(13)
    MulShiftCarry

    MulLastDiagonal(8)
    MulEpilogue
}

TAOCRYPT_NAKED void PentiumOptimized::Multiply8Bottom(word* Z, const word* X,
                                                      const word* Y)
{
    MulPrologue
    // now: [esp] = Z, esi = X, ecx = Y
    MulStartup
    MulAccumulate(0,0)
    MulStoreDigit(0)
    MulShiftCarry

    MulAccumulate(1,0)
    MulAccumulate(0,1)
    MulStoreD


ER_CCK55_LP] =
	power[ATHN_POWER_CCK55_SP] = tpow_cck[2];
	power[ATHN_POWER_CCK11_LP] =
	power[ATHN_POWER_CCK11_SP] = tpow_cck[3];
#ifndef IEEE80211_NO_HT
	for (i = 0; i < __arraycount(tpow_ht20); i++)
		power[ATHN_POWER_HT20(i)] = tpow_ht20[i];
	if (extc != NULL) {
		/* Correct PAR difference between HT40 and HT20/Legacy. */
		if (sc->sc_eep_rev >= AR_EEP_MINOR_VER_2)
			ht40inc = modal->ht40PowerIncForPdadc;
		else
			ht40inc = AR_HT40_POWER_INC_FOR_PDADC;
		for (i = 0; i < __arraycount(tpow_ht40); i++)
			power[ATHN_POWER_HT40(i)] = tpow_ht40[i] + ht40inc;
		power[ATHN_POWER_OFDM_DUP] = tpow_ht40[0];
		power[ATHN_POWER_CCK_DUP ] = tpow_ht40[0];
		power[ATHN_POWER_OFDM_EXT] = tpow_ofdm_ext[0];
		power[ATHN_POWER_CCK_EXT ] = tpow_cck_ext[0];
	}
#endif

	for (i = 0; i < ATHN_POWER_COUNT; i++) {
		power[i] -= AR_PWR_TABLE_OFFSET_DB * 2;	/* In half dB. */
		if (power[i] > AR_MAX_RATE_POWER)
			power[i] = AR_MAX_RATE_POWER;
	}

	/* Commit transmit power values to hardware. */
	ar5008_write_txpower(sc, power);
}


6 } else { 0 };
            let stencil_size = if options.contains(SurfaceOptions::STENCIL) { 8 } else { 0 };
            let attributes = [
                egl::ffi::SURFACE_TYPE as i32,      egl::ffi::WINDOW_BIT as i32,
                egl::ffi::RENDERABLE_TYPE as i32,   egl::ffi::OPENGL_ES3_BIT as i32,
                egl::ffi::RED_SIZE as i32,          8,
                egl::ffi::GREEN_SIZE as i32,        8,
                egl::ffi::BLUE_SIZE as i32,         8,
                egl::ffi::ALPHA_SIZE as i32,        8,
                egl::ffi::DEPTH_SIZE as i32,        depth_size,
                egl::ffi::STENCIL_SIZE as i32,      stencil_size,
                egl::ffi::NONE as i32,              egl::ffi::NONE as i32,
            ];
            let result = egl::ffi::ChooseConfig(self.egl_display,
                                                attributes.as_ptr(),
                                                configs.as_mut_ptr(),
                                                configs.len() as _,
                                                &mut num_configs);
            if result != egl::ffi::TRUE {
                return Err(())
            }

            // Choose an EGL pixel configuration for ANGLE.
            //
            // FIXME(pcwalton): Do a better job of making sure we get the right context via
            // `eglGetConfigAttrib()`.
            let config = configs[0];

            // Create an EGL context via ANGLE.
            let attributes = [
                egl::ffi::CONTEXT_CLIENT_VERSION as i32,    3,
                egl::ffi::NONE as i32,                      egl::ffi::NONE as i32,
            ];
            let egl_context = egl::ffi::CreateContext(self.egl_display,
                                                      config,
                                                      egl::ffi::NO_CONTEXT,
                                                      attributes.as_ptr());
            self.wrap_gl_context(egl_context)
        }
    }

    unsafe fn wrap_gl_context(&mut self, egl_context: EGLContext) -> Result<GLContext, ()> {
        if egl_context.is_null() {
            return Err(())
        }

        let mut egl_config_index = 0;
        let result = egl::ffi::QueryContext(self.egl_display,
                                            egl_context,
                                            egl::ffi::CONFIG_ID as i32,
                                            &mut egl_config_index);
        if result != egl::ffi::TRUE {
            return Err(())
        }

        let (mut configs, mut num_configs) = ([ptr::null(); 64], 0);
        let result = egl::ffi::GetConfigs(self.egl_display,
                                          configs.as_mut_ptr(),
                                          configs.len() as _,
                                          &mut num_configs);
        if result != egl::ffi::TRUE {
            return Err(())
        }

        assert!(egl_config_index < num_configs);
        let egl_config = configs[egl_config_index as usize];

        Ok(GLContext {
            egl_context,
            egl_config,
            egl_display: self.egl_display,
        })
    }

    fn gl_api(&self) -> GLAPI {
        GLAPI::GLES
    }

    fn begin_transaction(&self) {}

    fn end_transaction(&mut self,
                       promise: &Promise<()>,
                       _: &LayerMap<LayerTreeInfo>,
                       _: &LayerMap<LayerContainerInfo>,
                       _: &LayerMap<LayerGeometryInfo>,
                       _: &LayerMap<LayerSurfaceInfo>) {
        unsafe {
            let result = (**self.dcomp_device).Commit();
            assert_eq!(result


.id,
                    userLevel:vo.level,
                    honorType:1
                }));
        }
        ArrayUtil.sortByField(arr,['id'],[0]);
        return arr;
    }

    public getList2(){
        var arr = [];
        var index = 0
        for(var i=0;i<this.list2.length;i++)
        {
            var oo = this.list2[i];
            if(i>=12)
            {
                arr.push(this.fillAwardStat({
                    id:oo.id,
                    index:index++,
                    honorType:2
                }));
                continue;
            }

            //var vo = MonsterKindVO.getObject(oo.id)
            //if(!vo || vo.level > UM.level)
            //    continue;
            arr.push(this.fillAwardStat({
                id:oo.id,
                index:index++,
                honorType:2
            }));
        }
        return arr;
    }

    public getMonsterHonorData(id){
         return UM.honor.monster[id] || {t:0,w:0}
    }

    //是否有领过奖
    public isHonor(){
         for(var s in UM.honor.monster)
         {
              if(UM.honor.monster[s].a)
                return s;
         }
        return null;
    }

    //是否可以领奖
    public fillAwardStat(data){
        var oo;
        //if(data.honorType == 1)
        oo = this.getMonsterHonorData(data.id)
        //else
        //    oo = UM.honor.ring[data.id];
        //oo = oo ||  {t:0,w:0}
        var awardLevel = oo.a || 0; //已领奖的等级
        data.w = oo.w;
        data.t = oo.t;
        if(oo.t)
            data.r = oo.w/oo.t;
        else
            data.r = 0;

        data.s = data.w * data.r

        data.level = awardLevel;
        if(awardLevel == 5)
        {
            data.award = false;
            data.awardV = -1;
            return data;
        }
        var num = this.awardBase[awardLevel + 1].num
        if(oo.w >= num)
        {
            data.award = true;
            data.awardV = awardLevel + 100000;
        }
        else
        {
            data.award = false;
            data.awardV = 100000 - (num - oo.w);
        }
        return data;
    }

    //取更详细的碎片数据
    public getHonorMore(fun?){
        if(UM.honor.monster)
        {
            if(fun)
                fun();
            return;
        }
        var self = this;
        var oo:any = {};
        Net.addUser(oo);
        Net.send(GameEvent.honor.honor_more,oo,function(data){
            var msg = data.msg;
            UM.honor = msg.honor;
            EM.dispatch(GameEvent.client.honor_change);
            if(fun)
                fun();
        });
    }

    //领奖
    public award(type,id,step,fun?){
        var self = this;
        var oo:any = {};
        oo.type = type;
        oo.id = id;
        oo.step = step;
        Net.addUser(oo);
        Net.send(GameEvent.honor.honor_award,oo,function(data){
            var msg = data.msg;
            if(msg.fail == 1)
            {
                Alert('找不到成就数据');
                return;
            }
            if(msg.fail == 2)


#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You 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.
#
from pyspark.pandas.missing import unsupported_function

def _unsupported_function(method_name, deprecated=False, reason=""):
    return unsupported_function(
        class_name="pd", method_name=method_name, deprecated=deprecated, reason=reason
    )

class MissingPandasLikeGeneralFunctions:
    # NOTE: Please update the pandas-on-Spark reference document when implementing the new API.
    # Documentation path: `python/docs/source/reference/pyspark.pandas/`.

    pivot = _unsupported_function("pivot")
    pivot_table = _unsupported_function("pivot_table")
    crosstab = _unsupported_function("crosstab")
    cut = _unsupported_function("cut")
    qcut = _unsupported_function("qcut")
    merge_ordered = _unsupported_function("merge_ordered")
    factorize = _unsupported_function("factorize")
    unique = _unsupported_function("unique")
    wide_to_long = _unsupported_function("wide_to_long")
    bdate_range = _unsupported_function("bdate_range")
    period_range = _unsupported_function("period_range")
    infer_freq = _unsupported_function("infer_freq")
    interval_range = _unsupported_function("interval_range")
    eval = _unsupported_function("eval")


 definition ABIs and reference ABIs.
type SymABIs struct {
	defs map[string]obj.ABI
	refs map[string]obj.ABISet

	localPrefix string
}

func NewSymABIs(myimportpath string) *SymABIs {
	var localPrefix string
	if myimportpath != "" {
		localPrefix = objabi.PathToPrefix(myimportpath) + "."
	}

	return &SymABIs{
		defs:        make(map[string]obj.ABI),
		refs:        make(map[string]obj.ABISet),
		localPrefix: localPrefix,
	}
}

// canonicalize returns the canonical name used for a linker symbol in
// s's maps. Symbols in this package may be written either as "".X or
// with the package's import path already in the symbol. This rewrites
// both to `"".`, which matches compiler-generated linker symbol names.
func (s *SymABIs) canonicalize(linksym string) string {
	// If the symbol is already prefixed with localPrefix,
	// rewrite it to start with "" so it matches the
	// compiler's internal symbol names.
	if s.localPrefix != "" && strings.HasPrefix(linksym, s.localPrefix) {
		return `"".` + linksym[len(s.localPrefix):]
	}
	return linksym
}

// ReadSymABIs reads a symabis file that specifies definitions and
// references of text symbols by ABI.
//
// The symabis format is a set of lines, where each line is a sequence
// of whitespace-separated fields. The first field is a verb and is
// either "def" for defining a symbol ABI or "ref" for referencing a
// symbol using an ABI. For both "def" and "ref", the second field is
// the symbol name and the third field is the ABI name, as one of the
// named cmd/internal/obj.ABI constants.
func (s *SymABIs) ReadSymABIs(file string) {
	data, err := ioutil.ReadFile(file)
	if err != nil {
		log.Fatalf("-symabis: %v", err)
	}

	for lineNum, line := range strings.Split(string(data), "\n") {
		lineNum++ // 1-based
		line = strings.TrimSpace(line)
		if line == "" || strings.HasPrefix(line, "#") {
			continue
		}

		parts := strings.Fields(line)
		switch parts[0] {
		case "def", "ref":
			// Parse line.
			if len(parts) != 3 {
				log.Fatalf(`%s:%d: invalid symabi: syntax is "%s sym abi"`, file, lineNum, parts[0])
			}
			sym, abistr := parts[1], parts[2]
			abi, valid := obj.ParseABI(abistr)
			if !valid {
				log.Fatalf(`%s:%d: invalid symabi: unknown abi "%s"`, file, lineNum, abistr)
			}

			sym = s.canonicalize(sym)

			// Record for later.
			if parts[0] == "def" {
				s.defs[sym] = abi
			} else {
				s.refs[sym] |= obj.ABISetOf(abi)
			}
		default:
			log.Fatalf(`%s:%d: invalid symabi type "%s"`, file, lineNum, parts[0])
		}
	}
}

// GenABIWrappers applies ABI information to Funcs and generates ABI
// wrapper functions where necessary.
func (s *SymABIs) GenABIWrappers() {
	// For cgo exported symbols, we tell the linker to export the
	// definition ABI to C. That also means that we don't want to
	// create ABI wrappers even if there's a linkname.
	//
	// TODO(austin): Maybe we want to create the ABI wrappers, but
	// ensure the linker exports the right


 line.trimLeft();

      // print("i: ${i} line: ${line} ");

      lineLength = line.length;

      if (lineLength == 0) continue;

      lineFirstChar = line[0];

      // @todo invoke passed in handler if any
      if (lineFirstChar == '#') continue;

      if (lineFirstChar == 'v') {
        var data = line.split(RegExp(r"\s+"));

        switch (data[0]) {
          case 'v':
            state.vertices.addAll([
              parseFloat(data[1]),
              parseFloat(data[2]),
              parseFloat(data[3])
            ]);
            if (data.length >= 7) {
              state.colors.addAll([
                parseFloat(data[4]),
                parseFloat(data[5]),
                parseFloat(data[6])
              ]);
            } else {
              // if no colors are defined, add placeholders so color and vertex indices match
              state.colors.addAll([]);
            }

            break;
          case 'vn':
            state.normals.addAll([
              parseFloat(data[1]),
              parseFloat(data[2]),
              parseFloat(data[3])
            ]);
            break;
          case 'vt':
            state.uvs.addAll([parseFloat(data[1]), parseFloat(data[2])]);
            break;
        }
      } else if (lineFirstChar == 'f') {
        var lineData = line.substring(1).trim();
        var vertexData = lineData.split(RegExp(r"\s+"));
        List<List> faceVertices = [];

        // Parse the face vertex data into an easy to work with format

        // print(" lineFirstChar is f .................. ");
        // print(vertexData);

        for (var j = 0, jl = vertexData.length; j < jl; j++) {
          var vertex = vertexData[j];

          if (vertex.length > 0) {
            var vertexParts = vertex.split('/');
            faceVertices.add(vertexParts);
          }
        }

        // Draw an edge between the first vertex and all subsequent vertices to form an n-gon

        var v1 = faceVertices[0];

        for (var j = 1, jl = faceVertices.length - 1; j < jl; j++) {
          var v2 = faceVertices[j];
          var v3 = faceVertices[j + 1];

          state.addFace(
              v1[0],
              v2[0],
              v3[0],
              v1.length > 1 ? v1[1] : null,
              v2.length > 1 ? v2[1] : null,
              v3.length > 1 ? v3[1] : null,
              v1.length > 2 ? v1[2] : null,
              v2.length > 2 ? v2[2] : null,
              v3.length > 2 ? v3[2] : null);
        }
      } else if (lineFirstChar == 'l') {
        var lineParts = line.substring(1).trim().split(' ');
        var lineVertices = [];
        var lineUVs = [];

        if (line.indexOf('/') == -1) {
          lineVertices = lineParts;
        } else {
          for (var li = 0, llen = lineParts.length; li < llen; li++) {
            var parts = lineParts[li].split('/');

            if (parts[0] != '') lineVertices.add(parts[0]);
            if (parts[1] != '') lineUVs.add(parts[1]);
          }
        }

        state.addLineGeometry(lineVertices, lineUVs);
      } else if (lineFirstChar == 'p') {
        var lineData = line.substring(1).trim();
        var pointData = lineData.split(' ');

        state.addPointGeometry(pointData);
      } else if (_object_pattern.hasMatch(line)) {
        result = _object_pattern.allMatches(line).toList();

        // o object_name
        // or
        // g group_name

        // WORKAROUND: https://bugs.chromium.org/p/v8/issues/detail?id=2869
        // var name = result[ 0 ].substr( 1 ).trim();
        var name = (' ' + res


leFiles(emptyList())
    /**
     * Cleans up stale files excluding the given URLs.
     *
     * @param urls A list of valid URLs to exclude from cleanup.
     */
    fun cleanupStaleFiles(urls: List<String>)
    /**
     * Cleans up expired resources associated with the specified cache type.
     *
     * @param cacheTpe The [CtCacheType] for which expired resources should be cleaned up.
     */
    fun cleanupExpiredResources(cacheTpe: CtCacheType)
    /**
     * Cleans up all resources associated with the specified cache type.
     *
     * @param cacheTpe The [CtCacheType] for which all resources should be cleaned up.
     */
    fun cleanupAllResources(cacheTpe: CtCacheType)
}/*
 * This file was generated by the Gradle 'init' task.
 *
 * This is a general purpose Gradle build.
 * Learn more about Gradle by exploring our samples at https://docs.gradle.org/7.4.2/samples
 * This project uses @Incubating APIs which are subject to change.
 */

import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
import org.gradle.api.tasks.testing.logging.TestExceptionFormat
import java.time.LocalDateTime
import java.time.format.DateTimeFormatter

val defaultJdkVersion = 17
java {
    toolchain {
        languageVersion.set(JavaLanguageVersion.of(11))
    }
}

buildscript {
    repositories {
        mavenCentral()
        maven{ url = uri("https://s01.oss.sonatype.org/content/repositories/snapshots/") }
    }
}

plugins {
    idea
    `java-library`
    `maven-publish`
    signing
   // checkstyle
    id("com.diffplug.spotless") version "7.0.2"
    id("com.github.johnrengelman.shadow") version "7.1.2"
    id("com.google.protobuf") version "0.9.5"
    id("java-test-fixtures")
}

group = "com.clickhouse.kafka"
version = file("VERSION").readText().trim()
description = "The official ClickHouse Apache Kafka Connect Connector."

repositories {
    mavenCentral()
    mavenLocal()
    maven("https://packages.confluent.io/maven/")
    maven("https://jitpack.io")
}

extra.apply {
    set("clickHouseDriverVersion", "0.9.2")
    set("kafkaVersion", "2.7.0")
    set("gson", "2.13.1")
    set("jackson", "2.19.1")

    // Testing dependencies
    set("junitJupiterVersion", "5.9.2")
    set("junitPlatformVersion", "1.8.1")
    set("hamcrestVersion", "2.2")
    set("mockitoVersion", "4.0.0")

    // Integration test dependencies
    set("confluentVersion", "6.0.1")
    set("scalaVersion", "2.13")
    set("curatorVersion", "2.9.0")
    set("connectUtilsVersion", "0.4+")

    // Test extra test dependencies
    set("kafkaPlatformSchemaRegistry", "7.9.1")
    set("kafkaPlatformProtobuf", "7.9.1")
    set("testcontainers", "1.21.3")
    set("toxiproxy", "1.21.0")
    set("org.json", "20250517")
    set("libprotobuf", "3.25.8")
}

val clickhouseDependencies: Configuration by configurations.creating

dependencies {
    implementation("org.apache.kafka:connect-api:${project.extra["kafkaVersion"]}")
    implementation("com.clickhouse:clickhouse-client:${project.extra["clickHouseDriverVersion"]}")
    implementation("com.clickhouse:clickhouse-http-client:${project.extra["clickHouseDriverVersion"]}")
    implementation("com.clickhouse:clickhouse-data:${project.extra["clickHouseDriverVersion"]}")
    implementation("com.clickhouse:client-v2:${project.extra["clickHouseDriverVersion"]}")
    implementation("com.google.code.gson:gson:${project.extra["gson"]}")

    implementation("org.apache.httpcomponents.client5:httpclient5:5.5")

    // Avoid telescoping constructors problem with


512{BW,VL}
	vpunpcklbw	-123456(%esp,%esi,8), %ymm5, %ymm6{%k7}	 # AVX512{BW,VL}
	vpunpcklbw	4064(%edx), %ymm5, %ymm6{%k7}	 # AVX512{BW,VL} Disp8
	vpunpcklbw	4096(%edx), %ymm5, %ymm6{%k7}	 # AVX512{BW,VL}
	vpunpcklbw	-4096(%edx), %ymm5, %ymm6{%k7}	 # AVX512{BW,VL} Disp8
	vpunpcklbw	-4128(%edx), %ymm5, %ymm6{%k7}	 # AVX512{BW,VL}
	vpunpcklwd	%xmm4, %xmm5, %xmm6{%k7}	 # AVX512{BW,VL}
	vpunpcklwd	%xmm4, %xmm5, %xmm6{%k7}{z}	 # AVX512{BW,VL}
	vpunpcklwd	(%ecx), %xmm5, %xmm6{%k7}	 # AVX512{BW,VL}
	vpunpcklwd	-123456(%esp,%esi,8), %xmm5, %xmm6{%k7}	 # AVX512{BW,VL}
	vpunpcklwd	2032(%edx), %xmm5, %xmm6{%k7}	 # AVX512{BW,VL} Disp8
	vpunpcklwd	2048(%edx), %xmm5, %xmm6{%k7}	 # AVX512{BW,VL}
	vpunpcklwd	-2048(%edx), %xmm5, %xmm6{%k7}	 # AVX512{BW,VL} Disp8
	vpunpcklwd	-2064(%edx), %xmm5, %xmm6{%k7}	 # AVX512{BW,VL}
	vpunpcklwd	%ymm4, %ymm5, %ymm6{%k7}	 # AVX512{BW,VL}
	vpunpcklwd	%ymm4, %ymm5, %ymm6{%k7}{z}	 # AVX512{BW,VL}
	vpunpcklwd	(%ecx), %ymm5, %ymm6{%k7}	 # AVX512{BW,VL}
	vpunpcklwd	-123456(%esp,%esi,8), %ymm5, %ymm6{%k7}	 # AVX512{BW,VL}
	vpunpcklwd	4064(%edx), %ymm5, %ymm6{%k7}	 # AVX512{BW,VL} Disp8
	vpunpcklwd	4096(%edx), %ymm5, %ymm6{%k7}	 # AVX512{BW,VL}
	vpunpcklwd	-4096(%edx), %ymm5, %ymm6{%k7}	 # AVX512{BW,VL} Disp8
	vpunpcklwd	-4128(%edx), %ymm5, %ymm6{%k7}	 # AVX512{BW,VL}
	vpsllw	$0xab, %xmm5, %xmm6{%k7}	 # AVX512{BW,VL}
	vpsllw	$0xab, %xmm5, %xmm6{%k7}{z}	 # AVX512{BW,VL}
	vpsllw	$123, %xmm5, %xmm6{%k7}	 # AVX512{BW,VL}
	vpsllw	$123, (%ecx), %xmm6{%k7}	 # AVX512{BW,VL}
	vpsllw	$123, -123456(%esp,%esi,8), %xmm6{%k7}	 # AVX512{BW,VL}
	vpsllw	$123, 2032(%edx), %xmm6{%k7}	 # AVX512{BW


0 BB1A0208 */  j          .Llevel_43_80086AEC
/* 3D7F08C 80080AC4 00000000 */   nop
.Llevel_43_80080AC8:
/* 3D7F090 80080AC8 0C008426 */  addiu      $a0, $s4, 0xC
.Llevel_43_80080ACC:
/* 3D7F094 80080ACC 645E000C */  jal        OctDistance
/* 3D7F098 80080AD0 2128C003 */   addu      $a1, $fp, $zero
/* 3D7F09C 80080AD4 01284228 */  slti       $v0, $v0, 0x2801
/* 3D7F0A0 80080AD8 D10C4010 */  beqz       $v0, .Llevel_43_80083E20
/* 3D7F0A4 80080ADC 06000224 */   addiu     $v0, $zero, 0x6
/* 3D7F0A8 80080AE0 38008386 */  lh         $v1, 0x38($s4)
/* 3D7F0AC 80080AE4 1400828E */  lw         $v0, 0x14($s4)
/* 3D7F0B0 80080AE8 0880043C */  lui        $a0, %hi(g_Spyro + 0x8)
/* 3D7F0B4 80080AEC 608A848C */  lw         $a0, %lo(g_Spyro + 0x8)($a0)
/* 3D7F0B8 80080AF0 23184300 */  subu       $v1, $v0, $v1
/* 3D7F0BC 80080AF4 23106400 */  subu       $v0, $v1, $a0
/* 3D7F0C0 80080AF8 0300401C */  bgtz       $v0, .Llevel_43_80080B08
/* 3D7F0C4 80080AFC 010C4228 */   slti      $v0, $v0, 0xC01
/* 3D7F0C8 80080B00 23108300 */  subu       $v0, $a0, $v1
/* 3D7F0CC 80080B04 010C4228 */  slti       $v0, $v0, 0xC01
.Llevel_43_80080B08:
/* 3D7F0D0 80080B08 C40C4010 */  beqz       $v0, .Llevel_43_80083E1C
/* 3D7F0D4 80080B0C E800A427 */   addiu     $a0, $sp, 0xE8
/* 3D7F0D8 80080B10 10006526 */  addiu      $a1, $s3, 0x10
/* 3D7F0DC 80080B14 0C009226 */  addiu      $s2, $s4, 0xC
/* 3D7F0E0 80080B18 2000628E */  lw         $v0, 0x20($s3)
/* 3D7F0E4 80080B1C 21304002 */  addu       $a2, $s2, $zero
/* 3D7F0E8 80080B20 01004224 */  addiu      $v0, $v0, 0x1
/* 3D7F0EC 80080B24 E35D000C */  jal        VecSub
/* 3D7F0F0 80080B28 200062AE */   sw        $v0, 0x20($s3)
/* 3D7F0F4 80080B2C 1C00648E */  lw         $a0, 0x1C($s3)
/* 3D7F0F8 80080B30 46008592 */  lbu        $a1, 0x46($s4)
/* 3D7F0FC 80080B34 525E000C */  jal        func_80017948
/* 3D7F100 80080B38 00000000 */   nop
/* 3D7F104 80080B3C 2000648E */  lw         $a0, 0x20($s3)
/* 3D7F108 80080B40 218840


be if it were?

Joey: I know, but I don’t think that’s what she wants.

Ross: No, it’s not what I want either. I mean I-I can’t force myself
to fall in love with her again now.

Joey: That’s okay Ross maybe you need a new picture. Okay? It’s not
gonna be what you thought, but no matter what there’s gonna be a brand new little
baby, your baby. Who cares what the picture looks like?

Ross: Yeah.

Joey: Hey, I tell you what. Let’s you and me go out and have some fun. Huh?
Whatever you want. Come on!

Ross: (checks his watch) We can still catch that Ukrainian film.

Joey: No, I said fun!

[Scene: Outside Chandler’s Office, Chandler is just about to go into his office
when Bob calls for him from behind.]

Bob: Hey Toby!

Chandler: Hey Bobby.

Bob: It’s Bob actually. Hey, you work up here, can you tell me where this
Chandler Bing’s office is?

Chandler: Uhh yeah. Yeah, it’s (Points down the hall) right, right down
there. (When he has Bob looking down the hall, he turns around and knocks his nameplate
off of his door.) Right there, yeah. Can I ask you why?

Bob: I want to talk to that bastard, see what his problem is.

Chandler: Okay Bob listen uhh, I’m the reason you didn’t get the job
up here.

Bob: Toby don’t.

Chandler: Bob!

Bob: Toby! I’m not gonna let you cover for him. Anything you say right now
will just get me more upset with Chandler!

Chandler: Well that puts me in a difficult position.

[Scene: Monica’s Restaurant Kitchen, Monica is waiting for Tim who enters.]

Monica: Hey.

Tim: I got your page, is everything okay?

Monica: Uh well that depends, how are things with Phoebe?

Tim: Oh it’s great! It’s great! Thank you so much for introducing us!

Monica: Oh my pleasure. Okay, I’m afraid I’ve got some bad news.
(Phoebe enters.) Phoebe!

Phoebe: Monica!

Monica: (simultaneously) You’re fired!

Phoebe: (simultaneously) I’m breaking up with you!

Tim: What?

Phoebe: I’m, I’m breaking up with you.

Monica: You’re fired.</


PipelineMultisampleStateCreateInfo(a,
				VkStructureType_VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO, // sType
				0, // pNext
				0, // flags
				info.RasterizationSamples(),
				info.SampleShadingEnable(),
				info.MinSampleShading(),
				NewVkSampleMaskᶜᵖ(sampleMaskPtr), // pSampleMask
				info.AlphaToCoverageEnable(),
				info.AlphaToOneEnable(),
			)).Ptr()
	}

	var depthStencilPtr memory.Pointer
	{
		// FIXME: work with existing depth buffer
		stencilOp := NewVkStencilOpState(a,
			0, // failOp
			VkStencilOp_VK_STENCIL_OP_INCREMENT_AND_CLAMP, // passOp
			0,                                // depthFailOp
			VkCompareOp_VK_COMPARE_OP_ALWAYS, // compareOp
			255,                              // compareMask
			255,                              // writeMask
			0,                                // reference
		)
		state := MakeVkPipelineDepthStencilStateCreateInfo(a)
		state.SetSType(
			VkStructureType_VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO)
		state.SetStencilTestEnable(1)
		state.SetFront(stencilOp)
		state.SetBack(stencilOp)
		if !pInfo.DepthState().IsNil() {
			info := pInfo.DepthState()
			if info.StencilTestEnable() != 0 {
				return NilVkGraphicsPipelineCreateInfo,
					fmt.Errorf("The stencil buffer is already in use")
			}

			state.SetDepthTestEnable(info.DepthTestEnable())
			state.SetDepthWriteEnable(info.DepthWriteEnable())
			state.SetDepthCompareOp(info.DepthCompareOp())
			state.SetDepthBoundsTestEnable(info.DepthBoundsTestEnable())
			state.SetMinDepthBounds(info.MinDepthBounds())
			state.SetMaxDepthBounds(info.MaxDepthBounds())
		}
		depthStencilPtr = allocAndRead(state).Ptr()
	}

	colorBlendPtr := memory.Nullptr
	if !pInfo.ColorBlendState().IsNil() {
		info := pInfo.ColorBlendState()
		attachmentPtr, attachmentCount := unpackMapMaybeEmpty(info.Attachments())
		colorBlendPtr = allocAndRead(
			NewVkPipelineColorBlendStateCreateInfo(a,
				VkStructureType_VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO, // sType
				0, // pNext
				0, // flags
				info.LogicOpEnable(),
				info.LogicOp(),
				attachmentCount, // attachmentCount
				NewVkPipelineColorBlendAttachmentStateᶜᵖ(
					attachmentPtr), // pAttachments
				info.BlendConstants(),
			)).Ptr()
	}

	dynamicPtr := memory.Nullptr
	if !pInfo.DynamicState().IsNil() {
		info := pInfo.DynamicState()
		statesPtr, statesCount := unpackMapMaybeEmpty(info.DynamicStates())
		dynamicPtr = allocAndRead(
			NewVkPipelineDynamicStateCreateInfo(a,
				VkStructureType_VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO, // sType
				0,                              // pNext
				0,                              // flags
				statesCount,                    // dynamicStateCount
				NewVkDynamicStateᶜᵖ(statesPtr), // pDynamicStates
			)).Ptr()
	}

	flags := pInfo.Flags()
	basePipelineHandle := VkPipeline(0)
	if flags&VkPipelineCreateFlags(
		VkPipelineCreateFlagBits_VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT) != 0 {

		flags |= VkPipelineCreateFlags(
			VkPipelineCreateFlagBits_VK_PIPELINE_CREATE_DERIVATIVE_BIT)
		basePipelineHandle = pipeline


nput', data)))
                except json.JSONDecodeError:
                    user_input = data
            else:
                user_input = data

        # Process input
        result = process_input(user_input) if user_input else None

        # Output result
        if result and result.get('messages'):
            # Plain text 출력용 메시지 준비 (JSON에는 포함 안 함)
            display_message = ""
            if isinstance(result.get('messages'), list):
                display_message = "\n".join([m for m in result['messages'] if m])
            else:
                display_message = str(result.get('messages', ''))

            # Plain text만 출력 (JSON 제거)
            if display_message:
                print(display_message)

            # JSON 출력 제거 - Claude가 plain text도 파싱할 수 있음
            # print(json.dumps(result, ensure_ascii=False))
        else:
            # No valid flags or messages
            print("{}")

        return 0

    except KeyboardInterrupt:
        # User interrupted with Ctrl+C
        print("{}")
        return 130

    except Exception as e:
        # Log error to stderr (not visible in Claude Code output)
        print(f"Hook error: {str(e)}", file=sys.stderr)
        # Return safe empty JSON for Claude
        print("{}")
        return 1

if __name__ == "__main__":
    sys.exit(main())


/*
 * File      : watchdog.h
 * This file is part of RT-Thread RTOS
 * COPYRIGHT (C) 2012-2014, Shanghai Real-Thread Electronic Technology Co.,Ltd
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License along
 *  with this program; if not, write to the Free Software Foundation, Inc.,
 *  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Change Logs:
 * Date           Author       Notes
 * 2012-09-12     heyuanjie87  first version.
 */

#ifndef  __WATCHDOG_H__
#define  __WATCHDOG_H__

#include <rtthread.h>

#define RT_DEVICE_CTRL_WDT_GET_TIMEOUT    (1) /* get timeout(in seconds) */
#define RT_DEVICE_CTRL_WDT_SET_TIMEOUT    (2) /* set timeout(in seconds) */
#define RT_DEVICE_CTRL_WDT_GET_TIMELEFT   (3) /* get the left time before reboot(in seconds) */
#define RT_DEVICE_CTRL_WDT_KEEPALIVE      (4) /* refresh watchdog */
#define RT_DEVICE_CTRL_WDT_START          (5) /* start watchdog */
#define RT_DEVICE_CTRL_WDT_STOP           (6) /* stop watchdog */

struct rt_watchdog_ops;
struct rt_watchdog_device
{
    struct rt_device parent;
    const struct rt_watchdog_ops *ops;
};
typedef struct rt_watchdog_device rt_watchdog_t;

struct rt_watchdog_ops
{
    rt_err_t (*init)(rt_watchdog_t *wdt);
    rt_err_t (*control)(rt_watchdog_t *wdt, int cmd, void *arg);
};

rt_err_t rt_hw_watchdog_register(rt_watchdog_t *wdt,
                                 const char    *name,
                                 rt_uint32_t    flag,
                                 void          *data);

#endif /* __WATCHDOG_H__ */


e>

Events that happen inside IdentityServer can be recorded into the same audit database as AdminUI, providing a single view of all Identity related events.

    Previous

    Next

        Copyright © 2019 Rock Solid Knowledge
        Last updated Tuesday 01 October 2019

<!DOCTYPE html>

    <meta charset="utf-8">

    <meta http-equiv="x-ua-compatible" content="ie=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <title>Import and Export Via the API | AdminUI Documentation</title>

    <link rel="shortcut icon" href="../img/favicon.ico">
    <link rel="stylesheet" href="../css/prism-okaidia.min.css">
    <link rel="stylesheet" href="../css/fontawesome-5.7.2.min.css">
    <link rel="stylesheet" href="../css/fonts.css">
    <


  WindowManager currentWm = WindowManager.unsupported;

  /// Detect WM and start streaming state
  Future<void> load() async {
    currentWm = await detectCurrentWm();
    switch (currentWm) {
      case WindowManager.niri:
        _stateStream = Niri.watchLaunchbarEvents().listen(_controller.add);
      case WindowManager.unsupported:
        return;
    }
  }

  /// Focus to selected window ID
  Future<void> wmFocusWindow(int windowId) async {
    switch (currentWm) {
      case WindowManager.niri:
        await Niri.focusWindow(windowId: BigInt.from(windowId));
      case WindowManager.unsupported:
        return;
    }
  }

  /// Close selected window ID
  Future<void> wmCloseWindow(int windowId) async {
    switch (currentWm) {
      case WindowManager.niri:
        await Niri.closeWindow(windowId: BigInt.from(windowId));
      case WindowManager.unsupported:
        return;
    }
  }

  /// Switch to selected workspace
  Future<void> wmFocusWorkspace(int workspaceId) async {
    switch (currentWm) {
      case WindowManager.niri:
        await Niri.switchWorkspace(workspaceId: BigInt.from(workspaceId));
      case WindowManager.unsupported:
        return;
    }
  }

  /// Dispose wm stream and release resources
  Future<void> dispose() async {
    await _stateStream.cancel();
    await _controller.close();
  }
}
// This file is automatically generated, so please do not edit it.
// @generated by `flutter_rust_bridge`@ 2.11.1.

// ignore_for_file: unused_import, non_constant_identifier_names

// Static analysis wrongly picks the IO variant, thus ignore this

import 'dart:async';
import 'dart:convert';

import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated_web.dart';
import 'package:kitshell/src/rust/api/appmenu/appmenu_items.dart';
import 'package:kitshell/src/rust/api/display_info.dart';
import 'package:kitshell/src/rust/api/ipc/ipc.dart';
import 'package:kitshell/src/rust/api/ipc/types.dart';
import 'package:kitshell/src/rust/api/mpris/cava.dart';
import 'package:kitshell/src/rust/api/mpris/mpris.dart';
import 'package:kitshell/src/rust/api/notifications.dart';
import 'package:kitshell/src/rust/api/quick_settings/battery.dart';
import 'package:kitshell/src/rust/api/quick_settings/display_brightness.dart';
import 'package:kitshell/src/rust/api/quick_settings/whoami.dart';
import 'package:kitshell/src/rust/api/wm_interface/base.dart';
import 'package:kitshell/src/rust/api/wm_interface/niri.dart';
import 'package:kitshell/src/rust/frb_generated.dart';
import 'package:kitshell/src/rust/lib.dart';
import 'package:kitshell/src/rust/third_party/mpris.dart';

abstract class RustLibApiImplPlatform extends BaseApiImpl<RustLibWire> {
  RustLibApiImplPlatform({
    required super.handler,
    required super.wire,
    required super.generalizedFrbRustBinding,
    required super.portManager,
  });

  @protected
  AnyhowException dco_decode_AnyhowException(dynamic raw);

  @protected
  Dura


        x = i;
      } else
      // If the current dates[x] object is adjacent the current dates[i] object and
      // dates[x] > dates[i].
      if (iToMoment.add(1, 'd').isSame(xFromMoment, 'd')) {
        dates[i].toDate = dates[x].toDate;
        dates.splice(x, 1);
        x = i;
      } else
      // If the current dates[x] object is adjacent the current dates[i] object and
      // dates[x] < dates[i].
      if (iFromMoment.subtract(1, 'd').isSame(xToMoment, 'd')) {
        dates[i].fromDate = dates[x].fromDate;
        dates.splice(x, 1);
        x = i;
      }
    }
  }
  return dates;
};

/**
 *
 * @param {array} datesArray array of dates to be sorted
 * @returns {array} sorted array
 */
const sortDateArray = datesArray => datesArray.sort((a, b) => {
  const x = moment(a).unix();
  const y = moment(b).unix();
  return x - y;
});

/**
 *
 * @param {object} event
 * @returns {object} {MaxDate, MinDate}
 */
const eventsMaxMinDatesForEvent = (event) => {
  let minDate = moment('2999-01-01').startOf('year');
  let maxDate = moment('1970-01-01').endOf('year');
  event.dates.forEach((date) => {
    minDate = (moment(date.fromDate).isBefore(minDate)) ? moment(date.fromDate) : minDate;
    maxDate = (moment(date.toDate).isAfter(maxDate)) ? moment(date.toDate) : maxDate;
  });
  return { minDate, maxDate };
};

export { dateRangeReducer, sortDateArray, eventsMaxMinDatesForEvent };
import React, { Component } from 'react';
import Dialog from 'material-ui/Dialog';
import FlatButton from 'material-ui/FlatButton';
import autobind from 'autobind-decorator';
import cssModules from 'react-css-modules';
import PropTypes from 'prop-types';
import DayPicker from 'react-day-picker';
import Moment from 'moment';
import jsonpatch from 'fast-json-patch';
import { extendMoment } from 'moment-range';
import _ from 'lodash';
import { filterAvailabilitysOutsideDatesRange, createDatesRange, dateRangeReducer } from './selectedDatesEditorUtils';
import { isEvent } from '../../util/commonPropTypes';

import styles from './selected-dates-editor.css';

const moment = extendMoment(Moment);

class SelectedDatesEditor extends Component {
  constructor(props) {
    super(props);
    const { event } = props;
    this.state = {
      dialogOpen: false,
      dialogWarningOpen: false,
      dialogMinimumDateOpen: false,
      event,
      selectedDates: [],
    };
  }

  componentWillMount() {
    const { event } = this.props;
    const selectedDates = createDatesRange(event.dates);
    this.setState({ selectedDates });
  }

  componentWillReceiveProps(nextProps) {
    const { event } = nextProps;
    const selectedDates = createDatesRange(event.dates);
    this.setState({ selectedDates });
  }

  @autobind
  handleCloseDialog() {
    const { event } = this.props;
    const selectedDates = createDatesRange(event.dates);
    this.setState({ dialogOpen: false, selectedDates });
  }

  @autobind
  handleOpenDialog() {
    this.setState({ dialogOpen: true });
  }

  @autobind
  async handleEditEventDates() {
    const { event, submitDates } = this.props;
    const { selectedDates } = this.state;
    const nEvent = _.cloneDeep(event);
    const observerEvent = jsonpatch.observe(nEvent);
    nEvent.dates = [];
    const patch


#
# Copyright (c) 2023 Airbyte, Inc., all rights reserved.
#

from setuptools import find_packages, setup

MAIN_REQUIREMENTS = ["airbyte-cdk", "pendulum~=2.1.2"]

TEST_REQUIREMENTS = [
    "pytest~=6.1",
    "pytest-mock~=3.6.1",
    "responses~=0.13.3",
    "requests-mock",
]

setup(
    entry_points={
        "console_scripts": [
            "source-pinterest=source_pinterest.run:run",
        ],
    },
    name="source_pinterest",
    description="Source implementation for Pinterest.",
    author="Airbyte",
    author_email="contact@airbyte.io",
    packages=find_packages(),
    install_requires=MAIN_REQUIREMENTS,
    package_data={
        "": [
            # Include yaml files in the package (if any)
            "*.yml",
            "*.yaml",
            # Include all json files in the package, up to 4 levels deep
            "*.json",
            "*/*.json",
            "*/*/*.json",
            "*/*/*/*.json",
            "*/*/*/*/*.json",
        ]
    },
    extras_require={
        "tests": TEST_REQUIREMENTS,
    },
)