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

#import "Bee.h"

#if (TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR)

#pragma mark -

@interface ServiceShare_SinaWeibo_Config : NSObject

AS_SINGLETON( ServiceShare_SinaWeibo_Config )

@property (nonatomic, retain) NSString *	appKey;
@property (nonatomic, retain) NSString *	appSecret;
@property (nonatomic, retain) NSString *	redirectURI;

- (NSString *)siteRedirectURI;
- (NSString *)authorizeURL;
- (NSString *)authorizeURL:(NSString *)apiPath;
- (NSString *)apiURL:(NSString *)apiPath;

@end

#endif	// #if (TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR)


 return 'Endereço para solicitar uma recarga temporária';
			case 'tempDepositAddressTip': return '1) Este é um endereço de depósito partilhado. Não deposite o montante depois de o contrato de aluguer ter expirado ou depois de ter sido desvinculado. Se isso acontecer, o montante será perdido.';
			case 'tempDepositAddressTip2': return '2) Antes de efetuar um depósito, certifique-se de que o [nome da cadeia] e o [nome da moeda] correspondem exatamente; no caso de tokens de contrato, também precisa de se certificar de que o [padrão do contrato] e o [endereço do contrato] correspondem exatamente.';
			case 'tempDepositAddressTip3': return '3. não tente depositar fundos que não correspondam a nenhum dos parâmetros das dicas acima, caso contrário o montante será perdido.';
			case 'tempDepositAddressTip4': return '4) Se necessitar de depositar outros tipos de activos, mude para a página da moeda correspondente e para as opções de parâmetros para solicitar um novo endereço.';
			case 'applyExtensionOfValidity': return 'Pedido de prorrogação do prazo de validade';
			case 'depositAddressExpireTip': return ({required InlineSpan diff, required InlineSpanBuilder tap}) => TextSpan(children: [
				const TextSpan(text: 'Este endereço expirará após '),
				diff,
				const TextSpan(text: ' e será '),
				tap('manually extend'),
				const TextSpan(text: ' válido durante 6 horas antes de expirar.'),
			]);
			case 'canOnlyRenewWithin6hoursInAdvance': return 'Só pode ser renovado com 6 horas de antecedência';
			case 'theReceivingAddressValidForLongtime': return 'Este endereço é válido por um longo período de tempo.';
			case 'theReceivingAddressValidForLongtimeAndAutomaticallyCredited': return 'Este endereço de recolha é válido por um longo período e é automaticamente creditado em tempo real.';
			case 'confirmDeposited': return 'Confirmação dos depósitos';
			case 'unbindThisDepositAddress': return 'Separar este endereço de recarga';
			case 'confirmDepositedTip': return 'Se os fundos tiverem sido transferidos, clique no botão acima para ativar a faturação para a sua carteira após 10 minutos.';
			case 'unbindDepositAddressTip': return 'Para reduzir os custos de funcionamento do contrato inteligente, desvincule o endereço de carregamento se não pretender depositar mais fundos durante o período de validade.';
			case 'transferToAddress': return 'ir para o endereço';
			case 'longPressToPaste': return 'Pressão longa para colar';
			case 'all': return 'completo';
			case 'balanceX': return ({required Object x}) => 'Saldo ${x}';
			case 'transferOut': return 'sair';
			case 'depositXcoins': return ({required Object x}) => 'Creditado ${x}';
			case 'sender': return 'remetente';
			case 'recipient': return 'destinatário';
			case 'memo': return 'nota';
			case 'kind': return 'modo (de vida)';
			case 'transferAmountExceedsAvailableBalance': return 'Transferências que excedem o saldo disponível';
			case 'pleaseEnterValidAmount': return 'Introduzir um montante válido';
			case 'networkFee': return 'Taxa de manuseamento da rede';
			case 'fee': return 'taxa de manuseamento';
			case 'validLengthXcharacters': return ({required Object x}) => 'Endereço válido com um comprimento de ${x} caracteres';
			case 'historys':


ости повышается на %s, а выносливость на %s на %s сек"] = { false, false, false, false, { Stats.MeleeHasteRating, Stats.RangedHasteRating, Stats.SpellHasteRating, }, { Stats.Stamina, }, false, ignoreSum = true } -- s57101
L["восстанавливает %s ед. здоровья в течение %s сек. по истечении %s секунд действия эффекта персонаж насыщается, его показатель критического удара повышается на %s, а выносливость на %s на %s сек"] = { false, false, false, { Stats.MeleeCritRating, Stats.RangedCritRating, Stats.SpellCritRating, }, { Stats.Stamina, }, false, ignoreSum = true } -- s57285
L["повышает показатель критического эффекта на %s и выносливость на %s. время действия – %s сек"] = { { Stats.MeleeCritRating, Stats.RangedCritRating, Stats.SpellCritRating, }, { Stats.Stamina, }, false, } -- s57286
L["восстанавливает %s ед. здоровья за %s сек. по истечении %s секунд действия эффекта персонаж насыщается, его показатель скорости повышается на %s, а выносливость на %s на %s сек"] = { false, false, false, { Stats.MeleeHasteRating, Stats.RangedHasteRating, Stats.SpellHasteRating, }, { Stats.Stamina, }, false, ignoreSum = true } -- s57287
L["восстанавливает %s ед. здоровья течение %s сек. по истечении %s секунд действия эффекта персонаж насыщается, его показатель критического эффекта повышается на %s, а выносливость на %s на %s сек"] = { false, false, false, { Stats.MeleeCritRating, Stats.RangedCritRating, Stats.SpellCritRating, }, { Stats.Stamina, }, false, ignoreSum = true } -- s57328
L["восстанавливает %s ед. здоровья в течение %s сек. по истечении %s секунд действия эффекта персонаж насыщается, его показатель скорости повышается на %s, а выносливость на %s на %s сек"] = { false, false, false, { Stats.MeleeHasteRating, Stats.RangedHasteRating, Stats.SpellHasteRating, }, { Stats.Stamina, }, false, ignoreSum = true } -- s57331
L["при нанесении или получении урона в бою вы можете впасть в состояние берсерка. при этом ваш показатель критического удара повышается на %s на %s сек. эффект суммируется до %s раз"] = { { Stats.MeleeCritRating, Stats.RangedCritRating, Stats.SpellCritRating, }, false, false, ignoreSum = true } -- s57351
L["восстанавливает %s ед. здоровья в течение %s сек. по истечении %s секунд действия эффекта персонаж насыщается, его мастерство повышается на %s, а выносливость на


ire object: " << minimumTranslationToSeeEntireObject  << Reporter::end();
        //reportInfo() << "half depth of bounding box " << boundingBoxDepth*0.5 << Reporter::end();
        mCameraPosition[2] += -minimumTranslationToSeeEntireObject
                - boundingBoxDepth * 0.5; // half of the depth of the bounding box
                //reportInfo() << "Camera pos set to: " << cameraPosition.x() << " " << cameraPosition.y() << " " << cameraPosition.z() << Reporter::end();
        zFar = 10;//(minimumTranslationToSeeEntireObject + boundingBoxDepth) * 2;
        zNear = -10;//std::min(minimumTranslationToSeeEntireObject * 0.5, 0.1);
        mCameraPosition[2] = 0;
        aspect = (float)m_width / m_height;
        float orthoAspect = z_width / z_height;
        float scalingWidth = 1;
        float scalingHeight = 1;
        if(aspect > orthoAspect) {
            scalingWidth = aspect / orthoAspect;
        } else {
            scalingHeight = orthoAspect / aspect;
        }
        mLeft = (min[xDirection] / m_zoom) * scalingWidth;
        mRight = (max[xDirection] / m_zoom) * scalingWidth;
        mBottom = (min[yDirection] / m_zoom) * scalingHeight;
        mTop = (max[yDirection] / m_zoom) * scalingHeight;

        mCameraPosition[0] = mLeft + (mRight - mLeft) * 0.5f - centroid[0]; // center camera
        mCameraPosition[1] = mBottom + (mTop - mBottom) * 0.5f - centroid[1]; // center camera
        mCameraPosition[1] =
                        mCameraPosition[1] - 2.0f * (mBottom + (mTop - mBottom) * 0.5f); // Compensate for Y flipping

                        m3DViewingTransformation = Affine3f::Identity();
                        //m3DRenderToImageingTransformation.pretranslate(-mRotationPoint); // Move to rotation point
                        //m3DRenderToImageingTransformation.prerotate(Q.toRotationMatrix()); // Rotate
                        //m3DRenderToImageingTransformation.pretranslate(mRotationPoint); // Move back from rotation point
                        m3DViewingTransformation.scale(Vector3f(1, -1, 1));
                        m3DViewingTransformation.translate(mCameraPosition);
                        /*
                        std::cout << "Centroid: " << centroid.transpose() << std::endl;
                        std::cout << "Camera pos: " << mCameraPosition.transpose() << std::endl;
                        std::cout << "width and height: " << this->width() << " " << this->height() << std::endl;
                        std::cout << zNear << " " << zFar << std::endl;
                        std::cout << min[xDirection] << " " << max[xDirection] << std::endl;
                        std::cout << min[yDirection] << " " << max[yDirection] << std::endl;
                        std::cout << "Ortho params: " << mLeft << " " << mRight << " " << mBottom << " " << mTop << " " << scalingWidth << " " << scalingHeight << " " << zNear << " " << zFar << std::endl;
                         */
                        mPerspectiveMatrix = loadOrthographicMatrix(mLeft, mRight, mBottom, mTop, zNear, zFar);
    } else {
        // 3D Mode
        // Initialize camera
        // Get bounding boxes of all objects
        Vector3f min, max;
        getMinMaxFromBoundingBoxes(true, min, max);
        mBBMin = min;
        mBBMax = max;

        // Calculate area of each side of the resulting bounding box
        float area[3] = {(max[0] - min[0]) * (max[1] - min[1]), // XY plane
                         (max[1] - min[1]) * (max[


                         StateService.AuthorizationForm = _authorizationForm;
                                    StateService.SecureValues = _secureValues;
                                    StateService.SecureType = _secureType;
                                    StateService.SecureRequiredType = _secureRequiredType;
                                    NavigationService.UriFor<PhoneNumberCodeViewModel>().Navigate();
                                }),
                                error2 => BeginOnUIThread(() =>
                                {
                                    if (error.TypeEquals(ErrorType.PHONE_NUMBER_INVALID))
                                    {
                                        ShellViewModel.ShowCustomMessageBox(AppResources.PhoneNumberInvalidString, AppResources.Error, AppResources.Ok);
                                    }
                                    else if (error.CodeEquals(ErrorCode.FLOOD))
                                    {
                                        ShellViewModel.ShowCustomMessageBox(AppResources.FloodWaitString + Environment.NewLine + "(" + error.Message + ")", AppResources.Error, AppResources.Ok);
                                    }
                                    else
                                    {
                                        Telegram.Api.Helpers.Execute.ShowDebugMessage("account.sendVerifyPhoneCode error " + error);
                                    }
                                }));
                        }
                        else if (error.TypeEquals(ErrorType.PHONE_NUMBER_INVALID))
                        {
                            ShellViewModel.ShowCustomMessageBox(AppResources.PhoneNumberInvalidString, AppResources.Error, AppResources.Ok);
                        }
                        else if (error.CodeEquals(ErrorCode.BAD_REQUEST))
                        {
                            ShellViewModel.ShowCustomMessageBox(
                               "account.saveSecureValue" + Environment.NewLine + error.Message,
                               AppResources.AppName,
                               AppResources.Ok);
                        }
                    }));
        }
    }
}


  * and use is_loader_exception() to exempt ld.so reading their .dynamic
         * sections.
         */
        if (modname != NULL) {
            if (strncmp(modname, "libdynamorio.", 13) == 0) {
                LOG(2, "found DR lib\n");
                libdr_base = data->start;
                libdr_end = data->end;
                ASSERT(check_contiguous(data), "lib not contiguous!");
            } else if (strncmp(modname, "libdynamorio-", 13) == 0) {
                LOG(2, "found DR lib2\n");
                libdr2_base = data->start;
                libdr2_end = data->end;
                ASSERT(check_contiguous(data), "lib not contiguous!");
            } else if (strncmp(modname, "libdrmemorylib.", 12) == 0) {
                ASSERT(dr_memory_is_in_client(data->start), "client lib mismatch");
                libdrmem_base = data->start;
                libdrmem_end = data->end;
                ASSERT(check_contiguous(data), "lib not contiguous!");
            }
        }
        dr_free_module_data(data);
    }
    dr_module_iterator_stop(iter);
#endif

    heap_region_init(handle_new_heap_region, handle_removed_heap_region);

    /* must be before alloc_drmem_init() and any other use of drsyscall */
    syscall_init(drcontext _IF_WINDOWS(ntdll_base));

    hashtable_init(&known_table, KNOWN_TABLE_HASH_BITS, HASH_INTPTR, false/*!strdup*/);
    alloc_drmem_init();

    if (options.perturb)
        perturb_init();

    instrument_init();

    if (options.coverage) {
        drcovlib_options_t ops = {sizeof(ops), 0, logsubdir, };
        if (drcovlib_init(&ops) != DRCOVLIB_SUCCESS)
            ASSERT(false, "failed to init drcovlib");
    }
}


;
    await FOREVER;
end

var Tx t;
escape _V;
]],
    props = 'line 26 : not permitted inside an interface',
}
Test { [[
native _f, _V;
native/pos do
    int V = 1;
    int* f (){ escape NULL; }
end

class V with
do
    var& int? v;
    if v? then end;
        do v = &_f();
    finalize with
        _V = _V+1;
    end
    await FOREVER;
end

class U with
    var V&& v=null;
do
    var V&&? vv = spawn V;
    await FOREVER;
end

class Tx with
    var U&& u=null;
do
    var U uu;
    u = &&uu;
    //u.v = spawn V;
    var V&&? v = spawn V;
    await FOREVER;
end

var Tx t;
escape _V;
]],
    run = 1,
}

