OpenSolaris
Collectives
Discussions
Documentation
Download
Source Browser
Free CD
Log-in
|
en
Community Group performance
:
OpenSolaris NUMA project
>
Observability
>
Tools
>
Perl lgroup module
>
Sun::Solaris::Lgrp - Perl interface to Solaris liblgrp(3LIB) library.
Top Menu
Show
:
Comments
Attachments
History
Information
Print
:
Print
Print preview
Export as PDF
Export as RTF
Export as HTML
Export as XAR
Wiki code for
Sun::Solaris::Lgrp - Perl interface to Solaris liblgrp(3LIB) library.
Hide Line numbers
1: |** Sun::Solaris::Lgrp - Perl interface to Solaris liblgrp library.** 2: 3: * [[NAME>>#name]] 4: * [[SYNOPSIS>>#synopsis]] 5: * [[DESCRIPTION>>#description]] 6: ** [[EXPORTS>>#exports]] 7: ** [[METHODS>>#methods]] 8: ** [[Difference in the API versions>>#difference_in_the_api_versions]] 9: ** [[Exportable constants>>#exportable_constants]] 10: ** [[Error values>>#error_values]] 11: ** [[Exportable functions>>#exportable_functions]] 12: ** [[Object Methods>>#object_methods]] 13: * [[ATTRIBUTES>>#attributes]] 14: * [[SEE ALSO>>#see_also]] 15: 16: ---- 17: 18: = NAME 19: 20: Sun::Solaris::Lgrp - Perl interface to Solaris {{code}}liblgrp(3LIB){{/code}} library. 21: 22: ---- 23: 24: = SYNOPSIS 25: 26: All functions return **undef** or empty list on failure. The **$!** variable contains the system errno value. 27: 28: {{{ 29: 30: use Sun::Solaris::Lgrp qw(:ALL); 31: }}} 32: 33: {{{ 34: 35: # initialize lgroup interface 36: my $cookie = lgrp_init(LGRP_VIEW_OS | LGRP_VIEW_CALLER); 37: my $l = Sun::Solaris::Lgrp->new(LGRP_VIEW_OS | LGRP_VIEW_CALLER); 38: }}} 39: 40: {{{ 41: 42: my $version = lgrp_version(LGRP_VER_CURRENT | LGRP_VER_NONE); 43: $version = $l->version(LGRP_VER_CURRENT | LGRP_VER_NONE); 44: }}} 45: 46: {{{ 47: 48: $home = lgrp_home(P_PID, P_MYID); 49: $home = l->home(P_PID, P_MYID); 50: }}} 51: 52: {{{ 53: 54: lgrp_affinity_set(P_PID, $pid, $lgrp, 55: LGRP_AFF_STRONG | LGRP_AFF_WEAK | LGRP_AFF_NONE); 56: $l->affinity_set(P_PID, $pid, $lgrp, 57: LGRP_AFF_STRONG | LGRP_AFF_WEAK | LGRP_AFF_NONE); 58: }}} 59: 60: {{{ 61: 62: my $affinity = lgrp_affinity_get(P_PID, $pid, $lgrp); 63: $affinity = $l->affinity_get(P_PID, $pid, $lgrp); 64: }}} 65: 66: {{{ 67: 68: my $nlgrps = lgrp_nlgrps($cookie); 69: $nlgrps = $l->nlgrps(); 70: }}} 71: 72: {{{ 73: 74: my $root = lgrp_root($cookie); 75: $root = l->root(); 76: }}} 77: 78: {{{ 79: 80: $latency = lgrp_latency($lgrp1, $lgrp2); 81: $latency = $l->latency($lgrp1, $lgrp2); 82: }}} 83: 84: {{{ 85: 86: my @children = lgrp_children($cookie, $lgrp); 87: @children = l->children($lgrp); 88: }}} 89: 90: {{{ 91: 92: my @parents = lgrp_parents($cookie, $lgrp); 93: @parents = l->parents($lgrp); 94: }}} 95: 96: {{{ 97: 98: my @lgrps = lgrp_lgrps($cookie); 99: @lgrps = l->lgrps(); 100: }}} 101: 102: {{{ 103: 104: @lgrps = lgrp_lgrps($cookie, $lgrp); 105: @lgrps = l->lgrps($lgrp); 106: }}} 107: 108: {{{ 109: 110: my @leaves = lgrp_leaves($cookie); 111: @leaves = l->leaves(); 112: }}} 113: 114: {{{ 115: 116: my $is_leaf = lgrp_isleaf($cookie, $lgrp); 117: $is_leaf = $l->is_leaf($lgrp); 118: }}} 119: 120: {{{ 121: 122: my @cpus = lgrp_cpus($cookie, $lgrp, 123: LGRP_CONTENT_HIERARCHY | LGRP_CONTENT_DIRECT); 124: @cpus = l->cpus($lgrp, LGRP_CONTENT_HIERARCHY | LGRP_CONTENT_DIRECT); 125: }}} 126: 127: {{{ 128: 129: my $memsize = lgrp_mem_size($cookie, $lgrp, 130: LGRP_MEM_SZ_INSTALLED | LGRP_MEM_SZ_FREE, 131: LGRP_CONTENT_HIERARCHY | LGRP_CONTENT_DIRECT); 132: $memsize = l->mem_size($lgrp, 133: LGRP_MEM_SZ_INSTALLED | LGRP_MEM_SZ_FREE, 134: LGRP_CONTENT_HIERARCHY | LGRP_CONTENT_DIRECT); 135: }}} 136: 137: {{{ 138: 139: my $is_stale = lgrp_cookie_stale($cookie); 140: $stale = l->stale(); 141: }}} 142: 143: {{{ 144: 145: lgrp_fini($cookie); 146: }}} 147: 148: The following is available for API version greater than 1: 149: 150: {{{ 151: 152: my @lgrps = lgrp_resources($cookie, $lgrp, LGRP_RSRC_CPU); 153: }}} 154: 155: {{{ 156: 157: # Get latencies from cookie 158: $latency = lgrp_latency_cookie($cookie, $from, $to); 159: }}} 160: 161: ---- 162: 163: = DESCRIPTION 164: 165: This module provides access to the {{code}}liblgrp(3LIB){{/code}} library and to various constants and functions defined in {{code}}sys/lgrp_sys.h{{/code}} header file. It provides both the procedural and object interface to the library. The procedural interface requires (in most cases) passing a transparent cookie around. The object interface hides all the cookie manipulations from the user. 166: 167: Functions returning scalar value indicate error by returning **undef**. The caller may examine the **$!** variable to get the {{code}}errno{{/code}} value. 168: 169: Functions returning list value return the number of elements in the list when called in scalar context. In case of error the empty list is return in the array context and **undef** is returned in the scalar context. 170: 171: == EXPORTS 172: 173: By default nothing is exported from this module. The following tags can be used to selectively import constants and functions defined in this module: 174: 175: ; **:LGRP_CONSTANTS** 176: : LGRP_AFF_NONE, LGRP_AFF_STRONG, LGRP_AFF_WEAK, LGRP_CONTENT_DIRECT, LGRP_CONTENT_HIERARCHY, LGRP_MEM_SZ_FREE, LGRP_MEM_SZ_INSTALLED, LGRP_VER_CURRENT, LGRP_VER_NONE, LGRP_VIEW_CALLER, LGRP_VIEW_OS, LGRP_NONE, LGRP_RSRC_CPU, LGRP_RSRC_MEM, LGRP_CONTENT_ALL, LGRP_LAT_CPU_TO_MEM. 177: ; **:PROC_CONSTANTS** 178: : P_PID, P_LWPID P_MYID 179: ; **:CONSTANTS** 180: : :LGRP_CONSTANTS, :PROC_CONSTANTS 181: ; **:FUNCTIONS** 182: : lgrp_affinity_get(), lgrp_affinity_set(), lgrp_children(), lgrp_cookie_stale(), lgrp_cpus(), lgrp_fini(), lgrp_home(), lgrp_init(), lgrp_latency(), lgrp_latency_cookie(), lgrp_mem_size(), lgrp_nlgrps(), lgrp_parents(), lgrp_root(), lgrp_version(), lgrp_view(), lgrp_resources(), lgrp_lgrps(), lgrp_leaves(), lgrp_isleaf(), lgrp_lgrps(), lgrp_leaves(). 183: ; **:ALL** 184: : :CONSTANTS, :FUNCTIONS 185: 186: == METHODS 187: 188: new(), cookie(), stale(), view(), root(), children(), parents(), nlgrps(), mem_size(), cpus(), isleaf(), resources(), version(), home(), affinity_get(), affinity_set(), lgrps(), leaves(), latency(). 189: 190: == Difference in the API versions 191: 192: The {{code}}liblgrp(3LIB){{/code}} is versioned. The exact version which was used to compile a module is available through **lgrp_version** function. 193: 194: Version 2 of the lgrpp_user API introduced the following constants and functions, nbot present in version 1: 195: 196: ; **[[{{code}}LGRP_RSRC_CPU{{/code}}>>#item_lgrp_rsrc_cpu]] constant** 197: ; **[[{{code}}LGRP_RSRC_MEM{{/code}}>>#item_lgrp_rsrc_mem]] constant** 198: ; **{{code}}LGRP_CONTENT_ALL{{/code}} constant** 199: ; **{{code}}LGRP_LAT_CPU_TO_MEM{{/code}} constant** 200: ; **{{code}}lgrp_resources(){{/code}} function** 201: ; **{{code}}lgrp_latency_cookie(){{/code}} function** 202: 203: The [[{{code}}LGRP_RSRC_CPU{{/code}}>>#item_lgrp_rsrc_cpu]] and [[{{code}}LGRP_RSRC_MEM{{/code}}>>#item_lgrp_rsrc_mem]] are not defined for version 1. The [[lgrp_resources()>>#item_lgrp_resources]] function is defined for version 1 but always returns empty list. The [[lgrp_latency_cookie()>>#item_lgrp_latency_cookie]] function is an alias for lgrp_latency for version 1. 204: 205: == Exportable constants 206: 207: The constants are exported with **:CONSTANTS** or **:ALL** tags: 208: 209: {{{ 210: 211: use LGRP::User ’:ALL’; 212: or 213: use LGRP::User ’:CONSTANTS’; 214: }}} 215: 216: The following constants are available for use in Perl programs: 217: 218: {{{ 219: 220: LGRP_NONE 221: }}} 222: 223: {{{ 224: 225: LGRP_VER_CURRENT 226: LGRP_VER_NONE 227: }}} 228: 229: {{{ 230: 231: LGRP_VIEW_CALLER 232: LGRP_VIEW_OS 233: }}} 234: 235: {{{ 236: 237: LGRP_AFF_NONE 238: LGRP_AFF_STRONG 239: LGRP_AFF_WEAK 240: }}} 241: 242: {{{ 243: 244: LGRP_CONTENT_DIRECT 245: LGRP_CONTENT_HIERARCHY 246: }}} 247: 248: {{{ 249: 250: LGRP_MEM_SZ_FREE 251: LGRP_MEM_SZ_INSTALLED 252: }}} 253: 254: {{{ 255: 256: LGRP_RSRC_CPU (1) 257: LGRP_RSRC_MEM (1) 258: LGRP_CONTENT_ALL (1) 259: LGRP_LAT_CPU_TO_MEM(1) 260: }}} 261: 262: {{{ 263: 264: P_PID 265: P_LWPID 266: P_MYID 267: }}} 268: 269: (1) Available for versions API greater than 1. 270: 271: == Error values 272: 273: The functions in this module return **undef** or an empty list when an underlying library function fails. The **$!** is set to provide more information values for the error. The following error codes are possible: 274: 275: ; **EINVAL** 276: : The value supplied is not valid. 277: ; **ENOMEM** 278: : There was not enough system memory to complete an operation. 279: ; **ESRCH** 280: : The specified process or thread was not found. 281: ; **EPERM** 282: : The effective user of the calling process does not have appropriate privileges, and its real or effective user ID does not match the real or effective user ID of one of the threads. 283: 284: == Exportable functions 285: 286: The detailed description of each function follows. Since this module is intended to provide a Perl interface to the routines in //liblgrp(3LIB)//, a very short description is given for the corresponding functions in this module and a reference is given to the complete description in the //liblgrp(3LIB)// man pages. Any differences or additional functionality in the Perl module are highlighted and fully documented here. 287: 288: ; **lgrp_init([LGRP_VIEW_CALLER | LGRP_VIEW_OS])** 289: : The function initializes the lgroup interface and takes a snapshot of the lgroup hierarchy with the given view. Given the view, [[lgrp_init()>>#item_lgrp_init]] returns a cookie representing this snapshot of the lgroup hierarchy. This cookie should be used with other routines in the lgroup interface needing the lgroup hierarchy. The [[lgrp_fini()>>#item_lgrp_fini]] function should be called with the cookie when it is no longer needed. Unlike [[lgrp_init (3LGRP)>>#lgrp_init__3lgrp_]], {{code}}LGRP_VIEW_OS{{/code}} is assumed as the default if no view is provided. 290: : 291: Upon successful completion, [[lgrp_init()>>#item_lgrp_init]] returns a cookie. Otherwise it returns **undef** and sets **$!** to indicate the error. 292: : 293: See [[lgrp_init(3LGRP)>>#item_lgrp_init]] for more information. 294: ; **{{code}}lgrp_fini($cookie){{/code}}** 295: : The function takes a cookie, frees the snapshot of the lgroup hierarchy created by [[lgrp_init()>>#item_lgrp_init]], and cleans up anything else set up by [[lgrp_init()>>#item_lgrp_init]]. After this function is called, the cookie returned by the lgroup interface might no longer be valid and should not be used. 296: : 297: Upon successful completion, 1 is returned. Otherwise, **undef** is returned and **$!** is set to indicate the error. 298: : 299: See [[lgrp_fini(3LGRP)>>#item_lgrp_fini]] for more information. 300: ; **{{code}}lgrp_view($cookie){{/code}}** 301: : The function takes a cookie representing the snapshot of the lgroup hierarchy and returns the snapshot’s view of the lgroup hierarchy. 302: : 303: If the given view is {{code}}LGRP_VIEW_CALLER{{/code}}, the snapshot contains only the resources that are available to the caller (such as those with respect to processor sets). When the view is {{code}}LGRP_VIEW_OS{{/code}}, the snapshot contains what is available to the operating system. 304: : 305: Upon succesful completion, the function returns the view for the snapshot of the lgroup hierarchy represented by the given cookie. Otherwise, **undef** is returned and {{code}}$!{{/code}} is set. 306: : 307: See [[lgrp_view(3LGRP)>>#item_lgrp_view]] for more information. 308: ; **lgrp_home($idtype, $id)** 309: : Returns the home lgroup for the given process or thread. The $idtype argument should be {{code}}P_PID{{/code}} to specify a process and the **$id** argument should be its process id. Otherwise, the idtype argument should be {{code}}P_LWPID{{/code}} to specify a thread and the **$id** argument should be its LWP id. The value {{code}}P_MYID{{/code}} can be used for the id argument to specify the current process or thread. 310: : 311: Upon successful completion, [[{{code}}lgrp_home(){{/code}}>>#item_lgrp_home]] returns the id of the home lgroup of the specified process or thread. Otherwise, **undef** is returned and **$!** is set to indicate the error. 312: : 313: See [[lgrp_home(3LGRP)>>#item_lgrp_home]] for more information. 314: ; **{{code}}lgrp_cookie_stale($cookie){{/code}}** 315: : Upon successful completion, the function returns whether the cookie is stale. Otherwise, it returns **undef** and sets **$!** errno to indicate the error. 316: : 317: The [[lgrp_cookie_stale()>>#item_lgrp_cookie_stale]] function will fail with [[{{code}}EINVAL{{/code}}>>#item_einval]] if the cookie is not valid. 318: : 319: See [[lgrp_cookie_stale(3LGRP)>>#item_lgrp_cookie_stale]] for more information. 320: ; **lgrp_cpus($cookie, $lgrp, $context)** 321: : The function takes a cookie representing a snapshot of the lgroup hierarchy and returns the list of CPUs in the lgroup specified by $lgrp. The context argument should be set to one of the following values to specify whether the direct contents or everything in this lgroup including its children should be returned: 322: ; **LGRP_CONTENT_HIERARCHY** 323: : Everything within this hierarchy. 324: ; **LGRP_CONTENT_DIRECT** 325: : Directly contained in lgroup. 326: When called in scalar context, [[lgrp_cpus()>>#item_lgrp_cpus]] function returns the number of CPUs, contained in the specified lgroup. 327: In case of error **undef** is returned in scalar context and **$!** is set to indicate the error. In list context the empty list is returned and **$!** is set. 328: See [[lgrp_cpus(3LGRP)>>#item_lgrp_cpus]] for more information. 329: ; **lgrp_children($cookie, $lgrp)** 330: : The function takes a cookie representing a snapshot of the lgroup hierarchy and returns the list of lgroups that are children of the specified lgroup. 331: : 332: When called in scalar context, [[lgrp_children()>>#item_lgrp_children]] function returns the number of children lgroups for the specified lgroup. 333: : 334: In case of error **undef** or empty list is returned and **$!** is set to indicate the error. 335: : 336: See [[lgrp_children(3LGRP)>>#item_lgrp_children]] for more information. 337: ; **lgrp_parents($cookie, $lgrp)** 338: : The function takes a cookie representing a snapshot of the lgroup hierarchy and returns the list of parent of the specified lgroup. 339: : 340: When called in scalar context, [[lgrp_parents()>>#item_lgrp_parents]] function returns the number of parent lgroups for the specified lgroup. 341: : 342: In case of error **undef** or empty list is returned and **$!** is set to indicate the error. 343: : 344: See [[lgrp_parents(3LGRP)>>#item_lgrp_parents]] for more information. 345: ; **{{code}}lgrp_nlgrps($cookie){{/code}}** 346: : The function takes a cookie representing a snapshot of the lgroup hierarchy. It returns the number of lgroups in the hierarchy where the number is always at least one. 347: : 348: In case of error **undef** is returned and **$!** is set to EINVAL indicatng that the cookie is not valid. 349: : 350: See [[lgrp_nlgrps(3LGRP)>>#item_lgrp_nlgrps]] for more information. 351: ; **{{code}}lgrp_root($cookie){{/code}}** 352: : The function returns the root lgroup ID. In case of error **undef** is returned and **$!** is set to EINVAL indicatng that the cookie is not valid. 353: : 354: See [[lgrp_root(3LGRP)>>#item_lgrp_root]] for more information. 355: ; **lgrp_mem_size($cookie, $lgrp, $type, $content)** 356: : The function takes a cookie representing a snapshot of the lgroup hierarchy. The function returns the memory size of the given lgroup in bytes. The type argument should be set to one of the following values: 357: ; **LGRP_MEM_SZ_FREE** 358: : Free memory. 359: ; **LGRP_MEM_SZ_INSTALLED** 360: : Installed memory. 361: The content argument should be set to one of the following values to specify whether the direct contents or everything in this lgroup including its children should be returned: 362: ; **LGRP_CONTENT_HIERARCHY** 363: : Everything within this hierarchy. 364: ; **LGRP_CONTENT_DIRECT** 365: : Directly contained in lgroup. 366: The total sizes include all the memory in the lgroup including its children, while the others reflect only the memory contained directly in the given lgroup. 367: Upon successful completion, the size in bytes is returned. Otherwise, **undef** is returned and **$!** is set to indicate the error. 368: See [[lgrp_mem_size(3LGRP)>>#item_lgrp_mem_size]] for more information. 369: ; **{{code}}lgrp_version([VERSION]){{/code}}** 370: : The function takes an interface version number, version, as an argument and returns an lgroup interface version. The version argument should be the value of {{code}}LGRP_VER_CURRENT{{/code}} or {{code}}LGRP_VER_NONE{{/code}} to find out the current lgroup interface version on the running system. 371: : 372: If version is still supported by the implementation, then [[lgrp_version()>>#item_lgrp_version]] returns the requested version. If {{code}}LGRP_VER_NONE{{/code}} is returned, the implementation cannot support the requested version. The application should be recompiled and might require further changes. 373: : 374: If version is {{code}}LGRP_VER_NONE{{/code}}, [[lgrp_version()>>#item_lgrp_version]] returns the current version of the library. 375: : 376: The following example tests whether the version of the interface used by the caller is supported: 377: : 378: 379: {{{ 380: lgrp_version(LGRP_VER_CURRENT) == LGRP_VER_CURRENT or 381: die("Built with unsupported lgroup interface"); 382: }}} 383: 384: : 385: See [[lgrp_version(3LGRP)>>#item_lgrp_version]] for more information. 386: ; **lgrp_affinity_set($idtype, $id, $lgrp, $affinity)** 387: : The function sets of LWPs specified by the $idtype and $id arguments have for the given lgroup. 388: : 389: The function sets the affinity that the LWP or set of LWPs specified by $idtype and $id have for the given lgroup. The lgroup affinity can be set to [[{{code}}LGRP_AFF_STRONG{{/code}}>>#item_lgrp_aff_strong]], [[{{code}}LGRP_AFF_WEAK{{/code}}>>#item_lgrp_aff_weak]], or [[{{code}}LGRP_AFF_NONE{{/code}}>>#item_lgrp_aff_none]]. 390: : 391: If the $idtype is {{code}}P_PID{{/code}}, the affinity is retrieved for one of the LWPs in the process or set for all the LWPs of the process with process id (PID) $id. The affinity is retrieved or set for the LWP of the current process with LWP id $id if idtype is {{code}}P_LWPID{{/code}}. If $id is {{code}}P_MYID{{/code}}, then the current LWP or process is specified. 392: : 393: There are different levels of affinity that can be specified by a thread for a particuliar lgroup. The levels of affinity are the following from strongest to weakest: 394: ; **LGRP_AFF_STRONG** 395: : Strong affinity. 396: ; **LGRP_AFF_WEAK** 397: : Weak affinity. 398: ; **LGRP_AFF_NONE** 399: : No affinity. 400: Upon successful completion, [[lgrp_affinity_set()>>#item_lgrp_affinity_set]] return 1. Otherwise, it returns **undef** and set **$!** to indicate the error. 401: See [[lgrp_affinity_set(3LGRP)>>#item_lgrp_affinity_set]] for more information. 402: ; **lgrp_affinity_get($idtype, $id, $lgrp)** 403: : The function returns the affinity that the LWP has to a given lgrp. See [[lgrp_affinity_get()>>#item_lgrp_affinity_get]] for detailed description. 404: : 405: See [[lgrp_affinity_get(3LGRP)>>#item_lgrp_affinity_get]] for more information. 406: ; **lgrp_latency_cookie($cookie, $from, $to, [$between=LGRP_LAT_CPU_TO_MEM])** 407: : The function takes a cookie representing a snapshot of the lgroup hierarchy and returns the latency value between a hardware resource in the $from lgroup to a hardware resource in the $to lgroup. If $from is the same lgroup as $to, the latency value within that lgroup is returned. 408: : 409: The optional **between** argument should be set to {{code}}LGRP_LAT_CPU_TO_MEM{{/code}} to specify between which hardware resources the latency should be measured. Currently the only valid value is {{code}}LGRP_LAT_CPU_TO_MEM{{/code}} which represents latency from CPU to memory. 410: : 411: Upon successful completion, [[{{code}}lgrp_latency_cookie(){{/code}}>>#item_lgrp_latency_cookie]] return 1. Otherwise, it returns **undef** and set **$!** to indicate the error. For LGRP API version 1 the [[lgrp_latency_cookie()>>#item_lgrp_latency_cookie]] is an alias for [[lgrp_latency()>>#item_lgrp_latency]]. 412: : 413: See [[lgrp_latency_cookie(3LGRP)>>#item_lgrp_latency_cookie]] for more information. 414: ; **lgrp_latency($from, $to)** 415: : The function is similiar to the [[lgrp_latency_cookie()>>#item_lgrp_latency_cookie]] function, but returns the latency between the given lgroups at the given instant in time. Since lgroups may be freed and reallocated, this function may not be able to provide a consistent answer across calls. For that reason, it is recommended that [[lgrp_latency_cookie()>>#item_lgrp_latency_cookie]] function be used in its place. 416: : 417: See [[lgrp_latency(3LGRP)>>#item_lgrp_latency]] for more information. 418: ; **lgrp_resources($cookie, $lgrp, $type)** 419: : Return the list of lgroups directly containing resources of the specified type. The resources are represented by a set of lgroups in which each lgroup directly contains CPU and/or memory resources. 420: : 421: The type can be specified as 422: ; **{{code}}LGRP_RSRC_CPU{{/code}}** 423: : CPU resources 424: ; **{{code}}LGRP_RSRC_MEM{{/code}}** 425: : Memory resources 426: In case of error **undef** or empty list is returned and **$!** is set to indicate the error. 427: This function is only available for API version2 and will return **undef** or empty list for API version 1 and set $! to [[{{code}}EINVAL{{/code}}>>#item_einval]]. 428: See [[{{code}}lgrp_resources(3LGRP){{/code}}>>#item_lgrp_resources]] for more information. 429: ; **lgrp_lgrps($cookie, [$lgrp])** 430: : Returns list of all lgroups in a hierarchy starting from $lgrp. If $lgrp is not specified, uses the value of lgrp_root($cookie). Returns the empty list on failure. 431: : 432: When called in scalar context, returns the total number of lgroups in the system. 433: ; **lgrp_leaves($cookie, [$lgrp])** 434: : Returns list of all leaf lgroups in a hierarchy starting from $lgrp. If $lgrp is not specified, uses the value of lgrp_root($cookie). Returns **undef** or empty list on failure. 435: : 436: When called in scalar context, returns the total number of leaf lgroups in the system. 437: ; **lgrp_isleaf($cookie, $lgrp)** 438: : Returns **True** if $lgrp is leaf (has no children), **False** otherwise. 439: 440: == Object Methods 441: 442: ; **{{code}}new([$view]){{/code}}** 443: : Creates a new Sun::Solaris::Lgrp object. An optional argument is passed to [[lgrp_init()>>#item_lgrp_init]] function. By default uses {{code}}LGRP_VIEW_OS{{/code}}. 444: ; **{{code}}cookie(){{/code}}** 445: : Returns a transparent cookie that may be passed to functions accepting cookie. 446: ; **{{code}}version([$version]){{/code}}** 447: : Without the argument returns the current version of the //liblgrp(3LIB)// library. This is a wrapper for [[lgrp_version()>>#item_lgrp_version]] with {{code}}LGRP_VER_NONE{{/code}} as the default version argument. 448: ; **{{code}}stale(){{/code}}** 449: : Returns **T** if the lgroup information in the object is stale, **F** otherwise. It is a wrapper for [[lgrp_cookie_stale()>>#item_lgrp_cookie_stale]]. 450: ; **{{code}}view(){{/code}}** 451: : Returns the snapshot’s view of the lgroup hierarchy. It is a wrapper for [[lgrp_view()>>#item_lgrp_view]]. 452: ; **{{code}}root(){{/code}}** 453: : Returns the root lgroup. It is a wrapper for [[lgrp_root()>>#item_lgrp_root]]. 454: ; **{{code}}children($lgrp){{/code}}** 455: : Returns the list of lgroups that are children of the specified lgroup. This is a wrapper for [[lgrp_children()>>#item_lgrp_children]]. 456: ; **{{code}}parents($lgrp){{/code}}** 457: : Returns the list of lgroups that are parents of the specified lgroup. This is a wrapper for [[lgrp_parents()>>#item_lgrp_parents]]. 458: ; **{{code}}nlgrps(){{/code}}** 459: : Returns the number of lgroups in the hierarchy. This is a wrapper for [[lgrp_nlgrps()>>#item_lgrp_nlgrps]]. 460: ; **mem_size($lgrp, $type, $content)** 461: : Returns the memory size of the given lgroup in bytes. This is a wrapper for [[lgrp_mem_size()>>#item_lgrp_mem_size]]. 462: ; **cpus($lgrp, $context)** 463: : Returns the list of CPUs in the lgroup specified by $lgrp. This is a wrapper for [[lgrp_cpus()>>#item_lgrp_cpus]]. 464: ; **resources($lgrp, $type)** 465: : Returns the list of lgroups directly containing resources of the specified type. This is a wrapper for [[lgrp_resources()>>#item_lgrp_resources]]. 466: ; **home($idtype, $id)** 467: : Returns the home lgroup for the given process or thread. This is a wrapper for [[lgrp_home()>>#item_lgrp_home]]. 468: ; **affinity_get($idtype, $id, $lgrp)** 469: : Returns the affinity that the LWP has to a given lgrp. This is a wrapper for [[lgrp_affinity_get()>>#item_lgrp_affinity_get]]. 470: ; **affinity_set($idtype, $id, $lgrp, $affinity)** 471: : Sets of LWPs specified by the $idtype and $id arguments have for the given lgroup. This is a wrapper for [[lgrp_affinity_set()>>#item_lgrp_affinity_set]]. 472: ; **{{code}}lgrps([$lgrp]){{/code}}** 473: : Returns list of all lgroups in a hierarchy starting from $lgrp (or the [[lgrp_root()>>#item_lgrp_root]] if $lgrp is not specified). This is a wrapper for [[lgrp_lgrps()>>#item_lgrp_lgrps]]. 474: ; **{{code}}leaves([$lgrp]){{/code}}** 475: : Returns list of all leaf lgroups in a hierarchy starting from $lgrp. If $lgrp is not specified, uses the value of lgrp_root(). This is a wrapper for [[lgrp_leaves()>>#item_lgrp_leaves]]. 476: ; **{{code}}isleaf($lgrp){{/code}}** 477: : Returns **True** if $lgrp is leaf (has no children), **False** otherwise. This is a wrapper for [[lgrp_isleaf()>>#item_lgrp_isleaf]]. 478: ; **latency($from, $to)** 479: : Returns the latency value between a hardware resource in the $from lgroup to a hardware resource in the $to lgroup. It will use [[lgrp_latency()>>#item_lgrp_latency]] for version 1 of {{code}}liblgrp(3LIB){{/code}} and [[lgrp_latency_cookie()>>#item_lgrp_latency_cookie]] for newer versions. 480: 481: ---- 482: 483: = ATTRIBUTES 484: 485: See //attributes(5)// for descriptions of the following attributes: 486: 487: {{{ 488: 489: {{{___________________________________________________________}}} 490: 491: | ATTRIBUTE TYPE | ATTRIBUTE VALUE | 492: |{{{_____________________________}}}|{{{_____________________________}}}| 493: | Availability | CPAN ([[http://www.cpan.org>>http://www.cpan.org]]) | 494: |{{{_____________________________}}}|{{{_____________________________}}}| 495: | Interface Stability | Unstable | 496: |{{{_____________________________}}}|{{{_____________________________}}}| 497: }}} 498: 499: ---- 500: 501: = SEE ALSO 502: 503: //liblgrp(3LIB)//, [[lgrp_affinity_get(3LGRP)>>#item_lgrp_affinity_get]], [[lgrp_affinity_set(3LGRP)>>#item_lgrp_affinity_set]], [[lgrp_children(3LGRP)>>#item_lgrp_children]], [[lgrp_cookie_stale(3LGRP)>>#item_lgrp_cookie_stale]], [[lgrp_cpus(3LGRP)>>#item_lgrp_cpus]], [[lgrp_fini(3LGRP)>>#item_lgrp_fini]], [[lgrp_home(3LGRP)>>#item_lgrp_home]], [[lgrp_init(3LGRP)>>#item_lgrp_init]], [[lgrp_latency(3LGRP)>>#item_lgrp_latency]], [[lgrp_mem_size(3LGRP)>>#item_lgrp_mem_size]], [[lgrp_nlgrps(3LGRP)>>#item_lgrp_nlgrps]], [[lgrp_parents(3LGRP)>>#item_lgrp_parents]], [[lgrp_root(3LGRP)>>#item_lgrp_root]], [[lgrp_version(3LGRP)>>#item_lgrp_version]], [[lgrp_view(3LGRP)>>#item_lgrp_view]], [[lgrp_resources(3LGRP)>>#item_lgrp_resources]], [[lgrp_latency_cookie(3LGRP)>>#item_lgrp_latency_cookie]], //attributes(5)// 504: 505: |** Sun::Solaris::Lgrp - Perl interface to Solaris liblgrp library.**
Search
Collectives
Community Group
Academic and Research
Accessibility
Advocacy
Appliances
Approachability
Architecture Process and Tools
BrandZ
Chinese Users
Community Advisory Board
Databases
Desktop
Device Drivers
Distribution
Documentation
DTrace
Emerging Platforms
Fault Management
Games on OpenSolaris
HA Clusters
HPC Developer
Installation and Packaging
Internationalization and Localization
Laptop
Logical Domains
Modular Debugger (MDB)
Networking
NFS
Observability
OpenSolaris Governing Board (OGB)
OpenSolaris Printing
OS/Net (ON)
Performance
Power Management
PowerPC
Security
Service Management Facility (smf(5))
Software Porters
Solaris Volume Manager
Storage
Systems Administration Community Group
Testing
Tools Home
Unix File Systems (UFS)
Website Community
X Window System
Xen
ZFS
Zones
Project
ADSL Modem Enhancement
ARC Process Definition
ARM Platform Port
Automatic Data Migration
BIND Update
Bluetooth Stack & Drivers
Brocade FC HBA - Initiator
Brocade FC HBA - Target
Brussels - unified network link configuration
Caiman, Solaris Install Revisited
Celeste
Český portál
Chime Visualization Tool for DTrace
CIFS client for Solaris
CIFS Server
Clearview: Network Interface Coherence
Cluster Agent: Informix Dynamic Server
Cluster Agent: OpenSolaris Container
Cluster Agent: OpenSolaris xVM
Cluster Agent: Oracle E-Business Suite
Cluster agent: PostgreSQL
Cluster Agent: Samba
Cluster Agent: Tomcat
CMT
Coarse Data Flow Parallelism
Colorado: Open HA Cluster on OpenSolaris
Command Assistant
Common Array Manager
Companion - /opt/sfw: Free and Open Source software
COMSTAR: Common Multiprotocol SCSI Target
Content
Contest
CPU Observability
Credentials Process Groups
Crossbow: Network Virtualization and Resource Control
Crypto KMS Agent Toolkit
Cryptographic Framework
Data Migration Manager
Data Tethers
Deutsches Portal
Device Detection Tool
Device Driver Utility
Device Manager
Device Mapper
Direct Rendering Infrastructure & 3D drivers
DTrace Guide
Duckwater: Simplified name services management
Easy Tools
Emancipation
Emulex Fibre Channel Device Driver
Emulex Advanced Ethernet Device Driver
Enable/Enhance Solaris support for Intel Platform
Enhance the support of USB webcams
Enhanced SMF Profiles
Enhancements for AMD-based Platforms
Erlang DTrace Integration
Ethernet bridge module for Solaris
Evaluate Conary
Events Registry
Ext3 file system support
F/OSS Package Base
Facilitation
Fibre Channel over Ethernet
Fine Grained Access Policy (FGAP)
Fingerprint Authentication
Flexible Mandatory Access Control
Forensic Tools
Fully Open X Project
Fuse on Solaris
gcore
Generic Machine Check Architecture Improvements
Google SOC
HA-JBoss
HA-MySQL
Hadoop Live CD
Hitachi
HoneyComb Fixed Content Storage
HPC Stack
Image Packaging System
Improved Performance MIB
Indiana
Innovation Awards
Input Method
Intel Graphics
Internet Key Exchange, version 2
Interrupt Resource Management
IP Datapath Refactoring
IP over Infiniband
IPsec Tunnel Reform
iSCSI Extensions for Remote DMA (iSER)
iSNS Server
JeOS - Just enough Operating System
JKstat - a java binding for libkstat
Journaled File System (JFS)
K Desktop Environment
Kerberos
Kernel Sockets
Kernel SSL Enhancements
Key Management Framework
Korn Shell 93 integration/migration project
Labeled IPsec
LatencyTOP
Layer 2 Filtering
LDoms Manager
Lending
libMicro - portable microbenchmarks
Link Layer Discovery
Live Media: Technologies for distributions running from CD and other media
Locale Data
lofi compression and cryptography support
lx64 brand
Media Management System
Mega_sas
Mexico
MilaX minimal Live Distribution
MIPS Platform Port
Mozilla DTrace
MRSL.NONsharedDevice
Multi-lingual Glossary
Multi-pathing software (MPxIO)
Multiple disk sector size support
Multiple DOI
Muskoka: An open repository for OpenSolaris technical content
Navigator
Nemo: A Framework for High-Performance Networking
Network Auto-Magic
Network Data Management Protocol
Network MIBs
Network Performance Projects
Network Storage
Network Time Protocol (NTP)
Nevada Globalization
New Design of 4over6 Mechanism Based on OpenSolaris
NFS RDMA transport update and performance analysis
NFS Server in non-Global Zones
NFS version 4.1 pNFS
NFSv4 namespace extensions
Nightingale: Port Songbird to OpenSolaris
NPort ID Virtualization (NPIV)
NUMA
Object Storage Device (OSD) support for Solaris
OHACGE Script Based Plug-in
ON/Nevada (ONNV) Project
Open Development Infrastructure
Open HA Cluster Utilities
Open Sound System
OpenGrok
OpenPegasus CIM Server
OpenRTI
OpenSolaris Busybox
OpenSolaris Desktop
OpenSolaris Hispano
OpenSolaris Security Audit
OpenSolaris support for the QEMU processor emulator: host and guest
PEF: Packet Event Framework
Performance Wrappers
Pkgfactory
Polski Portal
Portail Francophone
Portal Brasil
Portals
Power Management Usability Interfaces
Presto: Automatic Printing Configuration
Printable Many Page Solaris Manuals
Promise SuperTrak RAID HBA Driver
QLogic Converged Network Adapter GLDv3 NIC Driver
Quagga Routing Protocol Suite Integration
RAID Configuration Utility
RBridge (IETF TRILL) support
RDMA Offload Framework
Reno: Login Process Enhancements for Interop
Resource Management
s10brand
SAM/QFS
SCM Migration Project
SCSI RDMA Protocol
SDcard Drivers
Sensor Abstraction Layer
Session Initiation Protocol
SFW
Shell: bourne shell, korn shell, C shell, etc.
Sierra: Intel WiFi Chipsets Support
Simple Panels
SM-HBA Based SAS HBA Management
SMF Documentation
Solaris iSCSI Target
Solaris PowerPC Port
SourceJuicer
Sparks: name service switch/nscd enhancements
Squashfs
Star integration/migration project
Starfish
Starter Kit
Storage Power Management
Sun Security Toolkit
Sun StorageTek Availability Suite
Support for OpenFabrics User Verbs / API on OpenSolaris OS
Support gcc4/GCCfss in Solaris
Suspend/Resume
SVR4 Packaging
Systemz
Tamarack: Removable Media Enhancements in Solaris
Tesla: OpenSolaris Enhanced Power Management
Test Development
Tickless Kernel Architecture
TIPC
Trademarks
Trusted networking interface policy database for Trusted Extensions
Trusted Platform Module support
Use Case
Validated Execution Project
Virtual Console
Virtual Network Machines
Visual Panels
Visualization for HPC
Volo
VRRP: Virtual Router Redundancy Protocol Implementation
VSCAN service
Web Stack
Website
Winchester: Schema mapping and ID mapping for AD Interoperability
Wireless USB Support
Wireless Wide Area Network
X Consolidation
x86 Generic FMA Topology Enumerator
Xen Gate
Xfce: A lightweight desktop environment
ZFS Boot and Install
ZFS on disk encryption support
Zone Manager
Zone Statistics
Русский портал
البوابة العربية
भारतीय पोर्टल
中国门户
日本ポータル
한국 포탈
User Group
Adelaide
Argentina
Arizona
Atlanta
Baltimore-Washington
Bangalore
Bangkok
Bangladesh
Brasilia
Beijing
Bélem
Berlin
Bhimavaram
Bloomington
Campus Ambassadors
Capital Region
Cardiff
Ceara
Charlotte
Chengdu
Chennai
Chihuahua
Chile
Cleveland
Colombia
Columbus
Connecticut
Cracow
Czech
Dallas/Ft. Worth
Danish
Delaware
Edinburgh
Egypt
Finland
Florida
Front Range
FuZhou
Great Lakes
Greece
Hangzhou
Hawaii
HeFei
Houston
Hong Kong
Hyderabad
Indonesia
Irish
Israel
Italian
Jinan
Jogja
Kabul
Kansas City
Latvia
London
Madurai
Manchester
Mato Grosso
Melbourne
Minas Gerais
Minnesota
Montreal
Moscow
Mumbai
Munich
NEA
Netherlands
New England
New York City
New Zealand
NIT Hamirpur
Noroeste
Nuremberg-Erlangen
Oklahoma City
Osnabrück
Peru
Philadelphia
Piaski
Pittsburgh
Porto Alegre
Puget Sound
Pune
Queensland
Rio de Janeiro
Research Triangle Park
Romania
Russia
San Antonio
San Diego
San Francisco
São Paulo
Scottish
Serbia
Shanghai
Shenzhen
Silicon Valley
Singapore
Slovak
South African
Southern Connecticut
St. Louis
Stavanger
Sweden
Switzerland
Sydney
Szczecin
Taiwan
Tecum
Thames Valley
Tokyo
Toronto
Trondheim
Tulsa
Turkey
Ufa
Ukraine
University of Melbourne
Vale do Paraíba
Vancouver
Venezuela
Welsh - Cymru
Wisconsin
Xi'an
Subsites
Code Reviews
Code Repositories
Package Search
Bugster
Bugzilla
Test Machines
Planet
Mailing Lists
Elections & Polls
ARC Case Logs
Source Juicer
Package Factory
User Authentication
Community Group performance Pages
FileBench
Sample Comparison
Gotchas
Quick Start Guide to FileBench
Files
libMicro
Sample Comparison
OpenSolaris NUMA project
8 CPU chip Opteron
Improved Latency Discovery
Load Balancing
Observability
Roles and Grants
Technical Documents


christmas party 7th edition
sevies... now college graduates
talking about some stuff
DINER DINER DINER
the tech guys
aquatic addiction
secret santa @ICLP
the trusty 24/7 豆漿 stand
an... anime convention?
who wore it better!?
good morning
a dinner of many, many eggs
stopping by the pool again
thank you, humble fruit stand
sunday brunch
azn pi sa bing
soup: taiwanese style
WOW YES SO GOOD MIND-BLOWN
wall-sitting x cramming for dictation
studying shenanigans
another family dinner
our own harvard-yale reunion
no peanut allergies this time!
2 lil snowwomen
SYS the homie
素食素食素食 all day every day
i am banana
this was pretty just OK
get u some friends that can Maple
先秦哲學課 get-together
feeling so free
all the pretty lights
中正紀念堂
the BEST food item consumed here, by far
girls night in
a lillian appears!
the day we scared away potential friends
in search of bok choy
i shall be back many times
b bo bowl bowling
i'm not sure what's going on here either
post-church studying in a hip lil' spot
when you and your roomie are meant to be
a monday night dinner party
a dumpling birthday celebration
the wormhole
guqin lesson number 1
beijing -> taipei reunion
the polo cafe of hsinchu
day trip to the one
raohe night market
visiting the once-home of the Atayal aborigines
trying something new!
頭城搶孤 ghost festival
shida night market
look we found a temple
when you happen upon 火 walls and claw machines
a too hot museum day
extracurricular spectacular
taiwanese ikea! automated soft-serve!!
the weakest typhoon there ever was
this is not aesthetic (but it was good)
f00d
gongguan in nighttime
looking for boba and sim cards
new friends from old places
take-off
This is it. Here’s to the next nine months.


| 1 | /* | |
| 2 | * Licensed to the Apache Software Foundation (ASF) under one or more | |
| 3 | * contributor license agreements. See the NOTICE file distributed with | |
| 4 | * this work for additional information regarding copyright ownership. | |
| 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 | |
| 6 | * (the "License"); you may not use this file except in compliance with | |
| 7 | * the License. You may obtain a copy of the License at | |
| 8 | * | |
| 9 | * http://www.apache.org/licenses/LICENSE-2.0 | |
| 10 | * | |
| 11 | * Unless required by applicable law or agreed to in writing, software | |
| 12 | * distributed under the License is distributed on an "AS IS" BASIS, | |
| 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| 14 | * See the License for the specific language governing permissions and | |
| 15 | * limitations under the License. | |
| 16 | */ | |
| 17 | package org.apache.commons.collections4.set; | |
| 18 | ||
| 19 | import java.util.Comparator; | |
| 20 | import java.util.SortedSet; | |
| 21 | ||
| 22 | import org.apache.commons.collections4.Predicate; | |
| 23 | ||
| 24 | /** | |
| 25 | * Decorates another SortedSet to validate that all additions | |
| 26 | * match a specified predicate. | |
| 27 | *
 | |
| 28 | * This set exists to provide validation for the decorated set. | |
| 29 | * It is normally created to decorate an empty set. | |
| 30 | * If an object cannot be added to the set, an IllegalArgumentException is thrown. | |
| 31 | *
 | |
| 32 | * One usage would be to ensure that no null entries are added to the set. | |
| 33 | *
 | |
| 34 | * SortedSet set = | |
| 35 | * PredicatedSortedSet.predicatedSortedSet(new TreeSet(), | |
| 36 | * NotNullPredicate.notNullPredicate()); | |
| 37 | *
 | |
| 38 | *
 | |
| 39 | * This class is Serializable from Commons Collections 3.1. | |
| 40 | * | |
| 41 | * @since 3.0 | |
| 42 | * @version $Id: PredicatedSortedSet.java 1686855 2015-06-22 13:00:27Z tn $ | |
| 43 | */ | |
| 44 | public class PredicatedSortedSet<E> extends PredicatedSet<E> implements SortedSet<E> { | |
| 45 | ||
| 46 | /** Serialization version */ | |
| 47 | private static final long serialVersionUID = -9110948148132275052L; | |
| 48 | ||
| 49 | /** | |
| 50 | * Factory method to create a predicated (validating) sorted set. | |
| 51 | *
 | |
| 52 | * If there are any elements already in the set being decorated, they | |
| 53 | * are validated. | |
| 54 | * | |
| 55 | * @param <E> the element type | |
| 56 | * @param set the set to decorate, must not be null | |
| 57 | * @param predicate the predicate to use for validation, must not be null | |
| 58 | * @return a new predicated sorted set. | |
| 59 | * @throws NullPointerException if set or predicate is null | |
| 60 | * @throws IllegalArgumentException if the set contains invalid elements | |
| 61 | * @since 4.0 | |
| 62 | */ | |
| 63 | public static <E> PredicatedSortedSet<E> predicatedSortedSet(final SortedSet<E> set, | |
| 64 | final Predicate<? super E> predicate) { | |
| 65 |
1
1. predicatedSortedSet : mutated return of Object value for org/apache/commons/collections4/set/PredicatedSortedSet::predicatedSortedSet to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return new PredicatedSortedSet<E>(set, predicate); |
| 66 | } | |
| 67 | ||
| 68 | //----------------------------------------------------------------------- | |
| 69 | /** | |
| 70 | * Constructor that wraps (not copies). | |
| 71 | *
 | |
| 72 | * If there are any elements already in the set being decorated, they | |
| 73 | * are validated. | |
| 74 | * | |
| 75 | * @param set the set to decorate, must not be null | |
| 76 | * @param predicate the predicate to use for validation, must not be null | |
| 77 | * @throws NullPointerException if set or predicate is null | |
| 78 | * @throws IllegalArgumentException if the set contains invalid elements | |
| 79 | */ | |
| 80 | protected PredicatedSortedSet(final SortedSet<E> set, final Predicate<? super E> predicate) { | |
| 81 | super(set, predicate); | |
| 82 | } | |
| 83 | ||
| 84 | /** | |
| 85 | * Gets the sorted set being decorated. | |
| 86 | * | |
| 87 | * @return the decorated sorted set | |
| 88 | */ | |
| 89 | @Override | |
| 90 | protected SortedSet<E> decorated() { | |
| 91 |
1
1. decorated : mutated return of Object value for org/apache/commons/collections4/set/PredicatedSortedSet::decorated to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return (SortedSet<E>) super.decorated(); |
| 92 | } | |
| 93 | ||
| 94 | //----------------------------------------------------------------------- | |
| 95 | public Comparator<? super E> comparator() { | |
| 96 |
1
1. comparator : mutated return of Object value for org/apache/commons/collections4/set/PredicatedSortedSet::comparator to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return decorated().comparator(); |
| 97 | } | |
| 98 | ||
| 99 | public E first() { | |
| 100 |
1
1. first : mutated return of Object value for org/apache/commons/collections4/set/PredicatedSortedSet::first to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return decorated().first(); |
| 101 | } | |
| 102 | ||
| 103 | public E last() { | |
| 104 |
1
1. last : mutated return of Object value for org/apache/commons/collections4/set/PredicatedSortedSet::last to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return decorated().last(); |
| 105 | } | |
| 106 | ||
| 107 | public SortedSet<E> subSet(final E fromElement, final E toElement) { | |
| 108 | final SortedSet<E> sub = decorated().subSet(fromElement, toElement); | |
| 109 |
1
1. subSet : mutated return of Object value for org/apache/commons/collections4/set/PredicatedSortedSet::subSet to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return new PredicatedSortedSet<E>(sub, predicate); |
| 110 | } | |
| 111 | ||
| 112 | public SortedSet<E> headSet(final E toElement) { | |
| 113 | final SortedSet<E> head = decorated().headSet(toElement); | |
| 114 |
1
1. headSet : mutated return of Object value for org/apache/commons/collections4/set/PredicatedSortedSet::headSet to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return new PredicatedSortedSet<E>(head, predicate); |
| 115 | } | |
| 116 | ||
| 117 | public SortedSet<E> tailSet(final E fromElement) { | |
| 118 | final SortedSet<E> tail = decorated().tailSet(fromElement); | |
| 119 |
1
1. tailSet : mutated return of Object value for org/apache/commons/collections4/set/PredicatedSortedSet::tailSet to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return new PredicatedSortedSet<E>(tail, predicate); |
| 120 | } | |
| 121 | ||
| 122 | } | |
Mutations | ||
| 65 |
1.1 |
|
| 91 |
1.1 |
|
| 96 |
1.1 |
|
| 100 |
1.1 |
|
| 104 |
1.1 |
|
| 109 |
1.1 |
|
| 114 |
1.1 |
|
| 119 |
1.1 |


Complete, Programmer (Unreal Engine 4, Blueprints, C++) - 3D Online Multiplayer Unit Management Game with Custom Tilemap Editor
Released, Programmer (Unity, C#) - Narrative Adventure Murder Mystery
Proof of Concept, Programmer (Unreal Engine 4, Blueprints) - Programmatically Designed Soft Body Objects
Proof of Concept, Programmer (Godot, GDScript) - Networked Multiplayer Framework
Completed, Programmer (C) - Remake of Rogue using C and Linux tools


Eurojackpot results for Friday 25th May 2018
The winning numbers for the 21st Eurojackpot draw in 2018 that took place on Friday 25th May at 21:00 CEST (20:00 GMT) were:
Winners
Winners
Amount
Slovenian Prize Breakdown
View prize breakdowns for other countries| Numbers Matched | Prize Per Winner | Winners from Slovenia | Prize Fund Amount | Total Winners |
|---|---|---|---|---|
|
Match 5 and 2 Euro Numbers |
€90,000,000 | 0 | €0 | 0 |
|
Match 5 and 1 Euro Number |
€2,327,357.80 | 0 | €0 | 4 |
|
Match 5 |
€97,570.30 | 1 | €97,570.30 | 11 |
|
Match 4 and 2 Euro Numbers |
€4,310.30 | 2 | €8,620.60 | 83 |
|
Match 4 and 1 Euro Number |
€300.60 | 16 | €4,809.60 | 1,071 |
|
Match 4 |
€136.50 | 20 | €2,730 | 1,834 |
|
Match 3 and 2 Euro Numbers |
€58.70 | 40 | €2,348 | 3,654 |
|
Match 2 and 2 Euro Numbers |
€19.80 | 804 | €15,919.20 | 58,490 |
|
Match 3 and 1 Euro Number |
€19.80 | 529 | €10,474.20 | 51,579 |
|
Match 3 |
€17.60 | 887 | €15,611.20 | 86,930 |
|
Match 1 and 2 Euro Numbers |
€8.60 | 4,601 | €39,568.60 | 335,422 |
|
Match 2 and 1 Euro Number |
€8.60 | 8,722 | €75,009.20 | 782,101 |
|
Total |
- | 15,622 | €272,660.90 | 1,321,179 |
Eurojackpot prizes in Slovenia must be claimed within 90 days of the draw date, so tickets purchased for this draw were valid until Thursday 23rd August 2018.
Additional Draw Information
In total there were 35,775,782 entries into this draw from all participating countries.
Draw Number: 21
European Prize Breakdown
| Numbers Matched | Prize Per Winner | Winners from Croatia | Prize Fund Amount | Total Winners |
|---|---|---|---|---|
|
Match 5 and 2 Euro Numbers |
kn663,000,000 | 0 | kn0 | 0 |
|
Match 5 and 1 Euro Number |
kn17,189,203.74 | 0 | kn0 | 4 |
|
Match 5 |
kn720,626.53 | 0 | kn0 | 11 |
|
Match 4 and 2 Euro Numbers |
kn31,834.65 | 0 | kn0 | 83 |
|
Match 4 and 1 Euro Number |
kn2,220.15 | 7 | kn15,541.05 | 1,071 |
|
Match 4 |
kn1,008.15 | 9 | kn9,073.35 | 1,834 |
|
Match 3 and 2 Euro Numbers |
kn433.54 | 37 | kn16,040.98 | 3,654 |
|
Match 2 and 2 Euro Numbers |
kn146.24 | 625 | kn91,400 | 58,490 |
|
Match 3 and 1 Euro Number |
kn146.24 | 483 | kn70,633.92 | 51,579 |
|
Match 3 |
kn129.99 | 778 | kn101,132.22 | 86,930 |
|
Match 1 and 2 Euro Numbers |
kn63.52 | 4,177 | kn265,323.04 | 335,422 |
|
Match 2 and 1 Euro Number |
kn63.52 | 8,351 | kn530,455.52 | 782,101 |
|
Total |
- | 14,467 | kn1,099,600.08 | 1,321,179 |
Eurojackpot prizes in Croatia must be claimed within 60 days of the draw date, so tickets purchased for this draw were valid until Tuesday 24th July 2018.
The estimated jackpot advertised in Croatia prior to the draw was kn663,000,000.
| Numbers Matched | Prize Per Winner | Winners from Czech Republic | Prize Fund Amount | Total Winners |
|---|---|---|---|---|
|
Match 5 and 2 Euro Numbers |
Kc2,303,000,000 | 0 | Kc0 | 0 |
|
Match 5 and 1 Euro Number |
Kc59,964,373 | 0 | Kc0 | 4 |
|
Match 5 |
Kc2,513,898 | 0 | Kc0 | 11 |
|
Match 4 and 2 Euro Numbers |
Kc111,054 | 3 | Kc333,162 | 83 |
|
Match 4 and 1 Euro Number |
Kc7,744 | 30 | Kc232,320 | 1,071 |
|
Match 4 |
Kc3,516 | 45 | Kc158,220 | 1,834 |
|
Match 3 and 2 Euro Numbers |
Kc1,512 | 78 | Kc117,936 | 3,654 |
|
Match 2 and 2 Euro Numbers |
Kc510 | 1,231 | Kc627,810 | 58,490 |
|
Match 3 and 1 Euro Number |
Kc510 | 1,205 | Kc614,550 | 51,579 |
|
Match 3 |
Kc453 | 2,062 | Kc934,086 | 86,930 |
|
Match 1 and 2 Euro Numbers |
Kc221 | 6,999 | Kc1,546,779 | 335,422 |
|
Match 2 and 1 Euro Number |
Kc221 | 18,121 | Kc4,004,741 | 782,101 |
|
Total |
- | 29,774 | Kc8,569,604 | 1,321,179 |
Eurojackpot prizes in Czech Republic must be claimed within 35 days of the draw date, so tickets purchased for this draw were valid until Friday 29th June 2018.
The estimated jackpot advertised in Czech Republic prior to the draw was Kc0.
| Numbers Matched | Prize Per Winner | Winners from Denmark | Prize Fund Amount | Total Winners |
|---|---|---|---|---|
|
Match 5 and 2 Euro Numbers |
kr.570,000,000 | 0 | kr.0 | 0 |
|
Match 5 and 1 Euro Number |
kr.14,735,055 | 1 | kr.14,735,055 | 4 |
|
Match 5 |
kr.622,040 | 1 | kr.622,040 | 11 |
|
Match 4 and 2 Euro Numbers |
kr.27,508 | 7 | kr.192,556 | 83 |
|
Match 4 and 1 Euro Number |
kr.1,946 | 123 | kr.239,358 | 1,071 |
|
Match 4 |
kr.900 | 191 | kr.171,900 | 1,834 |
|
Match 3 and 2 Euro Numbers |
kr.404 | 316 | kr.127,664 | 3,654 |
|
Match 2 and 2 Euro Numbers |
kr.148 | 4,534 | kr.671,032 | 58,490 |
|
Match 3 and 1 Euro Number |
kr.148 | 4,925 | kr.728,900 | 51,579 |
|
Match 3 |
kr.132 | 8,362 | kr.1,103,784 | 86,930 |
|
Match 1 and 2 Euro Numbers |
kr.64 | 24,610 | kr.1,575,040 | 335,422 |
|
Match 2 and 1 Euro Number |
kr.64 | 70,641 | kr.4,521,024 | 782,101 |
|
Total |
- | 113,711 | kr.24,688,353 | 1,321,179 |
Eurojackpot prizes in Denmark must be claimed within a set period of time depending on how much you have won. Visit the How to Claim page to find specific claim periods, with some prizes needing to be claimed within 90 days of the draw (valid until Thursday 23rd August 2018).
The estimated jackpot advertised in Denmark prior to the draw was kr.570,000,000.
| Numbers Matched | Prize Per Winner | Winners from Estonia | Prize Fund Amount | Total Winners |
|---|---|---|---|---|
|
Match 5 and 2 Euro Numbers |
€90,000,000 | 0 | €0 | 0 |
|
Match 5 and 1 Euro Number |
€2,327,357.80 | 0 | €0 | 4 |
|
Match 5 |
€97,570.30 | 0 | €0 | 11 |
|
Match 4 and 2 Euro Numbers |
€4,310.30 | 1 | €4,310.30 | 83 |
|
Match 4 and 1 Euro Number |
€300.60 | 8 | €2,404.80 | 1,071 |
|
Match 4 |
€136.50 | 18 | €2,457 | 1,834 |
|
Match 3 and 2 Euro Numbers |
€58.70 | 22 | €1,291.40 | 3,654 |
|
Match 2 and 2 Euro Numbers |
€19.80 | 337 | €6,672.60 | 58,490 |
|
Match 3 and 1 Euro Number |
€19.80 | 279 | €5,524.20 | 51,579 |
|
Match 3 |
€17.60 | 553 | €9,732.80 | 86,930 |
|
Match 1 and 2 Euro Numbers |
€8.60 | 1,884 | €16,202.40 | 335,422 |
|
Match 2 and 1 Euro Number |
€8.60 | 4,623 | €39,757.80 | 782,101 |
|
Total |
- | 7,725 | €88,353.30 | 1,321,179 |
Eurojackpot prizes in Estonia must be claimed within 90 days of the draw date, so tickets purchased for this draw were valid until Thursday 23rd August 2018.
The estimated jackpot advertised in Estonia prior to the draw was €90,000,000.
| Numbers Matched | Prize Per Winner | Winners from Finland | Prize Fund Amount | Total Winners |
|---|---|---|---|---|
|
Match 5 and 2 Euro Numbers |
€90,000,000 | 0 | €0 | 0 |
|
Match 5 and 1 Euro Number |
€2,327,357.80 | 0 | €0 | 4 |
|
Match 5 |
€97,570.30 | 2 | €195,140.60 | 11 |
|
Match 4 and 2 Euro Numbers |
€4,310.30 | At present this information is not released by the lottery operator of Finland | 83 | |
|
Match 4 and 1 Euro Number |
€300.60 | 1,071 | ||
|
Match 4 |
€136.50 | 1,834 | ||
|
Match 3 and 2 Euro Numbers |
€58.70 | 3,654 | ||
|
Match 2 and 2 Euro Numbers |
€19.80 | 58,490 | ||
|
Match 3 and 1 Euro Number |
€19.80 | 51,579 | ||
|
Match 3 |
€17.60 | 86,930 | ||
|
Match 1 and 2 Euro Numbers |
€8.60 | 335,422 | ||
|
Match 2 and 1 Euro Number |
€8.60 | 782,101 | ||
|
Total |
- | 1,321,179 |
Eurojackpot prizes in Finland must be claimed within 365 days of the draw date, so tickets purchased for this draw were valid until Saturday 25th May 2019.
The estimated jackpot advertised in Finland prior to the draw was €90,000,000.
| Numbers Matched | Prize Per Winner | Winners from Germany | Prize Fund Amount | Total Winners |
|---|---|---|---|---|
|
Match 5 and 2 Euro Numbers |
€90,000,000 | 0 | €0 | 0 |
|
Match 5 and 1 Euro Number |
€2,327,357.80 | 1 | €2,327,357.80 | 4 |
|
Match 5 |
€97,570.30 | 4 | €390,281.20 | 11 |
|
Match 4 and 2 Euro Numbers |
€4,310.30 | At present this information is not released by the lottery operator of Germany | 83 | |
|
Match 4 and 1 Euro Number |
€300.60 | 1,071 | ||
|
Match 4 |
€136.50 | 1,834 | ||
|
Match 3 and 2 Euro Numbers |
€58.70 | 3,654 | ||
|
Match 2 and 2 Euro Numbers |
€19.80 | 58,490 | ||
|
Match 3 and 1 Euro Number |
€19.80 | 51,579 | ||
|
Match 3 |
€17.60 | 86,930 | ||
|
Match 1 and 2 Euro Numbers |
€8.60 | 335,422 | ||
|
Match 2 and 1 Euro Number |
€8.60 | 782,101 | ||
|
Total |
- | 1,321,179 |
Eurojackpot prizes in Germany must be claimed within 3 years of the draw date, so tickets purchased for this draw are valid until Tuesday 25th May 2021.
The estimated jackpot advertised in Germany prior to the draw was €90,000,000.
| Numbers Matched | Prize Per Winner | Winners from Hungary | Prize Fund Amount | Total Winners |
|---|---|---|---|---|
|
Match 5 and 2 Euro Numbers |
€90,000,000 | 0 | €0 | 0 |
|
Match 5 and 1 Euro Number |
€2,327,357.80 | 0 | €0 | 4 |
|
Match 5 |
Ft27,368,470 | 0 | Ft0 | 11 |
|
Match 4 and 2 Euro Numbers |
Ft1,209,040 | 2 | Ft2,418,080 | 83 |
|
Match 4 and 1 Euro Number |
Ft84,320 | 14 | Ft1,180,480 | 1,071 |
|
Match 4 |
Ft38,290 | 20 | Ft765,800 | 1,834 |
|
Match 3 and 2 Euro Numbers |
Ft16,465 | 51 | Ft839,715 | 3,654 |
|
Match 2 and 2 Euro Numbers |
Ft5,555 | 923 | Ft5,127,265 | 58,490 |
|
Match 3 and 1 Euro Number |
Ft5,555 | 709 | Ft3,938,495 | 51,579 |
|
Match 3 |
Ft4,935 | 1,227 | Ft6,055,245 | 86,930 |
|
Match 1 and 2 Euro Numbers |
Ft2,410 | 6,188 | Ft14,913,080 | 335,422 |
|
Match 2 and 1 Euro Number |
Ft2,410 | 12,073 | Ft29,095,930 | 782,101 |
|
Total |
- | 21,207 | Ft64,334,090 | 1,321,179 |
Eurojackpot prizes in Hungary must be claimed within 180 days of the draw date, so tickets purchased for this draw were valid until Wednesday 21st November 2018.
The estimated jackpot advertised in Hungary prior to the draw was €90,000,000.
| Numbers Matched | Prize Per Winner | Winners from Iceland | Prize Fund Amount | Total Winners |
|---|---|---|---|---|
|
Match 5 and 2 Euro Numbers |
kr.11,107,800,000 | 0 | kr.0 | 0 |
|
Match 5 and 1 Euro Number |
kr.287,242,490 | 0 | kr.0 | 4 |
|
Match 5 |
kr.12,042,120 | 0 | kr.0 | 11 |
|
Match 4 and 2 Euro Numbers |
kr.531,970 | At present this information is not released by the lottery operator of Iceland | 83 | |
|
Match 4 and 1 Euro Number |
kr.37,100 | 1,071 | ||
|
Match 4 |
kr.16,840 | 1,834 | ||
|
Match 3 and 2 Euro Numbers |
kr.7,240 | 3,654 | ||
|
Match 2 and 2 Euro Numbers |
kr.2,440 | 58,490 | ||
|
Match 3 and 1 Euro Number |
kr.2,440 | 51,579 | ||
|
Match 3 |
kr.2,170 | 86,930 | ||
|
Match 1 and 2 Euro Numbers |
kr.1,060 | 335,422 | ||
|
Match 2 and 1 Euro Number |
kr.1,060 | 782,101 | ||
|
Total |
- | 1,321,179 |
Eurojackpot prizes in Iceland must be claimed within 1 year of the draw date, so tickets purchased for this draw were valid until Saturday 25th May 2019.
The estimated jackpot advertised in Iceland prior to the draw was kr.0.
| Numbers Matched | Prize Per Winner | Winners from Italy | Prize Fund Amount | Total Winners |
|---|---|---|---|---|
|
Match 5 and 2 Euro Numbers |
€90,000,000 | 0 | €0 | 0 |
|
Match 5 and 1 Euro Number |
€2,327,357.80 | 2 | €4,654,715.60 | 4 |
|
Match 5 |
€97,570.30 | 0 | €0 | 11 |
|
Match 4 and 2 Euro Numbers |
€4,310.30 | 1 | €4,310.30 | 83 |
|
Match 4 and 1 Euro Number |
€300.60 | 7 | €2,104.20 | 1,071 |
|
Match 4 |
€136.50 | 35 | €4,777.50 | 1,834 |
|
Match 3 and 2 Euro Numbers |
€58.70 | 57 | €3,345.90 | 3,654 |
|
Match 2 and 2 Euro Numbers |
€19.80 | 987 | €19,542.60 | 58,490 |
|
Match 3 and 1 Euro Number |
€19.80 | 688 | €13,622.40 | 51,579 |
|
Match 3 |
€17.60 | 1,320 | €23,232 | 86,930 |
|
Match 1 and 2 Euro Numbers |
€8.60 | 5,746 | €49,415.60 | 335,422 |
|
Match 2 and 1 Euro Number |
€8.60 | 11,696 | €100,585.60 | 782,101 |
|
Total |
- | 20,539 | €4,875,651.70 | 1,321,179 |
Eurojackpot prizes in Italy must be claimed within a set period of time depending on how much you have won. Visit the How to Claim page to find specific claim periods, with some prizes needing to be claimed within 30 days of the draw (valid until Sunday 24th June 2018).
The estimated jackpot advertised in Italy prior to the draw was €90,000,000.
| Numbers Matched | Prize Per Winner | Winners from Latvia | Prize Fund Amount | Total Winners |
|---|---|---|---|---|
|
Match 5 and 2 Euro Numbers |
€90,000,000 | 0 | €0 | 0 |
|
Match 5 and 1 Euro Number |
€2,327,357.80 | 0 | €0 | 4 |
|
Match 5 |
€97,570.30 | 0 | €0 | 11 |
|
Match 4 and 2 Euro Numbers |
€4,310.30 | At present this information is not released by the lottery operator of Latvia | 83 | |
|
Match 4 and 1 Euro Number |
€300.60 | 1,071 | ||
|
Match 4 |
€136.50 | 1,834 | ||
|
Match 3 and 2 Euro Numbers |
€58.70 | 3,654 | ||
|
Match 2 and 2 Euro Numbers |
€19.80 | 58,490 | ||
|
Match 3 and 1 Euro Number |
€19.80 | 51,579 | ||
|
Match 3 |
€17.60 | 86,930 | ||
|
Match 1 and 2 Euro Numbers |
€8.60 | 335,422 | ||
|
Match 2 and 1 Euro Number |
€8.60 | 782,101 | ||
|
Total |
- | 1,321,179 |
Eurojackpot prizes in Latvia must be claimed within 30 days of the draw date, so tickets purchased for this draw were valid until Sunday 24th June 2018.
The estimated jackpot advertised in Latvia prior to the draw was €90,000,000.
| Numbers Matched | Prize Per Winner | Winners from Lithuania | Prize Fund Amount | Total Winners |
|---|---|---|---|---|
|
Match 5 and 2 Euro Numbers |
€90,000,000 | 0 | €0 | 0 |
|
Match 5 and 1 Euro Number |
€2,327,357.80 | 0 | €0 | 4 |
|
Match 5 |
€97,570.30 | 0 | €0 | 11 |
|
Match 4 and 2 Euro Numbers |
€4,310.30 | 1 | €4,310.30 | 83 |
|
Match 4 and 1 Euro Number |
€300.60 | 0 | €0 | 1,071 |
|
Match 4 |
€136.50 | 2 | €273 | 1,834 |
|
Match 3 and 2 Euro Numbers |
€58.70 | 9 | €528.30 | 3,654 |
|
Match 2 and 2 Euro Numbers |
€19.80 | 158 | €3,128.40 | 58,490 |
|
Match 3 and 1 Euro Number |
€19.80 | 167 | €3,306.60 | 51,579 |
|
Match 3 |
€17.60 | 250 | €4,400 | 86,930 |
|
Match 1 and 2 Euro Numbers |
€8.60 | 800 | €6,880 | 335,422 |
|
Match 2 and 1 Euro Number |
€8.60 | 2,142 | €18,421.20 | 782,101 |
|
Total |
- | 3,529 | €41,247.80 | 1,321,179 |
Eurojackpot prizes in Lithuania must be claimed within 60 days of the draw date, so tickets purchased for this draw were valid until Tuesday 24th July 2018.
The estimated jackpot advertised in Lithuania prior to the draw was €78,000,000.
| Numbers Matched | Prize Per Winner | Winners from Netherlands | Prize Fund Amount | Total Winners |
|---|---|---|---|---|
|
Match 5 and 2 Euro Numbers |
€90,000,000 | 0 | €0 | 0 |
|
Match 5 and 1 Euro Number |
€2,327,357.80 | 0 | €0 | 4 |
|
Match 5 |
€97,570.30 | 1 | €97,570.30 | 11 |
|
Match 4 and 2 Euro Numbers |
€4,310.30 | At present this information is not released by the lottery operator of Netherlands | 83 | |
|
Match 4 and 1 Euro Number |
€300.60 | 1,071 | ||
|
Match 4 |
€136.50 | 1,834 | ||
|
Match 3 and 2 Euro Numbers |
€58.70 | 3,654 | ||
|
Match 2 and 2 Euro Numbers |
€19.80 | 58,490 | ||
|
Match 3 and 1 Euro Number |
€19.80 | 51,579 | ||
|
Match 3 |
€17.60 | 86,930 | ||
|
Match 1 and 2 Euro Numbers |
€8.60 | 335,422 | ||
|
Match 2 and 1 Euro Number |
€8.60 | 782,101 | ||
|
Total |
- | 1,321,179 |
Eurojackpot prizes in Netherlands must be claimed within 365 days of the draw date, so tickets purchased for this draw were valid until Saturday 25th May 2019.
The estimated jackpot advertised in Netherlands prior to the draw was €90,000,000.
| Numbers Matched | Prize Per Winner | Winners from Norway | Prize Fund Amount | Total Winners |
|---|---|---|---|---|
|
Match 5 and 2 Euro Numbers |
kr.862,000,000 | 0 | kr.0 | 0 |
|
Match 5 and 1 Euro Number |
kr.22,083,830 | 0 | kr.0 | 4 |
|
Match 5 |
kr.925,825 | 1 | kr.925,825 | 11 |
|
Match 4 and 2 Euro Numbers |
kr.40,895 | At present this information is not released by the lottery operator of Norway | 83 | |
|
Match 4 and 1 Euro Number |
kr.2,850 | 1,071 | ||
|
Match 4 |
kr.1,295 | 1,834 | ||
|
Match 3 and 2 Euro Numbers |
kr.555 | 3,654 | ||
|
Match 2 and 2 Euro Numbers |
kr.185 | 58,490 | ||
|
Match 3 and 1 Euro Number |
kr.185 | 51,579 | ||
|
Match 3 |
kr.165 | 86,930 | ||
|
Match 1 and 2 Euro Numbers |
kr.80 | 335,422 | ||
|
Match 2 and 1 Euro Number |
kr.80 | 782,101 | ||
|
Total |
- | 1,321,179 |
Eurojackpot prizes in Norway must be claimed within 3 months of the draw date, so tickets purchased for this draw were valid until Saturday 25th August 2018.
The estimated jackpot advertised in Norway prior to the draw was kr.862,000,000.
| Numbers Matched | Prize Per Winner | Winners from Poland | Prize Fund Amount | Total Winners |
|---|---|---|---|---|
|
Match 5 and 2 Euro Numbers |
zł385,000,000 | 0 | zł0 | 0 |
|
Match 5 and 1 Euro Number |
zł0 | 0 | zł0 | 4 |
|
Match 5 |
zł0 | 0 | zł0 | 11 |
|
Match 4 and 2 Euro Numbers |
zł0 | 0 | zł0 | 83 |
|
Match 4 and 1 Euro Number |
zł26,333.10 | 30 | zł789,993 | 1,071 |
|
Match 4 |
zł586.30 | 67 | zł39,282.10 | 1,834 |
|
Match 3 and 2 Euro Numbers |
zł252.20 | 105 | zł26,481 | 3,654 |
|
Match 2 and 2 Euro Numbers |
zł85.10 | 1,714 | zł145,861.40 | 58,490 |
|
Match 3 and 1 Euro Number |
zł85.10 | 1,592 | zł135,479.20 | 51,579 |
|
Match 3 |
zł75.60 | 2,856 | zł215,913.60 | 86,930 |
|
Match 1 and 2 Euro Numbers |
zł37 | 9,150 | zł338,550 | 335,422 |
|
Match 2 and 1 Euro Number |
zł37 | 24,003 | zł888,111 | 782,101 |
|
Total |
- | 39,517 | zł2,579,671.30 | 1,321,179 |
Eurojackpot prizes in Poland must be claimed within 3 years of the draw date, so tickets purchased for this draw are valid until Tuesday 25th May 2021.
The estimated jackpot advertised in Poland prior to the draw was zł385,000,000.
| Numbers Matched | Prize Per Winner | Winners from Slovakia | Prize Fund Amount | Total Winners |
|---|---|---|---|---|
|
Match 5 and 2 Euro Numbers |
€90,000,000 | 0 | €0 | 0 |
|
Match 5 and 1 Euro Number |
€2,327,357.80 | 0 | €0 | 4 |
|
Match 5 |
€97,570.30 | 0 | €0 | 11 |
|
Match 4 and 2 Euro Numbers |
€4,310.30 | 0 | €0 | 83 |
|
Match 4 and 1 Euro Number |
€300.60 | 16 | €4,809.60 | 1,071 |
|
Match 4 |
€136.50 | 14 | €1,911 | 1,834 |
|
Match 3 and 2 Euro Numbers |
€58.70 | 73 | €4,285.10 | 3,654 |
|
Match 2 and 2 Euro Numbers |
€19.80 | 1,009 | €19,978.20 | 58,490 |
|
Match 3 and 1 Euro Number |
€19.80 | 727 | €14,394.60 | 51,579 |
|
Match 3 |
€17.60 | 1,147 | €20,187.20 | 86,930 |
|
Match 1 and 2 Euro Numbers |
€8.60 | 5,966 | €51,307.60 | 335,422 |
|
Match 2 and 1 Euro Number |
€8.60 | 10,896 | €93,705.60 | 782,101 |
|
Total |
- | 19,848 | €210,578.90 | 1,321,179 |
Eurojackpot prizes in Slovakia must be claimed within 35 days of the draw date, so tickets purchased for this draw were valid until Friday 29th June 2018.
The estimated jackpot advertised in Slovakia prior to the draw was €90,000,000.
| Numbers Matched | Prize Per Winner | Winners from Spain | Prize Fund Amount | Total Winners |
|---|---|---|---|---|
|
Match 5 and 2 Euro Numbers |
€90,000,000 | 0 | €0 | 0 |
|
Match 5 and 1 Euro Number |
€2,327,357.80 | 0 | €0 | 4 |
|
Match 5 |
€97,570.30 | 1 | €97,570.30 | 11 |
|
Match 4 and 2 Euro Numbers |
€4,310.30 | 2 | €8,620.60 | 83 |
|
Match 4 and 1 Euro Number |
€300.60 | 41 | €12,324.60 | 1,071 |
|
Match 4 |
€136.50 | 79 | €10,783.50 | 1,834 |
|
Match 3 and 2 Euro Numbers |
€58.70 | 122 | €7,161.40 | 3,654 |
|
Match 2 and 2 Euro Numbers |
€19.80 | 1,979 | €39,184.20 | 58,490 |
|
Match 3 and 1 Euro Number |
€19.80 | 2,153 | €42,629.40 | 51,579 |
|
Match 3 |
€17.60 | 3,697 | €65,067.20 | 86,930 |
|
Match 1 and 2 Euro Numbers |
€8.60 | 11,097 | €95,434.20 | 335,422 |
|
Match 2 and 1 Euro Number |
€8.60 | 31,634 | €272,052.40 | 782,101 |
|
Total |
- | 50,805 | €650,827.80 | 1,321,179 |
Eurojackpot prizes in Spain must be claimed within 30 days of the draw date, so tickets purchased for this draw were valid until Sunday 24th June 2018.
The estimated jackpot advertised in Spain prior to the draw was €90,000,000.
| Numbers Matched | Prize Per Winner | Winners from Sweden | Prize Fund Amount | Total Winners |
|---|---|---|---|---|
|
Match 5 and 2 Euro Numbers |
kr.929,000,000 | 0 | kr.0 | 0 |
|
Match 5 and 1 Euro Number |
kr.23,859,141 | 0 | kr.0 | 4 |
|
Match 5 |
kr.1,000,251 | 0 | kr.0 | 11 |
|
Match 4 and 2 Euro Numbers |
kr.176,230 | 2 | kr.352,460 | 83 |
|
Match 4 and 1 Euro Number |
kr.12,496 | 51 | kr.637,296 | 1,071 |
|
Match 4 |
kr.6,310 | 88 | kr.555,280 | 1,834 |
|
Match 3 and 2 Euro Numbers |
kr.3,411 | 94 | kr.320,634 | 3,654 |
|
Match 2 and 2 Euro Numbers |
kr.202 | 1,714 | kr.346,228 | 58,490 |
|
Match 3 and 1 Euro Number |
kr.202 | 1,508 | kr.304,616 | 51,579 |
|
Match 3 |
kr.180 | 2,641 | kr.475,380 | 86,930 |
|
Match 1 and 2 Euro Numbers |
kr.88 | 9,673 | kr.851,224 | 335,422 |
|
Match 2 and 1 Euro Number |
kr.88 | 23,700 | kr.2,085,600 | 782,101 |
|
Total |
- | 39,471 | kr.5,928,718 | 1,321,179 |
Eurojackpot prizes in Sweden must be claimed within 3 months of the draw date, so tickets purchased for this draw were valid until Saturday 25th August 2018.
The estimated jackpot advertised in Sweden prior to the draw was kr.929,000,000.
Associated Draw Results
- 9
- 6
- 5
- 4
- 8
- 1
| Numbers Matched | Prize Per Winner | Total Winners |
|---|---|---|
| Match 6 in Exact Order | €50,000 | 1 |
| Match Last 5 in Exact Order | €5,000 | 2 |
| Match Last 4 in Exact Order | €500 | 10 |
| Match Last 3 in Exact Order | €50 | 118 |
| Match Last 2 in Exact Order | €5 | 1,360 |
| Match Last 1 in Exact Order | €3 | 13,460 |
- 7
- 2
- 4
- 0
- 9
- 7
| Numbers Matched | Prize Per Winner | Total Winners |
|---|---|---|
| Match 6 | CZK0 | 0 |
| Match 5 | CZK200,000 | 2 |
| Match 4 | CZK20,000 | 12 |
| Match 3 | CZK2,000 | 134 |
| Match 2 | CZK200 | 1,450 |
| Match 1 | CZK120 | 14,373 |
- 8
- 0
- 7
- 7
- 1
- 1
- 7
| Numbers Matched | Prize Per Winner | Total Winners |
|---|---|---|
| Match 7 in Exact Order | €1,000,000 | 0 |
| Match Any 6 in the Right Spot | €20,000 | 2 |
| Match Any 5 in the Right Spot | €500 | 35 |
| Match Any 4 in the Right Spot | €50 | 634 |
| Match Any 3 in the Right Spot | €6 | 5,736 |
| Match Any 2 in the Right Spot | €3 | 31,114 |
- Vilna
- 52
| Numbers Matched | Prize Per Winner | Total Winners |
|---|---|---|
| City and Number | €1,000 | 19 |
| City | €5 | 1,615 |
- 3
- 1
- 1
- 8
- 1
| Numbers Matched | Prize Per Winner | Total Winners |
|---|---|---|
| Match 5 in Exact Order | kr2,000,000 | 0 |
| Match First/Last 4 in Exact Order | kr100,000 | 3 |
| Match First/Last 3 in Exact Order | kr10,000 | 14 |
| Match First/Last 2 in Exact Order | kr2,000 | 158 |
- Bærum
Related Eurojackpot Results Links
- Automatically check your Eurojackpot ticket
- View average prizes and winners for each prize tiers
- View the largest jackpot winners and total winners from each country
- View previous Eurojackpot results by year
Buy Eurojackpot Tickets Online
By buying your Eurojackpot tickets online you don’t have to worry about ever losing your Eurojackpot lottery tickets. When you play the Eurojackpot online all your lottery tickets purchased on the internet are stored in your personal account, meaning that you can view them anytime you wish.


Disturbing Behavior A review by Joe Chamberlain
Starring James Marsden; Katie Holmes; Nich Stahl; Ethan Embry & Natassia Maltke
Disturbing Behavior is your typical teen oriented horror flick. It's certainly not going down as one of the classics in the genre. To be perfectly honest, probably the only reason it will be remembered is because of the presence of Katie Holmes. While her performance isn't quite as good as fan's of her TV show Dawson's Creek might have come to expect from her, she does make the most of the material that she has to work with. As do the rest of the fairly talented, if not exceptional, young cast.
Steve Clark (James Marsden) and his family move to a small Pacific Northwest community where something seems just a little to good to be true about some of the local high school students. They are high over achievers and very community oriented. They also have the tendency to become homicidal on occasion (nobody's perfect). Like every school, this one also has its less than perfect students. They are the leather clad, drinking and smoking (not necessarily cigarettes) bunch, who aren't exactly on the honor role. Their numbers seem to be diminishing slowly as many of them are joining the ranks of the preppy elite in the school. This is all due to the influence of the school guidance counselor who is doing a little experimenting on his students. The basis of this movie is how Marsden and his new friend the leather- clad Katie Holmes run head on into the preppies.
First, I should start by saying that Katie Holmes in leather is more than an adequate reason for me to recommend this movie. If that isn't enough for you (and I can't see why it wouldn't be), I'll give the movie a couple of more points in the win column. As I've already alluded to, the acting is solid, and is certainly better than most films of this genre, although not quite up to films such as Scream and I Know What You Did Last Summer. This is a good looking film, very well photographed, and the Pacific Northwest scenery is used to full advantage. At least to the extent that it looks god in the daylight shots. Which, as horror fans know, are few and far between in horror flicks.
The basic premise of the movie is a pretty tired one. The population slowly being converted into something else has been done more times than I care to imagine. There are really not a great deal of new twists that make it considerably different from other films of this type. Even though it's not particularly original, it does add enough twists to keep your interest through the whole movie. Not exactly ringing endorsements, but considering the horror films of just a few years ago (pre Scream), this could almost be considered a masterpiece.
If taken for what it is, a formula horror flick, Disturbing Behavior isn't half bad. My guess is 10 years from now the only reason that anyone will remember this is for the fact that it was one of the very talented Katie Holmes' first starring roles.
7/10
Visit The Movie Guy http://members.tripod.com/~MovieGuy/index.html
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Fenced code blocks (ie, lines that start with ``` up to lines ending with a line that starts with ```) are handled specially.
The string immediately following the ``` on the first line indicates the language of the block.
Immediately following lines that start with *
(ie, list items), specify
attributes. Attributes are parsed as the first word after the *
as the
attribute name, and the remainder of the line as the attribute value.
All blocks support the show
property, which will end up rendering the
block in generated HTML.
The following languages have special support.
Used for multi-line comments.
Used for css that will be rendered into the generated HTML.
Used for html that will be rendered into the generated HTML.
Used for JavaScript that will be rendered into the generated HTML.
Used for data that will be added to the global data
object, at the specified
name
attribute.
Used for content that will be rendered as Markdown content.
Used for data that will be added to the global data
object, at the specified
name
attribute.
The data is parsed as toml.
Used for content that will be rendered as plain text content.


Toggle navigation
Chest Opener!
Do it!
About
Clash Royale Chest Opener
Have your own robot open your chests
Step #1:
Enter the info of your chests.
Chest #1
Silver
Gold
Giant
Magic
Epic
Legendary
Super Magicical
Empty
Chest #2
Silver
Gold
Giant
Magic
Epic
Legendary
Super Magicical
Empty
Chest #3
Silver
Gold
Giant
Magic
Epic
Legendary
Super Magicical
Empty
Chest #4
Silver
Gold
Giant
Magic
Epic
Legendary
Super Magicical
Empty
Step #2: Free Chests
Free Chest
Open Free Chests
Currently Opening
Created By Boston Abrams (c) 2017


rgrep
Recursively find patterns in files using regular expressions.
Equivalent to `grep -r`.
More information: home page
- Recursively search for a pattern in the current working directory:
rgrep "search_pattern"
- Recursively search for a case-insensitive pattern in the current working directory:
rgrep --ignore-case "search_pattern"
- Recursively search for an extended regular expression pattern (supports `?`, `+`, `{}`, `()` and `|`) in the current working directory:
rgrep --extended-regexp "search_pattern"
- Recursively search for an exact string (disables regular expressions) in the current working directory:
rgrep --fixed-strings "exact_string"
- Recursively search for a pattern in a specified directory (or file):
rgrep "search_pattern" path/to/file_or_directory


--- ---
August - December 2013
| Course No. | Course Title | Instructor |
| MA 210 | p-adic Analysis Compared with Real | Pooja Singla |
| MA 212 | Algebra |
Mousumi Mandal |
| MA 215 | Introduction to Modular Forms | Soumya Das |
| MA 219 | Linear Algebra | E. K. Narayanan |
| MA 221 | Real Analysis | Pooja Singla |
| MA 223 | Functional Analysis | Gadadhar Misra |
| MA 231 | Topology | Basudeb Datta |
| MA 232 | Introduction to Algebraic Topology | Basudeb Datta |
| MA 234 | Metric Geometry of Spaces and Groups | Siddhartha Gadgil |
| MA 242 | Partial Differential Equations | Thirupathi Gudi |
| MA 261 | Probability Models | M. K. Ghosh / S. K. Iyer |
| MA 321 | Analysis III | A. K. Nandakumaran / R Dhayna |
| MA 326 | Fourier Analysis | Thangavelu |
| MA 338 | Differentiable Manifolds and Lie Groups | Thomas Richard / Harish Seshadri |
* Soft core for Integrated Ph.D. Ist Year students.
|
|
||
| Indian Institute of Science | Contact the Administrator | Disclaimer |


I am in love with technology and passionate to learn new things that's why I like programming so much because you always get new challenges, new tools, new technologies. I currently work with mobile apps.
These are the tools, skills and technologies I'm familiar with


The Product :
How many ? :
Your Address :
The code for a discount(if you have one) :
Home
Our Locations
Data Sales
Order
About us
" Hello There , I'm Qusay Al-Amarat , I designed this website
I hope you like it "


Casey Nord, Trying to Learn Stuff
Summary of Qualifications
Experience with fixing things
Experience with building stuff
Got some life experience
Education
Learned some things
Employment
Worked some places


Typedef
| Static Public Summary | ||
| public | ||
| public |
IControlOptions are passed to the @Control decorator to describe how the control is rendered. |
|
| public |
IInputDescriptors are returned from the Registry's .getInputs(). This contains the inputs options along with its constructor. |
|
| public |
IInputOptions are passed into the @Input decorator. |
|
| public |
Contains the configuration of your project, in addition to any decorated controls and scenes we detected. |
|
| public |
ISceneDescriptor is returned from the Registry's |
|
| public |
ISceneOptions can be passed into the @Scene decorator. |
|
| public |
ISettings are settings specific to each run of the custom controls. |
|
| public |
IStateDump is a dump of the raw object tree. |
|
| public |
IVideoPosition contains data about the position of the video relative to the iframe, in addition to its channel ID. |
|
| public |
IVideoPositionList is given in the |
|
| public |
IVideoPositionOptions are passed into display.moveVideo() to change where the video is shown on the screen. |
|
| public |
An RxJS observable. |
Static Public
public IControlDescriptor: IControlOptions source
IControlDescriptor is returned from the Registry's .getControl(). This contains the Control options along with its constructor.
Properties:
| Name | Type | Attribute | Description |
| ctor | Function | The control's constructor |
public IControlOptions: object source
IControlOptions are passed to the @Control decorator to describe how the control is rendered.
Properties:
| Name | Type | Attribute | Description |
| kind | string | The kind of the control that this class should render. The some default kinds are "button" and "joystick". |
|
| inputs | IInputDescriptor[] |
|
Control inputs. Note: this will be filled in automatically for you if you use the @Input decorator, but this may come in handy if you don't want to or can't use them in your environment. |
public IInputDescriptor: IInputOptions source
IInputDescriptors are returned from the Registry's .getInputs(). This contains the inputs options along with its constructor.
Properties:
| Name | Type | Attribute | Description |
| propertyName | string | The name of the property the input decorates |
public IInputOptions: object source
IInputOptions are passed into the @Input decorator.
Properties:
| Name | Type | Attribute | Description |
| alias | string |
|
Alias of the property as sent to the Interactive game client and sent on the wire. Defaults to the property's name. |
| displayName | string |
|
Human-readable name of the input as displayed on the interactive editor. Defaults to the property's name. |
| defaultValue | * |
|
Default value for the option. |
| kind | InputKind |
|
The type of data this input takes. See the InputKind enum for more information and a description. If you are not using TypeScript, this MUST be defined! |
public IPackageConfig: object source
Contains the configuration of your project, in addition to any decorated controls and scenes we detected. Most top-level parameters are sourced from your package.json upon compilation.
public ISceneDescriptor: ISceneOptions source
ISceneDescriptor is returned from the Registry's .getScene()
.
This contains the scene options along with its constructor.
Properties:
| Name | Type | Attribute | Description |
| ctor | Function | The scene's constructor |
public ISceneOptions: object source
ISceneOptions can be passed into the @Scene decorator.
Properties:
| Name | Type | Attribute | Description |
| default | boolean |
|
Whether to use this scene as the handler for all scenes. You can override scenes by their
|
| id | string |
|
When specified, registers this class to handle a specific scene ID.
For instance, if you wanted the scene IOD
|
| inputs | IInputDescriptor[] |
|
Scene inputs. Note: this will be filled in automatically for you if you use the @{@link Input decorator, but this may come in handy if you don't want to or can't use them in your environment. |
public ISettings: object source
ISettings are settings specific to each run of the custom controls. They contain some data about where the controls are displayed and the client displaying them.
Properties:
| Name | Type | Attribute | Description |
| language | string | The user's current language setting, as defined
in http://www.ietf.org/rfc/bcp/bcp47.txt: This is generally in the
form |
|
| placesVideo | boolean | Whether the video is included in and placed by the control area. On mobile layouts, this will generally be false. |
|
| platform | 'mobile' | 'xbox' | 'desktop' | The platform the controls are currently running on. |
public IStateDump: object source
IStateDump is a dump of the raw object tree. The Mixer.socket has an
onStateDump
handler which should be attached to; the editor will use
this during runtime for debugging.
Properties:
| Name | Type | Attribute | Description |
| scenes | IScene[] | ||
| groups | IGroup[] | ||
| participant | IParticipant |
public IVideoPosition: object source
IVideoPosition contains data about the position of the video relative to the iframe, in addition to its channel ID.
Properties:
| Name | Type | Attribute | Description |
| channelId | number | The channel this video belongs to. |
|
| bottom | number | The video's offset from the bottom of the container in pixels. |
|
| top | number | The video's offset from the top of the container in pixels. |
|
| left | number | The video's offset from the left edge of the container in pixels. |
|
| right | number | The video's offset from the right edge of the container in pixels. |
|
| height | number | The video's height in pixels. |
|
| width | number | The video's width in pixels. |
public IVideoPositionList: object source
IVideoPositionList is given in the positions()
observable from the Display.
Properties:
| Name | Type | Attribute | Description |
| connectedPlayer | IVideoPosition | connectedPlayer is the position of the video which the interactive integration is currently connected to. (In a Mixer costream, there can be multiple players displayed at once.) |
|
| costreamPlayers | IVideoPosition[] | costreamPlayers is a list of all players in a Mixer costream. Costreaming allows multiple people to stream together, you can read more about it at the link below. This wil always contain, at minimumum, the connectedPlayer. Additional channels may come and go over the course of the broadcast. See https://watchbeam.zendesk.com/hc/en-us/articles/115003032426-Co-Stream-FAQ for more information about costreams. |
public IVideoPositionOptions: object source
IVideoPositionOptions are passed into display.moveVideo() to change where the video is shown on the screen.
Properties:
| Name | Type | Attribute | Description |
| left | number |
|
Position of the video on screen from the left-hand edge of the container. |
| right | number |
|
Position of the video on screen from the right-hand edge of the container. |
| top | number |
|
Position of the video on screen from the top of the container. |
| bottom | number |
|
Position of the video on screen from the bottom of the container. |
| width | number |
|
Width of the video on screen in pixels. |
| width | number |
|
Height of the video on screen in pixels. |
| duration | number |
|
Duration of the movement easing in milliseconds. |
| easing | number |
|
CSS easing function. Defaults to 'linear'. See https://developer.mozilla.org/en-US/docs/Web/CSS/transition-timing-function. |
public Observable: object source
An RxJS observable. See http://reactivex.io/rxjs/manual/overview.html#introduction.


Proficient in Information Systems with experience in Cloud Infrastructure and Programming. Worked in Agile and Waterfall environments, Public and Private sectors. Obtained leadership roles in previous internships and student organizations.
Provisioning servers in the Azure cloud to allow for creating, expanding and decommissioning servers as needed
Apply elastic Load Balancing to allow an application to expand and shrink as needed
Use JSON scripts to add dynamic parameters to provision and dynamically configure
Apply proper security measures to ensure servers are created according to company compliance policies
Technology used during internship:
Azure
PowerShell
JSON
VMware
Worked with Senior Developer to develop complex Intranet websites used for businesses filing with the SCC
Completed detailed programming and development tasks for front end internal websites as well as challenging back-end server code.
Carried out quality assurance testing to discover errors and optimize usability.
Technology used during internship:
C#/ MVC
Javascript/ Knockout.js
CSS/ Bootstrap
Asp.Net
Entity Framework
Provide front line IT support for walk-in customers
Provide IT support via telephone
Answer technical questions with clear answers
Install and work with multiple operating systems
Recognize and remove spyware, adware, and viruses
Create a mobile application on the Android platform
Work with various Android devices
Work together with different teams and collaborate (e.g. Software Team working with Graphic Development Team)
Team Leader for Software Development Team:
Ensure that team members are working together
Provide bridge for communication gap between my team and our client
Ensure all tasks are carried out by the set deadlines and completed with the highest quality of work
GPA: 3.34
When I'm not in school or at work, I enjoy as much time outdoors as possible. Biking and running are amongst my favorite outdoor hobbies. When indoors, you'll probably find me cooking a nice, homemade meal or watching any type of movie, from the Godfather to Superbad.
This past summer I actually put my interest in business to use by helping my friends start their own Medical Scribe company. Chatting over coffee one day, my pre-med track friends were sharing their fustrations about not being able to find jobs as medical scribes because of the limited amount of scribe staffing companies and the excessive amount of students wanting to scribe. It only took one suggestion from me, advising them to start their own scribe company, to get all of our minds turning. Next thing you know we were drafting business plans and finding potential client lists. Still an ongoing process but glad to be a part of this experience!
Building VPC, S3, EC2, and RDS Products with AWS Service Catalog
Introduction to AWS Key Management Service


Home
About us
Sign Up
Hospitals
Admin Login
Aiims
Apollo Hospital
Artemis Hospital
Bombay Hospital & Medical Research
Colubia Indian Hospital
Fortis Hospital
Indraprastha Hospital
Manipal Hospital
Maxx Hospital
Max Cure Hospital
Medanta Hospital
RubyHall Hospital
HOSPITALS
VISIT
All India Institute Of Medical Science
VISIT
Apollo Hospital
VISIT
Artemis Hospital
VISIT
Bombay Hospital & Medical Research
VISIT
Columbia India Hospital
VISIT
Fortis Hospital
VISIT
Indraprastha Hospital
VISIT
Manipal Hospital
VISIT
Maxx Hospital
VISIT
Max Cure Hospital
VISIT
Medanta Hospital
VISIT
RubyHall Hospital


FornaxReader Members
The FornaxReader type exposes the following members.
Constructors
| Name | Description | |
|---|---|---|
| FornaxReader(String) |
Initializes a new instance of the FornaxReader class.
|
|
| FornaxReader(FileInfo) |
Initializes a new instance of the FornaxReader class.
|
|
| FornaxReader(FileWrapper) |
Initializes a new instance of the FornaxReader class.
|
Methods
| Name | Description | |
|---|---|---|
| BufferRead | ||
| BufferReadAsync | ||
| Equals(System.Object) | (Inherited from Object.) | |
| Finalize | (Inherited from Object.) | |
| GetHashCode | (Inherited from Object.) | |
| GetType | (Inherited from Object.) | |
| MemberwiseClone | (Inherited from Object.) | |
| StreamRead |
Use Stream reader to read file.
|
|
| StreamReadAsync |
Use Stream reader to read file asynchronuously.
|
|
| TikaRead |
Use Tika Extractor to Read file.
|
|
| TikaReadAsync |
Use Tika Extractor to Read file asynchronously.
|
|
| ToString | (Inherited from Object.) | |
| ToxyDomRead |
Uses Toxy Dom Reader to extract content from DOM file.
i.e. @ Dom.
|
|
| ToxyDomReadAsync |
Uses Toxy Dom Reader to extract content from DOM file asynchronously.
i.e. @ Dom.
|
|
| ToxyEmailRead |
Uses Toxy Email Reader to extract content from email files.
i.e. Email.
|
|
| ToxyEmailReadAsync |
Uses Toxy Email Reader to extract content from email files asynchronously.
i.e. Email.
|
|
| ToxySlideRead |
Uses Toxy Slide Reader to extract content from Slide file.
i.e. @ Slide
|
|
| ToxySlideReadAsync |
Uses Toxy Slide Reader to extract content from Slide file asynchronously.
i.e. @ Slide
|
|
| ToxyTextRead | ||
| ToxyTextReadAsync | ||
| ToxyVCardRead |
Uses Toxy V-card reader to extract content from vcf files.
|
|
| ToxyVCardReadAsync |
Uses Toxy V-card reader to extract content from vcf files asynchronously.
|
|
| XmlRead |
Reads an Xml file.
|
|
| XmlReadAsync |
Reads an Xml file asynchronously.
|


Missing person found in Panmure
by New Zealand PoliceThe 60-year-old man reported missing in Panmure has since been found safe and well.
Police would like to thank those members of the public who contacted us with information.
ENDS
The 60-year-old man reported missing in Panmure has since been found safe and well.
Police would like to thank those members of the public who contacted us with information.
ENDS


Seattle
Power Outage
| Tomorrow's Prediction
| Chance
| Weather-caused Failure
| Equiptment Failure
History
Start Date
End Date


Description
Copy of wikipedia page, created to practice HTML, CSS and Bootstrap.
Technologies
Description
Initial page layout and some functionality for a website to support creating a schedule where clients want certain days of the week, or numbers of days per week, and there are a set number of spaces available each day.
Technologies
Description
Text-based game where the player is stranded on a desert island and must explore and find resources
Technologies
Background
BA, Lewis & Clark College
Worked at Alameda Beaumont Childcare as a preschool teacher.
Currently studying at Epicodus, March 2021-September 2021
Current Interests
I'm a student at Epicodus, a coding boot camp located in Portland, Oregon. After several years as a preschool teacher, I am looking for a job that can provide greater financial security for my family. A friend suggested I try coding and loaned me "Head First: Learn to Code." I tried some Python and loved it! I've also dipped my toes into Android programming, learning how to make phone apps using Java and XML in Android Studio. By joining Epicodus, I hope to develop my communication and collaboration skills, learn from others, and get ready for a professional role in the programming world.


Since the late 20th century, Nike a fitness brand, has become synonymous with basketball, revolutionary design, Michael Jordan, and overall urban culture. Who was the man who changed Nike from near bankruptcy to a household name within a decade? This is the story of Tinker Hatfield and Nike, and how he changed the way we think about design shoes.
When Tinker Hatfield attended high school he cared nothing about design, but rather focused on sports, pole vaulting to be exact. Through him doing pole vaulting he won many state championships and then when applying for college he was able to win a full athletic scholarship to the University of Oregon.
At the University of Oregon, he met Bill Bowerman, who at the time was the University of Oregon’s Track Coach and later went on to be one of the co-founder’s of Nike. When Nike first started out they made running and track shoes with spikes on the bottom.
Tinker and Bill practiced for an entire year and Bill Bowerman believed that Tinker was good enough to become a national champion and even and olympian.
However, during Tinker Hatfield’s sophomore year he fell 17 feet down and landed on an uneven surface, making his ankle tear in half. After that accident he had to get 5 surgeries and was in rehabilitation for 2 years.
One night in the Doctor’s office he overheard one of the doctor’s say:
“This kid’s career is over”
This idea of his career being over carried over to the track field when people did not believe that he could ever become a professional pole vaulter.
Even though every other coach on the team though that he could not contribute anything to the track team, Bill Bowerman still tried to help by designing Ticker with specially designed track shoes so that he would not lose his scholarship but he was never the same again.
In Ticker not doing track, he discovered that he could draw and he could draw well. Once he found out he applied for the School of Architecture which was within the University of Oregon. During his time in architecture school Bill Bowerman asked him to sketch one of the early Nike designs of shoes.
After that he began to work as the head designer of Nike.
Soon after Tinker Hatfield had graduated from architecture school. Nike had become the leader of the shoe industry in the sports of basketball and running.
Unexpectedly, a new shoe company was formed, which was called Reebok, which invented aerobic shoes, led to Reebok surpassing Nike’s wealth and popularity. Due to this, Nike starting firing a lot of people and also said that they needed upgrade their design their team. Nike did this by hosting a 24-hour design contest. We won the contest and was told that he was now a shoe designer for nike. In a short period of time afterwards, he became the lead designer.
The first shoe that Tinker Hatfield made for Nike was called the Air Max. When Tinker Hatfield saw that Nike was encapsulating gas into a urethane airbag for a cushioning effect for their shoes,and instead of leaving them as is, he decided to make the bags wider and more stable.
When started production many of the other designers at Nike believed that he had pushed it to far and that no one would buy a shoe with an exposed airbag. Actually the story of the Air Max was an amazing success story for not just Nike, but for all of footwear design. Because people design shoes to tell a story and not just to make a better product.
When Tinker Hatfield walked around California, he saw people running in basketball shoes and playing basketball in running. so to solve this problem he made a crossfit shoe that would allow people to be able to wear the same shoe playing multiple sports.
Tinker Hatfield’s revolutionary ideas to reinvent the shoe led the a new age of design ideas for shoe to not just be beautiful products but also interesting design stories that make a bold statement. And his ideas allowed Nike go from being beat out by Reebok to leading the shoe design industry and reinventing the idea of designing products.


All the samples receive the data from the Spring Data REST back end which provides the following entities with its relations to each other:
The Spring Data REST backend has the default configuration and the CategoryRepository
and the
ItemRepository
extend from the PagingAndSortingRepository
.
This sample shows how to list the embedded items of a call to the Category repository.
_resources
methodThis sample shows how to use the _resources
method.
This sample shows how to automatically fetch the link to a parent category.
This sample explains how to add query string parameters to the _resources
method.
This sample explains how to get an object with all available resources on a specific resource.