Test { [[
input void OS_START;
native _f, _V;
native/pos do
    int V = 1;
end

class V with
do
    do finalize with
        _V = _V+1;
    end
    await FOREVER;
end

class U with
    var V v;
do
    var V&&? vv = spawn V;
    await FOREVER;
end

class Tx with
    var U u;
do
    await FOREVER;
end

do
    var Tx t;
end

escape _V;
]],
    props = 'line 16 : not permitted inside an interface',
}
Test { [[
input void OS_START;
native _f, _V;
native/pos do
    int V = 1;
end

class V with
do
    do finalize with
        _V = _V+1;
    end
    await FOREVER;
end

class U with
    var V&& v=null;
do
    var V vv1;
    v = &&vv1;
    var V&&? vv = spawn V;
    await FOREVER;
end

class Tx with
    var U&& u=null;
do
    var U uu;
    u = &&uu;
    await FOREVER;
end

do
    var Tx t;
end

escape _V;
]],
    run = 3,
}

Test { [[
input void OS_START;
native _f, _V;
native/pos do
    int V = 1;
    int* f (){ escape NULL; }
end

class V with
do
    var& int? v;
        do v = &_f();
    finalize with
        _V = _V+1;
    end
    await FOREVER;
end

class U with
    var V&& v=null;
do
    var V&&? vv = spawn V;
    await FOREVER;
end

class Tx with
    var U u;
do
    //u.v = spawn V;
    var V&&? v = spawn V;
    await FOREVER;
end

do
    var Tx t;
end

escape _V;
]],
    props = 'line 27 : not permitted inside an interface',
}
Test { [[
input void OS_START;
native _f, _V;
native/pos do
    int V = 1;
    int* f (){ escape NULL; }
end

class V with
do
    var& int? v;
    if v? then end
        do v = &_f();
    finalize with
        _V = _V+1;
    end
    await FOREVER;
end

class U with
    var V&& v=null;
do
    var V&&? vv = spawn V;
    await FOREVER;
end

class Tx with
    var U&& u=null;
do
    var U uu


"""
Command to load course overviews.
"""

import logging

from django.core.management.base import BaseCommand, CommandError
from opaque_keys import InvalidKeyError

from openedx.core.djangoapps.content.course_overviews.tasks import (
    DEFAULT_ALL_COURSES,
    DEFAULT_CHUNK_SIZE,
    DEFAULT_FORCE_UPDATE,
    enqueue_async_course_overview_update_tasks
)

log = logging.getLogger(__name__)

class Command(BaseCommand):
    """
    Example usage:
        $ ./manage.py lms generate_course_overview --all-courses --settings=devstack --chunk-size=100
        $ ./manage.py lms generate_course_overview 'edX/DemoX/Demo_Course' --settings=devstack
    """
    args = '<course_id course_id ...>'
    help = 'Generates and stores course overview for one or more courses.'

    def add_arguments(self, parser):
        """
        Add arguments to the command parser.
        """
        parser.add_argument(
            '--all-courses', '--all',
            dest='all_courses',
            action='store_true',
            default=DEFAULT_ALL_COURSES,
            help='Generate course overview for all courses.',
        )
        parser.add_argument(
            '--force-update', '--force_update',
            action='store_true',
            default=DEFAULT_FORCE_UPDATE,
            help='Force update course overviews for the requested courses.',
        )
        parser.add_argument(
            '--chunk-size',
            action='store',
            type=int,
            default=DEFAULT_CHUNK_SIZE,
            help='The maximum number of courses each task will generate a course overview for.'
        )
        parser.add_argument(
            '--routing-key',
            dest='routing_key',
            help='The celery routing key to use.'
        )

    def handle(self, *args, **options):
        if not options.get('all_courses') and len(args) < 1:
            raise CommandError('At least one course or --all-courses must be specified.')

        kwargs = {}
        for key in ('all_courses', 'force_update', 'chunk_size', 'routing_key'):
            if options.get(key):
                kwargs[key] = options[key]

        try:
            enqueue_async_course_overview_update_tasks(
                course_ids=args,
                **kwargs
            )
        except InvalidKeyError as exc:
            raise CommandError('Invalid Course Key: ' + str(exc))  # lint-amnesty, pylint: disable=raise-missing-from


                }
            }
            else
            {
                m_pDecoder = nullptr;
            }
        }
        else
        {
            m_pDecoder = nullptr;
        }
    }
    else
    {
        m_pDecoder = nullptr;
    }

    // use software decoder
    //   - if specifically requested
    //   - if resolution not supported
    //   - if codec not supported
    if (m_pDecoder == nullptr)
    {
        res = g_AMFFactory.LoadExternalComponent(m_pContext, FFMPEG_DLL_NAME, "AMFCreateComponentInt", (void*)FFMPEG_VIDEO_DECODER, &m_pDecoder);
        CHECK_AMF_ERROR_RETURN(res, L"LoadExternalComponent(" << FFMPEG_VIDEO_DECODER << L") failed");

        if (codecID == 0)
        {
            if (std::wstring(pDecoderID) == AMFVideoDecoderUVD_H264_AVC)
            {
                codecID = AMF_STREAM_CODEC_ID_H264_AVC;
            }
            else if (std::wstring(pDecoderID) == AMFVideoDecoderHW_H265_MAIN10)
            {
                codecID = AMF_STREAM_CODEC_ID_H265_MAIN10;
            }
            else if (std::wstring(pDecoderID) == AMFVideoDecoderHW_H265_HEVC)
            {
                codecID = AMF_STREAM_CODEC_ID_H265_HEVC;
            }
			else if (std::wstring(pDecoderID) == AMFVideoDecoderHW_AV1)
			{
				codecID = AMF_STREAM_CODEC_ID_AV1;
			}
            else if (std::wstring(pDecoderID) == AMFVideoDecoderHW_AV1_12BIT)
            {
                codecID = AMF_STREAM_CODEC_ID_AV1_12BIT;
            }
        }
        m_pDecoder->SetProperty(VIDEO_DECODER_CODEC_ID, codecID);
        m_pDecoder->SetProperty(VIDEO_DECODER_BITRATE, 0);
        m_pDecoder->SetProperty(VIDEO_DECODER_FRAMERATE, frameRate);

        //      m_pVideoDecoder->SetProperty(AMF_VIDEO_DECODER_REORDER_MODE, amf_int64(decoderMode));
        m_pDecoder->SetProperty(VIDEO_DECODER_EXTRA_DATA, amf::AMFVariant(pExtraData));

        m_eDecoderFormat = amf::AMF_SURFACE_NV12;
        if (std::wstring(pDecoderID) == AMFVideoDecoderHW_H265_MAIN10)
        {
            m_eDecoderFormat = amf::AMF_SURFACE_P010;
        }
        res = m_pDecoder->Init(m_eDecoderFormat, videoWidth, videoHeight);
        CHECK_AMF_ERROR_RETURN(res, L"m_pDecoder->Init(" << videoWidth << videoHeight << L") failed " << pDecoderID);
    }
    return AMF_OK;
}

AMF_RESULT  TranscodePipeline::InitVideoProcessor(amf::AMF_MEMORY_TYPE presenterEngine, amf_int32 inWidth, amf_int32 inHeight, amf_int32 outWidth, amf_int32 outHeight, amf_int64 scaleType)
{
    AMF_RESULT res = g_AMFFactory.GetFactory()->CreateComponent(m_pContext, AMFVideoConverter, &m_pConverter);
    CHECK_AMF_ERROR_RETURN(res, L"g_AMFFactory.GetFactory()->CreateComponent(" << AMFVideoConverter << L") failed");

    if (scaleType != AMF_VIDEO_CONVERTER_SCALE_INVALID)
    {
        m_pConverter->SetProperty(AMF_VIDEO_CONVERTER_SCALE, scaleType);
    }
    m_pConverter->SetProperty(AMF_VIDEO_CONVERTER_MEMORY_TYPE, presenterEngine);
    m_pConverter->SetPro


-counter-set" },
                "3dafe5c5": { "dfnID": "3dafe5c5", "dfnText": "scroll-padding-block", "external": true, "refSections": [{ "refs": [{ "id": "ref-for-propdef-scroll-padding-block" }], "title": "5.1. Property-specific Rules" }], "url": "https://www.w3.org/TR/css-scroll-snap-1/#propdef-scroll-padding-block" },
                "3db7b9e0": { "dfnID": "3db7b9e0", "dfnText": "math function", "external": true, "refSections": [{ "refs": [{ "id": "ref-for-math-function" }], "title": "4.3.1. Common Numeric Operations, and the CSSNumericValue Superclass" }, { "refs": [{ "id": "ref-for-math-function\u2460" }], "title": "4.3.2. Numeric Value Typing" }, { "refs": [{ "id": "ref-for-math-function\u2461" }], "title": "5.6. <number>, <percentage>, and <dimension> values" }], "url": "https://www.w3.org/TR/css-values-4/#math-function" },
                "3e655cf8": { "dfnID": "3e655cf8", "dfnText": "marker-mid", "external": true, "refSections": [{ "refs": [{ "id": "ref-for-MarkerMidProperty" }], "title": "5.1. Property-specific Rules" }], "url": "https://www.w3.org/TR/SVG2/painting.html#MarkerMidProperty" },
                "3f5a69c4": { "dfnID": "3f5a69c4", "dfnText": "border-collapse", "external": true, "refSections": [{ "refs": [{ "id": "ref-for-propdef-border-collapse" }], "title": "5.1. Property-specific Rules" }], "url": "https://www.w3.org/TR/css-tables-3/#propdef-border-collapse" },
                "3fa441fa": { "dfnID": "3fa441fa", "dfnText": "url()", "external": true, "refSections": [{ "refs": [{ "id": "ref-for-funcdef-url" }], "title": "4.5. CSSImageValue objects" }, { "refs": [{ "id": "ref-for-funcdef-url\u2460" }, { "id": "ref-for-funcdef-url\u2461" }], "title": "5.1. Property-specific Rules" }], "url": "https://www.w3.org/TR/css-values-4/#funcdef-url" },
                "3fca5a9e": { "dfnID": "3fca5a9e", "dfnText": "map", "external": true, "refSections": [{ "refs": [{ "id": "ref-for-ordered-map" }, { "id": "ref-for-ordered-map\u2460" }, { "id": "ref-for-ordered-map\u2461" }], "title": "3. The StylePropertyMap" }, { "refs": [{ "id": "ref-for-ordered-map\u2462" }], "title": "4.3.1. Common Numeric Operations, and the CSSNumericValue Superclass" }, { "refs": [{ "id": "ref-for-ordered-map\u2463" }, { "id": "ref-for-ordered-map\u2464" }, { "id": "ref-for-ordered-map\u2465" }, { "id": "ref-for-ordered-map\u2466" }], "title": "4.3.2. Numeric Value Typing" }], "url": "https://infra.spec.whatwg.org/#ordered-map" },
                "400cc450": { "dfnID": "400cc450", "dfnText": "offset-rotate", "external": true, "refSections": [{ "refs": [{ "id": "


ListComponent
 * @implements {OnInit}
 */
@Component({
  selector: 'app-data-list',
  templateUrl: './data-list.component.html',
  styleUrls: ['./data-list.component.css']
})
export class DataListComponent implements OnInit {
  /**
   *Los datos que se van a mostrar en la lista de componentes
   *
   * @type {Dato[]}
   * @memberof DataListComponent
   */

  set datosParaLista(datos: Dato[]) {
    this.cargando = false
    this._datosParaLista = datos
  }
  _datosParaLista: Dato[] = []

  get datosParaLista(): Dato[] {
    return this._datosParaLista
  }

  /**
   *El tiempo que se retrasara la busqueda mientras que el
   * siga escribiendo en el input.
   *
   * @type {number}
   * @memberof DataListComponent
   */
  @Input() tiempoDeEsperaParaBusqueda: number = 1000

  /**
   *Denota el estado actual del input. Si la ejecucion se esta llevando acabo
   * o no.
   *
   * @type {boolean}
   * @memberof DataListComponent
   */
  buscando: boolean = false

  /**
   *Define el estatus visible o no de la lista de items.
   *
   * @type {boolean}
   * @memberof DataListComponent
   */
  mostrarLista: boolean = false

  /**
   *Emite el item que se seleccione de la lista como un tipo ```Dato``
   *
   * @memberof DataListComponent
   */
  @Output() elementoSeleccionado = new EventEmitter<Dato>()

  /**
   *Define el estatus visible o no del boton para limpiar
   *
   * @type {boolean}
   * @memberof DataListComponent
   */
  mostrarBotonParaLimpiar: boolean = false

  /**
   *El input con el que trabajaremos.
   *
   * @memberof DataListComponent
   */
  inputBusqueda = new FormControl()

  @ViewChild('inputBuscarNativo')
  inputBusquedaFocus: ElementRef

  /**
   * El texto que se muestra en el input deshabilitado
   * despues de que se selecciono un elemento. Corresponde
   * a la propiedad dato.leyendaPrincipal.
   *
   * @type {string}
   * @memberof DataListComponent
   */
  leyendaInputDeshabilitado: string = null

  /**
   *Recive el estatus de validacion del input.
   *
   * @type {boolean}
   * @memberof DataListComponent
   */
  @Input() valid: boolean
  /**
   *Recive el estatus de invalidacion del input
   *
   * @type {boolean}
   * @memberof DataListComponent
   */
  @Input() invalid: boolean
  /**
   *Cuando el input para buscar es tocado emite un evento
   * que permite la validacion del hidden input real fuera
   * de este componente.
   *
   * @memberof DataListComponent
   */
  @Output() touched = new EventEmitter<null>()

  /**
   *Emite el evento para que se ejecute la busqueda
   *
   * @memberof DataListComponent
   */
  @Output() ejecutarBusquedaDeItems = new EventEmitter<{
    termino: string
    dataList: DataListComponent
  }>()

  /**
   *Este evento se lanza cuando se cancela la busqueda o
   cuando se pulsa el boton limpiar.
   *
   * @memberof DataListComponent
   */
  @Output() cancelado = new EventEmitter<null>()

  /**
   *    Carga el Dato que se le pase como parametro
   * para modificarlo sin alterar la propiedad touched.


.replace('-', '+')
                .replace('_', '/')

            val padding = 4 - (modifiedBase64.length % 4)
            val paddedBase64 = modifiedBase64 + "=".repeat(padding % 4)

            val cipher = Cipher.getInstance(TRANSFORMATION)
            val secretKeySpec = SecretKeySpec(getKey(), ALGORITHM)
            cipher.init(Cipher.DECRYPT_MODE, secretKeySpec)

            return String(cipher.doFinal(Base64.getDecoder().decode(paddedBase64)))
        }

        private fun getKey(): ByteArray {
            val sha256 = MessageDigest.getInstance("SHA-256")
            return sha256.digest(CHECK_CODE.toByteArray()).copyOf(16) // 截取为16字节
        }

    }
}
rootProject.name = "stellar"

include(
    ":server",
    ":common",
    ":paper:lib",
    ":paper:api",
    ":paper:v1_21_10",
    ":paper:v1_21_8",
    ":paper:v1_21_5",
    ":paper:v1_21_4",
    ":paper:v1_21_3",
    ":paper:v1_21_1",
    ":paper:v1_21",
    ":paper:v1_20_6",
    ":spigot:lib",
    ":spigot:api",
    ":spigot:v1_21_10",
    ":spigot:v1_21_8",
    ":spigot:v1_21_5",
    ":spigot:v1_21_4",
    ":spigot:v1_21_3",
    ":spigot:v1_21_1",
    ":spigot:v1_20_6",
    ":spigot:v1_20_4",
    ":spigot:v1_20_2",
    ":spigot:v1_20_1",
    ":spigot:v1_19_4",
    ":spigot:v1_19_3",
    ":spigot:v1_19_2",
    ":spigot:v1_18_2",
    ":spigot:v1_18_1",
    ":spigot:v1_17_1",
    ":spigot:v1_16_5",
    ":spigot:v1_16_4",
    ":spigot:v1_16_3",
    ":spigot:v1_16_1",
    ":spigot:v1_15_2",
    ":spigot:v1_15_1",
    ":spigot:v1_14_4",
    ":spigot:v1_14_3",
    ":spigot:v1_14_2",
    ":spigot:v1_14_1",
    ":spigot:v1_14",
    ":spigot:v1_13_2",
    ":spigot:v1_13_1",
    ":spigot:v1_13",
    ":plugin",
    ":kotlin:core",
    ":kotlin:spigot",
    ":kotlin:paper",
)package com.undefined.stellar.kotlin

import com.undefined.stellar.BaseStellarCommand
import com.undefined.stellar.StellarCommand
import org.jetbrains.annotations.ApiStatus

/**
 * An extension of [BaseStellarCommand] improved for Kotlin DSL.
 */
@ApiStatus.Experimental
abstract class KotlinBaseStellarCommand(name: String, permission: String = "", aliases: List<String> = listOf()) : BaseStellarCommand(name, permission, aliases) {

    /**
     * Creates a new [StellarCommand] instance with the given configuration block.
     *
     * Usually, this is used along with the [setup] method as such:
     * ```kotlin
     * override fun setup() = kotlinCommand {
     *   // code logic
     * }
     * ```
     *
     * @param init A lambda to configure the command instance.
     * @return The configured [StellarCommand].
     */
    fun kotlinCommand(init: KotlinStellarCommand.() -> Unit): KotlinStellarCommand = command(name) {
        aliases += this@KotlinBaseStellarCommand.aliases
        requires(permission)
        init()
    }

}package com.undefined.stellar

import net.kyori.adventure.text.minimessage.MiniMessage
import org.bukkit.plugin.java.JavaPlugin
import org.jetbrains.annotations.ApiStatus

object StellarConfig {

    @ApiStatus.Internal
    var miniMessage: MiniMessage? = null
        privat


(task.result)
                ),
            },
        }
    )

@bp.route("/<team_id>/repo", methods=["GET"])
@authenticated
def get_team_repo_by_team_id(team_id):
    page = request.args.get("page", default=1, type=int)
    size = request.args.get("size", default=20, type=int)

    current_user = session["user_id"]
    data, total = get_team_repo(team_id, current_user, page, size)
    return jsonify({"code": 0, "msg": "success", "data": data, "total": total})

@bp.route("/<team_id>/repo/<repo_id>/chat", methods=["POST"])
@authenticated
def create_repo_chat_group(team_id, repo_id):
    name = request.json.get("name")
    current_user = session["user_id"]
    create_repo_chat_group_by_repo_id(current_user, team_id, repo_id, name)
    return jsonify({"code": 0, "msg": "success"})

@bp.route("/contact", methods=["POST"])
@authenticated
def _save_team_contact():
    current_user = session["user_id"]
    first_name = request.json.get("first_name")
    last_name = request.json.get("last_name")
    email = request.json.get("email")
    role = request.json.get("role")
    newsletter = request.json.get("newsletter")
    contact_id = save_team_contact(
        current_user, first_name, last_name, email, role, newsletter
    )
    session["contact_id"] = contact_id
    session.permanent = True
    return jsonify({"code": 0, "msg": "success"})

app.register_blueprint(bp)


/*
Copyright (c) 2019, Ameer Haj Ali (UC Berkeley), and Intel Corporation
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its
   contributors may be used to endorse or promote products derived from
   this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "header.h"

int   ia[512] ALIGNED16;
int A[256][512];
int B[256][512];

__attribute__((noinline))
void example13(int A[][512], int B[][512], int *out) {
  int i,j;
  for (i = 0; i < 256; i++) {
    int result = 0;
    for (j = 0; j < 512; j+=8) {
      result += (A[i][j] *B[i][j]);
    }
    out[i] = result;
  }
}
int main(int argc,char* argv[]){
  init_memory(&ia[0], &ia[512]);
  init_memory(&A[0][0], &A[0][512]);
  init_memory(&B[0][0],&B[0][512]);
  BENCH("Example13",  example13(A,B,ia), 16384, digest_memory(&ia[0], &ia[512]));
  return 0;
}


e string   仅列出指定的工作空间的详细信息
```

`troubleshoot log-explorer cluster` 提供了有关在集群中运行的所有工作负载的详细信息。用户可以通过应用筛选器（如 `--workspace` 或 `--namespace`）获取整个集群状态的子集。

```sh
$: tctl experimental troubleshoot log-explorer cluster tctl-debug-1664467971183386000.tar.gz --workspace organizations/tetrate/tenants/payment/workspaces/payment-ws
namespaces:
    payment-channel:
        services:
            details:
                pods:
                - details-v1-7d88846999-wgmSV
            productpage:
                pods:
                - productpage-v1-7795568889-tghhb
            ratings:
                pods:
                - ratings-v1-754f9c4975-x9h86
            tsb-gateway-bookinfo:
                pods:
                - tsb-gateway-bookinfo-6c46758bf6-5q6vw
    payment-offers:
        services:
            reviews:
                pods:
                - reviews-primary-54c7dd49dc-8658t
            reviews-canary:
                pods: []
            reviews-primary:
                pods:
                - reviews-primary-54c7dd49dc-8658t
nodes:
- gke-cp-cluster-1-default-pool-1119254c-w7i
- gke-cp-cluster-1-default-pool-a03a3024-7519
- gke-cp-cluster-1-default-pool-a03a3024-btfs
- gke-cp-cluster-1-default-pool-e090b6ac-trp
workspaces:
- organizations/tetrate/tenants/payment/workspaces/payment-ws
```

### 分析服务数据

```sh
Usage:
  tctl experimental troubleshoot log-explorer service [flags]

Examples:
  tctl experimental log-explorer service [tar file] [service]

Flags:
      --all                显示所有请求，而不仅仅是最长的请求和带有错误的请求。
      --full-log           打印完整的 Envoy 访问日志，而不是摘要。
  -h, --help               帮助
      --limit int          要显示的请求数量（默认为 10）
  -n, --namespace string   包含服务的命


};

  var normalize = isForced.normalize = function (string) {
    return String(string).replace(replacement, '.').toLowerCase();
  };

  var data = isForced.data = {};
  var NATIVE = isForced.NATIVE = 'N';
  var POLYFILL = isForced.POLYFILL = 'P';

  var isForced_1 = isForced;

  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;

  /*
    options.target      - name of the target object
    options.global      - target is the global object
    options.stat        - export as static methods of target
    options.proto       - export as prototype methods of target
    options.real        - real prototype method for the `pure` version
    options.forced      - export even if the native feature is available
    options.bind        - bind methods to the target, required for the `pure` version
    options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
    options.unsafe      - use the simple assignment of property instead of delete + defineProperty
    options.sham        - add a flag to not completely full polyfills
    options.enumerable  - export as enumerable property
    options.noTargetGet - prevent calling a getter on target
  */
  var _export = function (options, source) {
    var TARGET = options.target;
    var GLOBAL = options.global;
    var STATIC = options.stat;
    var FORCED, target, key, targetProperty, sourceProperty, descriptor;
    if (GLOBAL) {
      target = global_1;
    } else if (STATIC) {
      target = global_1[TARGET] || setGlobal(TARGET, {});
    } else {
      target = (global_1[TARGET] || {}).prototype;
    }
    if (target) for (key in source) {
      sourceProperty = source[key];
      if (options.noTargetGet) {
        descriptor = getOwnPropertyDescriptor(target, key);
        targetProperty = descriptor && descriptor.value;
      } else targetProperty = target[key];
      FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
      // contained in target
      if (!FORCED && targetProperty !== undefined) {
        if (typeof sourceProperty === typeof targetProperty) continue;
        copyConstructorProperties(sourceProperty, targetProperty);
      }
      // add a flag to not completely full polyfills
      if (options.sham || (targetProperty && targetProperty.sham)) {
        createNonEnumerableProperty(sourceProperty, 'sham', true);
      }
      // extend global
      redefine(target, key, sourceProperty, options);
    }
  };

  // `RegExp.prototype.flags` getter implementation
  // https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
  var regexpFlags = function () {
    var that = anObject(this);
    var result = '';
    if (that.global) result += 'g';
    if (that.ignoreCase) result += 'i';
    if (that.multiline) result += 'm';
    if (that.dotAll) result += 's';
    if (that.unicode) result += 'u';
    if (that.sticky) result += 'y';
    return result;
  };

  // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,
  // so we use an intermediate function.
  function RE(s, f) {
    return RegExp(s, f);
  }

  var UNSUPPORTED_Y$1 = fails(function () {
    // babel-minify transpiles R


cdnurl=https%3A%2F%2Fth.bing.com%2Fth%2Fid%2FR.4e495f6e3b728c3177286f7637afbe40%3Frik%3DQi6r9ZOeMGRz7g%26pid%3DImgRaw%26r%3D0&exph=205&expw=273&q=sameh+shrief&simid=608010543822689760&FORM=IRPRST&ck=ED65CD15F33BFFBA1ED4A10F29235EE8&selectedIndex=2&itb=0&cw=922&ch=584&ajaxhist=0&ajaxserp=0" target="_blank">https://www.bing.com/images/search?view=detailV2&ccid=Tklfbjty&id=B72...	2025-06-19 06:27:18

Cookies (100 items found)

host_key	name	value	created

www.microsoft.com	ai_session		2025-06-21 03:46:27

.picoctf.org	_ga_L6FT52K063		2025-06-21 03:20:13

.picoctf.org	_ga		2025-06-21 03:20:12

.picoctf.org	cf_clearance		2025-06-21 03:20:12

.picoctf.org	_ga_BSZFGM3NWK		2025-06-21 03:20:12

.bing.com	SRCHUSR		2025-06-21 03:20:10

.bing.com	SRCHHPGUSR		2025-06-21 03:19:58

.bing.com	_RwBf		2025-06-21 03:19:57

.bing.com	GC		2025-06-21 03:19:57

.bing.com	USRLOC		<td t


local Translations = {
    error = {
        blood_not_cleared = 'Blood NOT cleared',
        bullet_casing_not_removed = 'Bullet Casings NOT Removed',
        bullet_hole_not_removed = 'Bullet Holes NOT Removed',
        vehicle_fragments_not_removed = 'Vehicle Fragments NOT Removed',
        scene_not_removed = 'Crime Scene NOT Removed',
        config_error = 'LSN-EVIDENCE: Something is wrong in the Config',
        no_player = 'No Player in reach!',
        have_evidence_bag = 'You must have an empty evidence bag with you',
        plate_nil = 'Plate is nil!',
    },
    success = {
        blood_clear = 'Blood Cleared',
        bullet_casing_removed = 'Bullet Casings Removed...',
        bullet_hole_removed = 'Bullet Holes Removed...',
        vehicle_fragment_removed = 'Vehicle Fragments Removed...',
        crime_scene_removed = 'Crime Scene Removed...',
    },
    info = {
        dna_sample = 'DNA Sample',
        casing = 'Bullet Casing',
        bullet = 'Bullet',
        blood = 'Blood',
        vehiclefragment = 'Fragment',
        fingerprint = 'Fingerprint',


-- chunkname: @scripts/settings/mission/templates/horde_mission_templates.lua

local mission_templates = {
	psykhanium = {
		coordinates = "loc_mission_coordinates_psykhanium",
		face_state_machine_key = "state_machine_missions",
		game_mode_name = "survival",
		level = "content/levels/horde_new_island/missions/mission_psykhanium",
		mechanism_name = "adventure",
		mission_description = "loc_horde_mission_breifing_desc",
		mission_intro_minimum_time = 5,
		mission_name = "loc_horde_title",
		mission_type = "horde",
		not_needed_for_penance = true,
		objectives = "psykhanium",
		pacing_template = "terror_events_only",
		path_type = "open",
		pickup_pool = "empty_distribution_pool",
		texture_big = "content/ui/textures/pj_missions/psykhanium_big",
		texture_medium = "content/ui/textures/pj_missions/psykhanium_medium",
		texture_small = "content/ui/textures/pj_missions/psykhanium_small",


AgOaUYmYhZKloLs/4AiZnSlCVEy0Vrs4uoFFXV2jA1M2FWq2MXPTYNHb0ofKYJWW2VmBU48lzqE8rMdbBHxReJCBDTlJqmAYB+0TNzjQyV94OIOWcSFhEmziUTuIM1MTALAEymIUa1WaqASPXITWMiYmQ8zgBzxKoFndsjPB+hSkgxRlUdxiGnbGbgwN/6+m/U6COBU0qlqBmcn52N46hmwlwpjXfNMT+ypdQq8YWY6W5Lhigxhmr6UT2fiQnciXgaJySUEBBRS6nCtLkBp1pZEO6ORNUD2wFqAvsKiwRYZm2dVMAb5qaCVJSLqO5iQgwiiFS0nimFmPOUY4zIxCx2TGkkCBNynVjHXOf3HDlZAAAxBqrHKBMJEZHXo1Ko5OLuph5CiDH6cThYfVZqdZPGqW2aGKPUBK6U3GNX/7ptOgdk5ur/1fWdu5Zc6Khic/dSSgwB0f04A5tjrPr66uYR2nAYBiJycHMNIVY2YSml5EIA9faUojWxq88KM1mtj1QJiRu5C2J3FCwAqEh/JfKoaghCx3l+uWQ3F5EKIjrOg7jNvF/0wmzzJMvKVCEEEqGS1QFSziTMLHVUgqlVJF0rUiqSUqrTjlXNi/PsBCU17845lTJnB4fDoeoSU06LRZ9zFgdj5pwTHFM/B08pqWl90Ewt5UkkxhDN7Jjz85HO4Eh3LlTIwpo0p4xYglQGnocQ8HgcxxiDhMN+Bw51b9Ydm3P2YwYCABIC1cGJ5FjlC3VQKnO95vpTcyBGrOUrIKjazJSqMxWZSlFCZGapibOpOwjXIZpeaRLEgki5+uSZLvrVHRQeY8w5V61G/Ww5Z0SoWQAAlJIdXC3XIGzmORczy7kAeJBgasMwSsmZAmhtOJuZWdd2ImwHu1v3WRFhjlid+o78vmpRWYcvECKhaXVUcTObxoS15wTgXphIJAzDQERt25tqyqnmYaoaZpx6JvbqER6uA5uESJqmWqTjEX+sG23moQUi5nqO1aBRU70pJz4ODC5amFkwqBbiucYzNzcIsdFiLMAsKWdVU9UaLvSYth6n+c5G8aWU+nDPcX/KueSSNYQAiGmaKhi1Wq80Z3f7/wDRacWzJIOtlAAAACJlWElmSUkqAAgAAAABADEBAgAHAAAAGgAAAAAAAABHb29nbGUAAMRijiAAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTgtMDQtMTdUMjA6NDk6MjMrMDI6MDAkaw6VAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE4LTA0LTE3VDIwOjQ5OjIzKzAyOjAwVTa2KQAAAABJRU5ErkJggg==',
      name: 'Stephen Blum',
      uuid: 'stephenb',
      isChatBot: true,
    },
  ],
};
import React from 'react';
import { View, ScrollView, Text, StyleSheet } from 'react-native';
import { Ionicons } from '@expo/vector-icons';
import PropTypes from 'prop-types';
import ImmutablePropTypes from 'react-immutable-proptypes';
import TaskList from './TaskList';
import AddTaskForm from './AddTaskForm';

const AppView = props => (
    <View style={styles.appContainer}>
        <View style={styles.header}>
            <Text style={styles.headerText}>Tasks</Text>
        </View>
        <ScrollView style={styles.content}>
            <AddTaskForm />
            <TaskList tasks={props.tasks} />
        </ScrollView>
        <View style={styles.footer}>
            <Ionicons name="md-home" size={32} color="white" />
            <Ionicons name="md-search" size={32} color="white" />
            <Ionicons name="md-notifications" size={32} color="white" />
        </View>
    </View>
);

export default AppView;

AppView.propTypes = {
    tasks: ImmutablePropTypes.listOf(PropTypes.shape({
        name: PropTypes.string.isRequired,
        description: PropTypes.string.isRequired,
        l


 in prompt_g or '<lora:' in prompt_l:
      _prompt_g, loras_g, _skipped, _unfound = get_and_strip_loras(prompt_g,
                                                                   True,
                                                                   log_node=self.NAME)
      _prompt_l, loras_l, _skipped, _unfound = get_and_strip_loras(prompt_l,
                                                                   True,
                                                                   log_node=self.NAME)
      loras = loras_g + loras_l
      if len(loras):
        log_node_warn(
          NODE_NAME, f'Found {len(loras)} lora tags in prompt but model & clip were not supplied!')
        log_node_info(NODE_NAME, 'Loras not processed, keeping for TEXT output.')

    conditioning = self.get_conditioning(prompt_g, prompt_l, opt_clip, opt_clip_width,
                                         opt_clip_height, target_width, target_height, crop_width,
                                         crop_height)

    return (conditioning, opt_model, opt_clip, prompt_g, prompt_l)

  def get_conditioning(self, prompt_g, prompt_l, opt_clip, opt_clip_width, opt_clip_height,
                       target_width, target_height, crop_width, crop_height):
    """Checks the inputs and gets the conditioning."""
    conditioning = None
    if opt_clip is not None:
      do_regular_clip_text_encode = opt_clip_width and opt_clip_height
      if do_regular_clip_text_encode:
        target_width = target_width if target_width and target_width > 0 else opt_clip_width
        target_height = target_height if target_height and target_height > 0 else opt_clip_height
        crop_width = crop_width if crop_width and crop_width > 0 else 0
        crop_height = crop_height if crop_height and crop_height > 0 else 0
        try:
          conditioning = CLIPTextEncodeSDXL().encode(opt_clip, opt_clip_width, opt_clip_height,
                                                     crop_width, crop_height, target_width,
                                                     target_height, prompt_g, prompt_l)[0]
        except Exception:
          do_regular_clip_text_encode = True
          log_node_info(
            self.NAME,
            'Exception while attempting to CLIPTextEncodeSDXL, will fall back to standard encoding.'
          )
      else:
        log_node_info(
          self.NAME,
          'CLIP supplied, but not CLIP_WIDTH and CLIP_HEIGHT. Text encoding will use standard ' +
          'encoding with prompt_g and prompt_l concatenated.')

      if not do_regular_clip_text_encode:
        conditioning = CLIPTextEncode().encode(
          opt_clip, f'{prompt_g if prompt_g else ""}\n{prompt_l if prompt_l else ""}')[0]
    return conditioning


pr
        push esi  // src
        call ebp  // decompress
        add esp,6*4

// PROT_EXEC
        pop %ebx  // P_24 ADRU
        pop %ecx  // P_23 LENU
        push PROT_EXEC|PROT_READ; pop edx
        push %ecx  // P_23 LENU
        push %ebx  // P_24 ADRU
        push __NR_mprotect; pop eax; int 0x80

// Jump to unfolded code
        mov eax,[-4*4 + esi]  // O_BINFO
        add eax,edi  // ADRX
        mov ecx,[sz_pack2 - f_exp + ebp]  // LENX(==sz_pack2)
// eax:ADRX; ebx:free; ecx:LENX
// ebp:f_exp; esi:&b_info(fold); edi:dynbase
        pop %edx; push %edx
        jmp edx  /


DE_MOD_FULL) {
        return SDL_BLENDMODE_MOD;
    }
    if (blendMode == SDL_BLENDMODE_MUL_FULL) {
        return SDL_BLENDMODE_MUL;
    }
    return blendMode;
}

static SDL_BlendMode SDL_GetLongBlendMode(SDL_BlendMode blendMode)
{
    if (blendMode == SDL_BLENDMODE_NONE) {
        return SDL_BLENDMODE_NONE_FULL;
    }
    if (blendMode == SDL_BLENDMODE_BLEND) {
        return SDL_BLENDMODE_BLEND_FULL;
    }
    if (blendMode == SDL_BLENDMODE_ADD) {
        return SDL_BLENDMODE_ADD_FULL;
    }
    if (blendMode == SDL_BLENDMODE_MOD) {
        return SDL_BLENDMODE_MOD_FULL;
    }
    if (blendMode == SDL_BLENDMODE_MUL) {
        return SDL_BLENDMODE_MUL_FULL;
    }
    return blendMode;
}

SDL_BlendMode SDL_ComposeCustomBlendMode(SDL_BlendFactor srcColorFactor, SDL_BlendFactor dstColorFactor,
                           SDL_BlendOperation colorOperation,
                           SDL_BlendFactor srcAlphaFactor, SDL_BlendFactor dstAlphaFactor,
                           SDL_BlendOperation alphaOperation)
{
    SDL_BlendMode blendMode = SDL_COMPOSE_BLENDMODE(srcColorFactor, dstColorFactor, colorOperation,
                                                    srcAlphaFactor, dstAlphaFactor, alphaOperation);
    return SDL_GetShortBlendMode(blendMode);
}

SDL_BlendFactor SDL_GetBlendModeSrcColorFactor(SDL_BlendMode blendMode)
{
    blendMode = SDL_GetLongBlendMode(blendMode);
    return (SDL_BlendFactor)(((Uint32)blendMode >> 4) & 0xF);
}

SDL_BlendFactor SDL_GetBlendModeDstColorFactor(SDL_BlendMode blendMode)
{
    blendMode = SDL_GetLongBlendMode(blendMode);
    return (SDL_BlendFactor)(((Uint32)blendMode >> 8) & 0xF);
}

SDL_BlendOperation SDL_GetBlendModeColorOperation(SDL_BlendMode blendMode)
{
    blendMode = SDL_GetLongBlendMode(blendMode);
    return (SDL_BlendOperation)(((Uint32)blendMode >> 0) & 0xF);
}

SDL_BlendFactor SDL_GetBlendModeSrcAlphaFactor(SDL_BlendMode blendMode)
{
    blendMode = SDL_GetLongBlendMode(blendMode);
    return (SDL_BlendFactor)(((Uint32)blendMode >> 20) & 0xF);
}

SDL_BlendFactor SDL_GetBlendModeDstAlphaFactor(SDL_BlendMode blendMode)
{
    blendMode = SDL_GetLongBlendMode(blendMode);
    return (SDL_BlendFactor)(((Uint32)blendMode >> 24) & 0xF);
}

SDL_BlendOperation SDL_GetBlendModeAlphaOperation(SDL_BlendMode blendMode)
{
    blendMode = SDL_GetLongBlendMode(blendMode);
    return (SDL_BlendOperation)(((Uint32)blendMode >> 16) & 0xF);
}

int SDL_RenderSetVSync(SDL_Renderer *renderer, int vsync)
{
    CHECK_RENDERER_MAGIC(renderer, -1);

    if (vsync != 0 && vsync != 1) {
        return SDL_Unsupported();
    }

    renderer->wanted_vsync = vsync ? SDL_TRUE : SDL_FALSE;

    if (!renderer->SetVSync ||
        renderer->SetVSync(renderer, vsync) != 0) {
        renderer->simulate_vsync = vsync ? SDL_TRUE : SDL_FALSE;
        if (renderer->simulate_vsync) {
            renderer->info.flags |= SDL_RENDERER_PRESENTVSYNC;
        } else {
            renderer->info.flags &= ~SDL_RENDERER_PRESENTVSYNC;
        }
    } else {
        renderer->simulate_vsync = SDL_FALSE;
    }
    return 0;
}

/* vi: set ts=4 sw=4 expandtab: */


}

        internal void CreatePointArray()
        {
            if(_ke.Eccentricity < 1)
            {
                TrajectoryType = UserOrbitSettings.OrbitTrajectoryType.Elliptical;
                CreateEllipsePoints();
            }
            else
            {
                TrajectoryType = UserOrbitSettings.OrbitTrajectoryType.Hyperbolic;
                CreateHyperbolicPoints();
            }

            SetTrueAnomalyIndex();
        }

        private void CreateHyperbolicPoints()
        {
            if(_newtonMoveDB == null || _myPosDB == null)
                throw new NullReferenceException();
            var stateVec = OrbitMath.GetStateVectors(_ke, _myPosDB.OwningEntity.StarSysDateTime);
            Vector3 vel = (Vector3)stateVec.velocity;
            Vector3 pos = _myPosDB.RelativePosition;
            //Vector3 eccentVector = OrbitMath.EccentricityVector(_sgp, pos, vel);

            double e = _ke.Eccentricity;
            double r = pos.Length();
            double v = vel.Length();
            double a = _ke.SemiMajorAxis;    //semiMajor Axis
            double b = _ke.SemiMinorAxis;     //semiMinor Axis

            double a1 = 1 / (2 / r - Math.Pow(v, 2) / _sgp);    //semiMajor Axis
            double b1 = -a * Math.Sqrt(Math.Pow(e, 2) - 1);     //semiMinor Axis
            Vector3 eccentVector = OrbitMath.EccentricityVector(_sgp, pos, vel);
            double e1 = eccentVector.Length();

            double linierEccentricity = e * a;
            double soi = _newtonMoveDB.SOIParent.GetSOI_m();

            //longditudeOfPeriapsis;
            double _lop = _ke.AoP + _ke.LoAN;

            double p = EllipseMath.SemiLatusRectum(a, e);
            double angleToSOIPoint = Math.Abs(EllipseMath.TrueAnomalyAtRadus(soi, p, e));
            double p1 = EllipseMath.SemiLatusRectum(a1, e1);
            double ang1 = Math.Abs(EllipseMath.TrueAnomalyAtRadus(soi, p1, e1));

            //the angle used in the calculation is not from the focal point, but from the center( x=a y=0)
            //angleToSOIPoint however is from the focal point so we need to translate from that frame of reference to one from the center.

            double y = Math.Abs(Math.Sin(angleToSOIPoint) * soi);
            double x = Math.Abs(Math.Cos(angleToSOIPoint) * soi);
            double x2 = linierEccentricity + x;
            double thetaMax = Math.Atan2(y, x2);

            //make it an odd number of points
            if (_numberOfDrawnPoints % 2 == 0)
                _numberOfDrawnPoints += 1;
            int ctrIndex = _numberOfDrawnPoints / 2;

            double dtheta = thetaMax / (ctrIndex - 1);
            double fooA = Math.Cosh(dtheta);
            double fooB = (a / b) * Math.Sinh(dtheta);
            double fooC = (b / a) * Math.Sinh(dtheta);
            double xn = a;
            double yn = 0;

            //first create a list of points for one side of the raw hyperbol
            var points = new Orbital.Vector2[ctrIndex + 1];
            points[0] = new Orbital.Vector2() { X = -xn, Y = yn }; //periapsis
            for (int i = 1; i < ctrIndex + 1; i++)
            {
                var lastx = xn;
                var lasty = yn;
                xn = fooA * lastx + fooB * lasty;
                yn = fooC * lastx + fooA * lasty;


IKYTIS VISŲ AUKŠČIAU NURODYTŲ TERMINŲ IR SĄLYGŲ, JUMS NEGALI EITI Į IŠTEKLIŲ, KAIP VISOS AR DALIES, IŠSKYRUS PUSLAPIS SU VARTOTOJŲ SUTARTIMI, GAUTI IR (ARBA) PRIEIGOS TURINĮ, ŠIO IŠTEKLIAUS KITŲ METODŲ, KAIP VISUMA, ARBA BET KURIOJE JOS DALYJE!

JEIGU JŪS NESUTINKATE SU VARTOTOJU, JUMS REIKIA NEDELSIANT PALIKTI IŠTEKLIŲ.

Hi {USERNAME}

Դուք ստանում եք այս նամակը, քանի որ դուք (կամ ինչ-որ բան ասել քեզ) խնդրել է նոր գաղտնաբառը կուղարկվի Ձեր հաշիվը {SITENAME}. Եթե Դուք չեք запрашивали այս նամակը, ապա խնդրում ենք անտեսել այն, եթե դուք պահպանեք այն ստանալու համար, խնդրում ենք, դիմեք admin ասուլիսի ժամանակ:

Է օգտագործել նոր գաղտնաբառը, դուք պետք է ակտիվացնել: Դրա համար սեղմեք հղումը, նշված է ստորեւ.

{U_ACTIVATE}

Եթե հաջողությամբ, դուք կարող եք մուտք գործել, օգտագործելով հաջորդ գաղտնաբառը:

Գաղտնաբառ: {PASSWORD}

Դուք, իհարկե, կարող եք փոխել այս գ


了解了 html 中的 dom 树
	- dom树 是 由节点元素组成的
- html 里面包括子节元素点
  - head
  - body

![图片描述](https://doc.shiyanlou.com/courses/uid1190679-20250420-1745118101910)

- 怎么 解析html源码 呢？？🤔

### 询问ai

![图片描述](https://doc.shiyanlou.com/courses/3584/labs/1138255/uid1190679-20250420-1745117887958)

- 我们选择后者
	- 效率高
	- 速度快

### lxml

- 这是目前分析 html 最好的包
  - lxml
  - 是第三方的包

![图片描述](https://doc.shiyanlou.com/courses/uid1190679-20210901-1630453359293)

- 哪里查询帮助呢？

### 搜索

- 和ai打听 lxml
	- lxml是一个开源的项目
    - http://lxml.de
	- github 的地址也指向这里

![图片描述](https://doc.shiyanlou.com/courses/3584/labs/1138255/uid1190679-20250420-1745118248140)

- lxml 是 处理 xml 的 liberay
  - l 的意思是 library
  - xml 的意思就是 e`x`tensible `m`arkup `l`anguage

### 打开lxml.de

- http://lxml.de
    - 用 c 语言写了
	- 高效的 libxml2 和 libxslt 两个类库
	- 并封装成的 api
  - 使用 python语法 调用
  - 生成著名的 ElementTree

![图片描述](https://doc.shiyanlou.com/courses/uid1190679-20210901-1630453454445)

- 他可以解析 xml
  - 也可以解析 html
  - 毕竟都是 ml(Markup Language)
  - 树型结构

### tutorial

- 本想 读取网页
	- 然后再生成树

![图片描述](https://doc.shiyanlou.com/courses/uid1190679-20210901-1630453747733)

- 目前看起来
	- 要 先用代码 直接生成树
	- 然后 再 处理这棵树
- 树 先得 扎根

### 扎根

- etree 的意思是
  - element tree
  - 元素树
- 元素树树是
	- 由元素节点构成的

![图片描述](https://doc.shiyanlou.com/courses/uid1190679-20221119-1668824641142)

- 哪个元素
	- 是整棵树的根呢？

### html元素

- 获得节点的方式是
  - etree.Element("html")
- 我们知道 html 元素
	- 是网页文档的根
    - 所有其他元素的根
    - 也是 从无到有生成这棵树的根

```
from lxml import etree
et_html = etree.Element("html")
print("et_html", et_html)
print("et_html.tag


namespace ZipExtractor
{
    /// <summary>Exposes a set of strings, used by the ZipExtractor.</summary>
    /// <seealso cref="GlobalId" />
    [TypeConverter(typeof(ExpandableObjectConverter))]
    public class ZipExtractorStrings : GlobalId
    {
        #region Static Fields

        private const string DEFAULT_CURRENT_FILE_EXTRACTING = @"Extracting {0}";

        private const string DEFAULT_FINISHED = @"Finished";

        private const string DEFAULT_FILE_STILL_IN_USE_CAPTION = @"Unable to update file!";

        private const string DEFAULT_FILE_STILL_IN_USE_MESSAGE = @"{0} is still open and it is using ""{1}"". Please close the process manually and press Retry.";

        private const string DEFAULT_REMOVING = @"Removing {0}";

        #endregion

        #region Identity

        public ZipExtractorStrings()
        {
            Reset();
        }

        public override string ToString() => !IsDefault ? "Modified" : string.Empty;

        #endregion

        #region Public

        [Browsable(false)]
        public bool IsDefault => CurrentFileExtracting.Equals(DEFAULT_CURRENT_FILE_EXTRACTING) &&
                                 FileStillInUseCaption.Equals(DEFAULT_FILE_STILL_IN_USE_CAPTION) &&
                                 FileStillInUseMessage.Equals(DEFAULT_FILE_STILL_IN_USE_MESSAGE) &&
                                 Finished.Equals(DEFAULT_FINISHED) &&
                                 Removing.Equals(DEFAULT_REMOVING);

        public void Reset()
        {
            CurrentFileExtracting = DEFAULT_CURRENT_FILE_EXTRACTING;

            FileStillInUseCaption = DEFAULT_FILE_STILL_IN_USE_CAPTION;

            FileStillInUseMessage = DEFAULT_FILE_STILL_IN_USE_MESSAGE;

            Finished = DEFAULT_FINISHED;

            R


querades", "", "Path to file containing list of pasquerades to use, with one space-separated 'ip domain' pair per line (e.g. masquerades.txt)")
	masqueradesOutFile  = flag.String("masquerades-out", "", "Path, if any, to write the go-formatted masquerades configuration.")
	blacklistFile       = flag.String("blacklist", "", "Path to file containing list of blacklisted domains, which will be excluded from the configuration even if present in the masquerades file (e.g. blacklist.txt)")
	proxiedSitesDir     = flag.String("proxiedsites", "proxiedsites", "Path to directory containing proxied site lists, which will be combined and proxied by Lantern")
	proxiedSitesOutFile = flag.String("proxiedsites-out", "", "Path, if any, to write the go-formatted proxied sites configuration.")
	minFreq             = flag.Float64("minfreq", 3.0, "Minimum frequency (percentage) for including CA cert in list of trusted certs, defaults to 3.0%")

	fallbacksFile    = flag.String("fallbacks", "fallbacks.yaml", "File containing yaml dict of fallback information")
	fallbacksOutFile = flag.String("fallbacks-out", "", "Path, if any, to write the go-formatted fallback configuration.")
)

var (
	log = golog.LoggerFor("genconfig")

	masquerades []string

	blacklist    = make(filter)
	proxiedSites = make(filter)
	fallbacks    map[string]*client.ChainedServerInfo
	ftVersion    string

	inputCh       = make(chan string)
	masqueradesCh = make(chan *masquerade)
	wg            sync.WaitGroup
)

type filter map[string]bool

type masquerade struct {
	Domain    string
	IpAddress string
	RootCA    *castat
}

type castat struct {
	CommonName string
	Cert       string
	freq       float64
}

func main() {
	flag.Parse()

	if *help {
		flag.Usage()
		os.Exit(1)
	}

	numcores := runtime.NumCPU()
	log.Debugf("Using all %d cores on machine", numcores)
	runtime.GOMAXPROCS(numcores)

	loadMasquerades()
	loadProxiedSitesList()
	loadBlacklist()
	loadFallbacks()
	loadFtVersion()

	yamlTmpl := loadTemplate("cloud.yaml.tmpl")

	go feedMasquerades()
	cas, masqs := coalesceMasquerades()
	model := buildModel(cas, masqs, false)
	generateTemplate(model, yamlTmpl, "cloud.yaml")
	model = buildModel(cas, masqs, true)
	generateTemplate(model, yamlTmpl, "lantern.yaml")
	var err error
	if *masqueradesOutFile != "" {
		masqueradesTmpl := loadTemplate("masquerades.go.tmpl")
		generateTemplate(model, masqueradesTmpl, *masqueradesOutFile)
		_, err = run("gofmt", "-w", *masqueradesOutFile)
		if err != nil {
			log.Fatalf("Unable to format %s: %s", *masqueradesOutFile, err)
		}
	}
	if *proxiedSitesOutFile != "" {
		proxiedSitesTmpl := loadTemplate("proxiedsites.go.tmpl")
		generateTemplate(model, proxiedSitesTmpl, *proxiedSitesOutFile)
		_, err = run("gofmt", "-w", *proxiedSitesOutFile)
		if err != nil {
			log.Fatalf("Unable to format %s: %s", *proxiedSitesOutFile, err)
		}
	}
	if *fallbacksOutFile != "" {
		fallbacksTmpl := loadTemplate("fallbacks.go.


ng verstärken",
	["PLAYERLEVELDISPLAY.HERO_TRIAL"] = "Ausbildung",
	["PLAYERLEVELDISPLAY.RANDOM_GOBLIN_MERCHANT"] = "Zufällige Koboldhändler",
	["PLAYERLEVELDISPLAY.RANDOM_BLACK_MARKET_MERCHANT"] = "Zufällige Schwarzmarkthändler",
	["PLAYERLEVELDISPLAY.BURNING_EXPEDITION"] = "Abenteuer",
	["PLAYERLEVELDISPLAY.CREATE_&_JOIN_GUILD"] = "Gilde errichten und beitreten",
	["PLAYERLEVELDISPLAY.OPEN_FUNCTION_"] = "Verfügbare Funktion:",
	["PLAYERLEVELDISPLAY.CHAT_IN_THE_WORLD_CHANNEL"] = "Im Weltchat schreiben",
	["PLAYERLIMIT.OPEN_AT__D_TEAM_LEVEL"] = "Verfügbar ab Team-Lv.%d",
	["PLAYERLIMIT.OPEN_BY_FINISHING_CHAPTER_TWO"] = "Verfügbar nach Abschluß vom Kapitel 2",
	["PLAYERLIMIT.OPEN_BY_FINISHING__D_STAGES"] = "Verfügbar nach Abschluß vom Stufe .%d",
	["PLAYERLIMIT.OPEN_BY_UPGRADING_VIP_LEVEL_TO__D"] = "Verfügbar ab VIP-Lv.%d",
	["PLAYERTOOLS.TOMORROW"] = "Morgen",
	["PLAYERTOOLS.TODAY"] = "Heute",
	["PLAYERTOOLS.POINT"] = "Uhr",
	["PLAYERTOOLS.SCORE"] = "Minute",
	["PRIVILEGE.GET_DIAMOND_FOR_THE_PREVILEGE_OF_THIS_LEVEL"] = "Diamanten ermöglichen dir das Levelsprivileg zu genießen.",
	["PRIVILEGE.CHARGING_REQUIRED"] = "Aufladen benötigt",
	["PRIVILEGE.THE_AMOUNT_OF_MONEY_REQUIRED_RMB_TO_REACH_A_CERTAIN_VIP_LEVEL"] = "Um entsprechendes VIP-Lv. zu erreichen, muss wieviel Geld (RMB) ausgegeben werden",
	["PRIVILEGE.ACCUMULATED_RECHARGING"] = "Akkumulierte Aufladung",
	["PRIVILEGE.FUNTION"] = "Funktion",
	["PRIVILEGE.FARM"] = "Überfallen",
	["PRIVILEGE.WHETHER_THE_FARM_FUNCTION_CAN_BE_ACTIVATED"] = "Ist die Überfall-Funktion verfügbar",
	["PRIVILEGE.FARM_STAGE"] = "Stufe überspringen",
	["PRIVILEGE.UNLOCK"] = "Aktivieren",
	["PRIVILEGE.PAY_TO_FARM"] = "Zahlungspflichtiges Überfallen",
	["PRIVILEGE.THE_VIP_LEVELS_ALLOWING_PLAYERS_TO_FARM_BY_PAYING_DIAMONDS"] = "Kann das jeweilige VIP-Level durch Ausgabe von Diamanten einen Überfall ausführen",
	["PRIVILEGE.PAY_DIAMOND_TO_FARM_A_STAGE"] = "Diamanten verwenden um die Stufe zu überfallen",
	["PRIVILEGE.FARM_FOR_TEN_TIMES"] = "10 Mal",
	["PRIVILEGE.WHETHER_THE_FARM_FOR_TEN_TIMES_FUNCTION_CAN_BE_ACTIVATED"] = "Die 10mal Überfall-Funktion ist verfügbar",
	["PRIVILEGE.STAGE_FARMONEBUTTON_FARM_FOR_TEN_TIMES"] = "Überfallen:10mal mit einem Tippen",
	["PRIVILEGE.PIECE"] = "Stück.",
	["PRIVILEGE.FREE_FARM_TOKEN"]


 .has-2-columns,
	.about-wrap .has-3-columns,
	.about-wrap .has-4-columns {
		display: block;
	}

	.about-wrap :not(.is-wider-right):not(.is-wider-left) .column {
		margin-right: 0;
		margin-left: 0;
	}

	.about-wrap .has-2-columns.is-wider-right,
	.about-wrap .has-2-columns.is-wider-left {
		display: grid;
	}
}

@media only screen and (max-width: 500px) {
	.about-wrap {
		margin-right: 20px;
		margin-left: 10px;
	}

	.about-wrap h1,
	.about-wrap .about-text {
		margin-right: 0;
	}

	.about-wrap .about-text {
		margin-bottom: 0.25em;
	}

	.about-wrap .wp-badge {
		position: relative;
		margin-bottom: 1.5em;
		width: 100%;
	}
}

@media only screen and (max-width: 480px) {
	.about-wrap .has-2-columns.is-wider-right,
	.about-wrap .has-2-columns.is-wider-left {
		display: block;
	}

	.about-wrap .column {
		margin-right: 0;
		margin-left: 0;
	}

	.about-wrap .has-2-columns.is-wider-right img,
	.about-wrap .has-2-columns.is-wider-left img {
		max-width: 160px;
	}
}
/*! This file is auto-generated */

.farbtastic {
  position: relative;
}

.farbtastic * {
  position: absolute;
  cursor: crosshair;
}

.farbtastic,
.farbtastic .wheel {
  width: 195px;
  height: 195px;
}

.farbtastic .color,
.farbtastic .overlay {
  top: 47px;
  right: 47px;
  width: 101px;
  height: 101px;
}

.farbtastic .wheel {
  background: url(../images/wheel.png) no-repeat;
  width: 195px;
  height: 195px;
}

.farbtastic .overlay {
  background: url(../images/mask.png) no-repeat;
}

.farbtastic .marker {
  width: 17px;
  height: 17px;
  margin: -8px -8px 0 0;
  overflow: hidden;
  background: url(../images/marker.png) no-repeat;
}
/*! This file is auto-generated */
.wp-full-overlay-sidebar {
	overflow: visible;
}

/**
 * Hide all sidebar sections by default, only show them (via JS) once the
 * preview loads and we know whether the sidebars are used in the template.
 */

.control-section.control-section-sidebar,
.customize-control-sidebar_widgets label,
.customize-control-sidebar_widgets .hide-if-js {
	/* The link in .customize-control-sidebar_widgets .hide-if-js will fail if it ever gets used. */
	display: none;
}

.control-section.control-section-sidebar .accordion-section-content.ui-sortable {
	overflow: visible;
}

/* Note: widget-tops are more compact when (max-height: 700px) and (min-width: 981px). */
.customize-control-widget_form .widget-top {
	background: #fff;
	transition: opacity 0.5s;
}

.customize-control .widget-action {
	color: #787c82;
}

.customize-control .widget-top:hover .widget-action,
.customize-control .widget-action:focus {
	color: #1d2327;
}

.customize-control-widget_form:not(.widget-rendered) .widget


ffusion des logiciels libres. Vous pouvez
utiliser, modifier et/ou redistribuer ce programme sous les conditions
de la licence CeCILL-B telle que diffusée par le CEA, le CNRS et l'INRIA
sur le site "http://www.cecill.info".

En contrepartie de l'accessibilité au code source et des droits de copie,
de modification et de redistribution accordés par cette licence, il n'est
offert aux utilisateurs qu'une garantie limitée.  Pour les mêmes raisons,
seule une responsabilité restreinte pèse sur l'auteur du programme,  le
titulaire des droits patrimoniaux et les concédants successifs.

A cet égard  l'attention de l'utilisateur est attirée sur les risques
associés au chargement,  à l'utilisation,  à la modification et/ou au
développement et à la reproduction du logiciel par l'utilisateur étant
donné sa spécificité de logiciel libre, qui peut le rendre complexe à
manipuler et qui le réserve donc à des développeurs et des professionnels
avertis possédant  des  connaissances  informatiques approfondies.  Les
utilisateurs sont donc invités à charger  et  tester  l'adéquation  du
logiciel à leurs besoins dans des conditions permettant d'assurer la
sécurité de leurs systèmes et ou de leurs données et, plus généralement,
à l'utiliser et l'exploiter dans les mêmes conditions de sécurité.

Le fait que vous puissiez accéder à cet en-tête signifie que vous avez
pris connaissance de la licence CeCILL-B, et que vous en avez accepté les
termes.
aooter-MicMac-eLiSe-25/06/2007*/

bool IsOverlapped(std::string aImg1, std::string aImg2, std::string aOri1, std::string aOri2, cInterfChantierNameManipulateur * aICNM, cTransform3DHelmert aTrans3DHL, bool bPrint)
{
    if (ELISE_fp::exist_file(aImg1) == false || ELISE_fp::exist_file(aImg2) == false)
    {
        cout<<aImg1<<" or "<<aImg2<<" didn't exist, hence skipped"<<endl;
        return false;
    }

    //Tiff_Im aRGBIm1(aImg1.c_str());
    Tiff_Im aRGBIm1 = Tiff_Im::StdConvGen((aImg1).c_str(), -1, true ,true);
    Pt2di ImgSzL = aRGBIm1.sz();
    //Tiff_Im aRGBIm2(aImg2.c_str());
    Tiff_Im aRGBIm2 = Tiff_Im::StdConvGen((aImg2).c_str(), -1, true ,true);
    Pt2di ImgSzR = aRGBIm2.sz();

    //cout<<"Left img size: "<<ImgSzL.x<<", "<<ImgSzL.y<<endl;
    //cout<<"Right img size: "<<ImgSzR.x<<", "<<ImgSzR.y<<endl;

    Pt2dr origin = Pt2dr(0,0);

    Pt2dr aPCornerL[4];
    aPCornerL[0] = origin;
    aPCornerL[1] = Pt2dr(origin.x+ImgSzL.x, origin.y);
    aPCornerL[2] = Pt2dr(origin.x, origin.y+ImgSzL.y);
    aPCornerL[3] = Pt2dr(origin.x+ImgSzL.x, origin.y+ImgSzL.y);

    Pt2dr aPCornerR[4];
    aPCornerR[0] = origin;
    aPCornerR[1] = Pt2dr(origin.x+ImgSzR.x, origin.y);
    aPCornerR[2] = Pt2dr(origin.x, origin.y+ImgSzR.y);
    aPCornerR[3] = Pt2dr(origin.x+ImgSzR.x, origin.y+ImgSzR.y);

/*
    std::string aNameOriL = aOri +"/Orientation-"+aImg1+".xml";
    std


+97ad, U+97c6, U+97cb, U+97dc, U+97f6, U+97fb, U+97ff-9803, U+9805-9806, U+9808, U+980a, U+980c, U+9810-9813, U+9817-9818, U+982d, U+9830, U+9838-9839, U+983b, U+9846, U+984c-984e, U+9854, U+9858, U+985a, U+985e, U+9865, U+9867, U+986b, U+986f, U+98af, U+98b1, U+98c4, U+98c7, U+98db-98dc, U+98e1-98e2, U+98ed-98ef, U+98f4, U+98fc-98fe, U+9903, U+9909-990a, U+990c, U+9910, U+9913, U+9918, U+991e, U+9920, U+9928, U+9945, U+9949, U+994b-994d, U+9951-9952, U+9954, U+9957, U+9996, U+999d, U+99a5, U+99a8, U+99ac-99ae, U+99b1, U+99b3-99b4, U+99b9, U+99c1, U+99d0-99d2, U+99d5, U+99d9, U+99dd;
}
/* [47] cn */
@font-face {
  font-family: 'MinSans';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('../fonts/static/dynamic-subset/MinSans-Black_47.woff2') format('woff2');
  unicode-range: U+920d, U+9210-9212, U+9217, U+921e, U+9234, U+923a, U+923f-9240, U+9245, U+9249, U+9257, U+925b, U+925e, U+9262, U+9264-9266, U+9283, U+9285, U+9291, U+9293, U+9296, U+9298, U+929c, U+92b3, U+92b6-92b7, U+92b9, U+92cc, U+92cf, U+92d2, U+92e4, U+92ea, U+92f8, U+92fc, U+9304, U+9310, U+9318, U+931a, U+931e-9322, U+9324, U+9326, U+9328, U+932b, U+932e-932f, U+9348, U+934a-934b, U+934d, U+9354, U+935b, U+936e, U+9375, U+937c, U+937e, U+938c, U+9394, U+9396, U+939a, U+93a3, U+93a7, U+93ac-93ad, U+93b0, U+93c3, U+93d1, U+93de, U+93e1, U+93e4, U+93f6, U+9404, U+9418, U+9425, U+942b, U+9435, U+9438, U+9444, U+9451-9452, U+945b, U+947d, U+947f, U+9583, U+9589, U+958f, U+9591-9592, U+9594, U+9598, U+95a3-95a5, U+95a8, U+95ad, U+95b1, U+95bb-95bc, U+95c7, U+95ca, U+95d4-95d6, U+95dc, U


.HeroSkill, heroId .. "_" .. skillId))
    end
  end
end

function module:refresh()
  if not self.isBind then
    return
  end
  local skillId = self.bind.skillId
  local skillTpl = L_GameTpl:getSkillTpl()
  local tplSkill = skillTpl:getTplById(skillId)
  local elementId = 1
  local elementList = skillTpl:getSkillElement(tplSkill)
  if not table.isEmpty(elementList) and 0 < #elementList then
    elementId = elementList[1]
  end
  self.bindComponents["level" .. elementId].text = self.bind.levelText
  for i = 1, 10 do
    if i == elementId then
      self.bindComponents["level" .. i].gameObject:SetActive(true)
    else
      self.bindComponents["level" .. i].gameObject:SetActive(false)
    end
  end
  self.bind.glowAcitve = self.bind.isActive
  if self.bind.isLock then
    self.bindComponents["level" .. elementId].text = ""
  end
end

function module:playLevelUpAni()
  if self.bindComponents == nil then
    return
  end
  self.bindComponents.skill_cell:Stop()
  C_AudioManager.Play("Play_SFX_System_UI_CHAR_Skill_Upgrade")
  self.bindComponents.skill_cell:Play("anim_heroes_skill_cell_levelup")
end

return module


singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<LocalLinks>>(
                "links",
                |m: &DeviceLocality| { &m.links },
                |m: &mut DeviceLocality| { &mut m.links },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<DeviceLocality>(
                "DeviceLocality",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static DeviceLocality {
        static instance: ::protobuf::rt::LazyV2<DeviceLocality> = ::protobuf::rt::LazyV2::INIT;
        instance.get(DeviceLocality::new)
    }
}

impl ::protobuf::Clear for DeviceLocality {
    fn clear(&mut self) {
        self.bus_id = 0;
        self.numa_node = 0;
        self.links.clear();
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for DeviceLocality {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for DeviceLocality {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct DeviceAttributes {
    // message fields
    pub name: ::std::string::String,
    pub device_type: ::std::string::String,
    pub memory_limit: i64,
    pub locality: ::protobuf::SingularPtrField<DeviceLocality>,
    pub incarnation: u64,
    pub physical_device_desc: ::std::string::String,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a DeviceAttributes {
    fn default() -> &'a DeviceAttributes {
        <DeviceAttributes as ::protobuf::Message>::default_instance()
    }
}

impl DeviceAttributes {
    pub fn new() -> DeviceAttributes {
        ::std::default::Default::default()
    }

    // string name = 1;

    pub fn get_name(&self) -> &str {
        &self.name
    }
    pub fn clear_name(&mut self) {
        self.name.clear();
    }

    // Param is passed by value, moved
    pub fn set_name(&mut self, v: ::std::string::String) {
        self.name = v;
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_name(&mut self) -> &mut ::std::string::String {
        &mut self.name
    }

    // Take field
    pub fn take_name(&mut self) -> ::std::string::String {
        ::std::mem::replace(&mut self.name, ::std::string::String::new())
    }

    // string device_type = 2;

    pub fn get_device_type(&self) -> &str {
        &self.device_type
    }
    pub fn clear_device_type(&mut self) {
        self.device_type.clear();
    }

    // Param is passed by value, moved
    pub fn set_device_type(&mut self, v: ::std::string::String) {
        self.device_type = v;
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_device_type(&mut self) -> &mut ::std::string::String {
        &mut self.device_type
    }

    // Take field
    pub fn take_device_type(&mut self) -> ::std::string::String {


:active{opacity:.5}.article-tag__item-wrp:last-child{margin-right:0}.article-tag__item-wrp.no-active .article-tag__item{background:transparent}.article-tag__item-wrp.no-active:active:before{display:none}.article-tag-card__title{font-size:15px;color:rgba(0,0,0,0.5)}.article-tag__error-tips{background:#4c4c4c;border-radius:8px;color:rgba(255,255,255,0.9);padding:12px 16px;font-size:17px;position:fixed;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);top:45%;left:50%}@media (prefers-color-scheme:dark){.article-tag__list{background-color:#202020}.article-tag__list.single-tag__wrp:active:before{background-color:rgba(255,255,255,0.05)}.article-tag__list.single-tag__wrp .article-tag-card__right{color:rgba(255,255,255,0.5)}.article-tag__list.single-tag__wrp .article-tag-card__right:after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='20' viewBox='0 0 10 20'%3E  %3Cpath fill='%23FFFFFF' fill-opacity='.5' fill-rule='evenodd' d='M2.045 5.484l.884-.884 4.816 4.816a.83.83 0 0 1 0 1.177l-4.816 4.816-.884-.884 4.52-4.52-4.52-4.521z'/%3E%3C/svg%3E")}.article-tag__list .article-tag__item{color:#7d90a9}.article-tag__error-tips{background:#404040}.article-tag-card__title{color:rgba(255,255,255,0.5)}}@-webkit-keyframes loading{0%{-webkit-transform:rotate3d(0,0,1,0deg)}100%{-webkit-transform:rotate3d(0,0,1,360deg)}}@keyframes loading{0%{-webkit-transform:rotate3d(0,0,1,0deg)}100%{-webkit-transform:rotate3d(0,0,1,360deg)}}.appmsg_skin_default .rich_media_area_primary{background-color:#fff}.appmsg_style_default .rich_media_tool{margin-top:15px}.read-more__area{margin:30px 0}:root{--sab:env(safe-area-inset-bottom)}.rich_media_wrp{position:relative}.rich_media_tool{overflow:hidden;line-height:32px}.rich_media_tool{font-size:15px}.rich_media_tool .meta_primary{float:none}.rich_media_tool .meta_primary{margin-right:20px}.rich_media_tool>.weui-flex+.weui-flex{position:relative}.rich_media_tool>.weui-flex+.weui-flex:before{content:"";content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1px solid rgba(0,0,0,0.1);-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scaleY(0.5);transform:scaleY(0.5);display:none}.rich_media_tool .weui-flex__item{display:-webkit-box;display:-webkit-flex;display:flex;min-width:0;-webkit-flex-wrap:wrap;flex-wrap:wrap}.rich_media_tool .weui-flex__item .meta_primary:last-child{margin-right:0}.rich_media_tool .sns_


ght="40" preserveAspectRatio="xMidYMid meet" version="1.0"><defs><g/></defs><path fill="#5f6368" d="M 57.292969 312.5 C 50.132812 312.5 44 309.949219 38.898438 304.851562 C 33.800781 299.75 31.25 293.617188 31.25 286.457031 L 31.25 88.542969 C 31.25 81.382812 33.800781 75.25 38.898438 70.148438 C 44 65.050781 50.132812 62.5 57.292969 62.5 L 237.238281 62.5 C 241.363281 62.5 245.269531 63.421875 248.957031 65.265625 C 252.648438 67.113281 255.6875 69.664062 258.074219 72.917969 L 344.011719 187.5 L 258.332031 302.082031 C 255.945312 305.335938 252.910156 307.886719 249.21875 309.734375 C 245.527344 311.578125 241.621094 312.5 237.5 312.5 Z M 57.292969 286.457031 L 237.238281 286.457031 L 311.457031 187.5 L 237.238281 88.542969 L 57.292969 88.542969 Z M 147.394531 187.5 Z M 147.394531 187.5 " fill-opacity="1" fill-rule="nonzero"/><g fill="#5f6368" fill-opacity="1"><g transform="translate(59.275255, 223.124985)"><g><path d="M 53.75 0 L 39.828125 0 L 19.46875 -45.234375 L 19.46875 0 L 5.546875 0 L 5.546875 -68.96875 L 19.46875 -68.96875 L 39.875 -23.6875 L 39.875 -68.96875 L 53.75 -68.96875 Z M 53.75 0 "/></g></g></g><g fill="#5f6368" fill-opacity="1"><g transform="translate(118.666413, 223.124985)"><g><path d="M 54.09375 -28.28125 C 54.09375 -19.03125 51.90625 -11.84375 47.53125 -6.71875 C 43.15625 -1.601562 37.082031 0.953125 29.3125 0.953125 C 21.582031 0.953125 15.503906 -1.578125 11.078125 -6.640625 C 6.660156 -11.710938 4.421875 -18.8125 4.359375 -27.9375 L 4.359375 -39.734375 C 4.359375 -49.210938 6.550781 -56.609375 10.9375 -61.921875 C 15.332031 -67.242188 21.425781 -69.90625 29.21875 -69.90625 C 36.894531 -69.90625 42.941406 -67.289062 47.359375 -62.0625 C 51.785156 -56.84375 54.03125 -49.507812 54.09375 -40.0625 Z M 40.109375 -39.828125 C 40.109375 -46.046875 39.222656 -50.671875 37.453125 -53.703125 C 35.691406 -56.734375 32.945312 -58.25 29.21875 -58.25 C 25.53125 -58.25 22.800781 -56.789062 21.03125 -53.875 C 19.257812 -50.957031 18.34375 -46.515625 18.28125 -40.546875 L 18.28125 -28.28125 C 18.28125 -22.25 19.179688 -17.800781 20.984375 -14.9375 C 22.785156 -12.082031 25.5625 -10.65625 29.3125 -10.65625 C 32.945312 -10.65625 35


atore instructi, prophetae quaerenti: quis est homo qui vivet, et non videbit mortem? Respondere possumus: qui custodit verbum Christi.
          ORIGEN. We must understand Him, as it were, to say, If a man keep My light, he shall not see darkness forever; forever being taken as common to both clauses, as if the sentence were, If a man keep My saying for ever, He shall not see death for ever: meaning that a man does not see death, so long as he keeps Christ’s word. But when a man, by becoming sluggish in the observance of His words, and negligent in the keeping of his own heart, ceases to keep them, he then sees death; he brings it upon himself. Thus taught then by our Savior, to the prophet who asks, What man is he that lives, and shall not see death? we are able to answer, He who keeps Christ’s word.

          Chrysostomus: Servaverit autem dicit non solum fide, sed etiam per vitam puram. Simul autem et occulte insinuat quoniam nihil possunt ei facere. Si enim qui sermonem eius servabit, non morietur in aeternum, multo magis et ipse non potest mori.
          CHRYS. He says, keep, i.e. not by faith, but by purity of life. And at the same time too He means it as a tacit intimation that they can do nothing to Him. For if whoever keeps His word, shall never die, much less is it possible that He Himself should die.

          Lectio 13

              52 εἶπον [οὖν] αὐτῷ οἱ Ἰουδαῖοι, νῦν ἐγνώκαμεν ὅτι δαιμόνιον ἔχεις. Ἀβραὰμ ἀπέθανεν καὶ οἱ προφῆται, καὶ σὺ λέγεις, ἐάν τις τὸν λόγον μου τηρήσῃ, οὐ μὴ γεύσηται θανάτου εἰς τὸν αἰῶνα. 53 μὴ σὺ μείζων εἶ τοῦ πατρὸς ἡμῶν ἀβραάμ, ὅστις ἀπέθανεν; καὶ οἱ προφῆται ἀπέθανον: τίνα σεαυτὸν ποιεῖς; 54 ἀπεκρίθη Ἰησοῦς, ἐὰν ἐγὼ δοξάσω ἐμαυτόν, ἡ δόξα μου οὐδέν ἐστιν: ἔστιν ὁ πατήρ μου ὁ δοξάζων με, ὃν ὑμεῖς λέγετε ὅτι θεὸς ἡμῶν ἐστιν: 55 καὶ οὐκ ἐγνώκατε αὐτόν, ἐγὼ δὲ οἶδα αὐτόν. κἂν εἴπω ὅτι οὐκ οἶδα αὐτόν, ἔσομαι ὅμοιος ὑμῖν ψεύστης: ἀλλὰ οἶδα αὐτὸν καὶ τὸν λόγον αὐτοῦ τηρῶ. 56 Ἀβραὰμ ὁ πατὴρ ὑμῶν ἠγαλλιάσατο ἵνα ἴδῃ τὴν ἡμέραν τὴν ἐμήν, καὶ εἶδεν καὶ ἐχάρη.

              52. Then said the Jews to him, Now we know that you have a devil. Abraham is dead, and the prophets; and you say, If a man keep my saying, he shall never taste of death. 53. Are you greater than our father Abraham, which is dead? and the prophets are dead; whom make you yourself? 54. Jesus answered, If I honor myself, my honor is nothing; it is my Father that honors me; of whom you say, that he is your God: 55. Yet you have not known him; but I know him: and if I should say, I kn


*/
	public int SFTRepetitionsUsed {
get{
	    int reps = -1;
	    try {
	        reps = this.GetAll("SFT").Length;
	    } catch (HL7Exception e) {
	        string message = "Unexpected error accessing data - this is probably a bug in the source code generator.";
	        HapiLogFactory.GetHapiLog(GetType()).Error(message, e);
	        throw new System.Exception(message);
	    }
	    return reps;
	}
	}

	/**
	 * Enumerate over the SFT results
	 */
	public IEnumerable<SFT> SFTs
	{
		get
		{
			for (int rep = 0; rep < SFTRepetitionsUsed; rep++)
			{
				yield return (SFT)this.GetStructure("SFT", rep);
			}
		}
	}

	///
	///Adds a new SFT
	///
	public SFT AddSFT()
	{
		return this.AddStructure("SFT") as SFT;
	}

	///
	///Removes the given SFT
	///
	public void RemoveSFT(SFT toRemove)
	{
		this.RemoveStructure("SFT", toRemove);
	}

	///
	///Removes the SFT at the given index
	///
	public void RemoveSFTAt(int index)
	{
		this.RemoveRepetition("SFT", index);
	}

	///
	/// Returns UAC (User Authentication Credential Segment) - creates it if necessary
	///
	public UAC UAC {
get{
	   UAC ret = null;
	   try {
	      ret = (UAC)this.GetStructure("UAC");
	   } catch(HL7Exception e) {
	      HapiLogFactory.GetHapiLog(GetType()).Error("Unexpected error accessing data - this is probably a bug in the source code generator.", e);
	      throw new System.Exception("An unexpected error ocurred",e);
	   }
	   return ret;
	}
	}

	///
	/// Returns  first repetition of NMD_N02_CLOCK_AND_STATS_WITH_NOTES (a Group object) - creates it if necessary
	///
	public NMD_N02_CLOCK_AND_STATS_WITH_NOTES GetCLOCK_AND_STATS_WITH_NOTES() {
	   NMD_N02_CLOCK_AND_STATS_WITH_NOTES ret = null;
	   try {
	      ret = (NMD_N02_CLOCK_AND_STATS_WITH_NOTES)this.GetStructure("CLOCK_AND_STATS_WITH_NOTES");
	   } catch(HL7Exception e) {
	      HapiLogFactory.GetHapiLog(GetType()).Error("Unexpected error accessing data - this is probably a bug in the source code generator.", e);
	      throw new System.Exception("An unexpected error ocurred",e);
	   }
	   return ret;
	}

	///
	///Returns a specific repetition of NMD_N02_CLOCK_AND_STATS_WITH_NOTES
	/// * (a Group object) - creates it if necessary
	/// throws HL7Exception if the repetition requested is more than one
	///     greater than the number of existing repetitions.
	///
	public NMD_N02_CLOCK_AND_STATS_WITH_NOTES GetCLOCK_AND_STATS_WITH_NOTES(int rep) {
	   return (NMD_N02_CLOCK_AND_STATS_WITH_NOTES)this.GetStructure("CLOCK_AND_STATS_WITH_NOTES", rep);
	}

	/**
	 * Returns the number of existing repetitions of NMD_N02_CLOCK_AND_STATS_WITH_NOTES
	 */
	public int CLOCK_AND_STATS_WITH_NOTESRepetitionsUsed {
get{
	    int reps = -1;
	    try {
	        reps = this.GetAll("CLOCK_AND_STATS_WITH_NOTES").Length;
	    } catch (HL7Exception e) {
	        string message = "Unexpected error accessing data - this is probably a bug in the source code generator.";
	        HapiLogFactory.Get


s3CodeAdmin                 `xml:"urn:iso:std:iso:20022:tech:xsd:admn.002.001.01 Sts"`
	StsRsnInf    *StatusReasonInformation8TCH                     `xml:"urn:iso:std:iso:20022:tech:xsd:admn.002.001.01 StsRsnInf,omitempty"`
}

type StatusReason6Choice struct {
	Prtry *ProprietaryReasonCode `xml:"urn:iso:std:iso:20022:tech:xsd:admn.002.001.01 Prtry,omitempty"`
}

type StatusReasonInformation8 struct {
	Rsn StatusReason6Choice `xml:"urn:iso:std:iso:20022:tech:xsd:admn.002.001.01 Rsn"`
}

type StatusReasonInformation8TCH struct {
	Rsn StatusReason6Choice `xml:"urn:iso:std:iso:20022:tech:xsd:admn.002.001.01 Rsn"`
}

// XSD SimpleType declarations

type Max35Text string

type Min11Max11Text string

type ProprietaryReasonCode string

const ProprietaryReasonCode9946 ProprietaryReasonCode = "9946"
const ProprietaryReasonCode9948 ProprietaryReasonCode = "9948"
const ProprietaryReasonCode9964 ProprietaryReasonCode = "9964"
const ProprietaryReasonCodeDs0H ProprietaryReasonCode = "DS0H"
const ProprietaryReasonCodeRc02 ProprietaryReasonCode = "RC02"

type TransactionGroupStatus3CodeAdmin string

const TransactionGroupStatus3CodeAdminActc TransactionGroupStatus3CodeAdmin = "ACTC"
const TransactionGroupStatus3CodeAdminRjct TransactionGroupStatus3CodeAdmin = "RJCT"
// Code generated by GoComply XSD2Go for Moov; DO NOT EDIT.
// Models for urn:iso:std:iso:20022:tech:xsd:admn.005.001.01 with prefix 'er'
package admn_005_001_01

import (
	"encoding/xml"

	"github.com/moov-io/rtp20022/pkg/rtp"
)

// XSD ComplexType declarations

type BranchAndFinancialInstitutionIdentification4ADMN struct {
	FinInstnId FinancialInstitutionIdentification7ADMN `xml:"urn:iso:std:iso:20022:tech:xsd:admn.005.001.01 FinInstnId"`
}

type ClearingSystemMemberIdentification2ADMN struct {
	MmbId Min11Max11Text `xml:"urn:iso:std:iso:20022:tech:xsd:admn.005.001.01 MmbId"`
}

type DocumentTCH struct {
	XMLName     xml.Name
	AdmnEchoReq EchoRequestTCH `xml:"urn:iso:std:iso:20022:tech:xsd:admn.005.001.01 AdmnEchoReq"`
}

type EchoRequest struct {
	GrpHdr    GrpHdr    `xml:"urn:iso:std:iso:20022:tech:xsd:admn.005.001.01 GrpHdr"`
	EchoTxInf EchoTxInf `xml:"urn:iso:std:iso:20022:tech:xsd:admn.005.001.01 EchoTxInf"`
}

type EchoRequestTCH struct {
	GrpHdr    GrpHdrTCH    `xml:"urn:iso:std:iso:20022:tech:xsd:admn.005.001.01 GrpHdr"`
	EchoTxInf EchoTxInfTCH `xml:"urn:iso:std:iso:20022:tech:xsd:admn.005.001.01 EchoTxInf"`
}

type EchoTxInf struct {
	FnctnCd  EchoCode                                         `xml:"urn:iso:std:iso:20022:tech:xsd:admn.005.001.01 FnctnCd"`
	InstrId  Max35Text                                        `xml:"urn:iso:std:iso:20022


4v-.9c0-.3.2-.5.5-.5.2 0 .4-.2.4-.4v-1.9c0-.2-.2-.5-.4-.5-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5h2.7c.3 0 .5.2.5.5v3.7c0 .2.2.4.4.4.3 0 .5.2.5.5v.9z"/></symbol>
		<symbol viewBox="0 0 24 24" id="join_group"><path d="M16.6 11c0-1.3-1.3-2-2.6-2.6-.9-.5-1.1-.8-1.1-1.2 0-.5.3-.8.5-1.2.6-.5.9-1.2.9-2.1 0-1.6-.9-3-2.6-3-1 0-1.7.5-2.2 1.3 1.2.8 1.9 2.4 1.9 4.1 0 1-.3 2-.8 2.8-.2.3-.1.7.2.9 1 .5 2.1 1.2 2.7 2.3.1.2.3.2.5.2h1.3c.8 0 1.3-.6 1.3-1.5zm-7.5.1c-1.1-.4-1.2-.9-1.2-1.3s.3-.9.6-1.3c.6-.6 1-1.4 1-2.4 0-1.8-1.1-3.3-2.9-3.3h-.2c-1.8 0-2.9 1.5-2.9 3.3 0 1 .3 1.8.9 2.4.4.4.7.8.7 1.3 0 .4-.2.9-1.2 1.3-1.5.7-3 1.4-3 2.8 0 1.1.7 1.8 1.6 1.8h8c.9 0 1.6-.7 1.6-1.7-.1-1.5-1.5-2.2-3-2.9zm13.3 4.6h-2.1v-2.1c0-.4-.3-.7-.7-.7h-1.4c-.3 0-.7.3-.7.7v2.1h-2c-.4 0-.7.3-.7.7v1.4c0 .3.3.7.7.7h2v2c0 .4.4.7.7.7h1.4c.4 0 .7-.3.7-.7v-2h2.1c.4 0 .7-.4.7-.7v-1.4c0-.4-.3-.7-.7-.7z" /></symbol>
		<symbol viewBox="0 0 24 24" id="lead_convert"><path  d="M12.7 13.1c-.2.2-.2.7 0 .9l1 1c.3.3.7.3 1 0l6.2-6.2c.3-.3.3-.7 0-1l-6.2-6.2c-.3-.3-.7-.3-.9 0l-1 .9c-.3.3-.3.7 0 1l2.6 2.6c.8.8-.4.8-.4.8h-3.7c-4.4 0-8.2 3.6-8.1 8 .1 4.3 3.6 7.7 7.9 7.7h1.6c.4 0 .7-.3.7-.7v-1.4c0-.3-.3-.7-.7-.7h-1.5c-2.6 0-4.9-1.9-5.2-4.5-.3-3.1 2.1-5.6 5.1-5.6H15c.4.1.5.5.3.8l-2.6 2.6z"/></symbol>
		<symbol viewBox="0 0 24 24" id="leave_group"><path d="M14 10.2c-.9-.


  Color _normalColor;
  Color _pressedColor;

  Rect padding = Rect.zero;

  Sprite icon = Sprite("ui/backpaper1.png");

  Function() onPressedListener;

  bool canBeSelected = false;
  bool isSelected = false;

  ButtonUI(HUD hudRef, Rect bounds, this.text,
      {Color normalColor,
      Color pressedColor,
      Color fontColor,
      double fontSize = 15,
      this.canBeSelected = false,
      this.isSelected = false,
      this.padding = Rect.zero,
      this.icon})
      : super(hudRef) {
    setPosition(bounds);

    _normalColor =
        normalColor != null ? normalColor : Color.fromRGBO(216, 165, 120, 1);
    _pressedColor =
        pressedColor != null ? pressedColor : Color.fromRGBO(50, 143, 249, 1);

    _normalText = TextConfig(
      fontSize: fontSize,
      color: fontColor != null ? fontColor : Color.fromRGBO(224, 223, 168, 1),
      fontFamily: "Blocktopia",
    );
  }

  void draw(Canvas c) {
    if (canBeSelected) {
      _p.color = isSelected ? _pressedColor : _normalColor;
    } else {
      _p.color = _normalColor;
    }

    if (TapState.clickedAtButton(this)) {
      isSelected = canBeSelected ? !isSelected : isSelected;
      if (onPressedListener != null) onPressedListener();
    }

    if (TapState.currentClickingAt(bounds)) {
      _p.color = _pressedColor;
    }

    c.drawRect(bounds, _p);

    var iconScale = 0.5;
    var iconHeight = 42 * iconScale;
    icon?.renderScaled(
        c, Position(bounds.left + 10, bounds.center.dy - iconHeight / 2),
        scale: iconScale);
    _normalText.render(
      c,
      text,
      Position(bounds.center.dx + padding.left, bounds.center.dy + padding.top),
      anchor: Anchor.center,
    );
  }

  void setPosition(Rect bounds) {
    this.bounds = Rect.fromLTWH(bounds.left - bounds.width / 2, bounds.top,
        bounds.width, bounds.height);
  }
}
import 'dart:ui' as ui;

import 'package:BWO/utils/timer_helper.dart';
import 'package:fast_noise/fast_noise.dart';
import 'package:flutter/material.dart';

import '../entity/entity.dart';
import '../entity/player/player.dart';
import '../game_controller.dart';
import '../hud/build/build_foundation.dart';
import 'ground.dart';
import 'tile.dart';
import 'tree.dart';

class MapController {
  final Map<int, Map<int, Map<int, Tile>>> map = {};
  Player player;

  double widthViewPort;
  double heightViewPort;

  int border = 6;

  double posX = 0;
  double posY = 0;
  Offset targetPos;

  List<Entity> entityList = [];
  List<Entity> entitysOnViewport = [];
  final List<Entity> _tmpEntitysToBeAdded = [];
  int treesGenerated = 0;
  int tilesGenerated = 0;

  int safeY = 0;
  int safeYmax = 0;
  int safeX = 0;
  int safeXmax = 0;

  double cameraSpeed = 5;

  int _loopsPerCycle = 0;
  int _maxLoopsPerCycle = 200; //first loop

  BuildFoundation buildFoundation;

  SimplexNoise terrainNoise = SimplexNoise(
    frequency: 0.003, //0.004
    gain: 1,
    lacunarity: 2.6,
    octaves: 3,
    fractalType: FractalType.FBM,
  );

  PerlinNoise terrainNoise2 = PerlinNoise(
    frequency: .005,
    gain: 1,
    lacunarity: 1,
    octaves: 1,
    fractalType: FractalType.FBM,
  );
  PerlinNoise treeNoise = PerlinNoise(
    frequency: .8,
    gain: 1,
    lacunarity: 1,
    octaves: 1,
    fractalType: FractalType.FBM,
  );

  MapController(Offset startPosition) {
    posX = startPosition.dx


.3-17.9-60.3-18-18.1-.1-34.6 3.7-49.8 11.4V80.2c0-1.8-.9-2.7-2.8-2.7H2.7c-1.8 0-2.7.9-2.7 2.7v279.2c0 1.9.9 2.8 2.7 2.8h41c1.9 0 2.8-.9 2.8-2.8V223.3c0-.8-2.8-27 45.8-27 48.5 0 45.8 26.1 45.8 27v122.6c0 9 7.3 16.3 16.4 16.3h27.3c1.8 0 2.7-.9 2.7-2.8V223.3c0-23.4-9.3-41.8-28-55.3zm478.4 110.1c-6.8-15.7-18.4-27-34.9-34.1l-57.6-25.3c-8.6-3.6-9.2-11.2-2.6-16.1 7.4-5.5 44.3-13.9 84 6.8 1.7 1 4-.3 4-2.4v-44.7c0-1.3-.6-2.1-1.9-2.6-17.7-6.6-36.1-9.9-55.1-9.9-26.5 0-45.3 5.8-58.5 15.4-.5.4-28.4 20-22.7 53.7 3.4 19.6 15.8 34.2 37.2 43.6l53.6 23.5c11.6 5.1 15.2 13.3 12.2 21.2-3.7 9.1-13.2 13.6-36.5 13.6-24.3 0-44.7-8.9-58.4-19.1-2.1-1.4-4.4.2-4.4 2.3v34.4c0 10.4 4.9 17.3 14.6 20.7 15.6 5.5 31.6 8.2 48.2 8.2 12.7 0 25.8-1.2 36.3-4.3.7-.3 36-8.9 45.6-45.8 3.5-13.5 2.4-26.5-3.1-39.1zM376.2 149.8c-31.7 0-104.2 20.1-104.2 103.5v183.5c0 .8.6 2.7 2.7 2.7h40.9c1.9 0 2.8-.9 2.8-2.7V348c16.5 12.7 35.8 19.1 57.7 19.1 60.5 0 108.7-48.5 108.7-108.7.1-60.3-48.2-108.6-108.6-108.6zm0 170.9c-17.2 0-31.9-6.1-44-18.2-12.2-12.2-18.2-26.8-18.2-44 0-34.5 27.6-62.2 62.2-62.2 34.5 0 62.2 27.6 62.2 62.2.1 34.3-27.3 62.2-62.2 62.2zM228.3 72.5c-15.9 0-28.8 12.9-28.9 28.9 0 15.6 12.7 28.9 28.9 28.9s28.9-13.1 28.9-28.9c0-16.2-13-28.9-28.9-28.9z"],behance:[576,512,[],"f1b4","M232 237.2c31.8-15.2 48.4-38.2 48.4-74 0-70.6-52.6-87.8-113.3-87.8H0v354.4h171.8c64.4 0 124.9-30.9 124.9-102.9 0-44.5-21.1-77.4-64.7-89.7zM77.9 135.9H151c28.1 0 5


Array ? "Document" : ""}Array<` + valType + ">";
      else {
        // if valType includes a space, likely means its a union type (ie "number | string") so lets wrap it in brackets when adding the array to the type
        if (valType.includes(" ")) valType = `(${valType})`;
        valType = `${valType}[]`;
      }
    }

    return makeLine({ key, val: valType, isOptional });
  };
};

export const registerUserTs = (basePath: string): (() => void) | null => {
  let pathToSearch: string;
  if (basePath.endsWith(".json")) pathToSearch = basePath;
  else pathToSearch = path.join(basePath, "**/tsconfig.json");

  const files = glob.sync(pathToSearch, { ignore: "**/node_modules/**" });

  if (files.length === 0) throw new Error(`No tsconfig.json file found at path "${basePath}"`);
  else if (files.length > 1)
    throw new Error(
      `Multiple tsconfig.json files found. Please specify a more specific --project value.\nPaths found: ${files}`
    );

  const foundPath = path.join(process.cwd(), files[0]);
  require("ts-node").register({ transpileOnly: true, project: foundPath });

  // handle path aliases
  const tsConfigString = fs.readFileSync(foundPath, "utf8");
  const tsConfig = JSON.parse(stripJsonComments(tsConfigString));
  if (tsConfig?.compilerOptions?.paths) {
    const cleanup = require("tsconfig-paths").register({
      baseUrl: process.cwd(),
      paths: tsConfig.compilerOptions.paths
    });

    return cleanup;
  }

  return null;
};

interface LoadedSchemas {
  [modelName: string]: mongoose.Schema;
}

export const loadSchemas = (modelsPaths: string[]) => {
  const schemas: LoadedSchemas = {};

  const checkAndRegisterModel = (obj: any): boolean => {
    if (!obj?.modelName || !obj?.schema) return false;
    schemas[obj.modelName] = obj.schema;
    return true;
  };

  modelsPaths.forEach((singleModelPath: string) => {
    let exportedData;
    try {
      exportedData = require(singleModelPath);
    } catch (err) {
      if (err.message?.includes(`Cannot find module '${singleModelPath}'`))
        throw new Error(`Could not find a module at path ${singleModelPath}.`);
      else throw err;
    }

    const prevSchemaCount = Object.keys(schemas).length;

    // NOTE: This was used to find the most likely names of the model based on the filename, and only check those properties for mongoose models. Now, we check all properties, but this could be used as a "strict" option down the road.

    // we check each file's export object for property names that would commonly export the schema.
    // Here is the priority (using the filename as a starting point to determine model name):
    // default export, model name (ie `User`), model name lowercase (ie `user`), collection name (ie `users`), collection name uppercased (ie `Users`).
    // If none of those exist, we assume the export object is set to the schema directly
    /*
    // if exported data has a default export, use that
    if (checkAndRegisterModel(exportedData.default) || checkAndRegisterModel(exportedData)) return;

    // if no default export, look for a property matching file name
    const { name: filenameRoot } = path.parse(singleModelPath);

    // capitalize first char
    const modelName = filenameRoot.charAt(0).toUpperCase() + filenameRoot.slice(1);
    const collectionNameUppercased = modelName + "s";

    let modelNameLowercase = filenameRoot.endsWith("s") ? filenameRoot.slice(0, -1) : filenameRoot;
    modelNameLowercase = modelNameLowercase.toLowerCase();

    c